{"version":3,"file":"static/chunks/965-3b7d7c9a41242b29.js","mappings":"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","sources":["webpack://_N_E/./src/components/container.ts","webpack://_N_E/./src/components/DefaultPageLayout.tsx","webpack://_N_E/./src/components/button/OutlinedButton.tsx","webpack://_N_E/./src/components/button/RoundButton.tsx","webpack://_N_E/./src/containers/RefundCalculatorContainer/RefundCalculatorPaymentDateSelect.tsx","webpack://_N_E/./src/components/table/PriceTable.tsx","webpack://_N_E/./src/containers/RefundCalculatorContainer/RefundCalculatorResult.tsx","webpack://_N_E/./src/containers/RefundCalculatorContainer/RefundCalculatorSangjoProductSelect.tsx","webpack://_N_E/./src/containers/RefundCalculatorContainer/RefundCalculatorSelect.tsx","webpack://_N_E/./src/hooks/useRefundCalculatorForm.ts","webpack://_N_E/./src/hooks/useRefundSangjoPrice.ts","webpack://_N_E/./src/hooks/useRefundSangjoTotalPrice.ts","webpack://_N_E/"],"sourcesContent":["import styled from \"@emotion/styled\";\nimport { colors } from \"goi_common\";\n\nexport const DefaultPageContainer = styled.div`\n padding: 24px 20px;\n color: ${colors.white};\n`;\n","import { ReactNode } from \"react\";\nimport { DefaultPageContainer } from \"./container\";\n\ninterface Props {\n children: ReactNode;\n title: string;\n}\n\nconst DefaultPageLayout = ({ children, title }: Props) => {\n return (\n \n

{title}

\n {children}\n
\n );\n};\n\nexport default DefaultPageLayout;\n","import { SerializedStyles, css } from \"@emotion/react\";\nimport styled from \"@emotion/styled\";\nimport { colors } from \"goi_common\";\nimport { HTMLAttributes } from \"react\";\n\ntype ButtonSize = \"small\" | \"medium\" | \"large\";\n\ninterface Props extends HTMLAttributes {\n size: ButtonSize;\n fullWidth?: boolean;\n}\n\nconst OutlinedButton = (props: Props) => {\n const { size, fullWidth, children, ...rest } = props;\n\n return (\n \n {children}\n \n );\n};\n\nexport default OutlinedButton;\n\nconst BUTTON_SIZE_STYLE: { [key in ButtonSize]: SerializedStyles } = {\n small: css`\n padding: 12px 16px;\n `,\n medium: css`\n padding: 18px 0;\n `,\n large: css`\n padding: 37px 0;\n `,\n};\n\ninterface StyledButtonProps {\n size: ButtonSize;\n}\n\nconst StyledButton = styled.button`\n ${(props) => BUTTON_SIZE_STYLE[props.size]};\n\n border: 1px solid ${colors.gray700};\n border-radius: 10px;\n\n ${(props) =>\n props.fullWidth &&\n css`\n width: 100%;\n `}\n`;\n","import { ColorIcon, colors } from \"goi_common\";\nimport { HTMLAttributes } from \"react\";\n\ninterface Props extends HTMLAttributes {\n showRightArrowIcon?: boolean;\n className?: string;\n}\n\nconst RoundButton = (props: Props) => {\n const { children, showRightArrowIcon, className = \"button_14_sb\", ...rest } = props;\n\n return (\n \n {children}\n {showRightArrowIcon && (\n \n )}\n \n );\n};\n\nexport default RoundButton;\n","import { ChangeEventHandler, useMemo } from \"react\";\nimport SANGJO_PRODUCTS from \"@/constants/grouped_sangjo_products.json\";\nimport RefundCalculatorSelect from \"./RefundCalculatorSelect\";\n\ninterface RefundCalculatorPaymentDateSelectProps {\n id: string;\n label: string;\n sangjoId: keyof typeof SANGJO_PRODUCTS | \"\";\n sangjoProductId: string;\n paymentsCount: string;\n onChange: ChangeEventHandler;\n}\n\nexport const RefundCalculatorPaymentDateSelect = ({\n id,\n label,\n sangjoId,\n sangjoProductId,\n paymentsCount,\n onChange,\n}: RefundCalculatorPaymentDateSelectProps) => {\n const sangjoProducts = sangjoId ? SANGJO_PRODUCTS[sangjoId] : [];\n\n const selectedSangjoProduct = sangjoProducts\n ? sangjoProducts.find((product) => product.id === Number(sangjoProductId))\n : undefined;\n\n const 비정기상조납입기간SelectItems = () => {\n const 납입기간배열 = selectedSangjoProduct?.비정기_납입기간\n .split(\"+\")\n .map((value) => Number(value.trim()));\n const total = 납입기간배열?.reduce((acc, cur) => (acc += cur));\n\n return Array.from({ length: Number(total) }, (_, index) => {\n const month = index + 1;\n\n return {\n text: month + \" 개월\",\n value: month,\n };\n });\n };\n\n const sangjoProductPaymentDateSelectItems = useMemo(() => {\n if (selectedSangjoProduct?.paymentType === \"정기형\") {\n return Array.from(\n { length: Number(selectedSangjoProduct?.totalPaymentDates) || 0 },\n (_, index) => {\n const month = index + 1;\n\n return {\n text: month + \" 개월\",\n value: month,\n };\n },\n );\n }\n\n if (selectedSangjoProduct?.paymentType === \"비정기형\") {\n return 비정기상조납입기간SelectItems();\n }\n }, [sangjoId, sangjoProductId]);\n\n return (\n \n );\n};\n","import { HStack, VStack, colors } from \"goi_common\";\n\ninterface Row {\n key: string;\n value: string;\n}\n\ninterface Props {\n header: Row;\n rows: Row[];\n}\n\nconst PriceTable = ({ header, rows }: Props) => {\n return (\n \n \n \n {header.key}\n {header.value}\n \n \n \n {rows.map((row) => (\n \n {row.key}\n {row.value}\n \n ))}\n \n \n );\n};\n\nexport default PriceTable;\n","import { Spacing } from \"goi_common\";\n\nimport PriceTable from \"@/components/table/PriceTable\";\n\ninterface RefundCalculatorResultProps {\n price?: number;\n}\n\nconst RefundCalculatorResult = ({ price = -1 }: RefundCalculatorResultProps) => {\n const tableHeader = {\n key: \"예상 환급 금액\",\n value: `${price?.toLocaleString()}원`,\n };\n\n const tableRows = [\n {\n key: \"* 위 금액은 실제 환급 금액과 다를 수 있습니다.\",\n value: \"\",\n },\n ];\n\n if (price >= 0) {\n return (\n <>\n \n \n \n \n );\n }\n\n return null;\n};\n\nexport default RefundCalculatorResult;\n","import { ChangeEventHandler } from \"react\";\nimport SANGJO_PRODUCTS from \"@/constants/grouped_sangjo_products.json\";\nimport RefundCalculatorSelect from \"./RefundCalculatorSelect\";\n\ninterface RefundCalculatorSangjoProductSelectProps {\n id: string;\n label: string;\n sangjoId: keyof typeof SANGJO_PRODUCTS | \"\";\n sangjoProductId: string;\n onChange: ChangeEventHandler;\n}\n\nexport const RefundCalculatorSangjoProductSelect = ({\n id,\n label,\n sangjoId,\n sangjoProductId,\n onChange,\n}: RefundCalculatorSangjoProductSelectProps) => {\n const sangjoProducts = sangjoId ? SANGJO_PRODUCTS[sangjoId] : [];\n\n const sangjoProductSelectItems = sangjoProducts\n ? Object.entries(sangjoProducts).map(([_, sangjoProduct]) => {\n const barIndex = sangjoProduct.productName.indexOf(\"-\");\n\n const parsingSangjoProductName =\n barIndex > -1\n ? sangjoProduct.productName.substring(0, barIndex)\n : sangjoProduct.productName;\n\n const parsingSangjoProductMonthPaymentPrice = sangjoProduct.monthPaymentPrice\n ? ` (월 ${Number(\n sangjoProduct.monthPaymentPrice.replaceAll(\",\", \"\"),\n ).toLocaleString()}원)`\n : \"\";\n\n return {\n text: parsingSangjoProductName + parsingSangjoProductMonthPaymentPrice,\n value: sangjoProduct.id,\n };\n })\n : undefined;\n\n return (\n \n );\n};\n","import { FormControl, TextField, MenuItem } from \"@mui/material\";\nimport { ChangeEventHandler, useEffect, useState } from \"react\";\n\ninterface CancellationCalculatorSelectProps {\n id: string;\n value?: string;\n label: string;\n onChange: ChangeEventHandler;\n items?: { text: string; value: number }[];\n}\n\nconst RefundCalculatorSelect = ({\n id,\n value,\n label,\n onChange,\n items,\n}: CancellationCalculatorSelectProps) => {\n return (\n \n \n {items?.map(({ value, text }) => (\n \n {text}\n \n ))}\n \n \n );\n};\n\nconst textFieldCSS = {\n \"& .MuiInputLabel-outlined\": {\n color: \"white\",\n },\n \"& .MuiOutlinedInput-root\": {\n color: \"white\",\n \"& .MuiOutlinedInput-notchedOutline\": {\n borderColor: \"white\",\n borderWidth: \"1px\",\n },\n },\n \"& .MuiSvgIcon-root\": {\n color: \"white\",\n },\n};\n\nexport default RefundCalculatorSelect;\n","import { ChangeEventHandler, useState } from \"react\";\nimport SANGJO_PRODUCTS from \"@/constants/grouped_sangjo_products.json\";\n\ntype RefundCalculatorForm = {\n sangjoId: keyof typeof SANGJO_PRODUCTS | \"\";\n productId: string;\n paymentsCount: string;\n};\n\ninterface UseRefundCalculatorFormArgs {\n defaultForm: RefundCalculatorForm;\n}\n\nexport const useRefundCalculatorForm = ({ defaultForm }: UseRefundCalculatorFormArgs) => {\n const [refundCalculatorForm, setRefundCalculatorForm] =\n useState(defaultForm);\n\n const resetRefundCalculatorForm = () => {\n setRefundCalculatorForm({ ...defaultForm });\n };\n\n const handleChange: ChangeEventHandler = (event) => {\n const { name, value } = event.target;\n\n if (name === \"sangjoId\") {\n setRefundCalculatorForm(() => ({\n ...defaultForm,\n [name]: value as keyof typeof SANGJO_PRODUCTS,\n }));\n\n return;\n }\n\n setRefundCalculatorForm((pre) => ({\n ...pre,\n [name]: String(value),\n }));\n };\n\n return {\n refundCalculatorForm,\n setRefundCalculatorForm,\n resetRefundCalculatorForm,\n handleChange,\n };\n};\n","import { useState } from \"react\";\n\ninterface UseRefundSangjoArgs {\n totalProductPrice?: string;\n totalUserPaymentPrice?: string;\n totalPaymentDates?: string;\n}\n\nexport const useRefundSangjoPrice = ({\n totalProductPrice,\n totalUserPaymentPrice,\n totalPaymentDates,\n}: UseRefundSangjoArgs) => {\n const [상조환급금, set_상조환급금] = useState(undefined);\n const reset_상조환급금 = () => set_상조환급금(undefined);\n\n const chage_상조환급금 = () => {\n if (totalProductPrice && totalUserPaymentPrice && totalPaymentDates) {\n const result = calculateCancelSangjoProduct({\n 상품가격: Number(totalProductPrice),\n 납입금_누계: Number(totalUserPaymentPrice),\n });\n\n set_상조환급금(result);\n }\n };\n\n const calculateCancelSangjoProduct = ({\n 납입금_누계,\n 상품가격,\n }: {\n 납입금_누계: number;\n 상품가격: number;\n }) => {\n const 모집수당 = 상품가격 >= 5_000_000 ? 500_000 : 상품가격 * 0.1;\n const 모집수당_공재액 = 모집수당 * 0.75 + 모집수당 * 0.25 * (납입금_누계 / 상품가격);\n const 관리비_누계 = 납입금_누계 * 0.05;\n\n const 해약환급금 = 납입금_누계 - 모집수당_공재액 - 관리비_누계;\n\n return 해약환급금 > 0 ? Math.floor(해약환급금 / 10) * 10 : 0;\n };\n\n return {\n 상조환급금,\n reset_상조환급금,\n chage_상조환급금,\n };\n};\n","import SANGJO_PRODUCTS from \"@/constants/grouped_sangjo_products.json\";\nimport { useMemo } from \"react\";\n\ninterface UseTotalPriceProps {\n sangjoId: string;\n sangjoProductId: number;\n paymentsCount: number;\n}\n\nexport const useRefundSangjoTotalPrice = ({\n sangjoId,\n sangjoProductId,\n paymentsCount,\n}: UseTotalPriceProps) => {\n const sangjoProducts = sangjoId ? SANGJO_PRODUCTS[sangjoId as keyof typeof SANGJO_PRODUCTS] : [];\n\n const selectedSangjoProduct = sangjoProducts\n ? sangjoProducts.find((product) => product.id === Number(sangjoProductId))\n : undefined;\n\n const productUserTotalPrice = useMemo(() => {\n if (selectedSangjoProduct?.paymentType === \"정기형\") {\n const productTotalPrice =\n Number(selectedSangjoProduct?.monthPaymentPrice.replaceAll(\",\", \"\")) * paymentsCount;\n\n return productTotalPrice;\n }\n\n if (selectedSangjoProduct?.paymentType === \"비정기형\") {\n const 납입기간배열 = selectedSangjoProduct.비정기_납입기간.split(\"+\");\n const 납입금액배열 = selectedSangjoProduct.비정기_납입금액.split(\"+\");\n\n const 납입기간가격리스트 = 납입기간배열.reduce((acc, cur, index) => {\n const newAcc = Array.from({ length: Number(cur) }, () => Number(납입금액배열[index]));\n\n return [...acc, ...newAcc];\n }, [] as number[]);\n\n const 총_납입금액 = 납입기간가격리스트\n .splice(0, paymentsCount)\n .reduce((acc, cur) => acc + cur, 0);\n\n return 총_납입금액;\n }\n }, [paymentsCount]);\n\n const productTotalPrice = useMemo(() => {\n if (selectedSangjoProduct?.paymentType === \"정기형\") {\n const productTotalPrice =\n Number(selectedSangjoProduct?.monthPaymentPrice.replaceAll(\",\", \"\")) *\n Number(selectedSangjoProduct?.totalPaymentDates);\n\n return productTotalPrice;\n }\n\n if (selectedSangjoProduct?.paymentType === \"비정기형\") {\n const 납입기간배열 = selectedSangjoProduct.비정기_납입기간.split(\"+\");\n const 납입금액배열 = selectedSangjoProduct.비정기_납입금액.split(\"+\");\n\n const 납입기간가격리스트 = 납입기간배열.reduce((acc, cur, index) => {\n const newAcc = Array.from({ length: Number(cur) }, () => Number(납입금액배열[index]));\n\n return [...acc, ...newAcc];\n }, [] as number[]);\n\n const 총_납입금액 = 납입기간가격리스트.reduce((acc, cur) => acc + cur, 0);\n\n return 총_납입금액;\n }\n }, [sangjoProductId]);\n\n return {\n productUserTotalPrice,\n productTotalPrice,\n };\n};\n"],"names":["DefaultPageContainer","styled","colors","white","components_DefaultPageLayout","children","title","param","emotion_react_jsx_runtime_browser_esm","BX","tZ","h1","className","__webpack_exports__","Z","size","fullWidth","rest","props","_emotion_react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__","StyledButton","BUTTON_SIZE_STYLE","small","css","medium","large","gray700","showRightArrowIcon","_emotion_react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__","button","padding","border","concat","gray600","borderRadius","display","gap","ColorIcon","color","name","RefundCalculatorPaymentDateSelect","id","label","sangjoId","sangjoProductId","paymentsCount","onChange","sangjoProducts","SANGJO_PRODUCTS","selectedSangjoProduct","find","product","Number","undefined","비정기상조납입기간SelectItems","납입기간배열","비정기_납입기간","split","map","value","trim","total","reduce","acc","cur","Array","from","length","_","index","month","text","sangjoProductPaymentDateSelectItems","useMemo","paymentType","totalPaymentDates","RefundCalculatorSelect","items","table_PriceTable","header","rows","VStack","as","backgroundColor","thead","HStack","justifyContent","paddingBottom","borderBottom","td","key","row","RefundCalculatorContainer_RefundCalculatorResult","price","tableHeader","toLocaleString","HY","Spacing","PriceTable","RefundCalculatorSangjoProductSelect","sangjoProductSelectItems","Object","entries","sangjoProduct","barIndex","productName","indexOf","parsingSangjoProductName","substring","parsingSangjoProductMonthPaymentPrice","monthPaymentPrice","replaceAll","_emotion_react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__","textFieldCSS","borderColor","borderWidth","_emotion_react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","FormControl","TextField","select","defaultValue","MenuItem","useRefundCalculatorForm","defaultForm","refundCalculatorForm","setRefundCalculatorForm","useState","resetRefundCalculatorForm","handleChange","event","target","pre","String","useRefundSangjoPrice","totalProductPrice","totalUserPaymentPrice","상조환급금","set_상조환급금","calculateCancelSangjoProduct","납입금_누계","상품가격","모집수당","해약환급금","Math","floor","reset_상조환급금","chage_상조환급금","result","useRefundSangjoTotalPrice","productUserTotalPrice","productTotalPrice","납입금액배열","비정기_납입금액","납입기간가격리스트","newAcc","총_납입금액","splice"],"sourceRoot":""}