{"version":3,"sources":["webpack:///./src/components/Calculators/HomeLoanCalculator.vue?c880","webpack:///./src/components/UI/Loader.vue?e98c","webpack:///./src/components/UI/Loader.vue","webpack:///./src/components/UI/Loader.vue?05d4","webpack:///./src/components/UI/Loader.vue?d4ac","webpack:///./src/views/Calculators.vue?1188","webpack:///./src/views/Calculators.vue","webpack:///./src/views/Calculators.vue?af0a","webpack:///./src/views/Calculators.vue?5967","webpack:///./src/components/Calculators/HomeLoanCalculator.vue?6a41","webpack:///./src/components/Calculators/HomeLoanCalculator.vue","webpack:///./src/components/Calculators/HomeLoanCalculator.vue?9c60","webpack:///./src/components/Calculators/HomeLoanCalculator.vue?a795","webpack:///./src/components/UI/Loader.vue?b05e","webpack:///./src/views/Calculators.vue?3c2d"],"names":["render","_vm","this","_h","$createElement","_c","_self","directives","name","rawName","value","expression","staticClass","staticRenderFns","component","attrs","_v","propertyValue","stampDutyState","firstHomeBuyer","propertyType","purchasing","eligiblePensioner","stampDuty","propertyPrice","weeklyRent","yearlyRates","yearlyInsurance","yearlyBCF","annualRentalIncome","rentalYield","Math","round","calculateStampDutyForQLD","calculateStampDutyForWA","alert","concession","generalDutyRateWA","firstHomeVacantLandDutyWA","firstHomeDutyWA","components","HomeLoanCalculator","loading","_e","staticStyle","hideAmount","domProps","on","$event","target","composing","principal","calculate","depositAmount","_m","loanTerm","interestRate","result","_s","amount","needsLMI","Calculators","GetHomeLoanConfig","then","config","InterestRate","rate","repayments","monthly","max","ceil","toLocaleString","default","Loader"],"mappings":"kHAAA,W,oCCAA,IAAIA,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,WAAW,CAAC,CAACC,KAAK,OAAOC,QAAQ,SAASC,MAAOT,EAAW,QAAEU,WAAW,YAAYC,YAAY,YACvMC,EAAkB,G,wECOD,EAArB,qJAAoC,QAEhC,yBADC,kB,8BADgB,EAAM,yBAD1B,QACoB,WCR8X,I,wBCQ/YC,EAAY,eACd,EACAd,EACAa,GACA,EACA,KACA,WACA,MAIa,OAAAC,E,6ECnBf,IAAId,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,OAAO,CAACA,EAAG,eAAe,CAACU,MAAM,CAAC,KAAO,OAAO,MAAQ,iBAAiBV,EAAG,aAAa,CAACA,EAAG,mBAAmB,CAACO,YAAY,qBAAqB,CAACP,EAAG,eAAe,CAACJ,EAAIe,GAAG,iBAAiBX,EAAG,SAAS,CAACO,YAAY,SAASG,MAAM,CAAC,eAAiB,cAAc,IAAM,8DAA8D,YAAc,IAAI,OAAS,OAAO,MAAQ,WAAW,IAAI,IAAI,IACteF,EAAkB,G,gGCqBD,EAArB,yG,0BACU,EAAAI,cAAgB,EAEhB,EAAAC,eAAiB,GAEjB,EAAAC,eAAiB,MAEjB,EAAAC,aAAe,UAEf,EAAAC,WAAa,mBAEb,EAAAC,kBAAoB,MAEpB,EAAAC,UAAY,EAEZ,EAAAC,cAAgB,EAEhB,EAAAC,WAAa,EAEb,EAAAC,YAAc,EAEd,EAAAC,gBAAkB,EAElB,EAAAC,UAAY,EAEZ,EAAAC,mBAAqB,EAErB,EAAAC,YAAc,EA3BxB,6DA6BE,WACE5B,KAAK2B,mBAAuC,GAAlB3B,KAAKuB,WAAkBvB,KAAKwB,YAAcxB,KAAKyB,gBAAkBzB,KAAK0B,UAChG,IAAME,EAAe5B,KAAK2B,mBAAqB3B,KAAKsB,cAAiB,IACrEtB,KAAK4B,YAAcC,KAAKC,MAAoB,IAAdF,GAAqB,MAhCvD,gCAmCE,WACE,OAAQ5B,KAAKgB,gBACX,IAAK,MACH,MACF,IAAK,MACH,MACF,IAAK,MACHhB,KAAK+B,2BACL,MACF,IAAK,MACH,MACF,IAAK,KACH,MACF,IAAK,KACH,MACF,IAAK,KACH/B,KAAKgC,0BACL,MACF,IAAK,MACH,MACF,QACEC,MAAM,4BAxDd,sCA4DE,WACE,IAAIZ,EAAY,EACZa,EAAa,EACS,YAAtBlC,KAAKkB,eAELG,EADErB,KAAKe,eAAiB,KACXf,KAAKe,cAAgB,IAAO,EAChCf,KAAKe,cAAgB,MAAUf,KAAKe,eAAiB,KAClD,MAASf,KAAKe,cAAgB,MAAU,IAAO,IAClDf,KAAKe,cAAgB,MAAUf,KAAKe,eAAiB,IAClD,OAAUf,KAAKe,cAAgB,MAAU,IAAO,IAEhD,OAAUf,KAAKe,cAAgB,KAAW,IAAO,MAGvC,eAAtBf,KAAKkB,eAELG,EADErB,KAAKe,cAAgB,KAAQf,KAAKe,eAAiB,MACvCf,KAAKe,cAAgB,KAAQ,IAAO,IACzCf,KAAKe,cAAgB,MAASf,KAAKe,eAAiB,KACjD,MAASf,KAAKe,cAAgB,MAAS,IAAO,IACjDf,KAAKe,cAAgB,MAAUf,KAAKe,eAAiB,IAClD,OAAUf,KAAKe,cAAgB,MAAU,IAAO,IAEhD,OAAUf,KAAKe,cAAgB,KAAW,IAAO,MAGrC,QAAxBf,KAAKiB,iBAELiB,EADElC,KAAKe,eAAiB,UACX,MACJf,KAAKe,eAAiB,UAClB,MACJf,KAAKe,eAAiB,UAClB,MACJf,KAAKe,eAAiB,UAClB,MACJf,KAAKe,eAAiB,UAClB,MACJf,KAAKe,eAAiB,UAClB,KACJf,KAAKe,eAAiB,UAClB,KACJf,KAAKe,eAAiB,UAClB,KACJf,KAAKe,eAAiB,UAClB,KACJf,KAAKe,eAAiB,UAClB,KAEA,GAGW,QAAxBf,KAAKiB,gBAAgD,gBAApBjB,KAAKmB,aAEtCe,EADElC,KAAKe,eAAiB,UACX,MACJf,KAAKe,eAAiB,UAClB,KACJf,KAAKe,eAAiB,UAClB,KACJf,KAAKe,eAAiB,UAClB,KACJf,KAAKe,eAAiB,UAClB,KACJf,KAAKe,eAAiB,UAClB,KACJf,KAAKe,eAAiB,UAClB,KACJf,KAAKe,eAAiB,UAClB,KACJf,KAAKe,eAAiB,UAClB,KACJf,KAAKe,eAAiB,UAClB,KACJf,KAAKe,eAAiB,UAClB,KACJf,KAAKe,eAAiB,UAClB,KACJf,KAAKe,eAAiB,UAClB,KACJf,KAAKe,eAAiB,UAClB,KACJf,KAAKe,eAAiB,UAClB,IAEA,GAIff,KAAKqB,UADHa,EAAab,EACE,EAEAA,EAAYa,IApJnC,qCAwJE,WACE,IAAIb,EAAY,EAChB,OAAQrB,KAAKiB,gBACX,IAAK,KACHI,EAAYrB,KAAKmC,oBACjB,MACF,IAAK,MAEDd,EADwB,eAAtBrB,KAAKkB,aACKlB,KAAKmC,oBACY,gBAApBnC,KAAKmB,WACFnB,KAAKoC,4BAELpC,KAAKqC,kBAEnB,MACF,QACErC,KAAKmC,oBACL,MAEJnC,KAAKqB,UAAYA,IA3KrB,+BA8KE,WACE,IAAIA,EAAY,EAYhB,OAVEA,EADErB,KAAKe,eAAiB,KACXf,KAAKe,cAAgB,IAAO,IAChCf,KAAKe,eAAiB,KACnB,MAASf,KAAKe,cAAgB,MAAU,IAAO,KAClDf,KAAKe,eAAiB,KACnB,MAASf,KAAKe,cAAgB,MAAU,IAAO,IAClDf,KAAKe,eAAiB,MACnB,OAAUf,KAAKe,cAAgB,MAAU,IAAO,KAEhD,OAAUf,KAAKe,cAAgB,OAAU,IAAO,KAEvDM,IA3LX,uCA8LE,WACE,IAAIA,EAAY,EAQhB,OANEA,EADErB,KAAKe,eAAiB,IACZ,EACHf,KAAKe,eAAiB,KACjBf,KAAKe,cAAgB,KAAU,IAAO,MAExCf,KAAKmC,oBAEZd,IAvMX,6BA0ME,WACE,IAAIA,EAAY,EAQhB,OANEA,EADErB,KAAKe,eAAiB,KACZ,EACHf,KAAKe,eAAiB,KACjBf,KAAKe,cAAgB,MAAU,IAAO,MAExCf,KAAKmC,oBAEZd,MAnNX,GAAyC,eAAO,SAA3B,EAAW,yBAL/B,eAAU,CACTiB,WAAY,CACVC,qBAAA,SAGiB,WCtBiX,I,wBCQlY3B,EAAY,eACd,EACAd,EACAa,GACA,EACA,KACA,WACA,MAIa,aAAAC,E,6CCnBf,IAAId,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACO,YAAY,wBAAwB,CAACP,EAAG,aAAa,CAACU,MAAM,CAAC,KAAO,SAAS,CAAEd,EAAW,QAAEI,EAAG,MAAM,CAACO,YAAY,iCAAiC,CAACP,EAAG,SAAS,CAACU,MAAM,CAAC,QAAUd,EAAIyC,YAAY,GAAGzC,EAAI0C,OAAOtC,EAAG,MAAM,CAACO,YAAY,+BAA+BgC,YAAY,CAAC,uBAAuB,SAAS,CAAG3C,EAAI4C,WAA8gB5C,EAAI0C,KAAtgBtC,EAAG,MAAM,CAACO,YAAY,cAAc,CAACP,EAAG,QAAQ,CAACE,WAAW,CAAC,CAACC,KAAK,QAAQC,QAAQ,UAAUC,MAAOT,EAAa,UAAEU,WAAW,cAAcC,YAAY,iDAAiDG,MAAM,CAAC,KAAO,SAAS,KAAO,IAAI,IAAM,QAAQ,YAAc,gBAAgB+B,SAAS,CAAC,MAAS7C,EAAa,WAAG8C,GAAG,CAAC,MAAQ,CAAC,SAASC,GAAWA,EAAOC,OAAOC,YAAqBjD,EAAIkD,UAAUH,EAAOC,OAAOvC,QAAOT,EAAImD,cAAc/C,EAAG,QAAQ,CAACO,YAAY,qBAAqB,CAACX,EAAIe,GAAG,0BAAmCX,EAAG,MAAM,CAACO,YAAY,cAAc,CAACP,EAAG,QAAQ,CAACE,WAAW,CAAC,CAACC,KAAK,QAAQC,QAAQ,UAAUC,MAAOT,EAAiB,cAAEU,WAAW,kBAAkBC,YAAY,iDAAiDG,MAAM,CAAC,KAAO,SAAS,KAAO,IAAI,IAAM,IAAI,YAAc,gBAAgB+B,SAAS,CAAC,MAAS7C,EAAiB,eAAG8C,GAAG,CAAC,MAAQ,CAAC,SAASC,GAAWA,EAAOC,OAAOC,YAAqBjD,EAAIoD,cAAcL,EAAOC,OAAOvC,QAAOT,EAAImD,cAAc/C,EAAG,QAAQ,CAACO,YAAY,qBAAqB,CAACX,EAAIe,GAAG,0BAA2Bf,EAAY,SAAEI,EAAG,MAAM,CAACO,YAAY,SAAS,CAACP,EAAG,OAAO,CAACO,YAAY,cAAcG,MAAM,CAAC,KAAO,OAAO,OAAS,WAAWd,EAAIqD,GAAG,IAAI,GAAGrD,EAAI0C,KAAKtC,EAAG,MAAM,CAACO,YAAY,cAAc,CAACP,EAAG,QAAQ,CAACE,WAAW,CAAC,CAACC,KAAK,QAAQC,QAAQ,UAAUC,MAAOT,EAAY,SAAEU,WAAW,aAAaC,YAAY,iDAAiDG,MAAM,CAAC,KAAO,SAAS,KAAO,IAAI,IAAM,IAAI,YAAc,WAAW+B,SAAS,CAAC,MAAS7C,EAAY,UAAG8C,GAAG,CAAC,MAAQ,CAAC,SAASC,GAAWA,EAAOC,OAAOC,YAAqBjD,EAAIsD,SAASP,EAAOC,OAAOvC,QAAOT,EAAImD,cAAc/C,EAAG,QAAQ,CAACO,YAAY,qBAAqB,CAACX,EAAIe,GAAG,yBAAyBX,EAAG,MAAM,CAACO,YAAY,cAAc,CAACP,EAAG,QAAQ,CAACE,WAAW,CAAC,CAACC,KAAK,QAAQC,QAAQ,UAAUC,MAAOT,EAAgB,aAAEU,WAAW,iBAAiBC,YAAY,iDAAiDG,MAAM,CAAC,KAAO,SAAS,KAAO,OAAO,IAAM,OAAO,YAAc,YAAY+B,SAAS,CAAC,MAAS7C,EAAgB,cAAG8C,GAAG,CAAC,MAAQ,CAAC,SAASC,GAAWA,EAAOC,OAAOC,YAAqBjD,EAAIuD,aAAaR,EAAOC,OAAOvC,QAAOT,EAAImD,cAAc/C,EAAG,QAAQ,CAACO,YAAY,qBAAqB,CAACX,EAAIe,GAAG,8BAA8BX,EAAG,MAAM,CAACE,WAAW,CAAC,CAACC,KAAK,OAAOC,QAAQ,SAASC,MAAOT,EAAIwD,OAAa,OAAE9C,WAAW,kBAAkBC,YAAY,gCAAgC,CAACP,EAAG,MAAM,CAACO,YAAY,uCAAuC,CAACP,EAAG,MAAM,CAACO,YAAY,gDAAgD,CAACX,EAAIe,GAAGf,EAAIyD,GAAGzD,EAAIwD,WAAWpD,EAAG,MAAM,CAACO,YAAY,6CAA6C,CAACX,EAAIe,GAAG,yBAAyB,IAC1/FH,EAAkB,CAAC,WAAa,IAAIZ,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,IAAI,CAACO,YAAY,kBAAkB,CAACX,EAAIe,GAAG,4DAA4DX,EAAG,IAAI,CAACU,MAAM,CAAC,KAAO,oEAAoE,OAAS,SAAS,IAAM,aAAa,CAACd,EAAIe,GAAG,SAASf,EAAIe,GAAG,U,gGCuDtV,EAArB,yG,0BAOU,EAAAmC,UAAY,EAAKQ,OAEjB,EAAAN,cAA8B,GAAd,EAAKM,OAErB,EAAAJ,SAAW,GAEX,EAAAC,aAAe,EAEf,EAAAd,SAAU,EAEV,EAAAe,OAAS,GAET,EAAAG,UAAW,EAnBrB,gDAqBE,WAAO,WACL,OAAIC,YAAYC,oBAAoBC,MAAK,SAACC,GACxC,EAAKR,aAAeQ,EAAOC,aAE3B,EAAKvB,SAAU,EAEf,EAAKU,iBA3BX,uBA+BE,WACE,IAAMc,EAAQhE,KAAKsD,aAAe,GAAM,IAClCW,EAA6B,GAAhBjE,KAAKqD,SAElBJ,EAAYjD,KAAKiD,UAAYjD,KAAKmD,cAExCnD,KAAK0D,SAAW1D,KAAKmD,cAAgBnD,KAAKiD,UAAY,GAEtD,IAAMiB,EAAUrC,KAAKsC,IAAI,EAAGlB,IAAc,SAAC,EAAIe,EAASC,GAAa,IAAMD,EAAO,KAAH,IAAI,EAAIA,EAASC,MAEhGjE,KAAKuD,OAAL,WAAkB1B,KAAKuC,KAAKF,GAASG,sBAzCzC,GAAgD,QAE9C,yBADC,kB,iCAID,yBADC,eAAK,CAAEC,QAAS,O,6BAJE,EAAkB,yBALtC,eAAU,CACThC,WAAY,CACViC,SAAA,SAGiB,WCxD0Y,I,wBCQ3Z3D,EAAY,eACd,EACAd,EACAa,GACA,EACA,KACA,WACA,MAIa,OAAAC,E,2CCnBf,W,kCCAA,Y","file":"js/chunk-63283472.53aafd2a.js","sourcesContent":["export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HomeLoanCalculator.vue?vue&type=style&index=0&id=11dd9252&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.loading),expression:\"loading\"}],staticClass:\"loader\"})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\r\nimport { Component, Vue, Prop } from 'vue-property-decorator';\r\n\r\n@Component\r\nexport default class Loader extends Vue {\r\n @Prop()\r\n private readonly loading!: boolean;\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Loader.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Loader.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Loader.vue?vue&type=template&id=b15215d2&scoped=true&\"\nimport script from \"./Loader.vue?vue&type=script&lang=ts&\"\nexport * from \"./Loader.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Loader.vue?vue&type=style&index=0&id=b15215d2&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b15215d2\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Page',[_c('SiteMasthead',{attrs:{\"mini\":\"true\",\"title\":\"Calculators\"}}),_c('ContentRow',[_c('ContentContainer',{staticClass:\"content-container\"},[_c('SectionTitle',[_vm._v(\"Calculators\")]),_c('iframe',{staticClass:\"iframe\",attrs:{\"referrerpolicy\":\"no-referrer\",\"src\":\"https://www.bizztools.net/2015/qccu/bizztools2015_hmcib.php\",\"frameborder\":\"0\",\"height\":\"100%\",\"width\":\"100%\"}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Mixins } from 'vue-property-decorator';\r\nimport { View } from 'client-website-ts-library/plugins';\r\n\r\nimport HomeLoanCalculator from '@/components/Calculators/HomeLoanCalculator.vue';\r\n\r\n@Component({\r\n components: {\r\n HomeLoanCalculator,\r\n },\r\n})\r\nexport default class Calculators extends Mixins(View) {\r\n private propertyValue = 0;\r\n\r\n private stampDutyState = '';\r\n\r\n private firstHomeBuyer = 'yes';\r\n\r\n private propertyType = 'primary';\r\n\r\n private purchasing = 'Established Home';\r\n\r\n private eligiblePensioner = 'yes';\r\n\r\n private stampDuty = 0;\r\n\r\n private propertyPrice = 0;\r\n\r\n private weeklyRent = 0;\r\n\r\n private yearlyRates = 0;\r\n\r\n private yearlyInsurance = 0;\r\n\r\n private yearlyBCF = 0;\r\n\r\n private annualRentalIncome = 0;\r\n\r\n private rentalYield = 0;\r\n\r\n calculateRentalYield() {\r\n this.annualRentalIncome = this.weeklyRent * 52 - this.yearlyRates - this.yearlyInsurance - this.yearlyBCF;\r\n const rentalYield = (this.annualRentalIncome / this.propertyPrice) * 100;\r\n this.rentalYield = Math.round(rentalYield * 100) / 100;\r\n }\r\n\r\n calculateStampDuty() {\r\n switch (this.stampDutyState) {\r\n case 'NSW':\r\n break;\r\n case 'VIC':\r\n break;\r\n case 'QLD':\r\n this.calculateStampDutyForQLD();\r\n break;\r\n case 'ACT':\r\n break;\r\n case 'NT':\r\n break;\r\n case 'SA':\r\n break;\r\n case 'WA':\r\n this.calculateStampDutyForWA();\r\n break;\r\n case 'TAS':\r\n break;\r\n default:\r\n alert('Please Select a State');\r\n }\r\n }\r\n\r\n calculateStampDutyForQLD() {\r\n let stampDuty = 0;\r\n let concession = 0;\r\n if (this.propertyType === 'primary') {\r\n if (this.propertyValue <= 350000) {\r\n stampDuty = (this.propertyValue / 100) * 1;\r\n } else if (this.propertyValue > 350000 && this.propertyValue <= 540000) {\r\n stampDuty = 3500 + ((this.propertyValue - 350000) / 100) * 3.5;\r\n } else if (this.propertyValue > 540000 && this.propertyValue <= 1000000) {\r\n stampDuty = 10150 + ((this.propertyValue - 540000) / 100) * 4.5;\r\n } else {\r\n stampDuty = 30850 + ((this.propertyValue - 1000000) / 100) * 5.75;\r\n }\r\n }\r\n if (this.propertyType === 'investment') {\r\n if (this.propertyValue > 5000 && this.propertyValue <= 75000) {\r\n stampDuty = ((this.propertyValue - 5000) / 100) * 1.5;\r\n } else if (this.propertyValue > 75000 && this.propertyValue <= 540000) {\r\n stampDuty = 1050 + ((this.propertyValue - 75000) / 100) * 3.5;\r\n } else if (this.propertyValue > 540000 && this.propertyValue <= 1000000) {\r\n stampDuty = 17325 + ((this.propertyValue - 540000) / 100) * 4.5;\r\n } else {\r\n stampDuty = 38025 + ((this.propertyValue - 1000000) / 100) * 5.75;\r\n }\r\n }\r\n if (this.firstHomeBuyer === 'yes') {\r\n if (this.propertyValue <= 709999.99) {\r\n concession = 17350;\r\n } else if (this.propertyValue <= 719999.99) {\r\n concession = 15615;\r\n } else if (this.propertyValue <= 729999.99) {\r\n concession = 13880;\r\n } else if (this.propertyValue <= 739999.99) {\r\n concession = 12145;\r\n } else if (this.propertyValue <= 749999.99) {\r\n concession = 10410;\r\n } else if (this.propertyValue <= 759999.99) {\r\n concession = 8675;\r\n } else if (this.propertyValue <= 769999.99) {\r\n concession = 6940;\r\n } else if (this.propertyValue <= 779999.99) {\r\n concession = 5205;\r\n } else if (this.propertyValue <= 789999.99) {\r\n concession = 3470;\r\n } else if (this.propertyValue <= 799999.99) {\r\n concession = 1735;\r\n } else {\r\n concession = 0;\r\n }\r\n }\r\n if (this.firstHomeBuyer === 'yes' && this.purchasing === 'Vacant Land') {\r\n if (this.propertyValue <= 359999.99) {\r\n concession = 10675;\r\n } else if (this.propertyValue <= 369999.99) {\r\n concession = 9965;\r\n } else if (this.propertyValue <= 379999.99) {\r\n concession = 9255;\r\n } else if (this.propertyValue <= 389999.99) {\r\n concession = 8545;\r\n } else if (this.propertyValue <= 399999.99) {\r\n concession = 7835;\r\n } else if (this.propertyValue <= 409999.99) {\r\n concession = 7125;\r\n } else if (this.propertyValue <= 419999.99) {\r\n concession = 6415;\r\n } else if (this.propertyValue <= 429999.99) {\r\n concession = 5705;\r\n } else if (this.propertyValue <= 439999.99) {\r\n concession = 4995;\r\n } else if (this.propertyValue <= 449999.99) {\r\n concession = 4285;\r\n } else if (this.propertyValue <= 459999.99) {\r\n concession = 3575;\r\n } else if (this.propertyValue <= 469999.99) {\r\n concession = 2865;\r\n } else if (this.propertyValue <= 479999.99) {\r\n concession = 2155;\r\n } else if (this.propertyValue <= 489999.99) {\r\n concession = 1445;\r\n } else if (this.propertyValue <= 499999.99) {\r\n concession = 735;\r\n } else {\r\n concession = 0;\r\n }\r\n }\r\n if (concession > stampDuty) {\r\n this.stampDuty = 0;\r\n } else {\r\n this.stampDuty = stampDuty - concession;\r\n }\r\n }\r\n\r\n calculateStampDutyForWA() {\r\n let stampDuty = 0;\r\n switch (this.firstHomeBuyer) {\r\n case 'no':\r\n stampDuty = this.generalDutyRateWA();\r\n break;\r\n case 'yes':\r\n if (this.propertyType === 'investment') {\r\n stampDuty = this.generalDutyRateWA();\r\n } else if (this.purchasing === 'Vacant Land') {\r\n stampDuty = this.firstHomeVacantLandDutyWA();\r\n } else {\r\n stampDuty = this.firstHomeDutyWA();\r\n }\r\n break;\r\n default:\r\n this.generalDutyRateWA();\r\n break;\r\n }\r\n this.stampDuty = stampDuty;\r\n }\r\n\r\n generalDutyRateWA() {\r\n let stampDuty = 0;\r\n if (this.propertyValue <= 120000) {\r\n stampDuty = (this.propertyValue / 100) * 1.90;\r\n } else if (this.propertyValue <= 150000) {\r\n stampDuty = 2280 + ((this.propertyValue - 120000) / 100) * 2.85;\r\n } else if (this.propertyValue <= 360000) {\r\n stampDuty = 3135 + ((this.propertyValue - 150000) / 100) * 3.80;\r\n } else if (this.propertyValue <= 725000) {\r\n stampDuty = 11115 + ((this.propertyValue - 360000) / 100) * 4.75;\r\n } else {\r\n stampDuty = 28453 + ((this.propertyValue - 725000) / 100) * 5.15;\r\n }\r\n return stampDuty;\r\n }\r\n\r\n firstHomeVacantLandDutyWA() {\r\n let stampDuty = 0;\r\n if (this.propertyValue <= 300000) {\r\n stampDuty = 0;\r\n } else if (this.propertyValue <= 400000) {\r\n stampDuty = ((this.propertyValue - 300000) / 100) * 13.01;\r\n } else {\r\n stampDuty = this.generalDutyRateWA();\r\n }\r\n return stampDuty;\r\n }\r\n\r\n firstHomeDutyWA() {\r\n let stampDuty = 0;\r\n if (this.propertyValue <= 450000) {\r\n stampDuty = 0;\r\n } else if (this.propertyValue <= 600000) {\r\n stampDuty = ((this.propertyValue - 450000) / 100) * 15.01;\r\n } else {\r\n stampDuty = this.generalDutyRateWA();\r\n }\r\n return stampDuty;\r\n }\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Calculators.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Calculators.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Calculators.vue?vue&type=template&id=0d6d05ba&scoped=true&\"\nimport script from \"./Calculators.vue?vue&type=script&lang=ts&\"\nexport * from \"./Calculators.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Calculators.vue?vue&type=style&index=0&id=0d6d05ba&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0d6d05ba\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"home-loan-calculator\"},[_c('transition',{attrs:{\"name\":\"fade\"}},[(_vm.loading)?_c('div',{staticClass:\"home-loan-calculator__loading\"},[_c('Loader',{attrs:{\"loading\":_vm.loading}})],1):_vm._e()]),_c('div',{staticClass:\"home-loan-calculator__fields\",staticStyle:{\"--underline-inactive\":\"#eee\"}},[(!_vm.hideAmount)?_c('div',{staticClass:\"form-field\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.principal),expression:\"principal\"}],staticClass:\"form-field__input form-field__input--has-value\",attrs:{\"type\":\"number\",\"step\":\"1\",\"min\":\"50000\",\"placeholder\":\"E.g. 500,000\"},domProps:{\"value\":(_vm.principal)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.principal=$event.target.value},_vm.calculate]}}),_c('label',{staticClass:\"form-field__label\"},[_vm._v(\"Property Price ($)\")])]):_vm._e(),_c('div',{staticClass:\"form-field\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.depositAmount),expression:\"depositAmount\"}],staticClass:\"form-field__input form-field__input--has-value\",attrs:{\"type\":\"number\",\"step\":\"1\",\"min\":\"0\",\"placeholder\":\"E.g. 100,000\"},domProps:{\"value\":(_vm.depositAmount)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.depositAmount=$event.target.value},_vm.calculate]}}),_c('label',{staticClass:\"form-field__label\"},[_vm._v(\"Deposit Amount ($)\")])]),(_vm.needsLMI)?_c('div',{staticClass:\"alert\"},[_c('Icon',{staticClass:\"alert__icon\",attrs:{\"icon\":\"info\",\"colour\":\"white\"}}),_vm._m(0)],1):_vm._e(),_c('div',{staticClass:\"form-field\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.loanTerm),expression:\"loanTerm\"}],staticClass:\"form-field__input form-field__input--has-value\",attrs:{\"type\":\"number\",\"step\":\"1\",\"min\":\"1\",\"placeholder\":\"E.g. 30\"},domProps:{\"value\":(_vm.loanTerm)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.loanTerm=$event.target.value},_vm.calculate]}}),_c('label',{staticClass:\"form-field__label\"},[_vm._v(\"Loan Term (years)\")])]),_c('div',{staticClass:\"form-field\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.interestRate),expression:\"interestRate\"}],staticClass:\"form-field__input form-field__input--has-value\",attrs:{\"type\":\"number\",\"step\":\"0.01\",\"min\":\"0.01\",\"placeholder\":\"E.g. 2.9\"},domProps:{\"value\":(_vm.interestRate)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.interestRate=$event.target.value},_vm.calculate]}}),_c('label',{staticClass:\"form-field__label\"},[_vm._v(\"Interest Rate (% PA)\")])])]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.result.length),expression:\"result.length\"}],staticClass:\"home-loan-calculator__result\"},[_c('div',{staticClass:\"home-loan-calculator__result__value\"},[_c('div',{staticClass:\"home-loan-calculator__result__value__content\"},[_vm._v(_vm._s(_vm.result))]),_c('div',{staticClass:\"home-loan-calculator__result__value__unit\"},[_vm._v(\"per month est.\")])])])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',{staticClass:\"alert__content\"},[_vm._v(\" Based on your deposit amount, you may need to take out \"),_c('a',{attrs:{\"href\":\"https://moneysmart.gov.au/glossary/lenders-mortgage-insurance-lmi\",\"target\":\"_blank\",\"rel\":\"nofollow\"}},[_vm._v(\"LMI\")]),_vm._v(\". \")])}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { API } from 'client-website-ts-library/services';\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\nimport Loader from '../UI/Loader.vue';\r\n\r\n@Component({\r\n components: {\r\n Loader,\r\n },\r\n})\r\nexport default class HomeLoanCalculator extends Vue {\r\n @Prop()\r\n private readonly hideAmount!: boolean;\r\n\r\n @Prop({ default: 500000 })\r\n private readonly amount!: number;\r\n\r\n private principal = this.amount;\r\n\r\n private depositAmount = this.amount * 0.2;\r\n\r\n private loanTerm = 30;\r\n\r\n private interestRate = 0;\r\n\r\n private loading = true;\r\n\r\n private result = '';\r\n\r\n private needsLMI = false;\r\n\r\n mounted() {\r\n API.Calculators.GetHomeLoanConfig().then((config) => {\r\n this.interestRate = config.InterestRate;\r\n\r\n this.loading = false;\r\n\r\n this.calculate();\r\n });\r\n }\r\n\r\n calculate() {\r\n const rate = (this.interestRate / 12) / 100;\r\n const repayments = this.loanTerm * 12;\r\n\r\n const principal = this.principal - this.depositAmount;\r\n\r\n this.needsLMI = this.depositAmount / this.principal < 0.2;\r\n\r\n const monthly = Math.max(0, principal / (((1 + rate) ** repayments - 1) / (rate * (1 + rate) ** repayments)));\r\n\r\n this.result = `$${Math.ceil(monthly).toLocaleString()}`;\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HomeLoanCalculator.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HomeLoanCalculator.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./HomeLoanCalculator.vue?vue&type=template&id=11dd9252&scoped=true&\"\nimport script from \"./HomeLoanCalculator.vue?vue&type=script&lang=ts&\"\nexport * from \"./HomeLoanCalculator.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./HomeLoanCalculator.vue?vue&type=style&index=0&id=11dd9252&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"11dd9252\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Loader.vue?vue&type=style&index=0&id=b15215d2&scoped=true&lang=css&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Calculators.vue?vue&type=style&index=0&id=0d6d05ba&scoped=true&lang=css&\""],"sourceRoot":""}