@evenicanpm/storefront-core 1.2.1 → 1.3.0

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 (440) hide show
  1. package/.storybook/main.ts +1 -1
  2. package/.storybook/preview.tsx +5 -4
  3. package/__mocks__/countries.ts +1 -1
  4. package/__mocks__/create-query.ts +3 -2
  5. package/package.json +10 -2
  6. package/src/api-manager/datasources/d365/d365-address.datasource.ts +13 -11
  7. package/src/api-manager/datasources/d365/d365-base.datasource.ts +1 -1
  8. package/src/api-manager/datasources/d365/d365-cart.datasource.ts +37 -37
  9. package/src/api-manager/datasources/d365/d365-categories.datasource.ts +3 -3
  10. package/src/api-manager/datasources/d365/d365-order.datasource.ts +10 -9
  11. package/src/api-manager/datasources/d365/d365-organization.datasource.ts +10 -10
  12. package/src/api-manager/datasources/d365/d365-product.datasource.ts +28 -29
  13. package/src/api-manager/datasources/d365/d365-session.datasource.ts +4 -4
  14. package/src/api-manager/datasources/d365/d365-user.datasource.ts +22 -20
  15. package/src/api-manager/datasources/d365/d365.datasource.ts +15 -15
  16. package/src/api-manager/datasources/d365/index.ts +1 -1
  17. package/src/api-manager/datasources/d365/test-context.ts +1 -1
  18. package/src/api-manager/datasources/d365/utils/create-search-criteria.ts +1 -1
  19. package/src/api-manager/datasources/d365/utils/decode-jwt.ts +1 -1
  20. package/src/api-manager/datasources/d365/utils/get-context-cookie.ts +3 -3
  21. package/src/api-manager/datasources/d365/utils/product-images-utils.ts +29 -10
  22. package/src/api-manager/datasources/d365/utils/product-inventory-utils.ts +1 -1
  23. package/src/api-manager/datasources/e4/address/e4-address.datasource.ts +5 -5
  24. package/src/api-manager/datasources/e4/address/e4-address.remaps.ts +2 -2
  25. package/src/api-manager/datasources/e4/address/e4-address.translator.ts +8 -8
  26. package/src/api-manager/datasources/e4/cart/e4-cart.datasource.ts +10 -11
  27. package/src/api-manager/datasources/e4/cart/e4-cart.remaps.ts +9 -8
  28. package/src/api-manager/datasources/e4/cart/e4-cart.translator.ts +3 -3
  29. package/src/api-manager/datasources/e4/categories/e4-categories.datasource.ts +4 -4
  30. package/src/api-manager/datasources/e4/categories/e4-categories.translator.ts +4 -4
  31. package/src/api-manager/datasources/e4/e4.datasource.ts +7 -7
  32. package/src/api-manager/datasources/e4/graphqlRequestSdk.ts +8500 -39780
  33. package/src/api-manager/datasources/e4/order/e4-order.datasource.ts +7 -7
  34. package/src/api-manager/datasources/e4/order/e4-order.remaps.ts +6 -5
  35. package/src/api-manager/datasources/e4/organization/e4-organization.datasource.ts +5 -4
  36. package/src/api-manager/datasources/e4/product/e4-product.datasource.ts +12 -11
  37. package/src/api-manager/datasources/e4/product/e4-product.remaps.ts +1 -1
  38. package/src/api-manager/datasources/e4/product/e4-product.translator.ts +14 -14
  39. package/src/api-manager/datasources/e4/session/e4-session.datasource.ts +2 -2
  40. package/src/api-manager/datasources/e4/session/e4-session.translator.ts +2 -2
  41. package/src/api-manager/datasources/e4/user/e4-user.datasource.ts +10 -10
  42. package/src/api-manager/datasources/e4/user/e4-user.remaps.ts +4 -4
  43. package/src/api-manager/datasources/e4/user/e4-user.translator.ts +6 -4
  44. package/src/api-manager/datasources/e4/utils/unwrap-e4-variants.ts +2 -2
  45. package/src/api-manager/index.ts +7 -7
  46. package/src/api-manager/lib/category-helpers.ts +1 -1
  47. package/src/api-manager/lib/get-dynamics-context.ts +1 -1
  48. package/src/api-manager/lib/get-graphql-client.ts +3 -4
  49. package/src/api-manager/schemas/address.schema.ts +1 -1
  50. package/src/api-manager/schemas/cart.schema.ts +1 -1
  51. package/src/api-manager/schemas/d365.schema.ts +207 -206
  52. package/src/api-manager/schemas/order.schema.ts +1 -1
  53. package/src/api-manager/schemas/organization.schema.ts +1 -1
  54. package/src/api-manager/schemas/product.schema.ts +4 -4
  55. package/src/api-manager/schemas/session.schema.ts +1 -1
  56. package/src/api-manager/schemas/user.schema.ts +1 -1
  57. package/src/api-manager/services/address/mutations/create-address.ts +3 -3
  58. package/src/api-manager/services/address/mutations/delete-address.ts +2 -2
  59. package/src/api-manager/services/address/mutations/get-delivery-options.ts +4 -4
  60. package/src/api-manager/services/address/mutations/update-address.ts +3 -3
  61. package/src/api-manager/services/address/queries/get-countries.ts +6 -4
  62. package/src/api-manager/services/address/queries/get-states.ts +3 -3
  63. package/src/api-manager/services/cart/mutations/add-discount-code.ts +4 -4
  64. package/src/api-manager/services/cart/mutations/add-to-cart.ts +4 -4
  65. package/src/api-manager/services/cart/mutations/checkout.ts +2 -2
  66. package/src/api-manager/services/cart/mutations/delete-cart-line.ts +2 -2
  67. package/src/api-manager/services/cart/mutations/get-payment-accept-result.ts +4 -4
  68. package/src/api-manager/services/cart/mutations/remove-cart-line-delivery-mode.ts +3 -3
  69. package/src/api-manager/services/cart/mutations/remove-discount-code.ts +2 -2
  70. package/src/api-manager/services/cart/mutations/update-cart-line-delivery-mode.ts +2 -2
  71. package/src/api-manager/services/cart/mutations/update-cart-lines.ts +3 -3
  72. package/src/api-manager/services/cart/mutations/update-cart.ts +2 -2
  73. package/src/api-manager/services/cart/queries/get-cart-lines-inventory.ts +2 -2
  74. package/src/api-manager/services/cart/queries/get-cart.ts +5 -3
  75. package/src/api-manager/services/cart/queries/get-payment-accept-point.ts +3 -3
  76. package/src/api-manager/services/categories/queries/get-categories.ts +1 -1
  77. package/src/api-manager/services/create-extension-query.ts +1 -1
  78. package/src/api-manager/services/create-mutation.ts +2 -2
  79. package/src/api-manager/services/create-query.ts +6 -6
  80. package/src/api-manager/services/get-query-client.ts +2 -2
  81. package/src/api-manager/services/order/queries/get-order-details.ts +2 -2
  82. package/src/api-manager/services/order/queries/get-orders.ts +1 -1
  83. package/src/api-manager/services/organization/queries/get-channel-configuration.ts +1 -1
  84. package/src/api-manager/services/organization/queries/get-stores.ts +1 -1
  85. package/src/api-manager/services/product/mutations/search-products.ts +3 -4
  86. package/src/api-manager/services/product/queries/get-product-availability.ts +2 -2
  87. package/src/api-manager/services/product/queries/get-product-by-id.ts +1 -1
  88. package/src/api-manager/services/product/queries/get-product-by-ids.ts +2 -2
  89. package/src/api-manager/services/product/queries/get-product-list.ts +1 -1
  90. package/src/api-manager/services/product/queries/get-product-prices.ts +2 -2
  91. package/src/api-manager/services/product/queries/get-related-products.ts +2 -2
  92. package/src/api-manager/services/product/queries/search-products.ts +2 -2
  93. package/src/api-manager/services/product/server/product.server.ts +3 -3
  94. package/src/api-manager/services/session/mutations/session-init.ts +2 -2
  95. package/src/api-manager/services/session/mutations/session-logout.ts +1 -1
  96. package/src/api-manager/services/session/queries/get-session.ts +1 -1
  97. package/src/api-manager/services/user/mutations/add-to-wishlist.ts +3 -3
  98. package/src/api-manager/services/user/mutations/copy-cart-to-wishlist.ts +3 -3
  99. package/src/api-manager/services/user/mutations/create-wishlist.ts +4 -4
  100. package/src/api-manager/services/user/mutations/delete-wishlist.ts +3 -3
  101. package/src/api-manager/services/user/mutations/remove-from-wishlist.ts +3 -3
  102. package/src/api-manager/services/user/mutations/update-user.ts +2 -2
  103. package/src/api-manager/services/user/mutations/update-wishlist.ts +2 -2
  104. package/src/api-manager/services/user/queries/get-user-counts.ts +1 -1
  105. package/src/api-manager/services/user/queries/get-user.ts +1 -1
  106. package/src/api-manager/services/user/queries/get-wishlist-details.ts +1 -1
  107. package/src/api-manager/services/user/queries/get-wishlists.ts +1 -1
  108. package/src/api-manager/types/Datasource.ts +23 -23
  109. package/src/auth/auth-options.test.ts +4 -5
  110. package/src/auth/auth-options.ts +7 -7
  111. package/src/auth/msal.ts +4 -1
  112. package/src/auth/next-auth-cookie-manager.ts +8 -7
  113. package/src/auth/refresh-token.ts +7 -4
  114. package/src/cms/blocks/block-manager.tsx +10 -10
  115. package/src/cms/blocks/components/brand-logos-scroller.tsx +4 -4
  116. package/src/cms/blocks/components/category-card.tsx +2 -2
  117. package/src/cms/blocks/components/category-carousel/index.tsx +5 -9
  118. package/src/cms/blocks/components/feature-pill.tsx +5 -4
  119. package/src/cms/blocks/components/featured-categories.tsx +5 -2
  120. package/src/cms/blocks/components/featured-products.tsx +2 -2
  121. package/src/cms/blocks/components/footer/data/index.ts +6 -3
  122. package/src/cms/blocks/components/footer/index.tsx +7 -11
  123. package/src/cms/blocks/components/footer/sections/footer-app-store.tsx +2 -2
  124. package/src/cms/blocks/components/footer/sections/footer-contact.tsx +3 -3
  125. package/src/cms/blocks/components/footer/sections/footer-links.tsx +3 -3
  126. package/src/cms/blocks/components/footer/sections/footer-logo.tsx +3 -3
  127. package/src/cms/blocks/components/footer/sections/footer-social-links.tsx +9 -9
  128. package/src/cms/blocks/components/footer/styles/index.ts +1 -1
  129. package/src/cms/blocks/components/footer.tsx +4 -4
  130. package/src/cms/blocks/components/hero-carousel/index.tsx +3 -4
  131. package/src/cms/blocks/components/hero.tsx +4 -5
  132. package/src/cms/blocks/components/image.tsx +4 -5
  133. package/src/cms/blocks/components/media-card.tsx +2 -2
  134. package/src/cms/blocks/components/product-carousel/index.tsx +7 -8
  135. package/src/cms/blocks/components/product-section-fullwidth/index.tsx +16 -20
  136. package/src/cms/blocks/components/rich-text.tsx +2 -2
  137. package/src/cms/blocks/components/seo/index.tsx +2 -2
  138. package/src/cms/blocks/components/services/index.tsx +4 -4
  139. package/src/cms/blocks/components/services/service-card.tsx +7 -9
  140. package/src/cms/blocks/components/shared/featured-product-card.tsx +2 -2
  141. package/src/cms/blocks/components/shared/product-category-item.tsx +4 -5
  142. package/src/cms/blocks/components/shared/product-grid.tsx +5 -4
  143. package/src/cms/blocks/components/shared/top-categories-card.tsx +5 -6
  144. package/src/cms/blocks/components/shared/top-rating-product-card.tsx +3 -3
  145. package/src/cms/blocks/icons/components/category.tsx +3 -3
  146. package/src/cms/blocks/icons/components/dotted-star.tsx +1 -1
  147. package/src/cms/blocks/icons/components/fallback-icon.tsx +1 -1
  148. package/src/cms/blocks/icons/components/gift-box.tsx +1 -1
  149. package/src/cms/blocks/icons/components/light.tsx +1 -1
  150. package/src/cms/blocks/icons/components/new-arrival.tsx +1 -1
  151. package/src/cms/blocks/icons/components/rank-badge.tsx +1 -1
  152. package/src/cms/blocks/icons/index.ts +3 -3
  153. package/src/cms/blocks/index.tsx +6 -6
  154. package/src/cms/blog.ts +2 -2
  155. package/src/cms/endpoints.ts +1 -1
  156. package/src/components-v2/BazaarCard.stories.tsx +1 -1
  157. package/src/components-v2/BazaarCard.tsx +1 -1
  158. package/src/components-v2/BazaarImage.tsx +1 -1
  159. package/src/components-v2/BazaarMenu.stories.tsx +1 -1
  160. package/src/components-v2/BazaarMenu.tsx +2 -2
  161. package/src/components-v2/BazaarSwitch.tsx +1 -1
  162. package/src/components-v2/BazaarTextField.tsx +2 -2
  163. package/src/components-v2/BorderShadowCard.stories.tsx +2 -2
  164. package/src/components-v2/CountryInput.stories.tsx +2 -2
  165. package/src/components-v2/DropZone.stories.tsx +1 -1
  166. package/src/components-v2/DropZone.tsx +7 -7
  167. package/src/components-v2/HoverBox.stories.tsx +1 -1
  168. package/src/components-v2/ImageWithFallback.tsx +3 -2
  169. package/src/components-v2/LazyImage.tsx +10 -2
  170. package/src/components-v2/Loading.tsx +1 -2
  171. package/src/components-v2/SearchInput.stories.tsx +1 -1
  172. package/src/components-v2/SearchInput.tsx +2 -2
  173. package/src/components-v2/SnackbarProvider.tsx +1 -1
  174. package/src/components-v2/T/index.tsx +1 -1
  175. package/src/components-v2/Typography.stories.tsx +2 -2
  176. package/src/components-v2/Typography.tsx +1 -1
  177. package/src/components-v2/WhiteButton.tsx +2 -2
  178. package/src/components-v2/accordion/accordion-header.tsx +5 -5
  179. package/src/components-v2/carousel/Carousel.stories.tsx +1 -1
  180. package/src/components-v2/carousel/carousel.tsx +4 -4
  181. package/src/components-v2/carousel/components/carousel-arrows.tsx +4 -4
  182. package/src/components-v2/carousel/components/carousel-dots.tsx +2 -2
  183. package/src/components-v2/carousel-cards/carousel-card-1/carousel-card-1.tsx +4 -4
  184. package/src/components-v2/categories/Categories.stories.tsx +6 -5
  185. package/src/components-v2/categories/category-list/category-list.tsx +4 -5
  186. package/src/components-v2/categories/category-list/styles.ts +2 -2
  187. package/src/components-v2/categories/category-list-item/category-menu-item.tsx +5 -5
  188. package/src/components-v2/categories/category-menu.tsx +2 -2
  189. package/src/components-v2/categories/mega-menu/banner.tsx +4 -4
  190. package/src/components-v2/categories/mega-menu/column-list.tsx +6 -6
  191. package/src/components-v2/categories/mega-menu/mega-menu-1.tsx +7 -7
  192. package/src/components-v2/categories/mega-menu/mega-menu-2.tsx +3 -2
  193. package/src/components-v2/categories/types.ts +1 -1
  194. package/src/components-v2/countries-input.tsx +2 -2
  195. package/src/components-v2/flex-box/Flex.stories.tsx +1 -1
  196. package/src/components-v2/flex-box/flex-between.tsx +1 -1
  197. package/src/components-v2/flex-box/flex-box.tsx +1 -1
  198. package/src/components-v2/flex-box/flex-row-center.tsx +1 -1
  199. package/src/components-v2/flex-box/index.ts +1 -1
  200. package/src/components-v2/header/__tests__/user.test.tsx +3 -3
  201. package/src/components-v2/header/components/categories-menu.tsx +6 -6
  202. package/src/components-v2/header/components/mobile-header.tsx +17 -18
  203. package/src/components-v2/header/components/user.tsx +24 -23
  204. package/src/components-v2/header/header.tsx +9 -10
  205. package/src/components-v2/header/sticky-header.tsx +3 -3
  206. package/src/components-v2/header/styles/index.ts +3 -2
  207. package/src/components-v2/mini-cart/__tests__/cart-item.test.tsx +6 -6
  208. package/src/components-v2/mini-cart/__tests__/mini-cart.test.tsx +7 -7
  209. package/src/components-v2/mini-cart/components/bottom-actions.tsx +3 -2
  210. package/src/components-v2/mini-cart/components/cart-item.tsx +13 -12
  211. package/src/components-v2/mini-cart/components/empty-view.tsx +2 -1
  212. package/src/components-v2/mini-cart/components/top-header.tsx +6 -5
  213. package/src/components-v2/mini-cart/mini-cart-trigger.tsx +4 -4
  214. package/src/components-v2/mini-cart/mini-cart.tsx +11 -12
  215. package/src/components-v2/mobile-navigation/MobileNavigationBar.stories.tsx +2 -2
  216. package/src/components-v2/mobile-navigation/mobile-navigation-bar.tsx +14 -14
  217. package/src/components-v2/mobile-navigation/styles/index.ts +2 -2
  218. package/src/components-v2/nav-link/nav-link-2.tsx +1 -1
  219. package/src/components-v2/nav-link/nav-link-3.tsx +3 -3
  220. package/src/components-v2/nav-link/nav-link.tsx +3 -3
  221. package/src/components-v2/navbar/categories.tsx +5 -5
  222. package/src/components-v2/navbar/category-based-menu/category-based-menu.tsx +15 -14
  223. package/src/components-v2/navbar/category-based-menu/styles.ts +3 -3
  224. package/src/components-v2/navbar/category-based-menu/types.ts +1 -1
  225. package/src/components-v2/navbar/mega-menu/mega-menu.tsx +11 -10
  226. package/src/components-v2/navbar/mega-menu/styles.ts +2 -2
  227. package/src/components-v2/navbar/mobile-menu/mobile-menu.test.tsx +3 -3
  228. package/src/components-v2/navbar/mobile-menu/mobile-menu.tsx +10 -10
  229. package/src/components-v2/navbar/nav-list/cms-nav.test.tsx +4 -4
  230. package/src/components-v2/navbar/nav-list/nav-item-child.tsx +12 -13
  231. package/src/components-v2/navbar/nav-list/nav-list.tsx +11 -11
  232. package/src/components-v2/navbar/navbar.tsx +3 -4
  233. package/src/components-v2/navbar/styles.ts +4 -4
  234. package/src/components-v2/navbar/utils/transform-nav.test.ts +3 -3
  235. package/src/components-v2/navbar/utils/transform-nav.ts +3 -3
  236. package/src/components-v2/no-records.tsx +2 -2
  237. package/src/components-v2/product-cards/discount-chip.tsx +1 -1
  238. package/src/components-v2/product-cards/favorite-button.tsx +2 -2
  239. package/src/components-v2/product-cards/product-card/ProductCard.stories.tsx +2 -2
  240. package/src/components-v2/product-cards/product-card/product-card.tsx +38 -38
  241. package/src/components-v2/product-cards/product-card/styles/index.ts +2 -2
  242. package/src/components-v2/product-cards/product-card-plp/ProductCardPlp.stories.tsx +2 -2
  243. package/src/components-v2/product-cards/product-card-plp/product-card.tsx +18 -18
  244. package/src/components-v2/product-cards/product-card-plp-list/ProductCardPlpList.stories.tsx +1 -1
  245. package/src/components-v2/product-cards/product-card-plp-list/product-card.tsx +15 -15
  246. package/src/components-v2/product-cards/product-card-search/ProductCardSearch.stories.tsx +2 -2
  247. package/src/components-v2/product-cards/product-card-search/product-card.tsx +16 -16
  248. package/src/components-v2/product-cards/product-price.tsx +1 -1
  249. package/src/components-v2/product-cards/product-rating.tsx +3 -3
  250. package/src/components-v2/product-cards/product-title.tsx +1 -1
  251. package/src/components-v2/product-cards/quantity-buttons.tsx +5 -5
  252. package/src/components-v2/product-dialog/ProductDialog.stories.tsx +2 -2
  253. package/src/components-v2/product-dialog/compound/product-dialog.tsx +14 -14
  254. package/src/components-v2/product-dimensions/Dimensions.stories.tsx +3 -2
  255. package/src/components-v2/product-dimensions/compound/dimensions-group-error.tsx +3 -3
  256. package/src/components-v2/product-dimensions/compound/dimensions-group-label.tsx +1 -1
  257. package/src/components-v2/product-dimensions/compound/dimensions-group-list-chip.tsx +5 -4
  258. package/src/components-v2/product-dimensions/compound/dimensions-group-list.tsx +1 -1
  259. package/src/components-v2/product-dimensions/compound/dimensions-group.tsx +3 -4
  260. package/src/components-v2/product-dimensions/compound/dimensions.tsx +6 -2
  261. package/src/components-v2/product-dimensions/index.tsx +1 -1
  262. package/src/components-v2/product-dimensions/utils/has-selected-dimension.ts +1 -1
  263. package/src/components-v2/product-quantity-buttons/ProductQuantity.stories.tsx +2 -1
  264. package/src/components-v2/product-quantity-buttons/compound/quantity-buttons-root.tsx +7 -7
  265. package/src/components-v2/product-quantity-buttons/index.tsx +5 -2
  266. package/src/components-v2/product-quantity-variants/ProductQuantity.stories.tsx +3 -2
  267. package/src/components-v2/product-quantity-variants/index.tsx +13 -13
  268. package/src/components-v2/products-view/ProductsGrid.stories.tsx +3 -2
  269. package/src/components-v2/products-view/ProductsList.stories.tsx +4 -3
  270. package/src/components-v2/products-view/compound/context.ts +4 -3
  271. package/src/components-v2/products-view/compound/products-grid-view.tsx +7 -6
  272. package/src/components-v2/products-view/compound/products-list-view.tsx +6 -5
  273. package/src/components-v2/products-view/compound/types.ts +2 -2
  274. package/src/components-v2/products-view/index.tsx +3 -3
  275. package/src/components-v2/progress/ProgressBar.stories.tsx +2 -2
  276. package/src/components-v2/progress/progress.tsx +3 -3
  277. package/src/components-v2/scrollbar/Scrollbar.stories.tsx +2 -1
  278. package/src/components-v2/scrollbar/scrollbar.tsx +3 -3
  279. package/src/components-v2/search-bar/SearchBarLarge.stories.tsx +2 -1
  280. package/src/components-v2/search-bar/compound/context.ts +2 -3
  281. package/src/components-v2/search-bar/compound/results-item-lg.tsx +3 -2
  282. package/src/components-v2/search-bar/compound/results-item-sm.tsx +10 -9
  283. package/src/components-v2/search-bar/compound/results-suspense.tsx +4 -4
  284. package/src/components-v2/search-bar/compound/results.tsx +5 -4
  285. package/src/components-v2/search-bar/compound/search-bar-root.tsx +6 -8
  286. package/src/components-v2/search-bar/compound/textfield-adornment-category.tsx +7 -6
  287. package/src/components-v2/search-bar/compound/textfield-adornment-search-icon.tsx +3 -2
  288. package/src/components-v2/search-bar/compound/textfield.tsx +5 -7
  289. package/src/components-v2/search-bar/hooks/use-search.ts +1 -2
  290. package/src/components-v2/search-bar/styles/index.ts +2 -2
  291. package/src/components-v2/search-bar/utils/findCategoryNameById.ts +1 -1
  292. package/src/components-v2/section/Section.stories.tsx +3 -3
  293. package/src/components-v2/section/compound/section-header.tsx +7 -7
  294. package/src/components-v2/section/compound/section.tsx +4 -3
  295. package/src/components-v2/side-nav/SideNav.stories.tsx +4 -4
  296. package/src/components-v2/side-nav/side-nav.tsx +2 -2
  297. package/src/components-v2/wishlist-dialogs/__tests__/create-new-list.test.tsx +5 -7
  298. package/src/components-v2/wishlist-dialogs/add-to-wishlist/AddToWishlist.stories.tsx +2 -2
  299. package/src/components-v2/wishlist-dialogs/add-to-wishlist/add-to-wishlist-button.tsx +2 -2
  300. package/src/components-v2/wishlist-dialogs/add-to-wishlist/compound/add-to-wishlist-bottom-ui.tsx +3 -3
  301. package/src/components-v2/wishlist-dialogs/add-to-wishlist/compound/add-to-wishlist-dialog.tsx +7 -8
  302. package/src/components-v2/wishlist-dialogs/add-to-wishlist/compound/add-to-wishlist-list.tsx +4 -5
  303. package/src/components-v2/wishlist-dialogs/add-to-wishlist/compound/context.ts +2 -1
  304. package/src/components-v2/wishlist-dialogs/add-to-wishlist/compound/wishlist-dialog-header.tsx +8 -10
  305. package/src/components-v2/wishlist-dialogs/add-to-wishlist/compound/wishlist-dialog-item.tsx +6 -6
  306. package/src/components-v2/wishlist-dialogs/add-to-wishlist/hooks/use-add-to-wishlist.ts +4 -6
  307. package/src/components-v2/wishlist-dialogs/create-wishlist/compound/create-wishlist-bottom-ui.tsx +3 -3
  308. package/src/components-v2/wishlist-dialogs/create-wishlist/compound/create-wishlist-dialog.tsx +9 -8
  309. package/src/components-v2/wishlist-dialogs/create-wishlist/compound/create-wishlist-form.tsx +6 -4
  310. package/src/components-v2/wishlist-dialogs/create-wishlist/create-wishlist-button.tsx +2 -2
  311. package/src/components-v2/wishlist-dialogs/styles.ts +4 -4
  312. package/src/hooks/use-cart.ts +1 -1
  313. package/src/hooks/use-nextauth-session.ts +65 -0
  314. package/src/hooks/use-overflow-detect.ts +1 -1
  315. package/src/hooks/use-settings.ts +1 -1
  316. package/src/hooks/use-variants.ts +6 -6
  317. package/src/lib/build-product-detail-url.ts +1 -1
  318. package/src/lib/cart-cookie-handler.ts +1 -1
  319. package/src/lib/category-helpers.ts +1 -1
  320. package/src/lib/create-graphql-client.ts +1 -2
  321. package/src/lib/get-palette-color.ts +1 -1
  322. package/src/lib/graphqlRequestSdk.ts +2 -3
  323. package/src/lib/hexToLuma.ts +2 -2
  324. package/src/lib/product-list-types.ts +1 -1
  325. package/src/lib/refiner-utils.ts +1 -1
  326. package/src/lib/store-hours-helper.ts +1 -1
  327. package/src/pages-v2/account/account-navigation.tsx +13 -13
  328. package/src/pages-v2/account/addresses/address-form.tsx +16 -15
  329. package/src/pages-v2/account/addresses/address-item.tsx +13 -14
  330. package/src/pages-v2/account/dashboard-header.tsx +9 -9
  331. package/src/pages-v2/account/orders/order-progress.tsx +13 -13
  332. package/src/pages-v2/account/orders/order-row.tsx +11 -10
  333. package/src/pages-v2/account/orders/order-summary.tsx +7 -6
  334. package/src/pages-v2/account/orders/ordered-products.tsx +18 -17
  335. package/src/pages-v2/account/profile/profile-button.test.tsx +3 -3
  336. package/src/pages-v2/account/profile/profile-button.tsx +5 -4
  337. package/src/pages-v2/account/profile/user-info.tsx +8 -9
  338. package/src/pages-v2/account/styles.ts +1 -1
  339. package/src/pages-v2/account/wishlist/create-new-list.tsx +10 -9
  340. package/src/pages-v2/account/wishlist/create-wishlist-button.tsx +2 -2
  341. package/src/pages-v2/account/wishlist/wishlist-item.tsx +13 -13
  342. package/src/pages-v2/blog/blog-card.tsx +58 -0
  343. package/src/pages-v2/blog/pagination.tsx +1 -2
  344. package/src/pages-v2/cart/__tests__/cart-item.test.tsx +8 -9
  345. package/src/pages-v2/cart/__tests__/checkout-form.test.tsx +8 -8
  346. package/src/pages-v2/cart/__tests__/countries.json +19407 -0
  347. package/src/pages-v2/cart/__tests__/estimate-shipping.test.tsx +11 -11
  348. package/src/pages-v2/cart/cart-item.tsx +24 -23
  349. package/src/pages-v2/cart/checkout-form.tsx +16 -18
  350. package/src/pages-v2/cart/coupon-entry.tsx +9 -7
  351. package/src/pages-v2/cart/estimate-shipping.tsx +5 -4
  352. package/src/pages-v2/checkout/checkout-alt-form/checkout-form.tsx +17 -16
  353. package/src/pages-v2/checkout/checkout-alt-form/checkout-step.tsx +5 -5
  354. package/src/pages-v2/checkout/checkout-alt-form/step-heading.tsx +3 -3
  355. package/src/pages-v2/checkout/checkout-alt-form/steps/address/address-card.tsx +4 -4
  356. package/src/pages-v2/checkout/checkout-alt-form/steps/address/delivery-address.tsx +21 -21
  357. package/src/pages-v2/checkout/checkout-alt-form/steps/address/new-address-form.tsx +14 -15
  358. package/src/pages-v2/checkout/checkout-alt-form/steps/address/styles.ts +1 -1
  359. package/src/pages-v2/checkout/checkout-alt-form/steps/customer-info/customer-information.tsx +8 -8
  360. package/src/pages-v2/checkout/checkout-alt-form/steps/payment/payment-details.tsx +8 -8
  361. package/src/pages-v2/checkout/checkout-alt-form/steps/payment/safe-card-preview-data.tsx +2 -2
  362. package/src/pages-v2/checkout/checkout-alt-form/steps/shipping/delivery-date.tsx +4 -4
  363. package/src/pages-v2/checkout/checkout-alt-form/steps/shipping/delivery-options.tsx +19 -19
  364. package/src/pages-v2/checkout/checkout-alt-summary/cart-item.tsx +2 -2
  365. package/src/pages-v2/checkout/checkout-alt-summary/checkout-alt-summary.tsx +9 -9
  366. package/src/pages-v2/checkout/checkout-alt-summary/list-item.tsx +2 -2
  367. package/src/pages-v2/confirmation/address.tsx +4 -4
  368. package/src/pages-v2/confirmation/confirmation-summary.tsx +3 -3
  369. package/src/pages-v2/confirmation/ordered-products.tsx +9 -8
  370. package/src/pages-v2/product-details/available-shops.tsx +6 -6
  371. package/src/pages-v2/product-details/bopis/find-in-store-button.tsx +3 -3
  372. package/src/pages-v2/product-details/bopis/find-in-store-modal.tsx +16 -17
  373. package/src/pages-v2/product-details/bopis/pickup-option-select.tsx +4 -4
  374. package/src/pages-v2/product-details/bopis/search-header.tsx +3 -2
  375. package/src/pages-v2/product-details/bopis/store-card/shop-card.tsx +14 -15
  376. package/src/pages-v2/product-details/bopis/store-card/utils/getDaysResources.ts +1 -1
  377. package/src/pages-v2/product-details/checkbox-label.tsx +2 -2
  378. package/src/pages-v2/product-details/currency.ts +1 -0
  379. package/src/pages-v2/product-details/frequently-bought.tsx +11 -11
  380. package/src/pages-v2/product-details/frequently-product-card.tsx +4 -4
  381. package/src/pages-v2/product-details/product-comment.tsx +3 -3
  382. package/src/pages-v2/product-details/product-description.tsx +1 -1
  383. package/src/pages-v2/product-details/product-filter-card.tsx +13 -13
  384. package/src/pages-v2/product-details/product-intro/compound/context.ts +10 -5
  385. package/src/pages-v2/product-details/product-intro/compound/product-info.tsx +19 -19
  386. package/src/pages-v2/product-details/product-intro/compound/product-intro-images.tsx +3 -2
  387. package/src/pages-v2/product-details/product-intro/compound/product-intro.tsx +6 -6
  388. package/src/pages-v2/product-details/product-intro/compound/thumbnail-with-skeleton.tsx +1 -1
  389. package/src/pages-v2/product-details/product-intro/utils.ts +1 -1
  390. package/src/pages-v2/product-details/product-review.tsx +8 -8
  391. package/src/pages-v2/product-details/product-tabs.tsx +6 -6
  392. package/src/pages-v2/product-details/related-products.tsx +5 -5
  393. package/src/pages-v2/product-list/breadcrumbs.tsx +2 -2
  394. package/src/pages-v2/product-list/checkbox-label.tsx +2 -2
  395. package/src/pages-v2/product-list/facet-group.tsx +7 -7
  396. package/src/pages-v2/product-list/facet.tsx +4 -3
  397. package/src/pages-v2/product-list/list-filter.tsx +4 -4
  398. package/src/pages-v2/product-list/pagination.tsx +2 -2
  399. package/src/pages-v2/product-list/product-list-context.tsx +17 -17
  400. package/src/pages-v2/product-list/product-list-state.ts +14 -14
  401. package/src/pages-v2/product-list/product-list-view.tsx +14 -16
  402. package/src/pages-v2/product-list/product-rating.tsx +2 -2
  403. package/src/pages-v2/product-list/quick-view-dialog-content.tsx +20 -20
  404. package/src/pages-v2/product-list/quick-view-dialog.tsx +2 -2
  405. package/src/pages-v2/product-list/range-filter.tsx +5 -5
  406. package/src/pages-v2/product-list/scrollbar.tsx +3 -3
  407. package/src/pages-v2/product-list/search-bar.tsx +12 -12
  408. package/src/pages-v2/product-list/selected-facets.tsx +4 -4
  409. package/src/pages-v2/product-list/side-nav.tsx +1 -1
  410. package/src/pages-v2/product-list/swatch.tsx +3 -4
  411. package/src/pages-v2/product-list/utils/generate-breadcrumbs.ts +1 -1
  412. package/src/pages-v2/product-list/utils/product-list-helper.ts +4 -4
  413. package/src/pages-v2/product-list/utils/product-list-types.ts +1 -1
  414. package/src/pages-v2/product-list/utils/search-for-category.ts +2 -2
  415. package/src/pages-v2/product-list/utils/sort-options.ts +1 -1
  416. package/src/pages-v2/quickorder/order-upload.tsx +2 -2
  417. package/src/pages-v2/quickorder/provider.tsx +8 -7
  418. package/src/pages-v2/quickorder/quick-order-header.tsx +1 -1
  419. package/src/pages-v2/quickorder/quick-order-row.tsx +8 -7
  420. package/src/pages-v2/quickorder/quick-order-table.tsx +3 -3
  421. package/src/pages-v2/quickorder/quick-order.tsx +20 -24
  422. package/src/providers/nav-provider/index.tsx +3 -3
  423. package/src/providers/nav-provider/utils/createLink.ts +1 -1
  424. package/src/providers/notifications/notification-context.tsx +3 -3
  425. package/src/providers/notifications/use-notification.ts +1 -1
  426. package/tsconfig.json +1 -1
  427. package/src/components-v2/sticky/Sticky.stories.tsx +0 -88
  428. package/src/components-v2/sticky/index.ts +0 -1
  429. package/src/components-v2/sticky/sticky.tsx +0 -62
  430. package/src/components-v2/sticky/styles.ts +0 -38
  431. package/src/components-v2/utils/constants.ts +0 -8
  432. package/src/theme/build-mui-theme.ts +0 -104
  433. package/src/theme/components.ts +0 -163
  434. package/src/theme/emotion-cache.tsx +0 -101
  435. package/src/theme/theme-colors.ts +0 -205
  436. package/src/theme/theme-options-sample.ts +0 -69
  437. package/src/theme/theme-options.ts +0 -172
  438. package/src/theme/theme-provider.tsx +0 -44
  439. package/src/theme/typography.ts +0 -22
  440. package/src/theme/utils.ts +0 -17
@@ -1,14 +1,13 @@
1
1
  "use client";
2
2
 
3
- import React, {
4
- ReactNode,
5
- createContext,
6
- useCallback,
7
- useContext,
8
- useEffect,
9
- useMemo,
10
- useState,
11
- } from "react";
3
+ import { BorderShadowCard } from "@evenicanpm/storefront-core/src/components/BoxShadowCard";
4
+ import { FlexBox } from "@evenicanpm/storefront-core/src/components-v2/flex-box";
5
+ import { Span } from "@evenicanpm/storefront-core/src/components-v2/Typography";
6
+ import OrderUploadInner, {
7
+ type OrderUploadItem,
8
+ } from "@evenicanpm/storefront-core/src/pages/quickorder/order-upload";
9
+ import type { ProductSearchResult } from "@msdyn365-commerce/retail-proxy";
10
+ import DeleteIcon from "@mui/icons-material/Delete";
12
11
  import {
13
12
  Button,
14
13
  Table,
@@ -17,28 +16,26 @@ import {
17
16
  TableContainer,
18
17
  TableHead,
19
18
  TableRow,
20
- useTheme,
21
- Box,
22
19
  TextField,
20
+ useTheme,
23
21
  } from "@mui/material";
24
- import DeleteIcon from "@mui/icons-material/Delete";
25
22
  import _ from "lodash";
26
23
  import { useTranslations } from "next-intl";
27
-
28
- import { BorderShadowCard } from "@evenicanpm/storefront-core/src/components/BoxShadowCard";
29
- import { FlexBox } from "@evenicanpm/storefront-core/src/components-v2/flex-box";
30
- import { Span } from "@evenicanpm/storefront-core/src/components-v2/Typography";
31
-
32
- import { ProductSearchResult } from "@msdyn365-commerce/retail-proxy";
33
- import useSearchProducts from "@/api-manager/services/product/mutations/search-products";
24
+ import type React from "react";
25
+ import {
26
+ createContext,
27
+ type ReactNode,
28
+ useCallback,
29
+ useContext,
30
+ useEffect,
31
+ useMemo,
32
+ useState,
33
+ } from "react";
34
34
  import useAddToCart from "@/api-manager/services/cart/mutations/add-to-cart";
35
35
  import getCart from "@/api-manager/services/cart/queries/get-cart";
36
+ import useSearchProducts from "@/api-manager/services/product/mutations/search-products";
36
37
  import useCurrencyFormatter from "@/lib/currency-formatter";
37
38
 
38
- import OrderUploadInner, {
39
- OrderUploadItem,
40
- } from "@evenicanpm/storefront-core/src/pages/quickorder/order-upload";
41
-
42
39
  type TextInputProps = {
43
40
  value: string;
44
41
  onChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
@@ -81,7 +78,6 @@ const QuickOrder = ({ children }: { children?: ReactNode }) => {
81
78
  const { mutateAsync: searchProducts } = useSearchProducts();
82
79
  const { mutateAsync: addToCartMut } = useAddToCart();
83
80
  const { data: cart } = getCart.useData();
84
- const t = useTranslations("QuickOrder");
85
81
 
86
82
  const generateEmptyRow = (id: number): QuickOrderRowData => ({
87
83
  id,
@@ -1,9 +1,9 @@
1
1
  "use client";
2
- import { CmsNavItem } from "@/cms/interfaces/navigation";
3
- import React, { createContext, PropsWithChildren, useState } from "react";
2
+ import type { CategoryHierarchy } from "@evenicanpm/storefront-core/src/lib/category-helpers";
4
3
  import { createLink } from "@evenicanpm/storefront-core/src/providers/nav-provider/utils/createLink";
5
4
  import { useTranslations } from "next-intl";
6
- import { CategoryHierarchy } from "@evenicanpm/storefront-core/src/lib/category-helpers";
5
+ import React, { createContext, type PropsWithChildren, useState } from "react";
6
+ import type { CmsNavItem } from "@/cms/interfaces/navigation";
7
7
 
8
8
  type NavContextType = {
9
9
  cmsNav: CmsNavItem[];
@@ -1,4 +1,4 @@
1
- import { CmsNavItem } from "@/cms/interfaces/navigation";
1
+ import type { CmsNavItem } from "@evenicanpm/storefront-core/src/cms/interfaces/navigation";
2
2
 
3
3
  export const createLink = (name: string, path: string): CmsNavItem => {
4
4
  return {
@@ -1,7 +1,7 @@
1
- import { Alert, Snackbar, SnackbarCloseReason } from "@mui/material";
2
- import React, { createContext } from "react";
1
+ import type { DatasourceApis } from "@evenicanpm/storefront-core/src/api-manager/types/Datasource";
3
2
  import { useNotification } from "@evenicanpm/storefront-core/src/providers/notifications/use-notification";
4
- import { DatasourceApis } from "@evenicanpm/storefront-core/src/api-manager/types/Datasource";
3
+ import { Alert, Snackbar, type SnackbarCloseReason } from "@mui/material";
4
+ import React, { createContext } from "react";
5
5
 
6
6
  const DEFAULT_ALERT_TIME = 5000;
7
7
 
@@ -1,5 +1,5 @@
1
- import React from "react";
2
1
  import { NotificationContext } from "@evenicanpm/storefront-core/src/providers/notifications/notification-context";
2
+ import React from "react";
3
3
 
4
4
  export const useNotification = () => {
5
5
  const context = React.useContext(NotificationContext);
package/tsconfig.json CHANGED
@@ -30,5 +30,5 @@
30
30
  "@messages/*": ["../../../../storefront/messages/*"]
31
31
  }
32
32
  },
33
- "include": ["src", "."]
33
+ "include": ["src"]
34
34
  }
@@ -1,88 +0,0 @@
1
- import type { Meta, StoryObj } from "@storybook/react";
2
- import Sticky from "./index";
3
- import { Box, Paper, Typography } from "@mui/material";
4
-
5
- const meta: Meta<typeof Sticky> = {
6
- title: "Utility/Sticky",
7
- component: Sticky,
8
- parameters: {
9
- layout: "fullscreen",
10
- },
11
- };
12
- export default meta;
13
- type Story = StoryObj<typeof Sticky>;
14
-
15
- // helper scrollable content
16
- const ScrollContent = () => (
17
- <Box sx={{ height: "1500px", p: 2, bgcolor: "grey.100" }}>
18
- <Typography>Scroll down to see Sticky in action.</Typography>
19
- </Box>
20
- );
21
-
22
- export const Basic: Story = {
23
- args: {
24
- fixedOn: 100,
25
- },
26
- render: (args) => (
27
- <Box>
28
- <Sticky {...args}>
29
- <Paper
30
- sx={{
31
- p: 2,
32
- bgcolor: "primary.main",
33
- color: "white",
34
- textAlign: "center",
35
- }}
36
- >
37
- <Typography>Basic Sticky Header</Typography>
38
- </Paper>
39
- </Sticky>
40
- <ScrollContent />
41
- </Box>
42
- ),
43
- };
44
-
45
- export const WithScrollDistance: Story = {
46
- args: {
47
- fixedOn: 100,
48
- scrollDistance: 50,
49
- },
50
- render: (args) => (
51
- <Box>
52
- <Sticky {...args}>
53
- <Paper
54
- sx={{
55
- p: 2,
56
- bgcolor: "secondary.main",
57
- color: "white",
58
- textAlign: "center",
59
- }}
60
- >
61
- <Typography>Becomes sticky at 150px (100 + 50)</Typography>
62
- </Paper>
63
- </Sticky>
64
- <ScrollContent />
65
- </Box>
66
- ),
67
- };
68
-
69
- export const Sidebar: Story = {
70
- args: {
71
- fixedOn: 200,
72
- },
73
- render: (args) => (
74
- <Box sx={{ display: "flex", minHeight: "150vh" }}>
75
- <Box sx={{ flex: 1, p: 2 }}>
76
- <Typography>Main content goes here...</Typography>
77
- <ScrollContent />
78
- </Box>
79
- <Box sx={{ width: 250, p: 2 }}>
80
- <Sticky {...args}>
81
- <Paper sx={{ p: 2, bgcolor: "info.main", color: "white" }}>
82
- <Typography>Sticky Sidebar</Typography>
83
- </Paper>
84
- </Sticky>
85
- </Box>
86
- </Box>
87
- ),
88
- };
@@ -1 +0,0 @@
1
- export { default } from "@evenicanpm/storefront-core/src/components-v2/sticky/sticky";
@@ -1,62 +0,0 @@
1
- import { useCallback, useEffect, useRef, useState, ReactNode } from "react";
2
- import clsx from "clsx";
3
- import { StyledBox } from "@evenicanpm/storefront-core/src/components-v2/sticky/styles";
4
-
5
- // ============================================================
6
- interface Props {
7
- fixedOn: number;
8
- children: ReactNode;
9
- scrollDistance?: number;
10
- onSticky?: (isFixed: boolean) => void;
11
- }
12
-
13
- // ============================================================
14
-
15
- export default function Sticky({
16
- fixedOn,
17
- children,
18
- onSticky,
19
- scrollDistance = 0,
20
- }: Props) {
21
- const [fixed, setFixed] = useState(false);
22
- const elementRef = useRef<HTMLDivElement>(null);
23
- const [height, setHeight] = useState(0);
24
-
25
- const scrollListener = useCallback(() => {
26
- if (!window) return;
27
-
28
- const isFixed = window.scrollY >= fixedOn + scrollDistance;
29
- setFixed(isFixed);
30
- }, [fixedOn, scrollDistance]);
31
-
32
- useEffect(() => {
33
- if (!window) return;
34
-
35
- window.addEventListener("scroll", scrollListener);
36
- window.addEventListener("resize", scrollListener);
37
-
38
- return () => {
39
- window.removeEventListener("scroll", scrollListener);
40
- window.removeEventListener("resize", scrollListener);
41
- };
42
- }, [scrollListener]);
43
-
44
- useEffect(() => {
45
- if (onSticky) onSticky(fixed);
46
- }, [fixed, onSticky]);
47
-
48
- useEffect(() => {
49
- if (elementRef.current) {
50
- setHeight(elementRef.current.offsetHeight);
51
- scrollListener();
52
- }
53
- }, [scrollListener]);
54
-
55
- return (
56
- <StyledBox fixedOn={fixedOn} componentHeight={height} fixed={fixed}>
57
- <div className={clsx({ hold: !fixed, fixed: fixed })} ref={elementRef}>
58
- {children}
59
- </div>
60
- </StyledBox>
61
- );
62
- }
@@ -1,38 +0,0 @@
1
- import { keyframes, styled } from "@mui/material/styles";
2
-
3
- // ==============================================================
4
- interface Props {
5
- fixed?: boolean;
6
- fixedOn?: number;
7
- componentHeight?: number;
8
- }
9
- // ==============================================================
10
-
11
- const slideDown = keyframes`
12
- from {transform: translateY(-200%)}
13
- to {transform: translateY(0)}
14
- `;
15
-
16
- export const StyledBox = styled("div", {
17
- shouldForwardProp: (prop) =>
18
- prop !== "componentHeight" && prop !== "fixed" && prop !== "fixedOn",
19
- })<Props>(({ theme, componentHeight, fixedOn, fixed }) => ({
20
- paddingTop: fixed ? componentHeight : 0,
21
-
22
- "& .hold": {
23
- zIndex: 5,
24
- boxShadow: "none",
25
- position: "relative",
26
- },
27
-
28
- "& .fixed": {
29
- left: 0,
30
- right: 0,
31
- zIndex: 1500,
32
- position: "fixed",
33
- top: `${fixedOn}px`,
34
- boxShadow: theme.shadows[2],
35
- transition: "all 350ms ease-in-out",
36
- animation: `${slideDown} 400ms ${theme.transitions.easing.easeInOut}`,
37
- },
38
- }));
@@ -1,8 +0,0 @@
1
- export const layoutConstant = {
2
- topbarHeight: 40,
3
- headerHeight: 80,
4
- mobileNavHeight: 64,
5
- containerWidth: 1200,
6
- mobileHeaderHeight: 64,
7
- grocerySidenavWidth: 280,
8
- };
@@ -1,104 +0,0 @@
1
- "use client";
2
- // The file that contains a call to createTheme must have a use client directive
3
- // https://mui.com/material-ui/integrations/nextjs/
4
- import { createTheme, Theme } from "@mui/material/styles";
5
- import { Shadows, ThemeOptions } from "@mui/material";
6
- import { ThemeItem } from "@evenicanpm/storefront-core/src/api-manager/datasources/e4/graphqlRequestSdk";
7
-
8
- /**
9
- * Converts database theme object into an MUI theme object to pass to the ThemeProvider
10
- * @param themeObject is E4 theme entity
11
- * @returns an MUI theme object
12
- */
13
- const themeBuilder = (themeObject: ThemeItem): Theme => {
14
- const theme = {
15
- breakpoints: {
16
- values: {
17
- xs: 0,
18
- sm: themeObject.smBreakpoint,
19
- md: themeObject.mdBreakpoint,
20
- lg: themeObject.lgBreakpoint,
21
- xl: themeObject.xlBreakpoint,
22
- },
23
- },
24
- palette: {
25
- background: {
26
- default: "#FAFAFA",
27
- paper: themeObject.panelBackground || "#f6f9fc",
28
- },
29
- primary: {
30
- main: themeObject.colorPrimary,
31
- contrastText: "#FFF",
32
- },
33
- secondary: {
34
- main: themeObject.colorSecondary,
35
- },
36
- text: {
37
- primary: themeObject.textPrimary,
38
- secondary: themeObject.textSecondary,
39
- },
40
- warning: {
41
- main: themeObject.warning,
42
- },
43
- success: {
44
- main: themeObject.success,
45
- },
46
- error: {
47
- main: themeObject.error,
48
- },
49
- info: {
50
- main: themeObject.info,
51
- },
52
- },
53
- typography: {
54
- fontFamily: themeObject.fontFamily,
55
- h1: {
56
- fontSize: `${themeObject.h1}rem`,
57
- fontFamily: themeObject.h1Font || themeObject.fontFamily,
58
- },
59
- h2: {
60
- fontSize: `${themeObject.h2}rem`,
61
- fontFamily: themeObject.fontFamily,
62
- },
63
- h3: {
64
- fontSize: `${themeObject.h3}rem`,
65
- fontFamily: themeObject.fontFamily,
66
- },
67
- h4: {
68
- fontSize: `${themeObject.h4}rem`,
69
- fontFamily: themeObject.fontFamily,
70
- },
71
- h5: {
72
- fontSize: `${themeObject.h5}rem`,
73
- fontFamily: themeObject.h5Font || themeObject.fontFamily,
74
- },
75
- h6: {
76
- fontSize: `${themeObject.h6}rem`,
77
- fontFamily: themeObject.h6Font || themeObject.fontFamily,
78
- },
79
- body1: {
80
- fontSize: `${themeObject.body1}rem`,
81
- fontFamily: themeObject.body1Font || themeObject.fontFamily,
82
- },
83
- body2: {
84
- fontSize: `${themeObject.body2}rem`,
85
- fontFamily: themeObject.body2Font || themeObject.fontFamily,
86
- },
87
- },
88
- shape: {
89
- borderRadius: 4,
90
- },
91
- shadows: [
92
- "none",
93
- "0px 0px 3px rgba(0, 0, 0, 0.09)",
94
- "0px 35px 60px rgba(0, 0, 0, 0.25)",
95
- "20px 55px 60px rgba(0, 0, 0, 0.25)",
96
- "10px 15px 60px rgba(0, 0, 0, 0.25)",
97
- ...Array(20).fill("none"),
98
- ] as Shadows,
99
- };
100
- const e4Theme = createTheme(theme as ThemeOptions);
101
- return e4Theme;
102
- };
103
-
104
- export default themeBuilder;
@@ -1,163 +0,0 @@
1
- import { Components } from "@mui/material/styles/components";
2
- import { dark, grey, primary, secondary, success } from "./theme-colors";
3
- import { typography } from "./typography";
4
- import { classes } from "./utils";
5
-
6
- // ========================================================
7
-
8
- declare module "@mui/material/Button" {
9
- interface ButtonPropsColorOverrides {
10
- dark: true;
11
- paste: true;
12
- marron: true;
13
- orange: true;
14
- }
15
-
16
- interface ButtonPropsSizeOverrides {
17
- normal: true;
18
- }
19
- }
20
- // =========================================================
21
-
22
- export const components: Components = {
23
- MuiCssBaseline: {
24
- styleOverrides: {
25
- "*": {
26
- margin: 0,
27
- padding: 0,
28
- boxSizing: "border-box",
29
- scrollBehavior: "smooth",
30
- },
31
- html: {
32
- scrollBehavior: "smooth",
33
- },
34
- p: {
35
- lineHeight: 1.75,
36
- },
37
- button: {
38
- fontSize: 14,
39
- fontFamily: typography.fontFamily,
40
- },
41
- ".MuiRating-sizeSmall": {
42
- fontSize: "20px",
43
- },
44
- a: {
45
- color: "inherit",
46
- textDecoration: "none",
47
- },
48
- ul: {
49
- margin: 0,
50
- padding: 0,
51
- listStyle: "none",
52
- },
53
- ".bg-white": {
54
- backgroundColor: "white",
55
- },
56
-
57
- ...classes(),
58
- },
59
- },
60
- MuiInputLabel: {
61
- styleOverrides: {
62
- root: { zIndex: 0 },
63
- },
64
- },
65
- MuiDialog: {
66
- styleOverrides: {
67
- paper: { borderRadius: 8 },
68
- },
69
- },
70
- MuiCard: {
71
- styleOverrides: {
72
- root: { borderRadius: "8px" },
73
- },
74
- },
75
- MuiPagination: {
76
- defaultProps: {
77
- variant: "outlined",
78
- color: "primary",
79
- },
80
- },
81
- MuiMenuItem: {
82
- styleOverrides: {
83
- root: { paddingTop: 8, paddingBottom: 8 },
84
- },
85
- },
86
- MuiSvgIcon: {
87
- styleOverrides: {
88
- root: {
89
- "& .secondary": { opacity: 0.4 },
90
- },
91
- },
92
- },
93
- MuiTextField: {
94
- defaultProps: { size: "small", variant: "outlined" },
95
- styleOverrides: {
96
- root: ({ ownerState }) => ({
97
- ...(ownerState.color === "info" && {
98
- "& .MuiOutlinedInput-root": { borderRadius: "8px", fontWeight: 600 },
99
- "& .MuiOutlinedInput-notchedOutline": { borderColor: grey[300] },
100
- }),
101
- }),
102
- },
103
- },
104
-
105
- MuiButton: {
106
- styleOverrides: {
107
- root: ({ ownerState }) => ({
108
- minWidth: 0,
109
- minHeight: 0,
110
- fontWeight: 600,
111
- borderRadius: "6px",
112
- textTransform: "capitalize",
113
-
114
- ...(ownerState.color === "dark" && {
115
- color: "#fff",
116
- borderRadius: 0,
117
- transition: "all 0.3s",
118
- ":hover": { backgroundColor: "#343434" },
119
- }),
120
-
121
- ...(ownerState.color === "dark" &&
122
- ownerState.variant === "outlined" && {
123
- color: dark.main,
124
- borderRadius: "3px",
125
- transition: "all 0.3s",
126
- ":hover": { backgroundColor: dark.main, color: "white" },
127
- }),
128
-
129
- ...((ownerState.color === "info" || ownerState.color === "orange") && {
130
- borderRadius: "8px",
131
- }),
132
-
133
- ...((ownerState.color === "orange" ||
134
- ownerState.color === "success") && {
135
- color: "white",
136
- }),
137
- }),
138
- sizeLarge: { padding: ".6rem 2.5rem" },
139
- },
140
- defaultProps: { color: "inherit" },
141
- },
142
-
143
- MuiChip: {
144
- defaultProps: { color: "primary" },
145
- styleOverrides: {
146
- labelSmall: { paddingInline: 12 },
147
- colorSuccess: { color: success.main, backgroundColor: success[100] },
148
- colorSecondary: {
149
- color: secondary[500],
150
- backgroundColor: secondary[100],
151
- },
152
- colorPrimary: {
153
- color: primary[500],
154
- backgroundColor: primary[100],
155
- "&:hover": { color: primary[500], backgroundColor: primary[100] },
156
- },
157
- },
158
- },
159
-
160
- MuiContainer: {
161
- defaultProps: { maxWidth: "xl" },
162
- },
163
- };
@@ -1,101 +0,0 @@
1
- "use client";
2
- import * as React from "react";
3
- import createCache from "@emotion/cache";
4
- import { useServerInsertedHTML } from "next/navigation";
5
- import { CacheProvider as DefaultCacheProvider } from "@emotion/react";
6
- import type {
7
- EmotionCache,
8
- Options as OptionsOfCreateCache,
9
- } from "@emotion/cache";
10
-
11
- export type NextAppDirEmotionCacheProviderProps = {
12
- /** This is the options passed to createCache() from 'import createCache from "@emotion/cache"' */
13
- options: Omit<OptionsOfCreateCache, "insertionPoint">;
14
- /** By default <CacheProvider /> from 'import { CacheProvider } from "@emotion/react"' */
15
- CacheProvider?: (props: {
16
- value: EmotionCache;
17
- children: React.ReactNode;
18
- }) => React.JSX.Element | null;
19
- children: React.ReactNode;
20
- };
21
-
22
- // Adapted from https://github.com/garronej/tss-react/blob/main/src/next/appDir.tsx
23
- export default function NextAppDirEmotionCacheProvider(
24
- props: NextAppDirEmotionCacheProviderProps,
25
- ) {
26
- const { options, CacheProvider = DefaultCacheProvider, children } = props;
27
-
28
- const [registry] = React.useState(() => {
29
- const cache = createCache(options);
30
- cache.compat = true;
31
- const prevInsert = cache.insert;
32
- let inserted: { name: string; isGlobal: boolean }[] = [];
33
-
34
- cache.insert = (...args) => {
35
- const [selector, serialized] = args;
36
- if (cache.inserted[serialized.name] === undefined) {
37
- inserted.push({
38
- name: serialized.name,
39
- isGlobal: !selector,
40
- });
41
- }
42
- return prevInsert(...args);
43
- };
44
-
45
- const flush = () => {
46
- const prevInserted = inserted;
47
- inserted = [];
48
- return prevInserted;
49
- };
50
-
51
- return { cache, flush };
52
- });
53
-
54
- useServerInsertedHTML(() => {
55
- const inserted = registry.flush();
56
-
57
- if (inserted.length === 0) {
58
- return null;
59
- }
60
-
61
- let styles = "";
62
- let dataEmotionAttribute = registry.cache.key;
63
-
64
- const globals: { name: string; style: string }[] = [];
65
-
66
- inserted.forEach(({ name, isGlobal }) => {
67
- const style = registry.cache.inserted[name] ?? "";
68
-
69
- if (typeof style !== "boolean") {
70
- if (isGlobal) {
71
- globals.push({ name, style });
72
- } else {
73
- styles += style;
74
- dataEmotionAttribute += ` ${name}`;
75
- }
76
- }
77
- });
78
-
79
- return (
80
- <React.Fragment>
81
- {globals.map(({ name, style }) => (
82
- <style
83
- key={name}
84
- data-emotion={`${registry.cache.key}-global ${name}`}
85
- // eslint-disable-next-line react/no-danger
86
- dangerouslySetInnerHTML={{ __html: style }}
87
- />
88
- ))}
89
- {styles && (
90
- <style
91
- data-emotion={dataEmotionAttribute}
92
- // eslint-disable-next-line react/no-danger
93
- dangerouslySetInnerHTML={{ __html: styles }}
94
- />
95
- )}
96
- </React.Fragment>
97
- );
98
- });
99
-
100
- return <CacheProvider value={registry.cache}>{children}</CacheProvider>;
101
- }