tf-checkout-react 1.6.6-beta.13 → 1.6.6-beta.16

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.
@@ -12,8 +12,9 @@ export interface IAddonContainterProps {
12
12
  onCountdownFinish?: () => void;
13
13
  onPendingVerification?: () => void;
14
14
  samePage?: boolean;
15
+ descriptionTrigger?: "click" | "hover";
15
16
  }
16
17
  export interface ObjectLiteral {
17
18
  [key: string]: any;
18
19
  }
19
- export declare const AddonsContainter: ({ classNamePrefix, enableBillingInfoAutoCreate, enableTimer, onGetAddonsPageInfoSuccess, onGetAddonsPageInfoError, onPostCheckoutSuccess, onPostCheckoutError, onConfirmSelectionSuccess, onConfirmSelectionError, onCountdownFinish, onPendingVerification, samePage, }: IAddonContainterProps) => JSX.Element;
20
+ export declare const AddonsContainter: ({ classNamePrefix, enableBillingInfoAutoCreate, enableTimer, onGetAddonsPageInfoSuccess, onGetAddonsPageInfoError, onPostCheckoutSuccess, onPostCheckoutError, onConfirmSelectionSuccess, onConfirmSelectionError, onCountdownFinish, onPendingVerification, samePage, descriptionTrigger, }: IAddonContainterProps) => JSX.Element;
@@ -1,3 +1,5 @@
1
1
  /// <reference types="react" />
2
- declare const InfoIcon: () => JSX.Element;
2
+ declare const InfoIcon: ({ size }: {
3
+ size?: number | undefined;
4
+ }) => JSX.Element;
3
5
  export default InfoIcon;
@@ -1 +1,6 @@
1
1
  export declare const X_TF_ECOMMERCE = "X-TF-ECOMMERCE";
2
+ export declare const FEES_STYLES: {
3
+ TRADITIONAL: string;
4
+ DISPLAY_BOTH: string;
5
+ };
6
+ export declare const DEFAULT_FEES_STYLE: string;
package/dist/index.d.ts CHANGED
@@ -7,6 +7,7 @@ export { LoginModal } from './components/loginModal';
7
7
  export { MyTicketsContainer } from './components/myTicketsContainer';
8
8
  export { OrderDetailsContainer } from './components/orderDetailsContainer';
9
9
  export { setConfigs } from './utils/setConfigs';
10
+ export { DEFAULT_FEES_STYLE } from './constants/index';
10
11
  export { TicketResaleContainer } from './components';
11
12
  export { RedirectModal } from './components/common/RedirectModal';
12
13
  export { RsvpContainer } from './components/rsvpContainer';
@@ -21,6 +21,7 @@ var _map = _interopDefault(require('lodash/map'));
21
21
  var nanoid = require('nanoid');
22
22
  var React = require('react');
23
23
  var React__default = _interopDefault(React);
24
+ var reactTooltip = require('react-tooltip');
24
25
  var Box = _interopDefault(require('@mui/material/Box'));
25
26
  var CircularProgress = _interopDefault(require('@mui/material/CircularProgress'));
26
27
  var Countdown$1 = _interopDefault(require('react-countdown'));
@@ -506,7 +507,16 @@ publicRequest.setGuestToken = function (guestToken) {
506
507
  return publicRequest.defaults.headers.common['Authorization-Guest'] = guestToken;
507
508
  };
508
509
 
509
- var CONFIGS = {};
510
+ var X_TF_ECOMMERCE = 'X-TF-ECOMMERCE';
511
+ var FEES_STYLES = {
512
+ TRADITIONAL: 'TRADITIONAL',
513
+ DISPLAY_BOTH: 'DISPLAY_BOTH'
514
+ };
515
+ var DEFAULT_FEES_STYLE = FEES_STYLES.TRADITIONAL;
516
+
517
+ var CONFIGS = {
518
+ FEES_STYLE: DEFAULT_FEES_STYLE
519
+ };
510
520
  var setConfigs = function setConfigs(configs) {
511
521
  _forEach(configs, function (value, key) {
512
522
  CONFIGS[key] = value;
@@ -2356,6 +2366,36 @@ var VerificationPendingModal = function VerificationPendingModal(props) {
2356
2366
  }, React__default.createElement("div", null, message))) : null;
2357
2367
  };
2358
2368
 
2369
+ var InfoIcon = function InfoIcon(_ref) {
2370
+ var _ref$size = _ref.size,
2371
+ size = _ref$size === void 0 ? 17 : _ref$size;
2372
+ return React__default.createElement("svg", {
2373
+ xmlns: "http://www.w3.org/2000/svg",
2374
+ width: size,
2375
+ height: size,
2376
+ viewBox: "0 0 17 17",
2377
+ fill: "none"
2378
+ }, React__default.createElement("circle", {
2379
+ cx: "8.5",
2380
+ cy: "8.5",
2381
+ r: "8",
2382
+ stroke: "black",
2383
+ strokeWidth: "1"
2384
+ }), React__default.createElement("rect", {
2385
+ x: "7.5",
2386
+ y: "4",
2387
+ width: "2",
2388
+ height: "2",
2389
+ fill: "black"
2390
+ }), React__default.createElement("rect", {
2391
+ x: "7.5",
2392
+ y: "7",
2393
+ width: "2",
2394
+ height: "5",
2395
+ fill: "black"
2396
+ }));
2397
+ };
2398
+
2359
2399
  var Cross = "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\r\n<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->\r\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\r\n<svg version=\"1.1\" id=\"Capa_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\r\n\t width=\"94.926px\" height=\"94.926px\" viewBox=\"0 0 94.926 94.926\" style=\"enable-background:new 0 0 94.926 94.926;\"\r\n\t xml:space=\"preserve\">\r\n<g>\r\n\t<path d=\"M55.931,47.463L94.306,9.09c0.826-0.827,0.826-2.167,0-2.994L88.833,0.62C88.436,0.224,87.896,0,87.335,0\r\n\t\tc-0.562,0-1.101,0.224-1.498,0.62L47.463,38.994L9.089,0.62c-0.795-0.795-2.202-0.794-2.995,0L0.622,6.096\r\n\t\tc-0.827,0.827-0.827,2.167,0,2.994l38.374,38.373L0.622,85.836c-0.827,0.827-0.827,2.167,0,2.994l5.473,5.476\r\n\t\tc0.397,0.396,0.936,0.62,1.498,0.62s1.1-0.224,1.497-0.62l38.374-38.374l38.374,38.374c0.397,0.396,0.937,0.62,1.498,0.62\r\n\t\ts1.101-0.224,1.498-0.62l5.473-5.476c0.826-0.827,0.826-2.167,0-2.994L55.931,47.463z\"/>\r\n</g>\r\n<g>\r\n</g>\r\n<g>\r\n</g>\r\n<g>\r\n</g>\r\n<g>\r\n</g>\r\n<g>\r\n</g>\r\n<g>\r\n</g>\r\n<g>\r\n</g>\r\n<g>\r\n</g>\r\n<g>\r\n</g>\r\n<g>\r\n</g>\r\n<g>\r\n</g>\r\n<g>\r\n</g>\r\n<g>\r\n</g>\r\n<g>\r\n</g>\r\n<g>\r\n</g>\r\n</svg>";
2360
2400
 
2361
2401
  var showZero = function showZero(value) {
@@ -3248,7 +3288,9 @@ var AddonsContainter = function AddonsContainter(_ref) {
3248
3288
  _onCountdownFinish = _ref$onCountdownFinis === void 0 ? _identity : _ref$onCountdownFinis,
3249
3289
  _ref$onPendingVerific = _ref.onPendingVerification,
3250
3290
  onPendingVerification = _ref$onPendingVerific === void 0 ? _identity : _ref$onPendingVerific,
3251
- samePage = _ref.samePage;
3291
+ samePage = _ref.samePage,
3292
+ _ref$descriptionTrigg = _ref.descriptionTrigger,
3293
+ descriptionTrigger = _ref$descriptionTrigg === void 0 ? 'click' : _ref$descriptionTrigg;
3252
3294
  var eventId = getQueryVariable('event_id');
3253
3295
  var _useState = React.useState([]),
3254
3296
  addons = _useState[0],
@@ -3271,6 +3313,14 @@ var AddonsContainter = function AddonsContainter(_ref) {
3271
3313
  var _useState7 = React.useState(),
3272
3314
  pendingVerificationMessage = _useState7[0],
3273
3315
  setPendingVerificationMessage = _useState7[1];
3316
+ var _useState8 = React.useState(null),
3317
+ visibleDescription = _useState8[0],
3318
+ setVisibleDescription = _useState8[1];
3319
+ var handleDescriptionToggle = function handleDescriptionToggle(ticketId) {
3320
+ setVisibleDescription(function (current) {
3321
+ return current === ticketId ? null : ticketId;
3322
+ });
3323
+ };
3274
3324
  React.useEffect(function () {
3275
3325
  if (samePage) {
3276
3326
  window.localStorage.removeItem('add_ons');
@@ -3519,9 +3569,11 @@ var AddonsContainter = function AddonsContainter(_ref) {
3519
3569
  autoComplete: "off",
3520
3570
  className: "form_holder"
3521
3571
  }, React__default.createElement(React__default.Fragment, null, (isResale && addOnIsIncluded ? [] : addons).map(function (addon) {
3572
+ var _addon$cost, _addon$price;
3522
3573
  var price = addon.feeIncluded ? addon.price : addon.cost;
3523
- var isAddonFree = Number(price) === 0;
3524
- var addonNormalizedPrice = isAddonFree ? 'FREE' : currencyNormalizerCreator(getNormalizedPrice(price), addon.currency);
3574
+ var isAddonFree = Number(addon == null ? void 0 : addon.price) === 0;
3575
+ var addOnNormalizedCost = isAddonFree ? 'FREE' : currencyNormalizerCreator(getNormalizedPrice((_addon$cost = addon == null ? void 0 : addon.cost) != null ? _addon$cost : 0), addon.currency);
3576
+ var addonNormalizedPrice = isAddonFree ? 'FREE' : currencyNormalizerCreator(getNormalizedPrice(CONFIGS.FEES_STYLE === FEES_STYLES.DISPLAY_BOTH ? (_addon$price = addon == null ? void 0 : addon.price) != null ? _addon$price : price : price), addon.currency);
3525
3577
  return React__default.createElement("div", {
3526
3578
  key: addon.id,
3527
3579
  className: classNamePrefix + "_product_block"
@@ -3536,11 +3588,37 @@ var AddonsContainter = function AddonsContainter(_ref) {
3536
3588
  className: classNamePrefix + "_product_info_block"
3537
3589
  }, React__default.createElement("div", {
3538
3590
  className: classNamePrefix + "_product_title"
3539
- }, addon.name), React__default.createElement("div", {
3591
+ }, addon.name, addon.description && React__default.createElement(React__default.Fragment, null, React__default.createElement("span", {
3592
+ "aria-hidden": true,
3593
+ className: "info-icon",
3594
+ onClick: descriptionTrigger === 'click' ? function () {
3595
+ return handleDescriptionToggle(addon.id);
3596
+ } : undefined,
3597
+ onMouseEnter: descriptionTrigger === 'hover' ? function () {
3598
+ return setVisibleDescription(addon.id);
3599
+ } : undefined,
3600
+ onMouseLeave: descriptionTrigger === 'hover' ? function () {
3601
+ return setVisibleDescription(null);
3602
+ } : undefined,
3603
+ style: {
3604
+ marginLeft: 8,
3605
+ cursor: 'pointer',
3606
+ display: "flex"
3607
+ },
3608
+ "data-tooltip-id": "tooltip-" + addon.id,
3609
+ "data-tooltip-content": "View Add-On info"
3610
+ }, React__default.createElement(InfoIcon, {
3611
+ size: 14
3612
+ })), React__default.createElement(reactTooltip.Tooltip, {
3613
+ id: "tooltip-" + addon.id,
3614
+ place: "top"
3615
+ }, addon.description || "No description available"))), React__default.createElement("div", {
3540
3616
  className: classNamePrefix + "_product_price"
3541
- }, addonNormalizedPrice, !isAddonFree && React__default.createElement("span", {
3617
+ }, CONFIGS.FEES_STYLE === FEES_STYLES.TRADITIONAL ? addonNormalizedPrice : addOnNormalizedCost, !isAddonFree && CONFIGS.FEES_STYLE === FEES_STYLES.TRADITIONAL && React__default.createElement("span", {
3618
+ className: classNamePrefix + "_product_fee"
3619
+ }, "(" + addonNormalizedPrice + " with fees)"), !isAddonFree && CONFIGS.FEES_STYLE === FEES_STYLES.DISPLAY_BOTH && React__default.createElement(React__default.Fragment, null, React__default.createElement("span", {
3542
3620
  className: classNamePrefix + "_product_fee"
3543
- }, addon.feeIncluded ? '(incl. Fees)' : '(excl. Fees)'))), React__default.createElement("div", {
3621
+ }, "(" + addonNormalizedPrice + " with fees)")))), visibleDescription === addon.id && React__default.createElement("div", {
3544
3622
  className: classNamePrefix + "_product_desc",
3545
3623
  dangerouslySetInnerHTML: createMarkup(addon.description)
3546
3624
  }), React__default.createElement("div", {
@@ -5823,7 +5901,8 @@ var initialOrderValues = {
5823
5901
  currency: '',
5824
5902
  guest_count: '',
5825
5903
  pay_now: '',
5826
- add_ons: []
5904
+ add_ons: [],
5905
+ cost: ''
5827
5906
  };
5828
5907
  var initialReviewValues = {
5829
5908
  order_details: {
@@ -5965,6 +6044,7 @@ var PaymentContainer = function PaymentContainer(_ref) {
5965
6044
  ticketType: item == null ? void 0 : item.name,
5966
6045
  quantity: item == null ? void 0 : item.guest_count,
5967
6046
  price: item == null ? void 0 : item.price,
6047
+ cost: item == null ? void 0 : item.cost,
5968
6048
  id: item.id,
5969
6049
  count: item == null ? void 0 : item.quantity
5970
6050
  };
@@ -5981,7 +6061,10 @@ var PaymentContainer = function PaymentContainer(_ref) {
5981
6061
  pay_now: (order_details == null ? void 0 : order_details.pay_now) || '',
5982
6062
  guest_count: (order_details == null ? void 0 : order_details.guest_count) || '',
5983
6063
  debt: (order_details == null ? void 0 : order_details.debt) || null,
5984
- tableTypes: orderDataArray
6064
+ tableTypes: orderDataArray,
6065
+ cost: ticket == null ? void 0 : ticket.cost,
6066
+ subtotal: order_details == null ? void 0 : order_details.subtotal,
6067
+ fees: order_details == null ? void 0 : order_details.fees
5985
6068
  };
5986
6069
  setOrderData(_orderData);
5987
6070
  setCurrency(order_details == null ? void 0 : order_details.currency);
@@ -5992,7 +6075,7 @@ var PaymentContainer = function PaymentContainer(_ref) {
5992
6075
  case 7:
5993
6076
  _context.prev = 7;
5994
6077
  _context.t0 = _context["catch"](0);
5995
- setError(_get(_context.t0, 'response.data.message'));
6078
+ setError(_get(_context.t0, 'response.data.message', null));
5996
6079
  onGetPaymentDataError(_context.t0.response);
5997
6080
  case 11:
5998
6081
  _context.prev = 11;
@@ -6015,7 +6098,7 @@ var PaymentContainer = function PaymentContainer(_ref) {
6015
6098
  while (1) switch (_context2.prev = _context2.next) {
6016
6099
  case 0:
6017
6100
  if (!eventId) {
6018
- _context2.next = 7;
6101
+ _context2.next = 6;
6019
6102
  break;
6020
6103
  }
6021
6104
  _context2.next = 3;
@@ -6023,7 +6106,6 @@ var PaymentContainer = function PaymentContainer(_ref) {
6023
6106
  case 3:
6024
6107
  conditionsResponse = _context2.sent;
6025
6108
  conditionsInfo = conditionsResponse.data.attributes;
6026
- console.log('🚀 ~ file: index.tsx:258 ~ fetchConditions ~ conditionsInfo:', conditionsResponse);
6027
6109
  setConditions(conditionsInfo ? conditionsInfo.map(function (item) {
6028
6110
  return {
6029
6111
  id: nanoid.nanoid(),
@@ -6031,7 +6113,7 @@ var PaymentContainer = function PaymentContainer(_ref) {
6031
6113
  checked: false
6032
6114
  };
6033
6115
  }) : []);
6034
- case 7:
6116
+ case 6:
6035
6117
  case "end":
6036
6118
  return _context2.stop();
6037
6119
  }
@@ -6109,7 +6191,7 @@ var PaymentContainer = function PaymentContainer(_ref) {
6109
6191
  case 22:
6110
6192
  _context3.prev = 22;
6111
6193
  _context3.t0 = _context3["catch"](0);
6112
- setError(_get(_context3.t0, 'response.data.message'));
6194
+ setError(_get(_context3.t0, 'response.data.message', null));
6113
6195
  setPaymentIsLoading(false);
6114
6196
  onPaymentError(_context3.t0.response || _context3.t0, reviewData.event_details.slug);
6115
6197
  case 27:
@@ -6151,7 +6233,7 @@ var PaymentContainer = function PaymentContainer(_ref) {
6151
6233
  label: 'Add-ons',
6152
6234
  id: 'add_ons'
6153
6235
  }, {
6154
- label: 'Total (incl. fees, card processing and taxes)',
6236
+ label: 'Total (2.5% merchant processing fee)',
6155
6237
  id: 'total',
6156
6238
  normalizer: function normalizer(value, currency) {
6157
6239
  return currencyNormalizerCreator(createFixedFloatNormalizer(2)(parseFloat(value)), currency);
@@ -6198,7 +6280,7 @@ var PaymentContainer = function PaymentContainer(_ref) {
6198
6280
  className = _field$className === void 0 ? '' : _field$className,
6199
6281
  _field$normalizer = field.normalizer,
6200
6282
  normalizer = _field$normalizer === void 0 ? _identity : _field$normalizer;
6201
- var value = orderData[id];
6283
+ var value = orderData[id] || "";
6202
6284
  var component = null;
6203
6285
  if (field.id === 'add_ons' && _isEmpty(value)) {
6204
6286
  return false;
@@ -6246,20 +6328,22 @@ var PaymentContainer = function PaymentContainer(_ref) {
6246
6328
  }
6247
6329
  return component || React__default.createElement("div", {
6248
6330
  key: id,
6249
- className: "order_info_block"
6331
+ className: "order_info_block " + className
6250
6332
  }, React__default.createElement("div", {
6251
6333
  className: "order_info_title"
6252
6334
  }, label), React__default.createElement("div", {
6253
6335
  className: className + " order_info_text"
6254
- }, typeof value === 'string' || typeof value === 'number' ? normalizer(value, currency) : _map(value, function (item) {
6255
- return React__default.createElement("div", {
6336
+ }, typeof value === 'string' || typeof value === 'number' ? normalizer(value, currency, orderData) : _map(value, function (item) {
6337
+ return React__default.createElement("div", null, React__default.createElement("div", {
6256
6338
  key: item.id,
6257
6339
  className: "add-on-container"
6258
6340
  }, React__default.createElement("span", null, item.quantity), React__default.createElement("span", {
6259
6341
  className: "add-on-x"
6260
- }, ' 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, currencyNormalizerCreator(createFixedFloatNormalizer(2)(parseFloat(item.price)), currency)), React__default.createElement("span", {
6342
+ }, ' 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", {
6261
6343
  className: "add-on-each"
6262
- }, ' each'));
6344
+ }, ' each')), CONFIGS.FEES_STYLE === FEES_STYLES.DISPLAY_BOTH && React__default.createElement("p", {
6345
+ className: "fees"
6346
+ }, "(" + currencyNormalizerCreator(createFixedFloatNormalizer(2)(parseFloat(String(item.price))), currency) + " with fees)"));
6263
6347
  })));
6264
6348
  })), !isFreeTickets && paymentPlanIsAvailable && React__default.createElement("div", {
6265
6349
  className: "payment_toggle"
@@ -6268,7 +6352,7 @@ var PaymentContainer = function PaymentContainer(_ref) {
6268
6352
  className: "payment_plan_toggle_label"
6269
6353
  }, "Click to checkout using Payment Plan"),
6270
6354
  required: true,
6271
- onChange: function onChange(_) {
6355
+ onChange: function onChange() {
6272
6356
  setShowPaymentPlanSection(!showPaymentPlanSection);
6273
6357
  },
6274
6358
  checked: showPaymentPlanSection
@@ -6867,8 +6951,6 @@ var submitShareAction = /*#__PURE__*/function () {
6867
6951
  };
6868
6952
  }();
6869
6953
 
6870
- var X_TF_ECOMMERCE = 'X-TF-ECOMMERCE';
6871
-
6872
6954
  var useCookieListener = function useCookieListener(key, handler) {
6873
6955
  var getCookie = function getCookie() {
6874
6956
  return getCookieByName(key);
@@ -7292,34 +7374,6 @@ var ReferralLogic = function ReferralLogic(props) {
7292
7374
  return null;
7293
7375
  };
7294
7376
 
7295
- var InfoIcon = function InfoIcon() {
7296
- return React__default.createElement("svg", {
7297
- xmlns: "http://www.w3.org/2000/svg",
7298
- width: "17",
7299
- height: "17",
7300
- viewBox: "0 0 17 17",
7301
- fill: "none"
7302
- }, React__default.createElement("circle", {
7303
- cx: "8.5",
7304
- cy: "8.5",
7305
- r: "8",
7306
- stroke: "black",
7307
- strokeWidth: "1"
7308
- }), React__default.createElement("rect", {
7309
- x: "7.5",
7310
- y: "4",
7311
- width: "2",
7312
- height: "2",
7313
- fill: "black"
7314
- }), React__default.createElement("rect", {
7315
- x: "7.5",
7316
- y: "7",
7317
- width: "2",
7318
- height: "5",
7319
- fill: "black"
7320
- }));
7321
- };
7322
-
7323
7377
  var getTicketSelectOptions = function getTicketSelectOptions(maxCount, minCount, multiplier) {
7324
7378
  if (maxCount === void 0) {
7325
7379
  maxCount = 10;
@@ -7470,7 +7524,8 @@ var TicketsSection = function TicketsSection(_ref) {
7470
7524
  };
7471
7525
  return React__default.createElement(React__default.Fragment, null, !hideTicketsHeader && ticketsHeaderComponent, sortedTicketsList.map(function (ticket, i, arr) {
7472
7526
  var _arr;
7473
- var ticketPrice = priceSymbol + " " + (+ticket.price).toFixed(2);
7527
+ var ticketPriceWithoutFees = priceSymbol + " " + (+ticket.cost).toFixed(2);
7528
+ var ticketPriceWithFees = priceSymbol + " " + (+ticket.price).toFixed(2);
7474
7529
  var ticketOldPrice = priceSymbol + " " + (+ticket.oldPrice).toFixed(2);
7475
7530
  var isSoldOut = ticket.sold_out || !ticket.displayTicket || ticket.soldOut;
7476
7531
  var ticketSelect = function ticketSelect(event) {
@@ -7482,7 +7537,7 @@ var TicketsSection = function TicketsSection(_ref) {
7482
7537
  ticketIsDiscounted = true;
7483
7538
  }
7484
7539
  var ticketIsFree = +ticket.price === 0;
7485
- var ticketPriceElem = isSoldOut ? 'SOLD OUT' : ticketIsFree ? 'FREE' : ticketPrice;
7540
+ var ticketPriceElem = isSoldOut ? 'SOLD OUT' : ticketIsFree ? 'FREE' : CONFIGS.FEES_STYLE == FEES_STYLES.DISPLAY_BOTH ? ticketPriceWithoutFees : ticketPriceWithFees;
7486
7541
  var isNewGroupTicket = (ticket == null ? void 0 : ticket.groupName) !== ((_arr = arr[i - 1]) == null ? void 0 : _arr.groupName);
7487
7542
  return React__default.createElement(React__default.Fragment, {
7488
7543
  key: ticket.id || ticket.name
@@ -7492,30 +7547,29 @@ var TicketsSection = function TicketsSection(_ref) {
7492
7547
  className: "event-detail__tier " + (isSoldOut ? 'disabled' : '')
7493
7548
  }, React__default.createElement("div", {
7494
7549
  className: "event-detail__tier-name"
7495
- }, ticket.displayName || ticket.name, ticket.descriptionRich && React__default.createElement("span", {
7550
+ }, ticket.displayName || ticket.name, ticket.descriptionRich && React__default.createElement(React__default.Fragment, null, React__default.createElement("span", {
7496
7551
  "aria-hidden": true,
7497
7552
  className: "info-icon",
7498
- onClick: descriptionTrigger === 'click' ? function () {
7553
+ onClick: descriptionTrigger === "click" ? function () {
7499
7554
  return handleDescriptionToggle(ticket.id);
7500
7555
  } : undefined,
7501
- onMouseEnter: descriptionTrigger === 'hover' ? function () {
7556
+ onMouseEnter: descriptionTrigger === "hover" ? function () {
7502
7557
  return setVisibleDescription(ticket.id);
7503
7558
  } : undefined,
7504
- onMouseLeave: descriptionTrigger === 'hover' ? function () {
7559
+ onMouseLeave: descriptionTrigger === "hover" ? function () {
7505
7560
  return setVisibleDescription(null);
7506
7561
  } : undefined,
7562
+ "data-tooltip-id": "tooltip-" + ticket.id,
7563
+ "data-tooltip-content": "View ticket info",
7507
7564
  style: {
7508
7565
  marginLeft: 8,
7509
- cursor: 'pointer',
7566
+ cursor: "pointer",
7510
7567
  display: "flex"
7511
7568
  }
7512
- }, React__default.createElement(InfoIcon, null))), visibleDescription === ticket.id && React__default.createElement("div", {
7513
- className: "ticket-description"
7514
- }, React__default.createElement("div", {
7515
- dangerouslySetInnerHTML: {
7516
- __html: decodeHTML(ticket.descriptionRich)
7517
- }
7518
- })), React__default.createElement("div", {
7569
+ }, React__default.createElement(InfoIcon, null)), React__default.createElement(reactTooltip.Tooltip, {
7570
+ id: "tooltip-" + ticket.id,
7571
+ place: "top"
7572
+ }, ticket.description || "No description available"))), React__default.createElement("div", {
7519
7573
  className: "event-tickets-container"
7520
7574
  }, React__default.createElement("div", {
7521
7575
  className: "event-detail__tier-price"
@@ -7525,7 +7579,7 @@ var TicketsSection = function TicketsSection(_ref) {
7525
7579
  className: isSoldOut ? 'sold-out' : ''
7526
7580
  }, ticketPriceElem), !isSoldOut && !ticketIsFree && React__default.createElement("p", {
7527
7581
  className: "fees"
7528
- }, ticket.feeIncluded ? '(incl. Fees)' : '(excl. Fees)')), React__default.createElement("div", {
7582
+ }, CONFIGS.FEES_STYLE === FEES_STYLES.TRADITIONAL && (ticket.feeIncluded ? '(incl. Fees)' : '(excl. Fees)'), CONFIGS.FEES_STYLE === FEES_STYLES.DISPLAY_BOTH && "(" + ticketPriceWithFees + " with fees)")), React__default.createElement("div", {
7529
7583
  className: "event-detail__tier-state",
7530
7584
  style: {
7531
7585
  minWidth: 55
@@ -7536,10 +7590,17 @@ var TicketsSection = function TicketsSection(_ref) {
7536
7590
  selectedTickets: selectedTickets,
7537
7591
  handleTicketSelect: ticketSelect,
7538
7592
  event: event
7539
- })))));
7593
+ }))), visibleDescription === ticket.id && React__default.createElement("div", {
7594
+ className: "ticket-description"
7595
+ }, React__default.createElement("div", {
7596
+ dangerouslySetInnerHTML: {
7597
+ __html: decodeHTML(ticket.descriptionRich)
7598
+ }
7599
+ }))));
7540
7600
  }), !hideTableTicketsHeader && tableTicketsHeaderComponent, tableTickets.map(function (ticket, i, arr) {
7541
7601
  var _arr2;
7542
- var ticketPrice = priceSymbol + " " + (+ticket.price).toFixed(2);
7602
+ var ticketPriceWithoutFees = priceSymbol + " " + (+ticket.cost).toFixed(2);
7603
+ var ticketPriceWithFees = priceSymbol + " " + (+ticket.price).toFixed(2);
7543
7604
  var ticketOldPrice = priceSymbol + " " + (+ticket.oldPrice).toFixed(2);
7544
7605
  var isSoldOut = ticket.sold_out || !ticket.displayTicket || ticket.soldOut;
7545
7606
  var ticketSelect = function ticketSelect(event) {
@@ -7551,7 +7612,7 @@ var TicketsSection = function TicketsSection(_ref) {
7551
7612
  ticketIsDiscounted = true;
7552
7613
  }
7553
7614
  var ticketIsFree = +ticket.price === 0;
7554
- var ticketPriceElem = isSoldOut ? 'SOLD OUT' : ticketIsFree ? 'FREE' : ticketPrice;
7615
+ var ticketPriceElem = isSoldOut ? 'SOLD OUT' : ticketIsFree ? 'FREE' : CONFIGS.FEES_STYLE === FEES_STYLES.DISPLAY_BOTH ? ticketPriceWithoutFees : ticketPriceWithFees;
7555
7616
  var isNewGroupTicket = (ticket == null ? void 0 : ticket.groupName) !== ((_arr2 = arr[i - 1]) == null ? void 0 : _arr2.groupName);
7556
7617
  return React__default.createElement(React__default.Fragment, null, React__default.createElement(React__default.Fragment, {
7557
7618
  key: ticket.id || ticket.name
@@ -7561,7 +7622,7 @@ var TicketsSection = function TicketsSection(_ref) {
7561
7622
  className: "event-detail__tier " + (isSoldOut ? 'disabled' : '')
7562
7623
  }, React__default.createElement("div", {
7563
7624
  className: "event-detail__tier-name"
7564
- }, ticket.displayName || ticket.name, ticket.descriptionRich && React__default.createElement("span", {
7625
+ }, ticket.displayName || ticket.name, ticket.descriptionRich && React__default.createElement(React__default.Fragment, null, React__default.createElement("span", {
7565
7626
  "aria-hidden": true,
7566
7627
  className: "info-icon",
7567
7628
  onClick: descriptionTrigger === 'click' ? function () {
@@ -7577,14 +7638,13 @@ var TicketsSection = function TicketsSection(_ref) {
7577
7638
  marginLeft: 8,
7578
7639
  cursor: 'pointer',
7579
7640
  display: "flex"
7580
- }
7581
- }, React__default.createElement(InfoIcon, null))), visibleDescription === ticket.id && React__default.createElement("div", {
7582
- className: "ticket-description"
7583
- }, React__default.createElement("div", {
7584
- dangerouslySetInnerHTML: {
7585
- __html: decodeHTML(ticket.descriptionRich)
7586
- }
7587
- })), React__default.createElement("div", {
7641
+ },
7642
+ "data-tooltip-id": "tooltip-" + ticket.id,
7643
+ "data-tooltip-content": "View ticket info"
7644
+ }, React__default.createElement(InfoIcon, null)), React__default.createElement(reactTooltip.Tooltip, {
7645
+ id: "tooltip-" + ticket.id,
7646
+ place: "top"
7647
+ }, ticket.description || "No description available"))), React__default.createElement("div", {
7588
7648
  className: "event-tickets-container"
7589
7649
  }, React__default.createElement("div", {
7590
7650
  className: "event-detail__tier-price"
@@ -7594,7 +7654,7 @@ var TicketsSection = function TicketsSection(_ref) {
7594
7654
  className: isSoldOut ? 'sold-out' : ''
7595
7655
  }, ticketPriceElem), !isSoldOut && !ticketIsFree && React__default.createElement("p", {
7596
7656
  className: "fees"
7597
- }, ticket.feeIncluded ? '(incl. Fees)' : '(excl. Fees)'), ticket.depositPercent && React__default.createElement("p", {
7657
+ }, CONFIGS.FEES_STYLE === FEES_STYLES.TRADITIONAL && (ticket.feeIncluded ? '(incl. Fees)' : '(excl. Fees)'), CONFIGS.FEES_STYLE === FEES_STYLES.DISPLAY_BOTH && "(" + ticketPriceWithFees + " with fees)"), ticket.depositPercent && React__default.createElement("p", {
7598
7658
  className: "deposits"
7599
7659
  }, ticket.depositPercent + '% DEPOSIT')), React__default.createElement("div", {
7600
7660
  className: "event-detail__tier-state",
@@ -7609,7 +7669,13 @@ var TicketsSection = function TicketsSection(_ref) {
7609
7669
  handleTicketSelect: ticketSelect,
7610
7670
  isSeatMapAllowed: isSeatMapAllowed,
7611
7671
  event: event
7612
- }))))));
7672
+ }))), visibleDescription === ticket.id && React__default.createElement("div", {
7673
+ className: "ticket-description"
7674
+ }, React__default.createElement("div", {
7675
+ dangerouslySetInnerHTML: {
7676
+ __html: decodeHTML(ticket.descriptionRich)
7677
+ }
7678
+ })))));
7613
7679
  }));
7614
7680
  };
7615
7681
 
@@ -8235,7 +8301,8 @@ var TicketsContainer = function TicketsContainer(_ref) {
8235
8301
  return setTicketsNotAvailableModalOpen(false);
8236
8302
  }
8237
8303
  }), isLoading ? React__default.createElement(Loader, null) : React__default.createElement("div", {
8238
- ref: ticketsContainerRef
8304
+ ref: ticketsContainerRef,
8305
+ className: 'tickets-section-container'
8239
8306
  }, !isSalesClosed && React__default.createElement(TicketsSection, {
8240
8307
  event: event,
8241
8308
  ticketsList: ordinarTickets,
@@ -13408,6 +13475,7 @@ var PreRegistrationInformations = function PreRegistrationInformations(props) {
13408
13475
  exports.AddonsContainter = AddonsContainter;
13409
13476
  exports.BillingInfoContainer = WithCustomFieldsBillingInfoContainer;
13410
13477
  exports.ConfirmationContainer = ConfirmationContainer;
13478
+ exports.DEFAULT_FEES_STYLE = DEFAULT_FEES_STYLE;
13411
13479
  exports.DelegationsContainer = DelegationsContainer;
13412
13480
  exports.ForgotPasswordModal = ForgotPasswordModal;
13413
13481
  exports.IDVerification = IDVerification;