@merchi/cart 1.4.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 (372) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +134 -0
  3. package/esm/Cart.js +62 -0
  4. package/esm/CartAlert.js +47 -0
  5. package/esm/CartHeader.js +29 -0
  6. package/esm/CartProvider.js +1101 -0
  7. package/esm/CartTotals.js +89 -0
  8. package/esm/assets/merchi-monster-loader.gif +0 -0
  9. package/esm/assets/merchi-swipe-outline.png +0 -0
  10. package/esm/assets/product-not-found.png +0 -0
  11. package/esm/assets/stripe-payment-secure.png +0 -0
  12. package/esm/buttons/Button.js +23 -0
  13. package/esm/buttons/ButtonBack.js +35 -0
  14. package/esm/buttons/ButtonClearCart.js +17 -0
  15. package/esm/buttons/ButtonInvoiceDownload.js +88 -0
  16. package/esm/buttons/ButtonNext.js +39 -0
  17. package/esm/buttons/ButtonNextDynamic.js +19 -0
  18. package/esm/buttons/ButtonOpenCartMerchiCartModal.js +47 -0
  19. package/esm/buttons/ButtonPay.js +26 -0
  20. package/esm/buttons/ButtonShipmentTabNext.js +28 -0
  21. package/esm/buttons/index.js +7 -0
  22. package/esm/components/Alert.js +26 -0
  23. package/esm/components/CartBody.js +14 -0
  24. package/esm/components/CartClient.js +62 -0
  25. package/esm/components/CartFooter.js +12 -0
  26. package/esm/components/CartItemRow.js +230 -0
  27. package/esm/components/CartPaymentSettingsInvalid.js +13 -0
  28. package/esm/components/CartShipment.js +52 -0
  29. package/esm/components/CartTabContent.js +12 -0
  30. package/esm/components/CartTabPanel.js +25 -0
  31. package/esm/components/CartTableContainer.js +12 -0
  32. package/esm/components/CartTitle.js +26 -0
  33. package/esm/components/CartTotalsListGroup.js +71 -0
  34. package/esm/components/Collapse.js +32 -0
  35. package/esm/components/CustomCartProductForm.js +128 -0
  36. package/esm/components/CustomerCheckoutMethodTabs.js +94 -0
  37. package/esm/components/DiscountInputGroup.js +293 -0
  38. package/esm/components/LoadingTemplate.js +23 -0
  39. package/esm/components/NoCartItems.js +20 -0
  40. package/esm/components/ShipmentGroupCard.js +207 -0
  41. package/esm/components/Table.js +13 -0
  42. package/esm/components/containers.js +31 -0
  43. package/esm/components/index.js +18 -0
  44. package/esm/components/product-form-sdk-externals.js +36 -0
  45. package/esm/forms/FormNewCustomer.js +243 -0
  46. package/esm/forms/FormReturningCustomer.js +165 -0
  47. package/esm/forms/FormShipmentAddressAndNotes.js +195 -0
  48. package/esm/forms/FormSquarePayment.js +19 -0
  49. package/esm/forms/FormStripePayment.js +19 -0
  50. package/esm/forms/FormWhatsappCustomer.js +253 -0
  51. package/esm/forms/InputAcceptUserTermsAndConditions.js +35 -0
  52. package/esm/forms/InputError.js +16 -0
  53. package/esm/forms/InputSelect.js +48 -0
  54. package/esm/forms/InputText.js +56 -0
  55. package/esm/forms/InputsAddress.js +476 -0
  56. package/esm/forms/index.js +8 -0
  57. package/esm/index.js +13 -0
  58. package/esm/modals.js +51 -0
  59. package/esm/panels/PanelCartItems.js +49 -0
  60. package/esm/panels/PanelCartShipment.js +66 -0
  61. package/esm/panels/PanelClearCart.js +56 -0
  62. package/esm/panels/PanelClientCheckout.js +81 -0
  63. package/esm/panels/PanelEditCartItem.js +199 -0
  64. package/esm/panels/PanelPaymentSuccess.js +63 -0
  65. package/esm/panels/index.js +7 -0
  66. package/esm/square/SquareCard.js +106 -0
  67. package/esm/stripe/LegacyStripeCardForm.js +157 -0
  68. package/esm/stripe/StripeCardFields.js +126 -0
  69. package/esm/stripe/StripeCardForm.js +33 -0
  70. package/esm/stripe/StripePaymentButtons.js +98 -0
  71. package/esm/stripe/actions.js +192 -0
  72. package/esm/stripe/utils.js +20 -0
  73. package/esm/styles/globals.css +463 -0
  74. package/esm/styles/globals.css.map +1 -0
  75. package/esm/tabs/CartNav.js +28 -0
  76. package/esm/tabs/NavTab.js +31 -0
  77. package/esm/types/assets.d.js +0 -0
  78. package/esm/types/index.js +1 -0
  79. package/esm/types/merchi_product_form/index.d.js +0 -0
  80. package/esm/types/merchi_sdk_ts/index.d.js +0 -0
  81. package/esm/types/react-redux/index.d.js +0 -0
  82. package/esm/utilities/address.js +457 -0
  83. package/esm/utilities/area.js +297 -0
  84. package/esm/utilities/cart.js +95 -0
  85. package/esm/utilities/company.js +6 -0
  86. package/esm/utilities/cookie.js +156 -0
  87. package/esm/utilities/currency.js +219 -0
  88. package/esm/utilities/customForm.js +57 -0
  89. package/esm/utilities/helpers.js +229 -0
  90. package/esm/utilities/index.js +14 -0
  91. package/esm/utilities/invoice.js +112 -0
  92. package/esm/utilities/job.js +9 -0
  93. package/esm/utilities/local_storage.js +85 -0
  94. package/esm/utilities/product.js +13 -0
  95. package/esm/utilities/shipment.js +11 -0
  96. package/esm/utilities/tabs.js +51 -0
  97. package/esm/utilities/user.js +65 -0
  98. package/esm/utilities/variations.js +58 -0
  99. package/lib/Cart.d.ts +9 -0
  100. package/lib/Cart.js +69 -0
  101. package/lib/CartAlert.d.ts +3 -0
  102. package/lib/CartAlert.js +53 -0
  103. package/lib/CartHeader.d.ts +3 -0
  104. package/lib/CartHeader.js +37 -0
  105. package/lib/CartProvider.d.ts +236 -0
  106. package/lib/CartProvider.js +1107 -0
  107. package/lib/CartTotals.d.ts +7 -0
  108. package/lib/CartTotals.js +96 -0
  109. package/lib/assets/merchi-monster-loader.gif +0 -0
  110. package/lib/assets/merchi-swipe-outline.png +0 -0
  111. package/lib/assets/product-not-found.png +0 -0
  112. package/lib/assets/stripe-payment-secure.png +0 -0
  113. package/lib/buttons/Button.d.ts +11 -0
  114. package/lib/buttons/Button.js +31 -0
  115. package/lib/buttons/ButtonBack.d.ts +6 -0
  116. package/lib/buttons/ButtonBack.js +44 -0
  117. package/lib/buttons/ButtonClearCart.d.ts +3 -0
  118. package/lib/buttons/ButtonClearCart.js +24 -0
  119. package/lib/buttons/ButtonInvoiceDownload.d.ts +3 -0
  120. package/lib/buttons/ButtonInvoiceDownload.js +96 -0
  121. package/lib/buttons/ButtonNext.d.ts +3 -0
  122. package/lib/buttons/ButtonNext.js +48 -0
  123. package/lib/buttons/ButtonNextDynamic.d.ts +3 -0
  124. package/lib/buttons/ButtonNextDynamic.js +28 -0
  125. package/lib/buttons/ButtonOpenCartMerchiCartModal.d.ts +9 -0
  126. package/lib/buttons/ButtonOpenCartMerchiCartModal.js +57 -0
  127. package/lib/buttons/ButtonPay.d.ts +7 -0
  128. package/lib/buttons/ButtonPay.js +35 -0
  129. package/lib/buttons/ButtonShipmentTabNext.d.ts +2 -0
  130. package/lib/buttons/ButtonShipmentTabNext.js +37 -0
  131. package/lib/buttons/index.d.ts +7 -0
  132. package/lib/buttons/index.js +48 -0
  133. package/lib/components/Alert.d.ts +7 -0
  134. package/lib/components/Alert.js +34 -0
  135. package/lib/components/CartBody.d.ts +7 -0
  136. package/lib/components/CartBody.js +22 -0
  137. package/lib/components/CartClient.d.ts +4 -0
  138. package/lib/components/CartClient.js +71 -0
  139. package/lib/components/CartFooter.d.ts +6 -0
  140. package/lib/components/CartFooter.js +20 -0
  141. package/lib/components/CartItemRow.d.ts +7 -0
  142. package/lib/components/CartItemRow.js +236 -0
  143. package/lib/components/CartPaymentSettingsInvalid.d.ts +2 -0
  144. package/lib/components/CartPaymentSettingsInvalid.js +21 -0
  145. package/lib/components/CartShipment.d.ts +6 -0
  146. package/lib/components/CartShipment.js +59 -0
  147. package/lib/components/CartTabContent.d.ts +6 -0
  148. package/lib/components/CartTabContent.js +20 -0
  149. package/lib/components/CartTabPanel.d.ts +7 -0
  150. package/lib/components/CartTabPanel.js +31 -0
  151. package/lib/components/CartTableContainer.d.ts +6 -0
  152. package/lib/components/CartTableContainer.js +20 -0
  153. package/lib/components/CartTitle.d.ts +2 -0
  154. package/lib/components/CartTitle.js +34 -0
  155. package/lib/components/CartTotalsListGroup.d.ts +3 -0
  156. package/lib/components/CartTotalsListGroup.js +78 -0
  157. package/lib/components/Collapse.d.ts +3 -0
  158. package/lib/components/Collapse.js +40 -0
  159. package/lib/components/CustomCartProductForm.d.ts +18 -0
  160. package/lib/components/CustomCartProductForm.js +136 -0
  161. package/lib/components/CustomerCheckoutMethodTabs.d.ts +6 -0
  162. package/lib/components/CustomerCheckoutMethodTabs.js +103 -0
  163. package/lib/components/DiscountInputGroup.d.ts +2 -0
  164. package/lib/components/DiscountInputGroup.js +301 -0
  165. package/lib/components/LoadingTemplate.d.ts +7 -0
  166. package/lib/components/LoadingTemplate.js +30 -0
  167. package/lib/components/NoCartItems.d.ts +3 -0
  168. package/lib/components/NoCartItems.js +27 -0
  169. package/lib/components/ShipmentGroupCard.d.ts +7 -0
  170. package/lib/components/ShipmentGroupCard.js +215 -0
  171. package/lib/components/Table.d.ts +7 -0
  172. package/lib/components/Table.js +19 -0
  173. package/lib/components/containers.d.ts +14 -0
  174. package/lib/components/containers.js +40 -0
  175. package/lib/components/index.d.ts +18 -0
  176. package/lib/components/index.js +133 -0
  177. package/lib/components/product-form-sdk-externals.d.ts +46 -0
  178. package/lib/components/product-form-sdk-externals.js +43 -0
  179. package/lib/forms/FormNewCustomer.d.ts +4 -0
  180. package/lib/forms/FormNewCustomer.js +252 -0
  181. package/lib/forms/FormReturningCustomer.d.ts +3 -0
  182. package/lib/forms/FormReturningCustomer.js +173 -0
  183. package/lib/forms/FormShipmentAddressAndNotes.d.ts +15 -0
  184. package/lib/forms/FormShipmentAddressAndNotes.js +203 -0
  185. package/lib/forms/FormSquarePayment.d.ts +3 -0
  186. package/lib/forms/FormSquarePayment.js +27 -0
  187. package/lib/forms/FormStripePayment.d.ts +3 -0
  188. package/lib/forms/FormStripePayment.js +27 -0
  189. package/lib/forms/FormWhatsappCustomer.d.ts +3 -0
  190. package/lib/forms/FormWhatsappCustomer.js +261 -0
  191. package/lib/forms/InputAcceptUserTermsAndConditions.d.ts +7 -0
  192. package/lib/forms/InputAcceptUserTermsAndConditions.js +41 -0
  193. package/lib/forms/InputError.d.ts +8 -0
  194. package/lib/forms/InputError.js +24 -0
  195. package/lib/forms/InputSelect.d.ts +14 -0
  196. package/lib/forms/InputSelect.js +55 -0
  197. package/lib/forms/InputText.d.ts +12 -0
  198. package/lib/forms/InputText.js +63 -0
  199. package/lib/forms/InputsAddress.d.ts +11 -0
  200. package/lib/forms/InputsAddress.js +485 -0
  201. package/lib/forms/index.d.ts +8 -0
  202. package/lib/forms/index.js +63 -0
  203. package/lib/index.d.ts +13 -0
  204. package/lib/index.js +93 -0
  205. package/lib/modals.d.ts +17 -0
  206. package/lib/modals.js +59 -0
  207. package/lib/panels/PanelCartItems.d.ts +3 -0
  208. package/lib/panels/PanelCartItems.js +56 -0
  209. package/lib/panels/PanelCartShipment.d.ts +3 -0
  210. package/lib/panels/PanelCartShipment.js +72 -0
  211. package/lib/panels/PanelClearCart.d.ts +3 -0
  212. package/lib/panels/PanelClearCart.js +62 -0
  213. package/lib/panels/PanelClientCheckout.d.ts +3 -0
  214. package/lib/panels/PanelClientCheckout.js +88 -0
  215. package/lib/panels/PanelEditCartItem.d.ts +6 -0
  216. package/lib/panels/PanelEditCartItem.js +206 -0
  217. package/lib/panels/PanelPaymentSuccess.d.ts +3 -0
  218. package/lib/panels/PanelPaymentSuccess.js +69 -0
  219. package/lib/panels/index.d.ts +7 -0
  220. package/lib/panels/index.js +48 -0
  221. package/lib/square/SquareCard.d.ts +3 -0
  222. package/lib/square/SquareCard.js +114 -0
  223. package/lib/stripe/LegacyStripeCardForm.d.ts +3 -0
  224. package/lib/stripe/LegacyStripeCardForm.js +166 -0
  225. package/lib/stripe/StripeCardFields.d.ts +15 -0
  226. package/lib/stripe/StripeCardFields.js +135 -0
  227. package/lib/stripe/StripeCardForm.d.ts +2 -0
  228. package/lib/stripe/StripeCardForm.js +42 -0
  229. package/lib/stripe/StripePaymentButtons.d.ts +8 -0
  230. package/lib/stripe/StripePaymentButtons.js +106 -0
  231. package/lib/stripe/actions.d.ts +4 -0
  232. package/lib/stripe/actions.js +200 -0
  233. package/lib/stripe/utils.d.ts +18 -0
  234. package/lib/stripe/utils.js +27 -0
  235. package/lib/styles/globals.css +463 -0
  236. package/lib/styles/globals.css.map +1 -0
  237. package/lib/tabs/CartNav.d.ts +3 -0
  238. package/lib/tabs/CartNav.js +36 -0
  239. package/lib/tabs/NavTab.d.ts +9 -0
  240. package/lib/tabs/NavTab.js +39 -0
  241. package/lib/types/index.d.ts +13 -0
  242. package/lib/types/index.js +1 -0
  243. package/lib/utilities/address.d.ts +30 -0
  244. package/lib/utilities/address.js +468 -0
  245. package/lib/utilities/area.d.ts +77 -0
  246. package/lib/utilities/area.js +328 -0
  247. package/lib/utilities/cart.d.ts +9 -0
  248. package/lib/utilities/cart.js +108 -0
  249. package/lib/utilities/company.d.ts +2 -0
  250. package/lib/utilities/company.js +13 -0
  251. package/lib/utilities/cookie.d.ts +4 -0
  252. package/lib/utilities/cookie.js +165 -0
  253. package/lib/utilities/currency.d.ts +5 -0
  254. package/lib/utilities/currency.js +229 -0
  255. package/lib/utilities/customForm.d.ts +17 -0
  256. package/lib/utilities/customForm.js +64 -0
  257. package/lib/utilities/helpers.d.ts +24 -0
  258. package/lib/utilities/helpers.js +240 -0
  259. package/lib/utilities/index.d.ts +14 -0
  260. package/lib/utilities/index.js +159 -0
  261. package/lib/utilities/invoice.d.ts +3 -0
  262. package/lib/utilities/invoice.js +118 -0
  263. package/lib/utilities/job.d.ts +1 -0
  264. package/lib/utilities/job.js +15 -0
  265. package/lib/utilities/local_storage.d.ts +31 -0
  266. package/lib/utilities/local_storage.js +96 -0
  267. package/lib/utilities/product.d.ts +2 -0
  268. package/lib/utilities/product.js +21 -0
  269. package/lib/utilities/shipment.d.ts +2 -0
  270. package/lib/utilities/shipment.js +18 -0
  271. package/lib/utilities/tabs.d.ts +14 -0
  272. package/lib/utilities/tabs.js +60 -0
  273. package/lib/utilities/user.d.ts +5 -0
  274. package/lib/utilities/user.js +75 -0
  275. package/lib/utilities/variations.d.ts +18 -0
  276. package/lib/utilities/variations.js +66 -0
  277. package/package.json +109 -0
  278. package/src/Cart.tsx +96 -0
  279. package/src/CartAlert.tsx +35 -0
  280. package/src/CartHeader.tsx +28 -0
  281. package/src/CartProvider.tsx +992 -0
  282. package/src/CartTotals.tsx +102 -0
  283. package/src/assets/merchi-monster-loader.gif +0 -0
  284. package/src/assets/merchi-swipe-outline.png +0 -0
  285. package/src/assets/product-not-found.png +0 -0
  286. package/src/assets/stripe-payment-secure.png +0 -0
  287. package/src/buttons/Button.tsx +35 -0
  288. package/src/buttons/ButtonBack.tsx +42 -0
  289. package/src/buttons/ButtonClearCart.tsx +17 -0
  290. package/src/buttons/ButtonInvoiceDownload.tsx +60 -0
  291. package/src/buttons/ButtonNext.tsx +35 -0
  292. package/src/buttons/ButtonNextDynamic.tsx +31 -0
  293. package/src/buttons/ButtonOpenCartMerchiCartModal.tsx +61 -0
  294. package/src/buttons/ButtonPay.tsx +32 -0
  295. package/src/buttons/ButtonShipmentTabNext.tsx +24 -0
  296. package/src/buttons/index.ts +15 -0
  297. package/src/components/Alert.tsx +31 -0
  298. package/src/components/CartBody.tsx +16 -0
  299. package/src/components/CartClient.tsx +52 -0
  300. package/src/components/CartFooter.tsx +15 -0
  301. package/src/components/CartItemRow.tsx +212 -0
  302. package/src/components/CartPaymentSettingsInvalid.tsx +12 -0
  303. package/src/components/CartShipment.tsx +56 -0
  304. package/src/components/CartTabContent.tsx +15 -0
  305. package/src/components/CartTabPanel.tsx +25 -0
  306. package/src/components/CartTableContainer.tsx +15 -0
  307. package/src/components/CartTitle.tsx +22 -0
  308. package/src/components/CartTotalsListGroup.tsx +58 -0
  309. package/src/components/Collapse.tsx +23 -0
  310. package/src/components/CustomCartProductForm.tsx +123 -0
  311. package/src/components/CustomerCheckoutMethodTabs.tsx +106 -0
  312. package/src/components/DiscountInputGroup.tsx +160 -0
  313. package/src/components/LoadingTemplate.tsx +22 -0
  314. package/src/components/NoCartItems.tsx +20 -0
  315. package/src/components/ShipmentGroupCard.tsx +170 -0
  316. package/src/components/Table.tsx +15 -0
  317. package/src/components/containers.tsx +40 -0
  318. package/src/components/index.ts +38 -0
  319. package/src/components/product-form-sdk-externals.ts +67 -0
  320. package/src/forms/FormNewCustomer.tsx +170 -0
  321. package/src/forms/FormReturningCustomer.tsx +117 -0
  322. package/src/forms/FormShipmentAddressAndNotes.tsx +165 -0
  323. package/src/forms/FormSquarePayment.tsx +19 -0
  324. package/src/forms/FormStripePayment.tsx +19 -0
  325. package/src/forms/FormWhatsappCustomer.tsx +179 -0
  326. package/src/forms/InputAcceptUserTermsAndConditions.tsx +43 -0
  327. package/src/forms/InputError.tsx +23 -0
  328. package/src/forms/InputSelect.tsx +58 -0
  329. package/src/forms/InputText.tsx +56 -0
  330. package/src/forms/InputsAddress.tsx +438 -0
  331. package/src/forms/index.ts +18 -0
  332. package/src/index.ts +31 -0
  333. package/src/modals.tsx +65 -0
  334. package/src/panels/PanelCartItems.tsx +56 -0
  335. package/src/panels/PanelCartShipment.tsx +86 -0
  336. package/src/panels/PanelClearCart.tsx +50 -0
  337. package/src/panels/PanelClientCheckout.tsx +102 -0
  338. package/src/panels/PanelEditCartItem.tsx +172 -0
  339. package/src/panels/PanelPaymentSuccess.tsx +66 -0
  340. package/src/panels/index.ts +15 -0
  341. package/src/square/SquareCard.tsx +84 -0
  342. package/src/stripe/LegacyStripeCardForm.tsx +91 -0
  343. package/src/stripe/StripeCardFields.tsx +173 -0
  344. package/src/stripe/StripeCardForm.tsx +18 -0
  345. package/src/stripe/StripePaymentButtons.tsx +117 -0
  346. package/src/stripe/actions.ts +94 -0
  347. package/src/stripe/utils.ts +22 -0
  348. package/src/styles/globals.scss +475 -0
  349. package/src/tabs/CartNav.tsx +18 -0
  350. package/src/tabs/NavTab.tsx +36 -0
  351. package/src/types/assets.d.ts +4 -0
  352. package/src/types/index.ts +15 -0
  353. package/src/types/merchi_product_form/index.d.ts +1 -0
  354. package/src/types/merchi_sdk_ts/index.d.ts +1 -0
  355. package/src/types/react-redux/index.d.ts +0 -0
  356. package/src/utilities/address.ts +463 -0
  357. package/src/utilities/area.ts +359 -0
  358. package/src/utilities/cart.ts +80 -0
  359. package/src/utilities/company.ts +8 -0
  360. package/src/utilities/cookie.ts +58 -0
  361. package/src/utilities/currency.ts +216 -0
  362. package/src/utilities/customForm.ts +71 -0
  363. package/src/utilities/helpers.ts +213 -0
  364. package/src/utilities/index.ts +14 -0
  365. package/src/utilities/invoice.ts +60 -0
  366. package/src/utilities/job.ts +13 -0
  367. package/src/utilities/local_storage.ts +130 -0
  368. package/src/utilities/product.ts +14 -0
  369. package/src/utilities/shipment.ts +11 -0
  370. package/src/utilities/tabs.ts +38 -0
  371. package/src/utilities/user.ts +33 -0
  372. package/src/utilities/variations.ts +80 -0
@@ -0,0 +1,89 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
5
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
6
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
+ import { formatCurrency } from './utilities/currency';
8
+ import { cartRequiresShipment } from './utilities/cart';
9
+ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
10
+ import { faCircleNotch } from '@fortawesome/free-solid-svg-icons';
11
+ import { Table } from './components';
12
+ import { useCartContext } from './CartProvider';
13
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
14
+ export function CartTotal(_ref) {
15
+ var attribute = _ref.attribute;
16
+ var _useCartContext = useCartContext(),
17
+ loading = _useCartContext.loading,
18
+ loadingTotals = _useCartContext.loadingTotals;
19
+ var _useCartContext2 = useCartContext(),
20
+ cart = _useCartContext2.cart,
21
+ fetchingCart = _useCartContext2.fetchingCart;
22
+ var domain = cart.domain;
23
+ var company = domain ? domain.company : null;
24
+ var currency = company ? company.defaultCurrency : 'AUD';
25
+ var isLoading = fetchingCart || loadingTotals || loading;
26
+ var money = cart[attribute] ? cart[attribute] : 0;
27
+ return /*#__PURE__*/_jsx("div", {
28
+ style: {
29
+ paddingRight: 8
30
+ },
31
+ children: isLoading ? /*#__PURE__*/_jsx(FontAwesomeIcon, {
32
+ icon: faCircleNotch,
33
+ spin: true
34
+ }) : "".concat(currency, " ").concat(formatCurrency(money, {
35
+ currency: currency
36
+ }))
37
+ });
38
+ }
39
+ function CostsTableRow(_ref2) {
40
+ var attr = _ref2.attr,
41
+ name = _ref2.name;
42
+ var _useCartContext3 = useCartContext(),
43
+ classNameCartTotalItem = _useCartContext3.classNameCartTotalItem,
44
+ classNameCartTotalItemPrice = _useCartContext3.classNameCartTotalItemPrice;
45
+ return /*#__PURE__*/_jsxs("tr", {
46
+ children: [/*#__PURE__*/_jsx("td", {
47
+ className: classNameCartTotalItem,
48
+ children: name
49
+ }), /*#__PURE__*/_jsx("th", {
50
+ className: classNameCartTotalItemPrice,
51
+ children: /*#__PURE__*/_jsx(CartTotal, {
52
+ attribute: attr
53
+ })
54
+ })]
55
+ });
56
+ }
57
+ function CartTotals() {
58
+ var _useCartContext4 = useCartContext(),
59
+ cart = _useCartContext4.cart,
60
+ classNameCartTotalContainer = _useCartContext4.classNameCartTotalContainer,
61
+ classNameCartTotalItemPrice = _useCartContext4.classNameCartTotalItemPrice;
62
+ var cartItems = (cart === null || cart === void 0 ? void 0 : cart.cartItems) || [];
63
+ return /*#__PURE__*/_jsx("div", {
64
+ className: classNameCartTotalContainer,
65
+ children: /*#__PURE__*/_jsx(Table, {
66
+ className: "merchi-cart-total-table",
67
+ children: /*#__PURE__*/_jsxs("tbody", {
68
+ children: [/*#__PURE__*/_jsx(CostsTableRow, {
69
+ attr: "cartItemsTotalCost",
70
+ name: "Subtotal"
71
+ }), cartRequiresShipment(_objectSpread(_objectSpread({}, cart), {}, {
72
+ cartItems: cartItems
73
+ })) && /*#__PURE__*/_jsx(CostsTableRow, {
74
+ attr: "shipmentTotalCost",
75
+ name: "Shipping"
76
+ }), /*#__PURE__*/_jsx(CostsTableRow, {
77
+ attr: "totalCost",
78
+ name: "Total"
79
+ }), /*#__PURE__*/_jsxs("tr", {
80
+ children: [/*#__PURE__*/_jsx("td", {}), /*#__PURE__*/_jsx("td", {
81
+ className: classNameCartTotalItemPrice,
82
+ children: "Total price includes taxes"
83
+ })]
84
+ })]
85
+ })
86
+ })
87
+ });
88
+ }
89
+ export default CartTotals;
Binary file
@@ -0,0 +1,23 @@
1
+ import * as React from 'react';
2
+ import { useCartContext } from "../CartProvider";
3
+ import { jsx as _jsx } from "react/jsx-runtime";
4
+ export default function Button(_ref) {
5
+ var children = _ref.children,
6
+ _ref$className = _ref.className,
7
+ className = _ref$className === void 0 ? '' : _ref$className,
8
+ disabled = _ref.disabled,
9
+ form = _ref.form,
10
+ onClick = _ref.onClick,
11
+ _ref$type = _ref.type,
12
+ type = _ref$type === void 0 ? 'button' : _ref$type;
13
+ var _useCartContext = useCartContext(),
14
+ classNameBtn = _useCartContext.classNameBtn;
15
+ return /*#__PURE__*/_jsx("button", {
16
+ className: "".concat(classNameBtn, " ").concat(className),
17
+ disabled: disabled,
18
+ form: form,
19
+ onClick: onClick,
20
+ type: type,
21
+ children: children
22
+ });
23
+ }
@@ -0,0 +1,35 @@
1
+ import * as React from 'react';
2
+ import { useCartContext } from '../CartProvider';
3
+ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
4
+ import { faArrowLeft } from '@fortawesome/free-solid-svg-icons';
5
+ import Button from './Button';
6
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
+ function ButtonBack(_ref) {
8
+ var text = _ref.text;
9
+ var _useCartContext = useCartContext(),
10
+ activeTabIndex = _useCartContext.activeTabIndex,
11
+ classNameBtnBack = _useCartContext.classNameBtnBack,
12
+ onClickClose = _useCartContext.onClickClose,
13
+ setActiveTabIndex = _useCartContext.setActiveTabIndex,
14
+ tabs = _useCartContext.tabs,
15
+ toggleCartModal = _useCartContext.toggleCartModal;
16
+ var currentTabIndex = tabs.findIndex(function (t) {
17
+ return t.tabId === activeTabIndex;
18
+ });
19
+ var nextTab = null;
20
+ if (currentTabIndex > 0) {
21
+ nextTab = tabs[currentTabIndex - 1];
22
+ }
23
+ var nextTabId = nextTab ? nextTab.tabId : 0;
24
+ var close = onClickClose || toggleCartModal;
25
+ return /*#__PURE__*/_jsxs(Button, {
26
+ className: classNameBtnBack,
27
+ onClick: activeTabIndex === 0 ? close : function () {
28
+ return setActiveTabIndex(nextTabId);
29
+ },
30
+ children: [/*#__PURE__*/_jsx(FontAwesomeIcon, {
31
+ icon: faArrowLeft
32
+ }), text ? " ".concat(text) : '']
33
+ });
34
+ }
35
+ export default ButtonBack;
@@ -0,0 +1,17 @@
1
+ import { useCartContext } from '../CartProvider';
2
+ import { tabIdClearCart } from '../utilities/tabs';
3
+ import Button from './Button';
4
+ import { jsx as _jsx } from "react/jsx-runtime";
5
+ function ButtonClearCart() {
6
+ var _useCartContext = useCartContext(),
7
+ classNameBtnCartClear = _useCartContext.classNameBtnCartClear,
8
+ setActiveTabIndex = _useCartContext.setActiveTabIndex;
9
+ return /*#__PURE__*/_jsx(Button, {
10
+ className: classNameBtnCartClear,
11
+ onClick: function onClick() {
12
+ return setActiveTabIndex(tabIdClearCart);
13
+ },
14
+ children: "Clear cart"
15
+ });
16
+ }
17
+ export default ButtonClearCart;
@@ -0,0 +1,88 @@
1
+ function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
2
+ function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
3
+ function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
4
+ function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
5
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
6
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
7
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
8
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
9
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
10
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
11
+ import * as React from 'react';
12
+ import { useCartContext } from '../CartProvider';
13
+ import { generatePublicInvoicePdf } from '../utilities/invoice';
14
+ import { useState } from 'react';
15
+ import { CgSpinner } from 'react-icons/cg';
16
+ import { FaFileInvoiceDollar } from 'react-icons/fa';
17
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
18
+ function ButtonInvoiceDownload() {
19
+ var _useCartContext = useCartContext(),
20
+ alertError = _useCartContext.alertError,
21
+ classNameBtnDownloadInvoice = _useCartContext.classNameBtnDownloadInvoice,
22
+ apiUrl = _useCartContext.apiUrl,
23
+ invoiceJson = _useCartContext.invoiceJson;
24
+ var unpaid = invoiceJson.unpaid;
25
+ var _useState = useState(false),
26
+ _useState2 = _slicedToArray(_useState, 2),
27
+ loading = _useState2[0],
28
+ setLoading = _useState2[1];
29
+ function generate(_x) {
30
+ return _generate.apply(this, arguments);
31
+ }
32
+ function _generate() {
33
+ _generate = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(receipt) {
34
+ var _t;
35
+ return _regenerator().w(function (_context) {
36
+ while (1) switch (_context.p = _context.n) {
37
+ case 0:
38
+ setLoading(true);
39
+ _context.p = 1;
40
+ _context.n = 2;
41
+ return generatePublicInvoicePdf(apiUrl, invoiceJson, receipt);
42
+ case 2:
43
+ setLoading(false);
44
+ _context.n = 4;
45
+ break;
46
+ case 3:
47
+ _context.p = 3;
48
+ _t = _context.v;
49
+ alertError(_t.message);
50
+ setLoading(false);
51
+ case 4:
52
+ return _context.a(2);
53
+ }
54
+ }, _callee, null, [[1, 3]]);
55
+ }));
56
+ return _generate.apply(this, arguments);
57
+ }
58
+ return /*#__PURE__*/_jsx(_Fragment, {
59
+ children: unpaid ? /*#__PURE__*/_jsxs("button", {
60
+ className: classNameBtnDownloadInvoice,
61
+ disabled: loading,
62
+ onClick: function onClick() {
63
+ return generate(false);
64
+ },
65
+ children: [loading ? /*#__PURE__*/_jsx(CgSpinner, {
66
+ fontSize: "1.1rem",
67
+ className: "animate_spin mr-2"
68
+ }) : /*#__PURE__*/_jsx(FaFileInvoiceDollar, {
69
+ fontSize: "1.1rem",
70
+ className: "mr-2"
71
+ }), "Download Invoice"]
72
+ }) : /*#__PURE__*/_jsxs("button", {
73
+ className: classNameBtnDownloadInvoice,
74
+ disabled: loading,
75
+ onClick: function onClick() {
76
+ return generate(true);
77
+ },
78
+ children: [loading ? /*#__PURE__*/_jsx(CgSpinner, {
79
+ fontSize: "1.1rem",
80
+ className: "animate_spin mr-2"
81
+ }) : /*#__PURE__*/_jsx(FaFileInvoiceDollar, {
82
+ fontSize: "1.1rem",
83
+ className: "mr-2"
84
+ }), "Download Receipt"]
85
+ })
86
+ });
87
+ }
88
+ export default ButtonInvoiceDownload;
@@ -0,0 +1,39 @@
1
+ import * as React from 'react';
2
+ import { tabIdCheckout } from '../utilities/tabs';
3
+ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
4
+ import { faArrowRight, faCircleNotch, faCreditCard } from '@fortawesome/free-solid-svg-icons';
5
+ import Button from './Button';
6
+ import { useCartContext } from '../CartProvider';
7
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
+ function ButtonNext() {
9
+ var _useCartContext = useCartContext(),
10
+ activeTabIndex = _useCartContext.activeTabIndex,
11
+ classNameBtnNext = _useCartContext.classNameBtnNext,
12
+ classNameBtnNextComplete = _useCartContext.classNameBtnNextComplete,
13
+ loading = _useCartContext.loading,
14
+ setActiveTabIndex = _useCartContext.setActiveTabIndex,
15
+ tabs = _useCartContext.tabs;
16
+ var currentTabIndex = tabs.findIndex(function (t) {
17
+ return t.tabId === activeTabIndex;
18
+ });
19
+ var nextTab = tabs[currentTabIndex + 1];
20
+ var isCheckoutTabOpen = activeTabIndex === tabIdCheckout;
21
+ var icon = loading ? faCircleNotch : isCheckoutTabOpen ? faCreditCard : faArrowRight;
22
+ return /*#__PURE__*/_jsxs(Button, {
23
+ className: isCheckoutTabOpen ? classNameBtnNextComplete : classNameBtnNext,
24
+ onClick: nextTab ? function () {
25
+ return setActiveTabIndex(nextTab.tabId);
26
+ } : undefined,
27
+ disabled: loading,
28
+ children: [/*#__PURE__*/_jsx(FontAwesomeIcon, {
29
+ icon: icon,
30
+ spin: loading
31
+ }), /*#__PURE__*/_jsx("span", {
32
+ style: {
33
+ marginLeft: '5px'
34
+ },
35
+ children: loading ? 'Loading...' : 'Next'
36
+ })]
37
+ });
38
+ }
39
+ export default ButtonNext;
@@ -0,0 +1,19 @@
1
+ import * as React from 'react';
2
+ import { useCartContext } from '../CartProvider';
3
+ import { tabIdCheckout, tabIdItems, tabIdPaymentSuccess, tabIdShipment } from '../utilities/tabs';
4
+ import ButtonNext from './ButtonNext';
5
+ import ButtonShipmentTabNext from './ButtonShipmentTabNext';
6
+ import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
7
+ function ButtonNextDynamic() {
8
+ var _useCartContext = useCartContext(),
9
+ cart = _useCartContext.cart,
10
+ activeTabIndex = _useCartContext.activeTabIndex;
11
+ var cartItems = cart.cartItems;
12
+ var hasCartItems = cartItems && cartItems.length;
13
+ var isCartItemsTabActive = activeTabIndex === tabIdItems;
14
+ var isShipmentTabActive = activeTabIndex === tabIdShipment;
15
+ var isCheckoutTabOpen = activeTabIndex === tabIdCheckout;
16
+ var isPaymentSuccessOpen = activeTabIndex === tabIdPaymentSuccess;
17
+ return isCheckoutTabOpen || isPaymentSuccessOpen ? /*#__PURE__*/_jsx(_Fragment, {}) : isShipmentTabActive ? /*#__PURE__*/_jsx(ButtonShipmentTabNext, {}) : isCartItemsTabActive && !hasCartItems ? /*#__PURE__*/_jsx(_Fragment, {}) : /*#__PURE__*/_jsx(ButtonNext, {});
18
+ }
19
+ export default ButtonNextDynamic;
@@ -0,0 +1,47 @@
1
+ import * as React from 'react';
2
+ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
3
+ import { faCircleNotch, faShoppingCart } from '@fortawesome/free-solid-svg-icons';
4
+ import Button from './Button';
5
+ import { useCartContext } from '../CartProvider';
6
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
+ var Badge = function Badge(_ref) {
8
+ var color = _ref.color,
9
+ children = _ref.children;
10
+ return /*#__PURE__*/_jsx("span", {
11
+ className: "merchi-cart-badge badge-".concat(color),
12
+ children: children
13
+ });
14
+ };
15
+ export function ButtonOpenCart() {
16
+ var _useCartContext = useCartContext(),
17
+ cart = _useCartContext.cart,
18
+ classNameCartToggleIconButton = _useCartContext.classNameCartToggleIconButton,
19
+ fetchingCart = _useCartContext.fetchingCart,
20
+ loading = _useCartContext.loading,
21
+ toggleCartModal = _useCartContext.toggleCartModal;
22
+ var cartItems = cart.cartItems || [];
23
+ return /*#__PURE__*/_jsxs(Button, {
24
+ onClick: toggleCartModal,
25
+ className: classNameCartToggleIconButton,
26
+ children: [/*#__PURE__*/_jsx(FontAwesomeIcon, {
27
+ icon: loading || fetchingCart ? faCircleNotch : faShoppingCart,
28
+ spin: loading || fetchingCart
29
+ }), cartItems.length > 0 ? /*#__PURE__*/_jsx(Badge, {
30
+ color: "danger",
31
+ children: cartItems.length
32
+ }) : null]
33
+ });
34
+ }
35
+ export function ButtonListWrappedOpenCart(props) {
36
+ var _props$cartButtonWrap = props.cartButtonWrappedInContainer,
37
+ cartButtonWrappedInContainer = _props$cartButtonWrap === void 0 ? true : _props$cartButtonWrap,
38
+ listContainerClass = props.listContainerClass,
39
+ listItemClass = props.listItemClass;
40
+ return cartButtonWrappedInContainer ? /*#__PURE__*/_jsx("ul", {
41
+ className: listContainerClass,
42
+ children: /*#__PURE__*/_jsx("li", {
43
+ className: listItemClass,
44
+ children: /*#__PURE__*/_jsx(ButtonOpenCart, {})
45
+ })
46
+ }) : /*#__PURE__*/_jsx(ButtonOpenCart, {});
47
+ }
@@ -0,0 +1,26 @@
1
+ import * as React from 'react';
2
+ import { useCartContext } from '../CartProvider';
3
+ import { currencyMap } from '../utilities/currency';
4
+ import Button from './Button';
5
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
6
+ function ButtonPay(_ref) {
7
+ var cart = _ref.cart,
8
+ loading = _ref.loading;
9
+ var _useCartContext = useCartContext(),
10
+ classNameBtnPay = _useCartContext.classNameBtnPay;
11
+ var currency = cart.currency,
12
+ totalCost = cart.totalCost;
13
+ return /*#__PURE__*/_jsx(Button, {
14
+ className: classNameBtnPay,
15
+ disabled: loading,
16
+ type: "submit",
17
+ children: loading ? /*#__PURE__*/_jsx("span", {
18
+ children: "Loading..."
19
+ }) : /*#__PURE__*/_jsxs("span", {
20
+ children: ["Pay ", currencyMap[currency], totalCost, /*#__PURE__*/_jsx("small", {
21
+ children: " / inc tax"
22
+ })]
23
+ })
24
+ });
25
+ }
26
+ export default ButtonPay;
@@ -0,0 +1,28 @@
1
+ import * as React from 'react';
2
+ import { shipmentFormId } from '../utilities/shipment';
3
+ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
4
+ import { faArrowRight, faCircleNotch } from '@fortawesome/free-solid-svg-icons';
5
+ import Button from './Button';
6
+ import { useCartContext } from '../CartProvider';
7
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
+ export default function ButtonShipmentTabNext() {
9
+ var _useCartContext = useCartContext(),
10
+ classNameBtnNext = _useCartContext.classNameBtnNext,
11
+ loadingTotals = _useCartContext.loadingTotals;
12
+ var icon = loadingTotals ? faCircleNotch : faArrowRight;
13
+ return /*#__PURE__*/_jsxs(Button, {
14
+ className: classNameBtnNext,
15
+ form: shipmentFormId,
16
+ disabled: loadingTotals,
17
+ type: "submit",
18
+ children: [/*#__PURE__*/_jsx(FontAwesomeIcon, {
19
+ icon: icon,
20
+ spin: loadingTotals
21
+ }), /*#__PURE__*/_jsx("span", {
22
+ style: {
23
+ marginLeft: '5px'
24
+ },
25
+ children: loadingTotals ? 'Loading...' : 'Next'
26
+ })]
27
+ });
28
+ }
@@ -0,0 +1,7 @@
1
+ import Button from './Button';
2
+ import ButtonBack from './ButtonBack';
3
+ import ButtonClearCart from './ButtonClearCart';
4
+ import ButtonInvoiceDownload from './ButtonInvoiceDownload';
5
+ import ButtonNextDynamic from './ButtonNextDynamic';
6
+ import ButtonPay from './ButtonPay';
7
+ export { Button, ButtonBack, ButtonClearCart, ButtonNextDynamic, ButtonPay, ButtonInvoiceDownload };
@@ -0,0 +1,26 @@
1
+ import * as React from 'react';
2
+ import { useCartContext } from '../CartProvider';
3
+ import { jsx as _jsx } from "react/jsx-runtime";
4
+ export default function Alert(_ref) {
5
+ var alertType = _ref.alertType,
6
+ children = _ref.children;
7
+ var _useCartContext = useCartContext(),
8
+ classNameAlertError = _useCartContext.classNameAlertError,
9
+ classNameAlertInfo = _useCartContext.classNameAlertInfo,
10
+ classNameAlertSuccess = _useCartContext.classNameAlertSuccess,
11
+ classNameAlertWarning = _useCartContext.classNameAlertWarning;
12
+ var className = classNameAlertInfo;
13
+ if (alertType === 'success') {
14
+ className = classNameAlertSuccess;
15
+ }
16
+ if (alertType === 'danger') {
17
+ className = classNameAlertError;
18
+ }
19
+ if (alertType === 'warning') {
20
+ className = classNameAlertWarning;
21
+ }
22
+ return /*#__PURE__*/_jsx("div", {
23
+ className: "merchi-cart-modal-alert ".concat(className),
24
+ children: children
25
+ });
26
+ }
@@ -0,0 +1,14 @@
1
+ import * as React from 'react';
2
+ import { useCartContext } from '../CartProvider';
3
+ import { jsx as _jsx } from "react/jsx-runtime";
4
+ export default function CartBody(_ref) {
5
+ var children = _ref.children,
6
+ style = _ref.style;
7
+ var _useCartContext = useCartContext(),
8
+ classNameCartBody = _useCartContext.classNameCartBody;
9
+ return /*#__PURE__*/_jsx("div", {
10
+ className: classNameCartBody,
11
+ style: style,
12
+ children: children
13
+ });
14
+ }
@@ -0,0 +1,62 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
5
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
6
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
+ import * as React from 'react';
8
+ import { primaryEmail, primaryPhone } from '../utilities/user';
9
+ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
10
+ import { faUserCircle, faUserTimes } from '@fortawesome/free-solid-svg-icons';
11
+ import Button from '../buttons/Button';
12
+ import Title from './CartTitle';
13
+ import { useCartContext } from '../CartProvider';
14
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
15
+ export function ClientInfo(_ref) {
16
+ var client = _ref.client;
17
+ var _useCartContext = useCartContext(),
18
+ classNameListClientInfo = _useCartContext.classNameListClientInfo;
19
+ var _client$name = client.name,
20
+ name = _client$name === void 0 ? 'Returning customer' : _client$name;
21
+ var emailAddress = primaryEmail(client) || 'Email not shown';
22
+ var phoneNumber = primaryPhone(client) || 'Phone number not shown';
23
+ return /*#__PURE__*/_jsxs("ul", {
24
+ className: classNameListClientInfo,
25
+ children: [/*#__PURE__*/_jsx("li", {
26
+ children: name
27
+ }), /*#__PURE__*/_jsx("li", {
28
+ children: emailAddress
29
+ }), /*#__PURE__*/_jsx("li", {
30
+ children: phoneNumber
31
+ })]
32
+ });
33
+ }
34
+ function CartClient() {
35
+ var _useCartContext2 = useCartContext(),
36
+ cart = _useCartContext2.cart,
37
+ cartClient = _useCartContext2.cartClient,
38
+ classNameBtnDefault = _useCartContext2.classNameBtnDefault,
39
+ setCart = _useCartContext2.setCart,
40
+ setCartClient = _useCartContext2.setCartClient;
41
+ function clearClient() {
42
+ setCartClient(null);
43
+ setCart(_objectSpread(_objectSpread({}, cart), {}, {
44
+ client: null
45
+ }));
46
+ }
47
+ return /*#__PURE__*/_jsxs("div", {
48
+ children: [/*#__PURE__*/_jsx(Title, {
49
+ icon: faUserCircle,
50
+ title: "Checkout as"
51
+ }), cartClient && /*#__PURE__*/_jsx(ClientInfo, {
52
+ client: cartClient
53
+ }), /*#__PURE__*/_jsxs(Button, {
54
+ className: classNameBtnDefault,
55
+ onClick: clearClient,
56
+ children: [/*#__PURE__*/_jsx(FontAwesomeIcon, {
57
+ icon: faUserTimes
58
+ }), " Change"]
59
+ })]
60
+ });
61
+ }
62
+ export default CartClient;
@@ -0,0 +1,12 @@
1
+ import * as React from 'react';
2
+ import { useCartContext } from "../CartProvider";
3
+ import { jsx as _jsx } from "react/jsx-runtime";
4
+ export default function CartFooter(_ref) {
5
+ var children = _ref.children;
6
+ var _useCartContext = useCartContext(),
7
+ classNameCartFooter = _useCartContext.classNameCartFooter;
8
+ return /*#__PURE__*/_jsx("div", {
9
+ className: classNameCartFooter,
10
+ children: children
11
+ });
12
+ }