@merchi/cart 1.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +134 -0
- package/esm/Cart.js +62 -0
- package/esm/CartAlert.js +47 -0
- package/esm/CartHeader.js +29 -0
- package/esm/CartProvider.js +1101 -0
- package/esm/CartTotals.js +89 -0
- package/esm/assets/merchi-monster-loader.gif +0 -0
- package/esm/assets/merchi-swipe-outline.png +0 -0
- package/esm/assets/product-not-found.png +0 -0
- package/esm/assets/stripe-payment-secure.png +0 -0
- package/esm/buttons/Button.js +23 -0
- package/esm/buttons/ButtonBack.js +35 -0
- package/esm/buttons/ButtonClearCart.js +17 -0
- package/esm/buttons/ButtonInvoiceDownload.js +88 -0
- package/esm/buttons/ButtonNext.js +39 -0
- package/esm/buttons/ButtonNextDynamic.js +19 -0
- package/esm/buttons/ButtonOpenCartMerchiCartModal.js +47 -0
- package/esm/buttons/ButtonPay.js +26 -0
- package/esm/buttons/ButtonShipmentTabNext.js +28 -0
- package/esm/buttons/index.js +7 -0
- package/esm/components/Alert.js +26 -0
- package/esm/components/CartBody.js +14 -0
- package/esm/components/CartClient.js +62 -0
- package/esm/components/CartFooter.js +12 -0
- package/esm/components/CartItemRow.js +230 -0
- package/esm/components/CartPaymentSettingsInvalid.js +13 -0
- package/esm/components/CartShipment.js +52 -0
- package/esm/components/CartTabContent.js +12 -0
- package/esm/components/CartTabPanel.js +25 -0
- package/esm/components/CartTableContainer.js +12 -0
- package/esm/components/CartTitle.js +26 -0
- package/esm/components/CartTotalsListGroup.js +71 -0
- package/esm/components/Collapse.js +32 -0
- package/esm/components/CustomCartProductForm.js +128 -0
- package/esm/components/CustomerCheckoutMethodTabs.js +94 -0
- package/esm/components/DiscountInputGroup.js +293 -0
- package/esm/components/LoadingTemplate.js +23 -0
- package/esm/components/NoCartItems.js +20 -0
- package/esm/components/ShipmentGroupCard.js +207 -0
- package/esm/components/Table.js +13 -0
- package/esm/components/containers.js +31 -0
- package/esm/components/index.js +18 -0
- package/esm/components/product-form-sdk-externals.js +36 -0
- package/esm/forms/FormNewCustomer.js +243 -0
- package/esm/forms/FormReturningCustomer.js +165 -0
- package/esm/forms/FormShipmentAddressAndNotes.js +195 -0
- package/esm/forms/FormSquarePayment.js +19 -0
- package/esm/forms/FormStripePayment.js +19 -0
- package/esm/forms/FormWhatsappCustomer.js +253 -0
- package/esm/forms/InputAcceptUserTermsAndConditions.js +35 -0
- package/esm/forms/InputError.js +16 -0
- package/esm/forms/InputSelect.js +48 -0
- package/esm/forms/InputText.js +56 -0
- package/esm/forms/InputsAddress.js +476 -0
- package/esm/forms/index.js +8 -0
- package/esm/index.js +13 -0
- package/esm/modals.js +51 -0
- package/esm/panels/PanelCartItems.js +49 -0
- package/esm/panels/PanelCartShipment.js +66 -0
- package/esm/panels/PanelClearCart.js +56 -0
- package/esm/panels/PanelClientCheckout.js +81 -0
- package/esm/panels/PanelEditCartItem.js +199 -0
- package/esm/panels/PanelPaymentSuccess.js +63 -0
- package/esm/panels/index.js +7 -0
- package/esm/square/SquareCard.js +106 -0
- package/esm/stripe/LegacyStripeCardForm.js +157 -0
- package/esm/stripe/StripeCardFields.js +126 -0
- package/esm/stripe/StripeCardForm.js +33 -0
- package/esm/stripe/StripePaymentButtons.js +98 -0
- package/esm/stripe/actions.js +192 -0
- package/esm/stripe/utils.js +20 -0
- package/esm/styles/globals.css +463 -0
- package/esm/styles/globals.css.map +1 -0
- package/esm/tabs/CartNav.js +28 -0
- package/esm/tabs/NavTab.js +31 -0
- package/esm/types/assets.d.js +0 -0
- package/esm/types/index.js +1 -0
- package/esm/types/merchi_product_form/index.d.js +0 -0
- package/esm/types/merchi_sdk_ts/index.d.js +0 -0
- package/esm/types/react-redux/index.d.js +0 -0
- package/esm/utilities/address.js +457 -0
- package/esm/utilities/area.js +297 -0
- package/esm/utilities/cart.js +95 -0
- package/esm/utilities/company.js +6 -0
- package/esm/utilities/cookie.js +156 -0
- package/esm/utilities/currency.js +219 -0
- package/esm/utilities/customForm.js +57 -0
- package/esm/utilities/helpers.js +229 -0
- package/esm/utilities/index.js +14 -0
- package/esm/utilities/invoice.js +112 -0
- package/esm/utilities/job.js +9 -0
- package/esm/utilities/local_storage.js +85 -0
- package/esm/utilities/product.js +13 -0
- package/esm/utilities/shipment.js +11 -0
- package/esm/utilities/tabs.js +51 -0
- package/esm/utilities/user.js +65 -0
- package/esm/utilities/variations.js +58 -0
- package/lib/Cart.d.ts +9 -0
- package/lib/Cart.js +69 -0
- package/lib/CartAlert.d.ts +3 -0
- package/lib/CartAlert.js +53 -0
- package/lib/CartHeader.d.ts +3 -0
- package/lib/CartHeader.js +37 -0
- package/lib/CartProvider.d.ts +236 -0
- package/lib/CartProvider.js +1107 -0
- package/lib/CartTotals.d.ts +7 -0
- package/lib/CartTotals.js +96 -0
- package/lib/assets/merchi-monster-loader.gif +0 -0
- package/lib/assets/merchi-swipe-outline.png +0 -0
- package/lib/assets/product-not-found.png +0 -0
- package/lib/assets/stripe-payment-secure.png +0 -0
- package/lib/buttons/Button.d.ts +11 -0
- package/lib/buttons/Button.js +31 -0
- package/lib/buttons/ButtonBack.d.ts +6 -0
- package/lib/buttons/ButtonBack.js +44 -0
- package/lib/buttons/ButtonClearCart.d.ts +3 -0
- package/lib/buttons/ButtonClearCart.js +24 -0
- package/lib/buttons/ButtonInvoiceDownload.d.ts +3 -0
- package/lib/buttons/ButtonInvoiceDownload.js +96 -0
- package/lib/buttons/ButtonNext.d.ts +3 -0
- package/lib/buttons/ButtonNext.js +48 -0
- package/lib/buttons/ButtonNextDynamic.d.ts +3 -0
- package/lib/buttons/ButtonNextDynamic.js +28 -0
- package/lib/buttons/ButtonOpenCartMerchiCartModal.d.ts +9 -0
- package/lib/buttons/ButtonOpenCartMerchiCartModal.js +57 -0
- package/lib/buttons/ButtonPay.d.ts +7 -0
- package/lib/buttons/ButtonPay.js +35 -0
- package/lib/buttons/ButtonShipmentTabNext.d.ts +2 -0
- package/lib/buttons/ButtonShipmentTabNext.js +37 -0
- package/lib/buttons/index.d.ts +7 -0
- package/lib/buttons/index.js +48 -0
- package/lib/components/Alert.d.ts +7 -0
- package/lib/components/Alert.js +34 -0
- package/lib/components/CartBody.d.ts +7 -0
- package/lib/components/CartBody.js +22 -0
- package/lib/components/CartClient.d.ts +4 -0
- package/lib/components/CartClient.js +71 -0
- package/lib/components/CartFooter.d.ts +6 -0
- package/lib/components/CartFooter.js +20 -0
- package/lib/components/CartItemRow.d.ts +7 -0
- package/lib/components/CartItemRow.js +236 -0
- package/lib/components/CartPaymentSettingsInvalid.d.ts +2 -0
- package/lib/components/CartPaymentSettingsInvalid.js +21 -0
- package/lib/components/CartShipment.d.ts +6 -0
- package/lib/components/CartShipment.js +59 -0
- package/lib/components/CartTabContent.d.ts +6 -0
- package/lib/components/CartTabContent.js +20 -0
- package/lib/components/CartTabPanel.d.ts +7 -0
- package/lib/components/CartTabPanel.js +31 -0
- package/lib/components/CartTableContainer.d.ts +6 -0
- package/lib/components/CartTableContainer.js +20 -0
- package/lib/components/CartTitle.d.ts +2 -0
- package/lib/components/CartTitle.js +34 -0
- package/lib/components/CartTotalsListGroup.d.ts +3 -0
- package/lib/components/CartTotalsListGroup.js +78 -0
- package/lib/components/Collapse.d.ts +3 -0
- package/lib/components/Collapse.js +40 -0
- package/lib/components/CustomCartProductForm.d.ts +18 -0
- package/lib/components/CustomCartProductForm.js +136 -0
- package/lib/components/CustomerCheckoutMethodTabs.d.ts +6 -0
- package/lib/components/CustomerCheckoutMethodTabs.js +103 -0
- package/lib/components/DiscountInputGroup.d.ts +2 -0
- package/lib/components/DiscountInputGroup.js +301 -0
- package/lib/components/LoadingTemplate.d.ts +7 -0
- package/lib/components/LoadingTemplate.js +30 -0
- package/lib/components/NoCartItems.d.ts +3 -0
- package/lib/components/NoCartItems.js +27 -0
- package/lib/components/ShipmentGroupCard.d.ts +7 -0
- package/lib/components/ShipmentGroupCard.js +215 -0
- package/lib/components/Table.d.ts +7 -0
- package/lib/components/Table.js +19 -0
- package/lib/components/containers.d.ts +14 -0
- package/lib/components/containers.js +40 -0
- package/lib/components/index.d.ts +18 -0
- package/lib/components/index.js +133 -0
- package/lib/components/product-form-sdk-externals.d.ts +46 -0
- package/lib/components/product-form-sdk-externals.js +43 -0
- package/lib/forms/FormNewCustomer.d.ts +4 -0
- package/lib/forms/FormNewCustomer.js +252 -0
- package/lib/forms/FormReturningCustomer.d.ts +3 -0
- package/lib/forms/FormReturningCustomer.js +173 -0
- package/lib/forms/FormShipmentAddressAndNotes.d.ts +15 -0
- package/lib/forms/FormShipmentAddressAndNotes.js +203 -0
- package/lib/forms/FormSquarePayment.d.ts +3 -0
- package/lib/forms/FormSquarePayment.js +27 -0
- package/lib/forms/FormStripePayment.d.ts +3 -0
- package/lib/forms/FormStripePayment.js +27 -0
- package/lib/forms/FormWhatsappCustomer.d.ts +3 -0
- package/lib/forms/FormWhatsappCustomer.js +261 -0
- package/lib/forms/InputAcceptUserTermsAndConditions.d.ts +7 -0
- package/lib/forms/InputAcceptUserTermsAndConditions.js +41 -0
- package/lib/forms/InputError.d.ts +8 -0
- package/lib/forms/InputError.js +24 -0
- package/lib/forms/InputSelect.d.ts +14 -0
- package/lib/forms/InputSelect.js +55 -0
- package/lib/forms/InputText.d.ts +12 -0
- package/lib/forms/InputText.js +63 -0
- package/lib/forms/InputsAddress.d.ts +11 -0
- package/lib/forms/InputsAddress.js +485 -0
- package/lib/forms/index.d.ts +8 -0
- package/lib/forms/index.js +63 -0
- package/lib/index.d.ts +13 -0
- package/lib/index.js +93 -0
- package/lib/modals.d.ts +17 -0
- package/lib/modals.js +59 -0
- package/lib/panels/PanelCartItems.d.ts +3 -0
- package/lib/panels/PanelCartItems.js +56 -0
- package/lib/panels/PanelCartShipment.d.ts +3 -0
- package/lib/panels/PanelCartShipment.js +72 -0
- package/lib/panels/PanelClearCart.d.ts +3 -0
- package/lib/panels/PanelClearCart.js +62 -0
- package/lib/panels/PanelClientCheckout.d.ts +3 -0
- package/lib/panels/PanelClientCheckout.js +88 -0
- package/lib/panels/PanelEditCartItem.d.ts +6 -0
- package/lib/panels/PanelEditCartItem.js +206 -0
- package/lib/panels/PanelPaymentSuccess.d.ts +3 -0
- package/lib/panels/PanelPaymentSuccess.js +69 -0
- package/lib/panels/index.d.ts +7 -0
- package/lib/panels/index.js +48 -0
- package/lib/square/SquareCard.d.ts +3 -0
- package/lib/square/SquareCard.js +114 -0
- package/lib/stripe/LegacyStripeCardForm.d.ts +3 -0
- package/lib/stripe/LegacyStripeCardForm.js +166 -0
- package/lib/stripe/StripeCardFields.d.ts +15 -0
- package/lib/stripe/StripeCardFields.js +135 -0
- package/lib/stripe/StripeCardForm.d.ts +2 -0
- package/lib/stripe/StripeCardForm.js +42 -0
- package/lib/stripe/StripePaymentButtons.d.ts +8 -0
- package/lib/stripe/StripePaymentButtons.js +106 -0
- package/lib/stripe/actions.d.ts +4 -0
- package/lib/stripe/actions.js +200 -0
- package/lib/stripe/utils.d.ts +18 -0
- package/lib/stripe/utils.js +27 -0
- package/lib/styles/globals.css +463 -0
- package/lib/styles/globals.css.map +1 -0
- package/lib/tabs/CartNav.d.ts +3 -0
- package/lib/tabs/CartNav.js +36 -0
- package/lib/tabs/NavTab.d.ts +9 -0
- package/lib/tabs/NavTab.js +39 -0
- package/lib/types/index.d.ts +13 -0
- package/lib/types/index.js +1 -0
- package/lib/utilities/address.d.ts +30 -0
- package/lib/utilities/address.js +468 -0
- package/lib/utilities/area.d.ts +77 -0
- package/lib/utilities/area.js +328 -0
- package/lib/utilities/cart.d.ts +9 -0
- package/lib/utilities/cart.js +108 -0
- package/lib/utilities/company.d.ts +2 -0
- package/lib/utilities/company.js +13 -0
- package/lib/utilities/cookie.d.ts +4 -0
- package/lib/utilities/cookie.js +165 -0
- package/lib/utilities/currency.d.ts +5 -0
- package/lib/utilities/currency.js +229 -0
- package/lib/utilities/customForm.d.ts +17 -0
- package/lib/utilities/customForm.js +64 -0
- package/lib/utilities/helpers.d.ts +24 -0
- package/lib/utilities/helpers.js +240 -0
- package/lib/utilities/index.d.ts +14 -0
- package/lib/utilities/index.js +159 -0
- package/lib/utilities/invoice.d.ts +3 -0
- package/lib/utilities/invoice.js +118 -0
- package/lib/utilities/job.d.ts +1 -0
- package/lib/utilities/job.js +15 -0
- package/lib/utilities/local_storage.d.ts +31 -0
- package/lib/utilities/local_storage.js +96 -0
- package/lib/utilities/product.d.ts +2 -0
- package/lib/utilities/product.js +21 -0
- package/lib/utilities/shipment.d.ts +2 -0
- package/lib/utilities/shipment.js +18 -0
- package/lib/utilities/tabs.d.ts +14 -0
- package/lib/utilities/tabs.js +60 -0
- package/lib/utilities/user.d.ts +5 -0
- package/lib/utilities/user.js +75 -0
- package/lib/utilities/variations.d.ts +18 -0
- package/lib/utilities/variations.js +66 -0
- package/package.json +109 -0
- package/src/Cart.tsx +96 -0
- package/src/CartAlert.tsx +35 -0
- package/src/CartHeader.tsx +28 -0
- package/src/CartProvider.tsx +992 -0
- package/src/CartTotals.tsx +102 -0
- package/src/assets/merchi-monster-loader.gif +0 -0
- package/src/assets/merchi-swipe-outline.png +0 -0
- package/src/assets/product-not-found.png +0 -0
- package/src/assets/stripe-payment-secure.png +0 -0
- package/src/buttons/Button.tsx +35 -0
- package/src/buttons/ButtonBack.tsx +42 -0
- package/src/buttons/ButtonClearCart.tsx +17 -0
- package/src/buttons/ButtonInvoiceDownload.tsx +60 -0
- package/src/buttons/ButtonNext.tsx +35 -0
- package/src/buttons/ButtonNextDynamic.tsx +31 -0
- package/src/buttons/ButtonOpenCartMerchiCartModal.tsx +61 -0
- package/src/buttons/ButtonPay.tsx +32 -0
- package/src/buttons/ButtonShipmentTabNext.tsx +24 -0
- package/src/buttons/index.ts +15 -0
- package/src/components/Alert.tsx +31 -0
- package/src/components/CartBody.tsx +16 -0
- package/src/components/CartClient.tsx +52 -0
- package/src/components/CartFooter.tsx +15 -0
- package/src/components/CartItemRow.tsx +212 -0
- package/src/components/CartPaymentSettingsInvalid.tsx +12 -0
- package/src/components/CartShipment.tsx +56 -0
- package/src/components/CartTabContent.tsx +15 -0
- package/src/components/CartTabPanel.tsx +25 -0
- package/src/components/CartTableContainer.tsx +15 -0
- package/src/components/CartTitle.tsx +22 -0
- package/src/components/CartTotalsListGroup.tsx +58 -0
- package/src/components/Collapse.tsx +23 -0
- package/src/components/CustomCartProductForm.tsx +123 -0
- package/src/components/CustomerCheckoutMethodTabs.tsx +106 -0
- package/src/components/DiscountInputGroup.tsx +160 -0
- package/src/components/LoadingTemplate.tsx +22 -0
- package/src/components/NoCartItems.tsx +20 -0
- package/src/components/ShipmentGroupCard.tsx +170 -0
- package/src/components/Table.tsx +15 -0
- package/src/components/containers.tsx +40 -0
- package/src/components/index.ts +38 -0
- package/src/components/product-form-sdk-externals.ts +67 -0
- package/src/forms/FormNewCustomer.tsx +170 -0
- package/src/forms/FormReturningCustomer.tsx +117 -0
- package/src/forms/FormShipmentAddressAndNotes.tsx +165 -0
- package/src/forms/FormSquarePayment.tsx +19 -0
- package/src/forms/FormStripePayment.tsx +19 -0
- package/src/forms/FormWhatsappCustomer.tsx +179 -0
- package/src/forms/InputAcceptUserTermsAndConditions.tsx +43 -0
- package/src/forms/InputError.tsx +23 -0
- package/src/forms/InputSelect.tsx +58 -0
- package/src/forms/InputText.tsx +56 -0
- package/src/forms/InputsAddress.tsx +438 -0
- package/src/forms/index.ts +18 -0
- package/src/index.ts +31 -0
- package/src/modals.tsx +65 -0
- package/src/panels/PanelCartItems.tsx +56 -0
- package/src/panels/PanelCartShipment.tsx +86 -0
- package/src/panels/PanelClearCart.tsx +50 -0
- package/src/panels/PanelClientCheckout.tsx +102 -0
- package/src/panels/PanelEditCartItem.tsx +172 -0
- package/src/panels/PanelPaymentSuccess.tsx +66 -0
- package/src/panels/index.ts +15 -0
- package/src/square/SquareCard.tsx +84 -0
- package/src/stripe/LegacyStripeCardForm.tsx +91 -0
- package/src/stripe/StripeCardFields.tsx +173 -0
- package/src/stripe/StripeCardForm.tsx +18 -0
- package/src/stripe/StripePaymentButtons.tsx +117 -0
- package/src/stripe/actions.ts +94 -0
- package/src/stripe/utils.ts +22 -0
- package/src/styles/globals.scss +475 -0
- package/src/tabs/CartNav.tsx +18 -0
- package/src/tabs/NavTab.tsx +36 -0
- package/src/types/assets.d.ts +4 -0
- package/src/types/index.ts +15 -0
- package/src/types/merchi_product_form/index.d.ts +1 -0
- package/src/types/merchi_sdk_ts/index.d.ts +1 -0
- package/src/types/react-redux/index.d.ts +0 -0
- package/src/utilities/address.ts +463 -0
- package/src/utilities/area.ts +359 -0
- package/src/utilities/cart.ts +80 -0
- package/src/utilities/company.ts +8 -0
- package/src/utilities/cookie.ts +58 -0
- package/src/utilities/currency.ts +216 -0
- package/src/utilities/customForm.ts +71 -0
- package/src/utilities/helpers.ts +213 -0
- package/src/utilities/index.ts +14 -0
- package/src/utilities/invoice.ts +60 -0
- package/src/utilities/job.ts +13 -0
- package/src/utilities/local_storage.ts +130 -0
- package/src/utilities/product.ts +14 -0
- package/src/utilities/shipment.ts +11 -0
- package/src/utilities/tabs.ts +38 -0
- package/src/utilities/user.ts +33 -0
- package/src/utilities/variations.ts +80 -0
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = void 0;
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
var React = _react;
|
|
10
|
+
var _reactStripeJs = require("@stripe/react-stripe-js");
|
|
11
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
13
|
+
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
14
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
15
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
16
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
17
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
18
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
19
|
+
function useOptions(paymentRequest) {
|
|
20
|
+
var options = (0, _react.useMemo)(function () {
|
|
21
|
+
return {
|
|
22
|
+
paymentRequest: paymentRequest,
|
|
23
|
+
style: {
|
|
24
|
+
paymentRequestButton: {
|
|
25
|
+
theme: 'dark',
|
|
26
|
+
height: '48px',
|
|
27
|
+
type: 'buy'
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
}, [paymentRequest]);
|
|
32
|
+
return options;
|
|
33
|
+
}
|
|
34
|
+
function usePaymentRequest(_ref) {
|
|
35
|
+
var options = _ref.options,
|
|
36
|
+
onPaymentMethod = _ref.onPaymentMethod;
|
|
37
|
+
var stripe = (0, _reactStripeJs.useStripe)();
|
|
38
|
+
var _useState = (0, _react.useState)(null),
|
|
39
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
40
|
+
paymentRequest = _useState2[0],
|
|
41
|
+
setPaymentRequest = _useState2[1];
|
|
42
|
+
var _useState3 = (0, _react.useState)(false),
|
|
43
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
44
|
+
canMakePayment = _useState4[0],
|
|
45
|
+
setCanMakePayment = _useState4[1];
|
|
46
|
+
(0, _react.useEffect)(function () {
|
|
47
|
+
if (stripe && paymentRequest === null) {
|
|
48
|
+
var pr = stripe.paymentRequest(options);
|
|
49
|
+
setPaymentRequest(pr);
|
|
50
|
+
}
|
|
51
|
+
}, [stripe, options, paymentRequest]);
|
|
52
|
+
(0, _react.useEffect)(function () {
|
|
53
|
+
var subscribed = true;
|
|
54
|
+
if (paymentRequest) {
|
|
55
|
+
paymentRequest.canMakePayment().then(function (res) {
|
|
56
|
+
if (res && subscribed) {
|
|
57
|
+
setCanMakePayment(true);
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
return function () {
|
|
62
|
+
subscribed = false;
|
|
63
|
+
};
|
|
64
|
+
}, [paymentRequest]);
|
|
65
|
+
(0, _react.useEffect)(function () {
|
|
66
|
+
if (paymentRequest) {
|
|
67
|
+
paymentRequest.on('paymentmethod', onPaymentMethod);
|
|
68
|
+
}
|
|
69
|
+
return function () {
|
|
70
|
+
if (paymentRequest) {
|
|
71
|
+
paymentRequest.off('paymentmethod', onPaymentMethod);
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
}, [paymentRequest, onPaymentMethod]);
|
|
75
|
+
return canMakePayment ? paymentRequest : null;
|
|
76
|
+
}
|
|
77
|
+
function StripePaymentButtons(_ref2) {
|
|
78
|
+
var doPaymentRequest = _ref2.doPaymentRequest,
|
|
79
|
+
cart = _ref2.cart;
|
|
80
|
+
var paymentRequest = usePaymentRequest({
|
|
81
|
+
options: {
|
|
82
|
+
country: cart.domain.company.country,
|
|
83
|
+
currency: String(cart.currency).toLowerCase(),
|
|
84
|
+
total: {
|
|
85
|
+
label: "Merchi Cart #".concat(cart.id),
|
|
86
|
+
amount: Math.round(cart.totalCost * 100)
|
|
87
|
+
}
|
|
88
|
+
},
|
|
89
|
+
onPaymentMethod: doPaymentRequest
|
|
90
|
+
});
|
|
91
|
+
var options = useOptions(paymentRequest);
|
|
92
|
+
if (!paymentRequest) {
|
|
93
|
+
return null;
|
|
94
|
+
}
|
|
95
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
96
|
+
style: {
|
|
97
|
+
marginBottom: '2rem',
|
|
98
|
+
marginTop: '2rem'
|
|
99
|
+
},
|
|
100
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactStripeJs.PaymentRequestButtonElement, {
|
|
101
|
+
className: "PaymentRequestButton",
|
|
102
|
+
options: options
|
|
103
|
+
})
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
var _default = exports["default"] = StripePaymentButtons;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { PaymentRequestPaymentMethodEvent } from '@stripe/stripe-js';
|
|
2
|
+
export declare function stripeInitPromise(apiUrl: string): Promise<any>;
|
|
3
|
+
export declare function stripeCardFormSubmit(apiUrl: string, stripe: any, card: any, cart: any): Promise<any>;
|
|
4
|
+
export declare function stripePaymentButtonSubmit(apiUrl: string, stripe: any, cart: any, paymentMethodEvent: PaymentRequestPaymentMethodEvent): Promise<any>;
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.stripeCardFormSubmit = stripeCardFormSubmit;
|
|
7
|
+
exports.stripeInitPromise = stripeInitPromise;
|
|
8
|
+
exports.stripePaymentButtonSubmit = stripePaymentButtonSubmit;
|
|
9
|
+
function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
|
|
10
|
+
function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
|
|
11
|
+
function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
|
|
12
|
+
function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
|
|
13
|
+
function stripeInitPromise(_x) {
|
|
14
|
+
return _stripeInitPromise.apply(this, arguments);
|
|
15
|
+
}
|
|
16
|
+
function _stripeInitPromise() {
|
|
17
|
+
_stripeInitPromise = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(apiUrl) {
|
|
18
|
+
return _regenerator().w(function (_context) {
|
|
19
|
+
while (1) switch (_context.n) {
|
|
20
|
+
case 0:
|
|
21
|
+
_context.n = 1;
|
|
22
|
+
return fetch("".concat(apiUrl, "stripe/master_publishable_key/"), {
|
|
23
|
+
method: 'GET',
|
|
24
|
+
mode: 'cors'
|
|
25
|
+
}).then(function (response) {
|
|
26
|
+
return response.key;
|
|
27
|
+
});
|
|
28
|
+
case 1:
|
|
29
|
+
return _context.a(2, _context.v);
|
|
30
|
+
}
|
|
31
|
+
}, _callee);
|
|
32
|
+
}));
|
|
33
|
+
return _stripeInitPromise.apply(this, arguments);
|
|
34
|
+
}
|
|
35
|
+
function createPaymentIntent(_x2, _x3, _x4) {
|
|
36
|
+
return _createPaymentIntent.apply(this, arguments);
|
|
37
|
+
}
|
|
38
|
+
function _createPaymentIntent() {
|
|
39
|
+
_createPaymentIntent = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(apiUrl, cart, paymentMethodType) {
|
|
40
|
+
var id, token, fetchOptions, queryParams, queryString, uri, url, response;
|
|
41
|
+
return _regenerator().w(function (_context2) {
|
|
42
|
+
while (1) switch (_context2.n) {
|
|
43
|
+
case 0:
|
|
44
|
+
id = cart.id, token = cart.token;
|
|
45
|
+
fetchOptions = {
|
|
46
|
+
method: 'GET',
|
|
47
|
+
mode: 'cors'
|
|
48
|
+
};
|
|
49
|
+
queryParams = [['cart_token', token]];
|
|
50
|
+
if (paymentMethodType) {
|
|
51
|
+
queryParams.push(['payment_method_types', paymentMethodType]);
|
|
52
|
+
}
|
|
53
|
+
queryString = new URLSearchParams(queryParams).toString();
|
|
54
|
+
uri = "stripe/payment_intent/cart/".concat(id, "/");
|
|
55
|
+
url = "".concat(apiUrl).concat(uri, "?").concat(queryString);
|
|
56
|
+
_context2.n = 1;
|
|
57
|
+
return fetch(url, fetchOptions);
|
|
58
|
+
case 1:
|
|
59
|
+
response = _context2.v;
|
|
60
|
+
if (response.ok) {
|
|
61
|
+
_context2.n = 2;
|
|
62
|
+
break;
|
|
63
|
+
}
|
|
64
|
+
throw new Error("Failed to create payment intent.");
|
|
65
|
+
case 2:
|
|
66
|
+
_context2.n = 3;
|
|
67
|
+
return response.json();
|
|
68
|
+
case 3:
|
|
69
|
+
return _context2.a(2, _context2.v);
|
|
70
|
+
}
|
|
71
|
+
}, _callee2);
|
|
72
|
+
}));
|
|
73
|
+
return _createPaymentIntent.apply(this, arguments);
|
|
74
|
+
}
|
|
75
|
+
function checkPaymentIntnetIsComplete(_x5, _x6) {
|
|
76
|
+
return _checkPaymentIntnetIsComplete.apply(this, arguments);
|
|
77
|
+
}
|
|
78
|
+
function _checkPaymentIntnetIsComplete() {
|
|
79
|
+
_checkPaymentIntnetIsComplete = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(apiUrl, cart) {
|
|
80
|
+
var url, fetchOptions, queryString, response, i;
|
|
81
|
+
return _regenerator().w(function (_context3) {
|
|
82
|
+
while (1) switch (_context3.n) {
|
|
83
|
+
case 0:
|
|
84
|
+
url = "stripe/payment_intent/cart/complete/".concat(cart.id, "/");
|
|
85
|
+
fetchOptions = {
|
|
86
|
+
method: 'GET',
|
|
87
|
+
mode: 'cors'
|
|
88
|
+
};
|
|
89
|
+
queryString = new URLSearchParams({
|
|
90
|
+
cart_token: cart.token
|
|
91
|
+
}).toString();
|
|
92
|
+
_context3.n = 1;
|
|
93
|
+
return fetch("".concat(apiUrl).concat(url, "?").concat(queryString), fetchOptions);
|
|
94
|
+
case 1:
|
|
95
|
+
response = _context3.v;
|
|
96
|
+
if (response.ok) {
|
|
97
|
+
_context3.n = 2;
|
|
98
|
+
break;
|
|
99
|
+
}
|
|
100
|
+
throw new Error("Failed to check if payment intent is complete.");
|
|
101
|
+
case 2:
|
|
102
|
+
_context3.n = 3;
|
|
103
|
+
return response.json();
|
|
104
|
+
case 3:
|
|
105
|
+
i = _context3.v;
|
|
106
|
+
return _context3.a(2, i.invoice);
|
|
107
|
+
}
|
|
108
|
+
}, _callee3);
|
|
109
|
+
}));
|
|
110
|
+
return _checkPaymentIntnetIsComplete.apply(this, arguments);
|
|
111
|
+
}
|
|
112
|
+
function stripeCardFormSubmit(_x7, _x8, _x9, _x0) {
|
|
113
|
+
return _stripeCardFormSubmit.apply(this, arguments);
|
|
114
|
+
}
|
|
115
|
+
function _stripeCardFormSubmit() {
|
|
116
|
+
_stripeCardFormSubmit = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(apiUrl, stripe, card, cart) {
|
|
117
|
+
var intent, stripePayment, _t;
|
|
118
|
+
return _regenerator().w(function (_context4) {
|
|
119
|
+
while (1) switch (_context4.p = _context4.n) {
|
|
120
|
+
case 0:
|
|
121
|
+
_context4.p = 0;
|
|
122
|
+
_context4.n = 1;
|
|
123
|
+
return createPaymentIntent(apiUrl, cart);
|
|
124
|
+
case 1:
|
|
125
|
+
intent = _context4.v;
|
|
126
|
+
_context4.n = 2;
|
|
127
|
+
return stripe.confirmCardPayment(intent.stripeClientSecret, {
|
|
128
|
+
payment_method: {
|
|
129
|
+
card: card
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
case 2:
|
|
133
|
+
stripePayment = _context4.v;
|
|
134
|
+
if (!stripePayment.error) {
|
|
135
|
+
_context4.n = 3;
|
|
136
|
+
break;
|
|
137
|
+
}
|
|
138
|
+
throw new Error(stripePayment.error.message || 'Stripe connect unknown error');
|
|
139
|
+
case 3:
|
|
140
|
+
_context4.n = 4;
|
|
141
|
+
return checkPaymentIntnetIsComplete(apiUrl, cart);
|
|
142
|
+
case 4:
|
|
143
|
+
return _context4.a(2, _context4.v);
|
|
144
|
+
case 5:
|
|
145
|
+
_context4.p = 5;
|
|
146
|
+
_t = _context4.v;
|
|
147
|
+
throw _t;
|
|
148
|
+
case 6:
|
|
149
|
+
return _context4.a(2);
|
|
150
|
+
}
|
|
151
|
+
}, _callee4, null, [[0, 5]]);
|
|
152
|
+
}));
|
|
153
|
+
return _stripeCardFormSubmit.apply(this, arguments);
|
|
154
|
+
}
|
|
155
|
+
function stripePaymentButtonSubmit(_x1, _x10, _x11, _x12) {
|
|
156
|
+
return _stripePaymentButtonSubmit.apply(this, arguments);
|
|
157
|
+
}
|
|
158
|
+
function _stripePaymentButtonSubmit() {
|
|
159
|
+
_stripePaymentButtonSubmit = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5(apiUrl, stripe, cart, paymentMethodEvent) {
|
|
160
|
+
var complete, paymentMethod, intent, stripePayment, _t2;
|
|
161
|
+
return _regenerator().w(function (_context5) {
|
|
162
|
+
while (1) switch (_context5.p = _context5.n) {
|
|
163
|
+
case 0:
|
|
164
|
+
complete = paymentMethodEvent.complete, paymentMethod = paymentMethodEvent.paymentMethod;
|
|
165
|
+
_context5.p = 1;
|
|
166
|
+
_context5.n = 2;
|
|
167
|
+
return createPaymentIntent(apiUrl, cart);
|
|
168
|
+
case 2:
|
|
169
|
+
intent = _context5.v;
|
|
170
|
+
_context5.n = 3;
|
|
171
|
+
return stripe.confirmCardPayment(intent.stripeClientSecret, {
|
|
172
|
+
payment_method: paymentMethod.id
|
|
173
|
+
}, {
|
|
174
|
+
handleActions: false
|
|
175
|
+
});
|
|
176
|
+
case 3:
|
|
177
|
+
stripePayment = _context5.v;
|
|
178
|
+
if (!stripePayment.error) {
|
|
179
|
+
_context5.n = 4;
|
|
180
|
+
break;
|
|
181
|
+
}
|
|
182
|
+
throw new Error(stripePayment.error.message || 'Stripe unknown error');
|
|
183
|
+
case 4:
|
|
184
|
+
complete('success');
|
|
185
|
+
_context5.n = 5;
|
|
186
|
+
return checkPaymentIntnetIsComplete(apiUrl, cart);
|
|
187
|
+
case 5:
|
|
188
|
+
return _context5.a(2, _context5.v);
|
|
189
|
+
case 6:
|
|
190
|
+
_context5.p = 6;
|
|
191
|
+
_t2 = _context5.v;
|
|
192
|
+
complete('fail');
|
|
193
|
+
throw _t2;
|
|
194
|
+
case 7:
|
|
195
|
+
return _context5.a(2);
|
|
196
|
+
}
|
|
197
|
+
}, _callee5, null, [[1, 6]]);
|
|
198
|
+
}));
|
|
199
|
+
return _stripePaymentButtonSubmit.apply(this, arguments);
|
|
200
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export declare function companyStripePubKeyOrTestPubKey(company: any): any;
|
|
2
|
+
export declare const CARD_ELEMENT_OPTIONS: {
|
|
3
|
+
hidePostalCode: boolean;
|
|
4
|
+
style: {
|
|
5
|
+
base: {
|
|
6
|
+
'::placeholder': {
|
|
7
|
+
color: string;
|
|
8
|
+
fontSize: string;
|
|
9
|
+
};
|
|
10
|
+
fontSize: string;
|
|
11
|
+
lineHeight: string;
|
|
12
|
+
paddingTop: string;
|
|
13
|
+
};
|
|
14
|
+
invalid: {
|
|
15
|
+
color: string;
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.CARD_ELEMENT_OPTIONS = void 0;
|
|
7
|
+
exports.companyStripePubKeyOrTestPubKey = companyStripePubKeyOrTestPubKey;
|
|
8
|
+
function companyStripePubKeyOrTestPubKey(company) {
|
|
9
|
+
return company.isTesting ? company.stripePublishableTestKey : company.stripePublishableKey;
|
|
10
|
+
}
|
|
11
|
+
var CARD_ELEMENT_OPTIONS = exports.CARD_ELEMENT_OPTIONS = {
|
|
12
|
+
hidePostalCode: true,
|
|
13
|
+
style: {
|
|
14
|
+
base: {
|
|
15
|
+
'::placeholder': {
|
|
16
|
+
color: '#999',
|
|
17
|
+
fontSize: '16px'
|
|
18
|
+
},
|
|
19
|
+
fontSize: '16px',
|
|
20
|
+
lineHeight: '1.33',
|
|
21
|
+
paddingTop: '4px'
|
|
22
|
+
},
|
|
23
|
+
invalid: {
|
|
24
|
+
color: '#9e2146'
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
};
|