@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
@@ -1,3 +1,74 @@
1
+ import "core-js/modules/es.array.reduce.js";
2
+ import cssVarsParser from "./cssVarsParser";
3
+
4
+ /**
5
+ * Builds lookup keys for CSS variables that are injected by addAugmentationToVars.
6
+ *
7
+ * For each augmentable palette entry this returns keys for `dark`, `light`, and
8
+ * `contrastText`, e.g. `--sg-palette-primary-dark`.
9
+ * @param vars Theme vars object to inspect.
10
+ * @param cssVarsPrefix Optional CSS variable prefix.
11
+ * @returns Flat list of CSS variable lookup keys.
12
+ */
13
+ function getAugmentedPaletteLookupKeys(vars, cssVarsPrefix = 'sg') {
14
+ if (!vars.palette) return [];
15
+ const prefix = cssVarsPrefix ? `${cssVarsPrefix}-` : '';
16
+ const keys = [];
17
+ Object.keys(vars.palette).forEach(key => {
18
+ // @ts-expect-error - We are sure about the type here
19
+ const paletteEntry = vars.palette[key];
20
+ if (paletteEntry && typeof paletteEntry === 'object' && paletteEntry.main) {
21
+ const base = `--${prefix}palette-${key}`;
22
+ keys.push(`${base}-dark`, `${base}-light`, `${base}-contrastText`);
23
+ }
24
+ });
25
+ return keys;
26
+ }
27
+
28
+ /**
29
+ * Merges refreshed augmented palette CSS variables into the original CSS map.
30
+ *
31
+ * The original `cssInput` was generated before palette augmentation, so `dark`,
32
+ * `light`, and `contrastText` entries derived from augmented vars must be
33
+ * regenerated and merged back in.
34
+ * @param cssInput Original CSS variables map from the parser result.
35
+ * @param varsInput Original vars object, used to determine which palette keys are augmentable.
36
+ * @param vars Augmented vars object containing the updated palette values.
37
+ * @param cssVarsPrefix Prefix used to build CSS variable names.
38
+ * @returns CSS map with augmented palette keys overwritten by fresh values.
39
+ */
40
+ function addAugmentationToCss(cssInput, varsInput, vars, cssVarsPrefix) {
41
+ // Re-parse the augmented vars so we can derive up-to-date css variable values.
42
+ const {
43
+ css: augmentedCss
44
+ } = cssVarsParser(vars, {
45
+ prefix: cssVarsPrefix
46
+ });
47
+
48
+ // Only copy keys that are introduced/overwritten by color augmentation.
49
+ // This keeps all non-augmented entries from the original parser result untouched.
50
+ const augmentedPaletteLookupKeys = getAugmentedPaletteLookupKeys(varsInput, cssVarsPrefix);
51
+ const augmentedPaletteCss = augmentedPaletteLookupKeys.reduce((acc, key) => {
52
+ if (key in augmentedCss) {
53
+ acc[key] = augmentedCss[key];
54
+ }
55
+ return acc;
56
+ }, {});
57
+ return {
58
+ ...cssInput,
59
+ ...augmentedPaletteCss
60
+ };
61
+ }
62
+
63
+ /**
64
+ * Extends palette entries that provide a `main` color with derived variants.
65
+ *
66
+ * For each matching palette entry, this injects `light`, `dark`, and
67
+ * `contrastText` so downstream theme consumers can rely on a complete color set.
68
+ * @param vars Theme vars object to augment.
69
+ * @param theme Base theme utilities used to derive color variants.
70
+ * @returns A new vars object with augmented palette entries.
71
+ */
1
72
  function addAugmentationToVars(vars, theme) {
2
73
  if (!vars.palette) return vars;
3
74
  const augmentedPalette = {
@@ -12,7 +83,9 @@ function addAugmentationToVars(vars, theme) {
12
83
  ...paletteEntry,
13
84
  // Inject css color-mix function to create light and dark variants of the main color
14
85
  light: theme.lighten(paletteEntry.main),
15
- dark: theme.darken(paletteEntry.main)
86
+ dark: theme.darken(paletteEntry.main),
87
+ // Inject contrast text color based on the main color
88
+ contrastText: theme.contrastColor(paletteEntry.main)
16
89
  };
17
90
  }
18
91
  });
@@ -26,19 +99,24 @@ function addAugmentationToVars(vars, theme) {
26
99
  * Augments the CSS variables for the color palette by adding light and dark variants for each color.
27
100
  * @param cssParserReturn The result from the CSS variables parser.
28
101
  * @param theme The base theme object, which includes the palette and the lighten/darken functions.
102
+ * @param cssVarsPrefix Prefix used for CSS variable names.
29
103
  * @returns An object containing the augmented CSS variables.
30
104
  */
31
- export default function cssVarsColorAugmentation(cssParserReturn, theme) {
105
+ export default function cssVarsColorAugmentation(cssParserReturn, theme, cssVarsPrefix) {
32
106
  const {
33
107
  vars: varsInput,
34
- varsWithDefaults: varsWithDefaultsInput,
108
+ css: cssInput,
35
109
  ...rest
36
110
  } = cssParserReturn;
111
+
112
+ // vars and varsWithDefaults need augmentation because both are consumed by the theme layer.
37
113
  const vars = addAugmentationToVars(varsInput, theme);
38
- const varsWithDefaults = addAugmentationToVars(varsWithDefaultsInput, theme);
114
+
115
+ // cssInput was produced before augmentation, so merge refreshed augmented keys back in.
116
+ const css = addAugmentationToCss(cssInput, varsInput, vars, cssVarsPrefix);
39
117
  return {
40
118
  ...rest,
41
- vars,
42
- varsWithDefaults
119
+ css,
120
+ vars: varsInput
43
121
  };
44
122
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cssVarsParser.d.ts","sourceRoot":"","sources":["../../../../../styles/theme/createTheme/helpers/cssVarsParser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA4HH,KAAK,oBAAoB,GAAG;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uBAAuB,CAAC,EAAE,CAAC,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,KAAK,OAAO,CAAC;CAC9F,CAAC;AAEF,MAAM,MAAM,wBAAwB,CAAC,CAAC,IAAI;IACxC;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;IACrC;;;OAGG;IACH,IAAI,EAAE,CAAC,CAAC;IACR;;;OAGG;IACH,gBAAgB,EAAE,CAAC,CAAC;IACpB;;;OAGG;IACH,QAAQ,EAAE,CAAC,CAAC;CACb,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,CAAC,SAAS,MAAM,EACpD,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,oBAAoB,GAC7B,wBAAwB,CAAC,CAAC,CAAC,CA+D7B"}
1
+ {"version":3,"file":"cssVarsParser.d.ts","sourceRoot":"","sources":["../../../../../styles/theme/createTheme/helpers/cssVarsParser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAsIH,KAAK,oBAAoB,GAAG;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uBAAuB,CAAC,EAAE,CAAC,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,KAAK,OAAO,CAAC;CAC9F,CAAC;AAEF,MAAM,MAAM,wBAAwB,CAAC,CAAC,IAAI;IACxC;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;IACrC;;;OAGG;IACH,IAAI,EAAE,CAAC,CAAC;IACR;;;OAGG;IACH,gBAAgB,EAAE,CAAC,CAAC;IACpB;;;OAGG;IACH,QAAQ,EAAE,CAAC,CAAC;CACb,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,CAAC,SAAS,MAAM,EACpD,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,oBAAoB,GAC7B,wBAAwB,CAAC,CAAC,CAAC,CA+D7B"}
@@ -85,7 +85,7 @@ const walkObjectDeep = (obj, callback, shouldSkipPaths) => {
85
85
  */
86
86
  const getCssValue = (keys, value) => {
87
87
  if (typeof value === 'number') {
88
- if (['lineHeight', 'fontWeight', 'opacity', 'zIndex'].some(prop => keys.includes(prop))) {
88
+ if (['lineHeight', 'fontWeight', 'opacity', 'zIndex', 'fontSize', 'fontWeightLight', 'fontWeightRegular', 'fontWeightMedium', 'fontWeightBold'].some(prop => keys[keys.length - 1] === prop)) {
89
89
  // CSS property that are unitless
90
90
  return value;
91
91
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../styles/theme/createTheme/index.ts"],"names":[],"mappings":"AASA,OAAO,EACL,KAAK,YAAY,EAGjB,KAAK,aAAa,EACnB,MAAM,SAAS,CAAC;AAEjB,YAAY,EACV,KAAK,EACL,SAAS,EACT,aAAa,EACb,YAAY,EACZ,UAAU,EACV,eAAe,EACf,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,SAAS,CAAC;AAEjB;;;;GAIG;AACH,eAAO,MAAM,WAAW,GAAI,UAAS,YAAiB,KAAG,aAkExD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../styles/theme/createTheme/index.ts"],"names":[],"mappings":"AAUA,OAAO,EACL,KAAK,YAAY,EAGjB,KAAK,aAAa,EACnB,MAAM,SAAS,CAAC;AAEjB,YAAY,EACV,KAAK,EACL,SAAS,EACT,aAAa,EACb,YAAY,EACZ,UAAU,EACV,eAAe,EACf,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,SAAS,CAAC;AAEjB;;;;GAIG;AACH,eAAO,MAAM,WAAW,GAAI,UAAS,YAAiB,KAAG,aAkExD,CAAC"}
@@ -4,6 +4,7 @@ import createBreakpoints from "./createBreakpoints";
4
4
  import createSpacing from "./createSpacing";
5
5
  import transitions from "./transitions";
6
6
  import zIndex from "./zIndex";
7
+ import layout from "./layout";
7
8
  import createThemeFromColorScheme from "./createThemeFromColorScheme";
8
9
  import createCssVarsForColorSchemeThemes from "./createCssVarsForColorSchemeThemes";
9
10
  import applyStyles from "./applyStyles";
@@ -50,8 +51,6 @@ export const createTheme = (options = {}) => {
50
51
  const currentTheme = colorSchemes[defaultColorScheme] ?? colorSchemes.light;
51
52
  const breakpoints = createBreakpoints();
52
53
  const spacing = createSpacing();
53
-
54
- // @ts-expect-error applyStyles is added to the theme object after its creation
55
54
  const theme = {
56
55
  ...currentTheme,
57
56
  ...cssVarsTheme,
@@ -60,6 +59,7 @@ export const createTheme = (options = {}) => {
60
59
  spacing,
61
60
  transitions,
62
61
  zIndex,
62
+ layout,
63
63
  colorSchemes,
64
64
  getColorSchemeSelector,
65
65
  setActiveColorScheme,
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Runtime layout dimensions exposed as global CSS variables.
3
+ *
4
+ * These are NOT design tokens and are not generated by the theme's CSS-variable pipeline.
5
+ * The `--safe-area-inset-*` variables are set at runtime by `updatePageInsets` based on the
6
+ * device page insets.
7
+ *
8
+ * This node only maps theme properties to those existing variables (`var(--...)`), so consumers
9
+ * can read `theme.layout.*` instead of hardcoding the variable names.
10
+ */
11
+ export interface SafeArea {
12
+ top: string;
13
+ bottom: string;
14
+ left: string;
15
+ right: string;
16
+ }
17
+ export interface Layout {
18
+ /** Device safe-area insets (`--safe-area-inset-*`). */
19
+ safeArea: SafeArea;
20
+ }
21
+ declare const layout: Layout;
22
+ export default layout;
23
+ //# sourceMappingURL=layout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../../../styles/theme/createTheme/layout.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,MAAM;IACrB,uDAAuD;IACvD,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,QAAA,MAAM,MAAM,EAAE,MAOb,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Runtime layout dimensions exposed as global CSS variables.
3
+ *
4
+ * These are NOT design tokens and are not generated by the theme's CSS-variable pipeline.
5
+ * The `--safe-area-inset-*` variables are set at runtime by `updatePageInsets` based on the
6
+ * device page insets.
7
+ *
8
+ * This node only maps theme properties to those existing variables (`var(--...)`), so consumers
9
+ * can read `theme.layout.*` instead of hardcoding the variable names.
10
+ */
11
+
12
+ const layout = {
13
+ safeArea: {
14
+ top: 'var(--safe-area-inset-top)',
15
+ bottom: 'var(--safe-area-inset-bottom)',
16
+ left: 'var(--safe-area-inset-left)',
17
+ right: 'var(--safe-area-inset-right)'
18
+ }
19
+ };
20
+ export default layout;
@@ -39,6 +39,10 @@ export interface Duration {
39
39
  * Recommended when something is leaving screen
40
40
  */
41
41
  leavingScreen: number;
42
+ /**
43
+ * How long a toast stays visible before auto-dismissing
44
+ */
45
+ toast: number;
42
46
  }
43
47
 
44
48
  export const duration: Duration;
@@ -27,7 +27,9 @@ export const duration = {
27
27
  // recommended when something is entering screen
28
28
  enteringScreen: 225,
29
29
  // recommended when something is leaving screen
30
- leavingScreen: 195
30
+ leavingScreen: 195,
31
+ // how long a toast stays visible before auto-dismissing
32
+ toast: 5000
31
33
  };
32
34
 
33
35
  /**
@@ -1,10 +1,11 @@
1
1
  import type { PaletteOptions, Palette } from './createPalette';
2
2
  import type { Typography, TypographyOptions } from './createTypography';
3
- import type { Components, ComponentsOptions, ComponentVars } from './createComponents';
3
+ import type { ComponentsOptions, ComponentVars, Components } from './createComponents';
4
4
  import type { Breakpoints } from './createBreakpoints';
5
5
  import type { Spacing } from './createSpacing';
6
6
  import type { Transitions } from './transitions';
7
7
  import type { ZIndex } from './zIndex';
8
+ import type { Layout } from './layout';
8
9
  import type { ApplyStyles } from './applyStyles';
9
10
  import type { GetColorSchemeSelector, ActiveColorSchemeSwitcher } from './helpers';
10
11
  import type { CreateCssVarsForColorSchemeThemesReturnValue } from './createCssVarsForColorSchemeThemes';
@@ -87,7 +88,7 @@ export interface BaseTheme {
87
88
  /**
88
89
  * Component specific styling tokes.
89
90
  */
90
- components: Components;
91
+ components: ComponentVars;
91
92
  shape: Shape;
92
93
  /**
93
94
  * Pre-defined shadow styles for different elevation levels, following Material Design guidelines.
@@ -115,6 +116,12 @@ export interface BaseTheme {
115
116
  * @returns A string representing the darkened color.
116
117
  */
117
118
  darken(color: string, coefficient?: number | string): string;
119
+ /**
120
+ * Calculates a contrast color (either black or white) based on the lightness of the input color.
121
+ * @param color The color to evaluate.
122
+ * @returns A string representing the contrast color (either black or white) for the input color.
123
+ */
124
+ contrastColor(color: string): string;
118
125
  }
119
126
  export interface Theme extends BaseTheme {
120
127
  /**
@@ -137,6 +144,12 @@ export interface Theme extends BaseTheme {
137
144
  * Reference to z-index values for multiple components.
138
145
  */
139
146
  zIndex: ZIndex;
147
+ /**
148
+ * Mappings to runtime layout CSS variables (safe-area insets).
149
+ * The values are `var(--...)` references to variables updated at runtime elsewhere in the app;
150
+ * this node does not generate any new CSS variables.
151
+ */
152
+ layout: Layout;
140
153
  /**
141
154
  * An object that contains the CSS variable references for the theme properties.
142
155
  * It has the same structure as the theme, but the values are CSS variable references
@@ -165,12 +178,26 @@ export interface Theme extends BaseTheme {
165
178
  */
166
179
  applyStyles: ApplyStyles<ColorSchemeName>;
167
180
  }
181
+ /**
182
+ * A single fully-resolved color-scheme theme. Identical to {@link BaseTheme} except that its
183
+ * `components` keep the nested `vars` level (the raw per-scheme token defaults produced by
184
+ * `createComponents`), whereas the flattened `BaseTheme['components']` shape is only produced for
185
+ * the final merged theme.
186
+ */
187
+ export type ColorSchemeTheme = Omit<BaseTheme, 'components'> & {
188
+ components: Components;
189
+ };
168
190
  /**
169
191
  * A record of themes for each color scheme. Each key is a color scheme name (e.g., 'light', 'dark'),
170
- * and the value is a theme object that contains e.g. the palette and typography for that color scheme.
192
+ * and the value is a fully-resolved color-scheme theme ({@link ColorSchemeTheme}).
171
193
  */
172
- export type ColorSchemeThemes = Record<ColorSchemeName, BaseTheme>;
173
- export type ThemeInternal = Theme & Pick<CreateCssVarsForColorSchemeThemesReturnValue, 'generateStyleSheets'> & {
194
+ export type ColorSchemeThemes = Record<ColorSchemeName, ColorSchemeTheme>;
195
+ export type ThemeInternal = Omit<Theme, 'colorSchemes'> & {
196
+ /**
197
+ * Internal runtime map of fully resolved color-scheme themes.
198
+ */
199
+ colorSchemes: ColorSchemeThemes;
200
+ } & Pick<CreateCssVarsForColorSchemeThemesReturnValue, 'generateStyleSheets'> & {
174
201
  /**
175
202
  * Function that generates a CSS selector string for a given color scheme.
176
203
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../styles/theme/createTheme/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../styles/theme/createTheme/types.ts"],"names":[],"mappings":"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"}
@@ -7,8 +7,15 @@ const selectorTypes = ['data', 'class'];
7
7
  * dynamically based on user preference or system settings.
8
8
  */
9
9
 
10
+ /**
11
+ * A single fully-resolved color-scheme theme. Identical to {@link BaseTheme} except that its
12
+ * `components` keep the nested `vars` level (the raw per-scheme token defaults produced by
13
+ * `createComponents`), whereas the flattened `BaseTheme['components']` shape is only produced for
14
+ * the final merged theme.
15
+ */
16
+
10
17
  /**
11
18
  * A record of themes for each color scheme. Each key is a color scheme name (e.g., 'light', 'dark'),
12
- * and the value is a theme object that contains e.g. the palette and typography for that color scheme.
19
+ * and the value is a fully-resolved color-scheme theme ({@link ColorSchemeTheme}).
13
20
  */
14
21
  export {};
@@ -0,0 +1,2 @@
1
+ export { withTheme, type WithThemeProps } from './withTheme';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../styles/theme/hocs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1 @@
1
+ export { withTheme } from "./withTheme";
@@ -0,0 +1,21 @@
1
+ import type { ComponentType } from 'react';
2
+ import type { Theme } from '../createTheme';
3
+ /**
4
+ * Props injected by the `withTheme` HOC.
5
+ */
6
+ export interface WithThemeProps {
7
+ /** The active styling theme (same object returned by `useTheme()`). */
8
+ theme: Theme;
9
+ }
10
+ /**
11
+ * Injects the styling theme as a `theme` prop into the wrapped component.
12
+ *
13
+ * Intended for legacy class components that cannot use the `useTheme` hook.
14
+ * For function components, prefer the `useTheme` hook instead.
15
+ *
16
+ * @param WrappedComponent The component to inject the theme into.
17
+ * @returns The wrapped component with `theme` supplied automatically.
18
+ */
19
+ export declare function withTheme<P extends WithThemeProps>(WrappedComponent: ComponentType<P>): ComponentType<Omit<P, keyof WithThemeProps>>;
20
+ export default withTheme;
21
+ //# sourceMappingURL=withTheme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withTheme.d.ts","sourceRoot":"","sources":["../../../../styles/theme/hocs/withTheme.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAG5C;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,uEAAuE;IACvE,KAAK,EAAE,KAAK,CAAC;CACd;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,cAAc,EAChD,gBAAgB,EAAE,aAAa,CAAC,CAAC,CAAC,GACjC,aAAa,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,cAAc,CAAC,CAAC,CAe9C;AAED,eAAe,SAAS,CAAC"}
@@ -0,0 +1,33 @@
1
+ import useTheme from "../hooks/useTheme";
2
+
3
+ /**
4
+ * Props injected by the `withTheme` HOC.
5
+ */
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ /**
8
+ * Injects the styling theme as a `theme` prop into the wrapped component.
9
+ *
10
+ * Intended for legacy class components that cannot use the `useTheme` hook.
11
+ * For function components, prefer the `useTheme` hook instead.
12
+ *
13
+ * @param WrappedComponent The component to inject the theme into.
14
+ * @returns The wrapped component with `theme` supplied automatically.
15
+ */
16
+ export function withTheme(WrappedComponent) {
17
+ /**
18
+ * The actual HOC.
19
+ * @param props The component props.
20
+ * @returns The wrapped component with the theme injected.
21
+ */
22
+ const WithTheme = props => {
23
+ const theme = useTheme();
24
+ return /*#__PURE__*/_jsx(WrappedComponent, {
25
+ ...props,
26
+ theme: theme
27
+ });
28
+ };
29
+ const displayName = WrappedComponent.displayName || WrappedComponent.name || 'Component';
30
+ WithTheme.displayName = `WithTheme(${displayName})`;
31
+ return WithTheme;
32
+ }
33
+ export default withTheme;
@@ -2,4 +2,5 @@ export { default as ThemeProvider } from './providers/ThemeProvider';
2
2
  export { createTheme } from './createTheme';
3
3
  export type { Theme, Breakpoint, PaletteColorsWithMain } from './createTheme';
4
4
  export { useActiveBreakpoint, useMediaQuery, useResponsiveValue, useTheme, useColorScheme, } from './hooks';
5
+ export { withTheme, type WithThemeProps } from './hocs';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../styles/theme/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAC9E,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,QAAQ,EACR,cAAc,GACf,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../styles/theme/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAC9E,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,QAAQ,EACR,cAAc,GACf,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,QAAQ,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export { default as ThemeProvider } from "./providers/ThemeProvider";
2
2
  export { createTheme } from "./createTheme";
3
- export { useActiveBreakpoint, useMediaQuery, useResponsiveValue, useTheme, useColorScheme } from "./hooks";
3
+ export { useActiveBreakpoint, useMediaQuery, useResponsiveValue, useTheme, useColorScheme } from "./hooks";
4
+ export { withTheme } from "./hocs";
@@ -4,6 +4,6 @@ export declare const ActiveBreakpointContext: React.Context<Breakpoint | undefin
4
4
  type ActiveBreakpointProviderProps = {
5
5
  children: React.ReactNode;
6
6
  };
7
- declare const _default: React.MemoExoticComponent<({ children }: ActiveBreakpointProviderProps) => import("react/jsx-runtime").JSX.Element>;
7
+ declare const _default: React.MemoExoticComponent<({ children }: ActiveBreakpointProviderProps) => React.JSX.Element>;
8
8
  export default _default;
9
9
  //# sourceMappingURL=ActiveBreakpointProvider.d.ts.map
@@ -3,11 +3,11 @@ export interface ColorSchemeContextValue {
3
3
  /**
4
4
  * The current color scheme (e.g., 'light' or 'dark')
5
5
  */
6
- mode: ColorSchemeName;
6
+ mode: ColorSchemeName | null;
7
7
  /**
8
8
  * Function to update the color scheme
9
9
  */
10
- setMode: React.Dispatch<React.SetStateAction<ColorSchemeName>>;
10
+ setMode: React.Dispatch<React.SetStateAction<ColorSchemeName | null>>;
11
11
  }
12
12
  export declare const ThemeContext: import("react").Context<Theme>;
13
13
  export declare const ColorSchemeContext: import("react").Context<ColorSchemeContextValue>;
@@ -18,6 +18,6 @@ type ThemeProviderProps = {
18
18
  theme: ThemeInternal;
19
19
  children: React.ReactNode;
20
20
  };
21
- declare const _default: import("react").MemoExoticComponent<({ children, theme, }: ThemeProviderProps) => import("react/jsx-runtime").JSX.Element>;
21
+ declare const _default: import("react").MemoExoticComponent<({ children, theme, }: ThemeProviderProps) => import("react").JSX.Element>;
22
22
  export default _default;
23
23
  //# sourceMappingURL=ThemeProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ThemeProvider.d.ts","sourceRoot":"","sources":["../../../../styles/theme/providers/ThemeProvider.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtF,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,IAAI,EAAE,eAAe,CAAC;IACtB;;OAEG;IACH,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC;CAChE;AAED,eAAO,MAAM,YAAY,gCAAqC,CAAC;AAE/D,eAAO,MAAM,kBAAkB,kDAG7B,CAAC;AAwCH,KAAK,kBAAkB,GAAG;IACxB;;OAEG;IACH,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAA;mFAtCE,kBAAkB;AAwCrB,wBAAmC"}
1
+ {"version":3,"file":"ThemeProvider.d.ts","sourceRoot":"","sources":["../../../../styles/theme/providers/ThemeProvider.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtF,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,IAAI,EAAE,eAAe,GAAG,IAAI,CAAC;IAC7B;;OAEG;IACH,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC,CAAC;CACvE;AAED,eAAO,MAAM,YAAY,gCAAqC,CAAC;AAE/D,eAAO,MAAM,kBAAkB,kDAG7B,CAAC;AAwCH,KAAK,kBAAkB,GAAG;IACxB;;OAEG;IACH,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAA;mFAtCE,kBAAkB;AAwCrB,wBAAmC"}
@@ -1,6 +1,8 @@
1
1
  import { createContext, memo, useMemo, useLayoutEffect } from 'react';
2
2
  import useLocalStorage from '@shopgate/engage/core/hooks/useLocalStorage';
3
3
  import { GlobalStyles } from '@shopgate/engage/styles';
4
+ import { IS_FRONTEND_SETTINGS_ADMIN_PREVIEW_ACTIVE } from '@shopgate/engage/admin-preview/constants';
5
+ import { FrontendSettingsPreviewBridge } from '@shopgate/engage/admin-preview/components';
4
6
  import ActiveBreakpointProvider from "./ActiveBreakpointProvider";
5
7
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
6
8
  export const ThemeContext = /*#__PURE__*/createContext({});
@@ -28,20 +30,16 @@ const ThemeProvider = ({
28
30
  theme.setActiveColorScheme(activeColorScheme);
29
31
  }, [activeColorScheme, theme]);
30
32
  const styleSheets = useMemo(() => theme.generateStyleSheets(), [theme]);
31
- return (
32
- /*#__PURE__*/
33
- // @ts-expect-error The input theme contains more properties than exposed to the Theme type
34
- _jsx(ColorSchemeContext.Provider, {
35
- value: colorSchemeContextValue,
36
- children: /*#__PURE__*/_jsxs(ThemeContext.Provider, {
37
- value: theme,
38
- children: [/*#__PURE__*/_jsx(ActiveBreakpointProvider, {
39
- children: children
40
- }), /*#__PURE__*/_jsx(GlobalStyles, {
41
- styles: styleSheets
42
- })]
43
- })
44
- })
45
- );
33
+ return /*#__PURE__*/_jsxs(ColorSchemeContext.Provider, {
34
+ value: colorSchemeContextValue,
35
+ children: [IS_FRONTEND_SETTINGS_ADMIN_PREVIEW_ACTIVE && /*#__PURE__*/_jsx(FrontendSettingsPreviewBridge, {}), /*#__PURE__*/_jsxs(ThemeContext.Provider, {
36
+ value: theme,
37
+ children: [/*#__PURE__*/_jsx(ActiveBreakpointProvider, {
38
+ children: children
39
+ }), /*#__PURE__*/_jsx(GlobalStyles, {
40
+ styles: styleSheets
41
+ })]
42
+ })]
43
+ });
46
44
  };
47
45
  export default /*#__PURE__*/memo(ThemeProvider);
@@ -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, Link, ConditionalWrapper } from '@shopgate/engage/components';
6
- import { appConfig, themeConfig } from '@shopgate/engage';
5
+ import { Grid, I18n, Button, Modal, Link, ConditionalWrapper, Typography } from '@shopgate/engage/components';
6
+ import { appConfig } from '@shopgate/engage';
7
7
  import connect from "./connector";
8
8
  import cookieImage from "./tracking-opt-in.svg";
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
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
  padding: '30px',
24
21
  justifyContent: 'center',
25
22
  display: 'flex',
@@ -27,8 +24,6 @@ const useStyles = makeStyles()(theme => ({
27
24
  textAlign: 'center'
28
25
  },
29
26
  title: {
30
- fontWeight: 'bold',
31
- fontSize: '1.35rem',
32
27
  paddingTop: '30px',
33
28
  paddingBottom: '30px'
34
29
  },
@@ -135,10 +130,15 @@ const CookieConsentModal = ({
135
130
  className: cx(classes.image, 'cookie-consent-modal__image'),
136
131
  alt: "",
137
132
  "aria-hidden": "true"
138
- }), /*#__PURE__*/_jsx(I18n.Text, {
133
+ }), /*#__PURE__*/_jsx(Typography, {
134
+ variant: "h3",
135
+ component: "div",
136
+ fontWeight: "bold",
139
137
  className: cx(classes.title, 'cookie-consent-modal__title'),
140
- string: modalTitle || 'cookieConsentModal.title',
141
- id: "cookieConsentDialogTitle"
138
+ id: "cookieConsentDialogTitle",
139
+ children: /*#__PURE__*/_jsx(I18n.Text, {
140
+ string: modalTitle || 'cookieConsentModal.title'
141
+ })
142
142
  }), /*#__PURE__*/_jsx(I18n.Text, {
143
143
  string: modalMessage || 'cookieConsentModal.message',
144
144
  className: cx('cookie-consent-modal__message'),
@@ -6,7 +6,7 @@ import { appConfig } from '@shopgate/engage';
6
6
  import { i18n } from '@shopgate/engage/core/helpers';
7
7
  import connect from "./connector";
8
8
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
- const useStyles = makeStyles()({
9
+ const useStyles = makeStyles()(theme => ({
10
10
  button: {
11
11
  marginTop: '20px'
12
12
  },
@@ -28,7 +28,7 @@ const useStyles = makeStyles()({
28
28
  flexDirection: 'column'
29
29
  },
30
30
  link: {
31
- color: 'var(--color-secondary)',
31
+ color: theme.palette.secondary.main,
32
32
  textDecoration: 'underline'
33
33
  },
34
34
  switchWrapper: {
@@ -38,10 +38,10 @@ const useStyles = makeStyles()({
38
38
  justifyContent: 'space-between'
39
39
  },
40
40
  title: {
41
- fontWeight: 'bold',
41
+ fontWeight: theme.typography.fontWeightBold,
42
42
  display: 'block'
43
43
  }
44
- });
44
+ }));
45
45
 
46
46
  /**
47
47
  * The PrivacySettings component.
@@ -1,6 +1,6 @@
1
1
  import { createSelector } from 'reselect';
2
2
  import { appConfig } from '@shopgate/engage';
3
- import { IS_PAGE_PREVIEW_ACTIVE } from '@shopgate/engage/page/constants';
3
+ import { isAdminPreviewActive } from '@shopgate/engage/admin-preview/helpers';
4
4
  import { appSupportsCookieConsent } from '@shopgate/engage/core/helpers';
5
5
  const {
6
6
  cookieConsent: {
@@ -30,7 +30,7 @@ export const getCookieSettingsState = state => state?.tracking?.cookieSettings |
30
30
  * or by app/feature settings
31
31
  */
32
32
  export const getIsCookieConsentHandled = createSelector(getCookieSettingsState, settingsState => {
33
- if (!isCookieConsentActivated || !appSupportsCookieConsent() || IS_PAGE_PREVIEW_ACTIVE) {
33
+ if (!isCookieConsentActivated || !appSupportsCookieConsent() || isAdminPreviewActive()) {
34
34
  return true;
35
35
  }
36
36
  return settingsState?.comfortCookiesAccepted !== null || settingsState?.statisticsCookiesAccepted !== null;
package/tsconfig.json CHANGED
@@ -5,6 +5,7 @@
5
5
  "module": "esnext",
6
6
  "moduleResolution": "bundler",
7
7
  "jsx": "react-jsx",
8
+ "types": ["jest"],
8
9
 
9
10
  "strict": true,
10
11
  "isolatedModules": true,