@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
@@ -37,8 +37,8 @@ declare const _default: import("react-redux").ConnectedComponent<{
37
37
  formContainerRef: null;
38
38
  };
39
39
  }, {
40
- children: NonNullable<PropTypes.ReactNodeLike>;
41
40
  push: (...args: any[]) => any;
41
+ children: NonNullable<PropTypes.ReactNodeLike>;
42
42
  userLocation: NonNullable<PropTypes.InferProps<PropTypes.ValidationMap<any>>>;
43
43
  fetchContacts: (...args: any[]) => any;
44
44
  deleteContact: (...args: any[]) => any;
@@ -1 +1 @@
1
- {"version":3,"file":"ProfileAddressBook.d.ts","sourceRoot":"","sources":["../../../../account/components/Profile/ProfileAddressBook.jsx"],"names":[],"mappings":";;;QAsDa,GAAG;;;;;;;;;;sBApDM,YAAY"}
1
+ {"version":3,"file":"ProfileAddressBook.d.ts","sourceRoot":"","sources":["../../../../account/components/Profile/ProfileAddressBook.jsx"],"names":[],"mappings":";;;QA8Ca,GAAG;;;;;;;;;;sBA5CM,YAAY"}
@@ -3,7 +3,8 @@ import { connect } from 'react-redux';
3
3
  import PropTypes from 'prop-types';
4
4
  import { i18n, historyPush } from '@shopgate/engage/core';
5
5
  import { makeStyles, responsiveMediaQuery } from '@shopgate/engage/styles';
6
- import { RippleButton, Typography } from '@shopgate/engage/components';
6
+ import { Typography } from '@shopgate/engage/components';
7
+ import { Button } from '@shopgate/engage/components/v2';
7
8
  import AddressCard from "./ProfileAddressCard";
8
9
  import { useProfileContext } from "./Profile.provider";
9
10
  import { PROFILE_ADDRESS_PATH } from "../../constants/routes";
@@ -16,7 +17,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
16
17
  const mapDispatchToProps = dispatch => ({
17
18
  push: props => dispatch(historyPush(props))
18
19
  });
19
- const useStyles = makeStyles()(theme => ({
20
+ const useStyles = makeStyles()(() => ({
20
21
  container: {
21
22
  display: 'flex',
22
23
  flexDirection: 'row',
@@ -24,25 +25,16 @@ const useStyles = makeStyles()(theme => ({
24
25
  margin: -4
25
26
  },
26
27
  button: {
27
- '&&': {
28
- marginTop: 8,
29
- marginRight: 16,
30
- backgroundColor: theme.palette.primary.main,
31
- borderRadius: 5,
32
- fontSize: theme.typography.body2.fontSize,
33
- textTransform: 'none',
34
- padding: 0,
35
- [responsiveMediaQuery('<md', {
36
- webOnly: false
37
- })]: {
38
- width: '100%',
39
- marginRight: 0
40
- }
28
+ marginTop: 8,
29
+ textTransform: 'none',
30
+ marginRight: 16,
31
+ [responsiveMediaQuery('<md', {
32
+ webOnly: false
33
+ })]: {
34
+ width: '100%',
35
+ marginRight: 0
41
36
  }
42
37
  },
43
- ripple: {
44
- padding: '8px 16px'
45
- },
46
38
  actions: {
47
39
  display: 'flex',
48
40
  justifyContent: 'flex-end',
@@ -86,10 +78,9 @@ const ProfileAddressBook = ({
86
78
  }, contact.id))
87
79
  }), /*#__PURE__*/_jsx("div", {
88
80
  className: classes.actions,
89
- children: /*#__PURE__*/_jsx(RippleButton, {
81
+ children: /*#__PURE__*/_jsx(Button, {
82
+ color: "primary",
90
83
  className: classes.button,
91
- rippleClassName: classes.ripple,
92
- type: "primary",
93
84
  onClick: () => push({
94
85
  pathname: PROFILE_ADDRESS_PATH
95
86
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"ProfileAddressCard.d.ts","sourceRoot":"","sources":["../../../../account/components/Profile/ProfileAddressCard.jsx"],"names":[],"mappings":";AAwEA;;GAEG;AACH;;;;;;IAFa,GAAG,CAkGf;;;;;;;;;;;;;;;;sBA1KqB,YAAY"}
1
+ {"version":3,"file":"ProfileAddressCard.d.ts","sourceRoot":"","sources":["../../../../account/components/Profile/ProfileAddressCard.jsx"],"names":[],"mappings":";AA+DA;;GAEG;AACH;;;;;;IAFa,GAAG,CAkGf;;;;;;;;;;;;;;;;sBAjKqB,YAAY"}
@@ -3,11 +3,13 @@ import PropTypes from 'prop-types';
3
3
  import { i18n } from '@shopgate/engage/core/helpers';
4
4
  import { makeStyles, responsiveMediaQuery } from '@shopgate/engage/styles';
5
5
  import { useAddressBook, ADDRESS_TYPE_BILLING, ADDRESS_TYPE_SHIPPING } from '@shopgate/engage/checkout';
6
- import { RippleButton, Card, ContextMenu, Typography } from '@shopgate/engage/components';
6
+ import { Card, ContextMenu, Typography } from '@shopgate/engage/components';
7
+ import { Button } from '@shopgate/engage/components/v2';
7
8
  import iso3166 from "../../../components/Form/Builder/helpers/iso-3166-2";
8
9
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
- const useStyles = makeStyles()(theme => ({
10
+ const useStyles = makeStyles()(() => ({
10
11
  root: {
12
+ margin: '5px 5px 10px',
11
13
  padding: 16,
12
14
  display: 'flex',
13
15
  flexDirection: 'column',
@@ -54,19 +56,8 @@ const useStyles = makeStyles()(theme => ({
54
56
  flex: 1
55
57
  },
56
58
  button: {
57
- '&&:disabled': {
58
- padding: '8px 0'
59
- },
60
- '&&': {
61
- marginTop: 8,
62
- borderRadius: 5,
63
- fontSize: theme.typography.body2.fontSize,
64
- padding: 0,
65
- textTransform: 'none'
66
- }
67
- },
68
- ripple: {
69
- padding: '8px 16px'
59
+ marginTop: 8,
60
+ textTransform: 'none'
70
61
  }
71
62
  }));
72
63
 
@@ -160,10 +151,10 @@ const ProfileAddressCard = ({
160
151
  }) : null]
161
152
  }), /*#__PURE__*/_jsx("div", {
162
153
  className: cx(classes.column, classes.selectButtonColumn),
163
- children: isCheckout ? /*#__PURE__*/_jsx(RippleButton, {
154
+ children: isCheckout ? /*#__PURE__*/_jsx(Button, {
155
+ color: "primary",
156
+ size: "small",
164
157
  className: classes.button,
165
- rippleClassName: classes.ripple,
166
- type: "secondary",
167
158
  disabled: selected,
168
159
  onClick: selectContact,
169
160
  children: i18n.text(`account.profile.address_book.${selected ? 'selected' : 'select'}`)
@@ -1 +1 @@
1
- {"version":3,"file":"ProfileForm.d.ts","sourceRoot":"","sources":["../../../../account/components/Profile/ProfileForm.jsx"],"names":[],"mappings":";AAmEA;;GAEG;AACH,qFAgEG;kBAtIqD,OAAO"}
1
+ {"version":3,"file":"ProfileForm.d.ts","sourceRoot":"","sources":["../../../../account/components/Profile/ProfileForm.jsx"],"names":[],"mappings":";AA2CA;;GAEG;AACH,qFA+DG;kBA7GqD,OAAO"}
@@ -1,7 +1,8 @@
1
1
  import React, { useMemo, useCallback, forwardRef } from 'react';
2
2
  import { i18n } from '@shopgate/engage/core/helpers';
3
3
  import { makeStyles, responsiveMediaQuery } from '@shopgate/engage/styles';
4
- import { FormBuilder, RippleButton } from '@shopgate/engage/components';
4
+ import { FormBuilder } from '@shopgate/engage/components';
5
+ import { Button } from '@shopgate/engage/components/v2';
5
6
  import { StylePresets } from '@shopgate/engage/components/Form';
6
7
  import { useProfileContext } from "./Profile.provider";
7
8
  import generateFormConfig from "./Profile.config";
@@ -24,42 +25,15 @@ const useStyles = makeStyles()(theme => ({
24
25
  }
25
26
  },
26
27
  button: {
27
- '&&': {
28
- marginTop: 8,
29
- marginRight: 16,
30
- backgroundColor: theme.palette.primary.main,
31
- borderRadius: 5,
32
- fontSize: theme.typography.body2.fontSize,
33
- textTransform: 'none',
34
- padding: 0,
35
- [responsiveMediaQuery('<md', {
36
- webOnly: false
37
- })]: {
38
- marginRight: 0
39
- }
40
- }
41
- },
42
- buttonDelete: {
43
- '&&': {
44
- marginTop: 8,
45
- marginRight: 16,
46
- border: `1px solid ${theme.palette.error.main}`,
47
- backgroundColor: theme.palette.common.white,
48
- color: theme.palette.error.main,
49
- borderRadius: 5,
50
- fontSize: theme.typography.body2.fontSize,
51
- textTransform: 'none',
52
- padding: 0,
53
- [responsiveMediaQuery('<md', {
54
- webOnly: false
55
- })]: {
56
- marginRight: 0
57
- }
28
+ marginTop: 8,
29
+ textTransform: 'none',
30
+ marginRight: 16,
31
+ [responsiveMediaQuery('<md', {
32
+ webOnly: false
33
+ })]: {
34
+ marginRight: 0
58
35
  }
59
36
  },
60
- ripple: {
61
- padding: '8px 16px'
62
- },
63
37
  actions: {
64
38
  display: 'flex',
65
39
  justifyContent: 'flex-end',
@@ -119,16 +93,15 @@ const ProfileForm = /*#__PURE__*/forwardRef((_, ref) => {
119
93
  handleUpdate: handleUpdate
120
94
  }), /*#__PURE__*/_jsxs("div", {
121
95
  className: classes.actions,
122
- children: [/*#__PURE__*/_jsx(RippleButton, {
123
- className: classes.buttonDelete,
124
- rippleClassName: classes.ripple,
125
- type: "primary",
96
+ children: [/*#__PURE__*/_jsx(Button, {
97
+ variant: "outlined",
98
+ color: "error",
99
+ className: classes.button,
126
100
  onClick: deleteCustomer,
127
101
  children: i18n.text('account.profile.delete')
128
- }), /*#__PURE__*/_jsx(RippleButton, {
102
+ }), /*#__PURE__*/_jsx(Button, {
103
+ color: "primary",
129
104
  className: classes.button,
130
- rippleClassName: classes.ripple,
131
- type: "primary",
132
105
  onClick: saveForm,
133
106
  children: i18n.text('account.profile.form.save')
134
107
  })]
@@ -9,7 +9,8 @@ import { convertValidationErrors, useFormState } from '@shopgate/engage/core/hoo
9
9
  import { makeStyles, responsiveMediaQuery } from '@shopgate/engage/styles';
10
10
  import { getShopSettings } from '@shopgate/engage/core/config';
11
11
  import { getPreferredLocationAddress } from '@shopgate/engage/locations/selectors';
12
- import { FormBuilder, RippleButton } from '@shopgate/engage/components';
12
+ import { FormBuilder } from '@shopgate/engage/components';
13
+ import { Button } from '@shopgate/engage/components/v2';
13
14
  import { StylePresets } from '@shopgate/engage/components/Form';
14
15
  import { LoadingProvider } from '@shopgate/pwa-common/providers';
15
16
  import { useAddressBook } from '@shopgate/engage/checkout';
@@ -61,25 +62,16 @@ const useStyles = makeStyles()(theme => ({
61
62
  }
62
63
  },
63
64
  button: {
64
- '&&': {
65
- marginTop: 8,
66
- marginRight: 16,
67
- backgroundColor: theme.palette.primary.main,
68
- borderRadius: 5,
69
- fontSize: theme.typography.body2.fontSize,
70
- textTransform: 'none',
71
- padding: 0,
72
- [responsiveMediaQuery('<md', {
73
- webOnly: false
74
- })]: {
75
- width: '100%',
76
- marginRight: 0
77
- }
65
+ marginTop: 8,
66
+ textTransform: 'none',
67
+ marginRight: 16,
68
+ [responsiveMediaQuery('<md', {
69
+ webOnly: false
70
+ })]: {
71
+ width: '100%',
72
+ marginRight: 0
78
73
  }
79
74
  },
80
- ripple: {
81
- padding: '8px 16px'
82
- },
83
75
  actions: {
84
76
  display: 'flex',
85
77
  justifyContent: 'flex-end',
@@ -191,10 +183,10 @@ const ProfileContact = ({
191
183
  handleUpdate: handleUpdate
192
184
  }), /*#__PURE__*/_jsx("div", {
193
185
  className: classes.actions,
194
- children: /*#__PURE__*/_jsx(RippleButton, {
186
+ children: /*#__PURE__*/_jsx(Button, {
187
+ color: "primary",
188
+ size: "small",
195
189
  className: classes.button,
196
- rippleClassName: classes.ripple,
197
- type: "primary",
198
190
  onClick: formState.handleSubmit,
199
191
  children: i18n.text('account.profile.form.save')
200
192
  })
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * Headless bridge that connects the app to the admin frontend settings preview. It listens for
3
- * messages from the parent window and applies the received styling while in preview mode.
3
+ * messages from the parent window and applies the received styling, app settings and color scheme
4
+ * while in preview mode.
4
5
  */
5
6
  declare const FrontendSettingsPreviewBridge: () => null;
6
7
  export default FrontendSettingsPreviewBridge;
@@ -1 +1 @@
1
- {"version":3,"file":"FrontendSettingsPreviewBridge.d.ts","sourceRoot":"","sources":["../../../../admin-preview/components/FrontendSettingsPreviewBridge/FrontendSettingsPreviewBridge.tsx"],"names":[],"mappings":"AAeA;;;GAGG;AACH,QAAA,MAAM,6BAA6B,YAgClC,CAAC;AAEF,eAAe,6BAA6B,CAAC"}
1
+ {"version":3,"file":"FrontendSettingsPreviewBridge.d.ts","sourceRoot":"","sources":["../../../../admin-preview/components/FrontendSettingsPreviewBridge/FrontendSettingsPreviewBridge.tsx"],"names":[],"mappings":"AAyBA;;;;GAIG;AACH,QAAA,MAAM,6BAA6B,YAgFlC,CAAC;AAEF,eAAe,6BAA6B,CAAC"}
@@ -1,25 +1,58 @@
1
- import { useEffect, useState } from 'react';
2
- import { useDispatch } from 'react-redux';
1
+ import "core-js/modules/es.array.includes.js";
2
+ import { useEffect, useRef, useState } from 'react';
3
+ import { useDispatch, useSelector } from 'react-redux';
3
4
  import { useIframeMessenger } from '@shopgate/engage/admin-preview/hooks';
4
5
  import { ALLOWED_ADMIN_PREVIEW_ORIGINS } from '@shopgate/engage/admin-preview/constants';
5
6
  import { receiveAppSettings } from '@shopgate/engage/settings/action-creators/appSettings';
7
+ import { getTypographyFontCssUrls } from '@shopgate/engage/settings/selectors/appSettings';
8
+ import { logger } from '@shopgate/engage/core/helpers';
9
+ // Imported via their module paths, since the "styles" barrel pulls in the ThemeProvider which
10
+ // renders this component, and would therefore create a circular import.
11
+ import useColorScheme from '@shopgate/engage/styles/theme/hooks/useColorScheme';
12
+ import { loadFontCss } from '@shopgate/engage/styles/helpers/loadFontCss';
13
+ import { getInitialFrontendSettingsStyling, hasInitialFrontendSettings } from "../../initialization/_internal/initialFrontendSettings";
6
14
  import { getOrCreateStyleTag, removeStyleTag, serializeStyling } from "./helpers";
7
15
 
8
16
  /**
9
17
  * Headless bridge that connects the app to the admin frontend settings preview. It listens for
10
- * messages from the parent window and applies the received styling while in preview mode.
18
+ * messages from the parent window and applies the received styling, app settings and color scheme
19
+ * while in preview mode.
11
20
  */
12
21
  const FrontendSettingsPreviewBridge = () => {
13
- const [styling, setStyling] = useState(null);
22
+ const [styling, setStyling] = useState(getInitialFrontendSettingsStyling);
23
+ const [applied, setApplied] = useState(hasInitialFrontendSettings);
24
+ const announcedRef = useRef(false);
25
+ const fontCssSyncRef = useRef(Promise.resolve());
14
26
  const dispatch = useDispatch();
27
+ const {
28
+ setMode,
29
+ modes
30
+ } = useColorScheme();
31
+ const fontCssUrls = useSelector(getTypographyFontCssUrls);
15
32
  const {
16
33
  sendToParent
17
34
  } = useIframeMessenger(data => {
18
35
  if (data.type === 'receiveFrontendSettings') {
19
- setStyling(data.payload?.styling ?? null);
36
+ // Dispatched before the local state, because the font css urls are derived from it. A message
37
+ // listener runs outside React's batching, so setting `applied` first would announce the
38
+ // preview against the previous urls.
20
39
  if (data.payload?.appSettings) {
21
40
  dispatch(receiveAppSettings(data.payload.appSettings));
22
41
  }
42
+ setStyling(data.payload?.styling ?? null);
43
+ setApplied(true);
44
+ }
45
+ if (data.type === 'setColorScheme') {
46
+ const colorScheme = data.payload?.colorScheme;
47
+
48
+ // setMode rejects unsupported schemes as well, but this message arrives from another origin,
49
+ // so it is worth naming the admin as the source of the bad value. The `colorScheme` guard also
50
+ // narrows away the defensive `undefined`, so the check and `setMode` typecheck strictly.
51
+ if (!colorScheme || !modes.includes(colorScheme)) {
52
+ logger.warn(`FrontendSettingsPreviewBridge: received unsupported color scheme "${colorScheme}"`);
53
+ return;
54
+ }
55
+ setMode(colorScheme);
23
56
  }
24
57
  }, ALLOWED_ADMIN_PREVIEW_ORIGINS);
25
58
  useEffect(() => {
@@ -27,6 +60,12 @@ const FrontendSettingsPreviewBridge = () => {
27
60
  type: 'frontendSettingsPreviewReady'
28
61
  });
29
62
  }, [sendToParent]);
63
+
64
+ // App start already loaded the configured files. This keeps them in sync while the merchant
65
+ // edits, since loadFontCss adds, keeps and removes link tags to match the urls it is given.
66
+ useEffect(() => {
67
+ fontCssSyncRef.current = loadFontCss(fontCssUrls);
68
+ }, [fontCssUrls]);
30
69
  useEffect(() => {
31
70
  if (!styling) {
32
71
  removeStyleTag();
@@ -34,6 +73,23 @@ const FrontendSettingsPreviewBridge = () => {
34
73
  }
35
74
  getOrCreateStyleTag().textContent = serializeStyling(styling);
36
75
  }, [styling]);
76
+
77
+ // Declared after the styling and font effects so both have run for the applied payload before the
78
+ // admin is told it can drop its overlay - effects run in declaration order, and React defers them
79
+ // until after the browser painted. The font sync is awaited on top: app start already waited for
80
+ // the configured files, but when it timed out the first payload can introduce one here, and
81
+ // announcing before it loaded would expose the fallback font repaint the overlay exists to hide.
82
+ useEffect(() => {
83
+ if (!applied || announcedRef.current) {
84
+ return;
85
+ }
86
+ announcedRef.current = true;
87
+ fontCssSyncRef.current.then(() => {
88
+ sendToParent({
89
+ type: 'frontendSettingsPreviewApplied'
90
+ });
91
+ });
92
+ }, [applied, sendToParent]);
37
93
  useEffect(() => () => {
38
94
  removeStyleTag();
39
95
  }, []);
@@ -8,7 +8,13 @@ export declare const PREVIEW_STYLE_TAG_ID = "frontend-settings-preview-overrides
8
8
  */
9
9
  export declare const serializeStyling: (styling: FrontendSettingsStyling) => string;
10
10
  /**
11
- * Returns the existing preview style tag or creates it in the document head.
11
+ * Returns the existing preview style tag or creates it at the preview css insertion point, which
12
+ * the html template declares directly below the theme css one. The preview has to override both
13
+ * the defaults that theme initialization generates and the theme css file, and since all three
14
+ * have the same specificity, only document order decides.
15
+ *
16
+ * Falls back to appending when the meta is absent, which is where the tag used to live before the
17
+ * insertion points existed.
12
18
  *
13
19
  * @returns The style element used for frontend settings preview overrides.
14
20
  */
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../admin-preview/components/FrontendSettingsPreviewBridge/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAuB,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAE5E,eAAO,MAAM,oBAAoB,wCAAwC,CAAC;AAuB1E;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAAI,SAAS,uBAAuB,WAiBpD,CAAC;AAEd;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,wBAW/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,YAG1B,CAAC"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../admin-preview/components/FrontendSettingsPreviewBridge/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAuB,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAE5E,eAAO,MAAM,oBAAoB,wCAAwC,CAAC;AAyB1E;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAAI,SAAS,uBAAuB,WAiBpD,CAAC;AAEd;;;;;;;;;;GAUG;AACH,eAAO,MAAM,mBAAmB,wBAkB/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,YAG1B,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import "core-js/modules/es.string.replace.js";
2
2
  export const PREVIEW_STYLE_TAG_ID = 'frontend-settings-preview-overrides';
3
+ const INSERTION_POINT_SELECTOR = 'meta[name="preview-css-insertion-point"]';
3
4
  const UNITLESS_PROPERTIES = new Set(['font-weight', 'line-height', 'opacity', 'z-index', 'flex', 'flex-grow', 'flex-shrink', 'order']);
4
5
  const toKebabCase = property => property.replace(/[A-Z]/g, character => `-${character.toLowerCase()}`);
5
6
  const stringifyValue = (property, value) => {
@@ -25,7 +26,13 @@ export const serializeStyling = styling => Object.entries(styling).map(([selecto
25
26
  }).filter(Boolean).join('\n');
26
27
 
27
28
  /**
28
- * Returns the existing preview style tag or creates it in the document head.
29
+ * Returns the existing preview style tag or creates it at the preview css insertion point, which
30
+ * the html template declares directly below the theme css one. The preview has to override both
31
+ * the defaults that theme initialization generates and the theme css file, and since all three
32
+ * have the same specificity, only document order decides.
33
+ *
34
+ * Falls back to appending when the meta is absent, which is where the tag used to live before the
35
+ * insertion points existed.
29
36
  *
30
37
  * @returns The style element used for frontend settings preview overrides.
31
38
  */
@@ -35,7 +42,12 @@ export const getOrCreateStyleTag = () => {
35
42
  styleTag = document.createElement('style');
36
43
  styleTag.setAttribute('id', PREVIEW_STYLE_TAG_ID);
37
44
  styleTag.setAttribute('type', 'text/css');
38
- document.head.appendChild(styleTag);
45
+ const insertionPoint = document.querySelector(INSERTION_POINT_SELECTOR);
46
+ if (insertionPoint) {
47
+ insertionPoint.parentNode?.insertBefore(styleTag, insertionPoint.nextSibling);
48
+ } else {
49
+ document.head.appendChild(styleTag);
50
+ }
39
51
  }
40
52
  return styleTag;
41
53
  };
@@ -1,14 +1,27 @@
1
- import type { AppSettings } from '@shopgate/engage/settings/types/appSettings';
1
+ import type { AppSettingsPayload } from '@shopgate/engage/settings/types/appSettings';
2
+ import type { ColorSchemeName } from '@shopgate/engage/styles/theme/createTheme';
2
3
  export type CSSDeclarationValue = string | number;
3
4
  export type FrontendSettingsStyling = Record<string, Record<string, CSSDeclarationValue>>;
4
5
  export type FrontendSettingsPreviewBridgeMessage = {
5
6
  type: 'receiveFrontendSettings';
6
7
  payload?: {
7
8
  styling?: FrontendSettingsStyling;
8
- appSettings?: AppSettings;
9
+ appSettings?: AppSettingsPayload;
10
+ };
11
+ } | {
12
+ type: 'setColorScheme';
13
+ payload: {
14
+ colorScheme: ColorSchemeName;
9
15
  };
10
16
  } | {
11
17
  type: 'frontendSettingsPreviewReady';
12
18
  payload?: never;
19
+ } | {
20
+ /**
21
+ * Outbound. Announces that the first settings payload has been applied and the app rendered
22
+ * with it, so the admin can drop the loading overlay it shows while the preview boots.
23
+ */
24
+ type: 'frontendSettingsPreviewApplied';
25
+ payload?: never;
13
26
  };
14
27
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../admin-preview/components/FrontendSettingsPreviewBridge/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6CAA6C,CAAC;AAE/E,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,MAAM,CAAC;AAClD,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC;AAE1F,MAAM,MAAM,oCAAoC,GAC5C;IACA,IAAI,EAAE,yBAAyB,CAAC;IAChC,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,uBAAuB,CAAC;QAClC,WAAW,CAAC,EAAE,WAAW,CAAC;KAC3B,CAAC;CACH,GACC;IACA,IAAI,EAAE,8BAA8B,CAAC;IACrC,OAAO,CAAC,EAAE,KAAK,CAAC;CACjB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../admin-preview/components/FrontendSettingsPreviewBridge/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AACtF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAEjF,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,MAAM,CAAC;AAClD,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC;AAE1F,MAAM,MAAM,oCAAoC,GAC5C;IACA,IAAI,EAAE,yBAAyB,CAAC;IAChC,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,uBAAuB,CAAC;QAClC,WAAW,CAAC,EAAE,kBAAkB,CAAC;KAClC,CAAC;CACH,GACC;IACA,IAAI,EAAE,gBAAgB,CAAC;IACvB,OAAO,EAAE;QACP,WAAW,EAAE,eAAe,CAAC;KAC9B,CAAC;CACH,GACC;IACA,IAAI,EAAE,8BAA8B,CAAC;IACrC,OAAO,CAAC,EAAE,KAAK,CAAC;CACjB,GACC;IACA;;;OAGG;IACH,IAAI,EAAE,gCAAgC,CAAC;IACvC,OAAO,CAAC,EAAE,KAAK,CAAC;CACjB,CAAC"}
@@ -1,27 +1,14 @@
1
- export { PAGE_PREVIEW_PATTERN } from '../detection';
1
+ export declare const PAGE_PREVIEW_PATTERN = "/shopgate-internal-page-preview";
2
2
  /**
3
- * Whether the app is currently in page admin preview mode.
3
+ * List of allowed origin patterns for admin preview iFrame communication. Both directions are
4
+ * validated against these patterns: incoming messages are only processed when their origin matches,
5
+ * and outgoing messages are only posted to a matching origin - either the origin of the last
6
+ * accepted incoming message, or the origin of the embedding document.
4
7
  *
5
- * Snapshot taken when this module is first evaluated. Prefer the isPageAdminPreviewActive()
6
- * helper, which re-evaluates on every call.
7
- */
8
- export declare const IS_PAGE_ADMIN_PREVIEW_ACTIVE: boolean;
9
- /**
10
- * Whether the app is currently in frontend settings admin preview mode.
11
- *
12
- * Snapshot taken when this module is first evaluated. Prefer the
13
- * isFrontendSettingsAdminPreviewActive() helper, which re-evaluates on every call.
14
- */
15
- export declare const IS_FRONTEND_SETTINGS_ADMIN_PREVIEW_ACTIVE: boolean;
16
- /**
17
- * Whether the app is currently in admin preview mode (pages or frontend settings).
18
- *
19
- * Snapshot taken when this module is first evaluated. Prefer the isAdminPreviewActive() helper,
20
- * which re-evaluates on every call.
21
- */
22
- export declare const IS_ADMIN_PREVIEW_ACTIVE: boolean;
23
- /**
24
- * List of allowed origins for cms page preview iFrame communication.
8
+ * A "*" acts as a wildcard for one or more domain labels, so "https://*.shopgate.com" matches
9
+ * "https://app.shopgate.com" as well as "https://next.us.admin.shopgate.com", but neither
10
+ * "https://shopgate.com" nor "https://evil.shopgate.com.attacker.example". Every other character
11
+ * is matched literally, which means that scheme and port always have to match exactly.
25
12
  */
26
13
  export declare const ALLOWED_ADMIN_PREVIEW_ORIGINS: string[];
27
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../admin-preview/constants/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEpD;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B,SAA2B,CAAC;AAErE;;;;;GAKG;AACH,eAAO,MAAM,yCAAyC,SAAuC,CAAC;AAE9F;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,SAAuB,CAAC;AAE5D;;GAEG;AACH,eAAO,MAAM,6BAA6B,UAMzC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../admin-preview/constants/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,oCAAoC,CAAC;AAEtE;;;;;;;;;;GAUG;AACH,eAAO,MAAM,6BAA6B,UAMzC,CAAC"}
@@ -1,31 +1,14 @@
1
- import { detectAdminPreview, detectFrontendSettingsAdminPreview, detectPageAdminPreview } from "../detection";
2
- export { PAGE_PREVIEW_PATTERN } from "../detection";
1
+ export const PAGE_PREVIEW_PATTERN = '/shopgate-internal-page-preview';
3
2
 
4
3
  /**
5
- * Whether the app is currently in page admin preview mode.
4
+ * List of allowed origin patterns for admin preview iFrame communication. Both directions are
5
+ * validated against these patterns: incoming messages are only processed when their origin matches,
6
+ * and outgoing messages are only posted to a matching origin - either the origin of the last
7
+ * accepted incoming message, or the origin of the embedding document.
6
8
  *
7
- * Snapshot taken when this module is first evaluated. Prefer the isPageAdminPreviewActive()
8
- * helper, which re-evaluates on every call.
9
+ * A "*" acts as a wildcard for one or more domain labels, so "https://*.shopgate.com" matches
10
+ * "https://app.shopgate.com" as well as "https://next.us.admin.shopgate.com", but neither
11
+ * "https://shopgate.com" nor "https://evil.shopgate.com.attacker.example". Every other character
12
+ * is matched literally, which means that scheme and port always have to match exactly.
9
13
  */
10
- export const IS_PAGE_ADMIN_PREVIEW_ACTIVE = detectPageAdminPreview();
11
-
12
- /**
13
- * Whether the app is currently in frontend settings admin preview mode.
14
- *
15
- * Snapshot taken when this module is first evaluated. Prefer the
16
- * isFrontendSettingsAdminPreviewActive() helper, which re-evaluates on every call.
17
- */
18
- export const IS_FRONTEND_SETTINGS_ADMIN_PREVIEW_ACTIVE = detectFrontendSettingsAdminPreview();
19
-
20
- /**
21
- * Whether the app is currently in admin preview mode (pages or frontend settings).
22
- *
23
- * Snapshot taken when this module is first evaluated. Prefer the isAdminPreviewActive() helper,
24
- * which re-evaluates on every call.
25
- */
26
- export const IS_ADMIN_PREVIEW_ACTIVE = detectAdminPreview();
27
-
28
- /**
29
- * List of allowed origins for cms page preview iFrame communication.
30
- */
31
- export const ALLOWED_ADMIN_PREVIEW_ORIGINS = ['https://next.admin.shopgatedev.com', 'https://next.admin.shopgatepg.com', 'https://next.admin.shopgate.com', 'https://next.us.admin.shopgate.com', 'http://localhost:1337'];
14
+ export const ALLOWED_ADMIN_PREVIEW_ORIGINS = ['https://*.shopgate.com', 'https://*.shopgatedev.com', 'https://*.shopgatepg.com', 'http://localhost.localdev.cc', 'http://localhost:1337'];
@@ -1,17 +1,19 @@
1
- export declare const PAGE_PREVIEW_PATTERN = "/shopgate-internal-page-preview";
1
+ /**
2
+ * Internal to the admin-preview package - do not import this module from anywhere else. Consume
3
+ * the isAdminPreviewActive / isPageAdminPreviewActive / isFrontendSettingsAdminPreviewActive
4
+ * helpers from @shopgate/engage/admin-preview/helpers instead.
5
+ */
2
6
  export declare const FRONTEND_SETTINGS_PREVIEW_PARAM = "frontendSettingsPreview=true";
3
- export declare const SESSION_STORAGE_KEY_PAGE_PREVIEW = "sgPageAdminPreview";
4
- export declare const SESSION_STORAGE_KEY_FRONTEND_SETTINGS_PREVIEW = "sgFrontendSettingsAdminPreview";
5
7
  /**
6
- * Detects whether the app is in page admin preview mode. Once detected, the result is remembered
7
- * for the rest of the session, because the url is not guaranteed to keep the preview marker.
8
+ * Detects whether the app is in page admin preview mode. Once detected, the result is latched for
9
+ * the lifetime of the document, because the url is not guaranteed to keep the preview marker.
8
10
  * @returns True if the app is in page admin preview mode, false otherwise.
9
11
  */
10
12
  export declare const detectPageAdminPreview: () => boolean;
11
13
  /**
12
14
  * Detects whether the app is in frontend settings admin preview mode. Once detected, the result is
13
- * remembered for the rest of the session, because the url is not guaranteed to keep the query
14
- * param.
15
+ * latched for the lifetime of the document, because the app keeps navigating while the preview is
16
+ * open and the query param only exists on the url it started on.
15
17
  * @returns True if the app is in frontend settings admin preview mode, false otherwise.
16
18
  */
17
19
  export declare const detectFrontendSettingsAdminPreview: () => boolean;
@@ -26,6 +28,8 @@ export declare const detectAdminPreview: () => boolean;
26
28
  *
27
29
  * window.SGAdminPreviewDebug()
28
30
  *
31
+ * Compare initialHref with currentHref to see whether the url changed since the app booted, and
32
+ * check latched to see whether a result came from the latch rather than the current url.
29
33
  * @returns A snapshot of everything detection depends on.
30
34
  */
31
35
  export declare const getAdminPreviewDebugInfo: () => {
@@ -36,7 +40,7 @@ export declare const getAdminPreviewDebugInfo: () => {
36
40
  urlChangedSinceBoot: boolean;
37
41
  isInIframe: boolean;
38
42
  referrer: string;
39
- stickyFlags: {
43
+ latched: {
40
44
  page: boolean;
41
45
  frontendSettings: boolean;
42
46
  };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detection.d.ts","sourceRoot":"","sources":["../../../../admin-preview/helpers/_internal/detection.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,eAAO,MAAM,+BAA+B,iCAAiC,CAAC;AAsB9E;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,QAAO,OAQzC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,kCAAkC,QAAO,OAWrD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,QAAO,OAC4B,CAAC;AAEnE;;;;;;;;;GASG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;CAiBnC,CAAC"}