@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,5 @@
1
- export{default as ConditionalWrapper}from"./ConditionalWrapper";
1
+ /**
2
+ * Conditionally wraps React children with another component.
3
+ * @param {Object} props The component props.
4
+ * @returns {JSX}
5
+ */var ConditionalWrapper=function ConditionalWrapper(_ref){var condition=_ref.condition,wrapper=_ref.wrapper,children=_ref.children;return condition?wrapper(children):children;};export default ConditionalWrapper;
@@ -1,5 +1,24 @@
1
- import React,{useRef,useEffect,useCallback}from'react';import PropTypes from'prop-types';import classNames from'classnames';import{UIEvents}from'@shopgate/engage/core/events';import{getAbsoluteHeight}from'@shopgate/engage/core/helpers';import{SHEET_EVENTS}from'@shopgate/engage/components';import*as classes from"./Footer.style";import{handleSafeAreaInsets,updateFooterHeight}from"./helpers";import{APP_FOOTER_ID,DATA_IGNORED}from"./constants";/**
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 Portal from'@shopgate/pwa-common/components/Portal';import UIEvents from'@shopgate/pwa-core/emitters/ui';import{APP_FOOTER_CONTENT_BEFORE,APP_FOOTER_CONTENT_AFTER}from'@shopgate/pwa-common/constants/Portals';import{getAbsoluteHeight,getStyle}from'@shopgate/pwa-common/helpers/dom';import{SHEET_EVENTS}from'@shopgate/pwa-ui-shared/Sheet';import{footer,updateInsetBackgroundColor,updateFooterHeight}from"./Footer.style";var APP_FOOTER_ID='AppFooter';var DATA_IGNORED='data-footer-inset-update-ignore';/**
2
2
  * The footer component.
3
- * @param {Object} props The component props.
4
- * @returns {JSX.Element}
5
- */var Footer=function Footer(_ref){var children=_ref.children;var footerRef=useRef(null);var performFooterUpdate=useCallback(function(){handleSafeAreaInsets(footerRef.current);updateFooterHeight(getAbsoluteHeight(footerRef.current));},[]);var handleShow=useCallback(function(){updateFooterHeight(getAbsoluteHeight(footerRef.current));},[]);var handleHide=useCallback(function(){updateFooterHeight(0);},[]);useEffect(function(){UIEvents.addListener(SHEET_EVENTS.OPEN,handleHide);UIEvents.addListener(SHEET_EVENTS.CLOSE,handleShow);return function(){UIEvents.removeListener(SHEET_EVENTS.OPEN,handleHide);UIEvents.removeListener(SHEET_EVENTS.CLOSE,handleShow);};},[handleHide,handleShow]);useEffect(function(){performFooterUpdate();var observer=new MutationObserver(function(mutations){var update=mutations.filter(function(mutation){return mutation.target.getAttribute(DATA_IGNORED)!=='true';}).length>0;if(update){performFooterUpdate();}});observer.observe(footerRef.current,{childList:true,subtree:true,attributes:true,attributeFilter:['style','class']});return function(){observer.disconnect();};},[performFooterUpdate]);return React.createElement("div",{className:classNames(classes.footer,'engage__footer')},React.createElement("div",{id:APP_FOOTER_ID,ref:footerRef},children));};Footer.defaultProps={children:null};export default Footer;
3
+ */var Footer=/*#__PURE__*/function(_PureComponent){_inherits(Footer,_PureComponent);var _super=_createSuper(Footer);function Footer(){var _this;_classCallCheck(this,Footer);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),"ref",/*#__PURE__*/React.createRef());_defineProperty(_assertThisInitialized(_this),"hide",function(){if(_this.ref.current){updateFooterHeight(0);}});_defineProperty(_assertThisInitialized(_this),"show",function(){if(_this.ref.current){updateFooterHeight(getAbsoluteHeight(_this.ref.current));}});return _this;}_createClass(Footer,[{key:"componentDidMount",value:/**
4
+ * Sets up the DOM Mutation Observer to take care that the footer inset always has the correct
5
+ * background color, which matches the background color of the last element within the footer.
6
+ */function componentDidMount(){var _this2=this;this.performFooterUpdate();var observer=new MutationObserver(function(mutations){var update=mutations.filter(function(mutation){return mutation.target.getAttribute(DATA_IGNORED)!=='true';}).length>0;if(update){_this2.performFooterUpdate();}});observer.observe(this.ref.current,{attributes:true,childList:true,subtree:true});UIEvents.addListener(SHEET_EVENTS.OPEN,this.hide);UIEvents.addListener(SHEET_EVENTS.CLOSE,this.show);}/** @inheritDoc */},{key:"componentWillUnmount",value:function componentWillUnmount(){UIEvents.removeListener(SHEET_EVENTS.OPEN,this.hide);UIEvents.removeListener(SHEET_EVENTS.CLOSE,this.show);}},{key:"getInsetBackgroundColor",value:/**
7
+ * Retrieves the background color for the footer inset.
8
+ * @param {NodeList} elements The DOM elements to inspect.
9
+ * @returns {string|null}
10
+ */function getInsetBackgroundColor(elements){var _this3=this;/**
11
+ * The background color of the bottom inset needs to identical to the last entry of the footer.
12
+ * So we loop backwards to the elements to find the first visible one.
13
+ */var color=Array.from(elements).reverse().reduce(function(result,element){var ignore=element.getAttribute(DATA_IGNORED)==='true';if(result||ignore){// Nothing to do, since the color was already determined or the element can be ignored.
14
+ return result;}if(element.id===APP_FOOTER_ID){// Inspect core portal.
15
+ return _this3.getInsetBackgroundColor(element.children);}if('clientHeight'in element){// Take the background color of the last visible element from the end of the footer.
16
+ return getStyle(element,'backgroundColor');}// Nothing happened within this loop - proceed with the next one.
17
+ return result;},null);if(color==='rgba(0, 0, 0, 0)'||color==='transparent'){return null;}return color||null;}/** Perform hide action */},{key:"performFooterUpdate",value:/**
18
+ * Performs an update of the footer: background color, height.
19
+ */function performFooterUpdate(){if(this.ref.current){updateFooterHeight(getAbsoluteHeight(this.ref.current));updateInsetBackgroundColor(this.getInsetBackgroundColor(this.ref.current.children));}}/**
20
+ * Checks if the footer has visible content.
21
+ * @returns {boolean}
22
+ */},{key:"hasVisibleContent",value:function hasVisibleContent(){if(this.ref.current){var elements=this.ref.current.parentElement.querySelectorAll("div.".concat(footer.toString()," > *:not(#").concat(APP_FOOTER_ID,"), #").concat(APP_FOOTER_ID," > *"));return Array.from(elements).filter(function(element){return element.getAttribute(DATA_IGNORED)!=='true'&&element.clientHeight>0;}).length>0;}return false;}/**
23
+ * @returns {JSX}
24
+ */},{key:"render",value:function render(){return/*#__PURE__*/React.createElement("div",{className:"".concat(footer," engage__footer"),ref:this.ref},/*#__PURE__*/React.createElement(Portal,{name:APP_FOOTER_CONTENT_BEFORE}),/*#__PURE__*/React.createElement("div",{id:APP_FOOTER_ID},this.props.children),/*#__PURE__*/React.createElement(Portal,{name:APP_FOOTER_CONTENT_AFTER}));}}]);return Footer;}(PureComponent);_defineProperty(Footer,"defaultProps",{children:null});export default Footer;
@@ -1 +1,7 @@
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{css}from'glamor';import{useScrollContainer}from'@shopgate/engage/core/helpers';export var footer=css(_extends({bottom:0,flexShrink:1,position:'relative',zIndex:1},!useScrollContainer()?{position:'sticky'}:{}));
1
+ import{css}from'glamor';var style=document.documentElement.style;/**
2
+ * Updates the background color of the bottom inset.
3
+ * @param {string} color The new background color
4
+ */export var updateInsetBackgroundColor=function updateInsetBackgroundColor(color){if(style.getPropertyValue('--footer-inset-background-color')!==color){style.setProperty('--footer-inset-background-color',color);}};/**
5
+ * Update the footer height
6
+ * @param {number} height height
7
+ */export var updateFooterHeight=function updateFooterHeight(height){var inset=Number(style.getPropertyValue('--safe-area-inset-bottom').replace(/\D/g,''));var footerHeight="".concat(inset+height,"px");if(style.getPropertyValue('--footer-height')!==footerHeight){style.setProperty('--footer-height',footerHeight);}};export var footer=css({bottom:0,flexShrink:1,position:'relative',zIndex:1,':after':{backgroundColor:'var(--footer-inset-background-color, var(--page-background-color))',height:'var(--safe-area-inset-bottom)',content:' ',display:'inherit',position:'relative',zIndex:15}});
@@ -1 +1 @@
1
- export var ELEMENT_TYPE_EMAIL='email';export var ELEMENT_TYPE_PASSWORD='password';export var ELEMENT_TYPE_TEXT='text';export var ELEMENT_TYPE_NUMBER='number';export var ELEMENT_TYPE_SELECT='select';export var ELEMENT_TYPE_MULTISELECT='multiselect';export var ELEMENT_TYPE_COUNTRY='country';export var ELEMENT_TYPE_PROVINCE='province';export var ELEMENT_TYPE_CHECKBOX='checkbox';export var ELEMENT_TYPE_RADIO='radio';export var ELEMENT_TYPE_DATE='date';export var ELEMENT_TYPE_PHONE='phone';export var ELEMENT_TYPE_PHONE_PICKER='phone_picker';
1
+ export var ELEMENT_TYPE_EMAIL='email';export var ELEMENT_TYPE_PASSWORD='password';export var ELEMENT_TYPE_TEXT='text';export var ELEMENT_TYPE_NUMBER='number';export var ELEMENT_TYPE_SELECT='select';export var ELEMENT_TYPE_COUNTRY='country';export var ELEMENT_TYPE_PROVINCE='province';export var ELEMENT_TYPE_CHECKBOX='checkbox';export var ELEMENT_TYPE_RADIO='radio';export var ELEMENT_TYPE_DATE='date';export var ELEMENT_TYPE_PHONE='phone';
@@ -1,65 +1,49 @@
1
- import _camelCase from"lodash/camelCase";var _excluded=["validationErrors"];var _Builder,_defineProperty2;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 _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_nonIterableRest();}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance");}function _iterableToArrayLimit(arr,i){var _arr=[];var _n=true;var _d=false;var _e=undefined;try{for(var _i=arr[Symbol.iterator](),_s;!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break;}}catch(err){_d=true;_e=err;}finally{try{if(!_n&&_i["return"]!=null)_i["return"]();}finally{if(_d)throw _e;}}return _arr;}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr;}function _objectWithoutProperties(source,excluded){if(source==null)return{};var target=_objectWithoutPropertiesLoose(source,excluded);var key,i;if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceSymbolKeys.length;i++){key=sourceSymbolKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key];}}return target;}function _objectWithoutPropertiesLoose(source,excluded){if(source==null)return{};var target={};var sourceKeys=Object.keys(source);var key,i;for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;target[key]=source[key];}return target;}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,Fragment}from'react';import PropTypes from'prop-types';import{logger}from'@shopgate/pwa-core/helpers';import Portal from'@shopgate/pwa-common/components/Portal';import{BEFORE,AFTER}from'@shopgate/pwa-common/constants/Portals';import{I18n}from'@shopgate/engage/components';import{Form}from'..';import ActionListener from"./classes/ActionListener";import{ELEMENT_TYPE_EMAIL,ELEMENT_TYPE_PASSWORD,ELEMENT_TYPE_TEXT,ELEMENT_TYPE_NUMBER,ELEMENT_TYPE_SELECT,ELEMENT_TYPE_COUNTRY,ELEMENT_TYPE_PROVINCE,ELEMENT_TYPE_CHECKBOX,ELEMENT_TYPE_RADIO,ELEMENT_TYPE_DATE,ELEMENT_TYPE_PHONE,ELEMENT_TYPE_PHONE_PICKER,ELEMENT_TYPE_MULTISELECT}from"./Builder.constants";import ElementText from"./ElementText";import ElementSelect from"./ElementSelect";import ElementMultiSelect from"./ElementMultiSelect";import ElementRadio from"./ElementRadio";import ElementCheckbox from"./ElementCheckbox";import ElementPhoneNumber from"./ElementPhoneNumber";import buildFormElements from"./helpers/buildFormElements";import buildFormDefaults from"./helpers/buildFormDefaults";import buildCountryList from"./helpers/buildCountryList";import buildProvinceList from"./helpers/buildProvinceList";import buildValidationErrorList from"./helpers/buildValidationErrorList";import{sanitizePortalName}from"./helpers/common";/**
1
+ function _typeof(obj){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj;}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj;},_typeof(obj);}import _camelCase from"lodash/camelCase";var _defineProperty2;var _excluded=["validationErrors"];function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_unsupportedIterableToArray(arr,i)||_nonIterableRest();}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen);}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i];}return arr2;}function _iterableToArrayLimit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break;}}catch(err){_d=true;_e=err;}finally{try{if(!_n&&_i["return"]!=null)_i["return"]();}finally{if(_d)throw _e;}}return _arr;}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr;}function _objectWithoutProperties(source,excluded){if(source==null)return{};var target=_objectWithoutPropertiesLoose(source,excluded);var key,i;if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceSymbolKeys.length;i++){key=sourceSymbolKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key];}}return target;}function _objectWithoutPropertiesLoose(source,excluded){if(source==null)return{};var target={};var sourceKeys=Object.keys(source);var key,i;for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;target[key]=source[key];}return target;}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,Fragment}from'react';import PropTypes from'prop-types';import{logger}from'@shopgate/pwa-core/helpers';import Portal from'@shopgate/pwa-common/components/Portal';import{BEFORE,AFTER}from'@shopgate/pwa-common/constants/Portals';import{Form}from'..';import ActionListener from"./classes/ActionListener";import{ELEMENT_TYPE_EMAIL,ELEMENT_TYPE_PASSWORD,ELEMENT_TYPE_TEXT,ELEMENT_TYPE_NUMBER,ELEMENT_TYPE_SELECT,ELEMENT_TYPE_COUNTRY,ELEMENT_TYPE_PROVINCE,ELEMENT_TYPE_CHECKBOX,ELEMENT_TYPE_RADIO,ELEMENT_TYPE_DATE,ELEMENT_TYPE_PHONE}from"./Builder.constants";import ElementText from"./ElementText";import ElementSelect from"./ElementSelect";import ElementRadio from"./ElementRadio";import ElementCheckbox from"./ElementCheckbox";import buildFormElements from"./helpers/buildFormElements";import buildFormDefaults from"./helpers/buildFormDefaults";import buildCountryList from"./helpers/buildCountryList";import buildProvinceList from"./helpers/buildProvinceList";import buildValidationErrorList from"./helpers/buildValidationErrorList";/**
2
+ * Takes a string and converts it to a part to be used in a portal name
3
+ * @package FormBuilder
4
+ * @param {string} s The string to be sanitized
5
+ * @return {string}
6
+ */var sanitize=function sanitize(s){return s.replace(/[\\._]/,'-');};/**
2
7
  * Optional select element
3
8
  * @type {Object}
4
9
  */var emptySelectOption={'':''};/**
5
10
  * Takes a form configuration and handles rendering and updates of the form fields.
6
11
  * Note: Only one country and one province element is supported per FormBuilder instance.
7
- */var Builder=/*#__PURE__*/function(_Component){function Builder(props){var _this2;_classCallCheck(this,Builder);_this2=_callSuper(this,Builder,[props]);// Prepare internal state
8
- /**
9
- * Retrieves a form element REACT component by the given type or null if the type is unknown.
10
- * @param {string} type The type value of the element to return.
11
- * @returns {*|ElementText|ElementSelect|ElementCheckbox|ElementRadio|null}
12
- */_defineProperty(_this2,"getFormElementComponent",function(type){return _this2.props.elements[type]||Builder.defaultElements[type]||null;});/**
13
- * Sorts the elements by "sortOrder" property
14
- *
15
- * @typedef {Object} FormElement
16
- * @property {number} sortOrder
17
- *
18
- * @param {FormElement} element1 First element
19
- * @param {FormElement} element2 Second element
20
- * @returns {number}
21
- */_defineProperty(_this2,"elementSortFunc",function(element1,element2){// Keep current sort order when no specific sort order was set for both
12
+ */var Builder=/*#__PURE__*/function(_Component){_inherits(Builder,_Component);var _super=_createSuper(Builder);/**
13
+ * Initializes the component.
14
+ * @param {Object} props The components props.
15
+ */function Builder(props){var _this;_classCallCheck(this,Builder);_this=_super.call(this,props);// Prepare internal state
16
+ _defineProperty(_assertThisInitialized(_this),"getFormElementComponent",function(type){return _this.props.elements[type]||Builder.defaultElements[type]||null;});_defineProperty(_assertThisInitialized(_this),"elementSortFunc",function(element1,element2){// Keep current sort order when no specific sort order was set for both
22
17
  if(element1.sortOrder===undefined||element2.sortOrder===undefined){return 0;}// Sort in ascending order of sortOrder otherwise
23
- return element1.sortOrder-element2.sortOrder;});/**
24
- * Element change handler based on it's type. It takes a state change and performs form actions on
25
- * in to allow customization. The final result is then written to the component state.
26
- * @param {string} elementId Element to create the handler for
27
- * @param {string} value Element value
28
- */_defineProperty(_this2,"elementChangeHandler",function(elementId,value){// "newState" is the state changes before any form actions have been applied
29
- var newState=_extends({},_this2.state,{formData:_extends({},_this2.state.formData,_defineProperty({},elementId,value))});// Handle context sensitive functionality by via "action" listener and use the "new" state
30
- var updatedNewState=_this2.actionListener.notify(elementId,_this2.state,newState);// Form actions can append validation errors by adding that field to the new state
18
+ return element1.sortOrder-element2.sortOrder;});_defineProperty(_assertThisInitialized(_this),"elementChangeHandler",function(elementId,value){// "newState" is the state changes before any form actions have been applied
19
+ var newState=_extends({},_this.state,{formData:_extends({},_this.state.formData,_defineProperty({},elementId,value))});// Handle context sensitive functionality by via "action" listener and use the "new" state
20
+ var updatedNewState=_this.actionListener.notify(elementId,_this.state,newState);// Form actions can append validation errors by adding that field to the new state
31
21
  // Split out validation errors from final state and
32
22
  var _updatedNewState$vali=updatedNewState.validationErrors,validationErrors=_updatedNewState$vali===void 0?{}:_updatedNewState$vali,finalState=_objectWithoutProperties(updatedNewState,_excluded);// "hasErrors" is true, when a visible + required field is empty or validation errors appeared!
33
23
  var hasErrors=Object.keys(validationErrors).length>0;// Check "required" fields for all visible elements and enable rendering on changes
34
- _this2.formElements.forEach(function(formElement){if(!finalState.elementVisibility[formElement.id]||!formElement.required){return;}var tmpVal=finalState.formData[formElement.id];var tmpResult=tmpVal===null||tmpVal===undefined||tmpVal===''||tmpVal===false;hasErrors=hasErrors||tmpResult;});// Handle state internally and send an "onChange" event to parent if this finished
35
- _this2.setState(finalState);// Transform to external structure (unavailable ones will be set undefined)
36
- var updateData={};_this2.formElements.forEach(function(el){if(el.custom){if(updateData.customAttributes===undefined){updateData.customAttributes={};}updateData.customAttributes[el.id]=finalState.formData[el.id];}else{updateData[el.id]=finalState.formData[el.id];}});// Trigger the given update action of the parent and provide all new validation errors to it
37
- _this2.props.handleUpdate(updateData,hasErrors,// Output validation errors in the same structure (array) as the component takes them
38
- hasErrors?Object.keys(validationErrors).map(function(k){return{path:k,message:validationErrors[k]};}):[]);});/**
39
- * Takes an element of any type and renders it depending on type.
40
- * Also puts portals around the element.
41
- * @param {string} formName Name of the form
42
- * @param {Object} element The data of the element to be rendered
43
- * @param {string} elementErrorText The error text to be shown for this specific element
44
- * @returns {JSX.Element}
45
- */_defineProperty(_this2,"renderElement",function(formName,element,elementErrorText){var formData=_this2.state.formData;var elementName="".concat(_this2.props.name,"_").concat(element.id);var elementValue=formData[element.id];var elementVisible=_this2.state.elementVisibility[element.id]||false;// Take a dynamic REACT element based on its type
46
- var Element=_this2.getFormElementComponent(element.type);if(!Element){logger.error("Unknown form element type: ".concat(element.type));return null;}// Country and province elements have their data injected, if not already present
47
- var elementData=element;switch(element.type){case ELEMENT_TYPE_COUNTRY:{elementData.options=element.options||_this2.countryList;break;}case ELEMENT_TYPE_PROVINCE:{// Province selection only makes sense with a country being selected, or from custom options
48
- var countryElement=_this2.formElements.find(function(el){return el.type===ELEMENT_TYPE_COUNTRY;});elementData.options=countryElement&&formData[countryElement.id]?buildProvinceList(formData[countryElement.id],// Auto-select with "empty" when not required
49
- element.required?null:emptySelectOption):{};break;}default:break;}return React.createElement(Element,{name:elementName,element:elementData,errorText:elementErrorText,value:elementValue,visible:elementVisible,formName:formName});});_this2.state={elementVisibility:{},formData:{}};// Reorganize form elements into a structure that can be easily rendered
50
- var formElements=buildFormElements(props.config,_this2.elementChangeHandler);// Compute defaults
24
+ _this.formElements.forEach(function(formElement){if(!finalState.elementVisibility[formElement.id]||!formElement.required){return;}var tmpVal=finalState.formData[formElement.id];var tmpResult=tmpVal===null||tmpVal===undefined||tmpVal===''||tmpVal===false;hasErrors=hasErrors||tmpResult;});// Handle state internally and send an "onChange" event to parent if this finished
25
+ _this.setState(finalState);// Transform to external structure (unavailable ones will be set undefined)
26
+ var updateData={};_this.formElements.forEach(function(el){if(el.custom){if(updateData.customAttributes===undefined){updateData.customAttributes={};}updateData.customAttributes[el.id]=finalState.formData[el.id];}else{updateData[el.id]=finalState.formData[el.id];}});// Trigger the given update action of the parent and provide all new validation errors to it
27
+ _this.props.handleUpdate(updateData,hasErrors,// Output validation errors in the same structure (array) as the component takes them
28
+ hasErrors?Object.keys(validationErrors).map(function(k){return{path:k,message:validationErrors[k]};}):[]);});_defineProperty(_assertThisInitialized(_this),"renderElement",function(element,elementErrorText){var elementName="".concat(_this.props.name,"_").concat(element.id);var elementValue=_this.state.formData[element.id];var elementVisible=_this.state.elementVisibility[element.id]||false;// Take a dynamic REACT element based on its type
29
+ var Element=_this.getFormElementComponent(element.type);if(!Element){logger.error("Unknown form element type: ".concat(element.type));return null;}// Country and province elements have their data injected, if not already present
30
+ var elementData=element;switch(element.type){case ELEMENT_TYPE_COUNTRY:{elementData.options=element.options||_this.countryList;break;}case ELEMENT_TYPE_PROVINCE:{// Province selection only makes sense with a country being selected, or from custom options
31
+ var countryElement=_this.formElements.find(function(el){return el.type===ELEMENT_TYPE_COUNTRY;});elementData.options=element.options||(countryElement&&_this.state.formData[countryElement.id]?buildProvinceList(_this.state.formData[countryElement.id],// Auto-select with "empty" when not required
32
+ element.required?null:emptySelectOption):{});break;}default:break;}return/*#__PURE__*/React.createElement(Element,{name:elementName,element:elementData,errorText:elementErrorText,value:elementValue,visible:elementVisible});});_this.state={elementVisibility:{},formData:{}};// Reorganize form elements into a structure that can be easily rendered
33
+ var formElements=buildFormElements(props.config,_this.elementChangeHandler);// Compute defaults
51
34
  var formDefaults=buildFormDefaults(formElements,props.defaults);// Assign defaults to state
52
- _this2.state.formData=formDefaults;// Handle fixed visibilities
35
+ _this.state.formData=formDefaults;// Handle fixed visibilities
53
36
  formElements.forEach(function(element){// Assume as visible except it's explicitly set to "false"
54
- _this2.state.elementVisibility[element.id]=element.visible!==false;});_this2.actionListener=new ActionListener(buildProvinceList,formDefaults);_this2.actionListener.attachAll(formElements);// Sort the elements after attaching action listeners to keep action hierarchy same as creation
55
- _this2.formElements=formElements.sort(_this2.elementSortFunc);// Assemble combined country/province list based on the config element
56
- var _countryElement=_this2.formElements.find(function(el){return el.type===ELEMENT_TYPE_COUNTRY;});if(_countryElement){_this2.countryList=buildCountryList(_countryElement,emptySelectOption);var provinceElement=_this2.formElements.find(function(el){return el.type===ELEMENT_TYPE_PROVINCE;});if(provinceElement&&provinceElement.required&&!!formDefaults[_countryElement.id]&&!formDefaults[provinceElement.id]){// Set default for province field for given country
57
- var _Object$keys3=Object.keys(buildProvinceList(formDefaults[_countryElement.id])),_Object$keys4=_slicedToArray(_Object$keys3,1),first=_Object$keys4[0];if(first){_this2.state.formData[provinceElement.id]=first;}}}// Final form initialization, by triggering actionListeners and enable rendering for elements
58
- var _newState=_this2.state;_this2.formElements.forEach(function(element){_newState=_this2.actionListener.notify(element.id,_this2.state,_newState);});_this2.state=_newState;return _this2;}_inherits(Builder,_Component);return _createClass(Builder,[{key:"render",value:/**
37
+ _this.state.elementVisibility[element.id]=element.visible!==false;});_this.actionListener=new ActionListener(buildProvinceList,formDefaults);_this.actionListener.attachAll(formElements);// Sort the elements after attaching action listeners to keep action hierarchy same as creation
38
+ _this.formElements=formElements.sort(_this.elementSortFunc);// Assemble combined country/province list based on the config element
39
+ var _countryElement=_this.formElements.find(function(el){return el.type===ELEMENT_TYPE_COUNTRY;});if(_countryElement){_this.countryList=buildCountryList(_countryElement,emptySelectOption);var provinceElement=_this.formElements.find(function(el){return el.type===ELEMENT_TYPE_PROVINCE;});if(provinceElement&&provinceElement.required&&!!formDefaults[_countryElement.id]&&!formDefaults[provinceElement.id]){// Set default for province field for given country
40
+ var _Object$values=Object.values(buildProvinceList(formDefaults[_countryElement.id])),_Object$values2=_slicedToArray(_Object$values,1),first=_Object$values2[0];if(first){_this.state.formData[provinceElement.id]=first;}}}// Final form initialization, by triggering actionListeners and enable rendering for elements
41
+ var _newState=_this.state;_this.formElements.forEach(function(element){_newState=_this.actionListener.notify(element.id,_this.state,_newState);});_this.state=_newState;return _this;}/**
42
+ * Retrieves a form element REACT component by the given type or null if the type is unknown.
43
+ * @param {string} type The type value of the element to return.
44
+ * @returns {*|ElementText|ElementSelect|ElementCheckbox|ElementRadio|null}
45
+ */_createClass(Builder,[{key:"render",value:/**
59
46
  * Renders the component based on the given config
60
- * @return {JSX.Element}
61
- */function render(){var _this3=this;var _this$props=this.props,name=_this$props.name,className=_this$props.className,onSubmit=_this$props.onSubmit;// Convert validation errors for easier handling
62
- var validationErrors=buildValidationErrorList(this.props.validationErrors);var validationErrorsAmount=Object.entries(validationErrors).length;return React.createElement(Form,{className:_camelCase(name),onSubmit:onSubmit},validationErrorsAmount>0&&React.createElement("div",{className:"sr-only"},React.createElement(I18n.Text,{string:"login.errorAmount",params:{amount:validationErrorsAmount}})),React.createElement("div",{className:className},this.formElements.map(function(element){return React.createElement(Fragment,{key:"".concat(name,"_").concat(element.id)},React.createElement(Portal,{name:"".concat(sanitizePortalName(name),".").concat(sanitizePortalName(element.id),".").concat(BEFORE),props:{formName:name,errorText:validationErrors[element.id]||'',element:element}}),React.createElement(Portal,{name:"".concat(sanitizePortalName(name),".").concat(sanitizePortalName(element.id)),props:{formName:name,errorText:validationErrors[element.id]||'',element:element}},_this3.renderElement(name,element,validationErrors[element.id]||'')),React.createElement(Portal,{name:"".concat(sanitizePortalName(name),".").concat(sanitizePortalName(element.id),".").concat(AFTER),props:{formName:name,errorText:validationErrors[element.id]||'',element:element}}));})));}}]);}(Component);_Builder=Builder;_defineProperty(Builder,"defaultElements",(_defineProperty2={},_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty2,ELEMENT_TYPE_EMAIL,ElementText),ELEMENT_TYPE_PASSWORD,ElementText),ELEMENT_TYPE_TEXT,ElementText),ELEMENT_TYPE_NUMBER,ElementText),ELEMENT_TYPE_SELECT,ElementSelect),ELEMENT_TYPE_MULTISELECT,ElementMultiSelect),ELEMENT_TYPE_COUNTRY,ElementSelect),ELEMENT_TYPE_PROVINCE,ElementSelect),ELEMENT_TYPE_CHECKBOX,ElementCheckbox),ELEMENT_TYPE_RADIO,ElementRadio),_defineProperty(_defineProperty(_defineProperty(_defineProperty2,ELEMENT_TYPE_DATE,ElementText),ELEMENT_TYPE_PHONE,ElementText),ELEMENT_TYPE_PHONE_PICKER,ElementPhoneNumber)));_defineProperty(Builder,"defaultProps",{className:null,defaults:{},elements:_Builder.defaultElements,onSubmit:function onSubmit(){},validationErrors:[]/**
63
- * Initializes the component.
64
- * @param {Object} props The components props.
65
- */});export default Builder;
47
+ * @return {JSX}
48
+ */function render(){var _this2=this;// Convert validation errors for easier handling
49
+ var validationErrors=buildValidationErrorList(this.props.validationErrors);return/*#__PURE__*/React.createElement(Form,{className:_camelCase(this.props.name),onSubmit:this.props.onSubmit},/*#__PURE__*/React.createElement("div",{className:this.props.className},this.formElements.map(function(element){return/*#__PURE__*/React.createElement(Fragment,{key:"".concat(_this2.props.name,"_").concat(element.id)},/*#__PURE__*/React.createElement(Portal,{name:"".concat(sanitize(_this2.props.name),".").concat(sanitize(element.id),".").concat(BEFORE)}),/*#__PURE__*/React.createElement(Portal,{name:"".concat(sanitize(_this2.props.name),".").concat(sanitize(element.id))},_this2.renderElement(element,validationErrors[element.id]||'')),/*#__PURE__*/React.createElement(Portal,{name:"".concat(sanitize(_this2.props.name),".").concat(sanitize(element.id),".").concat(AFTER)}));})));}}]);return Builder;}(Component);_defineProperty(Builder,"defaultElements",(_defineProperty2={},_defineProperty(_defineProperty2,ELEMENT_TYPE_EMAIL,ElementText),_defineProperty(_defineProperty2,ELEMENT_TYPE_PASSWORD,ElementText),_defineProperty(_defineProperty2,ELEMENT_TYPE_TEXT,ElementText),_defineProperty(_defineProperty2,ELEMENT_TYPE_NUMBER,ElementText),_defineProperty(_defineProperty2,ELEMENT_TYPE_SELECT,ElementSelect),_defineProperty(_defineProperty2,ELEMENT_TYPE_COUNTRY,ElementSelect),_defineProperty(_defineProperty2,ELEMENT_TYPE_PROVINCE,ElementSelect),_defineProperty(_defineProperty2,ELEMENT_TYPE_CHECKBOX,ElementCheckbox),_defineProperty(_defineProperty2,ELEMENT_TYPE_RADIO,ElementRadio),_defineProperty(_defineProperty2,ELEMENT_TYPE_DATE,ElementText),_defineProperty(_defineProperty2,ELEMENT_TYPE_PHONE,ElementText),_defineProperty2));_defineProperty(Builder,"defaultProps",{className:null,defaults:{},elements:Builder.defaultElements,onSubmit:function onSubmit(){},validationErrors:[]});export default Builder;
@@ -1,6 +1,6 @@
1
- import _camelCase from"lodash/camelCase";import React,{memo}from'react';import PropTypes from'prop-types';import classNames from'classnames';import Checkbox from'@shopgate/pwa-ui-shared/Form/Checkbox';import FormHelper from"./FormHelper";/**
1
+ import _camelCase from"lodash/camelCase";import React,{memo}from'react';import PropTypes from'prop-types';import Checkbox from'@shopgate/pwa-ui-shared/Form/Checkbox';/**
2
2
  * Takes an element and renders it, if the type matches
3
3
  * @param {Object} props Component props.
4
4
  * @param {Object} props.element The data of the element to be rendered
5
5
  * @returns {JSX}
6
- */var ElementCheckbox=function ElementCheckbox(props){var element=props.element,errorText=props.errorText,value=props.value,name=props.name,visible=props.visible,formName=props.formName;if(!visible){return null;}return React.createElement("div",{className:classNames('container-checkbox',_camelCase(name),'engage__form-checkbox','formBuilderField',{validationError:!!errorText})},React.createElement(Checkbox,{name:name,errorText:errorText,checked:!!value,label:element.label,onChange:element.handleChange,translateErrorText:false,showErrorText:false,disabled:element.disabled}),React.createElement(FormHelper,{errorText:errorText,element:element,formName:formName,elementName:name}));};ElementCheckbox.defaultProps={value:false,visible:true};export default memo(ElementCheckbox);
6
+ */var ElementCheckbox=function ElementCheckbox(props){var element=props.element,errorText=props.errorText,value=props.value,name=props.name,visible=props.visible;if(!visible){return null;}return/*#__PURE__*/React.createElement("div",{className:"".concat(_camelCase(name)," engage__form-checkbox")},/*#__PURE__*/React.createElement(Checkbox,{name:name,errorText:errorText,checked:!!value,label:element.label,onChange:element.handleChange,translateErrorText:false}));};ElementCheckbox.defaultProps={value:false,visible:true};export default/*#__PURE__*/memo(ElementCheckbox);
@@ -1,6 +1,6 @@
1
- import _camelCase from"lodash/camelCase";import React,{memo}from'react';import PropTypes from'prop-types';import classNames from'classnames';import RadioGroup from'@shopgate/pwa-ui-shared/Form/RadioGroup';import RadioItem from'@shopgate/pwa-ui-shared/Form/RadioGroup/components/Item';import FormHelper from"./FormHelper";/**
1
+ import _camelCase from"lodash/camelCase";import React,{memo}from'react';import PropTypes from'prop-types';import RadioGroup from'@shopgate/pwa-ui-shared/Form/RadioGroup';import RadioItem from'@shopgate/pwa-ui-shared/Form/RadioGroup/components/Item';/**
2
2
  * Takes an element and renders it, if the type matches
3
3
  * @param {Object} props Component props.
4
4
  * @param {Object} props.element The data of the element to be rendered
5
5
  * @returns {JSX}
6
- */var ElementRadio=function ElementRadio(props){var element=props.element,errorText=props.errorText,name=props.name,value=props.value,visible=props.visible,formName=props.formName;if(!visible){return null;}return React.createElement("div",{className:classNames(_camelCase(name),'engage__form-radio','formBuilderField',{validationError:!!errorText})},React.createElement(RadioGroup,{name:name,label:element.label,value:value,onChange:element.handleChange,errorText:errorText,isControlled:true,translateErrorText:false,showErrorText:false,disabled:element.disabled},Object.keys(element.options).map(function(itemName){return React.createElement(RadioItem,{key:"".concat(name,"_").concat(itemName),id:"".concat(name,"_").concat(_camelCase(itemName)),name:itemName,label:element.options[itemName]});})),React.createElement(FormHelper,{errorText:errorText,element:element,formName:formName,elementName:name}));};ElementRadio.defaultProps={value:'',visible:true};export default memo(ElementRadio);
6
+ */var ElementRadio=function ElementRadio(props){var element=props.element,errorText=props.errorText,name=props.name,value=props.value,visible=props.visible;if(!visible){return null;}return/*#__PURE__*/React.createElement("div",{className:"".concat(_camelCase(name)," engage__form-radio")},/*#__PURE__*/React.createElement(RadioGroup,{name:name,label:element.label,value:value,onChange:element.handleChange,errorText:errorText,isControlled:true,translateErrorText:false},Object.keys(element.options).map(function(itemName){return/*#__PURE__*/React.createElement(RadioItem,{key:"".concat(name,"_").concat(itemName),id:"".concat(name,"_").concat(_camelCase(itemName)),name:itemName,label:element.options[itemName]});})));};ElementRadio.defaultProps={value:'',visible:true};export default/*#__PURE__*/memo(ElementRadio);
@@ -1,6 +1,6 @@
1
- import _camelCase from"lodash/camelCase";import React,{memo}from'react';import PropTypes from'prop-types';import classNames from'classnames';import Select from'@shopgate/pwa-ui-shared/Form/Select';import FormHelper from"./FormHelper";/**
1
+ import _camelCase from"lodash/camelCase";import React,{memo}from'react';import PropTypes from'prop-types';import Select from'@shopgate/pwa-ui-shared/Form/Select';/**
2
2
  * Takes an element and renders it, if the type matches
3
3
  * @param {Object} props Component props.
4
4
  * @param {Object} props.element The data of the element to be rendered
5
- * @returns {JSX.Element}
6
- */var ElementSelect=function ElementSelect(props){var element=props.element,errorText=props.errorText,name=props.name,value=props.value,visible=props.visible,formName=props.formName;if(!visible){return null;}var label=element.label,placeholder=element.placeholder,required=element.required,options=element.options,disabled=element.disabled,handleChange=element.handleChange;return React.createElement("div",{className:classNames(_camelCase(name),'engage__form-select','formBuilderField',{validationError:!!errorText})},React.createElement(Select,{name:name,required:required,label:label,placeholder:placeholder,value:value,options:options,onChange:handleChange,errorText:errorText,isControlled:true,translateErrorText:false,showErrorText:false,disabled:disabled,"aria-invalid":!!errorText,"aria-describedby":errorText.length>0?"ariaError-".concat(name):null}),React.createElement(FormHelper,{errorText:errorText,element:element,formName:formName,elementName:name}));};ElementSelect.defaultProps={value:'',visible:true};export default memo(ElementSelect);
5
+ * @returns {JSX}
6
+ */var ElementSelect=function ElementSelect(props){var element=props.element,errorText=props.errorText,name=props.name,value=props.value,visible=props.visible;if(!visible){return null;}return/*#__PURE__*/React.createElement("div",{className:"".concat(_camelCase(name)," engage__form-select")},/*#__PURE__*/React.createElement(Select,{name:name,label:element.label,placeholder:element.placeholder,value:value,options:element.options,onChange:element.handleChange,errorText:errorText,isControlled:true,translateErrorText:false}));};ElementSelect.defaultProps={value:'',visible:true};export default/*#__PURE__*/memo(ElementSelect);
@@ -1,7 +1,7 @@
1
- import _camelCase from"lodash/camelCase";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,{memo}from'react';import PropTypes from'prop-types';import classNames from'classnames';import TextField from'@shopgate/pwa-ui-shared/TextField';import FormHelper from"./FormHelper";import{ELEMENT_TYPE_TEXT,ELEMENT_TYPE_NUMBER,ELEMENT_TYPE_EMAIL,ELEMENT_TYPE_PASSWORD,ELEMENT_TYPE_DATE,ELEMENT_TYPE_PHONE}from"./Builder.constants";// Map element type to input type
2
- var mapping=_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({},ELEMENT_TYPE_TEXT,'text'),ELEMENT_TYPE_NUMBER,'number'),ELEMENT_TYPE_EMAIL,'email'),ELEMENT_TYPE_PASSWORD,'password'),ELEMENT_TYPE_DATE,'date'),ELEMENT_TYPE_PHONE,'tel');/**
1
+ import _camelCase from"lodash/camelCase";var _mapping;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,{memo}from'react';import PropTypes from'prop-types';import TextField from'@shopgate/pwa-ui-shared/TextField';import{ELEMENT_TYPE_TEXT,ELEMENT_TYPE_NUMBER,ELEMENT_TYPE_EMAIL,ELEMENT_TYPE_PASSWORD,ELEMENT_TYPE_DATE,ELEMENT_TYPE_PHONE}from"./Builder.constants";// Map element type to input type
2
+ var mapping=(_mapping={},_defineProperty(_mapping,ELEMENT_TYPE_TEXT,'text'),_defineProperty(_mapping,ELEMENT_TYPE_NUMBER,'number'),_defineProperty(_mapping,ELEMENT_TYPE_EMAIL,'email'),_defineProperty(_mapping,ELEMENT_TYPE_PASSWORD,'password'),_defineProperty(_mapping,ELEMENT_TYPE_DATE,'date'),_defineProperty(_mapping,ELEMENT_TYPE_PHONE,'tel'),_mapping);/**
3
3
  * Takes an element and renders it, if the type matches
4
4
  * @param {Object} props Component props.
5
5
  * @param {Object} props.element The data of the element to be rendered
6
- * @returns {JSX.Element}
7
- */var ElementText=function ElementText(props){var element=props.element,errorText=props.errorText,name=props.name,value=props.value,visible=props.visible,formName=props.formName;if(!visible){return null;}var required=element.required,disabled=element.disabled,handleChange=element.handleChange,label=element.label;var type=mapping[element.type];return React.createElement("div",{className:classNames(_camelCase(name),'engage__form-text','formBuilderField',{validationError:!!errorText})},React.createElement(TextField,{required:required,type:type,name:name,label:label,value:value,onChange:handleChange,errorText:errorText,isControlled:true,translateErrorText:false,showErrorText:false,disabled:disabled}),React.createElement(FormHelper,{errorText:errorText,element:element,formName:formName,elementName:name}));};ElementText.defaultProps={value:'',visible:true};export default memo(ElementText);
6
+ * @returns {JSX}
7
+ */var ElementText=function ElementText(props){var element=props.element,errorText=props.errorText,name=props.name,value=props.value,visible=props.visible;if(!visible){return null;}var type=mapping[element.type];return/*#__PURE__*/React.createElement("div",{className:"".concat(_camelCase(name)," engage__form-text")},/*#__PURE__*/React.createElement(TextField,{type:type,name:name,label:element.label,value:value,onChange:element.handleChange,errorText:errorText,isControlled:true,translateErrorText:false}));};ElementText.defaultProps={value:'',visible:true};export default/*#__PURE__*/memo(ElementText);
@@ -1,2 +1,2 @@
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;}export var ACTION_TYPE_UPDATE_PROVINCE_ELEMENT='updateProvinceElement';export var ACTION_TYPE_SET_VISIBILITY='setVisibility';export var ACTION_TYPE_SET_VALUE='setValue';export var ACTION_TYPE_TRANSFORM='transform';export var ACTION_SET_VALUE_FIXED='fixed';export var ACTION_SET_VALUE_COPY_FROM='copyFrom';export var ACTION_SET_VALUE_LENGTH_OF='lengthOf';export var ACTION_RULE_TYPE_NOT_IN='notIn';export var ACTION_RULE_TYPE_ONE_OF='oneOf';export var ACTION_RULE_TYPE_BOOLEAN='boolean';export var ACTION_RULE_TYPE_REGEX='regex';// Rule data is formatted as array
2
- export var ACTION_RULE_DATA_TYPES=_defineProperty(_defineProperty(_defineProperty(_defineProperty({},ACTION_RULE_TYPE_NOT_IN,'array'),ACTION_RULE_TYPE_ONE_OF,'array'),ACTION_RULE_TYPE_BOOLEAN,'boolean'),ACTION_RULE_TYPE_REGEX,'string');export var ACTION_RULES_CONCAT_METHOD_ALL='all';export var ACTION_RULES_CONCAT_METHOD_ANY='any';export var ACTION_RULES_CONCAT_METHOD_NONE='none';
1
+ var _ACTION_RULE_DATA_TYP;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;}export var ACTION_TYPE_UPDATE_PROVINCE_ELEMENT='updateProvinceElement';export var ACTION_TYPE_SET_VISIBILITY='setVisibility';export var ACTION_TYPE_SET_VALUE='setValue';export var ACTION_TYPE_TRANSFORM='transform';export var ACTION_SET_VALUE_FIXED='fixed';export var ACTION_SET_VALUE_COPY_FROM='copyFrom';export var ACTION_SET_VALUE_LENGTH_OF='lengthOf';export var ACTION_RULE_TYPE_NOT_IN='notIn';export var ACTION_RULE_TYPE_ONE_OF='oneOf';export var ACTION_RULE_TYPE_BOOLEAN='boolean';export var ACTION_RULE_TYPE_REGEX='regex';// Rule data is formatted as array
2
+ export var ACTION_RULE_DATA_TYPES=(_ACTION_RULE_DATA_TYP={},_defineProperty(_ACTION_RULE_DATA_TYP,ACTION_RULE_TYPE_NOT_IN,'array'),_defineProperty(_ACTION_RULE_DATA_TYP,ACTION_RULE_TYPE_ONE_OF,'array'),_defineProperty(_ACTION_RULE_DATA_TYP,ACTION_RULE_TYPE_BOOLEAN,'boolean'),_defineProperty(_ACTION_RULE_DATA_TYP,ACTION_RULE_TYPE_REGEX,'string'),_ACTION_RULE_DATA_TYP);export var ACTION_RULES_CONCAT_METHOD_ALL='all';export var ACTION_RULES_CONCAT_METHOD_ANY='any';export var ACTION_RULES_CONCAT_METHOD_NONE='none';
@@ -1,14 +1,10 @@
1
- function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_nonIterableRest();}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance");}function _iterableToArrayLimit(arr,i){var _arr=[];var _n=true;var _d=false;var _e=undefined;try{for(var _i=arr[Symbol.iterator](),_s;!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break;}}catch(err){_d=true;_e=err;}finally{try{if(!_n&&_i["return"]!=null)_i["return"]();}finally{if(_d)throw _e;}}return _arr;}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr;}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 _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 _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}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{logger}from'@shopgate/pwa-core/helpers';import{ELEMENT_TYPE_NUMBER,ELEMENT_TYPE_COUNTRY,ELEMENT_TYPE_PROVINCE,ELEMENT_TYPE_CHECKBOX}from"../Builder.constants";import{ACTION_TYPE_UPDATE_PROVINCE_ELEMENT,ACTION_TYPE_SET_VISIBILITY,ACTION_TYPE_SET_VALUE,ACTION_TYPE_TRANSFORM,ACTION_SET_VALUE_FIXED,ACTION_SET_VALUE_COPY_FROM,ACTION_SET_VALUE_LENGTH_OF,ACTION_RULE_TYPE_NOT_IN,ACTION_RULE_TYPE_ONE_OF,ACTION_RULE_TYPE_BOOLEAN,ACTION_RULE_TYPE_REGEX,ACTION_RULE_DATA_TYPES,ACTION_RULES_CONCAT_METHOD_ALL,ACTION_RULES_CONCAT_METHOD_ANY,ACTION_RULES_CONCAT_METHOD_NONE}from"./ActionListener.constants";/**
1
+ function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_unsupportedIterableToArray(arr,i)||_nonIterableRest();}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen);}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i];}return arr2;}function _iterableToArrayLimit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break;}}catch(err){_d=true;_e=err;}finally{try{if(!_n&&_i["return"]!=null)_i["return"]();}finally{if(_d)throw _e;}}return _arr;}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr;}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 _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 _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}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{logger}from'@shopgate/pwa-core/helpers';import{ELEMENT_TYPE_NUMBER,ELEMENT_TYPE_COUNTRY,ELEMENT_TYPE_PROVINCE,ELEMENT_TYPE_CHECKBOX}from"../Builder.constants";import{ACTION_TYPE_UPDATE_PROVINCE_ELEMENT,ACTION_TYPE_SET_VISIBILITY,ACTION_TYPE_SET_VALUE,ACTION_TYPE_TRANSFORM,ACTION_SET_VALUE_FIXED,ACTION_SET_VALUE_COPY_FROM,ACTION_SET_VALUE_LENGTH_OF,ACTION_RULE_TYPE_NOT_IN,ACTION_RULE_TYPE_ONE_OF,ACTION_RULE_TYPE_BOOLEAN,ACTION_RULE_TYPE_REGEX,ACTION_RULE_DATA_TYPES,ACTION_RULES_CONCAT_METHOD_ALL,ACTION_RULES_CONCAT_METHOD_ANY,ACTION_RULES_CONCAT_METHOD_NONE}from"./ActionListener.constants";/**
2
2
  * ActionListener and handler for the FormBuilder component
3
3
  */var ActionListener=/*#__PURE__*/_createClass(/**
4
4
  * Constructor
5
5
  * @param {function(string)} getProvincesList Takes a country code and returns a list of provinces
6
6
  * @param {Object} defaults Form defaults
7
- */function ActionListener(getProvincesList,defaults){var _this=this;_classCallCheck(this,ActionListener);/**
8
- * Takes the elements to be rendered by the FormBuilder and attaches available action listeners
9
- * to the component.
10
- * @param {FormElement[]} elementList List of all elements
11
- */_defineProperty(this,"attachAll",function(elementList){// Attach action listeners for element (context) actions
7
+ */function ActionListener(getProvincesList,defaults){var _this=this;_classCallCheck(this,ActionListener);_defineProperty(this,"attachAll",function(elementList){// Attach action listeners for element (context) actions
12
8
  elementList.forEach(function(element){var elementActions=element.actions;if(element.type===ELEMENT_TYPE_PROVINCE){elementActions=elementActions||[];// Requires a country element to create a "update provinces" action
13
9
  var countryElement=elementList.find(function(el){return el.type===ELEMENT_TYPE_COUNTRY;});if(countryElement){// Attach new action, which is always triggered, when the (only) country element changes
14
10
  elementActions.push({type:ACTION_TYPE_UPDATE_PROVINCE_ELEMENT,rules:[{context:countryElement.id}]});}}if(elementActions===undefined){return;}// Create listeners for all supported actions
@@ -16,82 +12,29 @@ elementActions.forEach(function(action){var actionRules=action.rules||[];// Alwa
16
12
  if(actionRules.length===0){// Define a basic rule if no rules given
17
13
  actionRules.push({context:element.id});}// Actions do have a fixed structure which needs to be fulfilled
18
14
  var normalizedAction=_extends({},action,{rules:actionRules});// Assign the action listeners to all contexts of the current element
19
- actionRules.forEach(function(rule){_this.attach(element,normalizedAction,rule);});});});});/**
20
- * Attaches one or possibly multiple action listeners for the given rule
21
- * @param {FormElement} element The current element that is modified by the action
22
- * @param {FormFieldAction} action The action and it's params
23
- * @param {FormFieldActionRule} rule The rule to check in case the action listener is triggered
24
- */_defineProperty(this,"attach",function(element,action,rule){var actionListener;switch(action.type){case ACTION_TYPE_UPDATE_PROVINCE_ELEMENT:{actionListener=_this.createUpdateProvinceElementHandler(element,action);break;}case ACTION_TYPE_SET_VISIBILITY:{// Visibility is special and uses the result of the evaluation itself
25
- actionListener=_this.createSetVisibilityHandler(element,action);break;}case ACTION_TYPE_SET_VALUE:{actionListener=_this.createEvaluatedHandler(element,action,_this.createSetValueHandler(element,action));break;}case ACTION_TYPE_TRANSFORM:{actionListener=_this.createEvaluatedHandler(element,action,_this.createTransformHandler(element,action));break;}default:return;}_this.register(rule.context,actionListener);});/**
26
- * Action listener creator to check all related rules before calling any further action listeners
27
- * @param {FormElement} element The element for which the listener should be created for
28
- * @param {FormFieldAction} action The action to be create a listener for
29
- * @param {Function} actionListener The action listener to call if the rule applies
30
- * @returns {Function} Returns a function to modify and return the modified state.
31
- */_defineProperty(this,"createEvaluatedHandler",function(element,action,actionListener){return function(prevState,nextState){// Apply rules before accepting any changes
32
- if(!_this.evaluateRules(element,action,nextState)){return nextState;}return actionListener(prevState,nextState);};});/**
33
- * Action listener creator to handle "updateCountryChange" action
34
- * @param {FormElement} provinceEl The element for which the listener should be created for
35
- * @param {FormFieldAction} action The action to be create a listener for
36
- * @returns {Function} Returns a function to modify and return the modified state.
37
- */_defineProperty(this,"createUpdateProvinceElementHandler",function(provinceEl,action){return function(prevState,nextState){var countryElementId=action.rules[0].context;var countryValue=nextState.formData[countryElementId];var countryDefault=_this.defaults[countryElementId];var newState=_extends({},nextState);// Overwrite province with the form's default, if country matches the default as well
15
+ actionRules.forEach(function(rule){_this.attach(element,normalizedAction,rule);});});});});_defineProperty(this,"attach",function(element,action,rule){var actionListener;switch(action.type){case ACTION_TYPE_UPDATE_PROVINCE_ELEMENT:{actionListener=_this.createUpdateProvinceElementHandler(element,action);break;}case ACTION_TYPE_SET_VISIBILITY:{// Visibility is special and uses the result of the evaluation itself
16
+ actionListener=_this.createSetVisibilityHandler(element,action);break;}case ACTION_TYPE_SET_VALUE:{actionListener=_this.createEvaluatedHandler(element,action,_this.createSetValueHandler(element,action));break;}case ACTION_TYPE_TRANSFORM:{actionListener=_this.createEvaluatedHandler(element,action,_this.createTransformHandler(element,action));break;}default:return;}_this.register(rule.context,actionListener);});_defineProperty(this,"createEvaluatedHandler",function(element,action,actionListener){return function(prevState,nextState){// Apply rules before accepting any changes
17
+ if(!_this.evaluateRules(element,action,nextState)){return nextState;}return actionListener(prevState,nextState);};});_defineProperty(this,"createUpdateProvinceElementHandler",function(provinceEl,action){return function(prevState,nextState){var countryElementId=action.rules[0].context;var countryValue=nextState.formData[countryElementId];var countryDefault=_this.defaults[countryElementId];var newState=_extends({},nextState);// Overwrite province with the form's default, if country matches the default as well
38
18
  if(countryValue===countryDefault){newState.formData[provinceEl.id]=_this.defaults[provinceEl.id];}else{// Update province to first or no selection, based on "required" attribute
39
- newState.formData[provinceEl.id]=!provinceEl.required?'':Object.keys(_this.getProvincesList(countryValue))[0];}return newState;};});/**
40
- * Action listener creator to handle "setVisibility" actions
41
- * @param {FormElement} element The element for which the listener should be created for
42
- * @param {FormFieldAction} action The action to be create a listener for
43
- * @returns {Function} Returns a function to modify and return the modified state.
44
- */_defineProperty(this,"createSetVisibilityHandler",function(element,action){return function(prevState,nextState){var newState=_extends({},nextState,{elementVisibility:_extends({},nextState.elementVisibility,_defineProperty({},element.id,_this.evaluateRules(element,action,nextState))),// Copy form data to be able to check changes and all follow up actions
19
+ newState.formData[provinceEl.id]=!provinceEl.required?'':Object.keys(_this.getProvincesList(countryValue))[0];}return newState;};});_defineProperty(this,"createSetVisibilityHandler",function(element,action){return function(prevState,nextState){var newState=_extends({},nextState,{elementVisibility:_extends({},nextState.elementVisibility,_defineProperty({},element.id,_this.evaluateRules(element,action,nextState))),// Copy form data to be able to check changes and all follow up actions
45
20
  formData:_extends({},nextState.formData)});if(newState.formData[element.id]===undefined&&newState.elementVisibility[element.id]){newState.formData[element.id]=_this.defaults[element.id];}else if(!newState.elementVisibility[element.id]&&newState.formData[element.id]!==undefined){delete newState.formData[element.id];}// Notify follow up listeners about the current change
46
- if(nextState.formData[element.id]!==newState.formData[element.id]){newState=_this.notify(element.id,prevState,newState);}return newState;};});/**
47
- * Action listener creator to handle "setValue" actions
48
- * @param {FormElement} element The element for which the listener should be created for
49
- * @param {FormFieldAction} action The action to be create a listener for
50
- * @returns {Function} Returns the modified state.
51
- */_defineProperty(this,"createSetValueHandler",function(element,action){return function(prevState,nextState){if(_typeof(action.params)!=='object'||Array.isArray(action.params)){logger.error("Error: Invalid or missing form action in element '".concat(element.id,"'. ")+'Params must be in the format: { "type": string, "value": string }');return nextState;}var value=action.params.value;// Check correctness of value data type
21
+ if(nextState.formData[element.id]!==newState.formData[element.id]){newState=_this.notify(element.id,prevState,newState);}return newState;};});_defineProperty(this,"createSetValueHandler",function(element,action){return function(prevState,nextState){if(_typeof(action.params)!=='object'||Array.isArray(action.params)){logger.error("Error: Invalid or missing form action in element '".concat(element.id,"'. ")+'Params must be in the format: { "type": string, "value": string }');return nextState;}var value=action.params.value;// Check correctness of value data type
52
22
  switch(_typeof(value)){case'boolean':if(element.type!==ELEMENT_TYPE_CHECKBOX){logger.error("Error: Invalid form action param in element '".concat(element.id,"'. ")+"Allowed '".concat(ELEMENT_TYPE_CHECKBOX,"' data type for 'params.value' is: 'boolean'"));return nextState;}break;case'number':if(element.type!==ELEMENT_TYPE_NUMBER){logger.error("Error: Invalid form action param in element '".concat(element.id,"'. ")+"Allowed '".concat(ELEMENT_TYPE_NUMBER,"' data types for 'params.value' are: ")+"'number' and 'string'");return nextState;}break;case'string':if(element.type===ELEMENT_TYPE_CHECKBOX){logger.error("Error: Invalid form action param in element '".concat(element.id,"'. ")+"Allowed '".concat(ELEMENT_TYPE_CHECKBOX,"' data type for 'params.value' is: 'boolean'"));return nextState;}break;default:logger.error("Error: Invalid form action param in element '".concat(element.id,"'. ")+"Can not use '".concat(_typeof(value),"' data for elements of type '").concat(element.type,"'"));return nextState;}// Perform action based on "setValue" type, defined in params
53
23
  switch(action.params.type){case ACTION_SET_VALUE_LENGTH_OF:value="".concat(nextState.formData[action.params.value].length);break;case ACTION_SET_VALUE_COPY_FROM:value=nextState.formData[action.params.value];break;case undefined:case ACTION_SET_VALUE_FIXED:break;default:logger.error("Error: Invalid form action param 'type' in element '".concat(element.id,"'. ")+"Allowed param types are: '".concat(ACTION_SET_VALUE_LENGTH_OF,"', ")+"'".concat(ACTION_SET_VALUE_COPY_FROM,"', '").concat(ACTION_SET_VALUE_FIXED,"'"));return nextState;}var newState=_extends({},nextState,{formData:_extends({},nextState.formData,_defineProperty({},element.id,value))});// Notify follow up listeners about the current change, if there are any changes
54
- if(nextState.formData[element.id]!==value){newState=_this.notify(element.id,prevState,newState);}return newState;};});/**
55
- * Action listener creator to handle "transform" actions
56
- * @param {FormElement} element The element for which the listener should be created for
57
- * @param {FormFieldAction} action The action to be create a listener for
58
- * @returns {Function} Returns a function to modify and return the modified state.
59
- */_defineProperty(this,"createTransformHandler",function(element,action){return function(prevState,nextState){/**
24
+ if(nextState.formData[element.id]!==value){newState=_this.notify(element.id,prevState,newState);}return newState;};});_defineProperty(this,"createTransformHandler",function(element,action){return function(prevState,nextState){/**
60
25
  * Takes a string and applies a case function on it
61
26
  * @param {string|boolean|number} subject The subject to be transformed
62
27
  * @returns {string|boolean|number}
63
28
  */var transform=function transform(subject){// Get optional params to be applied in the transformation process
64
29
  var args=action.params.value||[];if(Array.isArray(action.params.value)){args=action.params.value;}switch(_typeof(subject)){case'string':{if(typeof String.prototype[action.params.type]!=='function'&&typeof String[action.params.type]!=='function'){logger.error("Error: Invalid transform function passed to actions 'params.type' "+"attribute in element '".concat(element.id,"'. Must be withing 'String.prototype'!"));return subject;}if(typeof String.prototype[action.params.type]==='function'){return String.prototype[action.params.type].apply(subject,args);}return String[action.params.type](subject);}case'boolean':{if(typeof Boolean.prototype[action.params.type]!=='function'&&typeof Boolean[action.params.type]!=='function'){logger.error("Error: Invalid transform function passed to actions 'params.type' "+"attribute in element '".concat(element.id,"'. Must be withing 'String.prototype'!"));return subject;}if(typeof Boolean.prototype[action.params.type]==='function'){return Boolean.prototype[action.params.type].apply(subject,args);}return Boolean[action.params.type](subject);}case'number':{if(typeof Number.prototype[action.params.type]!=='function'&&typeof Number[action.params.type]!=='function'){logger.error("Error: Invalid transform function passed to actions 'params.type' "+"attribute in element '".concat(element.id,"'. Must be withing 'String.prototype'!"));return subject;}if(typeof Number.prototype[action.params.type]==='function'){return Number.prototype[action.params.type].apply(subject,args);}return Number[action.params.type](subject);}default:logger.error("Error: The given data can not be transformed. Must be of type 'string', "+"'boolean' or 'number'");return subject;}};var newState=_extends({},nextState,{formData:_extends({},nextState.formData,_defineProperty({},element.id,transform(nextState.formData[element.id])))});// Notify follow up listeners about the current change
65
- if(nextState.formData[element.id]!==newState.formData[element.id]){newState=_this.notify(element.id,prevState,newState);}return newState;};});/**
66
- * Evaluates all action rules of a given element action
67
- *
68
- * @param {FormElement} element The element of which the action rules should be evaluated
69
- * @param {FormFieldAction} action The current action to be evaluate rules for
70
- * @param {Object} nextState The state at the time before the "action" event finished
71
- * @returns {boolean}
72
- */_defineProperty(this,"evaluateRules",function(element,action,nextState){var concatRules=_this.createConcatMethod(action.ruleConcatMethod);var resultInitValue=action.ruleConcatMethod!==ACTION_RULES_CONCAT_METHOD_ANY;var result=resultInitValue;action.rules.forEach(function(rule){var tmpResult=resultInitValue;var ruleType=rule.type;var ruleData=rule.data;// Default to rule type "boolean" and data true when type not given
30
+ if(nextState.formData[element.id]!==newState.formData[element.id]){newState=_this.notify(element.id,prevState,newState);}return newState;};});_defineProperty(this,"evaluateRules",function(element,action,nextState){var concatRules=_this.createConcatMethod(action.ruleConcatMethod);var resultInitValue=action.ruleConcatMethod!==ACTION_RULES_CONCAT_METHOD_ANY;var result=resultInitValue;action.rules.forEach(function(rule){var tmpResult=resultInitValue;var ruleType=rule.type;var ruleData=rule.data;// Default to rule type "boolean" and data true when type not given
73
31
  if(ruleType===undefined){ruleType=ACTION_RULE_TYPE_BOOLEAN;ruleData=true;}// Check rule validity
74
32
  if(!ACTION_RULE_DATA_TYPES[ruleType]){logger.error("Error: Unknown action rule type '".concat(ruleType,"'in element '").concat(element.id,"'"));return;}// Check type of ruleData
75
33
  var ruleDataType=ACTION_RULE_DATA_TYPES[ruleType];if(ruleDataType==='array'&&!Array.isArray(ruleData)){logger.error("Error: Invalid FormBuilder action rule in element '".concat(element.id,"': ")+"data must be an 'array' for rule type '".concat(ruleType,"'"));return;}// eslint-disable-next-line valid-typeof
76
34
  if(ruleDataType!=='array'&&_typeof(ruleData)!==ruleDataType){logger.error("Error: Invalid FormBuilder action rule in element '".concat(element.id,"': ")+"data must be '".concat(ruleDataType,"' for rule type '").concat(ruleType,"'"));return;}switch(ruleType){case ACTION_RULE_TYPE_ONE_OF:{tmpResult=ruleData.includes(nextState.formData[rule.context]);break;}case ACTION_RULE_TYPE_NOT_IN:{tmpResult=!ruleData.includes(nextState.formData[rule.context]);break;}case ACTION_RULE_TYPE_BOOLEAN:{tmpResult=ruleData;break;}case ACTION_RULE_TYPE_REGEX:{var regexParts=ruleData.split('/');var regexPattern='';var regexParam='';if(regexParts.length===1){var _regexParts=_slicedToArray(regexParts,1);regexPattern=_regexParts[0];}else if(regexParts.length===3){regexParts.shift();var _regexParts2=_slicedToArray(regexParts,2);regexPattern=_regexParts2[0];var _regexParts2$=_regexParts2[1];regexParam=_regexParts2$===void 0?'':_regexParts2$;}else{logger.error("Error: Invalid regex string in action rule in element ".concat(element.id));break;}var regex=new RegExp(regexPattern,regexParam);tmpResult=regex.test(nextState.formData[rule.context]);break;}default:break;}// Concat rules based on the rule concat method of the action
77
- result=concatRules(result,tmpResult);});return result;});/**
78
- * Creates a concat function that defines how to concatenate action rule results
79
- *
80
- * @param {string} method The method defined by the action
81
- * @returns {Function}
82
- */_defineProperty(this,"createConcatMethod",function(method){return function(prev,next){switch(method){case ACTION_RULES_CONCAT_METHOD_NONE:return prev&&!next;case ACTION_RULES_CONCAT_METHOD_ANY:return prev||next;case ACTION_RULES_CONCAT_METHOD_ALL:default:return prev&&next;}};});/**
83
- * Adds a "action" listener to a given context element
84
- *
85
- * @param {string} elementId the element to listen for
86
- * @param {Function} handler The listener to call when something has changed
87
- */_defineProperty(this,"register",function(elementId,handler){if(!_this.actionListeners[elementId]){_this.actionListeners[elementId]=[];}_this.actionListeners[elementId].push(handler);});/**
88
- * Takes an element id, the state to work with and optional data and notifies all "action"
89
- * listeners about the change. Every listener can manipulate the state.
90
- * Returns the new state.
91
- *
92
- * @param {string} elementId The id of the element that was changed
93
- * @param {Object} prevState The state before any changes took place
94
- * @param {Object} nextState The state containing all updates before the listeners are executed
95
- * @returns {Object} The new state after all handlers have been executed.
96
- */_defineProperty(this,"notify",function(elementId,prevState,nextState){var newState=nextState;if(_this.actionListeners[elementId]){_this.actionListeners[elementId].forEach(function(notifyListener){// Note: The order of state changes is applied in the same order of listener registration
97
- newState=notifyListener(prevState,newState);});}return newState;});this.defaults=defaults;this.getProvincesList=getProvincesList;this.actionListeners={};});export default ActionListener;
35
+ result=concatRules(result,tmpResult);});return result;});_defineProperty(this,"createConcatMethod",function(method){return function(prev,next){switch(method){case ACTION_RULES_CONCAT_METHOD_NONE:return prev&&!next;case ACTION_RULES_CONCAT_METHOD_ANY:return prev||next;case ACTION_RULES_CONCAT_METHOD_ALL:default:return prev&&next;}};});_defineProperty(this,"register",function(elementId,handler){if(!_this.actionListeners[elementId]){_this.actionListeners[elementId]=[];}_this.actionListeners[elementId].push(handler);});_defineProperty(this,"notify",function(elementId,prevState,nextState){var newState=nextState;if(_this.actionListeners[elementId]){_this.actionListeners[elementId].forEach(function(notifyListener){// Note: The order of state changes is applied in the same order of listener registration
36
+ newState=notifyListener(prevState,newState);});}return newState;});this.defaults=defaults;this.getProvincesList=getProvincesList;this.actionListeners={};}/**
37
+ * Takes the elements to be rendered by the FormBuilder and attaches available action listeners
38
+ * to the component.
39
+ * @param {FormElement[]} elementList List of all elements
40
+ */);export default ActionListener;
@@ -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{logger}from'@shopgate/pwa-core/helpers';import iso3166 from"./iso-3166-2";import{getCountryNames}from"../../../../i18n/countries.helpers";/**
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{logger}from'@shopgate/pwa-core/helpers';import iso3166 from"./iso-3166-2";/**
2
2
  * Get country list for
3
3
  * @param {Object} countryElement Configuration of which form fields to render
4
4
  * @param {?Object} optional object to prepend optional choice
@@ -6,5 +6,5 @@ function _extends(){_extends=Object.assign||function(target){for(var i=1;i<argum
6
6
  */export default(function(countryElement){var optional=arguments.length>1&&arguments[1]!==undefined?arguments[1]:null;// Check validity of the country element options list "countries"
7
7
  if(countryElement.countries!==null&&countryElement.countries!==undefined&&!Array.isArray(countryElement.countries)){logger.error("Error: Invalid property type 'countries' in element "+"'".concat(countryElement.id,"'. Must be 'array', 'null' or 'undefined'"));return{};}// Build country display list for the country element (whitelist)
8
8
  // For 'null', 'undefined' and '[]' it shows all countries
9
- var countryKeys;if(countryElement.countries&&countryElement.countries.length>0){countryKeys=countryElement.countries;}else{countryKeys=Object.keys(iso3166);}var countryList=getCountryNames(countryKeys);// Add a "no selection" element
10
- if(countryElement.required){return countryList;}return _extends({},optional,{},countryList);});
9
+ var countryKeys;if(countryElement.countries.length>0){countryKeys=countryElement.countries;}else{countryKeys=Object.keys(iso3166);}var countryList=countryKeys.reduce(function(reducer,countryCode){if(!iso3166[countryCode]){logger.error("Error: unknown country code [".concat(countryCode,"]"));return reducer;}return _extends({},reducer,_defineProperty({},countryCode,iso3166[countryCode].name));},{});// Add a "no selection" element
10
+ if(countryElement.required){return countryList;}return _extends({},optional,countryList);});
@@ -1,4 +1,4 @@
1
- function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_nonIterableRest();}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance");}function _iterableToArrayLimit(arr,i){var _arr=[];var _n=true;var _d=false;var _e=undefined;try{for(var _i=arr[Symbol.iterator](),_s;!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break;}}catch(err){_d=true;_e=err;}finally{try{if(!_n&&_i["return"]!=null)_i["return"]();}finally{if(_d)throw _e;}}return _arr;}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr;}import{ELEMENT_TYPE_CHECKBOX,ELEMENT_TYPE_SELECT}from"../Builder.constants";/**
1
+ function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_unsupportedIterableToArray(arr,i)||_nonIterableRest();}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen);}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i];}return arr2;}function _iterableToArrayLimit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break;}}catch(err){_d=true;_e=err;}finally{try{if(!_n&&_i["return"]!=null)_i["return"]();}finally{if(_d)throw _e;}}return _arr;}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr;}import{ELEMENT_TYPE_CHECKBOX,ELEMENT_TYPE_SELECT}from"../Builder.constants";/**
2
2
  * Prepare state of formData for form builder
3
3
  * @param {Object} formElements form elements
4
4
  * @param {Object} defaults form defaults
@@ -4,4 +4,4 @@ function _extends(){_extends=Object.assign||function(target){for(var i=1;i<argum
4
4
  * @param {string} countryCode Country code of the country to fetch provinces from
5
5
  * @param {?Object} optional object to prepend optional choice
6
6
  * @return {Object}
7
- */export default(function(countryCode){var optional=arguments.length>1&&arguments[1]!==undefined?arguments[1]:null;if(!iso3166){return{};}/** @property {iso3166} divisions */var provinceList=iso3166[countryCode]?iso3166[countryCode].divisions:{};if(!optional){return provinceList;}return _extends({},optional,{},provinceList);});
7
+ */export default(function(countryCode){var optional=arguments.length>1&&arguments[1]!==undefined?arguments[1]:null;if(!iso3166){return{};}/** @property {iso3166} divisions */var provinceList=iso3166[countryCode]?iso3166[countryCode].divisions:{};if(!optional){return provinceList;}return _extends({},optional,provinceList);});
@@ -1,16 +1,13 @@
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 classNames from'classnames';/**
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 classNames from'classnames';/**
2
2
  * Form component that handles keyboard submit, next buttons, ...
3
- */var Form=/*#__PURE__*/function(_PureComponent){function Form(props){var _this2;_classCallCheck(this,Form);_this2=_callSuper(this,Form,[props]);/**
3
+ */var Form=/*#__PURE__*/function(_PureComponent){_inherits(Form,_PureComponent);var _super=_createSuper(Form);/**
4
+ * Initializes the form component.
5
+ * @param {Object} props The components props.
6
+ */function Form(props){var _this;_classCallCheck(this,Form);_this=_super.call(this,props);_defineProperty(_assertThisInitialized(_this),"handleSubmit",function(event){event.preventDefault();var inputFocused=[].concat(_this.formElement.current.querySelectorAll('input')).some(function(input){return document.activeElement===input;});if(inputFocused){document.activeElement.blur();}_this.props.onSubmit();});_defineProperty(_assertThisInitialized(_this),"handleKeyPress",function(event){// Enter key and on iOS also the "Done" button.
7
+ if(event.which===13){_this.handleSubmit(event);}});_this.formElement=/*#__PURE__*/React.createRef();return _this;}/**
4
8
  * Handles the form submit.
5
9
  * @param {Object} event The event that caused the submit.
6
- */_defineProperty(_this2,"handleSubmit",function(event){event.preventDefault();var inputFocused=[].concat(_this2.formElement.current.querySelectorAll('input')).some(function(input){return document.activeElement===input;});if(inputFocused){document.activeElement.blur();}_this2.props.onSubmit();});/**
7
- * Handles form submits by key.
8
- * @param {Object} event The event that caused the keypress.
9
- */_defineProperty(_this2,"handleKeyPress",function(event){// Enter key and on iOS also the "Done" button.
10
- if(event.which===13){_this2.handleSubmit(event);}});_this2.formElement=React.createRef();return _this2;}_inherits(Form,_PureComponent);return _createClass(Form,[{key:"render",value:/**
10
+ */_createClass(Form,[{key:"render",value:/**
11
11
  * Renders the component.
12
12
  * @returns {JSX}
13
- */function render(){/* eslint-disable jsx-a11y/no-noninteractive-element-interactions */return React.createElement("form",{action:"#",className:classNames(this.props.className,'form','engage__form'),onSubmit:this.handleSubmit,onKeyPress:this.handleKeyPress,ref:this.formElement},this.props.children);/* eslint-enable jsx-a11y/no-noninteractive-element-interactions */}}]);}(PureComponent);_defineProperty(Form,"defaultProps",{className:null,onSubmit:function onSubmit(){}/**
14
- * Initializes the form component.
15
- * @param {Object} props The components props.
16
- */});export default Form;
13
+ */function render(){/* eslint-disable jsx-a11y/no-noninteractive-element-interactions */return/*#__PURE__*/React.createElement("form",{action:"#",className:classNames(this.props.className,'form','engage__form'),onSubmit:this.handleSubmit,onKeyPress:this.handleKeyPress,ref:this.formElement},this.props.children);/* eslint-enable jsx-a11y/no-noninteractive-element-interactions */}}]);return Form;}(PureComponent);_defineProperty(Form,"defaultProps",{className:null,onSubmit:function onSubmit(){}});export default Form;
@@ -1 +1 @@
1
- export{Builder as FormBuilder}from"./Builder";export{default as Form}from"./Form";import*as _StylePresets from"./Builder/stylePresets";export{_StylePresets as StylePresets};
1
+ export{Builder as FormBuilder}from"./Builder";export{default as Form}from"./Form";