@open-tender/store 1.1.202 → 1.1.204
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/CartItem.d.ts +2 -1
- package/dist/cjs/components/CartItem.js +4 -4
- package/dist/cjs/components/CheckoutCart.js +1 -1
- package/dist/cjs/hooks/types.d.ts +1 -0
- package/dist/cjs/hooks/useBarcodeCameraScanner.d.ts +1 -1
- package/dist/cjs/hooks/useBarcodeCameraScanner.js +2 -1
- package/dist/cjs/hooks/useBarcodeScanner.d.ts +1 -1
- package/dist/cjs/hooks/useBarcodeScanner.js +2 -2
- package/dist/cjs/hooks/useSignInQr.js +1 -1
- package/dist/esm/components/CartItem.d.ts +2 -1
- package/dist/esm/components/CartItem.js +4 -4
- package/dist/esm/components/CheckoutCart.js +1 -1
- package/dist/esm/hooks/types.d.ts +1 -0
- package/dist/esm/hooks/useBarcodeCameraScanner.d.ts +1 -1
- package/dist/esm/hooks/useBarcodeCameraScanner.js +2 -1
- package/dist/esm/hooks/useBarcodeScanner.d.ts +1 -1
- package/dist/esm/hooks/useBarcodeScanner.js +2 -2
- package/dist/esm/hooks/useSignInQr.js +1 -1
- package/package.json +3 -3
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { CartItem as CartItemType } from '@open-tender/types';
|
|
2
2
|
import { CartItemProps, QuantityProps } from '@open-tender/ui';
|
|
3
3
|
import React, { ReactNode } from 'react';
|
|
4
|
-
declare const CartItem: ({ item, isLast, isEditable, navigate, children, QuantityView }: {
|
|
4
|
+
declare const CartItem: ({ item, isLast, isEditable, isCheckout, navigate, children, QuantityView }: {
|
|
5
5
|
item: CartItemType;
|
|
6
6
|
isLast?: boolean;
|
|
7
7
|
isEditable?: boolean;
|
|
8
|
+
isCheckout?: boolean;
|
|
8
9
|
navigate: (route: string) => void;
|
|
9
10
|
children: (props: CartItemProps) => ReactNode;
|
|
10
11
|
QuantityView: (props: QuantityProps) => ReactNode;
|
|
@@ -6,10 +6,10 @@ var hooks_1 = require("../app/hooks");
|
|
|
6
6
|
var slices_1 = require("../slices");
|
|
7
7
|
var Quantity_1 = tslib_1.__importDefault(require("./Quantity"));
|
|
8
8
|
var CartItem = function (_a) {
|
|
9
|
-
var item = _a.item, _b = _a.isLast, isLast = _b === void 0 ? false : _b, _c = _a.isEditable, isEditable = _c === void 0 ? true : _c, navigate = _a.navigate, children = _a.children, QuantityView = _a.QuantityView;
|
|
9
|
+
var item = _a.item, _b = _a.isLast, isLast = _b === void 0 ? false : _b, _c = _a.isEditable, isEditable = _c === void 0 ? true : _c, _d = _a.isCheckout, isCheckout = _d === void 0 ? false : _d, navigate = _a.navigate, children = _a.children, QuantityView = _a.QuantityView;
|
|
10
10
|
var dispatch = (0, hooks_1.useAppDispatch)();
|
|
11
11
|
var apiUrl = (0, hooks_1.useAppSelector)(slices_1.selectKioskApi);
|
|
12
|
-
var
|
|
12
|
+
var _e = (0, hooks_1.useAppSelector)(slices_1.selectKioskConfig), config = _e.cartItem, checkoutCartItem = _e.checkoutCartItem;
|
|
13
13
|
var display_cals = (0, hooks_1.useAppSelector)(slices_1.selectStoreSettings).display_cals;
|
|
14
14
|
var increment = (0, react_1.useCallback)(function () { return dispatch((0, slices_1.incrementItemInCart)(item)); }, [item, dispatch]);
|
|
15
15
|
var decrement = (0, react_1.useCallback)(function () { return dispatch((0, slices_1.decrementItemInCart)(item)); }, [dispatch, item]);
|
|
@@ -20,11 +20,11 @@ var CartItem = function (_a) {
|
|
|
20
20
|
};
|
|
21
21
|
var handlers = { increment: increment, decrement: decrement, edit: edit, remove: remove };
|
|
22
22
|
var renderQuantity = (0, react_1.useCallback)(function (quantity) { return (react_1.default.createElement(Quantity_1.default, { fontSize: 24, iconSize: 28, quantity: quantity, increment: increment, decrement: decrement, children: QuantityView })); }, [increment, decrement, QuantityView]);
|
|
23
|
-
if (!config)
|
|
23
|
+
if (!config || !checkoutCartItem)
|
|
24
24
|
return null;
|
|
25
25
|
return children({
|
|
26
26
|
item: item,
|
|
27
|
-
config: config,
|
|
27
|
+
config: isCheckout && checkoutCartItem ? checkoutCartItem : config,
|
|
28
28
|
handlers: handlers,
|
|
29
29
|
isLast: isLast,
|
|
30
30
|
isEditable: isEditable,
|
|
@@ -8,7 +8,7 @@ var CartItem_1 = tslib_1.__importDefault(require("./CartItem"));
|
|
|
8
8
|
var CheckoutCart = function (_a) {
|
|
9
9
|
var cart = _a.cart, navigate = _a.navigate, children = _a.children, QuantityView = _a.QuantityView, CartItemView = _a.CartItemView;
|
|
10
10
|
var config = (0, hooks_1.useAppSelector)(slices_1.selectKioskConfig).checkoutCart;
|
|
11
|
-
var renderCartItem = (0, react_1.useCallback)(function (item, index) { return (react_1.default.createElement(CartItem_1.default, { QuantityView: QuantityView, navigate: navigate, children: CartItemView, key: "".concat(item.id, "-").concat(index), item: item, isLast: index + 1 === cart.length, isEditable: false })); }, [QuantityView, navigate, CartItemView, cart.length]);
|
|
11
|
+
var renderCartItem = (0, react_1.useCallback)(function (item, index) { return (react_1.default.createElement(CartItem_1.default, { QuantityView: QuantityView, navigate: navigate, children: CartItemView, key: "".concat(item.id, "-").concat(index), item: item, isLast: index + 1 === cart.length, isEditable: false, isCheckout: true })); }, [QuantityView, navigate, CartItemView, cart.length]);
|
|
12
12
|
if (!config)
|
|
13
13
|
return null;
|
|
14
14
|
return children({ config: config, cart: cart, renderCartItem: renderCartItem });
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { ScanListener, BarcodeScannerMethod } from './types';
|
|
2
|
-
declare function useBarcodeCameraScanner(listener: ScanListener): BarcodeScannerMethod;
|
|
2
|
+
declare function useBarcodeCameraScanner(listener: ScanListener, close?: () => void): BarcodeScannerMethod;
|
|
3
3
|
export default useBarcodeCameraScanner;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
var tslib_1 = require("tslib");
|
|
4
4
|
var react_1 = require("react");
|
|
5
|
-
function useBarcodeCameraScanner(listener) {
|
|
5
|
+
function useBarcodeCameraScanner(listener, close) {
|
|
6
6
|
var _this = this;
|
|
7
7
|
var scannedCode = (0, react_1.useRef)('');
|
|
8
8
|
var _a = (0, react_1.useState)(null), error = _a[0], setError = _a[1];
|
|
@@ -10,6 +10,7 @@ function useBarcodeCameraScanner(listener) {
|
|
|
10
10
|
var onCodeScanned = function (event) {
|
|
11
11
|
scannedCode.current = event.nativeEvent.codeStringValue;
|
|
12
12
|
setShowScanner(false);
|
|
13
|
+
close && close();
|
|
13
14
|
};
|
|
14
15
|
var requestPermissionHandler = function (result) {
|
|
15
16
|
setShowScanner(result === 'granted');
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { PosAPI } from '../services';
|
|
2
2
|
import { BarcodeScannerMethod, ScanListener } from './types';
|
|
3
|
-
export declare const useBarcodeScanner: (listener: ScanListener, cameraScanner: ScanListener, type?: string, api?: PosAPI) => BarcodeScannerMethod | undefined;
|
|
3
|
+
export declare const useBarcodeScanner: (listener: ScanListener, cameraScanner: ScanListener, type?: string, api?: PosAPI, close?: () => void) => BarcodeScannerMethod | undefined;
|
|
@@ -6,9 +6,9 @@ var types_1 = require("./types");
|
|
|
6
6
|
var useBarcode_1 = tslib_1.__importDefault(require("./useBarcode"));
|
|
7
7
|
var useBarcodeCameraScanner_1 = tslib_1.__importDefault(require("./useBarcodeCameraScanner"));
|
|
8
8
|
var useBarcodeUSB_1 = tslib_1.__importDefault(require("./useBarcodeUSB"));
|
|
9
|
-
var useBarcodeScanner = function (listener, cameraScanner, type, api) {
|
|
9
|
+
var useBarcodeScanner = function (listener, cameraScanner, type, api, close) {
|
|
10
10
|
var usbScan = (0, useBarcodeUSB_1.default)(listener);
|
|
11
|
-
var cameraScan = (0, useBarcodeCameraScanner_1.default)(cameraScanner);
|
|
11
|
+
var cameraScan = (0, useBarcodeCameraScanner_1.default)(cameraScanner, close);
|
|
12
12
|
var defaultScan = (0, useBarcode_1.default)(api);
|
|
13
13
|
switch (type) {
|
|
14
14
|
case types_1.BarcodeScannerType.CAMERA:
|
|
@@ -11,7 +11,7 @@ var useSignInQr = function (listener, cameraScanner, type, close, callback) {
|
|
|
11
11
|
var _b = (0, react_1.useState)(false), hasRead = _b[0], setHasRead = _b[1];
|
|
12
12
|
var _c = (0, react_1.useState)(null), errMsg = _c[0], setErrMsg = _c[1];
|
|
13
13
|
var api = (0, hooks_1.useAppSelector)(slices_1.selectApi);
|
|
14
|
-
var scan = (0, useBarcodeScanner_1.useBarcodeScanner)(listener, cameraScanner, type, api);
|
|
14
|
+
var scan = (0, useBarcodeScanner_1.useBarcodeScanner)(listener, cameraScanner, type, api, close);
|
|
15
15
|
var _d = (0, hooks_1.useAppSelector)(slices_1.selectCustomerIdentify), customer = _d.data, loading = _d.loading, error = _d.error;
|
|
16
16
|
var isLoading = loading === 'pending';
|
|
17
17
|
var cancel = function () {
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { CartItem as CartItemType } from '@open-tender/types';
|
|
2
2
|
import { CartItemProps, QuantityProps } from '@open-tender/ui';
|
|
3
3
|
import React, { ReactNode } from 'react';
|
|
4
|
-
declare const CartItem: ({ item, isLast, isEditable, navigate, children, QuantityView }: {
|
|
4
|
+
declare const CartItem: ({ item, isLast, isEditable, isCheckout, navigate, children, QuantityView }: {
|
|
5
5
|
item: CartItemType;
|
|
6
6
|
isLast?: boolean;
|
|
7
7
|
isEditable?: boolean;
|
|
8
|
+
isCheckout?: boolean;
|
|
8
9
|
navigate: (route: string) => void;
|
|
9
10
|
children: (props: CartItemProps) => ReactNode;
|
|
10
11
|
QuantityView: (props: QuantityProps) => ReactNode;
|
|
@@ -3,10 +3,10 @@ import { useAppDispatch, useAppSelector } from '../app/hooks';
|
|
|
3
3
|
import { decrementItemInCart, incrementItemInCart, removeItemFromCart, selectKioskApi, selectKioskConfig, selectStoreSettings, setCurrentItem } from '../slices';
|
|
4
4
|
import { default as QuantityContainer } from './Quantity';
|
|
5
5
|
var CartItem = function (_a) {
|
|
6
|
-
var item = _a.item, _b = _a.isLast, isLast = _b === void 0 ? false : _b, _c = _a.isEditable, isEditable = _c === void 0 ? true : _c, navigate = _a.navigate, children = _a.children, QuantityView = _a.QuantityView;
|
|
6
|
+
var item = _a.item, _b = _a.isLast, isLast = _b === void 0 ? false : _b, _c = _a.isEditable, isEditable = _c === void 0 ? true : _c, _d = _a.isCheckout, isCheckout = _d === void 0 ? false : _d, navigate = _a.navigate, children = _a.children, QuantityView = _a.QuantityView;
|
|
7
7
|
var dispatch = useAppDispatch();
|
|
8
8
|
var apiUrl = useAppSelector(selectKioskApi);
|
|
9
|
-
var
|
|
9
|
+
var _e = useAppSelector(selectKioskConfig), config = _e.cartItem, checkoutCartItem = _e.checkoutCartItem;
|
|
10
10
|
var display_cals = useAppSelector(selectStoreSettings).display_cals;
|
|
11
11
|
var increment = useCallback(function () { return dispatch(incrementItemInCart(item)); }, [item, dispatch]);
|
|
12
12
|
var decrement = useCallback(function () { return dispatch(decrementItemInCart(item)); }, [dispatch, item]);
|
|
@@ -17,11 +17,11 @@ var CartItem = function (_a) {
|
|
|
17
17
|
};
|
|
18
18
|
var handlers = { increment: increment, decrement: decrement, edit: edit, remove: remove };
|
|
19
19
|
var renderQuantity = useCallback(function (quantity) { return (React.createElement(QuantityContainer, { fontSize: 24, iconSize: 28, quantity: quantity, increment: increment, decrement: decrement, children: QuantityView })); }, [increment, decrement, QuantityView]);
|
|
20
|
-
if (!config)
|
|
20
|
+
if (!config || !checkoutCartItem)
|
|
21
21
|
return null;
|
|
22
22
|
return children({
|
|
23
23
|
item: item,
|
|
24
|
-
config: config,
|
|
24
|
+
config: isCheckout && checkoutCartItem ? checkoutCartItem : config,
|
|
25
25
|
handlers: handlers,
|
|
26
26
|
isLast: isLast,
|
|
27
27
|
isEditable: isEditable,
|
|
@@ -5,7 +5,7 @@ import { default as CartItemContainer } from './CartItem';
|
|
|
5
5
|
var CheckoutCart = function (_a) {
|
|
6
6
|
var cart = _a.cart, navigate = _a.navigate, children = _a.children, QuantityView = _a.QuantityView, CartItemView = _a.CartItemView;
|
|
7
7
|
var config = useAppSelector(selectKioskConfig).checkoutCart;
|
|
8
|
-
var renderCartItem = useCallback(function (item, index) { return (React.createElement(CartItemContainer, { QuantityView: QuantityView, navigate: navigate, children: CartItemView, key: "".concat(item.id, "-").concat(index), item: item, isLast: index + 1 === cart.length, isEditable: false })); }, [QuantityView, navigate, CartItemView, cart.length]);
|
|
8
|
+
var renderCartItem = useCallback(function (item, index) { return (React.createElement(CartItemContainer, { QuantityView: QuantityView, navigate: navigate, children: CartItemView, key: "".concat(item.id, "-").concat(index), item: item, isLast: index + 1 === cart.length, isEditable: false, isCheckout: true })); }, [QuantityView, navigate, CartItemView, cart.length]);
|
|
9
9
|
if (!config)
|
|
10
10
|
return null;
|
|
11
11
|
return children({ config: config, cart: cart, renderCartItem: renderCartItem });
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { ScanListener, BarcodeScannerMethod } from './types';
|
|
2
|
-
declare function useBarcodeCameraScanner(listener: ScanListener): BarcodeScannerMethod;
|
|
2
|
+
declare function useBarcodeCameraScanner(listener: ScanListener, close?: () => void): BarcodeScannerMethod;
|
|
3
3
|
export default useBarcodeCameraScanner;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { __awaiter, __generator } from "tslib";
|
|
2
2
|
import { useCallback, useRef, useState } from 'react';
|
|
3
|
-
function useBarcodeCameraScanner(listener) {
|
|
3
|
+
function useBarcodeCameraScanner(listener, close) {
|
|
4
4
|
var _this = this;
|
|
5
5
|
var scannedCode = useRef('');
|
|
6
6
|
var _a = useState(null), error = _a[0], setError = _a[1];
|
|
@@ -8,6 +8,7 @@ function useBarcodeCameraScanner(listener) {
|
|
|
8
8
|
var onCodeScanned = function (event) {
|
|
9
9
|
scannedCode.current = event.nativeEvent.codeStringValue;
|
|
10
10
|
setShowScanner(false);
|
|
11
|
+
close && close();
|
|
11
12
|
};
|
|
12
13
|
var requestPermissionHandler = function (result) {
|
|
13
14
|
setShowScanner(result === 'granted');
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { PosAPI } from '../services';
|
|
2
2
|
import { BarcodeScannerMethod, ScanListener } from './types';
|
|
3
|
-
export declare const useBarcodeScanner: (listener: ScanListener, cameraScanner: ScanListener, type?: string, api?: PosAPI) => BarcodeScannerMethod | undefined;
|
|
3
|
+
export declare const useBarcodeScanner: (listener: ScanListener, cameraScanner: ScanListener, type?: string, api?: PosAPI, close?: () => void) => BarcodeScannerMethod | undefined;
|
|
@@ -2,9 +2,9 @@ import { BarcodeScannerType } from './types';
|
|
|
2
2
|
import useBarcode from './useBarcode';
|
|
3
3
|
import useBarcodeCameraScanner from './useBarcodeCameraScanner';
|
|
4
4
|
import useBarcodeUSB from './useBarcodeUSB';
|
|
5
|
-
export var useBarcodeScanner = function (listener, cameraScanner, type, api) {
|
|
5
|
+
export var useBarcodeScanner = function (listener, cameraScanner, type, api, close) {
|
|
6
6
|
var usbScan = useBarcodeUSB(listener);
|
|
7
|
-
var cameraScan = useBarcodeCameraScanner(cameraScanner);
|
|
7
|
+
var cameraScan = useBarcodeCameraScanner(cameraScanner, close);
|
|
8
8
|
var defaultScan = useBarcode(api);
|
|
9
9
|
switch (type) {
|
|
10
10
|
case BarcodeScannerType.CAMERA:
|
|
@@ -9,7 +9,7 @@ var useSignInQr = function (listener, cameraScanner, type, close, callback) {
|
|
|
9
9
|
var _b = useState(false), hasRead = _b[0], setHasRead = _b[1];
|
|
10
10
|
var _c = useState(null), errMsg = _c[0], setErrMsg = _c[1];
|
|
11
11
|
var api = useAppSelector(selectApi);
|
|
12
|
-
var scan = useBarcodeScanner(listener, cameraScanner, type, api);
|
|
12
|
+
var scan = useBarcodeScanner(listener, cameraScanner, type, api, close);
|
|
13
13
|
var _d = useAppSelector(selectCustomerIdentify), customer = _d.data, loading = _d.loading, error = _d.error;
|
|
14
14
|
var isLoading = loading === 'pending';
|
|
15
15
|
var cancel = function () {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@open-tender/store",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.204",
|
|
4
4
|
"description": "A library of hooks, reducers, utility functions, and types for use with Open Tender applications that utilize our in-store POS API",
|
|
5
5
|
"main": "./dist/cjs/index.js",
|
|
6
6
|
"module": "./dist/esm/index.js",
|
|
@@ -61,9 +61,9 @@
|
|
|
61
61
|
},
|
|
62
62
|
"peerDependencies": {
|
|
63
63
|
"@emotion/react": "^11.11.1",
|
|
64
|
-
"@open-tender/types": "^0.4.
|
|
64
|
+
"@open-tender/types": "^0.4.85",
|
|
65
65
|
"@open-tender/ui": "^0.4.17",
|
|
66
|
-
"@open-tender/utils": "^0.4.
|
|
66
|
+
"@open-tender/utils": "^0.4.66",
|
|
67
67
|
"@reduxjs/toolkit": "^2.0.1",
|
|
68
68
|
"date-fns": "2.30.0",
|
|
69
69
|
"date-fns-tz": "^2.0.0",
|