{"version":3,"file":"Funnel_pricing.C_O2_0d1.mjs","names":["useRef","useState"],"sources":["https:/framerusercontent.com/modules/7IM0mmbK4AcziI9SGjQH/8zXaRpL40LozyibxmpUa/Funnel_pricing.js"],"sourcesContent":["/**\n * Choreless — Pricing Section\n * Framer Component v12\n *\n * CHANGES IN v12 (from CHO-397):\n * - LAYOUT REBUILT: cards are now horizontal stacked rows instead of\n *   3 side-by-side fixed-width cards. This permanently fixes the\n *   tablet overlap (≈650–1110px) — full-width rows cannot overlap at\n *   any viewport. Works identically on desktop, tablet, and mobile\n *   from a single component instance.\n * - Rows read as \"examples,\" not selectable plan tiers (no MOST COMMON\n *   badge, horizontal layout breaks the SaaS pricing-grid pattern).\n * - No hover effect on rows (they are not clickable yet — Phase 2).\n *\n * PRESERVED FROM v10/v11 (do not change):\n * - Cookie-driven 40% → 20% switch: checkPromoExpired() reads the\n *   \"promo_timer_end\" cookie and swaps CARDS_40 → CARDS_20, updates\n *   discountPct, effectiveRate, and the rate note. Fully intact.\n * - All four CHO-397 content fixes (eyebrow, post-countdown copy, CTA).\n *\n * NOTE ON LEGACY CONTROLS:\n * - cardWidth / cardHeight / mobileCardHeight are no longer used by the\n *   row layout (rows are full-width, auto-height). They remain in the\n *   property panel only so existing Framer instances don't break. They\n *   are inert. rowMaxWidth controls how wide the row stack is.\n */import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useRef,useState,useEffect}from\"react\";import{addPropertyControls,ControlType}from\"framer\";// ─── Cookie helper ─────────────────────────────────────────\nfunction getCookie(name){if(typeof document===\"undefined\")return null;const value=`; ${document.cookie}`;const parts=value.split(`; ${name}=`);if(parts.length===2)return parts.pop()?.split(\";\").shift()||null;return null;}function checkPromoExpired(){const timerEnd=getCookie(\"promo_timer_end\");if(!timerEnd)return false;return Date.now()>parseInt(timerEnd,10);}const CARDS_40=[{icon:\"👕\",label:\"Order minimum\",loads:\"3 loads\",lbs:\"~30 lbs\",original:\"$84\",discounted:\"$50\",note:\"order minimum \\xb7 full discount kicks in\",saving:\"Save $34\",popular:false},{icon:\"🧺\",label:\"Standard haul\",loads:\"4 loads\",lbs:\"~40 lbs\",original:\"$112\",discounted:\"$67\",note:\"first 3 orders\",saving:\"Save $45\",popular:false},{icon:\"🛏️\",label:\"Full haul\",loads:\"5 loads\",lbs:\"~50 lbs\",original:\"$140\",discounted:\"$84\",note:\"first 3 orders\",saving:\"Save $56\",popular:false}];const CARDS_20=[{icon:\"👕\",label:\"Order minimum\",loads:\"2 loads\",lbs:\"~22 lbs\",original:\"$61\",discounted:\"$50\",note:\"order minimum \\xb7 full discount kicks in\",saving:\"Save $11\",popular:false},{icon:\"🧺\",label:\"Standard haul\",loads:\"3–4 loads\",lbs:\"~35 lbs\",original:\"$98\",discounted:\"$78\",note:\"first 3 orders\",saving:\"Save $20\",popular:false},{icon:\"🛏️\",label:\"Full haul\",loads:\"5 loads\",lbs:\"~50 lbs\",original:\"$140\",discounted:\"$112\",note:\"first 3 orders\",saving:\"Save $28\",popular:false}];// ─── Helpers ───────────────────────────────────────────────\nfunction darkenHex(hex,ratio){const n=parseInt(hex.replace(\"#\",\"\"),16);const r=Math.max(0,Math.floor((n>>16&255)*(1-ratio)));const g=Math.max(0,Math.floor((n>>8&255)*(1-ratio)));const b=Math.max(0,Math.floor((n&255)*(1-ratio)));return`#${[r,g,b].map(x=>x.toString(16).padStart(2,\"0\")).join(\"\")}`;}function resolveFontFamily(font){if(!font)return\"DM Sans, -apple-system, BlinkMacSystemFont, sans-serif\";if(typeof font===\"string\")return font;if(font.fontFamily)return font.fontFamily;return\"DM Sans, -apple-system, BlinkMacSystemFont, sans-serif\";}// ─── Hook: container width ─────────────────────────────────\nfunction useContainerWidth(){const ref=useRef(null);const[width,setWidth]=useState(1170);useEffect(()=>{if(!ref.current)return;setWidth(ref.current.getBoundingClientRect().width);const ro=new ResizeObserver(([entry])=>setWidth(entry.contentRect.width));ro.observe(ref.current);return()=>ro.disconnect();},[]);return[ref,width];}// ─── Price row (horizontal, full-width, stacks vertically) ──\nfunction PriceRow({card,compact,rowPadV,rowPadH,font,headingColor,mutedColor,cardColor,bodySize,labelSize,savePillFontSize,savePillPaddingV,savePillPaddingH,savePillBg,savePillText}){// Sizes derived from bodySize so Framer text controls still scale the row\nconst priceSize=Math.round(bodySize*(compact?1.5:1.6));const emojiSize=compact?26:30;const labelTextSize=labelSize+1;const detailSize=bodySize;return /*#__PURE__*/_jsxs(\"div\",{style:{width:\"100%\",background:cardColor,border:\"none\",borderRadius:16,padding:`${rowPadV}px ${rowPadH}px`,boxSizing:\"border-box\",display:\"flex\",alignItems:\"center\",gap:compact?12:18,textAlign:\"left\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontSize:emojiSize,flex:\"0 0 auto\",lineHeight:1},children:card.icon}),/*#__PURE__*/_jsxs(\"div\",{style:{flex:\"1 1 auto\",minWidth:0},children:[/*#__PURE__*/_jsx(\"p\",{style:{fontSize:labelTextSize,fontWeight:600,color:mutedColor,margin:\"0 0 2px\",fontFamily:font},children:card.label}),/*#__PURE__*/_jsxs(\"p\",{style:{fontSize:detailSize,fontWeight:700,color:headingColor,margin:0,fontFamily:font,whiteSpace:\"nowrap\"},children:[card.lbs,\" \\xb7 \",card.loads]})]}),/*#__PURE__*/_jsxs(\"div\",{style:{flex:\"0 0 auto\",textAlign:\"right\",display:\"flex\",flexDirection:\"column\",alignItems:\"flex-end\",gap:1},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"baseline\",gap:6},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontSize:priceSize,fontWeight:800,color:headingColor,letterSpacing:\"-0.02em\",lineHeight:1,fontFamily:font},children:card.discounted}),/*#__PURE__*/_jsx(\"span\",{style:{fontSize:labelSize+1,color:mutedColor,textDecoration:\"line-through\",opacity:.55,fontFamily:font},children:card.original})]}),/*#__PURE__*/_jsx(\"div\",{style:{background:savePillBg,color:savePillText,fontSize:savePillFontSize,fontWeight:700,padding:`${savePillPaddingV}px ${savePillPaddingH}px`,borderRadius:100,whiteSpace:\"nowrap\",fontFamily:font,letterSpacing:\"0.01em\",marginTop:4},children:card.saving})]})]});}export function ChorelessPricing({ctaUrl=\"#\",ctaRadius=100,widthMode=\"fixed\",font,headingSize=42,bodySize=16,buttonSize=16,labelSize=12,paddingTop=80,paddingBottom=96,paddingHorizontal=40,rowMaxWidth=620,rowGap=12,cardPadTop=20,cardPadBottom=20,cardPadH=24,mobileCardPadTop=18,mobileCardPadBottom=18,mobileCardPadH=18,// legacy inert\ncardWidth=340,cardHeight=300,mobileCardHeight=0,savePillFontSize=12,savePillPaddingV=4,savePillPaddingH=10,savePillBg=\"#e8f5ee\",savePillText=\"#2a6048\",popularFontSize=11,popularPaddingV=4,popularPaddingH=14,popularBg=\"#1a2e2e\",popularText=\"#ffffff\",backgroundColor=\"#f5f3ee\",buttonColor=\"#1a2e2e\",cardColor=\"#ffffff\",headingColor=\"#1a2e2e\",bodyColor=\"#4a5e5a\",mutedColor=\"#7a9282\",style}){const[containerRef,containerWidth]=useContainerWidth();const compact=containerWidth<640;// ── Cookie switching — PRESERVED EXACTLY FROM v10/v11 ───\nconst[promoExpired,setPromoExpired]=useState(checkPromoExpired);useEffect(()=>{if(promoExpired)return;const interval=setInterval(()=>{if(checkPromoExpired()){setPromoExpired(true);clearInterval(interval);}},1e3);return()=>clearInterval(interval);},[promoExpired]);const cards=promoExpired?CARDS_20:CARDS_40;const discountPct=promoExpired?\"20%\":\"40%\";const effectiveRate=promoExpired?\"$2.23\":\"$1.67\";// ────────────────────────────────────────────────────────\nconst fontFamily=resolveFontFamily(font);const buttonHover=darkenHex(buttonColor,.15);const resolvedHeadingSize=compact?Math.round(headingSize*.72):headingSize;const pt=compact?Math.round(paddingTop*.75):paddingTop;const pb=compact?Math.round(paddingBottom*.75):paddingBottom;const ph=compact?Math.max(16,Math.round(paddingHorizontal*.75)):paddingHorizontal;// Row padding resolves per breakpoint (same control names as before)\nconst rowPadV=compact?mobileCardPadTop:cardPadTop;const rowPadH=compact?mobileCardPadH:cardPadH;const innerStyle={...widthMode===\"fixed\"?{maxWidth:1170,margin:\"0 auto\"}:{width:\"100%\"},padding:`${pt}px ${ph}px ${pb}px`,boxSizing:\"border-box\",textAlign:\"center\"};return /*#__PURE__*/_jsx(\"div\",{ref:containerRef,style:{width:\"100%\",background:backgroundColor,...style},children:/*#__PURE__*/_jsxs(\"div\",{style:innerStyle,children:[/*#__PURE__*/_jsx(\"p\",{style:{fontSize:labelSize,fontWeight:700,letterSpacing:\"0.14em\",textTransform:\"uppercase\",color:mutedColor,margin:\"0 0 10px\",fontFamily},children:\"Pricing\"}),/*#__PURE__*/_jsxs(\"h2\",{style:{fontSize:resolvedHeadingSize,fontWeight:700,color:headingColor,lineHeight:1.15,margin:\"0 0 12px\",fontFamily},children:[\"Simple pricing.\",/*#__PURE__*/_jsx(\"br\",{}),\"No surprises.\"]}),/*#__PURE__*/_jsxs(\"p\",{style:{fontSize:bodySize,color:bodyColor,lineHeight:1.65,maxWidth:460,margin:\"0 auto 40px\",fontFamily},children:[\"We weigh your laundry when it arrives and charge accordingly. Your first 3 orders are\",\" \",/*#__PURE__*/_jsxs(\"strong\",{style:{color:headingColor},children:[discountPct,\" off\"]}),\".\"]}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"inline-flex\",alignItems:\"baseline\",gap:6,background:buttonColor,color:\"#ffffff\",borderRadius:100,padding:compact?\"14px 28px\":\"16px 36px\",marginBottom:14},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontSize:compact?Math.round(buttonSize*1.2):Math.round(buttonSize*1.5),fontWeight:600,textDecoration:\"line-through\",opacity:.4,fontFamily},children:\"$2.79\"}),/*#__PURE__*/_jsx(\"span\",{style:{fontSize:compact?Math.round(buttonSize*2.1):Math.round(buttonSize*2.6),fontWeight:700,letterSpacing:\"-0.02em\",lineHeight:1,fontFamily},children:effectiveRate}),/*#__PURE__*/_jsx(\"span\",{style:{fontSize:Math.round(buttonSize*.95),fontWeight:500,opacity:.65,fontFamily},children:\"/ lb\"})]}),/*#__PURE__*/_jsx(\"p\",{style:{fontSize:labelSize,color:mutedColor,margin:\"0 0 40px\",fontFamily},children:promoExpired?`${discountPct} off \\xb7 resumes to $2.79/lb after 3 orders`:\"promotional rate \\xb7 resumes to $2.79/lb after 3 orders\"}),/*#__PURE__*/_jsx(\"div\",{style:{width:40,height:3,background:mutedColor,opacity:.25,borderRadius:2,margin:\"0 auto 32px\"}}),/*#__PURE__*/_jsx(\"p\",{style:{fontSize:labelSize,fontWeight:700,letterSpacing:\"0.12em\",textTransform:\"uppercase\",color:mutedColor,margin:\"0 0 20px\",fontFamily},children:\"Examples by load size\"}),/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:rowGap,width:\"100%\",maxWidth:rowMaxWidth,margin:\"0 auto 20px\"},children:cards.map(card=>/*#__PURE__*/_jsx(PriceRow,{card:card,compact:compact,rowPadV:rowPadV,rowPadH:rowPadH,font:fontFamily,headingColor:headingColor,mutedColor:mutedColor,cardColor:cardColor,bodySize:bodySize,labelSize:labelSize,savePillFontSize:savePillFontSize,savePillPaddingV:savePillPaddingV,savePillPaddingH:savePillPaddingH,savePillBg:savePillBg,savePillText:savePillText},card.label))}),/*#__PURE__*/_jsxs(\"p\",{style:{fontSize:bodySize-2,color:mutedColor,margin:\"0 0 44px\",fontFamily},children:[/*#__PURE__*/_jsx(\"strong\",{style:{color:bodyColor},children:\"$50 order minimum — most orders come to $55–$85\"}),\" \",\"Free pickup & delivery every time.\"]}),/*#__PURE__*/_jsx(\"a\",{href:ctaUrl,style:{display:\"inline-block\",background:buttonColor,color:\"#ffffff\",fontSize:buttonSize,fontWeight:600,padding:compact?`${Math.round(buttonSize*.9)}px ${Math.round(buttonSize*1.8)}px`:`${Math.round(buttonSize*1.05)}px ${Math.round(buttonSize*2.4)}px`,borderRadius:ctaRadius,textDecoration:\"none\",letterSpacing:\"0.01em\",fontFamily,cursor:\"pointer\",transition:\"background 0.18s ease\"},onMouseEnter:e=>{e.currentTarget.style.background=buttonHover;},onMouseLeave:e=>{e.currentTarget.style.background=buttonColor;},children:\"Schedule my pickup →\"}),/*#__PURE__*/_jsx(\"p\",{style:{fontSize:labelSize,color:mutedColor,margin:\"14px 0 0\",fontFamily},children:\"No commitment. Evening pickup, 5–9 PM.\"})]})});}// ─── Framer property controls ──────────────────────────────\naddPropertyControls(ChorelessPricing,{// ── Layout ─────────────────────────────────────────────\nwidthMode:{type:ControlType.Enum,title:\"Width Mode\",options:[\"fixed\",\"fluid\"],optionTitles:[\"Fixed (1170px max)\",\"Fluid\"],defaultValue:\"fixed\"},ctaUrl:{type:ControlType.String,title:\"CTA URL\",defaultValue:\"#\",placeholder:\"https://app.joinchoreless.com/...\"},ctaRadius:{type:ControlType.Number,title:\"CTA Radius\",defaultValue:100,min:0,max:100,step:2,displayStepper:true,unit:\"px\",description:\"0 = square  \\xb7  100 = pill\"},// ── Font ───────────────────────────────────────────────\nfont:{type:ControlType.Font,title:\"Font\",controls:\"basic\",defaultFontType:\"custom\",defaultValue:{fontFamily:\"DM Sans\",fontWeight:\"400\"}},// ── Text sizes ─────────────────────────────────────────\nheadingSize:{type:ControlType.Number,title:\"Heading Size\",defaultValue:42,min:24,max:80,step:1,displayStepper:true,unit:\"px\"},bodySize:{type:ControlType.Number,title:\"Body Size\",defaultValue:16,min:12,max:24,step:1,displayStepper:true,unit:\"px\"},buttonSize:{type:ControlType.Number,title:\"Button Size\",defaultValue:16,min:12,max:24,step:1,displayStepper:true,unit:\"px\"},labelSize:{type:ControlType.Number,title:\"Label Size\",defaultValue:12,min:9,max:16,step:1,displayStepper:true,unit:\"px\"},// ── Section padding ────────────────────────────────────\npaddingTop:{type:ControlType.Number,title:\"Section Pad Top\",defaultValue:80,min:0,max:240,step:4,displayStepper:true,unit:\"px\"},paddingBottom:{type:ControlType.Number,title:\"Section Pad Bottom\",defaultValue:96,min:0,max:240,step:4,displayStepper:true,unit:\"px\"},paddingHorizontal:{type:ControlType.Number,title:\"Section Pad H\",defaultValue:40,min:0,max:200,step:4,displayStepper:true,unit:\"px\"},// ── Row layout ─────────────────────────────────────────\nrowMaxWidth:{type:ControlType.Number,title:\"Row Stack Max W\",defaultValue:620,min:360,max:1e3,step:10,displayStepper:true,unit:\"px\",description:\"Max width of the stacked example rows (centered).\"},rowGap:{type:ControlType.Number,title:\"Row Gap\",defaultValue:12,min:0,max:40,step:2,displayStepper:true,unit:\"px\",description:\"Vertical space between rows.\"},// ── Rows — Desktop padding ─────────────────────────────\ncardPadTop:{type:ControlType.Number,title:\"Row Pad V (Desktop)\",defaultValue:20,min:0,max:80,step:2,displayStepper:true,unit:\"px\",description:\"Top & bottom padding inside each row, desktop.\"},cardPadBottom:{type:ControlType.Number,title:\"Row Pad V Alt\",defaultValue:20,min:0,max:80,step:2,displayStepper:true,unit:\"px\",description:\"Legacy — not used by row layout.\"},cardPadH:{type:ControlType.Number,title:\"Row Pad H (Desktop)\",defaultValue:24,min:0,max:80,step:2,displayStepper:true,unit:\"px\",description:\"Left & right padding inside each row, desktop.\"},// ── Rows — Mobile padding ──────────────────────────────\nmobileCardPadTop:{type:ControlType.Number,title:\"Row Pad V (Mobile)\",defaultValue:18,min:0,max:80,step:2,displayStepper:true,unit:\"px\",description:\"Top & bottom padding inside each row, mobile.\"},mobileCardPadBottom:{type:ControlType.Number,title:\"Row Pad V Mobile Alt\",defaultValue:18,min:0,max:80,step:2,displayStepper:true,unit:\"px\",description:\"Legacy — not used by row layout.\"},mobileCardPadH:{type:ControlType.Number,title:\"Row Pad H (Mobile)\",defaultValue:18,min:0,max:80,step:2,displayStepper:true,unit:\"px\",description:\"Left & right padding inside each row, mobile.\"},// ── Legacy card sizing (inert — kept for compatibility) ─\ncardWidth:{type:ControlType.Number,title:\"Card Width (legacy)\",defaultValue:340,min:160,max:700,step:4,displayStepper:true,unit:\"px\",description:\"Inert. Row layout ignores this.\"},cardHeight:{type:ControlType.Number,title:\"Card Height (legacy)\",defaultValue:300,min:200,max:600,step:4,displayStepper:true,unit:\"px\",description:\"Inert. Row layout ignores this.\"},mobileCardHeight:{type:ControlType.Number,title:\"Mobile Card H (legacy)\",defaultValue:0,min:0,max:600,step:4,displayStepper:true,unit:\"px\",description:\"Inert. Row layout ignores this.\"},// ── Save pill ──────────────────────────────────────────\nsavePillFontSize:{type:ControlType.Number,title:\"Save \\xb7 Font Size\",defaultValue:12,min:9,max:20,step:1,displayStepper:true,unit:\"px\"},savePillPaddingV:{type:ControlType.Number,title:\"Save \\xb7 Padding V\",defaultValue:4,min:0,max:20,step:1,displayStepper:true,unit:\"px\"},savePillPaddingH:{type:ControlType.Number,title:\"Save \\xb7 Padding H\",defaultValue:10,min:0,max:32,step:1,displayStepper:true,unit:\"px\"},savePillBg:{type:ControlType.Color,title:\"Save \\xb7 Background\",defaultValue:\"#e8f5ee\"},savePillText:{type:ControlType.Color,title:\"Save \\xb7 Text\",defaultValue:\"#2a6048\"},// ── Popular badge (legacy — inert, disabled via data) ──\npopularFontSize:{type:ControlType.Number,title:\"Popular \\xb7 Font Size\",defaultValue:11,min:8,max:18,step:1,displayStepper:true,unit:\"px\",description:\"Inert — badge disabled.\"},popularPaddingV:{type:ControlType.Number,title:\"Popular \\xb7 Padding V\",defaultValue:4,min:0,max:20,step:1,displayStepper:true,unit:\"px\",description:\"Inert — badge disabled.\"},popularPaddingH:{type:ControlType.Number,title:\"Popular \\xb7 Padding H\",defaultValue:14,min:0,max:40,step:1,displayStepper:true,unit:\"px\",description:\"Inert — badge disabled.\"},popularBg:{type:ControlType.Color,title:\"Popular \\xb7 Background\",defaultValue:\"#1a2e2e\"},popularText:{type:ControlType.Color,title:\"Popular \\xb7 Text\",defaultValue:\"#ffffff\"},// ── Colors ─────────────────────────────────────────────\nbackgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"#f5f3ee\"},buttonColor:{type:ControlType.Color,title:\"Button / Accent\",defaultValue:\"#1a2e2e\"},cardColor:{type:ControlType.Color,title:\"Card Color\",defaultValue:\"#ffffff\"},headingColor:{type:ControlType.Color,title:\"Heading Color\",defaultValue:\"#1a2e2e\"},bodyColor:{type:ControlType.Color,title:\"Body Color\",defaultValue:\"#4a5e5a\"},mutedColor:{type:ControlType.Color,title:\"Muted Color\",defaultValue:\"#7a9282\"}});export default ChorelessPricing;\nexport const __FramerMetadata__ = {\"exports\":{\"ChorelessPricing\":{\"type\":\"reactComponent\",\"name\":\"ChorelessPricing\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"ChorelessPricing\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Funnel_pricing.map"],"mappings":"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"}