@open-tender/store 1.1.4 → 1.1.6
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/LICENSE.md +21 -21
- package/README.md +3 -3
- package/dist/cjs/components/Allergen.d.ts +8 -0
- package/dist/cjs/components/Allergen.js +11 -0
- package/dist/cjs/components/Applied.d.ts +6 -0
- package/dist/cjs/components/Applied.js +11 -0
- package/dist/cjs/components/ButtonLink.d.ts +9 -0
- package/dist/cjs/components/ButtonLink.js +11 -0
- package/dist/cjs/components/Card.d.ts +7 -0
- package/dist/cjs/components/Card.js +11 -0
- package/dist/cjs/components/Cart.d.ts +7 -0
- package/dist/cjs/components/Cart.js +41 -0
- package/dist/cjs/components/CartItem.d.ts +11 -0
- package/dist/cjs/components/CartItem.js +31 -0
- package/dist/cjs/components/CartUpsellItem.d.ts +10 -0
- package/dist/cjs/components/CartUpsellItem.js +25 -0
- package/dist/cjs/components/CartUpsells.d.ts +6 -0
- package/dist/cjs/components/CartUpsells.js +25 -0
- package/dist/cjs/components/CategoryItem.d.ts +11 -0
- package/dist/cjs/components/CategoryItem.js +28 -0
- package/dist/cjs/components/CategoryNav.d.ts +7 -0
- package/dist/cjs/components/CategoryNav.js +26 -0
- package/dist/cjs/components/CategoryNavItem.d.ts +9 -0
- package/dist/cjs/components/CategoryNavItem.js +27 -0
- package/dist/cjs/components/CategoryNavOther.d.ts +9 -0
- package/dist/cjs/components/CategoryNavOther.js +20 -0
- package/dist/cjs/components/CheckTotals.d.ts +8 -0
- package/dist/cjs/components/CheckTotals.js +11 -0
- package/dist/cjs/components/Discount.d.ts +8 -0
- package/dist/cjs/components/Discount.js +13 -0
- package/dist/cjs/components/ErrorMessage.d.ts +9 -0
- package/dist/cjs/components/ErrorMessage.js +11 -0
- package/dist/cjs/components/Header.d.ts +9 -0
- package/dist/cjs/components/Header.js +26 -0
- package/dist/cjs/components/Ingredients.d.ts +10 -0
- package/dist/cjs/components/Ingredients.js +12 -0
- package/dist/cjs/components/Input.d.ts +11 -0
- package/dist/cjs/components/Input.js +23 -0
- package/dist/cjs/components/ItemGroup.d.ts +9 -0
- package/dist/cjs/components/ItemGroup.js +19 -0
- package/dist/cjs/components/ItemGroups.d.ts +11 -0
- package/dist/cjs/components/ItemGroups.js +25 -0
- package/dist/cjs/components/ItemOption.d.ts +11 -0
- package/dist/cjs/components/ItemOption.js +31 -0
- package/dist/cjs/components/ItemSelections.d.ts +11 -0
- package/dist/cjs/components/ItemSelections.js +23 -0
- package/dist/cjs/components/Label.d.ts +10 -0
- package/dist/cjs/components/Label.js +11 -0
- package/dist/cjs/components/Loader.d.ts +8 -0
- package/dist/cjs/components/Loader.js +11 -0
- package/dist/cjs/components/MadeForNotes.d.ts +14 -0
- package/dist/cjs/components/MadeForNotes.js +29 -0
- package/dist/cjs/components/MenuCategory.d.ts +3 -3
- package/dist/cjs/components/MenuCategory.js +7 -6
- package/dist/cjs/components/MenuOther.d.ts +12 -0
- package/dist/cjs/components/MenuOther.js +17 -0
- package/dist/cjs/components/Modal.d.ts +9 -0
- package/dist/cjs/components/Modal.js +17 -0
- package/dist/cjs/components/ModalContent.d.ts +14 -0
- package/dist/cjs/components/ModalContent.js +21 -0
- package/dist/cjs/components/ModalHeader.d.ts +8 -0
- package/dist/cjs/components/ModalHeader.js +11 -0
- package/dist/cjs/components/NutritionalInfo.d.ts +11 -0
- package/dist/cjs/components/NutritionalInfo.js +19 -0
- package/dist/cjs/components/Option.d.ts +11 -0
- package/dist/cjs/components/Option.js +24 -0
- package/dist/cjs/components/OrderCard.d.ts +9 -0
- package/dist/cjs/components/OrderCard.js +56 -0
- package/dist/cjs/components/PointsReward.d.ts +10 -0
- package/dist/cjs/components/PointsReward.js +62 -0
- package/dist/cjs/components/PointsRewards.d.ts +6 -0
- package/dist/cjs/components/PointsRewards.js +24 -0
- package/dist/cjs/components/PromoCode.d.ts +7 -0
- package/dist/cjs/components/PromoCode.js +52 -0
- package/dist/cjs/components/Quantity.d.ts +13 -0
- package/dist/cjs/components/Quantity.js +19 -0
- package/dist/cjs/components/Reward.d.ts +10 -0
- package/dist/cjs/components/Reward.js +39 -0
- package/dist/cjs/components/Rewards.d.ts +10 -0
- package/dist/cjs/components/Rewards.js +15 -0
- package/dist/cjs/components/SignIn.d.ts +11 -0
- package/dist/cjs/components/SignIn.js +37 -0
- package/dist/cjs/components/SignInButton.d.ts +8 -0
- package/dist/cjs/components/SignInButton.js +41 -0
- package/dist/cjs/components/SignInCheckout.d.ts +9 -0
- package/dist/cjs/components/SignInCheckout.js +38 -0
- package/dist/cjs/components/SignInOptions.d.ts +7 -0
- package/dist/cjs/components/SignInOptions.js +28 -0
- package/dist/cjs/components/SignInPhone.d.ts +7 -0
- package/dist/cjs/components/SignInPhone.js +59 -0
- package/dist/cjs/components/SignInQr.d.ts +7 -0
- package/dist/cjs/components/SignInQr.js +61 -0
- package/dist/cjs/components/SuccessMessage.d.ts +9 -0
- package/dist/cjs/components/SuccessMessage.js +10 -0
- package/dist/cjs/components/Tag.d.ts +8 -0
- package/dist/cjs/components/Tag.js +10 -0
- package/dist/cjs/components/TextArea.d.ts +11 -0
- package/dist/cjs/components/TextArea.js +22 -0
- package/dist/cjs/components/UpsellItem.d.ts +10 -0
- package/dist/cjs/components/UpsellItem.js +24 -0
- package/dist/cjs/components/Upsells.d.ts +8 -0
- package/dist/cjs/components/Upsells.js +25 -0
- package/dist/cjs/components/index.d.ts +48 -1
- package/dist/cjs/components/index.js +95 -1
- package/dist/cjs/config/index.js +1 -1
- package/dist/cjs/hooks/useBarcode.js +1 -1
- package/dist/cjs/hooks/useChipDNATender/useChipDNATender.js +1 -1
- package/dist/cjs/hooks/useEmployee.js +8 -4
- package/dist/cjs/hooks/useGiftCardBalance.js +1 -1
- package/dist/cjs/hooks/useOrderValidate.js +1 -1
- package/dist/cjs/hooks/usePunch.js +1 -1
- package/dist/cjs/slices/alerts.js +1 -1
- package/dist/cjs/slices/arrivals.js +32 -36
- package/dist/cjs/slices/checkout.d.ts +1 -1
- package/dist/cjs/slices/checkout.js +329 -351
- package/dist/cjs/slices/config.js +79 -81
- package/dist/cjs/slices/customer.js +17 -19
- package/dist/cjs/slices/customerIdentify.js +16 -18
- package/dist/cjs/slices/deals.js +16 -18
- package/dist/cjs/slices/discounts.js +19 -21
- package/dist/cjs/slices/errorAlerts.d.ts +1 -1
- package/dist/cjs/slices/errorAlerts.js +34 -38
- package/dist/cjs/slices/kds.js +253 -275
- package/dist/cjs/slices/kiosk.d.ts +1 -1
- package/dist/cjs/slices/kiosk.js +50 -52
- package/dist/cjs/slices/menu.js +24 -26
- package/dist/cjs/slices/menuPages.js +16 -18
- package/dist/cjs/slices/notifications.js +1 -1
- package/dist/cjs/slices/offlineAuths.js +32 -36
- package/dist/cjs/slices/order.js +25 -27
- package/dist/cjs/slices/pos.js +59 -65
- package/dist/cjs/slices/punches.d.ts +1 -1
- package/dist/cjs/slices/punches.js +16 -18
- package/dist/cjs/slices/refund.js +54 -60
- package/dist/cjs/slices/settings.js +56 -62
- package/dist/cjs/slices/surcharges.js +19 -21
- package/dist/cjs/slices/taxes.js +19 -21
- package/dist/cjs/utils/punches.js +1 -1
- package/dist/esm/components/Allergen.d.ts +8 -0
- package/dist/esm/components/Allergen.js +9 -0
- package/dist/esm/components/Applied.d.ts +6 -0
- package/dist/esm/components/Applied.js +9 -0
- package/dist/esm/components/ButtonLink.d.ts +9 -0
- package/dist/esm/components/ButtonLink.js +9 -0
- package/dist/esm/components/Card.d.ts +7 -0
- package/dist/esm/components/Card.js +9 -0
- package/dist/esm/components/Cart.d.ts +7 -0
- package/dist/esm/components/Cart.js +38 -0
- package/dist/esm/components/CartItem.d.ts +11 -0
- package/dist/esm/components/CartItem.js +28 -0
- package/dist/esm/components/CartUpsellItem.d.ts +10 -0
- package/dist/esm/components/CartUpsellItem.js +23 -0
- package/dist/esm/components/CartUpsells.d.ts +6 -0
- package/dist/esm/components/CartUpsells.js +22 -0
- package/dist/esm/components/CategoryItem.d.ts +11 -0
- package/dist/esm/components/CategoryItem.js +26 -0
- package/dist/esm/components/CategoryNav.d.ts +7 -0
- package/dist/esm/components/CategoryNav.js +23 -0
- package/dist/esm/components/CategoryNavItem.d.ts +9 -0
- package/dist/esm/components/CategoryNavItem.js +25 -0
- package/dist/esm/components/CategoryNavOther.d.ts +9 -0
- package/dist/esm/components/CategoryNavOther.js +18 -0
- package/dist/esm/components/CheckTotals.d.ts +8 -0
- package/dist/esm/components/CheckTotals.js +9 -0
- package/dist/esm/components/Discount.d.ts +8 -0
- package/dist/esm/components/Discount.js +11 -0
- package/dist/esm/components/ErrorMessage.d.ts +9 -0
- package/dist/esm/components/ErrorMessage.js +9 -0
- package/dist/esm/components/Header.d.ts +9 -0
- package/dist/esm/components/Header.js +23 -0
- package/dist/esm/components/Ingredients.d.ts +10 -0
- package/dist/esm/components/Ingredients.js +10 -0
- package/dist/esm/components/Input.d.ts +11 -0
- package/dist/esm/components/Input.js +21 -0
- package/dist/esm/components/ItemGroup.d.ts +9 -0
- package/dist/esm/components/ItemGroup.js +17 -0
- package/dist/esm/components/ItemGroups.d.ts +11 -0
- package/dist/esm/components/ItemGroups.js +22 -0
- package/dist/esm/components/ItemOption.d.ts +11 -0
- package/dist/esm/components/ItemOption.js +29 -0
- package/dist/esm/components/ItemSelections.d.ts +11 -0
- package/dist/esm/components/ItemSelections.js +20 -0
- package/dist/esm/components/Label.d.ts +10 -0
- package/dist/esm/components/Label.js +9 -0
- package/dist/esm/components/Loader.d.ts +8 -0
- package/dist/esm/components/Loader.js +9 -0
- package/dist/esm/components/MadeForNotes.d.ts +14 -0
- package/dist/esm/components/MadeForNotes.js +26 -0
- package/dist/esm/components/MenuCategory.d.ts +3 -3
- package/dist/esm/components/MenuCategory.js +3 -2
- package/dist/esm/components/MenuOther.d.ts +12 -0
- package/dist/esm/components/MenuOther.js +15 -0
- package/dist/esm/components/Modal.d.ts +9 -0
- package/dist/esm/components/Modal.js +14 -0
- package/dist/esm/components/ModalContent.d.ts +14 -0
- package/dist/esm/components/ModalContent.js +19 -0
- package/dist/esm/components/ModalHeader.d.ts +8 -0
- package/dist/esm/components/ModalHeader.js +9 -0
- package/dist/esm/components/NutritionalInfo.d.ts +11 -0
- package/dist/esm/components/NutritionalInfo.js +17 -0
- package/dist/esm/components/Option.d.ts +11 -0
- package/dist/esm/components/Option.js +22 -0
- package/dist/esm/components/OrderCard.d.ts +9 -0
- package/dist/esm/components/OrderCard.js +53 -0
- package/dist/esm/components/PointsReward.d.ts +10 -0
- package/dist/esm/components/PointsReward.js +60 -0
- package/dist/esm/components/PointsRewards.d.ts +6 -0
- package/dist/esm/components/PointsRewards.js +21 -0
- package/dist/esm/components/PromoCode.d.ts +7 -0
- package/dist/esm/components/PromoCode.js +49 -0
- package/dist/esm/components/Quantity.d.ts +13 -0
- package/dist/esm/components/Quantity.js +17 -0
- package/dist/esm/components/Reward.d.ts +10 -0
- package/dist/esm/components/Reward.js +36 -0
- package/dist/esm/components/Rewards.d.ts +10 -0
- package/dist/esm/components/Rewards.js +12 -0
- package/dist/esm/components/SignIn.d.ts +11 -0
- package/dist/esm/components/SignIn.js +35 -0
- package/dist/esm/components/SignInButton.d.ts +8 -0
- package/dist/esm/components/SignInButton.js +39 -0
- package/dist/esm/components/SignInCheckout.d.ts +9 -0
- package/dist/esm/components/SignInCheckout.js +36 -0
- package/dist/esm/components/SignInOptions.d.ts +7 -0
- package/dist/esm/components/SignInOptions.js +25 -0
- package/dist/esm/components/SignInPhone.d.ts +7 -0
- package/dist/esm/components/SignInPhone.js +56 -0
- package/dist/esm/components/SignInQr.d.ts +7 -0
- package/dist/esm/components/SignInQr.js +59 -0
- package/dist/esm/components/SuccessMessage.d.ts +9 -0
- package/dist/esm/components/SuccessMessage.js +8 -0
- package/dist/esm/components/Tag.d.ts +8 -0
- package/dist/esm/components/Tag.js +8 -0
- package/dist/esm/components/TextArea.d.ts +11 -0
- package/dist/esm/components/TextArea.js +20 -0
- package/dist/esm/components/UpsellItem.d.ts +10 -0
- package/dist/esm/components/UpsellItem.js +22 -0
- package/dist/esm/components/Upsells.d.ts +8 -0
- package/dist/esm/components/Upsells.js +22 -0
- package/dist/esm/components/index.d.ts +48 -1
- package/dist/esm/components/index.js +48 -1
- package/dist/esm/config/index.js +1 -1
- package/dist/esm/hooks/useBarcode.js +1 -1
- package/dist/esm/hooks/useChipDNATender/useChipDNATender.js +1 -1
- package/dist/esm/hooks/useEmployee.js +9 -5
- package/dist/esm/hooks/useGiftCardBalance.js +1 -1
- package/dist/esm/hooks/useOrderValidate.js +1 -1
- package/dist/esm/hooks/usePunch.js +1 -1
- package/dist/esm/slices/alerts.js +1 -1
- package/dist/esm/slices/arrivals.js +32 -36
- package/dist/esm/slices/checkout.d.ts +1 -1
- package/dist/esm/slices/checkout.js +329 -351
- package/dist/esm/slices/config.js +79 -81
- package/dist/esm/slices/customer.js +17 -19
- package/dist/esm/slices/customerIdentify.js +16 -18
- package/dist/esm/slices/deals.js +16 -18
- package/dist/esm/slices/discounts.js +19 -21
- package/dist/esm/slices/errorAlerts.d.ts +1 -1
- package/dist/esm/slices/errorAlerts.js +34 -38
- package/dist/esm/slices/kds.js +253 -275
- package/dist/esm/slices/kiosk.d.ts +1 -1
- package/dist/esm/slices/kiosk.js +50 -52
- package/dist/esm/slices/menu.js +24 -26
- package/dist/esm/slices/menuPages.js +16 -18
- package/dist/esm/slices/notifications.js +1 -1
- package/dist/esm/slices/offlineAuths.js +32 -36
- package/dist/esm/slices/order.js +25 -27
- package/dist/esm/slices/pos.js +59 -65
- package/dist/esm/slices/punches.d.ts +1 -1
- package/dist/esm/slices/punches.js +16 -18
- package/dist/esm/slices/refund.js +54 -60
- package/dist/esm/slices/settings.js +56 -62
- package/dist/esm/slices/surcharges.js +19 -21
- package/dist/esm/slices/taxes.js +19 -21
- package/dist/esm/utils/punches.js +1 -1
- package/package.json +82 -75
- package/dist/.DS_Store +0 -0
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { CartItemGroup } from '@open-tender/types';
|
|
2
|
+
import { ItemGroupProps } from '@open-tender/ui';
|
|
3
|
+
import { ReactNode } from 'react';
|
|
4
|
+
declare const ItemGroup: ({ group, content, children }: {
|
|
5
|
+
group: CartItemGroup;
|
|
6
|
+
content: ReactNode;
|
|
7
|
+
children?: (props: ItemGroupProps) => ReactNode;
|
|
8
|
+
}) => ReactNode;
|
|
9
|
+
export default ItemGroup;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var ui_1 = require("@open-tender/ui");
|
|
4
|
+
var utils_1 = require("@open-tender/utils");
|
|
5
|
+
var hooks_1 = require("../app/hooks");
|
|
6
|
+
var slices_1 = require("../slices");
|
|
7
|
+
var ItemGroup = function (_a) {
|
|
8
|
+
var group = _a.group, content = _a.content, _b = _a.children, children = _b === void 0 ? ui_1.ItemGroup : _b;
|
|
9
|
+
var _c = (0, hooks_1.useAppSelector)(slices_1.selectKioskConfig), config = _c.itemGroup, errorMessageConfig = _c.errorMessage, successMessageConfig = _c.successMessage;
|
|
10
|
+
var modifierGroup = (0, utils_1.useModifierGroup)(group);
|
|
11
|
+
return children({
|
|
12
|
+
config: config,
|
|
13
|
+
group: modifierGroup,
|
|
14
|
+
children: content,
|
|
15
|
+
errorMessageConfig: errorMessageConfig,
|
|
16
|
+
successMessageConfig: successMessageConfig
|
|
17
|
+
});
|
|
18
|
+
};
|
|
19
|
+
exports.default = ItemGroup;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { CartItemGroups, CartLevels } from '@open-tender/types';
|
|
2
|
+
import { Handlers, ItemGroupsProps } from '@open-tender/ui';
|
|
3
|
+
import React, { ReactNode } from 'react';
|
|
4
|
+
declare const ItemGroups: ({ handlers, groups, levels, excludeSize, children }: {
|
|
5
|
+
handlers: Handlers;
|
|
6
|
+
groups: CartItemGroups;
|
|
7
|
+
levels: CartLevels;
|
|
8
|
+
excludeSize?: boolean;
|
|
9
|
+
children?: (props: ItemGroupsProps) => ReactNode;
|
|
10
|
+
}) => React.ReactNode;
|
|
11
|
+
export default ItemGroups;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var tslib_1 = require("tslib");
|
|
4
|
+
var ui_1 = require("@open-tender/ui");
|
|
5
|
+
var react_1 = tslib_1.__importDefault(require("react"));
|
|
6
|
+
var hooks_1 = require("../app/hooks");
|
|
7
|
+
var slices_1 = require("../slices");
|
|
8
|
+
var ItemGroup_1 = tslib_1.__importDefault(require("./ItemGroup"));
|
|
9
|
+
var ItemOption_1 = tslib_1.__importDefault(require("./ItemOption"));
|
|
10
|
+
var ItemGroups = function (_a) {
|
|
11
|
+
var handlers = _a.handlers, groups = _a.groups, levels = _a.levels, _b = _a.excludeSize, excludeSize = _b === void 0 ? true : _b, _c = _a.children, children = _c === void 0 ? ui_1.ItemGroups : _c;
|
|
12
|
+
var config = (0, hooks_1.useAppSelector)(slices_1.selectKioskConfig).itemGroups;
|
|
13
|
+
var renderItemOption = function (group, option) { return (react_1.default.createElement(ItemOption_1.default, { levels: levels, handlers: handlers, group: group, option: option, children: ui_1.ItemOption })); };
|
|
14
|
+
var renderItemGroup = function (group, content) { return (react_1.default.createElement(ItemGroup_1.default, { group: group, content: content, children: ui_1.ItemGroup })); };
|
|
15
|
+
if (!config)
|
|
16
|
+
return null;
|
|
17
|
+
return children({
|
|
18
|
+
config: config,
|
|
19
|
+
groups: groups,
|
|
20
|
+
excludeSize: excludeSize,
|
|
21
|
+
renderItemOption: renderItemOption,
|
|
22
|
+
renderItemGroup: renderItemGroup
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
exports.default = ItemGroups;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { CartItemGroup, CartItemOption, CartLevels } from '@open-tender/types';
|
|
2
|
+
import { Handlers, ItemOptionProps } from '@open-tender/ui';
|
|
3
|
+
import { ReactNode } from 'react';
|
|
4
|
+
declare const ItemOption: ({ handlers, group, option, levels, children }: {
|
|
5
|
+
handlers: Handlers;
|
|
6
|
+
group: CartItemGroup;
|
|
7
|
+
option: CartItemOption;
|
|
8
|
+
levels: CartLevels;
|
|
9
|
+
children?: (props: ItemOptionProps) => ReactNode;
|
|
10
|
+
}) => ReactNode;
|
|
11
|
+
export default ItemOption;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var ui_1 = require("@open-tender/ui");
|
|
4
|
+
var utils_1 = require("@open-tender/utils");
|
|
5
|
+
var hooks_1 = require("../app/hooks");
|
|
6
|
+
var slices_1 = require("../slices");
|
|
7
|
+
var ItemOption = function (_a) {
|
|
8
|
+
var handlers = _a.handlers, group = _a.group, option = _a.option, levels = _a.levels, _b = _a.children, children = _b === void 0 ? ui_1.ItemOption : _b;
|
|
9
|
+
var dispatch = (0, hooks_1.useAppDispatch)();
|
|
10
|
+
var _c = (0, hooks_1.useAppSelector)(slices_1.selectKioskConfig), config = _c.itemOption, cardConfig = _c.card;
|
|
11
|
+
var toggleOption = handlers.toggleOption, incrementOption = handlers.incrementOption, decrementOption = handlers.decrementOption, setOptionQuantity = handlers.setOptionQuantity;
|
|
12
|
+
var allergenAlerts = [];
|
|
13
|
+
var modifier = (0, utils_1.useModifier)(group, option, levels, toggleOption, incrementOption, decrementOption, setOptionQuantity, allergenAlerts);
|
|
14
|
+
var showNested = function () {
|
|
15
|
+
// dispatch(setCurrentOption(modifier))
|
|
16
|
+
var currentOption = {
|
|
17
|
+
groupId: group.id,
|
|
18
|
+
optionId: option.id,
|
|
19
|
+
levels: modifier.updatedLevels
|
|
20
|
+
};
|
|
21
|
+
dispatch((0, slices_1.setCurrentOption)(currentOption));
|
|
22
|
+
};
|
|
23
|
+
return children({
|
|
24
|
+
config: config,
|
|
25
|
+
handlers: { showNested: showNested },
|
|
26
|
+
group: group,
|
|
27
|
+
option: modifier,
|
|
28
|
+
cardConfig: cardConfig
|
|
29
|
+
});
|
|
30
|
+
};
|
|
31
|
+
exports.default = ItemOption;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { CartItemGroups, CartLevels } from '@open-tender/types';
|
|
2
|
+
import { Handlers, ItemSelectionsProps } from '@open-tender/ui';
|
|
3
|
+
import React, { ReactNode } from 'react';
|
|
4
|
+
declare const ItemSelections: ({ handlers, groups, levels, isIncomplete, children }: {
|
|
5
|
+
handlers: Handlers;
|
|
6
|
+
groups: CartItemGroups;
|
|
7
|
+
levels: CartLevels;
|
|
8
|
+
isIncomplete: boolean;
|
|
9
|
+
children?: (props: ItemSelectionsProps) => ReactNode;
|
|
10
|
+
}) => React.ReactNode;
|
|
11
|
+
export default ItemSelections;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var tslib_1 = require("tslib");
|
|
4
|
+
var ui_1 = require("@open-tender/ui");
|
|
5
|
+
var react_1 = tslib_1.__importDefault(require("react"));
|
|
6
|
+
var hooks_1 = require("../app/hooks");
|
|
7
|
+
var slices_1 = require("../slices");
|
|
8
|
+
var ErrorMessage_1 = tslib_1.__importDefault(require("./ErrorMessage"));
|
|
9
|
+
var ItemOption_1 = tslib_1.__importDefault(require("./ItemOption"));
|
|
10
|
+
var ItemSelections = function (_a) {
|
|
11
|
+
var handlers = _a.handlers, groups = _a.groups, levels = _a.levels, isIncomplete = _a.isIncomplete, _b = _a.children, children = _b === void 0 ? ui_1.ItemSelections : _b;
|
|
12
|
+
var config = (0, hooks_1.useAppSelector)(slices_1.selectKioskConfig).itemSelections;
|
|
13
|
+
var renderErrorMessage = function (icon, children) { return (react_1.default.createElement(ErrorMessage_1.default, { icon: icon, content: children, children: ui_1.ErrorMessage })); };
|
|
14
|
+
var renderItemOption = function (group, option) { return (react_1.default.createElement(ItemOption_1.default, { levels: levels, handlers: handlers, group: group, option: option, children: ui_1.ItemOption })); };
|
|
15
|
+
return children({
|
|
16
|
+
config: config,
|
|
17
|
+
groups: groups,
|
|
18
|
+
isIncomplete: isIncomplete,
|
|
19
|
+
renderErrorMessage: renderErrorMessage,
|
|
20
|
+
renderItemOption: renderItemOption
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
exports.default = ItemSelections;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { LabelProps, Styles } from '@open-tender/ui';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
declare const Label: ({ content, label, isRequired, style, children }: {
|
|
4
|
+
content: ReactNode;
|
|
5
|
+
label?: string;
|
|
6
|
+
isRequired?: boolean;
|
|
7
|
+
style?: Styles;
|
|
8
|
+
children?: (props: LabelProps) => ReactNode;
|
|
9
|
+
}) => ReactNode;
|
|
10
|
+
export default Label;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var ui_1 = require("@open-tender/ui");
|
|
4
|
+
var hooks_1 = require("../app/hooks");
|
|
5
|
+
var slices_1 = require("../slices");
|
|
6
|
+
var Label = function (_a) {
|
|
7
|
+
var content = _a.content, label = _a.label, isRequired = _a.isRequired, style = _a.style, _b = _a.children, children = _b === void 0 ? ui_1.Label : _b;
|
|
8
|
+
var config = (0, hooks_1.useAppSelector)(slices_1.selectKioskConfig).label;
|
|
9
|
+
return children({ config: config, label: label, isRequired: isRequired, style: style, children: content });
|
|
10
|
+
};
|
|
11
|
+
exports.default = Label;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { LoaderProps, Styles } from '@open-tender/ui';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
declare const Loader: ({ text, style, children }: {
|
|
4
|
+
text?: string;
|
|
5
|
+
style?: Styles;
|
|
6
|
+
children?: (props: LoaderProps) => ReactNode;
|
|
7
|
+
}) => ReactNode;
|
|
8
|
+
export default Loader;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var ui_1 = require("@open-tender/ui");
|
|
4
|
+
var hooks_1 = require("../app/hooks");
|
|
5
|
+
var slices_1 = require("../slices");
|
|
6
|
+
var Loader = function (_a) {
|
|
7
|
+
var text = _a.text, style = _a.style, _b = _a.children, children = _b === void 0 ? ui_1.Loader : _b;
|
|
8
|
+
var config = (0, hooks_1.useAppSelector)(slices_1.selectKioskConfig).loader;
|
|
9
|
+
return children({ config: config, text: text, style: style });
|
|
10
|
+
};
|
|
11
|
+
exports.default = Loader;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { MadeForNotesProps } from '@open-tender/ui';
|
|
2
|
+
import React, { ReactNode } from 'react';
|
|
3
|
+
declare const MadeForNotes: ({ subtitle, hasMadeFor, madeFor, setMadeFor, hasNotes, notes, setNotes, close, children }: {
|
|
4
|
+
subtitle: string;
|
|
5
|
+
hasMadeFor: boolean;
|
|
6
|
+
madeFor: string | null;
|
|
7
|
+
setMadeFor: (madeFor: string) => void;
|
|
8
|
+
hasNotes: boolean;
|
|
9
|
+
notes: string | null;
|
|
10
|
+
setNotes: (notes: string) => void;
|
|
11
|
+
close: () => void;
|
|
12
|
+
children?: (props: MadeForNotesProps) => ReactNode;
|
|
13
|
+
}) => React.ReactNode;
|
|
14
|
+
export default MadeForNotes;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var tslib_1 = require("tslib");
|
|
4
|
+
var ui_1 = require("@open-tender/ui");
|
|
5
|
+
var react_1 = tslib_1.__importDefault(require("react"));
|
|
6
|
+
var hooks_1 = require("../app/hooks");
|
|
7
|
+
var slices_1 = require("../slices");
|
|
8
|
+
var Input_1 = tslib_1.__importDefault(require("./Input"));
|
|
9
|
+
var TextArea_1 = tslib_1.__importDefault(require("./TextArea"));
|
|
10
|
+
var MadeForNotes = function (_a) {
|
|
11
|
+
var subtitle = _a.subtitle, hasMadeFor = _a.hasMadeFor, madeFor = _a.madeFor, setMadeFor = _a.setMadeFor, hasNotes = _a.hasNotes, notes = _a.notes, setNotes = _a.setNotes, close = _a.close, _b = _a.children, children = _b === void 0 ? ui_1.MadeForNotes : _b;
|
|
12
|
+
var _c = (0, hooks_1.useAppSelector)(slices_1.selectKioskConfig), config = _c.madeForNotes, modalContentConfig = _c.modalContent;
|
|
13
|
+
var handlers = { submit: close };
|
|
14
|
+
var renderInput = function (label, value, isRequired, style) { return (react_1.default.createElement(Input_1.default, { label: label, setValue: setMadeFor, value: value, isRequired: isRequired, style: style, children: ui_1.Input })); };
|
|
15
|
+
var renderTextArea = function (label, value, isRequired, style) { return (react_1.default.createElement(TextArea_1.default, { label: label, setValue: setNotes, value: value, isRequired: isRequired, style: style, children: ui_1.Input })); };
|
|
16
|
+
return children({
|
|
17
|
+
config: config,
|
|
18
|
+
handlers: handlers,
|
|
19
|
+
subtitle: subtitle,
|
|
20
|
+
hasMadeFor: hasMadeFor,
|
|
21
|
+
madeFor: madeFor,
|
|
22
|
+
hasNotes: hasNotes,
|
|
23
|
+
notes: notes,
|
|
24
|
+
modalContentConfig: modalContentConfig,
|
|
25
|
+
renderInput: renderInput,
|
|
26
|
+
renderTextArea: renderTextArea
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
exports.default = MadeForNotes;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import { MenuCategory as MenuCategoryType } from '@open-tender/types';
|
|
3
2
|
import { MenuCategoryProps } from '@open-tender/ui';
|
|
3
|
+
import { ReactNode } from 'react';
|
|
4
4
|
declare const MenuCategory: ({ category, navigate, children }: {
|
|
5
5
|
category: MenuCategoryType;
|
|
6
6
|
navigate: (route: string) => void;
|
|
7
|
-
children
|
|
8
|
-
}) =>
|
|
7
|
+
children?: (props: MenuCategoryProps) => ReactNode;
|
|
8
|
+
}) => ReactNode;
|
|
9
9
|
export default MenuCategory;
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
var
|
|
4
|
-
var
|
|
3
|
+
var ui_1 = require("@open-tender/ui");
|
|
4
|
+
var hooks_1 = require("../app/hooks");
|
|
5
|
+
var hooks_2 = require("../hooks");
|
|
5
6
|
var slices_1 = require("../slices");
|
|
6
7
|
var MenuCategory = function (_a) {
|
|
7
|
-
var category = _a.category, navigate = _a.navigate,
|
|
8
|
-
var dispatch = (0,
|
|
9
|
-
var config = (0,
|
|
10
|
-
var imageUrl = (0,
|
|
8
|
+
var category = _a.category, navigate = _a.navigate, _b = _a.children, children = _b === void 0 ? ui_1.MenuCategory : _b;
|
|
9
|
+
var dispatch = (0, hooks_1.useAppDispatch)();
|
|
10
|
+
var config = (0, hooks_1.useAppSelector)(slices_1.selectKioskConfig).menuCategory;
|
|
11
|
+
var imageUrl = (0, hooks_2.useKioskImageUrl)(category);
|
|
11
12
|
var browse = function () {
|
|
12
13
|
dispatch((0, slices_1.setCurrentCategory)(category));
|
|
13
14
|
navigate('/menu/category');
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { MenuItem } from '@open-tender/types';
|
|
2
|
+
import { MenuOtherProps } from '@open-tender/ui';
|
|
3
|
+
import { ReactNode } from 'react';
|
|
4
|
+
declare const MenuOther: ({ title, subtitle, path, item, children, navigate }: {
|
|
5
|
+
title: string;
|
|
6
|
+
subtitle: string;
|
|
7
|
+
path: string;
|
|
8
|
+
item: MenuItem;
|
|
9
|
+
navigate: (route: string) => void;
|
|
10
|
+
children?: (props: MenuOtherProps) => ReactNode;
|
|
11
|
+
}) => ReactNode;
|
|
12
|
+
export default MenuOther;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var ui_1 = require("@open-tender/ui");
|
|
4
|
+
var hooks_1 = require("../app/hooks");
|
|
5
|
+
var slices_1 = require("../slices");
|
|
6
|
+
var MenuOther = function (_a) {
|
|
7
|
+
var title = _a.title, subtitle = _a.subtitle, path = _a.path, item = _a.item, _b = _a.children, children = _b === void 0 ? ui_1.MenuOther : _b, navigate = _a.navigate;
|
|
8
|
+
var dispatch = (0, hooks_1.useAppDispatch)();
|
|
9
|
+
var menuCategory = (0, hooks_1.useAppSelector)(slices_1.selectKioskConfig).menuCategory;
|
|
10
|
+
var browse = function () {
|
|
11
|
+
dispatch((0, slices_1.setCurrentCategory)(null));
|
|
12
|
+
navigate(path);
|
|
13
|
+
};
|
|
14
|
+
var handlers = { browse: browse };
|
|
15
|
+
return children({ config: menuCategory, handlers: handlers, title: title, subtitle: subtitle, item: item });
|
|
16
|
+
};
|
|
17
|
+
exports.default = MenuOther;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ModalProps } from '@open-tender/ui';
|
|
2
|
+
import React, { ReactNode } from 'react';
|
|
3
|
+
declare const Modal: ({ show, close, content, children }: {
|
|
4
|
+
show: boolean;
|
|
5
|
+
close: () => void;
|
|
6
|
+
content: ReactNode;
|
|
7
|
+
children?: (props: ModalProps) => ReactNode;
|
|
8
|
+
}) => React.JSX.Element | null;
|
|
9
|
+
export default Modal;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var tslib_1 = require("tslib");
|
|
4
|
+
var ui_1 = require("@open-tender/ui");
|
|
5
|
+
var react_1 = tslib_1.__importDefault(require("react"));
|
|
6
|
+
var react_transition_group_1 = require("react-transition-group");
|
|
7
|
+
var hooks_1 = require("../app/hooks");
|
|
8
|
+
var slices_1 = require("../slices");
|
|
9
|
+
var Modal = function (_a) {
|
|
10
|
+
var show = _a.show, close = _a.close, content = _a.content, _b = _a.children, children = _b === void 0 ? ui_1.Modal : _b;
|
|
11
|
+
var config = (0, hooks_1.useAppSelector)(slices_1.selectKioskConfig).modal;
|
|
12
|
+
var handlers = { close: close };
|
|
13
|
+
if (!config)
|
|
14
|
+
return null;
|
|
15
|
+
return (react_1.default.createElement(react_transition_group_1.TransitionGroup, { component: null }, show ? (react_1.default.createElement(react_transition_group_1.CSSTransition, { key: "modal", classNames: "md", timeout: { enter: 250, exit: 250 } }, children({ config: config, handlers: handlers, children: content }))) : null));
|
|
16
|
+
};
|
|
17
|
+
exports.default = Modal;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ModalContentProps, Styles } from '@open-tender/ui';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
declare const ModalContent: ({ title, subtitle, content, submit, submitText, cancel, cancelText, style, children }: {
|
|
4
|
+
title: string;
|
|
5
|
+
subtitle?: string | null;
|
|
6
|
+
content: ReactNode;
|
|
7
|
+
submit?: () => void;
|
|
8
|
+
submitText?: string;
|
|
9
|
+
cancel: () => void;
|
|
10
|
+
cancelText?: string;
|
|
11
|
+
style?: Styles;
|
|
12
|
+
children?: (props: ModalContentProps) => ReactNode;
|
|
13
|
+
}) => ReactNode;
|
|
14
|
+
export default ModalContent;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var ui_1 = require("@open-tender/ui");
|
|
4
|
+
var hooks_1 = require("../app/hooks");
|
|
5
|
+
var slices_1 = require("../slices");
|
|
6
|
+
var ModalContent = function (_a) {
|
|
7
|
+
var title = _a.title, subtitle = _a.subtitle, content = _a.content, submit = _a.submit, submitText = _a.submitText, cancel = _a.cancel, cancelText = _a.cancelText, style = _a.style, _b = _a.children, children = _b === void 0 ? ui_1.ModalContent : _b;
|
|
8
|
+
var config = (0, hooks_1.useAppSelector)(slices_1.selectKioskConfig).modalContent;
|
|
9
|
+
return children({
|
|
10
|
+
config: config,
|
|
11
|
+
title: title,
|
|
12
|
+
subtitle: subtitle,
|
|
13
|
+
children: content,
|
|
14
|
+
submit: submit,
|
|
15
|
+
submitText: submitText,
|
|
16
|
+
cancel: cancel,
|
|
17
|
+
cancelText: cancelText,
|
|
18
|
+
style: style
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
exports.default = ModalContent;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ModalHeaderProps } from '@open-tender/ui';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
declare const ModalHeader: ({ title, subtitle, children }: {
|
|
4
|
+
title: string;
|
|
5
|
+
subtitle?: string;
|
|
6
|
+
children?: (props: ModalHeaderProps) => ReactNode;
|
|
7
|
+
}) => ReactNode;
|
|
8
|
+
export default ModalHeader;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var ui_1 = require("@open-tender/ui");
|
|
4
|
+
var hooks_1 = require("../app/hooks");
|
|
5
|
+
var slices_1 = require("../slices");
|
|
6
|
+
var ModalHeader = function (_a) {
|
|
7
|
+
var title = _a.title, subtitle = _a.subtitle, _b = _a.children, children = _b === void 0 ? ui_1.ModalHeader : _b;
|
|
8
|
+
var config = (0, hooks_1.useAppSelector)(slices_1.selectKioskConfig).modalHeader;
|
|
9
|
+
return children({ config: config, title: title, subtitle: subtitle });
|
|
10
|
+
};
|
|
11
|
+
exports.default = ModalHeader;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { NutritionalInfo as NutritionalInfoType } from '@open-tender/types';
|
|
2
|
+
import { NutritionalInfoProps } from '@open-tender/ui';
|
|
3
|
+
import { ReactNode } from 'react';
|
|
4
|
+
declare const NutritionalInfo: ({ title, subtitle, nutritionalInfo, close, children }: {
|
|
5
|
+
title: string;
|
|
6
|
+
subtitle?: string;
|
|
7
|
+
nutritionalInfo: NutritionalInfoType;
|
|
8
|
+
close: () => void;
|
|
9
|
+
children?: (props: NutritionalInfoProps) => ReactNode;
|
|
10
|
+
}) => ReactNode;
|
|
11
|
+
export default NutritionalInfo;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var ui_1 = require("@open-tender/ui");
|
|
4
|
+
var hooks_1 = require("../app/hooks");
|
|
5
|
+
var slices_1 = require("../slices");
|
|
6
|
+
var NutritionalInfo = function (_a) {
|
|
7
|
+
var title = _a.title, subtitle = _a.subtitle, nutritionalInfo = _a.nutritionalInfo, close = _a.close, _b = _a.children, children = _b === void 0 ? ui_1.NutritionalInfo : _b;
|
|
8
|
+
var _c = (0, hooks_1.useAppSelector)(slices_1.selectKioskConfig), config = _c.nutritionalInfo, modalContentConfig = _c.modalContent;
|
|
9
|
+
var handlers = { close: close };
|
|
10
|
+
return children({
|
|
11
|
+
config: config,
|
|
12
|
+
handlers: handlers,
|
|
13
|
+
title: title,
|
|
14
|
+
subtitle: subtitle,
|
|
15
|
+
nutritionalInfo: nutritionalInfo,
|
|
16
|
+
modalContentConfig: modalContentConfig
|
|
17
|
+
});
|
|
18
|
+
};
|
|
19
|
+
exports.default = NutritionalInfo;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { CartItemOption, CartLevels } from '@open-tender/types';
|
|
2
|
+
import { Handlers, OptionProps } from '@open-tender/ui';
|
|
3
|
+
import React, { ReactNode } from 'react';
|
|
4
|
+
declare const Option: ({ option, levels, handlers, close, children }: {
|
|
5
|
+
option: CartItemOption | null;
|
|
6
|
+
levels: CartLevels | null;
|
|
7
|
+
handlers: Handlers;
|
|
8
|
+
close: () => void;
|
|
9
|
+
children?: (props: OptionProps) => ReactNode;
|
|
10
|
+
}) => React.ReactNode;
|
|
11
|
+
export default Option;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var tslib_1 = require("tslib");
|
|
4
|
+
var ui_1 = require("@open-tender/ui");
|
|
5
|
+
var react_1 = tslib_1.__importDefault(require("react"));
|
|
6
|
+
var hooks_1 = require("../app/hooks");
|
|
7
|
+
var slices_1 = require("../slices");
|
|
8
|
+
var ItemGroups_1 = tslib_1.__importDefault(require("./ItemGroups"));
|
|
9
|
+
var Option = function (_a) {
|
|
10
|
+
var option = _a.option, levels = _a.levels, handlers = _a.handlers, close = _a.close, _b = _a.children, children = _b === void 0 ? ui_1.Option : _b;
|
|
11
|
+
var _c = (0, hooks_1.useAppSelector)(slices_1.selectKioskConfig), config = _c.option, modalContentConfig = _c.modalContent;
|
|
12
|
+
var handlersOption = tslib_1.__assign(tslib_1.__assign({}, handlers), { close: close });
|
|
13
|
+
if (!config || !option || !levels)
|
|
14
|
+
return null;
|
|
15
|
+
var renderItemGroups = function (excludeSize) { return (react_1.default.createElement(ItemGroups_1.default, { levels: levels, handlers: handlersOption, groups: option.groups, excludeSize: excludeSize, children: ui_1.ItemGroups })); };
|
|
16
|
+
return children({
|
|
17
|
+
config: config,
|
|
18
|
+
handlers: handlersOption,
|
|
19
|
+
option: option,
|
|
20
|
+
modalContentConfig: modalContentConfig,
|
|
21
|
+
renderItemGroups: renderItemGroups
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
exports.default = Option;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Order } from '@open-tender/types';
|
|
2
|
+
import { OrderCardProps } from '@open-tender/ui';
|
|
3
|
+
import React, { ReactNode } from 'react';
|
|
4
|
+
declare const OrderCard: ({ order, navigate, children }: {
|
|
5
|
+
order: Order;
|
|
6
|
+
navigate: (route: string) => void;
|
|
7
|
+
children?: (props: OrderCardProps) => ReactNode;
|
|
8
|
+
}) => React.ReactNode;
|
|
9
|
+
export default OrderCard;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var tslib_1 = require("tslib");
|
|
4
|
+
var ui_1 = require("@open-tender/ui");
|
|
5
|
+
var react_1 = tslib_1.__importStar(require("react"));
|
|
6
|
+
var hooks_1 = require("../app/hooks");
|
|
7
|
+
var hooks_2 = require("../hooks");
|
|
8
|
+
var slices_1 = require("../slices");
|
|
9
|
+
var ErrorMessage_1 = tslib_1.__importDefault(require("./ErrorMessage"));
|
|
10
|
+
var OrderCard = function (_a) {
|
|
11
|
+
var order = _a.order, navigate = _a.navigate, _b = _a.children, children = _b === void 0 ? ui_1.OrderCard : _b;
|
|
12
|
+
var dispatch = (0, hooks_1.useAppDispatch)();
|
|
13
|
+
var _c = (0, react_1.useState)(null), errMsg = _c[0], setErrMsg = _c[1];
|
|
14
|
+
var _d = (0, react_1.useState)(false), isReordering = _d[0], setIsReordering = _d[1];
|
|
15
|
+
var _e = (0, hooks_1.useAppSelector)(slices_1.selectKioskConfig), config = _e.orderCard, cardConfig = _e.card;
|
|
16
|
+
var _f = (0, hooks_1.useAppSelector)(slices_1.selectOrder), loading = _f.loading, error = _f.error;
|
|
17
|
+
var isLoading = loading === 'pending';
|
|
18
|
+
var _g = (0, hooks_2.useOrder)(order), itemImages = _g.itemImages, itemNames = _g.itemNames, orderNo = _g.orderNo, title = _g.title, subtitle = _g.subtitle;
|
|
19
|
+
var view = function () {
|
|
20
|
+
return;
|
|
21
|
+
};
|
|
22
|
+
var reorder = function () {
|
|
23
|
+
setErrMsg(null);
|
|
24
|
+
setIsReordering(true);
|
|
25
|
+
dispatch((0, slices_1.reorder)(order.cart));
|
|
26
|
+
};
|
|
27
|
+
var handlers = { view: view, reorder: reorder };
|
|
28
|
+
(0, react_1.useEffect)(function () {
|
|
29
|
+
if (isReordering && !isLoading) {
|
|
30
|
+
setIsReordering(false);
|
|
31
|
+
if (error) {
|
|
32
|
+
setErrMsg(error.detail);
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
navigate('/checkout/details');
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}, [isLoading, isReordering, error, navigate]);
|
|
39
|
+
var renderErrorMessage = function (errMsg) { return (react_1.default.createElement(ErrorMessage_1.default, { content: errMsg, children: ui_1.ErrorMessage })); };
|
|
40
|
+
if (!config)
|
|
41
|
+
return null;
|
|
42
|
+
return children({
|
|
43
|
+
config: config,
|
|
44
|
+
handlers: handlers,
|
|
45
|
+
isReordering: isReordering,
|
|
46
|
+
errMsg: errMsg,
|
|
47
|
+
cardConfig: cardConfig,
|
|
48
|
+
subtitle: subtitle,
|
|
49
|
+
title: title,
|
|
50
|
+
orderNo: orderNo,
|
|
51
|
+
itemNames: itemNames,
|
|
52
|
+
itemImages: itemImages,
|
|
53
|
+
renderErrorMessage: renderErrorMessage
|
|
54
|
+
});
|
|
55
|
+
};
|
|
56
|
+
exports.default = OrderCard;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { OrderItem } from '@open-tender/types';
|
|
2
|
+
import { PointsRewardProps } from '@open-tender/ui';
|
|
3
|
+
import React, { ReactNode } from 'react';
|
|
4
|
+
declare const PointsReward: ({ item, callback, children }: {
|
|
5
|
+
item: OrderItem;
|
|
6
|
+
callback?: () => void;
|
|
7
|
+
isLast?: boolean;
|
|
8
|
+
children?: (props: PointsRewardProps) => ReactNode;
|
|
9
|
+
}) => React.ReactNode;
|
|
10
|
+
export default PointsReward;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var tslib_1 = require("tslib");
|
|
4
|
+
var ui_1 = require("@open-tender/ui");
|
|
5
|
+
var react_1 = tslib_1.__importDefault(require("react"));
|
|
6
|
+
var hooks_1 = require("../app/hooks");
|
|
7
|
+
var hooks_2 = require("../hooks");
|
|
8
|
+
var slices_1 = require("../slices");
|
|
9
|
+
var Quantity_1 = tslib_1.__importDefault(require("./Quantity"));
|
|
10
|
+
var PointsReward = function (_a) {
|
|
11
|
+
var _b;
|
|
12
|
+
var item = _a.item, callback = _a.callback, _c = _a.children, children = _c === void 0 ? ui_1.PointsReward : _c;
|
|
13
|
+
var dispatch = (0, hooks_1.useAppDispatch)();
|
|
14
|
+
var _d = (0, hooks_1.useAppSelector)(slices_1.selectKioskConfig), config = _d.pointsReward, successMessageConfig = _d.successMessage, cardConfig = _d.card;
|
|
15
|
+
var checkPoints = (0, hooks_1.useAppSelector)(slices_1.selectPosCheckout).points;
|
|
16
|
+
var _e = (0, hooks_2.useCustomerRewards)(), points = _e.points, pointsRemaining = _e.pointsRemaining;
|
|
17
|
+
if (!item.points || item.points.index === undefined || !points)
|
|
18
|
+
return null;
|
|
19
|
+
var _f = item.points, index = _f.index, per = _f.per;
|
|
20
|
+
// const appliedIndices = checkPoints.map(i => i.index)
|
|
21
|
+
// const isApplied = appliedIndices.includes(index)
|
|
22
|
+
var itemPointsApplied = ((_b = checkPoints.find(function (i) { return i.index === index; })) === null || _b === void 0 ? void 0 : _b.points) || 0;
|
|
23
|
+
var apply = function () {
|
|
24
|
+
var currentItem = checkPoints.find(function (i) { return i.index === index; });
|
|
25
|
+
var currentPoints = currentItem ? currentItem.points : 0;
|
|
26
|
+
var updatedItem = {
|
|
27
|
+
index: index,
|
|
28
|
+
points: currentPoints + per
|
|
29
|
+
};
|
|
30
|
+
var otherItems = checkPoints.filter(function (i) { return i.index !== index; });
|
|
31
|
+
var updatedPoints = tslib_1.__spreadArray(tslib_1.__spreadArray([], otherItems, true), [updatedItem], false);
|
|
32
|
+
dispatch((0, slices_1.setPoints)(updatedPoints));
|
|
33
|
+
// dispatch(validatePosOrder())
|
|
34
|
+
if (callback)
|
|
35
|
+
callback();
|
|
36
|
+
};
|
|
37
|
+
var remove = function () {
|
|
38
|
+
var currentItem = checkPoints.find(function (i) { return i.index === index; });
|
|
39
|
+
var currentPoints = currentItem ? currentItem.points : 0;
|
|
40
|
+
var updatedItem = {
|
|
41
|
+
index: index,
|
|
42
|
+
points: currentPoints - per
|
|
43
|
+
};
|
|
44
|
+
var otherItems = checkPoints.filter(function (i) { return i.index !== index; });
|
|
45
|
+
var updatedPoints = updatedItem.points > 0 ? tslib_1.__spreadArray(tslib_1.__spreadArray([], otherItems, true), [updatedItem], false) : otherItems;
|
|
46
|
+
dispatch((0, slices_1.setPoints)(updatedPoints));
|
|
47
|
+
// dispatch(validatePosOrder())
|
|
48
|
+
if (callback)
|
|
49
|
+
callback();
|
|
50
|
+
};
|
|
51
|
+
var renderQuantity = function (quantity, incrementDisabled) { return (react_1.default.createElement(Quantity_1.default, { quantity: quantity, increment: apply, incrementDisabled: incrementDisabled, decrement: remove, fontSize: 24, iconSize: 28, children: ui_1.Quantity })); };
|
|
52
|
+
return children({
|
|
53
|
+
config: config,
|
|
54
|
+
item: item,
|
|
55
|
+
itemPointsApplied: itemPointsApplied,
|
|
56
|
+
pointsRemaining: pointsRemaining,
|
|
57
|
+
successMessageConfig: successMessageConfig,
|
|
58
|
+
cardConfig: cardConfig,
|
|
59
|
+
renderQuantity: renderQuantity
|
|
60
|
+
});
|
|
61
|
+
};
|
|
62
|
+
exports.default = PointsReward;
|