@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,94 @@
1
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
2
+ 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."); }
3
+ 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; } }
4
+ 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; }
5
+ 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; } }
6
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
7
+ import * as React from 'react';
8
+ import { useState } from 'react';
9
+ import { BiCheck, BiUser } from 'react-icons/bi';
10
+ import { FaWhatsapp } from 'react-icons/fa';
11
+ import FormNewCustomer from '../forms/FormNewCustomer';
12
+ import FormReturningCustomer from '../forms/FormReturningCustomer';
13
+ import FormWhatsappCustomer from '../forms/FormWhatsappCustomer';
14
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
15
+ function renderSectionIcon(iconType) {
16
+ if (iconType === 'whatsapp') {
17
+ return /*#__PURE__*/_jsx(FaWhatsapp, {
18
+ className: "merchi-customer-checkout-option__icon-svg merchi-customer-checkout-option__icon-svg--whatsapp"
19
+ });
20
+ }
21
+ return /*#__PURE__*/_jsx(BiUser, {
22
+ className: "merchi-customer-checkout-option__icon-svg"
23
+ });
24
+ }
25
+ export default function CustomerCheckoutMethodTabs(_ref) {
26
+ var _ref$whatsappEnabled = _ref.whatsappEnabled,
27
+ whatsappEnabled = _ref$whatsappEnabled === void 0 ? false : _ref$whatsappEnabled;
28
+ var _useState = useState(null),
29
+ _useState2 = _slicedToArray(_useState, 2),
30
+ activeMethod = _useState2[0],
31
+ setActiveMethod = _useState2[1];
32
+ var sections = [{
33
+ id: 'returning',
34
+ label: 'Returning customer',
35
+ iconType: 'user',
36
+ form: /*#__PURE__*/_jsx(FormReturningCustomer, {})
37
+ }, {
38
+ id: 'new',
39
+ label: 'New customer',
40
+ iconType: 'user',
41
+ form: /*#__PURE__*/_jsx(FormNewCustomer, {})
42
+ }];
43
+ if (whatsappEnabled) {
44
+ sections.push({
45
+ id: 'whatsapp',
46
+ label: 'WhatsApp checkout',
47
+ iconType: 'whatsapp',
48
+ form: /*#__PURE__*/_jsx(FormWhatsappCustomer, {})
49
+ });
50
+ }
51
+ return /*#__PURE__*/_jsxs(_Fragment, {
52
+ children: [/*#__PURE__*/_jsx("p", {
53
+ className: "merchi-customer-checkout__heading",
54
+ children: "Choose a checkout option"
55
+ }), /*#__PURE__*/_jsx("div", {
56
+ className: "merchi-customer-checkout-options",
57
+ role: "radiogroup",
58
+ "aria-label": "Choose a checkout option",
59
+ children: sections.map(function (section) {
60
+ var isSelected = activeMethod === section.id;
61
+ return /*#__PURE__*/_jsxs("div", {
62
+ className: "merchi-customer-checkout-option".concat(isSelected ? ' is-selected' : ''),
63
+ children: [/*#__PURE__*/_jsxs("button", {
64
+ type: "button",
65
+ role: "radio",
66
+ "aria-checked": isSelected,
67
+ "aria-expanded": isSelected,
68
+ className: "merchi-customer-checkout-option__header",
69
+ onClick: function onClick() {
70
+ return setActiveMethod(section.id);
71
+ },
72
+ children: [/*#__PURE__*/_jsxs("span", {
73
+ className: "merchi-customer-checkout-option__title",
74
+ children: [/*#__PURE__*/_jsx("span", {
75
+ className: "merchi-customer-checkout-option__icon",
76
+ children: renderSectionIcon(section.iconType)
77
+ }), /*#__PURE__*/_jsx("span", {
78
+ className: "merchi-customer-checkout-option__label",
79
+ children: section.label
80
+ })]
81
+ }), /*#__PURE__*/_jsx("span", {
82
+ className: "merchi-customer-checkout-option__checkbox",
83
+ "aria-hidden": true,
84
+ children: isSelected && /*#__PURE__*/_jsx(BiCheck, {})
85
+ })]
86
+ }), isSelected && /*#__PURE__*/_jsx("div", {
87
+ className: "merchi-customer-checkout-option__body",
88
+ children: section.form
89
+ })]
90
+ }, section.id);
91
+ })
92
+ })]
93
+ });
94
+ }
@@ -0,0 +1,293 @@
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
+ 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 }; })(); }
8
+ 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); }
9
+ 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); }
10
+ 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); }); }; }
11
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
12
+ 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."); }
13
+ 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; } }
14
+ 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; }
15
+ 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; } }
16
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
17
+ import * as React from 'react';
18
+ import { useForm } from 'react-hook-form';
19
+ import { Merchi } from '@merchi/sdk';
20
+ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
21
+ import { faCircleNotch, faTags, faTimes } from '@fortawesome/free-solid-svg-icons';
22
+ import { useCartContext } from '../CartProvider';
23
+ import Title from './CartTitle';
24
+ import { makeCart, makeDiscountItem } from '../utilities/cart';
25
+ import { cartEmbed } from '../utilities/helpers';
26
+ import { getCartCookieToken } from '../utilities/cookie';
27
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
28
+ export default function DiscountInputGroup() {
29
+ var _codes;
30
+ var _useCartContext = useCartContext(),
31
+ alertError = _useCartContext.alertError,
32
+ cart = _useCartContext.cart,
33
+ setCart = _useCartContext.setCart,
34
+ _useCartContext$disco = _useCartContext.discountButtonText,
35
+ discountButtonText = _useCartContext$disco === void 0 ? 'Apply' : _useCartContext$disco,
36
+ _useCartContext$disco2 = _useCartContext.discountClassName,
37
+ discountClassName = _useCartContext$disco2 === void 0 ? 'merchi-discount-group-container' : _useCartContext$disco2,
38
+ _useCartContext$disco3 = _useCartContext.discountClassNameButton,
39
+ discountClassNameButton = _useCartContext$disco3 === void 0 ? 'btn btn-primary' : _useCartContext$disco3,
40
+ _useCartContext$disco4 = _useCartContext.discountClassNameButtonContainer,
41
+ discountClassNameButtonContainer = _useCartContext$disco4 === void 0 ? 'col-auto' : _useCartContext$disco4,
42
+ _useCartContext$disco5 = _useCartContext.discountClassNameButtonItemRemove,
43
+ discountClassNameButtonItemRemove = _useCartContext$disco5 === void 0 ? 'btn btn-lg btn-link' : _useCartContext$disco5,
44
+ _useCartContext$disco6 = _useCartContext.discountClassNameErrorMessage,
45
+ discountClassNameErrorMessage = _useCartContext$disco6 === void 0 ? 'text-danger' : _useCartContext$disco6,
46
+ _useCartContext$disco7 = _useCartContext.discountClassNameInput,
47
+ discountClassNameInput = _useCartContext$disco7 === void 0 ? 'form-control input-lg' : _useCartContext$disco7,
48
+ discountClassNameInputContainer = _useCartContext.discountClassNameInputContainer,
49
+ _useCartContext$disco8 = _useCartContext.discountClassNameListItem,
50
+ discountClassNameListItem = _useCartContext$disco8 === void 0 ? 'list-group-item d-flex align-items-center justify-content-between mt-2' : _useCartContext$disco8,
51
+ _useCartContext$disco9 = _useCartContext.discountClassNameListItems,
52
+ discountClassNameListItems = _useCartContext$disco9 === void 0 ? 'list-group' : _useCartContext$disco9,
53
+ discountClassNameMainContainer = _useCartContext.discountClassNameMainContainer,
54
+ discountShowAppliedItems = _useCartContext.discountShowAppliedItems,
55
+ domainId = _useCartContext.domainId;
56
+ var _cart$discountItems = cart.discountItems,
57
+ discountItems = _cart$discountItems === void 0 ? [] : _cart$discountItems;
58
+ var defaultCodes = discountItems.map(function (i) {
59
+ return i.code;
60
+ }).join(',');
61
+ var merchi = new Merchi();
62
+ var hookForm = useForm({
63
+ defaultValues: {
64
+ codes: defaultCodes
65
+ }
66
+ });
67
+ var getValues = hookForm.getValues,
68
+ register = hookForm.register,
69
+ setValue = hookForm.setValue,
70
+ trigger = hookForm.trigger,
71
+ errors = hookForm.formState.errors;
72
+ var _React$useState = React.useState(false),
73
+ _React$useState2 = _slicedToArray(_React$useState, 2),
74
+ loading = _React$useState2[0],
75
+ setLoading = _React$useState2[1];
76
+ var _React$useState3 = React.useState({}),
77
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
78
+ error = _React$useState4[0],
79
+ setError = _React$useState4[1];
80
+ var onSubmit = /*#__PURE__*/function () {
81
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(data) {
82
+ var validate;
83
+ return _regenerator().w(function (_context) {
84
+ while (1) switch (_context.n) {
85
+ case 0:
86
+ _context.n = 1;
87
+ return trigger();
88
+ case 1:
89
+ validate = _context.v;
90
+ if (!validate) {
91
+ _context.n = 2;
92
+ break;
93
+ }
94
+ _context.n = 2;
95
+ return validateCodes(data.codes);
96
+ case 2:
97
+ return _context.a(2);
98
+ }
99
+ }, _callee);
100
+ }));
101
+ return function onSubmit(_x) {
102
+ return _ref.apply(this, arguments);
103
+ };
104
+ }();
105
+ function actionPatchCart(_x2) {
106
+ return _actionPatchCart.apply(this, arguments);
107
+ }
108
+ function _actionPatchCart() {
109
+ _actionPatchCart = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(cartEnt) {
110
+ var _cart, _t;
111
+ return _regenerator().w(function (_context2) {
112
+ while (1) switch (_context2.p = _context2.n) {
113
+ case 0:
114
+ _context2.p = 0;
115
+ _context2.n = 1;
116
+ return cartEnt.save({
117
+ embed: cartEmbed
118
+ });
119
+ case 1:
120
+ _cart = _context2.v;
121
+ setCart(_cart.toJson());
122
+ _context2.n = 3;
123
+ break;
124
+ case 2:
125
+ _context2.p = 2;
126
+ _t = _context2.v;
127
+ alertError(_t.errorMessage || _t.message || 'nknown server error.');
128
+ case 3:
129
+ return _context2.a(2);
130
+ }
131
+ }, _callee2, null, [[0, 2]]);
132
+ }));
133
+ return _actionPatchCart.apply(this, arguments);
134
+ }
135
+ function validateCodes(_x3) {
136
+ return _validateCodes.apply(this, arguments);
137
+ }
138
+ function _validateCodes() {
139
+ _validateCodes = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(codes) {
140
+ var query, cartToken, url, r, updatedItems, cartEnt, _cartEnt, _discountItems, _t2;
141
+ return _regenerator().w(function (_context3) {
142
+ while (1) switch (_context3.p = _context3.n) {
143
+ case 0:
144
+ query = [['codes', codes]];
145
+ setLoading(true);
146
+ setError({});
147
+ _context3.n = 1;
148
+ return getCartCookieToken(domainId);
149
+ case 1:
150
+ cartToken = _context3.v;
151
+ _context3.p = 2;
152
+ url = "/carts/".concat(cart.id, "/check_discount_code/");
153
+ _context3.n = 3;
154
+ return merchi.authenticatedFetch(url, {
155
+ query: query
156
+ });
157
+ case 3:
158
+ r = _context3.v;
159
+ updatedItems = r.items || [];
160
+ setItems(updatedItems);
161
+ cartEnt = makeCart(_objectSpread({}, cart), false, cartToken);
162
+ cartEnt.discountItems = updatedItems.map(function (r) {
163
+ return makeDiscountItem(_objectSpread({}, r), true);
164
+ });
165
+ actionPatchCart(cartEnt);
166
+ _context3.n = 5;
167
+ break;
168
+ case 4:
169
+ _context3.p = 4;
170
+ _t2 = _context3.v;
171
+ setError({
172
+ message: "Error: ".concat(_t2.errorMessage || _t2.message || 'Unexpected error.')
173
+ });
174
+ _cartEnt = makeCart(_objectSpread(_objectSpread({}, cart), {}, {
175
+ discountItems: []
176
+ }), false, cartToken);
177
+ _discountItems = _cartEnt.discountItems;
178
+ _cartEnt.discountItems = _discountItems;
179
+ actionPatchCart(_cartEnt);
180
+ case 5:
181
+ _context3.p = 5;
182
+ setLoading(false);
183
+ return _context3.f(5);
184
+ case 6:
185
+ return _context3.a(2);
186
+ }
187
+ }, _callee3, null, [[2, 4, 5, 6]]);
188
+ }));
189
+ return _validateCodes.apply(this, arguments);
190
+ }
191
+ function handleClick() {
192
+ return _handleClick.apply(this, arguments);
193
+ }
194
+ function _handleClick() {
195
+ _handleClick = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4() {
196
+ var _getValues, codes;
197
+ return _regenerator().w(function (_context4) {
198
+ while (1) switch (_context4.n) {
199
+ case 0:
200
+ _getValues = getValues(), codes = _getValues.codes;
201
+ _context4.n = 1;
202
+ return onSubmit({
203
+ codes: codes
204
+ });
205
+ case 1:
206
+ return _context4.a(2);
207
+ }
208
+ }, _callee4);
209
+ }));
210
+ return _handleClick.apply(this, arguments);
211
+ }
212
+ var _React$useState5 = React.useState(discountItems || []),
213
+ _React$useState6 = _slicedToArray(_React$useState5, 2),
214
+ items = _React$useState6[0],
215
+ setItems = _React$useState6[1];
216
+ function removeItem(_x4) {
217
+ return _removeItem.apply(this, arguments);
218
+ }
219
+ function _removeItem() {
220
+ _removeItem = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5(index) {
221
+ var item, codes, newValues;
222
+ return _regenerator().w(function (_context5) {
223
+ while (1) switch (_context5.n) {
224
+ case 0:
225
+ item = _objectSpread({}, items[index]);
226
+ codes = getValues('codes');
227
+ newValues = codes.replace(item.code, "");
228
+ setValue('codes', newValues);
229
+ _context5.n = 1;
230
+ return validateCodes(newValues);
231
+ case 1:
232
+ return _context5.a(2);
233
+ }
234
+ }, _callee5);
235
+ }));
236
+ return _removeItem.apply(this, arguments);
237
+ }
238
+ return /*#__PURE__*/_jsxs("div", {
239
+ className: discountClassNameMainContainer,
240
+ children: [/*#__PURE__*/_jsx(Title, {
241
+ icon: faTags,
242
+ title: "Apply discount code"
243
+ }), /*#__PURE__*/_jsxs("div", {
244
+ className: discountClassName,
245
+ children: [/*#__PURE__*/_jsx("div", {
246
+ className: discountClassNameInputContainer,
247
+ children: /*#__PURE__*/_jsx("input", _objectSpread({
248
+ type: "text",
249
+ className: discountClassNameInput,
250
+ placeholder: "discount20,discount10"
251
+ }, register('codes', {
252
+ required: 'Codes must be provided.'
253
+ })))
254
+ }), /*#__PURE__*/_jsx("div", {
255
+ className: discountClassNameButtonContainer,
256
+ children: /*#__PURE__*/_jsx("button", {
257
+ className: discountClassNameButton,
258
+ disabled: loading,
259
+ onClick: handleClick,
260
+ children: loading ? /*#__PURE__*/_jsx(FontAwesomeIcon, {
261
+ icon: faCircleNotch
262
+ }) : discountButtonText
263
+ })
264
+ })]
265
+ }), error.message && /*#__PURE__*/_jsx("div", {
266
+ className: discountClassNameErrorMessage,
267
+ children: error.message
268
+ }), errors.codes && /*#__PURE__*/_jsx("div", {
269
+ className: discountClassNameErrorMessage,
270
+ children: errors === null || errors === void 0 || (_codes = errors.codes) === null || _codes === void 0 ? void 0 : _codes.message
271
+ }), discountShowAppliedItems && /*#__PURE__*/_jsx("div", {
272
+ className: discountClassNameListItems,
273
+ children: items.map(function (item, index) {
274
+ return /*#__PURE__*/_jsxs("div", {
275
+ className: discountClassNameListItem,
276
+ children: [/*#__PURE__*/_jsxs("div", {
277
+ children: [item.code, " ", item.description]
278
+ }), /*#__PURE__*/_jsx("div", {
279
+ children: /*#__PURE__*/_jsx("button", {
280
+ className: discountClassNameButtonItemRemove,
281
+ onClick: function onClick() {
282
+ return removeItem(index);
283
+ },
284
+ children: /*#__PURE__*/_jsx(FontAwesomeIcon, {
285
+ icon: faTimes
286
+ })
287
+ })
288
+ })]
289
+ }, index);
290
+ })
291
+ })]
292
+ });
293
+ }
@@ -0,0 +1,23 @@
1
+ import { useCartContext } from "../CartProvider";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ export default function LoadingTemplate(_ref) {
4
+ var height = _ref.height;
5
+ var _useCartContext = useCartContext(),
6
+ classNameLoadingTemplate = _useCartContext.classNameLoadingTemplate,
7
+ classNameLoadingTemplateContainer = _useCartContext.classNameLoadingTemplateContainer;
8
+ var style = height ? {
9
+ height: height
10
+ } : {};
11
+ return /*#__PURE__*/_jsx("div", {
12
+ className: classNameLoadingTemplateContainer,
13
+ style: style,
14
+ children: /*#__PURE__*/_jsx("div", {
15
+ className: classNameLoadingTemplate
16
+ })
17
+ });
18
+ }
19
+ export function LoadingTemplateSm() {
20
+ return /*#__PURE__*/_jsx(LoadingTemplate, {
21
+ height: 300
22
+ });
23
+ }
@@ -0,0 +1,20 @@
1
+ import React from "react";
2
+ import { useCartContext } from "../CartProvider";
3
+ import pngProductNotFound from "../assets/product-not-found.png";
4
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
+ function NoCartItems() {
6
+ var _useCartContext = useCartContext(),
7
+ classNameNoItems = _useCartContext.classNameNoItems;
8
+ return /*#__PURE__*/_jsxs("div", {
9
+ className: classNameNoItems,
10
+ children: [/*#__PURE__*/_jsx("img", {
11
+ src: (pngProductNotFound === null || pngProductNotFound === void 0 ? void 0 : pngProductNotFound.src) || pngProductNotFound || '',
12
+ alt: "Cart items not found",
13
+ width: 276,
14
+ height: 215
15
+ }), /*#__PURE__*/_jsx("p", {
16
+ children: "No cart items."
17
+ })]
18
+ });
19
+ }
20
+ export default NoCartItems;
@@ -0,0 +1,207 @@
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 _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 }; })(); }
3
+ 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); }
4
+ 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; }
5
+ 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; }
6
+ 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; }
7
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
8
+ 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); }
9
+ 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); }
10
+ 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); }); }; }
11
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
12
+ 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."); }
13
+ 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; } }
14
+ 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; }
15
+ 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; } }
16
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
17
+ import React, { useState } from "react";
18
+ import { addressInOneLine } from "../utilities/address";
19
+ import { currencyTaxAndCost } from "../utilities/currency";
20
+ import { useCartContext } from "../CartProvider";
21
+ import pngProductNotFound from "../assets/product-not-found.png";
22
+ import { makeCart, makeCartShipmentQuote } from "../utilities/cart";
23
+ import { cartEmbed } from "../utilities/helpers";
24
+ import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
25
+ import { faCheckSquare, faSquare } from "@fortawesome/free-solid-svg-icons";
26
+ import { getCartCookieToken } from "../utilities/cookie";
27
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
28
+ function NoCartShipmentOptionsFound() {
29
+ var _useCartContext = useCartContext(),
30
+ classNameNoItems = _useCartContext.classNameNoItems;
31
+ return /*#__PURE__*/_jsxs("div", {
32
+ className: classNameNoItems,
33
+ children: [/*#__PURE__*/_jsx("img", {
34
+ src: (pngProductNotFound && "src" in pngProductNotFound ? pngProductNotFound.src : pngProductNotFound) || "",
35
+ width: 276,
36
+ height: 215
37
+ }), /*#__PURE__*/_jsx("p", {
38
+ children: "No shipment options found."
39
+ })]
40
+ });
41
+ }
42
+ function PickupInfo(_ref) {
43
+ var originAddress = _ref.originAddress;
44
+ return /*#__PURE__*/_jsxs("small", {
45
+ children: ["Pick up from: ", addressInOneLine(originAddress)]
46
+ });
47
+ }
48
+ function ShipmentPrice(_ref2) {
49
+ var quote = _ref2.quote;
50
+ var shipmentMethod = quote.shipmentMethod,
51
+ taxType = quote.taxType,
52
+ totalCost = quote.totalCost;
53
+ var currency = shipmentMethod.currency;
54
+ return /*#__PURE__*/_jsx("div", {
55
+ children: /*#__PURE__*/_jsx("small", {
56
+ children: /*#__PURE__*/_jsx("strong", {
57
+ children: totalCost > 0 ? currencyTaxAndCost(currency, taxType, totalCost) : ""
58
+ })
59
+ })
60
+ });
61
+ }
62
+ function ShipmentOptionInfo(_ref3) {
63
+ var quote = _ref3.quote;
64
+ var _useCartContext2 = useCartContext(),
65
+ classNameShipmentOption = _useCartContext2.classNameShipmentOption;
66
+ var name = quote.name,
67
+ shipmentMethod = quote.shipmentMethod;
68
+ var originAddress = shipmentMethod.originAddress,
69
+ pickUp = shipmentMethod.pickUp,
70
+ transportCompanyName = shipmentMethod.transportCompanyName;
71
+ return /*#__PURE__*/_jsxs("div", {
72
+ className: classNameShipmentOption,
73
+ children: [!name ? /*#__PURE__*/_jsxs(_Fragment, {
74
+ children: [transportCompanyName && /*#__PURE__*/_jsx("p", {
75
+ className: "mb-0",
76
+ children: shipmentMethod.name
77
+ }), pickUp ? /*#__PURE__*/_jsx(PickupInfo, {
78
+ originAddress: originAddress
79
+ }) : /*#__PURE__*/_jsx("small", {
80
+ children: transportCompanyName
81
+ })]
82
+ }) : /*#__PURE__*/_jsxs(_Fragment, {
83
+ children: [/*#__PURE__*/_jsx("p", {
84
+ className: "m-0",
85
+ children: name
86
+ }), pickUp && /*#__PURE__*/_jsx(PickupInfo, {
87
+ originAddress: originAddress
88
+ })]
89
+ }), /*#__PURE__*/_jsx(ShipmentPrice, {
90
+ quote: quote
91
+ })]
92
+ });
93
+ }
94
+ function ShipmentQuote(_ref4) {
95
+ var isSelected = _ref4.isSelected,
96
+ doClick = _ref4.doClick,
97
+ quote = _ref4.quote;
98
+ var _useCartContext3 = useCartContext(),
99
+ classNameListItem = _useCartContext3.classNameListItem;
100
+ return /*#__PURE__*/_jsx("div", {
101
+ className: classNameListItem,
102
+ onClick: doClick,
103
+ style: {
104
+ cursor: "pointer"
105
+ },
106
+ children: /*#__PURE__*/_jsxs("div", {
107
+ style: {
108
+ alignItems: "center",
109
+ display: "flex",
110
+ justifyContent: "space-between"
111
+ },
112
+ children: [/*#__PURE__*/_jsx(ShipmentOptionInfo, {
113
+ quote: quote
114
+ }), /*#__PURE__*/_jsx("div", {
115
+ children: /*#__PURE__*/_jsx(FontAwesomeIcon, {
116
+ icon: isSelected ? faCheckSquare : faSquare
117
+ })
118
+ })]
119
+ })
120
+ });
121
+ }
122
+ function ShipmentGroupCard(_ref5) {
123
+ var group = _ref5.group,
124
+ groupIndex = _ref5.groupIndex;
125
+ var _useCartContext4 = useCartContext(),
126
+ alertError = _useCartContext4.alertError,
127
+ cart = _useCartContext4.cart,
128
+ classNameList = _useCartContext4.classNameList,
129
+ classNameListInline = _useCartContext4.classNameListInline,
130
+ domainId = _useCartContext4.domainId,
131
+ setCart = _useCartContext4.setCart;
132
+ var cartItems = group.cartItems,
133
+ _group$quotes = group.quotes,
134
+ quotes = _group$quotes === void 0 ? [] : _group$quotes;
135
+ var _useState = useState(group.selectedQuote || {}),
136
+ _useState2 = _slicedToArray(_useState, 2),
137
+ selectedQuote = _useState2[0],
138
+ setSelectedQuote = _useState2[1];
139
+ function _doClick2(_x, _x2) {
140
+ return _doClick.apply(this, arguments);
141
+ }
142
+ function _doClick() {
143
+ _doClick = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(groupIndex, quote) {
144
+ var token, cartEnt, cartShipmentQuote, cartJson, _t;
145
+ return _regenerator().w(function (_context) {
146
+ while (1) switch (_context.p = _context.n) {
147
+ case 0:
148
+ setSelectedQuote(quote);
149
+ _context.p = 1;
150
+ _context.n = 2;
151
+ return getCartCookieToken(domainId);
152
+ case 2:
153
+ token = _context.v;
154
+ cartEnt = makeCart(_objectSpread({}, cart), false, token);
155
+ cartShipmentQuote = makeCartShipmentQuote(_objectSpread({}, quote));
156
+ cartEnt.shipmentGroups[groupIndex].selectedQuote = cartShipmentQuote;
157
+ _context.n = 3;
158
+ return cartEnt.save({
159
+ embed: cartEmbed
160
+ });
161
+ case 3:
162
+ _context.n = 4;
163
+ return cartEnt.toJson();
164
+ case 4:
165
+ cartJson = _context.v;
166
+ setCart(_objectSpread(_objectSpread({}, cart), cartJson));
167
+ _context.n = 6;
168
+ break;
169
+ case 5:
170
+ _context.p = 5;
171
+ _t = _context.v;
172
+ alertError(_t.errorMessage || _t.message || "Unable to select shipment option.");
173
+ setSelectedQuote({});
174
+ case 6:
175
+ return _context.a(2);
176
+ }
177
+ }, _callee, null, [[1, 5]]);
178
+ }));
179
+ return _doClick.apply(this, arguments);
180
+ }
181
+ return /*#__PURE__*/_jsxs("div", {
182
+ children: [/*#__PURE__*/_jsxs("ul", {
183
+ className: classNameListInline,
184
+ children: [/*#__PURE__*/_jsx("li", {
185
+ children: /*#__PURE__*/_jsxs("strong", {
186
+ children: ["Shipment ", groupIndex + 1, " contents:"]
187
+ })
188
+ }), cartItems.map(function (item, index) {
189
+ return /*#__PURE__*/_jsx("li", {
190
+ children: item.product.name
191
+ }, index);
192
+ })]
193
+ }), quotes.length ? /*#__PURE__*/_jsx("div", {
194
+ className: classNameList,
195
+ children: quotes.map(function (q, i) {
196
+ return /*#__PURE__*/_jsx(ShipmentQuote, {
197
+ quote: q,
198
+ isSelected: (selectedQuote === null || selectedQuote === void 0 ? void 0 : selectedQuote.id) === q.id,
199
+ doClick: function doClick() {
200
+ return _doClick2(groupIndex, q);
201
+ }
202
+ }, "".concat(i, "-group-quote"));
203
+ })
204
+ }) : /*#__PURE__*/_jsx(NoCartShipmentOptionsFound, {})]
205
+ });
206
+ }
207
+ export default ShipmentGroupCard;