@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,1107 @@
1
+ "use strict";
2
+
3
+ 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); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.useCartContext = exports["default"] = void 0;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var React = _react;
10
+ var _freeSolidSvgIcons = require("@fortawesome/free-solid-svg-icons");
11
+ var _cart3 = require("./utilities/cart");
12
+ var _helpers = require("./utilities/helpers");
13
+ var _tabs = require("./utilities/tabs");
14
+ var _sdk = require("@merchi/sdk");
15
+ var _cookie = require("./utilities/cookie");
16
+ var _address = require("./utilities/address");
17
+ var _job = require("./utilities/job");
18
+ var _product = require("./utilities/product");
19
+ var _local_storage = require("./utilities/local_storage");
20
+ var _user = require("./utilities/user");
21
+ var _jsxRuntime = require("react/jsx-runtime");
22
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t9 in e) "default" !== _t9 && {}.hasOwnProperty.call(e, _t9) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t9)) && (i.get || i.set) ? o(f, _t9, i) : f[_t9] = e[_t9]); return f; })(e, t); }
23
+ 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 }; })(); }
24
+ 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); }
25
+ 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); }
26
+ 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); }); }; }
27
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
28
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
29
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
30
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
31
+ 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; }
32
+ 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; }
33
+ 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; }
34
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
35
+ 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); }
36
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
37
+ 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."); }
38
+ 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; } }
39
+ 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; }
40
+ 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; } }
41
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
42
+ var CartContext = /*#__PURE__*/(0, _react.createContext)({
43
+ cart: {},
44
+ cartClient: {},
45
+ setCart: console.log,
46
+ setCartClient: console.log,
47
+ activeTabIndex: 0,
48
+ setActiveTabIndex: console.log,
49
+ alert: {},
50
+ alertError: console.log,
51
+ alertSuccess: console.log,
52
+ setAlert: console.log,
53
+ cartItem: {},
54
+ classNameAlertError: undefined,
55
+ classNameAlertInfo: undefined,
56
+ classNameAlertSuccess: undefined,
57
+ classNameAlertWarning: undefined,
58
+ classNameBtn: undefined,
59
+ classNameBtnBack: undefined,
60
+ classNameBtnCartClear: undefined,
61
+ classNameBtnClose: undefined,
62
+ classNameBtnDanger: undefined,
63
+ classNameBtnDefault: undefined,
64
+ classNameBtnDownloadInvoice: undefined,
65
+ classNameBtnEditCartItem: undefined,
66
+ classNameBtnPrimary: undefined,
67
+ classNameBtnLink: undefined,
68
+ classNameBtnNext: undefined,
69
+ classNameBtnNextComplete: undefined,
70
+ classNameBtnPay: undefined,
71
+ classNameCartBody: undefined,
72
+ classNameCartFooter: undefined,
73
+ classNameCartFormCheckbox: undefined,
74
+ classNameCartFormGroup: undefined,
75
+ classNameCartFormGroupButton: undefined,
76
+ classNameCartFormGroupCheckbox: undefined,
77
+ classNameCartFormInput: undefined,
78
+ classNameCartInputError: undefined,
79
+ classNameCartFormLabelCheckbox: undefined,
80
+ classNameCartRow: undefined,
81
+ classNameCartRowColumn: undefined,
82
+ classNameCartTabItem: undefined,
83
+ classNameCartTabItemLink: undefined,
84
+ classNameCartGoogleSuggestList: undefined,
85
+ classNameCartGoogleSuggestListItem: undefined,
86
+ classNameCartHeader: undefined,
87
+ classNameCartItemFeatureImage: undefined,
88
+ classNameCartItemInfo: undefined,
89
+ classNameCartItemInfoCell: undefined,
90
+ classNameCartItemInfoCellRight: undefined,
91
+ classNameCartItemInfoContainer: undefined,
92
+ classNameCartNav: undefined,
93
+ classNameCartTab: undefined,
94
+ classNameCartTabPanel: undefined,
95
+ classNameCartTitle: undefined,
96
+ classNameCartTotalContainer: undefined,
97
+ classNameCartTotalItem: undefined,
98
+ classNameCartTotaListContainer: undefined,
99
+ classNameCartTotalItemPrice: undefined,
100
+ classNameCartToggleIconButton: undefined,
101
+ classNameClearCartContainer: undefined,
102
+ classNameClearCartText: undefined,
103
+ classNameListClientInfo: undefined,
104
+ classNameListContainer: undefined,
105
+ classNameListItem: undefined,
106
+ classNameListItemCartTotals: undefined,
107
+ classNameList: undefined,
108
+ classNameListInline: undefined,
109
+ classNameListUnstyled: undefined,
110
+ classNameLoadingTemplate: undefined,
111
+ classNameLoadingTemplateContainer: undefined,
112
+ classNameNoItems: undefined,
113
+ classNameShipmentOption: undefined,
114
+ classNameTable: undefined,
115
+ classNameTableContainer: undefined,
116
+ classNameVariationsList: undefined,
117
+ customSuccessMessage: undefined,
118
+ // Discount code input props
119
+ discountButtonText: undefined,
120
+ discountClassName: undefined,
121
+ discountClassNameButton: undefined,
122
+ discountClassNameButtonContainer: undefined,
123
+ discountClassNameButtonItemRemove: undefined,
124
+ discountClassNameErrorMessage: undefined,
125
+ discountClassNameInput: undefined,
126
+ discountClassNameInputContainer: undefined,
127
+ discountClassNameListItem: undefined,
128
+ discountClassNameListItems: undefined,
129
+ discountClassNameMainContainer: undefined,
130
+ discountShowAppliedItems: true,
131
+ showDiscountCode: true,
132
+ domainId: undefined,
133
+ googlePlacesLoaded: false,
134
+ hideHead: false,
135
+ invoiceJson: {},
136
+ setInvoiceJson: console.log,
137
+ includeTheme: false,
138
+ initialiseCart: true,
139
+ cartSettingsInvalid: false,
140
+ fetchingCart: false,
141
+ setFetchingCart: console.log,
142
+ fetchingShipmentGroups: false,
143
+ isCartModalOpen: false,
144
+ setIsCartModalOpen: console.log,
145
+ onClickClose: undefined,
146
+ toggleCartModal: console.log,
147
+ productFormClassNames: {},
148
+ showCartItemInfo: undefined,
149
+ showUserTermsAndConditions: undefined,
150
+ apiUrl: undefined,
151
+ updateCartShipmentAddress: console.log,
152
+ urlFrontend: undefined,
153
+ urlTrackingPage: undefined,
154
+ setCartItem: console.log,
155
+ tabs: [_tabs.tabShipment],
156
+ setTabs: console.log,
157
+ clearCart: console.log,
158
+ closeClearCart: console.log,
159
+ setCartComplete: console.log,
160
+ refetchCart: console.log,
161
+ createCartAndCookie: console.log,
162
+ loadingTotals: false,
163
+ setLoadingTotals: console.log,
164
+ setActiveTabAndEditDisabled: console.log,
165
+ loading: false,
166
+ getCartShipmentOptions: console.log
167
+ });
168
+ var useCartContext = exports.useCartContext = function useCartContext() {
169
+ return (0, _react.useContext)(CartContext);
170
+ };
171
+ var CartProvider = function CartProvider(_ref) {
172
+ var _ref$cart = _ref.cart,
173
+ initCart = _ref$cart === void 0 ? {} : _ref$cart,
174
+ children = _ref.children,
175
+ _ref$classNameAlertEr = _ref.classNameAlertError,
176
+ classNameAlertError = _ref$classNameAlertEr === void 0 ? 'alert-danger' : _ref$classNameAlertEr,
177
+ _ref$classNameAlertIn = _ref.classNameAlertInfo,
178
+ classNameAlertInfo = _ref$classNameAlertIn === void 0 ? 'alert-info' : _ref$classNameAlertIn,
179
+ _ref$classNameAlertSu = _ref.classNameAlertSuccess,
180
+ classNameAlertSuccess = _ref$classNameAlertSu === void 0 ? 'alert-success' : _ref$classNameAlertSu,
181
+ _ref$classNameAlertWa = _ref.classNameAlertWarning,
182
+ classNameAlertWarning = _ref$classNameAlertWa === void 0 ? 'alert-warning' : _ref$classNameAlertWa,
183
+ _ref$classNameBtn = _ref.classNameBtn,
184
+ classNameBtn = _ref$classNameBtn === void 0 ? 'btn' : _ref$classNameBtn,
185
+ _ref$classNameBtnBack = _ref.classNameBtnBack,
186
+ classNameBtnBack = _ref$classNameBtnBack === void 0 ? 'btn-lg btn-default' : _ref$classNameBtnBack,
187
+ _ref$classNameBtnCart = _ref.classNameBtnCartClear,
188
+ classNameBtnCartClear = _ref$classNameBtnCart === void 0 ? 'btn-lg btn-danger' : _ref$classNameBtnCart,
189
+ _ref$classNameBtnClos = _ref.classNameBtnClose,
190
+ classNameBtnClose = _ref$classNameBtnClos === void 0 ? 'merchi-btn-close' : _ref$classNameBtnClos,
191
+ _ref$classNameBtnDang = _ref.classNameBtnDanger,
192
+ classNameBtnDanger = _ref$classNameBtnDang === void 0 ? 'btn btn-md btn-danger' : _ref$classNameBtnDang,
193
+ _ref$classNameBtnDefa = _ref.classNameBtnDefault,
194
+ classNameBtnDefault = _ref$classNameBtnDefa === void 0 ? 'btn btn-md btn-default' : _ref$classNameBtnDefa,
195
+ _ref$classNameBtnDown = _ref.classNameBtnDownloadInvoice,
196
+ classNameBtnDownloadInvoice = _ref$classNameBtnDown === void 0 ? 'btn btn-lg btn-primary' : _ref$classNameBtnDown,
197
+ _ref$classNameBtnEdit = _ref.classNameBtnEditCartItem,
198
+ classNameBtnEditCartItem = _ref$classNameBtnEdit === void 0 ? 'btn btn-lg btn-primary ml-auto' : _ref$classNameBtnEdit,
199
+ _ref$classNameBtnPrim = _ref.classNameBtnPrimary,
200
+ classNameBtnPrimary = _ref$classNameBtnPrim === void 0 ? 'btn btn-md btn-primary' : _ref$classNameBtnPrim,
201
+ _ref$classNameBtnLink = _ref.classNameBtnLink,
202
+ classNameBtnLink = _ref$classNameBtnLink === void 0 ? 'btn-md btn-link' : _ref$classNameBtnLink,
203
+ _ref$classNameBtnNext = _ref.classNameBtnNext,
204
+ classNameBtnNext = _ref$classNameBtnNext === void 0 ? 'btn-lg btn-primary ml-auto' : _ref$classNameBtnNext,
205
+ _ref$classNameBtnNext2 = _ref.classNameBtnNextComplete,
206
+ classNameBtnNextComplete = _ref$classNameBtnNext2 === void 0 ? 'btn-lg btn-success ml-auto' : _ref$classNameBtnNext2,
207
+ _ref$classNameBtnPay = _ref.classNameBtnPay,
208
+ classNameBtnPay = _ref$classNameBtnPay === void 0 ? 'btn-lg btn-primary width-full' : _ref$classNameBtnPay,
209
+ _ref$classNameCartBod = _ref.classNameCartBody,
210
+ classNameCartBody = _ref$classNameCartBod === void 0 ? 'merchi-cart-body' : _ref$classNameCartBod,
211
+ _ref$classNameCartFoo = _ref.classNameCartFooter,
212
+ classNameCartFooter = _ref$classNameCartFoo === void 0 ? 'merchi-cart-footer' : _ref$classNameCartFoo,
213
+ _ref$classNameCartFor = _ref.classNameCartFormCheckbox,
214
+ classNameCartFormCheckbox = _ref$classNameCartFor === void 0 ? 'form-check-input' : _ref$classNameCartFor,
215
+ _ref$classNameCartFor2 = _ref.classNameCartFormGroup,
216
+ classNameCartFormGroup = _ref$classNameCartFor2 === void 0 ? 'form-group merchi-form-group' : _ref$classNameCartFor2,
217
+ _ref$classNameCartFor3 = _ref.classNameCartFormGroupButton,
218
+ classNameCartFormGroupButton = _ref$classNameCartFor3 === void 0 ? 'merchi-form-group-button' : _ref$classNameCartFor3,
219
+ _ref$classNameCartFor4 = _ref.classNameCartFormGroupCheckbox,
220
+ classNameCartFormGroupCheckbox = _ref$classNameCartFor4 === void 0 ? 'form-check' : _ref$classNameCartFor4,
221
+ _ref$classNameCartFor5 = _ref.classNameCartFormInput,
222
+ classNameCartFormInput = _ref$classNameCartFor5 === void 0 ? 'form-control' : _ref$classNameCartFor5,
223
+ _ref$classNameCartFor6 = _ref.classNameCartFormLabelCheckbox,
224
+ classNameCartFormLabelCheckbox = _ref$classNameCartFor6 === void 0 ? '' : _ref$classNameCartFor6,
225
+ _ref$classNameCartInp = _ref.classNameCartInputError,
226
+ classNameCartInputError = _ref$classNameCartInp === void 0 ? 'text-danger' : _ref$classNameCartInp,
227
+ _ref$classNameCartNav = _ref.classNameCartNav,
228
+ classNameCartNav = _ref$classNameCartNav === void 0 ? 'nav merchi-nav-tabs merchi-nav merchi-nav-fill merchi-nav-pills' : _ref$classNameCartNav,
229
+ _ref$classNameCartRow = _ref.classNameCartRow,
230
+ classNameCartRow = _ref$classNameCartRow === void 0 ? 'merchi-row' : _ref$classNameCartRow,
231
+ _ref$classNameCartRow2 = _ref.classNameCartRowColumn,
232
+ classNameCartRowColumn = _ref$classNameCartRow2 === void 0 ? 'merchi-column' : _ref$classNameCartRow2,
233
+ _ref$classNameCartTab = _ref.classNameCartTabItem,
234
+ classNameCartTabItem = _ref$classNameCartTab === void 0 ? 'nav-item merchi-nav-item' : _ref$classNameCartTab,
235
+ _ref$classNameCartTab2 = _ref.classNameCartTabItemLink,
236
+ classNameCartTabItemLink = _ref$classNameCartTab2 === void 0 ? 'merchi-nav-link' : _ref$classNameCartTab2,
237
+ _ref$classNameCartTog = _ref.classNameCartToggleIconButton,
238
+ classNameCartToggleIconButton = _ref$classNameCartTog === void 0 ? 'cart-icon-button-class' : _ref$classNameCartTog,
239
+ _ref$classNameCartGoo = _ref.classNameCartGoogleSuggestList,
240
+ classNameCartGoogleSuggestList = _ref$classNameCartGoo === void 0 ? 'merchi-cart-google-suggest-list' : _ref$classNameCartGoo,
241
+ _ref$classNameCartGoo2 = _ref.classNameCartGoogleSuggestListItem,
242
+ classNameCartGoogleSuggestListItem = _ref$classNameCartGoo2 === void 0 ? 'merchi-cart-google-suggest-list-item' : _ref$classNameCartGoo2,
243
+ _ref$classNameCartHea = _ref.classNameCartHeader,
244
+ classNameCartHeader = _ref$classNameCartHea === void 0 ? 'merchi-cart-header' : _ref$classNameCartHea,
245
+ _ref$classNameCartIte = _ref.classNameCartItemFeatureImage,
246
+ classNameCartItemFeatureImage = _ref$classNameCartIte === void 0 ? 'img-rounded m-10' : _ref$classNameCartIte,
247
+ _ref$classNameCartIte2 = _ref.classNameCartItemInfo,
248
+ classNameCartItemInfo = _ref$classNameCartIte2 === void 0 ? 'text-muted font-weight-normal font-italic' : _ref$classNameCartIte2,
249
+ _ref$classNameCartIte3 = _ref.classNameCartItemInfoCell,
250
+ classNameCartItemInfoCell = _ref$classNameCartIte3 === void 0 ? 'border-0 align-middle' : _ref$classNameCartIte3,
251
+ _ref$classNameCartIte4 = _ref.classNameCartItemInfoCellRight,
252
+ classNameCartItemInfoCellRight = _ref$classNameCartIte4 === void 0 ? 'border-0 align-middle text-right' : _ref$classNameCartIte4,
253
+ _ref$classNameCartIte5 = _ref.classNameCartItemInfoContainer,
254
+ classNameCartItemInfoContainer = _ref$classNameCartIte5 === void 0 ? 'ml-3 d-inline-block align-middle' : _ref$classNameCartIte5,
255
+ _ref$classNameCartTab3 = _ref.classNameCartTab,
256
+ classNameCartTab = _ref$classNameCartTab3 === void 0 ? 'merchi-tab-content' : _ref$classNameCartTab3,
257
+ _ref$classNameCartTab4 = _ref.classNameCartTabPanel,
258
+ classNameCartTabPanel = _ref$classNameCartTab4 === void 0 ? 'merchi-tab-panel' : _ref$classNameCartTab4,
259
+ _ref$classNameCartTit = _ref.classNameCartTitle,
260
+ classNameCartTitle = _ref$classNameCartTit === void 0 ? 'merchi-cart-title' : _ref$classNameCartTit,
261
+ _ref$classNameCartTot = _ref.classNameCartTotalContainer,
262
+ classNameCartTotalContainer = _ref$classNameCartTot === void 0 ? 'merchi-cart-total-container' : _ref$classNameCartTot,
263
+ _ref$classNameCartTot2 = _ref.classNameCartTotaListContainer,
264
+ classNameCartTotaListContainer = _ref$classNameCartTot2 === void 0 ? 'merchi-cart-total-list-container' : _ref$classNameCartTot2,
265
+ _ref$classNameCartTot3 = _ref.classNameCartTotalItem,
266
+ classNameCartTotalItem = _ref$classNameCartTot3 === void 0 ? 'merchi-cart-total-item' : _ref$classNameCartTot3,
267
+ _ref$classNameCartTot4 = _ref.classNameCartTotalItemPrice,
268
+ classNameCartTotalItemPrice = _ref$classNameCartTot4 === void 0 ? 'merchi-cart-total-item-price' : _ref$classNameCartTot4,
269
+ _ref$classNameClearCa = _ref.classNameClearCartContainer,
270
+ classNameClearCartContainer = _ref$classNameClearCa === void 0 ? 'merchi-cart-clear-container' : _ref$classNameClearCa,
271
+ _ref$classNameClearCa2 = _ref.classNameClearCartText,
272
+ classNameClearCartText = _ref$classNameClearCa2 === void 0 ? 'merchi-cart-clear-text' : _ref$classNameClearCa2,
273
+ _ref$classNameListCli = _ref.classNameListClientInfo,
274
+ classNameListClientInfo = _ref$classNameListCli === void 0 ? 'merchi-cart-client-info-list' : _ref$classNameListCli,
275
+ _ref$classNameList = _ref.classNameList,
276
+ classNameList = _ref$classNameList === void 0 ? 'list-group' : _ref$classNameList,
277
+ _ref$classNameListInl = _ref.classNameListInline,
278
+ classNameListInline = _ref$classNameListInl === void 0 ? 'list-inline' : _ref$classNameListInl,
279
+ _ref$classNameListUns = _ref.classNameListUnstyled,
280
+ classNameListUnstyled = _ref$classNameListUns === void 0 ? 'list-unstyled' : _ref$classNameListUns,
281
+ _ref$classNameListCon = _ref.classNameListContainer,
282
+ classNameListContainer = _ref$classNameListCon === void 0 ? 'pb-2' : _ref$classNameListCon,
283
+ _ref$classNameListIte = _ref.classNameListItem,
284
+ classNameListItem = _ref$classNameListIte === void 0 ? 'list-group-item' : _ref$classNameListIte,
285
+ _ref$classNameListIte2 = _ref.classNameListItemCartTotals,
286
+ classNameListItemCartTotals = _ref$classNameListIte2 === void 0 ? 'list-group-item d-flex justify-content-between align-items-center' : _ref$classNameListIte2,
287
+ _ref$classNameLoading = _ref.classNameLoadingTemplate,
288
+ classNameLoadingTemplate = _ref$classNameLoading === void 0 ? 'merchi-loading-template' : _ref$classNameLoading,
289
+ _ref$classNameLoading2 = _ref.classNameLoadingTemplateContainer,
290
+ classNameLoadingTemplateContainer = _ref$classNameLoading2 === void 0 ? 'merchi-loading-template-container' : _ref$classNameLoading2,
291
+ _ref$classNameNoItems = _ref.classNameNoItems,
292
+ classNameNoItems = _ref$classNameNoItems === void 0 ? 'merchi-no-cart-items' : _ref$classNameNoItems,
293
+ _ref$classNameShipmen = _ref.classNameShipmentOption,
294
+ classNameShipmentOption = _ref$classNameShipmen === void 0 ? 'merchi-shipment-option' : _ref$classNameShipmen,
295
+ _ref$classNameTable = _ref.classNameTable,
296
+ classNameTable = _ref$classNameTable === void 0 ? 'table' : _ref$classNameTable,
297
+ _ref$classNameTableCo = _ref.classNameTableContainer,
298
+ classNameTableContainer = _ref$classNameTableCo === void 0 ? 'table-responsive' : _ref$classNameTableCo,
299
+ _ref$classNameVariati = _ref.classNameVariationsList,
300
+ classNameVariationsList = _ref$classNameVariati === void 0 ? 'list-unstyled list-inline' : _ref$classNameVariati,
301
+ customSuccessMessage = _ref.customSuccessMessage,
302
+ domainId = _ref.domainId,
303
+ _ref$discountButtonTe = _ref.discountButtonText,
304
+ discountButtonText = _ref$discountButtonTe === void 0 ? 'Apply' : _ref$discountButtonTe,
305
+ _ref$discountClassNam = _ref.discountClassName,
306
+ discountClassName = _ref$discountClassNam === void 0 ? 'merchi-discount-group-container' : _ref$discountClassNam,
307
+ _ref$discountClassNam2 = _ref.discountClassNameButton,
308
+ discountClassNameButton = _ref$discountClassNam2 === void 0 ? 'btn btn-primary btn-lg' : _ref$discountClassNam2,
309
+ _ref$discountClassNam3 = _ref.discountClassNameButtonContainer,
310
+ discountClassNameButtonContainer = _ref$discountClassNam3 === void 0 ? 'col-auto' : _ref$discountClassNam3,
311
+ _ref$discountClassNam4 = _ref.discountClassNameButtonItemRemove,
312
+ discountClassNameButtonItemRemove = _ref$discountClassNam4 === void 0 ? 'btn btn-sm btn-link' : _ref$discountClassNam4,
313
+ _ref$discountClassNam5 = _ref.discountClassNameErrorMessage,
314
+ discountClassNameErrorMessage = _ref$discountClassNam5 === void 0 ? 'text-danger' : _ref$discountClassNam5,
315
+ _ref$discountClassNam6 = _ref.discountClassNameInput,
316
+ discountClassNameInput = _ref$discountClassNam6 === void 0 ? 'form-control input-lg' : _ref$discountClassNam6,
317
+ discountClassNameInputContainer = _ref.discountClassNameInputContainer,
318
+ _ref$discountClassNam7 = _ref.discountClassNameListItem,
319
+ discountClassNameListItem = _ref$discountClassNam7 === void 0 ? 'list-group-item d-flex align-items-center justify-content-between mt-2' : _ref$discountClassNam7,
320
+ _ref$discountClassNam8 = _ref.discountClassNameListItems,
321
+ discountClassNameListItems = _ref$discountClassNam8 === void 0 ? 'list-group' : _ref$discountClassNam8,
322
+ discountClassNameMainContainer = _ref.discountClassNameMainContainer,
323
+ _ref$discountShowAppl = _ref.discountShowAppliedItems,
324
+ discountShowAppliedItems = _ref$discountShowAppl === void 0 ? true : _ref$discountShowAppl,
325
+ _ref$showDiscountCode = _ref.showDiscountCode,
326
+ showDiscountCode = _ref$showDiscountCode === void 0 ? true : _ref$showDiscountCode,
327
+ _ref$googlePlacesLoad = _ref.googlePlacesLoaded,
328
+ googlePlacesLoaded = _ref$googlePlacesLoad === void 0 ? false : _ref$googlePlacesLoad,
329
+ _ref$hideHead = _ref.hideHead,
330
+ hideHead = _ref$hideHead === void 0 ? false : _ref$hideHead,
331
+ _ref$includeTheme = _ref.includeTheme,
332
+ includeTheme = _ref$includeTheme === void 0 ? false : _ref$includeTheme,
333
+ _ref$initialiseCart = _ref.initialiseCart,
334
+ initialiseCart = _ref$initialiseCart === void 0 ? true : _ref$initialiseCart,
335
+ isCartModalOpen = _ref.isCartModalOpen,
336
+ setIsCartModalOpen = _ref.setIsCartModalOpen,
337
+ onClickClose = _ref.onClickClose,
338
+ _ref$productFormClass = _ref.productFormClassNames,
339
+ productFormClassNames = _ref$productFormClass === void 0 ? {} : _ref$productFormClass,
340
+ _ref$showUserTermsAnd = _ref.showUserTermsAndConditions,
341
+ showUserTermsAndConditions = _ref$showUserTermsAnd === void 0 ? true : _ref$showUserTermsAnd,
342
+ _ref$showCartItemInfo = _ref.showCartItemInfo,
343
+ showCartItemInfo = _ref$showCartItemInfo === void 0 ? true : _ref$showCartItemInfo,
344
+ _ref$apiUrl = _ref.apiUrl,
345
+ apiUrl = _ref$apiUrl === void 0 ? 'https://api.merchi.co/v6/' : _ref$apiUrl,
346
+ _ref$urlFrontend = _ref.urlFrontend,
347
+ urlFrontend = _ref$urlFrontend === void 0 ? 'https://merchi.co/' : _ref$urlFrontend,
348
+ urlTrackingPage = _ref.urlTrackingPage;
349
+ var merchi = new _sdk.Merchi();
350
+ var _useState = (0, _react.useState)(_objectSpread({}, initCart)),
351
+ _useState2 = _slicedToArray(_useState, 2),
352
+ cart = _useState2[0],
353
+ setCart = _useState2[1];
354
+ var _useState3 = (0, _react.useState)(null),
355
+ _useState4 = _slicedToArray(_useState3, 2),
356
+ cartClient = _useState4[0],
357
+ setCartClient = _useState4[1];
358
+ var _useState5 = (0, _react.useState)(false),
359
+ _useState6 = _slicedToArray(_useState5, 2),
360
+ isOpen = _useState6[0],
361
+ setIsOpen = _useState6[1];
362
+ var _useState7 = (0, _react.useState)(0),
363
+ _useState8 = _slicedToArray(_useState7, 2),
364
+ activeTabIndex = _useState8[0],
365
+ setActiveTabIndex = _useState8[1];
366
+ var _useState9 = (0, _react.useState)(_toConsumableArray(_tabs.initTabs)),
367
+ _useState0 = _slicedToArray(_useState9, 2),
368
+ tabs = _useState0[0],
369
+ setTabs = _useState0[1];
370
+ function setActiveTabAndEditDisabled(nextTab) {
371
+ var tabId = nextTab.tabId,
372
+ tabIndexToSet = nextTab.tabIndexToSet,
373
+ disabled = nextTab.disabled;
374
+ setTabs(function (prev) {
375
+ var index = tabIndexToSet >= 0 && tabIndexToSet < prev.length ? tabIndexToSet : prev.findIndex(function (t) {
376
+ return t.tabId === tabId;
377
+ });
378
+ if (index < 0 || index >= prev.length) {
379
+ return prev;
380
+ }
381
+ var next = _toConsumableArray(prev);
382
+ next[index] = _objectSpread(_objectSpread({}, next[index]), {}, {
383
+ disabled: disabled
384
+ });
385
+ return next;
386
+ });
387
+ setActiveTabIndex(tabId);
388
+ }
389
+ var _useState1 = (0, _react.useState)({}),
390
+ _useState10 = _slicedToArray(_useState1, 2),
391
+ cartItem = _useState10[0],
392
+ setCartItem = _useState10[1];
393
+ var _useState11 = (0, _react.useState)({
394
+ icon: _freeSolidSvgIcons.faInfoCircle,
395
+ message: '',
396
+ show: false,
397
+ title: '',
398
+ type: 'info'
399
+ }),
400
+ _useState12 = _slicedToArray(_useState11, 2),
401
+ alert = _useState12[0],
402
+ setAlert = _useState12[1];
403
+ function alertSuccess(message) {
404
+ setAlert({
405
+ icon: _freeSolidSvgIcons.faCheckCircle,
406
+ message: message,
407
+ show: true,
408
+ title: 'Success!',
409
+ type: 'success'
410
+ });
411
+ }
412
+ function alertError(message) {
413
+ setAlert({
414
+ icon: _freeSolidSvgIcons.faExclamationTriangle,
415
+ message: message,
416
+ show: true,
417
+ title: 'Error!',
418
+ type: 'danger'
419
+ });
420
+ }
421
+ function closeClearCart() {
422
+ setActiveTabIndex(_tabs.tabIdItems);
423
+ }
424
+ var _useState13 = (0, _react.useState)(false),
425
+ _useState14 = _slicedToArray(_useState13, 2),
426
+ fetchingCart = _useState14[0],
427
+ setFetchingCart = _useState14[1];
428
+ var _useState15 = (0, _react.useState)(false),
429
+ _useState16 = _slicedToArray(_useState15, 2),
430
+ cartSettingsInvalid = _useState16[0],
431
+ setCartSettingsInvalid = _useState16[1];
432
+ function attachSavedClientIfNeeded(_x) {
433
+ return _attachSavedClientIfNeeded.apply(this, arguments);
434
+ } // Create cart and save cart cookie
435
+ function _attachSavedClientIfNeeded() {
436
+ _attachSavedClientIfNeeded = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(cartJson) {
437
+ var _cartJson$client;
438
+ var savedCustomer, _nextCart$client, cartToken, clientEnt, cartEnt, savedCart, nextCart, _t, _t2;
439
+ return _regenerator().w(function (_context) {
440
+ while (1) switch (_context.p = _context.n) {
441
+ case 0:
442
+ if (!(cartJson !== null && cartJson !== void 0 && (_cartJson$client = cartJson.client) !== null && _cartJson$client !== void 0 && _cartJson$client.id)) {
443
+ _context.n = 1;
444
+ break;
445
+ }
446
+ setCartClient(cartJson.client);
447
+ return _context.a(2, cartJson);
448
+ case 1:
449
+ savedCustomer = (0, _local_storage.getSavedCheckoutCustomer)(domainId);
450
+ if (savedCustomer !== null && savedCustomer !== void 0 && savedCustomer.id) {
451
+ _context.n = 2;
452
+ break;
453
+ }
454
+ setCartClient(null);
455
+ return _context.a(2, cartJson);
456
+ case 2:
457
+ _context.p = 2;
458
+ _t = cartJson.token;
459
+ if (_t) {
460
+ _context.n = 4;
461
+ break;
462
+ }
463
+ _context.n = 3;
464
+ return (0, _cookie.getCartCookieToken)(domainId);
465
+ case 3:
466
+ _t = _context.v;
467
+ case 4:
468
+ cartToken = _t;
469
+ clientEnt = (0, _user.makeUser)({
470
+ id: savedCustomer.id
471
+ }, true);
472
+ cartEnt = (0, _cart3.makeCart)(_objectSpread({}, cartJson), false, cartToken);
473
+ cartEnt.client = clientEnt;
474
+ _context.n = 5;
475
+ return cartEnt.save({
476
+ embed: _helpers.cartEmbed
477
+ });
478
+ case 5:
479
+ savedCart = _context.v;
480
+ nextCart = savedCart.toJson();
481
+ if (!(nextCart !== null && nextCart !== void 0 && (_nextCart$client = nextCart.client) !== null && _nextCart$client !== void 0 && _nextCart$client.id)) {
482
+ _context.n = 6;
483
+ break;
484
+ }
485
+ setCartClient(nextCart.client);
486
+ return _context.a(2, nextCart);
487
+ case 6:
488
+ _context.n = 8;
489
+ break;
490
+ case 7:
491
+ _context.p = 7;
492
+ _t2 = _context.v;
493
+ case 8:
494
+ setCartClient(null);
495
+ return _context.a(2, cartJson);
496
+ }
497
+ }, _callee, null, [[2, 7]]);
498
+ }));
499
+ return _attachSavedClientIfNeeded.apply(this, arguments);
500
+ }
501
+ function createCartAndCookie(_x2) {
502
+ return _createCartAndCookie.apply(this, arguments);
503
+ }
504
+ function _createCartAndCookie() {
505
+ _createCartAndCookie = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(callback) {
506
+ var _cart, cartJson, _t3;
507
+ return _regenerator().w(function (_context2) {
508
+ while (1) switch (_context2.p = _context2.n) {
509
+ case 0:
510
+ setFetchingCart(true);
511
+ _context2.p = 1;
512
+ _cart = (0, _cart3.makeCart)({
513
+ domain: {
514
+ id: domainId
515
+ }
516
+ }, true);
517
+ _context2.n = 2;
518
+ return _cart.create({
519
+ embed: _helpers.cartEmbed
520
+ });
521
+ case 2:
522
+ _context2.n = 3;
523
+ return _cart.toJson();
524
+ case 3:
525
+ cartJson = _context2.v;
526
+ if (domainId) (0, _cookie.setCartCookie)(Number(domainId), cartJson, undefined);
527
+ _context2.n = 4;
528
+ return attachSavedClientIfNeeded(cartJson);
529
+ case 4:
530
+ cartJson = _context2.v;
531
+ setCart(_objectSpread({}, cartJson));
532
+ if (callback) callback();
533
+ _context2.n = 6;
534
+ break;
535
+ case 5:
536
+ _context2.p = 5;
537
+ _t3 = _context2.v;
538
+ alertError(_t3.errorMessage || _t3.message || 'Unable to fetch cart.');
539
+ case 6:
540
+ _context2.p = 6;
541
+ setFetchingCart(false);
542
+ return _context2.f(6);
543
+ case 7:
544
+ return _context2.a(2);
545
+ }
546
+ }, _callee2, null, [[1, 5, 6, 7]]);
547
+ }));
548
+ return _createCartAndCookie.apply(this, arguments);
549
+ }
550
+ function getCart(_x3) {
551
+ return _getCart.apply(this, arguments);
552
+ }
553
+ function _getCart() {
554
+ _getCart = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(cartIdAndToken) {
555
+ var id, _cart2, cartJson, _t4;
556
+ return _regenerator().w(function (_context3) {
557
+ while (1) switch (_context3.p = _context3.n) {
558
+ case 0:
559
+ id = Number(cartIdAndToken[0]); // Set the cart token on the merchi entity
560
+ if (cartIdAndToken[1]) merchi.cartToken = cartIdAndToken[1];
561
+ setFetchingCart(true);
562
+ _context3.p = 1;
563
+ _context3.n = 2;
564
+ return merchi.Cart.get(id, {
565
+ embed: _helpers.cartEmbed
566
+ });
567
+ case 2:
568
+ _cart2 = _context3.v;
569
+ _context3.n = 3;
570
+ return _cart2.toJson();
571
+ case 3:
572
+ cartJson = _context3.v;
573
+ if (!(0, _cart3.stripeIsValidAndActive)(cartJson)) {
574
+ _context3.n = 5;
575
+ break;
576
+ }
577
+ _context3.n = 4;
578
+ return attachSavedClientIfNeeded(cartJson);
579
+ case 4:
580
+ cartJson = _context3.v;
581
+ setCart(_objectSpread({}, cartJson));
582
+ _context3.n = 6;
583
+ break;
584
+ case 5:
585
+ console.error("MErhci cart error: Stripe payment " + "options have not been correctly set up. " + "Check the company profile payment options tab " + "to set and edit stripe payment options.");
586
+ setCartSettingsInvalid(true);
587
+ case 6:
588
+ _context3.n = 8;
589
+ break;
590
+ case 7:
591
+ _context3.p = 7;
592
+ _t4 = _context3.v;
593
+ _context3.n = 8;
594
+ return createCartAndCookie();
595
+ case 8:
596
+ _context3.p = 8;
597
+ setFetchingCart(false);
598
+ return _context3.f(8);
599
+ case 9:
600
+ return _context3.a(2);
601
+ }
602
+ }, _callee3, null, [[1, 7, 8, 9]]);
603
+ }));
604
+ return _getCart.apply(this, arguments);
605
+ }
606
+ function actionGetMerchiCart() {
607
+ return _actionGetMerchiCart.apply(this, arguments);
608
+ }
609
+ function _actionGetMerchiCart() {
610
+ _actionGetMerchiCart = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4() {
611
+ var cartIdAndToken;
612
+ return _regenerator().w(function (_context4) {
613
+ while (1) switch (_context4.n) {
614
+ case 0:
615
+ _context4.n = 1;
616
+ return (0, _cookie.getCartCookie)(domainId);
617
+ case 1:
618
+ cartIdAndToken = _context4.v;
619
+ if (cartIdAndToken) {
620
+ getCart(cartIdAndToken);
621
+ } else {
622
+ createCartAndCookie();
623
+ }
624
+ case 2:
625
+ return _context4.a(2);
626
+ }
627
+ }, _callee4);
628
+ }));
629
+ return _actionGetMerchiCart.apply(this, arguments);
630
+ }
631
+ function clearCart(_x4) {
632
+ return _clearCart.apply(this, arguments);
633
+ }
634
+ function _clearCart() {
635
+ _clearCart = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5(callback) {
636
+ return _regenerator().w(function (_context5) {
637
+ while (1) switch (_context5.n) {
638
+ case 0:
639
+ _context5.n = 1;
640
+ return createCartAndCookie();
641
+ case 1:
642
+ if (callback) callback();
643
+ closeClearCart();
644
+ case 2:
645
+ return _context5.a(2);
646
+ }
647
+ }, _callee5);
648
+ }));
649
+ return _clearCart.apply(this, arguments);
650
+ }
651
+ var _useState17 = (0, _react.useState)(false),
652
+ _useState18 = _slicedToArray(_useState17, 2),
653
+ fetchingShipmentGroups = _useState18[0],
654
+ setFetchingShipmentGroups = _useState18[1];
655
+ function updateCartShipmentAddress(_x5) {
656
+ return _updateCartShipmentAddress.apply(this, arguments);
657
+ }
658
+ function _updateCartShipmentAddress() {
659
+ _updateCartShipmentAddress = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee6(address) {
660
+ var token, addressFields, receiverAddress, cartEnt, cartJson, query, cartWithShipmentGroups, _t5;
661
+ return _regenerator().w(function (_context6) {
662
+ while (1) switch (_context6.p = _context6.n) {
663
+ case 0:
664
+ _context6.n = 1;
665
+ return (0, _cookie.getCartCookieToken)(domainId);
666
+ case 1:
667
+ token = _context6.v;
668
+ addressFields = (0, _address.sanitizeAddressFields)(address);
669
+ receiverAddress = (0, _address.makeAddress)(addressFields, true);
670
+ cartEnt = (0, _cart3.makeCart)(cart, false, token);
671
+ setFetchingShipmentGroups(true);
672
+ _context6.p = 2;
673
+ cartEnt.receiverAddress = receiverAddress;
674
+ _context6.n = 3;
675
+ return cartEnt.save({
676
+ embed: _helpers.cartEmbed
677
+ });
678
+ case 3:
679
+ cartEnt = _context6.v;
680
+ cartJson = cartEnt.toJson();
681
+ (0, _local_storage.saveCheckoutAddress)(domainId, addressFields);
682
+ query = [];
683
+ query.push(['cart_token', cart.token]);
684
+ _context6.n = 4;
685
+ return merchi.authenticatedFetch("/generate-cart-shipment-quotes/".concat(cart.id, "/"), {
686
+ method: 'GET',
687
+ query: query
688
+ });
689
+ case 4:
690
+ cartWithShipmentGroups = _context6.v;
691
+ setCart(_objectSpread(_objectSpread({}, cartJson), {}, {
692
+ shipmentGroups: cartWithShipmentGroups.shipmentGroups || []
693
+ }));
694
+ _context6.n = 6;
695
+ break;
696
+ case 5:
697
+ _context6.p = 5;
698
+ _t5 = _context6.v;
699
+ alertError(_t5.errorMessage || _t5.message || 'Unable to set address');
700
+ case 6:
701
+ _context6.p = 6;
702
+ setFetchingShipmentGroups(false);
703
+ return _context6.f(6);
704
+ case 7:
705
+ return _context6.a(2);
706
+ }
707
+ }, _callee6, null, [[2, 5, 6, 7]]);
708
+ }));
709
+ return _updateCartShipmentAddress.apply(this, arguments);
710
+ }
711
+ function getCartShipmentOptions() {
712
+ return _getCartShipmentOptions.apply(this, arguments);
713
+ }
714
+ function _getCartShipmentOptions() {
715
+ _getCartShipmentOptions = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee7() {
716
+ var query, cartWithGroups, _t6;
717
+ return _regenerator().w(function (_context7) {
718
+ while (1) switch (_context7.p = _context7.n) {
719
+ case 0:
720
+ setFetchingShipmentGroups(true);
721
+ _context7.p = 1;
722
+ query = [];
723
+ query.push(['cart_token', cart.token]);
724
+ _context7.n = 2;
725
+ return merchi.authenticatedFetch("/generate-cart-shipment-quotes/".concat(cart.id, "/"), {
726
+ method: 'GET',
727
+ query: query
728
+ });
729
+ case 2:
730
+ cartWithGroups = _context7.v;
731
+ setCart(_objectSpread(_objectSpread({}, cart), {}, {
732
+ shipmentGroups: cartWithGroups.shipmentGroups || []
733
+ }));
734
+ _context7.n = 4;
735
+ break;
736
+ case 3:
737
+ _context7.p = 3;
738
+ _t6 = _context7.v;
739
+ alertError(_t6.errorMessage || _t6.message || 'Unable to fetch shipment options');
740
+ case 4:
741
+ _context7.p = 4;
742
+ setFetchingShipmentGroups(false);
743
+ return _context7.f(4);
744
+ case 5:
745
+ return _context7.a(2);
746
+ }
747
+ }, _callee7, null, [[1, 3, 4, 5]]);
748
+ }));
749
+ return _getCartShipmentOptions.apply(this, arguments);
750
+ }
751
+ function getMerchiCartValues() {
752
+ return _getMerchiCartValues.apply(this, arguments);
753
+ }
754
+ function _getMerchiCartValues() {
755
+ _getMerchiCartValues = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee8() {
756
+ var _ref2, cartItems, currency, subtotalCost, taxAmount, totalCost, cartItemsCount;
757
+ return _regenerator().w(function (_context8) {
758
+ while (1) switch (_context8.n) {
759
+ case 0:
760
+ _ref2 = cart, cartItems = _ref2.cartItems, currency = _ref2.currency, subtotalCost = _ref2.subtotalCost, taxAmount = _ref2.taxAmount, totalCost = _ref2.totalCost;
761
+ cartItemsCount = cartItems ? cartItems.length : 0;
762
+ return _context8.a(2, {
763
+ cart: cart,
764
+ cartItemsCount: cartItemsCount,
765
+ currency: currency || '',
766
+ subtotalCost: subtotalCost || 0,
767
+ taxAmount: taxAmount || 0,
768
+ totalCost: totalCost || 0
769
+ });
770
+ }
771
+ }, _callee8);
772
+ }));
773
+ return _getMerchiCartValues.apply(this, arguments);
774
+ }
775
+ function isMerchiCartFetching() {
776
+ return _isMerchiCartFetching.apply(this, arguments);
777
+ }
778
+ function _isMerchiCartFetching() {
779
+ _isMerchiCartFetching = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee9() {
780
+ return _regenerator().w(function (_context9) {
781
+ while (1) switch (_context9.n) {
782
+ case 0:
783
+ return _context9.a(2, fetchingCart);
784
+ }
785
+ }, _callee9);
786
+ }));
787
+ return _isMerchiCartFetching.apply(this, arguments);
788
+ }
789
+ var _useState19 = (0, _react.useState)(false),
790
+ _useState20 = _slicedToArray(_useState19, 2),
791
+ loading = _useState20[0],
792
+ setLoading = _useState20[1];
793
+
794
+ // Fetch the associated cart theme via the cart domain.
795
+ function actionFetchTheme() {
796
+ return _actionFetchTheme.apply(this, arguments);
797
+ }
798
+ function _actionFetchTheme() {
799
+ _actionFetchTheme = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee0() {
800
+ var domain, theme, _t7;
801
+ return _regenerator().w(function (_context0) {
802
+ while (1) switch (_context0.p = _context0.n) {
803
+ case 0:
804
+ setLoading(true);
805
+ _context0.p = 1;
806
+ _context0.n = 2;
807
+ return merchi.Domain.get(domainId, {
808
+ embed: {
809
+ activeTheme: {
810
+ mainCss: {}
811
+ }
812
+ }
813
+ });
814
+ case 2:
815
+ domain = _context0.v;
816
+ theme = domain.activeTheme;
817
+ _context0.n = 3;
818
+ return (0, _helpers.appendStyleSheetText)(theme.mainCss, function () {
819
+ return setLoading(false);
820
+ });
821
+ case 3:
822
+ _context0.n = 5;
823
+ break;
824
+ case 4:
825
+ _context0.p = 4;
826
+ _t7 = _context0.v;
827
+ alertError(_t7.errorMessage || _t7.message || 'Error fetching domain theme.');
828
+ setLoading(false);
829
+ case 5:
830
+ return _context0.a(2);
831
+ }
832
+ }, _callee0, null, [[1, 4]]);
833
+ }));
834
+ return _actionFetchTheme.apply(this, arguments);
835
+ }
836
+ function setCartComplete() {
837
+ return _setCartComplete.apply(this, arguments);
838
+ }
839
+ function _setCartComplete() {
840
+ _setCartComplete = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee1() {
841
+ return _regenerator().w(function (_context1) {
842
+ while (1) switch (_context1.n) {
843
+ case 0:
844
+ _context1.n = 1;
845
+ return createCartAndCookie();
846
+ case 1:
847
+ location.reload();
848
+ case 2:
849
+ return _context1.a(2);
850
+ }
851
+ }, _callee1);
852
+ }));
853
+ return _setCartComplete.apply(this, arguments);
854
+ }
855
+ function refetchCart() {
856
+ return _refetchCart.apply(this, arguments);
857
+ }
858
+ function _refetchCart() {
859
+ _refetchCart = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee10() {
860
+ return _regenerator().w(function (_context10) {
861
+ while (1) switch (_context10.n) {
862
+ case 0:
863
+ _context10.n = 1;
864
+ return actionGetMerchiCart();
865
+ case 1:
866
+ return _context10.a(2);
867
+ }
868
+ }, _callee10);
869
+ }));
870
+ return _refetchCart.apply(this, arguments);
871
+ }
872
+ var _useState21 = (0, _react.useState)({}),
873
+ _useState22 = _slicedToArray(_useState21, 2),
874
+ invoiceJson = _useState22[0],
875
+ setInvoiceJson = _useState22[1];
876
+ var _useState23 = (0, _react.useState)(false),
877
+ _useState24 = _slicedToArray(_useState23, 2),
878
+ loadingTotals = _useState24[0],
879
+ setLoadingTotals = _useState24[1];
880
+ function addCartItem(_x6, _x7, _x8) {
881
+ return _addCartItem.apply(this, arguments);
882
+ }
883
+ function _addCartItem() {
884
+ _addCartItem = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee11(jobJson, onSuccess, onError) {
885
+ var jobEnt, cartToken, cartEnt, cartItemEnt, cartItemProduct, item, itemJson, _t8;
886
+ return _regenerator().w(function (_context11) {
887
+ while (1) switch (_context11.p = _context11.n) {
888
+ case 0:
889
+ setFetchingCart(true);
890
+ jobEnt = (0, _job.makeJob)(jobJson, true);
891
+ _context11.n = 1;
892
+ return (0, _cookie.getCartCookieToken)(domainId);
893
+ case 1:
894
+ cartToken = _context11.v;
895
+ cartEnt = (0, _cart3.makeCart)(cart, false, cartToken);
896
+ cartItemEnt = (0, _cart3.makeCartItem)({}, true);
897
+ cartItemProduct = (0, _product.makeProduct)({
898
+ id: jobEnt.product.id
899
+ });
900
+ cartItemEnt.cart = cartEnt;
901
+ cartItemEnt.quantity = jobEnt.quantity;
902
+ cartItemEnt.product = cartItemProduct;
903
+ cartItemEnt.variations = jobEnt.variations;
904
+ cartItemEnt.variationsGroups = jobEnt.variationsGroups;
905
+ cartItemEnt.taxType = jobEnt.taxType;
906
+ cartItemEnt.ownDrafts = jobEnt.ownDrafts;
907
+ cartItemEnt.tags = jobEnt.tags;
908
+ _context11.p = 2;
909
+ _context11.n = 3;
910
+ return cartItemEnt.create();
911
+ case 3:
912
+ item = _context11.v;
913
+ _context11.n = 4;
914
+ return item.toJson();
915
+ case 4:
916
+ itemJson = _context11.v;
917
+ onSuccess(itemJson);
918
+ _context11.n = 6;
919
+ break;
920
+ case 5:
921
+ _context11.p = 5;
922
+ _t8 = _context11.v;
923
+ onError(_t8);
924
+ case 6:
925
+ _context11.p = 6;
926
+ setFetchingCart(false);
927
+ return _context11.f(6);
928
+ case 7:
929
+ return _context11.a(2);
930
+ }
931
+ }, _callee11, null, [[2, 5, 6, 7]]);
932
+ }));
933
+ return _addCartItem.apply(this, arguments);
934
+ }
935
+ var toggleCartModal = function toggleCartModal() {
936
+ var newIsOpen = setIsCartModalOpen ? !isCartModalOpen : !isOpen;
937
+
938
+ // Toggle the modal state
939
+ if (setIsCartModalOpen) {
940
+ setIsCartModalOpen(newIsOpen);
941
+ } else {
942
+ setIsOpen(newIsOpen);
943
+ }
944
+
945
+ // Refetch the cart if the modal is opening
946
+ if (newIsOpen) {
947
+ refetchCart();
948
+ }
949
+ };
950
+
951
+ // Set a global toggle function for cart wrapper
952
+ if (typeof window !== 'undefined') {
953
+ window.addCartItem = addCartItem;
954
+ window.toggleCartOpen = toggleCartModal;
955
+ window.getCart = function () {
956
+ return actionGetMerchiCart();
957
+ };
958
+ window.getMerchiCartValues = getMerchiCartValues;
959
+ window.isMerchiCartFetching = isMerchiCartFetching;
960
+ window.setCartComplete = setCartComplete;
961
+ window.refetchCart = refetchCart;
962
+ window.createCartAndCookie = createCartAndCookie;
963
+ }
964
+ (0, _react.useEffect)(function () {
965
+ if (domainId) actionGetMerchiCart();
966
+ if (domainId && includeTheme) actionFetchTheme();
967
+ }, [domainId]);
968
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(CartContext.Provider, {
969
+ value: {
970
+ cart: cart,
971
+ setCart: setCart,
972
+ cartClient: cartClient,
973
+ setCartClient: setCartClient,
974
+ cartSettingsInvalid: cartSettingsInvalid,
975
+ // if true do show error to user about settings
976
+
977
+ activeTabIndex: activeTabIndex,
978
+ setActiveTabIndex: setActiveTabIndex,
979
+ alert: alert,
980
+ alertSuccess: alertSuccess,
981
+ alertError: alertError,
982
+ setAlert: setAlert,
983
+ cartItem: cartItem,
984
+ setCartItem: setCartItem,
985
+ classNameAlertError: classNameAlertError,
986
+ classNameAlertInfo: classNameAlertInfo,
987
+ classNameAlertSuccess: classNameAlertSuccess,
988
+ classNameAlertWarning: classNameAlertWarning,
989
+ classNameBtn: classNameBtn,
990
+ classNameBtnBack: classNameBtnBack,
991
+ classNameBtnCartClear: classNameBtnCartClear,
992
+ classNameBtnClose: classNameBtnClose,
993
+ classNameBtnDanger: classNameBtnDanger,
994
+ classNameBtnDefault: classNameBtnDefault,
995
+ classNameBtnDownloadInvoice: classNameBtnDownloadInvoice,
996
+ classNameBtnEditCartItem: classNameBtnEditCartItem,
997
+ classNameBtnPrimary: classNameBtnPrimary,
998
+ classNameBtnLink: classNameBtnLink,
999
+ classNameBtnNext: classNameBtnNext,
1000
+ classNameBtnNextComplete: classNameBtnNextComplete,
1001
+ classNameBtnPay: classNameBtnPay,
1002
+ classNameCartBody: classNameCartBody,
1003
+ classNameCartFooter: classNameCartFooter,
1004
+ classNameCartFormCheckbox: classNameCartFormCheckbox,
1005
+ classNameCartFormGroup: classNameCartFormGroup,
1006
+ classNameCartFormGroupButton: classNameCartFormGroupButton,
1007
+ classNameCartFormGroupCheckbox: classNameCartFormGroupCheckbox,
1008
+ classNameCartFormInput: classNameCartFormInput,
1009
+ classNameCartFormLabelCheckbox: classNameCartFormLabelCheckbox,
1010
+ classNameCartInputError: classNameCartInputError,
1011
+ classNameCartNav: classNameCartNav,
1012
+ classNameCartRow: classNameCartRow,
1013
+ classNameCartRowColumn: classNameCartRowColumn,
1014
+ classNameCartTabItem: classNameCartTabItem,
1015
+ classNameCartTabItemLink: classNameCartTabItemLink,
1016
+ classNameCartToggleIconButton: classNameCartToggleIconButton,
1017
+ classNameCartGoogleSuggestList: classNameCartGoogleSuggestList,
1018
+ classNameCartGoogleSuggestListItem: classNameCartGoogleSuggestListItem,
1019
+ classNameCartHeader: classNameCartHeader,
1020
+ classNameCartItemFeatureImage: classNameCartItemFeatureImage,
1021
+ classNameCartItemInfo: classNameCartItemInfo,
1022
+ classNameCartItemInfoCell: classNameCartItemInfoCell,
1023
+ classNameCartItemInfoCellRight: classNameCartItemInfoCellRight,
1024
+ classNameCartItemInfoContainer: classNameCartItemInfoContainer,
1025
+ classNameCartTab: classNameCartTab,
1026
+ classNameCartTabPanel: classNameCartTabPanel,
1027
+ classNameCartTitle: classNameCartTitle,
1028
+ classNameCartTotalContainer: classNameCartTotalContainer,
1029
+ classNameCartTotalItem: classNameCartTotalItem,
1030
+ classNameCartTotaListContainer: classNameCartTotaListContainer,
1031
+ classNameCartTotalItemPrice: classNameCartTotalItemPrice,
1032
+ classNameClearCartContainer: classNameClearCartContainer,
1033
+ classNameClearCartText: classNameClearCartText,
1034
+ classNameListClientInfo: classNameListClientInfo,
1035
+ classNameList: classNameList,
1036
+ classNameListInline: classNameListInline,
1037
+ classNameListContainer: classNameListContainer,
1038
+ classNameListItem: classNameListItem,
1039
+ classNameListItemCartTotals: classNameListItemCartTotals,
1040
+ classNameListUnstyled: classNameListUnstyled,
1041
+ classNameLoadingTemplate: classNameLoadingTemplate,
1042
+ classNameLoadingTemplateContainer: classNameLoadingTemplateContainer,
1043
+ classNameNoItems: classNameNoItems,
1044
+ classNameShipmentOption: classNameShipmentOption,
1045
+ classNameTable: classNameTable,
1046
+ classNameTableContainer: classNameTableContainer,
1047
+ classNameVariationsList: classNameVariationsList,
1048
+ customSuccessMessage: customSuccessMessage,
1049
+ discountButtonText: discountButtonText,
1050
+ discountClassName: discountClassName,
1051
+ discountClassNameButton: discountClassNameButton,
1052
+ discountClassNameButtonContainer: discountClassNameButtonContainer,
1053
+ discountClassNameButtonItemRemove: discountClassNameButtonItemRemove,
1054
+ discountClassNameErrorMessage: discountClassNameErrorMessage,
1055
+ discountClassNameInput: discountClassNameInput,
1056
+ discountClassNameInputContainer: discountClassNameInputContainer,
1057
+ discountClassNameListItem: discountClassNameListItem,
1058
+ discountClassNameListItems: discountClassNameListItems,
1059
+ discountClassNameMainContainer: discountClassNameMainContainer,
1060
+ discountShowAppliedItems: discountShowAppliedItems,
1061
+ showDiscountCode: showDiscountCode,
1062
+ fetchingCart: fetchingCart,
1063
+ // boolean indicator true when fetching cart
1064
+ setFetchingCart: setFetchingCart,
1065
+ fetchingShipmentGroups: fetchingShipmentGroups,
1066
+ // boolean for fetching shipment groups
1067
+
1068
+ domainId: domainId,
1069
+ googlePlacesLoaded: googlePlacesLoaded,
1070
+ hideHead: hideHead,
1071
+ invoiceJson: invoiceJson,
1072
+ setInvoiceJson: setInvoiceJson,
1073
+ includeTheme: includeTheme,
1074
+ initialiseCart: initialiseCart,
1075
+ isCartModalOpen: typeof isCartModalOpen !== 'undefined' ? isCartModalOpen : isOpen,
1076
+ // Control the cart modal open and closed
1077
+ toggleCartModal: toggleCartModal,
1078
+ onClickClose: onClickClose,
1079
+ productFormClassNames: productFormClassNames,
1080
+ showUserTermsAndConditions: showUserTermsAndConditions,
1081
+ apiUrl: apiUrl,
1082
+ updateCartShipmentAddress: updateCartShipmentAddress,
1083
+ urlFrontend: urlFrontend,
1084
+ urlTrackingPage: urlTrackingPage,
1085
+ tabs: tabs,
1086
+ setTabs: setTabs,
1087
+ clearCart: clearCart,
1088
+ // Resets the cart and it's values
1089
+ closeClearCart: closeClearCart,
1090
+ setCartComplete: setCartComplete,
1091
+ // creates a token and cart and then reloads the page
1092
+ refetchCart: refetchCart,
1093
+ // used to refetch the cart
1094
+ createCartAndCookie: createCartAndCookie,
1095
+ // creates a new cart and cookie
1096
+
1097
+ loading: loading,
1098
+ showCartItemInfo: showCartItemInfo,
1099
+ loadingTotals: loadingTotals,
1100
+ setLoadingTotals: setLoadingTotals,
1101
+ setActiveTabAndEditDisabled: setActiveTabAndEditDisabled,
1102
+ getCartShipmentOptions: getCartShipmentOptions // refetch of the shipment quote options
1103
+ },
1104
+ children: children
1105
+ });
1106
+ };
1107
+ var _default = exports["default"] = CartProvider;