@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,400 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getItemOptions = exports.calcCartCounts = exports.makeSimpleCart = exports.decrementItem = exports.incrementItem = exports.removeItem = exports.addItem = exports.rehydrateCartItem = exports.makeCartItemSignature = exports.makeCartItem = exports.calcNutrition = exports.calcPrices = exports.findCreditCardToken = exports.calcCashBack = exports.makeChannelName = exports.makeTenderTypeName = exports.tenderTypeNamesMap = exports.serviceTypeNamesMap = exports.normalizeOrderType = exports.orderTypeNamesMap = void 0;
4
- var tslib_1 = require("tslib");
5
- var helpers_1 = require("./helpers");
6
- exports.orderTypeNamesMap = {
7
- OLO: 'Regular',
8
- CATERING: 'Catering',
9
- MERCH: 'Merch'
10
- };
11
- var normalizeOrderType = function (orderType) {
12
- switch (orderType) {
13
- case 'MAIN_MENU':
14
- return 'OLO';
15
- case 'ECOMMERCE':
16
- return 'MERCH';
17
- default:
18
- return orderType;
19
- }
20
- };
21
- exports.normalizeOrderType = normalizeOrderType;
22
- exports.serviceTypeNamesMap = {
23
- WALKIN: 'Dine-In',
24
- PICKUP: 'Pickup',
25
- DELIVERY: 'Delivery',
26
- };
27
- exports.tenderTypeNamesMap = {
28
- CASH: 'Cash',
29
- CREDIT: 'Credit',
30
- HOUSE_ACCOUNT: 'House Account',
31
- GIFT_CARD: 'Gift Card',
32
- COMP: 'Comp'
33
- };
34
- var makeTenderTypeName = function (tenderType) {
35
- var name = exports.tenderTypeNamesMap[tenderType];
36
- return name || (0, helpers_1.capitalize)(tenderType.replace('_', ' '));
37
- };
38
- exports.makeTenderTypeName = makeTenderTypeName;
39
- var makeChannelName = function (channel) {
40
- switch (channel.type) {
41
- case 'ONLINE':
42
- return 'Web';
43
- case 'APP':
44
- return 'App';
45
- case 'PORTAL':
46
- return channel.ext_name;
47
- default:
48
- return channel.type;
49
- }
50
- };
51
- exports.makeChannelName = makeChannelName;
52
- var calcCashBack = function (tenders) {
53
- if (!tenders || !tenders.length)
54
- return '0.00';
55
- return tenders
56
- .filter(function (i) { return i.tender_type === 'CASH'; })
57
- .reduce(function (t, i) { return (t += i.cash ? parseFloat(i.cash.cash_back) : 0.0); }, 0.0)
58
- .toFixed(2);
59
- };
60
- exports.calcCashBack = calcCashBack;
61
- var findCreditCardToken = function (tenders) {
62
- if (!tenders || !tenders.length)
63
- return null;
64
- var tender = tenders.find(function (i) { return i.tender_type === 'CREDIT'; });
65
- return tender && tender.credit_card ? tender.credit_card.token : null;
66
- };
67
- exports.findCreditCardToken = findCreditCardToken;
68
- var makeCartItemGroups = function (optionGroups, isEdit, soldOut) {
69
- if (isEdit === void 0) { isEdit = false; }
70
- if (soldOut === void 0) { soldOut = []; }
71
- if (!optionGroups)
72
- return [];
73
- var groups = optionGroups.map(function (g) {
74
- var options = g.option_items.map(function (o) {
75
- var _a;
76
- var isSoldOut = soldOut.includes(o.id);
77
- var quantity = isSoldOut
78
- ? 0
79
- : o.opt_is_default && !isEdit
80
- ? o.min_quantity || 1
81
- : 0;
82
- var cals = ((_a = o.nutritional_info) === null || _a === void 0 ? void 0 : _a.calories)
83
- ? parseInt(o.nutritional_info.calories.toString())
84
- : null;
85
- var option = {
86
- id: o.id,
87
- name: o.name,
88
- shortName: o.short_name,
89
- color: o.color || null,
90
- description: o.description,
91
- imageUrl: o.small_image_url,
92
- allergens: (0, helpers_1.convertStringToArray)(o.allergens),
93
- tags: (0, helpers_1.convertStringToArray)(o.tags),
94
- ingredients: o.ingredients,
95
- nutritionalInfo: o.nutritional_info,
96
- cals: cals,
97
- price: parseFloat(o.price),
98
- quantity: quantity,
99
- isDefault: o.opt_is_default ? true : false,
100
- increment: o.increment,
101
- max: isSoldOut ? 0 : o.max_quantity,
102
- min: o.min_quantity,
103
- isSoldOut: isSoldOut,
104
- points: o.points || 0,
105
- totalPrice: 0.0,
106
- totalPoints: 0.0,
107
- totalCals: 0.0
108
- };
109
- return option;
110
- });
111
- var group = {
112
- id: g.id,
113
- name: g.name,
114
- description: g.description,
115
- imageUrl: g.small_image_url,
116
- included: g.included_options,
117
- max: g.max_options,
118
- min: g.min_options,
119
- isSize: !!g.is_size,
120
- options: options,
121
- quantity: options.reduce(function (t, o) { return (t += o.quantity); }, 0)
122
- };
123
- return group;
124
- });
125
- return groups;
126
- };
127
- var calcPrices = function (item) {
128
- var groups = item.groups.map(function (g) {
129
- var groupQuantity = 0;
130
- var options = g.options.map(function (o) {
131
- var includedRemaining = Math.max(g.included - groupQuantity, 0);
132
- var priceQuantity = Math.max(o.quantity - includedRemaining, 0);
133
- var option = tslib_1.__assign(tslib_1.__assign({}, o), { totalPrice: priceQuantity * o.price, totalPoints: priceQuantity * o.points, totalCals: o.cals ? o.quantity * o.cals : 0 });
134
- groupQuantity += o.quantity || 0;
135
- return option;
136
- });
137
- return tslib_1.__assign(tslib_1.__assign({}, g), { quantity: groupQuantity, options: options });
138
- });
139
- var optionsPrice = groups.reduce(function (t, g) {
140
- return t + g.options.reduce(function (ot, o) { return ot + o.totalPrice; }, 0.0);
141
- }, 0.0);
142
- var totalPrice = item.quantity * (item.price + optionsPrice);
143
- var optionsPoints = groups.reduce(function (t, g) {
144
- return t + g.options.reduce(function (ot, o) { return ot + o.totalPoints; }, 0);
145
- }, 0.0);
146
- var totalPoints = item.points
147
- ? item.quantity * (item.points + optionsPoints)
148
- : null;
149
- var optionsCals = groups.reduce(function (t, g) {
150
- return t + g.options.reduce(function (ot, o) { return ot + o.totalCals; }, 0);
151
- }, 0.0);
152
- var totalCals = item.cals || item.cals === 0
153
- ? item.quantity * (item.cals + optionsCals)
154
- : null;
155
- return tslib_1.__assign(tslib_1.__assign({}, item), { groups: groups, totalPrice: totalPrice, totalPoints: totalPoints, totalCals: totalCals });
156
- };
157
- exports.calcPrices = calcPrices;
158
- var nutritionKeys = [
159
- 'calories',
160
- 'cholesterol',
161
- 'dietary_fiber',
162
- 'protein',
163
- 'saturated_fat',
164
- 'sodium',
165
- 'sugars',
166
- 'total_carbs',
167
- 'total_fat',
168
- 'trans_fat'
169
- ];
170
- var calcNutrition = function (item) {
171
- var nutritionalInfo = item.nutritionalInfo, groups = item.groups;
172
- if (!nutritionalInfo)
173
- return null;
174
- var nutrition = tslib_1.__assign({}, nutritionalInfo);
175
- var options = groups.reduce(function (arr, g) {
176
- return tslib_1.__spreadArray(tslib_1.__spreadArray([], arr, true), g.options.filter(function (o) { return o.quantity > 0; }), true);
177
- }, []);
178
- options.forEach(function (o) {
179
- nutritionKeys.forEach(function (key) {
180
- var _a;
181
- var optionVal = o.nutritionalInfo
182
- ? o.nutritionalInfo[key] || 0
183
- : 0;
184
- optionVal =
185
- typeof optionVal === 'string' ? parseInt(optionVal) : optionVal;
186
- var itemVal = nutrition[key] || 0;
187
- itemVal = typeof itemVal === 'string' ? parseInt(itemVal) : optionVal;
188
- nutrition = tslib_1.__assign(tslib_1.__assign({}, nutrition), (_a = {}, _a[key] = itemVal + optionVal, _a));
189
- });
190
- });
191
- return nutrition;
192
- };
193
- exports.calcNutrition = calcNutrition;
194
- var makeCartItem = function (item, isEdit, soldOut, simpleItem, hasPoints) {
195
- if (isEdit === void 0) { isEdit = false; }
196
- if (soldOut === void 0) { soldOut = []; }
197
- if (hasPoints === void 0) { hasPoints = false; }
198
- var groups = item.option_groups
199
- ? makeCartItemGroups(item.option_groups, isEdit, soldOut)
200
- : [];
201
- var nutritional_info = item.nutritional_info;
202
- var cals = (nutritional_info === null || nutritional_info === void 0 ? void 0 : nutritional_info.calories)
203
- ? parseInt(nutritional_info.calories.toString())
204
- : null;
205
- var nutritionalInfo = (nutritional_info === null || nutritional_info === void 0 ? void 0 : nutritional_info.calories) ? nutritional_info : null;
206
- var orderItem = {
207
- id: item.id,
208
- name: item.name,
209
- shortName: item.short_name,
210
- category: item.category_name,
211
- description: item.description,
212
- imageUrl: item.large_image_url,
213
- slug: item.slug,
214
- allergens: (0, helpers_1.convertStringToArray)(item.allergens),
215
- tags: (0, helpers_1.convertStringToArray)(item.tags),
216
- ingredients: item.ingredients,
217
- nutritionalInfo: nutritionalInfo,
218
- cals: cals,
219
- groups: groups,
220
- quantity: item.min_quantity || 1 * item.increment,
221
- price: parseFloat(item.price),
222
- increment: item.increment,
223
- max: item.max_quantity,
224
- min: item.min_quantity,
225
- points: hasPoints ? item.points || null : null,
226
- upsellItems: item.upsell_items || [],
227
- similarItems: item.similar_items || [],
228
- totalPrice: 0.0,
229
- totalPoints: 0.0,
230
- totalCals: 0.0
231
- };
232
- if (simpleItem) {
233
- var cart_guest_id = simpleItem.cart_guest_id, customer_id = simpleItem.customer_id, made_for = simpleItem.made_for, notes = simpleItem.notes;
234
- if (cart_guest_id)
235
- orderItem.cart_guest_id = cart_guest_id;
236
- if (customer_id)
237
- orderItem.customer_id = customer_id;
238
- if (made_for)
239
- orderItem.madeFor = made_for;
240
- if (notes)
241
- orderItem.notes = notes;
242
- }
243
- var pricedItem = (0, exports.calcPrices)(orderItem);
244
- return pricedItem;
245
- };
246
- exports.makeCartItem = makeCartItem;
247
- var makeCartItemSignature = function (item, withNotes) {
248
- if (withNotes === void 0) { withNotes = true; }
249
- var optionIds = item.groups
250
- .reduce(function (arr, group) {
251
- var ids = group.options
252
- .filter(function (o) { return o.quantity > 0; })
253
- .reduce(function (optionsArr, o) {
254
- var optionArr = new Array(o.quantity);
255
- optionArr.fill(o.id);
256
- return tslib_1.__spreadArray(tslib_1.__spreadArray([], optionsArr, true), optionArr, true);
257
- }, []);
258
- return tslib_1.__spreadArray(tslib_1.__spreadArray([], arr, true), ids, true);
259
- }, [])
260
- .sort(function (a, b) { return a - b; });
261
- var itemIds = tslib_1.__spreadArray([item.id], optionIds, true).join('.');
262
- return withNotes ? "".concat(itemIds, ".").concat(item.madeFor, ".").concat(item.notes) : itemIds;
263
- };
264
- exports.makeCartItemSignature = makeCartItemSignature;
265
- var makeGroupsLookup = function (item) {
266
- if (!item.groups)
267
- return {};
268
- return item.groups.reduce(function (grpObj, i) {
269
- var options = i.options.reduce(function (optObj, o) {
270
- optObj[o.id] = o;
271
- return optObj;
272
- }, {});
273
- grpObj[i.id] = tslib_1.__assign(tslib_1.__assign({}, i), { options: options });
274
- return grpObj;
275
- }, {});
276
- };
277
- var rehydrateCartItem = function (menuItem, simpleCartItem) {
278
- var orderItem = (0, exports.makeCartItem)(menuItem, true, [], simpleCartItem);
279
- orderItem.quantity = simpleCartItem.quantity || 1;
280
- if (simpleCartItem.groups && simpleCartItem.groups.length) {
281
- var groupsLookup_1 = makeGroupsLookup(simpleCartItem);
282
- orderItem.groups.forEach(function (group) {
283
- var simpleGroup = groupsLookup_1[group.id];
284
- if (simpleGroup) {
285
- group.options.forEach(function (option) {
286
- var simpleOption = simpleGroup.options[option.id];
287
- option.quantity = simpleOption ? simpleOption.quantity : 0;
288
- });
289
- }
290
- });
291
- }
292
- var pricedItem = (0, exports.calcPrices)(orderItem);
293
- return pricedItem;
294
- };
295
- exports.rehydrateCartItem = rehydrateCartItem;
296
- var addItem = function (cart, item) {
297
- if (typeof item.index === 'undefined') {
298
- var itemSignature_1 = (0, exports.makeCartItemSignature)(item);
299
- var itemSignatures = cart.map(function (i) { return (tslib_1.__assign({ signature: (0, exports.makeCartItemSignature)(i) }, i)); });
300
- var match = itemSignatures.find(function (i) { return i.signature === itemSignature_1; });
301
- if (match && match.index) {
302
- var quantity = item.quantity + match.quantity;
303
- var newItem = tslib_1.__assign(tslib_1.__assign({}, item), { quantity: quantity });
304
- var updated = (0, exports.calcPrices)(newItem);
305
- cart[match.index] = tslib_1.__assign(tslib_1.__assign({}, updated), { index: match.index });
306
- }
307
- else {
308
- cart.push(tslib_1.__assign(tslib_1.__assign({}, item), { index: cart.length }));
309
- }
310
- }
311
- else {
312
- cart[item.index] = item;
313
- }
314
- var cartCounts = (0, exports.calcCartCounts)(cart);
315
- return { cart: cart, cartCounts: cartCounts };
316
- };
317
- exports.addItem = addItem;
318
- var getItemRealIndex = function (cart, index) {
319
- return cart.findIndex(function (item) { return item.index === index; });
320
- };
321
- var removeItem = function (cart, index) {
322
- var realIndex = getItemRealIndex(cart, index);
323
- if (realIndex > -1) {
324
- cart.splice(realIndex, 1);
325
- cart = cart.map(function (i, _index) { return (tslib_1.__assign(tslib_1.__assign({}, i), { index: _index })); });
326
- }
327
- var cartCounts = (0, exports.calcCartCounts)(cart);
328
- return { cart: cart, cartCounts: cartCounts };
329
- };
330
- exports.removeItem = removeItem;
331
- var incrementItem = function (cart, index) {
332
- var realIndex = getItemRealIndex(cart, index);
333
- if (realIndex > -1) {
334
- var item = cart[realIndex];
335
- if (item.max === 0 || item.quantity < item.max) {
336
- var newQuantity = item.quantity + item.increment;
337
- newQuantity =
338
- item.max === 0 ? newQuantity : Math.min(item.max, newQuantity);
339
- var newItem = (0, exports.calcPrices)(tslib_1.__assign(tslib_1.__assign({}, item), { quantity: newQuantity }));
340
- cart[realIndex] = newItem;
341
- }
342
- }
343
- var cartCounts = (0, exports.calcCartCounts)(cart);
344
- return { cart: cart, cartCounts: cartCounts };
345
- };
346
- exports.incrementItem = incrementItem;
347
- var decrementItem = function (cart, index) {
348
- var realIndex = getItemRealIndex(cart, index);
349
- if (realIndex > -1) {
350
- var item = cart[realIndex];
351
- var newQuantity = Math.max(item.quantity - item.increment, 0);
352
- if (newQuantity === 0 || newQuantity < item.min) {
353
- cart.splice(realIndex, 1);
354
- cart = cart.map(function (i, _index) { return (tslib_1.__assign(tslib_1.__assign({}, i), { index: _index })); });
355
- }
356
- else {
357
- var newItem = (0, exports.calcPrices)(tslib_1.__assign(tslib_1.__assign({}, item), { quantity: newQuantity }));
358
- cart[realIndex] = newItem;
359
- }
360
- }
361
- var cartCounts = (0, exports.calcCartCounts)(cart);
362
- return { cart: cart, cartCounts: cartCounts };
363
- };
364
- exports.decrementItem = decrementItem;
365
- var makeSimpleCart = function (cart) {
366
- var simpleCart = cart.map(function (i) {
367
- var groups = i.groups.map(function (g) {
368
- var options = g.options
369
- .filter(function (o) { return o.quantity !== 0; })
370
- .map(function (o) { return ({ id: o.id, quantity: o.quantity }); });
371
- return { id: g.id, options: options };
372
- });
373
- return {
374
- id: i.id,
375
- quantity: i.quantity,
376
- groups: groups,
377
- made_for: i.madeFor || '',
378
- notes: i.notes || ''
379
- };
380
- });
381
- return simpleCart;
382
- };
383
- exports.makeSimpleCart = makeSimpleCart;
384
- var calcCartCounts = function (cart) {
385
- return cart.reduce(function (obj, item) {
386
- var _a;
387
- var newCount = (obj[item.id] || 0) + item.quantity;
388
- return tslib_1.__assign(tslib_1.__assign({}, obj), (_a = {}, _a[item.id] = newCount, _a));
389
- }, {});
390
- };
391
- exports.calcCartCounts = calcCartCounts;
392
- var getItemOptions = function (item) {
393
- if (!item.groups || !item.groups.length)
394
- return [];
395
- var options = item.groups
396
- .map(function (group) { return group.options.filter(function (option) { return option.quantity > 0; }); })
397
- .reduce(function (arr, i) { return tslib_1.__spreadArray(tslib_1.__spreadArray([], arr, true), i, true); }, []);
398
- return options;
399
- };
400
- exports.getItemOptions = getItemOptions;
@@ -1,2 +0,0 @@
1
- import { Theme } from '@emotion/react';
2
- export declare const theme: Theme;
@@ -1,253 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.theme = void 0;
4
- var react_device_detect_1 = require("react-device-detect");
5
- var layoutOptions = {
6
- tablet: {
7
- padding: '25px',
8
- margin: '50px',
9
- headerHeight: '64px',
10
- footerHeight: '52px',
11
- asideWidth: '420px',
12
- sidebarWidth: '360px',
13
- cardWidth: '480px',
14
- bigButtonHeight: '80px',
15
- gutter: '5px'
16
- },
17
- mobile: {
18
- padding: '15px',
19
- margin: '30px',
20
- headerHeight: '56px',
21
- footerHeight: '32px',
22
- asideWidth: '320px',
23
- sidebarWidth: '280px',
24
- cardWidth: '360px',
25
- bigButtonHeight: '70px',
26
- gutter: '5px'
27
- }
28
- };
29
- var fontSizesOptions = {
30
- tablet: {
31
- xxxsmall: '8px',
32
- xxsmall: '10px',
33
- xsmall: '12px',
34
- small: '14px',
35
- medium: '16px',
36
- large: '20px',
37
- xlarge: '24px',
38
- xxlarge: '32px',
39
- xxxlarge: '48px'
40
- },
41
- mobile: {
42
- xxxsmall: '6px',
43
- xxsmall: '8px',
44
- xsmall: '10px',
45
- small: '12px',
46
- medium: '14px',
47
- large: '16px',
48
- xlarge: '20px',
49
- xxlarge: '26px',
50
- xxxlarge: '32px'
51
- }
52
- };
53
- var radiusOptions = {
54
- tablet: {
55
- small: '3px',
56
- medium: '6px',
57
- large: '9px'
58
- },
59
- mobile: {
60
- small: '2px',
61
- medium: '4px',
62
- large: '6px'
63
- }
64
- };
65
- var buttonSizeOptions = {
66
- tablet: {
67
- link: {
68
- fontSize: 'inherit',
69
- padding: '0',
70
- height: 'auto'
71
- },
72
- xsmall: {
73
- fontSize: '12px',
74
- padding: '6px',
75
- height: 'auto'
76
- },
77
- small: {
78
- fontSize: '14px',
79
- padding: '9px 18px',
80
- height: 'auto'
81
- },
82
- medium: {
83
- fontSize: '14px',
84
- padding: '13px 24px',
85
- height: 'auto'
86
- },
87
- large: {
88
- fontSize: '18px',
89
- padding: '18px 24px',
90
- height: 'auto'
91
- },
92
- xlarge: {
93
- fontSize: '20px',
94
- padding: '0 15px',
95
- height: '80px'
96
- },
97
- tall: {
98
- fontSize: '14px',
99
- padding: '0 15px',
100
- height: '60px'
101
- }
102
- },
103
- mobile: {
104
- link: {
105
- fontSize: 'inherit',
106
- padding: '0',
107
- height: 'auto'
108
- },
109
- xsmall: {
110
- fontSize: '10px',
111
- padding: '4px',
112
- height: 'auto'
113
- },
114
- small: {
115
- fontSize: '12px',
116
- padding: '6px 12px',
117
- height: 'auto'
118
- },
119
- medium: {
120
- fontSize: '14px',
121
- padding: '8px 16px',
122
- height: 'auto'
123
- },
124
- large: {
125
- fontSize: '16px',
126
- padding: '10px 20px',
127
- height: 'auto'
128
- },
129
- xlarge: {
130
- fontSize: '16px',
131
- padding: '0 12px',
132
- height: '64px'
133
- },
134
- tall: {
135
- fontSize: '12px',
136
- padding: '0 12px',
137
- height: '48px'
138
- }
139
- }
140
- };
141
- var deviceType = react_device_detect_1.isMobileOnly ? 'mobile' : 'tablet';
142
- var layout = layoutOptions[deviceType];
143
- var fontSizes = fontSizesOptions[deviceType];
144
- var radius = radiusOptions[deviceType];
145
- var buttonSizes = buttonSizeOptions[deviceType];
146
- exports.theme = {
147
- transition: 'all 0.15s ease',
148
- disabled: '0.25',
149
- arrowSize: '14px',
150
- overlay: 'rgba(0, 0, 0, 0.8)',
151
- strokeWidth: 1,
152
- breakpoints: {
153
- mobile: '768px'
154
- },
155
- layout: layout,
156
- fontSizes: fontSizes,
157
- radius: radius,
158
- fonts: {
159
- body: {
160
- fontFamily: "'Inter', sans-serif",
161
- fontWeight: '400',
162
- fontStyle: 'normal',
163
- lineHeight: '1.33333',
164
- letterSpacing: '0.01em'
165
- },
166
- headings: {
167
- fontFamily: "'Inter', sans-serif",
168
- fontWeight: '500',
169
- fontStyle: 'normal',
170
- lineHeight: '1.0',
171
- letterSpacing: '-0.013em'
172
- },
173
- mono: {
174
- fontFamily: "'Akkurat Mono', monospace;",
175
- fontWeight: '400',
176
- fontStyle: 'normal',
177
- lineHeight: '1.0',
178
- letterSpacing: '0.04em'
179
- }
180
- },
181
- colors: {
182
- text: {
183
- primary: '#fafafb', // headings
184
- secondary: '#a9b0b7', // body
185
- tertiary: '#5b6167' // secondary body
186
- },
187
- background: {
188
- primary: '#101114', // main
189
- secondary: '#17191c', // boxes
190
- tertiary: '#1c1e21' // modals
191
- },
192
- border: {
193
- primary: '#22252a', // subtle
194
- secondary: '#26282b', // less subtle
195
- tertiary: '#394047' // more pronounced
196
- },
197
- link: {
198
- primary: '#2bba3c', // green
199
- secondary: '#1da1f2', // blue
200
- tertiary: '#a9b0b7' // gray
201
- },
202
- error: {
203
- primary: '#eb2d5a', // red
204
- secondary: '#eb2d5a', // red - TODO: replace
205
- tertiary: '#430d15' // dark red
206
- },
207
- success: {
208
- primary: '#2bba3c', // green
209
- secondary: '#2bba3c', // green
210
- tertiary: '#2bba3c' // green
211
- },
212
- alert: {
213
- primary: '#f8e405', // yellow
214
- secondary: '#5a5aff',
215
- tertiary: '#5a5aff'
216
- }
217
- },
218
- buttons: {
219
- colors: {
220
- primary: {
221
- color: '#fafafb', // white
222
- bgColor: '#2bba3c', // green
223
- borderColor: '#2bba3c' // green
224
- },
225
- secondary: {
226
- color: '#fafafb', // white
227
- bgColor: '#26282b', // gray
228
- borderColor: '#26282b' // gray
229
- },
230
- black: {
231
- color: '#fafafb', // white
232
- bgColor: '#101114', // black
233
- borderColor: '#101114' // black
234
- },
235
- white: {
236
- color: '#101114', // black
237
- bgColor: '#fafafb', // white
238
- borderColor: '#fafafb' // white
239
- },
240
- error: {
241
- color: '#fafafb', // white
242
- bgColor: '#eb2d5a', // red
243
- borderColor: '#eb2d5a' // red
244
- },
245
- invisible: {
246
- color: '#a9b0b7', // gray (secondary text)
247
- bgColor: 'transparent',
248
- borderColor: 'transparent'
249
- }
250
- },
251
- sizes: buttonSizes
252
- }
253
- };
@@ -1,8 +0,0 @@
1
- import { HEX, Rems, ThemeCloud } from '../types';
2
- export declare const hexToRgbA: (hex: HEX, opacity: string) => string | null;
3
- export declare const remsToPixels: (rems: string, ratio: number) => string;
4
- export declare const remsToNumber: (rems: Rems) => number;
5
- export declare const makeRatio: (width: number, height: number) => number;
6
- export declare const makeWidthRatio: (width: number) => number;
7
- export declare const makeHeightRatio: (height: number) => number;
8
- export declare const decorateTheme: (theme: ThemeCloud, ratio: number) => ThemeCloud;