@shopgate/engage 7.30.0-alpha.10 → 7.30.0-alpha.12

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 (542) hide show
  1. package/a11y/components/FocusTrap/index.js +1 -1
  2. package/a11y/components/LiveMessage/index.js +8 -6
  3. package/a11y/components/LiveMessenger/index.js +12 -9
  4. package/a11y/components/Navigation/index.js +18 -14
  5. package/a11y/components/Section/index.js +19 -12
  6. package/account/components/Account/Account.js +49 -38
  7. package/account/components/Profile/Profile.js +10 -7
  8. package/account/components/Profile/Profile.provider.js +5 -3
  9. package/account/components/Profile/ProfileAddressBook.js +25 -19
  10. package/account/components/Profile/ProfileAddressCard.js +70 -50
  11. package/account/components/Profile/ProfileForm.js +27 -22
  12. package/account/components/Profile/ProfileHeader.js +10 -7
  13. package/account/components/ProfileContact/ProfileContact.js +21 -17
  14. package/account/helper/form.js +9 -9
  15. package/back-in-stock/components/BackInStockButton/index.js +28 -21
  16. package/back-in-stock/components/CharacteristicsButton/index.js +2 -1
  17. package/back-in-stock/components/ProductInfoBackInStockButton/index.js +11 -9
  18. package/back-in-stock/components/Subscriptions/components/List/index.js +30 -24
  19. package/back-in-stock/components/Subscriptions/components/Subscription/index.js +75 -64
  20. package/back-in-stock/components/Subscriptions/index.js +4 -1
  21. package/back-in-stock/providers/BackInStockSubscriptionsProvider.js +5 -3
  22. package/cart/cart.helpers.js +3 -3
  23. package/cart/components/CartHeaderWide/CartHeaderWide.js +5 -3
  24. package/cart/components/CartItem/CartItem.js +24 -20
  25. package/cart/components/CartItem/CartItemCoupon.js +59 -45
  26. package/cart/components/CartItem/CartItemCouponCode.js +5 -3
  27. package/cart/components/CartItem/CartItemCouponDelete.js +5 -3
  28. package/cart/components/CartItem/CartItemCouponFreeShipping.js +4 -1
  29. package/cart/components/CartItem/CartItemCouponIcon.js +7 -6
  30. package/cart/components/CartItem/CartItemCouponLayout.js +44 -35
  31. package/cart/components/CartItem/CartItemCouponPrice.js +6 -4
  32. package/cart/components/CartItem/CartItemCouponTitle.js +5 -3
  33. package/cart/components/CartItem/CartItemProduct.js +24 -17
  34. package/cart/components/CartItem/CartItemProductLayout.js +105 -85
  35. package/cart/components/CartItem/CartItemProductLayoutWide.js +100 -87
  36. package/cart/components/CartItem/CartItemProductLayoutWideFulfillmentLabel.js +5 -3
  37. package/cart/components/CartItem/CartItemProductLayoutWideOrderDetails.js +18 -12
  38. package/cart/components/CartItem/CartItemProductLayoutWideRemoveItem.js +7 -5
  39. package/cart/components/CartItem/CartItemProductOrderDetails.js +54 -40
  40. package/cart/components/CartItem/CartItemProductPriceCaption.js +7 -5
  41. package/cart/components/CartItem/CartItemProductPriceList.js +30 -27
  42. package/cart/components/CartItem/CartItemProductPriceListPromotion.js +37 -32
  43. package/cart/components/CartItem/CartItemProductProvider.js +7 -3
  44. package/cart/components/CartItem/CartItemProductProviderLegacy.js +22 -14
  45. package/cart/components/CartItem/CartItemProductTitle.js +57 -45
  46. package/cart/components/CartItem/CartItemProvider.js +6 -4
  47. package/cart/components/CartItem/CartItemQuantityPicker.js +49 -55
  48. package/cart/components/CartItem/CartItemSubstitution.js +11 -8
  49. package/cart/components/CartItems/CartItemCard.js +10 -6
  50. package/cart/components/CartItems/CartItemCardReservation.js +28 -22
  51. package/cart/components/CartItems/CartItemCardReservationAccordion.js +20 -15
  52. package/cart/components/CartItems/CartItemCardReservationLabel.js +28 -20
  53. package/cart/components/CartItems/CartItemCardReservationLabelChangeStore.js +7 -5
  54. package/cart/components/CartItems/CartItemGroup.js +7 -4
  55. package/cart/components/CartItems/CartItemGroupReservation.js +25 -19
  56. package/cart/components/CartItems/CartItemGroupReservationLabel.js +13 -7
  57. package/cart/components/CartItems/CartItemGroupShipping.js +15 -7
  58. package/cart/components/CartItems/CartItems.js +56 -45
  59. package/cart/components/CartItems/CartItemsHeaderWide.js +48 -37
  60. package/cart/components/CartItems/CartItemsSubstitution.js +18 -12
  61. package/cart/components/CartSummaryWide/CartSummaryWide.js +34 -30
  62. package/cart/components/CartSummaryWide/CartSummaryWideCheckoutButton.js +22 -17
  63. package/cart/components/CartSummaryWide/CartSummaryWideFooter.js +2 -1
  64. package/cart/components/PaymentBar/PaymentBar.js +2 -1
  65. package/cart/components/PaymentBar/PaymentBarAppliedPromotions.js +18 -17
  66. package/cart/components/PaymentBar/PaymentBarCheckoutButton.js +19 -15
  67. package/cart/components/PaymentBar/PaymentBarContent.js +34 -27
  68. package/cart/components/PaymentBar/PaymentBarDiscounts.js +24 -22
  69. package/cart/components/PaymentBar/PaymentBarGrandTotal.js +18 -15
  70. package/cart/components/PaymentBar/PaymentBarPromotionCouponMessages.js +15 -11
  71. package/cart/components/PaymentBar/PaymentBarPromotionCoupons.js +40 -36
  72. package/cart/components/PaymentBar/PaymentBarPromotionalText.js +22 -17
  73. package/cart/components/PaymentBar/PaymentBarReserveButton.js +15 -12
  74. package/cart/components/PaymentBar/PaymentBarShippingCost.js +20 -17
  75. package/cart/components/PaymentBar/PaymentBarSubTotal.js +18 -15
  76. package/cart/components/PaymentBar/PaymentBarTax.js +20 -17
  77. package/cart/components/Substitution/index.js +21 -16
  78. package/cart/components/SupplementalContent/SupplementalContent.js +2 -1
  79. package/category/components/CategoryImage/index.js +4 -4
  80. package/category/components/CategoryList/index.js +60 -57
  81. package/checkout/components/AddressBook/AddressBook.js +6 -1
  82. package/checkout/components/AddressBook/AddressList.js +31 -24
  83. package/checkout/components/AddressBookContact/AddressBookContact.js +13 -6
  84. package/checkout/components/Checkout/Checkout.js +29 -21
  85. package/checkout/components/Checkout/CheckoutActions.js +17 -12
  86. package/checkout/components/Checkout/CheckoutAddress.js +40 -16
  87. package/checkout/components/Checkout/CheckoutHeader.js +17 -12
  88. package/checkout/components/Checkout/CheckoutPickupContactForm.js +19 -15
  89. package/checkout/components/Checkout/CheckoutSection.js +73 -52
  90. package/checkout/components/Checkout/CheckoutSectionInfo.js +6 -4
  91. package/checkout/components/Checkout/CheckoutSectionMessages.js +16 -14
  92. package/checkout/components/Checkout/CheckoutSummary.js +18 -13
  93. package/checkout/components/CheckoutConfirmation/CheckoutConfirmation.js +95 -79
  94. package/checkout/components/CheckoutConfirmation/CheckoutConfirmationBilledTo.js +6 -5
  95. package/checkout/components/CheckoutConfirmation/CheckoutConfirmationOrderContact.js +2 -1
  96. package/checkout/components/CheckoutConfirmation/CheckoutConfirmationOrderSummary.js +13 -9
  97. package/checkout/components/CheckoutConfirmation/CheckoutConfirmationPickUpContact.js +2 -1
  98. package/checkout/components/CheckoutConfirmation/CheckoutConfirmationPickupNotes.js +2 -1
  99. package/checkout/components/CheckoutConfirmation/CheckoutConfirmationSection.js +59 -44
  100. package/checkout/components/CheckoutConfirmation/CheckoutConfirmationShippedTo.js +4 -3
  101. package/checkout/components/GuestCheckout/GuestCheckout.js +29 -22
  102. package/checkout/components/GuestCheckout/GuestCheckoutOptIn.js +17 -13
  103. package/checkout/components/GuestCheckout/GuestCheckoutPickup.js +16 -7
  104. package/checkout/components/GuestCheckout/GuestCheckoutPickupNotes.js +16 -13
  105. package/checkout/components/PaymentMethodButton/PaymentMethodButton.js +5 -3
  106. package/checkout/components/ResponsiveBackButton/ResponsiveBackButton.js +15 -12
  107. package/checkout/components/ShippingMethods/ShippingMethod.js +22 -15
  108. package/checkout/components/ShippingMethods/ShippingMethods.js +49 -41
  109. package/checkout/components/SupplementalContent/SupplementalContent.js +2 -1
  110. package/checkout/helpers/index.js +2 -2
  111. package/checkout/paymentMethods/index.js +33 -28
  112. package/checkout/paymentMethods/paypal/PaypalButton.js +7 -2
  113. package/checkout/paymentMethods/paypal/PaypalButtonApp.js +9 -5
  114. package/checkout/paymentMethods/paypal/PaypalButtonWeb.js +14 -11
  115. package/checkout/paymentMethods/paypal/PaypalPayButton.js +9 -5
  116. package/checkout/paymentMethods/stripe/StripeButton.js +33 -25
  117. package/checkout/paymentMethods/stripe/StripeCreditCard.js +70 -60
  118. package/checkout/paymentMethods/stripe/StripePayButton.js +5 -3
  119. package/checkout/paymentMethods/stripe/StripeProvider.js +11 -10
  120. package/checkout/providers/AddressBookProvider.js +5 -3
  121. package/checkout/providers/CheckoutProvider.js +14 -15
  122. package/checkout/selectors/guestCheckout.js +1 -1
  123. package/components/BrandingColorBanner/BrandingColorBanner.js +7 -5
  124. package/components/ChipLayout/index.js +64 -49
  125. package/components/ChipLayout/spec.js +16 -8
  126. package/components/ConnectedReactPortal/index.js +19 -21
  127. package/components/Footer/Footer.js +9 -6
  128. package/components/Form/Builder/Builder.js +85 -74
  129. package/components/Form/Builder/ElementCheckbox.js +19 -17
  130. package/components/Form/Builder/ElementMultiSelect.js +42 -38
  131. package/components/Form/Builder/ElementPhoneNumber.js +39 -36
  132. package/components/Form/Builder/ElementRadio.js +25 -23
  133. package/components/Form/Builder/ElementSelect.js +25 -23
  134. package/components/Form/Builder/ElementText.js +22 -20
  135. package/components/Form/Builder/FormHelper.js +18 -15
  136. package/components/Form/Builder/classes/ActionListener.js +400 -401
  137. package/components/Form/Form.js +23 -15
  138. package/components/IntersectionVisibility/index.js +23 -17
  139. package/components/Logo/index.js +9 -7
  140. package/components/Logo/spec.js +2 -1
  141. package/components/Menu/components/Item/index.js +12 -8
  142. package/components/Menu/components/Position/index.js +20 -12
  143. package/components/Menu/index.js +60 -60
  144. package/components/MessageBar/MessageBar.js +35 -31
  145. package/components/NavigationHandler/index.js +14 -8
  146. package/components/NavigationHandler/spec.js +9 -3
  147. package/components/Picker/components/Button/index.js +11 -7
  148. package/components/Picker/components/List/index.js +19 -16
  149. package/components/Picker/components/Modal/index.js +34 -25
  150. package/components/Picker/index.js +44 -33
  151. package/components/Picker/spec.js +4 -1
  152. package/components/PickerUtilize/components/Button/index.js +11 -7
  153. package/components/PickerUtilize/index.js +56 -43
  154. package/components/PickerUtilize/spec.js +2 -1
  155. package/components/QuantityInput/QuantityInput.js +5 -5
  156. package/components/QuantityLabel/QuantityLabel.js +5 -3
  157. package/components/Radio/Radio.js +28 -24
  158. package/components/RadioCard/RadioCard.js +26 -22
  159. package/components/RadioGroup/RadioGroup.js +16 -12
  160. package/components/RangeSlider/components/Handle/index.js +8 -6
  161. package/components/RangeSlider/index.js +108 -114
  162. package/components/RangeSlider/spec.js +9 -6
  163. package/components/ScrollHeader/index.js +5 -3
  164. package/components/SheetDrawer/index.js +4 -3
  165. package/components/SheetList/components/Item/index.js +67 -47
  166. package/components/SheetList/components/Item/spec.js +18 -13
  167. package/components/SheetList/index.js +40 -30
  168. package/components/SheetList/spec.js +20 -14
  169. package/components/SheetList/style.js +1 -1
  170. package/components/SideNavigation/SideNavigation.js +7 -5
  171. package/components/SideNavigation/SideNavigationCategories.js +14 -11
  172. package/components/SideNavigation/SideNavigationCategoriesItem.js +17 -13
  173. package/components/SideNavigation/SideNavigationCategoriesItemChildren.js +7 -5
  174. package/components/SideNavigation/SideNavigationContent.js +13 -8
  175. package/components/SideNavigation/SideNavigationItem.js +24 -19
  176. package/components/SideNavigation/SideNavigationLinks.js +36 -30
  177. package/components/SideNavigation/SideNavigationLinksLegal.js +4 -5
  178. package/components/SideNavigation/SideNavigationLinksQuicklinks.js +3 -3
  179. package/components/SideNavigation/SideNavigationNestedItem.js +11 -8
  180. package/components/SideNavigation/SideNavigationProvider.js +5 -3
  181. package/components/SnackBarContainer/index.js +9 -2
  182. package/components/Switch/index.js +20 -14
  183. package/components/Tabs/TabContext.js +5 -3
  184. package/components/Tabs/components/Tab.js +8 -5
  185. package/components/Tabs/components/TabIndicator.js +5 -4
  186. package/components/Tabs/components/TabPanel.js +5 -3
  187. package/components/Tabs/components/Tabs.js +15 -11
  188. package/components/Tabs/useEventCallback.js +1 -1
  189. package/components/TextLink/TextLink.js +4 -3
  190. package/components/TimeBoundary/index.js +31 -22
  191. package/components/TimeBoundary/spec.js +13 -9
  192. package/components/Toggle/index.js +21 -18
  193. package/components/Typography/Typography.js +5 -5
  194. package/components/VideoPlayer/index.js +45 -35
  195. package/components/View/components/Above/index.js +17 -14
  196. package/components/View/components/Below/index.js +17 -14
  197. package/components/View/components/Content/components/ParallaxProvider/index.js +8 -5
  198. package/components/View/components/Content/index.js +102 -83
  199. package/components/View/index.js +28 -19
  200. package/components/View/provider.js +61 -50
  201. package/core/classes/GeolocationRequest.js +9 -7
  202. package/core/classes/GeolocationRequestApp.js +7 -5
  203. package/core/classes/GeolocationRequestBrowser.js +7 -4
  204. package/core/collections/AppInitialization.js +11 -10
  205. package/core/config/ThemeConfigResolver.js +21 -19
  206. package/core/helpers/errorBehavior.js +4 -4
  207. package/core/hocs/withApp.js +7 -4
  208. package/core/hocs/withCurrentProduct.js +5 -2
  209. package/core/hocs/withForwardedRef.js +5 -2
  210. package/core/hocs/withNavigation.js +5 -2
  211. package/core/hocs/withRoute.js +7 -2
  212. package/core/hocs/withTheme.js +13 -8
  213. package/core/hocs/withThemeResources.js +10 -7
  214. package/core/hocs/withWidgetSettings.js +5 -4
  215. package/core/hocs/withWidgetStyles.js +5 -4
  216. package/core/providers/AppProvider.js +38 -27
  217. package/core/providers/ThemeResourcesProvider.js +8 -5
  218. package/development/components/ClientInformation/ClientInformation.js +18 -13
  219. package/development/components/DevelopmentSettings/DevelopmentSettings.js +18 -14
  220. package/development/components/DevelopmentTools/DevelopmentTools.js +6 -1
  221. package/development/components/SimulatedInsets/SimulatedInsetBottom.js +9 -8
  222. package/development/components/SimulatedInsets/SimulatedInsetTop.js +15 -12
  223. package/development/components/SimulatedInsets/SimulatedInsets.js +12 -8
  224. package/favorites/components/CommentDialog/CommentDialog.js +29 -27
  225. package/favorites/components/FavoriteButtonWide/FavoriteButtonWide.js +5 -3
  226. package/favorites/components/Item/Item.js +120 -100
  227. package/favorites/components/Item/ItemCharacteristics.js +10 -7
  228. package/favorites/components/Item/ItemNotes.js +33 -22
  229. package/favorites/components/Item/ItemQuantity.js +14 -12
  230. package/favorites/components/ItemFulfillmentMethod/ItemFulfillmentMethod.js +16 -12
  231. package/favorites/components/List/List.js +32 -27
  232. package/favorites/components/List/ListAccordionHeader.js +14 -8
  233. package/favorites/components/List/ListAccordionLabel.js +5 -3
  234. package/favorites/components/List/ListContent.js +45 -40
  235. package/favorites/components/List/ListItemWrapper.js +22 -19
  236. package/favorites/components/ListChooser/ListChooser.js +17 -14
  237. package/favorites/components/ListChooser/ListChooserItem.js +13 -9
  238. package/favorites/components/Lists/Lists.js +39 -35
  239. package/favorites/components/Lists/ListsModal.js +29 -19
  240. package/favorites/components/RemoveButton/RemoveButton.js +8 -5
  241. package/filter/components/FilterItem/index.js +5 -3
  242. package/filter/components/FilterItem/spec.js +6 -1
  243. package/filter/components/FilterPageContent/components/ApplyButton/index.js +21 -17
  244. package/filter/components/FilterPageContent/components/ApplyButton/spec.js +8 -7
  245. package/filter/components/FilterPageContent/components/ResetButton/index.js +17 -13
  246. package/filter/components/FilterPageContent/components/ResetButton/spec.js +4 -3
  247. package/filter/components/FilterPageContent/components/Selector/components/Selected/index.js +25 -13
  248. package/filter/components/FilterPageContent/components/Selector/components/Selected/spec.js +3 -2
  249. package/filter/components/FilterPageContent/components/Selector/components/Toggle/index.js +38 -24
  250. package/filter/components/FilterPageContent/components/Selector/components/Toggle/spec.js +5 -4
  251. package/filter/components/FilterPageContent/components/Selector/components/ValueButton/index.js +31 -19
  252. package/filter/components/FilterPageContent/components/Selector/components/ValueButton/spec.js +4 -3
  253. package/filter/components/FilterPageContent/components/Selector/index.js +58 -43
  254. package/filter/components/FilterPageContent/components/Selector/spec.js +2 -1
  255. package/filter/components/FilterPageContent/index.js +44 -42
  256. package/filter/components/FilterPageContentWithProvider/index.js +7 -5
  257. package/filter/components/PriceSlider/components/Label/index.js +80 -71
  258. package/filter/components/PriceSlider/components/Label/spec.js +2 -1
  259. package/filter/components/PriceSlider/index.js +39 -29
  260. package/filter/components/PriceSlider/spec.js +3 -2
  261. package/filter/hocs/withSort.js +7 -2
  262. package/filter/providers/FilterPageProvider.js +6 -4
  263. package/filter/providers/SortProvider.js +5 -3
  264. package/locations/components/Cart/CartChangeFulfillmentMethod.js +5 -4
  265. package/locations/components/Cart/CartContextMenuChangeFulfillment.js +5 -1
  266. package/locations/components/Cart/CartContextMenuChangeFulfillmentContent.js +10 -8
  267. package/locations/components/Cart/CartContextMenuItemChangeFulfillment.js +7 -5
  268. package/locations/components/Cart/CartContextMenuItemChangeLocation.js +7 -5
  269. package/locations/components/Cart/CartItemProductChangeLocation.js +2 -1
  270. package/locations/components/ChangeLocationButton/ChangeLocationButton.js +15 -12
  271. package/locations/components/FulfillmentPath/FulfillmentPath.js +38 -34
  272. package/locations/components/FulfillmentPath/FulfillmentPathItem.js +10 -6
  273. package/locations/components/FulfillmentPathSelector/FulfillmentPathSelector.js +13 -9
  274. package/locations/components/FulfillmentSelector/FulfillmentSelector.js +33 -26
  275. package/locations/components/FulfillmentSelector/FulfillmentSelectorAlternativeLocation.js +44 -34
  276. package/locations/components/FulfillmentSelector/FulfillmentSelectorBOPIS.js +5 -3
  277. package/locations/components/FulfillmentSelector/FulfillmentSelectorDirectShip.js +25 -17
  278. package/locations/components/FulfillmentSelector/FulfillmentSelectorHeader.js +8 -3
  279. package/locations/components/FulfillmentSelector/FulfillmentSelectorImpossibleError.js +2 -1
  280. package/locations/components/FulfillmentSelector/FulfillmentSelectorItem.js +29 -20
  281. package/locations/components/FulfillmentSelector/FulfillmentSelectorLocation.js +75 -57
  282. package/locations/components/FulfillmentSelector/FulfillmentSelectorLocationMethodNotAvailable.js +2 -1
  283. package/locations/components/FulfillmentSelector/FulfillmentSelectorROPIS.js +5 -3
  284. package/locations/components/FulfillmentSheet/FulfillmentSheet.js +7 -3
  285. package/locations/components/FulfillmentSheet/FulfillmentSheetContent.js +8 -5
  286. package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotDialog.js +53 -42
  287. package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotProvider.js +2 -2
  288. package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotSwitcher.js +12 -10
  289. package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotSwitcherBar.js +23 -17
  290. package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotSwitcherDefault.js +22 -15
  291. package/locations/components/GlobalLocationSelector/GlobalLocationSelector.js +2 -1
  292. package/locations/components/GlobalLocationSwitcher/GlobalLocationSwitcher.js +23 -20
  293. package/locations/components/GlobalLocationSwitcher/GlobalLocationSwitcherBar.js +27 -20
  294. package/locations/components/GlobalLocationSwitcher/GlobalLocationSwitcherDefault.js +22 -15
  295. package/locations/components/ReservationResponses/ReservationError.js +11 -7
  296. package/locations/components/ReservationResponses/ReservationSuccess.js +17 -11
  297. package/locations/components/ReserveForm/ReserveForm.js +99 -89
  298. package/locations/components/ReserveForm/ReserveFormPhone.js +21 -19
  299. package/locations/components/StockInfo/StockInfo.js +15 -12
  300. package/locations/components/StockInfo/StockInfoInventory.js +2 -1
  301. package/locations/components/StockInfoLists/index.js +24 -19
  302. package/locations/components/StoreDetails/components/FindMoreStores.js +37 -29
  303. package/locations/components/StoreDetails/components/GetDirectionsButton.js +13 -9
  304. package/locations/components/StoreDetails/components/StoreDetails.js +106 -67
  305. package/locations/components/StoreDetails/components/StoreFinderMap.js +23 -21
  306. package/locations/components/StoreDetails/components/StoreLocationMap.js +11 -7
  307. package/locations/components/StoreDetails/components/StoresNearby.js +16 -8
  308. package/locations/components/StoreDetails/components/StoresNearbyListItem.js +63 -47
  309. package/locations/components/StoreDetails/index.js +7 -3
  310. package/locations/components/StoreFinder/StoreFinder.js +16 -11
  311. package/locations/components/StoreFinder/StoreFinderGetDirectionsButton.js +9 -6
  312. package/locations/components/StoreFinder/StoreFinderLocation.js +5 -3
  313. package/locations/components/StoreFinder/StoreFinderLocationDetails.js +11 -8
  314. package/locations/components/StoreFinder/StoreFinderLocationHeader.js +45 -32
  315. package/locations/components/StoreFinder/StoreFinderLocationHeaderPhoneNumber.js +12 -8
  316. package/locations/components/StoreFinder/StoreFinderLocations.js +14 -10
  317. package/locations/components/StoreFinder/StoreFinderSearch.js +7 -5
  318. package/locations/components/StoreFinder/StoreFinderSelectLocationButton.js +10 -7
  319. package/locations/components/StoreFinder/StoreFinderStoreInfoButton.js +10 -7
  320. package/locations/components/StoreList/StoreAddress.js +33 -21
  321. package/locations/components/StoreList/StoreAddressShort.js +31 -21
  322. package/locations/components/StoreList/StoreCard.js +4 -1
  323. package/locations/components/StoreList/StoreDetails.js +13 -11
  324. package/locations/components/StoreList/StoreDetailsLine.js +17 -13
  325. package/locations/components/StoreList/StoreDistance.js +5 -3
  326. package/locations/components/StoreList/StoreHeader.js +46 -33
  327. package/locations/components/StoreList/StoreHoursToday.js +7 -5
  328. package/locations/components/StoreList/StoreList.js +4 -1
  329. package/locations/components/StoreList/StoreListLocations.js +18 -13
  330. package/locations/components/StoreList/StoreListProduct.js +20 -14
  331. package/locations/components/StoreList/StoreListProductInfo.js +17 -13
  332. package/locations/components/StoreList/StoreListProductName.js +11 -7
  333. package/locations/components/StoreList/StoreListSearch.js +66 -55
  334. package/locations/components/StoreList/StoreListSearchRadius.js +19 -16
  335. package/locations/components/StoreList/StoreOpeningHours.js +19 -13
  336. package/locations/components/StoreList/StoreOpeningHoursLine.js +12 -8
  337. package/locations/components/StoreList/StorePhoneNumber.js +17 -13
  338. package/locations/components/StoreList/StoreSelectLocationButton.js +10 -7
  339. package/locations/providers/FulfillmentProvider.connector.js +6 -6
  340. package/locations/providers/FulfillmentProvider.js +24 -23
  341. package/locations/providers/StoreDetailsProvider.js +5 -3
  342. package/locations/providers/StoreFinderProvider.js +5 -3
  343. package/login/components/ForgotPassword/ForgotPassword.js +64 -50
  344. package/orders/components/OrderDetails/OrderDetails.js +9 -6
  345. package/orders/components/OrderDetails/OrderDetailsAuthenticate.js +63 -47
  346. package/orders/components/OrderDetails/OrderDetailsContent.js +9 -5
  347. package/orders/components/OrderDetails/OrderDetailsOrder.js +44 -39
  348. package/orders/components/OrderDetails/OrderDetailsOrderHeader.js +39 -31
  349. package/orders/components/OrderDetails/OrderDetailsOrderPickupLocation.js +2 -1
  350. package/orders/components/OrderHistory/OrderHistory.js +27 -22
  351. package/orders/components/OrderHistory/OrderHistoryList.js +47 -35
  352. package/orders/components/OrderHistory/OrderHistoryLoader.js +19 -16
  353. package/orders/components/OrderHistory/OrderHistoryTable.js +57 -34
  354. package/orders/providers/OrderDetailsPrivateProvider.js +5 -3
  355. package/orders/providers/OrderDetailsProvider.js +6 -4
  356. package/orders/providers/OrderHistoryProvider.js +5 -3
  357. package/orders/reducers/orders.js +1 -1
  358. package/package.json +10 -10
  359. package/page/components/NotFound.js +28 -23
  360. package/page/components/ResponsiveWidgetImage/ResponsiveWidgetImage.js +24 -22
  361. package/page/components/WidgetHeadline/WidgetHeadline.js +6 -4
  362. package/page/components/WidgetRichText/WidgetRichText.js +5 -3
  363. package/page/components/WidgetVideo/WidgetVideo.js +35 -30
  364. package/page/components/Widgets/Overlay.js +12 -12
  365. package/page/components/Widgets/Tooltip.js +13 -11
  366. package/page/components/Widgets/Widget.js +34 -25
  367. package/page/components/Widgets/WidgetProvider.js +5 -3
  368. package/page/components/Widgets/Widgets.js +22 -19
  369. package/page/components/Widgets/WidgetsPreviewProvider.js +5 -3
  370. package/page/selectors/index.js +1 -1
  371. package/page/widgets/Button/Button.js +13 -9
  372. package/page/widgets/CategoryList/CategoryList.js +11 -8
  373. package/page/widgets/CategoryList/hooks.js +1 -1
  374. package/page/widgets/HTML/HTML.js +5 -3
  375. package/page/widgets/Headline/Headline.js +2 -1
  376. package/page/widgets/HeroBanner/HeroBanner.js +29 -24
  377. package/page/widgets/Image/Image.js +14 -11
  378. package/page/widgets/ImageRow/ImageRow.js +27 -23
  379. package/page/widgets/ImageSlider/ImageSlider.js +25 -21
  380. package/page/widgets/NestedCategoryFilter/NestedCategoryFilter.js +34 -29
  381. package/page/widgets/NestedCategoryFilter/components/Picker/components/Sheet/index.js +23 -11
  382. package/page/widgets/NestedCategoryFilter/components/Picker/components/SheetItem/index.js +6 -4
  383. package/page/widgets/NestedCategoryFilter/components/Picker/index.js +23 -17
  384. package/page/widgets/Placeholder/Placeholder.js +16 -12
  385. package/page/widgets/ProductList/ProductList.js +24 -20
  386. package/page/widgets/ProductSlider/ProductSlider.js +27 -23
  387. package/page/widgets/RichText/RichText.js +2 -1
  388. package/page/widgets/Video/Video.js +2 -1
  389. package/product/components/Availability/Availability.js +14 -11
  390. package/product/components/Characteristics/Characteristic/components/Sheet/index.js +104 -84
  391. package/product/components/Characteristics/Characteristic/components/SheetItem/index.js +41 -27
  392. package/product/components/Characteristics/Characteristic/index.js +83 -64
  393. package/product/components/Characteristics/Swatch/index.js +54 -38
  394. package/product/components/Characteristics/index.js +36 -20
  395. package/product/components/Description/index.js +27 -20
  396. package/product/components/EffectivityDates/index.js +42 -37
  397. package/product/components/FilterBar/FilterBarProvider.js +5 -3
  398. package/product/components/FilterBar/components/Content/components/FilterButton/index.js +24 -17
  399. package/product/components/FilterBar/components/Content/components/FilterChips/index.js +24 -19
  400. package/product/components/FilterBar/components/Content/components/Sort/components/Item/index.js +5 -3
  401. package/product/components/FilterBar/components/Content/components/Sort/index.js +14 -12
  402. package/product/components/FilterBar/components/Content/index.js +15 -11
  403. package/product/components/FilterBar/components/Content/spec.js +7 -6
  404. package/product/components/FilterBar/components/FilterModal/FilterModal.js +21 -16
  405. package/product/components/FilterBar/components/FilterModal/FilterModalContent.js +12 -9
  406. package/product/components/FilterBar/components/FilterModal/FilterModalTitle.js +22 -16
  407. package/product/components/FilterBar/index.js +16 -10
  408. package/product/components/Header/PriceStriked/index.js +32 -23
  409. package/product/components/Header/Shipping/components/Label/index.js +14 -11
  410. package/product/components/Header/Shipping/index.js +19 -14
  411. package/product/components/Header/Shipping/spec.js +7 -5
  412. package/product/components/Header/Tiers/components/Tier/index.js +10 -9
  413. package/product/components/Header/Tiers/components/Tier/spec.js +3 -2
  414. package/product/components/Header/Tiers/index.js +17 -13
  415. package/product/components/Header/Tiers/spec.js +6 -5
  416. package/product/components/MapPriceHint/index.js +14 -11
  417. package/product/components/Media/FeaturedMedia.js +8 -6
  418. package/product/components/Media/MediaImage.js +19 -16
  419. package/product/components/Media/MediaPlaceholder.js +11 -8
  420. package/product/components/MediaSlider/components/MediaImage/index.js +9 -7
  421. package/product/components/MediaSlider/components/MediaVideo/index.js +24 -19
  422. package/product/components/MediaSlider/index.js +29 -23
  423. package/product/components/Options/components/Content/index.js +52 -44
  424. package/product/components/Options/components/Content/spec.js +3 -2
  425. package/product/components/Options/components/Option/index.js +23 -20
  426. package/product/components/Options/components/TextOption/components/OptionInfo/index.js +31 -24
  427. package/product/components/Options/components/TextOption/components/OptionInfo/spec.js +4 -3
  428. package/product/components/Options/components/TextOption/index.js +84 -69
  429. package/product/components/Options/index.js +17 -13
  430. package/product/components/OrderQuantityHint/index.js +29 -24
  431. package/product/components/PriceDifference/index.js +2 -1
  432. package/product/components/PriceInfo/PriceInfo.js +13 -11
  433. package/product/components/ProductBadges/index.js +9 -6
  434. package/product/components/ProductCard/index.js +54 -47
  435. package/product/components/ProductCharacteristics/index.js +65 -57
  436. package/product/components/ProductDiscountBadge/index.js +18 -14
  437. package/product/components/ProductDiscountBadge/spec.js +7 -5
  438. package/product/components/ProductFilters/index.js +25 -21
  439. package/product/components/ProductGrid/components/Item/components/ItemDetails/index.js +29 -25
  440. package/product/components/ProductGrid/components/Item/components/ItemDetails/spec.js +10 -5
  441. package/product/components/ProductGrid/components/Item/components/ItemDiscount/index.js +11 -8
  442. package/product/components/ProductGrid/components/Item/components/ItemFavoritesButton/index.js +14 -11
  443. package/product/components/ProductGrid/components/Item/components/ItemFavoritesButton/spec.js +14 -11
  444. package/product/components/ProductGrid/components/Item/components/ItemImage/index.js +10 -8
  445. package/product/components/ProductGrid/components/Item/components/ItemImage/spec.js +2 -1
  446. package/product/components/ProductGrid/components/Item/components/ItemName/index.js +11 -8
  447. package/product/components/ProductGrid/components/Item/components/ItemName/spec.js +4 -1
  448. package/product/components/ProductGrid/components/Item/components/ItemPrice/index.js +7 -5
  449. package/product/components/ProductGrid/components/Item/components/ItemPrice/spec.js +7 -4
  450. package/product/components/ProductGrid/components/Item/index.js +36 -31
  451. package/product/components/ProductGrid/components/Iterator/index.js +15 -12
  452. package/product/components/ProductGrid/components/Layout/index.js +5 -3
  453. package/product/components/ProductGrid/index.js +34 -30
  454. package/product/components/ProductGrid/spec.js +3 -2
  455. package/product/components/ProductGridPrice/index.js +37 -24
  456. package/product/components/ProductImage/ProductImagePlaceholder.js +7 -5
  457. package/product/components/ProductImage/index.js +57 -45
  458. package/product/components/ProductImage/spec.js +9 -8
  459. package/product/components/ProductList/components/Item/index.js +172 -152
  460. package/product/components/ProductList/components/Iterator/index.js +27 -24
  461. package/product/components/ProductList/components/Layout/index.js +5 -3
  462. package/product/components/ProductList/index.js +33 -27
  463. package/product/components/ProductName/ProductName.js +19 -15
  464. package/product/components/ProductName/ProductNameContent.js +14 -9
  465. package/product/components/ProductProperties/Content.js +12 -8
  466. package/product/components/ProductProperties/Group.js +12 -8
  467. package/product/components/ProductProperties/GroupedProperties.js +18 -15
  468. package/product/components/ProductProperties/Lists.js +12 -9
  469. package/product/components/ProductProperties/ListsHTML.js +11 -9
  470. package/product/components/ProductProperties/ProductProperties.js +7 -5
  471. package/product/components/ProductProperties/Row.js +22 -18
  472. package/product/components/ProductProperties/RowHTML.js +14 -10
  473. package/product/components/ProductProperties/Rows.js +5 -6
  474. package/product/components/ProductProperties/Wrapper.js +9 -3
  475. package/product/components/ProductSlider/index.js +28 -23
  476. package/product/components/ProductSlider/spec.js +5 -2
  477. package/product/components/ProductVariants/VariantAvailability.js +9 -7
  478. package/product/components/QuantityPicker/index.js +11 -8
  479. package/product/components/Rating/index.js +16 -13
  480. package/product/components/Rating/spec.js +7 -5
  481. package/product/components/RelationsSlider/RelationsSheet.js +22 -16
  482. package/product/components/RelationsSlider/RelationsSlider.js +2 -1
  483. package/product/components/RelationsSlider/RelationsSliderContent.js +30 -25
  484. package/product/components/Swatch/Swatch.js +2 -1
  485. package/product/components/Swatch/SwatchContent.js +25 -23
  486. package/product/components/Swatch/VariantSwatch.js +2 -1
  487. package/product/components/Swatches/Swatches.js +10 -8
  488. package/product/components/UnitQuantityPicker/CartUnitQuantityPicker.js +2 -1
  489. package/product/components/UnitQuantityPicker/ProductUnitQuantityPicker.js +32 -24
  490. package/product/components/UnitQuantityPicker/UnitQuantityPicker.js +70 -62
  491. package/product/components/UnitQuantityPicker/UnitQuantityPickerWithSection.js +17 -14
  492. package/product/hocs/withMapPricing.js +30 -18
  493. package/product/hocs/withPriceCalculation.js +7 -2
  494. package/product/hocs/withProductListEntry.js +7 -4
  495. package/product/hocs/withProductListEntryProduct.js +4 -1
  496. package/product/hocs/withProductListType.js +7 -4
  497. package/product/providers/ProductListEntry/index.js +5 -3
  498. package/product/providers/ProductListType/index.js +5 -3
  499. package/product/selectors/helpers/wrapMemoizedSelector.js +2 -2
  500. package/push-opt-in/components/PushOptInModal/index.js +52 -42
  501. package/registration/components/GuestRegistration/GuestRegistration.js +8 -5
  502. package/registration/components/GuestRegistration/GuestRegistrationContent.js +21 -17
  503. package/registration/components/GuestRegistration/GuestRegistrationFormPickup.js +17 -14
  504. package/registration/components/Registration/Registration.js +7 -5
  505. package/registration/components/Registration/RegistrationContent.js +14 -8
  506. package/registration/components/Registration/RegistrationFormActions.js +11 -8
  507. package/registration/components/Registration/RegistrationFormBase.js +12 -10
  508. package/registration/components/Registration/RegistrationFormBilling.js +12 -10
  509. package/registration/components/Registration/RegistrationFormExtra.js +12 -10
  510. package/registration/components/Registration/RegistrationFormShipping.js +12 -10
  511. package/registration/components/Registration/RegistrationFormToggle.js +15 -12
  512. package/registration/providers/GuestRegistrationProvider.actions.js +3 -3
  513. package/registration/providers/GuestRegistrationProvider.js +5 -3
  514. package/registration/providers/RegistrationProvider.actions.js +2 -2
  515. package/registration/providers/RegistrationProvider.js +7 -5
  516. package/reviews/components/Reviews/components/AllReviewsLink/index.js +11 -8
  517. package/reviews/components/Reviews/components/Header/components/AverageRating/index.js +10 -8
  518. package/reviews/components/Reviews/components/Header/components/NoReviews/index.js +16 -11
  519. package/reviews/components/Reviews/components/Header/components/ReviewsExcerpt/index.js +21 -17
  520. package/reviews/components/Reviews/components/Header/components/WriteReviewLink/index.js +12 -9
  521. package/reviews/components/Reviews/components/Header/components/WriteReviewLink/spec.js +7 -5
  522. package/reviews/components/Reviews/components/Header/index.js +3 -2
  523. package/reviews/components/Reviews/components/Header/spec.js +7 -3
  524. package/reviews/components/Reviews/components/List/components/Info/components/Author/index.js +2 -1
  525. package/reviews/components/Reviews/components/List/components/Info/components/ReviewDate/index.js +2 -1
  526. package/reviews/components/Reviews/components/List/components/Info/index.js +9 -7
  527. package/reviews/components/Reviews/components/List/components/Rating/index.js +8 -6
  528. package/reviews/components/Reviews/components/List/components/Review/index.js +13 -11
  529. package/reviews/components/Reviews/components/List/components/Text/index.js +5 -3
  530. package/reviews/components/Reviews/components/List/components/Title/index.js +5 -3
  531. package/reviews/components/Reviews/components/List/index.js +34 -24
  532. package/reviews/components/Reviews/components/List/spec.js +2 -1
  533. package/reviews/components/Reviews/components/RatingCount/index.js +2 -1
  534. package/reviews/components/Reviews/components/RatingCount/spec.js +3 -2
  535. package/reviews/components/Reviews/components/ReviewsInfo/index.js +11 -6
  536. package/reviews/components/Reviews/index.js +16 -13
  537. package/reviews/components/Reviews/spec.js +8 -6
  538. package/styles/theme/hooks/useResponsiveValue.js +1 -1
  539. package/styles/theme/providers/ActiveBreakpointProvider.js +6 -4
  540. package/styles/theme/providers/ThemeProvider.js +7 -3
  541. package/tracking/components/CookieConsentModal/index.js +83 -66
  542. package/tracking/components/PrivacySettings/index.js +104 -78
@@ -13,6 +13,7 @@ import { APP_FOOTER_ID, DATA_IGNORED } from "./constants";
13
13
  * @param {Object} props The component props.
14
14
  * @returns {JSX.Element}
15
15
  */
16
+ import { jsx as _jsx } from "react/jsx-runtime";
16
17
  const Footer = ({
17
18
  children
18
19
  }) => {
@@ -53,12 +54,14 @@ const Footer = ({
53
54
  observer.disconnect();
54
55
  };
55
56
  }, [performFooterUpdate]);
56
- return /*#__PURE__*/React.createElement("div", {
57
- className: classNames(classes.footer, 'engage__footer')
58
- }, /*#__PURE__*/React.createElement("div", {
59
- id: APP_FOOTER_ID,
60
- ref: footerRef
61
- }, children));
57
+ return /*#__PURE__*/_jsx("div", {
58
+ className: classNames(classes.footer, 'engage__footer'),
59
+ children: /*#__PURE__*/_jsx("div", {
60
+ id: APP_FOOTER_ID,
61
+ ref: footerRef,
62
+ children: children
63
+ })
64
+ });
62
65
  };
63
66
  Footer.defaultProps = {
64
67
  children: null
@@ -1,3 +1,4 @@
1
+ import _inheritsLoose from "@babel/runtime/helpers/inheritsLoose";
1
2
  import _camelCase from "lodash/camelCase";
2
3
  var _Builder;
3
4
  import React, { Component, Fragment } from 'react';
@@ -26,6 +27,7 @@ import { sanitizePortalName } from "./helpers/common";
26
27
  * Optional select element
27
28
  * @type {Object}
28
29
  */
30
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
29
31
  const emptySelectOption = {
30
32
  '': ''
31
33
  };
@@ -34,13 +36,14 @@ const emptySelectOption = {
34
36
  * Takes a form configuration and handles rendering and updates of the form fields.
35
37
  * Note: Only one country and one province element is supported per FormBuilder instance.
36
38
  */
37
- class Builder extends Component {
39
+ let Builder = /*#__PURE__*/function (_Component) {
38
40
  /**
39
41
  * Initializes the component.
40
42
  * @param {Object} props The components props.
41
43
  */
42
- constructor(props) {
43
- super(props);
44
+ function Builder(props) {
45
+ var _this;
46
+ _this = _Component.call(this, props) || this;
44
47
 
45
48
  // Prepare internal state
46
49
  /**
@@ -48,7 +51,7 @@ class Builder extends Component {
48
51
  * @param {string} type The type value of the element to return.
49
52
  * @returns {*|ElementText|ElementSelect|ElementCheckbox|ElementRadio|null}
50
53
  */
51
- this.getFormElementComponent = type => this.props.elements[type] || Builder.defaultElements[type] || null;
54
+ _this.getFormElementComponent = type => _this.props.elements[type] || Builder.defaultElements[type] || null;
52
55
  /**
53
56
  * Sorts the elements by "sortOrder" property
54
57
  *
@@ -59,7 +62,7 @@ class Builder extends Component {
59
62
  * @param {FormElement} element2 Second element
60
63
  * @returns {number}
61
64
  */
62
- this.elementSortFunc = (element1, element2) => {
65
+ _this.elementSortFunc = (element1, element2) => {
63
66
  // Keep current sort order when no specific sort order was set for both
64
67
  if (element1.sortOrder === undefined || element2.sortOrder === undefined) {
65
68
  return 0;
@@ -74,18 +77,18 @@ class Builder extends Component {
74
77
  * @param {string} elementId Element to create the handler for
75
78
  * @param {string} value Element value
76
79
  */
77
- this.elementChangeHandler = (elementId, value) => {
80
+ _this.elementChangeHandler = (elementId, value) => {
78
81
  // "newState" is the state changes before any form actions have been applied
79
82
  const newState = {
80
- ...this.state,
83
+ ..._this.state,
81
84
  formData: {
82
- ...this.state.formData,
85
+ ..._this.state.formData,
83
86
  [elementId]: value
84
87
  }
85
88
  };
86
89
 
87
90
  // Handle context sensitive functionality by via "action" listener and use the "new" state
88
- const updatedNewState = this.actionListener.notify(elementId, this.state, newState);
91
+ const updatedNewState = _this.actionListener.notify(elementId, _this.state, newState);
89
92
 
90
93
  // Form actions can append validation errors by adding that field to the new state
91
94
  // Split out validation errors from final state and
@@ -98,7 +101,7 @@ class Builder extends Component {
98
101
  let hasErrors = Object.keys(validationErrors).length > 0;
99
102
 
100
103
  // Check "required" fields for all visible elements and enable rendering on changes
101
- this.formElements.forEach(formElement => {
104
+ _this.formElements.forEach(formElement => {
102
105
  if (!finalState.elementVisibility[formElement.id] || !formElement.required) {
103
106
  return;
104
107
  }
@@ -108,11 +111,11 @@ class Builder extends Component {
108
111
  });
109
112
 
110
113
  // Handle state internally and send an "onChange" event to parent if this finished
111
- this.setState(finalState);
114
+ _this.setState(finalState);
112
115
 
113
116
  // Transform to external structure (unavailable ones will be set undefined)
114
117
  const updateData = {};
115
- this.formElements.forEach(el => {
118
+ _this.formElements.forEach(el => {
116
119
  if (el.custom) {
117
120
  if (updateData.customAttributes === undefined) {
118
121
  updateData.customAttributes = {};
@@ -124,7 +127,7 @@ class Builder extends Component {
124
127
  });
125
128
 
126
129
  // Trigger the given update action of the parent and provide all new validation errors to it
127
- this.props.handleUpdate(updateData, hasErrors,
130
+ _this.props.handleUpdate(updateData, hasErrors,
128
131
  // Output validation errors in the same structure (array) as the component takes them
129
132
  hasErrors ? Object.keys(validationErrors).map(k => ({
130
133
  path: k,
@@ -139,16 +142,16 @@ class Builder extends Component {
139
142
  * @param {string} elementErrorText The error text to be shown for this specific element
140
143
  * @returns {JSX.Element}
141
144
  */
142
- this.renderElement = (formName, element, elementErrorText) => {
145
+ _this.renderElement = (formName, element, elementErrorText) => {
143
146
  const {
144
147
  formData
145
- } = this.state;
146
- const elementName = `${this.props.name}_${element.id}`;
148
+ } = _this.state;
149
+ const elementName = `${_this.props.name}_${element.id}`;
147
150
  const elementValue = formData[element.id];
148
- const elementVisible = this.state.elementVisibility[element.id] || false;
151
+ const elementVisible = _this.state.elementVisibility[element.id] || false;
149
152
 
150
153
  // Take a dynamic REACT element based on its type
151
- const Element = this.getFormElementComponent(element.type);
154
+ const Element = _this.getFormElementComponent(element.type);
152
155
  if (!Element) {
153
156
  logger.error(`Unknown form element type: ${element.type}`);
154
157
  return null;
@@ -159,13 +162,13 @@ class Builder extends Component {
159
162
  switch (element.type) {
160
163
  case ELEMENT_TYPE_COUNTRY:
161
164
  {
162
- elementData.options = element.options || this.countryList;
165
+ elementData.options = element.options || _this.countryList;
163
166
  break;
164
167
  }
165
168
  case ELEMENT_TYPE_PROVINCE:
166
169
  {
167
170
  // Province selection only makes sense with a country being selected, or from custom options
168
- const countryElement = this.formElements.find(el => el.type === ELEMENT_TYPE_COUNTRY);
171
+ const countryElement = _this.formElements.find(el => el.type === ELEMENT_TYPE_COUNTRY);
169
172
  elementData.options = countryElement && formData[countryElement.id] ? buildProvinceList(formData[countryElement.id],
170
173
  // Auto-select with "empty" when not required
171
174
  element.required ? null : emptySelectOption) : {};
@@ -174,7 +177,7 @@ class Builder extends Component {
174
177
  default:
175
178
  break;
176
179
  }
177
- return /*#__PURE__*/React.createElement(Element, {
180
+ return /*#__PURE__*/_jsx(Element, {
178
181
  name: elementName,
179
182
  element: elementData,
180
183
  errorText: elementErrorText,
@@ -183,55 +186,58 @@ class Builder extends Component {
183
186
  formName: formName
184
187
  });
185
188
  };
186
- this.state = {
189
+ _this.state = {
187
190
  elementVisibility: {},
188
191
  formData: {}
189
192
  };
190
193
 
191
194
  // Reorganize form elements into a structure that can be easily rendered
192
- const formElements = buildFormElements(props.config, this.elementChangeHandler);
195
+ const formElements = buildFormElements(props.config, _this.elementChangeHandler);
193
196
  // Compute defaults
194
197
  const formDefaults = buildFormDefaults(formElements, props.defaults);
195
198
  // Assign defaults to state
196
- this.state.formData = formDefaults;
199
+ _this.state.formData = formDefaults;
197
200
 
198
201
  // Handle fixed visibilities
199
202
  formElements.forEach(element => {
200
203
  // Assume as visible except it's explicitly set to "false"
201
- this.state.elementVisibility[element.id] = element.visible !== false;
204
+ _this.state.elementVisibility[element.id] = element.visible !== false;
202
205
  });
203
- this.actionListener = new ActionListener(buildProvinceList, formDefaults);
204
- this.actionListener.attachAll(formElements);
206
+ _this.actionListener = new ActionListener(buildProvinceList, formDefaults);
207
+ _this.actionListener.attachAll(formElements);
205
208
 
206
209
  // Sort the elements after attaching action listeners to keep action hierarchy same as creation
207
- this.formElements = formElements.sort(this.elementSortFunc);
210
+ _this.formElements = formElements.sort(_this.elementSortFunc);
208
211
 
209
212
  // Assemble combined country/province list based on the config element
210
- const _countryElement = this.formElements.find(el => el.type === ELEMENT_TYPE_COUNTRY);
213
+ const _countryElement = _this.formElements.find(el => el.type === ELEMENT_TYPE_COUNTRY);
211
214
  if (_countryElement) {
212
- this.countryList = buildCountryList(_countryElement, emptySelectOption);
213
- const provinceElement = this.formElements.find(el => el.type === ELEMENT_TYPE_PROVINCE);
215
+ _this.countryList = buildCountryList(_countryElement, emptySelectOption);
216
+ const provinceElement = _this.formElements.find(el => el.type === ELEMENT_TYPE_PROVINCE);
214
217
  if (provinceElement && provinceElement.required && !!formDefaults[_countryElement.id] && !formDefaults[provinceElement.id]) {
215
218
  // Set default for province field for given country
216
219
  const [first] = Object.keys(buildProvinceList(formDefaults[_countryElement.id]));
217
220
  if (first) {
218
- this.state.formData[provinceElement.id] = first;
221
+ _this.state.formData[provinceElement.id] = first;
219
222
  }
220
223
  }
221
224
  }
222
225
 
223
226
  // Final form initialization, by triggering actionListeners and enable rendering for elements
224
- let _newState = this.state;
225
- this.formElements.forEach(element => {
226
- _newState = this.actionListener.notify(element.id, this.state, _newState);
227
+ let _newState = _this.state;
228
+ _this.formElements.forEach(element => {
229
+ _newState = _this.actionListener.notify(element.id, _this.state, _newState);
227
230
  });
228
- this.state = _newState;
231
+ _this.state = _newState;
232
+ return _this;
229
233
  }
234
+ _inheritsLoose(Builder, _Component);
235
+ var _proto = Builder.prototype;
230
236
  /**
231
237
  * Renders the component based on the given config
232
238
  * @return {JSX.Element}
233
239
  */
234
- render() {
240
+ _proto.render = function render() {
235
241
  const {
236
242
  name,
237
243
  className,
@@ -240,44 +246,49 @@ class Builder extends Component {
240
246
  // Convert validation errors for easier handling
241
247
  const validationErrors = buildValidationErrorList(this.props.validationErrors);
242
248
  const validationErrorsAmount = Object.entries(validationErrors).length;
243
- return /*#__PURE__*/React.createElement(Form, {
249
+ return /*#__PURE__*/_jsxs(Form, {
244
250
  className: _camelCase(name),
245
- onSubmit: onSubmit
246
- }, validationErrorsAmount > 0 && /*#__PURE__*/React.createElement("div", {
247
- className: "sr-only"
248
- }, /*#__PURE__*/React.createElement(I18n.Text, {
249
- string: "login.errorAmount",
250
- params: {
251
- amount: validationErrorsAmount
252
- }
253
- })), /*#__PURE__*/React.createElement("div", {
254
- className: className
255
- }, this.formElements.map(element => /*#__PURE__*/React.createElement(Fragment, {
256
- key: `${name}_${element.id}`
257
- }, /*#__PURE__*/React.createElement(Portal, {
258
- name: `${sanitizePortalName(name)}.${sanitizePortalName(element.id)}.${BEFORE}`,
259
- props: {
260
- formName: name,
261
- errorText: validationErrors[element.id] || '',
262
- element
263
- }
264
- }), /*#__PURE__*/React.createElement(Portal, {
265
- name: `${sanitizePortalName(name)}.${sanitizePortalName(element.id)}`,
266
- props: {
267
- formName: name,
268
- errorText: validationErrors[element.id] || '',
269
- element
270
- }
271
- }, this.renderElement(name, element, validationErrors[element.id] || '')), /*#__PURE__*/React.createElement(Portal, {
272
- name: `${sanitizePortalName(name)}.${sanitizePortalName(element.id)}.${AFTER}`,
273
- props: {
274
- formName: name,
275
- errorText: validationErrors[element.id] || '',
276
- element
277
- }
278
- })))));
279
- }
280
- }
251
+ onSubmit: onSubmit,
252
+ children: [validationErrorsAmount > 0 && /*#__PURE__*/_jsx("div", {
253
+ className: "sr-only",
254
+ children: /*#__PURE__*/_jsx(I18n.Text, {
255
+ string: "login.errorAmount",
256
+ params: {
257
+ amount: validationErrorsAmount
258
+ }
259
+ })
260
+ }), /*#__PURE__*/_jsx("div", {
261
+ className: className,
262
+ children: this.formElements.map(element => /*#__PURE__*/_jsxs(Fragment, {
263
+ children: [/*#__PURE__*/_jsx(Portal, {
264
+ name: `${sanitizePortalName(name)}.${sanitizePortalName(element.id)}.${BEFORE}`,
265
+ props: {
266
+ formName: name,
267
+ errorText: validationErrors[element.id] || '',
268
+ element
269
+ }
270
+ }), /*#__PURE__*/_jsx(Portal, {
271
+ name: `${sanitizePortalName(name)}.${sanitizePortalName(element.id)}`,
272
+ props: {
273
+ formName: name,
274
+ errorText: validationErrors[element.id] || '',
275
+ element
276
+ },
277
+ children: this.renderElement(name, element, validationErrors[element.id] || '')
278
+ }), /*#__PURE__*/_jsx(Portal, {
279
+ name: `${sanitizePortalName(name)}.${sanitizePortalName(element.id)}.${AFTER}`,
280
+ props: {
281
+ formName: name,
282
+ errorText: validationErrors[element.id] || '',
283
+ element
284
+ }
285
+ })]
286
+ }, `${name}_${element.id}`))
287
+ })]
288
+ });
289
+ };
290
+ return Builder;
291
+ }(Component);
281
292
  _Builder = Builder;
282
293
  Builder.defaultElements = {
283
294
  [ELEMENT_TYPE_EMAIL]: ElementText,
@@ -11,6 +11,7 @@ import FormHelper from "./FormHelper";
11
11
  * @param {Object} props.element The data of the element to be rendered
12
12
  * @returns {JSX}
13
13
  */
14
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
14
15
  const ElementCheckbox = props => {
15
16
  const {
16
17
  element,
@@ -23,25 +24,26 @@ const ElementCheckbox = props => {
23
24
  if (!visible) {
24
25
  return null;
25
26
  }
26
- return /*#__PURE__*/React.createElement("div", {
27
+ return /*#__PURE__*/_jsxs("div", {
27
28
  className: classNames('container-checkbox', _camelCase(name), 'engage__form-checkbox', 'formBuilderField', {
28
29
  validationError: !!errorText
29
- })
30
- }, /*#__PURE__*/React.createElement(Checkbox, {
31
- name: name,
32
- errorText: errorText,
33
- checked: !!value,
34
- label: element.label,
35
- onChange: element.handleChange,
36
- translateErrorText: false,
37
- showErrorText: false,
38
- disabled: element.disabled
39
- }), /*#__PURE__*/React.createElement(FormHelper, {
40
- errorText: errorText,
41
- element: element,
42
- formName: formName,
43
- elementName: name
44
- }));
30
+ }),
31
+ children: [/*#__PURE__*/_jsx(Checkbox, {
32
+ name: name,
33
+ errorText: errorText,
34
+ checked: !!value,
35
+ label: element.label,
36
+ onChange: element.handleChange,
37
+ translateErrorText: false,
38
+ showErrorText: false,
39
+ disabled: element.disabled
40
+ }), /*#__PURE__*/_jsx(FormHelper, {
41
+ errorText: errorText,
42
+ element: element,
43
+ formName: formName,
44
+ elementName: name
45
+ })]
46
+ });
45
47
  };
46
48
  ElementCheckbox.defaultProps = {
47
49
  value: false,
@@ -13,6 +13,7 @@ import FormHelper from "./FormHelper";
13
13
  * @param {Object} props.element The data of the element to be rendered
14
14
  * @returns {JSX}
15
15
  */
16
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
16
17
  const ElementMultiSelect = props => {
17
18
  const {
18
19
  element,
@@ -26,46 +27,49 @@ const ElementMultiSelect = props => {
26
27
  return null;
27
28
  }
28
29
  const values = [].concat(value).filter(Boolean);
29
- return /*#__PURE__*/React.createElement("div", {
30
+ return /*#__PURE__*/_jsxs("div", {
30
31
  className: classNames(_camelCase(name), 'engage__form-multi-select', 'formBuilderField', {
31
32
  validationError: !!errorText
32
- })
33
- }, /*#__PURE__*/React.createElement(ResponsiveContainer, {
34
- appAlways: true,
35
- breakpoint: "xs"
36
- }, /*#__PURE__*/React.createElement(Select, {
37
- name: name,
38
- required: element?.required,
39
- label: element.label,
40
- placeholder: element.placeholder,
41
- value: values,
42
- options: element.options,
43
- onChange: element.handleChange,
44
- errorText: errorText,
45
- isControlled: true,
46
- translateErrorText: false,
47
- showErrorText: false,
48
- disabled: element.disabled,
49
- multiple: true,
50
- "aria-invalid": !!errorText,
51
- "aria-describedby": errorText.length > 0 ? `ariaError-${name}` : null
52
- })), /*#__PURE__*/React.createElement(ResponsiveContainer, {
53
- webOnly: true,
54
- breakpoint: ">xs"
55
- }, /*#__PURE__*/React.createElement(SelectContextChoices, {
56
- label: element.label,
57
- placeholder: element.placeholder,
58
- value: values,
59
- options: element.options,
60
- onChange: element.handleChange,
61
- errorText: errorText,
62
- showErrorText: false
63
- })), /*#__PURE__*/React.createElement(FormHelper, {
64
- errorText: errorText,
65
- element: element,
66
- formName: formName,
67
- elementName: name
68
- }));
33
+ }),
34
+ children: [/*#__PURE__*/_jsx(ResponsiveContainer, {
35
+ appAlways: true,
36
+ breakpoint: "xs",
37
+ children: /*#__PURE__*/_jsx(Select, {
38
+ name: name,
39
+ required: element?.required,
40
+ label: element.label,
41
+ placeholder: element.placeholder,
42
+ value: values,
43
+ options: element.options,
44
+ onChange: element.handleChange,
45
+ errorText: errorText,
46
+ isControlled: true,
47
+ translateErrorText: false,
48
+ showErrorText: false,
49
+ disabled: element.disabled,
50
+ multiple: true,
51
+ "aria-invalid": !!errorText,
52
+ "aria-describedby": errorText.length > 0 ? `ariaError-${name}` : null
53
+ })
54
+ }), /*#__PURE__*/_jsx(ResponsiveContainer, {
55
+ webOnly: true,
56
+ breakpoint: ">xs",
57
+ children: /*#__PURE__*/_jsx(SelectContextChoices, {
58
+ label: element.label,
59
+ placeholder: element.placeholder,
60
+ value: values,
61
+ options: element.options,
62
+ onChange: element.handleChange,
63
+ errorText: errorText,
64
+ showErrorText: false
65
+ })
66
+ }), /*#__PURE__*/_jsx(FormHelper, {
67
+ errorText: errorText,
68
+ element: element,
69
+ formName: formName,
70
+ elementName: name
71
+ })]
72
+ });
69
73
  };
70
74
  ElementMultiSelect.defaultProps = {
71
75
  value: '',
@@ -1,4 +1,3 @@
1
- import _extends from "@babel/runtime/helpers/extends";
2
1
  import _isEqual from "lodash/isEqual";
3
2
  import _upperCase from "lodash/upperCase";
4
3
  import _camelCase from "lodash/camelCase";
@@ -21,6 +20,7 @@ import { css } from 'glamor';
21
20
  import { themeConfig } from '@shopgate/engage';
22
21
  import Label from '@shopgate/pwa-ui-shared/TextField/components/Label';
23
22
  import FormHelper from "./FormHelper";
23
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
24
24
  const {
25
25
  variables,
26
26
  colors
@@ -167,13 +167,13 @@ const UnwrappedElementPhoneNumber = /*#__PURE__*/React.memo(props => {
167
167
  * of the counties array.
168
168
  */
169
169
  const sanitizedCountrySortOrder = countrySortOrder.filter(countryCode => countries.includes(countryCode));
170
- const countryListsEqual = _isEqual([...countries].sort(), [...sanitizedCountrySortOrder].sort());
170
+ const countryListsEqual = _isEqual([].concat(countries).sort(), [].concat(sanitizedCountrySortOrder).sort());
171
171
  /**
172
172
  * When list with supported countries has the same entries as the country sort order, we don't
173
173
  * need to add a separator to the countryOptionsOrder array since the country picker lists
174
174
  * will not show a section with unordered countries.
175
175
  */
176
- return sanitizedCountrySortOrder.length ? [...sanitizedCountrySortOrder, ...(countryListsEqual ? [] : ['|'])] : [];
176
+ return sanitizedCountrySortOrder.length ? [].concat(sanitizedCountrySortOrder, countryListsEqual ? [] : ['|']) : [];
177
177
  }, [countries, countrySortOrder]);
178
178
  const hasCountrySelect = React.useMemo(() => countries.length > 1, [countries.length]);
179
179
  const handleChangeWrapped = React.useCallback(phoneValue => {
@@ -197,41 +197,44 @@ const UnwrappedElementPhoneNumber = /*#__PURE__*/React.memo(props => {
197
197
  return null;
198
198
  }
199
199
  const Component = hasCountrySelect ? PhoneInputCountrySelect : PhoneInput;
200
- return /*#__PURE__*/React.createElement("div", {
200
+ return /*#__PURE__*/_jsxs("div", {
201
201
  className: classnames('formBuilderField', 'engage__form-phone-number', {
202
202
  validationError: !!errorText
203
- })
204
- }, /*#__PURE__*/React.createElement("div", {
205
- className: phoneClasses
206
- }, /*#__PURE__*/React.createElement(Label, {
207
- label: label,
208
- isFocused: isFocused,
209
- isFloating: isFocused || !!value
210
- }), /*#__PURE__*/React.createElement(Component, _extends({
211
- defaultCountry: defaultCountry,
212
- name: name,
213
- value: value || '',
214
- onChange: handleChangeWrapped,
215
- onFocus: () => setIsFocused(true),
216
- onBlur: () => setIsFocused(false),
217
- disabled: disabled,
218
- required: required,
219
- "aria-invalid": !!errorText,
220
- "aria-describedby": errorText.length > 0 ? `ariaError-${name}` : null
221
- }, hasCountrySelect ? {
222
- countryOptionsOrder,
223
- addInternationalOption: false,
224
- flags,
225
- countries,
226
- labels
227
- } : {
228
- className: 'PhoneInputInput'
229
- }))), /*#__PURE__*/React.createElement(FormHelper, {
230
- errorText: errorText,
231
- element: element,
232
- formName: formName,
233
- elementName: name
234
- }));
203
+ }),
204
+ children: [/*#__PURE__*/_jsxs("div", {
205
+ className: phoneClasses,
206
+ children: [/*#__PURE__*/_jsx(Label, {
207
+ label: label,
208
+ isFocused: isFocused,
209
+ isFloating: isFocused || !!value
210
+ }), /*#__PURE__*/_jsx(Component, {
211
+ defaultCountry: defaultCountry,
212
+ name: name,
213
+ value: value || '',
214
+ onChange: handleChangeWrapped,
215
+ onFocus: () => setIsFocused(true),
216
+ onBlur: () => setIsFocused(false),
217
+ disabled: disabled,
218
+ required: required,
219
+ "aria-invalid": !!errorText,
220
+ "aria-describedby": errorText.length > 0 ? `ariaError-${name}` : null,
221
+ ...(hasCountrySelect ? {
222
+ countryOptionsOrder,
223
+ addInternationalOption: false,
224
+ flags,
225
+ countries,
226
+ labels
227
+ } : {
228
+ className: 'PhoneInputInput'
229
+ })
230
+ })]
231
+ }), /*#__PURE__*/_jsx(FormHelper, {
232
+ errorText: errorText,
233
+ element: element,
234
+ formName: formName,
235
+ elementName: name
236
+ })]
237
+ });
235
238
  });
236
239
  UnwrappedElementPhoneNumber.defaultProps = {
237
240
  value: '',
@@ -12,6 +12,7 @@ import FormHelper from "./FormHelper";
12
12
  * @param {Object} props.element The data of the element to be rendered
13
13
  * @returns {JSX}
14
14
  */
15
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
15
16
  const ElementRadio = props => {
16
17
  const {
17
18
  element,
@@ -24,31 +25,32 @@ const ElementRadio = props => {
24
25
  if (!visible) {
25
26
  return null;
26
27
  }
27
- return /*#__PURE__*/React.createElement("div", {
28
+ return /*#__PURE__*/_jsxs("div", {
28
29
  className: classNames(_camelCase(name), 'engage__form-radio', 'formBuilderField', {
29
30
  validationError: !!errorText
30
- })
31
- }, /*#__PURE__*/React.createElement(RadioGroup, {
32
- name: name,
33
- label: element.label,
34
- value: value,
35
- onChange: element.handleChange,
36
- errorText: errorText,
37
- isControlled: true,
38
- translateErrorText: false,
39
- showErrorText: false,
40
- disabled: element.disabled
41
- }, Object.keys(element.options).map(itemName => /*#__PURE__*/React.createElement(RadioItem, {
42
- key: `${name}_${itemName}`,
43
- id: `${name}_${_camelCase(itemName)}`,
44
- name: itemName,
45
- label: element.options[itemName]
46
- }))), /*#__PURE__*/React.createElement(FormHelper, {
47
- errorText: errorText,
48
- element: element,
49
- formName: formName,
50
- elementName: name
51
- }));
31
+ }),
32
+ children: [/*#__PURE__*/_jsx(RadioGroup, {
33
+ name: name,
34
+ label: element.label,
35
+ value: value,
36
+ onChange: element.handleChange,
37
+ errorText: errorText,
38
+ isControlled: true,
39
+ translateErrorText: false,
40
+ showErrorText: false,
41
+ disabled: element.disabled,
42
+ children: Object.keys(element.options).map(itemName => /*#__PURE__*/_jsx(RadioItem, {
43
+ id: `${name}_${_camelCase(itemName)}`,
44
+ name: itemName,
45
+ label: element.options[itemName]
46
+ }, `${name}_${itemName}`))
47
+ }), /*#__PURE__*/_jsx(FormHelper, {
48
+ errorText: errorText,
49
+ element: element,
50
+ formName: formName,
51
+ elementName: name
52
+ })]
53
+ });
52
54
  };
53
55
  ElementRadio.defaultProps = {
54
56
  value: '',