@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
@@ -1,19 +1,41 @@
1
1
  import _merge from "lodash/merge";
2
- import { isDev } from '@shopgate/engage/core/helpers';
2
+ // Imported from the defining modules rather than a barrel: this module runs at import time in
3
+ // every spec that touches the theme, and specs that replace a barrel with a partial mock would
4
+ // leave these undefined.
5
+ import { isDev } from '@shopgate/pwa-common/helpers/environment';
6
+ import { themeConfig } from '@shopgate/pwa-common/helpers/config';
7
+ const {
8
+ fontWeight: buttonFontWeight = 600,
9
+ textTransform: buttonTextTransform
10
+ } = themeConfig?.variables?.buttonBase ?? {};
3
11
  const caseAllCaps = {
4
12
  textTransform: 'uppercase'
5
13
  };
14
+ const caseButton = {
15
+ textTransform: buttonTextTransform === 'uppercase' ? 'uppercase' : 'none'
16
+ };
6
17
  const defaultFontFamily = '"Roboto", "Helvetica", "Arial", sans-serif';
7
18
 
19
+ /**
20
+ * Builds the prefix of the custom properties that cssVarsParser derives from the `typography` keys.
21
+ * Mirrors how the parser composes a name, so a theme configured with a different `cssVarPrefix`
22
+ * references the properties it actually emits.
23
+ * @param {string} cssVarPrefix The theme's css variable prefix.
24
+ * @returns {string} The prefix, e.g. `--sg-typography`.
25
+ */
26
+ const typographyVarPrefix = cssVarPrefix => `--${cssVarPrefix ? `${cssVarPrefix}-` : ''}typography`;
27
+
8
28
  /**
9
29
  * Creates the typography object for the theme.
10
30
  * @param {Object} palette The theme palette.
11
31
  * @param {Object|Function} typography The typography options or a function that returns them.
32
+ * @param {string} [cssVarPrefix] The theme's css variable prefix, matching the one cssVarsParser
33
+ * generates the properties with. Defaults to the `sg` default of createTheme.
12
34
  * @returns {Object} The typography object.
13
35
  * @see @link{https://material.io/design/typography/the-type-system.html}
14
36
  * @see @link{https://material.io/design/typography/understanding-typography.html}
15
37
  */
16
- export default function createTypography(palette, typography) {
38
+ export default function createTypography(palette, typography, cssVarPrefix = 'sg') {
17
39
  const {
18
40
  fontFamily = defaultFontFamily,
19
41
  // The default font size of the Material Specification.
@@ -32,10 +54,28 @@ export default function createTypography(palette, typography) {
32
54
  } = typeof typography === 'function' ? typography(palette) : typography;
33
55
  if (isDev) {
34
56
  if (typeof fontSize !== 'number') {
57
+ // eslint-disable-next-line no-console
35
58
  console.error('Shopgate Theme: `fontSize` is required to be a number.');
36
59
  }
37
60
  }
38
61
  const coef = fontSize / 14;
62
+ const fontWeights = {
63
+ fontWeightLight,
64
+ fontWeightRegular,
65
+ fontWeightMedium,
66
+ fontWeightBold
67
+ };
68
+
69
+ /**
70
+ * Builds a reference to one of the shared font weight custom properties. The property itself is
71
+ * emitted by cssVarsParser from `typography.fontWeight*`, so overriding it on `:root` (admin css,
72
+ * live preview, an extension) cascades into every variant that uses that token. The resolved
73
+ * weight stays as the fallback, so the variant still renders when the property is absent.
74
+ * @param {string} token One of `fontWeightLight`, `fontWeightRegular`, `fontWeightMedium`,
75
+ * `fontWeightBold`.
76
+ * @returns {string} The css var reference.
77
+ */
78
+ const fontWeightVar = token => `var(${typographyVarPrefix(cssVarPrefix)}-${token}, ${fontWeights[token]})`;
39
79
 
40
80
  /**
41
81
  * Calculates a rem value for a passed pixel value.
@@ -46,34 +86,36 @@ export default function createTypography(palette, typography) {
46
86
 
47
87
  /**
48
88
  * Creates a typography variant object.
49
- * @param {number} fontWeight The font weight to use for the variant.
89
+ * @param {string} fontWeightToken The name of the shared font weight token to use, e.g.
90
+ * `fontWeightBold`. The variant references it as a custom property instead of inlining its value.
50
91
  * @param {number} size Font size in pixels.
51
92
  * @param {number} lineHeight Line height as a unitless number.
52
93
  * @param {Object} casing Casing styles to apply, e.g. textTransform.
53
94
  * @returns {Object} The typography variant object.
54
95
  */
55
- const buildVariant = (fontWeight, size, lineHeight, casing) => ({
96
+ const buildVariant = (fontWeightToken, size, lineHeight, casing) => ({
56
97
  fontFamily,
57
- fontWeight,
98
+ fontWeight: fontWeightVar(fontWeightToken),
58
99
  fontSize: pxToRem(size),
59
100
  lineHeight,
60
101
  ...casing,
61
102
  ...allVariants
62
103
  });
63
104
  const variants = {
64
- h1: buildVariant(fontWeightBold, 34, 1.15),
65
- h2: buildVariant(fontWeightBold, 22, 1.3),
66
- h3: buildVariant(fontWeightMedium, 20, 1.35),
67
- h4: buildVariant(fontWeightMedium, 18, 1.4),
68
- h5: buildVariant(fontWeightMedium, 16, 1.5),
69
- h6: buildVariant(fontWeightMedium, 14, 1.5),
70
- subtitle1: buildVariant(fontWeightRegular, 16, 1.75),
71
- subtitle2: buildVariant(fontWeightMedium, 14, 1.57),
72
- body1: buildVariant(fontWeightRegular, 16, 1.5),
73
- body2: buildVariant(fontWeightRegular, 14, 1.43),
74
- button: buildVariant(fontWeightMedium, 14, 1.75, caseAllCaps),
75
- caption: buildVariant(fontWeightRegular, 12, 1.66),
76
- overline: buildVariant(fontWeightRegular, 12, 2.66, caseAllCaps)
105
+ h1: buildVariant('fontWeightBold', 34, 1.15),
106
+ h2: buildVariant('fontWeightBold', 22, 1.3),
107
+ h3: buildVariant('fontWeightMedium', 20, 1.35),
108
+ h4: buildVariant('fontWeightMedium', 18, 1.4),
109
+ h5: buildVariant('fontWeightMedium', 16, 1.5),
110
+ h6: buildVariant('fontWeightMedium', 14, 1.5),
111
+ subtitle1: buildVariant('fontWeightRegular', 16, 1.75),
112
+ subtitle2: buildVariant('fontWeightMedium', 14, 1.57),
113
+ body1: buildVariant('fontWeightRegular', 16, 1.5),
114
+ body2: buildVariant('fontWeightRegular', 14, 1.43),
115
+ button: buildVariant(buttonFontWeight > fontWeightMedium ? 'fontWeightBold' : 'fontWeightMedium', 16, 1.75, caseButton),
116
+ caption: buildVariant('fontWeightRegular', 12, 1.66),
117
+ overline: buildVariant('fontWeightRegular', 12, 2.66, caseAllCaps),
118
+ price: buildVariant('fontWeightRegular', 16, 1.5)
77
119
  };
78
120
  return _merge({
79
121
  pxToRem,
@@ -1 +1 @@
1
- {"version":3,"file":"cssVarsParser.d.ts","sourceRoot":"","sources":["../../../../../styles/theme/createTheme/helpers/cssVarsParser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAsIH,KAAK,oBAAoB,GAAG;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uBAAuB,CAAC,EAAE,CAAC,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,KAAK,OAAO,CAAC;CAC9F,CAAC;AAEF,MAAM,MAAM,wBAAwB,CAAC,CAAC,IAAI;IACxC;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;IACrC;;;OAGG;IACH,IAAI,EAAE,CAAC,CAAC;IACR;;;OAGG;IACH,gBAAgB,EAAE,CAAC,CAAC;IACpB;;;OAGG;IACH,QAAQ,EAAE,CAAC,CAAC;CACb,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,CAAC,SAAS,MAAM,EACpD,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,oBAAoB,GAC7B,wBAAwB,CAAC,CAAC,CAAC,CA+D7B"}
1
+ {"version":3,"file":"cssVarsParser.d.ts","sourceRoot":"","sources":["../../../../../styles/theme/createTheme/helpers/cssVarsParser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA6IH,KAAK,oBAAoB,GAAG;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uBAAuB,CAAC,EAAE,CAAC,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,KAAK,OAAO,CAAC;CAC9F,CAAC;AAEF,MAAM,MAAM,wBAAwB,CAAC,CAAC,IAAI;IACxC;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;IACrC;;;OAGG;IACH,IAAI,EAAE,CAAC,CAAC;IACR;;;OAGG;IACH,gBAAgB,EAAE,CAAC,CAAC;IACpB;;;OAGG;IACH,QAAQ,EAAE,CAAC,CAAC;CACb,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,CAAC,SAAS,MAAM,EACpD,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,oBAAoB,GAC7B,wBAAwB,CAAC,CAAC,CAAC,CA+D7B"}
@@ -85,11 +85,18 @@ const walkObjectDeep = (obj, callback, shouldSkipPaths) => {
85
85
  */
86
86
  const getCssValue = (keys, value) => {
87
87
  if (typeof value === 'number') {
88
- if (['lineHeight', 'fontWeight', 'opacity', 'zIndex', 'fontSize', 'fontWeightLight', 'fontWeightRegular', 'fontWeightMedium', 'fontWeightBold'].some(prop => keys[keys.length - 1] === prop)) {
89
- // CSS property that are unitless
88
+ const lastKey = keys[keys.length - 1];
89
+ if (['lineHeight', 'fontWeight', 'opacity', 'zIndex', 'fontWeightLight', 'fontWeightRegular', 'fontWeightMedium', 'fontWeightBold'].some(prop => lastKey === prop)) {
90
+ // CSS properties that are unitless
91
+ return value;
92
+ }
93
+
94
+ // `typography.fontSize` is MUI's base font-size coefficient and stays unitless, but variant
95
+ // font sizes (e.g. `typography.body2.fontSize`) are lengths and need a `px` unit - otherwise a
96
+ // numeric override would produce an invalid `font-size: 12` custom property.
97
+ if (lastKey === 'fontSize' && keys[keys.length - 2] === 'typography') {
90
98
  return value;
91
99
  }
92
- const lastKey = keys[keys.length - 1];
93
100
  if (lastKey.toLowerCase().includes('opacity')) {
94
101
  // opacity values are unitless
95
102
  return value;
@@ -1,5 +1,6 @@
1
1
  import { type ThemeOptions, type ThemeInternal } from './types';
2
- export type { Theme, BaseTheme, ThemeInternal, ThemeOptions, Breakpoint, ColorSchemeName, ColorSchemeSelectorType, PaletteColorsWithMain, } from './types';
2
+ export type { Theme, BaseTheme, ThemeInternal, ThemeOptions, Breakpoint, ColorSchemeName, ColorSchemeMode, ColorSchemeSelectorType, PaletteColorsWithMain, } from './types';
3
+ export { COLOR_SCHEME_NAMES, COLOR_SCHEME_SYSTEM } from './types';
3
4
  /**
4
5
  * Creates a theme object for the ThemeProvider.
5
6
  * @param options The theme options.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../styles/theme/createTheme/index.ts"],"names":[],"mappings":"AAUA,OAAO,EACL,KAAK,YAAY,EAGjB,KAAK,aAAa,EACnB,MAAM,SAAS,CAAC;AAEjB,YAAY,EACV,KAAK,EACL,SAAS,EACT,aAAa,EACb,YAAY,EACZ,UAAU,EACV,eAAe,EACf,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,SAAS,CAAC;AAEjB;;;;GAIG;AACH,eAAO,MAAM,WAAW,GAAI,UAAS,YAAiB,KAAG,aAkExD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../styles/theme/createTheme/index.ts"],"names":[],"mappings":"AAUA,OAAO,EACL,KAAK,YAAY,EAGjB,KAAK,aAAa,EACnB,MAAM,SAAS,CAAC;AAEjB,YAAY,EACV,KAAK,EACL,SAAS,EACT,aAAa,EACb,YAAY,EACZ,UAAU,EACV,eAAe,EACf,eAAe,EACf,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAElE;;;;GAIG;AACH,eAAO,MAAM,WAAW,GAAI,UAAS,YAAiB,KAAG,aAkExD,CAAC"}
@@ -9,6 +9,8 @@ import createThemeFromColorScheme from "./createThemeFromColorScheme";
9
9
  import createCssVarsForColorSchemeThemes from "./createCssVarsForColorSchemeThemes";
10
10
  import applyStyles from "./applyStyles";
11
11
  import { createGetColorSchemeSelector, createSetActiveColorScheme } from "./helpers";
12
+ export { COLOR_SCHEME_NAMES, COLOR_SCHEME_SYSTEM } from "./types";
13
+
12
14
  /**
13
15
  * Creates a theme object for the ThemeProvider.
14
16
  * @param options The theme options.
@@ -36,7 +38,7 @@ export const createTheme = (options = {}) => {
36
38
  palette: {
37
39
  mode: type
38
40
  }
39
- }, defaultScheme, scheme));
41
+ }, defaultScheme, scheme), cssVarPrefix);
40
42
  return acc;
41
43
  }, {});
42
44
  const getColorSchemeSelector = createGetColorSchemeSelector(colorSchemeSelector);
@@ -1,4 +1,14 @@
1
- declare const shadows: readonly ["none", string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string];
1
+ /**
2
+ * The elevations the admin offers. Offset, blur and spread are not configurable — a shop picks
3
+ * one of these presets so the surfaces stay visually consistent, and only the color is free.
4
+ */
5
+ export type ShadowSize = 'none' | 'low' | 'medium' | 'strong';
6
+ export declare const SHADOW_COLOR_VAR = "--sg-palette-shadow";
7
+ declare const shadows: readonly ["none", ...string[]];
2
8
  export type Shadows = typeof shadows;
9
+ /**
10
+ * The finished shadow for each size the admin offers, for a single `theme.shadowSizes[size]` lookup.
11
+ */
12
+ export declare const shadowSizes: Record<ShadowSize, string>;
3
13
  export default shadows;
4
14
  //# sourceMappingURL=shadows.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shadows.d.ts","sourceRoot":"","sources":["../../../../styles/theme/createTheme/shadows.ts"],"names":[],"mappings":"AAaA,QAAA,MAAM,OAAO,mNA0BH,CAAC;AAEX,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAA;AAEpC,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"shadows.d.ts","sourceRoot":"","sources":["../../../../styles/theme/createTheme/shadows.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;AA+D9D,eAAO,MAAM,gBAAgB,wBAAwB,CAAC;AAEtD,QAAA,MAAM,OAAO,gCAMH,CAAC;AAEX,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAA;AAEpC;;GAEG;AACH,eAAO,MAAM,WAAW,EAEnB,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AAEhC,eAAe,OAAO,CAAC"}
@@ -1,10 +1,44 @@
1
- const shadowKeyUmbraOpacity = 0.2;
2
- const shadowKeyPenumbraOpacity = 0.14;
3
- const shadowAmbientShadowOpacity = 0.12;
4
- function createShadow(...px) {
5
- return [`${px[0]}px ${px[1]}px ${px[2]}px ${px[3]}px rgba(0,0,0,${shadowKeyUmbraOpacity})`, `${px[4]}px ${px[5]}px ${px[6]}px ${px[7]}px rgba(0,0,0,${shadowKeyPenumbraOpacity})`, `${px[8]}px ${px[9]}px ${px[10]}px ${px[11]}px rgba(0,0,0,${shadowAmbientShadowOpacity})`].join(',');
6
- }
1
+ // Share of the shadow color each of the three layers is drawn with, in percent.
2
+ const shadowKeyUmbraPercent = 20;
3
+ const shadowKeyPenumbraPercent = 14;
4
+ const shadowAmbientShadowPercent = 12;
5
+
6
+ /**
7
+ * The elevations the admin offers. Offset, blur and spread are not configurable — a shop picks
8
+ * one of these presets so the surfaces stay visually consistent, and only the color is free.
9
+ */
10
+
11
+ /**
12
+ * Elevation from the scale below used for each shadow size the admin offers. Keeping the mapping
13
+ * next to the scale means a size never introduces geometry of its own.
14
+ */
15
+ const SHADOW_SIZE_ELEVATIONS = {
16
+ none: 0,
17
+ low: 2,
18
+ medium: 4,
19
+ strong: 8
20
+ };
7
21
 
22
+ // Offset-x, offset-y, blur and spread of the three layers that make up one elevation, starting at
23
+ // elevation 1 (elevation 0 draws no shadow at all).
8
24
  // Values from https://github.com/material-components/material-components-web/blob/be8747f94574669cb5e7add1a7c54fa41a89cec7/packages/mdc-elevation/_variables.scss
9
- const shadows = ['none', createShadow(0, 2, 1, -1, 0, 1, 1, 0, 0, 1, 3, 0), createShadow(0, 3, 1, -2, 0, 2, 2, 0, 0, 1, 5, 0), createShadow(0, 3, 3, -2, 0, 3, 4, 0, 0, 1, 8, 0), createShadow(0, 2, 4, -1, 0, 4, 5, 0, 0, 1, 10, 0), createShadow(0, 3, 5, -1, 0, 5, 8, 0, 0, 1, 14, 0), createShadow(0, 3, 5, -1, 0, 6, 10, 0, 0, 1, 18, 0), createShadow(0, 4, 5, -2, 0, 7, 10, 1, 0, 2, 16, 1), createShadow(0, 5, 5, -3, 0, 8, 10, 1, 0, 3, 14, 2), createShadow(0, 5, 6, -3, 0, 9, 12, 1, 0, 3, 16, 2), createShadow(0, 6, 6, -3, 0, 10, 14, 1, 0, 4, 18, 3), createShadow(0, 6, 7, -4, 0, 11, 15, 1, 0, 4, 20, 3), createShadow(0, 7, 8, -4, 0, 12, 17, 2, 0, 5, 22, 4), createShadow(0, 7, 8, -4, 0, 13, 19, 2, 0, 5, 24, 4), createShadow(0, 7, 9, -4, 0, 14, 21, 2, 0, 5, 26, 4), createShadow(0, 8, 9, -5, 0, 15, 22, 2, 0, 6, 28, 5), createShadow(0, 8, 10, -5, 0, 16, 24, 2, 0, 6, 30, 5), createShadow(0, 8, 11, -5, 0, 17, 26, 2, 0, 6, 32, 5), createShadow(0, 9, 11, -5, 0, 18, 28, 2, 0, 7, 34, 6), createShadow(0, 9, 12, -6, 0, 19, 29, 2, 0, 7, 36, 6), createShadow(0, 10, 13, -6, 0, 20, 31, 3, 0, 8, 38, 7), createShadow(0, 10, 13, -6, 0, 21, 33, 3, 0, 8, 40, 7), createShadow(0, 10, 14, -6, 0, 22, 35, 3, 0, 8, 42, 7), createShadow(0, 11, 14, -7, 0, 23, 36, 3, 0, 9, 44, 8), createShadow(0, 11, 15, -7, 0, 24, 38, 3, 0, 9, 46, 8)];
25
+ const elevationGeometries = [[0, 2, 1, -1, 0, 1, 1, 0, 0, 1, 3, 0], [0, 3, 1, -2, 0, 2, 2, 0, 0, 1, 5, 0], [0, 3, 3, -2, 0, 3, 4, 0, 0, 1, 8, 0], [0, 2, 4, -1, 0, 4, 5, 0, 0, 1, 10, 0], [0, 3, 5, -1, 0, 5, 8, 0, 0, 1, 14, 0], [0, 3, 5, -1, 0, 6, 10, 0, 0, 1, 18, 0], [0, 4, 5, -2, 0, 7, 10, 1, 0, 2, 16, 1], [0, 5, 5, -3, 0, 8, 10, 1, 0, 3, 14, 2], [0, 5, 6, -3, 0, 9, 12, 1, 0, 3, 16, 2], [0, 6, 6, -3, 0, 10, 14, 1, 0, 4, 18, 3], [0, 6, 7, -4, 0, 11, 15, 1, 0, 4, 20, 3], [0, 7, 8, -4, 0, 12, 17, 2, 0, 5, 22, 4], [0, 7, 8, -4, 0, 13, 19, 2, 0, 5, 24, 4], [0, 7, 9, -4, 0, 14, 21, 2, 0, 5, 26, 4], [0, 8, 9, -5, 0, 15, 22, 2, 0, 6, 28, 5], [0, 8, 10, -5, 0, 16, 24, 2, 0, 6, 30, 5], [0, 8, 11, -5, 0, 17, 26, 2, 0, 6, 32, 5], [0, 9, 11, -5, 0, 18, 28, 2, 0, 7, 34, 6], [0, 9, 12, -6, 0, 19, 29, 2, 0, 7, 36, 6], [0, 10, 13, -6, 0, 20, 31, 3, 0, 8, 38, 7], [0, 10, 13, -6, 0, 21, 33, 3, 0, 8, 40, 7], [0, 10, 14, -6, 0, 22, 35, 3, 0, 8, 42, 7], [0, 11, 14, -7, 0, 23, 36, 3, 0, 9, 44, 8], [0, 11, 15, -7, 0, 24, 38, 3, 0, 9, 46, 8]];
26
+
27
+ /**
28
+ * Builds one elevation from its geometry.
29
+ * @param px The twelve lengths of the elevation's three layers.
30
+ * @param renderColor Renders the color of a layer from the share of the shadow color it is drawn
31
+ * with, in percent.
32
+ * @returns A box-shadow value.
33
+ */
34
+ function createShadow(px, renderColor) {
35
+ const layer = (offset, percent) => `${px[offset]}px ${px[offset + 1]}px ${px[offset + 2]}px ${px[offset + 3]}px ` + `${renderColor(percent)}`;
36
+ return [layer(0, shadowKeyUmbraPercent), layer(4, shadowKeyPenumbraPercent), layer(8, shadowAmbientShadowPercent)].join(',');
37
+ }
38
+ export const SHADOW_COLOR_VAR = '--sg-palette-shadow';
39
+ const shadows = ['none'].concat(elevationGeometries.map(geometry => createShadow(geometry, percent => `rgb(from var(${SHADOW_COLOR_VAR}) r g b / ${percent / 100})`)));
40
+ /**
41
+ * The finished shadow for each size the admin offers, for a single `theme.shadowSizes[size]` lookup.
42
+ */
43
+ export const shadowSizes = Object.fromEntries(Object.entries(SHADOW_SIZE_ELEVATIONS).map(([size, elevation]) => [size, shadows[elevation]]));
10
44
  export default shadows;
@@ -10,11 +10,16 @@ import type { ApplyStyles } from './applyStyles';
10
10
  import type { GetColorSchemeSelector, ActiveColorSchemeSwitcher } from './helpers';
11
11
  import type { CreateCssVarsForColorSchemeThemesReturnValue } from './createCssVarsForColorSchemeThemes';
12
12
  import type { Shape, ShapeOptions } from './createShape';
13
- import type { Shadows } from './shadows';
13
+ import type { Shadows, ShadowSize } from './shadows';
14
14
  export type { Breakpoint } from './createBreakpoints';
15
15
  export type { PaletteColorsWithMain } from './createPalette';
16
- declare const colorSchemes: readonly ["light", "dark"];
17
- export type ColorSchemeName = (typeof colorSchemes)[number];
16
+ export declare const COLOR_SCHEME_NAMES: readonly ["light", "dark"];
17
+ export type ColorSchemeName = (typeof COLOR_SCHEME_NAMES)[number];
18
+ export declare const COLOR_SCHEME_SYSTEM = "system";
19
+ /**
20
+ * A selectable color scheme: one the theme provides, or `system` to follow the operating system.
21
+ */
22
+ export type ColorSchemeMode = ColorSchemeName | typeof COLOR_SCHEME_SYSTEM;
18
23
  declare const selectorTypes: readonly ["data", "class"];
19
24
  export type ColorSchemeSelectorType = (typeof selectorTypes)[number];
20
25
  type DeepPartial<T> = T extends object ? {
@@ -28,7 +33,8 @@ type DeepPartial<T> = T extends object ? {
28
33
  export type ColorSchemeOptions = Pick<ThemeOptions, 'palette' | 'typography' | 'components' | 'shape'>;
29
34
  export interface ThemeOptions {
30
35
  /**
31
- * The default color scheme to use when the user has not specified a preference.
36
+ * The color scheme to fall back to when the configured mode resolves to a scheme this theme does
37
+ * not style. The scheme the app starts in comes from the app settings.
32
38
  * @default 'light'
33
39
  */
34
40
  defaultColorScheme?: ColorSchemeName;
@@ -94,6 +100,10 @@ export interface BaseTheme {
94
100
  * Pre-defined shadow styles for different elevation levels, following Material Design guidelines.
95
101
  */
96
102
  shadows: Shadows;
103
+ /**
104
+ * The finished box-shadow size (`none` | `low` | `medium` | `strong`)
105
+ */
106
+ shadowSizes: Record<ShadowSize, string>;
97
107
  /**
98
108
  * Adds an alpha value to a color, returning a new color string with the applied alpha.
99
109
  * @param color The color to modify.
@@ -125,7 +135,8 @@ export interface BaseTheme {
125
135
  }
126
136
  export interface Theme extends BaseTheme {
127
137
  /**
128
- * The default color scheme to use when the user has not specified a preference.
138
+ * The color scheme to fall back to when the configured mode resolves to a scheme this theme does
139
+ * not style. The scheme the app starts in comes from the app settings.
129
140
  */
130
141
  defaultColorScheme?: ColorSchemeName;
131
142
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../styles/theme/createTheme/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../styles/theme/createTheme/types.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,10 @@
1
- const colorSchemes = ['light', 'dark'];
1
+ export const COLOR_SCHEME_NAMES = ['light', 'dark'];
2
+ export const COLOR_SCHEME_SYSTEM = 'system';
3
+
4
+ /**
5
+ * A selectable color scheme: one the theme provides, or `system` to follow the operating system.
6
+ */
7
+
2
8
  const selectorTypes = ['data', 'class'];
3
9
 
4
10
  /**
@@ -17,5 +23,4 @@ const selectorTypes = ['data', 'class'];
17
23
  /**
18
24
  * A record of themes for each color scheme. Each key is a color scheme name (e.g., 'light', 'dark'),
19
25
  * and the value is a fully-resolved color-scheme theme ({@link ColorSchemeTheme}).
20
- */
21
- export {};
26
+ */
@@ -1,7 +1,8 @@
1
1
  /**
2
- * Returns the currently selected color scheme and a function to update it.
3
- * @returns An object containing the current color scheme and a function to update it.
2
+ * Provides access to the color scheme context.
3
+ * @returns The color scheme context value, containing the current `mode`, a `setMode` function to
4
+ * update it, and the `modes` that can be set.
4
5
  */
5
- declare const useColorScheme: () => import("../providers/ThemeProvider").ColorSchemeContextValue;
6
+ declare const useColorScheme: () => import("..").ColorSchemeContextValue;
6
7
  export default useColorScheme;
7
8
  //# sourceMappingURL=useColorScheme.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useColorScheme.d.ts","sourceRoot":"","sources":["../../../../styles/theme/hooks/useColorScheme.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,QAAA,MAAM,cAAc,oEAAuC,CAAC;AAE5D,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"useColorScheme.d.ts","sourceRoot":"","sources":["../../../../styles/theme/hooks/useColorScheme.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,QAAA,MAAM,cAAc,4CAAuC,CAAC;AAE5D,eAAe,cAAc,CAAC"}
@@ -1,9 +1,10 @@
1
1
  import { useContext } from 'react';
2
- import { ColorSchemeContext } from "../providers/ThemeProvider";
2
+ import { ColorSchemeContext } from "../providers/ColorSchemeContext";
3
3
 
4
4
  /**
5
- * Returns the currently selected color scheme and a function to update it.
6
- * @returns An object containing the current color scheme and a function to update it.
5
+ * Provides access to the color scheme context.
6
+ * @returns The color scheme context value, containing the current `mode`, a `setMode` function to
7
+ * update it, and the `modes` that can be set.
7
8
  */
8
9
  const useColorScheme = () => useContext(ColorSchemeContext);
9
10
  export default useColorScheme;
@@ -1,4 +1,11 @@
1
1
  import { type Theme } from '..';
2
+ /**
3
+ * React hook to check if a media query matches the current viewport. Independent of the theme
4
+ * context, so it can be used by the provider that establishes it.
5
+ * @param query A media query string, e.g. '(min-width: 600px)'
6
+ * @returns Returns true if the media query matches, false otherwise.
7
+ */
8
+ export declare const useMatchMedia: (query: string) => boolean;
2
9
  /**
3
10
  * @callback ThemeFn
4
11
  * @param {Theme} theme The current theme object.
@@ -1 +1 @@
1
- {"version":3,"file":"useMediaQuery.d.ts","sourceRoot":"","sources":["../../../../styles/theme/hooks/useMediaQuery.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,IAAI,CAAC;AA8BhC;;;GAGG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,QAAA,MAAM,aAAa,GAAI,YAAY,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,CAAC,KAAG,OASxE,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"useMediaQuery.d.ts","sourceRoot":"","sources":["../../../../styles/theme/hooks/useMediaQuery.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,IAAI,CAAC;AAEhC;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,KAAG,OAoB7C,CAAC;AAEF;;;GAGG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,QAAA,MAAM,aAAa,GAAI,YAAY,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,CAAC,KAAG,OASxE,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -2,12 +2,12 @@ import "core-js/modules/es.string.replace.js";
2
2
  import { useState, useEffect } from 'react';
3
3
  import useTheme from "./useTheme";
4
4
  /**
5
- * React hook to check if a media query matches the current viewport.
6
- * Doesn't accept media query strings that start with '@media'.
5
+ * React hook to check if a media query matches the current viewport. Independent of the theme
6
+ * context, so it can be used by the provider that establishes it.
7
7
  * @param query A media query string, e.g. '(min-width: 600px)'
8
8
  * @returns Returns true if the media query matches, false otherwise.
9
9
  */
10
- const useMediaQueryInternal = query => {
10
+ export const useMatchMedia = query => {
11
11
  const [match, setMatch] = useState(() => window.matchMedia(query).matches);
12
12
  useEffect(() => {
13
13
  const queryList = window.matchMedia(query);
@@ -60,9 +60,9 @@ const useMediaQueryInternal = query => {
60
60
  const useMediaQuery = queryInput => {
61
61
  const theme = useTheme();
62
62
  let query = typeof queryInput === 'function' ? queryInput(theme) : queryInput;
63
- // Remove the '@media' prefix if it exists, as useMediaQueryInternal expects a plain media query.
63
+ // Remove the '@media' prefix if it exists, as useMatchMedia expects a plain media query.
64
64
  query = query.replace(/^@media( ?)/m, '');
65
- const match = useMediaQueryInternal(query);
65
+ const match = useMatchMedia(query);
66
66
  return match;
67
67
  };
68
68
  export default useMediaQuery;
@@ -1,5 +1,5 @@
1
1
  import { useContext } from 'react';
2
- import { ThemeContext } from "../providers/ThemeProvider";
2
+ import { ThemeContext } from "../providers/ThemeContext";
3
3
 
4
4
  /**
5
5
  * Returns the theme object.
@@ -1,6 +1,9 @@
1
1
  export { default as ThemeProvider } from './providers/ThemeProvider';
2
2
  export { createTheme } from './createTheme';
3
- export type { Theme, Breakpoint, PaletteColorsWithMain } from './createTheme';
3
+ export { type ShadowSize } from './createTheme/shadows';
4
+ export type { Variant as TypographyVariant } from './createTheme/createTypography';
5
+ export type { Theme, Breakpoint, PaletteColorsWithMain, ColorSchemeName, ColorSchemeMode, } from './createTheme';
4
6
  export { useActiveBreakpoint, useMediaQuery, useResponsiveValue, useTheme, useColorScheme, } from './hooks';
5
7
  export { withTheme, type WithThemeProps } from './hocs';
8
+ export type { ColorSchemeContextValue } from './providers/ColorSchemeContext';
6
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../styles/theme/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAC9E,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,QAAQ,EACR,cAAc,GACf,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../styles/theme/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,YAAY,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnF,YAAY,EACV,KAAK,EAAE,UAAU,EAAE,qBAAqB,EAAE,eAAe,EAAE,eAAe,GAC3E,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,QAAQ,EACR,cAAc,GACf,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxD,YAAY,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC"}
@@ -0,0 +1,40 @@
1
+ import { type ColorSchemeMode, type ColorSchemeName } from '../createTheme';
2
+ /**
3
+ * A new mode, or an updater that receives the effective one. Null clears the visitor's pick.
4
+ */
5
+ export type SetColorSchemeMode = ColorSchemeMode | null | ((current: ColorSchemeMode) => ColorSchemeMode | null);
6
+ export interface ColorSchemeContextValue {
7
+ /**
8
+ * The mode in effect: the one the visitor picked, or the configured default while they picked
9
+ * none.
10
+ */
11
+ mode: ColorSchemeMode;
12
+ /**
13
+ * The mode that applies while the visitor picked none, as configured within the app settings.
14
+ */
15
+ defaultMode: ColorSchemeMode;
16
+ /**
17
+ * The color scheme that is applied - the mode resolved against the operating system and the
18
+ * configured default. Components style against this one.
19
+ */
20
+ activeColorScheme: ColorSchemeName | null;
21
+ /**
22
+ * Whether visitors may pick a color scheme themselves. False while the app settings configure a
23
+ * binding color scheme, in which case a stored pick is ignored. Always true in development
24
+ * builds, which have no app settings to configure. A picker should render only where this is
25
+ * true.
26
+ */
27
+ canSelectColorScheme: boolean;
28
+ /**
29
+ * Updates the color scheme. Setting null clears the visitor's pick, so the configured default
30
+ * applies again. Takes effect only while `canSelectColorScheme` is true.
31
+ */
32
+ setMode: (value: SetColorSchemeMode) => void;
33
+ /**
34
+ * Everything that can be set: the color schemes the active theme styles, plus 'system'. Passing
35
+ * anything else to setMode has no effect.
36
+ */
37
+ modes: ColorSchemeMode[];
38
+ }
39
+ export declare const ColorSchemeContext: import("react").Context<ColorSchemeContextValue>;
40
+ //# sourceMappingURL=ColorSchemeContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColorSchemeContext.d.ts","sourceRoot":"","sources":["../../../../styles/theme/providers/ColorSchemeContext.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAE5E;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAC1B,eAAe,GACf,IAAI,GACJ,CAAC,CAAC,OAAO,EAAE,eAAe,KAAK,eAAe,GAAG,IAAI,CAAC,CAAC;AAE3D,MAAM,WAAW,uBAAuB;IACtC;;;OAGG;IACH,IAAI,EAAE,eAAe,CAAC;IACtB;;OAEG;IACH,WAAW,EAAE,eAAe,CAAC;IAC7B;;;OAGG;IACH,iBAAiB,EAAE,eAAe,GAAG,IAAI,CAAC;IAC1C;;;;;OAKG;IACH,oBAAoB,EAAE,OAAO,CAAC;IAC9B;;;OAGG;IACH,OAAO,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC7C;;;OAGG;IACH,KAAK,EAAE,eAAe,EAAE,CAAC;CAC1B;AAED,eAAO,MAAM,kBAAkB,kDAO7B,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { createContext } from 'react';
2
+
3
+ /**
4
+ * A new mode, or an updater that receives the effective one. Null clears the visitor's pick.
5
+ */
6
+
7
+ export const ColorSchemeContext = /*#__PURE__*/createContext({
8
+ mode: 'light',
9
+ defaultMode: 'light',
10
+ activeColorScheme: 'light',
11
+ canSelectColorScheme: false,
12
+ setMode: () => undefined,
13
+ modes: ['light']
14
+ });
@@ -0,0 +1,3 @@
1
+ import { type Theme } from '../createTheme';
2
+ export declare const ThemeContext: import("react").Context<Theme>;
3
+ //# sourceMappingURL=ThemeContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThemeContext.d.ts","sourceRoot":"","sources":["../../../../styles/theme/providers/ThemeContext.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAE5C,eAAO,MAAM,YAAY,gCAAqC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { createContext } from 'react';
2
+ export const ThemeContext = /*#__PURE__*/createContext({});
@@ -1,16 +1,6 @@
1
- import { type Theme, type ThemeInternal, type ColorSchemeName } from '../createTheme';
2
- export interface ColorSchemeContextValue {
3
- /**
4
- * The current color scheme (e.g., 'light' or 'dark')
5
- */
6
- mode: ColorSchemeName | null;
7
- /**
8
- * Function to update the color scheme
9
- */
10
- setMode: React.Dispatch<React.SetStateAction<ColorSchemeName | null>>;
11
- }
12
- export declare const ThemeContext: import("react").Context<Theme>;
13
- export declare const ColorSchemeContext: import("react").Context<ColorSchemeContextValue>;
1
+ import { type ThemeInternal } from '../createTheme';
2
+ export { ColorSchemeContext, type ColorSchemeContextValue } from './ColorSchemeContext';
3
+ export { ThemeContext } from './ThemeContext';
14
4
  type ThemeProviderProps = {
15
5
  /**
16
6
  * The theme object to provide to the context.
@@ -1 +1 @@
1
- {"version":3,"file":"ThemeProvider.d.ts","sourceRoot":"","sources":["../../../../styles/theme/providers/ThemeProvider.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtF,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,IAAI,EAAE,eAAe,GAAG,IAAI,CAAC;IAC7B;;OAEG;IACH,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC,CAAC;CACvE;AAED,eAAO,MAAM,YAAY,gCAAqC,CAAC;AAE/D,eAAO,MAAM,kBAAkB,kDAG7B,CAAC;AAwCH,KAAK,kBAAkB,GAAG;IACxB;;OAEG;IACH,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAA;mFAtCE,kBAAkB;AAwCrB,wBAAmC"}
1
+ {"version":3,"file":"ThemeProvider.d.ts","sourceRoot":"","sources":["../../../../styles/theme/providers/ThemeProvider.tsx"],"names":[],"mappings":"AAiBA,OAAO,EACgB,KAAK,aAAa,EACxC,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,kBAAkB,EAAE,KAAK,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACxF,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AA4H9C,KAAK,kBAAkB,GAAG;IACxB;;OAEG;IACH,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAA;mFA1HE,kBAAkB;AA4HrB,wBAAmC"}