@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
- import React from'react';import{shallow}from'enzyme';import Tier from"./index";describe('<Tier />',function(){describe('Rendering with data',function(){it('should render tier prices when tier prices are available',function(){var price={tiers:[{from:1,to:2,unitPrice:92.5},{from:3,to:5,unitPrice:77.5},{from:6,to:null,unitPrice:68.5}],currency:'USD'};var tier={from:3,to:5,unitPrice:77.5};var wrapper=shallow(React.createElement(Tier,{price:price,tier:tier}));expect(wrapper).toMatchSnapshot();});});describe('Rendering without data',function(){it('should render nothing when tier from is less then 1',function(){var tier={from:1};var wrapper=shallow(React.createElement(Tier,{tier:tier,price:{}}));expect(wrapper).toBeEmptyRender();});});});
1
+ import React from'react';import{shallow}from'enzyme';import Tier from"./index";describe('<Tier />',function(){describe('Rendering with data',function(){it('should render tier prices when tier prices are available',function(){var price={tiers:[{from:1,to:2,unitPrice:92.5},{from:3,to:5,unitPrice:77.5},{from:6,to:null,unitPrice:68.5}],currency:'USD'};var tier={from:3,to:5,unitPrice:77.5};var wrapper=shallow(/*#__PURE__*/React.createElement(Tier,{price:price,tier:tier}));expect(wrapper).toMatchSnapshot();});});describe('Rendering without data',function(){it('should render nothing when tier from is less then 1',function(){var tier={from:1};var wrapper=shallow(/*#__PURE__*/React.createElement(Tier,{tier:tier,price:{}}));expect(wrapper).toBeEmptyRender();});});});
@@ -2,4 +2,4 @@ import React,{Fragment,memo}from'react';import PropTypes from'prop-types';import
2
2
  * The Tiers component.
3
3
  * @param {Object} props The component props.
4
4
  * @return {JSX}
5
- */var Tiers=function Tiers(_ref){var price=_ref.price;if(!(price&&price.tiers&&price.tiers.length>0)){return null;}return React.createElement(Fragment,null,React.createElement(Portal,{name:PRODUCT_TIERS_BEFORE}),React.createElement(Portal,{name:PRODUCT_TIERS},React.createElement("div",{className:"".concat(styles.wrapper," engage__product__header__tiers")},price.tiers.map(function(tier){return React.createElement(Tier,{tier:tier,price:price,key:"".concat(Object.values(tier).join('_'))});}))),React.createElement(Portal,{name:PRODUCT_TIERS_AFTER}));};Tiers.defaultProps={price:null};export default connect(memo(Tiers));
5
+ */var Tiers=function Tiers(_ref){var price=_ref.price;if(!(price&&price.tiers&&price.tiers.length>0)){return null;}return/*#__PURE__*/React.createElement(Fragment,null,/*#__PURE__*/React.createElement(Portal,{name:PRODUCT_TIERS_BEFORE}),/*#__PURE__*/React.createElement(Portal,{name:PRODUCT_TIERS},/*#__PURE__*/React.createElement("div",{className:"".concat(styles.wrapper," engage__product__header__tiers")},price.tiers.map(function(tier){return/*#__PURE__*/React.createElement(Tier,{tier:tier,price:price,key:"".concat(Object.values(tier).join('_'))});}))),/*#__PURE__*/React.createElement(Portal,{name:PRODUCT_TIERS_AFTER}));};Tiers.defaultProps={price:null};export default connect(/*#__PURE__*/memo(Tiers));
@@ -1 +1 @@
1
- import React from'react';import{shallow}from'enzyme';import Tiers from"./index";jest.mock("./connector",function(){return function(cmp){return cmp;};});describe('<Tiers />',function(){describe('Rendering with data',function(){it('should render tier prices when tier prices are available',function(){var price={tiers:[{from:1,to:2,unitPrice:92.5},{from:3,to:5,unitPrice:77.5},{from:6,to:null,unitPrice:68.5}],currency:'USD'};var wrapper=shallow(React.createElement(Tiers,{price:price}));expect(wrapper).toMatchSnapshot();});});describe('Rendering without data',function(){it('should render nothing when price data are not available ({})',function(){var wrapper=shallow(React.createElement(Tiers,{price:{}}));expect(wrapper).toBeEmptyRender();});it('should render nothing when price data are not available (null)',function(){var wrapper=shallow(React.createElement(Tiers,{price:null}));expect(wrapper).toBeEmptyRender();});it('should render nothing when tier prices are empty ([])',function(){var price={tiers:[],currency:'USD'};var wrapper=shallow(React.createElement(Tiers,{price:price}));expect(wrapper).toBeEmptyRender();});it('should render nothing when tier prices are not available (field missing)',function(){var price={currency:'USD'};var wrapper=shallow(React.createElement(Tiers,{price:price}));expect(wrapper).toBeEmptyRender();});});});
1
+ import React from'react';import{shallow}from'enzyme';import Tiers from"./index";jest.mock("./connector",function(){return function(cmp){return cmp;};});describe('<Tiers />',function(){describe('Rendering with data',function(){it('should render tier prices when tier prices are available',function(){var price={tiers:[{from:1,to:2,unitPrice:92.5},{from:3,to:5,unitPrice:77.5},{from:6,to:null,unitPrice:68.5}],currency:'USD'};var wrapper=shallow(/*#__PURE__*/React.createElement(Tiers,{price:price}));expect(wrapper).toMatchSnapshot();});});describe('Rendering without data',function(){it('should render nothing when price data are not available ({})',function(){var wrapper=shallow(/*#__PURE__*/React.createElement(Tiers,{price:{}}));expect(wrapper).toBeEmptyRender();});it('should render nothing when price data are not available (null)',function(){var wrapper=shallow(/*#__PURE__*/React.createElement(Tiers,{price:null}));expect(wrapper).toBeEmptyRender();});it('should render nothing when tier prices are empty ([])',function(){var price={tiers:[],currency:'USD'};var wrapper=shallow(/*#__PURE__*/React.createElement(Tiers,{price:price}));expect(wrapper).toBeEmptyRender();});it('should render nothing when tier prices are not available (field missing)',function(){var price={currency:'USD'};var wrapper=shallow(/*#__PURE__*/React.createElement(Tiers,{price:price}));expect(wrapper).toBeEmptyRender();});});});
@@ -1,4 +1,4 @@
1
1
  import React from'react';import PropTypes from'prop-types';import{css}from'glamor';import classNames from'classnames';import{SurroundPortals,I18n,TimeBoundary}from'@shopgate/engage/components';import{isBeta,useWidgetSettings,useWidgetStyles}from'@shopgate/engage/core';import{PRODUCT_MAP_PRICE}from'@shopgate/engage/product';import{showHint}from"./helpers";import connect from"./connector";var defaultStyle=css({fontSize:'0.75rem'}).toString();/**
2
2
  * The Product Map Price Hint component.
3
3
  * @return {JSX}
4
- */var MapPriceHint=function MapPriceHint(_ref){var price=_ref.price,mapPrice=_ref.mapPrice;if(!isBeta()){return null;}var settings=useWidgetSettings('@shopgate/engage/product/MapPrice');if(!settings.showHint||!settings.hint){return null;}var styles=useWidgetStyles('@shopgate/engage/product/MapPrice');return React.createElement(SurroundPortals,{portalName:PRODUCT_MAP_PRICE},showHint(price,mapPrice)&&React.createElement(TimeBoundary,{start:new Date(mapPrice.startDate),end:new Date(mapPrice.endDate)},function(_ref2){var between=_ref2.between;return between&&React.createElement(I18n.Text,{string:settings.hint,className:classNames('engage__product__map-price-hint',defaultStyle,css(styles.hint).toString())});}));};MapPriceHint.defaultProps={mapPrice:null,price:null};export default connect(MapPriceHint);
4
+ */var MapPriceHint=function MapPriceHint(_ref){var price=_ref.price,mapPrice=_ref.mapPrice;if(!isBeta()){return null;}var settings=useWidgetSettings('@shopgate/engage/product/MapPrice');if(!settings.showHint||!settings.hint){return null;}var styles=useWidgetStyles('@shopgate/engage/product/MapPrice');return/*#__PURE__*/React.createElement(SurroundPortals,{portalName:PRODUCT_MAP_PRICE},showHint(price,mapPrice)&&/*#__PURE__*/React.createElement(TimeBoundary,{start:new Date(mapPrice.startDate),end:new Date(mapPrice.endDate)},function(_ref2){var between=_ref2.between;return between&&/*#__PURE__*/React.createElement(I18n.Text,{string:settings.hint,className:classNames('engage__product__map-price-hint',defaultStyle,css(styles.hint).toString())});}));};MapPriceHint.defaultProps={mapPrice:null,price:null};export default connect(MapPriceHint);
@@ -1,4 +1,4 @@
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 React from'react';import{SurroundPortals}from'@shopgate/engage/components';import{MEDIA_TYPE_IMAGE,MEDIA_TYPE_VIDEO}from'@shopgate/engage/product';import{PORTAL_PRODUCT_MEDIA}from"../../../components/constants";import MediaImage from"./MediaImage";import FeaturedVideo from"./FeaturedVideo";import{defaultProps,propTypes}from"./props";var types=_defineProperty(_defineProperty({},MEDIA_TYPE_IMAGE,MediaImage),MEDIA_TYPE_VIDEO,FeaturedVideo);/**
1
+ var _types;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 from'react';import{SurroundPortals}from'@shopgate/engage/components';import{MEDIA_TYPE_IMAGE,MEDIA_TYPE_VIDEO}from'@shopgate/engage/product';import{PORTAL_PRODUCT_MEDIA}from"../../../components/constants";import MediaImage from"./MediaImage";import FeaturedVideo from"./FeaturedVideo";import{defaultProps,propTypes}from"./props";var types=(_types={},_defineProperty(_types,MEDIA_TYPE_IMAGE,MediaImage),_defineProperty(_types,MEDIA_TYPE_VIDEO,FeaturedVideo),_types);/**
2
2
  * The featured media component.
3
3
  * @returns {JSX}
4
- */var FeaturedMedia=function FeaturedMedia(_ref){var type=_ref.type,url=_ref.url,altText=_ref.altText;var TypeRenderer=types[type]||MediaImage;return React.createElement(SurroundPortals,{portalName:PORTAL_PRODUCT_MEDIA},React.createElement(TypeRenderer,{url:url,altText:altText}));};FeaturedMedia.defaultProps=defaultProps;export default FeaturedMedia;
4
+ */var FeaturedMedia=function FeaturedMedia(_ref){var type=_ref.type,url=_ref.url,altText=_ref.altText;var TypeRenderer=types[type]||MediaImage;return/*#__PURE__*/React.createElement(SurroundPortals,{portalName:PORTAL_PRODUCT_MEDIA},/*#__PURE__*/React.createElement(TypeRenderer,{url:url,altText:altText}));};FeaturedMedia.defaultProps=defaultProps;export default FeaturedMedia;
@@ -1,4 +1,4 @@
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;}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 classnames from'classnames';import Image from'@shopgate/pwa-common/components/Image';import appConfig from'@shopgate/pwa-common/helpers/config';import{SurroundPortals}from"../../../components";import{PORTAL_PRODUCT_IMAGE}from"../../../components/constants";import{useWidgetSettings}from"../../../core";import{defaultProps,propTypes}from"./props";import MediaPlaceholder from"./MediaPlaceholder";import{innerShadow}from"./style";/**
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;}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 classnames from'classnames';import Image from'@shopgate/pwa-common/components/Image';import appConfig from'@shopgate/pwa-common/helpers/config';import{SurroundPortals}from"../../../components";import{PORTAL_PRODUCT_IMAGE}from"../../../components/constants";import{buildMediaImageUrl}from"./helpers";import{useWidgetSettings}from"../../../core";import{defaultProps,propTypes}from"./props";import MediaPlaceholder from"./MediaPlaceholder";import{innerShadow}from"./style";/**
2
2
  * The featured image component.
3
- * @returns {JSX.Element}
4
- */var MediaImage=function MediaImage(_ref){var url=_ref.url,altText=_ref.altText,className=_ref.className,resolutions=_ref.resolutions;var _useState=useState(!url),_useState2=_slicedToArray(_useState,2),placeholder=_useState2[0],setPlaceholderEnabled=_useState2[1];var _useWidgetSettings=useWidgetSettings('@shopgate/engage/product/MediaImage'),_useWidgetSettings$sh=_useWidgetSettings.showInnerShadow,showInnerShadow=_useWidgetSettings$sh===void 0?!appConfig.hideProductImageShadow:_useWidgetSettings$sh;useEffect(function(){return setPlaceholderEnabled(!url);},[url]);var classes=classnames(className,_defineProperty({},innerShadow,showInnerShadow));if(placeholder){return React.createElement(SurroundPortals,{portalName:PORTAL_PRODUCT_IMAGE},React.createElement(MediaPlaceholder,{className:classes}));}return React.createElement(SurroundPortals,{portalName:PORTAL_PRODUCT_IMAGE,portalProps:{src:url,resolutions:resolutions}},React.createElement(Image,{src:url,resolutions:resolutions,alt:altText,className:classes,backgroundColor:"transparent",onError:function onError(){return setPlaceholderEnabled(true);},animating:true}));};MediaImage.defaultProps={url:defaultProps.url,altText:defaultProps.altText,className:defaultProps.className,resolutions:undefined};export default MediaImage;
3
+ * @returns {JSX}
4
+ */var MediaImage=function MediaImage(_ref){var url=_ref.url,altText=_ref.altText,className=_ref.className,params=_ref.params;var _useState=useState(!url),_useState2=_slicedToArray(_useState,2),placeholder=_useState2[0],setPlaceholderEnabled=_useState2[1];var _useWidgetSettings=useWidgetSettings('@shopgate/engage/product/MediaImage'),_useWidgetSettings$sh=_useWidgetSettings.showInnerShadow,showInnerShadow=_useWidgetSettings$sh===void 0?!appConfig.hideProductImageShadow:_useWidgetSettings$sh;useEffect(function(){return setPlaceholderEnabled(!url);},[url]);var classes=classnames(className,_defineProperty({},innerShadow,showInnerShadow));if(placeholder){return/*#__PURE__*/React.createElement(SurroundPortals,{portalName:PORTAL_PRODUCT_IMAGE},/*#__PURE__*/React.createElement(MediaPlaceholder,{className:classes}));}return/*#__PURE__*/React.createElement(SurroundPortals,{portalName:PORTAL_PRODUCT_IMAGE},/*#__PURE__*/React.createElement(Image,{src:buildMediaImageUrl(url,params),alt:altText,className:classes,backgroundColor:"transparent",onError:function onError(){return setPlaceholderEnabled(true);}}));};MediaImage.defaultProps={url:defaultProps.url,altText:defaultProps.altText,className:defaultProps.className,params:null};export default MediaImage;
@@ -1,4 +1,4 @@
1
1
  import React from'react';import classnames from'classnames';import PlaceholderIcon from'@shopgate/pwa-ui-shared/icons/PlaceholderIcon';import{defaultProps,propTypes}from"./props";import{placeholderContainer,placeholderContent,placeholderIcon}from"./style";/**
2
2
  * The media placeholder component.
3
3
  * @returns {JSX}
4
- */var MediaPlaceholder=function MediaPlaceholder(_ref){var className=_ref.className;return React.createElement("div",{className:classnames(placeholderContainer,className)},React.createElement("div",{className:placeholderContent,"data-test-id":"placeHolder"},React.createElement(PlaceholderIcon,{className:placeholderIcon})));};MediaPlaceholder.defaultProps={className:defaultProps.className};export default MediaPlaceholder;
4
+ */var MediaPlaceholder=function MediaPlaceholder(_ref){var className=_ref.className;return/*#__PURE__*/React.createElement("div",{className:classnames(placeholderContainer,className)},/*#__PURE__*/React.createElement("div",{className:placeholderContent,"data-test-id":"placeHolder"},/*#__PURE__*/React.createElement(PlaceholderIcon,{className:placeholderIcon})));};MediaPlaceholder.defaultProps={className:defaultProps.className};export default MediaPlaceholder;
@@ -1,4 +1,4 @@
1
1
  import React from'react';import PropTypes from'prop-types';import{MediaImage as Image}from"../../../Media";import{full}from"../../style";import{PRODUCT_SLIDER_IMAGE_FORMATS}from"../../constants";/**
2
2
  * The product media video slide component.
3
3
  * @returns {JSX}
4
- */var MediaImage=function MediaImage(_ref){var media=_ref.media,onClick=_ref.onClick;return React.createElement("div",{onClick:onClick,onKeyDown:onClick,role:"button",tabIndex:"0",className:full},React.createElement(Image,{url:media.url,altText:media.altText,resolutions:PRODUCT_SLIDER_IMAGE_FORMATS}));};MediaImage.displayName='MediaSliderImage';export default MediaImage;
4
+ */var MediaImage=function MediaImage(_ref){var media=_ref.media,onClick=_ref.onClick;return/*#__PURE__*/React.createElement("div",{onClick:onClick,onKeyDown:onClick,role:"button",tabIndex:"0",className:full},/*#__PURE__*/React.createElement(Image,{url:media.url,altText:media.altText,params:PRODUCT_SLIDER_IMAGE_FORMATS[1]}));};MediaImage.displayName='MediaSliderImage';export default MediaImage;
@@ -1,4 +1,4 @@
1
1
  import React from'react';import PropTypes from'prop-types';import{IntersectionVisibility,VideoPlayer}from"../../../../../components";import{useWidgetSettings}from"../../../../../core";import connect from"./connector";import{videoWrapper,videoResponsive,video}from"../../style";/**
2
2
  * The media video component.
3
3
  * @returns {JSX}
4
- */var MediaVideo=function MediaVideo(_ref){var connectivityType=_ref.connectivityType,media=_ref.media;var settings=useWidgetSettings('@shopgate/engage/product/MediaSlider');var autoPlay=settings.videos.autoPlay[connectivityType]||false;return React.createElement(IntersectionVisibility,null,function(_ref2){var visible=_ref2.visible,ratio=_ref2.ratio,setRef=_ref2.setRef;return React.createElement("div",{ref:setRef,className:videoWrapper},React.createElement("div",{className:videoResponsive},React.createElement(VideoPlayer,{url:media.url,playing:autoPlay&&visible&&ratio>0.8,width:"100%",height:"100%",controls:settings.videos.controls,muted:settings.videos.muted,loop:settings.videos.loop,className:video})));});};export default connect(MediaVideo);
4
+ */var MediaVideo=function MediaVideo(_ref){var connectivityType=_ref.connectivityType,media=_ref.media;var settings=useWidgetSettings('@shopgate/engage/product/MediaSlider');var autoPlay=settings.videos.autoPlay[connectivityType]||false;return/*#__PURE__*/React.createElement(IntersectionVisibility,null,function(_ref2){var visible=_ref2.visible,ratio=_ref2.ratio,setRef=_ref2.setRef;return/*#__PURE__*/React.createElement("div",{ref:setRef,className:videoWrapper},/*#__PURE__*/React.createElement("div",{className:videoResponsive},/*#__PURE__*/React.createElement(VideoPlayer,{url:media.url,playing:autoPlay&&visible&&ratio>0.8,width:"100%",height:"100%",controls:settings.videos.controls,muted:settings.videos.muted,loop:settings.videos.loop,className:video})));});};export default connect(MediaVideo);
@@ -1,6 +1,6 @@
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 React from'react';import PropTypes from'prop-types';import{SurroundPortals,Swiper}from'@shopgate/engage/components';import{PRODUCT_MEDIA}from'@shopgate/pwa-common-commerce/product';import{MEDIA_TYPE_IMAGE,MEDIA_TYPE_VIDEO}from"../../constants";import MediaImage from"./components/MediaImage";import MediaVideo from"./components/MediaVideo";import connect from"./connector";import{container}from"./style";var typeRenders=_defineProperty(_defineProperty({},MEDIA_TYPE_IMAGE,MediaImage),MEDIA_TYPE_VIDEO,MediaVideo);/**
1
+ var _typeRenders;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 from'react';import PropTypes from'prop-types';import{SurroundPortals,Swiper}from'@shopgate/engage/components';import{PRODUCT_MEDIA}from'@shopgate/pwa-common-commerce/product';import{MEDIA_TYPE_IMAGE,MEDIA_TYPE_VIDEO}from"../../constants";import MediaImage from"./components/MediaImage";import MediaVideo from"./components/MediaVideo";import connect from"./connector";import{container}from"./style";var typeRenders=(_typeRenders={},_defineProperty(_typeRenders,MEDIA_TYPE_IMAGE,MediaImage),_defineProperty(_typeRenders,MEDIA_TYPE_VIDEO,MediaVideo),_typeRenders);/**
2
2
  * The product media slider component.
3
- * @returns {JSX.Element}
4
- */var MediaSlider=function MediaSlider(_ref){var navigate=_ref.navigate,featuredMedia=_ref.featuredMedia,media=_ref.media,ariaHidden=_ref['aria-hidden'],renderPlaceholder=_ref.renderPlaceholder,className=_ref.className,paginationType=_ref.paginationType;var currentSlide=0;/**
3
+ * @returns {JSX}
4
+ */var MediaSlider=function MediaSlider(_ref){var navigate=_ref.navigate,featuredMedia=_ref.featuredMedia,media=_ref.media,ariaHidden=_ref['aria-hidden'],renderPlaceholder=_ref.renderPlaceholder,className=_ref.className;var currentSlide=0;/**
5
5
  * @param {number} slide slide
6
- */var setCurrentSlide=function setCurrentSlide(slide){currentSlide=slide;};/** Handle click */var handleSlideClick=function handleSlideClick(){if(!media.length){return;}navigate(currentSlide);};if(!Array.isArray(media)||media.length===0){return renderPlaceholder(featuredMedia);}return React.createElement("div",{className:container},React.createElement(SurroundPortals,{portalName:PRODUCT_MEDIA},media&&React.createElement(Swiper,{paginationType:paginationType,loop:media.length>1,indicators:true,onSlideChange:setCurrentSlide,disabled:media.length===1,controls:media.some(function(m){return m.type===MEDIA_TYPE_VIDEO;}),className:className,"aria-hidden":ariaHidden},media.map(function(singleMedia){var Type=typeRenders[singleMedia.type];return React.createElement(Swiper.Item,{key:Object.values(singleMedia).join('_')},React.createElement(Type,{media:singleMedia,onClick:handleSlideClick}));}))));};MediaSlider.defaultProps={'aria-hidden':null,className:null,featuredMedia:null,paginationType:null,media:null,renderPlaceholder:function renderPlaceholder(featuredMedia){return React.createElement(MediaImage,featuredMedia);}};export default connect(MediaSlider);
6
+ */var setCurrentSlide=function setCurrentSlide(slide){currentSlide=slide;};/** Handle click */var handleSlideClick=function handleSlideClick(){if(!media.length){return;}navigate(currentSlide);};if(!Array.isArray(media)||media.length===0){return renderPlaceholder(featuredMedia);}return/*#__PURE__*/React.createElement("div",{className:container},/*#__PURE__*/React.createElement(SurroundPortals,{portalName:PRODUCT_MEDIA},media&&/*#__PURE__*/React.createElement(Swiper,{loop:media.length>1,indicators:true,onSlideChange:setCurrentSlide,disabled:media.length===1,controls:media.some(function(m){return m.type===MEDIA_TYPE_VIDEO;}),className:className,"aria-hidden":ariaHidden},media.map(function(singleMedia){var Type=typeRenders[singleMedia.type];return/*#__PURE__*/React.createElement(Swiper.Item,{key:Object.values(singleMedia).join('_')},/*#__PURE__*/React.createElement(Type,{media:singleMedia,onClick:handleSlideClick}));}))));};MediaSlider.defaultProps={'aria-hidden':null,className:null,featuredMedia:null,media:null,renderPlaceholder:function renderPlaceholder(featuredMedia){return/*#__PURE__*/React.createElement(MediaImage,featuredMedia);}};export default connect(MediaSlider);
@@ -1,16 +1,16 @@
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 _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,{PureComponent}from'react';import PropTypes from'prop-types';import{ProductContext}from'@shopgate/engage/product/contexts';import Option from"../Option";import TextOption from"../TextOption";import connect from"./connector";/**
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 _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,{PureComponent}from'react';import PropTypes from'prop-types';import Option from"../Option";import TextOption from"../TextOption";import{ProductContext}from"../../../context";import connect from"./connector";/**
2
2
  * The Product Options component.
3
- */var Options=/*#__PURE__*/function(_PureComponent){function Options(){var _this2;_classCallCheck(this,Options);for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}_this2=_callSuper(this,Options,[].concat(args));/**
4
- * @param {Object} props The component props.
5
- */_defineProperty(_this2,"handleStoreSelection",function(props){props.options.forEach(function(option){// Only options of type 'select' have a default value. Type 'text' has no default.
6
- if(option.type!=='select'){return;}_this2.context.setOption(option.id,option.items[0].value,option.items[0].price);});});return _this2;}_inherits(Options,_PureComponent);return _createClass(Options,[{key:"componentDidMount",value:/**
3
+ */var Options=/*#__PURE__*/function(_PureComponent){_inherits(Options,_PureComponent);var _super=_createSuper(Options);function Options(){var _this;_classCallCheck(this,Options);for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}_this=_super.call.apply(_super,[this].concat(args));_defineProperty(_assertThisInitialized(_this),"handleStoreSelection",function(props){props.options.forEach(function(option){// Only options of type 'select' have a default value. Type 'text' has no default.
4
+ if(option.type!=='select'){return;}_this.context.setOption(option.id,option.items[0].value,option.items[0].price);});});return _this;}_createClass(Options,[{key:"componentDidMount",value:/**
7
5
  * Triggers storeSelections when the component is mounted and has options set.
8
6
  */function componentDidMount(){if(!this.context||!this.context.setOption||!this.props.options){return;}this.handleStoreSelection(this.props);}/**
9
7
  * When the component receives the product options
10
8
  * it will set the first value of each option as active
11
9
  * @param {Object} nextProps The incoming props.
12
- */},{key:"UNSAFE_componentWillReceiveProps",value:function UNSAFE_componentWillReceiveProps(nextProps){if(!this.props.options&&nextProps.options){this.handleStoreSelection(nextProps);}}},{key:"render",value:/**
10
+ */},{key:"UNSAFE_componentWillReceiveProps",value:function UNSAFE_componentWillReceiveProps(nextProps){if(!this.props.options&&nextProps.options){this.handleStoreSelection(nextProps);}}/**
11
+ * @param {Object} props The component props.
12
+ */},{key:"render",value:/**
13
13
  * Renders the component
14
14
  * @returns {JSX}
15
- */function render(){var _this$props=this.props,options=_this$props.options,currentOptions=_this$props.currentOptions;if(!options){return null;}return React.createElement(ProductContext.Consumer,null,function(_ref){var setOption=_ref.setOption;return React.createElement("div",{"data-test-id":"optionsPicker",className:"engage__product__options"},options.map(function(option){switch(option.type){case'text':return React.createElement(TextOption,{key:option.id,id:option.id,label:option.label,value:currentOptions[option.id],info:option.info,onChange:setOption,required:option.required,price:option.price});case'select':return React.createElement(Option,{key:option.id,label:option.label,id:option.id,items:option.items,value:currentOptions[option.id],onChange:setOption});default:// unknown type
16
- return null;}}));});}}]);}(PureComponent);_defineProperty(Options,"contextType",ProductContext);_defineProperty(Options,"defaultProps",{currentOptions:{},options:null});export default connect(Options);
15
+ */function render(){var _this$props=this.props,options=_this$props.options,currentOptions=_this$props.currentOptions;if(!options){return null;}return/*#__PURE__*/React.createElement(ProductContext.Consumer,null,function(_ref){var setOption=_ref.setOption;return/*#__PURE__*/React.createElement("div",{"data-test-id":"optionsPicker",className:"engage__product__options"},options.map(function(option){switch(option.type){case'text':return/*#__PURE__*/React.createElement(TextOption,{key:option.id,id:option.id,label:option.label,value:currentOptions[option.id],info:option.info,onChange:setOption,required:option.required,price:option.price});case'select':return/*#__PURE__*/React.createElement(Option,{key:option.id,label:option.label,id:option.id,items:option.items,value:currentOptions[option.id],onChange:setOption});default:// unknown type
16
+ return null;}}));});}}]);return Options;}(PureComponent);_defineProperty(Options,"contextType",ProductContext);_defineProperty(Options,"defaultProps",{currentOptions:{},options:null});export default connect(Options);
@@ -1,2 +1,2 @@
1
- import React from'react';import{mount,shallow}from'enzyme';import{PickerUtilize as Picker}from'@shopgate/engage/components';import Options from"./index";jest.mock('@shopgate/engage/components');jest.mock('@shopgate/engage/product/contexts',function(){return{ProductContext:{Consumer:jest.fn(function(_ref){var children=_ref.children;return children({setOption:jest.fn(),currency:'EUR'});})}};});// Mock the redux connect() method instead of providing a fake store.
2
- jest.mock("./connector",function(){return function(obj){var newObj=obj;var mockOptions=[{id:'test-id',type:'select',label:'label',items:[{currency:'USD',price:10,priceDifference:0},{currency:'USD',price:10,priceDifference:0}]}];newObj.defaultProps={options:mockOptions,currentOptions:{}};return newObj;};});describe('<Options />',function(){var mockOptions=[{id:'test-id',type:'select',label:'label',items:[{currency:'USD',price:10,priceDifference:0},{currency:'USD',price:10,priceDifference:0}]}];describe('Given the component was mounted to the DOM',function(){it('should match snapshot',function(){var wrapper=shallow(React.createElement(Options,{currentOptions:{}})).dive();expect(wrapper).toMatchSnapshot();});it('should render correct number of options',function(){var wrapper=mount(React.createElement(Options,{options:mockOptions}));var picker=wrapper.find(Picker);expect(picker.length).toBe(mockOptions.length);});});});
1
+ import React from'react';import{mount,shallow}from'enzyme';import{PickerUtilize as Picker}from'@shopgate/engage/components';import Options from"./index";jest.mock("../../../context",function(){return{ProductContext:{Consumer:jest.fn(function(_ref){var children=_ref.children;return children({setOption:jest.fn(),currency:'EUR'});})}};});jest.mock('@shopgate/engage/components/View');// Mock the redux connect() method instead of providing a fake store.
2
+ jest.mock("./connector",function(){return function(obj){var newObj=obj;var mockOptions=[{id:'test-id',type:'select',label:'label',items:[{currency:'USD',price:10,priceDifference:0},{currency:'USD',price:10,priceDifference:0}]}];newObj.defaultProps={options:mockOptions,currentOptions:{}};return newObj;};});describe('<Options />',function(){var mockOptions=[{id:'test-id',type:'select',label:'label',items:[{currency:'USD',price:10,priceDifference:0},{currency:'USD',price:10,priceDifference:0}]}];describe('Given the component was mounted to the DOM',function(){it('should match snapshot',function(){var wrapper=shallow(/*#__PURE__*/React.createElement(Options,{currentOptions:{}})).dive();expect(wrapper).toMatchSnapshot();});it('should render correct number of options',function(){var wrapper=mount(/*#__PURE__*/React.createElement(Options,{options:mockOptions}));var picker=wrapper.find(Picker);expect(picker.length).toBe(mockOptions.length);});});});
@@ -1,4 +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{I18n,PickerUtilize as Picker}from'@shopgate/engage/components';import{PriceDifference}from'@shopgate/engage/product/components';import{ProductContext}from'@shopgate/engage/product/contexts';/**
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{I18n,PickerUtilize as Picker}from'@shopgate/engage/components';import{PriceDifference}from'@shopgate/engage/product';import{ProductContext}from"../../../context";/**
2
2
  * @param {Object} props The component props.
3
3
  * @returns {JSX}
4
- */var Option=function Option(_ref){var id=_ref.id,label=_ref.label,items=_ref.items,value=_ref.value,_onChange=_ref.onChange;return React.createElement(ProductContext.Consumer,null,function(_ref2){var currency=_ref2.currency;return React.createElement("div",{key:id,"data-test-id":label},React.createElement(Picker,{label:label,items:items.map(function(item){return _extends({},item,{rightComponent:React.createElement(PriceDifference,{currency:currency,difference:item.priceDifference})});}),placeholder:React.createElement(I18n.Text,{string:"product.pick_an_attribute",params:[label]}),value:value,onChange:function onChange(val){return _onChange(id,val,items.find(function(item){return item.value===val;}).price);}}));});};Option.defaultProps={value:null};export default Option;
4
+ */var Option=function Option(_ref){var id=_ref.id,label=_ref.label,items=_ref.items,value=_ref.value,_onChange=_ref.onChange;return/*#__PURE__*/React.createElement(ProductContext.Consumer,null,function(_ref2){var currency=_ref2.currency;return/*#__PURE__*/React.createElement("div",{key:id,"data-test-id":label},/*#__PURE__*/React.createElement(Picker,{label:label,items:items.map(function(item){return _extends({},item,{rightComponent:/*#__PURE__*/React.createElement(PriceDifference,{currency:currency,difference:item.priceDifference})});}),placeholder:/*#__PURE__*/React.createElement(I18n.Text,{string:"product.pick_an_attribute",params:[label]}),value:value,onChange:function onChange(val){return _onChange(id,val,items.find(function(item){return item.value===val;}).price);}}));});};Option.defaultProps={value:null};export default Option;
@@ -1,9 +1,9 @@
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,{memo}from'react';import PropTypes from'prop-types';import{Grid,I18n}from'@shopgate/engage/components';import{ProductContext}from'@shopgate/engage/product/contexts';import styles from"./style";/**
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,{memo}from'react';import PropTypes from'prop-types';import Grid from'@shopgate/pwa-common/components/Grid';import I18n from'@shopgate/pwa-common/components/I18n';import{ProductContext}from"../../../../../context";import styles from"./style";/**
2
2
  * The text option info component
3
3
  * @param {Object} props The component props
4
4
  * @param {Object} context The component context
5
5
  * @return {JSX}
6
- */var OptionInfo=function OptionInfo(_ref,context){var required=_ref.required,label=_ref.label,price=_ref.price,currency=_ref.currency,info=_ref.info,optionInfoId=_ref.optionInfoId;if(!required&&!price){return null;}var _context$i18n=context.i18n(),__=_context$i18n.__,_p=_context$i18n._p;var ariaPrice='';var ariaRequired='';if(price){ariaPrice=__('price.label',{price:_p(price,currency,2).replace('-',"\u2212")});}if(required){ariaRequired=__('common.required');}return React.createElement(Grid,{className:styles.info},required&&React.createElement(Grid.Item,{className:styles.required,"aria-hidden":true},React.createElement(I18n.Text,{string:"common.required"})),!!price&&React.createElement(Grid.Item,{grow:1,className:styles.price,"aria-hidden":true},"".concat(label,": "),React.createElement(I18n.Price,{currency:currency,price:price})),React.createElement("div",{hidden:true,id:optionInfoId},ariaRequired,ariaPrice,info));};OptionInfo.contextTypes={i18n:PropTypes.func};/**
6
+ */var OptionInfo=function OptionInfo(_ref,context){var required=_ref.required,label=_ref.label,price=_ref.price,currency=_ref.currency,info=_ref.info,optionInfoId=_ref.optionInfoId;if(!required&&!price){return null;}var _context$i18n=context.i18n(),__=_context$i18n.__,_p=_context$i18n._p;var ariaPrice='';var ariaRequired='';if(price){ariaPrice=__('price.label',{price:_p(price,currency,2).replace('-',"\u2212")});}if(required){ariaRequired=__('common.required');}return/*#__PURE__*/React.createElement(Grid,{className:styles.info},required&&/*#__PURE__*/React.createElement(Grid.Item,{className:styles.required,"aria-hidden":true},/*#__PURE__*/React.createElement(I18n.Text,{string:"common.required"})),!!price&&/*#__PURE__*/React.createElement(Grid.Item,{grow:1,className:styles.price,"aria-hidden":true},"".concat(label,": "),/*#__PURE__*/React.createElement(I18n.Price,{currency:currency,price:price})),/*#__PURE__*/React.createElement("div",{hidden:true,id:optionInfoId},ariaRequired,ariaPrice,info));};OptionInfo.contextTypes={i18n:PropTypes.func};/**
7
7
  * @param {Object} props The component props.
8
8
  * @returns {JSX}
9
- */var OptionInfoWithProductContext=function OptionInfoWithProductContext(props){return React.createElement(ProductContext.Consumer,null,function(_ref2){var currency=_ref2.currency;return React.createElement(OptionInfo,_extends({currency:currency},props));});};export default memo(OptionInfoWithProductContext);export{OptionInfo};
9
+ */var OptionInfoWithProductContext=function OptionInfoWithProductContext(props){return/*#__PURE__*/React.createElement(ProductContext.Consumer,null,function(_ref2){var currency=_ref2.currency;return/*#__PURE__*/React.createElement(OptionInfo,_extends({currency:currency},props));});};export default/*#__PURE__*/memo(OptionInfoWithProductContext);export{OptionInfo};
@@ -1 +1 @@
1
- import React from'react';import{shallow}from'enzyme';import mockRenderOptions from'@shopgate/pwa-common/helpers/mocks/mockRenderOptions';import{OptionInfo}from"./index";var optionInfoText='Some Text';var optionInfoId='some-id';jest.mock('@shopgate/engage/components',function(){var _jest$requireActual=jest.requireActual('@shopgate/pwa-common/components/Grid'),Grid=_jest$requireActual["default"];var _jest$requireActual2=jest.requireActual('@shopgate/pwa-common/components/I18n'),I18n=_jest$requireActual2["default"];return{Grid:Grid,I18n:I18n};});jest.mock('@shopgate/engage/product/contexts',function(){return{ProductContext:{Consumer:function Consumer(_ref){var children=_ref.children;return children({currency:'EUR'});}}};});describe('<OptionInfo />',function(){it('should not render when not required and no price',function(){var wrapper=shallow(React.createElement(OptionInfo,{required:false,label:"",price:0,currency:"EUR",info:optionInfoText,optionInfoId:optionInfoId}),mockRenderOptions);expect(wrapper).toBeEmptyRender();});it('should render required element',function(){var wrapper=shallow(React.createElement(OptionInfo,{required:true,label:"",price:0,currency:"EUR",info:optionInfoText,optionInfoId:optionInfoId}),mockRenderOptions).dive();expect(wrapper).toMatchSnapshot();});it('should render price element',function(){var wrapper=shallow(React.createElement(OptionInfo,{required:false,label:"Label",price:10,currency:"EUR",info:optionInfoText,optionInfoId:optionInfoId}),mockRenderOptions).dive();expect(wrapper).toMatchSnapshot();});});
1
+ import React from'react';import{shallow}from'enzyme';import mockRenderOptions from'@shopgate/pwa-common/helpers/mocks/mockRenderOptions';import{OptionInfo}from"./index";var optionInfoText='Some Text';var optionInfoId='some-id';describe('<OptionInfo />',function(){it('should not render when not required and no price',function(){var wrapper=shallow(/*#__PURE__*/React.createElement(OptionInfo,{required:false,label:"",price:0,currency:"EUR",info:optionInfoText,optionInfoId:optionInfoId}),mockRenderOptions);expect(wrapper).toBeEmptyRender();});it('should render required element',function(){var wrapper=shallow(/*#__PURE__*/React.createElement(OptionInfo,{required:true,label:"",price:0,currency:"EUR",info:optionInfoText,optionInfoId:optionInfoId}),mockRenderOptions).dive();expect(wrapper).toMatchSnapshot();});it('should render price element',function(){var wrapper=shallow(/*#__PURE__*/React.createElement(OptionInfo,{required:false,label:"Label",price:10,currency:"EUR",info:optionInfoText,optionInfoId:optionInfoId}),mockRenderOptions).dive();expect(wrapper).toMatchSnapshot();});});
@@ -1 +1 @@
1
- import{css}from'glamor';import{themeConfig}from'@shopgate/pwa-common/helpers/config';var colors=themeConfig.colors,variables=themeConfig.variables;var info=css({marginTop:variables.gap.xsmall,padding:"0 ".concat(variables.gap.big,"px")}).toString();var required=css({color:"var(--color-text-medium-emphasis, ".concat(colors.shade9,")"),fontSize:'0.825rem'}).toString();var price=css({textAlign:'right',fontSize:'0.825rem'}).toString();export default{info:info,required:required,price:price};
1
+ import{css}from'glamor';import{themeConfig}from'@shopgate/pwa-common/helpers/config';var colors=themeConfig.colors,variables=themeConfig.variables;var info=css({marginTop:variables.gap.xsmall,padding:"0 ".concat(variables.gap.big,"px")}).toString();var required=css({color:colors.shade9,fontSize:'0.825rem'}).toString();var price=css({textAlign:'right',fontSize:'0.825rem'}).toString();export default{info:info,required:required,price:price};
@@ -1,22 +1,10 @@
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);}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 _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,{Fragment,PureComponent}from'react';import PropTypes from'prop-types';import Transition from'react-transition-group/Transition';import debounce from'lodash/debounce';import{TextField,InfoIcon}from'@shopgate/engage/components';import{withShowModal}from'@shopgate/engage/core/hocs';import{broadcastLiveMessage}from'@shopgate/engage/a11y';import{ProductContext}from'@shopgate/engage/product/contexts';import transition from'@shopgate/engage/product/components/Characteristics/transition';import OptionInformation from"./components/OptionInfo";import styles from"./style";/**
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 _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,{Fragment,PureComponent}from'react';import PropTypes from'prop-types';import Transition from'react-transition-group/Transition';import debounce from'lodash/debounce';import TextField from'@shopgate/pwa-ui-shared/Form/TextField';import InfoIcon from'@shopgate/pwa-ui-shared/icons/InfoIcon';import withShowModal from'@shopgate/pwa-common/helpers/modal/withShowModal';import{broadcastLiveMessage}from'@shopgate/engage/a11y';import transition from"../../../Characteristics/transition";import{ProductContext}from"../../../context";import OptionInformation from"./components/OptionInfo";import styles from"./style";/**
2
2
  * The TextOption component
3
- */var TextOption=/*#__PURE__*/function(_PureComponent){function TextOption(props){var _this2;_classCallCheck(this,TextOption);_this2=_callSuper(this,TextOption,[props]);/**
3
+ */var TextOption=/*#__PURE__*/function(_PureComponent){_inherits(TextOption,_PureComponent);var _super=_createSuper(TextOption);/**
4
+ * @param {Object} props The component props.
5
+ */function TextOption(props){var _this;_classCallCheck(this,TextOption);_this=_super.call(this,props);_defineProperty(_assertThisInitialized(_this),"setRef",function(ref){_this.ref=ref;});_defineProperty(_assertThisInitialized(_this),"removeHighlight",function(){_this.setState({highlight:false});});_defineProperty(_assertThisInitialized(_this),"checkInput",function(){if(!_this.props.required){return true;}if(_this.props.value){return true;}broadcastLiveMessage('product.fill_out_required_input_first');_this.ref.scrollIntoView({behavior:'smooth'});_this.setState({highlight:true});return false;});_defineProperty(_assertThisInitialized(_this),"infoIcon",function(){if(!_this.props.info){return null;}var _this$props=_this.props,label=_this$props.label,info=_this$props.info,showModal=_this$props.showModal;return/*#__PURE__*/React.createElement("div",{onClick:function onClick(){return showModal({title:label,message:info});},"aria-hidden":true},/*#__PURE__*/React.createElement(InfoIcon,{size:24,className:styles.infoIcon}));});_defineProperty(_assertThisInitialized(_this),"handleKeyPress",function(event){// Enter key and on iOS also the "Done" button.
6
+ if(event.which===13){_this.ref.blur();}});_defineProperty(_assertThisInitialized(_this),"handleChange",function(val){_this.props.onChange(_this.props.id,val,_this.props.price);});_defineProperty(_assertThisInitialized(_this),"handleDebounced",debounce(_this.handleChange,300));_this.state={highlight:false};_this.ref=null;props.conditioner.addConditioner("text-option-".concat(props.id),_this.checkInput);return _this;}/**
4
7
  * @param {Object} ref ref
5
- */_defineProperty(_this2,"setRef",function(ref){_this2.ref=ref;});/**
6
- * Remove highlight state
7
- */_defineProperty(_this2,"removeHighlight",function(){_this2.setState({highlight:false});});/**
8
- * Checks if required input is done.
9
- * @return {boolean}
10
- */_defineProperty(_this2,"checkInput",function(){if(!_this2.props.required){return true;}if(_this2.props.value){return true;}broadcastLiveMessage('product.fill_out_required_input_first');_this2.ref.scrollIntoView({behavior:'smooth'});_this2.setState({highlight:true});return false;});/**
11
- * @returns {JSX}
12
- */_defineProperty(_this2,"infoIcon",function(){if(!_this2.props.info){return null;}var _this2$props=_this2.props,label=_this2$props.label,info=_this2$props.info,showModal=_this2$props.showModal;return React.createElement("div",{onClick:function onClick(){return showModal({title:label,message:info});},"aria-hidden":true},React.createElement(InfoIcon,{size:24,className:styles.infoIcon}));});/**
13
- * Handles form submits by key.
14
- * @param {Object} event The event that caused the keypress.
15
- */_defineProperty(_this2,"handleKeyPress",function(event){// Enter key and on iOS also the "Done" button.
16
- if(event.which===13){_this2.ref.blur();}});/**
17
- * @param {string} val value.
18
- */_defineProperty(_this2,"handleChange",function(val){_this2.props.onChange(_this2.props.id,val,_this2.props.price);});_defineProperty(_this2,"handleDebounced",debounce(_this2.handleChange,300));_this2.state={highlight:false};_this2.ref=null;props.conditioner.addConditioner("text-option-".concat(props.id),_this2.checkInput);return _this2;}_inherits(TextOption,_PureComponent);return _createClass(TextOption,[{key:"render",value:/**
8
+ */_createClass(TextOption,[{key:"render",value:/**
19
9
  * @return {JSX}
20
- */function render(){var _this3=this;var _this$props=this.props,id=_this$props.id,label=_this$props.label,value=_this$props.value,required=_this$props.required,price=_this$props.price,info=_this$props.info;var optionInfoId=id;return React.createElement("div",{className:styles.row},React.createElement(Transition,{"in":this.state.highlight,timeout:700,onEntered:this.removeHighlight},function(state){return React.createElement(Fragment,null,React.createElement("div",{className:styles.wrapper,style:transition[state]},React.createElement(TextField,{setRef:_this3.setRef,name:"text_".concat(id),value:value,onChange:_this3.handleDebounced,onKeyPress:_this3.handleKeyPress,placeholder:label,label:label,rightElement:_this3.infoIcon(),"data-test-id":label,hasUnderline:false,className:styles.element,attributes:{'aria-describedby':optionInfoId}})),React.createElement(OptionInformation,{label:label,required:required,price:price,info:info,optionInfoId:optionInfoId}));}));}}]);}(PureComponent);_defineProperty(TextOption,"defaultProps",{info:null,value:null/**
21
- * @param {Object} props The component props.
22
- */});export default withShowModal(function(props){return React.createElement(ProductContext.Consumer,null,function(_ref){var conditioner=_ref.conditioner;return React.createElement(TextOption,_extends({conditioner:conditioner},props));});});
10
+ */function render(){var _this2=this;var _this$props2=this.props,id=_this$props2.id,label=_this$props2.label,value=_this$props2.value,required=_this$props2.required,price=_this$props2.price,info=_this$props2.info;var optionInfoId=id;return/*#__PURE__*/React.createElement("div",{className:styles.row},/*#__PURE__*/React.createElement(Transition,{"in":this.state.highlight,timeout:700,onEntered:this.removeHighlight},function(state){return/*#__PURE__*/React.createElement(Fragment,null,/*#__PURE__*/React.createElement("div",{className:styles.wrapper,style:transition[state]},/*#__PURE__*/React.createElement(TextField,{setRef:_this2.setRef,name:"text_".concat(id),value:value,onChange:_this2.handleDebounced,onKeyPress:_this2.handleKeyPress,placeholder:label,label:label,rightElement:_this2.infoIcon(),"data-test-id":label,hasUnderline:false,className:styles.element,attributes:{'aria-describedby':optionInfoId}})),/*#__PURE__*/React.createElement(OptionInformation,{label:label,required:required,price:price,info:info,optionInfoId:optionInfoId}));}));}}]);return TextOption;}(PureComponent);_defineProperty(TextOption,"defaultProps",{info:null,value:null});export default withShowModal(function(props){return/*#__PURE__*/React.createElement(ProductContext.Consumer,null,function(_ref){var conditioner=_ref.conditioner;return/*#__PURE__*/React.createElement(TextOption,_extends({conditioner:conditioner},props));});});
@@ -1 +1 @@
1
- import{css}from'glamor';import{themeConfig}from'@shopgate/pwa-common/helpers/config';var colors=themeConfig.colors,variables=themeConfig.variables;var row=css({marginBottom:variables.gap.small}).toString();var wrapper=css({backgroundColor:"var(--color-background-accent, ".concat(colors.shade8,")"),padding:"".concat(variables.gap.small,"px ").concat(variables.gap.big,"px"),minHeight:56}).toString();var element=css({paddingBottom:0,'& label':{fontWeight:400,color:'var(--color-text-high-emphasis, inherit)'},'& input':{fontWeight:500,color:'var(--color-text-high-emphasis)'},'& .placeholder':{color:'var(--color-text-low-emphasis)'}}).toString();var infoIcon=css({color:colors.shade9}).toString();export default{row:row,wrapper:wrapper,element:element,infoIcon:infoIcon};
1
+ import{css}from'glamor';import{themeConfig}from'@shopgate/pwa-common/helpers/config';var colors=themeConfig.colors,variables=themeConfig.variables;var row=css({marginBottom:variables.gap.small}).toString();var wrapper=css({backgroundColor:colors.shade8,padding:"".concat(variables.gap.small,"px ").concat(variables.gap.big,"px"),minHeight:56}).toString();var element=css({paddingBottom:0,'& label':{fontWeight:400,color:'inherit'},'& input':{fontWeight:500}}).toString();var infoIcon=css({color:colors.shade9}).toString();export default{row:row,wrapper:wrapper,element:element,infoIcon:infoIcon};
@@ -1,5 +1,5 @@
1
- import React from'react';import{PRODUCT_OPTIONS}from'@shopgate/engage/product/constants';import{SurroundPortals}from'@shopgate/engage/components';import{ProductContext}from"../context";import Content from"./components/Content";import Option from"./components/Option";import TextOption from"./components/TextOption";// Export for theme api
1
+ import React from'react';import{PRODUCT_OPTIONS}from'@shopgate/pwa-common-commerce/product/constants/Portals';import SurroundPortals from'@shopgate/pwa-common/components/SurroundPortals';import{ProductContext}from"../context";import Content from"./components/Content";import Option from"./components/Option";import TextOption from"./components/TextOption";// Export for theme api
2
2
  export{TextOption,Option as SelectOption};/**
3
3
  * The Product Options component.
4
4
  * @returns {JSX}
5
- */var Options=function Options(){return React.createElement(ProductContext.Consumer,null,function(_ref){var productId=_ref.productId,variantId=_ref.variantId,options=_ref.options;return React.createElement(SurroundPortals,{portalName:PRODUCT_OPTIONS,portalProps:{productId:variantId||productId}},React.createElement(Content/* props needed in connector */,{productId:variantId||productId,currentOptions:options}));});};export default Options;
5
+ */var Options=function Options(){return/*#__PURE__*/React.createElement(ProductContext.Consumer,null,function(_ref){var productId=_ref.productId,variantId=_ref.variantId,options=_ref.options;return/*#__PURE__*/React.createElement(SurroundPortals,{portalName:PRODUCT_OPTIONS,portalProps:{productId:variantId||productId}},/*#__PURE__*/React.createElement(Content/* props needed in connector */,{productId:variantId||productId,currentOptions:options}));});};export default Options;
@@ -1,5 +1,4 @@
1
- import React,{useMemo}from'react';import PropTypes from'prop-types';import{I18n,SurroundPortals}from'@shopgate/engage/components';import{i18n,hasNewServices,isBeta}from'@shopgate/engage/core/helpers';import{useWidgetSettings}from'@shopgate/engage/core/hooks';import{PRODUCT_ORDER_QUANTITY}from'@shopgate/engage/product';import{formatFloat}from'@shopgate/engage/components/QuantityInput/helper';import withProductStock from"../../hocs/withProductStock";import withProduct from"../../hocs/withProduct";import{hint}from"./style";/**
1
+ import React from'react';import PropTypes from'prop-types';import{I18n,SurroundPortals}from'@shopgate/engage/components';import{isBeta,useWidgetSettings}from'@shopgate/engage/core';import{PRODUCT_ORDER_QUANTITY}from'@shopgate/engage/product';import withProductStock from"../../hocs/withProductStock";import{hint}from"./style";/**
2
2
  * The Product Order Quantity Hint component.
3
3
  * @return {JSX}
4
- */var OrderQuantityHint=function OrderQuantityHint(_ref){var stock=_ref.stock,product=_ref.product,className=_ref.className;var _ref2=product||{},hasCatchWeight=_ref2.hasCatchWeight,productUnit=_ref2.unit;var settings=useWidgetSettings('@shopgate/engage/product/OrderQuantityHint');var showContent=useMemo(function(){if(hasNewServices()){// During development of PWA 7 the component was shown by default
5
- return true;}return isBeta()&&settings.show===true;},[settings.show]);var unit=useMemo(function(){if(hasCatchWeight){var key="formats.unitOfMeasurement.".concat(productUnit);var text=i18n.text(key);return text!==key?text:productUnit||'';}return'';},[hasCatchWeight,productUnit]);var maxDecimals=useMemo(function(){return hasCatchWeight&&productUnit?2:0;},[hasCatchWeight,productUnit]);return React.createElement("div",{className:className},React.createElement(SurroundPortals,{portalName:PRODUCT_ORDER_QUANTITY,portalProps:{stock:stock}},showContent&&stock&&!!stock.minOrderQuantity&&React.createElement("div",{className:hint},React.createElement(I18n.Text,{string:"product.minOrderQuantity",params:{quantity:formatFloat(stock.minOrderQuantity,maxDecimals),unit:unit}})),showContent&&stock&&!!stock.maxOrderQuantity&&React.createElement("div",{className:hint},React.createElement(I18n.Text,{string:"product.maxOrderQuantity",params:{quantity:formatFloat(stock.maxOrderQuantity,maxDecimals),unit:unit}}))));};OrderQuantityHint.defaultProps={className:null,stock:null,product:null};export default withProduct(withProductStock(OrderQuantityHint));
4
+ */var OrderQuantityHint=function OrderQuantityHint(_ref){var stock=_ref.stock;if(!isBeta()){return null;}var settings=useWidgetSettings('@shopgate/engage/product/OrderQuantityHint');return/*#__PURE__*/React.createElement(SurroundPortals,{portalName:PRODUCT_ORDER_QUANTITY,portalProps:{stock:stock}},settings.show&&stock&&!!stock.minOrderQuantity&&/*#__PURE__*/React.createElement("div",{className:hint},/*#__PURE__*/React.createElement(I18n.Text,{string:"product.minOrderQuantity",params:{quantity:stock.minOrderQuantity}})),settings.show&&stock&&!!stock.maxOrderQuantity&&/*#__PURE__*/React.createElement("div",{className:hint},/*#__PURE__*/React.createElement(I18n.Text,{string:"product.maxOrderQuantity",params:{quantity:stock.maxOrderQuantity}})));};OrderQuantityHint.defaultProps={stock:null};export default withProductStock(OrderQuantityHint);
@@ -1 +1 @@
1
- import{css}from'glamor';import{themeConfig}from'@shopgate/pwa-common/helpers/config';export var hint=css({fontSize:'0.75rem',color:"var(--color-text-medium-emphasis, ".concat(themeConfig.colors.shade11,")")});
1
+ import{css}from'glamor';import{themeConfig}from'@shopgate/pwa-common/helpers/config';export var hint=css({fontSize:'0.75rem',color:themeConfig.colors.shade3});
@@ -5,4 +5,4 @@ function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj
5
5
  * @param {string} props.currency The currency of the price.
6
6
  * @param {number} props.difference The price difference.
7
7
  * @return {JSX}
8
- */var PriceDifference=function PriceDifference(_ref){var className=_ref.className,currency=_ref.currency,difference=_ref.difference;if(difference===0){return null;}var priceClassName=classNames(className,_defineProperty(_defineProperty({},styles.positive,difference>0),styles.negative,difference<0));return React.createElement(Price,{className:priceClassName,currency:currency,unitPrice:difference});};PriceDifference.defaultProps={className:''};export default PriceDifference;
8
+ */var PriceDifference=function PriceDifference(_ref){var _classNames;var className=_ref.className,currency=_ref.currency,difference=_ref.difference;if(difference===0){return null;}var priceClassName=classNames(className,(_classNames={},_defineProperty(_classNames,styles.positive,difference>0),_defineProperty(_classNames,styles.negative,difference<0),_classNames));return/*#__PURE__*/React.createElement(Price,{className:priceClassName,currency:currency,unitPrice:difference});};PriceDifference.defaultProps={className:''};export default PriceDifference;
@@ -1 +1 @@
1
- import{css}from'glamor';import{themeConfig}from'@shopgate/pwa-common/helpers/config';var colors=themeConfig.colors;var positive=css({color:colors.shade4,':before':{content:'"+"'}}).toString();var negative=css({color:"var(--color-primary, ".concat(colors.primary,")")}).toString();export default{positive:positive,negative:negative};
1
+ import{css}from'glamor';import{themeConfig}from'@shopgate/pwa-common/helpers/config';var colors=themeConfig.colors;var positive=css({color:colors.shade4,':before':{content:'"+"'}}).toString();var negative=css({color:colors.primary}).toString();export default{positive:positive,negative:negative};
@@ -1,5 +1,5 @@
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,{useMemo}from'react';import PropTypes from'prop-types';import{css}from'glamor';import classNames from'classnames';import kebabCase from'lodash/kebabCase';import{SurroundPortals}from"../../../components";import{PORTAL_PRODUCT_BADGES}from"../../../components/constants";var styles={root:css({position:'absolute',paddingLeft:10,left:0,top:10,zIndex:5,transform:'translate3d(0, 0, 0)',display:'flex',pointerEvents:'none',width:'100%',' > *:empty':{display:'none'}}).toString()};/**
2
2
  * The ProductBadges component
3
3
  * @param {Object} props The component props
4
- * @returns {JSX.Element}
5
- */var ProductBadges=function ProductBadges(_ref){var children=_ref.children,location=_ref.location,productId=_ref.productId,portalProps=_ref.portalProps,className=_ref.className;var props=useMemo(function(){return _extends({},portalProps,{location:location,productId:productId});},[location,portalProps,productId]);var locationClass=useMemo(function(){if(!location){return'';}return"product_badges__".concat(kebabCase(location));},[location]);return React.createElement("div",{className:classNames(styles.root,className,'product_badges',locationClass)},React.createElement(SurroundPortals,{portalName:PORTAL_PRODUCT_BADGES,portalProps:props},children));};ProductBadges.defaultProps={portalProps:null,children:PropTypes.node,className:''};export default ProductBadges;
4
+ * @returns {JSX}
5
+ */var ProductBadges=function ProductBadges(_ref){var children=_ref.children,location=_ref.location,productId=_ref.productId,portalProps=_ref.portalProps,className=_ref.className;var props=useMemo(function(){return _extends({},portalProps,{location:location,productId:productId});},[location,portalProps,productId]);var locationClass=useMemo(function(){if(!location){return'';}return"product_badges__".concat(kebabCase(location));},[location]);return/*#__PURE__*/React.createElement("div",{className:classNames(styles.root,className,'product_badges',locationClass)},/*#__PURE__*/React.createElement(SurroundPortals,{portalName:PORTAL_PRODUCT_BADGES,portalProps:props},children));};ProductBadges.defaultProps={portalProps:null,children:PropTypes.node,className:''};export default ProductBadges;
@@ -1,4 +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,{useMemo}from'react';import PropTypes from'prop-types';import{isBeta}from'@shopgate/engage/core/helpers';import{useWidgetSettings}from'@shopgate/engage/core/hooks';import{useProductListType}from'@shopgate/engage/product/hooks';import{Link,RatingStars,DiscountBadge,SurroundPortals}from'@shopgate/engage/components';import{getProductRoute}from'@shopgate/engage/product';import{MapPriceHint,ProductImage,OrderQuantityHint,FeaturedMedia,Swatches,ProductName,ProductBadges}from'@shopgate/engage/product/components';import{getProductImageSettings}from'@shopgate/engage/product/helpers';import{PRODUCT_ITEM_DISCOUNT,PRODUCT_ITEM_PRICE}from'@shopgate/engage/category';import ProductGridPrice from"../ProductGridPrice";import styles from"./style";var location='productCard';/**
1
+ import React,{Fragment}from'react';import PropTypes from'prop-types';import{isBeta,useWidgetSettings}from'@shopgate/engage/core';import{Link,Ellipsis,Portal,RatingStars,DiscountBadge}from'@shopgate/engage/components';import{getProductRoute,MapPriceHint,ProductImage,OrderQuantityHint,FeaturedMedia,Swatches,ProductBadges}from'@shopgate/engage/product';import*as portals from'@shopgate/pwa-common-commerce/category';import ProductGridPrice from"../ProductGridPrice";import{getProductImageSettings}from"../../helpers";import styles from"./style";var location='productCard';/**
2
2
  * The ProductCard component.
3
3
  * @param {Object} props The component props.
4
4
  * @param {Object} props.product The product data.
@@ -6,14 +6,5 @@ function _extends(){_extends=Object.assign||function(target){for(var i=1;i<argum
6
6
  * @param {boolean} props.hideRating Whether the rating should be hidden.
7
7
  * @param {boolean} props.hideName Whether the name should be hidden.
8
8
  * @param {number} props.titleRows The max number of rows for the product title.
9
- * @param {string} props.url Optional alternative url for the product link
10
- * @return {JSX.Element}
11
- */function ProductCard(props){var product=props.product,hidePrice=props.hidePrice,hideRating=props.hideRating,hideName=props.hideName,titleRows=props.titleRows,url=props.url;var _useProductListType=useProductListType(),meta=_useProductListType.meta;var _getProductImageSetti=getProductImageSettings(),gridResolutions=_getProductImageSetti.ListImage;var _useWidgetSettings=useWidgetSettings('@shopgate/engage/rating'),_useWidgetSettings$sh=_useWidgetSettings.showEmptyRatingStars,showEmptyRatingStars=_useWidgetSettings$sh===void 0?false:_useWidgetSettings$sh;var showRatings=useMemo(function(){var _product$rating;if(!hideRating&&(product===null||product===void 0?void 0:(_product$rating=product.rating)===null||_product$rating===void 0?void 0:_product$rating.average)>0){return true;}if(!hideRating&&showEmptyRatingStars&&(product===null||product===void 0?void 0:product.rating)){return true;}return false;},[hideRating,product,showEmptyRatingStars]);return React.createElement(Link,{className:"engage__product-card",href:url||getProductRoute(product.id),itemProp:"item",itemScope:true,itemType:"http://schema.org/Product",tabIndex:0,state:_extends({},meta)},isBeta()&&product.featuredMedia?React.createElement(FeaturedMedia,{type:product.featuredMedia.type,url:product.featuredMedia.url,altText:product.featuredMedia.altText}):React.createElement(ProductImage,{src:product.featuredImageBaseUrl,resolutions:gridResolutions,alt:product.name,itemProp:"image"}),React.createElement(ProductBadges,{location:location,productId:product.id},!!(!hidePrice&&product.price.discount)&&React.createElement("div",{className:styles.badgeWrapper},React.createElement(SurroundPortals,{portalName:PRODUCT_ITEM_DISCOUNT,portalProps:{productId:product.id}},React.createElement(DiscountBadge,{text:"-".concat(product.price.discount,"%")})))),!(hidePrice&&hideRating)&&React.createElement("div",{className:"".concat(styles.details," engage__product-card__information")},showRatings&&React.createElement(RatingStars,{value:product.rating.average}),React.createElement(Swatches,{productId:product.id}),!hideName&&React.createElement(ProductName,{name:product.name,className:styles.title,testId:"Productname: ".concat(product.name),itemProp:"name",rows:titleRows||3}),React.createElement(MapPriceHint,{productId:product.id}),React.createElement(OrderQuantityHint,{productId:product.id}),!hidePrice&&React.createElement(SurroundPortals,{portalName:PRODUCT_ITEM_PRICE,portalProps:{productId:product.id,location:location}},React.createElement(ProductGridPrice,{product:product}))));}/**
12
- * After a refactoring of the Theme API ProductCard component, this component replaced a
13
- * sub-component of the ProductCard.
14
- * The original implementation exposed a couple of sub-components that don't exist in the new
15
- * implementation. Since we expect that they are not used anywhere, we replace them with mocks.
16
- *
17
- * Link to a GitHub tag that contains the original implementation:
18
- * @link https://github.com/shopgate/pwa/blob/v7.27.1/themes/theme-ios11/themeApi/ProductCard/components/Render/index.jsx#L115
19
- */ProductCard.Badge=function(){return null;};ProductCard.Price=function(){return null;};ProductCard.Title=function(){return null;};ProductCard.defaultProps={hideName:false,hidePrice:false,hideRating:false,titleRows:3,url:null};export default ProductCard;
9
+ * @return {JSX}
10
+ */function ProductCard(props){var product=props.product,hidePrice=props.hidePrice,hideRating=props.hideRating,hideName=props.hideName,titleRows=props.titleRows,linkState=props.linkState,linkReplace=props.linkReplace,linkHref=props.linkHref;var _getProductImageSetti=getProductImageSettings(),gridResolutions=_getProductImageSetti.ListImage;var _useWidgetSettings=useWidgetSettings('@shopgate/engage/rating'),_useWidgetSettings$sh=_useWidgetSettings.showEmptyRatingStars,showEmptyRatingStars=_useWidgetSettings$sh===void 0?false:_useWidgetSettings$sh;var showRatings=false;if(!hideRating&&product.rating&&product.rating.average>0){showRatings=true;}else if(!hideRating&&showEmptyRatingStars&&product.rating){showRatings=true;}return/*#__PURE__*/React.createElement(Link,{className:"engage__product-card",tagName:"a",href:linkHref||getProductRoute(product.id),itemProp:"item",itemScope:true,itemType:"http://schema.org/Product",state:linkState,replace:linkReplace},isBeta()&&product.featuredMedia?/*#__PURE__*/React.createElement(FeaturedMedia,{type:product.featuredMedia.type,url:product.featuredMedia.url,altText:product.featuredMedia.altText}):/*#__PURE__*/React.createElement(ProductImage,{src:product.featuredImageBaseUrl,resolutions:gridResolutions,alt:product.name,itemProp:"image"}),/*#__PURE__*/React.createElement(ProductBadges,{location:location,productId:product.id},!!(!hidePrice&&product.price.discount)&&/*#__PURE__*/React.createElement("div",{className:styles.badgeWrapper},/*#__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,{text:"-".concat(product.price.discount,"%")})),/*#__PURE__*/React.createElement(Portal,{name:portals.PRODUCT_ITEM_DISCOUNT_AFTER,props:{productId:product.id}}))),!(hidePrice&&hideRating)&&/*#__PURE__*/React.createElement("div",{className:styles.details},showRatings&&/*#__PURE__*/React.createElement(RatingStars,{value:product.rating.average}),/*#__PURE__*/React.createElement(Swatches,{productId:product.id}),!hideName&&/*#__PURE__*/React.createElement("div",{itemProp:"name",className:styles.title,"data-test-id":"Productname: ".concat(product.name)},/*#__PURE__*/React.createElement(Ellipsis,{rows:titleRows||3},product.name)),/*#__PURE__*/React.createElement(MapPriceHint,{productId:product.id}),/*#__PURE__*/React.createElement(OrderQuantityHint,{productId:product.id}),!hidePrice&&/*#__PURE__*/React.createElement(Fragment,null,/*#__PURE__*/React.createElement(Portal,{name:portals.PRODUCT_ITEM_PRICE_BEFORE,props:{productId:product.id,location:location}}),/*#__PURE__*/React.createElement(Portal,{name:portals.PRODUCT_ITEM_PRICE,props:{productId:product.id,location:location}},/*#__PURE__*/React.createElement(ProductGridPrice,{price:product.price})),/*#__PURE__*/React.createElement(Portal,{name:portals.PRODUCT_ITEM_PRICE_AFTER,props:{productId:product.id,location:location}}))));}ProductCard.defaultProps={linkState:{},linkReplace:false,linkHref:''};export default ProductCard;
@@ -1 +1 @@
1
- import{css}from'glamor';var details=css({padding:'12px 16px',lineHeight:1.35}).toString();var title=css({fontWeight:'500',lineHeight:1.15,marginTop:1}).toString();var badgeWrapper=css({minWidth:40}).toString();export default{badgeWrapper:badgeWrapper,details:details,title:title};
1
+ import{css}from'glamor';import{themeConfig,themeName}from'@shopgate/pwa-common/helpers/config';var isIOS=themeName.includes('ios');var colors=themeConfig.colors;var container=css(isIOS?{fontSize:14}:{position:'relative',display:'block',background:colors.light,fontSize:14,height:'100%'}).toString();var details=css({padding:'12px 16px',lineHeight:1.35}).toString();var title=css({fontWeight:'500',lineHeight:1.15,marginTop:1}).toString();var badgeWrapper=css({minWidth:40}).toString();var wishlist=css({display:'none',position:'absolute',right:16,left:'auto',transform:'translate3d(0, -50%, 0)'}).toString();export default{badgeWrapper:badgeWrapper,container:container,details:details,title:title,wishlist:wishlist};
@@ -1 +1 @@
1
- import React from'react';export default React.createContext();
1
+ import React from'react';export default/*#__PURE__*/React.createContext();
@@ -1,4 +1,4 @@
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;}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 isMatch from'lodash/isMatch';import appConfig from'@shopgate/pwa-common/helpers/config';var variantSelectionMode=appConfig.variantSelectionMode,_appConfig$product=appConfig.product,_appConfig$product2=_appConfig$product===void 0?{}:_appConfig$product,variantPreselect=_appConfig$product2.variantPreselect;var preselectVariant=variantPreselect||parseInt(variantSelectionMode,10)===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;}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 isMatch from'lodash/isMatch';import appConfig from'@shopgate/pwa-common/helpers/config';var variantSelectionMode=appConfig.variantSelectionMode,_appConfig$product=appConfig.product;_appConfig$product=_appConfig$product===void 0?{}:_appConfig$product;var variantPreselect=_appConfig$product.variantPreselect;var preselectVariant=variantPreselect||parseInt(variantSelectionMode,10)===1;/**
2
2
  * Returns the index of a particular characteristic from a set of characteristics.
3
3
  * @param {Array} characteristics The characteristics of a product.
4
4
  * @param {number} characteristicId The id of the characteristic to find.
@@ -1,39 +1,25 @@
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 _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 isMatch from'lodash/isMatch';import isEqual from'lodash/isEqual';import{broadcastLiveMessage}from'@shopgate/engage/a11y';import{responsiveCondition}from'@shopgate/engage/styles';import connect from"./connector";import VariantsContext from"./context";import{isCharacteristicEnabled,getSelectedValue,prepareState,selectCharacteristics}from"./helpers";/**
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 _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 isMatch from'lodash/isMatch';import isEqual from'lodash/isEqual';import{broadcastLiveMessage}from'@shopgate/engage/a11y';import connect from"./connector";import VariantsContext from"./context";import{isCharacteristicEnabled,getSelectedValue,prepareState,selectCharacteristics}from"./helpers";/**
2
2
  * The ProductCharacteristics component.
3
- */var ProductCharacteristics=/*#__PURE__*/function(_Component){function ProductCharacteristics(_props){var _this2;_classCallCheck(this,ProductCharacteristics);_this2=_callSuper(this,ProductCharacteristics,[_props]);/**
4
- * Sets the refs to the characteristics selects.
5
- * @param {Object} props The props to check against.
6
- */_defineProperty(_this2,"setRefs",function(props){var variants=props.variants;if(variants){variants.characteristics.forEach(function(_char){_this2.refsStore[_char.id]=React.createRef();});}});/**
7
- * Checks if all selections have been made.
8
- * @return {boolean}
9
- */_defineProperty(_this2,"checkSelection",function(){var characteristics=_this2.state.characteristics;var _this2$props=_this2.props,variants=_this2$props.variants,variantId=_this2$props.variantId;if(!variants){return true;}var filteredValues=Object.keys(characteristics).filter(function(key){return!!characteristics[key];});var selected=!!(filteredValues.length===variants.characteristics.length&&variantId);if(!selected){var firstUnselected=_this2.findUnselectedCharacteristic();if(firstUnselected){var ref=_this2.refsStore[firstUnselected.id];// Focus the item for screen readers and broadcast a related live message.
10
- ref.current.focus();var option=ref.current.innerText;broadcastLiveMessage('product.pick_option_first',{params:{option:option}});if(responsiveCondition('>xs',{webOnly:true})){ref.current.scrollIntoView({behavior:'smooth',block:'center'});}else{ref.current.scrollIntoView({behavior:'smooth'});}_this2.setState({highlight:firstUnselected.id});}}return selected;});_defineProperty(_this2,"checkSelectedCharacteristics",function(){var characteristics=_this2.state.characteristics;var _this2$props2=_this2.props,variantId=_this2$props2.variantId,variants=_this2$props2.variants,finishTimeout=_this2$props2.finishTimeout;if(!variants){return;}var filteredValues=Object.keys(characteristics).filter(function(key){return!!characteristics[key];});if(filteredValues.length!==variants.characteristics.length){return;}var products=variants.products.filter(function(product){return isMatch(product.characteristics,characteristics);});if(!products.length){return;}if(products[0].id===variantId){return;}setTimeout(function(){_this2.props.navigate(products[0].id);},finishTimeout);});/**
11
- * Stores a selected characteristic into the local state.
12
- * @param {Object} selection The selected item.
13
- */_defineProperty(_this2,"handleSelection",function(selection){var _this2$props3=_this2.props,variants=_this2$props3.variants,setCharacteristics=_this2$props3.setCharacteristics;var id=selection.id,value=selection.value;_this2.setState(function(_ref){var characteristics=_ref.characteristics;var state=prepareState(id,value,characteristics,variants.characteristics,variants.products);setCharacteristics(state);return{characteristics:_extends({},state),highlight:null};},_this2.checkSelectedCharacteristics);});/**
14
- * @param {Object} selections The selections stored in the state.
15
- * @param {string} charId The current characteristic ID.
16
- * @param {Array} values The characteristic values.
17
- * @param {number} charIndex The characteristic index.
18
- * @param {string|null} selectedValue selectedValue
19
- * @param {boolean} charDisabled Whether the characteristic for the values is disabled
20
- * @return {Array}
21
- */_defineProperty(_this2,"buildValues",function(selections,charId,values,charIndex,selectedValue,charDisabled){// If this is the first characteristic then all values are selectable.
22
- if(charIndex===0){return values.map(function(value){return _extends({},value,{selectable:!charDisabled,selected:selectedValue===value.id});});}var variants=_this2.props.variants;var subset={};Object.keys(selections).forEach(function(item,index){if(index<charIndex){subset[item]=selections[item];}});// Filter products that match or partially match the current characteristic selection.
3
+ */var ProductCharacteristics=/*#__PURE__*/function(_Component){_inherits(ProductCharacteristics,_Component);var _super=_createSuper(ProductCharacteristics);/**
4
+ * @param {Object} props The component props.
5
+ */function ProductCharacteristics(_props){var _this;_classCallCheck(this,ProductCharacteristics);_this=_super.call(this,_props);_defineProperty(_assertThisInitialized(_this),"setRefs",function(props){var variants=props.variants;if(variants){variants.characteristics.forEach(function(_char){_this.refsStore[_char.id]=/*#__PURE__*/React.createRef();});}});_defineProperty(_assertThisInitialized(_this),"checkSelection",function(){var characteristics=_this.state.characteristics;var _this$props=_this.props,variants=_this$props.variants,variantId=_this$props.variantId;if(!variants){return true;}var filteredValues=Object.keys(characteristics).filter(function(key){return!!characteristics[key];});var selected=!!(filteredValues.length===variants.characteristics.length&&variantId);if(!selected){var firstUnselected=_this.findUnselectedCharacteristic();if(firstUnselected){var ref=_this.refsStore[firstUnselected.id];// Focus the item for screen readers and broadcast a related live message.
6
+ ref.current.focus();var option=ref.current.innerText;broadcastLiveMessage('product.pick_option_first',{params:{option:option}});ref.current.scrollIntoView({behavior:'smooth'});_this.setState({highlight:firstUnselected.id});}}return selected;});_defineProperty(_assertThisInitialized(_this),"checkSelectedCharacteristics",function(){var characteristics=_this.state.characteristics;var _this$props2=_this.props,variantId=_this$props2.variantId,variants=_this$props2.variants,finishTimeout=_this$props2.finishTimeout;if(!variants){return;}var filteredValues=Object.keys(characteristics).filter(function(key){return!!characteristics[key];});if(filteredValues.length!==variants.characteristics.length){return;}var products=variants.products.filter(function(product){return isMatch(product.characteristics,characteristics);});if(!products.length){return;}if(products[0].id===variantId){return;}setTimeout(function(){_this.props.navigate(products[0].id);},finishTimeout);});_defineProperty(_assertThisInitialized(_this),"handleSelection",function(selection){var _this$props3=_this.props,variants=_this$props3.variants,setCharacteristics=_this$props3.setCharacteristics;var id=selection.id,value=selection.value;_this.setState(function(_ref){var characteristics=_ref.characteristics;var state=prepareState(id,value,characteristics,variants.characteristics,variants.products);setCharacteristics(state);return{characteristics:_extends({},state),highlight:null};},_this.checkSelectedCharacteristics);});_defineProperty(_assertThisInitialized(_this),"buildValues",function(selections,charId,values,charIndex,selectedValue,charDisabled){// If this is the first characteristic then all values are selectable.
7
+ if(charIndex===0){return values.map(function(value){return _extends({},value,{selectable:!charDisabled,selected:selectedValue===value.id});});}var variants=_this.props.variants;var subset={};Object.keys(selections).forEach(function(item,index){if(index<charIndex){subset[item]=selections[item];}});// Filter products that match or partially match the current characteristic selection.
23
8
  var products=variants.products.filter(function(_ref2){var characteristics=_ref2.characteristics;return isMatch(characteristics,subset);});// Check if any of the values are present inside any of the matching products.
24
- return values.map(function(value){var selectable=products.some(function(_ref3){var characteristics=_ref3.characteristics;return isMatch(characteristics,_defineProperty({},charId,value.id));});return _extends({},value,{selectable:charDisabled?false:selectable,selected:selectedValue===value.id});});});/**
25
- * Resets the highlight state
26
- */_defineProperty(_this2,"resetHighlight",function(){_this2.setState({highlight:null});});_this2.refsStore={};var _characteristics=selectCharacteristics(_props);_this2.state={highlight:null,characteristics:_characteristics};_props.setCharacteristics(_characteristics);_this2.setRefs(_props);_props.conditioner.addConditioner('product-variants',_this2.checkSelection);return _this2;}/** @inheritDoc */_inherits(ProductCharacteristics,_Component);return _createClass(ProductCharacteristics,[{key:"componentDidMount",value:function componentDidMount(){this.checkSelectedCharacteristics();}/**
9
+ return values.map(function(value){var selectable=products.some(function(_ref3){var characteristics=_ref3.characteristics;return isMatch(characteristics,_defineProperty({},charId,value.id));});return _extends({},value,{selectable:charDisabled?false:selectable,selected:selectedValue===value.id});});});_defineProperty(_assertThisInitialized(_this),"resetHighlight",function(){_this.setState({highlight:null});});_this.refsStore={};var _characteristics=selectCharacteristics(_props);_this.state={highlight:null,characteristics:_characteristics};_props.setCharacteristics(_characteristics);_this.setRefs(_props);_props.conditioner.addConditioner('product-variants',_this.checkSelection);return _this;}/** @inheritDoc */_createClass(ProductCharacteristics,[{key:"componentDidMount",value:function componentDidMount(){this.checkSelectedCharacteristics();}/**
27
10
  * @param {Object} nextProps The next component props.
28
11
  */},{key:"UNSAFE_componentWillReceiveProps",value:function UNSAFE_componentWillReceiveProps(nextProps){if(!this.props.variants&&nextProps.variants){// Initialize refs and characteristics when the variants prop was updated with a valid value.
29
12
  this.setRefs(nextProps);var characteristics=selectCharacteristics(nextProps);this.setState({characteristics:characteristics},this.checkSelectedCharacteristics);// Inform parent component about potential updates e.g. preselected characteristic values
30
13
  nextProps.setCharacteristics(characteristics);}else if(nextProps.characteristics&&!isEqual(this.state.characteristics,nextProps.characteristics)){// Sync back characteristics from parent if set
31
- this.setState({characteristics:nextProps.characteristics});}}},{key:"findUnselectedCharacteristic",value:/**
14
+ this.setState({characteristics:nextProps.characteristics});}}/**
15
+ * Sets the refs to the characteristics selects.
16
+ * @param {Object} props The props to check against.
17
+ */},{key:"findUnselectedCharacteristic",value:/**
32
18
  * Finds the first unselected characteristic.
33
19
  * @return {Object|null}
34
- */function findUnselectedCharacteristic(){var characteristics=this.state.characteristics;var unselected=this.props.variants.characteristics.filter(function(_char2){return!characteristics.hasOwnProperty(_char2.id);});if(unselected.length){return unselected[0];}return null;}},{key:"render",value:/**
20
+ */function findUnselectedCharacteristic(){var characteristics=this.state.characteristics;var unselected=this.props.variants.characteristics.filter(function(_char2){return!characteristics.hasOwnProperty(_char2.id);});if(unselected.length){return unselected[0];}return null;}/**
21
+ * Resets the highlight state
22
+ */},{key:"render",value:/**
35
23
  * @return {JSX}
36
- */function render(){var _this3=this;var characteristics=this.state.characteristics;var variants=this.props.variants;if(!variants){return null;}return React.createElement(VariantsContext.Provider,{value:this.state},variants.characteristics.map(function(_char3,index){var disabled=!isCharacteristicEnabled(characteristics,index);var selected=getSelectedValue(_char3.id,characteristics);var values=_this3.buildValues(characteristics,_char3.id,_char3.values,index,selected,disabled);return _this3.props.render({charRef:_this3.refsStore[_char3.id],disabled:disabled,highlight:_this3.state.highlight===_char3.id,id:_char3.id,key:_char3.id,label:_char3.label,swatch:!!_char3.swatch,// BETA
37
- select:_this3.handleSelection,selected:selected,values:values,resetHighlight:_this3.resetHighlight});}));}}]);}(Component);_defineProperty(ProductCharacteristics,"defaultProps",{finishTimeout:0,variantId:null,variants:null,characteristics:null/**
38
- * @param {Object} props The component props.
39
- */});export default connect(ProductCharacteristics);
24
+ */function render(){var _this2=this;var characteristics=this.state.characteristics;var variants=this.props.variants;if(!variants){return null;}return/*#__PURE__*/React.createElement(VariantsContext.Provider,{value:this.state},variants.characteristics.map(function(_char3,index){var disabled=!isCharacteristicEnabled(characteristics,index);var selected=getSelectedValue(_char3.id,characteristics);var values=_this2.buildValues(characteristics,_char3.id,_char3.values,index,selected,disabled);return _this2.props.render({charRef:_this2.refsStore[_char3.id],disabled:disabled,highlight:_this2.state.highlight===_char3.id,id:_char3.id,key:_char3.id,label:_char3.label,swatch:!!_char3.swatch,// BETA
25
+ select:_this2.handleSelection,selected:selected,values:values,resetHighlight:_this2.resetHighlight});}));}}]);return ProductCharacteristics;}(Component);_defineProperty(ProductCharacteristics,"defaultProps",{finishTimeout:0,variantId:null,variants:null,characteristics:null});export default connect(ProductCharacteristics);
@@ -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 from'react';import PropTypes from'prop-types';import{css}from'glamor';import{SurroundPortals}from'@shopgate/engage/components';import DiscountBadge from'@shopgate/pwa-ui-shared/DiscountBadge';import{PRODUCT_DISCOUNT}from'@shopgate/pwa-common-commerce/product/constants/Portals';import{useWidgetSettings}from'@shopgate/engage/core';import ProductBadges from"../ProductBadges";import styles from"./style";import connect from"./connector";/**
2
2
  * ProductDiscountBadge
3
- * @return {JSX.Element}
4
- */var ProductDiscountBadge=function ProductDiscountBadge(_ref){var productId=_ref.productId,discount=_ref.discount;var _ref2=useWidgetSettings('@shopgate/engage/product/components/ProductDiscountBadge')||{},_ref2$pdp=_ref2.pdp,pdp=_ref2$pdp===void 0?{show:false,style:{}}:_ref2$pdp;return React.createElement(ProductBadges,{className:styles.portal,location:"productDiscountBadge",productId:productId,portalProps:_extends({},pdp)},pdp.show&&discount?React.createElement("div",{className:"".concat(styles.container," ").concat(css(pdp.style)," theme__product__product-discount")},React.createElement(SurroundPortals,{portalName:PRODUCT_DISCOUNT,portalProps:{productId:productId,discount:discount}},React.createElement(DiscountBadge,{className:styles.badge,text:"-".concat(discount,"%")}))):null);};ProductDiscountBadge.defaultProps={discount:null};export default connect(ProductDiscountBadge);
3
+ * @return {JSX}
4
+ */var ProductDiscountBadge=function ProductDiscountBadge(_ref){var productId=_ref.productId,discount=_ref.discount;var _ref2=useWidgetSettings('@shopgate/engage/product/components/ProductDiscountBadge')||{},_ref2$pdp=_ref2.pdp,pdp=_ref2$pdp===void 0?{show:false,style:{}}:_ref2$pdp;return/*#__PURE__*/React.createElement(ProductBadges,{className:styles.portal,location:"productDiscountBadge",productId:productId,portalProps:_extends({},pdp)},pdp.show&&discount?/*#__PURE__*/React.createElement("div",{className:"".concat(styles.container," ").concat(css(pdp.style)," theme__product__product-discount"),"aria-hidden":true},/*#__PURE__*/React.createElement(SurroundPortals,{portalName:PRODUCT_DISCOUNT,portalProps:{productId:productId,discount:discount}},/*#__PURE__*/React.createElement(DiscountBadge,{className:styles.badge,text:"-".concat(discount,"%")}))):null);};ProductDiscountBadge.defaultProps={discount:null};export default connect(ProductDiscountBadge);
@@ -1,5 +1,5 @@
1
- import React from'react';import{mount}from'enzyme';import configureStore from'redux-mock-store';import{Provider}from'react-redux';import{useWidgetSettings}from'@shopgate/engage/core/hooks/useWidgetSettings';import{mockedProduct1,mockedStateWithDiscount,mockedStateWithoutDiscount}from"./mock";import ProductDiscountBadge from"./index";jest.mock('@shopgate/engage/components');jest.mock('@shopgate/engage/core/hooks/useWidgetSettings',function(){return{useWidgetSettings:jest.fn()};});describe('<ProductDiscountBadge />',function(){var mockedStore=configureStore();beforeEach(function(){useWidgetSettings.mockReturnValue({pdp:{show:true,style:{color:'blue'}}});});/**
1
+ import React from'react';import{mount}from'enzyme';import configureStore from'redux-mock-store';import{Provider}from'react-redux';import{useWidgetSettings}from'@shopgate/engage/core/hooks/useWidgetSettings';import{mockedProduct1,mockedStateWithDiscount,mockedStateWithoutDiscount}from"./mock";import ProductDiscountBadge from"./index";jest.mock('@shopgate/engage/core/hooks/useWidgetSettings',function(){return{useWidgetSettings:jest.fn()};});describe('<ProductDiscountBadge />',function(){var mockedStore=configureStore();beforeEach(function(){useWidgetSettings.mockReturnValue({pdp:{show:true,style:{color:'blue'}}});});/**
2
2
  * createComponent
3
3
  * @param {Object} mockedState mockedState
4
4
  * @return {*}
5
- */var createComponent=function createComponent(mockedState){var store=mockedStore(mockedState);return mount(React.createElement(Provider,{store:store},React.createElement(ProductDiscountBadge,{productId:mockedProduct1.productId})));};it('should render without discount',function(){var wrapper=createComponent(mockedStateWithoutDiscount);expect(wrapper).toMatchSnapshot();});it('should render with discount',function(){var wrapper=createComponent(mockedStateWithDiscount);expect(wrapper).toMatchSnapshot();});it('should not render with discount if widgetSetting is false',function(){useWidgetSettings.mockReturnValue({pdp:{show:false,style:{}}});var wrapper=createComponent(mockedStateWithDiscount);expect(wrapper).toMatchSnapshot();});});
5
+ */var createComponent=function createComponent(mockedState){var store=mockedStore(mockedState);return mount(/*#__PURE__*/React.createElement(Provider,{store:store},/*#__PURE__*/React.createElement(ProductDiscountBadge,{productId:mockedProduct1.productId})));};it('should render without discount',function(){var wrapper=createComponent(mockedStateWithoutDiscount);expect(wrapper).toMatchSnapshot();});it('should render with discount',function(){var wrapper=createComponent(mockedStateWithDiscount);expect(wrapper).toMatchSnapshot();});it('should not render with discount if widgetSetting is false',function(){useWidgetSettings.mockReturnValue({pdp:{show:false,style:{}}});var wrapper=createComponent(mockedStateWithDiscount);expect(wrapper).toMatchSnapshot();});});