{"version":3,"sources":["webpack://order/./node_modules/@stripe/react-stripe-js/dist/react-stripe.umd.js","webpack://order/./node_modules/@stripe/stripe-js/dist/index.mjs","webpack://order/./node_modules/react-bootstrap/esm/Alert.js"],"names":["exports","React","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread2","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_typeof","obj","Symbol","iterator","constructor","prototype","value","configurable","writable","_objectWithoutPropertiesLoose","excluded","sourceKeys","indexOf","_objectWithoutProperties","sourceSymbolKeys","propertyIsEnumerable","call","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","Array","isArray","_i","_s","_e","_arr","_n","_d","next","done","err","o","minLen","_arrayLikeToArray","n","toString","slice","name","from","test","len","arr2","TypeError","getDefaultExportFromCjs","x","__esModule","hasOwnProperty","ReactPropTypesSecret_1","hasRequiredReactPropTypesSecret","factoryWithThrowingShims","hasRequiredFactoryWithThrowingShims","propTypes","requireReactPropTypesSecret","requireFactoryWithThrowingShims","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","props","propName","componentName","location","propFullName","secret","Error","getShim","isRequired","ReactPropTypes","array","bool","func","number","string","symbol","any","arrayOf","element","elementType","instanceOf","node","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","usePrevious","ref","useRef","useEffect","current","isUnknownObject","raw","isPromise","then","isStripe","elements","createToken","createPaymentMethod","confirmCardPayment","PLAIN_OBJECT_STR","isEqual","left","right","leftArray","leftPlainObject","leftKeys","rightKeys","keySet","allKeys","l","r","pred","every","extractAllowedOptionsUpdates","options","prevOptions","immutableKeys","reduce","newOptions","isUpdated","includes","console","warn","concat","INVALID_STRIPE_ERROR$2","validateStripe","maybeStripe","errorMsg","undefined","parseStripeProp","tag","stripePromise","Promise","resolve","result","stripe","registerWithStripeJs","_registerWrapper","registerAppInfo","version","url","ElementsContext","createContext","displayName","parseElementsContext","ctx","useCase","CartElementContext","parseCartElementContext","Elements","_ref","rawStripeProp","children","parsed","useMemo","_React$useState2","useState","cart","setCart","_React$useState4","cartState","setCartState","_React$useState6","setContext","isMounted","safeSetContext","prevStripe","updates","update","createElement","Provider","useElementsContextWithUseCase","useCaseMessage","useContext","DUMMY_CART_ELEMENT_CONTEXT","useCartElementContextWithUseCase","isInCustomCheckout","useElements","useCartElement","useCartElementState","ElementsConsumer","_ref2","useAttachEvent","event","cb","cbDefined","cbRef","decoratedCb","on","off","_excluded","CustomCheckoutSdkContext","parseCustomCheckoutSdkContext","CustomCheckoutContext","extractCustomCheckoutContextValue","customCheckoutSdk","sessionState","session","actions","INVALID_STRIPE_ERROR$1","CustomCheckoutProvider","setSession","initCustomCheckoutCalledRef","initCustomCheckout","_prevOptions$elements","_options$elementsOpti","clientSecret","previousAppearance","elementsOptions","appearance","currentAppearance","changeAppearance","customCheckoutContextValue","useCustomCheckoutSdkContextWithUseCase","useCaseString","useElementsOrCustomCheckoutSdkContextWithUseCase","customCheckoutSdkContext","elementsContext","useCustomCheckout","capitalized","str","charAt","toUpperCase","createElementComponent","type","isServer","Element","id","className","readyCallback","_ref$options","onBlur","onFocus","onReady","onChange","onEscape","onClick","onLoadError","onLoaderStart","onNetworksChange","onCheckout","onLineItemClick","onConfirm","onCancel","onShippingAddressChange","onShippingRateChange","setElement","elementRef","domNode","_useCartElementContex","useLayoutEffect","newElement","create","mount","destroy","error","__elementType","window","EmbeddedCheckoutContext","useEmbeddedCheckoutContext","INVALID_STRIPE_ERROR","EmbeddedCheckoutProvider","embeddedCheckoutPromise","loadedStripe","embeddedCheckout","setStripeAndInitEmbeddedCheckout","initEmbeddedCheckout","fetchClientSecret","onComplete","EmbeddedCheckoutClientElement","unmount","e","EmbeddedCheckoutServerElement","EmbeddedCheckout","useStripe","AuBankAccountElement","CardElement","CardNumberElement","CardExpiryElement","CardCvcElement","FpxBankElement","IbanElement","IdealBankElement","P24BankElement","EpsBankElement","PaymentElement","ExpressCheckoutElement","PaymentRequestButtonElement","LinkAuthenticationElement","AddressElement","ShippingAddressElement","CartElement","PaymentMethodMessagingElement","AffirmMessageElement","AfterpayClearpayMessageElement","factory","stripePromise$1","V3_URL","V3_URL_REGEX","EXISTING_SCRIPT_MESSAGE","injectScript","params","queryString","advancedFraudSignals","script","document","src","headOrBody","head","body","appendChild","onErrorListener","onLoadListener","loadScript","reject","Stripe","scripts","querySelectorAll","findScript","_script$parentNode","removeEventListener","parentNode","removeChild","onLoad","onError","addEventListener","initStripe","args","startTime","registerWrapper","loadCalled","getStripePromise","loadStripe","_len","_key","Date","now","DivStyledAsH4","AlertHeading","Component","AlertLink","defaultProps","show","transition","closeLabel","Alert","uncontrolledProps","_useUncontrolled","bsPrefix","variant","onClose","dismissible","prefix","handleClose","Transition","alert","role","label","unmountOnExit","in","Link","Heading"],"mappings":"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","file":"js/408-7c7a0e9681367209b465.js","sourcesContent":["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react')) :\n typeof define === 'function' && define.amd ? define(['exports', 'react'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.ReactStripe = {}, global.React));\n})(this, (function (exports, React) { 'use strict';\n\n function 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\n function _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\n function _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\n function _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\n function _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\n function _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\n function _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n }\n\n function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n }\n\n function _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\n function _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\n function _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\n function _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\n function getDefaultExportFromCjs (x) {\n \treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n }\n\n var propTypes = {exports: {}};\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 var ReactPropTypesSecret_1;\n var hasRequiredReactPropTypesSecret;\n\n function requireReactPropTypesSecret() {\n if (hasRequiredReactPropTypesSecret) return ReactPropTypesSecret_1;\n hasRequiredReactPropTypesSecret = 1;\n\n var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n ReactPropTypesSecret_1 = ReactPropTypesSecret;\n return ReactPropTypesSecret_1;\n }\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 var factoryWithThrowingShims;\n var hasRequiredFactoryWithThrowingShims;\n\n function requireFactoryWithThrowingShims() {\n if (hasRequiredFactoryWithThrowingShims) return factoryWithThrowingShims;\n hasRequiredFactoryWithThrowingShims = 1;\n\n var ReactPropTypesSecret = requireReactPropTypesSecret();\n\n function emptyFunction() {}\n\n function emptyFunctionWithReset() {}\n\n emptyFunctionWithReset.resetWarningCache = emptyFunction;\n\n factoryWithThrowingShims = 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\n var err = new Error('Calling PropTypes validators directly is not supported by the `prop-types` package. ' + 'Use PropTypes.checkPropTypes() to call them. ' + 'Read more at http://fb.me/use-check-prop-types');\n err.name = 'Invariant Violation';\n throw err;\n }\n shim.isRequired = shim;\n\n function getShim() {\n return shim;\n }\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\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 checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n ReactPropTypes.PropTypes = ReactPropTypes;\n return ReactPropTypes;\n };\n\n return factoryWithThrowingShims;\n }\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\n {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n propTypes.exports = requireFactoryWithThrowingShims()();\n }\n\n var propTypesExports = propTypes.exports;\n var PropTypes = /*@__PURE__*/getDefaultExportFromCjs(propTypesExports);\n\n var 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\n var isUnknownObject = function isUnknownObject(raw) {\n return raw !== null && _typeof(raw) === 'object';\n };\n var 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\n var 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\n var PLAIN_OBJECT_STR = '[object Object]';\n var 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\n var 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\n var 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\n var 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\n var 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\n var 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.6.2\"\n });\n\n stripe.registerAppInfo({\n name: 'react-stripe-js',\n version: \"2.6.2\",\n url: 'https://stripe.com/docs/stripe-js/react'\n });\n };\n\n var ElementsContext = /*#__PURE__*/React.createContext(null);\n ElementsContext.displayName = 'ElementsContext';\n var 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 var CartElementContext = /*#__PURE__*/React.createContext(null);\n CartElementContext.displayName = 'CartElementContext';\n var parseCartElementContext = function parseCartElementContext(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\n var 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]);\n\n var _React$useState = React.useState(null),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n cart = _React$useState2[0],\n setCart = _React$useState2[1];\n\n var _React$useState3 = React.useState(null),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n cartState = _React$useState4[0],\n setCartState = _React$useState4[1]; // For a sync stripe instance, initialize into context\n\n\n var _React$useState5 = 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$useState6 = _slicedToArray(_React$useState5, 2),\n ctx = _React$useState6[0],\n setContext = _React$useState6[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 }, /*#__PURE__*/React.createElement(CartElementContext.Provider, {\n value: {\n cart: cart,\n setCart: setCart,\n cartState: cartState,\n setCartState: setCartState\n }\n }, children));\n };\n Elements.propTypes = {\n stripe: PropTypes.any,\n options: PropTypes.object\n };\n var useElementsContextWithUseCase = function useElementsContextWithUseCase(useCaseMessage) {\n var ctx = React.useContext(ElementsContext);\n return parseElementsContext(ctx, useCaseMessage);\n };\n var DUMMY_CART_ELEMENT_CONTEXT = {\n cart: null,\n cartState: null,\n setCart: function setCart() {},\n setCartState: function setCartState() {}\n };\n var useCartElementContextWithUseCase = function useCartElementContextWithUseCase(useCaseMessage) {\n var isInCustomCheckout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var ctx = React.useContext(CartElementContext);\n\n if (isInCustomCheckout) {\n return DUMMY_CART_ELEMENT_CONTEXT;\n }\n\n return parseCartElementContext(ctx, useCaseMessage);\n };\n /**\n * @docs https://stripe.com/docs/stripe-js/react#useelements-hook\n */\n\n var 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/payments/checkout/cart-element\n */\n\n var useCartElement = function useCartElement() {\n var _useCartElementContex = useCartElementContextWithUseCase('calls useCartElement()'),\n cart = _useCartElementContex.cart;\n\n return cart;\n };\n /**\n * @docs https://stripe.com/docs/payments/checkout/cart-element\n */\n\n var useCartElementState = function useCartElementState() {\n var _useCartElementContex2 = useCartElementContextWithUseCase('calls useCartElementState()'),\n cartState = _useCartElementContex2.cartState;\n\n return cartState;\n };\n /**\n * @docs https://stripe.com/docs/stripe-js/react#elements-consumer\n */\n\n var 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 };\n ElementsConsumer.propTypes = {\n children: PropTypes.func.isRequired\n };\n\n var 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\n var _excluded = [\"on\", \"session\"];\n var CustomCheckoutSdkContext = /*#__PURE__*/React.createContext(null);\n CustomCheckoutSdkContext.displayName = 'CustomCheckoutSdkContext';\n var 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 };\n var CustomCheckoutContext = /*#__PURE__*/React.createContext(null);\n CustomCheckoutContext.displayName = 'CustomCheckoutContext';\n var 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 };\n var 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.';\n var 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 };\n CustomCheckoutProvider.propTypes = {\n stripe: PropTypes.any,\n options: PropTypes.shape({\n clientSecret: PropTypes.string.isRequired,\n elementsOptions: PropTypes.object\n }).isRequired\n };\n var useCustomCheckoutSdkContextWithUseCase = function useCustomCheckoutSdkContextWithUseCase(useCaseString) {\n var ctx = React.useContext(CustomCheckoutSdkContext);\n return parseCustomCheckoutSdkContext(ctx, useCaseString);\n };\n var 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 };\n var 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\n var capitalized = function capitalized(str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n };\n\n var 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 onCheckout = _ref.onCheckout,\n onLineItemClick = _ref.onLineItemClick,\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);\n\n var _useCartElementContex = useCartElementContextWithUseCase(\"mounts <\".concat(displayName, \">\"), 'customCheckoutSdk' in ctx),\n setCart = _useCartElementContex.setCart,\n setCartState = _useCartElementContex.setCartState; // 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\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, 'lineitemclick', onLineItemClick);\n useAttachEvent(element, 'confirm', onConfirm);\n useAttachEvent(element, 'cancel', onCancel);\n useAttachEvent(element, 'shippingaddresschange', onShippingAddressChange);\n useAttachEvent(element, 'shippingratechange', onShippingRateChange);\n var readyCallback;\n\n if (type === 'cart') {\n readyCallback = function readyCallback(event) {\n setCartState(event);\n onReady && onReady(event);\n };\n } else 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 var changeCallback = type === 'cart' ? function (event) {\n setCartState(event);\n onChange && onChange(event);\n } : onChange;\n useAttachEvent(element, 'change', changeCallback);\n var checkoutCallback = type === 'cart' ? function (event) {\n setCartState(event);\n onCheckout && onCheckout(event);\n } : onCheckout;\n useAttachEvent(element, 'checkout', checkoutCallback);\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 }\n\n if (type === 'cart' && setCart) {\n // we know that elements.create return value must be of type StripeCartElement if type is 'cart',\n // we need to cast because typescript is not able to infer which overloaded method is used based off param type\n setCart(newElement);\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, setCart]);\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) {\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 // Validate that we are in the right context by calling useElementsContextWithUseCase.\n var ctx = useElementsOrCustomCheckoutSdkContextWithUseCase(\"mounts <\".concat(displayName, \">\"));\n useCartElementContextWithUseCase(\"mounts <\".concat(displayName, \">\"), 'customCheckoutSdk' in ctx);\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 onCheckout: PropTypes.func,\n onLineItemClick: 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\n var isServer = typeof window === 'undefined';\n\n var EmbeddedCheckoutContext = /*#__PURE__*/React.createContext(null);\n EmbeddedCheckoutContext.displayName = 'EmbeddedCheckoutProviderContext';\n var 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 };\n var 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.';\n var 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 }, [prevOptions, options]);\n return /*#__PURE__*/React.createElement(EmbeddedCheckoutContext.Provider, {\n value: ctx\n }, children);\n };\n\n var 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\n var 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\n var EmbeddedCheckout = isServer ? EmbeddedCheckoutServerElement : EmbeddedCheckoutClientElement;\n\n /**\n * @docs https://stripe.com/docs/stripe-js/react#usestripe-hook\n */\n\n var 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\n var AuBankAccountElement = createElementComponent('auBankAccount', isServer);\n /**\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\n var CardElement = createElementComponent('card', isServer);\n /**\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\n var CardNumberElement = createElementComponent('cardNumber', isServer);\n /**\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\n var CardExpiryElement = createElementComponent('cardExpiry', isServer);\n /**\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\n var CardCvcElement = createElementComponent('cardCvc', isServer);\n /**\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\n var FpxBankElement = createElementComponent('fpxBank', isServer);\n /**\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\n var IbanElement = createElementComponent('iban', isServer);\n /**\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\n var IdealBankElement = createElementComponent('idealBank', isServer);\n /**\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\n var P24BankElement = createElementComponent('p24Bank', isServer);\n /**\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\n var EpsBankElement = createElementComponent('epsBank', isServer);\n var PaymentElement = createElementComponent('payment', isServer);\n /**\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\n var ExpressCheckoutElement = createElementComponent('expressCheckout', isServer);\n /**\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\n var PaymentRequestButtonElement = createElementComponent('paymentRequestButton', isServer);\n /**\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\n var LinkAuthenticationElement = createElementComponent('linkAuthentication', isServer);\n /**\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\n var 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\n var ShippingAddressElement = createElementComponent('shippingAddress', isServer);\n /**\n * Requires beta access:\n * Contact [Stripe support](https://support.stripe.com/) for more information.\n *\n * @docs https://stripe.com/docs/elements/cart-element\n */\n\n var CartElement = createElementComponent('cart', isServer);\n /**\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\n var PaymentMethodMessagingElement = createElementComponent('paymentMethodMessaging', isServer);\n /**\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\n var AffirmMessageElement = createElementComponent('affirmMessage', isServer);\n /**\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\n var AfterpayClearpayMessageElement = createElementComponent('afterpayClearpayMessage', isServer);\n\n exports.AddressElement = AddressElement;\n exports.AffirmMessageElement = AffirmMessageElement;\n exports.AfterpayClearpayMessageElement = AfterpayClearpayMessageElement;\n exports.AuBankAccountElement = AuBankAccountElement;\n exports.CardCvcElement = CardCvcElement;\n exports.CardElement = CardElement;\n exports.CardExpiryElement = CardExpiryElement;\n exports.CardNumberElement = CardNumberElement;\n exports.CartElement = CartElement;\n exports.CustomCheckoutProvider = CustomCheckoutProvider;\n exports.Elements = Elements;\n exports.ElementsConsumer = ElementsConsumer;\n exports.EmbeddedCheckout = EmbeddedCheckout;\n exports.EmbeddedCheckoutProvider = EmbeddedCheckoutProvider;\n exports.EpsBankElement = EpsBankElement;\n exports.ExpressCheckoutElement = ExpressCheckoutElement;\n exports.FpxBankElement = FpxBankElement;\n exports.IbanElement = IbanElement;\n exports.IdealBankElement = IdealBankElement;\n exports.LinkAuthenticationElement = LinkAuthenticationElement;\n exports.P24BankElement = P24BankElement;\n exports.PaymentElement = PaymentElement;\n exports.PaymentMethodMessagingElement = PaymentMethodMessagingElement;\n exports.PaymentRequestButtonElement = PaymentRequestButtonElement;\n exports.ShippingAddressElement = ShippingAddressElement;\n exports.useCartElement = useCartElement;\n exports.useCartElementState = useCartElementState;\n exports.useCustomCheckout = useCustomCheckout;\n exports.useElements = useElements;\n exports.useStripe = useStripe;\n\n}));\n","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: \"3.1.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","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport classNames from 'classnames';\nimport React from 'react';\nimport { useUncontrolled } from 'uncontrollable';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport Fade from './Fade';\nimport CloseButton from './CloseButton';\nimport divWithClassName from './divWithClassName';\nimport createWithBsPrefix from './createWithBsPrefix';\nimport SafeAnchor from './SafeAnchor';\nvar DivStyledAsH4 = divWithClassName('h4');\nDivStyledAsH4.displayName = 'DivStyledAsH4';\nvar AlertHeading = createWithBsPrefix('alert-heading', {\n Component: DivStyledAsH4\n});\nvar AlertLink = createWithBsPrefix('alert-link', {\n Component: SafeAnchor\n});\nvar defaultProps = {\n show: true,\n transition: Fade,\n closeLabel: 'Close alert'\n};\nvar Alert = /*#__PURE__*/React.forwardRef(function (uncontrolledProps, ref) {\n var _useUncontrolled = useUncontrolled(uncontrolledProps, {\n show: 'onClose'\n }),\n bsPrefix = _useUncontrolled.bsPrefix,\n show = _useUncontrolled.show,\n closeLabel = _useUncontrolled.closeLabel,\n className = _useUncontrolled.className,\n children = _useUncontrolled.children,\n variant = _useUncontrolled.variant,\n onClose = _useUncontrolled.onClose,\n dismissible = _useUncontrolled.dismissible,\n transition = _useUncontrolled.transition,\n props = _objectWithoutPropertiesLoose(_useUncontrolled, [\"bsPrefix\", \"show\", \"closeLabel\", \"className\", \"children\", \"variant\", \"onClose\", \"dismissible\", \"transition\"]);\n\n var prefix = useBootstrapPrefix(bsPrefix, 'alert');\n var handleClose = useEventCallback(function (e) {\n if (onClose) {\n onClose(false, e);\n }\n });\n var Transition = transition === true ? Fade : transition;\n var alert = /*#__PURE__*/React.createElement(\"div\", _extends({\n role: \"alert\"\n }, !Transition ? props : undefined, {\n ref: ref,\n className: classNames(className, prefix, variant && prefix + \"-\" + variant, dismissible && prefix + \"-dismissible\")\n }), dismissible && /*#__PURE__*/React.createElement(CloseButton, {\n onClick: handleClose,\n label: closeLabel\n }), children);\n if (!Transition) return show ? alert : null;\n return /*#__PURE__*/React.createElement(Transition, _extends({\n unmountOnExit: true\n }, props, {\n ref: undefined,\n in: show\n }), alert);\n});\nAlert.displayName = 'Alert';\nAlert.defaultProps = defaultProps;\nAlert.Link = AlertLink;\nAlert.Heading = AlertHeading;\nexport default Alert;"],"sourceRoot":""}