@shopgate/engage 7.27.3-alpha.17 → 7.27.3-alpha.18

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 (1218) hide show
  1. package/a11y/action-creators/index.js +9 -0
  2. package/a11y/components/FocusTrap/index.js +1 -0
  3. package/a11y/components/LiveMessage/index.js +1 -1
  4. package/a11y/components/LiveMessenger/helpers.js +1 -1
  5. package/a11y/components/LiveMessenger/index.js +2 -2
  6. package/a11y/components/ModalStateTracker/index.js +14 -0
  7. package/a11y/components/Navigation/index.js +1 -1
  8. package/a11y/components/Section/index.js +3 -3
  9. package/a11y/components/VisuallyHidden/index.js +1 -1
  10. package/a11y/components/index.js +1 -1
  11. package/a11y/constants/index.js +1 -0
  12. package/a11y/helpers/index.js +1 -0
  13. package/a11y/hooks/index.js +37 -0
  14. package/a11y/index.js +1 -4
  15. package/a11y/reducers/index.js +6 -0
  16. package/a11y/selectors/index.js +8 -0
  17. package/a11y/styles.js +2 -0
  18. package/account/actions/addContacts.js +4 -0
  19. package/account/actions/deleteContact.js +5 -0
  20. package/account/actions/deleteCustomer.js +4 -0
  21. package/account/actions/fetchContacts.js +4 -0
  22. package/account/actions/fetchCustomer.js +4 -0
  23. package/account/actions/updateContact.js +4 -0
  24. package/account/actions/updateCustomer.js +4 -0
  25. package/account/components/Account/Account.connector.js +5 -0
  26. package/account/components/Account/Account.js +4 -0
  27. package/account/components/Account/Account.style.js +1 -0
  28. package/account/components/Account/index.js +1 -0
  29. package/account/components/Profile/Profile.config.js +11 -0
  30. package/account/components/Profile/Profile.constraints.js +1 -0
  31. package/account/components/Profile/Profile.js +1 -0
  32. package/account/components/Profile/Profile.provider.js +22 -0
  33. package/account/components/Profile/ProfileAddressBook.js +6 -0
  34. package/account/components/Profile/ProfileAddressCard.js +3 -0
  35. package/account/components/Profile/ProfileForm.js +3 -0
  36. package/account/components/Profile/ProfileHeader.js +3 -0
  37. package/account/components/Profile/index.js +1 -0
  38. package/account/components/ProfileContact/ProfileContact.config.js +11 -0
  39. package/account/components/ProfileContact/ProfileContact.constraints.js +5 -0
  40. package/account/components/ProfileContact/ProfileContact.js +13 -0
  41. package/account/components/ProfileContact/index.js +1 -0
  42. package/account/components/index.js +1 -0
  43. package/account/constants/actions.js +1 -0
  44. package/account/constants/index.js +1 -1
  45. package/account/constants/pipelines.js +1 -0
  46. package/account/helper/form.js +61 -0
  47. package/account/index.js +1 -1
  48. package/account/reducers/index.js +6 -0
  49. package/account/selectors/contacts.js +7 -0
  50. package/account/selectors/customer.js +7 -0
  51. package/app-rating/actions/showModal.js +3 -3
  52. package/app-rating/helpers/index.js +1 -1
  53. package/app-rating/subscriptions/index.js +11 -6
  54. package/back-in-stock/actions/index.js +1 -1
  55. package/back-in-stock/components/BackInStockButton/index.js +3 -3
  56. package/back-in-stock/components/CharacteristicsButton/index.js +1 -1
  57. package/back-in-stock/components/ProductInfoBackInStockButton/index.js +1 -1
  58. package/back-in-stock/components/Subscriptions/components/List/index.js +2 -2
  59. package/back-in-stock/components/Subscriptions/components/Subscription/index.js +2 -2
  60. package/back-in-stock/components/Subscriptions/index.js +1 -1
  61. package/back-in-stock/providers/BackInStockSubscriptionsProvider.context.js +1 -1
  62. package/back-in-stock/providers/BackInStockSubscriptionsProvider.js +1 -1
  63. package/back-in-stock/selectors/index.js +5 -3
  64. package/back-in-stock/streams/index.js +1 -1
  65. package/back-in-stock/subscriptions/index.js +2 -2
  66. package/cart/cart.constants.js +1 -0
  67. package/cart/cart.context.js +1 -0
  68. package/cart/cart.helpers.js +15 -0
  69. package/cart/cart.hooks.js +4 -0
  70. package/cart/cart.selectors.js +34 -0
  71. package/cart/cart.types.js +1 -0
  72. package/cart/components/CartHeaderWide/CartHeaderWide.js +3 -0
  73. package/cart/components/CartHeaderWide/CartHeaderWide.style.js +1 -0
  74. package/cart/components/CartHeaderWide/index.js +1 -0
  75. package/cart/components/CartItem/CartItem.hooks.js +7 -0
  76. package/cart/components/CartItem/CartItem.js +7 -0
  77. package/cart/components/CartItem/CartItem.style.js +1 -0
  78. package/cart/components/CartItem/CartItemCoupon.connector.js +7 -0
  79. package/cart/components/CartItem/CartItemCoupon.js +20 -0
  80. package/cart/components/CartItem/CartItemCoupon.style.js +5 -0
  81. package/cart/components/CartItem/CartItemCoupon.types.js +0 -0
  82. package/cart/components/CartItem/CartItemCouponCode.js +5 -0
  83. package/cart/components/CartItem/CartItemCouponDelete.js +5 -0
  84. package/cart/components/CartItem/CartItemCouponDelete.style.js +1 -0
  85. package/cart/components/CartItem/CartItemCouponFreeShipping.js +5 -0
  86. package/cart/components/CartItem/CartItemCouponIcon.js +4 -0
  87. package/cart/components/CartItem/CartItemCouponLayout.js +6 -0
  88. package/cart/components/CartItem/CartItemCouponLayout.style.js +5 -0
  89. package/cart/components/CartItem/CartItemCouponPrice.js +5 -0
  90. package/cart/components/CartItem/CartItemCouponPrice.style.js +1 -0
  91. package/cart/components/CartItem/CartItemCouponTitle.js +5 -0
  92. package/cart/components/CartItem/CartItemCouponTitle.style.js +1 -0
  93. package/cart/components/CartItem/CartItemProduct.js +5 -0
  94. package/cart/components/CartItem/CartItemProduct.style.js +1 -0
  95. package/cart/components/CartItem/CartItemProductLayout.js +6 -0
  96. package/cart/components/CartItem/CartItemProductLayout.style.js +1 -0
  97. package/cart/components/CartItem/CartItemProductLayoutWide.js +4 -0
  98. package/cart/components/CartItem/CartItemProductLayoutWide.style.js +1 -0
  99. package/cart/components/CartItem/CartItemProductLayoutWideFulfillmentLabel.js +4 -0
  100. package/cart/components/CartItem/CartItemProductLayoutWideFulfillmentLabel.style.js +1 -0
  101. package/cart/components/CartItem/CartItemProductLayoutWideOrderDetails.js +3 -0
  102. package/cart/components/CartItem/CartItemProductLayoutWideRemoveItem.js +4 -0
  103. package/cart/components/CartItem/CartItemProductLayoutWideRemoveItem.style.js +1 -0
  104. package/cart/components/CartItem/CartItemProductOrderDetails.js +3 -0
  105. package/cart/components/CartItem/CartItemProductOrderDetails.style.js +1 -0
  106. package/cart/components/CartItem/CartItemProductPriceCaption.js +4 -0
  107. package/cart/components/CartItem/CartItemProductPriceCaption.style.js +1 -0
  108. package/cart/components/CartItem/CartItemProductPriceList.js +5 -0
  109. package/cart/components/CartItem/CartItemProductPriceListPromotion.js +10 -0
  110. package/cart/components/CartItem/CartItemProductProvider.connector.js +9 -0
  111. package/cart/components/CartItem/CartItemProductProvider.context.js +1 -0
  112. package/cart/components/CartItem/CartItemProductProvider.js +12 -0
  113. package/cart/components/CartItem/CartItemProductProvider.types.js +1 -0
  114. package/cart/components/CartItem/CartItemProductProviderLegacy.js +22 -0
  115. package/cart/components/CartItem/CartItemProductTitle.js +7 -0
  116. package/cart/components/CartItem/CartItemProductTitle.style.js +1 -0
  117. package/cart/components/CartItem/CartItemProvider.connector.js +3 -0
  118. package/cart/components/CartItem/CartItemProvider.context.js +1 -0
  119. package/cart/components/CartItem/CartItemProvider.js +5 -0
  120. package/cart/components/CartItem/CartItemQuantityPicker.js +38 -0
  121. package/cart/components/CartItem/CartItemQuantityPicker.style.js +1 -0
  122. package/cart/components/CartItem/CartItemSubstitution.connector.js +5 -0
  123. package/cart/components/CartItem/CartItemSubstitution.js +5 -0
  124. package/cart/components/CartItem/CartItemSubstitution.style.js +1 -0
  125. package/cart/components/CartItem/index.js +1 -0
  126. package/cart/components/CartItems/CartItem.connector.js +4 -0
  127. package/cart/components/CartItems/CartItemCard.js +5 -0
  128. package/cart/components/CartItems/CartItemCard.style.js +1 -0
  129. package/cart/components/CartItems/CartItemCardReservation.js +5 -0
  130. package/cart/components/CartItems/CartItemCardReservationAccordion.js +4 -0
  131. package/cart/components/CartItems/CartItemCardReservationLabel.js +5 -0
  132. package/cart/components/CartItems/CartItemCardReservationLabelChangeStore.js +3 -0
  133. package/cart/components/CartItems/CartItemCardReservationLabelChangeStore.style.js +1 -0
  134. package/cart/components/CartItems/CartItemGroup.js +5 -0
  135. package/cart/components/CartItems/CartItemGroup.style.js +1 -0
  136. package/cart/components/CartItems/CartItemGroupReservation.js +5 -0
  137. package/cart/components/CartItems/CartItemGroupReservationLabel.js +5 -0
  138. package/cart/components/CartItems/CartItemGroupShipping.js +4 -0
  139. package/cart/components/CartItems/CartItems.js +5 -0
  140. package/cart/components/CartItems/CartItems.style.js +1 -0
  141. package/cart/components/CartItems/CartItemsHeaderWide.connector.js +3 -0
  142. package/cart/components/CartItems/CartItemsHeaderWide.js +3 -0
  143. package/cart/components/CartItems/CartItemsHeaderWide.style.js +1 -0
  144. package/cart/components/CartItems/CartItemsSubscription.connector.js +5 -0
  145. package/cart/components/CartItems/CartItemsSubstitution.js +5 -0
  146. package/cart/components/CartItems/index.js +1 -0
  147. package/cart/components/CartSummaryWide/CartSummaryWide.connector.js +4 -0
  148. package/cart/components/CartSummaryWide/CartSummaryWide.js +4 -0
  149. package/cart/components/CartSummaryWide/CartSummaryWide.style.js +1 -0
  150. package/cart/components/CartSummaryWide/CartSummaryWideCheckoutButton.connector.js +5 -0
  151. package/cart/components/CartSummaryWide/CartSummaryWideCheckoutButton.js +4 -0
  152. package/cart/components/CartSummaryWide/CartSummaryWideCheckoutButton.style.js +1 -0
  153. package/cart/components/CartSummaryWide/CartSummaryWideFooter.js +3 -0
  154. package/cart/components/CartSummaryWide/index.js +1 -0
  155. package/cart/components/PaymentBar/PaymentBar.js +5 -0
  156. package/cart/components/PaymentBar/PaymentBarAppliedPromotions.connector.js +5 -0
  157. package/cart/components/PaymentBar/PaymentBarAppliedPromotions.js +3 -0
  158. package/cart/components/PaymentBar/PaymentBarCheckoutButton.connector.js +5 -0
  159. package/cart/components/PaymentBar/PaymentBarCheckoutButton.js +5 -0
  160. package/cart/components/PaymentBar/PaymentBarCheckoutButton.style.js +1 -0
  161. package/cart/components/PaymentBar/PaymentBarContent.js +4 -0
  162. package/cart/components/PaymentBar/PaymentBarContent.style.js +1 -0
  163. package/cart/components/PaymentBar/PaymentBarDiscounts.connector.js +5 -0
  164. package/cart/components/PaymentBar/PaymentBarDiscounts.js +4 -0
  165. package/cart/components/PaymentBar/PaymentBarGrandTotal.connector.js +5 -0
  166. package/cart/components/PaymentBar/PaymentBarGrandTotal.js +4 -0
  167. package/cart/components/PaymentBar/PaymentBarPromotionCouponMessages.js +4 -0
  168. package/cart/components/PaymentBar/PaymentBarPromotionCoupons.connector.js +8 -0
  169. package/cart/components/PaymentBar/PaymentBarPromotionCoupons.js +3 -0
  170. package/cart/components/PaymentBar/PaymentBarPromotionalText.js +4 -0
  171. package/cart/components/PaymentBar/PaymentBarReserveButton.connector.js +1 -0
  172. package/cart/components/PaymentBar/PaymentBarReserveButton.js +7 -0
  173. package/cart/components/PaymentBar/PaymentBarShippingCost.connector.js +5 -0
  174. package/cart/components/PaymentBar/PaymentBarShippingCost.js +3 -0
  175. package/cart/components/PaymentBar/PaymentBarSubTotal.connector.js +5 -0
  176. package/cart/components/PaymentBar/PaymentBarSubTotal.js +3 -0
  177. package/cart/components/PaymentBar/PaymentBarTax.connector.js +5 -0
  178. package/cart/components/PaymentBar/PaymentBarTax.js +4 -0
  179. package/cart/components/PaymentBar/index.js +1 -0
  180. package/cart/components/Substitution/connector.js +5 -0
  181. package/cart/components/Substitution/index.js +9 -0
  182. package/cart/components/Substitution/style.js +1 -0
  183. package/cart/components/SupplementalContent/SupplementalContent.connector.js +4 -0
  184. package/cart/components/SupplementalContent/SupplementalContent.js +5 -0
  185. package/cart/components/SupplementalContent/SupplementalContent.styles.js +1 -0
  186. package/cart/components/SupplementalContent/index.js +1 -0
  187. package/cart/index.js +10 -5
  188. package/cart/streams/index.js +1 -0
  189. package/category/actions/index.js +1 -0
  190. package/category/components/CategoryImage/connector.js +5 -0
  191. package/category/components/CategoryImage/index.js +5 -0
  192. package/category/components/CategoryList/index.js +2 -2
  193. package/category/components/CategoryList/style.js +1 -1
  194. package/category/components/index.js +1 -0
  195. package/category/constants/index.js +1 -0
  196. package/category/helpers/index.js +1 -0
  197. package/category/index.js +1 -7
  198. package/category/selectors/index.js +2 -0
  199. package/category/streams/index.js +1 -0
  200. package/checkout/action-creators/addCheckoutCampaign.js +5 -0
  201. package/checkout/action-creators/clearCheckoutCampaign.js +5 -0
  202. package/checkout/action-creators/clearCheckoutOrder.js +4 -0
  203. package/checkout/action-creators/index.js +1 -0
  204. package/checkout/action-creators/validationErrorsCheckout.js +5 -0
  205. package/checkout/actions/errorCheckout.js +17 -0
  206. package/checkout/actions/fetchCheckoutOrder.js +4 -0
  207. package/checkout/actions/fetchPaymentMethods.js +4 -0
  208. package/checkout/actions/index.js +1 -0
  209. package/checkout/actions/initializeCheckout.js +4 -0
  210. package/checkout/actions/prepareCheckout.js +8 -0
  211. package/checkout/actions/submitCheckoutOrder.js +5 -0
  212. package/checkout/actions/updateCheckoutOrder.js +5 -0
  213. package/checkout/components/AddressBook/AddressBook.js +5 -0
  214. package/checkout/components/AddressBook/AddressList.js +9 -0
  215. package/checkout/components/AddressBook/index.js +1 -0
  216. package/checkout/components/AddressBookContact/AddressBookContact.js +5 -0
  217. package/checkout/components/AddressBookContact/index.js +1 -0
  218. package/checkout/components/Checkout/Checkout.js +4 -0
  219. package/checkout/components/Checkout/CheckoutActions.js +4 -0
  220. package/checkout/components/Checkout/CheckoutAddress.js +6 -0
  221. package/checkout/components/Checkout/CheckoutHeader.js +4 -0
  222. package/checkout/components/Checkout/CheckoutPickupContactForm.config.js +8 -0
  223. package/checkout/components/Checkout/CheckoutPickupContactForm.js +4 -0
  224. package/checkout/components/Checkout/CheckoutSection.js +4 -0
  225. package/checkout/components/Checkout/CheckoutSectionInfo.js +4 -0
  226. package/checkout/components/Checkout/CheckoutSectionMessages.js +4 -0
  227. package/checkout/components/Checkout/CheckoutSummary.js +4 -0
  228. package/checkout/components/CheckoutConfirmation/CheckoutConfirmation.connector.js +3 -0
  229. package/checkout/components/CheckoutConfirmation/CheckoutConfirmation.js +7 -0
  230. package/checkout/components/CheckoutConfirmation/CheckoutConfirmationBilledTo.js +4 -0
  231. package/checkout/components/CheckoutConfirmation/CheckoutConfirmationOrderContact.js +4 -0
  232. package/checkout/components/CheckoutConfirmation/CheckoutConfirmationOrderSummary.js +4 -0
  233. package/checkout/components/CheckoutConfirmation/CheckoutConfirmationPickUpContact.js +4 -0
  234. package/checkout/components/CheckoutConfirmation/CheckoutConfirmationPickupNotes.js +4 -0
  235. package/checkout/components/CheckoutConfirmation/CheckoutConfirmationSection.js +4 -0
  236. package/checkout/components/CheckoutConfirmation/CheckoutConfirmationShippedTo.js +4 -0
  237. package/checkout/components/CheckoutConfirmation/index.js +1 -0
  238. package/checkout/components/GuestCheckout/GuestCheckout.js +4 -0
  239. package/checkout/components/GuestCheckout/GuestCheckoutOptIn.config.js +4 -0
  240. package/checkout/components/GuestCheckout/GuestCheckoutOptIn.js +3 -0
  241. package/checkout/components/GuestCheckout/GuestCheckoutPickup.js +4 -0
  242. package/checkout/components/GuestCheckout/GuestCheckoutPickupNotes.config.js +4 -0
  243. package/checkout/components/GuestCheckout/GuestCheckoutPickupNotes.js +4 -0
  244. package/checkout/components/PaymentMethodButton/PaymentMethodButton.js +5 -0
  245. package/checkout/components/PaymentMethodButton/index.js +1 -0
  246. package/checkout/components/ResponsiveBackButton/ResponsiveBackButton.js +4 -0
  247. package/checkout/components/ResponsiveBackButton/ResponsiveBackButton.style.js +1 -0
  248. package/checkout/components/ResponsiveBackButton/index.js +1 -0
  249. package/checkout/components/ShippingMethods/ShippingMethod.js +5 -0
  250. package/checkout/components/ShippingMethods/ShippingMethods.js +23 -0
  251. package/checkout/components/ShippingMethods/connector.js +7 -0
  252. package/checkout/components/ShippingMethods/index.js +1 -0
  253. package/checkout/components/SupplementalContent/SupplementalContent.connector.js +4 -0
  254. package/checkout/components/SupplementalContent/SupplementalContent.js +5 -0
  255. package/checkout/components/SupplementalContent/SupplementalContent.styles.js +1 -0
  256. package/checkout/components/SupplementalContent/index.js +1 -0
  257. package/checkout/components/index.js +1 -0
  258. package/checkout/constants/actionTypes.js +1 -0
  259. package/checkout/constants/errorCodes.js +1 -0
  260. package/checkout/constants/index.js +1 -0
  261. package/checkout/constants/routes.js +1 -0
  262. package/checkout/helpers/index.js +34 -0
  263. package/checkout/hooks/common.js +7 -0
  264. package/checkout/index.js +6 -5
  265. package/checkout/paymentMethods/context.js +1 -0
  266. package/checkout/paymentMethods/index.js +28 -0
  267. package/checkout/paymentMethods/paypal/PaypalButton.js +5 -0
  268. package/checkout/paymentMethods/paypal/PaypalButtonApp.js +4 -0
  269. package/checkout/paymentMethods/paypal/PaypalButtonWeb.js +8 -0
  270. package/checkout/paymentMethods/paypal/PaypalPayButton.js +12 -0
  271. package/checkout/paymentMethods/paypal/PaypalProvider.js +6 -0
  272. package/checkout/paymentMethods/paypal/index.js +1 -0
  273. package/checkout/paymentMethods/paypal/paypal_logo.png +0 -0
  274. package/checkout/paymentMethods/paypal/sdk.js +9 -0
  275. package/checkout/paymentMethods/stripe/StripeButton.connector.js +6 -0
  276. package/checkout/paymentMethods/stripe/StripeButton.js +5 -0
  277. package/checkout/paymentMethods/stripe/StripeCreditCard.js +10 -0
  278. package/checkout/paymentMethods/stripe/StripePayButton.js +6 -0
  279. package/checkout/paymentMethods/stripe/StripeProvider.connector.js +6 -0
  280. package/checkout/paymentMethods/stripe/StripeProvider.context.js +1 -0
  281. package/checkout/paymentMethods/stripe/StripeProvider.js +33 -0
  282. package/checkout/paymentMethods/stripe/applepay.svg +84 -0
  283. package/checkout/paymentMethods/stripe/googlepay.png +0 -0
  284. package/checkout/paymentMethods/stripe/index.js +1 -0
  285. package/checkout/paymentMethods/stripe/sdk.js +9 -0
  286. package/checkout/providers/AddressBookProvider.context.js +1 -0
  287. package/checkout/providers/AddressBookProvider.js +11 -0
  288. package/checkout/providers/CheckoutProvider.connector.js +7 -0
  289. package/checkout/providers/CheckoutProvider.constraints.js +1 -0
  290. package/checkout/providers/CheckoutProvider.context.js +1 -0
  291. package/checkout/providers/CheckoutProvider.js +28 -0
  292. package/checkout/reducers/index.js +6 -0
  293. package/checkout/selectors/campaign.js +5 -0
  294. package/checkout/selectors/guestCheckout.js +5 -0
  295. package/checkout/selectors/order.js +59 -0
  296. package/checkout/selectors/payment.js +17 -0
  297. package/checkout/selectors/route.js +4 -0
  298. package/checkout/streams/index.js +1 -0
  299. package/checkout/subscriptions/index.js +3 -0
  300. package/components/BrandingColorBanner/BrandingColorBanner.js +5 -0
  301. package/components/BrandingColorBanner/index.js +1 -0
  302. package/components/ChipLayout/index.js +7 -7
  303. package/components/ChipLayout/spec.js +1 -1
  304. package/components/ChipLayout/style.js +2 -2
  305. package/components/ConditionalWrapper/ConditionalWrapper.js +10 -0
  306. package/components/ConditionalWrapper/index.js +1 -5
  307. package/components/ConnectedReactPortal/index.js +13 -0
  308. package/components/Footer/Footer.js +4 -23
  309. package/components/Footer/Footer.style.js +1 -7
  310. package/components/Footer/constants.js +1 -0
  311. package/components/Footer/helpers.js +75 -0
  312. package/components/Form/Builder/Builder.constants.js +1 -1
  313. package/components/Form/Builder/Builder.js +53 -37
  314. package/components/Form/Builder/ElementCheckbox.js +2 -2
  315. package/components/Form/Builder/ElementMultiSelect.js +6 -0
  316. package/components/Form/Builder/ElementPhoneNumber.js +20 -0
  317. package/components/Form/Builder/ElementRadio.js +2 -2
  318. package/components/Form/Builder/ElementSelect.js +3 -3
  319. package/components/Form/Builder/ElementText.js +4 -4
  320. package/components/Form/Builder/FormHelper.js +5 -0
  321. package/components/Form/Builder/classes/ActionListener.constants.js +2 -2
  322. package/components/Form/Builder/classes/ActionListener.js +72 -15
  323. package/components/Form/Builder/helpers/buildCountryList.js +3 -3
  324. package/components/Form/Builder/helpers/buildFormDefaults.js +1 -1
  325. package/components/Form/Builder/helpers/buildProvinceList.js +1 -1
  326. package/components/Form/Builder/helpers/common.js +6 -0
  327. package/components/Form/Builder/stylePresets.js +1 -0
  328. package/components/Form/Form.js +11 -8
  329. package/components/Form/index.js +1 -1
  330. package/components/IntersectionVisibility/index.js +13 -6
  331. package/components/Logo/connector.js +4 -0
  332. package/components/Logo/index.js +2 -2
  333. package/components/Logo/spec.js +1 -1
  334. package/components/Logo/style.js +1 -1
  335. package/components/Menu/components/Item/index.js +8 -0
  336. package/components/Menu/components/Item/style.js +4 -0
  337. package/components/Menu/components/Position/index.js +16 -0
  338. package/components/Menu/components/Position/style.js +1 -0
  339. package/components/Menu/index.js +12 -0
  340. package/components/Menu/style.js +1 -0
  341. package/components/MessageBar/MessageBar.js +9 -0
  342. package/components/MessageBar/MessageBar.style.js +11 -0
  343. package/components/MessageBar/index.js +1 -7
  344. package/components/NavigationHandler/connector.js +1 -1
  345. package/components/NavigationHandler/index.js +6 -6
  346. package/components/NavigationHandler/spec.js +1 -1
  347. package/components/Picker/components/Button/index.js +1 -1
  348. package/components/Picker/components/List/index.js +2 -2
  349. package/components/Picker/components/Modal/index.js +7 -7
  350. package/components/Picker/index.js +19 -10
  351. package/components/Picker/spec.js +2 -2
  352. package/components/PickerUtilize/components/Button/index.js +1 -1
  353. package/components/PickerUtilize/index.js +8 -6
  354. package/components/PickerUtilize/spec.js +2 -1
  355. package/components/QuantityInput/QuantityInput.js +5 -4
  356. package/components/QuantityLabel/QuantityLabel.js +4 -0
  357. package/components/QuantityLabel/index.js +1 -0
  358. package/components/Radio/Radio.js +5 -0
  359. package/components/Radio/index.js +1 -0
  360. package/components/RadioCard/RadioCard.js +9 -0
  361. package/components/RadioCard/index.js +1 -0
  362. package/components/RadioGroup/RadioGroup.context.js +1 -0
  363. package/components/RadioGroup/RadioGroup.js +4 -0
  364. package/components/RadioGroup/index.js +1 -0
  365. package/components/RadioGroup/useRadioGroup.js +4 -0
  366. package/components/RangeSlider/components/Handle/index.js +2 -2
  367. package/components/RangeSlider/components/Handle/style.js +1 -1
  368. package/components/RangeSlider/helper.js +3 -3
  369. package/components/RangeSlider/index.js +35 -23
  370. package/components/RangeSlider/spec.js +4 -4
  371. package/components/ResponsiveContainer/ResponsiveContainer.js +6 -0
  372. package/components/ResponsiveContainer/breakpoints.js +14 -0
  373. package/components/ResponsiveContainer/condition.js +6 -0
  374. package/components/ResponsiveContainer/hooks.js +20 -0
  375. package/components/ResponsiveContainer/index.js +1 -0
  376. package/components/ResponsiveContainer/listener.js +10 -0
  377. package/components/ResponsiveContainer/mediaQuery.js +8 -0
  378. package/components/ScrollHeader/index.js +22 -5
  379. package/components/ScrollHeader/style.js +1 -1
  380. package/components/SheetDrawer/index.js +4 -3
  381. package/components/SheetList/components/Item/index.js +5 -5
  382. package/components/SheetList/components/Item/spec.js +2 -2
  383. package/components/SheetList/components/Item/style.js +1 -1
  384. package/components/SheetList/index.js +4 -4
  385. package/components/SheetList/spec.js +1 -1
  386. package/components/SheetList/style.js +1 -1
  387. package/components/SideNavigation/SideNavigation.hooks.js +4 -0
  388. package/components/SideNavigation/SideNavigation.js +4 -0
  389. package/components/SideNavigation/SideNavigationCategories.connector.js +8 -0
  390. package/components/SideNavigation/SideNavigationCategories.js +4 -0
  391. package/components/SideNavigation/SideNavigationCategories.style.js +1 -0
  392. package/components/SideNavigation/SideNavigationCategoriesItem.connector.js +8 -0
  393. package/components/SideNavigation/SideNavigationCategoriesItem.js +5 -0
  394. package/components/SideNavigation/SideNavigationCategoriesItem.style.js +2 -0
  395. package/components/SideNavigation/SideNavigationCategoriesItemChildren.js +5 -0
  396. package/components/SideNavigation/SideNavigationContent.js +3 -0
  397. package/components/SideNavigation/SideNavigationContent.style.js +4 -0
  398. package/components/SideNavigation/SideNavigationItem.js +4 -0
  399. package/components/SideNavigation/SideNavigationItem.style.js +4 -0
  400. package/components/SideNavigation/SideNavigationLinks.js +4 -0
  401. package/components/SideNavigation/SideNavigationLinksLegal.connector.js +4 -0
  402. package/components/SideNavigation/SideNavigationLinksLegal.js +5 -0
  403. package/components/SideNavigation/SideNavigationLinksQuicklinks.connector.js +4 -0
  404. package/components/SideNavigation/SideNavigationLinksQuicklinks.js +5 -0
  405. package/components/SideNavigation/SideNavigationNestedItem.js +4 -0
  406. package/components/SideNavigation/SideNavigationProvider.connector.js +8 -0
  407. package/components/SideNavigation/SideNavigationProvider.context.js +1 -0
  408. package/components/SideNavigation/SideNavigationProvider.js +4 -0
  409. package/components/SideNavigation/index.js +1 -0
  410. package/components/SideNavigation/selectors.js +17 -0
  411. package/components/SnackBarContainer/index.js +1 -1
  412. package/components/Switch/index.js +1 -1
  413. package/components/Tabs/TabContext.js +7 -0
  414. package/components/Tabs/components/Tab.js +11 -0
  415. package/components/Tabs/components/Tab.style.js +1 -0
  416. package/components/Tabs/components/TabIndicator.js +5 -0
  417. package/components/Tabs/components/TabIndicator.style.js +1 -0
  418. package/components/Tabs/components/TabPanel.js +5 -0
  419. package/components/Tabs/components/Tabs.js +11 -0
  420. package/components/Tabs/components/Tabs.style.js +2 -0
  421. package/components/Tabs/debounce.js +11 -0
  422. package/components/Tabs/index.js +1 -0
  423. package/components/Tabs/ownerDocument.js +4 -0
  424. package/components/Tabs/ownerWindow.js +4 -0
  425. package/components/Tabs/useEventCallback.js +6 -0
  426. package/components/TextLink/TextLink.js +5 -0
  427. package/components/TextLink/TextLink.style.js +1 -0
  428. package/components/TimeBoundary/index.js +10 -8
  429. package/components/TimeBoundary/spec.js +3 -3
  430. package/components/Toggle/index.js +5 -0
  431. package/components/Toggle/style.js +1 -0
  432. package/components/VideoPlayer/index.js +9 -6
  433. package/components/View/components/Above/index.js +1 -1
  434. package/components/View/components/Below/index.js +1 -1
  435. package/components/View/components/Content/index.js +13 -13
  436. package/components/View/components/Content/style.js +1 -1
  437. package/components/View/context.js +1 -1
  438. package/components/View/index.js +5 -5
  439. package/components/View/provider.js +24 -7
  440. package/components/View/style.js +1 -6
  441. package/components/index.js +4 -4
  442. package/core/action-creators/appPermissions.js +1 -1
  443. package/core/action-creators/index.js +1 -1
  444. package/core/action-creators/merchantSettings.js +5 -0
  445. package/core/action-creators/optIns.js +37 -0
  446. package/core/action-creators/shopSettings.js +9 -0
  447. package/core/actions/getGeolocation.js +2 -2
  448. package/core/actions/grantAppTrackingTransparencyPermission.js +3 -1
  449. package/core/actions/grantGeolocationPermissions.js +6 -2
  450. package/core/actions/grantPermissions.js +16 -4
  451. package/core/actions/grantPushPermissions.js +4 -3
  452. package/core/actions/index.js +2 -2
  453. package/core/actions/requestAppPermission.js +7 -2
  454. package/core/actions/requestAppPermissionStatus.js +7 -2
  455. package/core/actions/updateStatusBarBackground.js +3 -3
  456. package/core/classes/GeolocationRequest.js +8 -4
  457. package/core/classes/GeolocationRequestApp.js +16 -0
  458. package/core/classes/GeolocationRequestBrowser.js +8 -0
  459. package/core/collections/AppInitialization.js +4 -6
  460. package/core/config/ThemeConfigResolver.js +3 -3
  461. package/core/config/config.action-creators.js +12 -0
  462. package/core/config/config.actions.js +3 -0
  463. package/core/config/config.constants.js +1 -0
  464. package/core/config/config.reducers.js +6 -0
  465. package/core/config/config.selectors.js +39 -0
  466. package/core/config/config.streams.js +1 -0
  467. package/core/config/config.subscriptions.js +4 -0
  468. package/core/config/config.types.js +0 -0
  469. package/core/config/index.js +1 -0
  470. package/core/constants/appFeatures.js +1 -1
  471. package/core/constants/deviceTypes.js +1 -0
  472. package/core/constants/geolocationRequest.js +1 -1
  473. package/core/constants/index.js +3 -3
  474. package/core/constants/merchantSettings.js +1 -0
  475. package/core/constants/optIns.js +1 -0
  476. package/core/constants/pipelines.js +1 -0
  477. package/core/constants/shopSettings.js +2 -0
  478. package/core/contexts/AppContext.js +1 -1
  479. package/core/contexts/ThemeResourcesContext.d.ts +60 -0
  480. package/core/contexts/ThemeResourcesContext.js +3 -0
  481. package/core/contexts/index.js +1 -0
  482. package/core/events/index.js +1 -0
  483. package/core/helpers/androidNavigationBar.js +12 -0
  484. package/core/helpers/appFeatures.js +21 -9
  485. package/core/helpers/appPermissions.js +58 -0
  486. package/core/helpers/baseUrl.js +1 -1
  487. package/core/helpers/bridge.js +4 -0
  488. package/core/helpers/deviceType.js +5 -0
  489. package/core/helpers/environment.js +4 -0
  490. package/core/helpers/errorBehavior.js +32 -0
  491. package/core/helpers/featureFlag.js +11 -0
  492. package/core/helpers/getFullImageSource.js +21 -2
  493. package/core/helpers/googleMaps.js +8 -0
  494. package/core/helpers/i18n.js +10 -5
  495. package/core/helpers/index.js +3 -3
  496. package/core/helpers/isIOSTheme.js +4 -0
  497. package/core/helpers/isTouchDevice.js +4 -0
  498. package/core/helpers/nl2br.js +1 -0
  499. package/core/helpers/scrollContainer.js +4 -0
  500. package/core/helpers/string.js +9 -0
  501. package/core/helpers/svgToDataUrl.js +9 -0
  502. package/core/helpers/updateLegacyNavigationBar.js +5 -2
  503. package/core/hocs/index.js +1 -0
  504. package/core/hocs/withApp.js +1 -1
  505. package/core/hocs/withCurrentProduct.js +3 -3
  506. package/core/hocs/withForwardedRef.js +1 -1
  507. package/core/hocs/withNavigation.js +1 -1
  508. package/core/hocs/withRoute.js +1 -1
  509. package/core/hocs/withTheme.js +42 -3
  510. package/core/hocs/withThemeResources.js +16 -0
  511. package/core/hocs/withWidgetSettings.js +1 -1
  512. package/core/hocs/withWidgetStyles.js +1 -1
  513. package/core/hooks/events/index.js +1 -0
  514. package/core/hooks/events/useLongPress.d.ts +68 -0
  515. package/core/hooks/events/useLongPress.js +13 -0
  516. package/core/hooks/events/useScrollDirectionChange.d.ts +74 -0
  517. package/core/hooks/events/useScrollDirectionChange.js +18 -0
  518. package/core/hooks/html/useLoadImage.js +1 -1
  519. package/core/hooks/index.js +1 -0
  520. package/core/hooks/layout/index.js +1 -0
  521. package/core/hooks/layout/useElementSize.d.ts +46 -0
  522. package/core/hooks/layout/useElementSize.js +18 -0
  523. package/core/hooks/useAsyncMemo.js +12 -0
  524. package/core/hooks/useFormState.js +27 -0
  525. package/core/hooks/usePrevious.js +2 -0
  526. package/core/hooks/useScrollTo.js +5 -0
  527. package/core/hooks/useTheme.js +38 -2
  528. package/core/hooks/useThemeResources.js +21 -0
  529. package/core/hooks/useWidgetStyles.js +1 -1
  530. package/core/index.js +5 -11
  531. package/core/initialization/index.js +19 -4
  532. package/core/providers/AppProvider.js +9 -9
  533. package/core/providers/ThemeResourcesProvider.js +15 -0
  534. package/core/providers/index.js +1 -0
  535. package/core/reducers/index.js +1 -1
  536. package/core/reducers/merchantSettings.js +6 -0
  537. package/core/reducers/shopSettings.js +6 -0
  538. package/core/selectors/index.js +1 -1
  539. package/core/selectors/merchantSettings.js +10 -0
  540. package/core/selectors/shopSettings.js +25 -0
  541. package/core/streams/app.js +1 -1
  542. package/core/streams/index.js +1 -1
  543. package/core/streams/optIns.js +13 -0
  544. package/core/subscriptions/app.js +4 -3
  545. package/core/validation/index.js +1 -0
  546. package/core/validation/validation.hooks.js +4 -0
  547. package/core/validation/validation.js +12 -0
  548. package/development/action-creators/index.js +1 -0
  549. package/development/action-creators/settings.js +9 -0
  550. package/development/action-creators/storage.js +6 -0
  551. package/development/components/DevelopmentTools/DevelopmentTools.js +6 -0
  552. package/development/components/DevelopmentTools/Shortcuts.js +4 -0
  553. package/development/components/DevelopmentTools/hooks.js +8 -0
  554. package/development/components/DevelopmentTools/index.js +1 -0
  555. package/development/components/SimulatedInsets/SimulatedInsetBottom.js +7 -0
  556. package/development/components/SimulatedInsets/SimulatedInsetTop.js +12 -0
  557. package/development/components/SimulatedInsets/SimulatedInsets.js +6 -0
  558. package/development/components/SimulatedInsets/index.js +1 -0
  559. package/development/components/index.js +1 -0
  560. package/development/constants/actionTypes.js +1 -0
  561. package/development/constants/index.js +1 -0
  562. package/development/reducers/index.js +1 -0
  563. package/development/reducers/settings.js +10 -0
  564. package/development/reducers/storage.js +9 -0
  565. package/development/selectors/index.js +1 -0
  566. package/development/selectors/settings.js +21 -0
  567. package/development/selectors/storage.js +16 -0
  568. package/development/streams/index.js +1 -0
  569. package/development/streams/insets.js +4 -0
  570. package/development/subscriptions/index.js +6 -0
  571. package/favorites/components/CommentDialog/CommentDialog.js +12 -0
  572. package/favorites/components/CommentDialog/index.js +1 -0
  573. package/favorites/components/FavoriteButtonWide/FavoriteButtonWide.js +8 -0
  574. package/favorites/components/FavoriteButtonWide/index.js +1 -0
  575. package/favorites/components/Item/Item.js +13 -9
  576. package/favorites/components/Item/ItemCharacteristics.js +2 -2
  577. package/favorites/components/Item/ItemNotes.js +7 -0
  578. package/favorites/components/Item/ItemQuantity.js +7 -0
  579. package/favorites/components/ItemFulfillmentMethod/ItemFulfillmentMethod.js +4 -0
  580. package/favorites/components/ItemFulfillmentMethod/index.js +1 -0
  581. package/favorites/components/List/List.js +19 -15
  582. package/favorites/components/List/ListAccordionHeader.js +8 -0
  583. package/favorites/components/List/ListAccordionLabel.js +5 -0
  584. package/favorites/components/List/ListContent.js +8 -0
  585. package/favorites/components/List/ListItemWrapper.js +6 -0
  586. package/favorites/components/List/styles.js +1 -0
  587. package/favorites/components/ListChooser/ListChooser.js +2 -2
  588. package/favorites/components/ListChooser/ListChooserItem.js +4 -5
  589. package/favorites/components/Lists/Lists.js +17 -13
  590. package/favorites/components/Lists/ListsModal.js +3 -4
  591. package/favorites/components/RemoveButton/RemoveButton.js +2 -2
  592. package/favorites/constants/Portals.js +1 -2
  593. package/favorites/constants/index.js +1 -0
  594. package/favorites/index.js +2 -2
  595. package/filter/actions/index.js +1 -0
  596. package/filter/components/FilterItem/index.js +2 -2
  597. package/filter/components/FilterItem/spec.js +1 -1
  598. package/filter/components/FilterPageContent/components/ApplyButton/index.js +7 -0
  599. package/filter/components/FilterPageContent/components/ApplyButton/spec.js +1 -0
  600. package/filter/components/FilterPageContent/components/ApplyButton/style.js +1 -0
  601. package/filter/components/FilterPageContent/components/ResetButton/index.js +7 -0
  602. package/filter/components/FilterPageContent/components/ResetButton/spec.js +1 -0
  603. package/filter/components/FilterPageContent/components/ResetButton/style.js +1 -0
  604. package/filter/components/FilterPageContent/components/Selector/components/Selected/index.js +7 -0
  605. package/filter/components/FilterPageContent/components/Selector/components/Selected/spec.js +1 -0
  606. package/filter/components/FilterPageContent/components/Selector/components/Selected/style.js +1 -0
  607. package/filter/components/FilterPageContent/components/Selector/components/Toggle/index.js +7 -0
  608. package/filter/components/FilterPageContent/components/Selector/components/Toggle/spec.js +1 -0
  609. package/filter/components/FilterPageContent/components/Selector/components/Toggle/style.js +1 -0
  610. package/filter/components/FilterPageContent/components/Selector/components/ValueButton/index.js +7 -0
  611. package/filter/components/FilterPageContent/components/Selector/components/ValueButton/spec.js +1 -0
  612. package/filter/components/FilterPageContent/components/Selector/components/ValueButton/style.js +1 -0
  613. package/filter/components/FilterPageContent/components/Selector/index.js +19 -0
  614. package/filter/components/FilterPageContent/components/Selector/spec.js +1 -0
  615. package/filter/components/FilterPageContent/components/Selector/style.js +1 -0
  616. package/filter/components/FilterPageContent/index.js +6 -0
  617. package/filter/components/FilterPageContentWithProvider/index.js +16 -0
  618. package/filter/components/PriceSlider/components/Label/index.js +3 -3
  619. package/filter/components/PriceSlider/components/Label/spec.js +1 -1
  620. package/filter/components/PriceSlider/index.js +8 -8
  621. package/filter/components/PriceSlider/spec.js +1 -1
  622. package/filter/components/PriceSlider/style.js +1 -1
  623. package/filter/components/index.js +1 -0
  624. package/filter/constants/index.js +1 -0
  625. package/filter/constants/sort.js +11 -0
  626. package/filter/helpers/buildFilterParamsForFetchFiltersRequest.js +2 -2
  627. package/filter/helpers/buildInitialFilters.js +2 -2
  628. package/filter/helpers/buildUpdatedFilters.js +2 -2
  629. package/filter/helpers/index.js +1 -0
  630. package/filter/helpers/translateFilterLabel.js +3 -3
  631. package/filter/hocs/index.js +1 -0
  632. package/filter/hocs/withSort.js +16 -0
  633. package/filter/hooks/filterPage.js +5 -0
  634. package/filter/hooks/index.js +4 -0
  635. package/filter/index.js +2 -7
  636. package/filter/providers/FilterPageProvider.context.js +54 -0
  637. package/filter/providers/FilterPageProvider.js +98 -0
  638. package/filter/providers/SortProvider.connector.js +3 -0
  639. package/filter/providers/SortProvider.context.js +1 -0
  640. package/filter/providers/SortProvider.helpers.js +8 -0
  641. package/filter/providers/SortProvider.js +6 -0
  642. package/filter/providers/index.js +1 -0
  643. package/filter/selectors/index.js +17 -0
  644. package/filter/streams/index.js +1 -0
  645. package/i18n/countries.helpers.js +6 -0
  646. package/i18n/countries.hooks.js +6 -0
  647. package/i18n/index.js +1 -0
  648. package/i18n/locale/cs-cz/countries.json +255 -0
  649. package/i18n/locale/de-de/countries.json +255 -0
  650. package/i18n/locale/el-gr/countries.json +255 -0
  651. package/i18n/locale/en-us/countries.json +255 -0
  652. package/i18n/locale/es-es/countries.json +255 -0
  653. package/i18n/locale/fi-fi/countries.json +255 -0
  654. package/i18n/locale/fr-fr/countries.json +255 -0
  655. package/i18n/locale/hu-hu/countries.json +255 -0
  656. package/i18n/locale/it-it/countries.json +255 -0
  657. package/i18n/locale/nl-nl/countries.json +255 -0
  658. package/i18n/locale/pl-pl/countries.json +255 -0
  659. package/i18n/locale/pt-pt/countries.json +255 -0
  660. package/i18n/locale/ro-ro/countries.json +255 -0
  661. package/i18n/locale/sv-se/countries.json +255 -0
  662. package/locations/action-creators/errorInventories.js +7 -0
  663. package/locations/action-creators/errorLocations.js +6 -0
  664. package/locations/action-creators/errorProductInventories.js +7 -0
  665. package/locations/action-creators/errorProductLocations.js +6 -0
  666. package/locations/action-creators/index.js +1 -0
  667. package/locations/action-creators/provideProductAlternativeLocation.js +5 -0
  668. package/locations/action-creators/receiveInventories.js +5 -0
  669. package/locations/action-creators/receiveLocations.js +6 -0
  670. package/locations/action-creators/receiveProductInventories.js +7 -0
  671. package/locations/action-creators/receiveProductLocations.js +7 -0
  672. package/locations/action-creators/requestInventories.js +6 -0
  673. package/locations/action-creators/requestLocations.js +5 -0
  674. package/locations/action-creators/requestProductInventories.js +6 -0
  675. package/locations/action-creators/requestProductLocations.js +5 -0
  676. package/locations/action-creators/selectGlobalLocation.js +5 -0
  677. package/locations/action-creators/selectLocation.js +6 -0
  678. package/locations/action-creators/setStoreFinderSearchRadius.js +5 -0
  679. package/locations/action-creators/setUserGeolocation.js +5 -0
  680. package/locations/action-creators/setUserSearchCountryCode.js +7 -0
  681. package/locations/action-creators/setUserSearchGeolocation.js +8 -0
  682. package/locations/action-creators/setUserSearchPostalCode.js +7 -0
  683. package/locations/action-creators/storeFormInput.js +5 -0
  684. package/locations/action-creators/storeFulfillmentMethod.js +5 -0
  685. package/locations/action-creators/submitReservationError.js +5 -0
  686. package/locations/action-creators/submitReservationRequest.js +5 -0
  687. package/locations/action-creators/submitReservationSuccess.js +5 -0
  688. package/locations/actions/fetchDefaultLocation.js +4 -0
  689. package/locations/actions/fetchFulfillmentSlots.js +6 -0
  690. package/locations/actions/fetchInventories.js +6 -0
  691. package/locations/actions/fetchLocations.js +19 -0
  692. package/locations/actions/fetchProductInventories.js +7 -0
  693. package/locations/actions/fetchProductLocations.js +12 -0
  694. package/locations/actions/index.js +5 -0
  695. package/locations/actions/sendDefaultLocationCode.js +6 -0
  696. package/locations/actions/setUserGeolocation.js +1 -0
  697. package/locations/actions/setUserSearchGeolocation.js +1 -0
  698. package/locations/actions/submitReservation.js +5 -0
  699. package/locations/assets/leaflet.css +765 -0
  700. package/locations/components/Cart/CartChangeFulfillmentMethod.connector.js +4 -0
  701. package/locations/components/Cart/CartChangeFulfillmentMethod.js +8 -0
  702. package/locations/components/Cart/CartChangeFulfillmentMethod.types.js +0 -0
  703. package/locations/components/Cart/CartContextMenuChangeFulfillment.js +6 -0
  704. package/locations/components/Cart/CartContextMenuChangeFulfillmentContent.js +5 -0
  705. package/locations/components/Cart/CartContextMenuChangeFulfillmentContent.style.js +1 -0
  706. package/locations/components/Cart/CartContextMenuItemChangeFulfillment.connector.js +4 -0
  707. package/locations/components/Cart/CartContextMenuItemChangeFulfillment.js +6 -0
  708. package/locations/components/Cart/CartContextMenuItemChangeLocation.js +7 -0
  709. package/locations/components/Cart/CartItemProductChangeLocation.connector.js +5 -0
  710. package/locations/components/Cart/CartItemProductChangeLocation.js +11 -0
  711. package/locations/components/Cart/CartItemProductChangeLocation.types.js +0 -0
  712. package/locations/components/Cart/index.js +1 -0
  713. package/locations/components/ChangeLocationButton/ChangeLocationButton.js +4 -0
  714. package/locations/components/ChangeLocationButton/ChangeLocationButton.style.js +2 -0
  715. package/locations/components/ChangeLocationButton/index.js +1 -0
  716. package/locations/components/FulfillmentPath/FulfillmentPath.js +4 -0
  717. package/locations/components/FulfillmentPath/FulfillmentPath.style.js +2 -0
  718. package/locations/components/FulfillmentPath/FulfillmentPathItem.js +6 -0
  719. package/locations/components/FulfillmentPath/index.js +1 -0
  720. package/locations/components/FulfillmentPathSelector/FulfillmentPathSelector.js +14 -0
  721. package/locations/components/FulfillmentPathSelector/FulfillmentPathSelector.style.js +1 -0
  722. package/locations/components/FulfillmentPathSelector/index.js +1 -0
  723. package/locations/components/FulfillmentSelector/FulfillmentSelector.connector.js +9 -0
  724. package/locations/components/FulfillmentSelector/FulfillmentSelector.context.js +1 -0
  725. package/locations/components/FulfillmentSelector/FulfillmentSelector.hooks.js +3 -0
  726. package/locations/components/FulfillmentSelector/FulfillmentSelector.js +20 -0
  727. package/locations/components/FulfillmentSelector/FulfillmentSelector.style.js +1 -0
  728. package/locations/components/FulfillmentSelector/FulfillmentSelector.types.js +1 -0
  729. package/locations/components/FulfillmentSelector/FulfillmentSelectorAddToCart.js +10 -0
  730. package/locations/components/FulfillmentSelector/FulfillmentSelectorAlternativeLocation.js +8 -0
  731. package/locations/components/FulfillmentSelector/FulfillmentSelectorBOPIS.js +4 -0
  732. package/locations/components/FulfillmentSelector/FulfillmentSelectorDirectShip.js +5 -0
  733. package/locations/components/FulfillmentSelector/FulfillmentSelectorHeader.js +4 -0
  734. package/locations/components/FulfillmentSelector/FulfillmentSelectorHeader.style.js +1 -0
  735. package/locations/components/FulfillmentSelector/FulfillmentSelectorImpossibleError.js +4 -0
  736. package/locations/components/FulfillmentSelector/FulfillmentSelectorImpossibleError.style.js +1 -0
  737. package/locations/components/FulfillmentSelector/FulfillmentSelectorItem.js +8 -0
  738. package/locations/components/FulfillmentSelector/FulfillmentSelectorItem.style.js +1 -0
  739. package/locations/components/FulfillmentSelector/FulfillmentSelectorLocation.js +4 -0
  740. package/locations/components/FulfillmentSelector/FulfillmentSelectorLocation.style.js +1 -0
  741. package/locations/components/FulfillmentSelector/FulfillmentSelectorLocationMethodNotAvailable.js +3 -0
  742. package/locations/components/FulfillmentSelector/FulfillmentSelectorROPIS.js +4 -0
  743. package/locations/components/FulfillmentSelector/index.js +1 -0
  744. package/locations/components/FulfillmentSheet/FulfillmentSheet.js +6 -0
  745. package/locations/components/FulfillmentSheet/FulfillmentSheet.style.js +1 -0
  746. package/locations/components/FulfillmentSheet/FulfillmentSheetContent.js +6 -0
  747. package/locations/components/FulfillmentSheet/index.js +1 -0
  748. package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotDialog.js +28 -0
  749. package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotProvider.connector.js +8 -0
  750. package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotProvider.context.js +1 -0
  751. package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotProvider.js +9 -0
  752. package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotSwitcher.connector.js +4 -0
  753. package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotSwitcher.js +4 -0
  754. package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotSwitcherBar.js +3 -0
  755. package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotSwitcherBar.style.js +1 -0
  756. package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotSwitcherDefault.js +3 -0
  757. package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotSwitcherDefault.style.js +1 -0
  758. package/locations/components/FulfillmentSlotSwitcher/index.js +1 -0
  759. package/locations/components/FulfillmentSlotSwitcher/time.js +5 -0
  760. package/locations/components/GlobalLocationSelector/GlobalLocationSelector.js +16 -0
  761. package/locations/components/GlobalLocationSelector/index.js +1 -0
  762. package/locations/components/GlobalLocationSwitcher/GlobalLocationSwitcher.connector.js +8 -0
  763. package/locations/components/GlobalLocationSwitcher/GlobalLocationSwitcher.js +3 -0
  764. package/locations/components/GlobalLocationSwitcher/GlobalLocationSwitcherBar.js +3 -0
  765. package/locations/components/GlobalLocationSwitcher/GlobalLocationSwitcherBar.style.js +1 -0
  766. package/locations/components/GlobalLocationSwitcher/GlobalLocationSwitcherDefault.js +3 -0
  767. package/locations/components/GlobalLocationSwitcher/GlobalLocationSwitcherDefault.style.js +1 -0
  768. package/locations/components/GlobalLocationSwitcher/index.js +1 -0
  769. package/locations/components/ReservationResponses/ReservationError.js +4 -0
  770. package/locations/components/ReservationResponses/ReservationResponse.style.js +1 -0
  771. package/locations/components/ReservationResponses/ReservationSuccess.js +4 -0
  772. package/locations/components/ReservationResponses/index.js +1 -0
  773. package/locations/components/ReserveForm/ReserveForm.constraints.js +1 -0
  774. package/locations/components/ReserveForm/ReserveForm.js +10 -0
  775. package/locations/components/ReserveForm/ReserveForm.style.js +1 -0
  776. package/locations/components/ReserveForm/ReserveFormPhone.connector.js +3 -0
  777. package/locations/components/ReserveForm/ReserveFormPhone.js +5 -0
  778. package/locations/components/ReserveForm/ReserveFormPhone.types.js +0 -0
  779. package/locations/components/ReserveForm/index.js +1 -0
  780. package/locations/components/StockInfo/StockInfo.defaultSettings.js +1 -0
  781. package/locations/components/StockInfo/StockInfo.js +8 -0
  782. package/locations/components/StockInfo/StockInfoInventory.js +9 -0
  783. package/locations/components/StockInfo/index.js +1 -0
  784. package/locations/components/StockInfoLists/index.js +9 -0
  785. package/locations/components/StoreDetails/components/FindMoreStores.js +4 -0
  786. package/locations/components/StoreDetails/components/GetDirectionsButton.js +7 -0
  787. package/locations/components/StoreDetails/components/StoreDetails.js +5 -0
  788. package/locations/components/StoreDetails/components/StoreFinderMap.js +20 -0
  789. package/locations/components/StoreDetails/components/StoreFinderMap.style.js +1 -0
  790. package/locations/components/StoreDetails/components/StoreLocationMap.js +4 -0
  791. package/locations/components/StoreDetails/components/StoresNearby.js +4 -0
  792. package/locations/components/StoreDetails/components/StoresNearbyListItem.js +9 -0
  793. package/locations/components/StoreDetails/index.js +4 -0
  794. package/locations/components/StoreFinder/Store.context.js +1 -0
  795. package/locations/components/StoreFinder/StoreFinder.js +3 -0
  796. package/locations/components/StoreFinder/StoreFinder.style.js +1 -0
  797. package/locations/components/StoreFinder/StoreFinderGetDirectionsButton.connector.js +4 -0
  798. package/locations/components/StoreFinder/StoreFinderGetDirectionsButton.js +4 -0
  799. package/locations/components/StoreFinder/StoreFinderGetDirectionsButton.style.js +1 -0
  800. package/locations/components/StoreFinder/StoreFinderLocation.js +3 -0
  801. package/locations/components/StoreFinder/StoreFinderLocation.style.js +1 -0
  802. package/locations/components/StoreFinder/StoreFinderLocationDetails.js +3 -0
  803. package/locations/components/StoreFinder/StoreFinderLocationDetails.style.js +1 -0
  804. package/locations/components/StoreFinder/StoreFinderLocationHeader.js +3 -0
  805. package/locations/components/StoreFinder/StoreFinderLocationHeader.style.js +1 -0
  806. package/locations/components/StoreFinder/StoreFinderLocationHeaderPhoneNumber.js +4 -0
  807. package/locations/components/StoreFinder/StoreFinderLocations.js +5 -0
  808. package/locations/components/StoreFinder/StoreFinderLocations.style.js +1 -0
  809. package/locations/components/StoreFinder/StoreFinderSearch.js +3 -0
  810. package/locations/components/StoreFinder/StoreFinderSearch.style.js +1 -0
  811. package/locations/components/StoreFinder/StoreFinderSelectLocationButton.js +5 -0
  812. package/locations/components/StoreFinder/StoreFinderStoreInfoButton.js +8 -0
  813. package/locations/components/StoreFinder/index.js +1 -0
  814. package/locations/components/StoreList/Store.context.js +1 -0
  815. package/locations/components/StoreList/Store.style.js +1 -0
  816. package/locations/components/StoreList/StoreAddress.js +7 -0
  817. package/locations/components/StoreList/StoreAddressShort.js +7 -0
  818. package/locations/components/StoreList/StoreCard.js +4 -0
  819. package/locations/components/StoreList/StoreDetails.js +4 -0
  820. package/locations/components/StoreList/StoreDetailsLine.js +8 -0
  821. package/locations/components/StoreList/StoreDistance.js +7 -0
  822. package/locations/components/StoreList/StoreHeader.js +4 -0
  823. package/locations/components/StoreList/StoreHoursToday.js +7 -0
  824. package/locations/components/StoreList/StoreList.js +4 -0
  825. package/locations/components/StoreList/StoreListLocations.js +4 -0
  826. package/locations/components/StoreList/StoreListProduct.js +4 -0
  827. package/locations/components/StoreList/StoreListProduct.style.js +1 -0
  828. package/locations/components/StoreList/StoreListProductInfo.js +4 -0
  829. package/locations/components/StoreList/StoreListProductName.js +4 -0
  830. package/locations/components/StoreList/StoreListSearch.connector.js +7 -0
  831. package/locations/components/StoreList/StoreListSearch.js +23 -0
  832. package/locations/components/StoreList/StoreListSearch.style.js +1 -0
  833. package/locations/components/StoreList/StoreListSearchRadius.connector.js +7 -0
  834. package/locations/components/StoreList/StoreListSearchRadius.js +4 -0
  835. package/locations/components/StoreList/StoreListSearchRadius.style.js +1 -0
  836. package/locations/components/StoreList/StoreOpeningHours.js +7 -0
  837. package/locations/components/StoreList/StoreOpeningHoursLine.js +7 -0
  838. package/locations/components/StoreList/StorePhoneNumber.js +6 -0
  839. package/locations/components/StoreList/StoreSelectLocationButton.js +4 -0
  840. package/locations/components/StoreList/index.js +1 -0
  841. package/locations/components/index.js +1 -0
  842. package/locations/constants/ActionTypes.js +10 -0
  843. package/locations/constants/Pipelines.js +1 -0
  844. package/locations/constants/Portals.js +2 -0
  845. package/locations/constants/Stages.js +1 -0
  846. package/locations/constants/index.js +7 -0
  847. package/locations/constants/routes.js +1 -0
  848. package/locations/helpers/createOrder.js +28 -0
  849. package/locations/helpers/formatDistance.js +9 -0
  850. package/locations/helpers/getAvailabilitySettings.js +12 -0
  851. package/locations/helpers/index.js +1 -0
  852. package/locations/helpers/productInventory.js +7 -0
  853. package/locations/helpers/showInventoryInLists.js +7 -0
  854. package/locations/index.js +9 -0
  855. package/locations/locations.context.js +1 -0
  856. package/locations/locations.hooks.js +4 -0
  857. package/locations/locations.streams.js +1 -0
  858. package/locations/locations.types.js +1 -0
  859. package/locations/providers/FulfillmentProvider.connector.js +10 -0
  860. package/locations/providers/FulfillmentProvider.js +49 -0
  861. package/locations/providers/FulfillmentProvider.types.js +1 -0
  862. package/locations/providers/StoreDetailsContext.js +1 -0
  863. package/locations/providers/StoreDetailsProvider.js +4 -0
  864. package/locations/providers/StoreFinder.connector.js +3 -0
  865. package/locations/providers/StoreFinderProvider.js +7 -0
  866. package/locations/providers/index.js +1 -0
  867. package/locations/reducers/index.js +1 -0
  868. package/locations/reducers/storage.js +24 -0
  869. package/locations/reducers/storeFinderSearch.js +6 -0
  870. package/locations/reducers/user.js +5 -0
  871. package/locations/reducers/userFormInput.js +8 -0
  872. package/locations/reducers/userSearch.js +6 -0
  873. package/locations/selectors/index.js +145 -0
  874. package/locations/subscriptions.js +27 -0
  875. package/login/action-creators/index.js +1 -0
  876. package/login/action-creators/resetPassword.js +14 -0
  877. package/login/actions/index.js +1 -0
  878. package/login/actions/resetPassword.js +5 -0
  879. package/login/components/ForgotPassword/ForgotPassword.connector.js +5 -0
  880. package/login/components/ForgotPassword/ForgotPassword.js +5 -0
  881. package/login/components/ForgotPassword/ForgotPassword.style.js +1 -0
  882. package/login/components/ForgotPassword/index.js +1 -0
  883. package/login/constants/actions.js +1 -0
  884. package/login/constants/index.js +1 -0
  885. package/login/constants/pipelines.js +1 -0
  886. package/login/constants/routes.js +1 -0
  887. package/login/index.js +1 -0
  888. package/orders/action-creators/index.js +1 -0
  889. package/orders/action-creators/orderDetails.js +22 -0
  890. package/orders/action-creators/orders.js +21 -0
  891. package/orders/actions/cancelOrder.js +8 -0
  892. package/orders/actions/fetchOrderDetails.js +10 -0
  893. package/orders/actions/fetchOrderHistory.js +7 -0
  894. package/orders/actions/index.js +1 -0
  895. package/orders/components/OrderDetails/OrderDetails.js +4 -0
  896. package/orders/components/OrderDetails/OrderDetailsAuthenticate.js +3 -0
  897. package/orders/components/OrderDetails/OrderDetailsAuthenticate.style.js +1 -0
  898. package/orders/components/OrderDetails/OrderDetailsAuthenticateForm.config.js +8 -0
  899. package/orders/components/OrderDetails/OrderDetailsContent.js +3 -0
  900. package/orders/components/OrderDetails/OrderDetailsContent.style.js +1 -0
  901. package/orders/components/OrderDetails/OrderDetailsOrder.js +4 -0
  902. package/orders/components/OrderDetails/OrderDetailsOrder.style.js +1 -0
  903. package/orders/components/OrderDetails/OrderDetailsOrderHeader.js +4 -0
  904. package/orders/components/OrderDetails/OrderDetailsOrderHeader.style.js +1 -0
  905. package/orders/components/OrderDetails/OrderDetailsOrderPickupLocation.connector.js +3 -0
  906. package/orders/components/OrderDetails/OrderDetailsOrderPickupLocation.js +4 -0
  907. package/orders/components/OrderDetails/OrderDetailsOrderPickupLocation.style.js +1 -0
  908. package/orders/components/OrderDetails/index.js +1 -0
  909. package/orders/components/OrderHistory/OrderHistory.js +4 -0
  910. package/orders/components/OrderHistory/OrderHistory.style.js +1 -0
  911. package/orders/components/OrderHistory/OrderHistoryList.js +9 -0
  912. package/orders/components/OrderHistory/OrderHistoryList.style.js +1 -0
  913. package/orders/components/OrderHistory/OrderHistoryLoader.js +4 -0
  914. package/orders/components/OrderHistory/OrderHistoryTable.js +9 -0
  915. package/orders/components/OrderHistory/OrderHistoryTable.style.js +1 -0
  916. package/orders/components/OrderHistory/index.js +1 -0
  917. package/orders/components/index.js +1 -0
  918. package/orders/constants/actionTypes.js +1 -0
  919. package/orders/constants/index.js +1 -0
  920. package/orders/constants/pipelines.js +1 -0
  921. package/orders/constants/routes.js +1 -0
  922. package/orders/constants/status.js +12 -0
  923. package/orders/helpers/index.js +1 -0
  924. package/orders/helpers/orderDetails.js +5 -0
  925. package/orders/helpers/orderStatus.js +15 -0
  926. package/orders/hooks/index.js +7 -0
  927. package/orders/index.js +1 -1
  928. package/orders/providers/OrderDetailsPrivateProvider.connector.js +11 -0
  929. package/orders/providers/OrderDetailsPrivateProvider.js +5 -0
  930. package/orders/providers/OrderDetailsProvider.connector.js +11 -0
  931. package/orders/providers/OrderDetailsProvider.constraints.js +1 -0
  932. package/orders/providers/OrderDetailsProvider.context.js +1 -0
  933. package/orders/providers/OrderDetailsProvider.js +11 -0
  934. package/orders/providers/OrderHistoryProvider.connector.js +9 -0
  935. package/orders/providers/OrderHistoryProvider.context.js +1 -0
  936. package/orders/providers/OrderHistoryProvider.js +4 -0
  937. package/orders/reducers/index.js +1 -0
  938. package/orders/reducers/orders.js +7 -0
  939. package/orders/reducers/ordersById.js +7 -0
  940. package/orders/reducers/ordersByNumber.js +7 -0
  941. package/orders/selectors/index.js +27 -0
  942. package/orders/subscriptions/index.js +4 -0
  943. package/package.json +26 -18
  944. package/page/actions/index.js +1 -0
  945. package/page/components/NotFound.js +3 -0
  946. package/page/components/index.js +1 -0
  947. package/page/index.js +2 -4
  948. package/page/selectors/index.js +7 -0
  949. package/product/collections/index.js +1 -0
  950. package/product/components/Availability/Availability.connector.js +5 -0
  951. package/product/components/Availability/Availability.js +6 -0
  952. package/product/components/Availability/Availability.style.js +1 -0
  953. package/product/components/Availability/index.js +1 -0
  954. package/product/components/Characteristics/Characteristic/components/Sheet/index.js +16 -4
  955. package/product/components/Characteristics/Characteristic/components/SheetItem/index.js +8 -3
  956. package/product/components/Characteristics/Characteristic/components/SheetItem/style.js +1 -1
  957. package/product/components/Characteristics/Characteristic/index.js +15 -6
  958. package/product/components/Characteristics/Characteristic/style.js +1 -1
  959. package/product/components/Characteristics/Swatch/index.js +8 -6
  960. package/product/components/Characteristics/index.js +10 -3
  961. package/product/components/Characteristics/transition.js +1 -1
  962. package/product/components/Description/index.js +5 -6
  963. package/product/components/Description/style.js +1 -1
  964. package/product/components/EffectivityDates/helpers.js +5 -5
  965. package/product/components/EffectivityDates/index.js +2 -2
  966. package/product/components/EffectivityDates/style.js +1 -1
  967. package/product/components/Header/PriceStriked/index.js +2 -5
  968. package/product/components/Header/PriceStriked/style.js +1 -1
  969. package/product/components/Header/Shipping/components/Label/index.js +3 -3
  970. package/product/components/Header/Shipping/components/Label/style.js +1 -1
  971. package/product/components/Header/Shipping/index.js +1 -1
  972. package/product/components/Header/Shipping/spec.js +1 -1
  973. package/product/components/Header/Tiers/components/Tier/index.js +2 -2
  974. package/product/components/Header/Tiers/components/Tier/spec.js +1 -1
  975. package/product/components/Header/Tiers/index.js +1 -1
  976. package/product/components/Header/Tiers/spec.js +1 -1
  977. package/product/components/Header/index.js +1 -0
  978. package/product/components/MapPriceHint/index.js +1 -1
  979. package/product/components/Media/FeaturedMedia.js +2 -2
  980. package/product/components/Media/MediaImage.js +3 -3
  981. package/product/components/Media/MediaPlaceholder.js +1 -1
  982. package/product/components/MediaSlider/components/MediaImage/index.js +1 -1
  983. package/product/components/MediaSlider/components/MediaVideo/index.js +1 -1
  984. package/product/components/MediaSlider/index.js +4 -4
  985. package/product/components/Options/components/Content/index.js +8 -8
  986. package/product/components/Options/components/Content/spec.js +2 -2
  987. package/product/components/Options/components/Option/index.js +2 -2
  988. package/product/components/Options/components/TextOption/components/OptionInfo/index.js +3 -3
  989. package/product/components/Options/components/TextOption/components/OptionInfo/spec.js +1 -1
  990. package/product/components/Options/components/TextOption/components/OptionInfo/style.js +1 -1
  991. package/product/components/Options/components/TextOption/index.js +19 -7
  992. package/product/components/Options/components/TextOption/style.js +1 -1
  993. package/product/components/Options/index.js +2 -2
  994. package/product/components/OrderQuantityHint/index.js +3 -2
  995. package/product/components/OrderQuantityHint/style.js +1 -1
  996. package/product/components/PriceDifference/index.js +1 -1
  997. package/product/components/PriceDifference/style.js +1 -1
  998. package/product/components/PriceInfo/PriceInfo.connector.js +4 -0
  999. package/product/components/PriceInfo/PriceInfo.js +4 -0
  1000. package/product/components/PriceInfo/index.js +1 -0
  1001. package/product/components/ProductBadges/index.js +2 -2
  1002. package/product/components/ProductCard/index.js +12 -3
  1003. package/product/components/ProductCard/style.js +1 -1
  1004. package/product/components/ProductCharacteristics/context.js +1 -1
  1005. package/product/components/ProductCharacteristics/helpers/index.js +1 -1
  1006. package/product/components/ProductCharacteristics/index.js +30 -16
  1007. package/product/components/ProductDiscountBadge/index.js +2 -2
  1008. package/product/components/ProductDiscountBadge/spec.js +2 -2
  1009. package/product/components/ProductDiscountBadge/style.js +1 -1
  1010. package/product/components/ProductGridPrice/index.js +3 -3
  1011. package/product/components/ProductGridPrice/style.js +1 -1
  1012. package/product/components/ProductImage/ProductImagePlaceholder.js +5 -0
  1013. package/product/components/ProductImage/connector.js +5 -0
  1014. package/product/components/ProductImage/index.js +17 -13
  1015. package/product/components/ProductImage/spec.js +1 -1
  1016. package/product/components/ProductList/components/Item/index.js +2 -2
  1017. package/product/components/ProductList/components/Iterator/index.js +1 -1
  1018. package/product/components/ProductList/components/Layout/index.js +1 -1
  1019. package/product/components/ProductList/index.js +2 -2
  1020. package/product/components/ProductName/ProductName.js +4 -0
  1021. package/product/components/ProductName/ProductNameContent.js +4 -0
  1022. package/product/components/ProductName/index.js +1 -0
  1023. package/product/components/ProductProperties/Content.js +4 -4
  1024. package/product/components/ProductProperties/Group.js +1 -1
  1025. package/product/components/ProductProperties/GroupedProperties.js +2 -2
  1026. package/product/components/ProductProperties/Lists.js +1 -1
  1027. package/product/components/ProductProperties/ListsHTML.js +5 -0
  1028. package/product/components/ProductProperties/ProductProperties.js +2 -2
  1029. package/product/components/ProductProperties/Row.js +1 -1
  1030. package/product/components/ProductProperties/RowHTML.js +5 -0
  1031. package/product/components/ProductProperties/Rows.js +2 -2
  1032. package/product/components/ProductProperties/Wrapper.js +1 -1
  1033. package/product/components/ProductProperties/helpers/getGroupsFromProperties.js +7 -2
  1034. package/product/components/ProductProperties/style.js +1 -1
  1035. package/product/components/ProductSlider/index.js +3 -2
  1036. package/product/components/ProductSlider/spec.js +1 -1
  1037. package/product/components/ProductVariants/VariantAvailability.connector.js +5 -0
  1038. package/product/components/ProductVariants/VariantAvailability.js +5 -0
  1039. package/product/components/ProductVariants/index.js +1 -0
  1040. package/product/components/QuantityPicker/hooks.js +5 -0
  1041. package/product/components/QuantityPicker/index.js +4 -3
  1042. package/product/components/Rating/index.js +3 -3
  1043. package/product/components/Rating/spec.js +2 -2
  1044. package/product/components/RelationsSlider/RelationsSheet.js +2 -2
  1045. package/product/components/RelationsSlider/RelationsSlider.js +1 -1
  1046. package/product/components/RelationsSlider/RelationsSliderContent.js +1 -1
  1047. package/product/components/RelationsSlider/style.js +1 -1
  1048. package/product/components/Swatch/Swatch.js +1 -1
  1049. package/product/components/Swatch/SwatchContent.js +1 -1
  1050. package/product/components/Swatch/VariantSwatch.js +1 -1
  1051. package/product/components/Swatch/style.js +1 -1
  1052. package/product/components/Swatches/Swatches.js +1 -1
  1053. package/product/components/UnitQuantityPicker/CartUnitQuantityPicker.js +4 -0
  1054. package/product/components/UnitQuantityPicker/ProductUnitQuantityPicker.js +3 -6
  1055. package/product/components/UnitQuantityPicker/UnitQuantityPicker.js +11 -13
  1056. package/product/components/UnitQuantityPicker/UnitQuantityPickerWithSection.js +5 -2
  1057. package/product/components/UnitQuantityPicker/index.js +1 -1
  1058. package/product/components/UnitQuantityPicker/styles.js +1 -0
  1059. package/product/components/context.js +1 -1
  1060. package/product/components/index.js +1 -0
  1061. package/product/constants/index.js +2 -1
  1062. package/product/contexts/index.js +1 -0
  1063. package/product/helpers/index.js +2 -2
  1064. package/product/helpers/redirects.js +2 -2
  1065. package/product/hocs/index.js +1 -0
  1066. package/product/hocs/withMapPricing.js +4 -4
  1067. package/product/hocs/withPriceCalculation.js +2 -2
  1068. package/product/hocs/withProduct.js +6 -0
  1069. package/product/hocs/withProductListEntry.js +1 -1
  1070. package/product/hocs/withProductListEntryProduct.js +12 -0
  1071. package/product/hocs/withProductListType.js +1 -1
  1072. package/product/hooks/index.js +1 -0
  1073. package/product/hooks/useLoadProductImage.js +1 -1
  1074. package/product/index.js +4 -11
  1075. package/product/product.types.js +0 -0
  1076. package/product/{components/ProductProvider → providers/Product}/index.js +1 -1
  1077. package/product/providers/ProductListEntry/context.js +1 -1
  1078. package/product/providers/ProductListEntry/index.js +1 -1
  1079. package/product/providers/ProductListType/context.js +2 -1
  1080. package/product/providers/ProductListType/index.js +2 -1
  1081. package/product/providers/index.js +1 -0
  1082. package/product/selectors/product.js +75 -6
  1083. package/product/selectors/variants.js +4 -1
  1084. package/product/streams/index.js +1 -0
  1085. package/push-opt-in/action-creators/pushOptIn.js +2 -1
  1086. package/push-opt-in/actions/pushOptInModal.js +3 -3
  1087. package/push-opt-in/components/PushOptInModal/index.js +3 -6
  1088. package/push-opt-in/components/PushOptInModal/push-opt-in.svg +58 -58
  1089. package/push-opt-in/reducers/optInModal.js +2 -2
  1090. package/push-opt-in/reducers/optInTrigger.js +2 -2
  1091. package/push-opt-in/selectors/optInModal.js +5 -2
  1092. package/push-opt-in/selectors/optInTrigger.js +4 -2
  1093. package/push-opt-in/subscriptions/index.js +1 -1
  1094. package/push-opt-in/subscriptions/optInTracking.js +4 -0
  1095. package/push-opt-in/subscriptions/optInTrigger.js +6 -6
  1096. package/registration/action-creators/index.js +18 -0
  1097. package/registration/actions/index.js +1 -0
  1098. package/registration/actions/submitRegistration.js +4 -0
  1099. package/registration/components/GuestRegistration/GuestRegistration.js +4 -0
  1100. package/registration/components/GuestRegistration/GuestRegistrationContent.js +4 -0
  1101. package/registration/components/GuestRegistration/GuestRegistrationFormPickup.config.js +8 -0
  1102. package/registration/components/GuestRegistration/GuestRegistrationFormPickup.js +4 -0
  1103. package/registration/components/Registration/Registration.js +4 -0
  1104. package/registration/components/Registration/RegistrationContent.js +4 -0
  1105. package/registration/components/Registration/RegistrationContent.style.js +2 -0
  1106. package/registration/components/Registration/RegistrationFormActions.js +5 -0
  1107. package/registration/components/Registration/RegistrationFormBase.config.js +4 -0
  1108. package/registration/components/Registration/RegistrationFormBase.js +4 -0
  1109. package/registration/components/Registration/RegistrationFormBilling.config.js +5 -0
  1110. package/registration/components/Registration/RegistrationFormBilling.js +5 -0
  1111. package/registration/components/Registration/RegistrationFormExtra.config.js +5 -0
  1112. package/registration/components/Registration/RegistrationFormExtra.js +5 -0
  1113. package/registration/components/Registration/RegistrationFormShipping.config.js +5 -0
  1114. package/registration/components/Registration/RegistrationFormShipping.js +5 -0
  1115. package/registration/components/Registration/RegistrationFormToggle.js +4 -0
  1116. package/registration/components/index.js +1 -0
  1117. package/registration/constants/actionTypes.js +1 -0
  1118. package/registration/constants/index.js +1 -0
  1119. package/registration/constants/pipelines.js +1 -0
  1120. package/registration/hooks/index.js +5 -0
  1121. package/registration/index.js +2 -0
  1122. package/registration/providers/GuestRegistrationProvider.actions.js +4 -0
  1123. package/registration/providers/GuestRegistrationProvider.connector.js +7 -0
  1124. package/registration/providers/GuestRegistrationProvider.constraints.js +18 -0
  1125. package/registration/providers/GuestRegistrationProvider.context.js +1 -0
  1126. package/registration/providers/GuestRegistrationProvider.js +22 -0
  1127. package/registration/providers/RegistrationProvider.actions.js +8 -0
  1128. package/registration/providers/RegistrationProvider.connector.js +6 -0
  1129. package/registration/providers/RegistrationProvider.constraints.js +27 -0
  1130. package/registration/providers/RegistrationProvider.context.js +1 -0
  1131. package/registration/providers/RegistrationProvider.js +17 -0
  1132. package/registration/streams/index.js +4 -0
  1133. package/registration/subscriptions/index.js +5 -0
  1134. package/reviews/actions/index.js +1 -0
  1135. package/reviews/components/Reviews/components/AllReviewsLink/index.js +1 -1
  1136. package/reviews/components/Reviews/components/Header/components/AverageRating/index.js +8 -6
  1137. package/reviews/components/Reviews/components/Header/components/NoReviews/index.js +3 -3
  1138. package/reviews/components/Reviews/components/Header/components/ReviewsExcerpt/index.js +3 -3
  1139. package/reviews/components/Reviews/components/Header/components/ReviewsExcerpt/style.js +1 -1
  1140. package/reviews/components/Reviews/components/Header/components/WriteReviewLink/index.js +3 -3
  1141. package/reviews/components/Reviews/components/Header/components/WriteReviewLink/spec.js +2 -2
  1142. package/reviews/components/Reviews/components/Header/index.js +6 -4
  1143. package/reviews/components/Reviews/components/Header/spec.js +2 -2
  1144. package/reviews/components/Reviews/components/List/components/Info/components/Author/index.js +1 -1
  1145. package/reviews/components/Reviews/components/List/components/Info/components/ReviewDate/index.js +1 -1
  1146. package/reviews/components/Reviews/components/List/components/Info/index.js +2 -2
  1147. package/reviews/components/Reviews/components/List/components/Info/style.js +1 -1
  1148. package/reviews/components/Reviews/components/List/components/Rating/index.js +1 -1
  1149. package/reviews/components/Reviews/components/List/components/Review/index.js +1 -1
  1150. package/reviews/components/Reviews/components/List/components/Text/index.js +1 -1
  1151. package/reviews/components/Reviews/components/List/components/Title/index.js +1 -1
  1152. package/reviews/components/Reviews/components/List/index.js +3 -3
  1153. package/reviews/components/Reviews/components/List/spec.js +1 -1
  1154. package/reviews/components/Reviews/components/RatingCount/index.js +1 -1
  1155. package/reviews/components/Reviews/components/RatingCount/spec.js +1 -1
  1156. package/reviews/components/Reviews/components/RatingCount/style.js +1 -1
  1157. package/reviews/components/Reviews/components/ReviewsInfo/index.js +3 -4
  1158. package/reviews/components/Reviews/connector.js +2 -6
  1159. package/reviews/components/Reviews/index.js +1 -1
  1160. package/reviews/components/Reviews/mock.js +2 -6
  1161. package/reviews/components/Reviews/spec.js +4 -3
  1162. package/reviews/components/index.js +1 -0
  1163. package/reviews/constants/index.js +1 -0
  1164. package/reviews/index.js +3 -6
  1165. package/reviews/selectors/index.js +1 -0
  1166. package/reviews/streams/index.js +1 -0
  1167. package/scanner/action-creators/index.js +1 -0
  1168. package/scanner/actions/index.js +1 -0
  1169. package/scanner/classes/index.js +1 -0
  1170. package/scanner/constants/index.js +1 -0
  1171. package/scanner/helpers/index.js +1 -0
  1172. package/scanner/index.js +1 -6
  1173. package/scanner/streams/index.js +1 -0
  1174. package/search/actions/index.js +1 -0
  1175. package/search/constants/index.js +1 -0
  1176. package/search/helpers/index.js +1 -0
  1177. package/search/index.js +1 -6
  1178. package/search/selectors/index.js +1 -0
  1179. package/search/streams/index.js +1 -0
  1180. package/styles/helpers/cssCustomProperties.js +16 -0
  1181. package/styles/helpers/index.js +1 -0
  1182. package/styles/helpers/initCSSCustomProperties.js +10 -0
  1183. package/styles/helpers/loadCustomStyles.js +6 -0
  1184. package/styles/helpers/setPageBackgroundColor.js +5 -0
  1185. package/styles/helpers/setPageContentWidth.js +5 -0
  1186. package/styles/helpers/setViewportHeight.js +3 -0
  1187. package/styles/helpers/toggleBodyScroll.js +5 -0
  1188. package/styles/helpers/updatePageInsets.js +15 -0
  1189. package/styles/index.js +1 -0
  1190. package/styles/reset/form.js +8 -0
  1191. package/styles/reset/index.js +1 -0
  1192. package/styles/reset/media.js +1 -0
  1193. package/styles/reset/root.js +3 -0
  1194. package/styles/reset/table.js +1 -0
  1195. package/styles/reset/typography.js +1 -0
  1196. package/tracking/action-creators/cookieConsent.js +2 -2
  1197. package/tracking/actions/cookieConsent.js +17 -5
  1198. package/tracking/components/CookieConsentModal/connector.js +3 -5
  1199. package/tracking/components/CookieConsentModal/index.js +3 -6
  1200. package/tracking/components/CookieConsentModal/tracking-opt-in.svg +14 -14
  1201. package/tracking/components/PrivacySettings/connector.js +3 -5
  1202. package/tracking/components/PrivacySettings/index.js +2 -2
  1203. package/tracking/helpers/index.js +1 -0
  1204. package/tracking/selectors/cookieConsent.js +10 -5
  1205. package/tracking/streams/cookieConsent.js +10 -3
  1206. package/tracking/subscriptions/analytics.js +5 -4
  1207. package/tracking/subscriptions/cookieConsent.js +6 -10
  1208. package/types.js +0 -0
  1209. package/user/index.js +2 -2
  1210. package/user/selectors/data.js +10 -0
  1211. package/components/MessageBar/spec.js +0 -1
  1212. package/components/MessageBar/style.js +0 -2
  1213. package/favorites/constants/constants.js +0 -1
  1214. package/product/components/Characteristics/Characteristic/components/VariantAvailability/connector.js +0 -9
  1215. package/product/components/Characteristics/Characteristic/components/VariantAvailability/index.js +0 -5
  1216. package/product/components/QuantityPicker/helpers.js +0 -5
  1217. /package/product/components/{Characteristics/Characteristic/components/VariantAvailability/style.js → ProductVariants/VariantAvailability.style.js} +0 -0
  1218. /package/product/{components/ProductProvider → providers/Product}/connector.js +0 -0
@@ -0,0 +1 @@
1
+ export var ORDER_DETAILS_PATTERN='/orders/:orderId';export var ORDER_DETAILS_PRIVATE_PATH='/order-details';export var ORDER_DETAILS_PRIVATE_PATTERN='/order-details/:orderNumber';
@@ -0,0 +1,12 @@
1
+ function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}export var ORDER_STATUS_NEW='new';export var ORDER_STATUS_OPEN='open';export var ORDER_STATUS_REJECTED='rejected';export var ORDER_STATUS_CANCELED='canceled';export var ORDER_STATUS_READY='ready';export var ORDER_STATUS_FULFILLED='fulfilled';export var ORDER_STATUS_COMPLETED='completed';export var ORDER_STATUS_IN_PROGRESS='inProgress';// Does not come from the API
2
+ export var ORDER_STATUS_SUBMITTED='submitted';var orderStatusMapping=_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({},ORDER_STATUS_NEW,ORDER_STATUS_SUBMITTED),ORDER_STATUS_OPEN,ORDER_STATUS_SUBMITTED),ORDER_STATUS_IN_PROGRESS,ORDER_STATUS_IN_PROGRESS),ORDER_STATUS_READY,ORDER_STATUS_READY),ORDER_STATUS_FULFILLED,ORDER_STATUS_COMPLETED),ORDER_STATUS_COMPLETED,ORDER_STATUS_COMPLETED),ORDER_STATUS_CANCELED,ORDER_STATUS_CANCELED),ORDER_STATUS_REJECTED,ORDER_STATUS_CANCELED);/**
3
+ * Retrieves a final mapped order status of an original order status.
4
+ * @param {string} orderStatus The original order status
5
+ * @returns {string}
6
+ */export var getEngageOrderStatus=function getEngageOrderStatus(orderStatus){return orderStatusMapping[orderStatus]||orderStatus;};export var LINE_ITEM_STATUS_OPEN='open';export var LINE_ITEM_STATUS_IN_PROGRESS='inProgress';export var LINE_ITEM_STATUS_REJECTED='rejected';export var LINE_ITEM_STATUS_CANCELED='canceled';export var LINE_ITEM_STATUS_FULFILLED='fulfilled';// Does not come from the API
7
+ export var LINE_ITEM_STATUS_PENDING='pending';export var LINE_ITEM_STATUS_UNAVAILABLE='unavailable';export var LINE_ITEM_SUB_STATUS_SUBSTITUTED='substituted';export var LINE_ITEM_SUB_STATUS_REPLACED='replaced';var lineItemInactiveStatuses=[{status:LINE_ITEM_STATUS_CANCELED,subStatus:null},{status:LINE_ITEM_STATUS_CANCELED,subStatus:LINE_ITEM_SUB_STATUS_SUBSTITUTED}];/**
8
+ * Retrieves a final mapped line item status of an original line item status.
9
+ * @param {string} lineItemStatus The original line item status
10
+ * @param {string} lineItemSubStatus The original line item sub status
11
+ * @returns {string}
12
+ */export var getEngageLineItemStatus=function getEngageLineItemStatus(lineItemStatus,lineItemSubStatus){var active=!lineItemInactiveStatuses.find(function(entry){return entry.status===lineItemStatus&&entry.subStatus===lineItemSubStatus;});return{status:lineItemStatus,active:active};};
@@ -0,0 +1 @@
1
+ export{getTranslatedOrderStatus,getTranslatedLineItemStatus,getLineItemActiveStatus}from"./orderStatus";
@@ -0,0 +1,5 @@
1
+ import{ORDER_DETAILS_PRIVATE_PATH}from"../constants/routes";/**
2
+ * Generate route to order details.
3
+ * @param {string} orderNumber The order number.
4
+ * @returns {string}
5
+ */export var getOrderDetailsRoute=function getOrderDetailsRoute(orderNumber){return"".concat(ORDER_DETAILS_PRIVATE_PATH,"/").concat(orderNumber);};
@@ -0,0 +1,15 @@
1
+ import{i18n}from'@shopgate/engage/core';import{getEngageOrderStatus,getEngageLineItemStatus}from"../constants";/**
2
+ * Generates a translated order status.
3
+ * @param {string} status The status from the API.
4
+ * @returns {string}
5
+ */export var getTranslatedOrderStatus=function getTranslatedOrderStatus(status){var path="order.status.order.".concat(getEngageOrderStatus(status));var translated=i18n.text(path);return translated!==path?translated:status;};/**
6
+ * Generates a translated line item status.
7
+ * @param {string} status The status from the API.
8
+ * @param {string} subStatus The sub status from the API.
9
+ * @returns {string}
10
+ */export var getTranslatedLineItemStatus=function getTranslatedLineItemStatus(status,subStatus){var _getEngageLineItemSta;var statusText=(_getEngageLineItemSta=getEngageLineItemStatus(status,subStatus))===null||_getEngageLineItemSta===void 0?void 0:_getEngageLineItemSta.status;var path="order.status.line_item.".concat(statusText);var translated=i18n.text(path);return translated!==path?translated:status;};/**
11
+ * Determines the active status of a line item.
12
+ * @param {string} status The status from the API.
13
+ * @param {string} subStatus The sub status from the API.
14
+ * @returns {boolean}
15
+ */export var getLineItemActiveStatus=function getLineItemActiveStatus(status,subStatus){var _getEngageLineItemSta2;return(_getEngageLineItemSta2=getEngageLineItemStatus(status,subStatus))===null||_getEngageLineItemSta2===void 0?void 0:_getEngageLineItemSta2.active;};
@@ -0,0 +1,7 @@
1
+ import React from'react';import OrderDetails from"../providers/OrderDetailsProvider.context";import OrderHistory from"../providers/OrderHistoryProvider.context";/**
2
+ * Returns the value of the order details provider state.
3
+ * @returns {Object}
4
+ */export var useOrderDetails=function useOrderDetails(){return React.useContext(OrderDetails);};/**
5
+ * Returns the value of the order details provider state.
6
+ * @returns {Object}
7
+ */export var useOrderHistory=function useOrderHistory(){return React.useContext(OrderHistory);};
package/orders/index.js CHANGED
@@ -1,2 +1,2 @@
1
1
  /** @module orders */import{CHECKOUT_PATH}from'@shopgate/pwa-common/constants/RoutePaths';// CONSTANTS
2
- export*from'@shopgate/pwa-common-commerce/orders/constants';export{CHECKOUT_PATH};
2
+ export*from'@shopgate/pwa-common-commerce/orders/constants';export{CHECKOUT_PATH};export{makeGetOrderById}from"./selectors";export{getTranslatedOrderStatus,getTranslatedLineItemStatus,getLineItemActiveStatus}from"./helpers";
@@ -0,0 +1,11 @@
1
+ import{connect}from'react-redux';import{getShopSettings,getConfigFetching}from'@shopgate/engage/core/config';import{getPreferredLocationAddress}from'@shopgate/engage/locations/selectors';import{isUserLoggedIn}from'@shopgate/pwa-common/selectors/user';import{makeGetOrderByNumber}from"../selectors";import{fetchOrderDetails as _fetchOrderDetails,cancelOrder as _cancelOrder}from"../actions";/**
2
+ * @return {Function}
3
+ */var makeMapStateToProps=function makeMapStateToProps(){var getOrderByNumber=makeGetOrderByNumber();/**
4
+ * @param {Object} state The application state.
5
+ * @param {Object} props The component props.
6
+ * @returns {Object}
7
+ */return function(state,props){return{isDataReady:!getConfigFetching(state),isUserLoggedIn:isUserLoggedIn(state),shopSettings:getShopSettings(state),userLocation:getPreferredLocationAddress(state),order:getOrderByNumber(state,props)};};};/**
8
+ * Connects the dispatch function to a callable function in the props.
9
+ * @param {Function} dispatch The redux dispatch function.
10
+ * @return {Object} The extended component props.
11
+ */var mapDispatchToProps=function mapDispatchToProps(dispatch){return{fetchOrderDetails:function fetchOrderDetails(orderNumber){return dispatch(_fetchOrderDetails({orderNumber:orderNumber}));},cancelOrder:function cancelOrder(orderNumber){return dispatch(_cancelOrder({orderNumber:orderNumber}));}};};export default connect(makeMapStateToProps,mapDispatchToProps);
@@ -0,0 +1,5 @@
1
+ import _regeneratorRuntime from"@babel/runtime/regenerator";function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value;}catch(error){reject(error);return;}if(info.done){resolve(value);}else{Promise.resolve(value).then(_next,_throw);}}function _asyncToGenerator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value);}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err);}_next(undefined);});};}function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_nonIterableRest();}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance");}function _iterableToArrayLimit(arr,i){var _arr=[];var _n=true;var _d=false;var _e=undefined;try{for(var _i=arr[Symbol.iterator](),_s;!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break;}}catch(err){_d=true;_e=err;}finally{try{if(!_n&&_i["return"]!=null)_i["return"]();}finally{if(_d)throw _e;}}return _arr;}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr;}import React,{useState,useMemo,useCallback,useEffect}from'react';import PropTypes from'prop-types';import{useRoute,LoadingProvider}from'@shopgate/engage/core';import connect from"./OrderDetailsPrivateProvider.connector";import Context from"./OrderDetailsProvider.context";/**
2
+ * @param {Object} props The component props.
3
+ * @returns {JSX}
4
+ */var OrderDetailsProvider=function OrderDetailsProvider(_ref){var order=_ref.order,orderNumber=_ref.orderNumber,shopSettings=_ref.shopSettings,userLocation=_ref.userLocation,fetchOrderDetails=_ref.fetchOrderDetails,cancelOrder=_ref.cancelOrder,children=_ref.children;var _useRoute=useRoute(),pathname=_useRoute.pathname;var _useState=useState(false),_useState2=_slicedToArray(_useState,2),isLoading=_useState2[0],setIsLoading=_useState2[1];var handleRequest=useCallback(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(){return _regeneratorRuntime.wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:setIsLoading(true);_context.next=3;return fetchOrderDetails(orderNumber);case 3:setIsLoading(false);case 4:case"end":return _context.stop();}},_callee);})),[fetchOrderDetails,orderNumber]);var handleCancel=useCallback(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(){return _regeneratorRuntime.wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:setIsLoading(true);_context2.next=3;return cancelOrder(orderNumber);case 3:setIsLoading(false);case 4:case"end":return _context2.stop();}},_callee2);})),[cancelOrder,orderNumber]);// Loading state
5
+ useEffect(function(){if(isLoading){LoadingProvider.setLoading(pathname);return;}LoadingProvider.unsetLoading(pathname);},[isLoading,pathname]);useEffect(function(){handleRequest();},[handleRequest]);var value=useMemo(function(){return{order:order,isLoading:isLoading,supportedCountries:shopSettings.supportedCountries,countrySortOrder:shopSettings.countrySortOrder,userLocation:userLocation,fetchOrderDetails:fetchOrderDetails,cancelOrder:handleCancel};},[order,isLoading,shopSettings.supportedCountries,shopSettings.countrySortOrder,userLocation,fetchOrderDetails,handleCancel]);return React.createElement(Context.Provider,{value:value},children);};OrderDetailsProvider.defaultProps={children:null,shopSettings:null,userLocation:null,order:null};export default connect(OrderDetailsProvider);
@@ -0,0 +1,11 @@
1
+ function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};return _extends.apply(this,arguments);}import{connect}from'react-redux';import{getShopSettings,getConfigFetching}from'@shopgate/engage/core/config';import{getPreferredLocationAddress}from'@shopgate/engage/locations/selectors';import{isUserLoggedIn}from'@shopgate/pwa-common/selectors/user';import{makeGetOrderById}from"../selectors";import{fetchOrderDetails as _fetchOrderDetails,cancelOrder as _cancelOrder}from"../actions";/**
2
+ * @return {Function}
3
+ */var makeMapStateToProps=function makeMapStateToProps(){var getOrderById=makeGetOrderById();/**
4
+ * @param {Object} state The application state.
5
+ * @param {Object} props The component props.
6
+ * @returns {Object}
7
+ */return function(state,props){return{isDataReady:!getConfigFetching(state),isUserLoggedIn:isUserLoggedIn(state),shopSettings:getShopSettings(state),userLocation:getPreferredLocationAddress(state),order:getOrderById(state,props)};};};/**
8
+ * Connects the dispatch function to a callable function in the props.
9
+ * @param {Function} dispatch The redux dispatch function.
10
+ * @return {Object} The extended component props.
11
+ */var mapDispatchToProps=function mapDispatchToProps(dispatch){return{fetchOrderDetails:function fetchOrderDetails(orderId,params){return dispatch(_fetchOrderDetails(_extends({orderId:orderId},params)));},cancelOrder:function cancelOrder(orderId,token){return dispatch(_cancelOrder({orderId:orderId,token:token}));}};};export default connect(makeMapStateToProps,mapDispatchToProps);
@@ -0,0 +1 @@
1
+ export var authenticateConstraints={email:{presence:{message:'validation.required',allowEmpty:false},email:{message:'validation.email'}},phone:{presence:{message:'validation.required',allowEmpty:false},format:{pattern:'^[+0-9]+',message:'validation.mobileNumber'}}};
@@ -0,0 +1 @@
1
+ import React from'react';var initialContext={};export default React.createContext(initialContext);
@@ -0,0 +1,11 @@
1
+ import _regeneratorRuntime from"@babel/runtime/regenerator";function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value;}catch(error){reject(error);return;}if(info.done){resolve(value);}else{Promise.resolve(value).then(_next,_throw);}}function _asyncToGenerator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value);}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err);}_next(undefined);});};}function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_nonIterableRest();}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance");}function _iterableToArrayLimit(arr,i){var _arr=[];var _n=true;var _d=false;var _e=undefined;try{for(var _i=arr[Symbol.iterator](),_s;!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break;}}catch(err){_d=true;_e=err;}finally{try{if(!_n&&_i["return"]!=null)_i["return"]();}finally{if(_d)throw _e;}}return _arr;}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr;}import React,{useState,useMemo,useCallback,useEffect}from'react';import PropTypes from'prop-types';import{useCookies}from'react-cookie';import{useRoute,i18n,LoadingProvider,EUNAUTHORIZED,EAUTHENTICATION,ENOTFOUND}from'@shopgate/engage/core';import{useFormState}from'@shopgate/engage/core/hooks/useFormState';import{authenticateConstraints}from"./OrderDetailsProvider.constraints";import connect from"./OrderDetailsProvider.connector";import Context from"./OrderDetailsProvider.context";var defaultFormState={email:'',phone:''};/**
2
+ * Converts validation errors into errors for form builder.
3
+ * @param {Object} validationErrors The validation errors.
4
+ * @returns {Array}
5
+ */var convertValidationErrors=function convertValidationErrors(validationErrors){return Object.keys(validationErrors).map(function(key){return{path:key,message:i18n.text(validationErrors[key])};});};/**
6
+ * @param {Object} props The component props.
7
+ * @returns {JSX}
8
+ */var OrderDetailsProvider=function OrderDetailsProvider(_ref){var isUserLoggedIn=_ref.isUserLoggedIn,order=_ref.order,orderId=_ref.orderId,shopSettings=_ref.shopSettings,userLocation=_ref.userLocation,fetchOrderDetails=_ref.fetchOrderDetails,cancelOrder=_ref.cancelOrder,children=_ref.children;var _useRoute=useRoute(),pathname=_useRoute.pathname;var _useState=useState(!isUserLoggedIn),_useState2=_slicedToArray(_useState,2),showForm=_useState2[0],setShowForm=_useState2[1];var _useState3=useState(false),_useState4=_slicedToArray(_useState3,2),isLoading=_useState4[0],setIsLoading=_useState4[1];var _useState5=useState(''),_useState6=_slicedToArray(_useState5,2),errorMessage=_useState6[0],setErrorMessage=_useState6[1];var orderTokenCookie=["shopgate_order_token_".concat(orderId)];var _useCookies=useCookies([orderTokenCookie]),_useCookies2=_slicedToArray(_useCookies,2),cookies=_useCookies2[0],setCookie=_useCookies2[1];var orderToken=cookies[orderTokenCookie];// Form visibility
9
+ useEffect(function(){if(isUserLoggedIn){setShowForm(errorMessage);}else{setShowForm(!order&&!orderToken||errorMessage);}},[errorMessage,isUserLoggedIn,order,orderToken]);var handleRequest=useCallback(/*#__PURE__*/function(){var _ref2=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(email,phone,token){var message,response,code;return _regeneratorRuntime.wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:setIsLoading(true);_context.prev=1;_context.next=4;return fetchOrderDetails(orderId,{email:email,phone:phone,token:token});case 4:response=_context.sent;if(response.token&&response.tokenExpires){setCookie(orderTokenCookie,response.token,{expires:new Date(response.tokenExpires)});}setErrorMessage('');_context.next=13;break;case 9:_context.prev=9;_context.t0=_context["catch"](1);code=_context.t0.code;if(code===EUNAUTHORIZED){message='order_details.errors.authorize';}else if(code===EAUTHENTICATION){message='order_details.errors.authenticate';}else if(code===ENOTFOUND){message='order_details.errors.not_found';}case 13:if(message){setErrorMessage(i18n.text(message));}setIsLoading(false);case 15:case"end":return _context.stop();}},_callee,null,[[1,9]]);}));return function(_x,_x2,_x3){return _ref2.apply(this,arguments);};}(),[fetchOrderDetails,orderTokenCookie,orderId,setCookie]);var handleCancel=useCallback(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(){var message,code;return _regeneratorRuntime.wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:setIsLoading(true);_context2.prev=1;_context2.next=4;return cancelOrder(orderId,orderToken);case 4:setErrorMessage('');_context2.next=11;break;case 7:_context2.prev=7;_context2.t0=_context2["catch"](1);code=_context2.t0.code;if(code===EAUTHENTICATION){message='order_details.errors.expired';}else if(code===ENOTFOUND){message='order_details.errors.not_found';}case 11:if(message){setErrorMessage(i18n.text(message));}setIsLoading(false);case 13:case"end":return _context2.stop();}},_callee2,null,[[1,7]]);})),[cancelOrder,orderId,orderToken]);// Loading state
10
+ useEffect(function(){if(isLoading){LoadingProvider.setLoading(pathname);return;}LoadingProvider.unsetLoading(pathname);},[isLoading,pathname]);useEffect(function(){if(!isUserLoggedIn&&!orderToken){return;}_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3(){return _regeneratorRuntime.wrap(function _callee3$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:_context3.next=2;return handleRequest(undefined,undefined,!isUserLoggedIn?orderToken:undefined);case 2:case"end":return _context3.stop();}},_callee3);}))();/* eslint-disable react-hooks/exhaustive-deps */},[]);/* eslint-enable react-hooks/exhaustive-deps */var authenticateFormState={valid:false,values:[]};// Authentication form
11
+ var handleAuthenticateFormSubmit=useCallback(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee4(){var _authenticateFormStat,email,phone;return _regeneratorRuntime.wrap(function _callee4$(_context4){while(1)switch(_context4.prev=_context4.next){case 0:if(authenticateFormState.valid){_context4.next=2;break;}return _context4.abrupt("return");case 2:_authenticateFormStat=authenticateFormState.values,email=_authenticateFormStat.email,phone=_authenticateFormStat.phone;_context4.next=5;return handleRequest(email,phone);case 5:case"end":return _context4.stop();}},_callee4);})),[authenticateFormState.valid,authenticateFormState.values,handleRequest]);authenticateFormState=useFormState(defaultFormState,handleAuthenticateFormSubmit,authenticateConstraints);var handleSubmit=useCallback(function(){authenticateFormState.handleSubmit(new Event('submit'));},[authenticateFormState]);var value=useMemo(function(){return{isUserLoggedIn:isUserLoggedIn,order:order,handleSubmit:handleSubmit,isLoading:isLoading,showForm:showForm,supportedCountries:shopSettings.supportedCountries,countrySortOrder:shopSettings.countrySortOrder,validationErrors:convertValidationErrors(authenticateFormState.validationErrors||{}),updateForm:authenticateFormState.setValues,defaultFormState:defaultFormState,userLocation:userLocation,fetchOrderDetails:fetchOrderDetails,cancelOrder:handleCancel,errorMessage:errorMessage};},[authenticateFormState.setValues,authenticateFormState.validationErrors,fetchOrderDetails,handleCancel,handleSubmit,isUserLoggedIn,showForm,isLoading,order,shopSettings.supportedCountries,shopSettings.countrySortOrder,userLocation,errorMessage]);return React.createElement(Context.Provider,{value:value},children);};OrderDetailsProvider.defaultProps={children:null,shopSettings:null,userLocation:null,order:null,orderId:null};export default connect(OrderDetailsProvider);
@@ -0,0 +1,9 @@
1
+ import{connect}from'react-redux';import{historyPush}from'@shopgate/engage/core';import{fetchOrderHistory}from"../actions";import{getOrders,getTotalOrderCount}from"../selectors";/**
2
+ * @param {Object} state The application state.
3
+ * @param {Object} props The component props.
4
+ * @returns {Object}
5
+ */var mapStateToProps=function mapStateToProps(state){return{orders:getOrders(state),totalOrderCount:getTotalOrderCount(state)};};/**
6
+ * Connects the dispatch function to a callable function in the props.
7
+ * @param {Function} dispatch The redux dispatch function.
8
+ * @return {Object} The extended component props.
9
+ */var mapDispatchToProps={fetchOrderHistory:fetchOrderHistory,historyPush:historyPush};export default connect(mapStateToProps,mapDispatchToProps);
@@ -0,0 +1 @@
1
+ import React from'react';var initialContext={};export default React.createContext(initialContext);
@@ -0,0 +1,4 @@
1
+ function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};return _extends.apply(this,arguments);}import React,{useMemo}from'react';import PropTypes from'prop-types';import connect from"./OrderHistoryProvider.connector";import Context from"./OrderHistoryProvider.context";import{getOrderDetailsRoute}from"../helpers/orderDetails";/**
2
+ * @param {Object} props The component props.
3
+ * @returns {JSX}
4
+ */var OrderHistoryProvider=function OrderHistoryProvider(_ref){var orders=_ref.orders,fetchOrderHistory=_ref.fetchOrderHistory,children=_ref.children,historyPush=_ref.historyPush,totalOrderCount=_ref.totalOrderCount;var value=useMemo(function(){return{orders:orders.map(function(order){return _extends({},order,{openDetails:function openDetails(){return historyPush({pathname:getOrderDetailsRoute(order.orderNumber)});}});}),totalOrderCount:totalOrderCount,fetchOrderHistory:fetchOrderHistory};},[fetchOrderHistory,historyPush,orders,totalOrderCount]);return React.createElement(Context.Provider,{value:value},children);};OrderHistoryProvider.defaultProps={children:null,totalOrderCount:null};export default connect(OrderHistoryProvider);
@@ -0,0 +1 @@
1
+ import{combineReducers}from'redux';import ordersById from"./ordersById";import ordersByNumber from"./ordersByNumber";import orders from"./orders";export default combineReducers({ordersById:ordersById,ordersByNumber:ordersByNumber,orders:orders});
@@ -0,0 +1,7 @@
1
+ import{produce}from'immer';import{REQUEST_ORDER_HISTORY,RECEIVE_ORDER_HISTORY,ERROR_ORDER_HISTORY,CLEAR_ORDERS}from"../constants";export var CACHE_TIME=60*60*1000;// 1 hr in milliseconds
2
+ var defaultState={orders:[]};/**
3
+ * Stores orders by the order number.
4
+ * @param {Object} [state={}] The current state.
5
+ * @param {Object} action The action object.
6
+ * @returns {Object} The new state.
7
+ */var orders=function orders(){var state=arguments.length>0&&arguments[0]!==undefined?arguments[0]:defaultState;var action=arguments.length>1?arguments[1]:undefined;/* eslint-disable no-param-reassign */var producer=produce(function(draft){switch(action.type){case REQUEST_ORDER_HISTORY:{draft.isFetching=true;break;}case RECEIVE_ORDER_HISTORY:{draft.isFetching=false;draft.orders=[].concat(draft.orders.slice(0,action.offset),action.orders.map(function(order){return order.orderNumber;}));draft.totalOrderCount=action.totalOrderCount;break;}case ERROR_ORDER_HISTORY:{draft.isFetching=false;break;}case CLEAR_ORDERS:{return defaultState;}default:break;}return undefined;});/* eslint-enable no-param-reassign */return producer(state);};export default orders;
@@ -0,0 +1,7 @@
1
+ function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};return _extends.apply(this,arguments);}import{produce}from'immer';import{REQUEST_ORDER_DETAILS,RECEIVE_ORDER_DETAILS,ERROR_ORDER_DETAILS,CLEAR_ORDERS}from"../constants";export var CACHE_TIME=60*60*1000;// 1 hr in milliseconds
2
+ var defaultState={};/**
3
+ * Stores orders by the order number.
4
+ * @param {Object} [state={}] The current state.
5
+ * @param {Object} action The action object.
6
+ * @returns {Object} The new state.
7
+ */var ordersById=function ordersById(){var state=arguments.length>0&&arguments[0]!==undefined?arguments[0]:defaultState;var action=arguments.length>1?arguments[1]:undefined;/* eslint-disable no-param-reassign */var producer=produce(function(draft){switch(action.type){case REQUEST_ORDER_DETAILS:{if(action.orderId){draft[action.orderId]=_extends({},draft[action.orderId],{isFetching:true,expires:0});}break;}case RECEIVE_ORDER_DETAILS:{if(action.orderId){draft[action.orderId]=_extends({},draft[action.orderId],{order:action.order,isFetching:false,expires:Date.now()+CACHE_TIME});}break;}case ERROR_ORDER_DETAILS:{if(action.orderId){draft[action.orderId]={isFetching:false,expires:0};}break;}case CLEAR_ORDERS:{return defaultState;}default:break;}return undefined;});/* eslint-enable no-param-reassign */return producer(state);};export default ordersById;
@@ -0,0 +1,7 @@
1
+ function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};return _extends.apply(this,arguments);}import{produce}from'immer';import{REQUEST_ORDER_DETAILS,RECEIVE_ORDER_DETAILS,RECEIVE_ORDER_HISTORY,ERROR_ORDER_DETAILS,CLEAR_ORDERS}from"../constants";export var CACHE_TIME=60*60*1000;// 1 hr in milliseconds
2
+ var defaultState={};/**
3
+ * Stores orders by the order number.
4
+ * @param {Object} [state={}] The current state.
5
+ * @param {Object} action The action object.
6
+ * @returns {Object} The new state.
7
+ */var ordersByNumber=function ordersByNumber(){var state=arguments.length>0&&arguments[0]!==undefined?arguments[0]:defaultState;var action=arguments.length>1?arguments[1]:undefined;/* eslint-disable no-param-reassign */var producer=produce(function(draft){switch(action.type){case REQUEST_ORDER_DETAILS:{if(!action.orderNumber)break;draft[action.orderNumber]=_extends({},draft[action.orderNumber],{isFetching:true,expires:0});break;}case RECEIVE_ORDER_DETAILS:{draft[action.order.orderNumber]=_extends({},draft[action.order.orderNumber],{order:_extends({},action.order,{lineItemCount:action.order.lineItems.length}),isFetching:false,expires:Date.now()+CACHE_TIME});break;}case RECEIVE_ORDER_HISTORY:{action.orders.forEach(function(order){var _draft$order$orderNum;draft[order.orderNumber]=_extends({},draft[order.orderNumber],{order:_extends({},(_draft$order$orderNum=draft[order.orderNumber])===null||_draft$order$orderNum===void 0?void 0:_draft$order$orderNum.order,{},order)});});break;}case ERROR_ORDER_DETAILS:{if(!action.orderNumber)break;draft[action.orderNumber]={isFetching:false,expires:0};break;}case CLEAR_ORDERS:{return defaultState;}default:break;}return undefined;});/* eslint-enable no-param-reassign */return producer(state);};export default ordersByNumber;
@@ -0,0 +1,27 @@
1
+ import{createSelector}from'reselect';/**
2
+ * Retrieves the orders state from the store.
3
+ * @param {Object} state The current application state.
4
+ * @return {Object} The orders state.
5
+ */var getOrdersState=function getOrdersState(state){return state.orders||{};};/**
6
+ * Retrieves the ordersById state from the store.
7
+ * @param {Object} state The current application state.
8
+ * @return {Object} The orders state.
9
+ */var getOrdersByIdState=function getOrdersByIdState(state){return getOrdersState(state).ordersById||{};};/**
10
+ * Retrieves the ordersByNumber state from the store.
11
+ * @param {Object} state The current application state.
12
+ * @return {Object} The orders state.
13
+ */var getOrdersByNumberState=function getOrdersByNumberState(state){return getOrdersState(state).ordersByNumber||{};};/**
14
+ * Retrieves the orders from the store.
15
+ * @param {Object} state The current application state.
16
+ * @return {Object} The orders state.
17
+ */export var getOrders=createSelector(getOrdersState,getOrdersByNumberState,function(orders,ordersByNumber){return orders.orders.orders.map(function(orderNumber){var _ordersByNumber$order;return(_ordersByNumber$order=ordersByNumber[orderNumber])===null||_ordersByNumber$order===void 0?void 0:_ordersByNumber$order.order;});});/**
18
+ * Retrieves total count of orders from the store.
19
+ * @param {Object} state The current application state.
20
+ * @return {Object} The orders state.
21
+ */export var getTotalOrderCount=function getTotalOrderCount(state){return getOrdersState(state).orders.totalOrderCount;};/**
22
+ * Creates the selector that retrieves an order by its number.
23
+ * @returns {Function}
24
+ */export var makeGetOrderById=function makeGetOrderById(){return createSelector(function(state,props){return props.orderId;},getOrdersByIdState,function(orderId,orders){var _orders$orderId;return(orders===null||orders===void 0?void 0:(_orders$orderId=orders[orderId])===null||_orders$orderId===void 0?void 0:_orders$orderId.order)||null;});};/**
25
+ * Creates the selector that retrieves an order by its number.
26
+ * @returns {Function}
27
+ */export var makeGetOrderByNumber=function makeGetOrderByNumber(){return createSelector(function(state,props){return props.orderNumber;},getOrdersByNumberState,function(orderNumber,orders){var _orders$orderNumber;return(orders===null||orders===void 0?void 0:(_orders$orderNumber=orders[orderNumber])===null||_orders$orderNumber===void 0?void 0:_orders$orderNumber.order)||null;});};
@@ -0,0 +1,4 @@
1
+ import{main$}from'@shopgate/pwa-common/streams/main';import{clearOrders}from"../action-creators";import{SUBMIT_CHECKOUT_ORDER_SUCCESS}from"../../checkout/constants/actionTypes";/**
2
+ * Orders subscriptions.
3
+ * @param {Function} subscribe The subscribe function.
4
+ */var orders=function orders(subscribe){var checkoutSuccess$=main$.filter(function(_ref){var action=_ref.action;return action.type===SUBMIT_CHECKOUT_ORDER_SUCCESS;});subscribe(checkoutSuccess$,function(_ref2){var dispatch=_ref2.dispatch;dispatch(clearOrders());});};export default orders;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shopgate/engage",
3
- "version": "7.27.3-alpha.17",
3
+ "version": "7.27.3-alpha.18",
4
4
  "description": "Shopgate's ENGAGE library.",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Shopgate <support@shopgate.com>",
@@ -15,34 +15,42 @@
15
15
  "connect"
16
16
  ],
17
17
  "dependencies": {
18
- "@shopgate/pwa-common": "7.27.3-alpha.17",
19
- "@shopgate/pwa-common-commerce": "7.27.3-alpha.17",
20
- "@shopgate/pwa-core": "7.27.3-alpha.17",
21
- "@shopgate/pwa-ui-ios": "7.27.3-alpha.17",
22
- "@shopgate/pwa-ui-material": "7.27.3-alpha.17",
23
- "@shopgate/pwa-ui-shared": "7.27.3-alpha.17",
24
- "@virtuous/conductor": "~2.4.0",
18
+ "@shopgate/native-modules": "1.0.0-beta.25",
19
+ "@shopgate/pwa-common": "7.27.3-alpha.18",
20
+ "@shopgate/pwa-common-commerce": "7.27.3-alpha.18",
21
+ "@shopgate/pwa-core": "7.27.3-alpha.18",
22
+ "@shopgate/pwa-ui-ios": "7.27.3-alpha.18",
23
+ "@shopgate/pwa-ui-material": "7.27.3-alpha.18",
24
+ "@shopgate/pwa-ui-shared": "7.27.3-alpha.18",
25
+ "@stripe/react-stripe-js": "^1.16.5",
26
+ "@stripe/stripe-js": "^1.3.1",
27
+ "@virtuous/conductor": "~2.5.0",
25
28
  "babel-plugin-transform-es3-member-expression-literals": "^6.8.0",
26
29
  "babel-plugin-transform-es3-property-literals": "^6.8.0",
27
30
  "color": "^3.1.2",
28
- "immer": "^10.0.1",
31
+ "focus-trap-react": "^11.0.3",
32
+ "immer": "^8.0.1",
29
33
  "intersection-observer": "^0.6.0",
34
+ "leaflet": "^1.8.0",
35
+ "leaflet-gesture-handling": "^1.2.2",
30
36
  "lodash": "^4.17.11",
37
+ "moment": "^2.27.0",
31
38
  "react-helmet": "^5.1.3",
39
+ "react-leaflet": "^3.2.5",
40
+ "react-phone-number-input": "^3.2.16",
32
41
  "react-player": "1.11.0",
33
42
  "react-portal": "^3.1.0",
34
- "react-swipeable": "^4.0.1",
35
- "rxjs": "~5.5.12"
43
+ "validate.js": "^0.13.1"
36
44
  },
37
45
  "devDependencies": {
38
- "classnames": "^2.2.6",
46
+ "classnames": "2.5.1",
39
47
  "jest-mock-console": "^0.4.2",
40
48
  "lodash": "^4.17.11",
41
- "prop-types": "~15.7.2",
42
- "react": "~16.12.0",
43
- "react-redux": "^5.1.2",
44
- "redux": "^4.0.1",
45
- "redux-mock-store": "^1.5.3",
46
- "reselect": "^3.0.1"
49
+ "prop-types": "~15.8.1",
50
+ "react": "~16.14.0",
51
+ "react-redux": "^8.1.3",
52
+ "redux": "^4.2.1",
53
+ "redux-mock-store": "^1.5.4",
54
+ "reselect": "^4.1.8"
47
55
  }
48
56
  }
@@ -0,0 +1 @@
1
+ export{default as fetchPageConfig}from'@shopgate/pwa-common/actions/page/fetchPageConfig';
@@ -0,0 +1,3 @@
1
+ import React,{useCallback}from'react';import PropTypes from'prop-types';import{css}from'glamor';import{connect}from'react-redux';import RippleButton from'@shopgate/pwa-ui-shared/RippleButton';import{I18n}from'@shopgate/engage/components';import{themeConfig}from'@shopgate/pwa-common/helpers/config';import{historyPop}from'@shopgate/pwa-common/actions/router';var mapDispatchToProps={onClick:historyPop};var variables=themeConfig.variables;var styles={wrapper:css({display:'flex',justifyContent:'center',flexDirection:'column',textAlign:'center',padding:variables.gap.big,paddingTop:variables.gap.xxbig}).toString(),text:css({fontSize:'1.5rem'}).toString(),button:css({width:'100%',maxWidth:250}).toString(),buttonContainer:css({flexGrow:'0',padding:"".concat(variables.emptyPage.buttonVerticalGap,"px ").concat(variables.gap.big,"px")}).toString()};/**
2
+ * @returns {JSX}
3
+ */var NotFound=function NotFound(_ref){var onClick=_ref.onClick;var handleClick=useCallback(function(){onClick();},[onClick]);return React.createElement("div",{className:styles.wrapper},React.createElement(I18n.Text,{className:styles.text,string:"page.not_found"}),React.createElement("div",{className:styles.buttonContainer},React.createElement(RippleButton,{onClick:handleClick,className:styles.button,type:"secondary"},React.createElement(I18n.Text,{string:"page.continue"}))));};export default connect(null,mapDispatchToProps)(NotFound);
@@ -0,0 +1 @@
1
+ export{default as NotFound}from"./NotFound";
package/page/index.js CHANGED
@@ -1,4 +1,2 @@
1
- /** @module page */ // ACTIONS
2
- export{default as fetchPageConfig}from'@shopgate/pwa-common/actions/page/fetchPageConfig';// CONSTANTS
3
- export*from"./constants";// SELECTORS
4
- export*from'@shopgate/pwa-common/selectors/page';
1
+ /** @module page */export*from"./actions";export*from"./components";export*from"./constants";// eslint-disable-next-line import/export
2
+ export*from"./selectors";
@@ -0,0 +1,7 @@
1
+ import{createSelector}from'reselect';import{makeGetMenu,makeGetIsFetchingMenu}from'@shopgate/engage/core/selectors';import{LEGAL_MENU}from'@shopgate/engage/core/constants';import{hasNewServices}from'@shopgate/engage/core';import{PRIVACY_PATH}from"../constants";export*from'@shopgate/pwa-common/selectors/page';/**
2
+ * Creates a selector that retrieves the privacy policy link.
3
+ *
4
+ * When the new services are active, the link is extracted from the "shopgate.cms.getMenu" response.
5
+ * Otherwise it's a static link to the legacy privacy page.
6
+ * @returns {string|null}
7
+ */export var makeGetPrivacyPolicyLink=function makeGetPrivacyPolicyLink(){var getMenu=makeGetMenu(LEGAL_MENU);var getIsFetchingMenu=makeGetIsFetchingMenu(LEGAL_MENU);return createSelector(getMenu,getIsFetchingMenu,function(menu,fetching){if(!hasNewServices()){return PRIVACY_PATH;}if(fetching||!menu){return null;}var entry=menu.find(function(item){return item.url.includes('privacy');})||{};return(entry===null||entry===void 0?void 0:entry.url)||null;});};
@@ -0,0 +1 @@
1
+ export{default as productImageFormats}from'@shopgate/pwa-common-commerce/product/collections/ProductImageFormats';
@@ -0,0 +1,5 @@
1
+ import{connect}from'react-redux';import{getProduct}from'@shopgate/pwa-common-commerce/product/selectors/product';import{AVAILABILITY_STATE_OK}from'@shopgate/pwa-common-commerce/product/constants';/**
2
+ * Creates the mapStateToProps connector function.
3
+ * @returns {Function}
4
+ */var makeMapStateToProps=function makeMapStateToProps(){return function(state,props){var product=getProduct(state,props);if(!product){return{availability:null,fulfillmentMethods:null};}return{// Show stock info always as availability on PDP
5
+ availability:!product.stock?null:{text:product.stock.info,state:AVAILABILITY_STATE_OK},fulfillmentMethods:product.fulfillmentMethods||null};};};export default connect(makeMapStateToProps);
@@ -0,0 +1,6 @@
1
+ import*as React from'react';import PropTypes from'prop-types';import classNames from'classnames';import{AVAILABILITY_STATE_OK,AVAILABILITY_STATE_WARNING,AVAILABILITY_STATE_ALERT}from'@shopgate/pwa-common-commerce/product/constants';import{SurroundPortals,PlaceholderLabel,Availability as AvailableText}from'@shopgate/engage/components';import{PRODUCT_AVAILABILITY}from'@shopgate/engage/product';import{hasNewServices}from'@shopgate/engage/core/helpers';import connect from"./Availability.connector";import{placeholder,availability as availabilityStyle}from"./Availability.style";/**
2
+ * The Availability component.
3
+ * @param {Object} props The component props.
4
+ * @return {JSX}
5
+ */function Availability(_ref){var availability=_ref.availability,fulfillmentMethods=_ref.fulfillmentMethods,fulfillmentSelection=_ref.fulfillmentSelection,className=_ref.className;// Render only when no fulfillment methods are available or when the given method exists
6
+ if(hasNewServices()&&(!fulfillmentMethods||fulfillmentMethods.indexOf(fulfillmentSelection)!==-1)){return null;}var classes=classNames(placeholder,className?className.toString():null);return React.createElement(SurroundPortals,{portalName:PRODUCT_AVAILABILITY,portalProps:{availability:availability}},React.createElement(PlaceholderLabel,{className:classes,ready:availability!==null},availability&&React.createElement(AvailableText,{className:availabilityStyle,showWhenAvailable:true,text:availability.text||'',state:availability.state})));}Availability.defaultProps={availability:null,fulfillmentMethods:null,fulfillmentSelection:'',className:null};export default connect(React.memo(Availability));
@@ -0,0 +1 @@
1
+ import{css}from'glamor';export var placeholder=css({height:16,width:'70%',marginTop:5,marginBottom:2}).toString();export var availability=css({fontSize:'0.875rem'}).toString();
@@ -0,0 +1 @@
1
+ export{default as Availability}from"./Availability";
@@ -1,8 +1,20 @@
1
- function _typeof(obj){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj;}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj;},_typeof(obj);}function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};return _extends.apply(this,arguments);}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);Object.defineProperty(Constructor,"prototype",{writable:false});return Constructor;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function");}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});Object.defineProperty(subClass,"prototype",{writable:false});if(superClass)_setPrototypeOf(subClass,superClass);}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o;};return _setPrototypeOf(o,p);}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget);}else{result=Super.apply(this,arguments);}return _possibleConstructorReturn(this,result);};}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call;}else if(call!==void 0){throw new TypeError("Derived constructors may only return object or undefined");}return _assertThisInitialized(self);}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return self;}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true;}catch(e){return false;}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o);};return _getPrototypeOf(o);}function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}import React,{PureComponent}from'react';import PropTypes from'prop-types';import{SheetDrawer,SheetList}from'@shopgate/engage/components';import{VariantContext,ProductContext}from'@shopgate/engage/product';import{ViewContext}from'@shopgate/engage/components/View';import Item from"../SheetItem";import VariantAvailability from"../VariantAvailability";/**
1
+ function _typeof(obj){if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj;};}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj;};}return _typeof(obj);}function _objectDestructuringEmpty(obj){if(obj==null)throw new TypeError("Cannot destructure undefined");}function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};return _extends.apply(this,arguments);}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor;}function _callSuper(_this,derived,args){function isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{return!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));}catch(e){return false;}}derived=_getPrototypeOf(derived);return _possibleConstructorReturn(_this,isNativeReflectConstruct()?Reflect.construct(derived,args||[],_getPrototypeOf(_this).constructor):derived.apply(_this,args));}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call;}return _assertThisInitialized(self);}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return self;}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o);};return _getPrototypeOf(o);}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function");}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass);}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o;};return _setPrototypeOf(o,p);}function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}import React,{PureComponent,Fragment}from'react';import PropTypes from'prop-types';import{SheetDrawer,SheetList,Menu,ResponsiveContainer}from'@shopgate/engage/components';import{ThemeContext}from'@shopgate/engage/core/contexts';import{VariantContext,ProductContext}from'@shopgate/engage/product/contexts';import{VariantAvailability}from'@shopgate/engage/product/components';import{ViewContext}from'@shopgate/engage/components/View';import Item from"../SheetItem";/**
2
2
  * The CharacteristicSheet component.
3
- */var CharacteristicSheet=/*#__PURE__*/function(_PureComponent){_inherits(CharacteristicSheet,_PureComponent);var _super=_createSuper(CharacteristicSheet);function CharacteristicSheet(){var _this;_classCallCheck(this,CharacteristicSheet);for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}_this=_super.call.apply(_super,[this].concat(args));_defineProperty(_assertThisInitialized(_this),"firstSelectableItemRef",/*#__PURE__*/React.createRef());_defineProperty(_assertThisInitialized(_this),"onDidOpen",function(){if(_this.firstSelectableItemRef.current){_this.firstSelectableItemRef.current.focus();}_this.props.setViewAriaHidden(true);});_defineProperty(_assertThisInitialized(_this),"onClose",function(e){_this.props.onClose(e);_this.props.setViewAriaHidden(false);});_defineProperty(_assertThisInitialized(_this),"handleItemClick",function(event,itemId){event.stopPropagation();_this.props.onSelect(itemId);});_defineProperty(_assertThisInitialized(_this),"renderAvailability",function(value){var selection=_extends({},_this.props.selection,_defineProperty({},_this.props.charId,value));return/*#__PURE__*/React.createElement(VariantAvailability,{characteristics:selection,productId:_this.props.productId});});return _this;}_createClass(CharacteristicSheet,[{key:"render",value:/**
3
+ */var CharacteristicSheet=/*#__PURE__*/function(_PureComponent){function CharacteristicSheet(){var _this2;_classCallCheck(this,CharacteristicSheet);for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}_this2=_callSuper(this,CharacteristicSheet,[].concat(args));_defineProperty(_this2,"firstSelectableItemRef",React.createRef());/**
4
+ * Focuses the first selectable item and hides the view for screen readers.
5
+ */_defineProperty(_this2,"onDidOpen",function(){if(_this2.firstSelectableItemRef.current){_this2.firstSelectableItemRef.current.focus();}_this2.props.setViewAriaHidden(true);});/**
6
+ * Shows the view for screen readers.
7
+ * @param {Object} e The event payload.
8
+ */_defineProperty(_this2,"onClose",function(e){_this2.props.onClose(e);_this2.props.setViewAriaHidden(false);});/**
9
+ * @param {Object} event The event object.
10
+ * @param {string} itemId The id that was selected
11
+ */_defineProperty(_this2,"handleItemClick",function(event,itemId){event.stopPropagation();_this2.props.onSelect(itemId);});/**
12
+ * Renders the availability text inside the sheet item.
13
+ * @param {string} value The value that the sheet item represents.
14
+ * @return {React.Component|null}
15
+ */_defineProperty(_this2,"renderAvailability",function(value){var _this2$props=_this2.props,fulfillmentMethods=_this2$props.fulfillmentMethods,isFetching=_this2$props.isFetching;if(fulfillmentMethods||isFetching){return null;}var selection=_extends({},_this2.props.selection,_defineProperty({},_this2.props.charId,value));return React.createElement(VariantAvailability,{characteristics:selection,productId:_this2.props.productId});});return _this2;}_inherits(CharacteristicSheet,_PureComponent);return _createClass(CharacteristicSheet,[{key:"render",value:/**
4
16
  * @return {JSX}
5
- */function render(){var _this2=this;var _this$props=this.props,items=_this$props.items,label=_this$props.label,open=_this$props.open,selectedValue=_this$props.selectedValue;var selectedIndex;if(selectedValue){selectedIndex=items.findIndex(function(item){return item.id===selectedValue;});}else{selectedIndex=items.findIndex(function(item){return item.selectable;});}return/*#__PURE__*/React.createElement(SheetDrawer,{title:label,isOpen:open,onClose:this.onClose,onDidOpen:this.onDidOpen},/*#__PURE__*/React.createElement(SheetList,{className:"theme__product__characteristic__sheet"},items.map(function(item,index){return/*#__PURE__*/React.createElement(Item,{item:item,key:item.id,onClick:_this2.handleItemClick,rightComponent:function rightComponent(){return _this2.renderAvailability(item.id);},selected:item.id===selectedValue,ref:index===selectedIndex?_this2.firstSelectableItemRef:null,characteristics:_extends({},_this2.props.selection,_defineProperty({},_this2.props.charId,item.id))});})));}}]);return CharacteristicSheet;}(PureComponent);/**
17
+ */function render(){var _this3=this;var _this$props=this.props,items=_this$props.items,label=_this$props.label,open=_this$props.open,selectedValue=_this$props.selectedValue,contextRef=_this$props.contextRef,onDidClose=_this$props.onDidClose;var selectedIndex;if(selectedValue){selectedIndex=items.findIndex(function(item){return item.id===selectedValue;});}else{selectedIndex=items.findIndex(function(item){return item.selectable;});}return React.createElement(Fragment,null,React.createElement(ResponsiveContainer,{appAlways:true,breakpoint:"xs"},React.createElement(SheetDrawer,{title:label,isOpen:open,onClose:this.onClose,onDidOpen:this.onDidOpen,onDidClose:onDidClose},React.createElement(SheetList,{className:"theme__product__characteristic__sheet"},items.map(function(item,index){return React.createElement(Item,{item:item,key:item.id,onClick:_this3.handleItemClick,rightComponent:function rightComponent(){return _this3.renderAvailability(item.id);},selected:item.id===selectedValue,ref:index===selectedIndex?_this3.firstSelectableItemRef:null,characteristics:_extends({},_this3.props.selection,_defineProperty({},_this3.props.charId,item.id))});})))),React.createElement(ResponsiveContainer,{webOnly:true,breakpoint:">xs"},React.createElement(ThemeContext.Consumer,null,function(_ref){var contextProps=_extends({},(_objectDestructuringEmpty(_ref),_ref));return React.createElement(Menu,{isOpen:open,onClose:_this3.onClose,contextRef:contextRef},React.createElement(ThemeContext.Provider,{value:contextProps},items.map(function(item,index){return React.createElement(Item,{key:item.id,item:item,onClick:_this3.handleItemClick,rightComponent:function rightComponent(){return _this3.renderAvailability(item.id);},selected:item.id===selectedValue,ref:index===selectedIndex?_this3.firstSelectableItemRef:null,characteristics:_extends({},_this3.props.selection,_defineProperty({},_this3.props.charId,item.id))});})));})));}}]);}(PureComponent);/**
6
18
  * @param {Object} props The original component props.
7
19
  * @returns {JSX}
8
- */_defineProperty(CharacteristicSheet,"defaultProps",{onClose:function onClose(){},onSelect:function onSelect(){},productId:null,selectedValue:null,selection:null});var SheetComponent=function SheetComponent(props){return/*#__PURE__*/React.createElement(ViewContext.Consumer,null,function(_ref){var setAriaHidden=_ref.setAriaHidden;return/*#__PURE__*/React.createElement(ProductContext.Consumer,null,function(_ref2){var productId=_ref2.productId;return/*#__PURE__*/React.createElement(VariantContext.Consumer,null,function(_ref3){var characteristics=_ref3.characteristics;return/*#__PURE__*/React.createElement(CharacteristicSheet,_extends({productId:productId,selection:characteristics,setViewAriaHidden:setAriaHidden},props));});});});};export default SheetComponent;
20
+ */_defineProperty(CharacteristicSheet,"defaultProps",{fulfillmentMethods:null,onClose:function onClose(){},onSelect:function onSelect(){},onDidClose:function onDidClose(){},productId:null,selectedValue:null,contextRef:null,selection:null,isFetching:false});var SheetComponent=function SheetComponent(props){return React.createElement(ViewContext.Consumer,null,function(_ref2){var setAriaHidden=_ref2.setAriaHidden;return React.createElement(ProductContext.Consumer,null,function(_ref3){var productId=_ref3.productId,fulfillmentMethods=_ref3.fulfillmentMethods,isFetching=_ref3.isFetching;return React.createElement(VariantContext.Consumer,null,function(_ref4){var characteristics=_ref4.characteristics;return React.createElement(CharacteristicSheet,_extends({productId:productId,selection:characteristics,setViewAriaHidden:setAriaHidden,fulfillmentMethods:fulfillmentMethods,isFetching:isFetching},props));});});});};export default SheetComponent;
@@ -1,5 +1,10 @@
1
- function _typeof(obj){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj;}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj;},_typeof(obj);}function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};return _extends.apply(this,arguments);}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);Object.defineProperty(Constructor,"prototype",{writable:false});return Constructor;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function");}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});Object.defineProperty(subClass,"prototype",{writable:false});if(superClass)_setPrototypeOf(subClass,superClass);}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o;};return _setPrototypeOf(o,p);}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget);}else{result=Super.apply(this,arguments);}return _possibleConstructorReturn(this,result);};}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call;}else if(call!==void 0){throw new TypeError("Derived constructors may only return object or undefined");}return _assertThisInitialized(self);}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return self;}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true;}catch(e){return false;}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o);};return _getPrototypeOf(o);}function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}import React,{PureComponent}from'react';import PropTypes from'prop-types';import classNames from'classnames';import{withForwardedRef}from'@shopgate/engage/core';import{CharacteristicsButton}from'@shopgate/engage/back-in-stock/components';import styles from"./style";/**
1
+ function _typeof(obj){if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj;};}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj;};}return _typeof(obj);}function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};return _extends.apply(this,arguments);}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor;}function _callSuper(_this,derived,args){function isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{return!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));}catch(e){return false;}}derived=_getPrototypeOf(derived);return _possibleConstructorReturn(_this,isNativeReflectConstruct()?Reflect.construct(derived,args||[],_getPrototypeOf(_this).constructor):derived.apply(_this,args));}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call;}return _assertThisInitialized(self);}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return self;}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o);};return _getPrototypeOf(o);}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function");}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass);}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o;};return _setPrototypeOf(o,p);}function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}import React,{PureComponent}from'react';import PropTypes from'prop-types';import classNames from'classnames';import{withForwardedRef}from'@shopgate/engage/core/hocs';import{CharacteristicsButton}from'@shopgate/engage/back-in-stock/components';import styles from"./style";/**
2
2
  * The SheetItem component.
3
- */var SheetItem=/*#__PURE__*/function(_PureComponent){_inherits(SheetItem,_PureComponent);var _super=_createSuper(SheetItem);function SheetItem(){var _this;_classCallCheck(this,SheetItem);for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}_this=_super.call.apply(_super,[this].concat(args));_defineProperty(_assertThisInitialized(_this),"getStyle",function(selectable){if(!selectable){return styles.buttonDisabled;}return styles.button;});_defineProperty(_assertThisInitialized(_this),"buildProps",function(){var _this$props=_this.props,item=_this$props.item,_onClick=_this$props.onClick,forwardedRef=_this$props.forwardedRef;return _extends({className:"".concat(_this.getStyle(item.selectable).toString()," theme__product__characteristic__option"),key:item.id,ref:forwardedRef,value:item.id,'aria-hidden':!item.selectable},item.selectable&&{onClick:function onClick(event){return _onClick(event,item.id);}});});return _this;}_createClass(SheetItem,[{key:"render",value:/**
3
+ */var SheetItem=/*#__PURE__*/function(_PureComponent){function SheetItem(){var _this2;_classCallCheck(this,SheetItem);for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}_this2=_callSuper(this,SheetItem,[].concat(args));/**
4
+ * @param {boolean} selectable Whether or not the item can be selected.
5
+ * @returns {string}
6
+ */_defineProperty(_this2,"getStyle",function(selectable){if(!selectable){return styles.buttonDisabled;}return styles.button;});/**
7
+ * @returns {Object}
8
+ */_defineProperty(_this2,"buildProps",function(){var _this2$props=_this2.props,item=_this2$props.item,_onClick=_this2$props.onClick,forwardedRef=_this2$props.forwardedRef;return _extends({className:"".concat(_this2.getStyle(item.selectable).toString()," theme__product__characteristic__option"),key:item.id,ref:forwardedRef,value:item.id,'aria-hidden':!item.selectable},item.selectable&&{onClick:function onClick(event){return _onClick(event,item.id);}});});return _this2;}_inherits(SheetItem,_PureComponent);return _createClass(SheetItem,[{key:"render",value:/**
4
9
  * @returns {JSX}
5
- */function render(){var _this$props2=this.props,item=_this$props2.item,Right=_this$props2.rightComponent,selected=_this$props2.selected,characteristics=_this$props2.characteristics;var buildProps=this.buildProps();return/*#__PURE__*/React.createElement("div",{className:classNames(styles.root,_defineProperty({},styles.rootSelected,selected))},/*#__PURE__*/React.createElement("button",_extends({},buildProps,{"data-test-id":item.label,"aria-selected":selected,role:"option",type:"button"}),/*#__PURE__*/React.createElement("div",{className:styles.mainRow},/*#__PURE__*/React.createElement("div",null,item.label),/*#__PURE__*/React.createElement("div",{className:styles.mainRowRight},item.selectable&&/*#__PURE__*/React.createElement(Right,null)))),/*#__PURE__*/React.createElement("div",{className:styles.bottomRow},item.selectable&&/*#__PURE__*/React.createElement(CharacteristicsButton,{characteristics:characteristics})));}}]);return SheetItem;}(PureComponent);_defineProperty(SheetItem,"defaultProps",{forwardedRef:null,onClick:function onClick(){},rightComponent:null,selected:false});export default withForwardedRef(SheetItem);
10
+ */function render(){var _this$props=this.props,item=_this$props.item,Right=_this$props.rightComponent,selected=_this$props.selected,characteristics=_this$props.characteristics;return React.createElement("div",{className:classNames(styles.root,_defineProperty({},styles.rootSelected,selected))},React.createElement("button",_extends({},this.buildProps(),{"data-test-id":item.label,"aria-selected":selected,role:"option",type:"button"}),React.createElement("div",{className:styles.mainRow},React.createElement("div",null,item.label),React.createElement("div",{className:styles.mainRowRight},item.selectable&&React.createElement(Right,null)))),React.createElement("div",{className:styles.bottomRow},item.selectable&&React.createElement(CharacteristicsButton,{characteristics:characteristics})));}}]);}(PureComponent);_defineProperty(SheetItem,"defaultProps",{forwardedRef:null,onClick:function onClick(){},rightComponent:null,selected:false});export default withForwardedRef(SheetItem);
@@ -1 +1 @@
1
- import{css}from'glamor';import{themeConfig}from'@shopgate/pwa-common/helpers/config';var colors=themeConfig.colors,variables=themeConfig.variables;var button=css({outline:0,textAlign:'left',paddingLeft:0,paddingRight:0,width:'100%',display:'flex',justifyContent:'space-between',flexWrap:'wrap'});var buttonDisabled=css(button,{color:colors.shade4});var bgColor=colors.darkGray;var boxShadowOffset=variables.gap.bigger;var root=css({padding:'16px 0'});var rootSelected=css(root,{background:bgColor,boxShadow:"-".concat(boxShadowOffset,"px 0 0 ").concat(bgColor,", ").concat(boxShadowOffset,"px 0 0 ").concat(bgColor),paddingTop:17,paddingBottom:17,margin:'-1px 0'}).toString();var mainRow=css({display:'flex',flexWrap:'wrap',gap:'4px 8px',justifyContent:'space-between',width:'100%'}).toString();var mainRowRight=css({marginLeft:'auto'}).toString();var bottomRow=css({'&:not(:empty)':{marginTop:8,textAlign:'right'}}).toString();export default{root:root,rootSelected:rootSelected,button:button,buttonDisabled:buttonDisabled,mainRow:mainRow,mainRowRight:mainRowRight,bottomRow:bottomRow};
1
+ function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}import{css}from'glamor';import{themeConfig}from'@shopgate/pwa-common/helpers/config';import{responsiveMediaQuery}from'@shopgate/engage/styles';var colors=themeConfig.colors;var button=css({outline:0,textAlign:'left',paddingLeft:0,paddingRight:0,width:'100%',display:'flex',justifyContent:'space-between',flexWrap:'wrap',color:'var(--color-text-high-emphasis)'});var buttonDisabled=css(button,{color:colors.shade4});var root=css(_defineProperty({padding:'16px 0'},responsiveMediaQuery('>xs',{webOnly:true}),{padding:'8px 16px'}));var rootSelected=css(button,_defineProperty({background:"var(--color-background-accent, ".concat(colors.darkGray,")"),boxShadow:"-16px 0 0 var(--color-background-accent, ".concat(colors.darkGray,"), 16px 0 0 var(--color-background-accent, ").concat(colors.darkGray,")"),margin:'-1px 0',paddingTop:17,paddingBottom:17,fontWeight:500},responsiveMediaQuery('>xs',{webOnly:true}),{margin:0,paddingTop:8,paddingBottom:8,padding:'8px 16px',boxShadow:'none'}));var mainRow=css({display:'flex',flexWrap:'wrap',gap:'4px 8px',justifyContent:'space-between',width:'100%'}).toString();var mainRowRight=css({marginLeft:'auto'}).toString();var bottomRow=css({'&:not(:empty)':{textAlign:'right'}}).toString();export default{root:root,rootSelected:rootSelected,button:button,buttonDisabled:buttonDisabled,mainRow:mainRow,mainRowRight:mainRowRight,bottomRow:bottomRow};
@@ -1,10 +1,19 @@
1
- function _typeof(obj){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj;}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj;},_typeof(obj);}function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};return _extends.apply(this,arguments);}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);Object.defineProperty(Constructor,"prototype",{writable:false});return Constructor;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function");}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});Object.defineProperty(subClass,"prototype",{writable:false});if(superClass)_setPrototypeOf(subClass,superClass);}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o;};return _setPrototypeOf(o,p);}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget);}else{result=Super.apply(this,arguments);}return _possibleConstructorReturn(this,result);};}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call;}else if(call!==void 0){throw new TypeError("Derived constructors may only return object or undefined");}return _assertThisInitialized(self);}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return self;}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true;}catch(e){return false;}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o);};return _getPrototypeOf(o);}function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}import React,{PureComponent,Fragment}from'react';import PropTypes from'prop-types';import classNames from'classnames';import Transition from'react-transition-group/Transition';import Sheet from"./components/Sheet";import styles from"./style";import transition from"../transition";/**
1
+ function _typeof(obj){if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj;};}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj;};}return _typeof(obj);}function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};return _extends.apply(this,arguments);}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor;}function _callSuper(_this,derived,args){function isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{return!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));}catch(e){return false;}}derived=_getPrototypeOf(derived);return _possibleConstructorReturn(_this,isNativeReflectConstruct()?Reflect.construct(derived,args||[],_getPrototypeOf(_this).constructor):derived.apply(_this,args));}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call;}return _assertThisInitialized(self);}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return self;}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o);};return _getPrototypeOf(o);}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function");}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass);}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o;};return _setPrototypeOf(o,p);}function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}import React,{PureComponent,Fragment}from'react';import PropTypes from'prop-types';import classNames from'classnames';import Transition from'react-transition-group/Transition';import{ResponsiveContainer,ArrowDropIcon}from'@shopgate/engage/components';import Sheet from"./components/Sheet";import styles from"./style";import transition from"../transition";/**
2
2
  * A single characteristic.
3
- */var Characteristic=/*#__PURE__*/function(_PureComponent){_inherits(Characteristic,_PureComponent);var _super=_createSuper(Characteristic);function Characteristic(){var _this;_classCallCheck(this,Characteristic);for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}_this=_super.call.apply(_super,[this].concat(args));_defineProperty(_assertThisInitialized(_this),"state",{highlight:false,sheet:false});_defineProperty(_assertThisInitialized(_this),"getButtonLabel",function(defaultLabel){if(!_this.props.selected){return defaultLabel;}var value=_this.props.values.find(function(val){return val.id===_this.props.selected;});return value.label;});_defineProperty(_assertThisInitialized(_this),"handleButtonClick",function(event){event.preventDefault();if(_this.props.disabled){return;}_this.setState({sheet:true});});_defineProperty(_assertThisInitialized(_this),"handleItemSelection",function(valueId){_this.props.select({id:_this.props.id,value:valueId});_this.closeSheet();});_defineProperty(_assertThisInitialized(_this),"closeSheet",function(){_this.setState({sheet:false});if(_this.props.charRef&&_this.props.charRef.current){_this.props.charRef.current.focus();}});_defineProperty(_assertThisInitialized(_this),"removeHighlight",function(){_this.setState({highlight:false});});_defineProperty(_assertThisInitialized(_this),"transitionRenderer",function(state){var _this$context$i18n=_this.context.i18n(),__=_this$context$i18n.__;var _this$props=_this.props,disabled=_this$props.disabled,selected=_this$props.selected,charRef=_this$props.charRef,label=_this$props.label;var translatedLabel=__('product.pick_an_attribute',[label]);var buttonLabel=_this.getButtonLabel(translatedLabel);var classes=classNames(styles.button,_defineProperty({},styles.buttonDisabled,disabled),'theme__product__characteristic');return/*#__PURE__*/React.createElement("div",{role:"button","aria-disabled":disabled,"aria-haspopup":!disabled,tabIndex:0,className:classes,onClick:_this.handleButtonClick,onKeyDown:function onKeyDown(){},ref:charRef,style:transition[state],"data-test-id":label},selected&&/*#__PURE__*/React.createElement("div",{className:"".concat(styles.label," theme__product__characteristic__label")},label),/*#__PURE__*/React.createElement("div",_extends({className:"".concat(styles.selection," theme__product__characteristic__selection")},selected&&{'data-selected':true}),buttonLabel));});return _this;}_createClass(Characteristic,[{key:"UNSAFE_componentWillReceiveProps",value:/**
4
- * @param {Object} nextProps The next component props.
5
- */function UNSAFE_componentWillReceiveProps(nextProps){this.setState({highlight:nextProps.highlight});}/**
3
+ */var Characteristic=/*#__PURE__*/function(_PureComponent){function Characteristic(){var _this2;_classCallCheck(this,Characteristic);for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}_this2=_callSuper(this,Characteristic,[].concat(args));_defineProperty(_this2,"state",{highlight:false,sheet:false});/**
6
4
  * @param {string} defaultLabel The default button label.
7
5
  * @return {string}
8
- */},{key:"render",value:/**
6
+ */_defineProperty(_this2,"getButtonLabel",function(defaultLabel){if(!_this2.props.selected){return defaultLabel;}var value=_this2.props.values.find(function(val){return val.id===_this2.props.selected;});return value.label;});/**
7
+ * @param {Object} event The event object.
8
+ */_defineProperty(_this2,"handleButtonClick",function(event){event.preventDefault();if(_this2.props.disabled){return;}_this2.setState({sheet:true});});/**
9
+ * @param {string} valueId The ID of the selected value.
10
+ */_defineProperty(_this2,"handleItemSelection",function(valueId){_this2.props.select({id:_this2.props.id,value:valueId});_this2.closeSheet();});_defineProperty(_this2,"closeSheet",function(){_this2.setState({sheet:false});});_defineProperty(_this2,"sheetDidClose",function(){if(_this2.props.charRef&&_this2.props.charRef.current){// Focus the element that triggered the CharacteristicsSheet after it closes
11
+ _this2.props.charRef.current.focus();}});_defineProperty(_this2,"removeHighlight",function(){_this2.setState({highlight:false});});/**
12
+ * Renders the transition contents.
13
+ * @param {string} state The current transition state.
14
+ * @returns {JSX}
15
+ */_defineProperty(_this2,"transitionRenderer",function(state){var _this2$context$i18n=_this2.context.i18n(),__=_this2$context$i18n.__;var _this2$props=_this2.props,disabled=_this2$props.disabled,selected=_this2$props.selected,charRef=_this2$props.charRef,label=_this2$props.label;var translatedLabel=__('product.pick_an_attribute',[label]);var buttonLabel=_this2.getButtonLabel(translatedLabel);var classes=classNames(styles.button,_defineProperty({},styles.buttonDisabled,disabled),'theme__product__characteristic');return React.createElement("div",{role:"button","aria-disabled":disabled,"aria-haspopup":!disabled,tabIndex:0,className:classes,onClick:_this2.handleButtonClick,onKeyDown:function onKeyDown(){},ref:charRef,style:transition[state],"data-test-id":label},selected&&React.createElement("div",{className:"".concat(styles.label," theme__product__characteristic__label")},label),React.createElement("div",_extends({className:"".concat(styles.selection," theme__product__characteristic__selection")},selected&&{'data-selected':true}),buttonLabel),React.createElement(ResponsiveContainer,{breakpoint:">xs",webOnly:true},React.createElement("div",{className:styles.arrow},React.createElement(ArrowDropIcon,null))));});return _this2;}_inherits(Characteristic,_PureComponent);return _createClass(Characteristic,[{key:"UNSAFE_componentWillReceiveProps",value:/**
16
+ * @param {Object} nextProps The next component props.
17
+ */function UNSAFE_componentWillReceiveProps(nextProps){this.setState({highlight:nextProps.highlight});}},{key:"render",value:/**
9
18
  * @return {JSX}
10
- */function render(){var _this$context$i18n2=this.context.i18n(),__=_this$context$i18n2.__;var _this$props2=this.props,id=_this$props2.id,selected=_this$props2.selected,values=_this$props2.values;var displayLabel=this.props.label;var translatedLabel=__('product.pick_an_attribute',[displayLabel]);return/*#__PURE__*/React.createElement(Fragment,null,/*#__PURE__*/React.createElement(Transition,{"in":this.state.highlight,timeout:500,onEntered:this.removeHighlight},this.transitionRenderer),/*#__PURE__*/React.createElement(Sheet,{charId:id,items:values,label:translatedLabel,onClose:this.closeSheet,onSelect:this.handleItemSelection,open:this.state.sheet,selectedValue:selected}));}}]);return Characteristic;}(PureComponent);_defineProperty(Characteristic,"contextTypes",{i18n:PropTypes.func});_defineProperty(Characteristic,"defaultProps",{selected:null});export default Characteristic;
19
+ */function render(){var _this$context$i18n=this.context.i18n(),__=_this$context$i18n.__;var _this$props=this.props,id=_this$props.id,selected=_this$props.selected,values=_this$props.values,charRef=_this$props.charRef;var displayLabel=this.props.label;var translatedLabel=__('product.pick_an_attribute',[displayLabel]);return React.createElement(Fragment,null,React.createElement(Transition,{"in":this.state.highlight,timeout:500,onEntered:this.removeHighlight},this.transitionRenderer),React.createElement(Sheet,{charId:id,contextRef:charRef,items:values,label:translatedLabel,onClose:this.closeSheet,onDidClose:this.sheetDidClose,onSelect:this.handleItemSelection,open:this.state.sheet,selectedValue:selected}));}}]);}(PureComponent);_defineProperty(Characteristic,"contextTypes",{i18n:PropTypes.func});_defineProperty(Characteristic,"defaultProps",{selected:null});export default Characteristic;
@@ -1 +1 @@
1
- import{css}from'glamor';import{themeColors}from'@shopgate/pwa-common/helpers/config';var button=css({background:themeColors.overlay,display:'flex',flexDirection:'column',justifyContent:'center',minHeight:56,outline:0,padding:'12px 16px',marginBottom:8,transition:'background 250ms ease-in, color 250ms ease-in'}).toString();var buttonDisabled=css({color:themeColors.shade4}).toString();var label=css({fontSize:12,marginTop:-2,marginBottom:4}).toString();var selection=css({fontWeight:500,lineHeight:1.125}).toString();export default{button:button,buttonDisabled:buttonDisabled,label:label,selection:selection};
1
+ import{css}from'glamor';import{themeColors}from'@shopgate/pwa-common/helpers/config';var button=css({background:"var(--color-background-accent, ".concat(themeColors.overlay,")"),color:'var(--color-text-high-emphasis)',position:'relative',cursor:'pointer',display:'flex',flexDirection:'column',justifyContent:'center',minHeight:56,outline:0,padding:'12px 16px',marginBottom:8,transition:'background 250ms ease-in, color 250ms ease-in'}).toString();var buttonDisabled=css({color:"".concat(themeColors.shade4," !important")}).toString();var label=css({fontSize:12,marginTop:-2,marginBottom:4}).toString();var selection=css({fontWeight:500,lineHeight:1.125}).toString();var arrow=css({position:'absolute',right:32,fontSize:20}).toString();export default{arrow:arrow,button:button,buttonDisabled:buttonDisabled,label:label,selection:selection};