{"version":3,"file":"MaterialLab.U6KBheAX.mjs","names":["p","c","React.useState","React.useRef","__esmMin","le","_e","de","p","c","init_jsx_runtime","init_npm_react_18_3_1","init_framer_BWFVvmND","addPropertyControls","useRouter","ControlType","hex","str","h","rgb","v","hx","x","n","mix","A","a","B","b","m","i","t","normHref","Boards","props","since","kept","year","clamp","col","dark","checks","off","r","MaterialLab","p$1","mats","c$1","router","setYear","setKept","wrap","w","setW","el","ro","cols","body","mono","totals","replaced","up","best","go","href","path","id","key","pct","k","stains","due","worn","money","e","num","init_MaterialLab"],"sources":["https:/framerusercontent.com/modules/gQPNtbHneYM3pBEj6oiA/8IhQ9w7M6W5Ray6j5f6k/MaterialLab.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType,useRouter}from\"framer\";const clamp=(v,a,b)=>Math.max(a,Math.min(b,v));const money=n=>\"$\"+Math.round(n).toLocaleString(\"en-US\");function hex(h){// Accepts #hex, rgb()/rgba() and Framer token strings like var(--token, rgb(..))\nconst str=String(h||\"\");const rgb=str.match(/rgba?\\(\\s*([\\d.]+)[\\s,]+([\\d.]+)[\\s,]+([\\d.]+)/i);if(rgb)return[+rgb[1],+rgb[2],+rgb[3]].map(v=>Math.round(v));const hx=str.match(/#([0-9a-f]{3,8})/i);let x=hx?hx[1]:\"888888\";if(x.length===3||x.length===4)x=x.slice(0,3).split(\"\").map(c=>c+c).join(\"\");const n=parseInt(x.slice(0,6),16);return[n>>16&255,n>>8&255,n&255];}function mix(a,b,t){const A=hex(a),B=hex(b);const m=A.map((v,i)=>Math.round(v+(B[i]-v)*t));return\"#\"+(1<<24|m[0]<<16|m[1]<<8|m[2]).toString(16).slice(1);}function normHref(h){if(typeof h!==\"string\")return\"\";if(h===\".\"||h===\"./\")return\"/\";if(h.startsWith(\"./\"))return\"/\"+h.slice(2);try{if(typeof location!==\"undefined\"&&h.startsWith(location.origin))return h.slice(location.origin.length)||\"/\";}catch(e){}return h;}function Boards(props){const{m,year,kept}=props;// with upkeep, wood is restained on schedule so it only drifts a little between coats\nconst since=kept&&m.stainEvery?year%m.stainEvery:year;const t=clamp(since/15*m.fade*(kept&&m.stainEvery?2.2:1),0,m.fade);const col=mix(m.color,m.aged,t);const dark=mix(col,\"#000000\",.28);const checks=!kept&&m.stainEvery?clamp((year-3)/10,0,1):0;const rows=7;return /*#__PURE__*/_jsx(\"svg\",{viewBox:\"0 0 100 70\",width:\"100%\",style:{display:\"block\"},\"aria-hidden\":\"true\",children:Array.from({length:rows},(_,r)=>{const off=r*37%60;return /*#__PURE__*/_jsxs(\"g\",{children:[/*#__PURE__*/_jsx(\"rect\",{x:0,y:r*10,width:100,height:9.2,fill:col}),/*#__PURE__*/_jsx(\"rect\",{x:0,y:r*10+9.2,width:100,height:.8,fill:dark}),/*#__PURE__*/_jsx(\"rect\",{x:off,y:r*10,width:.7,height:9.2,fill:dark,opacity:.6}),/*#__PURE__*/_jsx(\"path\",{d:`M${(off+12)%100} ${r*10+3} q 14 -1.4 28 0.4 t 26 0.2`,stroke:mix(col,\"#ffffff\",.18),strokeWidth:.6,fill:\"none\",opacity:.55}),checks>0?/*#__PURE__*/_jsx(\"path\",{d:`M${(off+40)%90} ${r*10+5} h ${8+checks*14}`,stroke:dark,strokeWidth:.5,opacity:checks}):null]},r);})});}export default function MaterialLab(props){const p={...MaterialLab.defaultProps,...props,colors:{...MaterialLab.defaultProps.colors,...props.colors||{}}};const mats=p.materials&&p.materials.length?p.materials:MaterialLab.defaultProps.materials;const c=p.colors;const router=useRouter?useRouter():null;const[year,setYear]=React.useState(p.startYear);const[kept,setKept]=React.useState(true);const wrap=React.useRef(null);const[w,setW]=React.useState(1200);React.useLayoutEffect(()=>{const el=wrap.current;if(!el)return;setW(el.getBoundingClientRect().width);if(typeof ResizeObserver===\"undefined\")return;const ro=new ResizeObserver(e=>setW(e[0].contentRect.width));ro.observe(el);return()=>ro.disconnect();},[]);const cols=w>=1e3?Math.min(5,mats.length):w>=620?2:1;const body={fontFamily:p.bodyFont,color:c.ink};const mono={fontFamily:p.monoFont,fontWeight:500,letterSpacing:\"0.06em\",textTransform:\"uppercase\",fontSize:11.5,color:c.blueprint};const totals=mats.map(m=>{const replaced=year>m.life?1:0;const up=kept?m.upkeep*year:0;return m.install*p.sqft+up+replaced*m.install*p.sqft;});const best=totals.indexOf(Math.min(...totals));const go=(e,key)=>{const href=normHref(p.plannerLink);if(!href||!href.startsWith(\"/\")||!router||!router.routes||!router.navigate)return;const path=href.split(\"#\")[0];for(const id in router.routes){if(String(router.routes[id]?.path)===path){e.preventDefault();router.navigate(id,\"mat=\"+key);return;}}};const pct=year/15*100;return /*#__PURE__*/_jsxs(\"div\",{ref:wrap,className:\"dw-lab\",style:{width:\"100%\",display:\"grid\",gap:24,...body,boxSizing:\"border-box\"},children:[/*#__PURE__*/_jsx(\"style\",{children:`.dw-lab input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:3px;background:linear-gradient(90deg,${c.accent} ${pct}%,${c.track} ${pct}%);outline:none}\n.dw-lab input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:${c.panel};border:3px solid ${c.accent};cursor:pointer}\n.dw-lab input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:${c.panel};border:3px solid ${c.accent};cursor:pointer}\n.dw-lab input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px ${c.accentTint}}\n.dw-lab button:focus-visible,.dw-lab a:focus-visible{outline:2px solid ${c.accent};outline-offset:2px}`}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexWrap:\"wrap\",gap:18,alignItems:\"center\",justifyContent:\"space-between\"},children:[/*#__PURE__*/_jsxs(\"div\",{style:{flex:\"1 1 320px\",display:\"grid\",gap:10},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",justifyContent:\"space-between\",alignItems:\"baseline\"},children:[/*#__PURE__*/_jsx(\"label\",{htmlFor:\"dw-age\",style:mono,children:p.sliderLabel}),/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:p.monoFont,fontSize:22,color:c.ink},\"aria-live\":\"polite\",children:year===0?p.newLabel:`${year} ${year===1?\"year\":\"years\"}`})]}),/*#__PURE__*/_jsx(\"input\",{id:\"dw-age\",type:\"range\",min:0,max:15,step:1,value:year,onChange:e=>setYear(+e.target.value),\"aria-valuetext\":`${year} years`}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",justifyContent:\"space-between\",...mono,fontSize:10.5},children:[/*#__PURE__*/_jsx(\"span\",{children:\"0\"}),/*#__PURE__*/_jsx(\"span\",{children:\"5\"}),/*#__PURE__*/_jsx(\"span\",{children:\"10\"}),/*#__PURE__*/_jsx(\"span\",{children:\"15 yrs\"})]})]}),/*#__PURE__*/_jsx(\"div\",{role:\"group\",\"aria-label\":p.upkeepToggle,style:{display:\"flex\",border:`1.5px solid ${c.line}`,borderRadius:p.radius,overflow:\"hidden\"},children:[true,false].map(k=>/*#__PURE__*/_jsx(\"button\",{type:\"button\",\"aria-pressed\":kept===k,onClick:()=>setKept(k),style:{...body,appearance:\"none\",border:\"none\",cursor:\"pointer\",padding:\"10px 14px\",fontSize:14,fontWeight:600,background:kept===k?c.ink:\"transparent\",color:kept===k?c.panel:c.ink},children:k?p.keptLabel:p.leftLabel},String(k)))})]}),/*#__PURE__*/_jsx(\"div\",{style:{display:\"grid\",gridTemplateColumns:`repeat(${cols}, minmax(0, 1fr))`,gap:14},children:mats.map((m,i)=>{const stains=kept&&m.stainEvery?Math.floor(year/m.stainEvery):0;const due=!kept&&m.stainEvery&&year>=m.stainEvery;const worn=year>m.life;return /*#__PURE__*/_jsxs(\"div\",{style:{background:c.panel,border:`1.5px solid ${i===best?c.accent:c.line}`,borderRadius:p.radius+2,padding:14,display:cols===1?\"grid\":\"grid\",gridTemplateColumns:cols===1?\"110px 1fr\":\"1fr\",gap:14,alignItems:\"start\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{borderRadius:p.radius,overflow:\"hidden\",border:`1px solid ${c.line}`},children:/*#__PURE__*/_jsx(Boards,{m:m,year:year,kept:kept,uid:m.key})}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"grid\",gap:8},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",justifyContent:\"space-between\",gap:8,alignItems:\"baseline\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:p.headingFont,fontSize:19},children:m.label}),i===best?/*#__PURE__*/_jsx(\"span\",{style:{...mono,color:c.accent,fontSize:10.5},children:p.bestLabel}):null]}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"grid\",gap:4,fontSize:13.5,color:c.muted},children:[/*#__PURE__*/_jsxs(\"span\",{children:[p.lifeLabel,\" \",/*#__PURE__*/_jsxs(\"b\",{style:{color:c.ink,fontWeight:600},children:[m.life,\" yrs\"]})]}),/*#__PURE__*/_jsxs(\"span\",{children:[p.upkeepLabel,\" \",/*#__PURE__*/_jsxs(\"b\",{style:{color:c.ink,fontWeight:600},children:[money(m.upkeep),\"/yr\"]}),\" \",\"\\xb7 \",m.upkeepNote]})]}),/*#__PURE__*/_jsx(\"div\",{style:{fontSize:13,minHeight:18,color:worn?c.warn:due?c.warn:c.muted,fontWeight:worn||due?600:500},children:worn?p.wornLabel:due?p.dueLabel:stains?`${stains} ${stains===1?\"restain\":\"restains\"} so far`:m.stainEvery?p.freshLabel:p.steadyLabel}),/*#__PURE__*/_jsxs(\"div\",{style:{borderTop:`1px solid ${c.line}`,paddingTop:8,display:\"flex\",justifyContent:\"space-between\",gap:8,alignItems:\"baseline\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{...mono,fontSize:10.5},children:p.totalLabel}),/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:p.monoFont,fontSize:16,color:i===best?c.accent:c.ink},children:money(totals[i])})]}),/*#__PURE__*/_jsx(\"a\",{href:(normHref(p.plannerLink)||\"/planner\")+\"#mat=\"+m.key,onClick:e=>go(e,m.key),style:{...body,fontSize:14,fontWeight:700,color:c.accent,textDecoration:\"none\"},children:p.useLabel})]})]},m.key);})}),/*#__PURE__*/_jsx(\"div\",{style:{...body,fontSize:13.5,color:c.muted},children:p.footnote.replace(\"{sqft}\",String(p.sqft))})]});}MaterialLab.defaultProps={startYear:6,sqft:300,plannerLink:\"/planner\",materials:[{key:\"pt\",label:\"Pressure treated\",color:\"#A88B5E\",aged:\"#8E8C86\",fade:.85,life:15,install:30,upkeep:550,upkeepNote:\"wash and stain\",stainEvery:2},{key:\"cedar\",label:\"Cedar\",color:\"#B9774A\",aged:\"#9A9690\",fade:.9,life:20,install:42,upkeep:420,upkeepNote:\"seal every 2 to 3 yrs\",stainEvery:3},{key:\"hardwood\",label:\"Hardwood\",color:\"#7A4A2E\",aged:\"#8A8780\",fade:.75,life:30,install:72,upkeep:380,upkeepNote:\"oil every 1 to 2 yrs\",stainEvery:2},{key:\"composite\",label:\"Composite\",color:\"#8E8B85\",aged:\"#97948E\",fade:.12,life:30,install:52,upkeep:40,upkeepNote:\"wash once a year\",stainEvery:0},{key:\"pvc\",label:\"PVC\",color:\"#B7B2A8\",aged:\"#BCB8AF\",fade:.08,life:35,install:65,upkeep:30,upkeepNote:\"wash once a year\",stainEvery:0}],sliderLabel:\"Age of the deck\",newLabel:\"New\",upkeepToggle:\"Upkeep\",keptLabel:\"With upkeep\",leftLabel:\"Left alone\",bestLabel:\"Lowest so far\",lifeLabel:\"Lasts about\",upkeepLabel:\"Upkeep\",dueLabel:\"Greying, stain overdue\",wornLabel:\"Due for replacement\",freshLabel:\"Fresh finish\",steadyLabel:\"Colour holds, no stain needed\",totalLabel:\"Spent so far\",useLabel:\"Use this in the planner →\",footnote:\"Totals are for a {sqft} sq ft deck: build cost plus upkeep to date, and a rebuild if the boards outlive their lifespan. Typical figures, not a quote.\",radius:4,bodyFont:\"'Manrope', sans-serif\",headingFont:\"'Young Serif', serif\",monoFont:\"'DM Mono', monospace\",colors:{ink:\"#1F1D1B\",muted:\"#625C55\",line:\"rgba(31,29,27,0.12)\",panel:\"#FAF7F1\",accent:\"#B85C34\",accentTint:\"rgba(184,92,52,0.25)\",track:\"rgba(31,29,27,0.14)\",blueprint:\"#5C7082\",warn:\"#8C4022\"}};const str=title=>({type:ControlType.String,title});const num=(title,min=0,max=1e5,step=1)=>({type:ControlType.Number,title,min,max,step});addPropertyControls(MaterialLab,{startYear:num(\"Start year\",0,15),sqft:num(\"Deck size sq ft\",50,2e3,10),plannerLink:{type:ControlType.Link,title:\"Planner link\"},materials:{type:ControlType.Array,title:\"Materials\",control:{type:ControlType.Object,controls:{key:str(\"Planner key\"),label:str(\"Label\"),color:{type:ControlType.Color,title:\"New colour\"},aged:{type:ControlType.Color,title:\"Aged colour\"},fade:num(\"Fade\",0,1,.01),life:num(\"Lifespan yrs\",1,60),install:num(\"Build $/sq ft\"),upkeep:num(\"Upkeep $/yr\"),upkeepNote:str(\"Upkeep note\"),stainEvery:num(\"Stain every yrs\",0,10)}}},sliderLabel:str(\"Slider label\"),newLabel:str(\"New label\"),keptLabel:str(\"Upkeep on\"),leftLabel:str(\"Upkeep off\"),bestLabel:str(\"Best label\"),lifeLabel:str(\"Lifespan label\"),upkeepLabel:str(\"Upkeep label\"),dueLabel:str(\"Overdue label\"),wornLabel:str(\"Worn label\"),freshLabel:str(\"Fresh label\"),steadyLabel:str(\"Steady label\"),totalLabel:str(\"Total label\"),useLabel:str(\"Link label\"),footnote:{type:ControlType.String,title:\"Footnote\",displayTextArea:true},radius:num(\"Radius\",0,24),bodyFont:str(\"Body font\"),headingFont:str(\"Heading font\"),monoFont:str(\"Mono font\"),colors:{type:ControlType.Object,title:\"Colours\",controls:{ink:{type:ControlType.Color,title:\"Text\"},muted:{type:ControlType.Color,title:\"Muted\"},line:{type:ControlType.Color,title:\"Line\"},panel:{type:ControlType.Color,title:\"Card\"},accent:{type:ControlType.Color,title:\"Accent\"},accentTint:{type:ControlType.Color,title:\"Focus ring\"},track:{type:ControlType.Color,title:\"Track\"},blueprint:{type:ControlType.Color,title:\"Labels\"},warn:{type:ControlType.Color,title:\"Warning\"}}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"MaterialLab\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./MaterialLab.map"],"mappings":"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"}