@shopgate/engage 7.32.0-beta.2 → 7.32.0-beta.20

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 (662) hide show
  1. package/account/components/Profile/Profile.provider.d.ts +1 -1
  2. package/account/components/Profile/ProfileAddressBook.d.ts.map +1 -1
  3. package/account/components/Profile/ProfileAddressBook.js +13 -22
  4. package/account/components/Profile/ProfileAddressCard.d.ts.map +1 -1
  5. package/account/components/Profile/ProfileAddressCard.js +9 -18
  6. package/account/components/Profile/ProfileForm.d.ts.map +1 -1
  7. package/account/components/Profile/ProfileForm.js +15 -42
  8. package/account/components/ProfileContact/ProfileContact.js +13 -21
  9. package/admin-preview/components/FrontendSettingsPreviewBridge/FrontendSettingsPreviewBridge.d.ts +2 -1
  10. package/admin-preview/components/FrontendSettingsPreviewBridge/FrontendSettingsPreviewBridge.d.ts.map +1 -1
  11. package/admin-preview/components/FrontendSettingsPreviewBridge/FrontendSettingsPreviewBridge.js +61 -5
  12. package/admin-preview/components/FrontendSettingsPreviewBridge/helpers.d.ts +7 -1
  13. package/admin-preview/components/FrontendSettingsPreviewBridge/helpers.d.ts.map +1 -1
  14. package/admin-preview/components/FrontendSettingsPreviewBridge/helpers.js +14 -2
  15. package/admin-preview/components/FrontendSettingsPreviewBridge/types.d.ts +15 -2
  16. package/admin-preview/components/FrontendSettingsPreviewBridge/types.d.ts.map +1 -1
  17. package/admin-preview/constants/index.d.ts +9 -22
  18. package/admin-preview/constants/index.d.ts.map +1 -1
  19. package/admin-preview/constants/index.js +10 -27
  20. package/admin-preview/{detection.d.ts → helpers/_internal/detection.d.ts} +12 -8
  21. package/admin-preview/helpers/_internal/detection.d.ts.map +1 -0
  22. package/admin-preview/helpers/_internal/detection.js +93 -0
  23. package/admin-preview/helpers/_internal/origins.d.ts +20 -0
  24. package/admin-preview/helpers/_internal/origins.d.ts.map +1 -0
  25. package/admin-preview/helpers/_internal/origins.js +72 -0
  26. package/admin-preview/helpers/index.d.ts +20 -0
  27. package/admin-preview/helpers/index.d.ts.map +1 -1
  28. package/admin-preview/helpers/index.js +26 -2
  29. package/admin-preview/hooks/index.d.ts +9 -7
  30. package/admin-preview/hooks/index.d.ts.map +1 -1
  31. package/admin-preview/hooks/index.js +21 -18
  32. package/admin-preview/initialization/_internal/initialFrontendSettings.d.ts +32 -0
  33. package/admin-preview/initialization/_internal/initialFrontendSettings.d.ts.map +1 -0
  34. package/admin-preview/initialization/_internal/initialFrontendSettings.js +43 -0
  35. package/admin-preview/initialization/awaitInitialFrontendSettings.d.ts +23 -0
  36. package/admin-preview/initialization/awaitInitialFrontendSettings.d.ts.map +1 -0
  37. package/admin-preview/initialization/awaitInitialFrontendSettings.js +88 -0
  38. package/back-in-stock/components/BackInStockButton/index.js +5 -5
  39. package/back-in-stock/components/Subscriptions/components/Subscription/index.js +2 -5
  40. package/cart/components/CartItem/CartItemProductLayout.js +2 -1
  41. package/cart/components/CartItem/CartItemProductLayoutWide.js +2 -2
  42. package/cart/components/CartItem/CartItemProductLayoutWideRemoveItem.js +7 -14
  43. package/cart/components/CartItem/CartItemQuantityPicker.js +3 -2
  44. package/cart/components/CartItems/CartItemCardReservationLabelChangeStore.js +6 -24
  45. package/cart/components/CartItems/CartItems.js +8 -10
  46. package/cart/components/CartItems/CartItemsSubstitution.js +3 -2
  47. package/cart/components/CartSummaryWide/CartSummaryWide.js +2 -2
  48. package/cart/components/CartSummaryWide/CartSummaryWideCheckoutButton.js +9 -23
  49. package/cart/components/PaymentBar/PaymentBarCheckoutButton.js +8 -30
  50. package/cart/components/PaymentBar/testUtils/mockFactories.js +4 -11
  51. package/category/components/CategoryImage/index.js +24 -17
  52. package/checkout/components/AddressBook/AddressList.js +14 -23
  53. package/checkout/components/Checkout/CheckoutActions.js +4 -3
  54. package/checkout/components/Checkout/CheckoutAddress.js +8 -0
  55. package/checkout/components/Checkout/CheckoutSection.js +6 -2
  56. package/checkout/components/CheckoutConfirmation/CheckoutConfirmation.js +6 -7
  57. package/checkout/components/ResponsiveBackButton/ResponsiveBackButton.js +7 -17
  58. package/components/Badge/Badge.d.ts +30 -0
  59. package/components/Badge/Badge.d.ts.map +1 -0
  60. package/components/Badge/Badge.js +49 -0
  61. package/components/Badge/index.d.ts +3 -0
  62. package/components/Badge/index.d.ts.map +1 -0
  63. package/components/Badge/index.js +1 -0
  64. package/components/Card/Card.d.ts +27 -0
  65. package/components/Card/Card.d.ts.map +1 -0
  66. package/components/Card/Card.js +57 -0
  67. package/components/Card/index.d.ts +4 -0
  68. package/components/Card/index.d.ts.map +1 -0
  69. package/components/Card/index.js +2 -0
  70. package/components/Card/useCardAppearance.d.ts +11 -0
  71. package/components/Card/useCardAppearance.d.ts.map +1 -0
  72. package/components/Card/useCardAppearance.js +22 -0
  73. package/components/ChipLayout/index.js +2 -4
  74. package/components/NavigationHandler/connector.js +1 -1
  75. package/components/NavigationHandler/index.d.ts +2 -2
  76. package/components/Paper/Paper.d.ts +48 -0
  77. package/components/Paper/Paper.d.ts.map +1 -0
  78. package/components/Paper/Paper.js +64 -0
  79. package/components/Paper/index.d.ts +3 -0
  80. package/components/Paper/index.d.ts.map +1 -0
  81. package/components/Paper/index.js +1 -0
  82. package/components/RadioCard/RadioCard.d.ts.map +1 -1
  83. package/components/RadioCard/RadioCard.js +2 -1
  84. package/components/SheetList/components/Item/index.js +8 -8
  85. package/components/Tabs/components/Tab.d.ts.map +1 -1
  86. package/components/Tabs/components/Tab.js +14 -16
  87. package/components/Typography/Typography.d.ts +1 -1
  88. package/components/Typography/Typography.d.ts.map +1 -1
  89. package/components/Typography/Typography.js +2 -0
  90. package/components/View/components/Content/index.d.ts.map +1 -1
  91. package/components/View/components/Content/index.js +4 -1
  92. package/components/constants.d.ts +6 -0
  93. package/components/constants.d.ts.map +1 -0
  94. package/components/index.d.ts +6 -1
  95. package/components/index.d.ts.map +1 -1
  96. package/components/index.js +6 -2
  97. package/components/v2/Button/Button.d.ts +24 -13
  98. package/components/v2/Button/Button.d.ts.map +1 -1
  99. package/components/v2/Button/Button.js +139 -41
  100. package/components/v2/ButtonBase/ButtonBase.d.ts +50 -10
  101. package/components/v2/ButtonBase/ButtonBase.d.ts.map +1 -1
  102. package/components/v2/ButtonBase/ButtonBase.js +192 -17
  103. package/components/v2/ButtonBase/hooks.d.ts +0 -1
  104. package/components/v2/ButtonBase/hooks.d.ts.map +1 -1
  105. package/components/v2/ButtonBase/hooks.js +36 -12
  106. package/components/v2/ButtonGroup/ButtonGroup.d.ts +11 -5
  107. package/components/v2/ButtonGroup/ButtonGroup.d.ts.map +1 -1
  108. package/components/v2/ButtonGroup/ButtonGroup.js +49 -26
  109. package/components/v2/CircularProgress/CircularProgress.d.ts.map +1 -1
  110. package/components/v2/CircularProgress/CircularProgress.js +10 -5
  111. package/components/v2/IconButton/IconButton.d.ts +72 -0
  112. package/components/v2/IconButton/IconButton.d.ts.map +1 -0
  113. package/components/v2/IconButton/IconButton.js +169 -0
  114. package/components/v2/IconButton/index.d.ts +3 -0
  115. package/components/v2/IconButton/index.d.ts.map +1 -0
  116. package/components/v2/IconButton/index.js +1 -0
  117. package/components/v2/index.d.ts +1 -0
  118. package/components/v2/index.d.ts.map +1 -1
  119. package/components/v2/index.js +1 -0
  120. package/core/helpers/getFullImageSource.d.ts +5 -1
  121. package/core/helpers/getFullImageSource.d.ts.map +1 -1
  122. package/core/helpers/getFullImageSource.js +30 -14
  123. package/core/helpers/i18n.d.ts +4 -0
  124. package/core/helpers/i18n.d.ts.map +1 -1
  125. package/core/helpers/i18n.js +3 -0
  126. package/core/hooks/events/appEvents.d.ts +31 -46
  127. package/core/hooks/events/appEvents.d.ts.map +1 -0
  128. package/core/hooks/events/appEvents.js +26 -29
  129. package/core/hooks/events/index.d.ts +4 -4
  130. package/core/hooks/events/index.d.ts.map +1 -1
  131. package/core/hooks/events/useLongPress.d.ts +55 -58
  132. package/core/hooks/events/useLongPress.d.ts.map +1 -0
  133. package/core/hooks/events/useLongPress.js +23 -16
  134. package/core/hooks/events/usePressHandler.d.ts +32 -21
  135. package/core/hooks/events/usePressHandler.d.ts.map +1 -1
  136. package/core/hooks/events/usePressHandler.js +12 -10
  137. package/core/hooks/events/useScrollDirectionChange.d.ts +72 -61
  138. package/core/hooks/events/useScrollDirectionChange.d.ts.map +1 -0
  139. package/core/hooks/events/useScrollDirectionChange.js +36 -43
  140. package/core/hooks/html/useLoadImage.d.ts +3 -3
  141. package/core/hooks/html/useLoadImage.d.ts.map +1 -1
  142. package/core/hooks/html/useLoadImage.js +2 -2
  143. package/core/hooks/useLocalStorage.d.ts +8 -0
  144. package/core/hooks/useLocalStorage.d.ts.map +1 -1
  145. package/core/hooks/useLocalStorage.js +22 -15
  146. package/core/hooks/useNavigation.d.ts +10 -2
  147. package/core/hooks/useNavigation.d.ts.map +1 -1
  148. package/core/hooks/useNavigation.js +1 -2
  149. package/core/initialization/fetchSettings.d.ts +12 -0
  150. package/core/initialization/fetchSettings.d.ts.map +1 -0
  151. package/core/initialization/fetchSettings.js +134 -0
  152. package/core/initialization/index.d.ts +33 -2
  153. package/core/initialization/index.d.ts.map +1 -1
  154. package/core/initialization/index.js +44 -103
  155. package/core/router/conductor.d.ts +9 -0
  156. package/core/router/helpers.d.ts +28 -15
  157. package/core/router/helpers.d.ts.map +1 -1
  158. package/core/router/helpers.js +8 -8
  159. package/development/action-creators/index.d.ts +3 -0
  160. package/development/action-creators/index.d.ts.map +1 -0
  161. package/development/action-creators/settings.d.ts +45 -0
  162. package/development/action-creators/settings.d.ts.map +1 -0
  163. package/development/action-creators/settings.js +21 -10
  164. package/development/action-creators/storage.d.ts +17 -0
  165. package/development/action-creators/storage.d.ts.map +1 -0
  166. package/development/action-creators/storage.js +7 -4
  167. package/development/components/ClientInformation/ClientInformation.d.ts +6 -0
  168. package/development/components/ClientInformation/ClientInformation.d.ts.map +1 -0
  169. package/development/components/ClientInformation/ClientInformation.js +7 -4
  170. package/development/components/ClientInformation/actions.d.ts +6 -0
  171. package/development/components/ClientInformation/actions.d.ts.map +1 -0
  172. package/development/components/ClientInformation/actions.js +1 -1
  173. package/development/components/ClientInformation/index.d.ts +2 -0
  174. package/development/components/ClientInformation/index.d.ts.map +1 -0
  175. package/development/components/DevelopmentSettings/DevelopmentSettings.d.ts +16 -0
  176. package/development/components/DevelopmentSettings/DevelopmentSettings.d.ts.map +1 -0
  177. package/development/components/DevelopmentSettings/DevelopmentSettings.js +43 -30
  178. package/development/components/DevelopmentSettings/index.d.ts +2 -0
  179. package/development/components/DevelopmentSettings/index.d.ts.map +1 -0
  180. package/development/components/DevelopmentTools/DevelopmentTools.d.ts +10 -0
  181. package/development/components/DevelopmentTools/DevelopmentTools.d.ts.map +1 -0
  182. package/development/components/DevelopmentTools/DevelopmentTools.js +8 -8
  183. package/development/components/DevelopmentTools/Shortcuts.d.ts +6 -0
  184. package/development/components/DevelopmentTools/Shortcuts.d.ts.map +1 -0
  185. package/development/components/DevelopmentTools/Shortcuts.js +0 -1
  186. package/development/components/DevelopmentTools/hooks.d.ts +8 -0
  187. package/development/components/DevelopmentTools/hooks.d.ts.map +1 -0
  188. package/development/components/DevelopmentTools/hooks.js +2 -3
  189. package/development/components/DevelopmentTools/index.d.ts +2 -0
  190. package/development/components/DevelopmentTools/index.d.ts.map +1 -0
  191. package/development/components/SimulatedInsets/SimulatedInsetBottom.d.ts +7 -0
  192. package/development/components/SimulatedInsets/SimulatedInsetBottom.d.ts.map +1 -0
  193. package/development/components/SimulatedInsets/SimulatedInsetBottom.js +1 -6
  194. package/development/components/SimulatedInsets/SimulatedInsetTop.d.ts +7 -0
  195. package/development/components/SimulatedInsets/SimulatedInsetTop.d.ts.map +1 -0
  196. package/development/components/SimulatedInsets/SimulatedInsetTop.js +2 -7
  197. package/development/components/SimulatedInsets/SimulatedInsets.d.ts +13 -0
  198. package/development/components/SimulatedInsets/SimulatedInsets.d.ts.map +1 -0
  199. package/development/components/SimulatedInsets/SimulatedInsets.js +2 -7
  200. package/development/components/SimulatedInsets/index.d.ts +2 -0
  201. package/development/components/SimulatedInsets/index.d.ts.map +1 -0
  202. package/development/components/SimulatedInsets/types.d.ts +15 -0
  203. package/development/components/SimulatedInsets/types.d.ts.map +1 -0
  204. package/development/components/SimulatedInsets/types.js +1 -0
  205. package/development/components/index.d.ts +3 -0
  206. package/development/components/index.d.ts.map +1 -0
  207. package/development/constants/actionTypes.d.ts +6 -0
  208. package/development/constants/actionTypes.d.ts.map +1 -0
  209. package/development/constants/actionTypes.js +2 -1
  210. package/development/constants/index.d.ts +2 -0
  211. package/development/constants/index.d.ts.map +1 -0
  212. package/development/reducers/index.d.ts +24 -0
  213. package/development/reducers/index.d.ts.map +1 -0
  214. package/development/reducers/settings.d.ts +17 -0
  215. package/development/reducers/settings.d.ts.map +1 -0
  216. package/development/reducers/settings.js +48 -35
  217. package/development/reducers/storage.d.ts +17 -0
  218. package/development/reducers/storage.d.ts.map +1 -0
  219. package/development/reducers/storage.js +24 -24
  220. package/development/selectors/index.d.ts +3 -0
  221. package/development/selectors/index.d.ts.map +1 -0
  222. package/development/selectors/settings.d.ts +52 -0
  223. package/development/selectors/settings.d.ts.map +1 -0
  224. package/development/selectors/settings.js +21 -11
  225. package/development/selectors/storage.d.ts +10 -0
  226. package/development/selectors/storage.d.ts.map +1 -0
  227. package/development/selectors/storage.js +6 -18
  228. package/development/streams/index.d.ts +2 -0
  229. package/development/streams/index.d.ts.map +1 -0
  230. package/development/streams/insets.d.ts +8 -0
  231. package/development/streams/insets.d.ts.map +1 -0
  232. package/development/streams/insets.js +1 -3
  233. package/development/subscriptions/index.d.ts +15 -0
  234. package/development/subscriptions/index.d.ts.map +1 -0
  235. package/development/subscriptions/index.js +6 -2
  236. package/development/types/development.d.ts +68 -0
  237. package/development/types/development.d.ts.map +1 -0
  238. package/development/types/development.js +1 -0
  239. package/development/types/index.d.ts +2 -0
  240. package/development/types/index.d.ts.map +1 -0
  241. package/development/types/index.js +1 -0
  242. package/favorites/components/FavoriteButtonWide/FavoriteButtonWide.js +7 -17
  243. package/favorites/components/Item/Item.d.ts +1 -1
  244. package/favorites/components/Item/Item.d.ts.map +1 -1
  245. package/favorites/components/Item/Item.js +2 -5
  246. package/favorites/components/List/List.d.ts +1 -1
  247. package/favorites/components/List/List.d.ts.map +1 -1
  248. package/favorites/components/List/List.js +0 -1
  249. package/favorites/components/List/ListContent.js +4 -5
  250. package/favorites/components/Lists/Lists.js +4 -5
  251. package/filter/components/FilterItem/index.js +12 -2
  252. package/filter/components/FilterPageContent/components/ApplyButton/index.d.ts +21 -0
  253. package/filter/components/FilterPageContent/components/ApplyButton/index.d.ts.map +1 -0
  254. package/filter/components/FilterPageContent/components/ApplyButton/index.js +27 -56
  255. package/filter/components/FilterPageContent/components/FilterButtonBar/index.d.ts +8 -0
  256. package/filter/components/FilterPageContent/components/FilterButtonBar/index.d.ts.map +1 -0
  257. package/filter/components/FilterPageContent/components/FilterButtonBar/index.js +63 -0
  258. package/filter/components/FilterPageContent/components/ResetButton/index.d.ts +17 -0
  259. package/filter/components/FilterPageContent/components/ResetButton/index.d.ts.map +1 -0
  260. package/filter/components/FilterPageContent/components/ResetButton/index.js +26 -46
  261. package/filter/components/FilterPageContent/components/Selector/components/Selected/index.d.ts +19 -0
  262. package/filter/components/FilterPageContent/components/Selector/components/Selected/index.d.ts.map +1 -0
  263. package/filter/components/FilterPageContent/components/Selector/components/Selected/index.js +25 -46
  264. package/filter/components/FilterPageContent/components/Selector/components/Toggle/index.d.ts +14 -0
  265. package/filter/components/FilterPageContent/components/Selector/components/Toggle/index.d.ts.map +1 -0
  266. package/filter/components/FilterPageContent/components/Selector/components/Toggle/index.js +13 -46
  267. package/filter/components/FilterPageContent/components/Selector/components/ValueCheckbox/index.d.ts +25 -0
  268. package/filter/components/FilterPageContent/components/Selector/components/ValueCheckbox/index.d.ts.map +1 -0
  269. package/filter/components/FilterPageContent/components/Selector/components/ValueCheckbox/index.js +77 -0
  270. package/filter/components/FilterPageContent/components/Selector/index.d.ts +43 -0
  271. package/filter/components/FilterPageContent/components/Selector/index.d.ts.map +1 -0
  272. package/filter/components/FilterPageContent/components/Selector/index.js +52 -40
  273. package/filter/components/FilterPageContent/index.d.ts +16 -0
  274. package/filter/components/FilterPageContent/index.d.ts.map +1 -0
  275. package/filter/components/FilterPageContent/index.js +51 -57
  276. package/filter/components/PriceSlider/components/Label/index.js +86 -94
  277. package/filter/components/PriceSlider/index.js +43 -30
  278. package/filter/helpers/buildFilterParamsForFetchFiltersRequest.d.ts +8 -0
  279. package/filter/helpers/buildFilterParamsForFetchFiltersRequest.d.ts.map +1 -0
  280. package/filter/helpers/buildInitialFilters.d.ts +7 -0
  281. package/filter/helpers/buildInitialFilters.d.ts.map +1 -0
  282. package/filter/helpers/buildUpdatedFilters.d.ts +7 -0
  283. package/filter/helpers/buildUpdatedFilters.d.ts.map +1 -0
  284. package/filter/helpers/index.d.ts +5 -0
  285. package/filter/helpers/index.d.ts.map +1 -0
  286. package/filter/helpers/translateFilterLabel.d.ts +8 -0
  287. package/filter/helpers/translateFilterLabel.d.ts.map +1 -0
  288. package/filter/providers/FilterPageProvider.context.d.ts +157 -0
  289. package/filter/providers/FilterPageProvider.context.d.ts.map +1 -0
  290. package/filter/providers/FilterPageProvider.d.ts +24 -0
  291. package/filter/providers/FilterPageProvider.d.ts.map +1 -0
  292. package/filter/providers/FilterPageProvider.js +77 -132
  293. package/locations/components/ChangeLocationButton/ChangeLocationButton.js +10 -14
  294. package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotDialog.js +4 -8
  295. package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotSwitcher.js +1 -1
  296. package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotSwitcherBar.js +8 -13
  297. package/locations/components/FulfillmentSlotSwitcher/FulfillmentSlotSwitcherDefault.js +10 -10
  298. package/locations/components/GlobalLocationSwitcher/GlobalLocationSwitcherBar.js +12 -16
  299. package/locations/components/GlobalLocationSwitcher/GlobalLocationSwitcherDefault.js +9 -10
  300. package/locations/components/ReserveForm/ReserveForm.js +6 -7
  301. package/locations/components/StoreDetails/components/GetDirectionsButton.js +2 -4
  302. package/locations/components/StoreDetails/components/StoreDetails.js +5 -10
  303. package/locations/components/StoreDetails/components/StoresNearbyListItem.js +13 -21
  304. package/locations/components/StoreFinder/StoreFinderSelectLocationButton.js +5 -11
  305. package/locations/components/StoreFinder/StoreFinderStoreInfoButton.js +5 -11
  306. package/locations/components/StoreList/StoreListProduct.js +2 -3
  307. package/locations/components/StoreList/StoreListSearch.js +1 -0
  308. package/locations/components/StoreList/StoreSelectLocationButton.js +5 -11
  309. package/login/components/ForgotPassword/ForgotPassword.js +11 -23
  310. package/mocks/date.js +31 -0
  311. package/mocks/index.js +3 -0
  312. package/mocks/pipelineRequest.js +1 -0
  313. package/mocks/subscriptions.js +1 -0
  314. package/orders/components/OrderDetails/OrderDetailsAuthenticate.js +5 -7
  315. package/orders/components/OrderHistory/OrderHistoryList.d.ts.map +1 -1
  316. package/orders/components/OrderHistory/OrderHistoryList.js +8 -9
  317. package/orders/components/OrderHistory/OrderHistoryTable.d.ts.map +1 -1
  318. package/orders/components/OrderHistory/OrderHistoryTable.js +4 -0
  319. package/package.json +9 -9
  320. package/page/components/NotFound.d.ts +7 -0
  321. package/page/components/NotFound.d.ts.map +1 -0
  322. package/page/components/NotFound.js +8 -8
  323. package/page/components/ResponsiveWidgetImage/ResponsiveWidgetImage.d.ts +52 -0
  324. package/page/components/ResponsiveWidgetImage/ResponsiveWidgetImage.d.ts.map +1 -0
  325. package/page/components/ResponsiveWidgetImage/ResponsiveWidgetImage.js +4 -4
  326. package/page/components/ResponsiveWidgetImage/index.d.ts +2 -0
  327. package/page/components/ResponsiveWidgetImage/index.d.ts.map +1 -0
  328. package/page/components/WidgetRichText/WidgetRichText.d.ts +25 -0
  329. package/page/components/WidgetRichText/WidgetRichText.d.ts.map +1 -0
  330. package/page/components/WidgetRichText/index.d.ts +2 -0
  331. package/page/components/WidgetRichText/index.d.ts.map +1 -0
  332. package/page/components/WidgetVideo/WidgetVideo.d.ts +43 -0
  333. package/page/components/WidgetVideo/WidgetVideo.d.ts.map +1 -0
  334. package/page/components/WidgetVideo/WidgetVideo.js +33 -39
  335. package/page/components/WidgetVideo/index.d.ts +2 -0
  336. package/page/components/WidgetVideo/index.d.ts.map +1 -0
  337. package/page/components/Widgets/Overlay.d.ts +17 -0
  338. package/page/components/Widgets/Overlay.d.ts.map +1 -0
  339. package/page/components/Widgets/Overlay.js +24 -38
  340. package/page/components/Widgets/Tooltip.d.ts +20 -0
  341. package/page/components/Widgets/Tooltip.d.ts.map +1 -0
  342. package/page/components/Widgets/Tooltip.js +6 -10
  343. package/page/components/Widgets/Widget.d.ts +32 -0
  344. package/page/components/Widgets/Widget.d.ts.map +1 -0
  345. package/page/components/Widgets/Widget.js +14 -28
  346. package/page/components/Widgets/WidgetContext.d.ts +32 -38
  347. package/page/components/Widgets/WidgetContext.d.ts.map +1 -0
  348. package/page/components/Widgets/WidgetContext.js +2 -8
  349. package/page/components/Widgets/WidgetProvider.d.ts +29 -0
  350. package/page/components/Widgets/WidgetProvider.d.ts.map +1 -0
  351. package/page/components/Widgets/WidgetProvider.js +8 -15
  352. package/page/components/Widgets/Widgets.d.ts +16 -0
  353. package/page/components/Widgets/Widgets.d.ts.map +1 -0
  354. package/page/components/Widgets/Widgets.js +5 -12
  355. package/page/components/Widgets/WidgetsPreviewContext.d.ts +21 -0
  356. package/page/components/Widgets/WidgetsPreviewContext.d.ts.map +1 -0
  357. package/page/components/Widgets/WidgetsPreviewContext.js +5 -7
  358. package/page/components/Widgets/WidgetsPreviewProvider.d.ts +18 -0
  359. package/page/components/Widgets/WidgetsPreviewProvider.d.ts.map +1 -0
  360. package/page/components/Widgets/WidgetsPreviewProvider.js +5 -6
  361. package/page/components/Widgets/constants.d.ts +18 -0
  362. package/page/components/Widgets/constants.d.ts.map +1 -0
  363. package/page/components/Widgets/constants.js +24 -2
  364. package/page/components/Widgets/events.d.ts +38 -0
  365. package/page/components/Widgets/events.d.ts.map +1 -0
  366. package/page/components/Widgets/events.js +8 -12
  367. package/page/components/Widgets/helpers.d.ts +69 -0
  368. package/page/components/Widgets/helpers.d.ts.map +1 -0
  369. package/page/components/Widgets/helpers.js +58 -13
  370. package/page/components/Widgets/hooks.d.ts +13 -0
  371. package/page/components/Widgets/hooks.d.ts.map +1 -0
  372. package/page/components/Widgets/hooks.js +18 -12
  373. package/page/components/Widgets/index.d.ts +3 -0
  374. package/page/components/Widgets/index.d.ts.map +1 -0
  375. package/page/components/Widgets/types.d.ts +138 -114
  376. package/page/components/Widgets/types.d.ts.map +1 -0
  377. package/page/components/Widgets/types.js +1 -0
  378. package/page/components/index.d.ts +5 -0
  379. package/page/components/index.d.ts.map +1 -0
  380. package/page/constants/actionTypes.d.ts +4 -0
  381. package/page/constants/actionTypes.d.ts.map +1 -0
  382. package/page/constants/index.d.ts +25 -0
  383. package/page/constants/index.d.ts.map +1 -0
  384. package/page/constants/index.js +5 -3
  385. package/page/helpers/index.d.ts +70 -62
  386. package/page/helpers/index.d.ts.map +1 -0
  387. package/page/helpers/index.js +31 -29
  388. package/page/hooks/index.d.ts +54 -53
  389. package/page/hooks/index.d.ts.map +1 -0
  390. package/page/hooks/index.js +20 -15
  391. package/page/selectors/index.d.ts +32 -0
  392. package/page/selectors/index.d.ts.map +1 -0
  393. package/page/widget.config.schema.json +54 -0
  394. package/page/widgets/Button/Button.js +2 -3
  395. package/page/widgets/CategoryList/CategoryList.js +2 -1
  396. package/page/widgets/HeroBanner/config.json +6 -0
  397. package/page/widgets/Image/config.json +6 -0
  398. package/page/widgets/ImageRow/config.json +6 -0
  399. package/page/widgets/ImageSlider/config.json +6 -0
  400. package/page/widgets/ImageSlider/hooks.js +4 -2
  401. package/page/widgets/NestedCategoryFilter/NestedCategoryFilter.js +8 -8
  402. package/page/widgets/ProductList/ProductList.js +18 -14
  403. package/page/widgets/ProductSlider/ProductSlider.js +1 -15
  404. package/page/widgets/README.md +92 -0
  405. package/page/widgets/Video/Video.d.ts +6 -0
  406. package/page/widgets/Video/Video.d.ts.map +1 -0
  407. package/page/widgets/Video/Video.js +0 -2
  408. package/page/widgets/Video/config.json +6 -0
  409. package/page/widgets/Video/hooks.d.ts +53 -0
  410. package/page/widgets/Video/hooks.d.ts.map +1 -0
  411. package/page/widgets/Video/hooks.js +4 -12
  412. package/page/widgets/Video/index.d.ts +2 -0
  413. package/page/widgets/Video/index.d.ts.map +1 -0
  414. package/product/components/Description/index.js +0 -2
  415. package/product/components/FilterBar/components/Content/components/FilterButton/index.js +38 -46
  416. package/product/components/FilterBar/components/Content/components/FilterChips/components/FilterChip/index.d.ts +38 -0
  417. package/product/components/FilterBar/components/Content/components/FilterChips/components/FilterChip/index.d.ts.map +1 -0
  418. package/product/components/FilterBar/components/Content/components/FilterChips/components/FilterChip/index.js +88 -0
  419. package/product/components/FilterBar/components/Content/components/FilterChips/index.js +54 -35
  420. package/product/components/FilterBar/components/Content/components/Sort/index.js +1 -1
  421. package/product/components/FilterBar/components/Content/index.js +7 -3
  422. package/product/components/FilterBar/index.js +11 -22
  423. package/product/components/Media/FeaturedMedia.js +7 -1
  424. package/product/components/Media/MediaImage.js +24 -23
  425. package/product/components/Media/MediaPlaceholder.js +4 -7
  426. package/product/components/MediaSlider/components/MediaImage/index.js +6 -2
  427. package/product/components/MediaSlider/constants.js +1 -12
  428. package/product/components/OrderQuantityHint/index.js +16 -1
  429. package/product/components/ProductCard/index.js +36 -23
  430. package/product/components/ProductFilters/index.js +2 -6
  431. package/product/components/ProductGrid/components/Item/components/ItemDetails/index.js +12 -4
  432. package/product/components/ProductGrid/components/Item/components/ItemFavoritesButton/index.js +0 -1
  433. package/product/components/ProductGrid/components/Item/components/ItemImage/index.js +3 -6
  434. package/product/components/ProductGrid/components/Item/components/ItemName/index.js +6 -1
  435. package/product/components/ProductGrid/components/Item/index.js +10 -2
  436. package/product/components/ProductGrid/components/Layout/index.js +19 -4
  437. package/product/components/ProductGrid/constants.d.ts +2 -0
  438. package/product/components/ProductGrid/constants.d.ts.map +1 -0
  439. package/product/components/ProductGrid/constants.js +1 -0
  440. package/product/components/ProductGrid/hooks.d.ts +11 -0
  441. package/product/components/ProductGrid/hooks.d.ts.map +1 -0
  442. package/product/components/ProductGrid/hooks.js +48 -0
  443. package/product/components/ProductGrid/index.js +3 -6
  444. package/product/components/ProductGridPrice/index.js +0 -6
  445. package/product/components/ProductImage/ProductImage.d.ts +42 -0
  446. package/product/components/ProductImage/ProductImage.d.ts.map +1 -0
  447. package/product/components/ProductImage/ProductImage.js +158 -0
  448. package/product/components/ProductImage/ProductImagePlaceholder.d.ts +23 -0
  449. package/product/components/ProductImage/ProductImagePlaceholder.d.ts.map +1 -0
  450. package/product/components/ProductImage/ProductImagePlaceholder.js +12 -17
  451. package/product/components/ProductImage/constants.d.ts +7 -0
  452. package/product/components/ProductImage/constants.d.ts.map +1 -0
  453. package/product/components/ProductImage/constants.js +6 -0
  454. package/product/components/ProductImage/hooks.d.ts +8 -0
  455. package/product/components/ProductImage/hooks.d.ts.map +1 -0
  456. package/product/components/ProductImage/hooks.js +32 -0
  457. package/product/components/ProductImage/index.d.ts +3 -0
  458. package/product/components/ProductImage/index.d.ts.map +1 -0
  459. package/product/components/ProductImage/index.js +1 -201
  460. package/product/components/ProductList/components/Item/index.js +5 -3
  461. package/product/components/ProductList/components/Layout/index.js +8 -20
  462. package/product/components/ProductRatingStars/ProductRatingStars.d.ts.map +1 -1
  463. package/product/components/ProductRatingStars/ProductRatingStars.js +4 -17
  464. package/product/components/ProductSlider/constants.d.ts +3 -0
  465. package/product/components/ProductSlider/constants.d.ts.map +1 -0
  466. package/product/components/ProductSlider/constants.js +2 -0
  467. package/product/components/ProductSlider/hooks.d.ts +7 -0
  468. package/product/components/ProductSlider/hooks.d.ts.map +1 -0
  469. package/product/components/ProductSlider/hooks.js +40 -0
  470. package/product/components/ProductSlider/index.js +8 -8
  471. package/product/components/Rating/index.js +12 -21
  472. package/product/components/RelationsSlider/RelationsSliderContent.js +3 -2
  473. package/product/components/RelationsSlider/constants.d.ts +3 -0
  474. package/product/components/RelationsSlider/constants.d.ts.map +1 -0
  475. package/product/components/RelationsSlider/constants.js +2 -1
  476. package/product/components/RelationsSlider/hooks.d.ts +6 -0
  477. package/product/components/RelationsSlider/hooks.d.ts.map +1 -0
  478. package/product/components/RelationsSlider/hooks.js +34 -0
  479. package/product/components/UnitQuantityPicker/UnitQuantityPicker.d.ts.map +1 -1
  480. package/product/components/UnitQuantityPicker/UnitQuantityPicker.js +15 -33
  481. package/product/helpers/index.js +29 -11
  482. package/product/hooks/index.js +3 -1
  483. package/product/hooks/useLoadProductImage.js +4 -2
  484. package/product/hooks/useShowEmptyRatingStars.d.ts +7 -0
  485. package/product/hooks/useShowEmptyRatingStars.d.ts.map +1 -0
  486. package/product/hooks/useShowEmptyRatingStars.js +21 -0
  487. package/product/index.js +0 -1
  488. package/product/selectors/mocks/productProperties.mock.js +49 -0
  489. package/push-opt-in/components/PushOptInModal/index.js +4 -4
  490. package/registration/components/Registration/RegistrationFormActions.js +4 -4
  491. package/reviews/components/Reviews/components/AllReviewsLink/index.js +6 -6
  492. package/reviews/components/Reviews/components/Header/components/WriteReviewLink/index.js +4 -3
  493. package/settings/action-creators/appSettings.d.ts +3 -3
  494. package/settings/action-creators/appSettings.d.ts.map +1 -1
  495. package/settings/constants/appSettings.d.ts +3 -0
  496. package/settings/constants/appSettings.d.ts.map +1 -1
  497. package/settings/constants/appSettings.js +6 -1
  498. package/settings/constants/imageSettings.d.ts +52 -0
  499. package/settings/constants/imageSettings.d.ts.map +1 -0
  500. package/settings/constants/imageSettings.js +69 -0
  501. package/settings/helpers/index.d.ts +3 -0
  502. package/settings/helpers/index.d.ts.map +1 -0
  503. package/settings/helpers/index.js +1 -0
  504. package/settings/helpers/resolveImageSettings.d.ts +70 -0
  505. package/settings/helpers/resolveImageSettings.d.ts.map +1 -0
  506. package/settings/helpers/resolveImageSettings.js +171 -0
  507. package/settings/helpers/toImageQuality.d.ts +7 -0
  508. package/settings/helpers/toImageQuality.d.ts.map +1 -0
  509. package/settings/helpers/toImageQuality.js +44 -0
  510. package/settings/helpers/toThumborColor.d.ts +15 -0
  511. package/settings/helpers/toThumborColor.d.ts.map +1 -0
  512. package/settings/helpers/toThumborColor.js +51 -0
  513. package/settings/hooks/index.d.ts +2 -0
  514. package/settings/hooks/index.d.ts.map +1 -0
  515. package/settings/hooks/index.js +1 -0
  516. package/settings/hooks/useImageSettings.d.ts +28 -0
  517. package/settings/hooks/useImageSettings.d.ts.map +1 -0
  518. package/settings/hooks/useImageSettings.js +39 -0
  519. package/settings/reducers/appSettings.d.ts.map +1 -1
  520. package/settings/reducers/appSettings.js +123 -8
  521. package/settings/reducers/index.d.ts +3 -3
  522. package/settings/selectors/appSettings.d.ts +122 -1
  523. package/settings/selectors/appSettings.d.ts.map +1 -1
  524. package/settings/selectors/appSettings.js +80 -1
  525. package/settings/types/appSettings.d.ts +279 -0
  526. package/settings/types/appSettings.d.ts.map +1 -1
  527. package/settings/types/appSettings.js +133 -1
  528. package/styles/helpers/index.d.ts +2 -0
  529. package/styles/helpers/index.js +2 -0
  530. package/styles/helpers/loadFontCss.d.ts +22 -0
  531. package/styles/helpers/loadFontCss.d.ts.map +1 -0
  532. package/styles/helpers/loadFontCss.js +138 -0
  533. package/styles/helpers/loadThemeCss.d.ts +14 -0
  534. package/styles/helpers/loadThemeCss.d.ts.map +1 -0
  535. package/styles/helpers/loadThemeCss.js +123 -0
  536. package/styles/index.d.ts +1 -1
  537. package/styles/index.d.ts.map +1 -1
  538. package/styles/reset/root.js +23 -4
  539. package/styles/reset/typographyCustomProps.d.ts +12 -0
  540. package/styles/reset/typographyCustomProps.d.ts.map +1 -0
  541. package/styles/reset/typographyCustomProps.js +11 -0
  542. package/styles/theme/createDefaultThemeOptions/index.d.ts +11 -1
  543. package/styles/theme/createDefaultThemeOptions/index.d.ts.map +1 -1
  544. package/styles/theme/createDefaultThemeOptions/index.js +129 -10
  545. package/styles/theme/createTheme/createComponents.types.d.ts +118 -4
  546. package/styles/theme/createTheme/createComponents.types.d.ts.map +1 -1
  547. package/styles/theme/createTheme/createComponents.types.js +122 -8
  548. package/styles/theme/createTheme/createCssVarsForColorSchemeThemes.d.ts.map +1 -1
  549. package/styles/theme/createTheme/createCssVarsForColorSchemeThemes.js +13 -3
  550. package/styles/theme/createTheme/createPalette.types.d.ts +5 -0
  551. package/styles/theme/createTheme/createPalette.types.d.ts.map +1 -1
  552. package/styles/theme/createTheme/createPalette.types.js +7 -2
  553. package/styles/theme/createTheme/createShape.d.ts +3 -0
  554. package/styles/theme/createTheme/createShape.d.ts.map +1 -1
  555. package/styles/theme/createTheme/createThemeFromColorScheme.d.ts +3 -1
  556. package/styles/theme/createTheme/createThemeFromColorScheme.d.ts.map +1 -1
  557. package/styles/theme/createTheme/createThemeFromColorScheme.js +6 -3
  558. package/styles/theme/createTheme/createTypography.d.ts +4 -2
  559. package/styles/theme/createTheme/createTypography.js +60 -18
  560. package/styles/theme/createTheme/helpers/cssVarsParser.d.ts.map +1 -1
  561. package/styles/theme/createTheme/helpers/cssVarsParser.js +10 -3
  562. package/styles/theme/createTheme/index.d.ts +2 -1
  563. package/styles/theme/createTheme/index.d.ts.map +1 -1
  564. package/styles/theme/createTheme/index.js +3 -1
  565. package/styles/theme/createTheme/shadows.d.ts +11 -1
  566. package/styles/theme/createTheme/shadows.d.ts.map +1 -1
  567. package/styles/theme/createTheme/shadows.js +41 -7
  568. package/styles/theme/createTheme/types.d.ts +16 -5
  569. package/styles/theme/createTheme/types.d.ts.map +1 -1
  570. package/styles/theme/createTheme/types.js +8 -3
  571. package/styles/theme/hooks/useColorScheme.d.ts +4 -3
  572. package/styles/theme/hooks/useColorScheme.d.ts.map +1 -1
  573. package/styles/theme/hooks/useColorScheme.js +4 -3
  574. package/styles/theme/hooks/useMediaQuery.d.ts +7 -0
  575. package/styles/theme/hooks/useMediaQuery.d.ts.map +1 -1
  576. package/styles/theme/hooks/useMediaQuery.js +5 -5
  577. package/styles/theme/hooks/useTheme.js +1 -1
  578. package/styles/theme/index.d.ts +4 -1
  579. package/styles/theme/index.d.ts.map +1 -1
  580. package/styles/theme/providers/ColorSchemeContext.d.ts +40 -0
  581. package/styles/theme/providers/ColorSchemeContext.d.ts.map +1 -0
  582. package/styles/theme/providers/ColorSchemeContext.js +14 -0
  583. package/styles/theme/providers/ThemeContext.d.ts +3 -0
  584. package/styles/theme/providers/ThemeContext.d.ts.map +1 -0
  585. package/styles/theme/providers/ThemeContext.js +2 -0
  586. package/styles/theme/providers/ThemeProvider.d.ts +3 -13
  587. package/styles/theme/providers/ThemeProvider.d.ts.map +1 -1
  588. package/styles/theme/providers/ThemeProvider.js +86 -13
  589. package/styles/theme/utils/color.d.ts +12 -12
  590. package/styles/theme/utils/color.d.ts.map +1 -1
  591. package/tracking/components/CookieConsentModal/index.js +3 -4
  592. package/tracking/components/PrivacySettings/index.js +3 -3
  593. package/admin-preview/detection.d.ts.map +0 -1
  594. package/admin-preview/detection.js +0 -166
  595. package/cart/components/PaymentBar/PaymentBarReserveButton.connector.js +0 -6
  596. package/cart/components/PaymentBar/PaymentBarReserveButton.js +0 -71
  597. package/components/ChipLayout/spec.js +0 -41
  598. package/components/Logo/spec.js +0 -12
  599. package/components/NavigationHandler/spec.js +0 -84
  600. package/components/Picker/spec.js +0 -94
  601. package/components/PickerUtilize/spec.js +0 -35
  602. package/components/RangeSlider/spec.js +0 -190
  603. package/components/SheetList/components/Item/spec.js +0 -101
  604. package/components/SheetList/spec.js +0 -43
  605. package/components/TimeBoundary/spec.js +0 -83
  606. package/filter/components/FilterItem/spec.js +0 -14
  607. package/filter/components/FilterPageContent/components/ApplyButton/spec.js +0 -46
  608. package/filter/components/FilterPageContent/components/ResetButton/spec.js +0 -29
  609. package/filter/components/FilterPageContent/components/Selector/components/Selected/spec.js +0 -26
  610. package/filter/components/FilterPageContent/components/Selector/components/Toggle/spec.js +0 -34
  611. package/filter/components/FilterPageContent/components/Selector/components/ValueButton/index.js +0 -69
  612. package/filter/components/FilterPageContent/components/Selector/components/ValueButton/spec.js +0 -32
  613. package/filter/components/FilterPageContent/components/Selector/spec.js +0 -33
  614. package/filter/components/PriceSlider/components/Label/spec.js +0 -26
  615. package/filter/components/PriceSlider/spec.js +0 -30
  616. package/locations/components/StoreFinder/StoreFinderGetDirectionsButton.connector.js +0 -16
  617. package/locations/components/StoreFinder/StoreFinderGetDirectionsButton.js +0 -52
  618. package/product/collections/index.js +0 -1
  619. package/product/components/EffectivityDates/constants.d.ts +0 -3
  620. package/product/components/EffectivityDates/constants.d.ts.map +0 -1
  621. package/product/components/EffectivityDates/helpers.d.ts +0 -6
  622. package/product/components/EffectivityDates/helpers.d.ts.map +0 -1
  623. package/product/components/FilterBar/components/Content/components/FilterChips/connector.js +0 -22
  624. package/product/components/FilterBar/components/Content/spec.js +0 -136
  625. package/product/components/Header/Shipping/spec.js +0 -36
  626. package/product/components/Header/Tiers/components/Tier/spec.js +0 -48
  627. package/product/components/Header/Tiers/spec.js +0 -64
  628. package/product/components/Media/helpers.d.ts +0 -2
  629. package/product/components/Media/helpers.d.ts.map +0 -1
  630. package/product/components/Options/components/Content/spec.js +0 -73
  631. package/product/components/Options/components/TextOption/components/OptionInfo/spec.js +0 -72
  632. package/product/components/ProductDiscountBadge/spec.js +0 -58
  633. package/product/components/ProductGrid/components/Item/components/ItemDetails/spec.js +0 -73
  634. package/product/components/ProductGrid/components/Item/components/ItemFavoritesButton/spec.js +0 -33
  635. package/product/components/ProductGrid/components/Item/components/ItemImage/spec.js +0 -16
  636. package/product/components/ProductGrid/components/Item/components/ItemName/spec.js +0 -21
  637. package/product/components/ProductGrid/components/Item/components/ItemPrice/spec.js +0 -37
  638. package/product/components/ProductGrid/spec.js +0 -52
  639. package/product/components/ProductImage/connector.js +0 -12
  640. package/product/components/ProductImage/spec.js +0 -87
  641. package/product/components/ProductSlider/spec.js +0 -37
  642. package/product/components/Rating/connector.js +0 -26
  643. package/product/components/Rating/spec.js +0 -58
  644. package/product/helpers/index.d.ts +0 -13
  645. package/product/helpers/index.d.ts.map +0 -1
  646. package/product/helpers/redirects.d.ts +0 -2
  647. package/product/helpers/redirects.d.ts.map +0 -1
  648. package/product/selectors/helpers/filterProperties.d.ts +0 -8
  649. package/product/selectors/helpers/filterProperties.d.ts.map +0 -1
  650. package/product/selectors/helpers/index.d.ts +0 -3
  651. package/product/selectors/helpers/index.d.ts.map +0 -1
  652. package/product/selectors/helpers/wrapMemoizedSelector.d.ts +0 -2
  653. package/product/selectors/helpers/wrapMemoizedSelector.d.ts.map +0 -1
  654. package/product/selectors/product.d.ts +0 -112
  655. package/product/selectors/product.d.ts.map +0 -1
  656. package/reviews/components/Reviews/components/Header/components/WriteReviewLink/spec.js +0 -52
  657. package/reviews/components/Reviews/components/Header/spec.js +0 -78
  658. package/reviews/components/Reviews/components/List/spec.js +0 -108
  659. package/reviews/components/Reviews/components/RatingCount/spec.js +0 -38
  660. package/reviews/components/Reviews/spec.js +0 -101
  661. package/tsconfig.build.json +0 -26
  662. package/tsconfig.json +0 -19
@@ -0,0 +1,92 @@
1
+ # Widgets
2
+
3
+ Widgets are the building blocks of a CMS page. The core renders a flat list of containers and each
4
+ widget renders inside one, without knowing anything about its surroundings.
5
+
6
+ ## Widget config
7
+
8
+ A widget can tell the core a few things about itself. It does that in a `config.json` inside its
9
+ own folder:
10
+
11
+ ```
12
+ libraries/engage/page/widgets/Video/
13
+ config.json <- the config of this widget
14
+ Video.tsx
15
+ hooks.ts
16
+ index.ts
17
+ ```
18
+
19
+ Widgets that need no configuration ship no file.
20
+
21
+ The file is read **at build time** and its content is passed to the app together with the widget
22
+ mapping, so its values are known before the widget itself is loaded. A running build watches the
23
+ config files, which means editing one is picked up without a restart. Adding a whole new widget
24
+ still needs one, because that also changes the component mapping of the app.
25
+
26
+ A config that does not match the schema, or that cannot be parsed, **fails the build** with a
27
+ message that names the widget.
28
+
29
+ ### Media widget margins
30
+
31
+ Merchants configure margins around media widgets in the theme settings. They arrive in the app
32
+ settings as `widgets.mediaMargins` and are applied to the container of every widget that asks for
33
+ them:
34
+
35
+ ```json
36
+ {
37
+ "$schema": "../../widget.config.schema.json",
38
+ "layout": {
39
+ "applyMediaMargins": true
40
+ }
41
+ }
42
+ ```
43
+
44
+ `true` applies the margin on all four sides. To take part on some sides only, name them:
45
+
46
+ ```json
47
+ {
48
+ "$schema": "../../widget.config.schema.json",
49
+ "layout": {
50
+ "applyMediaMargins": {
51
+ "top": true,
52
+ "bottom": true
53
+ }
54
+ }
55
+ }
56
+ ```
57
+
58
+ Widgets that bring their own spacing should not ask for the margins, otherwise the two add up. A
59
+ widget that is meant to touch the screen edges leaves out `left` and `right`.
60
+
61
+ Margins that a merchant configures for a single widget instance in the page builder always win over
62
+ the media widget margins.
63
+
64
+ ### Editor support
65
+
66
+ The optional `"$schema"` entry gives autocompletion and inline validation while editing. It is an
67
+ editor feature only - the build never follows it, and it is stripped from the config before it
68
+ reaches the app. What guards a config is the validation the build runs against
69
+ [widget.config.schema.json](../widget.config.schema.json), which happens with or without the entry.
70
+
71
+ Widgets in this package point at the schema with a path relative to their own folder:
72
+
73
+ ```json
74
+ {
75
+ "$schema": "../../widget.config.schema.json",
76
+ "layout": {
77
+ "applyMediaMargins": true
78
+ }
79
+ }
80
+ ```
81
+
82
+ **Widgets in extensions leave the entry out.** There is no relative path that works for them: an
83
+ extension is developed in its own repository, where this package is not present at all, and in an
84
+ app it depends on whether the theme or the app carries `@shopgate/engage`. A wrong path is not
85
+ dangerous - the editor just offers no help - but it is noise that never starts working. Extension
86
+ authors who want the same support can map the schema in their editor instead, for example through
87
+ `json.schemas` in the workspace settings of their repository.
88
+
89
+ ### Widgets of extensions
90
+
91
+ The config of an extension widget belongs to the repository of that extension. `extensions/` is not
92
+ part of this repository, so a file that is only added to a local checkout never ships.
@@ -0,0 +1,6 @@
1
+ /**
2
+ * The VideoWidget is used to display a video.
3
+ */
4
+ declare const Video: () => import("react").JSX.Element;
5
+ export default Video;
6
+ //# sourceMappingURL=Video.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Video.d.ts","sourceRoot":"","sources":["../../../../page/widgets/Video/Video.tsx"],"names":[],"mappings":"AAGA;;GAEG;AACH,QAAA,MAAM,KAAK,mCAgBV,CAAC;AAEF,eAAe,KAAK,CAAC"}
@@ -1,10 +1,8 @@
1
- import React from 'react';
2
1
  import { useVideoWidget } from "./hooks";
3
2
  import WidgetVideo from "../../components/WidgetVideo";
4
3
 
5
4
  /**
6
5
  * The VideoWidget is used to display a video.
7
- * @returns {JSX.Element}
8
6
  */
9
7
  import { jsx as _jsx } from "react/jsx-runtime";
10
8
  const Video = () => {
@@ -0,0 +1,6 @@
1
+ {
2
+ "$schema": "../../widget.config.schema.json",
3
+ "layout": {
4
+ "applyMediaMargins": true
5
+ }
6
+ }
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Configuration of the Video widget.
3
+ */
4
+ export interface VideoWidgetConfig {
5
+ /**
6
+ * The video URL.
7
+ */
8
+ url: string;
9
+ /**
10
+ * Whether the video should be muted.
11
+ */
12
+ muted?: boolean;
13
+ /**
14
+ * Whether the video should loop.
15
+ */
16
+ loop?: boolean;
17
+ /**
18
+ * Whether the video should display controls.
19
+ */
20
+ controls?: boolean;
21
+ /**
22
+ * Whether the video should autoplay.
23
+ */
24
+ autoplay?: boolean;
25
+ /**
26
+ * The border radius option.
27
+ */
28
+ borderRadius: 'default' | 'none' | 'rounded' | 'custom';
29
+ /**
30
+ * The custom border radius value.
31
+ */
32
+ borderRadiusCustom?: number;
33
+ /**
34
+ * The link URL.
35
+ */
36
+ link?: string;
37
+ }
38
+ /**
39
+ * Resolved data returned by {@link useVideoWidget}. Reuses the field docs from
40
+ * {@link VideoWidgetConfig} for the pass-through fields via `Pick`.
41
+ */
42
+ export interface UseVideoWidgetResult extends Pick<VideoWidgetConfig, 'url' | 'muted' | 'loop' | 'controls' | 'autoplay' | 'link'> {
43
+ /**
44
+ * The resolved border radius as a CSS length.
45
+ */
46
+ borderRadius: string;
47
+ }
48
+ /**
49
+ * Hook to access the Video widget configuration and data.
50
+ * @returns The resolved Video widget data.
51
+ */
52
+ export declare const useVideoWidget: () => UseVideoWidgetResult;
53
+ //# sourceMappingURL=hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../../page/widgets/Video/hooks.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,YAAY,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;IACxD;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAqB,SAAQ,IAAI,CAChD,iBAAiB,EACjB,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,GAAG,MAAM,CAC5D;IACC;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,QAAO,oBAoBjC,CAAC"}
@@ -2,27 +2,19 @@ import { useWidget } from '@shopgate/engage/page/hooks';
2
2
  import { resolveBorderRadiusFromWidgetConfig } from "../../helpers";
3
3
 
4
4
  /**
5
- * @typedef {Object} VideoWidgetConfig
6
- * @property {string} url The video URL.
7
- * @property {boolean} [muted] Whether the video should be muted.
8
- * @property {boolean} [loop] Whether the video should loop.
9
- * @property {boolean} [controls] Whether the video should display controls.
10
- * @property {boolean} [autoplay] Whether the video should autoplay.
11
- * @property {number} [borderRadius] The border radius preset.
12
- * @property {string} [link] The link URL.
5
+ * Configuration of the Video widget.
13
6
  */
14
7
 
15
8
  /**
16
- * @typedef {ReturnType< typeof import('@shopgate/engage/page/hooks')
17
- * .useWidget<VideoWidgetConfig> >} UseWidgetReturnType
9
+ * Resolved data returned by {@link useVideoWidget}. Reuses the field docs from
10
+ * {@link VideoWidgetConfig} for the pass-through fields via `Pick`.
18
11
  */
19
12
 
20
- // eslint-disable-next-line valid-jsdoc
21
13
  /**
22
14
  * Hook to access the Video widget configuration and data.
15
+ * @returns The resolved Video widget data.
23
16
  */
24
17
  export const useVideoWidget = () => {
25
- /** @type {UseWidgetReturnType} */
26
18
  const {
27
19
  config
28
20
  } = useWidget();
@@ -0,0 +1,2 @@
1
+ export { default } from './Video';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../page/widgets/Video/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC"}
@@ -16,7 +16,6 @@ const useStyles = makeStyles()(theme => ({
16
16
  lineHeight: 1.7,
17
17
  overflow: 'hidden',
18
18
  wordBreak: ['break-all', 'break-word'],
19
- color: theme.palette.text.primary,
20
19
  hyphens: 'auto',
21
20
  ' ul': {
22
21
  listStyle: 'disc'
@@ -69,7 +68,6 @@ function Description({
69
68
  variant: "h5",
70
69
  component: "div",
71
70
  className: cx(classes.title, 'theme__description_heading'),
72
- color: "textPrimary",
73
71
  children: /*#__PURE__*/_jsx(I18n.Text, {
74
72
  string: "product.description_heading"
75
73
  })
@@ -1,35 +1,28 @@
1
1
  import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { makeStyles } from '@shopgate/engage/styles';
4
- import { Grid, I18n, Ripple, FilterIcon, Typography } from '@shopgate/engage/components';
4
+ import { i18n } from '@shopgate/engage/core/helpers';
5
+ import { Badge, I18n, FilterIcon, Typography } from '@shopgate/engage/components';
5
6
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
6
7
  const useStyles = makeStyles()(theme => ({
7
8
  button: {
9
+ display: 'flex',
10
+ alignItems: 'center',
11
+ gap: theme.spacing(0.75),
8
12
  color: 'inherit',
9
- fontSize: theme.components.icon.medium,
10
13
  outline: 0,
11
- padding: 0,
12
- minWidth: theme.components.navigator.height,
13
- height: theme.components.filterBar.height,
14
- position: 'relative',
15
- zIndex: 1,
16
- overflow: 'hidden'
17
- },
18
- filterButton: {
19
- display: 'flex'
14
+ flexShrink: 0,
15
+ margin: theme.spacing(0, 1.5),
16
+ padding: theme.spacing(0.25, 1),
17
+ border: `1px solid ${theme.components.border.medium}`,
18
+ borderRadius: theme.shape.borderRadius
20
19
  },
21
- filterButtonLabel: {
22
- alignSelf: 'center',
23
- paddingRight: theme.spacing(1)
20
+ buttonActive: {
21
+ borderColor: theme.components.badge.background
24
22
  },
25
- filterButtonRipple: {
26
- display: 'flex',
27
- height: '100%',
28
- width: '100%',
29
- justifyContent: 'center',
30
- alignItems: 'center',
31
- margin: 0,
32
- padding: '6px 10px'
23
+ icon: {
24
+ fontSize: theme.components.icon.medium,
25
+ display: 'flex'
33
26
  }
34
27
  }));
35
28
 
@@ -39,39 +32,38 @@ const useStyles = makeStyles()(theme => ({
39
32
  * @return {JSX}
40
33
  */
41
34
  function FilterButton({
42
- openFilters
35
+ openFilters,
36
+ filterCount
43
37
  }) {
44
38
  const {
45
39
  classes,
46
40
  cx
47
41
  } = useStyles();
48
- return /*#__PURE__*/_jsx("button", {
49
- className: cx(classes.button, 'theme__filter-bar__filter-button'),
42
+ return /*#__PURE__*/_jsxs("button", {
43
+ className: cx(classes.button, {
44
+ [classes.buttonActive]: filterCount > 0
45
+ }, 'theme__filter-bar__filter-button'),
50
46
  onClick: openFilters,
51
47
  "data-test-id": "filterButton",
48
+ "aria-label": i18n.text('titles.filter'),
52
49
  type: "button",
53
- children: /*#__PURE__*/_jsx(Ripple, {
54
- className: classes.filterButtonRipple,
55
- fill: true,
56
- children: /*#__PURE__*/_jsxs(Grid, {
57
- component: "div",
58
- children: [/*#__PURE__*/_jsx(Grid.Item, {
59
- className: classes.filterButton,
60
- component: "div",
61
- children: /*#__PURE__*/_jsx(Typography, {
62
- variant: "subtitle2",
63
- component: "span",
64
- className: classes.filterButtonLabel,
65
- children: /*#__PURE__*/_jsx(I18n.Text, {
66
- string: "titles.filter"
67
- })
68
- })
69
- }), /*#__PURE__*/_jsx(Grid.Item, {
70
- component: "div",
71
- children: /*#__PURE__*/_jsx(FilterIcon, {})
72
- })]
50
+ children: [/*#__PURE__*/_jsx("span", {
51
+ className: classes.icon,
52
+ children: /*#__PURE__*/_jsx(FilterIcon, {})
53
+ }), /*#__PURE__*/_jsx(Typography, {
54
+ variant: "subtitle2",
55
+ component: "span",
56
+ children: /*#__PURE__*/_jsx(I18n.Text, {
57
+ string: "titles.filter"
73
58
  })
74
- })
59
+ }), /*#__PURE__*/_jsx(Badge, {
60
+ count: filterCount,
61
+ max: 9,
62
+ "aria-hidden": true
63
+ })]
75
64
  });
76
65
  }
66
+ FilterButton.defaultProps = {
67
+ filterCount: 0
68
+ };
77
69
  export default FilterButton;
@@ -0,0 +1,38 @@
1
+ import type { ReactNode } from 'react';
2
+ export interface FilterChipProps {
3
+ /**
4
+ * Id of the filter value. Used as the test id and passed back to `onRemove`.
5
+ */
6
+ id: string;
7
+ /**
8
+ * The chip label.
9
+ */
10
+ children: ReactNode;
11
+ /**
12
+ * Whether the chip renders a remove button (default `true`).
13
+ */
14
+ removable?: boolean;
15
+ /**
16
+ * Aria label for the label button, which opens the filter page.
17
+ */
18
+ editLabel?: string;
19
+ /**
20
+ * Aria label for the remove button.
21
+ */
22
+ removeLabel?: string;
23
+ /**
24
+ * Invoked when the chip label is clicked.
25
+ */
26
+ onClick?: () => void;
27
+ /**
28
+ * Invoked with the chip id when the remove button is clicked.
29
+ */
30
+ onRemove?: (id: string) => void;
31
+ }
32
+ /**
33
+ * A removable chip representing one active filter within the filter bar.
34
+ * @returns The rendered component.
35
+ */
36
+ declare const FilterChip: ({ id, children, removable, editLabel, removeLabel, onClick, onRemove, }: FilterChipProps) => import("react").JSX.Element;
37
+ export default FilterChip;
38
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../../../product/components/FilterBar/components/Content/components/FilterChips/components/FilterChip/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,SAAS,EAAE,MAAM,OAAO,CAAC;AAwDtD,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;IACpB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC;AAED;;;GAGG;AACH,QAAA,MAAM,UAAU,GAAI,yEAQjB,eAAe,gCAwBjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -0,0 +1,88 @@
1
+ import { useCallback } from 'react';
2
+ import noop from 'lodash/noop';
3
+ import Button from '@shopgate/pwa-common/components/Button';
4
+ import { CrossIcon } from '@shopgate/engage/components';
5
+ import { makeStyles } from '@shopgate/engage/styles';
6
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
+ const useStyles = makeStyles()((theme, {
8
+ removable
9
+ }) => ({
10
+ chip: {
11
+ display: 'flex',
12
+ alignItems: 'center',
13
+ minWidth: 0,
14
+ maxWidth: '72%',
15
+ height: 30,
16
+ borderRadius: theme.shape.borderRadius,
17
+ border: `1px solid ${theme.palette.secondary.main}`,
18
+ background: theme.palette.background.surface,
19
+ color: theme.palette.text.primary,
20
+ paddingLeft: removable ? theme.spacing(0.75) : theme.spacing(1.25),
21
+ paddingRight: theme.spacing(1.25),
22
+ outline: 0
23
+ },
24
+ name: {
25
+ ...theme.typography.body2,
26
+ fontWeight: theme.typography.fontWeightMedium,
27
+ display: 'block',
28
+ color: 'inherit',
29
+ padding: 0,
30
+ paddingLeft: removable ? theme.spacing(0.5) : 0,
31
+ maxWidth: '100%',
32
+ overflow: 'hidden',
33
+ textOverflow: 'ellipsis',
34
+ whiteSpace: 'nowrap'
35
+ },
36
+ removeButton: {
37
+ display: 'flex',
38
+ flexShrink: 0,
39
+ padding: 0,
40
+ color: theme.palette.secondary.main
41
+ }
42
+ }));
43
+
44
+ /**
45
+ * `Button` is untyped JavaScript whose optional props read as required from TypeScript.
46
+ */
47
+ const ChipButton = Button;
48
+ /**
49
+ * A removable chip representing one active filter within the filter bar.
50
+ * @returns The rendered component.
51
+ */
52
+ const FilterChip = ({
53
+ id,
54
+ children,
55
+ removable = true,
56
+ editLabel,
57
+ removeLabel,
58
+ onClick = noop,
59
+ onRemove = noop
60
+ }) => {
61
+ const {
62
+ classes
63
+ } = useStyles({
64
+ removable
65
+ });
66
+ const handleRemove = useCallback(() => {
67
+ onRemove(id);
68
+ }, [onRemove, id]);
69
+ return /*#__PURE__*/_jsxs("div", {
70
+ className: classes.chip,
71
+ "data-test-id": id,
72
+ children: [removable && /*#__PURE__*/_jsx(ChipButton, {
73
+ className: classes.removeButton,
74
+ onClick: handleRemove,
75
+ testId: "removeFilter",
76
+ "aria-label": removeLabel,
77
+ children: /*#__PURE__*/_jsx(CrossIcon, {
78
+ size: 16
79
+ })
80
+ }), /*#__PURE__*/_jsx(ChipButton, {
81
+ className: classes.name,
82
+ onClick: onClick,
83
+ "aria-label": editLabel,
84
+ children: children
85
+ })]
86
+ });
87
+ };
88
+ export default FilterChip;
@@ -1,24 +1,41 @@
1
1
  import React, { useCallback, useMemo, useEffect } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import noop from 'lodash/noop';
4
+ import { useDispatch } from 'react-redux';
4
5
  import { router } from '@virtuous/conductor';
5
6
  import appConfig from '@shopgate/pwa-common/helpers/config';
6
- import { Chip, ChipLayout } from '@shopgate/engage/components';
7
+ import { updateFilters } from '@shopgate/pwa-common-commerce/filter/action-creators';
8
+ import { I18n } from '@shopgate/engage/components';
7
9
  import { FILTER_TYPE_RANGE, FILTER_TYPE_MULTISELECT, translateFilterLabel } from '@shopgate/engage/filter';
8
10
  import { i18n } from '@shopgate/engage/core/helpers';
9
11
  import { makeStyles } from '@shopgate/engage/styles';
10
- import connect from "./connector";
11
- import { jsx as _jsx } from "react/jsx-runtime";
12
+ import FilterChip from "./components/FilterChip";
13
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
14
  const useStyles = makeStyles()(theme => ({
13
15
  container: {
14
- overflow: 'auto',
15
- padding: theme.spacing(0, 1.5),
16
- width: '100%'
16
+ display: 'flex',
17
+ alignItems: 'center',
18
+ gap: theme.spacing(1),
19
+ overflowX: 'auto',
20
+ overflowY: 'hidden',
21
+ padding: theme.spacing(0.5, 1.5, 1.5),
22
+ width: '100%',
23
+ scrollbarWidth: 'none',
24
+ '&::-webkit-scrollbar': {
25
+ display: 'none'
26
+ },
27
+ '& > *': {
28
+ flexShrink: 0
29
+ }
17
30
  },
18
- label: {
19
- // TODO: This CSS variable is re-defined inside the Chip component. So refactoring to the
20
- // theme need some planning.
21
- color: 'var(--color-text-high-emphasis)'
31
+ clearAll: {
32
+ ...theme.typography.body2,
33
+ color: theme.palette.text.primary,
34
+ outline: 0,
35
+ padding: theme.spacing(0.5, 1, 0.5, 0),
36
+ whiteSpace: 'nowrap',
37
+ textDecoration: 'underline',
38
+ textUnderlineOffset: 3
22
39
  }
23
40
  }));
24
41
 
@@ -29,16 +46,15 @@ const useStyles = makeStyles()(theme => ({
29
46
  const FilterChips = ({
30
47
  filters,
31
48
  routeId,
32
- updateFilters,
33
49
  scrollTop,
34
50
  openFilters,
35
- currentPathname,
36
51
  onChipCountUpdate
37
52
  }) => {
38
53
  const {
39
54
  classes,
40
55
  cx
41
56
  } = useStyles();
57
+ const dispatch = useDispatch();
42
58
  const handleRemove = useCallback((id, value) => {
43
59
  const {
44
60
  [id]: selected,
@@ -62,7 +78,7 @@ const FilterChips = ({
62
78
  router.update(routeId, {
63
79
  filters: newFilters
64
80
  });
65
- updateFilters(newFilters);
81
+ dispatch(updateFilters(newFilters));
66
82
  scrollTop();
67
83
  }, 0);
68
84
  return;
@@ -72,9 +88,16 @@ const FilterChips = ({
72
88
  router.update(routeId, {
73
89
  filters: newFilters
74
90
  });
75
- updateFilters(newFilters);
91
+ dispatch(updateFilters(newFilters));
92
+ scrollTop();
93
+ }, [dispatch, filters, routeId, scrollTop]);
94
+ const handleClearAll = useCallback(() => {
95
+ router.update(routeId, {
96
+ filters: null
97
+ });
98
+ dispatch(updateFilters(null));
76
99
  scrollTop();
77
- }, [filters, routeId, scrollTop, updateFilters]);
100
+ }, [dispatch, routeId, scrollTop]);
78
101
  const chips = useMemo(() => {
79
102
  if (filters === null || !Object.keys(filters).length) {
80
103
  return [];
@@ -108,16 +131,13 @@ const FilterChips = ({
108
131
  const editLabel = i18n.text('filter.edit', {
109
132
  filter: labelValue
110
133
  });
111
- entries.push(/*#__PURE__*/_jsx(Chip, {
134
+ entries.push(/*#__PURE__*/_jsx(FilterChip, {
112
135
  id: key,
113
136
  onRemove: handleRemove,
114
137
  onClick: openFilters,
115
138
  removeLabel: removeLabel,
116
139
  editLabel: editLabel,
117
- children: /*#__PURE__*/_jsx("span", {
118
- className: classes.label,
119
- children: pricesFormatted
120
- })
140
+ children: pricesFormatted
121
141
  }, `filter-${key}`));
122
142
  break;
123
143
  }
@@ -133,43 +153,42 @@ const FilterChips = ({
133
153
  const editLabel = i18n.text('filter.edit', {
134
154
  filter: filterFormatted
135
155
  });
136
- entries.push(/*#__PURE__*/_jsx(Chip, {
156
+ entries.push(/*#__PURE__*/_jsx(FilterChip, {
137
157
  id: value.id,
138
158
  onRemove: () => handleRemove(filter.id, value.id),
139
159
  onClick: openFilters,
140
160
  removeLabel: removeLabel,
141
161
  editLabel: editLabel,
142
- children: /*#__PURE__*/_jsx("span", {
143
- className: classes.label,
144
- children: filterFormatted
145
- })
162
+ children: filterFormatted
146
163
  }, `filter-${value.id}`));
147
164
  });
148
165
  break;
149
166
  }
150
167
  });
151
168
  return entries;
152
- }, [classes.label, filters, handleRemove, openFilters]);
169
+ }, [filters, handleRemove, openFilters]);
153
170
  useEffect(() => {
154
171
  onChipCountUpdate(chips.length);
155
172
  }, [chips.length, onChipCountUpdate]);
156
173
  if (chips.length === 0) {
157
174
  return null;
158
175
  }
159
- return /*#__PURE__*/_jsx("div", {
176
+ return /*#__PURE__*/_jsxs("div", {
160
177
  className: cx(classes.container, 'theme__filter-bar__filter-chips'),
161
- children: /*#__PURE__*/_jsx(ChipLayout, {
162
- moreLabel: "filter.more",
163
- handleMoreButton: openFilters,
164
- pathname: currentPathname,
165
- children: chips
166
- })
178
+ children: [chips.length > 3 && /*#__PURE__*/_jsx("button", {
179
+ className: classes.clearAll,
180
+ onClick: handleClearAll,
181
+ "data-test-id": "clearAllFilters",
182
+ type: "button",
183
+ children: /*#__PURE__*/_jsx(I18n.Text, {
184
+ string: "filter.clear_all"
185
+ })
186
+ }), chips]
167
187
  });
168
188
  };
169
189
  FilterChips.defaultProps = {
170
- currentPathname: '',
171
190
  filters: null,
172
191
  scrollTop: noop,
173
192
  onChipCountUpdate: noop
174
193
  };
175
- export default connect(FilterChips);
194
+ export default FilterChips;
@@ -34,7 +34,7 @@ const useStyles = makeStyles()(theme => ({
34
34
  zIndex: 2,
35
35
  top: '100%',
36
36
  left: 0,
37
- background: theme.palette.background.emphasized,
37
+ background: theme.palette.background.surface,
38
38
  boxShadow: 'rgba(0, 0, 0, 0.16) 0 2px 2px',
39
39
  [responsiveMediaQuery('>xs', {
40
40
  webOnly: true