@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,14 @@
1
- import { Session, type NextAuthOptions } from "next-auth";
2
- import { getServerSession } from "next-auth/next";
3
- import { JWT } from "next-auth/jwt";
4
- import {
1
+ // import { getSecret } from "@evenicanpm/common-core/src/lib/keyvault";
2
+ import { deleteCartCookie } from "@evenicanpm/storefront-core/src/lib/cart-cookie-handler";
3
+ import type {
5
4
  GetServerSidePropsContext,
6
5
  NextApiRequest,
7
6
  NextApiResponse,
8
7
  } from "next";
8
+ import type { NextAuthOptions, Session } from "next-auth";
9
+ import type { JWT } from "next-auth/jwt";
10
+ import { getServerSession } from "next-auth/next";
9
11
  import { getProviders } from "@/auth/providers";
10
- import { deleteCartCookie } from "@evenicanpm/storefront-core/src/lib/cart-cookie-handler";
11
- import { getSecret } from "@evenicanpm/common-core/keyvault";
12
12
 
13
13
  // Split providers into separate array so we can iterate them and match the provider ID
14
14
  export type ExtendedJwtToken = JWT & {
@@ -20,7 +20,7 @@ export type ExtendedSession = Session & { token?: JWT };
20
20
 
21
21
  const createAuthOptions = (): NextAuthOptions => {
22
22
  const providers = getProviders();
23
- const secret = getSecret("NEXTAUTH_SECRET");
23
+ const secret = process.env.NEXTAUTH_SECRET; //getSecret("NEXTAUTH_SECRET");
24
24
  return {
25
25
  providers,
26
26
  secret,
package/src/auth/msal.ts CHANGED
@@ -1,4 +1,7 @@
1
- import { PublicClientApplication, Configuration } from "@azure/msal-browser";
1
+ import {
2
+ type Configuration,
3
+ PublicClientApplication,
4
+ } from "@azure/msal-browser";
2
5
 
3
6
  const createMsalConfig = (): Configuration => {
4
7
  return {
@@ -1,12 +1,13 @@
1
1
  "use server";
2
- import { RequestCookie } from "next/dist/compiled/@edge-runtime/cookies";
2
+ import type { RequestCookie } from "next/dist/compiled/@edge-runtime/cookies";
3
3
  import { cookies } from "next/headers";
4
- import { encode, decode, JWT } from "next-auth/jwt";
5
- import { ExtendedJwtToken } from "@/auth/auth-options";
4
+ import { decode, encode, type JWT } from "next-auth/jwt";
5
+ import type { ExtendedJwtToken } from "@/auth/auth-options";
6
+
6
7
  const NEXT_AUTH_COOKIE_NAME = "next-auth.session-token";
7
8
  const SECURE_COOKIE_PREFIX = "__Secure-";
8
9
 
9
- import { getSecret } from "@evenicanpm/common-core/keyvault";
10
+ // import { getSecret } from "@evenicanpm/common-core/src/lib/keyvault";
10
11
 
11
12
  /**
12
13
  * Retrieves and decodes the NextAuth session cookie from the request.
@@ -30,7 +31,7 @@ const manuallyRetrieveSessionCookie = async () => {
30
31
  if (cookie) {
31
32
  return decode({
32
33
  token: cookie.value,
33
- secret: getSecret("NEXTAUTH_SECRET") || "",
34
+ secret: process.env.NEXTAUTH_SECRET || "",
34
35
  });
35
36
  }
36
37
  //If the cookie is not found, we need to see if there is a chunked cookie
@@ -51,7 +52,7 @@ const manuallyRetrieveSessionCookie = async () => {
51
52
  if (cookieValues.length) {
52
53
  return decode({
53
54
  token: cookieValues.join(""),
54
- secret: getSecret("NEXTAUTH_SECRET") || "",
55
+ secret: process.env.NEXTAUTH_SECRET || "",
55
56
  });
56
57
  }
57
58
 
@@ -75,7 +76,7 @@ const manuallySetSessionCookie = async (token: JWT | ExtendedJwtToken) => {
75
76
  // Set the cookie with the name __Secure-next-auth.session-token
76
77
  const value = await encode({
77
78
  token,
78
- secret: getSecret("NEXTAUTH_SECRET") || "",
79
+ secret: process.env.NEXTAUTH_SECRET || "",
79
80
  });
80
81
  cookieStore.set({
81
82
  name: `${SECURE_COOKIE_PREFIX}${NEXT_AUTH_COOKIE_NAME}`,
@@ -1,9 +1,12 @@
1
1
  "use server";
2
- import { JWT } from "next-auth/jwt";
3
- // TODO: what is going on here?
4
- import { AuthorizationEndpointHandler, OAuthConfig } from "next-auth/providers";
5
2
  import jwt from "jsonwebtoken";
6
- import { ExtendedJwtToken } from "@/auth/auth-options";
3
+ import type { JWT } from "next-auth/jwt";
4
+ // TODO: what is going on here?
5
+ import type {
6
+ AuthorizationEndpointHandler,
7
+ OAuthConfig,
8
+ } from "next-auth/providers";
9
+ import type { ExtendedJwtToken } from "@/auth/auth-options";
7
10
  import { getProviders } from "@/auth/providers";
8
11
 
9
12
  type TokenResponse = {
@@ -1,20 +1,20 @@
1
1
  import { Box } from "@mui/material";
2
+ import type { Block } from "@/cms/blocks/interfaces";
2
3
  import {
3
- Hero,
4
- FeaturePill,
5
- FeaturedProducts,
6
- FeaturedCategories,
7
4
  BrandLogosScroller,
8
- HeroCarousel,
9
- Services,
10
- ProductCarousel,
11
- ProductSectionFullWidth,
12
5
  CategoryCarousel,
6
+ FeaturedCategories,
7
+ FeaturedProducts,
8
+ FeaturePill,
13
9
  Footer,
10
+ Hero,
11
+ HeroCarousel,
14
12
  Image,
13
+ ProductCarousel,
14
+ ProductSectionFullWidth,
15
15
  RichText,
16
- } from "@/cms/blocks/index";
17
- import { Block } from "@/cms/blocks/interfaces";
16
+ Services,
17
+ } from "../blocks/index";
18
18
 
19
19
  const componentMap = {
20
20
  "blocks.hero-section": Hero,
@@ -1,11 +1,11 @@
1
1
  "use client";
2
2
 
3
- import React from "react";
4
- import Image from "next/image";
5
- import { Box, Container } from "@mui/material";
6
3
  import { keyframes } from "@emotion/react";
4
+ import { Box, Container } from "@mui/material";
5
+ import Image from "next/image";
6
+ import React from "react";
7
+ import type { LogoScrollerBlock } from "@/cms/blocks/interfaces";
7
8
  import cmsEndPoints from "@/cms/endpoints";
8
- import { LogoScrollerBlock } from "@/cms/blocks/interfaces";
9
9
 
10
10
  const bounce = keyframes`
11
11
  from {
@@ -1,8 +1,8 @@
1
- import React from "react";
2
- import Card from "@mui/material/Card";
3
1
  import Box from "@mui/material/Box";
4
2
  import Button from "@mui/material/Button";
3
+ import Card from "@mui/material/Card";
5
4
  import Image from "next/image";
5
+ import React from "react";
6
6
 
7
7
  import cmsEndPoints from "@/cms/endpoints";
8
8
 
@@ -1,22 +1,18 @@
1
1
  "use client";
2
2
 
3
- import React from "react";
4
- import NextLink from "next/link";
5
-
6
- // CUSTOM ICON COMPONENT
7
- import CategoryIcon from "@/cms/blocks/icons/components/category";
8
-
9
3
  // GLOBAL CUSTOM COMPONENT
10
4
  import BazaarCard from "@evenicanpm/storefront-core/src/components-v2/BazaarCard";
11
5
  import { Carousel } from "@evenicanpm/storefront-core/src/components-v2/carousel/index";
12
6
  import { Section } from "@evenicanpm/storefront-core/src/components-v2/section";
13
-
7
+ import NextLink from "next/link";
8
+ import React from "react";
14
9
  // LOCAL CUSTOM COMPONENT
15
10
  import TopCategoriesCard from "@/cms/blocks/components/shared/top-categories-card";
11
+ // CUSTOM ICON COMPONENT
12
+ import CategoryIcon from "@/cms/blocks/icons/components/category";
13
+ import type { CategoryCarouselBlock } from "@/cms/blocks/interfaces";
16
14
  import { getImageUrl } from "@/cms/endpoints";
17
15
 
18
- import { CategoryCarouselBlock } from "@/cms/blocks/interfaces";
19
-
20
16
  export default function CategoryCarousel(data: CategoryCarouselBlock) {
21
17
  const responsive = [
22
18
  { breakpoint: 959, settings: { slidesToShow: 2 } },
@@ -1,12 +1,13 @@
1
- import { Box, Container, Typography, Divider, Paper } from "@mui/material";
1
+ import { Box, Container, Divider, Paper, Typography } from "@mui/material";
2
2
  import Grid from "@mui/material/Grid2";
3
3
  import {
4
- MdLocalOffer as LocalOffer,
5
- MdShoppingBag as ShoppingBag,
6
4
  MdAddLocation as AddLocation,
5
+ MdLocalOffer as LocalOffer,
7
6
  MdMonetizationOn as MonetizationOn,
7
+ MdShoppingBag as ShoppingBag,
8
8
  } from "react-icons/md";
9
- import { FeaturesPillBlock } from "@/cms/blocks/interfaces";
9
+ import type { FeaturesPillBlock } from "@/cms/blocks/interfaces";
10
+
10
11
  const FeaturePill = (featurePillData: FeaturesPillBlock) => {
11
12
  return (
12
13
  <Box
@@ -1,10 +1,13 @@
1
- import React from "react";
2
1
  import { Box, Container } from "@mui/material";
3
2
  import Grid from "@mui/material/Grid2";
3
+ import React from "react";
4
4
 
5
5
  // Local components
6
6
  import CategoryCard from "@/cms/blocks/components/category-card";
7
- import { Category, FeaturedCategoriesBlock } from "@/cms/blocks/interfaces";
7
+ import type {
8
+ Category,
9
+ FeaturedCategoriesBlock,
10
+ } from "@/cms/blocks/interfaces";
8
11
 
9
12
  const FeaturedCategories = (categoriesData: FeaturedCategoriesBlock) => {
10
13
  return (
@@ -1,10 +1,10 @@
1
- import React from "react";
2
1
  import { Box, Container } from "@mui/material";
3
2
  import Grid from "@mui/material/Grid2";
3
+ import React from "react";
4
4
 
5
5
  // Local components
6
6
  import MediaCard from "@/cms/blocks/components/media-card";
7
- import { FeaturedProductsBlock, Product } from "@/cms/blocks/interfaces";
7
+ import type { FeaturedProductsBlock, Product } from "@/cms/blocks/interfaces";
8
8
 
9
9
  const FeaturedProducts = (productsData: FeaturedProductsBlock) => {
10
10
  return (
@@ -1,8 +1,11 @@
1
1
  // CUSTOM ICON COMPONENTS
2
+
3
+ import {
4
+ FaGoogle as Google,
5
+ FaInstagram as Instagram,
6
+ FaTwitter as Twitter,
7
+ } from "react-icons/fa";
2
8
  import { MdFacebook as Facebook } from "react-icons/md";
3
- import { FaGoogle as Google } from "react-icons/fa";
4
- import { FaTwitter as Twitter } from "react-icons/fa";
5
- import { FaInstagram as Instagram } from "react-icons/fa";
6
9
 
7
10
  export const ABOUT_LINKS = [
8
11
  "Careers",
@@ -1,20 +1,16 @@
1
- import React from "react";
2
-
3
1
  // MUI
4
2
  import { Box, Container } from "@mui/material";
5
3
  import Grid from "@mui/material/Grid2";
6
-
7
- // Local Custom Components
8
- import Logo from "@/cms/blocks/components/footer/sections/footer-logo";
9
- import Links from "@/cms/blocks/components/footer/sections/footer-links";
10
- import Contact from "@/cms/blocks/components/footer/sections/footer-contact";
11
-
12
- import cms from "@/cms/endpoints";
13
-
14
- import {
4
+ import React from "react";
5
+ import type {
15
6
  FooterBlock,
16
7
  FooterResponse,
17
8
  } from "@/cms/blocks/components/footer/interfaces";
9
+ import Contact from "@/cms/blocks/components/footer/sections/footer-contact";
10
+ import Links from "@/cms/blocks/components/footer/sections/footer-links";
11
+ // Local Custom Components
12
+ import Logo from "@/cms/blocks/components/footer/sections/footer-logo";
13
+ import cms from "@/cms/endpoints";
18
14
 
19
15
  const getBlockComponent = (block: FooterBlock, index: number) => {
20
16
  let Block;
@@ -1,8 +1,8 @@
1
- import React, { Fragment } from "react";
2
1
  import FlexBox from "@evenicanpm/storefront-core/src/components-v2/flex-box/flex-box";
2
+ import { Box } from "@mui/material";
3
+ import React, { Fragment } from "react";
3
4
  import { MdFacebook as Facebook } from "react-icons/md";
4
5
  import { Link } from "react-router-dom";
5
- import { Box } from "@mui/material";
6
6
 
7
7
  export const PLAY_APP_STORE_DATA = [
8
8
  { url: "/", icon: Facebook, title: "Google Play", subtitle: "Get it on" },
@@ -1,9 +1,9 @@
1
- import React from "react";
2
- import { Heading } from "@/cms/blocks/components/footer/styles/index";
3
1
  import { Paragraph } from "@evenicanpm/storefront-core/src/components-v2/Typography";
4
2
  import Grid from "@mui/material/Grid2";
3
+ import React from "react";
4
+ import type { SocialLink } from "@/cms/blocks/components/footer/interfaces";
5
5
  import SocialLinks from "@/cms/blocks/components/footer/sections/footer-social-links";
6
- import { SocialLink } from "@/cms/blocks/components/footer/interfaces";
6
+ import { Heading } from "@/cms/blocks/components/footer/styles/index";
7
7
 
8
8
  interface Props {
9
9
  isDark?: boolean;
@@ -1,11 +1,11 @@
1
+ import { Box } from "@mui/material";
2
+ import Grid from "@mui/material/Grid2";
1
3
  import React, { Fragment } from "react";
4
+ import type { Link } from "@/cms/blocks/components/footer/interfaces";
2
5
  import {
3
6
  Heading,
4
7
  StyledLink,
5
8
  } from "@/cms/blocks/components/footer/styles/index";
6
- import { Box } from "@mui/material";
7
- import Grid from "@mui/material/Grid2";
8
- import { Link } from "@/cms/blocks/components/footer/interfaces";
9
9
 
10
10
  interface Props {
11
11
  isDark?: boolean;
@@ -1,11 +1,11 @@
1
1
  "use client";
2
2
 
3
- import React from "react";
4
- import Grid from "@mui/material/Grid2";
5
- import { Paragraph } from "@evenicanpm/storefront-core/src/components-v2/Typography";
6
3
  import SiteLogo from "@evenicanpm/storefront-core/src/components-v2/site-logo";
4
+ import { Paragraph } from "@evenicanpm/storefront-core/src/components-v2/Typography";
5
+ import Grid from "@mui/material/Grid2";
7
6
  import useTheme from "@mui/material/styles/useTheme";
8
7
  import useMediaQuery from "@mui/material/useMediaQuery";
8
+ import React from "react";
9
9
 
10
10
  interface Props {
11
11
  description: string;
@@ -1,18 +1,18 @@
1
1
  "use client";
2
2
 
3
- import React from "react";
3
+ // Custom Components
4
+ import FlexBox from "@evenicanpm/storefront-core/src/components-v2/flex-box/flex-box";
4
5
  import IconButton from "@mui/material/IconButton";
5
6
  import styled from "@mui/material/styles/styled";
6
-
7
+ import React from "react";
8
+ import {
9
+ FaGoogle as Google,
10
+ FaInstagram as Instagram,
11
+ FaTwitter as Twitter,
12
+ } from "react-icons/fa";
7
13
  // Social Icons
8
14
  import { MdFacebook as Facebook } from "react-icons/md";
9
- import { FaGoogle as Google } from "react-icons/fa";
10
- import { FaTwitter as Twitter } from "react-icons/fa";
11
- import { FaInstagram as Instagram } from "react-icons/fa";
12
-
13
- // Custom Components
14
- import FlexBox from "@evenicanpm/storefront-core/src/components-v2/flex-box/flex-box";
15
- import { SocialLink } from "@/cms/blocks/components/footer/interfaces";
15
+ import type { SocialLink } from "@/cms/blocks/components/footer/interfaces";
16
16
 
17
17
  // Styled Components
18
18
  const StyledIconButton = styled(IconButton, {
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
 
3
- import NextLink from "next/link";
4
3
  import styled from "@mui/material/styles/styled";
4
+ import NextLink from "next/link";
5
5
 
6
6
  type LinkProps = { isDark?: boolean };
7
7
 
@@ -1,15 +1,15 @@
1
1
  "use client";
2
2
 
3
- import React from "react";
4
3
  import { Box, Container, Typography } from "@mui/material";
5
4
  import Grid from "@mui/material/Grid2";
5
+ import { useTheme } from "@mui/material/styles";
6
+ import React from "react";
6
7
  import {
8
+ MdEmail as Email,
7
9
  MdLocationOn as LocationOn,
8
10
  MdPhone as Phone,
9
- MdEmail as Email,
10
11
  } from "react-icons/md";
11
- import { useTheme } from "@mui/material/styles";
12
- import { FooterBlock } from "@/cms/blocks/interfaces";
12
+ import type { FooterBlock } from "@/cms/blocks/interfaces";
13
13
 
14
14
  const contactItemSx = {
15
15
  display: "flex",
@@ -1,14 +1,13 @@
1
1
  // Template: Market1
2
2
  // This component works best with cutout product images
3
- import React from "react";
4
- import { Box, Container } from "@mui/material";
5
3
 
6
4
  // GLOBAL CUSTOM COMPONENTS
7
5
  import { Carousel } from "@evenicanpm/storefront-core/src/components-v2/carousel/index";
8
6
  import CarouselCard1 from "@evenicanpm/storefront-core/src/components-v2/carousel-cards/carousel-card-1/index";
9
-
7
+ import { Box, Container } from "@mui/material";
8
+ import React from "react";
9
+ import type { HeroCarouselBlock, Slide } from "@/cms/blocks/interfaces";
10
10
  import { getImageUrl } from "@/cms/endpoints";
11
- import { HeroCarouselBlock, Slide } from "@/cms/blocks/interfaces";
12
11
 
13
12
  export default function HeroCarousel(data: HeroCarouselBlock) {
14
13
  return (
@@ -1,10 +1,9 @@
1
- import React from "react";
2
- import NextLink from "next/link";
1
+ import { Box, Button, Container, Typography } from "@mui/material";
3
2
  import Image from "next/image";
4
- import { Box, Container, Button, Typography } from "@mui/material";
5
-
3
+ import NextLink from "next/link";
4
+ import React from "react";
5
+ import type { HeroSectionBlock } from "@/cms/blocks/interfaces";
6
6
  import cmsEndPoints from "@/cms/endpoints";
7
- import { HeroSectionBlock } from "@/cms/blocks/interfaces";
8
7
 
9
8
  const sxBanner = {
10
9
  position: "relative",
@@ -1,9 +1,8 @@
1
- import React from "react";
2
- import NextImage from "next/image";
3
- import { getImageUrl } from "@/cms/endpoints";
4
- import { sizes } from "@/cms/endpoints";
5
1
  import { Container, Paper } from "@mui/material";
6
- import { Media } from "@/cms/blocks/interfaces";
2
+ import NextImage from "next/image";
3
+ import React from "react";
4
+ import type { Media } from "@/cms/blocks/interfaces";
5
+ import { getImageUrl, type sizes } from "@/cms/endpoints";
7
6
 
8
7
  interface Props {
9
8
  media: Media;
@@ -1,9 +1,9 @@
1
- import React from "react";
1
+ import Box from "@mui/material/Box";
2
2
  import Card from "@mui/material/Card";
3
3
  import CardContent from "@mui/material/CardContent";
4
- import Box from "@mui/material/Box";
5
4
  import Typography from "@mui/material/Typography";
6
5
  import Image from "next/image";
6
+ import React from "react";
7
7
 
8
8
  import cmsEndPoints from "@/cms/endpoints";
9
9
 
@@ -1,16 +1,15 @@
1
1
  "use client";
2
- import React from "react";
3
- import { Light } from "@/cms/blocks/icons/index";
4
- import { Box } from "@mui/system";
2
+ import getProductByIds from "@evenicanpm/storefront-core/src/api-manager/services/product/queries/get-product-by-ids";
5
3
  import { Carousel } from "@evenicanpm/storefront-core/src/components-v2/carousel/index";
6
- import { Section } from "@evenicanpm/storefront-core/src/components-v2/section";
7
-
8
4
  // CMS
9
5
  import ProductCard from "@evenicanpm/storefront-core/src/components-v2/product-cards/product-card/product-card";
6
+ import { Section } from "@evenicanpm/storefront-core/src/components-v2/section";
7
+ import type { SimpleProduct } from "@msdyn365-commerce/retail-proxy";
8
+ import { Box } from "@mui/system";
9
+ import React from "react";
10
+ import { Light } from "@/cms/blocks/icons/index";
11
+ import type { Product, ProductCarouselBlock } from "@/cms/blocks/interfaces";
10
12
  import { getImageUrl } from "@/cms/endpoints";
11
- import getProductByIds from "@evenicanpm/storefront-core/src/api-manager/services/product/queries/get-product-by-ids";
12
- import { SimpleProduct } from "@msdyn365-commerce/retail-proxy";
13
- import { Product, ProductCarouselBlock } from "@/cms/blocks/interfaces";
14
13
 
15
14
  type CombinedProduct = Product & SimpleProduct;
16
15
 
@@ -1,32 +1,28 @@
1
- import React from "react";
2
- import NextLink from "next/link";
3
- import Image from "next/image";
4
-
5
- // Icons
6
- import { getIcon } from "@/cms/blocks/icons/index";
7
-
8
- // Components
9
- import Grid from "@mui/material/Grid2";
10
- import HoverBox from "@evenicanpm/storefront-core/src/components-v2/HoverBox";
11
- import { H4 } from "@evenicanpm/storefront-core/src/components-v2/Typography";
1
+ import { getQueryClient } from "@evenicanpm/storefront-core/src/api-manager/services/get-query-client";
2
+ // API
3
+ import getProductByIds from "@evenicanpm/storefront-core/src/api-manager/services/product/queries/get-product-by-ids";
12
4
  import BazaarCard from "@evenicanpm/storefront-core/src/components-v2/BazaarCard";
5
+ import HoverBox from "@evenicanpm/storefront-core/src/components-v2/HoverBox";
13
6
  import { Section } from "@evenicanpm/storefront-core/src/components-v2/section";
14
-
7
+ import { H4 } from "@evenicanpm/storefront-core/src/components-v2/Typography";
8
+ import buildDetailUrl from "@evenicanpm/storefront-core/src/lib/build-detail-url";
15
9
  // Utils
16
10
  import { currency } from "@evenicanpm/storefront-core/src/lib/lib";
17
- import { getImageUrl } from "@/cms/endpoints";
18
-
19
- // API
20
- import getProductByIds from "@evenicanpm/storefront-core/src/api-manager/services/product/queries/get-product-by-ids";
21
- import { getQueryClient } from "@evenicanpm/storefront-core/src/api-manager/services/get-query-client";
22
- import buildDetailUrl from "@evenicanpm/storefront-core/src/lib/build-detail-url";
11
+ import type { SimpleProduct } from "@msdyn365-commerce/retail-proxy";
12
+ // Components
13
+ import Grid from "@mui/material/Grid2";
14
+ import Image from "next/image";
15
+ import NextLink from "next/link";
16
+ import React from "react";
17
+ // Icons
18
+ import { getIcon } from "@/cms/blocks/icons/index";
23
19
 
24
- import {
20
+ import type {
25
21
  Product,
26
22
  ProductSectionFullWidthBlock,
27
23
  ProductWrapper,
28
24
  } from "@/cms/blocks/interfaces";
29
- import { SimpleProduct } from "@msdyn365-commerce/retail-proxy";
25
+ import { getImageUrl } from "@/cms/endpoints";
30
26
 
31
27
  type CombinedProduct = Product & SimpleProduct;
32
28
  export default async function ProductSectionFullWidth(
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
 
3
- import React from "react";
4
- import Markdown from "marked-react";
5
3
  import { Container } from "@mui/material";
4
+ import Markdown from "marked-react";
5
+ import React from "react";
6
6
 
7
7
  interface Props {
8
8
  content: string;
@@ -1,7 +1,7 @@
1
1
  import React from "react";
2
- import cmsEndPoints from "@/cms/endpoints";
3
2
  import { Helmet } from "react-helmet-async";
4
- import { MetaItem, SeoPageData } from "@/cms/blocks/interfaces";
3
+ import type { MetaItem, SeoPageData } from "@/cms/blocks/interfaces";
4
+ import cmsEndPoints from "@/cms/endpoints";
5
5
 
6
6
  // SEO Component to be populated
7
7
  // Included in storefront repo to ensure correct import of react-helmet-async,
@@ -1,11 +1,11 @@
1
- import React from "react";
2
- import Grid from "@mui/material/Grid2";
3
1
  import Container from "@mui/material/Container";
2
+ import Grid from "@mui/material/Grid2";
3
+ import React from "react";
4
4
  // LOCAL CUSTOM COMPONENTS
5
5
  import ServiceCard from "@/cms/blocks/components/services/service-card";
6
- import {
7
- ServicesBlock,
6
+ import type {
8
7
  ServiceCard as ServiceCardItem,
8
+ ServicesBlock,
9
9
  } from "@/cms/blocks/interfaces";
10
10
 
11
11
  export default function Services(data: ServicesBlock) {
@@ -1,19 +1,17 @@
1
1
  "use client";
2
2
 
3
- import React from "react";
4
- import Fab from "@mui/material/Fab";
5
- import Grid from "@mui/material/Grid2";
6
- import Card from "@mui/material/Card";
7
- import styled from "@mui/material/styles/styled";
8
-
9
- // CUSTOM ICON COMPONENTS
10
- import { getIcon } from "@/cms/blocks/icons/index";
11
-
12
3
  // GLOBAL CUSTOM COMPONENTS
13
4
  import {
14
5
  H4,
15
6
  Span,
16
7
  } from "@evenicanpm/storefront-core/src/components-v2/Typography";
8
+ import Card from "@mui/material/Card";
9
+ import Fab from "@mui/material/Fab";
10
+ import Grid from "@mui/material/Grid2";
11
+ import styled from "@mui/material/styles/styled";
12
+ import React from "react";
13
+ // CUSTOM ICON COMPONENTS
14
+ import { getIcon } from "@/cms/blocks/icons/index";
17
15
 
18
16
  // CUSTOM DATA MODEL
19
17
  interface Service {
@@ -1,8 +1,8 @@
1
- import React from "react";
2
1
  // GLOBAL CUSTOM COMPONENTS
3
2
  import HoverBox from "@evenicanpm/storefront-core/src/components-v2/HoverBox";
4
- import { H4 } from "@evenicanpm/storefront-core/src/components-v2/Typography";
5
3
  import Image from "@evenicanpm/storefront-core/src/components-v2/Image";
4
+ import { H4 } from "@evenicanpm/storefront-core/src/components-v2/Typography";
5
+ import React from "react";
6
6
 
7
7
  // ==========================================================
8
8
  type Props = { title: string; imgUrl: string };
@@ -1,10 +1,9 @@
1
- import React from "react";
2
- import { HtmlHTMLAttributes } from "react";
3
- import { styled, SxProps, Theme } from "@mui/material/styles";
4
- // GLOBAL CUSTOM COMPONENTS
5
- import { H4 } from "@evenicanpm/storefront-core/src/components-v2/Typography";
6
1
  import BazaarCard from "@evenicanpm/storefront-core/src/components-v2/BazaarCard";
7
2
  import BazaarImage from "@evenicanpm/storefront-core/src/components-v2/BazaarImage";
3
+ // GLOBAL CUSTOM COMPONENTS
4
+ import { H4 } from "@evenicanpm/storefront-core/src/components-v2/Typography";
5
+ import { type SxProps, styled, type Theme } from "@mui/material/styles";
6
+ import React, { type HtmlHTMLAttributes } from "react";
8
7
 
9
8
  // STYLED COMPONENT
10
9
  const StyledBazaarCard = styled(BazaarCard)(({ theme }) => ({