{"version":3,"file":"stripe-vendor-7VNyb_t_.js","sources":["../../../node_modules/@stripe/stripe-js/dist/index.mjs","../../../node_modules/prop-types/lib/ReactPropTypesSecret.js","../../../node_modules/prop-types/factoryWithThrowingShims.js","../../../node_modules/prop-types/index.js","../../../node_modules/@stripe/react-stripe-js/dist/react-stripe.esm.mjs"],"sourcesContent":["var V3_URL = 'https://js.stripe.com/v3';\nvar V3_URL_REGEX = /^https:\\/\\/js\\.stripe\\.com\\/v3\\/?(\\?.*)?$/;\nvar EXISTING_SCRIPT_MESSAGE = 'loadStripe.setLoadParameters was called but an existing Stripe.js script already exists in the document; existing script parameters will be used';\nvar findScript = function findScript() {\n var scripts = document.querySelectorAll(\"script[src^=\\\"\".concat(V3_URL, \"\\\"]\"));\n\n for (var i = 0; i < scripts.length; i++) {\n var script = scripts[i];\n\n if (!V3_URL_REGEX.test(script.src)) {\n continue;\n }\n\n return script;\n }\n\n return null;\n};\n\nvar injectScript = function injectScript(params) {\n var queryString = params && !params.advancedFraudSignals ? '?advancedFraudSignals=false' : '';\n var script = document.createElement('script');\n script.src = \"\".concat(V3_URL).concat(queryString);\n var headOrBody = document.head || document.body;\n\n if (!headOrBody) {\n throw new Error('Expected document.body not to be null. Stripe.js requires a element.');\n }\n\n headOrBody.appendChild(script);\n return script;\n};\n\nvar registerWrapper = function registerWrapper(stripe, startTime) {\n if (!stripe || !stripe._registerWrapper) {\n return;\n }\n\n stripe._registerWrapper({\n name: 'stripe-js',\n version: \"4.6.0\",\n startTime: startTime\n });\n};\n\nvar stripePromise = null;\nvar onErrorListener = null;\nvar onLoadListener = null;\n\nvar onError = function onError(reject) {\n return function () {\n reject(new Error('Failed to load Stripe.js'));\n };\n};\n\nvar onLoad = function onLoad(resolve, reject) {\n return function () {\n if (window.Stripe) {\n resolve(window.Stripe);\n } else {\n reject(new Error('Stripe.js not available'));\n }\n };\n};\n\nvar loadScript = function loadScript(params) {\n // Ensure that we only attempt to load Stripe.js at most once\n if (stripePromise !== null) {\n return stripePromise;\n }\n\n stripePromise = new Promise(function (resolve, reject) {\n if (typeof window === 'undefined' || typeof document === 'undefined') {\n // Resolve to null when imported server side. This makes the module\n // safe to import in an isomorphic code base.\n resolve(null);\n return;\n }\n\n if (window.Stripe && params) {\n console.warn(EXISTING_SCRIPT_MESSAGE);\n }\n\n if (window.Stripe) {\n resolve(window.Stripe);\n return;\n }\n\n try {\n var script = findScript();\n\n if (script && params) {\n console.warn(EXISTING_SCRIPT_MESSAGE);\n } else if (!script) {\n script = injectScript(params);\n } else if (script && onLoadListener !== null && onErrorListener !== null) {\n var _script$parentNode;\n\n // remove event listeners\n script.removeEventListener('load', onLoadListener);\n script.removeEventListener('error', onErrorListener); // if script exists, but we are reloading due to an error,\n // reload script to trigger 'load' event\n\n (_script$parentNode = script.parentNode) === null || _script$parentNode === void 0 ? void 0 : _script$parentNode.removeChild(script);\n script = injectScript(params);\n }\n\n onLoadListener = onLoad(resolve, reject);\n onErrorListener = onError(reject);\n script.addEventListener('load', onLoadListener);\n script.addEventListener('error', onErrorListener);\n } catch (error) {\n reject(error);\n return;\n }\n }); // Resets stripePromise on error\n\n return stripePromise[\"catch\"](function (error) {\n stripePromise = null;\n return Promise.reject(error);\n });\n};\nvar initStripe = function initStripe(maybeStripe, args, startTime) {\n if (maybeStripe === null) {\n return null;\n }\n\n var stripe = maybeStripe.apply(undefined, args);\n registerWrapper(stripe, startTime);\n return stripe;\n}; // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n\nvar stripePromise$1;\nvar loadCalled = false;\n\nvar getStripePromise = function getStripePromise() {\n if (stripePromise$1) {\n return stripePromise$1;\n }\n\n stripePromise$1 = loadScript(null)[\"catch\"](function (error) {\n // clear cache on error\n stripePromise$1 = null;\n return Promise.reject(error);\n });\n return stripePromise$1;\n}; // Execute our own script injection after a tick to give users time to do their\n// own script injection.\n\n\nPromise.resolve().then(function () {\n return getStripePromise();\n})[\"catch\"](function (error) {\n if (!loadCalled) {\n console.warn(error);\n }\n});\nvar loadStripe = function loadStripe() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n loadCalled = true;\n var startTime = Date.now(); // if previous attempts are unsuccessful, will re-load script\n\n return getStripePromise().then(function (maybeStripe) {\n return initStripe(maybeStripe, args, startTime);\n });\n};\n\nexport { loadStripe };\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n var _i = arr && (typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]);\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nvar useAttachEvent = function useAttachEvent(element, event, cb) {\n var cbDefined = !!cb;\n var cbRef = React.useRef(cb); // In many integrations the callback prop changes on each render.\n // Using a ref saves us from calling element.on/.off every render.\n\n React.useEffect(function () {\n cbRef.current = cb;\n }, [cb]);\n React.useEffect(function () {\n if (!cbDefined || !element) {\n return function () {};\n }\n\n var decoratedCb = function decoratedCb() {\n if (cbRef.current) {\n cbRef.current.apply(cbRef, arguments);\n }\n };\n\n element.on(event, decoratedCb);\n return function () {\n element.off(event, decoratedCb);\n };\n }, [cbDefined, event, element, cbRef]);\n};\n\nvar usePrevious = function usePrevious(value) {\n var ref = React.useRef(value);\n React.useEffect(function () {\n ref.current = value;\n }, [value]);\n return ref.current;\n};\n\nvar isUnknownObject = function isUnknownObject(raw) {\n return raw !== null && _typeof(raw) === 'object';\n};\nvar isPromise = function isPromise(raw) {\n return isUnknownObject(raw) && typeof raw.then === 'function';\n}; // We are using types to enforce the `stripe` prop in this lib,\n// but in an untyped integration `stripe` could be anything, so we need\n// to do some sanity validation to prevent type errors.\n\nvar isStripe = function isStripe(raw) {\n return isUnknownObject(raw) && typeof raw.elements === 'function' && typeof raw.createToken === 'function' && typeof raw.createPaymentMethod === 'function' && typeof raw.confirmCardPayment === 'function';\n};\n\nvar PLAIN_OBJECT_STR = '[object Object]';\nvar isEqual = function isEqual(left, right) {\n if (!isUnknownObject(left) || !isUnknownObject(right)) {\n return left === right;\n }\n\n var leftArray = Array.isArray(left);\n var rightArray = Array.isArray(right);\n if (leftArray !== rightArray) return false;\n var leftPlainObject = Object.prototype.toString.call(left) === PLAIN_OBJECT_STR;\n var rightPlainObject = Object.prototype.toString.call(right) === PLAIN_OBJECT_STR;\n if (leftPlainObject !== rightPlainObject) return false; // not sure what sort of special object this is (regexp is one option), so\n // fallback to reference check.\n\n if (!leftPlainObject && !leftArray) return left === right;\n var leftKeys = Object.keys(left);\n var rightKeys = Object.keys(right);\n if (leftKeys.length !== rightKeys.length) return false;\n var keySet = {};\n\n for (var i = 0; i < leftKeys.length; i += 1) {\n keySet[leftKeys[i]] = true;\n }\n\n for (var _i = 0; _i < rightKeys.length; _i += 1) {\n keySet[rightKeys[_i]] = true;\n }\n\n var allKeys = Object.keys(keySet);\n\n if (allKeys.length !== leftKeys.length) {\n return false;\n }\n\n var l = left;\n var r = right;\n\n var pred = function pred(key) {\n return isEqual(l[key], r[key]);\n };\n\n return allKeys.every(pred);\n};\n\nvar extractAllowedOptionsUpdates = function extractAllowedOptionsUpdates(options, prevOptions, immutableKeys) {\n if (!isUnknownObject(options)) {\n return null;\n }\n\n return Object.keys(options).reduce(function (newOptions, key) {\n var isUpdated = !isUnknownObject(prevOptions) || !isEqual(options[key], prevOptions[key]);\n\n if (immutableKeys.includes(key)) {\n if (isUpdated) {\n console.warn(\"Unsupported prop change: options.\".concat(key, \" is not a mutable property.\"));\n }\n\n return newOptions;\n }\n\n if (!isUpdated) {\n return newOptions;\n }\n\n return _objectSpread2(_objectSpread2({}, newOptions || {}), {}, _defineProperty({}, key, options[key]));\n }, null);\n};\n\nvar INVALID_STRIPE_ERROR$2 = 'Invalid prop `stripe` supplied to `Elements`. We recommend using the `loadStripe` utility from `@stripe/stripe-js`. See https://stripe.com/docs/stripe-js/react#elements-props-stripe for details.'; // We are using types to enforce the `stripe` prop in this lib, but in a real\n// integration `stripe` could be anything, so we need to do some sanity\n// validation to prevent type errors.\n\nvar validateStripe = function validateStripe(maybeStripe) {\n var errorMsg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : INVALID_STRIPE_ERROR$2;\n\n if (maybeStripe === null || isStripe(maybeStripe)) {\n return maybeStripe;\n }\n\n throw new Error(errorMsg);\n};\n\nvar parseStripeProp = function parseStripeProp(raw) {\n var errorMsg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : INVALID_STRIPE_ERROR$2;\n\n if (isPromise(raw)) {\n return {\n tag: 'async',\n stripePromise: Promise.resolve(raw).then(function (result) {\n return validateStripe(result, errorMsg);\n })\n };\n }\n\n var stripe = validateStripe(raw, errorMsg);\n\n if (stripe === null) {\n return {\n tag: 'empty'\n };\n }\n\n return {\n tag: 'sync',\n stripe: stripe\n };\n};\n\nvar registerWithStripeJs = function registerWithStripeJs(stripe) {\n if (!stripe || !stripe._registerWrapper || !stripe.registerAppInfo) {\n return;\n }\n\n stripe._registerWrapper({\n name: 'react-stripe-js',\n version: \"2.8.1\"\n });\n\n stripe.registerAppInfo({\n name: 'react-stripe-js',\n version: \"2.8.1\",\n url: 'https://stripe.com/docs/stripe-js/react'\n });\n};\n\nvar ElementsContext = /*#__PURE__*/React.createContext(null);\nElementsContext.displayName = 'ElementsContext';\nvar parseElementsContext = function parseElementsContext(ctx, useCase) {\n if (!ctx) {\n throw new Error(\"Could not find Elements context; You need to wrap the part of your app that \".concat(useCase, \" in an provider.\"));\n }\n\n return ctx;\n};\n/**\n * The `Elements` provider allows you to use [Element components](https://stripe.com/docs/stripe-js/react#element-components) and access the [Stripe object](https://stripe.com/docs/js/initializing) in any nested component.\n * Render an `Elements` provider at the root of your React app so that it is available everywhere you need it.\n *\n * To use the `Elements` provider, call `loadStripe` from `@stripe/stripe-js` with your publishable key.\n * The `loadStripe` function will asynchronously load the Stripe.js script and initialize a `Stripe` object.\n * Pass the returned `Promise` to `Elements`.\n *\n * @docs https://stripe.com/docs/stripe-js/react#elements-provider\n */\n\nvar Elements = function Elements(_ref) {\n var rawStripeProp = _ref.stripe,\n options = _ref.options,\n children = _ref.children;\n var parsed = React.useMemo(function () {\n return parseStripeProp(rawStripeProp);\n }, [rawStripeProp]); // For a sync stripe instance, initialize into context\n\n var _React$useState = React.useState(function () {\n return {\n stripe: parsed.tag === 'sync' ? parsed.stripe : null,\n elements: parsed.tag === 'sync' ? parsed.stripe.elements(options) : null\n };\n }),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n ctx = _React$useState2[0],\n setContext = _React$useState2[1];\n\n React.useEffect(function () {\n var isMounted = true;\n\n var safeSetContext = function safeSetContext(stripe) {\n setContext(function (ctx) {\n // no-op if we already have a stripe instance (https://github.com/stripe/react-stripe-js/issues/296)\n if (ctx.stripe) return ctx;\n return {\n stripe: stripe,\n elements: stripe.elements(options)\n };\n });\n }; // For an async stripePromise, store it in context once resolved\n\n\n if (parsed.tag === 'async' && !ctx.stripe) {\n parsed.stripePromise.then(function (stripe) {\n if (stripe && isMounted) {\n // Only update Elements context if the component is still mounted\n // and stripe is not null. We allow stripe to be null to make\n // handling SSR easier.\n safeSetContext(stripe);\n }\n });\n } else if (parsed.tag === 'sync' && !ctx.stripe) {\n // Or, handle a sync stripe instance going from null -> populated\n safeSetContext(parsed.stripe);\n }\n\n return function () {\n isMounted = false;\n };\n }, [parsed, ctx, options]); // Warn on changes to stripe prop\n\n var prevStripe = usePrevious(rawStripeProp);\n React.useEffect(function () {\n if (prevStripe !== null && prevStripe !== rawStripeProp) {\n console.warn('Unsupported prop change on Elements: You cannot change the `stripe` prop after setting it.');\n }\n }, [prevStripe, rawStripeProp]); // Apply updates to elements when options prop has relevant changes\n\n var prevOptions = usePrevious(options);\n React.useEffect(function () {\n if (!ctx.elements) {\n return;\n }\n\n var updates = extractAllowedOptionsUpdates(options, prevOptions, ['clientSecret', 'fonts']);\n\n if (updates) {\n ctx.elements.update(updates);\n }\n }, [options, prevOptions, ctx.elements]); // Attach react-stripe-js version to stripe.js instance\n\n React.useEffect(function () {\n registerWithStripeJs(ctx.stripe);\n }, [ctx.stripe]);\n return /*#__PURE__*/React.createElement(ElementsContext.Provider, {\n value: ctx\n }, children);\n};\nElements.propTypes = {\n stripe: PropTypes.any,\n options: PropTypes.object\n};\nvar useElementsContextWithUseCase = function useElementsContextWithUseCase(useCaseMessage) {\n var ctx = React.useContext(ElementsContext);\n return parseElementsContext(ctx, useCaseMessage);\n};\n/**\n * @docs https://stripe.com/docs/stripe-js/react#useelements-hook\n */\n\nvar useElements = function useElements() {\n var _useElementsContextWi = useElementsContextWithUseCase('calls useElements()'),\n elements = _useElementsContextWi.elements;\n\n return elements;\n};\n/**\n * @docs https://stripe.com/docs/stripe-js/react#elements-consumer\n */\n\nvar ElementsConsumer = function ElementsConsumer(_ref2) {\n var children = _ref2.children;\n var ctx = useElementsContextWithUseCase('mounts '); // Assert to satisfy the busted React.FC return type (it should be ReactNode)\n\n return children(ctx);\n};\nElementsConsumer.propTypes = {\n children: PropTypes.func.isRequired\n};\n\nvar _excluded = [\"on\", \"session\"];\nvar CustomCheckoutSdkContext = /*#__PURE__*/React.createContext(null);\nCustomCheckoutSdkContext.displayName = 'CustomCheckoutSdkContext';\nvar parseCustomCheckoutSdkContext = function parseCustomCheckoutSdkContext(ctx, useCase) {\n if (!ctx) {\n throw new Error(\"Could not find CustomCheckoutProvider context; You need to wrap the part of your app that \".concat(useCase, \" in an provider.\"));\n }\n\n return ctx;\n};\nvar CustomCheckoutContext = /*#__PURE__*/React.createContext(null);\nCustomCheckoutContext.displayName = 'CustomCheckoutContext';\nvar extractCustomCheckoutContextValue = function extractCustomCheckoutContextValue(customCheckoutSdk, sessionState) {\n if (!customCheckoutSdk) {\n return null;\n }\n\n customCheckoutSdk.on;\n customCheckoutSdk.session;\n var actions = _objectWithoutProperties(customCheckoutSdk, _excluded);\n\n if (!sessionState) {\n return _objectSpread2(_objectSpread2({}, actions), customCheckoutSdk.session());\n }\n\n return _objectSpread2(_objectSpread2({}, actions), sessionState);\n};\nvar INVALID_STRIPE_ERROR$1 = 'Invalid prop `stripe` supplied to `CustomCheckoutProvider`. We recommend using the `loadStripe` utility from `@stripe/stripe-js`. See https://stripe.com/docs/stripe-js/react#elements-props-stripe for details.';\nvar CustomCheckoutProvider = function CustomCheckoutProvider(_ref) {\n var rawStripeProp = _ref.stripe,\n options = _ref.options,\n children = _ref.children;\n var parsed = React.useMemo(function () {\n return parseStripeProp(rawStripeProp, INVALID_STRIPE_ERROR$1);\n }, [rawStripeProp]); // State used to trigger a re-render when sdk.session is updated\n\n var _React$useState = React.useState(null),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n session = _React$useState2[0],\n setSession = _React$useState2[1];\n\n var _React$useState3 = React.useState(function () {\n return {\n stripe: parsed.tag === 'sync' ? parsed.stripe : null,\n customCheckoutSdk: null\n };\n }),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n ctx = _React$useState4[0],\n setContext = _React$useState4[1];\n\n var safeSetContext = function safeSetContext(stripe, customCheckoutSdk) {\n setContext(function (ctx) {\n if (ctx.stripe && ctx.customCheckoutSdk) {\n return ctx;\n }\n\n return {\n stripe: stripe,\n customCheckoutSdk: customCheckoutSdk\n };\n });\n }; // Ref used to avoid calling initCustomCheckout multiple times when options changes\n\n\n var initCustomCheckoutCalledRef = React.useRef(false);\n React.useEffect(function () {\n var isMounted = true;\n\n if (parsed.tag === 'async' && !ctx.stripe) {\n parsed.stripePromise.then(function (stripe) {\n if (stripe && isMounted && !initCustomCheckoutCalledRef.current) {\n // Only update context if the component is still mounted\n // and stripe is not null. We allow stripe to be null to make\n // handling SSR easier.\n initCustomCheckoutCalledRef.current = true;\n stripe.initCustomCheckout(options).then(function (customCheckoutSdk) {\n if (customCheckoutSdk) {\n safeSetContext(stripe, customCheckoutSdk);\n customCheckoutSdk.on('change', setSession);\n }\n });\n }\n });\n } else if (parsed.tag === 'sync' && parsed.stripe && !initCustomCheckoutCalledRef.current) {\n initCustomCheckoutCalledRef.current = true;\n parsed.stripe.initCustomCheckout(options).then(function (customCheckoutSdk) {\n if (customCheckoutSdk) {\n safeSetContext(parsed.stripe, customCheckoutSdk);\n customCheckoutSdk.on('change', setSession);\n }\n });\n }\n\n return function () {\n isMounted = false;\n };\n }, [parsed, ctx, options, setSession]); // Warn on changes to stripe prop\n\n var prevStripe = usePrevious(rawStripeProp);\n React.useEffect(function () {\n if (prevStripe !== null && prevStripe !== rawStripeProp) {\n console.warn('Unsupported prop change on CustomCheckoutProvider: You cannot change the `stripe` prop after setting it.');\n }\n }, [prevStripe, rawStripeProp]); // Apply updates to elements when options prop has relevant changes\n\n var prevOptions = usePrevious(options);\n React.useEffect(function () {\n var _prevOptions$elements, _options$elementsOpti;\n\n if (!ctx.customCheckoutSdk) {\n return;\n }\n\n if (options.clientSecret && !isUnknownObject(prevOptions) && !isEqual(options.clientSecret, prevOptions.clientSecret)) {\n console.warn('Unsupported prop change: options.client_secret is not a mutable property.');\n }\n\n var previousAppearance = prevOptions === null || prevOptions === void 0 ? void 0 : (_prevOptions$elements = prevOptions.elementsOptions) === null || _prevOptions$elements === void 0 ? void 0 : _prevOptions$elements.appearance;\n var currentAppearance = options === null || options === void 0 ? void 0 : (_options$elementsOpti = options.elementsOptions) === null || _options$elementsOpti === void 0 ? void 0 : _options$elementsOpti.appearance;\n\n if (currentAppearance && !isEqual(currentAppearance, previousAppearance)) {\n ctx.customCheckoutSdk.changeAppearance(currentAppearance);\n }\n }, [options, prevOptions, ctx.customCheckoutSdk]); // Attach react-stripe-js version to stripe.js instance\n\n React.useEffect(function () {\n registerWithStripeJs(ctx.stripe);\n }, [ctx.stripe]);\n var customCheckoutContextValue = React.useMemo(function () {\n return extractCustomCheckoutContextValue(ctx.customCheckoutSdk, session);\n }, [ctx.customCheckoutSdk, session]);\n\n if (!ctx.customCheckoutSdk) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(CustomCheckoutSdkContext.Provider, {\n value: ctx\n }, /*#__PURE__*/React.createElement(CustomCheckoutContext.Provider, {\n value: customCheckoutContextValue\n }, children));\n};\nCustomCheckoutProvider.propTypes = {\n stripe: PropTypes.any,\n options: PropTypes.shape({\n clientSecret: PropTypes.string.isRequired,\n elementsOptions: PropTypes.object\n }).isRequired\n};\nvar useCustomCheckoutSdkContextWithUseCase = function useCustomCheckoutSdkContextWithUseCase(useCaseString) {\n var ctx = React.useContext(CustomCheckoutSdkContext);\n return parseCustomCheckoutSdkContext(ctx, useCaseString);\n};\nvar useElementsOrCustomCheckoutSdkContextWithUseCase = function useElementsOrCustomCheckoutSdkContextWithUseCase(useCaseString) {\n var customCheckoutSdkContext = React.useContext(CustomCheckoutSdkContext);\n var elementsContext = React.useContext(ElementsContext);\n\n if (customCheckoutSdkContext && elementsContext) {\n throw new Error(\"You cannot wrap the part of your app that \".concat(useCaseString, \" in both and providers.\"));\n }\n\n if (customCheckoutSdkContext) {\n return parseCustomCheckoutSdkContext(customCheckoutSdkContext, useCaseString);\n }\n\n return parseElementsContext(elementsContext, useCaseString);\n};\nvar useCustomCheckout = function useCustomCheckout() {\n // ensure it's in CustomCheckoutProvider\n useCustomCheckoutSdkContextWithUseCase('calls useCustomCheckout()');\n var ctx = React.useContext(CustomCheckoutContext);\n\n if (!ctx) {\n throw new Error('Could not find CustomCheckout Context; You need to wrap the part of your app that calls useCustomCheckout() in an provider.');\n }\n\n return ctx;\n};\n\nvar capitalized = function capitalized(str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n};\n\nvar createElementComponent = function createElementComponent(type, isServer) {\n var displayName = \"\".concat(capitalized(type), \"Element\");\n\n var ClientElement = function ClientElement(_ref) {\n var id = _ref.id,\n className = _ref.className,\n _ref$options = _ref.options,\n options = _ref$options === void 0 ? {} : _ref$options,\n onBlur = _ref.onBlur,\n onFocus = _ref.onFocus,\n onReady = _ref.onReady,\n onChange = _ref.onChange,\n onEscape = _ref.onEscape,\n onClick = _ref.onClick,\n onLoadError = _ref.onLoadError,\n onLoaderStart = _ref.onLoaderStart,\n onNetworksChange = _ref.onNetworksChange,\n onConfirm = _ref.onConfirm,\n onCancel = _ref.onCancel,\n onShippingAddressChange = _ref.onShippingAddressChange,\n onShippingRateChange = _ref.onShippingRateChange;\n var ctx = useElementsOrCustomCheckoutSdkContextWithUseCase(\"mounts <\".concat(displayName, \">\"));\n var elements = 'elements' in ctx ? ctx.elements : null;\n var customCheckoutSdk = 'customCheckoutSdk' in ctx ? ctx.customCheckoutSdk : null;\n\n var _React$useState = React.useState(null),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n element = _React$useState2[0],\n setElement = _React$useState2[1];\n\n var elementRef = React.useRef(null);\n var domNode = React.useRef(null); // For every event where the merchant provides a callback, call element.on\n // with that callback. If the merchant ever changes the callback, removes\n // the old callback with element.off and then call element.on with the new one.\n\n useAttachEvent(element, 'blur', onBlur);\n useAttachEvent(element, 'focus', onFocus);\n useAttachEvent(element, 'escape', onEscape);\n useAttachEvent(element, 'click', onClick);\n useAttachEvent(element, 'loaderror', onLoadError);\n useAttachEvent(element, 'loaderstart', onLoaderStart);\n useAttachEvent(element, 'networkschange', onNetworksChange);\n useAttachEvent(element, 'confirm', onConfirm);\n useAttachEvent(element, 'cancel', onCancel);\n useAttachEvent(element, 'shippingaddresschange', onShippingAddressChange);\n useAttachEvent(element, 'shippingratechange', onShippingRateChange);\n useAttachEvent(element, 'change', onChange);\n var readyCallback;\n\n if (onReady) {\n if (type === 'expressCheckout') {\n // Passes through the event, which includes visible PM types\n readyCallback = onReady;\n } else {\n // For other Elements, pass through the Element itself.\n readyCallback = function readyCallback() {\n onReady(element);\n };\n }\n }\n\n useAttachEvent(element, 'ready', readyCallback);\n React.useLayoutEffect(function () {\n if (elementRef.current === null && domNode.current !== null && (elements || customCheckoutSdk)) {\n var newElement = null;\n\n if (customCheckoutSdk) {\n newElement = customCheckoutSdk.createElement(type, options);\n } else if (elements) {\n newElement = elements.create(type, options);\n } // Store element in a ref to ensure it's _immediately_ available in cleanup hooks in StrictMode\n\n\n elementRef.current = newElement; // Store element in state to facilitate event listener attachment\n\n setElement(newElement);\n\n if (newElement) {\n newElement.mount(domNode.current);\n }\n }\n }, [elements, customCheckoutSdk, options]);\n var prevOptions = usePrevious(options);\n React.useEffect(function () {\n if (!elementRef.current) {\n return;\n }\n\n var updates = extractAllowedOptionsUpdates(options, prevOptions, ['paymentRequest']);\n\n if (updates && 'update' in elementRef.current) {\n elementRef.current.update(updates);\n }\n }, [options, prevOptions]);\n React.useLayoutEffect(function () {\n return function () {\n if (elementRef.current && typeof elementRef.current.destroy === 'function') {\n try {\n elementRef.current.destroy();\n elementRef.current = null;\n } catch (error) {// Do nothing\n }\n }\n };\n }, []);\n return /*#__PURE__*/React.createElement(\"div\", {\n id: id,\n className: className,\n ref: domNode\n });\n }; // Only render the Element wrapper in a server environment.\n\n\n var ServerElement = function ServerElement(props) {\n useElementsOrCustomCheckoutSdkContextWithUseCase(\"mounts <\".concat(displayName, \">\"));\n var id = props.id,\n className = props.className;\n return /*#__PURE__*/React.createElement(\"div\", {\n id: id,\n className: className\n });\n };\n\n var Element = isServer ? ServerElement : ClientElement;\n Element.propTypes = {\n id: PropTypes.string,\n className: PropTypes.string,\n onChange: PropTypes.func,\n onBlur: PropTypes.func,\n onFocus: PropTypes.func,\n onReady: PropTypes.func,\n onEscape: PropTypes.func,\n onClick: PropTypes.func,\n onLoadError: PropTypes.func,\n onLoaderStart: PropTypes.func,\n onNetworksChange: PropTypes.func,\n onConfirm: PropTypes.func,\n onCancel: PropTypes.func,\n onShippingAddressChange: PropTypes.func,\n onShippingRateChange: PropTypes.func,\n options: PropTypes.object\n };\n Element.displayName = displayName;\n Element.__elementType = type;\n return Element;\n};\n\nvar isServer = typeof window === 'undefined';\n\nvar EmbeddedCheckoutContext = /*#__PURE__*/React.createContext(null);\nEmbeddedCheckoutContext.displayName = 'EmbeddedCheckoutProviderContext';\nvar useEmbeddedCheckoutContext = function useEmbeddedCheckoutContext() {\n var ctx = React.useContext(EmbeddedCheckoutContext);\n\n if (!ctx) {\n throw new Error(' must be used within ');\n }\n\n return ctx;\n};\nvar INVALID_STRIPE_ERROR = 'Invalid prop `stripe` supplied to `EmbeddedCheckoutProvider`. We recommend using the `loadStripe` utility from `@stripe/stripe-js`. See https://stripe.com/docs/stripe-js/react#elements-props-stripe for details.';\nvar EmbeddedCheckoutProvider = function EmbeddedCheckoutProvider(_ref) {\n var rawStripeProp = _ref.stripe,\n options = _ref.options,\n children = _ref.children;\n var parsed = React.useMemo(function () {\n return parseStripeProp(rawStripeProp, INVALID_STRIPE_ERROR);\n }, [rawStripeProp]);\n var embeddedCheckoutPromise = React.useRef(null);\n var loadedStripe = React.useRef(null);\n\n var _React$useState = React.useState({\n embeddedCheckout: null\n }),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n ctx = _React$useState2[0],\n setContext = _React$useState2[1];\n\n React.useEffect(function () {\n // Don't support any ctx updates once embeddedCheckout or stripe is set.\n if (loadedStripe.current || embeddedCheckoutPromise.current) {\n return;\n }\n\n var setStripeAndInitEmbeddedCheckout = function setStripeAndInitEmbeddedCheckout(stripe) {\n if (loadedStripe.current || embeddedCheckoutPromise.current) return;\n loadedStripe.current = stripe;\n embeddedCheckoutPromise.current = loadedStripe.current.initEmbeddedCheckout(options).then(function (embeddedCheckout) {\n setContext({\n embeddedCheckout: embeddedCheckout\n });\n });\n }; // For an async stripePromise, store it once resolved\n\n\n if (parsed.tag === 'async' && !loadedStripe.current && (options.clientSecret || options.fetchClientSecret)) {\n parsed.stripePromise.then(function (stripe) {\n if (stripe) {\n setStripeAndInitEmbeddedCheckout(stripe);\n }\n });\n } else if (parsed.tag === 'sync' && !loadedStripe.current && (options.clientSecret || options.fetchClientSecret)) {\n // Or, handle a sync stripe instance going from null -> populated\n setStripeAndInitEmbeddedCheckout(parsed.stripe);\n }\n }, [parsed, options, ctx, loadedStripe]);\n React.useEffect(function () {\n // cleanup on unmount\n return function () {\n // If embedded checkout is fully initialized, destroy it.\n if (ctx.embeddedCheckout) {\n embeddedCheckoutPromise.current = null;\n ctx.embeddedCheckout.destroy();\n } else if (embeddedCheckoutPromise.current) {\n // If embedded checkout is still initializing, destroy it once\n // it's done. This could be caused by unmounting very quickly\n // after mounting.\n embeddedCheckoutPromise.current.then(function () {\n embeddedCheckoutPromise.current = null;\n\n if (ctx.embeddedCheckout) {\n ctx.embeddedCheckout.destroy();\n }\n });\n }\n };\n }, [ctx.embeddedCheckout]); // Attach react-stripe-js version to stripe.js instance\n\n React.useEffect(function () {\n registerWithStripeJs(loadedStripe);\n }, [loadedStripe]); // Warn on changes to stripe prop.\n // The stripe prop value can only go from null to non-null once and\n // can't be changed after that.\n\n var prevStripe = usePrevious(rawStripeProp);\n React.useEffect(function () {\n if (prevStripe !== null && prevStripe !== rawStripeProp) {\n console.warn('Unsupported prop change on EmbeddedCheckoutProvider: You cannot change the `stripe` prop after setting it.');\n }\n }, [prevStripe, rawStripeProp]); // Warn on changes to options.\n\n var prevOptions = usePrevious(options);\n React.useEffect(function () {\n if (prevOptions == null) {\n return;\n }\n\n if (options == null) {\n console.warn('Unsupported prop change on EmbeddedCheckoutProvider: You cannot unset options after setting them.');\n return;\n }\n\n if (options.clientSecret === undefined && options.fetchClientSecret === undefined) {\n console.warn('Invalid props passed to EmbeddedCheckoutProvider: You must provide one of either `options.fetchClientSecret` or `options.clientSecret`.');\n }\n\n if (prevOptions.clientSecret != null && options.clientSecret !== prevOptions.clientSecret) {\n console.warn('Unsupported prop change on EmbeddedCheckoutProvider: You cannot change the client secret after setting it. Unmount and create a new instance of EmbeddedCheckoutProvider instead.');\n }\n\n if (prevOptions.fetchClientSecret != null && options.fetchClientSecret !== prevOptions.fetchClientSecret) {\n console.warn('Unsupported prop change on EmbeddedCheckoutProvider: You cannot change fetchClientSecret after setting it. Unmount and create a new instance of EmbeddedCheckoutProvider instead.');\n }\n\n if (prevOptions.onComplete != null && options.onComplete !== prevOptions.onComplete) {\n console.warn('Unsupported prop change on EmbeddedCheckoutProvider: You cannot change the onComplete option after setting it.');\n }\n\n if (prevOptions.onShippingDetailsChange != null && options.onShippingDetailsChange !== prevOptions.onShippingDetailsChange) {\n console.warn('Unsupported prop change on EmbeddedCheckoutProvider: You cannot change the onShippingDetailsChange option after setting it.');\n }\n\n if (prevOptions.onLineItemsChange != null && options.onLineItemsChange !== prevOptions.onLineItemsChange) {\n console.warn('Unsupported prop change on EmbeddedCheckoutProvider: You cannot change the onLineItemsChange option after setting it.');\n }\n }, [prevOptions, options]);\n return /*#__PURE__*/React.createElement(EmbeddedCheckoutContext.Provider, {\n value: ctx\n }, children);\n};\n\nvar EmbeddedCheckoutClientElement = function EmbeddedCheckoutClientElement(_ref) {\n var id = _ref.id,\n className = _ref.className;\n\n var _useEmbeddedCheckoutC = useEmbeddedCheckoutContext(),\n embeddedCheckout = _useEmbeddedCheckoutC.embeddedCheckout;\n\n var isMounted = React.useRef(false);\n var domNode = React.useRef(null);\n React.useLayoutEffect(function () {\n if (!isMounted.current && embeddedCheckout && domNode.current !== null) {\n embeddedCheckout.mount(domNode.current);\n isMounted.current = true;\n } // Clean up on unmount\n\n\n return function () {\n if (isMounted.current && embeddedCheckout) {\n try {\n embeddedCheckout.unmount();\n isMounted.current = false;\n } catch (e) {// Do nothing.\n // Parent effects are destroyed before child effects, so\n // in cases where both the EmbeddedCheckoutProvider and\n // the EmbeddedCheckout component are removed at the same\n // time, the embeddedCheckout instance will be destroyed,\n // which causes an error when calling unmount.\n }\n }\n };\n }, [embeddedCheckout]);\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: domNode,\n id: id,\n className: className\n });\n}; // Only render the wrapper in a server environment.\n\n\nvar EmbeddedCheckoutServerElement = function EmbeddedCheckoutServerElement(_ref2) {\n var id = _ref2.id,\n className = _ref2.className;\n // Validate that we are in the right context by calling useEmbeddedCheckoutContext.\n useEmbeddedCheckoutContext();\n return /*#__PURE__*/React.createElement(\"div\", {\n id: id,\n className: className\n });\n};\n\nvar EmbeddedCheckout = isServer ? EmbeddedCheckoutServerElement : EmbeddedCheckoutClientElement;\n\n/**\n * @docs https://stripe.com/docs/stripe-js/react#usestripe-hook\n */\n\nvar useStripe = function useStripe() {\n var _useElementsOrCustomC = useElementsOrCustomCheckoutSdkContextWithUseCase('calls useStripe()'),\n stripe = _useElementsOrCustomC.stripe;\n\n return stripe;\n};\n\n/**\n * Requires beta access:\n * Contact [Stripe support](https://support.stripe.com/) for more information.\n *\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\nvar AuBankAccountElement = createElementComponent('auBankAccount', isServer);\n/**\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\nvar CardElement = createElementComponent('card', isServer);\n/**\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\nvar CardNumberElement = createElementComponent('cardNumber', isServer);\n/**\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\nvar CardExpiryElement = createElementComponent('cardExpiry', isServer);\n/**\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\nvar CardCvcElement = createElementComponent('cardCvc', isServer);\n/**\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\nvar FpxBankElement = createElementComponent('fpxBank', isServer);\n/**\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\nvar IbanElement = createElementComponent('iban', isServer);\n/**\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\nvar IdealBankElement = createElementComponent('idealBank', isServer);\n/**\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\nvar P24BankElement = createElementComponent('p24Bank', isServer);\n/**\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\nvar EpsBankElement = createElementComponent('epsBank', isServer);\nvar PaymentElement = createElementComponent('payment', isServer);\n/**\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\nvar ExpressCheckoutElement = createElementComponent('expressCheckout', isServer);\n/**\n * Requires beta access:\n * Contact [Stripe support](https://support.stripe.com/) for more information.\n */\n\nvar CurrencySelectorElement = createElementComponent('currencySelector', isServer);\n/**\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\nvar PaymentRequestButtonElement = createElementComponent('paymentRequestButton', isServer);\n/**\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\nvar LinkAuthenticationElement = createElementComponent('linkAuthentication', isServer);\n/**\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\nvar AddressElement = createElementComponent('address', isServer);\n/**\n * @deprecated\n * Use `AddressElement` instead.\n *\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\nvar ShippingAddressElement = createElementComponent('shippingAddress', isServer);\n/**\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\nvar PaymentMethodMessagingElement = createElementComponent('paymentMethodMessaging', isServer);\n/**\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\nvar AffirmMessageElement = createElementComponent('affirmMessage', isServer);\n/**\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\nvar AfterpayClearpayMessageElement = createElementComponent('afterpayClearpayMessage', isServer);\n\nexport { AddressElement, AffirmMessageElement, AfterpayClearpayMessageElement, AuBankAccountElement, CardCvcElement, CardElement, CardExpiryElement, CardNumberElement, CurrencySelectorElement, CustomCheckoutProvider, Elements, ElementsConsumer, EmbeddedCheckout, EmbeddedCheckoutProvider, EpsBankElement, ExpressCheckoutElement, FpxBankElement, IbanElement, IdealBankElement, LinkAuthenticationElement, P24BankElement, PaymentElement, PaymentMethodMessagingElement, PaymentRequestButtonElement, ShippingAddressElement, useCustomCheckout, useElements, useStripe };\n"],"names":["V3_URL","V3_URL_REGEX","EXISTING_SCRIPT_MESSAGE","findScript","scripts","i","script","injectScript","params","queryString","headOrBody","registerWrapper","stripe","startTime","stripePromise","onErrorListener","onLoadListener","onError","reject","onLoad","resolve","loadScript","_script$parentNode","error","initStripe","maybeStripe","args","stripePromise$1","loadCalled","getStripePromise","loadStripe","_len","_key","ReactPropTypesSecret","ReactPropTypesSecret_1","require$$0","emptyFunction","emptyFunctionWithReset","factoryWithThrowingShims","shim","props","propName","componentName","location","propFullName","secret","err","getShim","ReactPropTypes","propTypesModule","ownKeys","object","enumerableOnly","keys","symbols","sym","_objectSpread2","target","source","key","_defineProperty","_typeof","obj","value","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","_i","_arr","_n","_d","_s","_e","o","minLen","_arrayLikeToArray","n","len","arr2","useAttachEvent","element","event","cb","cbDefined","cbRef","React","decoratedCb","usePrevious","ref","isUnknownObject","raw","isPromise","isStripe","PLAIN_OBJECT_STR","isEqual","left","right","leftArray","rightArray","leftPlainObject","rightPlainObject","leftKeys","rightKeys","keySet","allKeys","l","r","pred","extractAllowedOptionsUpdates","options","prevOptions","immutableKeys","newOptions","isUpdated","INVALID_STRIPE_ERROR$2","validateStripe","errorMsg","parseStripeProp","result","registerWithStripeJs","ElementsContext","parseElementsContext","ctx","useCase","Elements","_ref","rawStripeProp","children","parsed","_React$useState","_React$useState2","setContext","isMounted","safeSetContext","prevStripe","updates","PropTypes","useElementsContextWithUseCase","useCaseMessage","useElements","_useElementsContextWi","elements","CustomCheckoutSdkContext","parseCustomCheckoutSdkContext","CustomCheckoutContext","useElementsOrCustomCheckoutSdkContextWithUseCase","useCaseString","customCheckoutSdkContext","elementsContext","capitalized","str","createElementComponent","type","isServer","displayName","ClientElement","id","className","_ref$options","onBlur","onFocus","onReady","onChange","onEscape","onClick","onLoadError","onLoaderStart","onNetworksChange","onConfirm","onCancel","onShippingAddressChange","onShippingRateChange","customCheckoutSdk","setElement","elementRef","domNode","readyCallback","newElement","ServerElement","Element","EmbeddedCheckoutContext","useStripe","_useElementsOrCustomC","CardElement"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4]}