@dropins/storefront-checkout 0.1.0-alpha33 → 0.1.0-alpha34

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 (603) hide show
  1. package/__generated__/types.d.ts +28959 -0
  2. package/__generated__/types.d.ts.map +1 -0
  3. package/api/errors/errors.d.ts +27 -0
  4. package/api/errors/errors.d.ts.map +1 -0
  5. package/api/errors/index.d.ts +2 -0
  6. package/api/errors/index.d.ts.map +1 -0
  7. package/api/estimateShippingMethods/estimateShippingMethods.d.ts +14 -0
  8. package/api/estimateShippingMethods/estimateShippingMethods.d.ts.map +1 -0
  9. package/api/estimateShippingMethods/fixtures.d.ts +8 -0
  10. package/api/estimateShippingMethods/fixtures.d.ts.map +1 -0
  11. package/api/estimateShippingMethods/graphql/estimateShippingMethods.graphql.d.ts +2 -0
  12. package/api/estimateShippingMethods/graphql/estimateShippingMethods.graphql.d.ts.map +1 -0
  13. package/api/estimateShippingMethods/graphql/index.d.ts +2 -0
  14. package/api/estimateShippingMethods/graphql/index.d.ts.map +1 -0
  15. package/api/estimateShippingMethods/index.d.ts +2 -0
  16. package/api/estimateShippingMethods/index.d.ts.map +1 -0
  17. package/api/fetch-graphql/fetch-graphql.d.ts +8 -0
  18. package/api/fetch-graphql/fetch-graphql.d.ts.map +1 -0
  19. package/api/fetch-graphql/index.d.ts +2 -0
  20. package/api/fetch-graphql/index.d.ts.map +1 -0
  21. package/api/fetchAddressFormFields/fetchAddressFormFields.d.ts +4 -0
  22. package/api/fetchAddressFormFields/fetchAddressFormFields.d.ts.map +1 -0
  23. package/api/fetchAddressFormFields/fixtures.d.ts +5 -0
  24. package/api/fetchAddressFormFields/fixtures.d.ts.map +1 -0
  25. package/api/fetchAddressFormFields/graphql/fetchAddressFormFields.graphql.d.ts +2 -0
  26. package/api/fetchAddressFormFields/graphql/fetchAddressFormFields.graphql.d.ts.map +1 -0
  27. package/api/fetchAddressFormFields/index.d.ts +3 -0
  28. package/api/fetchAddressFormFields/index.d.ts.map +1 -0
  29. package/api/getCart/fixtures.d.ts +12 -0
  30. package/api/getCart/fixtures.d.ts.map +1 -0
  31. package/api/getCart/getCart.d.ts +2 -0
  32. package/api/getCart/getCart.d.ts.map +1 -0
  33. package/api/getCart/graphql/getCart.graphql.d.ts +5 -0
  34. package/api/getCart/graphql/getCart.graphql.d.ts.map +1 -0
  35. package/api/getCart/graphql/index.d.ts +2 -0
  36. package/api/getCart/graphql/index.d.ts.map +1 -0
  37. package/api/getCart/index.d.ts +2 -0
  38. package/api/getCart/index.d.ts.map +1 -0
  39. package/api/getCountries/fixtures.d.ts +6 -0
  40. package/api/getCountries/fixtures.d.ts.map +1 -0
  41. package/api/getCountries/getCountries.d.ts +4 -0
  42. package/api/getCountries/getCountries.d.ts.map +1 -0
  43. package/api/getCountries/graphql/getCountries.graphql.d.ts +2 -0
  44. package/api/getCountries/graphql/getCountries.graphql.d.ts.map +1 -0
  45. package/api/getCountries/index.d.ts +2 -0
  46. package/api/getCountries/index.d.ts.map +1 -0
  47. package/api/getCustomer/getCustomer.d.ts +4 -0
  48. package/api/getCustomer/getCustomer.d.ts.map +1 -0
  49. package/api/getCustomer/graphql/getCustomer.graphql.d.ts +2 -0
  50. package/api/getCustomer/graphql/getCustomer.graphql.d.ts.map +1 -0
  51. package/api/getCustomer/graphql/index.d.ts +2 -0
  52. package/api/getCustomer/graphql/index.d.ts.map +1 -0
  53. package/api/getCustomer/index.d.ts +2 -0
  54. package/api/getCustomer/index.d.ts.map +1 -0
  55. package/api/getRegions/fixtures.d.ts +5 -0
  56. package/api/getRegions/fixtures.d.ts.map +1 -0
  57. package/api/getRegions/getRegions.d.ts +5 -0
  58. package/api/getRegions/getRegions.d.ts.map +1 -0
  59. package/api/getRegions/graphql/getRegions.graphql.d.ts +2 -0
  60. package/api/getRegions/graphql/getRegions.graphql.d.ts.map +1 -0
  61. package/api/getRegions/index.d.ts +2 -0
  62. package/api/getRegions/index.d.ts.map +1 -0
  63. package/api/getStockStatus/getStockStatus.d.ts +4 -0
  64. package/api/getStockStatus/getStockStatus.d.ts.map +1 -0
  65. package/api/getStockStatus/graphql/getStockStatus.graphql.d.ts +4 -0
  66. package/api/getStockStatus/graphql/getStockStatus.graphql.d.ts.map +1 -0
  67. package/api/getStockStatus/index.d.ts +2 -0
  68. package/api/getStockStatus/index.d.ts.map +1 -0
  69. package/api/getStoreConfig/getStoreConfig.d.ts +4 -0
  70. package/api/getStoreConfig/getStoreConfig.d.ts.map +1 -0
  71. package/api/getStoreConfig/graphql/getStoreConfig.graphql.d.ts +2 -0
  72. package/api/getStoreConfig/graphql/getStoreConfig.graphql.d.ts.map +1 -0
  73. package/api/getStoreConfig/index.d.ts +2 -0
  74. package/api/getStoreConfig/index.d.ts.map +1 -0
  75. package/api/index.d.ts +20 -0
  76. package/api/index.d.ts.map +1 -0
  77. package/api/initialize/index.d.ts +2 -0
  78. package/api/initialize/index.d.ts.map +1 -0
  79. package/api/initialize/initialize.d.ts +10 -0
  80. package/api/initialize/initialize.d.ts.map +1 -0
  81. package/api/isEmailAvailable/graphql/isEmailAvailable.graphql.d.ts +2 -0
  82. package/api/isEmailAvailable/graphql/isEmailAvailable.graphql.d.ts.map +1 -0
  83. package/api/isEmailAvailable/index.d.ts +2 -0
  84. package/api/isEmailAvailable/index.d.ts.map +1 -0
  85. package/api/isEmailAvailable/isEmailAvailable.d.ts +4 -0
  86. package/api/isEmailAvailable/isEmailAvailable.d.ts.map +1 -0
  87. package/api/placeOrder/graphql/index.d.ts +2 -0
  88. package/api/placeOrder/graphql/index.d.ts.map +1 -0
  89. package/api/placeOrder/graphql/placeOrder.graphql.d.ts +2 -0
  90. package/api/placeOrder/graphql/placeOrder.graphql.d.ts.map +1 -0
  91. package/api/placeOrder/index.d.ts +2 -0
  92. package/api/placeOrder/index.d.ts.map +1 -0
  93. package/api/placeOrder/placeOrder.d.ts +2 -0
  94. package/api/placeOrder/placeOrder.d.ts.map +1 -0
  95. package/api/redirect/index.d.ts +2 -0
  96. package/api/redirect/index.d.ts.map +1 -0
  97. package/api/redirect/redirect.d.ts +2 -0
  98. package/api/redirect/redirect.d.ts.map +1 -0
  99. package/api/setBillingAddress/graphql/setBillingAddress.graphql.d.ts +2 -0
  100. package/api/setBillingAddress/graphql/setBillingAddress.graphql.d.ts.map +1 -0
  101. package/api/setBillingAddress/index.d.ts +2 -0
  102. package/api/setBillingAddress/index.d.ts.map +1 -0
  103. package/api/setBillingAddress/setBillingAddress.d.ts +14 -0
  104. package/api/setBillingAddress/setBillingAddress.d.ts.map +1 -0
  105. package/api/setGuestEmailOnCart/graphql/setGuestEmailOnCart.graphql.d.ts +2 -0
  106. package/api/setGuestEmailOnCart/graphql/setGuestEmailOnCart.graphql.d.ts.map +1 -0
  107. package/api/setGuestEmailOnCart/index.d.ts +2 -0
  108. package/api/setGuestEmailOnCart/index.d.ts.map +1 -0
  109. package/api/setGuestEmailOnCart/setGuestEmailOnCart.d.ts +6 -0
  110. package/api/setGuestEmailOnCart/setGuestEmailOnCart.d.ts.map +1 -0
  111. package/api/setPaymentMethod/graphql/setPaymentMethod.graphql.d.ts +2 -0
  112. package/api/setPaymentMethod/graphql/setPaymentMethod.graphql.d.ts.map +1 -0
  113. package/api/setPaymentMethod/index.d.ts +2 -0
  114. package/api/setPaymentMethod/index.d.ts.map +1 -0
  115. package/api/setPaymentMethod/setPaymentMethod.d.ts +5 -0
  116. package/api/setPaymentMethod/setPaymentMethod.d.ts.map +1 -0
  117. package/api/setShippingAddress/graphql/setShippingAddress.graphql.d.ts +2 -0
  118. package/api/setShippingAddress/graphql/setShippingAddress.graphql.d.ts.map +1 -0
  119. package/api/setShippingAddress/index.d.ts +2 -0
  120. package/api/setShippingAddress/index.d.ts.map +1 -0
  121. package/api/setShippingAddress/setShippingAddress.d.ts +31 -0
  122. package/api/setShippingAddress/setShippingAddress.d.ts.map +1 -0
  123. package/api/setShippingMethods/graphql/setShippingMethodsOnCart.graphql.d.ts +2 -0
  124. package/api/setShippingMethods/graphql/setShippingMethodsOnCart.graphql.d.ts.map +1 -0
  125. package/api/setShippingMethods/index.d.ts +2 -0
  126. package/api/setShippingMethods/index.d.ts.map +1 -0
  127. package/api/setShippingMethods/setShippingMethods.d.ts +8 -0
  128. package/api/setShippingMethods/setShippingMethods.d.ts.map +1 -0
  129. package/api/utils/dispatchApiCall.d.ts +41 -0
  130. package/api/utils/dispatchApiCall.d.ts.map +1 -0
  131. package/api/utils/enqueueRequest.d.ts +2 -0
  132. package/api/utils/enqueueRequest.d.ts.map +1 -0
  133. package/api/utils/filterControlledErrors.d.ts +18 -0
  134. package/api/utils/filterControlledErrors.d.ts.map +1 -0
  135. package/api.d.ts +1 -0
  136. package/chunks/BillToShippingAddress2.js +1 -1
  137. package/chunks/BillToShippingAddress2.js.map +1 -1
  138. package/chunks/ErrorBanner.js +1 -1
  139. package/chunks/ErrorBanner.js.map +1 -1
  140. package/chunks/MergedCartBanner.js +2 -0
  141. package/chunks/MergedCartBanner.js.map +1 -0
  142. package/chunks/{OrderSummary.js → OrderSummarySkeleton.js} +2 -2
  143. package/chunks/OrderSummarySkeleton.js.map +1 -0
  144. package/chunks/ToggleButton.js +1 -1
  145. package/chunks/ToggleButton.js.map +1 -1
  146. package/chunks/ToggleButton2.js +2 -0
  147. package/chunks/ToggleButton2.js.map +1 -0
  148. package/components/AddressForm/AddressForm.d.ts +21 -0
  149. package/components/AddressForm/AddressForm.d.ts.map +1 -0
  150. package/components/AddressForm/constants.d.ts +4 -0
  151. package/components/AddressForm/constants.d.ts.map +1 -0
  152. package/components/AddressForm/index.d.ts +7 -0
  153. package/components/AddressForm/index.d.ts.map +1 -0
  154. package/components/AddressForm/useAddressBackup.d.ts +8 -0
  155. package/components/AddressForm/useAddressBackup.d.ts.map +1 -0
  156. package/components/AddressForm/useAddressForm.d.ts +38 -0
  157. package/components/AddressForm/useAddressForm.d.ts.map +1 -0
  158. package/components/AddressForm/usePreselectedFields.d.ts +9 -0
  159. package/components/AddressForm/usePreselectedFields.d.ts.map +1 -0
  160. package/components/AddressForm/utils.d.ts +13 -0
  161. package/components/AddressForm/utils.d.ts.map +1 -0
  162. package/components/BillToShippingAddress/BillToShippingAddress.d.ts +8 -0
  163. package/components/BillToShippingAddress/BillToShippingAddress.d.ts.map +1 -0
  164. package/components/BillToShippingAddress/BillToShippingAddressSkeleton.d.ts +4 -0
  165. package/components/BillToShippingAddress/BillToShippingAddressSkeleton.d.ts.map +1 -0
  166. package/components/BillToShippingAddress/index.d.ts +4 -0
  167. package/components/BillToShippingAddress/index.d.ts.map +1 -0
  168. package/components/CartSummary/CartSummary.d.ts +19 -0
  169. package/components/CartSummary/CartSummary.d.ts.map +1 -0
  170. package/components/CartSummary/CartSummarySkeleton.d.ts +4 -0
  171. package/components/CartSummary/CartSummarySkeleton.d.ts.map +1 -0
  172. package/components/CartSummary/MobileCartSummarySkeleton.d.ts +4 -0
  173. package/components/CartSummary/MobileCartSummarySkeleton.d.ts.map +1 -0
  174. package/components/CartSummary/fixtures/CartSummary.fixture.d.ts +213 -0
  175. package/components/CartSummary/fixtures/CartSummary.fixture.d.ts.map +1 -0
  176. package/components/CartSummary/index.d.ts +5 -0
  177. package/components/CartSummary/index.d.ts.map +1 -0
  178. package/components/CartSummaryItem/CartSummaryItem.d.ts +10 -0
  179. package/components/CartSummaryItem/CartSummaryItem.d.ts.map +1 -0
  180. package/components/CartSummaryItem/index.d.ts +3 -0
  181. package/components/CartSummaryItem/index.d.ts.map +1 -0
  182. package/components/Checkout/Checkout.d.ts +33 -0
  183. package/components/Checkout/Checkout.d.ts.map +1 -0
  184. package/components/Checkout/index.d.ts +3 -0
  185. package/components/Checkout/index.d.ts.map +1 -0
  186. package/components/EmptyCart/EmptyCart.d.ts +9 -0
  187. package/components/EmptyCart/EmptyCart.d.ts.map +1 -0
  188. package/components/EmptyCart/index.d.ts +3 -0
  189. package/components/EmptyCart/index.d.ts.map +1 -0
  190. package/components/FieldsForm/FieldsForm.d.ts +13 -0
  191. package/components/FieldsForm/FieldsForm.d.ts.map +1 -0
  192. package/components/FieldsForm/FieldsFormSkeleton.d.ts +4 -0
  193. package/components/FieldsForm/FieldsFormSkeleton.d.ts.map +1 -0
  194. package/components/FieldsForm/fieldFactory.d.ts +9 -0
  195. package/components/FieldsForm/fieldFactory.d.ts.map +1 -0
  196. package/components/FieldsForm/fixtures.d.ts +5 -0
  197. package/components/FieldsForm/fixtures.d.ts.map +1 -0
  198. package/components/FieldsForm/index.d.ts +6 -0
  199. package/components/FieldsForm/index.d.ts.map +1 -0
  200. package/components/FieldsForm/validation.d.ts +18 -0
  201. package/components/FieldsForm/validation.d.ts.map +1 -0
  202. package/components/Heading/Heading.d.ts +8 -0
  203. package/components/Heading/Heading.d.ts.map +1 -0
  204. package/components/Heading/index.d.ts +3 -0
  205. package/components/Heading/index.d.ts.map +1 -0
  206. package/components/LoginForm/Email.d.ts +13 -0
  207. package/components/LoginForm/Email.d.ts.map +1 -0
  208. package/components/LoginForm/LoginForm.d.ts +17 -0
  209. package/components/LoginForm/LoginForm.d.ts.map +1 -0
  210. package/components/LoginForm/LoginFormSkeleton.d.ts +4 -0
  211. package/components/LoginForm/LoginFormSkeleton.d.ts.map +1 -0
  212. package/components/LoginForm/SignIn.d.ts +9 -0
  213. package/components/LoginForm/SignIn.d.ts.map +1 -0
  214. package/components/LoginForm/SignOut.d.ts +8 -0
  215. package/components/LoginForm/SignOut.d.ts.map +1 -0
  216. package/components/LoginForm/index.d.ts +6 -0
  217. package/components/LoginForm/index.d.ts.map +1 -0
  218. package/components/OrderSummary/OrderSummary.d.ts +37 -0
  219. package/components/OrderSummary/OrderSummary.d.ts.map +1 -0
  220. package/components/OrderSummary/OrderSummarySkeleton.d.ts +4 -0
  221. package/components/OrderSummary/OrderSummarySkeleton.d.ts.map +1 -0
  222. package/components/OrderSummary/index.d.ts +4 -0
  223. package/components/OrderSummary/index.d.ts.map +1 -0
  224. package/components/OutOfStock/OutOfStock.d.ts +9 -0
  225. package/components/OutOfStock/OutOfStock.d.ts.map +1 -0
  226. package/components/OutOfStock/index.d.ts +3 -0
  227. package/components/OutOfStock/index.d.ts.map +1 -0
  228. package/components/OverlayLoader/OverlayLoader.d.ts +6 -0
  229. package/components/OverlayLoader/OverlayLoader.d.ts.map +1 -0
  230. package/components/OverlayLoader/index.d.ts +2 -0
  231. package/components/OverlayLoader/index.d.ts.map +1 -0
  232. package/components/PaymentMethods/PaymentMethods.d.ts +13 -0
  233. package/components/PaymentMethods/PaymentMethods.d.ts.map +1 -0
  234. package/components/PaymentMethods/PaymentMethodsSkeleton.d.ts +4 -0
  235. package/components/PaymentMethods/PaymentMethodsSkeleton.d.ts.map +1 -0
  236. package/components/PaymentMethods/index.d.ts +4 -0
  237. package/components/PaymentMethods/index.d.ts.map +1 -0
  238. package/components/PlaceOrder/PlaceOrder.d.ts +9 -0
  239. package/components/PlaceOrder/PlaceOrder.d.ts.map +1 -0
  240. package/components/PlaceOrder/PlaceOrderSkeleton.d.ts +4 -0
  241. package/components/PlaceOrder/PlaceOrderSkeleton.d.ts.map +1 -0
  242. package/components/PlaceOrder/index.d.ts +3 -0
  243. package/components/PlaceOrder/index.d.ts.map +1 -0
  244. package/components/ServerError/ServerError.d.ts +10 -0
  245. package/components/ServerError/ServerError.d.ts.map +1 -0
  246. package/components/ServerError/index.d.ts +3 -0
  247. package/components/ServerError/index.d.ts.map +1 -0
  248. package/components/ShippingMethods/ShippingMethods.d.ts +12 -0
  249. package/components/ShippingMethods/ShippingMethods.d.ts.map +1 -0
  250. package/components/ShippingMethods/ShippingMethodsSkeleton.d.ts +4 -0
  251. package/components/ShippingMethods/ShippingMethodsSkeleton.d.ts.map +1 -0
  252. package/components/ShippingMethods/index.d.ts +4 -0
  253. package/components/ShippingMethods/index.d.ts.map +1 -0
  254. package/components/ToggleButton/ToggleButton.d.ts +14 -0
  255. package/components/ToggleButton/ToggleButton.d.ts.map +1 -0
  256. package/components/ToggleButton/assets/icons/index.d.ts +2 -0
  257. package/components/ToggleButton/assets/icons/index.d.ts.map +1 -0
  258. package/components/ToggleButton/assets/images/index.d.ts +2 -0
  259. package/components/ToggleButton/assets/images/index.d.ts.map +1 -0
  260. package/components/ToggleButton/index.d.ts +3 -0
  261. package/components/ToggleButton/index.d.ts.map +1 -0
  262. package/components/index.d.ts +18 -0
  263. package/components/index.d.ts.map +1 -0
  264. package/containers/BillToShippingAddress/BillToShippingAddress.d.ts +10 -0
  265. package/containers/BillToShippingAddress/BillToShippingAddress.d.ts.map +1 -0
  266. package/containers/BillToShippingAddress/constants.d.ts +2 -0
  267. package/containers/BillToShippingAddress/constants.d.ts.map +1 -0
  268. package/containers/BillToShippingAddress/index.d.ts +4 -0
  269. package/containers/BillToShippingAddress/index.d.ts.map +1 -0
  270. package/containers/BillToShippingAddress.d.ts +3 -0
  271. package/containers/BillingForm/BillingForm.d.ts +7 -0
  272. package/containers/BillingForm/BillingForm.d.ts.map +1 -0
  273. package/containers/BillingForm/constants.d.ts +2 -0
  274. package/containers/BillingForm/constants.d.ts.map +1 -0
  275. package/containers/BillingForm/index.d.ts +4 -0
  276. package/containers/BillingForm/index.d.ts.map +1 -0
  277. package/containers/BillingForm.d.ts +3 -0
  278. package/containers/BillingForm.js +1 -1
  279. package/containers/CartSummary/CartSummary.d.ts +19 -0
  280. package/containers/CartSummary/CartSummary.d.ts.map +1 -0
  281. package/containers/CartSummary/constants.d.ts +2 -0
  282. package/containers/CartSummary/constants.d.ts.map +1 -0
  283. package/containers/CartSummary/index.d.ts +3 -0
  284. package/containers/CartSummary/index.d.ts.map +1 -0
  285. package/containers/CartSummary.d.ts +3 -0
  286. package/containers/CartSummary.js +1 -1
  287. package/containers/Checkout/Checkout.d.ts +37 -0
  288. package/containers/Checkout/Checkout.d.ts.map +1 -0
  289. package/containers/Checkout/constants.d.ts +2 -0
  290. package/containers/Checkout/constants.d.ts.map +1 -0
  291. package/containers/Checkout/index.d.ts +4 -0
  292. package/containers/Checkout/index.d.ts.map +1 -0
  293. package/containers/Checkout.d.ts +3 -0
  294. package/containers/Checkout.js +1 -1
  295. package/containers/Checkout.js.map +1 -1
  296. package/containers/ErrorBanner/ErrorBanner.d.ts +5 -0
  297. package/containers/ErrorBanner/ErrorBanner.d.ts.map +1 -0
  298. package/containers/ErrorBanner/index.d.ts +3 -0
  299. package/containers/ErrorBanner/index.d.ts.map +1 -0
  300. package/containers/ErrorBanner.d.ts +3 -0
  301. package/containers/LoginForm/LoginForm.d.ts +10 -0
  302. package/containers/LoginForm/LoginForm.d.ts.map +1 -0
  303. package/containers/LoginForm/constants.d.ts +2 -0
  304. package/containers/LoginForm/constants.d.ts.map +1 -0
  305. package/containers/LoginForm/index.d.ts +4 -0
  306. package/containers/LoginForm/index.d.ts.map +1 -0
  307. package/containers/LoginForm.d.ts +3 -0
  308. package/containers/LoginForm.js +1 -1
  309. package/containers/MergedCartBanner/MergedCartBanner.d.ts +5 -0
  310. package/containers/MergedCartBanner/MergedCartBanner.d.ts.map +1 -0
  311. package/containers/MergedCartBanner/index.d.ts +3 -0
  312. package/containers/MergedCartBanner/index.d.ts.map +1 -0
  313. package/containers/MergedCartBanner.d.ts +3 -0
  314. package/containers/MergedCartBanner.js +2 -0
  315. package/containers/MergedCartBanner.js.map +1 -0
  316. package/containers/OrderSummary/OrderSummary.d.ts +13 -0
  317. package/containers/OrderSummary/OrderSummary.d.ts.map +1 -0
  318. package/containers/OrderSummary/constants.d.ts +2 -0
  319. package/containers/OrderSummary/constants.d.ts.map +1 -0
  320. package/containers/OrderSummary/index.d.ts +3 -0
  321. package/containers/OrderSummary/index.d.ts.map +1 -0
  322. package/containers/OrderSummary.d.ts +3 -0
  323. package/containers/OrderSummary.js +1 -1
  324. package/containers/PaymentMethods/PaymentMethods.d.ts +23 -0
  325. package/containers/PaymentMethods/PaymentMethods.d.ts.map +1 -0
  326. package/containers/PaymentMethods/defaultHandlers.d.ts +11 -0
  327. package/containers/PaymentMethods/defaultHandlers.d.ts.map +1 -0
  328. package/containers/PaymentMethods/index.d.ts +3 -0
  329. package/containers/PaymentMethods/index.d.ts.map +1 -0
  330. package/containers/PaymentMethods.d.ts +3 -0
  331. package/containers/PaymentMethods.js +1 -1
  332. package/containers/PlaceOrder/PlaceOrder.d.ts +9 -0
  333. package/containers/PlaceOrder/PlaceOrder.d.ts.map +1 -0
  334. package/containers/PlaceOrder/index.d.ts +3 -0
  335. package/containers/PlaceOrder/index.d.ts.map +1 -0
  336. package/containers/PlaceOrder.d.ts +3 -0
  337. package/containers/PlaceOrder.js +1 -1
  338. package/containers/ShippingForm/ShippingForm.d.ts +9 -0
  339. package/containers/ShippingForm/ShippingForm.d.ts.map +1 -0
  340. package/containers/ShippingForm/constants.d.ts +2 -0
  341. package/containers/ShippingForm/constants.d.ts.map +1 -0
  342. package/containers/ShippingForm/index.d.ts +4 -0
  343. package/containers/ShippingForm/index.d.ts.map +1 -0
  344. package/containers/ShippingForm.d.ts +3 -0
  345. package/containers/ShippingForm.js +1 -1
  346. package/containers/ShippingMethods/ShippingMethods.d.ts +9 -0
  347. package/containers/ShippingMethods/ShippingMethods.d.ts.map +1 -0
  348. package/containers/ShippingMethods/index.d.ts +3 -0
  349. package/containers/ShippingMethods/index.d.ts.map +1 -0
  350. package/containers/ShippingMethods.d.ts +3 -0
  351. package/containers/ShippingMethods.js +1 -1
  352. package/containers/index.d.ts +13 -0
  353. package/containers/index.d.ts.map +1 -0
  354. package/context/address-form-fields.d.ts +13 -0
  355. package/context/address-form-fields.d.ts.map +1 -0
  356. package/context/checkout.d.ts +44 -0
  357. package/context/checkout.d.ts.map +1 -0
  358. package/context/countries.d.ts +13 -0
  359. package/context/countries.d.ts.map +1 -0
  360. package/context/index.d.ts +6 -0
  361. package/context/index.d.ts.map +1 -0
  362. package/context/services.d.ts +13 -0
  363. package/context/services.d.ts.map +1 -0
  364. package/context/store.d.ts +13 -0
  365. package/context/store.d.ts.map +1 -0
  366. package/data/models/address-form-fields.d.ts +52 -0
  367. package/data/models/address-form-fields.d.ts.map +1 -0
  368. package/data/models/address.d.ts +21 -0
  369. package/data/models/address.d.ts.map +1 -0
  370. package/data/models/cart-item.d.ts +59 -0
  371. package/data/models/cart-item.d.ts.map +1 -0
  372. package/data/models/cart.d.ts +23 -0
  373. package/data/models/cart.d.ts.map +1 -0
  374. package/data/models/country.d.ts +5 -0
  375. package/data/models/country.d.ts.map +1 -0
  376. package/data/models/custom-attribute.d.ts +5 -0
  377. package/data/models/custom-attribute.d.ts.map +1 -0
  378. package/data/models/customer.d.ts +25 -0
  379. package/data/models/customer.d.ts.map +1 -0
  380. package/data/models/email-availability.d.ts +2 -0
  381. package/data/models/email-availability.d.ts.map +1 -0
  382. package/data/models/index.d.ts +13 -0
  383. package/data/models/index.d.ts.map +1 -0
  384. package/data/models/money.d.ts +5 -0
  385. package/data/models/money.d.ts.map +1 -0
  386. package/data/models/payment-method.d.ts +5 -0
  387. package/data/models/payment-method.d.ts.map +1 -0
  388. package/data/models/region.d.ts +6 -0
  389. package/data/models/region.d.ts.map +1 -0
  390. package/data/models/shipping-method.d.ts +17 -0
  391. package/data/models/shipping-method.d.ts.map +1 -0
  392. package/data/models/store-config.d.ts +29 -0
  393. package/data/models/store-config.d.ts.map +1 -0
  394. package/data/transforms/index.d.ts +10 -0
  395. package/data/transforms/index.d.ts.map +1 -0
  396. package/data/transforms/transform-address-form-fields.d.ts +66 -0
  397. package/data/transforms/transform-address-form-fields.d.ts.map +1 -0
  398. package/data/transforms/transform-address.d.ts +79 -0
  399. package/data/transforms/transform-address.d.ts.map +1 -0
  400. package/data/transforms/transform-cart-item.d.ts +10 -0
  401. package/data/transforms/transform-cart-item.d.ts.map +1 -0
  402. package/data/transforms/transform-cart.d.ts +10 -0
  403. package/data/transforms/transform-cart.d.ts.map +1 -0
  404. package/data/transforms/transform-countries.d.ts +5 -0
  405. package/data/transforms/transform-countries.d.ts.map +1 -0
  406. package/data/transforms/transform-customer.d.ts +14 -0
  407. package/data/transforms/transform-customer.d.ts.map +1 -0
  408. package/data/transforms/transform-email-availability.d.ts +6 -0
  409. package/data/transforms/transform-email-availability.d.ts.map +1 -0
  410. package/data/transforms/transform-payment-methods.d.ts +9 -0
  411. package/data/transforms/transform-payment-methods.d.ts.map +1 -0
  412. package/data/transforms/transform-regions.d.ts +8 -0
  413. package/data/transforms/transform-regions.d.ts.map +1 -0
  414. package/data/transforms/transform-shipping-methods.d.ts +14 -0
  415. package/data/transforms/transform-shipping-methods.d.ts.map +1 -0
  416. package/data/transforms/transform-store-config.d.ts +5 -0
  417. package/data/transforms/transform-store-config.d.ts.map +1 -0
  418. package/hooks/useAuthentication/index.d.ts +2 -0
  419. package/hooks/useAuthentication/index.d.ts.map +1 -0
  420. package/hooks/useAuthentication/useAuthentication.d.ts +2 -0
  421. package/hooks/useAuthentication/useAuthentication.d.ts.map +1 -0
  422. package/hooks/useBreakpoint/index.d.ts +2 -0
  423. package/hooks/useBreakpoint/index.d.ts.map +1 -0
  424. package/hooks/useBreakpoint/useBreakpoint.d.ts +2 -0
  425. package/hooks/useBreakpoint/useBreakpoint.d.ts.map +1 -0
  426. package/hooks/useLockScroll/index.d.ts +2 -0
  427. package/hooks/useLockScroll/index.d.ts.map +1 -0
  428. package/hooks/useLockScroll/useLockScroll.d.ts +5 -0
  429. package/hooks/useLockScroll/useLockScroll.d.ts.map +1 -0
  430. package/hooks/useValidity/index.d.ts +2 -0
  431. package/hooks/useValidity/index.d.ts.map +1 -0
  432. package/hooks/useValidity/useValidity.d.ts +19 -0
  433. package/hooks/useValidity/useValidity.d.ts.map +1 -0
  434. package/i18n/en_US.json.d.ts +119 -0
  435. package/lib/fetch-error.d.ts +7 -0
  436. package/lib/fetch-error.d.ts.map +1 -0
  437. package/lib/index.d.ts +4 -0
  438. package/lib/index.d.ts.map +1 -0
  439. package/lib/localStorage.d.ts +10 -0
  440. package/lib/localStorage.d.ts.map +1 -0
  441. package/lib/network-error.d.ts +6 -0
  442. package/lib/network-error.d.ts.map +1 -0
  443. package/lib/redirect.d.ts +2 -0
  444. package/lib/redirect.d.ts.map +1 -0
  445. package/msw/browser.d.ts +2 -0
  446. package/msw/browser.d.ts.map +1 -0
  447. package/msw/fixtures/fragments/american-regions.d.ts +4 -0
  448. package/msw/fixtures/fragments/american-regions.d.ts.map +1 -0
  449. package/msw/fixtures/fragments/available-shipping-methods.d.ts +23 -0
  450. package/msw/fixtures/fragments/available-shipping-methods.d.ts.map +1 -0
  451. package/msw/fixtures/fragments/billing-address.d.ts +36 -0
  452. package/msw/fixtures/fragments/billing-address.d.ts.map +1 -0
  453. package/msw/fixtures/fragments/cart.d.ts +1718 -0
  454. package/msw/fixtures/fragments/cart.d.ts.map +1 -0
  455. package/msw/fixtures/fragments/countries.d.ts +4 -0
  456. package/msw/fixtures/fragments/countries.d.ts.map +1 -0
  457. package/msw/fixtures/fragments/form-fields.d.ts +4 -0
  458. package/msw/fixtures/fragments/form-fields.d.ts.map +1 -0
  459. package/msw/fixtures/fragments/index.d.ts +9 -0
  460. package/msw/fixtures/fragments/index.d.ts.map +1 -0
  461. package/msw/fixtures/fragments/items.d.ts +4 -0
  462. package/msw/fixtures/fragments/items.d.ts.map +1 -0
  463. package/msw/fixtures/fragments/shipping-address.d.ts +42 -0
  464. package/msw/fixtures/fragments/shipping-address.d.ts.map +1 -0
  465. package/msw/fixtures/index.d.ts +4 -0
  466. package/msw/fixtures/index.d.ts.map +1 -0
  467. package/msw/fixtures/mutations/estimate-shipping-methods.d.ts +4 -0
  468. package/msw/fixtures/mutations/estimate-shipping-methods.d.ts.map +1 -0
  469. package/msw/fixtures/mutations/index.d.ts +8 -0
  470. package/msw/fixtures/mutations/index.d.ts.map +1 -0
  471. package/msw/fixtures/mutations/place-order.d.ts +4 -0
  472. package/msw/fixtures/mutations/place-order.d.ts.map +1 -0
  473. package/msw/fixtures/mutations/set-billing-address.d.ts +5 -0
  474. package/msw/fixtures/mutations/set-billing-address.d.ts.map +1 -0
  475. package/msw/fixtures/mutations/set-guest-email.d.ts +4 -0
  476. package/msw/fixtures/mutations/set-guest-email.d.ts.map +1 -0
  477. package/msw/fixtures/mutations/set-payment-method.d.ts +4 -0
  478. package/msw/fixtures/mutations/set-payment-method.d.ts.map +1 -0
  479. package/msw/fixtures/mutations/set-shipping-address.d.ts +4 -0
  480. package/msw/fixtures/mutations/set-shipping-address.d.ts.map +1 -0
  481. package/msw/fixtures/mutations/set-shipping-methods.d.ts +4 -0
  482. package/msw/fixtures/mutations/set-shipping-methods.d.ts.map +1 -0
  483. package/msw/fixtures/queries/fetch-address-form-fields.d.ts +4 -0
  484. package/msw/fixtures/queries/fetch-address-form-fields.d.ts.map +1 -0
  485. package/msw/fixtures/queries/get-cart.d.ts +4 -0
  486. package/msw/fixtures/queries/get-cart.d.ts.map +1 -0
  487. package/msw/fixtures/queries/get-countries.d.ts +4 -0
  488. package/msw/fixtures/queries/get-countries.d.ts.map +1 -0
  489. package/msw/fixtures/queries/get-customer-cart-stock-status.d.ts +4 -0
  490. package/msw/fixtures/queries/get-customer-cart-stock-status.d.ts.map +1 -0
  491. package/msw/fixtures/queries/get-customer.d.ts +5 -0
  492. package/msw/fixtures/queries/get-customer.d.ts.map +1 -0
  493. package/msw/fixtures/queries/get-regions.d.ts +4 -0
  494. package/msw/fixtures/queries/get-regions.d.ts.map +1 -0
  495. package/msw/fixtures/queries/get-stock-status.d.ts +4 -0
  496. package/msw/fixtures/queries/get-stock-status.d.ts.map +1 -0
  497. package/msw/fixtures/queries/get-store-config.d.ts +4 -0
  498. package/msw/fixtures/queries/get-store-config.d.ts.map +1 -0
  499. package/msw/fixtures/queries/index.d.ts +10 -0
  500. package/msw/fixtures/queries/index.d.ts.map +1 -0
  501. package/msw/fixtures/queries/is-email-available.d.ts +4 -0
  502. package/msw/fixtures/queries/is-email-available.d.ts.map +1 -0
  503. package/msw/handlers.d.ts +4 -0
  504. package/msw/handlers.d.ts.map +1 -0
  505. package/msw/server.d.ts +2 -0
  506. package/msw/server.d.ts.map +1 -0
  507. package/package.json +1 -1
  508. package/render/Provider.d.ts +10 -0
  509. package/render/Provider.d.ts.map +1 -0
  510. package/render/index.d.ts +2 -0
  511. package/render/index.d.ts.map +1 -0
  512. package/render/render.d.ts +6 -0
  513. package/render/render.d.ts.map +1 -0
  514. package/render.d.ts +1 -0
  515. package/render.js +2 -2
  516. package/render.js.map +1 -1
  517. package/services/backup.d.ts +17 -0
  518. package/services/backup.d.ts.map +1 -0
  519. package/services/index.d.ts +2 -0
  520. package/services/index.d.ts.map +1 -0
  521. package/signals/AuthenticationSignal.d.ts +2 -0
  522. package/signals/AuthenticationSignal.d.ts.map +1 -0
  523. package/signals/CartSignal.d.ts +7 -0
  524. package/signals/CartSignal.d.ts.map +1 -0
  525. package/signals/CustomerSignal.d.ts +7 -0
  526. package/signals/CustomerSignal.d.ts.map +1 -0
  527. package/signals/EstimateShippingMethodsSignal.d.ts +7 -0
  528. package/signals/EstimateShippingMethodsSignal.d.ts.map +1 -0
  529. package/signals/IsBillToShippingSignal.d.ts +6 -0
  530. package/signals/IsBillToShippingSignal.d.ts.map +1 -0
  531. package/signals/RegionsSignal.d.ts +12 -0
  532. package/signals/RegionsSignal.d.ts.map +1 -0
  533. package/signals/SelectedShippingMethodSignal.d.ts +4 -0
  534. package/signals/SelectedShippingMethodSignal.d.ts.map +1 -0
  535. package/signals/index.d.ts +8 -0
  536. package/signals/index.d.ts.map +1 -0
  537. package/tests/constants.d.ts +3 -0
  538. package/tests/constants.d.ts.map +1 -0
  539. package/tests/index.d.ts +2 -0
  540. package/tests/index.d.ts.map +1 -0
  541. package/tests/integration/utils/index.d.ts +3 -0
  542. package/tests/integration/utils/index.d.ts.map +1 -0
  543. package/tests/integration/utils/setup.d.ts +5 -0
  544. package/tests/integration/utils/setup.d.ts.map +1 -0
  545. package/tests/integration/utils/user-actions.d.ts +2 -0
  546. package/tests/integration/utils/user-actions.d.ts.map +1 -0
  547. package/tests/mocks/svg.d.ts +4 -0
  548. package/tests/mocks/svg.d.ts.map +1 -0
  549. package/tests/render.d.ts +4 -0
  550. package/tests/render.d.ts.map +1 -0
  551. package/tests/utils/expectError.d.ts +9 -0
  552. package/tests/utils/expectError.d.ts.map +1 -0
  553. package/tests/utils/index.d.ts +3 -0
  554. package/tests/utils/index.d.ts.map +1 -0
  555. package/tests/utils/mockEvents.d.ts +5 -0
  556. package/tests/utils/mockEvents.d.ts.map +1 -0
  557. package/types/CompleteCheckoutContextSchemas.d.ts +103 -0
  558. package/types/CompleteCheckoutContextSchemas.d.ts.map +1 -0
  559. package/types/EventPayloads.d.ts +18 -0
  560. package/types/EventPayloads.d.ts.map +1 -0
  561. package/utils/autocompleteFieldCodes/autocompleteFieldCodes.d.ts +18 -0
  562. package/utils/autocompleteFieldCodes/autocompleteFieldCodes.d.ts.map +1 -0
  563. package/utils/autocompleteFieldCodes/index.d.ts +2 -0
  564. package/utils/autocompleteFieldCodes/index.d.ts.map +1 -0
  565. package/utils/getMultilineValues/getMultilineValues.d.ts +3 -0
  566. package/utils/getMultilineValues/getMultilineValues.d.ts.map +1 -0
  567. package/utils/getMultilineValues/index.d.ts +2 -0
  568. package/utils/getMultilineValues/index.d.ts.map +1 -0
  569. package/utils/index.d.ts +8 -0
  570. package/utils/index.d.ts.map +1 -0
  571. package/utils/isEmpty/index.d.ts +2 -0
  572. package/utils/isEmpty/index.d.ts.map +1 -0
  573. package/utils/isEmpty/isEmpty.d.ts +2 -0
  574. package/utils/isEmpty/isEmpty.d.ts.map +1 -0
  575. package/utils/isNullish/index.d.ts +2 -0
  576. package/utils/isNullish/index.d.ts.map +1 -0
  577. package/utils/isNullish/isNullish.d.ts +2 -0
  578. package/utils/isNullish/isNullish.d.ts.map +1 -0
  579. package/utils/parseRegionId/index.d.ts +2 -0
  580. package/utils/parseRegionId/index.d.ts.map +1 -0
  581. package/utils/parseRegionId/parseRegionId.d.ts +2 -0
  582. package/utils/parseRegionId/parseRegionId.d.ts.map +1 -0
  583. package/utils/processFormFields/index.d.ts +2 -0
  584. package/utils/processFormFields/index.d.ts.map +1 -0
  585. package/utils/processFormFields/processFormFields.d.ts +21 -0
  586. package/utils/processFormFields/processFormFields.d.ts.map +1 -0
  587. package/utils/refetchEstimatedShippingMethods/index.d.ts +2 -0
  588. package/utils/refetchEstimatedShippingMethods/index.d.ts.map +1 -0
  589. package/utils/refetchEstimatedShippingMethods/refetchEstimatedShippingMethods.d.ts +4 -0
  590. package/utils/refetchEstimatedShippingMethods/refetchEstimatedShippingMethods.d.ts.map +1 -0
  591. package/utils/shippingMethods/index.d.ts +2 -0
  592. package/utils/shippingMethods/index.d.ts.map +1 -0
  593. package/utils/shippingMethods/isEqual.d.ts +4 -0
  594. package/utils/shippingMethods/isEqual.d.ts.map +1 -0
  595. package/utils/storefrontEvents/completeCheckout.d.ts +31 -0
  596. package/utils/storefrontEvents/completeCheckout.d.ts.map +1 -0
  597. package/utils/storefrontEvents/fixtures.d.ts +44 -0
  598. package/utils/storefrontEvents/fixtures.d.ts.map +1 -0
  599. package/utils/storefrontEvents/index.d.ts +2 -0
  600. package/utils/storefrontEvents/index.d.ts.map +1 -0
  601. package/chunks/OrderSummary.js.map +0 -1
  602. package/chunks/PaymentMethods.js +0 -2
  603. package/chunks/PaymentMethods.js.map +0 -1
@@ -0,0 +1,2 @@
1
+ export declare const setPaymentMethodMutation: string;
2
+ //# sourceMappingURL=setPaymentMethod.graphql.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setPaymentMethod.graphql.d.ts","sourceRoot":"","sources":["../../../../src/api/setPaymentMethod/graphql/setPaymentMethod.graphql.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,wBAAwB,QAcpC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './setPaymentMethod';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/setPaymentMethod/index.ts"],"names":[],"mappings":"AAAA,cAAc,kDAAkD,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare const setPaymentMethod: ({ cartId, paymentMethod, }: {
2
+ cartId: string;
3
+ paymentMethod: string;
4
+ }) => Promise<import('../../data/models/cart').Cart | null | undefined>;
5
+ //# sourceMappingURL=setPaymentMethod.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setPaymentMethod.d.ts","sourceRoot":"","sources":["../../../src/api/setPaymentMethod/setPaymentMethod.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,gBAAgB;YAInB,MAAM;mBACC,MAAM;uEAatB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const setShippingAddressMutation: string;
2
+ //# sourceMappingURL=setShippingAddress.graphql.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setShippingAddress.graphql.d.ts","sourceRoot":"","sources":["../../../../src/api/setShippingAddress/graphql/setShippingAddress.graphql.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,0BAA0B,QActC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './setShippingAddress';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/setShippingAddress/index.ts"],"names":[],"mappings":"AAAA,cAAc,sDAAsD,CAAC"}
@@ -0,0 +1,31 @@
1
+ export declare const STANDARD_ATTRIBUTES: string[];
2
+ export interface AddressInput {
3
+ city: string;
4
+ company?: string;
5
+ country_code: string;
6
+ custom_attributes?: {
7
+ attribute_code: string;
8
+ value?: string;
9
+ selected_options?: {
10
+ uid: string;
11
+ value: string;
12
+ }[];
13
+ }[];
14
+ firstname: string;
15
+ lastname: string;
16
+ postcode?: string;
17
+ region?: string;
18
+ region_id?: number;
19
+ save_in_address_book?: boolean;
20
+ street: string[];
21
+ telephone?: string;
22
+ vat_id?: string;
23
+ }
24
+ export interface setShippingAddressParams {
25
+ cartId: string;
26
+ address: AddressInput;
27
+ signal?: AbortSignal;
28
+ }
29
+ export declare const prepareAddress: (formFields: Record<string, any>) => AddressInput;
30
+ export declare const setShippingAddress: ({ signal, cartId, address, }: setShippingAddressParams) => Promise<import('../../data/models').Cart | null | undefined>;
31
+ //# sourceMappingURL=setShippingAddress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setShippingAddress.d.ts","sourceRoot":"","sources":["../../../src/api/setShippingAddress/setShippingAddress.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,mBAAmB,UAa/B,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE;QAClB,cAAc,EAAE,MAAM,CAAC;QACvB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,gBAAgB,CAAC,EAAE;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;KACrD,EAAE,CAAC;IACJ,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,YAAY,CAAC;IACtB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAcD,eAAO,MAAM,cAAc,eAAgB,OAAO,MAAM,EAAE,GAAG,CAAC,iBA+C7D,CAAC;AAEF,eAAO,MAAM,kBAAkB,iCAI5B,wBAAwB,sEAS1B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const setShippingMethodsMutation: string;
2
+ //# sourceMappingURL=setShippingMethodsOnCart.graphql.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setShippingMethodsOnCart.graphql.d.ts","sourceRoot":"","sources":["../../../../src/api/setShippingMethods/graphql/setShippingMethodsOnCart.graphql.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,0BAA0B,QAiBtC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './setShippingMethods';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/setShippingMethods/index.ts"],"names":[],"mappings":"AAAA,cAAc,sDAAsD,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { SetShippingMethodsOnCartInput } from '../../__generated__/types';
2
+
3
+ export type SetShippingMethodsOnCartInputs = {
4
+ cartId: string;
5
+ shippingMethods: SetShippingMethodsOnCartInput['shipping_methods'];
6
+ };
7
+ export declare const setShippingMethodsOnCart: ({ cartId, shippingMethods, }: SetShippingMethodsOnCartInputs) => Promise<import('../../data/models/cart').Cart | null | undefined>;
8
+ //# sourceMappingURL=setShippingMethods.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setShippingMethods.d.ts","sourceRoot":"","sources":["../../../src/api/setShippingMethods/setShippingMethods.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;AAM/E,MAAM,MAAM,8BAA8B,GAAG;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,6BAA6B,CAAC,kBAAkB,CAAC,CAAC;CACpE,CAAC;AAEF,eAAO,MAAM,wBAAwB,iCAGlC,8BAA8B,sEAWhC,CAAC"}
@@ -0,0 +1,41 @@
1
+ import { FetchOptions } from '@adobe/fetch-graphql';
2
+
3
+ declare const signalTypes: {
4
+ cart: import('@preact/signals-core').Signal<{
5
+ pending: boolean;
6
+ data?: import('../../data/models/cart').Cart | null | undefined;
7
+ }>;
8
+ regions: import('@preact/signals-core').Signal<{
9
+ addressType?: import('../../data/models/address-form-fields').AddressFormType | undefined;
10
+ country?: string | undefined;
11
+ selectedRegion?: string | undefined;
12
+ selectedRegionId?: string | undefined;
13
+ pending: boolean;
14
+ data?: import('../../data/models/region').Region[] | undefined;
15
+ }>;
16
+ estimateShippingMethods: import('@preact/signals-core').Signal<{
17
+ pending: boolean;
18
+ data?: import('../../data/models/shipping-method').ShippingMethod[] | undefined;
19
+ }>;
20
+ customer: import('@preact/signals-core').Signal<{
21
+ pending: boolean;
22
+ data?: import('../../data/models/customer').Customer | null | undefined;
23
+ }>;
24
+ };
25
+ type SignalTypesType = typeof signalTypes;
26
+ type SignalTypesKeys = keyof SignalTypesType;
27
+ type SignalDataMap = {
28
+ [K in SignalTypesKeys]: SignalTypesType[K]['value']['data'];
29
+ };
30
+ type DispatchApiCallParams<T extends SignalTypesKeys> = {
31
+ type: 'query' | 'mutation';
32
+ query: string;
33
+ options?: FetchOptions;
34
+ path: string;
35
+ signalType: T;
36
+ transformer?: (data: any) => SignalDataMap[T];
37
+ };
38
+ export declare function getValueAtPath(obj: any, path: string): any;
39
+ declare function dispatchApiCall<T extends SignalTypesKeys>(params: DispatchApiCallParams<T>): Promise<SignalDataMap[T]>;
40
+ export { dispatchApiCall };
41
+ //# sourceMappingURL=dispatchApiCall.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dispatchApiCall.d.ts","sourceRoot":"","sources":["../../../src/api/utils/dispatchApiCall.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,YAAY,EAAmB,MAAM,sBAAsB,CAAC;AAIrE,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;CAKhB,CAAC;AAEF,KAAK,eAAe,GAAG,OAAO,WAAW,CAAC;AAC1C,KAAK,eAAe,GAAG,MAAM,eAAe,CAAC;AAC7C,KAAK,aAAa,GAAG;KAClB,CAAC,IAAI,eAAe,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;CAC5D,CAAC;AACF,KAAK,qBAAqB,CAAC,CAAC,SAAS,eAAe,IAAI;IACtD,IAAI,EAAE,OAAO,GAAG,UAAU,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,CAAC,CAAC;IACd,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC;CAC/C,CAAC;AAEF,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,OAOpD;AASD,iBAAe,eAAe,CAAC,CAAC,SAAS,eAAe,EACtD,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAC/B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAiD3B;AAED,OAAO,EAAE,eAAe,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function enqueueRequest<T>(requestFn: () => Promise<T>): Promise<T>;
2
+ //# sourceMappingURL=enqueueRequest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enqueueRequest.d.ts","sourceRoot":"","sources":["../../../src/api/utils/enqueueRequest.ts"],"names":[],"mappings":"AAEA,wBAAgB,cAAc,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAiBzE"}
@@ -0,0 +1,18 @@
1
+ import { FetchQueryError } from '@adobe/fetch-graphql';
2
+
3
+ type ErrorPath = (string | number)[];
4
+ export type ErrorWithPath = FetchQueryError[number] & {
5
+ path?: ErrorPath;
6
+ };
7
+ /**
8
+ * Filters out errors with known paths from a list of errors generated by a GraphQL query.
9
+ *
10
+ * Known issue: The query does not differentiate between physical and virtual gift cards, leading
11
+ * to errors for physical ones as they don't have 'sender_email' and 'recipient_email' properties.
12
+ *
13
+ * @param {ErrorWithPath[]} errors - Array of errors to be filtered.
14
+ * @return {ErrorWithPath[]} Uncontrolled (unexpected) errors not matching predefined paths.
15
+ */
16
+ export declare function filterControlledErrors(errors: ErrorWithPath[]): ErrorWithPath[];
17
+ export {};
18
+ //# sourceMappingURL=filterControlledErrors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filterControlledErrors.d.ts","sourceRoot":"","sources":["../../../src/api/utils/filterControlledErrors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,KAAK,SAAS,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;AAErC,MAAM,MAAM,aAAa,GAAG,eAAe,CAAC,MAAM,CAAC,GAAG;IACpD,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB,CAAC;AAIF;;;;;;;;GAQG;AAEH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,aAAa,EAAE,mBAQ7D"}
package/api.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from './api/index'
@@ -1,2 +1,2 @@
1
- import"@dropins/tools/event-bus.js";import{j as m,i as _,u as B,l as I}from"./getStoreConfig.js";import{s as C}from"./setBillingAddress.js";import{classes as x}from"@dropins/tools/lib.js";import{Checkbox as y,Skeleton as N,SkeletonRow as j}from"@dropins/tools/components.js";/* empty css */import{jsx as a}from"@dropins/tools/preact-jsx-runtime.js";import{useText as z}from"@dropins/tools/i18n.js";import{useState as T,useEffect as k}from"@dropins/tools/preact-compat.js";const U=({className:r,isInitialized:t=!0,checked:n=!0,...s})=>{const e=z({title:"Checkout.BillToShippingAddress.title"});return t?a("div",{className:x(["checkout-bill-to-shipping-address",r]),children:a(y,{"data-testid":"bill-to-shipping-checkbox",className:"checkout-bill-to-shipping-address__checkbox",checked:n,name:"checkout-bill-to-shipping-address__checkbox",label:e.title,...s})}):a(w,{})},w=()=>a(N,{className:"bill-to-shipping-address__skeleton",children:a(j,{variant:"row",size:"small"})}),v="is_bill_to_shipping_address";function F(r,t,n){const s=r[n],e=t[n];return s===void 0&&e===void 0||s===null&&e===null?!0:typeof s=="object"&&typeof e=="object"?JSON.stringify(s)===JSON.stringify(e):s===e}function S(r,t,n){return!t&&!n?!0:!t||!n?!1:r.every(s=>{const e=s.code;return F(t,n,e)})}const H=({isBillToShipping:r})=>{var A;const[t,n]=T(!1),{fields:s}=B(),e=_.value.data,p=(e==null?void 0:e.id)||"",c=!!e,o=e==null?void 0:e.billingAddress,d=(A=e==null?void 0:e.shippingAddresses)==null?void 0:A[0],u=!!d,h=!!(o&&d),i=I.value.data,g=i==null?void 0:i.defaultShippingAddress,f=i==null?void 0:i.defaultBillingAddress,b=!!(g&&f);return k(()=>{if(t)return;const l=localStorage.getItem(v);l&&(n(!0),r.value={checked:l==="true",setByUser:!1})},[t,r]),k(()=>{if(!s||!c||h||!b)return;n(!0);const l=S(s,f,g);r.value={checked:l,setByUser:!1}},[f,g,s,c,h,b,r,t]),k(()=>{if(t||!s||!c)return;n(!0);const l=S(s,o,d);r.value={checked:o?l:r.value.checked,setByUser:!1}},[o,s,c,r,t,d]),{cartId:p,isInitialized:t,hasShippingAddress:u}},Y=({children:r,...t})=>{const n=m.value.checked,{cartId:s,hasShippingAddress:e,isInitialized:p}=H({isBillToShipping:m});return a(U,{...t,checked:n,isInitialized:p,onChange:o=>{const u=o.target.checked;if(m.value={checked:u,setByUser:!0},localStorage.setItem(v,u.toString()),!p||!u||!e)return;const h=new AbortController;return C({signal:h.signal,cartId:s,input:{same_as_shipping:!0}}).catch(i=>{console.error(i)}),()=>{h.abort()}},disabled:_.value.pending})};export{Y as B,v as a,S as c};
1
+ import"@dropins/tools/event-bus.js";import{j as h,i as f,u as k}from"./getStoreConfig.js";import{s as b}from"./setBillingAddress.js";import{classes as S}from"@dropins/tools/lib.js";import{Checkbox as _,Skeleton as A,SkeletonRow as v}from"@dropins/tools/components.js";/* empty css */import{jsx as o}from"@dropins/tools/preact-jsx-runtime.js";import{useText as I}from"@dropins/tools/i18n.js";import{useState as B,useEffect as g}from"@dropins/tools/preact-compat.js";const x=({className:r,isInitialized:s=!0,checked:i=!0,...t})=>{const e=I({title:"Checkout.BillToShippingAddress.title"});return s?o("div",{className:S(["checkout-bill-to-shipping-address",r]),children:o(_,{"data-testid":"bill-to-shipping-checkbox",className:"checkout-bill-to-shipping-address__checkbox",checked:i,name:"checkout-bill-to-shipping-address__checkbox",label:e.title,...t})}):o(C,{})},C=()=>o(A,{className:"bill-to-shipping-address__skeleton",children:o(v,{variant:"row",size:"small"})}),m="is_bill_to_shipping_address";function y(r,s,i){const t=r[i],e=s[i];return t===void 0&&e===void 0||t===null&&e===null?!0:typeof t=="object"&&typeof e=="object"?JSON.stringify(t)===JSON.stringify(e):t===e}function N(r,s,i){return!s&&!i?!0:!s||!i?!1:r.every(t=>{const e=t.code;return y(s,i,e)})}const T=({isBillToShipping:r})=>{var a;const[s,i]=B(!1),{fields:t}=k(),e=f.value.data,d=(e==null?void 0:e.id)||"",p=!!e,l=e==null?void 0:e.billingAddress,u=(a=e==null?void 0:e.shippingAddresses)==null?void 0:a[0],c=!!u;return g(()=>{if(s)return;const n=localStorage.getItem(m);n&&(i(!0),r.value={checked:n==="true",setByUser:!1})},[s,r]),g(()=>{if(s||!t||!p)return;i(!0);const n=N(t,l,u);r.value={checked:l?n:r.value.checked,setByUser:!1}},[l,t,p,r,s,u]),{cartId:d,isInitialized:s,hasShippingAddress:c}},L=({children:r,...s})=>{const i=h.value.checked,{cartId:t,hasShippingAddress:e,isInitialized:d}=T({isBillToShipping:h});return o(x,{...s,checked:i,isInitialized:d,onChange:l=>{const c=l.target.checked;if(h.value={checked:c,setByUser:!0},localStorage.setItem(m,c.toString()),!d||!c||!e)return;const a=new AbortController;return b({signal:a.signal,cartId:t,input:{same_as_shipping:!0}}).catch(n=>{console.error(n)}),()=>{a.abort()}},disabled:f.value.pending})};export{L as B,m as a,N as c};
2
2
  //# sourceMappingURL=BillToShippingAddress2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BillToShippingAddress2.js","sources":["../../src/components/BillToShippingAddress/BillToShippingAddress.tsx","../../src/components/BillToShippingAddress/BillToShippingAddressSkeleton.tsx","../../src/containers/BillToShippingAddress/constants.ts","../../src/containers/BillToShippingAddress/BillToShippingAddress.tsx"],"sourcesContent":["import { FunctionComponent } from 'preact';\nimport { classes } from '@adobe/elsie/lib';\nimport { Checkbox, CheckboxProps } from '@adobe/elsie/components';\nimport { BillToShippingAddressSkeleton } from '@/checkout/components/BillToShippingAddress';\nimport '@/checkout/components/BillToShippingAddress/BillToShippingAddress.css';\nimport { useText } from '@adobe/elsie/i18n';\n\nexport interface BillToShippingAddressProps\n extends Omit<CheckboxProps, 'name' | 'label'> {\n isInitialized?: boolean;\n}\n\nexport const BillToShippingAddress: FunctionComponent<\n BillToShippingAddressProps\n> = ({ className, isInitialized = true, checked = true, ...props }) => {\n const translations = useText({\n title: 'Checkout.BillToShippingAddress.title',\n });\n\n if (!isInitialized) return <BillToShippingAddressSkeleton />;\n\n return (\n <div className={classes(['checkout-bill-to-shipping-address', className])}>\n <Checkbox\n data-testid=\"bill-to-shipping-checkbox\"\n className=\"checkout-bill-to-shipping-address__checkbox\"\n checked={checked}\n name=\"checkout-bill-to-shipping-address__checkbox\"\n label={translations.title}\n {...props}\n />\n </div>\n );\n};\n","import { FunctionComponent } from 'preact';\nimport { Skeleton, SkeletonRow } from '@adobe/elsie/components';\n\nexport const BillToShippingAddressSkeleton: FunctionComponent = () => {\n return (\n <Skeleton className=\"bill-to-shipping-address__skeleton\">\n <SkeletonRow variant=\"row\" size=\"small\" />\n </Skeleton>\n );\n};\n","export const BILL_TO_SHIPPING_KEY = 'is_bill_to_shipping_address';\n","import { setBillingAddress } from '@/checkout/api';\nimport { BillToShippingAddress as BillToShippingAddressComponent } from '@/checkout/components/BillToShippingAddress';\nimport {\n IsBillToShipping,\n cartSignal,\n customerSignal,\n isBillToShippingSignal,\n} from '@/checkout/signals';\nimport { Container } from '@adobe/elsie/lib';\nimport { Signal } from '@preact/signals-core';\nimport { useEffect, useState } from 'preact/compat';\nimport { BILL_TO_SHIPPING_KEY } from './constants';\nimport { useAddressFormFields } from '@/checkout/context/address-form-fields';\nimport { CheckboxProps } from '@adobe/elsie/components';\nimport {\n ShippingAddress,\n BillingAddress,\n} from '@/checkout/data/models/address';\nimport { AddressFormField } from '@/checkout/data/models/address-form-fields';\n\ntype Address = BillingAddress | ShippingAddress[];\n\nfunction compareFields(first: Address, second: Address, field: keyof Address) {\n const firstValue = first[field];\n const secondValue = second[field];\n\n if (firstValue === undefined && secondValue === undefined) return true;\n if (firstValue === null && secondValue === null) return true;\n\n if (typeof firstValue === 'object' && typeof secondValue === 'object') {\n return JSON.stringify(firstValue) === JSON.stringify(secondValue);\n }\n\n return firstValue === secondValue;\n}\n\nexport function compareAddresses(\n addressFormFields: AddressFormField[],\n first: BillingAddress | undefined,\n second: ShippingAddress | undefined\n) {\n if (!first && !second) return true;\n if (!first || !second) return false;\n\n return addressFormFields.every((field) => {\n const fieldCode = field.code as keyof Address;\n return compareFields(first, second, fieldCode);\n });\n}\n\nconst useInitialState = ({\n isBillToShipping,\n}: {\n isBillToShipping: Signal<IsBillToShipping>;\n}) => {\n const [isInitialized, setIsInitialized] = useState(false);\n\n const { fields } = useAddressFormFields();\n\n const cart = cartSignal.value.data;\n const cartId = cart?.id || '';\n const hasCart = !!cart;\n const billingAddress = cart?.billingAddress;\n const shippingAddress = cart?.shippingAddresses?.[0];\n const hasShippingAddress = Boolean(shippingAddress);\n const hasCartAddresses = Boolean(billingAddress && shippingAddress);\n\n const customer = customerSignal.value.data;\n const customerShippingAddress = customer?.defaultShippingAddress;\n const customerBillingAddress = customer?.defaultBillingAddress;\n const hasCustomerAddresses = Boolean(\n customerShippingAddress && customerBillingAddress\n );\n\n // Sync state with local storage\n useEffect(() => {\n if (isInitialized) return;\n\n const localBillToShipping = localStorage.getItem(BILL_TO_SHIPPING_KEY);\n if (!localBillToShipping) return;\n\n setIsInitialized(true);\n\n isBillToShipping.value = {\n checked: localBillToShipping === 'true',\n setByUser: false,\n };\n }, [isInitialized, isBillToShipping]);\n\n // Sync state with the customer\n useEffect(() => {\n if (!fields || !hasCart) return;\n if (hasCartAddresses || !hasCustomerAddresses) return;\n\n setIsInitialized(true);\n\n const checked = compareAddresses(\n fields,\n customerBillingAddress,\n customerShippingAddress\n );\n\n isBillToShipping.value = { checked, setByUser: false };\n }, [\n customerBillingAddress,\n customerShippingAddress,\n fields,\n hasCart,\n hasCartAddresses,\n hasCustomerAddresses,\n isBillToShipping,\n isInitialized,\n ]);\n\n // Sync state with the cart\n useEffect(() => {\n if (isInitialized || !fields || !hasCart) return;\n\n setIsInitialized(true);\n\n const checked = compareAddresses(fields, billingAddress, shippingAddress);\n\n isBillToShipping.value = {\n checked: billingAddress ? checked : isBillToShipping.value.checked,\n setByUser: false,\n };\n }, [\n billingAddress,\n fields,\n hasCart,\n isBillToShipping,\n isInitialized,\n shippingAddress,\n ]);\n\n return { cartId, isInitialized, hasShippingAddress };\n};\n\nexport interface BillToShippingAddressProps\n extends Omit<CheckboxProps, 'name' | 'label'> {}\n\nexport const BillToShippingAddress: Container<BillToShippingAddressProps> = ({\n children,\n ...props\n}) => {\n const isBillToShipping = isBillToShippingSignal.value.checked;\n\n const { cartId, hasShippingAddress, isInitialized } = useInitialState({\n isBillToShipping: isBillToShippingSignal,\n });\n\n const onChangeHandler = (event: Event) => {\n const checkbox = event.target as HTMLInputElement;\n const isChecked = checkbox.checked;\n\n isBillToShippingSignal.value = { checked: isChecked, setByUser: true };\n localStorage.setItem(BILL_TO_SHIPPING_KEY, isChecked.toString());\n\n if (!isInitialized || !isChecked || !hasShippingAddress) return;\n\n const controller = new AbortController();\n\n setBillingAddress({\n signal: controller.signal,\n cartId,\n input: { same_as_shipping: true },\n }).catch((error) => {\n console.error(error);\n });\n\n return () => {\n controller.abort();\n };\n };\n\n return (\n <BillToShippingAddressComponent\n {...props}\n checked={isBillToShipping}\n isInitialized={isInitialized}\n onChange={onChangeHandler}\n disabled={cartSignal.value.pending}\n />\n );\n};\n"],"names":["BillToShippingAddress","className","isInitialized","checked","props","translations","useText","title","_jsx","classes","children","Checkbox","name","label","BillToShippingAddressSkeleton","Skeleton","SkeletonRow","variant","size","BILL_TO_SHIPPING_KEY","compareFields","first","second","field","firstValue","secondValue","undefined","JSON","stringify","compareAddresses","addressFormFields","every","fieldCode","code","useInitialState","isBillToShipping","setIsInitialized","useState","fields","useAddressFormFields","cart","cartSignal","value","data","cartId","id","hasCart","billingAddress","shippingAddress","shippingAddresses","hasShippingAddress","Boolean","hasCartAddresses","customer","customerSignal","customerShippingAddress","defaultShippingAddress","customerBillingAddress","defaultBillingAddress","hasCustomerAddresses","useEffect","localBillToShipping","localStorage","getItem","setByUser","isBillToShippingSignal","BillToShippingAddressComponent","onChange","event","isChecked","target","setItem","toString","controller","AbortController","setBillingAddress","signal","input","same_as_shipping","catch","error","console","abort","disabled","pending"],"mappings":"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"}
1
+ {"version":3,"file":"BillToShippingAddress2.js","sources":["../../src/components/BillToShippingAddress/BillToShippingAddress.tsx","../../src/components/BillToShippingAddress/BillToShippingAddressSkeleton.tsx","../../src/containers/BillToShippingAddress/constants.ts","../../src/containers/BillToShippingAddress/BillToShippingAddress.tsx"],"sourcesContent":["import { FunctionComponent } from 'preact';\nimport { classes } from '@adobe/elsie/lib';\nimport { Checkbox, CheckboxProps } from '@adobe/elsie/components';\nimport { BillToShippingAddressSkeleton } from '@/checkout/components/BillToShippingAddress';\nimport '@/checkout/components/BillToShippingAddress/BillToShippingAddress.css';\nimport { useText } from '@adobe/elsie/i18n';\n\nexport interface BillToShippingAddressProps\n extends Omit<CheckboxProps, 'name' | 'label'> {\n isInitialized?: boolean;\n}\n\nexport const BillToShippingAddress: FunctionComponent<\n BillToShippingAddressProps\n> = ({ className, isInitialized = true, checked = true, ...props }) => {\n const translations = useText({\n title: 'Checkout.BillToShippingAddress.title',\n });\n\n if (!isInitialized) return <BillToShippingAddressSkeleton />;\n\n return (\n <div className={classes(['checkout-bill-to-shipping-address', className])}>\n <Checkbox\n data-testid=\"bill-to-shipping-checkbox\"\n className=\"checkout-bill-to-shipping-address__checkbox\"\n checked={checked}\n name=\"checkout-bill-to-shipping-address__checkbox\"\n label={translations.title}\n {...props}\n />\n </div>\n );\n};\n","import { FunctionComponent } from 'preact';\nimport { Skeleton, SkeletonRow } from '@adobe/elsie/components';\n\nexport const BillToShippingAddressSkeleton: FunctionComponent = () => {\n return (\n <Skeleton className=\"bill-to-shipping-address__skeleton\">\n <SkeletonRow variant=\"row\" size=\"small\" />\n </Skeleton>\n );\n};\n","export const BILL_TO_SHIPPING_KEY = 'is_bill_to_shipping_address';\n","import { setBillingAddress } from '@/checkout/api';\nimport { BillToShippingAddress as BillToShippingAddressComponent } from '@/checkout/components/BillToShippingAddress';\nimport {\n IsBillToShipping,\n cartSignal,\n isBillToShippingSignal,\n} from '@/checkout/signals';\nimport { Container } from '@adobe/elsie/lib';\nimport { Signal } from '@preact/signals-core';\nimport { useEffect, useState } from 'preact/compat';\nimport { BILL_TO_SHIPPING_KEY } from './constants';\nimport { useAddressFormFields } from '@/checkout/context/address-form-fields';\nimport { CheckboxProps } from '@adobe/elsie/components';\nimport {\n ShippingAddress,\n BillingAddress,\n} from '@/checkout/data/models/address';\nimport { AddressFormField } from '@/checkout/data/models/address-form-fields';\n\ntype Address = BillingAddress | ShippingAddress[];\n\nfunction compareFields(first: Address, second: Address, field: keyof Address) {\n const firstValue = first[field];\n const secondValue = second[field];\n\n if (firstValue === undefined && secondValue === undefined) return true;\n if (firstValue === null && secondValue === null) return true;\n\n if (typeof firstValue === 'object' && typeof secondValue === 'object') {\n return JSON.stringify(firstValue) === JSON.stringify(secondValue);\n }\n\n return firstValue === secondValue;\n}\n\nexport function compareAddresses(\n addressFormFields: AddressFormField[],\n first: BillingAddress | undefined,\n second: ShippingAddress | undefined\n) {\n if (!first && !second) return true;\n if (!first || !second) return false;\n\n return addressFormFields.every((field) => {\n const fieldCode = field.code as keyof Address;\n return compareFields(first, second, fieldCode);\n });\n}\n\nconst useInitialState = ({\n isBillToShipping,\n}: {\n isBillToShipping: Signal<IsBillToShipping>;\n}) => {\n const [isInitialized, setIsInitialized] = useState(false);\n\n const { fields } = useAddressFormFields();\n\n const cart = cartSignal.value.data;\n const cartId = cart?.id || '';\n const hasCart = !!cart;\n const billingAddress = cart?.billingAddress;\n const shippingAddress = cart?.shippingAddresses?.[0];\n const hasShippingAddress = Boolean(shippingAddress);\n\n // Sync state with local storage\n useEffect(() => {\n if (isInitialized) return;\n\n const localBillToShipping = localStorage.getItem(BILL_TO_SHIPPING_KEY);\n if (!localBillToShipping) return;\n\n setIsInitialized(true);\n\n isBillToShipping.value = {\n checked: localBillToShipping === 'true',\n setByUser: false,\n };\n }, [isInitialized, isBillToShipping]);\n\n // Sync state with the cart\n useEffect(() => {\n if (isInitialized || !fields || !hasCart) return;\n\n setIsInitialized(true);\n\n const checked = compareAddresses(fields, billingAddress, shippingAddress);\n\n isBillToShipping.value = {\n checked: billingAddress ? checked : isBillToShipping.value.checked,\n setByUser: false,\n };\n }, [\n billingAddress,\n fields,\n hasCart,\n isBillToShipping,\n isInitialized,\n shippingAddress,\n ]);\n\n return { cartId, isInitialized, hasShippingAddress };\n};\n\nexport interface BillToShippingAddressProps\n extends Omit<CheckboxProps, 'name' | 'label'> {}\n\nexport const BillToShippingAddress: Container<BillToShippingAddressProps> = ({\n children,\n ...props\n}) => {\n const isBillToShipping = isBillToShippingSignal.value.checked;\n\n const { cartId, hasShippingAddress, isInitialized } = useInitialState({\n isBillToShipping: isBillToShippingSignal,\n });\n\n const onChangeHandler = (event: Event) => {\n const checkbox = event.target as HTMLInputElement;\n const isChecked = checkbox.checked;\n\n isBillToShippingSignal.value = { checked: isChecked, setByUser: true };\n localStorage.setItem(BILL_TO_SHIPPING_KEY, isChecked.toString());\n\n if (!isInitialized || !isChecked || !hasShippingAddress) return;\n\n const controller = new AbortController();\n\n setBillingAddress({\n signal: controller.signal,\n cartId,\n input: { same_as_shipping: true },\n }).catch((error) => {\n console.error(error);\n });\n\n return () => {\n controller.abort();\n };\n };\n\n return (\n <BillToShippingAddressComponent\n {...props}\n checked={isBillToShipping}\n isInitialized={isInitialized}\n onChange={onChangeHandler}\n disabled={cartSignal.value.pending}\n />\n );\n};\n"],"names":["BillToShippingAddress","className","isInitialized","checked","props","translations","useText","title","_jsx","classes","children","Checkbox","name","label","BillToShippingAddressSkeleton","Skeleton","SkeletonRow","variant","size","BILL_TO_SHIPPING_KEY","compareFields","first","second","field","firstValue","secondValue","undefined","JSON","stringify","compareAddresses","addressFormFields","every","fieldCode","code","useInitialState","isBillToShipping","setIsInitialized","useState","fields","useAddressFormFields","cart","cartSignal","value","data","cartId","id","hasCart","billingAddress","shippingAddress","shippingAddresses","hasShippingAddress","Boolean","useEffect","localBillToShipping","localStorage","getItem","setByUser","isBillToShippingSignal","BillToShippingAddressComponent","onChange","event","isChecked","target","setItem","toString","controller","AbortController","setBillingAddress","signal","input","same_as_shipping","catch","error","console","abort","disabled","pending"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import*as t from"@dropins/tools/preact-compat.js";import{useState as m,useEffect as f}from"@dropins/tools/preact-compat.js";import{events as u}from"@dropins/tools/event-bus.js";import{AlertBanner as a,Icon as g}from"@dropins/tools/components.js";import{jsx as n}from"@dropins/tools/preact-jsx-runtime.js";import{useText as p}from"@dropins/tools/i18n.js";const h=r=>t.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...r},t.createElement("path",{vectorEffect:"non-scaling-stroke",fillRule:"evenodd",clipRule:"evenodd",d:"M1 20.8953L12.1922 1.5L23.395 20.8953H1ZM13.0278 13.9638L13.25 10.0377V9H11.25V10.0377L11.4722 13.9638H13.0278ZM11.2994 16V17.7509H13.2253V16H11.2994Z",fill:"currentColor"})),x=r=>{const[i,s]=m(!1);f(()=>{const o=u.on("error",e=>{(e==null?void 0:e.source)==="checkout"&&(e==null?void 0:e.type)==="network"&&s(!0)});return()=>{o==null||o.off()}},[]);const l=()=>{s(!1)},c=p({message:"Checkout.ErrorBanner.genericMessage",label:"Checkout.ErrorBanner.dismissLabel"});return i?n(a,{...r,"data-testid":"error-banner",icon:n(g,{source:h}),message:n("span",{children:c.message}),onDismiss:l,variant:"warning"}):null};export{x as E};
1
+ import*as t from"@dropins/tools/preact-compat.js";import{useState as m,useEffect as f}from"@dropins/tools/preact-compat.js";import{events as u}from"@dropins/tools/event-bus.js";import{AlertBanner as a,Icon as g}from"@dropins/tools/components.js";import{jsx as o}from"@dropins/tools/preact-jsx-runtime.js";import{useText as p}from"@dropins/tools/i18n.js";const h=r=>t.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...r},t.createElement("path",{vectorEffect:"non-scaling-stroke",fillRule:"evenodd",clipRule:"evenodd",d:"M1 20.8953L12.1922 1.5L23.395 20.8953H1ZM13.0278 13.9638L13.25 10.0377V9H11.25V10.0377L11.4722 13.9638H13.0278ZM11.2994 16V17.7509H13.2253V16H11.2994Z",fill:"currentColor"})),x=r=>{const[c,s]=m(!1);f(()=>{const n=u.on("error",e=>{(e==null?void 0:e.source)==="checkout"&&(e==null?void 0:e.type)==="network"&&s(!0)});return()=>{n==null||n.off()}},[]);const i=()=>{s(!1)},l=p({message:"Checkout.ErrorBanner.genericMessage"});return c?o(a,{...r,className:"checkout__banner","data-testid":"error-banner",icon:o(g,{source:h}),message:o("span",{children:l.message}),onDismiss:i,variant:"warning"}):null};export{x as E};
2
2
  //# sourceMappingURL=ErrorBanner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ErrorBanner.js","sources":["../../node_modules/@adobe/elsie/src/icons/WarningFilled.svg","../../src/containers/ErrorBanner/ErrorBanner.tsx"],"sourcesContent":["import * as React from \"react\";\nconst SvgWarningFilled = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M1 20.8953L12.1922 1.5L23.395 20.8953H1ZM13.0278 13.9638L13.25 10.0377V9H11.25V10.0377L11.4722 13.9638H13.0278ZM11.2994 16V17.7509H13.2253V16H11.2994Z\", fill: \"currentColor\" }));\nexport default SvgWarningFilled;\n","import { FunctionComponent, useEffect, useState } from 'preact/compat';\nimport { useText } from '@adobe/elsie/i18n';\nimport { events } from '@adobe/event-bus';\nimport { AlertBanner, AlertBannerProps, Icon } from '@adobe/elsie/components';\nimport { WarningFilled } from '@adobe/elsie/icons';\n\nexport const ErrorBanner: FunctionComponent<Partial<AlertBannerProps>> = (\n props\n) => {\n const [hasError, setHasError] = useState<boolean>(false);\n\n useEffect(() => {\n const subscription = events.on('error', (data) => {\n if (data?.source === 'checkout' && data?.type === 'network') {\n setHasError(true);\n }\n });\n return () => {\n subscription?.off();\n };\n }, []);\n\n const onDismiss = () => {\n setHasError(false);\n };\n\n const translations = useText({\n message: 'Checkout.ErrorBanner.genericMessage',\n label: 'Checkout.ErrorBanner.dismissLabel',\n });\n\n if (!hasError) return null;\n\n return (\n <AlertBanner\n {...props}\n data-testid=\"error-banner\"\n icon={<Icon source={WarningFilled} />}\n message={<span>{translations.message}</span>}\n onDismiss={onDismiss}\n variant=\"warning\"\n />\n );\n};\n"],"names":["SvgWarningFilled","props","React","ErrorBanner","hasError","setHasError","useState","useEffect","subscription","events","on","data","source","type","off","onDismiss","translations","useText","message","label","_jsx","AlertBanner","icon","Icon","WarningFilled","children","variant"],"mappings":"kWACA,MAAMA,EAAoBC,GAA0BC,EAAM,cAAc,MAAO,CAAE,MAAO,GAAI,OAAQ,GAAI,QAAS,YAAa,KAAM,OAAQ,MAAO,6BAA8B,GAAGD,CAAO,EAAkBC,EAAM,cAAc,OAAQ,CAAE,aAAc,qBAAsB,SAAU,UAAW,SAAU,UAAW,EAAG,yJAA0J,KAAM,cAAc,CAAE,CAAC,ECKheC,EAERF,GAAA,CACH,KAAM,CAACG,EAAUC,CAAW,EAAIC,EAAkB,EAAK,EAEvDC,EAAU,IAAM,CACd,MAAMC,EAAeC,EAAOC,GAAG,QAAmBC,GAAA,EAC5CA,GAAAA,YAAAA,EAAMC,UAAW,aAAcD,GAAAA,YAAAA,EAAME,QAAS,WAChDR,EAAY,EAAI,CAClB,CACD,EACD,MAAO,IAAM,CACXG,GAAAA,MAAAA,EAAcM,KAAI,CAEtB,EAAG,CAAE,CAAA,EAEL,MAAMC,EAAYA,IAAM,CACtBV,EAAY,EAAK,CAAA,EAGbW,EAAeC,EAAQ,CAC3BC,QAAS,sCACTC,MAAO,mCAAA,CACR,EAED,OAAKf,EAGHgB,EAACC,EAAW,CAAA,GACNpB,EACJ,cAAY,eACZqB,KAAMF,EAACG,EAAI,CAACX,OAAQY,CAAAA,CAAgB,EACpCN,QAASE,EAAA,OAAA,CAAAK,SAAOT,EAAaE,OAAAA,CAAc,EAC3CH,UAAAA,EACAW,QAAQ,SAAA,CACT,EAVmB,IAYxB","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"ErrorBanner.js","sources":["../../node_modules/@adobe/elsie/src/icons/WarningFilled.svg","../../src/containers/ErrorBanner/ErrorBanner.tsx"],"sourcesContent":["import * as React from \"react\";\nconst SvgWarningFilled = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M1 20.8953L12.1922 1.5L23.395 20.8953H1ZM13.0278 13.9638L13.25 10.0377V9H11.25V10.0377L11.4722 13.9638H13.0278ZM11.2994 16V17.7509H13.2253V16H11.2994Z\", fill: \"currentColor\" }));\nexport default SvgWarningFilled;\n","import { FunctionComponent, useEffect, useState } from 'preact/compat';\nimport { useText } from '@adobe/elsie/i18n';\nimport { events } from '@adobe/event-bus';\nimport { AlertBanner, AlertBannerProps, Icon } from '@adobe/elsie/components';\nimport { WarningFilled } from '@adobe/elsie/icons';\n\nexport const ErrorBanner: FunctionComponent<Partial<AlertBannerProps>> = (\n props\n) => {\n const [hasError, setHasError] = useState<boolean>(false);\n\n useEffect(() => {\n const subscription = events.on('error', (data) => {\n if (data?.source === 'checkout' && data?.type === 'network') {\n setHasError(true);\n }\n });\n return () => {\n subscription?.off();\n };\n }, []);\n\n const onDismiss = () => {\n setHasError(false);\n };\n\n const translations = useText({\n message: 'Checkout.ErrorBanner.genericMessage',\n });\n\n if (!hasError) return null;\n\n return (\n <AlertBanner\n {...props}\n className=\"checkout__banner\"\n data-testid=\"error-banner\"\n icon={<Icon source={WarningFilled} />}\n message={<span>{translations.message}</span>}\n onDismiss={onDismiss}\n variant=\"warning\"\n />\n );\n};\n"],"names":["SvgWarningFilled","props","React","ErrorBanner","hasError","setHasError","useState","useEffect","subscription","events","on","data","source","type","off","onDismiss","translations","useText","message","_jsx","AlertBanner","className","icon","Icon","WarningFilled","children","variant"],"mappings":"kWACA,MAAMA,EAAoBC,GAA0BC,EAAM,cAAc,MAAO,CAAE,MAAO,GAAI,OAAQ,GAAI,QAAS,YAAa,KAAM,OAAQ,MAAO,6BAA8B,GAAGD,CAAO,EAAkBC,EAAM,cAAc,OAAQ,CAAE,aAAc,qBAAsB,SAAU,UAAW,SAAU,UAAW,EAAG,yJAA0J,KAAM,cAAc,CAAE,CAAC,ECKheC,EAERF,GAAA,CACH,KAAM,CAACG,EAAUC,CAAW,EAAIC,EAAkB,EAAK,EAEvDC,EAAU,IAAM,CACd,MAAMC,EAAeC,EAAOC,GAAG,QAAmBC,GAAA,EAC5CA,GAAAA,YAAAA,EAAMC,UAAW,aAAcD,GAAAA,YAAAA,EAAME,QAAS,WAChDR,EAAY,EAAI,CAClB,CACD,EACD,MAAO,IAAM,CACXG,GAAAA,MAAAA,EAAcM,KAAI,CAEtB,EAAG,CAAE,CAAA,EAEL,MAAMC,EAAYA,IAAM,CACtBV,EAAY,EAAK,CAAA,EAGbW,EAAeC,EAAQ,CAC3BC,QAAS,qCAAA,CACV,EAED,OAAKd,EAGHe,EAACC,EAAW,CAAA,GACNnB,EACJoB,UAAU,mBACV,cAAY,eACZC,KAAMH,EAACI,EAAI,CAACX,OAAQY,CAAAA,CAAgB,EACpCN,QAASC,EAAA,OAAA,CAAAM,SAAOT,EAAaE,OAAAA,CAAc,EAC3CH,UAAAA,EACAW,QAAQ,SAAA,CACT,EAXmB,IAaxB","x_google_ignoreList":[0]}
@@ -0,0 +1,2 @@
1
+ import*as i from"@dropins/tools/preact-compat.js";import{useState as f,useEffect as u}from"@dropins/tools/preact-compat.js";import{AlertBanner as g,Icon as p}from"@dropins/tools/components.js";import{events as M}from"@dropins/tools/event-bus.js";import{jsx as e,jsxs as h}from"@dropins/tools/preact-jsx-runtime.js";import{Text as c}from"@dropins/tools/i18n.js";const v=t=>i.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},i.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M0 12C0 5.37931 5.37931 0 12 0C18.6207 0 24 5.37931 24 12C24 18.6207 18.6207 24 12 24C5.37931 24 0 18.6207 0 12ZM11.8885 5.06101C11.1405 5.06101 10.5357 5.66579 10.5357 6.4138V6.57295C10.5835 7.27321 11.1882 7.81433 11.8885 7.76658H12.0795C12.7797 7.70292 13.289 7.09815 13.2413 6.4138C13.2413 5.66579 12.6365 5.06101 11.8885 5.06101ZM13.1935 16.8223H14.1007C14.2599 16.8223 14.4031 16.9655 14.4031 17.1247V17.7294C14.4031 17.9045 14.2599 18.0318 14.1007 18.0318H9.8832C9.70813 18.0318 9.58081 17.8886 9.58081 17.7294V17.1247C9.58081 16.9496 9.72405 16.8223 9.8832 16.8223H10.7904V10.7905H9.8832C9.70813 10.7905 9.58081 10.6472 9.58081 10.4881V9.88329C9.58081 9.70823 9.72405 9.58091 9.8832 9.58091H12.5888C12.923 9.58091 13.1935 9.85146 13.1935 10.1857V16.8223Z",fill:"currentColor"})),B=t=>{const[r,s]=f(0);u(()=>{const n=M.on("cart/merged",o=>{var a;const l=(a=o==null?void 0:o.oldCartItems)==null?void 0:a.reduce((C,d)=>C+d.quantity,0);l>0&&s(l)});return()=>{n==null||n.off()}},[]);const m=()=>{s(0)};return r?e(g,{...t,className:"checkout__banner","data-testid":"merged-cart-banner",icon:e(p,{source:v}),message:h("span",{children:[e(c,{id:"Checkout.MergedCartBanner.items",fields:{count:r},plural:r}),e(c,{id:"Checkout.MergedCartBanner.genericMessage"})]}),onDismiss:m,variant:"neutral"}):null};export{B as M};
2
+ //# sourceMappingURL=MergedCartBanner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MergedCartBanner.js","sources":["../../node_modules/@adobe/elsie/src/icons/InfoFilled.svg","../../src/containers/MergedCartBanner/MergedCartBanner.tsx"],"sourcesContent":["import * as React from \"react\";\nconst SvgInfoFilled = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M0 12C0 5.37931 5.37931 0 12 0C18.6207 0 24 5.37931 24 12C24 18.6207 18.6207 24 12 24C5.37931 24 0 18.6207 0 12ZM11.8885 5.06101C11.1405 5.06101 10.5357 5.66579 10.5357 6.4138V6.57295C10.5835 7.27321 11.1882 7.81433 11.8885 7.76658H12.0795C12.7797 7.70292 13.289 7.09815 13.2413 6.4138C13.2413 5.66579 12.6365 5.06101 11.8885 5.06101ZM13.1935 16.8223H14.1007C14.2599 16.8223 14.4031 16.9655 14.4031 17.1247V17.7294C14.4031 17.9045 14.2599 18.0318 14.1007 18.0318H9.8832C9.70813 18.0318 9.58081 17.8886 9.58081 17.7294V17.1247C9.58081 16.9496 9.72405 16.8223 9.8832 16.8223H10.7904V10.7905H9.8832C9.70813 10.7905 9.58081 10.6472 9.58081 10.4881V9.88329C9.58081 9.70823 9.72405 9.58091 9.8832 9.58091H12.5888C12.923 9.58091 13.1935 9.85146 13.1935 10.1857V16.8223Z\", fill: \"currentColor\" }));\nexport default SvgInfoFilled;\n","import { FunctionComponent, useEffect, useState } from 'preact/compat';\nimport { Text } from '@adobe/elsie/i18n';\nimport { AlertBanner, AlertBannerProps, Icon } from '@adobe/elsie/components';\nimport { InfoFilled } from '@adobe/elsie/icons';\nimport { events } from '@adobe/event-bus';\n\nexport const MergedCartBanner: FunctionComponent<Partial<AlertBannerProps>> = (\n props\n) => {\n const [totalMergedItems, setTotalMergedItems] = useState(0);\n\n useEffect(() => {\n const subscription = events.on('cart/merged', (data) => {\n const oldCartItems = data?.oldCartItems?.reduce(\n (acc, item) => acc + item.quantity,\n 0\n );\n\n if (oldCartItems > 0) {\n setTotalMergedItems(oldCartItems);\n }\n });\n return () => {\n subscription?.off();\n };\n }, []);\n\n const onDismiss = () => {\n setTotalMergedItems(0);\n };\n\n if (!totalMergedItems) return null;\n\n return (\n <AlertBanner\n {...props}\n className=\"checkout__banner\"\n data-testid=\"merged-cart-banner\"\n icon={<Icon source={InfoFilled} />}\n message={\n <span>\n <Text\n id=\"Checkout.MergedCartBanner.items\"\n fields={{\n count: totalMergedItems,\n }}\n plural={totalMergedItems}\n />\n <Text id=\"Checkout.MergedCartBanner.genericMessage\" />\n </span>\n }\n onDismiss={onDismiss}\n variant=\"neutral\"\n />\n );\n};\n"],"names":["SvgInfoFilled","props","React","MergedCartBanner","totalMergedItems","setTotalMergedItems","useState","useEffect","subscription","events","on","data","oldCartItems","reduce","acc","item","quantity","off","onDismiss","_jsx","AlertBanner","className","icon","Icon","source","InfoFilled","message","_jsxs","children","Text","id","fields","count","plural","variant"],"mappings":"yWACA,MAAMA,EAAiBC,GAA0BC,EAAM,cAAc,MAAO,CAAE,MAAO,GAAI,OAAQ,GAAI,QAAS,YAAa,KAAM,OAAQ,MAAO,6BAA8B,GAAGD,CAAO,EAAkBC,EAAM,cAAc,OAAQ,CAAE,SAAU,UAAW,SAAU,UAAW,EAAG,6vBAA8vB,KAAM,cAAgB,CAAA,CAAC,ECK7hCC,EAERF,GAAA,CACH,KAAM,CAACG,EAAkBC,CAAmB,EAAIC,EAAS,CAAC,EAE1DC,EAAU,IAAM,CACd,MAAMC,EAAeC,EAAOC,GAAG,cAAyBC,GAAA,OAChDC,MAAAA,GAAeD,EAAAA,GAAAA,YAAAA,EAAMC,eAAND,YAAAA,EAAoBE,OACvC,CAACC,EAAKC,IAASD,EAAMC,EAAKC,SAC1B,GAGEJ,EAAe,GACjBP,EAAoBO,CAAY,CAClC,CACD,EACD,MAAO,IAAM,CACXJ,GAAAA,MAAAA,EAAcS,KAAI,CAEtB,EAAG,CAAE,CAAA,EAEL,MAAMC,EAAYA,IAAM,CACtBb,EAAoB,CAAC,CAAA,EAGvB,OAAKD,EAGHe,EAACC,EAAW,CAAA,GACNnB,EACJoB,UAAU,mBACV,cAAY,qBACZC,KAAMH,EAACI,EAAI,CAACC,OAAQC,CAAAA,CAAa,EACjCC,QACEC,EAAA,OAAA,CAAAC,SAAA,CACET,EAACU,EAAI,CACHC,GAAG,kCACHC,OAAQ,CACNC,MAAO5B,CACT,EACA6B,OAAQ7B,CAAAA,CACT,EACDe,EAACU,EAAI,CAACC,GAAG,0CAAA,CAA4C,CAAC,CAAA,CAClD,EAERZ,UAAAA,EACAgB,QAAQ,SAAA,CACT,EAtB2B,IAwBhC","x_google_ignoreList":[0]}
@@ -1,2 +1,2 @@
1
- import{H as N}from"./ToggleButton.js";import"@dropins/tools/preact-hooks.js";import{m as L,i as D}from"./getStoreConfig.js";import"@dropins/tools/event-bus.js";import{s as k}from"./SelectedShippingMethodSignal.js";import{classes as d}from"@dropins/tools/lib.js";import{Card as E,Divider as g,ProgressSpinner as z,Price as y,Skeleton as A,SkeletonRow as v}from"@dropins/tools/components.js";/* empty css */import{jsxs as u,jsx as r,Fragment as I}from"@dropins/tools/preact-jsx-runtime.js";import{Text as n}from"@dropins/tools/i18n.js";const j=({className:o,summary:p,isLoading:t=!1,...T})=>{const{total:m,subtotal:h,shipping:i,tax:c}=p;return u(E,{...T,className:d(["checkout-order-summary",["checkout-order-summary--loading",t],o]),children:[r(N,{level:2,className:"checkout-order-summary__title",children:r(n,{id:"Checkout.OrderSummary.title"})}),r(g,{variant:"primary"}),t&&r(z,{className:"checkout-order-summary__spinner"}),u("div",{"data-testid":"order-summary-subtotal",className:"checkout-order-summary__row",children:[r("p",{children:r(n,{id:"Checkout.OrderSummary.subtotal"})}),r(y,{amount:h.amount,currency:h.currency,className:d(["checkout-order-summary__price",o])})]}),h.isTaxIncl&&r("div",{"data-testid":"order-summary-subtotal-incl-tax",className:"checkout-order-summary__row checkout-order-summary__row--muted",children:r("p",{children:r(n,{id:"Checkout.OrderSummary.includingTaxes"})})}),i!=null&&u("div",{"data-testid":"order-summary-shipping",className:"checkout-order-summary__row",children:[r("p",{"data-testid":"order-summary-shipping-label",children:i.isEstimated?r(n,{id:"Checkout.OrderSummary.estimatedShipping"}):r(n,{id:"Checkout.OrderSummary.shipping"})}),i.amount===0?r("p",{"data-testid":"estimated-shipping",className:"checkout-order-summary__price",children:r(n,{id:"Checkout.OrderSummary.freeShipping"})}):r(y,{"data-testid":"estimated-shipping",amount:i.amount,currency:i.currency,className:d(["checkout-order-summary__price",o])})]}),c!=null&&!c.breakdown&&u("div",{"data-testid":"order-summary-tax",className:"checkout-order-summary__row",children:[r("p",{children:r(n,{id:"Checkout.OrderSummary.tax"})}),r(y,{amount:c.amount,currency:c.currency,className:d(["checkout-order-summary__price",o])})]}),c!=null&&c.breakdown&&u(I,{children:[r(g,{variant:"secondary"}),r("div",{className:"checkout-order-summary__row checkout-order-summary__row--margin-bottom",children:r("p",{children:r(n,{id:"Checkout.OrderSummary.taxBreakdown"})})}),c.breakdown.map(e=>u("div",{"data-testid":"order-summary-tax-breakdown",className:"checkout-order-summary__row checkout-order-summary__row--muted",children:[r("p",{children:e.label}),r(y,{amount:e.amount.value,currency:e.amount.currency,className:d(["checkout-order-summary__price",o])})]},e.label)),u("div",{"data-testid":"order-summary-tax-breakdown-total",className:"checkout-order-summary__row checkout-order-summary__row--strong checkout-order-summary__row--margin-top",children:[r("p",{children:r(n,{id:"Checkout.OrderSummary.taxTotal"})}),r(y,{amount:c.amount,currency:c.currency,className:d(["checkout-order-summary__price",o])})]}),r(g,{variant:"secondary"})]}),u("div",{"data-testid":"order-summary-total-incl-tax",className:"checkout-order-summary__row checkout-order-summary__row--emphasized",children:[r("p",{children:r(n,{id:"Checkout.OrderSummary.total"})}),r(y,{amount:m.inclTax.amount,currency:m.inclTax.currency,className:d(["checkout-order-summary__price",o])})]}),m.exclTax!=null&&u("div",{"data-testid":"order-summary-total-excl-tax",className:"checkout-order-summary__row checkout-order-summary__row--muted",children:[r("p",{children:r(n,{id:"Checkout.OrderSummary.totalExclTax"})}),r(y,{amount:m.exclTax.amount,currency:m.exclTax.currency,className:d(["checkout-order-summary__price",o])})]})]})},F=()=>u(A,{"data-testid":"order-summary-skeleton",className:"order-summary__skeleton",children:[r(v,{variant:"heading",size:"medium"}),r(v,{variant:"empty",size:"medium"}),r(v,{size:"large",fullWidth:!0,lines:3})]}),w=0,G=2,H={isLoading:!0};function P(){const{config:o}=L(),p=o===void 0,t=D.value.data;if(p||t===void 0)return H;const m=o.taxCartDisplay,h=m.shoppingCartDisplaySubtotal===G,i=t==null?void 0:t.shippingAddresses,c=!!(i!=null&&i.length),e=t==null?void 0:t.prices,x=e==null?void 0:e.grand_total,C=!!x,S=h?e==null?void 0:e.subtotal_including_tax:e==null?void 0:e.subtotal_excluding_tax,_=(e==null?void 0:e.applied_taxes)||[],f=!!_.length;if(!C)return{isLoading:!1};const a={total:{inclTax:{amount:x.value,currency:x.currency}},subtotal:{amount:S.value,currency:S.currency,isTaxIncl:h}};if(f){const l=_.reduce((b,O)=>b+O.amount.value,w),s=_[0];a.tax={amount:l,currency:s.amount.currency},m.shoppingCartDisplayFullSummary&&(a.tax.breakdown=_)}if(!f&&m.shoppingCartDisplayZeroTax&&(a.tax={amount:w,currency:a.total.inclTax.currency}),m.shoppingCartDisplayGrandTotal){const l=a.tax?a.total.inclTax.amount-a.tax.amount:a.total.inclTax.amount;a.total.exclTax={amount:l,currency:a.total.inclTax.currency}}if(c){const l=i[0],s=l==null?void 0:l.selectedShippingMethod;return s?(a.shipping={amount:s==null?void 0:s.amount.value,currency:s==null?void 0:s.amount.currency,isEstimated:!1},{isLoading:!1,summary:a}):{isLoading:!1,summary:a}}return k.value?(a.shipping={amount:k.value.amount.value,currency:k.value.amount.currency,isEstimated:!0},a.total.inclTax.amount+=a.shipping.amount,a.total.exclTax&&(a.total.exclTax.amount+=a.shipping.amount),{isLoading:!1,summary:a}):{isLoading:!1,summary:a}}const M=({...o})=>{const{isLoading:p,summary:t}=P();return u("div",{...o,children:[!t&&r(F,{}),t&&r(j,{isLoading:p,summary:t})]})};export{M as O,P as u};
2
- //# sourceMappingURL=OrderSummary.js.map
1
+ import{H as N}from"./ToggleButton.js";import"@dropins/tools/preact-hooks.js";import{m as L,i as D}from"./getStoreConfig.js";import"@dropins/tools/event-bus.js";import{s as k}from"./SelectedShippingMethodSignal.js";import{classes as d}from"@dropins/tools/lib.js";import{Card as E,Divider as g,ProgressSpinner as z,Price as y,Skeleton as A,SkeletonRow as v}from"@dropins/tools/components.js";/* empty css */import{jsxs as u,jsx as r,Fragment as I}from"@dropins/tools/preact-jsx-runtime.js";import{Text as n}from"@dropins/tools/i18n.js";const j=({className:o,summary:p,isLoading:t=!1,...T})=>{const{total:m,subtotal:h,shipping:i,tax:c}=p;return u(E,{...T,className:d(["checkout-order-summary",["checkout-order-summary--loading",t],o]),children:[r(N,{level:2,className:"checkout-order-summary__title",children:r(n,{id:"Checkout.OrderSummary.title"})}),r(g,{variant:"primary"}),t&&r(z,{className:"checkout-order-summary__spinner"}),u("div",{"data-testid":"order-summary-subtotal",className:"checkout-order-summary__row",children:[r("p",{children:r(n,{id:"Checkout.OrderSummary.subtotal"})}),r(y,{amount:h.amount,currency:h.currency,className:d(["checkout-order-summary__price",o])})]}),h.isTaxIncl&&r("div",{"data-testid":"order-summary-subtotal-incl-tax",className:"checkout-order-summary__row checkout-order-summary__row--muted",children:r("p",{children:r(n,{id:"Checkout.OrderSummary.includingTaxes"})})}),i!=null&&u("div",{"data-testid":"order-summary-shipping",className:"checkout-order-summary__row",children:[r("p",{"data-testid":"order-summary-shipping-label",children:i.isEstimated?r(n,{id:"Checkout.OrderSummary.estimatedShipping"}):r(n,{id:"Checkout.OrderSummary.shipping"})}),i.amount===0?r("p",{"data-testid":"estimated-shipping",className:"checkout-order-summary__price",children:r(n,{id:"Checkout.OrderSummary.freeShipping"})}):r(y,{"data-testid":"estimated-shipping",amount:i.amount,currency:i.currency,className:d(["checkout-order-summary__price",o])})]}),c!=null&&!c.breakdown&&u("div",{"data-testid":"order-summary-tax",className:"checkout-order-summary__row",children:[r("p",{children:r(n,{id:"Checkout.OrderSummary.tax"})}),r(y,{amount:c.amount,currency:c.currency,className:d(["checkout-order-summary__price",o])})]}),c!=null&&c.breakdown&&u(I,{children:[r(g,{variant:"secondary"}),r("div",{className:"checkout-order-summary__row checkout-order-summary__row--margin-bottom",children:r("p",{children:r(n,{id:"Checkout.OrderSummary.taxBreakdown"})})}),c.breakdown.map(e=>u("div",{"data-testid":"order-summary-tax-breakdown",className:"checkout-order-summary__row checkout-order-summary__row--muted",children:[r("p",{children:e.label}),r(y,{amount:e.amount.value,currency:e.amount.currency,className:d(["checkout-order-summary__price",o])})]},e.label)),u("div",{"data-testid":"order-summary-tax-breakdown-total",className:"checkout-order-summary__row checkout-order-summary__row--strong checkout-order-summary__row--margin-top",children:[r("p",{children:r(n,{id:"Checkout.OrderSummary.taxTotal"})}),r(y,{amount:c.amount,currency:c.currency,className:d(["checkout-order-summary__price",o])})]}),r(g,{variant:"secondary"})]}),u("div",{"data-testid":"order-summary-total-incl-tax",className:"checkout-order-summary__row checkout-order-summary__row--emphasized",children:[r("p",{children:r(n,{id:"Checkout.OrderSummary.total"})}),r(y,{amount:m.inclTax.amount,currency:m.inclTax.currency,className:d(["checkout-order-summary__price",o])})]}),m.exclTax!=null&&u("div",{"data-testid":"order-summary-total-excl-tax",className:"checkout-order-summary__row checkout-order-summary__row--muted",children:[r("p",{children:r(n,{id:"Checkout.OrderSummary.totalExclTax"})}),r(y,{amount:m.exclTax.amount,currency:m.exclTax.currency,className:d(["checkout-order-summary__price",o])})]})]})},w=0,F=2,G={isLoading:!0};function H(){const{config:o}=L(),p=o===void 0,t=D.value.data;if(p||t===void 0)return G;const m=o.taxCartDisplay,h=m.shoppingCartDisplaySubtotal===F,i=t==null?void 0:t.shippingAddresses,c=!!(i!=null&&i.length),e=t==null?void 0:t.prices,x=e==null?void 0:e.grand_total,C=!!x,S=h?e==null?void 0:e.subtotal_including_tax:e==null?void 0:e.subtotal_excluding_tax,_=(e==null?void 0:e.applied_taxes)||[],f=!!_.length;if(!C)return{isLoading:!1};const a={total:{inclTax:{amount:x.value,currency:x.currency}},subtotal:{amount:S.value,currency:S.currency,isTaxIncl:h}};if(f){const l=_.reduce((b,O)=>b+O.amount.value,w),s=_[0];a.tax={amount:l,currency:s.amount.currency},m.shoppingCartDisplayFullSummary&&(a.tax.breakdown=_)}if(!f&&m.shoppingCartDisplayZeroTax&&(a.tax={amount:w,currency:a.total.inclTax.currency}),m.shoppingCartDisplayGrandTotal){const l=a.tax?a.total.inclTax.amount-a.tax.amount:a.total.inclTax.amount;a.total.exclTax={amount:l,currency:a.total.inclTax.currency}}if(c){const l=i[0],s=l==null?void 0:l.selectedShippingMethod;return s?(a.shipping={amount:s==null?void 0:s.amount.value,currency:s==null?void 0:s.amount.currency,isEstimated:!1},{isLoading:!1,summary:a}):{isLoading:!1,summary:a}}return k.value?(a.shipping={amount:k.value.amount.value,currency:k.value.amount.currency,isEstimated:!0},a.total.inclTax.amount+=a.shipping.amount,a.total.exclTax&&(a.total.exclTax.amount+=a.shipping.amount),{isLoading:!1,summary:a}):{isLoading:!1,summary:a}}const M=({...o})=>{const{isLoading:p,summary:t}=H();return u("div",{...o,children:[!t&&r(P,{}),t&&r(j,{isLoading:p,summary:t})]})},P=()=>u(A,{"data-testid":"order-summary-skeleton",className:"order-summary__skeleton",children:[r(v,{variant:"heading",size:"medium"}),r(v,{variant:"empty",size:"medium"}),r(v,{size:"large",fullWidth:!0,lines:3})]});export{M as O,H as u};
2
+ //# sourceMappingURL=OrderSummarySkeleton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrderSummarySkeleton.js","sources":["../../src/components/OrderSummary/OrderSummary.tsx","../../src/containers/OrderSummary/constants.ts","../../src/containers/OrderSummary/OrderSummary.tsx","../../src/components/OrderSummary/OrderSummarySkeleton.tsx"],"sourcesContent":["import { FunctionComponent } from 'preact';\nimport { HTMLAttributes } from 'preact/compat';\nimport { classes } from '@adobe/elsie/lib';\nimport '@/checkout/components/OrderSummary/OrderSummary.css';\nimport { Heading } from '@/checkout/components';\nimport { Text } from '@adobe/elsie/i18n';\nimport { Card, Divider, Price, ProgressSpinner } from '@adobe/elsie/components';\nimport { CartTaxItem } from '@/checkout/__generated__/types';\n\nexport type Summary = {\n total: {\n inclTax: {\n amount: number;\n currency: string;\n };\n exclTax?: {\n amount: number;\n currency: string;\n };\n };\n subtotal: {\n amount: number;\n currency: string;\n isTaxIncl: boolean;\n };\n shipping?: {\n amount: number;\n currency: string;\n isEstimated: boolean;\n };\n tax?: {\n amount: number;\n currency: string;\n breakdown?: CartTaxItem[];\n };\n};\n\nexport interface OrderSummaryProps\n extends Omit<HTMLAttributes<HTMLDivElement>, 'summary'> {\n isLoading?: boolean;\n summary: Summary;\n}\n\nexport const OrderSummary: FunctionComponent<OrderSummaryProps> = ({\n className,\n summary,\n isLoading = false,\n ...props\n}) => {\n const { total, subtotal, shipping, tax } = summary;\n\n return (\n <Card\n {...props}\n className={classes([\n 'checkout-order-summary',\n ['checkout-order-summary--loading', isLoading],\n className,\n ])}\n >\n <Heading\n level={2}\n className=\"checkout-order-summary__title\"\n children={<Text id=\"Checkout.OrderSummary.title\" />}\n />\n\n <Divider variant=\"primary\" />\n\n {isLoading && (\n <ProgressSpinner className=\"checkout-order-summary__spinner\" />\n )}\n\n <div\n data-testid=\"order-summary-subtotal\"\n className=\"checkout-order-summary__row\"\n >\n <p>\n <Text id=\"Checkout.OrderSummary.subtotal\" />\n </p>\n <Price\n amount={subtotal.amount}\n currency={subtotal.currency}\n className={classes(['checkout-order-summary__price', className])}\n />\n </div>\n\n {subtotal.isTaxIncl && (\n <div\n data-testid=\"order-summary-subtotal-incl-tax\"\n className=\"checkout-order-summary__row checkout-order-summary__row--muted\"\n >\n <p>\n <Text id=\"Checkout.OrderSummary.includingTaxes\" />\n </p>\n </div>\n )}\n\n {shipping != undefined && (\n <div\n data-testid=\"order-summary-shipping\"\n className=\"checkout-order-summary__row\"\n >\n <p data-testid=\"order-summary-shipping-label\">\n {shipping.isEstimated ? (\n <Text id=\"Checkout.OrderSummary.estimatedShipping\" />\n ) : (\n <Text id=\"Checkout.OrderSummary.shipping\" />\n )}\n </p>\n\n {shipping.amount === 0 ? (\n <p\n data-testid=\"estimated-shipping\"\n className=\"checkout-order-summary__price\"\n >\n <Text id=\"Checkout.OrderSummary.freeShipping\" />\n </p>\n ) : (\n <Price\n data-testid=\"estimated-shipping\"\n amount={shipping.amount}\n currency={shipping.currency}\n className={classes(['checkout-order-summary__price', className])}\n />\n )}\n </div>\n )}\n\n {tax != undefined && !tax.breakdown && (\n <div\n data-testid=\"order-summary-tax\"\n className=\"checkout-order-summary__row\"\n >\n <p>\n <Text id=\"Checkout.OrderSummary.tax\" />\n </p>\n <Price\n amount={tax.amount}\n currency={tax.currency}\n className={classes(['checkout-order-summary__price', className])}\n />\n </div>\n )}\n\n {tax != undefined && tax.breakdown && (\n <>\n <Divider variant=\"secondary\" />\n\n <div className=\"checkout-order-summary__row checkout-order-summary__row--margin-bottom\">\n <p>\n <Text id=\"Checkout.OrderSummary.taxBreakdown\" />\n </p>\n </div>\n\n {tax.breakdown.map((tax) => (\n <div\n data-testid=\"order-summary-tax-breakdown\"\n key={tax.label}\n className=\"checkout-order-summary__row checkout-order-summary__row--muted\"\n >\n <p>{tax.label}</p>\n\n <Price\n amount={tax.amount.value!}\n currency={tax.amount.currency!}\n className={classes([\n 'checkout-order-summary__price',\n className,\n ])}\n />\n </div>\n ))}\n\n <div\n data-testid=\"order-summary-tax-breakdown-total\"\n className=\"checkout-order-summary__row checkout-order-summary__row--strong checkout-order-summary__row--margin-top\"\n >\n <p>\n <Text id=\"Checkout.OrderSummary.taxTotal\" />\n </p>\n\n <Price\n amount={tax.amount}\n currency={tax.currency}\n className={classes(['checkout-order-summary__price', className])}\n />\n </div>\n\n <Divider variant=\"secondary\" />\n </>\n )}\n\n <div\n data-testid=\"order-summary-total-incl-tax\"\n className=\"checkout-order-summary__row checkout-order-summary__row--emphasized\"\n >\n <p>\n <Text id=\"Checkout.OrderSummary.total\" />\n </p>\n\n <Price\n amount={total.inclTax.amount}\n currency={total.inclTax.currency}\n className={classes(['checkout-order-summary__price', className])}\n />\n </div>\n\n {total.exclTax != undefined && (\n <div\n data-testid=\"order-summary-total-excl-tax\"\n className=\"checkout-order-summary__row checkout-order-summary__row--muted\"\n >\n <p>\n <Text id=\"Checkout.OrderSummary.totalExclTax\" />\n </p>\n\n <Price\n amount={total.exclTax.amount}\n currency={total.exclTax.currency}\n className={classes(['checkout-order-summary__price', className])}\n />\n </div>\n )}\n </Card>\n );\n};\n","export const ZERO_AMOUNT = 0;\n","import { CartTaxItem } from '@/checkout/__generated__/types';\nimport { OrderSummarySkeleton } from '@/checkout/components';\nimport {\n OrderSummary as OrderSummaryComponent,\n Summary,\n} from '@/checkout/components/OrderSummary/OrderSummary';\nimport { useStore } from '@/checkout/context/store';\nimport { cartSignal, selectedShippingMethodSignal } from '@/checkout/signals';\nimport { Container } from '@adobe/elsie/lib';\nimport { HTMLAttributes } from 'preact/compat';\nimport { ZERO_AMOUNT } from './constants';\n\nexport interface OrderSummaryProps extends HTMLAttributes<HTMLDivElement> {}\n\nexport type OrderSummaryState = {\n isLoading: boolean;\n summary?: Summary;\n};\n\nconst INCLUDE_TAX = 2;\n\nconst loadingState: OrderSummaryState = {\n isLoading: true,\n};\n\nexport function useOrderSummary(): OrderSummaryState {\n const { config } = useStore();\n const isLoadingStoreConfig = config === undefined;\n\n const cartData = cartSignal.value.data;\n const isLoadingCartData = cartData === undefined;\n\n if (isLoadingStoreConfig || isLoadingCartData) return loadingState;\n\n const taxCartDisplay = config.taxCartDisplay;\n const inclTaxInSubtotal =\n taxCartDisplay.shoppingCartDisplaySubtotal === INCLUDE_TAX;\n\n const shippingAddresses = cartData?.shippingAddresses;\n const hasAddresses = !!shippingAddresses?.length;\n\n const prices = cartData?.prices;\n\n const grandTotal = prices?.grand_total;\n const hasGrandTotal = !!grandTotal;\n\n const subtotal = inclTaxInSubtotal\n ? prices?.subtotal_including_tax\n : prices?.subtotal_excluding_tax;\n\n const appliedTaxes = prices?.applied_taxes || [];\n const hasTaxesApplied = !!appliedTaxes.length;\n\n if (!hasGrandTotal) return { isLoading: false };\n\n const summary: Summary = {\n total: {\n inclTax: {\n amount: grandTotal.value!,\n currency: grandTotal.currency!,\n },\n },\n subtotal: {\n amount: subtotal!.value!,\n currency: subtotal!.currency!,\n isTaxIncl: inclTaxInSubtotal,\n },\n };\n\n if (hasTaxesApplied) {\n const totalTaxAmount = appliedTaxes.reduce(\n (total, tax) => total + tax!.amount.value!,\n ZERO_AMOUNT\n );\n\n const firstTax = appliedTaxes[0];\n\n summary.tax = {\n amount: totalTaxAmount,\n currency: firstTax!.amount.currency!,\n };\n\n if (taxCartDisplay.shoppingCartDisplayFullSummary) {\n summary.tax.breakdown = appliedTaxes as CartTaxItem[];\n }\n }\n\n if (!hasTaxesApplied && taxCartDisplay.shoppingCartDisplayZeroTax) {\n summary.tax = {\n amount: ZERO_AMOUNT,\n currency: summary.total.inclTax.currency,\n };\n }\n\n if (taxCartDisplay.shoppingCartDisplayGrandTotal) {\n const totalExclTax = summary.tax\n ? summary.total.inclTax.amount - summary.tax.amount\n : summary.total.inclTax.amount;\n\n summary.total.exclTax = {\n amount: totalExclTax,\n currency: summary.total.inclTax.currency,\n };\n }\n\n if (hasAddresses) {\n const firstAddress = shippingAddresses[0];\n const shippingMethod = firstAddress?.selectedShippingMethod;\n\n if (!shippingMethod) return { isLoading: false, summary };\n\n summary.shipping = {\n amount: shippingMethod?.amount.value!,\n currency: shippingMethod?.amount.currency!,\n isEstimated: false,\n };\n\n return { isLoading: false, summary };\n }\n\n if (!selectedShippingMethodSignal.value) return { isLoading: false, summary };\n\n summary.shipping = {\n amount: selectedShippingMethodSignal.value.amount.value,\n currency: selectedShippingMethodSignal.value.amount.currency,\n isEstimated: true,\n };\n\n summary.total.inclTax.amount += summary.shipping.amount;\n if (summary.total.exclTax) {\n summary.total.exclTax.amount += summary.shipping.amount;\n }\n\n return { isLoading: false, summary };\n}\n\nexport const OrderSummary: Container<OrderSummaryProps> = ({ ...props }) => {\n const { isLoading, summary } = useOrderSummary();\n\n return (\n <div {...props}>\n {!summary && <OrderSummarySkeleton />}\n\n {summary && (\n <OrderSummaryComponent isLoading={isLoading} summary={summary} />\n )}\n </div>\n );\n};\n","import { FunctionComponent } from 'preact';\nimport { Skeleton, SkeletonRow } from '@adobe/elsie/components';\n\nexport const OrderSummarySkeleton: FunctionComponent = () => {\n return (\n <Skeleton\n data-testid=\"order-summary-skeleton\"\n className=\"order-summary__skeleton\"\n >\n <SkeletonRow variant=\"heading\" size=\"medium\" />\n <SkeletonRow variant=\"empty\" size=\"medium\" />\n <SkeletonRow size=\"large\" fullWidth={true} lines={3} />\n </Skeleton>\n );\n};\n"],"names":["OrderSummary","className","summary","isLoading","props","total","subtotal","shipping","tax","_jsxs","Card","classes","children","_jsx","Heading","level","Text","id","Divider","variant","ProgressSpinner","Price","amount","currency","isTaxIncl","undefined","isEstimated","breakdown","_Fragment","map","label","value","inclTax","exclTax","ZERO_AMOUNT","INCLUDE_TAX","loadingState","useOrderSummary","config","useStore","isLoadingStoreConfig","cartData","cartSignal","data","taxCartDisplay","inclTaxInSubtotal","shoppingCartDisplaySubtotal","shippingAddresses","hasAddresses","length","prices","grandTotal","grand_total","hasGrandTotal","subtotal_including_tax","subtotal_excluding_tax","appliedTaxes","applied_taxes","hasTaxesApplied","totalTaxAmount","reduce","firstTax","shoppingCartDisplayFullSummary","shoppingCartDisplayZeroTax","shoppingCartDisplayGrandTotal","totalExclTax","firstAddress","shippingMethod","selectedShippingMethod","selectedShippingMethodSignal","OrderSummarySkeleton","OrderSummaryComponent","Skeleton","SkeletonRow","size","fullWidth","lines"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{events as fe}from"@dropins/tools/event-bus.js";import{B as z,i as re,V as $,u as he,D as ge,m as Fe,l as pe,E as ve}from"./getStoreConfig.js";import{b as K,a as g,A as N,e as Ie,D as q,g as Ee,M as Q,c as ee}from"./getMultilineValues.js";import{r as L}from"./transform-shipping-methods.js";import{useState as U,useEffect as x,useCallback as P,useRef as ke,useMemo as Ae}from"@dropins/tools/preact-hooks.js";import{classes as B,getFormErrors as Ce,VComponent as w}from"@dropins/tools/lib.js";import{Text as ne,useText as be}from"@dropins/tools/i18n.js";import{Field as Z,Input as oe,Picker as Se,Skeleton as we,SkeletonRow as C,ProgressSpinner as Me}from"@dropins/tools/components.js";/* empty css */import{jsx as a,Fragment as V,jsxs as O}from"@dropins/tools/preact-jsx-runtime.js";import{forwardRef as Re,useRef as $e,useImperativeHandle as Le,useState as j,useEffect as X}from"@dropins/tools/preact-compat.js";const Y={firstname:"given-name",lastname:"family-name",company:"organization",country:"country",region:"address-level1",city:"address-level2",postcode:"postal-code",telephone:"tel",street:"address-line1",email:"email",middlename:"additional-name",prefix:"honorific-prefix",suffix:"honorific-suffix"};function ae(e){return Object.keys(e).length===0&&e.constructor===Object}const ye=e=>e.map(t=>{var n;const r=((n=t==null?void 0:t.id)==null?void 0:n.toString())||t.code;return{text:t.name,value:r}}),De=e=>e?e.map(t=>({text:t.label,value:t.value})):[];function Ne({address:e,addressType:t,availableCountries:r,availableRegions:n,config:s,dismissError:c,errors:o,fields:d,onBlur:m,onChange:i,onInvalid:F,onSelection:I,setAddress:p}){const E=()=>{p(u=>({...u,[g.Region]:"",[g.RegionId]:""})),c(g.Region)},R=u=>{p(f=>({...f,[g.RegionId]:u}))};return d.map(u=>{var v;let f,k=u.frontendInput,A,y=u.isDisabled,D=u.isRequired,M=[],l;if(k===z.Multiline?(l=K(u.code,e),f=K(u.code,o)):(l=e[u.code],f=o[u.code]||""),u.code===g.Country&&(M=De(r),t===N.SHIPPING?(L.value.country=l,A=h=>{const b=h.target,{value:S}=b;S&&W({country_code:S}),I(h),E()}):A=I),u.code===g.RegionId&&t===N.SHIPPING&&(L.value.selectedRegionId=l),u.code===g.Region){if(t===L.value.addressType&&(y=L.value.pending),D=s.countriesWithRequiredRegion.includes(e==null?void 0:e.country_id),M=ye(n),!D&&!s.displayStateIfOptional&&(k=z.Undefined),k=M.length>0?z.Select:z.Text,k===z.Select)t===N.SHIPPING?(L.value.selectedRegion=l,A=h=>{const S=h.target.value;W({country_code:L.value.country,region_id:S}),I(h),R(S)}):A=h=>{I(h);const S=h.target.value;R(S)};else if(k===z.Text&&t===N.SHIPPING){L.value.selectedRegion=l;const h=i;i=b=>{const S=b.target,{value:H}=S;L.value.country&&W({country_code:L.value.country,region_name:H}),h(b)}}l=M.length>0?((v=M.find(h=>h.value===l))==null?void 0:v.value)||"":l}return u.code===g.PostCode&&(D=!s.countriesWithOptionalZipCode.includes(e==null?void 0:e.country_id)),{...u,error:f,frontendInput:k,handleSelect:A,isDisabled:y,isRequired:D,onBlur:m,onChange:i,onInvalid:F,options:M,value:l}})}let te;function W(e){var c;const t=re.value.data,r=!!t,n=(c=t==null?void 0:t.shippingAddresses)==null?void 0:c[0],s=n==null?void 0:n.availableShippingMethods;r&&!s&&(clearTimeout(te),te=setTimeout(()=>{Ie({cartId:t.id,criteria:e})},q))}const G=({addressType:e,code:t,index:r})=>r?`${e}-${t}-${r}`:`${e}-${t}`,T=e=>`checkout-address-form__${e}`,_e=({addressType:e,element:t})=>{const{code:r,value:n,defaultValue:s}=t;return a("input",{className:T(r),id:G({addressType:e,code:r}),name:r,type:"hidden",value:n||s},r)},xe=({addressType:e,element:t})=>{const{code:r,error:n,isDisabled:s,label:c,onBlur:o,onChange:d,onInvalid:m,validateRules:i,value:F}=t,I=se(i);return a(Z,{disabled:s,error:n,children:a(oe,{"aria-label":c,autocomplete:Y[r]||"off",className:T(r),floatingLabel:`${c} ${t.isRequired?"*":""}`,id:G({addressType:e,code:r}),onBlur:o,onChange:d,onInvalid:m,placeholder:c,required:t.isRequired||!1,type:"text",name:r,value:F??void 0,...I})})},ze=({addressType:e,element:t})=>{const{code:r,error:n,isDisabled:s,isRequired:c,label:o,multilineCount:d,onBlur:m,onChange:i,onInvalid:F,validateRules:I,value:p}=t,E=d??0,R=se(I);return a(V,{children:Array.from(Array(E).keys()).map(u=>a(Z,{disabled:s,error:(n==null?void 0:n[u])||"",className:"dropin-field--multiline",children:a(oe,{id:G({addressType:e,code:r,index:u}),className:T(r),floatingLabel:`${o} ${u!=0?u:""} ${c&&u===0?"*":""}`,autocomplete:u===0?Y[r]:"off","aria-label":o,placeholder:`${o} ${u!=0?u:""}`,type:"text",required:c&&u===0,onChange:i,onBlur:m,onInvalid:F,name:`${r}-${u}`,value:(p==null?void 0:p[u])||void 0,...R})},`${r}-${u}`))})},Pe=({addressType:e,element:t})=>{const{code:r,error:n,handleSelect:s,isDisabled:c,isRequired:o,label:d,onBlur:m,onInvalid:i,options:F,value:I}=t,p=s?{handleSelect:s}:{};return a(Z,{disabled:c,error:n,children:a(Se,{id:G({addressType:e,code:r}),className:T(r),name:r,floatingLabel:`${d} ${o?"*":""}`,required:o,placeholder:d,"aria-label":d,options:F,value:I,autocomplete:Y[r]||"off",onBlur:m,onInvalid:i,...p},r)})},Oe=({addressType:e,element:t})=>{switch(t.frontendInput){case"BOOLEAN":case"DATE":case"DATETIME":case"FILE":case"GALLERY":case"IMAGE":case"MEDIA_IMAGE":case"MULTISELECT":case"PRICE":case"TEXTAREA":case"UNDEFINED":case"WEIGHT":return null;case"HIDDEN":return _e({addressType:e,element:t});case"TEXT":return xe({addressType:e,element:t});case"MULTILINE":return ze({addressType:e,element:t});case"SELECT":return Pe({addressType:e,element:t});default:return null}},se=e=>e?e.reduce((t,r)=>{switch(r.name){case $.DateRangeMax:return{...t,max:r.value};case $.DateRangeMin:return{...t,min:r.value};case $.FileExtensions:return{...t,accept:r.value};case $.InputValidation:return{...t,pattern:Ve(r.value)};case $.MaxFileSize:case $.MaxImageHeight:case $.MaxImageWidth:return t;case $.MaxTextLength:return{...t,maxLength:r.value};case $.MinTextLength:return{...t,minLength:r.value};default:throw new Error(`Unknown rule: ${r.name}`)}},{}):{},_={alpha:/^[a-zA-Z]+$/,alphanumeric:/^[a-zA-Z0-9]+$/,"alphanumeric-w-space":/^[a-zA-Z0-9 ]+$/,"alphanum-with-spaces":/^[a-zA-Z0-9 ]+$/,email:/^([a-z0-9,!#$%&'*+/=?^_`{|}~-]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z0-9,!#$%&'*+/=?^_`{|}~-]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*@([a-z0-9-]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z0-9-]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*\.(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]){2,})$/i,numeric:/^[0-9]+$/,url:/^((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=+$,\w]+@)?[A-Za-z0-9.-]+|(?:www\.|[-;:&=+$,\w]+@)[A-Za-z0-9.-]+)((?:\/[+~%/.\w\-_]*)?\??(?:[-+=&;%@.\w_]*)#?(?:[.!/\\\w]*))?)$/},Ve=e=>{switch(e){case"alpha":return _.alpha.source;case"alphanumeric":return _.alphanumeric.source;case"alphanumeric-w-space":return _["alphanumeric-w-space"].source;case"alphanum-with-spaces":return _["alphanum-with-spaces"].source;case"url":return _.url.source;case"numeric":return _.numeric.source;case"email":return _.email.source;default:throw new Error(`Unknown validation type: ${e}`)}},Be=e=>O(we,{...e,children:[a(C,{variant:"heading",size:"medium"}),a(C,{variant:"empty",size:"medium"}),a(C,{size:"large"}),a(C,{size:"large"}),a(C,{size:"large",fullWidth:!0}),a(C,{size:"large",fullWidth:!0,lines:3}),a(C,{size:"large"}),a(C,{size:"large"}),a(C,{size:"large"}),a(C,{size:"large"}),a(C,{size:"large"}),a(C,{size:"large"}),a(C,{size:"large"})]}),Ue=({addressType:e,className:t,fields:r,formRef:n,headingId:s,name:c,...o})=>O("div",{...o,className:B(["checkout-fields-form",t]),children:[a(ue,{level:2,children:a(ne,{id:s}),className:"checkout-fields-form__title"}),a("form",{name:c,ref:n,className:B(["checkout-fields-form__form",t]),noValidate:!0,children:r.sort((d,m)=>!d.sortOrder||!m.sortOrder?d.code<m.code?-1:1:d.sortOrder-m.sortOrder).map(d=>Oe({element:d,addressType:e}))})]}),Ge=e=>{const t=new FormData(e),r=Object.fromEntries(t);return Object.entries(r).reduce((s,[c])=>{const o=e.elements[c];return o!=null&&o.validationMessage?{...s,[c]:o.validationMessage}:{...s}},{})};function Te(e){const[t,r]=j({});return X(()=>{e&&r(n=>({...n,country_id:e}))},[e]),{defaultValues:t}}function He({country:e,addressType:t}){const[r,n]=j([]);return X(()=>{if(!e){n([]);return}Ee(e,t).then(s=>{n(s||[])}).catch(s=>{console.error(s)})},[n,e,t]),{availableRegions:r}}function We({autoFill:e,addressType:t,loadAutoFill:r}){const[n,s]=j(!1),c=pe.value.data,o=!!c,d=re.value.data,m=!!d;X(()=>{var u;if(!e||!m||n)return;let i,F=!1;i=tt({addressType:t,cart:d}),!i&&o&&(i=et({addressType:t,customer:c}),F=!0);const I=f=>f?f.split(ee).length>1:!1;if(!i)return;s(!0);const p={[g.City]:i.city,[g.Company]:i.company||"",[g.Country]:i.country.value,[g.FirstName]:i.firstName,[g.LastName]:i.lastName,[g.PostCode]:i.postCode||"",[g.Telephone]:i.telephone||"",[g.Vat]:i.vatId||""},E=i.region;if(E){const f=(u=E==null?void 0:E.id)==null?void 0:u.toString();f?(p[g.Region]=f,p[g.RegionId]=f):p[g.Region]=E.code}i!=null&&i.street&&i.street.length>0&&i.street.forEach((f,k)=>{p[`${g.Street}${Q}${k}`]=f}),((i==null?void 0:i.customAttributes)||[]).forEach(f=>{I(f.code)?f.value.split(ee).forEach((A,y)=>{p[`${f.code}${Q}${y}`]=A}):p[f.code]=f.value}),r({values:p,triggerAutoSave:F})},[t,e,d,c,n,m,o,r])}const Et=Re(({addressType:e,autoFill:t=!0,children:r,headingId:n,name:s,preselectedFields:c,saveAddressHandler:o,...d},m)=>{const{fields:i}=he(),{countries:F}=ge(),I=F===void 0,p=i===void 0,{config:E}=Fe(),R=E===void 0,{defaultValues:u}=Te(E==null?void 0:E.defaultCountry),f=Qe({fields:i,preselectedFields:c}),k=$e(null),{address:A,errors:y,loadAutoFill:D,onBlur:M,dismissError:l,onChange:v,onInvalid:h,onSelection:b,setAddress:S}=Je({formRef:k,type:e,defaultValues:u,preselection:f,saveAddressHandler:o}),{availableRegions:H}=He({country:A.country_id,addressType:e});if(Le(m,()=>({triggerSaveAddress:de=>{if(!k.current)return;const me=Ge(k.current);if(ae(me))return o({signal:de,address:A})}})),We({addressType:e,autoFill:t,loadAutoFill:D}),p||I||R)return a(Be,{"data-testid":`${e}-skeleton`});const le=Ne({address:A,addressType:e,availableCountries:F,availableRegions:H,config:E,dismissError:l,errors:y,fields:i,onBlur:M,onChange:v,onInvalid:h,onSelection:b,setAddress:S}),J={[N.SHIPPING]:"shipping",[N.BILLING]:"billing"};return a(Ue,{...d,name:s,addressType:e,className:`checkout-${J[e]}-form`,"data-testid":`${J[e]}-form`,fields:le,formRef:k,headingId:n})});function qe(e){const{backupService:t}=ve(),[r,n]=U(null);x(()=>{const o=t.restore(e);o&&n(o)},[e,t]),x(()=>{const o=fe.on("checkout/order",()=>{t.remove(e)});return()=>{o==null||o.off()}},[e,t]);const s=P(o=>setTimeout(()=>{t.backup(e,o)},q),[e,t]),c=P(()=>{t.remove(e)},[e,t]);return{addressBackup:r,backup:s,removeBackup:c}}const Ze={badInput:"aria-label",patternMismatch:"aria-label",rangeOverflow:"max",rangeUnderflow:"min",tooLong:"maxlength",tooShort:"minlength",typeMismatch:"aria-label",valueMissing:"aria-label"},je=["badInput","patternMismatch","rangeOverflow","rangeUnderflow","tooLong","tooShort","typeMismatch","valueMissing"],Xe=e=>{const[t,r]=U({}),n=P(c=>{const{name:o,validity:d,validationMessage:m}=c;let i=d.valid?"":m;je.forEach(F=>{if(!d[F])return;const I=e[F];if(!I)return;const p=Ze[F];i=I.replace("{field}",c.getAttribute(p)||"")}),r(F=>({...F,[o]:i}))},[e]);return{errors:t,dismissError:c=>{t[c]&&r(o=>{const{[c]:d,...m}=o;return m})},validateFormElement:n}},Ye=e=>{const t=e.current;if(!t)return!1;const r=Ce(t);return ae(r)},Je=({formRef:e,type:t,defaultValues:r={},preselection:n={},saveAddressHandler:s})=>{const c=be({badInput:"Checkout.AddressForm.Validity.badInput",patternMismatch:"Checkout.AddressForm.Validity.patternMismatch",rangeUnderflow:"Checkout.AddressForm.Validity.rangeUnderflow",tooLong:"Checkout.AddressForm.Validity.tooLong",tooShort:"Checkout.AddressForm.Validity.tooShort",typeMismatch:"Checkout.AddressForm.Validity.typeMismatch",valueMissing:"Checkout.AddressForm.Validity.valueMissing"}),o=ke(!1),[d,m]=U({}),{addressBackup:i,backup:F,removeBackup:I}=qe(t),{errors:p,validateFormElement:E,dismissError:R}=Xe(c),u=P(l=>{o.current=!1,s(l).then(()=>{I()}).catch(v=>{o.current=!0,console.error("Saving address form failed:",v)})},[I,s]),f=(l,v)=>{m(h=>({...h,[l]:v})),o.current=!0},k=({values:l,triggerAutoSave:v=!1})=>{m(h=>({...h,...l})),v&&(o.current=!0)},A=l=>{const v=l.target,{name:h,value:b}=v;f(h,b),E(v)},y=l=>{const v=l.target;E(v)},D=l=>{const v=l.target,{name:h,value:b}=v;f(h,b),E(v)},M=l=>{l.target.checkValidity()};return x(()=>{m(l=>({...r,...n,...i,...l}))},[r,n,i]),x(()=>{if(!o.current)return;const l=F(d);return()=>{clearTimeout(l)}},[d,F]),x(()=>{if(!o.current||!Ye(e))return;const l=new AbortController,v=l.signal,h=setTimeout(()=>{u({signal:v,address:d})},q);return()=>{clearTimeout(h),l.abort()}},[d,e,u]),{address:d,errors:p,loadAutoFill:k,dismissError:R,onChange:A,onSelection:D,onBlur:M,onInvalid:y,setAddress:m}},Ke={countryCode:g.Country,region:g.Region,postCode:g.PostCode};function Qe({fields:e,preselectedFields:t}){return Ae(()=>!(!!e&&e.length>0)||!!!t?{}:Object.keys(t).reduce((s,c)=>{const o=Ke[c];return!o||!e.some(m=>m.code===o)?s:{...s,[o]:t[c]}},{}),[e,t])}const et=({addressType:e,customer:t})=>e===N.BILLING?t.defaultBillingAddress:t.defaultShippingAddress,tt=({addressType:e,cart:t})=>{if(e===N.BILLING)return t.billingAddress;const r=t.shippingAddresses;if(!(!r||r.length===0))return r[0]},rt=()=>{const e=()=>window.innerWidth>=1920?"xxlarge":window.innerWidth>=1366?"xlarge":window.innerWidth>=1024?"large":window.innerWidth>=768?"medium":"small",[t,r]=U(e());return x(()=>{let n;const s=()=>{n&&clearTimeout(n),n=setTimeout(()=>r(e()),50)};return window.addEventListener("resize",s),()=>{window.removeEventListener("resize",s),n&&clearTimeout(n)}},[]),t},ie=({children:e,className:t})=>rt()==="small"?a(V,{children:e}):a("div",{className:t,children:e}),nt=({sections:e})=>a(ie,{className:"checkout__aside",children:O(V,{children:[a(w,{node:e.orderSummary}),a(w,{node:e.cartSummary})]})}),ot=({billingAddress:e,billToShippingAddress:t,login:r,paymentMethods:n,placeOrder:s,shippingAddress:c,shippingMethods:o})=>O(V,{children:[a(w,{node:r}),c&&a(w,{node:c}),t&&a(w,{node:t}),o&&a(w,{node:o}),a(w,{node:n}),a(w,{node:e}),a(w,{node:s})]}),at=({outOfStock:e,sections:t})=>a(ie,{className:"checkout__main",children:O(V,{children:[a(ue,{level:1,className:"checkout-title",children:a(ne,{id:"Checkout.title"})}),e&&a(w,{className:"checkout-outOfStock",node:e}),t&&a(ot,{...t})]})}),ce=({banner:e,children:t,className:r,isLoading:n=!1,...s})=>O("div",{"data-testid":"checkout",className:B(["checkout",r]),...s,children:[n&&a(it,{}),e&&a(w,{className:"checkout__banner",node:e}),a("div",{className:"checkout__content",children:t})]});ce.Main=at;ce.Aside=nt;const ue=({className:e,children:t,level:r=2})=>{const n=r>=1&&r<=6?`h${r}`:"h2";return a(n,{className:e,children:t})},st=()=>{const e=P(()=>{document.body.style.overflow="hidden"},[]),t=P(()=>{document.body.style.overflow=""},[]);return{lockScroll:e,unlockScroll:t}},it=({className:e})=>{const{lockScroll:t,unlockScroll:r}=st();return x(()=>(t(),r),[t,r]),a("div",{"data-testid":"checkout-overlay-loader",className:B(["checkout-overlay-loader",e]),children:a(Me,{})})};export{Et as A,ce as C,ue as H,_ as p,rt as u};
1
+ import{events as fe}from"@dropins/tools/event-bus.js";import{B as z,i as re,V as L,u as ge,D as he,m as pe,l as Fe,E as ve}from"./getStoreConfig.js";import{b as K,a as v,A as N,e as Ie,D as q,g as Ee,M as Q,c as ee}from"./getMultilineValues.js";import{r as y}from"./transform-shipping-methods.js";import{useState as U,useEffect as x,useCallback as B,useRef as Ae,useMemo as ke}from"@dropins/tools/preact-hooks.js";import{classes as V,getFormErrors as Ce,VComponent as $}from"@dropins/tools/lib.js";import{Text as ne,useText as be}from"@dropins/tools/i18n.js";import{Field as Z,Input as oe,Picker as Se,Skeleton as Me,SkeletonRow as M,ProgressSpinner as we}from"@dropins/tools/components.js";/* empty css */import{jsx as a,Fragment as O,jsxs as P}from"@dropins/tools/preact-jsx-runtime.js";import{forwardRef as Re,useRef as $e,useImperativeHandle as Le,useState as j,useEffect as X}from"@dropins/tools/preact-compat.js";import{E as ye}from"./ErrorBanner.js";import{M as De}from"./MergedCartBanner.js";const Y={firstname:"given-name",lastname:"family-name",company:"organization",country:"country",region:"address-level1",city:"address-level2",postcode:"postal-code",telephone:"tel",street:"address-line1",email:"email",middlename:"additional-name",prefix:"honorific-prefix",suffix:"honorific-suffix"};function ae(e){return Object.keys(e).length===0&&e.constructor===Object}const Ne=e=>e.map(t=>{var o;const r=((o=t==null?void 0:t.id)==null?void 0:o.toString())||t.code;return{text:t.name,value:r}}),_e=e=>e?e.map(t=>({text:t.label,value:t.value})):[];function xe({address:e,addressType:t,availableCountries:r,availableRegions:o,config:s,dismissError:u,errors:n,fields:l,onBlur:f,onChange:p,onInvalid:i,onSelection:h,setAddress:E}){const F=()=>{E(c=>({...c,[v.Region]:"",[v.RegionId]:""})),u(v.Region)},b=c=>{E(S=>({...S,[v.RegionId]:c}))};return l.map(c=>{var g;let S,m=c.frontendInput,A,D=c.isDisabled,w=c.isRequired,R=[],k;if(m===z.Multiline?(k=K(c.code,e),S=K(c.code,n)):(k=e[c.code],S=n[c.code]||""),c.code===v.Country&&(R=_e(r),t===N.SHIPPING?(y.value.country=k,A=d=>{const I=d.target,{value:C}=I;C&&W({country_code:C}),h(d),F()}):A=h),c.code===v.RegionId&&t===N.SHIPPING&&(y.value.selectedRegionId=k),c.code===v.Region){if(t===y.value.addressType&&(D=y.value.pending),w=s.countriesWithRequiredRegion.includes(e==null?void 0:e.country_id),R=Ne(o),!w&&!s.displayStateIfOptional&&(m=z.Undefined),m=R.length>0?z.Select:z.Text,m===z.Select)t===N.SHIPPING?(y.value.selectedRegion=k,A=d=>{const C=d.target.value;W({country_code:y.value.country,region_id:C}),h(d),b(C)}):A=d=>{h(d);const C=d.target.value;b(C)};else if(m===z.Text&&t===N.SHIPPING){y.value.selectedRegion=k;const d=p;p=I=>{const C=I.target,{value:H}=C;y.value.country&&W({country_code:y.value.country,region_name:H}),d(I)}}k=R.length>0?((g=R.find(d=>d.value===k))==null?void 0:g.value)||"":k}return c.code===v.PostCode&&(w=!s.countriesWithOptionalZipCode.includes(e==null?void 0:e.country_id)),{...c,error:S,frontendInput:m,handleSelect:A,isDisabled:D,isRequired:w,onBlur:f,onChange:p,onInvalid:i,options:R,value:k}})}let te;function W(e){var u;const t=re.value.data,r=!!t,o=(u=t==null?void 0:t.shippingAddresses)==null?void 0:u[0],s=o==null?void 0:o.availableShippingMethods;r&&!s&&(clearTimeout(te),te=setTimeout(()=>{Ie({cartId:t.id,criteria:e})},q))}const G=({addressType:e,code:t,index:r})=>r?`${e}-${t}-${r}`:`${e}-${t}`,T=e=>`checkout-address-form__${e}`,ze=({addressType:e,element:t})=>{const{code:r,value:o,defaultValue:s}=t;return a("input",{className:T(r),id:G({addressType:e,code:r}),name:r,type:"hidden",value:o||s},r)},Be=({addressType:e,element:t})=>{const{code:r,error:o,isDisabled:s,label:u,onBlur:n,onChange:l,onInvalid:f,validateRules:p,value:i}=t,h=se(p);return a(Z,{disabled:s,error:o,children:a(oe,{"aria-label":u,autocomplete:Y[r]||"off",className:T(r),floatingLabel:`${u} ${t.isRequired?"*":""}`,id:G({addressType:e,code:r}),onBlur:n,onChange:l,onInvalid:f,placeholder:u,required:t.isRequired||!1,type:"text",name:r,value:i??void 0,...h})})},Pe=({addressType:e,element:t})=>{const{code:r,error:o,isDisabled:s,isRequired:u,label:n,multilineCount:l,onBlur:f,onChange:p,onInvalid:i,validateRules:h,value:E}=t,F=l??0,b=se(h);return a(O,{children:Array.from(Array(F).keys()).map(c=>a(Z,{disabled:s,error:(o==null?void 0:o[c])||"",className:"dropin-field--multiline",children:a(oe,{id:G({addressType:e,code:r,index:c}),className:T(r),floatingLabel:`${n} ${c!=0?c:""} ${u&&c===0?"*":""}`,autocomplete:c===0?Y[r]:"off","aria-label":n,placeholder:`${n} ${c!=0?c:""}`,type:"text",required:u&&c===0,onChange:p,onBlur:f,onInvalid:i,name:`${r}-${c}`,value:(E==null?void 0:E[c])||void 0,...b})},`${r}-${c}`))})},Oe=({addressType:e,element:t})=>{const{code:r,error:o,handleSelect:s,isDisabled:u,isRequired:n,label:l,onBlur:f,onInvalid:p,options:i,value:h}=t,E=s?{handleSelect:s}:{};return a(Z,{disabled:u,error:o,children:a(Se,{id:G({addressType:e,code:r}),className:T(r),name:r,floatingLabel:`${l} ${n?"*":""}`,required:n,placeholder:l,"aria-label":l,options:i,value:h,autocomplete:Y[r]||"off",onBlur:f,onInvalid:p,...E},r)})},Ve=({addressType:e,element:t})=>{switch(t.frontendInput){case"BOOLEAN":case"DATE":case"DATETIME":case"FILE":case"GALLERY":case"IMAGE":case"MEDIA_IMAGE":case"MULTISELECT":case"PRICE":case"TEXTAREA":case"UNDEFINED":case"WEIGHT":return null;case"HIDDEN":return ze({addressType:e,element:t});case"TEXT":return Be({addressType:e,element:t});case"MULTILINE":return Pe({addressType:e,element:t});case"SELECT":return Oe({addressType:e,element:t});default:return null}},se=e=>e?e.reduce((t,r)=>{switch(r.name){case L.DateRangeMax:return{...t,max:r.value};case L.DateRangeMin:return{...t,min:r.value};case L.FileExtensions:return{...t,accept:r.value};case L.InputValidation:return{...t,pattern:Ue(r.value)};case L.MaxFileSize:case L.MaxImageHeight:case L.MaxImageWidth:return t;case L.MaxTextLength:return{...t,maxLength:r.value};case L.MinTextLength:return{...t,minLength:r.value};default:throw new Error(`Unknown rule: ${r.name}`)}},{}):{},_={alpha:/^[a-zA-Z]+$/,alphanumeric:/^[a-zA-Z0-9]+$/,"alphanumeric-w-space":/^[a-zA-Z0-9 ]+$/,"alphanum-with-spaces":/^[a-zA-Z0-9 ]+$/,email:/^([a-z0-9,!#$%&'*+/=?^_`{|}~-]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z0-9,!#$%&'*+/=?^_`{|}~-]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*@([a-z0-9-]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z0-9-]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*\.(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]){2,})$/i,numeric:/^[0-9]+$/,url:/^((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=+$,\w]+@)?[A-Za-z0-9.-]+|(?:www\.|[-;:&=+$,\w]+@)[A-Za-z0-9.-]+)((?:\/[+~%/.\w\-_]*)?\??(?:[-+=&;%@.\w_]*)#?(?:[.!/\\\w]*))?)$/},Ue=e=>{switch(e){case"alpha":return _.alpha.source;case"alphanumeric":return _.alphanumeric.source;case"alphanumeric-w-space":return _["alphanumeric-w-space"].source;case"alphanum-with-spaces":return _["alphanum-with-spaces"].source;case"url":return _.url.source;case"numeric":return _.numeric.source;case"email":return _.email.source;default:throw new Error(`Unknown validation type: ${e}`)}},Ge=e=>P(Me,{...e,children:[a(M,{variant:"heading",size:"medium"}),a(M,{variant:"empty",size:"medium"}),a(M,{size:"large"}),a(M,{size:"large"}),a(M,{size:"large",fullWidth:!0}),a(M,{size:"large",fullWidth:!0,lines:3}),a(M,{size:"large"}),a(M,{size:"large"}),a(M,{size:"large"}),a(M,{size:"large"}),a(M,{size:"large"}),a(M,{size:"large"}),a(M,{size:"large"})]}),Te=({addressType:e,className:t,fields:r,formRef:o,headingId:s,name:u,...n})=>P("div",{...n,className:V(["checkout-fields-form",t]),children:[a(ue,{level:2,children:a(ne,{id:s}),className:"checkout-fields-form__title"}),a("form",{name:u,ref:o,className:V(["checkout-fields-form__form",t]),noValidate:!0,children:r.sort((l,f)=>!l.sortOrder||!f.sortOrder?l.code<f.code?-1:1:l.sortOrder-f.sortOrder).map(l=>Ve({element:l,addressType:e}))})]}),He=e=>{const t=new FormData(e),r=Object.fromEntries(t);return Object.entries(r).reduce((s,[u])=>{const n=e.elements[u];return n!=null&&n.validationMessage?{...s,[u]:n.validationMessage}:{...s}},{})};function We(e){const[t,r]=j({});return X(()=>{e&&r(o=>({...o,country_id:e}))},[e]),{defaultValues:t}}function qe({country:e,addressType:t}){const[r,o]=j([]);return X(()=>{if(!e){o([]);return}Ee(e,t).then(s=>{o(s||[])}).catch(s=>{console.error(s)})},[o,e,t]),{availableRegions:r}}function Ze({autoFill:e,addressType:t,dismissError:r,loadAutoFill:o}){const[s,u]=j(!1),n=Fe.value.data,l=!!n,f=re.value.data,p=!!f;X(()=>{var S;if(!e||!p||s)return;let i,h=!1;i=nt({addressType:t,cart:f}),!i&&l&&(i=rt({addressType:t,customer:n}),h=!0);const E=m=>m?m.split(ee).length>1:!1;if(!i)return;u(!0);const F={[v.City]:i.city,[v.Company]:i.company||"",[v.Country]:i.country.value,[v.FirstName]:i.firstName,[v.LastName]:i.lastName,[v.PostCode]:i.postCode||"",[v.Telephone]:i.telephone||"",[v.Vat]:i.vatId||""},b=i.region;if(b){const m=(S=b==null?void 0:b.id)==null?void 0:S.toString();m?(F[v.Region]=m,F[v.RegionId]=m):F[v.Region]=b.code}i!=null&&i.street&&i.street.length>0&&i.street.forEach((m,A)=>{F[`${v.Street}${Q}${A}`]=m}),((i==null?void 0:i.customAttributes)||[]).forEach(m=>{E(m.code)?m.value.split(ee).forEach((D,w)=>{F[`${m.code}${Q}${w}`]=D}):F[m.code]=m.value}),o({values:F,triggerAutoSave:h})},[t,e,f,n,s,p,l,o,r])}const bt=Re(({addressType:e,autoFill:t=!0,children:r,headingId:o,name:s,preselectedFields:u,saveAddressHandler:n,...l},f)=>{const{fields:p}=ge(),{countries:i}=he(),h=i===void 0,E=p===void 0,{config:F}=pe(),b=F===void 0,{defaultValues:c}=We(F==null?void 0:F.defaultCountry),S=tt({fields:p,preselectedFields:u}),m=$e(null),{address:A,errors:D,loadAutoFill:w,onBlur:R,dismissError:k,onChange:g,onInvalid:d,onSelection:I,setAddress:C}=Qe({formRef:m,type:e,defaultValues:c,preselection:S,saveAddressHandler:n}),{availableRegions:H}=qe({country:A.country_id,addressType:e});if(Le(f,()=>({triggerSaveAddress:de=>{if(!m.current)return;const me=He(m.current);if(ae(me))return n({signal:de,address:A})}})),Ze({addressType:e,autoFill:t,loadAutoFill:w,dismissError:k}),E||h||b)return a(Ge,{"data-testid":`${e}-skeleton`});const le=xe({address:A,addressType:e,availableCountries:i,availableRegions:H,config:F,dismissError:k,errors:D,fields:p,onBlur:R,onChange:g,onInvalid:d,onSelection:I,setAddress:C}),J={[N.SHIPPING]:"shipping",[N.BILLING]:"billing"};return a(Te,{...l,name:s,addressType:e,className:`checkout-${J[e]}-form`,"data-testid":`${J[e]}-form`,fields:le,formRef:m,headingId:o})});function je(e){const{backupService:t}=ve(),[r,o]=U(null);x(()=>{const n=t.restore(e);n&&o(n)},[e,t]),x(()=>{const n=fe.on("checkout/order",()=>{t.remove(e)});return()=>{n==null||n.off()}},[e,t]);const s=B(n=>setTimeout(()=>{t.backup(e,n)},q),[e,t]),u=B(()=>{t.remove(e)},[e,t]);return{addressBackup:r,backup:s,removeBackup:u}}const Xe={badInput:"aria-label",patternMismatch:"aria-label",rangeOverflow:"max",rangeUnderflow:"min",tooLong:"maxlength",tooShort:"minlength",typeMismatch:"aria-label",valueMissing:"aria-label"},Ye=["badInput","patternMismatch","rangeOverflow","rangeUnderflow","tooLong","tooShort","typeMismatch","valueMissing"],Je=e=>{const[t,r]=U({}),o=B(n=>{const{name:l,validity:f,validationMessage:p}=n;let i=f.valid?"":p;Ye.forEach(h=>{if(!f[h])return;const E=e[h];if(!E)return;const F=Xe[h];i=E.replace("{field}",n.getAttribute(F)||"")}),r(h=>({...h,[l]:i}))},[e]);return{errors:t,dismissError:n=>{t[n]&&r(l=>{const{[n]:f,...p}=l;return p})},validateFormElement:o,resetErrors:()=>{r({})}}},Ke=e=>{const t=e.current;if(!t)return!1;const r=Ce(t);return ae(r)},Qe=({formRef:e,type:t,defaultValues:r={},preselection:o={},saveAddressHandler:s})=>{const u=be({badInput:"Checkout.AddressForm.Validity.badInput",patternMismatch:"Checkout.AddressForm.Validity.patternMismatch",rangeUnderflow:"Checkout.AddressForm.Validity.rangeUnderflow",tooLong:"Checkout.AddressForm.Validity.tooLong",tooShort:"Checkout.AddressForm.Validity.tooShort",typeMismatch:"Checkout.AddressForm.Validity.typeMismatch",valueMissing:"Checkout.AddressForm.Validity.valueMissing"}),n=Ae(!1),[l,f]=U({}),{addressBackup:p,backup:i,removeBackup:h}=je(t),{errors:E,validateFormElement:F,dismissError:b,resetErrors:c}=Je(u),S=B(g=>{n.current=!1,s(g).then(()=>{h()}).catch(d=>{n.current=!0,console.error("Saving address form failed:",d)})},[h,s]),m=(g,d)=>{f(I=>({...I,[g]:d})),n.current=!0},A=({values:g,triggerAutoSave:d=!1})=>{c(),f(I=>({...I,...g})),d&&(n.current=!0)},D=g=>{const d=g.target,{name:I,value:C}=d;m(I,C),F(d)},w=g=>{const d=g.target;F(d)},R=g=>{const d=g.target,{name:I,value:C}=d;m(I,C),F(d)},k=g=>{g.target.checkValidity()};return x(()=>{f(g=>({...r,...o,...p,...g}))},[r,o,p]),x(()=>{if(!n.current)return;const g=i(l);return()=>{clearTimeout(g)}},[l,i]),x(()=>{if(!n.current||!Ke(e))return;const g=new AbortController,d=g.signal,I=setTimeout(()=>{S({signal:d,address:l})},q);return()=>{clearTimeout(I),g.abort()}},[l,e,S]),{address:l,errors:E,loadAutoFill:A,dismissError:b,onChange:D,onSelection:R,onBlur:k,onInvalid:w,setAddress:f}},et={countryCode:v.Country,region:v.Region,postCode:v.PostCode};function tt({fields:e,preselectedFields:t}){return ke(()=>!(!!e&&e.length>0)||!!!t?{}:Object.keys(t).reduce((s,u)=>{const n=et[u];return!n||!e.some(f=>f.code===n)?s:{...s,[n]:t[u]}},{}),[e,t])}const rt=({addressType:e,customer:t})=>e===N.BILLING?t.defaultBillingAddress:t.defaultShippingAddress,nt=({addressType:e,cart:t})=>{if(e===N.BILLING)return t.billingAddress;const r=t.shippingAddresses;if(!(!r||r.length===0))return r[0]},ot=()=>{const e=()=>window.innerWidth>=1920?"xxlarge":window.innerWidth>=1366?"xlarge":window.innerWidth>=1024?"large":window.innerWidth>=768?"medium":"small",[t,r]=U(e());return x(()=>{let o;const s=()=>{o&&clearTimeout(o),o=setTimeout(()=>r(e()),50)};return window.addEventListener("resize",s),()=>{window.removeEventListener("resize",s),o&&clearTimeout(o)}},[]),t},ie=({children:e,className:t})=>ot()==="small"?a(O,{children:e}):a("div",{className:t,children:e}),at=({sections:e})=>a(ie,{className:"checkout__aside",children:P(O,{children:[a($,{node:e.orderSummary}),a($,{node:e.cartSummary})]})}),st=({billingAddress:e,billToShippingAddress:t,login:r,paymentMethods:o,placeOrder:s,shippingAddress:u,shippingMethods:n})=>P(O,{children:[a($,{node:r}),u&&a($,{node:u}),t&&a($,{node:t}),n&&a($,{node:n}),a($,{node:o}),a($,{node:e}),a($,{node:s})]}),it=({outOfStock:e,sections:t})=>a(ie,{className:"checkout__main",children:P(O,{children:[a(ue,{level:1,className:"checkout-title",children:a(ne,{id:"Checkout.title"})}),e&&a($,{className:"checkout-outOfStock",node:e}),t&&a(st,{...t})]})}),ce=({children:e,className:t,isLoading:r=!1,...o})=>P("div",{"data-testid":"checkout",className:V(["checkout",t]),...o,children:[r&&a(ut,{}),a(ye,{}),a(De,{}),a("div",{className:"checkout__content",children:e})]});ce.Main=it;ce.Aside=at;const ue=({className:e,children:t,level:r=2})=>{const o=r>=1&&r<=6?`h${r}`:"h2";return a(o,{className:e,children:t})},ct=()=>{const e=B(()=>{document.body.style.overflow="hidden"},[]),t=B(()=>{document.body.style.overflow=""},[]);return{lockScroll:e,unlockScroll:t}},ut=({className:e})=>{const{lockScroll:t,unlockScroll:r}=ct();return x(()=>(t(),r),[t,r]),a("div",{"data-testid":"checkout-overlay-loader",className:V(["checkout-overlay-loader",e]),children:a(we,{})})};export{bt as A,ce as C,ue as H,_ as p,ot as u};
2
2
  //# sourceMappingURL=ToggleButton.js.map