{"version":3,"file":"NewsletterToast.C_a18tZ0.mjs","names":["React.useState","React.useRef","_Fragment","__esmMin","init_ssg_sandbox_shims","init_npm_react_18_3_1","l","_e","p","ce","de","window","addPropertyControls","RenderTarget","init_framer_B1b760uK","ControlType","trackEvent","name","params","isSuppressed","STORAGE_SUBSCRIBED","until","STORAGE_DISMISSED_UNTIL","setDismissed","days","setSubscribed","NewsletterToast","props","onCanvas","visible","setVisible","closing","setClosing","isMobile","setIsMobile","email","setEmail","status","setStatus","hasFiredViewEvent","mq","MOBILE_BREAKPOINT","handler","testingMode","handleScroll","scrollableHeight","scrollTrigger","handleClose","dismissDays","handleSubmit","webhookUrl","body","successDuration","desktopPositions","containerStyle","textColor","position","successMessage","headline","subheadline","accentColor","COLORS","buttonLabel","init_NewsletterToast","init_jsx_runtime"],"sources":["https:/framerusercontent.com/modules/2C6kBz8n5ISHH7JbxmRV/R4T9WE15wVvr4vt0p7ez/NewsletterToast.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";/**\n * HEAVYT — Newsletter Signup Toast\n * -----------------------------------------------------------------------\n * Desktop: a floating pill-cornered card, pinned to a corner (right by\n * default — your research says right converts better than left).\n * Mobile (<=640px): becomes a bottom sheet — full width, flush to the\n * bottom edge, rounded top corners only, slides up on a quick transition\n * instead of fading in from a corner offset. That's what was getting cut\n * off before: a corner-anchored card doesn't make sense once the viewport\n * is narrower than the card's intended margins.\n *\n * Input/button styling matches the reference NewsletterSignup component\n * exactly (white input, pill radius, coral button, Acumin Pro) — only\n * applied within this toast's own form, nothing else was restyled.\n *\n * Submission uses the same CORS-safe technique as the reference: body as\n * URLSearchParams with no manually-set Content-Type header, so the\n * request qualifies as a \"simple request\" and skips the preflight that\n * was blocking the old JSON/no-cors approach. This also means we get a\n * real, readable response.ok instead of an opaque no-cors result.\n *\n * GA4 events (requires gtag.js already on the site), both carrying a\n * signup_location param so toast vs. inline-form conversion can be\n * compared once the inline NewsletterSignup component fires the same\n * events with signup_location: \"inline\":\n *   - \"signup_view\"   { signup_location: \"toast\" } — toast becomes visible\n *   - \"signup_submit\" { signup_location: \"toast\" } — form submitted and\n *      Zapier returned 200. Named \"submit,\" not \"success\" — Zapier's\n *      Catch Hook responds on receipt, before the Mailchimp step runs, so\n *      this confirms delivery to Zapier, not confirmed list membership.\n * Mark \"signup_submit\" as a Key Event in GA4 admin.\n *\n * TESTING: Framer has no native \"clear this visitor's memory\" button.\n * Turn on the \"Testing Mode\" property control while you're testing in\n * Preview — it ignores the dismiss/subscribed memory entirely so the\n * toast reappears on every scroll-trigger regardless of prior clicks.\n * Turn it back off before publishing. (The manual alternative is opening\n * devtools console on the preview tab and running:\n *   localStorage.removeItem('heavyt_newsletter_dismissed_until');\n *   localStorage.removeItem('heavyt_newsletter_subscribed');\n * — Testing Mode just saves you from doing that every time.)\n * -----------------------------------------------------------------------\n */const COLORS={paper:\"#F2F0EA\",coral:\"#EC5840\",ink:\"#1A2238\",blue:\"#3A4C7E\"};const STORAGE_DISMISSED_UNTIL=\"heavyt_newsletter_dismissed_until\";const STORAGE_SUBSCRIBED=\"heavyt_newsletter_subscribed\";const MOBILE_BREAKPOINT=640;function trackEvent(name,params={}){try{if(typeof window.gtag===\"function\"){window.gtag(\"event\",name,params);return;}if(Array.isArray(window.dataLayer)){window.dataLayer.push({event:name,...params});}}catch(e){}}function isSuppressed(){try{if(localStorage.getItem(STORAGE_SUBSCRIBED)===\"true\")return true;const until=localStorage.getItem(STORAGE_DISMISSED_UNTIL);if(until&&Date.now()<parseInt(until,10))return true;return false;}catch(e){return false;}}function setDismissed(days){try{const until=Date.now()+days*24*60*60*1e3;localStorage.setItem(STORAGE_DISMISSED_UNTIL,String(until));}catch(e){}}function setSubscribed(){try{localStorage.setItem(STORAGE_SUBSCRIBED,\"true\");}catch(e){}}export default function NewsletterToast(props){const{headline,subheadline,placeholder,buttonLabel,successMessage,webhookUrl,scrollTrigger,dismissDays,position,successDuration,testingMode,backgroundColor,textColor,accentColor}=props;const onCanvas=RenderTarget.current()===RenderTarget.canvas;const[visible,setVisible]=React.useState(onCanvas);const[closing,setClosing]=React.useState(false);const[isMobile,setIsMobile]=React.useState(false);const[email,setEmail]=React.useState(\"\");const[status,setStatus]=React.useState(\"idle\");const hasFiredViewEvent=React.useRef(false);// Track viewport for the sheet/card switch\nReact.useEffect(()=>{if(typeof window===\"undefined\")return;const mq=window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT}px)`);setIsMobile(mq.matches);const handler=e=>setIsMobile(e.matches);mq.addEventListener?mq.addEventListener(\"change\",handler):mq.addListener(handler);return()=>{mq.removeEventListener?mq.removeEventListener(\"change\",handler):mq.removeListener(handler);};},[]);React.useEffect(()=>{if(onCanvas)return;if(!testingMode&&isSuppressed())return;function handleScroll(){const scrollableHeight=document.documentElement.scrollHeight-window.innerHeight;if(scrollableHeight<=0)return;const pct=window.scrollY/scrollableHeight*100;if(pct>=scrollTrigger){setVisible(true);if(!testingMode)window.removeEventListener(\"scroll\",handleScroll);}}window.addEventListener(\"scroll\",handleScroll,{passive:true});handleScroll();return()=>window.removeEventListener(\"scroll\",handleScroll);},[scrollTrigger,onCanvas,testingMode]);React.useEffect(()=>{if(visible&&!hasFiredViewEvent.current&&!onCanvas){trackEvent(\"signup_view\",{signup_location:\"toast\"});hasFiredViewEvent.current=true;}},[visible,onCanvas]);function handleClose(){setClosing(true);if(!testingMode)setDismissed(dismissDays);window.setTimeout(()=>{setVisible(false);setClosing(false);},220);}async function handleSubmit(e){e.preventDefault();if(!email||!email.includes(\"@\")){setStatus(\"error\");return;}if(!webhookUrl){console.warn(\"HEAVYT Newsletter Toast: no webhook URL configured\");setStatus(\"error\");return;}setStatus(\"loading\");try{// Field name must be EMAIL (uppercase) — same Zap the site's\n// inline NewsletterSignup component uses. URLSearchParams body\n// with no manual Content-Type header keeps this a CORS\n// \"simple request\" so we get a real, readable response.\nconst body=new URLSearchParams({EMAIL:email});const response=await fetch(webhookUrl,{method:\"POST\",body});if(response.ok){setStatus(\"success\");if(!testingMode)setSubscribed();trackEvent(\"signup_submit\",{signup_location:\"toast\"});window.setTimeout(()=>{setClosing(true);window.setTimeout(()=>{setVisible(false);setClosing(false);},220);},successDuration);}else{setStatus(\"error\");}}catch(err){setStatus(\"error\");}}if(!visible)return null;// ---- Layout: sheet on mobile, floating card on desktop ----\nconst desktopPositions={\"bottom-left\":{left:24,bottom:24},\"bottom-right\":{right:24,bottom:24},\"bottom-center\":{left:\"50%\",bottom:24,transform:\"translateX(-50%)\"}};const containerStyle=isMobile?{position:\"fixed\",zIndex:9999,left:0,right:0,bottom:0,width:\"100%\",borderRadius:\"24px 24px 0 0\",padding:\"22px 20px calc(20px + env(safe-area-inset-bottom))\",backgroundColor,color:textColor,boxShadow:\"0 -8px 28px rgba(0,0,0,0.25)\",transform:`translateY(${closing?\"100%\":\"0%\"})`,transition:\"transform 220ms cubic-bezier(0.2, 0.8, 0.2, 1)\",fontFamily:\"Acumin Pro, -apple-system, BlinkMacSystemFont, sans-serif\"}:{position:\"fixed\",zIndex:9999,width:380,maxWidth:\"calc(100vw - 32px)\",borderRadius:24,padding:\"22px 24px\",backgroundColor,color:textColor,boxShadow:\"0 12px 32px rgba(0,0,0,0.25)\",opacity:closing?0:1,transition:\"opacity 220ms ease, transform 220ms ease\",fontFamily:\"Acumin Pro, -apple-system, BlinkMacSystemFont, sans-serif\",...desktopPositions[position],transform:`${desktopPositions[position].transform||\"\"} translateY(${closing?\"10px\":\"0px\"})`};return /*#__PURE__*/_jsxs(\"div\",{style:containerStyle,children:[/*#__PURE__*/_jsx(\"button\",{onClick:handleClose,\"aria-label\":\"Dismiss\",style:{position:\"absolute\",top:12,right:14,background:\"none\",border:\"none\",color:textColor,opacity:.6,fontSize:20,cursor:\"pointer\",lineHeight:1,padding:4},children:\"\\xd7\"}),status===\"success\"?/*#__PURE__*/_jsx(\"div\",{style:{paddingRight:8},children:/*#__PURE__*/_jsx(\"div\",{style:{fontFamily:\"Ciclo Display, serif\",fontSize:18},children:successMessage})}):/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"div\",{style:{fontFamily:\"Ciclo Display, serif\",fontSize:20,marginBottom:6,paddingRight:16},children:headline}),/*#__PURE__*/_jsx(\"div\",{style:{fontSize:14,opacity:.85,marginBottom:16,lineHeight:1.4},children:subheadline}),/*#__PURE__*/_jsxs(\"form\",{onSubmit:handleSubmit,style:{display:\"flex\",gap:10,alignItems:\"center\"},children:[/*#__PURE__*/_jsx(\"input\",{type:\"email\",value:email,onChange:e=>{setEmail(e.target.value);if(status===\"error\")setStatus(\"idle\");},placeholder:placeholder,disabled:status===\"loading\",style:{flex:1,minWidth:0,height:47,padding:\"0 18px\",borderRadius:24,border:`1px solid ${status===\"error\"?accentColor:\"transparent\"}`,background:\"#ffffff\",color:COLORS.ink,fontSize:15,fontFamily:\"Acumin Pro, sans-serif\",outline:\"none\"}}),/*#__PURE__*/_jsx(\"button\",{type:\"submit\",disabled:status===\"loading\",style:{height:47,padding:\"0 22px\",borderRadius:24,border:\"none\",background:accentColor,color:\"#ffffff\",fontWeight:600,fontSize:15,fontFamily:\"Acumin Pro, sans-serif\",cursor:status===\"loading\"?\"default\":\"pointer\",whiteSpace:\"nowrap\",flexShrink:0,opacity:status===\"loading\"?.7:1},children:status===\"loading\"?\"…\":buttonLabel})]}),status===\"error\"&&/*#__PURE__*/_jsx(\"div\",{style:{fontSize:12,marginTop:8,color:accentColor},children:!webhookUrl?\"Webhook URL not configured.\":\"Enter a valid email.\"})]})]});}NewsletterToast.defaultProps={headline:\"Come with me. This is cool.\",subheadline:\"Feature, review, recipe, and a short voice note — every other week.\",placeholder:\"name@email.com\",buttonLabel:\"Join\",successMessage:\"You're in. Check your inbox.\",webhookUrl:\"https://hooks.zapier.com/hooks/catch/27463379/uvcz31h/\",scrollTrigger:40,dismissDays:21,position:\"bottom-right\",successDuration:2200,testingMode:false,backgroundColor:COLORS.blue,textColor:COLORS.paper,accentColor:COLORS.coral};addPropertyControls(NewsletterToast,{headline:{type:ControlType.String,title:\"Headline\"},subheadline:{type:ControlType.String,title:\"Subheadline\",displayTextArea:true},placeholder:{type:ControlType.String,title:\"Placeholder\"},buttonLabel:{type:ControlType.String,title:\"Button\"},successMessage:{type:ControlType.String,title:\"Success message\"},successDuration:{type:ControlType.Number,title:\"Success duration\",defaultValue:2200,min:1e3,max:1e4,step:200,unit:\"ms\",displayStepper:true},webhookUrl:{type:ControlType.String,title:\"Zapier Webhook URL\",placeholder:\"https://hooks.zapier.com/hooks/catch/...\"},scrollTrigger:{type:ControlType.Number,title:\"Scroll trigger %\",min:0,max:100,step:5,unit:\"%\"},dismissDays:{type:ControlType.Number,title:\"Dismiss for (days)\",min:1,max:90,step:1},position:{type:ControlType.Enum,title:\"Position (desktop)\",options:[\"bottom-left\",\"bottom-right\",\"bottom-center\"],optionTitles:[\"Bottom left\",\"Bottom right\",\"Bottom center\"]},testingMode:{type:ControlType.Boolean,title:\"Testing Mode\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\"},backgroundColor:{type:ControlType.Color,title:\"Background\"},textColor:{type:ControlType.Color,title:\"Text\"},accentColor:{type:ControlType.Color,title:\"Accent (button)\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"NewsletterToast\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./NewsletterToast.map"],"mappings":"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"}