{"version":3,"file":"chunks/4fc1eb50be13fa.js","mappings":";2oBACA,8hGAAAA,GAAA,wBAAAA,EAAA,sBAAAA,GAAA,iBAAAA,GAAA,0oDAAAA,EAAA,yBAAAA,GAAA,IAAAA,EAAA,uBAAAA,GAAA,4bAAAA,EAAA,yBAAAA,GAAA,IAAAA,EAAA,uBAAAA,GAAA,yhBAAAA,EAAA,yBAAAA,GAAA,IAAAA,EAAA,uBAAAA,GAAA,qGAAAA,EAAA,yBAAAA,GAAA,IAAAA,EAAA,uBAAAA,GAAA,ufAEA,IAAMC,EAAmB,sBACnBC,GAAyB,iBACzBD,EADyB,sBACcE,EAAAA,IADd,cAEzBF,EAFyB,kBAES,qBAAGG,YAAH,IAFT,cAGzBH,EAHyB,UAGC,gBAAGI,EAAH,EAAGA,MAAOD,EAAV,EAAUA,aAAV,OAC5BE,EAAAA,EAAAA,KAAiBC,EAAAA,EAAAA,IAAYF,EAAOD,GADR,IAHD,cAKzBH,EALyB,gBAKQE,EAAAA,IALR,cAMzBF,EANyB,kBAMUE,EAAAA,IANV,GASzBK,EAAiB,SACrBC,EACAL,EAFqB,OAGnBM,EAHmB,EAGnBA,eAAgBC,EAHG,EAGHA,eAAgBN,EAHb,EAGaA,MAHb,OAKrBO,OAAOC,KAAKX,GAA2BY,SAAQ,SAACC,GAC9C,IAAMC,EAAkBP,EAAQQ,cAAcF,GAC9CC,EAAgBE,UAAYhB,EAA0Ba,GACpD,CACEX,aAAAA,EACAM,eAAgBS,KAAKC,IAAIV,EAAgB,GACzCC,eAAAA,EACAN,MAAAA,GAEFW,EAAgBE,UAEnB,GAhBoB,EAkBjBG,EAAS,gCAAG,WAAOC,EAASC,EAAWd,GAA3B,2FAC6Ba,EAD7B,gBACRlB,EADQ,EACRA,cAAcoB,EADN,EACMA,cACLC,SAASF,MACxBf,EAAeC,EAASL,EAAcoB,EAAaC,SAASF,KAC5Dd,EAAQiB,UAAUC,OAAO,YAJX,yNAAH,0DAQMC,EAAAA,GACnB,WAAYnB,EAAZ,GAA6C,IAAtBa,EAAsB,EAAtBA,QAASC,EAAa,EAAbA,uGAAa,SAC3CF,EAAUC,EAASC,EAAWd,EAC/B,iLCxCH,IAAMoB,EAAwB,MAExBC,EAA0B,CAC9BC,WAAY,aACZC,WAAY,cAGD7B,EAAwB,SAAC,EAEpC8B,GACG,QACH,KAAiC,CAD9B,EAFDvB,eAEC,EAFeC,gBAGgDuB,KAChE,SAACC,GAAD,OAAc7B,EAAAA,EAAAA,IAAiB6B,EAA/B,MADF,g0BAAOJ,EAAP,KAAmBC,EAAnB,KAIA,OAAOI,EAAAA,EAAAA,IACL,CAAEL,WAAAA,EAAYC,WAAAA,GACdC,EACAH,EAEH,EAEYO,EAAqB,SAAC3B,EAAgBC,GACjD,OAAOA,GAAc,UAAuBD,EAAvB,IACtB,EAIYH,EAAc,SAACF,GAAD,IAAQD,EAAR,uDAAuByB,EAAvB,OACzBzB,IAAiByB,GACP,IAAVxB,IACCA,EAAQ,GAAM,GAAKA,EA9BG,IA+BnBA,EAAMiC,QAAQ,GACdjC,CALqB","sources":["webpack:///./resources/js/components/generic/price-block-localized.ts","webpack:///./resources/js/components/generic/pricing-utils.ts"],"sourcesContent":["import { getStrWithCommas } from \"../../utils/string\";\nimport { replaceTierLimitsText, formatPrice } from \"./pricing-utils\";\n\nconst CLASSNAME_PREFIX = \".localized_pricing_\";\nconst CLASSNAME_TO_REPLACE_FUNC = {\n [`${CLASSNAME_PREFIX}heading > .heading`]: replaceTierLimitsText,\n [`${CLASSNAME_PREFIX}currency_code`]: ({ currencyCode }) => currencyCode,\n [`${CLASSNAME_PREFIX}price`]: ({ price, currencyCode }) =>\n getStrWithCommas(formatPrice(price, currencyCode)),\n [`${CLASSNAME_PREFIX}primary_text`]: replaceTierLimitsText,\n [`${CLASSNAME_PREFIX}secondary_text`]: replaceTierLimitsText,\n};\n\nconst doReplacements = (\n domRoot,\n currencyCode,\n { unitLimitLower, unitLimitUpper, price }\n) =>\n Object.keys(CLASSNAME_TO_REPLACE_FUNC).forEach((sel) => {\n const replacementNode = domRoot.querySelector(sel);\n replacementNode.innerText = CLASSNAME_TO_REPLACE_FUNC[sel](\n {\n currencyCode,\n unitLimitLower: Math.max(unitLimitLower, 0),\n unitLimitUpper,\n price,\n },\n replacementNode.innerText\n );\n });\n\nconst onPricing = async (pricing, tierStart, domRoot) => {\n const { currencyCode, pricingTiers } = await pricing;\n if (pricingTiers[parseInt(tierStart)]) {\n doReplacements(domRoot, currencyCode, pricingTiers[parseInt(tierStart)]);\n domRoot.classList.remove(\"loading\");\n }\n};\n\nexport default class PriceBlockLocalized {\n constructor(domRoot, { pricing, tierStart }) {\n onPricing(pricing, tierStart, domRoot);\n }\n}\n","import { getStrWithCommas, replaceText } from \"../../utils/string\";\n\nconst DEFAULT_CURRENCY_CODE = \"USD\";\nconst FORMAT_MAX_PRICE = 10;\nconst REPLACE_TIER_LIMITS_MAP = {\n lowerLimit: \"lowerLimit\",\n upperLimit: \"upperlimit\",\n};\n\nexport const replaceTierLimitsText = (\n { unitLimitLower, unitLimitUpper },\n inputText\n) => {\n const [lowerLimit, upperLimit] = [unitLimitLower, unitLimitUpper].map(\n (limitVal) => getStrWithCommas(limitVal)\n );\n\n return replaceText(\n { lowerLimit, upperLimit },\n inputText,\n REPLACE_TIER_LIMITS_MAP\n );\n};\n\nexport const sanitizeUpperLimit = (unitLimitLower, unitLimitUpper) => {\n return unitLimitUpper ? unitLimitUpper : `${unitLimitLower}+`;\n};\n\n// show 2 decimal places in price if USD, not zero, and:\n// either a fractional amount or under $10\nexport const formatPrice = (price, currencyCode = DEFAULT_CURRENCY_CODE) =>\n currencyCode === DEFAULT_CURRENCY_CODE &&\n price !== 0 &&\n (price % 1 !== 0 || price < FORMAT_MAX_PRICE)\n ? price.toFixed(2)\n : price;\n"],"names":["i","CLASSNAME_PREFIX","CLASSNAME_TO_REPLACE_FUNC","replaceTierLimitsText","currencyCode","price","getStrWithCommas","formatPrice","doReplacements","domRoot","unitLimitLower","unitLimitUpper","Object","keys","forEach","sel","replacementNode","querySelector","innerText","Math","max","onPricing","pricing","tierStart","pricingTiers","parseInt","classList","remove","PriceBlockLocalized","DEFAULT_CURRENCY_CODE","REPLACE_TIER_LIMITS_MAP","lowerLimit","upperLimit","inputText","map","limitVal","replaceText","sanitizeUpperLimit","toFixed"],"sourceRoot":""}