ordering-ui-external 2.2.2 → 2.3.1

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 (45) hide show
  1. package/_bundles/{0.ordering-ui.da916a51373ae7f6cfcc.js → 0.ordering-ui.c46aca08b04b2755b967.js} +1 -1
  2. package/_bundles/{1.ordering-ui.da916a51373ae7f6cfcc.js → 1.ordering-ui.c46aca08b04b2755b967.js} +1 -1
  3. package/_bundles/{2.ordering-ui.da916a51373ae7f6cfcc.js → 2.ordering-ui.c46aca08b04b2755b967.js} +1 -1
  4. package/_bundles/{4.ordering-ui.da916a51373ae7f6cfcc.js → 4.ordering-ui.c46aca08b04b2755b967.js} +1 -1
  5. package/_bundles/{5.ordering-ui.da916a51373ae7f6cfcc.js → 5.ordering-ui.c46aca08b04b2755b967.js} +1 -1
  6. package/_bundles/{6.ordering-ui.da916a51373ae7f6cfcc.js → 6.ordering-ui.c46aca08b04b2755b967.js} +1 -1
  7. package/_bundles/{7.ordering-ui.da916a51373ae7f6cfcc.js → 7.ordering-ui.c46aca08b04b2755b967.js} +2 -2
  8. package/_bundles/{7.ordering-ui.da916a51373ae7f6cfcc.js.LICENSE.txt → 7.ordering-ui.c46aca08b04b2755b967.js.LICENSE.txt} +0 -0
  9. package/_bundles/{8.ordering-ui.da916a51373ae7f6cfcc.js → 8.ordering-ui.c46aca08b04b2755b967.js} +1 -1
  10. package/_bundles/{9.ordering-ui.da916a51373ae7f6cfcc.js → 9.ordering-ui.c46aca08b04b2755b967.js} +1 -1
  11. package/_bundles/ordering-ui.c46aca08b04b2755b967.js +2 -0
  12. package/_bundles/{ordering-ui.da916a51373ae7f6cfcc.js.LICENSE.txt → ordering-ui.c46aca08b04b2755b967.js.LICENSE.txt} +0 -0
  13. package/_modules/components/PaymentOptions/index.js +42 -2
  14. package/_modules/index.js +7 -0
  15. package/_modules/themes/five/index.js +7 -0
  16. package/_modules/themes/five/src/components/BusinessProductsListing/index.js +1 -4
  17. package/_modules/themes/five/src/components/Cart/index.js +6 -2
  18. package/_modules/themes/five/src/components/Cart/styles.js +1 -1
  19. package/_modules/themes/five/src/components/Checkout/index.js +142 -42
  20. package/_modules/themes/five/src/components/Checkout/styles.js +5 -3
  21. package/_modules/themes/five/src/components/InputPhoneNumber/index.js +10 -21
  22. package/_modules/themes/five/src/components/LoginForm/index.js +29 -13
  23. package/_modules/themes/five/src/components/MultiCheckout/index.js +5 -1
  24. package/_modules/themes/five/src/components/QueryLoginSpoonity/index.js +37 -0
  25. package/_modules/themes/five/src/components/SignUpForm/index.js +15 -7
  26. package/_modules/themes/five/src/components/Wallets/index.js +1 -1
  27. package/_modules/themes/five/src/styles/Buttons/index.js +32 -2
  28. package/package.json +2 -2
  29. package/src/components/PaymentOptions/index.js +35 -2
  30. package/src/index.js +2 -0
  31. package/src/themes/five/index.js +2 -1
  32. package/src/themes/five/src/components/BusinessProductsListing/index.js +3 -2
  33. package/src/themes/five/src/components/Cart/index.js +10 -1
  34. package/src/themes/five/src/components/Cart/styles.js +5 -0
  35. package/src/themes/five/src/components/Checkout/index.js +141 -54
  36. package/src/themes/five/src/components/Checkout/styles.js +15 -0
  37. package/src/themes/five/src/components/InputPhoneNumber/index.js +33 -38
  38. package/src/themes/five/src/components/LoginForm/index.js +27 -10
  39. package/src/themes/five/src/components/MultiCheckout/index.js +11 -2
  40. package/src/themes/five/src/components/QueryLoginSpoonity/index.js +19 -0
  41. package/src/themes/five/src/components/SignUpForm/index.js +9 -1
  42. package/src/themes/five/src/components/Wallets/index.js +1 -1
  43. package/src/themes/five/src/styles/Buttons/index.js +24 -0
  44. package/template/app.js +22 -7
  45. package/_bundles/ordering-ui.da916a51373ae7f6cfcc.js +0 -2
@@ -4,9 +4,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.WrapperUserDetails = exports.WrapperRightContainer = exports.WrapperPlaceOrderButton = exports.WrapperLeftContent = exports.WrapperLeftContainer = exports.WrapperActionsInput = exports.WarningText = exports.WarningMessage = exports.WalletPaymentOptionContainer = exports.UserDetailsContainer = exports.SelectSpotContainer = exports.PaymentMethodContainer = exports.OrderContextUIWrapper = exports.NotFoundImage = exports.MobileWrapperPlaceOrderButton = exports.HeaderContent = exports.DriverTipDivider = exports.DriverTipContainer = exports.DeliveryOptionsContainer = exports.Container = exports.CheckOutDivider = exports.CartsList = exports.CartHeader = exports.CartContainer = exports.BusinessDetailsContainer = void 0;
7
+ exports.WrapperUserDetails = exports.WrapperRightContainer = exports.WrapperPlaceOrderButton = exports.WrapperLeftContent = exports.WrapperLeftContainer = exports.WrapperActionsInput = exports.WarningText = exports.WarningMessage = exports.WalletPaymentOptionContainer = exports.UserDetailsContainer = exports.SelectSpotContainer = exports.PaymentMethodContainer = exports.OrderContextUIWrapper = exports.NotFoundImage = exports.MobileWrapperPlaceOrderButton = exports.HeaderContent = exports.DriverTipDivider = exports.DriverTipContainer = exports.DeliveryOptionsContainer = exports.Container = exports.CheckOutDivider = exports.CartsList = exports.CartHeader = exports.CartContainer = exports.BusinessDetailsContainer = exports.AuthButtonList = void 0;
8
8
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
9
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21, _templateObject22, _templateObject23, _templateObject24, _templateObject25, _templateObject26, _templateObject27;
9
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21, _templateObject22, _templateObject23, _templateObject24, _templateObject25, _templateObject26, _templateObject27, _templateObject28;
10
10
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
11
11
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
12
12
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
@@ -75,4 +75,6 @@ var OrderContextUIWrapper = _styledComponents.default.div(_templateObject25 || (
75
75
  });
76
76
  exports.OrderContextUIWrapper = OrderContextUIWrapper;
77
77
  var HeaderContent = _styledComponents.default.div(_templateObject27 || (_templateObject27 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n margin-bottom: 10px;\n .back-arrow {\n font-size: 24px;\n cursor: pointer;\n }\n"])));
78
- exports.HeaderContent = HeaderContent;
78
+ exports.HeaderContent = HeaderContent;
79
+ var AuthButtonList = _styledComponents.default.div(_templateObject28 || (_templateObject28 = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: column;\n h2 {\n font-weight: 600;\n font-size: 20px;\n margin-bottom: 3px;\n }\n button {\n width: 100%;\n height: 44px;\n margin-top: 22px;\n }\n"])));
80
+ exports.AuthButtonList = AuthButtonList;
@@ -14,7 +14,6 @@ var _styles = require("./styles");
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
15
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
16
16
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
17
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
18
17
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
19
18
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
20
19
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
@@ -22,13 +21,15 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
22
21
  function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
23
22
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
24
23
  var InputPhoneNumber = function InputPhoneNumber(props) {
25
- var _props$beforeElements, _props$beforeComponen, _configs$default_coun, _props$afterComponent, _props$afterElements;
24
+ var _configs$default_coun;
26
25
  var user = props.user,
27
26
  value = props.value,
28
27
  setValue = props.setValue,
29
28
  handleIsValid = props.handleIsValid,
30
29
  disabled = props.disabled,
31
- isError = props.isError;
30
+ isError = props.isError,
31
+ currentCountryCode = props.currentCountryCode,
32
+ setCurrentPhoneNumber = props.setCurrentPhoneNumber;
32
33
  var _useLanguage = (0, _orderingComponentsExternal.useLanguage)(),
33
34
  _useLanguage2 = _slicedToArray(_useLanguage, 2),
34
35
  t = _useLanguage2[1];
@@ -38,6 +39,7 @@ var InputPhoneNumber = function InputPhoneNumber(props) {
38
39
  var _useConfig = (0, _orderingComponentsExternal.useConfig)(),
39
40
  _useConfig2 = _slicedToArray(_useConfig, 1),
40
41
  configs = _useConfig2[0].configs;
42
+ var phoneRef = (0, _react.useRef)(null);
41
43
  var isValidPhoneNumber = function isValidPhoneNumber(number) {
42
44
  var _configs$validation_p, _configs$validation_p2;
43
45
  if (!number) return;
@@ -49,6 +51,8 @@ var InputPhoneNumber = function InputPhoneNumber(props) {
49
51
  };
50
52
  (0, _react.useEffect)(function () {
51
53
  if (value) {
54
+ var _phoneRef$current, _phoneRef$current$def;
55
+ setCurrentPhoneNumber && setCurrentPhoneNumber("+".concat(currentCountryCode, " ").concat(phoneRef === null || phoneRef === void 0 ? void 0 : (_phoneRef$current = phoneRef.current) === null || _phoneRef$current === void 0 ? void 0 : (_phoneRef$current$def = _phoneRef$current.defaultValue) === null || _phoneRef$current$def === void 0 ? void 0 : _phoneRef$current$def.replace(/ /g, '')));
52
56
  handleIsValid && handleIsValid(isValidPhoneNumber(value));
53
57
  }
54
58
  }, [value]);
@@ -57,15 +61,8 @@ var InputPhoneNumber = function InputPhoneNumber(props) {
57
61
  disabled: disabled,
58
62
  isValid: value ? isValidPhoneNumber(value) : true,
59
63
  isError: isError
60
- }, /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, (_props$beforeElements = props.beforeElements) === null || _props$beforeElements === void 0 ? void 0 : _props$beforeElements.map(function (BeforeElement, i) {
61
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {
62
- key: i
63
- }, BeforeElement);
64
- }), (_props$beforeComponen = props.beforeComponents) === null || _props$beforeComponen === void 0 ? void 0 : _props$beforeComponen.map(function (BeforeComponent, i) {
65
- return /*#__PURE__*/_react.default.createElement(BeforeComponent, _extends({
66
- key: i
67
- }, props));
68
- }), /*#__PURE__*/_react.default.createElement(_styles.InputBeforeIconWrapper, null, /*#__PURE__*/_react.default.createElement(_BsPhone.default, null)), /*#__PURE__*/_react.default.createElement(_reactPhoneNumberInput.default, {
64
+ }, /*#__PURE__*/_react.default.createElement(_styles.InputBeforeIconWrapper, null, /*#__PURE__*/_react.default.createElement(_BsPhone.default, null)), /*#__PURE__*/_react.default.createElement(_reactPhoneNumberInput.default, {
65
+ ref: phoneRef,
69
66
  disabled: disabled,
70
67
  placeholder: t('PHONE_NUMBER', 'Phone number'),
71
68
  defaultCountry: configs === null || configs === void 0 ? void 0 : (_configs$default_coun = configs.default_country_code) === null || _configs$default_coun === void 0 ? void 0 : _configs$default_coun.value,
@@ -75,14 +72,6 @@ var InputPhoneNumber = function InputPhoneNumber(props) {
75
72
  onChange: function onChange(val) {
76
73
  return setValue && setValue(val, isValidPhoneNumber(val));
77
74
  }
78
- }), value && !isValidPhoneNumber(value) && !disabled && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, (auth && (user === null || user === void 0 ? void 0 : user.country_phone_code) || !auth || value.includes('+')) && /*#__PURE__*/_react.default.createElement(_styles.ErrorMsg, null, t('INVALID_ERROR_PHONE_NUMBER', 'The Phone Number field is invalid')), auth && !(user !== null && user !== void 0 && user.country_phone_code) && !value.includes('+') && /*#__PURE__*/_react.default.createElement(_styles.ErrorMsg, null, t('INVALID_ERROR_COUNTRY_CODE_PHONE_NUMBER', 'The country code of the phone number is invalid'))), (_props$afterComponent = props.afterComponents) === null || _props$afterComponent === void 0 ? void 0 : _props$afterComponent.map(function (AfterComponent, i) {
79
- return /*#__PURE__*/_react.default.createElement(AfterComponent, _extends({
80
- key: i
81
- }, props));
82
- }), (_props$afterElements = props.afterElements) === null || _props$afterElements === void 0 ? void 0 : _props$afterElements.map(function (AfterElement, i) {
83
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {
84
- key: i
85
- }, AfterElement);
86
- })));
75
+ }), value && !isValidPhoneNumber(value) && !disabled && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, (auth && (user === null || user === void 0 ? void 0 : user.country_phone_code) || !auth || value.includes('+')) && /*#__PURE__*/_react.default.createElement(_styles.ErrorMsg, null, t('INVALID_ERROR_PHONE_NUMBER', 'The Phone Number field is invalid')), auth && !(user !== null && user !== void 0 && user.country_phone_code) && !value.includes('+') && /*#__PURE__*/_react.default.createElement(_styles.ErrorMsg, null, t('INVALID_ERROR_COUNTRY_CODE_PHONE_NUMBER', 'The country code of the phone number is invalid'))));
87
76
  };
88
77
  exports.InputPhoneNumber = InputPhoneNumber;
@@ -46,7 +46,7 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
46
46
  function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
47
47
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
48
48
  var LoginFormUI = function LoginFormUI(props) {
49
- var _configs$google_login, _configs$google_login2, _configs$google_login3, _configs$facebook_log, _configs$facebook_log2, _configs$apple_login_, _configs$apple_login_2, _configs$facebook_log3, _configs$facebook_log4, _configs$facebook_id, _configs$google_login4, _configs$google_login5, _configs$google_login6, _configs$apple_login_3, _configs$twilio_servi, _configs$twilio_servi2, _props$beforeElements, _props$beforeComponen, _theme$images, _theme$images$general, _theme$images2, _theme$images2$logos, _props$beforeMidEleme, _props$beforeMidCompo, _formMethods$errors, _formMethods$errors$e, _formMethods$errors2, _formMethods$errors2$, _formMethods$errors3, _formMethods$errors3$, _formMethods$errors4, _formMethods$errors5, _formMethods$errors6, _formMethods$errors6$, _formMethods$errors7, _formMethods$errors7$, _formMethods$errors8, _formMethods$errors9, _formMethods$errors10, _formMethods$errors11, _formMethods$errors12, _formMethods$errors13, _formMethods$errors14, _props$afterMidElemen, _props$afterMidCompon, _theme$defaultLanguag, _configs$facebook_log5, _configs$facebook_log6, _configs$facebook_id2, _configs$facebook_id3, _configs$google_login7, _configs$google_login8, _configs$google_login9, _configs$apple_login_4, _configs$twilio_servi3, _configs$twilio_servi4, _props$afterComponent, _props$afterElements;
49
+ var _configs$google_login, _configs$google_login2, _configs$google_login3, _configs$facebook_log, _configs$facebook_log2, _configs$apple_login_, _configs$apple_login_2, _configs$spoonity_tit, _configs$facebook_log3, _configs$facebook_log4, _configs$facebook_id, _configs$google_login4, _configs$google_login5, _configs$google_login6, _configs$apple_login_3, _configs$twilio_servi, _configs$twilio_servi2, _props$beforeElements, _props$beforeComponen, _theme$images, _theme$images$general, _theme$images2, _theme$images2$logos, _props$beforeMidEleme, _props$beforeMidCompo, _formMethods$errors, _formMethods$errors$e, _formMethods$errors2, _formMethods$errors2$, _formMethods$errors3, _formMethods$errors3$, _formMethods$errors4, _formMethods$errors5, _formMethods$errors6, _formMethods$errors6$, _formMethods$errors7, _formMethods$errors7$, _formMethods$errors8, _formMethods$errors9, _formMethods$errors10, _formMethods$errors11, _formMethods$errors12, _formMethods$errors13, _formMethods$errors14, _props$afterMidElemen, _props$afterMidCompon, _theme$defaultLanguag, _configs$facebook_log5, _configs$facebook_log6, _configs$facebook_id2, _configs$facebook_id3, _configs$google_login7, _configs$google_login8, _configs$google_login9, _configs$apple_login_4, _configs$twilio_servi3, _configs$twilio_servi4, _props$afterComponent, _props$afterElements;
50
50
  var useLoginByEmail = props.useLoginByEmail,
51
51
  useLoginByCellphone = props.useLoginByCellphone,
52
52
  handleChangeInput = props.handleChangeInput,
@@ -72,7 +72,9 @@ var LoginFormUI = function LoginFormUI(props) {
72
72
  otpState = props.otpState,
73
73
  setOtpState = props.setOtpState,
74
74
  useLoginOtpEmail = props.useLoginOtpEmail,
75
- useLoginOtpCellphone = props.useLoginOtpCellphone;
75
+ useLoginOtpCellphone = props.useLoginOtpCellphone,
76
+ handleLoginSpoonity = props.handleLoginSpoonity,
77
+ useLoginSpoonity = props.useLoginSpoonity;
76
78
  var numOtpInputs = loginTab === 'otp' ? 6 : 4;
77
79
  var _useApi = (0, _orderingComponentsExternal.useApi)(),
78
80
  _useApi2 = _slicedToArray(_useApi, 2),
@@ -147,6 +149,7 @@ var LoginFormUI = function LoginFormUI(props) {
147
149
  var googleLoginEnabled = (configs === null || configs === void 0 ? void 0 : (_configs$google_login2 = configs.google_login_enabled) === null || _configs$google_login2 === void 0 ? void 0 : _configs$google_login2.value) === '1' || !(configs !== null && configs !== void 0 && (_configs$google_login3 = configs.google_login_enabled) !== null && _configs$google_login3 !== void 0 && _configs$google_login3.enabled);
148
150
  var facebookLoginEnabled = (configs === null || configs === void 0 ? void 0 : (_configs$facebook_log = configs.facebook_login_enabled) === null || _configs$facebook_log === void 0 ? void 0 : _configs$facebook_log.value) === '1' || !(configs !== null && configs !== void 0 && (_configs$facebook_log2 = configs.facebook_login_enabled) !== null && _configs$facebook_log2 !== void 0 && _configs$facebook_log2.enabled);
149
151
  var appleLoginEnabled = (configs === null || configs === void 0 ? void 0 : (_configs$apple_login_ = configs.apple_login_enabled) === null || _configs$apple_login_ === void 0 ? void 0 : _configs$apple_login_.value) === '1' || !(configs !== null && configs !== void 0 && (_configs$apple_login_2 = configs.apple_login_enabled) !== null && _configs$apple_login_2 !== void 0 && _configs$apple_login_2.enabled);
152
+ var spoonityTitle = configs === null || configs === void 0 ? void 0 : (_configs$spoonity_tit = configs.spoonity_title) === null || _configs$spoonity_tit === void 0 ? void 0 : _configs$spoonity_tit.value;
150
153
  var hasSocialLogin = ((configs === null || configs === void 0 ? void 0 : (_configs$facebook_log3 = configs.facebook_login) === null || _configs$facebook_log3 === void 0 ? void 0 : _configs$facebook_log3.value) === 'true' || (configs === null || configs === void 0 ? void 0 : (_configs$facebook_log4 = configs.facebook_login) === null || _configs$facebook_log4 === void 0 ? void 0 : _configs$facebook_log4.value) === '1') && (configs === null || configs === void 0 ? void 0 : (_configs$facebook_id = configs.facebook_id) === null || _configs$facebook_id === void 0 ? void 0 : _configs$facebook_id.value) || (configs === null || configs === void 0 ? void 0 : (_configs$google_login4 = configs.google_login_client_id) === null || _configs$google_login4 === void 0 ? void 0 : _configs$google_login4.value) && (configs === null || configs === void 0 ? void 0 : (_configs$google_login5 = configs.google_login_auth_domain) === null || _configs$google_login5 === void 0 ? void 0 : _configs$google_login5.value) && (configs === null || configs === void 0 ? void 0 : (_configs$google_login6 = configs.google_login_api_key) === null || _configs$google_login6 === void 0 ? void 0 : _configs$google_login6.value) && googleLoginEnabled || (configs === null || configs === void 0 ? void 0 : (_configs$apple_login_3 = configs.apple_login_client_id) === null || _configs$apple_login_3 === void 0 ? void 0 : _configs$apple_login_3.value) && appleLoginEnabled || loginTab === 'cellphone' && ((configs === null || configs === void 0 ? void 0 : (_configs$twilio_servi = configs.twilio_service_enabled) === null || _configs$twilio_servi === void 0 ? void 0 : _configs$twilio_servi.value) === 'true' || (configs === null || configs === void 0 ? void 0 : (_configs$twilio_servi2 = configs.twilio_service_enabled) === null || _configs$twilio_servi2 === void 0 ? void 0 : _configs$twilio_servi2.value) === '1');
151
154
  var hasSocialEnabled = googleLoginEnabled || facebookLoginEnabled || appleLoginEnabled;
152
155
  var onSubmit = /*#__PURE__*/function () {
@@ -181,7 +184,7 @@ var LoginFormUI = function LoginFormUI(props) {
181
184
  }
182
185
  }
183
186
  setWillVerifyOtpState(true);
184
- _context.next = 14;
187
+ _context.next = 17;
185
188
  break;
186
189
  case 8:
187
190
  if (!projectName) {
@@ -195,8 +198,15 @@ var LoginFormUI = function LoginFormUI(props) {
195
198
  setSubmitted(true);
196
199
  return _context.abrupt("return");
197
200
  case 13:
201
+ if (!(loginTab === 'spoonity')) {
202
+ _context.next = 16;
203
+ break;
204
+ }
205
+ handleLoginSpoonity();
206
+ return _context.abrupt("return");
207
+ case 16:
198
208
  handleButtonLoginClick();
199
- case 14:
209
+ case 17:
200
210
  case "end":
201
211
  return _context.stop();
202
212
  }
@@ -293,6 +303,11 @@ var LoginFormUI = function LoginFormUI(props) {
293
303
  handleChangeTab('otp');
294
304
  setOtpType(type);
295
305
  };
306
+ var preventWhiteSpaceOnKeyDown = function preventWhiteSpaceOnKeyDown(e) {
307
+ if (e.key === ' ') {
308
+ e.preventDefault();
309
+ }
310
+ };
296
311
  (0, _react.useEffect)(function () {
297
312
  var _formState$result;
298
313
  if (!formState.loading && (_formState$result = formState.result) !== null && _formState$result !== void 0 && _formState$result.error) {
@@ -400,11 +415,6 @@ var LoginFormUI = function LoginFormUI(props) {
400
415
  });
401
416
  }
402
417
  }, [recaptchaConfig]);
403
- var preventWhiteSpaceOnKeyDown = function preventWhiteSpaceOnKeyDown(e) {
404
- if (e.key === " ") {
405
- e.preventDefault();
406
- }
407
- };
408
418
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, (_props$beforeElements = props.beforeElements) === null || _props$beforeElements === void 0 ? void 0 : _props$beforeElements.map(function (BeforeElement, i) {
409
419
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {
410
420
  key: i
@@ -430,7 +440,7 @@ var LoginFormUI = function LoginFormUI(props) {
430
440
  height: "105px",
431
441
  src: theme === null || theme === void 0 ? void 0 : (_theme$images2 = theme.images) === null || _theme$images2 === void 0 ? void 0 : (_theme$images2$logos = _theme$images2.logos) === null || _theme$images2$logos === void 0 ? void 0 : _theme$images2$logos.logoCallcenter,
432
442
  loading: "lazy"
433
- })) : /*#__PURE__*/_react.default.createElement(_styles.Title, null, t('LOGIN', 'Login')), Number(useLoginByEmail) + Number(useLoginByCellphone) + Number(useLoginOtpEmail) + Number(useLoginOtpCellphone) > 1 && !loginWithOtpState && !willVerifyOtpState && /*#__PURE__*/_react.default.createElement(_styles.LoginWith, {
443
+ })) : /*#__PURE__*/_react.default.createElement(_styles.Title, null, t('LOGIN', 'Login')), Number(useLoginByEmail) + Number(useLoginByCellphone) + Number(useLoginOtpEmail) + Number(useLoginOtpCellphone) + Number(useLoginSpoonity) > 1 && !loginWithOtpState && !willVerifyOtpState && /*#__PURE__*/_react.default.createElement(_styles.LoginWith, {
434
444
  isPopup: isPopup
435
445
  }, /*#__PURE__*/_react.default.createElement(_Tabs.Tabs, {
436
446
  variant: "primary"
@@ -458,7 +468,13 @@ var LoginFormUI = function LoginFormUI(props) {
458
468
  },
459
469
  active: isOtpCellphone,
460
470
  borderBottom: isOtpCellphone
461
- }, t('BY_OTP_CELLPHONE', 'by Otp Cellphone')))), /*#__PURE__*/_react.default.createElement(_styles.FormInput, {
471
+ }, t('BY_OTP_CELLPHONE', 'by Otp Cellphone')), useLoginSpoonity && /*#__PURE__*/_react.default.createElement(_Tabs.Tab, {
472
+ onClick: function onClick() {
473
+ return handleChangeTab('spoonity');
474
+ },
475
+ active: loginTab === 'spoonity',
476
+ borderBottom: loginTab === 'spoonity'
477
+ }, spoonityTitle || t('BY_SPOONITY', 'by Spoonity')))), /*#__PURE__*/_react.default.createElement(_styles.FormInput, {
462
478
  noValidate: true,
463
479
  isPopup: isPopup,
464
480
  autoComplete: "on"
@@ -483,13 +499,13 @@ var LoginFormUI = function LoginFormUI(props) {
483
499
  },
484
500
  autoComplete: "off",
485
501
  autoCapitalize: "off"
486
- }), /*#__PURE__*/_react.default.createElement(_styles.InputBeforeIcon, null, /*#__PURE__*/_react.default.createElement(_reactBootstrapIcons.BoxArrowInRight, null))), (useLoginByEmail && loginTab === 'email' || loginTab === 'otp' && otpType === 'email') && !willVerifyOtpState && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, (formMethods === null || formMethods === void 0 ? void 0 : (_formMethods$errors = formMethods.errors) === null || _formMethods$errors === void 0 ? void 0 : (_formMethods$errors$e = _formMethods$errors.email) === null || _formMethods$errors$e === void 0 ? void 0 : _formMethods$errors$e.type) === 'required' && /*#__PURE__*/_react.default.createElement(_styles.ValidationText, null, (_formMethods$errors2 = formMethods.errors) === null || _formMethods$errors2 === void 0 ? void 0 : (_formMethods$errors2$ = _formMethods$errors2.email) === null || _formMethods$errors2$ === void 0 ? void 0 : _formMethods$errors2$.message, " *"), ((_formMethods$errors3 = formMethods.errors) === null || _formMethods$errors3 === void 0 ? void 0 : (_formMethods$errors3$ = _formMethods$errors3.email) === null || _formMethods$errors3$ === void 0 ? void 0 : _formMethods$errors3$.type) === 'pattern' && /*#__PURE__*/_react.default.createElement(_styles.ValidationText, null, t('INVALID_ERROR_EMAIL', 'Invalid email address').replace('_attribute_', t('EMAIL', 'Email'))), /*#__PURE__*/_react.default.createElement(_styles.InputWrapper, null, /*#__PURE__*/_react.default.createElement(_Inputs.Input, {
502
+ }), /*#__PURE__*/_react.default.createElement(_styles.InputBeforeIcon, null, /*#__PURE__*/_react.default.createElement(_reactBootstrapIcons.BoxArrowInRight, null))), (useLoginByEmail && loginTab === 'email' || loginTab === 'otp' && otpType === 'email' || useLoginSpoonity && loginTab === 'spoonity') && !willVerifyOtpState && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, (formMethods === null || formMethods === void 0 ? void 0 : (_formMethods$errors = formMethods.errors) === null || _formMethods$errors === void 0 ? void 0 : (_formMethods$errors$e = _formMethods$errors.email) === null || _formMethods$errors$e === void 0 ? void 0 : _formMethods$errors$e.type) === 'required' && /*#__PURE__*/_react.default.createElement(_styles.ValidationText, null, (_formMethods$errors2 = formMethods.errors) === null || _formMethods$errors2 === void 0 ? void 0 : (_formMethods$errors2$ = _formMethods$errors2.email) === null || _formMethods$errors2$ === void 0 ? void 0 : _formMethods$errors2$.message, " *"), ((_formMethods$errors3 = formMethods.errors) === null || _formMethods$errors3 === void 0 ? void 0 : (_formMethods$errors3$ = _formMethods$errors3.email) === null || _formMethods$errors3$ === void 0 ? void 0 : _formMethods$errors3$.type) === 'pattern' && /*#__PURE__*/_react.default.createElement(_styles.ValidationText, null, t('INVALID_ERROR_EMAIL', 'Invalid email address').replace('_attribute_', t('EMAIL', 'Email'))), /*#__PURE__*/_react.default.createElement(_styles.InputWrapper, null, /*#__PURE__*/_react.default.createElement(_Inputs.Input, {
487
503
  type: "email",
488
504
  name: "email",
489
505
  "aria-label": "email",
490
506
  placeholder: t('EMAIL', 'Email'),
491
507
  ref: formMethods.register({
492
- required: loginTab === 'email' ? t('VALIDATION_ERROR_EMAIL_REQUIRED', 'The field Email is required').replace('_attribute_', t('EMAIL', 'Email')) : null,
508
+ required: loginTab === 'email' || loginTab === 'spoonity' ? t('VALIDATION_ERROR_EMAIL_REQUIRED', 'The field Email is required').replace('_attribute_', t('EMAIL', 'Email')) : null,
493
509
  pattern: /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}$/i
494
510
  }),
495
511
  onKeyDown: preventWhiteSpaceOnKeyDown,
@@ -46,6 +46,7 @@ var MultiCheckoutUI = function MultiCheckoutUI(props) {
46
46
  var placing = props.placing,
47
47
  isCustomerMode = props.isCustomerMode,
48
48
  openCarts = props.openCarts,
49
+ rewardRate = props.rewardRate,
49
50
  totalCartsPrice = props.totalCartsPrice,
50
51
  handleGroupPlaceOrder = props.handleGroupPlaceOrder,
51
52
  paymethodSelected = props.paymethodSelected,
@@ -102,6 +103,9 @@ var MultiCheckoutUI = function MultiCheckoutUI(props) {
102
103
  var isMultiDriverTips = (configs === null || configs === void 0 ? void 0 : (_configs$checkout_mul = configs.checkout_multi_business_enabled) === null || _configs$checkout_mul === void 0 ? void 0 : _configs$checkout_mul.value) === '1';
103
104
  var driverTipsOptions = typeof (configs === null || configs === void 0 ? void 0 : (_configs$driver_tip_o = configs.driver_tip_options) === null || _configs$driver_tip_o === void 0 ? void 0 : _configs$driver_tip_o.value) === 'string' ? JSON.parse(configs === null || configs === void 0 ? void 0 : (_configs$driver_tip_o2 = configs.driver_tip_options) === null || _configs$driver_tip_o2 === void 0 ? void 0 : _configs$driver_tip_o2.value) || [] : (configs === null || configs === void 0 ? void 0 : (_configs$driver_tip_o3 = configs.driver_tip_options) === null || _configs$driver_tip_o3 === void 0 ? void 0 : _configs$driver_tip_o3.value) || [];
104
105
  var totalFeeEnabled = (configs === null || configs === void 0 ? void 0 : (_configs$multi_busine = configs.multi_business_checkout_show_combined_delivery_fee) === null || _configs$multi_busine === void 0 ? void 0 : _configs$multi_busine.value) === '1' ? JSON.parse(configs === null || configs === void 0 ? void 0 : (_configs$driver_tip_o4 = configs.driver_tip_options) === null || _configs$driver_tip_o4 === void 0 ? void 0 : _configs$driver_tip_o4.value) || [] : (configs === null || configs === void 0 ? void 0 : (_configs$driver_tip_o5 = configs.driver_tip_options) === null || _configs$driver_tip_o5 === void 0 ? void 0 : _configs$driver_tip_o5.value) || [];
106
+ var loyaltyRewardValue = Math.round(openCarts.reduce(function (sum, cart) {
107
+ return sum + (cart === null || cart === void 0 ? void 0 : cart.subtotal);
108
+ }, 0) / rewardRate);
105
109
  var handlePlaceOrder = function handlePlaceOrder() {
106
110
  if (!userErrors.length) {
107
111
  handleGroupPlaceOrder && handleGroupPlaceOrder();
@@ -240,7 +244,7 @@ var MultiCheckoutUI = function MultiCheckoutUI(props) {
240
244
  return sum + (cart === null || cart === void 0 ? void 0 : cart.driver_tip);
241
245
  }, 0) > 0 && (configs === null || configs === void 0 ? void 0 : (_configs$multi_busine7 = configs.multi_business_checkout_show_combined_driver_tip) === null || _configs$multi_busine7 === void 0 ? void 0 : _configs$multi_busine7.value) === '1' && /*#__PURE__*/_react.default.createElement("span", null, /*#__PURE__*/_react.default.createElement("p", null, t('DRIVER_TIP', 'Driver tip')), /*#__PURE__*/_react.default.createElement("p", null, parsePrice(openCarts.reduce(function (sum, cart) {
242
246
  return sum + (cart === null || cart === void 0 ? void 0 : cart.driver_tip);
243
- }, 0)))), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("h4", null, t('TOTAL_FOR_ALL_CARTS', 'Total for all Carts')), /*#__PURE__*/_react.default.createElement("h4", null, parsePrice(totalCartsPrice))), /*#__PURE__*/_react.default.createElement("p", null, t('MULTI_CHECKOUT_DESCRIPTION', 'You will receive a receipt for each business. The payment is not combined between multiple stores. Each payment is processed by the store')))), /*#__PURE__*/_react.default.createElement(_styles.WrapperPlaceOrderButton, null, /*#__PURE__*/_react.default.createElement(_Buttons.Button, {
247
+ }, 0)))), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("h4", null, t('TOTAL_FOR_ALL_CARTS', 'Total for all Carts')), /*#__PURE__*/_react.default.createElement("h4", null, parsePrice(totalCartsPrice))), !!loyaltyRewardValue && isFinite(loyaltyRewardValue) && /*#__PURE__*/_react.default.createElement("span", null, /*#__PURE__*/_react.default.createElement("p", null, "\xA0"), /*#__PURE__*/_react.default.createElement("p", null, t('REWARD_LOYALTY_POINT', 'Reward :amount: on loyalty points').replace(':amount:', loyaltyRewardValue))), /*#__PURE__*/_react.default.createElement("p", null, t('MULTI_CHECKOUT_DESCRIPTION', 'You will receive a receipt for each business. The payment is not combined between multiple stores. Each payment is processed by the store')))), /*#__PURE__*/_react.default.createElement(_styles.WrapperPlaceOrderButton, null, /*#__PURE__*/_react.default.createElement(_Buttons.Button, {
244
248
  color: "primary",
245
249
  disabled: isDisablePlaceOrderButton || placing || (cartGroup === null || cartGroup === void 0 ? void 0 : cartGroup.loading),
246
250
  onClick: handlePlaceOrder
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.QueryLoginSpoonity = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _orderingComponentsExternal = require("ordering-components-external");
10
+ var _SpinnerLoader = require("../../../../../components/SpinnerLoader");
11
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
13
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
14
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
15
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
16
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
17
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
18
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
19
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
20
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
21
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
22
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
23
+ var QueryLoginSpoonityUI = function QueryLoginSpoonityUI(props) {
24
+ var _useLanguage = (0, _orderingComponentsExternal.useLanguage)(),
25
+ _useLanguage2 = _slicedToArray(_useLanguage, 2),
26
+ t = _useLanguage2[1];
27
+ return /*#__PURE__*/_react.default.createElement(_SpinnerLoader.SpinnerLoader, {
28
+ content: t('LOADING_DELICIOUS_FOOD', 'Loading Ordering Dashboard...')
29
+ });
30
+ };
31
+ var QueryLoginSpoonity = function QueryLoginSpoonity(props) {
32
+ var queryProps = _objectSpread(_objectSpread({}, props), {}, {
33
+ UIComponent: QueryLoginSpoonityUI
34
+ });
35
+ return /*#__PURE__*/_react.default.createElement(_orderingComponentsExternal.QueryLoginSpoonity, queryProps);
36
+ };
37
+ exports.QueryLoginSpoonity = QueryLoginSpoonity;
@@ -30,16 +30,16 @@ var _styles2 = require("./styles");
30
30
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
31
31
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
32
32
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
33
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
34
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
35
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
36
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
37
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
38
33
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
39
34
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
40
35
  function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
41
36
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
42
37
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
38
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
39
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
40
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
41
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
42
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
43
43
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
44
44
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
45
45
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
@@ -137,6 +137,10 @@ var SignUpFormUI = function SignUpFormUI(props) {
137
137
  _useState12 = _slicedToArray(_useState11, 2),
138
138
  fieldNumber = _useState12[0],
139
139
  setFieldNumber = _useState12[1];
140
+ var _useState13 = (0, _react.useState)(null),
141
+ _useState14 = _slicedToArray(_useState13, 2),
142
+ currentPhoneNumber = _useState14[0],
143
+ setCurrentPhoneNumber = _useState14[1];
140
144
  var showInputPhoneNumber = ((_validationFields$fie = validationFields === null || validationFields === void 0 ? void 0 : (_validationFields$fie2 = validationFields.fields) === null || _validationFields$fie2 === void 0 ? void 0 : (_validationFields$fie3 = _validationFields$fie2.checkout) === null || _validationFields$fie3 === void 0 ? void 0 : (_validationFields$fie4 = _validationFields$fie3.cellphone) === null || _validationFields$fie4 === void 0 ? void 0 : _validationFields$fie4.enabled) !== null && _validationFields$fie !== void 0 ? _validationFields$fie : false) || (configs === null || configs === void 0 ? void 0 : (_configs$verification = configs.verification_phone_required) === null || _configs$verification === void 0 ? void 0 : _configs$verification.value) === '1';
141
145
  var initParams = {
142
146
  client_id: configs === null || configs === void 0 ? void 0 : (_configs$google_login3 = configs.google_login_client_id) === null || _configs$google_login3 === void 0 ? void 0 : _configs$google_login3.value,
@@ -190,7 +194,7 @@ var SignUpFormUI = function SignUpFormUI(props) {
190
194
  formMethods.clearErrors();
191
195
  };
192
196
  var onSubmit = function onSubmit() {
193
- var _validationFields$fie5, _validationFields$fie6, _validationFields$fie7, _validationFields$fie8, _validationFields$fie9, _validationFields$fie10, _configs$verification2;
197
+ var _validationFields$fie5, _validationFields$fie6, _validationFields$fie7, _validationFields$fie8, _validationFields$fie9, _validationFields$fie10, _configs$verification2, _currentPhoneNumber$s, _currentPhoneNumber$s2;
194
198
  var isPhoneNumberValid = userPhoneNumber ? isValidPhoneNumber : true;
195
199
  if (!userPhoneNumber && (validationFields !== null && validationFields !== void 0 && (_validationFields$fie5 = validationFields.fields) !== null && _validationFields$fie5 !== void 0 && (_validationFields$fie6 = _validationFields$fie5.checkout) !== null && _validationFields$fie6 !== void 0 && (_validationFields$fie7 = _validationFields$fie6.cellphone) !== null && _validationFields$fie7 !== void 0 && _validationFields$fie7.enabled && validationFields !== null && validationFields !== void 0 && (_validationFields$fie8 = validationFields.fields) !== null && _validationFields$fie8 !== void 0 && (_validationFields$fie9 = _validationFields$fie8.checkout) !== null && _validationFields$fie9 !== void 0 && (_validationFields$fie10 = _validationFields$fie9.cellphone) !== null && _validationFields$fie10 !== void 0 && _validationFields$fie10.required || (configs === null || configs === void 0 ? void 0 : (_configs$verification2 = configs.verification_phone_required) === null || _configs$verification2 === void 0 ? void 0 : _configs$verification2.value) === '1') && signUpTab !== 'otpEmail') {
196
200
  setAlertState({
@@ -210,7 +214,9 @@ var SignUpFormUI = function SignUpFormUI(props) {
210
214
  generateOtpCode();
211
215
  return;
212
216
  }
213
- handleButtonSignupClick && handleButtonSignupClick();
217
+ handleButtonSignupClick && handleButtonSignupClick(_objectSpread(_objectSpread({}, signupData), {}, {
218
+ cellphone: (_currentPhoneNumber$s = currentPhoneNumber === null || currentPhoneNumber === void 0 ? void 0 : (_currentPhoneNumber$s2 = currentPhoneNumber.split(' ')[1]) === null || _currentPhoneNumber$s2 === void 0 ? void 0 : _currentPhoneNumber$s2.replace(/-/g, '')) !== null && _currentPhoneNumber$s !== void 0 ? _currentPhoneNumber$s : signupData === null || signupData === void 0 ? void 0 : signupData.cellphone
219
+ }));
214
220
  if (!formState.loading && formState.result.result && !formState.result.error) {
215
221
  handleSuccessSignup(formState.result.result);
216
222
  }
@@ -428,8 +434,10 @@ var SignUpFormUI = function SignUpFormUI(props) {
428
434
  }), /*#__PURE__*/_react.default.createElement(_styles2.InputBeforeIcon, null, /*#__PURE__*/_react.default.createElement(_reactBootstrapIcons.Person, null))))));
429
435
  }), !!showInputPhoneNumber && (signUpTab === 'default' || signUpTab === 'otpCellphone') && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, ((_formMethods$errors9 = formMethods.errors) === null || _formMethods$errors9 === void 0 ? void 0 : _formMethods$errors9.cellphone) && !userPhoneNumber && /*#__PURE__*/_react.default.createElement(_styles2.ValidationText, null, (_formMethods$errors10 = formMethods.errors) === null || _formMethods$errors10 === void 0 ? void 0 : (_formMethods$errors11 = _formMethods$errors10.cellphone) === null || _formMethods$errors11 === void 0 ? void 0 : _formMethods$errors11.message, " ", (formMethods === null || formMethods === void 0 ? void 0 : (_formMethods$errors12 = formMethods.errors) === null || _formMethods$errors12 === void 0 ? void 0 : (_formMethods$errors13 = _formMethods$errors12.cellphone) === null || _formMethods$errors13 === void 0 ? void 0 : _formMethods$errors13.type) === 'required' && '*'), /*#__PURE__*/_react.default.createElement(_InputPhoneNumber.InputPhoneNumber, {
430
436
  value: userPhoneNumber,
437
+ currentCountryCode: signupData === null || signupData === void 0 ? void 0 : signupData.country_phone_code,
431
438
  setValue: handleChangePhoneNumber,
432
439
  handleIsValid: setIsValidPhoneNumber,
440
+ setCurrentPhoneNumber: setCurrentPhoneNumber,
433
441
  isError: ((_formMethods$errors14 = formMethods.errors) === null || _formMethods$errors14 === void 0 ? void 0 : _formMethods$errors14.cellphone) && !userPhoneNumber
434
442
  })), signUpTab === 'default' && (!fieldsNotValid || fieldsNotValid && !fieldsNotValid.includes('password')) && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, ((_formMethods$errors15 = formMethods.errors) === null || _formMethods$errors15 === void 0 ? void 0 : _formMethods$errors15.password) && /*#__PURE__*/_react.default.createElement(_styles2.ValidationText, null, (_formMethods$errors16 = formMethods.errors) === null || _formMethods$errors16 === void 0 ? void 0 : (_formMethods$errors17 = _formMethods$errors16.password) === null || _formMethods$errors17 === void 0 ? void 0 : _formMethods$errors17.message, " ", (formMethods === null || formMethods === void 0 ? void 0 : (_formMethods$errors18 = formMethods.errors) === null || _formMethods$errors18 === void 0 ? void 0 : (_formMethods$errors19 = _formMethods$errors18.password) === null || _formMethods$errors19 === void 0 ? void 0 : _formMethods$errors19.type) === 'required' && '*'), /*#__PURE__*/_react.default.createElement(_styles2.WrapperPassword, null, /*#__PURE__*/_react.default.createElement(_Inputs.Input, {
435
443
  type: !passwordSee ? 'password' : 'text',
@@ -90,7 +90,7 @@ var WalletsUI = function WalletsUI(props) {
90
90
  }, (_walletName$wallet$ty2 = walletName[wallet.type]) === null || _walletName$wallet$ty2 === void 0 ? void 0 : _walletName$wallet$ty2.name);
91
91
  }))), /*#__PURE__*/_react.default.createElement(_styles.WrapContent, null, /*#__PURE__*/_react.default.createElement(_styles.Transactions, {
92
92
  isLoyaltyLevel: !!loyaltyLevel
93
- }, /*#__PURE__*/_react.default.createElement(_styles.SectionWrapper, null, /*#__PURE__*/_react.default.createElement(_styles.BalanceElement, null, /*#__PURE__*/_react.default.createElement("h1", null, (currentWalletSelected === null || currentWalletSelected === void 0 ? void 0 : currentWalletSelected.type) === 'cash' ? parsePrice(currentWalletSelected === null || currentWalletSelected === void 0 ? void 0 : currentWalletSelected.balance) : currentWalletSelected === null || currentWalletSelected === void 0 ? void 0 : currentWalletSelected.balance), /*#__PURE__*/_react.default.createElement("span", null, (currentWalletSelected === null || currentWalletSelected === void 0 ? void 0 : currentWalletSelected.type) === 'cash' ? configs === null || configs === void 0 ? void 0 : (_configs$stripe_curre = configs.stripe_currency) === null || _configs$stripe_curre === void 0 ? void 0 : _configs$stripe_curre.value : t('POINTS', 'Points')))), /*#__PURE__*/_react.default.createElement(_GiftCardUI.GiftCardUI, null), /*#__PURE__*/_react.default.createElement("div", {
93
+ }, /*#__PURE__*/_react.default.createElement(_styles.SectionWrapper, null, /*#__PURE__*/_react.default.createElement(_styles.BalanceElement, null, /*#__PURE__*/_react.default.createElement("h1", null, (currentWalletSelected === null || currentWalletSelected === void 0 ? void 0 : currentWalletSelected.type) === 'cash' ? parsePrice(currentWalletSelected === null || currentWalletSelected === void 0 ? void 0 : currentWalletSelected.balance) : currentWalletSelected === null || currentWalletSelected === void 0 ? void 0 : currentWalletSelected.balance), /*#__PURE__*/_react.default.createElement("span", null, (currentWalletSelected === null || currentWalletSelected === void 0 ? void 0 : currentWalletSelected.type) === 'cash' ? configs === null || configs === void 0 ? void 0 : (_configs$stripe_curre = configs.stripe_currency) === null || _configs$stripe_curre === void 0 ? void 0 : _configs$stripe_curre.value : t('POINTS', 'Points')))), /*#__PURE__*/_react.default.createElement("div", {
94
94
  className: "transactions_list"
95
95
  }, !(transactionsList !== null && transactionsList !== void 0 && transactionsList.loading) && ((_transactionsList$lis = transactionsList.list) === null || _transactionsList$lis === void 0 ? void 0 : (_transactionsList$lis2 = _transactionsList$lis["wallet:".concat(currentWalletSelected === null || currentWalletSelected === void 0 ? void 0 : currentWalletSelected.id)]) === null || _transactionsList$lis2 === void 0 ? void 0 : _transactionsList$lis2.length) > 0 && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("h2", {
96
96
  style: {
@@ -7,11 +7,11 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.default = exports.Button = void 0;
8
8
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
9
9
  var _polished = require("polished");
10
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21, _templateObject22;
10
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21, _templateObject22, _templateObject23, _templateObject24;
11
11
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
12
12
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
13
13
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
14
- var Button = _styledComponents.default.button(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n background: #CCC;\n color: #FFF;\n border: 1px solid #CCC;\n border-radius: 7.6px;\n line-height: 30px;\n padding-left: 15px;\n padding-right: 15px;\n font-size: 16px;\n cursor: pointer;\n outline: none;\n overflow: hidden;\n text-overflow: ellipsis;\n &:active {\n background: ", ";\n }\n &:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n"])), function () {
14
+ var Button = _styledComponents.default.button(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n background: #CCC;\n color: #FFF;\n border: 1px solid #CCC;\n border-radius: 7.6px;\n line-height: 30px;\n padding-left: 15px;\n padding-right: 15px;\n font-size: 16px;\n cursor: pointer;\n outline: none;\n overflow: hidden;\n text-overflow: ellipsis;\n &:active {\n background: ", ";\n }\n &:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n"])), function () {
15
15
  return (0, _polished.darken)(0.07, '#CCC');
16
16
  }, function (_ref) {
17
17
  var bgtransparent = _ref.bgtransparent;
@@ -213,6 +213,36 @@ var Button = _styledComponents.default.button(_templateObject || (_templateObjec
213
213
  return props.theme.colors.backgroundPage;
214
214
  });
215
215
  });
216
+ }, function (_ref20) {
217
+ var color = _ref20.color;
218
+ return color === 'black' && (0, _styledComponents.css)(_templateObject23 || (_templateObject23 = _taggedTemplateLiteral(["\n background: ", ";;\n color: ", ";\n border-color: ", ";\n &:active {\n background: ", ";\n }\n &:hover {\n background: ", ";\n }\n ", "\n "])), function (props) {
219
+ return props.theme.colors.black;
220
+ }, function (props) {
221
+ return props.theme.colors.backgroundPage;
222
+ }, function (props) {
223
+ return props.theme.colors.black;
224
+ }, function (props) {
225
+ return (0, _polished.darken)(0.05, props.theme.colors.black);
226
+ }, function (props) {
227
+ return (0, _polished.darken)(0.07, props.theme.colors.black);
228
+ }, function (_ref21) {
229
+ var outline = _ref21.outline;
230
+ return outline && (0, _styledComponents.css)(_templateObject24 || (_templateObject24 = _taggedTemplateLiteral(["\n background: ", ";\n color: ", ";\n border-color: ", ";\n &:active {\n color: ", ";\n background: ", ";\n }\n &:hover {\n background: ", ";\n color: ", ";\n }\n "])), function (props) {
231
+ return props.theme.colors.backgroundPage;
232
+ }, function (props) {
233
+ return props.theme.colors.black;
234
+ }, function (props) {
235
+ return props.theme.colors.black;
236
+ }, function (props) {
237
+ return props.theme.colors.backgroundPage;
238
+ }, function (props) {
239
+ return props.theme.colors.black;
240
+ }, function (props) {
241
+ return (0, _polished.darken)(0.07, props.theme.colors.black);
242
+ }, function (props) {
243
+ return props.theme.colors.backgroundPage;
244
+ });
245
+ });
216
246
  });
217
247
  exports.Button = Button;
218
248
  var _default = Button;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ordering-ui-external",
3
- "version": "2.2.2",
3
+ "version": "2.3.1",
4
4
  "description": "Ordering UI Components",
5
5
  "main": "./_modules/index.js",
6
6
  "exports": {
@@ -86,7 +86,7 @@
86
86
  "libphonenumber-js": "^1.9.4",
87
87
  "lodash": "^4.17.19",
88
88
  "moment": "^2.29.4",
89
- "ordering-components-external": "2.1.1",
89
+ "ordering-components-external": "2.2.0",
90
90
  "polished": "^3.6.6",
91
91
  "react-bootstrap-icons": "^1.7.2",
92
92
  "react-calendar": "^3.3.1",
@@ -1,4 +1,4 @@
1
- import React, { useEffect } from 'react'
1
+ import React, { useEffect, useState } from 'react'
2
2
  import Skeleton from 'react-loading-skeleton'
3
3
  import IosCash from '@meronex/icons/ios/IosCash'
4
4
  import IosCard from '@meronex/icons/ios/IosCard'
@@ -12,7 +12,8 @@ import {
12
12
  PaymentOptions as PaymentOptionsController,
13
13
  useLanguage,
14
14
  useOrder,
15
- useSession
15
+ useSession,
16
+ useValidationFields
16
17
  } from 'ordering-components-external'
17
18
 
18
19
  import { Modal } from '../Modal'
@@ -32,6 +33,7 @@ import {
32
33
  PayCardSelected,
33
34
  CardItemContent
34
35
  } from './styles'
36
+ import { Alert } from '../Confirm'
35
37
 
36
38
  const stripeOptions = ['stripe_direct', 'stripe', 'stripe_connect']
37
39
  const stripeRedirectOptions = [
@@ -89,7 +91,10 @@ const PaymentOptionsUI = (props) => {
89
91
  } = props
90
92
  const [, t] = useLanguage()
91
93
  const [{ token }] = useSession()
94
+ const [{ options }] = useOrder()
92
95
  const [{ loading: loadingOptions }] = useOrder()
96
+ const [validationFields] = useValidationFields()
97
+ const [alertState, setAlertState] = useState({ open: false, content: [] })
93
98
 
94
99
  const list = paymethodsList ? paymethodsList?.paymethods : paymethods?.map(pay => pay.paymethod)
95
100
 
@@ -100,6 +105,18 @@ const PaymentOptionsUI = (props) => {
100
105
  const stripeDirectMethods = ['stripe_direct', ...methodsPay]
101
106
 
102
107
  const handlePaymentMethodClick = (paymethod) => {
108
+ if (paymethod?.gateway === 'paypal' &&
109
+ options.type === 1 &&
110
+ validationFields?.fields?.checkout?.driver_tip?.enabled &&
111
+ validationFields?.fields?.checkout?.driver_tip?.required &&
112
+ (Number(cart?.driver_tip) <= 0)
113
+ ) {
114
+ setAlertState({
115
+ open: true,
116
+ content: [t('DRIVER_TIPS_REQUIRED', 'Driver tips is required, please select a driver tip before select this paymethod')]
117
+ })
118
+ return
119
+ }
103
120
  const isPopupMethod = ['stripe', 'stripe_direct', 'stripe_connect', 'stripe_redirect', 'paypal', 'square', 'google_pay', 'apple_pay'].includes(paymethod?.gateway)
104
121
  handlePaymethodClick(paymethod, isPopupMethod)
105
122
  }
@@ -129,6 +146,13 @@ const PaymentOptionsUI = (props) => {
129
146
  }
130
147
  }, [paymethodData, paymethodSelected])
131
148
 
149
+ const closeAlert = () => {
150
+ setAlertState({
151
+ open: false,
152
+ content: []
153
+ })
154
+ }
155
+
132
156
  return (
133
157
  <>
134
158
  {props.beforeElements?.map((BeforeElement, i) => (
@@ -326,6 +350,15 @@ const PaymentOptionsUI = (props) => {
326
350
  setCreateOrder={setCreateOrder}
327
351
  />
328
352
  </Modal>
353
+ <Alert
354
+ title={t('PAYMENT_METHODS', 'Payment methods')}
355
+ content={alertState.content}
356
+ acceptText={t('ACCEPT', 'Accept')}
357
+ open={alertState.open}
358
+ onClose={() => closeAlert()}
359
+ onAccept={() => closeAlert()}
360
+ closeOnBackdrop={false}
361
+ />
329
362
  </PaymentMethodsContainer>
330
363
  {props.afterComponents?.map((AfterComponent, i) => (
331
364
  <AfterComponent key={i} {...props} />))}
package/src/index.js CHANGED
@@ -98,6 +98,7 @@ import { SearchProducts } from './components/RenderProductsLayout/SearchProducts
98
98
  import { ThemeContext, ThemeProvider, useTheme } from './contexts/ThemeContext'
99
99
  import { useOnlineStatus } from './hooks/useOnlineStatus'
100
100
  import { useWindowSize } from './hooks/useWindowSize'
101
+ import { useRecaptcha } from './hooks/useRecaptcha'
101
102
  import { useCountdownTimer } from './hooks/useCountdownTimer'
102
103
  import { useIntersectionObserver } from './hooks/useIntersectionObserver'
103
104
  import { useIsMounted } from './hooks/useIsMounted'
@@ -241,6 +242,7 @@ export {
241
242
  // Hooks
242
243
  useOnlineStatus,
243
244
  useWindowSize,
245
+ useRecaptcha,
244
246
  useCountdownTimer,
245
247
  useIntersectionObserver,
246
248
  useIsMounted,
@@ -114,6 +114,7 @@ import { OrderPreferencesSection } from './src/components/OrderDetails/OrderPref
114
114
  import { ActionsSection } from './src/components/OrderDetails/ActionsSection'
115
115
  import { ProductShare } from './src/components/ProductShare'
116
116
  import { MultiCart } from './src/components/MultiCart'
117
+ import { QueryLoginSpoonity } from './src/components/QueryLoginSpoonity'
117
118
 
118
119
  import { Button } from './src/styles/Buttons'
119
120
  import { Input, TextArea } from './src/styles/Inputs'
@@ -239,7 +240,7 @@ export {
239
240
  ActionsSection,
240
241
  ProductShare,
241
242
  MultiCart,
242
-
243
+ QueryLoginSpoonity,
243
244
  // styles
244
245
  Button,
245
246
  Input,
@@ -298,9 +298,10 @@ const BusinessProductsListingUI = (props) => {
298
298
  <>
299
299
  <ProductsContainer>
300
300
  {!props.useKioskApp && (
301
- // <ArrowLeft onClick={() => handleGoToBusinessList()} />
302
301
  <HeaderContent>
303
- <ArrowLeft className='back-arrow' onClick={() => handleGoToBusinessList()} />
302
+ {!location.pathname.includes('/marketplace') &&
303
+ <ArrowLeft className='back-arrow' onClick={() => handleGoToBusinessList()} />
304
+ }
304
305
  {windowSize?.width < 576 && (
305
306
  <OrderContextUIWrapper>
306
307
  <OrderContextUI isCheckOut />