@pelcro/react-pelcro-js 4.0.0-alpha.35 → 4.0.0-alpha.36

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/dist/index.esm.js CHANGED
@@ -3423,7 +3423,8 @@ var labels$10 = {
3423
3423
  removeCoupon: "REMOVE",
3424
3424
  firstName: "First name",
3425
3425
  lastName: "Last name",
3426
- phone: "Phone"
3426
+ phone: "Phone",
3427
+ freeItems: "Free Items"
3427
3428
  };
3428
3429
  var checkoutForm_en = {
3429
3430
  messages: messages$14,
@@ -4367,7 +4368,8 @@ var labels$H = {
4367
4368
  removeCoupon: "RETIRER",
4368
4369
  firstName: "Prénom",
4369
4370
  lastName: "Nom de famille",
4370
- phone: "Téléphoner"
4371
+ phone: "Téléphoner",
4372
+ freeItems: "Articles gratuits"
4371
4373
  };
4372
4374
  var checkoutForm_fr = {
4373
4375
  messages: messages$M,
@@ -5258,7 +5260,8 @@ var labels$s = {
5258
5260
  removeCoupon: "제거",
5259
5261
  firstName: "이름",
5260
5262
  lastName: "성",
5261
- phone: "핸드폰"
5263
+ phone: "핸드폰",
5264
+ freeItems: "무료 아이템"
5262
5265
  };
5263
5266
  var checkoutForm_ko = {
5264
5267
  messages: messages$v,
@@ -6198,7 +6201,8 @@ var labels$d = {
6198
6201
  removeCoupon: "ELIMINAR",
6199
6202
  firstName: "Nombre",
6200
6203
  lastName: "Apellido",
6201
- phone: "Teléfono"
6204
+ phone: "Teléfono",
6205
+ freeItems: "Artículos gratis"
6202
6206
  };
6203
6207
  var checkoutForm_es = {
6204
6208
  messages: messages$e,
@@ -8835,7 +8839,7 @@ const calcAndFormatItemsTotal = (items, currency) => {
8835
8839
  let totalWithoutDividingBy100 = 0;
8836
8840
 
8837
8841
  for (const item of items) {
8838
- totalWithoutDividingBy100 += parseFloat(item.price ? isCurrencyZeroDecimal(currency) ? item.price * item.quantity : (item.price * item.quantity).toFixed(2) : isCurrencyZeroDecimal(currency) ? item.amount : item.amount.toFixed(2));
8842
+ totalWithoutDividingBy100 += parseFloat(item !== null && item !== void 0 && item.price || (item === null || item === void 0 ? void 0 : item.price) === 0 ? isCurrencyZeroDecimal(currency) ? item.price * item.quantity : (item.price * item.quantity).toFixed(2) : isCurrencyZeroDecimal(currency) ? item.amount : item.amount.toFixed(2));
8839
8843
  }
8840
8844
 
8841
8845
  return getFormattedPriceByLocal(totalWithoutDividingBy100, currency, getPageOrDefaultLanguage());
@@ -11448,6 +11452,10 @@ const initViewFromURL = () => {
11448
11452
  return showSubscriptionManageMembersFromUrl();
11449
11453
  }
11450
11454
 
11455
+ if (view === "payment-method-update") {
11456
+ return showPaymentMethodUpdateFromUrl();
11457
+ }
11458
+
11451
11459
  switchView(view);
11452
11460
  });
11453
11461
  }
@@ -11683,6 +11691,47 @@ const showPasswordlessRequestFromUrl = () => {
11683
11691
  return switchView("passwordless-request");
11684
11692
  };
11685
11693
 
11694
+ const showPaymentMethodUpdateFromUrl = () => {
11695
+ const {
11696
+ isAuthenticated,
11697
+ whenSiteReady,
11698
+ whenUserReady,
11699
+ switchView
11700
+ } = usePelcro.getStore();
11701
+ whenSiteReady(() => {
11702
+ if (!isAuthenticated()) {
11703
+ return switchView("login");
11704
+ }
11705
+
11706
+ whenUserReady(() => {
11707
+ const supportsVantiv = Boolean(window.Pelcro.site.read().vantiv_gateway_settings);
11708
+ const supportsTap = Boolean(window.Pelcro.site.read().tap_gateway_settings);
11709
+
11710
+ if (!window.Stripe && !supportsVantiv && !supportsTap) {
11711
+ document.querySelector('script[src="https://js.stripe.com/v3"]').addEventListener("load", () => {
11712
+ return switchView("payment-method-update");
11713
+ });
11714
+ return;
11715
+ } //vantiv
11716
+
11717
+
11718
+ if (supportsVantiv) {
11719
+ document.querySelector("#vantiv-eprotect-sdk").addEventListener("load", () => {
11720
+ return switchView("payment-method-update");
11721
+ });
11722
+ return;
11723
+ } //Tap
11724
+
11725
+
11726
+ if (supportsTap && document.querySelector("#tap-sdk")) {
11727
+ return switchView("payment-method-update");
11728
+ }
11729
+
11730
+ return switchView("payment-method-update");
11731
+ });
11732
+ });
11733
+ };
11734
+
11686
11735
  const showInvoiceDetailsFromUrl = () => {
11687
11736
  const {
11688
11737
  isAuthenticated,
@@ -13640,7 +13689,7 @@ function LoginModal({
13640
13689
 
13641
13690
  resetView();
13642
13691
  const viewFromURL = getStableViewID(window.Pelcro.helpers.getURLParameter("view"));
13643
- const viewsURLs = ["invoice-details", "gift-redeem", "plan-select"];
13692
+ const viewsURLs = ["invoice-details", "gift-redeem", "plan-select", "payment-method-update"];
13644
13693
 
13645
13694
  if (viewsURLs.includes(viewFromURL)) {
13646
13695
  initViewFromURL();
@@ -18955,6 +19004,29 @@ function SelectModalWithHook(props) {
18955
19004
  matchingEntitlements: view === "_plan-select-entitlements" ? entitlements : null
18956
19005
  });
18957
19006
  }
19007
+
19008
+ function productsWithMatchedTaggedFirst() {
19009
+ var _window$Pelcro$produc;
19010
+
19011
+ const allProducts = (_window$Pelcro$produc = window.Pelcro.product.list()) !== null && _window$Pelcro$produc !== void 0 ? _window$Pelcro$produc : [];
19012
+ const productsThatMatchArticleTag = window.Pelcro.product.getByMatchingPageTags();
19013
+ const allProductsMinusMatched = allProducts.filter(product => !productsThatMatchArticleTag.some(matchedProduct => matchedProduct.id === product.id));
19014
+ return [productsThatMatchArticleTag, allProductsMinusMatched];
19015
+ }
19016
+
19017
+ function productMatchPageLanguage(product) {
19018
+ if (!product) {
19019
+ return false;
19020
+ }
19021
+
19022
+ if (product.language === null) {
19023
+ return true;
19024
+ }
19025
+
19026
+ const siteLanguage = window.Pelcro.helpers.getHtmlLanguageAttribute();
19027
+ return product.language === siteLanguage;
19028
+ }
19029
+
18958
19030
  SelectModalWithHook.viewId = "plan-select";
18959
19031
 
18960
19032
  class SelectModal extends Component {
@@ -18999,19 +19071,50 @@ class SelectModal extends Component {
18999
19071
  document.addEventListener("keydown", this.handleSubmit);
19000
19072
 
19001
19073
  if (!document.querySelector("#pelcro-selection-view") || !document.querySelector(".pelcro-select-product-wrapper")) {
19074
+ var _window$Pelcro, _window$Pelcro$user, _window$Pelcro2, _window$Pelcro2$user, _window$Pelcro3, _window$Pelcro3$user, _window$Pelcro4, _window$Pelcro4$site;
19075
+
19076
+ const userCurrency = (_window$Pelcro = window.Pelcro) === null || _window$Pelcro === void 0 ? void 0 : (_window$Pelcro$user = _window$Pelcro.user) === null || _window$Pelcro$user === void 0 ? void 0 : _window$Pelcro$user.read().currency;
19077
+ const userCountry = (_window$Pelcro2 = window.Pelcro) === null || _window$Pelcro2 === void 0 ? void 0 : (_window$Pelcro2$user = _window$Pelcro2.user) === null || _window$Pelcro2$user === void 0 ? void 0 : _window$Pelcro2$user.location.countryCode;
19078
+ const userLanguage = (_window$Pelcro3 = window.Pelcro) === null || _window$Pelcro3 === void 0 ? void 0 : (_window$Pelcro3$user = _window$Pelcro3.user) === null || _window$Pelcro3$user === void 0 ? void 0 : _window$Pelcro3$user.read().language;
19079
+ const productsMatchingUserCurrency = (_window$Pelcro4 = window.Pelcro) === null || _window$Pelcro4 === void 0 ? void 0 : (_window$Pelcro4$site = _window$Pelcro4.site) === null || _window$Pelcro4$site === void 0 ? void 0 : _window$Pelcro4$site.read().products.filter(product => {
19080
+ const filteredPlans = product.plans.filter(plan => plan.currency === userCurrency || !userCurrency);
19081
+ if (filteredPlans.length) return filteredPlans;
19082
+ });
19083
+ const productsMatchingUserCountry = productsMatchingUserCurrency.filter(product => {
19084
+ const filteredPlans = product.plans.filter(plan => {
19085
+ var _plan$countries;
19086
+
19087
+ return plan.countries && ((_plan$countries = plan.countries) === null || _plan$countries === void 0 ? void 0 : _plan$countries.includes(userCountry)) || !plan.countries || !plan.countries.length;
19088
+ });
19089
+ if (filteredPlans.length) return filteredPlans;
19090
+ });
19002
19091
  notifyBugsnag(() => {
19003
19092
  Bugsnag.notify("SelectModal - No data viewed", event => {
19004
- var _window$Pelcro, _window$Pelcro$site, _window$Pelcro2, _window$Pelcro2$user, _window$Pelcro3, _window$Pelcro3$uiSet, _window$Pelcro4;
19093
+ var _window$Pelcro5, _window$Pelcro5$site, _window$Pelcro6, _window$Pelcro6$user, _window$Pelcro7, _window$Pelcro7$uiSet, _window$Pelcro8, _this$props, _window$Pelcro9, _window$Pelcro9$helpe, _window$Pelcro10, _window$Pelcro10$site;
19005
19094
 
19006
19095
  event.addMetadata("MetaData", {
19007
- site: (_window$Pelcro = window.Pelcro) === null || _window$Pelcro === void 0 ? void 0 : (_window$Pelcro$site = _window$Pelcro.site) === null || _window$Pelcro$site === void 0 ? void 0 : _window$Pelcro$site.read(),
19008
- user: (_window$Pelcro2 = window.Pelcro) === null || _window$Pelcro2 === void 0 ? void 0 : (_window$Pelcro2$user = _window$Pelcro2.user) === null || _window$Pelcro2$user === void 0 ? void 0 : _window$Pelcro2$user.read(),
19009
- uiVersion: (_window$Pelcro3 = window.Pelcro) === null || _window$Pelcro3 === void 0 ? void 0 : (_window$Pelcro3$uiSet = _window$Pelcro3.uiSettings) === null || _window$Pelcro3$uiSet === void 0 ? void 0 : _window$Pelcro3$uiSet.uiVersion,
19010
- environment: (_window$Pelcro4 = window.Pelcro) === null || _window$Pelcro4 === void 0 ? void 0 : _window$Pelcro4.environment
19096
+ site: (_window$Pelcro5 = window.Pelcro) === null || _window$Pelcro5 === void 0 ? void 0 : (_window$Pelcro5$site = _window$Pelcro5.site) === null || _window$Pelcro5$site === void 0 ? void 0 : _window$Pelcro5$site.read(),
19097
+ user: (_window$Pelcro6 = window.Pelcro) === null || _window$Pelcro6 === void 0 ? void 0 : (_window$Pelcro6$user = _window$Pelcro6.user) === null || _window$Pelcro6$user === void 0 ? void 0 : _window$Pelcro6$user.read(),
19098
+ uiVersion: (_window$Pelcro7 = window.Pelcro) === null || _window$Pelcro7 === void 0 ? void 0 : (_window$Pelcro7$uiSet = _window$Pelcro7.uiSettings) === null || _window$Pelcro7$uiSet === void 0 ? void 0 : _window$Pelcro7$uiSet.uiVersion,
19099
+ environment: (_window$Pelcro8 = window.Pelcro) === null || _window$Pelcro8 === void 0 ? void 0 : _window$Pelcro8.environment,
19100
+ matchingEntitlementsProps: (_this$props = this.props) === null || _this$props === void 0 ? void 0 : _this$props.matchingEntitlements,
19101
+ productListState: this.state.productList,
19102
+ methods: {
19103
+ productsWithMatchedTaggedFirst: productsWithMatchedTaggedFirst(),
19104
+ pelcroSDKProductsListMethod: window.Pelcro.product.list(),
19105
+ pelcroSDKGetByEntitlements: this.props.matchingEntitlements ? window.Pelcro.product.getByEntitlements(this.props.matchingEntitlements) : null
19106
+ },
19107
+ userCurrency: userCurrency,
19108
+ userCountry: userCountry,
19109
+ userLanguage: userLanguage,
19110
+ siteLanguage: (_window$Pelcro9 = window.Pelcro) === null || _window$Pelcro9 === void 0 ? void 0 : (_window$Pelcro9$helpe = _window$Pelcro9.helpers) === null || _window$Pelcro9$helpe === void 0 ? void 0 : _window$Pelcro9$helpe.getHtmlLanguageAttribute(),
19111
+ products: (_window$Pelcro10 = window.Pelcro) === null || _window$Pelcro10 === void 0 ? void 0 : (_window$Pelcro10$site = _window$Pelcro10.site) === null || _window$Pelcro10$site === void 0 ? void 0 : _window$Pelcro10$site.read().products.length,
19112
+ currency_matching_filter: `${productsMatchingUserCurrency.length} Products Passed`,
19113
+ country_matching_filter: `${productsMatchingUserCountry.length} Products Passed`,
19114
+ language_matching_filter: `${productsMatchingUserCountry.filter(productMatchPageLanguage).length} Products Passed`
19011
19115
  });
19012
19116
  });
19013
19117
  });
19014
- console.log("bugsnag Triggered");
19015
19118
  }
19016
19119
  });
19017
19120
 
@@ -19169,15 +19272,6 @@ class SelectModal extends Component {
19169
19272
  }), /*#__PURE__*/React__default.createElement("h3", {
19170
19273
  className: "plc-text-sm plc-font-semibold"
19171
19274
  }, this.locale("labels.restrictiveArticles.or")), allProductsMinusMatched.map((product, index) => this.renderOneProduct(product, index))));
19172
-
19173
- function productsWithMatchedTaggedFirst() {
19174
- var _window$Pelcro$produc;
19175
-
19176
- const allProducts = (_window$Pelcro$produc = window.Pelcro.product.list()) !== null && _window$Pelcro$produc !== void 0 ? _window$Pelcro$produc : [];
19177
- const productsThatMatchArticleTag = window.Pelcro.product.getByMatchingPageTags();
19178
- const allProductsMinusMatched = allProducts.filter(product => !productsThatMatchArticleTag.some(matchedProduct => matchedProduct.id === product.id));
19179
- return [productsThatMatchArticleTag, allProductsMinusMatched];
19180
- }
19181
19275
  });
19182
19276
 
19183
19277
  _defineProperty$3(this, "renderPlans", () => {
@@ -21511,6 +21605,8 @@ const PaymentMethodContainerWithoutStripe = ({
21511
21605
  }) => {
21512
21606
  var _props$product, _props$plan, _props$subscriptionId, _props$selectedAddres, _props$giftRecipient, _props$isGift, _props$isRenewingGift, _props$invoice, _window$Pelcro, _window$Pelcro$uiSett;
21513
21607
 
21608
+ const [vantivPaymentRequest, setVantivPaymentRequest] = useState(null);
21609
+ const [updatedCouponCode, setUpdatedCouponCode] = useState("");
21514
21610
  const {
21515
21611
  t
21516
21612
  } = useTranslation("payment");
@@ -21554,7 +21650,7 @@ const PaymentMethodContainerWithoutStripe = ({
21554
21650
  }, []);
21555
21651
  /*====== Start Tap integration ========*/
21556
21652
 
21557
- const submitUsingTap = () => {
21653
+ const submitUsingTap = state => {
21558
21654
  var _ref, _ref2, _ref3, _state$updatedPrice;
21559
21655
 
21560
21656
  const isUsingExistingPaymentMethod = Boolean(selectedPaymentMethodId);
@@ -21609,7 +21705,7 @@ const PaymentMethodContainerWithoutStripe = ({
21609
21705
  }
21610
21706
  });
21611
21707
  } else {
21612
- window.Pelcro.payment.authorize({
21708
+ window.Pelcro.payment.verify({
21613
21709
  auth_token: window.Pelcro.user.read().auth_token,
21614
21710
  first_name: window.Pelcro.user.read().first_name || state.firstName,
21615
21711
  last_name: window.Pelcro.user.read().last_name || state.lastName,
@@ -21618,7 +21714,8 @@ const PaymentMethodContainerWithoutStripe = ({
21618
21714
  amount: totalAmount,
21619
21715
  currency: (plan === null || plan === void 0 ? void 0 : plan.currency) || (invoice === null || invoice === void 0 ? void 0 : invoice.currency) || window.Pelcro.site.read().default_currency,
21620
21716
  tap_token: result.id,
21621
- redirect_url: `${window.Pelcro.environment.domain}/webhook/tap/callback/3dsecure?auth_token=${window.Pelcro.user.read().auth_token}`
21717
+ funding: result.card.funding,
21718
+ redirect_url: `${window.Pelcro.environment.domain}/webhook/tap/callback/3dsecure?auth_token=${window.Pelcro.user.read().auth_token}&type=verify_card&site_id=${window.Pelcro.siteid}`
21622
21719
  }, (err, res) => {
21623
21720
  if (err) {
21624
21721
  // Inform the user if there was an error
@@ -21659,7 +21756,7 @@ const PaymentMethodContainerWithoutStripe = ({
21659
21756
  content: null
21660
21757
  }
21661
21758
  });
21662
- handleTapPayment(tapID);
21759
+ handleTapPayment(tapID, state);
21663
21760
  }
21664
21761
  }; // listen to injected iframe for authentication complete message
21665
21762
 
@@ -21674,7 +21771,7 @@ const PaymentMethodContainerWithoutStripe = ({
21674
21771
  });
21675
21772
  };
21676
21773
 
21677
- function handleTapPayment(paymentRequest) {
21774
+ function handleTapPayment(paymentRequest, state) {
21678
21775
  const isUsingExistingPaymentMethod = Boolean(selectedPaymentMethodId);
21679
21776
 
21680
21777
  if (type === "createPayment") {
@@ -21701,6 +21798,7 @@ const PaymentMethodContainerWithoutStripe = ({
21701
21798
  type: LOADING,
21702
21799
  payload: false
21703
21800
  });
21801
+ toggleAuthenticationSuccessPendingView(false);
21704
21802
 
21705
21803
  if (err) {
21706
21804
  onFailure(err);
@@ -21721,7 +21819,8 @@ const PaymentMethodContainerWithoutStripe = ({
21721
21819
  }
21722
21820
  });
21723
21821
  onSuccess(res);
21724
- });
21822
+ } //
21823
+ );
21725
21824
  }
21726
21825
 
21727
21826
  function handleTapSubscription() {
@@ -21856,7 +21955,7 @@ const PaymentMethodContainerWithoutStripe = ({
21856
21955
  /*====== End Tap integration ========*/
21857
21956
 
21858
21957
 
21859
- const submitUsingVantiv = () => {
21958
+ const submitUsingVantiv = state => {
21860
21959
  const isUsingExistingPaymentMethod = Boolean(selectedPaymentMethodId);
21861
21960
 
21862
21961
  if (isUsingExistingPaymentMethod) {
@@ -21879,7 +21978,7 @@ const PaymentMethodContainerWithoutStripe = ({
21879
21978
  });
21880
21979
  };
21881
21980
 
21882
- function handleVantivPayment(paymentRequest) {
21981
+ function handleVantivPayment(paymentRequest, couponCode) {
21883
21982
  if (paymentRequest) {
21884
21983
  const SUCCESS_STATUS = "870";
21885
21984
 
@@ -21953,9 +22052,6 @@ const PaymentMethodContainerWithoutStripe = ({
21953
22052
  const renewSubscription = !isGift && subscriptionIdToRenew;
21954
22053
  const giftSubscriprition = isGift && !subscriptionIdToRenew;
21955
22054
  const renewGift = isRenewingGift;
21956
- const {
21957
- couponCode
21958
- } = state;
21959
22055
 
21960
22056
  if (renewGift) {
21961
22057
  return payment.execute({
@@ -22035,6 +22131,8 @@ const PaymentMethodContainerWithoutStripe = ({
22035
22131
  const tapInstanceRef = React__default.useRef(null);
22036
22132
  const tapInstanceCard = React__default.useRef(null);
22037
22133
  useEffect(() => {
22134
+ if (skipPayment && ((plan === null || plan === void 0 ? void 0 : plan.amount) === 0 || props !== null && props !== void 0 && props.freeOrders)) return;
22135
+
22038
22136
  if (cardProcessor === "vantiv" && !selectedPaymentMethodId) {
22039
22137
  var _window$Pelcro$site$r2, _window$Pelcro$site$r3;
22040
22138
 
@@ -22047,7 +22145,7 @@ const PaymentMethodContainerWithoutStripe = ({
22047
22145
  height: "245",
22048
22146
  timeout: 50000,
22049
22147
  div: "eProtectiframe",
22050
- callback: handleVantivPayment,
22148
+ callback: paymentRequest => setVantivPaymentRequest(paymentRequest),
22051
22149
  showCvv: true,
22052
22150
  numYears: 8,
22053
22151
  placeholderText: {
@@ -22061,9 +22159,17 @@ const PaymentMethodContainerWithoutStripe = ({
22061
22159
  }
22062
22160
  });
22063
22161
  }
22064
- }, [selectedPaymentMethodId]);
22162
+ }, [selectedPaymentMethodId]); //Trigger the handleVantivPayment method when a vantivePaymentRequest is present
22163
+
22164
+ useEffect(() => {
22165
+ if (vantivPaymentRequest) {
22166
+ handleVantivPayment(vantivPaymentRequest, updatedCouponCode);
22167
+ }
22168
+ }, [vantivPaymentRequest]);
22065
22169
  useEffect(() => {
22066
22170
  whenUserReady(() => {
22171
+ if (skipPayment && ((plan === null || plan === void 0 ? void 0 : plan.amount) === 0 || props !== null && props !== void 0 && props.freeOrders)) return;
22172
+
22067
22173
  if (cardProcessor === "tap" && !window.Tapjsli) {
22068
22174
  window.Pelcro.helpers.loadSDK("https://cdnjs.cloudflare.com/ajax/libs/bluebird/3.3.4/bluebird.min.js", "tap-bluebird");
22069
22175
  window.Pelcro.helpers.loadSDK("https://secure.gosell.io/js/sdk/tap.min.js", "tap-sdk");
@@ -22079,7 +22185,7 @@ const PaymentMethodContainerWithoutStripe = ({
22079
22185
  }, [selectedPaymentMethodId]);
22080
22186
 
22081
22187
  const initPaymentRequest = (state, dispatch) => {
22082
- if (skipPayment && (plan === null || plan === void 0 ? void 0 : plan.amount) === 0) return;
22188
+ if (skipPayment && ((plan === null || plan === void 0 ? void 0 : plan.amount) === 0 || props !== null && props !== void 0 && props.freeOrders)) return;
22083
22189
 
22084
22190
  try {
22085
22191
  const paymentRequest = stripe.paymentRequest({
@@ -22152,7 +22258,7 @@ const PaymentMethodContainerWithoutStripe = ({
22152
22258
  const updateTotalAmountWithTax = () => {
22153
22259
  var _window$Pelcro$site$r4;
22154
22260
 
22155
- if (skipPayment && (plan === null || plan === void 0 ? void 0 : plan.amount) === 0) return;
22261
+ if (skipPayment && ((plan === null || plan === void 0 ? void 0 : plan.amount) === 0 || props !== null && props !== void 0 && props.freeOrders)) return;
22156
22262
  const taxesEnabled = (_window$Pelcro$site$r4 = window.Pelcro.site.read()) === null || _window$Pelcro$site$r4 === void 0 ? void 0 : _window$Pelcro$site$r4.taxes_enabled;
22157
22263
 
22158
22264
  if (taxesEnabled && type === "createPayment") {
@@ -22199,7 +22305,9 @@ const PaymentMethodContainerWithoutStripe = ({
22199
22305
  });
22200
22306
 
22201
22307
  if (err) {
22202
- onFailure(err);
22308
+ onFailure(err); //reset the coupon code in local state
22309
+
22310
+ setUpdatedCouponCode("");
22203
22311
  dispatch({
22204
22312
  type: SET_COUPON_ERROR,
22205
22313
  payload: getErrorMessages(err)
@@ -22259,7 +22367,9 @@ const PaymentMethodContainerWithoutStripe = ({
22259
22367
  dispatch({
22260
22368
  type: SET_COUPON,
22261
22369
  payload: res.data.coupon
22262
- });
22370
+ }); //set the coupon code in local state to be able to use with Vantiv
22371
+
22372
+ setUpdatedCouponCode(res.data.coupon.code);
22263
22373
  dispatch({
22264
22374
  type: SET_PERCENT_OFF,
22265
22375
  payload: `${(_res$data$coupon = res.data.coupon) === null || _res$data$coupon === void 0 ? void 0 : _res$data$coupon.percent_off}%`
@@ -22334,7 +22444,9 @@ const PaymentMethodContainerWithoutStripe = ({
22334
22444
  const debouncedApplyCouponCode = useRef(debounce$1(onApplyCouponCode, 1000)).current;
22335
22445
 
22336
22446
  const removeAppliedCoupon = state => {
22337
- state.couponCode = "";
22447
+ state.couponCode = ""; //reset the coupon code in local state
22448
+
22449
+ setUpdatedCouponCode("");
22338
22450
  dispatch({
22339
22451
  type: SET_COUPON_ERROR,
22340
22452
  payload: ""
@@ -22791,6 +22903,31 @@ const PaymentMethodContainerWithoutStripe = ({
22791
22903
  };
22792
22904
 
22793
22905
  const submitPayment = (state, dispatch) => {
22906
+ if (skipPayment && props !== null && props !== void 0 && props.freeOrders) {
22907
+ const isQuickPurchase = !Array.isArray(order);
22908
+ const mappedOrderItems = isQuickPurchase ? [{
22909
+ sku_id: order.id,
22910
+ quantity: order.quantity
22911
+ }] : order.map(item => ({
22912
+ sku_id: item.id,
22913
+ quantity: item.quantity
22914
+ }));
22915
+ window.Pelcro.ecommerce.order.create({
22916
+ items: mappedOrderItems,
22917
+ campaign_key: window.Pelcro.helpers.getURLParameter("campaign_key"),
22918
+ ...(selectedAddressId && {
22919
+ address_id: selectedAddressId
22920
+ })
22921
+ }, (err, res) => {
22922
+ if (err) {
22923
+ return handlePaymentError(err);
22924
+ }
22925
+
22926
+ return onSuccess(res);
22927
+ });
22928
+ return;
22929
+ }
22930
+
22794
22931
  stripe.createSource({
22795
22932
  type: "card"
22796
22933
  }).then(({
@@ -23055,12 +23192,16 @@ const PaymentMethodContainerWithoutStripe = ({
23055
23192
  disableSubmit: true,
23056
23193
  isLoading: true
23057
23194
  }, (state, dispatch) => {
23195
+ if (skipPayment && props !== null && props !== void 0 && props.freeOrders) {
23196
+ return submitPayment(state);
23197
+ }
23198
+
23058
23199
  if (getSiteCardProcessor() === "vantiv") {
23059
23200
  return submitUsingVantiv();
23060
23201
  }
23061
23202
 
23062
23203
  if (getSiteCardProcessor() === "tap") {
23063
- return submitUsingTap();
23204
+ return submitUsingTap(state);
23064
23205
  }
23065
23206
 
23066
23207
  if (selectedPaymentMethodId) {
@@ -23189,10 +23330,14 @@ const PaymentMethodContainerWithoutStripe = ({
23189
23330
  state,
23190
23331
  dispatch
23191
23332
  }
23192
- }, children.length ? children.map((child, i) => /*#__PURE__*/React__default.cloneElement(child, {
23193
- store: store$l,
23194
- key: i
23195
- })) : /*#__PURE__*/React__default.cloneElement(children, {
23333
+ }, children.length ? children.map((child, i) => {
23334
+ if (child) {
23335
+ return /*#__PURE__*/React__default.cloneElement(child, {
23336
+ store: store$l,
23337
+ key: i
23338
+ });
23339
+ }
23340
+ }) : /*#__PURE__*/React__default.cloneElement(children, {
23196
23341
  store: store$l
23197
23342
  })));
23198
23343
  };
@@ -23223,11 +23368,13 @@ const PaymentMethodContainer = props => {
23223
23368
  }, /*#__PURE__*/React__default.createElement(es_11, null, /*#__PURE__*/React__default.createElement(UnwrappedForm, Object.assign({
23224
23369
  store: store$l
23225
23370
  }, props))));
23226
- } else {
23371
+ } else if (cardProcessor !== "stripe") {
23227
23372
  return /*#__PURE__*/React__default.createElement(PaymentMethodContainerWithoutStripe, Object.assign({
23228
23373
  store: store$l
23229
23374
  }, props));
23230
23375
  }
23376
+
23377
+ return null;
23231
23378
  };
23232
23379
 
23233
23380
  const StripeInputStyle = {
@@ -24063,6 +24210,41 @@ const BankAuthenticationSuccess = () => {
24063
24210
  }));
24064
24211
  };
24065
24212
 
24213
+ const OrderCreateFreeButton = ({
24214
+ name,
24215
+ onClick,
24216
+ ...otherProps
24217
+ }) => {
24218
+ const {
24219
+ state: {
24220
+ disableSubmit
24221
+ },
24222
+ dispatch
24223
+ } = useContext(store$l);
24224
+ const {
24225
+ t
24226
+ } = useTranslation("checkoutForm");
24227
+ const [isDisabled, setDisabled] = useState(true);
24228
+ useEffect(() => {
24229
+ setDisabled(disableSubmit);
24230
+ }, [disableSubmit]);
24231
+ return /*#__PURE__*/React__default.createElement(Button, Object.assign({
24232
+ className: "plc-w-full",
24233
+ onClick: () => {
24234
+ dispatch({
24235
+ type: DISABLE_SUBMIT,
24236
+ payload: true
24237
+ });
24238
+ dispatch({
24239
+ type: SUBMIT_PAYMENT
24240
+ });
24241
+ onClick === null || onClick === void 0 ? void 0 : onClick();
24242
+ },
24243
+ disabled: isDisabled,
24244
+ isLoading: disableSubmit
24245
+ }, otherProps), t("labels.submit"));
24246
+ };
24247
+
24066
24248
  /**
24067
24249
  *
24068
24250
  */
@@ -24074,9 +24256,11 @@ function PaymentMethodView({
24074
24256
  type,
24075
24257
  showCoupon,
24076
24258
  showExternalPaymentMethods,
24077
- showSubscriptionButton
24259
+ showSubscriptionButton,
24260
+ showOrderButton,
24261
+ order
24078
24262
  }) {
24079
- var _window$Pelcro$site$r, _window$Pelcro$site$r2;
24263
+ var _window$Pelcro$site$r, _window$Pelcro$site$r2, _calcAndFormatItemsTo, _order$;
24080
24264
 
24081
24265
  const {
24082
24266
  t
@@ -24089,7 +24273,17 @@ function PaymentMethodView({
24089
24273
  const isUserPhone = Boolean(window.Pelcro.user.read().phone);
24090
24274
  return /*#__PURE__*/React__default.createElement("div", {
24091
24275
  className: "plc-flex plc-flex-col plc-items-center plc-mt-4 sm:plc-px-8 pelcro-payment-block"
24092
- }, cardProcessor === "stripe" && !showSubscriptionButton && /*#__PURE__*/React__default.createElement("div", {
24276
+ }, order && /*#__PURE__*/React__default.createElement("div", {
24277
+ className: "plc-w-full plc-p-2 plc-mb-4 plc-font-semibold plc-text-center plc-text-gray-900 plc-bg-gray-100 plc-border plc-border-gray-200"
24278
+ }, /*#__PURE__*/React__default.createElement("p", {
24279
+ className: "plc-text-gray-600"
24280
+ }, !Array.isArray(order) ? /*#__PURE__*/React__default.createElement("span", {
24281
+ className: "plc-tracking-wider plc-uppercase"
24282
+ }, order === null || order === void 0 ? void 0 : order.name) : /*#__PURE__*/React__default.createElement("span", {
24283
+ className: "plc-tracking-wider plc-uppercase"
24284
+ }, t("labels.freeItems")), /*#__PURE__*/React__default.createElement("br", null), /*#__PURE__*/React__default.createElement("span", {
24285
+ className: "plc-text-xl plc-font-semibold plc-text-primary-600"
24286
+ }, (_calcAndFormatItemsTo = calcAndFormatItemsTotal(order, (_order$ = order[0]) === null || _order$ === void 0 ? void 0 : _order$.currency)) !== null && _calcAndFormatItemsTo !== void 0 ? _calcAndFormatItemsTo : getFormattedPriceByLocal(order === null || order === void 0 ? void 0 : order.price, order === null || order === void 0 ? void 0 : order.currency, getPageOrDefaultLanguage())))), cardProcessor === "stripe" && !showSubscriptionButton && !showOrderButton && /*#__PURE__*/React__default.createElement("div", {
24093
24287
  className: "plc-flex plc-items-center plc-w-full plc-px-4 plc-py-2 plc-text-center plc-text-green-600 plc-border plc-border-green-400 plc-rounded plc-bg-green-50"
24094
24288
  }, /*#__PURE__*/React__default.createElement(SvgLock, {
24095
24289
  className: "plc-w-5 plc-h-5 plc-mr-1"
@@ -24105,10 +24299,11 @@ function PaymentMethodView({
24105
24299
  type: type,
24106
24300
  onSuccess: onSuccess,
24107
24301
  onGiftRenewalSuccess: onGiftRenewalSuccess,
24108
- onFailure: onFailure
24302
+ onFailure: onFailure,
24303
+ freeOrders: showOrderButton
24109
24304
  }, /*#__PURE__*/React__default.createElement(AlertWithContext, {
24110
24305
  className: "plc-mb-2"
24111
- }), showSubscriptionButton ? /*#__PURE__*/React__default.createElement(SubscriptionCreateFreePlanButton, null) : /*#__PURE__*/React__default.createElement("div", null, /*#__PURE__*/React__default.createElement(BankRedirection, null), /*#__PURE__*/React__default.createElement(BankAuthenticationSuccess, null), /*#__PURE__*/React__default.createElement(SelectedPaymentMethod, null), supportsTap && (!isUserFirstName || !isUserLastName || !isUserPhone) && /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
24306
+ }), showSubscriptionButton && /*#__PURE__*/React__default.createElement(SubscriptionCreateFreePlanButton, null), showOrderButton && /*#__PURE__*/React__default.createElement(OrderCreateFreeButton, null), !showSubscriptionButton && !showOrderButton && /*#__PURE__*/React__default.createElement("div", null, /*#__PURE__*/React__default.createElement(BankRedirection, null), /*#__PURE__*/React__default.createElement(BankAuthenticationSuccess, null), /*#__PURE__*/React__default.createElement(SelectedPaymentMethod, null), supportsTap && (!isUserFirstName || !isUserLastName || !isUserPhone) && /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
24112
24307
  className: "plc-flex plc-items-start"
24113
24308
  }, /*#__PURE__*/React__default.createElement(IncludeFirstName, {
24114
24309
  id: "pelcro-input-first-name",
@@ -25984,6 +26179,19 @@ function SubscriptionManageMembersList(props) {
25984
26179
  icon: /*#__PURE__*/React__default.createElement(SvgCheckMark, null)
25985
26180
  };
25986
26181
  }, []);
26182
+ const showMemberData = useCallback(member => {
26183
+ var _member$customer, _member$customer2, _member$customer3, _member$customer4;
26184
+
26185
+ let data;
26186
+
26187
+ if ((member === null || member === void 0 ? void 0 : member.status) !== "active") {
26188
+ data = member === null || member === void 0 ? void 0 : member.invitation_email;
26189
+ return data;
26190
+ }
26191
+
26192
+ data = (member === null || member === void 0 ? void 0 : (_member$customer = member.customer) === null || _member$customer === void 0 ? void 0 : _member$customer.email) || (member === null || member === void 0 ? void 0 : (_member$customer2 = member.customer) === null || _member$customer2 === void 0 ? void 0 : _member$customer2.first_name) + " " + (member === null || member === void 0 ? void 0 : (_member$customer3 = member.customer) === null || _member$customer3 === void 0 ? void 0 : _member$customer3.last_name) || (member === null || member === void 0 ? void 0 : (_member$customer4 = member.customer) === null || _member$customer4 === void 0 ? void 0 : _member$customer4.username) || "-----";
26193
+ return data;
26194
+ }, []);
25987
26195
 
25988
26196
  if (loading) {
25989
26197
  return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("tr", null, /*#__PURE__*/React__default.createElement("td", null, /*#__PURE__*/React__default.createElement("div", {
@@ -26028,10 +26236,10 @@ function SubscriptionManageMembersList(props) {
26028
26236
  className: `plc-w-full plc-align-middle plc-cursor-pointer accordion-header hover:plc-bg-gray-50 plc-text-center`
26029
26237
  }, /*#__PURE__*/React__default.createElement("td", {
26030
26238
  className: "plc-truncate plc-text-left",
26031
- title: member === null || member === void 0 ? void 0 : member.invitation_email
26239
+ title: showMemberData(member)
26032
26240
  }, /*#__PURE__*/React__default.createElement("span", {
26033
26241
  className: "plc-font-semibold plc-text-gray-500"
26034
- }, member === null || member === void 0 ? void 0 : member.invitation_email)), /*#__PURE__*/React__default.createElement("td", {
26242
+ }, showMemberData(member))), /*#__PURE__*/React__default.createElement("td", {
26035
26243
  className: "plc-py-2"
26036
26244
  }, /*#__PURE__*/React__default.createElement("span", {
26037
26245
  className: `plc-inline-flex plc-p-1 plc-text-xs plc-font-semibold ${getMemberStatus(member).bgColor} plc-uppercase ${getMemberStatus(member).textColor} plc-rounded-lg`
@@ -29708,6 +29916,14 @@ const OrderCreateContainer = props => /*#__PURE__*/React__default.createElement(
29708
29916
  }, props));
29709
29917
 
29710
29918
  const OrderCreateView = props => {
29919
+ var _window$Pelcro, _window$Pelcro$uiSett;
29920
+
29921
+ useTranslation("payment");
29922
+ const {
29923
+ order
29924
+ } = usePelcro();
29925
+ const skipPayment = (_window$Pelcro = window.Pelcro) === null || _window$Pelcro === void 0 ? void 0 : (_window$Pelcro$uiSett = _window$Pelcro.uiSettings) === null || _window$Pelcro$uiSett === void 0 ? void 0 : _window$Pelcro$uiSett.skipPaymentForFreePlans;
29926
+ const showOrderButton = skipPayment && ((order === null || order === void 0 ? void 0 : order.price) === 0 || (order === null || order === void 0 ? void 0 : order.length) > 0 && order.every(item => (item === null || item === void 0 ? void 0 : item.price) === 0));
29711
29927
  return /*#__PURE__*/React__default.createElement("div", {
29712
29928
  id: "pelcro-order-create-view"
29713
29929
  }, /*#__PURE__*/React__default.createElement("form", {
@@ -29716,7 +29932,9 @@ const OrderCreateView = props => {
29716
29932
  }, /*#__PURE__*/React__default.createElement(PaymentMethodView, Object.assign({
29717
29933
  type: "orderCreate",
29718
29934
  showCoupon: true,
29719
- showExternalPaymentMethods: false
29935
+ showExternalPaymentMethods: false,
29936
+ showOrderButton: showOrderButton,
29937
+ order: order
29720
29938
  }, props))));
29721
29939
  };
29722
29940
 
@@ -30999,17 +31217,18 @@ const PaymentMethodSelectModal = ({
30999
31217
  }) => {
31000
31218
  var _window$Pelcro, _window$Pelcro$uiSett;
31001
31219
 
31220
+ const {
31221
+ t
31222
+ } = useTranslation("paymentMethod");
31002
31223
  const {
31003
31224
  switchToCheckoutForm,
31004
31225
  set,
31005
- plan
31226
+ plan,
31227
+ order
31006
31228
  } = usePelcro();
31007
- const {
31008
- t
31009
- } = useTranslation("paymentMethod");
31010
31229
  const skipPayment = (_window$Pelcro = window.Pelcro) === null || _window$Pelcro === void 0 ? void 0 : (_window$Pelcro$uiSett = _window$Pelcro.uiSettings) === null || _window$Pelcro$uiSett === void 0 ? void 0 : _window$Pelcro$uiSett.skipPaymentForFreePlans;
31011
31230
  useEffect(() => {
31012
- if (skipPayment && (plan === null || plan === void 0 ? void 0 : plan.amount) === 0) {
31231
+ if (skipPayment && ((plan === null || plan === void 0 ? void 0 : plan.amount) === 0 || (order === null || order === void 0 ? void 0 : order.price) === 0)) {
31013
31232
  switchToCheckoutForm();
31014
31233
  }
31015
31234
  }, []);
@@ -38805,4 +39024,4 @@ const QrCodeModal = ({
38805
39024
  };
38806
39025
  QrCodeModal.viewId = "qrcode";
38807
39026
 
38808
- export { AddNew, AddressCreateCity, AddressCreateContainer, AddressCreateCountrySelect, AddressCreateFirstName, AddressCreateLastName, AddressCreateLine1, AddressCreateLine2, AddressCreateModal, AddressCreatePostalCode, AddressCreateSetDefault, AddressCreateStateSelect, AddressCreateSubmit, AddressCreateTextInput, AddressCreateView, AddressSelectContainer, AddressSelectList, AddressSelectModal, AddressSelectSubmit, AddressSelectView, AddressUpdateCity, AddressUpdateContainer, AddressUpdateCountrySelect, AddressUpdateFirstName, AddressUpdateLastName, AddressUpdateLine1, AddressUpdateLine2, AddressUpdateModal, AddressUpdatePostalCode, AddressUpdateSetDefault, AddressUpdateStateSelect, AddressUpdateSubmit, AddressUpdateTextInput, AddressUpdateView, AlertWithContext as Alert, Alert as AlertElement, ApplyCouponButton, Auth0LoginButton, Badge, BankRedirection, Button, Card, CartContainer, CartModal, CartRemoveItemButton, CartSubmit, CartTotalPrice, CartView, Checkbox, CheckoutForm, ConfirmPassword, CouponCode, CouponCodeField, Dashboard, DashboardAddresses, DashboardContainer, DashboardContent, DashboardDonations, DashboardGifts, DashboardHeading, DashboardInvoices, DashboardLink, DashboardMemberships, DashboardNewsletters, DashboardOpenButton, DashboardOrders, DashboardPasswordChange, DashboardPaymentCards, DashboardProfile, DashboardQRCode, DashboardSavedItems, DashboardSubscriptions, DatePicker, DiscountedPrice, Email, EmailVerifyContainer, EmailVerifyModal, EmailVerifyResendButton, EmailVerifyView, FacebookLoginButton, GiftCreateContainer, GiftCreateEmail, GiftCreateFirstName, GiftCreateLastName, GiftCreateMessage, GiftCreateModal, GiftCreateStartDate, GiftCreateSubmitButton, GiftCreateView, GiftRedeemCode, GiftRedeemContainer, GiftRedeemModal, GiftRedeemSubmitButton, GiftRedeemView, GoogleLoginButton, Input, InvoiceDetailsContainer, InvoiceDetailsDownloadButton, InvoiceDetailsModal, InvoiceDetailsPayButton, InvoiceDetailsView, InvoicePaymentContainer, InvoicePaymentModal, InvoicePaymentView, Link, LoginButton, LoginContainer, LoginEmail, LoginModal, LoginPassword, LoginRequestLoginToken, LoginUsername, LoginView, Logout, MeterModal, MeterView, Modal, ModalBody, ModalFooter, ModalHeader, NewsletterWithHook as NewsLetter, NewsletterUpdateButton, NewsletterUpdateContainer, NewsletterUpdateList, NewsletterUpdateModal, NewsletterUpdateView, Notification, OrderConfirmModal, OrderCreateContainer, OrderCreateModal, OrderCreateSubmitButton, OrderCreateView, Password, PasswordChangeButton, PasswordChangeConfirmNewPassword, PasswordChangeContainer, PasswordChangeCurrentPassword, PasswordChangeModal, PasswordChangeNewPassword, PasswordChangeView, PasswordForgotButton, PasswordForgotContainer, PasswordForgotEmail, PasswordForgotModal, PasswordForgotView, PasswordResetButton, PasswordResetConfirmPassword, PasswordResetContainer, PasswordResetEmail, PasswordResetModal, PasswordResetPassword, PasswordResetView, PasswordlessRequestContainer, PasswordlessRequestEmail, PasswordlessRequestModal, PasswordlessRequestView, PasswordlessRequestViewButton, PaymentCreateContainer, PaymentCreateView, PaymentMethodContainer, PaymentMethodSelectContainer, PaymentMethodSelectList, PaymentMethodSelectModal, PaymentMethodSelectSubmit, PaymentMethodSelectView, PaymentMethodUpdateContainer, PaymentMethodUpdateModal, PaymentMethodUpdateView, PaymentMethodView, PaymentSuccessModal, PaymentSuccessView, PaypalSubscribeButton, PelcroCardCVC, PelcroCardExpiry, PelcroCardNumber, PelcroModalController, PelcroPaymentRequestButton, ProfilePicChangeButton, ProfilePicChangeContainer, ProfilePicChangeCropper, ProfilePicChangeModal, ProfilePicChangeRemoveButton, ProfilePicChangeSelectButton, ProfilePicChangeView, ProfilePicChangeZoom, QrCodeModal, QrCodeView, Radio, RegisterButton, RegisterCompany, RegisterContainer, RegisterEmail, RegisterFirstName, RegisterJobTitle, RegisterLastName, RegisterModal, RegisterPassword, RegisterView, Select, SelectModalWithHook as SelectModal, SelectedPaymentMethod, ShopPurchaseButton, ShopSelectProductButton, ShopView, SubmitPaymentMethod, SubscriptionCancelModal, SubscriptionCreateContainer, SubscriptionCreateFreePlanButton, SubscriptionCreateModal, SubscriptionCreateView, SubscriptionManageMembersButton, SubscriptionManageMembersContainer, SubscriptionManageMembersEmails, SubscriptionManageMembersList, SubscriptionManageMembersModal, SubscriptionManageMembersView, SubscriptionRenewContainer, SubscriptionRenewModal, SubscriptionRenewView, SubscriptionSuspendContainer, SubscriptionSuspendModal, SubscriptionSuspendView, TaxAmount, TextArea, Tooltip, UserNameInput, UserUpdateButton, UserUpdateContainer, UserUpdateDisplayName, UserUpdateEmail, UserUpdateFirstName, UserUpdateLastName, UserUpdateModal, UserUpdatePhone, UserUpdateProfilePic, UserUpdateTextInput, UserUpdateTin, UserUpdateUsername, UserUpdateView, VerifyLinkTokenContainer, VerifyLinkTokenLoader, VerifyLinkTokenModal, VerifyLinkTokenView, authenticatedButtons, i18next as i18n, init$1 as initButtons, init as initContentEntitlement, invoicePaymentSubmitButton, notify, unauthenticatedButtons, usePelcro };
39027
+ export { AddNew, AddressCreateCity, AddressCreateContainer, AddressCreateCountrySelect, AddressCreateFirstName, AddressCreateLastName, AddressCreateLine1, AddressCreateLine2, AddressCreateModal, AddressCreatePostalCode, AddressCreateSetDefault, AddressCreateStateSelect, AddressCreateSubmit, AddressCreateTextInput, AddressCreateView, AddressSelectContainer, AddressSelectList, AddressSelectModal, AddressSelectSubmit, AddressSelectView, AddressUpdateCity, AddressUpdateContainer, AddressUpdateCountrySelect, AddressUpdateFirstName, AddressUpdateLastName, AddressUpdateLine1, AddressUpdateLine2, AddressUpdateModal, AddressUpdatePostalCode, AddressUpdateSetDefault, AddressUpdateStateSelect, AddressUpdateSubmit, AddressUpdateTextInput, AddressUpdateView, AlertWithContext as Alert, Alert as AlertElement, ApplyCouponButton, Auth0LoginButton, Badge, BankRedirection, Button, Card, CartContainer, CartModal, CartRemoveItemButton, CartSubmit, CartTotalPrice, CartView, Checkbox, CheckoutForm, ConfirmPassword, CouponCode, CouponCodeField, Dashboard, DashboardAddresses, DashboardContainer, DashboardContent, DashboardDonations, DashboardGifts, DashboardHeading, DashboardInvoices, DashboardLink, DashboardMemberships, DashboardNewsletters, DashboardOpenButton, DashboardOrders, DashboardPasswordChange, DashboardPaymentCards, DashboardProfile, DashboardQRCode, DashboardSavedItems, DashboardSubscriptions, DatePicker, DiscountedPrice, Email, EmailVerifyContainer, EmailVerifyModal, EmailVerifyResendButton, EmailVerifyView, FacebookLoginButton, GiftCreateContainer, GiftCreateEmail, GiftCreateFirstName, GiftCreateLastName, GiftCreateMessage, GiftCreateModal, GiftCreateStartDate, GiftCreateSubmitButton, GiftCreateView, GiftRedeemCode, GiftRedeemContainer, GiftRedeemModal, GiftRedeemSubmitButton, GiftRedeemView, GoogleLoginButton, Input, InvoiceDetailsContainer, InvoiceDetailsDownloadButton, InvoiceDetailsModal, InvoiceDetailsPayButton, InvoiceDetailsView, InvoicePaymentContainer, InvoicePaymentModal, InvoicePaymentView, Link, LoginButton, LoginContainer, LoginEmail, LoginModal, LoginPassword, LoginRequestLoginToken, LoginUsername, LoginView, Logout, MeterModal, MeterView, Modal, ModalBody, ModalFooter, ModalHeader, NewsletterWithHook as NewsLetter, NewsletterUpdateButton, NewsletterUpdateContainer, NewsletterUpdateList, NewsletterUpdateModal, NewsletterUpdateView, Notification, OrderConfirmModal, OrderCreateContainer, OrderCreateFreeButton, OrderCreateModal, OrderCreateSubmitButton, OrderCreateView, Password, PasswordChangeButton, PasswordChangeConfirmNewPassword, PasswordChangeContainer, PasswordChangeCurrentPassword, PasswordChangeModal, PasswordChangeNewPassword, PasswordChangeView, PasswordForgotButton, PasswordForgotContainer, PasswordForgotEmail, PasswordForgotModal, PasswordForgotView, PasswordResetButton, PasswordResetConfirmPassword, PasswordResetContainer, PasswordResetEmail, PasswordResetModal, PasswordResetPassword, PasswordResetView, PasswordlessRequestContainer, PasswordlessRequestEmail, PasswordlessRequestModal, PasswordlessRequestView, PasswordlessRequestViewButton, PaymentCreateContainer, PaymentCreateView, PaymentMethodContainer, PaymentMethodSelectContainer, PaymentMethodSelectList, PaymentMethodSelectModal, PaymentMethodSelectSubmit, PaymentMethodSelectView, PaymentMethodUpdateContainer, PaymentMethodUpdateModal, PaymentMethodUpdateView, PaymentMethodView, PaymentSuccessModal, PaymentSuccessView, PaypalSubscribeButton, PelcroCardCVC, PelcroCardExpiry, PelcroCardNumber, PelcroModalController, PelcroPaymentRequestButton, ProfilePicChangeButton, ProfilePicChangeContainer, ProfilePicChangeCropper, ProfilePicChangeModal, ProfilePicChangeRemoveButton, ProfilePicChangeSelectButton, ProfilePicChangeView, ProfilePicChangeZoom, QrCodeModal, QrCodeView, Radio, RegisterButton, RegisterCompany, RegisterContainer, RegisterEmail, RegisterFirstName, RegisterJobTitle, RegisterLastName, RegisterModal, RegisterPassword, RegisterView, Select, SelectModalWithHook as SelectModal, SelectedPaymentMethod, ShopPurchaseButton, ShopSelectProductButton, ShopView, SubmitPaymentMethod, SubscriptionCancelModal, SubscriptionCreateContainer, SubscriptionCreateFreePlanButton, SubscriptionCreateModal, SubscriptionCreateView, SubscriptionManageMembersButton, SubscriptionManageMembersContainer, SubscriptionManageMembersEmails, SubscriptionManageMembersList, SubscriptionManageMembersModal, SubscriptionManageMembersView, SubscriptionRenewContainer, SubscriptionRenewModal, SubscriptionRenewView, SubscriptionSuspendContainer, SubscriptionSuspendModal, SubscriptionSuspendView, TaxAmount, TextArea, Tooltip, UserNameInput, UserUpdateButton, UserUpdateContainer, UserUpdateDisplayName, UserUpdateEmail, UserUpdateFirstName, UserUpdateLastName, UserUpdateModal, UserUpdatePhone, UserUpdateProfilePic, UserUpdateTextInput, UserUpdateTin, UserUpdateUsername, UserUpdateView, VerifyLinkTokenContainer, VerifyLinkTokenLoader, VerifyLinkTokenModal, VerifyLinkTokenView, authenticatedButtons, i18next as i18n, init$1 as initButtons, init as initContentEntitlement, invoicePaymentSubmitButton, notify, unauthenticatedButtons, usePelcro };