tf-checkout-react 1.6.6-beta.32 → 1.6.6-beta.34

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.
@@ -13,5 +13,5 @@ export interface ISimpleAddonContainerProps {
13
13
  export interface ObjectLiteral {
14
14
  [key: string]: any;
15
15
  }
16
- export declare const SimpleAddonsContainer: ({ classNamePrefix, onGetAddonsPageInfoSuccess, onGetAddonsPageInfoError, descriptionTrigger, addOnDataWithCustomFields, configs, eventId, onAddOnSelect, handleConfirm, }: ISimpleAddonContainerProps) => JSX.Element | null;
16
+ export declare const SimpleAddonsContainer: ({ classNamePrefix, onGetAddonsPageInfoSuccess, onGetAddonsPageInfoError, descriptionTrigger, addOnDataWithCustomFields, configs, eventId, onAddOnSelect, handleConfirm, }: ISimpleAddonContainerProps) => JSX.Element;
17
17
  export default SimpleAddonsContainer;
@@ -3,6 +3,7 @@ interface OrderDetailsProps {
3
3
  orderData: any;
4
4
  paymentFieldsData: any[];
5
5
  customMobileText?: string;
6
+ handleCountdownFinish?: () => void;
6
7
  }
7
- export declare const OrderDetails: ({ orderData, paymentFieldsData, customMobileText, }: OrderDetailsProps) => JSX.Element;
8
+ export declare const OrderDetails: ({ orderData, paymentFieldsData, customMobileText, handleCountdownFinish }: OrderDetailsProps) => JSX.Element;
8
9
  export {};
@@ -4282,7 +4282,7 @@ var SimpleAddonsContainer = function SimpleAddonsContainer(_ref) {
4282
4282
  onAddOnSelect = _ref$onAddOnSelect === void 0 ? _identity : _ref$onAddOnSelect,
4283
4283
  _ref$handleConfirm = _ref.handleConfirm,
4284
4284
  handleConfirm = _ref$handleConfirm === void 0 ? _identity : _ref$handleConfirm;
4285
- var _useState = React.useState([]),
4285
+ var _useState = React.useState(null),
4286
4286
  addons = _useState[0],
4287
4287
  setAddons = _useState[1];
4288
4288
  var _useState2 = React.useState({}),
@@ -4423,16 +4423,13 @@ var SimpleAddonsContainer = function SimpleAddonsContainer(_ref) {
4423
4423
  }
4424
4424
  return addOnsData;
4425
4425
  }, [addons, addOnDataWithCustomFields]);
4426
- if (loading) {
4426
+ if (loading || !addons) {
4427
4427
  return React__default.createElement("div", {
4428
4428
  className: classNamePrefix + "_loader"
4429
4429
  }, React__default.createElement(material.CircularProgress, {
4430
4430
  size: 50
4431
4431
  }));
4432
4432
  }
4433
- if ((addons == null ? void 0 : addons.length) === 0) {
4434
- return null;
4435
- }
4436
4433
  return React__default.createElement("div", {
4437
4434
  className: classNamePrefix + "_container"
4438
4435
  }, React__default.createElement("div", {
@@ -6466,6 +6463,7 @@ var BillingInfoContainer = /*#__PURE__*/React__default.memo(function (_ref4) {
6466
6463
  var hideInstagramField = !collectMandatoryInstagram && !collectOptionalInstagram;
6467
6464
  var collectMandatoryBusinessCategory = configs == null ? void 0 : configs.collect_mandatory_business_category;
6468
6465
  var collectOptionalBusinessCategory = configs == null ? void 0 : configs.collect_optional_business_category;
6466
+ var eventHasAddons = configs == null ? void 0 : configs.has_add_on;
6469
6467
  var hideBusinessCategoryField = !collectMandatoryBusinessCategory && !collectOptionalBusinessCategory;
6470
6468
  var _useState22 = React.useState(),
6471
6469
  pendingVerificationMessage = _useState22[0],
@@ -6809,6 +6807,11 @@ var BillingInfoContainer = /*#__PURE__*/React__default.memo(function (_ref4) {
6809
6807
  var removeAdditionalConfigs = React.useCallback(function () {
6810
6808
  localStorage.removeItem('checkoutAdditionalConfigs');
6811
6809
  }, []);
6810
+ React.useEffect(function () {
6811
+ onCheckoutUpdateSuccess(_extends({
6812
+ expires_at: expirationTime
6813
+ }, checkoutData));
6814
+ }, [checkoutData, cartInfoData]);
6812
6815
  var updateCheckoutWithAddOns = React.useCallback( /*#__PURE__*/function () {
6813
6816
  var _ref10 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7(addOns) {
6814
6817
  var mergedAddOns, _checkoutUpdateData, checkoutResponse, checkoutDataObj, errorMessage;
@@ -6850,7 +6853,6 @@ var BillingInfoContainer = /*#__PURE__*/React__default.memo(function (_ref4) {
6850
6853
  if (checkoutResponse.success) {
6851
6854
  checkoutDataObj = _get(checkoutResponse, 'data.attributes.cart_price_breakdown', {});
6852
6855
  setCheckoutData(checkoutDataObj);
6853
- onCheckoutUpdateSuccess(checkoutResponse.data.attributes);
6854
6856
  setSingleCheckoutAddOns(mergedAddOns);
6855
6857
  }
6856
6858
  _context7.next = 18;
@@ -6918,18 +6920,21 @@ var BillingInfoContainer = /*#__PURE__*/React__default.memo(function (_ref4) {
6918
6920
  var stripePublishableKey = (reviewData == null ? void 0 : (_reviewData$payment_m = reviewData.payment_method) == null ? void 0 : _reviewData$payment_m.stripe_publishable_key) || (checkoutUpdateData == null ? void 0 : (_checkoutUpdateData$a = checkoutUpdateData.additional_payment_information) == null ? void 0 : (_checkoutUpdateData$a2 = _checkoutUpdateData$a.basic_config) == null ? void 0 : _checkoutUpdateData$a2.apiKey);
6919
6921
  var stripeAccountId = (reviewData == null ? void 0 : (_reviewData$payment_m2 = reviewData.payment_method) == null ? void 0 : _reviewData$payment_m2.stripe_connected_account) || (checkoutUpdateData == null ? void 0 : (_checkoutUpdateData$a3 = checkoutUpdateData.additional_payment_information) == null ? void 0 : (_checkoutUpdateData$a4 = _checkoutUpdateData$a3.basic_config) == null ? void 0 : _checkoutUpdateData$a4.accountId);
6920
6922
  var addOnsIncludedOnInvitation = additionalConfigs.resale && additionalConfigs.resaleWithAddons;
6923
+ if (loading || cardLoading || isCountriesLoading || isConfigLoading || !eventId) {
6924
+ return React__default.createElement(Backdrop, {
6925
+ sx: {
6926
+ color: '#fff',
6927
+ backgroundColor: '#000000bd',
6928
+ zIndex: 1205
6929
+ },
6930
+ open: true
6931
+ }, React__default.createElement(material.CircularProgress, {
6932
+ color: "inherit"
6933
+ }));
6934
+ }
6921
6935
  return React__default.createElement(styles.ThemeProvider, {
6922
6936
  theme: themeMui
6923
- }, (loading || cardLoading || isCountriesLoading || isConfigLoading) && React__default.createElement(Backdrop, {
6924
- sx: {
6925
- color: '#fff',
6926
- backgroundColor: '#000000bd',
6927
- zIndex: 1205
6928
- },
6929
- open: true
6930
- }, React__default.createElement(material.CircularProgress, {
6931
- color: "inherit"
6932
- })), !!expirationTime && enableTimer && React__default.createElement(TimerWidget$1, {
6937
+ }, !!expirationTime && enableTimer && React__default.createElement(TimerWidget$1, {
6933
6938
  expires_at: expirationTime,
6934
6939
  onCountdownFinish: onCountdownFinish,
6935
6940
  container: isSinglePageCheckout ? 'body' : ''
@@ -7232,7 +7237,7 @@ var BillingInfoContainer = /*#__PURE__*/React__default.memo(function (_ref4) {
7232
7237
  shouldFetchCountries: shouldFetchCountries
7233
7238
  }), React__default.createElement("div", {
7234
7239
  className: "billing-info-container " + theme
7235
- }, React__default.createElement(SnackbarAlert, {
7240
+ }, !!error && React__default.createElement(SnackbarAlert, {
7236
7241
  type: "error",
7237
7242
  isOpen: !!error,
7238
7243
  message: error || '',
@@ -7262,12 +7267,12 @@ var BillingInfoContainer = /*#__PURE__*/React__default.memo(function (_ref4) {
7262
7267
  }, React__default.createElement("img", {
7263
7268
  src: theme === 'dark' ? 'https://www.ticketfairy.com/resources/images/logo-ttf.svg' : 'https://www.ticketfairy.com/resources/images/logo-ttf-black.svg',
7264
7269
  alt: "nodata"
7265
- })))), isSinglePageCheckout && !addOnsIncludedOnInvitation && eventId ? React__default.createElement(SimpleAddonsContainer, Object.assign({}, addonsProps != null ? addonsProps : {}, {
7270
+ })))), isSinglePageCheckout && !addOnsIncludedOnInvitation && eventHasAddons && eventId ? React__default.createElement(SimpleAddonsContainer, Object.assign({}, addonsProps != null ? addonsProps : {}, {
7266
7271
  eventId: eventId,
7267
7272
  addOnDataWithCustomFields: addOnDataWithCustomFields,
7268
7273
  configs: configs,
7269
7274
  onAddOnSelect: onAddOnSelect
7270
- })) : !addOnsIncludedOnInvitation && includeAddons ? React__default.createElement(AddonsContainter, Object.assign({}, addonsProps != null ? addonsProps : {}, {
7275
+ })) : !addOnsIncludedOnInvitation && includeAddons && !isSinglePageCheckout ? React__default.createElement(AddonsContainter, Object.assign({}, addonsProps != null ? addonsProps : {}, {
7271
7276
  addOnDataWithCustomFields: addOnDataWithCustomFields,
7272
7277
  configs: configs,
7273
7278
  onAddOnSelect: onAddOnSelect
@@ -14799,14 +14804,40 @@ var PreRegistrationInformations = function PreRegistrationInformations(props) {
14799
14804
  })));
14800
14805
  };
14801
14806
 
14802
- /* eslint-disable @typescript-eslint/no-explicit-any */
14803
- var OrderDetails = function OrderDetails(_ref) {
14804
- var _ref$orderData = _ref.orderData,
14805
- orderData = _ref$orderData === void 0 ? {} : _ref$orderData,
14806
- _ref$paymentFieldsDat = _ref.paymentFieldsData,
14807
- paymentFieldsData = _ref$paymentFieldsDat === void 0 ? [] : _ref$paymentFieldsDat,
14808
- _ref$customMobileText = _ref.customMobileText,
14809
- customMobileText = _ref$customMobileText === void 0 ? 'Your order total' : _ref$customMobileText;
14807
+ var SimpleCountdown = /*#__PURE__*/React.memo(function (_ref) {
14808
+ var expiresAt = _ref.expiresAt,
14809
+ handleCountdownFinish = _ref.handleCountdownFinish;
14810
+ var _renderer = function renderer(_ref2) {
14811
+ var minutes = _ref2.minutes,
14812
+ seconds = _ref2.seconds,
14813
+ completed = _ref2.completed,
14814
+ handleCountdownFinish = _ref2.handleCountdownFinish;
14815
+ if (completed) {
14816
+ handleCountdownFinish();
14817
+ return null;
14818
+ }
14819
+ return React__default.createElement("span", null, showZero(minutes), ":", showZero(seconds));
14820
+ };
14821
+ return React__default.createElement("div", {
14822
+ className: "mobile-order-timer"
14823
+ }, expiresAt && React__default.createElement(Countdown$1, {
14824
+ date: Date.now() + expiresAt * 1000,
14825
+ renderer: function renderer(props) {
14826
+ return _renderer(_extends({}, props, {
14827
+ handleCountdownFinish: handleCountdownFinish
14828
+ }));
14829
+ }
14830
+ }));
14831
+ });
14832
+ var OrderDetails = function OrderDetails(_ref3) {
14833
+ var _ref3$orderData = _ref3.orderData,
14834
+ orderData = _ref3$orderData === void 0 ? {} : _ref3$orderData,
14835
+ _ref3$paymentFieldsDa = _ref3.paymentFieldsData,
14836
+ paymentFieldsData = _ref3$paymentFieldsDa === void 0 ? [] : _ref3$paymentFieldsDa,
14837
+ _ref3$customMobileTex = _ref3.customMobileText,
14838
+ customMobileText = _ref3$customMobileTex === void 0 ? 'Your order total' : _ref3$customMobileTex,
14839
+ _ref3$handleCountdown = _ref3.handleCountdownFinish,
14840
+ handleCountdownFinish = _ref3$handleCountdown === void 0 ? _identity : _ref3$handleCountdown;
14810
14841
  var currency = orderData.currency,
14811
14842
  guest_count = orderData.guest_count;
14812
14843
  var hasTableTypes = Boolean(Number(guest_count));
@@ -14821,6 +14852,26 @@ var OrderDetails = function OrderDetails(_ref) {
14821
14852
  var toggleExpand = function toggleExpand() {
14822
14853
  setIsExpanded(!isExpanded);
14823
14854
  };
14855
+ var defaultItemRenderer = function defaultItemRenderer(item) {
14856
+ return React__default.createElement("div", null, React__default.createElement("div", {
14857
+ key: item.id,
14858
+ className: "add-on-container"
14859
+ }, React__default.createElement("span", null, item.quantity), React__default.createElement("span", {
14860
+ className: "add-on-x"
14861
+ }, ' x '), React__default.createElement("span", null, item.groupName ? item.groupName + ' - ' : ''), React__default.createElement("span", null, item.name), React__default.createElement("span", null, ' - '), React__default.createElement("span", null, CONFIGS.FEES_STYLE === FEES_STYLES.TRADITIONAL && currencyNormalizerCreator(createFixedFloatNormalizer(2)(parseFloat(item.price)), currency) + ' (incl. fees)', CONFIGS.FEES_STYLE === FEES_STYLES.DISPLAY_BOTH && currencyNormalizerCreator(createFixedFloatNormalizer(2)(parseFloat(item.cost)), currency)), React__default.createElement("span", {
14862
+ className: "add-on-each"
14863
+ }, ' each')), CONFIGS.FEES_STYLE === FEES_STYLES.DISPLAY_BOTH && React__default.createElement("p", {
14864
+ className: "fees"
14865
+ }, "(" + currencyNormalizerCreator(createFixedFloatNormalizer(2)(parseFloat(String(item.price))), currency) + " with fees)"));
14866
+ };
14867
+ var defaultTableRenderer = function defaultTableRenderer(item) {
14868
+ return React__default.createElement("div", null, React__default.createElement("div", {
14869
+ key: item.id,
14870
+ className: "table-type-container"
14871
+ }, React__default.createElement("span", null, item.groupName ? item.groupName + ' - ' : ''), React__default.createElement("span", null, item.name), React__default.createElement("span", null, ' - '), React__default.createElement("span", null, "Guest Count", ': '), React__default.createElement("span", null, item.guestCount)), React__default.createElement("div", null, React__default.createElement("span", null, CONFIGS.FEES_STYLE === FEES_STYLES.TRADITIONAL && currencyNormalizerCreator(createFixedFloatNormalizer(2)(parseFloat(item.price)), currency) + ' (incl. fees)', CONFIGS.FEES_STYLE === FEES_STYLES.DISPLAY_BOTH && currencyNormalizerCreator(createFixedFloatNormalizer(2)(parseFloat(item.cost)), currency)), React__default.createElement("br", null), CONFIGS.FEES_STYLE === FEES_STYLES.DISPLAY_BOTH && React__default.createElement("p", {
14872
+ className: "fees"
14873
+ }, "(" + currencyNormalizerCreator(createFixedFloatNormalizer(2)(parseFloat(String(item.price))), currency) + " with fees)")));
14874
+ };
14824
14875
  return React__default.createElement("div", {
14825
14876
  className: "payment_page payment_page_single"
14826
14877
  }, React__default.createElement("div", {
@@ -14834,11 +14885,14 @@ var OrderDetails = function OrderDetails(_ref) {
14834
14885
  className: "mobile-order-info-container order-info-container-left " + (isExpanded ? 'open' : '')
14835
14886
  }, React__default.createElement("div", {
14836
14887
  className: "mobile-order-text"
14837
- }, customMobileText)), !isExpanded && React__default.createElement("div", {
14888
+ }, customMobileText)), React__default.createElement("div", {
14838
14889
  className: "mobile-order-info-container order-info-container-right"
14839
- }, React__default.createElement("div", {
14890
+ }, !isExpanded && React__default.createElement("div", {
14840
14891
  className: "mobile-order-total"
14841
- }, totalValue))))), React__default.createElement("div", {
14892
+ }, totalValue), (orderData == null ? void 0 : orderData.expires_at) && React__default.createElement(SimpleCountdown, {
14893
+ expiresAt: orderData == null ? void 0 : orderData.expires_at,
14894
+ handleCountdownFinish: handleCountdownFinish
14895
+ }))))), React__default.createElement("div", {
14842
14896
  className: "order_info_section " + (isExpanded ? 'expanded' : 'collapsed'),
14843
14897
  style: {
14844
14898
  display: hasTableTypes ? 'block' : 'grid'
@@ -14901,16 +14955,7 @@ var OrderDetails = function OrderDetails(_ref) {
14901
14955
  }, label), React__default.createElement("div", {
14902
14956
  className: className + " order_info_text"
14903
14957
  }, typeof value === 'string' || typeof value === 'number' ? normalizer(value, currency, orderData) : _map(value, function (item) {
14904
- return React__default.createElement("div", null, React__default.createElement("div", {
14905
- key: item.id,
14906
- className: "add-on-container"
14907
- }, React__default.createElement("span", null, item.quantity), React__default.createElement("span", {
14908
- className: "add-on-x"
14909
- }, ' x '), React__default.createElement("span", null, item.groupName ? item.groupName + ' - ' : ''), React__default.createElement("span", null, item.name), React__default.createElement("span", null, ' - '), React__default.createElement("span", null, CONFIGS.FEES_STYLE === FEES_STYLES.TRADITIONAL && currencyNormalizerCreator(createFixedFloatNormalizer(2)(parseFloat(item.price)), currency) + ' (incl. fees)', CONFIGS.FEES_STYLE === FEES_STYLES.DISPLAY_BOTH && currencyNormalizerCreator(createFixedFloatNormalizer(2)(parseFloat(item.cost)), currency)), React__default.createElement("span", {
14910
- className: "add-on-each"
14911
- }, ' each')), CONFIGS.FEES_STYLE === FEES_STYLES.DISPLAY_BOTH && React__default.createElement("p", {
14912
- className: "fees"
14913
- }, "(" + currencyNormalizerCreator(createFixedFloatNormalizer(2)(parseFloat(String(item.price))), currency) + " with fees)"));
14958
+ return item.isTable ? defaultTableRenderer(item) : defaultItemRenderer(item);
14914
14959
  })));
14915
14960
  })));
14916
14961
  };