tf-checkout-react 1.4.26 → 1.5.0

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.
Files changed (76) hide show
  1. package/dist/api/index.d.ts +1 -0
  2. package/dist/api/preRegistrationComplete.d.ts +3 -0
  3. package/dist/components/billing-info-container/index.d.ts +1 -3
  4. package/dist/components/common/CopyField.d.ts +12 -0
  5. package/dist/components/common/CopyMessageModal.d.ts +7 -0
  6. package/dist/components/common/index.d.ts +1 -0
  7. package/dist/components/common/socials.d.ts +10 -0
  8. package/dist/components/confirmationContainer/index.d.ts +7 -7
  9. package/dist/components/confirmationContainer/social-buttons.d.ts +5 -2
  10. package/dist/components/forgotPasswordModal/index.d.ts +2 -3
  11. package/dist/components/loginForm/index.d.ts +1 -0
  12. package/dist/components/loginModal/index.d.ts +2 -3
  13. package/dist/components/preRegistration/FieldsSection.d.ts +13 -0
  14. package/dist/components/preRegistration/Influancers.d.ts +2 -0
  15. package/dist/components/preRegistration/PreRegistrationComplete.d.ts +5 -0
  16. package/dist/components/preRegistration/PreRegistrationInformations.d.ts +2 -0
  17. package/dist/components/preRegistration/Prewards.d.ts +2 -0
  18. package/dist/components/preRegistration/ShareOptions.d.ts +2 -0
  19. package/dist/components/preRegistration/constants.d.ts +2 -0
  20. package/dist/components/preRegistration/index.d.ts +17 -0
  21. package/dist/components/preRegistration/utils.d.ts +12 -0
  22. package/dist/components/ticketsContainer/TicketRow.d.ts +3 -2
  23. package/dist/components/ticketsContainer/utils.d.ts +9 -0
  24. package/dist/hooks/index.d.ts +1 -0
  25. package/dist/hooks/useEventListener.d.ts +1 -0
  26. package/dist/hooks/useLocalStorageListener.d.ts +1 -0
  27. package/dist/images/instagram.svg +5 -0
  28. package/dist/images/spotify.svg +6 -0
  29. package/dist/index.d.ts +4 -1
  30. package/dist/tf-checkout-react.cjs.development.js +1508 -157
  31. package/dist/tf-checkout-react.cjs.development.js.map +1 -1
  32. package/dist/tf-checkout-react.cjs.production.min.js +1 -1
  33. package/dist/tf-checkout-react.cjs.production.min.js.map +1 -1
  34. package/dist/tf-checkout-react.esm.js +1509 -157
  35. package/dist/tf-checkout-react.esm.js.map +1 -1
  36. package/dist/utils/isValidNumber.d.ts +1 -0
  37. package/package.json +1 -1
  38. package/src/api/index.ts +28 -0
  39. package/src/api/preRegistrationComplete.ts +37 -0
  40. package/src/assets/images/instagram.svg +5 -0
  41. package/src/assets/images/spotify.svg +6 -0
  42. package/src/components/billing-info-container/index.tsx +1 -7
  43. package/src/components/common/CopyField.tsx +53 -0
  44. package/src/components/common/CopyMessageModal.tsx +34 -0
  45. package/src/components/common/NativeSelectFeild/index.tsx +1 -1
  46. package/src/components/common/index.tsx +1 -0
  47. package/src/components/common/socials.tsx +33 -0
  48. package/src/components/confirmationContainer/config.ts +62 -55
  49. package/src/components/confirmationContainer/index.tsx +11 -31
  50. package/src/components/confirmationContainer/social-buttons.tsx +43 -20
  51. package/src/components/forgotPasswordModal/index.tsx +4 -4
  52. package/src/components/loginForm/index.tsx +4 -0
  53. package/src/components/loginModal/index.tsx +5 -4
  54. package/src/components/preRegistration/FieldsSection.tsx +142 -0
  55. package/src/components/preRegistration/Influancers.tsx +34 -0
  56. package/src/components/preRegistration/PreRegistrationComplete.tsx +164 -0
  57. package/src/components/preRegistration/PreRegistrationInformations.tsx +54 -0
  58. package/src/components/preRegistration/Prewards.tsx +41 -0
  59. package/src/components/preRegistration/ShareOptions.tsx +77 -0
  60. package/src/components/preRegistration/constants.tsx +161 -0
  61. package/src/components/preRegistration/index.tsx +274 -0
  62. package/src/components/preRegistration/utils.ts +155 -0
  63. package/src/components/ticketsContainer/ReferralLogic.tsx +1 -1
  64. package/src/components/ticketsContainer/TicketRow.tsx +17 -14
  65. package/src/components/ticketsContainer/TicketsSection.tsx +2 -0
  66. package/src/components/ticketsContainer/index.tsx +77 -8
  67. package/src/components/ticketsContainer/utils.ts +30 -6
  68. package/src/hooks/index.ts +1 -0
  69. package/src/hooks/useEventListener.ts +32 -0
  70. package/src/hooks/useLocalStorageListener.ts +27 -0
  71. package/src/index.ts +6 -2
  72. package/src/types/api/preRegistration.d.ts +11 -0
  73. package/src/types/api/preRegistrationComplete.d.ts +95 -0
  74. package/src/types/pre-registration-complete.d.ts +42 -0
  75. package/src/utils/cookies.ts +7 -7
  76. package/src/utils/isValidNumber.ts +8 -0
@@ -60,8 +60,8 @@ var privateTheming = require('@mui/private-theming');
60
60
  var jwt_decode = _interopDefault(require('jwt-decode'));
61
61
  var _filter = _interopDefault(require('lodash/filter'));
62
62
  var _some = _interopDefault(require('lodash/some'));
63
- var Button$1 = _interopDefault(require('react-bootstrap/Button'));
64
63
  var moment = _interopDefault(require('moment-timezone'));
64
+ var Button$1 = _interopDefault(require('react-bootstrap/Button'));
65
65
  var _sortBy = _interopDefault(require('lodash/sortBy'));
66
66
  var Autocomplete = _interopDefault(require('@mui/material/Autocomplete'));
67
67
  var Paper = _interopDefault(require('@mui/material/Paper'));
@@ -84,6 +84,8 @@ var SeatMapView = _interopDefault(require('tf-seat-map-view'));
84
84
  var InputLabel = _interopDefault(require('@mui/material/InputLabel'));
85
85
  var Tooltip = _interopDefault(require('@mui/material/Tooltip'));
86
86
  var reactBootstrap = require('react-bootstrap');
87
+ var _split = _interopDefault(require('lodash/split'));
88
+ var _slice = _interopDefault(require('lodash/slice'));
87
89
 
88
90
  function _regeneratorRuntime() {
89
91
  _regeneratorRuntime = function () {
@@ -553,7 +555,7 @@ function setCustomCookie(name, value, days) {
553
555
  }
554
556
  if (typeof window !== 'undefined') {
555
557
  var domain = getDomain(window.location.hostname);
556
- document.cookie = name + '=' + (value || '') + expires + '; path=/' + ("; domain=" + domain);
558
+ document.cookie = name + '=' + (value || '') + expires + ("; path=/; domain=" + domain);
557
559
  }
558
560
  }
559
561
  function getCookieByName(cname) {
@@ -562,10 +564,10 @@ function getCookieByName(cname) {
562
564
  var ca = document.cookie.split(';');
563
565
  for (var i = 0; i < ca.length; i++) {
564
566
  var c = ca[i];
565
- while (c.charAt(0) == ' ') {
567
+ while (c.charAt(0) === ' ') {
566
568
  c = c.substring(1);
567
569
  }
568
- if (c.indexOf(name) == 0) {
570
+ if (c.indexOf(name) === 0) {
569
571
  return c.substring(name.length, c.length);
570
572
  }
571
573
  }
@@ -1587,70 +1589,79 @@ var getCheckoutPageConfigs = /*#__PURE__*/function () {
1587
1589
  return _ref2.apply(this, arguments);
1588
1590
  };
1589
1591
  }();
1590
- var getSeatMapData = /*#__PURE__*/function () {
1591
- var _ref3 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(eventId) {
1592
- var reservedSeatsHash, params, response;
1592
+ var confirmPreRegistration = /*#__PURE__*/function () {
1593
+ var _ref3 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(eventId, data) {
1594
+ var response;
1593
1595
  return _regeneratorRuntime().wrap(function _callee3$(_context3) {
1594
1596
  while (1) switch (_context3.prev = _context3.next) {
1595
1597
  case 0:
1596
- localStorage.setItem('tierId', '');
1597
- reservedSeatsHash = getQueryVariable('reserved_seats_hash');
1598
- params = {};
1599
- if (reservedSeatsHash) {
1600
- params.reserved_seats_hash = reservedSeatsHash;
1601
- }
1602
- _context3.next = 6;
1603
- return publicRequest.get("v1/event/" + eventId + "/seat-map-data", {
1604
- params: params
1598
+ _context3.next = 2;
1599
+ return publicRequest.post("v1/event/" + eventId + "/pre-registration/confirm", {
1600
+ data: {
1601
+ attributes: data
1602
+ }
1605
1603
  });
1606
- case 6:
1604
+ case 2:
1607
1605
  response = _context3.sent;
1608
1606
  return _context3.abrupt("return", response.data);
1609
- case 8:
1607
+ case 4:
1610
1608
  case "end":
1611
1609
  return _context3.stop();
1612
1610
  }
1613
1611
  }, _callee3);
1614
1612
  }));
1615
- return function getSeatMapData(_x2) {
1613
+ return function confirmPreRegistration(_x2, _x3) {
1616
1614
  return _ref3.apply(this, arguments);
1617
1615
  };
1618
1616
  }();
1619
- var getSeatMapStatuses = /*#__PURE__*/function () {
1617
+ // seat map <--start-->
1618
+ // const makeId = (length = 20) => {
1619
+ // let result = ''
1620
+ // const characters =
1621
+ // 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'
1622
+ // const charactersLength = characters.length
1623
+ // for (let i = 0; i < length; i++) {
1624
+ // result += characters.charAt(Math.floor(Math.random() * charactersLength))
1625
+ // }
1626
+ // return result
1627
+ // }
1628
+ var getSeatMapData = /*#__PURE__*/function () {
1620
1629
  var _ref4 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(eventId) {
1621
- var response;
1630
+ var reservedSeatsHash, params, response;
1622
1631
  return _regeneratorRuntime().wrap(function _callee4$(_context4) {
1623
1632
  while (1) switch (_context4.prev = _context4.next) {
1624
1633
  case 0:
1625
- _context4.next = 2;
1626
- return publicRequest.get("v1/event/" + eventId + "/seats/status");
1627
- case 2:
1634
+ localStorage.setItem('tierId', '');
1635
+ reservedSeatsHash = getQueryVariable('reserved_seats_hash');
1636
+ params = {};
1637
+ if (reservedSeatsHash) {
1638
+ params.reserved_seats_hash = reservedSeatsHash;
1639
+ }
1640
+ _context4.next = 6;
1641
+ return publicRequest.get("v1/event/" + eventId + "/seat-map-data", {
1642
+ params: params
1643
+ });
1644
+ case 6:
1628
1645
  response = _context4.sent;
1629
1646
  return _context4.abrupt("return", response.data);
1630
- case 4:
1647
+ case 8:
1631
1648
  case "end":
1632
1649
  return _context4.stop();
1633
1650
  }
1634
1651
  }, _callee4);
1635
1652
  }));
1636
- return function getSeatMapStatuses(_x3) {
1653
+ return function getSeatMapData(_x4) {
1637
1654
  return _ref4.apply(this, arguments);
1638
1655
  };
1639
1656
  }();
1640
- var reserveSeat = /*#__PURE__*/function () {
1641
- var _ref5 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(eventId, tierId, seatId) {
1657
+ var getSeatMapStatuses = /*#__PURE__*/function () {
1658
+ var _ref5 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(eventId) {
1642
1659
  var response;
1643
1660
  return _regeneratorRuntime().wrap(function _callee5$(_context5) {
1644
1661
  while (1) switch (_context5.prev = _context5.next) {
1645
1662
  case 0:
1646
1663
  _context5.next = 2;
1647
- return publicRequest.post("v1/event/" + eventId + "/seats/reserve", {
1648
- data: {
1649
- tierId: tierId,
1650
- seatId: seatId,
1651
- ttl: 10
1652
- }
1653
- });
1664
+ return publicRequest.get("v1/event/" + eventId + "/seats/status");
1654
1665
  case 2:
1655
1666
  response = _context5.sent;
1656
1667
  return _context5.abrupt("return", response.data);
@@ -1660,21 +1671,22 @@ var reserveSeat = /*#__PURE__*/function () {
1660
1671
  }
1661
1672
  }, _callee5);
1662
1673
  }));
1663
- return function reserveSeat(_x4, _x5, _x6) {
1674
+ return function getSeatMapStatuses(_x5) {
1664
1675
  return _ref5.apply(this, arguments);
1665
1676
  };
1666
1677
  }();
1667
- var removeSeatReserve = /*#__PURE__*/function () {
1668
- var _ref6 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6(eventId, tierId, seatIds) {
1678
+ var reserveSeat = /*#__PURE__*/function () {
1679
+ var _ref6 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6(eventId, tierId, seatId) {
1669
1680
  var response;
1670
1681
  return _regeneratorRuntime().wrap(function _callee6$(_context6) {
1671
1682
  while (1) switch (_context6.prev = _context6.next) {
1672
1683
  case 0:
1673
1684
  _context6.next = 2;
1674
- return publicRequest["delete"]("v1/event/" + eventId + "/seats/delete-reserved", {
1685
+ return publicRequest.post("v1/event/" + eventId + "/seats/reserve", {
1675
1686
  data: {
1676
1687
  tierId: tierId,
1677
- seatIds: seatIds
1688
+ seatId: seatId,
1689
+ ttl: 10
1678
1690
  }
1679
1691
  });
1680
1692
  case 2:
@@ -1686,30 +1698,23 @@ var removeSeatReserve = /*#__PURE__*/function () {
1686
1698
  }
1687
1699
  }, _callee6);
1688
1700
  }));
1689
- return function removeSeatReserve(_x7, _x8, _x9) {
1701
+ return function reserveSeat(_x6, _x7, _x8) {
1690
1702
  return _ref6.apply(this, arguments);
1691
1703
  };
1692
1704
  }();
1693
- // seat map <--end-->
1694
- function getPixelScript(id, pageOptions) {
1695
- var response = publicRequest.get("v1/event/" + id + "/track", {
1696
- params: {
1697
- page_url: pageOptions.pageUrl,
1698
- page: pageOptions.page,
1699
- order_hash: pageOptions.orderHash
1700
- }
1701
- });
1702
- return response;
1703
- }
1704
- // ID Verification
1705
- var getNetverifyUrl = /*#__PURE__*/function () {
1706
- var _ref7 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7() {
1705
+ var removeSeatReserve = /*#__PURE__*/function () {
1706
+ var _ref7 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7(eventId, tierId, seatIds) {
1707
1707
  var response;
1708
1708
  return _regeneratorRuntime().wrap(function _callee7$(_context7) {
1709
1709
  while (1) switch (_context7.prev = _context7.next) {
1710
1710
  case 0:
1711
1711
  _context7.next = 2;
1712
- return publicRequest.get('v1/authenticate/verify');
1712
+ return publicRequest["delete"]("v1/event/" + eventId + "/seats/delete-reserved", {
1713
+ data: {
1714
+ tierId: tierId,
1715
+ seatIds: seatIds
1716
+ }
1717
+ });
1713
1718
  case 2:
1714
1719
  response = _context7.sent;
1715
1720
  return _context7.abrupt("return", response.data);
@@ -1719,18 +1724,30 @@ var getNetverifyUrl = /*#__PURE__*/function () {
1719
1724
  }
1720
1725
  }, _callee7);
1721
1726
  }));
1722
- return function getNetverifyUrl() {
1727
+ return function removeSeatReserve(_x9, _x10, _x11) {
1723
1728
  return _ref7.apply(this, arguments);
1724
1729
  };
1725
1730
  }();
1726
- var checkVerificationStatus = /*#__PURE__*/function () {
1731
+ // seat map <--end-->
1732
+ function getPixelScript(id, pageOptions) {
1733
+ var response = publicRequest.get("v1/event/" + id + "/track", {
1734
+ params: {
1735
+ page_url: pageOptions.pageUrl,
1736
+ page: pageOptions.page,
1737
+ order_hash: pageOptions.orderHash
1738
+ }
1739
+ });
1740
+ return response;
1741
+ }
1742
+ // ID Verification
1743
+ var getNetverifyUrl = /*#__PURE__*/function () {
1727
1744
  var _ref8 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee8() {
1728
1745
  var response;
1729
1746
  return _regeneratorRuntime().wrap(function _callee8$(_context8) {
1730
1747
  while (1) switch (_context8.prev = _context8.next) {
1731
1748
  case 0:
1732
1749
  _context8.next = 2;
1733
- return publicRequest.get('v1/authenticate/get-verification-info');
1750
+ return publicRequest.get('v1/authenticate/verify');
1734
1751
  case 2:
1735
1752
  response = _context8.sent;
1736
1753
  return _context8.abrupt("return", response.data);
@@ -1740,26 +1757,18 @@ var checkVerificationStatus = /*#__PURE__*/function () {
1740
1757
  }
1741
1758
  }, _callee8);
1742
1759
  }));
1743
- return function checkVerificationStatus() {
1760
+ return function getNetverifyUrl() {
1744
1761
  return _ref8.apply(this, arguments);
1745
1762
  };
1746
1763
  }();
1747
- var updateVerificationStatus = /*#__PURE__*/function () {
1764
+ var checkVerificationStatus = /*#__PURE__*/function () {
1748
1765
  var _ref9 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee9() {
1749
1766
  var response;
1750
1767
  return _regeneratorRuntime().wrap(function _callee9$(_context9) {
1751
1768
  while (1) switch (_context9.prev = _context9.next) {
1752
1769
  case 0:
1753
1770
  _context9.next = 2;
1754
- return publicRequest.patch('v1/authenticate/verify', {
1755
- data: {
1756
- attributes: {
1757
- verification: {
1758
- verificationStatus: 'PENDING'
1759
- }
1760
- }
1761
- }
1762
- });
1771
+ return publicRequest.get('v1/authenticate/get-verification-info');
1763
1772
  case 2:
1764
1773
  response = _context9.sent;
1765
1774
  return _context9.abrupt("return", response.data);
@@ -1769,18 +1778,26 @@ var updateVerificationStatus = /*#__PURE__*/function () {
1769
1778
  }
1770
1779
  }, _callee9);
1771
1780
  }));
1772
- return function updateVerificationStatus() {
1781
+ return function checkVerificationStatus() {
1773
1782
  return _ref9.apply(this, arguments);
1774
1783
  };
1775
1784
  }();
1776
- var checkCustomerOrder = /*#__PURE__*/function () {
1777
- var _ref10 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee10(orderHash) {
1785
+ var updateVerificationStatus = /*#__PURE__*/function () {
1786
+ var _ref10 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee10() {
1778
1787
  var response;
1779
1788
  return _regeneratorRuntime().wrap(function _callee10$(_context10) {
1780
1789
  while (1) switch (_context10.prev = _context10.next) {
1781
1790
  case 0:
1782
1791
  _context10.next = 2;
1783
- return publicRequest.get("v1/order/" + orderHash + "/verify-customer-order");
1792
+ return publicRequest.patch('v1/authenticate/verify', {
1793
+ data: {
1794
+ attributes: {
1795
+ verification: {
1796
+ verificationStatus: 'PENDING'
1797
+ }
1798
+ }
1799
+ }
1800
+ });
1784
1801
  case 2:
1785
1802
  response = _context10.sent;
1786
1803
  return _context10.abrupt("return", response.data);
@@ -1790,33 +1807,54 @@ var checkCustomerOrder = /*#__PURE__*/function () {
1790
1807
  }
1791
1808
  }, _callee10);
1792
1809
  }));
1793
- return function checkCustomerOrder(_x10) {
1810
+ return function updateVerificationStatus() {
1794
1811
  return _ref10.apply(this, arguments);
1795
1812
  };
1796
1813
  }();
1797
- var refreshSeatReservation = /*#__PURE__*/function () {
1798
- var _ref11 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee11(eventId, orderId) {
1814
+ var checkCustomerOrder = /*#__PURE__*/function () {
1815
+ var _ref11 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee11(orderHash) {
1799
1816
  var response;
1800
1817
  return _regeneratorRuntime().wrap(function _callee11$(_context11) {
1801
1818
  while (1) switch (_context11.prev = _context11.next) {
1802
1819
  case 0:
1803
1820
  _context11.next = 2;
1804
- return publicRequest.patch("event/" + eventId + "/reservation/refresh/", {
1805
- order_id: orderId
1806
- });
1821
+ return publicRequest.get("v1/order/" + orderHash + "/verify-customer-order");
1807
1822
  case 2:
1808
1823
  response = _context11.sent;
1809
- return _context11.abrupt("return", response);
1824
+ return _context11.abrupt("return", response.data);
1810
1825
  case 4:
1811
1826
  case "end":
1812
1827
  return _context11.stop();
1813
1828
  }
1814
1829
  }, _callee11);
1815
1830
  }));
1816
- return function refreshSeatReservation(_x11, _x12) {
1831
+ return function checkCustomerOrder(_x12) {
1817
1832
  return _ref11.apply(this, arguments);
1818
1833
  };
1819
1834
  }();
1835
+ var refreshSeatReservation = /*#__PURE__*/function () {
1836
+ var _ref12 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee12(eventId, orderId) {
1837
+ var response;
1838
+ return _regeneratorRuntime().wrap(function _callee12$(_context12) {
1839
+ while (1) switch (_context12.prev = _context12.next) {
1840
+ case 0:
1841
+ _context12.next = 2;
1842
+ return publicRequest.patch("event/" + eventId + "/reservation/refresh/", {
1843
+ order_id: orderId
1844
+ });
1845
+ case 2:
1846
+ response = _context12.sent;
1847
+ return _context12.abrupt("return", response);
1848
+ case 4:
1849
+ case "end":
1850
+ return _context12.stop();
1851
+ }
1852
+ }, _callee12);
1853
+ }));
1854
+ return function refreshSeatReservation(_x13, _x14) {
1855
+ return _ref12.apply(this, arguments);
1856
+ };
1857
+ }();
1820
1858
 
1821
1859
  function appendScriptsToHeader(code) {
1822
1860
  if (isBrowser && code) {
@@ -2116,8 +2154,8 @@ var Schema = /*#__PURE__*/Yup.object().shape({
2116
2154
  var ForgotPasswordModal = function ForgotPasswordModal(_ref) {
2117
2155
  var _ref$onClose = _ref.onClose,
2118
2156
  onClose = _ref$onClose === void 0 ? function () {} : _ref$onClose,
2119
- _ref$onLogin = _ref.onLogin,
2120
- onLogin = _ref$onLogin === void 0 ? function () {} : _ref$onLogin,
2157
+ _ref$onLoginButtonCli = _ref.onLoginButtonClick,
2158
+ onLoginButtonClick = _ref$onLoginButtonCli === void 0 ? function () {} : _ref$onLoginButtonCli,
2121
2159
  _ref$onForgotPassword = _ref.onForgotPasswordSuccess,
2122
2160
  onForgotPasswordSuccess = _ref$onForgotPassword === void 0 ? function () {} : _ref$onForgotPassword,
2123
2161
  _ref$onForgotPassword2 = _ref.onForgotPasswordError,
@@ -2206,7 +2244,7 @@ var ForgotPasswordModal = function ForgotPasswordModal(_ref) {
2206
2244
  }) : 'Submit')), React__default.createElement("div", {
2207
2245
  className: "login"
2208
2246
  }, React__default.createElement("span", {
2209
- onClick: onLogin
2247
+ onClick: onLoginButtonClick
2210
2248
  }, "Back to Log In")), showPoweredByImage ? React__default.createElement(PoweredBy, null) : null);
2211
2249
  }))));
2212
2250
  };
@@ -2336,7 +2374,7 @@ var LoginModal = function LoginModal(_ref) {
2336
2374
  },
2337
2375
  onSubmit: function () {
2338
2376
  var _onSubmit = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref2) {
2339
- var email, password, body, profileResponse, profileSpecifiedData, profileDataObj, event, _e$response, _e$response$data, _error;
2377
+ var email, password, body, authRes, profileResponse, profileSpecifiedData, profileDataObj, event, _e$response, _e$response$data, _error;
2340
2378
  return _regeneratorRuntime().wrap(function _callee$(_context) {
2341
2379
  while (1) switch (_context.prev = _context.next) {
2342
2380
  case 0:
@@ -2349,23 +2387,24 @@ var LoginModal = function LoginModal(_ref) {
2349
2387
  _context.next = 5;
2350
2388
  return authorize(body);
2351
2389
  case 5:
2390
+ authRes = _context.sent;
2352
2391
  profileResponse = null;
2353
- _context.prev = 6;
2354
- _context.next = 9;
2392
+ _context.prev = 7;
2393
+ _context.next = 10;
2355
2394
  return getProfileData();
2356
- case 9:
2395
+ case 10:
2357
2396
  profileResponse = _context.sent;
2358
2397
  onGetProfileDataSuccess(profileResponse.data);
2359
- _context.next = 17;
2398
+ _context.next = 18;
2360
2399
  break;
2361
- case 13:
2362
- _context.prev = 13;
2363
- _context.t0 = _context["catch"](6);
2400
+ case 14:
2401
+ _context.prev = 14;
2402
+ _context.t0 = _context["catch"](7);
2364
2403
  if (axios.isAxiosError(_context.t0)) {
2365
2404
  onGetProfileDataError(_context.t0);
2366
2405
  }
2367
2406
  return _context.abrupt("return");
2368
- case 17:
2407
+ case 18:
2369
2408
  profileSpecifiedData = profileResponse.data;
2370
2409
  profileDataObj = setLoggedUserData(profileSpecifiedData);
2371
2410
  if (isBrowser) {
@@ -2373,11 +2412,11 @@ var LoginModal = function LoginModal(_ref) {
2373
2412
  event = new window.CustomEvent('tf-login');
2374
2413
  window.document.dispatchEvent(event);
2375
2414
  }
2376
- onLogin();
2377
- _context.next = 26;
2415
+ onLogin(_get(authRes, 'data.data'));
2416
+ _context.next = 27;
2378
2417
  break;
2379
- case 23:
2380
- _context.prev = 23;
2418
+ case 24:
2419
+ _context.prev = 24;
2381
2420
  _context.t1 = _context["catch"](1);
2382
2421
  if (axios.isAxiosError(_context.t1)) {
2383
2422
  _error = (_context.t1 == null ? void 0 : (_e$response = _context.t1.response) == null ? void 0 : (_e$response$data = _e$response.data) == null ? void 0 : _e$response$data.message) || 'Error';
@@ -2385,11 +2424,11 @@ var LoginModal = function LoginModal(_ref) {
2385
2424
  } else if (_context.t1 instanceof Error) {
2386
2425
  setError((_context.t1 == null ? void 0 : _context.t1.message) || 'Error');
2387
2426
  }
2388
- case 26:
2427
+ case 27:
2389
2428
  case "end":
2390
2429
  return _context.stop();
2391
2430
  }
2392
- }, _callee, null, [[1, 23], [6, 13]]);
2431
+ }, _callee, null, [[1, 24], [7, 14]]);
2393
2432
  }));
2394
2433
  function onSubmit(_x) {
2395
2434
  return _onSubmit.apply(this, arguments);
@@ -2893,6 +2932,29 @@ function SelectField(_ref) {
2893
2932
  }, error) : null));
2894
2933
  }
2895
2934
 
2935
+ var CopyMessageModal = function CopyMessageModal(props) {
2936
+ var _props$showCopyModal = props.showCopyModal,
2937
+ showCopyModal = _props$showCopyModal === void 0 ? false : _props$showCopyModal,
2938
+ onClose = props.onClose;
2939
+ return React__default.createElement(Modal$1, {
2940
+ open: showCopyModal,
2941
+ onClose: onClose,
2942
+ "aria-labelledby": "modal-modal-title",
2943
+ "aria-describedby": "modal-modal-description",
2944
+ className: "success-copy-modal"
2945
+ }, React__default.createElement("div", {
2946
+ className: "message-copy-success-box"
2947
+ }, React__default.createElement("div", {
2948
+ className: "message-copy-success"
2949
+ }, React__default.createElement("span", null, "Copied to your clipboard! Now paste your link in a Snapchat message,"), React__default.createElement("span", null, "your Instagram bio, Whatsapp, Facebook or a text :)")), React__default.createElement("div", {
2950
+ className: "footer"
2951
+ }, React__default.createElement("button", {
2952
+ className: "footer-button",
2953
+ type: "button",
2954
+ onClick: onClose
2955
+ }, "OK"))));
2956
+ };
2957
+
2896
2958
  var DATE_SIZE = 32;
2897
2959
  var compactStyles = {
2898
2960
  '& > div': {
@@ -3016,7 +3078,7 @@ var NativeSelectField = function NativeSelectField(_ref) {
3016
3078
  id: field.name
3017
3079
  },
3018
3080
  "native": true,
3019
- className: theme,
3081
+ className: "Mui-Select " + theme,
3020
3082
  MenuProps: {
3021
3083
  className: theme
3022
3084
  }
@@ -3416,10 +3478,6 @@ var BillingInfoContainer = /*#__PURE__*/React__default.memo(function (_ref4) {
3416
3478
  _onGetProfileDataSuccess = _ref4$onGetProfileDat === void 0 ? _identity : _ref4$onGetProfileDat,
3417
3479
  _ref4$onGetProfileDat2 = _ref4.onGetProfileDataError,
3418
3480
  onGetProfileDataError = _ref4$onGetProfileDat2 === void 0 ? _identity : _ref4$onGetProfileDat2,
3419
- _ref4$onAuthorizeSucc = _ref4.onAuthorizeSuccess,
3420
- onAuthorizeSuccess = _ref4$onAuthorizeSucc === void 0 ? _identity : _ref4$onAuthorizeSucc,
3421
- _ref4$onAuthorizeErro = _ref4.onAuthorizeError,
3422
- onAuthorizeError = _ref4$onAuthorizeErro === void 0 ? _identity : _ref4$onAuthorizeErro,
3423
3481
  onLogin = _ref4.onLogin,
3424
3482
  _ref4$onLoginSuccess = _ref4.onLoginSuccess,
3425
3483
  onLoginSuccess = _ref4$onLoginSuccess === void 0 ? _identity : _ref4$onLoginSuccess,
@@ -4239,8 +4297,6 @@ var BillingInfoContainer = /*#__PURE__*/React__default.memo(function (_ref4) {
4239
4297
  },
4240
4298
  alreadyHasUser: alreadyHasUser,
4241
4299
  userExpired: userExpired,
4242
- onAuthorizeSuccess: onAuthorizeSuccess,
4243
- onAuthorizeError: onAuthorizeError,
4244
4300
  onGetProfileDataSuccess: function onGetProfileDataSuccess(data) {
4245
4301
  fetchCart();
4246
4302
  _onGetProfileDataSuccess(data);
@@ -4272,7 +4328,7 @@ var BillingInfoContainer = /*#__PURE__*/React__default.memo(function (_ref4) {
4272
4328
  onClose: function onClose() {
4273
4329
  setShowModalForgotPassword(false);
4274
4330
  },
4275
- onLogin: function onLogin() {
4331
+ onLoginButtonClick: function onLoginButtonClick() {
4276
4332
  setShowModalForgotPassword(false);
4277
4333
  setShowModalLogin(true);
4278
4334
  },
@@ -5190,6 +5246,48 @@ var PaymentContainer = function PaymentContainer(_ref) {
5190
5246
  }) : isFreeTickets ? 'Complete Registration' : 'Confirm Payment Plan')))));
5191
5247
  };
5192
5248
 
5249
+ var isValidNumber = function isValidNumber(value) {
5250
+ if (isNaN(Number(value))) {
5251
+ return false;
5252
+ }
5253
+ return _isNumber(Number(value));
5254
+ };
5255
+
5256
+ var getImage = function getImage(name) {
5257
+ if (name === void 0) {
5258
+ name = '';
5259
+ }
5260
+ var image = '';
5261
+ if (!name.trim().length) {
5262
+ return image;
5263
+ }
5264
+ return image;
5265
+ };
5266
+
5267
+ var SpotifyIcon = function SpotifyIcon() {
5268
+ return React__default.createElement(SVG, {
5269
+ src: getImage('spotify.svg')
5270
+ });
5271
+ };
5272
+ var InstagramIcon = function InstagramIcon() {
5273
+ return React__default.createElement(SVG, {
5274
+ src: getImage('instagram.svg')
5275
+ });
5276
+ };
5277
+ var SocialButton = function SocialButton(props) {
5278
+ var children = props.children,
5279
+ url = props.url,
5280
+ disabled = props.disabled;
5281
+ var handleClick = function handleClick() {
5282
+ window.open(url);
5283
+ };
5284
+ return React__default.createElement("button", {
5285
+ className: "react-share__ShareButton " + (disabled ? 'disabled-action' : ''),
5286
+ type: "button",
5287
+ onClick: !disabled ? handleClick : _identity
5288
+ }, children);
5289
+ };
5290
+
5193
5291
  var config = {
5194
5292
  facebook: {
5195
5293
  component: reactShare.FacebookShareButton,
@@ -5274,6 +5372,14 @@ var config = {
5274
5372
  hatena: {
5275
5373
  component: reactShare.HatenaShareButton,
5276
5374
  icon: reactShare.HatenaIcon
5375
+ },
5376
+ instagram: {
5377
+ component: SocialButton,
5378
+ icon: InstagramIcon
5379
+ },
5380
+ spotify: {
5381
+ component: SocialButton,
5382
+ icon: SpotifyIcon
5277
5383
  }
5278
5384
  };
5279
5385
  function config$1 (key) {
@@ -5285,11 +5391,20 @@ var SocialComponent = function SocialComponent(_ref) {
5285
5391
  var mainLabel = _ref.mainLabel,
5286
5392
  subLabel = _ref.subLabel,
5287
5393
  platform = _ref.platform,
5288
- shareData = _ref.shareData;
5394
+ shareData = _ref.shareData,
5395
+ points = _ref.points,
5396
+ onAfterShare = _ref.onAfterShare,
5397
+ alreadyApplied = _ref.alreadyApplied,
5398
+ oneTimeAction = _ref.oneTimeAction;
5289
5399
  var Component = (_config = config$1(platform)) == null ? void 0 : _config.component;
5290
5400
  var Icon = (_config2 = config$1(platform)) == null ? void 0 : _config2.icon;
5291
- return React__default.createElement(React__default.Fragment, null, Component && React__default.createElement(Component, Object.assign({}, shareData), React__default.createElement("div", {
5292
- className: "social-media-sharing"
5401
+ var isActionDisabled = alreadyApplied && oneTimeAction;
5402
+ return React__default.createElement(React__default.Fragment, null, Component && React__default.createElement(Component, Object.assign({}, shareData, {
5403
+ disabled: isActionDisabled
5404
+ }), React__default.createElement("div", {
5405
+ onKeyDown: _identity,
5406
+ onClick: !isActionDisabled ? onAfterShare : _identity,
5407
+ className: "social-media-sharing " + platform
5293
5408
  }, React__default.createElement("div", {
5294
5409
  className: "share-icon"
5295
5410
  }, React__default.createElement(Icon, {
@@ -5297,7 +5412,17 @@ var SocialComponent = function SocialComponent(_ref) {
5297
5412
  round: true
5298
5413
  })), React__default.createElement("span", {
5299
5414
  className: "share-text"
5300
- }, mainLabel, React__default.createElement("br", null), " ", subLabel))));
5415
+ }, React__default.createElement("span", {
5416
+ className: "main-label"
5417
+ }, mainLabel, " "), React__default.createElement("span", {
5418
+ className: "sub-label"
5419
+ }, subLabel)), isValidNumber(points) && React__default.createElement("div", {
5420
+ className: "share-points"
5421
+ }, React__default.createElement("span", {
5422
+ className: "points-count"
5423
+ }, points), React__default.createElement("span", {
5424
+ className: "points-text"
5425
+ }, "Points")))));
5301
5426
  };
5302
5427
  var SocialButtons = function SocialButtons(_ref2) {
5303
5428
  var showDefaultShareButtons = _ref2.showDefaultShareButtons,
@@ -5305,11 +5430,18 @@ var SocialButtons = function SocialButtons(_ref2) {
5305
5430
  name = _ref2.name,
5306
5431
  appId = _ref2.appId,
5307
5432
  shareButtons = _ref2.shareButtons,
5433
+ _ref2$titleText = _ref2.titleText,
5434
+ titleText = _ref2$titleText === void 0 ? 'or use one of these convenient buttons:' : _ref2$titleText,
5435
+ _ref2$footerText = _ref2.footerText,
5436
+ footerText = _ref2$footerText === void 0 ? React__default.createElement("p", null, "We ", React__default.createElement("strong", null, "never"), " post on Facebook without your permission!") : _ref2$footerText,
5308
5437
  clientLabel = _ref2.clientLabel,
5309
- showReferralsInfoText = _ref2.showReferralsInfoText;
5310
- return React__default.createElement(React__default.Fragment, null, React__default.createElement("div", {
5438
+ _ref2$onAfterShare = _ref2.onAfterShare,
5439
+ _onAfterShare = _ref2$onAfterShare === void 0 ? _identity : _ref2$onAfterShare,
5440
+ _ref2$showReferralsIn = _ref2.showReferralsInfoText,
5441
+ showReferralsInfoText = _ref2$showReferralsIn === void 0 ? false : _ref2$showReferralsIn;
5442
+ return React__default.createElement(React__default.Fragment, null, titleText && React__default.createElement("div", {
5311
5443
  className: "convenient_buttons"
5312
- }, "or use one of these convenient buttons:"), React__default.createElement("div", {
5444
+ }, titleText), React__default.createElement("div", {
5313
5445
  className: "social-media-btns"
5314
5446
  }, showDefaultShareButtons && React__default.createElement(React__default.Fragment, null, React__default.createElement(SocialComponent, {
5315
5447
  mainLabel: "Share on",
@@ -5345,9 +5477,12 @@ var SocialButtons = function SocialButtons(_ref2) {
5345
5477
  }
5346
5478
  })), shareButtons.map(function (shareButton, index) {
5347
5479
  return React__default.createElement(SocialComponent, Object.assign({
5480
+ onAfterShare: function onAfterShare() {
5481
+ return _onAfterShare(shareButton.eventActionId);
5482
+ },
5348
5483
  key: index
5349
5484
  }, shareButton));
5350
- })), (showDefaultShareButtons || shareButtons.length) && React__default.createElement("p", null, "We ", React__default.createElement("strong", null, "never"), " post on Facebook without your permission!"), (showReferralsInfoText || Boolean(clientLabel)) && React__default.createElement("p", {
5485
+ })), showDefaultShareButtons || shareButtons.length ? footerText : null, (showReferralsInfoText || Boolean(clientLabel)) && React__default.createElement("p", {
5351
5486
  className: "note-message"
5352
5487
  }, React__default.createElement("span", null, "*Please note, only purchases made from a different", ' ', clientLabel || 'Ticket Fairy', " account can count towards your referrals"), React__default.createElement("span", null, ' ', "so please make sure you ask your friends to buy their own tickets using their own ", clientLabel || 'Ticket Fairy', " account!")));
5353
5488
  };
@@ -5427,7 +5562,7 @@ var ConfirmationContainer = function ConfirmationContainer(_ref) {
5427
5562
  case 12:
5428
5563
  _context.prev = 12;
5429
5564
  _context.t0 = _context["catch"](1);
5430
- onGetConfirmationDataError(_context.t0.response);
5565
+ if (axios.isAxiosError(_context.t0)) onGetConfirmationDataError(_context.t0);
5431
5566
  case 15:
5432
5567
  case "end":
5433
5568
  return _context.stop();
@@ -5467,23 +5602,10 @@ var ConfirmationContainer = function ConfirmationContainer(_ref) {
5467
5602
  });
5468
5603
  return React__default.createElement("div", {
5469
5604
  className: "confirmation-page"
5470
- }, showCopyInfoModal && React__default.createElement(Modal$1, {
5471
- open: showCopyModal,
5605
+ }, showCopyInfoModal && React__default.createElement(CopyMessageModal, {
5472
5606
  onClose: onClose,
5473
- "aria-labelledby": "modal-modal-title",
5474
- "aria-describedby": "modal-modal-description",
5475
- className: "success-copy-modal"
5476
- }, React__default.createElement("div", {
5477
- className: "message-copy-success-box"
5478
- }, React__default.createElement("div", {
5479
- className: "message-copy-success"
5480
- }, React__default.createElement("span", null, "Copied to your clipboard! Now paste your link in a Snapchat message,"), React__default.createElement("span", null, "your Instagram bio, Whatsapp, Facebook or a text :)")), React__default.createElement("div", {
5481
- className: "footer"
5482
- }, React__default.createElement("button", {
5483
- className: "footer-button",
5484
- type: "button",
5485
- onClick: onClose
5486
- }, "OK")))), data && React__default.createElement(React__default.Fragment, null, React__default.createElement("div", {
5607
+ showCopyModal: showCopyModal
5608
+ }), data && React__default.createElement(React__default.Fragment, null, React__default.createElement("div", {
5487
5609
  className: "header-container"
5488
5610
  }, React__default.createElement("div", {
5489
5611
  className: "header-product-image"
@@ -5593,17 +5715,90 @@ var ConfirmationContainer = function ConfirmationContainer(_ref) {
5593
5715
  }, "^ This is based on the most expensive ticket in your order."))))));
5594
5716
  };
5595
5717
 
5596
- var X_TF_ECOMMERCE = 'X-TF-ECOMMERCE';
5597
-
5598
- var useCookieListener = function useCookieListener(key, handler) {
5599
- var getCookie = function getCookie() {
5600
- return getCookieByName(key);
5718
+ var getPreRegistrationInfluancers = /*#__PURE__*/function () {
5719
+ var _ref = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(data) {
5720
+ var response;
5721
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
5722
+ while (1) switch (_context.prev = _context.next) {
5723
+ case 0:
5724
+ _context.next = 2;
5725
+ return publicRequest.get("v1/event/" + data.eventId + "/pre-registration/influencers");
5726
+ case 2:
5727
+ response = _context.sent;
5728
+ return _context.abrupt("return", response.data);
5729
+ case 4:
5730
+ case "end":
5731
+ return _context.stop();
5732
+ }
5733
+ }, _callee);
5734
+ }));
5735
+ return function getPreRegistrationInfluancers(_x) {
5736
+ return _ref.apply(this, arguments);
5601
5737
  };
5602
- var _useState = React.useState(),
5603
- intervalValue = _useState[0],
5604
- setIntervalValue = _useState[1];
5605
- var cookieRef = React.useRef(getCookie());
5606
- var handleCookieChange = function handleCookieChange() {
5738
+ }();
5739
+ var getPreRegistrationShareOptions = /*#__PURE__*/function () {
5740
+ var _ref2 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(data) {
5741
+ var response;
5742
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
5743
+ while (1) switch (_context2.prev = _context2.next) {
5744
+ case 0:
5745
+ _context2.next = 2;
5746
+ return publicRequest.get("/v1/pre-registration/" + data.hash + "/confirmation-page");
5747
+ case 2:
5748
+ response = _context2.sent;
5749
+ return _context2.abrupt("return", response.data);
5750
+ case 4:
5751
+ case "end":
5752
+ return _context2.stop();
5753
+ }
5754
+ }, _callee2);
5755
+ }));
5756
+ return function getPreRegistrationShareOptions(_x2) {
5757
+ return _ref2.apply(this, arguments);
5758
+ };
5759
+ }();
5760
+ var submitShareAction = /*#__PURE__*/function () {
5761
+ var _ref3 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(data) {
5762
+ var eventActionId, accessToken, hash, response;
5763
+ return _regeneratorRuntime().wrap(function _callee3$(_context3) {
5764
+ while (1) switch (_context3.prev = _context3.next) {
5765
+ case 0:
5766
+ eventActionId = data.eventActionId, accessToken = data.accessToken, hash = data.hash;
5767
+ _context3.next = 3;
5768
+ return publicRequest.post("/v1/pre-registration/" + hash + "/submit-action", {
5769
+ data: {
5770
+ attributes: {
5771
+ phase: 'pre-registration',
5772
+ eventActionId: Number(eventActionId),
5773
+ accessToken: accessToken
5774
+ }
5775
+ }
5776
+ });
5777
+ case 3:
5778
+ response = _context3.sent;
5779
+ return _context3.abrupt("return", response.data);
5780
+ case 5:
5781
+ case "end":
5782
+ return _context3.stop();
5783
+ }
5784
+ }, _callee3);
5785
+ }));
5786
+ return function submitShareAction(_x3) {
5787
+ return _ref3.apply(this, arguments);
5788
+ };
5789
+ }();
5790
+
5791
+ var X_TF_ECOMMERCE = 'X-TF-ECOMMERCE';
5792
+
5793
+ var useCookieListener = function useCookieListener(key, handler) {
5794
+ var getCookie = function getCookie() {
5795
+ return getCookieByName(key);
5796
+ };
5797
+ var _useState = React.useState(),
5798
+ intervalValue = _useState[0],
5799
+ setIntervalValue = _useState[1];
5800
+ var cookieRef = React.useRef(getCookie());
5801
+ var handleCookieChange = function handleCookieChange() {
5607
5802
  var currentCookie = getCookie();
5608
5803
  var prevCookie = cookieRef.current;
5609
5804
  if (currentCookie !== prevCookie) {
@@ -5621,6 +5816,26 @@ var useCookieListener = function useCookieListener(key, handler) {
5621
5816
  }, []);
5622
5817
  };
5623
5818
 
5819
+ function useLocalStorageListener(key, callback) {
5820
+ var isWindowDefined = typeof window !== 'undefined';
5821
+ var _useState = React.useState(isWindowDefined ? localStorage.getItem(key) : ''),
5822
+ value = _useState[0],
5823
+ setValue = _useState[1];
5824
+ React.useEffect(function () {
5825
+ var intervalId = setInterval(function () {
5826
+ var newValue = localStorage.getItem(key);
5827
+ if (newValue !== value) {
5828
+ setValue(newValue);
5829
+ callback(JSON.parse(newValue || ''));
5830
+ }
5831
+ }, 100);
5832
+ return function () {
5833
+ clearInterval(intervalId);
5834
+ };
5835
+ }, [key, value, callback]);
5836
+ return value;
5837
+ }
5838
+
5624
5839
  var style$4 = {
5625
5840
  position: 'absolute',
5626
5841
  top: '50%',
@@ -5994,7 +6209,7 @@ var ReferralLogic = function ReferralLogic(props) {
5994
6209
  var isWindowDefined = typeof window !== 'undefined';
5995
6210
  if (isWindowDefined) {
5996
6211
  var params = new URL("" + window.location).searchParams;
5997
- var referralId = params.get('ttf_r') || '';
6212
+ var referralId = params.get('ttf_r') || params.get('referrer_id') || '';
5998
6213
  var referralValue = [eventId, '.', referralId].join('');
5999
6214
  var isAlreadyCounted = localStorage.getItem('referral_key') === referralValue;
6000
6215
  if (referralId && eventId && !isAlreadyCounted) {
@@ -6038,7 +6253,7 @@ var getTicketSelectOptions = function getTicketSelectOptions(maxCount, minCount,
6038
6253
  label: 0,
6039
6254
  value: 0
6040
6255
  }];
6041
- for (var i = minCount; i <= Math.min(50, maxCount); i += multiplier) {
6256
+ for (var i = minCount || 1; i <= Math.min(50, maxCount); i += multiplier) {
6042
6257
  options.push({
6043
6258
  label: i,
6044
6259
  value: i
@@ -6046,16 +6261,42 @@ var getTicketSelectOptions = function getTicketSelectOptions(maxCount, minCount,
6046
6261
  }
6047
6262
  return options;
6048
6263
  };
6264
+ var defineIsSalesClosed = function defineIsSalesClosed(eventDatesInfo) {
6265
+ var salesStarted = eventDatesInfo.salesStarted,
6266
+ salesEnded = eventDatesInfo.salesEnded,
6267
+ presalesStarted = eventDatesInfo.presalesStarted,
6268
+ presalesEnded = eventDatesInfo.presalesEnded,
6269
+ presalesEnabled = eventDatesInfo.presalesEnabled;
6270
+ var isSalesClosed = false;
6271
+ if (!salesStarted || salesStarted && salesEnded) {
6272
+ isSalesClosed = true;
6273
+ }
6274
+ if (presalesEnabled) {
6275
+ if (!presalesStarted && !presalesEnded || presalesStarted && presalesEnded && !salesStarted) {
6276
+ isSalesClosed = true;
6277
+ } else {
6278
+ isSalesClosed = false;
6279
+ }
6280
+ }
6281
+ return isSalesClosed;
6282
+ };
6049
6283
 
6050
6284
  var TicketRow = function TicketRow(_ref) {
6051
6285
  var ticketTier = _ref.ticketTier,
6052
6286
  prevTicketTier = _ref.prevTicketTier,
6053
6287
  selectedTickets = _ref.selectedTickets,
6054
6288
  handleTicketSelect = _ref.handleTicketSelect,
6289
+ event = _ref.event,
6055
6290
  isSeatMapAllowed = _ref.isSeatMapAllowed,
6056
6291
  tableType = _ref.tableType;
6057
6292
  var soldOutMessage = ticketTier.soldOutMessage ? ("" + ticketTier.soldOutMessage).toUpperCase() : 'SOLD OUT';
6058
- var isSalesClosed = !ticketTier.salesStarted || ticketTier.salesEnded;
6293
+ var isSalesClosed = defineIsSalesClosed({
6294
+ salesStarted: ticketTier.salesStarted,
6295
+ salesEnded: ticketTier.salesEnded,
6296
+ presalesStarted: event == null ? void 0 : event.presalesStarted,
6297
+ presalesEnded: event == null ? void 0 : event.presalesEnded,
6298
+ presalesEnabled: event == null ? void 0 : event.presales_enabled
6299
+ });
6059
6300
  var maxCount = tableType ? ticketTier.maxGuests : ticketTier.maxQuantity;
6060
6301
  var minCount = tableType ? ticketTier.minGuests : ticketTier.minQuantity;
6061
6302
  var multiplier = ticketTier.multiplier;
@@ -6103,7 +6344,7 @@ var TicketRow = function TicketRow(_ref) {
6103
6344
  } else if (canPurchaseTicket && isSeatMapAllowed && !isDirectPurchaseAllowed) {
6104
6345
  // Seat Map Tickets renderer logic
6105
6346
  returnValue = null;
6106
- } else if (canPurchaseTicket) {
6347
+ } else if (canPurchaseTicket || canPurchaseTicket && event != null && event.presalesStarted && !(event != null && event.presalesEnded)) {
6107
6348
  returnValue = onSaleContent;
6108
6349
  } else if (_get(prevTicketTier, 'in_stock')) {
6109
6350
  returnValue = 'SOON';
@@ -6177,7 +6418,8 @@ var TicketsSection = function TicketsSection(_ref) {
6177
6418
  ticketTier: ticket,
6178
6419
  prevTicketTier: arr[i - 1],
6179
6420
  selectedTickets: selectedTickets,
6180
- handleTicketSelect: ticketSelect
6421
+ handleTicketSelect: ticketSelect,
6422
+ event: event
6181
6423
  })))));
6182
6424
  }), !hideTableTicketsHeader && tableTicketsHeaderComponent, tableTickets.map(function (ticket, i, arr) {
6183
6425
  var _arr2;
@@ -6226,7 +6468,8 @@ var TicketsSection = function TicketsSection(_ref) {
6226
6468
  prevTicketTier: arr[i - 1],
6227
6469
  selectedTickets: selectedTickets,
6228
6470
  handleTicketSelect: ticketSelect,
6229
- isSeatMapAllowed: isSeatMapAllowed
6471
+ isSeatMapAllowed: isSeatMapAllowed,
6472
+ event: event
6230
6473
  }))))));
6231
6474
  }));
6232
6475
  };
@@ -6307,6 +6550,7 @@ var TicketsContainer = function TicketsContainer(_ref) {
6307
6550
  var _useState = React.useState({}),
6308
6551
  selectedTickets = _useState[0],
6309
6552
  setSelectedTickets = _useState[1];
6553
+ var isWindowDefined = typeof window !== 'undefined';
6310
6554
  var _useState2 = React.useState(Boolean(getCookieByName(X_TF_ECOMMERCE))),
6311
6555
  isLogged = _useState2[0],
6312
6556
  setIsLogged = _useState2[1];
@@ -6361,16 +6605,31 @@ var TicketsContainer = function TicketsContainer(_ref) {
6361
6605
  var _useState19 = React.useState(),
6362
6606
  pendingVerificationMessage = _useState19[0],
6363
6607
  setPendingVerificationMessage = _useState19[1];
6608
+ var _useState20 = React.useState([]),
6609
+ preregistereds = _useState20[0],
6610
+ setPreregistereds = _useState20[1];
6611
+ var _useState21 = React.useState(false),
6612
+ ticketsNotAvailableModalOpen = _useState21[0],
6613
+ setTicketsNotAvailableModalOpen = _useState21[1];
6614
+ var _useState22 = React.useState(checkUserPreregistration()),
6615
+ isPreregistred = _useState22[0],
6616
+ setIsPreregisred = _useState22[1];
6364
6617
  var ticketsContainerRef = React.useRef(null);
6365
6618
  var pageUrl = isBrowser ? window.location.href.split('?')[0] : '';
6366
6619
  useCookieListener(X_TF_ECOMMERCE, function (value) {
6367
6620
  return setIsLogged(Boolean(value));
6368
6621
  });
6622
+ useLocalStorageListener('user_data', function (user) {
6623
+ var isPreregistredUser = _some(preregistereds, function (item) {
6624
+ return item.email === (user == null ? void 0 : user.email);
6625
+ });
6626
+ setIsPreregisred(isPreregistredUser);
6627
+ });
6369
6628
  usePixel(eventId, {
6370
6629
  pageUrl: pageUrl
6371
6630
  });
6372
6631
  React.useEffect(function () {
6373
- if (typeof window !== 'undefined') {
6632
+ if (isWindowDefined) {
6374
6633
  var access_token = window.localStorage.getItem('access_token');
6375
6634
  if (access_token) {
6376
6635
  var decoded = jwt_decode(access_token);
@@ -6383,8 +6642,14 @@ var TicketsContainer = function TicketsContainer(_ref) {
6383
6642
  }
6384
6643
  }, []);
6385
6644
  React.useEffect(function () {
6386
- !!eventId && getTicketsApi();
6645
+ if (eventId) {
6646
+ getTicketsApi();
6647
+ fetchPreregisteredsData();
6648
+ }
6387
6649
  }, [eventId]);
6650
+ React.useEffect(function () {
6651
+ setIsPreregisred(checkUserPreregistration());
6652
+ }, [preregistereds]);
6388
6653
  React.useEffect(function () {
6389
6654
  if (isLogged) {
6390
6655
  fetchUserData().then(function (res) {
@@ -6505,6 +6770,39 @@ var TicketsContainer = function TicketsContainer(_ref) {
6505
6770
  }));
6506
6771
  return _getTicketsApi.apply(this, arguments);
6507
6772
  }
6773
+ function fetchPreregisteredsData() {
6774
+ return _fetchPreregisteredsData.apply(this, arguments);
6775
+ }
6776
+ function _fetchPreregisteredsData() {
6777
+ _fetchPreregisteredsData = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5() {
6778
+ var preregistrationData;
6779
+ return _regeneratorRuntime().wrap(function _callee5$(_context5) {
6780
+ while (1) switch (_context5.prev = _context5.next) {
6781
+ case 0:
6782
+ _context5.prev = 0;
6783
+ _context5.next = 3;
6784
+ return getPreRegistrationInfluancers({
6785
+ eventId: eventId
6786
+ });
6787
+ case 3:
6788
+ preregistrationData = _context5.sent;
6789
+ setPreregistereds(preregistrationData.data.attributes.influencers);
6790
+ _context5.next = 10;
6791
+ break;
6792
+ case 7:
6793
+ _context5.prev = 7;
6794
+ _context5.t0 = _context5["catch"](0);
6795
+ if (axios.isAxiosError(_context5.t0)) {
6796
+ setError(_get(_context5.t0, 'response.data.message'));
6797
+ }
6798
+ case 10:
6799
+ case "end":
6800
+ return _context5.stop();
6801
+ }
6802
+ }, _callee5, null, [[0, 7]]);
6803
+ }));
6804
+ return _fetchPreregisteredsData.apply(this, arguments);
6805
+ }
6508
6806
  var handleTicketSelect = function handleTicketSelect(key, value, isTable) {
6509
6807
  if (isTable === void 0) {
6510
6808
  isTable = false;
@@ -6517,6 +6815,17 @@ var TicketsContainer = function TicketsContainer(_ref) {
6517
6815
  return _ref3 = {}, _ref3[key] = value, _ref3.isTable = isTable, _ref3;
6518
6816
  });
6519
6817
  };
6818
+ function checkUserPreregistration() {
6819
+ var userDataString = isWindowDefined ? window.localStorage.getItem('user_data') : '';
6820
+ var isPreregistredUser = false;
6821
+ if (userDataString) {
6822
+ var user = JSON.parse(userDataString);
6823
+ isPreregistredUser = _some(preregistereds, function (item) {
6824
+ return item.email === (user == null ? void 0 : user.email);
6825
+ });
6826
+ }
6827
+ return isPreregistredUser;
6828
+ }
6520
6829
  var handleOrdersClick = function handleOrdersClick() {
6521
6830
  if (isBrowser) {
6522
6831
  window.location.href = ordersPath != null ? ordersPath : '/orders';
@@ -6700,7 +7009,7 @@ var TicketsContainer = function TicketsContainer(_ref) {
6700
7009
  };
6701
7010
  }();
6702
7011
  var isTicketOnSale = _some(tickets, function (item) {
6703
- return item.salesStarted && !item.salesEnded && !item.soldOut;
7012
+ return (item.salesStarted || (event == null ? void 0 : event.presalesStarted)) && !item.salesEnded && !item.soldOut;
6704
7013
  });
6705
7014
  var eventHasTickets = !_isEmpty(tickets);
6706
7015
  var isSalesClosed = event == null ? void 0 : event.salesEnded;
@@ -6726,9 +7035,14 @@ var TicketsContainer = function TicketsContainer(_ref) {
6726
7035
  }
6727
7036
  }
6728
7037
  };
7038
+ var handleNotAvailableTicketsClick = function handleNotAvailableTicketsClick() {
7039
+ if (!_isEmpty(selectedTickets)) {
7040
+ setTicketsNotAvailableModalOpen(true);
7041
+ }
7042
+ };
6729
7043
  var bookButtonIsDisabled = (handleBookIsLoading || _isEmpty(selectedTickets) || Object.values(selectedTickets)[0] === 0) && !(event != null && event.flagSeatMapAllowed);
6730
7044
  var isTicketAvailable = _some(tickets, function (ticket) {
6731
- return ticket.displayTicket && !ticket.soldOut && ticket.salesStarted;
7045
+ return ticket.displayTicket && !ticket.soldOut && (ticket.salesStarted || (event == null ? void 0 : event.presalesStarted) && !(event != null && event.presalesEnded));
6732
7046
  });
6733
7047
  var wrappedActionsSectionComponent = React__default.isValidElement(ActionsSectionComponent) ? React__default.cloneElement(ActionsSectionComponent, {
6734
7048
  handleGetTicketClick: handleGetTicketClick,
@@ -6756,6 +7070,7 @@ var TicketsContainer = function TicketsContainer(_ref) {
6756
7070
  var hideTopInfluencers = event == null ? void 0 : event.hideTopInfluencers;
6757
7071
  var isSeatMapAllowed = _get(event, 'seatMapAllowed', false);
6758
7072
  var isTableMapEnabled = _get(event, 'tableMapEnabled', false);
7073
+ var notAvailableTicketsMessage = "Tickets for this event are not available until " + moment(event == null ? void 0 : event.salesStart).format('dddd, DD MMMM YYYY') + ". \n If you pre-registered, log into your account first to buy your pre-sale ticket.";
6759
7074
  var tableTickets = _filter(tickets, function (ticket) {
6760
7075
  return ticket.isTable;
6761
7076
  });
@@ -6797,7 +7112,16 @@ var TicketsContainer = function TicketsContainer(_ref) {
6797
7112
  style: {
6798
7113
  width: '350px'
6799
7114
  }
6800
- }, error), isLoading ? React__default.createElement(Loader, null) : React__default.createElement("div", {
7115
+ }, error), ticketsNotAvailableModalOpen && React__default.createElement(ConfirmModal, {
7116
+ message: notAvailableTicketsMessage,
7117
+ hideCancelBtn: true,
7118
+ onClose: function onClose() {
7119
+ return _onClose('invalidLink');
7120
+ },
7121
+ onConfirm: function onConfirm() {
7122
+ return setTicketsNotAvailableModalOpen(false);
7123
+ }
7124
+ }), isLoading ? React__default.createElement(Loader, null) : React__default.createElement("div", {
6801
7125
  ref: ticketsContainerRef
6802
7126
  }, !isSalesClosed && React__default.createElement(TicketsSection, {
6803
7127
  event: event,
@@ -6847,7 +7171,7 @@ var TicketsContainer = function TicketsContainer(_ref) {
6847
7171
  }) : null, wrappedActionsSectionComponent, canShowGetTicketBtn() && React__default.createElement(Button$1, {
6848
7172
  "aria-hidden": true,
6849
7173
  className: "book-button \n " + (bookButtonIsDisabled ? 'disabled' : '') + " \n " + (isButtonScrollable ? 'is-scrollable' : '') + "\n " + (!isLoggedIn ? 'on-bottom' : '') + "\n ",
6850
- onClick: handleGetTicketClick
7174
+ onClick: event != null && event.salesStart && event != null && event.presalesStarted && !(event != null && event.presalesEnded) && (!isPreregistred || !isLogged) ? handleNotAvailableTicketsClick : handleGetTicketClick
6851
7175
  }, selectedTickets.isTable ? 'RESERVE TABLES' : getTicketsLabel || 'GET TICKETS'), isSeatMapAllowed && !(event != null && event.salesEnded) && isTicketAvailable && React__default.createElement(Button$1, {
6852
7176
  className: "reserve-button",
6853
7177
  "aria-hidden": true,
@@ -8763,7 +9087,9 @@ var LoginForm = function LoginForm(_ref) {
8763
9087
  _ref$showForgotPasswo = _ref.showForgotPasswordButton,
8764
9088
  showForgotPasswordButton = _ref$showForgotPasswo === void 0 ? false : _ref$showForgotPasswo,
8765
9089
  _ref$showSignUpButton = _ref.showSignUpButton,
8766
- showSignUpButton = _ref$showSignUpButton === void 0 ? false : _ref$showSignUpButton;
9090
+ showSignUpButton = _ref$showSignUpButton === void 0 ? false : _ref$showSignUpButton,
9091
+ _ref$showPoweredByIma = _ref.showPoweredByImage,
9092
+ showPoweredByImage = _ref$showPoweredByIma === void 0 ? false : _ref$showPoweredByIma;
8767
9093
  var _useState = React.useState(''),
8768
9094
  error = _useState[0],
8769
9095
  setError = _useState[1];
@@ -8887,7 +9213,7 @@ var LoginForm = function LoginForm(_ref) {
8887
9213
  }, React__default.createElement("span", {
8888
9214
  "aria-hidden": "true",
8889
9215
  onClick: onSignupButtonClick
8890
- }, "Sign up"))));
9216
+ }, "Sign up")), showPoweredByImage ? React__default.createElement(PoweredBy, null) : null));
8891
9217
  }));
8892
9218
  };
8893
9219
 
@@ -11184,6 +11510,1028 @@ var RsvpContainer = function RsvpContainer(_ref) {
11184
11510
  }, "RSVP"))))))));
11185
11511
  };
11186
11512
 
11513
+ var formFieldsNotLoggedIn = [{
11514
+ name: 'basic-info',
11515
+ groupLabel: /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("span", null, "If you want to enter your details manually, please type them below to create an account, then click on"), /*#__PURE__*/React__default.createElement("b", null, " Confirm Registration:")),
11516
+ groupLabelClassName: '',
11517
+ groupClassName: '',
11518
+ fields: [{
11519
+ className: 'half-width',
11520
+ name: 'firstName',
11521
+ label: 'First Name',
11522
+ type: 'text',
11523
+ required: true,
11524
+ onValidate: null
11525
+ }, {
11526
+ className: 'half-width',
11527
+ name: 'lastName',
11528
+ label: 'Last Name',
11529
+ type: 'text',
11530
+ required: true,
11531
+ onValidate: null
11532
+ }, {
11533
+ name: 'email',
11534
+ label: 'Email',
11535
+ type: 'email',
11536
+ required: true,
11537
+ onValidate: null
11538
+ }, {
11539
+ name: 'confirmEmail',
11540
+ label: 'Confirm Email',
11541
+ type: 'email',
11542
+ required: true,
11543
+ onValidate: null
11544
+ }]
11545
+ }, {
11546
+ name: 'billing-info',
11547
+ groupLabel: '',
11548
+ groupLabelClassName: '',
11549
+ groupClassName: '',
11550
+ fields: [{
11551
+ className: 'half-width',
11552
+ name: 'zip',
11553
+ label: 'Post Code/Zip',
11554
+ type: 'text',
11555
+ required: true,
11556
+ onValidate: null
11557
+ }, {
11558
+ className: 'half-width',
11559
+ name: 'country',
11560
+ label: 'Country',
11561
+ type: 'select',
11562
+ required: true,
11563
+ onValidate: null
11564
+ }]
11565
+ }, {
11566
+ name: 'password-info',
11567
+ groupLabel: /*#__PURE__*/React__default.createElement("div", {
11568
+ className: "email-info-block"
11569
+ }, /*#__PURE__*/React__default.createElement("span", null, "Choose a password for your new"), /*#__PURE__*/React__default.createElement("b", null, " Mana Common "), /*#__PURE__*/React__default.createElement("span", null, "account")),
11570
+ groupLabelClassName: '',
11571
+ groupClassName: '',
11572
+ fields: [{
11573
+ className: 'half-width',
11574
+ name: 'password',
11575
+ label: 'Password',
11576
+ type: 'password',
11577
+ required: true,
11578
+ onValidate: null
11579
+ }, {
11580
+ className: 'half-width',
11581
+ name: 'confirmPassword',
11582
+ label: 'Confirm Password',
11583
+ type: 'password',
11584
+ required: true,
11585
+ onValidate: null
11586
+ }]
11587
+ }];
11588
+ var formFieldsLoggedIn = [{
11589
+ name: 'basic-info-logged-in',
11590
+ groupLabel: 'To confirm your pre-registration for {event_name} simply click on the confirmation button below.',
11591
+ groupLabelClassName: '',
11592
+ groupClassName: '',
11593
+ fields: [{
11594
+ name: 'email',
11595
+ label: 'Email',
11596
+ type: 'email',
11597
+ required: true,
11598
+ onValidate: null
11599
+ }, {
11600
+ name: 'confirmEmail',
11601
+ label: 'Confirm Email',
11602
+ type: 'email',
11603
+ required: true,
11604
+ onValidate: null
11605
+ }]
11606
+ }, {
11607
+ name: 'billing-info-logged-in',
11608
+ groupLabel: '',
11609
+ groupLabelClassName: '',
11610
+ groupClassName: '',
11611
+ fields: [{
11612
+ name: 'numTickets',
11613
+ label: 'How many tickets do you want to buy?',
11614
+ type: 'select',
11615
+ required: true,
11616
+ options: /*#__PURE__*/new Array(10).fill(null).map(function (_, index) {
11617
+ return {
11618
+ label: index + 1,
11619
+ value: index + 1
11620
+ };
11621
+ }),
11622
+ onValidate: null
11623
+ }, {
11624
+ name: 'holderAge',
11625
+ label: 'Ticket Holder Age',
11626
+ type: 'date',
11627
+ required: true,
11628
+ onValidate: null
11629
+ }, {
11630
+ name: 'brandOptIn',
11631
+ label: 'I would like to be updated on Mana Common news, events and offers.',
11632
+ type: 'checkbox'
11633
+ }]
11634
+ }];
11635
+
11636
+ var getValidateFunctions$2 = function getValidateFunctions(_ref) {
11637
+ var element = _ref.element,
11638
+ values = _ref.values;
11639
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
11640
+ var validationFunctions = [];
11641
+ if (element.required) {
11642
+ validationFunctions.push(requiredValidator);
11643
+ }
11644
+ if (element.onValidate) {
11645
+ validationFunctions.push(element.onValidate);
11646
+ }
11647
+ if (element.name === 'confirmEmail') {
11648
+ var isSameEmail = function isSameEmail(confirmEmail) {
11649
+ return values.email !== confirmEmail ? 'Please confirm your email address correctly' : null;
11650
+ };
11651
+ validationFunctions.push(isSameEmail);
11652
+ }
11653
+ if (element.name === 'confirmPassword') {
11654
+ var isSame = function isSame(confirmPassword) {
11655
+ return values.password !== confirmPassword ? 'Password confirmation does not match' : null;
11656
+ };
11657
+ validationFunctions.push(isSame);
11658
+ }
11659
+ return combineValidators.apply(void 0, validationFunctions);
11660
+ };
11661
+ var getFormInitialValues$1 = function getFormInitialValues(fieldsSections) {
11662
+ var initialValues = {};
11663
+ var isWindowDefined = typeof window !== 'undefined';
11664
+ var userData = JSON.parse(isWindowDefined ? window.localStorage.getItem('user_data') || '{}' : '{}');
11665
+ _forEach(fieldsSections, function (item) {
11666
+ _forEach(item.fields, function (fieldItem) {
11667
+ switch (fieldItem.name) {
11668
+ case 'country':
11669
+ case 'numTickets':
11670
+ initialValues[fieldItem.name] = 1;
11671
+ break;
11672
+ case 'brandOptIn':
11673
+ initialValues[fieldItem.name] = true;
11674
+ break;
11675
+ case 'confirmEmail':
11676
+ initialValues[fieldItem.name] = _get(userData, fieldItem.name) || _get(userData, 'email') || '';
11677
+ break;
11678
+ default:
11679
+ initialValues[fieldItem.name] = _get(userData, fieldItem.name) || '';
11680
+ break;
11681
+ }
11682
+ });
11683
+ });
11684
+ return initialValues;
11685
+ };
11686
+ var updateFormFieldsAttributes$1 = function updateFormFieldsAttributes(formFields, attributes) {
11687
+ if (attributes && !_isEmpty(attributes)) {
11688
+ var updatedFormFields = _map(formFields, function (fieldSection) {
11689
+ var fieldSectionAttributes = attributes[fieldSection.name] || {};
11690
+ var updatedFields = _map(fieldSection.fields, function (fieldItem) {
11691
+ var fieldItemAttributes = attributes[fieldItem.name] || {};
11692
+ return _extends({}, fieldItem, fieldItemAttributes);
11693
+ });
11694
+ return _extends({}, fieldSection, fieldSectionAttributes, {
11695
+ fields: updatedFields
11696
+ });
11697
+ });
11698
+ return updatedFormFields;
11699
+ }
11700
+ return formFields;
11701
+ };
11702
+ var shareOptionsAdapter = function shareOptionsAdapter(data, shareUrl) {
11703
+ var adaptedData = [];
11704
+ _forEach(data, function (option) {
11705
+ if (option.action !== 'shared_url') {
11706
+ var _split2 = _split(option.action, '_'),
11707
+ platform = _split2[0],
11708
+ method = _split2[1];
11709
+ var mainLabel = method ? method[0].toUpperCase() + method.substring(1) : 'Share';
11710
+ adaptedData.push({
11711
+ mainLabel: option.action === 'twitter' ? 'Tweet' : mainLabel + ' on',
11712
+ subLabel: option.action === 'twitter' ? ' to your followers' : platform[0].toUpperCase() + platform.substring(1),
11713
+ platform: platform,
11714
+ shareData: {
11715
+ quote: 'as',
11716
+ url: option.socialUrl || shareUrl
11717
+ },
11718
+ points: option.point,
11719
+ eventActionId: option.id,
11720
+ oneTimeAction: option.oneTimeAction,
11721
+ alreadyApplied: option.alreadyApplied
11722
+ });
11723
+ }
11724
+ });
11725
+ return adaptedData;
11726
+ };
11727
+ var getShuffleMethodByName = function getShuffleMethodByName(tokenShuffleMethod) {
11728
+ var reverseString = function reverseString(value) {
11729
+ return value.split('').reverse().join('');
11730
+ };
11731
+ var symmetricShuffleString = function symmetricShuffleString(value) {
11732
+ var lengthOfStr = value.length;
11733
+ var part1 = value.substring(0, lengthOfStr / 2);
11734
+ return value.substring(lengthOfStr / 2) + part1;
11735
+ };
11736
+ var shuffleEveryTwoSymbolsInString = function shuffleEveryTwoSymbolsInString(value) {
11737
+ var words = value.split('');
11738
+ var shuffledStr = '';
11739
+ for (var i = 0; i < words.length; i += 2) {
11740
+ shuffledStr = shuffledStr.concat(words[i + 1], words[i]);
11741
+ }
11742
+ return shuffledStr;
11743
+ };
11744
+ if (tokenShuffleMethod === 'reverse_string') {
11745
+ return reverseString;
11746
+ } else if (tokenShuffleMethod === 'symmetric_shuffle_string') {
11747
+ return symmetricShuffleString;
11748
+ } else if (tokenShuffleMethod === 'shuffle_every_two_symbols_in_string') return shuffleEveryTwoSymbolsInString;
11749
+ return _identity;
11750
+ };
11751
+
11752
+ var isDocumentDefined = typeof document !== 'undefined';
11753
+ var SectionContainer$1 = function SectionContainer(_ref) {
11754
+ var children = _ref.children,
11755
+ className = _ref.className;
11756
+ return React__default.createElement("div", {
11757
+ className: className
11758
+ }, children);
11759
+ };
11760
+ var insertHTML$1 = function insertHTML(elementId, text) {
11761
+ if (text === void 0) {
11762
+ text = '';
11763
+ }
11764
+ if (isDocumentDefined) {
11765
+ var elem = document && document.getElementById(elementId);
11766
+ if (!(elem != null && elem.childNodes.length)) {
11767
+ elem == null ? void 0 : elem.insertAdjacentHTML('afterbegin', text);
11768
+ }
11769
+ }
11770
+ return null;
11771
+ };
11772
+ var getFieldClassNames$1 = function getFieldClassNames(id, existingClassNames) {
11773
+ if (isDocumentDefined) {
11774
+ var _elem$parentElement;
11775
+ var elem = document && document.getElementById(id);
11776
+ if (((elem == null ? void 0 : (_elem$parentElement = elem.parentElement) == null ? void 0 : _elem$parentElement.clientWidth) || 0) < 375) {
11777
+ return existingClassNames + ' full-width';
11778
+ }
11779
+ }
11780
+ return existingClassNames;
11781
+ };
11782
+ var FieldsSection$1 = function FieldsSection(_ref2) {
11783
+ var _ref2$formFields = _ref2.formFields,
11784
+ formFields = _ref2$formFields === void 0 ? [] : _ref2$formFields,
11785
+ _ref2$countries = _ref2.countries,
11786
+ countries = _ref2$countries === void 0 ? [] : _ref2$countries,
11787
+ values = _ref2.values,
11788
+ setFieldValue = _ref2.setFieldValue,
11789
+ theme = _ref2.theme,
11790
+ _ref2$containerClass = _ref2.containerClass,
11791
+ containerClass = _ref2$containerClass === void 0 ? '' : _ref2$containerClass;
11792
+ return React__default.createElement(React__default.Fragment, null, _map(formFields, function (item, index) {
11793
+ var name = item.name,
11794
+ groupLabel = item.groupLabel,
11795
+ _item$groupLabelVars = item.groupLabelVars,
11796
+ groupLabelVars = _item$groupLabelVars === void 0 ? [] : _item$groupLabelVars,
11797
+ groupLabelClassName = item.groupLabelClassName,
11798
+ _item$groupClassName = item.groupClassName,
11799
+ groupClassName = _item$groupClassName === void 0 ? '' : _item$groupClassName,
11800
+ fields = item.fields;
11801
+ return React__default.createElement(SectionContainer$1, {
11802
+ key: name,
11803
+ className: groupClassName
11804
+ }, React__default.createElement("span", {
11805
+ id: "group_label_" + index,
11806
+ className: groupLabelClassName
11807
+ }, typeof groupLabel === 'string' ? insertHTML$1("group_label_" + index, replaceVarInString(groupLabel, groupLabelVars)) : groupLabel), React__default.createElement("div", {
11808
+ className: "fields-container " + groupClassName
11809
+ }, _map(fields, function (fieldData, fieldIndex) {
11810
+ var name = fieldData.name,
11811
+ label = fieldData.label,
11812
+ _fieldData$className = fieldData.className,
11813
+ className = _fieldData$className === void 0 ? 'full-width' : _fieldData$className,
11814
+ type = fieldData.type,
11815
+ component = fieldData.component,
11816
+ _fieldData$options = fieldData.options,
11817
+ options = _fieldData$options === void 0 ? [] : _fieldData$options;
11818
+ var id = name + "-" + fieldIndex;
11819
+ var classNames = containerClass + "-container__field " + className;
11820
+ return component || React__default.createElement("div", {
11821
+ key: name,
11822
+ id: id,
11823
+ className: getFieldClassNames$1(id, classNames)
11824
+ }, React__default.createElement(formik.Field, {
11825
+ name: name,
11826
+ label: label,
11827
+ type: type,
11828
+ validate: getValidateFunctions$2({
11829
+ element: fieldData,
11830
+ values: values
11831
+ }),
11832
+ setFieldValue: setFieldValue,
11833
+ component: type === 'checkbox' ? CheckboxField : type === 'select' ? NativeSelectField : type === 'phone' ? PhoneNumberField : type === 'date' ? DatePickerField : CustomField,
11834
+ selectOptions: name === 'country' ? countries : options,
11835
+ theme: theme
11836
+ }));
11837
+ })));
11838
+ }));
11839
+ };
11840
+
11841
+ var X_TF_ECOMMERCE$2 = 'X-TF-ECOMMERCE';
11842
+ var isWindowDefined$1 = typeof window !== 'undefined';
11843
+ var PreRegistration = function PreRegistration(_ref) {
11844
+ var eventId = _ref.eventId,
11845
+ pFormFields = _ref.formFields,
11846
+ additionalFieldAttribute = _ref.additionalFieldAttribute,
11847
+ isPreregistrationStarted = _ref.isPreregistrationStarted,
11848
+ logo = _ref.logo,
11849
+ showForgotPasswordButton = _ref.showForgotPasswordButton,
11850
+ _ref$onLoginSuccess = _ref.onLoginSuccess,
11851
+ onLoginSuccess = _ref$onLoginSuccess === void 0 ? _identity : _ref$onLoginSuccess,
11852
+ _ref$onForgotPassword = _ref.onForgotPasswordSuccess,
11853
+ onForgotPasswordSuccess = _ref$onForgotPassword === void 0 ? _identity : _ref$onForgotPassword,
11854
+ _ref$onForgotPassword2 = _ref.onForgotPasswordError,
11855
+ onForgotPasswordError = _ref$onForgotPassword2 === void 0 ? _identity : _ref$onForgotPassword2,
11856
+ _ref$onGetCountriesSu = _ref.onGetCountriesSuccess,
11857
+ onGetCountriesSuccess = _ref$onGetCountriesSu === void 0 ? _identity : _ref$onGetCountriesSu,
11858
+ _ref$onGetCountriesEr = _ref.onGetCountriesError,
11859
+ onGetCountriesError = _ref$onGetCountriesEr === void 0 ? _identity : _ref$onGetCountriesEr,
11860
+ _ref$onConfirmationSu = _ref.onConfirmationSuccess,
11861
+ onConfirmationSuccess = _ref$onConfirmationSu === void 0 ? _identity : _ref$onConfirmationSu,
11862
+ _ref$onConfirmationEr = _ref.onConfirmationError,
11863
+ onConfirmationError = _ref$onConfirmationEr === void 0 ? _identity : _ref$onConfirmationEr;
11864
+ var _useState = React.useState(''),
11865
+ error = _useState[0],
11866
+ setError = _useState[1];
11867
+ var _useState2 = React.useState(false),
11868
+ showModalLogin = _useState2[0],
11869
+ setShowModalLogin = _useState2[1];
11870
+ var _useState3 = React.useState(false),
11871
+ alreadyHasUser = _useState3[0],
11872
+ setAlreadyHasUser = _useState3[1];
11873
+ var _useState4 = React.useState(false),
11874
+ showModalForgotPassword = _useState4[0],
11875
+ setShowModalForgotPassword = _useState4[1];
11876
+ var _useState5 = React.useState([]),
11877
+ countries = _useState5[0],
11878
+ setCountries = _useState5[1];
11879
+ var _useState6 = React.useState(Boolean(getCookieByName(X_TF_ECOMMERCE$2))),
11880
+ isLoggedIn = _useState6[0],
11881
+ setIsLoggedIn = _useState6[1];
11882
+ var _useState7 = React.useState({
11883
+ show: false,
11884
+ message: ''
11885
+ }),
11886
+ confirmModalState = _useState7[0],
11887
+ setConfirmModalState = _useState7[1];
11888
+ useCookieListener(X_TF_ECOMMERCE$2, function (value) {
11889
+ return setIsLoggedIn(Boolean(value));
11890
+ });
11891
+ var formFields = updateFormFieldsAttributes$1(pFormFields || isLoggedIn ? formFieldsLoggedIn : formFieldsNotLoggedIn, additionalFieldAttribute);
11892
+ React.useEffect(function () {
11893
+ // fetch countries data
11894
+ var fetchCountries = /*#__PURE__*/function () {
11895
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
11896
+ var res, _e$response, _e$response$data, _error;
11897
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
11898
+ while (1) switch (_context.prev = _context.next) {
11899
+ case 0:
11900
+ _context.prev = 0;
11901
+ _context.next = 3;
11902
+ return getCountries();
11903
+ case 3:
11904
+ res = _context.sent;
11905
+ setCountries(_map(_get(res, 'data'), function (item) {
11906
+ return {
11907
+ label: item.name,
11908
+ value: Number(item.id)
11909
+ };
11910
+ }));
11911
+ onGetCountriesSuccess(res.data);
11912
+ _context.next = 11;
11913
+ break;
11914
+ case 8:
11915
+ _context.prev = 8;
11916
+ _context.t0 = _context["catch"](0);
11917
+ if (axios.isAxiosError(_context.t0)) {
11918
+ _error = (_context.t0 == null ? void 0 : (_e$response = _context.t0.response) == null ? void 0 : (_e$response$data = _e$response.data) == null ? void 0 : _e$response$data.message) || 'Error';
11919
+ setError(_error);
11920
+ onGetCountriesError(_context.t0);
11921
+ }
11922
+ case 11:
11923
+ case "end":
11924
+ return _context.stop();
11925
+ }
11926
+ }, _callee, null, [[0, 8]]);
11927
+ }));
11928
+ return function fetchCountries() {
11929
+ return _ref2.apply(this, arguments);
11930
+ };
11931
+ }();
11932
+ fetchCountries();
11933
+ }, []);
11934
+ var hash = getQueryVariable('hash') || '';
11935
+ var referrerId = getQueryVariable('referrer_id') || '';
11936
+ return React__default.createElement("div", {
11937
+ className: "pre-registration-container"
11938
+ }, React__default.createElement(SnackbarAlert, {
11939
+ type: "error",
11940
+ isOpen: !!error,
11941
+ message: error || '',
11942
+ onClose: function onClose() {
11943
+ setError('');
11944
+ }
11945
+ }), confirmModalState.show && React__default.createElement(ConfirmModal, {
11946
+ hideCancelBtn: true,
11947
+ onConfirm: function onConfirm() {
11948
+ return setConfirmModalState({
11949
+ show: false,
11950
+ message: ''
11951
+ });
11952
+ },
11953
+ message: confirmModalState.message
11954
+ }), !isLoggedIn && React__default.createElement("div", {
11955
+ className: "account-actions-block"
11956
+ }, React__default.createElement("div", {
11957
+ className: "action-item"
11958
+ }, React__default.createElement("div", null, React__default.createElement("span", null, "Create (or log in to) your account, then click on Confirm Registration."), React__default.createElement("span", null, " If you have a"), React__default.createElement("b", null, " Mana Common "), React__default.createElement("span", null, "account and password already"))), React__default.createElement("div", {
11959
+ className: "action-item login-block"
11960
+ }, React__default.createElement("button", {
11961
+ className: "login-register-button",
11962
+ type: "button",
11963
+ onClick: function onClick() {
11964
+ setShowModalLogin(true);
11965
+ }
11966
+ }, "Login"))), showModalLogin && React__default.createElement(LoginModal, {
11967
+ logo: logo,
11968
+ onClose: function onClose() {
11969
+ setShowModalLogin(false);
11970
+ },
11971
+ onLogin: function onLogin(res) {
11972
+ setShowModalLogin(false);
11973
+ onLoginSuccess(res);
11974
+ },
11975
+ showForgotPasswordButton: showForgotPasswordButton,
11976
+ onForgotPassword: function onForgotPassword() {
11977
+ setShowModalLogin(false);
11978
+ setShowModalForgotPassword(true);
11979
+ },
11980
+ alreadyHasUser: alreadyHasUser
11981
+ }), showModalForgotPassword && React__default.createElement(ForgotPasswordModal, {
11982
+ onClose: function onClose() {
11983
+ setShowModalForgotPassword(false);
11984
+ },
11985
+ onLoginButtonClick: function onLoginButtonClick() {
11986
+ setShowModalForgotPassword(false);
11987
+ setShowModalLogin(true);
11988
+ },
11989
+ onForgotPasswordSuccess: onForgotPasswordSuccess,
11990
+ onForgotPasswordError: onForgotPasswordError
11991
+ }), React__default.createElement("h2", null, "Pre-Registration"), React__default.createElement(formik.Formik, {
11992
+ initialValues: getFormInitialValues$1(formFields),
11993
+ enableReinitialize: true,
11994
+ onSubmit: function () {
11995
+ var _onSubmit = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(values) {
11996
+ var updatedValues, holderAgeDate, confirmationData, bodyFormData, res, profileRes, _e$response2, _e$response2$data, _e$response2$data$mes, _e$response3, _e$response3$data, errorMessage, emailErrors, _e$response4, _e$response4$data;
11997
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
11998
+ while (1) switch (_context2.prev = _context2.next) {
11999
+ case 0:
12000
+ _context2.prev = 0;
12001
+ if (!isLoggedIn) {
12002
+ _context2.next = 21;
12003
+ break;
12004
+ }
12005
+ if (!isPreregistrationStarted) {
12006
+ _context2.next = 18;
12007
+ break;
12008
+ }
12009
+ updatedValues = _extends({}, values);
12010
+ holderAgeDate = new Date(values.holderAge);
12011
+ updatedValues.dobDay = holderAgeDate.getDate();
12012
+ updatedValues.dobMonth = holderAgeDate.getMonth() + 1;
12013
+ updatedValues.dobYear = holderAgeDate.getFullYear();
12014
+ updatedValues.referrerId = referrerId;
12015
+ updatedValues.shareHash = hash;
12016
+ // remove date picker string value
12017
+ delete updatedValues.holderAge;
12018
+ _context2.next = 13;
12019
+ return confirmPreRegistration(eventId, updatedValues);
12020
+ case 13:
12021
+ confirmationData = _context2.sent;
12022
+ if (isWindowDefined$1) {
12023
+ window.localStorage.setItem('pre-registration-hash', _get(confirmationData, 'attributes.hash'));
12024
+ }
12025
+ onConfirmationSuccess(confirmationData);
12026
+ _context2.next = 19;
12027
+ break;
12028
+ case 18:
12029
+ setConfirmModalState({
12030
+ show: true,
12031
+ message: 'The preregistration has not started'
12032
+ });
12033
+ case 19:
12034
+ _context2.next = 41;
12035
+ break;
12036
+ case 21:
12037
+ bodyFormData = new FormData();
12038
+ bodyFormData.append('first_name', values.firstName);
12039
+ bodyFormData.append('last_name', values.lastName);
12040
+ bodyFormData.append('email', values.email);
12041
+ bodyFormData.append('confirm_email', values.confirmEmail);
12042
+ bodyFormData.append('zip', values.zip);
12043
+ bodyFormData.append('country', values.country);
12044
+ bodyFormData.append('password', values.password);
12045
+ bodyFormData.append('password_confirmation', values.confirmPassword);
12046
+ bodyFormData.append('client_id', CONFIGS.CLIENT_ID);
12047
+ bodyFormData.append('client_secret', CONFIGS.CLIENT_SECRET);
12048
+ bodyFormData.append('register_for', 'prereg');
12049
+ _context2.next = 35;
12050
+ return register(bodyFormData);
12051
+ case 35:
12052
+ res = _context2.sent;
12053
+ _context2.next = 38;
12054
+ return getProfileData();
12055
+ case 38:
12056
+ profileRes = _context2.sent;
12057
+ onLoginSuccess(res.data);
12058
+ if (isWindowDefined$1) {
12059
+ window.localStorage.setItem('user_data', JSON.stringify(_get(profileRes, 'data')));
12060
+ }
12061
+ case 41:
12062
+ _context2.next = 50;
12063
+ break;
12064
+ case 43:
12065
+ _context2.prev = 43;
12066
+ _context2.t0 = _context2["catch"](0);
12067
+ errorMessage = (_context2.t0 == null ? void 0 : _context2.t0.message) || 'Error';
12068
+ emailErrors = _context2.t0 == null ? void 0 : (_e$response2 = _context2.t0.response) == null ? void 0 : (_e$response2$data = _e$response2.data) == null ? void 0 : (_e$response2$data$mes = _e$response2$data.message) == null ? void 0 : _e$response2$data$mes.email;
12069
+ if (typeof (_context2.t0 == null ? void 0 : (_e$response3 = _context2.t0.response) == null ? void 0 : (_e$response3$data = _e$response3.data) == null ? void 0 : _e$response3$data.message) === 'string') {
12070
+ errorMessage = _context2.t0 == null ? void 0 : (_e$response4 = _context2.t0.response) == null ? void 0 : (_e$response4$data = _e$response4.data) == null ? void 0 : _e$response4$data.message;
12071
+ }
12072
+ if ((emailErrors == null ? void 0 : emailErrors.length) > 0) {
12073
+ if (emailErrors[0] === 'The email is already used') {
12074
+ setShowModalLogin(true);
12075
+ setAlreadyHasUser(true);
12076
+ }
12077
+ } else {
12078
+ setError(errorMessage);
12079
+ }
12080
+ onConfirmationError(_context2.t0);
12081
+ case 50:
12082
+ case "end":
12083
+ return _context2.stop();
12084
+ }
12085
+ }, _callee2, null, [[0, 43]]);
12086
+ }));
12087
+ function onSubmit(_x) {
12088
+ return _onSubmit.apply(this, arguments);
12089
+ }
12090
+ return onSubmit;
12091
+ }()
12092
+ }, function (props) {
12093
+ return React__default.createElement(formik.Form, null, React__default.createElement("div", {
12094
+ className: "login-modal-body"
12095
+ }, React__default.createElement(FieldsSection$1, {
12096
+ formFields: formFields,
12097
+ values: props.values,
12098
+ setFieldValue: props.setFieldValue,
12099
+ containerClass: "pre-registration",
12100
+ countries: countries
12101
+ })), React__default.createElement("div", {
12102
+ className: "button-container"
12103
+ }, React__default.createElement(material.Button, {
12104
+ type: "submit",
12105
+ variant: "contained",
12106
+ className: "login-register-button",
12107
+ disabled: props.isSubmitting
12108
+ }, props.isSubmitting ? React__default.createElement(material.CircularProgress, {
12109
+ size: 26
12110
+ }) : isLoggedIn ? 'Confirm Pre-Registration' : 'Create Account')));
12111
+ }));
12112
+ };
12113
+
12114
+ var Prewards = function Prewards(props) {
12115
+ var data = props.data,
12116
+ _props$classNamePrefi = props.classNamePrefix,
12117
+ classNamePrefix = _props$classNamePrefi === void 0 ? '' : _props$classNamePrefi,
12118
+ _props$headerNode = props.headerNode,
12119
+ headerNode = _props$headerNode === void 0 ? React__default.createElement(React__default.Fragment, null, "PRE", React__default.createElement("span", null, "WARDS\u2122")) : _props$headerNode;
12120
+ return React__default.createElement("div", {
12121
+ className: classNamePrefix + "_prewards"
12122
+ }, !_isEmpty(data) && React__default.createElement("div", {
12123
+ className: classNamePrefix + "_prewards_heder"
12124
+ }, headerNode), React__default.createElement("div", {
12125
+ className: classNamePrefix + "_prizes"
12126
+ }, _map(data, function (prize) {
12127
+ var description = prize.description,
12128
+ name = prize.name,
12129
+ image = prize.image,
12130
+ id = prize.id;
12131
+ return React__default.createElement("div", {
12132
+ className: classNamePrefix + "_prize",
12133
+ key: id
12134
+ }, image && React__default.createElement("img", {
12135
+ className: classNamePrefix + "_image",
12136
+ alt: "",
12137
+ src: image
12138
+ }), React__default.createElement("div", {
12139
+ className: classNamePrefix + "_info"
12140
+ }, React__default.createElement("h4", {
12141
+ className: classNamePrefix + "_name"
12142
+ }, name), description && React__default.createElement("article", {
12143
+ className: classNamePrefix + "_description"
12144
+ }, description)));
12145
+ })));
12146
+ };
12147
+
12148
+ var CopyField = function CopyField(props) {
12149
+ var copyValue = props.copyValue,
12150
+ _props$copyIconSrc = props.copyIconSrc,
12151
+ copyIconSrc = _props$copyIconSrc === void 0 ? 'https://img.icons8.com/office/50/000000/copy.png' : _props$copyIconSrc,
12152
+ _props$copyTitle = props.copyTitle,
12153
+ copyTitle = _props$copyTitle === void 0 ? 'Copy' : _props$copyTitle,
12154
+ _props$hasCopyIcon = props.hasCopyIcon,
12155
+ hasCopyIcon = _props$hasCopyIcon === void 0 ? false : _props$hasCopyIcon,
12156
+ _props$onLinkCopied = props.onLinkCopied,
12157
+ onLinkCopied = _props$onLinkCopied === void 0 ? _identity : _props$onLinkCopied,
12158
+ _props$classNamePrefi = props.classNamePrefix,
12159
+ classNamePrefix = _props$classNamePrefi === void 0 ? '' : _props$classNamePrefi,
12160
+ _props$messageText = props.messageText,
12161
+ messageText = _props$messageText === void 0 ? '' : _props$messageText;
12162
+ var inputRef = React.useRef(null);
12163
+ return React__default.createElement(React__default.Fragment, null, messageText && React__default.createElement("span", {
12164
+ className: "message-text"
12165
+ }, messageText), React__default.createElement("input", {
12166
+ ref: inputRef,
12167
+ className: classNamePrefix + "_share-input",
12168
+ defaultValue: copyValue,
12169
+ readOnly: true
12170
+ }), React__default.createElement("div", {
12171
+ className: classNamePrefix + "_share-by-link-copy-icon",
12172
+ "aria-hidden": true,
12173
+ onClick: function onClick() {
12174
+ navigator.clipboard.writeText(_get(inputRef, 'current.value'));
12175
+ onLinkCopied();
12176
+ }
12177
+ }, hasCopyIcon ? React__default.createElement("img", {
12178
+ src: copyIconSrc,
12179
+ alt: "copy"
12180
+ }) : React__default.createElement("span", {
12181
+ className: classNamePrefix + "_copy-icon"
12182
+ }, copyTitle)));
12183
+ };
12184
+
12185
+ var ShareOptions = function ShareOptions(props) {
12186
+ var classNamePrefix = props.classNamePrefix,
12187
+ data = props.data,
12188
+ _props$hasCopyIcon = props.hasCopyIcon,
12189
+ hasCopyIcon = _props$hasCopyIcon === void 0 ? true : _props$hasCopyIcon,
12190
+ _props$onLinkCopied = props.onLinkCopied,
12191
+ onLinkCopied = _props$onLinkCopied === void 0 ? _identity : _props$onLinkCopied,
12192
+ _props$headerText = props.headerText,
12193
+ headerText = _props$headerText === void 0 ? 'Share with your friends here ...' : _props$headerText,
12194
+ hash = props.hash,
12195
+ updateShareActionData = props.updateShareActionData,
12196
+ shareActionData = props.shareActionData;
12197
+ var _data$attributes = data.attributes,
12198
+ actions = _data$attributes.actions,
12199
+ shareUrl = _data$attributes.shareUrl;
12200
+ var shareButtons = shareOptionsAdapter(actions, shareUrl);
12201
+ var isShareLinkEnabled = _some(actions, function (item) {
12202
+ return item.action === 'shared_url';
12203
+ });
12204
+ var _onAfterShare = /*#__PURE__*/function () {
12205
+ var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(eventActionId) {
12206
+ var shareActionToken, tokenShuffleMethod, accessToken;
12207
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
12208
+ while (1) switch (_context.prev = _context.next) {
12209
+ case 0:
12210
+ shareActionToken = shareActionData.shareActionToken, tokenShuffleMethod = shareActionData.tokenShuffleMethod;
12211
+ accessToken = getShuffleMethodByName(tokenShuffleMethod)(shareActionToken);
12212
+ if (!(typeof eventActionId === 'string')) {
12213
+ _context.next = 6;
12214
+ break;
12215
+ }
12216
+ _context.next = 5;
12217
+ return submitShareAction({
12218
+ eventActionId: eventActionId,
12219
+ accessToken: accessToken,
12220
+ hash: hash
12221
+ });
12222
+ case 5:
12223
+ updateShareActionData();
12224
+ case 6:
12225
+ case "end":
12226
+ return _context.stop();
12227
+ }
12228
+ }, _callee);
12229
+ }));
12230
+ return function onAfterShare(_x) {
12231
+ return _ref.apply(this, arguments);
12232
+ };
12233
+ }();
12234
+ return React__default.createElement("div", {
12235
+ className: classNamePrefix + "_share_options"
12236
+ }, !_isEmpty(actions) && React__default.createElement(React__default.Fragment, null, React__default.createElement("div", {
12237
+ className: classNamePrefix + "_share_header"
12238
+ }, headerText), React__default.createElement(SocialButtons, {
12239
+ shareLink: data.attributes.shareUrl,
12240
+ name: "",
12241
+ appId: "",
12242
+ showDefaultShareButtons: false,
12243
+ shareButtons: shareButtons,
12244
+ titleText: "",
12245
+ footerText: "",
12246
+ onAfterShare: function onAfterShare(eventActionId) {
12247
+ return _onAfterShare(eventActionId);
12248
+ }
12249
+ }), isShareLinkEnabled && React__default.createElement("div", {
12250
+ className: classNamePrefix + "_share_btn_inner"
12251
+ }, React__default.createElement(CopyField, {
12252
+ copyValue: shareUrl,
12253
+ onLinkCopied: onLinkCopied,
12254
+ hasCopyIcon: hasCopyIcon,
12255
+ classNamePrefix: classNamePrefix,
12256
+ messageText: "Share your link"
12257
+ }))));
12258
+ };
12259
+
12260
+ var isWindowDefined$2 = typeof window !== 'undefined';
12261
+ var PreRegistrationComplete = function PreRegistrationComplete(_ref) {
12262
+ var pEventId = _ref.eventId,
12263
+ _ref$classNamePrefix = _ref.classNamePrefix,
12264
+ classNamePrefix = _ref$classNamePrefix === void 0 ? '' : _ref$classNamePrefix,
12265
+ _ref$onLinkCopied = _ref.onLinkCopied,
12266
+ _onLinkCopied = _ref$onLinkCopied === void 0 ? _identity : _ref$onLinkCopied,
12267
+ _ref$hasCopyIcon = _ref.hasCopyIcon,
12268
+ hasCopyIcon = _ref$hasCopyIcon === void 0 ? false : _ref$hasCopyIcon,
12269
+ _ref$pageHeader = _ref.pageHeader,
12270
+ pageHeader = _ref$pageHeader === void 0 ? 'Pre-Registration Confirmation' : _ref$pageHeader,
12271
+ _ref$onGetConfirmatio = _ref.onGetConfirmationDataError,
12272
+ onGetConfirmationDataError = _ref$onGetConfirmatio === void 0 ? _identity : _ref$onGetConfirmatio,
12273
+ _ref$onGetConfirmatio2 = _ref.onGetConfirmationDataSuccess,
12274
+ onGetConfirmationDataSuccess = _ref$onGetConfirmatio2 === void 0 ? _identity : _ref$onGetConfirmatio2,
12275
+ _ref$pageMessage = _ref.pageMessage,
12276
+ pageMessage = _ref$pageMessage === void 0 ? 'Pre registration was successful!' : _ref$pageMessage,
12277
+ _ref$onLoginSuccess = _ref.onLoginSuccess,
12278
+ onLoginSuccess = _ref$onLoginSuccess === void 0 ? _identity : _ref$onLoginSuccess,
12279
+ logo = _ref.logo;
12280
+ var localStorageHash = isWindowDefined$2 ? localStorage.getItem('pre-registration-hash') : '';
12281
+ var queryHash = getQueryVariable('hash') || '';
12282
+ queryHash && isWindowDefined$2 && window.localStorage.setItem('pre-registration-hash', queryHash);
12283
+ var hash = queryHash || localStorageHash;
12284
+ var _useState = React.useState(Boolean(getCookieByName(X_TF_ECOMMERCE))),
12285
+ isLoggedIn = _useState[0],
12286
+ setIsLoggedIn = _useState[1];
12287
+ var _useState2 = React.useState(!isLoggedIn),
12288
+ showModalLogin = _useState2[0],
12289
+ setShowModalLogin = _useState2[1];
12290
+ var _useState3 = React.useState(false),
12291
+ showCopyModal = _useState3[0],
12292
+ setShowCopyModal = _useState3[1];
12293
+ var _useState4 = React.useState([]),
12294
+ prizes = _useState4[0],
12295
+ setPrizes = _useState4[1];
12296
+ var _useState5 = React.useState({}),
12297
+ shareOptions = _useState5[0],
12298
+ setShareOptions = _useState5[1];
12299
+ var _useState6 = React.useState({}),
12300
+ shareActionData = _useState6[0],
12301
+ setShareActionData = _useState6[1];
12302
+ var _useState7 = React.useState({}),
12303
+ error = _useState7[0],
12304
+ setError = _useState7[1];
12305
+ useCookieListener(X_TF_ECOMMERCE, function (value) {
12306
+ return setIsLoggedIn(Boolean(value));
12307
+ });
12308
+ React.useEffect(function () {
12309
+ var fetchConfirmationData = /*#__PURE__*/function () {
12310
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
12311
+ var shareOptionsData, attributes, eventId, influencersData, _error$response;
12312
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
12313
+ while (1) switch (_context.prev = _context.next) {
12314
+ case 0:
12315
+ _context.prev = 0;
12316
+ if (!(hash && isLoggedIn)) {
12317
+ _context.next = 15;
12318
+ break;
12319
+ }
12320
+ _context.next = 4;
12321
+ return getPreRegistrationShareOptions({
12322
+ hash: hash
12323
+ });
12324
+ case 4:
12325
+ shareOptionsData = _context.sent;
12326
+ attributes = shareOptionsData.data.attributes;
12327
+ setShareOptions(shareOptionsData.data);
12328
+ setShareActionData({
12329
+ shareActionToken: attributes.shareActionToken,
12330
+ tokenShuffleMethod: attributes.tokenShuffleMethod
12331
+ });
12332
+ eventId = _get(shareOptionsData, 'data.attributes.eventId');
12333
+ if (!(eventId || pEventId)) {
12334
+ _context.next = 14;
12335
+ break;
12336
+ }
12337
+ _context.next = 12;
12338
+ return getPreRegistrationInfluancers({
12339
+ eventId: eventId || pEventId
12340
+ });
12341
+ case 12:
12342
+ influencersData = _context.sent;
12343
+ setPrizes(influencersData.data.attributes.prizes);
12344
+ case 14:
12345
+ onGetConfirmationDataSuccess();
12346
+ case 15:
12347
+ _context.next = 20;
12348
+ break;
12349
+ case 17:
12350
+ _context.prev = 17;
12351
+ _context.t0 = _context["catch"](0);
12352
+ if (axios.isAxiosError(_context.t0)) {
12353
+ setError((_error$response = _context.t0.response) == null ? void 0 : _error$response.data);
12354
+ }
12355
+ case 20:
12356
+ case "end":
12357
+ return _context.stop();
12358
+ }
12359
+ }, _callee, null, [[0, 17]]);
12360
+ }));
12361
+ return function fetchConfirmationData() {
12362
+ return _ref2.apply(this, arguments);
12363
+ };
12364
+ }();
12365
+ fetchConfirmationData();
12366
+ }, [pEventId, hash, onGetConfirmationDataError, onGetConfirmationDataSuccess, isLoggedIn]);
12367
+ var onClose = function onClose() {
12368
+ setShowCopyModal(false);
12369
+ };
12370
+ var updateShareActionData = /*#__PURE__*/function () {
12371
+ var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
12372
+ var shareOptionsData;
12373
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
12374
+ while (1) switch (_context2.prev = _context2.next) {
12375
+ case 0:
12376
+ if (!hash) {
12377
+ _context2.next = 6;
12378
+ break;
12379
+ }
12380
+ _context2.next = 3;
12381
+ return getPreRegistrationShareOptions({
12382
+ hash: hash
12383
+ });
12384
+ case 3:
12385
+ shareOptionsData = _context2.sent;
12386
+ setShareOptions(shareOptionsData.data);
12387
+ setShareActionData({
12388
+ shareActionToken: shareOptionsData.data.attributes.shareActionToken,
12389
+ tokenShuffleMethod: shareOptionsData.data.attributes.tokenShuffleMethod
12390
+ });
12391
+ case 6:
12392
+ case "end":
12393
+ return _context2.stop();
12394
+ }
12395
+ }, _callee2);
12396
+ }));
12397
+ return function updateShareActionData() {
12398
+ return _ref3.apply(this, arguments);
12399
+ };
12400
+ }();
12401
+ return React__default.createElement(React__default.Fragment, null, isLoggedIn && _isEmpty(error) ? React__default.createElement("div", {
12402
+ className: classNamePrefix + "_pre_registration_complete_container"
12403
+ }, React__default.createElement(CopyMessageModal, {
12404
+ showCopyModal: showCopyModal,
12405
+ onClose: onClose
12406
+ }), React__default.createElement("p", {
12407
+ className: classNamePrefix + "_pre_registration_complete_header"
12408
+ }, pageHeader), React__default.createElement("div", {
12409
+ className: classNamePrefix + "_pre_registration_complete_message"
12410
+ }, pageMessage), React__default.createElement("div", {
12411
+ className: classNamePrefix + "_pre_registration_complete_body"
12412
+ }, !_isEmpty(prizes) && React__default.createElement(Prewards, {
12413
+ classNamePrefix: classNamePrefix,
12414
+ data: prizes
12415
+ }), !_isEmpty(shareOptions) && React__default.createElement(ShareOptions, {
12416
+ classNamePrefix: classNamePrefix,
12417
+ data: shareOptions,
12418
+ onLinkCopied: function onLinkCopied() {
12419
+ setShowCopyModal(true);
12420
+ _onLinkCopied();
12421
+ },
12422
+ shareActionData: shareActionData,
12423
+ updateShareActionData: updateShareActionData,
12424
+ hasCopyIcon: hasCopyIcon,
12425
+ hash: hash
12426
+ }))) : showModalLogin && React__default.createElement(LoginModal, {
12427
+ logo: logo,
12428
+ onClose: function onClose() {
12429
+ setShowModalLogin(false);
12430
+ },
12431
+ onLogin: function onLogin(res) {
12432
+ setShowModalLogin(false);
12433
+ onLoginSuccess(res);
12434
+ }
12435
+ }), !_isEmpty(error) && React__default.createElement(ConfirmModal, {
12436
+ hideCancelBtn: true,
12437
+ message: error.message,
12438
+ onConfirm: function onConfirm() {
12439
+ return onGetConfirmationDataError(error);
12440
+ }
12441
+ }));
12442
+ };
12443
+
12444
+ var Influancers = function Influancers(props) {
12445
+ var data = props.data,
12446
+ classNamePrefix = props.classNamePrefix,
12447
+ _props$headerNode = props.headerNode,
12448
+ headerNode = _props$headerNode === void 0 ? React__default.createElement(React__default.Fragment, null, "TOP", React__default.createElement("span", null, "\xA0INFLUANCERS")) : _props$headerNode;
12449
+ return React__default.createElement("div", {
12450
+ className: classNamePrefix + "_influencers_container"
12451
+ }, !_isEmpty(data) && React__default.createElement("div", {
12452
+ className: classNamePrefix + "_influencers_header"
12453
+ }, headerNode), React__default.createElement("div", {
12454
+ className: classNamePrefix + "_influencers"
12455
+ }, _map(data, function (influencer, index) {
12456
+ return React__default.createElement("div", {
12457
+ key: influencer.prereg_id,
12458
+ className: classNamePrefix + "_influencer"
12459
+ }, React__default.createElement("span", {
12460
+ className: classNamePrefix + "_influencer_index"
12461
+ }, index + 1), React__default.createElement("span", {
12462
+ className: classNamePrefix + "_influencer_title"
12463
+ }, "INFLUENCER"), React__default.createElement("span", {
12464
+ className: classNamePrefix + "_influencer_name"
12465
+ }, influencer.name));
12466
+ })));
12467
+ };
12468
+
12469
+ var PreRegistrationInformations = function PreRegistrationInformations(props) {
12470
+ var classNamePrefix = props.classNamePrefix,
12471
+ eventId = props.eventId,
12472
+ _props$onGetPreregist = props.onGetPreregistrationDataSuccess,
12473
+ onGetPreregistrationDataSuccess = _props$onGetPreregist === void 0 ? _identity : _props$onGetPreregist,
12474
+ _props$onGetPreregist2 = props.onGetPreregistrationDataError,
12475
+ onGetPreregistrationDataError = _props$onGetPreregist2 === void 0 ? _identity : _props$onGetPreregist2,
12476
+ influancersHeaderNode = props.influancersHeaderNode,
12477
+ prewardsHeaderNode = props.prewardsHeaderNode;
12478
+ var _useState = React.useState([]),
12479
+ prizes = _useState[0],
12480
+ setPrizes = _useState[1];
12481
+ var _useState2 = React.useState([]),
12482
+ influencers = _useState2[0],
12483
+ setInfluencers = _useState2[1];
12484
+ var topInfluancers = _slice(influencers, 0, 10);
12485
+ React.useEffect(function () {
12486
+ var fetchPreregistrationData = /*#__PURE__*/function () {
12487
+ var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
12488
+ var preregistrationData;
12489
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
12490
+ while (1) switch (_context.prev = _context.next) {
12491
+ case 0:
12492
+ _context.prev = 0;
12493
+ _context.next = 3;
12494
+ return getPreRegistrationInfluancers({
12495
+ eventId: eventId
12496
+ });
12497
+ case 3:
12498
+ preregistrationData = _context.sent;
12499
+ setPrizes(preregistrationData.data.attributes.prizes);
12500
+ setInfluencers(preregistrationData.data.attributes.influencers);
12501
+ onGetPreregistrationDataSuccess();
12502
+ _context.next = 12;
12503
+ break;
12504
+ case 9:
12505
+ _context.prev = 9;
12506
+ _context.t0 = _context["catch"](0);
12507
+ if (_context.t0) {
12508
+ onGetPreregistrationDataError();
12509
+ }
12510
+ case 12:
12511
+ case "end":
12512
+ return _context.stop();
12513
+ }
12514
+ }, _callee, null, [[0, 9]]);
12515
+ }));
12516
+ return function fetchPreregistrationData() {
12517
+ return _ref.apply(this, arguments);
12518
+ };
12519
+ }();
12520
+ fetchPreregistrationData();
12521
+ }, [eventId, onGetPreregistrationDataError, onGetPreregistrationDataSuccess]);
12522
+ return React__default.createElement("div", {
12523
+ className: classNamePrefix + "_pre_registration_info_container"
12524
+ }, React__default.createElement(Prewards, {
12525
+ headerNode: prewardsHeaderNode,
12526
+ data: prizes,
12527
+ classNamePrefix: classNamePrefix
12528
+ }), React__default.createElement(Influancers, {
12529
+ headerNode: influancersHeaderNode,
12530
+ data: topInfluancers,
12531
+ classNamePrefix: classNamePrefix
12532
+ }));
12533
+ };
12534
+
11187
12535
  exports.AddonsContainter = AddonsContainter;
11188
12536
  exports.BillingInfoContainer = BillingInfoContainer;
11189
12537
  exports.ConfirmationContainer = ConfirmationContainer;
@@ -11195,6 +12543,9 @@ exports.MyTicketsContainer = MyTicketsContainer;
11195
12543
  exports.OrderDetailsContainer = OrderDetailsContainer;
11196
12544
  exports.PaymentContainer = PaymentContainer;
11197
12545
  exports.PoweredBy = PoweredBy;
12546
+ exports.PreRegistration = PreRegistration;
12547
+ exports.PreRegistrationComplete = PreRegistrationComplete;
12548
+ exports.PreRegistrationInformations = PreRegistrationInformations;
11198
12549
  exports.RedirectModal = RedirectModal;
11199
12550
  exports.ResetPasswordContainer = ResetPasswordContainer;
11200
12551
  exports.RsvpContainer = RsvpContainer;