{"version":3,"file":"OwnerNetCalculator.I-vcitSg.mjs","names":["React.useState","React.useRef","p","c","__esmMin","_e","de","p","c","init_jsx_runtime","init_npm_react_18_3_1","ce","addPropertyControls","init_framer_B6PCHH0A","ControlType","OwnerNetCalculator","props","rent","setRent","plan","setPlan","plans","voids","setVoids","ref","narrow","setNarrow","ro","p$1","fee","voidCost","net","c$1","colors","row","strong","label","value","slider","display","st","set","radius","title","fmt","currency","minRent","maxRent","step","i","pl","ctaLabel","ctaLink","init_OwnerNetCalculator","cur","n"],"sources":["https:/framerusercontent.com/modules/Xv4ep8trA36nvUbELhKl/J3QMBvxCPIksk45xEI2i/OwnerNetCalculator.js"],"sourcesContent":["// @ts-nocheck\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";/**\n * OwnerNetCalculator: what a landlord nets per month and per year after the\n * management fee and empty weeks. Rent slider, plan switch and void weeks.\n *\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight auto\n */const fmt=(n,cur)=>cur+Math.round(n).toLocaleString(\"en-GB\");export default function OwnerNetCalculator(props){const{currency,minRent,maxRent,step,plans,colors,radius,title,ctaLabel,ctaLink}=props;const[rent,setRent]=React.useState(props.rent);const[plan,setPlan]=React.useState(Math.min(props.defaultPlan,plans.length-1));const[voids,setVoids]=React.useState(props.voidWeeks);const ref=React.useRef(null);const[narrow,setNarrow]=React.useState(false);React.useEffect(()=>{if(!ref.current||typeof ResizeObserver===\"undefined\")return;const ro=new ResizeObserver(([e])=>setNarrow(e.contentRect.width<560));ro.observe(ref.current);return()=>ro.disconnect();},[]);const p=plans[plan]||{name:\"\",fee:0};const fee=rent*p.fee/100;const voidCost=rent*12*voids/52/12;const net=rent-fee-voidCost;const c=colors;const row=(label,value,strong)=>/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",justifyContent:\"space-between\",gap:12,padding:\"12px 0\",borderTop:`1px solid ${c.line}`,fontSize:15,color:strong?c.ink:c.muted,fontWeight:strong?500:400},children:[/*#__PURE__*/_jsx(\"span\",{style:{minWidth:0},children:label}),/*#__PURE__*/_jsx(\"span\",{style:{whiteSpace:\"nowrap\",color:strong?c.ink:c.ink},children:value})]});const slider=(label,value,display,min,max,st,set)=>/*#__PURE__*/_jsxs(\"label\",{style:{display:\"flex\",flexDirection:\"column\",gap:10},children:[/*#__PURE__*/_jsxs(\"span\",{style:{display:\"flex\",justifyContent:\"space-between\",gap:12,fontSize:14,color:c.muted},children:[/*#__PURE__*/_jsx(\"span\",{children:label}),/*#__PURE__*/_jsx(\"b\",{style:{color:c.ink,fontWeight:500},children:display})]}),/*#__PURE__*/_jsx(\"input\",{type:\"range\",min:min,max:max,step:st,value:value,onChange:e=>set(Number(e.target.value)),\"aria-label\":label,style:{width:\"100%\",accentColor:c.accent,height:24,cursor:\"pointer\"}})]});return /*#__PURE__*/_jsxs(\"div\",{ref:ref,style:{...props.style,width:\"100%\",boxSizing:\"border-box\",background:c.surface,border:`1px solid ${c.line}`,borderRadius:radius,padding:narrow?20:32,fontFamily:\"'General Sans', Inter, sans-serif\",color:c.ink,display:\"flex\",flexDirection:\"column\",gap:24},children:[title?/*#__PURE__*/_jsx(\"div\",{style:{fontSize:13,letterSpacing:\"0.12em\",textTransform:\"uppercase\",color:c.muted},children:title}):null,slider(\"Monthly rent\",rent,fmt(rent,currency),minRent,maxRent,step,setRent),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:10},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontSize:14,color:c.muted},children:\"Management plan\"}),/*#__PURE__*/_jsx(\"div\",{role:\"radiogroup\",style:{display:\"flex\",flexWrap:\"wrap\",gap:8},children:plans.map((pl,i)=>/*#__PURE__*/_jsxs(\"button\",{type:\"button\",role:\"radio\",\"aria-checked\":i===plan,onClick:()=>setPlan(i),style:{flex:\"1 1 150px\",minHeight:44,padding:\"10px 14px\",whiteSpace:\"nowrap\",lineHeight:1.25,borderRadius:Math.min(radius,6),cursor:\"pointer\",fontFamily:\"inherit\",fontSize:14,fontWeight:500,border:`1px solid ${i===plan?c.ink:c.line}`,background:i===plan?c.ink:\"transparent\",color:i===plan?c.surface:c.ink},children:[pl.name,\" \\xb7 \",pl.fee,\"%\"]},i))})]}),slider(\"Empty weeks per year\",voids,voids+(voids===1?\" week\":\" weeks\"),0,8,1,setVoids),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:narrow?\"column\":\"row\",alignItems:narrow?\"flex-start\":\"flex-end\",justifyContent:\"space-between\",gap:8,paddingTop:8},children:[/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:14,color:c.muted},children:\"You net per month\"}),/*#__PURE__*/_jsx(\"div\",{style:{fontSize:narrow?44:56,fontWeight:500,letterSpacing:\"-0.04em\",lineHeight:1.05,color:c.ink},children:fmt(net,currency)})]}),/*#__PURE__*/_jsxs(\"div\",{style:{fontSize:15,color:c.muted},children:[/*#__PURE__*/_jsx(\"b\",{style:{color:c.accent,fontWeight:500},children:fmt(net*12,currency)}),\" per year\"]})]}),/*#__PURE__*/_jsxs(\"div\",{children:[row(\"Rent\",fmt(rent,currency)),row(`${p.name} fee (${p.fee}%)`,\"−\"+fmt(fee,currency)),row(`Empty weeks (${voids})`,\"−\"+fmt(voidCost,currency)),row(\"Net to you\",fmt(net,currency),true)]}),ctaLabel?/*#__PURE__*/_jsx(\"a\",{href:ctaLink,style:{alignSelf:narrow?\"stretch\":\"flex-start\",textAlign:\"center\",textDecoration:\"none\",background:c.ink,color:c.surface,borderRadius:Math.min(radius,6),padding:\"15px 22px\",fontSize:15,fontWeight:500},children:ctaLabel}):null,/*#__PURE__*/_jsx(\"div\",{style:{fontSize:12.5,color:c.muted},children:\"An estimate for illustration. Your written rent estimate includes tax and insurance.\"})]});}OwnerNetCalculator.defaultProps={rent:1850,minRent:500,maxRent:6e3,step:50,currency:\"€\",defaultPlan:1,voidWeeks:2,plans:[{name:\"Let only\",fee:8},{name:\"Full management\",fee:12},{name:\"Rent guarantee\",fee:15}],title:\"Owner calculator\",ctaLabel:\"Get a written rent estimate\",ctaLink:\"/owners\",radius:4,colors:{surface:\"#F2F5F3\",ink:\"#1F3A2E\",muted:\"#5C6A62\",line:\"#DDE4DF\",accent:\"#3F7A4F\"}};addPropertyControls(OwnerNetCalculator,{rent:{type:ControlType.Number,title:\"Start rent\",min:100,max:2e4,step:50},minRent:{type:ControlType.Number,title:\"Min rent\"},maxRent:{type:ControlType.Number,title:\"Max rent\"},step:{type:ControlType.Number,title:\"Step\"},currency:{type:ControlType.String,title:\"Currency\"},defaultPlan:{type:ControlType.Number,title:\"Default plan\",min:0,max:5,step:1},voidWeeks:{type:ControlType.Number,title:\"Empty weeks\",min:0,max:12,step:1},plans:{type:ControlType.Array,title:\"Plans\",control:{type:ControlType.Object,controls:{name:{type:ControlType.String,title:\"Name\"},fee:{type:ControlType.Number,title:\"Fee %\",min:0,max:50,step:.5}}}},title:{type:ControlType.String,title:\"Eyebrow\"},ctaLabel:{type:ControlType.String,title:\"Button\"},ctaLink:{type:ControlType.Link,title:\"Button link\"},radius:{type:ControlType.Number,title:\"Radius\",min:0,max:48},colors:{type:ControlType.Object,title:\"Colours\",controls:{surface:{type:ControlType.Color,title:\"Surface\"},ink:{type:ControlType.Color,title:\"Ink\"},muted:{type:ControlType.Color,title:\"Muted\"},line:{type:ControlType.Color,title:\"Line\"},accent:{type:ControlType.Color,title:\"Accent\"}}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"OwnerNetCalculator\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./OwnerNetCalculator.map"],"mappings":"A,+LAOgE,SAAwBe,EAAmB,EAAM,CAAC,GAAK,CAAC,WAAS,UAAQ,UAAQ,OAAK,QAAM,SAAO,SAAO,QAAM,WAAS,WAASC,EAAW,CAACC,EAAKC,GAASlB,EAAegB,EAAM,IAAI,EAAO,CAACG,EAAKC,GAASpB,EAAe,KAAK,IAAIgB,EAAM,YAAYK,EAAM,OAAO,CAAC,CAAC,EAAO,CAACC,EAAMC,GAAUvB,EAAegB,EAAM,SAAS,EAAQQ,EAAIvB,EAAa,IAAI,EAAO,CAACwB,EAAOC,GAAW1B,EAAe,EAAK,EAAEW,MAAoB,CAAC,GAAG,CAACa,EAAI,SAAS,OAAO,eAAiB,IAAY,OAAO,IAAMG,EAAG,IAAI,gBAAgB,CAAC,KAAKD,EAAU,EAAE,YAAY,MAAM,GAAG,CAAC,EAA0B,OAAxBC,EAAG,QAAQH,EAAI,OAAO,MAAYG,EAAG,WAAW,CAAE,EAAE,CAAC,CAAC,EAAE,IAAMzB,EAAEmB,EAAMF,IAAO,CAAC,KAAK,GAAG,IAAI,CAAC,EAAQU,EAAIZ,EAAKf,EAAE,IAAI,IAAU4B,EAASb,EAAK,GAAGK,EAAM,GAAG,GAASS,EAAId,EAAKY,EAAIC,EAAe3B,EAAE8B,EAAaC,GAAK,EAAM,EAAM,IAAsB,gBAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,OAAO,eAAe,gBAAgB,IAAI,GAAG,QAAQ,SAAS,UAAU,aAAa/B,EAAE,OAAO,SAAS,GAAG,MAAMgC,EAAOhC,EAAE,IAAIA,EAAE,MAAM,WAAWgC,EAAO,IAAI,GAAG,EAAE,SAAS,CAAc,gBAAK,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,SAASC,CAAK,CAAC,EAAe,gBAAK,OAAO,CAAC,MAAM,CAAC,WAAW,SAAS,MAAajC,EAAE,GAAS,EAAE,SAASkC,CAAK,CAAC,CAAC,CAAC,CAAC,EAAQC,GAAQ,EAAM,EAAM,EAAQ,EAAI,EAAI,EAAG,IAAmB,gBAAM,QAAQ,CAAC,MAAM,CAAC,QAAQ,OAAO,cAAc,SAAS,IAAI,EAAE,EAAE,SAAS,CAAc,gBAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,OAAO,eAAe,gBAAgB,IAAI,GAAG,SAAS,GAAG,MAAMnC,EAAE,KAAK,EAAE,SAAS,CAAc,gBAAK,OAAO,CAAC,SAASiC,CAAK,CAAC,EAAe,gBAAK,IAAI,CAAC,MAAM,CAAC,MAAMjC,EAAE,IAAI,WAAW,GAAG,EAAE,SAASoC,CAAO,CAAC,CAAC,CAAC,CAAC,EAAe,gBAAK,QAAQ,CAAC,KAAK,QAAY,MAAQ,MAAI,KAAKC,EAAS,QAAM,SAAS,GAAGC,EAAI,OAAO,EAAE,OAAO,KAAK,CAAC,EAAE,aAAaL,EAAM,MAAM,CAAC,MAAM,OAAO,YAAYjC,EAAE,OAAO,OAAO,GAAG,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAoB,gBAAM,MAAM,CAAK,MAAI,MAAM,CAAC,GAAGa,EAAM,MAAM,MAAM,OAAO,UAAU,aAAa,WAAWb,EAAE,QAAQ,OAAO,aAAaA,EAAE,OAAO,aAAauC,EAAO,QAAQjB,EAAO,GAAG,GAAG,WAAW,oCAAoC,MAAMtB,EAAE,IAAI,QAAQ,OAAO,cAAc,SAAS,IAAI,EAAE,EAAE,SAAS,CAACwC,EAAmB,gBAAK,MAAM,CAAC,MAAM,CAAC,SAAS,GAAG,cAAc,SAAS,cAAc,YAAY,MAAMxC,EAAE,KAAK,EAAE,SAASwC,CAAK,CAAC,EAAE,KAAKL,EAAO,eAAerB,EAAK2B,EAAI3B,EAAK4B,CAAQ,EAAEC,EAAQC,EAAQC,EAAK9B,CAAO,EAAe,gBAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,OAAO,cAAc,SAAS,IAAI,EAAE,EAAE,SAAS,CAAc,gBAAK,OAAO,CAAC,MAAM,CAAC,SAAS,GAAG,MAAMf,EAAE,KAAK,EAAE,SAAS,iBAAiB,CAAC,EAAe,gBAAK,MAAM,CAAC,KAAK,aAAa,MAAM,CAAC,QAAQ,OAAO,SAAS,OAAO,IAAI,CAAC,EAAE,SAASkB,EAAM,KAAK,EAAG,IAAiB,gBAAM,SAAS,CAAC,KAAK,SAAS,KAAK,QAAQ,eAAe4B,IAAI9B,EAAK,YAAYC,EAAQ6B,CAAC,EAAE,MAAM,CAAC,KAAK,YAAY,UAAU,GAAG,QAAQ,YAAY,WAAW,SAAS,WAAW,KAAK,aAAa,KAAK,IAAIP,EAAO,CAAC,EAAE,OAAO,UAAU,WAAW,UAAU,SAAS,GAAG,WAAW,IAAI,OAAO,aAAaO,IAAI9B,EAAKhB,EAAE,IAAIA,EAAE,OAAO,WAAW8C,IAAI9B,EAAKhB,EAAE,IAAI,cAAc,MAAM8C,IAAI9B,EAAKhB,EAAE,QAAQA,EAAE,GAAG,EAAE,SAAS,CAAC+C,EAAG,KAAK,MAASA,EAAG,IAAI,GAAG,CAAC,EAAED,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAEX,EAAO,uBAAuBhB,EAAMA,GAAOA,IAAQ,EAAE,QAAQ,UAAU,EAAE,EAAE,EAAEC,CAAQ,EAAe,gBAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,OAAO,cAAcE,EAAO,SAAS,MAAM,WAAWA,EAAO,aAAa,WAAW,eAAe,gBAAgB,IAAI,EAAE,WAAW,CAAC,EAAE,SAAS,CAAc,gBAAM,MAAM,CAAC,SAAS,CAAc,gBAAK,MAAM,CAAC,MAAM,CAAC,SAAS,GAAG,MAAMtB,EAAE,KAAK,EAAE,SAAS,mBAAmB,CAAC,EAAe,gBAAK,MAAM,CAAC,MAAM,CAAC,SAASsB,EAAO,GAAG,GAAG,WAAW,IAAI,cAAc,UAAU,WAAW,KAAK,MAAMtB,EAAE,GAAG,EAAE,SAASyC,EAAIb,EAAIc,CAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,gBAAM,MAAM,CAAC,MAAM,CAAC,SAAS,GAAG,MAAM1C,EAAE,KAAK,EAAE,SAAS,CAAc,gBAAK,IAAI,CAAC,MAAM,CAAC,MAAMA,EAAE,OAAO,WAAW,GAAG,EAAE,SAASyC,EAAIb,EAAI,GAAGc,CAAQ,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,gBAAM,MAAM,CAAC,SAAS,CAACX,EAAI,OAAOU,EAAI3B,EAAK4B,CAAQ,CAAC,EAAEX,EAAI,GAAGhC,EAAE,KAAK,QAAQA,EAAE,IAAI,IAAI,IAAI0C,EAAIf,EAAIgB,CAAQ,CAAC,EAAEX,EAAI,gBAAgBZ,EAAM,GAAG,IAAIsB,EAAId,EAASe,CAAQ,CAAC,EAAEX,EAAI,aAAaU,EAAIb,EAAIc,CAAQ,EAAE,EAAI,CAAC,CAAC,CAAC,EAAEM,EAAsB,gBAAK,IAAI,CAAC,KAAKC,EAAQ,MAAM,CAAC,UAAU3B,EAAO,UAAU,aAAa,UAAU,SAAS,eAAe,OAAO,WAAWtB,EAAE,IAAI,MAAMA,EAAE,QAAQ,aAAa,KAAK,IAAIuC,EAAO,CAAC,EAAE,QAAQ,YAAY,SAAS,GAAG,WAAW,GAAG,EAAE,SAASS,CAAQ,CAAC,EAAE,KAAkB,gBAAK,MAAM,CAAC,MAAM,CAAC,SAAS,KAAK,MAAMhD,EAAE,KAAK,EAAE,SAAS,sFAAsF,CAAC,CAAC,CAAC,CAAC,CAAE,C,gDAAv2I,GAAK,EAAE,IAAMmD,EAAI,KAAK,MAAMC,CAAC,CAAC,CAAC,eAAe,OAAO,EAAmzI,EAAmB,aAAa,CAAC,KAAK,KAAK,QAAQ,IAAI,QAAQ,IAAI,KAAK,GAAG,SAAS,IAAI,YAAY,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,KAAK,WAAW,IAAI,CAAC,EAAE,CAAC,KAAK,kBAAkB,IAAI,EAAE,EAAE,CAAC,KAAK,iBAAiB,IAAI,EAAE,CAAC,EAAE,MAAM,mBAAmB,SAAS,8BAA8B,QAAQ,UAAU,OAAO,EAAE,OAAO,CAAC,QAAQ,UAAU,IAAI,UAAU,MAAM,UAAU,KAAK,UAAU,OAAO,SAAS,CAAC,EAAE3C,EAAoBG,EAAmB,CAAC,KAAK,CAAC,KAAKD,EAAY,OAAO,MAAM,aAAa,IAAI,IAAI,IAAI,IAAI,KAAK,EAAE,EAAE,QAAQ,CAAC,KAAKA,EAAY,OAAO,MAAM,UAAU,EAAE,QAAQ,CAAC,KAAKA,EAAY,OAAO,MAAM,UAAU,EAAE,KAAK,CAAC,KAAKA,EAAY,OAAO,MAAM,MAAM,EAAE,SAAS,CAAC,KAAKA,EAAY,OAAO,MAAM,UAAU,EAAE,YAAY,CAAC,KAAKA,EAAY,OAAO,MAAM,eAAe,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,UAAU,CAAC,KAAKA,EAAY,OAAO,MAAM,cAAc,IAAI,EAAE,IAAI,GAAG,KAAK,CAAC,EAAE,MAAM,CAAC,KAAKA,EAAY,MAAM,MAAM,QAAQ,QAAQ,CAAC,KAAKA,EAAY,OAAO,SAAS,CAAC,KAAK,CAAC,KAAKA,EAAY,OAAO,MAAM,MAAM,EAAE,IAAI,CAAC,KAAKA,EAAY,OAAO,MAAM,QAAQ,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,KAAKA,EAAY,OAAO,MAAM,SAAS,EAAE,SAAS,CAAC,KAAKA,EAAY,OAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,KAAKA,EAAY,KAAK,MAAM,aAAa,EAAE,OAAO,CAAC,KAAKA,EAAY,OAAO,MAAM,SAAS,IAAI,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,KAAKA,EAAY,OAAO,MAAM,UAAU,SAAS,CAAC,QAAQ,CAAC,KAAKA,EAAY,MAAM,MAAM,SAAS,EAAE,IAAI,CAAC,KAAKA,EAAY,MAAM,MAAM,KAAK,EAAE,MAAM,CAAC,KAAKA,EAAY,MAAM,MAAM,OAAO,EAAE,KAAK,CAAC,KAAKA,EAAY,MAAM,MAAM,MAAM,EAAE,OAAO,CAAC,KAAKA,EAAY,MAAM,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAC,C"}