@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,195 @@
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 _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
3
+ 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."); }
4
+ 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; } }
5
+ 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; }
6
+ 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; } }
7
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
8
+ 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 }; })(); }
9
+ 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); }
10
+ 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); }
11
+ 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); }); }; }
12
+ 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; }
13
+ 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; }
14
+ 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; }
15
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
16
+ 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); }
17
+ import { useForm } from "react-hook-form";
18
+ import InputsAddress from "./InputsAddress";
19
+ import { CheckoutContainer, InnerContainer } from "../components/containers";
20
+ import { Title } from "../components";
21
+ import { shipmentFormId } from "../utilities/shipment";
22
+ import { faMapMarkerAlt } from "@fortawesome/free-solid-svg-icons";
23
+ import { useCartContext } from "../CartProvider";
24
+ import { useState } from "react";
25
+ import { getCartCookieToken } from "../utilities/cookie";
26
+ import { makeAddress, sanitizeAddressFields } from "../utilities/address";
27
+ import { makeCart } from "../utilities/cart";
28
+ import { cartEmbed } from "../utilities/helpers";
29
+ import { tabIdCheckout } from "../utilities/tabs";
30
+ import { addressHasContent, getSavedCheckoutAddress, saveCheckoutAddress } from "../utilities/local_storage";
31
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
32
+ var AddressGeoSuggestInput = function AddressGeoSuggestInput(props) {
33
+ return /*#__PURE__*/_jsx(InputsAddress, _objectSpread(_objectSpread({}, props), {}, {
34
+ name: "receiverAddress"
35
+ }));
36
+ };
37
+ function FormShipmentAddressAndNotes(_ref) {
38
+ var _ref$address = _ref.address,
39
+ address = _ref$address === void 0 ? {} : _ref$address,
40
+ formId = _ref.formId,
41
+ _ref$notes = _ref.notes,
42
+ notes = _ref$notes === void 0 ? "" : _ref$notes,
43
+ _ref$showIcon = _ref.showIcon,
44
+ showIcon = _ref$showIcon === void 0 ? true : _ref$showIcon,
45
+ _ref$deliveryNomencla = _ref.deliveryNomenclature,
46
+ deliveryNomenclature = _ref$deliveryNomencla === void 0 ? false : _ref$deliveryNomencla,
47
+ _ref$showHeadings = _ref.showHeadings,
48
+ showHeadings = _ref$showHeadings === void 0 ? true : _ref$showHeadings,
49
+ setCartShipmentAddress = _ref.setCartShipmentAddress;
50
+ var _useCartContext = useCartContext(),
51
+ classNameCartFormGroup = _useCartContext.classNameCartFormGroup,
52
+ updateCartShipmentAddress = _useCartContext.updateCartShipmentAddress;
53
+ var hookForm = useForm({
54
+ defaultValues: {
55
+ receiverAddress: address,
56
+ receiverNotes: notes
57
+ }
58
+ });
59
+ var getValues = hookForm.getValues,
60
+ handleSubmit = hookForm.handleSubmit,
61
+ register = hookForm.register,
62
+ reset = hookForm.reset;
63
+ function onSubmit() {
64
+ return _onSubmit.apply(this, arguments);
65
+ }
66
+ function _onSubmit() {
67
+ _onSubmit = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
68
+ return _regenerator().w(function (_context) {
69
+ while (1) switch (_context.n) {
70
+ case 0:
71
+ _context.n = 1;
72
+ return setCartShipmentAddress(getValues());
73
+ case 1:
74
+ return _context.a(2);
75
+ }
76
+ }, _callee);
77
+ }));
78
+ return _onSubmit.apply(this, arguments);
79
+ }
80
+ function updateAddress(addr) {
81
+ var oldAddresses = getValues();
82
+ var newAddress = addr ? _objectSpread({}, addr) : {};
83
+ oldAddresses["receiverAddress"] = newAddress;
84
+ reset(oldAddresses);
85
+ updateCartShipmentAddress(newAddress);
86
+ }
87
+ return /*#__PURE__*/_jsxs("form", {
88
+ id: formId,
89
+ onSubmit: handleSubmit(onSubmit),
90
+ children: [showHeadings && /*#__PURE__*/_jsx(CheckoutContainer, {
91
+ children: /*#__PURE__*/_jsx(InnerContainer, {
92
+ paddingBottom: "0px",
93
+ children: /*#__PURE__*/_jsx(Title, {
94
+ icon: showIcon ? faMapMarkerAlt : null,
95
+ title: "Delivery / billing address"
96
+ })
97
+ })
98
+ }), /*#__PURE__*/_jsx(AddressGeoSuggestInput, {
99
+ defaultAddress: address,
100
+ hookForm: hookForm,
101
+ labelGeoSuggest: "Enter your ".concat(deliveryNomenclature ? "delivery" : "shipping", " address"),
102
+ name: "receiverAddress",
103
+ updateAddress: updateAddress
104
+ }), /*#__PURE__*/_jsxs("div", {
105
+ className: classNameCartFormGroup,
106
+ children: [/*#__PURE__*/_jsxs("label", {
107
+ children: [deliveryNomenclature ? "Delivery" : "Shipment", " notes"]
108
+ }), /*#__PURE__*/_jsx("textarea", _objectSpread({
109
+ className: "form-control input",
110
+ defaultValue: notes,
111
+ placeholder: "Example - Leave at top of stairs",
112
+ rows: 4
113
+ }, register("receiverNotes")))]
114
+ })]
115
+ });
116
+ }
117
+ export function ActiveFormShipmentAddressAndNotes() {
118
+ var _useCartContext2 = useCartContext(),
119
+ alertError = _useCartContext2.alertError,
120
+ domainId = _useCartContext2.domainId,
121
+ cart = _useCartContext2.cart,
122
+ setCart = _useCartContext2.setCart,
123
+ setLoadingTotals = _useCartContext2.setLoadingTotals,
124
+ setActiveTabAndEditDisabled = _useCartContext2.setActiveTabAndEditDisabled;
125
+ var saved = getSavedCheckoutAddress(domainId);
126
+ var cartAddress = cart === null || cart === void 0 ? void 0 : cart.receiverAddress;
127
+ var receiverAddress = addressHasContent(cartAddress) ? cartAddress : saved.address || {};
128
+ var receiverNotes = (cart === null || cart === void 0 ? void 0 : cart.receiverNotes) || saved.receiverNotes || "";
129
+ var _useState = useState(false),
130
+ _useState2 = _slicedToArray(_useState, 2),
131
+ addressFieldsOpen = _useState2[0],
132
+ setAddressFieldsOpen = _useState2[1];
133
+ function saveCartShipmentAddressAndGoToNextTab(_x) {
134
+ return _saveCartShipmentAddressAndGoToNextTab.apply(this, arguments);
135
+ }
136
+ function _saveCartShipmentAddressAndGoToNextTab() {
137
+ _saveCartShipmentAddressAndGoToNextTab = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(values) {
138
+ var address, receiverNotes, cartToken, addressFields, _receiverAddress, cartEnt, _t;
139
+ return _regenerator().w(function (_context2) {
140
+ while (1) switch (_context2.p = _context2.n) {
141
+ case 0:
142
+ address = values.receiverAddress, receiverNotes = values.receiverNotes;
143
+ setLoadingTotals(true);
144
+ _context2.p = 1;
145
+ _context2.n = 2;
146
+ return getCartCookieToken(domainId);
147
+ case 2:
148
+ cartToken = _context2.v;
149
+ // Never PATCH an existing Address via cart token — create a fresh embed.
150
+ addressFields = sanitizeAddressFields(address);
151
+ _receiverAddress = makeAddress(addressFields, true);
152
+ cartEnt = makeCart(cart, false, cartToken);
153
+ cartEnt.receiverAddress = _receiverAddress;
154
+ cartEnt.receiverNotes = receiverNotes;
155
+ _context2.n = 3;
156
+ return cartEnt.save({
157
+ embed: cartEmbed
158
+ });
159
+ case 3:
160
+ saveCheckoutAddress(domainId, addressFields, receiverNotes);
161
+ setCart(cartEnt.toJson());
162
+ setActiveTabAndEditDisabled({
163
+ tabId: tabIdCheckout,
164
+ tabIndexToSet: 2,
165
+ disabled: false
166
+ });
167
+ _context2.n = 5;
168
+ break;
169
+ case 4:
170
+ _context2.p = 4;
171
+ _t = _context2.v;
172
+ alertError(_t.errorMessage || _t.message || "Unable to set shipment address.");
173
+ case 5:
174
+ _context2.p = 5;
175
+ setLoadingTotals(false);
176
+ return _context2.f(5);
177
+ case 6:
178
+ return _context2.a(2);
179
+ }
180
+ }, _callee2, null, [[1, 4, 5, 6]]);
181
+ }));
182
+ return _saveCartShipmentAddressAndGoToNextTab.apply(this, arguments);
183
+ }
184
+ return /*#__PURE__*/_jsx(FormShipmentAddressAndNotes, {
185
+ address: receiverAddress,
186
+ addressFieldsOpen: addressFieldsOpen,
187
+ formId: shipmentFormId,
188
+ notes: receiverNotes,
189
+ setCartShipmentAddress: saveCartShipmentAddressAndGoToNextTab,
190
+ toggleAddressFields: function toggleAddressFields() {
191
+ return setAddressFieldsOpen(!addressFieldsOpen);
192
+ }
193
+ });
194
+ }
195
+ export default FormShipmentAddressAndNotes;
@@ -0,0 +1,19 @@
1
+ import * as React from 'react';
2
+ import { Suspense, lazy } from 'react';
3
+ import { useCartContext } from '../CartProvider';
4
+ import { LoadingTemplateSm } from '../components/LoadingTemplate';
5
+ import { jsx as _jsx } from "react/jsx-runtime";
6
+ var SquareCard = /*#__PURE__*/lazy(function () {
7
+ return import('../square/SquareCard');
8
+ });
9
+ function FormSquarePayment() {
10
+ var _useCartContext = useCartContext(),
11
+ cart = _useCartContext.cart;
12
+ var company = cart && cart.domain && cart.domain.company;
13
+ if (!(company !== null && company !== void 0 && company.acceptSquare)) return null;
14
+ return /*#__PURE__*/_jsx(Suspense, {
15
+ fallback: /*#__PURE__*/_jsx(LoadingTemplateSm, {}),
16
+ children: /*#__PURE__*/_jsx(SquareCard, {})
17
+ });
18
+ }
19
+ export default FormSquarePayment;
@@ -0,0 +1,19 @@
1
+ import * as React from 'react';
2
+ import { Suspense, lazy } from 'react';
3
+ import { useCartContext } from '../CartProvider';
4
+ import { LoadingTemplateSm } from '../components/LoadingTemplate';
5
+ import { jsx as _jsx } from "react/jsx-runtime";
6
+ var StripeCardForm = /*#__PURE__*/lazy(function () {
7
+ return import('../stripe/StripeCardForm');
8
+ });
9
+ function FormStripePayment() {
10
+ var _useCartContext = useCartContext(),
11
+ cart = _useCartContext.cart;
12
+ var company = cart && cart.domain && cart.domain.company;
13
+ if (!company) return null;
14
+ return /*#__PURE__*/_jsx(Suspense, {
15
+ fallback: /*#__PURE__*/_jsx(LoadingTemplateSm, {}),
16
+ children: /*#__PURE__*/_jsx(StripeCardForm, {})
17
+ });
18
+ }
19
+ export default FormStripePayment;
@@ -0,0 +1,253 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
3
+ function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
4
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
5
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
6
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
7
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
8
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
9
+ function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
10
+ function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
11
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
12
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
13
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
14
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
15
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
16
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
17
+ import * as React from 'react';
18
+ import { useForm } from 'react-hook-form';
19
+ import InputAcceptUserTermsAndConditions from './InputAcceptUserTermsAndConditions';
20
+ import { Button } from '../buttons';
21
+ import InputSelect from './InputSelect';
22
+ import InputText from './InputText';
23
+ import { useCartContext } from '../CartProvider';
24
+ import { cartEmbed, phoneOptions } from '../utilities/helpers';
25
+ import InputError from './InputError';
26
+ import { createNewCustomer, makeUser } from '../utilities/user';
27
+ import { makeCart } from '../utilities/cart';
28
+ import { getCartCookieToken } from '../utilities/cookie';
29
+ import { getSavedCheckoutCustomer, saveCheckoutCustomer } from '../utilities/local_storage';
30
+ import { emailValidation } from './FormNewCustomer';
31
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
32
+ function FormWhatsappCustomer() {
33
+ var _savedCustomer$phoneN, _savedCustomer$phoneN2;
34
+ var _useCartContext = useCartContext(),
35
+ cart = _useCartContext.cart,
36
+ classNameBtnPrimary = _useCartContext.classNameBtnPrimary,
37
+ classNameCartFormGroup = _useCartContext.classNameCartFormGroup,
38
+ classNameCartFormGroupButton = _useCartContext.classNameCartFormGroupButton,
39
+ domainId = _useCartContext.domainId,
40
+ setCart = _useCartContext.setCart,
41
+ setCartClient = _useCartContext.setCartClient,
42
+ showUserTermsAndConditions = _useCartContext.showUserTermsAndConditions;
43
+ var _React$useState = React.useState(false),
44
+ _React$useState2 = _slicedToArray(_React$useState, 2),
45
+ loading = _React$useState2[0],
46
+ setLoading = _React$useState2[1];
47
+ var _React$useState3 = React.useState({}),
48
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
49
+ error = _React$useState4[0],
50
+ setError = _React$useState4[1];
51
+ var _React$useState5 = React.useState(true),
52
+ _React$useState6 = _slicedToArray(_React$useState5, 2),
53
+ acceptConditions = _React$useState6[0],
54
+ setAcceptConditions = _React$useState6[1];
55
+ var savedCustomer = getSavedCheckoutCustomer(domainId);
56
+ function actionWhatsappCheckout(_x) {
57
+ return _actionWhatsappCheckout.apply(this, arguments);
58
+ }
59
+ function _actionWhatsappCheckout() {
60
+ _actionWhatsappCheckout = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(customerJson) {
61
+ var _cartJson$client, _customerJson$emailAd, r, user, cartToken, clientEnt, cartEnt, _cart, cartJson, _t;
62
+ return _regenerator().w(function (_context) {
63
+ while (1) switch (_context.p = _context.n) {
64
+ case 0:
65
+ setError({});
66
+ setLoading(true);
67
+ _context.p = 1;
68
+ _context.n = 2;
69
+ return createNewCustomer(_objectSpread(_objectSpread({}, customerJson), {}, {
70
+ registeredUnderDomains: [{
71
+ id: domainId
72
+ }]
73
+ }));
74
+ case 2:
75
+ r = _context.v;
76
+ user = r.user;
77
+ if (user !== null && user !== void 0 && user.id) {
78
+ _context.n = 3;
79
+ break;
80
+ }
81
+ throw new Error('Unable to create customer.');
82
+ case 3:
83
+ _context.n = 4;
84
+ return getCartCookieToken(domainId);
85
+ case 4:
86
+ cartToken = _context.v;
87
+ clientEnt = makeUser({
88
+ id: user.id
89
+ }, true);
90
+ cartEnt = makeCart(_objectSpread({}, cart), false, cartToken);
91
+ cartEnt.sendWhatsapp = true;
92
+ cartEnt.client = clientEnt;
93
+ _context.n = 5;
94
+ return cartEnt.save({
95
+ embed: cartEmbed
96
+ });
97
+ case 5:
98
+ _cart = _context.v;
99
+ cartJson = _cart.toJson();
100
+ if (cartJson !== null && cartJson !== void 0 && (_cartJson$client = cartJson.client) !== null && _cartJson$client !== void 0 && _cartJson$client.id) {
101
+ _context.n = 6;
102
+ break;
103
+ }
104
+ throw new Error('Unable to attach client to cart.');
105
+ case 6:
106
+ saveCheckoutCustomer(domainId, {
107
+ id: user.id,
108
+ name: customerJson.name,
109
+ emailAddress: (_customerJson$emailAd = customerJson.emailAddresses) === null || _customerJson$emailAd === void 0 || (_customerJson$emailAd = _customerJson$emailAd[0]) === null || _customerJson$emailAd === void 0 ? void 0 : _customerJson$emailAd.emailAddress,
110
+ phoneNumbers: customerJson.phoneNumbers
111
+ });
112
+ setCartClient(cartJson.client);
113
+ setCart(cartJson);
114
+ _context.n = 8;
115
+ break;
116
+ case 7:
117
+ _context.p = 7;
118
+ _t = _context.v;
119
+ setError({
120
+ message: _t.errorMessage || _t.message || 'Unable to attach client to cart.'
121
+ });
122
+ case 8:
123
+ _context.p = 8;
124
+ setLoading(false);
125
+ return _context.f(8);
126
+ case 9:
127
+ return _context.a(2);
128
+ }
129
+ }, _callee, null, [[1, 7, 8, 9]]);
130
+ }));
131
+ return _actionWhatsappCheckout.apply(this, arguments);
132
+ }
133
+ var _useForm = useForm({
134
+ defaultValues: {
135
+ emailAddresses: [{
136
+ emailAddress: (savedCustomer === null || savedCustomer === void 0 ? void 0 : savedCustomer.emailAddress) || ''
137
+ }],
138
+ name: (savedCustomer === null || savedCustomer === void 0 ? void 0 : savedCustomer.name) || '',
139
+ phoneNumbers: [{
140
+ code: (savedCustomer === null || savedCustomer === void 0 || (_savedCustomer$phoneN = savedCustomer.phoneNumbers) === null || _savedCustomer$phoneN === void 0 || (_savedCustomer$phoneN = _savedCustomer$phoneN[0]) === null || _savedCustomer$phoneN === void 0 ? void 0 : _savedCustomer$phoneN.code) || 'AU',
141
+ number: (savedCustomer === null || savedCustomer === void 0 || (_savedCustomer$phoneN2 = savedCustomer.phoneNumbers) === null || _savedCustomer$phoneN2 === void 0 || (_savedCustomer$phoneN2 = _savedCustomer$phoneN2[0]) === null || _savedCustomer$phoneN2 === void 0 ? void 0 : _savedCustomer$phoneN2.number) || ''
142
+ }]
143
+ }
144
+ }),
145
+ control = _useForm.control,
146
+ handleSubmit = _useForm.handleSubmit,
147
+ watch = _useForm.watch;
148
+ function onSubmit(_x2) {
149
+ return _onSubmit.apply(this, arguments);
150
+ }
151
+ function _onSubmit() {
152
+ _onSubmit = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(values) {
153
+ return _regenerator().w(function (_context2) {
154
+ while (1) switch (_context2.n) {
155
+ case 0:
156
+ if (!(showUserTermsAndConditions && !acceptConditions)) {
157
+ _context2.n = 1;
158
+ break;
159
+ }
160
+ return _context2.a(2);
161
+ case 1:
162
+ _context2.n = 2;
163
+ return actionWhatsappCheckout(_objectSpread({}, values));
164
+ case 2:
165
+ return _context2.a(2);
166
+ }
167
+ }, _callee2);
168
+ }));
169
+ return _onSubmit.apply(this, arguments);
170
+ }
171
+ function validatePhone() {
172
+ var phone = watch('phoneNumbers.0.number');
173
+ if (!phone) return 'Phone number is required for WhatsApp checkout';
174
+ if (isNaN(phone)) return 'Phone number must be a number';
175
+ return true;
176
+ }
177
+ return /*#__PURE__*/_jsxs("form", {
178
+ onSubmit: handleSubmit(onSubmit),
179
+ children: [/*#__PURE__*/_jsx(InputText, {
180
+ control: control,
181
+ label: "Full Name",
182
+ name: "name",
183
+ placeholder: "John Smith",
184
+ rules: {
185
+ required: 'Full name is required.'
186
+ }
187
+ }), /*#__PURE__*/_jsx(InputText, {
188
+ control: control,
189
+ label: "Email",
190
+ name: "emailAddresses[0].emailAddress",
191
+ placeholder: "john@example.com",
192
+ rules: {
193
+ required: 'Email is required.',
194
+ validate: emailValidation
195
+ }
196
+ }), /*#__PURE__*/_jsxs("div", {
197
+ style: {
198
+ display: 'flex',
199
+ gap: '1rem'
200
+ },
201
+ children: [/*#__PURE__*/_jsx("div", {
202
+ style: {
203
+ flexGrow: 1
204
+ },
205
+ children: /*#__PURE__*/_jsx(InputSelect, {
206
+ control: control,
207
+ label: "Country Code",
208
+ name: "phoneNumbers[0].code",
209
+ options: phoneOptions
210
+ })
211
+ }), /*#__PURE__*/_jsx("div", {
212
+ style: {
213
+ flexGrow: 1
214
+ },
215
+ children: /*#__PURE__*/_jsx(InputText, {
216
+ control: control,
217
+ label: "WhatsApp Number",
218
+ name: "phoneNumbers[0].number",
219
+ placeholder: "0400 000 000",
220
+ rules: {
221
+ required: 'WhatsApp number is required',
222
+ validate: validatePhone
223
+ },
224
+ type: "phone"
225
+ })
226
+ })]
227
+ }), /*#__PURE__*/_jsx("small", {
228
+ className: classNameCartFormGroup,
229
+ children: "By continuing, you agree to receive order updates via WhatsApp at this number."
230
+ }), showUserTermsAndConditions && /*#__PURE__*/_jsxs("div", {
231
+ className: classNameCartFormGroup,
232
+ children: [/*#__PURE__*/_jsx(InputAcceptUserTermsAndConditions, {
233
+ isChecked: acceptConditions,
234
+ setIsChecked: setAcceptConditions
235
+ }), !acceptConditions && /*#__PURE__*/_jsx(InputError, {
236
+ error: {
237
+ message: 'You must agree to the user profile terms and conditions to proceed.'
238
+ }
239
+ })]
240
+ }), /*#__PURE__*/_jsx(InputError, {
241
+ error: error || {}
242
+ }), /*#__PURE__*/_jsx("div", {
243
+ className: classNameCartFormGroupButton,
244
+ children: /*#__PURE__*/_jsx(Button, {
245
+ className: classNameBtnPrimary,
246
+ disabled: loading,
247
+ type: "submit",
248
+ children: loading ? 'Loading...' : 'Continue with WhatsApp'
249
+ })
250
+ })]
251
+ });
252
+ }
253
+ export default FormWhatsappCustomer;
@@ -0,0 +1,35 @@
1
+ import { useCartContext } from '../CartProvider';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ function InputAcceptUserTermsAndConditions(_ref) {
4
+ var isChecked = _ref.isChecked,
5
+ setIsChecked = _ref.setIsChecked;
6
+ var _useCartContext = useCartContext(),
7
+ classNameCartFormCheckbox = _useCartContext.classNameCartFormCheckbox,
8
+ classNameCartFormGroupCheckbox = _useCartContext.classNameCartFormGroupCheckbox,
9
+ classNameCartFormLabelCheckbox = _useCartContext.classNameCartFormLabelCheckbox;
10
+ return /*#__PURE__*/_jsx("div", {
11
+ onClick: function onClick() {
12
+ return setIsChecked(!isChecked);
13
+ },
14
+ className: classNameCartFormGroupCheckbox,
15
+ children: /*#__PURE__*/_jsxs("label", {
16
+ className: classNameCartFormLabelCheckbox,
17
+ children: [/*#__PURE__*/_jsx("input", {
18
+ className: classNameCartFormCheckbox,
19
+ defaultChecked: isChecked,
20
+ type: "checkbox"
21
+ }), ' ', /*#__PURE__*/_jsxs("span", {
22
+ style: {
23
+ fontSize: '14px'
24
+ },
25
+ className: "text-muted",
26
+ children: ["I agree to the user profile", ' ', /*#__PURE__*/_jsx("a", {
27
+ href: "/terms-and-conditions/user/",
28
+ target: "_blank",
29
+ children: "terms & conditions"
30
+ }), "."]
31
+ })]
32
+ })
33
+ });
34
+ }
35
+ export default InputAcceptUserTermsAndConditions;
@@ -0,0 +1,16 @@
1
+ import * as React from 'react';
2
+ import { useCartContext } from '../CartProvider';
3
+ import { jsx as _jsx } from "react/jsx-runtime";
4
+ var InputError = function InputError(_ref) {
5
+ var error = _ref.error;
6
+ var _useCartContext = useCartContext(),
7
+ classNameCartInputError = _useCartContext.classNameCartInputError;
8
+ if (!error || !error.message) {
9
+ return null;
10
+ }
11
+ return /*#__PURE__*/_jsx("div", {
12
+ className: classNameCartInputError,
13
+ children: error.message
14
+ });
15
+ };
16
+ export default InputError;
@@ -0,0 +1,48 @@
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 { v4 as uuidv4 } from 'uuid';
8
+ import { useController } from 'react-hook-form';
9
+ import InputError from './InputError';
10
+ import { useCartContext } from '../CartProvider';
11
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
+ function InputSelect(_ref) {
13
+ var control = _ref.control,
14
+ label = _ref.label,
15
+ name = _ref.name,
16
+ options = _ref.options,
17
+ rules = _ref.rules;
18
+ var _useCartContext = useCartContext(),
19
+ classNameCartFormGroup = _useCartContext.classNameCartFormGroup,
20
+ classNameCartFormInput = _useCartContext.classNameCartFormInput;
21
+ var _useController = useController({
22
+ name: name,
23
+ control: control,
24
+ rules: rules,
25
+ defaultValue: ''
26
+ }),
27
+ field = _useController.field,
28
+ _useController$fieldS = _useController.fieldState,
29
+ error = _useController$fieldS.error,
30
+ invalid = _useController$fieldS.invalid;
31
+ return /*#__PURE__*/_jsxs("div", {
32
+ className: classNameCartFormGroup,
33
+ children: [label && /*#__PURE__*/_jsx("label", {
34
+ children: label
35
+ }), /*#__PURE__*/_jsx("select", _objectSpread(_objectSpread({}, field), {}, {
36
+ className: "".concat(classNameCartFormInput, " ").concat(invalid && ' is-invalid'),
37
+ children: options.map(function (option, index) {
38
+ return /*#__PURE__*/_jsx("option", {
39
+ value: option.value,
40
+ children: option.label
41
+ }, index + uuidv4());
42
+ })
43
+ })), /*#__PURE__*/_jsx(InputError, {
44
+ error: error
45
+ })]
46
+ });
47
+ }
48
+ export default InputSelect;