{"version":3,"file":"DNF_J7Jw.js","sources":["../../../../layers/social-benefit-calculator/components/SocialHelpCalculator/Step/ShcLiving/index.vue","../../../../layers/social-benefit-calculator/components/SocialHelpCalculator/Step/ShcHousehold/index.vue","../../../../layers/social-benefit-calculator/components/SocialHelpCalculator/Step/ShcAssetsIncome/index.vue","../../../../layers/social-benefit-calculator/components/SocialHelpCalculator/Step/ShcExpenses/index.vue","../../../../layers/social-benefit-calculator/components/SocialHelpCalculator/Step/ShcResult/index.vue","../../../../layers/social-benefit-calculator/helpers/calculators/ShcResidentCalculator/index.ts","../../../../layers/social-benefit-calculator/helpers/calculators/ShcClaimCalculator/index.ts","../../../../layers/social-benefit-calculator/helpers/calculators/ShcAssetTaxFreeAmountCalculator/index.ts","../../../../layers/social-benefit-calculator/helpers/calculators/ShcBasicNeedCalculator/index.ts","../../../../layers/social-benefit-calculator/helpers/calculators/ShcEquivalenceFlatRateCalculator/index.ts","../../../../layers/social-benefit-calculator/helpers/calculators/ShcHealthInsuranceCalculator/index.ts","../../../../layers/social-benefit-calculator/helpers/calculators/ShcRentCalculator/index.ts","../../../../layers/social-benefit-calculator/helpers/socialHelpCalculator/index.ts","../../../../layers/social-benefit-calculator/components/SocialHelpCalculator/index.vue","../../../../layers/social-benefit-calculator/pages/social-help-calculator/index.vue"],"sourcesContent":["\n\n\n","\n\n\n","\n\n\n","\n\n\n","\n\n\n","/* BewohnerCalculator */\n\nimport type { ShcHousehold } from './../../types'\nimport {\n HOUSEHOLD_SIZE_ONE,\n HOUSEHOLD_SIZE_SEVERAL,\n LIVING_SITUATION_COUPLE,\n isTrue,\n AGE_CATEGORY_18_TO_25,\n} from './../../types'\n\nexport interface ShcResidentCalculatorI {\n getSupportedResidents(): number\n getTotalResidents(): number\n isYoungAdult(): boolean\n isYoungAdultForHealthInsurance(): boolean\n getSupportedAdults(): number\n getSupportedUnderage(): number\n}\n\nexport class ShcResidentCalculator implements ShcResidentCalculatorI {\n private readonly shcHousehold: ShcHousehold\n\n public constructor(shcHousehold: ShcHousehold) {\n this.shcHousehold = shcHousehold\n }\n\n /* getUnterstuetzteBewohner */\n public getSupportedResidents(): number {\n return this.getSupportedAdults() + this.getSupportedUnderage()\n }\n\n /* getTotalBewohner */\n public getTotalResidents(): number {\n return this.getSupportedResidents() + (this.shcHousehold.kidsOver18 ?? 0)\n }\n\n /* isJungeErwachsene */\n public isYoungAdult(): boolean {\n return (\n this.shcHousehold.householdSize === HOUSEHOLD_SIZE_ONE &&\n this.shcHousehold.ageCategory === AGE_CATEGORY_18_TO_25 &&\n !isTrue(this.shcHousehold.initialEducationFinished) &&\n !isTrue(this.shcHousehold.initialEducationOngoing)\n )\n }\n\n public isYoungAdultForHealthInsurance(): boolean {\n return (\n this.shcHousehold.householdSize === HOUSEHOLD_SIZE_ONE &&\n this.shcHousehold.ageCategory === AGE_CATEGORY_18_TO_25\n )\n }\n\n /* getUnterstuetzteErwachsene */\n public getSupportedAdults(): number {\n return this.shcHousehold.householdSize === HOUSEHOLD_SIZE_SEVERAL &&\n this.shcHousehold.livingSituation === LIVING_SITUATION_COUPLE\n ? 2\n : 1\n }\n\n /* getUnterstuetzteMinderjaehrige */\n public getSupportedUnderage(): number {\n return this.shcHousehold.householdSize === HOUSEHOLD_SIZE_SEVERAL\n ? (this.shcHousehold.kidsUnder18 ?? 0)\n : 0\n }\n}\n","/* ShrAnspruchCalculator */\nimport type {\n ClaimResult,\n ShcLiving,\n ShcHousehold,\n ShcAssetsIncome,\n ShcExpenses,\n} from './../../types'\nimport { Knockout, isTrue } from './../../types'\nimport type { ShcAssetTaxFreeAmountCalculator } from './../ShcAssetTaxFreeAmountCalculator'\nimport type { ShcBasicNeedCalculator } from './../ShcBasicNeedCalculator'\nimport type { ShcEquivalenceFlatRateCalculator } from './../ShcEquivalenceFlatRateCalculator'\nimport type { ShcHealthInsuranceCalculator } from './../ShcHealthInsuranceCalculator'\nimport type { ShcRentCalculator } from './../ShcRentCalculator'\n\nexport class ShcClaimCalculator {\n private readonly shcAssetTaxFreeAmountCalculator: ShcAssetTaxFreeAmountCalculator\n private readonly shcBasicNeedCalculator: ShcBasicNeedCalculator\n private readonly shcEquivalenceFlatRateCalculator: ShcEquivalenceFlatRateCalculator\n private readonly shcHealthInsuranceCalculator: ShcHealthInsuranceCalculator\n private readonly shcRentCalculator: ShcRentCalculator\n private readonly shcLiving: ShcLiving\n private readonly shcHousehold: ShcHousehold\n private readonly shcAssetsIncome: ShcAssetsIncome\n private readonly shcExpenses: ShcExpenses\n\n public constructor(\n shcAssetTaxFreeAmountCalculator: ShcAssetTaxFreeAmountCalculator,\n shcBasicNeedCalculator: ShcBasicNeedCalculator,\n shcEquivalenceFlatRateCalculator: ShcEquivalenceFlatRateCalculator,\n shcHealthInsuranceCalculator: ShcHealthInsuranceCalculator,\n shcRentCalculator: ShcRentCalculator,\n shcLiving: ShcLiving,\n shcHousehold: ShcHousehold,\n shcAssetsIncome: ShcAssetsIncome,\n shcExpenses: ShcExpenses,\n ) {\n this.shcAssetTaxFreeAmountCalculator = shcAssetTaxFreeAmountCalculator\n this.shcBasicNeedCalculator = shcBasicNeedCalculator\n this.shcEquivalenceFlatRateCalculator = shcEquivalenceFlatRateCalculator\n this.shcHealthInsuranceCalculator = shcHealthInsuranceCalculator\n this.shcRentCalculator = shcRentCalculator\n this.shcLiving = shcLiving\n this.shcHousehold = shcHousehold\n this.shcAssetsIncome = shcAssetsIncome\n this.shcExpenses = shcExpenses\n }\n\n public calculate(): ClaimResult {\n if (!isTrue(this.shcLiving.livingInBasel)) {\n return { reasons: [Knockout.SHC_RESIDENCE_IN_BASEL], amount: 0 }\n }\n if (isTrue(this.shcHousehold.initialEducationOngoing)) {\n return {\n reasons: [Knockout.SHC_CURRENTLY_IN_INITIAL_EDUCATION],\n amount: 0,\n }\n }\n if (\n this.shcAssetsIncome.assetAmount >\n this.shcAssetTaxFreeAmountCalculator.calculate()\n ) {\n return { reasons: [Knockout.SHC_ASSETS_TOO_HIGH], amount: 0 }\n }\n\n const difference = Math.floor(\n this.shcBasicNeedCalculator.calculate() /* TC 1: 1655 ok MGNL */ + // totalResidents=4, supportedResidents=3\n this.shcEquivalenceFlatRateCalculator.calculate() /* TC 1: 80.25 ok MGNL */ +\n this.shcHealthInsuranceCalculator.calculate() /* TC 1: 800 */ +\n this.shcRentCalculator.calculate() /* TC 1: 1390 ok MGNL */ +\n this.shcExpenses.additionalCosts /* TC 1: 1000 */ +\n (this.shcExpenses.externalCareAmount ?? 0) /* TC 1: 400 */ -\n (this.shcAssetsIncome.incomeAmount ?? 0) /* TC 1: 500 */ -\n (this.shcAssetsIncome.incomePartnerAmount ?? 0) /* TC 1: 200 */ -\n (this.shcAssetsIncome.incomeKidsAmount ?? 0) /* TC 1: 100 */,\n )\n if (difference < 0) {\n return { reasons: [Knockout.SHC_NEED_FOR_SMALL_INCOME], amount: 0 }\n }\n return { reasons: [], amount: difference }\n }\n}\n","/* ShrVermoegenfreibetragCalculator */\nimport type { ShcResidentCalculatorI } from './../ShcResidentCalculator'\n\nexport class ShcAssetTaxFreeAmountCalculator {\n private readonly shcResidentCalculator: ShcResidentCalculatorI\n private readonly ASSET_TAX_FREE_ADULT = 8000\n private readonly ASSET_TAX_FREE_UNDERAGE = 4000\n private readonly ASSET_TAX_FREE_MAX = 20000\n\n public constructor(shcResidentCalculator: ShcResidentCalculatorI) {\n this.shcResidentCalculator = shcResidentCalculator\n }\n\n public calculate(): number {\n const amount =\n this.shcResidentCalculator.getSupportedAdults() *\n this.ASSET_TAX_FREE_ADULT +\n this.shcResidentCalculator.getSupportedUnderage() *\n this.ASSET_TAX_FREE_UNDERAGE\n\n return Math.min(amount, this.ASSET_TAX_FREE_MAX)\n }\n}\n","/* GrundbedarfCalculator */\nimport type { ShcResidentCalculator } from './../ShcResidentCalculator'\n\nexport class ShcBasicNeedCalculator {\n private readonly shcResidentCalculator: ShcResidentCalculator\n private readonly BASIC_NEED = new Map()\n private readonly BASIC_NEED_YOUNG_ADULT = 821 /* GRUNDBEDARF_JUNGE_ERWACHSENE */\n private readonly BASIC_NEED_FROM_8_PERSONS_PER_PERSON = 298\n\n public constructor(shcResidentCalculator: ShcResidentCalculator) {\n this.shcResidentCalculator = shcResidentCalculator\n this.BASIC_NEED.set(1, 1061)\n this.BASIC_NEED.set(2, 1624)\n this.BASIC_NEED.set(3, 1974)\n this.BASIC_NEED.set(4, 2271)\n this.BASIC_NEED.set(5, 2568)\n this.BASIC_NEED.set(6, 2865)\n this.BASIC_NEED.set(7, 3162)\n }\n\n public calculate(): number {\n if (this.shcResidentCalculator.isYoungAdult()) {\n return this.BASIC_NEED_YOUNG_ADULT\n }\n\n const totalResidents = this.shcResidentCalculator.getTotalResidents()\n const nbPersons = this.shcResidentCalculator.getSupportedResidents()\n\n if (nbPersons >= 1 && nbPersons <= 7) {\n // @ts-ignore\n return Math.round(\n ((this.BASIC_NEED.get(totalResidents) ?? 0) / totalResidents) *\n nbPersons,\n )\n }\n\n // nbPersons >= 8\n return nbPersons * this.BASIC_NEED_FROM_8_PERSONS_PER_PERSON\n }\n}\n","/* AequivalenzpauschaleCalculator */\nimport type { ShcResidentCalculator } from './../ShcResidentCalculator'\n\nexport class ShcEquivalenceFlatRateCalculator {\n private shcResidentCalculator: ShcResidentCalculator\n private readonly EQUIVALENCE_FLAT_RATE = new Map()\n private readonly EQUIVALENCE_FLAT_RATE_FROM_8_PERSONS_PER_PERSON = 13.85\n\n public constructor(shcResidentCalculator: ShcResidentCalculator) {\n this.shcResidentCalculator = shcResidentCalculator\n this.EQUIVALENCE_FLAT_RATE.set(1, 50)\n this.EQUIVALENCE_FLAT_RATE.set(2, 77)\n this.EQUIVALENCE_FLAT_RATE.set(3, 93)\n this.EQUIVALENCE_FLAT_RATE.set(4, 107)\n this.EQUIVALENCE_FLAT_RATE.set(5, 121)\n this.EQUIVALENCE_FLAT_RATE.set(6, 135)\n this.EQUIVALENCE_FLAT_RATE.set(7, 149.1)\n }\n\n public calculate(): number {\n const totalResidents = this.shcResidentCalculator.getTotalResidents()\n const nbPersons = this.shcResidentCalculator.getSupportedResidents()\n\n if (nbPersons >= 1 && nbPersons <= 7) {\n // @ts-ignore\n return (\n ((this.EQUIVALENCE_FLAT_RATE.get(totalResidents) ?? 0) /\n totalResidents) *\n nbPersons\n )\n }\n\n // nbPersons >= 8\n return nbPersons * this.EQUIVALENCE_FLAT_RATE_FROM_8_PERSONS_PER_PERSON\n }\n}\n","/* KvgCalculator */\n/* KVG = Krankenversicherung */\nimport type { ShcExpenses } from './../../types'\nimport type { ShcResidentCalculatorI } from './../ShcResidentCalculator'\n\nexport class ShcHealthInsuranceCalculator {\n private readonly shcExpenses: ShcExpenses\n private readonly shcResidentCalculator: ShcResidentCalculatorI\n private readonly HEALTH_INSURANCE_ADULT = 674 /* KVG Erwachsene */\n private readonly HEALTH_INSURANCE_UNDERAGE = 164 /* KVG Kind */\n private readonly HEALTH_INSURANCE_YOUNG_ADULT = 499 /* KVG Junge Erwachsene */\n private readonly healthInsuranceAdult: number\n private readonly healthInsuranceUnderage: number\n private readonly healthInsuranceYoungAdult: number\n\n public constructor(\n shcExpenses: ShcExpenses,\n shcResidentCalculator: ShcResidentCalculatorI,\n ) {\n this.shcExpenses = shcExpenses\n this.shcResidentCalculator = shcResidentCalculator\n this.healthInsuranceAdult = this.getValueForCalculation(\n this.HEALTH_INSURANCE_ADULT,\n )\n this.healthInsuranceUnderage = this.getValueForCalculation(\n this.HEALTH_INSURANCE_UNDERAGE,\n )\n this.healthInsuranceYoungAdult = this.getValueForCalculation(\n this.HEALTH_INSURANCE_YOUNG_ADULT,\n )\n }\n\n public calculate(): number {\n const amount = this.shcResidentCalculator.isYoungAdultForHealthInsurance()\n ? this.healthInsuranceYoungAdult\n : this.shcResidentCalculator.getSupportedAdults() *\n this.healthInsuranceAdult +\n this.shcResidentCalculator.getSupportedUnderage() *\n this.healthInsuranceUnderage\n\n return Math.min(\n this.shcExpenses.healthInsurance,\n Math.round(amount * 1000) / 1000,\n )\n }\n\n private getValueForCalculation(n: number): number {\n const multi = n * 9\n const div = Math.floor(multi / 10)\n const mod = multi % 10\n let returnValue\n if (mod < 5) {\n returnValue = div\n } else {\n returnValue = div + 1\n }\n return returnValue\n }\n}\n","/* MieteCalculator */\nimport type { ShcExpenses } from './../../types'\nimport type { ShcResidentCalculatorI } from './../ShcResidentCalculator'\n\nexport class ShcRentCalculator {\n private readonly shcExpenses: ShcExpenses\n private readonly shcResidentCalculator: ShcResidentCalculatorI\n private readonly MAX_RENT = [\n 0, 880, 1210, 1390, 1650, 2160,\n ] /* Number of residents: 0, 1, 2, 3, 4, 5 and plus */\n\n private readonly MAX_RENT_YOUNG_ADULT = 605\n private readonly MAX_RENT_ONE_PARENT_WITH_ONE_KID = 1260\n\n public constructor(\n shcExpenses: ShcExpenses,\n shcResidentCalculator: ShcResidentCalculatorI,\n ) {\n this.shcExpenses = shcExpenses\n this.shcResidentCalculator = shcResidentCalculator\n }\n\n public calculate(): number {\n let maxRent\n if (this.shcResidentCalculator.isYoungAdult()) {\n maxRent = this.MAX_RENT_YOUNG_ADULT\n } else if (\n this.shcResidentCalculator.getSupportedResidents() === 2 &&\n this.shcResidentCalculator.getSupportedAdults() === 1\n ) {\n maxRent = this.MAX_RENT_ONE_PARENT_WITH_ONE_KID\n } else {\n maxRent =\n this.MAX_RENT[\n Math.min(this.shcResidentCalculator.getSupportedResidents(), 5)\n ]\n }\n return Math.min(\n this.shcExpenses.rentalCosts,\n Math.round(maxRent * 1000) / 1000,\n )\n }\n}\n","import type { SocialHelpCalculator, SocialHelpCalculatorResult } from '../types'\nimport { ShcResidentCalculator } from './../calculators/ShcResidentCalculator'\nimport { ShcClaimCalculator } from './../calculators/ShcClaimCalculator'\nimport { ShcAssetTaxFreeAmountCalculator } from './../calculators/ShcAssetTaxFreeAmountCalculator'\nimport { ShcBasicNeedCalculator } from './../calculators/ShcBasicNeedCalculator'\nimport { ShcEquivalenceFlatRateCalculator } from './../calculators/ShcEquivalenceFlatRateCalculator'\nimport { ShcHealthInsuranceCalculator } from './../calculators/ShcHealthInsuranceCalculator'\nimport { ShcRentCalculator } from './../calculators/ShcRentCalculator'\n\nexport function shcClaimCalculate(\n data: SocialHelpCalculator,\n): SocialHelpCalculatorResult {\n // console.info('shcClaimCalculate data: ', data)\n const shcResidentCalculator = new ShcResidentCalculator(data.shcHousehold)\n const shcClaimCalculator = new ShcClaimCalculator(\n new ShcAssetTaxFreeAmountCalculator(shcResidentCalculator),\n new ShcBasicNeedCalculator(shcResidentCalculator),\n new ShcEquivalenceFlatRateCalculator(shcResidentCalculator),\n new ShcHealthInsuranceCalculator(data.shcExpenses, shcResidentCalculator),\n new ShcRentCalculator(data.shcExpenses, shcResidentCalculator),\n data.shcLiving,\n data.shcHousehold,\n data.shcAssetsIncome,\n data.shcExpenses,\n )\n const claim = shcClaimCalculator.calculate()\n claim.amount = claim.amount != null ? roundDownToTen(claim.amount) : null\n return {\n shcClaim: claim,\n }\n\n // console.info('result.shcClaim: ', result.shcClaim)\n}\n\nfunction roundDownToTen(n: number): number {\n return Math.floor(n / 10) * 10\n}\n","\n\n\n","\n\n\n"],"names":["yesNoOptions","householdSizeOptions","ageCategoryOptions","livingSituationOptions","selectedIncome","ref","computed","knockoutTexts","Knockout","ShcResidentCalculator","shcHousehold","__publicField","HOUSEHOLD_SIZE_ONE","AGE_CATEGORY_18_TO_25","isTrue","HOUSEHOLD_SIZE_SEVERAL","LIVING_SITUATION_COUPLE","ShcClaimCalculator","shcAssetTaxFreeAmountCalculator","shcBasicNeedCalculator","shcEquivalenceFlatRateCalculator","shcHealthInsuranceCalculator","shcRentCalculator","shcLiving","shcAssetsIncome","shcExpenses","difference","ShcAssetTaxFreeAmountCalculator","shcResidentCalculator","amount","ShcBasicNeedCalculator","totalResidents","nbPersons","ShcEquivalenceFlatRateCalculator","ShcHealthInsuranceCalculator","n","multi","div","mod","returnValue","ShcRentCalculator","maxRent","shcClaimCalculate","data","claim","roundDownToTen","formData","allowIncomplete","numberOfKids","livingSituation","showExternalCare","socialHelpCalculatorResult","clone","__temp","__restore","_withAsyncContext","useDrupalRouteQuery","renderPageDependencies"],"mappings":"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"}