{"version":3,"file":"utils.js","mappings":"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","sources":["webpack://wcPPCP/webpack/bootstrap","webpack://wcPPCP/webpack/runtime/compat get default export","webpack://wcPPCP/webpack/runtime/define property getters","webpack://wcPPCP/webpack/runtime/hasOwnProperty shorthand","webpack://wcPPCP/webpack/runtime/make namespace object","webpack://wcPPCP/external window \"lodash\"","webpack://wcPPCP/external window \"jQuery\"","webpack://wcPPCP/external window [\"wp\",\"hooks\"]","webpack://wcPPCP/./node_modules/@paypal/paypal-js/dist/esm/paypal-js.js","webpack://wcPPCP/./assets/js/ppcp/utils.js"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"lodash\"];","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"jQuery\"];","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"hooks\"];","/*!\n * paypal-js v5.1.1 (2022-08-03T17:21:59.218Z)\n * Copyright 2020-present, PayPal, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nfunction findScript(url, attributes) {\n var currentScript = document.querySelector(\"script[src=\\\"\".concat(url, \"\\\"]\"));\n if (currentScript === null)\n return null;\n var nextScript = createScriptElement(url, attributes);\n // ignore the data-uid-auto attribute that gets auto-assigned to every script tag\n var currentScriptClone = currentScript.cloneNode();\n delete currentScriptClone.dataset.uidAuto;\n // check if the new script has the same number of data attributes\n if (Object.keys(currentScriptClone.dataset).length !==\n Object.keys(nextScript.dataset).length) {\n return null;\n }\n var isExactMatch = true;\n // check if the data attribute values are the same\n Object.keys(currentScriptClone.dataset).forEach(function (key) {\n if (currentScriptClone.dataset[key] !== nextScript.dataset[key]) {\n isExactMatch = false;\n }\n });\n return isExactMatch ? currentScript : null;\n}\nfunction insertScriptElement(_a) {\n var url = _a.url, attributes = _a.attributes, onSuccess = _a.onSuccess, onError = _a.onError;\n var newScript = createScriptElement(url, attributes);\n newScript.onerror = onError;\n newScript.onload = onSuccess;\n document.head.insertBefore(newScript, document.head.firstElementChild);\n}\nfunction processOptions(options) {\n var sdkBaseURL = \"https://www.paypal.com/sdk/js\";\n if (options.sdkBaseURL) {\n sdkBaseURL = options.sdkBaseURL;\n delete options.sdkBaseURL;\n }\n processMerchantID(options);\n var _a = Object.keys(options)\n .filter(function (key) {\n return (typeof options[key] !== \"undefined\" &&\n options[key] !== null &&\n options[key] !== \"\");\n })\n .reduce(function (accumulator, key) {\n var value = options[key].toString();\n if (key.substring(0, 5) === \"data-\") {\n accumulator.dataAttributes[key] = value;\n }\n else {\n accumulator.queryParams[key] = value;\n }\n return accumulator;\n }, {\n queryParams: {},\n dataAttributes: {},\n }), queryParams = _a.queryParams, dataAttributes = _a.dataAttributes;\n return {\n url: \"\".concat(sdkBaseURL, \"?\").concat(objectToQueryString(queryParams)),\n dataAttributes: dataAttributes,\n };\n}\nfunction objectToQueryString(params) {\n var queryString = \"\";\n Object.keys(params).forEach(function (key) {\n if (queryString.length !== 0)\n queryString += \"&\";\n queryString += key + \"=\" + params[key];\n });\n return queryString;\n}\n/**\n * Parse the error message code received from the server during the script load.\n * This function search for the occurrence of this specific string \"/* Original Error:\".\n *\n * @param message the received error response from the server\n * @returns the content of the message if the string string was found.\n * The whole message otherwise\n */\nfunction parseErrorMessage(message) {\n var originalErrorText = message.split(\"/* Original Error:\")[1];\n return originalErrorText\n ? originalErrorText.replace(/\\n/g, \"\").replace(\"*/\", \"\").trim()\n : message;\n}\nfunction createScriptElement(url, attributes) {\n if (attributes === void 0) { attributes = {}; }\n var newScript = document.createElement(\"script\");\n newScript.src = url;\n Object.keys(attributes).forEach(function (key) {\n newScript.setAttribute(key, attributes[key]);\n if (key === \"data-csp-nonce\") {\n newScript.setAttribute(\"nonce\", attributes[\"data-csp-nonce\"]);\n }\n });\n return newScript;\n}\nfunction processMerchantID(options) {\n var merchantID = options[\"merchant-id\"], dataMerchantID = options[\"data-merchant-id\"];\n var newMerchantID = \"\";\n var newDataMerchantID = \"\";\n if (Array.isArray(merchantID)) {\n if (merchantID.length > 1) {\n newMerchantID = \"*\";\n newDataMerchantID = merchantID.toString();\n }\n else {\n newMerchantID = merchantID.toString();\n }\n }\n else if (typeof merchantID === \"string\" && merchantID.length > 0) {\n newMerchantID = merchantID;\n }\n else if (typeof dataMerchantID === \"string\" &&\n dataMerchantID.length > 0) {\n newMerchantID = \"*\";\n newDataMerchantID = dataMerchantID;\n }\n options[\"merchant-id\"] = newMerchantID;\n options[\"data-merchant-id\"] = newDataMerchantID;\n return options;\n}\n\n/**\n * Load the Paypal JS SDK script asynchronously.\n *\n * @param {Object} options - used to configure query parameters and data attributes for the JS SDK.\n * @param {PromiseConstructor} [PromisePonyfill=window.Promise] - optional Promise Constructor ponyfill.\n * @return {Promise} paypalObject - reference to the global window PayPal object.\n */\nfunction loadScript(options, PromisePonyfill) {\n if (PromisePonyfill === void 0) { PromisePonyfill = getDefaultPromiseImplementation(); }\n validateArguments(options, PromisePonyfill);\n // resolve with null when running in Node\n if (typeof window === \"undefined\")\n return PromisePonyfill.resolve(null);\n var _a = processOptions(options), url = _a.url, dataAttributes = _a.dataAttributes;\n var namespace = dataAttributes[\"data-namespace\"] || \"paypal\";\n var existingWindowNamespace = getPayPalWindowNamespace(namespace);\n // resolve with the existing global paypal namespace when a script with the same params already exists\n if (findScript(url, dataAttributes) && existingWindowNamespace) {\n return PromisePonyfill.resolve(existingWindowNamespace);\n }\n return loadCustomScript({\n url: url,\n attributes: dataAttributes,\n }, PromisePonyfill).then(function () {\n var newWindowNamespace = getPayPalWindowNamespace(namespace);\n if (newWindowNamespace) {\n return newWindowNamespace;\n }\n throw new Error(\"The window.\".concat(namespace, \" global variable is not available.\"));\n });\n}\n/**\n * Load a custom script asynchronously.\n *\n * @param {Object} options - used to set the script url and attributes.\n * @param {PromiseConstructor} [PromisePonyfill=window.Promise] - optional Promise Constructor ponyfill.\n * @return {Promise} returns a promise to indicate if the script was successfully loaded.\n */\nfunction loadCustomScript(options, PromisePonyfill) {\n if (PromisePonyfill === void 0) { PromisePonyfill = getDefaultPromiseImplementation(); }\n validateArguments(options, PromisePonyfill);\n var url = options.url, attributes = options.attributes;\n if (typeof url !== \"string\" || url.length === 0) {\n throw new Error(\"Invalid url.\");\n }\n if (typeof attributes !== \"undefined\" && typeof attributes !== \"object\") {\n throw new Error(\"Expected attributes to be an object.\");\n }\n return new PromisePonyfill(function (resolve, reject) {\n // resolve with undefined when running in Node\n if (typeof window === \"undefined\")\n return resolve();\n insertScriptElement({\n url: url,\n attributes: attributes,\n onSuccess: function () { return resolve(); },\n onError: function () {\n var defaultError = new Error(\"The script \\\"\".concat(url, \"\\\" failed to load.\"));\n if (!window.fetch) {\n return reject(defaultError);\n }\n // Fetch the error reason from the response body for validation errors\n return fetch(url)\n .then(function (response) {\n if (response.status === 200) {\n reject(defaultError);\n }\n return response.text();\n })\n .then(function (message) {\n var parseMessage = parseErrorMessage(message);\n reject(new Error(parseMessage));\n })\n .catch(function (err) {\n reject(err);\n });\n },\n });\n });\n}\nfunction getDefaultPromiseImplementation() {\n if (typeof Promise === \"undefined\") {\n throw new Error(\"Promise is undefined. To resolve the issue, use a Promise polyfill.\");\n }\n return Promise;\n}\nfunction getPayPalWindowNamespace(namespace) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return window[namespace];\n}\nfunction validateArguments(options, PromisePonyfill) {\n if (typeof options !== \"object\" || options === null) {\n throw new Error(\"Expected an options object.\");\n }\n if (typeof PromisePonyfill !== \"undefined\" &&\n typeof PromisePonyfill !== \"function\") {\n throw new Error(\"Expected PromisePonyfill to be a function.\");\n }\n}\n\n// replaced with the package.json version at build time\nvar version = \"5.1.1\";\n\nexport { loadCustomScript, loadScript, version };\n","import {isEqual, isEmpty} from 'lodash';\nimport $ from 'jquery';\nimport {defaultHooks} from \"@wordpress/hooks\";\nimport {loadScript} from '@paypal/paypal-js';\n\nlet urlParams = {};\n\nlet isLoading = false;\n\nconst fields = new Map();\n\nlet locales = null;\n\nexport const SHIPPING_OPTION_REGEX = /^([\\w]+)\\:(.+)$/;\n\nconst ADDRESS_MAPPING = {\n address_1: 'address_line_1|line1',\n address_2: 'address_line_2|line2',\n state: 'admin_area_1|state',\n city: 'admin_area_2|city',\n postcode: 'postal_code',\n country: 'country_code'\n};\n\nconst INTERMEDIATE_ADDRESS_MAPPING = {\n city: 'city',\n state: 'state',\n postal_code: 'postcode',\n country_code: 'country'\n}\n\n//export const hooks = createHooks();\n\nconst removeScriptById = (id) => {\n const element = document.getElementById(id);\n if (element) {\n element.remove();\n }\n}\n\nconst hasPayPalScript = (id) => {\n const element = document.getElementById(id);\n return !!element;\n}\n\nexport const loadPayPalSdk = (params = null) => {\n return new Promise((resolve, reject) => {\n\n // params may have changed so reload script¬\n if (params && !isEmpty(params) && !isEqual(params, urlParams)) {\n urlParams = params;\n if (window.paypal) {\n // cleanup\n defaultHooks.doAction('paypalInstanceCleanup', window.paypal);\n }\n isLoading = true;\n loadScript({...params}).then(paypal => {\n resolve(paypal);\n defaultHooks.doAction('paypalInstanceCreated', paypal, urlParams);\n }).catch(error => {\n console.log(error);\n const msg = error?.message?.toLowerCase() || null;\n let response;\n if (msg) {\n if (msg.includes('locale')) {\n const {locale, ...newParams} = params;\n return loadPayPalSdk(newParams).then(paypal => {\n resolve(paypal);\n });\n } else if (msg.includes('client-id not recognized')) {\n response = {code: 'invalid_client_id'};\n } else if (msg.includes('invalid query value for client-id')) {\n response = {code: 'invalid_client_id'};\n } else if (msg.includes('invalid query value for currency')) {\n //response = {code: 'unsupported_currency', message: getErrorMessage({code: 'invalid_currency'}).replace('%', urlParams.currency)};\n }\n }\n defaultHooks.doAction('paypalLoadError');\n reject(response);\n }).finally(() => {\n isLoading = false;\n })\n } else {\n if (window.paypal && !isLoading) {\n resolve(window.paypal);\n } else {\n defaultHooks.addAction('paypalInstanceCreated', 'wcPPCP', (paypal) => {\n resolve(paypal);\n });\n defaultHooks.addAction('paypalLoadError', 'wcPPCP', () => {\n reject();\n })\n }\n }\n })\n}\n\nexport const getSetting = (key) => {\n if (typeof window.wcPPCPSettings !== 'undefined') {\n return window.wcPPCPSettings[key] || {};\n }\n return {};\n}\n\nexport const setSetting = (key, value) => {\n if (typeof window.wcPPCPSettings !== 'undefined') {\n return window.wcPPCPSettings[key] = value;\n }\n}\n\nexport const getPayPalQueryParams = () => getSetting('queryParams');\n\nexport const getFieldValue = (key, prefix = 'billing') => {\n if (key.substring(0, 'shipping'.length) != 'shipping' && key.substring(0, 'billing'.length) != 'billing') {\n key = `${prefix}_${key}`;\n }\n if ($(`[name=\"${key}\"]`).length) {\n return $(`[name=\"${key}\"]`).val();\n }\n return fields.get(key);\n}\n\nexport const fieldsToJson = () => {\n const json = {};\n fields.forEach((value, key) => {\n json[key] = value;\n });\n return json;\n}\n\nexport const setFieldValue = (key, value, prefix = 'billing') => {\n if (!!prefix && key.substring(0, 'shipping'.length) != 'shipping' && key.substring(0, 'billing'.length) != 'billing') {\n key = `${prefix}_${key}`;\n }\n fields.set(key, value);\n if ($(`[name=\"${key}\"]`).length) {\n $(`[name=\"${key}\"]`).val(value);\n }\n}\n\nexport const getErrorMessage = (error) => {\n const messages = getSetting('errorMessages');\n if (typeof error == 'string') {\n return error;\n }\n if (error?.code && messages?.[error.code]) {\n return messages[error.code];\n }\n if (error?.message) {\n return error.message;\n }\n}\n\nexport const submitErrorMessage = (error, container, context = 'checkout') => {\n if (error?.message?.toLowerCase()?.match(/detected popup close|window is closed/)) {\n return;\n }\n let msg = getErrorMessage(error);\n let classes = 'woocommerce-NoticeGroup';\n const $container = $(container);\n if (context == 'checkout') {\n classes += ' woocommerce-NoticeGroup-checkout';\n }\n if (Array.isArray(error)) {\n msg = '
  • ' + error.join('
  • ') + '
';\n } else if (typeof error === 'string' && /<[^>]*>/.test(error)) {\n msg = '
' + error + '
';\n } else {\n msg = '
  • ' + msg + '
';\n }\n $('.woocommerce-NoticeGroup-checkout, .woocommerce-error, .woocommerce-message').remove();\n $container.prepend(msg);\n if ($.scroll_to_notices) {\n $.scroll_to_notices($container);\n } else {\n $('html, body').animate({\n scrollTop: $container.offset().top - 100\n }, 1000);\n }\n}\n\nexport const isValidAddress = (address, exclude = []) => {\n let i18n_params = typeof wc_address_i18n_params == 'undefined' ? getSetting('i18n') : wc_address_i18n_params;\n if (isEmpty(address)) {\n return false;\n }\n if (!locales) {\n locales = JSON.parse(i18n_params.locale.replace(/"/g, '\"'));\n }\n if (!address.country || isEmpty(address)) {\n return false;\n }\n let locale = locales?.[address.country] ? locales[address.country] : locales['default'];\n locale = $.extend(true, {}, locales['default'], locale);\n const entries = Object.entries(locale).filter(([key, value]) => !exclude.includes(key));\n locale = Object.fromEntries(entries);\n for (let key in locale) {\n if (locale[key]?.required) {\n const value = address?.[key] || null;\n if (!value || !value?.trim()) {\n return false;\n }\n }\n }\n return true;\n}\n\n/**\n * Converts a WC cart address to a PayPal formatted address\n */\nexport const convertCartAddressToPayPal = (address) => {\n const newAddress = {};\n for (let key in address) {\n if (ADDRESS_MAPPING?.[key]) {\n if (ADDRESS_MAPPING[key].includes('|')) {\n const [k1, k2] = ADDRESS_MAPPING[key].split('|');\n newAddress[k1] = address[key];\n } else {\n newAddress[ADDRESS_MAPPING[key]] = address[key];\n }\n }\n }\n return newAddress;\n}\n\nexport const convertPayPalAddressToCart = (address, intermediate = false) => {\n let mappings = {};\n if (intermediate) {\n mappings = INTERMEDIATE_ADDRESS_MAPPING;\n } else {\n mappings = Object.fromEntries(Object.entries(ADDRESS_MAPPING).map(([key, key2]) => [key2, key]));\n }\n const newAddress = {};\n for (let key in mappings) {\n if (key.includes('|')) {\n const keys = key.split('|');\n for (let k1 of keys) {\n if (address.hasOwnProperty(k1)) {\n newAddress[mappings[key]] = address[k1];\n break;\n } else {\n newAddress[mappings[key]] = '';\n }\n }\n } else {\n if (address.hasOwnProperty(key)) {\n newAddress[mappings[key]] = address[key];\n } else {\n newAddress[mappings[key]] = '';\n }\n }\n }\n return newAddress;\n}\n\nexport const isValidFieldValue = (value) => {\n value = value?.trim();\n return !!value;\n}\n\nexport const isValid = key => {\n return isValidFieldValue(getFieldValue(key));\n}\n\n/**\n * Given a formatted shipping method, extract it into the WC format.\n * @param selectedMethod\n */\nexport const extractShippingMethod = (selectedMethod) => {\n const matches = selectedMethod.match(SHIPPING_OPTION_REGEX);\n if (matches) {\n const {1: packageId, 2: method} = matches;\n return {[packageId]: method};\n }\n return null;\n}\n\nexport const extractFullName = (name) => {\n name = name.trim();\n const firstName = name.split(' ').slice(0, -1).join(' ');\n const lastName = name.split(' ').pop();\n return [firstName, lastName];\n}\n\n/**\n * Returns a rest route in ajax form given a route key\n * @param route\n * @returns {*|null}\n */\nexport const getRestRoute = (route) => {\n return getSetting('generalData')?.restRoutes?.[route]?.url || null;\n}\n\n/**\n * Returns a rest route in ajax form given a route path.\n * @param path\n * @returns {*}\n */\nexport const getRestPath = (path) => {\n path = path.replace(/^\\//, '');\n return getSetting('generalData')?.ajaxRestPath?.replace('%s', path);\n}\n\nexport const getPage = () => {\n return getSetting('generalData').page;\n}\n\nexport const isPluginConnected = () => getSetting('generalData')?.clientId?.length > 0;"],"names":["__webpack_require__","module","getter","__esModule","d","a","exports","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","Symbol","toStringTag","value","window","createScriptElement","url","attributes","newScript","document","createElement","src","keys","forEach","setAttribute","loadScript","options","PromisePonyfill","getDefaultPromiseImplementation","validateArguments","resolve","_a","sdkBaseURL","merchantID","dataMerchantID","newMerchantID","newDataMerchantID","Array","isArray","length","toString","processMerchantID","params","queryString","filter","reduce","accumulator","substring","dataAttributes","queryParams","concat","processOptions","namespace","existingWindowNamespace","getPayPalWindowNamespace","currentScript","querySelector","nextScript","currentScriptClone","cloneNode","dataset","uidAuto","isExactMatch","findScript","Error","reject","onSuccess","onError","onerror","onload","head","insertBefore","firstElementChild","insertScriptElement","defaultError","fetch","then","response","status","text","message","parseMessage","originalErrorText","split","replace","trim","parseErrorMessage","catch","err","loadCustomScript","newWindowNamespace","Promise","urlParams","isLoading","fields","Map","locales","SHIPPING_OPTION_REGEX","ADDRESS_MAPPING","address_1","address_2","state","city","postcode","country","INTERMEDIATE_ADDRESS_MAPPING","postal_code","country_code","loadPayPalSdk","arguments","undefined","isEmpty","isEqual","paypal","defaultHooks","_objectSpread","error","_error$message","console","log","msg","toLowerCase","includes","locale","newParams","_objectWithoutProperties","_excluded","code","finally","getSetting","wcPPCPSettings","setSetting","getPayPalQueryParams","getFieldValue","prefix","$","val","fieldsToJson","json","setFieldValue","set","getErrorMessage","messages","submitErrorMessage","container","_error$message2","_error$message2$toLow","context","match","classes","$container","join","test","remove","prepend","animate","scrollTop","offset","top","isValidAddress","address","_locales","exclude","i18n_params","wc_address_i18n_params","JSON","parse","entries","_ref","_ref2","_slicedToArray","fromEntries","_locale$key","required","convertCartAddressToPayPal","newAddress","_ADDRESS_MAPPING$key$2","k1","convertPayPalAddressToCart","intermediate","mappings","map","_ref3","_ref4","_step","_iterator","_createForOfIteratorHelper","s","n","done","e","f","isValidFieldValue","_value","isValid","extractShippingMethod","selectedMethod","matches","_defineProperty","extractFullName","name","slice","pop","getRestRoute","route","_getSetting","_getSetting$restRoute","_getSetting$restRoute2","restRoutes","getRestPath","path","_getSetting2","_getSetting2$ajaxRest","ajaxRestPath","getPage","page","isPluginConnected","_getSetting3","_getSetting3$clientId","clientId"],"sourceRoot":""}