tf-checkout-react 1.3.35 → 1.3.37-beta
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/{src/components → dist}/.DS_Store +0 -0
- package/dist/components/common/{SelectField.d.ts → NativeSelectFeild/index.d.ts} +1 -1
- package/dist/components/common/SelectField/index.d.ts +18 -0
- package/dist/components/common/index.d.ts +2 -1
- package/dist/components/ticketsContainer/TicketsSection.d.ts +2 -1
- package/dist/components/waitingList/index.d.ts +2 -1
- package/dist/tf-checkout-react.cjs.development.js +97 -14
- 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 +97 -14
- package/dist/tf-checkout-react.esm.js.map +1 -1
- package/dist/validators/index.d.ts +2 -1
- package/package.json +1 -1
- package/src/.DS_Store +0 -0
- package/src/assets/.DS_Store +0 -0
- package/src/components/addonsContainer/AddonComponent.tsx +2 -2
- package/src/components/billing-info-container/index.tsx +5 -1
- package/src/components/common/{SelectField.tsx → NativeSelectFeild/index.tsx} +1 -1
- package/src/components/common/SelectField/index.tsx +82 -0
- package/src/components/common/index.tsx +2 -1
- package/src/components/ticketsContainer/TicketsSection.tsx +31 -11
- package/src/components/ticketsContainer/index.tsx +2 -1
- package/src/components/waitingList/index.tsx +3 -2
- package/src/env.ts +2 -2
- package/src/normalizers/index.ts +8 -5
- package/src/validators/index.ts +25 -5
- package/src/components/common/dist/PhoneNumberField.js +0 -96
|
@@ -33,6 +33,9 @@ import FormHelperText$1 from '@mui/material/FormHelperText';
|
|
|
33
33
|
import FormLabel from '@mui/material/FormLabel';
|
|
34
34
|
import Radio from '@mui/material/Radio';
|
|
35
35
|
import RadioGroup from '@mui/material/RadioGroup';
|
|
36
|
+
import ListItemText from '@mui/material/ListItemText';
|
|
37
|
+
import MenuItem from '@mui/material/MenuItem';
|
|
38
|
+
import OutlinedInput from '@mui/material/OutlinedInput';
|
|
36
39
|
import { object, string, ref, boolean } from 'yup';
|
|
37
40
|
import Box$1 from '@mui/material/Box';
|
|
38
41
|
import Modal$1 from '@mui/material/Modal';
|
|
@@ -52,7 +55,6 @@ import _some from 'lodash-es/some';
|
|
|
52
55
|
import Button$1 from 'react-bootstrap/Button';
|
|
53
56
|
import moment from 'moment-timezone';
|
|
54
57
|
import _sortBy from 'lodash-es/sortBy';
|
|
55
|
-
import MenuItem from '@mui/material/MenuItem';
|
|
56
58
|
import Autocomplete from '@mui/material/Autocomplete';
|
|
57
59
|
import Paper from '@mui/material/Paper';
|
|
58
60
|
import Table from '@mui/material/Table';
|
|
@@ -1613,10 +1615,24 @@ var combineValidators = function combineValidators() {
|
|
|
1613
1615
|
}
|
|
1614
1616
|
};
|
|
1615
1617
|
};
|
|
1618
|
+
function isFalsy(item) {
|
|
1619
|
+
try {
|
|
1620
|
+
if (!item || // handles most, like false, 0, null, etc
|
|
1621
|
+
typeof item == 'object' && Object.keys(item).length === 0 && // for empty objects, like {}, []
|
|
1622
|
+
!(typeof item.addEventListener == 'function') // omit webpage elements
|
|
1623
|
+
) {
|
|
1624
|
+
return true;
|
|
1625
|
+
}
|
|
1626
|
+
} catch (err) {
|
|
1627
|
+
return true;
|
|
1628
|
+
}
|
|
1629
|
+
|
|
1630
|
+
return false;
|
|
1631
|
+
}
|
|
1616
1632
|
var requiredValidator = function requiredValidator(value, message) {
|
|
1617
1633
|
var errorMessage = '';
|
|
1618
1634
|
|
|
1619
|
-
if (
|
|
1635
|
+
if (isFalsy(value)) {
|
|
1620
1636
|
errorMessage = message || 'Required';
|
|
1621
1637
|
}
|
|
1622
1638
|
|
|
@@ -1944,7 +1960,7 @@ function Loader() {
|
|
|
1944
1960
|
}, React.createElement(CircularProgress, null));
|
|
1945
1961
|
}
|
|
1946
1962
|
|
|
1947
|
-
var
|
|
1963
|
+
var NativeSelectField = function NativeSelectField(_ref) {
|
|
1948
1964
|
var label = _ref.label,
|
|
1949
1965
|
_ref$type = _ref.type,
|
|
1950
1966
|
type = _ref$type === void 0 ? 'text' : _ref$type,
|
|
@@ -2045,6 +2061,62 @@ var RadioGroupField = function RadioGroupField(_ref) {
|
|
|
2045
2061
|
})));
|
|
2046
2062
|
};
|
|
2047
2063
|
|
|
2064
|
+
function SelectField(_ref) {
|
|
2065
|
+
var label = _ref.label,
|
|
2066
|
+
isMultiple = _ref.isMultiple,
|
|
2067
|
+
field = _ref.field,
|
|
2068
|
+
_ref$form = _ref.form,
|
|
2069
|
+
errors = _ref$form.errors,
|
|
2070
|
+
setFieldValue = _ref$form.setFieldValue,
|
|
2071
|
+
options = _ref.options,
|
|
2072
|
+
_ref$onChange = _ref.onChange,
|
|
2073
|
+
onChange = _ref$onChange === void 0 ? _identity : _ref$onChange;
|
|
2074
|
+
var name = field.name,
|
|
2075
|
+
value = field.value;
|
|
2076
|
+
var selectId = "select-field-" + name;
|
|
2077
|
+
|
|
2078
|
+
var error = _get(errors, name);
|
|
2079
|
+
|
|
2080
|
+
var handleChange = function handleChange(event) {
|
|
2081
|
+
var value = event.target.value;
|
|
2082
|
+
setFieldValue(name, value);
|
|
2083
|
+
onChange(event);
|
|
2084
|
+
};
|
|
2085
|
+
|
|
2086
|
+
return React.createElement(React.Fragment, null, React.createElement(FormControl, {
|
|
2087
|
+
fullWidth: true,
|
|
2088
|
+
error: Boolean(error)
|
|
2089
|
+
}, label && React.createElement(InputLabel, {
|
|
2090
|
+
id: selectId
|
|
2091
|
+
}, label), React.createElement(Select, {
|
|
2092
|
+
id: name,
|
|
2093
|
+
labelId: selectId,
|
|
2094
|
+
multiple: isMultiple,
|
|
2095
|
+
value: value,
|
|
2096
|
+
onChange: handleChange,
|
|
2097
|
+
input: React.createElement(OutlinedInput, {
|
|
2098
|
+
label: label
|
|
2099
|
+
}),
|
|
2100
|
+
renderValue: function renderValue(selected) {
|
|
2101
|
+
return isMultiple ? selected.join(', ') : selected;
|
|
2102
|
+
},
|
|
2103
|
+
sx: {
|
|
2104
|
+
textAlign: 'start'
|
|
2105
|
+
}
|
|
2106
|
+
}, options.map(function (option) {
|
|
2107
|
+
return React.createElement(MenuItem, {
|
|
2108
|
+
key: option.name,
|
|
2109
|
+
value: option.value
|
|
2110
|
+
}, isMultiple && React.createElement(Checkbox, {
|
|
2111
|
+
checked: value.indexOf(option.value) > -1
|
|
2112
|
+
}), React.createElement(ListItemText, {
|
|
2113
|
+
primary: option.name
|
|
2114
|
+
}));
|
|
2115
|
+
})), error ? React.createElement(FormHelperText$1, {
|
|
2116
|
+
error: true
|
|
2117
|
+
}, error) : null));
|
|
2118
|
+
}
|
|
2119
|
+
|
|
2048
2120
|
var SnackbarAlert = function SnackbarAlert(_ref) {
|
|
2049
2121
|
var isOpen = _ref.isOpen,
|
|
2050
2122
|
message = _ref.message,
|
|
@@ -3813,7 +3885,7 @@ var BillingInfoContainer = /*#__PURE__*/React.memo(function (_ref4) {
|
|
|
3813
3885
|
validate: getValidateFunctions(element, states, props.values, props.errors),
|
|
3814
3886
|
setFieldValue: props.setFieldValue,
|
|
3815
3887
|
onBlur: props.handleBlur,
|
|
3816
|
-
component: element.type === 'checkbox' ? CheckboxField : element.type === 'select' ?
|
|
3888
|
+
component: element.type === 'checkbox' ? CheckboxField : element.type === 'select' ? NativeSelectField : element.type === 'phone' ? PhoneNumberField : element.type === 'date' ? DatePickerField : element.type === 'radio' ? RadioGroupField : element.type === 'select_multi' ? SelectField : CustomField,
|
|
3817
3889
|
selectOptions: element.name === 'country' ? _map(countries, function (item) {
|
|
3818
3890
|
return {
|
|
3819
3891
|
value: item.id,
|
|
@@ -3932,7 +4004,7 @@ var BillingInfoContainer = /*#__PURE__*/React.memo(function (_ref4) {
|
|
|
3932
4004
|
});
|
|
3933
4005
|
|
|
3934
4006
|
var currencyNormalizerCreator = function currencyNormalizerCreator(value, currency) {
|
|
3935
|
-
return !value ? '' :
|
|
4007
|
+
return !value ? '' : getCurrencySymbolByCurrency(currency) + " " + value;
|
|
3936
4008
|
};
|
|
3937
4009
|
var createFixedFloatNormalizer = function createFixedFloatNormalizer(fixedValue) {
|
|
3938
4010
|
return function (value) {
|
|
@@ -5199,7 +5271,9 @@ var generateQuantity = function generateQuantity(n) {
|
|
|
5199
5271
|
var WaitingList = function WaitingList(_ref) {
|
|
5200
5272
|
var _ref$tickets = _ref.tickets,
|
|
5201
5273
|
tickets = _ref$tickets === void 0 ? {} : _ref$tickets,
|
|
5202
|
-
eventId = _ref.eventId
|
|
5274
|
+
eventId = _ref.eventId,
|
|
5275
|
+
_ref$defaultMaxQuanti = _ref.defaultMaxQuantity,
|
|
5276
|
+
defaultMaxQuantity = _ref$defaultMaxQuanti === void 0 ? 10 : _ref$defaultMaxQuanti;
|
|
5203
5277
|
var isWindowDefined = typeof window !== 'undefined';
|
|
5204
5278
|
var userData = isWindowDefined && window.localStorage.getItem('user_data') ? JSON.parse(window.localStorage.getItem('user_data') || '') : {};
|
|
5205
5279
|
|
|
@@ -5308,7 +5382,7 @@ var WaitingList = function WaitingList(_ref) {
|
|
|
5308
5382
|
label: 'Quantity Requested',
|
|
5309
5383
|
value: '',
|
|
5310
5384
|
disabled: true
|
|
5311
|
-
}].concat(generateQuantity(10))
|
|
5385
|
+
}].concat(generateQuantity(defaultMaxQuantity != null ? defaultMaxQuantity : 10))
|
|
5312
5386
|
}))), React.createElement("div", {
|
|
5313
5387
|
className: "field-item"
|
|
5314
5388
|
}, React.createElement(Field, {
|
|
@@ -5574,12 +5648,17 @@ var TicketRow = function TicketRow(_ref) {
|
|
|
5574
5648
|
};
|
|
5575
5649
|
|
|
5576
5650
|
var TicketsSection = function TicketsSection(_ref) {
|
|
5577
|
-
var
|
|
5651
|
+
var _ref$event = _ref.event,
|
|
5652
|
+
event = _ref$event === void 0 ? {
|
|
5653
|
+
currency: {}
|
|
5654
|
+
} : _ref$event,
|
|
5655
|
+
ticketsList = _ref.ticketsList,
|
|
5578
5656
|
selectedTickets = _ref.selectedTickets,
|
|
5579
5657
|
handleTicketSelect = _ref.handleTicketSelect,
|
|
5580
5658
|
sortBySoldOut = _ref.sortBySoldOut,
|
|
5581
5659
|
ticketsHeaderComponent = _ref.ticketsHeaderComponent,
|
|
5582
5660
|
hideTicketsHeader = _ref.hideTicketsHeader;
|
|
5661
|
+
var currency = event.currency.currency;
|
|
5583
5662
|
var sortedTicketsList = sortBySoldOut ? _sortBy(_sortBy(ticketsList, 'sortOrder'), 'soldOut') : _sortBy(ticketsList, 'sortOrder');
|
|
5584
5663
|
var showGroup = !!sortedTicketsList.find(function (ticket) {
|
|
5585
5664
|
return ticket.groupName;
|
|
@@ -5587,6 +5666,8 @@ var TicketsSection = function TicketsSection(_ref) {
|
|
|
5587
5666
|
return React.createElement(React.Fragment, null, !hideTicketsHeader && ticketsHeaderComponent, sortedTicketsList.map(function (ticket, i, arr) {
|
|
5588
5667
|
var _arr;
|
|
5589
5668
|
|
|
5669
|
+
var ticketPrice = currencyNormalizerCreator((+ticket.price).toFixed(2), currency);
|
|
5670
|
+
var ticketOldPrice = currencyNormalizerCreator((+ticket.oldPrice).toFixed(2), currency);
|
|
5590
5671
|
var isSoldOut = ticket.sold_out || !ticket.displayTicket || ticket.soldOut;
|
|
5591
5672
|
|
|
5592
5673
|
var ticketSelect = function ticketSelect(event) {
|
|
@@ -5601,12 +5682,12 @@ var TicketsSection = function TicketsSection(_ref) {
|
|
|
5601
5682
|
}
|
|
5602
5683
|
|
|
5603
5684
|
var ticketIsFree = +ticket.price === 0;
|
|
5604
|
-
var
|
|
5685
|
+
var ticketPriceElem = isSoldOut ? 'SOLD OUT' : ticketIsFree ? 'FREE' : ticketPrice;
|
|
5605
5686
|
var isNewGroupTicket = (ticket == null ? void 0 : ticket.groupName) !== ((_arr = arr[i - 1]) == null ? void 0 : _arr.groupName);
|
|
5606
5687
|
return React.createElement(React.Fragment, {
|
|
5607
5688
|
key: ticket.id || ticket.name
|
|
5608
5689
|
}, showGroup && isNewGroupTicket ? React.createElement("div", {
|
|
5609
|
-
className:
|
|
5690
|
+
className: "event-detail__tier group-title"
|
|
5610
5691
|
}, ticket.groupName || '') : null, React.createElement("div", {
|
|
5611
5692
|
className: "event-detail__tier " + (isSoldOut ? 'disabled' : '')
|
|
5612
5693
|
}, React.createElement("div", {
|
|
@@ -5617,9 +5698,9 @@ var TicketsSection = function TicketsSection(_ref) {
|
|
|
5617
5698
|
className: "event-detail__tier-price"
|
|
5618
5699
|
}, ticketIsDiscounted && React.createElement("p", {
|
|
5619
5700
|
className: "old-price"
|
|
5620
|
-
},
|
|
5701
|
+
}, ticketOldPrice), React.createElement("p", {
|
|
5621
5702
|
className: isSoldOut ? 'sold-out' : ''
|
|
5622
|
-
},
|
|
5703
|
+
}, ticketPriceElem), !isSoldOut && !ticketIsFree && React.createElement("p", {
|
|
5623
5704
|
className: "fees"
|
|
5624
5705
|
}, ticket.feeIncluded ? '(incl. Fees)' : '(excl. Fees)')), React.createElement("div", {
|
|
5625
5706
|
className: "event-detail__tier-state",
|
|
@@ -6267,6 +6348,7 @@ var TicketsContainer = function TicketsContainer(_ref) {
|
|
|
6267
6348
|
}, error), isLoading ? React.createElement(Loader, null) : React.createElement("div", {
|
|
6268
6349
|
ref: ticketsContainerRef
|
|
6269
6350
|
}, !isSalesClosed && React.createElement(TicketsSection, {
|
|
6351
|
+
event: event,
|
|
6270
6352
|
ticketsList: tickets,
|
|
6271
6353
|
selectedTickets: selectedTickets,
|
|
6272
6354
|
handleTicketSelect: handleTicketSelect,
|
|
@@ -6286,7 +6368,8 @@ var TicketsContainer = function TicketsContainer(_ref) {
|
|
|
6286
6368
|
isLoggedIn: isLoggedIn
|
|
6287
6369
|
}) : null, showWaitingList && event.salesStarted && !hideWaitingList && React.createElement(WaitingList, {
|
|
6288
6370
|
tickets: tickets,
|
|
6289
|
-
eventId: eventId
|
|
6371
|
+
eventId: eventId,
|
|
6372
|
+
defaultMaxQuantity: event.waitingListMaxQuantity
|
|
6290
6373
|
}), codeIsLoading ? React.createElement(Loader, null) : isSalesClosed ? null : showAccessCodeSection ? React.createElement(AccessCodeSection, {
|
|
6291
6374
|
code: code,
|
|
6292
6375
|
setCode: setCode,
|
|
@@ -7622,7 +7705,7 @@ var AddonComponent = function AddonComponent(_ref) {
|
|
|
7622
7705
|
}, React.createElement(Field, {
|
|
7623
7706
|
name: id,
|
|
7624
7707
|
selectOptions: selectOptions,
|
|
7625
|
-
component:
|
|
7708
|
+
component: NativeSelectField,
|
|
7626
7709
|
onChange: function onChange(e) {
|
|
7627
7710
|
var value = e.target.value;
|
|
7628
7711
|
handleAddonChange(id, value);
|