tf-checkout-react 1.0.99-beta.33 → 1.0.99-beta.34
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/dist/api/common.d.ts +1 -0
- package/dist/api/index.d.ts +1 -1
- package/dist/components/common/PhoneNumberField.d.ts +9 -0
- package/dist/components/common/index.d.ts +1 -0
- package/dist/components/registerModal/index.d.ts +2 -2
- package/dist/tf-checkout-react.cjs.development.js +122 -60
- package/dist/tf-checkout-react.cjs.development.js.map +1 -1
- package/dist/tf-checkout-react.cjs.production.min.js +1 -1
- package/dist/tf-checkout-react.cjs.production.min.js.map +1 -1
- package/dist/tf-checkout-react.esm.js +124 -62
- package/dist/tf-checkout-react.esm.js.map +1 -1
- package/package.json +1 -1
- package/src/api/common.ts +11 -0
- package/src/api/index.ts +1 -0
- package/src/components/billing-info-container/FieldsSection.tsx +2 -2
- package/src/components/billing-info-container/LogicRunner.tsx +1 -1
- package/src/components/billing-info-container/index.tsx +16 -7
- package/src/components/common/FormikPhoneNumberField.tsx +12 -11
- package/src/components/common/PhoneNumberField.tsx +68 -0
- package/src/components/common/index.tsx +2 -1
- package/src/components/registerModal/index.tsx +15 -12
- package/src/env.ts +2 -2
- package/src/utils/setConfigs.ts +5 -3
package/dist/api/common.d.ts
CHANGED
|
@@ -5,3 +5,4 @@ export declare const getStates: (countryId: string | number) => Promise<IStatesR
|
|
|
5
5
|
export declare const sendRSVPInfo: (eventId: number, data: IRSVPRequestData) => Promise<IRSVPResponse>;
|
|
6
6
|
export declare const addToWaitingList: (id: number, data: IWaitingListRequestData) => Promise<IWaitingListResponse>;
|
|
7
7
|
export declare const postReferralVisits: (eventId: string, referralId: string) => Promise<IAxiosResponseData>;
|
|
8
|
+
export declare const validatePhoneNumber: (phone: string) => Promise<IAxiosResponseData>;
|
package/dist/api/index.d.ts
CHANGED
|
@@ -4,6 +4,6 @@ export { setAxiosHeader, setBaseUrl } from './publicRequest';
|
|
|
4
4
|
export { getOrders, getOrderDetails } from './orders';
|
|
5
5
|
export { addToCart, getCart } from './cart';
|
|
6
6
|
export { postOnCheckout } from './checkout';
|
|
7
|
-
export { getEvent, getTickets, getCountries, getStates, addToWaitingList, sendRSVPInfo, postReferralVisits, } from './common';
|
|
7
|
+
export { getEvent, getTickets, getCountries, getStates, addToWaitingList, sendRSVPInfo, postReferralVisits, validatePhoneNumber, } from './common';
|
|
8
8
|
export { getPaymentData, getConditions, handlePaymentSuccess, handleFreeSuccess, getConfirmationData, } from './payment';
|
|
9
9
|
export { resaleTicket, removeFromResale, processTicket, declineInvitation, } from './resale';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { FieldInputProps, FormikProps } from 'formik';
|
|
3
|
+
export interface IPhoneNumberField {
|
|
4
|
+
label: string;
|
|
5
|
+
field: FieldInputProps<any>;
|
|
6
|
+
form: FormikProps<any>;
|
|
7
|
+
type: string;
|
|
8
|
+
}
|
|
9
|
+
export declare const PhoneNumberField: ({ label, type, field, form: { errors, setFieldError, setStatus }, }: IPhoneNumberField) => JSX.Element;
|
|
@@ -16,6 +16,7 @@ var _includes = _interopDefault(require('lodash/includes'));
|
|
|
16
16
|
var _isEmpty = _interopDefault(require('lodash/isEmpty'));
|
|
17
17
|
var _isEqual = _interopDefault(require('lodash/isEqual'));
|
|
18
18
|
var _map = _interopDefault(require('lodash/map'));
|
|
19
|
+
var _some = _interopDefault(require('lodash/some'));
|
|
19
20
|
var nanoid = require('nanoid');
|
|
20
21
|
var React = require('react');
|
|
21
22
|
var React__default = _interopDefault(React);
|
|
@@ -25,9 +26,10 @@ var FormControlLabel = _interopDefault(require('@mui/material/FormControlLabel')
|
|
|
25
26
|
var FormGroup = _interopDefault(require('@mui/material/FormGroup'));
|
|
26
27
|
var styles$1 = require('@mui/styles');
|
|
27
28
|
var TextField = _interopDefault(require('@mui/material/TextField'));
|
|
28
|
-
|
|
29
|
+
require('material-ui-phone-number');
|
|
29
30
|
var CircularProgress = _interopDefault(require('@mui/material/CircularProgress'));
|
|
30
31
|
var Select = _interopDefault(require('@mui/material/Select'));
|
|
32
|
+
var _debounce = _interopDefault(require('lodash/debounce'));
|
|
31
33
|
var Modal = _interopDefault(require('@mui/material/Modal'));
|
|
32
34
|
var Box = _interopDefault(require('@mui/material/Box'));
|
|
33
35
|
var Countdown$1 = _interopDefault(require('react-countdown'));
|
|
@@ -45,7 +47,6 @@ var stripeJs = require('@stripe/stripe-js');
|
|
|
45
47
|
var reactShare = require('react-share');
|
|
46
48
|
var privateTheming = require('@mui/private-theming');
|
|
47
49
|
var _find = _interopDefault(require('lodash/find'));
|
|
48
|
-
var _some = _interopDefault(require('lodash/some'));
|
|
49
50
|
var Button$1 = _interopDefault(require('react-bootstrap/Button'));
|
|
50
51
|
var moment = _interopDefault(require('moment-timezone'));
|
|
51
52
|
var _sortBy = _interopDefault(require('lodash/sortBy'));
|
|
@@ -938,7 +939,8 @@ var setBaseUrl = function setBaseUrl(baseUrl) {
|
|
|
938
939
|
};
|
|
939
940
|
|
|
940
941
|
var CONFIGS = {
|
|
941
|
-
BASE_URL: 'https://www.ticketfairy.com/api'
|
|
942
|
+
BASE_URL: 'https://www.ticketfairy.com/api',
|
|
943
|
+
X_SOURCE_ORIGIN: 'preview2.restlessnit.es'
|
|
942
944
|
};
|
|
943
945
|
var setConfigs = function setConfigs(configs) {
|
|
944
946
|
_forEach(configs, function (value, key) {
|
|
@@ -1713,6 +1715,32 @@ var postReferralVisits = /*#__PURE__*/function () {
|
|
|
1713
1715
|
return _ref7.apply(this, arguments);
|
|
1714
1716
|
};
|
|
1715
1717
|
}();
|
|
1718
|
+
var validatePhoneNumber = /*#__PURE__*/function () {
|
|
1719
|
+
var _ref8 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee8(phone) {
|
|
1720
|
+
var response;
|
|
1721
|
+
return runtime_1.wrap(function _callee8$(_context8) {
|
|
1722
|
+
while (1) {
|
|
1723
|
+
switch (_context8.prev = _context8.next) {
|
|
1724
|
+
case 0:
|
|
1725
|
+
_context8.next = 2;
|
|
1726
|
+
return publicRequest.get("/v1/account/validate_phone?phone=" + phone);
|
|
1727
|
+
|
|
1728
|
+
case 2:
|
|
1729
|
+
response = _context8.sent;
|
|
1730
|
+
return _context8.abrupt("return", response.data);
|
|
1731
|
+
|
|
1732
|
+
case 4:
|
|
1733
|
+
case "end":
|
|
1734
|
+
return _context8.stop();
|
|
1735
|
+
}
|
|
1736
|
+
}
|
|
1737
|
+
}, _callee8);
|
|
1738
|
+
}));
|
|
1739
|
+
|
|
1740
|
+
return function validatePhoneNumber(_x11) {
|
|
1741
|
+
return _ref8.apply(this, arguments);
|
|
1742
|
+
};
|
|
1743
|
+
}();
|
|
1716
1744
|
|
|
1717
1745
|
var getPaymentData = /*#__PURE__*/function () {
|
|
1718
1746
|
var _ref = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(hash) {
|
|
@@ -2090,51 +2118,6 @@ var getCurrencySymbolByCurrency = function getCurrencySymbolByCurrency(currency)
|
|
|
2090
2118
|
return 'US$';
|
|
2091
2119
|
}
|
|
2092
2120
|
};
|
|
2093
|
-
var removePlusSign = function removePlusSign(string) {
|
|
2094
|
-
if (string === void 0) {
|
|
2095
|
-
string = '';
|
|
2096
|
-
}
|
|
2097
|
-
|
|
2098
|
-
return string.replace('+', '');
|
|
2099
|
-
};
|
|
2100
|
-
|
|
2101
|
-
var _excluded$1 = ["label", "field", "form", "setFieldValue", "selectOptions"];
|
|
2102
|
-
var FormikPhoneNumberField = function FormikPhoneNumberField(_ref) {
|
|
2103
|
-
var label = _ref.label,
|
|
2104
|
-
field = _ref.field,
|
|
2105
|
-
_ref$form = _ref.form,
|
|
2106
|
-
touched = _ref$form.touched,
|
|
2107
|
-
errors = _ref$form.errors,
|
|
2108
|
-
initialValues = _ref$form.initialValues,
|
|
2109
|
-
setFieldValue = _ref.setFieldValue,
|
|
2110
|
-
rest = _objectWithoutPropertiesLoose(_ref, _excluded$1);
|
|
2111
|
-
|
|
2112
|
-
var error = _get(errors, field.name);
|
|
2113
|
-
|
|
2114
|
-
var isTouched = Boolean(_get(touched, field.name));
|
|
2115
|
-
var customTheme = styles$1.useTheme();
|
|
2116
|
-
return React__default.createElement(MuiPhoneNumber, Object.assign({
|
|
2117
|
-
name: 'phone',
|
|
2118
|
-
value: initialValues.phone,
|
|
2119
|
-
onChange: function onChange(e) {
|
|
2120
|
-
return setFieldValue("phone", removePlusSign(e));
|
|
2121
|
-
},
|
|
2122
|
-
variant: "outlined",
|
|
2123
|
-
defaultCountry: 'us',
|
|
2124
|
-
disableDropdown: true,
|
|
2125
|
-
label: label,
|
|
2126
|
-
error: !!error && isTouched,
|
|
2127
|
-
helperText: isTouched && error,
|
|
2128
|
-
fullWidth: true,
|
|
2129
|
-
InputLabelProps: {
|
|
2130
|
-
sx: customTheme == null ? void 0 : customTheme.input
|
|
2131
|
-
},
|
|
2132
|
-
InputProps: {
|
|
2133
|
-
sx: customTheme == null ? void 0 : customTheme.input
|
|
2134
|
-
},
|
|
2135
|
-
autoFormat: false
|
|
2136
|
-
}, rest));
|
|
2137
|
-
};
|
|
2138
2121
|
|
|
2139
2122
|
function Loader() {
|
|
2140
2123
|
return React__default.createElement("div", {
|
|
@@ -2192,6 +2175,81 @@ var SelectField = function SelectField(_ref) {
|
|
|
2192
2175
|
}, error) : null);
|
|
2193
2176
|
};
|
|
2194
2177
|
|
|
2178
|
+
var PhoneNumberField = function PhoneNumberField(_ref) {
|
|
2179
|
+
var label = _ref.label,
|
|
2180
|
+
_ref$type = _ref.type,
|
|
2181
|
+
type = _ref$type === void 0 ? 'text' : _ref$type,
|
|
2182
|
+
field = _ref.field,
|
|
2183
|
+
_ref$form = _ref.form,
|
|
2184
|
+
errors = _ref$form.errors,
|
|
2185
|
+
setFieldError = _ref$form.setFieldError,
|
|
2186
|
+
setStatus = _ref$form.setStatus;
|
|
2187
|
+
|
|
2188
|
+
var error = _get(errors, field.name); // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
2189
|
+
|
|
2190
|
+
|
|
2191
|
+
var debounceCb = React.useCallback(_debounce(function (cb) {
|
|
2192
|
+
return void cb();
|
|
2193
|
+
}, 1000), []);
|
|
2194
|
+
React.useEffect(function () {
|
|
2195
|
+
if (field.value) {
|
|
2196
|
+
var _setStatus;
|
|
2197
|
+
|
|
2198
|
+
setStatus((_setStatus = {}, _setStatus[field.name] = true, _setStatus));
|
|
2199
|
+
}
|
|
2200
|
+
|
|
2201
|
+
debounceCb( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee() {
|
|
2202
|
+
var message, _setStatus2;
|
|
2203
|
+
|
|
2204
|
+
return runtime_1.wrap(function _callee$(_context) {
|
|
2205
|
+
while (1) {
|
|
2206
|
+
switch (_context.prev = _context.next) {
|
|
2207
|
+
case 0:
|
|
2208
|
+
_context.prev = 0;
|
|
2209
|
+
|
|
2210
|
+
if (!field.value) {
|
|
2211
|
+
_context.next = 4;
|
|
2212
|
+
break;
|
|
2213
|
+
}
|
|
2214
|
+
|
|
2215
|
+
_context.next = 4;
|
|
2216
|
+
return validatePhoneNumber(field.value);
|
|
2217
|
+
|
|
2218
|
+
case 4:
|
|
2219
|
+
setFieldError(field.name, '');
|
|
2220
|
+
_context.next = 11;
|
|
2221
|
+
break;
|
|
2222
|
+
|
|
2223
|
+
case 7:
|
|
2224
|
+
_context.prev = 7;
|
|
2225
|
+
_context.t0 = _context["catch"](0);
|
|
2226
|
+
message = _get(_context.t0, 'response.data.message', 'Invalid phone number');
|
|
2227
|
+
setFieldError(field.name, message);
|
|
2228
|
+
|
|
2229
|
+
case 11:
|
|
2230
|
+
_context.prev = 11;
|
|
2231
|
+
setStatus((_setStatus2 = {}, _setStatus2[field.name] = false, _setStatus2));
|
|
2232
|
+
return _context.finish(11);
|
|
2233
|
+
|
|
2234
|
+
case 14:
|
|
2235
|
+
case "end":
|
|
2236
|
+
return _context.stop();
|
|
2237
|
+
}
|
|
2238
|
+
}
|
|
2239
|
+
}, _callee, null, [[0, 7, 11, 14]]);
|
|
2240
|
+
}))); // eslint-disable-next-line
|
|
2241
|
+
}, [field.value]);
|
|
2242
|
+
return React__default.createElement(TextField, Object.assign({}, field, {
|
|
2243
|
+
id: field.name,
|
|
2244
|
+
label: label,
|
|
2245
|
+
type: type,
|
|
2246
|
+
fullWidth: true,
|
|
2247
|
+
error: !!error,
|
|
2248
|
+
helperText: error,
|
|
2249
|
+
value: field.value || ''
|
|
2250
|
+
}));
|
|
2251
|
+
};
|
|
2252
|
+
|
|
2195
2253
|
var SnackbarAlert = function SnackbarAlert(_ref) {
|
|
2196
2254
|
var isOpen = _ref.isOpen,
|
|
2197
2255
|
message = _ref.message,
|
|
@@ -2420,9 +2478,9 @@ var LoginModal = function LoginModal(_ref) {
|
|
|
2420
2478
|
var RegisterModal = function RegisterModal(_ref) {
|
|
2421
2479
|
var onClose = _ref.onClose,
|
|
2422
2480
|
_ref$onGetProfileData = _ref.onGetProfileDataSuccess,
|
|
2423
|
-
onGetProfileDataSuccess = _ref$onGetProfileData === void 0 ?
|
|
2481
|
+
onGetProfileDataSuccess = _ref$onGetProfileData === void 0 ? _identity : _ref$onGetProfileData,
|
|
2424
2482
|
_ref$onGetProfileData2 = _ref.onGetProfileDataError,
|
|
2425
|
-
onGetProfileDataError = _ref$onGetProfileData2 === void 0 ?
|
|
2483
|
+
onGetProfileDataError = _ref$onGetProfileData2 === void 0 ? _identity : _ref$onGetProfileData2;
|
|
2426
2484
|
return React__default.createElement("div", {
|
|
2427
2485
|
style: {
|
|
2428
2486
|
display: 'flex',
|
|
@@ -2767,7 +2825,7 @@ var DatePickerField = function DatePickerField(_ref) {
|
|
|
2767
2825
|
})));
|
|
2768
2826
|
};
|
|
2769
2827
|
|
|
2770
|
-
var _excluded$
|
|
2828
|
+
var _excluded$1 = ["firstName", "lastName", "holderAge", "confirmEmail", "confirmPassword"];
|
|
2771
2829
|
var getInitialValues = function getInitialValues(data, propsInitialValues, userValues) {
|
|
2772
2830
|
if (data === void 0) {
|
|
2773
2831
|
data = [];
|
|
@@ -2850,7 +2908,7 @@ var createCheckoutDataBody = function createCheckoutDataBody(ticketsQuantity, va
|
|
|
2850
2908
|
|
|
2851
2909
|
var _values = values,
|
|
2852
2910
|
holderAge = _values.holderAge,
|
|
2853
|
-
restValues = _objectWithoutPropertiesLoose(_values, _excluded$
|
|
2911
|
+
restValues = _objectWithoutPropertiesLoose(_values, _excluded$1);
|
|
2854
2912
|
|
|
2855
2913
|
var holders = [];
|
|
2856
2914
|
var ticketHolders = [];
|
|
@@ -3054,7 +3112,7 @@ var FieldsSection = function FieldsSection(_ref2) {
|
|
|
3054
3112
|
}),
|
|
3055
3113
|
setFieldValue: setFieldValue,
|
|
3056
3114
|
onBlur: handleBlur,
|
|
3057
|
-
component: type === 'checkbox' ? CheckboxField : type === 'select' ? SelectField : type === 'phone' ?
|
|
3115
|
+
component: type === 'checkbox' ? CheckboxField : type === 'select' ? SelectField : type === 'phone' ? PhoneNumberField : type === 'date' ? DatePickerField : CustomField,
|
|
3058
3116
|
selectOptions: name === 'country' ? countries : name === 'state' ? states : [],
|
|
3059
3117
|
theme: theme
|
|
3060
3118
|
}));
|
|
@@ -3085,7 +3143,7 @@ var LogicRunner = function LogicRunner(_ref) {
|
|
|
3085
3143
|
case 0:
|
|
3086
3144
|
_context.prev = 0;
|
|
3087
3145
|
_context.next = 3;
|
|
3088
|
-
return getStates(values.country);
|
|
3146
|
+
return getStates(values.country || 1);
|
|
3089
3147
|
|
|
3090
3148
|
case 3:
|
|
3091
3149
|
res = _context.sent;
|
|
@@ -3827,13 +3885,17 @@ var BillingInfoContainer = function BillingInfoContainer(_ref) {
|
|
|
3827
3885
|
return React__default.createElement("div", {
|
|
3828
3886
|
className: element.className,
|
|
3829
3887
|
key: element.name
|
|
3830
|
-
}, React__default.createElement(formik.
|
|
3888
|
+
}, React__default.createElement(formik.FastField, {
|
|
3831
3889
|
name: element.name + "-" + index,
|
|
3832
3890
|
label: element.label,
|
|
3833
3891
|
type: element.type,
|
|
3834
3892
|
required: true,
|
|
3835
|
-
component: element.type === 'checkbox' ? CheckboxField : CustomField,
|
|
3836
|
-
validate: combineValidators(element.required ? requiredValidator :
|
|
3893
|
+
component: element.type === 'phone' ? PhoneNumberField : element.type === 'checkbox' ? CheckboxField : CustomField,
|
|
3894
|
+
validate: combineValidators(element.required ? requiredValidator : function () {
|
|
3895
|
+
return props.errors[element.name + "-" + index];
|
|
3896
|
+
}, element.onValidate ? element.onValidate : function () {
|
|
3897
|
+
return props.errors[element.name + "-" + index];
|
|
3898
|
+
})
|
|
3837
3899
|
}));
|
|
3838
3900
|
})));
|
|
3839
3901
|
}));
|
|
@@ -3843,7 +3905,7 @@ var BillingInfoContainer = function BillingInfoContainer(_ref) {
|
|
|
3843
3905
|
type: "submit",
|
|
3844
3906
|
variant: "contained",
|
|
3845
3907
|
className: "login-register-button",
|
|
3846
|
-
disabled: props.isSubmitting
|
|
3908
|
+
disabled: props.isSubmitting || _some(props.status, Boolean)
|
|
3847
3909
|
}, props.isSubmitting ? React__default.createElement(material.CircularProgress, {
|
|
3848
3910
|
size: 26
|
|
3849
3911
|
}) : buttonName))));
|
|
@@ -6155,11 +6217,11 @@ var ConfirmModal = function ConfirmModal(_ref) {
|
|
|
6155
6217
|
}, "OK"))));
|
|
6156
6218
|
};
|
|
6157
6219
|
|
|
6158
|
-
var _excluded$
|
|
6220
|
+
var _excluded$2 = ["label", "field", "theme"];
|
|
6159
6221
|
var RadioField = function RadioField(_ref) {
|
|
6160
6222
|
var label = _ref.label,
|
|
6161
6223
|
field = _ref.field,
|
|
6162
|
-
rest = _objectWithoutPropertiesLoose(_ref, _excluded$
|
|
6224
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$2);
|
|
6163
6225
|
|
|
6164
6226
|
var customTheme = styles$1.useTheme();
|
|
6165
6227
|
return React__default.createElement(FormGroup, null, React__default.createElement(FormControlLabel, {
|