bananas-commerce-admin 0.2.2 → 0.2.4

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 (355) hide show
  1. package/README.md +4 -8
  2. package/dist/cjs/Admin.js +28 -27
  3. package/dist/cjs/Admin.js.map +1 -0
  4. package/dist/cjs/App.js +23 -11
  5. package/dist/cjs/App.js.map +1 -0
  6. package/dist/cjs/api.js +125 -65
  7. package/dist/cjs/api.js.map +1 -0
  8. package/dist/cjs/components/Branding.js +10 -8
  9. package/dist/cjs/components/Branding.js.map +1 -0
  10. package/dist/cjs/components/Hamburger.js +23 -11
  11. package/dist/cjs/components/Hamburger.js.map +1 -0
  12. package/dist/cjs/components/Link.js +9 -7
  13. package/dist/cjs/components/Link.js.map +1 -0
  14. package/dist/cjs/components/Logo.js +5 -3
  15. package/dist/cjs/components/Logo.js.map +1 -0
  16. package/dist/cjs/components/NavBar.js +48 -31
  17. package/dist/cjs/components/NavBar.js.map +1 -0
  18. package/dist/cjs/components/NavBarItem.js +16 -14
  19. package/dist/cjs/components/NavBarItem.js.map +1 -0
  20. package/dist/cjs/components/NavBarRoutes.js +23 -18
  21. package/dist/cjs/components/NavBarRoutes.js.map +1 -0
  22. package/dist/cjs/components/ProgressBar.js +5 -3
  23. package/dist/cjs/components/ProgressBar.js.map +1 -0
  24. package/dist/cjs/components/TitleBar.js +18 -17
  25. package/dist/cjs/components/TitleBar.js.map +1 -0
  26. package/dist/cjs/components/User.js +34 -21
  27. package/dist/cjs/components/User.js.map +1 -0
  28. package/dist/cjs/containers/Content.js +8 -6
  29. package/dist/cjs/containers/Content.js.map +1 -0
  30. package/dist/cjs/containers/ErrorScreen.js +21 -19
  31. package/dist/cjs/containers/ErrorScreen.js.map +1 -0
  32. package/dist/cjs/containers/LoadingScreen.js +64 -49
  33. package/dist/cjs/containers/LoadingScreen.js.map +1 -0
  34. package/dist/cjs/containers/PageErrorBoundary.js +33 -14
  35. package/dist/cjs/containers/PageErrorBoundary.js.map +1 -0
  36. package/dist/cjs/containers/PageLoader.js +129 -40
  37. package/dist/cjs/containers/PageLoader.js.map +1 -0
  38. package/dist/cjs/contexts/ApiContext.js +53 -16
  39. package/dist/cjs/contexts/ApiContext.js.map +1 -0
  40. package/dist/cjs/contexts/I18nContext.js +58 -18
  41. package/dist/cjs/contexts/I18nContext.js.map +1 -0
  42. package/dist/cjs/contexts/RouterContext.js +52 -44
  43. package/dist/cjs/contexts/RouterContext.js.map +1 -0
  44. package/dist/cjs/contexts/UserContext.js +96 -43
  45. package/dist/cjs/contexts/UserContext.js.map +1 -0
  46. package/dist/cjs/extensions/bananas/components/PasswordChangeForm.js +45 -32
  47. package/dist/cjs/extensions/bananas/components/PasswordChangeForm.js.map +1 -0
  48. package/dist/cjs/extensions/bananas/index.js +3 -2
  49. package/dist/cjs/extensions/bananas/index.js.map +1 -0
  50. package/dist/cjs/extensions/bananas/pages/me/list.js +10 -9
  51. package/dist/cjs/extensions/bananas/pages/me/list.js.map +1 -0
  52. package/dist/cjs/extensions/fulfillment/components/AddressInfo.js +8 -6
  53. package/dist/cjs/extensions/fulfillment/components/AddressInfo.js.map +1 -0
  54. package/dist/cjs/extensions/fulfillment/components/ContactInfo.js +9 -7
  55. package/dist/cjs/extensions/fulfillment/components/ContactInfo.js.map +1 -0
  56. package/dist/cjs/extensions/fulfillment/components/RecipientCard.js +14 -12
  57. package/dist/cjs/extensions/fulfillment/components/RecipientCard.js.map +1 -0
  58. package/dist/cjs/extensions/fulfillment/components/ShipmentAccordion.js +124 -65
  59. package/dist/cjs/extensions/fulfillment/components/ShipmentAccordion.js.map +1 -0
  60. package/dist/cjs/extensions/fulfillment/components/ShipmentCard.js +19 -17
  61. package/dist/cjs/extensions/fulfillment/components/ShipmentCard.js.map +1 -0
  62. package/dist/cjs/extensions/fulfillment/components/ShipmentDestinationButtons.js +32 -19
  63. package/dist/cjs/extensions/fulfillment/components/ShipmentDestinationButtons.js.map +1 -0
  64. package/dist/cjs/extensions/fulfillment/components/ShipmentDestinationIcon.js +23 -11
  65. package/dist/cjs/extensions/fulfillment/components/ShipmentDestinationIcon.js.map +1 -0
  66. package/dist/cjs/extensions/fulfillment/components/ShipmentItemsCard.js +73 -46
  67. package/dist/cjs/extensions/fulfillment/components/ShipmentItemsCard.js.map +1 -0
  68. package/dist/cjs/extensions/fulfillment/components/ShipmentItemsTable.js +49 -27
  69. package/dist/cjs/extensions/fulfillment/components/ShipmentItemsTable.js.map +1 -0
  70. package/dist/cjs/extensions/fulfillment/components/ShipmentRow.js +12 -10
  71. package/dist/cjs/extensions/fulfillment/components/ShipmentRow.js.map +1 -0
  72. package/dist/cjs/extensions/fulfillment/components/order/OrderAccordion.js +212 -0
  73. package/dist/cjs/extensions/fulfillment/components/order/OrderAccordion.js.map +1 -0
  74. package/dist/cjs/extensions/fulfillment/components/order/OrderItemsTable.js +96 -0
  75. package/dist/cjs/extensions/fulfillment/components/order/OrderItemsTable.js.map +1 -0
  76. package/dist/cjs/extensions/fulfillment/components/order/OrderStateChip.js +98 -0
  77. package/dist/cjs/extensions/fulfillment/components/order/OrderStateChip.js.map +1 -0
  78. package/dist/cjs/extensions/fulfillment/index.js +59 -12
  79. package/dist/cjs/extensions/fulfillment/index.js.map +1 -0
  80. package/dist/cjs/extensions/fulfillment/pages/order/list.js +50 -36
  81. package/dist/cjs/extensions/fulfillment/pages/order/list.js.map +1 -0
  82. package/dist/cjs/extensions/fulfillment/pages/recipient/detail.js +7 -5
  83. package/dist/cjs/extensions/fulfillment/pages/recipient/detail.js.map +1 -0
  84. package/dist/cjs/extensions/fulfillment/pages/shipment/detail.js +57 -42
  85. package/dist/cjs/extensions/fulfillment/pages/shipment/detail.js.map +1 -0
  86. package/dist/cjs/extensions/fulfillment/pages/shipment/list.js +35 -31
  87. package/dist/cjs/extensions/fulfillment/pages/shipment/list.js.map +1 -0
  88. package/dist/cjs/extensions/fulfillment/types/order.js +3 -0
  89. package/dist/cjs/extensions/fulfillment/types/order.js.map +1 -0
  90. package/dist/cjs/extensions/fulfillment/types/recipient.js +1 -0
  91. package/dist/cjs/extensions/fulfillment/types/recipient.js.map +1 -0
  92. package/dist/cjs/extensions/fulfillment/types/shipment.js +1 -0
  93. package/dist/cjs/extensions/fulfillment/types/shipment.js.map +1 -0
  94. package/dist/cjs/extensions/fulfillment/types/util.js +1 -0
  95. package/dist/cjs/extensions/fulfillment/types/util.js.map +1 -0
  96. package/dist/cjs/extensions/pos/components/PurchaseRow.js +13 -11
  97. package/dist/cjs/extensions/pos/components/PurchaseRow.js.map +1 -0
  98. package/dist/cjs/extensions/pos/components/ReceiptCard.js +45 -43
  99. package/dist/cjs/extensions/pos/components/ReceiptCard.js.map +1 -0
  100. package/dist/cjs/extensions/pos/components/ReceiptLine.js +17 -12
  101. package/dist/cjs/extensions/pos/components/ReceiptLine.js.map +1 -0
  102. package/dist/cjs/extensions/pos/components/ReceiptTable.js +137 -41
  103. package/dist/cjs/extensions/pos/components/ReceiptTable.js.map +1 -0
  104. package/dist/cjs/extensions/pos/components/SearchBar.js +40 -25
  105. package/dist/cjs/extensions/pos/components/SearchBar.js.map +1 -0
  106. package/dist/cjs/extensions/pos/index.js +57 -12
  107. package/dist/cjs/extensions/pos/index.js.map +1 -0
  108. package/dist/cjs/extensions/pos/pages/purchase/detail.js +28 -20
  109. package/dist/cjs/extensions/pos/pages/purchase/detail.js.map +1 -0
  110. package/dist/cjs/extensions/pos/pages/purchase/list.js +39 -32
  111. package/dist/cjs/extensions/pos/pages/purchase/list.js.map +1 -0
  112. package/dist/cjs/extensions/pos/types/purchase.js +1 -0
  113. package/dist/cjs/extensions/pos/types/purchase.js.map +1 -0
  114. package/dist/cjs/extensions/pos/types/receipt.js +8 -0
  115. package/dist/cjs/extensions/pos/types/receipt.js.map +1 -0
  116. package/dist/cjs/forms/LoginForm.js +31 -30
  117. package/dist/cjs/forms/LoginForm.js.map +1 -0
  118. package/dist/cjs/hooks/useAsyncError.js +5 -4
  119. package/dist/cjs/hooks/useAsyncError.js.map +1 -0
  120. package/dist/cjs/hooks/useLocalStorage.js +8 -7
  121. package/dist/cjs/hooks/useLocalStorage.js.map +1 -0
  122. package/dist/cjs/index.js +1 -0
  123. package/dist/cjs/index.js.map +1 -0
  124. package/dist/cjs/pages/DashboardPage.js +4 -3
  125. package/dist/cjs/pages/DashboardPage.js.map +1 -0
  126. package/dist/cjs/pages/LoginPage.js +12 -10
  127. package/dist/cjs/pages/LoginPage.js.map +1 -0
  128. package/dist/cjs/router/Router.js +25 -19
  129. package/dist/cjs/router/Router.js.map +1 -0
  130. package/dist/cjs/router/routes.js +8 -7
  131. package/dist/cjs/router/routes.js.map +1 -0
  132. package/dist/cjs/types/index.js +1 -0
  133. package/dist/cjs/types/index.js.map +1 -0
  134. package/dist/cjs/util/format_purchase_number.js +2 -1
  135. package/dist/cjs/util/format_purchase_number.js.map +1 -0
  136. package/dist/cjs/util/get_cookie.js +4 -3
  137. package/dist/cjs/util/get_cookie.js.map +1 -0
  138. package/dist/cjs/util/index.js +10 -7
  139. package/dist/cjs/util/index.js.map +1 -0
  140. package/dist/cjs/util/is_email.js +1 -0
  141. package/dist/cjs/util/is_email.js.map +1 -0
  142. package/dist/cjs/util/is_positive_integer.js +2 -1
  143. package/dist/cjs/util/is_positive_integer.js.map +1 -0
  144. package/dist/cjs/util/select_styles.js +24 -7
  145. package/dist/cjs/util/select_styles.js.map +1 -0
  146. package/dist/esm/Admin.js +17 -16
  147. package/dist/esm/Admin.js.map +1 -0
  148. package/dist/esm/App.js +15 -3
  149. package/dist/esm/App.js.map +1 -0
  150. package/dist/esm/api.js +125 -63
  151. package/dist/esm/api.js.map +1 -0
  152. package/dist/esm/components/Branding.js +4 -2
  153. package/dist/esm/components/Branding.js.map +1 -0
  154. package/dist/esm/components/Hamburger.js +17 -5
  155. package/dist/esm/components/Hamburger.js.map +1 -0
  156. package/dist/esm/components/Link.js +6 -4
  157. package/dist/esm/components/Link.js.map +1 -0
  158. package/dist/esm/components/Logo.js +4 -2
  159. package/dist/esm/components/Logo.js.map +1 -0
  160. package/dist/esm/components/NavBar.js +38 -21
  161. package/dist/esm/components/NavBar.js.map +1 -0
  162. package/dist/esm/components/NavBarItem.js +8 -6
  163. package/dist/esm/components/NavBarItem.js.map +1 -0
  164. package/dist/esm/components/NavBarRoutes.js +19 -14
  165. package/dist/esm/components/NavBarRoutes.js.map +1 -0
  166. package/dist/esm/components/ProgressBar.js +3 -1
  167. package/dist/esm/components/ProgressBar.js.map +1 -0
  168. package/dist/esm/components/TitleBar.js +9 -8
  169. package/dist/esm/components/TitleBar.js.map +1 -0
  170. package/dist/esm/components/User.js +24 -11
  171. package/dist/esm/components/User.js.map +1 -0
  172. package/dist/esm/containers/Content.js +5 -3
  173. package/dist/esm/containers/Content.js.map +1 -0
  174. package/dist/esm/containers/ErrorScreen.js +10 -8
  175. package/dist/esm/containers/ErrorScreen.js.map +1 -0
  176. package/dist/esm/containers/LoadingScreen.js +56 -41
  177. package/dist/esm/containers/LoadingScreen.js.map +1 -0
  178. package/dist/esm/containers/PageErrorBoundary.js +33 -13
  179. package/dist/esm/containers/PageErrorBoundary.js.map +1 -0
  180. package/dist/esm/containers/PageLoader.js +124 -34
  181. package/dist/esm/containers/PageLoader.js.map +1 -0
  182. package/dist/esm/contexts/ApiContext.js +49 -12
  183. package/dist/esm/contexts/ApiContext.js.map +1 -0
  184. package/dist/esm/contexts/I18nContext.js +55 -15
  185. package/dist/esm/contexts/I18nContext.js.map +1 -0
  186. package/dist/esm/contexts/RouterContext.js +47 -39
  187. package/dist/esm/contexts/RouterContext.js.map +1 -0
  188. package/dist/esm/contexts/UserContext.js +93 -40
  189. package/dist/esm/contexts/UserContext.js.map +1 -0
  190. package/dist/esm/extensions/bananas/components/PasswordChangeForm.js +32 -19
  191. package/dist/esm/extensions/bananas/components/PasswordChangeForm.js.map +1 -0
  192. package/dist/esm/extensions/bananas/index.js +3 -2
  193. package/dist/esm/extensions/bananas/index.js.map +1 -0
  194. package/dist/esm/extensions/bananas/pages/me/list.js +3 -2
  195. package/dist/esm/extensions/bananas/pages/me/list.js.map +1 -0
  196. package/dist/esm/extensions/fulfillment/components/AddressInfo.js +5 -3
  197. package/dist/esm/extensions/fulfillment/components/AddressInfo.js.map +1 -0
  198. package/dist/esm/extensions/fulfillment/components/ContactInfo.js +5 -3
  199. package/dist/esm/extensions/fulfillment/components/ContactInfo.js.map +1 -0
  200. package/dist/esm/extensions/fulfillment/components/RecipientCard.js +6 -4
  201. package/dist/esm/extensions/fulfillment/components/RecipientCard.js.map +1 -0
  202. package/dist/esm/extensions/fulfillment/components/ShipmentAccordion.js +109 -50
  203. package/dist/esm/extensions/fulfillment/components/ShipmentAccordion.js.map +1 -0
  204. package/dist/esm/extensions/fulfillment/components/ShipmentCard.js +8 -6
  205. package/dist/esm/extensions/fulfillment/components/ShipmentCard.js.map +1 -0
  206. package/dist/esm/extensions/fulfillment/components/ShipmentDestinationButtons.js +27 -14
  207. package/dist/esm/extensions/fulfillment/components/ShipmentDestinationButtons.js.map +1 -0
  208. package/dist/esm/extensions/fulfillment/components/ShipmentDestinationIcon.js +18 -6
  209. package/dist/esm/extensions/fulfillment/components/ShipmentDestinationIcon.js.map +1 -0
  210. package/dist/esm/extensions/fulfillment/components/ShipmentItemsCard.js +54 -27
  211. package/dist/esm/extensions/fulfillment/components/ShipmentItemsCard.js.map +1 -0
  212. package/dist/esm/extensions/fulfillment/components/ShipmentItemsTable.js +40 -18
  213. package/dist/esm/extensions/fulfillment/components/ShipmentItemsTable.js.map +1 -0
  214. package/dist/esm/extensions/fulfillment/components/ShipmentRow.js +8 -6
  215. package/dist/esm/extensions/fulfillment/components/ShipmentRow.js.map +1 -0
  216. package/dist/esm/extensions/fulfillment/components/order/OrderAccordion.js +207 -0
  217. package/dist/esm/extensions/fulfillment/components/order/OrderAccordion.js.map +1 -0
  218. package/dist/esm/extensions/fulfillment/components/order/OrderItemsTable.js +91 -0
  219. package/dist/esm/extensions/fulfillment/components/order/OrderItemsTable.js.map +1 -0
  220. package/dist/esm/extensions/fulfillment/components/order/OrderStateChip.js +70 -0
  221. package/dist/esm/extensions/fulfillment/components/order/OrderStateChip.js.map +1 -0
  222. package/dist/esm/extensions/fulfillment/index.js +61 -14
  223. package/dist/esm/extensions/fulfillment/index.js.map +1 -0
  224. package/dist/esm/extensions/fulfillment/pages/order/list.js +40 -26
  225. package/dist/esm/extensions/fulfillment/pages/order/list.js.map +1 -0
  226. package/dist/esm/extensions/fulfillment/pages/recipient/detail.js +4 -2
  227. package/dist/esm/extensions/fulfillment/pages/recipient/detail.js.map +1 -0
  228. package/dist/esm/extensions/fulfillment/pages/shipment/detail.js +38 -23
  229. package/dist/esm/extensions/fulfillment/pages/shipment/detail.js.map +1 -0
  230. package/dist/esm/extensions/fulfillment/pages/shipment/list.js +24 -20
  231. package/dist/esm/extensions/fulfillment/pages/shipment/list.js.map +1 -0
  232. package/dist/esm/extensions/fulfillment/types/order.js +2 -0
  233. package/dist/esm/extensions/fulfillment/types/order.js.map +1 -0
  234. package/dist/esm/extensions/fulfillment/types/recipient.js +1 -0
  235. package/dist/esm/extensions/fulfillment/types/recipient.js.map +1 -0
  236. package/dist/esm/extensions/fulfillment/types/shipment.js +1 -0
  237. package/dist/esm/extensions/fulfillment/types/shipment.js.map +1 -0
  238. package/dist/esm/extensions/fulfillment/types/util.js +1 -0
  239. package/dist/esm/extensions/fulfillment/types/util.js.map +1 -0
  240. package/dist/esm/extensions/pos/components/PurchaseRow.js +8 -6
  241. package/dist/esm/extensions/pos/components/PurchaseRow.js.map +1 -0
  242. package/dist/esm/extensions/pos/components/ReceiptCard.js +28 -26
  243. package/dist/esm/extensions/pos/components/ReceiptCard.js.map +1 -0
  244. package/dist/esm/extensions/pos/components/ReceiptLine.js +11 -6
  245. package/dist/esm/extensions/pos/components/ReceiptLine.js.map +1 -0
  246. package/dist/esm/extensions/pos/components/ReceiptTable.js +128 -32
  247. package/dist/esm/extensions/pos/components/ReceiptTable.js.map +1 -0
  248. package/dist/esm/extensions/pos/components/SearchBar.js +28 -13
  249. package/dist/esm/extensions/pos/components/SearchBar.js.map +1 -0
  250. package/dist/esm/extensions/pos/index.js +58 -13
  251. package/dist/esm/extensions/pos/index.js.map +1 -0
  252. package/dist/esm/extensions/pos/pages/purchase/detail.js +20 -12
  253. package/dist/esm/extensions/pos/pages/purchase/detail.js.map +1 -0
  254. package/dist/esm/extensions/pos/pages/purchase/list.js +23 -16
  255. package/dist/esm/extensions/pos/pages/purchase/list.js.map +1 -0
  256. package/dist/esm/extensions/pos/types/purchase.js +1 -0
  257. package/dist/esm/extensions/pos/types/purchase.js.map +1 -0
  258. package/dist/esm/extensions/pos/types/receipt.js +7 -1
  259. package/dist/esm/extensions/pos/types/receipt.js.map +1 -0
  260. package/dist/esm/forms/LoginForm.js +19 -18
  261. package/dist/esm/forms/LoginForm.js.map +1 -0
  262. package/dist/esm/hooks/useAsyncError.js +4 -3
  263. package/dist/esm/hooks/useAsyncError.js.map +1 -0
  264. package/dist/esm/hooks/useLocalStorage.js +7 -6
  265. package/dist/esm/hooks/useLocalStorage.js.map +1 -0
  266. package/dist/esm/index.js +1 -0
  267. package/dist/esm/index.js.map +1 -0
  268. package/dist/esm/pages/DashboardPage.js +3 -2
  269. package/dist/esm/pages/DashboardPage.js.map +1 -0
  270. package/dist/esm/pages/LoginPage.js +5 -3
  271. package/dist/esm/pages/LoginPage.js.map +1 -0
  272. package/dist/esm/router/Router.js +17 -11
  273. package/dist/esm/router/Router.js.map +1 -0
  274. package/dist/esm/router/routes.js +7 -6
  275. package/dist/esm/router/routes.js.map +1 -0
  276. package/dist/esm/types/index.js +1 -0
  277. package/dist/esm/types/index.js.map +1 -0
  278. package/dist/esm/util/format_purchase_number.js +2 -1
  279. package/dist/esm/util/format_purchase_number.js.map +1 -0
  280. package/dist/esm/util/get_cookie.js +4 -3
  281. package/dist/esm/util/get_cookie.js.map +1 -0
  282. package/dist/esm/util/index.js +10 -7
  283. package/dist/esm/util/index.js.map +1 -0
  284. package/dist/esm/util/is_email.js +1 -0
  285. package/dist/esm/util/is_email.js.map +1 -0
  286. package/dist/esm/util/is_positive_integer.js +2 -1
  287. package/dist/esm/util/is_positive_integer.js.map +1 -0
  288. package/dist/esm/util/select_styles.js +25 -8
  289. package/dist/esm/util/select_styles.js.map +1 -0
  290. package/dist/types/Admin.d.ts +1 -1
  291. package/dist/types/App.d.ts +1 -1
  292. package/dist/types/components/Hamburger.d.ts +1 -1
  293. package/dist/types/components/Link.d.ts +1 -1
  294. package/dist/types/components/User.d.ts +4 -7
  295. package/dist/types/containers/PageErrorBoundary.d.ts +1 -1
  296. package/dist/types/containers/PageLoader.d.ts +1 -0
  297. package/dist/types/contexts/RouterContext.d.ts +2 -2
  298. package/dist/types/extensions/fulfillment/components/ShipmentDestinationIcon.d.ts +1 -1
  299. package/dist/types/extensions/fulfillment/components/order/OrderAccordion.d.ts +7 -0
  300. package/dist/types/extensions/fulfillment/components/order/OrderItemsTable.d.ts +9 -0
  301. package/dist/types/extensions/fulfillment/components/order/OrderStateChip.d.ts +10 -0
  302. package/dist/types/extensions/fulfillment/pages/order/list.d.ts +2 -2
  303. package/dist/types/extensions/fulfillment/types/order.d.ts +38 -0
  304. package/dist/types/extensions/fulfillment/types/shipment.d.ts +1 -1
  305. package/dist/types/extensions/pos/components/PurchaseRow.d.ts +2 -2
  306. package/dist/types/extensions/pos/components/ReceiptCard.d.ts +3 -3
  307. package/dist/types/extensions/pos/components/ReceiptLine.d.ts +1 -0
  308. package/dist/types/extensions/pos/components/ReceiptTable.d.ts +4 -3
  309. package/dist/types/extensions/pos/components/SearchBar.d.ts +1 -1
  310. package/dist/types/extensions/pos/pages/purchase/list.d.ts +2 -2
  311. package/dist/types/extensions/pos/types/purchase.d.ts +27 -6
  312. package/dist/types/extensions/pos/types/receipt.d.ts +7 -9
  313. package/dist/types/router/Router.d.ts +2 -1
  314. package/dist/types/types/index.d.ts +7 -4
  315. package/example/index.tsx +28 -9
  316. package/example/package.json +18 -8
  317. package/example/scripts/build.js +4 -0
  318. package/example/scripts/options.js +81 -0
  319. package/{example/pages/.gitkeep → nodemon.json} +0 -0
  320. package/package.json +8 -4
  321. package/src/Admin.tsx +36 -36
  322. package/src/App.tsx +8 -4
  323. package/src/components/TitleBar.tsx +23 -18
  324. package/src/containers/Content.tsx +1 -1
  325. package/src/containers/PageLoader.tsx +32 -14
  326. package/src/contexts/UserContext.tsx +15 -14
  327. package/src/extensions/fulfillment/components/ShipmentAccordion.tsx +126 -116
  328. package/src/extensions/fulfillment/components/ShipmentCard.tsx +3 -9
  329. package/src/extensions/fulfillment/components/ShipmentItemsCard.tsx +42 -45
  330. package/src/extensions/fulfillment/components/order/OrderAccordion.tsx +213 -0
  331. package/src/extensions/fulfillment/components/order/OrderItemsTable.tsx +128 -0
  332. package/src/extensions/fulfillment/components/order/OrderStateChip.tsx +79 -0
  333. package/src/extensions/fulfillment/index.tsx +27 -9
  334. package/src/extensions/fulfillment/pages/order/list.tsx +43 -54
  335. package/src/extensions/fulfillment/pages/shipment/detail.tsx +47 -55
  336. package/src/extensions/fulfillment/types/order.ts +53 -0
  337. package/src/extensions/pos/components/PurchaseRow.tsx +3 -5
  338. package/src/extensions/pos/components/ReceiptCard.tsx +50 -47
  339. package/src/extensions/pos/components/ReceiptLine.tsx +6 -5
  340. package/src/extensions/pos/components/ReceiptTable.tsx +183 -78
  341. package/src/extensions/pos/index.tsx +3 -3
  342. package/src/extensions/pos/pages/purchase/detail.tsx +29 -34
  343. package/src/extensions/pos/pages/purchase/list.tsx +14 -20
  344. package/src/extensions/pos/types/purchase.ts +28 -6
  345. package/src/extensions/pos/types/receipt.ts +8 -9
  346. package/src/pages/DashboardPage.tsx +1 -1
  347. package/src/router/Router.tsx +14 -15
  348. package/src/types/index.ts +4 -1
  349. package/tsconfig.json +5 -13
  350. package/example/Dockerfile +0 -27
  351. package/example/README.md +0 -6
  352. package/example/build.js +0 -19
  353. package/example/docker-compose.yml +0 -7
  354. package/example/package-lock.json +0 -1762
  355. package/example/public/index.html +0 -14
@@ -1,38 +1,41 @@
1
1
  "use strict";
2
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
3
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
4
+ if (ar || !(i in from)) {
5
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
6
+ ar[i] = from[i];
7
+ }
8
+ }
9
+ return to.concat(ar || Array.prototype.slice.call(from));
10
+ };
2
11
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
13
  };
5
14
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const react_1 = __importDefault(require("react"));
7
- const styles_1 = require("@mui/material/styles");
8
- const Box_1 = __importDefault(require("@mui/system/Box"));
9
- const Stack_1 = __importDefault(require("@mui/material/Stack"));
10
- const Content_1 = __importDefault(require("../../../../containers/Content"));
11
- const RouterContext_1 = require("../../../../contexts/RouterContext");
12
- const SearchBar_1 = require("../../../pos/components/SearchBar");
13
- const ShipmentCard_1 = require("../../components/ShipmentCard");
14
- const ShipmentDestinationButtons_1 = require("../../components/ShipmentDestinationButtons");
15
- const TitleBar_1 = require("../../../../components/TitleBar");
16
- const Grid_1 = __importDefault(require("@mui/material/Grid"));
17
- const ShipmentListPage = ({ data: { next: _next, previous: _previous, results, }, }) => {
18
- const theme = (0, styles_1.useTheme)();
19
- const searchParams = new URLSearchParams(location.search);
20
- const [searchInputs, setSearchInputs] = react_1.default.useState([
21
- ...searchParams.getAll("email").map((v) => ({ "email": v })),
22
- ...searchParams.getAll("phone").map((v) => ({ "phone": v })),
23
- ...searchParams.getAll("purchase_number").map((v) => ({
24
- "purchase_number": parseInt(v),
25
- })),
26
- ]);
27
- const [destinationTypes, setDestinationTypes] = react_1.default.useState(searchParams.getAll("destination_type"));
28
- const { navigate } = (0, RouterContext_1.useRouter)();
29
- const doSearch = (event) => {
15
+ var react_1 = __importDefault(require("react"));
16
+ var styles_1 = require("@mui/material/styles");
17
+ var Box_1 = __importDefault(require("@mui/system/Box"));
18
+ var Stack_1 = __importDefault(require("@mui/material/Stack"));
19
+ var Content_1 = __importDefault(require("../../../../containers/Content"));
20
+ var RouterContext_1 = require("../../../../contexts/RouterContext");
21
+ var SearchBar_1 = require("../../../pos/components/SearchBar");
22
+ var ShipmentCard_1 = require("../../components/ShipmentCard");
23
+ var ShipmentDestinationButtons_1 = require("../../components/ShipmentDestinationButtons");
24
+ var TitleBar_1 = require("../../../../components/TitleBar");
25
+ var Grid_1 = __importDefault(require("@mui/material/Grid"));
26
+ var ShipmentListPage = function (_a) {
27
+ var _b = _a.data, _next = _b.next, _previous = _b.previous, results = _b.results;
28
+ var theme = (0, styles_1.useTheme)();
29
+ var searchParams = new URLSearchParams(location.search);
30
+ var _c = react_1.default.useState(__spreadArray(__spreadArray(__spreadArray([], searchParams.getAll("email").map(function (v) { return ({ "email": v }); }), true), searchParams.getAll("phone").map(function (v) { return ({ "phone": v }); }), true), searchParams.getAll("purchase_number").map(function (v) { return ({
31
+ "purchase_number": parseInt(v),
32
+ }); }), true)), searchInputs = _c[0], setSearchInputs = _c[1];
33
+ var _d = react_1.default.useState(searchParams.getAll("destination_type")), destinationTypes = _d[0], setDestinationTypes = _d[1];
34
+ var navigate = (0, RouterContext_1.useRouter)().navigate;
35
+ var doSearch = function (event) {
30
36
  event.preventDefault();
31
37
  navigate(undefined, {
32
- query: [
33
- ...searchInputs.map((v) => Object.entries(v)[0]),
34
- ...destinationTypes.map((type) => ["destination_type", type]),
35
- ],
38
+ query: __spreadArray(__spreadArray([], searchInputs.map(function (v) { return Object.entries(v)[0]; }), true), destinationTypes.map(function (type) { return ["destination_type", type]; }), true),
36
39
  });
37
40
  };
38
41
  return (react_1.default.createElement(react_1.default.Fragment, null,
@@ -46,8 +49,9 @@ const ShipmentListPage = ({ data: { next: _next, previous: _previous, results, }
46
49
  gap: theme.spacing(1),
47
50
  marginBottom: theme.spacing(2),
48
51
  }, component: "form", onSubmit: doSearch },
49
- react_1.default.createElement(SearchBar_1.SearchBar, { defaultValue: searchInputs, onChange: (inputs) => setSearchInputs(inputs) }),
50
- react_1.default.createElement(ShipmentDestinationButtons_1.ShipmentDestinationButtons, { defaultSelected: destinationTypes, onChange: (selected) => setDestinationTypes(selected) })),
51
- react_1.default.createElement(Stack_1.default, { gap: 1 }, results.map((shipment) => (react_1.default.createElement(ShipmentCard_1.ShipmentCard, { key: shipment.shipment_reference, shipment: shipment }))))))));
52
+ react_1.default.createElement(SearchBar_1.SearchBar, { defaultValue: searchInputs, onChange: function (inputs) { return setSearchInputs(inputs); } }),
53
+ react_1.default.createElement(ShipmentDestinationButtons_1.ShipmentDestinationButtons, { defaultSelected: destinationTypes, onChange: function (selected) { return setDestinationTypes(selected); } })),
54
+ react_1.default.createElement(Stack_1.default, { gap: 1 }, results.map(function (shipment) { return (react_1.default.createElement(ShipmentCard_1.ShipmentCard, { key: shipment.shipment_reference, shipment: shipment })); }))))));
52
55
  };
53
56
  exports.default = ShipmentListPage;
57
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../../../src/extensions/fulfillment/pages/shipment/list.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=order.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"order.js","sourceRoot":"","sources":["../../../../../src/extensions/fulfillment/types/order.ts"],"names":[],"mappings":""}
@@ -1,2 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=recipient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recipient.js","sourceRoot":"","sources":["../../../../../src/extensions/fulfillment/types/recipient.ts"],"names":[],"mappings":""}
@@ -1,2 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=shipment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shipment.js","sourceRoot":"","sources":["../../../../../src/extensions/fulfillment/types/shipment.ts"],"names":[],"mappings":""}
@@ -1,2 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../../../src/extensions/fulfillment/types/util.ts"],"names":[],"mappings":""}
@@ -4,16 +4,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.PurchaseRow = void 0;
7
- const TableCell_1 = __importDefault(require("@mui/material/TableCell"));
8
- const TableRow_1 = __importDefault(require("@mui/material/TableRow"));
9
- const react_1 = __importDefault(require("react"));
10
- const RouterContext_1 = require("../../../contexts/RouterContext");
11
- const format_purchase_number_1 = require("../../../util/format_purchase_number");
12
- const PurchaseRow = ({ purchase, }) => {
13
- var _a;
14
- const { navigate } = (0, RouterContext_1.useRouter)();
15
- const onClick = () => {
16
- navigate(`pos.purchase:detail`, {
7
+ var TableCell_1 = __importDefault(require("@mui/material/TableCell"));
8
+ var TableRow_1 = __importDefault(require("@mui/material/TableRow"));
9
+ var react_1 = __importDefault(require("react"));
10
+ var RouterContext_1 = require("../../../contexts/RouterContext");
11
+ var format_purchase_number_1 = require("../../../util/format_purchase_number");
12
+ var PurchaseRow = function (_a) {
13
+ var _b;
14
+ var purchase = _a.purchase;
15
+ var navigate = (0, RouterContext_1.useRouter)().navigate;
16
+ var onClick = function () {
17
+ navigate("pos.purchase:detail", {
17
18
  params: {
18
19
  purchase_number: purchase.number,
19
20
  },
@@ -22,7 +23,8 @@ const PurchaseRow = ({ purchase, }) => {
22
23
  return (react_1.default.createElement(TableRow_1.default, { onClick: onClick, hover: true, sx: { cursor: "pointer" } },
23
24
  react_1.default.createElement(TableCell_1.default, null, (0, format_purchase_number_1.formatPurchaseNumber)(purchase.number)),
24
25
  react_1.default.createElement(TableCell_1.default, null, purchase.email),
25
- react_1.default.createElement(TableCell_1.default, null, (_a = purchase.phone) !== null && _a !== void 0 ? _a : "-"),
26
+ react_1.default.createElement(TableCell_1.default, null, (_b = purchase.phone) !== null && _b !== void 0 ? _b : "-"),
26
27
  react_1.default.createElement(TableCell_1.default, null, new Date(purchase.date_initiated).toLocaleString())));
27
28
  };
28
29
  exports.PurchaseRow = PurchaseRow;
30
+ //# sourceMappingURL=PurchaseRow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PurchaseRow.js","sourceRoot":"","sources":["../../../../../src/extensions/pos/components/PurchaseRow.tsx"],"names":[],"mappings":";;;;;;AAAA,sEAAgD;AAChD,oEAA8C;AAC9C,gDAA0B;AAC1B,iEAA4D;AAC5D,+EAA4E;AAOrE,IAAM,WAAW,GAA+B,UAAC,EAAY;;QAAV,QAAQ,cAAA;IACxD,IAAA,QAAQ,GAAK,IAAA,yBAAS,GAAE,SAAhB,CAAiB;IAEjC,IAAM,OAAO,GAAG;QACd,QAAQ,CAAC,qBAAqB,EAAE;YAC9B,MAAM,EAAE;gBACN,eAAe,EAAE,QAAQ,CAAC,MAAM;aACjC;SACF,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,OAAO,CACL,8BAAC,kBAAQ,IAAC,OAAO,EAAE,OAAO,EAAE,KAAK,QAAC,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE;QACzD,8BAAC,mBAAS,QAAE,IAAA,6CAAoB,EAAC,QAAQ,CAAC,MAAM,CAAC,CAAa;QAC9D,8BAAC,mBAAS,QAAE,QAAQ,CAAC,KAAK,CAAa;QACvC,8BAAC,mBAAS,QAAE,MAAA,QAAQ,CAAC,KAAK,mCAAI,GAAG,CAAa;QAC9C,8BAAC,mBAAS,QACP,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,cAAc,EAAE,CACzC,CACH,CACZ,CAAC;AACJ,CAAC,CAAC;AArBW,QAAA,WAAW,eAqBtB"}
@@ -27,67 +27,69 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
29
  exports.ReceiptCard = void 0;
30
- const react_1 = __importDefault(require("react"));
31
- const Receipt_1 = __importDefault(require("@mui/icons-material/Receipt"));
32
- const Card_1 = __importDefault(require("@mui/material/Card"));
33
- const CardContent_1 = __importDefault(require("@mui/material/CardContent"));
34
- const CardHeader_1 = __importDefault(require("@mui/material/CardHeader"));
35
- const Divider_1 = __importDefault(require("@mui/material/Divider"));
36
- const styles_1 = require("@mui/material/styles");
37
- const Switch_1 = __importDefault(require("@mui/material/Switch"));
38
- const Table_1 = __importDefault(require("@mui/material/Table"));
39
- const TableBody_1 = __importDefault(require("@mui/material/TableBody"));
40
- const TableCell_1 = __importStar(require("@mui/material/TableCell"));
41
- const TableContainer_1 = __importDefault(require("@mui/material/TableContainer"));
42
- const TableRow_1 = __importDefault(require("@mui/material/TableRow"));
43
- const Typography_1 = __importDefault(require("@mui/material/Typography"));
44
- const ReceiptTable_1 = require("./ReceiptTable");
45
- const FormControlLabel_1 = __importDefault(require("@mui/material/FormControlLabel"));
46
- const Button_1 = __importDefault(require("@mui/material/Button"));
47
- const ReceiptPriceRow = ({ title, price }) => {
30
+ var react_1 = __importDefault(require("react"));
31
+ var Receipt_1 = __importDefault(require("@mui/icons-material/Receipt"));
32
+ var Card_1 = __importDefault(require("@mui/material/Card"));
33
+ var CardContent_1 = __importDefault(require("@mui/material/CardContent"));
34
+ var CardHeader_1 = __importDefault(require("@mui/material/CardHeader"));
35
+ var Divider_1 = __importDefault(require("@mui/material/Divider"));
36
+ var styles_1 = require("@mui/material/styles");
37
+ var Switch_1 = __importDefault(require("@mui/material/Switch"));
38
+ var Table_1 = __importDefault(require("@mui/material/Table"));
39
+ var TableBody_1 = __importDefault(require("@mui/material/TableBody"));
40
+ var TableCell_1 = __importStar(require("@mui/material/TableCell"));
41
+ var TableContainer_1 = __importDefault(require("@mui/material/TableContainer"));
42
+ var TableRow_1 = __importDefault(require("@mui/material/TableRow"));
43
+ var Typography_1 = __importDefault(require("@mui/material/Typography"));
44
+ var ReceiptTable_1 = require("./ReceiptTable");
45
+ var FormControlLabel_1 = __importDefault(require("@mui/material/FormControlLabel"));
46
+ var Button_1 = __importDefault(require("@mui/material/Button"));
47
+ var ReceiptPriceRow = function (_a) {
48
+ var title = _a.title, price = _a.price, currency = _a.currency;
48
49
  return (react_1.default.createElement(TableRow_1.default, null,
49
50
  react_1.default.createElement(TableCell_1.default, { sx: { whiteSpace: "nowrap" }, align: "right" },
50
51
  react_1.default.createElement("strong", null, title)),
51
- react_1.default.createElement(TableCell_1.default, { sx: { whiteSpace: "nowrap", paddingLeft: 2 }, align: "right" }, `${price} SEK`)));
52
+ react_1.default.createElement(TableCell_1.default, { sx: { whiteSpace: "nowrap", paddingLeft: 2 }, align: "right" },
53
+ price,
54
+ " ",
55
+ currency)));
52
56
  };
53
- const ReceiptCard = ({ receipt, refund, }) => {
54
- const theme = (0, styles_1.useTheme)();
55
- const [editing, setEditing] = react_1.default.useState(false);
56
- const [selected, setSelected] = react_1.default.useState([]);
57
- const [refundable, setRefundable] = react_1.default.useState(receipt.intention === 1);
58
- return (react_1.default.createElement(Card_1.default, null,
57
+ var ReceiptCard = function (_a) {
58
+ var _b;
59
+ var purchase = _a.purchase, refund = _a.refund;
60
+ var theme = (0, styles_1.useTheme)();
61
+ var _c = react_1.default.useState(false), editing = _c[0], setEditing = _c[1];
62
+ var _d = react_1.default.useState([]), selected = _d[0], setSelected = _d[1];
63
+ return (react_1.default.createElement(Card_1.default, { sx: { width: "100%" } },
59
64
  react_1.default.createElement(CardHeader_1.default, { title: react_1.default.createElement(Typography_1.default, { variant: "h6" },
60
- react_1.default.createElement("b", null, "Receipt")), avatar: react_1.default.createElement(Receipt_1.default, null), action: react_1.default.createElement(FormControlLabel_1.default, { disabled: !refundable, control: react_1.default.createElement(Switch_1.default, { value: editing, onChange: (_, checked) => setEditing(checked), color: "secondary" }), label: "Edit" }), sx: {
65
+ react_1.default.createElement("b", null, "Receipt")), avatar: react_1.default.createElement(Receipt_1.default, null), action: react_1.default.createElement(FormControlLabel_1.default, { control: react_1.default.createElement(Switch_1.default, { checked: editing, onChange: function (_, checked) { return setEditing(checked); }, color: "secondary" }), label: "Edit" }), sx: {
61
66
  borderBottomWidth: 1,
62
67
  borderBottomStyle: "solid",
63
68
  borderBottomColor: theme.palette.divider,
64
69
  } }),
65
70
  react_1.default.createElement(CardContent_1.default, null,
66
- react_1.default.createElement(ReceiptTable_1.ReceiptTable, { lines: receipt.lines, editable: editing, onSelect: setSelected }),
71
+ react_1.default.createElement(ReceiptTable_1.ReceiptTable, { currency: purchase.currency, lines: purchase.lines, editable: editing, onSelect: setSelected }),
67
72
  react_1.default.createElement(Divider_1.default, null),
68
73
  react_1.default.createElement(TableContainer_1.default, { sx: {
69
74
  paddingTop: theme.spacing(2),
70
- paddingX: theme.spacing(4),
75
+ paddingX: theme.spacing(2),
71
76
  } },
72
- react_1.default.createElement(Table_1.default, { padding: "none", sx: {
73
- [`& .${TableCell_1.tableCellClasses.root}`]: {
77
+ react_1.default.createElement(Table_1.default, { padding: "none", sx: (_b = {},
78
+ _b["& .".concat(TableCell_1.tableCellClasses.root)] = {
74
79
  borderBottom: "none",
75
80
  },
76
- } },
81
+ _b) },
77
82
  react_1.default.createElement(TableBody_1.default, { sx: { border: "none" } },
78
83
  react_1.default.createElement(TableRow_1.default, null,
79
- react_1.default.createElement(TableCell_1.default, { align: "left", sx: { width: "100%" } }, editing
80
- ? (react_1.default.createElement(Button_1.default, { variant: "contained", color: "error", disabled: selected.length === 0, onClick: () => {
81
- refund === null || refund === void 0 ? void 0 : refund(selected);
82
- setRefundable(false);
83
- setEditing(false);
84
- } }, "Refund"))
85
- : null),
84
+ react_1.default.createElement(TableCell_1.default, { align: "left", sx: { width: "100%" } }, editing ? (react_1.default.createElement(Button_1.default, { variant: "contained", color: "error", disabled: selected.length === 0, onClick: function () {
85
+ refund === null || refund === void 0 ? void 0 : refund(selected);
86
+ setEditing(false);
87
+ } }, "Refund")) : null),
86
88
  react_1.default.createElement(TableCell_1.default, { align: "right" },
87
- receipt.total_discount_amount !== "0.00"
88
- ? (react_1.default.createElement(ReceiptPriceRow, { title: "Discount", price: receipt.total_discount_amount }))
89
- : null,
90
- react_1.default.createElement(ReceiptPriceRow, { title: "Tax", price: receipt.total_tax_amount }),
91
- react_1.default.createElement(ReceiptPriceRow, { title: "Total", price: receipt.total_amount })))))))));
89
+ react_1.default.createElement(ReceiptPriceRow, { title: "Total", price: purchase.total_debit_amount, currency: purchase.currency }),
90
+ react_1.default.createElement(ReceiptPriceRow, { title: "Remaining", price: purchase.total_remaining_amount, currency: purchase.currency }),
91
+ purchase.total_discount_amount !== "0.00" ? (react_1.default.createElement(ReceiptPriceRow, { title: "Discount", price: purchase.total_discount_amount, currency: purchase.currency })) : null,
92
+ react_1.default.createElement(ReceiptPriceRow, { title: "Tax", price: purchase.total_tax_amount, currency: purchase.currency })))))))));
92
93
  };
93
94
  exports.ReceiptCard = ReceiptCard;
95
+ //# sourceMappingURL=ReceiptCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReceiptCard.js","sourceRoot":"","sources":["../../../../../src/extensions/pos/components/ReceiptCard.tsx"],"names":[],"mappings":"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"}
@@ -4,23 +4,28 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.ReceiptLine = void 0;
7
- const react_1 = __importDefault(require("react"));
8
- const ListItem_1 = __importDefault(require("@mui/material/ListItem"));
9
- const ListItemText_1 = __importDefault(require("@mui/material/ListItemText"));
10
- const Typography_1 = __importDefault(require("@mui/material/Typography"));
11
- const Tooltip_1 = __importDefault(require("@mui/material/Tooltip"));
12
- const Checkbox_1 = __importDefault(require("@mui/material/Checkbox"));
13
- const ReceiptLine = ({ line, editable, onSelect, }) => {
14
- const [selected, setSelected] = react_1.default.useState(false);
15
- react_1.default.useEffect(() => {
7
+ var react_1 = __importDefault(require("react"));
8
+ var ListItem_1 = __importDefault(require("@mui/material/ListItem"));
9
+ var ListItemText_1 = __importDefault(require("@mui/material/ListItemText"));
10
+ var Typography_1 = __importDefault(require("@mui/material/Typography"));
11
+ var Tooltip_1 = __importDefault(require("@mui/material/Tooltip"));
12
+ var Checkbox_1 = __importDefault(require("@mui/material/Checkbox"));
13
+ var ReceiptLine = function (_a) {
14
+ var line = _a.line, currency = _a.currency, editable = _a.editable, onSelect = _a.onSelect;
15
+ var _b = react_1.default.useState(false), selected = _b[0], setSelected = _b[1];
16
+ react_1.default.useEffect(function () {
16
17
  onSelect === null || onSelect === void 0 ? void 0 : onSelect(selected);
17
18
  }, [selected]);
18
19
  return (react_1.default.createElement(ListItem_1.default, { sx: { display: "flex", flexDirection: "line", alignItems: "baseline" } },
19
- react_1.default.createElement(Checkbox_1.default, { color: "secondary", value: selected, onChange: (_, checked) => setSelected(checked) }),
20
+ react_1.default.createElement(Checkbox_1.default, { color: "secondary", value: selected, onChange: function (_, checked) { return setSelected(checked); } }),
20
21
  react_1.default.createElement(ListItemText_1.default, { sx: { width: "50%" }, primary: line.title, secondary: line.reference }),
21
22
  react_1.default.createElement(Tooltip_1.default, { title: "Quantity" },
22
- react_1.default.createElement(ListItemText_1.default, { sx: { width: "20%" }, primary: `${line.quantity} st` })),
23
+ react_1.default.createElement(ListItemText_1.default, { sx: { width: "20%" }, primary: "".concat(line.quantity, " st") })),
23
24
  react_1.default.createElement(ListItemText_1.default, { disableTypography: true, sx: { width: "30%" }, primary: react_1.default.createElement(Tooltip_1.default, { title: "Price" },
24
- react_1.default.createElement(Typography_1.default, null, `${line.total_amount} SEK`)) })));
25
+ react_1.default.createElement(Typography_1.default, null,
26
+ line.total_amount,
27
+ " ",
28
+ currency)) })));
25
29
  };
26
30
  exports.ReceiptLine = ReceiptLine;
31
+ //# sourceMappingURL=ReceiptLine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReceiptLine.js","sourceRoot":"","sources":["../../../../../src/extensions/pos/components/ReceiptLine.tsx"],"names":[],"mappings":";;;;;;AAAA,gDAA0B;AAE1B,oEAA8C;AAC9C,4EAAsD;AACtD,wEAAkD;AAClD,kEAA4C;AAC5C,oEAA8C;AASvC,IAAM,WAAW,GAA+B,UAAC,EAKvD;QAJC,IAAI,UAAA,EACJ,QAAQ,cAAA,EACR,QAAQ,cAAA,EACR,QAAQ,cAAA;IAEF,IAAA,KAA0B,eAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAA9C,QAAQ,QAAA,EAAE,WAAW,QAAyB,CAAC;IAEtD,eAAK,CAAC,SAAS,CAAC;QACd,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG,QAAQ,CAAC,CAAC;IACvB,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,OAAO,CACL,8BAAC,kBAAQ,IACP,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE;QAEtE,8BAAC,kBAAQ,IACP,KAAK,EAAC,WAAW,EACjB,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,UAAC,CAAC,EAAE,OAAO,IAAK,OAAA,WAAW,CAAC,OAAO,CAAC,EAApB,CAAoB,GAC9C;QACF,8BAAC,sBAAY,IACX,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EACpB,OAAO,EAAE,IAAI,CAAC,KAAK,EACnB,SAAS,EAAE,IAAI,CAAC,SAAS,GACzB;QACF,8BAAC,iBAAO,IAAC,KAAK,EAAC,UAAU;YACvB,8BAAC,sBAAY,IAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,UAAG,IAAI,CAAC,QAAQ,QAAK,GAAI,CAC9D;QACV,8BAAC,sBAAY,IACX,iBAAiB,QACjB,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EACpB,OAAO,EACL,8BAAC,iBAAO,IAAC,KAAK,EAAC,OAAO;gBACpB,8BAAC,oBAAU;oBACR,IAAI,CAAC,YAAY;;oBAAG,QAAQ,CAClB,CACL,GAEZ,CACO,CACZ,CAAC;AACJ,CAAC,CAAC;AA1CW,QAAA,WAAW,eA0CtB"}
@@ -1,41 +1,76 @@
1
1
  "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
14
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
15
+ if (ar || !(i in from)) {
16
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
17
+ ar[i] = from[i];
18
+ }
19
+ }
20
+ return to.concat(ar || Array.prototype.slice.call(from));
21
+ };
2
22
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
23
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
24
  };
5
25
  Object.defineProperty(exports, "__esModule", { value: true });
6
26
  exports.ReceiptTable = void 0;
7
- const react_1 = __importDefault(require("react"));
8
- const Checkbox_1 = __importDefault(require("@mui/material/Checkbox"));
9
- const Input_1 = __importDefault(require("@mui/material/Input"));
10
- const Table_1 = __importDefault(require("@mui/material/Table"));
11
- const TableBody_1 = __importDefault(require("@mui/material/TableBody"));
12
- const TableCell_1 = __importDefault(require("@mui/material/TableCell"));
13
- const TableContainer_1 = __importDefault(require("@mui/material/TableContainer"));
14
- const TableHead_1 = __importDefault(require("@mui/material/TableHead"));
15
- const TableRow_1 = __importDefault(require("@mui/material/TableRow"));
16
- const ReceiptTable = ({ lines, editable, onSelect }) => {
17
- const [selected, setSelected] = react_1.default.useState([]);
18
- const toggleSelectAll = (_, checked) => {
19
- setSelected(checked ? lines : []);
27
+ var react_1 = __importDefault(require("react"));
28
+ var Checkbox_1 = __importDefault(require("@mui/material/Checkbox"));
29
+ var Input_1 = __importDefault(require("@mui/material/Input"));
30
+ var Table_1 = __importDefault(require("@mui/material/Table"));
31
+ var TableBody_1 = __importDefault(require("@mui/material/TableBody"));
32
+ var TableCell_1 = __importDefault(require("@mui/material/TableCell"));
33
+ var TableContainer_1 = __importDefault(require("@mui/material/TableContainer"));
34
+ var TableHead_1 = __importDefault(require("@mui/material/TableHead"));
35
+ var TableRow_1 = __importDefault(require("@mui/material/TableRow"));
36
+ var Typography_1 = __importDefault(require("@mui/material/Typography"));
37
+ var useTheme_1 = __importDefault(require("@mui/material/styles/useTheme"));
38
+ var ReceiptTable = function (_a) {
39
+ var lines = _a.lines, currency = _a.currency, editable = _a.editable, onSelect = _a.onSelect;
40
+ var _b = react_1.default.useState([]), selected = _b[0], setSelected = _b[1];
41
+ var theme = (0, useTheme_1.default)();
42
+ var refundableLines = lines.filter(function (line) { return !!line.adjustments.reduce(function (t, v) { return t + v.quantity; }, line.quantity); });
43
+ var toggleSelectAll = function (_, checked) {
44
+ setSelected(checked ? refundableLines : []);
20
45
  };
21
- const toggleLine = (item, checked) => {
22
- const index = selected.map(({ line_number }) => line_number).indexOf(item.line_number);
46
+ var toggleLine = function (item, checked) {
47
+ var index = selected
48
+ .map(function (_a) {
49
+ var line_number = _a.line_number;
50
+ return line_number;
51
+ })
52
+ .indexOf(item.line_number);
23
53
  if (checked && index === -1) {
24
- setSelected([...selected, item]);
54
+ setSelected(__spreadArray(__spreadArray([], selected, true), [item], false));
25
55
  }
26
56
  else {
27
- const unselected = [...selected];
57
+ var unselected = __spreadArray([], selected, true);
28
58
  unselected.splice(index, 1);
29
59
  setSelected(unselected);
30
60
  }
31
61
  };
32
- const lineQuantityChange = (item) => {
33
- const index = selected.map(({ line_number }) => line_number).indexOf(item.line_number);
34
- const changed = [...selected];
62
+ var lineQuantityChange = function (item) {
63
+ var index = selected
64
+ .map(function (_a) {
65
+ var line_number = _a.line_number;
66
+ return line_number;
67
+ })
68
+ .indexOf(item.line_number);
69
+ var changed = __spreadArray([], selected, true);
35
70
  changed[index] = item;
36
71
  setSelected(changed);
37
72
  };
38
- react_1.default.useEffect(() => {
73
+ react_1.default.useEffect(function () {
39
74
  if (onSelect !== undefined) {
40
75
  onSelect(selected);
41
76
  }
@@ -44,30 +79,91 @@ const ReceiptTable = ({ lines, editable, onSelect }) => {
44
79
  react_1.default.createElement(Table_1.default, null,
45
80
  react_1.default.createElement(TableHead_1.default, null,
46
81
  react_1.default.createElement(TableRow_1.default, null,
47
- editable
48
- ? (react_1.default.createElement(TableCell_1.default, { align: "left", padding: "checkbox" },
49
- react_1.default.createElement(Checkbox_1.default, { color: "secondary", indeterminate: selected.length > 0 &&
50
- selected.length < lines.length, checked: lines.length !== 0 &&
51
- selected.length === lines.length, onChange: toggleSelectAll, disabled: lines.length === 0 })))
52
- : null,
82
+ editable ? (react_1.default.createElement(TableCell_1.default, { align: "left", padding: "checkbox" },
83
+ react_1.default.createElement(Checkbox_1.default, { color: "secondary", indeterminate: selected.length > 0 &&
84
+ selected.length < refundableLines.length, checked: lines.length !== 0 &&
85
+ selected.length === refundableLines.length, onChange: toggleSelectAll, disabled: lines.length === 0 }))) : null,
53
86
  react_1.default.createElement(TableCell_1.default, { align: "left" }),
87
+ react_1.default.createElement(TableCell_1.default, { align: "right" }, "Reference"),
54
88
  react_1.default.createElement(TableCell_1.default, { align: "right" }, "Quantity"),
55
- react_1.default.createElement(TableCell_1.default, { align: "right" }, "Unit"),
56
- react_1.default.createElement(TableCell_1.default, { align: "right" }, "Total"))),
57
- react_1.default.createElement(TableBody_1.default, null, lines.map((line) => {
58
- const isSelected = selected.map(({ line_number }) => line_number)
89
+ react_1.default.createElement(TableCell_1.default, { align: "right" }, "Unit Price"),
90
+ react_1.default.createElement(TableCell_1.default, { align: "right" }, "Total"),
91
+ react_1.default.createElement(TableCell_1.default, { align: "right" }, "Debit"))),
92
+ react_1.default.createElement(TableBody_1.default, null, lines.map(function (line) {
93
+ var isSelected = selected
94
+ .map(function (_a) {
95
+ var line_number = _a.line_number;
96
+ return line_number;
97
+ })
59
98
  .includes(line.line_number);
99
+ var currentQuantity = line.adjustments.reduce(function (t, v) { return t + v.quantity; }, line.quantity);
100
+ var getUnconfirmedStyle = function (v) {
101
+ return v.receipt_number == null
102
+ ? { color: theme.palette.grey[700], fontStyle: "italic" }
103
+ : {};
104
+ };
60
105
  return (react_1.default.createElement(TableRow_1.default, { key: line.line_number },
61
- editable
62
- ? (react_1.default.createElement(TableCell_1.default, { align: "left", padding: "checkbox" },
63
- react_1.default.createElement(Checkbox_1.default, { color: "secondary", checked: isSelected, onChange: (_, checked) => toggleLine(line, checked) })))
64
- : null,
65
- react_1.default.createElement(TableCell_1.default, { align: "left" }, line.title),
66
- react_1.default.createElement(TableCell_1.default, { align: "right" }, editable
67
- ? (react_1.default.createElement(Input_1.default, { type: "number", defaultValue: line.quantity, inputProps: { min: 0, max: line.quantity }, disabled: !isSelected, onChange: (event) => lineQuantityChange(Object.assign(Object.assign({}, line), { quantity: parseInt(event.target.value) })) }))
68
- : line.quantity),
69
- react_1.default.createElement(TableCell_1.default, { align: "right" }, `${line.unit_price} SEK`),
70
- react_1.default.createElement(TableCell_1.default, { align: "right" }, `${line.total_amount} SEK`)));
106
+ editable ? (react_1.default.createElement(TableCell_1.default, { sx: { verticalAlign: "top", paddingTop: 0.7 }, align: "left", padding: "checkbox" },
107
+ react_1.default.createElement(Checkbox_1.default, { color: "secondary", disabled: currentQuantity === 0, checked: isSelected && currentQuantity !== 0, onChange: function (_, checked) {
108
+ return toggleLine(__assign(__assign({}, line), { quantity: currentQuantity }), checked);
109
+ } }))) : null,
110
+ react_1.default.createElement(TableCell_1.default, { style: { verticalAlign: "top" }, align: "left" },
111
+ react_1.default.createElement(Typography_1.default, { fontSize: "0.875rem" }, line.title),
112
+ line.adjustments.map(function (v) {
113
+ var text = {
114
+ CANCELLATION: "Cancellation",
115
+ RETURN: "Return",
116
+ REFUND: "Refund",
117
+ DISCOUNT: "Discount: ",
118
+ }[v.adjustment_type];
119
+ return (react_1.default.createElement(Typography_1.default, { sx: __assign({ paddingLeft: 2 }, getUnconfirmedStyle(v)), fontSize: "0.875rem" }, text + v.title));
120
+ })),
121
+ react_1.default.createElement(TableCell_1.default, { style: { verticalAlign: "top" }, align: "right" }, line.reference),
122
+ react_1.default.createElement(TableCell_1.default, { style: { verticalAlign: "top" }, align: "right" }, editable ? (react_1.default.createElement(Input_1.default, { type: "number", defaultValue: currentQuantity, inputProps: {
123
+ min: Math.min(currentQuantity, 1),
124
+ max: currentQuantity,
125
+ }, disabled: !isSelected, onChange: function (event) {
126
+ return lineQuantityChange(__assign(__assign({}, line), { quantity: parseInt(event.target.value) }));
127
+ } })) : (react_1.default.createElement(react_1.default.Fragment, null,
128
+ react_1.default.createElement(Typography_1.default, { fontSize: "0.875rem" }, line.quantity),
129
+ line.adjustments.map(function (v) {
130
+ if (v.quantity === 0) {
131
+ return (react_1.default.createElement(Typography_1.default, { fontSize: "0.875rem" }));
132
+ }
133
+ return (react_1.default.createElement(Typography_1.default, { fontSize: "0.875rem", sx: getUnconfirmedStyle(v) }, v.quantity));
134
+ })))),
135
+ react_1.default.createElement(TableCell_1.default, { style: { verticalAlign: "top" }, align: "right" },
136
+ line.unit_price,
137
+ " ",
138
+ currency),
139
+ react_1.default.createElement(TableCell_1.default, { style: { verticalAlign: "top" }, align: "right" },
140
+ react_1.default.createElement(Typography_1.default, { fontSize: "0.875rem" },
141
+ line.total_amount,
142
+ " ",
143
+ currency),
144
+ line.adjustments.map(function (v) {
145
+ return (react_1.default.createElement(Typography_1.default, { fontSize: "0.875rem", sx: getUnconfirmedStyle(v) },
146
+ v.total_amount,
147
+ " ",
148
+ currency));
149
+ })),
150
+ react_1.default.createElement(TableCell_1.default, { style: { verticalAlign: "top" }, align: "right" },
151
+ react_1.default.createElement("div", null,
152
+ react_1.default.createElement(Typography_1.default, { fontSize: "0.875rem" },
153
+ line.total_amount,
154
+ " ",
155
+ currency),
156
+ line.adjustments
157
+ .slice(0)
158
+ .slice(1)
159
+ .map(function () { return (react_1.default.createElement(Typography_1.default, { fontSize: "0.875rem" }, " ")); }),
160
+ line.remaining_amount != line.total_amount ? (react_1.default.createElement(Typography_1.default, { fontSize: "0.875rem" },
161
+ "(",
162
+ line.remaining_amount,
163
+ " ",
164
+ currency,
165
+ ")")) : null))));
71
166
  })))));
72
167
  };
73
168
  exports.ReceiptTable = ReceiptTable;
169
+ //# sourceMappingURL=ReceiptTable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReceiptTable.js","sourceRoot":"","sources":["../../../../../src/extensions/pos/components/ReceiptTable.tsx"],"names":[],"mappings":"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"}