@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
@@ -19,10 +19,12 @@ const {
19
19
  export default function useLocalStorage(key, options = {}) {
20
20
  const {
21
21
  initialValue = null,
22
- sync = true
22
+ sync = true,
23
+ persist = true
23
24
  } = options;
24
25
  const storageKey = useMemo(() => `${appId}_${key}`, [key]);
25
26
  const readValue = useCallback(() => {
27
+ if (!persist) return initialValue;
26
28
  try {
27
29
  const item = window.localStorage.getItem(storageKey);
28
30
  if (item == null) return initialValue;
@@ -30,7 +32,7 @@ export default function useLocalStorage(key, options = {}) {
30
32
  } catch (error) {
31
33
  return initialValue;
32
34
  }
33
- }, [storageKey, initialValue]);
35
+ }, [storageKey, initialValue, persist]);
34
36
  const [storedValue, setStoredValue] = useState(readValue);
35
37
 
36
38
  /**
@@ -38,20 +40,25 @@ export default function useLocalStorage(key, options = {}) {
38
40
  * @param value The new value to store.
39
41
  */
40
42
  const setValue = useCallback(value => {
41
- try {
42
- const valueToStore = typeof value === 'function' ? value(readValue()) : value;
43
- setStoredValue(valueToStore);
44
- if (valueToStore == null) {
45
- window.localStorage.removeItem(storageKey);
46
- } else {
47
- window.localStorage.setItem(storageKey, JSON.stringify(valueToStore));
43
+ // Resolve an updater against the live React state, so it sees the current value whether or not
44
+ // the value is persisted (when persist is off there is nothing to read back from storage).
45
+ setStoredValue(prev => {
46
+ const valueToStore = typeof value === 'function' ? value(prev) : value;
47
+ if (!persist) return valueToStore;
48
+ try {
49
+ if (valueToStore == null) {
50
+ window.localStorage.removeItem(storageKey);
51
+ } else {
52
+ window.localStorage.setItem(storageKey, JSON.stringify(valueToStore));
53
+ }
54
+ } catch (error) {
55
+ //
48
56
  }
49
- } catch (error) {
50
- //
51
- }
52
- }, [storageKey, readValue]);
57
+ return valueToStore;
58
+ });
59
+ }, [storageKey, persist]);
53
60
  useEffect(() => {
54
- if (!sync) return undefined;
61
+ if (!sync || !persist) return undefined;
55
62
 
56
63
  /**
57
64
  * Handles cross-document localStorage updates.
@@ -78,6 +85,6 @@ export default function useLocalStorage(key, options = {}) {
78
85
  return () => {
79
86
  window.removeEventListener('storage', handleStorageChange);
80
87
  };
81
- }, [storageKey, initialValue, sync]);
88
+ }, [storageKey, initialValue, sync, persist]);
82
89
  return [storedValue, setValue];
83
90
  }
@@ -1,6 +1,14 @@
1
+ import { push, pop, replace, reset, update } from '../router/helpers';
2
+ export interface Navigation {
3
+ push: typeof push;
4
+ pop: typeof pop;
5
+ replace: typeof replace;
6
+ reset: typeof reset;
7
+ update: typeof update;
8
+ }
1
9
  /**
2
10
  * Provides functions for navigation.
3
- * @returns {Object}
11
+ * @returns The navigation functions.
4
12
  */
5
- export function useNavigation(): Object;
13
+ export declare function useNavigation(): Navigation;
6
14
  //# sourceMappingURL=useNavigation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useNavigation.d.ts","sourceRoot":"","sources":["../../../core/hooks/useNavigation.js"],"names":[],"mappings":"AAIA;;;GAGG;AACH,iCAFa,MAAM,CAUlB"}
1
+ {"version":3,"file":"useNavigation.d.ts","sourceRoot":"","sources":["../../../core/hooks/useNavigation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAClC,MAAM,mBAAmB,CAAC;AAE3B,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,IAAI,CAAC;IAClB,GAAG,EAAE,OAAO,GAAG,CAAC;IAChB,OAAO,EAAE,OAAO,OAAO,CAAC;IACxB,KAAK,EAAE,OAAO,KAAK,CAAC;IACpB,MAAM,EAAE,OAAO,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,wBAAgB,aAAa,IAAI,UAAU,CAQ1C"}
@@ -1,8 +1,7 @@
1
1
  import { push, pop, replace, reset, update } from "../router/helpers";
2
-
3
2
  /**
4
3
  * Provides functions for navigation.
5
- * @returns {Object}
4
+ * @returns The navigation functions.
6
5
  */
7
6
  export function useNavigation() {
8
7
  return {
@@ -0,0 +1,12 @@
1
+ interface SettingsStore {
2
+ dispatch: (action: unknown) => void;
3
+ }
4
+ /**
5
+ * Fetches all configured JSONP settings sources in parallel. Sources without a configured url
6
+ * are skipped. Never rejects - every source falls back to the defaults of its reducer.
7
+ * @param store Reference to the store.
8
+ * @returns A promise that resolves once all configured sources settled.
9
+ */
10
+ export declare const fetchSettings: (store: SettingsStore) => Promise<void>;
11
+ export {};
12
+ //# sourceMappingURL=fetchSettings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchSettings.d.ts","sourceRoot":"","sources":["../../../core/initialization/fetchSettings.ts"],"names":[],"mappings":"AA0BA,UAAU,aAAa;IACrB,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CACrC;AAwHD;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GAAU,OAAO,aAAa,KAAG,OAAO,CAAC,IAAI,CA0CtE,CAAC"}
@@ -0,0 +1,134 @@
1
+ import { withScope, captureMessage, Severity as SentrySeverity } from '@sentry/browser';
2
+ import appConfig from '@shopgate/pwa-common/helpers/config';
3
+ import { receiveShopSettings, errorShopSettings } from '@shopgate/engage/settings/action-creators/shopSettings';
4
+ import { receiveMerchantSettings } from '@shopgate/engage/settings/action-creators/merchantSettings';
5
+ import { receiveAppSettings } from '@shopgate/engage/settings/action-creators/appSettings';
6
+ const REQUEST_TIMEOUT = 3000;
7
+
8
+ /**
9
+ * The payload types the settings action creators declare. Derived rather than written out,
10
+ * because shopSettings and merchantSettings are untyped JS whose JSDoc describes their payload
11
+ * as `{Array}` / `{Object}` whereas the JSONP files actually send a settings object. Deriving
12
+ * keeps this file honest about the mismatch and picks up the real types once that JSDoc is fixed.
13
+ */
14
+
15
+ /**
16
+ * Injects a script tag to fetch a settings JSONP.
17
+ * @param id The script id.
18
+ * @param src The script url.
19
+ * @param onError Callback for error situations.
20
+ */
21
+ const injectScript = (id, src, onError) => {
22
+ const existingTag = document.querySelector(`#${id}`);
23
+ if (existingTag) {
24
+ existingTag.remove();
25
+ }
26
+ const scriptTag = document.createElement('script');
27
+ scriptTag.setAttribute('src', src);
28
+ scriptTag.setAttribute('id', id);
29
+ scriptTag.onerror = onError;
30
+ document.head.appendChild(scriptTag);
31
+ };
32
+
33
+ /**
34
+ * Loads a single JSONP settings source. Resolves when the payload arrived, when the script
35
+ * failed to load, or when REQUEST_TIMEOUT elapsed - it never rejects, so that no single
36
+ * source can block or delay app start indefinitely.
37
+ * @param params The loader params.
38
+ * @returns A promise that resolves once the source settled.
39
+ */
40
+ const loadJsonpSettings = params => new Promise(resolve => {
41
+ const {
42
+ id,
43
+ url,
44
+ callbackName,
45
+ onReceive,
46
+ onError
47
+ } = params;
48
+ let settled = false;
49
+ let timeout;
50
+
51
+ /**
52
+ * Resolves the promise once, whichever of payload / error / timeout comes first.
53
+ */
54
+ const settle = () => {
55
+ if (settled) {
56
+ return;
57
+ }
58
+ settled = true;
59
+ clearTimeout(timeout);
60
+ resolve();
61
+ };
62
+
63
+ // Started before the callback and the script are wired up, so that a synchronously firing
64
+ // callback / error (e.g. a data: url) settles against an already assigned timeout - otherwise
65
+ // clearTimeout would no-op and this timer would still fire a false timeout warning.
66
+ timeout = setTimeout(() => {
67
+ withScope(scope => {
68
+ scope.setLevel(SentrySeverity.Warning);
69
+ scope.setExtra('settingsUrl', url);
70
+ scope.setExtra('timeout', REQUEST_TIMEOUT);
71
+ captureMessage(`Fetching settings took too long: ${id}`);
72
+ });
73
+ settle();
74
+ }, REQUEST_TIMEOUT);
75
+
76
+ // Registered before the script is injected, since the JSONP files guard their call with
77
+ // `window.setX && window.setX(...)` - a callback assigned too late is a silent no-op.
78
+ // Deliberately never removed: the timeout may settle while the script is still in flight,
79
+ // and a payload arriving after that should still hydrate the store.
80
+ window[callbackName] = settings => {
81
+ onReceive(settings);
82
+ settle();
83
+ };
84
+ injectScript(id, url, error => {
85
+ withScope(scope => {
86
+ scope.setLevel(SentrySeverity.Error);
87
+ scope.setExtra('settingsUrl', url);
88
+ captureMessage(`Fetching settings failed: ${id}`);
89
+ });
90
+ onError?.(error);
91
+ settle();
92
+ });
93
+ });
94
+
95
+ /**
96
+ * Fetches all configured JSONP settings sources in parallel. Sources without a configured url
97
+ * are skipped. Never rejects - every source falls back to the defaults of its reducer.
98
+ * @param store Reference to the store.
99
+ * @returns A promise that resolves once all configured sources settled.
100
+ */
101
+ export const fetchSettings = async store => {
102
+ const {
103
+ settingsUrl,
104
+ merchantSettingsUrl,
105
+ appSettingsUrl
106
+ } = appConfig;
107
+ const loaders = [];
108
+ if (settingsUrl) {
109
+ loaders.push(loadJsonpSettings({
110
+ id: 'shop-settings-jsonp',
111
+ url: settingsUrl,
112
+ callbackName: 'setShopSettings',
113
+ onReceive: settings => store.dispatch(receiveShopSettings(settings)),
114
+ onError: error => store.dispatch(errorShopSettings(error))
115
+ }));
116
+ }
117
+ if (merchantSettingsUrl) {
118
+ loaders.push(loadJsonpSettings({
119
+ id: 'merchant-settings-jsonp',
120
+ url: merchantSettingsUrl,
121
+ callbackName: 'setMerchantSettings',
122
+ onReceive: settings => store.dispatch(receiveMerchantSettings(settings))
123
+ }));
124
+ }
125
+ if (appSettingsUrl) {
126
+ loaders.push(loadJsonpSettings({
127
+ id: 'app-settings-jsonp',
128
+ url: appSettingsUrl,
129
+ callbackName: 'setAppSettings',
130
+ onReceive: settings => store.dispatch(receiveAppSettings(settings))
131
+ }));
132
+ }
133
+ await Promise.all(loaders);
134
+ };
@@ -1,4 +1,35 @@
1
- export function initialize(locales: Object, reducers: Function, subscribers: any[]): Promise<{
2
- store: Object;
1
+ import type { Store as ReduxStore, UnknownAction } from 'redux';
2
+ import { configureStore } from '@shopgate/pwa-common/store';
3
+ declare global {
4
+ interface Window {
5
+ SGConnectDev?: {
6
+ isDevBrowser: boolean;
7
+ isDev: boolean;
8
+ };
9
+ }
10
+ }
11
+ /**
12
+ * The app's redux store. Assembled here because configureStore is untyped JS whose JSDoc widens
13
+ * the return value to `Object`.
14
+ *
15
+ * dispatch stays permissive rather than using redux-thunk's ThunkDispatch: the action creators
16
+ * this module dispatches are untyped JS annotated `@returns {Object}` / `{Function}`, which match
17
+ * neither UnknownAction nor ThunkAction. Tightening it here would only force casts at every call
18
+ * site - it needs the JSDoc on those action creators to be fixed first.
19
+ */
20
+ type Store = Omit<ReduxStore<unknown, UnknownAction>, 'dispatch'> & {
21
+ dispatch: (action: unknown) => unknown;
22
+ };
23
+ /**
24
+ * Initializes the app: sets up i18n, creates the store, fetches the client information and the
25
+ * dynamic settings, and runs all registered app initialization handlers.
26
+ * @param locales An object with locales.
27
+ * @param reducers The reducers from the theme.
28
+ * @param subscribers The subscribers to the streams middleware.
29
+ * @returns The initialized store.
30
+ */
31
+ export declare const initialize: (locales: Record<string, unknown>, reducers: Parameters<typeof configureStore>[0], subscribers: Parameters<typeof configureStore>[1]) => Promise<{
32
+ store: Store;
3
33
  }>;
34
+ export {};
4
35
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../core/initialization/index.js"],"names":[],"mappings":"AAuIO,oCAJI,MAAM;;GAuDhB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../core/initialization/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,IAAI,UAAU,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAqB5D,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,YAAY,CAAC,EAAE;YACb,YAAY,EAAE,OAAO,CAAC;YACtB,KAAK,EAAE,OAAO,CAAC;SAChB,CAAC;KACH;CACF;AAED;;;;;;;;GAQG;AACH,KAAK,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,UAAU,CAAC,GAAG;IAClE,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC;CACxC,CAAC;AAMF;;;;;;;GAOG;AACH,eAAO,MAAM,UAAU,GACrB,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,UAAU,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,EAC9C,aAAa,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC;;EA4ElD,CAAC"}
@@ -1,118 +1,41 @@
1
- import { withScope, captureMessage, Severity as SentrySeverity } from '@sentry/browser';
2
1
  import moment from 'moment';
3
2
  import { configureStore } from '@shopgate/pwa-common/store';
4
3
  import { appWillInit, appWillStart } from '@shopgate/pwa-common/action-creators/app';
5
4
  import { i18n, getAppBaseUrl, isDev, hasSGJavaScriptBridge, hasWebBridge } from '@shopgate/engage/core/helpers';
6
5
  import fetchClientInformation from '@shopgate/pwa-common/actions/client/fetchClientInformation';
7
- import appConfig from '@shopgate/pwa-common/helpers/config';
6
+ import { appConfig } from '@shopgate/engage';
8
7
  import { appInitialization, configuration } from '@shopgate/engage/core/collections';
9
8
  import { CONFIGURATION_COLLECTION_KEY_BASE_URL } from '@shopgate/engage/core/constants';
10
- import { loadCustomStyles } from '@shopgate/engage/styles';
11
- import { receiveShopSettings, errorShopSettings } from '@shopgate/engage/settings/action-creators/shopSettings';
12
- import { receiveMerchantSettings } from '@shopgate/engage/settings/action-creators/merchantSettings';
13
- const {
14
- locales: {
15
- currency: currencyLocale = null
16
- } = {},
17
- settingsUrl,
18
- merchantSettingsUrl
19
- } = appConfig;
20
- const REQUEST_TIMEOUT = 3000;
21
- /**
22
- * Injects a script tag to fetch the shop settings JSONP.
23
- * @param {string} id The script id
24
- * @param {string} src The script url
25
- * @param {Function} onError Callback for error situations.
26
- */
27
- const injectScript = (id, src, onError) => {
28
- let scriptTag = document.querySelector(`#${id}`);
29
- if (scriptTag) {
30
- scriptTag.remove();
31
- }
32
- scriptTag = document.createElement('script');
33
- scriptTag.setAttribute('src', src);
34
- scriptTag.setAttribute('id', id);
35
- scriptTag.onerror = onError;
36
- document.querySelector('head').appendChild(scriptTag);
37
- };
9
+ import { loadCustomStyles, loadThemeCss, loadFontCss } from '@shopgate/engage/styles';
10
+ import { getTypographyFontCssUrls } from '@shopgate/engage/settings/selectors/appSettings';
11
+ // Imported via its module path rather than the admin-preview helpers barrel, which ThemeProvider
12
+ // and loadThemeCss already import - this module reaches into the settings action creators.
13
+ import { awaitInitialFrontendSettings } from '@shopgate/engage/admin-preview/initialization/awaitInitialFrontendSettings';
14
+ import { fetchSettings } from "./fetchSettings";
38
15
 
39
16
  /**
40
- * Fetches settings
41
- * @param {Object} store Reference to the store
42
- * @returns {Promise}
17
+ * The app's redux store. Assembled here because configureStore is untyped JS whose JSDoc widens
18
+ * the return value to `Object`.
19
+ *
20
+ * dispatch stays permissive rather than using redux-thunk's ThunkDispatch: the action creators
21
+ * this module dispatches are untyped JS annotated `@returns {Object}` / `{Function}`, which match
22
+ * neither UnknownAction nor ThunkAction. Tightening it here would only force casts at every call
23
+ * site - it needs the JSDoc on those action creators to be fixed first.
43
24
  */
44
- const fetchSettings = store => new Promise((resolve, reject) => {
45
- if (!settingsUrl) {
46
- reject();
47
- return;
48
- }
49
- let timeout;
50
- let merchantReceived = null;
51
- let shopReceived = null;
52
25
 
53
- /**
54
- * Evaluates if completed.
55
- */
56
- const evaluateEnd = () => {
57
- if (!merchantReceived && merchantSettingsUrl || !shopReceived) {
58
- return;
59
- }
60
- clearTimeout(timeout);
61
- timeout = null;
62
- resolve();
63
- };
64
-
65
- // Add the callbacks for the JSONP
66
- window.setShopSettings = settings => {
67
- store.dispatch(receiveShopSettings(settings));
68
- shopReceived = true;
69
- evaluateEnd();
70
- };
71
- window.setMerchantSettings = settings => {
72
- store.dispatch(receiveMerchantSettings(settings));
73
- merchantReceived = true;
74
- evaluateEnd();
75
- };
76
-
77
- // Error handling
78
- injectScript('shop-settings-jsonp', settingsUrl, error => {
79
- withScope(scope => {
80
- scope.setLevel(SentrySeverity.Error);
81
- scope.setExtra('settingsUrl', settingsUrl);
82
- captureMessage('Fetching shop settings failed');
83
- });
84
- clearTimeout(timeout);
85
- timeout = null;
86
- store.dispatch(errorShopSettings(error));
87
- reject();
88
- });
89
- if (merchantSettingsUrl) {
90
- injectScript('merchant-settings-jsonp', merchantSettingsUrl, () => {
91
- withScope(scope => {
92
- scope.setLevel(SentrySeverity.Error);
93
- scope.setExtra('settingsUrl', merchantSettingsUrl);
94
- captureMessage('Fetching merchant settings failed');
95
- });
96
- clearTimeout(timeout);
97
- timeout = null;
98
- reject();
99
- });
100
- }
101
- timeout = setTimeout(() => {
102
- withScope(scope => {
103
- scope.setLevel(SentrySeverity.Warning);
104
- scope.setExtra('settingsUrl', settingsUrl);
105
- scope.setExtra('timeout', REQUEST_TIMEOUT);
106
- captureMessage('Fetching shop settings took too long');
107
- });
108
- }, REQUEST_TIMEOUT);
109
- });
26
+ const {
27
+ locales: {
28
+ currency: currencyLocale = null
29
+ } = {}
30
+ } = appConfig;
110
31
 
111
32
  /**
112
- *
113
- * @param {Object} locales An object with locales.
114
- * @param {Function} reducers The reducers from the theme.
115
- * @param {Array} subscribers The subscribers to the streams middleware.
33
+ * Initializes the app: sets up i18n, creates the store, fetches the client information and the
34
+ * dynamic settings, and runs all registered app initialization handlers.
35
+ * @param locales An object with locales.
36
+ * @param reducers The reducers from the theme.
37
+ * @param subscribers The subscribers to the streams middleware.
38
+ * @returns The initialized store.
116
39
  */
117
40
  export const initialize = async (locales, reducers, subscribers) => {
118
41
  moment.locale(process.env.LOCALE);
@@ -142,12 +65,30 @@ export const initialize = async (locales, reducers, subscribers) => {
142
65
  configuration.set(CONFIGURATION_COLLECTION_KEY_BASE_URL, getAppBaseUrl());
143
66
  store.dispatch(appWillInit(`${window.location.pathname}${window.location.search}`));
144
67
  try {
145
- const promises = [fetchSettings(store), loadCustomStyles()];
68
+ // The order of the style loaders does not affect the cascade: loadThemeCss and loadFontCss pin
69
+ // their links to their insertion points in the html template, while loadCustomStyles appends
70
+ // its link to the end of the head.
71
+ //
72
+ // The font css urls come from the app settings, so that loader is chained onto fetchSettings
73
+ // rather than started alongside it. Chaining keeps the other two running in parallel with the
74
+ // settings request instead of serializing everything behind it.
75
+ const promises = [fetchSettings(store).then(() => loadFontCss(getTypographyFontCssUrls(store.getState()))), loadCustomStyles(), loadThemeCss()];
146
76
  await Promise.all(promises);
147
77
  } catch (e) {
148
78
  // Nothing to see here.
149
79
  }
150
80
 
81
+ // Resolves at once outside the admin preview. Inside it, this holds app start until the admin
82
+ // sent its first settings payload, so the preview renders styled instead of painting the theme
83
+ // defaults first. Runs after fetchSettings, since the reducer merges and the preview has to be
84
+ // the later write.
85
+ await awaitInitialFrontendSettings(store);
86
+
87
+ // That payload can replace the configured font files, which were loaded above from whatever the
88
+ // jsonp settings carried, so they are synced again before anything renders. Outside the preview
89
+ // the urls are unchanged, and loadFontCss leaves the existing tags alone and resolves at once.
90
+ await loadFontCss(getTypographyFontCssUrls(store.getState()));
91
+
151
92
  // Execute all registered handlers from the AppInitialization collection
152
93
  await appInitialization.initialize({
153
94
  dispatch: store.dispatch,
@@ -0,0 +1,9 @@
1
+ import { Router } from '@virtuous/conductor';
2
+
3
+ /**
4
+ * `@virtuous/conductor` ships types for the `Router` class but not for the singleton instance it
5
+ * exports at runtime. Declared here so that TypeScript consumers can use it.
6
+ */
7
+ declare module '@virtuous/conductor' {
8
+ export const router: Router;
9
+ }
@@ -1,30 +1,43 @@
1
+ export interface NavigationState {
2
+ target?: string;
3
+ [key: string]: unknown;
4
+ }
5
+ export interface NavigationParams {
6
+ pathname: string;
7
+ state?: NavigationState;
8
+ silent?: boolean;
9
+ }
10
+ export interface PopParams {
11
+ steps?: number;
12
+ state?: NavigationState;
13
+ }
14
+ export declare const NAVIGATION_PUSH = "navigation.push";
15
+ export declare const NAVIGATION_POP = "navigation.pop";
16
+ export declare const NAVIGATION_REPLACE = "navigation.replace";
17
+ export declare const NAVIGATION_RESET = "navigation.reset";
1
18
  /**
2
19
  * Performs the PUSH navigation action.
3
- * @param {Object} params The history params.
20
+ * @param params The history params.
4
21
  */
5
- export function push(params: Object): void;
22
+ export declare function push(params: NavigationParams): void;
6
23
  /**
7
24
  * Performs the POP navigation action.
25
+ * @param params The history params. Pass `steps` to pop more than one route.
8
26
  */
9
- export function pop(): void;
27
+ export declare function pop(params?: PopParams): void;
10
28
  /**
11
29
  * Performs the REPLACE navigation action.
12
- * @param {Object} params The history params.
30
+ * @param params The history params.
13
31
  */
14
- export function replace(params: Object): void;
32
+ export declare function replace(params: NavigationParams): void;
15
33
  /**
16
34
  * Performs the RESET navigation action.
17
- * @param {Object} params The history params.
18
35
  */
19
- export function reset(): void;
36
+ export declare function reset(): void;
20
37
  /**
21
- * Performs the UPDATE navigation action.
22
- * @param {Object} state The meta state to add to a existing route.
23
- * @param {string} [routeId] The ID of the route to update.
38
+ * Adds meta state to an existing route.
39
+ * @param state The meta state to merge into the route.
40
+ * @param routeId The ID of the route to update. Defaults to the current route.
24
41
  */
25
- export function update(state: Object, routeId?: string): void;
26
- export const NAVIGATION_PUSH: "navigation.push";
27
- export const NAVIGATION_POP: "navigation.pop";
28
- export const NAVIGATION_REPLACE: "navigation.replace";
29
- export const NAVIGATION_RESET: "navigation.reset";
42
+ export declare function update(state: NavigationState, routeId?: string): void;
30
43
  //# sourceMappingURL=helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../core/router/helpers.js"],"names":[],"mappings":"AAQA;;;GAGG;AACH,6BAFW,MAAM,QAIhB;AAED;;GAEG;AACH,4BAEC;AAED;;;GAGG;AACH,gCAFW,MAAM,QAIhB;AAED;;;GAGG;AACH,8BAEC;AAED;;;;GAIG;AACH,8BAHW,MAAM,YACN,MAAM,QAIhB;AA3CD,8BAA+B,iBAAiB,CAAC;AACjD,6BAA8B,gBAAgB,CAAC;AAC/C,iCAAkC,oBAAoB,CAAC;AACvD,+BAAgC,kBAAkB,CAAC"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../core/router/helpers.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,eAAe,CAAC;CACzB;AAED,eAAO,MAAM,eAAe,oBAAoB,CAAC;AACjD,eAAO,MAAM,cAAc,mBAAmB,CAAC;AAC/C,eAAO,MAAM,kBAAkB,uBAAuB,CAAC;AACvD,eAAO,MAAM,gBAAgB,qBAAqB,CAAC;AAEnD;;;GAGG;AACH,wBAAgB,IAAI,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAEnD;AAED;;;GAGG;AACH,wBAAgB,GAAG,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG,IAAI,CAE5C;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAEtD;AAED;;GAEG;AACH,wBAAgB,KAAK,IAAI,IAAI,CAE5B;AAED;;;;GAIG;AACH,wBAAgB,MAAM,CACpB,KAAK,EAAE,eAAe,EACtB,OAAO,GAAE,MAAoC,GAC5C,IAAI,CAEN"}
@@ -7,7 +7,7 @@ export const NAVIGATION_RESET = 'navigation.reset';
7
7
 
8
8
  /**
9
9
  * Performs the PUSH navigation action.
10
- * @param {Object} params The history params.
10
+ * @param params The history params.
11
11
  */
12
12
  export function push(params) {
13
13
  UIEvents.emit(NAVIGATION_PUSH, params);
@@ -15,14 +15,15 @@ export function push(params) {
15
15
 
16
16
  /**
17
17
  * Performs the POP navigation action.
18
+ * @param params The history params. Pass `steps` to pop more than one route.
18
19
  */
19
- export function pop() {
20
- UIEvents.emit(NAVIGATION_POP);
20
+ export function pop(params) {
21
+ UIEvents.emit(NAVIGATION_POP, params);
21
22
  }
22
23
 
23
24
  /**
24
25
  * Performs the REPLACE navigation action.
25
- * @param {Object} params The history params.
26
+ * @param params The history params.
26
27
  */
27
28
  export function replace(params) {
28
29
  UIEvents.emit(NAVIGATION_REPLACE, params);
@@ -30,16 +31,15 @@ export function replace(params) {
30
31
 
31
32
  /**
32
33
  * Performs the RESET navigation action.
33
- * @param {Object} params The history params.
34
34
  */
35
35
  export function reset() {
36
36
  UIEvents.emit(NAVIGATION_RESET);
37
37
  }
38
38
 
39
39
  /**
40
- * Performs the UPDATE navigation action.
41
- * @param {Object} state The meta state to add to a existing route.
42
- * @param {string} [routeId] The ID of the route to update.
40
+ * Adds meta state to an existing route.
41
+ * @param state The meta state to merge into the route.
42
+ * @param routeId The ID of the route to update. Defaults to the current route.
43
43
  */
44
44
  export function update(state, routeId = router.getCurrentRoute().id) {
45
45
  router.update(routeId, state);
@@ -0,0 +1,3 @@
1
+ export * from './settings';
2
+ export * from './storage';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../development/action-creators/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Toggles the simulation of iOS safe area insets.
3
+ * @param visible Whether the insets should be visible or not.
4
+ * @returns The action object.
5
+ */
6
+ export declare const toggleInsets: (visible?: boolean) => {
7
+ readonly type: "DEVELOPMENT_TOOLS_TOGGLE_INSETS";
8
+ readonly visible: boolean;
9
+ };
10
+ export type ToggleInsetsAction = ReturnType<typeof toggleInsets>;
11
+ /**
12
+ * Toggles the highlighting of the simulated iOS safe area insets.
13
+ * @param visible Whether the insets should be visible or not.
14
+ * @returns The action object.
15
+ */
16
+ export declare const toggleInsetHighlight: (visible?: boolean) => {
17
+ readonly type: "DEVELOPMENT_TOOLS_TOGGLE_INSET_HIGHLIGHT";
18
+ readonly visible: boolean;
19
+ };
20
+ export type ToggleInsetHighlightAction = ReturnType<typeof toggleInsetHighlight>;
21
+ /**
22
+ * Toggles the CMS 2.0 preview mode.
23
+ * @param enabled Whether the CMS 2.0 preview should be enabled or not.
24
+ * @returns The action object.
25
+ */
26
+ export declare const toggleCms2Preview: (enabled?: boolean) => {
27
+ readonly type: "DEVELOPMENT_TOOLS_TOGGLE_CMS2_PREVIEW";
28
+ readonly enabled: boolean;
29
+ };
30
+ export type ToggleCms2PreviewAction = ReturnType<typeof toggleCms2Preview>;
31
+ /**
32
+ * Toggles whether a color scheme can be selected without the app settings allowing it.
33
+ * @param enabled Whether the selection should be enabled or not.
34
+ * @returns The action object.
35
+ */
36
+ export declare const toggleColorSchemeSelection: (enabled?: boolean) => {
37
+ readonly type: "DEVELOPMENT_TOOLS_TOGGLE_COLOR_SCHEME_SELECTION";
38
+ readonly enabled: boolean;
39
+ };
40
+ export type ToggleColorSchemeSelectionAction = ReturnType<typeof toggleColorSchemeSelection>;
41
+ /**
42
+ * Every action the development settings reducer handles.
43
+ */
44
+ export type DevelopmentSettingsAction = ToggleInsetsAction | ToggleInsetHighlightAction | ToggleCms2PreviewAction | ToggleColorSchemeSelectionAction;
45
+ //# sourceMappingURL=settings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../development/action-creators/settings.ts"],"names":[],"mappings":"AAOA;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAI,iBAAc;;;CAGhC,CAAC;AAEZ,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;AAEjE;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAAI,iBAAc;;;CAGxC,CAAC;AAEZ,MAAM,MAAM,0BAA0B,GAAG,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAEjF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAAI,iBAAc;;;CAGrC,CAAC;AAEZ,MAAM,MAAM,uBAAuB,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE3E;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,GAAI,iBAAc;;;CAG9C,CAAC;AAEZ,MAAM,MAAM,gCAAgC,GAAG,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE7F;;GAEG;AACH,MAAM,MAAM,yBAAyB,GACjC,kBAAkB,GAClB,0BAA0B,GAC1B,uBAAuB,GACvB,gCAAgC,CAAC"}