@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,9 +1,10 @@
1
- import React from "react";
2
- import Box from "@mui/material/Box";
3
- import Grid from "@mui/material/Grid2";
1
+ import ProductCard from "@evenicanpm/storefront-core/src/components-v2/product-cards/product-card/index";
4
2
  // GLOBAL CUSTOM COMPONENTS
5
3
  import { Section } from "@evenicanpm/storefront-core/src/components-v2/section";
6
- import ProductCard from "@evenicanpm/storefront-core/src/components-v2/product-cards/product-card/index";
4
+ import Box from "@mui/material/Box";
5
+ import Grid from "@mui/material/Grid2";
6
+ import React from "react";
7
+
7
8
  // CUSTOM DATA MODEL
8
9
 
9
10
  interface Product {
@@ -1,13 +1,12 @@
1
- import React from "react";
2
-
3
- import Card from "@mui/material/Card";
4
- import Chip from "@mui/material/Chip";
5
- import styled from "@mui/material/styles/styled";
6
- import Image from "@evenicanpm/storefront-core/src/components-v2/Image";
7
1
  // GLOBAL CUSTOM COMPONENTS
8
2
  import HoverBox from "@evenicanpm/storefront-core/src/components-v2/HoverBox";
3
+ import Image from "@evenicanpm/storefront-core/src/components-v2/Image";
9
4
  import { lightOrDarkText } from "@evenicanpm/storefront-core/src/lib/hexToLuma";
5
+ import Card from "@mui/material/Card";
6
+ import Chip from "@mui/material/Chip";
10
7
  import { useTheme } from "@mui/material/styles";
8
+ import styled from "@mui/material/styles/styled";
9
+ import React from "react";
11
10
 
12
11
  // STYLED COMPONENT
13
12
  const StyledChip = styled(Chip)({
@@ -1,5 +1,4 @@
1
- import React from "react";
2
- import Rating from "@mui/material/Rating";
1
+ import { FlexRowCenter } from "@evenicanpm/storefront-core/src/components-v2/flex-box/index";
3
2
  // GLOBAL CUSTOM COMPONENTS
4
3
  import HoverBox from "@evenicanpm/storefront-core/src/components-v2/HoverBox";
5
4
  import Image from "@evenicanpm/storefront-core/src/components-v2/Image";
@@ -7,9 +6,10 @@ import {
7
6
  H4,
8
7
  Small,
9
8
  } from "@evenicanpm/storefront-core/src/components-v2/Typography";
10
- import { FlexRowCenter } from "@evenicanpm/storefront-core/src/components-v2/flex-box/index";
11
9
  // CUSTOM UTILS LIBRARY FUNCTION
12
10
  import { currency } from "@evenicanpm/storefront-core/src/lib/lib";
11
+ import Rating from "@mui/material/Rating";
12
+ import React from "react";
13
13
 
14
14
  // ======================================================
15
15
  interface Props {
@@ -1,8 +1,8 @@
1
1
  "use client";
2
- import { OverridableComponent } from "@mui/material/OverridableComponent";
3
- import React from "react";
2
+ import type { OverridableComponent } from "@mui/material/OverridableComponent";
3
+ import type { SvgIconTypeMap } from "@mui/material/SvgIcon";
4
4
  import createSvgIcon from "@mui/material/utils/createSvgIcon";
5
- import { SvgIconTypeMap } from "@mui/material/SvgIcon";
5
+ import React from "react";
6
6
 
7
7
  const Category: OverridableComponent<SvgIconTypeMap> = createSvgIcon(
8
8
  <svg fill="currentColor" viewBox="0 0 64 64">
@@ -1,7 +1,7 @@
1
1
  "use client";
2
- import React from "react";
3
2
 
4
3
  import createSvgIcon from "@mui/material/utils/createSvgIcon";
4
+ import React from "react";
5
5
 
6
6
  const DottedStar = createSvgIcon(
7
7
  <svg fill="currentColor" viewBox="0 0 24 24">
@@ -1,7 +1,7 @@
1
1
  "use client";
2
- import React from "react";
3
2
 
4
3
  import createSvgIcon from "@mui/material/utils/createSvgIcon";
4
+ import React from "react";
5
5
 
6
6
  const FallbackIcon = createSvgIcon(
7
7
  <svg
@@ -1,7 +1,7 @@
1
1
  "use client";
2
- import React from "react";
3
2
 
4
3
  import createSvgIcon from "@mui/material/utils/createSvgIcon";
4
+ import React from "react";
5
5
 
6
6
  const GiftBox = createSvgIcon(
7
7
  <svg fill="currentColor" viewBox="0 0 22 20">
@@ -1,7 +1,7 @@
1
1
  "use client";
2
- import React from "react";
3
2
 
4
3
  import createSvgIcon from "@mui/material/utils/createSvgIcon";
4
+ import React from "react";
5
5
 
6
6
  const Light = createSvgIcon(
7
7
  <svg fill="currentColor" viewBox="0 0 24 24">
@@ -1,7 +1,7 @@
1
1
  "use client";
2
- import React from "react";
3
2
 
4
3
  import createSvgIcon from "@mui/material/utils/createSvgIcon";
4
+ import React from "react";
5
5
 
6
6
  const NewArrival = createSvgIcon(
7
7
  <svg fill="currentColor" viewBox="0 0 24 24">
@@ -1,6 +1,6 @@
1
1
  "use client";
2
- import React from "react";
3
2
  import createSvgIcon from "@mui/material/utils/createSvgIcon";
3
+ import React from "react";
4
4
 
5
5
  const RankBadge = createSvgIcon(
6
6
  <svg fill="currentColor" viewBox="0 0 24 24">
@@ -1,15 +1,15 @@
1
- import { OverridableComponent } from "@mui/material/OverridableComponent";
2
- import { SvgIconTypeMap } from "@mui/material/SvgIcon";
1
+ import type { OverridableComponent } from "@mui/material/OverridableComponent";
2
+ import type { SvgIconTypeMap } from "@mui/material/SvgIcon";
3
3
 
4
4
  type IconComponent = OverridableComponent<SvgIconTypeMap<unknown, "svg">>;
5
5
 
6
6
  import Category from "@/cms/blocks/icons/components/category";
7
7
  import DottedStar from "@/cms/blocks/icons/components/dotted-star";
8
+ import FallbackIcon from "@/cms/blocks/icons/components/fallback-icon";
8
9
  import GiftBox from "@/cms/blocks/icons/components/gift-box";
9
10
  import Light from "@/cms/blocks/icons/components/light";
10
11
  import NewArrival from "@/cms/blocks/icons/components/new-arrival";
11
12
  import RankBadge from "@/cms/blocks/icons/components/rank-badge";
12
- import FallbackIcon from "@/cms/blocks/icons/components/fallback-icon";
13
13
 
14
14
  export { Category };
15
15
  export { DottedStar };
@@ -1,16 +1,16 @@
1
1
  // From scratch components
2
2
  export { default as BrandLogosScroller } from "@/cms/blocks/components/brand-logos-scroller";
3
3
  export { default as CategoryCard } from "@/cms/blocks/components/category-card";
4
+ export { default as CategoryCarousel } from "@/cms/blocks/components/category-carousel/index";
5
+ export { default as FeaturePill } from "@/cms/blocks/components/feature-pill";
4
6
  export { default as FeaturedCategories } from "@/cms/blocks/components/featured-categories";
5
7
  export { default as FeaturedProducts } from "@/cms/blocks/components/featured-products";
6
- export { default as FeaturePill } from "@/cms/blocks/components/feature-pill";
7
8
  export { default as Footer } from "@/cms/blocks/components/footer";
8
9
  export { default as Hero } from "@/cms/blocks/components/hero";
9
- export { default as MediaCard } from "@/cms/blocks/components/media-card";
10
- export { default as RichText } from "@/cms/blocks/components/rich-text";
11
- export { default as Image } from "@/cms/blocks/components/image";
12
10
  export { default as HeroCarousel } from "@/cms/blocks/components/hero-carousel/index";
13
- export { default as Services } from "@/cms/blocks/components/services/index";
11
+ export { default as Image } from "@/cms/blocks/components/image";
12
+ export { default as MediaCard } from "@/cms/blocks/components/media-card";
14
13
  export { default as ProductCarousel } from "@/cms/blocks/components/product-carousel/index";
15
14
  export { default as ProductSectionFullWidth } from "@/cms/blocks/components/product-section-fullwidth/index";
16
- export { default as CategoryCarousel } from "@/cms/blocks/components/category-carousel/index";
15
+ export { default as RichText } from "@/cms/blocks/components/rich-text";
16
+ export { default as Services } from "@/cms/blocks/components/services/index";
package/src/cms/blog.ts CHANGED
@@ -1,6 +1,6 @@
1
+ import type { BlocksContent } from "@strapi/blocks-react-renderer";
1
2
  import cms from "@/cms/endpoints";
2
- import { type BlocksContent } from "@strapi/blocks-react-renderer";
3
- import { Formats } from "@/cms/interfaces/product-data";
3
+ import type { Formats } from "@/cms/interfaces/product-data";
4
4
 
5
5
  export interface Blogs {
6
6
  data: Array<{
@@ -1,4 +1,4 @@
1
- import { Formats } from "@/cms/interfaces/product-data";
1
+ import type { Formats } from "@/cms/interfaces/product-data";
2
2
 
3
3
  const apiKeys = {
4
4
  pages: "/cms/pages",
@@ -1,6 +1,6 @@
1
+ import { Box, Typography } from "@mui/material";
1
2
  import type { Meta, StoryObj } from "@storybook/react";
2
3
  import BazaarCard from "./BazaarCard";
3
- import { Typography, Box } from "@mui/material";
4
4
 
5
5
  const meta = {
6
6
  title: "Bazaar/BazaarCard",
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
 
3
- import Card, { CardProps } from "@mui/material/Card";
3
+ import Card, { type CardProps } from "@mui/material/Card";
4
4
  import styled from "@mui/material/styles/styled";
5
5
 
6
6
  // ===============================================
@@ -1,4 +1,4 @@
1
- import Box, { BoxProps } from "@mui/material/Box";
1
+ import Box, { type BoxProps } from "@mui/material/Box";
2
2
 
3
3
  // ==============================================================
4
4
  interface Props extends BoxProps {
@@ -1,6 +1,6 @@
1
+ import { Button, MenuItem } from "@mui/material";
1
2
  import type { Meta, StoryObj } from "@storybook/react";
2
3
  import BazaarMenu from "./BazaarMenu";
3
- import { Button, MenuItem } from "@mui/material";
4
4
 
5
5
  const meta = {
6
6
  title: "Bazaar/BazaarMenu",
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
 
3
- import { Fragment, ReactNode, useState } from "react";
4
3
  import Menu from "@mui/material/Menu";
5
- import { SxProps, Theme } from "@mui/material/styles";
4
+ import type { SxProps, Theme } from "@mui/material/styles";
5
+ import { Fragment, type ReactNode, useState } from "react";
6
6
 
7
7
  // ===============================================================
8
8
  interface Props {
@@ -1,4 +1,4 @@
1
- import Switch, { SwitchProps } from "@mui/material/Switch";
1
+ import Switch, { type SwitchProps } from "@mui/material/Switch";
2
2
  import styled from "@mui/material/styles/styled";
3
3
 
4
4
  // STYLED COMPONENT
@@ -1,7 +1,7 @@
1
- import Box, { BoxProps } from "@mui/material/Box";
2
- import TextField, { TextFieldProps } from "@mui/material/TextField";
3
1
  // CUSTOM COMPONENT
4
2
  import { H6 } from "@evenicanpm/storefront-core/src/components-v2/Typography";
3
+ import Box, { type BoxProps } from "@mui/material/Box";
4
+ import TextField, { type TextFieldProps } from "@mui/material/TextField";
5
5
 
6
6
  // ==============================================================
7
7
  type Props = TextFieldProps & BoxProps;
@@ -1,6 +1,6 @@
1
+ import { Box, Typography } from "@mui/material";
1
2
  import type { Meta, StoryObj } from "@storybook/react";
2
- import { BorderShadowCard, lightShadow, lightBorder } from "./BoxShadowCard";
3
- import { Typography, Box } from "@mui/material";
3
+ import { BorderShadowCard, lightBorder, lightShadow } from "./BoxShadowCard";
4
4
 
5
5
  const meta = {
6
6
  title: "Bazaar/BorderShadowCard",
@@ -1,7 +1,7 @@
1
1
  import type { Meta, StoryObj } from "@storybook/react";
2
- import CountryInput from "./countries-input";
3
- import { countries } from "../../__mocks__/countries";
4
2
  import { useState } from "react";
3
+ import { countries } from "../../__mocks__/countries";
4
+ import CountryInput from "./countries-input";
5
5
 
6
6
  const meta = {
7
7
  title: "Bazaar/CountryInput",
@@ -1,6 +1,6 @@
1
1
  import type { Meta, StoryObj } from "@storybook/react";
2
+ import type { Accept } from "react-dropzone";
2
3
  import DropZone from "./DropZone";
3
- import { Accept } from "react-dropzone";
4
4
 
5
5
  const meta = {
6
6
  title: "Bazaar/DropZone",
@@ -1,16 +1,16 @@
1
- import { useCallback } from "react";
2
- // MUI
3
- import Box from "@mui/material/Box";
4
- import Button from "@mui/material/Button";
5
- import Divider from "@mui/material/Divider";
6
- // DROPZONE
7
- import { Accept, FileRejection, useDropzone } from "react-dropzone";
8
1
  // LOCAL CUSTOM COMPONENT
9
2
  import {
10
3
  H5,
11
4
  Small,
12
5
  } from "@evenicanpm/storefront-core/src/components-v2/Typography";
6
+ // MUI
7
+ import Box from "@mui/material/Box";
8
+ import Button from "@mui/material/Button";
9
+ import Divider from "@mui/material/Divider";
13
10
  import { useTranslations } from "next-intl";
11
+ import { useCallback } from "react";
12
+ // DROPZONE
13
+ import { type Accept, type FileRejection, useDropzone } from "react-dropzone";
14
14
 
15
15
  // ========================================================
16
16
  interface Props {
@@ -1,6 +1,6 @@
1
+ import { Box, Typography } from "@mui/material";
1
2
  import type { Meta, StoryObj } from "@storybook/react";
2
3
  import HoverBox from "./HoverBox";
3
- import { Box, Typography } from "@mui/material";
4
4
 
5
5
  const meta = {
6
6
  title: "Bazaar/HoverBox",
@@ -1,8 +1,9 @@
1
1
  "use client";
2
2
 
3
- import React, { useState, useEffect } from "react";
4
- import { ImageProps } from "next/image";
5
3
  import LazyImage from "@evenicanpm/storefront-core/src/components-v2/LazyImage";
4
+ import type { ImageProps } from "next/image";
5
+ import type React from "react";
6
+ import { useEffect, useState } from "react";
6
7
 
7
8
  export interface ImageWithFallbackProps extends ImageProps {
8
9
  fallbackSrc?: string;
@@ -1,12 +1,20 @@
1
1
  "use client";
2
2
 
3
- import NextImage, { ImageProps } from "next/image";
4
3
  import styled from "@mui/material/styles/styled";
5
- import { ComponentType } from "react";
4
+ import NextImage, { type ImageProps } from "next/image";
5
+ import type { ComponentType } from "react";
6
6
 
7
7
  const LazyImage: ComponentType<ImageProps> = styled(NextImage)({
8
8
  width: "100%",
9
9
  height: "auto", //If we use CSS to change the size of image, we should include the styles 'width: "auto"' or 'height: "auto"' to maintain the aspect ratio.
10
10
  });
11
11
 
12
+ /**
13
+ * Next Image with a hover zoom effect. Used for blog cards.
14
+ */
15
+ export const ZoomLazyImage: ComponentType<ImageProps> = styled(NextImage)({
16
+ transition: "transform 0.3s",
17
+ "&:hover": { transform: "scale(1.1)", cursor: "pointer" },
18
+ });
19
+
12
20
  export default LazyImage;
@@ -1,7 +1,6 @@
1
- import React from "react";
2
-
3
1
  // Material-UI
4
2
  import { Box, CircularProgress } from "@mui/material";
3
+ import type React from "react";
5
4
 
6
5
  interface Props {
7
6
  height?: number;
@@ -1,6 +1,6 @@
1
1
  import type { Meta, StoryObj } from "@storybook/react";
2
- import SearchInput from "./SearchInput";
3
2
  import { useState } from "react";
3
+ import SearchInput from "./SearchInput";
4
4
 
5
5
  const meta = {
6
6
  title: "Bazaar/SearchInput",
@@ -1,7 +1,7 @@
1
- import InputBase, { InputBaseProps } from "@mui/material/InputBase";
2
- import styled from "@mui/material/styles/styled";
3
1
  // MUI ICON COMPONENT
4
2
  import Search from "@mui/icons-material/Search";
3
+ import InputBase, { type InputBaseProps } from "@mui/material/InputBase";
4
+ import styled from "@mui/material/styles/styled";
5
5
 
6
6
  // STYLED COMPONENT
7
7
  const StyledInputBase = styled(InputBase)(({ theme }) => ({
@@ -1,6 +1,6 @@
1
- import { PropsWithChildren } from "react";
2
1
  import styled from "@mui/material/styles/styled";
3
2
  import { SnackbarProvider as NotistackProvider } from "notistack";
3
+ import type { PropsWithChildren } from "react";
4
4
 
5
5
  // STYLED COMPONENT
6
6
  const Provider = styled(NotistackProvider)(({ theme }) => ({
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
 
3
- import React from "react";
4
3
  import { useTranslations } from "next-intl";
4
+ import React from "react";
5
5
 
6
6
  interface Props {
7
7
  path: string;
@@ -1,5 +1,6 @@
1
1
  import type { Meta, StoryObj } from "@storybook/react";
2
2
  import {
3
+ Display,
3
4
  H1,
4
5
  H2,
5
6
  H3,
@@ -9,9 +10,8 @@ import {
9
10
  Paragraph,
10
11
  Small,
11
12
  Span,
12
- Tiny,
13
- Display,
14
13
  Subtitle,
14
+ Tiny,
15
15
  } from "./Typography";
16
16
 
17
17
  const meta = {
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
 
3
- import Box, { BoxProps } from "@mui/material/Box";
3
+ import Box, { type BoxProps } from "@mui/material/Box";
4
4
  import styled from "@mui/material/styles/styled";
5
5
  import clsx from "clsx";
6
6
  import React from "react";
@@ -1,5 +1,5 @@
1
- import { PropsWithChildren } from "react";
2
- import Button, { ButtonProps } from "@mui/material/Button";
1
+ import Button, { type ButtonProps } from "@mui/material/Button";
2
+ import type { PropsWithChildren } from "react";
3
3
 
4
4
  // ==================================================
5
5
  interface Props extends PropsWithChildren, ButtonProps {}
@@ -1,10 +1,10 @@
1
- import { ReactNode } from "react";
2
- import { BoxProps } from "@mui/material/Box";
3
- import { styled, SxProps, Theme } from "@mui/material/styles";
4
- // MUI ICON COMPONENTS
5
- import ChevronRight from "@mui/icons-material/ChevronRight";
6
1
  // GLOBAL CUSTOM COMPONENT
7
2
  import FlexBox from "@evenicanpm/storefront-core/src/components-v2/flex-box/flex-box";
3
+ // MUI ICON COMPONENTS
4
+ import ChevronRight from "@mui/icons-material/ChevronRight";
5
+ import type { BoxProps } from "@mui/material/Box";
6
+ import { type SxProps, styled, type Theme } from "@mui/material/styles";
7
+ import type { ReactNode } from "react";
8
8
 
9
9
  // STYLED COMPONENT
10
10
  const RootContainer = styled(FlexBox, {
@@ -1,6 +1,6 @@
1
+ import { Box, Paper, Typography } from "@mui/material";
1
2
  import type { Meta, StoryObj } from "@storybook/react";
2
3
  import Carousel from "./carousel";
3
- import { Box, Typography, Paper } from "@mui/material";
4
4
 
5
5
  const meta: Meta<typeof Carousel> = {
6
6
  title: "Carousel",
@@ -1,9 +1,9 @@
1
1
  "use client";
2
2
 
3
- import React, { forwardRef, PropsWithChildren } from "react";
4
- import { SxProps, Theme, useTheme } from "@mui/material/styles";
5
- import Slider from "react-slick";
6
- import { Settings, CustomArrowProps } from "react-slick";
3
+ import { type SxProps, type Theme, useTheme } from "@mui/material/styles";
4
+ import type React from "react";
5
+ import { forwardRef, type PropsWithChildren } from "react";
6
+ import Slider, { type CustomArrowProps, type Settings } from "react-slick";
7
7
  import "slick-carousel/slick/slick.css";
8
8
  import "slick-carousel/slick/slick-theme.css";
9
9
  import { createArrows } from "@evenicanpm/storefront-core/src/components-v2/carousel/components/carousel-arrows";
@@ -1,10 +1,10 @@
1
- import { Settings, CustomArrowProps } from "react-slick";
2
- import { SxProps, Theme } from "@mui/material/styles";
1
+ // STYLED COMPONENT
2
+ import { ArrowButton } from "@evenicanpm/storefront-core/src/components-v2/carousel/styles/index";
3
3
  // MUI ICON COMPONENTS
4
4
  import ArrowBack from "@mui/icons-material/ArrowBack";
5
5
  import ArrowForward from "@mui/icons-material/ArrowForward";
6
- // STYLED COMPONENT
7
- import { ArrowButton } from "@evenicanpm/storefront-core/src/components-v2/carousel/styles/index";
6
+ import type { SxProps, Theme } from "@mui/material/styles";
7
+ import type { CustomArrowProps, Settings } from "react-slick";
8
8
 
9
9
  type ArrowConfig = {
10
10
  sx?: SxProps<Theme>;
@@ -1,10 +1,10 @@
1
- import { Settings } from "react-slick";
2
- import { SxProps, Theme } from "@mui/material/styles";
3
1
  // STYLED COMPONENTS
4
2
  import {
5
3
  Dot,
6
4
  DotList,
7
5
  } from "@evenicanpm/storefront-core/src/components-v2/carousel/styles/index";
6
+ import type { SxProps, Theme } from "@mui/material/styles";
7
+ import type { Settings } from "react-slick";
8
8
 
9
9
  type DotConfig = {
10
10
  dotColor?: string;
@@ -1,11 +1,11 @@
1
- import { ReactNode } from "react";
2
- import Grid from "@mui/material/Grid2";
3
- import Button from "@mui/material/Button";
4
1
  // GLOBAL CUSTOM COMPONENTS
5
2
  import BazaarImage from "@evenicanpm/storefront-core/src/components-v2/BazaarImage";
6
- import { Paragraph } from "@evenicanpm/storefront-core/src/components-v2/Typography";
7
3
  // STYLED COMPONENT
8
4
  import { StyledRoot } from "@evenicanpm/storefront-core/src/components-v2/carousel-cards/carousel-card-1/styles";
5
+ import { Paragraph } from "@evenicanpm/storefront-core/src/components-v2/Typography";
6
+ import Button from "@mui/material/Button";
7
+ import Grid from "@mui/material/Grid2";
8
+ import type { ReactNode } from "react";
9
9
 
10
10
  type CarouselCard1Props = {
11
11
  children: ReactNode;
@@ -1,14 +1,15 @@
1
1
  // Replace your-framework with the framework you are using, e.g. react-vite, nextjs, nextjs-vite, etc.
2
- import type { Meta, StoryObj } from "@storybook/react";
3
- import CategoryMenu from "./category-menu";
4
2
 
5
- import Button from "@mui/material/Button";
6
- // MUI ICON COMPONENT
7
- import KeyboardArrowDown from "@mui/icons-material/KeyboardArrowDown";
8
3
  // CUSTOM ICON COMPONENTS
9
4
  // GLOBAL CUSTOM COMPONENTS
10
5
  import { FlexBox } from "@evenicanpm/storefront-core/src/components-v2/flex-box";
6
+ // MUI ICON COMPONENT
7
+ import KeyboardArrowDown from "@mui/icons-material/KeyboardArrowDown";
8
+
9
+ import Button from "@mui/material/Button";
10
+ import type { Meta, StoryObj } from "@storybook/react";
11
11
  import { H6 } from "../Typography";
12
+ import CategoryMenu from "./category-menu";
12
13
 
13
14
  //TODO: Write more stories for variations of Header.
14
15
 
@@ -1,16 +1,15 @@
1
1
  "use client";
2
2
 
3
- import React, { createContext, useContext, ReactNode } from "react";
4
3
  import getCategories from "@evenicanpm/storefront-core/src/api-manager/services/categories/queries/get-categories";
5
- import { CategoryHierarchy } from "@evenicanpm/storefront-core/src/lib/category-helpers";
6
4
  import {
7
5
  StyledRoot,
8
6
  SubMenuStyledRoot,
9
7
  } from "@evenicanpm/storefront-core/src/components-v2/categories/category-list/styles";
10
-
8
+ import CategoryListItem from "@evenicanpm/storefront-core/src/components-v2/categories/category-list-item/index";
11
9
  import MegaMenu1 from "@evenicanpm/storefront-core/src/components-v2/categories/mega-menu/mega-menu-1";
12
10
  import MegaMenu2 from "@evenicanpm/storefront-core/src/components-v2/categories/mega-menu/mega-menu-2";
13
- import CategoryListItem from "@evenicanpm/storefront-core/src/components-v2/categories/category-list-item/index";
11
+ import type { CategoryHierarchy } from "@evenicanpm/storefront-core/src/lib/category-helpers";
12
+ import React, { createContext, type ReactNode, useContext } from "react";
14
13
 
15
14
  type MegaMenuType = "default" | "mega-menu-1" | "mega-menu-2";
16
15
 
@@ -40,7 +39,7 @@ const CategoryList = ({
40
39
  categories,
41
40
  children,
42
41
  }: RootProps) => {
43
- let { data: fetchedCategories } = getCategories.useSuspenseData();
42
+ const { data: fetchedCategories } = getCategories.useSuspenseData();
44
43
  const cats = categories ?? fetchedCategories ?? [];
45
44
 
46
45
  const megaMenuRenderers: Record<
@@ -1,6 +1,6 @@
1
- import styled from "@mui/material/styles/styled";
2
- import { Props } from "@evenicanpm/storefront-core/src/components-v2/categories/category-list/types";
1
+ import type { Props } from "@evenicanpm/storefront-core/src/components-v2/categories/category-list/types";
3
2
  import Card from "@mui/material/Card";
3
+ import styled from "@mui/material/styles/styled";
4
4
 
5
5
  /*
6
6
  interface StyledRootProps extends React.HTMLAttributes<HTMLDivElement> {
@@ -1,10 +1,10 @@
1
- import Link from "next/link";
2
- import { ReactNode } from "react";
3
- // MUI ICON COMPONENTS
4
- import { SvgIconComponent } from "@mui/icons-material";
5
- import ChevronRight from "@mui/icons-material/ChevronRight";
6
1
  // STYLED COMPONENT
7
2
  import { Wrapper } from "@evenicanpm/storefront-core/src/components-v2/categories/category-list-item/styles";
3
+ // MUI ICON COMPONENTS
4
+ import type { SvgIconComponent } from "@mui/icons-material";
5
+ import ChevronRight from "@mui/icons-material/ChevronRight";
6
+ import Link from "next/link";
7
+ import type { ReactNode } from "react";
8
8
 
9
9
  // =============================================================
10
10
  interface Props {
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
 
3
- import { MouseEvent, useCallback, useEffect, useState } from "react";
4
- import styled from "@mui/material/styles/styled";
5
3
  import CategoryList from "@evenicanpm/storefront-core/src/components-v2/categories/category-list/index";
4
+ import styled from "@mui/material/styles/styled";
5
+ import { type MouseEvent, useCallback, useEffect, useState } from "react";
6
6
 
7
7
  // STYLED COMPONENT
8
8
  const Wrapper = styled("div", {