ordering-components-external 13.2.14 → 13.2.16

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 (23) hide show
  1. package/_bundles/{7.ordering-component.71fcc1b93f7c954870c3.js → 7.ordering-component.6b92f3ab4699d251734f.js} +1 -1
  2. package/_bundles/ordering-component.6b92f3ab4699d251734f.js +2 -0
  3. package/_modules/components/Checkout/index.js +19 -1
  4. package/_modules/components/OrderListGroups/index.js +60 -54
  5. package/_modules/components/PaymentOptionStripeLink/index.js +154 -0
  6. package/_modules/components/PaymentOptions/index.js +16 -16
  7. package/_modules/index.js +7 -0
  8. package/package.json +1 -1
  9. package/src/components/Checkout/index.js +17 -1
  10. package/src/components/OrderListGroups/index.js +63 -52
  11. package/src/components/PaymentOptionStripeLink/index.js +91 -0
  12. package/src/components/PaymentOptions/index.js +7 -6
  13. package/src/index.js +2 -0
  14. package/_bundles/ordering-component.71fcc1b93f7c954870c3.js +0 -2
  15. /package/_bundles/{0.ordering-component.71fcc1b93f7c954870c3.js → 0.ordering-component.6b92f3ab4699d251734f.js} +0 -0
  16. /package/_bundles/{1.ordering-component.71fcc1b93f7c954870c3.js → 1.ordering-component.6b92f3ab4699d251734f.js} +0 -0
  17. /package/_bundles/{2.ordering-component.71fcc1b93f7c954870c3.js → 2.ordering-component.6b92f3ab4699d251734f.js} +0 -0
  18. /package/_bundles/{4.ordering-component.71fcc1b93f7c954870c3.js → 4.ordering-component.6b92f3ab4699d251734f.js} +0 -0
  19. /package/_bundles/{5.ordering-component.71fcc1b93f7c954870c3.js → 5.ordering-component.6b92f3ab4699d251734f.js} +0 -0
  20. /package/_bundles/{6.ordering-component.71fcc1b93f7c954870c3.js → 6.ordering-component.6b92f3ab4699d251734f.js} +0 -0
  21. /package/_bundles/{7.ordering-component.71fcc1b93f7c954870c3.js.LICENSE.txt → 7.ordering-component.6b92f3ab4699d251734f.js.LICENSE.txt} +0 -0
  22. /package/_bundles/{8.ordering-component.71fcc1b93f7c954870c3.js → 8.ordering-component.6b92f3ab4699d251734f.js} +0 -0
  23. /package/_bundles/{ordering-component.71fcc1b93f7c954870c3.js.LICENSE.txt → ordering-component.6b92f3ab4699d251734f.js.LICENSE.txt} +0 -0
@@ -49,7 +49,8 @@ var Checkout = exports.Checkout = function Checkout(props) {
49
49
  UIComponent = props.UIComponent,
50
50
  isApp = props.isApp,
51
51
  isKiosk = props.isKiosk,
52
- isCustomerMode = props.isCustomerMode;
52
+ isCustomerMode = props.isCustomerMode,
53
+ handleOrderRedirect = props.handleOrderRedirect;
53
54
  var _useApi = (0, _ApiContext.useApi)(),
54
55
  _useApi2 = _slicedToArray(_useApi, 1),
55
56
  ordering = _useApi2[0];
@@ -847,6 +848,23 @@ var Checkout = exports.Checkout = function Checkout(props) {
847
848
  setDeliveryOptionSelected(cart === null || cart === void 0 ? void 0 : cart.delivery_option_id);
848
849
  }
849
850
  }, [cart === null || cart === void 0 ? void 0 : cart.delivery_option_id]);
851
+ (0, _react.useEffect)(function () {
852
+ var _socket$socket;
853
+ var handleCartUpdate = function handleCartUpdate(cart) {
854
+ var _cart$order, _cart$order2;
855
+ if ((cart === null || cart === void 0 ? void 0 : cart.status) !== 1 || !(cart !== null && cart !== void 0 && (_cart$order = cart.order) !== null && _cart$order !== void 0 && _cart$order.uuid)) return;
856
+ handleOrderRedirect && handleOrderRedirect(cart === null || cart === void 0 || (_cart$order2 = cart.order) === null || _cart$order2 === void 0 ? void 0 : _cart$order2.uuid);
857
+ };
858
+ if (isCustomerMode && socket !== null && socket !== void 0 && (_socket$socket = socket.socket) !== null && _socket$socket !== void 0 && (_socket$socket = _socket$socket._callbacks) !== null && _socket$socket !== void 0 && _socket$socket.$carts_update) {
859
+ socket.on('carts_update', handleCartUpdate);
860
+ }
861
+ return function () {
862
+ var _socket$socket2;
863
+ if (isCustomerMode && socket !== null && socket !== void 0 && (_socket$socket2 = socket.socket) !== null && _socket$socket2 !== void 0 && (_socket$socket2 = _socket$socket2._callbacks) !== null && _socket$socket2 !== void 0 && _socket$socket2.$carts_update) {
864
+ socket.off('carts_update', handleCartUpdate);
865
+ }
866
+ };
867
+ }, [socket, isCustomerMode]);
850
868
  (0, _react.useEffect)(function () {
851
869
  if (!isKiosk) {
852
870
  Promise.all([getDeliveryOptions(), getLoyaltyPlans()].map(function (promise) {
@@ -40,7 +40,6 @@ var OrderListGroups = exports.OrderListGroups = function OrderListGroups(props)
40
40
  var UIComponent = props.UIComponent,
41
41
  orderBy = props.orderBy,
42
42
  isIos = props.isIos,
43
- useDefualtSessionManager = props.useDefualtSessionManager,
44
43
  paginationSettings = props.paginationSettings,
45
44
  asDashboard = props.asDashboard,
46
45
  orderGroupStatusCustom = props.orderGroupStatusCustom,
@@ -199,8 +198,20 @@ var OrderListGroups = exports.OrderListGroups = function OrderListGroups(props)
199
198
  _useState28 = _slicedToArray(_useState27, 2),
200
199
  ordersFiltered = _useState28[0],
201
200
  setOrdersFiltered = _useState28[1];
202
- var accessToken = useDefualtSessionManager ? session.token : props.accessToken;
203
201
  var requestsState = {};
202
+ var handleSelectCurrentTab = function handleSelectCurrentTab(value) {
203
+ if (!isDriverApp) {
204
+ setOrdersGroup(_objectSpread(_objectSpread({}, ordersGroup), {}, _defineProperty({}, value, _objectSpread(_objectSpread({}, ordersGroup[value]), {}, {
205
+ loading: true
206
+ }))));
207
+ }
208
+ if (value === 'logisticOrders') {
209
+ setlogisticOrders(_objectSpread(_objectSpread({}, logisticOrders), {}, {
210
+ loading: true
211
+ }));
212
+ }
213
+ setCurrentTabSelected(value);
214
+ };
204
215
  var getOrders = /*#__PURE__*/function () {
205
216
  var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref) {
206
217
  var _filtered$customer, _filtered$customer2, _filtered$date, _filtered$date3;
@@ -375,7 +386,7 @@ var OrderListGroups = exports.OrderListGroups = function OrderListGroups(props)
375
386
  source = {};
376
387
  requestsState.orders = source;
377
388
  options.cancelToken = source;
378
- functionFetch = asDashboard ? ordering.setAccessToken(accessToken).orders().asDashboard() : ordering.setAccessToken(accessToken).orders();
389
+ functionFetch = asDashboard ? ordering.setAccessToken(session.token).orders().asDashboard() : ordering.setAccessToken(session.token).orders();
379
390
  _context.next = 29;
380
391
  return functionFetch.get(options);
381
392
  case 29:
@@ -401,7 +412,7 @@ var OrderListGroups = exports.OrderListGroups = function OrderListGroups(props)
401
412
  loading: true
402
413
  }));
403
414
  _context2.next = 4;
404
- return ordering.setAccessToken(accessToken).controls().get();
415
+ return ordering.setAccessToken(session.token).controls().get();
405
416
  case 4:
406
417
  _yield$ordering$setAc = _context2.sent;
407
418
  _yield$ordering$setAc2 = _yield$ordering$setAc.content;
@@ -680,7 +691,7 @@ var OrderListGroups = exports.OrderListGroups = function OrderListGroups(props)
680
691
  method: 'GET',
681
692
  headers: {
682
693
  'Content-Type': 'application/json',
683
- Authorization: "Bearer ".concat(accessToken),
694
+ Authorization: "Bearer ".concat(session.token),
684
695
  'X-App-X': ordering.appId,
685
696
  'X-Socket-Id-X': socket === null || socket === void 0 ? void 0 : socket.getId()
686
697
  }
@@ -740,7 +751,7 @@ var OrderListGroups = exports.OrderListGroups = function OrderListGroups(props)
740
751
  break;
741
752
  }
742
753
  _context6.next = 6;
743
- return ordering.setAccessToken(accessToken).orders(orderIds[0]).delete();
754
+ return ordering.setAccessToken(session.token).orders(orderIds[0]).delete();
744
755
  case 6:
745
756
  _yield$ordering$setAc3 = _context6.sent;
746
757
  error = _yield$ordering$setAc3.content.error;
@@ -765,7 +776,7 @@ var OrderListGroups = exports.OrderListGroups = function OrderListGroups(props)
765
776
  }
766
777
  id = _step.value;
767
778
  _context6.next = 19;
768
- return ordering.setAccessToken(accessToken).orders(id).delete();
779
+ return ordering.setAccessToken(session.token).orders(id).delete();
769
780
  case 19:
770
781
  _yield$ordering$setAc4 = _context6.sent;
771
782
  multiError = _yield$ordering$setAc4.content.error;
@@ -843,7 +854,7 @@ var OrderListGroups = exports.OrderListGroups = function OrderListGroups(props)
843
854
  method: 'GET',
844
855
  headers: {
845
856
  'Content-Type': 'application/json',
846
- Authorization: "Bearer ".concat(accessToken),
857
+ Authorization: "Bearer ".concat(session.token),
847
858
  'X-App-X': ordering.appId,
848
859
  'X-Socket-Id-X': socket === null || socket === void 0 ? void 0 : socket.getId()
849
860
  }
@@ -965,40 +976,40 @@ var OrderListGroups = exports.OrderListGroups = function OrderListGroups(props)
965
976
  return combineTabs ? combinedStatus : status;
966
977
  };
967
978
  var actionOrderToTab = function actionOrderToTab(orderAux, status, type) {
968
- var _ordersGroup$status;
969
- var orderList = (_ordersGroup$status = ordersGroup[status]) === null || _ordersGroup$status === void 0 ? void 0 : _ordersGroup$status.orders;
970
- var orders;
971
- var order = _objectSpread(_objectSpread({}, orderAux), {}, {
972
- showNotification: true
973
- });
974
- if (type === 'update') {
975
- var indexToUpdate = orderList.findIndex(function (o) {
976
- return o.id === order.id;
977
- });
978
- orderList[indexToUpdate] = _objectSpread(_objectSpread({}, order), {}, {
979
- action: type + (order === null || order === void 0 ? void 0 : order.status)
980
- });
981
- orders = orderList;
982
- } else {
983
- orders = type === 'add' ? [_objectSpread(_objectSpread({}, order), {}, {
984
- action: type + (order === null || order === void 0 ? void 0 : order.status)
985
- })].concat(_toConsumableArray(orderList)) : orderList.filter(function (_order) {
986
- return _order.id !== order.id;
979
+ setOrdersGroup(function (prevState) {
980
+ var _prevState$status, _prevState$status2;
981
+ if (!((_prevState$status = prevState[status]) !== null && _prevState$status !== void 0 && _prevState$status.orders)) return;
982
+ var orderList = (_prevState$status2 = prevState[status]) === null || _prevState$status2 === void 0 ? void 0 : _prevState$status2.orders;
983
+ var order = _objectSpread(_objectSpread({}, orderAux), {}, {
984
+ showNotification: false
987
985
  });
988
- }
989
- var _pagination = ordersGroup[status].pagination;
990
- if (type !== 'update') {
991
- _pagination = _objectSpread(_objectSpread({}, ordersGroup[status].pagination), {}, {
992
- total: ordersGroup[status].pagination.total + (type === 'add' ? 1 : -1)
986
+ var updatedOrders;
987
+ switch (type) {
988
+ case 'update':
989
+ updatedOrders = orderList.map(function (o) {
990
+ return o.id === order.id ? _objectSpread(_objectSpread({}, order), {}, {
991
+ action: "".concat(type).concat(order === null || order === void 0 ? void 0 : order.status)
992
+ }) : o;
993
+ });
994
+ break;
995
+ case 'add':
996
+ updatedOrders = [_objectSpread(_objectSpread({}, order), {}, {
997
+ action: "".concat(type).concat(order === null || order === void 0 ? void 0 : order.status)
998
+ })].concat(_toConsumableArray(orderList));
999
+ break;
1000
+ case 'remove':
1001
+ updatedOrders = orderList.filter(function (o) {
1002
+ return o.id !== order.id;
1003
+ });
1004
+ break;
1005
+ }
1006
+ var updatedPagination = _objectSpread(_objectSpread({}, prevState[status].pagination), {}, {
1007
+ total: prevState[status].pagination.total + (type === 'add' ? 1 : type === 'remove' ? -1 : 0)
993
1008
  });
994
- }
995
- setOrdersGroup(function (prevState) {
996
- return _objectSpread(_objectSpread({}, prevState), {}, _defineProperty(_defineProperty({
997
- orders: filterByIdUnique(sortOrders(orders), status)
998
- }, status, _objectSpread(_objectSpread({}, prevState[status]), {}, {
999
- orders: sortOrders(orders),
1000
- pagination: _pagination
1001
- })), "pagination", _pagination));
1009
+ return _objectSpread(_objectSpread({}, prevState), {}, _defineProperty({}, status, _objectSpread(_objectSpread({}, prevState[status]), {}, {
1010
+ orders: filterByIdUnique(sortOrders(updatedOrders), status),
1011
+ pagination: updatedPagination
1012
+ })));
1002
1013
  });
1003
1014
  };
1004
1015
  var handleClickOrder = function handleClickOrder(orderAux) {
@@ -1008,9 +1019,9 @@ var OrderListGroups = exports.OrderListGroups = function OrderListGroups(props)
1008
1019
  });
1009
1020
  var ordersGroups = order === null || order === void 0 || (_order$order_group2 = order.order_group) === null || _order$order_group2 === void 0 ? void 0 : _order$order_group2.orders;
1010
1021
  if (!ordersGroups) {
1011
- var _ordersGroup$status2;
1022
+ var _ordersGroup$status;
1012
1023
  var status = getStatusById(order === null || order === void 0 ? void 0 : order.status);
1013
- var orderList = (_ordersGroup$status2 = ordersGroup[status]) === null || _ordersGroup$status2 === void 0 ? void 0 : _ordersGroup$status2.orders;
1024
+ var orderList = (_ordersGroup$status = ordersGroup[status]) === null || _ordersGroup$status === void 0 ? void 0 : _ordersGroup$status.orders;
1014
1025
  var indexToUpdate = orderList === null || orderList === void 0 ? void 0 : orderList.findIndex(function (o) {
1015
1026
  return (o === null || o === void 0 ? void 0 : o.id) === (order === null || order === void 0 ? void 0 : order.id);
1016
1027
  });
@@ -1047,7 +1058,7 @@ var OrderListGroups = exports.OrderListGroups = function OrderListGroups(props)
1047
1058
  method: 'PUT',
1048
1059
  headers: {
1049
1060
  'Content-Type': 'application/json',
1050
- Authorization: "Bearer ".concat(accessToken)
1061
+ Authorization: "Bearer ".concat(session.token)
1051
1062
  },
1052
1063
  body: JSON.stringify({
1053
1064
  status: status,
@@ -1365,8 +1376,8 @@ var OrderListGroups = exports.OrderListGroups = function OrderListGroups(props)
1365
1376
  for (var i = 0; i < ordersStatusArray.length; i++) {
1366
1377
  var status = ordersStatusArray[i];
1367
1378
  if (order !== null && order !== void 0 && order.products) {
1368
- var _ordersGroup$status3;
1369
- orderFound = (_ordersGroup$status3 = ordersGroup[status]) === null || _ordersGroup$status3 === void 0 || (_ordersGroup$status3 = _ordersGroup$status3.orders) === null || _ordersGroup$status3 === void 0 ? void 0 : _ordersGroup$status3.find(function (_order) {
1379
+ var _ordersGroup$status2;
1380
+ orderFound = (_ordersGroup$status2 = ordersGroup[status]) === null || _ordersGroup$status2 === void 0 || (_ordersGroup$status2 = _ordersGroup$status2.orders) === null || _ordersGroup$status2 === void 0 ? void 0 : _ordersGroup$status2.find(function (_order) {
1370
1381
  return _order.id === order.id;
1371
1382
  });
1372
1383
  }
@@ -1520,12 +1531,7 @@ var OrderListGroups = exports.OrderListGroups = function OrderListGroups(props)
1520
1531
  if (!session.user) return;
1521
1532
  var userId = session.user.id;
1522
1533
  var userLevel = session.user.level;
1523
- var ordersRoom = !isDriverApp ? {
1524
- project: ordering.project,
1525
- room: 'orders',
1526
- user_id: userId,
1527
- role: 'manager'
1528
- } : userLevel === 0 ? 'orders' : "orders_".concat(userId);
1534
+ var ordersRoom = userLevel === 0 ? 'orders' : "orders_".concat(userId);
1529
1535
  var requestsRoom = "requests_".concat(userId);
1530
1536
  var groupsRoom = "ordergroups_".concat(userId);
1531
1537
  var messagesOrdersRoom = userLevel === 0 ? 'messages_orders' : "messages_orders_".concat(userId);
@@ -1558,9 +1564,9 @@ var OrderListGroups = exports.OrderListGroups = function OrderListGroups(props)
1558
1564
  var handleCustomerReviewed = function handleCustomerReviewed(review) {
1559
1565
  var orderFound = null;
1560
1566
  for (var i = 0; i < ordersStatusArray.length; i++) {
1561
- var _ordersGroup$status4;
1567
+ var _ordersGroup$status3;
1562
1568
  var status = ordersStatusArray[i];
1563
- orderFound = (_ordersGroup$status4 = ordersGroup[status]) === null || _ordersGroup$status4 === void 0 || (_ordersGroup$status4 = _ordersGroup$status4.orders) === null || _ordersGroup$status4 === void 0 ? void 0 : _ordersGroup$status4.find(function (_order) {
1569
+ orderFound = (_ordersGroup$status3 = ordersGroup[status]) === null || _ordersGroup$status3 === void 0 || (_ordersGroup$status3 = _ordersGroup$status3.orders) === null || _ordersGroup$status3 === void 0 ? void 0 : _ordersGroup$status3.find(function (_order) {
1564
1570
  return _order.id === review.order_id;
1565
1571
  });
1566
1572
  if (orderFound) break;
@@ -1584,7 +1590,7 @@ var OrderListGroups = exports.OrderListGroups = function OrderListGroups(props)
1584
1590
  currentFilters: currentFilters,
1585
1591
  setCurrentFilters: setCurrentFilters,
1586
1592
  currentTabSelected: currentTabSelected,
1587
- setCurrentTabSelected: setCurrentTabSelected,
1593
+ setCurrentTabSelected: handleSelectCurrentTab,
1588
1594
  ordersGroup: ordersGroup,
1589
1595
  setOrdersGroup: setOrdersGroup,
1590
1596
  logisticOrders: logisticOrders,
@@ -0,0 +1,154 @@
1
+ "use strict";
2
+
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.PaymentOptionStripeLink = void 0;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _propTypes = _interopRequireDefault(require("prop-types"));
10
+ var _LanguageContext = require("../../contexts/LanguageContext");
11
+ var _ApiContext = require("../../contexts/ApiContext");
12
+ var _ToastContext = require("../../contexts/ToastContext");
13
+ var _SessionContext = require("../../contexts/SessionContext");
14
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
16
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
17
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
18
+ function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
19
+ function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
20
+ function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
21
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
22
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
23
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
24
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
25
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
26
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
27
+ 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."); }
28
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
29
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
30
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
31
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
32
+ /**
33
+ * Component to manage payment option stripe link behavior UI component
34
+ */
35
+ var PaymentOptionStripeLink = exports.PaymentOptionStripeLink = function PaymentOptionStripeLink(props) {
36
+ var UIComponent = props.UIComponent,
37
+ paymentURL = props.paymentURL;
38
+ var _useApi = (0, _ApiContext.useApi)(),
39
+ _useApi2 = _slicedToArray(_useApi, 1),
40
+ ordering = _useApi2[0];
41
+ var _useSession = (0, _SessionContext.useSession)(),
42
+ _useSession2 = _slicedToArray(_useSession, 1),
43
+ token = _useSession2[0].token;
44
+ var _useLanguage = (0, _LanguageContext.useLanguage)(),
45
+ _useLanguage2 = _slicedToArray(_useLanguage, 2),
46
+ t = _useLanguage2[1];
47
+ var _useToast = (0, _ToastContext.useToast)(),
48
+ _useToast2 = _slicedToArray(_useToast, 2),
49
+ showToast = _useToast2[1].showToast;
50
+ var _useState = (0, _react.useState)({
51
+ loading: true,
52
+ error: null,
53
+ paymentURL: null
54
+ }),
55
+ _useState2 = _slicedToArray(_useState, 2),
56
+ stripeLinkState = _useState2[0],
57
+ setStripeLinkState = _useState2[1];
58
+ var _useState3 = (0, _react.useState)({}),
59
+ _useState4 = _slicedToArray(_useState3, 2),
60
+ userInfo = _useState4[0],
61
+ setUserInfo = _useState4[1];
62
+ var handleChangeUserInfo = function handleChangeUserInfo(changes) {
63
+ setUserInfo(_objectSpread(_objectSpread({}, userInfo), changes));
64
+ };
65
+ var handleSendStripeLink = /*#__PURE__*/function () {
66
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(type, callback) {
67
+ var data, response, _yield$response$json, result, error;
68
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
69
+ while (1) switch (_context.prev = _context.next) {
70
+ case 0:
71
+ _context.prev = 0;
72
+ setStripeLinkState(_objectSpread(_objectSpread({}, stripeLinkState), {}, {
73
+ loading: true
74
+ }));
75
+ data = {
76
+ type: type,
77
+ provider: (ordering === null || ordering === void 0 ? void 0 : ordering.project) === 'pizzahutmexico' ? 'custom' : 'twilio',
78
+ country_phone_code: userInfo.country_phone_code,
79
+ cellphone: userInfo.cellphone,
80
+ message: t('LINK_TO_PAY_MESSAGE', 'Hello there _name_ _lastname_, click on the following link to complete the payment: _link_').replace('_name_', userInfo === null || userInfo === void 0 ? void 0 : userInfo.name).replace('_lastname_', userInfo === null || userInfo === void 0 ? void 0 : userInfo.lastname).replace('_link_', paymentURL)
81
+ };
82
+ _context.next = 5;
83
+ return fetch("".concat(ordering.root, "/text_messages/send"), {
84
+ method: 'POST',
85
+ headers: {
86
+ 'Content-Type': 'application/json',
87
+ Authorization: "Bearer ".concat(token),
88
+ 'X-App-X': ordering.appId
89
+ },
90
+ body: JSON.stringify(data)
91
+ });
92
+ case 5:
93
+ response = _context.sent;
94
+ _context.next = 8;
95
+ return response.json();
96
+ case 8:
97
+ _yield$response$json = _context.sent;
98
+ result = _yield$response$json.result;
99
+ error = _yield$response$json.error;
100
+ if (!error) {
101
+ _context.next = 14;
102
+ break;
103
+ }
104
+ setStripeLinkState(_objectSpread(_objectSpread({}, stripeLinkState), {}, {
105
+ loading: false,
106
+ error: result
107
+ }));
108
+ return _context.abrupt("return");
109
+ case 14:
110
+ setStripeLinkState(_objectSpread(_objectSpread({}, stripeLinkState), {}, {
111
+ loading: false
112
+ }));
113
+ callback && callback();
114
+ showToast(_ToastContext.ToastType.Success, t('MESSAGE_SENT_SUCCESSFULLY', 'The link has been sent'));
115
+ _context.next = 22;
116
+ break;
117
+ case 19:
118
+ _context.prev = 19;
119
+ _context.t0 = _context["catch"](0);
120
+ setStripeLinkState(_objectSpread(_objectSpread({}, stripeLinkState), {}, {
121
+ loading: false,
122
+ error: [_context.t0.message]
123
+ }));
124
+ case 22:
125
+ case "end":
126
+ return _context.stop();
127
+ }
128
+ }, _callee, null, [[0, 19]]);
129
+ }));
130
+ return function handleSendStripeLink(_x, _x2) {
131
+ return _ref.apply(this, arguments);
132
+ };
133
+ }();
134
+ (0, _react.useEffect)(function () {
135
+ if (!paymentURL) return;
136
+ setStripeLinkState(_objectSpread(_objectSpread({}, stripeLinkState), {}, {
137
+ loading: false,
138
+ paymentURL: paymentURL
139
+ }));
140
+ }, [paymentURL]);
141
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, UIComponent && /*#__PURE__*/_react.default.createElement(UIComponent, _extends({}, props, {
142
+ userInfo: userInfo,
143
+ stripeLinkState: stripeLinkState,
144
+ setStripeLinkState: setStripeLinkState,
145
+ handleSendStripeLink: handleSendStripeLink,
146
+ handleChangeUserInfo: handleChangeUserInfo
147
+ })));
148
+ };
149
+ PaymentOptionStripeLink.propTypes = {
150
+ /**
151
+ * UI Component, this must be containt all graphic elements and use parent props
152
+ */
153
+ UIComponent: _propTypes.default.elementType
154
+ };
@@ -29,9 +29,10 @@ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r)
29
29
  function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
30
30
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
31
31
  function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
32
+ var stripeLink = 'stripe_link';
32
33
  var paymethodsExisting = ['stripe', 'stripe_direct', 'stripe_connect', 'paypal', 'square'];
33
34
  var paymethodsNotAllowed = ['paypal_express', 'authorize'];
34
- var paymethodsCallcenterMode = ['cash', 'card_delivery', 'ivrpay', '100_coupon'];
35
+ var paymethodsCallcenterMode = ['cash', 'card_delivery', 'ivrpay', '100_coupon', stripeLink];
35
36
 
36
37
  /**
37
38
  * Component to manage payment options behavior without UI component
@@ -59,7 +60,7 @@ var PaymentOptions = exports.PaymentOptions = function PaymentOptions(props) {
59
60
  changePaymethod = _useOrder2[1].changePaymethod;
60
61
  var _useSession = (0, _SessionContext.useSession)(),
61
62
  _useSession2 = _slicedToArray(_useSession, 1),
62
- sessionState = _useSession2[0];
63
+ device_code = _useSession2[0].device_code;
63
64
  var orderTotal = ((_orderState$carts = orderState.carts) === null || _orderState$carts === void 0 || (_orderState$carts = _orderState$carts["businessId:".concat(businessId)]) === null || _orderState$carts === void 0 ? void 0 : _orderState$carts.total) || 0;
64
65
  var _useState = (0, _react.useState)({
65
66
  paymethods: [],
@@ -87,7 +88,7 @@ var PaymentOptions = exports.PaymentOptions = function PaymentOptions(props) {
87
88
  var parsePaymethods = function parsePaymethods(paymethods) {
88
89
  var _paymethods = paymethods && paymethods.filter(function (credentials) {
89
90
  var _credentials$paymetho, _credentials$paymetho2, _credentials$paymetho3;
90
- return isCustomerMode ? !paymethodsNotAllowed.includes(credentials === null || credentials === void 0 || (_credentials$paymetho = credentials.paymethod) === null || _credentials$paymetho === void 0 ? void 0 : _credentials$paymetho.gateway) && (isAlsea || paymethodsCallcenterMode.includes(credentials === null || credentials === void 0 || (_credentials$paymetho2 = credentials.paymethod) === null || _credentials$paymetho2 === void 0 ? void 0 : _credentials$paymetho2.gateway)) : !paymethodsNotAllowed.includes(credentials === null || credentials === void 0 || (_credentials$paymetho3 = credentials.paymethod) === null || _credentials$paymetho3 === void 0 ? void 0 : _credentials$paymetho3.gateway);
91
+ return isCustomerMode ? !paymethodsNotAllowed.includes(credentials === null || credentials === void 0 || (_credentials$paymetho = credentials.paymethod) === null || _credentials$paymetho === void 0 ? void 0 : _credentials$paymetho.gateway) && (isAlsea || paymethodsCallcenterMode.includes(credentials === null || credentials === void 0 || (_credentials$paymetho2 = credentials.paymethod) === null || _credentials$paymetho2 === void 0 ? void 0 : _credentials$paymetho2.gateway)) : ![].concat(paymethodsNotAllowed, [stripeLink]).includes(credentials === null || credentials === void 0 || (_credentials$paymetho3 = credentials.paymethod) === null || _credentials$paymetho3 === void 0 ? void 0 : _credentials$paymetho3.gateway);
91
92
  }).map(function (credentials) {
92
93
  return _objectSpread(_objectSpread({}, credentials === null || credentials === void 0 ? void 0 : credentials.paymethod), {}, {
93
94
  sandbox: credentials === null || credentials === void 0 ? void 0 : credentials.sandbox,
@@ -102,23 +103,22 @@ var PaymentOptions = exports.PaymentOptions = function PaymentOptions(props) {
102
103
  */
103
104
  var getPaymentOptions = /*#__PURE__*/function () {
104
105
  var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
105
- var deviceCode, headers, _yield$ordering$busin, _yield$ordering$busin2, error, result;
106
+ var headers, _yield$ordering$busin, _yield$ordering$busin2, error, result;
106
107
  return _regeneratorRuntime().wrap(function _callee$(_context) {
107
108
  while (1) switch (_context.prev = _context.next) {
108
109
  case 0:
109
110
  setPaymethodsList(_objectSpread(_objectSpread({}, paymethodsList), {}, {
110
111
  loading: true
111
112
  }));
112
- deviceCode = sessionState === null || sessionState === void 0 ? void 0 : sessionState.device_code;
113
113
  headers = {
114
- 'X-Physical-Device-Code-X': "".concat(deviceCode)
114
+ 'X-Physical-Device-Code-X': "".concat(device_code)
115
115
  };
116
- _context.prev = 3;
117
- _context.next = 6;
118
- return ordering.businesses(businessId).get(deviceCode ? {
116
+ _context.prev = 2;
117
+ _context.next = 5;
118
+ return ordering.businesses(businessId).get(device_code ? {
119
119
  headers: headers
120
120
  } : {});
121
- case 6:
121
+ case 5:
122
122
  _yield$ordering$busin = _context.sent;
123
123
  _yield$ordering$busin2 = _yield$ordering$busin.content;
124
124
  error = _yield$ordering$busin2.error;
@@ -131,20 +131,20 @@ var PaymentOptions = exports.PaymentOptions = function PaymentOptions(props) {
131
131
  error: error ? result : null,
132
132
  paymethods: error ? [] : parsePaymethods(result.paymethods)
133
133
  }));
134
- _context.next = 17;
134
+ _context.next = 16;
135
135
  break;
136
- case 14:
137
- _context.prev = 14;
138
- _context.t0 = _context["catch"](3);
136
+ case 13:
137
+ _context.prev = 13;
138
+ _context.t0 = _context["catch"](2);
139
139
  setPaymethodsList(_objectSpread(_objectSpread({}, paymethodsList), {}, {
140
140
  loading: false,
141
141
  error: [_context.t0.message]
142
142
  }));
143
- case 17:
143
+ case 16:
144
144
  case "end":
145
145
  return _context.stop();
146
146
  }
147
- }, _callee, null, [[3, 14]]);
147
+ }, _callee, null, [[2, 13]]);
148
148
  }));
149
149
  return function getPaymentOptions() {
150
150
  return _ref.apply(this, arguments);
package/_modules/index.js CHANGED
@@ -699,6 +699,12 @@ Object.defineProperty(exports, "PaymentOptionStripeDirect", {
699
699
  return _PaymentOptionStripeDirect.PaymentOptionStripeDirect;
700
700
  }
701
701
  });
702
+ Object.defineProperty(exports, "PaymentOptionStripeLink", {
703
+ enumerable: true,
704
+ get: function get() {
705
+ return _PaymentOptionStripeLink.PaymentOptionStripeLink;
706
+ }
707
+ });
702
708
  Object.defineProperty(exports, "PaymentOptionStripeRedirect", {
703
709
  enumerable: true,
704
710
  get: function get() {
@@ -1308,6 +1314,7 @@ var _PaymentOptionCash = require("./components/PaymentOptionCash");
1308
1314
  var _PaymentOptionPaypal = require("./components/PaymentOptionPaypal");
1309
1315
  var _PaymentOptionStripe = require("./components/PaymentOptionStripe");
1310
1316
  var _PaymentOptionStripeDirect = require("./components/PaymentOptionStripeDirect");
1317
+ var _PaymentOptionStripeLink = require("./components/PaymentOptionStripeLink");
1311
1318
  var _PaymentOptionStripeRedirect = require("./components/PaymentOptionStripeRedirect");
1312
1319
  var _PaymentOptionSquare = require("./components/PaymentOptionSquare");
1313
1320
  var _StripeElementsForm = require("./components/StripeElementsForm");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ordering-components-external",
3
- "version": "13.2.14",
3
+ "version": "13.2.16",
4
4
  "description": "Ordering Internal Dashboard",
5
5
  "main": "./_modules/index.js",
6
6
  "scripts": {
@@ -21,7 +21,8 @@ export const Checkout = (props) => {
21
21
  UIComponent,
22
22
  isApp,
23
23
  isKiosk,
24
- isCustomerMode
24
+ isCustomerMode,
25
+ handleOrderRedirect
25
26
  } = props
26
27
 
27
28
  const [ordering] = useApi()
@@ -503,6 +504,21 @@ export const Checkout = (props) => {
503
504
  }
504
505
  }, [cart?.delivery_option_id])
505
506
 
507
+ useEffect(() => {
508
+ const handleCartUpdate = (cart) => {
509
+ if (cart?.status !== 1 || !cart?.order?.uuid) return
510
+ handleOrderRedirect && handleOrderRedirect(cart?.order?.uuid)
511
+ }
512
+ if (isCustomerMode && socket?.socket?._callbacks?.$carts_update) {
513
+ socket.on('carts_update', handleCartUpdate)
514
+ }
515
+ return () => {
516
+ if (isCustomerMode && socket?.socket?._callbacks?.$carts_update) {
517
+ socket.off('carts_update', handleCartUpdate)
518
+ }
519
+ }
520
+ }, [socket, isCustomerMode])
521
+
506
522
  useEffect(() => {
507
523
  if (!isKiosk) {
508
524
  Promise.all(