@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,85 @@
1
+ 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; }
2
+ 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; }
3
+ 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; }
4
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
5
+ 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); }
6
+ 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); }
7
+ import { isBrowser } from 'browser-or-node';
8
+ function storageKey(domainId) {
9
+ return "merchi-cart-checkout-".concat(domainId);
10
+ }
11
+ function readDraft(domainId) {
12
+ if (!isBrowser || domainId === undefined || domainId === null) {
13
+ return {};
14
+ }
15
+ try {
16
+ var raw = localStorage.getItem(storageKey(domainId));
17
+ if (!raw) return {};
18
+ var parsed = JSON.parse(raw);
19
+ return parsed && _typeof(parsed) === 'object' ? parsed : {};
20
+ } catch (_unused) {
21
+ return {};
22
+ }
23
+ }
24
+ function writeDraft(domainId, draft) {
25
+ if (!isBrowser || domainId === undefined || domainId === null) {
26
+ return;
27
+ }
28
+ try {
29
+ localStorage.setItem(storageKey(domainId), JSON.stringify(draft));
30
+ } catch (_unused2) {
31
+ // Ignore quota / private-mode failures.
32
+ }
33
+ }
34
+ export function getSavedCheckoutDraft(domainId) {
35
+ return readDraft(domainId);
36
+ }
37
+ export function getSavedCheckoutCustomer(domainId) {
38
+ return readDraft(domainId).customer;
39
+ }
40
+ export function getSavedCheckoutAddress(domainId) {
41
+ var draft = readDraft(domainId);
42
+ return {
43
+ address: draft.address,
44
+ receiverNotes: draft.receiverNotes
45
+ };
46
+ }
47
+ export function saveCheckoutCustomer(domainId, customer) {
48
+ var draft = readDraft(domainId);
49
+ var nextCustomer = _objectSpread(_objectSpread({}, draft.customer), customer);
50
+ // Drop empty phone entries.
51
+ if (nextCustomer.phoneNumbers) {
52
+ nextCustomer.phoneNumbers = nextCustomer.phoneNumbers.filter(function (phone) {
53
+ return phone && (phone.number || phone.code);
54
+ });
55
+ if (!nextCustomer.phoneNumbers.length) {
56
+ delete nextCustomer.phoneNumbers;
57
+ }
58
+ }
59
+ writeDraft(domainId, _objectSpread(_objectSpread({}, draft), {}, {
60
+ customer: nextCustomer
61
+ }));
62
+ }
63
+ export function saveCheckoutAddress(domainId, address, receiverNotes) {
64
+ if (!address) return;
65
+ var draft = readDraft(domainId);
66
+ var nextAddress = {
67
+ city: address.city || '',
68
+ country: address.country || '',
69
+ lineOne: address.lineOne || '',
70
+ lineTwo: address.lineTwo || '',
71
+ postcode: address.postcode || '',
72
+ state: address.state || ''
73
+ };
74
+ var next = _objectSpread(_objectSpread({}, draft), {}, {
75
+ address: nextAddress
76
+ });
77
+ if (receiverNotes !== undefined) {
78
+ next.receiverNotes = receiverNotes;
79
+ }
80
+ writeDraft(domainId, next);
81
+ }
82
+ export function addressHasContent(address) {
83
+ if (!address) return false;
84
+ return Boolean(address.lineOne || address.lineTwo || address.city || address.state || address.postcode || address.country);
85
+ }
@@ -0,0 +1,13 @@
1
+ import { Merchi } from '@merchi/sdk';
2
+ import pngProductNotFound from '../assets/product-not-found.png';
3
+ export function productFeatureImageUrl(product) {
4
+ var featureImage = product.featureImage;
5
+ return featureImage && featureImage.viewUrl ? featureImage.viewUrl : pngProductNotFound.src || pngProductNotFound;
6
+ }
7
+ export var makeProduct = function makeProduct(json, makeDirty) {
8
+ var merchi = new Merchi();
9
+ var product = new merchi.Product();
10
+ return product.fromJson(json, {
11
+ makeDirty: makeDirty
12
+ });
13
+ };
@@ -0,0 +1,11 @@
1
+ export var shipmentFormId = '_shipment-address-form-id';
2
+ export function cartItemsNeedShipment(cart) {
3
+ var _cart$cartItems = cart.cartItems,
4
+ cartItems = _cart$cartItems === void 0 ? [] : _cart$cartItems;
5
+ for (var i = 0; i < cartItems.length; i++) {
6
+ if (cartItems[i].product && cartItems[i].product.needsShipping) {
7
+ return true;
8
+ }
9
+ }
10
+ return false;
11
+ }
@@ -0,0 +1,51 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
5
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
6
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
+ import { faCheckCircle, faCreditCard, faMapMarkerAlt, faShoppingCart } from '@fortawesome/free-solid-svg-icons';
8
+ export var tabIdClearCart = -2;
9
+ export var tabIdItem = -1;
10
+ export var tabIdItems = 0;
11
+ export var tabIdShipment = 1;
12
+ export var tabIdCheckout = 2;
13
+ export var tabIdPaymentSuccess = 3;
14
+ export var tabItems = {
15
+ disabled: false,
16
+ icon: faShoppingCart,
17
+ tabId: tabIdItems,
18
+ name: 'Items'
19
+ };
20
+ export var tabShipment = {
21
+ disabled: true,
22
+ icon: faMapMarkerAlt,
23
+ tabId: tabIdShipment,
24
+ name: 'Address'
25
+ };
26
+ export var tabCheckout = {
27
+ disabled: true,
28
+ icon: faCreditCard,
29
+ tabId: tabIdCheckout,
30
+ name: 'Checkout'
31
+ };
32
+ var tabCheckoutSuccess = {
33
+ disabled: true,
34
+ icon: faCheckCircle,
35
+ tabId: tabIdPaymentSuccess,
36
+ name: 'Success'
37
+ };
38
+ export var initTabs = [tabItems, tabCheckout, tabCheckoutSuccess];
39
+ export var tabsWithShipment = [tabItems, tabShipment, tabCheckout, tabCheckoutSuccess];
40
+ export function setDisableTab(tab, disabled) {
41
+ return _objectSpread(_objectSpread({}, tab), {}, {
42
+ disabled: disabled
43
+ });
44
+ }
45
+ export function cartHasShippmentGroupsAndAllHaveSelectedGroups(cart) {
46
+ var shipmentGroups = cart.shipmentGroups ? cart.shipmentGroups : [];
47
+ var haveSelectedQuotes = shipmentGroups.map(function (g) {
48
+ return Boolean(g.selectedQuote);
49
+ });
50
+ return shipmentGroups.length && !haveSelectedQuotes.includes(false);
51
+ }
@@ -0,0 +1,65 @@
1
+ function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
2
+ function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
3
+ function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
4
+ function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
5
+ import { Merchi } from '@merchi/sdk';
6
+ var merchi = new Merchi();
7
+ export function makeUser(userJson, makeDirty) {
8
+ var user = new merchi.User();
9
+ return user.fromJson(userJson, {
10
+ makeDirty: makeDirty
11
+ });
12
+ }
13
+ export function primaryEmail(user) {
14
+ var _user$emailAddresses = user.emailAddresses,
15
+ emailAddresses = _user$emailAddresses === void 0 ? [] : _user$emailAddresses;
16
+ return emailAddresses[0] ? emailAddresses[0].emailAddress : '';
17
+ }
18
+ export function primaryPhone(user) {
19
+ var _user$phoneNumbers = user.phoneNumbers,
20
+ phoneNumbers = _user$phoneNumbers === void 0 ? [] : _user$phoneNumbers;
21
+ return phoneNumbers[0] ? phoneNumbers[0].internationalFormatNumber : '';
22
+ }
23
+ export function tryReturningCustomerEmail(_x) {
24
+ return _tryReturningCustomerEmail.apply(this, arguments);
25
+ }
26
+ function _tryReturningCustomerEmail() {
27
+ _tryReturningCustomerEmail = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(emailAddress) {
28
+ var merchi, query;
29
+ return _regenerator().w(function (_context) {
30
+ while (1) switch (_context.n) {
31
+ case 0:
32
+ merchi = new Merchi();
33
+ query = [];
34
+ query.push(['email_address', emailAddress]);
35
+ _context.n = 1;
36
+ return merchi.authenticatedFetch('/user-check-email/', {
37
+ method: 'POST',
38
+ query: query
39
+ });
40
+ case 1:
41
+ return _context.a(2, _context.v);
42
+ }
43
+ }, _callee);
44
+ }));
45
+ return _tryReturningCustomerEmail.apply(this, arguments);
46
+ }
47
+ export function createNewCustomer(_x2) {
48
+ return _createNewCustomer.apply(this, arguments);
49
+ }
50
+ function _createNewCustomer() {
51
+ _createNewCustomer = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(customerJson) {
52
+ var user;
53
+ return _regenerator().w(function (_context2) {
54
+ while (1) switch (_context2.n) {
55
+ case 0:
56
+ user = makeUser(customerJson, true);
57
+ return _context2.a(2, merchi.authenticatedFetch('/public_user_create/', {
58
+ body: user.toFormData(),
59
+ method: 'POST'
60
+ }));
61
+ }
62
+ }, _callee2);
63
+ }));
64
+ return _createNewCustomer.apply(this, arguments);
65
+ }
@@ -0,0 +1,58 @@
1
+ import { formatAreaSummary, localePrefersImperial } from './area';
2
+ export var FieldType = /*#__PURE__*/function (FieldType) {
3
+ FieldType[FieldType["TEXT_INPUT"] = 1] = "TEXT_INPUT";
4
+ FieldType[FieldType["SELECT"] = 2] = "SELECT";
5
+ FieldType[FieldType["FILE_UPLOAD"] = 3] = "FILE_UPLOAD";
6
+ FieldType[FieldType["TEXT_AREA"] = 4] = "TEXT_AREA";
7
+ FieldType[FieldType["NUMBER_INPUT"] = 5] = "NUMBER_INPUT";
8
+ FieldType[FieldType["CHECKBOX"] = 6] = "CHECKBOX";
9
+ FieldType[FieldType["RADIO"] = 7] = "RADIO";
10
+ FieldType[FieldType["FIELD_INSTRUCTIONS"] = 8] = "FIELD_INSTRUCTIONS";
11
+ FieldType[FieldType["IMAGE_SELECT"] = 9] = "IMAGE_SELECT";
12
+ FieldType[FieldType["COLOUR_PICKER"] = 10] = "COLOUR_PICKER";
13
+ FieldType[FieldType["COLOUR_SELECT"] = 11] = "COLOUR_SELECT";
14
+ FieldType[FieldType["TURNAROUND_TIME"] = 12] = "TURNAROUND_TIME";
15
+ FieldType[FieldType["COLOUR_EXTRACT"] = 13] = "COLOUR_EXTRACT";
16
+ FieldType[FieldType["AREA"] = 14] = "AREA";
17
+ return FieldType;
18
+ }({});
19
+ export function isSelectable(fieldType) {
20
+ return [FieldType.SELECT, FieldType.CHECKBOX, FieldType.RADIO, FieldType.IMAGE_SELECT, FieldType.COLOUR_SELECT, FieldType.COLOUR_EXTRACT].includes(fieldType);
21
+ }
22
+ function concatinatedSelectedOptionValues(variation) {
23
+ var selectableOptions = variation.selectableOptions,
24
+ value = variation.value;
25
+ var optionIds = value ? value.split(',') : [];
26
+ var optionIdsLength = optionIds.length - 1;
27
+ var option;
28
+ var i = 0;
29
+ var val = '';
30
+ for (i; i < optionIds.length; i++) {
31
+ option = selectableOptions.find(function (o) {
32
+ return String(o.optionId) === String(optionIds[i]);
33
+ });
34
+ val += option ? option.value : '';
35
+ if (optionIdsLength > i) {
36
+ val += ', ';
37
+ }
38
+ }
39
+ return val;
40
+ }
41
+ export function valueString(variation) {
42
+ var field = variation.variationField,
43
+ variationFiles = variation.variationFiles,
44
+ value = variation.value;
45
+ if (isSelectable(field.fieldType)) {
46
+ return concatinatedSelectedOptionValues(variation);
47
+ } else if ((field.fieldType === FieldType.FILE_UPLOAD || field.fieldType === FieldType.COLOUR_EXTRACT) && variationFiles) {
48
+ if (field.fieldType === FieldType.COLOUR_EXTRACT) {
49
+ var colours = concatinatedSelectedOptionValues(variation);
50
+ var fileLabel = variationFiles.length > 1 ? 'uploaded files' : 'uploaded file';
51
+ return colours ? "".concat(fileLabel, " (").concat(colours, ")") : fileLabel;
52
+ }
53
+ return variationFiles.length > 1 ? 'uploaded files' : 'uploaded file';
54
+ } else if (field.fieldType === FieldType.AREA) {
55
+ return formatAreaSummary(value, localePrefersImperial() ? 'imperial' : 'metric', field.areaUnit || 'mm') || value;
56
+ }
57
+ return value;
58
+ }
package/lib/Cart.d.ts ADDED
@@ -0,0 +1,9 @@
1
+ import * as React from 'react';
2
+ import { PropsCart } from './CartProvider';
3
+ import './styles/globals.css';
4
+ interface Props {
5
+ footer?: React.ReactElement;
6
+ }
7
+ export declare function CartComponents({ footer }: Props): React.JSX.Element;
8
+ export default function Cart(props: PropsCart): React.JSX.Element;
9
+ export {};
package/lib/Cart.js ADDED
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.CartComponents = CartComponents;
7
+ exports["default"] = Cart;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var React = _react;
10
+ var _CartAlert = _interopRequireDefault(require("./CartAlert"));
11
+ var _CartHeader = _interopRequireDefault(require("./CartHeader"));
12
+ var _CartNav = _interopRequireDefault(require("./tabs/CartNav"));
13
+ var _CartTotals = _interopRequireDefault(require("./CartTotals"));
14
+ var _CartProvider = _interopRequireWildcard(require("./CartProvider"));
15
+ var _buttons = require("./buttons");
16
+ var _components = require("./components");
17
+ var _LoadingTemplate = require("./components/LoadingTemplate");
18
+ var _PanelCartItems = _interopRequireDefault(require("./panels/PanelCartItems"));
19
+ var _PanelCartShipment = _interopRequireDefault(require("./panels/PanelCartShipment"));
20
+ var _PanelClearCart = _interopRequireDefault(require("./panels/PanelClearCart"));
21
+ var _PanelPaymentSuccess = _interopRequireDefault(require("./panels/PanelPaymentSuccess"));
22
+ var _tabs = require("./utilities/tabs");
23
+ require("./styles/globals.css");
24
+ var _jsxRuntime = require("react/jsx-runtime");
25
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
26
+ 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 _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
27
+ 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); }
28
+ 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; }
29
+ 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; }
30
+ 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; }
31
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
32
+ 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); } // Heavy panels: keep out of the initial cart chunk until their tab is opened.
33
+ var PanelClientCheckout = /*#__PURE__*/(0, _react.lazy)(function () {
34
+ return import('./panels/PanelClientCheckout');
35
+ });
36
+ var PanelEditCartItem = /*#__PURE__*/(0, _react.lazy)(function () {
37
+ return import('./panels/PanelEditCartItem');
38
+ });
39
+ function CartComponents(_ref) {
40
+ var footer = _ref.footer;
41
+ var _useCartContext = (0, _CartProvider.useCartContext)(),
42
+ activeTabIndex = _useCartContext.activeTabIndex,
43
+ cart = _useCartContext.cart,
44
+ cartSettingsInvalid = _useCartContext.cartSettingsInvalid,
45
+ fetchingCart = _useCartContext.fetchingCart,
46
+ hideHead = _useCartContext.hideHead;
47
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
48
+ children: [!hideHead && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CartHeader["default"], {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_CartAlert["default"], {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_CartNav["default"], {}), fetchingCart ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.LoadingTemplate, {}) : cartSettingsInvalid ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.CartPaymentSettingsInvalid, {}) : /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
49
+ className: "merchi-tab-pane",
50
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_PanelClearCart["default"], {}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_react.Suspense, {
51
+ fallback: /*#__PURE__*/(0, _jsxRuntime.jsx)(_LoadingTemplate.LoadingTemplateSm, {}),
52
+ children: [activeTabIndex === _tabs.tabIdItem && /*#__PURE__*/(0, _jsxRuntime.jsx)(PanelEditCartItem, {
53
+ cart: cart
54
+ }), activeTabIndex === _tabs.tabIdCheckout && /*#__PURE__*/(0, _jsxRuntime.jsx)(PanelClientCheckout, {})]
55
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_PanelCartItems["default"], {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_PanelCartShipment["default"], {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_PanelPaymentSuccess["default"], {}), ![_tabs.tabIdItem, _tabs.tabIdClearCart, _tabs.tabIdPaymentSuccess].includes(activeTabIndex) && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
56
+ children: [activeTabIndex !== _tabs.tabIdCheckout && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CartTotals["default"], {}), footer || /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.CartFooter, {
57
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_buttons.ButtonBack, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_buttons.ButtonClearCart, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_buttons.ButtonNextDynamic, {})]
58
+ })]
59
+ })]
60
+ })]
61
+ });
62
+ }
63
+ function Cart(props) {
64
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_CartProvider["default"], _objectSpread(_objectSpread({}, props), {}, {
65
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(CartComponents, {
66
+ footer: props.footer
67
+ })
68
+ }));
69
+ }
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ declare function CartAlert(): import("react").JSX.Element;
3
+ export default CartAlert;
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+ var _reactFontawesome = require("@fortawesome/react-fontawesome");
8
+ var _freeSolidSvgIcons = require("@fortawesome/free-solid-svg-icons");
9
+ var _components = require("./components");
10
+ var _CartProvider = require("./CartProvider");
11
+ var _jsxRuntime = require("react/jsx-runtime");
12
+ 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); }
13
+ 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; }
14
+ 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; }
15
+ 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; }
16
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
17
+ 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); }
18
+ function CartAlert() {
19
+ var _useCartContext = (0, _CartProvider.useCartContext)(),
20
+ alert = _useCartContext.alert,
21
+ classNameBtnClose = _useCartContext.classNameBtnClose,
22
+ setAlert = _useCartContext.setAlert;
23
+ var icon = alert.icon,
24
+ message = alert.message,
25
+ show = alert.show,
26
+ title = alert.title;
27
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
28
+ children: show && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.Alert, {
29
+ alertType: alert.type,
30
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("h5", {
31
+ children: [icon && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFontawesome.FontAwesomeIcon, {
32
+ icon: icon
33
+ }), " ", /*#__PURE__*/(0, _jsxRuntime.jsx)("strong", {
34
+ children: title
35
+ }), " ", message]
36
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
37
+ type: "button",
38
+ className: classNameBtnClose,
39
+ "data-bs-dismiss": "alert",
40
+ "aria-label": "Close",
41
+ onClick: function onClick() {
42
+ return setAlert(_objectSpread(_objectSpread({}, alert), {}, {
43
+ show: false
44
+ }));
45
+ },
46
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFontawesome.FontAwesomeIcon, {
47
+ icon: _freeSolidSvgIcons.faTimes
48
+ })
49
+ })]
50
+ })
51
+ });
52
+ }
53
+ var _default = exports["default"] = CartAlert;
@@ -0,0 +1,3 @@
1
+ import * as React from 'react';
2
+ declare function CartHeader(): React.JSX.Element;
3
+ export default CartHeader;
@@ -0,0 +1,37 @@
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["default"] = void 0;
8
+ var React = _interopRequireWildcard(require("react"));
9
+ var _reactFontawesome = require("@fortawesome/react-fontawesome");
10
+ var _freeSolidSvgIcons = require("@fortawesome/free-solid-svg-icons");
11
+ var _CartProvider = require("./CartProvider");
12
+ var _jsxRuntime = require("react/jsx-runtime");
13
+ 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 _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
14
+ function CartHeader() {
15
+ var _useCartContext = (0, _CartProvider.useCartContext)(),
16
+ classNameCartHeader = _useCartContext.classNameCartHeader,
17
+ classNameBtnClose = _useCartContext.classNameBtnClose,
18
+ onClickClose = _useCartContext.onClickClose,
19
+ toggleCartModal = _useCartContext.toggleCartModal;
20
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
21
+ className: classNameCartHeader,
22
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("h5", {
23
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFontawesome.FontAwesomeIcon, {
24
+ icon: _freeSolidSvgIcons.faShoppingCart
25
+ }), ' ', "Shopping cart"]
26
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
27
+ type: "button",
28
+ className: classNameBtnClose,
29
+ "aria-label": "Close",
30
+ onClick: onClickClose || toggleCartModal,
31
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFontawesome.FontAwesomeIcon, {
32
+ icon: _freeSolidSvgIcons.faTimes
33
+ })
34
+ })]
35
+ });
36
+ }
37
+ var _default = exports["default"] = CartHeader;