{"version":3,"file":"static/chunks/7843.fc3bb2a7354b1b94.js","mappings":"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","sources":["webpack://_N_E/./components/applications/pip/components/DynamicPrice/DynamicPrice.module.scss","webpack://_N_E/./components/applications/pip/components/DynamicPrice/index.jsx","webpack://_N_E/./thirdparty/Affirm/index.jsx","webpack://_N_E/./components/icons/IconOffer.jsx"],"sourcesContent":["// extracted by mini-css-extract-plugin\nmodule.exports = {\"block\":\"DynamicPrice_block__V_A_w\",\"price\":\"DynamicPrice_price__6jQV_\",\"promoText\":\"DynamicPrice_promoText__SAf_A\",\"icon\":\"DynamicPrice_icon__ZT8i1\",\"subLine\":\"DynamicPrice_subLine__phXTZ\"};","/* eslint-disable react-hooks/exhaustive-deps */\nimport PropTypes from 'prop-types';\nimport ProductPrice from 'components/product/ProductPrice';\nimport { useContext, useEffect, useMemo, useState } from \"react\";\nimport { ProductOptionContext } from \"components/applications/pip/contexts/ProductOptionContext\";\nimport { calculateSetUpCharges, calculateUpCharges, getTradePrice } from 'components/applications/pip/helpers/PIP.helpers';\nimport Affirm from 'thirdparty/Affirm';\nimport { IconOffer } from 'components/icons/IconOffer';\nimport Style from './DynamicPrice.module.scss';\n\n\nfunction DynamicPrice({ \n productData, \n qty, \n showAffirm, \n onlyPrice = false, \n showWasPrice = true,\n isTrade \n}){\n const [ state, dispatch ] = useContext(ProductOptionContext);\n const [ price, setPrice ] = useState(0);\n\n\n useEffect(() => {\n dispatch({\n type: \"setPrice\",\n data: price\n })\n\n }, [ price ])\n\n\n\n useEffect(() => {\n const total = productData?.price * qty;\n\n if( isTrade ){\n const tradePrice = getTradePrice(total, productData?.custom_fields?.trade_discount)\n setPrice(tradePrice)\n\n }else if( !Object.values(state.sets).length && !Object.values(state?.options).length ){ \n setPrice(total)\n }\n\n }, [ qty ])\n\n\n\n\n // for regular products\n useEffect(() => {\n const optionValues = Object.values(state?.options);\n\n if( optionValues.length ){\n const totalUpCharges = calculateUpCharges({ \n qty, \n options: optionValues,\n price: productData?.price\n })\n\n if( isTrade ){\n const tradePrice = getTradePrice(totalUpCharges, productData?.custom_fields?.trade_discount)\n setPrice(tradePrice)\n\n }else{\n setPrice(totalUpCharges)\n }\n }\n\n }, [ state?.options, qty, productData?.price, isTrade])\n\n\n\n // for sets\n useEffect(() => {\n\n // when we have both the products object and set product_id keys\n // if( state?.sets.hasOwnProperty(\"products\") && Object.keys(state?.sets).some(set => !isNaN(set)) ){ \n \n if( state?.sets.hasOwnProperty(\"products\") ){ \n const totalUpCharges = calculateSetUpCharges({\n qty,\n sets: { ...state.sets },\n excludeGlobal: productData?.product_id.toString()\n });\n\n if( isTrade ){\n const tradePrice = getTradePrice(totalUpCharges, productData?.custom_fields?.trade_discount)\n setPrice(tradePrice)\n\n }else{\n setPrice(totalUpCharges)\n }\n }\n \n\n }, [\n state.sets,\n qty,\n isTrade\n ])\n\n\n const hasFreeShippingIcon = useMemo(() => {\n return productData?.custom_fields?.free_shipping_icon === \"Yes\" || \n (productData?.custom_fields?.free_shipping_icon && productData?.custom_fields?.free_shipping_icon !== \"No\")\n\n }, [ productData?.custom_fields?.free_shipping_icon ])\n\n\n return(\n <>\n {onlyPrice ? \n