@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.
Files changed (276) hide show
  1. package/LICENSE.md +21 -21
  2. package/README.md +3 -3
  3. package/dist/cjs/components/Allergen.d.ts +8 -0
  4. package/dist/cjs/components/Allergen.js +11 -0
  5. package/dist/cjs/components/Applied.d.ts +6 -0
  6. package/dist/cjs/components/Applied.js +11 -0
  7. package/dist/cjs/components/ButtonLink.d.ts +9 -0
  8. package/dist/cjs/components/ButtonLink.js +11 -0
  9. package/dist/cjs/components/Card.d.ts +7 -0
  10. package/dist/cjs/components/Card.js +11 -0
  11. package/dist/cjs/components/Cart.d.ts +7 -0
  12. package/dist/cjs/components/Cart.js +41 -0
  13. package/dist/cjs/components/CartItem.d.ts +11 -0
  14. package/dist/cjs/components/CartItem.js +31 -0
  15. package/dist/cjs/components/CartUpsellItem.d.ts +10 -0
  16. package/dist/cjs/components/CartUpsellItem.js +25 -0
  17. package/dist/cjs/components/CartUpsells.d.ts +6 -0
  18. package/dist/cjs/components/CartUpsells.js +25 -0
  19. package/dist/cjs/components/CategoryItem.d.ts +11 -0
  20. package/dist/cjs/components/CategoryItem.js +28 -0
  21. package/dist/cjs/components/CategoryNav.d.ts +7 -0
  22. package/dist/cjs/components/CategoryNav.js +26 -0
  23. package/dist/cjs/components/CategoryNavItem.d.ts +9 -0
  24. package/dist/cjs/components/CategoryNavItem.js +27 -0
  25. package/dist/cjs/components/CategoryNavOther.d.ts +9 -0
  26. package/dist/cjs/components/CategoryNavOther.js +20 -0
  27. package/dist/cjs/components/CheckTotals.d.ts +8 -0
  28. package/dist/cjs/components/CheckTotals.js +11 -0
  29. package/dist/cjs/components/Discount.d.ts +8 -0
  30. package/dist/cjs/components/Discount.js +13 -0
  31. package/dist/cjs/components/ErrorMessage.d.ts +9 -0
  32. package/dist/cjs/components/ErrorMessage.js +11 -0
  33. package/dist/cjs/components/Header.d.ts +9 -0
  34. package/dist/cjs/components/Header.js +26 -0
  35. package/dist/cjs/components/Ingredients.d.ts +10 -0
  36. package/dist/cjs/components/Ingredients.js +12 -0
  37. package/dist/cjs/components/Input.d.ts +11 -0
  38. package/dist/cjs/components/Input.js +23 -0
  39. package/dist/cjs/components/ItemGroup.d.ts +9 -0
  40. package/dist/cjs/components/ItemGroup.js +19 -0
  41. package/dist/cjs/components/ItemGroups.d.ts +11 -0
  42. package/dist/cjs/components/ItemGroups.js +25 -0
  43. package/dist/cjs/components/ItemOption.d.ts +11 -0
  44. package/dist/cjs/components/ItemOption.js +31 -0
  45. package/dist/cjs/components/ItemSelections.d.ts +11 -0
  46. package/dist/cjs/components/ItemSelections.js +23 -0
  47. package/dist/cjs/components/Label.d.ts +10 -0
  48. package/dist/cjs/components/Label.js +11 -0
  49. package/dist/cjs/components/Loader.d.ts +8 -0
  50. package/dist/cjs/components/Loader.js +11 -0
  51. package/dist/cjs/components/MadeForNotes.d.ts +14 -0
  52. package/dist/cjs/components/MadeForNotes.js +29 -0
  53. package/dist/cjs/components/MenuCategory.d.ts +3 -3
  54. package/dist/cjs/components/MenuCategory.js +7 -6
  55. package/dist/cjs/components/MenuOther.d.ts +12 -0
  56. package/dist/cjs/components/MenuOther.js +17 -0
  57. package/dist/cjs/components/Modal.d.ts +9 -0
  58. package/dist/cjs/components/Modal.js +17 -0
  59. package/dist/cjs/components/ModalContent.d.ts +14 -0
  60. package/dist/cjs/components/ModalContent.js +21 -0
  61. package/dist/cjs/components/ModalHeader.d.ts +8 -0
  62. package/dist/cjs/components/ModalHeader.js +11 -0
  63. package/dist/cjs/components/NutritionalInfo.d.ts +11 -0
  64. package/dist/cjs/components/NutritionalInfo.js +19 -0
  65. package/dist/cjs/components/Option.d.ts +11 -0
  66. package/dist/cjs/components/Option.js +24 -0
  67. package/dist/cjs/components/OrderCard.d.ts +9 -0
  68. package/dist/cjs/components/OrderCard.js +56 -0
  69. package/dist/cjs/components/PointsReward.d.ts +10 -0
  70. package/dist/cjs/components/PointsReward.js +62 -0
  71. package/dist/cjs/components/PointsRewards.d.ts +6 -0
  72. package/dist/cjs/components/PointsRewards.js +24 -0
  73. package/dist/cjs/components/PromoCode.d.ts +7 -0
  74. package/dist/cjs/components/PromoCode.js +52 -0
  75. package/dist/cjs/components/Quantity.d.ts +13 -0
  76. package/dist/cjs/components/Quantity.js +19 -0
  77. package/dist/cjs/components/Reward.d.ts +10 -0
  78. package/dist/cjs/components/Reward.js +39 -0
  79. package/dist/cjs/components/Rewards.d.ts +10 -0
  80. package/dist/cjs/components/Rewards.js +15 -0
  81. package/dist/cjs/components/SignIn.d.ts +11 -0
  82. package/dist/cjs/components/SignIn.js +37 -0
  83. package/dist/cjs/components/SignInButton.d.ts +8 -0
  84. package/dist/cjs/components/SignInButton.js +41 -0
  85. package/dist/cjs/components/SignInCheckout.d.ts +9 -0
  86. package/dist/cjs/components/SignInCheckout.js +38 -0
  87. package/dist/cjs/components/SignInOptions.d.ts +7 -0
  88. package/dist/cjs/components/SignInOptions.js +28 -0
  89. package/dist/cjs/components/SignInPhone.d.ts +7 -0
  90. package/dist/cjs/components/SignInPhone.js +59 -0
  91. package/dist/cjs/components/SignInQr.d.ts +7 -0
  92. package/dist/cjs/components/SignInQr.js +61 -0
  93. package/dist/cjs/components/SuccessMessage.d.ts +9 -0
  94. package/dist/cjs/components/SuccessMessage.js +10 -0
  95. package/dist/cjs/components/Tag.d.ts +8 -0
  96. package/dist/cjs/components/Tag.js +10 -0
  97. package/dist/cjs/components/TextArea.d.ts +11 -0
  98. package/dist/cjs/components/TextArea.js +22 -0
  99. package/dist/cjs/components/UpsellItem.d.ts +10 -0
  100. package/dist/cjs/components/UpsellItem.js +24 -0
  101. package/dist/cjs/components/Upsells.d.ts +8 -0
  102. package/dist/cjs/components/Upsells.js +25 -0
  103. package/dist/cjs/components/index.d.ts +48 -1
  104. package/dist/cjs/components/index.js +95 -1
  105. package/dist/cjs/config/index.js +1 -1
  106. package/dist/cjs/hooks/useBarcode.js +1 -1
  107. package/dist/cjs/hooks/useChipDNATender/useChipDNATender.js +1 -1
  108. package/dist/cjs/hooks/useEmployee.js +8 -4
  109. package/dist/cjs/hooks/useGiftCardBalance.js +1 -1
  110. package/dist/cjs/hooks/useOrderValidate.js +1 -1
  111. package/dist/cjs/hooks/usePunch.js +1 -1
  112. package/dist/cjs/slices/alerts.js +1 -1
  113. package/dist/cjs/slices/arrivals.js +32 -36
  114. package/dist/cjs/slices/checkout.d.ts +1 -1
  115. package/dist/cjs/slices/checkout.js +329 -351
  116. package/dist/cjs/slices/config.js +79 -81
  117. package/dist/cjs/slices/customer.js +17 -19
  118. package/dist/cjs/slices/customerIdentify.js +16 -18
  119. package/dist/cjs/slices/deals.js +16 -18
  120. package/dist/cjs/slices/discounts.js +19 -21
  121. package/dist/cjs/slices/errorAlerts.d.ts +1 -1
  122. package/dist/cjs/slices/errorAlerts.js +34 -38
  123. package/dist/cjs/slices/kds.js +253 -275
  124. package/dist/cjs/slices/kiosk.d.ts +1 -1
  125. package/dist/cjs/slices/kiosk.js +50 -52
  126. package/dist/cjs/slices/menu.js +24 -26
  127. package/dist/cjs/slices/menuPages.js +16 -18
  128. package/dist/cjs/slices/notifications.js +1 -1
  129. package/dist/cjs/slices/offlineAuths.js +32 -36
  130. package/dist/cjs/slices/order.js +25 -27
  131. package/dist/cjs/slices/pos.js +59 -65
  132. package/dist/cjs/slices/punches.d.ts +1 -1
  133. package/dist/cjs/slices/punches.js +16 -18
  134. package/dist/cjs/slices/refund.js +54 -60
  135. package/dist/cjs/slices/settings.js +56 -62
  136. package/dist/cjs/slices/surcharges.js +19 -21
  137. package/dist/cjs/slices/taxes.js +19 -21
  138. package/dist/cjs/utils/punches.js +1 -1
  139. package/dist/esm/components/Allergen.d.ts +8 -0
  140. package/dist/esm/components/Allergen.js +9 -0
  141. package/dist/esm/components/Applied.d.ts +6 -0
  142. package/dist/esm/components/Applied.js +9 -0
  143. package/dist/esm/components/ButtonLink.d.ts +9 -0
  144. package/dist/esm/components/ButtonLink.js +9 -0
  145. package/dist/esm/components/Card.d.ts +7 -0
  146. package/dist/esm/components/Card.js +9 -0
  147. package/dist/esm/components/Cart.d.ts +7 -0
  148. package/dist/esm/components/Cart.js +38 -0
  149. package/dist/esm/components/CartItem.d.ts +11 -0
  150. package/dist/esm/components/CartItem.js +28 -0
  151. package/dist/esm/components/CartUpsellItem.d.ts +10 -0
  152. package/dist/esm/components/CartUpsellItem.js +23 -0
  153. package/dist/esm/components/CartUpsells.d.ts +6 -0
  154. package/dist/esm/components/CartUpsells.js +22 -0
  155. package/dist/esm/components/CategoryItem.d.ts +11 -0
  156. package/dist/esm/components/CategoryItem.js +26 -0
  157. package/dist/esm/components/CategoryNav.d.ts +7 -0
  158. package/dist/esm/components/CategoryNav.js +23 -0
  159. package/dist/esm/components/CategoryNavItem.d.ts +9 -0
  160. package/dist/esm/components/CategoryNavItem.js +25 -0
  161. package/dist/esm/components/CategoryNavOther.d.ts +9 -0
  162. package/dist/esm/components/CategoryNavOther.js +18 -0
  163. package/dist/esm/components/CheckTotals.d.ts +8 -0
  164. package/dist/esm/components/CheckTotals.js +9 -0
  165. package/dist/esm/components/Discount.d.ts +8 -0
  166. package/dist/esm/components/Discount.js +11 -0
  167. package/dist/esm/components/ErrorMessage.d.ts +9 -0
  168. package/dist/esm/components/ErrorMessage.js +9 -0
  169. package/dist/esm/components/Header.d.ts +9 -0
  170. package/dist/esm/components/Header.js +23 -0
  171. package/dist/esm/components/Ingredients.d.ts +10 -0
  172. package/dist/esm/components/Ingredients.js +10 -0
  173. package/dist/esm/components/Input.d.ts +11 -0
  174. package/dist/esm/components/Input.js +21 -0
  175. package/dist/esm/components/ItemGroup.d.ts +9 -0
  176. package/dist/esm/components/ItemGroup.js +17 -0
  177. package/dist/esm/components/ItemGroups.d.ts +11 -0
  178. package/dist/esm/components/ItemGroups.js +22 -0
  179. package/dist/esm/components/ItemOption.d.ts +11 -0
  180. package/dist/esm/components/ItemOption.js +29 -0
  181. package/dist/esm/components/ItemSelections.d.ts +11 -0
  182. package/dist/esm/components/ItemSelections.js +20 -0
  183. package/dist/esm/components/Label.d.ts +10 -0
  184. package/dist/esm/components/Label.js +9 -0
  185. package/dist/esm/components/Loader.d.ts +8 -0
  186. package/dist/esm/components/Loader.js +9 -0
  187. package/dist/esm/components/MadeForNotes.d.ts +14 -0
  188. package/dist/esm/components/MadeForNotes.js +26 -0
  189. package/dist/esm/components/MenuCategory.d.ts +3 -3
  190. package/dist/esm/components/MenuCategory.js +3 -2
  191. package/dist/esm/components/MenuOther.d.ts +12 -0
  192. package/dist/esm/components/MenuOther.js +15 -0
  193. package/dist/esm/components/Modal.d.ts +9 -0
  194. package/dist/esm/components/Modal.js +14 -0
  195. package/dist/esm/components/ModalContent.d.ts +14 -0
  196. package/dist/esm/components/ModalContent.js +19 -0
  197. package/dist/esm/components/ModalHeader.d.ts +8 -0
  198. package/dist/esm/components/ModalHeader.js +9 -0
  199. package/dist/esm/components/NutritionalInfo.d.ts +11 -0
  200. package/dist/esm/components/NutritionalInfo.js +17 -0
  201. package/dist/esm/components/Option.d.ts +11 -0
  202. package/dist/esm/components/Option.js +22 -0
  203. package/dist/esm/components/OrderCard.d.ts +9 -0
  204. package/dist/esm/components/OrderCard.js +53 -0
  205. package/dist/esm/components/PointsReward.d.ts +10 -0
  206. package/dist/esm/components/PointsReward.js +60 -0
  207. package/dist/esm/components/PointsRewards.d.ts +6 -0
  208. package/dist/esm/components/PointsRewards.js +21 -0
  209. package/dist/esm/components/PromoCode.d.ts +7 -0
  210. package/dist/esm/components/PromoCode.js +49 -0
  211. package/dist/esm/components/Quantity.d.ts +13 -0
  212. package/dist/esm/components/Quantity.js +17 -0
  213. package/dist/esm/components/Reward.d.ts +10 -0
  214. package/dist/esm/components/Reward.js +36 -0
  215. package/dist/esm/components/Rewards.d.ts +10 -0
  216. package/dist/esm/components/Rewards.js +12 -0
  217. package/dist/esm/components/SignIn.d.ts +11 -0
  218. package/dist/esm/components/SignIn.js +35 -0
  219. package/dist/esm/components/SignInButton.d.ts +8 -0
  220. package/dist/esm/components/SignInButton.js +39 -0
  221. package/dist/esm/components/SignInCheckout.d.ts +9 -0
  222. package/dist/esm/components/SignInCheckout.js +36 -0
  223. package/dist/esm/components/SignInOptions.d.ts +7 -0
  224. package/dist/esm/components/SignInOptions.js +25 -0
  225. package/dist/esm/components/SignInPhone.d.ts +7 -0
  226. package/dist/esm/components/SignInPhone.js +56 -0
  227. package/dist/esm/components/SignInQr.d.ts +7 -0
  228. package/dist/esm/components/SignInQr.js +59 -0
  229. package/dist/esm/components/SuccessMessage.d.ts +9 -0
  230. package/dist/esm/components/SuccessMessage.js +8 -0
  231. package/dist/esm/components/Tag.d.ts +8 -0
  232. package/dist/esm/components/Tag.js +8 -0
  233. package/dist/esm/components/TextArea.d.ts +11 -0
  234. package/dist/esm/components/TextArea.js +20 -0
  235. package/dist/esm/components/UpsellItem.d.ts +10 -0
  236. package/dist/esm/components/UpsellItem.js +22 -0
  237. package/dist/esm/components/Upsells.d.ts +8 -0
  238. package/dist/esm/components/Upsells.js +22 -0
  239. package/dist/esm/components/index.d.ts +48 -1
  240. package/dist/esm/components/index.js +48 -1
  241. package/dist/esm/config/index.js +1 -1
  242. package/dist/esm/hooks/useBarcode.js +1 -1
  243. package/dist/esm/hooks/useChipDNATender/useChipDNATender.js +1 -1
  244. package/dist/esm/hooks/useEmployee.js +9 -5
  245. package/dist/esm/hooks/useGiftCardBalance.js +1 -1
  246. package/dist/esm/hooks/useOrderValidate.js +1 -1
  247. package/dist/esm/hooks/usePunch.js +1 -1
  248. package/dist/esm/slices/alerts.js +1 -1
  249. package/dist/esm/slices/arrivals.js +32 -36
  250. package/dist/esm/slices/checkout.d.ts +1 -1
  251. package/dist/esm/slices/checkout.js +329 -351
  252. package/dist/esm/slices/config.js +79 -81
  253. package/dist/esm/slices/customer.js +17 -19
  254. package/dist/esm/slices/customerIdentify.js +16 -18
  255. package/dist/esm/slices/deals.js +16 -18
  256. package/dist/esm/slices/discounts.js +19 -21
  257. package/dist/esm/slices/errorAlerts.d.ts +1 -1
  258. package/dist/esm/slices/errorAlerts.js +34 -38
  259. package/dist/esm/slices/kds.js +253 -275
  260. package/dist/esm/slices/kiosk.d.ts +1 -1
  261. package/dist/esm/slices/kiosk.js +50 -52
  262. package/dist/esm/slices/menu.js +24 -26
  263. package/dist/esm/slices/menuPages.js +16 -18
  264. package/dist/esm/slices/notifications.js +1 -1
  265. package/dist/esm/slices/offlineAuths.js +32 -36
  266. package/dist/esm/slices/order.js +25 -27
  267. package/dist/esm/slices/pos.js +59 -65
  268. package/dist/esm/slices/punches.d.ts +1 -1
  269. package/dist/esm/slices/punches.js +16 -18
  270. package/dist/esm/slices/refund.js +54 -60
  271. package/dist/esm/slices/settings.js +56 -62
  272. package/dist/esm/slices/surcharges.js +19 -21
  273. package/dist/esm/slices/taxes.js +19 -21
  274. package/dist/esm/utils/punches.js +1 -1
  275. package/package.json +82 -75
  276. package/dist/.DS_Store +0 -0
@@ -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,9 @@
1
+ import { ModalHeader as ModalHeaderView } from '@open-tender/ui';
2
+ import { useAppSelector } from '../app/hooks';
3
+ import { selectKioskConfig } from '../slices';
4
+ var ModalHeader = function (_a) {
5
+ var title = _a.title, subtitle = _a.subtitle, _b = _a.children, children = _b === void 0 ? ModalHeaderView : _b;
6
+ var config = useAppSelector(selectKioskConfig).modalHeader;
7
+ return children({ config: config, title: title, subtitle: subtitle });
8
+ };
9
+ export 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,17 @@
1
+ import { NutritionalInfo as NutritionalInfoView } from '@open-tender/ui';
2
+ import { useAppSelector } from '../app/hooks';
3
+ import { selectKioskConfig } from '../slices';
4
+ var NutritionalInfo = function (_a) {
5
+ var title = _a.title, subtitle = _a.subtitle, nutritionalInfo = _a.nutritionalInfo, close = _a.close, _b = _a.children, children = _b === void 0 ? NutritionalInfoView : _b;
6
+ var _c = useAppSelector(selectKioskConfig), config = _c.nutritionalInfo, modalContentConfig = _c.modalContent;
7
+ var handlers = { close: close };
8
+ return children({
9
+ config: config,
10
+ handlers: handlers,
11
+ title: title,
12
+ subtitle: subtitle,
13
+ nutritionalInfo: nutritionalInfo,
14
+ modalContentConfig: modalContentConfig
15
+ });
16
+ };
17
+ export 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,22 @@
1
+ import { __assign } from "tslib";
2
+ import { ItemGroups, Option as OptionView } from '@open-tender/ui';
3
+ import React from 'react';
4
+ import { useAppSelector } from '../app/hooks';
5
+ import { selectKioskConfig } from '../slices';
6
+ import { default as ItemGroupsContainer } from './ItemGroups';
7
+ var Option = function (_a) {
8
+ var option = _a.option, levels = _a.levels, handlers = _a.handlers, close = _a.close, _b = _a.children, children = _b === void 0 ? OptionView : _b;
9
+ var _c = useAppSelector(selectKioskConfig), config = _c.option, modalContentConfig = _c.modalContent;
10
+ var handlersOption = __assign(__assign({}, handlers), { close: close });
11
+ if (!config || !option || !levels)
12
+ return null;
13
+ var renderItemGroups = function (excludeSize) { return (React.createElement(ItemGroupsContainer, { levels: levels, handlers: handlersOption, groups: option.groups, excludeSize: excludeSize, children: ItemGroups })); };
14
+ return children({
15
+ config: config,
16
+ handlers: handlersOption,
17
+ option: option,
18
+ modalContentConfig: modalContentConfig,
19
+ renderItemGroups: renderItemGroups
20
+ });
21
+ };
22
+ export 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,53 @@
1
+ import { ErrorMessage, OrderCard as OrderCardView } from '@open-tender/ui';
2
+ import React, { useEffect, useState } from 'react';
3
+ import { useAppDispatch, useAppSelector } from '../app/hooks';
4
+ import { useOrder } from '../hooks';
5
+ import { selectKioskConfig, selectOrder, reorder as reorderPastOrder } from '../slices';
6
+ import { default as ErrorMessageContainer } from './ErrorMessage';
7
+ var OrderCard = function (_a) {
8
+ var order = _a.order, navigate = _a.navigate, _b = _a.children, children = _b === void 0 ? OrderCardView : _b;
9
+ var dispatch = useAppDispatch();
10
+ var _c = useState(null), errMsg = _c[0], setErrMsg = _c[1];
11
+ var _d = useState(false), isReordering = _d[0], setIsReordering = _d[1];
12
+ var _e = useAppSelector(selectKioskConfig), config = _e.orderCard, cardConfig = _e.card;
13
+ var _f = useAppSelector(selectOrder), loading = _f.loading, error = _f.error;
14
+ var isLoading = loading === 'pending';
15
+ var _g = useOrder(order), itemImages = _g.itemImages, itemNames = _g.itemNames, orderNo = _g.orderNo, title = _g.title, subtitle = _g.subtitle;
16
+ var view = function () {
17
+ return;
18
+ };
19
+ var reorder = function () {
20
+ setErrMsg(null);
21
+ setIsReordering(true);
22
+ dispatch(reorderPastOrder(order.cart));
23
+ };
24
+ var handlers = { view: view, reorder: reorder };
25
+ useEffect(function () {
26
+ if (isReordering && !isLoading) {
27
+ setIsReordering(false);
28
+ if (error) {
29
+ setErrMsg(error.detail);
30
+ }
31
+ else {
32
+ navigate('/checkout/details');
33
+ }
34
+ }
35
+ }, [isLoading, isReordering, error, navigate]);
36
+ var renderErrorMessage = function (errMsg) { return (React.createElement(ErrorMessageContainer, { content: errMsg, children: ErrorMessage })); };
37
+ if (!config)
38
+ return null;
39
+ return children({
40
+ config: config,
41
+ handlers: handlers,
42
+ isReordering: isReordering,
43
+ errMsg: errMsg,
44
+ cardConfig: cardConfig,
45
+ subtitle: subtitle,
46
+ title: title,
47
+ orderNo: orderNo,
48
+ itemNames: itemNames,
49
+ itemImages: itemImages,
50
+ renderErrorMessage: renderErrorMessage
51
+ });
52
+ };
53
+ export 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,60 @@
1
+ import { __spreadArray } from "tslib";
2
+ import { Quantity, PointsReward as PointsRewardView } from '@open-tender/ui';
3
+ import React from 'react';
4
+ import { useAppDispatch, useAppSelector } from '../app/hooks';
5
+ import { useCustomerRewards } from '../hooks';
6
+ import { selectKioskConfig, selectPosCheckout, setPoints } from '../slices';
7
+ import { default as QuantityContainer } from './Quantity';
8
+ var PointsReward = function (_a) {
9
+ var _b;
10
+ var item = _a.item, callback = _a.callback, _c = _a.children, children = _c === void 0 ? PointsRewardView : _c;
11
+ var dispatch = useAppDispatch();
12
+ var _d = useAppSelector(selectKioskConfig), config = _d.pointsReward, successMessageConfig = _d.successMessage, cardConfig = _d.card;
13
+ var checkPoints = useAppSelector(selectPosCheckout).points;
14
+ var _e = useCustomerRewards(), points = _e.points, pointsRemaining = _e.pointsRemaining;
15
+ if (!item.points || item.points.index === undefined || !points)
16
+ return null;
17
+ var _f = item.points, index = _f.index, per = _f.per;
18
+ // const appliedIndices = checkPoints.map(i => i.index)
19
+ // const isApplied = appliedIndices.includes(index)
20
+ var itemPointsApplied = ((_b = checkPoints.find(function (i) { return i.index === index; })) === null || _b === void 0 ? void 0 : _b.points) || 0;
21
+ var apply = function () {
22
+ var currentItem = checkPoints.find(function (i) { return i.index === index; });
23
+ var currentPoints = currentItem ? currentItem.points : 0;
24
+ var updatedItem = {
25
+ index: index,
26
+ points: currentPoints + per
27
+ };
28
+ var otherItems = checkPoints.filter(function (i) { return i.index !== index; });
29
+ var updatedPoints = __spreadArray(__spreadArray([], otherItems, true), [updatedItem], false);
30
+ dispatch(setPoints(updatedPoints));
31
+ // dispatch(validatePosOrder())
32
+ if (callback)
33
+ callback();
34
+ };
35
+ var remove = function () {
36
+ var currentItem = checkPoints.find(function (i) { return i.index === index; });
37
+ var currentPoints = currentItem ? currentItem.points : 0;
38
+ var updatedItem = {
39
+ index: index,
40
+ points: currentPoints - per
41
+ };
42
+ var otherItems = checkPoints.filter(function (i) { return i.index !== index; });
43
+ var updatedPoints = updatedItem.points > 0 ? __spreadArray(__spreadArray([], otherItems, true), [updatedItem], false) : otherItems;
44
+ dispatch(setPoints(updatedPoints));
45
+ // dispatch(validatePosOrder())
46
+ if (callback)
47
+ callback();
48
+ };
49
+ var renderQuantity = function (quantity, incrementDisabled) { return (React.createElement(QuantityContainer, { quantity: quantity, increment: apply, incrementDisabled: incrementDisabled, decrement: remove, fontSize: 24, iconSize: 28, children: Quantity })); };
50
+ return children({
51
+ config: config,
52
+ item: item,
53
+ itemPointsApplied: itemPointsApplied,
54
+ pointsRemaining: pointsRemaining,
55
+ successMessageConfig: successMessageConfig,
56
+ cardConfig: cardConfig,
57
+ renderQuantity: renderQuantity
58
+ });
59
+ };
60
+ export default PointsReward;
@@ -0,0 +1,6 @@
1
+ import { PointsRewardsProps } from '@open-tender/ui';
2
+ import React, { ReactNode } from 'react';
3
+ declare const PointsRewards: ({ children }: {
4
+ children?: (props: PointsRewardsProps) => ReactNode;
5
+ }) => React.ReactNode;
6
+ export default PointsRewards;
@@ -0,0 +1,21 @@
1
+ import { PointsReward, PointsRewards as PointsRewardsView } from '@open-tender/ui';
2
+ import React from 'react';
3
+ import { useAppSelector } from '../app/hooks';
4
+ import { useCustomerRewards } from '../hooks';
5
+ import { selectKioskConfig } from '../slices';
6
+ import { default as PointsRewardContainer } from './PointsReward';
7
+ var PointsRewards = function (_a) {
8
+ var _b = _a.children, children = _b === void 0 ? PointsRewardsView : _b;
9
+ var config = useAppSelector(selectKioskConfig).pointsRewards;
10
+ var _c = useCustomerRewards(), items = _c.items, points = _c.points, pointsApplied = _c.pointsApplied, pointsRemaining = _c.pointsRemaining;
11
+ var renderPointReward = function (item) { return (React.createElement(PointsRewardContainer, { item: item, children: PointsReward })); };
12
+ return children({
13
+ config: config,
14
+ items: items,
15
+ points: points,
16
+ pointsApplied: pointsApplied,
17
+ pointsRemaining: pointsRemaining,
18
+ renderPointReward: renderPointReward
19
+ });
20
+ };
21
+ export default PointsRewards;
@@ -0,0 +1,7 @@
1
+ import { PromoCodeProps } from '@open-tender/ui';
2
+ import React, { ReactNode } from 'react';
3
+ declare const PromoCode: ({ close, children }: {
4
+ close: () => void;
5
+ children: (props: PromoCodeProps) => ReactNode;
6
+ }) => React.ReactNode;
7
+ export default PromoCode;
@@ -0,0 +1,49 @@
1
+ import { ErrorMessage, Input } from '@open-tender/ui';
2
+ import { handleRespError } from '@open-tender/utils';
3
+ import React, { useEffect, useState } from 'react';
4
+ import { useAppDispatch, useAppSelector } from '../app/hooks';
5
+ import { addPromoCode, selectKioskConfig, selectOrder } from '../slices';
6
+ import { default as ErrorMessageContainer } from './ErrorMessage';
7
+ import { default as InputContainer } from './Input';
8
+ var PromoCode = function (_a) {
9
+ var close = _a.close, children = _a.children;
10
+ var dispatch = useAppDispatch();
11
+ var _b = useState(''), promoCode = _b[0], setPromoCode = _b[1];
12
+ var _c = useState(false), submitted = _c[0], setSubmitted = _c[1];
13
+ var _d = useState(null), errMsg = _d[0], setErrMsg = _d[1];
14
+ var _e = useAppSelector(selectKioskConfig), config = _e.promoCode, modalContentConfig = _e.modalContent;
15
+ var _f = useAppSelector(selectOrder), loading = _f.loading, error = _f.error;
16
+ var isLoading = loading === 'pending';
17
+ var update = function (value) {
18
+ setPromoCode(value);
19
+ };
20
+ var submit = function () {
21
+ setSubmitted(true);
22
+ dispatch(addPromoCode(promoCode));
23
+ };
24
+ var handlers = { submit: submit, close: close };
25
+ useEffect(function () {
26
+ if (submitted && !isLoading) {
27
+ setSubmitted(false);
28
+ if (error) {
29
+ var detail = handleRespError(error).detail;
30
+ setErrMsg(detail || 'Something went wrong');
31
+ }
32
+ else {
33
+ close();
34
+ }
35
+ }
36
+ }, [submitted, isLoading, error, close]);
37
+ var renderErrorMessage = function (errMsg) { return (React.createElement(ErrorMessageContainer, { content: errMsg, children: ErrorMessage })); };
38
+ var renderInput = function (value, isRequired, style) { return (React.createElement(InputContainer, { setValue: update, value: value, isRequired: isRequired, style: style, children: Input })); };
39
+ return children({
40
+ config: config,
41
+ handlers: handlers,
42
+ promoCode: promoCode,
43
+ errMsg: errMsg,
44
+ renderErrorMessage: renderErrorMessage,
45
+ modalContentConfig: modalContentConfig,
46
+ renderInput: renderInput
47
+ });
48
+ };
49
+ export default PromoCode;
@@ -0,0 +1,13 @@
1
+ import { QuantityProps } from '@open-tender/ui';
2
+ import { ReactNode } from 'react';
3
+ declare const Quantity: ({ quantity, increment, incrementDisabled, decrement, decrementDisabled, fontSize, iconSize, children }: {
4
+ quantity: number;
5
+ increment: () => void;
6
+ incrementDisabled?: boolean;
7
+ decrement: () => void;
8
+ decrementDisabled?: boolean;
9
+ fontSize?: number;
10
+ iconSize?: number;
11
+ children: (props: QuantityProps) => ReactNode;
12
+ }) => ReactNode;
13
+ export default Quantity;
@@ -0,0 +1,17 @@
1
+ import { useAppSelector } from '../app/hooks';
2
+ import { selectKioskConfig } from '../slices';
3
+ var Quantity = function (_a) {
4
+ var quantity = _a.quantity, increment = _a.increment, _b = _a.incrementDisabled, incrementDisabled = _b === void 0 ? false : _b, decrement = _a.decrement, _c = _a.decrementDisabled, decrementDisabled = _c === void 0 ? false : _c, _d = _a.fontSize, fontSize = _d === void 0 ? 28 : _d, _e = _a.iconSize, iconSize = _e === void 0 ? 36 : _e, children = _a.children;
5
+ var config = useAppSelector(selectKioskConfig).quantity;
6
+ var handlers = { increment: increment, decrement: decrement };
7
+ return children({
8
+ config: config,
9
+ handlers: handlers,
10
+ quantity: quantity,
11
+ incrementDisabled: incrementDisabled,
12
+ decrementDisabled: decrementDisabled,
13
+ fontSize: fontSize,
14
+ iconSize: iconSize
15
+ });
16
+ };
17
+ export default Quantity;
@@ -0,0 +1,10 @@
1
+ import { Discount } from '@open-tender/types';
2
+ import { RewardProps } from '@open-tender/ui';
3
+ import React, { ReactNode } from 'react';
4
+ declare const Reward: ({ reward, callback, isLast, children }: {
5
+ reward: Discount;
6
+ callback?: () => void;
7
+ isLast?: boolean;
8
+ children: (props: RewardProps) => ReactNode;
9
+ }) => React.ReactNode;
10
+ export default Reward;
@@ -0,0 +1,36 @@
1
+ import { Applied } from '@open-tender/ui';
2
+ import React from 'react';
3
+ import { useAppDispatch, useAppSelector } from '../app/hooks';
4
+ import { addDiscount, removeDiscount, selectKioskConfig, selectPosCheckout } from '../slices';
5
+ import { default as AppliedContainer } from './Applied';
6
+ var Reward = function (_a) {
7
+ var reward = _a.reward, callback = _a.callback, isLast = _a.isLast, children = _a.children;
8
+ var dispatch = useAppDispatch();
9
+ var _b = useAppSelector(selectKioskConfig), config = _b.reward, cardConfig = _b.card;
10
+ var check = useAppSelector(selectPosCheckout).check;
11
+ var discountIds = check === null || check === void 0 ? void 0 : check.discounts.map(function (i) { return i.id; });
12
+ var id = reward.discount_id;
13
+ var isApplied = !!(discountIds === null || discountIds === void 0 ? void 0 : discountIds.includes(id));
14
+ var apply = function () {
15
+ dispatch(addDiscount({ id: id }));
16
+ if (callback)
17
+ callback();
18
+ };
19
+ var remove = function () {
20
+ dispatch(removeDiscount({ id: id }));
21
+ if (callback)
22
+ callback();
23
+ };
24
+ var handlers = { apply: apply, remove: remove };
25
+ var renderApplied = function () { return React.createElement(AppliedContainer, { children: Applied }); };
26
+ return children({
27
+ config: config,
28
+ handlers: handlers,
29
+ reward: reward,
30
+ isApplied: isApplied,
31
+ isLast: isLast,
32
+ cardConfig: cardConfig,
33
+ renderApplied: renderApplied
34
+ });
35
+ };
36
+ export default Reward;
@@ -0,0 +1,10 @@
1
+ import { Discounts } from '@open-tender/types';
2
+ import { RewardsProps } from '@open-tender/ui';
3
+ import React, { ReactNode } from 'react';
4
+ declare const Rewards: ({ title, subtitle, rewards, children }: {
5
+ title: string;
6
+ subtitle?: string;
7
+ rewards: Discounts;
8
+ children: (props: RewardsProps) => ReactNode;
9
+ }) => React.ReactNode;
10
+ export default Rewards;
@@ -0,0 +1,12 @@
1
+ import { Reward } from '@open-tender/ui';
2
+ import React from 'react';
3
+ import { useAppSelector } from '../app/hooks';
4
+ import { selectKioskConfig } from '../slices';
5
+ import { default as RewardContainer } from './Reward';
6
+ var Rewards = function (_a) {
7
+ var title = _a.title, subtitle = _a.subtitle, rewards = _a.rewards, children = _a.children;
8
+ var config = useAppSelector(selectKioskConfig).rewards;
9
+ var renderReward = function (reward, isLast) { return (React.createElement(RewardContainer, { reward: reward, isLast: isLast, children: Reward })); };
10
+ return children({ config: config, title: title, subtitle: subtitle, rewards: rewards, renderReward: renderReward });
11
+ };
12
+ export default Rewards;
@@ -0,0 +1,11 @@
1
+ import { KioskSignInType } from '@open-tender/types';
2
+ import { SignInProps } from '@open-tender/ui';
3
+ import { ReactNode } from 'react';
4
+ declare const SignIn: ({ setSignInType, greeting, punctuation, navigate, children }: {
5
+ setSignInType: (signInType: KioskSignInType) => void;
6
+ greeting?: string;
7
+ punctuation?: string;
8
+ navigate: (route: string) => void;
9
+ children: (props: SignInProps) => ReactNode;
10
+ }) => ReactNode;
11
+ export default SignIn;
@@ -0,0 +1,35 @@
1
+ import { useEffect } from 'react';
2
+ import { useAppDispatch, useAppSelector } from '../app/hooks';
3
+ import { fetchCustomer, resetCustomer, resetCustomerIdentify, resetMenu, selectCustomerIdentified, selectKioskConfig } from '../slices';
4
+ var endpoints = [
5
+ 'ACCOUNT',
6
+ 'DEALS',
7
+ 'FAVORITES',
8
+ 'ORDERS',
9
+ 'GIFT_CARDS',
10
+ 'LOYALTY',
11
+ 'REWARDS'
12
+ ];
13
+ var SignIn = function (_a) {
14
+ var setSignInType = _a.setSignInType, _b = _a.greeting, greeting = _b === void 0 ? 'Hi there' : _b, _c = _a.punctuation, punctuation = _c === void 0 ? '!' : _c, navigate = _a.navigate, children = _a.children;
15
+ var dispatch = useAppDispatch();
16
+ var _d = useAppSelector(selectKioskConfig), config = _d.signIn, buttonLinkConfig = _d.buttonLink;
17
+ var customer = (useAppSelector(selectCustomerIdentified) || {}).customer;
18
+ var _e = customer || {}, customerId = _e.customer_id, first_name = _e.first_name;
19
+ var msg = customer ? "".concat(greeting, ", ").concat(first_name).concat(punctuation) : null;
20
+ var signOut = function () {
21
+ dispatch(resetCustomerIdentify());
22
+ dispatch(resetCustomer());
23
+ dispatch(resetMenu());
24
+ setSignInType(null);
25
+ };
26
+ var goToAccount = function () { return navigate('/account'); };
27
+ var handlers = { goToAccount: goToAccount, setSignInType: setSignInType, signOut: signOut };
28
+ useEffect(function () {
29
+ if (customerId) {
30
+ dispatch(fetchCustomer({ customerId: customerId, endpoints: endpoints }));
31
+ }
32
+ }, [dispatch, customerId]);
33
+ return children({ config: config, handlers: handlers, msg: msg, buttonLinkConfig: buttonLinkConfig });
34
+ };
35
+ export default SignIn;
@@ -0,0 +1,8 @@
1
+ import { SignInButtonProps } from '@open-tender/ui';
2
+ import { ReactNode } from 'react';
3
+ declare const SignInButton: ({ navigate, children, pathname }: {
4
+ pathname: string;
5
+ navigate: (route: string) => void;
6
+ children: (props: SignInButtonProps) => ReactNode;
7
+ }) => ReactNode;
8
+ export default SignInButton;
@@ -0,0 +1,39 @@
1
+ import { useEffect } from 'react';
2
+ import { useAppDispatch, useAppSelector } from '../app/hooks';
3
+ import { fetchCustomer, openModal, resetCustomer, resetCustomerIdentify, resetMenu, selectCustomerIdentified, selectKioskConfig } from '../slices';
4
+ var endpoints = [
5
+ 'ACCOUNT',
6
+ 'DEALS',
7
+ 'FAVORITES',
8
+ 'ORDERS',
9
+ 'GIFT_CARDS',
10
+ 'LOYALTY',
11
+ 'REWARDS'
12
+ ];
13
+ var SignInButton = function (_a) {
14
+ var navigate = _a.navigate, children = _a.children, pathname = _a.pathname;
15
+ var dispatch = useAppDispatch();
16
+ var config = useAppSelector(selectKioskConfig).signInButton;
17
+ var customer = (useAppSelector(selectCustomerIdentified) || {}).customer;
18
+ var customerId = (customer || {}).customer_id;
19
+ var isAccount = pathname.includes('account');
20
+ var signIn = function () {
21
+ dispatch(openModal({ type: 'SIGN_IN' }));
22
+ };
23
+ var signOut = function () {
24
+ dispatch(resetCustomerIdentify());
25
+ dispatch(resetCustomer());
26
+ dispatch(resetMenu());
27
+ };
28
+ var goToAccount = function () { return navigate('/account'); };
29
+ var handlers = { signIn: signIn, signOut: signOut, goToAccount: goToAccount };
30
+ useEffect(function () {
31
+ if (customerId) {
32
+ dispatch(fetchCustomer({ customerId: customerId, endpoints: endpoints }));
33
+ }
34
+ }, [dispatch, customerId]);
35
+ if (!config)
36
+ return null;
37
+ return children({ config: config, handlers: handlers, customer: customer, isAccount: isAccount });
38
+ };
39
+ export default SignInButton;
@@ -0,0 +1,9 @@
1
+ import { KioskSignInType } from '@open-tender/types';
2
+ import { SignInCheckoutProps } from '@open-tender/ui';
3
+ import { ReactNode } from 'react';
4
+ declare const SignInCheckout: ({ setSignInType, navigate, children }: {
5
+ setSignInType: (signInType: KioskSignInType) => void;
6
+ navigate: (route: string) => void;
7
+ children: (props: SignInCheckoutProps) => ReactNode;
8
+ }) => ReactNode;
9
+ export default SignInCheckout;
@@ -0,0 +1,36 @@
1
+ import { useEffect } from 'react';
2
+ import { useAppDispatch, useAppSelector } from '../app/hooks';
3
+ import { fetchCustomer, resetCustomer, resetCustomerIdentify, resetMenu, selectCustomerIdentified, selectKioskConfig } from '../slices';
4
+ var endpoints = [
5
+ 'ACCOUNT',
6
+ 'DEALS',
7
+ 'FAVORITES',
8
+ 'ORDERS',
9
+ 'GIFT_CARDS',
10
+ 'LOYALTY',
11
+ 'REWARDS'
12
+ ];
13
+ var SignInCheckout = function (_a) {
14
+ var setSignInType = _a.setSignInType, navigate = _a.navigate, children = _a.children;
15
+ var dispatch = useAppDispatch();
16
+ var config = useAppSelector(selectKioskConfig).signInCheckout;
17
+ var customer = useAppSelector(selectCustomerIdentified);
18
+ var customerId = ((customer === null || customer === void 0 ? void 0 : customer.customer) || {}).customer_id;
19
+ var signOut = function () {
20
+ dispatch(resetCustomerIdentify());
21
+ dispatch(resetCustomer());
22
+ dispatch(resetMenu());
23
+ setSignInType(null);
24
+ };
25
+ var goToAccount = function () { return navigate('/account'); };
26
+ var handlers = { setSignInType: setSignInType, goToAccount: goToAccount, signOut: signOut };
27
+ useEffect(function () {
28
+ if (customerId) {
29
+ dispatch(fetchCustomer({ customerId: customerId, endpoints: endpoints }));
30
+ }
31
+ }, [dispatch, customerId]);
32
+ if (!config)
33
+ return null;
34
+ return children({ config: config, handlers: handlers, customer: customer });
35
+ };
36
+ export default SignInCheckout;
@@ -0,0 +1,7 @@
1
+ import { SignInOptionsProps } from '@open-tender/ui';
2
+ import React, { ReactNode } from 'react';
3
+ declare const SignInOptions: ({ close, children }: {
4
+ close: () => void;
5
+ children: (props: SignInOptionsProps) => ReactNode;
6
+ }) => React.ReactNode;
7
+ export default SignInOptions;
@@ -0,0 +1,25 @@
1
+ import { SignInPhone, SignInQr } from '@open-tender/ui';
2
+ import React, { useState } from 'react';
3
+ import { useAppSelector } from '../app/hooks';
4
+ import { selectKioskConfig } from '../slices';
5
+ import { default as SignInPhoneContainer } from './SignInPhone';
6
+ import { default as SignInQrContainer } from './SignInQr';
7
+ var SignInOptions = function (_a) {
8
+ var close = _a.close, children = _a.children;
9
+ var _b = useAppSelector(selectKioskConfig), config = _b.signInOptions, modalContentConfig = _b.modalContent;
10
+ var _c = useState(null), signInType = _c[0], setSignInType = _c[1];
11
+ var handlers = { close: close, setSignInType: setSignInType };
12
+ var renderSignInQr = function (close) { return (React.createElement(SignInQrContainer, { close: close, children: SignInQr })); };
13
+ var renderSignInPhone = function (close) { return (React.createElement(SignInPhoneContainer, { close: close, children: SignInPhone })); };
14
+ if (!config)
15
+ return null;
16
+ return children({
17
+ config: config,
18
+ handlers: handlers,
19
+ signInType: signInType,
20
+ modalContentConfig: modalContentConfig,
21
+ renderSignInQr: renderSignInQr,
22
+ renderSignInPhone: renderSignInPhone
23
+ });
24
+ };
25
+ export default SignInOptions;
@@ -0,0 +1,7 @@
1
+ import { SignInPhoneProps } from '@open-tender/ui';
2
+ import React, { ReactNode } from 'react';
3
+ declare const SignInPhone: ({ close, children }: {
4
+ close: () => void;
5
+ children: (props: SignInPhoneProps) => ReactNode;
6
+ }) => React.ReactNode;
7
+ export default SignInPhone;