@shopgate/engage 7.27.3-alpha.16 → 7.27.3-alpha.17

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 (1218) hide show
  1. package/a11y/components/LiveMessage/index.js +1 -1
  2. package/a11y/components/LiveMessenger/helpers.js +1 -1
  3. package/a11y/components/LiveMessenger/index.js +2 -2
  4. package/a11y/components/Navigation/index.js +1 -1
  5. package/a11y/components/Section/index.js +3 -3
  6. package/a11y/components/VisuallyHidden/index.js +1 -1
  7. package/a11y/components/index.js +1 -1
  8. package/a11y/index.js +4 -1
  9. package/account/constants/index.js +1 -1
  10. package/account/index.js +1 -1
  11. package/app-rating/actions/showModal.js +3 -3
  12. package/app-rating/helpers/index.js +1 -1
  13. package/app-rating/subscriptions/index.js +6 -11
  14. package/back-in-stock/actions/index.js +1 -1
  15. package/back-in-stock/components/BackInStockButton/index.js +3 -3
  16. package/back-in-stock/components/CharacteristicsButton/index.js +1 -1
  17. package/back-in-stock/components/ProductInfoBackInStockButton/index.js +1 -1
  18. package/back-in-stock/components/Subscriptions/components/List/index.js +2 -2
  19. package/back-in-stock/components/Subscriptions/components/Subscription/index.js +2 -2
  20. package/back-in-stock/components/Subscriptions/index.js +1 -1
  21. package/back-in-stock/providers/BackInStockSubscriptionsProvider.context.js +1 -1
  22. package/back-in-stock/providers/BackInStockSubscriptionsProvider.js +1 -1
  23. package/back-in-stock/selectors/index.js +3 -5
  24. package/back-in-stock/streams/index.js +1 -1
  25. package/back-in-stock/subscriptions/index.js +2 -2
  26. package/cart/index.js +5 -10
  27. package/category/components/CategoryList/index.js +2 -2
  28. package/category/components/CategoryList/style.js +1 -1
  29. package/category/index.js +7 -1
  30. package/checkout/index.js +5 -6
  31. package/components/ChipLayout/index.js +7 -7
  32. package/components/ChipLayout/spec.js +1 -1
  33. package/components/ChipLayout/style.js +2 -2
  34. package/components/ConditionalWrapper/index.js +5 -1
  35. package/components/Footer/Footer.js +23 -4
  36. package/components/Footer/Footer.style.js +7 -1
  37. package/components/Form/Builder/Builder.constants.js +1 -1
  38. package/components/Form/Builder/Builder.js +37 -53
  39. package/components/Form/Builder/ElementCheckbox.js +2 -2
  40. package/components/Form/Builder/ElementRadio.js +2 -2
  41. package/components/Form/Builder/ElementSelect.js +3 -3
  42. package/components/Form/Builder/ElementText.js +4 -4
  43. package/components/Form/Builder/classes/ActionListener.constants.js +2 -2
  44. package/components/Form/Builder/classes/ActionListener.js +15 -72
  45. package/components/Form/Builder/helpers/buildCountryList.js +3 -3
  46. package/components/Form/Builder/helpers/buildFormDefaults.js +1 -1
  47. package/components/Form/Builder/helpers/buildProvinceList.js +1 -1
  48. package/components/Form/Form.js +8 -11
  49. package/components/Form/index.js +1 -1
  50. package/components/IntersectionVisibility/index.js +6 -13
  51. package/components/Logo/index.js +2 -2
  52. package/components/Logo/spec.js +1 -1
  53. package/components/Logo/style.js +1 -1
  54. package/components/MessageBar/index.js +7 -1
  55. package/components/MessageBar/spec.js +1 -0
  56. package/components/MessageBar/style.js +2 -0
  57. package/components/NavigationHandler/connector.js +1 -1
  58. package/components/NavigationHandler/index.js +6 -6
  59. package/components/NavigationHandler/spec.js +1 -1
  60. package/components/Picker/components/Button/index.js +1 -1
  61. package/components/Picker/components/List/index.js +2 -2
  62. package/components/Picker/components/Modal/index.js +7 -7
  63. package/components/Picker/index.js +10 -19
  64. package/components/Picker/spec.js +2 -2
  65. package/components/PickerUtilize/components/Button/index.js +1 -1
  66. package/components/PickerUtilize/index.js +6 -8
  67. package/components/PickerUtilize/spec.js +1 -2
  68. package/components/QuantityInput/QuantityInput.js +4 -5
  69. package/components/RangeSlider/components/Handle/index.js +2 -2
  70. package/components/RangeSlider/components/Handle/style.js +1 -1
  71. package/components/RangeSlider/helper.js +3 -3
  72. package/components/RangeSlider/index.js +23 -35
  73. package/components/RangeSlider/spec.js +4 -4
  74. package/components/ScrollHeader/index.js +5 -22
  75. package/components/ScrollHeader/style.js +1 -1
  76. package/components/SheetDrawer/index.js +3 -4
  77. package/components/SheetList/components/Item/index.js +5 -5
  78. package/components/SheetList/components/Item/spec.js +2 -2
  79. package/components/SheetList/components/Item/style.js +1 -1
  80. package/components/SheetList/index.js +4 -4
  81. package/components/SheetList/spec.js +1 -1
  82. package/components/SheetList/style.js +1 -1
  83. package/components/SnackBarContainer/index.js +1 -1
  84. package/components/Switch/index.js +1 -1
  85. package/components/TimeBoundary/index.js +8 -10
  86. package/components/TimeBoundary/spec.js +3 -3
  87. package/components/VideoPlayer/index.js +6 -9
  88. package/components/View/components/Above/index.js +1 -1
  89. package/components/View/components/Below/index.js +1 -1
  90. package/components/View/components/Content/index.js +13 -13
  91. package/components/View/components/Content/style.js +1 -1
  92. package/components/View/context.js +1 -1
  93. package/components/View/index.js +5 -5
  94. package/components/View/provider.js +7 -24
  95. package/components/View/style.js +6 -1
  96. package/components/index.js +4 -4
  97. package/core/action-creators/appPermissions.js +1 -1
  98. package/core/action-creators/index.js +1 -1
  99. package/core/actions/getGeolocation.js +2 -2
  100. package/core/actions/grantAppTrackingTransparencyPermission.js +1 -3
  101. package/core/actions/grantGeolocationPermissions.js +2 -6
  102. package/core/actions/grantPermissions.js +4 -16
  103. package/core/actions/grantPushPermissions.js +3 -4
  104. package/core/actions/index.js +2 -2
  105. package/core/actions/requestAppPermission.js +2 -7
  106. package/core/actions/requestAppPermissionStatus.js +2 -7
  107. package/core/actions/updateStatusBarBackground.js +3 -3
  108. package/core/classes/GeolocationRequest.js +4 -8
  109. package/core/collections/AppInitialization.js +6 -4
  110. package/core/config/ThemeConfigResolver.js +3 -3
  111. package/core/constants/appFeatures.js +1 -1
  112. package/core/constants/geolocationRequest.js +1 -1
  113. package/core/constants/index.js +3 -3
  114. package/core/contexts/AppContext.js +1 -1
  115. package/core/helpers/appFeatures.js +9 -21
  116. package/core/helpers/baseUrl.js +1 -1
  117. package/core/helpers/getFullImageSource.js +2 -21
  118. package/core/helpers/i18n.js +5 -10
  119. package/core/helpers/index.js +3 -3
  120. package/core/helpers/updateLegacyNavigationBar.js +2 -5
  121. package/core/hocs/withApp.js +1 -1
  122. package/core/hocs/withCurrentProduct.js +3 -3
  123. package/core/hocs/withForwardedRef.js +1 -1
  124. package/core/hocs/withNavigation.js +1 -1
  125. package/core/hocs/withRoute.js +1 -1
  126. package/core/hocs/withTheme.js +3 -42
  127. package/core/hocs/withWidgetSettings.js +1 -1
  128. package/core/hocs/withWidgetStyles.js +1 -1
  129. package/core/hooks/html/useLoadImage.js +1 -1
  130. package/core/hooks/useTheme.js +2 -38
  131. package/core/hooks/useWidgetStyles.js +1 -1
  132. package/core/index.js +11 -5
  133. package/core/initialization/index.js +4 -19
  134. package/core/providers/AppProvider.js +9 -9
  135. package/core/reducers/index.js +1 -1
  136. package/core/selectors/index.js +1 -1
  137. package/core/streams/app.js +1 -1
  138. package/core/streams/index.js +1 -1
  139. package/core/subscriptions/app.js +3 -4
  140. package/favorites/components/Item/Item.js +9 -13
  141. package/favorites/components/Item/ItemCharacteristics.js +2 -2
  142. package/favorites/components/List/List.js +15 -19
  143. package/favorites/components/ListChooser/ListChooser.js +2 -2
  144. package/favorites/components/ListChooser/ListChooserItem.js +5 -4
  145. package/favorites/components/Lists/Lists.js +13 -17
  146. package/favorites/components/Lists/ListsModal.js +4 -3
  147. package/favorites/components/RemoveButton/RemoveButton.js +2 -2
  148. package/favorites/constants/Portals.js +2 -1
  149. package/favorites/constants/constants.js +1 -0
  150. package/favorites/index.js +2 -2
  151. package/filter/components/FilterItem/index.js +2 -2
  152. package/filter/components/FilterItem/spec.js +1 -1
  153. package/filter/components/PriceSlider/components/Label/index.js +3 -3
  154. package/filter/components/PriceSlider/components/Label/spec.js +1 -1
  155. package/filter/components/PriceSlider/index.js +8 -8
  156. package/filter/components/PriceSlider/spec.js +1 -1
  157. package/filter/components/PriceSlider/style.js +1 -1
  158. package/filter/helpers/buildFilterParamsForFetchFiltersRequest.js +2 -2
  159. package/filter/helpers/buildInitialFilters.js +2 -2
  160. package/filter/helpers/buildUpdatedFilters.js +2 -2
  161. package/filter/helpers/translateFilterLabel.js +3 -3
  162. package/filter/index.js +7 -2
  163. package/orders/index.js +1 -1
  164. package/package.json +18 -26
  165. package/page/index.js +4 -2
  166. package/product/components/Characteristics/Characteristic/components/Sheet/index.js +4 -16
  167. package/product/components/Characteristics/Characteristic/components/SheetItem/index.js +3 -8
  168. package/product/components/Characteristics/Characteristic/components/SheetItem/style.js +1 -1
  169. package/product/components/Characteristics/Characteristic/components/VariantAvailability/connector.js +9 -0
  170. package/product/components/Characteristics/Characteristic/components/VariantAvailability/index.js +5 -0
  171. package/product/components/Characteristics/Characteristic/index.js +6 -15
  172. package/product/components/Characteristics/Characteristic/style.js +1 -1
  173. package/product/components/Characteristics/Swatch/index.js +6 -8
  174. package/product/components/Characteristics/index.js +3 -10
  175. package/product/components/Characteristics/transition.js +1 -1
  176. package/product/components/Description/index.js +6 -5
  177. package/product/components/Description/style.js +1 -1
  178. package/product/components/EffectivityDates/helpers.js +5 -5
  179. package/product/components/EffectivityDates/index.js +2 -2
  180. package/product/components/EffectivityDates/style.js +1 -1
  181. package/product/components/Header/PriceStriked/index.js +5 -2
  182. package/product/components/Header/PriceStriked/style.js +1 -1
  183. package/product/components/Header/Shipping/components/Label/index.js +3 -3
  184. package/product/components/Header/Shipping/components/Label/style.js +1 -1
  185. package/product/components/Header/Shipping/index.js +1 -1
  186. package/product/components/Header/Shipping/spec.js +1 -1
  187. package/product/components/Header/Tiers/components/Tier/index.js +2 -2
  188. package/product/components/Header/Tiers/components/Tier/spec.js +1 -1
  189. package/product/components/Header/Tiers/index.js +1 -1
  190. package/product/components/Header/Tiers/spec.js +1 -1
  191. package/product/components/MapPriceHint/index.js +1 -1
  192. package/product/components/Media/FeaturedMedia.js +2 -2
  193. package/product/components/Media/MediaImage.js +3 -3
  194. package/product/components/Media/MediaPlaceholder.js +1 -1
  195. package/product/components/MediaSlider/components/MediaImage/index.js +1 -1
  196. package/product/components/MediaSlider/components/MediaVideo/index.js +1 -1
  197. package/product/components/MediaSlider/index.js +4 -4
  198. package/product/components/Options/components/Content/index.js +8 -8
  199. package/product/components/Options/components/Content/spec.js +2 -2
  200. package/product/components/Options/components/Option/index.js +2 -2
  201. package/product/components/Options/components/TextOption/components/OptionInfo/index.js +3 -3
  202. package/product/components/Options/components/TextOption/components/OptionInfo/spec.js +1 -1
  203. package/product/components/Options/components/TextOption/components/OptionInfo/style.js +1 -1
  204. package/product/components/Options/components/TextOption/index.js +7 -19
  205. package/product/components/Options/components/TextOption/style.js +1 -1
  206. package/product/components/Options/index.js +2 -2
  207. package/product/components/OrderQuantityHint/index.js +2 -3
  208. package/product/components/OrderQuantityHint/style.js +1 -1
  209. package/product/components/PriceDifference/index.js +1 -1
  210. package/product/components/PriceDifference/style.js +1 -1
  211. package/product/components/ProductBadges/index.js +2 -2
  212. package/product/components/ProductCard/index.js +3 -12
  213. package/product/components/ProductCard/style.js +1 -1
  214. package/product/components/ProductCharacteristics/context.js +1 -1
  215. package/product/components/ProductCharacteristics/helpers/index.js +1 -1
  216. package/product/components/ProductCharacteristics/index.js +16 -30
  217. package/product/components/ProductDiscountBadge/index.js +2 -2
  218. package/product/components/ProductDiscountBadge/spec.js +2 -2
  219. package/product/components/ProductDiscountBadge/style.js +1 -1
  220. package/product/components/ProductGridPrice/index.js +3 -3
  221. package/product/components/ProductGridPrice/style.js +1 -1
  222. package/product/components/ProductImage/index.js +13 -17
  223. package/product/components/ProductImage/spec.js +1 -1
  224. package/product/components/ProductList/components/Item/index.js +2 -2
  225. package/product/components/ProductList/components/Iterator/index.js +1 -1
  226. package/product/components/ProductList/components/Layout/index.js +1 -1
  227. package/product/components/ProductList/index.js +2 -2
  228. package/product/components/ProductProperties/Content.js +4 -4
  229. package/product/components/ProductProperties/Group.js +1 -1
  230. package/product/components/ProductProperties/GroupedProperties.js +2 -2
  231. package/product/components/ProductProperties/Lists.js +1 -1
  232. package/product/components/ProductProperties/ProductProperties.js +2 -2
  233. package/product/components/ProductProperties/Row.js +1 -1
  234. package/product/components/ProductProperties/Rows.js +2 -2
  235. package/product/components/ProductProperties/Wrapper.js +1 -1
  236. package/product/components/ProductProperties/helpers/getGroupsFromProperties.js +2 -7
  237. package/product/components/ProductProperties/style.js +1 -1
  238. package/product/{providers/Product → components/ProductProvider}/index.js +1 -1
  239. package/product/components/ProductSlider/index.js +2 -3
  240. package/product/components/ProductSlider/spec.js +1 -1
  241. package/product/components/QuantityPicker/helpers.js +5 -0
  242. package/product/components/QuantityPicker/index.js +3 -4
  243. package/product/components/Rating/index.js +3 -3
  244. package/product/components/Rating/spec.js +2 -2
  245. package/product/components/RelationsSlider/RelationsSheet.js +2 -2
  246. package/product/components/RelationsSlider/RelationsSlider.js +1 -1
  247. package/product/components/RelationsSlider/RelationsSliderContent.js +1 -1
  248. package/product/components/RelationsSlider/style.js +1 -1
  249. package/product/components/Swatch/Swatch.js +1 -1
  250. package/product/components/Swatch/SwatchContent.js +1 -1
  251. package/product/components/Swatch/VariantSwatch.js +1 -1
  252. package/product/components/Swatch/style.js +1 -1
  253. package/product/components/Swatches/Swatches.js +1 -1
  254. package/product/components/UnitQuantityPicker/ProductUnitQuantityPicker.js +6 -3
  255. package/product/components/UnitQuantityPicker/UnitQuantityPicker.js +13 -11
  256. package/product/components/UnitQuantityPicker/UnitQuantityPickerWithSection.js +2 -5
  257. package/product/components/UnitQuantityPicker/index.js +1 -1
  258. package/product/components/context.js +1 -1
  259. package/product/constants/index.js +1 -2
  260. package/product/helpers/index.js +2 -2
  261. package/product/helpers/redirects.js +2 -2
  262. package/product/hocs/withMapPricing.js +4 -4
  263. package/product/hocs/withPriceCalculation.js +2 -2
  264. package/product/hocs/withProductListEntry.js +1 -1
  265. package/product/hocs/withProductListType.js +1 -1
  266. package/product/hooks/useLoadProductImage.js +1 -1
  267. package/product/index.js +11 -4
  268. package/product/providers/ProductListEntry/context.js +1 -1
  269. package/product/providers/ProductListEntry/index.js +1 -1
  270. package/product/providers/ProductListType/context.js +1 -2
  271. package/product/providers/ProductListType/index.js +1 -2
  272. package/product/selectors/product.js +6 -75
  273. package/product/selectors/variants.js +1 -4
  274. package/push-opt-in/action-creators/pushOptIn.js +1 -2
  275. package/push-opt-in/actions/pushOptInModal.js +3 -3
  276. package/push-opt-in/components/PushOptInModal/index.js +6 -3
  277. package/push-opt-in/components/PushOptInModal/push-opt-in.svg +58 -58
  278. package/push-opt-in/reducers/optInModal.js +2 -2
  279. package/push-opt-in/reducers/optInTrigger.js +2 -2
  280. package/push-opt-in/selectors/optInModal.js +2 -5
  281. package/push-opt-in/selectors/optInTrigger.js +2 -4
  282. package/push-opt-in/subscriptions/index.js +1 -1
  283. package/push-opt-in/subscriptions/optInTrigger.js +6 -6
  284. package/reviews/components/Reviews/components/AllReviewsLink/index.js +1 -1
  285. package/reviews/components/Reviews/components/Header/components/AverageRating/index.js +6 -8
  286. package/reviews/components/Reviews/components/Header/components/NoReviews/index.js +3 -3
  287. package/reviews/components/Reviews/components/Header/components/ReviewsExcerpt/index.js +3 -3
  288. package/reviews/components/Reviews/components/Header/components/ReviewsExcerpt/style.js +1 -1
  289. package/reviews/components/Reviews/components/Header/components/WriteReviewLink/index.js +3 -3
  290. package/reviews/components/Reviews/components/Header/components/WriteReviewLink/spec.js +2 -2
  291. package/reviews/components/Reviews/components/Header/index.js +4 -6
  292. package/reviews/components/Reviews/components/Header/spec.js +2 -2
  293. package/reviews/components/Reviews/components/List/components/Info/components/Author/index.js +1 -1
  294. package/reviews/components/Reviews/components/List/components/Info/components/ReviewDate/index.js +1 -1
  295. package/reviews/components/Reviews/components/List/components/Info/index.js +2 -2
  296. package/reviews/components/Reviews/components/List/components/Info/style.js +1 -1
  297. package/reviews/components/Reviews/components/List/components/Rating/index.js +1 -1
  298. package/reviews/components/Reviews/components/List/components/Review/index.js +1 -1
  299. package/reviews/components/Reviews/components/List/components/Text/index.js +1 -1
  300. package/reviews/components/Reviews/components/List/components/Title/index.js +1 -1
  301. package/reviews/components/Reviews/components/List/index.js +3 -3
  302. package/reviews/components/Reviews/components/List/spec.js +1 -1
  303. package/reviews/components/Reviews/components/RatingCount/index.js +1 -1
  304. package/reviews/components/Reviews/components/RatingCount/spec.js +1 -1
  305. package/reviews/components/Reviews/components/RatingCount/style.js +1 -1
  306. package/reviews/components/Reviews/components/ReviewsInfo/index.js +4 -3
  307. package/reviews/components/Reviews/connector.js +6 -2
  308. package/reviews/components/Reviews/index.js +1 -1
  309. package/reviews/components/Reviews/mock.js +6 -2
  310. package/reviews/components/Reviews/spec.js +3 -4
  311. package/reviews/index.js +6 -3
  312. package/scanner/index.js +6 -1
  313. package/search/index.js +6 -1
  314. package/tracking/action-creators/cookieConsent.js +2 -2
  315. package/tracking/actions/cookieConsent.js +5 -17
  316. package/tracking/components/CookieConsentModal/connector.js +5 -3
  317. package/tracking/components/CookieConsentModal/index.js +6 -3
  318. package/tracking/components/CookieConsentModal/tracking-opt-in.svg +14 -14
  319. package/tracking/components/PrivacySettings/connector.js +5 -3
  320. package/tracking/components/PrivacySettings/index.js +2 -2
  321. package/tracking/selectors/cookieConsent.js +5 -10
  322. package/tracking/streams/cookieConsent.js +3 -10
  323. package/tracking/subscriptions/analytics.js +4 -5
  324. package/tracking/subscriptions/cookieConsent.js +10 -6
  325. package/user/index.js +2 -2
  326. package/a11y/action-creators/index.js +0 -9
  327. package/a11y/components/FocusTrap/index.js +0 -1
  328. package/a11y/components/ModalStateTracker/index.js +0 -14
  329. package/a11y/constants/index.js +0 -1
  330. package/a11y/helpers/index.js +0 -1
  331. package/a11y/hooks/index.js +0 -37
  332. package/a11y/reducers/index.js +0 -6
  333. package/a11y/selectors/index.js +0 -8
  334. package/a11y/styles.js +0 -2
  335. package/account/actions/addContacts.js +0 -4
  336. package/account/actions/deleteContact.js +0 -5
  337. package/account/actions/deleteCustomer.js +0 -4
  338. package/account/actions/fetchContacts.js +0 -4
  339. package/account/actions/fetchCustomer.js +0 -4
  340. package/account/actions/updateContact.js +0 -4
  341. package/account/actions/updateCustomer.js +0 -4
  342. package/account/components/Account/Account.connector.js +0 -5
  343. package/account/components/Account/Account.js +0 -4
  344. package/account/components/Account/Account.style.js +0 -1
  345. package/account/components/Account/index.js +0 -1
  346. package/account/components/Profile/Profile.config.js +0 -11
  347. package/account/components/Profile/Profile.constraints.js +0 -1
  348. package/account/components/Profile/Profile.js +0 -1
  349. package/account/components/Profile/Profile.provider.js +0 -22
  350. package/account/components/Profile/ProfileAddressBook.js +0 -6
  351. package/account/components/Profile/ProfileAddressCard.js +0 -3
  352. package/account/components/Profile/ProfileForm.js +0 -3
  353. package/account/components/Profile/ProfileHeader.js +0 -3
  354. package/account/components/Profile/index.js +0 -1
  355. package/account/components/ProfileContact/ProfileContact.config.js +0 -11
  356. package/account/components/ProfileContact/ProfileContact.constraints.js +0 -5
  357. package/account/components/ProfileContact/ProfileContact.js +0 -13
  358. package/account/components/ProfileContact/index.js +0 -1
  359. package/account/components/index.js +0 -1
  360. package/account/constants/actions.js +0 -1
  361. package/account/constants/pipelines.js +0 -1
  362. package/account/helper/form.js +0 -61
  363. package/account/reducers/index.js +0 -6
  364. package/account/selectors/contacts.js +0 -7
  365. package/account/selectors/customer.js +0 -7
  366. package/cart/cart.constants.js +0 -1
  367. package/cart/cart.context.js +0 -1
  368. package/cart/cart.helpers.js +0 -15
  369. package/cart/cart.hooks.js +0 -4
  370. package/cart/cart.selectors.js +0 -34
  371. package/cart/cart.types.js +0 -1
  372. package/cart/components/CartHeaderWide/CartHeaderWide.js +0 -3
  373. package/cart/components/CartHeaderWide/CartHeaderWide.style.js +0 -1
  374. package/cart/components/CartHeaderWide/index.js +0 -1
  375. package/cart/components/CartItem/CartItem.hooks.js +0 -7
  376. package/cart/components/CartItem/CartItem.js +0 -7
  377. package/cart/components/CartItem/CartItem.style.js +0 -1
  378. package/cart/components/CartItem/CartItemCoupon.connector.js +0 -7
  379. package/cart/components/CartItem/CartItemCoupon.js +0 -20
  380. package/cart/components/CartItem/CartItemCoupon.style.js +0 -5
  381. package/cart/components/CartItem/CartItemCoupon.types.js +0 -0
  382. package/cart/components/CartItem/CartItemCouponCode.js +0 -5
  383. package/cart/components/CartItem/CartItemCouponDelete.js +0 -5
  384. package/cart/components/CartItem/CartItemCouponDelete.style.js +0 -1
  385. package/cart/components/CartItem/CartItemCouponFreeShipping.js +0 -5
  386. package/cart/components/CartItem/CartItemCouponIcon.js +0 -4
  387. package/cart/components/CartItem/CartItemCouponLayout.js +0 -6
  388. package/cart/components/CartItem/CartItemCouponLayout.style.js +0 -5
  389. package/cart/components/CartItem/CartItemCouponPrice.js +0 -5
  390. package/cart/components/CartItem/CartItemCouponPrice.style.js +0 -1
  391. package/cart/components/CartItem/CartItemCouponTitle.js +0 -5
  392. package/cart/components/CartItem/CartItemCouponTitle.style.js +0 -1
  393. package/cart/components/CartItem/CartItemProduct.js +0 -5
  394. package/cart/components/CartItem/CartItemProduct.style.js +0 -1
  395. package/cart/components/CartItem/CartItemProductLayout.js +0 -6
  396. package/cart/components/CartItem/CartItemProductLayout.style.js +0 -1
  397. package/cart/components/CartItem/CartItemProductLayoutWide.js +0 -4
  398. package/cart/components/CartItem/CartItemProductLayoutWide.style.js +0 -1
  399. package/cart/components/CartItem/CartItemProductLayoutWideFulfillmentLabel.js +0 -4
  400. package/cart/components/CartItem/CartItemProductLayoutWideFulfillmentLabel.style.js +0 -1
  401. package/cart/components/CartItem/CartItemProductLayoutWideOrderDetails.js +0 -3
  402. package/cart/components/CartItem/CartItemProductLayoutWideRemoveItem.js +0 -4
  403. package/cart/components/CartItem/CartItemProductLayoutWideRemoveItem.style.js +0 -1
  404. package/cart/components/CartItem/CartItemProductOrderDetails.js +0 -3
  405. package/cart/components/CartItem/CartItemProductOrderDetails.style.js +0 -1
  406. package/cart/components/CartItem/CartItemProductPriceCaption.js +0 -4
  407. package/cart/components/CartItem/CartItemProductPriceCaption.style.js +0 -1
  408. package/cart/components/CartItem/CartItemProductPriceList.js +0 -5
  409. package/cart/components/CartItem/CartItemProductPriceListPromotion.js +0 -10
  410. package/cart/components/CartItem/CartItemProductProvider.connector.js +0 -9
  411. package/cart/components/CartItem/CartItemProductProvider.context.js +0 -1
  412. package/cart/components/CartItem/CartItemProductProvider.js +0 -12
  413. package/cart/components/CartItem/CartItemProductProvider.types.js +0 -1
  414. package/cart/components/CartItem/CartItemProductProviderLegacy.js +0 -22
  415. package/cart/components/CartItem/CartItemProductTitle.js +0 -7
  416. package/cart/components/CartItem/CartItemProductTitle.style.js +0 -1
  417. package/cart/components/CartItem/CartItemProvider.connector.js +0 -3
  418. package/cart/components/CartItem/CartItemProvider.context.js +0 -1
  419. package/cart/components/CartItem/CartItemProvider.js +0 -5
  420. package/cart/components/CartItem/CartItemQuantityPicker.js +0 -38
  421. package/cart/components/CartItem/CartItemQuantityPicker.style.js +0 -1
  422. package/cart/components/CartItem/CartItemSubstitution.connector.js +0 -5
  423. package/cart/components/CartItem/CartItemSubstitution.js +0 -5
  424. package/cart/components/CartItem/CartItemSubstitution.style.js +0 -1
  425. package/cart/components/CartItem/index.js +0 -1
  426. package/cart/components/CartItems/CartItem.connector.js +0 -4
  427. package/cart/components/CartItems/CartItemCard.js +0 -5
  428. package/cart/components/CartItems/CartItemCard.style.js +0 -1
  429. package/cart/components/CartItems/CartItemCardReservation.js +0 -5
  430. package/cart/components/CartItems/CartItemCardReservationAccordion.js +0 -4
  431. package/cart/components/CartItems/CartItemCardReservationLabel.js +0 -5
  432. package/cart/components/CartItems/CartItemCardReservationLabelChangeStore.js +0 -3
  433. package/cart/components/CartItems/CartItemCardReservationLabelChangeStore.style.js +0 -1
  434. package/cart/components/CartItems/CartItemGroup.js +0 -5
  435. package/cart/components/CartItems/CartItemGroup.style.js +0 -1
  436. package/cart/components/CartItems/CartItemGroupReservation.js +0 -5
  437. package/cart/components/CartItems/CartItemGroupReservationLabel.js +0 -5
  438. package/cart/components/CartItems/CartItemGroupShipping.js +0 -4
  439. package/cart/components/CartItems/CartItems.js +0 -5
  440. package/cart/components/CartItems/CartItems.style.js +0 -1
  441. package/cart/components/CartItems/CartItemsHeaderWide.connector.js +0 -3
  442. package/cart/components/CartItems/CartItemsHeaderWide.js +0 -3
  443. package/cart/components/CartItems/CartItemsHeaderWide.style.js +0 -1
  444. package/cart/components/CartItems/CartItemsSubscription.connector.js +0 -5
  445. package/cart/components/CartItems/CartItemsSubstitution.js +0 -5
  446. package/cart/components/CartItems/index.js +0 -1
  447. package/cart/components/CartSummaryWide/CartSummaryWide.connector.js +0 -4
  448. package/cart/components/CartSummaryWide/CartSummaryWide.js +0 -4
  449. package/cart/components/CartSummaryWide/CartSummaryWide.style.js +0 -1
  450. package/cart/components/CartSummaryWide/CartSummaryWideCheckoutButton.connector.js +0 -5
  451. package/cart/components/CartSummaryWide/CartSummaryWideCheckoutButton.js +0 -4
  452. package/cart/components/CartSummaryWide/CartSummaryWideCheckoutButton.style.js +0 -1
  453. package/cart/components/CartSummaryWide/CartSummaryWideFooter.js +0 -3
  454. package/cart/components/CartSummaryWide/index.js +0 -1
  455. package/cart/components/PaymentBar/PaymentBar.js +0 -5
  456. package/cart/components/PaymentBar/PaymentBarAppliedPromotions.connector.js +0 -5
  457. package/cart/components/PaymentBar/PaymentBarAppliedPromotions.js +0 -3
  458. package/cart/components/PaymentBar/PaymentBarCheckoutButton.connector.js +0 -5
  459. package/cart/components/PaymentBar/PaymentBarCheckoutButton.js +0 -5
  460. package/cart/components/PaymentBar/PaymentBarCheckoutButton.style.js +0 -1
  461. package/cart/components/PaymentBar/PaymentBarContent.js +0 -4
  462. package/cart/components/PaymentBar/PaymentBarContent.style.js +0 -1
  463. package/cart/components/PaymentBar/PaymentBarDiscounts.connector.js +0 -5
  464. package/cart/components/PaymentBar/PaymentBarDiscounts.js +0 -4
  465. package/cart/components/PaymentBar/PaymentBarGrandTotal.connector.js +0 -5
  466. package/cart/components/PaymentBar/PaymentBarGrandTotal.js +0 -4
  467. package/cart/components/PaymentBar/PaymentBarPromotionCouponMessages.js +0 -4
  468. package/cart/components/PaymentBar/PaymentBarPromotionCoupons.connector.js +0 -8
  469. package/cart/components/PaymentBar/PaymentBarPromotionCoupons.js +0 -3
  470. package/cart/components/PaymentBar/PaymentBarPromotionalText.js +0 -4
  471. package/cart/components/PaymentBar/PaymentBarReserveButton.connector.js +0 -1
  472. package/cart/components/PaymentBar/PaymentBarReserveButton.js +0 -7
  473. package/cart/components/PaymentBar/PaymentBarShippingCost.connector.js +0 -5
  474. package/cart/components/PaymentBar/PaymentBarShippingCost.js +0 -3
  475. package/cart/components/PaymentBar/PaymentBarSubTotal.connector.js +0 -5
  476. package/cart/components/PaymentBar/PaymentBarSubTotal.js +0 -3
  477. package/cart/components/PaymentBar/PaymentBarTax.connector.js +0 -5
  478. package/cart/components/PaymentBar/PaymentBarTax.js +0 -4
  479. package/cart/components/PaymentBar/index.js +0 -1
  480. package/cart/components/Substitution/connector.js +0 -5
  481. package/cart/components/Substitution/index.js +0 -9
  482. package/cart/components/Substitution/style.js +0 -1
  483. package/cart/components/SupplementalContent/SupplementalContent.connector.js +0 -4
  484. package/cart/components/SupplementalContent/SupplementalContent.js +0 -5
  485. package/cart/components/SupplementalContent/SupplementalContent.styles.js +0 -1
  486. package/cart/components/SupplementalContent/index.js +0 -1
  487. package/cart/streams/index.js +0 -1
  488. package/category/actions/index.js +0 -1
  489. package/category/components/CategoryImage/connector.js +0 -5
  490. package/category/components/CategoryImage/index.js +0 -5
  491. package/category/components/index.js +0 -1
  492. package/category/constants/index.js +0 -1
  493. package/category/helpers/index.js +0 -1
  494. package/category/selectors/index.js +0 -2
  495. package/category/streams/index.js +0 -1
  496. package/checkout/action-creators/addCheckoutCampaign.js +0 -5
  497. package/checkout/action-creators/clearCheckoutCampaign.js +0 -5
  498. package/checkout/action-creators/clearCheckoutOrder.js +0 -4
  499. package/checkout/action-creators/index.js +0 -1
  500. package/checkout/action-creators/validationErrorsCheckout.js +0 -5
  501. package/checkout/actions/errorCheckout.js +0 -17
  502. package/checkout/actions/fetchCheckoutOrder.js +0 -4
  503. package/checkout/actions/fetchPaymentMethods.js +0 -4
  504. package/checkout/actions/index.js +0 -1
  505. package/checkout/actions/initializeCheckout.js +0 -4
  506. package/checkout/actions/prepareCheckout.js +0 -8
  507. package/checkout/actions/submitCheckoutOrder.js +0 -5
  508. package/checkout/actions/updateCheckoutOrder.js +0 -5
  509. package/checkout/components/AddressBook/AddressBook.js +0 -5
  510. package/checkout/components/AddressBook/AddressList.js +0 -9
  511. package/checkout/components/AddressBook/index.js +0 -1
  512. package/checkout/components/AddressBookContact/AddressBookContact.js +0 -5
  513. package/checkout/components/AddressBookContact/index.js +0 -1
  514. package/checkout/components/Checkout/Checkout.js +0 -4
  515. package/checkout/components/Checkout/CheckoutActions.js +0 -4
  516. package/checkout/components/Checkout/CheckoutAddress.js +0 -6
  517. package/checkout/components/Checkout/CheckoutHeader.js +0 -4
  518. package/checkout/components/Checkout/CheckoutPickupContactForm.config.js +0 -8
  519. package/checkout/components/Checkout/CheckoutPickupContactForm.js +0 -4
  520. package/checkout/components/Checkout/CheckoutSection.js +0 -4
  521. package/checkout/components/Checkout/CheckoutSectionInfo.js +0 -4
  522. package/checkout/components/Checkout/CheckoutSectionMessages.js +0 -4
  523. package/checkout/components/Checkout/CheckoutSummary.js +0 -4
  524. package/checkout/components/CheckoutConfirmation/CheckoutConfirmation.connector.js +0 -3
  525. package/checkout/components/CheckoutConfirmation/CheckoutConfirmation.js +0 -7
  526. package/checkout/components/CheckoutConfirmation/CheckoutConfirmationBilledTo.js +0 -4
  527. package/checkout/components/CheckoutConfirmation/CheckoutConfirmationOrderContact.js +0 -4
  528. package/checkout/components/CheckoutConfirmation/CheckoutConfirmationOrderSummary.js +0 -4
  529. package/checkout/components/CheckoutConfirmation/CheckoutConfirmationPickUpContact.js +0 -4
  530. package/checkout/components/CheckoutConfirmation/CheckoutConfirmationPickupNotes.js +0 -4
  531. package/checkout/components/CheckoutConfirmation/CheckoutConfirmationSection.js +0 -4
  532. package/checkout/components/CheckoutConfirmation/CheckoutConfirmationShippedTo.js +0 -4
  533. package/checkout/components/CheckoutConfirmation/index.js +0 -1
  534. package/checkout/components/GuestCheckout/GuestCheckout.js +0 -4
  535. package/checkout/components/GuestCheckout/GuestCheckoutOptIn.config.js +0 -4
  536. package/checkout/components/GuestCheckout/GuestCheckoutOptIn.js +0 -3
  537. package/checkout/components/GuestCheckout/GuestCheckoutPickup.js +0 -4
  538. package/checkout/components/GuestCheckout/GuestCheckoutPickupNotes.config.js +0 -4
  539. package/checkout/components/GuestCheckout/GuestCheckoutPickupNotes.js +0 -4
  540. package/checkout/components/PaymentMethodButton/PaymentMethodButton.js +0 -5
  541. package/checkout/components/PaymentMethodButton/index.js +0 -1
  542. package/checkout/components/ResponsiveBackButton/ResponsiveBackButton.js +0 -4
  543. package/checkout/components/ResponsiveBackButton/ResponsiveBackButton.style.js +0 -1
  544. package/checkout/components/ResponsiveBackButton/index.js +0 -1
  545. package/checkout/components/ShippingMethods/ShippingMethod.js +0 -5
  546. package/checkout/components/ShippingMethods/ShippingMethods.js +0 -23
  547. package/checkout/components/ShippingMethods/connector.js +0 -7
  548. package/checkout/components/ShippingMethods/index.js +0 -1
  549. package/checkout/components/SupplementalContent/SupplementalContent.connector.js +0 -4
  550. package/checkout/components/SupplementalContent/SupplementalContent.js +0 -5
  551. package/checkout/components/SupplementalContent/SupplementalContent.styles.js +0 -1
  552. package/checkout/components/SupplementalContent/index.js +0 -1
  553. package/checkout/components/index.js +0 -1
  554. package/checkout/constants/actionTypes.js +0 -1
  555. package/checkout/constants/errorCodes.js +0 -1
  556. package/checkout/constants/index.js +0 -1
  557. package/checkout/constants/routes.js +0 -1
  558. package/checkout/helpers/index.js +0 -34
  559. package/checkout/hooks/common.js +0 -7
  560. package/checkout/paymentMethods/context.js +0 -1
  561. package/checkout/paymentMethods/index.js +0 -28
  562. package/checkout/paymentMethods/paypal/PaypalButton.js +0 -5
  563. package/checkout/paymentMethods/paypal/PaypalButtonApp.js +0 -4
  564. package/checkout/paymentMethods/paypal/PaypalButtonWeb.js +0 -8
  565. package/checkout/paymentMethods/paypal/PaypalPayButton.js +0 -12
  566. package/checkout/paymentMethods/paypal/PaypalProvider.js +0 -6
  567. package/checkout/paymentMethods/paypal/index.js +0 -1
  568. package/checkout/paymentMethods/paypal/paypal_logo.png +0 -0
  569. package/checkout/paymentMethods/paypal/sdk.js +0 -9
  570. package/checkout/paymentMethods/stripe/StripeButton.connector.js +0 -6
  571. package/checkout/paymentMethods/stripe/StripeButton.js +0 -5
  572. package/checkout/paymentMethods/stripe/StripeCreditCard.js +0 -10
  573. package/checkout/paymentMethods/stripe/StripePayButton.js +0 -6
  574. package/checkout/paymentMethods/stripe/StripeProvider.connector.js +0 -6
  575. package/checkout/paymentMethods/stripe/StripeProvider.context.js +0 -1
  576. package/checkout/paymentMethods/stripe/StripeProvider.js +0 -33
  577. package/checkout/paymentMethods/stripe/applepay.svg +0 -84
  578. package/checkout/paymentMethods/stripe/googlepay.png +0 -0
  579. package/checkout/paymentMethods/stripe/index.js +0 -1
  580. package/checkout/paymentMethods/stripe/sdk.js +0 -9
  581. package/checkout/providers/AddressBookProvider.context.js +0 -1
  582. package/checkout/providers/AddressBookProvider.js +0 -11
  583. package/checkout/providers/CheckoutProvider.connector.js +0 -7
  584. package/checkout/providers/CheckoutProvider.constraints.js +0 -1
  585. package/checkout/providers/CheckoutProvider.context.js +0 -1
  586. package/checkout/providers/CheckoutProvider.js +0 -28
  587. package/checkout/reducers/index.js +0 -6
  588. package/checkout/selectors/campaign.js +0 -5
  589. package/checkout/selectors/guestCheckout.js +0 -5
  590. package/checkout/selectors/order.js +0 -59
  591. package/checkout/selectors/payment.js +0 -17
  592. package/checkout/selectors/route.js +0 -4
  593. package/checkout/streams/index.js +0 -1
  594. package/checkout/subscriptions/index.js +0 -3
  595. package/components/BrandingColorBanner/BrandingColorBanner.js +0 -5
  596. package/components/BrandingColorBanner/index.js +0 -1
  597. package/components/ConditionalWrapper/ConditionalWrapper.js +0 -10
  598. package/components/ConnectedReactPortal/index.js +0 -13
  599. package/components/Footer/constants.js +0 -1
  600. package/components/Footer/helpers.js +0 -75
  601. package/components/Form/Builder/ElementMultiSelect.js +0 -6
  602. package/components/Form/Builder/ElementPhoneNumber.js +0 -20
  603. package/components/Form/Builder/FormHelper.js +0 -5
  604. package/components/Form/Builder/helpers/common.js +0 -6
  605. package/components/Form/Builder/stylePresets.js +0 -1
  606. package/components/Logo/connector.js +0 -4
  607. package/components/Menu/components/Item/index.js +0 -8
  608. package/components/Menu/components/Item/style.js +0 -4
  609. package/components/Menu/components/Position/index.js +0 -16
  610. package/components/Menu/components/Position/style.js +0 -1
  611. package/components/Menu/index.js +0 -12
  612. package/components/Menu/style.js +0 -1
  613. package/components/MessageBar/MessageBar.js +0 -9
  614. package/components/MessageBar/MessageBar.style.js +0 -11
  615. package/components/QuantityLabel/QuantityLabel.js +0 -4
  616. package/components/QuantityLabel/index.js +0 -1
  617. package/components/Radio/Radio.js +0 -5
  618. package/components/Radio/index.js +0 -1
  619. package/components/RadioCard/RadioCard.js +0 -9
  620. package/components/RadioCard/index.js +0 -1
  621. package/components/RadioGroup/RadioGroup.context.js +0 -1
  622. package/components/RadioGroup/RadioGroup.js +0 -4
  623. package/components/RadioGroup/index.js +0 -1
  624. package/components/RadioGroup/useRadioGroup.js +0 -4
  625. package/components/ResponsiveContainer/ResponsiveContainer.js +0 -6
  626. package/components/ResponsiveContainer/breakpoints.js +0 -14
  627. package/components/ResponsiveContainer/condition.js +0 -6
  628. package/components/ResponsiveContainer/hooks.js +0 -20
  629. package/components/ResponsiveContainer/index.js +0 -1
  630. package/components/ResponsiveContainer/listener.js +0 -10
  631. package/components/ResponsiveContainer/mediaQuery.js +0 -8
  632. package/components/SideNavigation/SideNavigation.hooks.js +0 -4
  633. package/components/SideNavigation/SideNavigation.js +0 -4
  634. package/components/SideNavigation/SideNavigationCategories.connector.js +0 -8
  635. package/components/SideNavigation/SideNavigationCategories.js +0 -4
  636. package/components/SideNavigation/SideNavigationCategories.style.js +0 -1
  637. package/components/SideNavigation/SideNavigationCategoriesItem.connector.js +0 -8
  638. package/components/SideNavigation/SideNavigationCategoriesItem.js +0 -5
  639. package/components/SideNavigation/SideNavigationCategoriesItem.style.js +0 -2
  640. package/components/SideNavigation/SideNavigationCategoriesItemChildren.js +0 -5
  641. package/components/SideNavigation/SideNavigationContent.js +0 -3
  642. package/components/SideNavigation/SideNavigationContent.style.js +0 -4
  643. package/components/SideNavigation/SideNavigationItem.js +0 -4
  644. package/components/SideNavigation/SideNavigationItem.style.js +0 -4
  645. package/components/SideNavigation/SideNavigationLinks.js +0 -4
  646. package/components/SideNavigation/SideNavigationLinksLegal.connector.js +0 -4
  647. package/components/SideNavigation/SideNavigationLinksLegal.js +0 -5
  648. package/components/SideNavigation/SideNavigationLinksQuicklinks.connector.js +0 -4
  649. package/components/SideNavigation/SideNavigationLinksQuicklinks.js +0 -5
  650. package/components/SideNavigation/SideNavigationNestedItem.js +0 -4
  651. package/components/SideNavigation/SideNavigationProvider.connector.js +0 -8
  652. package/components/SideNavigation/SideNavigationProvider.context.js +0 -1
  653. package/components/SideNavigation/SideNavigationProvider.js +0 -4
  654. package/components/SideNavigation/index.js +0 -1
  655. package/components/SideNavigation/selectors.js +0 -17
  656. package/components/Tabs/TabContext.js +0 -7
  657. package/components/Tabs/components/Tab.js +0 -11
  658. package/components/Tabs/components/Tab.style.js +0 -1
  659. package/components/Tabs/components/TabIndicator.js +0 -5
  660. package/components/Tabs/components/TabIndicator.style.js +0 -1
  661. package/components/Tabs/components/TabPanel.js +0 -5
  662. package/components/Tabs/components/Tabs.js +0 -11
  663. package/components/Tabs/components/Tabs.style.js +0 -2
  664. package/components/Tabs/debounce.js +0 -11
  665. package/components/Tabs/index.js +0 -1
  666. package/components/Tabs/ownerDocument.js +0 -4
  667. package/components/Tabs/ownerWindow.js +0 -4
  668. package/components/Tabs/useEventCallback.js +0 -6
  669. package/components/TextLink/TextLink.js +0 -5
  670. package/components/TextLink/TextLink.style.js +0 -1
  671. package/components/Toggle/index.js +0 -5
  672. package/components/Toggle/style.js +0 -1
  673. package/core/action-creators/merchantSettings.js +0 -5
  674. package/core/action-creators/optIns.js +0 -37
  675. package/core/action-creators/shopSettings.js +0 -9
  676. package/core/classes/GeolocationRequestApp.js +0 -16
  677. package/core/classes/GeolocationRequestBrowser.js +0 -8
  678. package/core/config/config.action-creators.js +0 -12
  679. package/core/config/config.actions.js +0 -3
  680. package/core/config/config.constants.js +0 -1
  681. package/core/config/config.reducers.js +0 -6
  682. package/core/config/config.selectors.js +0 -39
  683. package/core/config/config.streams.js +0 -1
  684. package/core/config/config.subscriptions.js +0 -4
  685. package/core/config/config.types.js +0 -0
  686. package/core/config/index.js +0 -1
  687. package/core/constants/deviceTypes.js +0 -1
  688. package/core/constants/merchantSettings.js +0 -1
  689. package/core/constants/optIns.js +0 -1
  690. package/core/constants/pipelines.js +0 -1
  691. package/core/constants/shopSettings.js +0 -2
  692. package/core/contexts/ThemeResourcesContext.d.ts +0 -60
  693. package/core/contexts/ThemeResourcesContext.js +0 -3
  694. package/core/contexts/index.js +0 -1
  695. package/core/events/index.js +0 -1
  696. package/core/helpers/androidNavigationBar.js +0 -12
  697. package/core/helpers/appPermissions.js +0 -58
  698. package/core/helpers/bridge.js +0 -4
  699. package/core/helpers/deviceType.js +0 -5
  700. package/core/helpers/environment.js +0 -4
  701. package/core/helpers/errorBehavior.js +0 -32
  702. package/core/helpers/featureFlag.js +0 -11
  703. package/core/helpers/googleMaps.js +0 -8
  704. package/core/helpers/isIOSTheme.js +0 -4
  705. package/core/helpers/isTouchDevice.js +0 -4
  706. package/core/helpers/nl2br.js +0 -1
  707. package/core/helpers/scrollContainer.js +0 -4
  708. package/core/helpers/string.js +0 -9
  709. package/core/helpers/svgToDataUrl.js +0 -9
  710. package/core/hocs/index.js +0 -1
  711. package/core/hocs/withThemeResources.js +0 -16
  712. package/core/hooks/events/index.js +0 -1
  713. package/core/hooks/events/useLongPress.d.ts +0 -68
  714. package/core/hooks/events/useLongPress.js +0 -13
  715. package/core/hooks/events/useScrollDirectionChange.d.ts +0 -74
  716. package/core/hooks/events/useScrollDirectionChange.js +0 -18
  717. package/core/hooks/index.js +0 -1
  718. package/core/hooks/layout/index.js +0 -1
  719. package/core/hooks/layout/useElementSize.d.ts +0 -46
  720. package/core/hooks/layout/useElementSize.js +0 -18
  721. package/core/hooks/useAsyncMemo.js +0 -12
  722. package/core/hooks/useFormState.js +0 -27
  723. package/core/hooks/usePrevious.js +0 -2
  724. package/core/hooks/useScrollTo.js +0 -5
  725. package/core/hooks/useThemeResources.js +0 -21
  726. package/core/providers/ThemeResourcesProvider.js +0 -15
  727. package/core/providers/index.js +0 -1
  728. package/core/reducers/merchantSettings.js +0 -6
  729. package/core/reducers/shopSettings.js +0 -6
  730. package/core/selectors/merchantSettings.js +0 -10
  731. package/core/selectors/shopSettings.js +0 -25
  732. package/core/streams/optIns.js +0 -13
  733. package/core/validation/index.js +0 -1
  734. package/core/validation/validation.hooks.js +0 -4
  735. package/core/validation/validation.js +0 -12
  736. package/development/action-creators/index.js +0 -1
  737. package/development/action-creators/settings.js +0 -9
  738. package/development/action-creators/storage.js +0 -6
  739. package/development/components/DevelopmentTools/DevelopmentTools.js +0 -6
  740. package/development/components/DevelopmentTools/Shortcuts.js +0 -4
  741. package/development/components/DevelopmentTools/hooks.js +0 -8
  742. package/development/components/DevelopmentTools/index.js +0 -1
  743. package/development/components/SimulatedInsets/SimulatedInsetBottom.js +0 -7
  744. package/development/components/SimulatedInsets/SimulatedInsetTop.js +0 -12
  745. package/development/components/SimulatedInsets/SimulatedInsets.js +0 -6
  746. package/development/components/SimulatedInsets/index.js +0 -1
  747. package/development/components/index.js +0 -1
  748. package/development/constants/actionTypes.js +0 -1
  749. package/development/constants/index.js +0 -1
  750. package/development/reducers/index.js +0 -1
  751. package/development/reducers/settings.js +0 -10
  752. package/development/reducers/storage.js +0 -9
  753. package/development/selectors/index.js +0 -1
  754. package/development/selectors/settings.js +0 -21
  755. package/development/selectors/storage.js +0 -16
  756. package/development/streams/index.js +0 -1
  757. package/development/streams/insets.js +0 -4
  758. package/development/subscriptions/index.js +0 -6
  759. package/favorites/components/CommentDialog/CommentDialog.js +0 -12
  760. package/favorites/components/CommentDialog/index.js +0 -1
  761. package/favorites/components/FavoriteButtonWide/FavoriteButtonWide.js +0 -8
  762. package/favorites/components/FavoriteButtonWide/index.js +0 -1
  763. package/favorites/components/Item/ItemNotes.js +0 -7
  764. package/favorites/components/Item/ItemQuantity.js +0 -7
  765. package/favorites/components/ItemFulfillmentMethod/ItemFulfillmentMethod.js +0 -4
  766. package/favorites/components/ItemFulfillmentMethod/index.js +0 -1
  767. package/favorites/components/List/ListAccordionHeader.js +0 -8
  768. package/favorites/components/List/ListAccordionLabel.js +0 -5
  769. package/favorites/components/List/ListContent.js +0 -8
  770. package/favorites/components/List/ListItemWrapper.js +0 -6
  771. package/favorites/components/List/styles.js +0 -1
  772. package/favorites/constants/index.js +0 -1
  773. package/filter/actions/index.js +0 -1
  774. package/filter/components/FilterPageContent/components/ApplyButton/index.js +0 -7
  775. package/filter/components/FilterPageContent/components/ApplyButton/spec.js +0 -1
  776. package/filter/components/FilterPageContent/components/ApplyButton/style.js +0 -1
  777. package/filter/components/FilterPageContent/components/ResetButton/index.js +0 -7
  778. package/filter/components/FilterPageContent/components/ResetButton/spec.js +0 -1
  779. package/filter/components/FilterPageContent/components/ResetButton/style.js +0 -1
  780. package/filter/components/FilterPageContent/components/Selector/components/Selected/index.js +0 -7
  781. package/filter/components/FilterPageContent/components/Selector/components/Selected/spec.js +0 -1
  782. package/filter/components/FilterPageContent/components/Selector/components/Selected/style.js +0 -1
  783. package/filter/components/FilterPageContent/components/Selector/components/Toggle/index.js +0 -7
  784. package/filter/components/FilterPageContent/components/Selector/components/Toggle/spec.js +0 -1
  785. package/filter/components/FilterPageContent/components/Selector/components/Toggle/style.js +0 -1
  786. package/filter/components/FilterPageContent/components/Selector/components/ValueButton/index.js +0 -7
  787. package/filter/components/FilterPageContent/components/Selector/components/ValueButton/spec.js +0 -1
  788. package/filter/components/FilterPageContent/components/Selector/components/ValueButton/style.js +0 -1
  789. package/filter/components/FilterPageContent/components/Selector/index.js +0 -19
  790. package/filter/components/FilterPageContent/components/Selector/spec.js +0 -1
  791. package/filter/components/FilterPageContent/components/Selector/style.js +0 -1
  792. package/filter/components/FilterPageContent/index.js +0 -6
  793. package/filter/components/FilterPageContentWithProvider/index.js +0 -16
  794. package/filter/components/index.js +0 -1
  795. package/filter/constants/index.js +0 -1
  796. package/filter/constants/sort.js +0 -11
  797. package/filter/helpers/index.js +0 -1
  798. package/filter/hocs/index.js +0 -1
  799. package/filter/hocs/withSort.js +0 -16
  800. package/filter/hooks/filterPage.js +0 -5
  801. package/filter/hooks/index.js +0 -4
  802. package/filter/providers/FilterPageProvider.context.js +0 -54
  803. package/filter/providers/FilterPageProvider.js +0 -98
  804. package/filter/providers/SortProvider.connector.js +0 -3
  805. package/filter/providers/SortProvider.context.js +0 -1
  806. package/filter/providers/SortProvider.helpers.js +0 -8
  807. package/filter/providers/SortProvider.js +0 -6
  808. package/filter/providers/index.js +0 -1
  809. package/filter/selectors/index.js +0 -17
  810. package/filter/streams/index.js +0 -1
  811. package/i18n/countries.helpers.js +0 -6
  812. package/i18n/countries.hooks.js +0 -6
  813. package/i18n/index.js +0 -1
  814. package/i18n/locale/cs-cz/countries.json +0 -255
  815. package/i18n/locale/de-de/countries.json +0 -255
  816. package/i18n/locale/el-gr/countries.json +0 -255
  817. package/i18n/locale/en-us/countries.json +0 -255
  818. package/i18n/locale/es-es/countries.json +0 -255
  819. package/i18n/locale/fi-fi/countries.json +0 -255
  820. package/i18n/locale/fr-fr/countries.json +0 -255
  821. package/i18n/locale/hu-hu/countries.json +0 -255
  822. package/i18n/locale/it-it/countries.json +0 -255
  823. package/i18n/locale/nl-nl/countries.json +0 -255
  824. package/i18n/locale/pl-pl/countries.json +0 -255
  825. package/i18n/locale/pt-pt/countries.json +0 -255
  826. package/i18n/locale/ro-ro/countries.json +0 -255
  827. package/i18n/locale/sv-se/countries.json +0 -255
  828. package/locations/action-creators/errorInventories.js +0 -7
  829. package/locations/action-creators/errorLocations.js +0 -6
  830. package/locations/action-creators/errorProductInventories.js +0 -7
  831. package/locations/action-creators/errorProductLocations.js +0 -6
  832. package/locations/action-creators/index.js +0 -1
  833. package/locations/action-creators/provideProductAlternativeLocation.js +0 -5
  834. package/locations/action-creators/receiveInventories.js +0 -5
  835. package/locations/action-creators/receiveLocations.js +0 -6
  836. package/locations/action-creators/receiveProductInventories.js +0 -7
  837. package/locations/action-creators/receiveProductLocations.js +0 -7
  838. package/locations/action-creators/requestInventories.js +0 -6
  839. package/locations/action-creators/requestLocations.js +0 -5
  840. package/locations/action-creators/requestProductInventories.js +0 -6
  841. package/locations/action-creators/requestProductLocations.js +0 -5
  842. package/locations/action-creators/selectGlobalLocation.js +0 -5
  843. package/locations/action-creators/selectLocation.js +0 -6
  844. package/locations/action-creators/setStoreFinderSearchRadius.js +0 -5
  845. package/locations/action-creators/setUserGeolocation.js +0 -5
  846. package/locations/action-creators/setUserSearchCountryCode.js +0 -7
  847. package/locations/action-creators/setUserSearchGeolocation.js +0 -8
  848. package/locations/action-creators/setUserSearchPostalCode.js +0 -7
  849. package/locations/action-creators/storeFormInput.js +0 -5
  850. package/locations/action-creators/storeFulfillmentMethod.js +0 -5
  851. package/locations/action-creators/submitReservationError.js +0 -5
  852. package/locations/action-creators/submitReservationRequest.js +0 -5
  853. package/locations/action-creators/submitReservationSuccess.js +0 -5
  854. package/locations/actions/fetchDefaultLocation.js +0 -4
  855. package/locations/actions/fetchFulfillmentSlots.js +0 -6
  856. package/locations/actions/fetchInventories.js +0 -6
  857. package/locations/actions/fetchLocations.js +0 -19
  858. package/locations/actions/fetchProductInventories.js +0 -7
  859. package/locations/actions/fetchProductLocations.js +0 -12
  860. package/locations/actions/index.js +0 -5
  861. package/locations/actions/sendDefaultLocationCode.js +0 -6
  862. package/locations/actions/setUserGeolocation.js +0 -1
  863. package/locations/actions/setUserSearchGeolocation.js +0 -1
  864. package/locations/actions/submitReservation.js +0 -5
  865. package/locations/assets/leaflet.css +0 -765
  866. package/locations/components/Cart/CartChangeFulfillmentMethod.connector.js +0 -4
  867. package/locations/components/Cart/CartChangeFulfillmentMethod.js +0 -8
  868. package/locations/components/Cart/CartChangeFulfillmentMethod.types.js +0 -0
  869. package/locations/components/Cart/CartContextMenuChangeFulfillment.js +0 -6
  870. package/locations/components/Cart/CartContextMenuChangeFulfillmentContent.js +0 -5
  871. package/locations/components/Cart/CartContextMenuChangeFulfillmentContent.style.js +0 -1
  872. package/locations/components/Cart/CartContextMenuItemChangeFulfillment.connector.js +0 -4
  873. package/locations/components/Cart/CartContextMenuItemChangeFulfillment.js +0 -6
  874. package/locations/components/Cart/CartContextMenuItemChangeLocation.js +0 -7
  875. package/locations/components/Cart/CartItemProductChangeLocation.connector.js +0 -5
  876. package/locations/components/Cart/CartItemProductChangeLocation.js +0 -11
  877. package/locations/components/Cart/CartItemProductChangeLocation.types.js +0 -0
  878. package/locations/components/Cart/index.js +0 -1
  879. package/locations/components/ChangeLocationButton/ChangeLocationButton.js +0 -4
  880. package/locations/components/ChangeLocationButton/ChangeLocationButton.style.js +0 -2
  881. package/locations/components/ChangeLocationButton/index.js +0 -1
  882. package/locations/components/FulfillmentPath/FulfillmentPath.js +0 -4
  883. package/locations/components/FulfillmentPath/FulfillmentPath.style.js +0 -2
  884. package/locations/components/FulfillmentPath/FulfillmentPathItem.js +0 -6
  885. package/locations/components/FulfillmentPath/index.js +0 -1
  886. package/locations/components/FulfillmentPathSelector/FulfillmentPathSelector.js +0 -14
  887. package/locations/components/FulfillmentPathSelector/FulfillmentPathSelector.style.js +0 -1
  888. package/locations/components/FulfillmentPathSelector/index.js +0 -1
  889. package/locations/components/FulfillmentSelector/FulfillmentSelector.connector.js +0 -9
  890. package/locations/components/FulfillmentSelector/FulfillmentSelector.context.js +0 -1
  891. package/locations/components/FulfillmentSelector/FulfillmentSelector.hooks.js +0 -3
  892. package/locations/components/FulfillmentSelector/FulfillmentSelector.js +0 -20
  893. package/locations/components/FulfillmentSelector/FulfillmentSelector.style.js +0 -1
  894. package/locations/components/FulfillmentSelector/FulfillmentSelector.types.js +0 -1
  895. package/locations/components/FulfillmentSelector/FulfillmentSelectorAddToCart.js +0 -10
  896. package/locations/components/FulfillmentSelector/FulfillmentSelectorAlternativeLocation.js +0 -8
  897. package/locations/components/FulfillmentSelector/FulfillmentSelectorBOPIS.js +0 -4
  898. package/locations/components/FulfillmentSelector/FulfillmentSelectorDirectShip.js +0 -5
  899. package/locations/components/FulfillmentSelector/FulfillmentSelectorHeader.js +0 -4
  900. package/locations/components/FulfillmentSelector/FulfillmentSelectorHeader.style.js +0 -1
  901. package/locations/components/FulfillmentSelector/FulfillmentSelectorImpossibleError.js +0 -4
  902. package/locations/components/FulfillmentSelector/FulfillmentSelectorImpossibleError.style.js +0 -1
  903. package/locations/components/FulfillmentSelector/FulfillmentSelectorItem.js +0 -8
  904. package/locations/components/FulfillmentSelector/FulfillmentSelectorItem.style.js +0 -1
  905. package/locations/components/FulfillmentSelector/FulfillmentSelectorLocation.js +0 -4
  906. package/locations/components/FulfillmentSelector/FulfillmentSelectorLocation.style.js +0 -1
  907. package/locations/components/FulfillmentSelector/FulfillmentSelectorLocationMethodNotAvailable.js +0 -3
  908. package/locations/components/FulfillmentSelector/FulfillmentSelectorROPIS.js +0 -4
  909. package/locations/components/FulfillmentSelector/index.js +0 -1
  910. package/locations/components/FulfillmentSheet/FulfillmentSheet.js +0 -6
  911. package/locations/components/FulfillmentSheet/FulfillmentSheet.style.js +0 -1
  912. package/locations/components/FulfillmentSheet/FulfillmentSheetContent.js +0 -6
  913. package/locations/components/FulfillmentSheet/index.js +0 -1
  914. package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotDialog.js +0 -28
  915. package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotProvider.connector.js +0 -8
  916. package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotProvider.context.js +0 -1
  917. package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotProvider.js +0 -9
  918. package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotSwitcher.connector.js +0 -4
  919. package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotSwitcher.js +0 -4
  920. package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotSwitcherBar.js +0 -3
  921. package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotSwitcherBar.style.js +0 -1
  922. package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotSwitcherDefault.js +0 -3
  923. package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotSwitcherDefault.style.js +0 -1
  924. package/locations/components/FulfillmentSlotSwitcher/index.js +0 -1
  925. package/locations/components/FulfillmentSlotSwitcher/time.js +0 -5
  926. package/locations/components/GlobalLocationSelector/GlobalLocationSelector.js +0 -16
  927. package/locations/components/GlobalLocationSelector/index.js +0 -1
  928. package/locations/components/GlobalLocationSwitcher/GlobalLocationSwitcher.connector.js +0 -8
  929. package/locations/components/GlobalLocationSwitcher/GlobalLocationSwitcher.js +0 -3
  930. package/locations/components/GlobalLocationSwitcher/GlobalLocationSwitcherBar.js +0 -3
  931. package/locations/components/GlobalLocationSwitcher/GlobalLocationSwitcherBar.style.js +0 -1
  932. package/locations/components/GlobalLocationSwitcher/GlobalLocationSwitcherDefault.js +0 -3
  933. package/locations/components/GlobalLocationSwitcher/GlobalLocationSwitcherDefault.style.js +0 -1
  934. package/locations/components/GlobalLocationSwitcher/index.js +0 -1
  935. package/locations/components/ReservationResponses/ReservationError.js +0 -4
  936. package/locations/components/ReservationResponses/ReservationResponse.style.js +0 -1
  937. package/locations/components/ReservationResponses/ReservationSuccess.js +0 -4
  938. package/locations/components/ReservationResponses/index.js +0 -1
  939. package/locations/components/ReserveForm/ReserveForm.constraints.js +0 -1
  940. package/locations/components/ReserveForm/ReserveForm.js +0 -10
  941. package/locations/components/ReserveForm/ReserveForm.style.js +0 -1
  942. package/locations/components/ReserveForm/ReserveFormPhone.connector.js +0 -3
  943. package/locations/components/ReserveForm/ReserveFormPhone.js +0 -5
  944. package/locations/components/ReserveForm/ReserveFormPhone.types.js +0 -0
  945. package/locations/components/ReserveForm/index.js +0 -1
  946. package/locations/components/StockInfo/StockInfo.defaultSettings.js +0 -1
  947. package/locations/components/StockInfo/StockInfo.js +0 -8
  948. package/locations/components/StockInfo/StockInfoInventory.js +0 -9
  949. package/locations/components/StockInfo/index.js +0 -1
  950. package/locations/components/StockInfoLists/index.js +0 -9
  951. package/locations/components/StoreDetails/components/FindMoreStores.js +0 -4
  952. package/locations/components/StoreDetails/components/GetDirectionsButton.js +0 -7
  953. package/locations/components/StoreDetails/components/StoreDetails.js +0 -5
  954. package/locations/components/StoreDetails/components/StoreFinderMap.js +0 -20
  955. package/locations/components/StoreDetails/components/StoreFinderMap.style.js +0 -1
  956. package/locations/components/StoreDetails/components/StoreLocationMap.js +0 -4
  957. package/locations/components/StoreDetails/components/StoresNearby.js +0 -4
  958. package/locations/components/StoreDetails/components/StoresNearbyListItem.js +0 -9
  959. package/locations/components/StoreDetails/index.js +0 -4
  960. package/locations/components/StoreFinder/Store.context.js +0 -1
  961. package/locations/components/StoreFinder/StoreFinder.js +0 -3
  962. package/locations/components/StoreFinder/StoreFinder.style.js +0 -1
  963. package/locations/components/StoreFinder/StoreFinderGetDirectionsButton.connector.js +0 -4
  964. package/locations/components/StoreFinder/StoreFinderGetDirectionsButton.js +0 -4
  965. package/locations/components/StoreFinder/StoreFinderGetDirectionsButton.style.js +0 -1
  966. package/locations/components/StoreFinder/StoreFinderLocation.js +0 -3
  967. package/locations/components/StoreFinder/StoreFinderLocation.style.js +0 -1
  968. package/locations/components/StoreFinder/StoreFinderLocationDetails.js +0 -3
  969. package/locations/components/StoreFinder/StoreFinderLocationDetails.style.js +0 -1
  970. package/locations/components/StoreFinder/StoreFinderLocationHeader.js +0 -3
  971. package/locations/components/StoreFinder/StoreFinderLocationHeader.style.js +0 -1
  972. package/locations/components/StoreFinder/StoreFinderLocationHeaderPhoneNumber.js +0 -4
  973. package/locations/components/StoreFinder/StoreFinderLocations.js +0 -5
  974. package/locations/components/StoreFinder/StoreFinderLocations.style.js +0 -1
  975. package/locations/components/StoreFinder/StoreFinderSearch.js +0 -3
  976. package/locations/components/StoreFinder/StoreFinderSearch.style.js +0 -1
  977. package/locations/components/StoreFinder/StoreFinderSelectLocationButton.js +0 -5
  978. package/locations/components/StoreFinder/StoreFinderStoreInfoButton.js +0 -8
  979. package/locations/components/StoreFinder/index.js +0 -1
  980. package/locations/components/StoreList/Store.context.js +0 -1
  981. package/locations/components/StoreList/Store.style.js +0 -1
  982. package/locations/components/StoreList/StoreAddress.js +0 -7
  983. package/locations/components/StoreList/StoreAddressShort.js +0 -7
  984. package/locations/components/StoreList/StoreCard.js +0 -4
  985. package/locations/components/StoreList/StoreDetails.js +0 -4
  986. package/locations/components/StoreList/StoreDetailsLine.js +0 -8
  987. package/locations/components/StoreList/StoreDistance.js +0 -7
  988. package/locations/components/StoreList/StoreHeader.js +0 -4
  989. package/locations/components/StoreList/StoreHoursToday.js +0 -7
  990. package/locations/components/StoreList/StoreList.js +0 -4
  991. package/locations/components/StoreList/StoreListLocations.js +0 -4
  992. package/locations/components/StoreList/StoreListProduct.js +0 -4
  993. package/locations/components/StoreList/StoreListProduct.style.js +0 -1
  994. package/locations/components/StoreList/StoreListProductInfo.js +0 -4
  995. package/locations/components/StoreList/StoreListProductName.js +0 -4
  996. package/locations/components/StoreList/StoreListSearch.connector.js +0 -7
  997. package/locations/components/StoreList/StoreListSearch.js +0 -23
  998. package/locations/components/StoreList/StoreListSearch.style.js +0 -1
  999. package/locations/components/StoreList/StoreListSearchRadius.connector.js +0 -7
  1000. package/locations/components/StoreList/StoreListSearchRadius.js +0 -4
  1001. package/locations/components/StoreList/StoreListSearchRadius.style.js +0 -1
  1002. package/locations/components/StoreList/StoreOpeningHours.js +0 -7
  1003. package/locations/components/StoreList/StoreOpeningHoursLine.js +0 -7
  1004. package/locations/components/StoreList/StorePhoneNumber.js +0 -6
  1005. package/locations/components/StoreList/StoreSelectLocationButton.js +0 -4
  1006. package/locations/components/StoreList/index.js +0 -1
  1007. package/locations/components/index.js +0 -1
  1008. package/locations/constants/ActionTypes.js +0 -10
  1009. package/locations/constants/Pipelines.js +0 -1
  1010. package/locations/constants/Portals.js +0 -2
  1011. package/locations/constants/Stages.js +0 -1
  1012. package/locations/constants/index.js +0 -7
  1013. package/locations/constants/routes.js +0 -1
  1014. package/locations/helpers/createOrder.js +0 -28
  1015. package/locations/helpers/formatDistance.js +0 -9
  1016. package/locations/helpers/getAvailabilitySettings.js +0 -12
  1017. package/locations/helpers/index.js +0 -1
  1018. package/locations/helpers/productInventory.js +0 -7
  1019. package/locations/helpers/showInventoryInLists.js +0 -7
  1020. package/locations/index.js +0 -9
  1021. package/locations/locations.context.js +0 -1
  1022. package/locations/locations.hooks.js +0 -4
  1023. package/locations/locations.streams.js +0 -1
  1024. package/locations/locations.types.js +0 -1
  1025. package/locations/providers/FulfillmentProvider.connector.js +0 -10
  1026. package/locations/providers/FulfillmentProvider.js +0 -49
  1027. package/locations/providers/FulfillmentProvider.types.js +0 -1
  1028. package/locations/providers/StoreDetailsContext.js +0 -1
  1029. package/locations/providers/StoreDetailsProvider.js +0 -4
  1030. package/locations/providers/StoreFinder.connector.js +0 -3
  1031. package/locations/providers/StoreFinderProvider.js +0 -7
  1032. package/locations/providers/index.js +0 -1
  1033. package/locations/reducers/index.js +0 -1
  1034. package/locations/reducers/storage.js +0 -24
  1035. package/locations/reducers/storeFinderSearch.js +0 -6
  1036. package/locations/reducers/user.js +0 -5
  1037. package/locations/reducers/userFormInput.js +0 -8
  1038. package/locations/reducers/userSearch.js +0 -6
  1039. package/locations/selectors/index.js +0 -145
  1040. package/locations/subscriptions.js +0 -27
  1041. package/login/action-creators/index.js +0 -1
  1042. package/login/action-creators/resetPassword.js +0 -14
  1043. package/login/actions/index.js +0 -1
  1044. package/login/actions/resetPassword.js +0 -5
  1045. package/login/components/ForgotPassword/ForgotPassword.connector.js +0 -5
  1046. package/login/components/ForgotPassword/ForgotPassword.js +0 -5
  1047. package/login/components/ForgotPassword/ForgotPassword.style.js +0 -1
  1048. package/login/components/ForgotPassword/index.js +0 -1
  1049. package/login/constants/actions.js +0 -1
  1050. package/login/constants/index.js +0 -1
  1051. package/login/constants/pipelines.js +0 -1
  1052. package/login/constants/routes.js +0 -1
  1053. package/login/index.js +0 -1
  1054. package/orders/action-creators/index.js +0 -1
  1055. package/orders/action-creators/orderDetails.js +0 -22
  1056. package/orders/action-creators/orders.js +0 -21
  1057. package/orders/actions/cancelOrder.js +0 -8
  1058. package/orders/actions/fetchOrderDetails.js +0 -10
  1059. package/orders/actions/fetchOrderHistory.js +0 -7
  1060. package/orders/actions/index.js +0 -1
  1061. package/orders/components/OrderDetails/OrderDetails.js +0 -4
  1062. package/orders/components/OrderDetails/OrderDetailsAuthenticate.js +0 -3
  1063. package/orders/components/OrderDetails/OrderDetailsAuthenticate.style.js +0 -1
  1064. package/orders/components/OrderDetails/OrderDetailsAuthenticateForm.config.js +0 -8
  1065. package/orders/components/OrderDetails/OrderDetailsContent.js +0 -3
  1066. package/orders/components/OrderDetails/OrderDetailsContent.style.js +0 -1
  1067. package/orders/components/OrderDetails/OrderDetailsOrder.js +0 -4
  1068. package/orders/components/OrderDetails/OrderDetailsOrder.style.js +0 -1
  1069. package/orders/components/OrderDetails/OrderDetailsOrderHeader.js +0 -4
  1070. package/orders/components/OrderDetails/OrderDetailsOrderHeader.style.js +0 -1
  1071. package/orders/components/OrderDetails/OrderDetailsOrderPickupLocation.connector.js +0 -3
  1072. package/orders/components/OrderDetails/OrderDetailsOrderPickupLocation.js +0 -4
  1073. package/orders/components/OrderDetails/OrderDetailsOrderPickupLocation.style.js +0 -1
  1074. package/orders/components/OrderDetails/index.js +0 -1
  1075. package/orders/components/OrderHistory/OrderHistory.js +0 -4
  1076. package/orders/components/OrderHistory/OrderHistory.style.js +0 -1
  1077. package/orders/components/OrderHistory/OrderHistoryList.js +0 -9
  1078. package/orders/components/OrderHistory/OrderHistoryList.style.js +0 -1
  1079. package/orders/components/OrderHistory/OrderHistoryLoader.js +0 -4
  1080. package/orders/components/OrderHistory/OrderHistoryTable.js +0 -9
  1081. package/orders/components/OrderHistory/OrderHistoryTable.style.js +0 -1
  1082. package/orders/components/OrderHistory/index.js +0 -1
  1083. package/orders/components/index.js +0 -1
  1084. package/orders/constants/actionTypes.js +0 -1
  1085. package/orders/constants/index.js +0 -1
  1086. package/orders/constants/pipelines.js +0 -1
  1087. package/orders/constants/routes.js +0 -1
  1088. package/orders/constants/status.js +0 -12
  1089. package/orders/helpers/index.js +0 -1
  1090. package/orders/helpers/orderDetails.js +0 -5
  1091. package/orders/helpers/orderStatus.js +0 -15
  1092. package/orders/hooks/index.js +0 -7
  1093. package/orders/providers/OrderDetailsPrivateProvider.connector.js +0 -11
  1094. package/orders/providers/OrderDetailsPrivateProvider.js +0 -5
  1095. package/orders/providers/OrderDetailsProvider.connector.js +0 -11
  1096. package/orders/providers/OrderDetailsProvider.constraints.js +0 -1
  1097. package/orders/providers/OrderDetailsProvider.context.js +0 -1
  1098. package/orders/providers/OrderDetailsProvider.js +0 -11
  1099. package/orders/providers/OrderHistoryProvider.connector.js +0 -9
  1100. package/orders/providers/OrderHistoryProvider.context.js +0 -1
  1101. package/orders/providers/OrderHistoryProvider.js +0 -4
  1102. package/orders/reducers/index.js +0 -1
  1103. package/orders/reducers/orders.js +0 -7
  1104. package/orders/reducers/ordersById.js +0 -7
  1105. package/orders/reducers/ordersByNumber.js +0 -7
  1106. package/orders/selectors/index.js +0 -27
  1107. package/orders/subscriptions/index.js +0 -4
  1108. package/page/actions/index.js +0 -1
  1109. package/page/components/NotFound.js +0 -3
  1110. package/page/components/index.js +0 -1
  1111. package/page/selectors/index.js +0 -7
  1112. package/product/collections/index.js +0 -1
  1113. package/product/components/Availability/Availability.connector.js +0 -5
  1114. package/product/components/Availability/Availability.js +0 -6
  1115. package/product/components/Availability/Availability.style.js +0 -1
  1116. package/product/components/Availability/index.js +0 -1
  1117. package/product/components/Header/index.js +0 -1
  1118. package/product/components/PriceInfo/PriceInfo.connector.js +0 -4
  1119. package/product/components/PriceInfo/PriceInfo.js +0 -4
  1120. package/product/components/PriceInfo/index.js +0 -1
  1121. package/product/components/ProductImage/ProductImagePlaceholder.js +0 -5
  1122. package/product/components/ProductImage/connector.js +0 -5
  1123. package/product/components/ProductName/ProductName.js +0 -4
  1124. package/product/components/ProductName/ProductNameContent.js +0 -4
  1125. package/product/components/ProductName/index.js +0 -1
  1126. package/product/components/ProductProperties/ListsHTML.js +0 -5
  1127. package/product/components/ProductProperties/RowHTML.js +0 -5
  1128. package/product/components/ProductVariants/VariantAvailability.connector.js +0 -5
  1129. package/product/components/ProductVariants/VariantAvailability.js +0 -5
  1130. package/product/components/ProductVariants/index.js +0 -1
  1131. package/product/components/QuantityPicker/hooks.js +0 -5
  1132. package/product/components/UnitQuantityPicker/CartUnitQuantityPicker.js +0 -4
  1133. package/product/components/UnitQuantityPicker/styles.js +0 -1
  1134. package/product/components/index.js +0 -1
  1135. package/product/contexts/index.js +0 -1
  1136. package/product/hocs/index.js +0 -1
  1137. package/product/hocs/withProduct.js +0 -6
  1138. package/product/hocs/withProductListEntryProduct.js +0 -12
  1139. package/product/hooks/index.js +0 -1
  1140. package/product/product.types.js +0 -0
  1141. package/product/providers/index.js +0 -1
  1142. package/product/streams/index.js +0 -1
  1143. package/push-opt-in/subscriptions/optInTracking.js +0 -4
  1144. package/registration/action-creators/index.js +0 -18
  1145. package/registration/actions/index.js +0 -1
  1146. package/registration/actions/submitRegistration.js +0 -4
  1147. package/registration/components/GuestRegistration/GuestRegistration.js +0 -4
  1148. package/registration/components/GuestRegistration/GuestRegistrationContent.js +0 -4
  1149. package/registration/components/GuestRegistration/GuestRegistrationFormPickup.config.js +0 -8
  1150. package/registration/components/GuestRegistration/GuestRegistrationFormPickup.js +0 -4
  1151. package/registration/components/Registration/Registration.js +0 -4
  1152. package/registration/components/Registration/RegistrationContent.js +0 -4
  1153. package/registration/components/Registration/RegistrationContent.style.js +0 -2
  1154. package/registration/components/Registration/RegistrationFormActions.js +0 -5
  1155. package/registration/components/Registration/RegistrationFormBase.config.js +0 -4
  1156. package/registration/components/Registration/RegistrationFormBase.js +0 -4
  1157. package/registration/components/Registration/RegistrationFormBilling.config.js +0 -5
  1158. package/registration/components/Registration/RegistrationFormBilling.js +0 -5
  1159. package/registration/components/Registration/RegistrationFormExtra.config.js +0 -5
  1160. package/registration/components/Registration/RegistrationFormExtra.js +0 -5
  1161. package/registration/components/Registration/RegistrationFormShipping.config.js +0 -5
  1162. package/registration/components/Registration/RegistrationFormShipping.js +0 -5
  1163. package/registration/components/Registration/RegistrationFormToggle.js +0 -4
  1164. package/registration/components/index.js +0 -1
  1165. package/registration/constants/actionTypes.js +0 -1
  1166. package/registration/constants/index.js +0 -1
  1167. package/registration/constants/pipelines.js +0 -1
  1168. package/registration/hooks/index.js +0 -5
  1169. package/registration/index.js +0 -2
  1170. package/registration/providers/GuestRegistrationProvider.actions.js +0 -4
  1171. package/registration/providers/GuestRegistrationProvider.connector.js +0 -7
  1172. package/registration/providers/GuestRegistrationProvider.constraints.js +0 -18
  1173. package/registration/providers/GuestRegistrationProvider.context.js +0 -1
  1174. package/registration/providers/GuestRegistrationProvider.js +0 -22
  1175. package/registration/providers/RegistrationProvider.actions.js +0 -8
  1176. package/registration/providers/RegistrationProvider.connector.js +0 -6
  1177. package/registration/providers/RegistrationProvider.constraints.js +0 -27
  1178. package/registration/providers/RegistrationProvider.context.js +0 -1
  1179. package/registration/providers/RegistrationProvider.js +0 -17
  1180. package/registration/streams/index.js +0 -4
  1181. package/registration/subscriptions/index.js +0 -5
  1182. package/reviews/actions/index.js +0 -1
  1183. package/reviews/components/index.js +0 -1
  1184. package/reviews/constants/index.js +0 -1
  1185. package/reviews/selectors/index.js +0 -1
  1186. package/reviews/streams/index.js +0 -1
  1187. package/scanner/action-creators/index.js +0 -1
  1188. package/scanner/actions/index.js +0 -1
  1189. package/scanner/classes/index.js +0 -1
  1190. package/scanner/constants/index.js +0 -1
  1191. package/scanner/helpers/index.js +0 -1
  1192. package/scanner/streams/index.js +0 -1
  1193. package/search/actions/index.js +0 -1
  1194. package/search/constants/index.js +0 -1
  1195. package/search/helpers/index.js +0 -1
  1196. package/search/selectors/index.js +0 -1
  1197. package/search/streams/index.js +0 -1
  1198. package/styles/helpers/cssCustomProperties.js +0 -16
  1199. package/styles/helpers/index.js +0 -1
  1200. package/styles/helpers/initCSSCustomProperties.js +0 -10
  1201. package/styles/helpers/loadCustomStyles.js +0 -6
  1202. package/styles/helpers/setPageBackgroundColor.js +0 -5
  1203. package/styles/helpers/setPageContentWidth.js +0 -5
  1204. package/styles/helpers/setViewportHeight.js +0 -3
  1205. package/styles/helpers/toggleBodyScroll.js +0 -5
  1206. package/styles/helpers/updatePageInsets.js +0 -15
  1207. package/styles/index.js +0 -1
  1208. package/styles/reset/form.js +0 -8
  1209. package/styles/reset/index.js +0 -1
  1210. package/styles/reset/media.js +0 -1
  1211. package/styles/reset/root.js +0 -3
  1212. package/styles/reset/table.js +0 -1
  1213. package/styles/reset/typography.js +0 -1
  1214. package/tracking/helpers/index.js +0 -1
  1215. package/types.js +0 -0
  1216. package/user/selectors/data.js +0 -10
  1217. /package/product/components/{ProductVariants/VariantAvailability.style.js → Characteristics/Characteristic/components/VariantAvailability/style.js} +0 -0
  1218. /package/product/{providers/Product → components/ProductProvider}/connector.js +0 -0
@@ -1 +1 @@
1
- function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}import{css}from'glamor';import{responsiveMediaQuery}from'@shopgate/engage/styles';var styles={portal:css(_defineProperty({top:12},responsiveMediaQuery('>xs',{webOnly:true}),{top:25,left:25})).toString(),container:css(_defineProperty({minWidth:65,zIndex:10},responsiveMediaQuery('>xs',{webOnly:true}),{minWidth:50})),badge:css(_defineProperty({fontSize:'1.15rem'},responsiveMediaQuery('>xs',{webOnly:true}),{fontSize:14})).toString()};export default styles;
1
+ import{css}from'glamor';var styles={portal:css({top:12}).toString(),container:css({minWidth:65,zIndex:10}),badge:css({fontSize:'1.15rem'}).toString()};export default styles;
@@ -1,6 +1,6 @@
1
- import React,{Fragment}from'react';import PropTypes from'prop-types';import{Grid,Price,PriceStriked}from'@shopgate/engage/components';import{PriceInfo}from'@shopgate/engage/product/components';import{withPriceCalculation}from'@shopgate/engage/product/hocs';import styles from"./style";/**
1
+ import React,{Fragment}from'react';import PropTypes from'prop-types';import{Grid,Price,PriceStriked,PriceInfo}from'@shopgate/engage/components';import withPriceCalculation from"../../hocs/withPriceCalculation";import styles from"./style";/**
2
2
  * The ProductGridPrice component is supposed to be used to display prices at product grids. It
3
3
  * renders a row with the current price and a strike price when present. As same as the price info.
4
- * @param {Object} product A product entity.
4
+ * @param {Object} price The price object of a product entity.
5
5
  * @return {JSX}
6
- */var ProductGridPrice=function ProductGridPrice(_ref){var product=_ref.product;var price=product.price;return React.createElement(Fragment,null,React.createElement(Grid,{className:"".concat(styles.priceWrapper," engage__product__product-grid-price"),wrap:true},React.createElement(Grid.Item,{grow:1},React.createElement(Price,{currency:price.currency,discounted:!!price.discount,unitPrice:price.unitPrice,unitPriceMin:price.unitPriceMin})),price.msrp>0&&price.unitPrice!==price.msrp&&React.createElement(Grid.Item,null,React.createElement(PriceStriked,{className:styles.strikedPrice,value:price.msrp,currency:price.currency})),!price.msrp&&price.unitPriceStriked>0&&price.unitPrice!==price.unitPriceStriked&&React.createElement(Grid.Item,null,React.createElement(PriceStriked,{className:styles.strikedPrice,value:price.unitPriceStriked,currency:price.currency}))),React.createElement(PriceInfo,{product:product,className:styles.basicPrice,wrapper:function wrapper(children){return React.createElement(Grid,null,React.createElement(Grid.Item,null,children));}}));};export default withPriceCalculation(ProductGridPrice);
6
+ */var ProductGridPrice=function ProductGridPrice(_ref){var price=_ref.price;return/*#__PURE__*/React.createElement(Fragment,null,/*#__PURE__*/React.createElement(Grid,{className:"".concat(styles.priceWrapper," engage__product__product-grid-price"),wrap:true},/*#__PURE__*/React.createElement(Grid.Item,{grow:1},/*#__PURE__*/React.createElement(Price,{currency:price.currency,discounted:!!price.discount,unitPrice:price.unitPrice,unitPriceMin:price.unitPriceMin})),price.msrp>0&&price.unitPrice!==price.msrp&&/*#__PURE__*/React.createElement(Grid.Item,null,/*#__PURE__*/React.createElement(PriceStriked,{className:styles.strikedPrice,value:price.msrp,currency:price.currency})),!price.msrp&&price.unitPriceStriked>0&&/*#__PURE__*/React.createElement(Grid.Item,null,/*#__PURE__*/React.createElement(PriceStriked,{className:styles.strikedPrice,value:price.unitPriceStriked,currency:price.currency}))),price.info&&/*#__PURE__*/React.createElement(Grid,null,/*#__PURE__*/React.createElement(Grid.Item,null,/*#__PURE__*/React.createElement(PriceInfo,{className:styles.basicPrice,text:price.info}))));};export default withPriceCalculation(ProductGridPrice);
@@ -1 +1 @@
1
- import{css}from'glamor';import{themeName}from'@shopgate/pwa-common/helpers/config';var isIOS=themeName.includes('ios');var priceWrapper=css(isIOS?{lineHeight:1.75,marginTop:2,alignItems:'center'}:{lineHeight:1.75}).toString();var basicPrice=css({fontSize:'0.875rem'}).toString();var strikedPrice=css(isIOS?{fontSize:'0.75rem'}:{}).toString();export default{basicPrice:basicPrice,priceWrapper:priceWrapper,strikedPrice:strikedPrice};
1
+ import{css}from'glamor';import{themeName}from'@shopgate/pwa-common/helpers/config';var isIOS=themeName.includes('ios');var priceWrapper=css(isIOS?{lineHeight:1.75,marginTop:2,alignItems:'center'}:{lineHeight:1.75}).toString();var basicPrice=css({fontSize:'0.85em',marginTop:-1}).toString();var strikedPrice=css(isIOS?{fontSize:'0.75rem'}:{}).toString();export default{basicPrice:basicPrice,priceWrapper:priceWrapper,strikedPrice:strikedPrice};
@@ -1,31 +1,27 @@
1
- function _typeof(obj){if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj;};}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj;};}return _typeof(obj);}function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};return _extends.apply(this,arguments);}function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_nonIterableRest();}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance");}function _iterableToArrayLimit(arr,i){var _arr=[];var _n=true;var _d=false;var _e=undefined;try{for(var _i=arr[Symbol.iterator](),_s;!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break;}}catch(err){_d=true;_e=err;}finally{try{if(!_n&&_i["return"]!=null)_i["return"]();}finally{if(_d)throw _e;}}return _arr;}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr;}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor;}function _callSuper(_this,derived,args){function isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{return!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));}catch(e){return false;}}derived=_getPrototypeOf(derived);return _possibleConstructorReturn(_this,isNativeReflectConstruct()?Reflect.construct(derived,args||[],_getPrototypeOf(_this).constructor):derived.apply(_this,args));}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call;}return _assertThisInitialized(self);}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return self;}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o);};return _getPrototypeOf(o);}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function");}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass);}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o;};return _setPrototypeOf(o,p);}function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}import React,{Component}from'react';import PropTypes from'prop-types';import isEqual from'lodash/isEqual';import classnames from'classnames';import{logger}from'@shopgate/pwa-core';import appConfig,{themeConfig}from'@shopgate/pwa-common/helpers/config';import Image from'@shopgate/pwa-common/components/Image';import PlaceholderIcon from'@shopgate/pwa-ui-shared/icons/PlaceholderIcon';import SurroundPortals from'@shopgate/pwa-common/components/SurroundPortals';import{withWidgetSettings}from"../../../core/hocs/withWidgetSettings";import{PORTAL_PRODUCT_IMAGE}from"../../../components/constants";import ProductImagePlaceholder from"./ProductImagePlaceholder";import styles from"./style";import connect from"./connector";var colors=themeConfig.colors;/**
1
+ function _typeof(obj){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj;}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj;},_typeof(obj);}function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};return _extends.apply(this,arguments);}function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_unsupportedIterableToArray(arr,i)||_nonIterableRest();}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen);}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i];}return arr2;}function _iterableToArrayLimit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break;}}catch(err){_d=true;_e=err;}finally{try{if(!_n&&_i["return"]!=null)_i["return"]();}finally{if(_d)throw _e;}}return _arr;}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr;}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);Object.defineProperty(Constructor,"prototype",{writable:false});return Constructor;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function");}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});Object.defineProperty(subClass,"prototype",{writable:false});if(superClass)_setPrototypeOf(subClass,superClass);}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o;};return _setPrototypeOf(o,p);}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget);}else{result=Super.apply(this,arguments);}return _possibleConstructorReturn(this,result);};}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call;}else if(call!==void 0){throw new TypeError("Derived constructors may only return object or undefined");}return _assertThisInitialized(self);}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return self;}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true;}catch(e){return false;}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o);};return _getPrototypeOf(o);}function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}import React,{Component}from'react';import PropTypes from'prop-types';import isEqual from'lodash/isEqual';import classnames from'classnames';import{logger}from'@shopgate/pwa-core';import appConfig,{themeConfig}from'@shopgate/pwa-common/helpers/config';import Image from'@shopgate/pwa-common/components/Image';import PlaceholderIcon from'@shopgate/pwa-ui-shared/icons/PlaceholderIcon';import SurroundPortals from'@shopgate/pwa-common/components/SurroundPortals';import{withWidgetSettings}from"../../../core/hocs/withWidgetSettings";import{PORTAL_PRODUCT_IMAGE}from"../../../components/constants";import styles from"./style";var colors=themeConfig.colors;/**
2
2
  * The product image component.
3
3
  * This component will behave like the core Image component with the additional
4
4
  * feature of showing a placeholder in case no src property has been passed
5
5
  * or the given source image cannot be loaded.
6
- */var ProductImage=/*#__PURE__*/function(_Component){/**
6
+ */var ProductImage=/*#__PURE__*/function(_Component){_inherits(ProductImage,_Component);var _super=_createSuper(ProductImage);/**
7
+ * See Image component manual for detailed description about the component property types.
8
+ */ /**
7
9
  * Component constructor
8
10
  * @param {Object} props The component properties
9
- */function ProductImage(props){var _this2;_classCallCheck(this,ProductImage);_this2=_callSuper(this,ProductImage,[props]);/**
10
- * Triggered when the image could not be loaded for some reason.
11
- */_defineProperty(_this2,"imageLoadingFailed",function(){_this2.setState({showPlaceholder:true,imageLoadingFailed:true});});/**
12
- * Sets the image ratio based on width and height.
13
- * @return {number} The image ratio.
14
- */_defineProperty(_this2,"getImageRatio",function(){if(_this2.props.ratio){var _this2$props$ratio2=_slicedToArray(_this2.props.ratio,2),x=_this2$props$ratio2[0],y=_this2$props$ratio2[1];return(y/x).toFixed(3);}var _this2$props$resoluti=_this2.props.resolutions[_this2.props.resolutions.length-1],width=_this2$props$resoluti.width,height=_this2$props$resoluti.height;return(height/width).toFixed(3);});logger.assert(!props.srcmap,'Use of srcmap prop is deprecated. Use resolutions instead');var showPlaceholder=!props.src&&(props.srcmap===null||props.srcmap.length===0);_this2.state={showPlaceholder:showPlaceholder,imageLoadingFailed:false};return _this2;}/**
11
+ */function ProductImage(props){var _this;_classCallCheck(this,ProductImage);_this=_super.call(this,props);_defineProperty(_assertThisInitialized(_this),"imageLoadingFailed",function(){_this.setState({showPlaceholder:true});});_defineProperty(_assertThisInitialized(_this),"getImageRatio",function(){if(_this.props.ratio){var _this$props$ratio=_slicedToArray(_this.props.ratio,2),x=_this$props$ratio[0],y=_this$props$ratio[1];return(y/x).toFixed(3);}var _this$props$resolutio=_this.props.resolutions[_this.props.resolutions.length-1],width=_this$props$resolutio.width,height=_this$props$resolutio.height;return(height/width).toFixed(3);});logger.assert(!props.srcmap,'Use of srcmap prop is deprecated. Use resolutions instead');var showPlaceholder=!props.src&&(props.srcmap===null||props.srcmap.length===0);_this.state={showPlaceholder:showPlaceholder};return _this;}/**
15
12
  * Called when the component props change.
16
13
  * @param {Object} nextProps The new component properties
17
- */_inherits(ProductImage,_Component);return _createClass(ProductImage,[{key:"UNSAFE_componentWillReceiveProps",value:function UNSAFE_componentWillReceiveProps(nextProps){// Disable the placeholder to give the real image a new chance to load.
14
+ */_createClass(ProductImage,[{key:"UNSAFE_componentWillReceiveProps",value:function UNSAFE_componentWillReceiveProps(nextProps){// Disable the placeholder to give the real image a new chance to load.
18
15
  // If we do not have a src property set then just show the placeholder instead.
19
16
  var showPlaceholder=!nextProps.src&&(!nextProps.srcmap||nextProps.srcmap.length===0);this.setState({showPlaceholder:showPlaceholder});}/**
20
17
  * Should component update given the new props?
21
18
  * @param {Object} nextProps The next component props.
22
- * @param {Object} nextState The next state.
23
19
  * @return {boolean} Update or not.
24
- */},{key:"shouldComponentUpdate",value:function shouldComponentUpdate(nextProps,nextState){return!isEqual(this.props,nextProps)||!isEqual(this.state,nextState);}},{key:"render",value:/**
20
+ */},{key:"shouldComponentUpdate",value:function shouldComponentUpdate(nextProps){return!isEqual(this.props,nextProps);}/**
21
+ * Triggered when the image could not be loaded for some reason.
22
+ */},{key:"render",value:/**
25
23
  * Renders the component.
26
- * @returns {JSX.Element}
27
- */function render(){var _this$props=this.props,noBackground=_this$props.noBackground,className=_this$props.className,placeholderSrc=_this$props.placeholderSrc;var showInnerShadow=this.props.widgetSettings.showInnerShadow;if(typeof showInnerShadow==='undefined'){showInnerShadow=!appConfig.hideProductImageShadow;}if(this.state.imageLoadingFailed||this.state.showPlaceholder){// Image is not present or could not be loaded, show a placeholder.
28
- return React.createElement(SurroundPortals,{portalName:PORTAL_PRODUCT_IMAGE},React.createElement("div",{className:classnames(styles.placeholderContainer(this.getImageRatio()),_defineProperty(_defineProperty({},styles.innerShadow,showInnerShadow),className,!!className))},placeholderSrc?React.createElement(ProductImagePlaceholder,{src:placeholderSrc,showInnerShadow:showInnerShadow,noBackground:noBackground}):React.createElement("div",{"aria-hidden":true,className:styles.placeholderContent,"data-test-id":"placeHolder"},React.createElement(PlaceholderIcon,{className:styles.placeholder}))));}// Return the actual image.
29
- return React.createElement(SurroundPortals,{portalName:PORTAL_PRODUCT_IMAGE,portalProps:{src:this.props.src,resolutions:this.props.resolutions}},React.createElement("div",{className:"".concat(className," engage__product__product-image")},React.createElement(Image,_extends({},this.props,{className:showInnerShadow?styles.innerShadow:'',backgroundColor:noBackground?'transparent':colors.light,onError:this.imageLoadingFailed,"aria-hidden":!this.props.alt}))));}}]);}(Component);/**
30
- * See Image component manual for detailed description about the component property types.
31
- */_defineProperty(ProductImage,"defaultProps",{alt:null,animating:true,className:null,forcePlaceholder:false,highestResolutionLoaded:function highestResolutionLoaded(){},noBackground:false,ratio:null,resolutions:[{width:50,height:50,blur:2},{width:440,height:440}],src:null,srcmap:null,placeholderSrc:null,widgetSettings:{}});export{ProductImage as UnwrappedProductImage};export default connect(withWidgetSettings(ProductImage,'@shopgate/engage/product/ProductImage'));
24
+ * @returns {JSX}
25
+ */function render(){var _this$props=this.props,noBackground=_this$props.noBackground,className=_this$props.className;var showInnerShadow=this.props.widgetSettings.showInnerShadow;if(typeof showInnerShadow==='undefined'){showInnerShadow=!appConfig.hideProductImageShadow;}if(this.state.showPlaceholder){var _classnames;// Image is not present or could not be loaded, show a placeholder.
26
+ return/*#__PURE__*/React.createElement(SurroundPortals,{portalName:PORTAL_PRODUCT_IMAGE},/*#__PURE__*/React.createElement("div",{className:classnames(styles.placeholderContainer(this.getImageRatio()),(_classnames={},_defineProperty(_classnames,styles.innerShadow,showInnerShadow),_defineProperty(_classnames,className,!!className),_classnames)),"aria-hidden":this.props['aria-hidden']},/*#__PURE__*/React.createElement("div",{className:styles.placeholderContent,"data-test-id":"placeHolder"},/*#__PURE__*/React.createElement(PlaceholderIcon,{className:styles.placeholder}))));}// Return the actual image.
27
+ return/*#__PURE__*/React.createElement(SurroundPortals,{portalName:PORTAL_PRODUCT_IMAGE},/*#__PURE__*/React.createElement("div",{"aria-hidden":this.props['aria-hidden'],className:"".concat(className," engage__product__product-image")},/*#__PURE__*/React.createElement(Image,_extends({},this.props,{className:showInnerShadow?styles.innerShadow:'',backgroundColor:noBackground?'transparent':colors.light,onError:this.imageLoadingFailed}))));}}]);return ProductImage;}(Component);_defineProperty(ProductImage,"defaultProps",{alt:null,animating:true,'aria-hidden':null,className:null,forcePlaceholder:false,highestResolutionLoaded:function highestResolutionLoaded(){},noBackground:false,ratio:null,resolutions:[{width:50,height:50,blur:2},{width:440,height:440}],src:null,srcmap:null,widgetSettings:{}});export{ProductImage as UnwrappedProductImage};export default withWidgetSettings(ProductImage,'@shopgate/engage/product/ProductImage');
@@ -1 +1 @@
1
- import React from'react';import{shallow}from'enzyme';import Image from'@shopgate/pwa-common/components/Image';import appConfig from'@shopgate/pwa-common/helpers/config';import PlaceholderIcon from'@shopgate/pwa-ui-shared/icons/PlaceholderIcon';import styles from"./style";import ProductImage from"./index";jest.unmock('@shopgate/pwa-core');jest.mock("../../../core/hocs/withWidgetSettings");jest.mock('@shopgate/pwa-common/helpers/config');jest.mock("./connector",function(){return function(Component){return Component;};});jest.mock('@shopgate/engage/components',function(){return{Image:function Image(){return null;}};});describe('<ProductImage />',function(){it('should render a placeholder if no src prop is provided',function(){var wrapper=shallow(React.createElement(ProductImage,null)).dive();expect(wrapper).toMatchSnapshot();expect(wrapper.find(Image).length).toBe(0);expect(wrapper.find(PlaceholderIcon).length).toBe(1);});it('should render the image without a placeholder',function(){var wrapper=shallow(React.createElement(ProductImage,{src:"http://placehold.it/300x300"})).dive();expect(wrapper).toMatchSnapshot();expect(wrapper.find(Image).length).toBe(1);expect(wrapper.find(PlaceholderIcon).length).toBe(0);});it('should not apply an inner shadow to the placeholder if turned off via the app config',function(){jest.spyOn(appConfig,'hideProductImageShadow','get').mockReturnValue(true);var wrapper=shallow(React.createElement(ProductImage,null)).dive();expect(wrapper).toMatchSnapshot();expect(wrapper.find(".".concat(styles.innerShadow)).length).toBe(0);});it('should not apply an inner shadow to the image if turned off via the app config',function(){jest.spyOn(appConfig,'hideProductImageShadow','get').mockReturnValue(true);var wrapper=shallow(React.createElement(ProductImage,{src:"http://placehold.it/300x300"})).dive();expect(wrapper).toMatchSnapshot();expect(wrapper.find(".".concat(styles.innerShadow)).length).toBe(0);});it('should not apply an inner shadow to the placeholder if turned off via the widget settings',function(){var wrapper=shallow(React.createElement(ProductImage,{widgetSettings:{showInnerShadow:false}})).dive();expect(wrapper).toMatchSnapshot();expect(wrapper.find(".".concat(styles.innerShadow)).length).toBe(0);});it('should not apply an inner shadow to the image if turned off via the widget settings',function(){var wrapper=shallow(React.createElement(ProductImage,{src:"http://placehold.it/300x300",widgetSettings:{showInnerShadow:false}}));expect(wrapper).toMatchSnapshot();expect(wrapper.find(".".concat(styles.innerShadow)).length).toBe(0);});it('should apply an inner shadow to the placeholder if turned off via the widget settings',function(){var wrapper=shallow(React.createElement(ProductImage,{widgetSettings:{showInnerShadow:true}})).dive();expect(wrapper).toMatchSnapshot();expect(wrapper.find(".".concat(styles.innerShadow)).length).toBe(1);});it('should apply an inner shadow to the image if turned off via the widget settings',function(){var wrapper=shallow(React.createElement(ProductImage,{src:"http://placehold.it/300x300",widgetSettings:{showInnerShadow:true}})).dive();expect(wrapper).toMatchSnapshot();expect(wrapper.find(".".concat(styles.innerShadow)).length).toBe(1);});});
1
+ import React from'react';import{shallow}from'enzyme';import Image from'@shopgate/pwa-common/components/Image';import appConfig from'@shopgate/pwa-common/helpers/config';import PlaceholderIcon from'@shopgate/pwa-ui-shared/icons/PlaceholderIcon';import styles from"./style";import ProductImage from"./index";jest.unmock('@shopgate/pwa-core');jest.mock("../../../core/hocs/withWidgetSettings");jest.mock('@shopgate/pwa-common/helpers/config');describe('<ProductImage />',function(){it('should render a placeholder if no src prop is provided',function(){var wrapper=shallow(/*#__PURE__*/React.createElement(ProductImage,null)).dive();expect(wrapper).toMatchSnapshot();expect(wrapper.find(Image).length).toBe(0);expect(wrapper.find(PlaceholderIcon).length).toBe(1);});it('should render the image without a placeholder',function(){var wrapper=shallow(/*#__PURE__*/React.createElement(ProductImage,{src:"http://placehold.it/300x300"})).dive();expect(wrapper).toMatchSnapshot();expect(wrapper.find(Image).length).toBe(1);expect(wrapper.find(PlaceholderIcon).length).toBe(0);});it('should not apply an inner shadow to the placeholder if turned off via the app config',function(){jest.spyOn(appConfig,'hideProductImageShadow','get').mockReturnValue(true);var wrapper=shallow(/*#__PURE__*/React.createElement(ProductImage,null)).dive();expect(wrapper).toMatchSnapshot();expect(wrapper.find(".".concat(styles.innerShadow)).length).toBe(0);});it('should not apply an inner shadow to the image if turned off via the app config',function(){jest.spyOn(appConfig,'hideProductImageShadow','get').mockReturnValue(true);var wrapper=shallow(/*#__PURE__*/React.createElement(ProductImage,{src:"http://placehold.it/300x300"})).dive();expect(wrapper).toMatchSnapshot();expect(wrapper.find(".".concat(styles.innerShadow)).length).toBe(0);});it('should not apply an inner shadow to the placeholder if turned off via the widget settings',function(){var wrapper=shallow(/*#__PURE__*/React.createElement(ProductImage,{widgetSettings:{showInnerShadow:false}})).dive();expect(wrapper).toMatchSnapshot();expect(wrapper.find(".".concat(styles.innerShadow)).length).toBe(0);});it('should not apply an inner shadow to the image if turned off via the widget settings',function(){var wrapper=shallow(/*#__PURE__*/React.createElement(ProductImage,{src:"http://placehold.it/300x300",widgetSettings:{showInnerShadow:false}}));expect(wrapper).toMatchSnapshot();expect(wrapper.find(".".concat(styles.innerShadow)).length).toBe(0);});it('should apply an inner shadow to the placeholder if turned off via the widget settings',function(){var wrapper=shallow(/*#__PURE__*/React.createElement(ProductImage,{widgetSettings:{showInnerShadow:true}})).dive();expect(wrapper).toMatchSnapshot();expect(wrapper.find(".".concat(styles.innerShadow)).length).toBe(1);});it('should apply an inner shadow to the image if turned off via the widget settings',function(){var wrapper=shallow(/*#__PURE__*/React.createElement(ProductImage,{src:"http://placehold.it/300x300",widgetSettings:{showInnerShadow:true}})).dive();expect(wrapper).toMatchSnapshot();expect(wrapper.find(".".concat(styles.innerShadow)).length).toBe(1);});});
@@ -1,5 +1,5 @@
1
- import React,{Fragment}from'react';import PropTypes from'prop-types';import Grid from'@shopgate/pwa-common/components/Grid';import Image from'@shopgate/pwa-common/components/Image';import Link from'@shopgate/pwa-common/components/Link';import{bin2hex}from'@shopgate/pwa-common/helpers/data';import Portal from'@shopgate/pwa-common/components/Portal';import*as portals from'@shopgate/pwa-common-commerce/category/constants/Portals';import{ITEM_PATH,AVAILABILITY_STATE_OK,AVAILABILITY_STATE_ALERT}from'@shopgate/pwa-common-commerce/product/constants/index';import DiscountBadge from'@shopgate/pwa-ui-shared/DiscountBadge';import Price from'@shopgate/pwa-ui-shared/Price';import PriceStriked from'@shopgate/pwa-ui-shared/PriceStriked';import Manufacturer from'@shopgate/pwa-ui-shared/Manufacturer';import{Availability}from'@shopgate/engage/components';import{PriceInfo,ProductName,ProductBadges}from'@shopgate/engage/product';import{i18n}from'@shopgate/engage/core';import styles from"./style";/**
1
+ import React,{Fragment}from'react';import PropTypes from'prop-types';import Grid from'@shopgate/pwa-common/components/Grid';import Image from'@shopgate/pwa-common/components/Image';import Link from'@shopgate/pwa-common/components/Link';import Ellipsis from'@shopgate/pwa-common/components/Ellipsis';import{bin2hex}from'@shopgate/pwa-common/helpers/data';import Portal from'@shopgate/pwa-common/components/Portal';import*as portals from'@shopgate/pwa-common-commerce/category/constants/Portals';import{ITEM_PATH}from'@shopgate/pwa-common-commerce/product/constants/index';import DiscountBadge from'@shopgate/pwa-ui-shared/DiscountBadge';import Price from'@shopgate/pwa-ui-shared/Price';import PriceStriked from'@shopgate/pwa-ui-shared/PriceStriked';import PriceInfo from'@shopgate/pwa-ui-shared/PriceInfo';import Manufacturer from'@shopgate/pwa-ui-shared/Manufacturer';import Availability from'@shopgate/pwa-ui-shared/Availability';import ProductBadges from"../../../ProductBadges";import styles from"./style";/**
2
2
  * The Product List Item component.
3
3
  * @param {Object} props The component props.
4
4
  * @return {JSX}
5
- */var Item=function Item(_ref){var display=_ref.display,product=_ref.product;return React.createElement(Link,{tagName:"a",href:"".concat(ITEM_PATH,"/").concat(bin2hex(product.id)),className:"".concat(styles.container," engage__product__product-list__item"),itemProp:"item",itemScope:true,itemType:"http://schema.org/Product"},React.createElement(Grid,{className:styles.listItemContainer},React.createElement(Grid.Item,{shrink:0,className:styles.imageContainer},React.createElement(Portal,{name:portals.PRODUCT_ITEM_IMAGE_BEFORE,props:{productId:product.id}}),React.createElement(Portal,{name:portals.PRODUCT_ITEM_IMAGE,props:{productId:product.id}},React.createElement(Image,{itemProp:"image",src:product.featuredImageBaseUrl,alt:product.name})),React.createElement(Portal,{name:portals.PRODUCT_ITEM_IMAGE_AFTER,props:{productId:product.id}}),React.createElement(ProductBadges,{location:"productList",productId:product.id},!!product.price.discount&&React.createElement(Fragment,null,React.createElement(Portal,{name:portals.PRODUCT_ITEM_DISCOUNT_BEFORE,props:{productId:product.id}}),React.createElement(Portal,{name:portals.PRODUCT_ITEM_DISCOUNT,props:{productId:product.id}},React.createElement(DiscountBadge,{className:styles.discount,text:"-".concat(product.price.discount,"%")})),React.createElement(Portal,{name:portals.PRODUCT_ITEM_DISCOUNT_AFTER,props:{productId:product.id}})))),React.createElement(Grid.Item,{grow:4,className:styles.titleContainer},React.createElement(ProductName,{name:product.name,portalName:portals.PRODUCT_ITEM_NAME,portalProps:{productId:product.id},itemProp:"name",testId:"Productname: ".concat(product.name)}),(!display||display.manufacturer&&product.manufacturer)&&React.createElement(Fragment,null,React.createElement(Portal,{name:portals.PRODUCT_ITEM_MANUFACTURER_BEFORE,props:{productId:product.id}}),React.createElement(Portal,{name:portals.PRODUCT_ITEM_MANUFACTURER,props:{productId:product.id}},React.createElement(Manufacturer,{text:product.manufacturer,className:styles.manufacturer})),React.createElement(Portal,{name:portals.PRODUCT_ITEM_MANUFACTURER_AFTER,props:{productId:product.id}})),product.availability&&React.createElement(Fragment,null,React.createElement(Portal,{name:portals.PRODUCT_ITEM_AVAILABILITY_BEFORE,props:{productId:product.id}}),React.createElement(Portal,{name:portals.PRODUCT_ITEM_AVAILABILITY,props:{productId:product.id}},React.createElement(Availability,{className:styles.availability,text:product.availability.text,state:product.availability.state})),React.createElement(Portal,{name:portals.PRODUCT_ITEM_AVAILABILITY_AFTER,props:{productId:product.id}})),(!product.availability||product.availability.state===AVAILABILITY_STATE_OK)&&React.createElement(Availability,{state:!product.stock||product.stock.orderable?AVAILABILITY_STATE_OK:AVAILABILITY_STATE_ALERT,text:i18n.text('product.available.not'),showWhenAvailable:false})),(!display||display.price)&&React.createElement(Fragment,null,React.createElement(Portal,{name:portals.PRODUCT_ITEM_PRICE_BEFORE,props:{productId:product.id,location:'productList'}}),React.createElement(Portal,{name:portals.PRODUCT_ITEM_PRICE,props:{productId:product.id,location:'productList'}},React.createElement(Grid.Item,{grow:1,className:styles.priceContainer},React.createElement(Portal,{name:portals.PRODUCT_ITEM_PRICE_INSIDE_BEFORE,props:{productId:product.id}}),React.createElement(Price,{className:styles.price,currency:product.price.currency,discounted:!!product.price.discount,unitPrice:product.price.unitPrice,unitPriceMin:product.price.unitPriceMin}),product.price.msrp>0&&product.price.unitPrice!==product.price.msrp&&React.createElement(PriceStriked,{value:product.price.msrp,currency:product.price.currency,className:styles.priceStriked}),!product.price.msrp&&product.price.unitPriceStriked>0&&React.createElement(PriceStriked,{value:product.price.unitPriceStriked,currency:product.price.currency,className:styles.priceStriked}),React.createElement(PriceInfo,{product:product,className:styles.priceInfo}),React.createElement(Portal,{name:portals.PRODUCT_ITEM_PRICE_INSIDE_AFTER,props:{productId:product.id}}))),React.createElement(Portal,{name:portals.PRODUCT_ITEM_PRICE_AFTER,props:{productId:product.id,location:'productList'}})),React.createElement(Grid.Item,{shrink:0,className:styles.favouriteContainer})));};Item.defaultProps={display:null};export default Item;
5
+ */var Item=function Item(_ref){var display=_ref.display,product=_ref.product;return/*#__PURE__*/React.createElement(Link,{tagName:"a",href:"".concat(ITEM_PATH,"/").concat(bin2hex(product.id)),className:"".concat(styles.container," engage__product__product-list__item"),itemProp:"item",itemScope:true,itemType:"http://schema.org/Product"},/*#__PURE__*/React.createElement(Grid,{className:styles.listItemContainer},/*#__PURE__*/React.createElement(Grid.Item,{shrink:0,className:styles.imageContainer},/*#__PURE__*/React.createElement(Portal,{name:portals.PRODUCT_ITEM_IMAGE_BEFORE,props:{productId:product.id}}),/*#__PURE__*/React.createElement(Portal,{name:portals.PRODUCT_ITEM_IMAGE,props:{productId:product.id}},/*#__PURE__*/React.createElement(Image,{itemProp:"image",src:product.featuredImageBaseUrl,alt:product.name})),/*#__PURE__*/React.createElement(Portal,{name:portals.PRODUCT_ITEM_IMAGE_AFTER,props:{productId:product.id}}),/*#__PURE__*/React.createElement(ProductBadges,{location:"productList",productId:product.id},!!product.price.discount&&/*#__PURE__*/React.createElement(Fragment,null,/*#__PURE__*/React.createElement(Portal,{name:portals.PRODUCT_ITEM_DISCOUNT_BEFORE,props:{productId:product.id}}),/*#__PURE__*/React.createElement(Portal,{name:portals.PRODUCT_ITEM_DISCOUNT,props:{productId:product.id}},/*#__PURE__*/React.createElement(DiscountBadge,{className:styles.discount,text:"-".concat(product.price.discount,"%")})),/*#__PURE__*/React.createElement(Portal,{name:portals.PRODUCT_ITEM_DISCOUNT_AFTER,props:{productId:product.id}})))),/*#__PURE__*/React.createElement(Grid.Item,{grow:4,className:styles.titleContainer},/*#__PURE__*/React.createElement(Fragment,null,/*#__PURE__*/React.createElement(Portal,{name:portals.PRODUCT_ITEM_NAME_BEFORE,props:{productId:product.id}}),/*#__PURE__*/React.createElement(Portal,{name:portals.PRODUCT_ITEM_NAME,props:{productId:product.id}},/*#__PURE__*/React.createElement("div",{itemProp:"name","data-test-id":"Productname: ".concat(product.name)},/*#__PURE__*/React.createElement(Ellipsis,null,product.name))),/*#__PURE__*/React.createElement(Portal,{name:portals.PRODUCT_ITEM_NAME_AFTER,props:{productId:product.id}})),(!display||display.manufacturer&&product.manufacturer)&&/*#__PURE__*/React.createElement(Fragment,null,/*#__PURE__*/React.createElement(Portal,{name:portals.PRODUCT_ITEM_MANUFACTURER_BEFORE,props:{productId:product.id}}),/*#__PURE__*/React.createElement(Portal,{name:portals.PRODUCT_ITEM_MANUFACTURER,props:{productId:product.id}},/*#__PURE__*/React.createElement(Manufacturer,{text:product.manufacturer,className:styles.manufacturer})),/*#__PURE__*/React.createElement(Portal,{name:portals.PRODUCT_ITEM_MANUFACTURER_AFTER,props:{productId:product.id}})),product.availability&&/*#__PURE__*/React.createElement(Fragment,null,/*#__PURE__*/React.createElement(Portal,{name:portals.PRODUCT_ITEM_AVAILABILITY_BEFORE,props:{productId:product.id}}),/*#__PURE__*/React.createElement(Portal,{name:portals.PRODUCT_ITEM_AVAILABILITY,props:{productId:product.id}},/*#__PURE__*/React.createElement(Availability,{className:styles.availability,text:product.availability.text,state:product.availability.state})),/*#__PURE__*/React.createElement(Portal,{name:portals.PRODUCT_ITEM_AVAILABILITY_AFTER,props:{productId:product.id}}))),(!display||display.price)&&/*#__PURE__*/React.createElement(Fragment,null,/*#__PURE__*/React.createElement(Portal,{name:portals.PRODUCT_ITEM_PRICE_BEFORE,props:{productId:product.id,location:'productList'}}),/*#__PURE__*/React.createElement(Portal,{name:portals.PRODUCT_ITEM_PRICE,props:{productId:product.id,location:'productList'}},/*#__PURE__*/React.createElement(Grid.Item,{grow:1,className:styles.priceContainer},/*#__PURE__*/React.createElement(Portal,{name:portals.PRODUCT_ITEM_PRICE_INSIDE_BEFORE,props:{productId:product.id}}),/*#__PURE__*/React.createElement(Price,{className:styles.price,currency:product.price.currency,discounted:!!product.price.discount,unitPrice:product.price.unitPrice,unitPriceMin:product.price.unitPriceMin}),product.price.msrp>0&&product.price.unitPrice!==product.price.msrp&&/*#__PURE__*/React.createElement(PriceStriked,{value:product.price.msrp,currency:product.price.currency,className:styles.priceStriked}),!product.price.msrp&&product.price.unitPriceStriked>0&&/*#__PURE__*/React.createElement(PriceStriked,{value:product.price.unitPriceStriked,currency:product.price.currency,className:styles.priceStriked}),product.price.info&&/*#__PURE__*/React.createElement(PriceInfo,{text:product.price.info,className:styles.priceInfo}),/*#__PURE__*/React.createElement(Portal,{name:portals.PRODUCT_ITEM_PRICE_INSIDE_AFTER,props:{productId:product.id}}))),/*#__PURE__*/React.createElement(Portal,{name:portals.PRODUCT_ITEM_PRICE_AFTER,props:{productId:product.id,location:'productList'}})),/*#__PURE__*/React.createElement(Grid.Item,{shrink:0,className:styles.favouriteContainer})));};Item.defaultProps={display:null};export default Item;
@@ -2,4 +2,4 @@ import React from'react';import PropTypes from'prop-types';import List from'@sho
2
2
  * The Product List Iterator component.
3
3
  * @param {Object} props The component props.
4
4
  * @return {JSX}
5
- */var Iterator=function Iterator(props){return React.createElement(List.Item,{key:props.id,itemProp:"itemListElement",itemScope:true,itemType:"http://schema.org/ListItem",className:styles.item},React.createElement(ProductListEntryProvider,{productId:props.id},React.createElement(Portal,{name:portals.PRODUCT_ITEM_BEFORE,props:{productId:props.id}}),React.createElement(Portal,{name:portals.PRODUCT_ITEM,props:{productId:props.id}},React.createElement(Item,{product:props,display:props.display})),React.createElement(Portal,{name:portals.PRODUCT_ITEM_AFTER,props:{productId:props.id}})));};Iterator.defaultProps={display:null};export default Iterator;
5
+ */var Iterator=function Iterator(props){return/*#__PURE__*/React.createElement(List.Item,{key:props.id,itemProp:"itemListElement",itemScope:true,itemType:"http://schema.org/ListItem",className:styles.item},/*#__PURE__*/React.createElement(ProductListEntryProvider,{productId:props.id},/*#__PURE__*/React.createElement(Portal,{name:portals.PRODUCT_ITEM_BEFORE,props:{productId:props.id}}),/*#__PURE__*/React.createElement(Portal,{name:portals.PRODUCT_ITEM,props:{productId:props.id}},/*#__PURE__*/React.createElement(Item,{product:props,display:props.display})),/*#__PURE__*/React.createElement(Portal,{name:portals.PRODUCT_ITEM_AFTER,props:{productId:props.id}})));};Iterator.defaultProps={display:null};export default Iterator;
@@ -2,4 +2,4 @@ import React from'react';import PropTypes from'prop-types';import List from'@sho
2
2
  * The Product List Layout component.
3
3
  * @param {Object} props The component props.
4
4
  * @return {JSX}
5
- */var Layout=function Layout(_ref){var children=_ref.children;return React.createElement(List,{className:"".concat(styles.list," engage__product__product-list"),itemScope:true,itemType:"http://schema.org/ItemList","data-test-id":"productList"},children);};Layout.defaultProps={children:null};export default Layout;
5
+ */var Layout=function Layout(_ref){var children=_ref.children;return/*#__PURE__*/React.createElement(List,{className:"".concat(styles.list," engage__product__product-list"),itemScope:true,itemType:"http://schema.org/ItemList","data-test-id":"productList"},children);};Layout.defaultProps={children:null};export default Layout;
@@ -1,5 +1,5 @@
1
- function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};return _extends.apply(this,arguments);}import React from'react';import PropTypes from'prop-types';import{ITEMS_PER_LOAD}from'@shopgate/pwa-common/constants/DisplayOptions';import InfiniteContainer from'@shopgate/pwa-common/components/InfiniteContainer';import LoadingIndicator from'@shopgate/pwa-ui-shared/LoadingIndicator';import{ViewContext}from'@shopgate/engage/components/View';import{ProductListTypeProvider}from'@shopgate/engage/product';import Iterator from"./components/Iterator";import Layout from"./components/Layout";/**
1
+ function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};return _extends.apply(this,arguments);}import React from'react';import PropTypes from'prop-types';import{ProductListTypeProvider}from'@shopgate/engage/product';import{ITEMS_PER_LOAD}from'@shopgate/pwa-common/constants/DisplayOptions';import InfiniteContainer from'@shopgate/pwa-common/components/InfiniteContainer';import LoadingIndicator from'@shopgate/pwa-ui-shared/LoadingIndicator';import{ViewContext}from'@shopgate/engage/components/View';import Iterator from"./components/Iterator";import Layout from"./components/Layout";/**
2
2
  * The Product List component.
3
3
  * @param {Object} props The component props.
4
4
  * @returns {JSX}
5
- */var ProductList=function ProductList(_ref){var flags=_ref.flags,infiniteLoad=_ref.infiniteLoad,handleGetProducts=_ref.handleGetProducts,products=_ref.products,totalProductCount=_ref.totalProductCount,requestHash=_ref.requestHash,scope=_ref.scope;if(!infiniteLoad){return React.createElement(Layout,null,React.createElement(ProductListTypeProvider,{type:"productList",subType:scope},products.map(function(product){return React.createElement(Iterator,_extends({display:flags,id:product.id,key:product.id},product));})));}return React.createElement(ViewContext.Consumer,null,function(_ref2){var getContentRef=_ref2.getContentRef;return React.createElement(ProductListTypeProvider,{type:"productList",subType:scope},React.createElement(InfiniteContainer,{containerRef:getContentRef(),wrapper:Layout,iterator:Iterator,loader:handleGetProducts,items:products,loadingIndicator:React.createElement(LoadingIndicator,null),totalItems:totalProductCount,initialLimit:10,limit:ITEMS_PER_LOAD,requestHash:requestHash,enablePromiseBasedLoading:true}));});};ProductList.defaultProps={flags:null,handleGetProducts:function handleGetProducts(){},infiniteLoad:true,products:null,requestHash:null,totalProductCount:null,scope:null};export default ProductList;
5
+ */var ProductList=function ProductList(_ref){var flags=_ref.flags,infiniteLoad=_ref.infiniteLoad,handleGetProducts=_ref.handleGetProducts,products=_ref.products,totalProductCount=_ref.totalProductCount,requestHash=_ref.requestHash,scope=_ref.scope;if(!infiniteLoad){return/*#__PURE__*/React.createElement(Layout,null,/*#__PURE__*/React.createElement(ProductListTypeProvider,{type:"productList",subType:scope},products.map(function(product){return/*#__PURE__*/React.createElement(Iterator,_extends({display:flags,id:product.id,key:product.id},product));})));}return/*#__PURE__*/React.createElement(ViewContext.Consumer,null,function(_ref2){var getContentRef=_ref2.getContentRef;return/*#__PURE__*/React.createElement(ProductListTypeProvider,{type:"productList",subType:scope},/*#__PURE__*/React.createElement(InfiniteContainer,{containerRef:getContentRef(),wrapper:Layout,iterator:Iterator,loader:handleGetProducts,items:products,loadingIndicator:/*#__PURE__*/React.createElement(LoadingIndicator,null),totalItems:totalProductCount,initialLimit:10,limit:ITEMS_PER_LOAD,requestHash:requestHash,enablePromiseBasedLoading:true}));});};ProductList.defaultProps={flags:null,handleGetProducts:function handleGetProducts(){},infiniteLoad:true,products:null,requestHash:null,totalProductCount:null,scope:null};export default ProductList;
@@ -1,8 +1,8 @@
1
- import React,{useMemo}from'react';import PropTypes from'prop-types';import{isBeta}from'@shopgate/engage/core/helpers';import{getGroupsFromProperties}from"./helpers/getGroupsFromProperties";import GroupedProperties from"./GroupedProperties";import Wrapper from"./Wrapper";import Rows from"./Rows";import{groupsContainer}from"./style";/**
1
+ import React from'react';import PropTypes from'prop-types';import{isBeta}from"../../../core";import{getGroupsFromProperties}from"./helpers/getGroupsFromProperties";import GroupedProperties from"./GroupedProperties";import Wrapper from"./Wrapper";import Rows from"./Rows";import{groupsContainer}from"./style";/**
2
2
  * @param {Object} props The component props.
3
3
  * @returns {JSX}
4
- */var Content=function Content(_ref){var properties=_ref.properties;var groups=useMemo(function(){return getGroupsFromProperties(properties);},[properties]);if(!properties){return null;}// Display the simple properties if no groups exist or if not in beta mode.
5
- if(!isBeta()||!groups||groups.length===0){return React.createElement(Wrapper,null,React.createElement(Rows,{properties:properties}));}/*
4
+ */var Content=function Content(_ref){var properties=_ref.properties;if(!properties){return null;}var groups=getGroupsFromProperties(properties);// Display the simple properties if no groups exist or if not in beta mode.
5
+ if(!isBeta()||!groups||groups.length===0){return/*#__PURE__*/React.createElement(Wrapper,null,/*#__PURE__*/React.createElement(Rows,{properties:properties}));}/*
6
6
  This feature is currently in BETA testing.
7
7
  It should only be used for approved BETA Client Projects
8
- */return React.createElement("div",{className:"".concat(groupsContainer," engage__product__product-properties")},React.createElement(GroupedProperties,{groups:groups}));};Content.defaultProps={properties:null};export default Content;
8
+ */return/*#__PURE__*/React.createElement("div",{className:"".concat(groupsContainer," engage__product__product-properties")},/*#__PURE__*/React.createElement(GroupedProperties,{properties:properties,groups:groups}));};Content.defaultProps={properties:null};export default Content;
@@ -2,4 +2,4 @@ import React from'react';import PropTypes from'prop-types';import{subgroup}from"
2
2
  * Renders a product properties group header.
3
3
  * @param {Object} props The component props.
4
4
  * @return {JSX}
5
- */var Group=function Group(_ref){var group=_ref.group;return React.createElement("tr",null,React.createElement("td",{colSpan:"2",className:subgroup},React.createElement("span",{dangerouslySetInnerHTML:{__html:group}})));};export default React.memo(Group);
5
+ */var Group=function Group(_ref){var group=_ref.group;return/*#__PURE__*/React.createElement("tr",null,/*#__PURE__*/React.createElement("td",{colSpan:"2",className:subgroup},group));};export default/*#__PURE__*/React.memo(Group);
@@ -1,5 +1,5 @@
1
- import React from'react';import PropTypes from'prop-types';import{Accordion}from'@shopgate/pwa-ui-material';import{i18n}from'@shopgate/engage/core/helpers';import Lists from"./Lists";import ListsHTML from"./ListsHTML";import Wrapper from"./Wrapper";import{accordion}from"./style";/**
1
+ import React from'react';import PropTypes from'prop-types';import{Accordion}from'@shopgate/pwa-ui-material';import{i18n}from'@shopgate/engage/core';import Lists from"./Lists";import Wrapper from"./Wrapper";import{accordion}from"./style";/**
2
2
  * Renders the properties as groups.
3
3
  * @param {Object} props The component props.
4
4
  * @returns {JSX}
5
- */var GroupedProperties=function GroupedProperties(_ref){var groups=_ref.groups;return groups.map(function(group){return React.createElement("div",{key:group.key,className:accordion},React.createElement(Accordion,{renderLabel:function renderLabel(){return group.label||i18n.text("product.displayGroups.".concat(group.key));},testId:"product-properties-group-".concat(!group.label?group.key:"".concat(group.key,"-").concat(group.label))},React.createElement(Wrapper,{dense:true,groupName:group.label||group.key,htmlOnly:group.htmlOnly},group.htmlOnly?React.createElement(ListsHTML,{properties:group.properties}):React.createElement(Lists,{properties:group.properties}))));});};export default GroupedProperties;
5
+ */var GroupedProperties=function GroupedProperties(_ref){var properties=_ref.properties,groups=_ref.groups;return groups.map(function(group){return/*#__PURE__*/React.createElement("div",{key:group,className:accordion},/*#__PURE__*/React.createElement(Accordion,{renderLabel:function renderLabel(){return i18n.text("product.displayGroups.".concat(group));},testId:"product-properties-group-".concat(group)},/*#__PURE__*/React.createElement(Wrapper,{dense:true},/*#__PURE__*/React.createElement(Lists,{properties:properties.filter(function(property){return property.displayGroup===group;})}))));});};export default GroupedProperties;
@@ -2,4 +2,4 @@ import React from'react';import PropTypes from'prop-types';import{getSubgroupsFr
2
2
  * Renders lists of properties that are eventually grouped.
3
3
  * @param {Object} props The component props.
4
4
  * @return {JSX}
5
- */var Lists=function Lists(_ref){var properties=_ref.properties;return React.createElement(React.Fragment,null,React.createElement(Rows,{properties:getPropertiesWithoutSubgroup(properties)}),getSubgroupsFromProperties(properties).map(function(group){return React.createElement(React.Fragment,{key:group},React.createElement(Group,{group:group}),React.createElement(Rows,{properties:getPropertiesBySubgroup(properties,group)}));}));};export default Lists;
5
+ */var Lists=function Lists(_ref){var properties=_ref.properties;return/*#__PURE__*/React.createElement(React.Fragment,null,/*#__PURE__*/React.createElement(Rows,{properties:getPropertiesWithoutSubgroup(properties)}),getSubgroupsFromProperties(properties).map(function(group){return/*#__PURE__*/React.createElement(React.Fragment,{key:group},/*#__PURE__*/React.createElement(Group,{group:group}),/*#__PURE__*/React.createElement(Rows,{properties:getPropertiesBySubgroup(properties,group)}));}));};export default Lists;
@@ -1,5 +1,5 @@
1
- import React from'react';import PropTypes from'prop-types';import{PRODUCT_PROPERTIES}from'@shopgate/engage/product/constants';import{SurroundPortals}from'@shopgate/engage/components';import Content from"./Content";import connect from"./connector";/**
1
+ import React from'react';import PropTypes from'prop-types';import{PRODUCT_PROPERTIES}from'@shopgate/pwa-common-commerce/product/constants/Portals';import{SurroundPortals}from"../../../components";import Content from"./Content";import connect from"./connector";/**
2
2
  * Renders the product properties.
3
3
  * @param {Object} props The component props.
4
4
  * @returns {JSX.Element}
5
- */var ProductProperties=function ProductProperties(_ref){var properties=_ref.properties;return React.createElement(SurroundPortals,{portalName:PRODUCT_PROPERTIES,portalProps:{properties:properties}},React.createElement(Content,{properties:properties}));};ProductProperties.defaultProps={properties:null};export default connect(ProductProperties);
5
+ */var ProductProperties=function ProductProperties(_ref){var properties=_ref.properties;return/*#__PURE__*/React.createElement(SurroundPortals,{portalName:PRODUCT_PROPERTIES,portalProps:{properties:properties}},/*#__PURE__*/React.createElement(Content,{properties:properties}));};ProductProperties.defaultProps={properties:null};export default connect(ProductProperties);
@@ -2,4 +2,4 @@ import React from'react';import PropTypes from'prop-types';import{tableCell}from
2
2
  * Renders a single properties row.
3
3
  * @param {Object} props The component props.
4
4
  * @return {JSX.Element}
5
- */var Row=function Row(_ref){var label=_ref.label,value=_ref.value,type=_ref.type;return React.createElement("tr",{className:"engage__product__product-property","data-type":type,"data-label":label,"aria-label":"".concat(typeof label==='string'?label:'',": ").concat(typeof value==='string'?value:''),tabIndex:0},React.createElement("td",{className:tableCell,"aria-hidden":true},React.createElement("span",{dangerouslySetInnerHTML:{__html:label}})),React.createElement("td",{className:tableCell,"data-test-id":"property: ".concat(value),"aria-hidden":true},React.createElement("span",{dangerouslySetInnerHTML:{__html:value}})));};Row.defaultProps={type:null};export default React.memo(Row);
5
+ */var Row=function Row(_ref){var label=_ref.label,value=_ref.value;return/*#__PURE__*/React.createElement("tr",{key:"".concat(label).concat(value)},/*#__PURE__*/React.createElement("td",{className:tableCell},label),/*#__PURE__*/React.createElement("td",{className:tableCell,"data-test-id":"property: ".concat(value)},value));};export default/*#__PURE__*/React.memo(Row);
@@ -1,5 +1,5 @@
1
- import React from'react';import PropTypes from'prop-types';import Row from"./Row";import RowHTML from"./RowHTML";/**
1
+ import React from'react';import PropTypes from'prop-types';import Row from"./Row";/**
2
2
  * Renders rows of product properties.
3
3
  * @param {Object} props The component props.
4
4
  * @returns {JSX.Element}
5
- */var Rows=function Rows(_ref){var properties=_ref.properties;return properties.map(function(_ref2){var value=_ref2.value,label=_ref2.label,type=_ref2.type;if(type==='html'){return React.createElement(RowHTML,{key:label,value:value,label:label});}return React.createElement(Row,{key:"".concat(label,"-").concat(value),label:label,value:value,type:type});});};export default React.memo(Rows);
5
+ */var Rows=function Rows(_ref){var properties=_ref.properties;return properties.map(function(_ref2){var value=_ref2.value,label=_ref2.label;return/*#__PURE__*/React.createElement(Row,{key:"".concat(label,"-").concat(value),label:label,value:value});});};export default/*#__PURE__*/React.memo(Rows);
@@ -2,4 +2,4 @@ function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj
2
2
  * Renders the general properties wrapper table.
3
3
  * @param {Object} props The component props.
4
4
  * @returns {JSX.Element}
5
- */var Wrapper=function Wrapper(_ref){var children=_ref.children,dense=_ref.dense,groupName=_ref.groupName,htmlOnly=_ref.htmlOnly;return React.createElement("div",{className:cxs('engage__product__product-property-group',_defineProperty(_defineProperty({},container,!dense),containerDense,dense)),"data-group-name":groupName.toLowerCase()},htmlOnly?children:React.createElement("table",null,React.createElement("thead",null),React.createElement("tbody",null,children)));};Wrapper.defaultProps={dense:false,htmlOnly:false,groupName:''};export default React.memo(Wrapper);
5
+ */var Wrapper=function Wrapper(_ref){var _cxs;var children=_ref.children,dense=_ref.dense;return/*#__PURE__*/React.createElement("div",{className:cxs('engage__product__product-properties',(_cxs={},_defineProperty(_cxs,container,!dense),_defineProperty(_cxs,containerDense,dense),_cxs))},/*#__PURE__*/React.createElement("table",null,/*#__PURE__*/React.createElement("thead",null),/*#__PURE__*/React.createElement("tbody",null,children)));};Wrapper.defaultProps={dense:false};export default/*#__PURE__*/React.memo(Wrapper);
@@ -1,10 +1,5 @@
1
- function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};return _extends.apply(this,arguments);}/**
1
+ /**
2
2
  * Collects all display groups from the properties.
3
3
  * @param {Array} [properties=null] The properties to parse.
4
4
  * @returns {Array}
5
- */export function getGroupsFromProperties(){var properties=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;var groups=[];if(properties===null){return groups;}properties.forEach(function(property){if(!property.displayGroup){// Do not proceed when not displayGroup is available
6
- return;}var key=property.displayGroup;var label=null;if(property.displayGroup==='custom'){key="".concat(property.displayGroup,"-").concat(property.customDisplayGroupName);if(property.customDisplayGroupName){label=property.customDisplayGroupName;}}// Check if the groups array already contains a group with the key
7
- var existingGroup=groups.find(function(group){return group.key===key;});if(!existingGroup){// Add a new group storage when there isn't one already
8
- existingGroup={key:key,label:label,properties:[]};groups.push(existingGroup);}// Add current property to the storage
9
- existingGroup.properties.push(property);});return groups.map(function(group){return _extends({},group,{// Check if the current group just contains html properties to allow special handling
10
- htmlOnly:group.properties.length?group.properties.every(function(_ref){var type=_ref.type;return type==='html';}):false});});}
5
+ */export function getGroupsFromProperties(){var properties=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;var groups=[];if(properties===null){return groups;}properties.forEach(function(property){if(property.displayGroup&&!groups.includes(property.displayGroup)){groups.push(property.displayGroup);}});return groups;}
@@ -1 +1 @@
1
- import{css}from'glamor';import{themeConfig}from'@shopgate/pwa-common/helpers/config';var _themeConfig$variable=themeConfig.variables,_themeConfig$variable2=_themeConfig$variable===void 0?{}:_themeConfig$variable,gap=_themeConfig$variable2.gap,_themeConfig$colors=themeConfig.colors,colors=_themeConfig$colors===void 0?{}:_themeConfig$colors;export var container=css({fontSize:'0.875rem',padding:"0 ".concat(gap.big,"px ").concat(gap.big,"px"),marginBottom:gap.small*1.5});export var containerDense=css(container,{padding:0,marginBottom:0});export var groupsContainer=css({borderBottom:"3px solid ".concat(colors.background),marginBottom:gap.small*1.5});export var label=css({paddingBottom:gap.small*1.5});export var tableCell=css({maxWidth:100,padding:"".concat(gap.xsmall*0.5,"px ").concat(gap.small,"px"),overflowWrap:'break-word',':first-of-type':{paddingLeft:0},':last-of-type':{paddingRight:0}});export var accordion=css({borderTop:"3px solid ".concat(colors.background)});export var subgroup=css({paddingTop:gap.small,fontWeight:600,textTransform:'uppercase',fontSize:'0.75rem'});
1
+ import{css}from'glamor';import{themeConfig}from'@shopgate/pwa-common/helpers/config';var _themeConfig$variable=themeConfig.variables;_themeConfig$variable=_themeConfig$variable===void 0?{}:_themeConfig$variable;var gap=_themeConfig$variable.gap,_themeConfig$colors=themeConfig.colors,colors=_themeConfig$colors===void 0?{}:_themeConfig$colors;export var container=css({fontSize:'0.875rem',padding:"0 ".concat(gap.big,"px ").concat(gap.big,"px"),marginBottom:gap.small*1.5});export var containerDense=css(container,{padding:0,marginBottom:0});export var groupsContainer=css({borderBottom:"3px solid ".concat(colors.background),marginBottom:gap.small*1.5});export var label=css({paddingBottom:gap.small*1.5});export var tableCell=css({maxWidth:100,padding:"".concat(gap.xsmall*0.5,"px ").concat(gap.small,"px"),overflowWrap:'break-word',':first-of-type':{paddingLeft:0},':last-of-type':{paddingRight:0}});export var accordion=css({borderTop:"3px solid ".concat(colors.background)});export var subgroup=css({paddingTop:gap.small,fontWeight:600,textTransform:'uppercase',fontSize:'0.75rem'});
@@ -1,4 +1,4 @@
1
1
  function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};return _extends.apply(this,arguments);}import React,{useEffect}from'react';import PropTypes from'prop-types';import connect from"./connector";/**
2
2
  * The ProductProvider component.
3
3
  * @return {JSX}
4
- */var ProductProvider=function ProductProvider(_ref){var children=_ref.children,productId=_ref.productId,provideProduct=_ref.provideProduct,product=_ref.product;useEffect(function(){if(!product){provideProduct(productId);}},[provideProduct,product,productId]);var props={productId:productId,product:product};if(typeof children==='function'){return children(props);}return React.cloneElement(children,_extends({},props,{},children.props));};ProductProvider.defaultProps={product:null};export default connect(ProductProvider);
4
+ */var ProductProvider=function ProductProvider(_ref){var children=_ref.children,productId=_ref.productId,provideProduct=_ref.provideProduct,product=_ref.product;useEffect(function(){if(!product){provideProduct(productId);}},[provideProduct,product,productId]);var props={productId:productId,product:product};if(typeof children==='function'){return children(props);}return/*#__PURE__*/React.cloneElement(children,_extends({},props,children.props));};ProductProvider.defaultProps={product:null};export default connect(ProductProvider);
@@ -1,5 +1,4 @@
1
- function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};return _extends.apply(this,arguments);}import React from'react';import PropTypes from'prop-types';import{useWidgetSettings}from'@shopgate/engage/core';import{useThemeComponents}from'@shopgate/engage/core/hooks';import{Swiper}from'@shopgate/engage/components';import{ProductListTypeProvider,ProductListEntryProvider}from'@shopgate/engage/product/providers';import{container,items}from"./style";export var WIDGET_ID='@shopgate/engage/product/ProductSlider';/**
1
+ import React from'react';import PropTypes from'prop-types';import{useWidgetSettings}from'@shopgate/engage/core';import{Swiper}from'@shopgate/engage/components';import{ProductListTypeProvider,ProductListEntryProvider}from'@shopgate/engage/product';import{Theme}from'@shopgate/pwa-common/context';import{container,items}from"./style";export var WIDGET_ID='@shopgate/engage/product/ProductSlider';/**
2
2
  * @param {Object} props The component props.
3
3
  * @returns {JSX}
4
- */function ProductSlider(props){var autoplay=props.autoplay,className=props.className,delay=props.delay,productIds=props.productIds,snap=props.snap,scope=props.scope,meta=props.meta;var widgetSettings=useWidgetSettings(WIDGET_ID)||{};var _ref=props.slidesPerView?props:widgetSettings,_ref$slidesPerView=_ref.slidesPerView,slidesPerView=_ref$slidesPerView===void 0?2.3:_ref$slidesPerView;// ProductSlider items are rendered with the ProductCard component provided by the theme.
5
- var _useThemeComponents=useThemeComponents(),ProductCard=_useThemeComponents.ProductCard;var Item=props.item||ProductCard;return React.createElement(ProductListTypeProvider,{type:"productSlider",subType:scope,meta:meta},React.createElement(Swiper,_extends({},autoplay&&{autoplay:{delay:delay}},{className:"".concat(className," engage__product__product-slider"),controls:false,indicators:false,loop:false,freeMode:!snap,slidesPerView:slidesPerView}),productIds.map(function(id){return React.createElement(Swiper.Item,{key:id,className:container},React.createElement(ProductListEntryProvider,{productId:id},React.createElement(Item,{productId:id,style:items})));})));}ProductSlider.WIDGET_ID=WIDGET_ID;ProductSlider.defaultProps={autoplay:false,className:null,delay:10,item:null,slidesPerView:null,snap:false,scope:null,meta:null};export default ProductSlider;
4
+ */function ProductSlider(props){var autoplay=props.autoplay,className=props.className,delay=props.delay,productIds=props.productIds,snap=props.snap,scope=props.scope;var widgetSettings=useWidgetSettings(WIDGET_ID)||{};var _ref=props.slidesPerView?props:widgetSettings,_ref$slidesPerView=_ref.slidesPerView,slidesPerView=_ref$slidesPerView===void 0?2.3:_ref$slidesPerView;return/*#__PURE__*/React.createElement(Theme,null,function(_ref2){var ProductCard=_ref2.ProductCard;var Item=props.item||ProductCard;return/*#__PURE__*/React.createElement(ProductListTypeProvider,{type:"productSlider",subType:scope},/*#__PURE__*/React.createElement(Swiper,{autoPlay:autoplay,className:"".concat(className," engage__product__product-slider"),controls:false,indicators:false,interval:delay,loop:false,freeMode:!snap,slidesPerView:slidesPerView},productIds.map(function(id){return/*#__PURE__*/React.createElement(Swiper.Item,{key:id,className:container},/*#__PURE__*/React.createElement(ProductListEntryProvider,{productId:id},/*#__PURE__*/React.createElement(Item,{productId:id,style:items})));})));});}ProductSlider.defaultProps={autoplay:false,className:null,delay:10,item:null,slidesPerView:null,snap:false,scope:null};export default ProductSlider;
@@ -1 +1 @@
1
- /* eslint-disable require-jsdoc */import React from'react';import{shallow}from'enzyme';import ProductSlider from"./index";jest.mock('@shopgate/engage/core',function(){return{useWidgetSettings:jest.fn()};});jest.mock('@shopgate/engage/components',function(){var Swiper=function Swiper(_ref){var children=_ref.children;return children;};Swiper.Item=function(_ref2){var children=_ref2.children;return children;};Swiper.Item.displayName='Swiper.Item';return{Swiper:Swiper};});jest.mock('@shopgate/engage/core/hooks',function(){var ProductCard=function ProductCard(props){return React.createElement(ProductCard,props);};return{useThemeComponents:function useThemeComponents(){return{ProductCard:ProductCard};}};});describe('<ProductSlider />',function(){it('should match snapshot',function(){var wrapper=shallow(React.createElement(ProductSlider,{productIds:['prod1']}));expect(wrapper).toMatchSnapshot();});});/* eslint-enable require-jsdoc */
1
+ /* eslint-disable require-jsdoc */import React from'react';import{shallow}from'enzyme';import ProductSlider from"./index";jest.mock('@shopgate/engage/core',function(){return{useWidgetSettings:jest.fn()};});jest.mock('@shopgate/engage/components',function(){var Swiper=function Swiper(_ref){var children=_ref.children;return children;};Swiper.Item=function(_ref2){var children=_ref2.children;return children;};Swiper.Item.displayName='Swiper.Item';return{Swiper:Swiper};});jest.mock('@shopgate/engage/product',function(){return{ProductListTypeProvider:function ProductListTypeProvider(_ref3){var children=_ref3.children;return children;}};});jest.mock('@shopgate/pwa-common/context',function(){var ProductCard=function ProductCard(props){return/*#__PURE__*/React.createElement(ProductCard,props);};return{Theme:function Theme(_ref4){var children=_ref4.children;return children({ProductCard:ProductCard});}};});describe('<ProductSlider />',function(){it('should match snapshot',function(){var wrapper=shallow(/*#__PURE__*/React.createElement(ProductSlider,{productIds:['prod1']})).dive();expect(wrapper).toMatchSnapshot();});});/* eslint-enable require-jsdoc */
@@ -0,0 +1,5 @@
1
+ import{useWidgetSettings}from"../../../core";/**
2
+ * @param {Object} [productStock={}] product.stock object
3
+ * @returns {Object}
4
+ */export var getQuantityRange=function getQuantityRange(){var productStock=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};var settings=useWidgetSettings('@shopgate/engage/product/QuantityPicker');var min=settings.minOrderQuantity;if(productStock.minOrderQuantity>0){min=productStock.minOrderQuantity;}var max=settings.maxOrderQuantity;if(productStock.maxOrderQuantity>0){max=Math.min(Math.max(min,settings.maxOrderQuantity),productStock.maxOrderQuantity);}// Normalize min if max is finally less then min
5
+ min=Math.min(min,max);return{min:min,max:max};};
@@ -1,8 +1,7 @@
1
- function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_nonIterableRest();}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance");}function _iterableToArrayLimit(arr,i){var _arr=[];var _n=true;var _d=false;var _e=undefined;try{for(var _i=arr[Symbol.iterator](),_s;!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break;}}catch(err){_d=true;_e=err;}finally{try{if(!_n&&_i["return"]!=null)_i["return"]();}finally{if(_d)throw _e;}}return _arr;}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr;}import React,{useState,useEffect}from'react';import PropTypes from'prop-types';import{css}from'glamor';import{logger}from"../../../core/helpers";import{useWidgetStyles}from"../../../core/hooks";import{I18n,SheetDrawer,SheetList}from"../../../components";import{useQuantityRange}from"./hooks";var deprecationWarning='QuantityPicker is deprecated in favor of the UnitQuantityPicker component.\nUnitQuantityPicker now additionally supports units and floating point values.';/** */function triggerDeprecation(){if(deprecationWarning){logger.warn(deprecationWarning);deprecationWarning=null;}}/**
1
+ function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_unsupportedIterableToArray(arr,i)||_nonIterableRest();}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen);}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i];}return arr2;}function _iterableToArrayLimit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break;}}catch(err){_d=true;_e=err;}finally{try{if(!_n&&_i["return"]!=null)_i["return"]();}finally{if(_d)throw _e;}}return _arr;}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr;}import React,{useState,useEffect}from'react';import PropTypes from'prop-types';import{css}from'glamor';import{useWidgetStyles}from"../../../core";import{I18n,SheetDrawer,SheetList}from"../../../components";import{getQuantityRange}from"./helpers";/**
2
2
  * The QuantityPicker component.
3
- * @deprecated Use UnitQuantityPicker to also support different units for quantity.
4
3
  * @returns {JSX}
5
- */var QuantityPicker=function QuantityPicker(_ref){var conditioner=_ref.conditioner,setQuantity=_ref.setQuantity,stock=_ref.stock;triggerDeprecation();var _useState=useState(false),_useState2=_slicedToArray(_useState,2),opened=_useState2[0],setOpened=_useState2[1];var _useState3=useState(null),_useState4=_slicedToArray(_useState3,2),resolveValue=_useState4[0],setResolveValue=_useState4[1];var _useState5=useState(null),_useState6=_slicedToArray(_useState5,2),promiseResolve=_useState6[0],setPromiseResolve=_useState6[1];/**
4
+ */var QuantityPicker=function QuantityPicker(_ref){var conditioner=_ref.conditioner,setQuantity=_ref.setQuantity,stock=_ref.stock;if(!stock){return null;}var _useState=useState(false),_useState2=_slicedToArray(_useState,2),opened=_useState2[0],setOpened=_useState2[1];var _useState3=useState(null),_useState4=_slicedToArray(_useState3,2),resolveValue=_useState4[0],setResolveValue=_useState4[1];var _useState5=useState(null),_useState6=_slicedToArray(_useState5,2),promiseResolve=_useState6[0],setPromiseResolve=_useState6[1];/**
6
5
  * Handle select quantity
7
6
  * @param {number} quantity quantity
8
7
  */var handleSelectQuantity=function handleSelectQuantity(quantity){setQuantity(quantity);setResolveValue(true);setOpened(false);};/**
@@ -16,4 +15,4 @@ setPromiseResolve(function(){return resolve;});// Open sheet
16
15
  setOpened(true);});};// Mount effect
17
16
  useEffect(function(){// Add most late conditioner
18
17
  conditioner.addConditioner('product-quantity',checkQuantity,100);},[conditioner]);// Update resolveValue effect
19
- useEffect(function(){if(resolveValue===null){return;}if(promiseResolve){promiseResolve(resolveValue);}setResolveValue(null);},[promiseResolve,resolveValue]);var styles=useWidgetStyles('@shopgate/engage/product/QuantityPicker');var quantityRange=useQuantityRange(stock);if(!stock){return null;}var min=quantityRange.min,max=quantityRange.max;var items=Array(max-min+1).fill(min).map(function(v,index){return String(v+index);});return React.createElement(SheetDrawer,{title:React.createElement(I18n.Text,{string:"product.quantity"}),isOpen:opened,onClose:handleCloseSheet,contentClassName:css(styles.sheet).toString()},React.createElement(SheetList,null,items.map(function(item){return React.createElement(SheetList.Item,{title:item,key:item,onClick:function onClick(){return handleSelectQuantity(parseInt(item,10));}});})));};QuantityPicker.defaultProps={stock:null};export default QuantityPicker;
18
+ useEffect(function(){if(resolveValue===null){return;}if(promiseResolve){promiseResolve(resolveValue);}setResolveValue(null);},[promiseResolve,resolveValue]);var _getQuantityRange=getQuantityRange(stock),min=_getQuantityRange.min,max=_getQuantityRange.max;var items=Array(max-min+1).fill(min).map(function(v,index){return String(v+index);});var styles=useWidgetStyles('@shopgate/engage/product/QuantityPicker');return/*#__PURE__*/React.createElement(SheetDrawer,{title:/*#__PURE__*/React.createElement(I18n.Text,{string:"product.quantity"}),isOpen:opened,onClose:handleCloseSheet,contentClassName:css(styles.sheet).toString()},/*#__PURE__*/React.createElement(SheetList,null,items.map(function(item){return/*#__PURE__*/React.createElement(SheetList.Item,{title:item,key:item,onClick:function onClick(){return handleSelectQuantity(parseInt(item,10));}});})));};QuantityPicker.defaultProps={stock:null};export default QuantityPicker;
@@ -1,7 +1,7 @@
1
- function _typeof(obj){if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj;};}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj;};}return _typeof(obj);}import React,{memo,useMemo}from'react';import PropTypes from'prop-types';import appConfig from'@shopgate/pwa-common/helpers/config';import{RatingStars,SurroundPortals}from'@shopgate/engage/components';import{PRODUCT_RATING}from'@shopgate/engage/product/constants';import RatingCount from'@shopgate/engage/reviews/components/Reviews/components/RatingCount';import{useWidgetSettings}from'@shopgate/engage/core/hooks';import{container}from"./style";import connect from"./connector";var hasReviews=appConfig.hasReviews;/**
1
+ function _typeof(obj){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj;}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj;},_typeof(obj);}import React,{Fragment,memo}from'react';import PropTypes from'prop-types';import Portal from'@shopgate/pwa-common/components/Portal';import{PRODUCT_RATING,PRODUCT_RATING_AFTER,PRODUCT_RATING_BEFORE}from'@shopgate/pwa-common-commerce/product/constants/Portals';import appConfig from'@shopgate/pwa-common/helpers/config';import RatingStars from'@shopgate/pwa-ui-shared/RatingStars';import RatingCount from'@shopgate/engage/reviews/components/Reviews/components/RatingCount';import{useWidgetSettings}from'@shopgate/engage/core';import{container}from"./style";import connect from"./connector";/**
2
2
  * Scrolls page to reviews excerpt.
3
3
  */var scrollToRating=function scrollToRating(){var reviewsExcerpt=document.getElementById('reviewsExcerpt');if(_typeof(reviewsExcerpt)!=='object'||!reviewsExcerpt||!reviewsExcerpt.offsetTop||!reviewsExcerpt.closest||!reviewsExcerpt.closest('article')){return;}reviewsExcerpt.closest('article').scroll(0,reviewsExcerpt.offsetTop-30);};/**
4
4
  * The Rating component.
5
5
  * @param {Object} props The component props.
6
- * @return {JSX.Element}
7
- */var Rating=function Rating(_ref){var rating=_ref.rating;var _useWidgetSettings=useWidgetSettings('@shopgate/engage/rating'),_useWidgetSettings$sh=_useWidgetSettings.showEmptyRatingStars,showEmptyRatingStars=_useWidgetSettings$sh===void 0?false:_useWidgetSettings$sh;var showRatings=useMemo(function(){if(hasReviews&&(rating===null||rating===void 0?void 0:rating.average)>0){return true;}if(hasReviews&&showEmptyRatingStars&&rating){return true;}return false;},[rating,showEmptyRatingStars]);return React.createElement(SurroundPortals,{portalName:PRODUCT_RATING},showRatings&&React.createElement("div",{className:container,onClick:scrollToRating,role:"presentation"},React.createElement(RatingStars,{value:rating.average,display:"big"}),React.createElement(RatingCount,{count:rating.count,prominent:true})));};Rating.defaultProps={rating:null};export default connect(memo(Rating));
6
+ * @return {JSX}
7
+ */var Rating=function Rating(_ref){var rating=_ref.rating;var _useWidgetSettings=useWidgetSettings('@shopgate/engage/rating'),_useWidgetSettings$sh=_useWidgetSettings.showEmptyRatingStars,showEmptyRatingStars=_useWidgetSettings$sh===void 0?false:_useWidgetSettings$sh;var showRatings=showEmptyRatingStars?appConfig.hasReviews&&rating:appConfig.hasReviews&&rating&&rating.count;return/*#__PURE__*/React.createElement(Fragment,null,/*#__PURE__*/React.createElement(Portal,{name:PRODUCT_RATING_BEFORE}),/*#__PURE__*/React.createElement(Portal,{name:PRODUCT_RATING},showRatings&&/*#__PURE__*/React.createElement("div",{className:"".concat(container," engage__product__rating"),onClick:scrollToRating,role:"link","aria-hidden":true},/*#__PURE__*/React.createElement(RatingStars,{value:rating.average,display:"big"}),/*#__PURE__*/React.createElement(RatingCount,{count:rating.count,prominent:true}))),/*#__PURE__*/React.createElement(Portal,{name:PRODUCT_RATING_AFTER}));};Rating.defaultProps={rating:null};export default connect(/*#__PURE__*/memo(Rating));
@@ -1,5 +1,5 @@
1
- import React from'react';import{Provider}from'react-redux';import configureStore from'redux-mock-store';import{mount}from'enzyme';import mockRenderOptions from'@shopgate/pwa-common/helpers/mocks/mockRenderOptions';import{setMocks,mockedStateWithTwoReviews,mockedStateWithoutReview}from'@shopgate/pwa-common-commerce/reviews/mock';import Rating from"./index";import{getElementById}from"./mock";setMocks();jest.mock('@shopgate/engage/components');describe('Rating (product header)',function(){var mockedStore=configureStore();/**
1
+ import React from'react';import{Provider}from'react-redux';import configureStore from'redux-mock-store';import{mount}from'enzyme';import mockRenderOptions from'@shopgate/pwa-common/helpers/mocks/mockRenderOptions';import{setMocks,mockedStateWithTwoReviews,mockedStateWithoutReview}from'@shopgate/pwa-common-commerce/reviews/mock';import Rating from"./index";import{getElementById}from"./mock";setMocks();describe('Rating (product header)',function(){var mockedStore=configureStore();/**
2
2
  * Makes component.
3
3
  * @param {Object} state State
4
4
  * @returns {Object}
5
- */var getComponent=function getComponent(state){return mount(React.createElement(Provider,{store:mockedStore(state)},React.createElement(Rating,{productId:"foo"})),mockRenderOptions);};describe('Rendering',function(){it('should render rating when data is available',function(){var component=getComponent(mockedStateWithTwoReviews);expect(component).toMatchSnapshot();});it('should render nothing when data is not available',function(){var component=getComponent(mockedStateWithoutReview);expect(component.isEmptyRender()).toBe(true);});});describe('Scroll on click',function(){var scrollSpy=jest.fn();it('should scroll to reviews when clicked',function(){jest.spyOn(document,'getElementById').mockImplementation(getElementById(scrollSpy));var component=getComponent(mockedStateWithTwoReviews);component.simulate('click');expect(scrollSpy.mock.calls[0][0]).toBe(0);expect(scrollSpy.mock.calls[0][1]).toBe(70);expect(scrollSpy).toHaveBeenCalled();document.getElementById.mockReset();document.getElementById.mockRestore();});it('should do nothing when clicked but no reviews excerpt element',function(){jest.spyOn(document,'getElementById').mockImplementation(function(){return null;});var component=getComponent(mockedStateWithTwoReviews);component.simulate('click');expect(scrollSpy.mock.calls.length).toBe(1);document.getElementById.mockReset();document.getElementById.mockRestore();});});});
5
+ */var getComponent=function getComponent(state){return mount(/*#__PURE__*/React.createElement(Provider,{store:mockedStore(state)},/*#__PURE__*/React.createElement(Rating,{productId:"foo"})),mockRenderOptions);};describe('Rendering',function(){it('should render rating when data is available',function(){var component=getComponent(mockedStateWithTwoReviews);expect(component).toMatchSnapshot();});it('should render nothing when data is not available',function(){var component=getComponent(mockedStateWithoutReview);expect(component.html()).toBe('');});});describe('Scroll on click',function(){var scrollSpy=jest.fn();it('should scroll to reviews when clicked',function(){jest.spyOn(document,'getElementById').mockImplementation(getElementById(scrollSpy));var component=getComponent(mockedStateWithTwoReviews);component.simulate('click');expect(scrollSpy.mock.calls[0][0]).toBe(0);expect(scrollSpy.mock.calls[0][1]).toBe(70);expect(scrollSpy).toHaveBeenCalled();document.getElementById.mockReset();document.getElementById.mockRestore();});it('should do nothing when clicked but no reviews excerpt element',function(){jest.spyOn(document,'getElementById').mockImplementation(function(){return null;});var component=getComponent(mockedStateWithTwoReviews);component.simulate('click');expect(scrollSpy.mock.calls.length).toBe(1);document.getElementById.mockReset();document.getElementById.mockRestore();});});});
@@ -1,4 +1,4 @@
1
- function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_nonIterableRest();}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance");}function _iterableToArrayLimit(arr,i){var _arr=[];var _n=true;var _d=false;var _e=undefined;try{for(var _i=arr[Symbol.iterator](),_s;!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break;}}catch(err){_d=true;_e=err;}finally{try{if(!_n&&_i["return"]!=null)_i["return"]();}finally{if(_d)throw _e;}}return _arr;}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr;}import React,{useState,useCallback,Fragment,memo}from'react';import PropTypes from'prop-types';import{useWidgetSettings,useTheme}from"../../../core";import{SheetDrawer,I18n,Button}from"../../../components";import{WIDGET_ID}from"./constants";import{showMore,sheet}from"./style";import connect from"./RelationsSheet.connector";/**
1
+ function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_unsupportedIterableToArray(arr,i)||_nonIterableRest();}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen);}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i];}return arr2;}function _iterableToArrayLimit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break;}}catch(err){_d=true;_e=err;}finally{try{if(!_n&&_i["return"]!=null)_i["return"]();}finally{if(_d)throw _e;}}return _arr;}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr;}import React,{useState,useCallback,Fragment,memo}from'react';import PropTypes from'prop-types';import{useWidgetSettings,useTheme}from"../../../core";import{SheetDrawer,I18n,Button}from"../../../components";import{WIDGET_ID}from"./constants";import{showMore,sheet}from"./style";import connect from"./RelationsSheet.connector";/**
2
2
  * Shows a Sheet Drawer with all related products.
3
3
  * @returns {JSX}
4
- */var RelationsSheet=memo(function(_ref){var products=_ref.products.products;var _useState=useState(false),_useState2=_slicedToArray(_useState,2),show=_useState2[0],setShow=_useState2[1];var _useWidgetSettings=useWidgetSettings(WIDGET_ID),headline=_useWidgetSettings.headline;var _useTheme=useTheme(),ProductGrid=_useTheme.ProductGrid;var handleOpen=useCallback(function(event){event.preventDefault();setShow(true);},[]);var handleClose=useCallback(function(){setShow(false);},[]);return React.createElement(Fragment,null,React.createElement(Button,{onClick:handleOpen,flat:true,className:showMore},React.createElement(I18n.Text,{string:"product.relations.showMore"})),React.createElement(SheetDrawer,{isOpen:show,title:headline,onClose:handleClose},React.createElement("div",{className:sheet},React.createElement(ProductGrid,{products:products,infiniteLoad:false}))));});RelationsSheet.defaultProps={products:{products:[],productCount:0}};export default connect(RelationsSheet);
4
+ */var RelationsSheet=/*#__PURE__*/memo(function(_ref){var products=_ref.products.products;var _useState=useState(false),_useState2=_slicedToArray(_useState,2),show=_useState2[0],setShow=_useState2[1];var _useWidgetSettings=useWidgetSettings(WIDGET_ID),headline=_useWidgetSettings.headline;var _useTheme=useTheme(),ProductGrid=_useTheme.ProductGrid;var handleOpen=useCallback(function(event){event.preventDefault();setShow(true);},[]);var handleClose=useCallback(function(){setShow(false);},[]);return/*#__PURE__*/React.createElement(Fragment,null,/*#__PURE__*/React.createElement(Button,{onClick:handleOpen,flat:true,className:showMore},/*#__PURE__*/React.createElement(I18n.Text,{string:"product.relations.showMore"})),/*#__PURE__*/React.createElement(SheetDrawer,{isOpen:show,title:headline,onClose:handleClose},/*#__PURE__*/React.createElement("div",{className:sheet},/*#__PURE__*/React.createElement(ProductGrid,{products:products,infiniteLoad:false}))));});RelationsSheet.defaultProps={products:{products:[],productCount:0}};export default connect(RelationsSheet);
@@ -2,4 +2,4 @@ import React from'react';import PropTypes from'prop-types';import{useWidgetSetti
2
2
  * Renders the relations slider in the desired position on the Product Detail Page.
3
3
  * @param {string} desiredPosition The position the relations slider needs to render.
4
4
  * @returns {JSX}
5
- */var RelationsSlider=function RelationsSlider(_ref){var desiredPosition=_ref.desiredPosition;var _useWidgetSettings=useWidgetSettings(WIDGET_ID),type=_useWidgetSettings.type,position=_useWidgetSettings.position;var _useCurrentProduct=useCurrentProduct(),productId=_useCurrentProduct.productId;if(!type||position!==desiredPosition){return null;}return React.createElement(RelationsSliderContent,{productId:productId,type:type,max:10,limit:100});};RelationsSlider.defaultProps={desiredPosition:'header'};export default RelationsSlider;
5
+ */var RelationsSlider=function RelationsSlider(_ref){var desiredPosition=_ref.desiredPosition;var _useWidgetSettings=useWidgetSettings(WIDGET_ID),type=_useWidgetSettings.type,position=_useWidgetSettings.position;var _useCurrentProduct=useCurrentProduct(),productId=_useCurrentProduct.productId;if(!type||position!==desiredPosition){return null;}return/*#__PURE__*/React.createElement(RelationsSliderContent,{productId:productId,type:type,max:10,limit:100});};RelationsSlider.defaultProps={desiredPosition:'header'};export default RelationsSlider;
@@ -1,4 +1,4 @@
1
1
  import React,{useEffect,memo}from'react';import PropTypes from'prop-types';import{Swiper,Card}from'@shopgate/engage/components';import ProductCard from"../ProductCard";import RelationsSheet from"./RelationsSheet";import{useWidgetSettings,useCurrentProduct}from"../../../core";import connect from"./RelationsSlider.connector";import{WIDGET_ID}from"./constants";import*as styles from"./style";/**
2
2
  * @param {Object} props The component props.
3
3
  * @returns {JSX}
4
- */var RelationsSliderContent=memo(function(_ref){var _ref$products=_ref.products,products=_ref$products.products,productsCount=_ref$products.productsCount,getRelations=_ref.getRelations;var _useWidgetSettings=useWidgetSettings(WIDGET_ID),headline=_useWidgetSettings.headline,hidePrice=_useWidgetSettings.hidePrice,hideRating=_useWidgetSettings.hideRating,titleRows=_useWidgetSettings.titleRows,showMoreButton=_useWidgetSettings.showMoreButton,type=_useWidgetSettings.type,_useWidgetSettings$sl=_useWidgetSettings.slidesPerView,slidesPerView=_useWidgetSettings$sl===void 0?2.3:_useWidgetSettings$sl;var _useCurrentProduct=useCurrentProduct(),productId=_useCurrentProduct.productId;useEffect(function(){getRelations();},[getRelations]);if(products.length===0){return null;}return React.createElement("div",{className:styles.container},!!headline&&React.createElement("h3",{className:styles.headline},headline),!!showMoreButton&&productsCount>10&&React.createElement(RelationsSheet,{limit:100,productId:productId,type:type}),React.createElement(Swiper,{slidesPerView:slidesPerView,classNames:{container:styles.sliderContainer}},products.map(function(product){return React.createElement(Swiper.Item,{key:product.id,className:styles.sliderItem},React.createElement(Card,{className:styles.card},React.createElement(ProductCard,{product:product,hidePrice:hidePrice,hideName:false,hideRating:hideRating,titleRows:titleRows})));})));});RelationsSliderContent.defaultProps={products:{products:[],productsCount:0}};export default connect(RelationsSliderContent);
4
+ */var RelationsSliderContent=/*#__PURE__*/memo(function(_ref){var _ref$products=_ref.products,products=_ref$products.products,productsCount=_ref$products.productsCount,getRelations=_ref.getRelations;var _useWidgetSettings=useWidgetSettings(WIDGET_ID),headline=_useWidgetSettings.headline,hidePrice=_useWidgetSettings.hidePrice,hideRating=_useWidgetSettings.hideRating,titleRows=_useWidgetSettings.titleRows,showMoreButton=_useWidgetSettings.showMoreButton,type=_useWidgetSettings.type,_useWidgetSettings$sl=_useWidgetSettings.slidesPerView,slidesPerView=_useWidgetSettings$sl===void 0?2.3:_useWidgetSettings$sl;var _useCurrentProduct=useCurrentProduct(),productId=_useCurrentProduct.productId;useEffect(function(){getRelations();},[getRelations]);if(products.length===0){return null;}return/*#__PURE__*/React.createElement("div",{className:styles.container},!!headline&&/*#__PURE__*/React.createElement("h3",{className:styles.headline},headline),!!showMoreButton&&productsCount>10&&/*#__PURE__*/React.createElement(RelationsSheet,{limit:100,productId:productId,type:type}),/*#__PURE__*/React.createElement(Swiper,{slidesPerView:slidesPerView,classNames:{container:styles.sliderContainer}},products.map(function(product){return/*#__PURE__*/React.createElement(Swiper.Item,{key:product.id},/*#__PURE__*/React.createElement(Card,{className:styles.card},/*#__PURE__*/React.createElement(ProductCard,{product:product,hidePrice:hidePrice,hideName:false,hideRating:hideRating,titleRows:titleRows})));})));});RelationsSliderContent.defaultProps={products:{products:[],productsCount:0}};export default connect(RelationsSliderContent);
@@ -1 +1 @@
1
- import{css}from'glamor';import{themeConfig}from'@shopgate/pwa-common/helpers/config';var variables=themeConfig.variables;export var container=css({position:'relative'});export var headline=css({fontSize:'1rem',fontWeight:500,padding:"0 ".concat(variables.gap.big,"px ").concat(variables.gap.small,"px"),margin:0});export var sliderContainer=css({marginLeft:'auto',marginRight:'auto',position:'relative',padding:"".concat(variables.gap.small,"px 0 ").concat(variables.gap.big,"px")}).toString();export var sliderItem=css({paddingBottom:10}).toString();export var card=css({height:'100%',margin:"0 ".concat(variables.gap.small,"px")}).toString();export var gridCard=css({height:'100%',margin:0}).toString();export var showMore=css({position:'absolute !important',top:"-".concat(variables.gap.small/2),right:0,padding:"".concat(variables.gap.small/2,"px 0 !important")}).toString();export var sheet=css({maxHeight:"calc(100vh - ".concat(variables.navigator.height,"px)")}).toString();export var gridItem=css({':nth-child(even)':{padding:'8px 0 8px 8px'},':nth-child(odd)':{padding:'8px 8px 8px 0'},':first-child':{padding:'0 8px 8px 0'},':nth-child(2)':{padding:'0 0 8px 8px'},padding:8,width:'50%'}).toString();
1
+ import{css}from'glamor';import{themeConfig}from'@shopgate/pwa-common/helpers/config';var variables=themeConfig.variables;export var container=css({position:'relative'});export var headline=css({fontSize:'1rem',fontWeight:500,padding:"0 ".concat(variables.gap.big,"px ").concat(variables.gap.small,"px"),margin:0});export var sliderContainer=css({marginLeft:'auto',marginRight:'auto',position:'relative',padding:"".concat(variables.gap.small,"px 0 ").concat(variables.gap.big,"px")}).toString();export var card=css({height:'100%',margin:"0 ".concat(variables.gap.small,"px")}).toString();export var gridCard=css({height:'100%',margin:0}).toString();export var showMore=css({position:'absolute !important',top:"-".concat(variables.gap.small/2),right:0,padding:"".concat(variables.gap.small/2,"px 0 !important")}).toString();export var sheet=css({maxHeight:"calc(100vh - ".concat(variables.navigator.height,"px)")}).toString();export var gridItem=css({':nth-child(even)':{padding:'8px 0 8px 8px'},':nth-child(odd)':{padding:'8px 8px 8px 0'},':first-child':{padding:'0 8px 8px 0'},':nth-child(2)':{padding:'0 0 8px 8px'},padding:8,width:'50%'}).toString();
@@ -2,4 +2,4 @@ import React,{memo}from'react';import PropTypes from'prop-types';import{css}from
2
2
  * The swatch component.
3
3
  * @param {Object} props The component props.
4
4
  * @returns {JSX}
5
- */var Swatch=function Swatch(_ref){var swatch=_ref.swatch;if(!swatch){return null;}var styles=useWidgetStyles(WIDGET_ID);var classNames={swatch:styles&&styles.swatch?css(styles.swatch).toString():null,item:styles&&styles.item?css(styles.item).toString():null,itemSelected:styles&&styles.itemSelected?css(styles.itemSelected).toString():null};return React.createElement(SwatchContent,{swatch:swatch,classNames:classNames});};Swatch.defaultProps={swatch:null};export default memo(Swatch);
5
+ */var Swatch=function Swatch(_ref){var swatch=_ref.swatch;if(!swatch){return null;}var styles=useWidgetStyles(WIDGET_ID);var classNames={swatch:styles&&styles.swatch?css(styles.swatch).toString():null,item:styles&&styles.item?css(styles.item).toString():null,itemSelected:styles&&styles.itemSelected?css(styles.itemSelected).toString():null};return/*#__PURE__*/React.createElement(SwatchContent,{swatch:swatch,classNames:classNames});};Swatch.defaultProps={swatch:null};export default/*#__PURE__*/memo(Swatch);
@@ -2,4 +2,4 @@ function _extends(){_extends=Object.assign||function(target){for(var i=1;i<argum
2
2
  * The swatch content component.
3
3
  * @param {Object} props The component props.
4
4
  * @returns {JSX}
5
- */var SwatchContent=function SwatchContent(_ref){var swatch=_ref.swatch,classNames=_ref.classNames,_onClick=_ref.onClick;if(!swatch){return null;}return React.createElement(SurroundPortals,{portalName:PRODUCT_SWATCH,portalProps:{swatch:swatch}},React.createElement("ul",{className:cls(swatchClass,_defineProperty({},classNames.swatch,!!classNames.swatch))},swatch.values.map(function(value){return React.createElement("li",{"aria-hidden":true,key:value.id,onClick:function onClick(){return _onClick(value.id);},className:cls(itemClass,_defineProperty(_defineProperty(_defineProperty({},classNames.item,!!classNames.item),itemSelectedClass,!!value.selected),classNames.itemSelected,!!value.selected)),style:_extends({},value.swatch.color&&{backgroundColor:value.swatch.color},{},value.swatch.imageUrl&&{backgroundImage:"url(".concat(value.swatch.imageUrl,")")})});})));};SwatchContent.defaultProps={classNames:{},swatch:null,onClick:noop};export default memo(SwatchContent);
5
+ */var SwatchContent=function SwatchContent(_ref){var swatch=_ref.swatch,classNames=_ref.classNames,_onClick=_ref.onClick;if(!swatch){return null;}return/*#__PURE__*/React.createElement(SurroundPortals,{portalName:PRODUCT_SWATCH,portalProps:{swatch:swatch}},/*#__PURE__*/React.createElement("ul",{className:cls(swatchClass,_defineProperty({},classNames.swatch,!!classNames.swatch))},swatch.values.map(function(value){var _cls2;return/*#__PURE__*/React.createElement("li",{"aria-hidden":true,key:value.id,onClick:function onClick(){return _onClick(value.id);},className:cls(itemClass,(_cls2={},_defineProperty(_cls2,classNames.item,!!classNames.item),_defineProperty(_cls2,itemSelectedClass,!!value.selected),_defineProperty(_cls2,classNames.itemSelected,!!value.selected),_cls2)),style:_extends({},value.swatch.color&&{backgroundColor:value.swatch.color},value.swatch.imageUrl&&{backgroundImage:"url(".concat(value.swatch.imageUrl,")")})});})));};SwatchContent.defaultProps={classNames:{},swatch:null,onClick:noop};export default/*#__PURE__*/memo(SwatchContent);
@@ -2,4 +2,4 @@ import React,{memo}from'react';import PropTypes from'prop-types';import noop fro
2
2
  * The variant swatch component.
3
3
  * @param {Object} props The component props.
4
4
  * @returns {JSX}
5
- */var VariantSwatch=function VariantSwatch(_ref){var swatch=_ref.swatch,onClick=_ref.onClick;if(!swatch){return null;}var styles=useWidgetStyles(WIDGET_ID);var classNames={swatch:styles&&styles.swatch?css(styles.swatch).toString():null,item:styles&&styles.item?css(styles.item).toString():null,itemSelected:styles&&styles.itemSelected?css(styles.itemSelected).toString():null};return React.createElement(SwatchContent,{swatch:swatch,classNames:classNames,onClick:onClick});};VariantSwatch.defaultProps={swatch:null,onClick:noop};export default memo(VariantSwatch);
5
+ */var VariantSwatch=function VariantSwatch(_ref){var swatch=_ref.swatch,onClick=_ref.onClick;if(!swatch){return null;}var styles=useWidgetStyles(WIDGET_ID);var classNames={swatch:styles&&styles.swatch?css(styles.swatch).toString():null,item:styles&&styles.item?css(styles.item).toString():null,itemSelected:styles&&styles.itemSelected?css(styles.itemSelected).toString():null};return/*#__PURE__*/React.createElement(SwatchContent,{swatch:swatch,classNames:classNames,onClick:onClick});};VariantSwatch.defaultProps={swatch:null,onClick:noop};export default/*#__PURE__*/memo(VariantSwatch);
@@ -1 +1 @@
1
- import{css}from'glamor';import{themeConfig}from'@shopgate/pwa-common/helpers/config';var colors=themeConfig.colors;export var swatchClass=css({gridTemplateColumns:'repeat(auto-fill, minmax(12px, 1fr))',gridGap:'2px',display:'grid',marginBottom:'0.2rem'}).toString();export var itemClass=css({minWidth:'12px',width:'12px',maxWidth:'12px',minHeight:'12px',height:'12px',maxHeight:'12px',borderRadius:'50%',borderWidth:'1px',borderStyle:'solid',borderColor:colors.shade4,backgroundSize:'cover'}).toString();export var itemSelectedClass=css({borderColor:"var(--color-secondary, ".concat(colors.accent,")")}).toString();
1
+ import{css}from'glamor';import{themeConfig}from'@shopgate/pwa-common/helpers/config';var colors=themeConfig.colors;export var swatchClass=css({gridTemplateColumns:'repeat(auto-fill, minmax(12px, 1fr))',gridGap:'2px',display:'grid',marginBottom:'0.2rem'}).toString();export var itemClass=css({minWidth:'12px',width:'12px',maxWidth:'12px',minHeight:'12px',height:'12px',maxHeight:'12px',borderRadius:'50%',borderWidth:'1px',borderStyle:'solid',borderColor:colors.shade4,backgroundSize:'cover'}).toString();export var itemSelectedClass=css({borderColor:colors.accent}).toString();
@@ -2,4 +2,4 @@ function _extends(){_extends=Object.assign||function(target){for(var i=1;i<argum
2
2
  * Renders only product swatches from a list of characteristics.
3
3
  * @param {Object} props The component props.
4
4
  * @returns {JSX}
5
- */var Swatches=function Swatches(_ref){var productId=_ref.productId,characteristics=_ref.characteristics;if(!isBeta()){return null;}if(!characteristics){return null;}var settings=useWidgetSettings(WIDGET_ID);var swatches=characteristics.filter(function(c){return c.swatch===true;});if(settings.filter&&settings.filter.length){swatches=swatches.filter(function(swatch){return settings.filter.includes(swatch.id);});}if(!swatches){return null;}if(settings.maxItemCount){swatches=swatches.map(function(swatch){return _extends({},swatch,{values:swatch.values.slice(0,settings.maxItemCount)});});}return React.createElement(SurroundPortals,{portalName:PRODUCT_SWATCHES,portalProps:{characteristics:characteristics}},React.createElement("div",{className:swatchesClass},swatches.map(function(swatch){return React.createElement(Swatch,{key:"".concat(productId,".").concat(swatch.id),swatch:swatch});})));};Swatches.defaultProps={characteristics:null};export default connect(memo(Swatches));
5
+ */var Swatches=function Swatches(_ref){var productId=_ref.productId,characteristics=_ref.characteristics;if(!isBeta()){return null;}if(!characteristics){return null;}var settings=useWidgetSettings(WIDGET_ID);var swatches=characteristics.filter(function(c){return c.swatch===true;});if(settings.filter&&settings.filter.length){swatches=swatches.filter(function(swatch){return settings.filter.includes(swatch.id);});}if(!swatches){return null;}if(settings.maxItemCount){swatches=swatches.map(function(swatch){return _extends({},swatch,{values:swatch.values.slice(0,settings.maxItemCount)});});}return/*#__PURE__*/React.createElement(SurroundPortals,{portalName:PRODUCT_SWATCHES,portalProps:{characteristics:characteristics}},/*#__PURE__*/React.createElement("div",{className:swatchesClass},swatches.map(function(swatch){return/*#__PURE__*/React.createElement(Swatch,{key:"".concat(productId,".").concat(swatch.id),swatch:swatch});})));};Swatches.defaultProps={characteristics:null};export default connect(/*#__PURE__*/memo(Swatches));