@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,25 +1,25 @@
1
- import { createContext, useContext, ReactNode, useState } from "react";
2
- import Link from "next/link";
3
- import Card from "@mui/material/Card";
4
- import Rating from "@mui/material/Rating";
5
- import styled from "@mui/material/styles/styled";
6
- import IconButton from "@mui/material/IconButton";
7
- import RemoveRedEye from "@mui/icons-material/RemoveRedEye";
8
- // GLOBAL CUSTOM COMPONENTS
9
- import { H5 } from "@evenicanpm/storefront-core/src/components-v2/Typography";
10
1
  import ImageWithFallback from "@evenicanpm/storefront-core/src/components-v2/ImageWithFallback";
11
- import AddToWishlistDialog from "@evenicanpm/storefront-core/src/components-v2/wishlist-dialogs/add-to-wishlist";
12
- import ProductViewDialog from "@evenicanpm/storefront-core/src/components-v2/product-dialog";
13
2
  // LOCAL CUSTOM COMPONENTS
14
3
  import DiscountChip from "@evenicanpm/storefront-core/src/components-v2/product-cards/discount-chip";
15
- import ProductPrice from "@evenicanpm/storefront-core/src/components-v2/product-cards/product-price";
16
- import QuantityButtons from "@evenicanpm/storefront-core/src/components-v2/product-cards/quantity-buttons";
17
4
  import FavoriteButton from "@evenicanpm/storefront-core/src/components-v2/product-cards/favorite-button";
18
5
  import ProductTags from "@evenicanpm/storefront-core/src/components-v2/product-cards/product-card-plp-list/components/tags";
19
- // LIBRARY AND HOOKS
20
- import buildDetailUrl from "@evenicanpm/storefront-core/src/lib/build-detail-url";
6
+ import ProductPrice from "@evenicanpm/storefront-core/src/components-v2/product-cards/product-price";
7
+ import QuantityButtons from "@evenicanpm/storefront-core/src/components-v2/product-cards/quantity-buttons";
8
+ import ProductViewDialog from "@evenicanpm/storefront-core/src/components-v2/product-dialog";
9
+ // GLOBAL CUSTOM COMPONENTS
10
+ import { H5 } from "@evenicanpm/storefront-core/src/components-v2/Typography";
11
+ import AddToWishlistDialog from "@evenicanpm/storefront-core/src/components-v2/wishlist-dialogs/add-to-wishlist";
21
12
  import useCart from "@evenicanpm/storefront-core/src/hooks/use-cart";
22
13
  import useFavorite from "@evenicanpm/storefront-core/src/hooks/use-favorite";
14
+ // LIBRARY AND HOOKS
15
+ import buildDetailUrl from "@evenicanpm/storefront-core/src/lib/build-detail-url";
16
+ import RemoveRedEye from "@mui/icons-material/RemoveRedEye";
17
+ import Card from "@mui/material/Card";
18
+ import IconButton from "@mui/material/IconButton";
19
+ import Rating from "@mui/material/Rating";
20
+ import styled from "@mui/material/styles/styled";
21
+ import Link from "next/link";
22
+ import { createContext, type ReactNode, useContext, useState } from "react";
23
23
 
24
24
  // STYLED COMPONENT
25
25
  const Wrapper = styled(Card)({
@@ -1,8 +1,8 @@
1
+ import { Box } from "@mui/material";
1
2
  import type { Meta, StoryObj } from "@storybook/react";
2
3
  import React from "react";
3
- import ProductCardSearch from "./index";
4
4
  import { data } from "../../../../__mocks__/products";
5
- import { Box } from "@mui/material";
5
+ import ProductCardSearch from "./index";
6
6
 
7
7
  const meta = {
8
8
  title: "Product/ProductCards/ProductCardSearch",
@@ -1,32 +1,32 @@
1
1
  "use client";
2
2
 
3
- import { createContext, useContext, ReactNode, useState } from "react";
4
- import Link from "next/link";
5
- import Box from "@mui/material/Box";
6
- import Rating from "@mui/material/Rating";
7
- // MUI ICON COMPONENTS
8
- import { RemoveRedEye } from "@mui/icons-material";
3
+ import { FlexRowCenter } from "@evenicanpm/storefront-core/src/components-v2/flex-box";
9
4
  // GLOBAL CUSTOM COMPONENTS
10
5
  import LazyImage from "@evenicanpm/storefront-core/src/components-v2/LazyImage";
11
- import { FlexRowCenter } from "@evenicanpm/storefront-core/src/components-v2/flex-box";
6
+ import FavoriteButton from "@evenicanpm/storefront-core/src/components-v2/product-cards/favorite-button";
7
+ // STYLED COMPONENTS
8
+ import {
9
+ Card,
10
+ CardMedia,
11
+ QuickViewSmallButton,
12
+ } from "@evenicanpm/storefront-core/src/components-v2/product-cards/product-card-search/styles/index";
13
+ import ProductViewDialog from "@evenicanpm/storefront-core/src/components-v2/product-dialog";
12
14
  import {
13
15
  H4,
14
16
  Paragraph,
15
17
  Small,
16
18
  } from "@evenicanpm/storefront-core/src/components-v2/Typography";
17
- import ProductViewDialog from "@evenicanpm/storefront-core/src/components-v2/product-dialog";
18
19
  import AddToWishlistDialog from "@evenicanpm/storefront-core/src/components-v2/wishlist-dialogs/add-to-wishlist";
19
- import FavoriteButton from "@evenicanpm/storefront-core/src/components-v2/product-cards/favorite-button";
20
+ import useFavorite from "@evenicanpm/storefront-core/src/hooks/use-favorite";
20
21
  // LIBRARY AND HOOKS
21
22
  import buildDetailUrl from "@evenicanpm/storefront-core/src/lib/build-detail-url";
22
23
  import { currency } from "@evenicanpm/storefront-core/src/lib/lib";
23
- import useFavorite from "@evenicanpm/storefront-core/src/hooks/use-favorite";
24
- // STYLED COMPONENTS
25
- import {
26
- Card,
27
- CardMedia,
28
- QuickViewSmallButton,
29
- } from "@evenicanpm/storefront-core/src/components-v2/product-cards/product-card-search/styles/index";
24
+ // MUI ICON COMPONENTS
25
+ import { RemoveRedEye } from "@mui/icons-material";
26
+ import Box from "@mui/material/Box";
27
+ import Rating from "@mui/material/Rating";
28
+ import Link from "next/link";
29
+ import { createContext, type ReactNode, useContext, useState } from "react";
30
30
 
31
31
  type Product = {
32
32
  slug: string;
@@ -1,4 +1,3 @@
1
- import Box from "@mui/material/Box";
2
1
  // GLOBAL CUSTOM COMPONENTS
3
2
  import FlexBox from "@evenicanpm/storefront-core/src/components-v2/flex-box/flex-box";
4
3
  import { Paragraph } from "@evenicanpm/storefront-core/src/components-v2/Typography";
@@ -7,6 +6,7 @@ import {
7
6
  calculateDiscount,
8
7
  currency,
9
8
  } from "@evenicanpm/storefront-core/src/lib/lib";
9
+ import Box from "@mui/material/Box";
10
10
 
11
11
  // ==============================================================
12
12
  type Props = { price: number; discount: number };
@@ -1,8 +1,8 @@
1
- import Rating from "@mui/material/Rating";
2
- import { BoxProps } from "@mui/material/Box";
1
+ import FlexBox from "@evenicanpm/storefront-core/src/components-v2/flex-box/flex-box";
3
2
  // GLOBAL CUSTOM COMPONENTS
4
3
  import { Span } from "@evenicanpm/storefront-core/src/components-v2/Typography";
5
- import FlexBox from "@evenicanpm/storefront-core/src/components-v2/flex-box/flex-box";
4
+ import type { BoxProps } from "@mui/material/Box";
5
+ import Rating from "@mui/material/Rating";
6
6
 
7
7
  // ==============================================================
8
8
  interface Props extends BoxProps {
@@ -1,5 +1,5 @@
1
- import Link from "next/link";
2
1
  import { H3 } from "@evenicanpm/storefront-core/src/components-v2/Typography";
2
+ import Link from "next/link";
3
3
 
4
4
  // ==============================================================
5
5
  type Props = { title: string; slug: string };
@@ -1,12 +1,12 @@
1
- import { Fragment } from "react";
2
- import Button from "@mui/material/Button";
3
- // MUI ICON COMPONENTS
4
- import Add from "@mui/icons-material/Add";
5
- import Remove from "@mui/icons-material/Remove";
6
1
  // GLOBAL CUSTOM COMPONENTS
7
2
  import { FlexBox } from "@evenicanpm/storefront-core/src/components-v2/flex-box/index";
8
3
  import { Paragraph } from "@evenicanpm/storefront-core/src/components-v2/Typography";
4
+ // MUI ICON COMPONENTS
5
+ import Add from "@mui/icons-material/Add";
6
+ import Remove from "@mui/icons-material/Remove";
9
7
  import { CircularProgress } from "@mui/material";
8
+ import Button from "@mui/material/Button";
9
+ import { Fragment } from "react";
10
10
 
11
11
  // ==============================================================
12
12
  interface Props {
@@ -1,8 +1,8 @@
1
- import type { Meta, StoryObj } from "@storybook/react";
2
- import ProductDialog from "./index";
3
1
  import { Button } from "@mui/material";
2
+ import type { Meta, StoryObj } from "@storybook/react";
4
3
  import { useArgs } from "storybook/internal/preview-api";
5
4
  import { data } from "../../../__mocks__/products";
5
+ import ProductDialog from "./index";
6
6
 
7
7
  const meta = {
8
8
  title: "Product/ProductDialog",
@@ -2,27 +2,27 @@
2
2
  * @module ProductViewDialog
3
3
  */
4
4
  "use client";
5
- import Grid from "@mui/material/Grid2";
6
- import Rating from "@mui/material/Rating";
7
- import Dialog from "@mui/material/Dialog";
8
- import Divider from "@mui/material/Divider";
9
- import IconButton from "@mui/material/IconButton";
10
- import DialogContent from "@mui/material/DialogContent";
11
- import Close from "@mui/icons-material/Close";
12
- import { Carousel } from "@evenicanpm/storefront-core/src/components-v2/carousel";
5
+ import type { ProductDetails } from "@evenicanpm/storefront-core/src/api-manager/schemas/product.schema";
6
+ import getProductById from "@evenicanpm/storefront-core/src/api-manager/services/product/queries/get-product-by-id";
13
7
  import BazaarImage from "@evenicanpm/storefront-core/src/components-v2/BazaarImage";
8
+ import { Carousel } from "@evenicanpm/storefront-core/src/components-v2/carousel";
14
9
  import { FlexBox } from "@evenicanpm/storefront-core/src/components-v2/flex-box";
10
+ import QuantityVariantsSelect from "@evenicanpm/storefront-core/src/components-v2/product-quantity-variants";
15
11
  import {
16
- H2,
17
- Paragraph,
18
12
  H1,
13
+ H2,
19
14
  H6,
15
+ Paragraph,
20
16
  } from "@evenicanpm/storefront-core/src/components-v2/Typography";
21
17
  import { currency } from "@evenicanpm/storefront-core/src/lib/lib";
22
- import QuantityVariantsSelect from "@evenicanpm/storefront-core/src/components-v2/product-quantity-variants";
23
- import getProductById from "@evenicanpm/storefront-core/src/api-manager/services/product/queries/get-product-by-id";
24
- import { createContext, ReactElement, useContext } from "react";
25
- import { ProductDetails } from "@evenicanpm/storefront-core/src/api-manager/schemas/product.schema";
18
+ import Close from "@mui/icons-material/Close";
19
+ import Dialog from "@mui/material/Dialog";
20
+ import DialogContent from "@mui/material/DialogContent";
21
+ import Divider from "@mui/material/Divider";
22
+ import Grid from "@mui/material/Grid2";
23
+ import IconButton from "@mui/material/IconButton";
24
+ import Rating from "@mui/material/Rating";
25
+ import { createContext, type ReactElement, useContext } from "react";
26
26
 
27
27
  /**
28
28
  * @category Props
@@ -1,9 +1,10 @@
1
1
  // Replace your-framework with the framework you are using, e.g. react-vite, nextjs, nextjs-vite, etc.
2
- import React from "react";
2
+
3
3
  import type { Meta, StoryObj } from "@storybook/react";
4
+ import React from "react";
5
+ import useVariants from "../../hooks/use-variants";
4
6
  import { data, product } from "./__mocks__/data";
5
7
  import { Dimensions } from "./compound/dimensions";
6
- import useVariants from "../../hooks/use-variants";
7
8
 
8
9
  const meta = {
9
10
  title: "Product/Dimensions",
@@ -3,12 +3,12 @@
3
3
  */
4
4
  "use client";
5
5
  import { DimensionsContext } from "@evenicanpm/storefront-core/src/components-v2/product-dimensions/compound/dimensions";
6
+ import { DimensionsGroupContext } from "@evenicanpm/storefront-core/src/components-v2/product-dimensions/compound/dimensions-group";
7
+ import { hasSelectedDimension } from "@evenicanpm/storefront-core/src/components-v2/product-dimensions/utils/has-selected-dimension";
6
8
  import { H6 } from "@evenicanpm/storefront-core/src/components-v2/Typography";
7
- import { useTranslations } from "next-intl";
8
9
  import { ProductDimensionType } from "@msdyn365-commerce/retail-proxy";
9
- import { hasSelectedDimension } from "@evenicanpm/storefront-core/src/components-v2/product-dimensions/utils/has-selected-dimension";
10
+ import { useTranslations } from "next-intl";
10
11
  import { useContext } from "react";
11
- import { DimensionsGroupContext } from "@evenicanpm/storefront-core/src/components-v2/product-dimensions/compound/dimensions-group";
12
12
 
13
13
  /**
14
14
  * An error that corresponds with a specific dimension group.
@@ -2,10 +2,10 @@
2
2
  * @module ProductDimensions
3
3
  */
4
4
  "use client";
5
+ import { DimensionsGroupContext } from "@evenicanpm/storefront-core/src/components-v2/product-dimensions/compound/dimensions-group";
5
6
  import { H6 } from "@evenicanpm/storefront-core/src/components-v2/Typography";
6
7
  import { ProductDimensionType } from "@msdyn365-commerce/retail-proxy";
7
8
  import { useContext } from "react";
8
- import { DimensionsGroupContext } from "@evenicanpm/storefront-core/src/components-v2/product-dimensions/compound/dimensions-group";
9
9
 
10
10
  /**
11
11
  * @category Sub-Component
@@ -1,13 +1,14 @@
1
1
  /**
2
2
  * @module ProductDimensions
3
3
  */
4
- import React, { useContext } from "react";
5
- import { Chip } from "@mui/material";
4
+
5
+ import { DimensionsContext } from "@evenicanpm/storefront-core/src/components-v2/product-dimensions/compound/dimensions";
6
6
  import {
7
- ProductDimensionValueInventoryAvailability,
8
7
  ProductDimensionType,
8
+ type ProductDimensionValueInventoryAvailability,
9
9
  } from "@msdyn365-commerce/retail-proxy";
10
- import { DimensionsContext } from "@evenicanpm/storefront-core/src/components-v2/product-dimensions/compound/dimensions";
10
+ import { Chip } from "@mui/material";
11
+ import React, { useContext } from "react";
11
12
 
12
13
  /**
13
14
  * @category Props
@@ -2,9 +2,9 @@
2
2
  * @module ProductDimensions
3
3
  */
4
4
  "use client";
5
+ import { DimensionsGroupContext } from "@evenicanpm/storefront-core/src/components-v2/product-dimensions/compound/dimensions-group";
5
6
  import { DimensionGroupListChip } from "@evenicanpm/storefront-core/src/components-v2/product-dimensions/compound/dimensions-group-list-chip";
6
7
  import { useContext } from "react";
7
- import { DimensionsGroupContext } from "@evenicanpm/storefront-core/src/components-v2/product-dimensions/compound/dimensions-group";
8
8
 
9
9
  /**
10
10
  * @category Sub-Component
@@ -2,13 +2,12 @@
2
2
  * @module ProductDimensions
3
3
  */
4
4
  "use client";
5
- import Box from "@mui/material/Box";
6
- import { createContext } from "react";
7
- import { ProductDimensionValueInventoryAvailability } from "@msdyn365-commerce/retail-proxy";
8
- import { PropsWithChildren } from "react";
9
5
  import { DimensionGroupError } from "@evenicanpm/storefront-core/src/components-v2/product-dimensions/compound/dimensions-group-error";
10
6
  import { DimensionGroupLabel } from "@evenicanpm/storefront-core/src/components-v2/product-dimensions/compound/dimensions-group-label";
11
7
  import { DimensionGroupList } from "@evenicanpm/storefront-core/src/components-v2/product-dimensions/compound/dimensions-group-list";
8
+ import type { ProductDimensionValueInventoryAvailability } from "@msdyn365-commerce/retail-proxy";
9
+ import Box from "@mui/material/Box";
10
+ import { createContext, type PropsWithChildren } from "react";
12
11
 
13
12
  /**
14
13
  * @category Props
@@ -1,7 +1,11 @@
1
1
  "use client";
2
- import { ProductDimensionValueInventoryAvailability } from "@msdyn365-commerce/retail-proxy";
3
- import React, { PropsWithChildren, ReactElement, createContext } from "react";
4
2
  import { DimensionGroup } from "@evenicanpm/storefront-core/src/components-v2/product-dimensions/compound/dimensions-group";
3
+ import type { ProductDimensionValueInventoryAvailability } from "@msdyn365-commerce/retail-proxy";
4
+ import React, {
5
+ createContext,
6
+ type PropsWithChildren,
7
+ type ReactElement,
8
+ } from "react";
5
9
 
6
10
  /**
7
11
  * @category Context
@@ -1,6 +1,6 @@
1
1
  "use client";
2
- import { ProductDimensionValueInventoryAvailability } from "@msdyn365-commerce/retail-proxy";
3
2
  import { Dimensions } from "@evenicanpm/storefront-core/src/components-v2/product-dimensions/compound/dimensions";
3
+ import type { ProductDimensionValueInventoryAvailability } from "@msdyn365-commerce/retail-proxy";
4
4
 
5
5
  // TODO: When selecting a single dimension, loading spinner starts... not necessary, inefficient.
6
6
 
@@ -1,4 +1,4 @@
1
- import { ProductDimensionValueInventoryAvailability } from "@msdyn365-commerce/retail-proxy";
1
+ import type { ProductDimensionValueInventoryAvailability } from "@msdyn365-commerce/retail-proxy";
2
2
 
3
3
  /**
4
4
  * Checks if dimension exists
@@ -1,6 +1,7 @@
1
1
  // Replace your-framework with the framework you are using, e.g. react-vite, nextjs, nextjs-vite, etc.
2
- import React from "react";
2
+
3
3
  import type { Meta, StoryObj } from "@storybook/react";
4
+ import React from "react";
4
5
  import { QuantityButtons } from "./compound/quantity-buttons-root";
5
6
 
6
7
  const meta = {
@@ -1,16 +1,16 @@
1
1
  /**
2
2
  * @module ProductQuantityButtons
3
3
  */
4
- import React, { createContext, useContext, ReactNode } from "react";
4
+
5
5
  import { FlexBox } from "@evenicanpm/storefront-core/src/components-v2/flex-box";
6
- import Button from "@mui/material/Button";
7
- import { CartLine } from "@msdyn365-commerce/retail-proxy";
8
- import { useTranslations } from "next-intl";
9
- import { MdAdd as Add } from "react-icons/md";
10
- import { MdRemove as Remove } from "react-icons/md";
11
6
  import { H3 } from "@evenicanpm/storefront-core/src/components-v2/Typography";
12
- import CircularProgress from "@mui/material/CircularProgress";
13
7
  import useCart from "@evenicanpm/storefront-core/src/hooks/use-cart";
8
+ import type { CartLine } from "@msdyn365-commerce/retail-proxy";
9
+ import Button from "@mui/material/Button";
10
+ import CircularProgress from "@mui/material/CircularProgress";
11
+ import { useTranslations } from "next-intl";
12
+ import React, { createContext, type ReactNode, useContext } from "react";
13
+ import { MdAdd as Add, MdRemove as Remove } from "react-icons/md";
14
14
  // TODO: Encapsulate the addToCart api calls inside this component
15
15
  // so no need to pass in props.
16
16
 
@@ -2,9 +2,12 @@
2
2
  * @component
3
3
  * @category Implementation component
4
4
  */
5
+
6
+ import {
7
+ type QuantityButtonProps,
8
+ QuantityButtons,
9
+ } from "@evenicanpm/storefront-core/src/components-v2/product-quantity-buttons/compound/quantity-buttons-root";
5
10
  import React from "react";
6
- import { QuantityButtons } from "@evenicanpm/storefront-core/src/components-v2/product-quantity-buttons/compound/quantity-buttons-root";
7
- import { QuantityButtonProps } from "@evenicanpm/storefront-core/src/components-v2/product-quantity-buttons/compound/quantity-buttons-root";
8
11
 
9
12
  /**
10
13
  * Pre-composed version of quantity buttons.
@@ -1,8 +1,9 @@
1
1
  // Replace your-framework with the framework you are using, e.g. react-vite, nextjs, nextjs-vite, etc.
2
- import React from "react";
2
+
3
3
  import type { Meta, StoryObj } from "@storybook/react";
4
- import QuantityButtons from "./index";
4
+ import React from "react";
5
5
  import { product } from "../../../__mocks__/product-dimensions";
6
+ import QuantityButtons from "./index";
6
7
 
7
8
  const meta = {
8
9
  title: "Product/DimensionsQuantitySelector",
@@ -1,21 +1,19 @@
1
1
  "use client";
2
- import { useState } from "react";
3
- import Box from "@mui/material/Box";
4
-
5
- // GLOBAL CUSTOM COMPONENTS
6
- import QuantityButtons from "@evenicanpm/storefront-core/src/components-v2/product-quantity-buttons";
7
2
  // API MANAGER
8
- import { ProductDetails } from "@evenicanpm/storefront-core/src/api-manager/schemas/product.schema";
3
+ import type { ProductDetails } from "@evenicanpm/storefront-core/src/api-manager/schemas/product.schema";
9
4
  import getProductAvailability from "@evenicanpm/storefront-core/src/api-manager/services/product/queries/get-product-availability";
10
-
11
- // LOCAL HOOKS
12
- import useVariants from "@evenicanpm/storefront-core/src/hooks/use-variants";
5
+ // LOCAL COMPONENTS
6
+ import ProductDimensions from "@evenicanpm/storefront-core/src/components-v2/product-dimensions";
7
+ // GLOBAL CUSTOM COMPONENTS
8
+ import QuantityButtons from "@evenicanpm/storefront-core/src/components-v2/product-quantity-buttons";
13
9
  import useCart, {
14
- AddToCartBopisInput,
10
+ type AddToCartBopisInput,
15
11
  } from "@evenicanpm/storefront-core/src/hooks/use-cart";
16
12
 
17
- // LOCAL COMPONENTS
18
- import ProductDimensions from "@evenicanpm/storefront-core/src/components-v2/product-dimensions";
13
+ // LOCAL HOOKS
14
+ import useVariants from "@evenicanpm/storefront-core/src/hooks/use-variants";
15
+ import Box from "@mui/material/Box";
16
+ import { useState } from "react";
19
17
 
20
18
  interface Props {
21
19
  product: ProductDetails;
@@ -41,7 +39,9 @@ export default function QuantityVariantsSelect({ product }: Props) {
41
39
  allDimensionsSelected,
42
40
  } = useVariants(product);
43
41
 
44
- const { handleAddToCart } = useCart(selectedVariant?.RecordId);
42
+ const productId = selectedVariant?.RecordId ?? RecordId;
43
+
44
+ const { handleAddToCart } = useCart(productId);
45
45
 
46
46
  const searchCriteria = {
47
47
  searchCriteria: {
@@ -1,8 +1,9 @@
1
1
  // Replace your-framework with the framework you are using, e.g. react-vite, nextjs, nextjs-vite, etc.
2
- import React from "react";
2
+
3
3
  import type { Meta, StoryObj } from "@storybook/react";
4
- import { ProductsGrid } from "./index";
4
+ import React from "react";
5
5
  import { data, prices } from "../../../__mocks__/products";
6
+ import { ProductsGrid } from "./index";
6
7
 
7
8
  const meta = {
8
9
  title: "Product/ListGrid",
@@ -1,10 +1,11 @@
1
1
  // Replace your-framework with the framework you are using, e.g. react-vite, nextjs, nextjs-vite, etc.
2
- import React from "react";
2
+
3
3
  import type { Meta, StoryObj } from "@storybook/react";
4
- import { ProductsList } from "./index";
5
- import { data, prices } from "../../../__mocks__/products";
4
+ import React from "react";
6
5
  //import { useSession } from "next-auth/react";
7
6
  import { expect, mocked } from "storybook/test";
7
+ import { data, prices } from "../../../__mocks__/products";
8
+ import { ProductsList } from "./index";
8
9
 
9
10
  const meta = {
10
11
  title: "Product/ListList",
@@ -1,10 +1,11 @@
1
1
  /**
2
2
  * @module ProductsView
3
3
  */
4
- import { createContext, useContext } from "react";
4
+
5
+ import type { ProductPrice } from "@evenicanpm/storefront-core/src/api-manager/schemas/product.schema";
5
6
  // DATA MODEL
6
- import { ProductSearchResult as Product } from "@msdyn365-commerce/retail-proxy";
7
- import { ProductPrice } from "@evenicanpm/storefront-core/src/api-manager/schemas/product.schema";
7
+ import type { ProductSearchResult as Product } from "@msdyn365-commerce/retail-proxy";
8
+ import { createContext, useContext } from "react";
8
9
 
9
10
  /**
10
11
  * Shared context value for the products list passed into root component.
@@ -1,21 +1,22 @@
1
1
  /**
2
2
  * @module ProductsView
3
3
  */
4
- import React from "react";
5
- import Grid from "@mui/material/Grid2";
4
+
5
+ import type { ProductPrice } from "@evenicanpm/storefront-core/src/api-manager/schemas/product.schema";
6
6
  // GLOBAL CUSTOM COMPONENTS
7
7
  import { FlexBetween } from "@evenicanpm/storefront-core/src/components-v2/flex-box/index";
8
8
  import ProductCardPlp from "@evenicanpm/storefront-core/src/components-v2/product-cards/product-card-plp/product-card";
9
- // DATA MODEL
10
- import { ProductSearchResult as Product } from "@msdyn365-commerce/retail-proxy";
11
9
  import {
12
10
  ProductsViewCardContext,
13
11
  ProductsViewContext,
14
12
  useProductsView,
15
13
  } from "@evenicanpm/storefront-core/src/components-v2/products-view/compound/context";
16
- import { ProductsViewProps } from "@evenicanpm/storefront-core/src/components-v2/products-view/compound/types";
14
+ import type { ProductsViewProps } from "@evenicanpm/storefront-core/src/components-v2/products-view/compound/types";
15
+ // DATA MODEL
16
+ import type { ProductSearchResult as Product } from "@msdyn365-commerce/retail-proxy";
17
+ import Grid from "@mui/material/Grid2";
18
+ import type React from "react";
17
19
  import { cloneElement } from "react";
18
- import { ProductPrice } from "@evenicanpm/storefront-core/src/api-manager/schemas/product.schema";
19
20
 
20
21
  /**
21
22
  * Root component of products grid view.
@@ -1,18 +1,19 @@
1
1
  /**
2
2
  * @module ProductsView
3
3
  */
4
- import { cloneElement } from "react";
4
+
5
+ import type { ProductPrice } from "@evenicanpm/storefront-core/src/api-manager/schemas/product.schema";
5
6
  // GLOBAL CUSTOM COMPONENTS
6
7
  import FlexBetween from "@evenicanpm/storefront-core/src/components-v2/flex-box/flex-between";
7
8
  import { ProductCardPlpList } from "@evenicanpm/storefront-core/src/components-v2/product-cards/product-card-plp-list/index";
8
- import { ProductPrice } from "@evenicanpm/storefront-core/src/api-manager/schemas/product.schema";
9
- // DATA MODEL
10
- import { ProductSearchResult as Product } from "@msdyn365-commerce/retail-proxy";
11
9
  import {
12
10
  ProductsViewContext,
13
11
  useProductsView,
14
12
  } from "@evenicanpm/storefront-core/src/components-v2/products-view/compound/context";
15
- import { ProductsViewProps } from "@evenicanpm/storefront-core/src/components-v2/products-view/compound/types";
13
+ import type { ProductsViewProps } from "@evenicanpm/storefront-core/src/components-v2/products-view/compound/types";
14
+ // DATA MODEL
15
+ import type { ProductSearchResult as Product } from "@msdyn365-commerce/retail-proxy";
16
+ import { cloneElement } from "react";
16
17
 
17
18
  /**
18
19
  * Root component of the ProductsListView.
@@ -1,5 +1,5 @@
1
- import { ProductsViewContext } from "@evenicanpm/storefront-core/src/components-v2/products-view/compound/context";
2
- import { PropsWithChildren, ReactNode } from "react";
1
+ import type { ProductsViewContext } from "@evenicanpm/storefront-core/src/components-v2/products-view/compound/context";
2
+ import type { PropsWithChildren, ReactNode } from "react";
3
3
 
4
4
  /**
5
5
  * This prop type is used for both the ProductsViewGrid and the ProductsViewList.
@@ -1,9 +1,9 @@
1
- import React, { ReactNode } from "react";
1
+ import type { ProductPrice } from "@evenicanpm/storefront-core/src/api-manager/schemas/product.schema";
2
2
  import ProductsGridView from "@evenicanpm/storefront-core/src/components-v2/products-view/compound/products-grid-view";
3
3
  import ProductsListView from "@evenicanpm/storefront-core/src/components-v2/products-view/compound/products-list-view";
4
4
  // DATA MODEL
5
- import { ProductSearchResult as Product } from "@msdyn365-commerce/retail-proxy";
6
- import { ProductPrice } from "@evenicanpm/storefront-core/src/api-manager/schemas/product.schema";
5
+ import type { ProductSearchResult as Product } from "@msdyn365-commerce/retail-proxy";
6
+ import React, { type ReactNode } from "react";
7
7
 
8
8
  export interface Props {
9
9
  /** List of products to display */
@@ -1,7 +1,7 @@
1
+ import { Box, Button, Link as MUILink, Typography } from "@mui/material";
1
2
  import type { Meta, StoryObj } from "@storybook/react";
2
- import ProgressBar from "./index";
3
3
  import NProgress from "nprogress";
4
- import { Button, Box, Typography, Link as MUILink } from "@mui/material";
4
+ import ProgressBar from "./index";
5
5
 
6
6
  const meta: Meta<typeof ProgressBar> = {
7
7
  title: "Utility/ProgressBar",
@@ -1,10 +1,10 @@
1
1
  // https://github.com/apal21/nextjs-progressbar/issues/86
2
2
 
3
3
  "use client";
4
- import { useEffect } from "react";
5
- import NProgress from "nprogress";
6
- import useTheme from "@mui/material/styles/useTheme";
7
4
  import GlobalStyles from "@mui/material/GlobalStyles";
5
+ import useTheme from "@mui/material/styles/useTheme";
6
+ import NProgress from "nprogress";
7
+ import { useEffect } from "react";
8
8
 
9
9
  import "nprogress/nprogress.css";
10
10
 
@@ -1,6 +1,7 @@
1
1
  // Replace your-framework with the framework you are using, e.g. react-vite, nextjs, nextjs-vite, etc.
2
- import React from "react";
2
+
3
3
  import type { Meta, StoryObj } from "@storybook/react";
4
+ import React from "react";
4
5
  import Scrollbar from "./index";
5
6
 
6
7
  const meta = {
@@ -1,6 +1,6 @@
1
- import { ReactNode } from "react";
2
- import { SxProps, Theme } from "@mui/material/styles";
3
- import { Props } from "simplebar-react";
1
+ import type { SxProps, Theme } from "@mui/material/styles";
2
+ import type { ReactNode } from "react";
3
+ import type { Props } from "simplebar-react";
4
4
  import "simplebar-react/dist/simplebar.min.css";
5
5
  // STYLED COMPONENT
6
6
  import { StyledScrollBar } from "@evenicanpm/storefront-core/src/components-v2/scrollbar/styles";