@open-tender/store 1.1.0 → 1.1.1

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 (268) hide show
  1. package/dist/cjs/app/hooks.d.ts +2 -2
  2. package/dist/cjs/app/store.d.ts +8 -8
  3. package/dist/cjs/hooks/index.d.ts +1 -2
  4. package/dist/cjs/hooks/index.js +1 -3
  5. package/dist/cjs/hooks/useBarcode.js +3 -3
  6. package/dist/cjs/hooks/useCardSwipe.js +3 -3
  7. package/dist/cjs/hooks/useEmployee.d.ts +1 -1
  8. package/dist/cjs/hooks/useEmployee.js +3 -3
  9. package/dist/cjs/hooks/useGiftCardBalance.d.ts +1 -1
  10. package/dist/cjs/hooks/useGiftCardBalance.js +2 -2
  11. package/dist/cjs/hooks/usePunch.d.ts +1 -1
  12. package/dist/cjs/hooks/usePunch.js +5 -4
  13. package/dist/cjs/hooks/useRefund.d.ts +1 -1
  14. package/dist/cjs/services/api.d.ts +5 -7
  15. package/dist/cjs/services/api.js +0 -3
  16. package/dist/cjs/slices/alerts.d.ts +1 -1
  17. package/dist/cjs/slices/alerts.js +1 -1
  18. package/dist/cjs/slices/arrivals.d.ts +1 -1
  19. package/dist/cjs/slices/arrivals.js +0 -1
  20. package/dist/cjs/slices/checkout.d.ts +2 -3
  21. package/dist/cjs/slices/checkout.js +2 -3
  22. package/dist/cjs/slices/customer.d.ts +1 -1
  23. package/dist/cjs/slices/customerIdentify.d.ts +1 -1
  24. package/dist/cjs/slices/deals.d.ts +1 -1
  25. package/dist/cjs/slices/discounts.d.ts +1 -1
  26. package/dist/cjs/slices/errorAlerts.d.ts +1 -1
  27. package/dist/cjs/slices/kds.d.ts +1 -1
  28. package/dist/cjs/slices/kds.js +25 -25
  29. package/dist/cjs/slices/kiosk.d.ts +6 -6
  30. package/dist/cjs/slices/menu.js +1 -1
  31. package/dist/cjs/slices/menuPages.d.ts +11 -11
  32. package/dist/cjs/slices/menuPages.js +5 -4
  33. package/dist/cjs/slices/notifications.d.ts +1 -1
  34. package/dist/cjs/slices/notifications.js +1 -1
  35. package/dist/cjs/slices/offlineAuths.d.ts +1 -1
  36. package/dist/cjs/slices/order.d.ts +8 -8
  37. package/dist/cjs/slices/order.js +1 -2
  38. package/dist/cjs/slices/pos.d.ts +1 -2
  39. package/dist/cjs/slices/pos.js +1 -1
  40. package/dist/cjs/slices/punches.d.ts +1 -1
  41. package/dist/cjs/slices/refund.d.ts +1 -2
  42. package/dist/cjs/slices/settings.d.ts +4 -4
  43. package/dist/cjs/slices/surcharges.d.ts +2 -2
  44. package/dist/cjs/slices/taxes.d.ts +1 -1
  45. package/dist/cjs/utils/index.d.ts +0 -6
  46. package/dist/cjs/utils/index.js +2 -6
  47. package/dist/cjs/utils/menu.d.ts +6 -6
  48. package/dist/cjs/utils/menu.js +6 -3
  49. package/dist/cjs/utils/orders.js +31 -31
  50. package/dist/cjs/utils/pos.d.ts +1 -1
  51. package/dist/cjs/utils/pos.js +4 -4
  52. package/dist/cjs/utils/punches.d.ts +1 -1
  53. package/dist/cjs/utils/punches.js +5 -5
  54. package/dist/cjs/utils/refunds.d.ts +2 -2
  55. package/dist/cjs/utils/refunds.js +15 -8
  56. package/dist/esm/app/hooks.d.ts +2 -2
  57. package/dist/esm/app/store.d.ts +8 -8
  58. package/dist/esm/hooks/index.d.ts +1 -2
  59. package/dist/esm/hooks/index.js +1 -2
  60. package/dist/esm/hooks/useBarcode.js +3 -3
  61. package/dist/esm/hooks/useCardSwipe.js +3 -3
  62. package/dist/esm/hooks/useEmployee.d.ts +1 -1
  63. package/dist/esm/hooks/useEmployee.js +3 -3
  64. package/dist/esm/hooks/useGiftCardBalance.d.ts +1 -1
  65. package/dist/esm/hooks/useGiftCardBalance.js +2 -2
  66. package/dist/esm/hooks/usePunch.d.ts +1 -1
  67. package/dist/esm/hooks/usePunch.js +4 -3
  68. package/dist/esm/hooks/useRefund.d.ts +1 -1
  69. package/dist/esm/services/api.d.ts +5 -7
  70. package/dist/esm/services/api.js +0 -3
  71. package/dist/esm/slices/alerts.d.ts +1 -1
  72. package/dist/esm/slices/alerts.js +1 -1
  73. package/dist/esm/slices/arrivals.d.ts +1 -1
  74. package/dist/esm/slices/arrivals.js +0 -1
  75. package/dist/esm/slices/checkout.d.ts +2 -3
  76. package/dist/esm/slices/checkout.js +1 -2
  77. package/dist/esm/slices/customer.d.ts +1 -1
  78. package/dist/esm/slices/customerIdentify.d.ts +1 -1
  79. package/dist/esm/slices/deals.d.ts +1 -1
  80. package/dist/esm/slices/discounts.d.ts +1 -1
  81. package/dist/esm/slices/errorAlerts.d.ts +1 -1
  82. package/dist/esm/slices/kds.d.ts +1 -1
  83. package/dist/esm/slices/kds.js +6 -2
  84. package/dist/esm/slices/kiosk.d.ts +6 -6
  85. package/dist/esm/slices/menu.js +1 -1
  86. package/dist/esm/slices/menuPages.d.ts +11 -11
  87. package/dist/esm/slices/menuPages.js +5 -4
  88. package/dist/esm/slices/notifications.d.ts +1 -1
  89. package/dist/esm/slices/notifications.js +1 -1
  90. package/dist/esm/slices/offlineAuths.d.ts +1 -1
  91. package/dist/esm/slices/order.d.ts +8 -8
  92. package/dist/esm/slices/order.js +1 -4
  93. package/dist/esm/slices/pos.d.ts +1 -2
  94. package/dist/esm/slices/pos.js +1 -1
  95. package/dist/esm/slices/punches.d.ts +1 -1
  96. package/dist/esm/slices/refund.d.ts +1 -2
  97. package/dist/esm/slices/settings.d.ts +4 -4
  98. package/dist/esm/slices/surcharges.d.ts +2 -2
  99. package/dist/esm/slices/taxes.d.ts +1 -1
  100. package/dist/esm/utils/index.d.ts +0 -6
  101. package/dist/esm/utils/index.js +2 -6
  102. package/dist/esm/utils/menu.d.ts +6 -6
  103. package/dist/esm/utils/menu.js +6 -3
  104. package/dist/esm/utils/orders.js +1 -1
  105. package/dist/esm/utils/pos.d.ts +1 -1
  106. package/dist/esm/utils/pos.js +1 -1
  107. package/dist/esm/utils/punches.d.ts +1 -1
  108. package/dist/esm/utils/punches.js +1 -1
  109. package/dist/esm/utils/refunds.d.ts +2 -2
  110. package/dist/esm/utils/refunds.js +15 -8
  111. package/package.json +3 -3
  112. package/dist/.DS_Store +0 -0
  113. package/dist/cjs/hooks/useBuilder.d.ts +0 -14
  114. package/dist/cjs/hooks/useBuilder.js +0 -146
  115. package/dist/cjs/types/api/alerts.d.ts +0 -5
  116. package/dist/cjs/types/api/alerts.js +0 -2
  117. package/dist/cjs/types/api/arrivals.d.ts +0 -14
  118. package/dist/cjs/types/api/arrivals.js +0 -2
  119. package/dist/cjs/types/api/cart.d.ts +0 -72
  120. package/dist/cjs/types/api/cart.js +0 -2
  121. package/dist/cjs/types/api/checkout.d.ts +0 -92
  122. package/dist/cjs/types/api/checkout.js +0 -2
  123. package/dist/cjs/types/api/customer.d.ts +0 -58
  124. package/dist/cjs/types/api/customer.js +0 -2
  125. package/dist/cjs/types/api/device.d.ts +0 -3
  126. package/dist/cjs/types/api/device.js +0 -2
  127. package/dist/cjs/types/api/devices.d.ts +0 -89
  128. package/dist/cjs/types/api/devices.js +0 -2
  129. package/dist/cjs/types/api/discounts.d.ts +0 -20
  130. package/dist/cjs/types/api/discounts.js +0 -2
  131. package/dist/cjs/types/api/employee.d.ts +0 -70
  132. package/dist/cjs/types/api/employee.js +0 -2
  133. package/dist/cjs/types/api/errorAlerts.d.ts +0 -9
  134. package/dist/cjs/types/api/errorAlerts.js +0 -2
  135. package/dist/cjs/types/api/favorite.d.ts +0 -69
  136. package/dist/cjs/types/api/favorite.js +0 -2
  137. package/dist/cjs/types/api/giftCard.d.ts +0 -11
  138. package/dist/cjs/types/api/giftCard.js +0 -2
  139. package/dist/cjs/types/api/index.d.ts +0 -26
  140. package/dist/cjs/types/api/index.js +0 -29
  141. package/dist/cjs/types/api/kiosk.d.ts +0 -33
  142. package/dist/cjs/types/api/kiosk.js +0 -2
  143. package/dist/cjs/types/api/menu.d.ts +0 -150
  144. package/dist/cjs/types/api/menu.js +0 -2
  145. package/dist/cjs/types/api/menuPages.d.ts +0 -21
  146. package/dist/cjs/types/api/menuPages.js +0 -2
  147. package/dist/cjs/types/api/messages.d.ts +0 -5
  148. package/dist/cjs/types/api/messages.js +0 -2
  149. package/dist/cjs/types/api/notifications.d.ts +0 -5
  150. package/dist/cjs/types/api/notifications.js +0 -2
  151. package/dist/cjs/types/api/offlineAuths.d.ts +0 -12
  152. package/dist/cjs/types/api/offlineAuths.js +0 -2
  153. package/dist/cjs/types/api/order.d.ts +0 -331
  154. package/dist/cjs/types/api/order.js +0 -2
  155. package/dist/cjs/types/api/refund.d.ts +0 -22
  156. package/dist/cjs/types/api/refund.js +0 -2
  157. package/dist/cjs/types/api/revenueCenter.d.ts +0 -55
  158. package/dist/cjs/types/api/revenueCenter.js +0 -2
  159. package/dist/cjs/types/api/settings.d.ts +0 -10
  160. package/dist/cjs/types/api/settings.js +0 -2
  161. package/dist/cjs/types/api/store.d.ts +0 -106
  162. package/dist/cjs/types/api/store.js +0 -2
  163. package/dist/cjs/types/api/surcharges.d.ts +0 -15
  164. package/dist/cjs/types/api/surcharges.js +0 -2
  165. package/dist/cjs/types/api/taxes.d.ts +0 -15
  166. package/dist/cjs/types/api/taxes.js +0 -2
  167. package/dist/cjs/types/api/themeCloud.d.ts +0 -354
  168. package/dist/cjs/types/api/themeCloud.js +0 -2
  169. package/dist/cjs/types/datetimes.d.ts +0 -37
  170. package/dist/cjs/types/datetimes.js +0 -2
  171. package/dist/cjs/types/global.d.ts +0 -39
  172. package/dist/cjs/types/global.js +0 -2
  173. package/dist/cjs/types/index.d.ts +0 -5
  174. package/dist/cjs/types/index.js +0 -8
  175. package/dist/cjs/types/request.d.ts +0 -14
  176. package/dist/cjs/types/request.js +0 -2
  177. package/dist/cjs/types/theme.d.ts +0 -117
  178. package/dist/cjs/types/theme.js +0 -2
  179. package/dist/cjs/utils/datetimes.d.ts +0 -32
  180. package/dist/cjs/utils/datetimes.js +0 -147
  181. package/dist/cjs/utils/helpers.d.ts +0 -36
  182. package/dist/cjs/utils/helpers.js +0 -148
  183. package/dist/cjs/utils/keypad.d.ts +0 -9
  184. package/dist/cjs/utils/keypad.js +0 -106
  185. package/dist/cjs/utils/order.d.ts +0 -225
  186. package/dist/cjs/utils/order.js +0 -400
  187. package/dist/cjs/utils/theme.d.ts +0 -2
  188. package/dist/cjs/utils/theme.js +0 -253
  189. package/dist/cjs/utils/themeCloud.d.ts +0 -8
  190. package/dist/cjs/utils/themeCloud.js +0 -217
  191. package/dist/esm/hooks/useBuilder.d.ts +0 -14
  192. package/dist/esm/hooks/useBuilder.js +0 -144
  193. package/dist/esm/types/api/alerts.d.ts +0 -5
  194. package/dist/esm/types/api/alerts.js +0 -1
  195. package/dist/esm/types/api/arrivals.d.ts +0 -14
  196. package/dist/esm/types/api/arrivals.js +0 -1
  197. package/dist/esm/types/api/cart.d.ts +0 -72
  198. package/dist/esm/types/api/cart.js +0 -1
  199. package/dist/esm/types/api/checkout.d.ts +0 -92
  200. package/dist/esm/types/api/checkout.js +0 -1
  201. package/dist/esm/types/api/customer.d.ts +0 -58
  202. package/dist/esm/types/api/customer.js +0 -1
  203. package/dist/esm/types/api/device.d.ts +0 -3
  204. package/dist/esm/types/api/device.js +0 -1
  205. package/dist/esm/types/api/devices.d.ts +0 -89
  206. package/dist/esm/types/api/devices.js +0 -1
  207. package/dist/esm/types/api/discounts.d.ts +0 -20
  208. package/dist/esm/types/api/discounts.js +0 -1
  209. package/dist/esm/types/api/employee.d.ts +0 -70
  210. package/dist/esm/types/api/employee.js +0 -1
  211. package/dist/esm/types/api/errorAlerts.d.ts +0 -9
  212. package/dist/esm/types/api/errorAlerts.js +0 -1
  213. package/dist/esm/types/api/favorite.d.ts +0 -69
  214. package/dist/esm/types/api/favorite.js +0 -1
  215. package/dist/esm/types/api/giftCard.d.ts +0 -11
  216. package/dist/esm/types/api/giftCard.js +0 -1
  217. package/dist/esm/types/api/index.d.ts +0 -26
  218. package/dist/esm/types/api/index.js +0 -26
  219. package/dist/esm/types/api/kiosk.d.ts +0 -33
  220. package/dist/esm/types/api/kiosk.js +0 -1
  221. package/dist/esm/types/api/menu.d.ts +0 -150
  222. package/dist/esm/types/api/menu.js +0 -1
  223. package/dist/esm/types/api/menuPages.d.ts +0 -21
  224. package/dist/esm/types/api/menuPages.js +0 -1
  225. package/dist/esm/types/api/messages.d.ts +0 -5
  226. package/dist/esm/types/api/messages.js +0 -1
  227. package/dist/esm/types/api/notifications.d.ts +0 -5
  228. package/dist/esm/types/api/notifications.js +0 -1
  229. package/dist/esm/types/api/offlineAuths.d.ts +0 -12
  230. package/dist/esm/types/api/offlineAuths.js +0 -1
  231. package/dist/esm/types/api/order.d.ts +0 -331
  232. package/dist/esm/types/api/order.js +0 -1
  233. package/dist/esm/types/api/refund.d.ts +0 -22
  234. package/dist/esm/types/api/refund.js +0 -1
  235. package/dist/esm/types/api/revenueCenter.d.ts +0 -55
  236. package/dist/esm/types/api/revenueCenter.js +0 -1
  237. package/dist/esm/types/api/settings.d.ts +0 -10
  238. package/dist/esm/types/api/settings.js +0 -1
  239. package/dist/esm/types/api/store.d.ts +0 -106
  240. package/dist/esm/types/api/store.js +0 -1
  241. package/dist/esm/types/api/surcharges.d.ts +0 -15
  242. package/dist/esm/types/api/surcharges.js +0 -1
  243. package/dist/esm/types/api/taxes.d.ts +0 -15
  244. package/dist/esm/types/api/taxes.js +0 -1
  245. package/dist/esm/types/api/themeCloud.d.ts +0 -354
  246. package/dist/esm/types/api/themeCloud.js +0 -1
  247. package/dist/esm/types/datetimes.d.ts +0 -37
  248. package/dist/esm/types/datetimes.js +0 -1
  249. package/dist/esm/types/global.d.ts +0 -39
  250. package/dist/esm/types/global.js +0 -1
  251. package/dist/esm/types/index.d.ts +0 -5
  252. package/dist/esm/types/index.js +0 -5
  253. package/dist/esm/types/request.d.ts +0 -14
  254. package/dist/esm/types/request.js +0 -1
  255. package/dist/esm/types/theme.d.ts +0 -117
  256. package/dist/esm/types/theme.js +0 -1
  257. package/dist/esm/utils/datetimes.d.ts +0 -32
  258. package/dist/esm/utils/datetimes.js +0 -124
  259. package/dist/esm/utils/helpers.d.ts +0 -36
  260. package/dist/esm/utils/helpers.js +0 -127
  261. package/dist/esm/utils/keypad.d.ts +0 -9
  262. package/dist/esm/utils/keypad.js +0 -98
  263. package/dist/esm/utils/order.d.ts +0 -225
  264. package/dist/esm/utils/order.js +0 -380
  265. package/dist/esm/utils/theme.d.ts +0 -2
  266. package/dist/esm/utils/theme.js +0 -250
  267. package/dist/esm/utils/themeCloud.d.ts +0 -8
  268. package/dist/esm/utils/themeCloud.js +0 -207
@@ -1,4 +1,4 @@
1
- import { Order, OrderCart, Orders, RequestErrorAPI } from '../types';
1
+ import { NegativeMoney, Order, OrderCart, Orders, RequestErrorAPI } from '@open-tender/types';
2
2
  export declare const emptyRefund: (error: RequestErrorAPI) => boolean;
3
3
  export declare const makeRefundCartLookup: (cart: OrderCart) => Record<string, unknown>;
4
4
  export declare const makeRefundLookup: (order: Order) => {
@@ -11,7 +11,7 @@ export declare const makeRefundLookup: (order: Order) => {
11
11
  subtotal: `${number}.${number}`;
12
12
  gift_card: `${number}.${number}`;
13
13
  surcharge: `${number}.${number}`;
14
- discount: `-${number}.${number}`;
14
+ discount: NegativeMoney;
15
15
  tax: `${number}.${number}`;
16
16
  tip: `${number}.${number}`;
17
17
  shipping: `${number}.${number}`;
@@ -8,10 +8,14 @@ export var makeRefundCartLookup = function (cart) {
8
8
  var lookup = {};
9
9
  cart.forEach(function (item) {
10
10
  var line_no = item.line_no, quantity = item.quantity, price_total = item.price_total, _a = item.groups, groups = _a === void 0 ? [] : _a;
11
+ if (!line_no)
12
+ return;
11
13
  lookup[line_no.toString()] = { quantity: quantity, price_total: price_total };
12
14
  groups.forEach(function (group) {
13
15
  return group.options.forEach(function (option) {
14
16
  var line_no = option.line_no, quantity = option.quantity, price = option.price;
17
+ if (!line_no)
18
+ return;
15
19
  lookup[line_no] = { quantity: quantity, price: price };
16
20
  });
17
21
  });
@@ -21,9 +25,9 @@ export var makeRefundCartLookup = function (cart) {
21
25
  var makeGiftCardAmountsLookup = function (gift_cards) {
22
26
  return gift_cards.reduce(function (obj, i) {
23
27
  var _a;
24
- if (!i.code)
28
+ if (!i.id)
25
29
  return obj;
26
- return __assign(__assign({}, obj), (_a = {}, _a[i.code] = i.amount, _a));
30
+ return __assign(__assign({}, obj), (_a = {}, _a[i.id] = i.amount, _a));
27
31
  }, {});
28
32
  };
29
33
  var makeSurchargeAmountsLookup = function (surcharges) {
@@ -41,7 +45,7 @@ var makeDiscountsAmountsLookup = function (discounts) {
41
45
  var makeTaxesAmountsLookup = function (taxes) {
42
46
  return taxes.reduce(function (obj, i) {
43
47
  var _a;
44
- return (__assign(__assign({}, obj), (_a = {}, _a[i.tax_id] = i.amount, _a)));
48
+ return (__assign(__assign({}, obj), (_a = {}, _a[i.id] = i.amount, _a)));
45
49
  }, {});
46
50
  };
47
51
  var makeTendersAmountsLookup = function (tenders) {
@@ -55,7 +59,7 @@ export var makeRefundLookup = function (order) {
55
59
  var subtotal = totals.subtotal, gift_card = totals.gift_card, surcharge = totals.surcharge, discount = totals.discount, tax = totals.tax, tip = totals.tip, shipping = totals.shipping, total = totals.total;
56
60
  return {
57
61
  cart: makeRefundCartLookup(cart),
58
- gift_cards: makeGiftCardAmountsLookup(gift_cards),
62
+ gift_cards: gift_cards ? makeGiftCardAmountsLookup(gift_cards) : {},
59
63
  surcharges: makeSurchargeAmountsLookup(surcharges),
60
64
  discounts: makeDiscountsAmountsLookup(discounts),
61
65
  taxes: makeTaxesAmountsLookup(taxes),
@@ -104,9 +108,12 @@ export var makeNetOrder = function (order, refunds) {
104
108
  return order;
105
109
  var copy = JSON.parse(JSON.stringify(order));
106
110
  refunds.forEach(function (refund) {
111
+ var _a;
107
112
  var lookup = makeRefundLookup(refund);
108
113
  // adjust cart
109
114
  copy.cart.forEach(function (i) {
115
+ if (!i.line_no)
116
+ return;
110
117
  var item = lookup.cart[i.line_no];
111
118
  if (item) {
112
119
  i.quantity -= item.quantity;
@@ -127,8 +134,8 @@ export var makeNetOrder = function (order, refunds) {
127
134
  // copy = adjustAmounts(copy, lookup, 'discounts')
128
135
  // copy = adjustAmounts(copy, lookup, 'taxes')
129
136
  // copy = adjustAmounts(copy, lookup, 'tenders', 'tender_index')
130
- copy.gift_cards.forEach(function (i) {
131
- var amount = i.code ? lookup.gift_cards[i.code] : null;
137
+ (_a = copy.gift_cards) === null || _a === void 0 ? void 0 : _a.forEach(function (i) {
138
+ var amount = i.id ? lookup.gift_cards[i.id] : null;
132
139
  if (amount)
133
140
  i.amount = adjustAmount(i.amount, amount);
134
141
  });
@@ -139,11 +146,11 @@ export var makeNetOrder = function (order, refunds) {
139
146
  });
140
147
  copy.discounts.forEach(function (i) {
141
148
  var amount = lookup.discounts[i.id];
142
- if (amount)
149
+ if (amount && i.amount)
143
150
  i.amount = adjustAmount(i.amount, amount);
144
151
  });
145
152
  copy.taxes.forEach(function (i) {
146
- var amount = lookup.taxes[i.tax_id];
153
+ var amount = lookup.taxes[i.id];
147
154
  if (amount)
148
155
  i.amount = adjustAmount(i.amount, amount);
149
156
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@open-tender/store",
3
- "version": "1.1.0",
3
+ "version": "1.1.1",
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",
@@ -58,9 +58,9 @@
58
58
  },
59
59
  "peerDependencies": {
60
60
  "@emotion/react": "^11.11.1",
61
- "@open-tender/types": "^0.4.38",
61
+ "@open-tender/types": "^0.4.41",
62
62
  "@open-tender/ui": "^0.2.1",
63
- "@open-tender/utils": "^0.4.18",
63
+ "@open-tender/utils": "^0.4.20",
64
64
  "@reduxjs/toolkit": "^2.0.1",
65
65
  "date-fns": "2.30.0",
66
66
  "date-fns-tz": "^2.0.0",
package/dist/.DS_Store DELETED
Binary file
@@ -1,14 +0,0 @@
1
- import { CartItem } from '../types';
2
- declare const useBuilder: (cartItem: CartItem | null) => {
3
- item: CartItem | null;
4
- increment: () => void;
5
- decrement: () => void;
6
- setQuantity: (quantity: number) => void;
7
- setMadeFor: (madeFor: string) => void;
8
- setNotes: (notes: string) => void;
9
- toggleOption: (groupId: number, optionId: number) => void;
10
- incrementOption: (groupId: number, optionId: number) => void;
11
- decrementOption: (groupId: number, optionId: number) => void;
12
- setOptionQuantity: (groupId: number, optionId: number, quantity: number) => void;
13
- };
14
- export default useBuilder;
@@ -1,146 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var tslib_1 = require("tslib");
4
- var react_1 = require("react");
5
- var utils_1 = require("../utils");
6
- var useBuilder = function (cartItem) {
7
- var _a = (0, react_1.useState)(cartItem), item = _a[0], setItem = _a[1];
8
- var increment = function () {
9
- if (!item)
10
- return setItem(null);
11
- var newQuantity = item.max
12
- ? Math.min(item.quantity + item.increment, item.max)
13
- : item.quantity + item.increment;
14
- setItem((0, utils_1.calcPrices)(tslib_1.__assign(tslib_1.__assign({}, item), { quantity: newQuantity })));
15
- };
16
- var decrement = function () {
17
- if (!item)
18
- return setItem(null);
19
- var newQuantity = Math.max(item.quantity - item.increment, item.min);
20
- setItem((0, utils_1.calcPrices)(tslib_1.__assign(tslib_1.__assign({}, item), { quantity: newQuantity })));
21
- };
22
- var setQuantity = function (quantity) {
23
- if (!item)
24
- return setItem(null);
25
- setItem((0, utils_1.calcPrices)(tslib_1.__assign(tslib_1.__assign({}, item), { quantity: quantity })));
26
- };
27
- var setMadeFor = function (madeFor) {
28
- if (!item)
29
- return setItem(null);
30
- setItem(tslib_1.__assign(tslib_1.__assign({}, item), { madeFor: madeFor }));
31
- };
32
- var setNotes = function (notes) {
33
- if (!item)
34
- return setItem(null);
35
- setItem(tslib_1.__assign(tslib_1.__assign({}, item), { notes: notes }));
36
- };
37
- var toggleOption = function (groupId, optionId) {
38
- if (!item)
39
- return setItem(null);
40
- var groups = item.groups.map(function (group) {
41
- if (group.id === groupId) {
42
- var options = group.options.map(function (option) {
43
- var newQuantity = option.id === optionId ? 1 : 0;
44
- return tslib_1.__assign(tslib_1.__assign({}, option), { quantity: newQuantity });
45
- });
46
- return tslib_1.__assign(tslib_1.__assign({}, group), { options: options });
47
- }
48
- return group;
49
- });
50
- setItem((0, utils_1.calcPrices)(tslib_1.__assign(tslib_1.__assign({}, item), { groups: groups })));
51
- };
52
- var incrementOption = function (groupId, optionId) {
53
- if (!item)
54
- return setItem(null);
55
- var groups = item.groups.map(function (group) {
56
- if (group.id === groupId) {
57
- var count_1 = group.options
58
- .filter(function (o) { return o.id !== optionId; })
59
- .reduce(function (t, o) { return t + o.quantity; }, 0);
60
- if (group.max !== 0 && count_1 >= group.max)
61
- return group;
62
- var options = group.options.map(function (option) {
63
- if (option.id === optionId) {
64
- var quantity = option.quantity + option.increment;
65
- var quantities = [quantity];
66
- if (option.max !== 0)
67
- quantities.push(option.max);
68
- if (group.max !== 0)
69
- quantities.push(group.max - count_1);
70
- quantity = Math.min.apply(Math, quantities);
71
- return tslib_1.__assign(tslib_1.__assign({}, option), { quantity: quantity });
72
- }
73
- return option;
74
- });
75
- return tslib_1.__assign(tslib_1.__assign({}, group), { options: options });
76
- }
77
- return group;
78
- });
79
- setItem((0, utils_1.calcPrices)(tslib_1.__assign(tslib_1.__assign({}, item), { groups: groups })));
80
- };
81
- var decrementOption = function (groupId, optionId) {
82
- if (!item)
83
- return setItem(null);
84
- var groups = item.groups.map(function (group) {
85
- if (group.id === groupId) {
86
- var options = group.options.map(function (option) {
87
- if (option.id === optionId) {
88
- var quantity = Math.max(option.quantity - option.increment, 0);
89
- return tslib_1.__assign(tslib_1.__assign({}, option), { quantity: quantity });
90
- }
91
- return option;
92
- });
93
- return tslib_1.__assign(tslib_1.__assign({}, group), { options: options });
94
- }
95
- return group;
96
- });
97
- setItem((0, utils_1.calcPrices)(tslib_1.__assign(tslib_1.__assign({}, item), { groups: groups })));
98
- };
99
- var setOptionQuantity = function (groupId, optionId, quantity) {
100
- if (!item)
101
- return setItem(null);
102
- var groups = item.groups.map(function (group) {
103
- if (group.id === groupId) {
104
- var count_2 = group.options
105
- .filter(function (o) { return o.id !== optionId; })
106
- .reduce(function (t, o) { return t + o.quantity; }, 0);
107
- if (group.max !== 0 && count_2 >= group.max)
108
- return group;
109
- var options = group.options.map(function (option) {
110
- if (option.id === optionId) {
111
- if (!quantity) {
112
- return tslib_1.__assign(tslib_1.__assign({}, option), { quantity: quantity });
113
- }
114
- else {
115
- var quantities = [quantity];
116
- if (option.max !== 0)
117
- quantities.push(option.max);
118
- if (group.max !== 0)
119
- quantities.push(group.max - count_2);
120
- quantity = Math.min.apply(Math, quantities);
121
- quantity = Math.max(quantity, option.min);
122
- return tslib_1.__assign(tslib_1.__assign({}, option), { quantity: quantity });
123
- }
124
- }
125
- return option;
126
- });
127
- return tslib_1.__assign(tslib_1.__assign({}, group), { options: options });
128
- }
129
- return group;
130
- });
131
- setItem((0, utils_1.calcPrices)(tslib_1.__assign(tslib_1.__assign({}, item), { groups: groups })));
132
- };
133
- return {
134
- item: item,
135
- increment: increment,
136
- decrement: decrement,
137
- setQuantity: setQuantity,
138
- setMadeFor: setMadeFor,
139
- setNotes: setNotes,
140
- toggleOption: toggleOption,
141
- incrementOption: incrementOption,
142
- decrementOption: decrementOption,
143
- setOptionQuantity: setOptionQuantity
144
- };
145
- };
146
- exports.default = useBuilder;
@@ -1,5 +0,0 @@
1
- export interface Alert {
2
- message: string;
3
- id: string;
4
- }
5
- export type Alerts = Array<Alert>;
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,14 +0,0 @@
1
- import { ISOStringOffset } from '../datetimes';
2
- import { Customer } from './customer';
3
- export interface Arrival {
4
- arrived_utc: ISOStringOffset;
5
- arrival_info: string | null;
6
- customer?: Customer | null;
7
- has_arrived: boolean;
8
- order_id: number;
9
- order_uuid: string;
10
- vehicle_type: string | null;
11
- vehicle_color: string | null;
12
- vehicle_id: string | null;
13
- }
14
- export type Arrivals = Array<Arrival>;
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,72 +0,0 @@
1
- import { NutritionalInfo } from './menu';
2
- export interface CartItemOption {
3
- allergens: string[];
4
- cals: number | null;
5
- color?: string | null;
6
- description: string | null;
7
- id: number;
8
- imageUrl: string | null;
9
- increment: number;
10
- ingredients: string | null;
11
- isDefault: boolean;
12
- isSoldOut: boolean;
13
- max: number;
14
- min: number;
15
- name: string;
16
- nutritionalInfo: NutritionalInfo | null;
17
- points: number;
18
- price: number;
19
- quantity: number;
20
- shortName: string;
21
- tags: string[];
22
- totalCals: number | null;
23
- totalPoints: number | null;
24
- totalPrice: number;
25
- }
26
- export type CartItemOptions = Array<CartItemOption>;
27
- export interface CartItemGroup {
28
- id: number;
29
- name: string;
30
- description: string | null;
31
- imageUrl: string | null;
32
- included: number;
33
- max: number;
34
- min: number;
35
- isSize: boolean;
36
- options: CartItemOptions;
37
- quantity: number;
38
- }
39
- export type CartItemGroups = Array<CartItemGroup>;
40
- export interface CartItem {
41
- index?: number;
42
- id: number;
43
- name: string;
44
- shortName: string;
45
- cart_guest_id?: number | null;
46
- category: string;
47
- customer_id?: number | null;
48
- description: string | null;
49
- imageUrl: string | null;
50
- slug: string;
51
- allergens: string[];
52
- tags: string[];
53
- ingredients: string | null;
54
- madeFor?: string | null;
55
- notes?: string | null;
56
- nutritionalInfo: NutritionalInfo | null;
57
- cals: number | null;
58
- groups: CartItemGroups;
59
- quantity: number;
60
- price: number;
61
- increment: number;
62
- max: number;
63
- min: number;
64
- points: number | null;
65
- upsellItems: number[];
66
- similarItems: number[];
67
- totalPrice: number;
68
- totalPoints: number | null;
69
- totalCals: number | null;
70
- }
71
- export type Cart = Array<CartItem>;
72
- export type CartCounts = Record<string, number>;
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,92 +0,0 @@
1
- import { ISOString, Money, OrderType, ServiceType, TenderType } from '@open-tender/types';
2
- import { Address, Customer } from './customer';
3
- export interface SimpleCartOption {
4
- id: number;
5
- quantity: number;
6
- }
7
- export interface SimpleCartGroup {
8
- id: number;
9
- options: Array<SimpleCartOption>;
10
- }
11
- export type SimpleOptionLookup = Record<number, SimpleCartOption>;
12
- export interface SimpleCartGroupLookup {
13
- id: number;
14
- options: SimpleOptionLookup;
15
- }
16
- export type SimpleCartGroupsLookup = Record<number, SimpleCartGroupLookup>;
17
- export interface SimpleCartItem {
18
- id: number;
19
- quantity: number;
20
- groups?: Array<SimpleCartGroup>;
21
- made_for?: string;
22
- notes?: string;
23
- cart_guest_id?: number | null;
24
- customer_id?: number | null;
25
- }
26
- export type SimpleCart = Array<SimpleCartItem>;
27
- export interface OrderCreateDetails {
28
- eating_utensils?: boolean;
29
- serving_utensils?: boolean;
30
- person_count?: number | null;
31
- notes?: string | null;
32
- tax_exempt_id?: string | null;
33
- cart_id?: number | null;
34
- }
35
- export interface OrderCreateGiftCard {
36
- id?: number;
37
- gift_card_id?: number;
38
- code?: string;
39
- card_number?: string;
40
- amount: Money;
41
- employee_id?: number;
42
- }
43
- export interface OrderCreateSurcharge {
44
- id: number;
45
- }
46
- export interface OrderCreateDiscount {
47
- id: number;
48
- ext_id?: string | null;
49
- }
50
- export interface OrderCreateTax {
51
- id: number;
52
- }
53
- export interface OrderCreatePoints {
54
- index: number;
55
- points: number;
56
- }
57
- export interface Tender {
58
- tender_type: TenderType;
59
- amount?: Money;
60
- cash_back?: Money;
61
- track_data?: string;
62
- customer_card_id?: string;
63
- acct?: string;
64
- cvv?: string;
65
- exp?: string;
66
- zip?: string;
67
- save?: boolean;
68
- gift_card_code?: string | number;
69
- house_account_pin?: string;
70
- }
71
- export interface OrderCreate {
72
- address?: Address | null;
73
- cart: SimpleCart;
74
- customer?: Customer | null;
75
- details?: OrderCreateDetails | null;
76
- discounts?: Array<OrderCreateDiscount>;
77
- gift_cards?: Array<OrderCreateGiftCard>;
78
- is_tax_exempt?: boolean;
79
- made_for?: string;
80
- order_type?: OrderType;
81
- order_uuid?: string;
82
- points?: Array<OrderCreatePoints>;
83
- promo_codes?: string[];
84
- requested_at: ISOString | 'asap';
85
- revenue_center_id: number;
86
- service_type: ServiceType;
87
- shipment_id?: string;
88
- surcharges?: Array<OrderCreateSurcharge>;
89
- taxes?: Array<OrderCreateTax>;
90
- tenders?: Array<Tender>;
91
- tip?: Money;
92
- }
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,58 +0,0 @@
1
- import { DateString, ISOStringOffset } from '../datetimes';
2
- import { Money } from '../global';
3
- import { Favorite } from './favorite';
4
- export interface Address {
5
- city: string;
6
- company?: string;
7
- contact?: string;
8
- customer_address_id?: number;
9
- formatted_address?: string;
10
- lat: number | null;
11
- lng: number | null;
12
- phone?: string | null;
13
- postal_code: string;
14
- state: string;
15
- street: string;
16
- unit?: string;
17
- }
18
- export interface CustomerAllergen {
19
- allergen_id: number;
20
- name?: string;
21
- }
22
- export interface CustomerNotificationPref {
23
- craeted_at: ISOStringOffset;
24
- customer_notification_preference_id: number;
25
- notification_area: 'ORDER' | 'RATING' | 'MARKETING';
26
- notification_channel: 'EMAIL' | 'SMS' | 'PUSH';
27
- }
28
- export interface CustomerGiftCard {
29
- balance: Money;
30
- card_number: string;
31
- expiration: DateString | null;
32
- gift_card_id: number;
33
- orders: number;
34
- qr_code_url: string;
35
- updated_at: ISOStringOffset;
36
- }
37
- export interface Customer {
38
- accepts_marketing?: boolean;
39
- birth_date?: DateString | null;
40
- company?: boolean;
41
- customer_id?: number;
42
- email?: string;
43
- first_name?: string;
44
- gender?: 'MALE' | 'FEMALE' | 'DECLINED' | null;
45
- is_guest?: boolean;
46
- is_notification_set?: boolean;
47
- is_verified?: boolean;
48
- last_name?: string;
49
- order_notifications?: 'NEW' | 'EMAIL' | 'SMS' | 'ALL' | 'NONE';
50
- phone?: string | null;
51
- }
52
- export interface CustomerWithRelated extends Customer {
53
- allergens?: Array<CustomerAllergen>;
54
- customer_notification_preferences?: Array<CustomerNotificationPref>;
55
- favorites?: Array<Favorite>;
56
- gift_cards?: Array<CustomerGiftCard>;
57
- levelup?: [] | null;
58
- }
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,3 +0,0 @@
1
- export interface DeviceRead {
2
- data: string;
3
- }
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,89 +0,0 @@
1
- export interface PosPrinter {
2
- backup_pos_printer_v2_id: number;
3
- description: string;
4
- ipv4_address: string;
5
- name: string;
6
- pos_printer_v2_id: number;
7
- use_beeper: boolean;
8
- }
9
- export type PosPrinters = PosPrinter[];
10
- export interface PosScanner {
11
- description: string;
12
- identifier: string;
13
- name: string;
14
- pos_scanner_id: number;
15
- }
16
- export type PosScanners = PosScanner[];
17
- export type PosTerminalPrintReceipt = 'never' | 'always' | 'prompt';
18
- export interface PosTerminal {
19
- description: string;
20
- name: string;
21
- pos_chipdna_terminal_id: number | null;
22
- pos_printer_v2_id: number | null;
23
- pos_scanner: PosScanner;
24
- pos_scanner_id: number | null;
25
- pos_terminal_id: number;
26
- print_kds: boolean;
27
- print_receipt: PosTerminalPrintReceipt;
28
- printer: PosPrinters;
29
- }
30
- export type PosTerminals = PosTerminal[];
31
- export type PrepStationPrepType = 'ASSEMBLY' | 'EXPO';
32
- export interface PrepStation {
33
- assembly_done: boolean;
34
- assembly_print: boolean;
35
- expo_complete: boolean;
36
- expo_complete_all: boolean;
37
- expo_done_only: boolean;
38
- expo_print: boolean;
39
- expo_reset: boolean;
40
- item_type_ids: number[];
41
- name: string;
42
- prep_station_id: number;
43
- prep_type: PrepStationPrepType;
44
- show_counts: boolean;
45
- show_groups: boolean;
46
- show_modifiers: boolean;
47
- }
48
- export type PrepStations = PrepStation[];
49
- export interface KdsTerminal {
50
- auto_print: boolean;
51
- description: string;
52
- kds_terminal_id: number;
53
- name: string;
54
- pos_printer_v2_id: number | null;
55
- prep_stations: PrepStations;
56
- printer: PosPrinters;
57
- }
58
- export type KdsTerminals = KdsTerminal[];
59
- export interface PosServer {
60
- ipv4_address: string;
61
- name: string;
62
- pos_server_id: number;
63
- }
64
- export type PosServers = PosServer[];
65
- export interface PaymentTerminal {
66
- api_key: string;
67
- application_identifier: string;
68
- description: string;
69
- identifier: string;
70
- is_active: boolean;
71
- mac_address: string;
72
- model: string;
73
- name: string;
74
- pos_chipdna_terminal_id: number;
75
- revenue_center_id: number;
76
- standby_message: string;
77
- use_production: boolean;
78
- }
79
- export type PaymentTerminals = PaymentTerminal[];
80
- export interface Devices {
81
- kds_terminals: KdsTerminals;
82
- pos_chipdna_terminals: PaymentTerminals;
83
- pos_scanners: PosScanners;
84
- pos_terminals: PosTerminals;
85
- prep_stations: PrepStations;
86
- printers: PosPrinters;
87
- servers: PosServers;
88
- }
89
- export type DevicesList = Devices[];
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,20 +0,0 @@
1
- import { DiscountType, Money, ServiceType } from '../global';
2
- export interface Discount {
3
- id: number;
4
- name: string;
5
- discount_type: DiscountType;
6
- position: number;
7
- amount: Money;
8
- min_amount: Money;
9
- max_amount: Money;
10
- min_order_size: Money;
11
- max_order_size: Money;
12
- discounted_items: Array<number>;
13
- discounted_quantity: number;
14
- required_items: Array<number>;
15
- required_quantity: number;
16
- requires_approval: boolean;
17
- service_type: ServiceType | null;
18
- version: number;
19
- }
20
- export type Discounts = Array<Discount>;
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });