paypal-checkout
Version:
PayPal Checkout components, for integrating checkout products.
1,089 lines (1,088 loc) • 656 kB
JavaScript
!function(e, a) {
for (var i in a) e[i] = a[i];
}(exports, function(modules) {
var installedModules = {};
function __webpack_require__(moduleId) {
if (installedModules[moduleId]) return installedModules[moduleId].exports;
var module = installedModules[moduleId] = {
i: moduleId,
l: !1,
exports: {}
};
modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
module.l = !0;
return module.exports;
}
__webpack_require__.m = modules;
__webpack_require__.c = installedModules;
__webpack_require__.d = function(exports, name, getter) {
__webpack_require__.o(exports, name) || Object.defineProperty(exports, name, {
enumerable: !0,
get: getter
});
};
__webpack_require__.r = function(exports) {
"undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(exports, Symbol.toStringTag, {
value: "Module"
});
Object.defineProperty(exports, "__esModule", {
value: !0
});
};
__webpack_require__.t = function(value, mode) {
1 & mode && (value = __webpack_require__(value));
if (8 & mode) return value;
if (4 & mode && "object" == typeof value && value && value.__esModule) return value;
var ns = Object.create(null);
__webpack_require__.r(ns);
Object.defineProperty(ns, "default", {
enumerable: !0,
value: value
});
if (2 & mode && "string" != typeof value) for (var key in value) __webpack_require__.d(ns, key, function(key) {
return value[key];
}.bind(null, key));
return ns;
};
__webpack_require__.n = function(module) {
var getter = module && module.__esModule ? function() {
return module.default;
} : function() {
return module;
};
__webpack_require__.d(getter, "a", getter);
return getter;
};
__webpack_require__.o = function(object, property) {
return {}.hasOwnProperty.call(object, property);
};
__webpack_require__.p = "";
return __webpack_require__(__webpack_require__.s = 0);
}([ function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
__webpack_require__.d(__webpack_exports__, "determineButtonTitle", (function() {
return determineButtonTitle;
}));
__webpack_require__.d(__webpack_exports__, "componentTemplate", (function() {
return componentTemplate;
}));
function _extends() {
return (_extends = Object.assign || function(target) {
for (var i = 1; i < arguments.length; i++) {
var source = arguments[i];
for (var key in source) ({}).hasOwnProperty.call(source, key) && (target[key] = source[key]);
}
return target;
}).apply(this, arguments);
}
function _setPrototypeOf(o, p) {
return (_setPrototypeOf = Object.setPrototypeOf || function(o, p) {
o.__proto__ = p;
return o;
})(o, p);
}
function utils_isPromise(item) {
try {
if (!item) return !1;
if ("undefined" != typeof Promise && item instanceof Promise) return !0;
if ("undefined" != typeof window && "function" == typeof window.Window && item instanceof window.Window) return !1;
if ("undefined" != typeof window && "function" == typeof window.constructor && item instanceof window.constructor) return !1;
var _toString = {}.toString;
if (_toString) {
var name = _toString.call(item);
if ("[object Window]" === name || "[object global]" === name || "[object DOMWindow]" === name) return !1;
}
if ("function" == typeof item.then) return !0;
} catch (err) {
return !1;
}
return !1;
}
var dispatchedErrors = [];
var possiblyUnhandledPromiseHandlers = [];
var activeCount = 0;
var flushPromise;
function flushActive() {
if (!activeCount && flushPromise) {
var promise = flushPromise;
flushPromise = null;
promise.resolve();
}
}
function startActive() {
activeCount += 1;
}
function endActive() {
activeCount -= 1;
flushActive();
}
var promise_ZalgoPromise = function() {
function ZalgoPromise(handler) {
var _this = this;
this.resolved = void 0;
this.rejected = void 0;
this.errorHandled = void 0;
this.value = void 0;
this.error = void 0;
this.handlers = void 0;
this.dispatching = void 0;
this.stack = void 0;
this.resolved = !1;
this.rejected = !1;
this.errorHandled = !1;
this.handlers = [];
if (handler) {
var _result;
var _error;
var resolved = !1;
var rejected = !1;
var isAsync = !1;
startActive();
try {
handler((function(res) {
if (isAsync) _this.resolve(res); else {
resolved = !0;
_result = res;
}
}), (function(err) {
if (isAsync) _this.reject(err); else {
rejected = !0;
_error = err;
}
}));
} catch (err) {
endActive();
this.reject(err);
return;
}
endActive();
isAsync = !0;
resolved ? this.resolve(_result) : rejected && this.reject(_error);
}
}
var _proto = ZalgoPromise.prototype;
_proto.resolve = function(result) {
if (this.resolved || this.rejected) return this;
if (utils_isPromise(result)) throw new Error("Can not resolve promise with another promise");
this.resolved = !0;
this.value = result;
this.dispatch();
return this;
};
_proto.reject = function(error) {
var _this2 = this;
if (this.resolved || this.rejected) return this;
if (utils_isPromise(error)) throw new Error("Can not reject promise with another promise");
if (!error) {
var _err = error && "function" == typeof error.toString ? error.toString() : {}.toString.call(error);
error = new Error("Expected reject to be called with Error, got " + _err);
}
this.rejected = !0;
this.error = error;
this.errorHandled || setTimeout((function() {
_this2.errorHandled || function(err, promise) {
if (-1 === dispatchedErrors.indexOf(err)) {
dispatchedErrors.push(err);
setTimeout((function() {
throw err;
}), 1);
for (var j = 0; j < possiblyUnhandledPromiseHandlers.length; j++) possiblyUnhandledPromiseHandlers[j](err, promise);
}
}(error, _this2);
}), 1);
this.dispatch();
return this;
};
_proto.asyncReject = function(error) {
this.errorHandled = !0;
this.reject(error);
return this;
};
_proto.dispatch = function() {
var resolved = this.resolved, rejected = this.rejected, handlers = this.handlers;
if (!this.dispatching && (resolved || rejected)) {
this.dispatching = !0;
startActive();
var chain = function(firstPromise, secondPromise) {
return firstPromise.then((function(res) {
secondPromise.resolve(res);
}), (function(err) {
secondPromise.reject(err);
}));
};
for (var i = 0; i < handlers.length; i++) {
var _handlers$i = handlers[i], onSuccess = _handlers$i.onSuccess, onError = _handlers$i.onError, promise = _handlers$i.promise;
var _result2 = void 0;
if (resolved) try {
_result2 = onSuccess ? onSuccess(this.value) : this.value;
} catch (err) {
promise.reject(err);
continue;
} else if (rejected) {
if (!onError) {
promise.reject(this.error);
continue;
}
try {
_result2 = onError(this.error);
} catch (err) {
promise.reject(err);
continue;
}
}
if (_result2 instanceof ZalgoPromise && (_result2.resolved || _result2.rejected)) {
var promiseResult = _result2;
promiseResult.resolved ? promise.resolve(promiseResult.value) : promise.reject(promiseResult.error);
promiseResult.errorHandled = !0;
} else utils_isPromise(_result2) ? _result2 instanceof ZalgoPromise && (_result2.resolved || _result2.rejected) ? _result2.resolved ? promise.resolve(_result2.value) : promise.reject(_result2.error) : chain(_result2, promise) : promise.resolve(_result2);
}
handlers.length = 0;
this.dispatching = !1;
endActive();
}
};
_proto.then = function(onSuccess, onError) {
if (onSuccess && "function" != typeof onSuccess && !onSuccess.call) throw new Error("Promise.then expected a function for success handler");
if (onError && "function" != typeof onError && !onError.call) throw new Error("Promise.then expected a function for error handler");
var promise = new ZalgoPromise;
this.handlers.push({
promise: promise,
onSuccess: onSuccess,
onError: onError
});
this.errorHandled = !0;
this.dispatch();
return promise;
};
_proto.catch = function(onError) {
return this.then(void 0, onError);
};
_proto.finally = function(onFinally) {
if (onFinally && "function" != typeof onFinally && !onFinally.call) throw new Error("Promise.finally expected a function");
return this.then((function(result) {
return ZalgoPromise.try(onFinally).then((function() {
return result;
}));
}), (function(err) {
return ZalgoPromise.try(onFinally).then((function() {
throw err;
}));
}));
};
_proto.timeout = function(time, err) {
var _this3 = this;
if (this.resolved || this.rejected) return this;
var timeout = setTimeout((function() {
_this3.resolved || _this3.rejected || _this3.reject(err || new Error("Promise timed out after " + time + "ms"));
}), time);
return this.then((function(result) {
clearTimeout(timeout);
return result;
}));
};
_proto.toPromise = function() {
if ("undefined" == typeof Promise) throw new TypeError("Could not find Promise");
return Promise.resolve(this);
};
_proto.lazy = function() {
this.errorHandled = !0;
return this;
};
ZalgoPromise.resolve = function(value) {
return value instanceof ZalgoPromise ? value : utils_isPromise(value) ? new ZalgoPromise((function(resolve, reject) {
return value.then(resolve, reject);
})) : (new ZalgoPromise).resolve(value);
};
ZalgoPromise.reject = function(error) {
return (new ZalgoPromise).reject(error);
};
ZalgoPromise.asyncReject = function(error) {
return (new ZalgoPromise).asyncReject(error);
};
ZalgoPromise.all = function(promises) {
var promise = new ZalgoPromise;
var count = promises.length;
var results = [].slice();
if (!count) {
promise.resolve(results);
return promise;
}
var chain = function(i, firstPromise, secondPromise) {
return firstPromise.then((function(res) {
results[i] = res;
0 == (count -= 1) && promise.resolve(results);
}), (function(err) {
secondPromise.reject(err);
}));
};
for (var i = 0; i < promises.length; i++) {
var prom = promises[i];
if (prom instanceof ZalgoPromise) {
if (prom.resolved) {
results[i] = prom.value;
count -= 1;
continue;
}
} else if (!utils_isPromise(prom)) {
results[i] = prom;
count -= 1;
continue;
}
chain(i, ZalgoPromise.resolve(prom), promise);
}
0 === count && promise.resolve(results);
return promise;
};
ZalgoPromise.hash = function(promises) {
var result = {};
var awaitPromises = [];
var _loop = function(key) {
if (promises.hasOwnProperty(key)) {
var value = promises[key];
utils_isPromise(value) ? awaitPromises.push(value.then((function(res) {
result[key] = res;
}))) : result[key] = value;
}
};
for (var key in promises) _loop(key);
return ZalgoPromise.all(awaitPromises).then((function() {
return result;
}));
};
ZalgoPromise.map = function(items, method) {
return ZalgoPromise.all(items.map(method));
};
ZalgoPromise.onPossiblyUnhandledException = function(handler) {
return function(handler) {
possiblyUnhandledPromiseHandlers.push(handler);
return {
cancel: function() {
possiblyUnhandledPromiseHandlers.splice(possiblyUnhandledPromiseHandlers.indexOf(handler), 1);
}
};
}(handler);
};
ZalgoPromise.try = function(method, context, args) {
if (method && "function" != typeof method && !method.call) throw new Error("Promise.try expected a function");
var result;
startActive();
try {
result = method.apply(context, args || []);
} catch (err) {
endActive();
return ZalgoPromise.reject(err);
}
endActive();
return ZalgoPromise.resolve(result);
};
ZalgoPromise.delay = function(_delay) {
return new ZalgoPromise((function(resolve) {
setTimeout(resolve, _delay);
}));
};
ZalgoPromise.isPromise = function(value) {
return !!(value && value instanceof ZalgoPromise) || utils_isPromise(value);
};
ZalgoPromise.flush = function() {
return function(Zalgo) {
var promise = flushPromise = flushPromise || new Zalgo;
flushActive();
return promise;
}(ZalgoPromise);
};
return ZalgoPromise;
}();
var IE_WIN_ACCESS_ERROR = "Call was rejected by callee.\r\n";
function getActualProtocol(win) {
void 0 === win && (win = window);
return win.location.protocol;
}
function getProtocol(win) {
void 0 === win && (win = window);
if (win.mockDomain) {
var protocol = win.mockDomain.split("//")[0];
if (protocol) return protocol;
}
return getActualProtocol(win);
}
function isAboutProtocol(win) {
void 0 === win && (win = window);
return "about:" === getProtocol(win);
}
function canReadFromWindow(win) {
try {
return !0;
} catch (err) {}
return !1;
}
function getActualDomain(win) {
void 0 === win && (win = window);
var location = win.location;
if (!location) throw new Error("Can not read window location");
var protocol = getActualProtocol(win);
if (!protocol) throw new Error("Can not read window protocol");
if ("file:" === protocol) return "file://";
if ("about:" === protocol) {
var parent = function(win) {
void 0 === win && (win = window);
if (win) try {
if (win.parent && win.parent !== win) return win.parent;
} catch (err) {}
}(win);
return parent && canReadFromWindow() ? getActualDomain(parent) : "about://";
}
var host = location.host;
if (!host) throw new Error("Can not read window host");
return protocol + "//" + host;
}
function getDomain(win) {
void 0 === win && (win = window);
var domain = getActualDomain(win);
return domain && win.mockDomain && 0 === win.mockDomain.indexOf("mock:") ? win.mockDomain : domain;
}
var iframeWindows = [];
var iframeFrames = [];
function isWindowClosed(win, allowMock) {
void 0 === allowMock && (allowMock = !0);
try {
if (win === window) return !1;
} catch (err) {
return !0;
}
try {
if (!win) return !0;
} catch (err) {
return !0;
}
try {
if (win.closed) return !0;
} catch (err) {
return !err || err.message !== IE_WIN_ACCESS_ERROR;
}
if (allowMock && function(win) {
if (!function(win) {
try {
if (win === window) return !0;
} catch (err) {}
try {
var desc = Object.getOwnPropertyDescriptor(win, "location");
if (desc && !1 === desc.enumerable) return !1;
} catch (err) {}
try {
if (isAboutProtocol(win) && canReadFromWindow()) return !0;
} catch (err) {}
try {
if (function(win) {
void 0 === win && (win = window);
return "mock:" === getProtocol(win);
}(win) && canReadFromWindow()) return !0;
} catch (err) {}
try {
if (getActualDomain(win) === getActualDomain(window)) return !0;
} catch (err) {}
return !1;
}(win)) return !1;
try {
if (win === window) return !0;
if (isAboutProtocol(win) && canReadFromWindow()) return !0;
if (getDomain(window) === getDomain(win)) return !0;
} catch (err) {}
return !1;
}(win)) try {
if (win.mockclosed) return !0;
} catch (err) {}
try {
if (!win.parent || !win.top) return !0;
} catch (err) {}
var iframeIndex = function(collection, item) {
for (var i = 0; i < collection.length; i++) try {
if (collection[i] === item) return i;
} catch (err) {}
return -1;
}(iframeWindows, win);
if (-1 !== iframeIndex) {
var frame = iframeFrames[iframeIndex];
if (frame && function(frame) {
if (!frame.contentWindow) return !0;
if (!frame.parentNode) return !0;
var doc = frame.ownerDocument;
if (doc && doc.documentElement && !doc.documentElement.contains(frame)) {
var parent = frame;
for (;parent.parentNode && parent.parentNode !== parent; ) parent = parent.parentNode;
if (!parent.host || !doc.documentElement.contains(parent.host)) return !0;
}
return !1;
}(frame)) return !0;
}
return !1;
}
function isWindow(obj) {
try {
if (obj === window) return !0;
} catch (err) {
if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;
}
try {
if ("[object Window]" === {}.toString.call(obj)) return !0;
} catch (err) {
if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;
}
try {
if (window.Window && obj instanceof window.Window) return !0;
} catch (err) {
if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;
}
try {
if (obj && obj.self === obj) return !0;
} catch (err) {
if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;
}
try {
if (obj && obj.parent === obj) return !0;
} catch (err) {
if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;
}
try {
if (obj && obj.top === obj) return !0;
} catch (err) {
if (err && err.message === IE_WIN_ACCESS_ERROR) return !0;
}
try {
if (obj && "__unlikely_value__" === obj.__cross_domain_utils_window_check__) return !1;
} catch (err) {
return !0;
}
try {
if ("postMessage" in obj && "self" in obj && "location" in obj) return !0;
} catch (err) {}
return !1;
}
function util_safeIndexOf(collection, item) {
for (var i = 0; i < collection.length; i++) try {
if (collection[i] === item) return i;
} catch (err) {}
return -1;
}
var weakmap_CrossDomainSafeWeakMap = function() {
function CrossDomainSafeWeakMap() {
this.name = void 0;
this.weakmap = void 0;
this.keys = void 0;
this.values = void 0;
this.name = "__weakmap_" + (1e9 * Math.random() >>> 0) + "__";
if (function() {
if ("undefined" == typeof WeakMap) return !1;
if (void 0 === Object.freeze) return !1;
try {
var testWeakMap = new WeakMap;
var testKey = {};
Object.freeze(testKey);
testWeakMap.set(testKey, "__testvalue__");
return "__testvalue__" === testWeakMap.get(testKey);
} catch (err) {
return !1;
}
}()) try {
this.weakmap = new WeakMap;
} catch (err) {}
this.keys = [];
this.values = [];
}
var _proto = CrossDomainSafeWeakMap.prototype;
_proto._cleanupClosedWindows = function() {
var weakmap = this.weakmap;
var keys = this.keys;
for (var i = 0; i < keys.length; i++) {
var value = keys[i];
if (isWindow(value) && isWindowClosed(value)) {
if (weakmap) try {
weakmap.delete(value);
} catch (err) {}
keys.splice(i, 1);
this.values.splice(i, 1);
i -= 1;
}
}
};
_proto.isSafeToReadWrite = function(key) {
return !isWindow(key);
};
_proto.set = function(key, value) {
if (!key) throw new Error("WeakMap expected key");
var weakmap = this.weakmap;
if (weakmap) try {
weakmap.set(key, value);
} catch (err) {
delete this.weakmap;
}
if (this.isSafeToReadWrite(key)) try {
var name = this.name;
var entry = key[name];
entry && entry[0] === key ? entry[1] = value : Object.defineProperty(key, name, {
value: [ key, value ],
writable: !0
});
return;
} catch (err) {}
this._cleanupClosedWindows();
var keys = this.keys;
var values = this.values;
var index = util_safeIndexOf(keys, key);
if (-1 === index) {
keys.push(key);
values.push(value);
} else values[index] = value;
};
_proto.get = function(key) {
if (!key) throw new Error("WeakMap expected key");
var weakmap = this.weakmap;
if (weakmap) try {
if (weakmap.has(key)) return weakmap.get(key);
} catch (err) {
delete this.weakmap;
}
if (this.isSafeToReadWrite(key)) try {
var entry = key[this.name];
return entry && entry[0] === key ? entry[1] : void 0;
} catch (err) {}
this._cleanupClosedWindows();
var index = util_safeIndexOf(this.keys, key);
if (-1 !== index) return this.values[index];
};
_proto.delete = function(key) {
if (!key) throw new Error("WeakMap expected key");
var weakmap = this.weakmap;
if (weakmap) try {
weakmap.delete(key);
} catch (err) {
delete this.weakmap;
}
if (this.isSafeToReadWrite(key)) try {
var entry = key[this.name];
entry && entry[0] === key && (entry[0] = entry[1] = void 0);
} catch (err) {}
this._cleanupClosedWindows();
var keys = this.keys;
var index = util_safeIndexOf(keys, key);
if (-1 !== index) {
keys.splice(index, 1);
this.values.splice(index, 1);
}
};
_proto.has = function(key) {
if (!key) throw new Error("WeakMap expected key");
var weakmap = this.weakmap;
if (weakmap) try {
if (weakmap.has(key)) return !0;
} catch (err) {
delete this.weakmap;
}
if (this.isSafeToReadWrite(key)) try {
var entry = key[this.name];
return !(!entry || entry[0] !== key);
} catch (err) {}
this._cleanupClosedWindows();
return -1 !== util_safeIndexOf(this.keys, key);
};
_proto.getOrSet = function(key, getter) {
if (this.has(key)) return this.get(key);
var value = getter();
this.set(key, value);
return value;
};
return CrossDomainSafeWeakMap;
}();
function base64encode(str) {
if ("function" == typeof btoa) return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, (function(m, p1) {
return String.fromCharCode(parseInt(p1, 16));
}))).replace(/[=]/g, "");
if ("undefined" != typeof Buffer) return Buffer.from(str, "utf8").toString("base64").replace(/[=]/g, "");
throw new Error("Can not find window.btoa or Buffer");
}
function uniqueID() {
var chars = "0123456789abcdef";
return "uid_" + "xxxxxxxxxx".replace(/./g, (function() {
return chars.charAt(Math.floor(Math.random() * chars.length));
})) + "_" + base64encode((new Date).toISOString().slice(11, 19).replace("T", ".")).replace(/[^a-zA-Z0-9]/g, "").toLowerCase();
}
var objectIDs;
function serializeArgs(args) {
try {
return JSON.stringify([].slice.call(args), (function(subkey, val) {
return "function" == typeof val ? "memoize[" + function(obj) {
objectIDs = objectIDs || new weakmap_CrossDomainSafeWeakMap;
if (null == obj || "object" != typeof obj && "function" != typeof obj) throw new Error("Invalid object");
var uid = objectIDs.get(obj);
if (!uid) {
uid = typeof obj + ":" + uniqueID();
objectIDs.set(obj, uid);
}
return uid;
}(val) + "]" : val;
}));
} catch (err) {
throw new Error("Arguments not serializable -- can not be used to memoize");
}
}
function getEmptyObject() {
return {};
}
var memoizeGlobalIndex = 0;
var memoizeGlobalIndexValidFrom = 0;
function memoize(method, options) {
void 0 === options && (options = {});
var _options$thisNamespac = options.thisNamespace, thisNamespace = void 0 !== _options$thisNamespac && _options$thisNamespac, cacheTime = options.time;
var simpleCache;
var thisCache;
var memoizeIndex = memoizeGlobalIndex;
memoizeGlobalIndex += 1;
var memoizedFunction = function() {
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];
if (memoizeIndex < memoizeGlobalIndexValidFrom) {
simpleCache = null;
thisCache = null;
memoizeIndex = memoizeGlobalIndex;
memoizeGlobalIndex += 1;
}
var cache;
cache = thisNamespace ? (thisCache = thisCache || new weakmap_CrossDomainSafeWeakMap).getOrSet(this, getEmptyObject) : simpleCache = simpleCache || {};
var cacheKey = serializeArgs(args);
var cacheResult = cache[cacheKey];
if (cacheResult && cacheTime && Date.now() - cacheResult.time < cacheTime) {
delete cache[cacheKey];
cacheResult = null;
}
if (cacheResult) return cacheResult.value;
var time = Date.now();
var value = method.apply(this, arguments);
cache[cacheKey] = {
time: time,
value: value
};
return value;
};
memoizedFunction.reset = function() {
simpleCache = null;
thisCache = null;
};
return function(fn, name) {
try {
delete fn.name;
fn.name = name;
} catch (err) {}
fn.__name__ = fn.displayName = name;
return fn;
}(memoizedFunction, (options.name || (fn = method).name || fn.__name__ || fn.displayName || "anonymous") + "::memoized");
var fn;
}
memoize.clear = function() {
memoizeGlobalIndexValidFrom = memoizeGlobalIndex;
};
memoize((function(obj) {
if (Object.values) return Object.values(obj);
var result = [];
for (var key in obj) obj.hasOwnProperty(key) && result.push(obj[key]);
return result;
}));
Error;
function isDocumentReady() {
return Boolean(document.body) && "complete" === document.readyState;
}
function isDocumentInteractive() {
return Boolean(document.body) && "interactive" === document.readyState;
}
memoize((function() {
return new promise_ZalgoPromise((function(resolve) {
if (isDocumentReady() || isDocumentInteractive()) return resolve();
var interval = setInterval((function() {
if (isDocumentReady() || isDocumentInteractive()) {
clearInterval(interval);
return resolve();
}
}), 10);
}));
}));
var currentScript = "undefined" != typeof document ? document.currentScript : null;
var getCurrentScript = memoize((function() {
if (currentScript) return currentScript;
if (currentScript = function() {
try {
var stack = function() {
try {
throw new Error("_");
} catch (err) {
return err.stack || "";
}
}();
var stackDetails = /.*at [^(]*\((.*):(.+):(.+)\)$/gi.exec(stack);
var scriptLocation = stackDetails && stackDetails[1];
if (!scriptLocation) return;
for (var _i22 = 0, _Array$prototype$slic2 = [].slice.call(document.getElementsByTagName("script")).reverse(); _i22 < _Array$prototype$slic2.length; _i22++) {
var script = _Array$prototype$slic2[_i22];
if (script.src && script.src === scriptLocation) return script;
}
} catch (err) {}
}()) return currentScript;
throw new Error("Can not determine current script");
}));
var currentUID = uniqueID();
memoize((function() {
var script;
try {
script = getCurrentScript();
} catch (err) {
return currentUID;
}
var uid = script.getAttribute("data-uid");
if (uid && "string" == typeof uid) return uid;
if ((uid = script.getAttribute("data-uid-auto")) && "string" == typeof uid) return uid;
if (script.src) {
var hashedString = function(str) {
var hash = "";
for (var i = 0; i < str.length; i++) {
var total = str[i].charCodeAt(0) * i;
str[i + 1] && (total += str[i + 1].charCodeAt(0) * (i - 1));
hash += String.fromCharCode(97 + Math.abs(total) % 26);
}
return hash;
}(JSON.stringify({
src: script.src,
dataset: script.dataset
}));
uid = "uid_" + hashedString.slice(hashedString.length - 30);
} else uid = uniqueID();
script.setAttribute("data-uid-auto", uid);
return uid;
}));
var BUTTON_SIZE = {
TINY: "tiny",
SMALL: "small",
MEDIUM: "medium",
LARGE: "large",
HUGE: "huge",
RESPONSIVE: "responsive"
};
var FUNDING = {
PAYPAL: "paypal",
VENMO: "venmo",
ITAU: "itau",
CREDIT: "credit",
CARD: "card",
IDEAL: "ideal",
ELV: "elv",
BANCONTACT: "bancontact",
GIROPAY: "giropay",
SOFORT: "sofort",
EPS: "eps",
MYBANK: "mybank",
P24: "p24",
ZIMPLER: "zimpler",
BLIK: "blik",
MAXIMA: "maxima",
BOLETO: "boleto",
OXXO: "oxxo",
MERCADOPAGO: "mercadopago"
};
var DEFAULT = "default";
var _CONTEXT_TYPE;
(_CONTEXT_TYPE = {
BUTTON_SESSION_ID: "button_session_id"
}).pay_id = "Pay-ID", _CONTEXT_TYPE.ec_token = "EC-Token", _CONTEXT_TYPE.ba_token = "EC-Token";
var _LANG_TO_DEFAULT_COUN;
(_LANG_TO_DEFAULT_COUN = {}).ar = "SA", _LANG_TO_DEFAULT_COUN.cs = "CZ", _LANG_TO_DEFAULT_COUN.da = "DK",
_LANG_TO_DEFAULT_COUN.de = "DE", _LANG_TO_DEFAULT_COUN.el = "GR", _LANG_TO_DEFAULT_COUN.en = "US",
_LANG_TO_DEFAULT_COUN.es = "ES", _LANG_TO_DEFAULT_COUN.fi = "FI", _LANG_TO_DEFAULT_COUN.fr = "FR",
_LANG_TO_DEFAULT_COUN.he = "IL", _LANG_TO_DEFAULT_COUN.hu = "HU", _LANG_TO_DEFAULT_COUN.id = "ID",
_LANG_TO_DEFAULT_COUN.it = "IT", _LANG_TO_DEFAULT_COUN.ja = "JP", _LANG_TO_DEFAULT_COUN.ko = "KR",
_LANG_TO_DEFAULT_COUN.nl = "NL", _LANG_TO_DEFAULT_COUN.no = "NO", _LANG_TO_DEFAULT_COUN.pl = "PL",
_LANG_TO_DEFAULT_COUN.pt = "PT", _LANG_TO_DEFAULT_COUN.ru = "RU", _LANG_TO_DEFAULT_COUN.sk = "SK",
_LANG_TO_DEFAULT_COUN.sv = "SE", _LANG_TO_DEFAULT_COUN.th = "TH", _LANG_TO_DEFAULT_COUN.tr = "TR",
_LANG_TO_DEFAULT_COUN.zh = "CN";
var ALLOWED_INSTALLMENT_COUNTRIES = [ "BR", "MX" ];
var ALLOWED_INSTALLMENT_PERIOD = {
BR: [ 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 ],
MX: [ 3, 6, 9, 12 ]
};
var _LOCALE;
var LOCALE = ((_LOCALE = {}).AD = [ "en", "fr", "es", "zh" ], _LOCALE.AE = [ "en", "fr", "es", "zh", "ar" ],
_LOCALE.AG = [ "en", "fr", "es", "zh" ], _LOCALE.AI = [ "en", "fr", "es", "zh" ],
_LOCALE.AL = [ "en" ], _LOCALE.AM = [ "en", "fr", "es", "zh" ], _LOCALE.AN = [ "en", "fr", "es", "zh" ],
_LOCALE.AO = [ "en", "fr", "es", "zh" ], _LOCALE.AR = [ "es", "en" ], _LOCALE.AT = [ "de", "en" ],
_LOCALE.AU = [ "en" ], _LOCALE.AW = [ "en", "fr", "es", "zh" ], _LOCALE.AZ = [ "en", "fr", "es", "zh" ],
_LOCALE.BA = [ "en" ], _LOCALE.BB = [ "en", "fr", "es", "zh" ], _LOCALE.BE = [ "en", "nl", "fr" ],
_LOCALE.BF = [ "fr", "en", "es", "zh" ], _LOCALE.BG = [ "en" ], _LOCALE.BH = [ "ar", "en", "fr", "es", "zh" ],
_LOCALE.BI = [ "fr", "en", "es", "zh" ], _LOCALE.BJ = [ "fr", "en", "es", "zh" ],
_LOCALE.BM = [ "en", "fr", "es", "zh" ], _LOCALE.BN = [ "en" ], _LOCALE.BO = [ "es", "en", "fr", "zh" ],
_LOCALE.BR = [ "pt", "en" ], _LOCALE.BS = [ "en", "fr", "es", "zh" ], _LOCALE.BT = [ "en" ],
_LOCALE.BW = [ "en", "fr", "es", "zh" ], _LOCALE.BY = [ "en" ], _LOCALE.BZ = [ "en", "es", "fr", "zh" ],
_LOCALE.C2 = [ "zh", "en" ], _LOCALE.CA = [ "en", "fr" ], _LOCALE.CD = [ "fr", "en", "es", "zh" ],
_LOCALE.CG = [ "en", "fr", "es", "zh" ], _LOCALE.CH = [ "de", "fr", "en" ], _LOCALE.CI = [ "fr", "en" ],
_LOCALE.CK = [ "en", "fr", "es", "zh" ], _LOCALE.CL = [ "es", "en", "fr", "zh" ],
_LOCALE.CM = [ "fr", "en" ], _LOCALE.CN = [ "zh" ], _LOCALE.CO = [ "es", "en", "fr", "zh" ],
_LOCALE.CR = [ "es", "en", "fr", "zh" ], _LOCALE.CV = [ "en", "fr", "es", "zh" ],
_LOCALE.CY = [ "en" ], _LOCALE.CZ = [ "cs", "en", "fr", "es", "zh" ], _LOCALE.DE = [ "de", "en" ],
_LOCALE.DJ = [ "fr", "en", "es", "zh" ], _LOCALE.DK = [ "da", "en" ], _LOCALE.DM = [ "en", "fr", "es", "zh" ],
_LOCALE.DO = [ "es", "en", "fr", "zh" ], _LOCALE.DZ = [ "ar", "en", "fr", "es", "zh" ],
_LOCALE.EC = [ "es", "en", "fr", "zh" ], _LOCALE.EE = [ "en", "ru", "fr", "es", "zh" ],
_LOCALE.EG = [ "ar", "en", "fr", "es", "zh" ], _LOCALE.ER = [ "en", "fr", "es", "zh" ],
_LOCALE.ES = [ "es", "en" ], _LOCALE.ET = [ "en", "fr", "es", "zh" ], _LOCALE.FI = [ "fi", "en", "fr", "es", "zh" ],
_LOCALE.FJ = [ "en", "fr", "es", "zh" ], _LOCALE.FK = [ "en", "fr", "es", "zh" ],
_LOCALE.FM = [ "en" ], _LOCALE.FO = [ "da", "en", "fr", "es", "zh" ], _LOCALE.FR = [ "fr", "en" ],
_LOCALE.GA = [ "fr", "en", "es", "zh" ], _LOCALE.GB = [ "en" ], _LOCALE.GD = [ "en", "fr", "es", "zh" ],
_LOCALE.GE = [ "en", "fr", "es", "zh" ], _LOCALE.GF = [ "en", "fr", "es", "zh" ],
_LOCALE.GI = [ "en", "fr", "es", "zh" ], _LOCALE.GL = [ "da", "en", "fr", "es", "zh" ],
_LOCALE.GM = [ "en", "fr", "es", "zh" ], _LOCALE.GN = [ "fr", "en", "es", "zh" ],
_LOCALE.GP = [ "en", "fr", "es", "zh" ], _LOCALE.GR = [ "el", "en", "fr", "es", "zh" ],
_LOCALE.GT = [ "es", "en", "fr", "zh" ], _LOCALE.GW = [ "en", "fr", "es", "zh" ],
_LOCALE.GY = [ "en", "fr", "es", "zh" ], _LOCALE.HK = [ "en", "zh" ], _LOCALE.HN = [ "es", "en", "fr", "zh" ],
_LOCALE.HR = [ "en" ], _LOCALE.HU = [ "hu", "en", "fr", "es", "zh" ], _LOCALE.ID = [ "id", "en" ],
_LOCALE.IE = [ "en", "fr", "es", "zh" ], _LOCALE.IL = [ "he", "en" ], _LOCALE.IN = [ "en" ],
_LOCALE.IS = [ "en" ], _LOCALE.IT = [ "it", "en" ], _LOCALE.JM = [ "en", "es", "fr", "zh" ],
_LOCALE.JO = [ "ar", "en", "fr", "es", "zh" ], _LOCALE.JP = [ "ja", "en" ], _LOCALE.KE = [ "en", "fr", "es", "zh" ],
_LOCALE.KG = [ "en", "fr", "es", "zh" ], _LOCALE.KH = [ "en" ], _LOCALE.KI = [ "en", "fr", "es", "zh" ],
_LOCALE.KM = [ "fr", "en", "es", "zh" ], _LOCALE.KN = [ "en", "fr", "es", "zh" ],
_LOCALE.KR = [ "ko", "en" ], _LOCALE.KW = [ "ar", "en", "fr", "es", "zh" ], _LOCALE.KY = [ "en", "fr", "es", "zh" ],
_LOCALE.KZ = [ "en", "fr", "es", "zh" ], _LOCALE.LA = [ "en" ], _LOCALE.LC = [ "en", "fr", "es", "zh" ],
_LOCALE.LI = [ "en", "fr", "es", "zh" ], _LOCALE.LK = [ "en" ], _LOCALE.LS = [ "en", "fr", "es", "zh" ],
_LOCALE.LT = [ "en", "ru", "fr", "es", "zh" ], _LOCALE.LU = [ "en", "de", "fr", "es", "zh" ],
_LOCALE.LV = [ "en", "ru", "fr", "es", "zh" ], _LOCALE.MA = [ "ar", "en", "fr", "es", "zh" ],
_LOCALE.MC = [ "fr", "en" ], _LOCALE.MD = [ "en" ], _LOCALE.ME = [ "en" ], _LOCALE.MG = [ "en", "fr", "es", "zh" ],
_LOCALE.MH = [ "en", "fr", "es", "zh" ], _LOCALE.MK = [ "en" ], _LOCALE.ML = [ "fr", "en", "es", "zh" ],
_LOCALE.MN = [ "en" ], _LOCALE.MQ = [ "en", "fr", "es", "zh" ], _LOCALE.MR = [ "en", "fr", "es", "zh" ],
_LOCALE.MS = [ "en", "fr", "es", "zh" ], _LOCALE.MT = [ "en" ], _LOCALE.MU = [ "en", "fr", "es", "zh" ],
_LOCALE.MV = [ "en" ], _LOCALE.MW = [ "en", "fr", "es", "zh" ], _LOCALE.MX = [ "es", "en" ],
_LOCALE.MY = [ "en" ], _LOCALE.MZ = [ "en", "fr", "es", "zh" ], _LOCALE.NA = [ "en", "fr", "es", "zh" ],
_LOCALE.NC = [ "en", "fr", "es", "zh" ], _LOCALE.NE = [ "fr", "en", "es", "zh" ],
_LOCALE.NF = [ "en", "fr", "es", "zh" ], _LOCALE.NG = [ "en" ], _LOCALE.NI = [ "es", "en", "fr", "zh" ],
_LOCALE.NL = [ "nl", "en" ], _LOCALE.NO = [ "no", "en" ], _LOCALE.NP = [ "en" ],
_LOCALE.NR = [ "en", "fr", "es", "zh" ], _LOCALE.NU = [ "en", "fr", "es", "zh" ],
_LOCALE.NZ = [ "en", "fr", "es", "zh" ], _LOCALE.OM = [ "ar", "en", "fr", "es", "zh" ],
_LOCALE.PA = [ "es", "en", "fr", "zh" ], _LOCALE.PE = [ "es", "en", "fr", "zh" ],
_LOCALE.PF = [ "en", "fr", "es", "zh" ], _LOCALE.PG = [ "en", "fr", "es", "zh" ],
_LOCALE.PH = [ "en" ], _LOCALE.PL = [ "pl", "en" ], _LOCALE.PM = [ "en", "fr", "es", "zh" ],
_LOCALE.PN = [ "en", "fr", "es", "zh" ], _LOCALE.PT = [ "pt", "en" ], _LOCALE.PW = [ "en", "fr", "es", "zh" ],
_LOCALE.PY = [ "es", "en" ], _LOCALE.QA = [ "en", "fr", "es", "zh", "ar" ], _LOCALE.RE = [ "en", "fr", "es", "zh" ],
_LOCALE.RO = [ "en", "fr", "es", "zh" ], _LOCALE.RS = [ "en", "fr", "es", "zh" ],
_LOCALE.RU = [ "ru", "en" ], _LOCALE.RW = [ "fr", "en", "es", "zh" ], _LOCALE.SA = [ "ar", "en", "fr", "es", "zh" ],
_LOCALE.SB = [ "en", "fr", "es", "zh" ], _LOCALE.SC = [ "fr", "en", "es", "zh" ],
_LOCALE.SE = [ "sv", "en" ], _LOCALE.SG = [ "en" ], _LOCALE.SH = [ "en", "fr", "es", "zh" ],
_LOCALE.SI = [ "en", "fr", "es", "zh" ], _LOCALE.SJ = [ "en", "fr", "es", "zh" ],
_LOCALE.SK = [ "sk", "en", "fr", "es", "zh" ], _LOCALE.SL = [ "en", "fr", "es", "zh" ],
_LOCALE.SM = [ "en", "fr", "es", "zh" ], _LOCALE.SN = [ "fr", "en", "es", "zh" ],
_LOCALE.SO = [ "en", "fr", "es", "zh" ], _LOCALE.SR = [ "en", "fr", "es", "zh" ],
_LOCALE.ST = [ "en", "fr", "es", "zh" ], _LOCALE.SV = [ "es", "en", "fr", "zh" ],
_LOCALE.SZ = [ "en", "fr", "es", "zh" ], _LOCALE.TC = [ "en", "fr", "es", "zh" ],
_LOCALE.TD = [ "fr", "en", "es", "zh" ], _LOCALE.TG = [ "fr", "en", "es", "zh" ],
_LOCALE.TH = [ "th", "en" ], _LOCALE.TJ = [ "en", "fr", "es", "zh" ], _LOCALE.TM = [ "en", "fr", "es", "zh" ],
_LOCALE.TN = [ "ar", "en", "fr", "es", "zh" ], _LOCALE.TO = [ "en" ], _LOCALE.TR = [ "tr", "en" ],
_LOCALE.TT = [ "en", "fr", "es", "zh" ], _LOCALE.TV = [ "en", "fr", "es", "zh" ],
_LOCALE.TW = [ "zh", "en" ], _LOCALE.TZ = [ "en", "fr", "es", "zh" ], _LOCALE.UA = [ "en", "ru", "fr", "es", "zh" ],
_LOCALE.UG = [ "en", "fr", "es", "zh" ], _LOCALE.US = [ "en", "fr", "es", "zh" ],
_LOCALE.UY = [ "es", "en", "fr", "zh" ], _LOCALE.VA = [ "en", "fr", "es", "zh" ],
_LOCALE.VC = [ "en", "fr", "es", "zh" ], _LOCALE.VE = [ "es", "en", "fr", "zh" ],
_LOCALE.VG = [ "en", "fr", "es", "zh" ], _LOCALE.VN = [ "en" ], _LOCALE.VU = [ "en", "fr", "es", "zh" ],
_LOCALE.WF = [ "en", "fr", "es", "zh" ], _LOCALE.WS = [ "en" ], _LOCALE.YE = [ "ar", "en", "fr", "es", "zh" ],
_LOCALE.YT = [ "en", "fr", "es", "zh" ], _LOCALE.ZA = [ "en", "fr", "es", "zh" ],
_LOCALE.ZM = [ "en", "fr", "es", "zh" ], _LOCALE.ZW = [ "en" ], _LOCALE);
var _logoColors, _tagLineColors, _secondaryColors, _logoColors2, _secondaryColors2, _logoColors3, _secondaryColors3, _logoColors4, _secondaryColors4, _logoColors5, _secondaryColors5, _logoColors6, _secondaryColors6, _logoColors7, _secondaryColors7, _logoColors8, _secondaryColors8, _logoColors9, _secondaryColors9, _logoColors10, _secondaryColors10, _logoColors11, _secondaryColors11, _logoColors12, _secondaryColors12, _logoColors13, _secondaryColors13, _logoColors14, _secondaryColors14, _logoColors15, _secondaryColors15, _logoColors16, _secondaryColors16, _logoColors17, _secondaryColors17, _logoColors18, _secondaryColors18, _BUTTON_CONFIG, _FUNDING_TO_DEFAULT_L, _LABEL_TO_FUNDING, _BUTTON_STYLE;
var BUTTON_CONFIG = ((_BUTTON_CONFIG = {})[DEFAULT] = {
colors: [ "gold", "blue", "silver", "black", "white" ],
sizes: [ BUTTON_SIZE.SMALL, BUTTON_SIZE.MEDIUM, BUTTON_SIZE.LARGE, BUTTON_SIZE.RESPONSIVE ],
shapes: [ "pill", "rect" ],
layouts: [ "horizontal", "vertical" ],
logoColors: (_logoColors = {}, _logoColors.gold = "blue", _logoColors.silver = "blue",
_logoColors.blue = "white", _logoColors.black = "white", _logoColors.black = "white",
_logoColors.white = "blue", _logoColors),
tagLineColors: (_tagLineColors = {}, _tagLineColors.gold = "blue", _tagLineColors.silver = "blue",
_tagLineColors.blue = "blue", _tagLineColors.black = "black", _tagLineColors.darkblue = "blue",
_tagLineColors),
secondaryColors: (_secondaryColors = {}, _secondaryColors.gold = "blue", _secondaryColors.silver = "blue",
_secondaryColors.blue = "silver", _secondaryColors.black = "black", _secondaryColors.darkblue = "silver",
_secondaryColors.white = "white", _secondaryColors),
tag: "{ content: safer_tag }",
dualTag: "{ content: dual_tag|safer_tag }",
defaultLocale: {
country: "US",
lang: "en"
},
defaultLabel: "checkout",
defaultVerticalLabel: "paypal",
defaultColor: "gold",
defaultSize: BUTTON_SIZE.SMALL,
defaultVerticalSize: BUTTON_SIZE.MEDIUM,
defaultShape: "pill",
defaultLayout: "horizontal",
defaultBranding: !0,
defaultVerticalBranding: !0,
defaultFundingIcons: !1,
defaultTagline: !0,
defaultDual: "",
minimumSize: BUTTON_SIZE.TINY,
minimumVerticalSize: BUTTON_SIZE.MEDIUM,
maximumSize: BUTTON_SIZE.HUGE,
maximumVerticalSize: BUTTON_SIZE.HUGE,
minHorizontalButtons: 1,
minVerticalButtons: 1,
maxHorizontalButtons: 2,
maxVerticalButtons: 6,
allowUnbranded: !1,
allowFundingIcons: !0,
allowPrimary: !1,
allowPrimaryVertical: !1,
allowPrimaryHorizontal: !1
}, _BUTTON_CONFIG.paypal = {
label: "{ logo: pp } { logo: paypal }",
logoLabel: "{ logo: pp } { logo: paypal }",
allowPrimary: !0,
allowPrimaryVertical: !0,
allowPrimaryHorizontal: !0,
title: "PayPal"
}, _BUTTON_CONFIG.checkout = {
label: "{ content: checkout }",
logoLabel: "{ logo: pp } { logo: paypal }",
allowPrimary: !0,
allowPrimaryVertical: !0,
allowPrimaryHorizontal: !0
}, _BUTTON_CONFIG.pay = {
label: "{ content: pay }",
logoLabel: "{ logo: paypal }",
allowPrimary: !0,
allowPrimaryVertical: !0,
allowPrimaryHorizontal: !0
}, _BUTTON_CONFIG.buynow = {
label: "{ content: buynow }",
logoLabel: "{ logo: pp } { logo: paypal }",
defaultBranding: void 0,
allowPrimary: !0,
allowPrimaryVertical: !0,
allowPrimaryHorizontal: !0,
allowUnbranded: !0
}, _BUTTON_CONFIG.installment = {
label: function(style) {
return "{ content: " + (style.installmentperiod ? "installment_period" : "installment") + " }";
},
logoLabel: "{ logo: pp } { logo: paypal }",
allowPrimary: !0,
allowPrimaryVertical: !0,
allowPrimaryHorizontal: !0,
allowSecondaryVertical: !1,
allowSecondaryHorizontal: !1
}, _BUTTON_CONFIG.credit = {
label: function(_ref) {
return "DE" === _ref.locale.country ? "{ logo: credit }" : "{ logo: pp } { logo: paypal } { logo: credit }";
},
logoLabel: function(_ref2) {
return "DE" === _ref2.locale.country ? "{ logo: credit }" : "{ logo: pp } { logo: paypal } { logo: credit }";
},
tag: "{ content: later_tag }",
colors: [ "darkblue", "black", "white" ],
logoColors: (_logoColors2 = {}, _logoColors2.black = "white", _logoColors2.darkblue = "white",
_logoColors2.white = "blue", _logoColors2),
secondaryColors: (_secondaryColors2 = {}, _secondaryColors2.gold = "darkblue", _secondaryColors2.blue = "darkblue",
_secondaryColors2.silver = "darkblue", _secondaryColors2.black = "black", _secondaryColors2.white = "white",
_secondaryColors2),
defaultColor: "darkblue",
allowPrimary: !0,
allowPrimaryVertical: !1,
allowPrimaryHorizontal: !1,