@open-tender/cloud 0.0.19 → 0.0.21

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.
@@ -72,8 +72,14 @@ export declare const reorderPastOrder: import("@reduxjs/toolkit").AsyncThunk<voi
72
72
  state: AppState;
73
73
  rejectValue: RequestError;
74
74
  }>;
75
- export declare const resetOrder: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, addItemToCart: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, addMessage: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, decrementItemInCart: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, incrementItemInCart: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, removeItemFromCart: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, removeMessage: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, resetAlert: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, resetCart: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, resetLocation: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, resetMessages: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, resetOrderType: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, resetRevenueCenter: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, setAddress: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setAlert: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setCart: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setCurbside: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setCurrentCategory: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setDeviceType: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setMenuVars: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setOrderId: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setOrderServiceType: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setOrderType: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setPrepType: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setRequestedAt: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setRevenueCenter: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setServiceType: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setTable: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>;
75
+ export declare const resetOrder: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, addItemToCart: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, addMessage: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, decrementItemInCart: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, incrementItemInCart: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, removeItemFromCart: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, removeMessage: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, resetAlert: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, resetCart: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, resetLocation: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, resetMessages: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, resetOrderType: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, resetRevenueCenter: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, setAddress: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setAlert: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setCart: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setCurbside: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setCurrentCategory: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setCurrentItem: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setDeviceType: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setMenuVars: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setOrderId: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setOrderServiceType: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setOrderType: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setPrepType: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setRequestedAt: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setRevenueCenter: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setServiceType: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setTable: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>;
76
76
  export declare const selectTimezone: (state: AppState) => string;
77
77
  export declare const selectOrder: (state: AppState) => OrderState;
78
78
  export declare const selectCartQuantity: (state: AppState) => number;
79
+ export declare const selectCartTotal: (state: AppState) => number;
80
+ export declare const selectCanOrder: (state: AppState) => string | null;
81
+ export declare const selectOrderLimits: (state: AppState) => {
82
+ orderMinimum: number | `${number}.${number}` | null;
83
+ orderMaximum: string | number | null;
84
+ };
79
85
  export declare const orderReducer: import("redux").Reducer<OrderState, import("redux").AnyAction>;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  var _a;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.orderReducer = exports.selectCartQuantity = exports.selectOrder = exports.selectTimezone = exports.setTable = exports.setServiceType = exports.setRevenueCenter = exports.setRequestedAt = exports.setPrepType = exports.setOrderType = exports.setOrderServiceType = exports.setOrderId = exports.setMenuVars = exports.setDeviceType = exports.setCurrentCategory = exports.setCurbside = exports.setCart = exports.setAlert = exports.setAddress = exports.resetRevenueCenter = exports.resetOrderType = exports.resetMessages = exports.resetLocation = exports.resetCart = exports.resetAlert = exports.removeMessage = exports.removeItemFromCart = exports.incrementItemInCart = exports.decrementItemInCart = exports.addMessage = exports.addItemToCart = exports.resetOrder = exports.reorderPastOrder = exports.editOrder = exports.refreshRevenueCenter = exports.revertMenu = exports.fetchLocation = exports.fetchRevenueCenter = exports.OrderActionType = void 0;
4
+ exports.orderReducer = exports.selectOrderLimits = exports.selectCanOrder = exports.selectCartTotal = exports.selectCartQuantity = exports.selectOrder = exports.selectTimezone = exports.setTable = exports.setServiceType = exports.setRevenueCenter = exports.setRequestedAt = exports.setPrepType = exports.setOrderType = exports.setOrderServiceType = exports.setOrderId = exports.setMenuVars = exports.setDeviceType = exports.setCurrentItem = exports.setCurrentCategory = exports.setCurbside = exports.setCart = exports.setAlert = exports.setAddress = exports.resetRevenueCenter = exports.resetOrderType = exports.resetMessages = exports.resetLocation = exports.resetCart = exports.resetAlert = exports.removeMessage = exports.removeItemFromCart = exports.incrementItemInCart = exports.decrementItemInCart = exports.addMessage = exports.addItemToCart = exports.resetOrder = exports.reorderPastOrder = exports.editOrder = exports.refreshRevenueCenter = exports.revertMenu = exports.fetchLocation = exports.fetchRevenueCenter = exports.OrderActionType = void 0;
5
5
  const tslib_1 = require("tslib");
6
6
  const toolkit_1 = require("@reduxjs/toolkit");
7
7
  const types_1 = require("./types");
@@ -303,6 +303,9 @@ const orderSlice = (0, toolkit_1.createSlice)({
303
303
  setCurrentCategory: (state, action) => {
304
304
  state.currentCategory = action.payload;
305
305
  },
306
+ setCurrentItem: (state, action) => {
307
+ state.currentItem = action.payload;
308
+ },
306
309
  addItemToCart: (state, action) => {
307
310
  const currentCart = state.cart !== null ? state.cart : [];
308
311
  const { cart, cartCounts } = (0, utils_1.addItem)([...currentCart], action.payload);
@@ -415,7 +418,7 @@ const orderSlice = (0, toolkit_1.createSlice)({
415
418
  });
416
419
  }
417
420
  });
418
- _a = orderSlice.actions, exports.resetOrder = _a.resetOrder, exports.addItemToCart = _a.addItemToCart, exports.addMessage = _a.addMessage, exports.decrementItemInCart = _a.decrementItemInCart, exports.incrementItemInCart = _a.incrementItemInCart, exports.removeItemFromCart = _a.removeItemFromCart, exports.removeMessage = _a.removeMessage, exports.resetAlert = _a.resetAlert, exports.resetCart = _a.resetCart, exports.resetLocation = _a.resetLocation, exports.resetMessages = _a.resetMessages, exports.resetOrderType = _a.resetOrderType, exports.resetRevenueCenter = _a.resetRevenueCenter, exports.setAddress = _a.setAddress, exports.setAlert = _a.setAlert, exports.setCart = _a.setCart, exports.setCurbside = _a.setCurbside, exports.setCurrentCategory = _a.setCurrentCategory, exports.setDeviceType = _a.setDeviceType, exports.setMenuVars = _a.setMenuVars, exports.setOrderId = _a.setOrderId, exports.setOrderServiceType = _a.setOrderServiceType, exports.setOrderType = _a.setOrderType, exports.setPrepType = _a.setPrepType, exports.setRequestedAt = _a.setRequestedAt, exports.setRevenueCenter = _a.setRevenueCenter, exports.setServiceType = _a.setServiceType, exports.setTable = _a.setTable;
421
+ _a = orderSlice.actions, exports.resetOrder = _a.resetOrder, exports.addItemToCart = _a.addItemToCart, exports.addMessage = _a.addMessage, exports.decrementItemInCart = _a.decrementItemInCart, exports.incrementItemInCart = _a.incrementItemInCart, exports.removeItemFromCart = _a.removeItemFromCart, exports.removeMessage = _a.removeMessage, exports.resetAlert = _a.resetAlert, exports.resetCart = _a.resetCart, exports.resetLocation = _a.resetLocation, exports.resetMessages = _a.resetMessages, exports.resetOrderType = _a.resetOrderType, exports.resetRevenueCenter = _a.resetRevenueCenter, exports.setAddress = _a.setAddress, exports.setAlert = _a.setAlert, exports.setCart = _a.setCart, exports.setCurbside = _a.setCurbside, exports.setCurrentCategory = _a.setCurrentCategory, exports.setCurrentItem = _a.setCurrentItem, exports.setDeviceType = _a.setDeviceType, exports.setMenuVars = _a.setMenuVars, exports.setOrderId = _a.setOrderId, exports.setOrderServiceType = _a.setOrderServiceType, exports.setOrderType = _a.setOrderType, exports.setPrepType = _a.setPrepType, exports.setRequestedAt = _a.setRequestedAt, exports.setRevenueCenter = _a.setRevenueCenter, exports.setServiceType = _a.setServiceType, exports.setTable = _a.setTable;
419
422
  const selectTimezone = (state) => {
420
423
  var _a;
421
424
  return state.order.revenueCenter
@@ -431,4 +434,30 @@ const selectCartQuantity = (state) => {
431
434
  : 0;
432
435
  };
433
436
  exports.selectCartQuantity = selectCartQuantity;
437
+ const selectCartTotal = (state) => {
438
+ return state.order.cart
439
+ ? state.order.cart.reduce((t, i) => (t += i.totalPrice), 0.0)
440
+ : 0.0;
441
+ };
442
+ exports.selectCartTotal = selectCartTotal;
443
+ const selectCanOrder = (state) => state.order.revenueCenter &&
444
+ state.order.serviceType &&
445
+ state.order.requestedAt;
446
+ exports.selectCanOrder = selectCanOrder;
447
+ const selectOrderLimits = (state) => {
448
+ const { revenueCenter, serviceType } = state.order;
449
+ if (!revenueCenter || !serviceType) {
450
+ return { orderMinimum: null, orderMaximum: null };
451
+ }
452
+ const { cartGuest, spendingLimit } = state.groupOrder;
453
+ const { order_maximum, order_minimum } = revenueCenter.settings || revenueCenter;
454
+ const orderMax = cartGuest && spendingLimit ? spendingLimit : (order_maximum ? order_maximum[serviceType] : 0);
455
+ const orderMaximum = orderMax;
456
+ const orderMinimum = order_minimum ? order_minimum[serviceType] : 0;
457
+ return {
458
+ orderMinimum: orderMinimum > 0 ? orderMinimum : null,
459
+ orderMaximum: orderMaximum > 0 ? orderMaximum : null,
460
+ };
461
+ };
462
+ exports.selectOrderLimits = selectOrderLimits;
434
463
  exports.orderReducer = orderSlice.reducer;
@@ -72,8 +72,14 @@ export declare const reorderPastOrder: import("@reduxjs/toolkit").AsyncThunk<voi
72
72
  state: AppState;
73
73
  rejectValue: RequestError;
74
74
  }>;
75
- export declare const resetOrder: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, addItemToCart: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, addMessage: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, decrementItemInCart: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, incrementItemInCart: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, removeItemFromCart: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, removeMessage: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, resetAlert: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, resetCart: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, resetLocation: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, resetMessages: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, resetOrderType: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, resetRevenueCenter: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, setAddress: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setAlert: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setCart: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setCurbside: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setCurrentCategory: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setDeviceType: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setMenuVars: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setOrderId: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setOrderServiceType: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setOrderType: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setPrepType: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setRequestedAt: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setRevenueCenter: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setServiceType: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setTable: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>;
75
+ export declare const resetOrder: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, addItemToCart: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, addMessage: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, decrementItemInCart: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, incrementItemInCart: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, removeItemFromCart: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, removeMessage: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, resetAlert: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, resetCart: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, resetLocation: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, resetMessages: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, resetOrderType: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, resetRevenueCenter: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, setAddress: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setAlert: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setCart: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setCurbside: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setCurrentCategory: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setCurrentItem: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setDeviceType: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setMenuVars: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setOrderId: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setOrderServiceType: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setOrderType: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setPrepType: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setRequestedAt: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setRevenueCenter: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setServiceType: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setTable: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>;
76
76
  export declare const selectTimezone: (state: AppState) => string;
77
77
  export declare const selectOrder: (state: AppState) => OrderState;
78
78
  export declare const selectCartQuantity: (state: AppState) => number;
79
+ export declare const selectCartTotal: (state: AppState) => number;
80
+ export declare const selectCanOrder: (state: AppState) => string | null;
81
+ export declare const selectOrderLimits: (state: AppState) => {
82
+ orderMinimum: number | `${number}.${number}` | null;
83
+ orderMaximum: string | number | null;
84
+ };
79
85
  export declare const orderReducer: import("redux").Reducer<OrderState, import("redux").AnyAction>;
@@ -299,6 +299,9 @@ const orderSlice = createSlice({
299
299
  setCurrentCategory: (state, action) => {
300
300
  state.currentCategory = action.payload;
301
301
  },
302
+ setCurrentItem: (state, action) => {
303
+ state.currentItem = action.payload;
304
+ },
302
305
  addItemToCart: (state, action) => {
303
306
  const currentCart = state.cart !== null ? state.cart : [];
304
307
  const { cart, cartCounts } = addItem([...currentCart], action.payload);
@@ -411,7 +414,7 @@ const orderSlice = createSlice({
411
414
  });
412
415
  }
413
416
  });
414
- export const { resetOrder, addItemToCart, addMessage, decrementItemInCart, incrementItemInCart, removeItemFromCart, removeMessage, resetAlert, resetCart, resetLocation, resetMessages, resetOrderType, resetRevenueCenter, setAddress, setAlert, setCart, setCurbside, setCurrentCategory, setDeviceType, setMenuVars, setOrderId, setOrderServiceType, setOrderType, setPrepType, setRequestedAt, setRevenueCenter, setServiceType, setTable,
417
+ export const { resetOrder, addItemToCart, addMessage, decrementItemInCart, incrementItemInCart, removeItemFromCart, removeMessage, resetAlert, resetCart, resetLocation, resetMessages, resetOrderType, resetRevenueCenter, setAddress, setAlert, setCart, setCurbside, setCurrentCategory, setCurrentItem, setDeviceType, setMenuVars, setOrderId, setOrderServiceType, setOrderType, setPrepType, setRequestedAt, setRevenueCenter, setServiceType, setTable,
415
418
  // updateOrder
416
419
  } = orderSlice.actions;
417
420
  export const selectTimezone = (state) => {
@@ -426,4 +429,27 @@ export const selectCartQuantity = (state) => {
426
429
  ? state.order.cart.reduce((t, i) => (t += i.quantity), 0)
427
430
  : 0;
428
431
  };
432
+ export const selectCartTotal = (state) => {
433
+ return state.order.cart
434
+ ? state.order.cart.reduce((t, i) => (t += i.totalPrice), 0.0)
435
+ : 0.0;
436
+ };
437
+ export const selectCanOrder = (state) => state.order.revenueCenter &&
438
+ state.order.serviceType &&
439
+ state.order.requestedAt;
440
+ export const selectOrderLimits = (state) => {
441
+ const { revenueCenter, serviceType } = state.order;
442
+ if (!revenueCenter || !serviceType) {
443
+ return { orderMinimum: null, orderMaximum: null };
444
+ }
445
+ const { cartGuest, spendingLimit } = state.groupOrder;
446
+ const { order_maximum, order_minimum } = revenueCenter.settings || revenueCenter;
447
+ const orderMax = cartGuest && spendingLimit ? spendingLimit : (order_maximum ? order_maximum[serviceType] : 0);
448
+ const orderMaximum = orderMax;
449
+ const orderMinimum = order_minimum ? order_minimum[serviceType] : 0;
450
+ return {
451
+ orderMinimum: orderMinimum > 0 ? orderMinimum : null,
452
+ orderMaximum: orderMaximum > 0 ? orderMaximum : null,
453
+ };
454
+ };
429
455
  export const orderReducer = orderSlice.reducer;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@open-tender/cloud",
3
- "version": "0.0.19",
3
+ "version": "0.0.21",
4
4
  "description": "A library of hooks, reducers, utility functions, and types for use with Open Tender applications that utilize our cloud-based Order API.",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "module": "./dist/esm/index.js",
@@ -55,7 +55,7 @@
55
55
  "react": "^18.2.0"
56
56
  },
57
57
  "dependencies": {
58
- "@open-tender/types": "^0.0.59",
58
+ "@open-tender/types": "^0.0.60",
59
59
  "@open-tender/utils": "^0.0.9"
60
60
  }
61
61
  }