@riosst100/pwa-marketplace 1.8.8 → 1.9.0

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 (260) hide show
  1. package/i18n/en_US.json +9 -9
  2. package/package.json +1 -2
  3. package/src/componentOverrideMapping.js +15 -1
  4. package/src/components/AccountLayout/accountlayout.module.css +3 -0
  5. package/src/components/AccountLayout/index.js +147 -0
  6. package/src/components/BecomeSeller/becomeSeller.js +304 -178
  7. package/src/components/BecomeSeller/becomeSeller.module.css +3 -3
  8. package/src/components/BecomeSellerPage/becomeSellerPage.js +2 -1
  9. package/src/components/BecomeSellerPage/becomeSellerPage.module.css +2 -10
  10. package/src/components/LegoSets/legoSets.js +48 -18
  11. package/src/components/LiveChat/chatContent.js +39 -0
  12. package/src/components/LiveChat/index.js +52 -0
  13. package/src/components/LiveChat/liveChat.js +160 -0
  14. package/src/components/NonSportCardsSets/nonSportCardsSets.js +15 -2
  15. package/src/components/SellerCountry/sellerCountry.js +1 -1
  16. package/src/components/SellerDetail/sellerDetail.js +34 -3
  17. package/src/components/ShopBy/shopBy.js +99 -4
  18. package/src/components/ShopBy/shopBy.module.css +22 -0
  19. package/src/components/ShopByVehicles/index.js +2 -0
  20. package/src/components/ShopByVehicles/shopByVehicles.js +327 -0
  21. package/src/components/ShopByVehicles/shopByVehicles.module.css +76 -0
  22. package/src/components/ShopByVehicles/shopByVehicles.shimmer.js +50 -0
  23. package/src/components/SocialLogin/img/facebook.svg +3 -0
  24. package/src/components/SocialLogin/img/google.svg +6 -0
  25. package/src/components/SocialLogin/img/instagram.svg +27 -0
  26. package/src/components/SocialLogin/img/wechat.svg +15 -0
  27. package/src/components/SocialLogin/img/weibo.svg +7 -0
  28. package/src/components/SocialLogin/index.js +10 -0
  29. package/src/components/SocialLogin/socialLogin.js +70 -0
  30. package/src/components/SportCardsSets/sportCardsSets.js +6 -1
  31. package/src/components/TrainsSets/index.js +2 -0
  32. package/src/components/TrainsSets/trainsSets.js +331 -0
  33. package/src/components/TrainsSets/trainsSets.module.css +76 -0
  34. package/src/components/TrainsSets/trainsSets.shimmer.js +49 -0
  35. package/src/overwrites/venia-ui/lib/RootComponents/Category/category.js +5 -0
  36. package/src/overwrites/venia-ui/lib/RootComponents/Category/categoryContent.js +4 -0
  37. package/src/overwrites/venia-ui/lib/components/AccountInformationPage/accountInformationPage.gql.js +48 -0
  38. package/src/overwrites/venia-ui/lib/components/AccountInformationPage/accountInformationPage.js +147 -0
  39. package/src/overwrites/venia-ui/lib/components/AccountInformationPage/accountInformationPage.module.css +52 -0
  40. package/src/overwrites/venia-ui/lib/components/AccountInformationPage/accountInformationPageFragment.gql.js +10 -0
  41. package/src/overwrites/venia-ui/lib/components/AccountInformationPage/editForm.js +206 -0
  42. package/src/overwrites/venia-ui/lib/components/AccountInformationPage/editForm.module.css +40 -0
  43. package/src/overwrites/venia-ui/lib/components/AccountInformationPage/editModal.js +107 -0
  44. package/src/overwrites/venia-ui/lib/components/AccountInformationPage/editModal.module.css +3 -0
  45. package/src/overwrites/venia-ui/lib/components/AccountInformationPage/index.js +14 -0
  46. package/src/overwrites/venia-ui/lib/components/AccountMenu/accountMenu.js +107 -0
  47. package/src/overwrites/venia-ui/lib/components/AccountMenu/accountMenu.module.css +73 -0
  48. package/src/overwrites/venia-ui/lib/components/AccountMenu/accountMenuItems.js +58 -0
  49. package/src/overwrites/venia-ui/lib/components/AccountMenu/accountMenuItems.module.css +31 -0
  50. package/src/overwrites/venia-ui/lib/components/AccountMenu/index.js +1 -0
  51. package/src/overwrites/venia-ui/lib/components/Button/button.js +1 -1
  52. package/src/overwrites/venia-ui/lib/components/CartPage/GiftCards/giftCard.js +50 -0
  53. package/src/overwrites/venia-ui/lib/components/CartPage/GiftCards/giftCard.module.css +11 -0
  54. package/src/overwrites/venia-ui/lib/components/CartPage/GiftCards/giftCards.js +238 -0
  55. package/src/overwrites/venia-ui/lib/components/CartPage/GiftCards/giftCards.module.css +98 -0
  56. package/src/overwrites/venia-ui/lib/components/CartPage/GiftCards/index.js +1 -0
  57. package/src/overwrites/venia-ui/lib/components/CartPage/PriceAdjustments/CouponCode/couponCode.js +178 -0
  58. package/src/overwrites/venia-ui/lib/components/CartPage/PriceAdjustments/CouponCode/couponCode.module.css +52 -0
  59. package/src/overwrites/venia-ui/lib/components/CartPage/PriceAdjustments/CouponCode/index.js +1 -0
  60. package/src/overwrites/venia-ui/lib/components/CartPage/PriceAdjustments/GiftOptions/giftOptions.js +321 -0
  61. package/src/overwrites/venia-ui/lib/components/CartPage/PriceAdjustments/GiftOptions/giftOptions.module.css +61 -0
  62. package/src/overwrites/venia-ui/lib/components/CartPage/PriceAdjustments/GiftOptions/index.js +1 -0
  63. package/src/overwrites/venia-ui/lib/components/CartPage/PriceAdjustments/ShippingMethods/index.js +1 -0
  64. package/src/overwrites/venia-ui/lib/components/CartPage/PriceAdjustments/ShippingMethods/shippingForm.js +103 -0
  65. package/src/overwrites/venia-ui/lib/components/CartPage/PriceAdjustments/ShippingMethods/shippingForm.module.css +36 -0
  66. package/src/overwrites/venia-ui/lib/components/CartPage/PriceAdjustments/ShippingMethods/shippingMethods.js +103 -0
  67. package/src/overwrites/venia-ui/lib/components/CartPage/PriceAdjustments/ShippingMethods/shippingMethods.module.css +33 -0
  68. package/src/overwrites/venia-ui/lib/components/CartPage/PriceAdjustments/ShippingMethods/shippingRadio.js +37 -0
  69. package/src/overwrites/venia-ui/lib/components/CartPage/PriceAdjustments/ShippingMethods/shippingRadio.module.css +3 -0
  70. package/src/overwrites/venia-ui/lib/components/CartPage/PriceAdjustments/ShippingMethods/shippingRadios.js +106 -0
  71. package/src/overwrites/venia-ui/lib/components/CartPage/PriceAdjustments/ShippingMethods/shippingRadios.module.css +10 -0
  72. package/src/overwrites/venia-ui/lib/components/CartPage/PriceAdjustments/giftCardSection.ce.js +7 -0
  73. package/src/overwrites/venia-ui/lib/components/CartPage/PriceAdjustments/giftCardSection.ee.js +28 -0
  74. package/src/overwrites/venia-ui/lib/components/CartPage/PriceAdjustments/giftOptionsSection.ce.js +7 -0
  75. package/src/overwrites/venia-ui/lib/components/CartPage/PriceAdjustments/giftOptionsSection.ee.js +38 -0
  76. package/src/overwrites/venia-ui/lib/components/CartPage/PriceAdjustments/index.js +1 -0
  77. package/src/overwrites/venia-ui/lib/components/CartPage/PriceAdjustments/priceAdjustments.js +95 -0
  78. package/src/overwrites/venia-ui/lib/components/CartPage/PriceAdjustments/priceAdjustments.module.css +2 -0
  79. package/src/overwrites/venia-ui/lib/components/CartPage/PriceSummary/discountSummary.js +123 -0
  80. package/src/overwrites/venia-ui/lib/components/CartPage/PriceSummary/discountSummary.module.css +40 -0
  81. package/src/overwrites/venia-ui/lib/components/CartPage/PriceSummary/giftCardSummary.ce.js +1 -0
  82. package/src/overwrites/venia-ui/lib/components/CartPage/PriceSummary/giftCardSummary.ee.js +60 -0
  83. package/src/overwrites/venia-ui/lib/components/CartPage/PriceSummary/giftOptionsSummary.ce.js +5 -0
  84. package/src/overwrites/venia-ui/lib/components/CartPage/PriceSummary/giftOptionsSummary.ee.js +40 -0
  85. package/src/overwrites/venia-ui/lib/components/CartPage/PriceSummary/index.js +1 -0
  86. package/src/overwrites/venia-ui/lib/components/CartPage/PriceSummary/priceSummary.js +210 -0
  87. package/src/overwrites/venia-ui/lib/components/CartPage/PriceSummary/priceSummary.module.css +51 -0
  88. package/src/overwrites/venia-ui/lib/components/CartPage/PriceSummary/shippingSummary.js +58 -0
  89. package/src/overwrites/venia-ui/lib/components/CartPage/PriceSummary/taxSummary.js +57 -0
  90. package/src/overwrites/venia-ui/lib/components/CartPage/ProductListing/EditModal/editModal.js +41 -0
  91. package/src/overwrites/venia-ui/lib/components/CartPage/ProductListing/EditModal/index.js +1 -0
  92. package/src/overwrites/venia-ui/lib/components/CartPage/ProductListing/EditModal/productDetail.js +80 -0
  93. package/src/overwrites/venia-ui/lib/components/CartPage/ProductListing/EditModal/productDetail.module.css +33 -0
  94. package/src/overwrites/venia-ui/lib/components/CartPage/ProductListing/EditModal/productForm.js +153 -0
  95. package/src/overwrites/venia-ui/lib/components/CartPage/ProductListing/EditModal/productForm.module.css +52 -0
  96. package/src/overwrites/venia-ui/lib/components/CartPage/ProductListing/errorMessage.js +31 -0
  97. package/src/overwrites/venia-ui/lib/components/CartPage/ProductListing/errorMessage.module.css +13 -0
  98. package/src/overwrites/venia-ui/lib/components/CartPage/ProductListing/index.js +1 -0
  99. package/src/overwrites/venia-ui/lib/components/CartPage/ProductListing/product.js +271 -0
  100. package/src/overwrites/venia-ui/lib/components/CartPage/ProductListing/product.module.css +156 -0
  101. package/src/overwrites/venia-ui/lib/components/CartPage/ProductListing/productListing.js +94 -0
  102. package/src/overwrites/venia-ui/lib/components/CartPage/ProductListing/productListing.module.css +11 -0
  103. package/src/overwrites/venia-ui/lib/components/CartPage/ProductListing/quantity.js +40 -0
  104. package/src/overwrites/venia-ui/lib/components/CartPage/cartPage.js +126 -0
  105. package/src/overwrites/venia-ui/lib/components/CartPage/cartPage.module.css +64 -0
  106. package/src/overwrites/venia-ui/lib/components/CartPage/index.js +1 -0
  107. package/src/overwrites/venia-ui/lib/components/CheckoutPage/AddressBook/addressBook.js +190 -0
  108. package/src/overwrites/venia-ui/lib/components/CheckoutPage/AddressBook/addressBook.module.css +78 -0
  109. package/src/overwrites/venia-ui/lib/components/CheckoutPage/AddressBook/addressCard.js +125 -0
  110. package/src/overwrites/venia-ui/lib/components/CheckoutPage/AddressBook/addressCard.module.css +94 -0
  111. package/src/overwrites/venia-ui/lib/components/CheckoutPage/AddressBook/index.js +1 -0
  112. package/src/overwrites/venia-ui/lib/components/CheckoutPage/BillingAddress/billingAddress.js +213 -0
  113. package/src/overwrites/venia-ui/lib/components/CheckoutPage/BillingAddress/billingAddress.module.css +36 -0
  114. package/src/overwrites/venia-ui/lib/components/CheckoutPage/BillingAddress/index.js +1 -0
  115. package/src/overwrites/venia-ui/lib/components/CheckoutPage/GuestSignIn/guestSignIn.js +93 -0
  116. package/src/overwrites/venia-ui/lib/components/CheckoutPage/GuestSignIn/guestSignIn.module.css +55 -0
  117. package/src/overwrites/venia-ui/lib/components/CheckoutPage/GuestSignIn/index.js +1 -0
  118. package/src/overwrites/venia-ui/lib/components/CheckoutPage/ItemsReview/__fixtures__/cartItems.js +102 -0
  119. package/src/overwrites/venia-ui/lib/components/CheckoutPage/ItemsReview/index.js +1 -0
  120. package/src/overwrites/venia-ui/lib/components/CheckoutPage/ItemsReview/item.js +54 -0
  121. package/src/overwrites/venia-ui/lib/components/CheckoutPage/ItemsReview/item.module.css +60 -0
  122. package/src/overwrites/venia-ui/lib/components/CheckoutPage/ItemsReview/itemsReview.js +84 -0
  123. package/src/overwrites/venia-ui/lib/components/CheckoutPage/ItemsReview/itemsReview.module.css +20 -0
  124. package/src/overwrites/venia-ui/lib/components/CheckoutPage/ItemsReview/showAllButton.js +38 -0
  125. package/src/overwrites/venia-ui/lib/components/CheckoutPage/ItemsReview/showAllButton.module.css +28 -0
  126. package/src/overwrites/venia-ui/lib/components/CheckoutPage/OrderConfirmationPage/createAccount.js +213 -0
  127. package/src/overwrites/venia-ui/lib/components/CheckoutPage/OrderConfirmationPage/createAccount.module.css +24 -0
  128. package/src/overwrites/venia-ui/lib/components/CheckoutPage/OrderConfirmationPage/index.js +1 -0
  129. package/src/overwrites/venia-ui/lib/components/CheckoutPage/OrderConfirmationPage/orderConfirmationPage.js +162 -0
  130. package/src/overwrites/venia-ui/lib/components/CheckoutPage/OrderConfirmationPage/orderConfirmationPage.module.css +70 -0
  131. package/src/overwrites/venia-ui/lib/components/CheckoutPage/OrderSummary/index.js +1 -0
  132. package/src/overwrites/venia-ui/lib/components/CheckoutPage/OrderSummary/orderSummary.js +34 -0
  133. package/src/overwrites/venia-ui/lib/components/CheckoutPage/OrderSummary/orderSummary.module.css +17 -0
  134. package/src/overwrites/venia-ui/lib/components/CheckoutPage/PaymentInformation/brainTreeDropIn.js +196 -0
  135. package/src/overwrites/venia-ui/lib/components/CheckoutPage/PaymentInformation/braintreeDropin.module.css +26 -0
  136. package/src/overwrites/venia-ui/lib/components/CheckoutPage/PaymentInformation/braintreeSummary.js +160 -0
  137. package/src/overwrites/venia-ui/lib/components/CheckoutPage/PaymentInformation/braintreeSummary.module.css +62 -0
  138. package/src/overwrites/venia-ui/lib/components/CheckoutPage/PaymentInformation/creditCard.js +348 -0
  139. package/src/overwrites/venia-ui/lib/components/CheckoutPage/PaymentInformation/creditCard.module.css +58 -0
  140. package/src/overwrites/venia-ui/lib/components/CheckoutPage/PaymentInformation/editCard.js +44 -0
  141. package/src/overwrites/venia-ui/lib/components/CheckoutPage/PaymentInformation/editCard.module.css +5 -0
  142. package/src/overwrites/venia-ui/lib/components/CheckoutPage/PaymentInformation/editModal.js +88 -0
  143. package/src/overwrites/venia-ui/lib/components/CheckoutPage/PaymentInformation/editablePaymentCollection.js +23 -0
  144. package/src/overwrites/venia-ui/lib/components/CheckoutPage/PaymentInformation/index.js +1 -0
  145. package/src/overwrites/venia-ui/lib/components/CheckoutPage/PaymentInformation/paymentInformation.js +99 -0
  146. package/src/overwrites/venia-ui/lib/components/CheckoutPage/PaymentInformation/paymentInformation.module.css +23 -0
  147. package/src/overwrites/venia-ui/lib/components/CheckoutPage/PaymentInformation/paymentMethodCollection.js +23 -0
  148. package/src/overwrites/venia-ui/lib/components/CheckoutPage/PaymentInformation/paymentMethods.js +121 -0
  149. package/src/overwrites/venia-ui/lib/components/CheckoutPage/PaymentInformation/paymentMethods.module.css +34 -0
  150. package/src/overwrites/venia-ui/lib/components/CheckoutPage/PaymentInformation/summary.js +71 -0
  151. package/src/overwrites/venia-ui/lib/components/CheckoutPage/PaymentInformation/summary.module.css +23 -0
  152. package/src/overwrites/venia-ui/lib/components/CheckoutPage/PaymentInformation/summaryPaymentCollection.js +23 -0
  153. package/src/overwrites/venia-ui/lib/components/CheckoutPage/PriceAdjustments/index.js +1 -0
  154. package/src/overwrites/venia-ui/lib/components/CheckoutPage/PriceAdjustments/priceAdjustments.js +63 -0
  155. package/src/overwrites/venia-ui/lib/components/CheckoutPage/PriceAdjustments/priceAdjustments.module.css +2 -0
  156. package/src/overwrites/venia-ui/lib/components/CheckoutPage/ShippingInformation/AddressForm/addressForm.js +18 -0
  157. package/src/overwrites/venia-ui/lib/components/CheckoutPage/ShippingInformation/AddressForm/customerForm.js +401 -0
  158. package/src/overwrites/venia-ui/lib/components/CheckoutPage/ShippingInformation/AddressForm/customerForm.module.css +58 -0
  159. package/src/overwrites/venia-ui/lib/components/CheckoutPage/ShippingInformation/AddressForm/guestForm.js +455 -0
  160. package/src/overwrites/venia-ui/lib/components/CheckoutPage/ShippingInformation/AddressForm/guestForm.module.css +52 -0
  161. package/src/overwrites/venia-ui/lib/components/CheckoutPage/ShippingInformation/AddressForm/index.js +3 -0
  162. package/src/overwrites/venia-ui/lib/components/CheckoutPage/ShippingInformation/card.js +66 -0
  163. package/src/overwrites/venia-ui/lib/components/CheckoutPage/ShippingInformation/card.module.css +12 -0
  164. package/src/overwrites/venia-ui/lib/components/CheckoutPage/ShippingInformation/editModal.js +65 -0
  165. package/src/overwrites/venia-ui/lib/components/CheckoutPage/ShippingInformation/editModal.module.css +90 -0
  166. package/src/overwrites/venia-ui/lib/components/CheckoutPage/ShippingInformation/index.js +1 -0
  167. package/src/overwrites/venia-ui/lib/components/CheckoutPage/ShippingInformation/shippingInformation.js +149 -0
  168. package/src/overwrites/venia-ui/lib/components/CheckoutPage/ShippingInformation/shippingInformation.module.css +88 -0
  169. package/src/overwrites/venia-ui/lib/components/CheckoutPage/ShippingMethod/completedView.js +114 -0
  170. package/src/overwrites/venia-ui/lib/components/CheckoutPage/ShippingMethod/completedView.module.css +48 -0
  171. package/src/overwrites/venia-ui/lib/components/CheckoutPage/ShippingMethod/index.js +1 -0
  172. package/src/overwrites/venia-ui/lib/components/CheckoutPage/ShippingMethod/shippingMethod.js +154 -0
  173. package/src/overwrites/venia-ui/lib/components/CheckoutPage/ShippingMethod/shippingMethod.module.css +27 -0
  174. package/src/overwrites/venia-ui/lib/components/CheckoutPage/ShippingMethod/shippingRadios.js +80 -0
  175. package/src/overwrites/venia-ui/lib/components/CheckoutPage/ShippingMethod/shippingRadios.module.css +22 -0
  176. package/src/overwrites/venia-ui/lib/components/CheckoutPage/ShippingMethod/updateModal.js +85 -0
  177. package/src/overwrites/venia-ui/lib/components/CheckoutPage/ShippingMethod/updateModal.module.css +3 -0
  178. package/src/overwrites/venia-ui/lib/components/CheckoutPage/checkoutPage.js +472 -0
  179. package/src/overwrites/venia-ui/lib/components/CheckoutPage/checkoutPage.module.css +186 -0
  180. package/src/overwrites/venia-ui/lib/components/CheckoutPage/index.js +1 -0
  181. package/src/overwrites/venia-ui/lib/components/CreateAccount/createAccount.js +323 -0
  182. package/src/overwrites/venia-ui/lib/components/CreateAccount/createAccount.module.css +52 -0
  183. package/src/overwrites/venia-ui/lib/components/CreateAccount/index.js +1 -0
  184. package/src/overwrites/venia-ui/lib/components/CreateAccountPage/createAccountPage.js +48 -0
  185. package/src/overwrites/venia-ui/lib/components/CreateAccountPage/createAccountPage.module.css +21 -0
  186. package/src/overwrites/venia-ui/lib/components/CreateAccountPage/index.js +1 -0
  187. package/src/overwrites/venia-ui/lib/components/Dialog/dialog.js +198 -0
  188. package/src/overwrites/venia-ui/lib/components/Dialog/dialog.module.css +189 -0
  189. package/src/overwrites/venia-ui/lib/components/Dialog/index.js +1 -0
  190. package/src/overwrites/venia-ui/lib/components/FilterSidebar/filterSidebar.js +8 -7
  191. package/src/overwrites/venia-ui/lib/components/Gallery/item.js +12 -4
  192. package/src/overwrites/venia-ui/lib/components/Gallery/item.module.css +2 -2
  193. package/src/overwrites/venia-ui/lib/components/Header/header.js +37 -2
  194. package/src/overwrites/venia-ui/lib/components/Main/main.js +1 -1
  195. package/src/overwrites/venia-ui/lib/components/MegaMenu/shopByColumn.js +3 -2
  196. package/src/overwrites/venia-ui/lib/components/MegaMenu/submenu.js +1 -1
  197. package/src/overwrites/venia-ui/lib/components/MyAccount/ResetPassword/index.js +1 -0
  198. package/src/overwrites/venia-ui/lib/components/MyAccount/ResetPassword/resetPassword.gql.js +22 -0
  199. package/src/overwrites/venia-ui/lib/components/MyAccount/ResetPassword/resetPassword.js +143 -0
  200. package/src/overwrites/venia-ui/lib/components/MyAccount/ResetPassword/resetPassword.module.css +53 -0
  201. package/src/overwrites/venia-ui/lib/components/MyAccount/accountLink.js +42 -0
  202. package/src/overwrites/venia-ui/lib/components/MyAccount/accountLink.module.css +33 -0
  203. package/src/overwrites/venia-ui/lib/components/MyAccount/index.js +1 -0
  204. package/src/overwrites/venia-ui/lib/components/MyAccount/myAccount.js +38 -0
  205. package/src/overwrites/venia-ui/lib/components/MyAccount/myAccount.module.css +5 -0
  206. package/src/overwrites/venia-ui/lib/components/OrderHistoryPage/OrderDetails/billingInformation.js +71 -0
  207. package/src/overwrites/venia-ui/lib/components/OrderHistoryPage/OrderDetails/billingInformation.module.css +9 -0
  208. package/src/overwrites/venia-ui/lib/components/OrderHistoryPage/OrderDetails/index.js +1 -0
  209. package/src/overwrites/venia-ui/lib/components/OrderHistoryPage/OrderDetails/item.js +121 -0
  210. package/src/overwrites/venia-ui/lib/components/OrderHistoryPage/OrderDetails/item.module.css +35 -0
  211. package/src/overwrites/venia-ui/lib/components/OrderHistoryPage/OrderDetails/items.js +70 -0
  212. package/src/overwrites/venia-ui/lib/components/OrderHistoryPage/OrderDetails/items.module.css +16 -0
  213. package/src/overwrites/venia-ui/lib/components/OrderHistoryPage/OrderDetails/orderDetails.js +207 -0
  214. package/src/overwrites/venia-ui/lib/components/OrderHistoryPage/OrderDetails/orderDetails.module.css +102 -0
  215. package/src/overwrites/venia-ui/lib/components/OrderHistoryPage/OrderDetails/orderTotal.js +159 -0
  216. package/src/overwrites/venia-ui/lib/components/OrderHistoryPage/OrderDetails/orderTotal.module.css +50 -0
  217. package/src/overwrites/venia-ui/lib/components/OrderHistoryPage/OrderDetails/paymentMethod.js +45 -0
  218. package/src/overwrites/venia-ui/lib/components/OrderHistoryPage/OrderDetails/paymentMethod.module.css +14 -0
  219. package/src/overwrites/venia-ui/lib/components/OrderHistoryPage/OrderDetails/shippingInformation.js +90 -0
  220. package/src/overwrites/venia-ui/lib/components/OrderHistoryPage/OrderDetails/shippingInformation.module.css +9 -0
  221. package/src/overwrites/venia-ui/lib/components/OrderHistoryPage/OrderDetails/shippingMethod.js +86 -0
  222. package/src/overwrites/venia-ui/lib/components/OrderHistoryPage/OrderDetails/shippingMethod.module.css +19 -0
  223. package/src/overwrites/venia-ui/lib/components/OrderHistoryPage/collapsedImageGallery.js +63 -0
  224. package/src/overwrites/venia-ui/lib/components/OrderHistoryPage/collapsedImageGallery.module.css +16 -0
  225. package/src/overwrites/venia-ui/lib/components/OrderHistoryPage/index.js +15 -0
  226. package/src/overwrites/venia-ui/lib/components/OrderHistoryPage/orderHistoryPage.js +227 -0
  227. package/src/overwrites/venia-ui/lib/components/OrderHistoryPage/orderHistoryPage.module.css +70 -0
  228. package/src/overwrites/venia-ui/lib/components/OrderHistoryPage/orderProgressBar.js +70 -0
  229. package/src/overwrites/venia-ui/lib/components/OrderHistoryPage/orderProgressBar.module.css +14 -0
  230. package/src/overwrites/venia-ui/lib/components/OrderHistoryPage/orderRow.js +324 -0
  231. package/src/overwrites/venia-ui/lib/components/OrderHistoryPage/orderRow.module.css +146 -0
  232. package/src/overwrites/venia-ui/lib/components/OrderHistoryPage/resetButton.js +41 -0
  233. package/src/overwrites/venia-ui/lib/components/Password/index.js +1 -0
  234. package/src/overwrites/venia-ui/lib/components/Password/password.js +102 -0
  235. package/src/overwrites/venia-ui/lib/components/Password/password.module.css +26 -0
  236. package/src/overwrites/venia-ui/lib/components/ProductFullDetail/productFullDetail.js +30 -15
  237. package/src/overwrites/venia-ui/lib/components/Select/index.js +1 -0
  238. package/src/overwrites/venia-ui/lib/components/Select/option.js +28 -0
  239. package/src/overwrites/venia-ui/lib/components/Select/select.js +74 -0
  240. package/src/overwrites/venia-ui/lib/components/Select/select.module.css +25 -0
  241. package/src/overwrites/venia-ui/lib/components/SignIn/index.js +1 -0
  242. package/src/overwrites/venia-ui/lib/components/SignIn/signIn.gql.js +50 -0
  243. package/src/overwrites/venia-ui/lib/components/SignIn/signIn.js +224 -0
  244. package/src/overwrites/venia-ui/lib/components/SignIn/signIn.module.css +65 -0
  245. package/src/overwrites/venia-ui/lib/components/SignInPage/index.js +1 -0
  246. package/src/overwrites/venia-ui/lib/components/SignInPage/signInPage.js +50 -0
  247. package/src/overwrites/venia-ui/lib/components/SignInPage/signInPage.module.css +17 -0
  248. package/src/overwrites/venia-ui/lib/components/TextInput/textInput.js +1 -1
  249. package/src/talons/Header/logo.gql.js +19 -0
  250. package/src/talons/Header/useLogo.js +19 -0
  251. package/src/talons/LegoSets/legoSets.gql.js +2 -2
  252. package/src/talons/LegoSets/useLegoSets.js +4 -2
  253. package/src/talons/NonSportCardsSets/useNonSportCardsSets.js +1 -1
  254. package/src/talons/ShopBy/shopBy.gql.js +2 -2
  255. package/src/talons/ShopBy/useShopBy.js +20 -9
  256. package/src/talons/ShopByVehicles/shopByVehicles.gql.js +60 -0
  257. package/src/talons/ShopByVehicles/useShopByVehicles.js +222 -0
  258. package/src/talons/SportCardsSets/useSportCardsSets.js +1 -1
  259. package/src/talons/TrainsSets/trainsSets.gql.js +60 -0
  260. package/src/talons/TrainsSets/useTrainsSets.js +223 -0
@@ -0,0 +1,210 @@
1
+ import React from 'react';
2
+ import { FormattedMessage, useIntl } from 'react-intl';
3
+ import Price from '@magento/venia-ui/lib/components/Price';
4
+ import { usePriceSummary } from '@magento/peregrine/lib/talons/CartPage/PriceSummary/usePriceSummary';
5
+ import Button from '@magento/venia-ui/lib/components/Button';
6
+ import { useStyle } from '@magento/venia-ui/lib/classify';
7
+ import defaultClasses from './priceSummary.module.css';
8
+ import DiscountSummary from './discountSummary';
9
+ import GiftCardSummary from './giftCardSummary';
10
+ import GiftOptionsSummary from './giftOptionsSummary';
11
+ import ShippingSummary from './shippingSummary';
12
+ import TaxSummary from './taxSummary';
13
+ import cn from 'classnames';
14
+
15
+ /**
16
+ * A child component of the CartPage component.
17
+ * This component fetches and renders cart data, such as subtotal, discounts applied,
18
+ * gift cards applied, tax, shipping, and cart total.
19
+ *
20
+ * @param {Object} props
21
+ * @param {Object} props.classes CSS className overrides.
22
+ * See [priceSummary.module.css]{@link https://github.com/magento/pwa-studio/blob/develop/packages/venia-ui/lib/components/CartPage/PriceSummary/priceSummary.module.css}
23
+ * for a list of classes you can override.
24
+ *
25
+ * @returns {React.Element}
26
+ *
27
+ * @example <caption>Importing into your project</caption>
28
+ * import PriceSummary from "@magento/venia-ui/lib/components/CartPage/PriceSummary";
29
+ */
30
+ const PriceSummary = props => {
31
+ const { isUpdating } = props;
32
+ const classes = useStyle(defaultClasses, props.classes);
33
+ const talonProps = usePriceSummary();
34
+
35
+ const {
36
+ handleProceedToCheckout,
37
+ handleEnterKeyPress,
38
+ hasError,
39
+ hasItems,
40
+ isCheckout,
41
+ isLoading,
42
+ flatData
43
+ } = talonProps;
44
+ const { formatMessage } = useIntl();
45
+
46
+ if (hasError) {
47
+ return (
48
+ <div className={classes.root}>
49
+ <span className={classes.errorText}>
50
+ <FormattedMessage
51
+ id={'priceSummary.errorText'}
52
+ defaultMessage={
53
+ 'Something went wrong. Please refresh and try again.'
54
+ }
55
+ />
56
+ </span>
57
+ </div>
58
+ );
59
+ } else if (!hasItems) {
60
+ return null;
61
+ }
62
+
63
+ const {
64
+ subtotal,
65
+ total,
66
+ discounts,
67
+ giftCards,
68
+ giftOptions,
69
+ taxes,
70
+ shipping
71
+ } = flatData;
72
+
73
+ const isPriceUpdating = isUpdating || isLoading;
74
+ const priceClass = isPriceUpdating ? classes.priceUpdating : classes.price;
75
+ const totalPriceClass = isPriceUpdating
76
+ ? classes.priceUpdating
77
+ : classes.totalPrice;
78
+
79
+ const totalPriceLabel = isCheckout
80
+ ? formatMessage({
81
+ id: 'priceSummary.total',
82
+ defaultMessage: 'Total'
83
+ })
84
+ : formatMessage({
85
+ id: 'priceSummary.estimatedTotal',
86
+ defaultMessage: 'Estimated Total'
87
+ });
88
+
89
+ const proceedToCheckoutButton = !isCheckout ? (
90
+ <div className={cn(classes.checkoutButton_container, 'block !mt-6 !min-h-auto')}>
91
+ <Button
92
+ disabled={isPriceUpdating}
93
+ priority={'high'}
94
+ onClick={handleProceedToCheckout}
95
+ onKeyDown={handleEnterKeyPress}
96
+ data-cy="PriceSummary-checkoutButton"
97
+ classes={{
98
+ rootClass: 'w-full',
99
+ content: 'font-medium text-[16px] capitalize',
100
+ }}
101
+ >
102
+ <FormattedMessage
103
+ id={'priceSummary.checkoutButton'}
104
+ defaultMessage={'Checkout'}
105
+ />
106
+ </Button>
107
+ </div>
108
+ ) : null;
109
+
110
+ return (
111
+ <div className={cn(classes.root, 'border border-gray-100 rounded-md p-6')} data-cy="PriceSummary-root">
112
+ <div>
113
+ <p className='text-[16px] front font-semibold mb-4'>
114
+ <FormattedMessage
115
+ id={'priceSummary.summaryLabel'}
116
+ defaultMessage={'Summary'}
117
+ />
118
+ </p>
119
+ <ul>
120
+ <li className={classes.lineItems}>
121
+ <span
122
+ data-cy="PriceSummary-lineItemLabel"
123
+ className={classes.lineItemLabel}
124
+ >
125
+ <FormattedMessage
126
+ id={'priceSummary.lineItemLabel'}
127
+ defaultMessage={'Subtotal'}
128
+ />
129
+ </span>
130
+ <span
131
+ data-cy="PriceSummary-subtotalValue"
132
+ className={priceClass}
133
+ >
134
+ <Price
135
+ value={subtotal.value}
136
+ currencyCode={subtotal.currency}
137
+ />
138
+ </span>
139
+ </li>
140
+ <DiscountSummary
141
+ classes={{
142
+ lineItems: classes.lineItems,
143
+ lineItemLabel: classes.lineItemLabel,
144
+ price: priceClass
145
+ }}
146
+ data={discounts}
147
+ />
148
+ <li className={classes.lineItems}>
149
+ <GiftCardSummary
150
+ classes={{
151
+ lineItemLabel: classes.lineItemLabel,
152
+ price: priceClass
153
+ }}
154
+ data={giftCards}
155
+ />
156
+ </li>
157
+ <li className={classes.lineItems}>
158
+ <GiftOptionsSummary
159
+ classes={{
160
+ lineItemLabel: classes.lineItemLabel,
161
+ price: priceClass
162
+ }}
163
+ data={giftOptions}
164
+ />
165
+ </li>
166
+ <li className={classes.lineItems}>
167
+ <TaxSummary
168
+ classes={{
169
+ lineItemLabel: classes.lineItemLabel,
170
+ price: priceClass
171
+ }}
172
+ data={taxes}
173
+ isCheckout={isCheckout}
174
+ />
175
+ </li>
176
+ <li className={classes.lineItems}>
177
+ <ShippingSummary
178
+ classes={{
179
+ lineItemLabel: classes.lineItemLabel,
180
+ price: priceClass
181
+ }}
182
+ data={shipping}
183
+ isCheckout={isCheckout}
184
+ />
185
+ </li>
186
+ <li className={classes.lineItems}>
187
+ <span
188
+ data-cy="PriceSummary-totalLabel"
189
+ className={classes.totalLabel}
190
+ >
191
+ {totalPriceLabel}
192
+ </span>
193
+ <span
194
+ data-cy="PriceSummary-totalValue"
195
+ className={totalPriceClass}
196
+ >
197
+ <Price
198
+ value={total.value}
199
+ currencyCode={total.currency}
200
+ />
201
+ </span>
202
+ </li>
203
+ </ul>
204
+ </div>
205
+ {proceedToCheckoutButton}
206
+ </div>
207
+ );
208
+ };
209
+
210
+ export default PriceSummary;
@@ -0,0 +1,51 @@
1
+ .root {}
2
+
3
+ .errorText {
4
+ composes: leading-normal from global;
5
+ composes: text-error from global;
6
+ }
7
+
8
+ .lineItems {
9
+ composes: gap-3 from global;
10
+ composes: grid from global;
11
+ composes: grid-cols-autoLast from global;
12
+ composes: leading-normal from global;
13
+ }
14
+
15
+ .lineItemLabel {
16
+ composes: justify-self-start from global;
17
+ composes: mb-3 from global;
18
+ composes: font-medium from global;
19
+ composes: text-[14px] from global;
20
+ }
21
+
22
+ .price {
23
+ composes: justify-self-end from global;
24
+ composes: self-center from global;
25
+ composes: text-[14px] from global;
26
+ }
27
+
28
+ .totalLabel {
29
+ composes: lineItemLabel;
30
+ composes: font-semibold from global;
31
+ }
32
+
33
+ .totalPrice {
34
+ composes: price;
35
+ composes: font-semibold from global;
36
+ }
37
+
38
+ .priceUpdating {
39
+ composes: price;
40
+ composes: opacity-0 from global;
41
+ composes: text-[14px] from global;
42
+ }
43
+
44
+ .checkoutButton_container {
45
+ composes: items-center from global;
46
+ composes: inline-flex from global;
47
+ composes: justify-center from global;
48
+ composes: mt-xs from global;
49
+ composes: w-full from global;
50
+ min-height: 5.5rem;
51
+ }
@@ -0,0 +1,58 @@
1
+ import React from 'react';
2
+ import { FormattedMessage, useIntl } from 'react-intl';
3
+ import Price from '@magento/venia-ui/lib/components/Price';
4
+
5
+ import { useStyle } from '@magento/venia-ui/lib/classify';
6
+ /**
7
+ * A component that renders the shipping summary line item after address and
8
+ * method are selected
9
+ *
10
+ * @param {Object} props.classes
11
+ * @param {Object} props.data fragment response data
12
+ */
13
+ const ShippingSummary = props => {
14
+ const classes = useStyle({}, props.classes);
15
+ const { data, isCheckout } = props;
16
+ const { formatMessage } = useIntl();
17
+
18
+ // Don't render estimated shipping until an address has been provided and
19
+ // a method has been selected.
20
+ if (!data.length || !data[0].selected_shipping_method) {
21
+ return null;
22
+ }
23
+
24
+ const shipping = data[0].selected_shipping_method.amount;
25
+
26
+ const shippingLabel = isCheckout
27
+ ? formatMessage({
28
+ id: 'shippingSummary.shipping',
29
+ defaultMessage: 'Shipping'
30
+ })
31
+ : formatMessage({
32
+ id: 'shippingSummary.estimatedShipping',
33
+ defaultMessage: 'Estimated Shipping'
34
+ });
35
+
36
+ // For a value of "0", display "FREE".
37
+ const price = shipping.value ? (
38
+ <Price value={shipping.value} currencyCode={shipping.currency} />
39
+ ) : (
40
+ <span>
41
+ <FormattedMessage id={'global.free'} defaultMessage={'FREE'} />
42
+ </span>
43
+ );
44
+
45
+ return (
46
+ <>
47
+ <span className={classes.lineItemLabel}>{shippingLabel}</span>
48
+ <span
49
+ data-cy="ShippingSummary-shippingValue"
50
+ className={classes.price}
51
+ >
52
+ {price}
53
+ </span>
54
+ </>
55
+ );
56
+ };
57
+
58
+ export default ShippingSummary;
@@ -0,0 +1,57 @@
1
+ import React from 'react';
2
+ import { useIntl } from 'react-intl';
3
+ import Price from '@magento/venia-ui/lib/components/Price';
4
+
5
+ import { useStyle } from '@magento/venia-ui/lib/classify';
6
+ /**
7
+ * Reduces applied tax amounts into a single amount.
8
+ *
9
+ * @param {Array} applied_taxes
10
+ */
11
+ const getEstimatedTax = (applied_taxes = []) => {
12
+ return {
13
+ currency: applied_taxes[0].amount.currency,
14
+ value: applied_taxes.reduce((acc, tax) => acc + tax.amount.value, 0)
15
+ };
16
+ };
17
+
18
+ /**
19
+ * A component that renders the tax summary line item.
20
+ *
21
+ * @param {Object} props.classes
22
+ * @param {Object} props.data query response data
23
+ */
24
+ const TaxSummary = props => {
25
+ const classes = useStyle({}, props.classes);
26
+ const { data, isCheckout } = props;
27
+ const { formatMessage } = useIntl();
28
+
29
+ // Don't render estimated taxes until an address has been provided which
30
+ // causes the server to apply a tax value to the cart.
31
+ if (!data.length) {
32
+ return null;
33
+ }
34
+
35
+ const taxLabel = isCheckout
36
+ ? formatMessage({
37
+ id: 'taxSummary.tax',
38
+ defaultMessage: 'Tax'
39
+ })
40
+ : formatMessage({
41
+ id: 'taxSummary.estimatedTax',
42
+ defaultMessage: 'Estimated Tax'
43
+ });
44
+
45
+ const tax = getEstimatedTax(props.data);
46
+
47
+ return (
48
+ <>
49
+ <span className={classes.lineItemLabel}>{taxLabel}</span>
50
+ <span data-cy="TaxSummary-taxValue" className={classes.price}>
51
+ <Price value={tax.value} currencyCode={tax.currency} />
52
+ </span>
53
+ </>
54
+ );
55
+ };
56
+
57
+ export default TaxSummary;
@@ -0,0 +1,41 @@
1
+ import React from 'react';
2
+ import { useEditModal } from '@magento/peregrine/lib/talons/CartPage/ProductListing/EditModal/useEditModal';
3
+
4
+ import ProductForm from './productForm';
5
+
6
+ /**
7
+ * A child component of the ProductListing component.
8
+ * This component renders an edit modal for a product.
9
+ *
10
+ * @param {Object} props
11
+ * @param {Object} props.item Product to edit.
12
+ * @param {function} props.setActiveEditItem Function for setting the actively editing item
13
+ * See [productListingFragments.js]{@link https://github.com/magento/pwa-studio/blob/develop/packages/venia-ui/lib/components/CartPage/ProductListing/productListingFragments.js}
14
+ * for a list of properties for this object.
15
+ * @param {Function} props.setIsCartUpdating Function for setting the updating state of the cart.
16
+ * @param {Object} props.classes CSS className overrides.
17
+ * See [editModal.module.css]{@link https://github.com/magento/pwa-studio/blob/develop/packages/venia-ui/lib/components/CartPage/ProductListing/EditModal/editModal.module.css}
18
+ * for a list of classes you can override.
19
+ *
20
+ * @returns {React.Element}
21
+ *
22
+ * @example <caption>Importing into your project</caption>
23
+ * import EditModal from "@magento/venia-ui/lib/components/CartPage/ProductListing/EditModal";
24
+ */
25
+ const EditModal = props => {
26
+ const { item, setActiveEditItem, setIsCartUpdating } = props;
27
+ const talonProps = useEditModal();
28
+ const { setVariantPrice, variantPrice } = talonProps;
29
+
30
+ return (
31
+ <ProductForm
32
+ item={item}
33
+ setIsCartUpdating={setIsCartUpdating}
34
+ setVariantPrice={setVariantPrice}
35
+ variantPrice={variantPrice}
36
+ setActiveEditItem={setActiveEditItem}
37
+ />
38
+ );
39
+ };
40
+
41
+ export default EditModal;
@@ -0,0 +1 @@
1
+ export { default } from './editModal';
@@ -0,0 +1,80 @@
1
+ import React from 'react';
2
+ import { FormattedMessage, useIntl } from 'react-intl';
3
+ import Price from '@magento/venia-ui/lib/components/Price';
4
+ import configuredVariant from '@magento/peregrine/lib/util/configuredVariant';
5
+
6
+ import { useStyle } from '@magento/venia-ui/lib/classify';
7
+ import Image from '@magento/venia-ui/lib/components/Image';
8
+ import defaultClasses from './productDetail.module.css';
9
+
10
+ const IMAGE_SIZE = 240;
11
+
12
+ const ProductDetail = props => {
13
+ const { item, variantPrice, configurableThumbnailSource } = props;
14
+ const { formatMessage } = useIntl();
15
+ const { prices, product } = item;
16
+ const { price } = prices;
17
+ const { currency, value: unitPrice } = variantPrice || price;
18
+ const { name, sku, stock_status: stockStatusValue } = product;
19
+ const stockStatusLabels = new Map([
20
+ [
21
+ 'IN_STOCK',
22
+ formatMessage({
23
+ id: 'productDetail.inStock',
24
+ defaultMessage: 'In stock'
25
+ })
26
+ ],
27
+ [
28
+ 'OUT_OF_STOCK',
29
+ formatMessage({
30
+ id: 'productDetail.outOfStock',
31
+ defaultMessage: 'Out of stock'
32
+ })
33
+ ]
34
+ ]);
35
+ const stockStatus =
36
+ stockStatusLabels.get(stockStatusValue) ||
37
+ formatMessage({
38
+ id: 'productDetail.unknown',
39
+ defaultMessage: 'Unknown'
40
+ });
41
+ const classes = useStyle(defaultClasses, props.classes);
42
+ const configured_variant = configuredVariant(
43
+ item.configurable_options,
44
+ product
45
+ );
46
+ return (
47
+ <div className={classes.root}>
48
+ <Image
49
+ alt={name}
50
+ classes={{
51
+ image: classes.image,
52
+ root: classes.imageContainer
53
+ }}
54
+ width={IMAGE_SIZE}
55
+ resource={
56
+ configurableThumbnailSource === 'itself' &&
57
+ configured_variant
58
+ ? configured_variant.small_image.url
59
+ : product.small_image.url
60
+ }
61
+ />
62
+ <span className={classes.productName}>{name}</span>
63
+ <div className={classes.stockRow}>
64
+ <span>
65
+ <FormattedMessage
66
+ id={'productDetail.skuNumber'}
67
+ defaultMessage={'SKU # {sku}'}
68
+ values={{ sku }}
69
+ />
70
+ </span>
71
+ <span>{stockStatus}</span>
72
+ </div>
73
+ <div className={classes.price}>
74
+ <Price currencyCode={currency} value={unitPrice} />
75
+ </div>
76
+ </div>
77
+ );
78
+ };
79
+
80
+ export default ProductDetail;
@@ -0,0 +1,33 @@
1
+ .root {
2
+ composes: border-b from global;
3
+ composes: border-solid from global;
4
+ composes: border-subtle from global;
5
+ composes: gap-xs from global;
6
+ composes: grid from global;
7
+ composes: pb-xs from global;
8
+ }
9
+
10
+ .imageContainer {
11
+ composes: justify-self-center from global;
12
+ }
13
+
14
+ .image {
15
+ composes: px-md from global;
16
+ composes: py-0 from global;
17
+ }
18
+
19
+ .productName {
20
+ composes: font-semibold from global;
21
+ composes: text-xl from global;
22
+ }
23
+
24
+ .stockRow {
25
+ composes: flex from global;
26
+ composes: font-light from global;
27
+ composes: justify-between from global;
28
+ composes: text-sm from global;
29
+ }
30
+
31
+ .price {
32
+ composes: font-semibold from global;
33
+ }
@@ -0,0 +1,153 @@
1
+ import React, { Fragment } from 'react';
2
+ import { FormattedMessage, useIntl } from 'react-intl';
3
+ import { useProductForm } from '@magento/peregrine/lib/talons/CartPage/ProductListing/EditModal/useProductForm';
4
+
5
+ import { useStyle } from '@magento/venia-ui/lib/classify';
6
+ import FormError from '@magento/venia-ui/lib/components/FormError';
7
+ import LoadingIndicator from '@magento/venia-ui/lib/components/LoadingIndicator';
8
+ import Options from '@magento/venia-ui/lib/components/ProductOptions';
9
+ import QuantityStepper from '@magento/venia-ui/lib/components/QuantityStepper';
10
+ import defaultClasses from './productForm.module.css';
11
+ import Dialog from '@magento/venia-ui/lib/components/Dialog';
12
+ import ProductDetail from './productDetail';
13
+
14
+ const ProductForm = props => {
15
+ const {
16
+ item: cartItem,
17
+ setIsCartUpdating,
18
+ variantPrice,
19
+ setVariantPrice,
20
+ setActiveEditItem
21
+ } = props;
22
+ const { formatMessage } = useIntl();
23
+ const talonProps = useProductForm({
24
+ cartItem,
25
+ setIsCartUpdating,
26
+ setVariantPrice,
27
+ setActiveEditItem
28
+ });
29
+ const {
30
+ configItem,
31
+ errors,
32
+ handleOptionSelection,
33
+ handleSubmit,
34
+ outOfStockVariants,
35
+ isLoading,
36
+ isSaving,
37
+ isDialogOpen,
38
+ handleClose,
39
+ configurableThumbnailSource
40
+ } = talonProps;
41
+
42
+ const classes = useStyle(defaultClasses, props.classes);
43
+ const dialogButtonsDisabled = isLoading;
44
+ const dialogSubmitButtonDisabled = isSaving;
45
+ const dialogFormProps = {
46
+ initialValues: cartItem
47
+ };
48
+
49
+ const message = isLoading
50
+ ? formatMessage({
51
+ id: 'productForm.fetchingProductOptions',
52
+ defaultMessage: 'Fetching Product Options...'
53
+ })
54
+ ? isSaving
55
+ : formatMessage({
56
+ id: 'productForm.updatingCart',
57
+ defaultMessage: 'Updating Cart...'
58
+ })
59
+ : null;
60
+
61
+ const maybeLoadingIndicator =
62
+ isLoading || isSaving ? (
63
+ <LoadingIndicator
64
+ classes={{
65
+ root: classes.loading
66
+ }}
67
+ >
68
+ {message}
69
+ </LoadingIndicator>
70
+ ) : null;
71
+
72
+ if (cartItem && !isLoading && !configItem) {
73
+ return (
74
+ <span className={classes.dataError}>
75
+ <FormattedMessage
76
+ id={'productForm.dataError'}
77
+ defaultMessage={
78
+ 'Something went wrong. Please refresh and try again.'
79
+ }
80
+ />
81
+ </span>
82
+ );
83
+ }
84
+
85
+ const dialogContent =
86
+ cartItem && configItem ? (
87
+ <div>
88
+ <FormError
89
+ classes={{
90
+ root: classes.errorContainer
91
+ }}
92
+ errors={Array.from(errors.values())}
93
+ scrollOnError={false}
94
+ allowErrorMessages={true}
95
+ />
96
+ <ProductDetail
97
+ item={cartItem}
98
+ variantPrice={variantPrice}
99
+ configurableThumbnailSource={configurableThumbnailSource}
100
+ />
101
+ <Options
102
+ classes={{
103
+ root: classes.optionRoot
104
+ }}
105
+ onSelectionChange={handleOptionSelection}
106
+ options={configItem.configurable_options}
107
+ selectedValues={cartItem.configurable_options}
108
+ outOfStockVariants={outOfStockVariants}
109
+ />
110
+ <h3 className={classes.quantityLabel}>
111
+ <FormattedMessage
112
+ id={'productForm.quantity'}
113
+ defaultMessage={'Quantity'}
114
+ />
115
+ </h3>
116
+ <QuantityStepper
117
+ classes={{
118
+ root: classes.quantityRoot
119
+ }}
120
+ initialValue={cartItem.quantity}
121
+ itemId={cartItem.id}
122
+ />
123
+ </div>
124
+ ) : null;
125
+
126
+ return (
127
+ <Fragment>
128
+ <Dialog
129
+ classes={{
130
+ contents: classes.contents
131
+ }}
132
+ confirmText={'Update'}
133
+ confirmTranslationId={'productForm.submit'}
134
+ formProps={dialogFormProps}
135
+ isOpen={isDialogOpen}
136
+ onCancel={handleClose}
137
+ onConfirm={handleSubmit}
138
+ shouldDisableAllButtons={dialogButtonsDisabled}
139
+ shouldDisableConfirmButton={dialogSubmitButtonDisabled}
140
+ shouldUnmountOnHide={false}
141
+ title={formatMessage({
142
+ id: 'editModal.headerText',
143
+ defaultMessage: 'Edit Item'
144
+ })}
145
+ >
146
+ {maybeLoadingIndicator}
147
+ {dialogContent}
148
+ </Dialog>
149
+ </Fragment>
150
+ );
151
+ };
152
+
153
+ export default ProductForm;