tf-checkout-react 1.0.106-beta.7 → 1.0.106-beta.8

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 (29) hide show
  1. package/dist/api/index.d.ts +7 -0
  2. package/dist/components/billing-info-container/index.d.ts +5 -1
  3. package/dist/components/forgotPasswordModal/index.d.ts +11 -0
  4. package/dist/components/index.d.ts +1 -0
  5. package/dist/components/loginModal/index.d.ts +4 -0
  6. package/dist/components/resetPasswordContainer/index.d.ts +10 -0
  7. package/dist/components/signupModal/index.d.ts +14 -0
  8. package/dist/tf-checkout-react.cjs.development.js +423 -276
  9. package/dist/tf-checkout-react.cjs.development.js.map +1 -1
  10. package/dist/tf-checkout-react.cjs.production.min.js +1 -1
  11. package/dist/tf-checkout-react.cjs.production.min.js.map +1 -1
  12. package/dist/tf-checkout-react.esm.js +422 -275
  13. package/dist/tf-checkout-react.esm.js.map +1 -1
  14. package/dist/tf-checkout-styles.css +1 -1
  15. package/package.json +1 -1
  16. package/src/api/index.ts +13 -0
  17. package/src/components/billing-info-container/index.tsx +43 -12
  18. package/src/components/forgotPasswordModal/index.tsx +107 -0
  19. package/src/components/forgotPasswordModal/style.css +47 -0
  20. package/src/components/index.ts +1 -0
  21. package/src/components/loginModal/index.tsx +19 -9
  22. package/src/components/orderDetailsContainer/ticketsTable.tsx +11 -13
  23. package/src/components/resetPasswordContainer/index.tsx +96 -0
  24. package/src/components/resetPasswordContainer/style.css +36 -0
  25. package/src/components/signupModal/index.tsx +195 -0
  26. package/src/components/signupModal/style.css +58 -0
  27. package/dist/components/registerModal/index.d.ts +0 -11
  28. package/src/components/registerModal/index.tsx +0 -190
  29. package/src/components/registerModal/style.css +0 -18
@@ -19,14 +19,15 @@ var _forEach = _interopDefault(require('lodash/forEach'));
19
19
  var material = require('@mui/material');
20
20
  var Modal = _interopDefault(require('@mui/material/Modal'));
21
21
  var Box = _interopDefault(require('@mui/material/Box'));
22
+ var TextField = _interopDefault(require('@mui/material/TextField'));
23
+ var styles = require('@mui/styles');
24
+ var Yup = require('yup');
22
25
  var _flatMapDeep = _interopDefault(require('lodash/flatMapDeep'));
23
26
  var _isArray = _interopDefault(require('lodash/isArray'));
24
27
  var nanoid = require('nanoid');
25
28
  var FormGroup = _interopDefault(require('@mui/material/FormGroup'));
26
29
  var FormControlLabel = _interopDefault(require('@mui/material/FormControlLabel'));
27
30
  var Checkbox = _interopDefault(require('@mui/material/Checkbox'));
28
- var styles = require('@mui/styles');
29
- var TextField = _interopDefault(require('@mui/material/TextField'));
30
31
  require('material-ui-phone-number');
31
32
  var _debounce = _interopDefault(require('lodash/debounce'));
32
33
  var CircularProgress = _interopDefault(require('@mui/material/CircularProgress'));
@@ -63,7 +64,6 @@ var Paper = _interopDefault(require('@mui/material/Paper'));
63
64
  var TablePagination = _interopDefault(require('@mui/material/TablePagination'));
64
65
  var Autocomplete = _interopDefault(require('@mui/material/Autocomplete'));
65
66
  var _has = _interopDefault(require('lodash/has'));
66
- var yup = require('yup');
67
67
  var Radio = _interopDefault(require('@mui/material/Radio'));
68
68
 
69
69
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
@@ -1340,6 +1340,12 @@ var postReferralVisits = function postReferralVisits(eventId, referralId) {
1340
1340
  return publicRequest.post("v1/event/" + eventId + "/referrer/", {
1341
1341
  referrer: "" + referralId
1342
1342
  });
1343
+ }; // forgot password
1344
+
1345
+ var forgotPassword = function forgotPassword(email) {
1346
+ return publicRequest.post("/v1/oauth/restore-password-rn", {
1347
+ email: email
1348
+ });
1343
1349
  };
1344
1350
  var processTicket = function processTicket(hash) {
1345
1351
  return publicRequest.post("v1/ticket/" + hash + "/process/");
@@ -1402,20 +1408,22 @@ var LoginModal = function LoginModal(_ref) {
1402
1408
  onGetProfileDataSuccess = _ref$onGetProfileData === void 0 ? function () {} : _ref$onGetProfileData,
1403
1409
  _ref$onGetProfileData2 = _ref.onGetProfileDataError,
1404
1410
  onGetProfileDataError = _ref$onGetProfileData2 === void 0 ? function () {} : _ref$onGetProfileData2,
1411
+ _ref$onForgotPassword = _ref.onForgotPassword,
1412
+ onForgotPassword = _ref$onForgotPassword === void 0 ? function () {} : _ref$onForgotPassword,
1413
+ _ref$onSignup = _ref.onSignup,
1414
+ onSignup = _ref$onSignup === void 0 ? function () {} : _ref$onSignup,
1405
1415
  _ref$modalClassname = _ref.modalClassname,
1406
1416
  modalClassname = _ref$modalClassname === void 0 ? '' : _ref$modalClassname,
1407
- logo = _ref.logo;
1417
+ logo = _ref.logo,
1418
+ _ref$showForgotPasswo = _ref.showForgotPasswordButton,
1419
+ showForgotPasswordButton = _ref$showForgotPasswo === void 0 ? false : _ref$showForgotPasswo,
1420
+ _ref$showSignUpButton = _ref.showSignUpButton,
1421
+ showSignUpButton = _ref$showSignUpButton === void 0 ? false : _ref$showSignUpButton;
1408
1422
 
1409
1423
  var _useState = React.useState(''),
1410
1424
  error = _useState[0],
1411
1425
  setError = _useState[1];
1412
1426
 
1413
- var handleForgotPassword = function handleForgotPassword() {
1414
- if (typeof window !== 'undefined') {
1415
- window.open(CONFIGS.BASE_URL + "/password-restore/");
1416
- }
1417
- };
1418
-
1419
1427
  return React__default.createElement(Modal, {
1420
1428
  open: true,
1421
1429
  onClose: onClose,
@@ -1596,204 +1604,370 @@ var LoginModal = function LoginModal(_ref) {
1596
1604
  className: "login-action-button"
1597
1605
  }, React__default.createElement("button", {
1598
1606
  type: "submit"
1599
- }, "Login")), React__default.createElement("div", {
1600
- className: 'forgot-password'
1607
+ }, "Login")), showForgotPasswordButton && React__default.createElement("div", {
1608
+ className: "forgot-password"
1609
+ }, React__default.createElement("span", {
1610
+ onClick: onForgotPassword
1611
+ }, "Forgot password?")), showSignUpButton && React__default.createElement("div", {
1612
+ className: "forgot-password"
1601
1613
  }, React__default.createElement("span", {
1602
- onClick: handleForgotPassword
1603
- }, "Forgot password?"))));
1614
+ onClick: onSignup
1615
+ }, "Sign up"))));
1604
1616
  }))));
1605
1617
  };
1606
1618
 
1607
- var RegisterModal = function RegisterModal(_ref) {
1608
- var onClose = _ref.onClose,
1609
- _ref$onGetProfileData = _ref.onGetProfileDataSuccess,
1610
- onGetProfileDataSuccess = _ref$onGetProfileData === void 0 ? function () {} : _ref$onGetProfileData,
1611
- _ref$onGetProfileData2 = _ref.onGetProfileDataError,
1612
- onGetProfileDataError = _ref$onGetProfileData2 === void 0 ? function () {} : _ref$onGetProfileData2;
1613
- return React__default.createElement("div", {
1614
- style: {
1615
- display: 'flex',
1616
- position: 'absolute',
1617
- top: 0,
1618
- bottom: 0,
1619
- right: 0,
1620
- left: 0,
1621
- backgroundColor: 'white',
1622
- alignItems: 'center',
1623
- justifyContent: 'center',
1624
- zIndex: 10
1625
- }
1626
- }, React__default.createElement(formik.Formik, {
1627
- initialValues: {
1628
- firstName: '',
1629
- lastName: '',
1630
- email: '',
1631
- password: '',
1632
- confirmPassword: ''
1619
+ var CustomField = function CustomField(_ref) {
1620
+ var label = _ref.label,
1621
+ _ref$type = _ref.type,
1622
+ type = _ref$type === void 0 ? 'text' : _ref$type,
1623
+ field = _ref.field,
1624
+ _ref$selectOptions = _ref.selectOptions,
1625
+ selectOptions = _ref$selectOptions === void 0 ? [] : _ref$selectOptions,
1626
+ _ref$form = _ref.form,
1627
+ touched = _ref$form.touched,
1628
+ errors = _ref$form.errors,
1629
+ submitCount = _ref$form.submitCount,
1630
+ theme = _ref.theme,
1631
+ _ref$inputProps = _ref.inputProps,
1632
+ pInputProps = _ref$inputProps === void 0 ? {} : _ref$inputProps,
1633
+ _ref$InputProps = _ref.InputProps,
1634
+ InputProps = _ref$InputProps === void 0 ? {} : _ref$InputProps,
1635
+ inputRef = _ref.inputRef;
1636
+ var isSelectField = type === 'select';
1637
+
1638
+ var error = _get(errors, field.name);
1639
+
1640
+ var isTouched = Boolean(_get(touched, field.name)) || _includes(field.name, 'holder') && !!error && !!submitCount;
1641
+ var customTheme = styles.useTheme();
1642
+ var inputProps = {
1643
+ sx: customTheme == null ? void 0 : customTheme.input
1644
+ };
1645
+ return React__default.createElement(TextField, Object.assign({
1646
+ id: field.name,
1647
+ label: label,
1648
+ type: type,
1649
+ select: isSelectField,
1650
+ fullWidth: true,
1651
+ error: !!error && isTouched,
1652
+ helperText: isTouched && error,
1653
+ SelectProps: {
1654
+ "native": true,
1655
+ className: theme,
1656
+ MenuProps: {
1657
+ className: theme
1658
+ }
1633
1659
  },
1634
- onSubmit: function () {
1635
- var _onSubmit = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(_ref2) {
1636
- var firstName, lastName, email, password, confirmPassword, bodyFormData, resRegister, access_token, profileResponse, profileSpecifiedData, profileDataObj;
1637
- return runtime_1.wrap(function _callee$(_context) {
1638
- while (1) {
1639
- switch (_context.prev = _context.next) {
1640
- case 0:
1641
- firstName = _ref2.firstName, lastName = _ref2.lastName, email = _ref2.email, password = _ref2.password, confirmPassword = _ref2.confirmPassword;
1642
- bodyFormData = new FormData();
1643
- bodyFormData.append('first_name', firstName);
1644
- bodyFormData.append('last_name', lastName);
1645
- bodyFormData.append('email', email);
1646
- bodyFormData.append('password', password);
1647
- bodyFormData.append('password_confirmation', confirmPassword);
1648
- bodyFormData.append('client_id', CONFIGS.CLIENT_ID || 'e9d8f8922797b4621e562255afe90dbf');
1649
- bodyFormData.append('client_secret', CONFIGS.CLIENT_SECRET || 'b89c191eff22fdcf84ac9bfd88d005355a151ec2c83b26b9');
1650
- _context.next = 11;
1651
- return register(bodyFormData);
1660
+ InputLabelProps: {
1661
+ sx: customTheme == null ? void 0 : customTheme.input
1662
+ },
1663
+ InputProps: InputProps,
1664
+ inputProps: _extends({}, inputProps, pInputProps),
1665
+ inputRef: inputRef
1666
+ }, field), isSelectField ? _map(selectOptions, function (option) {
1667
+ return React__default.createElement("option", {
1668
+ key: option.value,
1669
+ value: option.value,
1670
+ disabled: option.disabled
1671
+ }, option.label);
1672
+ }) : null);
1673
+ };
1652
1674
 
1653
- case 11:
1654
- resRegister = _context.sent;
1655
- access_token = _get(resRegister, 'data.data.attributes.access_token');
1656
- handleSetAccessToken(access_token);
1657
- profileResponse = null;
1658
- _context.prev = 15;
1659
- _context.next = 18;
1660
- return getProfileData(access_token);
1675
+ var style$1 = {
1676
+ position: 'absolute',
1677
+ top: '50%',
1678
+ left: '50%',
1679
+ transform: 'translate(-50%, -50%)',
1680
+ minWidth: 480,
1681
+ backgroundColor: '#fff',
1682
+ border: '1px solid white',
1683
+ outline: 'none',
1684
+ padding: '14px'
1685
+ };
1686
+ var SignupSchema = /*#__PURE__*/Yup.object().shape({
1687
+ firstName: /*#__PURE__*/Yup.string().required('Required'),
1688
+ lastName: /*#__PURE__*/Yup.string().required('Required'),
1689
+ email: /*#__PURE__*/Yup.string().email('Invalid email').required('Required'),
1690
+ password: /*#__PURE__*/Yup.string().min(6, 'Password must have 5+ characters').required('Required'),
1691
+ confirmPassword: /*#__PURE__*/Yup.string().required('Required').oneOf([/*#__PURE__*/Yup.ref('password'), null], 'Passwords must match')
1692
+ });
1693
+ var SignupModal = function SignupModal(_ref) {
1694
+ var _ref$onClose = _ref.onClose,
1695
+ onClose = _ref$onClose === void 0 ? function () {} : _ref$onClose,
1696
+ _ref$onLogin = _ref.onLogin,
1697
+ onLogin = _ref$onLogin === void 0 ? function () {} : _ref$onLogin,
1698
+ _ref$onRegisterSucces = _ref.onRegisterSuccess,
1699
+ onRegisterSuccess = _ref$onRegisterSucces === void 0 ? function () {} : _ref$onRegisterSucces,
1700
+ _ref$onRegisterError = _ref.onRegisterError,
1701
+ onRegisterError = _ref$onRegisterError === void 0 ? function () {} : _ref$onRegisterError;
1661
1702
 
1662
- case 18:
1663
- profileResponse = _context.sent;
1664
- onGetProfileDataSuccess(profileResponse.data);
1665
- _context.next = 26;
1666
- break;
1703
+ var _useState = React.useState(false),
1704
+ loading = _useState[0],
1705
+ setLoading = _useState[1];
1667
1706
 
1668
- case 22:
1669
- _context.prev = 22;
1670
- _context.t0 = _context["catch"](15);
1671
- onGetProfileDataError(_context.t0.response);
1672
- return _context.abrupt("return");
1707
+ var onSignup = /*#__PURE__*/function () {
1708
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(values) {
1709
+ var formData, res, access_token_register, refreshToken, tokens;
1710
+ return runtime_1.wrap(function _callee$(_context) {
1711
+ while (1) {
1712
+ switch (_context.prev = _context.next) {
1713
+ case 0:
1714
+ _context.prev = 0;
1715
+ setLoading(true);
1716
+ formData = new FormData();
1717
+ formData.set('first_name', values.firstName);
1718
+ formData.set('last_name', values.lastName);
1719
+ formData.set('email', values.email);
1720
+ formData.set('password', values.password);
1721
+ formData.set('password_confirmation', values.confirmPassword);
1722
+ formData.append('client_id', CONFIGS.CLIENT_ID || 'e9d8f8922797b4621e562255afe90dbf');
1723
+ formData.append('client_secret', CONFIGS.CLIENT_SECRET || 'b89c191eff22fdcf84ac9bfd88d005355a151ec2c83b26b9');
1724
+ _context.next = 12;
1725
+ return register(formData);
1673
1726
 
1674
- case 26:
1675
- profileSpecifiedData = _get(profileResponse, 'data.data');
1676
- profileDataObj = {
1677
- id: profileSpecifiedData.id,
1678
- first_name: profileSpecifiedData.firstName,
1679
- last_name: profileSpecifiedData.lastName,
1680
- email: profileSpecifiedData.email
1681
- };
1727
+ case 12:
1728
+ res = _context.sent;
1729
+ access_token_register = _get(res, 'data.data.attributes.access_token');
1730
+ refreshToken = _get(res, 'data.data.attributes.refresh_token');
1731
+ handleSetAccessToken(access_token_register);
1732
+ tokens = {
1733
+ accessToken: access_token_register,
1734
+ refreshToken: refreshToken
1735
+ };
1736
+ onRegisterSuccess(tokens);
1737
+ onClose();
1738
+ _context.next = 24;
1739
+ break;
1682
1740
 
1683
- if (typeof window !== 'undefined') {
1684
- window.localStorage.setItem('access_token', access_token);
1685
- window.localStorage.setItem('user_data', JSON.stringify(profileDataObj));
1686
- }
1741
+ case 21:
1742
+ _context.prev = 21;
1743
+ _context.t0 = _context["catch"](0);
1687
1744
 
1688
- onClose();
1745
+ if (axios.isAxiosError(_context.t0)) {
1746
+ onRegisterError(_context.t0, values.email);
1747
+ }
1689
1748
 
1690
- case 30:
1691
- case "end":
1692
- return _context.stop();
1693
- }
1749
+ case 24:
1750
+ _context.prev = 24;
1751
+ setLoading(false);
1752
+ return _context.finish(24);
1753
+
1754
+ case 27:
1755
+ case "end":
1756
+ return _context.stop();
1694
1757
  }
1695
- }, _callee, null, [[15, 22]]);
1696
- }));
1758
+ }
1759
+ }, _callee, null, [[0, 21, 24, 27]]);
1760
+ }));
1697
1761
 
1698
- function onSubmit(_x) {
1699
- return _onSubmit.apply(this, arguments);
1700
- }
1762
+ return function onSignup(_x) {
1763
+ return _ref2.apply(this, arguments);
1764
+ };
1765
+ }();
1701
1766
 
1702
- return onSubmit;
1703
- }()
1704
- }, function (props) {
1767
+ var _onClose = loading ? function () {} : onClose;
1768
+
1769
+ return React__default.createElement(material.Modal, {
1770
+ open: true,
1771
+ onClose: _onClose,
1772
+ "aria-labelledby": "modal-modal-title",
1773
+ "aria-describedby": "modal-modal-description",
1774
+ className: "signup-modal"
1775
+ }, React__default.createElement(material.Box, {
1776
+ style: style$1
1777
+ }, React__default.createElement("div", null, React__default.createElement(formik.Formik, {
1778
+ initialValues: {
1779
+ firstName: '',
1780
+ lastName: '',
1781
+ email: '',
1782
+ password: '',
1783
+ confirmPassword: ''
1784
+ },
1785
+ validationSchema: SignupSchema,
1786
+ onSubmit: onSignup
1787
+ }, function (_ref3) {
1788
+ var isValid = _ref3.isValid,
1789
+ dirty = _ref3.dirty,
1790
+ handleSubmit = _ref3.handleSubmit;
1705
1791
  return React__default.createElement(formik.Form, {
1706
- onSubmit: props.handleSubmit
1792
+ onSubmit: handleSubmit
1707
1793
  }, React__default.createElement("div", {
1708
- className: "register-container"
1709
- }, React__default.createElement("div", null, "Create account"), React__default.createElement("button", {
1710
- type: "button",
1711
- onClick: onClose
1712
- }, "Close"), React__default.createElement("div", {
1713
- className: "register-container__twoFields"
1794
+ className: "signup-container"
1795
+ }, React__default.createElement("div", {
1796
+ className: "title"
1797
+ }, "Create an Account"), React__default.createElement("div", {
1798
+ className: "signup-container__twoFields"
1714
1799
  }, React__default.createElement("div", {
1715
1800
  className: "is-half"
1716
1801
  }, React__default.createElement(formik.Field, {
1717
- name: 'firstName',
1718
- validate: requiredValidator()
1719
- }, function (_ref3) {
1720
- var field = _ref3.field,
1721
- meta = _ref3.meta;
1722
- return React__default.createElement(material.TextField, Object.assign({
1723
- label: 'First Name',
1724
- type: 'text',
1725
- fullWidth: true,
1726
- error: !!meta.error && meta.touched,
1727
- helperText: meta.touched && meta.error
1728
- }, field));
1802
+ name: "firstName",
1803
+ label: "First Name",
1804
+ component: CustomField
1729
1805
  })), React__default.createElement("div", {
1730
1806
  className: "is-half"
1731
1807
  }, React__default.createElement(formik.Field, {
1732
- name: 'lastName',
1733
- validate: requiredValidator()
1734
- }, function (_ref4) {
1735
- var field = _ref4.field,
1736
- meta = _ref4.meta;
1737
- return React__default.createElement(material.TextField, Object.assign({
1738
- label: 'Last Name',
1739
- type: 'text',
1740
- fullWidth: true,
1741
- error: !!meta.error && meta.touched,
1742
- helperText: meta.touched && meta.error
1743
- }, field));
1808
+ name: "lastName",
1809
+ label: "Last Name",
1810
+ component: CustomField
1744
1811
  }))), React__default.createElement("div", {
1745
- className: "register-container__singleField"
1812
+ className: "signup-container__singleField"
1746
1813
  }, React__default.createElement("div", {
1747
1814
  className: ""
1748
1815
  }, React__default.createElement(formik.Field, {
1749
- name: 'email',
1750
- validate: requiredValidator()
1751
- }, function (_ref5) {
1752
- var field = _ref5.field,
1753
- meta = _ref5.meta;
1754
- return React__default.createElement(material.TextField, Object.assign({
1755
- label: 'Email',
1756
- type: 'email',
1757
- fullWidth: true,
1758
- error: !!meta.error && meta.touched,
1759
- helperText: meta.touched && meta.error
1760
- }, field));
1816
+ name: "email",
1817
+ label: "Email",
1818
+ component: CustomField
1761
1819
  }))), React__default.createElement("div", {
1762
- className: "register-container__twoFields"
1820
+ className: "signup-container__twoFields"
1763
1821
  }, React__default.createElement("div", {
1764
1822
  className: "is-half"
1765
1823
  }, React__default.createElement(formik.Field, {
1766
- name: 'password',
1767
- validate: requiredValidator()
1768
- }, function (_ref6) {
1769
- var field = _ref6.field,
1770
- meta = _ref6.meta;
1771
- return React__default.createElement(material.TextField, Object.assign({
1772
- label: 'Password',
1773
- type: 'password',
1774
- fullWidth: true,
1775
- error: !!meta.error && meta.touched,
1776
- helperText: meta.touched && meta.error
1777
- }, field));
1824
+ name: "password",
1825
+ label: "Password",
1826
+ type: "password",
1827
+ component: CustomField
1778
1828
  })), React__default.createElement("div", {
1779
1829
  className: "is-half"
1780
1830
  }, React__default.createElement(formik.Field, {
1781
- name: 'confirmPassword',
1782
- validate: requiredValidator()
1783
- }, function (_ref7) {
1784
- var field = _ref7.field,
1785
- meta = _ref7.meta;
1786
- return React__default.createElement(material.TextField, Object.assign({
1787
- label: 'Confirm Passwod',
1788
- type: 'password',
1789
- fullWidth: true,
1790
- error: !!meta.error && meta.touched,
1791
- helperText: meta.touched && meta.error
1792
- }, field));
1793
- })))), React__default.createElement("button", {
1794
- type: "submit"
1795
- }, "Submit"));
1796
- }));
1831
+ name: "confirmPassword",
1832
+ label: "Confirm Password",
1833
+ type: "password",
1834
+ component: CustomField
1835
+ })))), React__default.createElement("div", {
1836
+ className: "signup-action-button"
1837
+ }, React__default.createElement("button", {
1838
+ type: "submit",
1839
+ disabled: !(isValid && dirty)
1840
+ }, loading ? React__default.createElement(material.CircularProgress, {
1841
+ size: "22px"
1842
+ }) : 'Submit')), React__default.createElement("div", {
1843
+ className: "login"
1844
+ }, React__default.createElement("span", {
1845
+ onClick: onLogin
1846
+ }, "Login")));
1847
+ }))));
1848
+ };
1849
+
1850
+ var style$2 = {
1851
+ position: 'absolute',
1852
+ top: '50%',
1853
+ left: '50%',
1854
+ transform: 'translate(-50%, -50%)',
1855
+ minWidth: 480,
1856
+ backgroundColor: '#fff',
1857
+ border: '1px solid white',
1858
+ outline: 'none',
1859
+ padding: '14px'
1860
+ };
1861
+ var Schema = /*#__PURE__*/Yup.object().shape({
1862
+ email: /*#__PURE__*/Yup.string().email('Invalid email').required('Required')
1863
+ });
1864
+ var ForgotPasswordModal = function ForgotPasswordModal(_ref) {
1865
+ var _ref$onClose = _ref.onClose,
1866
+ onClose = _ref$onClose === void 0 ? function () {} : _ref$onClose,
1867
+ _ref$onLogin = _ref.onLogin,
1868
+ onLogin = _ref$onLogin === void 0 ? function () {} : _ref$onLogin,
1869
+ _ref$onForgotPassword = _ref.onForgotPasswordSuccess,
1870
+ onForgotPasswordSuccess = _ref$onForgotPassword === void 0 ? function () {} : _ref$onForgotPassword,
1871
+ _ref$onForgotPassword2 = _ref.onForgotPasswordError,
1872
+ onForgotPasswordError = _ref$onForgotPassword2 === void 0 ? function () {} : _ref$onForgotPassword2;
1873
+
1874
+ var _useState = React.useState(false),
1875
+ loading = _useState[0],
1876
+ setLoading = _useState[1];
1877
+
1878
+ var onForgotPassword = /*#__PURE__*/function () {
1879
+ var _ref3 = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(_ref2) {
1880
+ var email, _yield$forgotPassword, data;
1881
+
1882
+ return runtime_1.wrap(function _callee$(_context) {
1883
+ while (1) {
1884
+ switch (_context.prev = _context.next) {
1885
+ case 0:
1886
+ email = _ref2.email;
1887
+ _context.prev = 1;
1888
+ setLoading(true);
1889
+ _context.next = 5;
1890
+ return forgotPassword(email);
1891
+
1892
+ case 5:
1893
+ _yield$forgotPassword = _context.sent;
1894
+ data = _yield$forgotPassword.data;
1895
+ onForgotPasswordSuccess(data);
1896
+ onClose();
1897
+ _context.next = 14;
1898
+ break;
1899
+
1900
+ case 11:
1901
+ _context.prev = 11;
1902
+ _context.t0 = _context["catch"](1);
1903
+
1904
+ if (axios.isAxiosError(_context.t0)) {
1905
+ onForgotPasswordError(_context.t0);
1906
+ }
1907
+
1908
+ case 14:
1909
+ _context.prev = 14;
1910
+ setLoading(false);
1911
+ return _context.finish(14);
1912
+
1913
+ case 17:
1914
+ case "end":
1915
+ return _context.stop();
1916
+ }
1917
+ }
1918
+ }, _callee, null, [[1, 11, 14, 17]]);
1919
+ }));
1920
+
1921
+ return function onForgotPassword(_x) {
1922
+ return _ref3.apply(this, arguments);
1923
+ };
1924
+ }();
1925
+
1926
+ var _onClose = loading ? function () {} : onClose;
1927
+
1928
+ return React__default.createElement(material.Modal, {
1929
+ open: true,
1930
+ onClose: _onClose,
1931
+ "aria-labelledby": "modal-modal-title",
1932
+ "aria-describedby": "modal-modal-description",
1933
+ className: "forgot-password-modal"
1934
+ }, React__default.createElement(material.Box, {
1935
+ style: style$2
1936
+ }, React__default.createElement("div", null, React__default.createElement(formik.Formik, {
1937
+ initialValues: {
1938
+ email: ''
1939
+ },
1940
+ validationSchema: Schema,
1941
+ onSubmit: onForgotPassword
1942
+ }, function (_ref4) {
1943
+ var isValid = _ref4.isValid,
1944
+ dirty = _ref4.dirty,
1945
+ handleSubmit = _ref4.handleSubmit;
1946
+ return React__default.createElement(formik.Form, {
1947
+ onSubmit: handleSubmit
1948
+ }, React__default.createElement("div", {
1949
+ className: "forgot-password-container"
1950
+ }, React__default.createElement("div", {
1951
+ className: "title"
1952
+ }, "Password Reset"), React__default.createElement("div", {
1953
+ className: "forgot-password-container__singleField"
1954
+ }, React__default.createElement(formik.Field, {
1955
+ name: "email",
1956
+ label: "Email",
1957
+ component: CustomField
1958
+ }))), React__default.createElement("div", {
1959
+ className: "forgot-password-action-button"
1960
+ }, React__default.createElement("button", {
1961
+ type: "submit",
1962
+ disabled: !(isValid && dirty)
1963
+ }, loading ? React__default.createElement(material.CircularProgress, {
1964
+ size: "22px"
1965
+ }) : 'Submit')), React__default.createElement("div", {
1966
+ className: "login"
1967
+ }, React__default.createElement("span", {
1968
+ onClick: onLogin
1969
+ }, "Back to Log In")));
1970
+ }))));
1797
1971
  };
1798
1972
 
1799
1973
  var _excluded = ["firstName", "lastName", "holderAge", "confirmEmail", "confirmPassword"];
@@ -2002,62 +2176,6 @@ var CheckboxField = function CheckboxField(_ref) {
2002
2176
  })), !!(rest != null && (_rest$form2 = rest.form) != null && _rest$form2.errors && rest.form.errors[(_field$name2 = field == null ? void 0 : field.name) != null ? _field$name2 : ""]) ? React__default.createElement(material.FormHelperText, null, "Required") : null);
2003
2177
  };
2004
2178
 
2005
- var CustomField = function CustomField(_ref) {
2006
- var label = _ref.label,
2007
- _ref$type = _ref.type,
2008
- type = _ref$type === void 0 ? 'text' : _ref$type,
2009
- field = _ref.field,
2010
- _ref$selectOptions = _ref.selectOptions,
2011
- selectOptions = _ref$selectOptions === void 0 ? [] : _ref$selectOptions,
2012
- _ref$form = _ref.form,
2013
- touched = _ref$form.touched,
2014
- errors = _ref$form.errors,
2015
- submitCount = _ref$form.submitCount,
2016
- theme = _ref.theme,
2017
- _ref$inputProps = _ref.inputProps,
2018
- pInputProps = _ref$inputProps === void 0 ? {} : _ref$inputProps,
2019
- _ref$InputProps = _ref.InputProps,
2020
- InputProps = _ref$InputProps === void 0 ? {} : _ref$InputProps,
2021
- inputRef = _ref.inputRef;
2022
- var isSelectField = type === 'select';
2023
-
2024
- var error = _get(errors, field.name);
2025
-
2026
- var isTouched = Boolean(_get(touched, field.name)) || _includes(field.name, 'holder') && !!error && !!submitCount;
2027
- var customTheme = styles.useTheme();
2028
- var inputProps = {
2029
- sx: customTheme == null ? void 0 : customTheme.input
2030
- };
2031
- return React__default.createElement(TextField, Object.assign({
2032
- id: field.name,
2033
- label: label,
2034
- type: type,
2035
- select: isSelectField,
2036
- fullWidth: true,
2037
- error: !!error && isTouched,
2038
- helperText: isTouched && error,
2039
- SelectProps: {
2040
- "native": true,
2041
- className: theme,
2042
- MenuProps: {
2043
- className: theme
2044
- }
2045
- },
2046
- InputLabelProps: {
2047
- sx: customTheme == null ? void 0 : customTheme.input
2048
- },
2049
- InputProps: InputProps,
2050
- inputProps: _extends({}, inputProps, pInputProps),
2051
- inputRef: inputRef
2052
- }, field), isSelectField ? _map(selectOptions, function (option) {
2053
- return React__default.createElement("option", {
2054
- key: option.value,
2055
- value: option.value,
2056
- disabled: option.disabled
2057
- }, option.label);
2058
- }) : null);
2059
- };
2060
-
2061
2179
  var currencyNormalizerCreator = function currencyNormalizerCreator(value, currency) {
2062
2180
  return !value ? '' : "" + getCurrencySymbolByCurrency(currency) + value;
2063
2181
  };
@@ -2617,11 +2735,19 @@ var BillingInfoContainer = function BillingInfoContainer(_ref3) {
2617
2735
  skipPage = _ref3$skipPage === void 0 ? false : _ref3$skipPage,
2618
2736
  _ref3$canSkipHolderNa = _ref3.canSkipHolderNames,
2619
2737
  canSkipHolderNames = _ref3$canSkipHolderNa === void 0 ? false : _ref3$canSkipHolderNa,
2738
+ _ref3$onForgotPasswor = _ref3.onForgotPasswordSuccess,
2739
+ onForgotPasswordSuccess = _ref3$onForgotPasswor === void 0 ? function () {} : _ref3$onForgotPasswor,
2740
+ _ref3$onForgotPasswor2 = _ref3.onForgotPasswordError,
2741
+ onForgotPasswordError = _ref3$onForgotPasswor2 === void 0 ? function () {} : _ref3$onForgotPasswor2,
2620
2742
  _ref3$onCountdownFini = _ref3.onCountdownFinish,
2621
2743
  onCountdownFinish = _ref3$onCountdownFini === void 0 ? function () {} : _ref3$onCountdownFini,
2622
2744
  _ref3$enableTimer = _ref3.enableTimer,
2623
2745
  enableTimer = _ref3$enableTimer === void 0 ? false : _ref3$enableTimer,
2624
- logo = _ref3.logo;
2746
+ logo = _ref3.logo,
2747
+ _ref3$showForgotPassw = _ref3.showForgotPasswordButton,
2748
+ showForgotPasswordButton = _ref3$showForgotPassw === void 0 ? false : _ref3$showForgotPassw,
2749
+ _ref3$showSignUpButto = _ref3.showSignUpButton,
2750
+ showSignUpButton = _ref3$showSignUpButto === void 0 ? false : _ref3$showSignUpButto;
2625
2751
 
2626
2752
  var themeMui = styles$1.createTheme(themeOptions);
2627
2753
  var isWindowDefined = typeof window !== 'undefined';
@@ -2661,14 +2787,18 @@ var BillingInfoContainer = function BillingInfoContainer(_ref3) {
2661
2787
  setUserExpired = _useState8[1];
2662
2788
 
2663
2789
  var _useState9 = React.useState(false),
2664
- showModalRegister = _useState9[0],
2665
- setShowModalRegister = _useState9[1];
2790
+ showModalSignup = _useState9[0],
2791
+ setShowModalSignup = _useState9[1];
2666
2792
 
2667
- var _useState10 = React.useState([]),
2668
- ticketsQuantity = _useState10[0],
2669
- setTicketsQuantity = _useState10[1];
2793
+ var _useState10 = React.useState(false),
2794
+ showModalForgotPassword = _useState10[0],
2795
+ setShowModalForgotPassword = _useState10[1];
2670
2796
 
2671
- var _useState11 = React.useState({
2797
+ var _useState11 = React.useState([]),
2798
+ ticketsQuantity = _useState11[0],
2799
+ setTicketsQuantity = _useState11[1];
2800
+
2801
+ var _useState12 = React.useState({
2672
2802
  firstName: '',
2673
2803
  lastName: '',
2674
2804
  email: '',
@@ -2683,16 +2813,16 @@ var BillingInfoContainer = function BillingInfoContainer(_ref3) {
2683
2813
  state: '',
2684
2814
  zip: ''
2685
2815
  }),
2686
- userValues = _useState11[0],
2687
- setUserValues = _useState11[1];
2816
+ userValues = _useState12[0],
2817
+ setUserValues = _useState12[1];
2688
2818
 
2689
- var _useState12 = React.useState(true),
2690
- loading = _useState12[0],
2691
- setLoading = _useState12[1];
2819
+ var _useState13 = React.useState(true),
2820
+ loading = _useState13[0],
2821
+ setLoading = _useState13[1];
2692
2822
 
2693
- var _useState13 = React.useState(null),
2694
- error = _useState13[0],
2695
- setError = _useState13[1];
2823
+ var _useState14 = React.useState(null),
2824
+ error = _useState14[0],
2825
+ setError = _useState14[1];
2696
2826
 
2697
2827
  var emailLogged = _get(userData, 'email', '') || _get(userValues, 'email', '');
2698
2828
 
@@ -3308,20 +3438,37 @@ var BillingInfoContainer = function BillingInfoContainer(_ref3) {
3308
3438
 
3309
3439
  _onGetProfileDataSuccess(data);
3310
3440
  },
3311
- onGetProfileDataError: onGetProfileDataError
3312
- }), showModalRegister && React__default.createElement(RegisterModal, {
3441
+ onGetProfileDataError: onGetProfileDataError,
3442
+ showSignUpButton: showSignUpButton,
3443
+ showForgotPasswordButton: showForgotPasswordButton,
3444
+ onForgotPassword: function onForgotPassword() {
3445
+ setShowModalLogin(false);
3446
+ setShowModalForgotPassword(true);
3447
+ },
3448
+ onSignup: function onSignup() {
3449
+ setShowModalLogin(false);
3450
+ setShowModalSignup(true);
3451
+ }
3452
+ }), showModalSignup && React__default.createElement(SignupModal, {
3313
3453
  onClose: function onClose() {
3314
- setShowModalRegister(false);
3454
+ setShowModalSignup(false);
3315
3455
  },
3316
- onRegister: function onRegister() {
3317
- setShowModalRegister(false);
3456
+ onLogin: function onLogin() {
3457
+ setShowModalSignup(false);
3458
+ setShowModalLogin(true);
3318
3459
  },
3319
- onGetProfileDataSuccess: function onGetProfileDataSuccess(data) {
3320
- fetchCart();
3321
-
3322
- _onGetProfileDataSuccess(data);
3460
+ onRegisterSuccess: onRegisterSuccess,
3461
+ onRegisterError: onRegisterError
3462
+ }), showModalForgotPassword && React__default.createElement(ForgotPasswordModal, {
3463
+ onClose: function onClose() {
3464
+ setShowModalForgotPassword(false);
3323
3465
  },
3324
- onGetProfileDataError: onGetProfileDataError
3466
+ onLogin: function onLogin() {
3467
+ setShowModalForgotPassword(false);
3468
+ setShowModalLogin(true);
3469
+ },
3470
+ onForgotPasswordSuccess: onForgotPasswordSuccess,
3471
+ onForgotPasswordError: onForgotPasswordError
3325
3472
  }));
3326
3473
  };
3327
3474
 
@@ -5519,13 +5666,13 @@ var TicketsTable = function TicketsTable(_ref) {
5519
5666
 
5520
5667
  return React__default.createElement(React.Fragment, {
5521
5668
  key: index
5522
- }, React__default.createElement(TableRow, null, React__default.createElement(TableCell, null, ticket.hash), React__default.createElement(TableCell, null, ticket.ticket_type), React__default.createElement(TableCell, null, ticket.holder_name), React__default.createElement(TableCell, null, ticket.status), React__default.createElement(TableCell, null, ticket.status !== "Sold" && React__default.createElement("span", {
5669
+ }, React__default.createElement(TableRow, null, React__default.createElement(TableCell, null, ticket.hash), React__default.createElement(TableCell, null, ticket.ticket_type), React__default.createElement(TableCell, null, ticket.holder_name), React__default.createElement(TableCell, null, ticket.status), ticket.pdf_link && ticket.status !== "Sold" ? React__default.createElement(TableCell, null, React__default.createElement("span", {
5523
5670
  "aria-hidden": true,
5524
5671
  className: "action-button",
5525
5672
  onClick: function onClick() {
5526
5673
  return downloadPDF(ticket.pdf_link);
5527
5674
  }
5528
- }, "Download")), React__default.createElement(TableCell, null, ticket.is_sellable && React__default.createElement("span", {
5675
+ }, "Download")) : null, React__default.createElement(TableCell, null, ticket.is_sellable && React__default.createElement("span", {
5529
5676
  "aria-hidden": true,
5530
5677
  className: "action-button",
5531
5678
  onClick: function onClick() {
@@ -5565,7 +5712,7 @@ var RadioField = function RadioField(_ref) {
5565
5712
  }));
5566
5713
  };
5567
5714
 
5568
- var style$1 = {
5715
+ var style$3 = {
5569
5716
  position: 'absolute',
5570
5717
  top: '50%',
5571
5718
  left: '50%',
@@ -5578,33 +5725,33 @@ var style$1 = {
5578
5725
  maxHeight: '85vh',
5579
5726
  overflow: 'auto'
5580
5727
  };
5581
- var schema = /*#__PURE__*/yup.object().shape({
5582
- to: /*#__PURE__*/yup.string().required(),
5583
- first_name: /*#__PURE__*/yup.string().when('to', {
5728
+ var schema = /*#__PURE__*/Yup.object().shape({
5729
+ to: /*#__PURE__*/Yup.string().required(),
5730
+ first_name: /*#__PURE__*/Yup.string().when('to', {
5584
5731
  is: function is(to) {
5585
5732
  return to === 'friend';
5586
5733
  },
5587
- then: /*#__PURE__*/yup.string().required('First Name is required')
5734
+ then: /*#__PURE__*/Yup.string().required('First Name is required')
5588
5735
  }),
5589
- last_name: /*#__PURE__*/yup.string().when('to', {
5736
+ last_name: /*#__PURE__*/Yup.string().when('to', {
5590
5737
  is: function is(to) {
5591
5738
  return to === 'friend';
5592
5739
  },
5593
- then: /*#__PURE__*/yup.string().required('Last Name is required')
5740
+ then: /*#__PURE__*/Yup.string().required('Last Name is required')
5594
5741
  }),
5595
- email: /*#__PURE__*/yup.string().when('to', {
5742
+ email: /*#__PURE__*/Yup.string().when('to', {
5596
5743
  is: function is(to) {
5597
5744
  return to === 'friend';
5598
5745
  },
5599
- then: /*#__PURE__*/yup.string().email('Invalid email').required('Email is required')
5746
+ then: /*#__PURE__*/Yup.string().email('Invalid email').required('Email is required')
5600
5747
  }),
5601
- confirm_email: /*#__PURE__*/yup.string().when('to', {
5748
+ confirm_email: /*#__PURE__*/Yup.string().when('to', {
5602
5749
  is: function is(to) {
5603
5750
  return to === 'friend';
5604
5751
  },
5605
- then: /*#__PURE__*/yup.string().email('Invalid email').oneOf([yup.ref('email'), null], 'Emails must match').required('Confirm Email is required')
5752
+ then: /*#__PURE__*/Yup.string().email('Invalid email').oneOf([Yup.ref('email'), null], 'Emails must match').required('Confirm Email is required')
5606
5753
  }),
5607
- confirm: /*#__PURE__*/yup.boolean().oneOf([true])
5754
+ confirm: /*#__PURE__*/Yup.boolean().oneOf([true])
5608
5755
  });
5609
5756
  var initialValues = {
5610
5757
  to: 'friend',
@@ -5634,7 +5781,7 @@ var TicketResaleModal = function TicketResaleModal(_ref) {
5634
5781
  "aria-describedby": "modal-modal-description",
5635
5782
  className: 'resale-modal'
5636
5783
  }, React__default.createElement(Box, {
5637
- style: style$1
5784
+ style: style$3
5638
5785
  }, React__default.createElement("h3", null, "Sell Ticket"), React__default.createElement("div", null, React__default.createElement("h3", null, "Ticket Details"), React__default.createElement("div", null, React__default.createElement("h4", null, "Event"), React__default.createElement("p", null, event_name)), React__default.createElement("div", null, React__default.createElement("h4", null, "Ticket Holder"), React__default.createElement("p", null, holder_name)), React__default.createElement("div", null, React__default.createElement("h4", null, "Ticket ID"), React__default.createElement("p", null, hash))), React__default.createElement("div", null, React__default.createElement("h3", null, "Sell to Whom"), React__default.createElement(formik.Formik, {
5639
5786
  initialValues: initialValues,
5640
5787
  validationSchema: schema,
@@ -5719,7 +5866,7 @@ var TicketResaleModal = function TicketResaleModal(_ref) {
5719
5866
  }))));
5720
5867
  };
5721
5868
 
5722
- var style$2 = {
5869
+ var style$4 = {
5723
5870
  position: 'absolute',
5724
5871
  top: '50%',
5725
5872
  left: '50%',
@@ -5747,7 +5894,7 @@ var ConfirmModal = function ConfirmModal(_ref) {
5747
5894
  "aria-describedby": "modal-modal-description",
5748
5895
  className: 'confirm-modal'
5749
5896
  }, React__default.createElement(Box, {
5750
- style: style$2
5897
+ style: style$4
5751
5898
  }, React__default.createElement("p", null, message), React__default.createElement("div", {
5752
5899
  className: 'footer'
5753
5900
  }, React__default.createElement(Button, {
@@ -6138,7 +6285,7 @@ var TicketResaleContainer = function TicketResaleContainer(_ref) {
6138
6285
  }, React__default.createElement("h3", null, successMessage ? successMessage : error)));
6139
6286
  };
6140
6287
 
6141
- var style$3 = {
6288
+ var style$5 = {
6142
6289
  position: 'absolute',
6143
6290
  top: '10%',
6144
6291
  left: '50%',
@@ -6162,7 +6309,7 @@ var RedirectModal = function RedirectModal(_ref) {
6162
6309
  "aria-describedby": "modal-modal-description",
6163
6310
  className: "redirect-modal"
6164
6311
  }, React__default.createElement(Box, {
6165
- style: style$3
6312
+ style: style$5
6166
6313
  }, React__default.createElement("p", null, message), React__default.createElement("div", {
6167
6314
  className: "footer"
6168
6315
  }, React__default.createElement("button", {
@@ -6170,7 +6317,7 @@ var RedirectModal = function RedirectModal(_ref) {
6170
6317
  }, "OK"))));
6171
6318
  };
6172
6319
 
6173
- var style$4 = {
6320
+ var style$6 = {
6174
6321
  position: 'absolute',
6175
6322
  top: '50%',
6176
6323
  left: '50%',
@@ -6276,7 +6423,7 @@ var RsvpContainer = function RsvpContainer(_ref) {
6276
6423
  "aria-describedby": "modal-modal-description",
6277
6424
  className: "rsvp-modal"
6278
6425
  }, React__default.createElement(Box, {
6279
- style: style$4,
6426
+ style: style$6,
6280
6427
  className: "rsvp-modal-box"
6281
6428
  }, React__default.createElement("div", {
6282
6429
  className: "rsvp-modal-container"