@open-tender/store 0.1.2

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 (423) hide show
  1. package/LICENSE.md +21 -0
  2. package/README.md +3 -0
  3. package/dist/cjs/app/hooks.d.ts +34 -0
  4. package/dist/cjs/app/hooks.js +9 -0
  5. package/dist/cjs/app/hooks.js.map +1 -0
  6. package/dist/cjs/app/index.d.ts +1 -0
  7. package/dist/cjs/app/index.js +5 -0
  8. package/dist/cjs/app/index.js.map +1 -0
  9. package/dist/cjs/app/store.d.ts +98 -0
  10. package/dist/cjs/app/store.js +48 -0
  11. package/dist/cjs/app/store.js.map +1 -0
  12. package/dist/cjs/index.d.ts +5 -0
  13. package/dist/cjs/index.js +10 -0
  14. package/dist/cjs/index.js.map +1 -0
  15. package/dist/cjs/services/api.d.ts +71 -0
  16. package/dist/cjs/services/api.js +324 -0
  17. package/dist/cjs/services/api.js.map +1 -0
  18. package/dist/cjs/services/errors.d.ts +50 -0
  19. package/dist/cjs/services/errors.js +54 -0
  20. package/dist/cjs/services/errors.js.map +1 -0
  21. package/dist/cjs/services/index.d.ts +2 -0
  22. package/dist/cjs/services/index.js +7 -0
  23. package/dist/cjs/services/index.js.map +1 -0
  24. package/dist/cjs/slices/alerts.d.ts +5 -0
  25. package/dist/cjs/slices/alerts.js +33 -0
  26. package/dist/cjs/slices/alerts.js.map +1 -0
  27. package/dist/cjs/slices/arrivals.d.ts +22 -0
  28. package/dist/cjs/slices/arrivals.js +98 -0
  29. package/dist/cjs/slices/arrivals.js.map +1 -0
  30. package/dist/cjs/slices/checkout.d.ts +84 -0
  31. package/dist/cjs/slices/checkout.js +676 -0
  32. package/dist/cjs/slices/checkout.js.map +1 -0
  33. package/dist/cjs/slices/completedOrders.d.ts +22 -0
  34. package/dist/cjs/slices/completedOrders.js +105 -0
  35. package/dist/cjs/slices/completedOrders.js.map +1 -0
  36. package/dist/cjs/slices/config.d.ts +38 -0
  37. package/dist/cjs/slices/config.js +166 -0
  38. package/dist/cjs/slices/config.js.map +1 -0
  39. package/dist/cjs/slices/discounts.d.ts +18 -0
  40. package/dist/cjs/slices/discounts.js +64 -0
  41. package/dist/cjs/slices/discounts.js.map +1 -0
  42. package/dist/cjs/slices/errorAlerts.d.ts +22 -0
  43. package/dist/cjs/slices/errorAlerts.js +92 -0
  44. package/dist/cjs/slices/errorAlerts.js.map +1 -0
  45. package/dist/cjs/slices/index.d.ts +22 -0
  46. package/dist/cjs/slices/index.js +26 -0
  47. package/dist/cjs/slices/index.js.map +1 -0
  48. package/dist/cjs/slices/kds.d.ts +106 -0
  49. package/dist/cjs/slices/kds.js +54 -0
  50. package/dist/cjs/slices/kds.js.map +1 -0
  51. package/dist/cjs/slices/menu.d.ts +19 -0
  52. package/dist/cjs/slices/menu.js +65 -0
  53. package/dist/cjs/slices/menu.js.map +1 -0
  54. package/dist/cjs/slices/menuPages.d.ts +18 -0
  55. package/dist/cjs/slices/menuPages.js +68 -0
  56. package/dist/cjs/slices/menuPages.js.map +1 -0
  57. package/dist/cjs/slices/modal.d.ts +9 -0
  58. package/dist/cjs/slices/modal.js +31 -0
  59. package/dist/cjs/slices/modal.js.map +1 -0
  60. package/dist/cjs/slices/notifications.d.ts +5 -0
  61. package/dist/cjs/slices/notifications.js +26 -0
  62. package/dist/cjs/slices/notifications.js.map +1 -0
  63. package/dist/cjs/slices/offlineAuths.d.ts +23 -0
  64. package/dist/cjs/slices/offlineAuths.js +94 -0
  65. package/dist/cjs/slices/offlineAuths.js.map +1 -0
  66. package/dist/cjs/slices/order.d.ts +60 -0
  67. package/dist/cjs/slices/order.js +278 -0
  68. package/dist/cjs/slices/order.js.map +1 -0
  69. package/dist/cjs/slices/orders.d.ts +78 -0
  70. package/dist/cjs/slices/orders.js +415 -0
  71. package/dist/cjs/slices/orders.js.map +1 -0
  72. package/dist/cjs/slices/pos.d.ts +35 -0
  73. package/dist/cjs/slices/pos.js +139 -0
  74. package/dist/cjs/slices/pos.js.map +1 -0
  75. package/dist/cjs/slices/punches.d.ts +19 -0
  76. package/dist/cjs/slices/punches.js +72 -0
  77. package/dist/cjs/slices/punches.js.map +1 -0
  78. package/dist/cjs/slices/refund.d.ts +29 -0
  79. package/dist/cjs/slices/refund.js +131 -0
  80. package/dist/cjs/slices/refund.js.map +1 -0
  81. package/dist/cjs/slices/settings.d.ts +21 -0
  82. package/dist/cjs/slices/settings.js +98 -0
  83. package/dist/cjs/slices/settings.js.map +1 -0
  84. package/dist/cjs/slices/sidebar.d.ts +7 -0
  85. package/dist/cjs/slices/sidebar.js +29 -0
  86. package/dist/cjs/slices/sidebar.js.map +1 -0
  87. package/dist/cjs/slices/surcharges.d.ts +22 -0
  88. package/dist/cjs/slices/surcharges.js +70 -0
  89. package/dist/cjs/slices/surcharges.js.map +1 -0
  90. package/dist/cjs/slices/taxes.d.ts +18 -0
  91. package/dist/cjs/slices/taxes.js +66 -0
  92. package/dist/cjs/slices/taxes.js.map +1 -0
  93. package/dist/cjs/slices/types.d.ts +24 -0
  94. package/dist/cjs/slices/types.js +29 -0
  95. package/dist/cjs/slices/types.js.map +1 -0
  96. package/dist/cjs/types/api/alerts.d.ts +5 -0
  97. package/dist/cjs/types/api/alerts.js +3 -0
  98. package/dist/cjs/types/api/alerts.js.map +1 -0
  99. package/dist/cjs/types/api/arrivals.d.ts +14 -0
  100. package/dist/cjs/types/api/arrivals.js +3 -0
  101. package/dist/cjs/types/api/arrivals.js.map +1 -0
  102. package/dist/cjs/types/api/cart.d.ts +76 -0
  103. package/dist/cjs/types/api/cart.js +3 -0
  104. package/dist/cjs/types/api/cart.js.map +1 -0
  105. package/dist/cjs/types/api/checkout.d.ts +114 -0
  106. package/dist/cjs/types/api/checkout.js +3 -0
  107. package/dist/cjs/types/api/checkout.js.map +1 -0
  108. package/dist/cjs/types/api/config.d.ts +45 -0
  109. package/dist/cjs/types/api/config.js +3 -0
  110. package/dist/cjs/types/api/config.js.map +1 -0
  111. package/dist/cjs/types/api/customer.d.ts +58 -0
  112. package/dist/cjs/types/api/customer.js +3 -0
  113. package/dist/cjs/types/api/customer.js.map +1 -0
  114. package/dist/cjs/types/api/device.d.ts +3 -0
  115. package/dist/cjs/types/api/device.js +3 -0
  116. package/dist/cjs/types/api/device.js.map +1 -0
  117. package/dist/cjs/types/api/discounts.d.ts +20 -0
  118. package/dist/cjs/types/api/discounts.js +3 -0
  119. package/dist/cjs/types/api/discounts.js.map +1 -0
  120. package/dist/cjs/types/api/employee.d.ts +51 -0
  121. package/dist/cjs/types/api/employee.js +3 -0
  122. package/dist/cjs/types/api/employee.js.map +1 -0
  123. package/dist/cjs/types/api/errorAlerts.d.ts +9 -0
  124. package/dist/cjs/types/api/errorAlerts.js +3 -0
  125. package/dist/cjs/types/api/errorAlerts.js.map +1 -0
  126. package/dist/cjs/types/api/favorite.d.ts +69 -0
  127. package/dist/cjs/types/api/favorite.js +3 -0
  128. package/dist/cjs/types/api/favorite.js.map +1 -0
  129. package/dist/cjs/types/api/giftCard.d.ts +11 -0
  130. package/dist/cjs/types/api/giftCard.js +3 -0
  131. package/dist/cjs/types/api/giftCard.js.map +1 -0
  132. package/dist/cjs/types/api/index.d.ts +24 -0
  133. package/dist/cjs/types/api/index.js +28 -0
  134. package/dist/cjs/types/api/index.js.map +1 -0
  135. package/dist/cjs/types/api/menu.d.ts +135 -0
  136. package/dist/cjs/types/api/menu.js +3 -0
  137. package/dist/cjs/types/api/menu.js.map +1 -0
  138. package/dist/cjs/types/api/menuPages.d.ts +15 -0
  139. package/dist/cjs/types/api/menuPages.js +3 -0
  140. package/dist/cjs/types/api/menuPages.js.map +1 -0
  141. package/dist/cjs/types/api/messages.d.ts +5 -0
  142. package/dist/cjs/types/api/messages.js +3 -0
  143. package/dist/cjs/types/api/messages.js.map +1 -0
  144. package/dist/cjs/types/api/notifications.d.ts +5 -0
  145. package/dist/cjs/types/api/notifications.js +3 -0
  146. package/dist/cjs/types/api/notifications.js.map +1 -0
  147. package/dist/cjs/types/api/offlineAuths.d.ts +12 -0
  148. package/dist/cjs/types/api/offlineAuths.js +3 -0
  149. package/dist/cjs/types/api/offlineAuths.js.map +1 -0
  150. package/dist/cjs/types/api/order.d.ts +348 -0
  151. package/dist/cjs/types/api/order.js +3 -0
  152. package/dist/cjs/types/api/order.js.map +1 -0
  153. package/dist/cjs/types/api/refund.d.ts +22 -0
  154. package/dist/cjs/types/api/refund.js +3 -0
  155. package/dist/cjs/types/api/refund.js.map +1 -0
  156. package/dist/cjs/types/api/revenueCenter.d.ts +52 -0
  157. package/dist/cjs/types/api/revenueCenter.js +3 -0
  158. package/dist/cjs/types/api/revenueCenter.js.map +1 -0
  159. package/dist/cjs/types/api/settings.d.ts +10 -0
  160. package/dist/cjs/types/api/settings.js +3 -0
  161. package/dist/cjs/types/api/settings.js.map +1 -0
  162. package/dist/cjs/types/api/store.d.ts +111 -0
  163. package/dist/cjs/types/api/store.js +3 -0
  164. package/dist/cjs/types/api/store.js.map +1 -0
  165. package/dist/cjs/types/api/surcharges.d.ts +15 -0
  166. package/dist/cjs/types/api/surcharges.js +3 -0
  167. package/dist/cjs/types/api/surcharges.js.map +1 -0
  168. package/dist/cjs/types/api/taxes.d.ts +15 -0
  169. package/dist/cjs/types/api/taxes.js +3 -0
  170. package/dist/cjs/types/api/taxes.js.map +1 -0
  171. package/dist/cjs/types/datetimes.d.ts +37 -0
  172. package/dist/cjs/types/datetimes.js +3 -0
  173. package/dist/cjs/types/datetimes.js.map +1 -0
  174. package/dist/cjs/types/global.d.ts +33 -0
  175. package/dist/cjs/types/global.js +3 -0
  176. package/dist/cjs/types/global.js.map +1 -0
  177. package/dist/cjs/types/index.d.ts +5 -0
  178. package/dist/cjs/types/index.js +9 -0
  179. package/dist/cjs/types/index.js.map +1 -0
  180. package/dist/cjs/types/request.d.ts +14 -0
  181. package/dist/cjs/types/request.js +3 -0
  182. package/dist/cjs/types/request.js.map +1 -0
  183. package/dist/cjs/types/theme.d.ts +68 -0
  184. package/dist/cjs/types/theme.js +3 -0
  185. package/dist/cjs/types/theme.js.map +1 -0
  186. package/dist/cjs/utils/datetimes.d.ts +28 -0
  187. package/dist/cjs/utils/datetimes.js +133 -0
  188. package/dist/cjs/utils/datetimes.js.map +1 -0
  189. package/dist/cjs/utils/helpers.d.ts +27 -0
  190. package/dist/cjs/utils/helpers.js +102 -0
  191. package/dist/cjs/utils/helpers.js.map +1 -0
  192. package/dist/cjs/utils/index.d.ts +7 -0
  193. package/dist/cjs/utils/index.js +11 -0
  194. package/dist/cjs/utils/index.js.map +1 -0
  195. package/dist/cjs/utils/keypad.d.ts +9 -0
  196. package/dist/cjs/utils/keypad.js +107 -0
  197. package/dist/cjs/utils/keypad.js.map +1 -0
  198. package/dist/cjs/utils/menu.d.ts +9 -0
  199. package/dist/cjs/utils/menu.js +32 -0
  200. package/dist/cjs/utils/menu.js.map +1 -0
  201. package/dist/cjs/utils/order.d.ts +155 -0
  202. package/dist/cjs/utils/order.js +342 -0
  203. package/dist/cjs/utils/order.js.map +1 -0
  204. package/dist/cjs/utils/orders.d.ts +54 -0
  205. package/dist/cjs/utils/orders.js +284 -0
  206. package/dist/cjs/utils/orders.js.map +1 -0
  207. package/dist/cjs/utils/refunds.d.ts +17 -0
  208. package/dist/cjs/utils/refunds.js +117 -0
  209. package/dist/cjs/utils/refunds.js.map +1 -0
  210. package/dist/cjs/utils/theme.d.ts +2 -0
  211. package/dist/cjs/utils/theme.js +254 -0
  212. package/dist/cjs/utils/theme.js.map +1 -0
  213. package/dist/esm/app/hooks.d.ts +34 -0
  214. package/dist/esm/app/hooks.js +5 -0
  215. package/dist/esm/app/hooks.js.map +1 -0
  216. package/dist/esm/app/index.d.ts +1 -0
  217. package/dist/esm/app/index.js +2 -0
  218. package/dist/esm/app/index.js.map +1 -0
  219. package/dist/esm/app/store.d.ts +98 -0
  220. package/dist/esm/app/store.js +45 -0
  221. package/dist/esm/app/store.js.map +1 -0
  222. package/dist/esm/index.d.ts +5 -0
  223. package/dist/esm/index.js +6 -0
  224. package/dist/esm/index.js.map +1 -0
  225. package/dist/esm/services/api.d.ts +71 -0
  226. package/dist/esm/services/api.js +322 -0
  227. package/dist/esm/services/api.js.map +1 -0
  228. package/dist/esm/services/errors.d.ts +50 -0
  229. package/dist/esm/services/errors.js +51 -0
  230. package/dist/esm/services/errors.js.map +1 -0
  231. package/dist/esm/services/index.d.ts +2 -0
  232. package/dist/esm/services/index.js +3 -0
  233. package/dist/esm/services/index.js.map +1 -0
  234. package/dist/esm/slices/alerts.d.ts +5 -0
  235. package/dist/esm/slices/alerts.js +29 -0
  236. package/dist/esm/slices/alerts.js.map +1 -0
  237. package/dist/esm/slices/arrivals.d.ts +22 -0
  238. package/dist/esm/slices/arrivals.js +94 -0
  239. package/dist/esm/slices/arrivals.js.map +1 -0
  240. package/dist/esm/slices/checkout.d.ts +84 -0
  241. package/dist/esm/slices/checkout.js +665 -0
  242. package/dist/esm/slices/checkout.js.map +1 -0
  243. package/dist/esm/slices/completedOrders.d.ts +22 -0
  244. package/dist/esm/slices/completedOrders.js +101 -0
  245. package/dist/esm/slices/completedOrders.js.map +1 -0
  246. package/dist/esm/slices/config.d.ts +38 -0
  247. package/dist/esm/slices/config.js +154 -0
  248. package/dist/esm/slices/config.js.map +1 -0
  249. package/dist/esm/slices/discounts.d.ts +18 -0
  250. package/dist/esm/slices/discounts.js +60 -0
  251. package/dist/esm/slices/discounts.js.map +1 -0
  252. package/dist/esm/slices/errorAlerts.d.ts +22 -0
  253. package/dist/esm/slices/errorAlerts.js +88 -0
  254. package/dist/esm/slices/errorAlerts.js.map +1 -0
  255. package/dist/esm/slices/index.d.ts +22 -0
  256. package/dist/esm/slices/index.js +23 -0
  257. package/dist/esm/slices/index.js.map +1 -0
  258. package/dist/esm/slices/kds.d.ts +106 -0
  259. package/dist/esm/slices/kds.js +45 -0
  260. package/dist/esm/slices/kds.js.map +1 -0
  261. package/dist/esm/slices/menu.d.ts +19 -0
  262. package/dist/esm/slices/menu.js +60 -0
  263. package/dist/esm/slices/menu.js.map +1 -0
  264. package/dist/esm/slices/menuPages.d.ts +18 -0
  265. package/dist/esm/slices/menuPages.js +63 -0
  266. package/dist/esm/slices/menuPages.js.map +1 -0
  267. package/dist/esm/slices/modal.d.ts +9 -0
  268. package/dist/esm/slices/modal.js +26 -0
  269. package/dist/esm/slices/modal.js.map +1 -0
  270. package/dist/esm/slices/notifications.d.ts +5 -0
  271. package/dist/esm/slices/notifications.js +22 -0
  272. package/dist/esm/slices/notifications.js.map +1 -0
  273. package/dist/esm/slices/offlineAuths.d.ts +23 -0
  274. package/dist/esm/slices/offlineAuths.js +90 -0
  275. package/dist/esm/slices/offlineAuths.js.map +1 -0
  276. package/dist/esm/slices/order.d.ts +60 -0
  277. package/dist/esm/slices/order.js +255 -0
  278. package/dist/esm/slices/order.js.map +1 -0
  279. package/dist/esm/slices/orders.d.ts +78 -0
  280. package/dist/esm/slices/orders.js +405 -0
  281. package/dist/esm/slices/orders.js.map +1 -0
  282. package/dist/esm/slices/pos.d.ts +35 -0
  283. package/dist/esm/slices/pos.js +128 -0
  284. package/dist/esm/slices/pos.js.map +1 -0
  285. package/dist/esm/slices/punches.d.ts +19 -0
  286. package/dist/esm/slices/punches.js +67 -0
  287. package/dist/esm/slices/punches.js.map +1 -0
  288. package/dist/esm/slices/refund.d.ts +29 -0
  289. package/dist/esm/slices/refund.js +127 -0
  290. package/dist/esm/slices/refund.js.map +1 -0
  291. package/dist/esm/slices/settings.d.ts +21 -0
  292. package/dist/esm/slices/settings.js +94 -0
  293. package/dist/esm/slices/settings.js.map +1 -0
  294. package/dist/esm/slices/sidebar.d.ts +7 -0
  295. package/dist/esm/slices/sidebar.js +25 -0
  296. package/dist/esm/slices/sidebar.js.map +1 -0
  297. package/dist/esm/slices/surcharges.d.ts +22 -0
  298. package/dist/esm/slices/surcharges.js +66 -0
  299. package/dist/esm/slices/surcharges.js.map +1 -0
  300. package/dist/esm/slices/taxes.d.ts +18 -0
  301. package/dist/esm/slices/taxes.js +62 -0
  302. package/dist/esm/slices/taxes.js.map +1 -0
  303. package/dist/esm/slices/types.d.ts +24 -0
  304. package/dist/esm/slices/types.js +26 -0
  305. package/dist/esm/slices/types.js.map +1 -0
  306. package/dist/esm/types/api/alerts.d.ts +5 -0
  307. package/dist/esm/types/api/alerts.js +2 -0
  308. package/dist/esm/types/api/alerts.js.map +1 -0
  309. package/dist/esm/types/api/arrivals.d.ts +14 -0
  310. package/dist/esm/types/api/arrivals.js +2 -0
  311. package/dist/esm/types/api/arrivals.js.map +1 -0
  312. package/dist/esm/types/api/cart.d.ts +76 -0
  313. package/dist/esm/types/api/cart.js +2 -0
  314. package/dist/esm/types/api/cart.js.map +1 -0
  315. package/dist/esm/types/api/checkout.d.ts +114 -0
  316. package/dist/esm/types/api/checkout.js +2 -0
  317. package/dist/esm/types/api/checkout.js.map +1 -0
  318. package/dist/esm/types/api/config.d.ts +45 -0
  319. package/dist/esm/types/api/config.js +2 -0
  320. package/dist/esm/types/api/config.js.map +1 -0
  321. package/dist/esm/types/api/customer.d.ts +58 -0
  322. package/dist/esm/types/api/customer.js +2 -0
  323. package/dist/esm/types/api/customer.js.map +1 -0
  324. package/dist/esm/types/api/device.d.ts +3 -0
  325. package/dist/esm/types/api/device.js +2 -0
  326. package/dist/esm/types/api/device.js.map +1 -0
  327. package/dist/esm/types/api/discounts.d.ts +20 -0
  328. package/dist/esm/types/api/discounts.js +2 -0
  329. package/dist/esm/types/api/discounts.js.map +1 -0
  330. package/dist/esm/types/api/employee.d.ts +51 -0
  331. package/dist/esm/types/api/employee.js +2 -0
  332. package/dist/esm/types/api/employee.js.map +1 -0
  333. package/dist/esm/types/api/errorAlerts.d.ts +9 -0
  334. package/dist/esm/types/api/errorAlerts.js +2 -0
  335. package/dist/esm/types/api/errorAlerts.js.map +1 -0
  336. package/dist/esm/types/api/favorite.d.ts +69 -0
  337. package/dist/esm/types/api/favorite.js +2 -0
  338. package/dist/esm/types/api/favorite.js.map +1 -0
  339. package/dist/esm/types/api/giftCard.d.ts +11 -0
  340. package/dist/esm/types/api/giftCard.js +2 -0
  341. package/dist/esm/types/api/giftCard.js.map +1 -0
  342. package/dist/esm/types/api/index.d.ts +24 -0
  343. package/dist/esm/types/api/index.js +25 -0
  344. package/dist/esm/types/api/index.js.map +1 -0
  345. package/dist/esm/types/api/menu.d.ts +135 -0
  346. package/dist/esm/types/api/menu.js +2 -0
  347. package/dist/esm/types/api/menu.js.map +1 -0
  348. package/dist/esm/types/api/menuPages.d.ts +15 -0
  349. package/dist/esm/types/api/menuPages.js +2 -0
  350. package/dist/esm/types/api/menuPages.js.map +1 -0
  351. package/dist/esm/types/api/messages.d.ts +5 -0
  352. package/dist/esm/types/api/messages.js +2 -0
  353. package/dist/esm/types/api/messages.js.map +1 -0
  354. package/dist/esm/types/api/notifications.d.ts +5 -0
  355. package/dist/esm/types/api/notifications.js +2 -0
  356. package/dist/esm/types/api/notifications.js.map +1 -0
  357. package/dist/esm/types/api/offlineAuths.d.ts +12 -0
  358. package/dist/esm/types/api/offlineAuths.js +2 -0
  359. package/dist/esm/types/api/offlineAuths.js.map +1 -0
  360. package/dist/esm/types/api/order.d.ts +348 -0
  361. package/dist/esm/types/api/order.js +2 -0
  362. package/dist/esm/types/api/order.js.map +1 -0
  363. package/dist/esm/types/api/refund.d.ts +22 -0
  364. package/dist/esm/types/api/refund.js +2 -0
  365. package/dist/esm/types/api/refund.js.map +1 -0
  366. package/dist/esm/types/api/revenueCenter.d.ts +52 -0
  367. package/dist/esm/types/api/revenueCenter.js +2 -0
  368. package/dist/esm/types/api/revenueCenter.js.map +1 -0
  369. package/dist/esm/types/api/settings.d.ts +10 -0
  370. package/dist/esm/types/api/settings.js +2 -0
  371. package/dist/esm/types/api/settings.js.map +1 -0
  372. package/dist/esm/types/api/store.d.ts +111 -0
  373. package/dist/esm/types/api/store.js +2 -0
  374. package/dist/esm/types/api/store.js.map +1 -0
  375. package/dist/esm/types/api/surcharges.d.ts +15 -0
  376. package/dist/esm/types/api/surcharges.js +2 -0
  377. package/dist/esm/types/api/surcharges.js.map +1 -0
  378. package/dist/esm/types/api/taxes.d.ts +15 -0
  379. package/dist/esm/types/api/taxes.js +2 -0
  380. package/dist/esm/types/api/taxes.js.map +1 -0
  381. package/dist/esm/types/datetimes.d.ts +37 -0
  382. package/dist/esm/types/datetimes.js +2 -0
  383. package/dist/esm/types/datetimes.js.map +1 -0
  384. package/dist/esm/types/global.d.ts +33 -0
  385. package/dist/esm/types/global.js +2 -0
  386. package/dist/esm/types/global.js.map +1 -0
  387. package/dist/esm/types/index.d.ts +5 -0
  388. package/dist/esm/types/index.js +6 -0
  389. package/dist/esm/types/index.js.map +1 -0
  390. package/dist/esm/types/request.d.ts +14 -0
  391. package/dist/esm/types/request.js +2 -0
  392. package/dist/esm/types/request.js.map +1 -0
  393. package/dist/esm/types/theme.d.ts +68 -0
  394. package/dist/esm/types/theme.js +2 -0
  395. package/dist/esm/types/theme.js.map +1 -0
  396. package/dist/esm/utils/datetimes.d.ts +28 -0
  397. package/dist/esm/utils/datetimes.js +113 -0
  398. package/dist/esm/utils/datetimes.js.map +1 -0
  399. package/dist/esm/utils/helpers.d.ts +27 -0
  400. package/dist/esm/utils/helpers.js +87 -0
  401. package/dist/esm/utils/helpers.js.map +1 -0
  402. package/dist/esm/utils/index.d.ts +7 -0
  403. package/dist/esm/utils/index.js +8 -0
  404. package/dist/esm/utils/index.js.map +1 -0
  405. package/dist/esm/utils/keypad.d.ts +9 -0
  406. package/dist/esm/utils/keypad.js +99 -0
  407. package/dist/esm/utils/keypad.js.map +1 -0
  408. package/dist/esm/utils/menu.d.ts +9 -0
  409. package/dist/esm/utils/menu.js +26 -0
  410. package/dist/esm/utils/menu.js.map +1 -0
  411. package/dist/esm/utils/order.d.ts +155 -0
  412. package/dist/esm/utils/order.js +326 -0
  413. package/dist/esm/utils/order.js.map +1 -0
  414. package/dist/esm/utils/orders.d.ts +54 -0
  415. package/dist/esm/utils/orders.js +264 -0
  416. package/dist/esm/utils/orders.js.map +1 -0
  417. package/dist/esm/utils/refunds.d.ts +17 -0
  418. package/dist/esm/utils/refunds.js +112 -0
  419. package/dist/esm/utils/refunds.js.map +1 -0
  420. package/dist/esm/utils/theme.d.ts +2 -0
  421. package/dist/esm/utils/theme.js +251 -0
  422. package/dist/esm/utils/theme.js.map +1 -0
  423. package/package.json +64 -0
@@ -0,0 +1,676 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.checkoutReducer = exports.selectPosCheckGiftCardCodes = exports.selectPosCheckTenders = exports.selectPosCheckTotal = exports.selectPosAmountDue = exports.selectPosPendingDiscounts = exports.selectPosCustomer = exports.selectPosCheck = exports.selectPosCheckout = exports.setPoints = exports.setPendingDiscounts = exports.removeCustomer = exports.addCustomer = exports.setTaxExempt = exports.removeTip = exports.addTip = exports.removeTax = exports.addTax = exports.removeDiscount = exports.addDiscount = exports.removeSurcharge = exports.addSurcharge = exports.removeGiftCard = exports.addGiftCard = exports.handleCheckoutError = exports.resetPosCheck = exports.resetPosCheckout = exports.activateGiftCards = exports.voidPosOrder = exports.submitPosOrder = exports.validatePosOrder = exports.completeChipDNA = exports.identifyCustomer = exports.updateCart = exports.updateTender = exports.removeTender = exports.addTender = exports.CheckoutActionType = void 0;
5
+ var tslib_1 = require("tslib");
6
+ var toolkit_1 = require("@reduxjs/toolkit");
7
+ var uuid_1 = require("uuid");
8
+ var utils_1 = require("../utils");
9
+ var order_1 = require("../utils/order");
10
+ var alerts_1 = require("./alerts");
11
+ var notifications_1 = require("./notifications");
12
+ var order_2 = require("./order");
13
+ var pos_1 = require("./pos");
14
+ var types_1 = require("./types");
15
+ var initialState = {
16
+ check: null,
17
+ loading: 'idle',
18
+ authorizing: 'idle',
19
+ removing: 'idle',
20
+ validating: 'idle',
21
+ submitting: 'idle',
22
+ activating: 'idle',
23
+ identifying: 'idle',
24
+ error: null,
25
+ giftCards: [],
26
+ surcharges: [],
27
+ discounts: [],
28
+ points: [],
29
+ taxes: [],
30
+ isTaxExempt: false,
31
+ tip: '0.00',
32
+ customer: null,
33
+ pendingDiscounts: false
34
+ };
35
+ var getAmountDue = function (check) {
36
+ return check && check.totals ? check.totals.amount_due : null;
37
+ };
38
+ var prepareOrder = function (order, checkout) {
39
+ var order_uuid = order.orderId, requested_at = order.requestedAt, service_type = order.serviceType, order_type = order.orderType, revenueCenter = order.revenueCenter;
40
+ var simpleCart = (0, order_1.makeSimpleCart)(order.cart);
41
+ var cart = simpleCart.filter(function (item) { return item; });
42
+ var revenue_center_id = revenueCenter === null || revenueCenter === void 0 ? void 0 : revenueCenter.revenue_center_id;
43
+ var customer = checkout.customer, gift_cards = checkout.giftCards, surcharges = checkout.surcharges, discounts = checkout.discounts, taxes = checkout.taxes, tip = checkout.tip, isTaxExempt = checkout.isTaxExempt, points = checkout.points;
44
+ var is_tax_exempt = isTaxExempt ? true : false;
45
+ return {
46
+ order_uuid: order_uuid,
47
+ revenue_center_id: revenue_center_id,
48
+ order_type: order_type,
49
+ service_type: service_type,
50
+ requested_at: requested_at,
51
+ customer: customer,
52
+ cart: cart,
53
+ gift_cards: gift_cards,
54
+ surcharges: surcharges,
55
+ discounts: discounts,
56
+ taxes: taxes,
57
+ is_tax_exempt: is_tax_exempt,
58
+ tip: tip,
59
+ points: points
60
+ };
61
+ };
62
+ var CheckoutActionType;
63
+ (function (CheckoutActionType) {
64
+ CheckoutActionType["AddTender"] = "checkout/addTender";
65
+ CheckoutActionType["RemoveTender"] = "checkout/removeTender";
66
+ CheckoutActionType["UpdateTender"] = "checkout/updateTender";
67
+ CheckoutActionType["UpdateCart"] = "checkout/updateCart";
68
+ CheckoutActionType["IdentifyCustomer"] = "checkout/identifyCustomer";
69
+ CheckoutActionType["CompleteChipDNA"] = "checkout/completeChipDNA";
70
+ CheckoutActionType["ValidatePosOrder"] = "checkout/validatePosOrder";
71
+ CheckoutActionType["SubmitPosOrder"] = "checkout/submitPosOrder";
72
+ CheckoutActionType["VoidPosOrder"] = "checkout/voidPosOrder";
73
+ CheckoutActionType["ActivateGiftCards"] = "checkout/activateGiftCards";
74
+ })(CheckoutActionType = exports.CheckoutActionType || (exports.CheckoutActionType = {}));
75
+ exports.addTender = (0, toolkit_1.createAsyncThunk)(CheckoutActionType.AddTender, function (tender, _a) {
76
+ var dispatch = _a.dispatch, getState = _a.getState, rejectWithValue = _a.rejectWithValue;
77
+ return tslib_1.__awaiter(void 0, void 0, void 0, function () {
78
+ var _b, config, order, checkout, orderId, api, hasLoyalty, amountDue, response, amount, credit_card, card_token, callback, data, err_1;
79
+ return tslib_1.__generator(this, function (_c) {
80
+ switch (_c.label) {
81
+ case 0:
82
+ _c.trys.push([0, 5, , 6]);
83
+ _b = getState(), config = _b.config, order = _b.order, checkout = _b.checkout;
84
+ orderId = order.orderId;
85
+ if (!orderId)
86
+ return [2 /*return*/];
87
+ api = config.api;
88
+ hasLoyalty = config.store ? config.store.has_loyalty : false;
89
+ amountDue = getAmountDue(checkout.check);
90
+ return [4 /*yield*/, api.postTender(orderId, tender)];
91
+ case 1:
92
+ response = _c.sent();
93
+ amount = response.amount, credit_card = response.credit_card;
94
+ card_token = (credit_card || {}).token;
95
+ callback = amount === amountDue
96
+ ? function () { return dispatch((0, exports.submitPosOrder)()); }
97
+ : function () { return dispatch((0, exports.validatePosOrder)()); };
98
+ if (!(hasLoyalty && card_token && !checkout.customer)) return [3 /*break*/, 2];
99
+ data = { card_token: card_token };
100
+ dispatch((0, exports.identifyCustomer)({ data: data, callback: callback }));
101
+ return [3 /*break*/, 4];
102
+ case 2: return [4 /*yield*/, callback()];
103
+ case 3:
104
+ _c.sent();
105
+ _c.label = 4;
106
+ case 4: return [2 /*return*/, response];
107
+ case 5:
108
+ err_1 = _c.sent();
109
+ return [2 /*return*/, rejectWithValue(err_1)];
110
+ case 6: return [2 /*return*/];
111
+ }
112
+ });
113
+ });
114
+ });
115
+ exports.removeTender = (0, toolkit_1.createAsyncThunk)(CheckoutActionType.RemoveTender, function (index, _a) {
116
+ var dispatch = _a.dispatch, getState = _a.getState, rejectWithValue = _a.rejectWithValue;
117
+ return tslib_1.__awaiter(void 0, void 0, void 0, function () {
118
+ var api, orderId, response, err_2;
119
+ return tslib_1.__generator(this, function (_b) {
120
+ switch (_b.label) {
121
+ case 0:
122
+ _b.trys.push([0, 2, , 3]);
123
+ api = getState().config.api;
124
+ orderId = getState().order.orderId;
125
+ if (!orderId)
126
+ return [2 /*return*/];
127
+ return [4 /*yield*/, api.postTenderVoid(orderId, index)];
128
+ case 1:
129
+ response = _b.sent();
130
+ dispatch((0, exports.validatePosOrder)());
131
+ return [2 /*return*/, response];
132
+ case 2:
133
+ err_2 = _b.sent();
134
+ return [2 /*return*/, rejectWithValue(err_2)];
135
+ case 3: return [2 /*return*/];
136
+ }
137
+ });
138
+ });
139
+ });
140
+ exports.updateTender = (0, toolkit_1.createAsyncThunk)(CheckoutActionType.UpdateTender, function (_, _a) {
141
+ var dispatch = _a.dispatch, getState = _a.getState, rejectWithValue = _a.rejectWithValue;
142
+ return tslib_1.__awaiter(void 0, void 0, void 0, function () {
143
+ var api, orderId, check, tenders, totals, tender, index, amountTender, amountDue, amount, admountData, response, err_3;
144
+ return tslib_1.__generator(this, function (_b) {
145
+ switch (_b.label) {
146
+ case 0:
147
+ _b.trys.push([0, 4, , 5]);
148
+ api = getState().config.api;
149
+ orderId = getState().order.orderId;
150
+ check = getState().checkout.check;
151
+ if (!orderId || !check)
152
+ return [2 /*return*/];
153
+ tenders = check.tenders, totals = check.totals;
154
+ tender = tenders.find(function (i) { return i.tender_status === 'AUTHORIZED'; });
155
+ if (!tender)
156
+ return [2 /*return*/];
157
+ index = tender.tender_index || 0;
158
+ amountTender = parseFloat(tender.amount);
159
+ amountDue = parseFloat(totals.amount_due || '0.00');
160
+ amount = amountTender + amountDue;
161
+ if (!(amount > 0)) return [3 /*break*/, 2];
162
+ admountData = { amount: amount.toFixed(2) };
163
+ return [4 /*yield*/, api.patchTender(orderId, index, admountData)];
164
+ case 1:
165
+ response = _b.sent();
166
+ dispatch((0, exports.validatePosOrder)());
167
+ return [2 /*return*/, response];
168
+ case 2:
169
+ dispatch((0, exports.removeTender)(index)).then(function () {
170
+ var msg = 'Order fully discounted. Tender removed.';
171
+ dispatch((0, notifications_1.showNotification)(msg));
172
+ });
173
+ _b.label = 3;
174
+ case 3: return [3 /*break*/, 5];
175
+ case 4:
176
+ err_3 = _b.sent();
177
+ return [2 /*return*/, rejectWithValue(err_3)];
178
+ case 5: return [2 /*return*/];
179
+ }
180
+ });
181
+ });
182
+ });
183
+ // TODO: add types
184
+ exports.updateCart = (0, toolkit_1.createAsyncThunk)(CheckoutActionType.UpdateCart, function (cartErrors, _a) {
185
+ var dispatch = _a.dispatch, getState = _a.getState, rejectWithValue = _a.rejectWithValue;
186
+ return tslib_1.__awaiter(void 0, void 0, void 0, function () {
187
+ var cart, _i, cartErrors_1, item, itemError, errIndices_1, newCart;
188
+ return tslib_1.__generator(this, function (_b) {
189
+ try {
190
+ cart = getState().order.cart;
191
+ if (!cart)
192
+ return [2 /*return*/];
193
+ for (_i = 0, cartErrors_1 = cartErrors; _i < cartErrors_1.length; _i++) {
194
+ item = cartErrors_1[_i];
195
+ itemError = item.id || item.groups || item.options;
196
+ if (itemError) {
197
+ dispatch((0, alerts_1.addAlert)(itemError));
198
+ }
199
+ }
200
+ errIndices_1 = cartErrors.map(function (i) { return i.index; });
201
+ newCart = cart.filter(function (_, idx) { return !errIndices_1.includes(idx); });
202
+ dispatch((0, order_2.setCart)(newCart));
203
+ // not necessary here since validatePosOrder() runs when
204
+ // error is set to null when updateCart is fulfilled
205
+ // dispatch(validatePosOrder())
206
+ return [2 /*return*/];
207
+ }
208
+ catch (err) {
209
+ return [2 /*return*/, rejectWithValue(err)];
210
+ }
211
+ return [2 /*return*/];
212
+ });
213
+ });
214
+ });
215
+ exports.identifyCustomer = (0, toolkit_1.createAsyncThunk)(CheckoutActionType.IdentifyCustomer, function (_a, _b) {
216
+ var data = _a.data, callback = _a.callback, showError = _a.showError;
217
+ var dispatch = _b.dispatch, getState = _b.getState, rejectWithValue = _b.rejectWithValue;
218
+ return tslib_1.__awaiter(void 0, void 0, void 0, function () {
219
+ var api, response, customer, discounts, points, discount, autoDiscounts, err_4, errMsg;
220
+ return tslib_1.__generator(this, function (_c) {
221
+ switch (_c.label) {
222
+ case 0:
223
+ _c.trys.push([0, 8, , 12]);
224
+ api = getState().config.api;
225
+ if (!api) {
226
+ return [2 /*return*/];
227
+ }
228
+ return [4 /*yield*/, api.postIdentifyCustomer(data)];
229
+ case 1:
230
+ response = _c.sent();
231
+ customer = response.customer, discounts = response.discounts, points = response.points, discount = response.discount;
232
+ dispatch((0, exports.addCustomer)(tslib_1.__assign(tslib_1.__assign({}, customer), { discounts: discounts, points: points, discount: discount })));
233
+ autoDiscounts = discounts.filter(function (i) { return i.is_auto; });
234
+ autoDiscounts.forEach(function (i) {
235
+ var discountData = { id: i.discount_id, amount: i.amount };
236
+ dispatch((0, exports.addDiscount)(discountData));
237
+ var msg = "".concat(i.name, " discount applied!");
238
+ dispatch((0, notifications_1.showNotification)(msg));
239
+ });
240
+ if (!(points && points > 0)) return [3 /*break*/, 3];
241
+ dispatch((0, exports.setPendingDiscounts)(true));
242
+ return [4 /*yield*/, dispatch((0, exports.validatePosOrder)())];
243
+ case 2:
244
+ _c.sent();
245
+ return [3 /*break*/, 7];
246
+ case 3:
247
+ if (!discounts.length) return [3 /*break*/, 5];
248
+ dispatch((0, exports.setPendingDiscounts)(autoDiscounts.length === 0));
249
+ return [4 /*yield*/, dispatch((0, exports.validatePosOrder)())];
250
+ case 4:
251
+ _c.sent();
252
+ return [3 /*break*/, 7];
253
+ case 5:
254
+ if (!callback) return [3 /*break*/, 7];
255
+ return [4 /*yield*/, callback()];
256
+ case 6:
257
+ _c.sent();
258
+ _c.label = 7;
259
+ case 7: return [2 /*return*/, response];
260
+ case 8:
261
+ err_4 = _c.sent();
262
+ if (showError) {
263
+ errMsg = err_4.status === 404
264
+ ? 'Customer not found. Please try again.'
265
+ : err_4.detail || err_4.message;
266
+ dispatch((0, alerts_1.addAlert)(errMsg));
267
+ }
268
+ if (!callback) return [3 /*break*/, 10];
269
+ return [4 /*yield*/, callback()];
270
+ case 9:
271
+ _c.sent();
272
+ return [3 /*break*/, 11];
273
+ case 10: return [2 /*return*/, rejectWithValue(err_4)];
274
+ case 11: return [3 /*break*/, 12];
275
+ case 12: return [2 /*return*/];
276
+ }
277
+ });
278
+ });
279
+ });
280
+ exports.completeChipDNA = (0, toolkit_1.createAsyncThunk)(CheckoutActionType.CompleteChipDNA, function (card_token, _a) {
281
+ var dispatch = _a.dispatch, getState = _a.getState, rejectWithValue = _a.rejectWithValue;
282
+ return tslib_1.__awaiter(void 0, void 0, void 0, function () {
283
+ var _b, config, checkout, hasLoyalty, data, callback, err_5;
284
+ return tslib_1.__generator(this, function (_c) {
285
+ switch (_c.label) {
286
+ case 0:
287
+ _c.trys.push([0, 4, , 5]);
288
+ _b = getState(), config = _b.config, checkout = _b.checkout;
289
+ hasLoyalty = config.store ? config.store.has_loyalty : false;
290
+ if (!(hasLoyalty && card_token && !checkout.customer)) return [3 /*break*/, 1];
291
+ data = { card_token: card_token };
292
+ callback = function () { return dispatch((0, exports.validatePosOrder)()); };
293
+ dispatch((0, exports.identifyCustomer)({ data: data, callback: callback }));
294
+ return [2 /*return*/];
295
+ case 1: return [4 /*yield*/, dispatch((0, exports.validatePosOrder)())];
296
+ case 2: return [2 /*return*/, _c.sent()];
297
+ case 3: return [3 /*break*/, 5];
298
+ case 4:
299
+ err_5 = _c.sent();
300
+ return [2 /*return*/, rejectWithValue(err_5)];
301
+ case 5: return [2 /*return*/];
302
+ }
303
+ });
304
+ });
305
+ });
306
+ exports.validatePosOrder = (0, toolkit_1.createAsyncThunk)(CheckoutActionType.ValidatePosOrder, function (_, _a) {
307
+ var dispatch = _a.dispatch, getState = _a.getState, rejectWithValue = _a.rejectWithValue;
308
+ return tslib_1.__awaiter(void 0, void 0, void 0, function () {
309
+ var _b, config, order, checkout, preparedOrder, check, orderDiscountIds, checkDiscountIds_1, toRemove, err_6, errors, fields;
310
+ return tslib_1.__generator(this, function (_c) {
311
+ switch (_c.label) {
312
+ case 0:
313
+ _c.trys.push([0, 2, , 3]);
314
+ _b = getState(), config = _b.config, order = _b.order, checkout = _b.checkout;
315
+ preparedOrder = prepareOrder(order, checkout);
316
+ return [4 /*yield*/, config.api.postOrderValidate(preparedOrder)
317
+ // remove any submitted discounts that aren't applied
318
+ ];
319
+ case 1:
320
+ check = _c.sent();
321
+ orderDiscountIds = preparedOrder.discounts.map(function (i) { return i.id; });
322
+ checkDiscountIds_1 = check.discounts.map(function (i) { return i.id; });
323
+ toRemove = orderDiscountIds.filter(function (id) { return !checkDiscountIds_1.includes(id); });
324
+ toRemove.forEach(function (discountId) {
325
+ return dispatch((0, exports.removeDiscount)(discountId));
326
+ });
327
+ return [2 /*return*/, check];
328
+ case 2:
329
+ err_6 = _c.sent();
330
+ errors = (0, utils_1.handleRespError)(err_6).errors;
331
+ fields = errors ? Object.keys(errors) : [];
332
+ if (fields.includes('order_uuid')) {
333
+ dispatch((0, order_2.setOrderId)((0, uuid_1.v4)()));
334
+ }
335
+ return [2 /*return*/, rejectWithValue(err_6)];
336
+ case 3: return [2 /*return*/];
337
+ }
338
+ });
339
+ });
340
+ });
341
+ exports.submitPosOrder = (0, toolkit_1.createAsyncThunk)(CheckoutActionType.SubmitPosOrder, function (_, _a) {
342
+ var dispatch = _a.dispatch, getState = _a.getState, rejectWithValue = _a.rejectWithValue;
343
+ return tslib_1.__awaiter(void 0, void 0, void 0, function () {
344
+ var _b, config, order, checkout, preparedOrder, response, err_7, errors, fields;
345
+ return tslib_1.__generator(this, function (_c) {
346
+ switch (_c.label) {
347
+ case 0:
348
+ _c.trys.push([0, 2, , 3]);
349
+ _b = getState(), config = _b.config, order = _b.order, checkout = _b.checkout;
350
+ preparedOrder = prepareOrder(order, checkout);
351
+ return [4 /*yield*/, config.api.postOrder(preparedOrder)];
352
+ case 1:
353
+ response = _c.sent();
354
+ dispatch((0, pos_1.setLastOrderId)(response.order_uuid));
355
+ return [2 /*return*/, response];
356
+ case 2:
357
+ err_7 = _c.sent();
358
+ errors = (0, utils_1.handleRespError)(err_7).errors;
359
+ fields = errors ? Object.keys(errors) : [];
360
+ if (fields.includes('order_uuid')) {
361
+ dispatch((0, order_2.setOrderId)((0, uuid_1.v4)()));
362
+ }
363
+ return [2 /*return*/, rejectWithValue(err_7)];
364
+ case 3: return [2 /*return*/];
365
+ }
366
+ });
367
+ });
368
+ });
369
+ exports.voidPosOrder = (0, toolkit_1.createAsyncThunk)(CheckoutActionType.VoidPosOrder, function (_, _a) {
370
+ var getState = _a.getState, rejectWithValue = _a.rejectWithValue;
371
+ return tslib_1.__awaiter(void 0, void 0, void 0, function () {
372
+ var _b, config, order, checkout, preparedOrder, err_8;
373
+ return tslib_1.__generator(this, function (_c) {
374
+ switch (_c.label) {
375
+ case 0:
376
+ _c.trys.push([0, 2, , 3]);
377
+ _b = getState(), config = _b.config, order = _b.order, checkout = _b.checkout;
378
+ preparedOrder = prepareOrder(order, checkout);
379
+ return [4 /*yield*/, config.api.deleteOrder(preparedOrder)];
380
+ case 1: return [2 /*return*/, _c.sent()];
381
+ case 2:
382
+ err_8 = _c.sent();
383
+ return [2 /*return*/, rejectWithValue(err_8)];
384
+ case 3: return [2 /*return*/];
385
+ }
386
+ });
387
+ });
388
+ });
389
+ exports.activateGiftCards = (0, toolkit_1.createAsyncThunk)(CheckoutActionType.ActivateGiftCards, function (_, _a) {
390
+ var getState = _a.getState, rejectWithValue = _a.rejectWithValue;
391
+ return tslib_1.__awaiter(void 0, void 0, void 0, function () {
392
+ var api_1, giftCards, requests, err_9;
393
+ return tslib_1.__generator(this, function (_b) {
394
+ switch (_b.label) {
395
+ case 0:
396
+ _b.trys.push([0, 2, , 3]);
397
+ api_1 = getState().config.api;
398
+ giftCards = getState().checkout.giftCards;
399
+ if (!api_1 || !giftCards.length) {
400
+ return [2 /*return*/, giftCards];
401
+ }
402
+ requests = giftCards.map(function (data) {
403
+ return api_1.postGiftCardCredit(data);
404
+ });
405
+ return [4 /*yield*/, Promise.all(requests)];
406
+ case 1: return [2 /*return*/, _b.sent()];
407
+ case 2:
408
+ err_9 = _b.sent();
409
+ return [2 /*return*/, rejectWithValue(err_9)];
410
+ case 3: return [2 /*return*/];
411
+ }
412
+ });
413
+ });
414
+ });
415
+ var checkoutSlice = (0, toolkit_1.createSlice)({
416
+ name: types_1.ReducerType.Checkout,
417
+ initialState: initialState,
418
+ reducers: {
419
+ resetPosCheckout: function () { return initialState; },
420
+ resetPosCheck: function (state) {
421
+ state.check = null;
422
+ state.loading = 'idle';
423
+ state.error = null;
424
+ },
425
+ handleCheckoutError: function (state, action) {
426
+ var _a = action.payload, key = _a[0], errors = _a[1];
427
+ var index = typeof errors === 'string' ? 0 : errors[0].index;
428
+ var discounts = state.discounts, surcharges = state.surcharges, taxes = state.taxes;
429
+ switch (key) {
430
+ case 'discounts':
431
+ state.discounts = discounts.filter(function (_, idx) { return idx !== index; });
432
+ break;
433
+ case 'surcharges':
434
+ state.surcharges = surcharges.filter(function (_, idx) { return idx !== index; });
435
+ break;
436
+ case 'taxes':
437
+ state.taxes = taxes.filter(function (_, idx) { return idx !== index; });
438
+ break;
439
+ default:
440
+ break;
441
+ }
442
+ state.error = null;
443
+ },
444
+ addGiftCard: function (state, action) {
445
+ state.giftCards.push(action.payload);
446
+ state.check = null;
447
+ },
448
+ removeGiftCard: function (state, action) {
449
+ state.giftCards = state.giftCards.filter(function (i) { return i.code !== action.payload; });
450
+ state.check = null;
451
+ },
452
+ addSurcharge: function (state, action) {
453
+ state.surcharges.push(action.payload);
454
+ state.check = null;
455
+ },
456
+ removeSurcharge: function (state, action) {
457
+ state.surcharges = state.surcharges.filter(function (i) { return i.id !== action.payload; });
458
+ state.check = null;
459
+ },
460
+ addDiscount: function (state, action) {
461
+ state.discounts.push(action.payload);
462
+ state.check = null;
463
+ },
464
+ removeDiscount: function (state, action) {
465
+ var discount = state.check
466
+ ? state.check.discounts.find(function (i) { return i.id === action.payload; })
467
+ : null;
468
+ if (discount && discount.discount_type === 4) {
469
+ state.points = [];
470
+ }
471
+ else {
472
+ state.discounts = state.discounts.filter(function (i) { return i.id !== action.payload; });
473
+ }
474
+ state.check = null;
475
+ },
476
+ addTax: function (state, action) {
477
+ state.taxes.push(action.payload);
478
+ state.check = null;
479
+ },
480
+ removeTax: function (state, action) {
481
+ state.taxes = state.taxes.filter(function (i) { return i.id !== action.payload; });
482
+ state.check = null;
483
+ },
484
+ addTip: function (state, action) {
485
+ state.tip = action.payload;
486
+ state.check = null;
487
+ },
488
+ removeTip: function (state) {
489
+ state.tip = '0.00';
490
+ state.check = null;
491
+ },
492
+ setTaxExempt: function (state, action) {
493
+ state.isTaxExempt = action.payload;
494
+ state.check = null;
495
+ },
496
+ addCustomer: function (state, action) {
497
+ state.customer = action.payload;
498
+ },
499
+ removeCustomer: function (state) {
500
+ state.points = [];
501
+ state.customer = null;
502
+ },
503
+ setPendingDiscounts: function (state, action) {
504
+ state.pendingDiscounts = action.payload;
505
+ },
506
+ setPoints: function (state, action) {
507
+ state.points = action.payload;
508
+ }
509
+ },
510
+ extraReducers: function (builder) {
511
+ builder
512
+ .addCase(exports.addTender.fulfilled, function (state) {
513
+ state.loading = 'idle';
514
+ state.authorizing = 'idle';
515
+ state.error = null;
516
+ })
517
+ .addCase(exports.addTender.pending, function (state) {
518
+ state.loading = 'pending';
519
+ state.authorizing = 'pending';
520
+ })
521
+ .addCase(exports.addTender.rejected, function (state, action) {
522
+ state.loading = 'idle';
523
+ state.authorizing = 'idle';
524
+ state.error = action.payload;
525
+ })
526
+ .addCase(exports.removeTender.fulfilled, function (state) {
527
+ state.loading = 'idle';
528
+ state.removing = 'idle';
529
+ state.error = null;
530
+ })
531
+ .addCase(exports.removeTender.pending, function (state) {
532
+ state.loading = 'pending';
533
+ state.removing = 'pending';
534
+ })
535
+ .addCase(exports.removeTender.rejected, function (state, action) {
536
+ state.loading = 'idle';
537
+ state.removing = 'idle';
538
+ state.error = action.payload;
539
+ })
540
+ .addCase(exports.updateTender.fulfilled, function (state) {
541
+ state.loading = 'idle';
542
+ state.authorizing = 'idle';
543
+ state.error = null;
544
+ })
545
+ .addCase(exports.updateTender.pending, function (state) {
546
+ state.loading = 'pending';
547
+ state.authorizing = 'pending';
548
+ })
549
+ .addCase(exports.updateTender.rejected, function (state, action) {
550
+ state.loading = 'idle';
551
+ state.authorizing = 'idle';
552
+ state.error = action.payload;
553
+ })
554
+ .addCase(exports.updateCart.fulfilled, function (state) {
555
+ state.error = null;
556
+ })
557
+ // .addCase(updateCart.pending, () => {})
558
+ .addCase(exports.updateCart.rejected, function (state, action) {
559
+ state.error = action.payload;
560
+ })
561
+ .addCase(exports.identifyCustomer.fulfilled, function (state) {
562
+ state.loading = 'idle';
563
+ state.identifying = 'idle';
564
+ state.error = null;
565
+ })
566
+ .addCase(exports.identifyCustomer.pending, function (state) {
567
+ state.loading = 'pending';
568
+ state.identifying = 'pending';
569
+ })
570
+ .addCase(exports.identifyCustomer.rejected, function (state, action) {
571
+ state.loading = 'idle';
572
+ state.identifying = 'idle';
573
+ state.error = action.payload;
574
+ })
575
+ .addCase(exports.completeChipDNA.fulfilled, function (state) {
576
+ state.loading = 'idle';
577
+ state.error = null;
578
+ })
579
+ .addCase(exports.completeChipDNA.pending, function (state) {
580
+ state.loading = 'pending';
581
+ })
582
+ .addCase(exports.completeChipDNA.rejected, function (state, action) {
583
+ state.loading = 'idle';
584
+ state.error = action.payload;
585
+ })
586
+ .addCase(exports.validatePosOrder.fulfilled, function (state, action) {
587
+ state.check = action.payload;
588
+ state.loading = 'idle';
589
+ state.validating = 'idle';
590
+ state.error = null;
591
+ })
592
+ .addCase(exports.validatePosOrder.pending, function (state) {
593
+ state.loading = 'pending';
594
+ state.validating = 'pending';
595
+ })
596
+ .addCase(exports.validatePosOrder.rejected, function (state, action) {
597
+ state.loading = 'idle';
598
+ state.validating = 'idle';
599
+ state.error = action.payload;
600
+ })
601
+ .addCase(exports.submitPosOrder.fulfilled, function (state, action) {
602
+ state.check = action.payload;
603
+ state.loading = 'idle';
604
+ state.submitting = 'idle';
605
+ state.error = null;
606
+ })
607
+ .addCase(exports.submitPosOrder.pending, function (state) {
608
+ state.loading = 'pending';
609
+ state.submitting = 'pending';
610
+ })
611
+ .addCase(exports.submitPosOrder.rejected, function (state, action) {
612
+ state.check = null;
613
+ state.loading = 'idle';
614
+ state.submitting = 'idle';
615
+ state.error = action.payload;
616
+ })
617
+ .addCase(exports.voidPosOrder.fulfilled, function () { return initialState; })
618
+ .addCase(exports.voidPosOrder.pending, function (state) {
619
+ state.loading = 'pending';
620
+ })
621
+ .addCase(exports.voidPosOrder.rejected, function () { return initialState; })
622
+ .addCase(exports.activateGiftCards.fulfilled, function (state, action) {
623
+ state.giftCards = action.payload;
624
+ state.loading = 'idle';
625
+ state.activating = 'idle';
626
+ state.error = null;
627
+ })
628
+ .addCase(exports.activateGiftCards.pending, function (state) {
629
+ state.loading = 'pending';
630
+ state.activating = 'pending';
631
+ })
632
+ .addCase(exports.activateGiftCards.rejected, function (state, action) {
633
+ state.loading = 'idle';
634
+ state.activating = 'idle';
635
+ state.error = action.payload;
636
+ });
637
+ }
638
+ });
639
+ exports.resetPosCheckout = (_a = checkoutSlice.actions, _a.resetPosCheckout), exports.resetPosCheck = _a.resetPosCheck, exports.handleCheckoutError = _a.handleCheckoutError, exports.addGiftCard = _a.addGiftCard, exports.removeGiftCard = _a.removeGiftCard, exports.addSurcharge = _a.addSurcharge, exports.removeSurcharge = _a.removeSurcharge, exports.addDiscount = _a.addDiscount, exports.removeDiscount = _a.removeDiscount, exports.addTax = _a.addTax, exports.removeTax = _a.removeTax, exports.addTip = _a.addTip, exports.removeTip = _a.removeTip, exports.setTaxExempt = _a.setTaxExempt, exports.addCustomer = _a.addCustomer, exports.removeCustomer = _a.removeCustomer, exports.setPendingDiscounts = _a.setPendingDiscounts, exports.setPoints = _a.setPoints;
640
+ var selectPosCheckout = function (state) { return state.checkout; };
641
+ exports.selectPosCheckout = selectPosCheckout;
642
+ var selectPosCheck = function (state) { return state.checkout.check; };
643
+ exports.selectPosCheck = selectPosCheck;
644
+ var selectPosCustomer = function (state) { return state.checkout.customer; };
645
+ exports.selectPosCustomer = selectPosCustomer;
646
+ var selectPosPendingDiscounts = function (state) {
647
+ return state.checkout.pendingDiscounts;
648
+ };
649
+ exports.selectPosPendingDiscounts = selectPosPendingDiscounts;
650
+ var selectPosAmountDue = function (state) {
651
+ var check = state.checkout.check;
652
+ return check ? check.totals.amount_due : null;
653
+ };
654
+ exports.selectPosAmountDue = selectPosAmountDue;
655
+ var selectPosCheckTotal = function (state) {
656
+ var check = state.checkout.check;
657
+ return check ? check.totals.total : '0.00';
658
+ };
659
+ exports.selectPosCheckTotal = selectPosCheckTotal;
660
+ var selectPosCheckTenders = function (state) {
661
+ var check = state.checkout.check;
662
+ return check ? check.tenders : [];
663
+ };
664
+ exports.selectPosCheckTenders = selectPosCheckTenders;
665
+ var selectPosCheckGiftCardCodes = function (state) {
666
+ var check = state.checkout.check;
667
+ return check
668
+ ? check.tenders
669
+ .filter(function (i) { return i.tender_type === 'GIFT_CARD' && i.tender_status === 'AUTHORIZED'; })
670
+ .map(function (i) { return (i.gift_card ? i.gift_card.code : null); })
671
+ .filter(function (i) { return i; })
672
+ : [];
673
+ };
674
+ exports.selectPosCheckGiftCardCodes = selectPosCheckGiftCardCodes;
675
+ exports.checkoutReducer = checkoutSlice.reducer;
676
+ //# sourceMappingURL=checkout.js.map