{"version":3,"sources":["webpack:///./src/components/Calculators/HomeLoanCalculator.vue?c880","webpack:///./src/components/UI/Loader.vue?2d3f","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?3275","webpack:///./src/views/Calculators.vue?0a8c","webpack:///./src/views/Calculators.vue","webpack:///./src/views/Calculators.vue?af0a","webpack:///./src/views/Calculators.vue?5967","webpack:///./src/components/Calculators/HomeLoanCalculator.vue?c898","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:///./node_modules/client-website-ts-library/plugins/view/index.ts"],"names":["render","_vm","this","_h","$createElement","_c","_self","directives","name","rawName","value","expression","staticClass","staticRenderFns","Loader","Vue","__decorate","Prop","Component","component","attrs","_v","Calculators","Mixins","View","components","HomeLoanCalculator","loading","_e","staticStyle","hideAmount","domProps","on","$event","target","composing","principal","calculate","depositAmount","_m","loanTerm","interestRate","result","_s","constructor","amount","needsLMI","mounted","API","GetHomeLoanConfig","then","config","InterestRate","rate","repayments","monthly","Math","max","pow","ceil","toLocaleString","default","ViewBase","prolistAnalyticsService","ServiceManager","Get","ServiceType","Analytics","headService","Require","Head","updateAnalytics","evt","obj","getAnalyticsEvent","call","getAnalyticsData","AnalyticsPageView","$route","path","undefined","triggerAnalyticsEvent","event","GetAll","forEach","adapter","Record","triggerCustomAnalyticsEvent","updateHead","head","bind","Promise","meta","Update","UpdateWithStatic","requestAnimationFrame","AsyncView","$on"],"mappings":"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","file":"js/chunk-f4490868.a8fcedd0.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","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=4f035776&scoped=true&lang=css&\"","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\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}\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=4f035776&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=4f035776&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 \"4f035776\",\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&\"","import Vue from \"vue\";\r\nimport { Component } from \"vue-property-decorator\";\r\nimport { AnalyticsEvent, AnalyticsEventObject, AnalyticsPageView, IAnalyticsAdapter, PROListAnalyticsAdapter } from \"../../services/Analytics\";\r\nimport { HeadService } from \"../../services/HeadService\";\r\nimport { ServiceManager, ServiceType } from \"../../services/ServiceManager\";\r\nimport { RouteMeta } from \"../meta\";\r\n\r\ninterface ViewBase {\r\n getAnalyticsEvent?(): AnalyticsEvent | null;\r\n getAnalyticsData?(): AnalyticsEventObject | null;\r\n head?(): RouteMeta | Promise | null;\r\n}\r\n\r\n@Component\r\nclass ViewBase extends Vue {\r\n protected prolistAnalyticsService = ServiceManager.Get(ServiceType.Analytics, 'PROListAnalyticsAdapter');\r\n protected headService = ServiceManager.Require(ServiceType.Head)!;\r\n\r\n public updateAnalytics() {\r\n let evt: AnalyticsEvent | null = null;\r\n let obj: AnalyticsEventObject | null = null;\r\n\r\n if (typeof this.getAnalyticsEvent !== 'undefined') {\r\n evt = this.getAnalyticsEvent.call(this);\r\n } else if(typeof this.getAnalyticsData !== 'undefined') {\r\n obj = this.getAnalyticsData.call(this);\r\n }\r\n\r\n if (evt === null) evt = new AnalyticsPageView(this.$route.path, this.$route.name || '', obj || undefined);\r\n\r\n this.triggerAnalyticsEvent(evt);\r\n }\r\n\r\n public triggerAnalyticsEvent(event: AnalyticsEvent) {\r\n ServiceManager.GetAll(ServiceType.Analytics).forEach((adapter) => {\r\n adapter.Record(event);\r\n });\r\n }\r\n\r\n public triggerCustomAnalyticsEvent(event: AnalyticsEvent) {\r\n if (this.prolistAnalyticsService !== null) this.prolistAnalyticsService.Record(event);\r\n }\r\n\r\n protected updateHead() {\r\n if ('head' in this) {\r\n const result = this.head!.bind(this)();\r\n\r\n if(result instanceof Promise) {\r\n result.then((meta: RouteMeta | null) => {\r\n this.headService.Update(meta);\r\n });\r\n } else {\r\n this.headService.Update(result as RouteMeta | null);\r\n }\r\n } else {\r\n this.headService.UpdateWithStatic(this.$route.path);\r\n }\r\n }\r\n}\r\n\r\n@Component\r\nclass View extends ViewBase {\r\n public mounted() {\r\n requestAnimationFrame(() => {\r\n this.updateHead();\r\n this.updateAnalytics();\r\n });\r\n }\r\n}\r\n\r\n@Component\r\nclass AsyncView extends ViewBase {\r\n public mounted() {\r\n this.$on('updateView', () => {\r\n requestAnimationFrame(() => {\r\n this.updateHead();\r\n this.updateAnalytics();\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport {\r\n View,\r\n AsyncView\r\n}\r\n"],"sourceRoot":""}