{"version":3,"sources":["images/products sync /^/.//.*/.svg$","images/IFG-Logo-Precept.svg","images/products/AHLI_UNITED.svg","images/products/AL_RAYAN.svg","images/products/GATEHOUSE BANK.svg","images/products/STRIDE_UP.svg","serviceWorker.js","actions/inputs.js","actions/selectedProduct.js","lib/enums.js","lib/PMT.js","lib/getFilteredProducts.js","lib/getFormulaResults.js","lib/formats.js","lib/getFee.js","lib/getInitialPeriod.js","lib/getFirstInitialPeriod.js","types/index.js","actions/calculatedProducts.js","components/ProductDetail.js","components/Products.js","decorators/withSelectMe.js","decorators/withInput.js","components/Aside.js","components/Calculator.js","lib/consts.js","components/Success.js","components/Header.js","components/Error404.js","components/Footer.js","components/ProductTypePurposeSelect.js","components/ProductLocation.js","components/CallbackRequest.js","lib/validationForms.js","components/BridgingCallbackRequest.js","App.js","reducers/index.js","reducers/products.js","reducers/inputs.js","reducers/calculatedProducts.js","reducers/selectedProduct.js","index.js","initialState.js"],"names":["map","webpackContext","req","id","webpackContextResolve","__webpack_require__","o","e","Error","code","keys","Object","resolve","module","exports","Boolean","window","location","hostname","match","setUrlParams","url","params","type","changeInput","value","name","changeProductType","payload","changeLocation","changeFTV","propertyValue","financeRequired","setSelectedProduct","inputs","calculatedProduct","setUrlProductType","setPresetBridgingProduct","ProductType","Purpose","PURCHASE","REFINANCE","PURCHASE_OR_REFINANCE","ProductTypePurpose","RepaymentType","HPP","RENT_ONLY","Locations","Appointment","PMT","ir","np","pv","fv","pvif","Math","pow","pmt","getFilteredProducts","products","s","Stream","filter","productType","product","purpose","repaymentType","fTV","prodMin","Number","minFinance","prodMax","maxFinance","inputFin","minTerm","maxTerm","inputTerm","term","console","log","lender","groupBy","prod","initialRateType","initialPeriodMonths","fixedAmountFee","variableFee","values","lenders","reduce","acc","currentValue","filteredProduct","formulaResults","financingAmount","fees","rentAndAcquisition","initialRate","followOnRate","formulaArray","balance","totalCashFlows","i","rate","monthlyPayment","rent","acquisition","push","initialMonthlyPayment","followOnPayment","length","totalRentPayable","totalAmountPayable","getFormulaResults","variableRate","sorted","calculatedProductA","calculatedProductB","toArray","formatCurrency","num","Intl","NumberFormat","minimumFractionDigits","maximumFractionDigits","currency","style","format","formatPercentage","parseFloat","toFixed","monthsToYears","parseInt","formatMonthsToYears","months","monthFormat","years","yearFormat","getInitialRateType","getRawFee","fixed","variable","max","getFee","getInitialPeriod","getFirstInitialPeriod","initialPeriodLimit","d1","d2","getFullYear","getMonth","monthDiff","Date","inputsDefaultTypes","PropTypes","shape","string","number","productTypes","logo","productName","minPropertyValue","productDefaultTypes","productsDefaultTypes","arrayOf","calculatedProductProptypes","calculatedProductDefaultProptypes","calculatedProductsDefaultProptypes","setCalculatedProducts","ProductDetail","setModalToOpen","actions","className","aria-label","onClick","src","require","alt","to","defaultProps","connect","dispatch","bindActionCreators","Products","calculatedProducts","useState","modalToOpen","useEffect","filteredProducts","renderFilteredProductsList","key","ReactGA","modalview","MenuContext","Consumer","setClassName","state","withSelectMe","Select","props","listRenderer","optionRenderer","onChange","option","label","withInput","minValue","maxValue","newProps","toLocaleString","Aside","options","handleChangeInput","handleChangeInputCurrency","target","replace","action","handleChangeProductType","min","step","tooltip","handleLabel","checked","htmlFor","Calculator","path","substr","queryString","parse","search","IFG_URL","Success","subtitle","href","Header","Error404","Footer","rel","ProductTypePurposeSelect","handleClick","ProductLocation","CallbackRequest","selectedProduct","history","validEmail","setValidEmail","validPhone","setValidPhone","validName","setValidName","pristine","setPristine","lenderName","handleChangePhone","phone","valid","phoneUtil","PhoneNumberUtil","getInstance","isValidNumber","validatePhone","handleChangeEmail","test","String","toLowerCase","renderInputClassname","input","renderFormError","renderForm","noValidate","method","onSubmit","preventDefault","endpoint","host","newProduct","newSelectedProduct","formValues","fetch","headers","Accept","body","JSON","stringify","sendData","placeholder","email","callRequest","disabled","withRouter","BridgingCallbackRequest","React","createContext","createBrowserHistory","listen","set","page","pathname","pageview","App","modalClassname","setModalClassname","Provider","exact","component","ifgApp","combineReducers","financeAmount","propertyPrice","indexOf","example","urlProductType","deposit","fee","initialMonthlyPmt","variableMonthlyPmt","totalRent","totalCost","initialize","store","createStore","compose","applyMiddleware","reduxThunk","__REDUX_DEVTOOLS_EXTENSION__","f","ReactDOM","render","document","getElementById","navigator","serviceWorker","ready","then","registration","unregister"],"mappings":"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","file":"static/js/main.698fa8e5.chunk.js","sourcesContent":["var map = {\n\t\"./AHLI_UNITED.svg\": 58,\n\t\"./AL_RAYAN.svg\": 59,\n\t\"./GATEHOUSE BANK.svg\": 60,\n\t\"./STRIDE_UP.svg\": 61\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 28;","module.exports = __webpack_public_path__ + \"static/media/IFG-Logo-Precept.44cbe196.svg\";","module.exports = __webpack_public_path__ + \"static/media/AHLI_UNITED.4dab23b9.svg\";","module.exports = __webpack_public_path__ + \"static/media/AL_RAYAN.016bff76.svg\";","module.exports = __webpack_public_path__ + \"static/media/GATEHOUSE BANK.ad249662.svg\";","module.exports = __webpack_public_path__ + \"static/media/STRIDE_UP.f7af3677.svg\";","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl)\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister();\n });\n }\n}\n","export const setUrlParams = (url, params) => ({\n type: 'INPUTS.SET_URL_PARAMS',\n url,\n params\n});\n\nexport const changeInput = (value, name) => ({\n type: 'INPUTS.CHANGE_INPUT',\n value,\n name\n});\n\nexport const changeProductType = (payload) => ({\n type: 'INPUTS.CHANGE_PRODUCT_TYPE',\n payload,\n});\n\nexport const changeLocation = (payload) => ({\n type: 'INPUTS.CHANGE_LOCATION',\n payload,\n});\n\nexport const changeFTV = (propertyValue, financeRequired) => ({\n type: 'INPUTS.CHANGE_FTV',\n propertyValue,\n financeRequired\n});\n","export const setSelectedProduct = (inputs, calculatedProduct) => ({\n type: 'SELECTED_PRODUCT.SET_SELECTED_PRODUCT',\n inputs,\n calculatedProduct\n});\n\nexport const changeInput = (value, name) => ({\n type: 'SELECTED_PRODUCT.CHANGE_INPUT',\n value,\n name\n});\n\nexport const setUrlProductType = (url) => ({\n type: 'SELECTED_PRODUCT.SET_URL_PRODUCT_TYPE',\n url\n});\n\nexport const setPresetBridgingProduct = () => ({\n type: 'SELECTED_PRODUCT.SET_PRESET_BRIDGING_PRODUCT'\n});\n\nexport default setSelectedProduct;\n","export const ProductType = {\n RESIDENTIAL: 'RESIDENTIAL',\n BUY_TO_LET: 'BUY_TO_LET',\n BRIDGING: 'BRIDGING'\n};\n\nexport const Purpose = {\n PURCHASE: 'PURCHASE',\n REFINANCE: 'REFINANCE',\n PURCHASE_OR_REFINANCE: 'PURCHASE_OR_REFINANCE'\n};\n\n\nexport const ProductTypePurpose = {\n HOME_PURCHASE: 'Home purchase',\n HOME_REFINANCE: 'Home refinance',\n BUY_TO_LET: 'Buy-to-let'\n};\n\nexport const RepaymentType = {\n HPP: 'HPP',\n RENT_ONLY: 'RENT_ONLY'\n};\n\nexport const Locations = {\n LONDON_AND_HOME_COUNTIES: 'LONDON_AND_HOME_COUNTIES',\n ELSEWHERE: 'ELSEWHERE',\n PRIME_CENTRAL_LON_OUTER_LON: 'PRIME_CENTRAL_LON_OUTER_LON',\n ENGLAND_SCOTLAND_WALES: 'ENGLAND_SCOTLAND_WALES',\n ENGLAND_WALES: 'ENGLAND_WALES',\n HOME_COUNTIES: 'HOME_COUNTIES',\n};\n\nexport const Appointment = {\n MORNING: 'MORNING',\n LUNCH: 'LUNCH',\n AFTERNOON: 'AFTERNOON',\n EVENING: 'EVENING',\n ASAP: 'ASAP',\n};\n","/* eslint-disable */\n// The PMT function calculates the payment for a loan \n// based on constant payments and a constant interest rate\nexport default function PMT(ir, np, pv, fv, type) {\n /*\n * ir - interest rate per month\n * np - number of periods (months)\n * pv - present value\n * fv - future value\n * type - when the payments are due:\n * 0: end of the period, e.g. end of month (default)\n * 1: beginning of period\n */\n\n fv || (fv = 0);\n type || (type = 0);\n\n if (ir === 0) { return -(pv + fv) / np; }\n\n const pvif = Math.pow(1 + ir, np);\n let pmt = -ir * pv * (pvif + fv) / (pvif - 1);\n\n if (type === 1) { pmt /= (1 + ir); }\n\n\n return pmt;\n}\n","import Stream from 'streamjs';\nimport { Purpose, RepaymentType } from './enums';\nimport getFormulaResults from './getFormulaResults';\n\n\nexport default function getFilteredProducts(products, inputs) {\n const s = Stream(products)\n .filter(({ productType: inputs.productType }))\n .filter((product) => product.purpose === inputs.purpose\n || product.purpose === Purpose.PURCHASE_OR_REFINANCE)\n .filter(({ repaymentType: inputs.repaymentType }))\n .filter((product) => product.fTV >= inputs.fTV)\n .filter((product) => {\n const prodMin = Number(product.minFinance) || 0;\n const prodMax = Number(product.maxFinance) || 0;\n const inputFin = Number(inputs.financeRequired) || 0;\n return prodMin <= inputFin && prodMax >= inputFin;\n })\n .filter((product) => {\n const prodMin = Number(product.minTerm) || 0;\n const prodMax = Number(product.maxTerm) || 0;\n const inputTerm = Number(inputs.term) || 0;\n console.log(inputTerm);\n console.log(prodMin, prodMax);\n console.log(product.lender, prodMin <= inputTerm && prodMax >= inputTerm);\n return prodMin <= inputTerm && prodMax >= inputTerm;\n })\n .groupBy((prod) => `${prod.lender} ${prod.initialRateType} ${prod.initialPeriodMonths} ${prod.fixedAmountFee == null ? prod.variableFee : prod.fixedAmountFee}`);\n\n return Stream(Object.values(s).map((lenders) => lenders.reduce((acc, currentValue) => (acc.fTV <= currentValue.fTV ? acc : currentValue))))\n .map((filteredProduct) => {\n const formulaResults = getFormulaResults(\n inputs.financeRequired,\n filteredProduct.fixedAmountFee,\n inputs.repaymentType === RepaymentType.HPP,\n filteredProduct.initialRate,\n filteredProduct.variableRate,\n inputs.term\n );\n return ({\n product: filteredProduct,\n ...formulaResults\n });\n })\n .sorted((calculatedProductA, calculatedProductB) => {\n if (calculatedProductA.initialMonthlyPayment === calculatedProductB.initialMonthlyPayment) {\n if (calculatedProductA.product.fTV === calculatedProductB.product.fTV) {\n return 0;\n }\n if (calculatedProductA.product.fTV < calculatedProductB.product.fTV) {\n return -1;\n }\n return 1;\n }\n if (calculatedProductA.initialMonthlyPayment < calculatedProductB.initialMonthlyPayment) {\n return -1;\n }\n return 1;\n })\n .toArray();\n}\n","import PMT from './PMT';\n\nexport default function getFormulaResults(\n financingAmount,\n fees,\n rentAndAcquisition,\n initialRate,\n followOnRate,\n term\n) {\n const FIXED_RATE_PERIOD = 24;\n\n const formulaArray = [{\n balance: financingAmount * -1,\n totalCashFlows: (financingAmount * -1) + fees,\n }];\n\n for (let i = 1; i <= term; i += 1) {\n const rate = i <= FIXED_RATE_PERIOD ? initialRate : followOnRate;\n const monthlyPayment = rentAndAcquisition\n ? PMT((rate / 12), (term - (i - 1)), formulaArray[i - 1].balance)\n : (formulaArray[i - 1].balance * -1) * (rate / 12);\n const rent = ((formulaArray[i - 1].balance * -1) * rate) / 12;\n const acquisition = monthlyPayment - rent;\n const balance = formulaArray[i - 1].balance + acquisition;\n const totalCashFlows = monthlyPayment;\n\n formulaArray.push({\n balance,\n rate,\n monthlyPayment,\n rent,\n acquisition,\n totalCashFlows\n });\n }\n\n const initialMonthlyPayment = formulaArray[1].monthlyPayment;\n const followOnPayment = formulaArray[formulaArray.length - 1].monthlyPayment;\n const totalRentPayable = initialMonthlyPayment\n * FIXED_RATE_PERIOD\n + followOnPayment\n * (term - FIXED_RATE_PERIOD);\n const totalAmountPayable = totalRentPayable\n + fees\n + (!rentAndAcquisition ? financingAmount : 0);\n\n return {\n initialMonthlyPayment,\n followOnPayment,\n totalRentPayable,\n totalAmountPayable,\n };\n}\n","export function formatCurrency(num) {\n return new Intl.NumberFormat(\n 'en-GB',\n {\n minimumFractionDigits: 2,\n maximumFractionDigits: 2,\n currency: 'GBP',\n style: 'currency'\n }\n ).format(num);\n}\n\nexport function formatPercentage(num) {\n return `${parseFloat((num * 100).toFixed(2))}%`;\n}\n\nexport function monthsToYears(num) {\n return parseInt(num / 12, 10);\n}\n\nexport function formatMonthsToYears(months) {\n if (months < 12) {\n const monthFormat = months === 1 ? 'month' : 'months';\n return `${months} ${monthFormat}`;\n }\n const years = monthsToYears(months);\n const yearFormat = years === 1 ? 'year' : 'years';\n return `${years} ${yearFormat}`;\n}\n\n\nexport function currencyToInt(currency) {\n return parseInt(currency.replace(/[^0-9.]+/g, ''), 10) || 0;\n}\n\nexport function intToCurrency(number) {\n return parseInt(number, 10).toLocaleString('en-GB');\n}\n\nexport function getInitialRateType(initialRateType) {\n return initialRateType === 'FIXED' ? 'fixed' : 'discounted variable';\n}\n","import { formatCurrency } from './formats';\n\nexport function getRawFee(fixed, variable, financeRequired) {\n if (fixed && variable) {\n return Math.max(fixed, variable * financeRequired);\n }\n return fixed || variable * financeRequired;\n}\n\nexport function getFee(fixed, variable, financeRequired) {\n return formatCurrency(getRawFee(fixed, variable, financeRequired));\n}\n","export default function getInitialPeriod(initialPeriodMonths) {\n return initialPeriodMonths || 24;\n}\n","function monthDiff(d1, d2) {\n let months;\n months = (d2.getFullYear() - d1.getFullYear()) * 12;\n months -= d1.getMonth() + 1;\n months += d2.getMonth();\n return months <= 0 ? 0 : months;\n}\n\nexport default function getFirstInitialPeriod(initialPeriodMonths, initialPeriodLimit) {\n if (initialPeriodLimit) {\n const currentDate = new Date();\n const date = new Date(initialPeriodLimit);\n return monthDiff(currentDate, date);\n }\n return initialPeriodMonths;\n}\n","import PropTypes from 'prop-types';\n\nexport const inputsTypes = PropTypes.shape({\n productType: PropTypes.string,\n purpose: PropTypes.string,\n repaymentType: PropTypes.string,\n propertyValue: PropTypes.number,\n financeRequired: PropTypes.number,\n fTV: PropTypes.number,\n term: PropTypes.number,\n});\n\nexport const inputsDefaultTypes = {\n productType: null,\n purpose: null,\n repaymentType: null,\n propertyValue: null,\n financeRequired: null,\n fTV: null,\n term: null,\n};\n\nexport const productTypes = PropTypes.shape({\n logo: PropTypes.string,\n productName: PropTypes.string,\n purpose: PropTypes.string,\n productType: PropTypes.string,\n repaymentType: PropTypes.string,\n fTV: PropTypes.number,\n initialPeriodMonths: PropTypes.number,\n initialPeriodLimit: PropTypes.string,\n initialRate: PropTypes.number,\n initialRateType: PropTypes.string,\n minTerm: PropTypes.number,\n maxTerm: PropTypes.number,\n variableRate: PropTypes.number,\n fixedAmountFee: PropTypes.number,\n variableFee: PropTypes.number,\n minFinance: PropTypes.number,\n maxFinance: PropTypes.number,\n minPropertyValue: PropTypes.number,\n location: PropTypes.string,\n});\n\nexport const productDefaultTypes = {\n logo: null,\n productName: null,\n purpose: null,\n productType: null,\n repaymentType: null,\n fTV: null,\n initialPeriodMonths: null,\n initialPeriodLimit: null,\n initialRate: null,\n initialRateType: null,\n minTerm: null,\n maxTerm: null,\n variableRate: null,\n fixedAmountFee: null,\n variableFee: null,\n minFinance: null,\n maxFinance: null,\n minPropertyValue: null,\n location: null,\n};\nexport const productsTypes = PropTypes.arrayOf(productTypes);\n\nexport const productsDefaultTypes = [productDefaultTypes];\n\nexport const calculatedProductProptypes = PropTypes.shape({\n product: productTypes,\n followOnPayment: PropTypes.number,\n initialMonthlyPayment: PropTypes.number,\n totalAmountPayable: PropTypes.number,\n totalRentPayable: PropTypes.number,\n});\n\nexport const calculatedProductsProptypes = PropTypes.arrayOf(calculatedProductProptypes);\n\nexport const calculatedProductDefaultProptypes = {\n product: productDefaultTypes,\n followOnPayment: null,\n initialMonthlyPayment: null,\n totalAmountPayable: null,\n totalRentPayable: null,\n};\n\n\nexport const calculatedProductsDefaultProptypes = [calculatedProductDefaultProptypes];\n","export const setCalculatedProducts = (payload) => ({\n type: 'CALCULATED_PRODUCTS.SET_CALCULATED_PRODUCTS',\n payload,\n});\n\nexport default setCalculatedProducts;\n","import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport { bindActionCreators } from 'redux';\nimport {Link} from 'react-router-dom';\nimport {\n inputsTypes,\n inputsDefaultTypes,\n calculatedProductProptypes,\n calculatedProductDefaultProptypes\n} from '../types';\n\nimport {\n formatCurrency, formatPercentage, formatMonthsToYears, getInitialRateType\n} from '../lib/formats';\nimport { getFee } from '../lib/getFee';\nimport getInitialPeriod from '../lib/getInitialPeriod';\nimport getFirstInitialPeriod from '../lib/getFirstInitialPeriod';\nimport { setSelectedProduct } from '../actions/selectedProduct';\nimport { ProductType } from '../lib/enums';\n\nconst ProductDetail = ({\n filteredProduct, setModalToOpen, inputs, actions\n}) => {\n function getCallbackRequestUrl() {\n return inputs.productType === ProductType.BUY_TO_LET ? './btl' : './residential';\n }\n\n return (\n
Deal term
\n{formatMonthsToYears(getInitialPeriod(filteredProduct.product.initialPeriodMonths))}
\n{getInitialRateType(filteredProduct.product.initialRateType)}
\nInitial rate
\n{formatPercentage(filteredProduct.product.initialRate)}
\nSetup fees
\n{getFee(filteredProduct.product.fixedAmountFee, filteredProduct.product.variableFee, inputs.financeRequired)}
\nMonthly payment
\n{formatCurrency(filteredProduct.initialMonthlyPayment)}
\n\n for the first\n \n {` ${getFirstInitialPeriod(filteredProduct.product.initialPeriodMonths, filteredProduct.product.initialPeriodLimit)} months`}\n \n
\nProducts are sorted in increasing order of initial monthly payment
\n\n {`${calculatedProducts.length} Results`}\n
\nNo results found
\nSorry we haven’t been able to find any products matching those requirements.
\n