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

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 (529) hide show
  1. package/README.md +0 -1
  2. package/account/components/Profile/Profile.provider.d.ts +1 -1
  3. package/account/components/Profile/ProfileAddressBook.d.ts.map +1 -1
  4. package/account/components/Profile/ProfileAddressBook.js +13 -22
  5. package/account/components/Profile/ProfileAddressCard.d.ts.map +1 -1
  6. package/account/components/Profile/ProfileAddressCard.js +9 -18
  7. package/account/components/Profile/ProfileForm.d.ts.map +1 -1
  8. package/account/components/Profile/ProfileForm.js +15 -42
  9. package/account/components/ProfileContact/ProfileContact.js +13 -21
  10. package/admin-preview/components/FrontendSettingsPreviewBridge/FrontendSettingsPreviewBridge.d.ts +2 -1
  11. package/admin-preview/components/FrontendSettingsPreviewBridge/FrontendSettingsPreviewBridge.d.ts.map +1 -1
  12. package/admin-preview/components/FrontendSettingsPreviewBridge/FrontendSettingsPreviewBridge.js +61 -5
  13. package/admin-preview/components/FrontendSettingsPreviewBridge/helpers.d.ts +7 -1
  14. package/admin-preview/components/FrontendSettingsPreviewBridge/helpers.d.ts.map +1 -1
  15. package/admin-preview/components/FrontendSettingsPreviewBridge/helpers.js +14 -2
  16. package/admin-preview/components/FrontendSettingsPreviewBridge/types.d.ts +15 -2
  17. package/admin-preview/components/FrontendSettingsPreviewBridge/types.d.ts.map +1 -1
  18. package/admin-preview/constants/index.d.ts +0 -12
  19. package/admin-preview/constants/index.d.ts.map +1 -1
  20. package/admin-preview/constants/index.js +0 -16
  21. package/admin-preview/helpers/_internal/detection.d.ts +53 -0
  22. package/admin-preview/helpers/_internal/detection.d.ts.map +1 -0
  23. package/admin-preview/helpers/_internal/detection.js +93 -0
  24. package/admin-preview/helpers/index.d.ts +7 -0
  25. package/admin-preview/helpers/index.d.ts.map +1 -1
  26. package/admin-preview/helpers/index.js +12 -4
  27. package/admin-preview/initialization/_internal/initialFrontendSettings.d.ts +32 -0
  28. package/admin-preview/initialization/_internal/initialFrontendSettings.d.ts.map +1 -0
  29. package/admin-preview/initialization/_internal/initialFrontendSettings.js +43 -0
  30. package/admin-preview/initialization/awaitInitialFrontendSettings.d.ts +22 -0
  31. package/admin-preview/initialization/awaitInitialFrontendSettings.d.ts.map +1 -0
  32. package/admin-preview/initialization/awaitInitialFrontendSettings.js +84 -0
  33. package/back-in-stock/components/BackInStockButton/index.js +5 -5
  34. package/back-in-stock/components/Subscriptions/components/Subscription/index.js +2 -5
  35. package/cart/components/CartItem/CartItemProductLayout.js +2 -1
  36. package/cart/components/CartItem/CartItemProductLayoutWide.js +2 -2
  37. package/cart/components/CartItem/CartItemProductLayoutWideRemoveItem.js +7 -14
  38. package/cart/components/CartItem/CartItemProductProvider.connector.js +0 -2
  39. package/cart/components/CartItem/CartItemProductProvider.js +3 -30
  40. package/cart/components/CartItem/CartItemProductProvider.types.js +0 -1
  41. package/cart/components/CartItem/CartItemQuantityPicker.js +1 -0
  42. package/cart/components/CartItems/CartItemCardReservationLabelChangeStore.js +6 -24
  43. package/cart/components/CartItems/CartItems.js +8 -10
  44. package/cart/components/CartItems/CartItemsSubstitution.js +3 -2
  45. package/cart/components/CartSummaryWide/CartSummaryWide.js +2 -2
  46. package/cart/components/CartSummaryWide/CartSummaryWideCheckoutButton.js +9 -23
  47. package/cart/components/PaymentBar/PaymentBarCheckoutButton.js +8 -30
  48. package/cart/components/PaymentBar/PaymentBarContent.js +1 -1
  49. package/cart/components/PaymentBar/testUtils/mockFactories.js +4 -11
  50. package/category/components/CategoryImage/index.js +24 -17
  51. package/checkout/components/AddressBook/AddressList.js +14 -23
  52. package/checkout/components/Checkout/CheckoutActions.js +4 -3
  53. package/checkout/components/Checkout/CheckoutAddress.js +8 -0
  54. package/checkout/components/Checkout/CheckoutSection.js +6 -2
  55. package/checkout/components/CheckoutConfirmation/CheckoutConfirmation.js +6 -7
  56. package/checkout/components/ResponsiveBackButton/ResponsiveBackButton.js +7 -17
  57. package/components/Badge/Badge.d.ts +30 -0
  58. package/components/Badge/Badge.d.ts.map +1 -0
  59. package/components/Badge/Badge.js +48 -0
  60. package/components/Badge/index.d.ts +3 -0
  61. package/components/Badge/index.d.ts.map +1 -0
  62. package/components/Badge/index.js +1 -0
  63. package/components/Card/Card.d.ts +27 -0
  64. package/components/Card/Card.d.ts.map +1 -0
  65. package/components/Card/Card.js +57 -0
  66. package/components/Card/index.d.ts +4 -0
  67. package/components/Card/index.d.ts.map +1 -0
  68. package/components/Card/index.js +2 -0
  69. package/components/Card/useCardAppearance.d.ts +11 -0
  70. package/components/Card/useCardAppearance.d.ts.map +1 -0
  71. package/components/Card/useCardAppearance.js +22 -0
  72. package/components/ChipLayout/index.js +2 -4
  73. package/components/Logo/index.d.ts.map +1 -1
  74. package/components/Logo/index.js +3 -6
  75. package/components/NavigationHandler/connector.js +1 -1
  76. package/components/NavigationHandler/index.d.ts +2 -2
  77. package/components/Paper/Paper.d.ts +48 -0
  78. package/components/Paper/Paper.d.ts.map +1 -0
  79. package/components/Paper/Paper.js +64 -0
  80. package/components/Paper/index.d.ts +3 -0
  81. package/components/Paper/index.d.ts.map +1 -0
  82. package/components/Paper/index.js +1 -0
  83. package/components/PickerUtilize/index.d.ts +2 -1
  84. package/components/PickerUtilize/index.d.ts.map +1 -1
  85. package/components/RadioCard/RadioCard.d.ts.map +1 -1
  86. package/components/RadioCard/RadioCard.js +2 -1
  87. package/components/SheetList/components/Item/index.js +8 -8
  88. package/components/Tabs/components/Tab.d.ts.map +1 -1
  89. package/components/Tabs/components/Tab.js +14 -16
  90. package/components/Typography/Typography.d.ts +1 -1
  91. package/components/View/components/Above/index.d.ts.map +1 -1
  92. package/components/View/components/Above/index.js +3 -1
  93. package/components/View/components/Below/index.d.ts.map +1 -1
  94. package/components/View/components/Below/index.js +3 -1
  95. package/components/View/components/Content/index.d.ts +2 -1
  96. package/components/View/components/Content/index.d.ts.map +1 -1
  97. package/components/View/components/Content/index.js +4 -1
  98. package/components/constants.d.ts +6 -0
  99. package/components/constants.d.ts.map +1 -0
  100. package/components/index.d.ts +5 -1
  101. package/components/index.d.ts.map +1 -1
  102. package/components/index.js +4 -2
  103. package/components/v2/Button/Button.d.ts +24 -13
  104. package/components/v2/Button/Button.d.ts.map +1 -1
  105. package/components/v2/Button/Button.js +139 -41
  106. package/components/v2/ButtonBase/ButtonBase.d.ts +50 -10
  107. package/components/v2/ButtonBase/ButtonBase.d.ts.map +1 -1
  108. package/components/v2/ButtonBase/ButtonBase.js +192 -17
  109. package/components/v2/ButtonBase/Ripple.d.ts +2 -1
  110. package/components/v2/ButtonBase/Ripple.d.ts.map +1 -1
  111. package/components/v2/ButtonBase/hooks.d.ts +0 -1
  112. package/components/v2/ButtonBase/hooks.d.ts.map +1 -1
  113. package/components/v2/ButtonBase/hooks.js +36 -12
  114. package/components/v2/ButtonGroup/ButtonGroup.d.ts +11 -5
  115. package/components/v2/ButtonGroup/ButtonGroup.d.ts.map +1 -1
  116. package/components/v2/ButtonGroup/ButtonGroup.js +49 -26
  117. package/components/v2/CircularProgress/CircularProgress.d.ts.map +1 -1
  118. package/components/v2/CircularProgress/CircularProgress.js +10 -5
  119. package/core/helpers/getFullImageSource.d.ts +5 -1
  120. package/core/helpers/getFullImageSource.d.ts.map +1 -1
  121. package/core/helpers/getFullImageSource.js +30 -14
  122. package/core/helpers/i18n.d.ts +4 -0
  123. package/core/helpers/i18n.d.ts.map +1 -1
  124. package/core/helpers/i18n.js +3 -0
  125. package/core/hooks/html/useLoadImage.d.ts +3 -3
  126. package/core/hooks/html/useLoadImage.d.ts.map +1 -1
  127. package/core/hooks/html/useLoadImage.js +2 -2
  128. package/core/hooks/useLocalStorage.d.ts +8 -0
  129. package/core/hooks/useLocalStorage.d.ts.map +1 -1
  130. package/core/hooks/useLocalStorage.js +22 -15
  131. package/core/hooks/useNavigation.d.ts +10 -2
  132. package/core/hooks/useNavigation.d.ts.map +1 -1
  133. package/core/hooks/useNavigation.js +1 -2
  134. package/core/initialization/fetchSettings.d.ts +12 -0
  135. package/core/initialization/fetchSettings.d.ts.map +1 -0
  136. package/core/initialization/fetchSettings.js +134 -0
  137. package/core/initialization/index.d.ts +33 -2
  138. package/core/initialization/index.d.ts.map +1 -1
  139. package/core/initialization/index.js +44 -103
  140. package/core/router/conductor.d.ts +9 -0
  141. package/core/router/helpers.d.ts +28 -15
  142. package/core/router/helpers.d.ts.map +1 -1
  143. package/core/router/helpers.js +8 -8
  144. package/development/components/DevelopmentSettings/DevelopmentSettings.js +3 -3
  145. package/development/components/SimulatedInsets/SimulatedInsetBottom.js +3 -3
  146. package/development/components/SimulatedInsets/SimulatedInsetTop.js +2 -2
  147. package/favorites/components/FavoriteButtonWide/FavoriteButtonWide.js +7 -17
  148. package/favorites/components/Item/Item.d.ts +1 -1
  149. package/favorites/components/Item/Item.d.ts.map +1 -1
  150. package/favorites/components/Item/Item.js +7 -7
  151. package/favorites/components/List/List.d.ts +1 -1
  152. package/favorites/components/List/List.d.ts.map +1 -1
  153. package/favorites/components/List/List.js +0 -1
  154. package/favorites/components/List/ListContent.js +4 -5
  155. package/favorites/components/Lists/Lists.js +17 -6
  156. package/filter/components/FilterPageContent/components/ApplyButton/index.js +8 -10
  157. package/filter/components/FilterPageContent/components/ResetButton/index.js +8 -6
  158. package/filter/components/PriceSlider/index.js +6 -1
  159. package/locations/components/ChangeLocationButton/ChangeLocationButton.js +10 -14
  160. package/locations/components/FulfillmentSheet/FulfillmentSheetContent.js +4 -8
  161. package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotDialog.js +4 -8
  162. package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotSwitcher.js +1 -1
  163. package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotSwitcherBar.js +9 -18
  164. package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotSwitcherDefault.js +10 -10
  165. package/locations/components/GlobalLocationSwitcher/GlobalLocationSwitcherBar.js +9 -19
  166. package/locations/components/GlobalLocationSwitcher/GlobalLocationSwitcherDefault.js +9 -10
  167. package/locations/components/ReserveForm/ReserveForm.js +6 -7
  168. package/locations/components/StoreDetails/components/GetDirectionsButton.js +2 -4
  169. package/locations/components/StoreDetails/components/StoreDetails.js +5 -10
  170. package/locations/components/StoreDetails/components/StoresNearbyListItem.js +13 -21
  171. package/locations/components/StoreFinder/StoreFinderSelectLocationButton.js +5 -11
  172. package/locations/components/StoreFinder/StoreFinderStoreInfoButton.js +5 -11
  173. package/locations/components/StoreList/StoreListProduct.js +2 -3
  174. package/locations/components/StoreList/StoreListSearch.js +1 -0
  175. package/locations/components/StoreList/StoreSelectLocationButton.js +5 -11
  176. package/login/components/ForgotPassword/ForgotPassword.js +11 -23
  177. package/mocks/date.js +31 -0
  178. package/mocks/index.js +3 -0
  179. package/mocks/pipelineRequest.js +1 -0
  180. package/mocks/subscriptions.js +1 -0
  181. package/orders/components/OrderDetails/OrderDetailsAuthenticate.js +5 -7
  182. package/orders/components/OrderHistory/OrderHistoryList.d.ts.map +1 -1
  183. package/orders/components/OrderHistory/OrderHistoryList.js +8 -9
  184. package/orders/components/OrderHistory/OrderHistoryTable.d.ts.map +1 -1
  185. package/orders/components/OrderHistory/OrderHistoryTable.js +4 -0
  186. package/package.json +12 -12
  187. package/page/components/NotFound.d.ts +7 -0
  188. package/page/components/NotFound.d.ts.map +1 -0
  189. package/page/components/NotFound.js +8 -8
  190. package/page/components/ResponsiveWidgetImage/ResponsiveWidgetImage.d.ts +52 -0
  191. package/page/components/ResponsiveWidgetImage/ResponsiveWidgetImage.d.ts.map +1 -0
  192. package/page/components/ResponsiveWidgetImage/ResponsiveWidgetImage.js +4 -4
  193. package/page/components/ResponsiveWidgetImage/index.d.ts +2 -0
  194. package/page/components/ResponsiveWidgetImage/index.d.ts.map +1 -0
  195. package/page/components/WidgetRichText/WidgetRichText.d.ts +25 -0
  196. package/page/components/WidgetRichText/WidgetRichText.d.ts.map +1 -0
  197. package/page/components/WidgetRichText/index.d.ts +2 -0
  198. package/page/components/WidgetRichText/index.d.ts.map +1 -0
  199. package/page/components/WidgetVideo/WidgetVideo.d.ts +43 -0
  200. package/page/components/WidgetVideo/WidgetVideo.d.ts.map +1 -0
  201. package/page/components/WidgetVideo/WidgetVideo.js +33 -39
  202. package/page/components/WidgetVideo/index.d.ts +2 -0
  203. package/page/components/WidgetVideo/index.d.ts.map +1 -0
  204. package/page/components/Widgets/Overlay.d.ts +17 -0
  205. package/page/components/Widgets/Overlay.d.ts.map +1 -0
  206. package/page/components/Widgets/Overlay.js +24 -38
  207. package/page/components/Widgets/Tooltip.d.ts +20 -0
  208. package/page/components/Widgets/Tooltip.d.ts.map +1 -0
  209. package/page/components/Widgets/Tooltip.js +6 -10
  210. package/page/components/Widgets/Widget.d.ts +32 -0
  211. package/page/components/Widgets/Widget.d.ts.map +1 -0
  212. package/page/components/Widgets/Widget.js +7 -18
  213. package/page/components/Widgets/WidgetContext.d.ts +32 -38
  214. package/page/components/Widgets/WidgetContext.d.ts.map +1 -0
  215. package/page/components/Widgets/WidgetContext.js +2 -8
  216. package/page/components/Widgets/WidgetProvider.d.ts +25 -0
  217. package/page/components/Widgets/WidgetProvider.d.ts.map +1 -0
  218. package/page/components/Widgets/WidgetProvider.js +5 -12
  219. package/page/components/Widgets/Widgets.d.ts +16 -0
  220. package/page/components/Widgets/Widgets.d.ts.map +1 -0
  221. package/page/components/Widgets/Widgets.js +5 -12
  222. package/page/components/Widgets/WidgetsPreviewContext.d.ts +21 -0
  223. package/page/components/Widgets/WidgetsPreviewContext.d.ts.map +1 -0
  224. package/page/components/Widgets/WidgetsPreviewContext.js +5 -7
  225. package/page/components/Widgets/WidgetsPreviewProvider.d.ts +18 -0
  226. package/page/components/Widgets/WidgetsPreviewProvider.d.ts.map +1 -0
  227. package/page/components/Widgets/WidgetsPreviewProvider.js +5 -6
  228. package/page/components/Widgets/constants.d.ts +5 -0
  229. package/page/components/Widgets/constants.d.ts.map +1 -0
  230. package/page/components/Widgets/constants.js +3 -1
  231. package/page/components/Widgets/events.d.ts +38 -0
  232. package/page/components/Widgets/events.d.ts.map +1 -0
  233. package/page/components/Widgets/events.js +8 -12
  234. package/page/components/Widgets/helpers.d.ts +50 -0
  235. package/page/components/Widgets/helpers.d.ts.map +1 -0
  236. package/page/components/Widgets/helpers.js +8 -13
  237. package/page/components/Widgets/hooks.d.ts +13 -0
  238. package/page/components/Widgets/hooks.d.ts.map +1 -0
  239. package/page/components/Widgets/hooks.js +13 -11
  240. package/page/components/Widgets/index.d.ts +3 -0
  241. package/page/components/Widgets/index.d.ts.map +1 -0
  242. package/page/components/Widgets/types.d.ts +111 -113
  243. package/page/components/Widgets/types.d.ts.map +1 -0
  244. package/page/components/Widgets/types.js +1 -0
  245. package/page/components/index.d.ts +5 -0
  246. package/page/components/index.d.ts.map +1 -0
  247. package/page/constants/actionTypes.d.ts +4 -0
  248. package/page/constants/actionTypes.d.ts.map +1 -0
  249. package/page/constants/index.d.ts +25 -0
  250. package/page/constants/index.d.ts.map +1 -0
  251. package/page/constants/index.js +5 -3
  252. package/page/helpers/index.d.ts +70 -62
  253. package/page/helpers/index.d.ts.map +1 -0
  254. package/page/helpers/index.js +31 -29
  255. package/page/hooks/index.d.ts +54 -53
  256. package/page/hooks/index.d.ts.map +1 -0
  257. package/page/hooks/index.js +20 -15
  258. package/page/selectors/index.d.ts +32 -0
  259. package/page/selectors/index.d.ts.map +1 -0
  260. package/page/widgets/Button/Button.js +2 -3
  261. package/page/widgets/NestedCategoryFilter/NestedCategoryFilter.js +8 -8
  262. package/page/widgets/ProductList/ProductList.js +18 -14
  263. package/page/widgets/ProductSlider/ProductSlider.js +1 -15
  264. package/page/widgets/Video/Video.d.ts +6 -0
  265. package/page/widgets/Video/Video.d.ts.map +1 -0
  266. package/page/widgets/Video/Video.js +0 -2
  267. package/page/widgets/Video/hooks.d.ts +53 -0
  268. package/page/widgets/Video/hooks.d.ts.map +1 -0
  269. package/page/widgets/Video/hooks.js +4 -12
  270. package/page/widgets/Video/index.d.ts +2 -0
  271. package/page/widgets/Video/index.d.ts.map +1 -0
  272. package/product/components/Description/index.js +0 -2
  273. package/product/components/FilterBar/components/Content/components/FilterButton/index.js +2 -6
  274. package/product/components/FilterBar/components/Content/components/Sort/index.js +1 -5
  275. package/product/components/Media/FeaturedMedia.js +7 -1
  276. package/product/components/Media/MediaImage.js +24 -23
  277. package/product/components/Media/MediaPlaceholder.js +4 -7
  278. package/product/components/MediaSlider/components/MediaImage/index.js +6 -2
  279. package/product/components/MediaSlider/constants.js +1 -12
  280. package/product/components/OrderQuantityHint/index.js +16 -1
  281. package/product/components/ProductCard/index.js +36 -23
  282. package/product/components/ProductGrid/components/Item/components/ItemDetails/index.js +12 -4
  283. package/product/components/ProductGrid/components/Item/components/ItemImage/index.js +3 -6
  284. package/product/components/ProductGrid/components/Item/components/ItemName/index.js +6 -1
  285. package/product/components/ProductGrid/components/Item/index.js +10 -2
  286. package/product/components/ProductGrid/components/Layout/index.js +19 -4
  287. package/product/components/ProductGrid/constants.d.ts +2 -0
  288. package/product/components/ProductGrid/constants.d.ts.map +1 -0
  289. package/product/components/ProductGrid/constants.js +1 -0
  290. package/product/components/ProductGrid/hooks.d.ts +11 -0
  291. package/product/components/ProductGrid/hooks.d.ts.map +1 -0
  292. package/product/components/ProductGrid/hooks.js +48 -0
  293. package/product/components/ProductGrid/index.js +3 -6
  294. package/product/components/ProductGridPrice/index.js +0 -1
  295. package/product/components/ProductImage/ProductImage.d.ts +42 -0
  296. package/product/components/ProductImage/ProductImage.d.ts.map +1 -0
  297. package/product/components/ProductImage/ProductImage.js +158 -0
  298. package/product/components/ProductImage/ProductImagePlaceholder.d.ts +23 -0
  299. package/product/components/ProductImage/ProductImagePlaceholder.d.ts.map +1 -0
  300. package/product/components/ProductImage/ProductImagePlaceholder.js +12 -17
  301. package/product/components/ProductImage/constants.d.ts +7 -0
  302. package/product/components/ProductImage/constants.d.ts.map +1 -0
  303. package/product/components/ProductImage/constants.js +6 -0
  304. package/product/components/ProductImage/hooks.d.ts +8 -0
  305. package/product/components/ProductImage/hooks.d.ts.map +1 -0
  306. package/product/components/ProductImage/hooks.js +32 -0
  307. package/product/components/ProductImage/index.d.ts +3 -0
  308. package/product/components/ProductImage/index.d.ts.map +1 -0
  309. package/product/components/ProductImage/index.js +1 -201
  310. package/product/components/ProductList/components/Item/index.js +5 -3
  311. package/product/components/ProductList/components/Layout/index.js +8 -20
  312. package/product/components/ProductName/ProductName.d.ts +1 -1
  313. package/product/components/ProductName/ProductName.d.ts.map +1 -1
  314. package/product/components/ProductName/ProductNameContent.d.ts +2 -1
  315. package/product/components/ProductName/ProductNameContent.d.ts.map +1 -1
  316. package/product/components/ProductRatingStars/ProductRatingStars.d.ts +1 -1
  317. package/product/components/ProductRatingStars/ProductRatingStars.js +2 -4
  318. package/product/components/ProductSlider/constants.d.ts +3 -0
  319. package/product/components/ProductSlider/constants.d.ts.map +1 -0
  320. package/product/components/ProductSlider/constants.js +2 -0
  321. package/product/components/ProductSlider/hooks.d.ts +7 -0
  322. package/product/components/ProductSlider/hooks.d.ts.map +1 -0
  323. package/product/components/ProductSlider/hooks.js +40 -0
  324. package/product/components/ProductSlider/index.js +8 -8
  325. package/product/components/Rating/index.js +2 -4
  326. package/product/components/RelationsSlider/RelationsSheet.js +1 -5
  327. package/product/components/RelationsSlider/RelationsSliderContent.js +3 -2
  328. package/product/components/RelationsSlider/constants.d.ts +3 -0
  329. package/product/components/RelationsSlider/constants.d.ts.map +1 -0
  330. package/product/components/RelationsSlider/constants.js +2 -1
  331. package/product/components/RelationsSlider/hooks.d.ts +6 -0
  332. package/product/components/RelationsSlider/hooks.d.ts.map +1 -0
  333. package/product/components/RelationsSlider/hooks.js +34 -0
  334. package/product/components/UnitQuantityPicker/UnitQuantityPicker.d.ts.map +1 -1
  335. package/product/components/UnitQuantityPicker/UnitQuantityPicker.js +16 -34
  336. package/product/helpers/index.js +29 -11
  337. package/product/hooks/index.js +3 -1
  338. package/product/hooks/useLoadProductImage.js +4 -2
  339. package/product/hooks/useShowEmptyRatingStars.d.ts +7 -0
  340. package/product/hooks/useShowEmptyRatingStars.d.ts.map +1 -0
  341. package/product/hooks/useShowEmptyRatingStars.js +21 -0
  342. package/product/index.js +0 -1
  343. package/product/selectors/mocks/productProperties.mock.js +49 -0
  344. package/push-opt-in/components/PushOptInModal/index.js +4 -4
  345. package/registration/components/Registration/RegistrationFormActions.js +4 -4
  346. package/reviews/components/Reviews/components/AllReviewsLink/index.js +6 -6
  347. package/reviews/components/Reviews/components/Header/components/WriteReviewLink/index.js +4 -3
  348. package/settings/action-creators/appSettings.d.ts +3 -3
  349. package/settings/action-creators/appSettings.d.ts.map +1 -1
  350. package/settings/constants/appSettings.d.ts +3 -0
  351. package/settings/constants/appSettings.d.ts.map +1 -1
  352. package/settings/constants/appSettings.js +6 -1
  353. package/settings/constants/imageSettings.d.ts +52 -0
  354. package/settings/constants/imageSettings.d.ts.map +1 -0
  355. package/settings/constants/imageSettings.js +69 -0
  356. package/settings/helpers/index.d.ts +3 -0
  357. package/settings/helpers/index.d.ts.map +1 -0
  358. package/settings/helpers/index.js +1 -0
  359. package/settings/helpers/resolveImageSettings.d.ts +70 -0
  360. package/settings/helpers/resolveImageSettings.d.ts.map +1 -0
  361. package/settings/helpers/resolveImageSettings.js +171 -0
  362. package/settings/helpers/toImageQuality.d.ts +7 -0
  363. package/settings/helpers/toImageQuality.d.ts.map +1 -0
  364. package/settings/helpers/toImageQuality.js +44 -0
  365. package/settings/helpers/toThumborColor.d.ts +15 -0
  366. package/settings/helpers/toThumborColor.d.ts.map +1 -0
  367. package/settings/helpers/toThumborColor.js +51 -0
  368. package/settings/hooks/index.d.ts +2 -0
  369. package/settings/hooks/index.d.ts.map +1 -0
  370. package/settings/hooks/index.js +1 -0
  371. package/settings/hooks/useImageSettings.d.ts +28 -0
  372. package/settings/hooks/useImageSettings.d.ts.map +1 -0
  373. package/settings/hooks/useImageSettings.js +39 -0
  374. package/settings/reducers/appSettings.d.ts.map +1 -1
  375. package/settings/reducers/appSettings.js +100 -8
  376. package/settings/reducers/index.d.ts +3 -3
  377. package/settings/selectors/appSettings.d.ts +114 -1
  378. package/settings/selectors/appSettings.d.ts.map +1 -1
  379. package/settings/selectors/appSettings.js +75 -1
  380. package/settings/types/appSettings.d.ts +244 -0
  381. package/settings/types/appSettings.d.ts.map +1 -1
  382. package/settings/types/appSettings.js +124 -1
  383. package/styles/helpers/index.d.ts +2 -0
  384. package/styles/helpers/index.js +2 -0
  385. package/styles/helpers/loadFontCss.d.ts +22 -0
  386. package/styles/helpers/loadFontCss.d.ts.map +1 -0
  387. package/styles/helpers/loadFontCss.js +138 -0
  388. package/styles/helpers/loadThemeCss.d.ts +14 -0
  389. package/styles/helpers/loadThemeCss.d.ts.map +1 -0
  390. package/styles/helpers/loadThemeCss.js +123 -0
  391. package/styles/index.d.ts +1 -1
  392. package/styles/index.d.ts.map +1 -1
  393. package/styles/index.js +1 -1
  394. package/styles/reset/root.js +23 -4
  395. package/styles/reset/typographyCustomProps.d.ts +12 -0
  396. package/styles/reset/typographyCustomProps.d.ts.map +1 -0
  397. package/styles/reset/typographyCustomProps.js +11 -0
  398. package/styles/theme/createDefaultThemeOptions/index.d.ts.map +1 -1
  399. package/styles/theme/createDefaultThemeOptions/index.js +107 -4
  400. package/styles/theme/createTheme/createComponents.d.ts +2 -2
  401. package/styles/theme/createTheme/createComponents.d.ts.map +1 -1
  402. package/styles/theme/createTheme/createComponents.js +0 -1
  403. package/styles/theme/createTheme/createComponents.types.d.ts +117 -0
  404. package/styles/theme/createTheme/createComponents.types.d.ts.map +1 -1
  405. package/styles/theme/createTheme/createComponents.types.js +119 -2
  406. package/styles/theme/createTheme/createCssVarsForColorSchemeThemes.d.ts.map +1 -1
  407. package/styles/theme/createTheme/createCssVarsForColorSchemeThemes.js +13 -3
  408. package/styles/theme/createTheme/createPalette.types.d.ts +5 -0
  409. package/styles/theme/createTheme/createPalette.types.d.ts.map +1 -1
  410. package/styles/theme/createTheme/createPalette.types.js +7 -2
  411. package/styles/theme/createTheme/createShape.d.ts +3 -0
  412. package/styles/theme/createTheme/createShape.d.ts.map +1 -1
  413. package/styles/theme/createTheme/createSpacing.js +4 -1
  414. package/styles/theme/createTheme/createThemeFromColorScheme.d.ts +4 -2
  415. package/styles/theme/createTheme/createThemeFromColorScheme.d.ts.map +1 -1
  416. package/styles/theme/createTheme/createThemeFromColorScheme.js +6 -3
  417. package/styles/theme/createTheme/createTypography.d.ts +2 -1
  418. package/styles/theme/createTheme/createTypography.js +59 -18
  419. package/styles/theme/createTheme/helpers/cssVarsParser.d.ts.map +1 -1
  420. package/styles/theme/createTheme/helpers/cssVarsParser.js +10 -3
  421. package/styles/theme/createTheme/index.d.ts +2 -1
  422. package/styles/theme/createTheme/index.d.ts.map +1 -1
  423. package/styles/theme/createTheme/index.js +5 -2
  424. package/styles/theme/createTheme/layout.d.ts +23 -0
  425. package/styles/theme/createTheme/layout.d.ts.map +1 -0
  426. package/styles/theme/createTheme/layout.js +20 -0
  427. package/styles/theme/createTheme/shadows.d.ts +11 -1
  428. package/styles/theme/createTheme/shadows.d.ts.map +1 -1
  429. package/styles/theme/createTheme/shadows.js +41 -7
  430. package/styles/theme/createTheme/transitions.d.ts +4 -0
  431. package/styles/theme/createTheme/transitions.js +3 -1
  432. package/styles/theme/createTheme/types.d.ts +41 -9
  433. package/styles/theme/createTheme/types.d.ts.map +1 -1
  434. package/styles/theme/createTheme/types.js +16 -4
  435. package/styles/theme/hocs/index.d.ts +2 -0
  436. package/styles/theme/hocs/index.d.ts.map +1 -0
  437. package/styles/theme/hocs/index.js +1 -0
  438. package/styles/theme/hocs/withTheme.d.ts +21 -0
  439. package/styles/theme/hocs/withTheme.d.ts.map +1 -0
  440. package/styles/theme/hocs/withTheme.js +33 -0
  441. package/styles/theme/hooks/useColorScheme.d.ts +4 -3
  442. package/styles/theme/hooks/useColorScheme.d.ts.map +1 -1
  443. package/styles/theme/hooks/useColorScheme.js +4 -3
  444. package/styles/theme/hooks/useMediaQuery.d.ts +7 -0
  445. package/styles/theme/hooks/useMediaQuery.d.ts.map +1 -1
  446. package/styles/theme/hooks/useMediaQuery.js +5 -5
  447. package/styles/theme/hooks/useTheme.js +1 -1
  448. package/styles/theme/index.d.ts +5 -1
  449. package/styles/theme/index.d.ts.map +1 -1
  450. package/styles/theme/index.js +2 -1
  451. package/styles/theme/providers/ActiveBreakpointProvider.d.ts +1 -1
  452. package/styles/theme/providers/ColorSchemeContext.d.ts +40 -0
  453. package/styles/theme/providers/ColorSchemeContext.d.ts.map +1 -0
  454. package/styles/theme/providers/ColorSchemeContext.js +14 -0
  455. package/styles/theme/providers/ThemeContext.d.ts +3 -0
  456. package/styles/theme/providers/ThemeContext.d.ts.map +1 -0
  457. package/styles/theme/providers/ThemeContext.js +2 -0
  458. package/styles/theme/providers/ThemeProvider.d.ts +4 -14
  459. package/styles/theme/providers/ThemeProvider.d.ts.map +1 -1
  460. package/styles/theme/providers/ThemeProvider.js +88 -26
  461. package/styles/theme/utils/color.d.ts +12 -12
  462. package/styles/theme/utils/color.d.ts.map +1 -1
  463. package/tracking/components/CookieConsentModal/index.js +3 -4
  464. package/tracking/components/PrivacySettings/index.js +3 -3
  465. package/cart/components/PaymentBar/PaymentBarReserveButton.connector.js +0 -6
  466. package/cart/components/PaymentBar/PaymentBarReserveButton.js +0 -71
  467. package/components/ChipLayout/spec.js +0 -41
  468. package/components/Logo/spec.js +0 -12
  469. package/components/NavigationHandler/spec.js +0 -84
  470. package/components/Picker/spec.js +0 -94
  471. package/components/PickerUtilize/spec.js +0 -35
  472. package/components/RangeSlider/spec.js +0 -190
  473. package/components/SheetList/components/Item/spec.js +0 -101
  474. package/components/SheetList/spec.js +0 -43
  475. package/components/TimeBoundary/spec.js +0 -83
  476. package/filter/components/FilterItem/spec.js +0 -14
  477. package/filter/components/FilterPageContent/components/ApplyButton/spec.js +0 -46
  478. package/filter/components/FilterPageContent/components/ResetButton/spec.js +0 -29
  479. package/filter/components/FilterPageContent/components/Selector/components/Selected/spec.js +0 -26
  480. package/filter/components/FilterPageContent/components/Selector/components/Toggle/spec.js +0 -34
  481. package/filter/components/FilterPageContent/components/Selector/components/ValueButton/spec.js +0 -32
  482. package/filter/components/FilterPageContent/components/Selector/spec.js +0 -33
  483. package/filter/components/PriceSlider/components/Label/spec.js +0 -26
  484. package/filter/components/PriceSlider/spec.js +0 -30
  485. package/locations/components/StoreFinder/StoreFinderGetDirectionsButton.connector.js +0 -16
  486. package/locations/components/StoreFinder/StoreFinderGetDirectionsButton.js +0 -52
  487. package/product/collections/index.js +0 -1
  488. package/product/components/EffectivityDates/constants.d.ts +0 -3
  489. package/product/components/EffectivityDates/constants.d.ts.map +0 -1
  490. package/product/components/EffectivityDates/helpers.d.ts +0 -6
  491. package/product/components/EffectivityDates/helpers.d.ts.map +0 -1
  492. package/product/components/FilterBar/components/Content/spec.js +0 -136
  493. package/product/components/Header/Shipping/spec.js +0 -36
  494. package/product/components/Header/Tiers/components/Tier/spec.js +0 -48
  495. package/product/components/Header/Tiers/spec.js +0 -64
  496. package/product/components/Media/helpers.d.ts +0 -2
  497. package/product/components/Media/helpers.d.ts.map +0 -1
  498. package/product/components/Options/components/Content/spec.js +0 -73
  499. package/product/components/Options/components/TextOption/components/OptionInfo/spec.js +0 -72
  500. package/product/components/ProductDiscountBadge/spec.js +0 -58
  501. package/product/components/ProductGrid/components/Item/components/ItemDetails/spec.js +0 -73
  502. package/product/components/ProductGrid/components/Item/components/ItemFavoritesButton/spec.js +0 -33
  503. package/product/components/ProductGrid/components/Item/components/ItemImage/spec.js +0 -16
  504. package/product/components/ProductGrid/components/Item/components/ItemName/spec.js +0 -21
  505. package/product/components/ProductGrid/components/Item/components/ItemPrice/spec.js +0 -37
  506. package/product/components/ProductGrid/spec.js +0 -52
  507. package/product/components/ProductImage/connector.js +0 -12
  508. package/product/components/ProductImage/spec.js +0 -87
  509. package/product/components/ProductSlider/spec.js +0 -37
  510. package/product/components/Rating/spec.js +0 -58
  511. package/product/helpers/index.d.ts +0 -13
  512. package/product/helpers/index.d.ts.map +0 -1
  513. package/product/helpers/redirects.d.ts +0 -2
  514. package/product/helpers/redirects.d.ts.map +0 -1
  515. package/product/selectors/helpers/filterProperties.d.ts +0 -8
  516. package/product/selectors/helpers/filterProperties.d.ts.map +0 -1
  517. package/product/selectors/helpers/index.d.ts +0 -3
  518. package/product/selectors/helpers/index.d.ts.map +0 -1
  519. package/product/selectors/helpers/wrapMemoizedSelector.d.ts +0 -2
  520. package/product/selectors/helpers/wrapMemoizedSelector.d.ts.map +0 -1
  521. package/product/selectors/product.d.ts +0 -112
  522. package/product/selectors/product.d.ts.map +0 -1
  523. package/reviews/components/Reviews/components/Header/components/WriteReviewLink/spec.js +0 -52
  524. package/reviews/components/Reviews/components/Header/spec.js +0 -78
  525. package/reviews/components/Reviews/components/List/spec.js +0 -108
  526. package/reviews/components/Reviews/components/RatingCount/spec.js +0 -38
  527. package/reviews/components/Reviews/spec.js +0 -101
  528. package/tsconfig.build.json +0 -26
  529. package/tsconfig.json +0 -19
@@ -1,4 +1,11 @@
1
1
  import { type Theme } from '..';
2
+ /**
3
+ * React hook to check if a media query matches the current viewport. Independent of the theme
4
+ * context, so it can be used by the provider that establishes it.
5
+ * @param query A media query string, e.g. '(min-width: 600px)'
6
+ * @returns Returns true if the media query matches, false otherwise.
7
+ */
8
+ export declare const useMatchMedia: (query: string) => boolean;
2
9
  /**
3
10
  * @callback ThemeFn
4
11
  * @param {Theme} theme The current theme object.
@@ -1 +1 @@
1
- {"version":3,"file":"useMediaQuery.d.ts","sourceRoot":"","sources":["../../../../styles/theme/hooks/useMediaQuery.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,IAAI,CAAC;AA8BhC;;;GAGG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,QAAA,MAAM,aAAa,GAAI,YAAY,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,CAAC,KAAG,OASxE,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"useMediaQuery.d.ts","sourceRoot":"","sources":["../../../../styles/theme/hooks/useMediaQuery.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,IAAI,CAAC;AAEhC;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,KAAG,OAoB7C,CAAC;AAEF;;;GAGG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,QAAA,MAAM,aAAa,GAAI,YAAY,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,CAAC,KAAG,OASxE,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -2,12 +2,12 @@ import "core-js/modules/es.string.replace.js";
2
2
  import { useState, useEffect } from 'react';
3
3
  import useTheme from "./useTheme";
4
4
  /**
5
- * React hook to check if a media query matches the current viewport.
6
- * Doesn't accept media query strings that start with '@media'.
5
+ * React hook to check if a media query matches the current viewport. Independent of the theme
6
+ * context, so it can be used by the provider that establishes it.
7
7
  * @param query A media query string, e.g. '(min-width: 600px)'
8
8
  * @returns Returns true if the media query matches, false otherwise.
9
9
  */
10
- const useMediaQueryInternal = query => {
10
+ export const useMatchMedia = query => {
11
11
  const [match, setMatch] = useState(() => window.matchMedia(query).matches);
12
12
  useEffect(() => {
13
13
  const queryList = window.matchMedia(query);
@@ -60,9 +60,9 @@ const useMediaQueryInternal = query => {
60
60
  const useMediaQuery = queryInput => {
61
61
  const theme = useTheme();
62
62
  let query = typeof queryInput === 'function' ? queryInput(theme) : queryInput;
63
- // Remove the '@media' prefix if it exists, as useMediaQueryInternal expects a plain media query.
63
+ // Remove the '@media' prefix if it exists, as useMatchMedia expects a plain media query.
64
64
  query = query.replace(/^@media( ?)/m, '');
65
- const match = useMediaQueryInternal(query);
65
+ const match = useMatchMedia(query);
66
66
  return match;
67
67
  };
68
68
  export default useMediaQuery;
@@ -1,5 +1,5 @@
1
1
  import { useContext } from 'react';
2
- import { ThemeContext } from "../providers/ThemeProvider";
2
+ import { ThemeContext } from "../providers/ThemeContext";
3
3
 
4
4
  /**
5
5
  * Returns the theme object.
@@ -1,5 +1,9 @@
1
1
  export { default as ThemeProvider } from './providers/ThemeProvider';
2
2
  export { createTheme } from './createTheme';
3
- export type { Theme, Breakpoint, PaletteColorsWithMain } from './createTheme';
3
+ export { type ShadowSize } from './createTheme/shadows';
4
+ export type { Variant as TypographyVariant } from './createTheme/createTypography';
5
+ export type { Theme, Breakpoint, PaletteColorsWithMain, ColorSchemeName, ColorSchemeMode, } from './createTheme';
4
6
  export { useActiveBreakpoint, useMediaQuery, useResponsiveValue, useTheme, useColorScheme, } from './hooks';
7
+ export { withTheme, type WithThemeProps } from './hocs';
8
+ export type { ColorSchemeContextValue } from './providers/ColorSchemeContext';
5
9
  //# 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,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,YAAY,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnF,YAAY,EACV,KAAK,EAAE,UAAU,EAAE,qBAAqB,EAAE,eAAe,EAAE,eAAe,GAC3E,MAAM,eAAe,CAAC;AACvB,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;AACxD,YAAY,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,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
@@ -0,0 +1,40 @@
1
+ import { type ColorSchemeMode, type ColorSchemeName } from '../createTheme';
2
+ /**
3
+ * A new mode, or an updater that receives the effective one. Null clears the visitor's pick.
4
+ */
5
+ export type SetColorSchemeMode = ColorSchemeMode | null | ((current: ColorSchemeMode) => ColorSchemeMode | null);
6
+ export interface ColorSchemeContextValue {
7
+ /**
8
+ * The mode in effect: the one the visitor picked, or the configured default while they picked
9
+ * none.
10
+ */
11
+ mode: ColorSchemeMode;
12
+ /**
13
+ * The mode that applies while the visitor picked none, as configured within the app settings.
14
+ */
15
+ defaultMode: ColorSchemeMode;
16
+ /**
17
+ * The color scheme that is applied - the mode resolved against the operating system and the
18
+ * configured default. Components style against this one.
19
+ */
20
+ activeColorScheme: ColorSchemeName | null;
21
+ /**
22
+ * Whether visitors may pick a color scheme themselves. False while the app settings configure a
23
+ * binding color scheme, in which case a stored pick is ignored. Always true in development
24
+ * builds, which have no app settings to configure. A picker should render only where this is
25
+ * true.
26
+ */
27
+ canSelectColorScheme: boolean;
28
+ /**
29
+ * Updates the color scheme. Setting null clears the visitor's pick, so the configured default
30
+ * applies again. Takes effect only while `canSelectColorScheme` is true.
31
+ */
32
+ setMode: (value: SetColorSchemeMode) => void;
33
+ /**
34
+ * Everything that can be set: the color schemes the active theme styles, plus 'system'. Passing
35
+ * anything else to setMode has no effect.
36
+ */
37
+ modes: ColorSchemeMode[];
38
+ }
39
+ export declare const ColorSchemeContext: import("react").Context<ColorSchemeContextValue>;
40
+ //# sourceMappingURL=ColorSchemeContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColorSchemeContext.d.ts","sourceRoot":"","sources":["../../../../styles/theme/providers/ColorSchemeContext.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAE5E;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAC1B,eAAe,GACf,IAAI,GACJ,CAAC,CAAC,OAAO,EAAE,eAAe,KAAK,eAAe,GAAG,IAAI,CAAC,CAAC;AAE3D,MAAM,WAAW,uBAAuB;IACtC;;;OAGG;IACH,IAAI,EAAE,eAAe,CAAC;IACtB;;OAEG;IACH,WAAW,EAAE,eAAe,CAAC;IAC7B;;;OAGG;IACH,iBAAiB,EAAE,eAAe,GAAG,IAAI,CAAC;IAC1C;;;;;OAKG;IACH,oBAAoB,EAAE,OAAO,CAAC;IAC9B;;;OAGG;IACH,OAAO,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC7C;;;OAGG;IACH,KAAK,EAAE,eAAe,EAAE,CAAC;CAC1B;AAED,eAAO,MAAM,kBAAkB,kDAO7B,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { createContext } from 'react';
2
+
3
+ /**
4
+ * A new mode, or an updater that receives the effective one. Null clears the visitor's pick.
5
+ */
6
+
7
+ export const ColorSchemeContext = /*#__PURE__*/createContext({
8
+ mode: 'light',
9
+ defaultMode: 'light',
10
+ activeColorScheme: 'light',
11
+ canSelectColorScheme: false,
12
+ setMode: () => undefined,
13
+ modes: ['light']
14
+ });
@@ -0,0 +1,3 @@
1
+ import { type Theme } from '../createTheme';
2
+ export declare const ThemeContext: import("react").Context<Theme>;
3
+ //# sourceMappingURL=ThemeContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThemeContext.d.ts","sourceRoot":"","sources":["../../../../styles/theme/providers/ThemeContext.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAE5C,eAAO,MAAM,YAAY,gCAAqC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { createContext } from 'react';
2
+ export const ThemeContext = /*#__PURE__*/createContext({});
@@ -1,16 +1,6 @@
1
- import { type Theme, type ThemeInternal, type ColorSchemeName } from '../createTheme';
2
- export interface ColorSchemeContextValue {
3
- /**
4
- * The current color scheme (e.g., 'light' or 'dark')
5
- */
6
- mode: ColorSchemeName;
7
- /**
8
- * Function to update the color scheme
9
- */
10
- setMode: React.Dispatch<React.SetStateAction<ColorSchemeName>>;
11
- }
12
- export declare const ThemeContext: import("react").Context<Theme>;
13
- export declare const ColorSchemeContext: import("react").Context<ColorSchemeContextValue>;
1
+ import { type ThemeInternal } from '../createTheme';
2
+ export { ColorSchemeContext, type ColorSchemeContextValue } from './ColorSchemeContext';
3
+ export { ThemeContext } from './ThemeContext';
14
4
  type ThemeProviderProps = {
15
5
  /**
16
6
  * The theme object to provide to the context.
@@ -18,6 +8,6 @@ type ThemeProviderProps = {
18
8
  theme: ThemeInternal;
19
9
  children: React.ReactNode;
20
10
  };
21
- declare const _default: import("react").MemoExoticComponent<({ children, theme, }: ThemeProviderProps) => import("react/jsx-runtime").JSX.Element>;
11
+ declare const _default: import("react").MemoExoticComponent<({ children, theme, }: ThemeProviderProps) => import("react").JSX.Element>;
22
12
  export default _default;
23
13
  //# sourceMappingURL=ThemeProvider.d.ts.map
@@ -1 +1 @@
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,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;AAyCH,KAAK,kBAAkB,GAAG;IACxB;;OAEG;IACH,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAA;mFAvCE,kBAAkB;AAyCrB,wBAAmC"}
1
+ {"version":3,"file":"ThemeProvider.d.ts","sourceRoot":"","sources":["../../../../styles/theme/providers/ThemeProvider.tsx"],"names":[],"mappings":"AAgBA,OAAO,EACgB,KAAK,aAAa,EACxC,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,kBAAkB,EAAE,KAAK,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACxF,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAuH9C,KAAK,kBAAkB,GAAG;IACxB;;OAEG;IACH,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAA;mFArHE,kBAAkB;AAuHrB,wBAAmC"}
@@ -1,15 +1,22 @@
1
- import { createContext, memo, useMemo, useLayoutEffect } from 'react';
1
+ import "core-js/modules/es.array.includes.js";
2
+ import { memo, useCallback, useEffect, useMemo, useLayoutEffect } from 'react';
3
+ import { useSelector } from 'react-redux';
2
4
  import useLocalStorage from '@shopgate/engage/core/hooks/useLocalStorage';
5
+ import { logger } from '@shopgate/engage/core/helpers';
3
6
  import { GlobalStyles } from '@shopgate/engage/styles';
4
- import { IS_FRONTEND_SETTINGS_ADMIN_PREVIEW_ACTIVE } from '@shopgate/engage/admin-preview/constants';
7
+ import { isFrontendSettingsAdminPreviewActive } from '@shopgate/engage/admin-preview/helpers';
5
8
  import { FrontendSettingsPreviewBridge } from '@shopgate/engage/admin-preview/components';
9
+ // Imported via its module path rather than a settings barrel, to keep this module out of an import
10
+ // cycle - the settings types reach back into the "styles/theme" barrel, which exports this file.
11
+ import { getCanSelectColorScheme, getDefaultColorSchemeMode } from '@shopgate/engage/settings/selectors/appSettings';
6
12
  import ActiveBreakpointProvider from "./ActiveBreakpointProvider";
13
+ import { ColorSchemeContext } from "./ColorSchemeContext";
14
+ import { ThemeContext } from "./ThemeContext";
15
+ import { useMatchMedia } from "../hooks/useMediaQuery";
16
+ import { COLOR_SCHEME_SYSTEM } from "../createTheme";
7
17
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
- export const ThemeContext = /*#__PURE__*/createContext({});
9
- export const ColorSchemeContext = /*#__PURE__*/createContext({
10
- mode: 'light',
11
- setMode: () => ''
12
- });
18
+ export { ColorSchemeContext } from "./ColorSchemeContext";
19
+ export { ThemeContext } from "./ThemeContext";
13
20
 
14
21
  /**
15
22
  * The ThemeProvider component provides the theme context to its children.
@@ -18,32 +25,87 @@ const ThemeProvider = ({
18
25
  children,
19
26
  theme
20
27
  }) => {
21
- const [activeColorScheme, setActiveColorScheme] = useLocalStorage('persistedColorScheme', {
22
- initialValue: theme.defaultColorScheme
28
+ // The color schemes the active theme actually provides. createTheme() can be configured with only
29
+ // a subset of the possible schemes (it defaults to just `light`), so this list and the validation
30
+ // below are derived from the resolved theme rather than the full COLOR_SCHEME_NAMES tuple.
31
+ // Otherwise the provider could expose and accept a scheme (e.g. `dark`) the theme doesn't style,
32
+ // and setActiveColorScheme would flip the root selector to an unstyled scheme.
33
+ const colorSchemes = useMemo(() => Object.keys(theme.colorSchemes), [theme]);
34
+ const defaultMode = useSelector(getDefaultColorSchemeMode);
35
+ const isColorSchemeSelectable = useSelector(getCanSelectColorScheme);
36
+
37
+ // Whether the merchant lets visitors choose. A binding `light` or `dark` rules a pick out, so one
38
+ // left over from when selecting still was allowed does not keep overriding it. Development builds
39
+ // have no app settings to configure at all, so both schemes stay reachable there.
40
+ const canSelectColorScheme = isColorSchemeSelectable || process.env.NODE_ENV === 'development';
41
+ const prefersDarkColorScheme = useMatchMedia('(prefers-color-scheme: dark)');
42
+ const systemColorScheme = prefersDarkColorScheme ? 'dark' : 'light';
43
+ const [pickedMode, setPersistedMode] = useLocalStorage('persistedColorScheme', {
44
+ // The frontend settings preview runs the app in an iframe on the shop origin. Persisting the
45
+ // color scheme there would write the admin's preview choice into the visitor's own storage and
46
+ // outlive the preview, so the scheme is kept in memory only while previewing.
47
+ persist: !isFrontendSettingsAdminPreviewActive()
23
48
  });
49
+
50
+ // The preview forces a scheme through the same setter to show the admin either appearance, which
51
+ // has to work regardless of what the previewed settings configure. It stays out of
52
+ // `canSelectColorScheme`, so the previewed shop offers a picker exactly where visitors get one.
53
+ const isPickApplied = canSelectColorScheme || isFrontendSettingsAdminPreviewActive();
54
+
55
+ // The mode the visitor picked wins where it applies, otherwise the configured one does. Resolving
56
+ // that on every render rather than seeding the storage with it keeps `system` following the
57
+ // operating system and lets the preview apply the merchant's edits live.
58
+ const mode = isPickApplied && pickedMode || defaultMode;
59
+ const resolvedColorScheme = useMemo(() => mode === COLOR_SCHEME_SYSTEM ? systemColorScheme : mode, [mode, systemColorScheme]);
60
+ const isSupportedColorScheme = colorSchemes.includes(resolvedColorScheme);
61
+ const activeColorScheme = isSupportedColorScheme ? resolvedColorScheme : theme.defaultColorScheme ?? null;
62
+ useEffect(() => {
63
+ if (isSupportedColorScheme) return;
64
+ logger.warn(`ThemeProvider: "${resolvedColorScheme}" is not a supported color scheme.`);
65
+ }, [isSupportedColorScheme, resolvedColorScheme]);
66
+
67
+ // What a picker can offer and what setMode accepts. 'system' is not a scheme the theme styles -
68
+ // it resolves to one above - so it is added here rather than derived from the theme.
69
+ const modes = useMemo(() => [].concat(colorSchemes, [COLOR_SCHEME_SYSTEM]), [colorSchemes]);
70
+
71
+ // Wraps the raw storage setter, so an unsupported mode is rejected before it is persisted.
72
+ // Setting null is allowed and clears the stored preference, which returns to the configured one.
73
+ const setMode = useCallback(value => {
74
+ setPersistedMode(currentMode => {
75
+ // An updater is resolved the same way `mode` is, so it sees what the context exposes rather
76
+ // than the storage behind it - which holds no value yet, or one that is currently ignored.
77
+ const effectiveMode = isPickApplied && currentMode || defaultMode;
78
+ const nextMode = typeof value === 'function' ? value(effectiveMode) : value;
79
+ if (nextMode !== null && !modes.includes(nextMode)) {
80
+ logger.warn(`ThemeProvider: "${nextMode}" is not a supported color scheme.`);
81
+ return currentMode;
82
+ }
83
+ return nextMode;
84
+ });
85
+ }, [defaultMode, isPickApplied, modes, setPersistedMode]);
24
86
  const colorSchemeContextValue = useMemo(() => ({
25
- mode: activeColorScheme,
26
- setMode: setActiveColorScheme
27
- }), [activeColorScheme, setActiveColorScheme]);
87
+ mode,
88
+ defaultMode,
89
+ activeColorScheme,
90
+ canSelectColorScheme,
91
+ setMode,
92
+ modes
93
+ }), [mode, defaultMode, activeColorScheme, canSelectColorScheme, modes, setMode]);
28
94
  useLayoutEffect(() => {
29
95
  if (!activeColorScheme) return;
30
96
  theme.setActiveColorScheme(activeColorScheme);
31
97
  }, [activeColorScheme, theme]);
32
98
  const styleSheets = useMemo(() => theme.generateStyleSheets(), [theme]);
33
- return (
34
- /*#__PURE__*/
35
- // @ts-expect-error The input theme contains more properties than exposed to the Theme type
36
- _jsxs(ColorSchemeContext.Provider, {
37
- value: colorSchemeContextValue,
38
- children: [IS_FRONTEND_SETTINGS_ADMIN_PREVIEW_ACTIVE && /*#__PURE__*/_jsx(FrontendSettingsPreviewBridge, {}), /*#__PURE__*/_jsxs(ThemeContext.Provider, {
39
- value: theme,
40
- children: [/*#__PURE__*/_jsx(ActiveBreakpointProvider, {
41
- children: children
42
- }), /*#__PURE__*/_jsx(GlobalStyles, {
43
- styles: styleSheets
44
- })]
99
+ return /*#__PURE__*/_jsxs(ColorSchemeContext.Provider, {
100
+ value: colorSchemeContextValue,
101
+ children: [isFrontendSettingsAdminPreviewActive() && /*#__PURE__*/_jsx(FrontendSettingsPreviewBridge, {}), /*#__PURE__*/_jsxs(ThemeContext.Provider, {
102
+ value: theme,
103
+ children: [/*#__PURE__*/_jsx(ActiveBreakpointProvider, {
104
+ children: children
105
+ }), /*#__PURE__*/_jsx(GlobalStyles, {
106
+ styles: styleSheets
45
107
  })]
46
- })
47
- );
108
+ })]
109
+ });
48
110
  };
49
111
  export default /*#__PURE__*/memo(ThemeProvider);
@@ -24,7 +24,7 @@ export declare const getContrastRatio: (color: string, color2: string, backgroun
24
24
  * @param returnType The type of return value to create. Defaults to 'hex'.
25
25
  * @returns The desired color value
26
26
  */
27
- export declare const toHex: (color: ColorInstance, returnType?: ColorType) => string | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | /*elided*/ any | ArrayLike<number> | {
27
+ export declare const toHex: (color: ColorInstance, returnType?: ColorType) => string | number[] | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | /*elided*/ any | ArrayLike<number> | {
28
28
  [key: string]: any;
29
29
  }> | ArrayLike<number> | {
30
30
  [key: string]: any;
@@ -48,14 +48,14 @@ export declare const toHex: (color: ColorInstance, returnType?: ColorType) => st
48
48
  [key: string]: any;
49
49
  }> | ArrayLike<number> | {
50
50
  [key: string]: any;
51
- }> | number[];
51
+ }>;
52
52
  /**
53
53
  * Converts a passed color to an RGB color
54
54
  * @param color The color to convert.
55
55
  * @param returnType The type of return value to create. Defaults to 'rgb'.
56
56
  * @returns The desired color value
57
57
  */
58
- export declare const toRgb: (color: ColorInstance, returnType?: ColorType) => string | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | /*elided*/ any | ArrayLike<number> | {
58
+ export declare const toRgb: (color: ColorInstance, returnType?: ColorType) => string | number[] | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | /*elided*/ any | ArrayLike<number> | {
59
59
  [key: string]: any;
60
60
  }> | ArrayLike<number> | {
61
61
  [key: string]: any;
@@ -79,14 +79,14 @@ export declare const toRgb: (color: ColorInstance, returnType?: ColorType) => st
79
79
  [key: string]: any;
80
80
  }> | ArrayLike<number> | {
81
81
  [key: string]: any;
82
- }> | number[];
82
+ }>;
83
83
  /**
84
84
  * Converts a passed color to an HSL color
85
85
  * @param color The color to convert.
86
86
  * @param returnType The type of return value to create. Defaults to 'hsl'.
87
87
  * @returns The desired color value
88
88
  */
89
- export declare const toHsl: (color: ColorInstance, returnType?: ColorType) => string | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | /*elided*/ any | ArrayLike<number> | {
89
+ export declare const toHsl: (color: ColorInstance, returnType?: ColorType) => string | number[] | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | /*elided*/ any | ArrayLike<number> | {
90
90
  [key: string]: any;
91
91
  }> | ArrayLike<number> | {
92
92
  [key: string]: any;
@@ -110,7 +110,7 @@ export declare const toHsl: (color: ColorInstance, returnType?: ColorType) => st
110
110
  [key: string]: any;
111
111
  }> | ArrayLike<number> | {
112
112
  [key: string]: any;
113
- }> | number[];
113
+ }>;
114
114
  /**
115
115
  * Adds hsl lightness to a color
116
116
  * @param color The color to modify.
@@ -118,7 +118,7 @@ export declare const toHsl: (color: ColorInstance, returnType?: ColorType) => st
118
118
  * @param type The type of return value to create. Defaults to 'hsl'.
119
119
  * @returns The desired color value
120
120
  */
121
- export declare const addLightness: (color: ColorInstance, value: number, type?: ColorType) => string | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | /*elided*/ any | ArrayLike<number> | {
121
+ export declare const addLightness: (color: ColorInstance, value: number, type?: ColorType) => string | number[] | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | /*elided*/ any | ArrayLike<number> | {
122
122
  [key: string]: any;
123
123
  }> | ArrayLike<number> | {
124
124
  [key: string]: any;
@@ -142,7 +142,7 @@ export declare const addLightness: (color: ColorInstance, value: number, type?:
142
142
  [key: string]: any;
143
143
  }> | ArrayLike<number> | {
144
144
  [key: string]: any;
145
- }> | number[];
145
+ }>;
146
146
  /**
147
147
  * Lightens a color by a given offset
148
148
  * @param color The color to modify.
@@ -150,7 +150,7 @@ export declare const addLightness: (color: ColorInstance, value: number, type?:
150
150
  * @param type The type of return value to create. Defaults to 'hsl'.
151
151
  * @returns The desired color value
152
152
  */
153
- export declare const lighten: (color: ColorInstance, totalOffset: number, type?: ColorType) => string | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | /*elided*/ any | ArrayLike<number> | {
153
+ export declare const lighten: (color: ColorInstance, totalOffset: number, type?: ColorType) => string | number[] | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | /*elided*/ any | ArrayLike<number> | {
154
154
  [key: string]: any;
155
155
  }> | ArrayLike<number> | {
156
156
  [key: string]: any;
@@ -174,7 +174,7 @@ export declare const lighten: (color: ColorInstance, totalOffset: number, type?:
174
174
  [key: string]: any;
175
175
  }> | ArrayLike<number> | {
176
176
  [key: string]: any;
177
- }> | number[];
177
+ }>;
178
178
  /**
179
179
  * Darkens a color by a given offset
180
180
  * @param color The color to modify.
@@ -182,7 +182,7 @@ export declare const lighten: (color: ColorInstance, totalOffset: number, type?:
182
182
  * @param type The type of return value to create. Defaults to 'hsl'.
183
183
  * @returns The desired color value
184
184
  */
185
- export declare const darken: (color: ColorInstance, totalOffset: number, type?: ColorType) => string | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | /*elided*/ any | ArrayLike<number> | {
185
+ export declare const darken: (color: ColorInstance, totalOffset: number, type?: ColorType) => string | number[] | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | Color<string | number | /*elided*/ any | ArrayLike<number> | {
186
186
  [key: string]: any;
187
187
  }> | ArrayLike<number> | {
188
188
  [key: string]: any;
@@ -206,6 +206,6 @@ export declare const darken: (color: ColorInstance, totalOffset: number, type?:
206
206
  [key: string]: any;
207
207
  }> | ArrayLike<number> | {
208
208
  [key: string]: any;
209
- }> | number[];
209
+ }>;
210
210
  export {};
211
211
  //# sourceMappingURL=color.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"color.d.ts","sourceRoot":"","sources":["../../../../styles/theme/utils/color.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,KAAK,SAAS,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE5D,KAAK,aAAa,GAAG,YAAY,CAAC,OAAO,KAAK,CAAC,CAAC;AAEhD;;;;GAIG;AACH,eAAO,MAAM,OAAO,GAAI,OAAO,OAAO,YAWrC,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB,GAC3B,OAAO,MAAM,EACb,QAAQ,MAAM,EACd,mBAAmB,WAYpB,CAAC;AA6BF;;;;;GAKG;AACH,eAAO,MAAM,KAAK,GAChB,OAAO,aAAa,EACpB,aAAY,SAAiB;;;;;;;;;;;;;;;;;;;;;;;;aACuB,CAAC;AAEvD;;;;;GAKG;AACH,eAAO,MAAM,KAAK,GAChB,OAAO,aAAa,EACpB,aAAY,SAAiB;;;;;;;;;;;;;;;;;;;;;;;;aACuB,CAAC;AAEvD;;;;;GAKG;AACH,eAAO,MAAM,KAAK,GAChB,OAAO,aAAa,EACpB,aAAY,SAAiB;;;;;;;;;;;;;;;;;;;;;;;;aACuB,CAAC;AAEvD;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,GACvB,OAAO,aAAa,EACpB,OAAO,MAAM,EACb,OAAM,SAAiB;;;;;;;;;;;;;;;;;;;;;;;;aACkC,CAAC;AAC5D;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,GAClB,OAAO,aAAa,EACpB,aAAa,MAAM,EACnB,OAAM,SAAiB;;;;;;;;;;;;;;;;;;;;;;;;aACsC,CAAC;AAEhE;;;;;;GAMG;AACH,eAAO,MAAM,MAAM,GACjB,OAAO,aAAa,EACpB,aAAa,MAAM,EACnB,OAAM,SAAiB;;;;;;;;;;;;;;;;;;;;;;;;aACqC,CAAC"}
1
+ {"version":3,"file":"color.d.ts","sourceRoot":"","sources":["../../../../styles/theme/utils/color.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,KAAK,SAAS,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE5D,KAAK,aAAa,GAAG,YAAY,CAAC,OAAO,KAAK,CAAC,CAAC;AAEhD;;;;GAIG;AACH,eAAO,MAAM,OAAO,GAAI,OAAO,OAAO,YAWrC,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB,GAC3B,OAAO,MAAM,EACb,QAAQ,MAAM,EACd,mBAAmB,WAYpB,CAAC;AA6BF;;;;;GAKG;AACH,eAAO,MAAM,KAAK,GAChB,OAAO,aAAa,EACpB,aAAY,SAAiB;;;;;;;;;;;;;;;;;;;;;;;;EACuB,CAAC;AAEvD;;;;;GAKG;AACH,eAAO,MAAM,KAAK,GAChB,OAAO,aAAa,EACpB,aAAY,SAAiB;;;;;;;;;;;;;;;;;;;;;;;;EACuB,CAAC;AAEvD;;;;;GAKG;AACH,eAAO,MAAM,KAAK,GAChB,OAAO,aAAa,EACpB,aAAY,SAAiB;;;;;;;;;;;;;;;;;;;;;;;;EACuB,CAAC;AAEvD;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,GACvB,OAAO,aAAa,EACpB,OAAO,MAAM,EACb,OAAM,SAAiB;;;;;;;;;;;;;;;;;;;;;;;;EACkC,CAAC;AAC5D;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,GAClB,OAAO,aAAa,EACpB,aAAa,MAAM,EACnB,OAAM,SAAiB;;;;;;;;;;;;;;;;;;;;;;;;EACsC,CAAC;AAEhE;;;;;;GAMG;AACH,eAAO,MAAM,MAAM,GACjB,OAAO,aAAa,EACpB,aAAa,MAAM,EACnB,OAAM,SAAiB;;;;;;;;;;;;;;;;;;;;;;;;EACqC,CAAC"}
@@ -2,7 +2,8 @@ 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, Typography } from '@shopgate/engage/components';
5
+ import { Grid, I18n, Modal, Link, ConditionalWrapper, Typography } from '@shopgate/engage/components';
6
+ import { Button } from '@shopgate/engage/components/v2';
6
7
  import { appConfig } from '@shopgate/engage';
7
8
  import connect from "./connector";
8
9
  import cookieImage from "./tracking-opt-in.svg";
@@ -164,21 +165,19 @@ const CookieConsentModal = ({
164
165
  className: classes.buttonWrapper,
165
166
  children: [/*#__PURE__*/_jsx(Button, {
166
167
  onClick: handleAcceptAllCookies,
167
- type: "primary",
168
+ color: "secondary",
168
169
  className: cx(classes.button, 'cookie-consent-modal__button-accept-all'),
169
170
  children: /*#__PURE__*/_jsx(I18n.Text, {
170
171
  string: modalButtonAcceptAll || 'cookieConsentModal.buttonAcceptAll'
171
172
  })
172
173
  }), showRequiredCookiesButton ? /*#__PURE__*/_jsx(Button, {
173
174
  onClick: handleAcceptRequiredCookies,
174
- type: "simple",
175
175
  className: cx(classes.button, 'cookie-consent-modal__button-accept-required'),
176
176
  children: /*#__PURE__*/_jsx(I18n.Text, {
177
177
  string: modalButtonOnlyRequired || 'cookieConsentModal.modalButtonOnlyRequired'
178
178
  })
179
179
  }) : null, /*#__PURE__*/_jsx(Button, {
180
180
  onClick: handleOpenPrivacySettings,
181
- type: "simple",
182
181
  className: cx(classes.button, 'cookie-consent-modal__button-open-settings'),
183
182
  children: /*#__PURE__*/_jsx(I18n.Text, {
184
183
  string: modalButtonConfigureSettings || 'cookieConsentModal.buttonConfigure'
@@ -1,5 +1,6 @@
1
1
  import React, { useCallback, useState } from 'react';
2
- import { Button, Grid, I18n, Link, Switch, ConditionalWrapper } from '@shopgate/engage/components';
2
+ import { Grid, I18n, Link, Switch, ConditionalWrapper } from '@shopgate/engage/components';
3
+ import { Button } from '@shopgate/engage/components/v2';
3
4
  import PropTypes from 'prop-types';
4
5
  import { makeStyles } from '@shopgate/engage/styles';
5
6
  import { appConfig } from '@shopgate/engage';
@@ -148,7 +149,7 @@ const PrivacySettings = ({
148
149
  className: classes.buttonWrapper,
149
150
  children: [/*#__PURE__*/_jsx(Button, {
150
151
  onClick: () => handleAcceptAllCookies(),
151
- type: "primary",
152
+ color: "secondary",
152
153
  className: cx(classes.button, 'privacy-settings__button-accept-all'),
153
154
  children: /*#__PURE__*/_jsx(I18n.Text, {
154
155
  string: "cookieConsentModal.buttonAcceptAll"
@@ -158,7 +159,6 @@ const PrivacySettings = ({
158
159
  comfortCookiesAccepted: areComfortCookiesSelected,
159
160
  statisticsCookiesAccepted: areStatisticsCookiesSelected
160
161
  }),
161
- type: "simple",
162
162
  className: cx(classes.button, 'privacy-settings__button-accept-selected'),
163
163
  children: /*#__PURE__*/_jsx(I18n.Text, {
164
164
  string: "cookieConsentModal.modalButtonConfirmSelected"
@@ -1,6 +0,0 @@
1
- import { connect } from 'react-redux';
2
- import { historyReset } from '@shopgate/pwa-common/actions/router';
3
- const mapDispatchToProps = {
4
- historyReset
5
- };
6
- export default connect(null, mapDispatchToProps);
@@ -1,71 +0,0 @@
1
- import "core-js/modules/es.regexp.flags.js";
2
- import React from 'react';
3
- import PropTypes from 'prop-types';
4
- import { I18n, SurroundPortals, RippleButton } from '@shopgate/engage/components';
5
- import { makeStyles } from '@shopgate/engage/styles';
6
- import { CART_CHECKOUT_BUTTON } from '@shopgate/pwa-common-commerce/cart/constants/Portals';
7
- import { FulfillmentSheet, STAGE_RESERVE_FORM } from "../../../locations";
8
- import { CartContext } from "../../cart.context";
9
- import connect from "./PaymentBarReserveButton.connector";
10
- import { jsx as _jsx } from "react/jsx-runtime";
11
- const useStyles = makeStyles()(theme => ({
12
- button: {
13
- width: '100%',
14
- background: theme.components.ctaButton.background,
15
- color: `${theme.contrastColor(theme.components.ctaButton.background)}!important`
16
- },
17
- disabledButton: {
18
- width: '100%',
19
- background: theme.palette.action.disabledBackground,
20
- color: `${theme.contrastColor(theme.palette.action.disabledBackground)}!important`
21
- }
22
- }));
23
-
24
- /**
25
- * The reserve button component.
26
- * @param {Object} props The component props.
27
- * @param {Function} props.historyReset The history reset function.
28
- * @return {JSX.Element} The rendered component.
29
- */
30
- const PaymentBarReserveButton = ({
31
- historyReset
32
- }) => {
33
- const {
34
- classes
35
- } = useStyles();
36
- const {
37
- flags: {
38
- orderable
39
- }
40
- } = React.useContext(CartContext);
41
-
42
- /**
43
- * Handles the click on the button.
44
- */
45
- const handleClick = React.useCallback(() => {
46
- FulfillmentSheet.open({
47
- stage: STAGE_RESERVE_FORM,
48
- callback: (_location, _product, orderSuccess) => {
49
- if (orderSuccess === true) {
50
- historyReset();
51
- }
52
- }
53
- });
54
- }, [historyReset]);
55
- return /*#__PURE__*/_jsx(SurroundPortals, {
56
- portalName: CART_CHECKOUT_BUTTON,
57
- portalProps: {
58
- isActive: orderable
59
- },
60
- children: /*#__PURE__*/_jsx(RippleButton, {
61
- onClick: handleClick,
62
- disabled: !orderable,
63
- type: "regular",
64
- className: orderable ? classes.button : classes.disabledButton,
65
- children: /*#__PURE__*/_jsx(I18n.Text, {
66
- string: "cart.reserve"
67
- })
68
- })
69
- });
70
- };
71
- export default connect(PaymentBarReserveButton);
@@ -1,41 +0,0 @@
1
- import React from 'react';
2
- import { mount } from 'enzyme';
3
- import Chip from '@shopgate/pwa-ui-shared/Chip';
4
- import ChipsLayout from "./index";
5
-
6
- /**
7
- * Since the component uses the <Measure> component it needs an actual
8
- * browser to be tested as it needs a full browser that supports styling and
9
- * width/height calculation.
10
- */
11
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
- describe('<ChipsLayout />', () => {
13
- it('should render with one chip', () => {
14
- const Component = /*#__PURE__*/_jsx(ChipsLayout, {
15
- children: /*#__PURE__*/_jsx(Chip, {
16
- id: "some-id",
17
- children: "foo"
18
- })
19
- });
20
- const wrapper = mount(Component);
21
- expect(wrapper).toMatchSnapshot();
22
- expect(wrapper.find(Chip).length).toEqual(1);
23
- expect(wrapper.find(Chip).at(0).find('button').at(1).text()).toEqual('foo');
24
- });
25
- it('should render with two chips', () => {
26
- const Component = /*#__PURE__*/_jsxs(ChipsLayout, {
27
- children: [/*#__PURE__*/_jsx(Chip, {
28
- id: "some-id",
29
- children: "foo"
30
- }), /*#__PURE__*/_jsx(Chip, {
31
- id: "some-other-id",
32
- children: "bar"
33
- })]
34
- });
35
- const wrapper = mount(Component);
36
- expect(wrapper).toMatchSnapshot();
37
- expect(wrapper.find(Chip).length).toEqual(2);
38
- expect(wrapper.find(Chip).at(0).find('button').at(1).text()).toEqual('foo');
39
- expect(wrapper.find(Chip).at(1).find('button').at(1).text()).toEqual('bar');
40
- });
41
- });