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

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 (481) hide show
  1. package/README.md +0 -1
  2. package/account/components/Account/Account.d.ts.map +1 -1
  3. package/account/components/Account/Account.js +4 -3
  4. package/account/components/Profile/Profile.provider.d.ts +1 -1
  5. package/account/components/Profile/Profile.provider.js +1 -1
  6. package/account/components/Profile/ProfileAddressBook.d.ts.map +1 -1
  7. package/account/components/Profile/ProfileAddressBook.js +9 -11
  8. package/account/components/Profile/ProfileAddressCard.d.ts.map +1 -1
  9. package/account/components/Profile/ProfileAddressCard.js +36 -33
  10. package/account/components/Profile/ProfileForm.js +4 -4
  11. package/account/components/Profile/ProfileHeader.d.ts.map +1 -1
  12. package/account/components/Profile/ProfileHeader.js +8 -9
  13. package/account/components/ProfileContact/ProfileContact.js +4 -3
  14. package/admin-preview/components/FrontendSettingsPreviewBridge/FrontendSettingsPreviewBridge.d.ts +7 -0
  15. package/admin-preview/components/FrontendSettingsPreviewBridge/FrontendSettingsPreviewBridge.d.ts.map +1 -0
  16. package/admin-preview/components/FrontendSettingsPreviewBridge/FrontendSettingsPreviewBridge.js +42 -0
  17. package/admin-preview/components/FrontendSettingsPreviewBridge/helpers.d.ts +20 -0
  18. package/admin-preview/components/FrontendSettingsPreviewBridge/helpers.d.ts.map +1 -0
  19. package/admin-preview/components/FrontendSettingsPreviewBridge/helpers.js +49 -0
  20. package/admin-preview/components/FrontendSettingsPreviewBridge/index.d.ts +2 -0
  21. package/admin-preview/components/FrontendSettingsPreviewBridge/index.d.ts.map +1 -0
  22. package/admin-preview/components/FrontendSettingsPreviewBridge/index.js +1 -0
  23. package/admin-preview/components/FrontendSettingsPreviewBridge/types.d.ts +14 -0
  24. package/admin-preview/components/FrontendSettingsPreviewBridge/types.d.ts.map +1 -0
  25. package/admin-preview/components/FrontendSettingsPreviewBridge/types.js +1 -0
  26. package/admin-preview/components/index.d.ts +2 -0
  27. package/admin-preview/components/index.d.ts.map +1 -0
  28. package/admin-preview/components/index.js +1 -0
  29. package/admin-preview/constants/index.d.ts +27 -0
  30. package/admin-preview/constants/index.d.ts.map +1 -0
  31. package/admin-preview/constants/index.js +31 -0
  32. package/admin-preview/detection.d.ts +49 -0
  33. package/admin-preview/detection.d.ts.map +1 -0
  34. package/admin-preview/detection.js +166 -0
  35. package/admin-preview/helpers/index.d.ts +16 -0
  36. package/admin-preview/helpers/index.d.ts.map +1 -0
  37. package/admin-preview/helpers/index.js +19 -0
  38. package/admin-preview/hooks/index.d.ts +36 -0
  39. package/admin-preview/hooks/index.d.ts.map +1 -0
  40. package/admin-preview/hooks/index.js +74 -0
  41. package/back-in-stock/components/BackInStockButton/index.js +16 -19
  42. package/back-in-stock/components/Subscriptions/components/Subscription/index.js +20 -21
  43. package/cart/components/CartHeaderWide/CartHeaderWide.js +4 -3
  44. package/cart/components/CartItem/CartItemCoupon.js +2 -6
  45. package/cart/components/CartItem/CartItemCouponDelete.js +3 -3
  46. package/cart/components/CartItem/CartItemCouponLayout.js +1 -1
  47. package/cart/components/CartItem/CartItemCouponPrice.js +16 -19
  48. package/cart/components/CartItem/CartItemCouponTitle.js +4 -4
  49. package/cart/components/CartItem/CartItemProduct.js +2 -6
  50. package/cart/components/CartItem/CartItemProductLayout.js +4 -8
  51. package/cart/components/CartItem/CartItemProductLayoutWide.js +19 -14
  52. package/cart/components/CartItem/CartItemProductLayoutWideFulfillmentLabel.js +5 -3
  53. package/cart/components/CartItem/CartItemProductLayoutWideOrderDetails.js +18 -12
  54. package/cart/components/CartItem/CartItemProductLayoutWideRemoveItem.js +1 -1
  55. package/cart/components/CartItem/CartItemProductOrderDetails.js +2 -2
  56. package/cart/components/CartItem/CartItemProductPriceCaption.js +5 -4
  57. package/cart/components/CartItem/CartItemProductPriceList.js +18 -12
  58. package/cart/components/CartItem/CartItemProductPriceListPromotion.js +7 -7
  59. package/cart/components/CartItem/CartItemProductProvider.connector.js +0 -2
  60. package/cart/components/CartItem/CartItemProductProvider.js +3 -30
  61. package/cart/components/CartItem/CartItemProductProvider.types.js +0 -1
  62. package/cart/components/CartItem/CartItemProductTitle.js +2 -3
  63. package/cart/components/CartItem/CartItemQuantityPicker.js +2 -7
  64. package/cart/components/CartItem/CartItemSubstitution.js +1 -2
  65. package/cart/components/CartItems/CartItemCard.js +3 -4
  66. package/cart/components/CartItems/CartItemCardReservationAccordion.js +9 -10
  67. package/cart/components/CartItems/CartItemCardReservationLabel.js +11 -11
  68. package/cart/components/CartItems/CartItemCardReservationLabelChangeStore.js +3 -3
  69. package/cart/components/CartItems/CartItemGroupReservation.js +4 -3
  70. package/cart/components/CartItems/CartItemGroupReservationLabel.js +12 -10
  71. package/cart/components/CartItems/CartItemGroupShipping.js +7 -5
  72. package/cart/components/CartItems/CartItems.js +2 -4
  73. package/cart/components/CartItems/CartItemsHeaderWide.js +43 -18
  74. package/cart/components/CartSummaryWide/CartSummaryWide.js +9 -16
  75. package/cart/components/CartSummaryWide/CartSummaryWideCheckoutButton.js +4 -8
  76. package/cart/components/PaymentBar/PaymentBarCheckoutButton.js +6 -10
  77. package/cart/components/PaymentBar/PaymentBarContent.js +4 -10
  78. package/cart/components/PaymentBar/PaymentBarPromotionCouponMessages.js +6 -2
  79. package/cart/components/PaymentBar/PaymentBarPromotionCoupons.js +5 -5
  80. package/cart/components/PaymentBar/PaymentBarPromotionalText.js +9 -10
  81. package/cart/components/PaymentBar/PaymentBarReserveButton.js +6 -10
  82. package/cart/components/PaymentBar/testUtils/mockFactories.js +64 -0
  83. package/cart/components/Substitution/connector.js +1 -1
  84. package/cart/components/SupplementalContent/SupplementalContent.connector.js +2 -1
  85. package/cart/components/SupplementalContent/SupplementalContent.js +6 -7
  86. package/category/components/CategoryImage/connector.js +1 -1
  87. package/category/components/CategoryList/index.js +4 -8
  88. package/checkout/components/AddressBook/AddressList.js +9 -10
  89. package/checkout/components/AddressBookContact/AddressBookContact.js +6 -6
  90. package/checkout/components/Checkout/CheckoutAddress.js +25 -15
  91. package/checkout/components/Checkout/CheckoutHeader.js +9 -11
  92. package/checkout/components/Checkout/CheckoutPickupContactForm.js +2 -2
  93. package/checkout/components/Checkout/CheckoutSection.js +22 -15
  94. package/checkout/components/Checkout/CheckoutSectionInfo.js +14 -17
  95. package/checkout/components/Checkout/CheckoutSectionMessages.js +5 -4
  96. package/checkout/components/CheckoutConfirmation/CheckoutConfirmation.js +15 -14
  97. package/checkout/components/CheckoutConfirmation/CheckoutConfirmationSection.js +44 -62
  98. package/checkout/components/GuestCheckout/GuestCheckoutPickup.js +7 -4
  99. package/checkout/components/PaymentMethodButton/PaymentMethodButton.js +3 -3
  100. package/checkout/components/ResponsiveBackButton/ResponsiveBackButton.js +2 -2
  101. package/checkout/components/ShippingMethods/ShippingMethod.js +6 -5
  102. package/checkout/components/ShippingMethods/ShippingMethods.js +11 -8
  103. package/checkout/components/SupplementalContent/SupplementalContent.connector.js +2 -1
  104. package/checkout/components/SupplementalContent/SupplementalContent.js +6 -7
  105. package/checkout/paymentMethods/index.js +5 -4
  106. package/checkout/paymentMethods/paypal/PaypalPayButton.js +7 -6
  107. package/checkout/paymentMethods/stripe/StripeCreditCard.js +6 -9
  108. package/components/ChipLayout/index.js +4 -4
  109. package/components/Form/Builder/ElementPhoneNumber.d.ts.map +1 -1
  110. package/components/Form/Builder/ElementPhoneNumber.js +2 -6
  111. package/components/Form/Builder/stylePresets.d.ts.map +1 -1
  112. package/components/Form/Builder/stylePresets.js +12 -17
  113. package/components/Logo/connector.js +3 -1
  114. package/components/Logo/index.d.ts.map +1 -1
  115. package/components/Logo/index.js +3 -6
  116. package/components/Menu/components/Item/index.d.ts.map +1 -1
  117. package/components/Menu/components/Item/index.js +5 -17
  118. package/components/Menu/index.d.ts.map +1 -1
  119. package/components/Menu/index.js +2 -3
  120. package/components/MessageBar/MessageBar.d.ts.map +1 -1
  121. package/components/MessageBar/MessageBar.js +35 -42
  122. package/components/NavigationHandler/index.d.ts +2 -2
  123. package/components/Picker/components/Button/index.js +3 -3
  124. package/components/Picker/components/List/index.js +3 -3
  125. package/components/Picker/components/Modal/index.d.ts.map +1 -1
  126. package/components/Picker/components/Modal/index.js +2 -3
  127. package/components/Picker/spec.js +48 -41
  128. package/components/PickerUtilize/components/Button/index.d.ts.map +1 -1
  129. package/components/PickerUtilize/components/Button/index.js +6 -10
  130. package/components/PickerUtilize/index.d.ts +2 -1
  131. package/components/PickerUtilize/index.d.ts.map +1 -1
  132. package/components/PickerUtilize/spec.js +6 -3
  133. package/components/Radio/Radio.js +6 -5
  134. package/components/ResponsiveContainer/breakpoints.js +2 -2
  135. package/components/ScrollHeader/index.js +3 -3
  136. package/components/SheetList/components/Item/index.js +11 -16
  137. package/components/SheetList/index.d.ts.map +1 -1
  138. package/components/SheetList/index.js +3 -7
  139. package/components/SideNavigation/SideNavigationCategories.js +2 -7
  140. package/components/SideNavigation/SideNavigationCategoriesItem.js +2 -2
  141. package/components/SideNavigation/SideNavigationContent.js +3 -3
  142. package/components/SideNavigation/SideNavigationItem.d.ts.map +1 -1
  143. package/components/SideNavigation/SideNavigationItem.js +3 -4
  144. package/components/SideNavigation/SideNavigationNestedItem.js +2 -2
  145. package/components/Switch/index.d.ts.map +1 -1
  146. package/components/Switch/index.js +6 -7
  147. package/components/Tabs/components/TabIndicator.js +3 -3
  148. package/components/TextLink/TextLink.d.ts.map +1 -1
  149. package/components/TextLink/TextLink.js +8 -26
  150. package/components/Toggle/index.js +5 -5
  151. package/components/Typography/Typography.d.ts +87 -124
  152. package/components/Typography/Typography.d.ts.map +1 -0
  153. package/components/Typography/Typography.js +72 -57
  154. package/components/Typography/index.d.ts +2 -1
  155. package/components/Typography/index.d.ts.map +1 -0
  156. package/components/View/components/Above/index.d.ts.map +1 -1
  157. package/components/View/components/Above/index.js +3 -1
  158. package/components/View/components/Below/index.d.ts.map +1 -1
  159. package/components/View/components/Below/index.js +3 -1
  160. package/components/View/components/Content/index.d.ts +2 -1
  161. package/components/View/components/Content/index.d.ts.map +1 -1
  162. package/components/View/components/Content/index.js +2 -2
  163. package/components/View/index.d.ts.map +1 -1
  164. package/components/View/index.js +1 -5
  165. package/components/v2/Button/Button.d.ts +1 -1
  166. package/components/v2/ButtonBase/Ripple.d.ts +2 -1
  167. package/components/v2/ButtonBase/Ripple.d.ts.map +1 -1
  168. package/core/action-creators/merchantSettings.d.ts +1 -1
  169. package/core/action-creators/merchantSettings.d.ts.map +1 -1
  170. package/core/action-creators/merchantSettings.js +3 -11
  171. package/core/action-creators/shopSettings.d.ts +1 -2
  172. package/core/action-creators/shopSettings.d.ts.map +1 -1
  173. package/core/action-creators/shopSettings.js +3 -21
  174. package/core/constants/merchantSettings.d.ts +1 -11
  175. package/core/constants/merchantSettings.d.ts.map +1 -1
  176. package/core/constants/merchantSettings.js +3 -11
  177. package/core/constants/shopSettings.d.ts +1 -27
  178. package/core/constants/shopSettings.d.ts.map +1 -1
  179. package/core/constants/shopSettings.js +3 -27
  180. package/core/helpers/scrollContainer.js +2 -2
  181. package/core/initialization/index.js +2 -1
  182. package/core/selectors/merchantSettings.d.ts +1 -20
  183. package/core/selectors/merchantSettings.d.ts.map +1 -1
  184. package/core/selectors/merchantSettings.js +3 -33
  185. package/core/selectors/shopSettings.d.ts +1 -53
  186. package/core/selectors/shopSettings.d.ts.map +1 -1
  187. package/core/selectors/shopSettings.js +3 -80
  188. package/development/components/ClientInformation/ClientInformation.js +5 -3
  189. package/development/components/DevelopmentSettings/DevelopmentSettings.js +3 -2
  190. package/development/components/SimulatedInsets/SimulatedInsetBottom.js +3 -3
  191. package/development/components/SimulatedInsets/SimulatedInsetTop.js +6 -6
  192. package/favorites/components/CommentDialog/CommentDialog.js +17 -15
  193. package/favorites/components/FavoriteButtonWide/FavoriteButtonWide.js +6 -7
  194. package/favorites/components/Item/Item.d.ts.map +1 -1
  195. package/favorites/components/Item/Item.js +19 -17
  196. package/favorites/components/Item/ItemCharacteristics.d.ts.map +1 -1
  197. package/favorites/components/Item/ItemCharacteristics.js +6 -14
  198. package/favorites/components/Item/ItemNotes.js +23 -20
  199. package/favorites/components/Item/ItemQuantity.js +1 -1
  200. package/favorites/components/List/List.d.ts.map +1 -1
  201. package/favorites/components/List/List.js +1 -5
  202. package/favorites/components/ListChooser/ListChooserItem.js +1 -1
  203. package/favorites/components/Lists/Lists.js +15 -3
  204. package/favorites/components/Lists/ListsModal.d.ts.map +1 -1
  205. package/favorites/components/Lists/ListsModal.js +4 -11
  206. package/favorites/components/RemoveButton/RemoveButton.d.ts.map +1 -1
  207. package/favorites/components/RemoveButton/RemoveButton.js +1 -2
  208. package/filter/components/FilterItem/index.js +5 -8
  209. package/filter/components/FilterItem/spec.js +3 -3
  210. package/filter/components/FilterPageContent/components/Selector/components/Selected/spec.js +5 -5
  211. package/filter/components/FilterPageContent/components/Selector/components/Toggle/index.js +3 -3
  212. package/filter/components/FilterPageContent/components/Selector/components/Toggle/spec.js +5 -5
  213. package/filter/components/FilterPageContent/components/Selector/components/ValueButton/index.js +4 -5
  214. package/filter/components/FilterPageContent/components/Selector/spec.js +3 -3
  215. package/filter/components/PriceSlider/components/Label/index.js +9 -13
  216. package/filter/components/PriceSlider/components/Label/spec.js +12 -3
  217. package/filter/components/PriceSlider/index.js +4 -9
  218. package/filter/components/PriceSlider/spec.js +10 -5
  219. package/filter/selectors/index.js +2 -2
  220. package/locations/components/Cart/CartContextMenuChangeFulfillmentContent.js +1 -1
  221. package/locations/components/ChangeLocationButton/ChangeLocationButton.js +1 -1
  222. package/locations/components/FulfillmentPath/FulfillmentPathItem.js +1 -7
  223. package/locations/components/FulfillmentSelector/FulfillmentSelector.connector.js +2 -2
  224. package/locations/components/FulfillmentSelector/FulfillmentSelectorAlternativeLocation.js +12 -10
  225. package/locations/components/FulfillmentSelector/FulfillmentSelectorHeader.js +1 -1
  226. package/locations/components/FulfillmentSelector/FulfillmentSelectorImpossibleError.js +3 -3
  227. package/locations/components/FulfillmentSelector/FulfillmentSelectorItem.js +4 -4
  228. package/locations/components/FulfillmentSelector/FulfillmentSelectorLocation.js +18 -15
  229. package/locations/components/FulfillmentSelector/FulfillmentSelectorLocationMethodNotAvailable.js +3 -3
  230. package/locations/components/FulfillmentSheet/FulfillmentSheetContent.js +4 -8
  231. package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotDialog.js +22 -21
  232. package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotProvider.connector.js +1 -1
  233. package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotSwitcher.connector.js +1 -1
  234. package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotSwitcher.js +4 -4
  235. package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotSwitcherBar.js +14 -18
  236. package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotSwitcherDefault.js +12 -15
  237. package/locations/components/GlobalLocationSelector/GlobalLocationSelector.js +1 -1
  238. package/locations/components/GlobalLocationSwitcher/GlobalLocationSwitcher.connector.js +1 -1
  239. package/locations/components/GlobalLocationSwitcher/GlobalLocationSwitcherBar.js +13 -17
  240. package/locations/components/GlobalLocationSwitcher/GlobalLocationSwitcherDefault.js +12 -12
  241. package/locations/components/ReservationResponses/ReservationError.js +9 -6
  242. package/locations/components/ReservationResponses/ReservationSuccess.js +14 -9
  243. package/locations/components/ReserveForm/ReserveForm.js +6 -5
  244. package/locations/components/ReserveForm/ReserveFormPhone.js +7 -9
  245. package/locations/components/StockInfo/StockInfo.js +4 -2
  246. package/locations/components/StockInfoLists/index.js +5 -7
  247. package/locations/components/StoreDetails/components/FindMoreStores.js +11 -12
  248. package/locations/components/StoreDetails/components/GetDirectionsButton.js +3 -5
  249. package/locations/components/StoreDetails/components/StoreDetails.js +24 -26
  250. package/locations/components/StoreDetails/components/StoreFinderMap.js +4 -4
  251. package/locations/components/StoreDetails/components/StoresNearby.js +5 -3
  252. package/locations/components/StoreDetails/components/StoresNearbyListItem.js +24 -10
  253. package/locations/components/StoreFinder/StoreFinder.js +1 -1
  254. package/locations/components/StoreFinder/StoreFinderGetDirectionsButton.js +5 -5
  255. package/locations/components/StoreFinder/StoreFinderLocationDetails.js +7 -6
  256. package/locations/components/StoreFinder/StoreFinderLocationHeader.js +17 -21
  257. package/locations/components/StoreFinder/StoreFinderLocations.js +2 -6
  258. package/locations/components/StoreFinder/StoreFinderSelectLocationButton.js +3 -3
  259. package/locations/components/StoreFinder/StoreFinderStoreInfoButton.js +3 -3
  260. package/locations/components/StoreList/StoreAddress.js +3 -3
  261. package/locations/components/StoreList/StoreAddressShort.js +10 -12
  262. package/locations/components/StoreList/StoreDetails.js +1 -2
  263. package/locations/components/StoreList/StoreDetailsLine.js +3 -3
  264. package/locations/components/StoreList/StoreDistance.js +6 -17
  265. package/locations/components/StoreList/StoreHeader.js +7 -7
  266. package/locations/components/StoreList/StoreHoursToday.js +3 -3
  267. package/locations/components/StoreList/StoreListLocations.js +20 -18
  268. package/locations/components/StoreList/StoreListProduct.js +2 -3
  269. package/locations/components/StoreList/StoreListProductInfo.js +9 -6
  270. package/locations/components/StoreList/StoreListProductName.js +4 -3
  271. package/locations/components/StoreList/StoreListSearch.js +10 -11
  272. package/locations/components/StoreList/StoreListSearchRadius.js +4 -5
  273. package/locations/components/StoreList/StoreOpeningHours.js +10 -12
  274. package/locations/components/StoreList/StorePhoneNumber.js +10 -12
  275. package/locations/components/StoreList/StoreSelectLocationButton.js +3 -3
  276. package/locations/helpers/showInventoryInLists.js +1 -1
  277. package/locations/providers/FulfillmentProvider.connector.js +1 -1
  278. package/locations/reducers/index.js +1 -1
  279. package/locations/selectors/index.js +2 -1
  280. package/locations/subscriptions.js +2 -2
  281. package/login/components/ForgotPassword/ForgotPassword.js +16 -16
  282. package/orders/components/OrderDetails/OrderDetailsAuthenticate.js +1 -1
  283. package/orders/components/OrderDetails/OrderDetailsContent.js +5 -4
  284. package/orders/components/OrderDetails/OrderDetailsOrderHeader.js +7 -8
  285. package/orders/components/OrderDetails/OrderDetailsOrderPickupLocation.js +2 -2
  286. package/orders/components/OrderHistory/OrderHistoryList.d.ts.map +1 -1
  287. package/orders/components/OrderHistory/OrderHistoryList.js +4 -8
  288. package/orders/components/OrderHistory/OrderHistoryTable.js +1 -1
  289. package/package.json +12 -11
  290. package/page/components/NotFound.js +8 -7
  291. package/page/components/WidgetHeadline/WidgetHeadline.js +4 -3
  292. package/page/components/WidgetRichText/WidgetRichText.js +1 -1
  293. package/page/components/Widgets/Tooltip.js +7 -8
  294. package/page/components/Widgets/Widget.js +4 -4
  295. package/page/components/Widgets/constants.js +0 -5
  296. package/page/components/Widgets/hooks.js +5 -96
  297. package/page/constants/index.js +5 -2
  298. package/page/selectors/index.js +2 -1
  299. package/page/widgets/HTML/HTML.js +5 -9
  300. package/page/widgets/NestedCategoryFilter/NestedCategoryFilter.js +0 -5
  301. package/page/widgets/NestedCategoryFilter/components/Picker/components/SheetItem/index.js +2 -2
  302. package/page/widgets/NestedCategoryFilter/components/Picker/index.js +7 -9
  303. package/page/widgets/Placeholder/Placeholder.js +7 -8
  304. package/product/components/Availability/Availability.js +0 -4
  305. package/product/components/Characteristics/Characteristic/components/SheetItem/index.js +4 -8
  306. package/product/components/Characteristics/Characteristic/index.js +9 -12
  307. package/product/components/Characteristics/Swatch/index.js +3 -7
  308. package/product/components/Characteristics/transition.js +4 -4
  309. package/product/components/Description/index.js +6 -7
  310. package/product/components/EffectivityDates/index.js +23 -17
  311. package/product/components/FilterBar/components/Content/components/FilterButton/index.js +7 -13
  312. package/product/components/FilterBar/components/Content/components/Sort/index.js +7 -13
  313. package/product/components/FilterBar/components/FilterModal/FilterModalContent.js +3 -7
  314. package/product/components/FilterBar/components/FilterModal/FilterModalTitle.js +13 -12
  315. package/product/components/FilterBar/index.js +4 -8
  316. package/product/components/Header/PriceStriked/index.js +4 -8
  317. package/product/components/Header/Shipping/index.js +3 -3
  318. package/product/components/Header/Shipping/spec.js +7 -8
  319. package/product/components/Header/Tiers/components/Tier/index.js +3 -3
  320. package/product/components/Header/Tiers/components/Tier/spec.js +4 -4
  321. package/product/components/Header/Tiers/index.js +5 -3
  322. package/product/components/Header/Tiers/spec.js +7 -7
  323. package/product/components/MapPriceHint/index.js +8 -7
  324. package/product/components/Media/MediaImage.js +2 -2
  325. package/product/components/Media/MediaPlaceholder.js +3 -4
  326. package/product/components/Options/components/TextOption/components/OptionInfo/index.js +18 -18
  327. package/product/components/Options/components/TextOption/components/OptionInfo/spec.js +30 -21
  328. package/product/components/Options/components/TextOption/index.js +8 -11
  329. package/product/components/OrderQuantityHint/index.js +10 -16
  330. package/product/components/PriceDifference/index.js +4 -8
  331. package/product/components/PriceInfo/PriceInfo.connector.js +2 -2
  332. package/product/components/PriceInfo/PriceInfo.js +3 -4
  333. package/product/components/ProductCard/index.js +4 -5
  334. package/product/components/ProductDiscountBadge/index.js +3 -3
  335. package/product/components/ProductDiscountBadge/spec.js +5 -5
  336. package/product/components/ProductGrid/components/Item/components/ItemFavoritesButton/index.js +1 -1
  337. package/product/components/ProductGrid/components/Item/components/ItemFavoritesButton/spec.js +7 -7
  338. package/product/components/ProductGrid/components/Item/components/ItemImage/spec.js +3 -3
  339. package/product/components/ProductGrid/components/Item/components/ItemName/index.js +3 -4
  340. package/product/components/ProductGrid/components/Item/components/ItemName/spec.js +3 -3
  341. package/product/components/ProductGrid/components/Item/components/ItemPrice/spec.js +4 -4
  342. package/product/components/ProductGrid/components/Item/index.js +1 -5
  343. package/product/components/ProductGridPrice/index.js +9 -15
  344. package/product/components/ProductImage/ProductImagePlaceholder.js +9 -12
  345. package/product/components/ProductImage/index.js +6 -8
  346. package/product/components/ProductList/components/Item/index.js +5 -9
  347. package/product/components/ProductList/components/Layout/index.js +1 -1
  348. package/product/components/ProductName/ProductName.d.ts +1 -1
  349. package/product/components/ProductName/ProductName.d.ts.map +1 -1
  350. package/product/components/ProductName/ProductNameContent.d.ts +2 -1
  351. package/product/components/ProductName/ProductNameContent.d.ts.map +1 -1
  352. package/product/components/ProductProperties/Content.js +1 -1
  353. package/product/components/ProductProperties/Group.js +6 -4
  354. package/product/components/ProductProperties/GroupedProperties.js +1 -1
  355. package/product/components/ProductProperties/Wrapper.js +4 -2
  356. package/product/components/ProductRatingStars/ProductRatingStars.d.ts +1 -1
  357. package/product/components/ProductSlider/spec.js +5 -5
  358. package/product/components/Rating/spec.js +9 -8
  359. package/product/components/RelationsSlider/RelationsSheet.js +1 -5
  360. package/product/components/RelationsSlider/RelationsSliderContent.js +4 -4
  361. package/product/components/Swatch/SwatchContent.js +3 -7
  362. package/product/components/Swatches/Swatches.js +3 -7
  363. package/product/components/UnitQuantityPicker/ProductUnitQuantityPicker.js +4 -4
  364. package/product/components/UnitQuantityPicker/UnitQuantityPicker.d.ts.map +1 -1
  365. package/product/components/UnitQuantityPicker/UnitQuantityPicker.js +9 -12
  366. package/push-opt-in/components/PushOptInModal/index.js +14 -14
  367. package/registration/components/GuestRegistration/GuestRegistrationFormPickup.js +2 -2
  368. package/registration/components/Registration/RegistrationContent.js +2 -1
  369. package/registration/components/Registration/RegistrationFormBase.config.js +2 -1
  370. package/registration/providers/GuestRegistrationProvider.actions.js +1 -1
  371. package/registration/providers/GuestRegistrationProvider.connector.js +3 -2
  372. package/registration/providers/GuestRegistrationProvider.js +2 -1
  373. package/registration/providers/RegistrationProvider.actions.js +4 -2
  374. package/registration/providers/RegistrationProvider.connector.js +2 -2
  375. package/registration/providers/RegistrationProvider.constraints.js +1 -1
  376. package/registration/providers/RegistrationProvider.js +2 -1
  377. package/reviews/components/Reviews/components/Header/components/NoReviews/index.js +1 -1
  378. package/reviews/components/Reviews/components/Header/components/ReviewsExcerpt/index.js +3 -3
  379. package/reviews/components/Reviews/components/Header/components/WriteReviewLink/spec.js +43 -26
  380. package/reviews/components/Reviews/components/Header/spec.js +47 -29
  381. package/reviews/components/Reviews/components/List/components/Info/index.js +16 -26
  382. package/reviews/components/Reviews/components/List/components/Text/index.js +4 -2
  383. package/reviews/components/Reviews/components/List/components/Title/index.js +3 -3
  384. package/reviews/components/Reviews/components/List/index.js +1 -5
  385. package/reviews/components/Reviews/components/List/spec.js +68 -29
  386. package/reviews/components/Reviews/components/RatingCount/index.js +13 -15
  387. package/reviews/components/Reviews/components/RatingCount/spec.js +25 -5
  388. package/reviews/components/Reviews/components/ReviewsInfo/index.js +9 -9
  389. package/reviews/components/Reviews/spec.js +56 -28
  390. package/settings/action-creators/appSettings.d.ts +12 -0
  391. package/settings/action-creators/appSettings.d.ts.map +1 -0
  392. package/settings/action-creators/appSettings.js +10 -0
  393. package/settings/action-creators/merchantSettings.d.ts +2 -0
  394. package/settings/action-creators/merchantSettings.d.ts.map +1 -0
  395. package/settings/action-creators/merchantSettings.js +11 -0
  396. package/settings/action-creators/shopSettings.d.ts +3 -0
  397. package/settings/action-creators/shopSettings.d.ts.map +1 -0
  398. package/settings/action-creators/shopSettings.js +21 -0
  399. package/settings/constants/appSettings.d.ts +2 -0
  400. package/settings/constants/appSettings.d.ts.map +1 -0
  401. package/settings/constants/appSettings.js +1 -0
  402. package/settings/constants/merchantSettings.d.ts +12 -0
  403. package/settings/constants/merchantSettings.d.ts.map +1 -0
  404. package/settings/constants/merchantSettings.js +11 -0
  405. package/settings/constants/shopSettings.d.ts +28 -0
  406. package/settings/constants/shopSettings.d.ts.map +1 -0
  407. package/settings/constants/shopSettings.js +27 -0
  408. package/settings/reducers/appSettings.d.ts +18 -0
  409. package/settings/reducers/appSettings.d.ts.map +1 -0
  410. package/settings/reducers/appSettings.js +42 -0
  411. package/settings/reducers/index.d.ts +15 -0
  412. package/settings/reducers/index.d.ts.map +1 -0
  413. package/{core → settings}/reducers/index.js +4 -3
  414. package/settings/reducers/merchantSettings.d.ts +18 -0
  415. package/settings/reducers/merchantSettings.d.ts.map +1 -0
  416. package/{core → settings}/reducers/merchantSettings.js +9 -3
  417. package/settings/reducers/shopSettings.d.ts +28 -0
  418. package/settings/reducers/shopSettings.d.ts.map +1 -0
  419. package/{core → settings}/reducers/shopSettings.js +10 -4
  420. package/settings/selectors/appSettings.d.ts +44 -0
  421. package/settings/selectors/appSettings.d.ts.map +1 -0
  422. package/settings/selectors/appSettings.js +23 -0
  423. package/settings/selectors/merchantSettings.d.ts +21 -0
  424. package/settings/selectors/merchantSettings.d.ts.map +1 -0
  425. package/settings/selectors/merchantSettings.js +34 -0
  426. package/settings/selectors/shopSettings.d.ts +54 -0
  427. package/settings/selectors/shopSettings.d.ts.map +1 -0
  428. package/settings/selectors/shopSettings.js +81 -0
  429. package/settings/types/appSettings.d.ts +32 -0
  430. package/settings/types/appSettings.d.ts.map +1 -0
  431. package/settings/types/appSettings.js +1 -0
  432. package/styles/helpers/setPageBackgroundColor.js +2 -2
  433. package/styles/index.d.ts +1 -1
  434. package/styles/index.d.ts.map +1 -1
  435. package/styles/index.js +1 -1
  436. package/styles/theme/createDefaultThemeOptions/index.d.ts.map +1 -1
  437. package/styles/theme/createDefaultThemeOptions/index.js +72 -3
  438. package/styles/theme/createTheme/createComponents.types.d.ts +169 -0
  439. package/styles/theme/createTheme/createComponents.types.d.ts.map +1 -1
  440. package/styles/theme/createTheme/createComponents.types.js +169 -0
  441. package/styles/theme/createTheme/createCssVarsForColorSchemeThemes.d.ts.map +1 -1
  442. package/styles/theme/createTheme/createCssVarsForColorSchemeThemes.js +28 -2
  443. package/styles/theme/createTheme/createPalette.types.d.ts +15 -7
  444. package/styles/theme/createTheme/createPalette.types.d.ts.map +1 -1
  445. package/styles/theme/createTheme/createPalette.types.js +16 -8
  446. package/styles/theme/createTheme/createSpacing.js +4 -1
  447. package/styles/theme/createTheme/createThemeFromColorScheme.d.ts +9 -2
  448. package/styles/theme/createTheme/createThemeFromColorScheme.d.ts.map +1 -1
  449. package/styles/theme/createTheme/createThemeFromColorScheme.js +10 -1
  450. package/styles/theme/createTheme/helpers/cssVarsColorAugmentation.d.ts +2 -1
  451. package/styles/theme/createTheme/helpers/cssVarsColorAugmentation.d.ts.map +1 -1
  452. package/styles/theme/createTheme/helpers/cssVarsColorAugmentation.js +84 -6
  453. package/styles/theme/createTheme/helpers/cssVarsParser.d.ts.map +1 -1
  454. package/styles/theme/createTheme/helpers/cssVarsParser.js +1 -1
  455. package/styles/theme/createTheme/index.d.ts.map +1 -1
  456. package/styles/theme/createTheme/index.js +2 -2
  457. package/styles/theme/createTheme/layout.d.ts +23 -0
  458. package/styles/theme/createTheme/layout.d.ts.map +1 -0
  459. package/styles/theme/createTheme/layout.js +20 -0
  460. package/styles/theme/createTheme/transitions.d.ts +4 -0
  461. package/styles/theme/createTheme/transitions.js +3 -1
  462. package/styles/theme/createTheme/types.d.ts +32 -5
  463. package/styles/theme/createTheme/types.d.ts.map +1 -1
  464. package/styles/theme/createTheme/types.js +8 -1
  465. package/styles/theme/hocs/index.d.ts +2 -0
  466. package/styles/theme/hocs/index.d.ts.map +1 -0
  467. package/styles/theme/hocs/index.js +1 -0
  468. package/styles/theme/hocs/withTheme.d.ts +21 -0
  469. package/styles/theme/hocs/withTheme.d.ts.map +1 -0
  470. package/styles/theme/hocs/withTheme.js +33 -0
  471. package/styles/theme/index.d.ts +1 -0
  472. package/styles/theme/index.d.ts.map +1 -1
  473. package/styles/theme/index.js +2 -1
  474. package/styles/theme/providers/ActiveBreakpointProvider.d.ts +1 -1
  475. package/styles/theme/providers/ThemeProvider.d.ts +3 -3
  476. package/styles/theme/providers/ThemeProvider.d.ts.map +1 -1
  477. package/styles/theme/providers/ThemeProvider.js +13 -15
  478. package/tracking/components/CookieConsentModal/index.js +12 -12
  479. package/tracking/components/PrivacySettings/index.js +4 -4
  480. package/tracking/selectors/cookieConsent.js +2 -2
  481. package/tsconfig.json +1 -0
@@ -3,14 +3,10 @@ import PropTypes from 'prop-types';
3
3
  import { i18n, hasNewServices } from '@shopgate/engage/core/helpers';
4
4
  import { UIEvents } from '@shopgate/engage/core';
5
5
  import { useWidgetSettings } from '@shopgate/engage/core/hooks';
6
- import { makeStyles } from '@shopgate/engage/styles';
7
- import { themeConfig } from '@shopgate/engage';
6
+ import { makeStyles, useTheme } from '@shopgate/engage/styles';
8
7
  import { RippleButton, QuantityInput } from '@shopgate/engage/components';
9
8
  import { broadcastLiveMessage } from '@shopgate/engage/a11y/helpers';
10
9
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
11
- const {
12
- colors
13
- } = themeConfig;
14
10
  const useStyles = makeStyles()((theme, {
15
11
  inputColor,
16
12
  inputBgColor,
@@ -40,8 +36,8 @@ const useStyles = makeStyles()((theme, {
40
36
  display: 'flex',
41
37
  alignItems: 'center',
42
38
  width: '100%',
43
- fontSize: 16,
44
- backgroundColor: 'var(--color-background-accent)',
39
+ fontSize: theme.typography.body1.fontSize,
40
+ backgroundColor: theme.components.input.background,
45
41
  ...(inputColor && {
46
42
  color: `${inputColor}`
47
43
  }),
@@ -140,6 +136,7 @@ const UnitQuantityPicker = ({
140
136
  toggleTabBarOnFocus,
141
137
  quantityLabel
142
138
  }) => {
139
+ const theme = useTheme();
143
140
  const widgetDefaults = useMemo(() => {
144
141
  if (hasNewServices()) {
145
142
  // The widget configuration was introduced with CCP-2449 in PWA6. It's inactive for now
@@ -148,13 +145,13 @@ const UnitQuantityPicker = ({
148
145
  return {};
149
146
  }
150
147
  return {
151
- buttonColor: colors.shade8,
152
- buttonBgColor: colors.primary,
153
- inputColor: colors.dark,
154
- inputBgColor: colors.shade8,
148
+ buttonColor: theme.palette.primary.contrastText,
149
+ buttonBgColor: theme.palette.primary.main,
150
+ inputColor: theme.palette.text.primary,
151
+ inputBgColor: theme.palette.grey.light,
155
152
  showLabel: true
156
153
  };
157
- }, []);
154
+ }, [theme]);
158
155
  const {
159
156
  buttonColor = widgetDefaults.buttonColor,
160
157
  buttonBgColor = widgetDefaults.buttonBgColor,
@@ -2,24 +2,21 @@ import React, { useMemo, useEffect } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import throttle from 'lodash/throttle';
4
4
  import { makeStyles } from '@shopgate/engage/styles';
5
- import { Grid, I18n, Button, Modal } from '@shopgate/engage/components';
6
- import { appConfig, themeConfig } from '@shopgate/engage';
5
+ import { Grid, I18n, Button, Modal, Typography } from '@shopgate/engage/components';
6
+ import { appConfig } from '@shopgate/engage';
7
7
  import pushImage from "./push-opt-in.svg";
8
8
  import connect from "./connector";
9
9
  import { svgToDataUrl } from "../../../core";
10
10
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
- const {
12
- colors
13
- } = themeConfig;
14
- const useStyles = makeStyles()(() => ({
11
+ const useStyles = makeStyles()(theme => ({
15
12
  modalContent: {
16
13
  width: '100%'
17
14
  },
18
15
  modalLayout: {
19
- backgroundColor: colors.lightOverlay
16
+ backgroundColor: theme.palette.background.surface
20
17
  },
21
18
  container: {
22
- backgroundColor: colors.lightOverlay,
19
+ backgroundColor: theme.palette.background.surface,
23
20
  textAlign: 'center',
24
21
  padding: '30px',
25
22
  justifyContent: 'center',
@@ -27,8 +24,6 @@ const useStyles = makeStyles()(() => ({
27
24
  flexDirection: 'column'
28
25
  },
29
26
  title: {
30
- fontWeight: 'bold',
31
- fontSize: '1.35rem',
32
27
  paddingTop: '30px',
33
28
  paddingBottom: '30px'
34
29
  },
@@ -45,7 +40,7 @@ const useStyles = makeStyles()(() => ({
45
40
  marginTop: '30px'
46
41
  },
47
42
  buttonText: {
48
- color: colors.gray
43
+ color: theme.palette.text.secondary
49
44
  }
50
45
  }));
51
46
 
@@ -117,10 +112,15 @@ const PushOptInModal = ({
117
112
  className: cx(classes.image, 'push-opt-in-modal__image'),
118
113
  alt: "",
119
114
  "aria-hidden": "true"
120
- }), /*#__PURE__*/_jsx(I18n.Text, {
115
+ }), /*#__PURE__*/_jsx(Typography, {
116
+ variant: "h3",
117
+ component: "div",
118
+ fontWeight: "bold",
121
119
  className: cx(classes.title, 'push-opt-in-modal__title'),
122
- string: modalTitle || 'pushOptInModal.title',
123
- id: "pushOptInDialogTitle"
120
+ children: /*#__PURE__*/_jsx(I18n.Text, {
121
+ string: modalTitle || 'pushOptInModal.title',
122
+ id: "pushOptInDialogTitle"
123
+ })
124
124
  }), /*#__PURE__*/_jsx(I18n.Text, {
125
125
  className: cx('push-opt-in-modal__message'),
126
126
  string: modalMessage || 'pushOptInModal.message',
@@ -22,13 +22,13 @@ const useStyles = makeStyles()(theme => ({
22
22
  },
23
23
  ' .guestFormPickupPerson .label span': {
24
24
  color: theme.palette.text.primary,
25
- fontWeight: 'bold'
25
+ fontWeight: theme.typography.fontWeightBold
26
26
  },
27
27
  ' .guestFormPickupPerson .radioGroup': {
28
28
  marginTop: theme.spacing(1),
29
29
  flexDirection: 'row',
30
30
  ' .uncheckedIcon': {
31
- color: 'var(--color-text-medium-emphasis)'
31
+ color: theme.palette.text.secondary
32
32
  }
33
33
  },
34
34
  ...StylePresets.getOutlinedFormFields(theme)
@@ -1,6 +1,7 @@
1
1
  import React, { forwardRef } from 'react';
2
2
  import { makeStyles } from '@shopgate/engage/styles';
3
- import { isIOSTheme, SHOP_SETTING_REGISTRATION_MODE_SIMPLE } from '@shopgate/engage/core';
3
+ import { isIOSTheme } from '@shopgate/engage/core';
4
+ import { SHOP_SETTING_REGISTRATION_MODE_SIMPLE } from '@shopgate/engage/settings/constants/shopSettings';
4
5
  import RegistrationFormBase from "./RegistrationFormBase";
5
6
  import RegistrationFormBilling from "./RegistrationFormBilling";
6
7
  import RegistrationFormShipping from "./RegistrationFormShipping";
@@ -1,4 +1,5 @@
1
- import { i18n, SHOP_SETTING_REGISTRATION_MODE_SIMPLE, SHOP_SETTING_REGISTRATION_MODE_EXTENDED } from '@shopgate/engage/core';
1
+ import { i18n } from '@shopgate/engage/core';
2
+ import { SHOP_SETTING_REGISTRATION_MODE_SIMPLE, SHOP_SETTING_REGISTRATION_MODE_EXTENDED } from '@shopgate/engage/settings/constants/shopSettings';
2
3
 
3
4
  /**
4
5
  * Generates form configuration.
@@ -1,7 +1,7 @@
1
1
  import { EVALIDATION } from '@shopgate/engage/core';
2
2
  import { updateCheckoutOrder } from '@shopgate/engage/checkout/actions';
3
3
  import { extractAttributes, convertPipelineValidationErrors } from '@shopgate/engage/account/helper/form';
4
- import { getMerchantCustomerAttributes } from '@shopgate/engage/core/selectors/merchantSettings';
4
+ import { getMerchantCustomerAttributes } from '@shopgate/engage/settings/selectors/merchantSettings';
5
5
 
6
6
  /**
7
7
  * Submits guest registration form data.
@@ -2,11 +2,12 @@ import { connect } from 'react-redux';
2
2
  import { getShopSettings, getConfigFetching } from '@shopgate/engage/core/config';
3
3
  import { hasDirectShipItems } from '@shopgate/engage/cart';
4
4
  import { getPreferredLocationAddress } from '@shopgate/engage/locations/selectors';
5
- import { getMerchantCustomerAttributes } from '@shopgate/engage/core/selectors/merchantSettings';
5
+ import { getMerchantCustomerAttributes } from '@shopgate/engage/settings/selectors/merchantSettings';
6
6
  import { getCheckoutBillingAddress, getCheckoutShippingAddress, getCheckoutPickupAddress, getCheckoutOrderCustomer, getIsReserveOnly, isPickupAndBillingEquals, isShippingBillingEquals, getIsShippingAddressSelectionEnabled, getIsPickupContactSelectionEnabled } from '@shopgate/engage/checkout/selectors/order';
7
7
  import { getNeedsPaymentForOrder } from '@shopgate/engage/checkout/selectors/payment';
8
8
  import { prepareCheckout } from '@shopgate/engage/checkout/actions';
9
- import { historyPush, historyPop, makeIsLastStackEntry, getNumberOfAddressLines } from '@shopgate/engage/core';
9
+ import { historyPush, historyPop, makeIsLastStackEntry } from '@shopgate/engage/core';
10
+ import { getNumberOfAddressLines } from '@shopgate/engage/settings/selectors/shopSettings';
10
11
  import { submitGuestRegistration } from "./GuestRegistrationProvider.actions";
11
12
 
12
13
  /**
@@ -5,7 +5,8 @@ import identity from 'lodash/identity';
5
5
  import appConfig from '@shopgate/pwa-common/helpers/config';
6
6
  import { useFormState } from '@shopgate/engage/core/hooks/useFormState';
7
7
  import { useScrollTo } from '@shopgate/engage/core/hooks/useScrollTo';
8
- import { LoadingProvider, i18n, useAsyncMemo, useRoute, SHOP_SETTING_REGISTRATION_MODE_EXTENDED } from '@shopgate/engage/core';
8
+ import { LoadingProvider, i18n, useAsyncMemo, useRoute } from '@shopgate/engage/core';
9
+ import { SHOP_SETTING_REGISTRATION_MODE_EXTENDED } from '@shopgate/engage/settings/constants/shopSettings';
9
10
  import { ADDRESS_TYPE_SHIPPING, ADDRESS_TYPE_PICKUP } from '@shopgate/engage/checkout';
10
11
  import { extractDefaultValues } from "../../account/helper/form";
11
12
  import { GUEST_CHECKOUT_PATTERN, GUEST_CHECKOUT_PAYMENT_PATTERN } from "../../checkout/constants/routes";
@@ -1,6 +1,8 @@
1
- import { EVALIDATION, getRegistrationMode, SHOP_SETTING_REGISTRATION_MODE_SIMPLE } from '@shopgate/engage/core';
1
+ import { EVALIDATION } from '@shopgate/engage/core';
2
+ import { getRegistrationMode } from '@shopgate/engage/settings/selectors/shopSettings';
3
+ import { SHOP_SETTING_REGISTRATION_MODE_SIMPLE } from '@shopgate/engage/settings/constants/shopSettings';
2
4
  import { extractAttributes, convertPipelineValidationErrors } from '@shopgate/engage/account/helper/form';
3
- import { getMerchantCustomerAttributes } from '@shopgate/engage/core/selectors/merchantSettings';
5
+ import { getMerchantCustomerAttributes } from '@shopgate/engage/settings/selectors/merchantSettings';
4
6
  import { submitRegistration as submit } from "../actions";
5
7
 
6
8
  /**
@@ -1,9 +1,9 @@
1
1
  import { connect } from 'react-redux';
2
2
  import { getShopSettings, getConfigFetching } from '@shopgate/engage/core/config';
3
- import { getNumberOfAddressLines, getRegistrationMode } from '@shopgate/engage/core';
3
+ import { getNumberOfAddressLines, getRegistrationMode } from '@shopgate/engage/settings/selectors/shopSettings';
4
4
  import { hasDirectShipItems } from '@shopgate/engage/cart';
5
5
  import { getPreferredLocationAddress } from '@shopgate/engage/locations/selectors';
6
- import { getMerchantCustomerAttributes } from '@shopgate/engage/core/selectors/merchantSettings';
6
+ import { getMerchantCustomerAttributes } from '@shopgate/engage/settings/selectors/merchantSettings';
7
7
  import { submitRegistration } from "./RegistrationProvider.actions";
8
8
 
9
9
  /**
@@ -1,4 +1,4 @@
1
- import { SHOP_SETTING_REGISTRATION_MODE_EXTENDED, SHOP_SETTING_REGISTRATION_MODE_SIMPLE } from '@shopgate/engage/core';
1
+ import { SHOP_SETTING_REGISTRATION_MODE_EXTENDED, SHOP_SETTING_REGISTRATION_MODE_SIMPLE } from '@shopgate/engage/settings/constants/shopSettings';
2
2
  import { generateFormConstraints } from '@shopgate/engage/account/helper/form';
3
3
 
4
4
  /**
@@ -1,6 +1,7 @@
1
1
  import React, { useMemo, useState, useEffect, useCallback } from 'react';
2
2
  import { REGISTER_PATH } from '@shopgate/pwa-common/constants/RoutePaths';
3
- import { LoadingProvider, i18n, useRoute, SHOP_SETTING_REGISTRATION_MODE_SIMPLE } from '@shopgate/engage/core';
3
+ import { LoadingProvider, i18n, useRoute } from '@shopgate/engage/core';
4
+ import { SHOP_SETTING_REGISTRATION_MODE_SIMPLE } from '@shopgate/engage/settings/constants/shopSettings';
4
5
  import { useFormState } from '@shopgate/engage/core/hooks/useFormState';
5
6
  import appConfig from '@shopgate/pwa-common/helpers/config';
6
7
  import PropTypes from 'prop-types';
@@ -8,7 +8,7 @@ import WriteReviewLink from "../WriteReviewLink";
8
8
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
9
9
  const useStyles = makeStyles()(theme => ({
10
10
  container: {
11
- fontWeight: 500,
11
+ fontWeight: theme.typography.fontWeightMedium,
12
12
  margin: 0
13
13
  },
14
14
  noReviews: {
@@ -8,11 +8,11 @@ import WriteReviewLink from "../WriteReviewLink";
8
8
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
9
  const useStyles = makeStyles()(theme => ({
10
10
  container: {
11
- fontWeight: 500,
11
+ fontWeight: theme.typography.fontWeightMedium,
12
12
  margin: 0
13
13
  },
14
14
  withTopGapContainer: {
15
- fontWeight: 500,
15
+ fontWeight: theme.typography.fontWeightMedium,
16
16
  margin: 0,
17
17
  marginTop: theme.spacing(4)
18
18
  },
@@ -24,7 +24,7 @@ const useStyles = makeStyles()(theme => ({
24
24
  marginBottom: -2
25
25
  },
26
26
  averageRatingNumber: {
27
- color: 'var(--color-primary)',
27
+ color: theme.palette.primary.main,
28
28
  marginLeft: theme.spacing(1)
29
29
  },
30
30
  averageRatingText: {
@@ -1,35 +1,52 @@
1
1
  import React from 'react';
2
- import { Provider } from 'react-redux';
3
- import configureStore from 'redux-mock-store';
4
- import { mount } from 'enzyme';
5
- import { mockedStateWithAll } from '@shopgate/pwa-common-commerce/reviews/mock';
2
+ import { render, screen } from '@testing-library/react';
6
3
  import WriteReviewLink from "./index";
4
+
5
+ /* eslint-disable react/prop-types */
7
6
  import { jsx as _jsx } from "react/jsx-runtime";
8
- const mockedStore = configureStore();
9
- jest.mock('@shopgate/engage/components');
7
+ jest.mock('@shopgate/engage/components', () => ({
8
+ I18n: {
9
+ Text: ({
10
+ string
11
+ }) => /*#__PURE__*/_jsx("span", {
12
+ children: string
13
+ })
14
+ }
15
+ }));
16
+ jest.mock('@shopgate/pwa-ui-shared/ButtonLink', () => {
17
+ function ButtonLink(props) {
18
+ const {
19
+ children,
20
+ href,
21
+ noGap,
22
+ ...rest
23
+ } = props;
24
+ return /*#__PURE__*/_jsx("a", {
25
+ href: href,
26
+ ...rest,
27
+ "data-no-gap": String(noGap),
28
+ children: children
29
+ });
30
+ }
31
+ return ButtonLink;
32
+ });
10
33
 
11
34
  /**
12
- * Creates component with provided store state.
13
- * @param {Object} mockedState Mocked stage.
14
- * @return {ReactWrapper}
35
+ * Creates component.
36
+ * @return {void}
15
37
  */
16
- const createComponent = mockedState => {
17
- const Component = /*#__PURE__*/_jsx(Provider, {
18
- store: mockedStore(mockedState),
19
- children: /*#__PURE__*/_jsx(WriteReviewLink, {
20
- productId: "foo"
21
- })
22
- });
23
- return mount(Component);
24
- };
38
+ const createComponent = () => render(/*#__PURE__*/_jsx(WriteReviewLink, {
39
+ productId: "foo"
40
+ }));
25
41
  describe('<WriteReviewLink>', () => {
26
- let component = null;
27
- beforeEach(() => {
28
- jest.resetModules();
29
- });
30
42
  it('should render when current product is set', () => {
31
- component = createComponent(mockedStateWithAll);
32
- expect(component).toMatchSnapshot();
33
- expect(component.find('Text[string="reviews.button_add"]').exists()).toBe(true);
43
+ createComponent();
44
+ const link = screen.getByRole('link', {
45
+ name: 'reviews.button_add'
46
+ });
47
+ expect(link).toHaveAttribute('href', '/item/666f6f/write_review');
48
+ expect(screen.getByText('reviews.button_add')).toBeTruthy();
34
49
  });
35
- });
50
+ });
51
+
52
+ /* eslint-enable react/prop-types */
@@ -1,60 +1,78 @@
1
1
  import React from 'react';
2
- import { Provider } from 'react-redux';
3
- import { mount } from 'enzyme';
4
- import configureStore from 'redux-mock-store';
5
- import mockRenderOptions from '@shopgate/pwa-common/helpers/mocks/mockRenderOptions';
2
+ import { render, screen } from '@testing-library/react';
6
3
  import { mockProductId, mockedStateWithoutReview, mockedStateWithAll } from '@shopgate/pwa-common-commerce/reviews/mock';
7
4
  import Header from "./index";
8
5
  import { jsx as _jsx } from "react/jsx-runtime";
9
- const mockedStore = configureStore();
10
- jest.mock('@shopgate/engage/components');
6
+ const mockNoReviews = jest.fn(props => /*#__PURE__*/_jsx("div", {
7
+ "data-testid": "no-reviews",
8
+ "data-product-id": props.productId
9
+ }));
10
+ const mockReviewsExcerpt = jest.fn(props => /*#__PURE__*/_jsx("div", {
11
+ "data-testid": "reviews-excerpt",
12
+ "data-product-id": props.productId,
13
+ "data-average": String(props.average),
14
+ "data-count": String(props.count),
15
+ "data-with-top-gap": String(props.withTopGap)
16
+ }));
17
+ jest.mock("./connector", () => component => component);
18
+ jest.mock("./components/NoReviews", () => props => mockNoReviews(props));
19
+ jest.mock("./components/ReviewsExcerpt", () => props => mockReviewsExcerpt(props));
11
20
 
12
21
  /**
13
- * Creates component with provided store state.
14
- * @param {Object} mockedState Mocked stage.
15
- * @param {Object|null} props Rating prop.
16
- * @return {ReactWrapper}
22
+ * Creates component with provided props.
23
+ * @param {Object} props Header props.
24
+ * @returns {object} Render result.
17
25
  */
18
- const createComponent = (mockedState, props = {}) => mount(/*#__PURE__*/_jsx(Provider, {
19
- store: mockedStore(mockedState),
20
- children: /*#__PURE__*/_jsx(Header, {
21
- ...props
22
- })
23
- }), mockRenderOptions);
26
+ const createComponent = (props = {}) => render(/*#__PURE__*/_jsx(Header, {
27
+ ...props
28
+ }));
24
29
  describe('<Header />', () => {
25
- let header = null;
30
+ beforeEach(() => {
31
+ jest.clearAllMocks();
32
+ });
26
33
  it('should render empty', () => {
27
34
  const productId = mockProductId;
28
35
  const {
29
36
  rating
30
37
  } = mockedStateWithoutReview.product.productsById[productId].productData;
31
- header = createComponent(mockedStateWithoutReview, {
38
+ createComponent({
32
39
  productId,
33
40
  rating
34
41
  });
35
- expect(header.find('Header').exists()).toBe(true);
36
- expect(header).toMatchSnapshot();
37
- expect(header.find('RatingStars').prop('value')).toEqual(0);
38
- expect(header.find('RatingCount').isEmptyRender()).toBe(true);
42
+ expect(screen.getByTestId('no-reviews')).toHaveAttribute('data-product-id', productId);
43
+ expect(mockNoReviews).toHaveBeenCalledWith(expect.objectContaining({
44
+ productId
45
+ }));
46
+ expect(screen.queryByTestId('reviews-excerpt')).toBeNull();
39
47
  });
40
48
  it('should render rating summary', () => {
41
49
  const productId = mockProductId;
42
50
  const {
43
51
  rating
44
52
  } = mockedStateWithAll.product.productsById[productId].productData;
45
- header = createComponent(mockedStateWithAll, {
53
+ createComponent({
46
54
  productId,
47
55
  rating
48
56
  });
49
- expect(header.find('Header').exists()).toBe(true);
50
- expect(header).toMatchSnapshot();
51
- expect(header.find('RatingStars').prop('value')).toEqual(rating.average);
52
- expect(header.find('RatingCount').prop('count')).toEqual(rating.count);
57
+ expect(screen.getByTestId('reviews-excerpt')).toHaveAttribute('data-product-id', productId);
58
+ expect(screen.getByTestId('reviews-excerpt')).toHaveAttribute('data-average', String(rating.average));
59
+ expect(screen.getByTestId('reviews-excerpt')).toHaveAttribute('data-count', String(rating.count));
60
+ expect(mockReviewsExcerpt).toHaveBeenCalledWith(expect.objectContaining({
61
+ productId,
62
+ average: rating.average,
63
+ count: rating.count,
64
+ withTopGap: false
65
+ }));
66
+ expect(screen.queryByTestId('no-reviews')).toBeNull();
53
67
  });
54
68
  it('should render null when no review is provided', () => {
55
- header = createComponent(mockedStateWithAll, {
69
+ const {
70
+ container
71
+ } = createComponent({
56
72
  productId: 'some-id'
57
73
  });
58
- expect(header.isEmptyRender()).toBe(true);
74
+ expect(container.firstChild).toBeNull();
75
+ expect(screen.queryByTestId('no-reviews')).toBeNull();
76
+ expect(screen.queryByTestId('reviews-excerpt')).toBeNull();
59
77
  });
60
78
  });
@@ -1,41 +1,31 @@
1
1
  import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
- import { makeStyles } from '@shopgate/engage/styles';
3
+ import { Typography } from '@shopgate/engage/components';
4
4
  import ReviewDate from "./components/ReviewDate";
5
5
  import Author from "./components/Author";
6
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
- const useStyles = makeStyles()({
8
- root: {
9
- color: 'var(--color-text-medium-emphasis)',
10
- fontSize: 14
11
- }
12
- });
13
6
 
14
7
  /**
15
8
  * Review Info Component.
16
9
  * @param {Object} props The props.
17
10
  * @returns {JSX}
18
11
  */
12
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
19
13
  const Info = ({
20
14
  review
21
- }) => {
22
- const {
23
- classes
24
- } = useStyles();
25
- return (
26
- /*#__PURE__*/
27
- // eslint-disable-next-line jsx-a11y/aria-role
28
- _jsxs("div", {
29
- className: classes.root,
30
- role: "text",
31
- children: [/*#__PURE__*/_jsx(ReviewDate, {
32
- date: review.date
33
- }), ' ', /*#__PURE__*/_jsx(Author, {
34
- author: review.author
35
- })]
36
- })
37
- );
38
- };
15
+ }) =>
16
+ /*#__PURE__*/
17
+ // eslint-disable-next-line jsx-a11y/aria-role
18
+ _jsxs(Typography, {
19
+ variant: "body2",
20
+ component: "div",
21
+ color: "textSecondary",
22
+ role: "text",
23
+ children: [/*#__PURE__*/_jsx(ReviewDate, {
24
+ date: review.date
25
+ }), ' ', /*#__PURE__*/_jsx(Author, {
26
+ author: review.author
27
+ })]
28
+ });
39
29
  Info.defaultProps = {
40
30
  review: null
41
31
  };
@@ -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 } from "react/jsx-runtime";
5
6
  const useStyles = makeStyles()({
6
7
  root: {
7
- fontSize: 14,
8
8
  fontStyle: 'italic',
9
9
  whiteSpace: 'pre-line'
10
10
  }
@@ -24,7 +24,9 @@ const Text = ({
24
24
  if (!review) {
25
25
  return null;
26
26
  }
27
- return /*#__PURE__*/_jsx("div", {
27
+ return /*#__PURE__*/_jsx(Typography, {
28
+ variant: "body2",
29
+ component: "div",
28
30
  className: classes.root,
29
31
  children: `"${review}"`
30
32
  });
@@ -2,12 +2,12 @@ import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { makeStyles } from '@shopgate/engage/styles';
4
4
  import { jsx as _jsx } from "react/jsx-runtime";
5
- const useStyles = makeStyles()({
5
+ const useStyles = makeStyles()(theme => ({
6
6
  root: {
7
- fontWeight: 500,
7
+ fontWeight: theme.typography.fontWeightMedium,
8
8
  lineHeight: '20px'
9
9
  }
10
- });
10
+ }));
11
11
 
12
12
  /**
13
13
  * Review Title Component.
@@ -3,20 +3,16 @@ import PropTypes from 'prop-types';
3
3
  import { SurroundPortals } from '@shopgate/engage/components';
4
4
  import { PRODUCT_REVIEWS_ENTRY } from '@shopgate/engage/product';
5
5
  import { makeStyles } from '@shopgate/engage/styles';
6
- import { themeConfig } from '@shopgate/pwa-common/helpers/config';
7
6
  import Title from "./components/Title";
8
7
  import Rating from "./components/Rating";
9
8
  import Text from "./components/Text";
10
9
  import Info from "./components/Info";
11
10
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
- const {
13
- colors
14
- } = themeConfig;
15
11
  const useStyles = makeStyles()(theme => ({
16
12
  item: {
17
13
  marginLeft: theme.spacing(2),
18
14
  padding: theme.spacing(2, 2, 2, 0),
19
- borderTop: `1px solid ${colors.shade7}`
15
+ borderTop: `1px solid ${theme.components.border.light}`
20
16
  }
21
17
  }));
22
18