@anker-in/headless-ui 1.1.16 → 1.1.17-alpha.1765870943164

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 (807) hide show
  1. package/dist/cjs/biz-components/AccordionCards/index.d.ts +2 -2
  2. package/dist/cjs/biz-components/AiuiProvider/index.d.ts +1 -1
  3. package/dist/cjs/biz-components/AiuiProvider/index.js.map +1 -1
  4. package/dist/cjs/biz-components/AplusDesc/index.d.ts +3 -2
  5. package/dist/cjs/biz-components/AplusDesc/index.js +1 -1
  6. package/dist/cjs/biz-components/AplusDesc/index.js.map +3 -3
  7. package/dist/cjs/biz-components/BrandEquity/BrandEquity.d.ts +3 -2
  8. package/dist/cjs/biz-components/BrandEquity/BrandEquity.js +1 -1
  9. package/dist/cjs/biz-components/BrandEquity/BrandEquity.js.map +3 -3
  10. package/dist/cjs/biz-components/BrandEquity/types.d.ts +0 -1
  11. package/dist/cjs/biz-components/BrandEquity/types.js +1 -1
  12. package/dist/cjs/biz-components/BrandEquity/types.js.map +1 -1
  13. package/dist/cjs/biz-components/Category/index.d.ts +2 -2
  14. package/dist/cjs/biz-components/Category/index.js +1 -1
  15. package/dist/cjs/biz-components/Category/index.js.map +3 -3
  16. package/dist/cjs/biz-components/CollectionShelves/CollectionShelvesItem.d.ts +4 -0
  17. package/dist/cjs/biz-components/CollectionShelves/CollectionShelvesItem.js +2 -0
  18. package/dist/cjs/biz-components/CollectionShelves/CollectionShelvesItem.js.map +7 -0
  19. package/dist/cjs/biz-components/CollectionShelves/index.d.ts +7 -0
  20. package/dist/cjs/biz-components/CollectionShelves/index.js +2 -0
  21. package/dist/cjs/biz-components/CollectionShelves/index.js.map +7 -0
  22. package/dist/cjs/biz-components/CollectionsBanner/index.d.ts +7 -0
  23. package/dist/cjs/biz-components/CollectionsBanner/index.js +2 -0
  24. package/dist/cjs/biz-components/CollectionsBanner/index.js.map +7 -0
  25. package/dist/cjs/biz-components/CollectionsBanner/types.d.ts +43 -0
  26. package/dist/cjs/biz-components/CollectionsBanner/types.js +2 -0
  27. package/dist/cjs/biz-components/CollectionsBanner/types.js.map +7 -0
  28. package/dist/cjs/biz-components/CollectionsFilters/FilterCardWrap.d.ts +19 -0
  29. package/dist/cjs/biz-components/CollectionsFilters/FilterCardWrap.js +2 -0
  30. package/dist/cjs/biz-components/CollectionsFilters/FilterCardWrap.js.map +7 -0
  31. package/dist/cjs/biz-components/CollectionsFilters/FilterCardWrapItem.d.ts +10 -0
  32. package/dist/cjs/biz-components/CollectionsFilters/FilterCardWrapItem.js +2 -0
  33. package/dist/cjs/biz-components/CollectionsFilters/FilterCardWrapItem.js.map +7 -0
  34. package/dist/cjs/biz-components/CollectionsFilters/FilterHeader.d.ts +13 -0
  35. package/dist/cjs/biz-components/CollectionsFilters/FilterHeader.js +2 -0
  36. package/dist/cjs/biz-components/CollectionsFilters/FilterHeader.js.map +7 -0
  37. package/dist/cjs/biz-components/CollectionsFilters/FilterList.d.ts +14 -0
  38. package/dist/cjs/biz-components/CollectionsFilters/FilterList.js +2 -0
  39. package/dist/cjs/biz-components/CollectionsFilters/FilterList.js.map +7 -0
  40. package/dist/cjs/biz-components/CollectionsFilters/component/AnimatedUL.d.ts +5 -0
  41. package/dist/cjs/biz-components/CollectionsFilters/component/AnimatedUL.js +2 -0
  42. package/dist/cjs/biz-components/CollectionsFilters/component/AnimatedUL.js.map +7 -0
  43. package/dist/cjs/biz-components/CollectionsFilters/component/TabFilter.d.ts +12 -0
  44. package/dist/cjs/biz-components/CollectionsFilters/component/TabFilter.js +2 -0
  45. package/dist/cjs/biz-components/CollectionsFilters/component/TabFilter.js.map +7 -0
  46. package/dist/cjs/biz-components/CollectionsFilters/component/filtersFun.d.ts +12 -0
  47. package/dist/cjs/biz-components/CollectionsFilters/component/filtersFun.js +2 -0
  48. package/dist/cjs/biz-components/CollectionsFilters/component/filtersFun.js.map +7 -0
  49. package/dist/cjs/biz-components/CollectionsFilters/component/helper.d.ts +81 -0
  50. package/dist/cjs/biz-components/CollectionsFilters/component/helper.js +2 -0
  51. package/dist/cjs/biz-components/CollectionsFilters/component/helper.js.map +7 -0
  52. package/dist/cjs/biz-components/CollectionsFilters/component/price.d.ts +25 -0
  53. package/dist/cjs/biz-components/CollectionsFilters/component/price.js +2 -0
  54. package/dist/cjs/biz-components/CollectionsFilters/component/price.js.map +7 -0
  55. package/dist/cjs/biz-components/CollectionsFilters/component/priceProps.d.ts +215 -0
  56. package/dist/cjs/biz-components/CollectionsFilters/component/priceProps.js +2 -0
  57. package/dist/cjs/biz-components/CollectionsFilters/component/priceProps.js.map +7 -0
  58. package/dist/cjs/biz-components/CollectionsFilters/index.d.ts +24 -0
  59. package/dist/cjs/biz-components/CollectionsFilters/index.js +2 -0
  60. package/dist/cjs/biz-components/CollectionsFilters/index.js.map +7 -0
  61. package/dist/cjs/biz-components/CreativeModule/index.d.ts +3 -2
  62. package/dist/cjs/biz-components/DownLoad/index.d.ts +3 -2
  63. package/dist/cjs/biz-components/Evaluate/index.d.ts +2 -2
  64. package/dist/cjs/biz-components/Faq/Faq.d.ts +2 -2
  65. package/dist/cjs/biz-components/FeatureCards/FeatureCards.d.ts +7 -0
  66. package/dist/cjs/biz-components/FeatureCards/FeatureCards.js +2 -0
  67. package/dist/cjs/biz-components/FeatureCards/FeatureCards.js.map +7 -0
  68. package/dist/cjs/biz-components/FeatureCards/index.d.ts +2 -0
  69. package/dist/cjs/biz-components/FeatureCards/index.js +2 -0
  70. package/dist/cjs/biz-components/FeatureCards/index.js.map +7 -0
  71. package/dist/cjs/biz-components/FeatureCards/types.d.ts +27 -0
  72. package/dist/cjs/biz-components/FeatureCards/types.js +2 -0
  73. package/dist/cjs/biz-components/FeatureCards/types.js.map +7 -0
  74. package/dist/cjs/biz-components/FeatureShowcase/FeatureShowcase.d.ts +7 -0
  75. package/dist/cjs/biz-components/FeatureShowcase/FeatureShowcase.js +2 -0
  76. package/dist/cjs/biz-components/FeatureShowcase/FeatureShowcase.js.map +7 -0
  77. package/dist/cjs/biz-components/FeatureShowcase/index.d.ts +2 -0
  78. package/dist/cjs/biz-components/FeatureShowcase/index.js +2 -0
  79. package/dist/cjs/biz-components/FeatureShowcase/index.js.map +7 -0
  80. package/dist/cjs/biz-components/FeatureShowcase/types.d.ts +23 -0
  81. package/dist/cjs/biz-components/FeatureShowcase/types.js +2 -0
  82. package/dist/cjs/biz-components/FeatureShowcase/types.js.map +7 -0
  83. package/dist/cjs/biz-components/Features/index.d.ts +3 -2
  84. package/dist/cjs/biz-components/Features/index.js +1 -1
  85. package/dist/cjs/biz-components/Features/index.js.map +3 -3
  86. package/dist/cjs/biz-components/FootCharger/index.d.ts +3 -2
  87. package/dist/cjs/biz-components/FooterNavigation/index.d.ts +3 -2
  88. package/dist/cjs/biz-components/GiftBox/index.d.ts +3 -2
  89. package/dist/cjs/biz-components/GiftBox/index.js +1 -1
  90. package/dist/cjs/biz-components/GiftBox/index.js.map +3 -3
  91. package/dist/cjs/biz-components/Graphic/index.d.ts +2 -2
  92. package/dist/cjs/biz-components/GraphicAttractionBlock/index.d.ts +2 -2
  93. package/dist/cjs/biz-components/GraphicMore/index.d.ts +3 -2
  94. package/dist/cjs/biz-components/GraphicOverlay/GraphicOverlay.d.ts +2 -2
  95. package/dist/cjs/biz-components/HeaderNavigation/index.d.ts +2 -5
  96. package/dist/cjs/biz-components/HeaderNavigation/index.js +1 -1
  97. package/dist/cjs/biz-components/HeaderNavigation/index.js.map +3 -3
  98. package/dist/cjs/biz-components/HeroBanner/HeroBanner.d.ts +2 -2
  99. package/dist/cjs/biz-components/HeroBanner/HeroBanner.js +1 -1
  100. package/dist/cjs/biz-components/HeroBanner/HeroBanner.js.map +3 -3
  101. package/dist/cjs/biz-components/HeroBanner/types.d.ts +2 -0
  102. package/dist/cjs/biz-components/HeroBanner/types.js +1 -1
  103. package/dist/cjs/biz-components/HeroBanner/types.js.map +1 -1
  104. package/dist/cjs/biz-components/ImageTextFeature/ImageTextFeature.d.ts +7 -0
  105. package/dist/cjs/biz-components/ImageTextFeature/ImageTextFeature.js +2 -0
  106. package/dist/cjs/biz-components/ImageTextFeature/ImageTextFeature.js.map +7 -0
  107. package/dist/cjs/biz-components/ImageTextFeature/index.d.ts +2 -0
  108. package/dist/cjs/biz-components/ImageTextFeature/index.js +2 -0
  109. package/dist/cjs/biz-components/ImageTextFeature/index.js.map +7 -0
  110. package/dist/cjs/biz-components/ImageTextFeature/types.d.ts +31 -0
  111. package/dist/cjs/biz-components/ImageTextFeature/types.js +2 -0
  112. package/dist/cjs/biz-components/ImageTextFeature/types.js.map +7 -0
  113. package/dist/cjs/biz-components/ImageWithText/ImageWithText.d.ts +7 -0
  114. package/dist/cjs/biz-components/ImageWithText/ImageWithText.js +2 -0
  115. package/dist/cjs/biz-components/ImageWithText/ImageWithText.js.map +7 -0
  116. package/dist/cjs/biz-components/ImageWithText/index.d.ts +3 -0
  117. package/dist/cjs/biz-components/ImageWithText/index.js +2 -0
  118. package/dist/cjs/biz-components/ImageWithText/index.js.map +7 -0
  119. package/dist/cjs/biz-components/ImageWithText/types.d.ts +108 -0
  120. package/dist/cjs/biz-components/ImageWithText/types.js +2 -0
  121. package/dist/cjs/biz-components/ImageWithText/types.js.map +7 -0
  122. package/dist/cjs/biz-components/InlineVideo/index.d.ts +16 -0
  123. package/dist/cjs/biz-components/InlineVideo/index.js +2 -0
  124. package/dist/cjs/biz-components/InlineVideo/index.js.map +7 -0
  125. package/dist/cjs/biz-components/Ksp/index.d.ts +44 -0
  126. package/dist/cjs/biz-components/Ksp/index.js +2 -0
  127. package/dist/cjs/biz-components/Ksp/index.js.map +7 -0
  128. package/dist/cjs/biz-components/Listing/BizProductProvider.d.ts +1 -1
  129. package/dist/cjs/biz-components/Listing/components/PaidShipping/ShippingPolicyModal.js +1 -1
  130. package/dist/cjs/biz-components/Listing/components/PaidShipping/ShippingPolicyModal.js.map +2 -2
  131. package/dist/cjs/biz-components/Listing/components/PaidShipping/index.d.ts +19 -6
  132. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.d.ts +2 -2
  133. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.js +4 -4
  134. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.js.map +2 -2
  135. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.d.ts +3 -2
  136. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.d.ts +3 -2
  137. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.d.ts +3 -2
  138. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.d.ts +3 -2
  139. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js +3 -3
  140. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js.map +2 -2
  141. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.d.ts +3 -2
  142. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/index.d.ts +3 -2
  143. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/index.js +1 -1
  144. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/index.js.map +2 -2
  145. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductSummary/index.d.ts +3 -2
  146. package/dist/cjs/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/index.js +1 -1
  147. package/dist/cjs/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/index.js.map +3 -3
  148. package/dist/cjs/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/types.d.ts +1 -0
  149. package/dist/cjs/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/useScrollSpy.js +1 -1
  150. package/dist/cjs/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/useScrollSpy.js.map +2 -2
  151. package/dist/cjs/biz-components/Listing/components/PurchaseBar/index.d.ts +3 -2
  152. package/dist/cjs/biz-components/Marquee/Marquee.d.ts +2 -2
  153. package/dist/cjs/biz-components/MarqueeReview/index.d.ts +42 -0
  154. package/dist/cjs/biz-components/MarqueeReview/index.js +2 -0
  155. package/dist/cjs/biz-components/MarqueeReview/index.js.map +7 -0
  156. package/dist/cjs/biz-components/MediaPlayerBase/index.backup.d.ts +7 -0
  157. package/dist/cjs/biz-components/MediaPlayerBase/index.backup.js +2 -0
  158. package/dist/cjs/biz-components/MediaPlayerBase/index.backup.js.map +7 -0
  159. package/dist/cjs/biz-components/MediaPlayerBase/index.d.ts +3 -2
  160. package/dist/cjs/biz-components/MediaPlayerBase/index.js +1 -1
  161. package/dist/cjs/biz-components/MediaPlayerBase/index.js.map +2 -2
  162. package/dist/cjs/biz-components/MediaPlayerMulti/index.d.ts +3 -2
  163. package/dist/cjs/biz-components/MediaPlayerSticky/index.d.ts +2 -2
  164. package/dist/cjs/biz-components/MediaPlayerSticky/index.js +1 -1
  165. package/dist/cjs/biz-components/MediaPlayerSticky/index.js.map +3 -3
  166. package/dist/cjs/biz-components/MediaSceneSwitcher/MediaSceneSwitcher.d.ts +8 -0
  167. package/dist/cjs/biz-components/MediaSceneSwitcher/MediaSceneSwitcher.js +11 -0
  168. package/dist/cjs/biz-components/MediaSceneSwitcher/MediaSceneSwitcher.js.map +7 -0
  169. package/dist/cjs/biz-components/MediaSceneSwitcher/index.d.ts +2 -0
  170. package/dist/cjs/biz-components/MediaSceneSwitcher/index.js +2 -0
  171. package/dist/cjs/biz-components/MediaSceneSwitcher/index.js.map +7 -0
  172. package/dist/cjs/biz-components/MediaSceneSwitcher/types.d.ts +21 -0
  173. package/dist/cjs/biz-components/MediaSceneSwitcher/types.js +2 -0
  174. package/dist/cjs/biz-components/MediaSceneSwitcher/types.js.map +7 -0
  175. package/dist/cjs/biz-components/MemberEquity/index.d.ts +2 -2
  176. package/dist/cjs/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.d.ts +2 -2
  177. package/dist/cjs/biz-components/NavigationSearch/index.d.ts +1 -0
  178. package/dist/cjs/biz-components/NavigationSearch/index.js +2 -2
  179. package/dist/cjs/biz-components/NavigationSearch/index.js.map +2 -2
  180. package/dist/cjs/biz-components/Paginator/index.d.ts +7 -0
  181. package/dist/cjs/biz-components/Paginator/index.js +7 -0
  182. package/dist/cjs/biz-components/Paginator/index.js.map +7 -0
  183. package/dist/cjs/biz-components/ProductCompare/index.d.ts +54 -0
  184. package/dist/cjs/biz-components/ProductCompare/index.js +2 -0
  185. package/dist/cjs/biz-components/ProductCompare/index.js.map +7 -0
  186. package/dist/cjs/biz-components/ProductHero/ProductHero.d.ts +7 -0
  187. package/dist/cjs/biz-components/ProductHero/ProductHero.js +2 -0
  188. package/dist/cjs/biz-components/ProductHero/ProductHero.js.map +7 -0
  189. package/dist/cjs/biz-components/ProductHero/index.d.ts +2 -0
  190. package/dist/cjs/biz-components/ProductHero/index.js +2 -0
  191. package/dist/cjs/biz-components/ProductHero/index.js.map +7 -0
  192. package/dist/cjs/biz-components/ProductHero/types.d.ts +23 -0
  193. package/dist/cjs/biz-components/ProductHero/types.js +2 -0
  194. package/dist/cjs/biz-components/ProductHero/types.js.map +7 -0
  195. package/dist/cjs/biz-components/ProductNav/ProductNav.d.ts +7 -0
  196. package/dist/cjs/biz-components/ProductNav/ProductNav.js +2 -0
  197. package/dist/cjs/biz-components/ProductNav/ProductNav.js.map +7 -0
  198. package/dist/cjs/biz-components/ProductNav/index.d.ts +2 -0
  199. package/dist/cjs/biz-components/ProductNav/index.js +2 -0
  200. package/dist/cjs/biz-components/ProductNav/index.js.map +7 -0
  201. package/dist/cjs/biz-components/ProductNav/types.d.ts +35 -0
  202. package/dist/cjs/biz-components/ProductNav/types.js +2 -0
  203. package/dist/cjs/biz-components/ProductNav/types.js.map +7 -0
  204. package/dist/cjs/biz-components/SelectStore/index.d.ts +3 -2
  205. package/dist/cjs/biz-components/SelectStore/index.js +1 -1
  206. package/dist/cjs/biz-components/SelectStore/index.js.map +3 -3
  207. package/dist/cjs/biz-components/ShelfDisplay/index.d.ts +2 -2
  208. package/dist/cjs/biz-components/ShelfDisplay/index.js +1 -1
  209. package/dist/cjs/biz-components/ShelfDisplay/index.js.map +2 -2
  210. package/dist/cjs/biz-components/Slogan/index.d.ts +2 -2
  211. package/dist/cjs/biz-components/Slogan/index.js +1 -1
  212. package/dist/cjs/biz-components/Slogan/index.js.map +1 -1
  213. package/dist/cjs/biz-components/Spacer/index.d.ts +2 -2
  214. package/dist/cjs/biz-components/Spacer/index.js +1 -1
  215. package/dist/cjs/biz-components/Spacer/index.js.map +2 -2
  216. package/dist/cjs/biz-components/Specs/index.d.ts +2 -2
  217. package/dist/cjs/biz-components/SpecsComparison/SpecsComparison.d.ts +7 -0
  218. package/dist/cjs/biz-components/SpecsComparison/SpecsComparison.js +2 -0
  219. package/dist/cjs/biz-components/SpecsComparison/SpecsComparison.js.map +7 -0
  220. package/dist/cjs/biz-components/SpecsComparison/index.d.ts +2 -0
  221. package/dist/cjs/biz-components/SpecsComparison/index.js +2 -0
  222. package/dist/cjs/biz-components/SpecsComparison/index.js.map +7 -0
  223. package/dist/cjs/biz-components/SpecsComparison/types.d.ts +34 -0
  224. package/dist/cjs/biz-components/SpecsComparison/types.js +2 -0
  225. package/dist/cjs/biz-components/SpecsComparison/types.js.map +7 -0
  226. package/dist/cjs/biz-components/TabWithImage/TabWithImage.d.ts +7 -0
  227. package/dist/cjs/biz-components/TabWithImage/TabWithImage.js +2 -0
  228. package/dist/cjs/biz-components/TabWithImage/TabWithImage.js.map +7 -0
  229. package/dist/cjs/biz-components/TabWithImage/index.d.ts +2 -0
  230. package/dist/cjs/biz-components/TabWithImage/index.js +2 -0
  231. package/dist/cjs/biz-components/TabWithImage/index.js.map +7 -0
  232. package/dist/cjs/biz-components/TabWithImage/types.d.ts +29 -0
  233. package/dist/cjs/biz-components/TabWithImage/types.js +2 -0
  234. package/dist/cjs/biz-components/TabWithImage/types.js.map +7 -0
  235. package/dist/cjs/biz-components/Tabs/Tabs.d.ts +2 -2
  236. package/dist/cjs/biz-components/Tabs/Tabs.js +1 -1
  237. package/dist/cjs/biz-components/Tabs/Tabs.js.map +1 -1
  238. package/dist/cjs/biz-components/Tabs/types.d.ts +11 -0
  239. package/dist/cjs/biz-components/Tabs/types.js +1 -1
  240. package/dist/cjs/biz-components/Tabs/types.js.map +1 -1
  241. package/dist/cjs/biz-components/TabsGroup/index.d.ts +2 -2
  242. package/dist/cjs/biz-components/TabsWithMedia/TabsWithMedia.d.ts +7 -0
  243. package/dist/cjs/biz-components/TabsWithMedia/TabsWithMedia.js +2 -0
  244. package/dist/cjs/biz-components/TabsWithMedia/TabsWithMedia.js.map +7 -0
  245. package/dist/cjs/biz-components/TabsWithMedia/index.d.ts +2 -0
  246. package/dist/cjs/biz-components/TabsWithMedia/index.js +2 -0
  247. package/dist/cjs/biz-components/TabsWithMedia/index.js.map +7 -0
  248. package/dist/cjs/biz-components/TabsWithMedia/types.d.ts +43 -0
  249. package/dist/cjs/biz-components/TabsWithMedia/types.js +2 -0
  250. package/dist/cjs/biz-components/TabsWithMedia/types.js.map +7 -0
  251. package/dist/cjs/biz-components/TextMarquee/index.d.ts +10 -0
  252. package/dist/cjs/biz-components/TextMarquee/index.js +2 -0
  253. package/dist/cjs/biz-components/TextMarquee/index.js.map +7 -0
  254. package/dist/cjs/biz-components/TextModal/index.js +1 -1
  255. package/dist/cjs/biz-components/TextModal/index.js.map +3 -3
  256. package/dist/cjs/biz-components/ThreeDCarousel/ThreeDCarousel.d.ts +11 -0
  257. package/dist/cjs/biz-components/ThreeDCarousel/ThreeDCarousel.js +2 -0
  258. package/dist/cjs/biz-components/ThreeDCarousel/ThreeDCarousel.js.map +7 -0
  259. package/dist/cjs/biz-components/ThreeDCarousel/index.d.ts +2 -0
  260. package/dist/cjs/biz-components/ThreeDCarousel/index.js +2 -0
  261. package/dist/cjs/biz-components/ThreeDCarousel/index.js.map +7 -0
  262. package/dist/cjs/biz-components/ThreeDCarousel/types.d.ts +26 -0
  263. package/dist/cjs/biz-components/ThreeDCarousel/types.js +2 -0
  264. package/dist/cjs/biz-components/ThreeDCarousel/types.js.map +7 -0
  265. package/dist/cjs/biz-components/Title/index.d.ts +2 -2
  266. package/dist/cjs/biz-components/Title/index.js +1 -1
  267. package/dist/cjs/biz-components/Title/index.js.map +3 -3
  268. package/dist/cjs/biz-components/Title/types.d.ts +1 -0
  269. package/dist/cjs/biz-components/Title/types.js +1 -1
  270. package/dist/cjs/biz-components/Title/types.js.map +1 -1
  271. package/dist/cjs/biz-components/VideoFeature/VideoFeature.d.ts +7 -0
  272. package/dist/cjs/biz-components/VideoFeature/VideoFeature.js +2 -0
  273. package/dist/cjs/biz-components/VideoFeature/VideoFeature.js.map +7 -0
  274. package/dist/cjs/biz-components/VideoFeature/index.d.ts +2 -0
  275. package/dist/cjs/biz-components/VideoFeature/index.js +2 -0
  276. package/dist/cjs/biz-components/VideoFeature/index.js.map +7 -0
  277. package/dist/cjs/biz-components/VideoFeature/types.d.ts +19 -0
  278. package/dist/cjs/biz-components/VideoFeature/types.js +2 -0
  279. package/dist/cjs/biz-components/VideoFeature/types.js.map +7 -0
  280. package/dist/cjs/biz-components/VideoModal/index.js +1 -1
  281. package/dist/cjs/biz-components/VideoModal/index.js.map +2 -2
  282. package/dist/cjs/biz-components/WhyChoose/WhyChoose.d.ts +2 -2
  283. package/dist/cjs/biz-components/index.d.ts +42 -0
  284. package/dist/cjs/biz-components/index.js +1 -1
  285. package/dist/cjs/biz-components/index.js.map +3 -3
  286. package/dist/cjs/components/alert.d.ts +2 -2
  287. package/dist/cjs/components/avatar.d.ts +8 -8
  288. package/dist/cjs/components/board.d.ts +2 -1
  289. package/dist/cjs/components/board.js +1 -1
  290. package/dist/cjs/components/board.js.map +3 -3
  291. package/dist/cjs/components/breadcrumb.d.ts +12 -0
  292. package/dist/cjs/components/breadcrumb.js +2 -0
  293. package/dist/cjs/components/breadcrumb.js.map +7 -0
  294. package/dist/cjs/components/container.d.ts +7 -7
  295. package/dist/cjs/components/dialog.d.ts +1 -1
  296. package/dist/cjs/components/drop-down.d.ts +3 -3
  297. package/dist/cjs/components/heading.d.ts +1 -0
  298. package/dist/cjs/components/heading.js +1 -1
  299. package/dist/cjs/components/heading.js.map +3 -3
  300. package/dist/cjs/components/index.d.ts +1 -0
  301. package/dist/cjs/components/index.js +1 -1
  302. package/dist/cjs/components/index.js.map +3 -3
  303. package/dist/cjs/components/input-number.d.ts +15 -15
  304. package/dist/cjs/components/link.d.ts +6 -6
  305. package/dist/cjs/components/picture.js +1 -1
  306. package/dist/cjs/components/picture.js.map +3 -3
  307. package/dist/cjs/components/tabs.d.ts +2 -2
  308. package/dist/cjs/components/tabs.js +1 -1
  309. package/dist/cjs/components/tabs.js.map +2 -2
  310. package/dist/cjs/helpers/utils.d.ts +1 -0
  311. package/dist/cjs/helpers/utils.js +1 -1
  312. package/dist/cjs/helpers/utils.js.map +3 -3
  313. package/dist/cjs/hooks/useRollout.d.ts +2 -2
  314. package/dist/cjs/hooks/useRollout.js +1 -1
  315. package/dist/cjs/hooks/useRollout.js.map +2 -2
  316. package/dist/cjs/shared/ErrorBoundary.d.ts +18 -0
  317. package/dist/cjs/shared/ErrorBoundary.js +2 -0
  318. package/dist/cjs/shared/ErrorBoundary.js.map +7 -0
  319. package/dist/cjs/shared/Styles.d.ts +4 -4
  320. package/dist/cjs/shared/Styles.js +1 -1
  321. package/dist/cjs/shared/Styles.js.map +3 -3
  322. package/dist/cjs/stories/InlineVideo.stories.js +164 -0
  323. package/dist/cjs/stories/InlineVideo.stories.js.map +7 -0
  324. package/dist/cjs/stories/MarqueeReview.stories.js +19 -0
  325. package/dist/cjs/stories/MarqueeReview.stories.js.map +7 -0
  326. package/dist/cjs/stories/MediaSceneSwitcher.stories.js +2 -0
  327. package/dist/cjs/stories/MediaSceneSwitcher.stories.js.map +7 -0
  328. package/dist/cjs/stories/ProductNav.stories.js +2 -0
  329. package/dist/cjs/stories/ProductNav.stories.js.map +7 -0
  330. package/dist/cjs/stories/ThreeDCarousel.stories.js +118 -0
  331. package/dist/cjs/stories/ThreeDCarousel.stories.js.map +7 -0
  332. package/dist/cjs/stories/featureCards.stories.js +61 -0
  333. package/dist/cjs/stories/featureCards.stories.js.map +7 -0
  334. package/dist/cjs/stories/featureShowcase.stories.js +44 -0
  335. package/dist/cjs/stories/featureShowcase.stories.js.map +7 -0
  336. package/dist/cjs/stories/imageTextFeature.stories.js +50 -0
  337. package/dist/cjs/stories/imageTextFeature.stories.js.map +7 -0
  338. package/dist/cjs/stories/imageWithText.stories.js +84 -0
  339. package/dist/cjs/stories/imageWithText.stories.js.map +7 -0
  340. package/dist/cjs/stories/ksp.stories.js +128 -0
  341. package/dist/cjs/stories/ksp.stories.js.map +7 -0
  342. package/dist/cjs/stories/picture.stories.js +2 -2
  343. package/dist/cjs/stories/picture.stories.js.map +3 -3
  344. package/dist/cjs/stories/productCompare.stories.js +54 -0
  345. package/dist/cjs/stories/productCompare.stories.js.map +7 -0
  346. package/dist/cjs/stories/productHero.stories.js +50 -0
  347. package/dist/cjs/stories/productHero.stories.js.map +7 -0
  348. package/dist/cjs/stories/shelfDisplay.stories.js +1 -1
  349. package/dist/cjs/stories/shelfDisplay.stories.js.map +3 -3
  350. package/dist/cjs/stories/specsComparison.stories.js +105 -0
  351. package/dist/cjs/stories/specsComparison.stories.js.map +7 -0
  352. package/dist/cjs/stories/tabWithImage.stories.js +53 -0
  353. package/dist/cjs/stories/tabWithImage.stories.js.map +7 -0
  354. package/dist/cjs/stories/tabsWithMedia.stories.js +68 -0
  355. package/dist/cjs/stories/tabsWithMedia.stories.js.map +7 -0
  356. package/dist/cjs/stories/videoFeature.stories.js +56 -0
  357. package/dist/cjs/stories/videoFeature.stories.js.map +7 -0
  358. package/dist/cjs/types/props.d.ts +9 -2
  359. package/dist/cjs/types/props.js +1 -1
  360. package/dist/cjs/types/props.js.map +1 -1
  361. package/dist/esm/biz-components/AccordionCards/index.d.ts +2 -2
  362. package/dist/esm/biz-components/AiuiProvider/index.d.ts +1 -1
  363. package/dist/esm/biz-components/AiuiProvider/index.js.map +1 -1
  364. package/dist/esm/biz-components/AplusDesc/index.d.ts +3 -2
  365. package/dist/esm/biz-components/AplusDesc/index.js +1 -1
  366. package/dist/esm/biz-components/AplusDesc/index.js.map +3 -3
  367. package/dist/esm/biz-components/BrandEquity/BrandEquity.d.ts +3 -2
  368. package/dist/esm/biz-components/BrandEquity/BrandEquity.js +1 -1
  369. package/dist/esm/biz-components/BrandEquity/BrandEquity.js.map +3 -3
  370. package/dist/esm/biz-components/BrandEquity/types.d.ts +0 -1
  371. package/dist/esm/biz-components/Category/index.d.ts +2 -2
  372. package/dist/esm/biz-components/Category/index.js +1 -1
  373. package/dist/esm/biz-components/Category/index.js.map +3 -3
  374. package/dist/esm/biz-components/CollectionShelves/CollectionShelvesItem.d.ts +4 -0
  375. package/dist/esm/biz-components/CollectionShelves/CollectionShelvesItem.js +2 -0
  376. package/dist/esm/biz-components/CollectionShelves/CollectionShelvesItem.js.map +7 -0
  377. package/dist/esm/biz-components/CollectionShelves/index.d.ts +7 -0
  378. package/dist/esm/biz-components/CollectionShelves/index.js +2 -0
  379. package/dist/esm/biz-components/CollectionShelves/index.js.map +7 -0
  380. package/dist/esm/biz-components/CollectionsBanner/index.d.ts +7 -0
  381. package/dist/esm/biz-components/CollectionsBanner/index.js +2 -0
  382. package/dist/esm/biz-components/CollectionsBanner/index.js.map +7 -0
  383. package/dist/esm/biz-components/CollectionsBanner/types.d.ts +43 -0
  384. package/dist/esm/biz-components/CollectionsBanner/types.js +1 -0
  385. package/dist/esm/biz-components/CollectionsBanner/types.js.map +7 -0
  386. package/dist/esm/biz-components/CollectionsFilters/FilterCardWrap.d.ts +19 -0
  387. package/dist/esm/biz-components/CollectionsFilters/FilterCardWrap.js +2 -0
  388. package/dist/esm/biz-components/CollectionsFilters/FilterCardWrap.js.map +7 -0
  389. package/dist/esm/biz-components/CollectionsFilters/FilterCardWrapItem.d.ts +10 -0
  390. package/dist/esm/biz-components/CollectionsFilters/FilterCardWrapItem.js +2 -0
  391. package/dist/esm/biz-components/CollectionsFilters/FilterCardWrapItem.js.map +7 -0
  392. package/dist/esm/biz-components/CollectionsFilters/FilterHeader.d.ts +13 -0
  393. package/dist/esm/biz-components/CollectionsFilters/FilterHeader.js +2 -0
  394. package/dist/esm/biz-components/CollectionsFilters/FilterHeader.js.map +7 -0
  395. package/dist/esm/biz-components/CollectionsFilters/FilterList.d.ts +14 -0
  396. package/dist/esm/biz-components/CollectionsFilters/FilterList.js +2 -0
  397. package/dist/esm/biz-components/CollectionsFilters/FilterList.js.map +7 -0
  398. package/dist/esm/biz-components/CollectionsFilters/component/AnimatedUL.d.ts +5 -0
  399. package/dist/esm/biz-components/CollectionsFilters/component/AnimatedUL.js +2 -0
  400. package/dist/esm/biz-components/CollectionsFilters/component/AnimatedUL.js.map +7 -0
  401. package/dist/esm/biz-components/CollectionsFilters/component/TabFilter.d.ts +12 -0
  402. package/dist/esm/biz-components/CollectionsFilters/component/TabFilter.js +2 -0
  403. package/dist/esm/biz-components/CollectionsFilters/component/TabFilter.js.map +7 -0
  404. package/dist/esm/biz-components/CollectionsFilters/component/filtersFun.d.ts +12 -0
  405. package/dist/esm/biz-components/CollectionsFilters/component/filtersFun.js +2 -0
  406. package/dist/esm/biz-components/CollectionsFilters/component/filtersFun.js.map +7 -0
  407. package/dist/esm/biz-components/CollectionsFilters/component/helper.d.ts +81 -0
  408. package/dist/esm/biz-components/CollectionsFilters/component/helper.js +2 -0
  409. package/dist/esm/biz-components/CollectionsFilters/component/helper.js.map +7 -0
  410. package/dist/esm/biz-components/CollectionsFilters/component/price.d.ts +25 -0
  411. package/dist/esm/biz-components/CollectionsFilters/component/price.js +2 -0
  412. package/dist/esm/biz-components/CollectionsFilters/component/price.js.map +7 -0
  413. package/dist/esm/biz-components/CollectionsFilters/component/priceProps.d.ts +215 -0
  414. package/dist/esm/biz-components/CollectionsFilters/component/priceProps.js +2 -0
  415. package/dist/esm/biz-components/CollectionsFilters/component/priceProps.js.map +7 -0
  416. package/dist/esm/biz-components/CollectionsFilters/index.d.ts +24 -0
  417. package/dist/esm/biz-components/CollectionsFilters/index.js +2 -0
  418. package/dist/esm/biz-components/CollectionsFilters/index.js.map +7 -0
  419. package/dist/esm/biz-components/CreativeModule/index.d.ts +3 -2
  420. package/dist/esm/biz-components/DownLoad/index.d.ts +3 -2
  421. package/dist/esm/biz-components/Evaluate/index.d.ts +2 -2
  422. package/dist/esm/biz-components/Faq/Faq.d.ts +2 -2
  423. package/dist/esm/biz-components/FeatureCards/FeatureCards.d.ts +7 -0
  424. package/dist/esm/biz-components/FeatureCards/FeatureCards.js +2 -0
  425. package/dist/esm/biz-components/FeatureCards/FeatureCards.js.map +7 -0
  426. package/dist/esm/biz-components/FeatureCards/index.d.ts +2 -0
  427. package/dist/esm/biz-components/FeatureCards/index.js +2 -0
  428. package/dist/esm/biz-components/FeatureCards/index.js.map +7 -0
  429. package/dist/esm/biz-components/FeatureCards/types.d.ts +27 -0
  430. package/dist/esm/biz-components/FeatureCards/types.js +1 -0
  431. package/dist/esm/biz-components/FeatureCards/types.js.map +7 -0
  432. package/dist/esm/biz-components/FeatureShowcase/FeatureShowcase.d.ts +7 -0
  433. package/dist/esm/biz-components/FeatureShowcase/FeatureShowcase.js +2 -0
  434. package/dist/esm/biz-components/FeatureShowcase/FeatureShowcase.js.map +7 -0
  435. package/dist/esm/biz-components/FeatureShowcase/index.d.ts +2 -0
  436. package/dist/esm/biz-components/FeatureShowcase/index.js +2 -0
  437. package/dist/esm/biz-components/FeatureShowcase/index.js.map +7 -0
  438. package/dist/esm/biz-components/FeatureShowcase/types.d.ts +23 -0
  439. package/dist/esm/biz-components/FeatureShowcase/types.js +1 -0
  440. package/dist/esm/biz-components/FeatureShowcase/types.js.map +7 -0
  441. package/dist/esm/biz-components/Features/index.d.ts +3 -2
  442. package/dist/esm/biz-components/Features/index.js +1 -1
  443. package/dist/esm/biz-components/Features/index.js.map +3 -3
  444. package/dist/esm/biz-components/FootCharger/index.d.ts +3 -2
  445. package/dist/esm/biz-components/FooterNavigation/index.d.ts +3 -2
  446. package/dist/esm/biz-components/GiftBox/index.d.ts +3 -2
  447. package/dist/esm/biz-components/GiftBox/index.js +1 -1
  448. package/dist/esm/biz-components/GiftBox/index.js.map +3 -3
  449. package/dist/esm/biz-components/Graphic/index.d.ts +2 -2
  450. package/dist/esm/biz-components/GraphicAttractionBlock/index.d.ts +2 -2
  451. package/dist/esm/biz-components/GraphicMore/index.d.ts +3 -2
  452. package/dist/esm/biz-components/GraphicOverlay/GraphicOverlay.d.ts +2 -2
  453. package/dist/esm/biz-components/HeaderNavigation/index.d.ts +2 -5
  454. package/dist/esm/biz-components/HeaderNavigation/index.js +1 -1
  455. package/dist/esm/biz-components/HeaderNavigation/index.js.map +3 -3
  456. package/dist/esm/biz-components/HeroBanner/HeroBanner.d.ts +2 -2
  457. package/dist/esm/biz-components/HeroBanner/HeroBanner.js +1 -1
  458. package/dist/esm/biz-components/HeroBanner/HeroBanner.js.map +3 -3
  459. package/dist/esm/biz-components/HeroBanner/types.d.ts +2 -0
  460. package/dist/esm/biz-components/ImageTextFeature/ImageTextFeature.d.ts +7 -0
  461. package/dist/esm/biz-components/ImageTextFeature/ImageTextFeature.js +2 -0
  462. package/dist/esm/biz-components/ImageTextFeature/ImageTextFeature.js.map +7 -0
  463. package/dist/esm/biz-components/ImageTextFeature/index.d.ts +2 -0
  464. package/dist/esm/biz-components/ImageTextFeature/index.js +2 -0
  465. package/dist/esm/biz-components/ImageTextFeature/index.js.map +7 -0
  466. package/dist/esm/biz-components/ImageTextFeature/types.d.ts +31 -0
  467. package/dist/esm/biz-components/ImageTextFeature/types.js +1 -0
  468. package/dist/esm/biz-components/ImageTextFeature/types.js.map +7 -0
  469. package/dist/esm/biz-components/ImageWithText/ImageWithText.d.ts +7 -0
  470. package/dist/esm/biz-components/ImageWithText/ImageWithText.js +2 -0
  471. package/dist/esm/biz-components/ImageWithText/ImageWithText.js.map +7 -0
  472. package/dist/esm/biz-components/ImageWithText/index.d.ts +3 -0
  473. package/dist/esm/biz-components/ImageWithText/index.js +2 -0
  474. package/dist/esm/biz-components/ImageWithText/index.js.map +7 -0
  475. package/dist/esm/biz-components/ImageWithText/types.d.ts +108 -0
  476. package/dist/esm/biz-components/ImageWithText/types.js +2 -0
  477. package/dist/esm/biz-components/ImageWithText/types.js.map +7 -0
  478. package/dist/esm/biz-components/InlineVideo/index.d.ts +16 -0
  479. package/dist/esm/biz-components/InlineVideo/index.js +2 -0
  480. package/dist/esm/biz-components/InlineVideo/index.js.map +7 -0
  481. package/dist/esm/biz-components/Ksp/index.d.ts +44 -0
  482. package/dist/esm/biz-components/Ksp/index.js +2 -0
  483. package/dist/esm/biz-components/Ksp/index.js.map +7 -0
  484. package/dist/esm/biz-components/Listing/BizProductProvider.d.ts +1 -1
  485. package/dist/esm/biz-components/Listing/components/PaidShipping/ShippingPolicyModal.js +1 -1
  486. package/dist/esm/biz-components/Listing/components/PaidShipping/ShippingPolicyModal.js.map +3 -3
  487. package/dist/esm/biz-components/Listing/components/PaidShipping/index.d.ts +19 -6
  488. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.d.ts +2 -2
  489. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.js +4 -4
  490. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.js.map +2 -2
  491. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.d.ts +3 -2
  492. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.d.ts +3 -2
  493. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.d.ts +3 -2
  494. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.d.ts +3 -2
  495. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js +2 -2
  496. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js.map +2 -2
  497. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.d.ts +3 -2
  498. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/index.d.ts +3 -2
  499. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/index.js +1 -1
  500. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/index.js.map +2 -2
  501. package/dist/esm/biz-components/Listing/components/ProductCard/ProductSummary/index.d.ts +3 -2
  502. package/dist/esm/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/index.js +1 -1
  503. package/dist/esm/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/index.js.map +3 -3
  504. package/dist/esm/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/types.d.ts +1 -0
  505. package/dist/esm/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/useScrollSpy.js +1 -1
  506. package/dist/esm/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/useScrollSpy.js.map +2 -2
  507. package/dist/esm/biz-components/Listing/components/PurchaseBar/index.d.ts +3 -2
  508. package/dist/esm/biz-components/Marquee/Marquee.d.ts +2 -2
  509. package/dist/esm/biz-components/MarqueeReview/index.d.ts +42 -0
  510. package/dist/esm/biz-components/MarqueeReview/index.js +2 -0
  511. package/dist/esm/biz-components/MarqueeReview/index.js.map +7 -0
  512. package/dist/esm/biz-components/MediaPlayerBase/index.backup.d.ts +7 -0
  513. package/dist/esm/biz-components/MediaPlayerBase/index.backup.js +2 -0
  514. package/dist/esm/biz-components/MediaPlayerBase/index.backup.js.map +7 -0
  515. package/dist/esm/biz-components/MediaPlayerBase/index.d.ts +3 -2
  516. package/dist/esm/biz-components/MediaPlayerBase/index.js +1 -1
  517. package/dist/esm/biz-components/MediaPlayerBase/index.js.map +2 -2
  518. package/dist/esm/biz-components/MediaPlayerMulti/index.d.ts +3 -2
  519. package/dist/esm/biz-components/MediaPlayerSticky/index.d.ts +2 -2
  520. package/dist/esm/biz-components/MediaPlayerSticky/index.js +1 -1
  521. package/dist/esm/biz-components/MediaPlayerSticky/index.js.map +3 -3
  522. package/dist/esm/biz-components/MediaSceneSwitcher/MediaSceneSwitcher.d.ts +8 -0
  523. package/dist/esm/biz-components/MediaSceneSwitcher/MediaSceneSwitcher.js +11 -0
  524. package/dist/esm/biz-components/MediaSceneSwitcher/MediaSceneSwitcher.js.map +7 -0
  525. package/dist/esm/biz-components/MediaSceneSwitcher/index.d.ts +2 -0
  526. package/dist/esm/biz-components/MediaSceneSwitcher/index.js +2 -0
  527. package/dist/esm/biz-components/MediaSceneSwitcher/index.js.map +7 -0
  528. package/dist/esm/biz-components/MediaSceneSwitcher/types.d.ts +21 -0
  529. package/dist/esm/biz-components/MediaSceneSwitcher/types.js +1 -0
  530. package/dist/esm/biz-components/MediaSceneSwitcher/types.js.map +7 -0
  531. package/dist/esm/biz-components/MemberEquity/index.d.ts +2 -2
  532. package/dist/esm/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.d.ts +2 -2
  533. package/dist/esm/biz-components/NavigationSearch/index.d.ts +1 -0
  534. package/dist/esm/biz-components/NavigationSearch/index.js +2 -2
  535. package/dist/esm/biz-components/NavigationSearch/index.js.map +2 -2
  536. package/dist/esm/biz-components/Paginator/index.d.ts +7 -0
  537. package/dist/esm/biz-components/Paginator/index.js +7 -0
  538. package/dist/esm/biz-components/Paginator/index.js.map +7 -0
  539. package/dist/esm/biz-components/ProductCompare/index.d.ts +54 -0
  540. package/dist/esm/biz-components/ProductCompare/index.js +2 -0
  541. package/dist/esm/biz-components/ProductCompare/index.js.map +7 -0
  542. package/dist/esm/biz-components/ProductHero/ProductHero.d.ts +7 -0
  543. package/dist/esm/biz-components/ProductHero/ProductHero.js +2 -0
  544. package/dist/esm/biz-components/ProductHero/ProductHero.js.map +7 -0
  545. package/dist/esm/biz-components/ProductHero/index.d.ts +2 -0
  546. package/dist/esm/biz-components/ProductHero/index.js +2 -0
  547. package/dist/esm/biz-components/ProductHero/index.js.map +7 -0
  548. package/dist/esm/biz-components/ProductHero/types.d.ts +23 -0
  549. package/dist/esm/biz-components/ProductHero/types.js +1 -0
  550. package/dist/esm/biz-components/ProductHero/types.js.map +7 -0
  551. package/dist/esm/biz-components/ProductNav/ProductNav.d.ts +7 -0
  552. package/dist/esm/biz-components/ProductNav/ProductNav.js +2 -0
  553. package/dist/esm/biz-components/ProductNav/ProductNav.js.map +7 -0
  554. package/dist/esm/biz-components/ProductNav/index.d.ts +2 -0
  555. package/dist/esm/biz-components/ProductNav/index.js +2 -0
  556. package/dist/esm/biz-components/ProductNav/index.js.map +7 -0
  557. package/dist/esm/biz-components/ProductNav/types.d.ts +35 -0
  558. package/dist/esm/biz-components/ProductNav/types.js +1 -0
  559. package/dist/esm/biz-components/ProductNav/types.js.map +7 -0
  560. package/dist/esm/biz-components/SelectStore/index.d.ts +3 -2
  561. package/dist/esm/biz-components/SelectStore/index.js +1 -1
  562. package/dist/esm/biz-components/SelectStore/index.js.map +3 -3
  563. package/dist/esm/biz-components/ShelfDisplay/index.d.ts +2 -2
  564. package/dist/esm/biz-components/ShelfDisplay/index.js +1 -1
  565. package/dist/esm/biz-components/ShelfDisplay/index.js.map +2 -2
  566. package/dist/esm/biz-components/Slogan/index.d.ts +2 -2
  567. package/dist/esm/biz-components/Slogan/index.js +1 -1
  568. package/dist/esm/biz-components/Slogan/index.js.map +1 -1
  569. package/dist/esm/biz-components/Spacer/index.d.ts +2 -2
  570. package/dist/esm/biz-components/Spacer/index.js +1 -1
  571. package/dist/esm/biz-components/Spacer/index.js.map +2 -2
  572. package/dist/esm/biz-components/Specs/index.d.ts +2 -2
  573. package/dist/esm/biz-components/SpecsComparison/SpecsComparison.d.ts +7 -0
  574. package/dist/esm/biz-components/SpecsComparison/SpecsComparison.js +2 -0
  575. package/dist/esm/biz-components/SpecsComparison/SpecsComparison.js.map +7 -0
  576. package/dist/esm/biz-components/SpecsComparison/index.d.ts +2 -0
  577. package/dist/esm/biz-components/SpecsComparison/index.js +2 -0
  578. package/dist/esm/biz-components/SpecsComparison/index.js.map +7 -0
  579. package/dist/esm/biz-components/SpecsComparison/types.d.ts +34 -0
  580. package/dist/esm/biz-components/SpecsComparison/types.js +1 -0
  581. package/dist/esm/biz-components/SpecsComparison/types.js.map +7 -0
  582. package/dist/esm/biz-components/TabWithImage/TabWithImage.d.ts +7 -0
  583. package/dist/esm/biz-components/TabWithImage/TabWithImage.js +2 -0
  584. package/dist/esm/biz-components/TabWithImage/TabWithImage.js.map +7 -0
  585. package/dist/esm/biz-components/TabWithImage/index.d.ts +2 -0
  586. package/dist/esm/biz-components/TabWithImage/index.js +2 -0
  587. package/dist/esm/biz-components/TabWithImage/index.js.map +7 -0
  588. package/dist/esm/biz-components/TabWithImage/types.d.ts +29 -0
  589. package/dist/esm/biz-components/TabWithImage/types.js +1 -0
  590. package/dist/esm/biz-components/TabWithImage/types.js.map +7 -0
  591. package/dist/esm/biz-components/Tabs/Tabs.d.ts +2 -2
  592. package/dist/esm/biz-components/Tabs/Tabs.js +1 -1
  593. package/dist/esm/biz-components/Tabs/Tabs.js.map +1 -1
  594. package/dist/esm/biz-components/Tabs/types.d.ts +11 -0
  595. package/dist/esm/biz-components/TabsGroup/index.d.ts +2 -2
  596. package/dist/esm/biz-components/TabsWithMedia/TabsWithMedia.d.ts +7 -0
  597. package/dist/esm/biz-components/TabsWithMedia/TabsWithMedia.js +2 -0
  598. package/dist/esm/biz-components/TabsWithMedia/TabsWithMedia.js.map +7 -0
  599. package/dist/esm/biz-components/TabsWithMedia/index.d.ts +2 -0
  600. package/dist/esm/biz-components/TabsWithMedia/index.js +2 -0
  601. package/dist/esm/biz-components/TabsWithMedia/index.js.map +7 -0
  602. package/dist/esm/biz-components/TabsWithMedia/types.d.ts +43 -0
  603. package/dist/esm/biz-components/TabsWithMedia/types.js +1 -0
  604. package/dist/esm/biz-components/TabsWithMedia/types.js.map +7 -0
  605. package/dist/esm/biz-components/TextMarquee/index.d.ts +10 -0
  606. package/dist/esm/biz-components/TextMarquee/index.js +2 -0
  607. package/dist/esm/biz-components/TextMarquee/index.js.map +7 -0
  608. package/dist/esm/biz-components/TextModal/index.js +1 -1
  609. package/dist/esm/biz-components/TextModal/index.js.map +2 -2
  610. package/dist/esm/biz-components/ThreeDCarousel/ThreeDCarousel.d.ts +11 -0
  611. package/dist/esm/biz-components/ThreeDCarousel/ThreeDCarousel.js +2 -0
  612. package/dist/esm/biz-components/ThreeDCarousel/ThreeDCarousel.js.map +7 -0
  613. package/dist/esm/biz-components/ThreeDCarousel/index.d.ts +2 -0
  614. package/dist/esm/biz-components/ThreeDCarousel/index.js +2 -0
  615. package/dist/esm/biz-components/ThreeDCarousel/index.js.map +7 -0
  616. package/dist/esm/biz-components/ThreeDCarousel/types.d.ts +26 -0
  617. package/dist/esm/biz-components/ThreeDCarousel/types.js +1 -0
  618. package/dist/esm/biz-components/ThreeDCarousel/types.js.map +7 -0
  619. package/dist/esm/biz-components/Title/index.d.ts +2 -2
  620. package/dist/esm/biz-components/Title/index.js +1 -1
  621. package/dist/esm/biz-components/Title/index.js.map +3 -3
  622. package/dist/esm/biz-components/Title/types.d.ts +1 -0
  623. package/dist/esm/biz-components/VideoFeature/VideoFeature.d.ts +7 -0
  624. package/dist/esm/biz-components/VideoFeature/VideoFeature.js +2 -0
  625. package/dist/esm/biz-components/VideoFeature/VideoFeature.js.map +7 -0
  626. package/dist/esm/biz-components/VideoFeature/index.d.ts +2 -0
  627. package/dist/esm/biz-components/VideoFeature/index.js +2 -0
  628. package/dist/esm/biz-components/VideoFeature/index.js.map +7 -0
  629. package/dist/esm/biz-components/VideoFeature/types.d.ts +19 -0
  630. package/dist/esm/biz-components/VideoFeature/types.js +1 -0
  631. package/dist/esm/biz-components/VideoFeature/types.js.map +7 -0
  632. package/dist/esm/biz-components/VideoModal/index.js +1 -1
  633. package/dist/esm/biz-components/VideoModal/index.js.map +2 -2
  634. package/dist/esm/biz-components/WhyChoose/WhyChoose.d.ts +2 -2
  635. package/dist/esm/biz-components/index.d.ts +42 -0
  636. package/dist/esm/biz-components/index.js +1 -1
  637. package/dist/esm/biz-components/index.js.map +2 -2
  638. package/dist/esm/components/alert.d.ts +2 -2
  639. package/dist/esm/components/avatar.d.ts +8 -8
  640. package/dist/esm/components/board.d.ts +2 -1
  641. package/dist/esm/components/board.js +1 -1
  642. package/dist/esm/components/board.js.map +3 -3
  643. package/dist/esm/components/breadcrumb.d.ts +12 -0
  644. package/dist/esm/components/breadcrumb.js +2 -0
  645. package/dist/esm/components/breadcrumb.js.map +7 -0
  646. package/dist/esm/components/container.d.ts +7 -7
  647. package/dist/esm/components/dialog.d.ts +1 -1
  648. package/dist/esm/components/drop-down.d.ts +3 -3
  649. package/dist/esm/components/heading.d.ts +1 -0
  650. package/dist/esm/components/heading.js +1 -1
  651. package/dist/esm/components/heading.js.map +3 -3
  652. package/dist/esm/components/index.d.ts +1 -0
  653. package/dist/esm/components/index.js +1 -1
  654. package/dist/esm/components/index.js.map +2 -2
  655. package/dist/esm/components/input-number.d.ts +15 -15
  656. package/dist/esm/components/link.d.ts +6 -6
  657. package/dist/esm/components/picture.js +1 -1
  658. package/dist/esm/components/picture.js.map +3 -3
  659. package/dist/esm/components/tabs.d.ts +2 -2
  660. package/dist/esm/components/tabs.js +1 -1
  661. package/dist/esm/components/tabs.js.map +2 -2
  662. package/dist/esm/helpers/utils.d.ts +1 -0
  663. package/dist/esm/helpers/utils.js +1 -1
  664. package/dist/esm/helpers/utils.js.map +3 -3
  665. package/dist/esm/hooks/useRollout.d.ts +2 -2
  666. package/dist/esm/hooks/useRollout.js +1 -1
  667. package/dist/esm/hooks/useRollout.js.map +3 -3
  668. package/dist/esm/shared/ErrorBoundary.d.ts +18 -0
  669. package/dist/esm/shared/ErrorBoundary.js +2 -0
  670. package/dist/esm/shared/ErrorBoundary.js.map +7 -0
  671. package/dist/esm/shared/Styles.d.ts +4 -4
  672. package/dist/esm/shared/Styles.js +1 -1
  673. package/dist/esm/shared/Styles.js.map +3 -3
  674. package/dist/esm/stories/InlineVideo.stories.js +164 -0
  675. package/dist/esm/stories/InlineVideo.stories.js.map +7 -0
  676. package/dist/esm/stories/MarqueeReview.stories.js +19 -0
  677. package/dist/esm/stories/MarqueeReview.stories.js.map +7 -0
  678. package/dist/esm/stories/MediaSceneSwitcher.stories.js +2 -0
  679. package/dist/esm/stories/MediaSceneSwitcher.stories.js.map +7 -0
  680. package/dist/esm/stories/ProductNav.stories.js +2 -0
  681. package/dist/esm/stories/ProductNav.stories.js.map +7 -0
  682. package/dist/esm/stories/ThreeDCarousel.stories.js +118 -0
  683. package/dist/esm/stories/ThreeDCarousel.stories.js.map +7 -0
  684. package/dist/esm/stories/featureCards.stories.js +61 -0
  685. package/dist/esm/stories/featureCards.stories.js.map +7 -0
  686. package/dist/esm/stories/featureShowcase.stories.js +44 -0
  687. package/dist/esm/stories/featureShowcase.stories.js.map +7 -0
  688. package/dist/esm/stories/imageTextFeature.stories.js +50 -0
  689. package/dist/esm/stories/imageTextFeature.stories.js.map +7 -0
  690. package/dist/esm/stories/imageWithText.stories.js +84 -0
  691. package/dist/esm/stories/imageWithText.stories.js.map +7 -0
  692. package/dist/esm/stories/ksp.stories.js +128 -0
  693. package/dist/esm/stories/ksp.stories.js.map +7 -0
  694. package/dist/esm/stories/picture.stories.js +2 -2
  695. package/dist/esm/stories/picture.stories.js.map +3 -3
  696. package/dist/esm/stories/productCompare.stories.js +54 -0
  697. package/dist/esm/stories/productCompare.stories.js.map +7 -0
  698. package/dist/esm/stories/productHero.stories.js +50 -0
  699. package/dist/esm/stories/productHero.stories.js.map +7 -0
  700. package/dist/esm/stories/shelfDisplay.stories.js +1 -1
  701. package/dist/esm/stories/shelfDisplay.stories.js.map +2 -2
  702. package/dist/esm/stories/specsComparison.stories.js +105 -0
  703. package/dist/esm/stories/specsComparison.stories.js.map +7 -0
  704. package/dist/esm/stories/tabWithImage.stories.js +53 -0
  705. package/dist/esm/stories/tabWithImage.stories.js.map +7 -0
  706. package/dist/esm/stories/tabsWithMedia.stories.js +68 -0
  707. package/dist/esm/stories/tabsWithMedia.stories.js.map +7 -0
  708. package/dist/esm/stories/videoFeature.stories.js +56 -0
  709. package/dist/esm/stories/videoFeature.stories.js.map +7 -0
  710. package/dist/esm/types/props.d.ts +9 -2
  711. package/package.json +20 -17
  712. package/style.css +39 -0
  713. package/tailwind.config.js +24 -0
  714. package/dist/cjs/stories/HeroBanner.stories.d.ts +0 -28
  715. package/dist/cjs/stories/MemberEquity.stories.d.ts +0 -9
  716. package/dist/cjs/stories/MultiLayoutGraphicBlock.stories.d.ts +0 -9
  717. package/dist/cjs/stories/accordionCards.stories.d.ts +0 -17
  718. package/dist/cjs/stories/alert.stories.d.ts +0 -27
  719. package/dist/cjs/stories/avatar.stories.d.ts +0 -39
  720. package/dist/cjs/stories/badge.stories.d.ts +0 -31
  721. package/dist/cjs/stories/bizTabs.stories.d.ts +0 -7
  722. package/dist/cjs/stories/board.stories.d.ts +0 -6
  723. package/dist/cjs/stories/brandEquity.stories.d.ts +0 -16
  724. package/dist/cjs/stories/button.stories.d.ts +0 -56
  725. package/dist/cjs/stories/card.stories.d.ts +0 -27
  726. package/dist/cjs/stories/carousel.stories.d.ts +0 -8
  727. package/dist/cjs/stories/category.stories.d.ts +0 -17
  728. package/dist/cjs/stories/checkbox.stories.d.ts +0 -46
  729. package/dist/cjs/stories/container.stories.d.ts +0 -28
  730. package/dist/cjs/stories/cpnBanner.stories.d.ts +0 -14
  731. package/dist/cjs/stories/cpnCountdown.stories.d.ts +0 -12
  732. package/dist/cjs/stories/cpnNavigation.stories.d.ts +0 -14
  733. package/dist/cjs/stories/cpnProductcard.stories.d.ts +0 -14
  734. package/dist/cjs/stories/cpnTitle.stories.d.ts +0 -14
  735. package/dist/cjs/stories/creativeModule.stories.d.ts +0 -19
  736. package/dist/cjs/stories/dialog.stories.d.ts +0 -20
  737. package/dist/cjs/stories/drawer.stories.d.ts +0 -20
  738. package/dist/cjs/stories/drop-down.stories.d.ts +0 -16
  739. package/dist/cjs/stories/evaluate.stories.d.ts +0 -16
  740. package/dist/cjs/stories/faq.stories.d.ts +0 -21
  741. package/dist/cjs/stories/graphic.stories.d.ts +0 -64
  742. package/dist/cjs/stories/graphicAttractionBlock.stories.d.ts +0 -6
  743. package/dist/cjs/stories/grid.stories.d.ts +0 -22
  744. package/dist/cjs/stories/heading.stories.d.ts +0 -84
  745. package/dist/cjs/stories/input-number.stories.d.ts +0 -39
  746. package/dist/cjs/stories/input.stories.d.ts +0 -35
  747. package/dist/cjs/stories/link.stories.d.ts +0 -69
  748. package/dist/cjs/stories/marquee.stories.d.ts +0 -30
  749. package/dist/cjs/stories/mediaplayerBase.stories.d.ts +0 -6
  750. package/dist/cjs/stories/mediaplayerMulti.stories.d.ts +0 -16
  751. package/dist/cjs/stories/picture.stories.d.ts +0 -23
  752. package/dist/cjs/stories/popover.stories.d.ts +0 -17
  753. package/dist/cjs/stories/radio.stories.d.ts +0 -39
  754. package/dist/cjs/stories/shelfDisplay.stories.d.ts +0 -16
  755. package/dist/cjs/stories/skeleton.stories.d.ts +0 -20
  756. package/dist/cjs/stories/slogan.stories.d.ts +0 -20
  757. package/dist/cjs/stories/specs.stories.d.ts +0 -13
  758. package/dist/cjs/stories/tabs.stories.d.ts +0 -373
  759. package/dist/cjs/stories/text.stories.d.ts +0 -86
  760. package/dist/cjs/stories/whychoose.stories.d.ts +0 -21
  761. package/dist/esm/stories/HeroBanner.stories.d.ts +0 -28
  762. package/dist/esm/stories/MemberEquity.stories.d.ts +0 -9
  763. package/dist/esm/stories/MultiLayoutGraphicBlock.stories.d.ts +0 -9
  764. package/dist/esm/stories/accordionCards.stories.d.ts +0 -17
  765. package/dist/esm/stories/alert.stories.d.ts +0 -27
  766. package/dist/esm/stories/avatar.stories.d.ts +0 -39
  767. package/dist/esm/stories/badge.stories.d.ts +0 -31
  768. package/dist/esm/stories/bizTabs.stories.d.ts +0 -7
  769. package/dist/esm/stories/board.stories.d.ts +0 -6
  770. package/dist/esm/stories/brandEquity.stories.d.ts +0 -16
  771. package/dist/esm/stories/button.stories.d.ts +0 -56
  772. package/dist/esm/stories/card.stories.d.ts +0 -27
  773. package/dist/esm/stories/carousel.stories.d.ts +0 -8
  774. package/dist/esm/stories/category.stories.d.ts +0 -17
  775. package/dist/esm/stories/checkbox.stories.d.ts +0 -46
  776. package/dist/esm/stories/container.stories.d.ts +0 -28
  777. package/dist/esm/stories/cpnBanner.stories.d.ts +0 -14
  778. package/dist/esm/stories/cpnCountdown.stories.d.ts +0 -12
  779. package/dist/esm/stories/cpnNavigation.stories.d.ts +0 -14
  780. package/dist/esm/stories/cpnProductcard.stories.d.ts +0 -14
  781. package/dist/esm/stories/cpnTitle.stories.d.ts +0 -14
  782. package/dist/esm/stories/creativeModule.stories.d.ts +0 -19
  783. package/dist/esm/stories/dialog.stories.d.ts +0 -20
  784. package/dist/esm/stories/drawer.stories.d.ts +0 -20
  785. package/dist/esm/stories/drop-down.stories.d.ts +0 -16
  786. package/dist/esm/stories/evaluate.stories.d.ts +0 -16
  787. package/dist/esm/stories/faq.stories.d.ts +0 -21
  788. package/dist/esm/stories/graphic.stories.d.ts +0 -64
  789. package/dist/esm/stories/graphicAttractionBlock.stories.d.ts +0 -6
  790. package/dist/esm/stories/grid.stories.d.ts +0 -22
  791. package/dist/esm/stories/heading.stories.d.ts +0 -84
  792. package/dist/esm/stories/input-number.stories.d.ts +0 -39
  793. package/dist/esm/stories/input.stories.d.ts +0 -35
  794. package/dist/esm/stories/link.stories.d.ts +0 -69
  795. package/dist/esm/stories/marquee.stories.d.ts +0 -30
  796. package/dist/esm/stories/mediaplayerBase.stories.d.ts +0 -6
  797. package/dist/esm/stories/mediaplayerMulti.stories.d.ts +0 -16
  798. package/dist/esm/stories/picture.stories.d.ts +0 -23
  799. package/dist/esm/stories/popover.stories.d.ts +0 -17
  800. package/dist/esm/stories/radio.stories.d.ts +0 -39
  801. package/dist/esm/stories/shelfDisplay.stories.d.ts +0 -16
  802. package/dist/esm/stories/skeleton.stories.d.ts +0 -20
  803. package/dist/esm/stories/slogan.stories.d.ts +0 -20
  804. package/dist/esm/stories/specs.stories.d.ts +0 -13
  805. package/dist/esm/stories/tabs.stories.d.ts +0 -373
  806. package/dist/esm/stories/text.stories.d.ts +0 -86
  807. package/dist/esm/stories/whychoose.stories.d.ts +0 -21
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/biz-components/HeaderNavigation/index.tsx"],
4
- "sourcesContent": ["'use client'\nimport React, {\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from 'react'\n\nimport { Picture, Text, Button, Container, Link, Heading } from '../../components/index.js'\n\nimport { withLayout } from '../../shared/Styles.js'\n\nimport { cn, atobID } from '../../helpers/utils.js'\n\nimport type {\n MobilePrimaryNavigationData,\n MobileSecondaryNavigationData,\n MobileNavigationProps,\n DesktopNavigationProps,\n HeaderNavigationProps,\n} from './types.js'\nimport NavProvider, { useNavContext } from './NavProvider.js'\n\nimport { HeaderNavigationMenu, HeaderNavigationBlockType, HeaderNavigationActionBlockType } from './types.js'\n\nimport { useMediaQuery } from 'react-responsive'\nimport { debounce, throttle } from 'es-toolkit'\nimport jump from 'jump.js'\n\nimport { useGSAP } from '@gsap/react'\nimport { gsap } from 'gsap'\nimport type { Product, ProductVariant } from '../../cpn-components/CpnProductCard/types.js'\n\nimport { WithSidebar, WithSupports, WithMulticol, WithGroupCategory } from './withCategory.js'\n\nimport { Menu, Close, User, RightArrow, LeftArrow, DownArrow, Polygon } from './icons/index.js'\n\nimport NavigationSearch from '../NavigationSearch/index.js'\n\nconst HeaderNavigation = forwardRef<HTMLDivElement, HeaderNavigationProps>((props, ref) => {\n const {\n data: { headerNavigation } = {},\n buildProps,\n event,\n profile,\n theme = 'light',\n isTop = false,\n searchResult,\n onSearch,\n isSearching,\n keywords,\n onPrimaryNavClick,\n onSeriesProductClick,\n onSidebarNavClick,\n headerId,\n cartCount,\n } = props\n\n const searchRef = useRef<HTMLDivElement>(null)\n const [searchOpen, setSearchOpen] = useState(false)\n const [headerHidden, setHeaderHidden] = useState(false)\n const [changeHeaderBackground, setChangeHeaderBackground] = useState(false)\n const [isMobile, setIsMobile] = useState(false)\n\n const headerRef = useRef<HTMLDivElement>(null)\n\n const resizeWindow = () => {\n const offsetWidth = document?.querySelector('body')?.offsetWidth || 0\n setIsMobile(offsetWidth <= 1440)\n }\n\n useEffect(() => {\n resizeWindow()\n window.addEventListener('resize', resizeWindow)\n return () => {\n window.removeEventListener('resize', resizeWindow)\n }\n }, [])\n\n useImperativeHandle(ref, () => headerRef.current as HTMLDivElement)\n\n useEffect(() => {\n if (headerRef.current && isTop) {\n jump(headerRef.current, { duration: 0, offset: headerRef.current?.getBoundingClientRect()?.bottom || 0 })\n }\n }, [isTop])\n\n // useEffect(() => {\n // let upwardDistance = 0\n // let lastScrollY = 0\n // const showDownNav = throttle(latest => {\n // const delta = lastScrollY - latest\n // if (delta > 0) {\n // upwardDistance += delta\n // if (upwardDistance >= 300) {\n // setHeaderHidden(false)\n // upwardDistance = 0\n // }\n // } else {\n // setHeaderHidden(latest > 300)\n // }\n // setChangeHeaderBackground(latest > 30)\n // lastScrollY = latest\n // }, 200)\n\n // const scrollAnimate = () => {\n // let scrollTop = 0\n // if (document?.documentElement && document?.documentElement?.scrollTop) {\n // scrollTop = document?.documentElement.scrollTop\n // } else if (document?.body) {\n // scrollTop = document?.body.scrollTop\n // }\n // showDownNav(scrollTop)\n // }\n\n // window.addEventListener('scroll', scrollAnimate)\n\n // return () => window.removeEventListener('scroll', scrollAnimate)\n // }, [])\n\n useEffect(() => {\n if (event) {\n event.search = () => setSearchOpen(true)\n }\n }, [event])\n\n useGSAP(() => {\n if (searchRef?.current && searchOpen) {\n gsap.fromTo(\n searchRef.current,\n {\n height: 0,\n },\n {\n height: 'auto',\n duration: 0.3,\n }\n )\n }\n }, [searchOpen])\n\n useEffect(() => {\n document.documentElement.style.overflow = searchOpen ? 'hidden' : 'auto'\n }, [searchOpen])\n\n const searchPage = useMemo(() => {\n return (\n headerNavigation?.headerBar?.actions?.find(\n (item: any) => item?.blockType === HeaderNavigationActionBlockType.Search\n )?.searchBar?.[0] || {}\n )\n }, [headerNavigation])\n\n return (\n <NavProvider\n buildProps={buildProps}\n profile={profile}\n isMobile={isMobile}\n event={event}\n payloadData={headerNavigation}\n onSidebarNavClick={onSidebarNavClick}\n onSeriesProductClick={onSeriesProductClick}\n cartCount={cartCount}\n >\n <header\n id={headerId || 'header'}\n data-ui-component-id=\"HeaderNavigation\"\n // className={cn('sticky top-0 z-[100] transition-transform duration-500 ease-in-out', {\n // ['translate-y-[-100%]']: headerHidden,\n // })}\n className=\"relative z-[100] bg-white\"\n ref={headerRef}\n >\n <div\n className={cn(\n 'hover:bg-white hover:text-black',\n theme === 'light' ? 'text-black' : 'text-white',\n // {\n // ['!bg-white transition-all duration-500 ease-in-out']: changeHeaderBackground,\n // },\n {\n // ['hover:!text-black']: theme === 'dark',\n // ['!text-black']: changeHeaderBackground,\n }\n )}\n onClick={() => setChangeHeaderBackground(true)}\n >\n <DesktopNavigation\n data={headerNavigation}\n className=\"desktop:block hidden !bg-white\"\n theme={theme}\n onNavItemClick={() => setChangeHeaderBackground(true)}\n onPrimaryNavClick={onPrimaryNavClick}\n />\n <MobileNavigation\n data={headerNavigation}\n className=\"desktop:hidden block !bg-white\"\n onPrimaryNavClick={onPrimaryNavClick}\n />\n {searchOpen && (\n <div\n className=\"absolute left-0 top-0 z-[60] flex w-full flex-col bg-black/70\"\n style={{ height: `calc(100dvh - ${headerRef?.current?.getBoundingClientRect()?.top}px)` }}\n >\n <div ref={searchRef} className={cn('overflow-y-auto', {})}>\n <NavigationSearch\n data={searchPage}\n keywords={keywords}\n isSearching={isSearching}\n searchResult={searchResult}\n onSearch={(value: string) => {\n onSearch?.(value)\n }}\n onClose={() => {\n onSearch?.()\n setSearchOpen(false)\n }}\n />\n </div>\n <div className=\"flex-1 bg-transparent\" onClick={() => setSearchOpen(false)} />\n </div>\n )}\n </div>\n </header>\n </NavProvider>\n )\n})\n\nconst DesktopNavigation = forwardRef<HTMLDivElement, DesktopNavigationProps>((props, ref) => {\n const { data, onNavItemClick, className, theme, onPrimaryNavClick } = props\n const { event, profile } = useNavContext()\n const [downdownHover, setDowndownHover] = useState(false)\n\n const groupCategories = useMemo(() => {\n return WithGroupCategory(data?.categories?.filter((item: any) => item?.pcShow)) as any[][]\n }, [data])\n\n const [categoriesItem, setCategoriesItem] = useState<any>(null)\n const [navStatusArray, setNavStatusArray] = useState<{ index: number; groupIndex: number; open: boolean }[][]>([])\n const profileRef = useRef<HTMLDivElement>(null)\n const [userProfileOpen, setUserProfileOpen] = useState(false)\n const headerRef = useRef<HTMLDivElement>(null)\n const dropdownRef = useRef<HTMLDivElement>(null)\n const navItemRefs = useRef<HTMLDivElement[][]>(\n groupCategories.map((categories: any) => Array(categories?.length || 0).fill(null))\n )\n\n useEffect(() => {\n if (groupCategories?.length) {\n setNavStatusArray(\n groupCategories?.map((groupItem: any, groupIndex: number) => {\n return groupItem?.map((_: any, index: number) => ({ groupIndex, index, open: false }))\n })\n )\n }\n }, [groupCategories])\n\n const currentNavItem = useMemo(() => {\n let currentNavItem: { index: number; groupIndex: number; open: boolean } | null = null\n for (const groupItem of navStatusArray) {\n for (const item of groupItem) {\n if (item.open) {\n currentNavItem = item\n break\n }\n }\n if (currentNavItem) break\n }\n return currentNavItem\n }, [navStatusArray])\n\n useEffect(() => {\n document.documentElement.style.overflow = currentNavItem?.open || userProfileOpen ? 'hidden' : 'auto'\n }, [currentNavItem?.open, userProfileOpen])\n\n const handleNavItemClick = (e: any, groupIndex: number, index: number) => {\n setUserProfileOpen(false)\n if (categoriesItem?.components?.[0]?.blockType === HeaderNavigationBlockType.Links) {\n // link\u6A21\u5757\u7279\u6B8A\u5904\u7406\n categoriesItem?.components?.[0]?.url && window.open(categoriesItem?.components?.[0]?.url)\n } else {\n const categories = groupCategories?.flat() || []\n const position = categories?.findIndex(item => item?.id === groupCategories[groupIndex][index]?.id)\n e.stopPropagation()\n onNavItemClick?.()\n onPrimaryNavClick?.(categories[position], position)\n setCategoriesItem(groupCategories[groupIndex][index])\n setNavStatusArray(prev =>\n prev.map(groupItem =>\n groupItem.map(item =>\n item.groupIndex === groupIndex && item.index === index\n ? { ...item, open: !item.open }\n : { ...item, open: false }\n )\n )\n )\n }\n }\n\n const handleNavMenuClose = () => {\n setNavStatusArray(prev => prev.map(groupItem => groupItem.map(item => ({ ...item, open: false }))))\n }\n\n const currentBlockTypeCategories = useMemo(() => {\n if (categoriesItem) return categoriesItem?.components?.[0]?.blockType\n }, [categoriesItem])\n\n const SidebarDropdownComp = WithSidebar(SidebarDropdown, categoriesItem)\n const MulticolDropdownComp = WithMulticol(MulticolDropdown, categoriesItem)\n const SupportsDropdownComp = WithSupports(SupportsDropdown, {\n categoriesItem,\n currentNavItemRef: navItemRefs.current?.[currentNavItem?.groupIndex || 0]?.[currentNavItem?.index || 0],\n })\n\n const DropdownComp = useMemo(() => {\n switch (currentBlockTypeCategories) {\n case HeaderNavigationBlockType.Sidebar:\n return <SidebarDropdownComp />\n case HeaderNavigationBlockType.Supports:\n return <SupportsDropdownComp />\n case HeaderNavigationBlockType.Multicol:\n return <MulticolDropdownComp />\n default:\n return null\n }\n }, [currentBlockTypeCategories, categoriesItem])\n\n const actions = useMemo(() => {\n return data?.headerBar?.actions?.filter((item: any) => item?.pcShow)\n }, [data])\n\n const profileAction = useMemo(() => {\n return actions?.find((item: any) => item?.blockType === HeaderNavigationActionBlockType.Profile)\n }, [actions])\n\n const handleProfileClick = useCallback(() => {\n setUserProfileOpen(prev => !prev)\n }, [])\n\n useEffect(() => {\n if (profileRef?.current) {\n const profileRefElement = profileRef.current as HTMLDivElement\n profileRefElement.addEventListener('click', handleProfileClick)\n\n return () => {\n profileRefElement.removeEventListener('click', handleProfileClick)\n }\n }\n }, [handleProfileClick])\n\n useGSAP(() => {\n if (currentNavItem?.open) {\n gsap.fromTo(\n dropdownRef?.current,\n {\n height: 0,\n },\n {\n height: 'auto',\n }\n )\n }\n }, [currentNavItem?.open])\n\n return (\n <Container className={cn('relative h-[96px]', className)}>\n <div ref={headerRef} onClick={handleNavMenuClose} className=\"flex h-full flex-col justify-end gap-4\">\n <div className=\"flex items-center justify-between\">\n <Logo />\n <Actions ref={profileRef} actions={actions} activeStatus={userProfileOpen} />\n </div>\n <div className=\"flex justify-between\">\n {groupCategories?.map((groupItem: any, groupIndex: number) => {\n return (\n <div key={`groupCategory-${groupIndex}`} className=\"flex gap-3\">\n {groupItem?.map((item: any, index: number) => {\n return (\n <div\n key={item.id}\n ref={(el: HTMLDivElement) => {\n navItemRefs.current[groupIndex][index] = el\n }}\n className=\"group cursor-pointer\"\n >\n <div className=\"relative\">\n <div\n className=\"flex items-center gap-1 pb-4\"\n onClick={e => handleNavItemClick(e, groupIndex, index)}\n >\n <Text html={item.text} className=\"text-sm font-bold leading-[1.4]\" />\n <DownArrow\n className={cn('size-4 opacity-0 transition-opacity duration-500 group-hover:opacity-100', {\n ['rotate-180']:\n currentNavItem?.groupIndex === groupIndex && currentNavItem?.index === index,\n ['opacity-100']:\n downdownHover &&\n currentNavItem?.groupIndex === groupIndex &&\n currentNavItem?.index === index,\n })}\n />\n </div>\n <div\n className={cn(\n 'absolute bottom-0 left-0 h-[2px] w-0 transition-all duration-500',\n {\n 'w-[calc(100%-20px)]':\n currentNavItem?.groupIndex === groupIndex && currentNavItem?.index === index,\n },\n theme === 'dark' ? 'bg-white' : 'bg-[#080A0F]'\n )}\n />\n </div>\n </div>\n )\n })}\n </div>\n )\n })}\n </div>\n </div>\n <div\n className={cn(\n 'absolute left-0 top-full z-[999] flex w-full flex-col overflow-hidden border-t border-b-[#E4E5E6] bg-black/70 text-black',\n {\n hidden: !(currentNavItem?.open && categoriesItem),\n }\n )}\n onMouseEnter={() => setDowndownHover(true)}\n onMouseLeave={() => setDowndownHover(false)}\n style={{ height: `calc(100dvh - ${headerRef?.current?.getBoundingClientRect()?.bottom}px)` }}\n >\n <div\n ref={dropdownRef}\n className={cn('relative z-50', {\n 'overflow-hidden': currentBlockTypeCategories !== HeaderNavigationBlockType.Supports,\n })}\n >\n {DropdownComp}\n </div>\n <div className=\"flex-1 bg-transparent\" onClick={handleNavMenuClose} />\n </div>\n {userProfileOpen && (\n <div\n className=\"absolute left-0 top-full z-[999] flex h-dvh w-full bg-black/70\"\n // style={{\n // height: `calc(100dvh - ${profileRef?.current?.getBoundingClientRect()?.bottom}px)`,\n // top: `calc(96px)`,\n // }}\n >\n <div\n className=\"absolute w-[272px] bg-white p-4\"\n style={{\n right: `calc(100% - ${profileRef?.current?.getBoundingClientRect()?.right}px)`,\n top: '-36px',\n }}\n >\n {profile?.email ? (\n <>\n <Text html={profile?.nick_name || profileAction?.welcome} className=\"text-sm font-bold\" />\n <div className=\"mt-2 h-px bg-[#D9D9D9]\" />\n <div className=\"mt-2\">\n {profileAction?.profiles?.map((item: any) => (\n <MenuItem className=\"py-2\" key={item.id} label={item?.title} href={item?.url} />\n ))}\n </div>\n </>\n ) : (\n <>\n <Polygon className=\"absolute -top-2 right-[46px] z-30 text-white\" />\n <Text html={profileAction?.benefits_title} className=\"text-sm font-bold leading-[1.4]\" />\n <div className=\"mt-2 flex flex-col gap-1\">\n {profileAction?.benefits?.map((item: any) => (\n <div key={item.id} className=\"flex items-center gap-[6px]\">\n <Picture\n source={item.benefitIcon?.url}\n className=\"size-4\"\n alt={item.benefit}\n width={16}\n height={16}\n />\n <Text html={item.benefit} className=\"text-sm font-bold leading-[1.4]\" />\n </div>\n ))}\n </div>\n <div className=\"mt-4 flex items-center gap-2\">\n <Button variant=\"secondary\" size=\"lg\" onClick={() => event?.join?.()}>\n <Text html={profileAction?.primaryButton || 'Join Now'} className=\"font-bold\" />\n </Button>\n <Button variant=\"primary\" size=\"lg\" onClick={() => event?.login?.()}>\n <Text html={profileAction?.secondaryButton || 'Log In'} className=\"font-bold\" />\n </Button>\n </div>\n </>\n )}\n </div>\n <div className=\"flex-1 bg-transparent\" onClick={() => setUserProfileOpen(false)} />\n </div>\n )}\n </Container>\n )\n})\n\n/**\n * \u4FA7\u8FB9\u680F\u4E0B\u62C9\n * @param categoriesItem \u5206\u7C7B\u9879\n */\nconst SidebarDropdown = React.memo(\n ({ sidebarCategoriesMetadata, seriesMetadata }: { sidebarCategoriesMetadata: any; seriesMetadata: any }) => {\n const { buildProps, onSidebarNavClick } = useNavContext()\n const [expandedSubcategory, setExpandedSubcategory] = useState<{ index: number; open: boolean }[]>([])\n const [activeSubSubcategoryIndex, setActiveSubSubcategoryIndex] = useState(-1)\n const sidebarDropdownRef = useRef<HTMLDivElement>(null)\n\n const initExpandedSubcategory = useCallback(() => {\n const subcategories = sidebarCategoriesMetadata?.subcategories\n if (!subcategories?.length) return\n\n const withSubSubCategoriesIndex = subcategories.findIndex((item: any) => !!item?.subSubCategories)\n const withoutSubSubCategoriesIndex = subcategories.findIndex((item: any) => !item?.subSubCategories)\n\n // \u521B\u5EFA\u5C55\u5F00\u72B6\u6001\u6570\u7EC4\n const expandedStates = subcategories.map((_: any, index: number) => ({\n index,\n open: withSubSubCategoriesIndex === index || withoutSubSubCategoriesIndex === index,\n }))\n\n setExpandedSubcategory(expandedStates)\n }, [sidebarCategoriesMetadata])\n\n useEffect(() => {\n initExpandedSubcategory()\n }, [initExpandedSubcategory])\n\n // \u901A\u8FC7categoriesMetadata\u7684subSubCategories\u7684label\u4E0Eseries\u7684label\u5339\u914D\n const matchSeriesMetadata = useMemo(() => {\n const subCategory =\n sidebarCategoriesMetadata?.subcategories?.[expandedSubcategory?.find(item => item.open)?.index || 0]\n const currentSeriesMetadata =\n seriesMetadata?.find((item: any) => item?.label?.toLowerCase() === subCategory?.label?.toLowerCase()) || {}\n if (subCategory?.collections) {\n const category = buildProps?.categories?.[subCategory?.collections] || {}\n return {\n label: currentSeriesMetadata?.label,\n isCollection: true,\n banner: currentSeriesMetadata?.banner,\n primary: currentSeriesMetadata?.primary,\n series: [\n {\n products: category?.products,\n },\n ],\n }\n } else {\n if (subCategory?.subSubCategories) {\n const activeSubSubcategory = subCategory?.subSubCategories?.[activeSubSubcategoryIndex]\n const currentActiveSeriesMetadata =\n seriesMetadata?.find(\n (item: any) => item?.label?.toLowerCase() === activeSubSubcategory?.label?.toLowerCase()\n ) || {}\n if (activeSubSubcategory?.collections) {\n const category = buildProps?.categories?.[activeSubSubcategory?.collections] || {}\n return {\n label: currentActiveSeriesMetadata?.label,\n isCollection: true,\n banner: currentActiveSeriesMetadata?.banner,\n primary: currentActiveSeriesMetadata?.primary,\n series: [\n {\n products: category?.products,\n },\n ],\n }\n } else {\n return currentActiveSeriesMetadata\n }\n } else {\n return currentSeriesMetadata\n }\n }\n }, [sidebarCategoriesMetadata, expandedSubcategory, activeSubSubcategoryIndex, seriesMetadata])\n\n const handleSubcategoryOpen = useCallback(\n (index: number, subcategoryItem: any) => {\n subcategoryItem?.subSubCategories?.length > 0\n ? setActiveSubSubcategoryIndex(0)\n : setActiveSubSubcategoryIndex(-1)\n\n if (subcategoryItem?.subSubCategories?.length > 0) {\n setExpandedSubcategory(prev =>\n prev.map(item => (item.index === index ? { ...item, open: true } : { ...item, open: false }))\n )\n } else {\n const subcategories = sidebarCategoriesMetadata?.subcategories\n const withSubSubCategoriesIndex = subcategories?.findIndex((item: any) => !!item?.subSubCategories)\n setExpandedSubcategory(prev =>\n prev.map(item => {\n return { ...item, open: item.index === index || item.index === withSubSubCategoriesIndex }\n })\n )\n }\n },\n [sidebarCategoriesMetadata, initExpandedSubcategory]\n )\n\n const handleSubSubcategoryOpen = (index: number, subSubindex: number) => {\n setExpandedSubcategory(prev =>\n prev.map(item => (item.index === index ? { ...item, open: true } : { ...item, open: false }))\n )\n setActiveSubSubcategoryIndex(subSubindex)\n }\n\n return (\n <Container childClassName=\"lg-desktop:gap-12 flex bg-white gap-8\">\n <div\n className=\"lg-desktop:basis-[356px] flex basis-[284px] flex-col gap-4 py-4\"\n style={{\n userSelect: 'none',\n }}\n ref={sidebarDropdownRef}\n >\n <div\n className=\"desktop:h-[416px] flex flex-col overflow-y-auto\"\n style={{\n scrollbarWidth: 'none',\n msOverflowStyle: 'none',\n }}\n >\n {sidebarCategoriesMetadata?.subcategories?.map((subItem: any, index: number) => {\n const hasSubSubCategory =\n Array.isArray(subItem?.subSubCategories) && subItem?.subSubCategories?.length > 0\n return (\n <div key={`subcategoryItem-${index}`}>\n <div\n className={cn('flex cursor-pointer items-center justify-between', {\n 'bg-[#F5F5F7]':\n !hasSubSubCategory && expandedSubcategory?.find(item => item.index === index)?.open,\n })}\n onClick={() => {\n handleSubcategoryOpen(index, subItem)\n onSidebarNavClick?.(subItem, index)\n }}\n >\n <Text html={subItem.label} className=\"p-4 text-sm font-bold leading-[1.4]\" />\n {hasSubSubCategory && (\n <DownArrow\n className={cn('size-4', {\n ['rotate-180']: expandedSubcategory?.find(item => item.index === index)?.open,\n })}\n />\n )}\n </div>\n {expandedSubcategory?.find(item => item.index === index)?.open && (\n <div className=\"flex flex-col\">\n {subItem.subSubCategories?.map((subSubItem: any, subSubindex: number) => (\n <Text\n html={subSubItem.label}\n onClick={() => {\n handleSubSubcategoryOpen(index, subSubindex)\n onSidebarNavClick?.(subSubItem, subSubindex)\n }}\n key={`subSubItem-${index}-${subSubindex}`}\n className={cn(\n 'cursor-pointer px-6 py-4 text-sm font-bold leading-[1.4] text-[#6D6D6F] hover:bg-[#F5F5F7]',\n {\n 'bg-[#F5F5F7]': activeSubSubcategoryIndex === subSubindex,\n }\n )}\n />\n ))}\n </div>\n )}\n </div>\n )\n })}\n </div>\n {sidebarCategoriesMetadata && (\n <div className=\"flex\">\n <div className=\"flex flex-col gap-4\">\n {sidebarCategoriesMetadata?.primary && (\n <Button\n as=\"a\"\n href={`${sidebarCategoriesMetadata?.primary?.url}?ref=${sidebarCategoriesMetadata?.primary?.label}_shopall`}\n variant=\"primary\"\n size=\"lg\"\n className=\"lg-desktop:text-base text-sm\"\n >\n {sidebarCategoriesMetadata?.primary?.label}\n </Button>\n )}\n {sidebarCategoriesMetadata?.secondary && (\n <Button\n as=\"a\"\n href={sidebarCategoriesMetadata?.secondary?.url}\n variant=\"link\"\n size=\"lg\"\n className=\"lg-desktop:text-base justify-start !p-0 text-sm\"\n >\n {sidebarCategoriesMetadata?.secondary?.label}\n </Button>\n )}\n </div>\n </div>\n )}\n </div>\n <div className=\"flex-1 py-4\">\n {Reflect.ownKeys(matchSeriesMetadata).length > 0 && (\n <div className=\"mb-4 flex items-center justify-between\">\n <div className=\"flex items-center gap-2\">\n <Text\n html={matchSeriesMetadata?.label}\n className=\"lg-desktop:text-2xl text-xl font-bold leading-[1.4]\"\n />\n {matchSeriesMetadata?.primary && !matchSeriesMetadata?.primary?.hide && (\n <Button\n as=\"a\"\n href={`${matchSeriesMetadata?.primary?.url}?ref=${matchSeriesMetadata?.label}_viewmore`}\n variant=\"link\"\n size=\"lg\"\n className=\"lg-desktop:text-base justify-start !p-0 text-sm font-bold leading-[1.2] no-underline\"\n >\n {matchSeriesMetadata?.primary?.label}\n </Button>\n )}\n </div>\n <Link\n href={matchSeriesMetadata?.guide?.url}\n className=\"lg-desktop:text-base text-sm leading-[1.2] text-[#6D6D6F]\"\n >\n {matchSeriesMetadata?.guide?.label}\n </Link>\n </div>\n )}\n <div\n className=\"flex h-[426px] flex-col gap-4 overflow-y-auto\"\n style={{\n scrollbarWidth: 'none',\n msOverflowStyle: 'none',\n }}\n >\n {matchSeriesMetadata?.series?.map((seriesItem: any, seriesIndex: number) => (\n <div key={`seriesItem-${seriesIndex}`}>\n {seriesItem.label && (\n <Text html={seriesItem.label} className=\"mb-2 text-sm font-bold leading-[1.4] text-[#6D6D6F]\" />\n )}\n <div className=\"grid grid-cols-3 gap-4\">\n {!!matchSeriesMetadata?.banner && (\n <Link asChild={!matchSeriesMetadata?.banner?.href} href={matchSeriesMetadata?.banner?.href}>\n <div className=\"[&_img]:hover:duration-600 relative [&_img]:hover:scale-110 [&_img]:hover:transition-all\">\n <Picture\n source={matchSeriesMetadata?.banner?.imageUrl}\n className=\"laptop:h-[120px] h-[114px]\"\n imgClassName=\"object-cover h-full\"\n />\n <div className=\"absolute inset-x-0 bottom-0 p-4\">\n <Heading\n size={2}\n html={matchSeriesMetadata?.banner?.title || 'Buy in Guide'}\n className=\"font-bold text-white\"\n />\n <Text\n html={matchSeriesMetadata?.banner?.desc || '20.000mAh'}\n className=\"text-sm font-bold text-white\"\n />\n </div>\n </div>\n </Link>\n )}\n {seriesItem.products?.map((product: any, index: number) => (\n <SeriesProductItem\n seriesLabel={matchSeriesMetadata?.label}\n key={`seriesProductItem-${index}`}\n product={product}\n isCollection={matchSeriesMetadata?.isCollection}\n />\n ))}\n </div>\n </div>\n ))}\n </div>\n </div>\n </Container>\n )\n }\n)\n\n/**\n * \u591A\u5217\u4E0B\u62C9\n * @param categoriesItem \u5206\u7C7B\u9879\n */\nconst MulticolDropdown = ({ multicolMetadata }: { multicolMetadata: any }) => {\n const multicolDropdownRef = useRef<HTMLDivElement>(null)\n\n // useGSAP(() => {\n // gsap.fromTo(\n // multicolDropdownRef?.current,\n // {\n // height: 0,\n // },\n // {\n // height: 'auto',\n // duration: 0.5,\n // }\n // )\n // }, [])\n\n return (\n <div ref={multicolDropdownRef}>\n <Container childClassName=\"bg-white\" className=\"h-full\">\n <div className=\"flex gap-4 py-4\">\n {multicolMetadata?.map((item: any, index: number) => (\n <div key={`multicolItem-${item?.label}-${index}`} className=\"w-1/4\">\n <MulticolItem item={item} />\n </div>\n ))}\n </div>\n </Container>\n </div>\n )\n}\n\n/**\n * supports\u4E0B\u62C9\n * @param categoriesItem \u5206\u7C7B\u9879\n * @param currentNavItemRef \u5F53\u524D\u5BFC\u822A\u9879\n */\nconst SupportsDropdown = ({\n supportsMetadata,\n currentNavItemRef,\n}: {\n supportsMetadata: any\n currentNavItemRef: HTMLDivElement\n}) => {\n const supportsDropdownRef = useRef<HTMLDivElement>(null)\n const [navItemReact, setNavItemReact] = useState<DOMRect | null>(null)\n const [supportsDropdownHeight, setSupportsDropdownHeight] = useState(0)\n\n // useGSAP(() => {\n // gsap.fromTo(\n // supportsDropdownRef?.current,\n // {\n // height: 0,\n // },\n // {\n // height: supportsDropdownHeight,\n // duration: 0.5,\n // }\n // )\n // }, [supportsDropdownHeight])\n\n useEffect(() => {\n if (supportsDropdownRef?.current) {\n const rect = supportsDropdownRef?.current?.getBoundingClientRect()\n setSupportsDropdownHeight(rect.height)\n }\n }, [supportsDropdownRef])\n\n const debouncedHandleResize = debounce(() => {\n if (currentNavItemRef) {\n const rect = currentNavItemRef.getBoundingClientRect()\n setNavItemReact(rect)\n }\n }, 500)\n\n useEffect(() => {\n debouncedHandleResize()\n window.addEventListener('resize', debouncedHandleResize)\n return () => {\n window.removeEventListener('resize', debouncedHandleResize)\n }\n }, [debouncedHandleResize])\n\n useEffect(() => {\n if (currentNavItemRef) {\n const rect = currentNavItemRef.getBoundingClientRect()\n setNavItemReact(rect)\n }\n }, [currentNavItemRef])\n\n return (\n <div\n className=\"absolute top-0 h-full overflow-hidden bg-white transition-all duration-500\"\n style={{ right: `calc(100% - ${navItemReact?.right}px)`, height: supportsDropdownHeight }}\n >\n <div ref={supportsDropdownRef} className=\"p-4\">\n {supportsMetadata?.map((supportItem: any) => (\n <div key={supportItem.id} className=\"py-2\">\n <Link href={supportItem.url} className=\"text-sm font-bold leading-[1.4] no-underline\">\n {supportItem.label}\n </Link>\n </div>\n ))}\n </div>\n </div>\n )\n}\n\nconst SeriesProductItem = ({\n product,\n isCollection,\n position,\n seriesLabel,\n}: {\n product: any\n isCollection?: boolean\n position?: number\n seriesLabel?: string\n}) => {\n const { buildProps, onSeriesProductClick } = useNavContext()\n let productData = isCollection\n ? product\n : buildProps?.products?.find((item: Product) => item.handle === product.handle)\n const variant =\n productData?.variants?.find((item: ProductVariant) => item.sku === product.sku) || productData?.variants?.[0]\n\n const listingLink = useMemo(() => {\n return `/products/${productData?.handle}?variant=${atobID(variant?.id as string)}`\n }, [productData?.handle, variant?.id])\n\n const tags = useMemo(() => {\n return productData?.tags\n ?.filter?.((item: any) => item?.startsWith?.('CLtag'))\n ?.map?.((item: any) => item?.replace?.('CLtag:', ''))\n ?.slice?.(0, 2)\n }, [productData?.tags])\n\n if (!variant?.availableForSale) return null\n\n return (\n <Link\n href={listingLink}\n onClick={e => {\n e.preventDefault()\n window.open(listingLink)\n onSeriesProductClick?.(productData, position || 0, seriesLabel)\n }}\n className=\"no-underline hover:text-current\"\n >\n <div className=\"flex shrink-0 items-center gap-4 bg-[#F5F5F7] px-4 py-3 [&_img]:hover:scale-110\">\n <div className=\"shrink-0\">\n <Picture\n source={`${variant?.image?.url || product?.images?.[0]?.url}}`}\n width={90}\n height={90}\n className=\"size-[96px]\"\n imgClassName=\"object-contain h-full\"\n />\n </div>\n <div className=\"relative\">\n <div className=\"flex gap-1\">\n {Array.isArray(tags) &&\n tags?.map((tag: string) => (\n <Text\n as=\"p\"\n html={tag}\n className=\"text-brand-0 mb-1 inline-block h-[24px] whitespace-nowrap rounded-full border-[1.6px] border-[#00BEFA] px-[6px] text-sm font-bold !leading-[22px]\"\n />\n ))}\n </div>\n {/* {product?.badge && (\n <Text\n as=\"p\"\n html={product?.badge}\n className=\"text-brand-0 mb-1 inline-block h-[24px] rounded-full border-[1.6px] border-[#00BEFA] px-[6px] text-sm font-bold !leading-[24px]\"\n />\n )} */}\n <Text\n className=\"lg-desktop:h-[44px] lg-desktop:text-base line-clamp-2 h-[40px] text-sm font-bold leading-[1.4]\"\n html={productData?.title || product?.name}\n />\n {product?.desc && (\n <Text\n as=\"p\"\n html={product?.desc}\n className=\"lg-desktop:text-sm mt-1 line-clamp-1 text-xs font-bold leading-[1.4] text-[#6D6D6F]\"\n />\n )}\n </div>\n </div>\n </Link>\n )\n}\n\n/**\n * \u591A\u5217\u4E0B\u62C9\u9879\n * @param item \u591A\u5217\u4E0B\u62C9\u9879\n */\nconst MulticolItem = ({ item, allPicture }: { item: any; allPicture?: boolean }) => {\n return (\n <>\n {item?.columns && (\n <>\n <Text html={item.label} as=\"div\" className=\"my-2 text-sm font-bold leading-[1.4] text-[#6D6D6F]\" />\n <div className=\"mt-2 flex flex-col\">\n {item.columns?.map((columnItem: any) => (\n <div key={columnItem.label} className=\"flex items-center gap-1 py-2\">\n <Link\n href={`${columnItem.url}?ref=navMenu`}\n asChild={!columnItem.url}\n className=\"text-sm font-bold leading-[1.4] no-underline\"\n >\n {columnItem.label}\n </Link>\n {columnItem?.badge && (\n <Text\n as=\"p\"\n html={columnItem?.badge || 'badge'}\n className=\"text-brand-0 h-[24px] rounded-full border-[1.6px] border-[var(--brand-color-0)] px-[6px] text-sm font-bold !leading-[22px]\"\n />\n )}\n </div>\n ))}\n </div>\n </>\n )}\n {item?.imageUrl && (\n <div\n className={cn(\n 'laptop:h-[280px] desktop:h-[224px] lg-desktop:h-[280px] tablet:max-w-[346px] laptop:max-w-[440px] desktop:w-full relative h-[240px] max-w-[358px] overflow-hidden',\n {\n ['tablet:max-w-none laptop:max-w-none']: allPicture,\n }\n )}\n >\n <Link href={`${item.url}?ref=navMenu`} asChild={!item.url}>\n <Picture\n source={item.imageUrl}\n width={404}\n height={280}\n className=\"size-full\"\n imgClassName=\"object-cover h-full hover:scale-105 transition-all duration-300\"\n />\n <div className=\"absolute bottom-4 left-4 z-10 flex flex-col justify-end no-underline\">\n <Text\n html={item.title}\n className={cn('lg-desktop:text-2xl text-xl font-bold leading-[1.2] text-white', {\n 'text-black': item?.theme === 'dark',\n })}\n />\n {item.subtitle && (\n <Text\n html={item.subtitle}\n className={cn('text-sm font-bold leading-[1.4] text-white', {\n 'text-black': item?.theme === 'dark',\n })}\n />\n )}\n {item?.primary?.label && (\n <Button\n as=\"a\"\n href={item?.primary?.url}\n variant=\"link\"\n size=\"lg\"\n className={cn('mr-auto !p-0 text-sm font-bold leading-[1.4] text-white', {\n 'text-black': item?.theme === 'dark',\n })}\n >\n {item?.primary?.label || 'more'}\n </Button>\n )}\n </div>\n </Link>\n </div>\n )}\n </>\n )\n}\n\n/**\n * \u79FB\u52A8\u7AEF\u5BFC\u822A\n * @param menuHeight \u83DC\u5355\u9AD8\u5EA6\n * @param data \u5BFC\u822A\u6570\u636E\n */\nconst MobileNavigation = forwardRef<HTMLDivElement, MobileNavigationProps>(\n ({ data, className, onPrimaryNavClick }, ref) => {\n const groupCategories = useMemo(() => {\n return WithGroupCategory(data?.categories?.filter((item: any) => item?.mobileShow))\n }, [data])\n\n const { currentMenu, setCurrentMenu, subSubCategory } = useNavContext()\n const [mobileMenuOpen, setMobileMenuOpen] = useState(false)\n const [menuInnerHeight, setMenuInnerHeight] = useState(0)\n const [categoriesItem, setCategoriesItem] = useState<any>(null)\n\n const mobileMenuRef = useRef<HTMLDivElement>(null)\n\n useEffect(() => {\n if (mobileMenuRef?.current && mobileMenuOpen) {\n const rect = mobileMenuRef?.current?.getBoundingClientRect()\n setMenuInnerHeight(window?.innerHeight - (rect?.bottom || 0))\n }\n }, [mobileMenuOpen])\n\n useGSAP(() => {\n gsap.fromTo(\n mobileMenuRef.current,\n {\n height: 0,\n },\n {\n height: menuInnerHeight,\n duration: 0.3,\n }\n )\n }, [menuInnerHeight])\n\n useEffect(() => {\n document.documentElement.style.overflow = mobileMenuOpen ? 'hidden' : 'auto'\n }, [mobileMenuOpen])\n\n const currentBlockTypeCategories = useMemo(() => {\n return categoriesItem?.components?.[0]?.blockType\n }, [categoriesItem])\n\n const MobileSupportMenuComp = WithSupports(MobileSupportMenu, {\n categoriesItem,\n })\n\n const MobileSidebarMenuComp = WithSidebar(MobileSidebarMenu, categoriesItem)\n const MobileMulticolMenuComp = WithMulticol(MobileMulticolMenu, categoriesItem)\n\n const MobileCategoriesMenuComp = useMemo(() => {\n switch (currentBlockTypeCategories) {\n case HeaderNavigationBlockType.Sidebar:\n return <MobileSidebarMenuComp />\n case HeaderNavigationBlockType.Supports:\n return <MobileSupportMenuComp />\n case HeaderNavigationBlockType.Multicol:\n return <MobileMulticolMenuComp />\n default:\n return null\n }\n }, [currentBlockTypeCategories, categoriesItem, MobileSupportMenuComp])\n\n const handleSecondaryMenuClose = useCallback(() => {\n setMobileMenuOpen(false)\n setMenuInnerHeight(0)\n setCurrentMenu && setCurrentMenu(HeaderNavigationMenu.Primary)\n }, [setMobileMenuOpen, setMenuInnerHeight, setCurrentMenu])\n\n const menuActions = useMemo(() => {\n return data?.headerBar?.actions?.filter(\n (item: any) => item?.mobileShow && item?.blockType !== HeaderNavigationActionBlockType.Profile // \u79FB\u52A8\u7AEF\u4E0D\u663E\u793Aprofile\u6309\u94AE\n )\n }, [data])\n\n const profileAction = useMemo(() => {\n return (\n data?.headerBar?.actions?.find(\n (item: any) => item?.mobileShow && item?.blockType === HeaderNavigationActionBlockType.Profile\n ) || {}\n )\n }, [data])\n\n const MobileCategoriesHeaderComp = useMemo(() => {\n switch (currentMenu) {\n case HeaderNavigationMenu.Primary:\n return (\n <PrimaryHeader\n actions={menuActions}\n menuOpen={mobileMenuOpen}\n onMenuOpenClose={() => {\n setMobileMenuOpen(false)\n setMenuInnerHeight(0)\n }}\n onMenuOpenClick={() => setMobileMenuOpen(true)}\n />\n )\n case HeaderNavigationMenu.Secondary:\n return (\n <SecondaryHeader\n title={categoriesItem?.text}\n onMenuOpenClose={handleSecondaryMenuClose}\n onMenuBackClick={() => setCurrentMenu?.(HeaderNavigationMenu.Primary)}\n />\n )\n case HeaderNavigationMenu.Third:\n return (\n <SecondaryHeader\n title={subSubCategory?.label}\n onMenuOpenClose={handleSecondaryMenuClose}\n onMenuBackClick={() => setCurrentMenu?.(HeaderNavigationMenu.Secondary)}\n />\n )\n default:\n return null\n }\n }, [\n mobileMenuOpen,\n currentMenu,\n setCurrentMenu,\n categoriesItem,\n menuActions,\n subSubCategory,\n handleSecondaryMenuClose,\n ])\n\n const handlePrimaryMenuClick = useCallback(\n (groupIndex: number, index: number) => {\n const categoriesItem = Array.isArray(groupCategories)\n ? Array.isArray(groupCategories[groupIndex])\n ? // @ts-ignore\n groupCategories[groupIndex][index]\n : {}\n : {}\n setCategoriesItem(categoriesItem)\n if (categoriesItem?.components?.[0]?.blockType === HeaderNavigationBlockType.Links) {\n // link\u6A21\u5757\u7279\u6B8A\u5904\u7406\n categoriesItem?.components?.[0]?.url && window.open(categoriesItem?.components?.[0]?.url)\n } else {\n setCurrentMenu?.(HeaderNavigationMenu.Secondary)\n }\n },\n [groupCategories, setCurrentMenu]\n )\n\n return (\n <Container className={cn('relative h-[52px]', className)}>\n {/* \u79FB\u52A8\u7AEF\u5206\u7C7B\u83DC\u5355 */}\n {MobileCategoriesHeaderComp}\n {mobileMenuOpen && (\n <div\n ref={mobileMenuRef}\n className=\"absolute left-0 top-full z-[999] w-full overflow-y-auto border-t border-[#E4E5E6] bg-white text-black\"\n style={{ height: menuInnerHeight }}\n >\n {currentMenu === HeaderNavigationMenu.Primary ? (\n <MobilePrimaryMenu\n categories={groupCategories}\n onPrimaryMenuClick={handlePrimaryMenuClick}\n onPrimaryNavClick={onPrimaryNavClick}\n profileAction={profileAction}\n />\n ) : (\n MobileCategoriesMenuComp\n )}\n </div>\n )}\n </Container>\n )\n }\n)\n\n/**\n * \u79FB\u52A8\u7AEF\u4E00\u7EA7\u83DC\u5355\n * @param categories \u5206\u7C7B\n * @param onPrimaryMenuClick \u4E00\u7EA7\u83DC\u5355\u70B9\u51FB\n */\nconst MobilePrimaryMenu = ({\n categories,\n onPrimaryMenuClick,\n profileAction,\n onPrimaryNavClick,\n}: {\n categories: any\n onPrimaryMenuClick: (groupIndex: number, index: number) => void\n profileAction: any\n onPrimaryNavClick?: (category: any, position: number) => void\n}) => {\n const { onSidebarNavClick } = useNavContext()\n return (\n <div className=\"flex h-full flex-col justify-between\">\n <div className=\"tablet:px-8 laptop:px-16 p-4\">\n {categories?.map((groupItem: any, groupIndex: number) => (\n <div key={`groupCategory-${groupIndex}`} className=\"\">\n {groupItem?.map((item: any, index: number) => (\n <MenuItem\n key={item.id}\n label={item.text}\n onClick={() => {\n const flatCategories = categories?.flat() || []\n const position = flatCategories?.findIndex(\n (item: any) => item?.id === categories[groupIndex][index]?.id\n )\n onPrimaryMenuClick(groupIndex, index)\n onPrimaryNavClick?.(item, position)\n }}\n icon={item.components?.[0]?.icon}\n />\n ))}\n <div\n className={cn('my-2 h-px w-full bg-[#E5E5E7]', { ['hidden']: groupIndex === categories.length - 1 })}\n />\n </div>\n ))}\n </div>\n <ProfileComp profileAction={profileAction} />\n </div>\n )\n}\n\n/**\n * \u79FB\u52A8\u7AEF\u4FA7\u8FB9\u680F\u4E0B\u62C9\n * @param sidebarCategoriesMetadata \u4FA7\u8FB9\u680F\u5206\u7C7B\u5143\u6570\u636E\n * @param seriesMetadata \u4FA7\u8FB9\u680F\u7CFB\u5217\u5143\u6570\u636E\n */\nconst MobileSidebarMenu = ({\n sidebarCategoriesMetadata,\n seriesMetadata,\n}: {\n sidebarCategoriesMetadata: any\n seriesMetadata: any\n}) => {\n const {\n currentMenu,\n setCurrentMenu,\n subSubCategory,\n setSubSubCategory,\n setCurrentSeriesMetadata,\n currentSeriesMetadata,\n buildProps,\n onSidebarNavClick,\n } = useNavContext()\n const [expandedSubcategory, setExpandedSubcategory] = useState<{ index: number; open: boolean }[]>([])\n const [expandedSeriesCategories, setExpandedSeriesCategories] = useState<{ index: number; open: boolean }[]>([])\n\n useEffect(() => {\n if (sidebarCategoriesMetadata?.subcategories?.length) {\n setExpandedSubcategory(\n sidebarCategoriesMetadata?.subcategories?.map((_: any, index: number) => ({\n index,\n open: false,\n }))\n )\n }\n }, [sidebarCategoriesMetadata])\n\n useEffect(() => {\n if (subSubCategory?.subSubCategories?.length) {\n setExpandedSeriesCategories(\n subSubCategory?.subSubCategories?.map((_: any, index: number) => ({\n index,\n open: index === 0,\n }))\n )\n }\n }, [subSubCategory])\n\n const handleSubSubCategoryClick = useCallback(\n (item: any, subIndex?: number) => {\n setCurrentMenu && setCurrentMenu(HeaderNavigationMenu.Third)\n setSubSubCategory?.(item)\n const curSeriesMetadata =\n seriesMetadata?.find((seriesItem: any) =>\n subIndex !== undefined\n ? item?.subSubCategories?.[subIndex]?.label?.toLowerCase() === seriesItem.label?.toLowerCase()\n : item?.label?.toLowerCase() === seriesItem.label?.toLowerCase()\n ) || {}\n // \u901A\u8FC7categoriesMetadata\u7684subSubCategories\u7684label\u4E0Eseries\u7684label\u5339\u914D\n if (item?.collections) {\n const category = buildProps?.categories?.[item?.collections] || {}\n setCurrentSeriesMetadata?.({\n label: curSeriesMetadata?.label,\n isCollection: true,\n banner: curSeriesMetadata?.banner,\n primary: curSeriesMetadata?.primary,\n series: [\n {\n products: category?.products,\n },\n ],\n })\n } else {\n setCurrentSeriesMetadata?.(curSeriesMetadata)\n }\n },\n [seriesMetadata, sidebarCategoriesMetadata, setCurrentMenu, setSubSubCategory, setCurrentSeriesMetadata]\n )\n\n const defaultGuide = useMemo(() => {\n return seriesMetadata?.find((item: any) => !!item?.guide)?.guide\n }, [seriesMetadata, sidebarCategoriesMetadata])\n\n const MobileSidebarMenuComp = useMemo(() => {\n switch (currentMenu) {\n case HeaderNavigationMenu.Secondary:\n return (\n // \u4E8C\u7EA7\u83DC\u5355\n <div className=\"tablet:px-8 laptop:px-16 tablet:justify-start tablet:gap-16 flex h-full flex-col justify-between p-4\">\n <div>\n {sidebarCategoriesMetadata?.subcategories?.map((item: any, index: number) => {\n return (\n <div key={`${item.label}-${index}`}>\n <MenuItem\n label={item?.label}\n active={expandedSubcategory.find(item => item.index === index)?.open}\n onClick={() => {\n handleSubSubCategoryClick(item)\n onSidebarNavClick?.(item, index)\n }}\n />\n {/* {expandedSubcategory.find(item => item.index === index)?.open &&\n item.subSubCategories?.map((subItem: any, subIndex: number) => (\n <div\n key={`${index}-${subIndex}`}\n className=\"px-2 py-4\"\n onClick={() => handleSubSubCategoryClick(item, subIndex)}\n >\n <Text html={subItem.label} className=\"text-sm font-bold leading-[1.4]\" />\n </div>\n ))} */}\n </div>\n )\n })}\n </div>\n <div className=\"tablet:items-start flex flex-col items-center gap-4\">\n {sidebarCategoriesMetadata?.primary && (\n <Button\n as=\"a\"\n href={`${sidebarCategoriesMetadata?.primary?.url}?ref=${sidebarCategoriesMetadata?.primary?.label}_shopall`}\n variant=\"primary\"\n size=\"lg\"\n className=\"tablet:w-auto w-full text-base\"\n >\n {sidebarCategoriesMetadata?.primary?.label}\n </Button>\n )}\n {sidebarCategoriesMetadata?.secondary && (\n <Button\n as=\"a\"\n href={sidebarCategoriesMetadata?.secondary?.url}\n variant=\"link\"\n size=\"lg\"\n className=\"tablet:w-auto tablet:px-0 w-full py-0 text-base\"\n >\n {sidebarCategoriesMetadata?.secondary?.label}\n </Button>\n )}\n </div>\n </div>\n )\n case HeaderNavigationMenu.Third:\n return (\n // \u4E09\u7EA7\u83DC\u5355\n <div className=\"tablet:px-8 laptop:px-16 p-4\">\n {subSubCategory?.subSubCategories ? (\n subSubCategory?.subSubCategories?.map((subSubCategoryItem: any, index: number) => {\n const curSeriesMetadata =\n seriesMetadata?.find(\n (item: any) => item.label.toLowerCase() === subSubCategoryItem?.label?.toLowerCase()\n ) || {}\n let matchSeriesMetadata = {} as any\n if (subSubCategoryItem?.collections) {\n const category = buildProps?.categories?.[subSubCategoryItem?.collections] || {}\n matchSeriesMetadata = {\n label: curSeriesMetadata?.label,\n isCollection: true,\n banner: curSeriesMetadata?.banner,\n primary: curSeriesMetadata?.primary,\n series: [\n {\n products: category?.products,\n },\n ],\n }\n } else {\n matchSeriesMetadata = curSeriesMetadata\n }\n return (\n <div key={`${subSubCategoryItem.label}-${index}`}>\n {Reflect.ownKeys(subSubCategoryItem).length > 0 && (\n <SubSubCategoryItemComp\n matchSeriesMetadata={matchSeriesMetadata}\n onSubSubCategoryItemClick={() => {\n onSidebarNavClick?.(subSubCategoryItem, index)\n setExpandedSeriesCategories(prev =>\n prev.map((item, i) => ({ ...item, open: i === index ? !item.open : item.open }))\n )\n }}\n expanded={!!expandedSeriesCategories?.find(item => item.index === index)?.open}\n />\n )}\n {expandedSeriesCategories?.find(item => item.index === index)?.open && (\n <>\n <SubSubCategoryContentComp matchSeriesMetadata={matchSeriesMetadata} />\n {matchSeriesMetadata?.primary && (\n <div className=\"my-4 text-center\">\n <Button\n as=\"a\"\n href={matchSeriesMetadata?.primary?.url}\n className=\"text-base leading-[1.2] no-underline\"\n variant=\"secondary\"\n size=\"base\"\n >\n {matchSeriesMetadata?.primary?.label}\n </Button>\n </div>\n )}\n </>\n )}\n </div>\n )\n })\n ) : (\n <>\n {Reflect.ownKeys(currentSeriesMetadata).length > 0 && (\n <SubSubCategoryItemComp matchSeriesMetadata={currentSeriesMetadata} />\n )}\n <SubSubCategoryContentComp matchSeriesMetadata={currentSeriesMetadata} />\n {currentSeriesMetadata?.primary && (\n <div className=\"my-4 text-center \">\n <Button\n as=\"a\"\n href={`${currentSeriesMetadata?.primary?.url}?ref=${currentSeriesMetadata?.label}_viewmore`}\n variant=\"secondary\"\n size=\"base\"\n className=\"text-base leading-[1.2] no-underline\"\n >\n {currentSeriesMetadata?.primary?.label}\n </Button>\n </div>\n )}\n </>\n )}\n {defaultGuide && (\n <Link href={defaultGuide?.url}>\n <div className=\"mt-4\">\n <Text html={defaultGuide?.label} className=\"text-sm font-bold leading-[1.2] text-[#6D6D6F]\" />\n </div>\n </Link>\n )}\n </div>\n )\n default:\n return null\n }\n }, [\n currentMenu,\n sidebarCategoriesMetadata,\n setCurrentMenu,\n seriesMetadata,\n expandedSubcategory,\n expandedSeriesCategories,\n setSubSubCategory,\n subSubCategory,\n setCurrentSeriesMetadata,\n currentSeriesMetadata,\n ])\n\n return MobileSidebarMenuComp\n}\n\nconst SubSubCategoryItemComp = ({\n matchSeriesMetadata,\n onSubSubCategoryItemClick,\n expanded,\n}: {\n matchSeriesMetadata: any\n onSubSubCategoryItemClick?: () => void\n expanded?: boolean\n}) => {\n return (\n <div className=\"tablet:pt-0 flex items-center justify-between py-4\" onClick={onSubSubCategoryItemClick}>\n {matchSeriesMetadata?.label && (\n <Text html={matchSeriesMetadata?.label} className=\"text-sm font-bold leading-[1.4]\" />\n )}\n {onSubSubCategoryItemClick && (\n <DownArrow\n className={cn('size-5', {\n ['rotate-180']: expanded,\n })}\n />\n )}\n </div>\n )\n}\n\nconst SubSubCategoryContentComp = ({ matchSeriesMetadata }: { matchSeriesMetadata: any }) => {\n return (\n <div className=\"laptop:gap-3 flex flex-col gap-2\">\n {!!matchSeriesMetadata?.series?.length &&\n matchSeriesMetadata?.series?.map((seriesItem: any, pIndex: number) => (\n <div key={`seriesItem-${pIndex}`}>\n {seriesItem.label && (\n <Text html={seriesItem.label} className=\"mb-2 text-sm font-bold leading-[1.4] text-[#3D3D3F]\" />\n )}\n <div className=\"laptop:grid-cols-3 laptop:gap-4 tablet:grid tablet:grid-cols-2 tablet:gap-3 flex flex-col gap-2\">\n {!!matchSeriesMetadata?.banner && (\n <Link asChild={!matchSeriesMetadata?.banner?.href} href={matchSeriesMetadata?.banner?.href}>\n <div className=\"[&_img]:hover:duration-600 relative [&_img]:hover:scale-110 [&_img]:hover:transition-all\">\n <Picture\n source={matchSeriesMetadata?.banner?.imageUrl}\n className=\"laptop:h-[120px] h-[114px]\"\n imgClassName=\"object-cover h-full\"\n />\n <div className=\"absolute inset-x-0 bottom-0 p-4\">\n <Heading\n size={2}\n html={matchSeriesMetadata?.banner?.title || 'Buy in Guide'}\n className={cn('font-bold text-white', {\n 'text-black': matchSeriesMetadata?.banner?.theme === 'dark',\n })}\n />\n <Text\n html={matchSeriesMetadata?.banner?.desc || '20.000mAh'}\n className={cn('text-sm font-bold text-white', {\n 'text-black': matchSeriesMetadata?.banner?.theme === 'dark',\n })}\n />\n </div>\n </div>\n </Link>\n )}\n {seriesItem.products?.map((product: any, index: number) => (\n <SeriesProductItem\n position={index}\n key={`seriesProductItem-${pIndex}-${index}`}\n product={product}\n seriesLabel={matchSeriesMetadata?.label}\n isCollection={matchSeriesMetadata?.isCollection}\n />\n ))}\n </div>\n </div>\n ))}\n </div>\n )\n}\n\n/**\n * \u79FB\u52A8\u7AEFsupport\u83DC\u5355\n * @param supportsMetadata support\u83DC\u5355\u5143\u6570\u636E\n */\nconst MobileSupportMenu = ({ supportsMetadata }: { supportsMetadata: any }) => {\n return (\n <div className=\"tablet:px-8 laptop:px-16 p-4\">\n {supportsMetadata?.map((supportItem: any) => (\n <MenuItem key={supportItem.id} href={supportItem.url} label={supportItem.label} onClick={() => {}} />\n ))}\n </div>\n )\n}\n\n/**\n * \u79FB\u52A8\u7AEFmulticol\u83DC\u5355\n * @param multicolMetadata multicol\u83DC\u5355\u5143\u6570\u636E\n */\nconst MobileMulticolMenu = ({ multicolMetadata }: { multicolMetadata: any }) => {\n // \u662F\u5426\u5168\u90E8\u662F\u56FE\u7247\n const allPicture = useMemo(() => {\n return !multicolMetadata?.some((item: any) => !!item.columns)\n }, [multicolMetadata])\n\n return (\n <div\n className={cn('tablet:py-4 tablet:px-8 laptop:px-16 tablet:gap-6 flex flex-col gap-4 p-4', {\n ['tablet:grid tablet:grid-cols-2 tablet:gap-3 laptop:gap-4']: allPicture,\n })}\n >\n {multicolMetadata?.map((item: any, index: number) => (\n <div key={`multicolItem-${item?.label}-${index}`}>\n <MulticolItem item={item} allPicture={allPicture} />\n </div>\n ))}\n </div>\n )\n}\n\n/**\n * \u79FB\u52A8\u7AEFprofile\u7EC4\u4EF6\n * @param profileAction profile\u83DC\u5355\u5143\u6570\u636E\n */\nconst ProfileComp = ({ profileAction }: { profileAction: any }) => {\n const [profileOpen, setProfileOpen] = useState(false)\n const { profile, event } = useNavContext()\n return (\n <div\n className={cn('tablet:px-8 laptop:px-16 bg-[#F5F5F7] px-4 py-6', {\n 'p-4': profileOpen,\n })}\n >\n <div className=\"flex items-center justify-between\" onClick={() => setProfileOpen(!profileOpen)}>\n <div className=\"flex items-center gap-[14px]\">\n <div className=\"flex size-[40px] shrink-0 items-center justify-center rounded-full bg-white\">\n <User />\n </div>\n <Text html={profile?.nick_name || profileAction?.welcome} className=\"text-base font-bold leading-[1.4]\" />\n </div>\n {!profile?.email && <DownArrow className={cn('laptop:size-4 size-5', { 'rotate-180': profileOpen })} />}\n </div>\n {profile?.email && (\n <div className=\"mt-4\">\n {profileAction?.profiles?.map((item: any) => (\n <MenuItem key={item.id} label={item?.title} href={item?.url} />\n ))}\n </div>\n )}\n {profileOpen && !profile?.email && (\n <div className=\"mt-4\">\n <Text html={profileAction?.benefits_title} className=\"text-sm font-bold leading-[1.4]\" />\n <div className=\"mt-2 flex flex-col gap-1\">\n {profileAction?.benefits?.map((item: any) => (\n <div key={item.id} className=\"flex items-center gap-[6px]\">\n <Picture source={item.benefitIcon?.url} className=\"size-4\" alt={item.benefit} width={16} height={16} />\n <Text html={item.benefit} className=\"text-sm font-bold leading-[1.4]\" />\n </div>\n ))}\n </div>\n </div>\n )}\n {!profile?.email && (\n <div className=\"mt-4 flex items-center gap-3\">\n <Button className=\"tablet:flex-none flex-1\" variant=\"secondary\" size=\"base\" onClick={() => event?.join?.()}>\n <Text html={profileAction?.primaryButton || 'Join Now'} className=\"text-sm font-bold leading-[1.4]\" />\n </Button>\n <Button className=\"tablet:flex-none flex-1\" variant=\"primary\" size=\"base\" onClick={() => event?.login?.()}>\n <Text html={profileAction?.secondaryButton || 'Log In'} className=\"text-sm font-bold leading-[1.4]\" />\n </Button>\n </div>\n )}\n </div>\n )\n}\n\nconst PrimaryHeader = ({ menuOpen, onMenuOpenClose, onMenuOpenClick, actions }: MobilePrimaryNavigationData) => {\n return (\n <div className=\"flex h-full items-center justify-between gap-4\">\n <Logo />\n <div className=\"desktop:gap-6 flex items-center gap-4\">\n <Actions actions={actions} />\n {menuOpen ? (\n <Close className=\"size-5\" onClick={() => onMenuOpenClose()} />\n ) : (\n <Menu className=\"size-5\" onClick={() => onMenuOpenClick()} />\n )}\n </div>\n </div>\n )\n}\n\nconst Logo = () => {\n const { payloadData, isMobile } = useNavContext()\n return (\n <div\n className=\"hover:text-brand-0 cursor-pointer [&>svg]:w-full\"\n onClick={() => {\n window.location.href = '/'\n }}\n dangerouslySetInnerHTML={{\n __html: isMobile ? payloadData?.headerBar?.mobileLogo : payloadData?.headerBar?.desktopLogo,\n }}\n />\n )\n}\n\nconst Actions = forwardRef<HTMLDivElement, { actions: any; activeStatus?: boolean }>(\n ({ actions, activeStatus = false }, ref) => {\n const { event, cartCount } = useNavContext()\n const [activeAction, setActiveAction] = useState<any>(null)\n\n const handleActionClick = useCallback(\n (action: any, index: number) => {\n setActiveAction(index)\n switch (action?.blockType) {\n case HeaderNavigationActionBlockType.Search:\n event?.search?.()\n break\n case HeaderNavigationActionBlockType.Cart:\n event?.cart?.()\n break\n case HeaderNavigationActionBlockType.Profile:\n event?.profile?.()\n break\n case HeaderNavigationActionBlockType.Livestream:\n event?.livestream?.()\n break\n default:\n return () => {}\n }\n },\n [event]\n )\n\n return (\n <div className=\"desktop:gap-6 flex items-center gap-4\">\n {Array.isArray(actions) &&\n actions?.map((action: any, index: number) => (\n <div\n className=\"relative\"\n key={action.id}\n ref={action.blockType === HeaderNavigationActionBlockType.Profile ? ref : null}\n onClick={() => handleActionClick(action, index)}\n >\n <Text\n html={action.icon}\n className={cn('size-5 cursor-pointer', { 'text-brand-0': activeStatus && activeAction === index })}\n />\n {action.blockType === HeaderNavigationActionBlockType.Cart && cartCount > 0 && (\n <div className=\"bg-brand-0 absolute right-[-12px] top-[calc(100%-16px)] z-[1] flex min-h-5 min-w-5 items-center justify-center rounded-full px-[2px]\">\n <Text html={cartCount?.toString()} className=\"text-sm font-bold leading-[1.2] text-white\" />\n </div>\n )}\n </div>\n ))}\n </div>\n )\n }\n)\n\nconst SecondaryHeader = ({ title, onMenuOpenClose, onMenuBackClick }: MobileSecondaryNavigationData) => {\n return (\n <div className=\"flex h-full items-center gap-3\">\n <LeftArrow className=\"size-5\" onClick={() => onMenuBackClick()} />\n <Text html={title} className=\"flex-1 text-center text-base font-bold leading-[1.4]\" />\n <Close className=\"size-5\" onClick={() => onMenuOpenClose()} />\n </div>\n )\n}\n\nconst MenuItem = ({\n label,\n href,\n onClick,\n active,\n icon,\n className,\n}: {\n label: string\n href?: string\n onClick?: () => void\n active?: boolean\n icon?: string\n className?: string\n}) => {\n return (\n <div className={cn('flex cursor-pointer items-center justify-between py-4', className)} onClick={onClick}>\n <Link href={href} asChild={!href} className=\"flex w-full items-center justify-between no-underline\">\n <div className=\"flex items-center gap-4\">\n <Text html={label} className={cn('text-sm font-bold leading-[1.4]', { underline: icon })} />\n {icon && <Text html={icon} />}\n </div>\n <RightArrow className={cn('laptop:size-4 size-5', { 'rotate-90': active })} />\n </Link>\n </div>\n )\n}\n\nexport default withLayout(HeaderNavigation)\n"],
5
- "mappings": "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",
6
- "names": ["HeaderNavigation_exports", "__export", "HeaderNavigation_default", "__toCommonJS", "import_jsx_runtime", "import_react", "import_components", "import_Styles", "import_utils", "import_NavProvider", "import_types", "import_react_responsive", "import_es_toolkit", "import_jump", "import_gsap", "import_withCategory", "import_icons", "import_NavigationSearch", "HeaderNavigation", "props", "ref", "headerNavigation", "buildProps", "event", "profile", "theme", "isTop", "searchResult", "onSearch", "isSearching", "keywords", "onPrimaryNavClick", "onSeriesProductClick", "onSidebarNavClick", "headerId", "cartCount", "searchRef", "searchOpen", "setSearchOpen", "headerHidden", "setHeaderHidden", "changeHeaderBackground", "setChangeHeaderBackground", "isMobile", "setIsMobile", "headerRef", "resizeWindow", "offsetWidth", "jump", "searchPage", "item", "NavProvider", "DesktopNavigation", "MobileNavigation", "NavigationSearch", "value", "data", "onNavItemClick", "className", "downdownHover", "setDowndownHover", "groupCategories", "categoriesItem", "setCategoriesItem", "navStatusArray", "setNavStatusArray", "profileRef", "userProfileOpen", "setUserProfileOpen", "dropdownRef", "navItemRefs", "categories", "groupItem", "groupIndex", "_", "index", "currentNavItem", "handleNavItemClick", "e", "position", "prev", "handleNavMenuClose", "currentBlockTypeCategories", "SidebarDropdownComp", "SidebarDropdown", "MulticolDropdownComp", "MulticolDropdown", "SupportsDropdownComp", "SupportsDropdown", "DropdownComp", "actions", "profileAction", "handleProfileClick", "profileRefElement", "Logo", "Actions", "el", "MenuItem", "React", "sidebarCategoriesMetadata", "seriesMetadata", "expandedSubcategory", "setExpandedSubcategory", "activeSubSubcategoryIndex", "setActiveSubSubcategoryIndex", "sidebarDropdownRef", "initExpandedSubcategory", "subcategories", "withSubSubCategoriesIndex", "withoutSubSubCategoriesIndex", "expandedStates", "matchSeriesMetadata", "subCategory", "currentSeriesMetadata", "category", "activeSubSubcategory", "currentActiveSeriesMetadata", "handleSubcategoryOpen", "subcategoryItem", "handleSubSubcategoryOpen", "subSubindex", "subItem", "hasSubSubCategory", "subSubItem", "seriesItem", "seriesIndex", "product", "SeriesProductItem", "multicolMetadata", "multicolDropdownRef", "MulticolItem", "supportsMetadata", "currentNavItemRef", "supportsDropdownRef", "navItemReact", "setNavItemReact", "supportsDropdownHeight", "setSupportsDropdownHeight", "rect", "debouncedHandleResize", "supportItem", "isCollection", "seriesLabel", "productData", "variant", "listingLink", "tags", "tag", "allPicture", "columnItem", "currentMenu", "setCurrentMenu", "subSubCategory", "mobileMenuOpen", "setMobileMenuOpen", "menuInnerHeight", "setMenuInnerHeight", "mobileMenuRef", "MobileSupportMenuComp", "MobileSupportMenu", "MobileSidebarMenuComp", "MobileSidebarMenu", "MobileMulticolMenuComp", "MobileMulticolMenu", "MobileCategoriesMenuComp", "handleSecondaryMenuClose", "menuActions", "MobileCategoriesHeaderComp", "PrimaryHeader", "SecondaryHeader", "handlePrimaryMenuClick", "MobilePrimaryMenu", "onPrimaryMenuClick", "ProfileComp", "setSubSubCategory", "setCurrentSeriesMetadata", "expandedSeriesCategories", "setExpandedSeriesCategories", "handleSubSubCategoryClick", "subIndex", "curSeriesMetadata", "defaultGuide", "subSubCategoryItem", "SubSubCategoryItemComp", "i", "SubSubCategoryContentComp", "onSubSubCategoryItemClick", "expanded", "pIndex", "profileOpen", "setProfileOpen", "menuOpen", "onMenuOpenClose", "onMenuOpenClick", "payloadData", "activeStatus", "activeAction", "setActiveAction", "handleActionClick", "action", "title", "onMenuBackClick", "label", "href", "onClick", "active", "icon"]
4
+ "sourcesContent": ["'use client'\nimport React, { forwardRef, useCallback, useEffect, useImperativeHandle, useMemo, useRef, useState } from 'react'\n\nimport { Picture, Text, Button, Container, Link, Heading } from '../../components/index.js'\n\nimport { withLayout } from '../../shared/Styles.js'\n\nimport { cn, atobID } from '../../helpers/utils.js'\n\nimport type {\n MobilePrimaryNavigationData,\n MobileSecondaryNavigationData,\n MobileNavigationProps,\n DesktopNavigationProps,\n HeaderNavigationProps,\n} from './types.js'\nimport NavProvider, { useNavContext } from './NavProvider.js'\n\nimport { HeaderNavigationMenu, HeaderNavigationBlockType, HeaderNavigationActionBlockType } from './types.js'\n\nimport { debounce } from 'es-toolkit'\nimport jump from 'jump.js'\n\nimport { useGSAP } from '@gsap/react'\nimport { gsap } from 'gsap'\nimport type { Product, ProductVariant } from '../../cpn-components/CpnProductCard/types.js'\n\nimport { WithSidebar, WithSupports, WithMulticol, WithGroupCategory } from './withCategory.js'\n\nimport { Menu, Close, User, RightArrow, LeftArrow, DownArrow, Polygon } from './icons/index.js'\n\nimport NavigationSearch from '../NavigationSearch/index.js'\n\nconst HeaderNavigation = forwardRef<HTMLDivElement, HeaderNavigationProps>((props, ref) => {\n const {\n data: { headerNavigation } = {},\n buildProps,\n event,\n profile,\n theme = 'light',\n isTop = false,\n searchResult,\n onSearch,\n isSearching,\n keywords,\n onPrimaryNavClick,\n onSeriesProductClick,\n onSidebarNavClick,\n headerId,\n cartCount,\n } = props\n\n const [searchOpen, setSearchOpen] = useState(false)\n // const [headerHidden, setHeaderHidden] = useState(false)\n // const [changeHeaderBackground, setChangeHeaderBackground] = useState(false)\n const [isMobile, setIsMobile] = useState(false)\n const searchRef = useRef<HTMLDivElement>(null)\n\n const headerRef = useRef<HTMLDivElement>(null)\n\n const resizeWindow = () => {\n const offsetWidth = document?.querySelector('body')?.offsetWidth || 0\n setIsMobile(offsetWidth <= 1440)\n }\n\n useEffect(() => {\n resizeWindow()\n window.addEventListener('resize', resizeWindow)\n return () => {\n window.removeEventListener('resize', resizeWindow)\n }\n }, [])\n\n useImperativeHandle(ref, () => headerRef.current as HTMLDivElement)\n\n useEffect(() => {\n if (headerRef.current && isTop) {\n jump(headerRef.current, { duration: 0, offset: headerRef.current?.getBoundingClientRect()?.bottom || 0 })\n }\n }, [isTop])\n\n // useEffect(() => {\n // let upwardDistance = 0\n // let lastScrollY = 0\n // const showDownNav = throttle(latest => {\n // const delta = lastScrollY - latest\n // if (delta > 0) {\n // upwardDistance += delta\n // if (upwardDistance >= 300) {\n // setHeaderHidden(false)\n // upwardDistance = 0\n // }\n // } else {\n // setHeaderHidden(latest > 300)\n // }\n // setChangeHeaderBackground(latest > 30)\n // lastScrollY = latest\n // }, 200)\n\n // const scrollAnimate = () => {\n // let scrollTop = 0\n // if (document?.documentElement && document?.documentElement?.scrollTop) {\n // scrollTop = document?.documentElement.scrollTop\n // } else if (document?.body) {\n // scrollTop = document?.body.scrollTop\n // }\n // showDownNav(scrollTop)\n // }\n\n // window.addEventListener('scroll', scrollAnimate)\n\n // return () => window.removeEventListener('scroll', scrollAnimate)\n // }, [])\n\n useEffect(() => {\n if (event) {\n event.search = () => setSearchOpen(true)\n }\n }, [event])\n\n useGSAP(() => {\n if (searchRef?.current && searchOpen) {\n gsap.fromTo(\n searchRef.current,\n {\n height: 0,\n },\n {\n height: 'auto',\n duration: 0.3,\n }\n )\n }\n }, [searchOpen])\n\n useEffect(() => {\n document.documentElement.style.overflow = searchOpen ? 'hidden' : 'auto'\n }, [searchOpen])\n\n const searchPage = useMemo(() => {\n return (\n headerNavigation?.headerBar?.actions?.find(\n (item: any) => item?.blockType === HeaderNavigationActionBlockType.Search\n )?.searchBar?.[0] || {}\n )\n }, [headerNavigation])\n\n return (\n <NavProvider\n buildProps={buildProps}\n profile={profile}\n isMobile={isMobile}\n event={event}\n payloadData={headerNavigation}\n onSidebarNavClick={onSidebarNavClick}\n onSeriesProductClick={onSeriesProductClick}\n cartCount={cartCount}\n >\n <header\n id={headerId || 'header'}\n data-ui-component-id=\"HeaderNavigation\"\n // className={cn('sticky top-0 z-[100] transition-transform duration-500 ease-in-out', {\n // ['translate-y-[-100%]']: headerHidden,\n // })}\n className=\"relative z-[100] bg-white\"\n ref={headerRef}\n >\n <div\n className={cn(\n 'hover:bg-white hover:text-black',\n theme === 'light' ? 'text-black' : 'text-white',\n // {\n // ['!bg-white transition-all duration-500 ease-in-out']: changeHeaderBackground,\n // },\n {\n // ['hover:!text-black']: theme === 'dark',\n // ['!text-black']: changeHeaderBackground,\n }\n )}\n // onClick={() => setChangeHeaderBackground(true)}\n >\n <DesktopNavigation\n data={headerNavigation}\n className=\"desktop:block hidden !bg-white\"\n theme={theme}\n // onNavItemClick={() => setChangeHeaderBackground(true)}\n onPrimaryNavClick={onPrimaryNavClick}\n />\n <MobileNavigation\n data={headerNavigation}\n className=\"desktop:hidden block !bg-white\"\n onPrimaryNavClick={onPrimaryNavClick}\n />\n {searchOpen && (\n <div\n className=\"absolute left-0 top-0 z-[60] flex w-full flex-col bg-black/70\"\n style={{ height: `calc(100dvh - ${headerRef?.current?.getBoundingClientRect()?.top}px)` }}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label=\"Search\"\n >\n <div ref={searchRef} className={cn('overflow-y-auto', {})}>\n <NavigationSearch\n data={searchPage}\n keywords={keywords}\n isSearching={isSearching}\n searchResult={searchResult}\n onSearch={(value: string) => {\n onSearch?.(value)\n }}\n onClose={() => {\n onSearch?.()\n setSearchOpen(false)\n }}\n />\n </div>\n <div\n className=\"flex-1 bg-transparent\"\n onClick={() => setSearchOpen(false)}\n role=\"button\"\n tabIndex={0}\n aria-label=\"Close search\"\n onKeyDown={e => {\n if (e.key === 'Enter' || e.key === ' ' || e.key === 'Escape') {\n e.preventDefault()\n setSearchOpen(false)\n }\n }}\n />\n </div>\n )}\n </div>\n </header>\n </NavProvider>\n )\n})\n\nconst DesktopNavigation = forwardRef<HTMLDivElement, DesktopNavigationProps>((props, ref) => {\n const { data, onNavItemClick, className, theme, onPrimaryNavClick } = props\n const { event, profile } = useNavContext()\n const [downdownHover, setDowndownHover] = useState(false)\n\n const groupCategories = useMemo(() => {\n return WithGroupCategory(data?.categories?.filter((item: any) => item?.pcShow)) as any[][]\n }, [data])\n\n const [categoriesItem, setCategoriesItem] = useState<any>(null)\n const [navStatusArray, setNavStatusArray] = useState<{ index: number; groupIndex: number; open: boolean }[][]>([])\n const profileRef = useRef<HTMLButtonElement>(null)\n const [userProfileOpen, setUserProfileOpen] = useState(false)\n const headerRef = useRef<HTMLDivElement>(null)\n const dropdownRef = useRef<HTMLDivElement>(null)\n const navItemRefs = useRef<HTMLDivElement[][]>(\n groupCategories.map((categories: any) => Array(categories?.length || 0).fill(null))\n )\n\n useEffect(() => {\n if (groupCategories?.length) {\n setNavStatusArray(\n groupCategories?.map((groupItem: any, groupIndex: number) => {\n return groupItem?.map((_: any, index: number) => ({ groupIndex, index, open: false }))\n })\n )\n }\n }, [groupCategories])\n\n const currentNavItem = useMemo(() => {\n let currentNavItem: { index: number; groupIndex: number; open: boolean } | null = null\n for (const groupItem of navStatusArray) {\n for (const item of groupItem) {\n if (item.open) {\n currentNavItem = item\n break\n }\n }\n if (currentNavItem) break\n }\n return currentNavItem\n }, [navStatusArray])\n\n useEffect(() => {\n document.documentElement.style.overflow = currentNavItem?.open || userProfileOpen ? 'hidden' : 'auto'\n }, [currentNavItem?.open, userProfileOpen])\n\n const handleNavItemClick = (e: any, groupIndex: number, index: number) => {\n setUserProfileOpen(false)\n if (categoriesItem?.components?.[0]?.blockType === HeaderNavigationBlockType.Links) {\n // link\u6A21\u5757\u7279\u6B8A\u5904\u7406\n categoriesItem?.components?.[0]?.url && window.open(categoriesItem?.components?.[0]?.url)\n } else {\n const categories = groupCategories?.flat() || []\n const position = categories?.findIndex(item => item?.id === groupCategories[groupIndex][index]?.id)\n e.stopPropagation()\n onNavItemClick?.()\n onPrimaryNavClick?.(categories[position], position)\n setCategoriesItem(groupCategories[groupIndex][index])\n setNavStatusArray(prev =>\n prev.map(groupItem =>\n groupItem.map(item =>\n item.groupIndex === groupIndex && item.index === index\n ? { ...item, open: !item.open }\n : { ...item, open: false }\n )\n )\n )\n }\n }\n\n const handleNavItemKeyDown = (e: React.KeyboardEvent, groupIndex: number, index: number) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n handleNavItemClick(e, groupIndex, index)\n } else if (e.key === 'Escape' && currentNavItem?.groupIndex === groupIndex && currentNavItem?.index === index) {\n e.preventDefault()\n handleNavMenuClose()\n }\n }\n\n const handleNavMenuClose = () => {\n setNavStatusArray(prev => prev.map(groupItem => groupItem.map(item => ({ ...item, open: false }))))\n }\n\n const currentBlockTypeCategories = useMemo(() => {\n if (categoriesItem) return categoriesItem?.components?.[0]?.blockType\n }, [categoriesItem])\n\n const SidebarDropdownComp = WithSidebar(SidebarDropdown, categoriesItem)\n const MulticolDropdownComp = WithMulticol(MulticolDropdown, categoriesItem)\n const SupportsDropdownComp = WithSupports(SupportsDropdown, {\n categoriesItem,\n currentNavItemRef: navItemRefs.current?.[currentNavItem?.groupIndex || 0]?.[currentNavItem?.index || 0],\n })\n\n const DropdownComp = useMemo(() => {\n switch (currentBlockTypeCategories) {\n case HeaderNavigationBlockType.Sidebar:\n return <SidebarDropdownComp />\n case HeaderNavigationBlockType.Supports:\n return <SupportsDropdownComp />\n case HeaderNavigationBlockType.Multicol:\n return <MulticolDropdownComp />\n default:\n return null\n }\n }, [currentBlockTypeCategories, categoriesItem])\n\n const actions = useMemo(() => {\n return data?.headerBar?.actions?.filter((item: any) => item?.pcShow)\n }, [data])\n\n const profileAction = useMemo(() => {\n return actions?.find((item: any) => item?.blockType === HeaderNavigationActionBlockType.Profile)\n }, [actions])\n\n const handleProfileClick = useCallback(() => {\n setUserProfileOpen(prev => !prev)\n }, [])\n\n useEffect(() => {\n if (profileRef?.current) {\n const profileRefElement = profileRef.current as HTMLButtonElement\n profileRefElement.addEventListener('click', handleProfileClick)\n\n return () => {\n profileRefElement.removeEventListener('click', handleProfileClick)\n }\n }\n }, [handleProfileClick])\n\n useGSAP(() => {\n if (currentNavItem?.open) {\n gsap.fromTo(\n dropdownRef?.current,\n {\n height: 0,\n },\n {\n height: 'auto',\n }\n )\n }\n }, [currentNavItem?.open])\n\n return (\n <Container className={cn('relative h-[96px]', className)}>\n <div ref={headerRef} onClick={handleNavMenuClose} className=\"flex h-full flex-col justify-end gap-4\">\n <div className=\"flex items-center justify-between\">\n <Logo />\n <Actions ref={profileRef} actions={actions} activeStatus={userProfileOpen} />\n </div>\n <nav className=\"flex justify-between\" role=\"navigation\" aria-label=\"Primary navigation\">\n {groupCategories?.map((groupItem: any, groupIndex: number) => {\n return (\n <div key={`groupCategory-${groupIndex}`} className=\"flex gap-3\">\n {groupItem?.map((item: any, index: number) => {\n const isExpanded = currentNavItem?.groupIndex === groupIndex && currentNavItem?.index === index\n return (\n <div\n key={item.id}\n ref={(el: HTMLDivElement) => {\n navItemRefs.current[groupIndex][index] = el\n }}\n className=\"group cursor-pointer\"\n >\n <div className=\"relative\">\n <button\n className=\"flex cursor-pointer items-center gap-1 border-0 bg-transparent pb-4\"\n onClick={e => handleNavItemClick(e, groupIndex, index)}\n onKeyDown={e => handleNavItemKeyDown(e, groupIndex, index)}\n aria-expanded={isExpanded}\n aria-haspopup=\"true\"\n aria-label={item.text}\n >\n <Text html={item.text} className=\"text-sm font-bold leading-[1.4]\" />\n <DownArrow\n aria-hidden=\"true\"\n className={cn('size-4 opacity-0 transition-opacity duration-500 group-hover:opacity-100', {\n ['rotate-180']: isExpanded,\n ['opacity-100']: downdownHover && isExpanded,\n })}\n />\n </button>\n <div\n className={cn(\n 'absolute bottom-0 left-0 h-[2px] w-0 transition-all duration-500',\n {\n 'w-[calc(100%-20px)]': isExpanded,\n },\n theme === 'dark' ? 'bg-white' : 'bg-[#080A0F]'\n )}\n aria-hidden=\"true\"\n />\n </div>\n </div>\n )\n })}\n </div>\n )\n })}\n </nav>\n </div>\n <div\n role=\"menu\"\n aria-hidden={!(currentNavItem?.open && categoriesItem)}\n className={cn(\n 'absolute left-0 top-full z-[999] flex w-full flex-col overflow-hidden border-t border-b-[#E4E5E6] bg-black/70 text-black',\n {\n hidden: !(currentNavItem?.open && categoriesItem),\n }\n )}\n onMouseEnter={() => setDowndownHover(true)}\n onMouseLeave={() => setDowndownHover(false)}\n style={{ height: `calc(100dvh - ${headerRef?.current?.getBoundingClientRect()?.bottom}px)` }}\n >\n <div\n ref={dropdownRef}\n className={cn('relative z-50', {\n 'overflow-hidden': currentBlockTypeCategories !== HeaderNavigationBlockType.Supports,\n })}\n >\n {DropdownComp}\n </div>\n <div\n className=\"flex-1 bg-transparent\"\n onClick={handleNavMenuClose}\n role=\"button\"\n tabIndex={0}\n aria-label=\"Close menu\"\n onKeyDown={e => {\n if (e.key === 'Enter' || e.key === ' ' || e.key === 'Escape') {\n e.preventDefault()\n handleNavMenuClose()\n }\n }}\n />\n </div>\n {userProfileOpen && (\n <div\n className=\"absolute left-0 top-full z-[999] flex h-dvh w-full bg-black/70\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label=\"User profile menu\"\n // style={{\n // height: `calc(100dvh - ${profileRef?.current?.getBoundingClientRect()?.bottom}px)`,\n // top: `calc(96px)`,\n // }}\n >\n <div\n className=\"absolute w-[272px] bg-white p-4\"\n style={{\n right: `calc(100% - ${profileRef?.current?.getBoundingClientRect()?.right}px)`,\n top: '-36px',\n }}\n >\n {profile?.email ? (\n <>\n <Text html={profile?.nick_name || profileAction?.welcome} className=\"text-sm font-bold\" />\n <div className=\"mt-2 h-px bg-[#D9D9D9]\" aria-hidden=\"true\" />\n <nav className=\"mt-2\" role=\"navigation\" aria-label=\"Profile navigation\">\n {profileAction?.profiles?.map((item: any) => (\n <MenuItem className=\"py-2\" key={item.id} label={item?.title} href={item?.url} />\n ))}\n </nav>\n </>\n ) : (\n <>\n <Polygon className=\"absolute -top-2 right-[46px] z-30 text-white\" aria-hidden=\"true\" />\n <Text html={profileAction?.benefits_title} className=\"text-sm font-bold leading-[1.4]\" />\n <div className=\"mt-2 flex flex-col gap-1\">\n {profileAction?.benefits?.map((item: any) => (\n <div key={item.id} className=\"flex items-center gap-[6px]\">\n <Picture\n source={item.benefitIcon?.url}\n className=\"size-4\"\n alt={item.benefit}\n width={16}\n height={16}\n />\n <Text html={item.benefit} className=\"text-sm font-bold leading-[1.4]\" />\n </div>\n ))}\n </div>\n <div className=\"mt-4 flex items-center gap-2\">\n <Button variant=\"secondary\" size=\"lg\" onClick={() => event?.join?.()}>\n <Text html={profileAction?.primaryButton || 'Join Now'} className=\"font-bold\" />\n </Button>\n <Button variant=\"primary\" size=\"lg\" onClick={() => event?.login?.()}>\n <Text html={profileAction?.secondaryButton || 'Log In'} className=\"font-bold\" />\n </Button>\n </div>\n </>\n )}\n </div>\n <div\n className=\"flex-1 bg-transparent\"\n onClick={() => setUserProfileOpen(false)}\n role=\"button\"\n tabIndex={0}\n aria-label=\"Close profile menu\"\n onKeyDown={e => {\n if (e.key === 'Enter' || e.key === ' ' || e.key === 'Escape') {\n e.preventDefault()\n setUserProfileOpen(false)\n }\n }}\n />\n </div>\n )}\n </Container>\n )\n})\n\n/**\n * \u4FA7\u8FB9\u680F\u4E0B\u62C9\n * @param categoriesItem \u5206\u7C7B\u9879\n */\nconst SidebarDropdown = React.memo(\n ({ sidebarCategoriesMetadata, seriesMetadata }: { sidebarCategoriesMetadata: any; seriesMetadata: any }) => {\n const { buildProps, onSidebarNavClick } = useNavContext()\n const [expandedSubcategory, setExpandedSubcategory] = useState<{ index: number; open: boolean }[]>([])\n const [activeSubSubcategoryIndex, setActiveSubSubcategoryIndex] = useState(-1)\n const sidebarDropdownRef = useRef<HTMLDivElement>(null)\n\n const initExpandedSubcategory = useCallback(() => {\n const subcategories = sidebarCategoriesMetadata?.subcategories\n if (!subcategories?.length) return\n\n const withSubSubCategoriesIndex = subcategories.findIndex((item: any) => !!item?.subSubCategories)\n const withoutSubSubCategoriesIndex = subcategories.findIndex((item: any) => !item?.subSubCategories)\n\n // \u521B\u5EFA\u5C55\u5F00\u72B6\u6001\u6570\u7EC4\n const expandedStates = subcategories.map((_: any, index: number) => ({\n index,\n open: withSubSubCategoriesIndex === index || withoutSubSubCategoriesIndex === index,\n }))\n\n setExpandedSubcategory(expandedStates)\n }, [sidebarCategoriesMetadata])\n\n useEffect(() => {\n initExpandedSubcategory()\n }, [initExpandedSubcategory])\n\n // \u901A\u8FC7categoriesMetadata\u7684subSubCategories\u7684label\u4E0Eseries\u7684label\u5339\u914D\n const matchSeriesMetadata = useMemo(() => {\n const subCategory =\n sidebarCategoriesMetadata?.subcategories?.[expandedSubcategory?.find(item => item.open)?.index || 0]\n const currentSeriesMetadata =\n seriesMetadata?.find((item: any) => item?.label?.toLowerCase() === subCategory?.label?.toLowerCase()) || {}\n if (subCategory?.collections) {\n const category = buildProps?.categories?.[subCategory?.collections] || {}\n return {\n label: currentSeriesMetadata?.label,\n isCollection: true,\n banner: currentSeriesMetadata?.banner,\n primary: currentSeriesMetadata?.primary,\n series: [\n {\n products: category?.products,\n },\n ],\n }\n } else {\n if (subCategory?.subSubCategories) {\n const activeSubSubcategory = subCategory?.subSubCategories?.[activeSubSubcategoryIndex]\n const currentActiveSeriesMetadata =\n seriesMetadata?.find(\n (item: any) => item?.label?.toLowerCase() === activeSubSubcategory?.label?.toLowerCase()\n ) || {}\n if (activeSubSubcategory?.collections) {\n const category = buildProps?.categories?.[activeSubSubcategory?.collections] || {}\n return {\n label: currentActiveSeriesMetadata?.label,\n isCollection: true,\n banner: currentActiveSeriesMetadata?.banner,\n primary: currentActiveSeriesMetadata?.primary,\n series: [\n {\n products: category?.products,\n },\n ],\n }\n } else {\n return currentActiveSeriesMetadata\n }\n } else {\n return currentSeriesMetadata\n }\n }\n }, [sidebarCategoriesMetadata, expandedSubcategory, activeSubSubcategoryIndex, seriesMetadata, buildProps])\n\n const handleSubcategoryOpen = useCallback(\n (index: number, subcategoryItem: any) => {\n subcategoryItem?.subSubCategories?.length > 0\n ? setActiveSubSubcategoryIndex(0)\n : setActiveSubSubcategoryIndex(-1)\n\n if (subcategoryItem?.subSubCategories?.length > 0) {\n setExpandedSubcategory(prev =>\n prev.map(item => (item.index === index ? { ...item, open: true } : { ...item, open: false }))\n )\n } else {\n const subcategories = sidebarCategoriesMetadata?.subcategories\n const withSubSubCategoriesIndex = subcategories?.findIndex((item: any) => !!item?.subSubCategories)\n setExpandedSubcategory(prev =>\n prev.map(item => {\n return { ...item, open: item.index === index || item.index === withSubSubCategoriesIndex }\n })\n )\n }\n },\n [sidebarCategoriesMetadata]\n )\n\n const handleSubSubcategoryOpen = (index: number, subSubindex: number) => {\n setExpandedSubcategory(prev =>\n prev.map(item => (item.index === index ? { ...item, open: true } : { ...item, open: false }))\n )\n setActiveSubSubcategoryIndex(subSubindex)\n }\n\n return (\n <Container childClassName=\"lg-desktop:gap-12 flex bg-white gap-8\">\n <div\n className=\"lg-desktop:basis-[356px] flex basis-[284px] flex-col gap-4 py-4\"\n style={{\n userSelect: 'none',\n }}\n ref={sidebarDropdownRef}\n >\n <div\n className=\"desktop:h-[416px] flex flex-col overflow-y-auto\"\n style={{\n scrollbarWidth: 'none',\n msOverflowStyle: 'none',\n }}\n >\n {sidebarCategoriesMetadata?.subcategories?.map((subItem: any, index: number) => {\n const hasSubSubCategory =\n Array.isArray(subItem?.subSubCategories) && subItem?.subSubCategories?.length > 0\n const isExpanded = expandedSubcategory?.find(item => item.index === index)?.open\n return (\n <div key={`subcategoryItem-${index}`}>\n <button\n className={cn(\n 'flex w-full cursor-pointer items-center justify-between border-0 bg-transparent text-left',\n {\n 'bg-[#F5F5F7]': !hasSubSubCategory && isExpanded,\n }\n )}\n onClick={() => {\n handleSubcategoryOpen(index, subItem)\n onSidebarNavClick?.(subItem, index)\n }}\n aria-expanded={hasSubSubCategory ? isExpanded : undefined}\n aria-haspopup={hasSubSubCategory ? 'true' : undefined}\n >\n <Text html={subItem.label} className=\"p-4 text-sm font-bold leading-[1.4]\" />\n {hasSubSubCategory && (\n <DownArrow\n aria-hidden=\"true\"\n className={cn('size-4', {\n ['rotate-180']: isExpanded,\n })}\n />\n )}\n </button>\n {isExpanded && (\n <div className=\"flex flex-col\" role=\"menu\">\n {subItem.subSubCategories?.map((subSubItem: any, subSubindex: number) => (\n <button\n onClick={() => {\n handleSubSubcategoryOpen(index, subSubindex)\n onSidebarNavClick?.(subSubItem, subSubindex)\n }}\n key={`subSubItem-${index}-${subSubindex}`}\n className={cn('w-full cursor-pointer border-0 bg-transparent px-6 py-4 text-left', {\n 'bg-[#F5F5F7]': activeSubSubcategoryIndex === subSubindex,\n })}\n role=\"menuitem\"\n aria-label={subSubItem.label}\n >\n <Text\n html={subSubItem.label}\n className=\"text-sm font-bold leading-[1.4] text-[#6D6D6F] hover:bg-[#F5F5F7]\"\n />\n </button>\n ))}\n </div>\n )}\n </div>\n )\n })}\n </div>\n {sidebarCategoriesMetadata && (\n <div className=\"flex\">\n <div className=\"flex flex-col gap-4\">\n {sidebarCategoriesMetadata?.primary && (\n <Button\n as=\"a\"\n href={`${sidebarCategoriesMetadata?.primary?.url}?ref=${sidebarCategoriesMetadata?.primary?.label}_shopall`}\n variant=\"primary\"\n size=\"lg\"\n className=\"lg-desktop:text-base text-sm\"\n >\n {sidebarCategoriesMetadata?.primary?.label}\n </Button>\n )}\n {sidebarCategoriesMetadata?.secondary && (\n <Button\n as=\"a\"\n href={sidebarCategoriesMetadata?.secondary?.url}\n variant=\"link\"\n size=\"lg\"\n className=\"lg-desktop:text-base justify-start !p-0 text-sm\"\n >\n {sidebarCategoriesMetadata?.secondary?.label}\n </Button>\n )}\n </div>\n </div>\n )}\n </div>\n <div className=\"flex-1 py-4\">\n {Reflect.ownKeys(matchSeriesMetadata).length > 0 && (\n <div className=\"mb-4 flex items-center justify-between\">\n <div className=\"flex items-center gap-2\">\n <Text\n html={matchSeriesMetadata?.label}\n className=\"lg-desktop:text-2xl text-xl font-bold leading-[1.4]\"\n />\n {matchSeriesMetadata?.primary && !matchSeriesMetadata?.primary?.hide && (\n <Button\n as=\"a\"\n href={`${matchSeriesMetadata?.primary?.url}?ref=${matchSeriesMetadata?.label}_viewmore`}\n variant=\"link\"\n size=\"lg\"\n className=\"lg-desktop:text-base justify-start !p-0 text-sm font-bold leading-[1.2] no-underline\"\n >\n {matchSeriesMetadata?.primary?.label}\n </Button>\n )}\n </div>\n <Link\n href={matchSeriesMetadata?.guide?.url}\n className=\"lg-desktop:text-base text-sm leading-[1.2] text-[#6D6D6F]\"\n >\n {matchSeriesMetadata?.guide?.label}\n </Link>\n </div>\n )}\n <div\n className=\"flex h-[426px] flex-col gap-4 overflow-y-auto\"\n style={{\n scrollbarWidth: 'none',\n msOverflowStyle: 'none',\n }}\n >\n {matchSeriesMetadata?.series?.map((seriesItem: any, seriesIndex: number) => (\n <div key={`seriesItem-${seriesIndex}`}>\n {seriesItem.label && (\n <Text html={seriesItem.label} className=\"mb-2 text-sm font-bold leading-[1.4] text-[#6D6D6F]\" />\n )}\n <div className=\"grid grid-cols-3 gap-4\">\n {!!matchSeriesMetadata?.banner && (\n <Link asChild={!matchSeriesMetadata?.banner?.href} href={matchSeriesMetadata?.banner?.href}>\n <div className=\"[&_img]:hover:duration-600 relative [&_img]:hover:scale-110 [&_img]:hover:transition-all\">\n <Picture\n source={matchSeriesMetadata?.banner?.imageUrl}\n className=\"laptop:h-[120px] h-[114px]\"\n imgClassName=\"object-cover h-full\"\n />\n <div className=\"absolute inset-x-0 bottom-0 p-4\">\n <Heading\n size={2}\n html={matchSeriesMetadata?.banner?.title || 'Buy in Guide'}\n className=\"font-bold text-white\"\n />\n <Text\n html={matchSeriesMetadata?.banner?.desc || '20.000mAh'}\n className=\"text-sm font-bold text-white\"\n />\n </div>\n </div>\n </Link>\n )}\n {seriesItem.products?.map((product: any, index: number) => (\n <SeriesProductItem\n seriesLabel={matchSeriesMetadata?.label}\n key={`seriesProductItem-${index}`}\n product={product}\n isCollection={matchSeriesMetadata?.isCollection}\n />\n ))}\n </div>\n </div>\n ))}\n </div>\n </div>\n </Container>\n )\n }\n)\n\n/**\n * \u591A\u5217\u4E0B\u62C9\n * @param categoriesItem \u5206\u7C7B\u9879\n */\nconst MulticolDropdown = ({ multicolMetadata }: { multicolMetadata: any }) => {\n const multicolDropdownRef = useRef<HTMLDivElement>(null)\n\n // useGSAP(() => {\n // gsap.fromTo(\n // multicolDropdownRef?.current,\n // {\n // height: 0,\n // },\n // {\n // height: 'auto',\n // duration: 0.5,\n // }\n // )\n // }, [])\n\n return (\n <div ref={multicolDropdownRef}>\n <Container childClassName=\"bg-white\" className=\"h-full\">\n <div className=\"flex gap-4 py-4\">\n {multicolMetadata?.map((item: any, index: number) => (\n <div key={`multicolItem-${item?.label}-${index}`} className=\"w-1/4\">\n <MulticolItem item={item} />\n </div>\n ))}\n </div>\n </Container>\n </div>\n )\n}\n\n/**\n * supports\u4E0B\u62C9\n * @param categoriesItem \u5206\u7C7B\u9879\n * @param currentNavItemRef \u5F53\u524D\u5BFC\u822A\u9879\n */\nconst SupportsDropdown = ({\n supportsMetadata,\n currentNavItemRef,\n}: {\n supportsMetadata: any\n currentNavItemRef: HTMLDivElement\n}) => {\n const supportsDropdownRef = useRef<HTMLDivElement>(null)\n const [navItemReact, setNavItemReact] = useState<DOMRect | null>(null)\n const [supportsDropdownHeight, setSupportsDropdownHeight] = useState(0)\n\n // useGSAP(() => {\n // gsap.fromTo(\n // supportsDropdownRef?.current,\n // {\n // height: 0,\n // },\n // {\n // height: supportsDropdownHeight,\n // duration: 0.5,\n // }\n // )\n // }, [supportsDropdownHeight])\n\n useEffect(() => {\n if (supportsDropdownRef?.current) {\n const rect = supportsDropdownRef?.current?.getBoundingClientRect()\n setSupportsDropdownHeight(rect.height)\n }\n }, [supportsDropdownRef])\n\n const debouncedHandleResize = debounce(() => {\n if (currentNavItemRef) {\n const rect = currentNavItemRef.getBoundingClientRect()\n setNavItemReact(rect)\n }\n }, 500)\n\n useEffect(() => {\n debouncedHandleResize()\n window.addEventListener('resize', debouncedHandleResize)\n return () => {\n window.removeEventListener('resize', debouncedHandleResize)\n }\n }, [debouncedHandleResize])\n\n useEffect(() => {\n if (currentNavItemRef) {\n const rect = currentNavItemRef.getBoundingClientRect()\n setNavItemReact(rect)\n }\n }, [currentNavItemRef])\n\n return (\n <div\n className=\"absolute top-0 h-full overflow-hidden bg-white transition-all duration-500\"\n style={{ right: `calc(100% - ${navItemReact?.right}px)`, height: supportsDropdownHeight }}\n >\n <div ref={supportsDropdownRef} className=\"p-4\">\n {supportsMetadata?.map((supportItem: any) => (\n <div key={supportItem.id} className=\"py-2\">\n <Link href={supportItem.url} className=\"text-sm font-bold leading-[1.4] no-underline\">\n {supportItem.label}\n </Link>\n </div>\n ))}\n </div>\n </div>\n )\n}\n\nconst SeriesProductItem = ({\n product,\n isCollection,\n position,\n seriesLabel,\n}: {\n product: any\n isCollection?: boolean\n position?: number\n seriesLabel?: string\n}) => {\n const { buildProps, onSeriesProductClick } = useNavContext()\n let productData = isCollection\n ? product\n : buildProps?.products?.find((item: Product) => item.handle === product.handle)\n const variant =\n productData?.variants?.find((item: ProductVariant) => item.sku === product.sku) || productData?.variants?.[0]\n\n const listingLink = useMemo(() => {\n return `/products/${productData?.handle}?variant=${atobID(variant?.id as string)}`\n }, [productData?.handle, variant?.id])\n\n const tags = useMemo(() => {\n return productData?.tags\n ?.filter?.((item: any) => item?.startsWith?.('CLtag'))\n ?.map?.((item: any) => item?.replace?.('CLtag:', ''))\n ?.slice?.(0, 2)\n }, [productData?.tags])\n\n if (!variant?.availableForSale) return null\n\n return (\n <Link\n href={listingLink}\n onClick={e => {\n e.preventDefault()\n window.open(listingLink, '_self')\n onSeriesProductClick?.(productData, position || 0, seriesLabel)\n }}\n className=\"no-underline hover:text-current\"\n >\n <div className=\"flex shrink-0 items-center gap-4 bg-[#F5F5F7] px-4 py-3 [&_img]:hover:scale-110\">\n <div className=\"shrink-0\">\n <Picture\n source={`${variant?.image?.url || product?.images?.[0]?.url}}`}\n width={90}\n height={90}\n className=\"size-[96px]\"\n imgClassName=\"object-contain h-full\"\n />\n </div>\n <div className=\"relative\">\n <div className=\"flex gap-1\">\n {Array.isArray(tags) &&\n tags?.map((tag: string) => (\n <Text\n as=\"p\"\n html={tag}\n className=\"text-brand-0 mb-1 inline-block h-[24px] whitespace-nowrap rounded-full border-[1.6px] border-[#00BEFA] px-[6px] text-sm font-bold !leading-[22px]\"\n />\n ))}\n </div>\n {/* {product?.badge && (\n <Text\n as=\"p\"\n html={product?.badge}\n className=\"text-brand-0 mb-1 inline-block h-[24px] rounded-full border-[1.6px] border-[#00BEFA] px-[6px] text-sm font-bold !leading-[24px]\"\n />\n )} */}\n <Text\n className=\"lg-desktop:h-[44px] lg-desktop:text-base line-clamp-2 h-[40px] text-sm font-bold leading-[1.4]\"\n html={productData?.title || product?.name}\n />\n {product?.desc && (\n <Text\n as=\"p\"\n html={product?.desc}\n className=\"lg-desktop:text-sm mt-1 line-clamp-1 text-xs font-bold leading-[1.4] text-[#6D6D6F]\"\n />\n )}\n </div>\n </div>\n </Link>\n )\n}\n\n/**\n * \u591A\u5217\u4E0B\u62C9\u9879\n * @param item \u591A\u5217\u4E0B\u62C9\u9879\n */\nconst MulticolItem = ({ item, allPicture }: { item: any; allPicture?: boolean }) => {\n return (\n <>\n {item?.columns && (\n <>\n <Text html={item.label} as=\"div\" className=\"my-2 text-sm font-bold leading-[1.4] text-[#6D6D6F]\" />\n <div className=\"mt-2 flex flex-col\">\n {item.columns?.map((columnItem: any) => (\n <div key={columnItem.label} className=\"flex items-center gap-1 py-2\">\n <Link\n href={`${columnItem.url}?ref=navMenu`}\n asChild={!columnItem.url}\n className=\"text-sm font-bold leading-[1.4] no-underline\"\n >\n {columnItem.label}\n </Link>\n {columnItem?.badge && (\n <Text\n as=\"p\"\n html={columnItem?.badge || 'badge'}\n className=\"text-brand-0 h-[24px] rounded-full border-[1.6px] border-[var(--brand-color-0)] px-[6px] text-sm font-bold !leading-[22px]\"\n />\n )}\n </div>\n ))}\n </div>\n </>\n )}\n {item?.imageUrl && (\n <div\n className={cn(\n 'laptop:h-[280px] desktop:h-[224px] lg-desktop:h-[280px] tablet:max-w-[346px] laptop:max-w-[440px] desktop:w-full relative h-[240px] max-w-[358px] overflow-hidden',\n {\n ['tablet:max-w-none laptop:max-w-none']: allPicture,\n }\n )}\n >\n <Link href={`${item.url}?ref=navMenu`} asChild={!item.url}>\n <Picture\n source={item.imageUrl}\n width={404}\n height={280}\n className=\"size-full\"\n imgClassName=\"object-cover h-full hover:scale-105 transition-all duration-300\"\n />\n <div className=\"absolute bottom-4 left-4 z-10 flex flex-col justify-end no-underline\">\n <Text\n html={item.title}\n className={cn('lg-desktop:text-2xl text-xl font-bold leading-[1.2] text-white', {\n 'text-black': item?.theme === 'dark',\n })}\n />\n {item.subtitle && (\n <Text\n html={item.subtitle}\n className={cn('text-sm font-bold leading-[1.4] text-white', {\n 'text-black': item?.theme === 'dark',\n })}\n />\n )}\n {item?.primary?.label && (\n <Button\n as=\"a\"\n href={item?.primary?.url}\n variant=\"link\"\n size=\"lg\"\n className={cn('mr-auto !p-0 text-sm font-bold leading-[1.4] text-white', {\n 'text-black': item?.theme === 'dark',\n })}\n >\n {item?.primary?.label || 'more'}\n </Button>\n )}\n </div>\n </Link>\n </div>\n )}\n </>\n )\n}\n\n/**\n * \u79FB\u52A8\u7AEF\u5BFC\u822A\n * @param menuHeight \u83DC\u5355\u9AD8\u5EA6\n * @param data \u5BFC\u822A\u6570\u636E\n */\nconst MobileNavigation = forwardRef<HTMLDivElement, MobileNavigationProps>(\n ({ data, className, onPrimaryNavClick }, ref) => {\n const groupCategories = useMemo(() => {\n return WithGroupCategory(data?.categories?.filter((item: any) => item?.mobileShow))\n }, [data])\n\n const { currentMenu, setCurrentMenu, subSubCategory } = useNavContext()\n const [mobileMenuOpen, setMobileMenuOpen] = useState(false)\n const [menuInnerHeight, setMenuInnerHeight] = useState(0)\n const [categoriesItem, setCategoriesItem] = useState<any>(null)\n\n const mobileMenuRef = useRef<HTMLDivElement>(null)\n\n useEffect(() => {\n if (mobileMenuRef?.current && mobileMenuOpen) {\n const rect = mobileMenuRef?.current?.getBoundingClientRect()\n setMenuInnerHeight(window?.innerHeight - (rect?.bottom || 0))\n }\n }, [mobileMenuOpen])\n\n useGSAP(() => {\n gsap.fromTo(\n mobileMenuRef.current,\n {\n height: 0,\n },\n {\n height: menuInnerHeight,\n duration: 0.3,\n }\n )\n }, [menuInnerHeight])\n\n useEffect(() => {\n document.documentElement.style.overflow = mobileMenuOpen ? 'hidden' : 'auto'\n }, [mobileMenuOpen])\n\n const currentBlockTypeCategories = useMemo(() => {\n return categoriesItem?.components?.[0]?.blockType\n }, [categoriesItem])\n\n const MobileSupportMenuComp = WithSupports(MobileSupportMenu, {\n categoriesItem,\n })\n\n const MobileSidebarMenuComp = WithSidebar(MobileSidebarMenu, categoriesItem)\n const MobileMulticolMenuComp = WithMulticol(MobileMulticolMenu, categoriesItem)\n\n const MobileCategoriesMenuComp = useMemo(() => {\n switch (currentBlockTypeCategories) {\n case HeaderNavigationBlockType.Sidebar:\n return <MobileSidebarMenuComp />\n case HeaderNavigationBlockType.Supports:\n return <MobileSupportMenuComp />\n case HeaderNavigationBlockType.Multicol:\n return <MobileMulticolMenuComp />\n default:\n return null\n }\n }, [currentBlockTypeCategories, categoriesItem, MobileSupportMenuComp])\n\n const handleSecondaryMenuClose = useCallback(() => {\n setMobileMenuOpen(false)\n setMenuInnerHeight(0)\n setCurrentMenu && setCurrentMenu(HeaderNavigationMenu.Primary)\n }, [setMobileMenuOpen, setMenuInnerHeight, setCurrentMenu])\n\n const menuActions = useMemo(() => {\n return data?.headerBar?.actions?.filter(\n (item: any) => item?.mobileShow && item?.blockType !== HeaderNavigationActionBlockType.Profile // \u79FB\u52A8\u7AEF\u4E0D\u663E\u793Aprofile\u6309\u94AE\n )\n }, [data])\n\n const profileAction = useMemo(() => {\n return (\n data?.headerBar?.actions?.find(\n (item: any) => item?.mobileShow && item?.blockType === HeaderNavigationActionBlockType.Profile\n ) || {}\n )\n }, [data])\n\n const MobileCategoriesHeaderComp = useMemo(() => {\n switch (currentMenu) {\n case HeaderNavigationMenu.Primary:\n return (\n <PrimaryHeader\n actions={menuActions}\n menuOpen={mobileMenuOpen}\n onMenuOpenClose={() => {\n setMobileMenuOpen(false)\n setMenuInnerHeight(0)\n }}\n onMenuOpenClick={() => setMobileMenuOpen(true)}\n />\n )\n case HeaderNavigationMenu.Secondary:\n return (\n <SecondaryHeader\n title={categoriesItem?.text}\n onMenuOpenClose={handleSecondaryMenuClose}\n onMenuBackClick={() => setCurrentMenu?.(HeaderNavigationMenu.Primary)}\n />\n )\n case HeaderNavigationMenu.Third:\n return (\n <SecondaryHeader\n title={subSubCategory?.label}\n onMenuOpenClose={handleSecondaryMenuClose}\n onMenuBackClick={() => setCurrentMenu?.(HeaderNavigationMenu.Secondary)}\n />\n )\n default:\n return null\n }\n }, [\n mobileMenuOpen,\n currentMenu,\n setCurrentMenu,\n categoriesItem,\n menuActions,\n subSubCategory,\n handleSecondaryMenuClose,\n ])\n\n const handlePrimaryMenuClick = useCallback(\n (groupIndex: number, index: number) => {\n const categoriesItem = Array.isArray(groupCategories)\n ? Array.isArray(groupCategories[groupIndex])\n ? // @ts-ignore\n groupCategories[groupIndex][index]\n : {}\n : {}\n setCategoriesItem(categoriesItem)\n if (categoriesItem?.components?.[0]?.blockType === HeaderNavigationBlockType.Links) {\n // link\u6A21\u5757\u7279\u6B8A\u5904\u7406\n categoriesItem?.components?.[0]?.url && window.open(categoriesItem?.components?.[0]?.url)\n } else {\n setCurrentMenu?.(HeaderNavigationMenu.Secondary)\n }\n },\n [groupCategories, setCurrentMenu]\n )\n\n return (\n <Container className={cn('relative h-[52px]', className)}>\n {/* \u79FB\u52A8\u7AEF\u5206\u7C7B\u83DC\u5355 */}\n {MobileCategoriesHeaderComp}\n {mobileMenuOpen && (\n <nav\n ref={mobileMenuRef}\n className=\"absolute left-0 top-full z-[999] w-full overflow-y-auto border-t border-[#E4E5E6] bg-white text-black\"\n style={{ height: menuInnerHeight }}\n role=\"navigation\"\n aria-label=\"Mobile navigation menu\"\n >\n {currentMenu === HeaderNavigationMenu.Primary ? (\n <MobilePrimaryMenu\n categories={groupCategories}\n onPrimaryMenuClick={handlePrimaryMenuClick}\n onPrimaryNavClick={onPrimaryNavClick}\n profileAction={profileAction}\n />\n ) : (\n MobileCategoriesMenuComp\n )}\n </nav>\n )}\n </Container>\n )\n }\n)\n\n/**\n * \u79FB\u52A8\u7AEF\u4E00\u7EA7\u83DC\u5355\n * @param categories \u5206\u7C7B\n * @param onPrimaryMenuClick \u4E00\u7EA7\u83DC\u5355\u70B9\u51FB\n */\nconst MobilePrimaryMenu = ({\n categories,\n onPrimaryMenuClick,\n profileAction,\n onPrimaryNavClick,\n}: {\n categories: any\n onPrimaryMenuClick: (groupIndex: number, index: number) => void\n profileAction: any\n onPrimaryNavClick?: (category: any, position: number) => void\n}) => {\n return (\n <div className=\"flex h-full flex-col justify-between\">\n <div className=\"tablet:px-8 laptop:px-16 p-4\">\n {categories?.map((groupItem: any, groupIndex: number) => (\n <div key={`groupCategory-${groupIndex}`} className=\"\">\n {groupItem?.map((item: any, index: number) => (\n <MenuItem\n key={item.id}\n label={item.text}\n onClick={() => {\n const flatCategories = categories?.flat() || []\n const position = flatCategories?.findIndex(\n (item: any) => item?.id === categories[groupIndex][index]?.id\n )\n onPrimaryMenuClick(groupIndex, index)\n onPrimaryNavClick?.(item, position)\n }}\n icon={item.components?.[0]?.icon}\n />\n ))}\n <div\n className={cn('my-2 h-px w-full bg-[#E5E5E7]', { ['hidden']: groupIndex === categories.length - 1 })}\n />\n </div>\n ))}\n </div>\n <ProfileComp profileAction={profileAction} />\n </div>\n )\n}\n\n/**\n * \u79FB\u52A8\u7AEF\u4FA7\u8FB9\u680F\u4E0B\u62C9\n * @param sidebarCategoriesMetadata \u4FA7\u8FB9\u680F\u5206\u7C7B\u5143\u6570\u636E\n * @param seriesMetadata \u4FA7\u8FB9\u680F\u7CFB\u5217\u5143\u6570\u636E\n */\nconst MobileSidebarMenu = ({\n sidebarCategoriesMetadata,\n seriesMetadata,\n}: {\n sidebarCategoriesMetadata: any\n seriesMetadata: any\n}) => {\n const {\n currentMenu,\n setCurrentMenu,\n subSubCategory,\n setSubSubCategory,\n setCurrentSeriesMetadata,\n currentSeriesMetadata,\n buildProps,\n onSidebarNavClick,\n } = useNavContext()\n const [expandedSubcategory, setExpandedSubcategory] = useState<{ index: number; open: boolean }[]>([])\n const [expandedSeriesCategories, setExpandedSeriesCategories] = useState<{ index: number; open: boolean }[]>([])\n\n useEffect(() => {\n if (sidebarCategoriesMetadata?.subcategories?.length) {\n setExpandedSubcategory(\n sidebarCategoriesMetadata?.subcategories?.map((_: any, index: number) => ({\n index,\n open: false,\n }))\n )\n }\n }, [sidebarCategoriesMetadata])\n\n useEffect(() => {\n if (subSubCategory?.subSubCategories?.length) {\n setExpandedSeriesCategories(\n subSubCategory?.subSubCategories?.map((_: any, index: number) => ({\n index,\n open: index === 0,\n }))\n )\n }\n }, [subSubCategory])\n\n const handleSubSubCategoryClick = useCallback(\n (item: any, subIndex?: number) => {\n setCurrentMenu && setCurrentMenu(HeaderNavigationMenu.Third)\n setSubSubCategory?.(item)\n const curSeriesMetadata =\n seriesMetadata?.find((seriesItem: any) =>\n subIndex !== undefined\n ? item?.subSubCategories?.[subIndex]?.label?.toLowerCase() === seriesItem.label?.toLowerCase()\n : item?.label?.toLowerCase() === seriesItem.label?.toLowerCase()\n ) || {}\n // \u901A\u8FC7categoriesMetadata\u7684subSubCategories\u7684label\u4E0Eseries\u7684label\u5339\u914D\n if (item?.collections) {\n const category = buildProps?.categories?.[item?.collections] || {}\n setCurrentSeriesMetadata?.({\n label: curSeriesMetadata?.label,\n isCollection: true,\n banner: curSeriesMetadata?.banner,\n primary: curSeriesMetadata?.primary,\n series: [\n {\n products: category?.products,\n },\n ],\n })\n } else {\n setCurrentSeriesMetadata?.(curSeriesMetadata)\n }\n },\n [seriesMetadata, setCurrentMenu, setSubSubCategory, setCurrentSeriesMetadata, buildProps?.categories]\n )\n\n const defaultGuide = useMemo(() => {\n return seriesMetadata?.find((item: any) => !!item?.guide)?.guide\n }, [seriesMetadata])\n\n const MobileSidebarMenuComp = useMemo(() => {\n switch (currentMenu) {\n case HeaderNavigationMenu.Secondary:\n return (\n // \u4E8C\u7EA7\u83DC\u5355\n <div className=\"tablet:px-8 laptop:px-16 tablet:justify-start tablet:gap-16 flex h-full flex-col justify-between p-4\">\n <div>\n {sidebarCategoriesMetadata?.subcategories?.map((item: any, index: number) => {\n return (\n <div key={`${item.label}-${index}`}>\n <MenuItem\n label={item?.label}\n active={expandedSubcategory.find(item => item.index === index)?.open}\n onClick={() => {\n handleSubSubCategoryClick(item)\n onSidebarNavClick?.(item, index)\n }}\n />\n {/* {expandedSubcategory.find(item => item.index === index)?.open &&\n item.subSubCategories?.map((subItem: any, subIndex: number) => (\n <div\n key={`${index}-${subIndex}`}\n className=\"px-2 py-4\"\n onClick={() => handleSubSubCategoryClick(item, subIndex)}\n >\n <Text html={subItem.label} className=\"text-sm font-bold leading-[1.4]\" />\n </div>\n ))} */}\n </div>\n )\n })}\n </div>\n <div className=\"tablet:items-start flex flex-col items-center gap-4\">\n {sidebarCategoriesMetadata?.primary && (\n <Button\n as=\"a\"\n href={`${sidebarCategoriesMetadata?.primary?.url}?ref=${sidebarCategoriesMetadata?.primary?.label}_shopall`}\n variant=\"primary\"\n size=\"lg\"\n className=\"tablet:w-auto w-full text-base\"\n >\n {sidebarCategoriesMetadata?.primary?.label}\n </Button>\n )}\n {sidebarCategoriesMetadata?.secondary && (\n <Button\n as=\"a\"\n href={sidebarCategoriesMetadata?.secondary?.url}\n variant=\"link\"\n size=\"lg\"\n className=\"tablet:w-auto tablet:px-0 w-full py-0 text-base\"\n >\n {sidebarCategoriesMetadata?.secondary?.label}\n </Button>\n )}\n </div>\n </div>\n )\n case HeaderNavigationMenu.Third:\n return (\n // \u4E09\u7EA7\u83DC\u5355\n <div className=\"tablet:px-8 laptop:px-16 p-4\">\n {subSubCategory?.subSubCategories ? (\n subSubCategory?.subSubCategories?.map((subSubCategoryItem: any, index: number) => {\n const curSeriesMetadata =\n seriesMetadata?.find(\n (item: any) => item.label.toLowerCase() === subSubCategoryItem?.label?.toLowerCase()\n ) || {}\n let matchSeriesMetadata = {} as any\n if (subSubCategoryItem?.collections) {\n const category = buildProps?.categories?.[subSubCategoryItem?.collections] || {}\n matchSeriesMetadata = {\n label: curSeriesMetadata?.label,\n isCollection: true,\n banner: curSeriesMetadata?.banner,\n primary: curSeriesMetadata?.primary,\n series: [\n {\n products: category?.products,\n },\n ],\n }\n } else {\n matchSeriesMetadata = curSeriesMetadata\n }\n return (\n <div key={`${subSubCategoryItem.label}-${index}`}>\n {Reflect.ownKeys(subSubCategoryItem).length > 0 && (\n <SubSubCategoryItemComp\n matchSeriesMetadata={matchSeriesMetadata}\n onSubSubCategoryItemClick={() => {\n onSidebarNavClick?.(subSubCategoryItem, index)\n setExpandedSeriesCategories(prev =>\n prev.map((item, i) => ({ ...item, open: i === index ? !item.open : item.open }))\n )\n }}\n expanded={!!expandedSeriesCategories?.find(item => item.index === index)?.open}\n />\n )}\n {expandedSeriesCategories?.find(item => item.index === index)?.open && (\n <>\n <SubSubCategoryContentComp matchSeriesMetadata={matchSeriesMetadata} />\n {matchSeriesMetadata?.primary && (\n <div className=\"my-4 text-center\">\n <Button\n as=\"a\"\n href={matchSeriesMetadata?.primary?.url}\n className=\"text-base leading-[1.2] no-underline\"\n variant=\"secondary\"\n size=\"base\"\n >\n {matchSeriesMetadata?.primary?.label}\n </Button>\n </div>\n )}\n </>\n )}\n </div>\n )\n })\n ) : (\n <>\n {Reflect.ownKeys(currentSeriesMetadata).length > 0 && (\n <SubSubCategoryItemComp matchSeriesMetadata={currentSeriesMetadata} />\n )}\n <SubSubCategoryContentComp matchSeriesMetadata={currentSeriesMetadata} />\n {currentSeriesMetadata?.primary && (\n <div className=\"my-4 text-center \">\n <Button\n as=\"a\"\n href={`${currentSeriesMetadata?.primary?.url}?ref=${currentSeriesMetadata?.label}_viewmore`}\n variant=\"secondary\"\n size=\"base\"\n className=\"text-base leading-[1.2] no-underline\"\n >\n {currentSeriesMetadata?.primary?.label}\n </Button>\n </div>\n )}\n </>\n )}\n {defaultGuide && (\n <Link href={defaultGuide?.url}>\n <div className=\"mt-4\">\n <Text html={defaultGuide?.label} className=\"text-sm font-bold leading-[1.2] text-[#6D6D6F]\" />\n </div>\n </Link>\n )}\n </div>\n )\n default:\n return null\n }\n }, [\n currentMenu,\n sidebarCategoriesMetadata,\n seriesMetadata,\n expandedSubcategory,\n expandedSeriesCategories,\n subSubCategory,\n currentSeriesMetadata,\n buildProps?.categories,\n defaultGuide,\n handleSubSubCategoryClick,\n onSidebarNavClick,\n ])\n\n return MobileSidebarMenuComp\n}\n\nconst SubSubCategoryItemComp = ({\n matchSeriesMetadata,\n onSubSubCategoryItemClick,\n expanded,\n}: {\n matchSeriesMetadata: any\n onSubSubCategoryItemClick?: () => void\n expanded?: boolean\n}) => {\n const content = (\n <>\n {matchSeriesMetadata?.label && (\n <Text html={matchSeriesMetadata?.label} className=\"text-sm font-bold leading-[1.4]\" />\n )}\n {onSubSubCategoryItemClick && (\n <DownArrow\n aria-hidden=\"true\"\n className={cn('size-5', {\n ['rotate-180']: expanded,\n })}\n />\n )}\n </>\n )\n\n return onSubSubCategoryItemClick ? (\n <button\n className=\"tablet:pt-0 flex w-full cursor-pointer items-center justify-between border-0 bg-transparent py-4 text-left\"\n onClick={onSubSubCategoryItemClick}\n aria-expanded={expanded}\n >\n {content}\n </button>\n ) : (\n <div className=\"tablet:pt-0 flex items-center justify-between py-4\">{content}</div>\n )\n}\n\nconst SubSubCategoryContentComp = ({ matchSeriesMetadata }: { matchSeriesMetadata: any }) => {\n return (\n <div className=\"laptop:gap-3 flex flex-col gap-2\">\n {!!matchSeriesMetadata?.series?.length &&\n matchSeriesMetadata?.series?.map((seriesItem: any, pIndex: number) => (\n <div key={`seriesItem-${pIndex}`}>\n {seriesItem.label && (\n <Text html={seriesItem.label} className=\"mb-2 text-sm font-bold leading-[1.4] text-[#3D3D3F]\" />\n )}\n <div className=\"laptop:grid-cols-3 laptop:gap-4 tablet:grid tablet:grid-cols-2 tablet:gap-3 flex flex-col gap-2\">\n {!!matchSeriesMetadata?.banner && (\n <Link asChild={!matchSeriesMetadata?.banner?.href} href={matchSeriesMetadata?.banner?.href}>\n <div className=\"[&_img]:hover:duration-600 relative [&_img]:hover:scale-110 [&_img]:hover:transition-all\">\n <Picture\n source={matchSeriesMetadata?.banner?.imageUrl}\n className=\"laptop:h-[120px] h-[114px]\"\n imgClassName=\"object-cover h-full\"\n />\n <div className=\"absolute inset-x-0 bottom-0 p-4\">\n <Heading\n size={2}\n html={matchSeriesMetadata?.banner?.title || 'Buy in Guide'}\n className={cn('font-bold text-white', {\n 'text-black': matchSeriesMetadata?.banner?.theme === 'dark',\n })}\n />\n <Text\n html={matchSeriesMetadata?.banner?.desc || '20.000mAh'}\n className={cn('text-sm font-bold text-white', {\n 'text-black': matchSeriesMetadata?.banner?.theme === 'dark',\n })}\n />\n </div>\n </div>\n </Link>\n )}\n {seriesItem.products?.map((product: any, index: number) => (\n <SeriesProductItem\n position={index}\n key={`seriesProductItem-${pIndex}-${index}`}\n product={product}\n seriesLabel={matchSeriesMetadata?.label}\n isCollection={matchSeriesMetadata?.isCollection}\n />\n ))}\n </div>\n </div>\n ))}\n </div>\n )\n}\n\n/**\n * \u79FB\u52A8\u7AEFsupport\u83DC\u5355\n * @param supportsMetadata support\u83DC\u5355\u5143\u6570\u636E\n */\nconst MobileSupportMenu = ({ supportsMetadata }: { supportsMetadata: any }) => {\n return (\n <div className=\"tablet:px-8 laptop:px-16 p-4\">\n {supportsMetadata?.map((supportItem: any) => (\n <MenuItem key={supportItem.id} href={supportItem.url} label={supportItem.label} onClick={() => {}} />\n ))}\n </div>\n )\n}\n\n/**\n * \u79FB\u52A8\u7AEFmulticol\u83DC\u5355\n * @param multicolMetadata multicol\u83DC\u5355\u5143\u6570\u636E\n */\nconst MobileMulticolMenu = ({ multicolMetadata }: { multicolMetadata: any }) => {\n // \u662F\u5426\u5168\u90E8\u662F\u56FE\u7247\n const allPicture = useMemo(() => {\n return !multicolMetadata?.some((item: any) => !!item.columns)\n }, [multicolMetadata])\n\n return (\n <div\n className={cn('tablet:py-4 tablet:px-8 laptop:px-16 tablet:gap-6 flex flex-col gap-4 p-4', {\n ['tablet:grid tablet:grid-cols-2 tablet:gap-3 laptop:gap-4']: allPicture,\n })}\n >\n {multicolMetadata?.map((item: any, index: number) => (\n <div key={`multicolItem-${item?.label}-${index}`}>\n <MulticolItem item={item} allPicture={allPicture} />\n </div>\n ))}\n </div>\n )\n}\n\n/**\n * \u79FB\u52A8\u7AEFprofile\u7EC4\u4EF6\n * @param profileAction profile\u83DC\u5355\u5143\u6570\u636E\n */\nconst ProfileComp = ({ profileAction }: { profileAction: any }) => {\n const [profileOpen, setProfileOpen] = useState(false)\n const { profile, event } = useNavContext()\n return (\n <div\n className={cn('tablet:px-8 laptop:px-16 bg-[#F5F5F7] px-4 py-6', {\n 'p-4': profileOpen,\n })}\n >\n <button\n className=\"flex w-full cursor-pointer items-center justify-between border-0 bg-transparent\"\n onClick={() => setProfileOpen(!profileOpen)}\n aria-expanded={profileOpen}\n aria-label={profile?.nick_name || profileAction?.welcome}\n >\n <div className=\"flex items-center gap-[14px]\">\n <div className=\"flex size-[40px] shrink-0 items-center justify-center rounded-full bg-white\">\n <User aria-hidden=\"true\" />\n </div>\n <Text html={profile?.nick_name || profileAction?.welcome} className=\"text-base font-bold leading-[1.4]\" />\n </div>\n {!profile?.email && (\n <DownArrow aria-hidden=\"true\" className={cn('laptop:size-4 size-5', { 'rotate-180': profileOpen })} />\n )}\n </button>\n {profile?.email && (\n <nav className=\"mt-4\" role=\"navigation\" aria-label=\"Profile menu\">\n {profileAction?.profiles?.map((item: any) => (\n <MenuItem key={item.id} label={item?.title} href={item?.url} />\n ))}\n </nav>\n )}\n {profileOpen && !profile?.email && (\n <div className=\"mt-4\">\n <Text html={profileAction?.benefits_title} className=\"text-sm font-bold leading-[1.4]\" />\n <div className=\"mt-2 flex flex-col gap-1\">\n {profileAction?.benefits?.map((item: any) => (\n <div key={item.id} className=\"flex items-center gap-[6px]\">\n <Picture source={item.benefitIcon?.url} className=\"size-4\" alt={item.benefit} width={16} height={16} />\n <Text html={item.benefit} className=\"text-sm font-bold leading-[1.4]\" />\n </div>\n ))}\n </div>\n </div>\n )}\n {!profile?.email && (\n <div className=\"mt-4 flex items-center gap-3\">\n <Button className=\"tablet:flex-none flex-1\" variant=\"secondary\" size=\"base\" onClick={() => event?.join?.()}>\n <Text html={profileAction?.primaryButton || 'Join Now'} className=\"text-sm font-bold leading-[1.4]\" />\n </Button>\n <Button className=\"tablet:flex-none flex-1\" variant=\"primary\" size=\"base\" onClick={() => event?.login?.()}>\n <Text html={profileAction?.secondaryButton || 'Log In'} className=\"text-sm font-bold leading-[1.4]\" />\n </Button>\n </div>\n )}\n </div>\n )\n}\n\nconst PrimaryHeader = ({ menuOpen, onMenuOpenClose, onMenuOpenClick, actions }: MobilePrimaryNavigationData) => {\n return (\n <div className=\"flex h-full items-center justify-between gap-4\">\n <Logo />\n <div className=\"desktop:gap-6 flex items-center gap-4\">\n <Actions actions={actions} />\n {menuOpen ? (\n <button\n className=\"cursor-pointer border-0 bg-transparent p-0\"\n onClick={() => onMenuOpenClose()}\n aria-label=\"Close menu\"\n aria-expanded=\"true\"\n >\n <Close className=\"size-5\" aria-hidden=\"true\" />\n </button>\n ) : (\n <button\n className=\"cursor-pointer border-0 bg-transparent p-0\"\n onClick={() => onMenuOpenClick()}\n aria-label=\"Open menu\"\n aria-expanded=\"false\"\n aria-haspopup=\"true\"\n >\n <Menu className=\"size-5\" aria-hidden=\"true\" />\n </button>\n )}\n </div>\n </div>\n )\n}\n\nconst Logo = () => {\n const { payloadData, isMobile } = useNavContext()\n return (\n <a\n href=\"/\"\n className=\"hover:text-brand-0 [&>svg]:w-full\"\n aria-label=\"Home\"\n dangerouslySetInnerHTML={{\n __html: isMobile ? payloadData?.headerBar?.mobileLogo : payloadData?.headerBar?.desktopLogo,\n }}\n />\n )\n}\n\nconst Actions = forwardRef<HTMLButtonElement, { actions: any; activeStatus?: boolean }>(\n ({ actions, activeStatus = false }, ref) => {\n const { event, cartCount } = useNavContext()\n const [activeAction, setActiveAction] = useState<any>(null)\n\n const getActionLabel = (blockType: string) => {\n switch (blockType) {\n case HeaderNavigationActionBlockType.Search:\n return 'Search'\n case HeaderNavigationActionBlockType.Cart:\n return `Shopping cart${cartCount > 0 ? ` (${cartCount} items)` : ''}`\n case HeaderNavigationActionBlockType.Profile:\n return 'User profile'\n case HeaderNavigationActionBlockType.Livestream:\n return 'Livestream'\n default:\n return 'Action'\n }\n }\n\n const handleActionClick = useCallback(\n (action: any, index: number) => {\n setActiveAction(index)\n switch (action?.blockType) {\n case HeaderNavigationActionBlockType.Search:\n event?.search?.()\n break\n case HeaderNavigationActionBlockType.Cart:\n event?.cart?.()\n break\n case HeaderNavigationActionBlockType.Profile:\n event?.profile?.()\n break\n case HeaderNavigationActionBlockType.Livestream:\n event?.livestream?.()\n break\n default:\n return () => {}\n }\n },\n [event]\n )\n\n return (\n <div className=\"desktop:gap-6 flex items-center gap-4\">\n {Array.isArray(actions) &&\n actions?.map((action: any, index: number) => (\n <button\n className=\"relative cursor-pointer border-0 bg-transparent p-0\"\n key={action.id}\n ref={action.blockType === HeaderNavigationActionBlockType.Profile ? ref : null}\n onClick={() => handleActionClick(action, index)}\n aria-label={getActionLabel(action.blockType)}\n aria-pressed={activeStatus && activeAction === index}\n >\n <Text\n html={action.icon}\n className={cn('size-5', { 'text-brand-0': activeStatus && activeAction === index })}\n aria-hidden=\"true\"\n />\n {action.blockType === HeaderNavigationActionBlockType.Cart && cartCount > 0 && (\n <div\n className=\"bg-brand-0 absolute right-[-12px] top-[calc(100%-16px)] z-[1] flex min-h-5 min-w-5 items-center justify-center rounded-full px-[2px]\"\n aria-hidden=\"true\"\n >\n <Text html={cartCount?.toString()} className=\"text-sm font-bold leading-[1.2] text-white\" />\n </div>\n )}\n </button>\n ))}\n </div>\n )\n }\n)\n\nconst SecondaryHeader = ({ title, onMenuOpenClose, onMenuBackClick }: MobileSecondaryNavigationData) => {\n return (\n <div className=\"flex h-full items-center gap-3\">\n <button\n className=\"cursor-pointer border-0 bg-transparent p-0\"\n onClick={() => onMenuBackClick()}\n aria-label=\"Back to previous menu\"\n >\n <LeftArrow className=\"size-5\" aria-hidden=\"true\" />\n </button>\n <Text html={title} className=\"flex-1 text-center text-base font-bold leading-[1.4]\" />\n <button\n className=\"cursor-pointer border-0 bg-transparent p-0\"\n onClick={() => onMenuOpenClose()}\n aria-label=\"Close menu\"\n >\n <Close className=\"size-5\" aria-hidden=\"true\" />\n </button>\n </div>\n )\n}\n\nconst MenuItem = ({\n label,\n href,\n onClick,\n active,\n icon,\n className,\n}: {\n label: string\n href?: string\n onClick?: () => void\n active?: boolean\n icon?: string\n className?: string\n}) => {\n const content = (\n <>\n <div className=\"flex items-center gap-4\">\n <Text html={label} className={cn('text-sm font-bold leading-[1.4]', { underline: icon })} />\n {icon && <Text html={icon} aria-hidden=\"true\" />}\n </div>\n <RightArrow className={cn('laptop:size-4 size-5', { 'rotate-90': active })} aria-hidden=\"true\" />\n </>\n )\n\n return href ? (\n <Link href={href} className={cn('flex cursor-pointer items-center justify-between py-4 no-underline', className)}>\n {content}\n </Link>\n ) : (\n <button\n className={cn(\n 'flex w-full cursor-pointer items-center justify-between border-0 bg-transparent py-4 text-left',\n className\n )}\n onClick={onClick}\n aria-expanded={active}\n >\n {content}\n </button>\n )\n}\n\nexport default HeaderNavigation\n"],
5
+ "mappings": "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",
6
+ "names": ["HeaderNavigation_exports", "__export", "HeaderNavigation_default", "__toCommonJS", "import_jsx_runtime", "import_react", "import_components", "import_Styles", "import_utils", "import_NavProvider", "import_types", "import_es_toolkit", "import_jump", "import_gsap", "import_withCategory", "import_icons", "import_NavigationSearch", "HeaderNavigation", "props", "ref", "headerNavigation", "buildProps", "event", "profile", "theme", "isTop", "searchResult", "onSearch", "isSearching", "keywords", "onPrimaryNavClick", "onSeriesProductClick", "onSidebarNavClick", "headerId", "cartCount", "searchOpen", "setSearchOpen", "isMobile", "setIsMobile", "searchRef", "headerRef", "resizeWindow", "offsetWidth", "jump", "searchPage", "item", "NavProvider", "DesktopNavigation", "MobileNavigation", "NavigationSearch", "value", "e", "data", "onNavItemClick", "className", "downdownHover", "setDowndownHover", "groupCategories", "categoriesItem", "setCategoriesItem", "navStatusArray", "setNavStatusArray", "profileRef", "userProfileOpen", "setUserProfileOpen", "dropdownRef", "navItemRefs", "categories", "groupItem", "groupIndex", "_", "index", "currentNavItem", "handleNavItemClick", "position", "prev", "handleNavItemKeyDown", "handleNavMenuClose", "currentBlockTypeCategories", "SidebarDropdownComp", "SidebarDropdown", "MulticolDropdownComp", "MulticolDropdown", "SupportsDropdownComp", "SupportsDropdown", "DropdownComp", "actions", "profileAction", "handleProfileClick", "profileRefElement", "Logo", "Actions", "isExpanded", "el", "MenuItem", "React", "sidebarCategoriesMetadata", "seriesMetadata", "expandedSubcategory", "setExpandedSubcategory", "activeSubSubcategoryIndex", "setActiveSubSubcategoryIndex", "sidebarDropdownRef", "initExpandedSubcategory", "subcategories", "withSubSubCategoriesIndex", "withoutSubSubCategoriesIndex", "expandedStates", "matchSeriesMetadata", "subCategory", "currentSeriesMetadata", "category", "activeSubSubcategory", "currentActiveSeriesMetadata", "handleSubcategoryOpen", "subcategoryItem", "handleSubSubcategoryOpen", "subSubindex", "subItem", "hasSubSubCategory", "subSubItem", "seriesItem", "seriesIndex", "product", "SeriesProductItem", "multicolMetadata", "multicolDropdownRef", "MulticolItem", "supportsMetadata", "currentNavItemRef", "supportsDropdownRef", "navItemReact", "setNavItemReact", "supportsDropdownHeight", "setSupportsDropdownHeight", "rect", "debouncedHandleResize", "supportItem", "isCollection", "seriesLabel", "productData", "variant", "listingLink", "tags", "tag", "allPicture", "columnItem", "currentMenu", "setCurrentMenu", "subSubCategory", "mobileMenuOpen", "setMobileMenuOpen", "menuInnerHeight", "setMenuInnerHeight", "mobileMenuRef", "MobileSupportMenuComp", "MobileSupportMenu", "MobileSidebarMenuComp", "MobileSidebarMenu", "MobileMulticolMenuComp", "MobileMulticolMenu", "MobileCategoriesMenuComp", "handleSecondaryMenuClose", "menuActions", "MobileCategoriesHeaderComp", "PrimaryHeader", "SecondaryHeader", "handlePrimaryMenuClick", "MobilePrimaryMenu", "onPrimaryMenuClick", "ProfileComp", "setSubSubCategory", "setCurrentSeriesMetadata", "expandedSeriesCategories", "setExpandedSeriesCategories", "handleSubSubCategoryClick", "subIndex", "curSeriesMetadata", "defaultGuide", "subSubCategoryItem", "SubSubCategoryItemComp", "i", "SubSubCategoryContentComp", "onSubSubCategoryItemClick", "expanded", "content", "pIndex", "profileOpen", "setProfileOpen", "menuOpen", "onMenuOpenClose", "onMenuOpenClick", "payloadData", "activeStatus", "activeAction", "setActiveAction", "getActionLabel", "blockType", "handleActionClick", "action", "title", "onMenuBackClick", "label", "href", "onClick", "active", "icon"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import type { HeroBannerProps } from './types.js';
3
3
  declare const _default: React.ForwardRefExoticComponent<Omit<Omit<HeroBannerProps & React.RefAttributes<HTMLDivElement>, keyof import("../../shared/Styles.js").StylesProps> & Partial<import("../../shared/Styles.js").StylesProps & import("../../shared/Styles.js").ContainerProps> & {
4
- className?: string;
5
- data?: Record<string, any>;
4
+ className?: string | undefined;
5
+ data?: Record<string, any> | undefined;
6
6
  }, "ref"> & React.RefAttributes<any>>;
7
7
  export default _default;