{"version":3,"sources":["jsdelivr-header.js","/npm/mercadopago-v2-react@1.2.3/dist/cjs/index.js"],"names":[],"mappings":"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","file":"/npm/mercadopago-v2-react@1.2.3/dist/cjs/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/mercadopago-v2-react@1.2.3/dist/cjs/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","\"use strict\";\r\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n    return new (P || (P = Promise))(function (resolve, reject) {\r\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n    });\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.formatBankSlipNumber = exports.isValidCPF = exports.useMercadoPago = void 0;\r\nconst react_1 = require(\"react\");\r\nfunction useMercadoPago({ publicKey, locale = 'pt-BR', setError }) {\r\n    const [mercadopago, setMercadopago] = (0, react_1.useState)();\r\n    const [identificationTypeOptions, setIdentificationTypeOptions] = (0, react_1.useState)([]);\r\n    const [installmentOptions, setInstallmentOptions] = (0, react_1.useState)([]);\r\n    const [cardFlag, setCardFlag] = (0, react_1.useState)({});\r\n    const [issuer, setIssuer] = (0, react_1.useState)({});\r\n    const [amount, setAmount] = (0, react_1.useState)('');\r\n    const [months, setMonths] = (0, react_1.useState)([]);\r\n    const [years, setYears] = (0, react_1.useState)([]);\r\n    function getIdentificationTypes() {\r\n        return __awaiter(this, void 0, void 0, function* () {\r\n            if (mercadopago) {\r\n                const identificationTypes = yield mercadopago.getIdentificationTypes().then((response) => response.map((type) => ({ label: type.name, value: type.id })));\r\n                setIdentificationTypeOptions(identificationTypes);\r\n            }\r\n        });\r\n    }\r\n    function getInstallments({ bin, price }) {\r\n        return __awaiter(this, void 0, void 0, function* () {\r\n            if (amount && mercadopago) {\r\n                const result = yield mercadopago.getInstallments({ amount: price, bin });\r\n                if (result.length > 0) {\r\n                    const installments = result[0].payer_costs.map((item) => ({\r\n                        label: item.recommended_message,\r\n                        value: String(item.installments)\r\n                    }));\r\n                    setInstallmentOptions(installments);\r\n                }\r\n                return;\r\n            }\r\n            throw new Error('Amount value is requires, use setAmountValue');\r\n        });\r\n    }\r\n    function getCardFlag(cardFirstSixDigit) {\r\n        return __awaiter(this, void 0, void 0, function* () {\r\n            try {\r\n                if (mercadopago) {\r\n                    const paymentMethods = yield mercadopago\r\n                        .getPaymentMethods({\r\n                        bin: cardFirstSixDigit\r\n                    })\r\n                        .then((response) => response.results.shift());\r\n                    setCardFlag({\r\n                        image: `https://http2.mlstatic.com/frontend-assets/landing-op-internal-products/paymentMethods/checkout/credito/_${paymentMethods === null || paymentMethods === void 0 ? void 0 : paymentMethods.id}.svg`,\r\n                        name: paymentMethods === null || paymentMethods === void 0 ? void 0 : paymentMethods.name\r\n                    });\r\n                    setIssuer({\r\n                        id: paymentMethods === null || paymentMethods === void 0 ? void 0 : paymentMethods.issuer.id,\r\n                        name: paymentMethods === null || paymentMethods === void 0 ? void 0 : paymentMethods.issuer.name\r\n                    });\r\n                }\r\n            }\r\n            catch (err) {\r\n                if (typeof setError === 'function') {\r\n                    setError({ field: 'card_number', message: 'Invalid card number' });\r\n                    return;\r\n                }\r\n                console.error('Invalid card number.');\r\n            }\r\n        });\r\n    }\r\n    function createToken(cardInfo) {\r\n        return __awaiter(this, void 0, void 0, function* () {\r\n            if (mercadopago) {\r\n                const cardNumber = cardInfo.cardNumber.replace(/\\s/g, '');\r\n                const { id } = yield mercadopago.createCardToken({\r\n                    cardNumber,\r\n                    cardholderName: cardInfo.cardholderName,\r\n                    cardExpirationMonth: cardInfo.cardExpirationMonth,\r\n                    cardExpirationYear: cardInfo.cardExpirationYear,\r\n                    securityCode: cardInfo.securityCode,\r\n                    identificationType: cardInfo.identificationType,\r\n                    identificationNumber: cardInfo.identificationNumber\r\n                });\r\n                return id;\r\n            }\r\n            throw new Error('The library was not started correctly.');\r\n        });\r\n    }\r\n    function setAmountValue(amountValue) {\r\n        setAmount(amountValue);\r\n    }\r\n    function checkCardDigits(cardNumber) {\r\n        const cardDigits = cardNumber.replace(/\\s/g, '');\r\n        if (cardDigits.length >= 6) {\r\n            const bin = cardDigits.substring(0, 6);\r\n            getCardFlag(bin);\r\n            getInstallments({ bin, price: amount });\r\n        }\r\n    }\r\n    function getExpirationMonth() {\r\n        const items = new Array(12).fill(true).map((_, index) => ({\r\n            label: String(index + 1).padStart(2, '0'),\r\n            value: String(index + 1).padStart(2, '0')\r\n        }));\r\n        setMonths(items);\r\n    }\r\n    function getExpirationYears() {\r\n        const currentYear = new Date().getFullYear();\r\n        const items = new Array(16).fill(true).map((_, index) => ({\r\n            label: String(currentYear + index),\r\n            value: String(currentYear + index)\r\n        }));\r\n        setYears(items);\r\n    }\r\n    (0, react_1.useEffect)(() => {\r\n        const script = document.createElement('script');\r\n        script.src = 'https://sdk.mercadopago.com/js/v2';\r\n        script.addEventListener('load', () => {\r\n            setMercadopago(new window.MercadoPago(publicKey, { locale, advancedFraudPrevention: true }));\r\n        });\r\n        document.body.appendChild(script);\r\n        return () => {\r\n            let iframe = document.body.querySelector('iframe[src*=\"mercadolibre\"]');\r\n            if (iframe) {\r\n                document.body.removeChild(iframe);\r\n            }\r\n            document.body.removeChild(script);\r\n        };\r\n    }, []);\r\n    (0, react_1.useEffect)(() => {\r\n        if (mercadopago) {\r\n            getIdentificationTypes();\r\n            getExpirationMonth();\r\n            getExpirationYears();\r\n        }\r\n    }, [mercadopago]);\r\n    return {\r\n        identificationTypeOptions,\r\n        installmentOptions,\r\n        cardFlag,\r\n        issuer,\r\n        createToken,\r\n        setAmountValue,\r\n        checkCardDigits,\r\n        months,\r\n        years\r\n    };\r\n}\r\nexports.useMercadoPago = useMercadoPago;\r\nfunction formatBankSlipNumber(value) {\r\n    const data = value.replace(/(\\d{5})(\\d{5})(\\d{5})(\\d{6})(\\d{5})(\\d{6})(\\d{1})/, '$1.$2 $3.$4 $5.$6 $7 ');\r\n    return data;\r\n}\r\nexports.formatBankSlipNumber = formatBankSlipNumber;\r\nfunction isValidCPF(strCPF) {\r\n    var Soma;\r\n    var Resto;\r\n    Soma = 0;\r\n    strCPF = strCPF.replace(/[^\\d]+/g, '');\r\n    for (let i = 1; i <= 9; i++) {\r\n        Soma = Soma + parseInt(strCPF.substring(i - 1, i)) * (11 - i);\r\n    }\r\n    Resto = (Soma * 10) % 11;\r\n    if (Resto == 10 || Resto == 11) {\r\n        Resto = 0;\r\n    }\r\n    if (Resto != parseInt(strCPF.substring(9, 10))) {\r\n        return false;\r\n    }\r\n    Soma = 0;\r\n    for (let i = 1; i <= 10; i++) {\r\n        Soma = Soma + parseInt(strCPF.substring(i - 1, i)) * (12 - i);\r\n    }\r\n    Resto = (Soma * 10) % 11;\r\n    if (Resto == 10 || Resto == 11) {\r\n        Resto = 0;\r\n    }\r\n    if (Resto != parseInt(strCPF.substring(10, 11))) {\r\n        return false;\r\n    }\r\n    return true;\r\n}\r\nexports.isValidCPF = isValidCPF;\r\n"]}