@open-tender/store 1.1.22 → 1.1.24
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/Keypad.d.ts +10 -0
- package/dist/cjs/components/Keypad.js +16 -0
- package/dist/cjs/components/SignInOptions.d.ts +3 -3
- package/dist/cjs/components/SignInOptions.js +2 -2
- package/dist/cjs/components/SignInPhone.d.ts +3 -3
- package/dist/cjs/components/SignInPhone.js +8 -5
- package/dist/cjs/utils/index.d.ts +1 -0
- package/dist/cjs/utils/index.js +1 -0
- package/dist/cjs/utils/keyboard.d.ts +1 -0
- package/dist/cjs/utils/keyboard.js +14 -0
- package/dist/esm/components/Keypad.d.ts +10 -0
- package/dist/esm/components/Keypad.js +14 -0
- package/dist/esm/components/SignInOptions.d.ts +3 -3
- package/dist/esm/components/SignInOptions.js +2 -2
- package/dist/esm/components/SignInPhone.d.ts +3 -3
- package/dist/esm/components/SignInPhone.js +10 -7
- package/dist/esm/utils/index.d.ts +1 -0
- package/dist/esm/utils/index.js +1 -0
- package/dist/esm/utils/keyboard.d.ts +1 -0
- package/dist/esm/utils/keyboard.js +10 -0
- package/package.json +3 -3
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Handlers, KeypadProps, KeypadType } from '@open-tender/ui';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
declare const Keypad: ({ children, maxLength, type, value, handlers }: {
|
|
4
|
+
children: (props: KeypadProps) => ReactNode;
|
|
5
|
+
maxLength?: number;
|
|
6
|
+
type?: KeypadType;
|
|
7
|
+
value: string;
|
|
8
|
+
handlers: Handlers;
|
|
9
|
+
}) => ReactNode;
|
|
10
|
+
export default Keypad;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var react_1 = require("react");
|
|
4
|
+
var hooks_1 = require("../app/hooks");
|
|
5
|
+
var slices_1 = require("../slices");
|
|
6
|
+
var utils_1 = require("../utils");
|
|
7
|
+
var Keypad = function (_a) {
|
|
8
|
+
var children = _a.children, maxLength = _a.maxLength, type = _a.type, value = _a.value, handlers = _a.handlers;
|
|
9
|
+
var config = (0, hooks_1.useAppSelector)(slices_1.selectKioskConfig).keypad;
|
|
10
|
+
var handleOnKeyPress = (0, react_1.useCallback)(function (key) { return handlers.change((0, utils_1.getKeyboardValue)(key, value, maxLength)); }, [maxLength, value, handlers]);
|
|
11
|
+
var viewHandlers = (0, react_1.useMemo)(function () { return ({ keyPress: handleOnKeyPress }); }, [handleOnKeyPress]);
|
|
12
|
+
if (!config)
|
|
13
|
+
return null;
|
|
14
|
+
return children({ config: config, handlers: viewHandlers, value: value, type: type });
|
|
15
|
+
};
|
|
16
|
+
exports.default = Keypad;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { SignInOptionsProps, SignInQrProps, SignInPhoneProps,
|
|
1
|
+
import { SignInOptionsProps, SignInQrProps, SignInPhoneProps, ErrorMessageProps, KeypadProps } from '@open-tender/ui';
|
|
2
2
|
import React, { ReactNode } from 'react';
|
|
3
|
-
declare const SignInOptions: ({ close, children, SignInQrView, SignInPhoneView,
|
|
3
|
+
declare const SignInOptions: ({ close, children, SignInQrView, SignInPhoneView, KeypadView, ErrorMessageView }: {
|
|
4
4
|
close: () => void;
|
|
5
5
|
children: (props: SignInOptionsProps) => ReactNode;
|
|
6
6
|
SignInQrView: (props: SignInQrProps) => ReactNode;
|
|
7
7
|
SignInPhoneView: (props: SignInPhoneProps) => ReactNode;
|
|
8
|
-
|
|
8
|
+
KeypadView: (props: KeypadProps) => ReactNode;
|
|
9
9
|
ErrorMessageView: (props: ErrorMessageProps) => ReactNode;
|
|
10
10
|
}) => React.ReactNode;
|
|
11
11
|
export default SignInOptions;
|
|
@@ -7,12 +7,12 @@ var slices_1 = require("../slices");
|
|
|
7
7
|
var SignInPhone_1 = tslib_1.__importDefault(require("./SignInPhone"));
|
|
8
8
|
var SignInQr_1 = tslib_1.__importDefault(require("./SignInQr"));
|
|
9
9
|
var SignInOptions = function (_a) {
|
|
10
|
-
var close = _a.close, children = _a.children, SignInQrView = _a.SignInQrView, SignInPhoneView = _a.SignInPhoneView,
|
|
10
|
+
var close = _a.close, children = _a.children, SignInQrView = _a.SignInQrView, SignInPhoneView = _a.SignInPhoneView, KeypadView = _a.KeypadView, ErrorMessageView = _a.ErrorMessageView;
|
|
11
11
|
var _b = (0, hooks_1.useAppSelector)(slices_1.selectKioskConfig), config = _b.signInOptions, modalContentConfig = _b.modalContent;
|
|
12
12
|
var _c = (0, react_1.useState)(null), signInType = _c[0], setSignInType = _c[1];
|
|
13
13
|
var handlers = { close: close, setSignInType: setSignInType };
|
|
14
14
|
var renderSignInQr = (0, react_1.useCallback)(function (close) { return (react_1.default.createElement(SignInQr_1.default, { close: close, children: SignInQrView })); }, [SignInQrView]);
|
|
15
|
-
var renderSignInPhone = (0, react_1.useCallback)(function (close) { return (react_1.default.createElement(SignInPhone_1.default, { ErrorMessageView: ErrorMessageView,
|
|
15
|
+
var renderSignInPhone = (0, react_1.useCallback)(function (close) { return (react_1.default.createElement(SignInPhone_1.default, { ErrorMessageView: ErrorMessageView, KeypadView: KeypadView, close: close, children: SignInPhoneView })); }, [SignInPhoneView, KeypadView, ErrorMessageView]);
|
|
16
16
|
if (!config)
|
|
17
17
|
return null;
|
|
18
18
|
return children({
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { SignInPhoneProps,
|
|
1
|
+
import { SignInPhoneProps, ErrorMessageProps, KeypadProps } from '@open-tender/ui';
|
|
2
2
|
import React, { ReactNode } from 'react';
|
|
3
|
-
declare const SignInPhone: ({ close, children,
|
|
3
|
+
declare const SignInPhone: ({ close, children, KeypadView, ErrorMessageView }: {
|
|
4
4
|
close: () => void;
|
|
5
5
|
children: (props: SignInPhoneProps) => ReactNode;
|
|
6
|
-
|
|
6
|
+
KeypadView: (props: KeypadProps) => ReactNode;
|
|
7
7
|
ErrorMessageView: (props: ErrorMessageProps) => ReactNode;
|
|
8
8
|
}) => React.ReactNode;
|
|
9
9
|
export default SignInPhone;
|
|
@@ -5,10 +5,11 @@ var utils_1 = require("@open-tender/utils");
|
|
|
5
5
|
var react_1 = tslib_1.__importStar(require("react"));
|
|
6
6
|
var hooks_1 = require("../app/hooks");
|
|
7
7
|
var slices_1 = require("../slices");
|
|
8
|
+
var utils_2 = require("../utils");
|
|
8
9
|
var ErrorMessage_1 = tslib_1.__importDefault(require("./ErrorMessage"));
|
|
9
|
-
var
|
|
10
|
+
var Keypad_1 = tslib_1.__importDefault(require("./Keypad"));
|
|
10
11
|
var SignInPhone = function (_a) {
|
|
11
|
-
var close = _a.close, children = _a.children,
|
|
12
|
+
var close = _a.close, children = _a.children, KeypadView = _a.KeypadView, ErrorMessageView = _a.ErrorMessageView;
|
|
12
13
|
var dispatch = (0, hooks_1.useAppDispatch)();
|
|
13
14
|
var _b = (0, react_1.useState)(''), phone = _b[0], setPhone = _b[1];
|
|
14
15
|
var _c = (0, react_1.useState)(false), submitted = _c[0], setSubmitted = _c[1];
|
|
@@ -40,15 +41,17 @@ var SignInPhone = function (_a) {
|
|
|
40
41
|
if (hasCustomer)
|
|
41
42
|
close();
|
|
42
43
|
}, [hasCustomer, close]);
|
|
43
|
-
var
|
|
44
|
+
var keypadHandlers = (0, react_1.useMemo)(function () { return ({
|
|
45
|
+
change: function (value) { return setPhone((0, utils_2.makePhone)(value)); }
|
|
46
|
+
}); }, []);
|
|
47
|
+
var renderKeypad = (0, react_1.useCallback)(function () { return (react_1.default.createElement(Keypad_1.default, { handlers: keypadHandlers, value: phone, children: KeypadView })); }, [KeypadView, phone, keypadHandlers]);
|
|
44
48
|
var renderErrorMessage = (0, react_1.useCallback)(function (errMsg) { return (react_1.default.createElement(ErrorMessage_1.default, { content: errMsg, children: ErrorMessageView })); }, [ErrorMessageView]);
|
|
45
49
|
return children({
|
|
46
50
|
config: config,
|
|
47
51
|
handlers: handlers,
|
|
48
|
-
phone: phone,
|
|
49
52
|
errMsg: errMsg,
|
|
50
53
|
modalContentConfig: modalContentConfig,
|
|
51
|
-
|
|
54
|
+
renderKeypad: renderKeypad,
|
|
52
55
|
renderErrorMessage: renderErrorMessage
|
|
53
56
|
});
|
|
54
57
|
};
|
package/dist/cjs/utils/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
var tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./keyboard"), exports);
|
|
4
5
|
tslib_1.__exportStar(require("./menu"), exports);
|
|
5
6
|
tslib_1.__exportStar(require("./orders"), exports);
|
|
6
7
|
tslib_1.__exportStar(require("./pos"), exports);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const getKeyboardValue: (key: string, value: string, maxLength?: number) => string;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getKeyboardValue = void 0;
|
|
4
|
+
var getKeyboardValue = function (key, value, maxLength) {
|
|
5
|
+
if (key === 'del')
|
|
6
|
+
return value.slice(0, -1);
|
|
7
|
+
else if (key === 'clr')
|
|
8
|
+
return '';
|
|
9
|
+
else if (maxLength && value.length >= maxLength)
|
|
10
|
+
return value;
|
|
11
|
+
else
|
|
12
|
+
return value + key;
|
|
13
|
+
};
|
|
14
|
+
exports.getKeyboardValue = getKeyboardValue;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Handlers, KeypadProps, KeypadType } from '@open-tender/ui';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
declare const Keypad: ({ children, maxLength, type, value, handlers }: {
|
|
4
|
+
children: (props: KeypadProps) => ReactNode;
|
|
5
|
+
maxLength?: number;
|
|
6
|
+
type?: KeypadType;
|
|
7
|
+
value: string;
|
|
8
|
+
handlers: Handlers;
|
|
9
|
+
}) => ReactNode;
|
|
10
|
+
export default Keypad;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { useCallback, useMemo } from 'react';
|
|
2
|
+
import { useAppSelector } from '../app/hooks';
|
|
3
|
+
import { selectKioskConfig } from '../slices';
|
|
4
|
+
import { getKeyboardValue } from '../utils';
|
|
5
|
+
var Keypad = function (_a) {
|
|
6
|
+
var children = _a.children, maxLength = _a.maxLength, type = _a.type, value = _a.value, handlers = _a.handlers;
|
|
7
|
+
var config = useAppSelector(selectKioskConfig).keypad;
|
|
8
|
+
var handleOnKeyPress = useCallback(function (key) { return handlers.change(getKeyboardValue(key, value, maxLength)); }, [maxLength, value, handlers]);
|
|
9
|
+
var viewHandlers = useMemo(function () { return ({ keyPress: handleOnKeyPress }); }, [handleOnKeyPress]);
|
|
10
|
+
if (!config)
|
|
11
|
+
return null;
|
|
12
|
+
return children({ config: config, handlers: viewHandlers, value: value, type: type });
|
|
13
|
+
};
|
|
14
|
+
export default Keypad;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { SignInOptionsProps, SignInQrProps, SignInPhoneProps,
|
|
1
|
+
import { SignInOptionsProps, SignInQrProps, SignInPhoneProps, ErrorMessageProps, KeypadProps } from '@open-tender/ui';
|
|
2
2
|
import React, { ReactNode } from 'react';
|
|
3
|
-
declare const SignInOptions: ({ close, children, SignInQrView, SignInPhoneView,
|
|
3
|
+
declare const SignInOptions: ({ close, children, SignInQrView, SignInPhoneView, KeypadView, ErrorMessageView }: {
|
|
4
4
|
close: () => void;
|
|
5
5
|
children: (props: SignInOptionsProps) => ReactNode;
|
|
6
6
|
SignInQrView: (props: SignInQrProps) => ReactNode;
|
|
7
7
|
SignInPhoneView: (props: SignInPhoneProps) => ReactNode;
|
|
8
|
-
|
|
8
|
+
KeypadView: (props: KeypadProps) => ReactNode;
|
|
9
9
|
ErrorMessageView: (props: ErrorMessageProps) => ReactNode;
|
|
10
10
|
}) => React.ReactNode;
|
|
11
11
|
export default SignInOptions;
|
|
@@ -4,12 +4,12 @@ import { selectKioskConfig } from '../slices';
|
|
|
4
4
|
import { default as SignInPhoneContainer } from './SignInPhone';
|
|
5
5
|
import { default as SignInQrContainer } from './SignInQr';
|
|
6
6
|
var SignInOptions = function (_a) {
|
|
7
|
-
var close = _a.close, children = _a.children, SignInQrView = _a.SignInQrView, SignInPhoneView = _a.SignInPhoneView,
|
|
7
|
+
var close = _a.close, children = _a.children, SignInQrView = _a.SignInQrView, SignInPhoneView = _a.SignInPhoneView, KeypadView = _a.KeypadView, ErrorMessageView = _a.ErrorMessageView;
|
|
8
8
|
var _b = useAppSelector(selectKioskConfig), config = _b.signInOptions, modalContentConfig = _b.modalContent;
|
|
9
9
|
var _c = useState(null), signInType = _c[0], setSignInType = _c[1];
|
|
10
10
|
var handlers = { close: close, setSignInType: setSignInType };
|
|
11
11
|
var renderSignInQr = useCallback(function (close) { return (React.createElement(SignInQrContainer, { close: close, children: SignInQrView })); }, [SignInQrView]);
|
|
12
|
-
var renderSignInPhone = useCallback(function (close) { return (React.createElement(SignInPhoneContainer, { ErrorMessageView: ErrorMessageView,
|
|
12
|
+
var renderSignInPhone = useCallback(function (close) { return (React.createElement(SignInPhoneContainer, { ErrorMessageView: ErrorMessageView, KeypadView: KeypadView, close: close, children: SignInPhoneView })); }, [SignInPhoneView, KeypadView, ErrorMessageView]);
|
|
13
13
|
if (!config)
|
|
14
14
|
return null;
|
|
15
15
|
return children({
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { SignInPhoneProps,
|
|
1
|
+
import { SignInPhoneProps, ErrorMessageProps, KeypadProps } from '@open-tender/ui';
|
|
2
2
|
import React, { ReactNode } from 'react';
|
|
3
|
-
declare const SignInPhone: ({ close, children,
|
|
3
|
+
declare const SignInPhone: ({ close, children, KeypadView, ErrorMessageView }: {
|
|
4
4
|
close: () => void;
|
|
5
5
|
children: (props: SignInPhoneProps) => ReactNode;
|
|
6
|
-
|
|
6
|
+
KeypadView: (props: KeypadProps) => ReactNode;
|
|
7
7
|
ErrorMessageView: (props: ErrorMessageProps) => ReactNode;
|
|
8
8
|
}) => React.ReactNode;
|
|
9
9
|
export default SignInPhone;
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import { handleRespError
|
|
2
|
-
import React, { useCallback, useEffect, useState } from 'react';
|
|
1
|
+
import { handleRespError } from '@open-tender/utils';
|
|
2
|
+
import React, { useCallback, useEffect, useMemo, useState } from 'react';
|
|
3
3
|
import { useAppDispatch, useAppSelector } from '../app/hooks';
|
|
4
4
|
import { fetchCustomerIdentify, selectCustomerIdentify, selectKioskConfig } from '../slices';
|
|
5
|
+
import { makePhone } from '../utils';
|
|
5
6
|
import { default as ErrorMessageContainer } from './ErrorMessage';
|
|
6
|
-
import { default as
|
|
7
|
+
import { default as KeypadContainer } from './Keypad';
|
|
7
8
|
var SignInPhone = function (_a) {
|
|
8
|
-
var close = _a.close, children = _a.children,
|
|
9
|
+
var close = _a.close, children = _a.children, KeypadView = _a.KeypadView, ErrorMessageView = _a.ErrorMessageView;
|
|
9
10
|
var dispatch = useAppDispatch();
|
|
10
11
|
var _b = useState(''), phone = _b[0], setPhone = _b[1];
|
|
11
12
|
var _c = useState(false), submitted = _c[0], setSubmitted = _c[1];
|
|
@@ -37,15 +38,17 @@ var SignInPhone = function (_a) {
|
|
|
37
38
|
if (hasCustomer)
|
|
38
39
|
close();
|
|
39
40
|
}, [hasCustomer, close]);
|
|
40
|
-
var
|
|
41
|
+
var keypadHandlers = useMemo(function () { return ({
|
|
42
|
+
change: function (value) { return setPhone(makePhone(value)); }
|
|
43
|
+
}); }, []);
|
|
44
|
+
var renderKeypad = useCallback(function () { return (React.createElement(KeypadContainer, { handlers: keypadHandlers, value: phone, children: KeypadView })); }, [KeypadView, phone, keypadHandlers]);
|
|
41
45
|
var renderErrorMessage = useCallback(function (errMsg) { return (React.createElement(ErrorMessageContainer, { content: errMsg, children: ErrorMessageView })); }, [ErrorMessageView]);
|
|
42
46
|
return children({
|
|
43
47
|
config: config,
|
|
44
48
|
handlers: handlers,
|
|
45
|
-
phone: phone,
|
|
46
49
|
errMsg: errMsg,
|
|
47
50
|
modalContentConfig: modalContentConfig,
|
|
48
|
-
|
|
51
|
+
renderKeypad: renderKeypad,
|
|
49
52
|
renderErrorMessage: renderErrorMessage
|
|
50
53
|
});
|
|
51
54
|
};
|
package/dist/esm/utils/index.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const getKeyboardValue: (key: string, value: string, maxLength?: number) => string;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@open-tender/store",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.24",
|
|
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",
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"@babel/core": "^7.23.6",
|
|
37
37
|
"@emotion/react": "^11.11.1",
|
|
38
38
|
"@open-tender/types": "^0.4.44",
|
|
39
|
-
"@open-tender/ui": "^0.3.
|
|
39
|
+
"@open-tender/ui": "^0.3.18",
|
|
40
40
|
"@open-tender/utils": "^0.4.23",
|
|
41
41
|
"@reduxjs/toolkit": "^2.0.1",
|
|
42
42
|
"@types/react": "^18.2.45",
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
"peerDependencies": {
|
|
66
66
|
"@emotion/react": "^11.11.1",
|
|
67
67
|
"@open-tender/types": "^0.4.43",
|
|
68
|
-
"@open-tender/ui": "^0.3.
|
|
68
|
+
"@open-tender/ui": "^0.3.18",
|
|
69
69
|
"@open-tender/utils": "^0.4.23",
|
|
70
70
|
"@reduxjs/toolkit": "^2.0.1",
|
|
71
71
|
"date-fns": "2.30.0",
|