@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,12 +0,0 @@
1
- import React from 'react';
2
- import { shallow } from 'enzyme';
3
- import Logo from "./index";
4
- import { jsx as _jsx } from "react/jsx-runtime";
5
- jest.mock("./connector", () => Component => Component);
6
- describe('<Logo />', () => {
7
- it('should render an image', () => {
8
- const wrapper = shallow(/*#__PURE__*/_jsx(Logo, {}));
9
- expect(wrapper).toMatchSnapshot();
10
- expect(wrapper.find('img').exists()).toBe(true);
11
- });
12
- });
@@ -1,84 +0,0 @@
1
- import "core-js/modules/es.string.replace.js";
2
- import React from 'react';
3
- import { Provider } from 'react-redux';
4
- import { mount } from 'enzyme';
5
- import { UIEvents } from '@shopgate/pwa-core';
6
- import { createMockStore } from '@shopgate/pwa-common/store';
7
- import NavigationHandler from "./index";
8
- import { NAVIGATION_PUSH, NAVIGATION_POP, NAVIGATION_REPLACE, NAVIGATION_RESET, push, pop, replace, reset } from "../../core/router/helpers";
9
- import { jsx as _jsx } from "react/jsx-runtime";
10
- jest.mock('@shopgate/pwa-core', () => {
11
- const map = {};
12
- return {
13
- UIEvents: {
14
- addListener: jest.fn((event, cb) => {
15
- map[event] = cb;
16
- }),
17
- removeListener: jest.fn(),
18
- emit: jest.fn((event, params) => {
19
- map[event](params);
20
- })
21
- }
22
- };
23
- });
24
- describe('<NavigationHandler />', () => {
25
- const store = createMockStore();
26
- const wrapper = mount(/*#__PURE__*/_jsx(Provider, {
27
- store: store,
28
- children: /*#__PURE__*/_jsx(NavigationHandler, {
29
- children: /*#__PURE__*/_jsx("div", {
30
- children: "Some content"
31
- })
32
- })
33
- }));
34
- it('should render as expected', () => {
35
- expect(wrapper).toMatchSnapshot();
36
- });
37
- it('should trigger the push() callbacks on navigation.push event', async () => {
38
- await push({
39
- pathname: '/test'
40
- });
41
- expect(UIEvents.emit).toBeCalledWith(NAVIGATION_PUSH, {
42
- pathname: '/test'
43
- });
44
- UIEvents.emit.mockClear();
45
- });
46
- it('should trigger the pop() callbacks on navigation.pop event', async () => {
47
- await pop();
48
- expect(UIEvents.emit).toBeCalledWith(NAVIGATION_POP);
49
- UIEvents.emit.mockClear();
50
- });
51
- it('should trigger the replace() callbacks on navigation.replace event', async () => {
52
- await replace({
53
- pathname: '/test'
54
- });
55
- expect(UIEvents.emit).toBeCalledWith(NAVIGATION_REPLACE, {
56
- pathname: '/test'
57
- });
58
- UIEvents.emit.mockClear();
59
- });
60
- it('should trigger the reset() callbacks on navigation.reset event', async () => {
61
- await reset();
62
- expect(UIEvents.emit).toBeCalledWith(NAVIGATION_RESET);
63
- UIEvents.emit.mockClear();
64
- });
65
- it('should register the navigation event listener', () => {
66
- const props = wrapper.find('NavigationHandler').props();
67
- expect(UIEvents.addListener.mock.calls.length).toBe(4);
68
- expect(UIEvents.addListener.mock.calls[0][0]).toEqual(NAVIGATION_PUSH, props.push);
69
- expect(UIEvents.addListener.mock.calls[1][0]).toEqual(NAVIGATION_POP, props.pop);
70
- expect(UIEvents.addListener.mock.calls[2][0]).toEqual(NAVIGATION_REPLACE, props.replace);
71
- expect(UIEvents.addListener.mock.calls[3][0]).toEqual(NAVIGATION_RESET, props.reset);
72
- UIEvents.addListener.mockClear();
73
- });
74
- it('should unregister the navigation event listener when the component unmounts', () => {
75
- const props = wrapper.find('NavigationHandler').props();
76
- wrapper.unmount();
77
- expect(UIEvents.removeListener.mock.calls.length).toBe(4);
78
- expect(UIEvents.removeListener.mock.calls[0][0]).toEqual(NAVIGATION_PUSH, props.push);
79
- expect(UIEvents.removeListener.mock.calls[1][0]).toEqual(NAVIGATION_POP, props.pop);
80
- expect(UIEvents.removeListener.mock.calls[2][0]).toEqual(NAVIGATION_REPLACE, props.replace);
81
- expect(UIEvents.removeListener.mock.calls[3][0]).toEqual(NAVIGATION_RESET, props.reset);
82
- UIEvents.removeListener.mockClear();
83
- });
84
- });
@@ -1,94 +0,0 @@
1
- import React from 'react';
2
- import { fireEvent, render, screen } from '@testing-library/react';
3
- import Picker from "./index";
4
- import { jsx as _jsx } from "react/jsx-runtime";
5
- jest.mock('@shopgate/engage/components');
6
- describe('<Picker />', () => {
7
- const mockItems = ['String only', {
8
- value: 'Value only'
9
- }, {
10
- value: 'value',
11
- label: 'Value and label'
12
- }];
13
- const mockOnChange = jest.fn();
14
- const mockOnSelect = jest.fn();
15
- const renderComponent = props => render(/*#__PURE__*/_jsx(Picker, {
16
- ...props
17
- }));
18
- beforeEach(() => {
19
- jest.clearAllMocks();
20
- });
21
- describe('Given the component was mounted to the DOM', () => {
22
- it('should match snapshot', () => {
23
- const renderedElement = renderComponent({
24
- items: mockItems,
25
- onChange: mockOnChange,
26
- onSelect: mockOnSelect
27
- });
28
- expect(renderedElement.container.firstChild).toMatchSnapshot();
29
- });
30
- it('should have no selected value', () => {
31
- renderComponent({
32
- items: mockItems,
33
- onChange: mockOnChange,
34
- onSelect: mockOnSelect
35
- });
36
- expect(screen.queryByText('String only')).toBeNull();
37
- expect(screen.getByText('Pick ...')).toBeTruthy();
38
- });
39
- describe('Given picker component gets opened', () => {
40
- const openPicker = () => {
41
- const renderedElement = renderComponent({
42
- items: mockItems,
43
- onChange: mockOnChange,
44
- onSelect: mockOnSelect
45
- });
46
- fireEvent.click(renderedElement.container.querySelector('button.engage__picker__button'));
47
- return renderedElement;
48
- };
49
- it('should have isOpen state', () => {
50
- openPicker();
51
- expect(document.querySelector('.engage__picker_modal')).toBeTruthy();
52
- });
53
- it('should render the picker list', () => {
54
- openPicker();
55
- expect(document.querySelector('ul.engage__picker_list')).toBeTruthy();
56
- });
57
- it('should render the picker items', () => {
58
- const renderedElement = openPicker();
59
- expect(renderedElement.container.querySelectorAll('li button').length).toBe(mockItems.length);
60
- });
61
- describe('Given a item gets selected', () => {
62
- jest.useFakeTimers();
63
- afterEach(() => {
64
- jest.clearAllTimers();
65
- });
66
- it('should trigger onChange when the value changed', () => {
67
- const renderedElement = openPicker();
68
- fireEvent.click(renderedElement.container.querySelectorAll('li button')[0]);
69
- jest.runAllTimers();
70
- expect(mockOnChange).toHaveBeenCalledTimes(1);
71
- });
72
- it('should trigger onSelect when the value changed', () => {
73
- const renderedElement = openPicker();
74
- fireEvent.click(renderedElement.container.querySelectorAll('li button')[0]);
75
- jest.runAllTimers();
76
- expect(mockOnSelect).toHaveBeenCalledTimes(1);
77
- });
78
- it('should not trigger onChange when the value did not change, but trigger onSelect', () => {
79
- const renderedElement = renderComponent({
80
- items: mockItems,
81
- value: 'String only',
82
- onChange: mockOnChange,
83
- onSelect: mockOnSelect
84
- });
85
- fireEvent.click(renderedElement.container.querySelector('button.engage__picker__button'));
86
- fireEvent.click(renderedElement.container.querySelectorAll('li button')[0]);
87
- jest.runAllTimers();
88
- expect(mockOnChange).toHaveBeenCalledTimes(0);
89
- expect(mockOnSelect).toHaveBeenCalledTimes(1);
90
- });
91
- });
92
- });
93
- });
94
- });
@@ -1,35 +0,0 @@
1
- import React from 'react';
2
- import { render } from '@testing-library/react';
3
- import Picker from "./index";
4
- import { jsx as _jsx } from "react/jsx-runtime";
5
- jest.mock('@shopgate/engage/components/View');
6
- jest.mock('@shopgate/engage/components', () => {
7
- function SheetList({
8
- children
9
- }) {
10
- return children;
11
- }
12
- SheetList.Item = function Item() {
13
- return null;
14
- };
15
- return {
16
- Typography: ({
17
- children
18
- }) => children,
19
- SheetList,
20
- Sheet: ({
21
- children
22
- }) => children,
23
- Picker: jest.requireActual('@shopgate/engage/components/Picker').default,
24
- ConnectedReactPortal: jest.requireActual('@shopgate/engage/components/ConnectedReactPortal/__mocks__').default
25
- };
26
- });
27
- describe('<Picker />', () => {
28
- it('should render the picker', () => {
29
- const label = 'Picker label';
30
- const wrapper = render(/*#__PURE__*/_jsx(Picker, {
31
- label: label
32
- }));
33
- expect(wrapper.asFragment()).toMatchSnapshot();
34
- });
35
- });
@@ -1,190 +0,0 @@
1
- /* eslint-disable function-call-argument-newline */
2
- import React from 'react';
3
- import { shallow, mount } from 'enzyme';
4
- import RangeSlider from "./index";
5
- import RangeSliderHandle from "./components/Handle";
6
- import { generateLinearEasingCallback, generateExponentialEasingCallback, getAbsoluteValue, getRelativeValue } from "./helper";
7
-
8
- /**
9
- * Creates a (fake) touch event.
10
- * @param {number} pageX the x page offset of the simulated touch event
11
- * @returns {Object} the new fake event containing only the properties required for testing.
12
- */
13
- import { jsx as _jsx } from "react/jsx-runtime";
14
- const createTouchEvent = pageX => {
15
- // Simulate a handle of 16px width.
16
- const simulatedHandleWidth = 16;
17
- const simulatedHandleHalfWidth = simulatedHandleWidth / 2;
18
- const touchEvent = {
19
- target: {
20
- offsetWidth: simulatedHandleWidth,
21
- getBoundingClientRect: () => ({
22
- // Simulate a touch on the center of the handle.
23
- left: pageX - simulatedHandleHalfWidth
24
- })
25
- },
26
- touches: [{
27
- pageX
28
- }]
29
- };
30
- return touchEvent;
31
- };
32
-
33
- /**
34
- * Simulates a series of touch events.
35
- * This function will automatically validate the from/to values of the range slider.
36
- * An extra testCallback may be provided to perform additional checks.
37
- *
38
- * @param {number} pxWidth The simulated width of the DOM element (in px).
39
- * @param {number} pxOffset The simulated left offset of the DOM element (in px).
40
- * @param {number} min The absolute minimum value of the slider.
41
- * @param {number} max The absolute maximum value of the slider.
42
- * @param {Array} value The initial value(s) of the slider.
43
- * @param {string} easing The name of the easing function.
44
- * @param {number} resolutionOrFactor The resolution or factor for the easing function.
45
- * @param {Array} simulateSteps A set of relative horizontal pixel movements to simulate.
46
- * @param {Function} testCallback An optional callback for the onChange event of the slider.
47
- */
48
- const simulateInputTest = (pxWidth, pxOffset, min, max, value, easing, resolutionOrFactor, simulateSteps, testCallback) => {
49
- const config = {
50
- totalPixelWidth: pxWidth,
51
- leftPixelOffset: pxOffset,
52
- min,
53
- max,
54
- easing,
55
- resolution: resolutionOrFactor,
56
- factor: resolutionOrFactor,
57
- initialValue: value,
58
- valuePixelSize: pxWidth / (max - min),
59
- currentTouchDeltaX: 0
60
- };
61
- config.currentTouchDeltaX = config.valuePixelSize * value[1];
62
- const ease = {
63
- linear: generateLinearEasingCallback(config.resolution),
64
- exponential: generateExponentialEasingCallback(config.factor)
65
- }[config.easing];
66
- const callback = ([from, to]) => {
67
- const {
68
- currentTouchDeltaX,
69
- valuePixelSize
70
- } = config;
71
- const relativeValue = getRelativeValue(currentTouchDeltaX / valuePixelSize, min, max);
72
- const expected = getAbsoluteValue(ease(relativeValue), config.min, config.max, true);
73
- expect(expected === from || expected === to).toBe(true);
74
- if (testCallback) {
75
- testCallback(config, from, to);
76
- }
77
- };
78
- const wrapper = mount(/*#__PURE__*/_jsx(RangeSlider, {
79
- min: config.min,
80
- max: config.max,
81
- value: config.initialValue,
82
- easing: easing,
83
- resolution: config.resolution,
84
- factor: config.factor,
85
- onChange: callback
86
- }));
87
- expect(wrapper).toMatchSnapshot();
88
-
89
- // Create a simulated touch event.
90
- const pageX = config.leftPixelOffset + config.currentTouchDeltaX;
91
- const touchEvent = createTouchEvent(pageX);
92
- const inst = wrapper.instance();
93
- inst.handleTouchStart(touchEvent, 1);
94
- simulateSteps.forEach(deltaX => {
95
- config.currentTouchDeltaX += deltaX;
96
- touchEvent.touches[0].pageX = config.leftPixelOffset + config.currentTouchDeltaX;
97
- Object.defineProperty(inst.domElement, 'offsetLeft', {
98
- get: () => config.leftPixelOffset,
99
- configurable: true
100
- });
101
- Object.defineProperty(inst.domElement, 'offsetWidth', {
102
- get: () => config.totalPixelWidth,
103
- configurable: true
104
- });
105
- inst.handleTouchMove(touchEvent);
106
- });
107
- inst.handleTouchEnd();
108
- };
109
- describe.skip('<RangeSlider />', () => {
110
- /**
111
- * Simple attribute tests
112
- */
113
-
114
- it('renders with boundaries', () => {
115
- const wrapper = shallow(/*#__PURE__*/_jsx(RangeSlider, {
116
- min: 0,
117
- max: 100
118
- }));
119
- expect(wrapper).toMatchSnapshot();
120
- expect(wrapper.find(RangeSliderHandle).length).toBe(2);
121
- });
122
- it('renders without boundaries', () => {
123
- const wrapper = shallow(/*#__PURE__*/_jsx(RangeSlider, {}));
124
- expect(wrapper).toMatchSnapshot();
125
- expect(wrapper.find(RangeSliderHandle).length).toBe(2);
126
- });
127
- it('renders without a value pair', () => {
128
- const wrapper = shallow(/*#__PURE__*/_jsx(RangeSlider, {
129
- value: [10, 50]
130
- }));
131
- expect(wrapper).toMatchSnapshot();
132
- expect(wrapper.find(RangeSliderHandle).length).toBe(2);
133
- });
134
-
135
- /**
136
- * Callback tests
137
- */
138
- it('emits onChange if handle was touched (linear)', () => {
139
- simulateInputTest(100, 73,
140
- // Range slider pixel width and offset.
141
- 0, 100,
142
- // Range slider minimum and maximum value.
143
- [50, 75],
144
- // Initial value.
145
- 'linear',
146
- // Which easing should be used.
147
- 0.01,
148
- // Resolution.
149
- [
150
- // A series of pixel offsets to move the slider handle.
151
- +0, +3, -15, +17, -80, +75]);
152
- });
153
- it('emits onChange if handle was touched (exponential)', () => {
154
- simulateInputTest(78, 12,
155
- // Range slider pixel width and offset.
156
- 0, 1000,
157
- // Range slider minimum maximum value.
158
- [10, 450],
159
- // Initial value.
160
- 'exponential',
161
- // Which easing should be used.
162
- 0.01,
163
- // Resolution.
164
- [
165
- // A series of pixel offsets to move the slider handle.
166
- +10, +10, +10, +10, +10, +10, +10, +10, -10, -10, -10, -10, -10, -10, -10, -10, +3, -15, +17, -80, +104, -23, -12, +67]);
167
- });
168
- it('emits onChange if the outer range was touched', () => {
169
- const callback = value => expect(value).toEqual([-80, 0]);
170
- const wrapper = mount(/*#__PURE__*/_jsx(RangeSlider, {
171
- min: -100,
172
- max: 100,
173
- value: [0, 0],
174
- onChange: callback
175
- }));
176
- // Create a simulated touch event at a page x offset of 20px.
177
- const touchEvent = createTouchEvent(20);
178
- const inst = wrapper.instance();
179
- Object.defineProperty(inst.domElement, 'offsetLeft', {
180
- get: () => 0,
181
- configurable: true
182
- });
183
- Object.defineProperty(inst.domElement, 'offsetWidth', {
184
- get: () => 200,
185
- configurable: true
186
- });
187
- inst.handleRangeTouch(touchEvent);
188
- });
189
- });
190
- /* eslint-enable function-call-argument-newline */
@@ -1,101 +0,0 @@
1
- import React from 'react';
2
- import { mount } from 'enzyme';
3
- import Glow from '@shopgate/pwa-ui-shared/Glow';
4
- import Item from "./index";
5
- import { jsx as _jsx } from "react/jsx-runtime";
6
- jest.mock('@shopgate/pwa-common/components/Link', () => {
7
- /**
8
- * Mocked LinkComponent.
9
- * @return {JSX}
10
- */
11
- const Link = () => /*#__PURE__*/_jsx("div", {});
12
- return Link;
13
- });
14
- describe('<SheetList.Item />', () => {
15
- const title = 'My Title';
16
- it('should render with a title but no image', () => {
17
- const wrapper = mount(/*#__PURE__*/_jsx(Item, {
18
- title: title
19
- }));
20
- expect(wrapper).toMatchSnapshot();
21
- expect(wrapper.find('img').exists()).toBeFalsy();
22
- });
23
- it('should render with an image', () => {
24
- const image = /*#__PURE__*/_jsx("img", {
25
- src: "url/to/image",
26
- alt: "Alternative text"
27
- });
28
- const wrapper = mount(/*#__PURE__*/_jsx(Item, {
29
- title: title,
30
- image: image
31
- }));
32
- expect(wrapper).toMatchSnapshot();
33
- expect(wrapper.find('img').exists()).toBeTruthy();
34
- });
35
- it('should render with a right component', () => {
36
- const rightComponent = /*#__PURE__*/_jsx("span", {
37
- children: "I`m a span."
38
- });
39
- const wrapper = mount(/*#__PURE__*/_jsx(Item, {
40
- title: title,
41
- rightComponent: rightComponent
42
- }));
43
- expect(wrapper).toMatchSnapshot();
44
- expect(wrapper.contains(/*#__PURE__*/_jsx("span", {
45
- children: "I`m a span."
46
- }))).toEqual(true);
47
- });
48
- it('should render without a Glow when selected', () => {
49
- const wrapper = mount(/*#__PURE__*/_jsx(Item, {
50
- title: title,
51
- isSelected: true
52
- }));
53
- expect(wrapper).toMatchSnapshot();
54
- expect(wrapper.find(Glow).exists()).toBeFalsy();
55
- });
56
- it('should render without a Glow when disabled', () => {
57
- const wrapper = mount(/*#__PURE__*/_jsx(Item, {
58
- title: title,
59
- isDisabled: true
60
- }));
61
- expect(wrapper).toMatchSnapshot();
62
- expect(wrapper.find(Glow).exists()).toBeFalsy();
63
- });
64
- it('should render with a link', () => {
65
- const wrapper = mount(/*#__PURE__*/_jsx(Item, {
66
- title: title,
67
- link: "url/to/somewhere"
68
- }));
69
- expect(wrapper).toMatchSnapshot();
70
- expect(wrapper.find('Link').exists()).toBeTruthy();
71
- });
72
- it('should render with an onClick element', () => {
73
- const spy = jest.fn();
74
- const clickHandler = () => {
75
- /**
76
- * The spy can't be assigned directly to the event, since the snapshot gets too big
77
- * and the test execution is heavily slowed down.
78
- */
79
- spy();
80
- };
81
- const wrapper = mount(/*#__PURE__*/_jsx(Item, {
82
- title: title,
83
- onClick: clickHandler
84
- }));
85
- wrapper.simulate('click');
86
- expect(wrapper).toMatchSnapshot();
87
- expect(spy).toHaveBeenCalledTimes(1);
88
- });
89
- it('should re-render when isDisabled changes (memo allows leftComponent path)', () => {
90
- const wrapper = mount(/*#__PURE__*/_jsx(Item, {
91
- title: title,
92
- isDisabled: true
93
- }));
94
- expect(wrapper.find('.engage__sheet-list__item').exists()).toBe(true);
95
- wrapper.setProps({
96
- isDisabled: false
97
- });
98
- wrapper.update();
99
- expect(wrapper.find('.engage__sheet-list__item').exists()).toBe(true);
100
- });
101
- });
@@ -1,43 +0,0 @@
1
- import React from 'react';
2
- import { mount } from 'enzyme';
3
- import BaseListItem from '@shopgate/pwa-common/components/List/components/Item';
4
- import SheetList from "./index";
5
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
6
- describe('<SheetList />', () => {
7
- it('should render with two children', () => {
8
- const wrapper = mount(/*#__PURE__*/_jsxs(SheetList, {
9
- children: [/*#__PURE__*/_jsx(SheetList.Item, {
10
- title: "List Item"
11
- }), /*#__PURE__*/_jsx(SheetList.Item, {
12
- title: "List Item"
13
- })]
14
- }));
15
- expect(wrapper).toMatchSnapshot();
16
- expect(wrapper.find(SheetList.Item).length).toEqual(2);
17
- });
18
- it('should render a child and add styles for list items with images', () => {
19
- const wrapper = mount(/*#__PURE__*/_jsx(SheetList, {
20
- hasImages: true,
21
- children: /*#__PURE__*/_jsx(SheetList.Item, {
22
- title: "List Item"
23
- })
24
- }));
25
- expect(wrapper).toMatchSnapshot();
26
- expect(wrapper.find(SheetList.Item).length).toEqual(1);
27
- expect(wrapper.find(BaseListItem).first().hasClass('engage__sheet-list__item')).toBeTruthy();
28
- });
29
- it('should not render without children', () => {
30
- const wrapper = mount(/*#__PURE__*/_jsx(SheetList, {}));
31
- expect(wrapper).toMatchSnapshot();
32
- expect(wrapper.find(SheetList).html()).toBe(null);
33
- });
34
- it('should not render invalid children', () => {
35
- const wrapper = mount(/*#__PURE__*/_jsxs(SheetList, {
36
- children: [/*#__PURE__*/_jsx(SheetList.Item, {
37
- title: "List Item"
38
- }), "xxx"]
39
- }));
40
- expect(wrapper).toMatchSnapshot();
41
- expect(wrapper.find(SheetList.Item).length).toEqual(1);
42
- });
43
- });
@@ -1,83 +0,0 @@
1
- /* eslint-disable extra-rules/no-single-line-objects */
2
- import React from 'react';
3
- import { mount } from 'enzyme';
4
- import { second$ } from '@shopgate/pwa-common/streams/interval';
5
- import TimeBoundary from "./index";
6
- import { jsx as _jsx } from "react/jsx-runtime";
7
- describe('<TimeBoundary>', () => {
8
- const nowMs = new Date().getTime();
9
- let subscription;
10
- let subscribeSpy;
11
- let children;
12
- beforeEach(() => {
13
- subscription = {
14
- unsubscribe: jest.fn()
15
- };
16
- subscribeSpy = jest.spyOn(second$, 'subscribe').mockReturnValue(subscription);
17
- children = jest.fn();
18
- });
19
- afterEach(() => {
20
- jest.clearAllMocks();
21
- });
22
- it('should render valid time span', () => {
23
- expect.assertions(1);
24
- // -30sec < wrapper < +30sec
25
- mount(/*#__PURE__*/_jsx(TimeBoundary, {
26
- start: new Date(nowMs - 30000),
27
- end: new Date(nowMs + 30000),
28
- children: children
29
- }));
30
- expect(children).toHaveBeenCalledWith({
31
- before: false,
32
- between: true,
33
- after: false
34
- });
35
- });
36
- it('should not render expired time span', () => {
37
- expect.assertions(1);
38
- // -60sec < wrapper < -30sec
39
- mount(/*#__PURE__*/_jsx(TimeBoundary, {
40
- start: new Date(nowMs - 60000),
41
- end: new Date(nowMs - 30000),
42
- children: children
43
- }));
44
- expect(children).toHaveBeenCalledWith({
45
- before: false,
46
- between: false,
47
- after: true
48
- });
49
- });
50
- it('should hide after time span expired', () => {
51
- expect.assertions(4);
52
- // -30sec < wrapper < +2sec
53
- const wrapper = mount(/*#__PURE__*/_jsx(TimeBoundary, {
54
- start: new Date(nowMs - 30000),
55
- end: new Date(nowMs + 2000),
56
- children: children
57
- }));
58
- const checkBoundaryMethod = wrapper.instance().checkBoundary;
59
- expect(subscribeSpy).toHaveBeenCalledTimes(1);
60
- expect(subscribeSpy).toHaveBeenCalledWith(checkBoundaryMethod);
61
-
62
- // Simulate time is over
63
- jest.spyOn(Date, 'now').mockReturnValue(new Date(nowMs + 3000));
64
- // simulate rxjs emitting
65
- checkBoundaryMethod();
66
- wrapper.update();
67
- expect(subscription.unsubscribe).toHaveBeenCalledTimes(1);
68
- expect(children.mock.calls).toEqual([[{
69
- after: false,
70
- before: false,
71
- between: false
72
- }], [{
73
- after: false,
74
- before: false,
75
- between: true
76
- }], [{
77
- after: true,
78
- before: false,
79
- between: false
80
- }]]);
81
- });
82
- });
83
- /* eslint-enable extra-rules/no-single-line-objects */
@@ -1,14 +0,0 @@
1
- import React from 'react';
2
- import { render } from '@testing-library/react';
3
- import Item from "./index";
4
- import { jsx as _jsx } from "react/jsx-runtime";
5
- describe('Filter: <Item />', () => {
6
- it('should render', () => {
7
- const wrapper = render(/*#__PURE__*/_jsx(Item, {
8
- children: /*#__PURE__*/_jsx("div", {
9
- children: "Some"
10
- })
11
- }));
12
- expect(wrapper.asFragment()).toMatchSnapshot();
13
- });
14
- });