{"version":3,"sources":["components/Charts/PieChart.module.css","components/Blocks/InfoButton.module.css","components/Blocks/AmountRow.module.css","lib/satser_2024.js","lib/common.js","components/Blocks/AmountRow.js","components/Blocks/ShowDetailsButton.js","components/Charts/PieChart.js","components/Blocks/Icons.js","components/Blocks/InfoButton.js","components/Enk.js","components/As.js","components/Employ.js","components/Blocks/Slider.js","components/BaseInputs.js","components/Blocks/Modal.js","App.js","index.js","components/Enk.module.css","components/As.module.css","components/Employ.module.css","App.module.css","components/BaseInputs.module.css","components/Blocks/Modal.module.css","components/Blocks/Slider.module.css","components/Blocks/ShowDetailsButton.module.css"],"names":["module","exports","satser","skatt_alminnelig_inntekt","personfradrag","klasse_1","klasse_2","trinnskatt","trinn_1","innslag","storrelse","sats","trinn_2","trinn_3","trinn_4","trinn_5","trygdeavgift","lonnsinntekt","naeringsinntekt","pensjonsinntekt","nedre_grense_for_trygdeavgift","maks_av_grunnlaget","minstefradrag_lonn","ovre_grense","nedre_grense","saerskilt_fradrag_arbeidsinntekt","grunnbelop_i_folketryden","bruttolonn","under_resultatbonus","under_resultatbonus_foer_lonn","G6","G6_foer_lonn","G7_1","G7_1_foer_lonn","G12","G12_foer_lonn","terskel_innslag_resultatbonus","innslagspunkt_for_bonus","innslagspunkt_for_bonus_sats","innslagspunkt_for_bonus_brutto_FP","innslagspunkt_for_bonus_brutto_FP_sats","tillegstrygd_sykepenger_NAV","forsikring_ansvar_sats_AS","forsikring_maks_pris_AS","pensjon","vippepunkt_hoy_sats","lav_sats","hoy_sats","skatt_uttak","skattesats_ENK","faktor","lonn_inkl_fp_og_bonus_under","Big","div","times","lonn_inkl_fp_under_7_1G","lonn_inkl_fp_fra_7_1G_til_12G","lonn_inkl_fp_over_12G","eget_AS","lonn_inkl_fp_under_7_1_G","minus","plus","currency","Intl","NumberFormat","style","maximumFractionDigits","minimumFractionDigits","chartColors","AmountRow","name","amount","isFinalAmount","className","children","withCheckbox","onCheckboxClick","checkBoxState","checkBoxLabel","styles","container","disabled","amount__container","format","type","checked","onChange","title","checkBox","ShowDetailsButton","isDetailViewOpen","handleClick","button","active","onClick","prev","PieChart","filteredData","data","filter","item","y","totalAmount","reduce","accumulator","value","animate","duration","labels","fill","fontFamily","fontSize","datum","color","height","padding","top","right","bottom","left","labelComponent","lineHeight","x","Math","round","getLabel","innerRadius","labelRadius","events","target","eventHandlers","onMouseOver","mutation","text","backgroundStyle","opacity","backgroundPadding","onMouseOut","InfoIcon","xmlns","width","viewBox","stroke","strokeWidth","strokeLinecap","strokeLinejoin","cx","cy","r","x1","y1","x2","y2","InfoButton","displayModal","infoText","Enk","overskudd_i_naering","lonnsintekt_andre_arb_giv","employTotal","useState","forsikring","setForsikring","adm_regnskap","setAdm_regnskap","isForsikringEnabled","setIsForsikringEnabled","isAdm_RegnskapEnabled","setIsAdm_RegnskapEnabled","isSykelonnEnabled","setIsSykelonnEnabled","setIsDetailViewOpen","overskudd_i_naering_etter_kostnader","sykelonn","overskudd_for_pensjon","lonnsintekt","pensjon_grunnlag","pensjon_sum","sum_inntekt","alminnelig_inntekt","minstefradrag_helper","minstefradrag","grunnlag_skatt","full_trygdeavgift_lonn","full_trygdeavgift_naering","sum_full_trygdeavgift","grunnlag_trygdeavgift","trygdeavgift_25p_av_belop_over_nedre_grense","trygdeavgift_beregning","trygdeavgift_naering","trygdeavgift_lonn","sum_nettoinntekt","trinnskatt_over_innslagspunkt","trinn","trinnskatt_beregning","trinnskatt_lonn_innenfor_trinn","trinnskatt_for_trinn","trinnskatt_sum","inntektsskatt_beregning","inntektsskatt","inntektsskatt_sats","netto","admin_kostnader","differanse_per_ar","differanse_per_maaned","header","details__container","input__container","htmlFor","id","toString","replace","e","max","As","overskudd_etter_kostnader","bruttolonn_under_7_1G","bruttolonn_under_7_1G_pensjon","bruttolonn_mellom_7_1G_12G","bruttolonn_mellom_7_1G_12G_pensjon","bruttolonn_over_12G","bruttolonn_sum","bruttolonn_sum_pensjon","pensjonssparing","lonnsinntekt_eget_as","grunnlag_AGA","trygdeavgift_grunnlag","skatt_lonnskostnader_AGA","sum_skatt_inkl_AGA","aga_kostnader","Employ","overskudd_etter_maanedspris","handleTotalAmountChange","useEffect","bruttolonn_under_bonus","bruttolonn_under_bonus_pensjon","bruttolonn_mellom_bonus_7_1G","bruttolonn_mellom_bonus_7_1G_pensjon","lonnsinntekt_employ","pensjon_inkl_est_skatt_20","bottomMargin","details__header","Slider","handleChange","min","values","step","renderTrack","props","track","renderThumb","thumb","BaseInputs","handleChangeLonnsintekt","handleChangeOverskudd","input","value__container","parseInt","inputMode","Modal","closeModal","modal__container","modal__background","modal__box","close__button","App","setOverskudd_i_naering","setLonnsintekt_andre_arb_giv","setEmployTotal","isModalOpen","setIsModalOpen","modalText","setModalText","maanedspris","handleDisplayModal","calculations","ReactDOM","render","StrictMode","document","getElementById"],"mappings":"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","file":"static/js/main.39b75222.chunk.js","sourcesContent":["// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"PieChart_container__2bRnd\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"button\":\"InfoButton_button__3bmwS\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"AmountRow_container__16DJi\",\"amount\":\"AmountRow_amount__2vf4x\",\"disabled\":\"AmountRow_disabled__1GKVM\",\"checkBox\":\"AmountRow_checkBox__3gg62\",\"amount__container\":\"AmountRow_amount__container__2ZcIk\",\"isFinalAmount\":\"AmountRow_isFinalAmount__VjnV_\"};","import Big from \"big.js\";\r\n\r\n/**\r\n * Keeps all the general calculation constants in an object.\r\n * Values that need to be calculated based on other values have empty strings.\r\n * Their calculations follow below.\r\n */\r\n\r\nlet satser = {\r\n skatt_alminnelig_inntekt: 0.22,\r\n personfradrag: {\r\n klasse_1: 88250,\r\n klasse_2: 0,\r\n },\r\n trinnskatt: {\r\n trinn_1: {\r\n innslag: 208050,\r\n storrelse: \"\",\r\n sats: 0.017,\r\n },\r\n trinn_2: {\r\n innslag: 292850,\r\n storrelse: \"\",\r\n sats: 0.04,\r\n },\r\n trinn_3: {\r\n innslag: 670000,\r\n storrelse: \"\",\r\n sats: 0.136,\r\n },\r\n trinn_4: {\r\n innslag: 937900,\r\n storrelse: \"\",\r\n sats: 0.166,\r\n },\r\n trinn_5: {\r\n innslag: 1350000,\r\n sats: 0.176,\r\n }\r\n },\r\n trygdeavgift: {\r\n lonnsinntekt: 0.078,\r\n naeringsinntekt: 0.110,\r\n pensjonsinntekt: 0.051,\r\n nedre_grense_for_trygdeavgift: 69650,\r\n maks_av_grunnlaget: 0.25,\r\n },\r\n minstefradrag_lonn: {\r\n sats: 0.46,\r\n ovre_grense: 104450,\r\n nedre_grense: 0,\r\n saerskilt_fradrag_arbeidsinntekt: 0,\r\n },\r\n grunnbelop_i_folketryden: 118620,\r\n bruttolonn: {\r\n under_resultatbonus: \"\",\r\n under_resultatbonus_foer_lonn: \"\",\r\n G6: \"\",\r\n G6_foer_lonn: \"\",\r\n G7_1: \"\",\r\n G7_1_foer_lonn: \"\",\r\n G12: \"\",\r\n G12_foer_lonn: \"\",\r\n },\r\n terskel_innslag_resultatbonus: 1.6,\r\n innslagspunkt_for_bonus: \"\",\r\n innslagspunkt_for_bonus_sats: 0.02,\r\n innslagspunkt_for_bonus_brutto_FP: \"\",\r\n innslagspunkt_for_bonus_brutto_FP_sats: \"\",\r\n tillegstrygd_sykepenger_NAV: 0.110,\r\n forsikring_ansvar_sats_AS: 0.011,\r\n forsikring_maks_pris_AS: \"\",\r\n pensjon: {\r\n vippepunkt_hoy_sats: \"\",\r\n lav_sats: 0.034,\r\n hoy_sats: 0.215,\r\n skatt_uttak: 0.2,\r\n skattesats_ENK: 0.04,\r\n },\r\n faktor: {\r\n lonn_inkl_fp_og_bonus_under: +Big(1).div(1.141).div(1.034).times(0.925),\r\n lonn_inkl_fp_under_7_1G: \"\",\r\n lonn_inkl_fp_fra_7_1G_til_12G: \"\",\r\n lonn_inkl_fp_over_12G: \"\",\r\n },\r\n eget_AS: {\r\n bruttolonn: {\r\n G7_1: \"\",\r\n G7_1_foer_lonn: \"\",\r\n G12: \"\",\r\n G12_foer_lonn: \"\",\r\n },\r\n faktor: {\r\n lonn_inkl_fp_under_7_1_G: +Big(1).div(1.141).div(1.034),\r\n lonn_inkl_fp_fra_7_1G_til_12G: +Big(1).div(1.141).div(1.215),\r\n lonn_inkl_fp_over_12G: +Big(1).div(1.141),\r\n },\r\n },\r\n};\r\n\r\nsatser.trinnskatt.trinn_1.storrelse = +Big(\r\n satser.trinnskatt.trinn_2.innslag\r\n).minus(satser.trinnskatt.trinn_1.innslag);\r\n\r\nsatser.trinnskatt.trinn_2.storrelse = +Big(\r\n satser.trinnskatt.trinn_3.innslag\r\n).minus(satser.trinnskatt.trinn_2.innslag);\r\n\r\nsatser.trinnskatt.trinn_3.storrelse = +Big(\r\n satser.trinnskatt.trinn_4.innslag\r\n).minus(satser.trinnskatt.trinn_3.innslag);\r\n\r\nsatser.trinnskatt.trinn_4.storrelse = +Big(\r\n satser.trinnskatt.trinn_5.innslag\r\n).minus(satser.trinnskatt.trinn_4.innslag);\r\n\r\nsatser.bruttolonn.under_resultatbonus = +Big(satser.grunnbelop_i_folketryden)\r\n .times(satser.terskel_innslag_resultatbonus)\r\n .times(satser.faktor.lonn_inkl_fp_og_bonus_under);\r\n\r\nsatser.bruttolonn.G6 = +Big(satser.grunnbelop_i_folketryden).times(6);\r\nsatser.bruttolonn.G7_1 = +Big(satser.grunnbelop_i_folketryden).times(7.1);\r\nsatser.bruttolonn.G12 = +Big(satser.grunnbelop_i_folketryden).times(12);\r\n\r\nsatser.innslagspunkt_for_bonus = +Big(satser.grunnbelop_i_folketryden).times(\r\n satser.terskel_innslag_resultatbonus\r\n);\r\n\r\nsatser.forsikring_maks_pris_AS = +Big(satser.bruttolonn.G6).times(\r\n satser.forsikring_ansvar_sats_AS\r\n);\r\n\r\nsatser.pensjon.vippepunkt_hoy_sats = +Big(satser.bruttolonn.G7_1)\r\n .div(0.700038)\r\n .div(1.12);\r\n\r\nsatser.innslagspunkt_for_bonus_brutto_FP_sats = +Big(2).div(78.4);\r\n\r\nsatser.faktor.lonn_inkl_fp_under_7_1G = +Big(1)\r\n .div(1.141)\r\n .div(1.034)\r\n .times(1 + satser.innslagspunkt_for_bonus_brutto_FP_sats)\r\n .times(0.925);\r\n\r\nsatser.faktor.lonn_inkl_fp_fra_7_1G_til_12G = +Big(1)\r\n .div(1.141)\r\n .div(1.215)\r\n .times(1 + satser.innslagspunkt_for_bonus_brutto_FP_sats)\r\n .times(0.925);\r\n\r\nsatser.faktor.lonn_inkl_fp_over_12G = +Big(1)\r\n .div(1.141)\r\n .times(1 + satser.innslagspunkt_for_bonus_brutto_FP_sats)\r\n .times(0.925);\r\n\r\nsatser.innslagspunkt_for_bonus_brutto_FP = +Big(\r\n satser.innslagspunkt_for_bonus\r\n).times(satser.faktor.lonn_inkl_fp_og_bonus_under);\r\n\r\nsatser.bruttolonn.under_resultatbonus_foer_lonn = +Big(\r\n satser.grunnbelop_i_folketryden\r\n).times(satser.terskel_innslag_resultatbonus);\r\n\r\nsatser.bruttolonn.G6_foer_lonn = +Big(satser.bruttolonn.G6).div(\r\n satser.faktor.lonn_inkl_fp_under_7_1G\r\n);\r\n\r\nsatser.bruttolonn.G7_1_foer_lonn = +Big(satser.bruttolonn.G7_1).div(\r\n satser.faktor.lonn_inkl_fp_under_7_1G\r\n);\r\n\r\nsatser.bruttolonn.G12_foer_lonn = +Big(satser.bruttolonn.G7_1_foer_lonn).plus(\r\n Big(Big(satser.bruttolonn.G12).minus(satser.bruttolonn.G7_1)).div(\r\n satser.faktor.lonn_inkl_fp_fra_7_1G_til_12G\r\n )\r\n);\r\n\r\nsatser.eget_AS.bruttolonn.G7_1 = satser.bruttolonn.G7_1;\r\nsatser.eget_AS.bruttolonn.G12 = satser.bruttolonn.G12;\r\n\r\nsatser.eget_AS.bruttolonn.G7_1_foer_lonn = +Big(\r\n satser.eget_AS.bruttolonn.G7_1\r\n).div(satser.eget_AS.faktor.lonn_inkl_fp_under_7_1_G);\r\n\r\nsatser.eget_AS.bruttolonn.G12_foer_lonn = +Big(\r\n satser.eget_AS.bruttolonn.G7_1_foer_lonn\r\n).plus(\r\n Big(\r\n Big(satser.eget_AS.bruttolonn.G12).minus(satser.eget_AS.bruttolonn.G7_1)\r\n ).div(satser.eget_AS.faktor.lonn_inkl_fp_fra_7_1G_til_12G)\r\n);\r\n\r\nexport default satser;\r\n","export const currency = new Intl.NumberFormat(\"no\", {\n style: \"currency\",\n currency: \"NOK\",\n maximumFractionDigits: 0,\n minimumFractionDigits: 0,\n});\n\nexport const chartColors = {\n blue: \"#009ade\",\n yellow: \"#f2c349\",\n green: \"#3fbb9b\",\n purple: \"#b1a3bf\",\n};\n","import React from \"react\";\nimport styles from \"./AmountRow.module.css\";\nimport { currency } from \"../../lib/common\";\n\n/**\n * This is a component used to display a simple text row consisting of a text label and an amount.\n * It can display an additional checkbox next to the amount used to disable/enable the amount.\n * This is useful for including/excluding values from the calculations.\n * It also accepts children that display next to name.\n * This is currently used to pass in info buttons.\n **/\n\nconst AmountRow = ({\n name,\n amount,\n isFinalAmount,\n className,\n children,\n withCheckbox,\n onCheckboxClick,\n checkBoxState,\n checkBoxLabel,\n}) => {\n return (\n \n {name && (\n \n {name}\n {children}\n \n )}\n\n \n \n {typeof amount === \"number\" ? currency.format(amount) : amount}\n \n\n {withCheckbox && (\n \n )}\n \n

\n );\n};\n\nexport default AmountRow;\n","import React from \"react\";\nimport styles from \"./ShowDetailsButton.module.css\";\n\nconst ShowDetailsButton = ({ isDetailViewOpen, handleClick }) => {\n return (\n handleClick((prev) => !prev)}\n title=\"Vis detaljer\"\n >\n {isDetailViewOpen ? \"Skjul detaljer «\" : \"Vis detaljer »\"}\n \n );\n};\n\nexport default ShowDetailsButton;\n","import React from \"react\";\nimport { VictoryLabel, VictoryPie } from \"victory\";\nimport { currency } from \"../../lib/common\";\nimport styles from \"./PieChart.module.css\";\n\nconst PieChart = ({ data }) => {\n const filteredData = data.filter((item) => item.y > 0);\n\n const totalAmount = filteredData.reduce((accumulator, value) => {\n return accumulator + value.y;\n }, 0);\n\n const getLabel = (datum, totalAmount) => {\n return [\n datum.x,\n `${\n (datum.y * 100) / totalAmount > 100 || (datum.y * 100) / totalAmount < 0\n ? 100\n : Math.round((datum.y / totalAmount) * 10000) / 100\n }%`,\n ];\n };\n\n return (\n
\n datum.color,\n },\n }}\n height={320}\n padding={{ top: 0, right: 107, bottom: 0, left: 107 }}\n labelComponent={}\n labels={({ datum }) => getLabel(datum, totalAmount)}\n innerRadius={50}\n labelRadius={105}\n events={[\n {\n target: \"data\",\n eventHandlers: {\n onMouseOver: () => {\n return [\n {\n target: \"data\",\n mutation: () => ({ style: { fill: \"#ccc\" } }),\n },\n {\n target: \"labels\",\n mutation: () => ({\n active: true,\n text: ({ datum }) => currency.format(datum.y),\n backgroundStyle: {\n fill: \"#fff\",\n opacity: 0.9,\n },\n backgroundPadding: 10,\n style: {\n fill: \"#333\",\n fontFamily: \"inherit\",\n fontSize: 16,\n },\n }),\n },\n ];\n },\n onMouseOut: () => {\n return [\n {\n target: \"data\",\n mutation: () => {},\n },\n { target: \"labels\", mutation: () => ({ active: false }) },\n ];\n },\n },\n },\n ]}\n />\n
\n );\n};\n\nexport default PieChart;\n","import React from \"react\";\n\nexport const ChevronIcon = ({ className }) => (\n \n \n \n \n);\n\nexport const InfoIcon = ({ className }) => (\n \n \n \n \n \n);\n","import React from \"react\";\nimport { InfoIcon } from \"./Icons\";\nimport styles from \"./InfoButton.module.css\";\n\nconst InfoButton = ({ displayModal, infoText }) => {\n return (\n <>\n displayModal(infoText)}\n >\n \n \n \n );\n};\n\nexport default InfoButton;\n","import React, { useState } from \"react\";\r\nimport styles from \"./Enk.module.css\";\r\nimport satser from \"../lib/satser_2024\";\r\nimport Big from \"big.js\";\r\nimport AmountRow from \"./Blocks/AmountRow\";\r\nimport ShowDetailsButton from \"./Blocks/ShowDetailsButton\";\r\nimport PieChart from \"./Charts/PieChart\";\r\nimport { chartColors } from \"../lib/common\";\r\nimport InfoButton from \"./Blocks/InfoButton\";\r\n\r\nconst Enk = ({\r\n overskudd_i_naering,\r\n lonnsintekt_andre_arb_giv,\r\n employTotal,\r\n className,\r\n displayModal,\r\n}) => {\r\n const [forsikring, setForsikring] = useState(-15000);\r\n const [adm_regnskap, setAdm_regnskap] = useState(-15000);\r\n\r\n const [isForsikringEnabled, setIsForsikringEnabled] = useState(true);\r\n const [isAdm_RegnskapEnabled, setIsAdm_RegnskapEnabled] = useState(true);\r\n const [isSykelonnEnabled, setIsSykelonnEnabled] = useState(true);\r\n const [isDetailViewOpen, setIsDetailViewOpen] = useState(false);\r\n\r\n //\r\n // CALCULATIONS\r\n //\r\n\r\n const overskudd_i_naering_etter_kostnader = +Big(overskudd_i_naering)\r\n .plus(isForsikringEnabled ? +forsikring : 0)\r\n .plus(isAdm_RegnskapEnabled ? +adm_regnskap : 0);\r\n\r\n const sykelonn =\r\n +Big(overskudd_i_naering_etter_kostnader).times(\r\n satser.tillegstrygd_sykepenger_NAV\r\n ) > +Big(satser.bruttolonn.G6).times(satser.tillegstrygd_sykepenger_NAV)\r\n ? +Big(satser.bruttolonn.G6).times(\r\n +Big(0).minus(satser.tillegstrygd_sykepenger_NAV)\r\n )\r\n : +Big(overskudd_i_naering_etter_kostnader).times(\r\n +Big(0).minus(satser.tillegstrygd_sykepenger_NAV)\r\n );\r\n\r\n const overskudd_for_pensjon = +Big(overskudd_i_naering)\r\n .plus(isForsikringEnabled ? +forsikring : 0)\r\n .plus(isAdm_RegnskapEnabled ? +adm_regnskap : 0)\r\n .plus(isSykelonnEnabled ? sykelonn : 0);\r\n\r\n const lonnsintekt = lonnsintekt_andre_arb_giv;\r\n\r\n const pensjon_grunnlag =\r\n overskudd_for_pensjon > satser.bruttolonn.G12\r\n ? +Big(satser.bruttolonn.G12).minus(satser.grunnbelop_i_folketryden)\r\n : overskudd_for_pensjon < satser.grunnbelop_i_folketryden\r\n ? 0\r\n : +Big(overskudd_for_pensjon).minus(satser.grunnbelop_i_folketryden);\r\n\r\n const pensjon_sum = +Big(pensjon_grunnlag).times(\r\n satser.pensjon.skattesats_ENK\r\n );\r\n\r\n const naeringsinntekt = +Big(overskudd_i_naering)\r\n .plus(isForsikringEnabled ? +forsikring : 0)\r\n .plus(isAdm_RegnskapEnabled ? +adm_regnskap : 0)\r\n .plus(isSykelonnEnabled ? sykelonn : 0)\r\n .minus(pensjon_sum);\r\n\r\n const sum_inntekt = +Big(lonnsintekt).plus(naeringsinntekt);\r\n\r\n const alminnelig_inntekt = +Big(lonnsintekt).plus(naeringsinntekt);\r\n\r\n const minstefradrag_helper = +Big(lonnsintekt).times(\r\n satser.minstefradrag_lonn.sats\r\n );\r\n\r\n const minstefradrag =\r\n lonnsintekt < 31800\r\n ? lonnsintekt\r\n : minstefradrag_helper < 31800\r\n ? 31800\r\n : minstefradrag_helper < satser.minstefradrag_lonn.ovre_grense\r\n ? minstefradrag_helper\r\n : satser.minstefradrag_lonn.ovre_grense;\r\n\r\n const grunnlag_skatt = +Big(sum_inntekt).minus(minstefradrag);\r\n\r\n const full_trygdeavgift_lonn = +Big(lonnsintekt).times(\r\n satser.trygdeavgift.lonnsinntekt\r\n );\r\n\r\n const full_trygdeavgift_naering = +Big(naeringsinntekt).times(\r\n satser.trygdeavgift.naeringsinntekt\r\n );\r\n\r\n const sum_full_trygdeavgift = +Big(full_trygdeavgift_lonn).plus(\r\n full_trygdeavgift_naering\r\n );\r\n\r\n const grunnlag_trygdeavgift =\r\n +Big(sum_inntekt).minus(satser.trygdeavgift.nedre_grense_for_trygdeavgift) <\r\n 0\r\n ? 0\r\n : +Big(sum_inntekt).minus(\r\n satser.trygdeavgift.nedre_grense_for_trygdeavgift\r\n );\r\n\r\n const trygdeavgift_25p_av_belop_over_nedre_grense = +Big(\r\n grunnlag_trygdeavgift\r\n ).times(satser.trygdeavgift.maks_av_grunnlaget);\r\n\r\n const trygdeavgift_beregning =\r\n naeringsinntekt > satser.trygdeavgift.nedre_grense_for_trygdeavgift\r\n ? +Big(naeringsinntekt).times(satser.trygdeavgift.naeringsinntekt)\r\n : 0;\r\n\r\n const trygdeavgift_naering =\r\n trygdeavgift_beregning > trygdeavgift_25p_av_belop_over_nedre_grense\r\n ? trygdeavgift_25p_av_belop_over_nedre_grense\r\n : trygdeavgift_beregning;\r\n\r\n const trygdeavgift_lonn =\r\n trygdeavgift_25p_av_belop_over_nedre_grense < trygdeavgift_beregning\r\n ? 0\r\n : sum_full_trygdeavgift > trygdeavgift_25p_av_belop_over_nedre_grense\r\n ? +Big(trygdeavgift_25p_av_belop_over_nedre_grense).minus(\r\n trygdeavgift_naering\r\n )\r\n : full_trygdeavgift_lonn;\r\n\r\n const personfradrag =\r\n +Big(sum_inntekt).minus(minstefradrag_helper) <\r\n satser.personfradrag.klasse_1\r\n ? +Big(sum_inntekt).minus(+Big(trygdeavgift_lonn).times(0.44))\r\n : satser.personfradrag.klasse_1;\r\n\r\n const sum_nettoinntekt = +Big(sum_inntekt)\r\n .minus(minstefradrag)\r\n .minus(personfradrag);\r\n\r\n const skatt_alminnelig_inntekt =\r\n personfradrag >= satser.personfradrag.klasse_1\r\n ? +Big(satser.skatt_alminnelig_inntekt).times(sum_nettoinntekt)\r\n : 0;\r\n\r\n const trinnskatt_over_innslagspunkt = (trinn) =>\r\n +Big(sum_inntekt).minus(satser.trinnskatt[`trinn_${trinn}`].innslag);\r\n\r\n const trinnskatt_lonn_innenfor_trinn = (trinn) =>\r\n trinnskatt_over_innslagspunkt(trinn) >\r\n satser.trinnskatt[`trinn_${trinn}`].storrelse\r\n ? satser.trinnskatt[`trinn_${trinn}`].storrelse\r\n : trinnskatt_over_innslagspunkt(trinn);\r\n\r\n const trinnskatt_beregning = (trinn) =>\r\n +Big(trinnskatt_lonn_innenfor_trinn(trinn)).times(\r\n satser.trinnskatt[`trinn_${trinn}`].sats\r\n );\r\n\r\n const trinnskatt_for_trinn = (trinn) =>\r\n trinnskatt_beregning(trinn) >= 1 ? trinnskatt_beregning(trinn) : 0;\r\n\r\n const trinnskatt_sum = +Big(trinnskatt_for_trinn(1))\r\n .plus(trinnskatt_for_trinn(2))\r\n .plus(trinnskatt_for_trinn(3))\r\n .plus(trinnskatt_for_trinn(4));\r\n\r\n const inntektsskatt_beregning = +Big(trygdeavgift_lonn)\r\n .plus(trygdeavgift_naering)\r\n .plus(skatt_alminnelig_inntekt)\r\n .plus(trinnskatt_sum);\r\n\r\n const inntektsskatt =\r\n inntektsskatt_beregning > 0 ? inntektsskatt_beregning : 0;\r\n\r\n const inntektsskatt_sats = +Big(inntektsskatt_beregning).div(\r\n alminnelig_inntekt >= 1 ? alminnelig_inntekt : 1\r\n );\r\n\r\n const netto = +Big(alminnelig_inntekt).minus(inntektsskatt).plus(pensjon_sum);\r\n\r\n const admin_kostnader = +Big(\r\n Big(isForsikringEnabled ? +forsikring : 0)\r\n .plus(isAdm_RegnskapEnabled ? +adm_regnskap : 0)\r\n .plus(isSykelonnEnabled ? sykelonn : 0)\r\n ).times(-1);\r\n\r\n const differanse_per_ar = +Big(netto).minus(employTotal);\r\n const differanse_per_maaned = +Big(differanse_per_ar).div(12);\r\n\r\n //\r\n // RENDER\r\n //\r\n\r\n return (\r\n
\r\n

ENKELTPERSONFORETAK

\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n {/* SHOW DETAILS */}\r\n\r\n \r\n\r\n {isDetailViewOpen && (\r\n
\r\n

Driftskostnader

\r\n\r\n
\r\n \r\n\r\n
\r\n setForsikring(e.target.value)}\r\n disabled={!isForsikringEnabled}\r\n max={0}\r\n />\r\n setIsForsikringEnabled((prev) => !prev)}\r\n title=\"Kryss av for å inkludere forsikring i beregninger\"\r\n />\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n setAdm_regnskap(e.target.value)}\r\n disabled={!isAdm_RegnskapEnabled}\r\n max={0}\r\n />\r\n setIsAdm_RegnskapEnabled((prev) => !prev)}\r\n title=\"Kryss av for å inkludere administrasjon og regnskap i beregninger\"\r\n />\r\n
\r\n
\r\n\r\n setIsSykelonnEnabled((prev) => !prev)}\r\n checkBoxLabel=\"Kryss av for å inkludere sykepenger i beregninger\"\r\n />\r\n\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n\r\n \r\n \r\n \r\n \r\n\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n )}\r\n\r\n {/* CHART */}\r\n\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default Enk;\r\n","import React, { useState } from \"react\";\nimport styles from \"./As.module.css\";\nimport satser from \"../lib/satser_2024\";\nimport Big from \"big.js\";\nimport AmountRow from \"./Blocks/AmountRow\";\nimport ShowDetailsButton from \"./Blocks/ShowDetailsButton\";\nimport PieChart from \"./Charts/PieChart\";\nimport { chartColors } from \"../lib/common\";\nimport InfoButton from \"./Blocks/InfoButton\";\n\nconst As = ({\n overskudd_i_naering,\n lonnsintekt_andre_arb_giv,\n employTotal,\n className,\n displayModal,\n}) => {\n const [forsikring, setForsikring] = useState(-15000);\n const [adm_regnskap, setAdm_regnskap] = useState(-30000);\n\n const [isForsikringEnabled, setIsForsikringEnabled] = useState(true);\n const [isAdm_RegnskapEnabled, setIsAdm_RegnskapEnabled] = useState(true);\n const [isSykelonnEnabled, setIsSykelonnEnabled] = useState(true);\n const [isDetailViewOpen, setIsDetailViewOpen] = useState(false);\n\n //\n // CALCULATIONS\n //\n\n const sykelonn = +Big(\n Big(\n Big(overskudd_i_naering)\n .plus(isForsikringEnabled ? +forsikring : 0)\n .plus(isAdm_RegnskapEnabled ? +adm_regnskap : 0)\n )\n .times(satser.eget_AS.faktor.lonn_inkl_fp_under_7_1_G)\n .times(satser.forsikring_ansvar_sats_AS) > satser.forsikring_maks_pris_AS\n ? satser.forsikring_maks_pris_AS\n : Big(\n Big(overskudd_i_naering)\n .plus(isForsikringEnabled ? +forsikring : 0)\n .plus(isAdm_RegnskapEnabled ? +adm_regnskap : 0)\n )\n .times(satser.eget_AS.faktor.lonn_inkl_fp_under_7_1_G)\n .times(satser.forsikring_ansvar_sats_AS)\n ).times(-1);\n\n const overskudd_etter_kostnader = +Big(overskudd_i_naering)\n .plus(isForsikringEnabled ? +forsikring : 0)\n .plus(isAdm_RegnskapEnabled ? +adm_regnskap : 0)\n .plus(isSykelonnEnabled ? sykelonn : 0);\n\n const bruttolonn_under_7_1G =\n overskudd_etter_kostnader > satser.eget_AS.bruttolonn.G7_1_foer_lonn\n ? +Big(satser.eget_AS.bruttolonn.G7_1_foer_lonn).times(\n satser.eget_AS.faktor.lonn_inkl_fp_under_7_1_G\n )\n : +Big(overskudd_etter_kostnader).times(\n satser.eget_AS.faktor.lonn_inkl_fp_under_7_1_G\n );\n\n const bruttolonn_under_7_1G_pensjon = +Big(bruttolonn_under_7_1G).times(\n satser.pensjon.lav_sats\n );\n\n const bruttolonn_mellom_7_1G_12G =\n overskudd_etter_kostnader < satser.eget_AS.bruttolonn.G7_1_foer_lonn\n ? 0\n : overskudd_etter_kostnader > satser.eget_AS.bruttolonn.G12_foer_lonn\n ? +Big(satser.eget_AS.bruttolonn.G12).minus(\n satser.eget_AS.bruttolonn.G7_1\n )\n : +Big(\n Big(overskudd_etter_kostnader).minus(\n satser.eget_AS.bruttolonn.G7_1_foer_lonn\n )\n ).times(satser.eget_AS.faktor.lonn_inkl_fp_fra_7_1G_til_12G);\n\n const bruttolonn_mellom_7_1G_12G_pensjon = +Big(\n bruttolonn_mellom_7_1G_12G\n ).times(satser.pensjon.hoy_sats);\n\n const bruttolonn_over_12G =\n overskudd_etter_kostnader < satser.eget_AS.bruttolonn.G12_foer_lonn\n ? 0\n : +Big(\n Big(overskudd_etter_kostnader).minus(\n satser.eget_AS.bruttolonn.G12_foer_lonn\n )\n ).times(satser.eget_AS.faktor.lonn_inkl_fp_over_12G);\n\n const bruttolonn_over_12G_pensjon = 0;\n\n const bruttolonn_sum = +Big(bruttolonn_under_7_1G)\n .plus(bruttolonn_mellom_7_1G_12G)\n .plus(bruttolonn_over_12G);\n\n const bruttolonn_sum_pensjon = +Big(bruttolonn_under_7_1G_pensjon)\n .plus(bruttolonn_mellom_7_1G_12G_pensjon)\n .plus(bruttolonn_over_12G_pensjon);\n\n const pensjonssparing = bruttolonn_sum_pensjon;\n\n const lonnsinntekt_eget_as = bruttolonn_sum;\n\n const grunnlag_AGA = +Big(bruttolonn_sum_pensjon).plus(lonnsinntekt_eget_as);\n\n const sum_inntekt = +Big(lonnsinntekt_eget_as).plus(\n lonnsintekt_andre_arb_giv\n );\n\n const minstefradrag_helper = +Big(sum_inntekt).times(\n satser.minstefradrag_lonn.sats\n );\n\n const minstefradrag =\n minstefradrag_helper <\n satser.minstefradrag_lonn.saerskilt_fradrag_arbeidsinntekt\n ? sum_inntekt\n : minstefradrag_helper > satser.minstefradrag_lonn.ovre_grense\n ? satser.minstefradrag_lonn.ovre_grense\n : minstefradrag_helper;\n\n const grunnlag_skatt = +Big(sum_inntekt).minus(minstefradrag);\n\n const personfradrag =\n +Big(sum_inntekt).minus(minstefradrag_helper) <\n satser.personfradrag.klasse_1\n ? 0\n : satser.personfradrag.klasse_1;\n\n const alminnelig_inntekt = +Big(sum_inntekt)\n .minus(minstefradrag)\n .minus(personfradrag);\n\n const trygdeavgift_grunnlag =\n +Big(sum_inntekt).minus(satser.trygdeavgift.nedre_grense_for_trygdeavgift) >\n 0\n ? +Big(sum_inntekt).minus(\n satser.trygdeavgift.nedre_grense_for_trygdeavgift\n )\n : 0;\n\n const trygdeavgift_25p_av_belop_over_nedre_grense = +Big(\n trygdeavgift_grunnlag\n ).times(satser.trygdeavgift.maks_av_grunnlaget);\n\n const trygdeavgift_beregning =\n sum_inntekt > satser.trygdeavgift.nedre_grense_for_trygdeavgift\n ? +Big(sum_inntekt).times(satser.trygdeavgift.lonnsinntekt)\n : 0;\n\n const trygdeavgift_lonn =\n trygdeavgift_beregning > trygdeavgift_25p_av_belop_over_nedre_grense\n ? trygdeavgift_25p_av_belop_over_nedre_grense\n : trygdeavgift_beregning;\n\n const skatt_alminnelig_inntekt =\n personfradrag < satser.personfradrag.klasse_1\n ? 0\n : +Big(alminnelig_inntekt).times(satser.skatt_alminnelig_inntekt);\n\n const trinnskatt_over_innslagspunkt = (trinn) =>\n +Big(sum_inntekt).minus(satser.trinnskatt[`trinn_${trinn}`].innslag);\n\n const trinnskatt_lonn_innenfor_trinn = (trinn) =>\n trinnskatt_over_innslagspunkt(trinn) >\n satser.trinnskatt[`trinn_${trinn}`].storrelse\n ? satser.trinnskatt[`trinn_${trinn}`].storrelse\n : trinnskatt_over_innslagspunkt(trinn);\n\n const trinnskatt_beregning = (trinn) =>\n +Big(trinnskatt_lonn_innenfor_trinn(trinn)).times(\n satser.trinnskatt[`trinn_${trinn}`].sats\n );\n\n const trinnskatt_for_trinn = (trinn) =>\n trinnskatt_beregning(trinn) >= 1 ? trinnskatt_beregning(trinn) : 0;\n\n const trinnskatt_sum = +Big(trinnskatt_for_trinn(1))\n .plus(trinnskatt_for_trinn(2))\n .plus(trinnskatt_for_trinn(3))\n .plus(trinnskatt_for_trinn(4));\n\n const skatt_lonnskostnader_AGA = +Big(grunnlag_AGA).times(0.141);\n\n const inntektsskatt_beregning = +Big(trygdeavgift_lonn)\n .plus(skatt_alminnelig_inntekt)\n .plus(trinnskatt_sum);\n\n const inntektsskatt_sats = +Big(inntektsskatt_beregning).div(\n sum_inntekt >= 1 ? sum_inntekt : 1\n );\n\n const inntektsskatt =\n inntektsskatt_beregning > 0 ? inntektsskatt_beregning : 0;\n\n const sum_skatt_inkl_AGA = +Big(inntektsskatt).plus(skatt_lonnskostnader_AGA);\n\n const netto = +Big(sum_inntekt)\n .minus(inntektsskatt_beregning)\n .plus(pensjonssparing);\n\n const admin_kostnader = +Big(\n Big(isForsikringEnabled ? +forsikring : 0)\n .plus(isAdm_RegnskapEnabled ? +adm_regnskap : 0)\n .plus(isSykelonnEnabled ? sykelonn : 0)\n ).times(-1);\n\n const aga_kostnader = +Big(lonnsinntekt_eget_as).times(0.141);\n\n const differanse_per_ar = +Big(netto).minus(employTotal);\n const differanse_per_maaned = +Big(differanse_per_ar).div(12);\n\n //\n // RENDER\n //\n\n return (\n
\n

EGET AS

\n\n \n \n \n \n \n\n {/* SHOW DETAILS */}\n\n \n\n {isDetailViewOpen && (\n
\n

Driftskostnader

\n\n
\n \n
\n setForsikring(e.target.value)}\n disabled={!isForsikringEnabled}\n max={0}\n />\n setIsForsikringEnabled((prev) => !prev)}\n title=\"Kryss av for å inkludere forsikring i beregninger\"\n />\n
\n
\n\n
\n \n
\n setAdm_regnskap(e.target.value)}\n disabled={!isAdm_RegnskapEnabled}\n max={0}\n />\n setIsAdm_RegnskapEnabled((prev) => !prev)}\n title=\"Kryss av for å inkludere administrasjon og regnskap i beregninger\"\n />\n
\n
\n\n setIsSykelonnEnabled((prev) => !prev)}\n checkBoxLabel=\"Kryss av for å inkludere sykelønn i beregninger\"\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 {/* CHART */}\n\n \n
\n );\n};\n\nexport default As;\n","import React, { useState, useEffect } from \"react\";\nimport styles from \"./Employ.module.css\";\nimport satser from \"../lib/satser_2024\";\nimport Big from \"big.js\";\nimport AmountRow from \"./Blocks/AmountRow\";\nimport ShowDetailsButton from \"./Blocks/ShowDetailsButton\";\nimport PieChart from \"./Charts/PieChart\";\nimport { chartColors } from \"../lib/common\";\nimport InfoButton from \"./Blocks/InfoButton\";\n\nconst Employ = ({\n overskudd_i_naering,\n lonnsintekt_andre_arb_giv,\n overskudd_etter_maanedspris,\n handleTotalAmountChange,\n className,\n displayModal,\n}) => {\n const [isDetailViewOpen, setIsDetailViewOpen] = useState(false);\n\n useEffect(() => {\n handleTotalAmountChange(netto);\n });\n\n //\n // CALCULATIONS\n //\n\n const bruttolonn_under_bonus =\n overskudd_etter_maanedspris >\n satser.bruttolonn.under_resultatbonus_foer_lonn\n ? +Big(satser.bruttolonn.under_resultatbonus_foer_lonn).times(\n satser.faktor.lonn_inkl_fp_og_bonus_under\n )\n : +Big(overskudd_etter_maanedspris).times(\n satser.faktor.lonn_inkl_fp_og_bonus_under\n );\n\n const bruttolonn_under_bonus_pensjon = +Big(bruttolonn_under_bonus).times(\n satser.pensjon.lav_sats\n );\n\n const bruttolonn_mellom_bonus_7_1G =\n overskudd_etter_maanedspris > satser.bruttolonn.G7_1_foer_lonn\n ? +Big(satser.bruttolonn.G7_1).minus(bruttolonn_under_bonus)\n : overskudd_etter_maanedspris <\n satser.bruttolonn.under_resultatbonus_foer_lonn\n ? 0\n : +Big(\n Big(overskudd_etter_maanedspris).minus(\n satser.bruttolonn.under_resultatbonus_foer_lonn\n )\n ).times(satser.faktor.lonn_inkl_fp_under_7_1G);\n\n const bruttolonn_mellom_bonus_7_1G_pensjon = +Big(\n bruttolonn_mellom_bonus_7_1G\n ).times(satser.pensjon.lav_sats);\n\n const bruttolonn_mellom_7_1G_12G =\n overskudd_etter_maanedspris > satser.bruttolonn.G12_foer_lonn\n ? +Big(satser.bruttolonn.G12)\n .minus(bruttolonn_mellom_bonus_7_1G)\n .minus(bruttolonn_under_bonus)\n : overskudd_etter_maanedspris < satser.bruttolonn.G7_1_foer_lonn\n ? 0\n : +Big(\n Big(overskudd_etter_maanedspris).minus(\n satser.bruttolonn.G7_1_foer_lonn\n )\n ).times(satser.faktor.lonn_inkl_fp_fra_7_1G_til_12G);\n\n const bruttolonn_mellom_7_1G_12G_pensjon = +Big(\n bruttolonn_mellom_7_1G_12G\n ).times(satser.pensjon.hoy_sats);\n\n const bruttolonn_over_12G =\n overskudd_etter_maanedspris < satser.bruttolonn.G12_foer_lonn\n ? 0\n : +Big(\n Big(overskudd_etter_maanedspris).minus(\n satser.bruttolonn.G12_foer_lonn\n )\n ).times(satser.faktor.lonn_inkl_fp_over_12G);\n\n const bruttolonn_sum = +Big(bruttolonn_under_bonus)\n .plus(bruttolonn_mellom_bonus_7_1G)\n .plus(bruttolonn_mellom_7_1G_12G)\n .plus(bruttolonn_over_12G);\n\n const lonnsinntekt_employ = bruttolonn_sum;\n\n const sum_inntekt = +Big(lonnsinntekt_employ).plus(lonnsintekt_andre_arb_giv);\n\n const pensjon_sum = +Big(bruttolonn_under_bonus_pensjon)\n .plus(bruttolonn_mellom_bonus_7_1G_pensjon)\n .plus(bruttolonn_mellom_7_1G_12G_pensjon);\n\n const grunnlag_AGA = +Big(pensjon_sum).plus(lonnsinntekt_employ);\n\n const minstefradrag_helper = +Big(sum_inntekt).times(\n satser.minstefradrag_lonn.sats\n );\n\n const minstefradrag =\n minstefradrag_helper <\n satser.minstefradrag_lonn.saerskilt_fradrag_arbeidsinntekt\n ? sum_inntekt\n : minstefradrag_helper > satser.minstefradrag_lonn.ovre_grense\n ? satser.minstefradrag_lonn.ovre_grense\n : minstefradrag_helper;\n\n const grunnlag_skatt = +Big(sum_inntekt).minus(minstefradrag);\n\n const personfradrag =\n +Big(sum_inntekt).minus(minstefradrag_helper) <\n satser.personfradrag.klasse_1\n ? 0\n : satser.personfradrag.klasse_1;\n\n const alminnelig_inntekt = +Big(sum_inntekt)\n .minus(minstefradrag)\n .minus(personfradrag);\n\n const trygdeavgift_grunnlag =\n +Big(sum_inntekt).minus(satser.trygdeavgift.nedre_grense_for_trygdeavgift) <\n 0\n ? 0\n : +Big(sum_inntekt).minus(\n satser.trygdeavgift.nedre_grense_for_trygdeavgift\n );\n\n const trygdeavgift_25p_av_belop_over_nedre_grense = +Big(\n trygdeavgift_grunnlag\n ).times(satser.trygdeavgift.maks_av_grunnlaget);\n\n const trygdeavgift_beregning =\n sum_inntekt > satser.trygdeavgift.nedre_grense_for_trygdeavgift\n ? +Big(sum_inntekt).times(satser.trygdeavgift.lonnsinntekt)\n : 0;\n\n const trygdeavgift_lonn =\n trygdeavgift_beregning > trygdeavgift_25p_av_belop_over_nedre_grense\n ? trygdeavgift_25p_av_belop_over_nedre_grense\n : trygdeavgift_beregning;\n\n const trygdeavgift_naering = 0;\n\n const skatt_alminnelig_inntekt =\n personfradrag < satser.personfradrag.klasse_1\n ? 0\n : +Big(satser.skatt_alminnelig_inntekt).times(alminnelig_inntekt);\n\n const trinnskatt_over_innslagspunkt = (trinn) =>\n +Big(sum_inntekt).minus(satser.trinnskatt[`trinn_${trinn}`].innslag);\n\n const trinnskatt_lonn_innenfor_trinn = (trinn) =>\n trinnskatt_over_innslagspunkt(trinn) >\n satser.trinnskatt[`trinn_${trinn}`].storrelse\n ? satser.trinnskatt[`trinn_${trinn}`].storrelse\n : trinnskatt_over_innslagspunkt(trinn);\n\n const trinnskatt_beregning = (trinn) =>\n +Big(trinnskatt_lonn_innenfor_trinn(trinn)).times(\n satser.trinnskatt[`trinn_${trinn}`].sats\n );\n\n const trinnskatt_for_trinn = (trinn) =>\n trinnskatt_beregning(trinn) >= 1 ? trinnskatt_beregning(trinn) : 0;\n\n const trinnskatt_sum = +Big(trinnskatt_for_trinn(1))\n .plus(trinnskatt_for_trinn(2))\n .plus(trinnskatt_for_trinn(3))\n .plus(trinnskatt_for_trinn(4));\n\n const pensjon_inkl_est_skatt_20 = +Big(pensjon_sum).times(\n Big(1).minus(satser.pensjon.skatt_uttak)\n );\n\n const skatt_lonnskostnader_AGA = +Big(grunnlag_AGA).times(0.141);\n\n const inntektsskatt_beregning = +Big(trygdeavgift_lonn)\n .plus(trygdeavgift_naering)\n .plus(skatt_alminnelig_inntekt)\n .plus(trinnskatt_sum);\n\n const inntektsskatt_sats = +Big(inntektsskatt_beregning).div(\n sum_inntekt !== 0 ? sum_inntekt : 1\n );\n\n const inntektsskatt =\n inntektsskatt_beregning > 0 ? inntektsskatt_beregning : 0;\n\n const sum_skatt_inkl_AGA = +Big(inntektsskatt).plus(skatt_lonnskostnader_AGA);\n\n const netto = +Big(sum_inntekt)\n .minus(inntektsskatt_beregning)\n .plus(pensjon_sum);\n\n const aga_kostnader = +Big(\n Big(bruttolonn_sum).plus(pensjon_inkl_est_skatt_20)\n ).times(0.141);\n\n const admin_kostnader = +Big(overskudd_i_naering)\n .plus(lonnsintekt_andre_arb_giv)\n .minus(netto)\n .minus(inntektsskatt_beregning)\n .minus(aga_kostnader);\n\n //\n // RENDER\n //\n\n return (\n
\n

EMPLOY

\n\n \n \n \n\n {/* SHOW DETAILS */}\n\n \n\n {isDetailViewOpen && (\n
\n

Driftskostnader

\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 {/* CHART */}\n\n \n
\n );\n};\n\nexport default Employ;\n","import React from \"react\";\nimport styles from \"./Slider.module.css\";\nimport { Range } from \"react-range\";\n\nconst Slider = ({ value, handleChange }) => {\n return (\n
\n handleChange(e)}\n renderTrack={({ props, children }) => (\n
\n {children}\n
\n )}\n renderThumb={({ props }) => (\n \n )}\n />\n
\n );\n};\n\nexport default Slider;\n","import React from \"react\";\nimport styles from \"./BaseInputs.module.css\";\nimport InfoButton from \"./Blocks/InfoButton\";\nimport Slider from \"./Blocks/Slider\";\nimport { currency } from \"../lib/common\";\n\n/**\n * Container for the main inputs controlling the calculations\n */\n\nconst BaseInputs = ({\n lonnsintekt_andre_arb_giv,\n overskudd_i_naering,\n handleChangeLonnsintekt,\n handleChangeOverskudd,\n displayModal,\n}) => {\n return (\n
\n handleChangeOverskudd(input)}\n />\n\n
\n \n Overskudd i næring\n \n \n \n {currency.format(overskudd_i_naering)}\n \n
\n\n \n Lønnsinntekt fra andre arbeidsgivere\n {\n handleChangeLonnsintekt(parseInt(+e.target.value));\n }}\n inputMode=\"numeric\"\n />\n \n
\n );\n};\n\nexport default BaseInputs;\n","import React from \"react\";\nimport styles from \"./Modal.module.css\";\n\nconst Modal = ({ text, closeModal }) => {\n return (\n <>\n
\n
\n
\n

{text}

\n\n \n X\n \n
\n
\n \n );\n};\n\nexport default Modal;\n","import { useState } from \"react\";\nimport styles from \"./App.module.css\";\nimport Enk from \"./components/Enk\";\nimport As from \"./components/As\";\nimport Employ from \"./components/Employ\";\nimport BaseInputs from \"./components/BaseInputs\";\nimport Modal from \"./components/Blocks/Modal\";\n\nfunction App() {\n const [overskudd_i_naering, setOverskudd_i_naering] = useState(500000);\n const [lonnsintekt_andre_arb_giv, setLonnsintekt_andre_arb_giv] = useState(0);\n const [employTotal, setEmployTotal] = useState(0);\n const [isModalOpen, setIsModalOpen] = useState(false);\n const [modalText, setModalText] = useState(\"\");\n\n const maanedspris = 1500;\n const antall_aktive_maaneder = 12;\n const overskudd_etter_maanedspris =\n overskudd_i_naering - maanedspris * antall_aktive_maaneder;\n\n function handleDisplayModal(text) {\n setModalText(text);\n setIsModalOpen(true);\n }\n\n function handleCloseModal() {\n setIsModalOpen(false);\n }\n\n return (\n
\n \n\n setEmployTotal(value)}\n className={styles.calculations}\n displayModal={handleDisplayModal}\n />\n\n \n\n \n\n {isModalOpen && }\n
\n );\n}\n\nexport default App;\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport App from \"./App\";\n\nReactDOM.render(\n \n \n ,\n document.getElementById(\"employ-kalkulator\")\n);\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"Enk_container__2ZD4w\",\"slideIn\":\"Enk_slideIn__2Dfdm\",\"header\":\"Enk_header__1ZTcX\",\"details__container\":\"Enk_details__container__186Af\",\"dropdown-details\":\"Enk_dropdown-details__3pqzJ\",\"input__container\":\"Enk_input__container__3OJqm\",\"row__container\":\"Enk_row__container__27msy\",\"amount\":\"Enk_amount__1ueOA\",\"dropDown__button\":\"Enk_dropDown__button__1jNbu\",\"details\":\"Enk_details__4bfMn\",\"arrow\":\"Enk_arrow__TZHWT\",\"active\":\"Enk_active__2rPQu\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"As_container__1NHsM\",\"slideIn\":\"As_slideIn__3BcSq\",\"header\":\"As_header__1n2l5\",\"details__container\":\"As_details__container__3yP8s\",\"dropdown-details\":\"As_dropdown-details__2dB3h\",\"input__container\":\"As_input__container__115OY\",\"row__container\":\"As_row__container__2bP6G\",\"amount\":\"As_amount__2iR7n\",\"dropDown__button\":\"As_dropDown__button__1QHP4\",\"details\":\"As_details__3JS6G\",\"arrow\":\"As_arrow__3SC7x\",\"active\":\"As_active__8bRJK\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"Employ_container__4389d\",\"slideIn\":\"Employ_slideIn__1HVtP\",\"table\":\"Employ_table__NX3Rd\",\"header\":\"Employ_header__27tGT\",\"logo\":\"Employ_logo__1Dncc\",\"details__container\":\"Employ_details__container__3jPDI\",\"dropdown-details\":\"Employ_dropdown-details__-a5wA\",\"details__header\":\"Employ_details__header__3_rth\",\"bottomMargin\":\"Employ_bottomMargin__2-1Id\",\"dropDown__button\":\"Employ_dropDown__button__afrv1\",\"details\":\"Employ_details__7OySI\",\"arrow\":\"Employ_arrow__3qMn3\",\"active\":\"Employ_active__2eBXa\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"App_container__2Zt5d\",\"calculations\":\"App_calculations__nhiXv\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"BaseInputs_container__j5qR7\",\"slideIn\":\"BaseInputs_slideIn__1736v\",\"value__container\":\"BaseInputs_value__container__3cZgS\",\"amount\":\"BaseInputs_amount__2xZVi\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"modal__background\":\"Modal_modal__background__2IOtO\",\"modal__container\":\"Modal_modal__container__1f1mc\",\"fadeIn\":\"Modal_fadeIn__1DpBV\",\"modal__box\":\"Modal_modal__box__22-Ko\",\"close__button\":\"Modal_close__button__zNB6_\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"Slider_container__3LZQb\",\"track\":\"Slider_track__zh1IJ\",\"thumb\":\"Slider_thumb__eE-Kt\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"button\":\"ShowDetailsButton_button__FICK6\"};"],"sourceRoot":""}