tf-checkout-react 1.2.26 → 1.2.27

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.
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.2.26",
2
+ "version": "1.2.27",
3
3
  "license": "MIT",
4
4
  "main": "dist/index.js",
5
5
  "typings": "dist/index.d.ts",
package/src/.DS_Store ADDED
Binary file
Binary file
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
+ return new (P || (P = Promise))(function (resolve, reject) {
16
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
20
+ });
21
+ };
22
+ var __generator = (this && this.__generator) || function (thisArg, body) {
23
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
+ function verb(n) { return function (v) { return step([n, v]); }; }
26
+ function step(op) {
27
+ if (f) throw new TypeError("Generator is already executing.");
28
+ while (_) try {
29
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
+ if (y = 0, t) op = [op[0] & 2, t.value];
31
+ switch (op[0]) {
32
+ case 0: case 1: t = op; break;
33
+ case 4: _.label++; return { value: op[1], done: false };
34
+ case 5: _.label++; y = op[1]; op = [0]; continue;
35
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
+ default:
37
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
+ if (t[2]) _.ops.pop();
42
+ _.trys.pop(); continue;
43
+ }
44
+ op = body.call(thisArg, _);
45
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
+ }
48
+ };
49
+ exports.__esModule = true;
50
+ exports.PhoneNumberField = void 0;
51
+ var TextField_1 = require("@mui/material/TextField");
52
+ var debounce_1 = require("lodash/debounce");
53
+ var get_1 = require("lodash/get");
54
+ var react_1 = require("react");
55
+ var api_1 = require("../../api");
56
+ exports.PhoneNumberField = function (_a) {
57
+ var label = _a.label, _b = _a.type, type = _b === void 0 ? 'text' : _b, field = _a.field, _c = _a.form, errors = _c.errors, setFieldError = _c.setFieldError, setStatus = _c.setStatus;
58
+ var error = get_1["default"](errors, field.name);
59
+ // eslint-disable-next-line react-hooks/exhaustive-deps
60
+ var debounceCb = react_1.useCallback(debounce_1["default"](function (cb) { return void cb(); }, 1000), []);
61
+ react_1.useEffect(function () {
62
+ var _a;
63
+ if (field.value) {
64
+ setStatus((_a = {}, _a[field.name] = true, _a));
65
+ }
66
+ debounceCb(function () { return __awaiter(void 0, void 0, void 0, function () {
67
+ var error_1, message;
68
+ var _a;
69
+ return __generator(this, function (_b) {
70
+ switch (_b.label) {
71
+ case 0:
72
+ _b.trys.push([0, 3, 4, 5]);
73
+ if (!field.value) return [3 /*break*/, 2];
74
+ return [4 /*yield*/, api_1.validatePhoneNumber(field.value)];
75
+ case 1:
76
+ _b.sent();
77
+ _b.label = 2;
78
+ case 2:
79
+ setFieldError(field.name, '');
80
+ return [3 /*break*/, 5];
81
+ case 3:
82
+ error_1 = _b.sent();
83
+ message = get_1["default"](error_1, 'response.data.message', 'Invalid phone number');
84
+ setFieldError(field.name, message);
85
+ return [3 /*break*/, 5];
86
+ case 4:
87
+ setStatus((_a = {}, _a[field.name] = false, _a));
88
+ return [7 /*endfinally*/];
89
+ case 5: return [2 /*return*/];
90
+ }
91
+ });
92
+ }); });
93
+ // eslint-disable-next-line
94
+ }, [field.value]);
95
+ return (react_1["default"].createElement(TextField_1["default"], __assign({}, field, { id: field.name, label: label, type: type, fullWidth: true, error: !!error, helperText: error, value: field.value || '', inputProps: { pattern: '[+0-9]/d+' } })));
96
+ };
@@ -1,6 +1,7 @@
1
1
  import './style.css'
2
2
 
3
3
  import { createTheme, ThemeOptions } from '@mui/material'
4
+ import Alert from '@mui/material/Alert'
4
5
  import { ThemeProvider } from '@mui/private-theming'
5
6
  import { CSSProperties } from '@mui/styles'
6
7
  import axios, { AxiosError } from 'axios'
@@ -140,6 +141,7 @@ export const TicketsContainer = ({
140
141
  const [showPromoCodeSection, setShowPromoCodeSection] = useState(
141
142
  isPromotionsEnabled
142
143
  )
144
+ const [error, setError] = useState(null)
143
145
 
144
146
  const ticketsContainerRef = useRef<HTMLDivElement>(null)
145
147
 
@@ -238,6 +240,10 @@ export const TicketsContainer = ({
238
240
  }
239
241
  }
240
242
 
243
+ const onErrorClose = () => {
244
+ setError(null)
245
+ }
246
+
241
247
  const handleBook = async () => {
242
248
  setHandleBookIsLoading(true)
243
249
  const ticket =
@@ -320,6 +326,7 @@ export const TicketsContainer = ({
320
326
  } catch (e) {
321
327
  if (axios.isAxiosError(e)) {
322
328
  onAddToCartError(e)
329
+ setError(_get(e, 'response.data.message'))
323
330
  }
324
331
  } finally {
325
332
  setHandleBookIsLoading(false)
@@ -403,6 +410,11 @@ export const TicketsContainer = ({
403
410
  <ThemeProvider theme={themeMui}>
404
411
  {!isLoading && <ReferralLogic eventId={eventId} />}
405
412
  <div className={`get-tickets-page ${theme}`} style={contentStyle}>
413
+ {error && (
414
+ <Alert severity="error" onClose={onErrorClose} variant="filled" style={{ width:'350px' }}>
415
+ {error}
416
+ </Alert>
417
+ )}
406
418
  {isLoading ? (
407
419
  <Loader />
408
420
  ) : (
@@ -418,44 +430,47 @@ export const TicketsContainer = ({
418
430
  />
419
431
  )}
420
432
  {externalUrl ? null : isSalesClosed ? (
421
- <p className={`event-closed-message ${!isLoggedIn ? 'event-closed-on-bottom' : ''}`}>
433
+ <p
434
+ className={`event-closed-message ${
435
+ !isLoggedIn ? 'event-closed-on-bottom' : ''
436
+ }`}
437
+ >
422
438
  Sales for this event are closed.
423
439
  </p>
424
440
  ) : eventSaleIsNotStarted ? (
425
- <Countdown
426
- startDate={event.salesStart}
427
- timezone={event.timezone}
428
- title="Sales start in:"
429
- message="No tickets are currently available for this event."
430
- showMessage={!eventHasTickets}
431
- callback={updateTickets}
432
- disableLeadingZero={disableCountdownLeadingZero}
433
- isLoggedIn={isLoggedIn}
434
- />
441
+ <Countdown
442
+ startDate={event.salesStart}
443
+ timezone={event.timezone}
444
+ title="Sales start in:"
445
+ message="No tickets are currently available for this event."
446
+ showMessage={!eventHasTickets}
447
+ callback={updateTickets}
448
+ disableLeadingZero={disableCountdownLeadingZero}
449
+ isLoggedIn={isLoggedIn}
450
+ />
435
451
  ) : null}
436
452
  {showWaitingList && event.salesStarted && !hideWaitingList && (
437
453
  <WaitingList tickets={tickets} eventId={eventId} />
438
454
  )}
439
455
  {codeIsLoading ? (
440
- <Loader />
441
- ) : isSalesClosed ? null : showAccessCodeSection ? (
442
- <AccessCodeSection
443
- code={code}
444
- setCode={setCode}
445
- updateTickets={updateTickets}
446
- />
447
- ) : showPromoCodeSection ? (
448
- <PromoCodeSection
449
- code={code}
450
- codeIsApplied={codeIsApplied}
451
- setCodeIsApplied={setCodeIsApplied}
452
- showPromoInput={showPromoInput}
453
- setShowPromoInput={setShowPromoInput}
454
- setCode={setCode}
455
- updateTickets={updateTickets}
456
- />
457
- ) : null
458
- }
456
+ <Loader />
457
+ ) : isSalesClosed ? null : showAccessCodeSection ? (
458
+ <AccessCodeSection
459
+ code={code}
460
+ setCode={setCode}
461
+ updateTickets={updateTickets}
462
+ />
463
+ ) : showPromoCodeSection ? (
464
+ <PromoCodeSection
465
+ code={code}
466
+ codeIsApplied={codeIsApplied}
467
+ setCodeIsApplied={setCodeIsApplied}
468
+ showPromoInput={showPromoInput}
469
+ setShowPromoInput={setShowPromoInput}
470
+ setCode={setCode}
471
+ updateTickets={updateTickets}
472
+ />
473
+ ) : null}
459
474
  {wrappedActionsSectionComponent}
460
475
  {!wrappedActionsSectionComponent &&
461
476
  !eventSaleIsNotStarted &&