@anker-in/headless-ui 1.0.26-temp-111401-alpha.1763091370012 → 1.0.26-temp.1

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 (802) hide show
  1. package/dist/cjs/biz-components/AiuiProvider/index.d.ts +0 -4
  2. package/dist/cjs/biz-components/AiuiProvider/index.js +1 -1
  3. package/dist/cjs/biz-components/AiuiProvider/index.js.map +2 -2
  4. package/dist/cjs/biz-components/BrandEquity/BrandEquity.js +1 -1
  5. package/dist/cjs/biz-components/BrandEquity/BrandEquity.js.map +3 -3
  6. package/dist/cjs/biz-components/BrandEquity/types.d.ts +0 -1
  7. package/dist/cjs/biz-components/BrandEquity/types.js +1 -1
  8. package/dist/cjs/biz-components/BrandEquity/types.js.map +1 -1
  9. package/dist/cjs/biz-components/Evaluate/index.js +1 -1
  10. package/dist/cjs/biz-components/Evaluate/index.js.map +3 -3
  11. package/dist/cjs/biz-components/Faq/Faq.js +1 -1
  12. package/dist/cjs/biz-components/Faq/Faq.js.map +2 -2
  13. package/dist/cjs/biz-components/FeatureCards/FeatureCards.js +1 -1
  14. package/dist/cjs/biz-components/FeatureCards/FeatureCards.js.map +3 -3
  15. package/dist/cjs/biz-components/FeatureCards/types.d.ts +2 -2
  16. package/dist/cjs/biz-components/FeatureCards/types.js +1 -1
  17. package/dist/cjs/biz-components/FeatureCards/types.js.map +1 -1
  18. package/dist/cjs/biz-components/FeatureShowcase/FeatureShowcase.js +1 -1
  19. package/dist/cjs/biz-components/FeatureShowcase/FeatureShowcase.js.map +3 -3
  20. package/dist/cjs/biz-components/FeatureShowcase/types.d.ts +3 -1
  21. package/dist/cjs/biz-components/FeatureShowcase/types.js +1 -1
  22. package/dist/cjs/biz-components/FeatureShowcase/types.js.map +1 -1
  23. package/dist/cjs/biz-components/FooterNavigation/index.js +1 -1
  24. package/dist/cjs/biz-components/FooterNavigation/index.js.map +2 -2
  25. package/dist/cjs/biz-components/Graphic/index.js +1 -1
  26. package/dist/cjs/biz-components/Graphic/index.js.map +2 -2
  27. package/dist/cjs/biz-components/HeaderNavigation/index.js +1 -1
  28. package/dist/cjs/biz-components/HeaderNavigation/index.js.map +2 -2
  29. package/dist/cjs/biz-components/HeroBanner/HeroBanner.js +1 -1
  30. package/dist/cjs/biz-components/HeroBanner/HeroBanner.js.map +3 -3
  31. package/dist/cjs/biz-components/HeroBanner/types.d.ts +6 -7
  32. package/dist/cjs/biz-components/HeroBanner/types.js +1 -1
  33. package/dist/cjs/biz-components/HeroBanner/types.js.map +1 -1
  34. package/dist/cjs/biz-components/ImageWithText/ImageWithText.js +1 -1
  35. package/dist/cjs/biz-components/ImageWithText/ImageWithText.js.map +3 -3
  36. package/dist/cjs/biz-components/ImageWithText/example.d.ts +6 -0
  37. package/dist/cjs/biz-components/ImageWithText/index.d.ts +1 -0
  38. package/dist/cjs/biz-components/ImageWithText/index.js +1 -1
  39. package/dist/cjs/biz-components/ImageWithText/index.js.map +3 -3
  40. package/dist/cjs/biz-components/ImageWithText/types.d.ts +22 -33
  41. package/dist/cjs/biz-components/ImageWithText/types.js +1 -1
  42. package/dist/cjs/biz-components/ImageWithText/types.js.map +3 -3
  43. package/dist/cjs/biz-components/InlineVideo/index.js +1 -1
  44. package/dist/cjs/biz-components/InlineVideo/index.js.map +2 -2
  45. package/dist/cjs/biz-components/Ksp/index.d.ts +3 -1
  46. package/dist/cjs/biz-components/Ksp/index.js +1 -1
  47. package/dist/cjs/biz-components/Ksp/index.js.map +3 -3
  48. package/dist/cjs/biz-components/MarqueeReview/index.js +1 -1
  49. package/dist/cjs/biz-components/MarqueeReview/index.js.map +1 -1
  50. package/dist/cjs/biz-components/MediaPlayerBase/index.backup.d.ts +7 -0
  51. package/dist/cjs/biz-components/MediaPlayerBase/index.backup.js +2 -0
  52. package/dist/cjs/biz-components/MediaPlayerBase/index.backup.js.map +7 -0
  53. package/dist/cjs/biz-components/MediaPlayerBase/index.js +1 -1
  54. package/dist/cjs/biz-components/MediaPlayerBase/index.js.map +3 -3
  55. package/dist/cjs/biz-components/MediaPlayerSticky/index.js +1 -1
  56. package/dist/cjs/biz-components/MediaPlayerSticky/index.js.map +2 -2
  57. package/dist/cjs/biz-components/MediaSceneSwitcher/MediaSceneSwitcher.js +2 -2
  58. package/dist/cjs/biz-components/MediaSceneSwitcher/MediaSceneSwitcher.js.map +3 -3
  59. package/dist/cjs/biz-components/MediaSceneSwitcher/types.d.ts +3 -1
  60. package/dist/cjs/biz-components/MediaSceneSwitcher/types.js +1 -1
  61. package/dist/cjs/biz-components/MediaSceneSwitcher/types.js.map +1 -1
  62. package/dist/cjs/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js +1 -1
  63. package/dist/cjs/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js.map +2 -2
  64. package/dist/{esm/biz-components/Specs/index.d.ts → cjs/biz-components/NavigationMenu/NavigationMenu.d.ts} +2 -1
  65. package/dist/cjs/biz-components/NavigationMenu/NavigationMenu.test.d.ts +1 -0
  66. package/dist/cjs/biz-components/NavigationMenu/index.d.ts +2 -0
  67. package/dist/cjs/biz-components/NavigationMenu/types.d.ts +47 -0
  68. package/dist/cjs/biz-components/NavigationSearch/index.js +1 -1
  69. package/dist/cjs/biz-components/NavigationSearch/index.js.map +1 -1
  70. package/dist/cjs/biz-components/ProductCompare/index.d.ts +23 -7
  71. package/dist/cjs/biz-components/ProductCompare/index.js +1 -1
  72. package/dist/cjs/biz-components/ProductCompare/index.js.map +3 -3
  73. package/dist/cjs/biz-components/ProductHero/ProductHero.js +1 -1
  74. package/dist/cjs/biz-components/ProductHero/ProductHero.js.map +3 -3
  75. package/dist/cjs/biz-components/ProductHero/types.d.ts +3 -1
  76. package/dist/cjs/biz-components/ProductHero/types.js +1 -1
  77. package/dist/cjs/biz-components/ProductHero/types.js.map +1 -1
  78. package/dist/cjs/biz-components/ProductNav/ProductNav.d.ts +7 -0
  79. package/dist/cjs/biz-components/ProductNav/ProductNav.js +2 -0
  80. package/dist/cjs/biz-components/ProductNav/ProductNav.js.map +7 -0
  81. package/dist/cjs/biz-components/ProductNav/index.d.ts +2 -0
  82. package/dist/cjs/biz-components/ProductNav/index.js +2 -0
  83. package/dist/cjs/biz-components/ProductNav/index.js.map +7 -0
  84. package/dist/cjs/biz-components/ProductNav/types.d.ts +35 -0
  85. package/dist/cjs/biz-components/ProductNav/types.js +2 -0
  86. package/dist/cjs/biz-components/ProductNav/types.js.map +7 -0
  87. package/dist/cjs/biz-components/ProductNavigation/ProductNavigation.d.ts +7 -0
  88. package/dist/cjs/biz-components/ProductNavigation/index.d.ts +2 -0
  89. package/dist/cjs/biz-components/ProductNavigation/types.d.ts +45 -0
  90. package/dist/cjs/biz-components/SearchPage/index.js +1 -1
  91. package/dist/cjs/biz-components/SearchPage/index.js.map +1 -1
  92. package/dist/cjs/biz-components/ShelfDisplay/index.js +1 -1
  93. package/dist/cjs/biz-components/ShelfDisplay/index.js.map +3 -3
  94. package/dist/cjs/biz-components/ShelfDisplay/shelfDisplay.d.ts +2 -11
  95. package/dist/cjs/biz-components/ShelfDisplay/shelfDisplay.js +1 -1
  96. package/dist/cjs/biz-components/ShelfDisplay/shelfDisplay.js.map +3 -3
  97. package/dist/cjs/biz-components/ShelfDisplay/shelfDisplayItem.js +4 -4
  98. package/dist/cjs/biz-components/ShelfDisplay/shelfDisplayItem.js.map +3 -3
  99. package/dist/cjs/biz-components/Spacer/index.js +1 -1
  100. package/dist/cjs/biz-components/Spacer/index.js.map +2 -2
  101. package/dist/cjs/biz-components/SpecsComparison/SpecsComparison.js +1 -1
  102. package/dist/cjs/biz-components/SpecsComparison/SpecsComparison.js.map +2 -2
  103. package/dist/cjs/biz-components/TabWithImage/TabWithImage.js +1 -1
  104. package/dist/cjs/biz-components/TabWithImage/TabWithImage.js.map +2 -2
  105. package/dist/cjs/biz-components/Tabs/Tabs.js +1 -1
  106. package/dist/cjs/biz-components/Tabs/Tabs.js.map +2 -2
  107. package/dist/cjs/biz-components/Tabs/types.d.ts +0 -1
  108. package/dist/cjs/biz-components/Tabs/types.js +1 -1
  109. package/dist/cjs/biz-components/Tabs/types.js.map +1 -1
  110. package/dist/cjs/biz-components/TabsWithMedia/TabsWithMedia.js +1 -1
  111. package/dist/cjs/biz-components/TabsWithMedia/TabsWithMedia.js.map +3 -3
  112. package/dist/cjs/biz-components/TabsWithMedia/types.d.ts +3 -1
  113. package/dist/cjs/biz-components/TabsWithMedia/types.js +1 -1
  114. package/dist/cjs/biz-components/TabsWithMedia/types.js.map +1 -1
  115. package/dist/cjs/biz-components/ThreeDCarousel/ThreeDCarousel.js +1 -1
  116. package/dist/cjs/biz-components/ThreeDCarousel/ThreeDCarousel.js.map +2 -2
  117. package/dist/cjs/biz-components/ThreeDCarousel/types.d.ts +3 -1
  118. package/dist/cjs/biz-components/ThreeDCarousel/types.js.map +1 -1
  119. package/dist/cjs/biz-components/Title/index.js +1 -1
  120. package/dist/cjs/biz-components/Title/index.js.map +3 -3
  121. package/dist/cjs/biz-components/Title/types.d.ts +0 -1
  122. package/dist/cjs/biz-components/Title/types.js +1 -1
  123. package/dist/cjs/biz-components/Title/types.js.map +1 -1
  124. package/dist/cjs/biz-components/VideoFeature/VideoFeature.js +1 -1
  125. package/dist/cjs/biz-components/VideoFeature/VideoFeature.js.map +2 -2
  126. package/dist/cjs/biz-components/index.d.ts +3 -35
  127. package/dist/cjs/biz-components/index.js +1 -1
  128. package/dist/cjs/biz-components/index.js.map +3 -3
  129. package/dist/cjs/components/checkbox.d.ts +0 -1
  130. package/dist/cjs/components/checkbox.js +1 -1
  131. package/dist/cjs/components/checkbox.js.map +3 -3
  132. package/dist/cjs/components/container.js +1 -1
  133. package/dist/cjs/components/container.js.map +2 -2
  134. package/dist/cjs/components/dialog.js +1 -1
  135. package/dist/cjs/components/dialog.js.map +2 -2
  136. package/dist/cjs/components/heading.d.ts +1 -0
  137. package/dist/cjs/components/heading.js +1 -1
  138. package/dist/cjs/components/heading.js.map +3 -3
  139. package/dist/cjs/components/index.d.ts +0 -1
  140. package/dist/cjs/components/index.js +1 -1
  141. package/dist/cjs/components/index.js.map +3 -3
  142. package/dist/cjs/helpers/ScrollLoadVideo.js +1 -1
  143. package/dist/cjs/helpers/ScrollLoadVideo.js.map +3 -3
  144. package/dist/cjs/helpers/utils.d.ts +0 -1
  145. package/dist/cjs/helpers/utils.js +1 -1
  146. package/dist/cjs/helpers/utils.js.map +3 -3
  147. package/dist/cjs/payload/ProductNav/config.d.ts +2 -0
  148. package/dist/cjs/payload/ProductNav/index.d.ts +1 -0
  149. package/dist/cjs/stories/HeroBanner.stories.js +2 -2
  150. package/dist/cjs/stories/HeroBanner.stories.js.map +3 -3
  151. package/dist/cjs/stories/InlineVideo.stories.js +2 -5
  152. package/dist/cjs/stories/InlineVideo.stories.js.map +2 -2
  153. package/dist/cjs/stories/ProductNav.stories.js +2 -0
  154. package/dist/cjs/stories/ProductNav.stories.js.map +7 -0
  155. package/dist/cjs/stories/ThreeDCarousel.stories.js +1 -12
  156. package/dist/cjs/stories/ThreeDCarousel.stories.js.map +2 -2
  157. package/dist/cjs/stories/featureCards.stories.js +2 -13
  158. package/dist/cjs/stories/featureCards.stories.js.map +3 -3
  159. package/dist/cjs/stories/imageWithText.stories.js +57 -26
  160. package/dist/cjs/stories/imageWithText.stories.js.map +3 -3
  161. package/dist/cjs/stories/ksp.stories.js +1 -2
  162. package/dist/cjs/stories/ksp.stories.js.map +2 -2
  163. package/dist/cjs/stories/productCompare.stories.js +32 -41
  164. package/dist/cjs/stories/productCompare.stories.js.map +3 -3
  165. package/dist/cjs/stories/productHero.stories.js +1 -3
  166. package/dist/cjs/stories/productHero.stories.js.map +2 -2
  167. package/dist/cjs/stories/tabWithImage.stories.js +1 -2
  168. package/dist/cjs/stories/tabWithImage.stories.js.map +2 -2
  169. package/dist/cjs/stories/tabsWithMedia.stories.js +1 -6
  170. package/dist/cjs/stories/tabsWithMedia.stories.js.map +2 -2
  171. package/dist/cjs/stories/videoFeature.stories.js +2 -3
  172. package/dist/cjs/stories/videoFeature.stories.js.map +2 -2
  173. package/dist/cjs/tsconfig.tsbuildinfo +1 -0
  174. package/dist/esm/biz-components/AiuiProvider/index.d.ts +0 -4
  175. package/dist/esm/biz-components/AiuiProvider/index.js +1 -1
  176. package/dist/esm/biz-components/AiuiProvider/index.js.map +2 -2
  177. package/dist/esm/biz-components/BrandEquity/BrandEquity.js +1 -1
  178. package/dist/esm/biz-components/BrandEquity/BrandEquity.js.map +3 -3
  179. package/dist/esm/biz-components/BrandEquity/types.d.ts +0 -1
  180. package/dist/esm/biz-components/Evaluate/index.js +1 -1
  181. package/dist/esm/biz-components/Evaluate/index.js.map +3 -3
  182. package/dist/esm/biz-components/Faq/Faq.js +1 -1
  183. package/dist/esm/biz-components/Faq/Faq.js.map +3 -3
  184. package/dist/esm/biz-components/FeatureCards/FeatureCards.js +1 -1
  185. package/dist/esm/biz-components/FeatureCards/FeatureCards.js.map +3 -3
  186. package/dist/esm/biz-components/FeatureCards/types.d.ts +2 -2
  187. package/dist/esm/biz-components/FeatureShowcase/FeatureShowcase.js +1 -1
  188. package/dist/esm/biz-components/FeatureShowcase/FeatureShowcase.js.map +3 -3
  189. package/dist/esm/biz-components/FeatureShowcase/types.d.ts +3 -1
  190. package/dist/esm/biz-components/FooterNavigation/index.js +1 -1
  191. package/dist/esm/biz-components/FooterNavigation/index.js.map +2 -2
  192. package/dist/esm/biz-components/Graphic/index.js +1 -1
  193. package/dist/esm/biz-components/Graphic/index.js.map +2 -2
  194. package/dist/esm/biz-components/HeaderNavigation/index.js +1 -1
  195. package/dist/esm/biz-components/HeaderNavigation/index.js.map +2 -2
  196. package/dist/esm/biz-components/HeroBanner/HeroBanner.js +1 -1
  197. package/dist/esm/biz-components/HeroBanner/HeroBanner.js.map +3 -3
  198. package/dist/esm/biz-components/HeroBanner/types.d.ts +6 -7
  199. package/dist/esm/biz-components/ImageWithText/ImageWithText.js +1 -1
  200. package/dist/esm/biz-components/ImageWithText/ImageWithText.js.map +3 -3
  201. package/dist/esm/biz-components/ImageWithText/example.d.ts +6 -0
  202. package/dist/esm/biz-components/ImageWithText/index.d.ts +1 -0
  203. package/dist/esm/biz-components/ImageWithText/index.js +1 -1
  204. package/dist/esm/biz-components/ImageWithText/index.js.map +3 -3
  205. package/dist/esm/biz-components/ImageWithText/types.d.ts +22 -33
  206. package/dist/esm/biz-components/ImageWithText/types.js +1 -0
  207. package/dist/esm/biz-components/ImageWithText/types.js.map +4 -4
  208. package/dist/esm/biz-components/InlineVideo/index.js +1 -1
  209. package/dist/esm/biz-components/InlineVideo/index.js.map +2 -2
  210. package/dist/esm/biz-components/Ksp/index.d.ts +3 -1
  211. package/dist/esm/biz-components/Ksp/index.js +1 -1
  212. package/dist/esm/biz-components/Ksp/index.js.map +3 -3
  213. package/dist/esm/biz-components/MarqueeReview/index.js +1 -1
  214. package/dist/esm/biz-components/MarqueeReview/index.js.map +1 -1
  215. package/dist/esm/biz-components/MediaPlayerBase/index.backup.d.ts +7 -0
  216. package/dist/esm/biz-components/MediaPlayerBase/index.backup.js +2 -0
  217. package/dist/esm/biz-components/MediaPlayerBase/index.backup.js.map +7 -0
  218. package/dist/esm/biz-components/MediaPlayerBase/index.js +1 -1
  219. package/dist/esm/biz-components/MediaPlayerBase/index.js.map +3 -3
  220. package/dist/esm/biz-components/MediaPlayerSticky/index.js +1 -1
  221. package/dist/esm/biz-components/MediaPlayerSticky/index.js.map +2 -2
  222. package/dist/esm/biz-components/MediaSceneSwitcher/MediaSceneSwitcher.js +2 -2
  223. package/dist/esm/biz-components/MediaSceneSwitcher/MediaSceneSwitcher.js.map +3 -3
  224. package/dist/esm/biz-components/MediaSceneSwitcher/types.d.ts +3 -1
  225. package/dist/esm/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js +1 -1
  226. package/dist/esm/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js.map +2 -2
  227. package/dist/{cjs/biz-components/Specs/index.d.ts → esm/biz-components/NavigationMenu/NavigationMenu.d.ts} +2 -1
  228. package/dist/esm/biz-components/NavigationMenu/NavigationMenu.test.d.ts +1 -0
  229. package/dist/esm/biz-components/NavigationMenu/index.d.ts +2 -0
  230. package/dist/esm/biz-components/NavigationMenu/types.d.ts +47 -0
  231. package/dist/esm/biz-components/NavigationSearch/index.js +1 -1
  232. package/dist/esm/biz-components/NavigationSearch/index.js.map +1 -1
  233. package/dist/esm/biz-components/ProductCompare/index.d.ts +23 -7
  234. package/dist/esm/biz-components/ProductCompare/index.js +1 -1
  235. package/dist/esm/biz-components/ProductCompare/index.js.map +3 -3
  236. package/dist/esm/biz-components/ProductHero/ProductHero.js +1 -1
  237. package/dist/esm/biz-components/ProductHero/ProductHero.js.map +3 -3
  238. package/dist/esm/biz-components/ProductHero/types.d.ts +3 -1
  239. package/dist/esm/biz-components/ProductNav/ProductNav.d.ts +7 -0
  240. package/dist/esm/biz-components/ProductNav/ProductNav.js +2 -0
  241. package/dist/esm/biz-components/ProductNav/ProductNav.js.map +7 -0
  242. package/dist/esm/biz-components/ProductNav/index.d.ts +2 -0
  243. package/dist/esm/biz-components/ProductNav/index.js +2 -0
  244. package/dist/esm/biz-components/ProductNav/index.js.map +7 -0
  245. package/dist/esm/biz-components/ProductNav/types.d.ts +35 -0
  246. package/dist/esm/biz-components/ProductNavigation/ProductNavigation.d.ts +7 -0
  247. package/dist/esm/biz-components/ProductNavigation/index.d.ts +2 -0
  248. package/dist/esm/biz-components/ProductNavigation/types.d.ts +45 -0
  249. package/dist/esm/biz-components/SearchPage/index.js +1 -1
  250. package/dist/esm/biz-components/SearchPage/index.js.map +1 -1
  251. package/dist/esm/biz-components/ShelfDisplay/index.js +1 -1
  252. package/dist/esm/biz-components/ShelfDisplay/index.js.map +3 -3
  253. package/dist/esm/biz-components/ShelfDisplay/shelfDisplay.d.ts +2 -11
  254. package/dist/esm/biz-components/ShelfDisplay/shelfDisplay.js +1 -1
  255. package/dist/esm/biz-components/ShelfDisplay/shelfDisplay.js.map +3 -3
  256. package/dist/esm/biz-components/ShelfDisplay/shelfDisplayItem.js +9 -9
  257. package/dist/esm/biz-components/ShelfDisplay/shelfDisplayItem.js.map +3 -3
  258. package/dist/esm/biz-components/Spacer/index.js +1 -1
  259. package/dist/esm/biz-components/Spacer/index.js.map +2 -2
  260. package/dist/esm/biz-components/SpecsComparison/SpecsComparison.js +1 -1
  261. package/dist/esm/biz-components/SpecsComparison/SpecsComparison.js.map +2 -2
  262. package/dist/esm/biz-components/TabWithImage/TabWithImage.js +1 -1
  263. package/dist/esm/biz-components/TabWithImage/TabWithImage.js.map +2 -2
  264. package/dist/esm/biz-components/Tabs/Tabs.js +1 -1
  265. package/dist/esm/biz-components/Tabs/Tabs.js.map +2 -2
  266. package/dist/esm/biz-components/Tabs/types.d.ts +0 -1
  267. package/dist/esm/biz-components/TabsWithMedia/TabsWithMedia.js +1 -1
  268. package/dist/esm/biz-components/TabsWithMedia/TabsWithMedia.js.map +3 -3
  269. package/dist/esm/biz-components/TabsWithMedia/types.d.ts +3 -1
  270. package/dist/esm/biz-components/ThreeDCarousel/ThreeDCarousel.js +1 -1
  271. package/dist/esm/biz-components/ThreeDCarousel/ThreeDCarousel.js.map +3 -3
  272. package/dist/esm/biz-components/ThreeDCarousel/types.d.ts +3 -1
  273. package/dist/esm/biz-components/Title/index.js +1 -1
  274. package/dist/esm/biz-components/Title/index.js.map +3 -3
  275. package/dist/esm/biz-components/Title/types.d.ts +0 -1
  276. package/dist/esm/biz-components/VideoFeature/VideoFeature.js +1 -1
  277. package/dist/esm/biz-components/VideoFeature/VideoFeature.js.map +2 -2
  278. package/dist/esm/biz-components/index.d.ts +3 -35
  279. package/dist/esm/biz-components/index.js +1 -1
  280. package/dist/esm/biz-components/index.js.map +2 -2
  281. package/dist/esm/components/checkbox.d.ts +0 -1
  282. package/dist/esm/components/checkbox.js +1 -1
  283. package/dist/esm/components/checkbox.js.map +3 -3
  284. package/dist/esm/components/container.js +1 -1
  285. package/dist/esm/components/container.js.map +2 -2
  286. package/dist/esm/components/dialog.js +1 -1
  287. package/dist/esm/components/dialog.js.map +2 -2
  288. package/dist/esm/components/heading.d.ts +1 -0
  289. package/dist/esm/components/heading.js +1 -1
  290. package/dist/esm/components/heading.js.map +3 -3
  291. package/dist/esm/components/index.d.ts +0 -1
  292. package/dist/esm/components/index.js +1 -1
  293. package/dist/esm/components/index.js.map +2 -2
  294. package/dist/esm/helpers/ScrollLoadVideo.js +1 -1
  295. package/dist/esm/helpers/ScrollLoadVideo.js.map +3 -3
  296. package/dist/esm/helpers/utils.d.ts +0 -1
  297. package/dist/esm/helpers/utils.js +1 -1
  298. package/dist/esm/helpers/utils.js.map +3 -3
  299. package/dist/esm/payload/ProductNav/config.d.ts +2 -0
  300. package/dist/esm/payload/ProductNav/index.d.ts +1 -0
  301. package/dist/esm/stories/HeroBanner.stories.js +2 -2
  302. package/dist/esm/stories/HeroBanner.stories.js.map +2 -2
  303. package/dist/esm/stories/InlineVideo.stories.js +1 -4
  304. package/dist/esm/stories/InlineVideo.stories.js.map +2 -2
  305. package/dist/esm/stories/ProductNav.stories.js +2 -0
  306. package/dist/esm/stories/ProductNav.stories.js.map +7 -0
  307. package/dist/esm/stories/ThreeDCarousel.stories.js +0 -11
  308. package/dist/esm/stories/ThreeDCarousel.stories.js.map +2 -2
  309. package/dist/esm/stories/featureCards.stories.js +3 -14
  310. package/dist/esm/stories/featureCards.stories.js.map +3 -3
  311. package/dist/esm/stories/imageWithText.stories.js +57 -26
  312. package/dist/esm/stories/imageWithText.stories.js.map +3 -3
  313. package/dist/esm/stories/ksp.stories.js +0 -1
  314. package/dist/esm/stories/ksp.stories.js.map +2 -2
  315. package/dist/esm/stories/productCompare.stories.js +32 -41
  316. package/dist/esm/stories/productCompare.stories.js.map +3 -3
  317. package/dist/esm/stories/productHero.stories.js +2 -4
  318. package/dist/esm/stories/productHero.stories.js.map +2 -2
  319. package/dist/esm/stories/tabWithImage.stories.js +0 -1
  320. package/dist/esm/stories/tabWithImage.stories.js.map +2 -2
  321. package/dist/esm/stories/tabsWithMedia.stories.js +0 -5
  322. package/dist/esm/stories/tabsWithMedia.stories.js.map +2 -2
  323. package/dist/esm/stories/videoFeature.stories.js +1 -2
  324. package/dist/esm/stories/videoFeature.stories.js.map +2 -2
  325. package/dist/esm/tsconfig.tsbuildinfo +1 -0
  326. package/dist/tokens/anker.css +0 -1
  327. package/dist/tokens/base.css +2 -6
  328. package/dist/tokens/eufy.css +0 -1
  329. package/dist/tokens/eufyMake.css +0 -1
  330. package/dist/tokens/solix.css +0 -1
  331. package/dist/tokens/soundcore.css +0 -1
  332. package/package.json +1 -3
  333. package/style.css +10 -23
  334. package/tailwind.config.js +0 -7
  335. package/dist/cjs/biz-components/AplusDesc/index.d.ts +0 -23
  336. package/dist/cjs/biz-components/AplusDesc/index.js +0 -2
  337. package/dist/cjs/biz-components/AplusDesc/index.js.map +0 -7
  338. package/dist/cjs/biz-components/CollectionShelves/CollectionShelvesItem.d.ts +0 -4
  339. package/dist/cjs/biz-components/CollectionShelves/CollectionShelvesItem.js +0 -2
  340. package/dist/cjs/biz-components/CollectionShelves/CollectionShelvesItem.js.map +0 -7
  341. package/dist/cjs/biz-components/CollectionShelves/index.d.ts +0 -7
  342. package/dist/cjs/biz-components/CollectionShelves/index.js +0 -2
  343. package/dist/cjs/biz-components/CollectionShelves/index.js.map +0 -7
  344. package/dist/cjs/biz-components/CollectionsBanner/index.d.ts +0 -7
  345. package/dist/cjs/biz-components/CollectionsBanner/index.js +0 -2
  346. package/dist/cjs/biz-components/CollectionsBanner/index.js.map +0 -7
  347. package/dist/cjs/biz-components/CollectionsBanner/types.d.ts +0 -43
  348. package/dist/cjs/biz-components/CollectionsBanner/types.js +0 -2
  349. package/dist/cjs/biz-components/CollectionsBanner/types.js.map +0 -7
  350. package/dist/cjs/biz-components/CollectionsFilters/FilterCardWrap.d.ts +0 -19
  351. package/dist/cjs/biz-components/CollectionsFilters/FilterCardWrap.js +0 -2
  352. package/dist/cjs/biz-components/CollectionsFilters/FilterCardWrap.js.map +0 -7
  353. package/dist/cjs/biz-components/CollectionsFilters/FilterCardWrapItem.d.ts +0 -10
  354. package/dist/cjs/biz-components/CollectionsFilters/FilterCardWrapItem.js +0 -2
  355. package/dist/cjs/biz-components/CollectionsFilters/FilterCardWrapItem.js.map +0 -7
  356. package/dist/cjs/biz-components/CollectionsFilters/FilterHeader.d.ts +0 -13
  357. package/dist/cjs/biz-components/CollectionsFilters/FilterHeader.js +0 -2
  358. package/dist/cjs/biz-components/CollectionsFilters/FilterHeader.js.map +0 -7
  359. package/dist/cjs/biz-components/CollectionsFilters/FilterList.d.ts +0 -14
  360. package/dist/cjs/biz-components/CollectionsFilters/FilterList.js +0 -2
  361. package/dist/cjs/biz-components/CollectionsFilters/FilterList.js.map +0 -7
  362. package/dist/cjs/biz-components/CollectionsFilters/component/AnimatedUL.d.ts +0 -5
  363. package/dist/cjs/biz-components/CollectionsFilters/component/AnimatedUL.js +0 -2
  364. package/dist/cjs/biz-components/CollectionsFilters/component/AnimatedUL.js.map +0 -7
  365. package/dist/cjs/biz-components/CollectionsFilters/component/TabFilter.d.ts +0 -12
  366. package/dist/cjs/biz-components/CollectionsFilters/component/TabFilter.js +0 -2
  367. package/dist/cjs/biz-components/CollectionsFilters/component/TabFilter.js.map +0 -7
  368. package/dist/cjs/biz-components/CollectionsFilters/component/filtersFun.d.ts +0 -12
  369. package/dist/cjs/biz-components/CollectionsFilters/component/filtersFun.js +0 -2
  370. package/dist/cjs/biz-components/CollectionsFilters/component/filtersFun.js.map +0 -7
  371. package/dist/cjs/biz-components/CollectionsFilters/component/helper.d.ts +0 -81
  372. package/dist/cjs/biz-components/CollectionsFilters/component/helper.js +0 -2
  373. package/dist/cjs/biz-components/CollectionsFilters/component/helper.js.map +0 -7
  374. package/dist/cjs/biz-components/CollectionsFilters/component/price.d.ts +0 -25
  375. package/dist/cjs/biz-components/CollectionsFilters/component/price.js +0 -2
  376. package/dist/cjs/biz-components/CollectionsFilters/component/price.js.map +0 -7
  377. package/dist/cjs/biz-components/CollectionsFilters/component/priceProps.d.ts +0 -215
  378. package/dist/cjs/biz-components/CollectionsFilters/component/priceProps.js +0 -2
  379. package/dist/cjs/biz-components/CollectionsFilters/component/priceProps.js.map +0 -7
  380. package/dist/cjs/biz-components/CollectionsFilters/index.d.ts +0 -24
  381. package/dist/cjs/biz-components/CollectionsFilters/index.js +0 -2
  382. package/dist/cjs/biz-components/CollectionsFilters/index.js.map +0 -7
  383. package/dist/cjs/biz-components/DownLoad/index.d.ts +0 -21
  384. package/dist/cjs/biz-components/DownLoad/index.js +0 -2
  385. package/dist/cjs/biz-components/DownLoad/index.js.map +0 -7
  386. package/dist/cjs/biz-components/Features/index.d.ts +0 -27
  387. package/dist/cjs/biz-components/Features/index.js +0 -2
  388. package/dist/cjs/biz-components/Features/index.js.map +0 -7
  389. package/dist/cjs/biz-components/FootCharger/index.d.ts +0 -13
  390. package/dist/cjs/biz-components/FootCharger/index.js +0 -2
  391. package/dist/cjs/biz-components/FootCharger/index.js.map +0 -7
  392. package/dist/cjs/biz-components/GiftBox/index.d.ts +0 -18
  393. package/dist/cjs/biz-components/GiftBox/index.js +0 -2
  394. package/dist/cjs/biz-components/GiftBox/index.js.map +0 -7
  395. package/dist/cjs/biz-components/GraphicMore/index.d.ts +0 -23
  396. package/dist/cjs/biz-components/GraphicMore/index.js +0 -2
  397. package/dist/cjs/biz-components/GraphicMore/index.js.map +0 -7
  398. package/dist/cjs/biz-components/HeroBanner/Countdown.d.ts +0 -10
  399. package/dist/cjs/biz-components/HeroBanner/Countdown.js +0 -2
  400. package/dist/cjs/biz-components/HeroBanner/Countdown.js.map +0 -7
  401. package/dist/cjs/biz-components/Listing/BizProductProvider.d.ts +0 -124
  402. package/dist/cjs/biz-components/Listing/BizProductProvider.js +0 -2
  403. package/dist/cjs/biz-components/Listing/BizProductProvider.js.map +0 -7
  404. package/dist/cjs/biz-components/Listing/components/PaidShipping/LearnMore.d.ts +0 -2
  405. package/dist/cjs/biz-components/Listing/components/PaidShipping/LearnMore.js +0 -2
  406. package/dist/cjs/biz-components/Listing/components/PaidShipping/LearnMore.js.map +0 -7
  407. package/dist/cjs/biz-components/Listing/components/PaidShipping/ShippingMethod.d.ts +0 -10
  408. package/dist/cjs/biz-components/Listing/components/PaidShipping/ShippingMethod.js +0 -2
  409. package/dist/cjs/biz-components/Listing/components/PaidShipping/ShippingMethod.js.map +0 -7
  410. package/dist/cjs/biz-components/Listing/components/PaidShipping/ShippingPolicyModal.d.ts +0 -25
  411. package/dist/cjs/biz-components/Listing/components/PaidShipping/ShippingPolicyModal.js +0 -2
  412. package/dist/cjs/biz-components/Listing/components/PaidShipping/ShippingPolicyModal.js.map +0 -7
  413. package/dist/cjs/biz-components/Listing/components/PaidShipping/index.d.ts +0 -12
  414. package/dist/cjs/biz-components/Listing/components/PaidShipping/index.js +0 -2
  415. package/dist/cjs/biz-components/Listing/components/PaidShipping/index.js.map +0 -7
  416. package/dist/cjs/biz-components/Listing/components/PaidShipping/type.d.ts +0 -30
  417. package/dist/cjs/biz-components/Listing/components/PaidShipping/type.js +0 -2
  418. package/dist/cjs/biz-components/Listing/components/PaidShipping/type.js.map +0 -7
  419. package/dist/cjs/biz-components/Listing/components/PaidShipping/utils.d.ts +0 -2
  420. package/dist/cjs/biz-components/Listing/components/PaidShipping/utils.js +0 -2
  421. package/dist/cjs/biz-components/Listing/components/PaidShipping/utils.js.map +0 -7
  422. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.d.ts +0 -36
  423. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.js +0 -40
  424. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.js.map +0 -7
  425. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/ModalContainer.d.ts +0 -10
  426. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/ModalContainer.js +0 -2
  427. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/ModalContainer.js.map +0 -7
  428. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.d.ts +0 -30
  429. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.js +0 -2
  430. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.js.map +0 -7
  431. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.d.ts +0 -2
  432. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.js +0 -2
  433. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.js.map +0 -7
  434. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.d.ts +0 -2
  435. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.js +0 -2
  436. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.js.map +0 -7
  437. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.d.ts +0 -2
  438. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.js +0 -2
  439. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.js.map +0 -7
  440. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.d.ts +0 -2
  441. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js +0 -2
  442. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js.map +0 -7
  443. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.d.ts +0 -2
  444. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.js +0 -2
  445. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.js.map +0 -7
  446. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/index.d.ts +0 -2
  447. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/index.js +0 -2
  448. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/index.js.map +0 -7
  449. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/types.d.ts +0 -43
  450. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/types.js +0 -2
  451. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/types.js.map +0 -7
  452. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/CompareModal.d.ts +0 -2
  453. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/CompareModal.js +0 -2
  454. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/CompareModal.js.map +0 -7
  455. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/Select.d.ts +0 -21
  456. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/Select.js +0 -2
  457. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/Select.js.map +0 -7
  458. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/ShopifyColorOption.d.ts +0 -5
  459. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/ShopifyColorOption.js +0 -2
  460. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/ShopifyColorOption.js.map +0 -7
  461. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/SpecsModal.d.ts +0 -1
  462. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/SpecsModal.js +0 -2
  463. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/SpecsModal.js.map +0 -7
  464. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/index.d.ts +0 -2
  465. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/index.js +0 -2
  466. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/index.js.map +0 -7
  467. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/types.d.ts +0 -42
  468. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/types.js +0 -2
  469. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/types.js.map +0 -7
  470. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGridBox.d.ts +0 -6
  471. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGridBox.js +0 -2
  472. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGridBox.js.map +0 -7
  473. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductSummary/index.d.ts +0 -2
  474. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductSummary/index.js +0 -2
  475. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductSummary/index.js.map +0 -7
  476. package/dist/cjs/biz-components/Listing/components/ProductCard/index.d.ts +0 -2
  477. package/dist/cjs/biz-components/Listing/components/ProductCard/index.js +0 -2
  478. package/dist/cjs/biz-components/Listing/components/ProductCard/index.js.map +0 -7
  479. package/dist/cjs/biz-components/Listing/components/PurchaseBar/ProductActions/index.d.ts +0 -2
  480. package/dist/cjs/biz-components/Listing/components/PurchaseBar/ProductActions/index.js +0 -2
  481. package/dist/cjs/biz-components/Listing/components/PurchaseBar/ProductActions/index.js.map +0 -7
  482. package/dist/cjs/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/index.d.ts +0 -3
  483. package/dist/cjs/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/index.js +0 -2
  484. package/dist/cjs/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/index.js.map +0 -7
  485. package/dist/cjs/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/types.d.ts +0 -13
  486. package/dist/cjs/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/types.js +0 -2
  487. package/dist/cjs/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/types.js.map +0 -7
  488. package/dist/cjs/biz-components/Listing/components/PurchaseBar/index.d.ts +0 -3
  489. package/dist/cjs/biz-components/Listing/components/PurchaseBar/index.js +0 -2
  490. package/dist/cjs/biz-components/Listing/components/PurchaseBar/index.js.map +0 -7
  491. package/dist/cjs/biz-components/Listing/components/PurchaseBar/types.d.ts +0 -12
  492. package/dist/cjs/biz-components/Listing/components/PurchaseBar/types.js +0 -2
  493. package/dist/cjs/biz-components/Listing/components/PurchaseBar/types.js.map +0 -7
  494. package/dist/cjs/biz-components/Listing/components/index.d.ts +0 -3
  495. package/dist/cjs/biz-components/Listing/components/index.js +0 -2
  496. package/dist/cjs/biz-components/Listing/components/index.js.map +0 -7
  497. package/dist/cjs/biz-components/Listing/const.d.ts +0 -29
  498. package/dist/cjs/biz-components/Listing/const.js +0 -2
  499. package/dist/cjs/biz-components/Listing/const.js.map +0 -7
  500. package/dist/cjs/biz-components/Listing/hooks/use-variant-media.d.ts +0 -14
  501. package/dist/cjs/biz-components/Listing/hooks/use-variant-media.js +0 -2
  502. package/dist/cjs/biz-components/Listing/hooks/use-variant-media.js.map +0 -7
  503. package/dist/cjs/biz-components/Listing/hooks/use-variant.d.ts +0 -5
  504. package/dist/cjs/biz-components/Listing/hooks/use-variant.js +0 -2
  505. package/dist/cjs/biz-components/Listing/hooks/use-variant.js.map +0 -7
  506. package/dist/cjs/biz-components/Listing/hooks/useBenefits.d.ts +0 -50
  507. package/dist/cjs/biz-components/Listing/hooks/useBenefits.js +0 -2
  508. package/dist/cjs/biz-components/Listing/hooks/useBenefits.js.map +0 -7
  509. package/dist/cjs/biz-components/Listing/hooks/useCopy.d.ts +0 -5
  510. package/dist/cjs/biz-components/Listing/hooks/useCopy.js +0 -2
  511. package/dist/cjs/biz-components/Listing/hooks/useCopy.js.map +0 -7
  512. package/dist/cjs/biz-components/Listing/hooks/useDiscountEnable.d.ts +0 -14
  513. package/dist/cjs/biz-components/Listing/hooks/useDiscountEnable.js +0 -2
  514. package/dist/cjs/biz-components/Listing/hooks/useDiscountEnable.js.map +0 -7
  515. package/dist/cjs/biz-components/Listing/index.d.ts +0 -4
  516. package/dist/cjs/biz-components/Listing/index.js +0 -2
  517. package/dist/cjs/biz-components/Listing/index.js.map +0 -7
  518. package/dist/cjs/biz-components/Listing/types/graphql.d.ts +0 -7473
  519. package/dist/cjs/biz-components/Listing/types/graphql.js +0 -2
  520. package/dist/cjs/biz-components/Listing/types/graphql.js.map +0 -7
  521. package/dist/cjs/biz-components/Listing/types/product.d.ts +0 -141
  522. package/dist/cjs/biz-components/Listing/types/product.js +0 -2
  523. package/dist/cjs/biz-components/Listing/types/product.js.map +0 -7
  524. package/dist/cjs/biz-components/Listing/types/productMetafields.d.js +0 -2
  525. package/dist/cjs/biz-components/Listing/types/productMetafields.d.js.map +0 -7
  526. package/dist/cjs/biz-components/Listing/types/type-helper.d.ts +0 -5
  527. package/dist/cjs/biz-components/Listing/types/type-helper.js +0 -2
  528. package/dist/cjs/biz-components/Listing/types/type-helper.js.map +0 -7
  529. package/dist/cjs/biz-components/Listing/types.d.ts +0 -29
  530. package/dist/cjs/biz-components/Listing/types.js +0 -2
  531. package/dist/cjs/biz-components/Listing/types.js.map +0 -7
  532. package/dist/cjs/biz-components/Listing/utils/helper.d.ts +0 -36
  533. package/dist/cjs/biz-components/Listing/utils/helper.js +0 -2
  534. package/dist/cjs/biz-components/Listing/utils/helper.js.map +0 -7
  535. package/dist/cjs/biz-components/Listing/utils/index.d.ts +0 -37
  536. package/dist/cjs/biz-components/Listing/utils/index.js +0 -2
  537. package/dist/cjs/biz-components/Listing/utils/index.js.map +0 -7
  538. package/dist/cjs/biz-components/Listing/utils/textFormat.d.ts +0 -73
  539. package/dist/cjs/biz-components/Listing/utils/textFormat.js +0 -2
  540. package/dist/cjs/biz-components/Listing/utils/textFormat.js.map +0 -7
  541. package/dist/cjs/biz-components/Paginator/index.d.ts +0 -7
  542. package/dist/cjs/biz-components/Paginator/index.js +0 -7
  543. package/dist/cjs/biz-components/Paginator/index.js.map +0 -7
  544. package/dist/cjs/biz-components/SelectStore/index.d.ts +0 -21
  545. package/dist/cjs/biz-components/SelectStore/index.js +0 -2
  546. package/dist/cjs/biz-components/SelectStore/index.js.map +0 -7
  547. package/dist/cjs/biz-components/Specs/dropdown.d.ts +0 -11
  548. package/dist/cjs/biz-components/Specs/dropdown.js +0 -3
  549. package/dist/cjs/biz-components/Specs/dropdown.js.map +0 -7
  550. package/dist/cjs/biz-components/Specs/index.js +0 -2
  551. package/dist/cjs/biz-components/Specs/index.js.map +0 -7
  552. package/dist/cjs/biz-components/TabsGroup/index.d.ts +0 -7
  553. package/dist/cjs/biz-components/TabsGroup/index.js +0 -2
  554. package/dist/cjs/biz-components/TabsGroup/index.js.map +0 -7
  555. package/dist/cjs/biz-components/TabsGroup/types.d.ts +0 -16
  556. package/dist/cjs/biz-components/TabsGroup/types.js +0 -2
  557. package/dist/cjs/biz-components/TabsGroup/types.js.map +0 -7
  558. package/dist/cjs/biz-components/TextMarquee/index.d.ts +0 -10
  559. package/dist/cjs/biz-components/TextMarquee/index.js +0 -2
  560. package/dist/cjs/biz-components/TextMarquee/index.js.map +0 -7
  561. package/dist/cjs/components/breadcrumb.d.ts +0 -12
  562. package/dist/cjs/components/breadcrumb.js +0 -2
  563. package/dist/cjs/components/breadcrumb.js.map +0 -7
  564. package/dist/cjs/hooks/useRollout.d.ts +0 -2
  565. package/dist/cjs/hooks/useRollout.js +0 -2
  566. package/dist/cjs/hooks/useRollout.js.map +0 -7
  567. package/dist/cjs/stories/specs.stories.js +0 -57
  568. package/dist/cjs/stories/specs.stories.js.map +0 -7
  569. package/dist/esm/biz-components/AplusDesc/index.d.ts +0 -23
  570. package/dist/esm/biz-components/AplusDesc/index.js +0 -2
  571. package/dist/esm/biz-components/AplusDesc/index.js.map +0 -7
  572. package/dist/esm/biz-components/CollectionShelves/CollectionShelvesItem.d.ts +0 -4
  573. package/dist/esm/biz-components/CollectionShelves/CollectionShelvesItem.js +0 -2
  574. package/dist/esm/biz-components/CollectionShelves/CollectionShelvesItem.js.map +0 -7
  575. package/dist/esm/biz-components/CollectionShelves/index.d.ts +0 -7
  576. package/dist/esm/biz-components/CollectionShelves/index.js +0 -2
  577. package/dist/esm/biz-components/CollectionShelves/index.js.map +0 -7
  578. package/dist/esm/biz-components/CollectionsBanner/index.d.ts +0 -7
  579. package/dist/esm/biz-components/CollectionsBanner/index.js +0 -2
  580. package/dist/esm/biz-components/CollectionsBanner/index.js.map +0 -7
  581. package/dist/esm/biz-components/CollectionsBanner/types.d.ts +0 -43
  582. package/dist/esm/biz-components/CollectionsFilters/FilterCardWrap.d.ts +0 -19
  583. package/dist/esm/biz-components/CollectionsFilters/FilterCardWrap.js +0 -2
  584. package/dist/esm/biz-components/CollectionsFilters/FilterCardWrap.js.map +0 -7
  585. package/dist/esm/biz-components/CollectionsFilters/FilterCardWrapItem.d.ts +0 -10
  586. package/dist/esm/biz-components/CollectionsFilters/FilterCardWrapItem.js +0 -2
  587. package/dist/esm/biz-components/CollectionsFilters/FilterCardWrapItem.js.map +0 -7
  588. package/dist/esm/biz-components/CollectionsFilters/FilterHeader.d.ts +0 -13
  589. package/dist/esm/biz-components/CollectionsFilters/FilterHeader.js +0 -2
  590. package/dist/esm/biz-components/CollectionsFilters/FilterHeader.js.map +0 -7
  591. package/dist/esm/biz-components/CollectionsFilters/FilterList.d.ts +0 -14
  592. package/dist/esm/biz-components/CollectionsFilters/FilterList.js +0 -2
  593. package/dist/esm/biz-components/CollectionsFilters/FilterList.js.map +0 -7
  594. package/dist/esm/biz-components/CollectionsFilters/component/AnimatedUL.d.ts +0 -5
  595. package/dist/esm/biz-components/CollectionsFilters/component/AnimatedUL.js +0 -2
  596. package/dist/esm/biz-components/CollectionsFilters/component/AnimatedUL.js.map +0 -7
  597. package/dist/esm/biz-components/CollectionsFilters/component/TabFilter.d.ts +0 -12
  598. package/dist/esm/biz-components/CollectionsFilters/component/TabFilter.js +0 -2
  599. package/dist/esm/biz-components/CollectionsFilters/component/TabFilter.js.map +0 -7
  600. package/dist/esm/biz-components/CollectionsFilters/component/filtersFun.d.ts +0 -12
  601. package/dist/esm/biz-components/CollectionsFilters/component/filtersFun.js +0 -2
  602. package/dist/esm/biz-components/CollectionsFilters/component/filtersFun.js.map +0 -7
  603. package/dist/esm/biz-components/CollectionsFilters/component/helper.d.ts +0 -81
  604. package/dist/esm/biz-components/CollectionsFilters/component/helper.js +0 -2
  605. package/dist/esm/biz-components/CollectionsFilters/component/helper.js.map +0 -7
  606. package/dist/esm/biz-components/CollectionsFilters/component/price.d.ts +0 -25
  607. package/dist/esm/biz-components/CollectionsFilters/component/price.js +0 -2
  608. package/dist/esm/biz-components/CollectionsFilters/component/price.js.map +0 -7
  609. package/dist/esm/biz-components/CollectionsFilters/component/priceProps.d.ts +0 -215
  610. package/dist/esm/biz-components/CollectionsFilters/component/priceProps.js +0 -2
  611. package/dist/esm/biz-components/CollectionsFilters/component/priceProps.js.map +0 -7
  612. package/dist/esm/biz-components/CollectionsFilters/index.d.ts +0 -24
  613. package/dist/esm/biz-components/CollectionsFilters/index.js +0 -2
  614. package/dist/esm/biz-components/CollectionsFilters/index.js.map +0 -7
  615. package/dist/esm/biz-components/DownLoad/index.d.ts +0 -21
  616. package/dist/esm/biz-components/DownLoad/index.js +0 -2
  617. package/dist/esm/biz-components/DownLoad/index.js.map +0 -7
  618. package/dist/esm/biz-components/Features/index.d.ts +0 -27
  619. package/dist/esm/biz-components/Features/index.js +0 -2
  620. package/dist/esm/biz-components/Features/index.js.map +0 -7
  621. package/dist/esm/biz-components/FootCharger/index.d.ts +0 -13
  622. package/dist/esm/biz-components/FootCharger/index.js +0 -2
  623. package/dist/esm/biz-components/FootCharger/index.js.map +0 -7
  624. package/dist/esm/biz-components/GiftBox/index.d.ts +0 -18
  625. package/dist/esm/biz-components/GiftBox/index.js +0 -2
  626. package/dist/esm/biz-components/GiftBox/index.js.map +0 -7
  627. package/dist/esm/biz-components/GraphicMore/index.d.ts +0 -23
  628. package/dist/esm/biz-components/GraphicMore/index.js +0 -2
  629. package/dist/esm/biz-components/GraphicMore/index.js.map +0 -7
  630. package/dist/esm/biz-components/HeroBanner/Countdown.d.ts +0 -10
  631. package/dist/esm/biz-components/HeroBanner/Countdown.js +0 -2
  632. package/dist/esm/biz-components/HeroBanner/Countdown.js.map +0 -7
  633. package/dist/esm/biz-components/Listing/BizProductProvider.d.ts +0 -124
  634. package/dist/esm/biz-components/Listing/BizProductProvider.js +0 -2
  635. package/dist/esm/biz-components/Listing/BizProductProvider.js.map +0 -7
  636. package/dist/esm/biz-components/Listing/components/PaidShipping/LearnMore.d.ts +0 -2
  637. package/dist/esm/biz-components/Listing/components/PaidShipping/LearnMore.js +0 -2
  638. package/dist/esm/biz-components/Listing/components/PaidShipping/LearnMore.js.map +0 -7
  639. package/dist/esm/biz-components/Listing/components/PaidShipping/ShippingMethod.d.ts +0 -10
  640. package/dist/esm/biz-components/Listing/components/PaidShipping/ShippingMethod.js +0 -2
  641. package/dist/esm/biz-components/Listing/components/PaidShipping/ShippingMethod.js.map +0 -7
  642. package/dist/esm/biz-components/Listing/components/PaidShipping/ShippingPolicyModal.d.ts +0 -25
  643. package/dist/esm/biz-components/Listing/components/PaidShipping/ShippingPolicyModal.js +0 -2
  644. package/dist/esm/biz-components/Listing/components/PaidShipping/ShippingPolicyModal.js.map +0 -7
  645. package/dist/esm/biz-components/Listing/components/PaidShipping/index.d.ts +0 -12
  646. package/dist/esm/biz-components/Listing/components/PaidShipping/index.js +0 -2
  647. package/dist/esm/biz-components/Listing/components/PaidShipping/index.js.map +0 -7
  648. package/dist/esm/biz-components/Listing/components/PaidShipping/type.d.ts +0 -30
  649. package/dist/esm/biz-components/Listing/components/PaidShipping/type.js +0 -2
  650. package/dist/esm/biz-components/Listing/components/PaidShipping/type.js.map +0 -7
  651. package/dist/esm/biz-components/Listing/components/PaidShipping/utils.d.ts +0 -2
  652. package/dist/esm/biz-components/Listing/components/PaidShipping/utils.js +0 -2
  653. package/dist/esm/biz-components/Listing/components/PaidShipping/utils.js.map +0 -7
  654. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.d.ts +0 -36
  655. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.js +0 -40
  656. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.js.map +0 -7
  657. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/ModalContainer.d.ts +0 -10
  658. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/ModalContainer.js +0 -2
  659. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/ModalContainer.js.map +0 -7
  660. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.d.ts +0 -30
  661. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.js +0 -2
  662. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.js.map +0 -7
  663. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.d.ts +0 -2
  664. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.js +0 -2
  665. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.js.map +0 -7
  666. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.d.ts +0 -2
  667. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.js +0 -2
  668. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.js.map +0 -7
  669. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.d.ts +0 -2
  670. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.js +0 -2
  671. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.js.map +0 -7
  672. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.d.ts +0 -2
  673. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js +0 -2
  674. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js.map +0 -7
  675. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.d.ts +0 -2
  676. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.js +0 -2
  677. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.js.map +0 -7
  678. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/index.d.ts +0 -2
  679. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/index.js +0 -2
  680. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/index.js.map +0 -7
  681. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/types.d.ts +0 -43
  682. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/types.js +0 -2
  683. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/types.js.map +0 -7
  684. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/CompareModal.d.ts +0 -2
  685. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/CompareModal.js +0 -2
  686. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/CompareModal.js.map +0 -7
  687. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/Select.d.ts +0 -21
  688. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/Select.js +0 -2
  689. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/Select.js.map +0 -7
  690. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/ShopifyColorOption.d.ts +0 -5
  691. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/ShopifyColorOption.js +0 -2
  692. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/ShopifyColorOption.js.map +0 -7
  693. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/SpecsModal.d.ts +0 -1
  694. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/SpecsModal.js +0 -2
  695. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/SpecsModal.js.map +0 -7
  696. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/index.d.ts +0 -2
  697. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/index.js +0 -2
  698. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/index.js.map +0 -7
  699. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/types.d.ts +0 -42
  700. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/types.js +0 -2
  701. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/types.js.map +0 -7
  702. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGridBox.d.ts +0 -6
  703. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGridBox.js +0 -2
  704. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGridBox.js.map +0 -7
  705. package/dist/esm/biz-components/Listing/components/ProductCard/ProductSummary/index.d.ts +0 -2
  706. package/dist/esm/biz-components/Listing/components/ProductCard/ProductSummary/index.js +0 -2
  707. package/dist/esm/biz-components/Listing/components/ProductCard/ProductSummary/index.js.map +0 -7
  708. package/dist/esm/biz-components/Listing/components/ProductCard/index.d.ts +0 -2
  709. package/dist/esm/biz-components/Listing/components/ProductCard/index.js +0 -2
  710. package/dist/esm/biz-components/Listing/components/ProductCard/index.js.map +0 -7
  711. package/dist/esm/biz-components/Listing/components/PurchaseBar/ProductActions/index.d.ts +0 -2
  712. package/dist/esm/biz-components/Listing/components/PurchaseBar/ProductActions/index.js +0 -2
  713. package/dist/esm/biz-components/Listing/components/PurchaseBar/ProductActions/index.js.map +0 -7
  714. package/dist/esm/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/index.d.ts +0 -3
  715. package/dist/esm/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/index.js +0 -2
  716. package/dist/esm/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/index.js.map +0 -7
  717. package/dist/esm/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/types.d.ts +0 -13
  718. package/dist/esm/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/types.js +0 -1
  719. package/dist/esm/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/types.js.map +0 -7
  720. package/dist/esm/biz-components/Listing/components/PurchaseBar/index.d.ts +0 -3
  721. package/dist/esm/biz-components/Listing/components/PurchaseBar/index.js +0 -2
  722. package/dist/esm/biz-components/Listing/components/PurchaseBar/index.js.map +0 -7
  723. package/dist/esm/biz-components/Listing/components/PurchaseBar/types.d.ts +0 -12
  724. package/dist/esm/biz-components/Listing/components/PurchaseBar/types.js +0 -1
  725. package/dist/esm/biz-components/Listing/components/PurchaseBar/types.js.map +0 -7
  726. package/dist/esm/biz-components/Listing/components/index.d.ts +0 -3
  727. package/dist/esm/biz-components/Listing/components/index.js +0 -2
  728. package/dist/esm/biz-components/Listing/components/index.js.map +0 -7
  729. package/dist/esm/biz-components/Listing/const.d.ts +0 -29
  730. package/dist/esm/biz-components/Listing/const.js +0 -2
  731. package/dist/esm/biz-components/Listing/const.js.map +0 -7
  732. package/dist/esm/biz-components/Listing/hooks/use-variant-media.d.ts +0 -14
  733. package/dist/esm/biz-components/Listing/hooks/use-variant-media.js +0 -2
  734. package/dist/esm/biz-components/Listing/hooks/use-variant-media.js.map +0 -7
  735. package/dist/esm/biz-components/Listing/hooks/use-variant.d.ts +0 -5
  736. package/dist/esm/biz-components/Listing/hooks/use-variant.js +0 -2
  737. package/dist/esm/biz-components/Listing/hooks/use-variant.js.map +0 -7
  738. package/dist/esm/biz-components/Listing/hooks/useBenefits.d.ts +0 -50
  739. package/dist/esm/biz-components/Listing/hooks/useBenefits.js +0 -2
  740. package/dist/esm/biz-components/Listing/hooks/useBenefits.js.map +0 -7
  741. package/dist/esm/biz-components/Listing/hooks/useCopy.d.ts +0 -5
  742. package/dist/esm/biz-components/Listing/hooks/useCopy.js +0 -2
  743. package/dist/esm/biz-components/Listing/hooks/useCopy.js.map +0 -7
  744. package/dist/esm/biz-components/Listing/hooks/useDiscountEnable.d.ts +0 -14
  745. package/dist/esm/biz-components/Listing/hooks/useDiscountEnable.js +0 -2
  746. package/dist/esm/biz-components/Listing/hooks/useDiscountEnable.js.map +0 -7
  747. package/dist/esm/biz-components/Listing/index.d.ts +0 -4
  748. package/dist/esm/biz-components/Listing/index.js +0 -2
  749. package/dist/esm/biz-components/Listing/index.js.map +0 -7
  750. package/dist/esm/biz-components/Listing/types/graphql.d.ts +0 -7473
  751. package/dist/esm/biz-components/Listing/types/graphql.js +0 -2
  752. package/dist/esm/biz-components/Listing/types/graphql.js.map +0 -7
  753. package/dist/esm/biz-components/Listing/types/product.d.ts +0 -141
  754. package/dist/esm/biz-components/Listing/types/product.js +0 -2
  755. package/dist/esm/biz-components/Listing/types/product.js.map +0 -7
  756. package/dist/esm/biz-components/Listing/types/productMetafields.d.js +0 -2
  757. package/dist/esm/biz-components/Listing/types/productMetafields.d.js.map +0 -7
  758. package/dist/esm/biz-components/Listing/types/type-helper.d.ts +0 -5
  759. package/dist/esm/biz-components/Listing/types/type-helper.js +0 -1
  760. package/dist/esm/biz-components/Listing/types/type-helper.js.map +0 -7
  761. package/dist/esm/biz-components/Listing/types.d.ts +0 -29
  762. package/dist/esm/biz-components/Listing/types.js +0 -1
  763. package/dist/esm/biz-components/Listing/types.js.map +0 -7
  764. package/dist/esm/biz-components/Listing/utils/helper.d.ts +0 -36
  765. package/dist/esm/biz-components/Listing/utils/helper.js +0 -2
  766. package/dist/esm/biz-components/Listing/utils/helper.js.map +0 -7
  767. package/dist/esm/biz-components/Listing/utils/index.d.ts +0 -37
  768. package/dist/esm/biz-components/Listing/utils/index.js +0 -2
  769. package/dist/esm/biz-components/Listing/utils/index.js.map +0 -7
  770. package/dist/esm/biz-components/Listing/utils/textFormat.d.ts +0 -73
  771. package/dist/esm/biz-components/Listing/utils/textFormat.js +0 -2
  772. package/dist/esm/biz-components/Listing/utils/textFormat.js.map +0 -7
  773. package/dist/esm/biz-components/Paginator/index.d.ts +0 -7
  774. package/dist/esm/biz-components/Paginator/index.js +0 -7
  775. package/dist/esm/biz-components/Paginator/index.js.map +0 -7
  776. package/dist/esm/biz-components/SelectStore/index.d.ts +0 -21
  777. package/dist/esm/biz-components/SelectStore/index.js +0 -2
  778. package/dist/esm/biz-components/SelectStore/index.js.map +0 -7
  779. package/dist/esm/biz-components/Specs/dropdown.d.ts +0 -11
  780. package/dist/esm/biz-components/Specs/dropdown.js +0 -3
  781. package/dist/esm/biz-components/Specs/dropdown.js.map +0 -7
  782. package/dist/esm/biz-components/Specs/index.js +0 -2
  783. package/dist/esm/biz-components/Specs/index.js.map +0 -7
  784. package/dist/esm/biz-components/TabsGroup/index.d.ts +0 -7
  785. package/dist/esm/biz-components/TabsGroup/index.js +0 -2
  786. package/dist/esm/biz-components/TabsGroup/index.js.map +0 -7
  787. package/dist/esm/biz-components/TabsGroup/types.d.ts +0 -16
  788. package/dist/esm/biz-components/TabsGroup/types.js +0 -1
  789. package/dist/esm/biz-components/TabsGroup/types.js.map +0 -7
  790. package/dist/esm/biz-components/TextMarquee/index.d.ts +0 -10
  791. package/dist/esm/biz-components/TextMarquee/index.js +0 -2
  792. package/dist/esm/biz-components/TextMarquee/index.js.map +0 -7
  793. package/dist/esm/components/breadcrumb.d.ts +0 -12
  794. package/dist/esm/components/breadcrumb.js +0 -2
  795. package/dist/esm/components/breadcrumb.js.map +0 -7
  796. package/dist/esm/hooks/useRollout.d.ts +0 -2
  797. package/dist/esm/hooks/useRollout.js +0 -2
  798. package/dist/esm/hooks/useRollout.js.map +0 -7
  799. package/dist/esm/stories/specs.stories.js +0 -57
  800. package/dist/esm/stories/specs.stories.js.map +0 -7
  801. /package/dist/esm/biz-components/{CollectionsBanner → ProductNav}/types.js +0 -0
  802. /package/dist/esm/biz-components/{CollectionsBanner → ProductNav}/types.js.map +0 -0
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import type { Media, Theme, Shape } from '../../types/props.js';
2
+ import type { Media, Theme } from '../../types/props.js';
3
3
  export interface ProductItemData {
4
4
  /** 产品标签文本 */
5
5
  text?: string;
@@ -12,21 +12,37 @@ export interface ProductItemData {
12
12
  /** 移动端封面图(仅用于视频) */
13
13
  mobPoster?: string;
14
14
  }
15
+ /** 标题类型 */
16
+ export type TitleType = 'selling-point' | 'primary' | 'secondary';
17
+ /** 文本对齐方式 */
18
+ export type TextAlign = 'left' | 'center';
19
+ /** 图片宽度比例(2张图片时) */
20
+ export type TwoImageRatio = '2:3' | '1:1';
21
+ /** 图片宽度比例(3张图片时) */
22
+ export type ThreeImageRatio = '1:1:1';
15
23
  export interface ProductCompareProps {
16
24
  /** 组件数据 */
17
25
  data: {
18
26
  /** 主标题 */
19
27
  title?: string;
28
+ /** 标题类型:selling-point(卖点)、primary(一级标题)、secondary(二级标题) */
29
+ titleType?: TitleType;
30
+ /** 标题图标(仅当 titleType 为 selling-point 时有效) */
31
+ titleIcon?: Media;
20
32
  /** 副标题 */
21
33
  subtitle?: string;
22
- /** 我们的产品数据 */
23
- ourProduct?: ProductItemData;
24
- /** 竞品数据 */
25
- competitor?: ProductItemData;
34
+ /** 副标题下方的图片 */
35
+ subtitleImage?: Media;
36
+ /** 文本对齐方式:left(左对齐)、center(居中) */
37
+ textAlign?: TextAlign;
38
+ /** 产品列表(支持2-3个产品) */
39
+ products?: ProductItemData[];
40
+ /** 2张图片时的宽度比例 */
41
+ twoImageRatio?: TwoImageRatio;
42
+ /** 3张图片时的宽度比例 */
43
+ threeImageRatio?: ThreeImageRatio;
26
44
  /** 主题:light 或 dark */
27
45
  theme?: Theme;
28
- /** 形状:rounded 或 square */
29
- shape?: Shape;
30
46
  };
31
47
  /** 外层容器类名 */
32
48
  className?: string;
@@ -1,2 +1,2 @@
1
- import{jsx as t,jsxs as l}from"react/jsx-runtime";import{useEffect as x,useRef as f,useState as b}from"react";import{Heading as c,Text as h}from"../../components/index.js";import{cn as m}from"../../helpers/index.js";import{withLayout as g}from"../../shared/Styles.js";function u({children:e,offset:a=800}){const[r,p]=b(!1),o=f(null);return x(()=>{const i=new IntersectionObserver(([s])=>s.isIntersecting&&p(!0),{rootMargin:`${a}px`});return o.current&&i.observe(o.current),()=>i.disconnect()},[a]),t("div",{ref:o,className:"size-full",children:r&&e})}function d({media:e,poster:a,className:r}){return e?.url?e.mimeType?.startsWith("video/")?t("video",{src:e.url,playsInline:!0,autoPlay:!0,muted:!0,loop:!0,poster:a,preload:"metadata",disablePictureInPicture:!0,disableRemotePlayback:!0,"webkit-playsinline":"true","x5-video-player-type":"h5","x5-video-player-fullscreen":"false","x5-playsinline":"true",className:r,width:e.width,height:e.height}):t("img",{src:e.url,alt:e.alt||"",className:r,width:e.width,height:e.height}):null}function v(e){const{title:a,subtitle:r,ourProduct:p={},competitor:o={},theme:i="light",shape:s="rounded"}=e.data,n={rounded:"rounded-[12px] laptop:rounded-[16px]",square:"rounded-none"}[s];return l("section",{className:m("product-compare text-info-primary bg-container-primary",e.className,{"aiui-dark":i==="dark"}),children:[a&&t(c,{as:"h2",size:3,html:a,className:"section-title text-left"}),r&&t(h,{as:"p",size:2,html:r,className:"section-subtitle mt-[4px] text-left text-[14px] tablet:text-[14px] laptop:text-[14px] desktop:text-[16px] lg-desktop:text-[18px]"}),l("div",{className:"product-compare-container mt-[24px] flex w-full flex-col items-stretch gap-[16px] tablet:flex-row tablet:flex-nowrap",children:[l("div",{className:m("product-compare-item product-compare-competitor relative order-2 flex-shrink overflow-hidden tablet:order-1 tablet:w-[50%] laptop:w-[39.30%]",n),children:[t("div",{className:"product-compare-label product-compare-competitor-label absolute left-[16px] top-[16px] rounded-[24px] bg-[#000] bg-opacity-20 px-[20px] pb-[10px] pt-[11px] font-bold laptop:left-[28px] laptop:top-[28px] laptop:px-[28px] laptop:pb-[14px] laptop:pt-[15px] desktop:left-[32px] desktop:top-[32px]",children:t(c,{as:"h6",className:"font-bold",size:1,children:o.text})}),l(u,{offset:1500,children:[t(d,{media:o.media,poster:o.poster,className:"product-compare-media product-compare-competitor-media hidden w-full h-full object-cover laptop:block"}),t(d,{media:o.mobMedia,poster:o.mobPoster,className:"product-compare-media product-compare-competitor-media-mobile block laptop:hidden"})]})]}),l("div",{className:m("product-compare-item product-compare-our-product relative order-1 flex-shrink overflow-hidden tablet:order-2 tablet:w-[50%] laptop:w-[59.53%]",n),children:[t("div",{className:"product-compare-label product-compare-our-product-label absolute left-[16px] top-[16px] rounded-[24px] bg-brand-0 px-[20px] pb-[10px] pt-[11px] font-bold laptop:left-[28px] laptop:top-[28px] laptop:px-[28px] laptop:pb-[14px] laptop:pt-[15px] desktop:left-[32px] desktop:top-[32px]",children:t(c,{as:"h6",className:"font-bold",size:1,children:p.text})}),l(u,{offset:1500,children:[t(d,{media:p.media,poster:p.poster,className:"product-compare-media product-compare-our-product-media hidden w-full laptop:block"}),t(d,{media:p.mobMedia,poster:p.mobPoster,className:"product-compare-media product-compare-our-product-media-mobile block laptop:hidden"})]})]})]})]})}var k=g(v);export{k as default};
1
+ import{jsx as t,jsxs as d}from"react/jsx-runtime";import{useEffect as T,useRef as I,useState as P}from"react";import{Heading as x,Text as M}from"../../components/index.js";import{cn as l}from"../../helpers/index.js";import{withLayout as R}from"../../shared/Styles.js";function k({children:e,offset:a=800}){const[r,i]=P(!1),p=I(null);return T(()=>{const o=new IntersectionObserver(([u])=>u.isIntersecting&&i(!0),{rootMargin:`${a}px`});return p.current&&o.observe(p.current),()=>o.disconnect()},[a]),t("div",{ref:p,className:"size-full",children:r&&e})}function g({media:e,poster:a,className:r}){return e?.url?e.mimeType?.startsWith("video/")?t("video",{src:e.url,playsInline:!0,autoPlay:!0,muted:!0,loop:!0,poster:a,preload:"metadata",disablePictureInPicture:!0,disableRemotePlayback:!0,"webkit-playsinline":"true","x5-video-player-type":"h5","x5-video-player-fullscreen":"false","x5-playsinline":"true",className:r,width:e.width,height:e.height}):t("img",{src:e.url,alt:e.alt||"",className:r,width:e.width,height:e.height}):null}function z(e,a,r){return a===2?r==="1:1"?"laptop:flex-[1]":e===0?"laptop:flex-[2]":"laptop:flex-[3]":"laptop:flex-[1]"}function C(e){const{title:a,titleType:r="primary",titleIcon:i,subtitle:p,subtitleImage:o,textAlign:u="left",products:n=[],twoImageRatio:h="2:3",threeImageRatio:L="1:1:1",theme:b="light"}=e.data,m=u==="center"?"text-center":"text-left laptop:text-left",f=()=>r==="secondary"?3:4,y=()=>a?r==="selling-point"&&i?d("div",{className:l("product-compare-title-wrapper flex items-center gap-[8px]",m==="text-center"?"justify-center":""),children:[t("img",{src:i.url,alt:i.alt||"",className:"product-compare-title-icon h-[24px] w-[24px] laptop:h-[32px] laptop:w-[32px]"}),t(x,{as:"h2",size:f(),html:a,className:"product-compare-title",style:{color:"#00BEFA"}})]}):t(x,{as:"h2",size:f(),html:a,className:l("product-compare-title",m)}):null;return d("section",{className:l("product-compare text-info-primary",e.className,{"aiui-dark":b==="dark"}),children:[y(),p&&t(M,{as:"p",size:2,html:p,className:l("product-compare-subtitle mt-[4px] text-[14px] tablet:text-[14px] laptop:text-[14px] desktop:text-[16px] lg-desktop:text-[18px]",m)}),o&&t("div",{className:l("product-compare-subtitle-image mt-[16px] laptop:mt-[24px]",m==="text-center"?"flex justify-center":""),children:t("img",{src:o.url,alt:o.alt||"",className:"max-w-full",width:o.width,height:o.height})}),t("div",{className:"product-compare-container mt-[24px] flex w-full flex-col items-stretch gap-[16px] tablet:flex-row tablet:flex-nowrap laptop:mt-[32px]",children:n.map((s,c)=>{const w=c===n.length-1,v=z(c,n.length,h),N=w?"bg-brand-0":"bg-[rgba(0,0,0,0.2)]";return d("div",{className:l("product-compare-item relative flex-shrink overflow-hidden rounded-box",v,{"order-2 tablet:order-1":c===0&&n.length===2,"order-1 tablet:order-2":c===1&&n.length===2}),children:[s.text&&t("div",{className:l("product-compare-label absolute left-[16px] top-[16px] z-10 rounded-btn px-[20px] pb-[10px] pt-[11px] font-bold text-[#fff] laptop:left-[28px] laptop:top-[28px] laptop:px-[28px] laptop:pb-[14px] laptop:pt-[15px] desktop:left-[32px] desktop:top-[32px]",N),children:t(x,{as:"h6",className:"font-bold",size:1,children:s.text})}),d(k,{offset:1500,children:[t(g,{media:s.media,poster:s.poster,className:"product-compare-media hidden h-full w-full object-cover laptop:block"}),t(g,{media:s.mobMedia,poster:s.mobPoster,className:"product-compare-media-mobile block w-full laptop:hidden"})]})]},c)})})]})}var H=R(C);export{H as default};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/biz-components/ProductCompare/index.tsx"],
4
- "sourcesContent": ["import { useEffect, useRef, useState } from 'react'\nimport { Heading, Text } from '../../components/index.js'\nimport { cn } from '../../helpers/index.js'\nimport type { Media, Theme, Shape } from '../../types/props.js'\nimport { withLayout } from '../../shared/Styles.js';\n\nfunction LazyMedia({ children, offset = 800 }: { children: React.ReactNode; offset?: number }) {\n const [loaded, setLoaded] = useState(false)\n const ref = useRef<HTMLDivElement>(null)\n\n useEffect(() => {\n const observer = new IntersectionObserver(\n ([entry]) => entry.isIntersecting && setLoaded(true),\n { rootMargin: `${offset}px` }\n )\n ref.current && observer.observe(ref.current)\n return () => observer.disconnect()\n }, [offset])\n\n return <div ref={ref} className=\"size-full\">{loaded && children}</div>\n}\n\nfunction MediaElement({ media, poster, className }: { media?: Media; poster?: string; className?: string }) {\n if (!media?.url) return null\n \n const isVideo = media.mimeType?.startsWith('video/')\n \n if (isVideo) {\n return (\n <video\n src={media.url}\n playsInline\n autoPlay\n muted\n loop\n poster={poster}\n preload=\"metadata\"\n disablePictureInPicture\n disableRemotePlayback\n webkit-playsinline=\"true\"\n x5-video-player-type=\"h5\"\n x5-video-player-fullscreen=\"false\"\n x5-playsinline=\"true\"\n className={className}\n width={media.width}\n height={media.height}\n />\n )\n }\n \n return (\n <img\n src={media.url}\n alt={media.alt || ''}\n className={className}\n width={media.width}\n height={media.height}\n />\n )\n}\n\nexport interface ProductItemData {\n /** \u4EA7\u54C1\u6807\u7B7E\u6587\u672C */\n text?: string\n /** \u684C\u9762\u7AEF\u5A92\u4F53\uFF08\u89C6\u9891\u6216\u56FE\u7247\uFF09 */\n media?: Media\n /** \u79FB\u52A8\u7AEF\u5A92\u4F53\uFF08\u89C6\u9891\u6216\u56FE\u7247\uFF09 */\n mobMedia?: Media\n /** \u684C\u9762\u7AEF\u5C01\u9762\u56FE\uFF08\u4EC5\u7528\u4E8E\u89C6\u9891\uFF09 */\n poster?: string\n /** \u79FB\u52A8\u7AEF\u5C01\u9762\u56FE\uFF08\u4EC5\u7528\u4E8E\u89C6\u9891\uFF09 */\n mobPoster?: string\n}\n\nexport interface ProductCompareProps {\n /** \u7EC4\u4EF6\u6570\u636E */\n data: {\n /** \u4E3B\u6807\u9898 */\n title?: string\n /** \u526F\u6807\u9898 */\n subtitle?: string\n /** \u6211\u4EEC\u7684\u4EA7\u54C1\u6570\u636E */\n ourProduct?: ProductItemData\n /** \u7ADE\u54C1\u6570\u636E */\n competitor?: ProductItemData\n /** \u4E3B\u9898\uFF1Alight \u6216 dark */\n theme?: Theme\n /** \u5F62\u72B6\uFF1Arounded \u6216 square */\n shape?: Shape\n }\n /** \u5916\u5C42\u5BB9\u5668\u7C7B\u540D */\n className?: string\n}\n\nfunction ProductCompare(props: ProductCompareProps) {\n const { title, subtitle, ourProduct = {}, competitor = {}, theme = 'light', shape = 'rounded' } = props.data\n \n // \u6839\u636E\u5F62\u72B6\u8BBE\u7F6E\u5706\u89D2\n const shapeClass = {\n rounded: 'rounded-[12px] laptop:rounded-[16px]',\n square: 'rounded-none',\n }[shape]\n\n return (\n <section className={cn('product-compare text-info-primary bg-container-primary', props.className, { 'aiui-dark': theme === 'dark' })}>\n {title && <Heading as={'h2'} size={3} html={title} className=\"section-title text-left\" />}\n {subtitle && <Text\n as=\"p\"\n size={2}\n html={subtitle}\n className=\"section-subtitle mt-[4px] text-left text-[14px] tablet:text-[14px] laptop:text-[14px] desktop:text-[16px] lg-desktop:text-[18px]\"\n />}\n <div className=\"product-compare-container mt-[24px] flex w-full flex-col items-stretch gap-[16px] tablet:flex-row tablet:flex-nowrap\">\n <div className={cn('product-compare-item product-compare-competitor relative order-2 flex-shrink overflow-hidden tablet:order-1 tablet:w-[50%] laptop:w-[39.30%]', shapeClass)}>\n <div className=\"product-compare-label product-compare-competitor-label absolute left-[16px] top-[16px] rounded-[24px] bg-[#000] bg-opacity-20 px-[20px] pb-[10px] pt-[11px] font-bold laptop:left-[28px] laptop:top-[28px] laptop:px-[28px] laptop:pb-[14px] laptop:pt-[15px] desktop:left-[32px] desktop:top-[32px]\">\n <Heading as={'h6'} className=\"font-bold\" size={1}>\n {competitor.text}\n </Heading>\n </div>\n <LazyMedia offset={1500}>\n <MediaElement\n media={competitor.media}\n poster={competitor.poster}\n className=\"product-compare-media product-compare-competitor-media hidden w-full h-full object-cover laptop:block\"\n />\n <MediaElement\n media={competitor.mobMedia}\n poster={competitor.mobPoster}\n className=\"product-compare-media product-compare-competitor-media-mobile block laptop:hidden\"\n />\n </LazyMedia>\n </div>\n <div className={cn('product-compare-item product-compare-our-product relative order-1 flex-shrink overflow-hidden tablet:order-2 tablet:w-[50%] laptop:w-[59.53%]', shapeClass)}>\n <div className=\"product-compare-label product-compare-our-product-label absolute left-[16px] top-[16px] rounded-[24px] bg-brand-0 px-[20px] pb-[10px] pt-[11px] font-bold laptop:left-[28px] laptop:top-[28px] laptop:px-[28px] laptop:pb-[14px] laptop:pt-[15px] desktop:left-[32px] desktop:top-[32px]\">\n <Heading as={'h6'} className=\"font-bold\" size={1}>\n {ourProduct.text}\n </Heading>\n </div>\n <LazyMedia offset={1500}>\n <MediaElement\n media={ourProduct.media}\n poster={ourProduct.poster}\n className=\"product-compare-media product-compare-our-product-media hidden w-full laptop:block\"\n />\n <MediaElement\n media={ourProduct.mobMedia}\n poster={ourProduct.mobPoster}\n className=\"product-compare-media product-compare-our-product-media-mobile block laptop:hidden\"\n />\n </LazyMedia>\n </div>\n </div>\n </section>\n )\n}\n\nexport default withLayout(ProductCompare)"],
5
- "mappings": "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",
6
- "names": ["jsx", "jsxs", "useEffect", "useRef", "useState", "Heading", "Text", "cn", "withLayout", "LazyMedia", "children", "offset", "loaded", "setLoaded", "ref", "observer", "entry", "MediaElement", "media", "poster", "className", "ProductCompare", "props", "title", "subtitle", "ourProduct", "competitor", "theme", "shape", "shapeClass", "ProductCompare_default"]
4
+ "sourcesContent": ["import { useEffect, useRef, useState } from 'react'\nimport { Heading, Text } from '../../components/index.js'\nimport { cn } from '../../helpers/index.js'\nimport type { Media, Theme, Shape } from '../../types/props.js'\nimport { withLayout } from '../../shared/Styles.js';\n\nfunction LazyMedia({ children, offset = 800 }: { children: React.ReactNode; offset?: number }) {\n const [loaded, setLoaded] = useState(false)\n const ref = useRef<HTMLDivElement>(null)\n\n useEffect(() => {\n const observer = new IntersectionObserver(\n ([entry]) => entry.isIntersecting && setLoaded(true),\n { rootMargin: `${offset}px` }\n )\n ref.current && observer.observe(ref.current)\n return () => observer.disconnect()\n }, [offset])\n\n return <div ref={ref} className=\"size-full\">{loaded && children}</div>\n}\n\nfunction MediaElement({ media, poster, className }: { media?: Media; poster?: string; className?: string }) {\n if (!media?.url) return null\n \n const isVideo = media.mimeType?.startsWith('video/')\n \n if (isVideo) {\n return (\n <video\n src={media.url}\n playsInline\n autoPlay\n muted\n loop\n poster={poster}\n preload=\"metadata\"\n disablePictureInPicture\n disableRemotePlayback\n webkit-playsinline=\"true\"\n x5-video-player-type=\"h5\"\n x5-video-player-fullscreen=\"false\"\n x5-playsinline=\"true\"\n className={className}\n width={media.width}\n height={media.height}\n />\n )\n }\n \n return (\n <img\n src={media.url}\n alt={media.alt || ''}\n className={className}\n width={media.width}\n height={media.height}\n />\n )\n}\n\nexport interface ProductItemData {\n /** \u4EA7\u54C1\u6807\u7B7E\u6587\u672C */\n text?: string\n /** \u684C\u9762\u7AEF\u5A92\u4F53\uFF08\u89C6\u9891\u6216\u56FE\u7247\uFF09 */\n media?: Media\n /** \u79FB\u52A8\u7AEF\u5A92\u4F53\uFF08\u89C6\u9891\u6216\u56FE\u7247\uFF09 */\n mobMedia?: Media\n /** \u684C\u9762\u7AEF\u5C01\u9762\u56FE\uFF08\u4EC5\u7528\u4E8E\u89C6\u9891\uFF09 */\n poster?: string\n /** \u79FB\u52A8\u7AEF\u5C01\u9762\u56FE\uFF08\u4EC5\u7528\u4E8E\u89C6\u9891\uFF09 */\n mobPoster?: string\n}\n\n/** \u6807\u9898\u7C7B\u578B */\nexport type TitleType = 'selling-point' | 'primary' | 'secondary'\n\n/** \u6587\u672C\u5BF9\u9F50\u65B9\u5F0F */\nexport type TextAlign = 'left' | 'center'\n\n/** \u56FE\u7247\u5BBD\u5EA6\u6BD4\u4F8B\uFF082\u5F20\u56FE\u7247\u65F6\uFF09 */\nexport type TwoImageRatio = '2:3' | '1:1'\n\n/** \u56FE\u7247\u5BBD\u5EA6\u6BD4\u4F8B\uFF083\u5F20\u56FE\u7247\u65F6\uFF09 */\nexport type ThreeImageRatio = '1:1:1'\n\nexport interface ProductCompareProps {\n /** \u7EC4\u4EF6\u6570\u636E */\n data: {\n /** \u4E3B\u6807\u9898 */\n title?: string\n /** \u6807\u9898\u7C7B\u578B\uFF1Aselling-point\uFF08\u5356\u70B9\uFF09\u3001primary\uFF08\u4E00\u7EA7\u6807\u9898\uFF09\u3001secondary\uFF08\u4E8C\u7EA7\u6807\u9898\uFF09 */\n titleType?: TitleType\n /** \u6807\u9898\u56FE\u6807\uFF08\u4EC5\u5F53 titleType \u4E3A selling-point \u65F6\u6709\u6548\uFF09 */\n titleIcon?: Media\n /** \u526F\u6807\u9898 */\n subtitle?: string\n /** \u526F\u6807\u9898\u4E0B\u65B9\u7684\u56FE\u7247 */\n subtitleImage?: Media\n /** \u6587\u672C\u5BF9\u9F50\u65B9\u5F0F\uFF1Aleft\uFF08\u5DE6\u5BF9\u9F50\uFF09\u3001center\uFF08\u5C45\u4E2D\uFF09 */\n textAlign?: TextAlign\n /** \u4EA7\u54C1\u5217\u8868\uFF08\u652F\u63012-3\u4E2A\u4EA7\u54C1\uFF09 */\n products?: ProductItemData[]\n /** 2\u5F20\u56FE\u7247\u65F6\u7684\u5BBD\u5EA6\u6BD4\u4F8B */\n twoImageRatio?: TwoImageRatio\n /** 3\u5F20\u56FE\u7247\u65F6\u7684\u5BBD\u5EA6\u6BD4\u4F8B */\n threeImageRatio?: ThreeImageRatio\n /** \u4E3B\u9898\uFF1Alight \u6216 dark */\n theme?: Theme\n }\n /** \u5916\u5C42\u5BB9\u5668\u7C7B\u540D */\n className?: string\n}\n\n/**\n * \u6839\u636E\u4EA7\u54C1\u6570\u91CF\u548C\u6BD4\u4F8B\u83B7\u53D6\u5E03\u5C40\u7C7B\u540D\n */\nfunction getProductLayoutClasses(index: number, totalProducts: number, twoImageRatio?: TwoImageRatio): string {\n if (totalProducts === 2) {\n if (twoImageRatio === '1:1') {\n return 'laptop:flex-[1]'\n }\n // \u9ED8\u8BA4 2:3 \u6BD4\u4F8B\n return index === 0 ? 'laptop:flex-[2]' : 'laptop:flex-[3]'\n }\n\n if (totalProducts === 3) {\n // 1:1:1 \u6BD4\u4F8B\n return 'laptop:flex-[1]'\n }\n\n return 'laptop:flex-[1]'\n}\n\nfunction ProductCompare(props: ProductCompareProps) {\n const {\n title,\n titleType = 'primary',\n titleIcon,\n subtitle,\n subtitleImage,\n textAlign = 'left',\n products = [],\n twoImageRatio = '2:3',\n threeImageRatio = '1:1:1',\n theme = 'light',\n } = props.data\n\n\n // \u6587\u672C\u5BF9\u9F50\u7C7B\u540D\n const alignClasses = textAlign === 'center' ? 'text-center' : 'text-left laptop:text-left'\n\n // \u6839\u636E\u6807\u9898\u7C7B\u578B\u786E\u5B9A Heading size \u548C\u6837\u5F0F\n const getTitleSize = () => {\n if (titleType === 'secondary') return 3\n return 4\n }\n\n // \u6E32\u67D3\u6807\u9898\n const renderTitle = () => {\n if (!title) return null\n\n // \u5356\u70B9\u6807\u9898\uFF08\u5305\u542B\u56FE\u6807\uFF09\n if (titleType === 'selling-point' && titleIcon) {\n return (\n <div className={cn('product-compare-title-wrapper flex items-center gap-[8px]', alignClasses === 'text-center' ? 'justify-center' : '')}>\n <img src={titleIcon.url} alt={titleIcon.alt || ''} className=\"product-compare-title-icon h-[24px] w-[24px] laptop:h-[32px] laptop:w-[32px]\" />\n <Heading\n as=\"h2\"\n size={getTitleSize()}\n html={title}\n className=\"product-compare-title\"\n style={{ color: '#00BEFA' }}\n />\n </div>\n )\n }\n\n // \u666E\u901A\u6807\u9898\n return (\n <Heading\n as=\"h2\"\n size={getTitleSize()}\n html={title}\n className={cn('product-compare-title', alignClasses)}\n />\n )\n }\n\n return (\n <section\n className={cn('product-compare text-info-primary', props.className, {\n 'aiui-dark': theme === 'dark',\n })}\n >\n {/* \u6807\u9898\u533A\u57DF */}\n {renderTitle()}\n\n {/* \u526F\u6807\u9898 */}\n {subtitle && (\n <Text\n as=\"p\"\n size={2}\n html={subtitle}\n className={cn(\n 'product-compare-subtitle mt-[4px] text-[14px] tablet:text-[14px] laptop:text-[14px] desktop:text-[16px] lg-desktop:text-[18px]',\n alignClasses\n )}\n />\n )}\n\n {/* \u526F\u6807\u9898\u4E0B\u65B9\u56FE\u7247 */}\n {subtitleImage && (\n <div className={cn('product-compare-subtitle-image mt-[16px] laptop:mt-[24px]', alignClasses === 'text-center' ? 'flex justify-center' : '')}>\n <img\n src={subtitleImage.url}\n alt={subtitleImage.alt || ''}\n className=\"max-w-full\"\n width={subtitleImage.width}\n height={subtitleImage.height}\n />\n </div>\n )}\n\n {/* \u4EA7\u54C1\u5BF9\u6BD4\u5361\u7247\u5BB9\u5668 */}\n <div className=\"product-compare-container mt-[24px] flex w-full flex-col items-stretch gap-[16px] tablet:flex-row tablet:flex-nowrap laptop:mt-[32px]\">\n {products.map((product, index) => {\n const isLastProduct = index === products.length - 1\n const layoutClasses = getProductLayoutClasses(index, products.length, twoImageRatio)\n\n // \u6807\u7B7E\u6837\u5F0F\uFF1A\u6700\u540E\u4E00\u4E2A\u4EA7\u54C1\u7528 bg-brand-0\uFF0C\u5176\u4ED6\u7528 rgba(0,0,0,0.2)\n const labelBgClass = isLastProduct ? 'bg-brand-0' : 'bg-[rgba(0,0,0,0.2)]'\n\n return (\n <div\n key={index}\n className={cn(\n 'product-compare-item relative flex-shrink overflow-hidden rounded-box',\n layoutClasses,\n {\n 'order-2 tablet:order-1': index === 0 && products.length === 2,\n 'order-1 tablet:order-2': index === 1 && products.length === 2,\n }\n )}\n >\n {/* \u4EA7\u54C1\u6807\u7B7E */}\n {product.text && (\n <div\n className={cn(\n 'product-compare-label absolute left-[16px] top-[16px] z-10 rounded-btn px-[20px] pb-[10px] pt-[11px] font-bold text-[#fff] laptop:left-[28px] laptop:top-[28px] laptop:px-[28px] laptop:pb-[14px] laptop:pt-[15px] desktop:left-[32px] desktop:top-[32px]',\n labelBgClass\n )}\n >\n <Heading as=\"h6\" className=\"font-bold\" size={1}>\n {product.text}\n </Heading>\n </div>\n )}\n\n {/* \u4EA7\u54C1\u5A92\u4F53 */}\n <LazyMedia offset={1500}>\n <MediaElement\n media={product.media}\n poster={product.poster}\n className=\"product-compare-media hidden h-full w-full object-cover laptop:block\"\n />\n <MediaElement\n media={product.mobMedia}\n poster={product.mobPoster}\n className=\"product-compare-media-mobile block w-full laptop:hidden\"\n />\n </LazyMedia>\n </div>\n )\n })}\n </div>\n </section>\n )\n}\n\nexport default withLayout(ProductCompare)"],
5
+ "mappings": "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",
6
+ "names": ["jsx", "jsxs", "useEffect", "useRef", "useState", "Heading", "Text", "cn", "withLayout", "LazyMedia", "children", "offset", "loaded", "setLoaded", "ref", "observer", "entry", "MediaElement", "media", "poster", "className", "getProductLayoutClasses", "index", "totalProducts", "twoImageRatio", "ProductCompare", "props", "title", "titleType", "titleIcon", "subtitle", "subtitleImage", "textAlign", "products", "threeImageRatio", "theme", "alignClasses", "getTitleSize", "renderTitle", "product", "isLastProduct", "layoutClasses", "labelBgClass", "ProductCompare_default"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use client";import{jsx as t,jsxs as s}from"react/jsx-runtime";import f,{useRef as h,useImperativeHandle as b}from"react";import{Heading as p,Button as x,Picture as _,Text as N}from"../../components/index.js";import{cn as H}from"../../helpers/utils.js";import{withLayout as k}from"../../shared/Styles.js";import{useExposure as P}from"../../hooks/useExposure.js";const g="image",v="product_hero",a=f.forwardRef(({data:l,className:c},i)=>{const{title:r,subtitle:e,ctaText:m,poster:u,mobPoster:n,ctaLink:d}=l,o=h(null);return P(o,{componentType:g,componentName:v,componentTitle:r,componentDescription:e}),b(i,()=>o.current),s("section",{ref:o,"data-ui-component-id":"ProductHero",className:H("product-hero flex w-full flex-col items-center justify-between gap-[32px] tablet:flex-row tablet:gap-[16px] lg-desktop:gap-[64px]",c),children:[s("div",{className:"product-hero__content flex w-full flex-col items-start gap-[24px] tablet:basis-[42%] laptop:basis-[36%]",children:[s("div",{className:"product-hero__text",children:[t(p,{as:"h3",size:4,html:r,className:"product-hero__title"}),t(p,{as:"h4",size:2,html:e,className:"product-hero__subtitle product-hero__subtitle--desktop mt-[4px] hidden laptop:mt-[12px] laptop:block desktop:mt-[16px]"}),t(N,{as:"p",size:2,html:e,className:"product-hero__subtitle product-hero__subtitle--mobile mt-[4px] block laptop:mt-[12px] laptop:hidden desktop:mt-[16px]"})]}),t("a",{href:d,className:"product-hero__cta-link",children:t(x,{className:"product-hero__cta-button w-fit",children:m})})]}),t(_,{className:"product-hero__image aspect-[358/360] flex-shrink tablet:aspect-[824/640] tablet:basis-[58%] laptop:basis-[64%]",source:`${u?.url}, ${n?.url} 768`})]})});a.displayName="ProductHero";var E=k(a);export{E as default};
1
+ "use client";import{jsx as t,jsxs as r}from"react/jsx-runtime";import h,{useRef as x,useImperativeHandle as b}from"react";import{Heading as p,Button as _,Picture as k,Text as N}from"../../components/index.js";import{cn as H}from"../../helpers/utils.js";import{withLayout as g}from"../../shared/Styles.js";import{useExposure as P}from"../../hooks/useExposure.js";const v="image",w="product_hero",a=h.forwardRef(({data:l,className:c},i)=>{const{title:s,subtitle:e,ctaText:m,poster:u,mobPoster:n,ctaLink:d,theme:f="light"}=l,o=x(null);return P(o,{componentType:v,componentName:w,componentTitle:s,componentDescription:e}),b(i,()=>o.current),r("section",{ref:o,"data-ui-component-id":"ProductHero",className:H("product-hero flex w-full flex-col items-center justify-between gap-[32px] text-info-primary tablet:flex-row tablet:gap-[16px] lg-desktop:gap-[64px]",{"aiui-dark":f==="dark"},c),children:[r("div",{className:"product-hero__content flex w-full flex-col items-start gap-[24px] tablet:basis-[42%] laptop:basis-[36%]",children:[r("div",{className:"product-hero__text",children:[t(p,{as:"h3",size:4,html:s,className:"product-hero__title"}),t(p,{as:"h4",size:2,html:e,className:"product-hero__subtitle product-hero__subtitle--desktop mt-[4px] hidden laptop:mt-[12px] laptop:block desktop:mt-[16px]"}),t(N,{as:"p",size:2,html:e,className:"product-hero__subtitle product-hero__subtitle--mobile mt-[4px] block laptop:mt-[12px] laptop:hidden desktop:mt-[16px]"})]}),t("a",{href:d,className:"product-hero__cta-link",children:t(_,{className:"product-hero__cta-button w-fit",children:m})})]}),t(k,{className:"product-hero__image aspect-[358/360] flex-shrink tablet:aspect-[824/640] tablet:basis-[58%] laptop:basis-[64%]",source:`${u?.url}, ${n?.url} 768`})]})});a.displayName="ProductHero";var R=g(a);export{R as default};
2
2
  //# sourceMappingURL=ProductHero.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/biz-components/ProductHero/ProductHero.tsx"],
4
- "sourcesContent": ["'use client'\nimport React, { useRef, useImperativeHandle } from 'react'\nimport { Heading, Button, Picture, Text } from '../../components/index.js'\nimport { cn } from '../../helpers/utils.js'\nimport { withLayout } from '../../shared/Styles.js'\nimport { useExposure } from '../../hooks/useExposure.js'\nimport type { ProductHeroProps } from './types.js'\n\nconst componentType = 'image'\nconst componentName = 'product_hero'\n\nconst ProductHero = React.forwardRef<HTMLDivElement, ProductHeroProps>(({ data, className }, ref) => {\n const { title, subtitle, ctaText, poster, mobPoster, ctaLink } = data\n\n const boxRef = useRef<HTMLDivElement>(null)\n\n useExposure(boxRef, {\n componentType,\n componentName,\n componentTitle: title,\n componentDescription: subtitle,\n })\n\n useImperativeHandle(ref, () => boxRef.current as HTMLDivElement)\n\n return (\n <section\n ref={boxRef}\n data-ui-component-id=\"ProductHero\"\n className={cn(\n 'product-hero flex w-full flex-col items-center justify-between gap-[32px] tablet:flex-row tablet:gap-[16px] lg-desktop:gap-[64px]',\n className\n )}\n >\n <div className=\"product-hero__content flex w-full flex-col items-start gap-[24px] tablet:basis-[42%] laptop:basis-[36%]\">\n <div className=\"product-hero__text\">\n <Heading as={'h3'} size={4} html={title} className=\"product-hero__title\" />\n <Heading\n as={'h4'}\n size={2}\n html={subtitle}\n className=\"product-hero__subtitle product-hero__subtitle--desktop mt-[4px] hidden laptop:mt-[12px] laptop:block desktop:mt-[16px]\"\n />\n <Text\n as={'p'}\n size={2}\n html={subtitle}\n className=\"product-hero__subtitle product-hero__subtitle--mobile mt-[4px] block laptop:mt-[12px] laptop:hidden desktop:mt-[16px]\"\n />\n </div>\n <a href={ctaLink} className=\"product-hero__cta-link\">\n <Button className=\"product-hero__cta-button w-fit\">{ctaText}</Button>\n </a>\n </div>\n <Picture\n className=\"product-hero__image aspect-[358/360] flex-shrink tablet:aspect-[824/640] tablet:basis-[58%] laptop:basis-[64%]\"\n source={`${poster?.url}, ${mobPoster?.url} 768`}\n />\n </section>\n )\n})\n\nProductHero.displayName = 'ProductHero'\n\nexport default withLayout(ProductHero)\n"],
5
- "mappings": "aAmCQ,OACE,OAAAA,EADF,QAAAC,MAAA,oBAlCR,OAAOC,GAAS,UAAAC,EAAQ,uBAAAC,MAA2B,QACnD,OAAS,WAAAC,EAAS,UAAAC,EAAQ,WAAAC,EAAS,QAAAC,MAAY,4BAC/C,OAAS,MAAAC,MAAU,yBACnB,OAAS,cAAAC,MAAkB,yBAC3B,OAAS,eAAAC,MAAmB,6BAG5B,MAAMC,EAAgB,QAChBC,EAAgB,eAEhBC,EAAcZ,EAAM,WAA6C,CAAC,CAAE,KAAAa,EAAM,UAAAC,CAAU,EAAGC,IAAQ,CACnG,KAAM,CAAE,MAAAC,EAAO,SAAAC,EAAU,QAAAC,EAAS,OAAAC,EAAQ,UAAAC,EAAW,QAAAC,CAAQ,EAAIR,EAE3DS,EAASrB,EAAuB,IAAI,EAE1C,OAAAQ,EAAYa,EAAQ,CAClB,cAAAZ,EACA,cAAAC,EACA,eAAgBK,EAChB,qBAAsBC,CACxB,CAAC,EAEDf,EAAoBa,EAAK,IAAMO,EAAO,OAAyB,EAG7DvB,EAAC,WACC,IAAKuB,EACL,uBAAqB,cACrB,UAAWf,EACT,oIACAO,CACF,EAEA,UAAAf,EAAC,OAAI,UAAU,0GACb,UAAAA,EAAC,OAAI,UAAU,qBACb,UAAAD,EAACK,EAAA,CAAQ,GAAI,KAAM,KAAM,EAAG,KAAMa,EAAO,UAAU,sBAAsB,EACzElB,EAACK,EAAA,CACC,GAAI,KACJ,KAAM,EACN,KAAMc,EACN,UAAU,yHACZ,EACAnB,EAACQ,EAAA,CACC,GAAI,IACJ,KAAM,EACN,KAAMW,EACN,UAAU,wHACZ,GACF,EACAnB,EAAC,KAAE,KAAMuB,EAAS,UAAU,yBAC1B,SAAAvB,EAACM,EAAA,CAAO,UAAU,iCAAkC,SAAAc,EAAQ,EAC9D,GACF,EACApB,EAACO,EAAA,CACC,UAAU,iHACV,OAAQ,GAAGc,GAAQ,GAAG,KAAKC,GAAW,GAAG,OAC3C,GACF,CAEJ,CAAC,EAEDR,EAAY,YAAc,cAE1B,IAAOW,EAAQf,EAAWI,CAAW",
6
- "names": ["jsx", "jsxs", "React", "useRef", "useImperativeHandle", "Heading", "Button", "Picture", "Text", "cn", "withLayout", "useExposure", "componentType", "componentName", "ProductHero", "data", "className", "ref", "title", "subtitle", "ctaText", "poster", "mobPoster", "ctaLink", "boxRef", "ProductHero_default"]
4
+ "sourcesContent": ["'use client'\nimport React, { useRef, useImperativeHandle } from 'react'\nimport { Heading, Button, Picture, Text } from '../../components/index.js'\nimport { cn } from '../../helpers/utils.js'\nimport { withLayout } from '../../shared/Styles.js'\nimport { useExposure } from '../../hooks/useExposure.js'\nimport type { ProductHeroProps } from './types.js'\n\nconst componentType = 'image'\nconst componentName = 'product_hero'\n\nconst ProductHero = React.forwardRef<HTMLDivElement, ProductHeroProps>(({ data, className }, ref) => {\n const { title, subtitle, ctaText, poster, mobPoster, ctaLink, theme = 'light' } = data\n\n const boxRef = useRef<HTMLDivElement>(null)\n\n useExposure(boxRef, {\n componentType,\n componentName,\n componentTitle: title,\n componentDescription: subtitle,\n })\n\n useImperativeHandle(ref, () => boxRef.current as HTMLDivElement)\n\n return (\n <section\n ref={boxRef}\n data-ui-component-id=\"ProductHero\"\n className={cn(\n 'product-hero flex w-full flex-col items-center justify-between gap-[32px] text-info-primary tablet:flex-row tablet:gap-[16px] lg-desktop:gap-[64px]',\n {\n 'aiui-dark': theme === 'dark',\n },\n className\n )}\n >\n <div className=\"product-hero__content flex w-full flex-col items-start gap-[24px] tablet:basis-[42%] laptop:basis-[36%]\">\n <div className=\"product-hero__text\">\n <Heading as={'h3'} size={4} html={title} className=\"product-hero__title\" />\n <Heading\n as={'h4'}\n size={2}\n html={subtitle}\n className=\"product-hero__subtitle product-hero__subtitle--desktop mt-[4px] hidden laptop:mt-[12px] laptop:block desktop:mt-[16px]\"\n />\n <Text\n as={'p'}\n size={2}\n html={subtitle}\n className=\"product-hero__subtitle product-hero__subtitle--mobile mt-[4px] block laptop:mt-[12px] laptop:hidden desktop:mt-[16px]\"\n />\n </div>\n <a href={ctaLink} className=\"product-hero__cta-link\">\n <Button className=\"product-hero__cta-button w-fit\">{ctaText}</Button>\n </a>\n </div>\n <Picture\n className=\"product-hero__image aspect-[358/360] flex-shrink tablet:aspect-[824/640] tablet:basis-[58%] laptop:basis-[64%]\"\n source={`${poster?.url}, ${mobPoster?.url} 768`}\n />\n </section>\n )\n})\n\nProductHero.displayName = 'ProductHero'\n\nexport default withLayout(ProductHero)\n"],
5
+ "mappings": "aAsCQ,OACE,OAAAA,EADF,QAAAC,MAAA,oBArCR,OAAOC,GAAS,UAAAC,EAAQ,uBAAAC,MAA2B,QACnD,OAAS,WAAAC,EAAS,UAAAC,EAAQ,WAAAC,EAAS,QAAAC,MAAY,4BAC/C,OAAS,MAAAC,MAAU,yBACnB,OAAS,cAAAC,MAAkB,yBAC3B,OAAS,eAAAC,MAAmB,6BAG5B,MAAMC,EAAgB,QAChBC,EAAgB,eAEhBC,EAAcZ,EAAM,WAA6C,CAAC,CAAE,KAAAa,EAAM,UAAAC,CAAU,EAAGC,IAAQ,CACnG,KAAM,CAAE,MAAAC,EAAO,SAAAC,EAAU,QAAAC,EAAS,OAAAC,EAAQ,UAAAC,EAAW,QAAAC,EAAS,MAAAC,EAAQ,OAAQ,EAAIT,EAE5EU,EAAStB,EAAuB,IAAI,EAE1C,OAAAQ,EAAYc,EAAQ,CAClB,cAAAb,EACA,cAAAC,EACA,eAAgBK,EAChB,qBAAsBC,CACxB,CAAC,EAEDf,EAAoBa,EAAK,IAAMQ,EAAO,OAAyB,EAG7DxB,EAAC,WACC,IAAKwB,EACL,uBAAqB,cACrB,UAAWhB,EACT,sJACA,CACE,YAAae,IAAU,MACzB,EACAR,CACF,EAEA,UAAAf,EAAC,OAAI,UAAU,0GACb,UAAAA,EAAC,OAAI,UAAU,qBACb,UAAAD,EAACK,EAAA,CAAQ,GAAI,KAAM,KAAM,EAAG,KAAMa,EAAO,UAAU,sBAAsB,EACzElB,EAACK,EAAA,CACC,GAAI,KACJ,KAAM,EACN,KAAMc,EACN,UAAU,yHACZ,EACAnB,EAACQ,EAAA,CACC,GAAI,IACJ,KAAM,EACN,KAAMW,EACN,UAAU,wHACZ,GACF,EACAnB,EAAC,KAAE,KAAMuB,EAAS,UAAU,yBAC1B,SAAAvB,EAACM,EAAA,CAAO,UAAU,iCAAkC,SAAAc,EAAQ,EAC9D,GACF,EACApB,EAACO,EAAA,CACC,UAAU,iHACV,OAAQ,GAAGc,GAAQ,GAAG,KAAKC,GAAW,GAAG,OAC3C,GACF,CAEJ,CAAC,EAEDR,EAAY,YAAc,cAE1B,IAAOY,EAAQhB,EAAWI,CAAW",
6
+ "names": ["jsx", "jsxs", "React", "useRef", "useImperativeHandle", "Heading", "Button", "Picture", "Text", "cn", "withLayout", "useExposure", "componentType", "componentName", "ProductHero", "data", "className", "ref", "title", "subtitle", "ctaText", "poster", "mobPoster", "ctaLink", "theme", "boxRef", "ProductHero_default"]
7
7
  }
@@ -1,4 +1,4 @@
1
- import type { Media } from '../../types/props';
1
+ import type { Media, Theme } from '../../types/props';
2
2
  export interface ProductHeroProps {
3
3
  data: {
4
4
  /** 主标题 */
@@ -15,6 +15,8 @@ export interface ProductHeroProps {
15
15
  mobPoster: Media;
16
16
  /** 3D 模型源(可选,暂未使用) */
17
17
  modelSrc?: string;
18
+ /** 主题,默认 light */
19
+ theme?: Theme;
18
20
  };
19
21
  /** 自定义类名 */
20
22
  className?: string;
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ import type { ProductNavProps } from './types.js';
3
+ declare const _default: import("react").ForwardRefExoticComponent<Omit<Omit<ProductNavProps & import("react").RefAttributes<HTMLDivElement>, keyof import("../../shared/Styles.js").StylesProps> & Partial<import("../../shared/Styles.js").StylesProps & import("../../shared/Styles.js").ContainerProps> & {
4
+ className?: string | undefined;
5
+ data?: Record<string, any> | undefined;
6
+ }, "ref"> & import("react").RefAttributes<any>>;
7
+ export default _default;
@@ -0,0 +1,2 @@
1
+ "use client";import{jsx as e,jsxs as o}from"react/jsx-runtime";import{useState as N,useEffect as y,forwardRef as E,useImperativeHandle as P,useRef as T}from"react";import{cn as i}from"../../helpers/utils.js";import{withLayout as L}from"../../shared/Styles.js";import{Button as x,Text as d}from"../../components/index.js";import{useExposure as C}from"../../hooks/useExposure.js";import*as c from"@radix-ui/react-popover";const D="navigation",H="product_nav",M=p=>e("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",...p,children:e("path",{d:"M5 7.5L10 12.5L15 7.5",stroke:"currentColor",strokeWidth:"1.66667",strokeLinecap:"round",strokeLinejoin:"round"})}),m=E(({className:p="",data:v,id:u},f)=>{const{tabLinks:s=[],anchorList:h=[],textLink:a,buyBtn:r,theme:k="light"}=v||{},[g,w]=N(""),l=T(null);P(f,()=>l.current),C(l,{componentType:D,componentName:H}),y(()=>{const t=()=>{w(window.location.hash)};return t(),window.addEventListener("hashchange",t),()=>{window.removeEventListener("hashchange",t)}},[]);const b=t=>{t.target.scrollIntoView({behavior:"smooth",block:"nearest",inline:"center"})};return o("div",{id:u,ref:l,className:i("product-nav flex w-full justify-between py-0 text-info-primary bg-container-primary",{"aiui-dark":k==="dark"},p),children:[o("div",{className:"product-nav-main flex w-full flex-col justify-start desktop:flex-row desktop:gap-[48px]",children:[o("div",{className:"product-nav-header flex w-full flex-row items-center justify-between gap-[16px] pt-[14px] laptop:w-full desktop:w-fit desktop:gap-[24px] desktop:py-0",children:[o("div",{className:"product-nav-tabs flex flex-row items-center gap-[8px]",children:[s.map((t,n)=>o("div",{className:"product-nav-tab-item flex items-center gap-[8px]",children:[e("a",{href:t.link,className:i("product-nav-tab-link text-nowrap hover:text-brand-color text-[14px] tracking-[-0.04em] font-bold",{"text-[#6D6D6F]":n!==0,"hidden desktop:block":n===1}),children:e("span",{children:t.label})}),n!==s.length-1&&e("div",{className:"product-nav-tab-divider hidden h-[14px] w-[1px] bg-[#E4E5E6] desktop:inline-block"})]},t.link||n)),s.length>1&&o(c.Root,{children:[e(c.Trigger,{asChild:!0,children:e("button",{className:"product-nav-dropdown-trigger -ml-[4px] inline-block desktop:hidden","aria-label":"More products",children:e(M,{className:"text-[#1D1D1F]"})})}),e(c.Content,{className:"product-nav-dropdown-content rounded-[6px] border border-[#E4E5E6] bg-white p-[6px] px-[8px] py-[4px]",style:{boxShadow:"0px 4px 8px 0px rgba(0,0,0,0.12)"},side:"bottom",align:"end",alignOffset:10,sideOffset:10,children:s.slice(1).map(t=>e("a",{href:t.link,className:"product-nav-dropdown-link text-nowrap hover:text-brand-color",children:e("span",{children:t.label})},t.link))})]})]}),o("div",{className:"product-nav-mobile-actions flex items-center gap-[16px] desktop:hidden desktop:gap-[24px]",children:[a?.link&&e("a",{href:a.link,target:a.target||"_self",className:"product-nav-text-link cursor-pointer hover:text-brand-color",children:e(d,{size:2,className:"text-nowrap",children:a.text})}),r?.link&&e(x,{as:"a",href:r.link,size:"sm",className:"product-nav-buy-button text-nowrap",children:r.text})]})]}),e("div",{className:"product-nav-anchors hide-scrollbar flex w-full items-center gap-[16px] overflow-x-scroll py-[12px] laptop:w-fit desktop:gap-[24px] desktop:py-[8px]",children:h.map(t=>o("a",{href:`#${t.id}`,className:"product-nav-anchor-link",onClick:n=>{b(n)},children:[e(d,{size:2,className:"product-nav-anchor-text text-nowrap",children:t.label}),e("div",{className:i("product-nav-anchor-indicator relative top-[12px] h-[4px] w-full bg-transparent laptop:top-[12px] desktop:top-[10px]",{"bg-brand-color":g===`#${t.id}`})})]},t.id))})]}),o("div",{className:"product-nav-desktop-actions hidden items-center gap-[16px] desktop:flex desktop:gap-[24px] desktop:py-[8px]",children:[a?.link&&e("a",{href:a.link,target:a.target||"_self",className:"product-nav-text-link cursor-pointer text-black hover:text-brand-color",children:e(d,{size:2,className:"text-nowrap",children:a.text})}),r?.link&&e(x,{as:"a",href:r.link,size:"sm",className:"product-nav-buy-button text-nowrap",children:r.text})]})]})});m.displayName="ProductNav";var V=L(m);export{V as default};
2
+ //# sourceMappingURL=ProductNav.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/biz-components/ProductNav/ProductNav.tsx"],
4
+ "sourcesContent": ["'use client'\nimport { useState, useEffect, forwardRef, useImperativeHandle, useRef } from 'react'\nimport { cn } from '../../helpers/utils.js'\nimport { withLayout } from '../../shared/Styles.js'\nimport { Button, Text } from '../../components/index.js'\nimport { useExposure } from '../../hooks/useExposure.js'\nimport type { ProductNavProps } from './types.js'\nimport * as Popover from '@radix-ui/react-popover'\n\nconst componentType = 'navigation'\nconst componentName = 'product_nav'\n\nconst ChevronDownIcon = (props: React.SVGProps<SVGSVGElement>) => {\n return (\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n d=\"M5 7.5L10 12.5L15 7.5\"\n stroke=\"currentColor\"\n strokeWidth=\"1.66667\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n )\n}\n\nconst ProductNav = forwardRef<HTMLDivElement, ProductNavProps>(({ className = '', data, id }, ref) => {\n const { tabLinks = [], anchorList = [], textLink, buyBtn, theme = 'light' } = data || {}\n const [hash, setHash] = useState('')\n const innerRef = useRef<HTMLDivElement>(null)\n\n useImperativeHandle(ref, () => innerRef.current as HTMLDivElement)\n\n useExposure(innerRef, {\n componentType,\n componentName,\n })\n\n // \u76D1\u542Chash\u53D8\u5316\n useEffect(() => {\n const handleHashChange = () => {\n setHash(window.location.hash)\n }\n handleHashChange()\n window.addEventListener('hashchange', handleHashChange)\n return () => {\n window.removeEventListener('hashchange', handleHashChange)\n }\n }, [])\n\n // \u5904\u7406\u951A\u70B9\u70B9\u51FB\u6EDA\u52A8\n const handleAnchorClick = (e: React.MouseEvent) => {\n const target = e.target as HTMLElement\n target.scrollIntoView({\n behavior: 'smooth',\n block: 'nearest',\n inline: 'center',\n })\n }\n\n return (\n <div\n id={id}\n ref={innerRef}\n className={cn(\n 'product-nav flex w-full justify-between py-0 text-info-primary bg-container-primary',\n {\n 'aiui-dark': theme === 'dark',\n },\n className\n )}\n >\n <div className=\"product-nav-main flex w-full flex-col justify-start desktop:flex-row desktop:gap-[48px]\">\n {/* Tab Links Section */}\n <div className=\"product-nav-header flex w-full flex-row items-center justify-between gap-[16px] pt-[14px] laptop:w-full desktop:w-fit desktop:gap-[24px] desktop:py-0\">\n <div className=\"product-nav-tabs flex flex-row items-center gap-[8px]\">\n {tabLinks.map((tabLink, index) => {\n return (\n <div key={tabLink.link || index} className=\"product-nav-tab-item flex items-center gap-[8px]\">\n <a\n href={tabLink.link}\n className={cn('product-nav-tab-link text-nowrap hover:text-brand-color text-[14px] tracking-[-0.04em] font-bold', {\n 'text-[#6D6D6F]': index !== 0,\n 'hidden desktop:block': index === 1,\n })}\n // onClick={() => onShowSpecs?.(false)}\n >\n <span>{tabLink.label}</span>\n </a>\n {index !== tabLinks.length - 1 && (\n <div className=\"product-nav-tab-divider hidden h-[14px] w-[1px] bg-[#E4E5E6] desktop:inline-block\" />\n )}\n </div>\n )\n })}\n\n {/* Mobile Dropdown */}\n {tabLinks.length > 1 && (\n <Popover.Root>\n <Popover.Trigger asChild>\n <button\n className=\"product-nav-dropdown-trigger -ml-[4px] inline-block desktop:hidden\"\n aria-label=\"More products\"\n >\n <ChevronDownIcon className=\"text-[#1D1D1F]\" />\n </button>\n </Popover.Trigger>\n <Popover.Content\n className=\"product-nav-dropdown-content rounded-[6px] border border-[#E4E5E6] bg-white p-[6px] px-[8px] py-[4px]\"\n style={{\n boxShadow: '0px 4px 8px 0px rgba(0,0,0,0.12)',\n }}\n side=\"bottom\"\n align=\"end\"\n alignOffset={10}\n sideOffset={10}\n >\n {tabLinks.slice(1).map(tabLink => (\n <a\n key={tabLink.link}\n href={tabLink.link}\n className=\"product-nav-dropdown-link text-nowrap hover:text-brand-color\"\n >\n <span>{tabLink.label}</span>\n </a>\n ))}\n </Popover.Content>\n </Popover.Root>\n )}\n </div>\n\n {/* Mobile Actions */}\n <div className=\"product-nav-mobile-actions flex items-center gap-[16px] desktop:hidden desktop:gap-[24px]\">\n {/* {specs?.text && (\n <Text\n size={2}\n onClick={handleSpecsClick}\n className=\"product-nav-specs-button cursor-pointer hover:text-brand-color\"\n >\n {specs.text}\n </Text>\n )} */}\n {textLink?.link && (\n <a\n href={textLink.link}\n target={textLink.target || '_self'}\n className=\"product-nav-text-link cursor-pointer hover:text-brand-color\"\n >\n <Text size={2} className=\"text-nowrap\">{textLink.text}</Text>\n </a>\n )}\n {buyBtn?.link && (\n <Button as=\"a\" href={buyBtn.link} size=\"sm\" className=\"product-nav-buy-button text-nowrap\">\n {buyBtn.text}\n </Button>\n )}\n </div>\n </div>\n\n {/* Anchor Navigation */}\n <div className=\"product-nav-anchors hide-scrollbar flex w-full items-center gap-[16px] overflow-x-scroll py-[12px] laptop:w-fit desktop:gap-[24px] desktop:py-[8px]\">\n {anchorList.map(anchor => (\n <a\n key={anchor.id}\n href={`#${anchor.id}`}\n className=\"product-nav-anchor-link\"\n onClick={e => {\n handleAnchorClick(e)\n }}\n >\n <Text size={2} className=\"product-nav-anchor-text text-nowrap\">\n {anchor.label}\n </Text>\n <div\n className={cn(\n 'product-nav-anchor-indicator relative top-[12px] h-[4px] w-full bg-transparent laptop:top-[12px] desktop:top-[10px]',\n {\n 'bg-brand-color': hash === `#${anchor.id}`,\n }\n )}\n />\n </a>\n ))}\n </div>\n </div>\n\n {/* Desktop Actions */}\n <div className=\"product-nav-desktop-actions hidden items-center gap-[16px] desktop:flex desktop:gap-[24px] desktop:py-[8px]\">\n {/* {specs?.text && (\n <Text\n size={2}\n onClick={handleSpecsClick}\n className=\"product-nav-specs-button cursor-pointer text-black hover:text-brand-color\"\n >\n {specs.text}\n </Text>\n )} */}\n {textLink?.link && (\n <a\n href={textLink.link}\n target={textLink.target || '_self'}\n className=\"product-nav-text-link cursor-pointer text-black hover:text-brand-color\"\n >\n <Text size={2} className=\"text-nowrap\">{textLink.text}</Text>\n </a>\n )}\n {buyBtn?.link && (\n <Button as=\"a\" href={buyBtn.link} size=\"sm\" className=\"product-nav-buy-button text-nowrap\">\n {buyBtn.text}\n </Button>\n )}\n </div>\n </div>\n )\n})\n\nProductNav.displayName = 'ProductNav'\n\nexport default withLayout(ProductNav)\n"],
5
+ "mappings": "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",
6
+ "names": ["jsx", "jsxs", "useState", "useEffect", "forwardRef", "useImperativeHandle", "useRef", "cn", "withLayout", "Button", "Text", "useExposure", "Popover", "componentType", "componentName", "ChevronDownIcon", "props", "ProductNav", "className", "data", "id", "ref", "tabLinks", "anchorList", "textLink", "buyBtn", "theme", "hash", "setHash", "innerRef", "handleHashChange", "handleAnchorClick", "e", "tabLink", "index", "anchor", "ProductNav_default"]
7
+ }
@@ -0,0 +1,2 @@
1
+ export { default } from './ProductNav.js';
2
+ export * from './types.js';
@@ -0,0 +1,2 @@
1
+ import{default as e}from"./ProductNav.js";export*from"./types.js";export{e as default};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/biz-components/ProductNav/index.ts"],
4
+ "sourcesContent": ["export { default } from './ProductNav.js'\nexport * from './types.js'"],
5
+ "mappings": "AAAA,OAAS,WAAAA,MAAe,kBACxB,WAAc",
6
+ "names": ["default"]
7
+ }
@@ -0,0 +1,35 @@
1
+ import type { ComponentCommonProps, Theme } from '../../types/props.js';
2
+ export interface TabLink {
3
+ link: string;
4
+ label: string;
5
+ }
6
+ export interface AnchorItem {
7
+ id: string;
8
+ label: string;
9
+ }
10
+ export interface BuyButton {
11
+ link: string;
12
+ text: string;
13
+ }
14
+ export interface TextLink {
15
+ /** 链接地址 */
16
+ link: string;
17
+ /** 链接文字 */
18
+ text: string;
19
+ /** 打开方式,默认为当前窗口 */
20
+ target?: '_self' | '_blank';
21
+ }
22
+ export interface ProductNavProps extends ComponentCommonProps {
23
+ data: {
24
+ /** 产品页签链接 */
25
+ tabLinks?: TabLink[];
26
+ /** 锚点导航列表 */
27
+ anchorList?: AnchorItem[];
28
+ /** 文字链接,显示在购买按钮左边 */
29
+ textLink?: TextLink;
30
+ /** 购买按钮 */
31
+ buyBtn?: BuyButton;
32
+ /** 主题,默认 light */
33
+ theme?: Theme;
34
+ };
35
+ }
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import type { ProductNavigationProps } from './types.js';
3
+ declare const _default: React.ForwardRefExoticComponent<Omit<Omit<ProductNavigationProps & React.RefAttributes<HTMLElement>, keyof import("../../shared/Styles.js").StylesProps> & Partial<import("../../shared/Styles.js").StylesProps & import("../../shared/Styles.js").ContainerProps> & {
4
+ className?: string | undefined;
5
+ data?: Record<string, any> | undefined;
6
+ }, "ref"> & React.RefAttributes<any>>;
7
+ export default _default;
@@ -0,0 +1,2 @@
1
+ export { default } from './ProductNavigation.js';
2
+ export type { ProductNavigationProps, ProductNavigationTab, ProductNavigationAction } from './types.js';
@@ -0,0 +1,45 @@
1
+ import type { Theme } from '../../types/props.js';
2
+ export interface ProductNavigationTab {
3
+ /** 标签唯一标识 */
4
+ id: string;
5
+ /** 标签标题 */
6
+ title: string;
7
+ /** 是否激活状态 */
8
+ active?: boolean;
9
+ /** 点击回调 */
10
+ onClick?: () => void;
11
+ }
12
+ export interface ProductNavigationAction {
13
+ /** 动作唯一标识 */
14
+ id: string;
15
+ /** 动作标题 */
16
+ title: string;
17
+ /** 动作类型 */
18
+ type: 'text' | 'button';
19
+ /** 按钮变体(仅当 type 为 button 时有效) */
20
+ variant?: 'primary' | 'secondary' | 'outline';
21
+ /** 按钮尺寸(仅当 type 为 button 时有效) */
22
+ size?: 'small' | 'large';
23
+ /** 点击回调 */
24
+ onClick?: () => void;
25
+ /** 链接地址 */
26
+ href?: string;
27
+ }
28
+ export interface ProductNavigationProps {
29
+ data: {
30
+ /** 产品名称 */
31
+ productName: string;
32
+ /** 导航标签列表 */
33
+ tabs: ProductNavigationTab[];
34
+ /** 右侧操作项列表 */
35
+ actions?: ProductNavigationAction[];
36
+ /** 主题 */
37
+ theme?: Theme;
38
+ };
39
+ /** 自定义类名 */
40
+ className?: string;
41
+ /** 标签点击回调 */
42
+ onTabClick?: (tab: ProductNavigationTab, index: number) => void;
43
+ /** 操作项点击回调 */
44
+ onActionClick?: (action: ProductNavigationAction, index: number) => void;
45
+ }
@@ -1,2 +1,2 @@
1
- import{Fragment as P,jsx as e,jsxs as l}from"react/jsx-runtime";import{Heading as N,Tabs as G,TabsList as W,TabsTrigger as K,TabsContent as w,Text as f,Picture as _,Link as U,Button as S,DropdownMenu as H,DropdownMenuTrigger as V,DropdownMenuContent as q,DropdownMenuItem as J,LoadingDots as C}from"../../components";import{DownArrow as Q}from"../HeaderNavigation/icons";import{useMemo as c,useRef as X,useState as L}from"react";import{cn as B,atobID as Y,highlightSearchWord as k}from"../../helpers/utils.js";import{useAiuiContext as I}from"../AiuiProvider/index.js";import{formatVariantPrice as Z}from"../ShelfDisplay/shelfDisplay";import{SearchPageTabType as u}from"./types";const O=({product:t,onSecondaryButton:o,onPrimaryButton:a,searchValue:n,variantData:g})=>{const i=c(()=>g||t?.variants?.[0],[t,g]),{locale:d="us",copyWriting:p}=I(),h=c(()=>`/products/${t?.handle}?variant=${Y(i?.id)}`,[t?.handle,i?.id]),m=i?.coupons?.[0],{price:r,basePrice:T}=Z({locale:d,amount:m?m.variant_price4wscode:i?.price,baseAmount:m?i?.price:0,currencyCode:t?.price?.currencyCode||"USD"}),y=c(()=>t?.tags?.filter?.(x=>x?.startsWith?.("CLtag"))?.map?.(x=>x?.replace?.("CLtag:",""))?.slice?.(0,2),[t?.tags]);return e("div",{className:"ipc_search_product_item lg-desktop:h-[480px] desktop:h-[384px] laptop:h-[360px] h-auto relative",children:t?.type==="advertising"?l(U,{href:t?.advertisingLink,className:"h-full",children:[e(_,{source:t?.advertisingBgImg?.url,className:"size-full",imgClassName:"size-full object-cover"}),l("div",{className:"absolute z-[2] left-0 right-0 bottom-0 top-0 p-4 desktop:p-6 [&_img]:hover:scale-110 [&_img]:hover:transition-all [&_img]:hover:duration-600",children:[e(f,{html:t?.advertisingTitle,className:"text-sm desktop:text-[18px] text-white font-bold"}),e(N,{size:3,html:t?.advertisingSubtitle,className:"font-bold mt-2 line-clamp-4 laptop:line-clamp-3 text-white"})]})]}):l("a",{href:h,className:" no-underline h-full bg-[#EAEAEC] tablet:hover:bg-info-white duration-300 flex flex-col desktop:p-6 desktop:pt-4 px-2 py-4 tablet:p-4",children:[e("div",{className:"ipc_search_product_item_image",children:e(_,{className:"lg-desktop:w-[196px] lg-desktop:h-[196px] w-[138px] h-[138px] mx-auto",source:`${i?.image?.url||t?.images?.[0]?.url}}`,alt:t.title,imgClassName:"object-cover size-full"})}),l("div",{className:"ipc_search_product_item_content flex-1 mt-1 desktop:mt-2 lg-desktop:mt-3 flex flex-col justify-between desktop:gap-6 gap-4",children:[l("div",{className:"flex-1",children:[e("div",{className:"flex gap-2 mb-2 lg-desktop:h-[28px] h-[24px] mb-1",children:y?.map(x=>e(f,{as:"p",html:x,className:"text-brand-0 h-full rounded-full border-[1.6px] lg-desktop:px-2 px-[6px] border-[#00BEFA] text-sm font-bold !leading-[24px] lg-desktop:!leading-[28px]"}))}),e(f,{className:"text-xl desktop:text-2xl font-bold !leading-[1.2] line-clamp-3 tablet:line-clamp-2",weight:"bold",html:k(t?.title||"",n||"")}),e(f,{as:"p",className:"text-sm lg-desktop:text-[18px] mt-1 font-bold line-clamp-2 tablet:line-clamp-1",html:k(t.description,n||"")})]}),l("div",{children:[e("div",{className:"mb-2 flex items-center",children:i?.availableForSale?l(P,{children:[e("div",{className:"final-price text-info-primary text-[18px] tablet:text-xl lg-desktop:text-2xl font-bold",children:i?.availableForSale&&r||""}),e("div",{className:"origin-price text-[18px] tablet:text-xl lg-desktop:text-2xl text-info-secondary ml-1 font-bold line-through",children:i?.availableForSale&&T||""})]}):e("div",{className:"text-info-primary text-[18px] tablet:text-xl lg-desktop:text-2xl font-bold",children:p?.soldOutText||"Sold Out"})}),l("div",{className:B("ipc_search_product_item_button_group","lg-desktop:gap-3 flex flex-col laptop:flex-row items-center gap-2"),children:[p?.learnMoreText&&e(S,{variant:"secondary",className:"w-full laptop:w-auto",size:"lg",disabled:!i?.availableForSale,onClick:()=>o?.(),children:p?.learnMoreText}),p?.shopNowText&&e(S,{variant:"primary",className:"w-full laptop:w-auto",size:"lg",disabled:!i?.availableForSale,onClick:()=>a?.(),children:p?.shopNowText})]})]})]})]})})},ee=({blog:t,searchValue:o})=>{const{copyWriting:a}=I(),n=c(()=>`blogs/${t?.handle}/${t?.handle.replace("storefront-","")}`,[t]);return e("div",{className:"ipc_search_blog_item py-6 border-b border-[#E4E5E6]",children:l("div",{className:"ipc_search_blog_item_content flex flex-col gap-4 laptop:flex-row-reverse laptop:gap-8 desktop:gap-16",children:[e("div",{className:"laptop:flex-[440] desktop:flex-[540] h-[240px] desktop:h-[280px]",children:e(_,{source:t?.image?.url,className:"size-full",imgClassName:"size-full object-cover",alt:t?.title})}),l("div",{className:"laptop:flex-[424] flex flex-col justify-center desktop:flex-[704] lg-desktop:flex-[1056]",children:[e(N,{size:3,html:k(t?.title,o)}),e(f,{html:k(t?.content,o),className:"text-sm lg-desktop:text-[18px] desktop:text-[16px] font-bold leading-[1.4] mt-1 line-clamp-2"}),e("div",{className:"mt-4 desktop:mt-6",children:e(S,{as:"a",href:n,variant:"secondary",size:"lg",children:a?.learnMoreText||"Learn More"})})]})]})})},te=({searchValue:t,page:o})=>{const{copyWriting:a,locale:n="us"}=I(),g=c(()=>`${n==="us"?"":`/${n}`}/${o?.handle}`,[o,n]);return l("div",{className:"ipc_search_page_items py-6 border-b border-[#E4E5E6]",children:[e(N,{size:3,html:k(o?.name,t)}),e(f,{as:"p",html:k(o?.bodySummary||"",t),className:"text-sm lg-desktop:text-[18px] desktop:text-[16px] font-bold leading-[1.4] mt-1"}),e(S,{as:"a",href:g,variant:"secondary",size:"lg",className:"mt-4 desktop:mt-6",children:a?.learnMoreText||"Learn More"})]})},D=({url:t,label:o})=>l("div",{className:"flex flex-col gap-4 items-center justify-center",children:[e(_,{source:t,className:"w-[240px] h-[180px]",imgClassName:"object-cover"}),e(f,{html:o,className:"desktop:text-[18px] font-bold text-sm leading-[1.4]"})]}),E=({products:t,title:o,buildProps:a,onSecondaryButton:n,onPrimaryButton:g})=>{const{products:i}=a||{};return l("div",{className:"ipc_search_recommend_product tablet:pt-[80px] laptop:pt-[96px] desktop:pt-[112px] lg-desktop:pt-[128px] pt-[64px]",children:[e(N,{size:4,weight:"bold",html:o}),e("div",{className:" grid grid-cols-2 gap-y-4 gap-x-3 mt-6 tablet:grid-cols-3 desktop:grid-cols-4 desktop:gap-4",children:t?.map((d,p)=>{const h=i?.find(r=>r.handle===d.handle),m=h?.variants?.find(r=>r.sku===d.sku);return e(O,{product:h,variantData:m,onSecondaryButton:()=>n?.(),onPrimaryButton:()=>g?.()},d.id+p)})})]})},se=({searchResult:t,searchValue:o,data:a,onSecondaryButton:n,onPrimaryButton:g,onChangeSort:i,loading:d,searchResultCount:p,onChangeTab:h,buildProps:m})=>{const[r,T]=L(a?.tabs?.[0]),y=X(!1),[x,R]=L(!1),[z,j]=L({[u.PRODUCTS]:a?.tabs?.find(s=>s.tabType===u.PRODUCTS)?.sortKeys?.[0],[u.BLOGS]:a?.tabs?.find(s=>s.tabType===u.BLOGS)?.sortKeys?.[0],[u.PAGES]:a?.tabs?.find(s=>s.tabType===u.PAGES)?.sortKeys?.[0]}),b=c(()=>t?.products||[],[t]),M=c(()=>t?.blogs||[],[t]),A=c(()=>t?.pages||[],[t]),$=c(()=>Object.values(p||{}).reduce((s,v)=>s+v,0),[p]),F=c(()=>{const s={advertisingBgImg:r?.advertisingBgImg,advertisingTitle:r?.advertisingTitle,advertisingSubtitle:r?.advertisingSubtitle,advertisingLink:r?.advertisingLink,type:"advertising"};return!y.current&&b?.length&&(b?.length>=8?(b?.splice(7,0,s),y.current=!0):(b?.push(s),y.current=!0)),b},[r,b]);return l("div",{className:"ipc_search_page desktop:py-[128px] py-16 tablet:px-8 laptop:px-16 desktop:px-16 lg-desktop:px-[calc(50%-832px)] px-4",children:[e(N,{size:4,weight:"bold",html:a?.title?.replace("$totalCount",$?.toString())?.replace("$inputValue",`"${o}"`)}),e("div",{className:"mt-6",children:l(G,{className:"ipc_search_page_tabs",defaultValue:"products",children:[l("div",{className:"desktop:flex desktop:items-center desktop:flex-row desktop:gap-6 desktop:justify-between",children:[e(W,{children:a?.tabs?.map(s=>l(K,{onClick:()=>{T(s),h?.(s?.tabType)},defaultValue:"products",value:s.tabType,children:[s.label," (",p?.[s.tabType],")"]},s.id))}),l(H,{onOpenChange:R,children:[e(V,{asChild:!0,children:l("button",{className:"text-base mt-6 desktop:mt-0 leading-[1.2] font-bold flex items-center",children:[r?.sortLabel," ",z?.[r?.tabType]?.label," ",e(Q,{className:B("size-4 inline-block",{"rotate-180":x})})]})}),e(q,{align:"start",sideOffset:8,className:"bg-white py-2 !px-0 rounded-none",children:r?.sortKeys?.map(s=>e(J,{className:B("px-3 laptop:px-4 py-4 text-sm laptop:text-base font-bold hover:bg-[#EAEAEC] hover:text-current",{"font-bold":z?.[r?.tabType]?.value===s.value}),onClick:()=>{y.current=!1,i?.(r?.tabType,s),j(v=>({...v,[r?.tabType]:s}))},children:s.label},s.id))})]})]}),l(w,{value:u.PRODUCTS,className:"ipc_search_page_tabs_products_content mt-6",children:[e("div",{className:"grid grid-cols-2 gap-y-4 gap-x-3 tablet:grid-cols-3 desktop:grid-cols-4 desktop:gap-4",children:F?.map((s,v)=>e(O,{searchValue:o,product:s,onSecondaryButton:()=>n?.(s),onPrimaryButton:()=>g?.(s)},s.id+v))}),d?e("div",{className:"flex w-full mt-6 justify-center",children:e(C,{})}):!b?.length&&l(P,{children:[e(D,{url:a?.noResultImage?.url,label:a?.noResultLabel}),e(E,{products:a?.recommendProducts||[],buildProps:m,title:a?.recommendProductsTitle})]})]}),e(w,{value:u.BLOGS,className:"ipc_search_page_tabs_blogs_content",children:l("div",{children:[M?.map(s=>e(ee,{blog:s,searchValue:o},s.id)),d?e("div",{className:"flex mt-6 justify-center",children:e(C,{})}):!M?.length&&l(P,{children:[e(D,{url:a?.noResultImage?.url,label:a?.noResultLabel}),e(E,{products:a?.recommendProducts||[],buildProps:m,title:a?.recommendProductsTitle})]})]})}),l(w,{value:u.PAGES,className:"ipc_search_page_tabs_pages_content",children:[e("div",{children:A?.map((s,v)=>e(te,{page:s,searchValue:o},s.global_id+v))}),d?e("div",{className:"flex mt-6 justify-center",children:e(C,{})}):!A?.length&&l(P,{children:[e(D,{url:a?.noResultImage?.url,label:a?.noResultLabel}),e(E,{products:a?.recommendProducts||[],buildProps:m,title:a?.recommendProductsTitle})]})]})]})})]})};var me=se;export{me as default};
1
+ import{Fragment as P,jsx as e,jsxs as l}from"react/jsx-runtime";import{Heading as N,Tabs as G,TabsList as W,TabsTrigger as K,TabsContent as w,Text as f,Picture as _,Link as U,Button as S,DropdownMenu as H,DropdownMenuTrigger as V,DropdownMenuContent as q,DropdownMenuItem as J,LoadingDots as C}from"../../components";import{DownArrow as Q}from"../HeaderNavigation/icons";import{useMemo as c,useRef as X,useState as L}from"react";import{cn as B,atobID as Y,highlightSearchWord as k}from"../../helpers/utils.js";import{useAiuiContext as I}from"../AiuiProvider/index.js";import{formatVariantPrice as Z}from"../ShelfDisplay/shelfDisplay";import{SearchPageTabType as u}from"./types";const O=({product:t,onSecondaryButton:o,onPrimaryButton:a,searchValue:n,variantData:g})=>{const i=c(()=>g||t?.variants?.[0],[t,g]),{locale:d="us",copyWriting:p}=I(),h=c(()=>`/products/${t?.handle}?variant=${Y(i?.id)}`,[t?.handle,i?.id]),m=i?.coupons?.[0],{price:r,basePrice:T}=Z({locale:d,amount:m?m.variant_price4wscode:i?.price,baseAmount:m?i?.price:0,currencyCode:t?.price?.currencyCode||"USD"}),y=c(()=>t?.tags?.filter?.(x=>x?.startsWith?.("CLtag"))?.map?.(x=>x?.replace?.("CLtag:",""))?.slice?.(0,2),[t?.tags]);return e("div",{className:"ipc_search_product_item lg-desktop:h-[480px] desktop:h-[384px] laptop:h-[360px] h-auto relative",children:t?.type==="advertising"?l(U,{href:t?.advertisingLink,className:"h-full",children:[e(_,{source:t?.advertisingBgImg?.url,className:"size-full",imgClassName:"size-full object-cover"}),l("div",{className:"absolute z-[2] left-0 right-0 bottom-0 top-0 p-4 desktop:p-6 [&_img]:hover:scale-105 [&_img]:hover:transition-all [&_img]:hover:duration-300",children:[e(f,{html:t?.advertisingTitle,className:"text-sm desktop:text-[18px] text-white font-bold"}),e(N,{size:3,html:t?.advertisingSubtitle,className:"font-bold mt-2 line-clamp-4 laptop:line-clamp-3 text-white"})]})]}):l("a",{href:h,className:" no-underline h-full bg-[#EAEAEC] tablet:hover:bg-info-white duration-300 flex flex-col desktop:p-6 desktop:pt-4 px-2 py-4 tablet:p-4",children:[e("div",{className:"ipc_search_product_item_image",children:e(_,{className:"lg-desktop:w-[196px] lg-desktop:h-[196px] w-[138px] h-[138px] mx-auto",source:`${i?.image?.url||t?.images?.[0]?.url}}`,alt:t.title,imgClassName:"object-cover size-full"})}),l("div",{className:"ipc_search_product_item_content flex-1 mt-1 desktop:mt-2 lg-desktop:mt-3 flex flex-col justify-between desktop:gap-6 gap-4",children:[l("div",{className:"flex-1",children:[e("div",{className:"flex gap-2 mb-2 lg-desktop:h-[28px] h-[24px] mb-1",children:y?.map(x=>e(f,{as:"p",html:x,className:"text-brand-0 h-full rounded-full border-[1.6px] lg-desktop:px-2 px-[6px] border-[#00BEFA] text-sm font-bold !leading-[24px] lg-desktop:!leading-[28px]"}))}),e(f,{className:"text-xl desktop:text-2xl font-bold !leading-[1.2] line-clamp-3 tablet:line-clamp-2",weight:"bold",html:k(t?.title||"",n||"")}),e(f,{as:"p",className:"text-sm lg-desktop:text-[18px] mt-1 font-bold line-clamp-2 tablet:line-clamp-1",html:k(t.description,n||"")})]}),l("div",{children:[e("div",{className:"mb-2 flex items-center",children:i?.availableForSale?l(P,{children:[e("div",{className:"final-price text-info-primary text-[18px] tablet:text-xl lg-desktop:text-2xl font-bold",children:i?.availableForSale&&r||""}),e("div",{className:"origin-price text-[18px] tablet:text-xl lg-desktop:text-2xl text-info-secondary ml-1 font-bold line-through",children:i?.availableForSale&&T||""})]}):e("div",{className:"text-info-primary text-[18px] tablet:text-xl lg-desktop:text-2xl font-bold",children:p?.soldOutText||"Sold Out"})}),l("div",{className:B("ipc_search_product_item_button_group","lg-desktop:gap-3 flex flex-col laptop:flex-row items-center gap-2"),children:[p?.learnMoreText&&e(S,{variant:"secondary",className:"w-full laptop:w-auto",size:"lg",disabled:!i?.availableForSale,onClick:()=>o?.(),children:p?.learnMoreText}),p?.shopNowText&&e(S,{variant:"primary",className:"w-full laptop:w-auto",size:"lg",disabled:!i?.availableForSale,onClick:()=>a?.(),children:p?.shopNowText})]})]})]})]})})},ee=({blog:t,searchValue:o})=>{const{copyWriting:a}=I(),n=c(()=>`blogs/${t?.handle}/${t?.handle.replace("storefront-","")}`,[t]);return e("div",{className:"ipc_search_blog_item py-6 border-b border-[#E4E5E6]",children:l("div",{className:"ipc_search_blog_item_content flex flex-col gap-4 laptop:flex-row-reverse laptop:gap-8 desktop:gap-16",children:[e("div",{className:"laptop:flex-[440] desktop:flex-[540] h-[240px] desktop:h-[280px]",children:e(_,{source:t?.image?.url,className:"size-full",imgClassName:"size-full object-cover",alt:t?.title})}),l("div",{className:"laptop:flex-[424] flex flex-col justify-center desktop:flex-[704] lg-desktop:flex-[1056]",children:[e(N,{size:3,html:k(t?.title,o)}),e(f,{html:k(t?.content,o),className:"text-sm lg-desktop:text-[18px] desktop:text-[16px] font-bold leading-[1.4] mt-1 line-clamp-2"}),e("div",{className:"mt-4 desktop:mt-6",children:e(S,{as:"a",href:n,variant:"secondary",size:"lg",children:a?.learnMoreText||"Learn More"})})]})]})})},te=({searchValue:t,page:o})=>{const{copyWriting:a,locale:n="us"}=I(),g=c(()=>`${n==="us"?"":`/${n}`}/${o?.handle}`,[o,n]);return l("div",{className:"ipc_search_page_items py-6 border-b border-[#E4E5E6]",children:[e(N,{size:3,html:k(o?.name,t)}),e(f,{as:"p",html:k(o?.bodySummary||"",t),className:"text-sm lg-desktop:text-[18px] desktop:text-[16px] font-bold leading-[1.4] mt-1"}),e(S,{as:"a",href:g,variant:"secondary",size:"lg",className:"mt-4 desktop:mt-6",children:a?.learnMoreText||"Learn More"})]})},D=({url:t,label:o})=>l("div",{className:"flex flex-col gap-4 items-center justify-center",children:[e(_,{source:t,className:"w-[240px] h-[180px]",imgClassName:"object-cover"}),e(f,{html:o,className:"desktop:text-[18px] font-bold text-sm leading-[1.4]"})]}),E=({products:t,title:o,buildProps:a,onSecondaryButton:n,onPrimaryButton:g})=>{const{products:i}=a||{};return l("div",{className:"ipc_search_recommend_product tablet:pt-[80px] laptop:pt-[96px] desktop:pt-[112px] lg-desktop:pt-[128px] pt-[64px]",children:[e(N,{size:4,weight:"bold",html:o}),e("div",{className:" grid grid-cols-2 gap-y-4 gap-x-3 mt-6 tablet:grid-cols-3 desktop:grid-cols-4 desktop:gap-4",children:t?.map((d,p)=>{const h=i?.find(r=>r.handle===d.handle),m=h?.variants?.find(r=>r.sku===d.sku);return e(O,{product:h,variantData:m,onSecondaryButton:()=>n?.(),onPrimaryButton:()=>g?.()},d.id+p)})})]})},se=({searchResult:t,searchValue:o,data:a,onSecondaryButton:n,onPrimaryButton:g,onChangeSort:i,loading:d,searchResultCount:p,onChangeTab:h,buildProps:m})=>{const[r,T]=L(a?.tabs?.[0]),y=X(!1),[x,R]=L(!1),[z,j]=L({[u.PRODUCTS]:a?.tabs?.find(s=>s.tabType===u.PRODUCTS)?.sortKeys?.[0],[u.BLOGS]:a?.tabs?.find(s=>s.tabType===u.BLOGS)?.sortKeys?.[0],[u.PAGES]:a?.tabs?.find(s=>s.tabType===u.PAGES)?.sortKeys?.[0]}),b=c(()=>t?.products||[],[t]),M=c(()=>t?.blogs||[],[t]),A=c(()=>t?.pages||[],[t]),$=c(()=>Object.values(p||{}).reduce((s,v)=>s+v,0),[p]),F=c(()=>{const s={advertisingBgImg:r?.advertisingBgImg,advertisingTitle:r?.advertisingTitle,advertisingSubtitle:r?.advertisingSubtitle,advertisingLink:r?.advertisingLink,type:"advertising"};return!y.current&&b?.length&&(b?.length>=8?(b?.splice(7,0,s),y.current=!0):(b?.push(s),y.current=!0)),b},[r,b]);return l("div",{className:"ipc_search_page desktop:py-[128px] py-16 tablet:px-8 laptop:px-16 desktop:px-16 lg-desktop:px-[calc(50%-832px)] px-4",children:[e(N,{size:4,weight:"bold",html:a?.title?.replace("$totalCount",$?.toString())?.replace("$inputValue",`"${o}"`)}),e("div",{className:"mt-6",children:l(G,{className:"ipc_search_page_tabs",defaultValue:"products",children:[l("div",{className:"desktop:flex desktop:items-center desktop:flex-row desktop:gap-6 desktop:justify-between",children:[e(W,{children:a?.tabs?.map(s=>l(K,{onClick:()=>{T(s),h?.(s?.tabType)},defaultValue:"products",value:s.tabType,children:[s.label," (",p?.[s.tabType],")"]},s.id))}),l(H,{onOpenChange:R,children:[e(V,{asChild:!0,children:l("button",{className:"text-base mt-6 desktop:mt-0 leading-[1.2] font-bold flex items-center",children:[r?.sortLabel," ",z?.[r?.tabType]?.label," ",e(Q,{className:B("size-4 inline-block",{"rotate-180":x})})]})}),e(q,{align:"start",sideOffset:8,className:"bg-white py-2 !px-0 rounded-none",children:r?.sortKeys?.map(s=>e(J,{className:B("px-3 laptop:px-4 py-4 text-sm laptop:text-base font-bold hover:bg-[#EAEAEC] hover:text-current",{"font-bold":z?.[r?.tabType]?.value===s.value}),onClick:()=>{y.current=!1,i?.(r?.tabType,s),j(v=>({...v,[r?.tabType]:s}))},children:s.label},s.id))})]})]}),l(w,{value:u.PRODUCTS,className:"ipc_search_page_tabs_products_content mt-6",children:[e("div",{className:"grid grid-cols-2 gap-y-4 gap-x-3 tablet:grid-cols-3 desktop:grid-cols-4 desktop:gap-4",children:F?.map((s,v)=>e(O,{searchValue:o,product:s,onSecondaryButton:()=>n?.(s),onPrimaryButton:()=>g?.(s)},s.id+v))}),d?e("div",{className:"flex w-full mt-6 justify-center",children:e(C,{})}):!b?.length&&l(P,{children:[e(D,{url:a?.noResultImage?.url,label:a?.noResultLabel}),e(E,{products:a?.recommendProducts||[],buildProps:m,title:a?.recommendProductsTitle})]})]}),e(w,{value:u.BLOGS,className:"ipc_search_page_tabs_blogs_content",children:l("div",{children:[M?.map(s=>e(ee,{blog:s,searchValue:o},s.id)),d?e("div",{className:"flex mt-6 justify-center",children:e(C,{})}):!M?.length&&l(P,{children:[e(D,{url:a?.noResultImage?.url,label:a?.noResultLabel}),e(E,{products:a?.recommendProducts||[],buildProps:m,title:a?.recommendProductsTitle})]})]})}),l(w,{value:u.PAGES,className:"ipc_search_page_tabs_pages_content",children:[e("div",{children:A?.map((s,v)=>e(te,{page:s,searchValue:o},s.global_id+v))}),d?e("div",{className:"flex mt-6 justify-center",children:e(C,{})}):!A?.length&&l(P,{children:[e(D,{url:a?.noResultImage?.url,label:a?.noResultLabel}),e(E,{products:a?.recommendProducts||[],buildProps:m,title:a?.recommendProductsTitle})]})]})]})})]})};var me=se;export{me as default};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/biz-components/SearchPage/index.tsx"],
4
- "sourcesContent": ["import {\n Heading,\n Tabs,\n TabsList,\n TabsTrigger,\n TabsContent,\n Text,\n Picture,\n Link,\n Button,\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuLabel,\n LoadingDots,\n} from '../../components'\nimport { DownArrow } from '../HeaderNavigation/icons'\nimport { useEffect, useMemo, useRef, useState } from 'react'\nimport { cn, atobID, highlightSearchWord } from '../../helpers/utils.js'\nimport { useAiuiContext } from '../AiuiProvider/index.js'\nimport { formatVariantPrice } from '../ShelfDisplay/shelfDisplay'\nimport type {\n SearchPageProps,\n SortKey,\n SearchProductItemProps,\n SearchBlogItemProps,\n SearchPageItemProps,\n SearchRecommendProductsProps,\n} from './types'\nimport { SearchPageTabType } from './types'\n\n/**\n * \u641C\u7D22\u5546\u54C1\n */\nconst SearchProductItem = ({\n product,\n onSecondaryButton,\n onPrimaryButton,\n searchValue,\n variantData,\n}: SearchProductItemProps) => {\n const variant = useMemo(() => variantData || product?.variants?.[0], [product, variantData])\n const { locale = 'us', copyWriting } = useAiuiContext()\n\n const listingLink = useMemo(() => {\n return `/products/${product?.handle}?variant=${atobID(variant?.id as string)}`\n }, [product?.handle, variant?.id])\n\n const coupon = variant?.coupons?.[0]\n\n const { price, basePrice } = formatVariantPrice({\n locale: locale,\n amount: coupon ? coupon.variant_price4wscode : variant?.price,\n baseAmount: coupon ? variant?.price : 0,\n currencyCode: product?.price?.currencyCode || 'USD',\n })\n\n const tags = useMemo(() => {\n return product?.tags\n ?.filter?.((item: any) => item?.startsWith?.('CLtag'))\n ?.map?.((item: any) => item?.replace?.('CLtag:', ''))\n ?.slice?.(0, 2)\n }, [product?.tags])\n\n return (\n <div className=\"ipc_search_product_item lg-desktop:h-[480px] desktop:h-[384px] laptop:h-[360px] h-auto relative\">\n {product?.type === 'advertising' ? (\n <Link href={product?.advertisingLink} className=\"h-full\">\n <Picture\n source={product?.advertisingBgImg?.url}\n className=\"size-full\"\n imgClassName=\"size-full object-cover\"\n />\n <div className=\"absolute z-[2] left-0 right-0 bottom-0 top-0 p-4 desktop:p-6 [&_img]:hover:scale-110 [&_img]:hover:transition-all [&_img]:hover:duration-600\">\n <Text html={product?.advertisingTitle} className=\"text-sm desktop:text-[18px] text-white font-bold\" />\n <Heading\n size={3}\n html={product?.advertisingSubtitle}\n className=\"font-bold mt-2 line-clamp-4 laptop:line-clamp-3 text-white\"\n />\n </div>\n </Link>\n ) : (\n <a\n href={listingLink}\n className=\" no-underline h-full bg-[#EAEAEC] tablet:hover:bg-info-white duration-300 flex flex-col desktop:p-6 desktop:pt-4 px-2 py-4 tablet:p-4\"\n >\n <div className=\"ipc_search_product_item_image\">\n <Picture\n className=\"lg-desktop:w-[196px] lg-desktop:h-[196px] w-[138px] h-[138px] mx-auto\"\n source={`${variant?.image?.url || product?.images?.[0]?.url}}`}\n alt={product.title}\n imgClassName=\"object-cover size-full\"\n />\n </div>\n <div className=\"ipc_search_product_item_content flex-1 mt-1 desktop:mt-2 lg-desktop:mt-3 flex flex-col justify-between desktop:gap-6 gap-4\">\n <div className=\"flex-1\">\n <div className=\"flex gap-2 mb-2 lg-desktop:h-[28px] h-[24px] mb-1\">\n {tags?.map((tag: string) => (\n <Text\n as=\"p\"\n html={tag}\n className=\"text-brand-0 h-full rounded-full border-[1.6px] lg-desktop:px-2 px-[6px] border-[#00BEFA] text-sm font-bold !leading-[24px] lg-desktop:!leading-[28px]\"\n />\n ))}\n </div>\n <Text\n className=\"text-xl desktop:text-2xl font-bold !leading-[1.2] line-clamp-3 tablet:line-clamp-2\"\n weight=\"bold\"\n html={highlightSearchWord(product?.title || '', searchValue || '')}\n />\n <Text\n as=\"p\"\n className=\"text-sm lg-desktop:text-[18px] mt-1 font-bold line-clamp-2 tablet:line-clamp-1\"\n html={highlightSearchWord(product.description, searchValue || '')}\n />\n </div>\n <div>\n <div className=\"mb-2 flex items-center\">\n {!variant?.availableForSale ? (\n <div className=\"text-info-primary text-[18px] tablet:text-xl lg-desktop:text-2xl font-bold\">\n {copyWriting?.soldOutText || 'Sold Out'}\n </div>\n ) : (\n <>\n <div className=\"final-price text-info-primary text-[18px] tablet:text-xl lg-desktop:text-2xl font-bold\">\n {variant?.availableForSale ? price || '' : ''}\n </div>\n <div className=\"origin-price text-[18px] tablet:text-xl lg-desktop:text-2xl text-info-secondary ml-1 font-bold line-through\">\n {variant?.availableForSale ? basePrice || '' : ''}\n </div>\n </>\n )}\n </div>\n <div\n className={cn(\n 'ipc_search_product_item_button_group',\n 'lg-desktop:gap-3 flex flex-col laptop:flex-row items-center gap-2'\n )}\n >\n {copyWriting?.learnMoreText && (\n <Button\n variant=\"secondary\"\n className=\"w-full laptop:w-auto\"\n size=\"lg\"\n disabled={!variant?.availableForSale}\n onClick={() => onSecondaryButton?.()}\n >\n {copyWriting?.learnMoreText}\n </Button>\n )}\n {copyWriting?.shopNowText && (\n <Button\n variant=\"primary\"\n className=\"w-full laptop:w-auto\"\n size=\"lg\"\n disabled={!variant?.availableForSale}\n onClick={() => onPrimaryButton?.()}\n >\n {copyWriting?.shopNowText}\n </Button>\n )}\n </div>\n </div>\n </div>\n </a>\n )}\n </div>\n )\n}\n\n/**\n * \u641C\u7D22\u6587\u7AE0\n */\nconst SearchBlogItem = ({ blog, searchValue }: SearchBlogItemProps) => {\n const { copyWriting } = useAiuiContext()\n\n const articleLink = useMemo(() => `blogs/${blog?.handle}/${blog?.handle.replace('storefront-', '')}`, [blog])\n\n return (\n <div className=\"ipc_search_blog_item py-6 border-b border-[#E4E5E6]\">\n <div className=\"ipc_search_blog_item_content flex flex-col gap-4 laptop:flex-row-reverse laptop:gap-8 desktop:gap-16\">\n <div className=\"laptop:flex-[440] desktop:flex-[540] h-[240px] desktop:h-[280px]\">\n <Picture\n source={blog?.image?.url}\n className=\"size-full\"\n imgClassName=\"size-full object-cover\"\n alt={blog?.title}\n />\n </div>\n <div className=\"laptop:flex-[424] flex flex-col justify-center desktop:flex-[704] lg-desktop:flex-[1056]\">\n <Heading size={3} html={highlightSearchWord(blog?.title, searchValue)} />\n <Text\n html={highlightSearchWord(blog?.content, searchValue)}\n className=\"text-sm lg-desktop:text-[18px] desktop:text-[16px] font-bold leading-[1.4] mt-1 line-clamp-2\"\n />\n <div className=\"mt-4 desktop:mt-6\">\n <Button as=\"a\" href={articleLink} variant=\"secondary\" size=\"lg\">\n {copyWriting?.learnMoreText || 'Learn More'}\n </Button>\n </div>\n </div>\n </div>\n </div>\n )\n}\n\n/**\n * \u641C\u7D22\u9875\u9762\n */\nconst SearchPageItem = ({ searchValue, page }: SearchPageItemProps) => {\n const { copyWriting, locale = 'us' } = useAiuiContext()\n const pageLink = useMemo(() => `${locale === 'us' ? '' : `/${locale}`}/${page?.handle}`, [page, locale])\n return (\n <div className=\"ipc_search_page_items py-6 border-b border-[#E4E5E6]\">\n <Heading size={3} html={highlightSearchWord(page?.name, searchValue)} />\n <Text\n as=\"p\"\n html={highlightSearchWord(page?.bodySummary || '', searchValue)}\n className=\"text-sm lg-desktop:text-[18px] desktop:text-[16px] font-bold leading-[1.4] mt-1\"\n />\n <Button as=\"a\" href={pageLink} variant=\"secondary\" size=\"lg\" className=\"mt-4 desktop:mt-6\">\n {copyWriting?.learnMoreText || 'Learn More'}\n </Button>\n </div>\n )\n}\n\n/**\n * \u641C\u7D22\u7ED3\u679C\u4E3A\u7A7A\n */\nconst SearchPageNoResult = ({ url, label }: { url: string; label: string }) => {\n return (\n <div className=\"flex flex-col gap-4 items-center justify-center\">\n <Picture source={url} className=\"w-[240px] h-[180px]\" imgClassName=\"object-cover\" />\n <Text html={label} className=\"desktop:text-[18px] font-bold text-sm leading-[1.4]\" />\n </div>\n )\n}\n\n/**\n * \u641C\u7D22\u63A8\u8350\u5546\u54C1\n */\nconst SearchRecommendProducts = ({\n products,\n title,\n buildProps,\n onSecondaryButton,\n onPrimaryButton,\n}: SearchRecommendProductsProps) => {\n const { products: buildProducts } = buildProps || {}\n return (\n <div className=\"ipc_search_recommend_product tablet:pt-[80px] laptop:pt-[96px] desktop:pt-[112px] lg-desktop:pt-[128px] pt-[64px]\">\n <Heading size={4} weight=\"bold\" html={title} />\n <div className=\" grid grid-cols-2 gap-y-4 gap-x-3 mt-6 tablet:grid-cols-3 desktop:grid-cols-4 desktop:gap-4\">\n {products?.map((product: any, index: number) => {\n const buildProduct = buildProducts?.find((buildProduct: any) => buildProduct.handle === product.handle)\n const variant = buildProduct?.variants?.find((variant: any) => variant.sku === product.sku)\n return (\n <SearchProductItem\n product={buildProduct}\n variantData={variant}\n key={product.id + index}\n onSecondaryButton={() => onSecondaryButton?.()}\n onPrimaryButton={() => onPrimaryButton?.()}\n />\n )\n })}\n </div>\n </div>\n )\n}\n\n/**\n * \u641C\u7D22\u9875\u9762\n */\nconst SearchPage = ({\n searchResult,\n searchValue,\n data,\n onSecondaryButton,\n onPrimaryButton,\n // loadMore,\n onChangeSort,\n loading,\n searchResultCount,\n onChangeTab,\n buildProps,\n}: SearchPageProps) => {\n const [currentTab, setCurrentTab] = useState<any>(data?.tabs?.[0])\n const isInsertAdvertising = useRef(false)\n const [isOpenSort, setIsOpenSort] = useState(false)\n const [currentSortKey, setCurrentSortKey] = useState<any>({\n [SearchPageTabType.PRODUCTS]: data?.tabs?.find((tab: any) => tab.tabType === SearchPageTabType.PRODUCTS)\n ?.sortKeys?.[0],\n [SearchPageTabType.BLOGS]: data?.tabs?.find((tab: any) => tab.tabType === SearchPageTabType.BLOGS)?.sortKeys?.[0],\n [SearchPageTabType.PAGES]: data?.tabs?.find((tab: any) => tab.tabType === SearchPageTabType.PAGES)?.sortKeys?.[0],\n })\n\n const searchProductsResult = useMemo(() => {\n return searchResult?.products || []\n }, [searchResult])\n\n const searchBlogsResult = useMemo(() => {\n return searchResult?.blogs || []\n }, [searchResult])\n\n const searchPagesResult = useMemo(() => {\n return searchResult?.pages || []\n }, [searchResult])\n\n const totalCount = useMemo(() => {\n return Object.values(searchResultCount || {}).reduce((acc, curr) => acc + curr, 0)\n }, [searchResultCount])\n\n const searchProductsResultWithAdvertising = useMemo(() => {\n const advertisingData = {\n advertisingBgImg: currentTab?.advertisingBgImg,\n advertisingTitle: currentTab?.advertisingTitle,\n advertisingSubtitle: currentTab?.advertisingSubtitle,\n advertisingLink: currentTab?.advertisingLink,\n type: 'advertising',\n }\n if (!isInsertAdvertising.current && !!searchProductsResult?.length) {\n if (searchProductsResult?.length >= 8) {\n searchProductsResult?.splice(7, 0, advertisingData)\n isInsertAdvertising.current = true\n } else {\n searchProductsResult?.push(advertisingData)\n isInsertAdvertising.current = true\n }\n }\n return searchProductsResult\n }, [currentTab, searchProductsResult])\n\n return (\n <div className=\"ipc_search_page desktop:py-[128px] py-16 tablet:px-8 laptop:px-16 desktop:px-16 lg-desktop:px-[calc(50%-832px)] px-4\">\n <Heading\n size={4}\n weight=\"bold\"\n html={data?.title?.replace('$totalCount', totalCount?.toString())?.replace('$inputValue', `\"${searchValue}\"`)}\n />\n <div className=\"mt-6\">\n <Tabs className=\"ipc_search_page_tabs\" defaultValue=\"products\">\n <div className=\"desktop:flex desktop:items-center desktop:flex-row desktop:gap-6 desktop:justify-between\">\n <TabsList>\n {data?.tabs?.map((tab: any) => (\n <TabsTrigger\n onClick={() => {\n setCurrentTab(tab)\n onChangeTab?.(tab?.tabType)\n }}\n key={tab.id}\n defaultValue=\"products\"\n value={tab.tabType}\n >\n {tab.label} ({searchResultCount?.[tab.tabType as keyof typeof searchResultCount]})\n </TabsTrigger>\n ))}\n </TabsList>\n <DropdownMenu onOpenChange={setIsOpenSort}>\n <DropdownMenuTrigger asChild>\n <button className=\"text-base mt-6 desktop:mt-0 leading-[1.2] font-bold flex items-center\">\n {currentTab?.sortLabel} {currentSortKey?.[currentTab?.tabType]?.label}{' '}\n <DownArrow\n className={cn('size-4 inline-block', {\n 'rotate-180': isOpenSort,\n })}\n />\n </button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"start\" sideOffset={8} className=\"bg-white py-2 !px-0 rounded-none\">\n {currentTab?.sortKeys?.map((sortKey: SortKey) => {\n return (\n <DropdownMenuItem\n className={cn(\n 'px-3 laptop:px-4 py-4 text-sm laptop:text-base font-bold hover:bg-[#EAEAEC] hover:text-current',\n {\n 'font-bold': currentSortKey?.[currentTab?.tabType]?.value === sortKey.value,\n }\n )}\n onClick={() => {\n isInsertAdvertising.current = false\n onChangeSort?.(currentTab?.tabType, sortKey)\n setCurrentSortKey((prev: any) => ({\n ...prev,\n [currentTab?.tabType]: sortKey,\n }))\n }}\n key={sortKey.id}\n >\n {sortKey.label}\n </DropdownMenuItem>\n )\n })}\n </DropdownMenuContent>\n </DropdownMenu>\n </div>\n <TabsContent value={SearchPageTabType.PRODUCTS} className=\"ipc_search_page_tabs_products_content mt-6\">\n <div className=\"grid grid-cols-2 gap-y-4 gap-x-3 tablet:grid-cols-3 desktop:grid-cols-4 desktop:gap-4\">\n {searchProductsResultWithAdvertising?.map((product: any, index: number) => (\n <SearchProductItem\n searchValue={searchValue}\n key={product.id + index}\n product={product}\n onSecondaryButton={() => onSecondaryButton?.(product)}\n onPrimaryButton={() => onPrimaryButton?.(product)}\n />\n ))}\n </div>\n {loading ? (\n <div className=\"flex w-full mt-6 justify-center\">\n <LoadingDots />\n </div>\n ) : (\n !searchProductsResult?.length && (\n <>\n <SearchPageNoResult url={data?.noResultImage?.url} label={data?.noResultLabel} />\n <SearchRecommendProducts\n products={data?.recommendProducts || []}\n buildProps={buildProps}\n title={data?.recommendProductsTitle}\n />\n </>\n )\n )}\n </TabsContent>\n <TabsContent value={SearchPageTabType.BLOGS} className=\"ipc_search_page_tabs_blogs_content\">\n <div>\n {searchBlogsResult?.map((blog: any) => (\n <SearchBlogItem key={blog.id} blog={blog} searchValue={searchValue} />\n ))}\n {loading ? (\n <div className=\"flex mt-6 justify-center\">\n <LoadingDots />\n </div>\n ) : (\n !searchBlogsResult?.length && (\n <>\n <SearchPageNoResult url={data?.noResultImage?.url} label={data?.noResultLabel} />\n <SearchRecommendProducts\n products={data?.recommendProducts || []}\n buildProps={buildProps}\n title={data?.recommendProductsTitle}\n />\n </>\n )\n )}\n </div>\n </TabsContent>\n <TabsContent value={SearchPageTabType.PAGES} className=\"ipc_search_page_tabs_pages_content\">\n <div>\n {searchPagesResult?.map((page: any, index: number) => (\n <SearchPageItem key={page.global_id + index} page={page} searchValue={searchValue} />\n ))}\n </div>\n {loading ? (\n <div className=\"flex mt-6 justify-center\">\n <LoadingDots />\n </div>\n ) : (\n !searchPagesResult?.length && (\n <>\n <SearchPageNoResult url={data?.noResultImage?.url} label={data?.noResultLabel} />\n <SearchRecommendProducts\n products={data?.recommendProducts || []}\n buildProps={buildProps}\n title={data?.recommendProductsTitle}\n />\n </>\n )\n )}\n </TabsContent>\n </Tabs>\n </div>\n </div>\n )\n}\n\nexport default SearchPage\n"],
4
+ "sourcesContent": ["import {\n Heading,\n Tabs,\n TabsList,\n TabsTrigger,\n TabsContent,\n Text,\n Picture,\n Link,\n Button,\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuLabel,\n LoadingDots,\n} from '../../components'\nimport { DownArrow } from '../HeaderNavigation/icons'\nimport { useEffect, useMemo, useRef, useState } from 'react'\nimport { cn, atobID, highlightSearchWord } from '../../helpers/utils.js'\nimport { useAiuiContext } from '../AiuiProvider/index.js'\nimport { formatVariantPrice } from '../ShelfDisplay/shelfDisplay'\nimport type {\n SearchPageProps,\n SortKey,\n SearchProductItemProps,\n SearchBlogItemProps,\n SearchPageItemProps,\n SearchRecommendProductsProps,\n} from './types'\nimport { SearchPageTabType } from './types'\n\n/**\n * \u641C\u7D22\u5546\u54C1\n */\nconst SearchProductItem = ({\n product,\n onSecondaryButton,\n onPrimaryButton,\n searchValue,\n variantData,\n}: SearchProductItemProps) => {\n const variant = useMemo(() => variantData || product?.variants?.[0], [product, variantData])\n const { locale = 'us', copyWriting } = useAiuiContext()\n\n const listingLink = useMemo(() => {\n return `/products/${product?.handle}?variant=${atobID(variant?.id as string)}`\n }, [product?.handle, variant?.id])\n\n const coupon = variant?.coupons?.[0]\n\n const { price, basePrice } = formatVariantPrice({\n locale: locale,\n amount: coupon ? coupon.variant_price4wscode : variant?.price,\n baseAmount: coupon ? variant?.price : 0,\n currencyCode: product?.price?.currencyCode || 'USD',\n })\n\n const tags = useMemo(() => {\n return product?.tags\n ?.filter?.((item: any) => item?.startsWith?.('CLtag'))\n ?.map?.((item: any) => item?.replace?.('CLtag:', ''))\n ?.slice?.(0, 2)\n }, [product?.tags])\n\n return (\n <div className=\"ipc_search_product_item lg-desktop:h-[480px] desktop:h-[384px] laptop:h-[360px] h-auto relative\">\n {product?.type === 'advertising' ? (\n <Link href={product?.advertisingLink} className=\"h-full\">\n <Picture\n source={product?.advertisingBgImg?.url}\n className=\"size-full\"\n imgClassName=\"size-full object-cover\"\n />\n <div className=\"absolute z-[2] left-0 right-0 bottom-0 top-0 p-4 desktop:p-6 [&_img]:hover:scale-105 [&_img]:hover:transition-all [&_img]:hover:duration-300\">\n <Text html={product?.advertisingTitle} className=\"text-sm desktop:text-[18px] text-white font-bold\" />\n <Heading\n size={3}\n html={product?.advertisingSubtitle}\n className=\"font-bold mt-2 line-clamp-4 laptop:line-clamp-3 text-white\"\n />\n </div>\n </Link>\n ) : (\n <a\n href={listingLink}\n className=\" no-underline h-full bg-[#EAEAEC] tablet:hover:bg-info-white duration-300 flex flex-col desktop:p-6 desktop:pt-4 px-2 py-4 tablet:p-4\"\n >\n <div className=\"ipc_search_product_item_image\">\n <Picture\n className=\"lg-desktop:w-[196px] lg-desktop:h-[196px] w-[138px] h-[138px] mx-auto\"\n source={`${variant?.image?.url || product?.images?.[0]?.url}}`}\n alt={product.title}\n imgClassName=\"object-cover size-full\"\n />\n </div>\n <div className=\"ipc_search_product_item_content flex-1 mt-1 desktop:mt-2 lg-desktop:mt-3 flex flex-col justify-between desktop:gap-6 gap-4\">\n <div className=\"flex-1\">\n <div className=\"flex gap-2 mb-2 lg-desktop:h-[28px] h-[24px] mb-1\">\n {tags?.map((tag: string) => (\n <Text\n as=\"p\"\n html={tag}\n className=\"text-brand-0 h-full rounded-full border-[1.6px] lg-desktop:px-2 px-[6px] border-[#00BEFA] text-sm font-bold !leading-[24px] lg-desktop:!leading-[28px]\"\n />\n ))}\n </div>\n <Text\n className=\"text-xl desktop:text-2xl font-bold !leading-[1.2] line-clamp-3 tablet:line-clamp-2\"\n weight=\"bold\"\n html={highlightSearchWord(product?.title || '', searchValue || '')}\n />\n <Text\n as=\"p\"\n className=\"text-sm lg-desktop:text-[18px] mt-1 font-bold line-clamp-2 tablet:line-clamp-1\"\n html={highlightSearchWord(product.description, searchValue || '')}\n />\n </div>\n <div>\n <div className=\"mb-2 flex items-center\">\n {!variant?.availableForSale ? (\n <div className=\"text-info-primary text-[18px] tablet:text-xl lg-desktop:text-2xl font-bold\">\n {copyWriting?.soldOutText || 'Sold Out'}\n </div>\n ) : (\n <>\n <div className=\"final-price text-info-primary text-[18px] tablet:text-xl lg-desktop:text-2xl font-bold\">\n {variant?.availableForSale ? price || '' : ''}\n </div>\n <div className=\"origin-price text-[18px] tablet:text-xl lg-desktop:text-2xl text-info-secondary ml-1 font-bold line-through\">\n {variant?.availableForSale ? basePrice || '' : ''}\n </div>\n </>\n )}\n </div>\n <div\n className={cn(\n 'ipc_search_product_item_button_group',\n 'lg-desktop:gap-3 flex flex-col laptop:flex-row items-center gap-2'\n )}\n >\n {copyWriting?.learnMoreText && (\n <Button\n variant=\"secondary\"\n className=\"w-full laptop:w-auto\"\n size=\"lg\"\n disabled={!variant?.availableForSale}\n onClick={() => onSecondaryButton?.()}\n >\n {copyWriting?.learnMoreText}\n </Button>\n )}\n {copyWriting?.shopNowText && (\n <Button\n variant=\"primary\"\n className=\"w-full laptop:w-auto\"\n size=\"lg\"\n disabled={!variant?.availableForSale}\n onClick={() => onPrimaryButton?.()}\n >\n {copyWriting?.shopNowText}\n </Button>\n )}\n </div>\n </div>\n </div>\n </a>\n )}\n </div>\n )\n}\n\n/**\n * \u641C\u7D22\u6587\u7AE0\n */\nconst SearchBlogItem = ({ blog, searchValue }: SearchBlogItemProps) => {\n const { copyWriting } = useAiuiContext()\n\n const articleLink = useMemo(() => `blogs/${blog?.handle}/${blog?.handle.replace('storefront-', '')}`, [blog])\n\n return (\n <div className=\"ipc_search_blog_item py-6 border-b border-[#E4E5E6]\">\n <div className=\"ipc_search_blog_item_content flex flex-col gap-4 laptop:flex-row-reverse laptop:gap-8 desktop:gap-16\">\n <div className=\"laptop:flex-[440] desktop:flex-[540] h-[240px] desktop:h-[280px]\">\n <Picture\n source={blog?.image?.url}\n className=\"size-full\"\n imgClassName=\"size-full object-cover\"\n alt={blog?.title}\n />\n </div>\n <div className=\"laptop:flex-[424] flex flex-col justify-center desktop:flex-[704] lg-desktop:flex-[1056]\">\n <Heading size={3} html={highlightSearchWord(blog?.title, searchValue)} />\n <Text\n html={highlightSearchWord(blog?.content, searchValue)}\n className=\"text-sm lg-desktop:text-[18px] desktop:text-[16px] font-bold leading-[1.4] mt-1 line-clamp-2\"\n />\n <div className=\"mt-4 desktop:mt-6\">\n <Button as=\"a\" href={articleLink} variant=\"secondary\" size=\"lg\">\n {copyWriting?.learnMoreText || 'Learn More'}\n </Button>\n </div>\n </div>\n </div>\n </div>\n )\n}\n\n/**\n * \u641C\u7D22\u9875\u9762\n */\nconst SearchPageItem = ({ searchValue, page }: SearchPageItemProps) => {\n const { copyWriting, locale = 'us' } = useAiuiContext()\n const pageLink = useMemo(() => `${locale === 'us' ? '' : `/${locale}`}/${page?.handle}`, [page, locale])\n return (\n <div className=\"ipc_search_page_items py-6 border-b border-[#E4E5E6]\">\n <Heading size={3} html={highlightSearchWord(page?.name, searchValue)} />\n <Text\n as=\"p\"\n html={highlightSearchWord(page?.bodySummary || '', searchValue)}\n className=\"text-sm lg-desktop:text-[18px] desktop:text-[16px] font-bold leading-[1.4] mt-1\"\n />\n <Button as=\"a\" href={pageLink} variant=\"secondary\" size=\"lg\" className=\"mt-4 desktop:mt-6\">\n {copyWriting?.learnMoreText || 'Learn More'}\n </Button>\n </div>\n )\n}\n\n/**\n * \u641C\u7D22\u7ED3\u679C\u4E3A\u7A7A\n */\nconst SearchPageNoResult = ({ url, label }: { url: string; label: string }) => {\n return (\n <div className=\"flex flex-col gap-4 items-center justify-center\">\n <Picture source={url} className=\"w-[240px] h-[180px]\" imgClassName=\"object-cover\" />\n <Text html={label} className=\"desktop:text-[18px] font-bold text-sm leading-[1.4]\" />\n </div>\n )\n}\n\n/**\n * \u641C\u7D22\u63A8\u8350\u5546\u54C1\n */\nconst SearchRecommendProducts = ({\n products,\n title,\n buildProps,\n onSecondaryButton,\n onPrimaryButton,\n}: SearchRecommendProductsProps) => {\n const { products: buildProducts } = buildProps || {}\n return (\n <div className=\"ipc_search_recommend_product tablet:pt-[80px] laptop:pt-[96px] desktop:pt-[112px] lg-desktop:pt-[128px] pt-[64px]\">\n <Heading size={4} weight=\"bold\" html={title} />\n <div className=\" grid grid-cols-2 gap-y-4 gap-x-3 mt-6 tablet:grid-cols-3 desktop:grid-cols-4 desktop:gap-4\">\n {products?.map((product: any, index: number) => {\n const buildProduct = buildProducts?.find((buildProduct: any) => buildProduct.handle === product.handle)\n const variant = buildProduct?.variants?.find((variant: any) => variant.sku === product.sku)\n return (\n <SearchProductItem\n product={buildProduct}\n variantData={variant}\n key={product.id + index}\n onSecondaryButton={() => onSecondaryButton?.()}\n onPrimaryButton={() => onPrimaryButton?.()}\n />\n )\n })}\n </div>\n </div>\n )\n}\n\n/**\n * \u641C\u7D22\u9875\u9762\n */\nconst SearchPage = ({\n searchResult,\n searchValue,\n data,\n onSecondaryButton,\n onPrimaryButton,\n // loadMore,\n onChangeSort,\n loading,\n searchResultCount,\n onChangeTab,\n buildProps,\n}: SearchPageProps) => {\n const [currentTab, setCurrentTab] = useState<any>(data?.tabs?.[0])\n const isInsertAdvertising = useRef(false)\n const [isOpenSort, setIsOpenSort] = useState(false)\n const [currentSortKey, setCurrentSortKey] = useState<any>({\n [SearchPageTabType.PRODUCTS]: data?.tabs?.find((tab: any) => tab.tabType === SearchPageTabType.PRODUCTS)\n ?.sortKeys?.[0],\n [SearchPageTabType.BLOGS]: data?.tabs?.find((tab: any) => tab.tabType === SearchPageTabType.BLOGS)?.sortKeys?.[0],\n [SearchPageTabType.PAGES]: data?.tabs?.find((tab: any) => tab.tabType === SearchPageTabType.PAGES)?.sortKeys?.[0],\n })\n\n const searchProductsResult = useMemo(() => {\n return searchResult?.products || []\n }, [searchResult])\n\n const searchBlogsResult = useMemo(() => {\n return searchResult?.blogs || []\n }, [searchResult])\n\n const searchPagesResult = useMemo(() => {\n return searchResult?.pages || []\n }, [searchResult])\n\n const totalCount = useMemo(() => {\n return Object.values(searchResultCount || {}).reduce((acc, curr) => acc + curr, 0)\n }, [searchResultCount])\n\n const searchProductsResultWithAdvertising = useMemo(() => {\n const advertisingData = {\n advertisingBgImg: currentTab?.advertisingBgImg,\n advertisingTitle: currentTab?.advertisingTitle,\n advertisingSubtitle: currentTab?.advertisingSubtitle,\n advertisingLink: currentTab?.advertisingLink,\n type: 'advertising',\n }\n if (!isInsertAdvertising.current && !!searchProductsResult?.length) {\n if (searchProductsResult?.length >= 8) {\n searchProductsResult?.splice(7, 0, advertisingData)\n isInsertAdvertising.current = true\n } else {\n searchProductsResult?.push(advertisingData)\n isInsertAdvertising.current = true\n }\n }\n return searchProductsResult\n }, [currentTab, searchProductsResult])\n\n return (\n <div className=\"ipc_search_page desktop:py-[128px] py-16 tablet:px-8 laptop:px-16 desktop:px-16 lg-desktop:px-[calc(50%-832px)] px-4\">\n <Heading\n size={4}\n weight=\"bold\"\n html={data?.title?.replace('$totalCount', totalCount?.toString())?.replace('$inputValue', `\"${searchValue}\"`)}\n />\n <div className=\"mt-6\">\n <Tabs className=\"ipc_search_page_tabs\" defaultValue=\"products\">\n <div className=\"desktop:flex desktop:items-center desktop:flex-row desktop:gap-6 desktop:justify-between\">\n <TabsList>\n {data?.tabs?.map((tab: any) => (\n <TabsTrigger\n onClick={() => {\n setCurrentTab(tab)\n onChangeTab?.(tab?.tabType)\n }}\n key={tab.id}\n defaultValue=\"products\"\n value={tab.tabType}\n >\n {tab.label} ({searchResultCount?.[tab.tabType as keyof typeof searchResultCount]})\n </TabsTrigger>\n ))}\n </TabsList>\n <DropdownMenu onOpenChange={setIsOpenSort}>\n <DropdownMenuTrigger asChild>\n <button className=\"text-base mt-6 desktop:mt-0 leading-[1.2] font-bold flex items-center\">\n {currentTab?.sortLabel} {currentSortKey?.[currentTab?.tabType]?.label}{' '}\n <DownArrow\n className={cn('size-4 inline-block', {\n 'rotate-180': isOpenSort,\n })}\n />\n </button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"start\" sideOffset={8} className=\"bg-white py-2 !px-0 rounded-none\">\n {currentTab?.sortKeys?.map((sortKey: SortKey) => {\n return (\n <DropdownMenuItem\n className={cn(\n 'px-3 laptop:px-4 py-4 text-sm laptop:text-base font-bold hover:bg-[#EAEAEC] hover:text-current',\n {\n 'font-bold': currentSortKey?.[currentTab?.tabType]?.value === sortKey.value,\n }\n )}\n onClick={() => {\n isInsertAdvertising.current = false\n onChangeSort?.(currentTab?.tabType, sortKey)\n setCurrentSortKey((prev: any) => ({\n ...prev,\n [currentTab?.tabType]: sortKey,\n }))\n }}\n key={sortKey.id}\n >\n {sortKey.label}\n </DropdownMenuItem>\n )\n })}\n </DropdownMenuContent>\n </DropdownMenu>\n </div>\n <TabsContent value={SearchPageTabType.PRODUCTS} className=\"ipc_search_page_tabs_products_content mt-6\">\n <div className=\"grid grid-cols-2 gap-y-4 gap-x-3 tablet:grid-cols-3 desktop:grid-cols-4 desktop:gap-4\">\n {searchProductsResultWithAdvertising?.map((product: any, index: number) => (\n <SearchProductItem\n searchValue={searchValue}\n key={product.id + index}\n product={product}\n onSecondaryButton={() => onSecondaryButton?.(product)}\n onPrimaryButton={() => onPrimaryButton?.(product)}\n />\n ))}\n </div>\n {loading ? (\n <div className=\"flex w-full mt-6 justify-center\">\n <LoadingDots />\n </div>\n ) : (\n !searchProductsResult?.length && (\n <>\n <SearchPageNoResult url={data?.noResultImage?.url} label={data?.noResultLabel} />\n <SearchRecommendProducts\n products={data?.recommendProducts || []}\n buildProps={buildProps}\n title={data?.recommendProductsTitle}\n />\n </>\n )\n )}\n </TabsContent>\n <TabsContent value={SearchPageTabType.BLOGS} className=\"ipc_search_page_tabs_blogs_content\">\n <div>\n {searchBlogsResult?.map((blog: any) => (\n <SearchBlogItem key={blog.id} blog={blog} searchValue={searchValue} />\n ))}\n {loading ? (\n <div className=\"flex mt-6 justify-center\">\n <LoadingDots />\n </div>\n ) : (\n !searchBlogsResult?.length && (\n <>\n <SearchPageNoResult url={data?.noResultImage?.url} label={data?.noResultLabel} />\n <SearchRecommendProducts\n products={data?.recommendProducts || []}\n buildProps={buildProps}\n title={data?.recommendProductsTitle}\n />\n </>\n )\n )}\n </div>\n </TabsContent>\n <TabsContent value={SearchPageTabType.PAGES} className=\"ipc_search_page_tabs_pages_content\">\n <div>\n {searchPagesResult?.map((page: any, index: number) => (\n <SearchPageItem key={page.global_id + index} page={page} searchValue={searchValue} />\n ))}\n </div>\n {loading ? (\n <div className=\"flex mt-6 justify-center\">\n <LoadingDots />\n </div>\n ) : (\n !searchPagesResult?.length && (\n <>\n <SearchPageNoResult url={data?.noResultImage?.url} label={data?.noResultLabel} />\n <SearchRecommendProducts\n products={data?.recommendProducts || []}\n buildProps={buildProps}\n title={data?.recommendProductsTitle}\n />\n </>\n )\n )}\n </TabsContent>\n </Tabs>\n </div>\n </div>\n )\n}\n\nexport default SearchPage\n"],
5
5
  "mappings": "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",
6
6
  "names": ["Fragment", "jsx", "jsxs", "Heading", "Tabs", "TabsList", "TabsTrigger", "TabsContent", "Text", "Picture", "Link", "Button", "DropdownMenu", "DropdownMenuTrigger", "DropdownMenuContent", "DropdownMenuItem", "LoadingDots", "DownArrow", "useMemo", "useRef", "useState", "cn", "atobID", "highlightSearchWord", "useAiuiContext", "formatVariantPrice", "SearchPageTabType", "SearchProductItem", "product", "onSecondaryButton", "onPrimaryButton", "searchValue", "variantData", "variant", "locale", "copyWriting", "listingLink", "coupon", "price", "basePrice", "tags", "item", "tag", "SearchBlogItem", "blog", "articleLink", "SearchPageItem", "page", "pageLink", "SearchPageNoResult", "url", "label", "SearchRecommendProducts", "products", "title", "buildProps", "buildProducts", "index", "buildProduct", "SearchPage", "searchResult", "data", "onChangeSort", "loading", "searchResultCount", "onChangeTab", "currentTab", "setCurrentTab", "isInsertAdvertising", "isOpenSort", "setIsOpenSort", "currentSortKey", "setCurrentSortKey", "tab", "searchProductsResult", "searchBlogsResult", "searchPagesResult", "totalCount", "acc", "curr", "searchProductsResultWithAdvertising", "advertisingData", "sortKey", "prev", "SearchPage_default"]
7
7
  }