@evenicanpm/storefront-core 1.2.2 → 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 +7639 -41393
  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 -22
  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,13 +1,13 @@
1
1
  "use client";
2
2
 
3
- import React, { ReactNode, createContext, useContext } from "react";
4
- import { useTranslations } from "next-intl";
5
- import { Card } from "@mui/material";
3
+ import type { Address } from "@evenicanpm/storefront-core/src/api-manager/schemas/address.schema";
6
4
  import {
7
5
  H5,
8
6
  Paragraph,
9
7
  } from "@evenicanpm/storefront-core/src/components-v2/Typography";
10
- import { Address } from "@evenicanpm/storefront-core/src/api-manager/schemas/address.schema";
8
+ import { Card } from "@mui/material";
9
+ import { useTranslations } from "next-intl";
10
+ import React, { createContext, type ReactNode, useContext } from "react";
11
11
 
12
12
  const AddressContext = createContext<Address | null>(null);
13
13
 
@@ -1,5 +1,6 @@
1
1
  "use client";
2
2
 
3
+ import type { SalesOrder } from "@evenicanpm/storefront-core/src/api-manager/schemas/order.schema";
3
4
  import {
4
5
  FlexBetween,
5
6
  FlexBox,
@@ -8,11 +9,10 @@ import {
8
9
  H6,
9
10
  Paragraph,
10
11
  } from "@evenicanpm/storefront-core/src/components-v2/Typography";
12
+ import useCurrencyFormatter from "@evenicanpm/storefront-core/src/lib/currency-formatter";
11
13
  import { Card, Divider } from "@mui/material";
12
14
  import { useTranslations } from "next-intl";
13
- import useCurrencyFormatter from "@evenicanpm/storefront-core/src/lib/currency-formatter";
14
- import React, { ReactNode, createContext, useContext } from "react";
15
- import { SalesOrder } from "@evenicanpm/storefront-core/src/api-manager/schemas/order.schema";
15
+ import React, { createContext, type ReactNode, useContext } from "react";
16
16
 
17
17
  type SummaryValues = {
18
18
  order: SalesOrder;
@@ -1,8 +1,9 @@
1
1
  "use client";
2
2
 
3
- import React, { ReactNode, createContext, useContext } from "react";
4
- import { Card, Avatar, Box } from "@mui/material";
5
- import Grid from "@mui/material/Grid2";
3
+ import type {
4
+ SalesLine,
5
+ SalesOrder,
6
+ } from "@evenicanpm/storefront-core/src/api-manager/schemas/order.schema";
6
7
  import {
7
8
  FlexBetween,
8
9
  FlexBox,
@@ -12,13 +13,13 @@ import {
12
13
  Paragraph,
13
14
  Span,
14
15
  } from "@evenicanpm/storefront-core/src/components-v2/Typography";
15
- import { useTranslations, useFormatter } from "next-intl";
16
16
  import useCurrencyFormatter from "@evenicanpm/storefront-core/src/lib/currency-formatter";
17
17
  import { ProductDimensionType } from "@msdyn365-commerce/retail-proxy";
18
- import {
19
- SalesLine,
20
- SalesOrder,
21
- } from "@evenicanpm/storefront-core/src/api-manager/schemas/order.schema";
18
+ import { Avatar, Box, Card } from "@mui/material";
19
+ import Grid from "@mui/material/Grid2";
20
+ import { useFormatter, useTranslations } from "next-intl";
21
+ import type React from "react";
22
+ import { createContext, type ReactNode, useContext } from "react";
22
23
 
23
24
  const OrderedProductsContext = createContext<SalesOrder | null>(null);
24
25
 
@@ -1,16 +1,16 @@
1
1
  "use client";
2
2
 
3
- import Link from "next/link";
4
- import Box from "@mui/material/Box";
5
- import Card from "@mui/material/Card";
6
- import Grid from "@mui/material/Grid2";
7
- import Avatar from "@mui/material/Avatar";
3
+ import FlexRowCenter from "@evenicanpm/storefront-core/src/components-v2/flex-box/flex-row-center";
8
4
  // GLOBAL CUSTOM COMPONENTS
9
5
  import {
10
6
  H3,
11
7
  H4,
12
8
  } from "@evenicanpm/storefront-core/src/components-v2/Typography";
13
- import FlexRowCenter from "@evenicanpm/storefront-core/src/components-v2/flex-box/flex-row-center";
9
+ import Avatar from "@mui/material/Avatar";
10
+ import Box from "@mui/material/Box";
11
+ import Card from "@mui/material/Card";
12
+ import Grid from "@mui/material/Grid2";
13
+ import Link from "next/link";
14
14
 
15
15
  export default function AvailableShops() {
16
16
  return (
@@ -1,8 +1,8 @@
1
- import { Button } from "@mui/material";
2
- import React from "react";
1
+ import type { AddToCartBopisInput } from "@evenicanpm/storefront-core/src/hooks/use-cart";
3
2
  import FindInStoreModal from "@evenicanpm/storefront-core/src/pages-v2/product-details/bopis/find-in-store-modal";
4
- import { AddToCartBopisInput } from "@evenicanpm/storefront-core/src/hooks/use-cart";
3
+ import { Button } from "@mui/material";
5
4
  import { useTranslations } from "next-intl";
5
+ import React from "react";
6
6
 
7
7
  type Props = {
8
8
  productId?: number;
@@ -1,3 +1,18 @@
1
+ import type { OrgUnitLocationReturnType } from "@evenicanpm/storefront-core/src/api-manager/schemas/organization.schema";
2
+ import getChannelConfiguration from "@evenicanpm/storefront-core/src/api-manager/services/organization/queries/get-channel-configuration";
3
+ import getStores from "@evenicanpm/storefront-core/src/api-manager/services/organization/queries/get-stores";
4
+ import getProductAvailability from "@evenicanpm/storefront-core/src/api-manager/services/product/queries/get-product-availability";
5
+ import type { AddToCartBopisInput } from "@evenicanpm/storefront-core/src/hooks/use-cart";
6
+ import { geolocate } from "@evenicanpm/storefront-core/src/lib/map-helper";
7
+ import PickupOptionSelect from "@evenicanpm/storefront-core/src/pages-v2/product-details/bopis/pickup-option-select";
8
+ import SearchHeader from "@evenicanpm/storefront-core/src/pages-v2/product-details/bopis/search-header";
9
+ import ShopCard from "@evenicanpm/storefront-core/src/pages-v2/product-details/bopis/store-card";
10
+ import type {
11
+ DeliveryOption,
12
+ ProductWarehouseInventoryAvailability,
13
+ QueryResultSettings,
14
+ SearchArea,
15
+ } from "@msdyn365-commerce/retail-proxy";
1
16
  import {
2
17
  CircularProgress,
3
18
  Dialog,
@@ -8,23 +23,8 @@ import {
8
23
  Typography,
9
24
  } from "@mui/material";
10
25
  import { Box } from "@mui/system";
11
- import React from "react";
12
- import SearchHeader from "@evenicanpm/storefront-core/src/pages-v2/product-details/bopis/search-header";
13
- import ShopCard from "@evenicanpm/storefront-core/src/pages-v2/product-details/bopis/store-card";
14
- import {
15
- DeliveryOption,
16
- ProductWarehouseInventoryAvailability,
17
- QueryResultSettings,
18
- SearchArea,
19
- } from "@msdyn365-commerce/retail-proxy";
20
- import PickupOptionSelect from "@evenicanpm/storefront-core/src/pages-v2/product-details/bopis/pickup-option-select";
21
- import { geolocate } from "@evenicanpm/storefront-core/src/lib/map-helper";
22
- import getStores from "@evenicanpm/storefront-core/src/api-manager/services/organization/queries/get-stores";
23
- import { AddToCartBopisInput } from "@evenicanpm/storefront-core/src/hooks/use-cart";
24
- import getProductAvailability from "@evenicanpm/storefront-core/src/api-manager/services/product/queries/get-product-availability";
25
- import { OrgUnitLocationReturnType } from "@evenicanpm/storefront-core/src/api-manager/schemas/organization.schema";
26
26
  import { useTranslations } from "next-intl";
27
- import getChannelConfiguration from "@evenicanpm/storefront-core/src/api-manager/services/organization/queries/get-channel-configuration";
27
+ import React from "react";
28
28
 
29
29
  type Props = {
30
30
  open: boolean;
@@ -209,7 +209,6 @@ const FindInStoreModal = ({
209
209
  address={location.Address || ""}
210
210
  actionArea={renderActionArea(
211
211
  location.OrgUnitNumber || "",
212
- // @ts-ignore TODO: ??
213
212
  pickupOptions || [],
214
213
  inventoryRecord?.TotalAvailableInventoryLevelLabel || "",
215
214
  )}
@@ -1,16 +1,16 @@
1
1
  import { FlexBox } from "@evenicanpm/storefront-core/src/components-v2/flex-box";
2
- import { DeliveryOption } from "@msdyn365-commerce/retail-proxy";
2
+ import type { AddToCartBopisInput } from "@evenicanpm/storefront-core/src/hooks/use-cart";
3
+ import type { DeliveryOption } from "@msdyn365-commerce/retail-proxy";
3
4
  import {
4
5
  Box,
5
6
  Button,
6
7
  MenuItem,
7
8
  Select,
8
- SelectChangeEvent,
9
+ type SelectChangeEvent,
9
10
  Typography,
10
11
  } from "@mui/material";
11
- import React from "react";
12
- import { AddToCartBopisInput } from "@evenicanpm/storefront-core/src/hooks/use-cart";
13
12
  import { useTranslations } from "next-intl";
13
+ import React from "react";
14
14
 
15
15
  type Props = {
16
16
  pickupOptions: DeliveryOption[];
@@ -1,12 +1,13 @@
1
+ import SearchIcon from "@mui/icons-material/Search";
1
2
  import {
2
3
  FormControl,
3
4
  IconButton,
4
5
  InputAdornment,
5
6
  OutlinedInput,
6
7
  } from "@mui/material";
7
- import React from "react";
8
- import SearchIcon from "@mui/icons-material/Search";
9
8
  import { useTranslations } from "next-intl";
9
+ import React from "react";
10
+
10
11
  type Props = {
11
12
  handleSearch: (searchTerm: string) => void;
12
13
  };
@@ -1,30 +1,29 @@
1
- import Card from "@mui/material/Card";
2
-
3
- import AccessTimeFilledIcon from "@mui/icons-material/AccessTimeFilled";
4
- import Place from "@mui/icons-material/Place";
5
- import InventoryIcon from "@mui/icons-material/Inventory";
1
+ import {
2
+ FlexBetween,
3
+ FlexBox,
4
+ } from "@evenicanpm/storefront-core/src/components-v2/flex-box/index";
6
5
  // GLOBAL CUSTOM COMPONENTS
7
6
  import {
8
7
  H3,
9
8
  Span,
10
9
  } from "@evenicanpm/storefront-core/src/components-v2/Typography";
11
10
  import {
12
- FlexBetween,
13
- FlexBox,
14
- } from "@evenicanpm/storefront-core/src/components-v2/flex-box/index";
11
+ buildStoreHours,
12
+ type IHoursDisplayInfo,
13
+ } from "@evenicanpm/storefront-core/src/lib/store-hours-helper";
15
14
  // STYLED COMPONENT
16
15
  import { ContentWrapper } from "@evenicanpm/storefront-core/src/pages-v2/product-details/bopis/store-card/styles";
17
- import {
16
+ import { convertSecondsToTime } from "@evenicanpm/storefront-core/src/pages-v2/product-details/bopis/store-card/utils/convertSecondsToTime";
17
+ import { getDaysResources } from "@evenicanpm/storefront-core/src/pages-v2/product-details/bopis/store-card/utils/getDaysResources";
18
+ import type {
18
19
  ProductWarehouseInventoryAvailability,
19
20
  StoreHours,
20
21
  } from "@msdyn365-commerce/retail-proxy";
21
- import {
22
- buildStoreHours,
23
- IHoursDisplayInfo,
24
- } from "@evenicanpm/storefront-core/src/lib/store-hours-helper";
22
+ import AccessTimeFilledIcon from "@mui/icons-material/AccessTimeFilled";
23
+ import InventoryIcon from "@mui/icons-material/Inventory";
24
+ import Place from "@mui/icons-material/Place";
25
+ import Card from "@mui/material/Card";
25
26
  import { Box } from "@mui/system";
26
- import { convertSecondsToTime } from "@evenicanpm/storefront-core/src/pages-v2/product-details/bopis/store-card/utils/convertSecondsToTime";
27
- import { getDaysResources } from "@evenicanpm/storefront-core/src/pages-v2/product-details/bopis/store-card/utils/getDaysResources";
28
27
 
29
28
  type Props = {
30
29
  name: string;
@@ -1,4 +1,4 @@
1
- import { IStoreSelectorLocationLineItemResources } from "@evenicanpm/storefront-core/src/lib/store-hours-helper";
1
+ import type { IStoreSelectorLocationLineItemResources } from "@evenicanpm/storefront-core/src/lib/store-hours-helper";
2
2
  import { useTranslations } from "next-intl";
3
3
 
4
4
  export const getDaysResources = (): IStoreSelectorLocationLineItemResources => {
@@ -1,7 +1,7 @@
1
- import { ReactNode } from "react";
1
+ import Checkbox, { type CheckboxProps } from "@mui/material/Checkbox";
2
2
  // MUI
3
3
  import FormControlLabel from "@mui/material/FormControlLabel";
4
- import Checkbox, { CheckboxProps } from "@mui/material/Checkbox";
4
+ import type { ReactNode } from "react";
5
5
 
6
6
  // ==============================================================
7
7
  interface Props extends CheckboxProps {
@@ -1,5 +1,6 @@
1
1
  import currencyJs from "currency.js";
2
2
  import { formatDistanceStrict } from "date-fns";
3
+
3
4
  /**
4
5
  * NOTE: We can move this to a more appropriate location if needed.
5
6
  */
@@ -1,25 +1,25 @@
1
1
  "use client";
2
2
 
3
- import { Fragment } from "react";
4
- import Box from "@mui/material/Box";
5
- import Button from "@mui/material/Button";
6
- import styled from "@mui/material/styles/styled";
3
+ import {
4
+ FlexBox,
5
+ FlexRowCenter,
6
+ } from "@evenicanpm/storefront-core/src/components-v2/flex-box";
7
7
  // GLOBAL CUSTOM COMPONENTS
8
8
  import {
9
9
  H2,
10
10
  H3,
11
11
  Span,
12
12
  } from "@evenicanpm/storefront-core/src/components-v2/Typography";
13
- import {
14
- FlexBox,
15
- FlexRowCenter,
16
- } from "@evenicanpm/storefront-core/src/components-v2/flex-box";
17
- // LOCAL CUSTOM COMPONENT
18
- import FrequentlyProductCard from "@evenicanpm/storefront-core/src/pages-v2/product-details/frequently-product-card";
19
13
  // CUSTOM UTILS LIBRARY FUNCTION
20
14
  import { currency } from "@evenicanpm/storefront-core/src/lib/lib";
15
+ // LOCAL CUSTOM COMPONENT
16
+ import FrequentlyProductCard from "@evenicanpm/storefront-core/src/pages-v2/product-details/frequently-product-card";
21
17
  // CUSTOM DATA MODEL
22
- import { ProductSearchResult as Product } from "@msdyn365-commerce/retail-proxy";
18
+ import type { ProductSearchResult as Product } from "@msdyn365-commerce/retail-proxy";
19
+ import Box from "@mui/material/Box";
20
+ import Button from "@mui/material/Button";
21
+ import styled from "@mui/material/styles/styled";
22
+ import { Fragment } from "react";
23
23
 
24
24
  // STYLED COMPONENTS
25
25
  const WrapperBox = styled(Box)(({ theme }) => ({
@@ -1,19 +1,19 @@
1
- import Link from "next/link";
2
- import Box from "@mui/material/Box";
1
+ import BazaarCard from "@evenicanpm/storefront-core/src/components-v2/BazaarCard";
2
+ import FlexBox from "@evenicanpm/storefront-core/src/components-v2/flex-box/flex-box";
3
3
  // GLOBAL CUSTOM COMPONENTS
4
4
  import HoverBox from "@evenicanpm/storefront-core/src/components-v2/HoverBox";
5
5
  import LazyImage from "@evenicanpm/storefront-core/src/components-v2/LazyImage";
6
- import BazaarCard from "@evenicanpm/storefront-core/src/components-v2/BazaarCard";
7
6
  import {
8
7
  H6,
9
8
  Span,
10
9
  } from "@evenicanpm/storefront-core/src/components-v2/Typography";
11
- import FlexBox from "@evenicanpm/storefront-core/src/components-v2/flex-box/flex-box";
12
10
  // CUSTOM UTILS LIBRARY FUNCTIONS
13
11
  import {
14
12
  calculateDiscount,
15
13
  currency,
16
14
  } from "@evenicanpm/storefront-core/src/lib/lib";
15
+ import Box from "@mui/material/Box";
16
+ import Link from "next/link";
17
17
 
18
18
  // =======================================================
19
19
  interface Props {
@@ -1,8 +1,5 @@
1
1
  "use client";
2
2
 
3
- import Box from "@mui/material/Box";
4
- import Avatar from "@mui/material/Avatar";
5
- import Rating from "@mui/material/Rating";
6
3
  // GLOBAL CUSTOM COMPONENTS
7
4
  import { FlexBox } from "@evenicanpm/storefront-core/src/components-v2/flex-box";
8
5
  import {
@@ -13,6 +10,9 @@ import {
13
10
  } from "@evenicanpm/storefront-core/src/components-v2/Typography";
14
11
  // CUSTOM UTILS LIBRARY FUNCTION
15
12
  import { getDateDifference } from "@evenicanpm/storefront-core/src/lib/lib";
13
+ import Avatar from "@mui/material/Avatar";
14
+ import Box from "@mui/material/Box";
15
+ import Rating from "@mui/material/Rating";
16
16
 
17
17
  // ===========================================================
18
18
  interface Props {
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
 
3
3
  import { H3 } from "@evenicanpm/storefront-core/src/components-v2/Typography";
4
- import { AttributeValue } from "@msdyn365-commerce/retail-proxy";
4
+ import type { AttributeValue } from "@msdyn365-commerce/retail-proxy";
5
5
 
6
6
  type Props = { attributes: AttributeValue[] };
7
7
 
@@ -1,15 +1,6 @@
1
1
  "use client";
2
2
 
3
- import { Fragment, useState } from "react";
4
- // MUI
5
- import Box from "@mui/material/Box";
6
- import Rating from "@mui/material/Rating";
7
- import Divider from "@mui/material/Divider";
8
- import Collapse from "@mui/material/Collapse";
9
- import TextField from "@mui/material/TextField";
10
- import FormGroup from "@mui/material/FormGroup";
11
- // LOCAL CUSTOM COMPONENTS
12
- import CheckboxLabel from "@evenicanpm/storefront-core/src/pages-v2/product-details/checkbox-label";
3
+ import AccordionHeader from "@evenicanpm/storefront-core/src/components-v2/accordion/accordion-header";
13
4
  // GLOBAL CUSTOM COMPONENTS
14
5
  import {
15
6
  FlexBetween,
@@ -21,14 +12,23 @@ import {
21
12
  Paragraph,
22
13
  Span,
23
14
  } from "@evenicanpm/storefront-core/src/components-v2/Typography";
24
- import AccordionHeader from "@evenicanpm/storefront-core/src/components-v2/accordion/accordion-header";
15
+ // LOCAL CUSTOM COMPONENTS
16
+ import CheckboxLabel from "@evenicanpm/storefront-core/src/pages-v2/product-details/checkbox-label";
25
17
  // TYPE
26
- import {
18
+ import type {
27
19
  ProductFilterKeys,
28
- ProductFilterValues,
29
20
  ProductFilters,
21
+ ProductFilterValues,
30
22
  } from "@evenicanpm/storefront-core/src/pages-v2/product-details/types";
31
23
  import { Slider } from "@mui/material";
24
+ // MUI
25
+ import Box from "@mui/material/Box";
26
+ import Collapse from "@mui/material/Collapse";
27
+ import Divider from "@mui/material/Divider";
28
+ import FormGroup from "@mui/material/FormGroup";
29
+ import Rating from "@mui/material/Rating";
30
+ import TextField from "@mui/material/TextField";
31
+ import { Fragment, useState } from "react";
32
32
 
33
33
  // FILTER OPTIONS
34
34
  const categoryList = [
@@ -1,10 +1,15 @@
1
- import { createContext, Dispatch, SetStateAction, useContext } from "react";
2
- import { ProductDetails } from "@evenicanpm/storefront-core/src/api-manager/schemas/product.schema";
3
- import { SelectedDimensions } from "@evenicanpm/storefront-core/src/hooks/use-variants";
4
- import {
5
- ProductWarehouseInventoryInformation,
1
+ import type { ProductDetails } from "@evenicanpm/storefront-core/src/api-manager/schemas/product.schema";
2
+ import type { SelectedDimensions } from "@evenicanpm/storefront-core/src/hooks/use-variants";
3
+ import type {
6
4
  ProductDimensionValueInventoryAvailability,
5
+ ProductWarehouseInventoryInformation,
7
6
  } from "@msdyn365-commerce/retail-proxy";
7
+ import {
8
+ createContext,
9
+ type Dispatch,
10
+ type SetStateAction,
11
+ useContext,
12
+ } from "react";
8
13
 
9
14
  export interface ProductIntroContext {
10
15
  /** The current master product of the PDP */
@@ -1,43 +1,42 @@
1
- import React, { useContext, useState } from "react";
2
- import Rating from "@mui/material/Rating";
3
- import Box from "@mui/material/Box";
4
- import Grid from "@mui/material/Grid2";
5
- import { CircularProgress, Typography } from "@mui/material";
6
-
7
- // GLOBAL CUSTOM COMPONENTS
8
- import useCurrencyFormatter from "@evenicanpm/storefront-core/src/lib/currency-formatter";
1
+ import { FlexBox } from "@evenicanpm/storefront-core/src/components-v2/flex-box";
2
+ import QuantityButtons from "@evenicanpm/storefront-core/src/components-v2/product-quantity-buttons";
9
3
  import {
10
4
  H1,
11
5
  H2,
12
6
  H6,
13
7
  } from "@evenicanpm/storefront-core/src/components-v2/Typography";
14
- import { FlexBox } from "@evenicanpm/storefront-core/src/components-v2/flex-box";
15
- import QuantityButtons from "@evenicanpm/storefront-core/src/components-v2/product-quantity-buttons";
16
8
  import AddToWishlistButton from "@evenicanpm/storefront-core/src/components-v2/wishlist-dialogs/add-to-wishlist/add-to-wishlist-button";
9
+ // GLOBAL CUSTOM COMPONENTS
10
+ import useCurrencyFormatter from "@evenicanpm/storefront-core/src/lib/currency-formatter";
11
+ import { CircularProgress, Typography } from "@mui/material";
12
+ import Box from "@mui/material/Box";
13
+ import Grid from "@mui/material/Grid2";
14
+ import Rating from "@mui/material/Rating";
15
+ import type React from "react";
16
+ import { useContext, useState } from "react";
17
+
17
18
  // D365
18
19
 
20
+ import getProductAvailability from "@evenicanpm/storefront-core/src/api-manager/services/product/queries/get-product-availability";
19
21
  // API MANAGER
20
22
  import getProductPrices from "@evenicanpm/storefront-core/src/api-manager/services/product/queries/get-product-prices";
21
- import getProductAvailability from "@evenicanpm/storefront-core/src/api-manager/services/product/queries/get-product-availability";
22
-
23
+ // LOCAL COMPONENTS
24
+ import ProductDimensions from "@evenicanpm/storefront-core/src/components-v2/product-dimensions";
23
25
  // LOCAL HOOKS
24
26
  import useCart, {
25
- AddToCartBopisInput,
27
+ type AddToCartBopisInput,
26
28
  } from "@evenicanpm/storefront-core/src/hooks/use-cart";
27
-
28
- // LOCAL COMPONENTS
29
- import ProductDimensions from "@evenicanpm/storefront-core/src/components-v2/product-dimensions";
30
29
  import FindInStoreButton from "@evenicanpm/storefront-core/src/pages-v2/product-details/bopis/find-in-store-button";
31
30
  import {
31
+ ProductInfoContext,
32
32
  useProductInfo,
33
33
  useProductIntro,
34
- ProductInfoContext,
35
34
  } from "@evenicanpm/storefront-core/src/pages-v2/product-details/product-intro/compound/context";
36
35
 
37
36
  import {
38
- getInventoryLabel,
39
- checkProductOOS,
40
37
  buildInventorySearchCriteria,
38
+ checkProductOOS,
39
+ getInventoryLabel,
41
40
  } from "@evenicanpm/storefront-core/src/pages-v2/product-details/product-intro/utils";
42
41
 
43
42
  export interface Props {
@@ -169,6 +168,7 @@ ProductInfo.Price = () => {
169
168
 
170
169
  return (
171
170
  <Box pt={1}>
171
+ Test
172
172
  <H2 color="primary.main" mb={0.5} lineHeight="1">
173
173
  {pricesPending || !productPrices ? (
174
174
  <CircularProgress size={20} />
@@ -1,6 +1,4 @@
1
1
  "use client";
2
- import Grid from "@mui/material/Grid2";
3
- import React, { useContext, useState } from "react";
4
2
  // GLOBAL CUSTOM COMPONENTS
5
3
  import {
6
4
  FlexBox,
@@ -12,6 +10,9 @@ import {
12
10
  ProductIntroContext,
13
11
  } from "@evenicanpm/storefront-core/src/pages-v2/product-details/product-intro/compound/context";
14
12
  import ThumbnailWithSkeleton from "@evenicanpm/storefront-core/src/pages-v2/product-details/product-intro/compound/thumbnail-with-skeleton";
13
+ import Grid from "@mui/material/Grid2";
14
+ import type React from "react";
15
+ import { useContext, useState } from "react";
15
16
 
16
17
  type Props = {
17
18
  children: React.ReactNode;
@@ -1,12 +1,12 @@
1
1
  "use client";
2
- import React from "react";
3
- import Box from "@mui/material/Box";
4
- import Grid from "@mui/material/Grid2";
5
- import { ProductDetails } from "@evenicanpm/storefront-core/src/api-manager/schemas/product.schema";
2
+ import type { ProductDetails } from "@evenicanpm/storefront-core/src/api-manager/schemas/product.schema";
6
3
  import useVariants from "@evenicanpm/storefront-core/src/hooks/use-variants";
7
- import ProductImages from "@evenicanpm/storefront-core/src/pages-v2/product-details/product-intro/compound/product-intro-images";
8
- import ProductInfo from "@evenicanpm/storefront-core/src/pages-v2/product-details/product-intro/compound/product-info";
9
4
  import { ProductIntroContext } from "@evenicanpm/storefront-core/src/pages-v2/product-details/product-intro/compound/context";
5
+ import ProductInfo from "@evenicanpm/storefront-core/src/pages-v2/product-details/product-intro/compound/product-info";
6
+ import ProductImages from "@evenicanpm/storefront-core/src/pages-v2/product-details/product-intro/compound/product-intro-images";
7
+ import Box from "@mui/material/Box";
8
+ import Grid from "@mui/material/Grid2";
9
+ import type React from "react";
10
10
 
11
11
  /**
12
12
  * Master product data comes in as prop, selected variant details are called
@@ -1,5 +1,5 @@
1
- import { useState } from "react";
2
1
  import { Skeleton } from "@mui/material";
2
+ import { useState } from "react";
3
3
 
4
4
  /**
5
5
  * Shows a skeleton until the image loads
@@ -1,4 +1,4 @@
1
- import { ProductWarehouseInventoryInformation } from "@msdyn365-commerce/retail-proxy";
1
+ import type { ProductWarehouseInventoryInformation } from "@msdyn365-commerce/retail-proxy";
2
2
 
3
3
  export const getInventoryLabel = (
4
4
  shippingInventoryData?: ProductWarehouseInventoryInformation,
@@ -1,19 +1,19 @@
1
1
  "use client";
2
2
 
3
- import Box from "@mui/material/Box";
4
- import Button from "@mui/material/Button";
5
- import Rating from "@mui/material/Rating";
6
- import TextField from "@mui/material/TextField";
7
- import * as yup from "yup";
8
- import { useFormik } from "formik";
9
- // Local CUSTOM COMPONENT
10
- import ProductComment from "@evenicanpm/storefront-core/src/pages-v2/product-details/product-comment";
11
3
  // GLOBAL CUSTOM COMPONENTS
12
4
  import { FlexBox } from "@evenicanpm/storefront-core/src/components-v2/flex-box";
13
5
  import {
14
6
  H2,
15
7
  H5,
16
8
  } from "@evenicanpm/storefront-core/src/components-v2/Typography";
9
+ // Local CUSTOM COMPONENT
10
+ import ProductComment from "@evenicanpm/storefront-core/src/pages-v2/product-details/product-comment";
11
+ import Box from "@mui/material/Box";
12
+ import Button from "@mui/material/Button";
13
+ import Rating from "@mui/material/Rating";
14
+ import TextField from "@mui/material/TextField";
15
+ import { useFormik } from "formik";
16
+ import * as yup from "yup";
17
17
 
18
18
  export default function ProductReview() {
19
19
  const initialValues = {
@@ -1,14 +1,14 @@
1
1
  "use client";
2
2
 
3
- import React, { useContext, useState, createContext } from "react";
3
+ // LOCAL CUSTOM COMPONENTS
4
+ import ProductDescription from "@evenicanpm/storefront-core/src/pages-v2/product-details/product-description";
5
+ import type { AttributeValue } from "@msdyn365-commerce/retail-proxy";
4
6
  import Box from "@mui/material/Box";
7
+ import styled from "@mui/material/styles/styled";
5
8
  import Tab from "@mui/material/Tab";
6
9
  import Tabs from "@mui/material/Tabs";
7
- import styled from "@mui/material/styles/styled";
8
-
9
- // LOCAL CUSTOM COMPONENTS
10
- import ProductDescription from "@evenicanpm/storefront-core/src/pages-v2/product-details/product-description";
11
- import { AttributeValue } from "@msdyn365-commerce/retail-proxy";
10
+ import type React from "react";
11
+ import { createContext, useContext, useState } from "react";
12
12
 
13
13
  // STYLED COMPONENT
14
14
  const StyledTabs = styled(Tabs)(({ theme }) => ({
@@ -1,12 +1,12 @@
1
1
  "use client";
2
2
 
3
- import Box from "@mui/material/Box";
4
- import Grid from "@mui/material/Grid2";
5
- // GLOBAL CUSTOM COMPONENTS
6
- import { H3 } from "@evenicanpm/storefront-core/src/components-v2/Typography";
7
- import ProductCard from "@evenicanpm/storefront-core/src/components-v2/product-cards/product-card/product-card";
8
3
  // CUSTOM DATA MODEL
9
4
  import GetRelatedProductsDataFetcher from "@evenicanpm/storefront-core/src/api-manager/services/product/queries/get-related-products";
5
+ import ProductCard from "@evenicanpm/storefront-core/src/components-v2/product-cards/product-card/product-card";
6
+ // GLOBAL CUSTOM COMPONENTS
7
+ import { H3 } from "@evenicanpm/storefront-core/src/components-v2/Typography";
8
+ import Box from "@mui/material/Box";
9
+ import Grid from "@mui/material/Grid2";
10
10
 
11
11
  // ==============================================================
12
12
  type Props = { RecordId: number };