@evenicanpm/storefront-core 1.0.3 → 1.0.4

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 (319) hide show
  1. package/docs.tsconfig.json +35 -0
  2. package/package.json +6 -3
  3. package/src/api-manager/schemas/product.schema.ts +0 -1
  4. package/src/api-manager/services/create-query.ts +10 -0
  5. package/src/api-manager/services/product/queries/get-product-availability.ts +1 -1
  6. package/src/api-manager/services/user/mutations/add-to-wishlist.ts +23 -3
  7. package/src/api-manager/services/user/mutations/remove-from-wishlist.ts +23 -0
  8. package/src/cms/blocks/Components/CategoryCarousel/index.tsx +6 -7
  9. package/src/cms/blocks/Components/HeroCarousel/index.tsx +25 -19
  10. package/src/cms/blocks/Components/ProductCarousel/index.tsx +44 -38
  11. package/src/cms/blocks/Components/ProductSectionFullWidth/index.tsx +7 -3
  12. package/src/cms/blocks/Components/shared/product-grid.tsx +38 -23
  13. package/src/components/_components/wishlist/add-to-wishlist-dialog.tsx +1 -1
  14. package/src/components/_components/wishlist/remove-from-wishlist-dialog.tsx +1 -1
  15. package/src/components/_components/wishlist-modal/add-to-wishlist-dialog.tsx +1 -1
  16. package/src/components/_components/wishlist-modal/remove-from-wishlist-dialog.tsx +1 -1
  17. package/src/components-v2/carousel/carousel.tsx +69 -35
  18. package/src/components-v2/carousel/components/carousel-arrows.tsx +40 -46
  19. package/src/components-v2/carousel/components/carousel-dots.tsx +10 -13
  20. package/src/components-v2/carousel/index.ts +0 -2
  21. package/src/components-v2/carousel-cards/carousel-card-1/carousel-card-1.tsx +68 -49
  22. package/src/components-v2/categories/category-list/category-list.tsx +83 -41
  23. package/src/components-v2/categories/category-list/styles.ts +7 -1
  24. package/src/components-v2/categories/category-menu.tsx +2 -0
  25. package/src/components-v2/categories/mega-menu/banner.tsx +68 -37
  26. package/src/components-v2/categories/mega-menu/column-list.tsx +59 -52
  27. package/src/components-v2/categories/mega-menu/mega-menu-1.tsx +19 -1
  28. package/src/components-v2/categories/mega-menu/mega-menu-2.tsx +32 -2
  29. package/src/components-v2/header/components/mobile-header.tsx +119 -46
  30. package/src/components-v2/header/components/user.tsx +163 -117
  31. package/src/components-v2/header/header.tsx +62 -42
  32. package/src/components-v2/header/sticky-header.tsx +34 -2
  33. package/src/components-v2/mini-cart/components/bottom-actions.tsx +71 -17
  34. package/src/components-v2/mini-cart/components/cart-item.tsx +159 -101
  35. package/src/components-v2/mini-cart/components/empty-view.tsx +59 -19
  36. package/src/components-v2/mini-cart/components/top-header.tsx +61 -22
  37. package/src/components-v2/mini-cart/mini-cart-trigger.tsx +99 -0
  38. package/src/components-v2/mini-cart/mini-cart.tsx +111 -43
  39. package/src/components-v2/mobile-navigation/mobile-navigation-bar.tsx +93 -48
  40. package/src/components-v2/navbar/categories.tsx +70 -16
  41. package/src/components-v2/navbar/category-based-menu/category-based-menu.tsx +135 -41
  42. package/src/components-v2/navbar/mega-menu/mega-menu.tsx +115 -48
  43. package/src/components-v2/navbar/mobile-menu/mobile-menu.test.tsx +111 -0
  44. package/src/components-v2/navbar/mobile-menu/mobile-menu.tsx +127 -56
  45. package/src/components-v2/navbar/nav-list/nav-list.tsx +125 -103
  46. package/src/components-v2/navbar/navbar.tsx +72 -20
  47. package/src/components-v2/product-cards/{product-card-1 → product-card}/components/quantity-buttons.tsx +1 -1
  48. package/src/components-v2/product-cards/product-card/product-card.tsx +410 -0
  49. package/src/components-v2/product-cards/{product-card-1 → product-card}/styles/index.ts +6 -0
  50. package/src/components-v2/product-cards/product-card-plp/product-card.tsx +161 -0
  51. package/src/components-v2/product-cards/product-card-plp-list/index.ts +1 -0
  52. package/src/components-v2/product-cards/product-card-plp-list/product-card.tsx +219 -0
  53. package/src/components-v2/product-cards/product-card-search/product-card.tsx +166 -0
  54. package/src/components-v2/product-dialog/compound/product-dialog.tsx +225 -0
  55. package/src/components-v2/product-dialog/index.tsx +29 -0
  56. package/src/components-v2/product-dimensions/{components → compound}/dimensions-group-error.tsx +1 -1
  57. package/src/components-v2/product-dimensions/{components → compound}/dimensions-group-label.tsx +1 -1
  58. package/src/components-v2/product-dimensions/{components → compound}/dimensions-group-list-chip.tsx +1 -1
  59. package/src/components-v2/product-dimensions/{components → compound}/dimensions-group-list.tsx +1 -1
  60. package/src/components-v2/product-dimensions/{components → compound}/dimensions-group.tsx +1 -1
  61. package/src/components-v2/product-dimensions/{components → compound}/dimensions.tsx +0 -3
  62. package/src/components-v2/product-dimensions/index.tsx +1 -1
  63. package/src/components-v2/product-quantity-buttons/compound/quantity-buttons-root.tsx +181 -0
  64. package/src/components-v2/product-quantity-buttons/index.tsx +22 -0
  65. package/src/components-v2/product-quantity-variants/index.tsx +90 -0
  66. package/src/components-v2/products-view/compound/context.ts +25 -0
  67. package/src/components-v2/products-view/compound/products-grid-view.tsx +109 -0
  68. package/src/components-v2/products-view/compound/products-list-view.tsx +98 -0
  69. package/src/components-v2/products-view/compound/types.ts +12 -0
  70. package/src/components-v2/products-view/index.tsx +45 -0
  71. package/src/components-v2/products-view/products-grid-view.tsx +24 -11
  72. package/src/components-v2/products-view/products-list-view.tsx +29 -12
  73. package/src/components-v2/search-bar/compound/context.ts +31 -0
  74. package/src/components-v2/search-bar/compound/results-item-lg.tsx +43 -0
  75. package/src/components-v2/search-bar/compound/results-item-sm.tsx +48 -0
  76. package/src/components-v2/search-bar/compound/results-suspense.tsx +49 -0
  77. package/src/components-v2/search-bar/compound/results.tsx +42 -0
  78. package/src/components-v2/search-bar/compound/search-bar-root.tsx +64 -0
  79. package/src/components-v2/search-bar/compound/textfield-adornment-button.tsx +22 -0
  80. package/src/components-v2/{search-box/components/category-dropdown.tsx → search-bar/compound/textfield-adornment-category.tsx} +29 -7
  81. package/src/components-v2/search-bar/compound/textfield-adornment-search-icon.tsx +34 -0
  82. package/src/components-v2/search-bar/compound/textfield.tsx +58 -0
  83. package/src/components-v2/search-bar/hooks/use-click-outside.ts +20 -0
  84. package/src/components-v2/search-bar/hooks/use-search.ts +63 -0
  85. package/src/components-v2/search-bar/index.tsx +36 -0
  86. package/src/components-v2/{search-box → search-bar}/styles/index.ts +5 -3
  87. package/src/components-v2/search-bar/utils/findCategoryNameById.ts +18 -0
  88. package/src/components-v2/section/compound/section-header.tsx +63 -0
  89. package/src/components-v2/section/compound/section.tsx +26 -0
  90. package/src/components-v2/section/index.ts +1 -0
  91. package/src/components-v2/side-nav/side-nav.tsx +4 -5
  92. package/src/components-v2/sticky/index.ts +1 -1
  93. package/src/components-v2/{wishlist-modal → wishlist-dialogs/add-to-wishlist}/add-to-wishlist-button.tsx +1 -1
  94. package/src/components-v2/wishlist-dialogs/add-to-wishlist/compound/add-to-wishlist-bottom-ui.tsx +35 -0
  95. package/src/components-v2/wishlist-dialogs/add-to-wishlist/compound/add-to-wishlist-dialog.tsx +79 -0
  96. package/src/components-v2/wishlist-dialogs/add-to-wishlist/compound/add-to-wishlist-list.tsx +41 -0
  97. package/src/components-v2/wishlist-dialogs/add-to-wishlist/compound/context.ts +29 -0
  98. package/src/components-v2/wishlist-dialogs/add-to-wishlist/compound/wishlist-dialog-header.tsx +74 -0
  99. package/src/components-v2/wishlist-dialogs/add-to-wishlist/compound/wishlist-dialog-item.tsx +82 -0
  100. package/src/components-v2/wishlist-dialogs/add-to-wishlist/hooks/use-add-to-wishlist.ts +152 -0
  101. package/src/components-v2/wishlist-dialogs/add-to-wishlist/index.tsx +39 -0
  102. package/src/components-v2/wishlist-dialogs/create-wishlist/compound/context.ts +2 -0
  103. package/src/components-v2/wishlist-dialogs/create-wishlist/compound/create-wishlist-bottom-ui.tsx +42 -0
  104. package/src/components-v2/wishlist-dialogs/create-wishlist/compound/create-wishlist-dialog.tsx +92 -0
  105. package/src/components-v2/wishlist-dialogs/create-wishlist/compound/create-wishlist-form.tsx +96 -0
  106. package/src/components-v2/{wishlist/components → wishlist-dialogs/create-wishlist}/create-wishlist-button.tsx +5 -3
  107. package/src/components-v2/wishlist-dialogs/create-wishlist/index.tsx +22 -0
  108. package/src/hooks/use-cart.ts +29 -23
  109. package/src/hooks/use-variants.ts +106 -53
  110. package/src/lib/build-detail-url.ts +2 -1
  111. package/src/pages/product-details/product-intro/product-intro.tsx +26 -23
  112. package/src/pages/product-list/quick-view-dialog-content.tsx +18 -9
  113. package/src/pages-v2/product-details/bopis/find-in-store-button.tsx +9 -8
  114. package/src/pages-v2/product-details/bopis/find-in-store-modal.tsx +2 -2
  115. package/src/{components-v2/shop-card → pages-v2/product-details/bopis/store-card}/shop-card.tsx +17 -48
  116. package/src/pages-v2/product-details/bopis/store-card/utils/convertSecondsToTime.ts +8 -0
  117. package/src/pages-v2/product-details/bopis/store-card/utils/getDaysResources.ts +25 -0
  118. package/src/pages-v2/product-details/product-intro/compound/context.ts +52 -0
  119. package/src/pages-v2/product-details/product-intro/compound/product-info.tsx +231 -0
  120. package/src/pages-v2/product-details/product-intro/compound/product-intro-images.tsx +124 -0
  121. package/src/pages-v2/product-details/product-intro/compound/product-intro.tsx +49 -0
  122. package/src/pages-v2/product-details/product-intro/compound/thumbnail-with-skeleton.tsx +28 -0
  123. package/src/pages-v2/product-details/product-intro/utils.ts +42 -0
  124. package/src/pages-v2/product-details/product-tabs.tsx +87 -21
  125. package/src/pages-v2/product-details/related-products.tsx +26 -12
  126. package/src/pages-v2/product-list/quick-view-dialog-content.tsx +17 -10
  127. package/typedoc.js +3 -1
  128. package/src/components-v2/MiniCartClient.tsx +0 -65
  129. package/src/components-v2/carousel-cards/carousel-card-2/carousel-card-2.tsx +0 -78
  130. package/src/components-v2/carousel-cards/carousel-card-2/index.ts +0 -1
  131. package/src/components-v2/carousel-cards/carousel-card-2/styles.ts +0 -26
  132. package/src/components-v2/carousel-cards/carousel-card-3/carousel-card-3.tsx +0 -37
  133. package/src/components-v2/carousel-cards/carousel-card-3/index.ts +0 -1
  134. package/src/components-v2/carousel-cards/carousel-card-3/styles.ts +0 -28
  135. package/src/components-v2/carousel-cards/carousel-card-4/carousel-card-4.tsx +0 -81
  136. package/src/components-v2/carousel-cards/carousel-card-4/index.ts +0 -1
  137. package/src/components-v2/carousel-cards/carousel-card-4/styles.ts +0 -27
  138. package/src/components-v2/category-cards/category-card-1/category-card-1.tsx +0 -21
  139. package/src/components-v2/category-cards/category-card-1/index.ts +0 -1
  140. package/src/components-v2/category-cards/category-card-1/styles.ts +0 -37
  141. package/src/components-v2/countdown/count-box.tsx +0 -19
  142. package/src/components-v2/countdown/count-down.tsx +0 -24
  143. package/src/components-v2/countdown/index.tsx +0 -2
  144. package/src/components-v2/countdown/useCountDown.ts +0 -41
  145. package/src/components-v2/data-table/index.ts +0 -2
  146. package/src/components-v2/data-table/table-header.tsx +0 -91
  147. package/src/components-v2/data-table/table-pagination.tsx +0 -36
  148. package/src/components-v2/footer/components/about-links.tsx +0 -23
  149. package/src/components-v2/footer/components/app-store.tsx +0 -38
  150. package/src/components-v2/footer/components/customer-care-links.tsx +0 -21
  151. package/src/components-v2/footer/components/logo.tsx +0 -23
  152. package/src/components-v2/footer/components/social-links.tsx +0 -43
  153. package/src/components-v2/footer/data/index.ts +0 -54
  154. package/src/components-v2/footer/footer-1.tsx +0 -62
  155. package/src/components-v2/footer/footer-2.tsx +0 -57
  156. package/src/components-v2/footer/footer-3.tsx +0 -53
  157. package/src/components-v2/footer/footer-4.tsx +0 -71
  158. package/src/components-v2/footer/index.ts +0 -4
  159. package/src/components-v2/footer/styles/index.ts +0 -42
  160. package/src/components-v2/navbar/category-based-menu/components/categories.tsx +0 -44
  161. package/src/components-v2/navbar/category-based-menu/components/category-item.tsx +0 -31
  162. package/src/components-v2/navbar/category-based-menu/components/child-categories.tsx +0 -38
  163. package/src/components-v2/navbar/mega-menu/category-list.tsx +0 -29
  164. package/src/components-v2/navbar/mobile-menu/render-levels.test.tsx +0 -71
  165. package/src/components-v2/navbar/mobile-menu/render-levels.tsx +0 -62
  166. package/src/components-v2/newsletter/index.ts +0 -1
  167. package/src/components-v2/newsletter/newsletter.tsx +0 -112
  168. package/src/components-v2/newsletter/social-icons.tsx +0 -35
  169. package/src/components-v2/newsletter/styles.ts +0 -65
  170. package/src/components-v2/page-sidenav/grocery-side-nav/components/link-item.tsx +0 -21
  171. package/src/components-v2/page-sidenav/grocery-side-nav/components/list-item.tsx +0 -27
  172. package/src/components-v2/page-sidenav/grocery-side-nav/components/nav-accordion.tsx +0 -36
  173. package/src/components-v2/page-sidenav/grocery-side-nav/components/render-child.tsx +0 -26
  174. package/src/components-v2/page-sidenav/grocery-side-nav/grocery-side-nav.tsx +0 -32
  175. package/src/components-v2/page-sidenav/grocery-side-nav/index.ts +0 -1
  176. package/src/components-v2/page-sidenav/grocery-side-nav/styles/index.ts +0 -11
  177. package/src/components-v2/page-sidenav/health-beauty-side-nav/components/list-item.tsx +0 -27
  178. package/src/components-v2/page-sidenav/health-beauty-side-nav/components/nav-accordion.tsx +0 -44
  179. package/src/components-v2/page-sidenav/health-beauty-side-nav/components/render-child.tsx +0 -20
  180. package/src/components-v2/page-sidenav/health-beauty-side-nav/health-beauty-side-nav.tsx +0 -43
  181. package/src/components-v2/page-sidenav/health-beauty-side-nav/index.ts +0 -1
  182. package/src/components-v2/page-sidenav/health-beauty-side-nav/styles/index.ts +0 -27
  183. package/src/components-v2/page-sidenav/side-navbar/components/list-item.tsx +0 -25
  184. package/src/components-v2/page-sidenav/side-navbar/components/nav-accordion.tsx +0 -46
  185. package/src/components-v2/page-sidenav/side-navbar/components/render-child.tsx +0 -20
  186. package/src/components-v2/page-sidenav/side-navbar/index.ts +0 -1
  187. package/src/components-v2/page-sidenav/side-navbar/side-nav-bar.tsx +0 -77
  188. package/src/components-v2/page-sidenav/side-navbar/styles/index.ts +0 -73
  189. package/src/components-v2/page-sidenav/side-navbar-2/components/button-content.tsx +0 -32
  190. package/src/components-v2/page-sidenav/side-navbar-2/components/sidebar-accordion.tsx +0 -66
  191. package/src/components-v2/page-sidenav/side-navbar-2/index.ts +0 -1
  192. package/src/components-v2/page-sidenav/side-navbar-2/side-navbar-2.tsx +0 -63
  193. package/src/components-v2/page-sidenav/side-navbar-2/styles/index.ts +0 -68
  194. package/src/components-v2/product-cards/product-card-1/index.ts +0 -1
  195. package/src/components-v2/product-cards/product-card-1/product-card-1-wrapper.tsx +0 -304
  196. package/src/components-v2/product-cards/product-card-1/product-card.tsx +0 -107
  197. package/src/components-v2/product-cards/product-card-10/index.ts +0 -1
  198. package/src/components-v2/product-cards/product-card-10/product-card.tsx +0 -128
  199. package/src/components-v2/product-cards/product-card-10/styles/index.ts +0 -38
  200. package/src/components-v2/product-cards/product-card-11/index.ts +0 -1
  201. package/src/components-v2/product-cards/product-card-11/product-card.tsx +0 -66
  202. package/src/components-v2/product-cards/product-card-11/styles/index.ts +0 -16
  203. package/src/components-v2/product-cards/product-card-12/index.ts +0 -1
  204. package/src/components-v2/product-cards/product-card-12/product-card.tsx +0 -42
  205. package/src/components-v2/product-cards/product-card-12/styles/index.ts +0 -16
  206. package/src/components-v2/product-cards/product-card-13/index.ts +0 -1
  207. package/src/components-v2/product-cards/product-card-13/product-card.tsx +0 -48
  208. package/src/components-v2/product-cards/product-card-13/styles/index.ts +0 -25
  209. package/src/components-v2/product-cards/product-card-14/index.ts +0 -1
  210. package/src/components-v2/product-cards/product-card-14/product-card.tsx +0 -125
  211. package/src/components-v2/product-cards/product-card-14/styles/index.ts +0 -40
  212. package/src/components-v2/product-cards/product-card-15/index.ts +0 -1
  213. package/src/components-v2/product-cards/product-card-15/product-card.tsx +0 -121
  214. package/src/components-v2/product-cards/product-card-15/styles/index.ts +0 -57
  215. package/src/components-v2/product-cards/product-card-16/product-card.tsx +0 -116
  216. package/src/components-v2/product-cards/product-card-2/components/favorite-button.tsx +0 -29
  217. package/src/components-v2/product-cards/product-card-2/components/product-price.tsx +0 -26
  218. package/src/components-v2/product-cards/product-card-2/index.ts +0 -1
  219. package/src/components-v2/product-cards/product-card-2/product-card.tsx +0 -70
  220. package/src/components-v2/product-cards/product-card-3/components/hover-actions.tsx +0 -83
  221. package/src/components-v2/product-cards/product-card-3/index.ts +0 -1
  222. package/src/components-v2/product-cards/product-card-3/product-card.tsx +0 -110
  223. package/src/components-v2/product-cards/product-card-3/styles/index.ts +0 -89
  224. package/src/components-v2/product-cards/product-card-4/components/hover-actions.tsx +0 -50
  225. package/src/components-v2/product-cards/product-card-4/index.ts +0 -1
  226. package/src/components-v2/product-cards/product-card-4/product-card.tsx +0 -128
  227. package/src/components-v2/product-cards/product-card-4/styles/index.ts +0 -66
  228. package/src/components-v2/product-cards/product-card-5/components/button-actions.tsx +0 -49
  229. package/src/components-v2/product-cards/product-card-5/components/hover-actions.tsx +0 -50
  230. package/src/components-v2/product-cards/product-card-5/index.ts +0 -1
  231. package/src/components-v2/product-cards/product-card-5/product-card.tsx +0 -137
  232. package/src/components-v2/product-cards/product-card-5/styles/index.ts +0 -94
  233. package/src/components-v2/product-cards/product-card-6/components/hover-actions.tsx +0 -50
  234. package/src/components-v2/product-cards/product-card-6/index.ts +0 -1
  235. package/src/components-v2/product-cards/product-card-6/product-card.tsx +0 -121
  236. package/src/components-v2/product-cards/product-card-6/styles/index.ts +0 -63
  237. package/src/components-v2/product-cards/product-card-7/components/product-status.tsx +0 -18
  238. package/src/components-v2/product-cards/product-card-7/components/quantity-buttons.tsx +0 -47
  239. package/src/components-v2/product-cards/product-card-7/index.ts +0 -1
  240. package/src/components-v2/product-cards/product-card-7/product-card.tsx +0 -139
  241. package/src/components-v2/product-cards/product-card-7/styles/index.ts +0 -98
  242. package/src/components-v2/product-cards/product-card-8/product-card.tsx +0 -151
  243. package/src/components-v2/product-cards/product-card-9/index.ts +0 -1
  244. package/src/components-v2/product-cards/product-card-9/product-card.tsx +0 -169
  245. package/src/components-v2/product-cards/product-card-wishlist/components/hover-actions.tsx +0 -37
  246. package/src/components-v2/product-cards/product-card-wishlist/product-card.tsx +0 -118
  247. package/src/components-v2/product-cards/product-card-wishlist/styles/index.ts +0 -53
  248. package/src/components-v2/product-quantity-buttons/product-quantity-buttons.tsx +0 -88
  249. package/src/components-v2/products-view/product-view-dialog.tsx +0 -218
  250. package/src/components-v2/search-box/__test__/search-input-category.test.tsx +0 -110
  251. package/src/components-v2/search-box/__test__/search-input.test.tsx +0 -137
  252. package/src/components-v2/search-box/__test__/search-results.json +0 -165
  253. package/src/components-v2/search-box/components/search-result.tsx +0 -86
  254. package/src/components-v2/search-box/hooks/use-search.ts +0 -63
  255. package/src/components-v2/search-box/index.ts +0 -2
  256. package/src/components-v2/search-box/search-input-category.test.tsx +0 -110
  257. package/src/components-v2/search-box/search-input-category.tsx +0 -203
  258. package/src/components-v2/search-box/search-input.test.tsx +0 -41
  259. package/src/components-v2/search-box/search-input.tsx +0 -66
  260. package/src/components-v2/section-header/index.ts +0 -2
  261. package/src/components-v2/section-header/section-creator.tsx +0 -29
  262. package/src/components-v2/section-header/section-header.tsx +0 -44
  263. package/src/components-v2/service-cards/icon-component.tsx +0 -18
  264. package/src/components-v2/service-cards/service-card-1/index.ts +0 -1
  265. package/src/components-v2/service-cards/service-card-1/service-card-1.tsx +0 -42
  266. package/src/components-v2/service-cards/service-card-2/index.ts +0 -1
  267. package/src/components-v2/service-cards/service-card-2/service-card-2.tsx +0 -37
  268. package/src/components-v2/service-cards/service-card-3/index.ts +0 -1
  269. package/src/components-v2/service-cards/service-card-3/service-card-3.tsx +0 -28
  270. package/src/components-v2/service-cards/service-card-3/styles.ts +0 -23
  271. package/src/components-v2/settings/index.ts +0 -1
  272. package/src/components-v2/settings/setting.tsx +0 -141
  273. package/src/components-v2/settings/styles.ts +0 -57
  274. package/src/components-v2/sticky-wrapper/index.ts +0 -1
  275. package/src/components-v2/sticky-wrapper/sticky-wrapper.tsx +0 -21
  276. package/src/components-v2/sticky-wrapper/styles.ts +0 -25
  277. package/src/components-v2/stories/story-content/index.ts +0 -1
  278. package/src/components-v2/stories/story-content/story-content.tsx +0 -28
  279. package/src/components-v2/stories/story-content/styles.ts +0 -22
  280. package/src/components-v2/stories/story-item/index.ts +0 -1
  281. package/src/components-v2/stories/story-item/story-item.tsx +0 -24
  282. package/src/components-v2/stories/story-item/styles.ts +0 -11
  283. package/src/components-v2/stories/story-viewer/index.ts +0 -1
  284. package/src/components-v2/stories/story-viewer/story-viewer.tsx +0 -44
  285. package/src/components-v2/stories/story-viewer/styles.ts +0 -15
  286. package/src/components-v2/subscribe-input/index.ts +0 -1
  287. package/src/components-v2/subscribe-input/styles.ts +0 -14
  288. package/src/components-v2/subscribe-input/subscribe-input.tsx +0 -43
  289. package/src/components-v2/topbar/index.ts +0 -1
  290. package/src/components-v2/topbar/styles.ts +0 -55
  291. package/src/components-v2/topbar/top-bar.tsx +0 -115
  292. package/src/components-v2/wishlist/add-to-wishlist-dialog.tsx +0 -161
  293. package/src/components-v2/wishlist/components/create-new-list.tsx +0 -167
  294. package/src/components-v2/wishlist/components/dashboard-header.tsx +0 -123
  295. package/src/components-v2/wishlist/components/navigation.tsx +0 -87
  296. package/src/components-v2/wishlist/components/no-records.tsx +0 -20
  297. package/src/components-v2/wishlist/components/wishlist-modal-item.tsx +0 -66
  298. package/src/components-v2/wishlist/remove-from-wishlist-dialog.tsx +0 -175
  299. package/src/components-v2/wishlist-modal/TODO.md +0 -10
  300. package/src/components-v2/wishlist-modal/add-to-wishlist-dialog.tsx +0 -161
  301. package/src/components-v2/wishlist-modal/remove-from-wishlist-dialog.tsx +0 -174
  302. package/src/components-v2/wishlist-modal/wishlist-modal-item.tsx +0 -65
  303. package/src/pages-v2/product-details/product-intro/product-intro-images.tsx +0 -90
  304. package/src/pages-v2/product-details/product-intro/product-intro.tsx +0 -256
  305. /package/src/{pages-v2/account → components-v2}/no-records.tsx +0 -0
  306. /package/src/components-v2/product-cards/{product-card-1 → product-card}/components/hover-actions.tsx +0 -0
  307. /package/src/components-v2/product-cards/{product-card-16 → product-card}/index.ts +0 -0
  308. /package/src/components-v2/product-cards/{product-card-16 → product-card-plp}/components/quantity-buttons.tsx +0 -0
  309. /package/src/components-v2/product-cards/{product-card-wishlist → product-card-plp}/index.ts +0 -0
  310. /package/src/components-v2/product-cards/{product-card-16 → product-card-plp}/styles/index.ts +0 -0
  311. /package/src/components-v2/product-cards/{product-card-9 → product-card-plp-list}/components/add-to-cart.tsx +0 -0
  312. /package/src/components-v2/product-cards/{product-card-9 → product-card-plp-list}/components/favorite-button.tsx +0 -0
  313. /package/src/components-v2/product-cards/{product-card-9 → product-card-plp-list}/components/tags.tsx +0 -0
  314. /package/src/components-v2/product-cards/{product-card-8 → product-card-search}/index.ts +0 -0
  315. /package/src/components-v2/product-cards/{product-card-8 → product-card-search}/styles/index.ts +0 -0
  316. /package/src/components-v2/sticky/{Sticky.tsx → sticky.tsx} +0 -0
  317. /package/src/components-v2/{wishlist → wishlist-dialogs}/styles.ts +0 -0
  318. /package/src/{components-v2/shop-card → pages-v2/product-details/bopis/store-card}/index.ts +0 -0
  319. /package/src/{components-v2/shop-card → pages-v2/product-details/bopis/store-card}/styles.ts +0 -0
@@ -1,139 +0,0 @@
1
- "use client";
2
-
3
- import Link from "next/link";
4
- import { SxProps, Theme } from "@mui/material/styles";
5
- // GLOBAL CUSTOM COMPONENTS
6
- import LazyImage from "@evenicanpm/storefront-core/src/components-v2/LazyImage";
7
- import {
8
- H3,
9
- Span,
10
- } from "@evenicanpm/storefront-core/src/components-v2/Typography";
11
- // LOCAL CUSTOM HOOK
12
- import useProduct from "../use-product";
13
- // LOCAL CUSTOM COMPONENTS
14
- import ProductPrice from "../product-price";
15
- import DiscountChip from "../discount-chip";
16
- import ProductStatus from "./components/product-status";
17
- import ProductRating from "../product-rating";
18
- import QuantityButtons from "./components/quantity-buttons";
19
- // STYLED COMPONENTS
20
- import { StyledCard, ContentWrapper, ColorBox, ImgBox } from "./styles/index";
21
-
22
- // =======================================================
23
- interface Props {
24
- off: number;
25
- slug: string;
26
- price: number;
27
- title: string;
28
- imgUrl: string;
29
- status: string;
30
- rating?: number;
31
- id: string | number;
32
- sx?: SxProps<Theme>;
33
- hideRating?: boolean;
34
- productColors: string[];
35
- }
36
- // =======================================================
37
-
38
- export default function ProductCard7(props: Props) {
39
- const {
40
- sx,
41
- off,
42
- status,
43
- id,
44
- title,
45
- price,
46
- imgUrl,
47
- rating,
48
- hideRating,
49
- productColors,
50
- slug,
51
- } = props;
52
-
53
- const { cartItem, handleCartAmountChange } = useProduct(slug);
54
-
55
- const handleIncrementQuantity = () => {
56
- const product = {
57
- id,
58
- slug,
59
- price,
60
- imgUrl,
61
- name: title,
62
- qty: (cartItem?.Quantity || 0) + 1,
63
- };
64
- product;
65
- handleCartAmountChange();
66
- };
67
-
68
- const handleDecrementQuantity = () => {
69
- const product = {
70
- id,
71
- slug,
72
- price,
73
- imgUrl,
74
- name: title,
75
- qty: (cartItem?.Quantity || 0) - 1,
76
- };
77
- product;
78
- handleCartAmountChange("remove");
79
- };
80
-
81
- return (
82
- <StyledCard sx={sx}>
83
- <Link href={`/products/${slug}`}>
84
- <ImgBox>
85
- {/* PRODUCT BADGE STATUS IF STATUS AVAILABLE */}
86
- <ProductStatus status={status} />
87
-
88
- {/* DISCOUNT PERCENT CHIP IF AVAILABLE */}
89
- <DiscountChip discount={off} sx={{ borderRadius: 0 }} />
90
-
91
- {/* PRODUCT IMAGE / THUMBNAIL */}
92
- <div className="img-wrapper">
93
- <LazyImage alt={title} width={300} height={273} src={imgUrl} />
94
- </div>
95
- </ImgBox>
96
- </Link>
97
-
98
- <ContentWrapper>
99
- <div className="content">
100
- {/* PRODUCT TITLE / NAME */}
101
- <Link href={`/products/${slug}`}>
102
- <H3
103
- mb={1}
104
- ellipsis
105
- title={title}
106
- fontSize={24}
107
- fontWeight={700}
108
- color="text.secondary"
109
- >
110
- {title}
111
- </H3>
112
- </Link>
113
-
114
- {/* PRODUCT RATING / REVIEW */}
115
- <ProductRating showRating={!hideRating} rating={rating ?? 0} />
116
-
117
- {/* PRODUCT COLORS */}
118
- {productColors.length ? (
119
- <ColorBox>
120
- {productColors.map((color, ind) => (
121
- <Span key={ind} bgcolor={color} />
122
- ))}
123
- </ColorBox>
124
- ) : null}
125
-
126
- {/* PRODUCT PRICE WITH DISCOUNT */}
127
- <ProductPrice discount={off} price={price} />
128
- </div>
129
-
130
- {/* PRODUCT QUANTITY HANDLER BUTTONS */}
131
- <QuantityButtons
132
- quantity={cartItem?.Quantity || 0}
133
- handleIncrement={handleIncrementQuantity}
134
- handleDecrement={handleDecrementQuantity}
135
- />
136
- </ContentWrapper>
137
- </StyledCard>
138
- );
139
- }
@@ -1,98 +0,0 @@
1
- import Box from "@mui/material/Box";
2
- import Button from "@mui/material/Button";
3
- import styled from "@mui/material/styles/styled";
4
- // GLOBAL CUSTOM COMPONENTS
5
- import { Span } from "@evenicanpm/storefront-core/src/components-v2/Typography";
6
-
7
- export const StyledCard = styled(Box)(({ theme }) => ({
8
- height: "100%",
9
- margin: "auto",
10
- borderRadius: 0,
11
- overflow: "hidden",
12
- position: "relative",
13
- transition: "all 250ms ease-in-out",
14
- outline: `2px solid ${theme.palette.grey[50]}`,
15
- ":hover": { boxShadow: theme.shadows[2] },
16
- }));
17
-
18
- export const ImgBox = styled("div")(({ theme }) => ({
19
- height: 230,
20
- marginBottom: "5rem",
21
- padding: "60px 40px 20px 40px",
22
- background: theme.palette.grey[100],
23
- ".img-wrapper": { maxWidth: 300, margin: "auto" },
24
- }));
25
-
26
- export const ContentWrapper = styled("div")({
27
- gap: 8,
28
- display: "flex",
29
- padding: "1rem",
30
- ".content": { flex: "1 1 0" },
31
- });
32
-
33
- export const StatusChipBox = styled("div")(({ theme }) => ({
34
- width: 40,
35
- height: 42,
36
- zIndex: 11,
37
- top: "0px",
38
- right: "30px",
39
- fontSize: "12px",
40
- position: "absolute",
41
- background: theme.palette.primary.main,
42
-
43
- ".triangle": {
44
- width: "100%",
45
- display: "flex",
46
- },
47
-
48
- ".triangle-left": {
49
- width: 0,
50
- height: 0,
51
- borderTop: "0px solid transparent",
52
- borderBottom: "10px solid transparent",
53
- borderLeft: `20px solid ${theme.palette.primary.main}`,
54
- },
55
-
56
- ".triangle-right": {
57
- width: 0,
58
- height: 0,
59
- borderTop: "0px solid transparent",
60
- borderBottom: "10px solid transparent",
61
- borderRight: `20px solid ${theme.palette.primary.main}`,
62
- },
63
- }));
64
-
65
- export const StatusChip = styled(Span)({
66
- color: "#fff",
67
- height: "100%",
68
- display: "flex",
69
- alignItems: "center",
70
- justifyContent: "center",
71
- });
72
-
73
- export const ColorBox = styled("div")(({ theme }) => ({
74
- gap: 8,
75
- display: "flex",
76
- padding: "10px 5px",
77
- "& span": {
78
- width: 12,
79
- height: 12,
80
- borderRadius: 8,
81
- "&:hover": {
82
- cursor: "pointer",
83
- outline: `2px solid ${theme.palette.grey[200]}`,
84
- },
85
- },
86
- }));
87
-
88
- export const StyledButton = styled(Button)(({ theme }) => ({
89
- padding: "4px",
90
- borderRadius: 0,
91
- transition: "all 0.3s",
92
- color: theme.palette.primary.main,
93
- ":hover": {
94
- color: "#fff",
95
- background: theme.palette.primary.main,
96
- border: `1px solid ${theme.palette.primary.main}`,
97
- },
98
- }));
@@ -1,151 +0,0 @@
1
- "use client";
2
-
3
- import Link from "next/link";
4
- import Box from "@mui/material/Box";
5
- import Rating from "@mui/material/Rating";
6
- // MUI ICON COMPONENTS
7
- import Favorite from "@mui/icons-material/Favorite";
8
- import FavoriteBorder from "@mui/icons-material/FavoriteBorder";
9
- // LOCAL CUSTOM HOOK
10
- import useProduct from "../use-product";
11
- // GLOBAL CUSTOM COMPONENTS
12
- import LazyImage from "@evenicanpm/storefront-core/src/components-v2/LazyImage";
13
- import { FlexRowCenter } from "@evenicanpm/storefront-core/src/components-v2/flex-box/index";
14
- import {
15
- H4,
16
- Paragraph,
17
- Small,
18
- } from "@evenicanpm/storefront-core/src/components-v2/Typography";
19
- import { ProductInfo } from "@evenicanpm/storefront-core/src/components-v2/products-view/product-view-dialog";
20
- // CUSTOM UTILS LIBRARY FUNCTION
21
- import { currency } from "@/lib/lib";
22
- // CUSTOM COMPONENTS
23
- import {
24
- Card,
25
- CardMedia,
26
- FavoriteButton,
27
- QuickViewSmallButton,
28
- } from "./styles/index";
29
- // CUSTOM DATA MODEL
30
- import { DialogType } from "@evenicanpm/storefront-core/src/components-v2/search-box/search-input-category";
31
- import { RemoveRedEye } from "@mui/icons-material";
32
- import buildDetailUrl from "@/lib/build-detail-url";
33
-
34
- // ==============================================================
35
- type Props = {
36
- slug: string;
37
- id: string | number;
38
- title: string;
39
- price: number;
40
- thumbnail: string;
41
- categories: string[];
42
- reviews: number;
43
- rating: number;
44
- enableWishlistDialog?: boolean;
45
- enableQuickViewDialog?: boolean;
46
- openDialog: (
47
- type: DialogType,
48
- productId: number,
49
- productInfo?: ProductInfo,
50
- ) => void;
51
- };
52
- // ==============================================================
53
- export default function ProductCard8(props: Props) {
54
- const {
55
- slug,
56
- id,
57
- title,
58
- price,
59
- thumbnail,
60
- categories,
61
- reviews,
62
- rating,
63
- openDialog,
64
- enableWishlistDialog = true,
65
- enableQuickViewDialog = true,
66
- } = props;
67
-
68
- const {
69
- isFavorite, // TODO: always false; need to check if product exists in any of the wishlists?
70
- } = useProduct(slug);
71
-
72
- return (
73
- <Card>
74
- <CardMedia>
75
- <Link href={buildDetailUrl(title, Number(id))}>
76
- <LazyImage
77
- width={300}
78
- height={300}
79
- alt="category"
80
- className="product-img"
81
- src={thumbnail}
82
- />
83
- </Link>
84
- {/* */}
85
- {/* QUICK VIEW BUTTON */}
86
- {enableQuickViewDialog && (
87
- <QuickViewSmallButton
88
- className="product-actions"
89
- onClick={() =>
90
- openDialog(DialogType.QuickView, Number(id), {
91
- id: Number(id),
92
- title,
93
- imgGroup: [thumbnail],
94
- price,
95
- slug,
96
- })
97
- }
98
- >
99
- <RemoveRedEye className="icon" fontSize="small" />
100
- </QuickViewSmallButton>
101
- )}
102
-
103
- {/* PRODUCT FAVORITE BUTTON */}
104
- {enableWishlistDialog && (
105
- <FavoriteButton
106
- className="product-actions"
107
- onClick={() =>
108
- isFavorite
109
- ? openDialog(DialogType.RemoveFromWishlist, Number(id))
110
- : openDialog(DialogType.AddToWishlist, Number(id))
111
- }
112
- >
113
- {isFavorite ? (
114
- <Favorite className="icon" fontSize="small" color="primary" />
115
- ) : (
116
- <FavoriteBorder className="icon" fontSize="small" />
117
- )}
118
- </FavoriteButton>
119
- )}
120
- </CardMedia>
121
-
122
- <Box p={1} textAlign="center">
123
- {/* PRODUCT CATEGORY */}
124
- {categories.length > 0 ? (
125
- <Small color="grey.500">{categories[0]}</Small>
126
- ) : null}
127
-
128
- {/* PRODUCT TITLE / NAME */}
129
- <Paragraph fontWeight="bold">{title}</Paragraph>
130
-
131
- {/* PRODUCT PRICE */}
132
- <H4 fontWeight={700} py={0.5}>
133
- {currency(price)}
134
- </H4>
135
-
136
- {/* PRODUCT RATING / REVIEW */}
137
- <FlexRowCenter gap={1}>
138
- <Rating
139
- name="read-only"
140
- value={rating}
141
- readOnly
142
- sx={{ fontSize: 16 }}
143
- />
144
- <Small fontWeight={600} color="grey.500">
145
- ({reviews} Reviews)
146
- </Small>
147
- </FlexRowCenter>
148
- </Box>
149
- </Card>
150
- );
151
- }
@@ -1 +0,0 @@
1
- export { default as ProductCard9 } from "./product-card";
@@ -1,169 +0,0 @@
1
- import Link from "next/link";
2
- import Card from "@mui/material/Card";
3
- import Rating from "@mui/material/Rating";
4
- import styled from "@mui/material/styles/styled";
5
- // GLOBAL CUSTOM COMPONENTS
6
- import { H5 } from "@evenicanpm/storefront-core/src/components-v2/Typography";
7
- import ImageWithFallback from "../../ImageWithFallback";
8
- // LOCAL CUSTOM HOOK
9
- import useProduct from "../use-product";
10
- // LOCAL CUSTOM COMPONENTS
11
- import DiscountChip from "../discount-chip";
12
- import ProductPrice from "../product-price";
13
- // import ProductTags from "./components/tags";
14
- import AddToCartButton from "./components/add-to-cart";
15
- import FavoriteButton from "./components/favorite-button";
16
-
17
- import buildDetailUrl from "@/lib/build-detail-url";
18
-
19
- // STYLED COMPONENT
20
- const Wrapper = styled(Card)({
21
- width: "100%",
22
- overflow: "hidden",
23
- position: "relative",
24
- marginBottom: "1.25rem",
25
- });
26
-
27
- const ContentWrapper = styled("div")(({ theme }) => ({
28
- display: "flex",
29
- alignItems: "center",
30
- flexDirection: "row",
31
-
32
- "& .img-wrapper": {
33
- width: 150,
34
- height: 150,
35
- flexShrink: 0,
36
- position: "relative",
37
- backgroundColor: theme.palette.grey[200],
38
- },
39
-
40
- "& .content": {
41
- flex: 1,
42
- padding: "1rem",
43
- display: "flex",
44
- alignItems: "flex-end",
45
- justifyContent: "space-between",
46
- },
47
-
48
- [theme.breakpoints.down("sm")]: {
49
- flexDirection: "column",
50
- alignItems: "flex-start",
51
- "& .img-wrapper": { width: "100%" },
52
- "& .content": { width: "100%" },
53
- },
54
- }));
55
-
56
- // ===========================================================
57
- type Props = {
58
- id: number;
59
- off?: number;
60
- slug: string;
61
- price: number;
62
- title: string;
63
- imgUrl: string;
64
- rating: number;
65
- // show or hide
66
- showAddToCart?: boolean;
67
- showFavorite?: boolean;
68
- };
69
- // ===========================================================
70
-
71
- export default function ProductCard9(props: Props) {
72
- const {
73
- imgUrl,
74
- title,
75
- price,
76
- off,
77
- rating,
78
- id,
79
- slug,
80
- showAddToCart = true,
81
- showFavorite = true,
82
- } = props || {};
83
-
84
- const { cartItem, handleCartAmountChange, isFavorite, toggleFavorite } =
85
- useProduct(slug);
86
-
87
- const handleIncrementQuantity = () => {
88
- const product = {
89
- id,
90
- slug,
91
- price,
92
- imgUrl,
93
- name: title,
94
- qty: (cartItem?.Quantity || 0) + 1,
95
- };
96
- product;
97
- handleCartAmountChange();
98
- };
99
-
100
- const handleDecrementQuantity = () => {
101
- const product = {
102
- id,
103
- slug,
104
- price,
105
- imgUrl,
106
- name: title,
107
- qty: (cartItem?.Quantity || 0) - 1,
108
- };
109
- product;
110
- handleCartAmountChange("remove");
111
- };
112
-
113
- return (
114
- <Wrapper>
115
- {/* PRODUCT FAVORITE BUTTON */}
116
- {showFavorite && (
117
- <FavoriteButton
118
- isFavorite={isFavorite}
119
- toggleFavorite={toggleFavorite}
120
- />
121
- )}
122
-
123
- <ContentWrapper>
124
- <div className="img-wrapper">
125
- {/* DISCOUNT PERCENT CHIP IF AVAILABLE */}
126
- <DiscountChip discount={off ?? 0} />
127
-
128
- {/* PRODUCT IMAGE / THUMBNAIL */}
129
- <ImageWithFallback
130
- alt={title ?? "Product Image"}
131
- src={imgUrl}
132
- fill
133
- style={{ objectFit: "contain" }}
134
- sizes="150px"
135
- />
136
- </div>
137
-
138
- <div className="content">
139
- <div>
140
- {/* PRODUCT TAG LIST */}
141
- {/* <ProductTags tags={["Bike", "Motor", "Ducati"]} /> */}
142
-
143
- {/* PRODUCT TITLE / NAME */}
144
- <Link href={buildDetailUrl(title ?? "", id)}>
145
- <H5 fontWeight="700" mt={1} mb={2}>
146
- {title}
147
- </H5>
148
- </Link>
149
-
150
- {/* PRODUCT RATING / REVIEW */}
151
- <Rating size="small" value={rating} color="warn" readOnly />
152
-
153
- {/* PRODUCT PRICE */}
154
- <ProductPrice price={price} discount={off ?? 0} />
155
- </div>
156
-
157
- {/* PRODUCT ADD TO CART BUTTON */}
158
- {showAddToCart && (
159
- <AddToCartButton
160
- quantity={cartItem?.Quantity ?? 0}
161
- handleDecrement={handleDecrementQuantity}
162
- handleIncrement={handleIncrementQuantity}
163
- />
164
- )}
165
- </div>
166
- </ContentWrapper>
167
- </Wrapper>
168
- );
169
- }
@@ -1,37 +0,0 @@
1
- import IconButton from "@mui/material/IconButton";
2
- // MUI ICON COMPONENTS
3
- import Favorite from "@mui/icons-material/Favorite";
4
- import RemoveRedEye from "@mui/icons-material/RemoveRedEye";
5
- import FavoriteBorder from "@mui/icons-material/FavoriteBorder";
6
- // STYLED COMPONENTS
7
- import { HoverIconWrapper } from "../styles";
8
-
9
- // ==============================================================
10
- interface Props {
11
- isFavorite: boolean;
12
- toggleView: () => void;
13
- toggleFavorite: () => void;
14
- }
15
- // ==============================================================
16
-
17
- export default function HoverActions({
18
- isFavorite,
19
- toggleFavorite,
20
- toggleView,
21
- }: Props) {
22
- return (
23
- <HoverIconWrapper className="hover-box">
24
- <IconButton onClick={toggleView}>
25
- <RemoveRedEye color="disabled" fontSize="small" />
26
- </IconButton>
27
-
28
- <IconButton onClick={toggleFavorite}>
29
- {isFavorite ? (
30
- <Favorite color="primary" fontSize="small" />
31
- ) : (
32
- <FavoriteBorder fontSize="small" color="disabled" />
33
- )}
34
- </IconButton>
35
- </HoverIconWrapper>
36
- );
37
- }