@shopgate/engage 7.31.4-beta.1 → 7.32.0-beta.1

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 (435) hide show
  1. package/account/components/Account/Account.d.ts.map +1 -1
  2. package/account/components/Account/Account.js +4 -3
  3. package/account/components/Profile/Profile.provider.d.ts +1 -1
  4. package/account/components/Profile/Profile.provider.js +1 -1
  5. package/account/components/Profile/ProfileAddressBook.d.ts.map +1 -1
  6. package/account/components/Profile/ProfileAddressBook.js +9 -11
  7. package/account/components/Profile/ProfileAddressCard.d.ts.map +1 -1
  8. package/account/components/Profile/ProfileAddressCard.js +36 -33
  9. package/account/components/Profile/ProfileForm.js +4 -4
  10. package/account/components/Profile/ProfileHeader.d.ts.map +1 -1
  11. package/account/components/Profile/ProfileHeader.js +8 -9
  12. package/account/components/ProfileContact/ProfileContact.js +4 -3
  13. package/admin-preview/components/FrontendSettingsPreviewBridge/FrontendSettingsPreviewBridge.d.ts +7 -0
  14. package/admin-preview/components/FrontendSettingsPreviewBridge/FrontendSettingsPreviewBridge.d.ts.map +1 -0
  15. package/admin-preview/components/FrontendSettingsPreviewBridge/FrontendSettingsPreviewBridge.js +42 -0
  16. package/admin-preview/components/FrontendSettingsPreviewBridge/helpers.d.ts +20 -0
  17. package/admin-preview/components/FrontendSettingsPreviewBridge/helpers.d.ts.map +1 -0
  18. package/admin-preview/components/FrontendSettingsPreviewBridge/helpers.js +49 -0
  19. package/admin-preview/components/FrontendSettingsPreviewBridge/index.d.ts +2 -0
  20. package/admin-preview/components/FrontendSettingsPreviewBridge/index.d.ts.map +1 -0
  21. package/admin-preview/components/FrontendSettingsPreviewBridge/index.js +1 -0
  22. package/admin-preview/components/FrontendSettingsPreviewBridge/types.d.ts +14 -0
  23. package/admin-preview/components/FrontendSettingsPreviewBridge/types.d.ts.map +1 -0
  24. package/admin-preview/components/FrontendSettingsPreviewBridge/types.js +1 -0
  25. package/admin-preview/components/index.d.ts +2 -0
  26. package/admin-preview/components/index.d.ts.map +1 -0
  27. package/admin-preview/components/index.js +1 -0
  28. package/admin-preview/constants/index.d.ts +18 -0
  29. package/admin-preview/constants/index.d.ts.map +1 -0
  30. package/admin-preview/constants/index.js +22 -0
  31. package/admin-preview/helpers/index.d.ts +16 -0
  32. package/admin-preview/helpers/index.d.ts.map +1 -0
  33. package/admin-preview/helpers/index.js +19 -0
  34. package/admin-preview/hooks/index.d.ts +36 -0
  35. package/admin-preview/hooks/index.d.ts.map +1 -0
  36. package/admin-preview/hooks/index.js +74 -0
  37. package/back-in-stock/components/BackInStockButton/index.js +16 -19
  38. package/back-in-stock/components/Subscriptions/components/Subscription/index.js +20 -21
  39. package/cart/components/CartHeaderWide/CartHeaderWide.js +4 -3
  40. package/cart/components/CartItem/CartItemCoupon.js +2 -6
  41. package/cart/components/CartItem/CartItemCouponDelete.js +3 -3
  42. package/cart/components/CartItem/CartItemCouponLayout.js +1 -1
  43. package/cart/components/CartItem/CartItemCouponPrice.js +16 -19
  44. package/cart/components/CartItem/CartItemCouponTitle.js +4 -4
  45. package/cart/components/CartItem/CartItemProduct.js +2 -6
  46. package/cart/components/CartItem/CartItemProductLayout.js +4 -8
  47. package/cart/components/CartItem/CartItemProductLayoutWide.js +19 -14
  48. package/cart/components/CartItem/CartItemProductLayoutWideFulfillmentLabel.js +5 -3
  49. package/cart/components/CartItem/CartItemProductLayoutWideOrderDetails.js +18 -12
  50. package/cart/components/CartItem/CartItemProductLayoutWideRemoveItem.js +1 -1
  51. package/cart/components/CartItem/CartItemProductOrderDetails.js +2 -2
  52. package/cart/components/CartItem/CartItemProductPriceCaption.js +5 -4
  53. package/cart/components/CartItem/CartItemProductPriceList.js +18 -12
  54. package/cart/components/CartItem/CartItemProductPriceListPromotion.js +7 -7
  55. package/cart/components/CartItem/CartItemProductTitle.js +2 -3
  56. package/cart/components/CartItem/CartItemQuantityPicker.js +2 -7
  57. package/cart/components/CartItem/CartItemSubstitution.js +1 -2
  58. package/cart/components/CartItems/CartItemCard.js +3 -4
  59. package/cart/components/CartItems/CartItemCardReservationAccordion.js +9 -10
  60. package/cart/components/CartItems/CartItemCardReservationLabel.js +11 -11
  61. package/cart/components/CartItems/CartItemCardReservationLabelChangeStore.js +3 -3
  62. package/cart/components/CartItems/CartItemGroupReservation.js +4 -3
  63. package/cart/components/CartItems/CartItemGroupReservationLabel.js +12 -10
  64. package/cart/components/CartItems/CartItemGroupShipping.js +7 -5
  65. package/cart/components/CartItems/CartItems.js +2 -4
  66. package/cart/components/CartItems/CartItemsHeaderWide.js +43 -18
  67. package/cart/components/CartSummaryWide/CartSummaryWide.js +9 -16
  68. package/cart/components/CartSummaryWide/CartSummaryWideCheckoutButton.js +4 -8
  69. package/cart/components/PaymentBar/PaymentBarCheckoutButton.js +6 -10
  70. package/cart/components/PaymentBar/PaymentBarContent.js +3 -9
  71. package/cart/components/PaymentBar/PaymentBarPromotionCouponMessages.js +6 -2
  72. package/cart/components/PaymentBar/PaymentBarPromotionCoupons.js +5 -5
  73. package/cart/components/PaymentBar/PaymentBarPromotionalText.js +9 -10
  74. package/cart/components/PaymentBar/PaymentBarReserveButton.js +6 -10
  75. package/cart/components/PaymentBar/testUtils/mockFactories.js +64 -0
  76. package/cart/components/Substitution/connector.js +1 -1
  77. package/cart/components/SupplementalContent/SupplementalContent.connector.js +2 -1
  78. package/cart/components/SupplementalContent/SupplementalContent.js +6 -7
  79. package/category/components/CategoryImage/connector.js +1 -1
  80. package/category/components/CategoryList/index.js +4 -8
  81. package/checkout/components/AddressBook/AddressList.js +9 -10
  82. package/checkout/components/AddressBookContact/AddressBookContact.js +6 -6
  83. package/checkout/components/Checkout/CheckoutAddress.js +25 -15
  84. package/checkout/components/Checkout/CheckoutHeader.js +9 -11
  85. package/checkout/components/Checkout/CheckoutPickupContactForm.js +2 -2
  86. package/checkout/components/Checkout/CheckoutSection.js +22 -15
  87. package/checkout/components/Checkout/CheckoutSectionInfo.js +14 -17
  88. package/checkout/components/Checkout/CheckoutSectionMessages.js +5 -4
  89. package/checkout/components/CheckoutConfirmation/CheckoutConfirmation.js +15 -14
  90. package/checkout/components/CheckoutConfirmation/CheckoutConfirmationSection.js +44 -62
  91. package/checkout/components/GuestCheckout/GuestCheckoutPickup.js +7 -4
  92. package/checkout/components/PaymentMethodButton/PaymentMethodButton.js +3 -3
  93. package/checkout/components/ResponsiveBackButton/ResponsiveBackButton.js +2 -2
  94. package/checkout/components/ShippingMethods/ShippingMethod.js +6 -5
  95. package/checkout/components/ShippingMethods/ShippingMethods.js +11 -8
  96. package/checkout/components/SupplementalContent/SupplementalContent.connector.js +2 -1
  97. package/checkout/components/SupplementalContent/SupplementalContent.js +6 -7
  98. package/checkout/paymentMethods/index.js +5 -4
  99. package/checkout/paymentMethods/paypal/PaypalPayButton.js +7 -6
  100. package/checkout/paymentMethods/stripe/StripeCreditCard.js +6 -9
  101. package/components/ChipLayout/index.js +4 -4
  102. package/components/Form/Builder/ElementPhoneNumber.d.ts.map +1 -1
  103. package/components/Form/Builder/ElementPhoneNumber.js +2 -6
  104. package/components/Form/Builder/stylePresets.d.ts.map +1 -1
  105. package/components/Form/Builder/stylePresets.js +12 -17
  106. package/components/Logo/connector.js +3 -1
  107. package/components/Menu/components/Item/index.d.ts.map +1 -1
  108. package/components/Menu/components/Item/index.js +5 -17
  109. package/components/Menu/index.d.ts.map +1 -1
  110. package/components/Menu/index.js +2 -3
  111. package/components/MessageBar/MessageBar.d.ts.map +1 -1
  112. package/components/MessageBar/MessageBar.js +35 -42
  113. package/components/NavigationHandler/index.d.ts +2 -2
  114. package/components/Picker/components/Button/index.js +3 -3
  115. package/components/Picker/components/List/index.js +3 -3
  116. package/components/Picker/components/Modal/index.d.ts.map +1 -1
  117. package/components/Picker/components/Modal/index.js +2 -3
  118. package/components/Picker/spec.js +48 -41
  119. package/components/PickerUtilize/components/Button/index.d.ts.map +1 -1
  120. package/components/PickerUtilize/components/Button/index.js +6 -10
  121. package/components/PickerUtilize/spec.js +6 -3
  122. package/components/Radio/Radio.js +6 -5
  123. package/components/ResponsiveContainer/breakpoints.js +2 -2
  124. package/components/ScrollHeader/index.js +3 -3
  125. package/components/SheetList/components/Item/index.js +11 -16
  126. package/components/SheetList/index.d.ts.map +1 -1
  127. package/components/SheetList/index.js +3 -7
  128. package/components/SideNavigation/SideNavigationCategories.js +2 -7
  129. package/components/SideNavigation/SideNavigationCategoriesItem.js +2 -2
  130. package/components/SideNavigation/SideNavigationContent.js +3 -3
  131. package/components/SideNavigation/SideNavigationItem.d.ts.map +1 -1
  132. package/components/SideNavigation/SideNavigationItem.js +3 -4
  133. package/components/SideNavigation/SideNavigationNestedItem.js +2 -2
  134. package/components/Switch/index.d.ts.map +1 -1
  135. package/components/Switch/index.js +6 -7
  136. package/components/Tabs/components/TabIndicator.js +3 -3
  137. package/components/TextLink/TextLink.d.ts.map +1 -1
  138. package/components/TextLink/TextLink.js +8 -26
  139. package/components/Toggle/index.js +5 -5
  140. package/components/Typography/Typography.d.ts +87 -124
  141. package/components/Typography/Typography.d.ts.map +1 -0
  142. package/components/Typography/Typography.js +72 -57
  143. package/components/Typography/index.d.ts +2 -1
  144. package/components/Typography/index.d.ts.map +1 -0
  145. package/components/View/components/Content/index.js +2 -2
  146. package/components/View/index.d.ts.map +1 -1
  147. package/components/View/index.js +1 -5
  148. package/components/v2/Button/Button.d.ts +1 -1
  149. package/core/action-creators/merchantSettings.d.ts +1 -1
  150. package/core/action-creators/merchantSettings.d.ts.map +1 -1
  151. package/core/action-creators/merchantSettings.js +3 -11
  152. package/core/action-creators/shopSettings.d.ts +1 -2
  153. package/core/action-creators/shopSettings.d.ts.map +1 -1
  154. package/core/action-creators/shopSettings.js +3 -21
  155. package/core/constants/merchantSettings.d.ts +1 -11
  156. package/core/constants/merchantSettings.d.ts.map +1 -1
  157. package/core/constants/merchantSettings.js +3 -11
  158. package/core/constants/shopSettings.d.ts +1 -27
  159. package/core/constants/shopSettings.d.ts.map +1 -1
  160. package/core/constants/shopSettings.js +3 -27
  161. package/core/helpers/scrollContainer.js +2 -2
  162. package/core/initialization/index.js +2 -1
  163. package/core/selectors/merchantSettings.d.ts +1 -20
  164. package/core/selectors/merchantSettings.d.ts.map +1 -1
  165. package/core/selectors/merchantSettings.js +3 -33
  166. package/core/selectors/shopSettings.d.ts +1 -53
  167. package/core/selectors/shopSettings.d.ts.map +1 -1
  168. package/core/selectors/shopSettings.js +3 -80
  169. package/development/components/ClientInformation/ClientInformation.js +5 -3
  170. package/development/components/DevelopmentSettings/DevelopmentSettings.js +3 -2
  171. package/development/components/SimulatedInsets/SimulatedInsetTop.js +4 -4
  172. package/favorites/components/CommentDialog/CommentDialog.js +17 -15
  173. package/favorites/components/FavoriteButtonWide/FavoriteButtonWide.js +6 -7
  174. package/favorites/components/Item/Item.d.ts.map +1 -1
  175. package/favorites/components/Item/Item.js +14 -15
  176. package/favorites/components/Item/ItemCharacteristics.d.ts.map +1 -1
  177. package/favorites/components/Item/ItemCharacteristics.js +6 -14
  178. package/favorites/components/Item/ItemNotes.js +23 -20
  179. package/favorites/components/Item/ItemQuantity.js +1 -1
  180. package/favorites/components/List/List.d.ts.map +1 -1
  181. package/favorites/components/List/List.js +1 -5
  182. package/favorites/components/ListChooser/ListChooserItem.js +1 -1
  183. package/favorites/components/Lists/Lists.js +2 -2
  184. package/favorites/components/Lists/ListsModal.d.ts.map +1 -1
  185. package/favorites/components/Lists/ListsModal.js +4 -11
  186. package/favorites/components/RemoveButton/RemoveButton.d.ts.map +1 -1
  187. package/favorites/components/RemoveButton/RemoveButton.js +1 -2
  188. package/filter/components/FilterItem/index.js +5 -8
  189. package/filter/components/FilterItem/spec.js +3 -3
  190. package/filter/components/FilterPageContent/components/Selector/components/Selected/spec.js +5 -5
  191. package/filter/components/FilterPageContent/components/Selector/components/Toggle/index.js +3 -3
  192. package/filter/components/FilterPageContent/components/Selector/components/Toggle/spec.js +5 -5
  193. package/filter/components/FilterPageContent/components/Selector/components/ValueButton/index.js +4 -5
  194. package/filter/components/FilterPageContent/components/Selector/spec.js +3 -3
  195. package/filter/components/PriceSlider/components/Label/index.js +9 -13
  196. package/filter/components/PriceSlider/components/Label/spec.js +12 -3
  197. package/filter/components/PriceSlider/index.js +4 -9
  198. package/filter/components/PriceSlider/spec.js +10 -5
  199. package/filter/selectors/index.js +2 -2
  200. package/locations/components/Cart/CartContextMenuChangeFulfillmentContent.js +1 -1
  201. package/locations/components/ChangeLocationButton/ChangeLocationButton.js +1 -1
  202. package/locations/components/FulfillmentPath/FulfillmentPathItem.js +1 -7
  203. package/locations/components/FulfillmentSelector/FulfillmentSelector.connector.js +2 -2
  204. package/locations/components/FulfillmentSelector/FulfillmentSelectorAlternativeLocation.js +12 -10
  205. package/locations/components/FulfillmentSelector/FulfillmentSelectorHeader.js +1 -1
  206. package/locations/components/FulfillmentSelector/FulfillmentSelectorImpossibleError.js +3 -3
  207. package/locations/components/FulfillmentSelector/FulfillmentSelectorItem.js +4 -4
  208. package/locations/components/FulfillmentSelector/FulfillmentSelectorLocation.js +18 -15
  209. package/locations/components/FulfillmentSelector/FulfillmentSelectorLocationMethodNotAvailable.js +3 -3
  210. package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotDialog.js +22 -21
  211. package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotProvider.connector.js +1 -1
  212. package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotSwitcher.connector.js +1 -1
  213. package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotSwitcher.js +4 -4
  214. package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotSwitcherBar.js +13 -13
  215. package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotSwitcherDefault.js +12 -15
  216. package/locations/components/GlobalLocationSelector/GlobalLocationSelector.js +1 -1
  217. package/locations/components/GlobalLocationSwitcher/GlobalLocationSwitcher.connector.js +1 -1
  218. package/locations/components/GlobalLocationSwitcher/GlobalLocationSwitcherBar.js +12 -12
  219. package/locations/components/GlobalLocationSwitcher/GlobalLocationSwitcherDefault.js +12 -12
  220. package/locations/components/ReservationResponses/ReservationError.js +9 -6
  221. package/locations/components/ReservationResponses/ReservationSuccess.js +14 -9
  222. package/locations/components/ReserveForm/ReserveForm.js +6 -5
  223. package/locations/components/ReserveForm/ReserveFormPhone.js +7 -9
  224. package/locations/components/StockInfo/StockInfo.js +4 -2
  225. package/locations/components/StockInfoLists/index.js +5 -7
  226. package/locations/components/StoreDetails/components/FindMoreStores.js +11 -12
  227. package/locations/components/StoreDetails/components/GetDirectionsButton.js +3 -5
  228. package/locations/components/StoreDetails/components/StoreDetails.js +24 -26
  229. package/locations/components/StoreDetails/components/StoreFinderMap.js +4 -4
  230. package/locations/components/StoreDetails/components/StoresNearby.js +5 -3
  231. package/locations/components/StoreDetails/components/StoresNearbyListItem.js +24 -10
  232. package/locations/components/StoreFinder/StoreFinder.js +1 -1
  233. package/locations/components/StoreFinder/StoreFinderGetDirectionsButton.js +5 -5
  234. package/locations/components/StoreFinder/StoreFinderLocationDetails.js +7 -6
  235. package/locations/components/StoreFinder/StoreFinderLocationHeader.js +17 -21
  236. package/locations/components/StoreFinder/StoreFinderLocations.js +2 -6
  237. package/locations/components/StoreFinder/StoreFinderSelectLocationButton.js +3 -3
  238. package/locations/components/StoreFinder/StoreFinderStoreInfoButton.js +3 -3
  239. package/locations/components/StoreList/StoreAddress.js +3 -3
  240. package/locations/components/StoreList/StoreAddressShort.js +10 -12
  241. package/locations/components/StoreList/StoreDetails.js +1 -2
  242. package/locations/components/StoreList/StoreDetailsLine.js +3 -3
  243. package/locations/components/StoreList/StoreDistance.js +6 -17
  244. package/locations/components/StoreList/StoreHeader.js +7 -7
  245. package/locations/components/StoreList/StoreHoursToday.js +3 -3
  246. package/locations/components/StoreList/StoreListLocations.js +20 -18
  247. package/locations/components/StoreList/StoreListProduct.js +2 -3
  248. package/locations/components/StoreList/StoreListProductInfo.js +9 -6
  249. package/locations/components/StoreList/StoreListProductName.js +4 -3
  250. package/locations/components/StoreList/StoreListSearch.js +10 -11
  251. package/locations/components/StoreList/StoreListSearchRadius.js +4 -5
  252. package/locations/components/StoreList/StoreOpeningHours.js +10 -12
  253. package/locations/components/StoreList/StorePhoneNumber.js +10 -12
  254. package/locations/components/StoreList/StoreSelectLocationButton.js +3 -3
  255. package/locations/helpers/showInventoryInLists.js +1 -1
  256. package/locations/providers/FulfillmentProvider.connector.js +1 -1
  257. package/locations/reducers/index.js +1 -1
  258. package/locations/selectors/index.js +2 -1
  259. package/locations/subscriptions.js +2 -2
  260. package/login/components/ForgotPassword/ForgotPassword.js +16 -16
  261. package/orders/components/OrderDetails/OrderDetailsAuthenticate.js +1 -1
  262. package/orders/components/OrderDetails/OrderDetailsContent.js +5 -4
  263. package/orders/components/OrderDetails/OrderDetailsOrderHeader.js +7 -8
  264. package/orders/components/OrderDetails/OrderDetailsOrderPickupLocation.js +2 -2
  265. package/orders/components/OrderHistory/OrderHistoryList.d.ts.map +1 -1
  266. package/orders/components/OrderHistory/OrderHistoryList.js +4 -8
  267. package/orders/components/OrderHistory/OrderHistoryTable.js +1 -1
  268. package/package.json +9 -8
  269. package/page/components/NotFound.js +8 -7
  270. package/page/components/WidgetHeadline/WidgetHeadline.js +4 -3
  271. package/page/components/WidgetRichText/WidgetRichText.js +1 -1
  272. package/page/components/Widgets/Tooltip.js +7 -8
  273. package/page/components/Widgets/Widget.js +4 -4
  274. package/page/components/Widgets/constants.js +0 -5
  275. package/page/components/Widgets/hooks.js +5 -96
  276. package/page/constants/index.js +5 -2
  277. package/page/selectors/index.js +2 -1
  278. package/page/widgets/HTML/HTML.js +5 -9
  279. package/page/widgets/NestedCategoryFilter/NestedCategoryFilter.js +0 -5
  280. package/page/widgets/NestedCategoryFilter/components/Picker/components/SheetItem/index.js +2 -2
  281. package/page/widgets/NestedCategoryFilter/components/Picker/index.js +7 -9
  282. package/page/widgets/Placeholder/Placeholder.js +7 -8
  283. package/product/components/Availability/Availability.js +0 -4
  284. package/product/components/Characteristics/Characteristic/components/SheetItem/index.js +4 -8
  285. package/product/components/Characteristics/Characteristic/index.js +9 -12
  286. package/product/components/Characteristics/Swatch/index.js +3 -7
  287. package/product/components/Characteristics/transition.js +4 -4
  288. package/product/components/Description/index.js +6 -7
  289. package/product/components/EffectivityDates/index.js +23 -17
  290. package/product/components/FilterBar/components/Content/components/FilterButton/index.js +5 -7
  291. package/product/components/FilterBar/components/Content/components/Sort/index.js +6 -8
  292. package/product/components/FilterBar/components/FilterModal/FilterModalContent.js +3 -7
  293. package/product/components/FilterBar/components/FilterModal/FilterModalTitle.js +13 -12
  294. package/product/components/FilterBar/index.js +4 -8
  295. package/product/components/Header/PriceStriked/index.js +4 -8
  296. package/product/components/Header/Shipping/index.js +3 -3
  297. package/product/components/Header/Shipping/spec.js +7 -8
  298. package/product/components/Header/Tiers/components/Tier/index.js +3 -3
  299. package/product/components/Header/Tiers/components/Tier/spec.js +4 -4
  300. package/product/components/Header/Tiers/index.js +5 -3
  301. package/product/components/Header/Tiers/spec.js +7 -7
  302. package/product/components/MapPriceHint/index.js +8 -7
  303. package/product/components/Media/MediaImage.js +2 -2
  304. package/product/components/Media/MediaPlaceholder.js +3 -4
  305. package/product/components/Options/components/TextOption/components/OptionInfo/index.js +18 -18
  306. package/product/components/Options/components/TextOption/components/OptionInfo/spec.js +30 -21
  307. package/product/components/Options/components/TextOption/index.js +8 -11
  308. package/product/components/OrderQuantityHint/index.js +10 -16
  309. package/product/components/PriceDifference/index.js +4 -8
  310. package/product/components/PriceInfo/PriceInfo.connector.js +2 -2
  311. package/product/components/PriceInfo/PriceInfo.js +3 -4
  312. package/product/components/ProductCard/index.js +4 -5
  313. package/product/components/ProductDiscountBadge/index.js +3 -3
  314. package/product/components/ProductDiscountBadge/spec.js +5 -5
  315. package/product/components/ProductGrid/components/Item/components/ItemFavoritesButton/index.js +1 -1
  316. package/product/components/ProductGrid/components/Item/components/ItemFavoritesButton/spec.js +7 -7
  317. package/product/components/ProductGrid/components/Item/components/ItemImage/spec.js +3 -3
  318. package/product/components/ProductGrid/components/Item/components/ItemName/index.js +3 -4
  319. package/product/components/ProductGrid/components/Item/components/ItemName/spec.js +3 -3
  320. package/product/components/ProductGrid/components/Item/components/ItemPrice/spec.js +4 -4
  321. package/product/components/ProductGrid/components/Item/index.js +1 -5
  322. package/product/components/ProductGridPrice/index.js +9 -15
  323. package/product/components/ProductImage/ProductImagePlaceholder.js +9 -12
  324. package/product/components/ProductImage/index.js +6 -8
  325. package/product/components/ProductList/components/Item/index.js +5 -9
  326. package/product/components/ProductList/components/Layout/index.js +1 -1
  327. package/product/components/ProductProperties/Content.js +1 -1
  328. package/product/components/ProductProperties/Group.js +6 -4
  329. package/product/components/ProductProperties/GroupedProperties.js +1 -1
  330. package/product/components/ProductProperties/Wrapper.js +4 -2
  331. package/product/components/ProductSlider/spec.js +5 -5
  332. package/product/components/Rating/spec.js +9 -8
  333. package/product/components/RelationsSlider/RelationsSliderContent.js +4 -4
  334. package/product/components/Swatch/SwatchContent.js +3 -7
  335. package/product/components/Swatches/Swatches.js +3 -7
  336. package/product/components/UnitQuantityPicker/ProductUnitQuantityPicker.js +4 -4
  337. package/product/components/UnitQuantityPicker/UnitQuantityPicker.d.ts.map +1 -1
  338. package/product/components/UnitQuantityPicker/UnitQuantityPicker.js +9 -12
  339. package/push-opt-in/components/PushOptInModal/index.js +14 -14
  340. package/registration/components/GuestRegistration/GuestRegistrationFormPickup.js +2 -2
  341. package/registration/components/Registration/RegistrationContent.js +2 -1
  342. package/registration/components/Registration/RegistrationFormBase.config.js +2 -1
  343. package/registration/providers/GuestRegistrationProvider.actions.js +1 -1
  344. package/registration/providers/GuestRegistrationProvider.connector.js +3 -2
  345. package/registration/providers/GuestRegistrationProvider.js +2 -1
  346. package/registration/providers/RegistrationProvider.actions.js +4 -2
  347. package/registration/providers/RegistrationProvider.connector.js +2 -2
  348. package/registration/providers/RegistrationProvider.constraints.js +1 -1
  349. package/registration/providers/RegistrationProvider.js +2 -1
  350. package/reviews/components/Reviews/components/Header/components/NoReviews/index.js +1 -1
  351. package/reviews/components/Reviews/components/Header/components/ReviewsExcerpt/index.js +3 -3
  352. package/reviews/components/Reviews/components/Header/components/WriteReviewLink/spec.js +43 -26
  353. package/reviews/components/Reviews/components/Header/spec.js +47 -29
  354. package/reviews/components/Reviews/components/List/components/Info/index.js +16 -26
  355. package/reviews/components/Reviews/components/List/components/Text/index.js +4 -2
  356. package/reviews/components/Reviews/components/List/components/Title/index.js +3 -3
  357. package/reviews/components/Reviews/components/List/index.js +1 -5
  358. package/reviews/components/Reviews/components/List/spec.js +68 -29
  359. package/reviews/components/Reviews/components/RatingCount/index.js +13 -15
  360. package/reviews/components/Reviews/components/RatingCount/spec.js +25 -5
  361. package/reviews/components/Reviews/components/ReviewsInfo/index.js +9 -9
  362. package/reviews/components/Reviews/spec.js +56 -28
  363. package/settings/action-creators/appSettings.d.ts +12 -0
  364. package/settings/action-creators/appSettings.d.ts.map +1 -0
  365. package/settings/action-creators/appSettings.js +10 -0
  366. package/settings/action-creators/merchantSettings.d.ts +2 -0
  367. package/settings/action-creators/merchantSettings.d.ts.map +1 -0
  368. package/settings/action-creators/merchantSettings.js +11 -0
  369. package/settings/action-creators/shopSettings.d.ts +3 -0
  370. package/settings/action-creators/shopSettings.d.ts.map +1 -0
  371. package/settings/action-creators/shopSettings.js +21 -0
  372. package/settings/constants/appSettings.d.ts +2 -0
  373. package/settings/constants/appSettings.d.ts.map +1 -0
  374. package/settings/constants/appSettings.js +1 -0
  375. package/settings/constants/merchantSettings.d.ts +12 -0
  376. package/settings/constants/merchantSettings.d.ts.map +1 -0
  377. package/settings/constants/merchantSettings.js +11 -0
  378. package/settings/constants/shopSettings.d.ts +28 -0
  379. package/settings/constants/shopSettings.d.ts.map +1 -0
  380. package/settings/constants/shopSettings.js +27 -0
  381. package/settings/reducers/appSettings.d.ts +18 -0
  382. package/settings/reducers/appSettings.d.ts.map +1 -0
  383. package/settings/reducers/appSettings.js +42 -0
  384. package/settings/reducers/index.d.ts +15 -0
  385. package/settings/reducers/index.d.ts.map +1 -0
  386. package/{core → settings}/reducers/index.js +4 -3
  387. package/settings/reducers/merchantSettings.d.ts +18 -0
  388. package/settings/reducers/merchantSettings.d.ts.map +1 -0
  389. package/{core → settings}/reducers/merchantSettings.js +9 -3
  390. package/settings/reducers/shopSettings.d.ts +28 -0
  391. package/settings/reducers/shopSettings.d.ts.map +1 -0
  392. package/{core → settings}/reducers/shopSettings.js +10 -4
  393. package/settings/selectors/appSettings.d.ts +44 -0
  394. package/settings/selectors/appSettings.d.ts.map +1 -0
  395. package/settings/selectors/appSettings.js +23 -0
  396. package/settings/selectors/merchantSettings.d.ts +21 -0
  397. package/settings/selectors/merchantSettings.d.ts.map +1 -0
  398. package/settings/selectors/merchantSettings.js +34 -0
  399. package/settings/selectors/shopSettings.d.ts +54 -0
  400. package/settings/selectors/shopSettings.d.ts.map +1 -0
  401. package/settings/selectors/shopSettings.js +81 -0
  402. package/settings/types/appSettings.d.ts +32 -0
  403. package/settings/types/appSettings.d.ts.map +1 -0
  404. package/settings/types/appSettings.js +1 -0
  405. package/styles/helpers/setPageBackgroundColor.js +2 -2
  406. package/styles/theme/createDefaultThemeOptions/index.d.ts.map +1 -1
  407. package/styles/theme/createDefaultThemeOptions/index.js +72 -3
  408. package/styles/theme/createTheme/createComponents.d.ts +2 -2
  409. package/styles/theme/createTheme/createComponents.d.ts.map +1 -1
  410. package/styles/theme/createTheme/createComponents.js +1 -0
  411. package/styles/theme/createTheme/createComponents.types.d.ts +149 -0
  412. package/styles/theme/createTheme/createComponents.types.d.ts.map +1 -1
  413. package/styles/theme/createTheme/createComponents.types.js +149 -0
  414. package/styles/theme/createTheme/createCssVarsForColorSchemeThemes.d.ts.map +1 -1
  415. package/styles/theme/createTheme/createCssVarsForColorSchemeThemes.js +28 -2
  416. package/styles/theme/createTheme/createPalette.types.d.ts +15 -7
  417. package/styles/theme/createTheme/createPalette.types.d.ts.map +1 -1
  418. package/styles/theme/createTheme/createPalette.types.js +16 -8
  419. package/styles/theme/createTheme/createThemeFromColorScheme.d.ts +7 -0
  420. package/styles/theme/createTheme/createThemeFromColorScheme.d.ts.map +1 -1
  421. package/styles/theme/createTheme/createThemeFromColorScheme.js +10 -1
  422. package/styles/theme/createTheme/helpers/cssVarsColorAugmentation.d.ts +2 -1
  423. package/styles/theme/createTheme/helpers/cssVarsColorAugmentation.d.ts.map +1 -1
  424. package/styles/theme/createTheme/helpers/cssVarsColorAugmentation.js +84 -6
  425. package/styles/theme/createTheme/helpers/cssVarsParser.d.ts.map +1 -1
  426. package/styles/theme/createTheme/helpers/cssVarsParser.js +1 -1
  427. package/styles/theme/createTheme/index.js +1 -2
  428. package/styles/theme/createTheme/types.d.ts +8 -2
  429. package/styles/theme/createTheme/types.d.ts.map +1 -1
  430. package/styles/theme/providers/ThemeProvider.d.ts.map +1 -1
  431. package/styles/theme/providers/ThemeProvider.js +5 -3
  432. package/tracking/components/CookieConsentModal/index.js +12 -12
  433. package/tracking/components/PrivacySettings/index.js +4 -4
  434. package/tracking/selectors/cookieConsent.js +2 -2
  435. package/tsconfig.json +1 -0
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { mount } from 'enzyme';
2
+ import { render } from '@testing-library/react';
3
3
  import configureStore from 'redux-mock-store';
4
4
  import { Provider } from 'react-redux';
5
5
  import { useWidgetSettings } from '@shopgate/engage/core/hooks/useWidgetSettings';
@@ -30,7 +30,7 @@ describe('<ProductDiscountBadge />', () => {
30
30
  */
31
31
  const createComponent = mockedState => {
32
32
  const store = mockedStore(mockedState);
33
- return mount(/*#__PURE__*/_jsx(Provider, {
33
+ return render(/*#__PURE__*/_jsx(Provider, {
34
34
  store: store,
35
35
  children: /*#__PURE__*/_jsx(ProductDiscountBadge, {
36
36
  productId: mockedProduct1.productId
@@ -39,11 +39,11 @@ describe('<ProductDiscountBadge />', () => {
39
39
  };
40
40
  it('should render without discount', () => {
41
41
  const wrapper = createComponent(mockedStateWithoutDiscount);
42
- expect(wrapper).toMatchSnapshot();
42
+ expect(wrapper.asFragment()).toMatchSnapshot();
43
43
  });
44
44
  it('should render with discount', () => {
45
45
  const wrapper = createComponent(mockedStateWithDiscount);
46
- expect(wrapper).toMatchSnapshot();
46
+ expect(wrapper.asFragment()).toMatchSnapshot();
47
47
  });
48
48
  it('should not render with discount if widgetSetting is false', () => {
49
49
  useWidgetSettings.mockReturnValue({
@@ -53,6 +53,6 @@ describe('<ProductDiscountBadge />', () => {
53
53
  }
54
54
  });
55
55
  const wrapper = createComponent(mockedStateWithDiscount);
56
- expect(wrapper).toMatchSnapshot();
56
+ expect(wrapper.asFragment()).toMatchSnapshot();
57
57
  });
58
58
  });
@@ -4,7 +4,7 @@ import { useSelector } from 'react-redux';
4
4
  import { SurroundPortals, FavoritesButton } from '@shopgate/engage/components';
5
5
  import { PRODUCT_ITEM_FAVORITES_BUTTON } from '@shopgate/engage/category';
6
6
  import { isRelativeProductOnList } from '@shopgate/engage/favorites';
7
- import { getLoadWishlistOnAppStartEnabled } from '@shopgate/engage/core';
7
+ import { getLoadWishlistOnAppStartEnabled } from '@shopgate/engage/settings/selectors/shopSettings';
8
8
  import { makeStyles } from '@shopgate/engage/styles';
9
9
  import { jsx as _jsx } from "react/jsx-runtime";
10
10
  const useStyles = makeStyles()({
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { shallow } from 'enzyme';
2
+ import { render } from '@testing-library/react';
3
3
  import { combineReducers } from 'redux';
4
4
  import { Provider } from 'react-redux';
5
5
  import { createMockStore } from '@shopgate/pwa-common/store';
@@ -11,23 +11,23 @@ const store = createMockStore(combineReducers({
11
11
  favorites
12
12
  }));
13
13
  describe('<ItemFavoritesButton />', () => {
14
- it('should not render when its not a favorite', () => {
15
- const wrapper = shallow(/*#__PURE__*/_jsx(Provider, {
14
+ it('should not render when it\'s not a favorite', () => {
15
+ const wrapper = render(/*#__PURE__*/_jsx(Provider, {
16
16
  store: store,
17
17
  children: /*#__PURE__*/_jsx(ItemFavoritesButton, {
18
18
  productId: "1234"
19
19
  })
20
20
  }));
21
- expect(wrapper).toMatchSnapshot();
21
+ expect(wrapper.container.firstChild).toMatchSnapshot();
22
22
  });
23
- it('should render if its a favorite', () => {
24
- const wrapper = shallow(/*#__PURE__*/_jsx(Provider, {
23
+ it('should render if it\'s a favorite', () => {
24
+ const wrapper = render(/*#__PURE__*/_jsx(Provider, {
25
25
  store: store,
26
26
  children: /*#__PURE__*/_jsx(ItemFavoritesButton, {
27
27
  productId: "1234",
28
28
  isFavorite: true
29
29
  })
30
30
  }));
31
- expect(wrapper).toMatchSnapshot();
31
+ expect(wrapper.container.firstChild).toMatchSnapshot();
32
32
  });
33
33
  });
@@ -1,16 +1,16 @@
1
1
  import React from 'react';
2
- import { shallow } from 'enzyme';
2
+ import { render } from '@testing-library/react';
3
3
  import ItemImage from "./index";
4
4
  import { jsx as _jsx } from "react/jsx-runtime";
5
5
  jest.mock('@shopgate/engage/components');
6
6
  jest.mock('@shopgate/engage/product');
7
7
  describe('<ItemImage />', () => {
8
8
  it('should render', () => {
9
- const wrapper = shallow(/*#__PURE__*/_jsx(ItemImage, {
9
+ const wrapper = render(/*#__PURE__*/_jsx(ItemImage, {
10
10
  productId: "1234",
11
11
  imageUrl: "http://www.google.com",
12
12
  name: "FooBar"
13
13
  }));
14
- expect(wrapper).toMatchSnapshot();
14
+ expect(wrapper.asFragment()).toMatchSnapshot();
15
15
  });
16
16
  });
@@ -5,15 +5,14 @@ import { Portal } from '@shopgate/engage/components';
5
5
  import { ProductName, ProductRatingStars } from '@shopgate/engage/product';
6
6
  import { makeStyles } from '@shopgate/engage/styles';
7
7
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
8
- const useStyles = makeStyles()({
8
+ const useStyles = makeStyles()(theme => ({
9
9
  root: {
10
- fontWeight: '500',
11
- lineHeight: 1.15,
10
+ fontWeight: theme.typography.fontWeightMedium,
12
11
  marginTop: 1,
13
12
  wordBreak: ['keep-all', 'break-word'],
14
13
  hyphens: 'auto'
15
14
  }
16
- });
15
+ }));
17
16
 
18
17
  /**
19
18
  * The item name component.
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { shallow } from 'enzyme';
2
+ import { render } from '@testing-library/react';
3
3
  import ItemName from "./index";
4
4
  import { jsx as _jsx } from "react/jsx-runtime";
5
5
  jest.mock('@shopgate/engage/product', () => ({
@@ -13,9 +13,9 @@ const props = {
13
13
  };
14
14
  describe('<ItemName />', () => {
15
15
  it('should render with minimal props', () => {
16
- const wrapper = shallow(/*#__PURE__*/_jsx(ItemName, {
16
+ const wrapper = render(/*#__PURE__*/_jsx(ItemName, {
17
17
  ...props
18
18
  }));
19
- expect(wrapper).toMatchSnapshot();
19
+ expect(wrapper.asFragment()).toMatchSnapshot();
20
20
  });
21
21
  });
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { shallow } from 'enzyme';
2
+ import { render } from '@testing-library/react';
3
3
  import ItemPrice from "./index";
4
4
  import { jsx as _jsx } from "react/jsx-runtime";
5
5
  jest.mock('@shopgate/engage/product', () => ({
@@ -22,13 +22,13 @@ const display = {
22
22
  };
23
23
  describe('<ItemPrice />', () => {
24
24
  it('should render with minimal props', () => {
25
- const wrapper = shallow(/*#__PURE__*/_jsx(ItemPrice, {
25
+ const wrapper = render(/*#__PURE__*/_jsx(ItemPrice, {
26
26
  ...props
27
27
  }));
28
- expect(wrapper).toMatchSnapshot();
28
+ expect(wrapper.asFragment()).toMatchSnapshot();
29
29
  });
30
30
  it('should not render with display props set', () => {
31
- const wrapper = shallow(/*#__PURE__*/_jsx(ItemPrice, {
31
+ const wrapper = render(/*#__PURE__*/_jsx(ItemPrice, {
32
32
  ...props,
33
33
  display: display
34
34
  }));
@@ -4,16 +4,12 @@ import { isBeta } from '@shopgate/engage/core';
4
4
  import { getProductRoute, FeaturedMedia, ProductBadges } from '@shopgate/engage/product';
5
5
  import { Link } from '@shopgate/engage/components';
6
6
  import { useProductListType } from '@shopgate/engage/product/hooks';
7
- import { themeConfig } from '@shopgate/engage';
8
7
  import { makeStyles } from '@shopgate/engage/styles';
9
8
  import ItemImage from "./components/ItemImage";
10
9
  import ItemDiscount from "./components/ItemDiscount";
11
10
  import ItemFavoritesButton from "./components/ItemFavoritesButton";
12
11
  import ItemDetails from "./components/ItemDetails";
13
12
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
14
- const {
15
- colors
16
- } = themeConfig;
17
13
  const useStyles = makeStyles()((theme, {
18
14
  display
19
15
  }) => ({
@@ -21,7 +17,7 @@ const useStyles = makeStyles()((theme, {
21
17
  position: 'relative',
22
18
  display: 'flex',
23
19
  flexDirection: 'column',
24
- background: colors.light,
20
+ background: theme.palette.background.surface,
25
21
  height: '100%'
26
22
  },
27
23
  itemDetails: {
@@ -1,28 +1,22 @@
1
- import "core-js/modules/es.array.includes.js";
2
1
  import React from 'react';
3
2
  import PropTypes from 'prop-types';
4
3
  import { Grid, Price, PriceStriked } from '@shopgate/engage/components';
5
4
  import { PriceInfo } from '@shopgate/engage/product/components';
6
5
  import { withPriceCalculation } from '@shopgate/engage/product/hocs';
7
6
  import { makeStyles } from '@shopgate/engage/styles';
8
- import { themeName } from '@shopgate/pwa-common/helpers/config';
9
7
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
10
- const isIOS = themeName.includes('ios');
11
- const useStyles = makeStyles()({
12
- priceWrapper: isIOS ? {
13
- lineHeight: 1.75,
14
- marginTop: 2,
8
+ const useStyles = makeStyles()(theme => ({
9
+ priceWrapper: {
10
+ marginTop: 4,
15
11
  alignItems: 'center'
16
- } : {
17
- lineHeight: 1.75
18
12
  },
19
- basicPrice: {
20
- fontSize: '0.875rem'
13
+ strikedPrice: {
14
+ fontSize: theme.typography.caption.fontSize
21
15
  },
22
- strikedPrice: isIOS ? {
23
- fontSize: '0.75rem'
24
- } : {}
25
- });
16
+ basicPrice: {
17
+ fontSize: theme.typography.body2.fontSize
18
+ }
19
+ }));
26
20
 
27
21
  /**
28
22
  * The ProductGridPrice component is supposed to be used to display prices at product grids. It
@@ -1,15 +1,11 @@
1
1
  import React, { useEffect, useMemo, useState } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import PlaceholderIcon from '@shopgate/pwa-ui-shared/icons/PlaceholderIcon';
4
- import { themeConfig, themeShadows, themeColors } from '@shopgate/pwa-common/helpers/config';
5
- import { makeStyles } from '@shopgate/engage/styles';
4
+ import { makeStyles, useTheme } from '@shopgate/engage/styles';
6
5
  import { useLoadImage } from '@shopgate/engage/core';
7
6
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
- const {
9
- colors
10
- } = themeConfig;
11
7
  const placeholderIconScale = 0.65;
12
- const useStyles = makeStyles()({
8
+ const useStyles = makeStyles()(theme => ({
13
9
  placeholderContent: {
14
10
  position: 'absolute',
15
11
  width: '100%',
@@ -23,7 +19,7 @@ const useStyles = makeStyles()({
23
19
  height: `${placeholderIconScale * 100}% !important`,
24
20
  top: `${(1.0 - placeholderIconScale) * 50}%`,
25
21
  left: `${(1.0 - placeholderIconScale) * 50}%`,
26
- color: themeColors.placeholder
22
+ color: theme.palette.background.emphasized
27
23
  },
28
24
  innerShadow: {
29
25
  position: 'relative',
@@ -36,11 +32,11 @@ const useStyles = makeStyles()({
36
32
  right: 0,
37
33
  bottom: 0,
38
34
  left: 0,
39
- boxShadow: themeShadows.productImage,
35
+ boxShadow: 'inset 0 0 20px rgba(0, 0, 0, .05)',
40
36
  pointerEvents: 'none'
41
37
  }
42
38
  }
43
- });
39
+ }));
44
40
 
45
41
  /**
46
42
  * The ProductImagePlaceholder component.
@@ -56,6 +52,7 @@ const ProductImagePlaceholder = ({
56
52
  classes,
57
53
  cx
58
54
  } = useStyles();
55
+ const theme = useTheme();
59
56
  const [showPlaceholder, setShowPlaceholder] = useState(true);
60
57
  const srcLoaded = useLoadImage(src);
61
58
  useEffect(() => {
@@ -68,14 +65,14 @@ const ProductImagePlaceholder = ({
68
65
  backgroundSize: 'contain',
69
66
  backgroundRepeat: 'no-repeat',
70
67
  backgroundPosition: 'center',
71
- backgroundColor: noBackground ? 'transparent' : colors.light,
68
+ backgroundColor: noBackground ? 'transparent' : theme.palette.background.surface,
72
69
  position: 'absolute'
73
70
  };
74
71
  }
75
72
  return {
76
- backgroundColor: noBackground ? 'transparent' : colors.light
73
+ backgroundColor: noBackground ? 'transparent' : theme.palette.background.surface
77
74
  };
78
- }, [src, noBackground, srcLoaded]);
75
+ }, [srcLoaded, noBackground, theme.palette.background.surface, src]);
79
76
  const contentClasses = cx(classes.placeholderContent, {
80
77
  [classes.innerShadow]: showInnerShadow
81
78
  });
@@ -1,19 +1,16 @@
1
1
  import React, { useState, useEffect, useLayoutEffect, useCallback, memo } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { logger } from '@shopgate/pwa-core';
4
- import appConfig, { themeConfig, themeShadows, themeColors } from '@shopgate/pwa-common/helpers/config';
4
+ import appConfig from '@shopgate/pwa-common/helpers/config';
5
5
  import Image from '@shopgate/pwa-common/components/Image';
6
6
  import PlaceholderIcon from '@shopgate/pwa-ui-shared/icons/PlaceholderIcon';
7
7
  import SurroundPortals from '@shopgate/pwa-common/components/SurroundPortals';
8
- import { makeStyles } from '@shopgate/engage/styles';
8
+ import { makeStyles, useTheme } from '@shopgate/engage/styles';
9
9
  import { withWidgetSettings } from "../../../core/hocs/withWidgetSettings";
10
10
  import { PORTAL_PRODUCT_IMAGE } from "../../../components/constants";
11
11
  import ProductImagePlaceholder from "./ProductImagePlaceholder";
12
12
  import connect from "./connector";
13
13
  import { jsx as _jsx } from "react/jsx-runtime";
14
- const {
15
- colors
16
- } = themeConfig;
17
14
  const placeholderIconScale = 0.65;
18
15
 
19
16
  /**
@@ -68,7 +65,7 @@ const useStyles = makeStyles()((theme, {
68
65
  height: `${placeholderIconScale * 100}% !important`,
69
66
  top: `${(1.0 - placeholderIconScale) * 50}%`,
70
67
  left: `${(1.0 - placeholderIconScale) * 50}%`,
71
- color: themeColors.placeholder
68
+ color: theme.palette.background.emphasized
72
69
  },
73
70
  innerShadow: {
74
71
  position: 'relative',
@@ -81,7 +78,7 @@ const useStyles = makeStyles()((theme, {
81
78
  right: 0,
82
79
  bottom: 0,
83
80
  left: 0,
84
- boxShadow: themeShadows.productImage,
81
+ boxShadow: 'inset 0 0 20px rgba(0, 0, 0, .05)',
85
82
  pointerEvents: 'none'
86
83
  }
87
84
  }
@@ -117,6 +114,7 @@ const ProductImage = props => {
117
114
  } = useStyles({
118
115
  ratio: ratioValue
119
116
  });
117
+ const theme = useTheme();
120
118
  const [showPlaceholder, setShowPlaceholder] = useState(!src && (srcmap === null || srcmap.length === 0));
121
119
  const [imageLoadingFailed, setImageLoadingFailed] = useState(false);
122
120
  useLayoutEffect(() => {
@@ -171,7 +169,7 @@ const ProductImage = props => {
171
169
  children: /*#__PURE__*/_jsx(Image, {
172
170
  ...props,
173
171
  className: showInnerShadow ? classes.innerShadow : '',
174
- backgroundColor: noBackground ? 'transparent' : colors.light,
172
+ backgroundColor: noBackground ? 'transparent' : theme.palette.background.surface,
175
173
  onError: imageLoadingFailedHandler,
176
174
  "aria-hidden": !alt
177
175
  })
@@ -12,15 +12,11 @@ import Manufacturer from '@shopgate/pwa-ui-shared/Manufacturer';
12
12
  import { PriceInfo, ProductName, ProductBadges } from '@shopgate/engage/product';
13
13
  import { i18n } from '@shopgate/engage/core/helpers';
14
14
  import { makeStyles } from '@shopgate/engage/styles';
15
- import { themeConfig } from '@shopgate/pwa-common/helpers/config';
16
15
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
17
- const {
18
- colors
19
- } = themeConfig;
20
16
  const useStyles = makeStyles()(theme => ({
21
17
  listItemContainer: {
22
18
  padding: theme.spacing(1),
23
- background: colors.light
19
+ background: theme.palette.background.surface
24
20
  },
25
21
  imageContainer: {
26
22
  padding: theme.spacing(1),
@@ -43,19 +39,19 @@ const useStyles = makeStyles()(theme => ({
43
39
  width: 40
44
40
  },
45
41
  availability: {
46
- fontSize: '0.75rem'
42
+ fontSize: theme.typography.caption.fontSize
47
43
  },
48
44
  manufacturer: {
49
- fontSize: '0.875rem'
45
+ fontSize: theme.typography.body2.fontSize
50
46
  },
51
47
  price: {
52
48
  justifyContent: 'flex-end'
53
49
  },
54
50
  priceStriked: {
55
- fontSize: '0.875rem'
51
+ fontSize: theme.typography.body2.fontSize
56
52
  },
57
53
  priceInfo: {
58
- fontSize: '0.75rem'
54
+ fontSize: theme.typography.caption.fontSize
59
55
  },
60
56
  discount: {
61
57
  minWidth: 40
@@ -5,7 +5,7 @@ import { makeStyles } from '@shopgate/engage/styles';
5
5
  import { jsx as _jsx } from "react/jsx-runtime";
6
6
  const useStyles = makeStyles()(theme => ({
7
7
  list: {
8
- background: theme.palette.background.default
8
+ background: theme.palette.background.surface
9
9
  }
10
10
  }));
11
11
 
@@ -9,7 +9,7 @@ import Rows from "./Rows";
9
9
  import { jsx as _jsx } from "react/jsx-runtime";
10
10
  const useStyles = makeStyles()(theme => ({
11
11
  groupsContainer: {
12
- borderBottom: `3px solid ${theme.palette.background.default}`,
12
+ borderBottom: `3px solid ${theme.palette.background.surface}`,
13
13
  marginBottom: theme.spacing(1.5)
14
14
  }
15
15
  }));
@@ -1,13 +1,12 @@
1
1
  import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
+ import { Typography } from '@shopgate/engage/components';
3
4
  import { makeStyles } from '@shopgate/engage/styles';
4
5
  import { jsx as _jsx } from "react/jsx-runtime";
5
6
  const useStyles = makeStyles()(theme => ({
6
7
  subgroup: {
7
8
  paddingTop: theme.spacing(1),
8
- fontWeight: 600,
9
- textTransform: 'uppercase',
10
- fontSize: '0.75rem'
9
+ textTransform: 'uppercase'
11
10
  }
12
11
  }));
13
12
 
@@ -26,7 +25,10 @@ const Group = ({
26
25
  children: /*#__PURE__*/_jsx("td", {
27
26
  colSpan: "2",
28
27
  className: classes.subgroup,
29
- children: /*#__PURE__*/_jsx("span", {
28
+ children: /*#__PURE__*/_jsx(Typography, {
29
+ variant: "caption",
30
+ component: "span",
31
+ fontWeight: "bold",
30
32
  dangerouslySetInnerHTML: {
31
33
  __html: group
32
34
  }
@@ -9,7 +9,7 @@ import Wrapper from "./Wrapper";
9
9
  import { jsx as _jsx } from "react/jsx-runtime";
10
10
  const useStyles = makeStyles()(theme => ({
11
11
  accordion: {
12
- borderTop: `3px solid ${theme.palette.background.default}`
12
+ borderTop: `3px solid ${theme.palette.background.surface}`
13
13
  }
14
14
  }));
15
15
 
@@ -1,10 +1,10 @@
1
1
  import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
+ import { Typography } from '@shopgate/engage/components';
3
4
  import { makeStyles } from '@shopgate/engage/styles';
4
5
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
6
  const useStyles = makeStyles()(theme => ({
6
7
  container: {
7
- fontSize: '0.875rem',
8
8
  padding: theme.spacing(0, 2, 2),
9
9
  marginBottom: theme.spacing(1.5)
10
10
  },
@@ -29,7 +29,9 @@ const Wrapper = ({
29
29
  classes,
30
30
  cx
31
31
  } = useStyles();
32
- return /*#__PURE__*/_jsx("div", {
32
+ return /*#__PURE__*/_jsx(Typography, {
33
+ variant: "body2",
34
+ component: "div",
33
35
  className: cx('engage__product__product-property-group', {
34
36
  [classes.container]: !dense,
35
37
  [classes.containerDense]: dense
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { shallow } from 'enzyme';
2
+ import { render } from '@testing-library/react';
3
3
  import ProductSlider from "./index";
4
4
  import { jsx as _jsx } from "react/jsx-runtime";
5
5
  jest.mock('@shopgate/engage/core', () => ({
@@ -18,8 +18,8 @@ jest.mock('@shopgate/engage/components', () => {
18
18
  };
19
19
  });
20
20
  jest.mock('@shopgate/engage/core/hooks', () => {
21
- const ProductCard = props => /*#__PURE__*/_jsx(ProductCard, {
22
- ...props
21
+ const ProductCard = () => /*#__PURE__*/_jsx("div", {
22
+ "data-testid": "product-card"
23
23
  });
24
24
  return {
25
25
  useThemeComponents: () => ({
@@ -29,9 +29,9 @@ jest.mock('@shopgate/engage/core/hooks', () => {
29
29
  });
30
30
  describe('<ProductSlider />', () => {
31
31
  it('should match snapshot', () => {
32
- const wrapper = shallow(/*#__PURE__*/_jsx(ProductSlider, {
32
+ const wrapper = render(/*#__PURE__*/_jsx(ProductSlider, {
33
33
  productIds: ['prod1']
34
34
  }));
35
- expect(wrapper).toMatchSnapshot();
35
+ expect(wrapper.container.firstChild).toMatchSnapshot();
36
36
  });
37
37
  });
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { Provider } from 'react-redux';
3
3
  import configureStore from 'redux-mock-store';
4
- import { mount } from 'enzyme';
4
+ import { fireEvent, render } from '@testing-library/react';
5
5
  import mockRenderOptions from '@shopgate/pwa-common/helpers/mocks/mockRenderOptions';
6
6
  import { setMocks, mockedStateWithTwoReviews, mockedStateWithoutReview } from '@shopgate/pwa-common-commerce/reviews/mock';
7
7
  import Rating from "./index";
@@ -17,7 +17,7 @@ describe('Rating (product header)', () => {
17
17
  * @param {Object} state State
18
18
  * @returns {Object}
19
19
  */
20
- const getComponent = state => mount(/*#__PURE__*/_jsx(Provider, {
20
+ const getComponent = state => render(/*#__PURE__*/_jsx(Provider, {
21
21
  store: mockedStore(state),
22
22
  children: /*#__PURE__*/_jsx(Rating, {
23
23
  productId: "foo"
@@ -26,19 +26,19 @@ describe('Rating (product header)', () => {
26
26
  describe('Rendering', () => {
27
27
  it('should render rating when data is available', () => {
28
28
  const component = getComponent(mockedStateWithTwoReviews);
29
- expect(component).toMatchSnapshot();
29
+ expect(component.container.firstChild).toMatchSnapshot();
30
30
  });
31
31
  it('should render nothing when data is not available', () => {
32
32
  const component = getComponent(mockedStateWithoutReview);
33
- expect(component.isEmptyRender()).toBe(true);
33
+ expect(component.container.firstChild).toBeNull();
34
34
  });
35
35
  });
36
36
  describe('Scroll on click', () => {
37
- const scrollSpy = jest.fn();
38
37
  it('should scroll to reviews when clicked', () => {
38
+ const scrollSpy = jest.fn();
39
39
  jest.spyOn(document, 'getElementById').mockImplementation(getElementById(scrollSpy));
40
40
  const component = getComponent(mockedStateWithTwoReviews);
41
- component.simulate('click');
41
+ fireEvent.click(component.container.querySelector('[role="presentation"]'));
42
42
  expect(scrollSpy.mock.calls[0][0]).toBe(0);
43
43
  expect(scrollSpy.mock.calls[0][1]).toBe(70);
44
44
  expect(scrollSpy).toHaveBeenCalled();
@@ -46,10 +46,11 @@ describe('Rating (product header)', () => {
46
46
  document.getElementById.mockRestore();
47
47
  });
48
48
  it('should do nothing when clicked but no reviews excerpt element', () => {
49
+ const scrollSpy = jest.fn();
49
50
  jest.spyOn(document, 'getElementById').mockImplementation(() => null);
50
51
  const component = getComponent(mockedStateWithTwoReviews);
51
- component.simulate('click');
52
- expect(scrollSpy.mock.calls.length).toBe(1);
52
+ fireEvent.click(component.container.querySelector('[role="presentation"]'));
53
+ expect(scrollSpy).not.toHaveBeenCalled();
53
54
  document.getElementById.mockReset();
54
55
  document.getElementById.mockRestore();
55
56
  });
@@ -1,6 +1,6 @@
1
1
  import React, { useEffect, memo } from 'react';
2
2
  import PropTypes from 'prop-types';
3
- import { Swiper, Card } from '@shopgate/engage/components';
3
+ import { Swiper, Card, Typography } from '@shopgate/engage/components';
4
4
  import { makeStyles } from '@shopgate/engage/styles';
5
5
  import ProductCard from "../ProductCard";
6
6
  import RelationsSheet from "./RelationsSheet";
@@ -13,8 +13,6 @@ const useStyles = makeStyles()(theme => ({
13
13
  position: 'relative'
14
14
  },
15
15
  headline: {
16
- fontSize: '1rem',
17
- fontWeight: 500,
18
16
  padding: theme.spacing(0, 2, 1),
19
17
  margin: 0
20
18
  },
@@ -67,7 +65,9 @@ const RelationsSliderContent = /*#__PURE__*/memo(({
67
65
  }
68
66
  return /*#__PURE__*/_jsxs("div", {
69
67
  className: classes.container,
70
- children: [!!headline && /*#__PURE__*/_jsx("h3", {
68
+ children: [!!headline && /*#__PURE__*/_jsx(Typography, {
69
+ variant: "h5",
70
+ component: "h3",
71
71
  className: classes.headline,
72
72
  children: headline
73
73
  }), !!showMoreButton && productsCount > 10 && /*#__PURE__*/_jsx(RelationsSheet, {
@@ -3,13 +3,9 @@ import PropTypes from 'prop-types';
3
3
  import noop from 'lodash/noop';
4
4
  import { makeStyles } from '@shopgate/engage/styles';
5
5
  import { PRODUCT_SWATCH } from '@shopgate/pwa-common-commerce/product/constants/Portals';
6
- import { themeConfig } from '@shopgate/pwa-common/helpers/config';
7
6
  import { SurroundPortals } from "../../../components";
8
7
  import { jsx as _jsx } from "react/jsx-runtime";
9
- const {
10
- colors
11
- } = themeConfig;
12
- const useStyles = makeStyles()(() => ({
8
+ const useStyles = makeStyles()(theme => ({
13
9
  swatch: {
14
10
  display: 'grid',
15
11
  gridTemplateColumns: 'repeat(auto-fill, minmax(12px, 1fr))',
@@ -26,11 +22,11 @@ const useStyles = makeStyles()(() => ({
26
22
  borderRadius: '50%',
27
23
  borderWidth: '1px',
28
24
  borderStyle: 'solid',
29
- borderColor: colors.shade4,
25
+ borderColor: theme.components.border.medium,
30
26
  backgroundSize: 'cover'
31
27
  },
32
28
  itemSelected: {
33
- borderColor: 'var(--color-secondary)'
29
+ borderColor: theme.palette.secondary.main
34
30
  }
35
31
  }));
36
32
 
@@ -3,22 +3,18 @@ import React, { memo } from 'react';
3
3
  import PropTypes from 'prop-types';
4
4
  import { PRODUCT_SWATCHES } from '@shopgate/pwa-common-commerce/product/constants/Portals';
5
5
  import { makeStyles } from '@shopgate/engage/styles';
6
- import { themeConfig } from '@shopgate/pwa-common/helpers/config';
7
6
  import { SurroundPortals } from "../../../components";
8
7
  import { isBeta, useWidgetSettings } from "../../../core";
9
8
  import { Swatch } from "../Swatch";
10
9
  import connect from "./connector";
11
10
  import { jsx as _jsx } from "react/jsx-runtime";
12
11
  const WIDGET_ID = '@shopgate/engage/product/Swatches';
13
- const {
14
- typography
15
- } = themeConfig;
16
- const useStyles = makeStyles()({
12
+ const useStyles = makeStyles()(theme => ({
17
13
  swatches: {
18
14
  marginTop: '8px',
19
- lineHeight: typography.lineHeight
15
+ lineHeight: theme.typography.body1.lineHeight
20
16
  }
21
- });
17
+ }));
22
18
 
23
19
  /**
24
20
  * Renders only product swatches from a list of characteristics.