tf-checkout-react 1.6.6-beta.11 → 1.6.6-beta.12

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.
@@ -7289,6 +7289,34 @@ var ReferralLogic = function ReferralLogic(props) {
7289
7289
  return null;
7290
7290
  };
7291
7291
 
7292
+ var InfoIcon = function InfoIcon() {
7293
+ return React.createElement("svg", {
7294
+ xmlns: "http://www.w3.org/2000/svg",
7295
+ width: "17",
7296
+ height: "17",
7297
+ viewBox: "0 0 17 17",
7298
+ fill: "none"
7299
+ }, React.createElement("circle", {
7300
+ cx: "8.5",
7301
+ cy: "8.5",
7302
+ r: "8",
7303
+ stroke: "black",
7304
+ strokeWidth: "1"
7305
+ }), React.createElement("rect", {
7306
+ x: "7.5",
7307
+ y: "4",
7308
+ width: "2",
7309
+ height: "2",
7310
+ fill: "black"
7311
+ }), React.createElement("rect", {
7312
+ x: "7.5",
7313
+ y: "7",
7314
+ width: "2",
7315
+ height: "5",
7316
+ fill: "black"
7317
+ }));
7318
+ };
7319
+
7292
7320
  var getTicketSelectOptions = function getTicketSelectOptions(maxCount, minCount, multiplier) {
7293
7321
  if (maxCount === void 0) {
7294
7322
  maxCount = 10;
@@ -7402,6 +7430,11 @@ var TicketRow = function TicketRow(_ref) {
7402
7430
  return React.createElement(React.Fragment, null, returnValue, " ");
7403
7431
  };
7404
7432
 
7433
+ function decodeHTML(html) {
7434
+ var textArea = document.createElement("textarea");
7435
+ textArea.innerHTML = html;
7436
+ return textArea.value;
7437
+ }
7405
7438
  var TicketsSection = function TicketsSection(_ref) {
7406
7439
  var event = _ref.event,
7407
7440
  ticketsList = _ref.ticketsList,
@@ -7415,13 +7448,23 @@ var TicketsSection = function TicketsSection(_ref) {
7415
7448
  showGroupNameBlock = _ref.showGroupNameBlock,
7416
7449
  currencySybmol = _ref.currencySybmol,
7417
7450
  isSeatMapAllowed = _ref.isSeatMapAllowed,
7418
- tableTickets = _ref.tableTickets;
7419
- var symbol = _get(event, "currency.symbol");
7451
+ tableTickets = _ref.tableTickets,
7452
+ _ref$descriptionTrigg = _ref.descriptionTrigger,
7453
+ descriptionTrigger = _ref$descriptionTrigg === void 0 ? 'click' : _ref$descriptionTrigg;
7454
+ var symbol = _get(event, 'currency.symbol');
7420
7455
  var sortedTicketsList = sortBySoldOut ? _sortBy(_sortBy(ticketsList, 'sortOrder'), 'soldOut') : _sortBy(ticketsList, 'sortOrder');
7421
7456
  var showGroup = !!sortedTicketsList.find(function (ticket) {
7422
7457
  return ticket.groupName;
7423
7458
  });
7424
- var priceSymbol = currencySybmol ? currencySybmol : symbol;
7459
+ var priceSymbol = currencySybmol || symbol;
7460
+ var _useState = useState(null),
7461
+ visibleDescription = _useState[0],
7462
+ setVisibleDescription = _useState[1];
7463
+ var handleDescriptionToggle = function handleDescriptionToggle(ticketId) {
7464
+ setVisibleDescription(function (current) {
7465
+ return current === ticketId ? null : ticketId;
7466
+ });
7467
+ };
7425
7468
  return React.createElement(React.Fragment, null, !hideTicketsHeader && ticketsHeaderComponent, sortedTicketsList.map(function (ticket, i, arr) {
7426
7469
  var _arr;
7427
7470
  var ticketPrice = priceSymbol + " " + (+ticket.price).toFixed(2);
@@ -7446,7 +7489,30 @@ var TicketsSection = function TicketsSection(_ref) {
7446
7489
  className: "event-detail__tier " + (isSoldOut ? 'disabled' : '')
7447
7490
  }, React.createElement("div", {
7448
7491
  className: "event-detail__tier-name"
7449
- }, ticket.displayName || ticket.name), React.createElement("div", {
7492
+ }, ticket.displayName || ticket.name, ticket.descriptionRich && React.createElement("span", {
7493
+ "aria-hidden": true,
7494
+ className: "info-icon",
7495
+ onClick: descriptionTrigger === 'click' ? function () {
7496
+ return handleDescriptionToggle(ticket.id);
7497
+ } : undefined,
7498
+ onMouseEnter: descriptionTrigger === 'hover' ? function () {
7499
+ return setVisibleDescription(ticket.id);
7500
+ } : undefined,
7501
+ onMouseLeave: descriptionTrigger === 'hover' ? function () {
7502
+ return setVisibleDescription(null);
7503
+ } : undefined,
7504
+ style: {
7505
+ marginLeft: 8,
7506
+ cursor: 'pointer',
7507
+ display: "flex"
7508
+ }
7509
+ }, React.createElement(InfoIcon, null))), visibleDescription === ticket.id && React.createElement("div", {
7510
+ className: "ticket-description"
7511
+ }, React.createElement("div", {
7512
+ dangerouslySetInnerHTML: {
7513
+ __html: decodeHTML(ticket.descriptionRich)
7514
+ }
7515
+ })), React.createElement("div", {
7450
7516
  className: "event-tickets-container"
7451
7517
  }, React.createElement("div", {
7452
7518
  className: "event-detail__tier-price"
@@ -7492,7 +7558,30 @@ var TicketsSection = function TicketsSection(_ref) {
7492
7558
  className: "event-detail__tier " + (isSoldOut ? 'disabled' : '')
7493
7559
  }, React.createElement("div", {
7494
7560
  className: "event-detail__tier-name"
7495
- }, ticket.displayName || ticket.name), React.createElement("div", {
7561
+ }, ticket.displayName || ticket.name, ticket.descriptionRich && React.createElement("span", {
7562
+ "aria-hidden": true,
7563
+ className: "info-icon",
7564
+ onClick: descriptionTrigger === 'click' ? function () {
7565
+ return handleDescriptionToggle(ticket.id);
7566
+ } : undefined,
7567
+ onMouseEnter: descriptionTrigger === 'hover' ? function () {
7568
+ return setVisibleDescription(ticket.id);
7569
+ } : undefined,
7570
+ onMouseLeave: descriptionTrigger === 'hover' ? function () {
7571
+ return setVisibleDescription(null);
7572
+ } : undefined,
7573
+ style: {
7574
+ marginLeft: 8,
7575
+ cursor: 'pointer',
7576
+ display: "flex"
7577
+ }
7578
+ }, React.createElement(InfoIcon, null))), visibleDescription === ticket.id && React.createElement("div", {
7579
+ className: "ticket-description"
7580
+ }, React.createElement("div", {
7581
+ dangerouslySetInnerHTML: {
7582
+ __html: decodeHTML(ticket.descriptionRich)
7583
+ }
7584
+ })), React.createElement("div", {
7496
7585
  className: "event-tickets-container"
7497
7586
  }, React.createElement("div", {
7498
7587
  className: "event-detail__tier-price"