tf-checkout-react 1.3.25 → 1.3.26
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/components/common/CustomField.d.ts +3 -0
- package/dist/tf-checkout-react.cjs.development.js +45 -22
- 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 +46 -23
- package/dist/tf-checkout-react.esm.js.map +1 -1
- package/package.json +1 -1
- package/src/components/common/CustomField.tsx +25 -4
- package/src/components/ticketsContainer/TicketsSection.tsx +35 -29
|
@@ -12,6 +12,9 @@ export interface ICustomField {
|
|
|
12
12
|
theme: 'dark' | 'light';
|
|
13
13
|
type?: string;
|
|
14
14
|
selectOptions?: ISelectOption[];
|
|
15
|
+
inputRef?: {
|
|
16
|
+
current: HTMLInputElement | null;
|
|
17
|
+
} | ((node: HTMLInputElement | null) => void);
|
|
15
18
|
}
|
|
16
19
|
interface IOtherProps {
|
|
17
20
|
[key: string]: any;
|
|
@@ -25,6 +25,8 @@ var AdapterMoment = require('@mui/x-date-pickers/AdapterMoment');
|
|
|
25
25
|
var LocalizationProvider = require('@mui/x-date-pickers/LocalizationProvider');
|
|
26
26
|
var TextField = _interopDefault(require('@mui/material/TextField'));
|
|
27
27
|
var styles$1 = require('@mui/styles');
|
|
28
|
+
var _isFunction = _interopDefault(require('lodash/isFunction'));
|
|
29
|
+
var _isObject = _interopDefault(require('lodash/isObject'));
|
|
28
30
|
var FormGroup = _interopDefault(require('@mui/material/FormGroup'));
|
|
29
31
|
var FormControlLabel = _interopDefault(require('@mui/material/FormControlLabel'));
|
|
30
32
|
var Checkbox = _interopDefault(require('@mui/material/Checkbox'));
|
|
@@ -1613,28 +1615,33 @@ var emailValidator = function emailValidator(email) {
|
|
|
1613
1615
|
return !emailRegex.test(email) ? 'Please enter a valid email address' : '';
|
|
1614
1616
|
};
|
|
1615
1617
|
|
|
1616
|
-
var CustomField = function CustomField(
|
|
1617
|
-
var
|
|
1618
|
-
|
|
1619
|
-
|
|
1620
|
-
|
|
1621
|
-
|
|
1622
|
-
|
|
1623
|
-
|
|
1624
|
-
|
|
1625
|
-
|
|
1626
|
-
|
|
1627
|
-
|
|
1628
|
-
|
|
1629
|
-
|
|
1630
|
-
|
|
1631
|
-
|
|
1632
|
-
|
|
1618
|
+
var CustomField = function CustomField(_ref2) {
|
|
1619
|
+
var _ref$current;
|
|
1620
|
+
|
|
1621
|
+
var label = _ref2.label,
|
|
1622
|
+
_ref2$type = _ref2.type,
|
|
1623
|
+
type = _ref2$type === void 0 ? 'text' : _ref2$type,
|
|
1624
|
+
field = _ref2.field,
|
|
1625
|
+
_ref2$selectOptions = _ref2.selectOptions,
|
|
1626
|
+
selectOptions = _ref2$selectOptions === void 0 ? [] : _ref2$selectOptions,
|
|
1627
|
+
_ref2$form = _ref2.form,
|
|
1628
|
+
touched = _ref2$form.touched,
|
|
1629
|
+
errors = _ref2$form.errors,
|
|
1630
|
+
submitCount = _ref2$form.submitCount,
|
|
1631
|
+
theme = _ref2.theme,
|
|
1632
|
+
_ref2$inputProps = _ref2.inputProps,
|
|
1633
|
+
pInputProps = _ref2$inputProps === void 0 ? {} : _ref2$inputProps,
|
|
1634
|
+
_ref2$InputProps = _ref2.InputProps,
|
|
1635
|
+
InputProps = _ref2$InputProps === void 0 ? {} : _ref2$InputProps,
|
|
1636
|
+
inputRef = _ref2.inputRef;
|
|
1633
1637
|
|
|
1634
1638
|
var _useState = React.useState(Boolean(field.value)),
|
|
1635
1639
|
isShrinked = _useState[0],
|
|
1636
1640
|
setIsShrinked = _useState[1];
|
|
1637
1641
|
|
|
1642
|
+
var _ref = React.useRef(null);
|
|
1643
|
+
|
|
1644
|
+
var isAutoFilled = (_ref$current = _ref.current) == null ? void 0 : _ref$current.matches(':-webkit-autofill');
|
|
1638
1645
|
var isSelectField = type === 'select';
|
|
1639
1646
|
|
|
1640
1647
|
var error = _get(errors, field.name);
|
|
@@ -1644,6 +1651,13 @@ var CustomField = function CustomField(_ref) {
|
|
|
1644
1651
|
var inputProps = {
|
|
1645
1652
|
sx: customTheme == null ? void 0 : customTheme.input
|
|
1646
1653
|
};
|
|
1654
|
+
React.useEffect(function () {
|
|
1655
|
+
if (_isFunction(inputRef)) {
|
|
1656
|
+
inputRef(_ref.current);
|
|
1657
|
+
} else if (_isObject(inputRef)) {
|
|
1658
|
+
inputRef.current = _ref.current;
|
|
1659
|
+
}
|
|
1660
|
+
});
|
|
1647
1661
|
return React__default.createElement(TextField, Object.assign({
|
|
1648
1662
|
placeholder: "",
|
|
1649
1663
|
id: field.name,
|
|
@@ -1665,11 +1679,11 @@ var CustomField = function CustomField(_ref) {
|
|
|
1665
1679
|
},
|
|
1666
1680
|
InputLabelProps: {
|
|
1667
1681
|
sx: customTheme == null ? void 0 : customTheme.input,
|
|
1668
|
-
shrink: isShrinked || Boolean(field.value)
|
|
1682
|
+
shrink: isShrinked || Boolean(field.value) || isAutoFilled
|
|
1669
1683
|
},
|
|
1670
1684
|
InputProps: InputProps,
|
|
1671
1685
|
inputProps: _extends({}, inputProps, pInputProps),
|
|
1672
|
-
inputRef:
|
|
1686
|
+
inputRef: _ref
|
|
1673
1687
|
}, field, {
|
|
1674
1688
|
onBlur: function onBlur(e) {
|
|
1675
1689
|
setIsShrinked(Boolean(field.value));
|
|
@@ -5429,7 +5443,12 @@ var TicketsSection = function TicketsSection(_ref) {
|
|
|
5429
5443
|
ticketsHeaderComponent = _ref.ticketsHeaderComponent,
|
|
5430
5444
|
hideTicketsHeader = _ref.hideTicketsHeader;
|
|
5431
5445
|
var sortedTicketsList = sortBySoldOut ? _sortBy(_sortBy(ticketsList, 'sortOrder'), 'soldOut') : _sortBy(ticketsList, 'sortOrder');
|
|
5446
|
+
var showGroup = !!sortedTicketsList.find(function (ticket) {
|
|
5447
|
+
return ticket.groupName;
|
|
5448
|
+
});
|
|
5432
5449
|
return React__default.createElement(React__default.Fragment, null, !hideTicketsHeader && ticketsHeaderComponent, sortedTicketsList.map(function (ticket, i, arr) {
|
|
5450
|
+
var _arr;
|
|
5451
|
+
|
|
5433
5452
|
var isSoldOut = ticket.sold_out || !ticket.displayTicket || ticket.soldOut;
|
|
5434
5453
|
|
|
5435
5454
|
var ticketSelect = function ticketSelect(event) {
|
|
@@ -5445,8 +5464,12 @@ var TicketsSection = function TicketsSection(_ref) {
|
|
|
5445
5464
|
|
|
5446
5465
|
var ticketIsFree = +ticket.price === 0;
|
|
5447
5466
|
var ticketPrice = isSoldOut ? 'SOLD OUT' : ticketIsFree ? 'FREE' : "\xA3 " + (+ticket.price).toFixed(2);
|
|
5448
|
-
|
|
5449
|
-
|
|
5467
|
+
var isNewGroupTicket = (ticket == null ? void 0 : ticket.groupName) !== ((_arr = arr[i - 1]) == null ? void 0 : _arr.groupName);
|
|
5468
|
+
return React__default.createElement(React__default.Fragment, {
|
|
5469
|
+
key: ticket.id || ticket.name
|
|
5470
|
+
}, showGroup && isNewGroupTicket ? React__default.createElement("div", {
|
|
5471
|
+
className: 'event-detail__tier group-title'
|
|
5472
|
+
}, ticket.groupName || '') : null, React__default.createElement("div", {
|
|
5450
5473
|
className: "event-detail__tier " + (isSoldOut ? 'disabled' : '')
|
|
5451
5474
|
}, React__default.createElement("div", {
|
|
5452
5475
|
className: "event-detail__tier-name"
|
|
@@ -5470,7 +5493,7 @@ var TicketsSection = function TicketsSection(_ref) {
|
|
|
5470
5493
|
prevTicketTier: arr[i - 1],
|
|
5471
5494
|
selectedTickets: selectedTickets,
|
|
5472
5495
|
handleTicketSelect: ticketSelect
|
|
5473
|
-
}))));
|
|
5496
|
+
})))));
|
|
5474
5497
|
}));
|
|
5475
5498
|
};
|
|
5476
5499
|
|