@anker-in/headless-ui 1.2.2 → 1.2.3-alpha.1778583232121

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 (323) hide show
  1. package/dist/cjs/biz-components/AccordionCards/index.js +1 -1
  2. package/dist/cjs/biz-components/AccordionCards/index.js.map +3 -3
  3. package/dist/cjs/biz-components/ActivityMechanism/index.js +1 -1
  4. package/dist/cjs/biz-components/ActivityMechanism/index.js.map +3 -3
  5. package/dist/cjs/biz-components/ActivitySchedule/index.js +1 -1
  6. package/dist/cjs/biz-components/ActivitySchedule/index.js.map +3 -3
  7. package/dist/cjs/biz-components/AiuiProvider/index.js +1 -1
  8. package/dist/cjs/biz-components/AiuiProvider/index.js.map +3 -3
  9. package/dist/cjs/biz-components/AnchorNavigation/index.js +1 -1
  10. package/dist/cjs/biz-components/AnchorNavigation/index.js.map +3 -3
  11. package/dist/cjs/biz-components/BrandCardLink/BrandCardLink.js +1 -1
  12. package/dist/cjs/biz-components/BrandCardLink/BrandCardLink.js.map +3 -3
  13. package/dist/cjs/biz-components/Category/SwiperCategory.js +1 -1
  14. package/dist/cjs/biz-components/Category/SwiperCategory.js.map +3 -3
  15. package/dist/cjs/biz-components/Category/index.js +1 -1
  16. package/dist/cjs/biz-components/Category/index.js.map +3 -3
  17. package/dist/cjs/biz-components/Evaluate/index.js +1 -1
  18. package/dist/cjs/biz-components/Evaluate/index.js.map +3 -3
  19. package/dist/cjs/biz-components/EventSchedule/index.js +1 -1
  20. package/dist/cjs/biz-components/EventSchedule/index.js.map +3 -3
  21. package/dist/cjs/biz-components/Faq/Faq.js +1 -1
  22. package/dist/cjs/biz-components/Faq/Faq.js.map +2 -2
  23. package/dist/cjs/biz-components/Faq/types.d.ts +0 -1
  24. package/dist/cjs/biz-components/Faq/types.js +1 -1
  25. package/dist/cjs/biz-components/Faq/types.js.map +1 -1
  26. package/dist/cjs/biz-components/FeatureCards/FeatureCards.js +1 -1
  27. package/dist/cjs/biz-components/FeatureCards/FeatureCards.js.map +3 -3
  28. package/dist/cjs/biz-components/GiftBox/index.js +1 -1
  29. package/dist/cjs/biz-components/GiftBox/index.js.map +2 -2
  30. package/dist/cjs/biz-components/GiftShelf/index.js +1 -1
  31. package/dist/cjs/biz-components/GiftShelf/index.js.map +3 -3
  32. package/dist/cjs/biz-components/GiftTierShelf/index.js +1 -1
  33. package/dist/cjs/biz-components/GiftTierShelf/index.js.map +3 -3
  34. package/dist/cjs/biz-components/Graphic/index.js +1 -1
  35. package/dist/cjs/biz-components/Graphic/index.js.map +2 -2
  36. package/dist/cjs/biz-components/GraphicOverlay/GraphicOverlay.js +1 -1
  37. package/dist/cjs/biz-components/GraphicOverlay/GraphicOverlay.js.map +3 -3
  38. package/dist/cjs/biz-components/HeaderNavigation/MobileTextLinksMenu.d.ts +12 -0
  39. package/dist/cjs/biz-components/HeaderNavigation/MobileTextLinksMenu.js +2 -0
  40. package/dist/cjs/biz-components/HeaderNavigation/MobileTextLinksMenu.js.map +7 -0
  41. package/dist/cjs/biz-components/HeaderNavigation/TextLinksDropdown.d.ts +10 -0
  42. package/dist/cjs/biz-components/HeaderNavigation/TextLinksDropdown.js +2 -0
  43. package/dist/cjs/biz-components/HeaderNavigation/TextLinksDropdown.js.map +7 -0
  44. package/dist/cjs/biz-components/HeaderNavigation/index.js +1 -1
  45. package/dist/cjs/biz-components/HeaderNavigation/index.js.map +3 -3
  46. package/dist/cjs/biz-components/HeaderNavigation/types.d.ts +8 -1
  47. package/dist/cjs/biz-components/HeaderNavigation/types.js +1 -1
  48. package/dist/cjs/biz-components/HeaderNavigation/types.js.map +2 -2
  49. package/dist/cjs/biz-components/HeaderNavigation/withCategory.d.ts +1 -0
  50. package/dist/cjs/biz-components/HeaderNavigation/withCategory.js +1 -1
  51. package/dist/cjs/biz-components/HeaderNavigation/withCategory.js.map +3 -3
  52. package/dist/cjs/biz-components/HeroBanner/HeroBanner.js +1 -1
  53. package/dist/cjs/biz-components/HeroBanner/HeroBanner.js.map +3 -3
  54. package/dist/cjs/biz-components/HeroBanner/HeroBannerCarousel.js +1 -1
  55. package/dist/cjs/biz-components/HeroBanner/HeroBannerCarousel.js.map +3 -3
  56. package/dist/cjs/biz-components/HeroBanner/types.d.ts +5 -0
  57. package/dist/cjs/biz-components/HeroBanner/types.js +1 -1
  58. package/dist/cjs/biz-components/HeroBanner/types.js.map +1 -1
  59. package/dist/cjs/biz-components/ImageOverlayShelf/ProductCard.js +1 -1
  60. package/dist/cjs/biz-components/ImageOverlayShelf/ProductCard.js.map +2 -2
  61. package/dist/cjs/biz-components/ImageWithText/ImageWithText.js +1 -1
  62. package/dist/cjs/biz-components/ImageWithText/ImageWithText.js.map +3 -3
  63. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/index.js +1 -1
  64. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/index.js.map +3 -3
  65. package/dist/cjs/biz-components/Listing/components/PurchaseBar/ProductActions/index.js +1 -1
  66. package/dist/cjs/biz-components/Listing/components/PurchaseBar/ProductActions/index.js.map +3 -3
  67. package/dist/cjs/biz-components/Listing/components/PurchaseBar/index.js +1 -1
  68. package/dist/cjs/biz-components/Listing/components/PurchaseBar/index.js.map +3 -3
  69. package/dist/cjs/biz-components/Listing/components/PurchaseBar/types.d.ts +2 -0
  70. package/dist/cjs/biz-components/Listing/components/PurchaseBar/types.js +1 -1
  71. package/dist/cjs/biz-components/Listing/components/PurchaseBar/types.js.map +1 -1
  72. package/dist/cjs/biz-components/LotteryShared/ErrorModal.d.ts +4 -0
  73. package/dist/cjs/biz-components/LotteryShared/ErrorModal.js.map +2 -2
  74. package/dist/cjs/biz-components/LotteryShared/MyRewardsModal.d.ts +13 -13
  75. package/dist/cjs/biz-components/LotteryShared/MyRewardsModal.js +1 -1
  76. package/dist/cjs/biz-components/LotteryShared/MyRewardsModal.js.map +3 -3
  77. package/dist/cjs/biz-components/LotteryShared/types.d.ts +9 -0
  78. package/dist/cjs/biz-components/LotteryShared/types.js.map +2 -2
  79. package/dist/cjs/biz-components/Marquee/Marquee.d.ts +11 -4
  80. package/dist/cjs/biz-components/Marquee/Marquee.js +1 -1
  81. package/dist/cjs/biz-components/Marquee/Marquee.js.map +3 -3
  82. package/dist/cjs/biz-components/Marquee/index.d.ts +1 -1
  83. package/dist/cjs/biz-components/Marquee/index.js +1 -1
  84. package/dist/cjs/biz-components/Marquee/index.js.map +2 -2
  85. package/dist/cjs/biz-components/Marquee/type.d.ts +22 -4
  86. package/dist/cjs/biz-components/Marquee/type.js +1 -1
  87. package/dist/cjs/biz-components/Marquee/type.js.map +1 -1
  88. package/dist/cjs/biz-components/Media/index.js +1 -1
  89. package/dist/cjs/biz-components/Media/index.js.map +2 -2
  90. package/dist/cjs/biz-components/MediaPlayerBase/index.js +1 -1
  91. package/dist/cjs/biz-components/MediaPlayerBase/index.js.map +3 -3
  92. package/dist/cjs/biz-components/MediaPlayerMulti/index.js +1 -1
  93. package/dist/cjs/biz-components/MediaPlayerMulti/index.js.map +3 -3
  94. package/dist/cjs/biz-components/MediaTextOverlay/MediaTextOverlay.d.ts +9 -0
  95. package/dist/cjs/biz-components/MediaTextOverlay/MediaTextOverlay.js +2 -0
  96. package/dist/cjs/biz-components/MediaTextOverlay/MediaTextOverlay.js.map +7 -0
  97. package/dist/cjs/biz-components/MediaTextOverlay/index.d.ts +2 -0
  98. package/dist/cjs/biz-components/MediaTextOverlay/index.js +2 -0
  99. package/dist/cjs/biz-components/MediaTextOverlay/index.js.map +7 -0
  100. package/dist/cjs/biz-components/MediaTextOverlay/types.d.ts +24 -0
  101. package/dist/cjs/biz-components/MediaTextOverlay/types.js +2 -0
  102. package/dist/cjs/biz-components/MediaTextOverlay/types.js.map +7 -0
  103. package/dist/cjs/biz-components/MemberEquity/index.js +2 -2
  104. package/dist/cjs/biz-components/MemberEquity/index.js.map +3 -3
  105. package/dist/cjs/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js +1 -1
  106. package/dist/cjs/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js.map +3 -3
  107. package/dist/cjs/biz-components/NavigationSearch/index.js +2 -2
  108. package/dist/cjs/biz-components/NavigationSearch/index.js.map +2 -2
  109. package/dist/cjs/biz-components/ProductHero/ProductHero.js +1 -1
  110. package/dist/cjs/biz-components/ProductHero/ProductHero.js.map +3 -3
  111. package/dist/cjs/biz-components/ProductLottery/types.d.ts +62 -5
  112. package/dist/cjs/biz-components/ProductLottery/types.js +1 -1
  113. package/dist/cjs/biz-components/ProductLottery/types.js.map +2 -2
  114. package/dist/cjs/biz-components/ProductNav/ProductNav.js +1 -1
  115. package/dist/cjs/biz-components/ProductNav/ProductNav.js.map +3 -3
  116. package/dist/cjs/biz-components/PromotionalBar/index.js +1 -1
  117. package/dist/cjs/biz-components/PromotionalBar/index.js.map +3 -3
  118. package/dist/cjs/biz-components/SecondaryBanner/SecondaryBannerCarousel.d.ts +1 -0
  119. package/dist/cjs/biz-components/SecondaryBanner/SecondaryBannerCarousel.js +1 -1
  120. package/dist/cjs/biz-components/SecondaryBanner/SecondaryBannerCarousel.js.map +3 -3
  121. package/dist/cjs/biz-components/SecondaryBanner/index.d.ts +9 -0
  122. package/dist/cjs/biz-components/SecondaryBanner/index.js +1 -1
  123. package/dist/cjs/biz-components/SecondaryBanner/index.js.map +3 -3
  124. package/dist/cjs/biz-components/ShelfDisplay/index.js +1 -1
  125. package/dist/cjs/biz-components/ShelfDisplay/index.js.map +2 -2
  126. package/dist/cjs/biz-components/ShelfDisplay/shelfDisplay.d.ts +1 -0
  127. package/dist/cjs/biz-components/ShelfDisplay/shelfDisplay.js +1 -1
  128. package/dist/cjs/biz-components/ShelfDisplay/shelfDisplay.js.map +1 -1
  129. package/dist/cjs/biz-components/ShelfDisplay/shelfDisplayItem.js +1 -1
  130. package/dist/cjs/biz-components/ShelfDisplay/shelfDisplayItem.js.map +3 -3
  131. package/dist/cjs/biz-components/Subscribe/index.js +1 -1
  132. package/dist/cjs/biz-components/Subscribe/index.js.map +2 -2
  133. package/dist/cjs/biz-components/SwiperBox/index.js +1 -1
  134. package/dist/cjs/biz-components/SwiperBox/index.js.map +3 -3
  135. package/dist/cjs/biz-components/ThreeDCarousel/ThreeDCarousel.js +1 -1
  136. package/dist/cjs/biz-components/ThreeDCarousel/ThreeDCarousel.js.map +3 -3
  137. package/dist/cjs/biz-components/Title/index.js +1 -1
  138. package/dist/cjs/biz-components/Title/index.js.map +3 -3
  139. package/dist/cjs/biz-components/WebPushPopup/index.d.ts +44 -0
  140. package/dist/cjs/biz-components/WebPushPopup/index.js +2 -0
  141. package/dist/cjs/biz-components/WebPushPopup/index.js.map +7 -0
  142. package/dist/cjs/biz-components/WheelLottery/index.js +1 -1
  143. package/dist/cjs/biz-components/WheelLottery/index.js.map +3 -3
  144. package/dist/cjs/biz-components/index.d.ts +6 -0
  145. package/dist/cjs/biz-components/index.js +1 -1
  146. package/dist/cjs/biz-components/index.js.map +3 -3
  147. package/dist/cjs/components/Countdown.js +1 -1
  148. package/dist/cjs/components/Countdown.js.map +3 -3
  149. package/dist/cjs/components/button.d.ts +4 -0
  150. package/dist/cjs/components/button.js +1 -1
  151. package/dist/cjs/components/button.js.map +3 -3
  152. package/dist/cjs/components/link.js +1 -1
  153. package/dist/cjs/components/link.js.map +2 -2
  154. package/dist/cjs/helpers/index.d.ts +1 -1
  155. package/dist/cjs/helpers/index.js +1 -1
  156. package/dist/cjs/helpers/index.js.map +2 -2
  157. package/dist/cjs/helpers/isLexicalEmpty.d.ts +5 -0
  158. package/dist/cjs/helpers/isLexicalEmpty.js +1 -1
  159. package/dist/cjs/helpers/isLexicalEmpty.js.map +3 -3
  160. package/dist/cjs/hooks/useEmarsysWebPush.d.ts +111 -0
  161. package/dist/cjs/hooks/useEmarsysWebPush.js +2 -0
  162. package/dist/cjs/hooks/useEmarsysWebPush.js.map +7 -0
  163. package/dist/cjs/hooks/useProductListTrack.d.ts +43 -0
  164. package/dist/cjs/hooks/useProductListTrack.js +2 -0
  165. package/dist/cjs/hooks/useProductListTrack.js.map +7 -0
  166. package/dist/esm/biz-components/AccordionCards/index.js +1 -1
  167. package/dist/esm/biz-components/AccordionCards/index.js.map +3 -3
  168. package/dist/esm/biz-components/ActivityMechanism/index.js +1 -1
  169. package/dist/esm/biz-components/ActivityMechanism/index.js.map +3 -3
  170. package/dist/esm/biz-components/ActivitySchedule/index.js +1 -1
  171. package/dist/esm/biz-components/ActivitySchedule/index.js.map +3 -3
  172. package/dist/esm/biz-components/AiuiProvider/index.js +1 -1
  173. package/dist/esm/biz-components/AiuiProvider/index.js.map +3 -3
  174. package/dist/esm/biz-components/AnchorNavigation/index.js +1 -1
  175. package/dist/esm/biz-components/AnchorNavigation/index.js.map +3 -3
  176. package/dist/esm/biz-components/BrandCardLink/BrandCardLink.js +1 -1
  177. package/dist/esm/biz-components/BrandCardLink/BrandCardLink.js.map +3 -3
  178. package/dist/esm/biz-components/Category/SwiperCategory.js +1 -1
  179. package/dist/esm/biz-components/Category/SwiperCategory.js.map +3 -3
  180. package/dist/esm/biz-components/Category/index.js +1 -1
  181. package/dist/esm/biz-components/Category/index.js.map +3 -3
  182. package/dist/esm/biz-components/Evaluate/index.js +1 -1
  183. package/dist/esm/biz-components/Evaluate/index.js.map +3 -3
  184. package/dist/esm/biz-components/EventSchedule/index.js +1 -1
  185. package/dist/esm/biz-components/EventSchedule/index.js.map +3 -3
  186. package/dist/esm/biz-components/Faq/Faq.js +1 -1
  187. package/dist/esm/biz-components/Faq/Faq.js.map +2 -2
  188. package/dist/esm/biz-components/Faq/types.d.ts +0 -1
  189. package/dist/esm/biz-components/FeatureCards/FeatureCards.js +1 -1
  190. package/dist/esm/biz-components/FeatureCards/FeatureCards.js.map +3 -3
  191. package/dist/esm/biz-components/GiftBox/index.js +1 -1
  192. package/dist/esm/biz-components/GiftBox/index.js.map +2 -2
  193. package/dist/esm/biz-components/GiftShelf/index.js +1 -1
  194. package/dist/esm/biz-components/GiftShelf/index.js.map +3 -3
  195. package/dist/esm/biz-components/GiftTierShelf/index.js +1 -1
  196. package/dist/esm/biz-components/GiftTierShelf/index.js.map +3 -3
  197. package/dist/esm/biz-components/Graphic/index.js +1 -1
  198. package/dist/esm/biz-components/Graphic/index.js.map +2 -2
  199. package/dist/esm/biz-components/GraphicOverlay/GraphicOverlay.js +1 -1
  200. package/dist/esm/biz-components/GraphicOverlay/GraphicOverlay.js.map +3 -3
  201. package/dist/esm/biz-components/HeaderNavigation/MobileTextLinksMenu.d.ts +12 -0
  202. package/dist/esm/biz-components/HeaderNavigation/MobileTextLinksMenu.js +2 -0
  203. package/dist/esm/biz-components/HeaderNavigation/MobileTextLinksMenu.js.map +7 -0
  204. package/dist/esm/biz-components/HeaderNavigation/TextLinksDropdown.d.ts +10 -0
  205. package/dist/esm/biz-components/HeaderNavigation/TextLinksDropdown.js +2 -0
  206. package/dist/esm/biz-components/HeaderNavigation/TextLinksDropdown.js.map +7 -0
  207. package/dist/esm/biz-components/HeaderNavigation/index.js +1 -1
  208. package/dist/esm/biz-components/HeaderNavigation/index.js.map +3 -3
  209. package/dist/esm/biz-components/HeaderNavigation/types.d.ts +8 -1
  210. package/dist/esm/biz-components/HeaderNavigation/types.js +1 -1
  211. package/dist/esm/biz-components/HeaderNavigation/types.js.map +2 -2
  212. package/dist/esm/biz-components/HeaderNavigation/withCategory.d.ts +1 -0
  213. package/dist/esm/biz-components/HeaderNavigation/withCategory.js +1 -1
  214. package/dist/esm/biz-components/HeaderNavigation/withCategory.js.map +3 -3
  215. package/dist/esm/biz-components/HeroBanner/HeroBanner.js +1 -1
  216. package/dist/esm/biz-components/HeroBanner/HeroBanner.js.map +3 -3
  217. package/dist/esm/biz-components/HeroBanner/HeroBannerCarousel.js +1 -1
  218. package/dist/esm/biz-components/HeroBanner/HeroBannerCarousel.js.map +3 -3
  219. package/dist/esm/biz-components/HeroBanner/types.d.ts +5 -0
  220. package/dist/esm/biz-components/ImageOverlayShelf/ProductCard.js +1 -1
  221. package/dist/esm/biz-components/ImageOverlayShelf/ProductCard.js.map +2 -2
  222. package/dist/esm/biz-components/ImageWithText/ImageWithText.js +1 -1
  223. package/dist/esm/biz-components/ImageWithText/ImageWithText.js.map +3 -3
  224. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/index.js +1 -1
  225. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/index.js.map +3 -3
  226. package/dist/esm/biz-components/Listing/components/PurchaseBar/ProductActions/index.js +1 -1
  227. package/dist/esm/biz-components/Listing/components/PurchaseBar/ProductActions/index.js.map +3 -3
  228. package/dist/esm/biz-components/Listing/components/PurchaseBar/index.js +1 -1
  229. package/dist/esm/biz-components/Listing/components/PurchaseBar/index.js.map +3 -3
  230. package/dist/esm/biz-components/Listing/components/PurchaseBar/types.d.ts +2 -0
  231. package/dist/esm/biz-components/LotteryShared/ErrorModal.d.ts +4 -0
  232. package/dist/esm/biz-components/LotteryShared/ErrorModal.js.map +2 -2
  233. package/dist/esm/biz-components/LotteryShared/MyRewardsModal.d.ts +13 -13
  234. package/dist/esm/biz-components/LotteryShared/MyRewardsModal.js +1 -1
  235. package/dist/esm/biz-components/LotteryShared/MyRewardsModal.js.map +3 -3
  236. package/dist/esm/biz-components/LotteryShared/types.d.ts +9 -0
  237. package/dist/esm/biz-components/LotteryShared/types.js.map +2 -2
  238. package/dist/esm/biz-components/Marquee/Marquee.d.ts +11 -4
  239. package/dist/esm/biz-components/Marquee/Marquee.js +1 -1
  240. package/dist/esm/biz-components/Marquee/Marquee.js.map +3 -3
  241. package/dist/esm/biz-components/Marquee/index.d.ts +1 -1
  242. package/dist/esm/biz-components/Marquee/index.js +1 -1
  243. package/dist/esm/biz-components/Marquee/index.js.map +3 -3
  244. package/dist/esm/biz-components/Marquee/type.d.ts +22 -4
  245. package/dist/esm/biz-components/Media/index.js +1 -1
  246. package/dist/esm/biz-components/Media/index.js.map +2 -2
  247. package/dist/esm/biz-components/MediaPlayerBase/index.js +1 -1
  248. package/dist/esm/biz-components/MediaPlayerBase/index.js.map +3 -3
  249. package/dist/esm/biz-components/MediaPlayerMulti/index.js +1 -1
  250. package/dist/esm/biz-components/MediaPlayerMulti/index.js.map +3 -3
  251. package/dist/esm/biz-components/MediaTextOverlay/MediaTextOverlay.d.ts +9 -0
  252. package/dist/esm/biz-components/MediaTextOverlay/MediaTextOverlay.js +2 -0
  253. package/dist/esm/biz-components/MediaTextOverlay/MediaTextOverlay.js.map +7 -0
  254. package/dist/esm/biz-components/MediaTextOverlay/index.d.ts +2 -0
  255. package/dist/esm/biz-components/MediaTextOverlay/index.js +2 -0
  256. package/dist/esm/biz-components/MediaTextOverlay/index.js.map +7 -0
  257. package/dist/esm/biz-components/MediaTextOverlay/types.d.ts +24 -0
  258. package/dist/esm/biz-components/MediaTextOverlay/types.js +1 -0
  259. package/dist/esm/biz-components/MediaTextOverlay/types.js.map +7 -0
  260. package/dist/esm/biz-components/MemberEquity/index.js +2 -2
  261. package/dist/esm/biz-components/MemberEquity/index.js.map +3 -3
  262. package/dist/esm/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js +1 -1
  263. package/dist/esm/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js.map +3 -3
  264. package/dist/esm/biz-components/NavigationSearch/index.js +2 -2
  265. package/dist/esm/biz-components/NavigationSearch/index.js.map +3 -3
  266. package/dist/esm/biz-components/ProductHero/ProductHero.js +1 -1
  267. package/dist/esm/biz-components/ProductHero/ProductHero.js.map +3 -3
  268. package/dist/esm/biz-components/ProductLottery/types.d.ts +62 -5
  269. package/dist/esm/biz-components/ProductLottery/types.js.map +2 -2
  270. package/dist/esm/biz-components/ProductNav/ProductNav.js +1 -1
  271. package/dist/esm/biz-components/ProductNav/ProductNav.js.map +3 -3
  272. package/dist/esm/biz-components/PromotionalBar/index.js +1 -1
  273. package/dist/esm/biz-components/PromotionalBar/index.js.map +3 -3
  274. package/dist/esm/biz-components/SecondaryBanner/SecondaryBannerCarousel.d.ts +1 -0
  275. package/dist/esm/biz-components/SecondaryBanner/SecondaryBannerCarousel.js +1 -1
  276. package/dist/esm/biz-components/SecondaryBanner/SecondaryBannerCarousel.js.map +3 -3
  277. package/dist/esm/biz-components/SecondaryBanner/index.d.ts +9 -0
  278. package/dist/esm/biz-components/SecondaryBanner/index.js +1 -1
  279. package/dist/esm/biz-components/SecondaryBanner/index.js.map +3 -3
  280. package/dist/esm/biz-components/ShelfDisplay/index.js +1 -1
  281. package/dist/esm/biz-components/ShelfDisplay/index.js.map +2 -2
  282. package/dist/esm/biz-components/ShelfDisplay/shelfDisplay.d.ts +1 -0
  283. package/dist/esm/biz-components/ShelfDisplay/shelfDisplay.js.map +1 -1
  284. package/dist/esm/biz-components/ShelfDisplay/shelfDisplayItem.js +1 -1
  285. package/dist/esm/biz-components/ShelfDisplay/shelfDisplayItem.js.map +3 -3
  286. package/dist/esm/biz-components/Subscribe/index.js +1 -1
  287. package/dist/esm/biz-components/Subscribe/index.js.map +2 -2
  288. package/dist/esm/biz-components/SwiperBox/index.js +1 -1
  289. package/dist/esm/biz-components/SwiperBox/index.js.map +3 -3
  290. package/dist/esm/biz-components/ThreeDCarousel/ThreeDCarousel.js +1 -1
  291. package/dist/esm/biz-components/ThreeDCarousel/ThreeDCarousel.js.map +3 -3
  292. package/dist/esm/biz-components/Title/index.js +1 -1
  293. package/dist/esm/biz-components/Title/index.js.map +3 -3
  294. package/dist/esm/biz-components/WebPushPopup/index.d.ts +44 -0
  295. package/dist/esm/biz-components/WebPushPopup/index.js +2 -0
  296. package/dist/esm/biz-components/WebPushPopup/index.js.map +7 -0
  297. package/dist/esm/biz-components/WheelLottery/index.js +1 -1
  298. package/dist/esm/biz-components/WheelLottery/index.js.map +2 -2
  299. package/dist/esm/biz-components/index.d.ts +6 -0
  300. package/dist/esm/biz-components/index.js +1 -1
  301. package/dist/esm/biz-components/index.js.map +3 -3
  302. package/dist/esm/components/Countdown.js +1 -1
  303. package/dist/esm/components/Countdown.js.map +3 -3
  304. package/dist/esm/components/button.d.ts +4 -0
  305. package/dist/esm/components/button.js +1 -1
  306. package/dist/esm/components/button.js.map +3 -3
  307. package/dist/esm/components/link.js +1 -1
  308. package/dist/esm/components/link.js.map +2 -2
  309. package/dist/esm/helpers/index.d.ts +1 -1
  310. package/dist/esm/helpers/index.js +1 -1
  311. package/dist/esm/helpers/index.js.map +3 -3
  312. package/dist/esm/helpers/isLexicalEmpty.d.ts +5 -0
  313. package/dist/esm/helpers/isLexicalEmpty.js +1 -1
  314. package/dist/esm/helpers/isLexicalEmpty.js.map +3 -3
  315. package/dist/esm/hooks/useEmarsysWebPush.d.ts +111 -0
  316. package/dist/esm/hooks/useEmarsysWebPush.js +2 -0
  317. package/dist/esm/hooks/useEmarsysWebPush.js.map +7 -0
  318. package/dist/esm/hooks/useProductListTrack.d.ts +43 -0
  319. package/dist/esm/hooks/useProductListTrack.js +2 -0
  320. package/dist/esm/hooks/useProductListTrack.js.map +7 -0
  321. package/package.json +1 -1
  322. package/style.css +143 -11
  323. package/tailwind.config.js +10 -0
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/biz-components/GraphicOverlay/GraphicOverlay.tsx"],
4
- "sourcesContent": ["import React, { useState, useEffect, useRef } from 'react'\nimport { useMediaQuery } from 'react-responsive'\nimport type { GraphicOverlayProps, Item } from './types'\nimport { withLayout } from '../../shared/Styles.js'\nimport Picture from '../../components/picture.js'\nimport Button from '../../components/button.js'\nimport { Heading } from '../../components/heading.js'\nimport { VideoModal } from '../VideoModal/index.js'\nimport { cn, getLocalizedPath } from '../../helpers/utils.js'\nimport SwiperBox from '../SwiperBox/index.js'\nimport { isVideo } from '../../shared/mimeType.js'\nimport { useExposure } from '../../hooks/useExposure.js'\nimport { trackUrlRef } from '../../shared/trackUrlRef.js'\nimport { useAiuiContext } from '../AiuiProvider/index.js'\n\nconst componentType = 'image'\nconst componentName = 'p1_banner'\n\nconst ItemBlock = ({\n data: item,\n configuration,\n jIndex,\n}: {\n data: Item\n configuration?: any\n jIndex?: number\n spanType?: string\n}) => {\n const [isMobile, setIsMobile] = useState<boolean>(false)\n const mediaQuery = useMediaQuery({ query: '(max-width: 768px)' })\n\n const ref = useRef<HTMLDivElement>(null)\n\n const handleAspect = () => {\n switch (configuration?.num) {\n case 1:\n return 'tablet:aspect-w-[704] tablet:aspect-h-[400] laptop:aspect-w-[896] laptop:aspect-h-[384] desktop:aspect-w-[1312] desktop:aspect-h-[512] lg-desktop:aspect-w-[1664] lg-desktop:aspect-h-[640]'\n case 2:\n return 'tablet:aspect-w-[346] tablet:aspect-h-[400] laptop:aspect-w-[440] laptop:aspect-h-[384] desktop:aspect-w-[648] desktop:aspect-h-[512] lg-desktop:aspect-w-[824] lg-desktop:aspect-h-[640]'\n case 3:\n return 'tablet:aspect-w-[296] tablet:aspect-h-[400] laptop:aspect-w-[288] laptop:aspect-h-[384] desktop:aspect-w-[426] desktop:aspect-h-[512] lg-desktop:aspect-w-[544] lg-desktop:aspect-h-[640]'\n default:\n return 'tablet:aspect-w-[296] tablet:aspect-h-[400] laptop:aspect-w-[288] laptop:aspect-h-[384] desktop:aspect-w-[426] desktop:aspect-h-[512] lg-desktop:aspect-w-[544] lg-desktop:aspect-h-[640]'\n }\n }\n\n useExposure(ref, {\n componentType: componentType,\n componentName: componentName,\n position: jIndex,\n componentTitle: item.title,\n componentDescription: item.description,\n navigation: configuration?.activeTab,\n })\n\n useEffect(() => {\n setIsMobile(mediaQuery)\n }, [mediaQuery])\n\n const {\n theme = 'light',\n title,\n description,\n imageUrl,\n primaryButton,\n secondaryButton,\n imageMobileUrl,\n blockLink,\n video,\n youtubeId,\n isYouTube,\n } = item\n const lgButtonSize = 'lg-desktop:px-7 lg-desktop:pb-[14px] lg-desktop:pt-[15px] lg-desktop:text-[16px]'\n\n return (\n <div\n className={cn(\n 'item-wrapper text-info-primary group relative box-border w-full overflow-hidden',\n handleAspect(),\n {\n 'rounded-2xl': configuration?.shape === 'rounded',\n 'aiui-dark': theme === 'dark',\n 'h-[400px]': isMobile,\n },\n `text-info-primary`\n )}\n ref={ref}\n >\n {blockLink && (\n <a\n className=\"absolute inset-0 z-10\"\n href={trackUrlRef(\n getLocalizedPath(blockLink || '', configuration?.locale || 'us'),\n `${componentType}_${componentName}`\n )}\n data-headless-type-name={`${componentType}#${componentName}`}\n data-headless-title-desc-button={`${title}#${description}`}\n data-headless-nav-position={`${configuration?.activeTab}#${jIndex}`}\n aria-hidden=\"true\"\n tabIndex={-1}\n ></a>\n )}\n <div className=\"absolute inset-0\">\n {isVideo(imageUrl?.mimeType) ? (\n <video autoPlay muted playsInline loop className=\"tablet:block hidden h-full overflow-hidden\">\n <source src={imageUrl?.url} type=\"video/mp4\" />\n </video>\n ) : (\n <Picture\n source={imageUrl?.url}\n alt={imageUrl?.alt || ''}\n className=\"tablet:block hidden h-full overflow-hidden\"\n imgClassName=\"h-full transition-all duration-300 group-hover:scale-105 object-cover\"\n style={{ aspectRatio: `${imageUrl?.width}/${imageUrl?.height}` }}\n />\n )}\n {isVideo(imageMobileUrl?.mimeType) ? (\n <video autoPlay muted playsInline loop className=\"tablet:hidden block h-full overflow-hidden\">\n <source src={imageMobileUrl?.url} type=\"video/mp4\" />\n </video>\n ) : (\n <Picture\n source={imageMobileUrl?.url || imageUrl?.url}\n alt={imageMobileUrl?.alt || imageUrl?.alt || ''}\n className=\"tablet:hidden block h-full overflow-hidden\"\n imgClassName=\"h-full transition-all duration-300 object-cover\"\n />\n )}\n <div\n className={cn(\n 'laptop:p-6 desktop:p-[32px] laptop:gap-4 desktop:gap-6 absolute inset-x-0 bottom-0 z-20 flex w-fit flex-col gap-6 p-4',\n {\n 'laptop:top-1/2 laptop:-translate-y-1/2 laptop:bottom-auto': item?.width === 'full',\n }\n )}\n >\n <div className=\"flex flex-col gap-1\">\n <Heading size={3} as=\"h3\" className=\"item-title\" html={title} />\n <Heading\n as=\"h4\"\n className=\"item-description desktop:text-[16px] lg-desktop:text-[18px] line-clamp-1 text-[14px]\"\n html={description}\n />\n </div>\n <div className=\"lg-desktop:gap-3 flex gap-2\">\n {secondaryButton && secondaryButton.text && (\n <Button\n aria-label={title ?? description}\n className={cn(lgButtonSize, 'link-left')}\n variant=\"secondary\"\n as=\"a\"\n href={trackUrlRef(\n getLocalizedPath(secondaryButton.link || '', configuration?.locale || 'us'),\n `${componentType}_${componentName}`\n )}\n data-headless-type-name={`${componentType}#${componentName}`}\n data-headless-title-desc-button={`${title}#${description}#${secondaryButton?.text}`}\n data-headless-nav-position={`${configuration?.activeTab}#${jIndex}`}\n >\n {secondaryButton.text}\n <span className=\"sr-only\">{title ?? description}</span>\n </Button>\n )}\n {primaryButton && primaryButton.text && (\n <Button\n aria-label={title ?? description}\n className={cn(lgButtonSize, 'link-right')}\n variant=\"primary\"\n as=\"a\"\n href={trackUrlRef(\n getLocalizedPath(primaryButton.link || '', configuration?.locale || 'us'),\n `${componentType}_${componentName}`\n )}\n data-headless-type-name={`${componentType}#${componentName}`}\n data-headless-title-desc-button={`${title}#${description}#${primaryButton.text}`}\n data-headless-nav-position={`${configuration?.activeTab}#${jIndex}`}\n >\n {primaryButton.text}\n </Button>\n )}\n </div>\n </div>\n </div>\n <div>\n <div className=\"laptop:bottom-[32px] laptop:right-[32px] absolute bottom-[16px] right-[16px]\">\n {(video?.url || youtubeId) && (\n <button\n onClick={() => {\n configuration?.onVideoPlayBtnClick?.(video?.url || youtubeId, isYouTube)\n }}\n className=\"laptop:size-12 flex size-8 items-center justify-center rounded-full bg-white bg-opacity-20 hover:bg-black/75\"\n >\n <svg width=\"12\" height=\"14\" viewBox=\"0 0 12 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M12 7L0 14L0 0L12 7Z\" fill=\"white\" />\n </svg>\n </button>\n )}\n </div>\n </div>\n </div>\n )\n}\n\nconst GraphicOverlay = React.forwardRef<HTMLDivElement, GraphicOverlayProps>((props, ref) => {\n const { data, className, ...rest } = props\n const { shape, items = [] } = data\n const [visible, setVisible] = useState<boolean>(false)\n const [videoUrl, setVideoUrl] = useState<string>('')\n const [youTubeId, setYouTubeId] = useState<string>('')\n const { locale = 'us' } = useAiuiContext()\n\n const handleVideoPlayBtnClick = (url: string, isYouTube: boolean) => {\n setVisible(true)\n if (isYouTube) {\n setYouTubeId?.(url || '')\n } else {\n setVideoUrl?.(url || '')\n }\n }\n\n const handleSwiperShow = (width: number) => {\n const len = items?.length\n const isShow = len > 3\n const isMiddle = len > 2\n const isMobile = len > 1\n\n switch (true) {\n case width >= 1440:\n case width >= 1024:\n return isShow ? 3 : len\n case width >= 768:\n if (isShow || isMiddle) {\n return 2.3\n }\n return isMobile ? 2 : 1\n default:\n return isMobile ? 1.2 : 1\n }\n }\n\n return (\n <section\n data-ui-component-id=\"GraphicOverlay\"\n ref={ref}\n {...rest}\n className={cn('graphicOverlayBlock text-info-primary ', className)}\n >\n {items && items.length > 0 ? (\n <SwiperBox\n className=\"!overflow-visible\"\n id={'MultiLayoutGraphicBlock3'}\n data={{\n list: items || [],\n configuration: {\n shape: shape,\n num: items.length,\n locale,\n onVideoPlayBtnClick: handleVideoPlayBtnClick,\n },\n }}\n Slide={ItemBlock}\n breakpoints={{\n 0: {\n spaceBetween: 12,\n freeMode: false,\n slidesPerView: 1,\n },\n 374: {\n spaceBetween: 12,\n freeMode: false,\n slidesPerView: handleSwiperShow(374),\n },\n 768: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: handleSwiperShow(768),\n },\n 1024: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: handleSwiperShow(1024),\n },\n 1440: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: handleSwiperShow(1440),\n },\n }}\n />\n ) : null}\n {visible && (\n <VideoModal\n visible={visible}\n youTubeId={youTubeId}\n videoUrl={videoUrl}\n onCloseModal={() => setVisible(false)}\n />\n )}\n </section>\n )\n})\n\nGraphicOverlay.displayName = 'GraphicOverlayBlock'\n\nexport default withLayout(GraphicOverlay)\nexport type { GraphicOverlayProps }\n"],
5
- "mappings": "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",
6
- "names": ["jsx", "jsxs", "React", "useState", "useEffect", "useRef", "useMediaQuery", "withLayout", "Picture", "Button", "Heading", "VideoModal", "cn", "getLocalizedPath", "SwiperBox", "isVideo", "useExposure", "trackUrlRef", "useAiuiContext", "componentType", "componentName", "ItemBlock", "item", "configuration", "jIndex", "isMobile", "setIsMobile", "mediaQuery", "ref", "handleAspect", "theme", "title", "description", "imageUrl", "primaryButton", "secondaryButton", "imageMobileUrl", "blockLink", "video", "youtubeId", "isYouTube", "lgButtonSize", "GraphicOverlay", "props", "data", "className", "rest", "shape", "items", "visible", "setVisible", "videoUrl", "setVideoUrl", "youTubeId", "setYouTubeId", "locale", "handleVideoPlayBtnClick", "url", "handleSwiperShow", "width", "len", "isShow", "isMiddle", "GraphicOverlay_default"]
4
+ "sourcesContent": ["import React, { useState, useEffect, useRef } from 'react'\nimport { useMediaQuery } from 'react-responsive'\nimport type { GraphicOverlayProps, Item } from './types'\nimport { withLayout } from '../../shared/Styles.js'\nimport Picture from '../../components/picture.js'\nimport Button from '../../components/button.js'\nimport { Heading } from '../../components/heading.js'\nimport { VideoModal } from '../VideoModal/index.js'\nimport { cn, getLocalizedPath } from '../../helpers/utils.js'\nimport SwiperBox from '../SwiperBox/index.js'\nimport { isVideo } from '../../shared/mimeType.js'\nimport { useExposure } from '../../hooks/useExposure.js'\nimport { trackUrlRef } from '../../shared/trackUrlRef.js'\nimport { useAiuiContext } from '../AiuiProvider/index.js'\n\nconst componentType = 'image'\nconst componentName = 'p1_banner'\n\nconst ItemBlock = ({\n data: item,\n configuration,\n jIndex,\n}: {\n data: Item\n configuration?: any\n jIndex?: number\n spanType?: string\n}) => {\n const [isMobile, setIsMobile] = useState<boolean>(false)\n const mediaQuery = useMediaQuery({ query: '(max-width: 768px)' })\n const { trackingData } = useAiuiContext()\n\n const ref = useRef<HTMLDivElement>(null)\n\n const handleAspect = () => {\n switch (configuration?.num) {\n case 1:\n return 'tablet:aspect-w-[704] tablet:aspect-h-[400] laptop:aspect-w-[896] laptop:aspect-h-[384] desktop:aspect-w-[1312] desktop:aspect-h-[512] lg-desktop:aspect-w-[1664] lg-desktop:aspect-h-[640]'\n case 2:\n return 'tablet:aspect-w-[346] tablet:aspect-h-[400] laptop:aspect-w-[440] laptop:aspect-h-[384] desktop:aspect-w-[648] desktop:aspect-h-[512] lg-desktop:aspect-w-[824] lg-desktop:aspect-h-[640]'\n case 3:\n return 'tablet:aspect-w-[296] tablet:aspect-h-[400] laptop:aspect-w-[288] laptop:aspect-h-[384] desktop:aspect-w-[426] desktop:aspect-h-[512] lg-desktop:aspect-w-[544] lg-desktop:aspect-h-[640]'\n default:\n return 'tablet:aspect-w-[296] tablet:aspect-h-[400] laptop:aspect-w-[288] laptop:aspect-h-[384] desktop:aspect-w-[426] desktop:aspect-h-[512] lg-desktop:aspect-w-[544] lg-desktop:aspect-h-[640]'\n }\n }\n\n useExposure(ref, {\n componentType: componentType,\n componentName: componentName,\n position: jIndex,\n componentTitle: item.title,\n componentDescription: item.description,\n navigation: configuration?.activeTab,\n })\n\n useEffect(() => {\n setIsMobile(mediaQuery)\n }, [mediaQuery])\n\n const {\n theme = 'light',\n title,\n description,\n imageUrl,\n primaryButton,\n secondaryButton,\n imageMobileUrl,\n blockLink,\n video,\n youtubeId,\n isYouTube,\n } = item\n const lgButtonSize = 'lg-desktop:px-7 lg-desktop:pb-[14px] lg-desktop:pt-[15px] lg-desktop:text-[16px]'\n\n return (\n <div\n className={cn(\n 'item-wrapper text-info-primary group relative box-border w-full overflow-hidden',\n handleAspect(),\n {\n 'rounded-2xl': configuration?.shape === 'rounded',\n 'aiui-dark': theme === 'dark',\n 'h-[400px]': isMobile,\n },\n `text-info-primary`\n )}\n ref={ref}\n >\n {blockLink && (\n <a\n className=\"absolute inset-0 z-10\"\n href={trackUrlRef(\n getLocalizedPath(blockLink || '', configuration?.locale || 'us'),\n `${trackingData?.contextHandle || ''}_${componentType}_${componentName}`\n )}\n data-headless-type-name={`${componentType}#${componentName}`}\n data-headless-title-desc-button={`${title}#${description}`}\n data-headless-nav-position={`${configuration?.activeTab}#${jIndex}`}\n aria-hidden=\"true\"\n tabIndex={-1}\n ></a>\n )}\n <div className=\"absolute inset-0\">\n {isVideo(imageUrl?.mimeType) ? (\n <video autoPlay muted playsInline loop className=\"tablet:block hidden h-full overflow-hidden\">\n <source src={imageUrl?.url} type=\"video/mp4\" />\n </video>\n ) : (\n <Picture\n source={imageUrl?.url}\n alt={imageUrl?.alt || ''}\n className=\"tablet:block hidden h-full overflow-hidden\"\n imgClassName=\"h-full transition-all duration-300 group-hover:scale-105 object-cover\"\n style={{ aspectRatio: `${imageUrl?.width}/${imageUrl?.height}` }}\n />\n )}\n {isVideo(imageMobileUrl?.mimeType) ? (\n <video autoPlay muted playsInline loop className=\"tablet:hidden block h-full overflow-hidden\">\n <source src={imageMobileUrl?.url} type=\"video/mp4\" />\n </video>\n ) : (\n <Picture\n source={imageMobileUrl?.url || imageUrl?.url}\n alt={imageMobileUrl?.alt || imageUrl?.alt || ''}\n className=\"tablet:hidden block h-full overflow-hidden\"\n imgClassName=\"h-full transition-all duration-300 object-cover\"\n />\n )}\n <div\n className={cn(\n 'laptop:p-6 desktop:p-[32px] laptop:gap-4 desktop:gap-6 absolute inset-x-0 bottom-0 z-20 flex w-fit flex-col gap-6 p-4',\n {\n 'laptop:top-1/2 laptop:-translate-y-1/2 laptop:bottom-auto': item?.width === 'full',\n }\n )}\n >\n <div className=\"flex flex-col gap-1\">\n <Heading size={3} as=\"h3\" className=\"item-title\" html={title} />\n <Heading\n as=\"h4\"\n className=\"item-description desktop:text-[16px] lg-desktop:text-[18px] line-clamp-1 text-[14px]\"\n html={description}\n />\n </div>\n <div className=\"lg-desktop:gap-3 flex gap-2\">\n {secondaryButton && secondaryButton.text && (\n <Button\n aria-label={title ?? description}\n className={cn(lgButtonSize, 'link-left')}\n variant=\"secondary\"\n as=\"a\"\n href={trackUrlRef(\n getLocalizedPath(secondaryButton.link || '', configuration?.locale || 'us'),\n `${trackingData?.contextHandle || ''}_${componentType}_${componentName}`\n )}\n data-headless-type-name={`${componentType}#${componentName}`}\n data-headless-title-desc-button={`${title}#${description}#${secondaryButton?.text}`}\n data-headless-nav-position={`${configuration?.activeTab}#${jIndex}`}\n >\n {secondaryButton.text}\n <span className=\"sr-only\">{title ?? description}</span>\n </Button>\n )}\n {primaryButton && primaryButton.text && (\n <Button\n aria-label={title ?? description}\n className={cn(lgButtonSize, 'link-right')}\n variant=\"primary\"\n as=\"a\"\n href={trackUrlRef(\n getLocalizedPath(primaryButton.link || '', configuration?.locale || 'us'),\n `${trackingData?.contextHandle || ''}_${componentType}_${componentName}`\n )}\n data-headless-type-name={`${componentType}#${componentName}`}\n data-headless-title-desc-button={`${title}#${description}#${primaryButton.text}`}\n data-headless-nav-position={`${configuration?.activeTab}#${jIndex}`}\n >\n {primaryButton.text}\n </Button>\n )}\n </div>\n </div>\n </div>\n <div>\n <div className=\"laptop:bottom-[32px] laptop:right-[32px] absolute bottom-[16px] right-[16px]\">\n {(video?.url || youtubeId) && (\n <button\n onClick={() => {\n configuration?.onVideoPlayBtnClick?.(video?.url || youtubeId, isYouTube)\n }}\n className=\"laptop:size-12 flex size-8 items-center justify-center rounded-full bg-white bg-opacity-20 hover:bg-black/75\"\n >\n <svg width=\"12\" height=\"14\" viewBox=\"0 0 12 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M12 7L0 14L0 0L12 7Z\" fill=\"white\" />\n </svg>\n </button>\n )}\n </div>\n </div>\n </div>\n )\n}\n\nconst GraphicOverlay = React.forwardRef<HTMLDivElement, GraphicOverlayProps>((props, ref) => {\n const { data, className, ...rest } = props\n const { shape, items = [] } = data\n const [visible, setVisible] = useState<boolean>(false)\n const [videoUrl, setVideoUrl] = useState<string>('')\n const [youTubeId, setYouTubeId] = useState<string>('')\n const { locale = 'us', trackingData } = useAiuiContext()\n\n const handleVideoPlayBtnClick = (url: string, isYouTube: boolean) => {\n setVisible(true)\n if (isYouTube) {\n setYouTubeId?.(url || '')\n } else {\n setVideoUrl?.(url || '')\n }\n }\n\n const handleSwiperShow = (width: number) => {\n const len = items?.length\n const isShow = len > 3\n const isMiddle = len > 2\n const isMobile = len > 1\n\n switch (true) {\n case width >= 1440:\n case width >= 1024:\n return isShow ? 3 : len\n case width >= 768:\n if (isShow || isMiddle) {\n return 2.3\n }\n return isMobile ? 2 : 1\n default:\n return isMobile ? 1.2 : 1\n }\n }\n\n return (\n <section\n data-ui-component-id=\"GraphicOverlay\"\n ref={ref}\n {...rest}\n className={cn('graphicOverlayBlock text-info-primary ', className)}\n >\n {items && items.length > 0 ? (\n <SwiperBox\n className=\"!overflow-visible\"\n id={'MultiLayoutGraphicBlock3'}\n data={{\n list: items || [],\n configuration: {\n shape: shape,\n num: items.length,\n locale,\n onVideoPlayBtnClick: handleVideoPlayBtnClick,\n },\n }}\n Slide={ItemBlock}\n breakpoints={{\n 0: {\n spaceBetween: 12,\n freeMode: false,\n slidesPerView: 1,\n },\n 374: {\n spaceBetween: 12,\n freeMode: false,\n slidesPerView: handleSwiperShow(374),\n },\n 768: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: handleSwiperShow(768),\n },\n 1024: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: handleSwiperShow(1024),\n },\n 1440: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: handleSwiperShow(1440),\n },\n }}\n />\n ) : null}\n {visible && (\n <VideoModal\n visible={visible}\n youTubeId={youTubeId}\n videoUrl={videoUrl}\n onCloseModal={() => setVisible(false)}\n />\n )}\n </section>\n )\n})\n\nGraphicOverlay.displayName = 'GraphicOverlayBlock'\n\nexport default withLayout(GraphicOverlay)\nexport type { GraphicOverlayProps }\n"],
5
+ "mappings": "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",
6
+ "names": ["jsx", "jsxs", "React", "useState", "useEffect", "useRef", "useMediaQuery", "withLayout", "Picture", "Button", "Heading", "VideoModal", "cn", "getLocalizedPath", "SwiperBox", "isVideo", "useExposure", "trackUrlRef", "useAiuiContext", "componentType", "componentName", "ItemBlock", "item", "configuration", "jIndex", "isMobile", "setIsMobile", "mediaQuery", "trackingData", "ref", "handleAspect", "theme", "title", "description", "imageUrl", "primaryButton", "secondaryButton", "imageMobileUrl", "blockLink", "video", "youtubeId", "isYouTube", "lgButtonSize", "GraphicOverlay", "props", "data", "className", "rest", "shape", "items", "visible", "setVisible", "videoUrl", "setVideoUrl", "youTubeId", "setYouTubeId", "locale", "handleVideoPlayBtnClick", "url", "handleSwiperShow", "width", "len", "isShow", "isMiddle", "GraphicOverlay_default"]
7
7
  }
@@ -0,0 +1,12 @@
1
+ /**
2
+ * 移动端 TextLinks 菜单
3
+ * 二级菜单:折叠式分类导航(与 MobileSidebarMenu 相同的 currentMenu 切换模式)
4
+ * 三级菜单:对应列的纯文字链接列表
5
+ */
6
+ export declare const MobileTextLinksMenu: {
7
+ ({ textlinksCategoriesMetadata, textlinksColumnsMetadata, }: {
8
+ textlinksCategoriesMetadata: any;
9
+ textlinksColumnsMetadata: any;
10
+ }): import("react/jsx-runtime").JSX.Element | null;
11
+ displayName: string;
12
+ };
@@ -0,0 +1,2 @@
1
+ import{jsx as r,jsxs as u}from"react/jsx-runtime";import{useCallback as $,useEffect as F,useMemo as k,useState as L}from"react";import{Button as T,Text as y,Link as E}from"../../components/index.js";import{cn as M,getLocalizedPath as x}from"../../helpers/utils.js";import{useNavContext as D}from"./NavProvider.js";import{useAiuiContext as z}from"../AiuiProvider/index.js";import{HeaderNavigationMenu as m}from"./types.js";import{MenuItem as B}from"./MobileMenuComponents.js";const _=({textlinksCategoriesMetadata:o,textlinksColumnsMetadata:g})=>{const{currentMenu:h,setCurrentMenu:i,subSubCategory:d,setSubSubCategory:b,onSidebarNavClick:c}=D(),{locale:p="us"}=z(),[v,f]=L([]),[S,A]=L(-1);F(()=>{const e=o?.subcategories;e?.length&&f(e.map((l,a)=>({index:a,open:!1})))},[o]);const N=k(()=>d&&g?.find(e=>e?.label?.toLowerCase()===d?.label?.toLowerCase())||null,[d,g]),C=$((e,l)=>{if(!(Array.isArray(e?.subSubCategories)&&e?.subSubCategories?.length>0)){b?.(e),i?.(m.Third);return}f(t=>t.map((n,s)=>({...n,open:s===l?!n.open:!1})))},[i,b]),w=$((e,l,a)=>{b?.(e),i?.(m.Third),A(a),f(t=>t.map(n=>({...n,open:n.index===l}))),c?.(e,a)},[i,b,c]);return k(()=>{switch(h){case m.Secondary:return u("div",{className:"tablet:px-8 laptop:px-16 flex h-full flex-col gap-8 p-4",children:[r("div",{children:o?.subcategories?.map((e,l)=>{const a=Array.isArray(e?.subSubCategories)&&e?.subSubCategories?.length>0,t=v?.find(n=>n.index===l)?.open;return u("div",{children:[r(B,{label:e?.label,active:t,onClick:()=>{C(e,l),c?.(e,l)}}),t&&a&&r("div",{className:"flex flex-col",role:"menu",children:e.subSubCategories?.map((n,s)=>r("button",{onClick:()=>w(n,l,s),className:M("w-full cursor-pointer border-0 bg-transparent px-4 py-3 text-left hover:bg-[#F5F5F7]",{"bg-[#F5F5F7]":S===s}),role:"menuitem","aria-label":n.label,children:r(y,{html:n.label,className:"text-sm font-bold leading-[1.4] text-[#4A4C56]"})},`mobile-textlinks-subSubItem-${l}-${s}`))})]},`mobile-textlinks-subcategory-${e?.label||""}-${l}`)})}),u("div",{className:"tablet:items-start flex flex-col items-center gap-4",children:[o?.primary&&r(T,{as:"a",href:`${x(o?.primary?.url,p)}?ref=${o?.primary?.label}_shopall`,variant:"primary",size:"lg",className:"tablet:w-auto w-full text-base",children:o?.primary?.label}),o?.secondary&&r(T,{as:"a",href:x(o?.secondary?.url,p),variant:"link",size:"lg",className:"tablet:w-auto tablet:px-0 w-full py-0 text-base",children:o?.secondary?.label})]})]});case m.Third:return r("div",{className:"tablet:px-8 laptop:px-16 flex flex-col gap-6 p-4",children:N?.columns?.map((e,l)=>u("div",{className:"flex flex-col gap-2",children:[e?.label&&r(y,{html:e.label,as:"p",className:"text-sm font-bold leading-[1.4] text-[#6D6D6F]"}),r("div",{className:"flex flex-col",children:e?.links?.map((a,t)=>u("div",{className:"flex min-h-[36px] items-center gap-1 py-2",children:[r(E,{href:x(a?.url,p),asChild:!a?.url,className:"text-sm font-bold leading-[1.4] no-underline",children:a.label}),a?.badge&&r(y,{as:"p",html:a.badge,className:"h-[24px] whitespace-nowrap rounded-full border-[1.6px] border-[#005D8E] px-[6px] text-xs font-bold !leading-[22px] text-[#005D8E]"})]},`mobile-textlinks-link-${a?.label||""}-${t}`))})]},`mobile-textlinks-col-${e?.label||""}-${l}`))});default:return null}},[h,o,v,S,N,C,w,c,p])};_.displayName="MobileTextLinksMenu";export{_ as MobileTextLinksMenu};
2
+ //# sourceMappingURL=MobileTextLinksMenu.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/biz-components/HeaderNavigation/MobileTextLinksMenu.tsx"],
4
+ "sourcesContent": ["import React, { useCallback, useEffect, useMemo, useState } from 'react'\nimport { Button, Text, Link } from '../../components/index.js'\nimport { cn, getLocalizedPath } from '../../helpers/utils.js'\nimport { useNavContext } from './NavProvider.js'\nimport { useAiuiContext } from '../AiuiProvider/index.js'\nimport { HeaderNavigationMenu } from './types.js'\nimport { MenuItem } from './MobileMenuComponents.js'\n\n/**\n * \u79FB\u52A8\u7AEF TextLinks \u83DC\u5355\n * \u4E8C\u7EA7\u83DC\u5355\uFF1A\u6298\u53E0\u5F0F\u5206\u7C7B\u5BFC\u822A\uFF08\u4E0E MobileSidebarMenu \u76F8\u540C\u7684 currentMenu \u5207\u6362\u6A21\u5F0F\uFF09\n * \u4E09\u7EA7\u83DC\u5355\uFF1A\u5BF9\u5E94\u5217\u7684\u7EAF\u6587\u5B57\u94FE\u63A5\u5217\u8868\n */\nexport const MobileTextLinksMenu = ({\n textlinksCategoriesMetadata,\n textlinksColumnsMetadata,\n}: {\n textlinksCategoriesMetadata: any\n textlinksColumnsMetadata: any\n}) => {\n const { currentMenu, setCurrentMenu, subSubCategory, setSubSubCategory, onSidebarNavClick } = useNavContext()\n const { locale = 'us' } = useAiuiContext()\n const [expandedSubcategory, setExpandedSubcategory] = useState<{ index: number; open: boolean }[]>([])\n const [activeSubSubcategoryIndex, setActiveSubSubcategoryIndex] = useState(-1)\n\n useEffect(() => {\n const subcategories = textlinksCategoriesMetadata?.subcategories\n if (!subcategories?.length) return\n setExpandedSubcategory(subcategories.map((_: any, index: number) => ({ index, open: false })))\n }, [textlinksCategoriesMetadata])\n\n // \u901A\u8FC7 context \u7684 subSubCategory \u5339\u914D\u4E09\u7EA7\u5217\u6570\u636E\n const matchColumnsMetadata = useMemo(() => {\n if (!subSubCategory) return null\n return (\n textlinksColumnsMetadata?.find(\n (item: any) => item?.label?.toLowerCase() === subSubCategory?.label?.toLowerCase()\n ) || null\n )\n }, [subSubCategory, textlinksColumnsMetadata])\n\n // \u70B9\u51FB\u6709\u5B50\u9879\u7684 subcategory \u2014 \u53EA\u5C55\u5F00\u6298\u53E0\uFF0C\u4E0D\u8DF3\u7EA7\n // \u70B9\u51FB\u65E0\u5B50\u9879\u7684 subcategory \u2014 \u76F4\u63A5\u8DF3\u4E09\u7EA7\n const handleSubcategoryClick = useCallback(\n (subItem: any, index: number) => {\n const hasSubSubCategories = Array.isArray(subItem?.subSubCategories) && subItem?.subSubCategories?.length > 0\n\n if (!hasSubSubCategories) {\n setSubSubCategory?.(subItem)\n setCurrentMenu?.(HeaderNavigationMenu.Third)\n return\n }\n\n setExpandedSubcategory(prev => prev.map((item, i) => ({ ...item, open: i === index ? !item.open : false })))\n },\n [setCurrentMenu, setSubSubCategory]\n )\n\n // \u70B9\u51FB\u6709\u5B50\u9879\u7684\u5B50\u9879 \u2014 \u5199\u5165 context \u5E76\u8DF3\u4E09\u7EA7\n const handleSubSubcategoryClick = useCallback(\n (subSubItem: any, index: number, subSubindex: number) => {\n setSubSubCategory?.(subSubItem)\n setCurrentMenu?.(HeaderNavigationMenu.Third)\n setActiveSubSubcategoryIndex(subSubindex)\n setExpandedSubcategory(prev => prev.map(item => ({ ...item, open: item.index === index })))\n onSidebarNavClick?.(subSubItem, subSubindex)\n },\n [setCurrentMenu, setSubSubCategory, onSidebarNavClick]\n )\n\n const MobileTextLinksMenuComp = useMemo(() => {\n switch (currentMenu) {\n case HeaderNavigationMenu.Secondary:\n return (\n // \u4E8C\u7EA7\u83DC\u5355\uFF1A\u6298\u53E0\u5F0F\u5206\u7C7B\u5BFC\u822A + \u5E95\u90E8 CTA\n <div className=\"tablet:px-8 laptop:px-16 flex h-full flex-col gap-8 p-4\">\n <div>\n {textlinksCategoriesMetadata?.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\n return (\n <div key={`mobile-textlinks-subcategory-${subItem?.label || ''}-${index}`}>\n <MenuItem\n label={subItem?.label}\n active={isExpanded}\n onClick={() => {\n handleSubcategoryClick(subItem, index)\n onSidebarNavClick?.(subItem, index)\n }}\n />\n\n {isExpanded && hasSubSubCategory && (\n <div className=\"flex flex-col\" role=\"menu\">\n {subItem.subSubCategories?.map((subSubItem: any, subSubindex: number) => (\n <button\n key={`mobile-textlinks-subSubItem-${index}-${subSubindex}`}\n onClick={() => handleSubSubcategoryClick(subSubItem, index, subSubindex)}\n className={cn(\n 'w-full cursor-pointer border-0 bg-transparent px-4 py-3 text-left hover:bg-[#F5F5F7]',\n {\n 'bg-[#F5F5F7]': activeSubSubcategoryIndex === subSubindex,\n }\n )}\n role=\"menuitem\"\n aria-label={subSubItem.label}\n >\n <Text html={subSubItem.label} className=\"text-sm font-bold leading-[1.4] text-[#4A4C56]\" />\n </button>\n ))}\n </div>\n )}\n </div>\n )\n })}\n </div>\n\n {/* \u5E95\u90E8 CTA */}\n <div className=\"tablet:items-start flex flex-col items-center gap-4\">\n {textlinksCategoriesMetadata?.primary && (\n <Button\n as=\"a\"\n href={`${getLocalizedPath(textlinksCategoriesMetadata?.primary?.url, locale)}?ref=${textlinksCategoriesMetadata?.primary?.label}_shopall`}\n variant=\"primary\"\n size=\"lg\"\n className=\"tablet:w-auto w-full text-base\"\n >\n {textlinksCategoriesMetadata?.primary?.label}\n </Button>\n )}\n {textlinksCategoriesMetadata?.secondary && (\n <Button\n as=\"a\"\n href={getLocalizedPath(textlinksCategoriesMetadata?.secondary?.url, locale)}\n variant=\"link\"\n size=\"lg\"\n className=\"tablet:w-auto tablet:px-0 w-full py-0 text-base\"\n >\n {textlinksCategoriesMetadata?.secondary?.label}\n </Button>\n )}\n </div>\n </div>\n )\n\n case HeaderNavigationMenu.Third:\n return (\n // \u4E09\u7EA7\u83DC\u5355\uFF1AmatchColumnsMetadata \u7684\u591A\u5217\u6587\u5B57\u94FE\u63A5\u5E73\u94FA\u5C55\u793A\n <div className=\"tablet:px-8 laptop:px-16 flex flex-col gap-6 p-4\">\n {matchColumnsMetadata?.columns?.map((col: any, colIndex: number) => (\n <div key={`mobile-textlinks-col-${col?.label || ''}-${colIndex}`} className=\"flex flex-col gap-2\">\n {col?.label && (\n <Text html={col.label} as=\"p\" className=\"text-sm font-bold leading-[1.4] text-[#6D6D6F]\" />\n )}\n <div className=\"flex flex-col\">\n {col?.links?.map((linkItem: any, linkIndex: number) => (\n <div\n key={`mobile-textlinks-link-${linkItem?.label || ''}-${linkIndex}`}\n className=\"flex min-h-[36px] items-center gap-1 py-2\"\n >\n <Link\n href={getLocalizedPath(linkItem?.url, locale)}\n asChild={!linkItem?.url}\n className=\"text-sm font-bold leading-[1.4] no-underline\"\n >\n {linkItem.label}\n </Link>\n {linkItem?.badge && (\n <Text\n as=\"p\"\n html={linkItem.badge}\n className=\"h-[24px] whitespace-nowrap rounded-full border-[1.6px] border-[#005D8E] px-[6px] text-xs font-bold !leading-[22px] text-[#005D8E]\"\n />\n )}\n </div>\n ))}\n </div>\n </div>\n ))}\n </div>\n )\n\n default:\n return null\n }\n }, [\n currentMenu,\n textlinksCategoriesMetadata,\n expandedSubcategory,\n activeSubSubcategoryIndex,\n matchColumnsMetadata,\n handleSubcategoryClick,\n handleSubSubcategoryClick,\n onSidebarNavClick,\n locale,\n ])\n\n return MobileTextLinksMenuComp\n}\n\nMobileTextLinksMenu.displayName = 'MobileTextLinksMenu'\n"],
5
+ "mappings": "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",
6
+ "names": ["jsx", "jsxs", "useCallback", "useEffect", "useMemo", "useState", "Button", "Text", "Link", "cn", "getLocalizedPath", "useNavContext", "useAiuiContext", "HeaderNavigationMenu", "MenuItem", "MobileTextLinksMenu", "textlinksCategoriesMetadata", "textlinksColumnsMetadata", "currentMenu", "setCurrentMenu", "subSubCategory", "setSubSubCategory", "onSidebarNavClick", "locale", "expandedSubcategory", "setExpandedSubcategory", "activeSubSubcategoryIndex", "setActiveSubSubcategoryIndex", "subcategories", "_", "index", "matchColumnsMetadata", "item", "handleSubcategoryClick", "subItem", "prev", "i", "handleSubSubcategoryClick", "subSubItem", "subSubindex", "hasSubSubCategory", "isExpanded", "col", "colIndex", "linkItem", "linkIndex"]
7
+ }
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ /**
3
+ * TextLinks 下拉
4
+ * 左侧:折叠式分类导航(含子项)
5
+ * 右侧:多列纯文字链接列表(支持 badge 标签)
6
+ */
7
+ export declare const TextLinksDropdown: React.MemoExoticComponent<({ textlinksCategoriesMetadata, textlinksColumnsMetadata, }: {
8
+ textlinksCategoriesMetadata: any;
9
+ textlinksColumnsMetadata: any;
10
+ }) => import("react/jsx-runtime").JSX.Element>;
@@ -0,0 +1,2 @@
1
+ import{Fragment as $,jsx as r,jsxs as b}from"react/jsx-runtime";import E,{useCallback as C,useEffect as B,useMemo as D,useRef as w,useState as k}from"react";import{Button as y,Container as O,Text as u,Link as R}from"../../components/index.js";import{cn as v,getLocalizedPath as p}from"../../helpers/utils.js";import{DownArrow as T}from"./icons/index.js";import{useNavContext as j}from"./NavProvider.js";import{useAiuiContext as _}from"../AiuiProvider/index.js";const W=E.memo(({textlinksCategoriesMetadata:o,textlinksColumnsMetadata:m})=>{const{onSidebarNavClick:h}=j(),{locale:c="us"}=_(),[f,x]=k([]),[d,g]=k(-1),L=w(null),S=w(null),N=C(()=>{const e=o?.subcategories;if(!e?.length)return;const l=e.findIndex(t=>!!t?.subSubCategories),a=e.findIndex(t=>!t?.subSubCategories),n=e.map((t,s)=>({index:s,open:l===s||a===s}));x(n)},[o]);B(()=>{N()},[N]);const i=D(()=>{const e=o?.subcategories?.[f?.find(l=>l.open)?.index||0];if(!e)return null;if(e?.subSubCategories){const l=e?.subSubCategories?.[d];if(l)return m?.find(a=>a?.label?.toLowerCase()===l?.label?.toLowerCase())||null}return m?.find(l=>l?.label?.toLowerCase()===e?.label?.toLowerCase())||null},[o,f,d,m]),F=C((e,l)=>{const a=l?.subSubCategories?.length>0;g(a?0:-1);const n=S.current;x(t=>t.map((s,A)=>A===e?{...s,open:!s.open}:a?{...s,open:!1}:!n&&d===-1?{...s,open:!1}:n&&!n.hasSubSubCategories&&!a&&d===-1?{...s,open:!1}:s)),S.current={index:e,hasSubSubCategories:a}},[d]),z=(e,l)=>{x(a=>a.map(n=>n.index===e?{...n,open:!0}:{...n,open:!1})),g(l)};return b(O,{childClassName:"lg-desktop:gap-12 flex bg-white gap-8",children:[b("div",{className:"lg-desktop:basis-[356px] flex basis-[284px] flex-col gap-4 py-4",style:{userSelect:"none"},ref:L,children:[r("div",{className:"desktop:h-[416px] flex flex-col overflow-y-auto",style:{scrollbarWidth:"none",msOverflowStyle:"none"},children:o?.subcategories?.map((e,l)=>{const a=Array.isArray(e?.subSubCategories)&&e?.subSubCategories?.length>0,n=f?.find(t=>t.index===l)?.open;return b("div",{children:[b("button",{className:v("rounded-sidebar-shelf flex w-full cursor-pointer items-center justify-between border-0 bg-transparent text-left",{"bg-[#F5F5F7]":!a&&n}),onClick:()=>{F(l,e),h?.(e,l)},"aria-expanded":a?n:void 0,"aria-haspopup":a?"true":void 0,children:[r(u,{html:e.label,className:"p-4 text-sm font-bold leading-[1.4]"}),a&&r(T,{"aria-hidden":"true",className:v("size-4",{"rotate-180":n})})]}),n&&a&&r("div",{className:"flex flex-col",role:"menu",children:e.subSubCategories?.map((t,s)=>r("button",{onClick:()=>{z(l,s),h?.(t,s)},className:v("rounded-sidebar-shelf w-full cursor-pointer border-0 bg-transparent px-6 py-4 text-left leading-none hover:bg-[#F5F5F7]",{"bg-[#F5F5F7]":d===s}),role:"menuitem","aria-label":t.label,children:r(u,{html:t.label,className:"text-sm font-bold leading-[1.4] text-[#4A4C56]"})},`textlinks-subSubItem-${l}-${s}`))})]},`${e?.label||""}textlinks-subcategoryItem-${l}`)})}),o&&r("div",{className:"flex",children:b("div",{className:"flex flex-col gap-4",children:[o?.primary&&r(y,{as:"a",href:`${p(o?.primary?.url,c)}?ref=${o?.primary?.label}_shopall`,variant:"primary",size:"lg",className:"lg-desktop:text-base text-sm",children:o?.primary?.label}),o?.secondary&&r(y,{as:"a",href:p(o?.secondary?.url,c),variant:"link",size:"lg",iconClassName:"size-4",className:"lg-desktop:text-base justify-start !p-0 text-sm",children:o?.secondary?.label})]})})]}),r("div",{className:"flex-1 py-4",children:i&&b($,{children:[b("div",{className:"mb-4 flex items-center justify-between",children:[(()=>{const e=b($,{children:[i?.label&&r(u,{html:i.label,className:"lg-desktop:text-2xl text-xl font-bold leading-[1.2]"}),i?.primary&&r(u,{html:i.primary.label,className:"lg-desktop:text-base text-sm font-bold leading-[1.2]"})]});return i?.primary?.url?r(y,{as:"a",href:`${p(i.primary.url,c)}?ref=${i.label}_viewmore`,variant:"link",size:"lg",iconClassName:"size-4",className:"flex items-center justify-start gap-2 !p-0 no-underline",children:e}):r("div",{className:"flex items-center gap-2",children:e})})(),i?.badge&&r(u,{html:i.badge,className:"h-[24px] rounded-full border-[1.6px] border-[var(--brand-color-0)] px-[6px] text-sm font-bold !leading-[22px] text-[var(--brand-color-0)]"})]}),r("div",{className:"desktop:h-[416px] grid grid-cols-3 gap-4 overflow-y-auto",style:{scrollbarWidth:"none",msOverflowStyle:"none"},children:i?.columns?.map((e,l)=>b("div",{className:"flex flex-col gap-2 pr-12",children:[e?.label&&r(u,{html:e.label,as:"p",className:"text-sm font-bold leading-[1.4] text-[#4A4C56]"}),r("div",{className:"flex flex-col",children:e?.links?.map((a,n)=>b("div",{className:"flex min-h-[36px] items-center gap-1 py-2",children:[r(R,{href:p(a?.url,c),asChild:!a?.url,className:"text-sm font-bold leading-[1.4] no-underline hover:opacity-70",children:a.label}),a?.badge&&r(u,{as:"p",html:a.badge,className:"text-brand-0 border-brand-0 h-[24px] whitespace-nowrap rounded-full border-[1.6px] px-[6px] text-xs font-bold !leading-[22px]"})]},`textlinks-link-${a?.label||""}-${n}`))})]},`textlinks-col-${e?.label||""}-${l}`))})]})})]})});W.displayName="TextLinksDropdown";export{W as TextLinksDropdown};
2
+ //# sourceMappingURL=TextLinksDropdown.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/biz-components/HeaderNavigation/TextLinksDropdown.tsx"],
4
+ "sourcesContent": ["import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'\nimport { Button, Container, Text, Link } from '../../components/index.js'\nimport { cn, getLocalizedPath } from '../../helpers/utils.js'\nimport { DownArrow } from './icons/index.js'\nimport { useNavContext } from './NavProvider.js'\nimport { useAiuiContext } from '../AiuiProvider/index.js'\n\n/**\n * TextLinks \u4E0B\u62C9\n * \u5DE6\u4FA7\uFF1A\u6298\u53E0\u5F0F\u5206\u7C7B\u5BFC\u822A\uFF08\u542B\u5B50\u9879\uFF09\n * \u53F3\u4FA7\uFF1A\u591A\u5217\u7EAF\u6587\u5B57\u94FE\u63A5\u5217\u8868\uFF08\u652F\u6301 badge \u6807\u7B7E\uFF09\n */\nexport const TextLinksDropdown = React.memo(\n ({\n textlinksCategoriesMetadata,\n textlinksColumnsMetadata,\n }: {\n textlinksCategoriesMetadata: any\n textlinksColumnsMetadata: any\n }) => {\n const { onSidebarNavClick } = useNavContext()\n const { locale = 'us' } = useAiuiContext()\n const [expandedSubcategory, setExpandedSubcategory] = useState<{ index: number; open: boolean }[]>([])\n const [activeSubSubcategoryIndex, setActiveSubSubcategoryIndex] = useState(-1)\n const sidebarRef = useRef<HTMLDivElement>(null)\n const lastClickRef = useRef<{ index: number; hasSubSubCategories: boolean } | null>(null)\n\n const initExpandedSubcategory = useCallback(() => {\n const subcategories = textlinksCategoriesMetadata?.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 const expandedStates = subcategories.map((_: any, index: number) => ({\n index,\n open: withSubSubCategoriesIndex === index || withoutSubSubCategoriesIndex === index,\n }))\n\n setExpandedSubcategory(expandedStates)\n }, [textlinksCategoriesMetadata])\n\n useEffect(() => {\n initExpandedSubcategory()\n }, [initExpandedSubcategory])\n\n // \u901A\u8FC7\u5F53\u524D\u6FC0\u6D3B\u7684 subcategory/subSubCategory \u7684 label \u5339\u914D\u53F3\u4FA7\u5217\u6570\u636E\n const matchColumnsMetadata = useMemo(() => {\n const subCategory =\n textlinksCategoriesMetadata?.subcategories?.[expandedSubcategory?.find(item => item.open)?.index || 0]\n\n if (!subCategory) return null\n\n if (subCategory?.subSubCategories) {\n const activeSubSubcategory = subCategory?.subSubCategories?.[activeSubSubcategoryIndex]\n if (activeSubSubcategory) {\n return (\n textlinksColumnsMetadata?.find(\n (item: any) => item?.label?.toLowerCase() === activeSubSubcategory?.label?.toLowerCase()\n ) || null\n )\n }\n }\n\n return (\n textlinksColumnsMetadata?.find(\n (item: any) => item?.label?.toLowerCase() === subCategory?.label?.toLowerCase()\n ) || null\n )\n }, [textlinksCategoriesMetadata, expandedSubcategory, activeSubSubcategoryIndex, textlinksColumnsMetadata])\n\n const handleSubcategoryOpen = useCallback(\n (index: number, subcategoryItem: any) => {\n const hasSubSubCategories = subcategoryItem?.subSubCategories?.length > 0\n hasSubSubCategories ? setActiveSubSubcategoryIndex(0) : setActiveSubSubcategoryIndex(-1)\n\n const lastClick = lastClickRef.current\n\n setExpandedSubcategory(prev =>\n prev.map((item, i) => {\n if (i === index) {\n return { ...item, open: !item.open }\n }\n if (hasSubSubCategories) {\n return { ...item, open: false }\n }\n if (!lastClick && activeSubSubcategoryIndex === -1) {\n return { ...item, open: false }\n }\n if (\n lastClick &&\n !lastClick.hasSubSubCategories &&\n !hasSubSubCategories &&\n activeSubSubcategoryIndex === -1\n ) {\n return { ...item, open: false }\n }\n return item\n })\n )\n\n lastClickRef.current = { index, hasSubSubCategories }\n },\n [activeSubSubcategoryIndex]\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 {/* \u5DE6\u4FA7\uFF1A\u6298\u53E0\u5F0F\u5206\u7C7B\u5BFC\u822A */}\n <div\n className=\"lg-desktop:basis-[356px] flex basis-[284px] flex-col gap-4 py-4\"\n style={{ userSelect: 'none' }}\n ref={sidebarRef}\n >\n <div\n className=\"desktop:h-[416px] flex flex-col overflow-y-auto\"\n style={{ scrollbarWidth: 'none', msOverflowStyle: 'none' }}\n >\n {textlinksCategoriesMetadata?.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={`${subItem?.label || ''}textlinks-subcategoryItem-${index}`}>\n <button\n className={cn(\n 'rounded-sidebar-shelf 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 && hasSubSubCategory && (\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={`textlinks-subSubItem-${index}-${subSubindex}`}\n className={cn(\n 'rounded-sidebar-shelf w-full cursor-pointer border-0 bg-transparent px-6 py-4 text-left leading-none hover:bg-[#F5F5F7]',\n {\n 'bg-[#F5F5F7]': activeSubSubcategoryIndex === subSubindex,\n }\n )}\n role=\"menuitem\"\n aria-label={subSubItem.label}\n >\n <Text html={subSubItem.label} className=\"text-sm font-bold leading-[1.4] text-[#4A4C56]\" />\n </button>\n ))}\n </div>\n )}\n </div>\n )\n })}\n </div>\n\n {/* \u5DE6\u4FA7\u5E95\u90E8 CTA */}\n {textlinksCategoriesMetadata && (\n <div className=\"flex\">\n <div className=\"flex flex-col gap-4\">\n {textlinksCategoriesMetadata?.primary && (\n <Button\n as=\"a\"\n href={`${getLocalizedPath(textlinksCategoriesMetadata?.primary?.url, locale)}?ref=${textlinksCategoriesMetadata?.primary?.label}_shopall`}\n variant=\"primary\"\n size=\"lg\"\n className=\"lg-desktop:text-base text-sm\"\n >\n {textlinksCategoriesMetadata?.primary?.label}\n </Button>\n )}\n {textlinksCategoriesMetadata?.secondary && (\n <Button\n as=\"a\"\n href={getLocalizedPath(textlinksCategoriesMetadata?.secondary?.url, locale)}\n variant=\"link\"\n size=\"lg\"\n iconClassName=\"size-4\"\n className=\"lg-desktop:text-base justify-start !p-0 text-sm\"\n >\n {textlinksCategoriesMetadata?.secondary?.label}\n </Button>\n )}\n </div>\n </div>\n )}\n </div>\n\n {/* \u53F3\u4FA7\uFF1A\u591A\u5217\u7EAF\u6587\u5B57\u94FE\u63A5 */}\n <div className=\"flex-1 py-4\">\n {matchColumnsMetadata && (\n <>\n {/* \u53F3\u4FA7\u6807\u9898\u884C */}\n <div className=\"mb-4 flex items-center justify-between\">\n {(() => {\n const labelContent = (\n <>\n {matchColumnsMetadata?.label && (\n <Text\n html={matchColumnsMetadata.label}\n className=\"lg-desktop:text-2xl text-xl font-bold leading-[1.2]\"\n />\n )}\n {matchColumnsMetadata?.primary && (\n <Text\n html={matchColumnsMetadata.primary.label}\n className=\"lg-desktop:text-base text-sm font-bold leading-[1.2]\"\n />\n )}\n </>\n )\n return matchColumnsMetadata?.primary?.url ? (\n <Button\n as=\"a\"\n href={`${getLocalizedPath(matchColumnsMetadata.primary.url, locale)}?ref=${matchColumnsMetadata.label}_viewmore`}\n variant=\"link\"\n size=\"lg\"\n iconClassName=\"size-4\"\n className=\"flex items-center justify-start gap-2 !p-0 no-underline\"\n >\n {labelContent}\n </Button>\n ) : (\n <div className=\"flex items-center gap-2\">{labelContent}</div>\n )\n })()}\n {matchColumnsMetadata?.badge && (\n <Text\n html={matchColumnsMetadata.badge}\n className=\"h-[24px] rounded-full border-[1.6px] border-[var(--brand-color-0)] px-[6px] text-sm font-bold !leading-[22px] text-[var(--brand-color-0)]\"\n />\n )}\n </div>\n\n {/* \u591A\u5217\u6587\u5B57\u94FE\u63A5 \u2014 \u56FA\u5B9A3\u5217\u7B49\u5BBD\uFF0C\u5217\u95F4\u8DDD gap-4\uFF0C\u6BCF\u5217 pr-12 */}\n <div\n className=\"desktop:h-[416px] grid grid-cols-3 gap-4 overflow-y-auto\"\n style={{ scrollbarWidth: 'none', msOverflowStyle: 'none' }}\n >\n {matchColumnsMetadata?.columns?.map((col: any, colIndex: number) => (\n <div key={`textlinks-col-${col?.label || ''}-${colIndex}`} className=\"flex flex-col gap-2 pr-12\">\n {col?.label && (\n <Text html={col.label} as=\"p\" className=\"text-sm font-bold leading-[1.4] text-[#4A4C56]\" />\n )}\n <div className=\"flex flex-col\">\n {col?.links?.map((linkItem: any, linkIndex: number) => (\n <div\n key={`textlinks-link-${linkItem?.label || ''}-${linkIndex}`}\n className=\"flex min-h-[36px] items-center gap-1 py-2\"\n >\n <Link\n href={getLocalizedPath(linkItem?.url, locale)}\n asChild={!linkItem?.url}\n className=\"text-sm font-bold leading-[1.4] no-underline hover:opacity-70\"\n >\n {linkItem.label}\n </Link>\n {linkItem?.badge && (\n <Text\n as=\"p\"\n html={linkItem.badge}\n className=\"text-brand-0 border-brand-0 h-[24px] whitespace-nowrap rounded-full border-[1.6px] px-[6px] text-xs font-bold !leading-[22px]\"\n />\n )}\n </div>\n ))}\n </div>\n </div>\n ))}\n </div>\n </>\n )}\n </div>\n </Container>\n )\n }\n)\n\nTextLinksDropdown.displayName = 'TextLinksDropdown'\n"],
5
+ "mappings": "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",
6
+ "names": ["Fragment", "jsx", "jsxs", "React", "useCallback", "useEffect", "useMemo", "useRef", "useState", "Button", "Container", "Text", "Link", "cn", "getLocalizedPath", "DownArrow", "useNavContext", "useAiuiContext", "TextLinksDropdown", "textlinksCategoriesMetadata", "textlinksColumnsMetadata", "onSidebarNavClick", "locale", "expandedSubcategory", "setExpandedSubcategory", "activeSubSubcategoryIndex", "setActiveSubSubcategoryIndex", "sidebarRef", "lastClickRef", "initExpandedSubcategory", "subcategories", "withSubSubCategoriesIndex", "item", "withoutSubSubCategoriesIndex", "expandedStates", "_", "index", "matchColumnsMetadata", "subCategory", "activeSubSubcategory", "handleSubcategoryOpen", "subcategoryItem", "hasSubSubCategories", "lastClick", "prev", "i", "handleSubSubcategoryOpen", "subSubindex", "subItem", "hasSubSubCategory", "isExpanded", "subSubItem", "labelContent", "col", "colIndex", "linkItem", "linkIndex"]
7
+ }
@@ -1,2 +1,2 @@
1
- "use client";import{Fragment as Se,jsx as e,jsxs as n}from"react/jsx-runtime";import{forwardRef as ee,useCallback as te,useEffect as U,useImperativeHandle as De,useMemo as C,useRef as G,useState as w}from"react";import{Picture as me,Text as N,Button as ae,Container as pe,BrandStrip as Ee}from"../../components/index.js";import{withLayout as Te}from"../../shared/Styles.js";import{cn as M,getLocalizedPath as re}from"../../helpers/utils.js";import He,{useNavContext as Z}from"./NavProvider.js";import{HeaderNavigationMenu as A,HeaderNavigationBlockType as S,HeaderNavigationActionBlockType as k}from"./types.js";import Le from"jump.js";import{useGSAP as ie}from"@gsap/react";import{gsap as le}from"gsap";import{WithSidebar as fe,WithSupports as be,WithMulticol as ve,WithGroupCategory as ge,WithResource as he}from"./withCategory.js";import{Menu as ze,Close as ye,User as Be,LeftArrow as Re,DownArrow as Ne,Polygon as Ie}from"./icons/index.js";import Ae from"../NavigationSearch/index.js";import{ResourceSidebarDropdown as Oe}from"./ResourceSidebarDropdown.js";import{MobileResourceSidebarMenu as je}from"./MobileResourceSidebarMenu.js";import{SidebarDropdown as We}from"./SidebarDropdown.js";import{useScrollLock as se}from"./useScrollLock.js";import{MulticolDropdown as _e}from"./MulticolDropdown.js";import{SupportsDropdown as $e}from"./SupportsDropdown.js";import{MobileSidebarMenu as Ke}from"./MobileSidebarMenu.js";import{MobileSupportMenu as Fe}from"./MobileSupportMenu.js";import{MobileMulticolMenu as Ue}from"./MobileMulticolMenu.js";import{MenuItem as ce}from"./MobileMenuComponents.js";import{useAiuiContext as ue}from"../AiuiProvider/index.js";import Ge from"../../shared/throttle.js";const ke=ee((a,u)=>{const{data:{header:l}={},buildProps:d,event:v,profile:b,theme:o="light",isTop:r=!1,searchResult:E,onSearch:s,isSearching:g,keywords:_,onPrimaryNavClick:h,onSeriesProductClick:m,onSidebarNavClick:q,headerId:z,cartCount:O,menuData:B,...$}=a,[P,R]=w(!1),[J,D]=w(!1),[p,T]=w(!1),[Q,j]=w(!1),f=G(null),H=G(null),L=()=>{const y=document?.querySelector("body")?.offsetWidth||0;j(y<=1440)};U(()=>(L(),window.addEventListener("resize",L),()=>{window.removeEventListener("resize",L)}),[]),De(u,()=>H.current),U(()=>{H.current&&r&&Le(H.current,{duration:0,offset:H.current?.getBoundingClientRect()?.bottom||0})},[r]),U(()=>{if(r){D(!1),T(!1);return}let y=0,Y=0,K=0;const I=()=>document?.documentElement?.scrollTop||document?.body?.scrollTop||0,F=I();y=F,D(F>300),T(F>30);const t=Ge(()=>{const i=I(),c=i-y;T(i>30),c>0?(Y=0,K+=c,K>=300&&i>300&&D(!0)):c<0&&(K=0,Y+=Math.abs(c),Y>=300&&(D(!1),Y=0)),y=i},100);return window.addEventListener("scroll",t,{passive:!0}),()=>window.removeEventListener("scroll",t)},[r]),U(()=>{v&&(v.search=()=>R(!0))},[v]),ie(()=>{f?.current&&P&&le.fromTo(f.current,{height:0},{height:"auto",duration:.3})},[P]),se(P);const ne=C(()=>l?.bar?.actions?.find(y=>y?.blockType===k.Search)?.searchBar?.[0]||{},[l]);return e(He,{buildProps:d,profile:b,isMobile:Q,event:v,payloadData:l,onSidebarNavClick:q,onSeriesProductClick:m,cartCount:O,children:e("header",{...$,id:z||"header","data-ui-component-id":"HeaderNavigation",className:r?"relative z-[100] bg-white":M("sticky top-0 z-[100] transition-transform duration-500 ease-in-out",{"translate-y-[-100%]":J}),ref:H,children:n("div",{className:M("hover:bg-white hover:text-black",o==="light"?"text-black":"text-white",{"!bg-white transition-all duration-500 ease-in-out":!r&&p},{"hover:!text-black":o==="dark","!text-black":!r&&p}),onClick:()=>!r&&T(!0),children:[e(xe,{data:l,className:"desktop:block hidden !bg-white",theme:o,onNavItemClick:()=>!r&&T(!0),onPrimaryNavClick:h}),e(Ce,{menuData:B,data:l,className:"desktop:hidden block !bg-white",onPrimaryNavClick:h}),P&&n("div",{className:"absolute left-0 top-0 z-[60] flex w-full flex-col bg-black/70",style:{height:`calc(100dvh - ${H?.current?.getBoundingClientRect()?.top}px)`},role:"dialog","aria-modal":"true","aria-label":"Search",children:[e("div",{ref:f,className:M("overflow-y-auto",{}),children:e(Ae,{data:ne,keywords:_,isSearching:g,searchResult:E,onSearch:y=>{s?.(y)},onClose:()=>{s?.(),R(!1)}})}),e("div",{className:"flex-1 bg-transparent",onClick:()=>R(!1),role:"button",tabIndex:0,"aria-label":"Close search",onKeyDown:y=>{(y.key==="Enter"||y.key===" "||y.key==="Escape")&&(y.preventDefault(),R(!1))}})]})]})})})}),xe=ee((a,u)=>{const{data:l,onNavItemClick:d,className:v,theme:b,onPrimaryNavClick:o}=a,{event:r,profile:E}=Z(),[s,g]=w(!1),{locale:_="us"}=ue(),h=C(()=>ge(l?.categories?.filter(t=>t?.pcShow)),[l]),[m,q]=w(null),[z,O]=w([]),B=G(null),[$,P]=w(!1),R=G(null),J=G(null),D=G(h.map(t=>Array(t?.length||0).fill(null)));U(()=>{h?.length&&O(h?.map((t,i)=>t?.map((c,x)=>({groupIndex:i,index:x,open:!1}))))},[h]);const p=C(()=>{let t=null;for(const i of z){for(const c of i)if(c.open){t=c;break}if(t)break}return t},[z]);se(!!p?.open||$);const T=(t,i,c)=>{P(!1);const x=h[i][c];if(x?.components?.[0]?.blockType===S.Links)x?.components?.[0]?.url&&window.open(x?.components?.[0]?.url);else{const V=h?.flat()||[],W=V?.findIndex(oe=>oe?.id===h[i][c]?.id);t.stopPropagation(),d?.(),o?.(V[W],W),q(x),O(oe=>oe.map(Pe=>Pe.map(X=>X.groupIndex===i&&X.index===c?{...X,open:!X.open}:{...X,open:!1})))}},Q=(t,i,c)=>{t.key==="Enter"||t.key===" "?(t.preventDefault(),T(t,i,c)):t.key==="Escape"&&p?.groupIndex===i&&p?.index===c&&(t.preventDefault(),j())},j=()=>{O(t=>t.map(i=>i.map(c=>({...c,open:!1}))))},f=C(()=>{if(m)return m?.components?.[0]?.blockType},[m]),H=fe(We,m),L=he(Oe,m),ne=ve(_e,m),y=be($e,{categoriesItem:m,currentNavItemRef:D.current?.[p?.groupIndex||0]?.[p?.index||0]}),Y=C(()=>{switch(f){case S.Sidebar:return e(H,{});case S.Resource:return e(L,{});case S.Supports:return e(y,{});case S.Multicol:return e(ne,{});default:return null}},[f,m]),K=C(()=>l?.bar?.actions?.filter(t=>t?.pcShow),[l]),I=C(()=>K?.find(t=>t?.blockType===k.Profile),[K]),F=te(()=>{P(t=>!t)},[]);return U(()=>{if(B?.current){const t=B.current;return t.addEventListener("click",F),()=>{t.removeEventListener("click",F)}}},[F]),ie(()=>{p?.open&&le.fromTo(J?.current,{height:0},{height:"auto"})},[p?.open]),n(pe,{className:M("relative h-[96px]",v),children:[n("div",{ref:R,onClick:j,className:"flex h-full flex-col justify-end gap-4",children:[n("div",{className:"flex items-center justify-between",children:[e(we,{}),e(de,{ref:B,actions:K,activeStatus:$})]}),e("nav",{className:"flex justify-between",role:"navigation","aria-label":"Primary navigation",children:h?.map((t,i)=>e("div",{className:"flex gap-3",children:t?.map((c,x)=>{const V=p?.groupIndex===i&&p?.index===x;return e("div",{ref:W=>{D.current[i][x]=W},className:"group",children:n("div",{className:"relative",children:[n("button",{className:"flex cursor-pointer items-center gap-1 border-0 bg-transparent pb-4",onClick:W=>T(W,i,x),onKeyDown:W=>Q(W,i,x),"aria-expanded":V,"aria-haspopup":"true","aria-label":c.text,children:[e(N,{html:c.text,className:"text-sm font-bold leading-[1.4]"}),e(Ne,{className:M("size-4 opacity-0 transition-opacity duration-500 group-hover:opacity-100",{"rotate-180":p?.groupIndex===i&&p?.index===x,"opacity-100":s&&p?.groupIndex===i&&p?.index===x,invisible:!c?.components?.length||c?.components?.[0]?.blockType===S.Links})})]}),e("div",{className:M("absolute bottom-0 left-0 h-[2px] w-0 transition-all duration-500",{"w-[calc(100%-20px)]":V},b==="dark"?"bg-white":"bg-[#080A0F]"),"aria-hidden":"true"})]})},c.id)})},`groupCategory-${i}`))})]}),n("div",{role:"menu","aria-hidden":!(p?.open&&m),className:M("absolute left-0 top-full z-[999] flex w-full flex-col overflow-hidden border-t border-b-[#E4E5E6] bg-black/70 text-black",{hidden:!(p?.open&&m)}),onMouseEnter:()=>g(!0),onMouseLeave:()=>g(!1),style:{height:`calc(100dvh - ${R?.current?.getBoundingClientRect()?.bottom}px)`},children:[e("div",{ref:J,className:M("relative z-50",{"overflow-hidden":f!==S.Supports}),children:Y}),e("div",{className:"flex-1 bg-transparent",onClick:j,role:"button",tabIndex:0,"aria-label":"Close menu",onKeyDown:t=>{(t.key==="Enter"||t.key===" "||t.key==="Escape")&&(t.preventDefault(),j())}})]}),$&&n("div",{className:"absolute left-0 top-full z-[999] flex h-dvh w-full bg-black/70",role:"dialog","aria-modal":"true","aria-label":"User profile menu",children:[e("div",{className:"rounded-box absolute w-[272px] overflow-hidden bg-white p-4",style:{right:`calc(100% - ${B?.current?.getBoundingClientRect()?.right}px)`,top:"-36px"},children:E?.email?n(Se,{children:[e(N,{html:E?.nick_name||I?.welcome,className:"text-sm font-bold"}),e("div",{className:"mt-2 h-px bg-[#D9D9D9]","aria-hidden":"true"}),e("nav",{className:"mt-2",role:"navigation","aria-label":"Profile navigation",children:I?.profiles?.map(t=>e(ce,{className:"py-2",label:t?.title,href:re(t?.url,_)},t.id))})]}):n(Se,{children:[e(Ie,{className:"absolute -top-2 right-[46px] z-30 text-white","aria-hidden":"true"}),e(N,{html:I?.benefits_title,className:"text-sm font-bold leading-[1.4]"}),e("div",{className:"mt-2 flex flex-col gap-1",children:I?.benefits?.map(t=>n("div",{className:"flex items-center gap-[6px]",children:[e(me,{source:t.benefitIcon?.url,className:"size-4",alt:t.benefit,width:16,height:16}),e(N,{html:t.benefit,className:"text-sm font-bold leading-[1.4]"})]},t.id))}),n("div",{className:"mt-4 flex items-center gap-2",children:[e(ae,{variant:"secondary",size:"lg",onClick:()=>r?.join?.(),children:e(N,{html:I?.primaryButton||"Join Now",className:"font-bold"})}),e(ae,{variant:"primary",size:"lg",onClick:()=>r?.login?.(),children:e(N,{html:I?.secondaryButton||"Log In",className:"font-bold"})})]})]})}),e("div",{className:"flex-1 bg-transparent",onClick:()=>P(!1),role:"button",tabIndex:0,"aria-label":"Close profile menu",onKeyDown:t=>{(t.key==="Enter"||t.key===" "||t.key==="Escape")&&(t.preventDefault(),P(!1))}})]})]})}),Ce=ee(({data:a,menuData:u,className:l,onPrimaryNavClick:d},v)=>{const b=C(()=>ge(a?.categories?.filter(f=>f?.mobileShow)),[a]),{currentMenu:o,setCurrentMenu:r,subSubCategory:E}=Z(),[s,g]=w(!1),[_,h]=w(0),[m,q]=w(null),z=G(null);U(()=>{if(z?.current&&s){const f=z?.current?.getBoundingClientRect();h(window?.innerHeight-(f?.bottom||0))}},[s]),ie(()=>{le.fromTo(z.current,{height:0},{height:_,duration:.3})},[_]),se(s);const O=C(()=>m?.components?.[0]?.blockType,[m]),B=be(Fe,{categoriesItem:m}),$=fe(Ke,m),P=he(je,m),R=ve(Ue,m),J=C(()=>{switch(O){case S.Sidebar:return e($,{});case S.Resource:return e(P,{});case S.Supports:return e(B,{});case S.Multicol:return e(R,{});default:return null}},[O,m,B]),D=te(()=>{g(!1),h(0),r&&r(A.Primary)},[g,h,r]),p=C(()=>a?.bar?.actions?.filter(f=>f?.mobileShow&&f?.blockType!==k.Profile),[a]),T=C(()=>a?.bar?.actions?.find(f=>f?.mobileShow&&f?.blockType===k.Profile)||{},[a]),Q=C(()=>{switch(o){case A.Primary:return e(qe,{actions:p,menuOpen:s,onMenuOpenClose:()=>{g(!1),h(0)},onMenuOpenClick:()=>g(!0)});case A.Secondary:return e(Me,{title:m?.text,onMenuOpenClose:D,onMenuBackClick:()=>r?.(A.Primary)});case A.Third:return e(Me,{title:E?.label,onMenuOpenClose:D,onMenuBackClick:()=>r?.(A.Secondary)});default:return null}},[s,o,r,m,p,E,D]),j=te((f,H)=>{const L=Array.isArray(b)?Array.isArray(b[f])?b[f][H]:{}:{};q(L),L?.components?.[0]?.blockType===S.Links?L?.components?.[0]?.url&&window.open(L?.components?.[0]?.url):r?.(A.Secondary)},[b,r]);return n(pe,{className:M("relative h-[52px]",l),children:[Q,s&&n("nav",{ref:z,className:"absolute left-0 top-full z-[999] w-full overflow-y-auto border-t border-[#E4E5E6] bg-white text-black",style:{height:_},role:"navigation","aria-label":"Mobile navigation menu",children:[o===A.Primary&&u?e("div",{className:"pt-4",children:e(Ee,{data:u})}):null,o===A.Primary?e(Je,{categories:b,onPrimaryMenuClick:j,onPrimaryNavClick:d,profileAction:T}):J]})]})}),Je=({categories:a,onPrimaryMenuClick:u,profileAction:l,onPrimaryNavClick:d})=>n("div",{className:"flex h-full flex-col justify-between",children:[e("div",{className:"tablet:px-8 laptop:px-16 p-4",children:a?.map((v,b)=>n("div",{className:"",children:[e("div",{className:M("my-2 h-px w-full bg-[#E5E5E7]")}),v?.map((o,r)=>e(ce,{label:o.text,onClick:()=>{const s=(a?.flat()||[])?.findIndex(g=>g?.id===a[b][r]?.id);u(b,r),d?.(o,s)},icon:o.components?.[0]?.icon},o.id))]},`groupCategory-${b}`))}),e(Ye,{profileAction:l})]}),Ye=({profileAction:a})=>{const[u,l]=w(!1),{profile:d,event:v}=Z(),{locale:b="us"}=ue();return n("div",{className:M("tablet:px-8 laptop:px-16 bg-[#F5F5F7] px-4 py-6",{"p-4":u}),children:[n("button",{className:"flex w-full cursor-pointer items-center justify-between border-0 bg-transparent",onClick:()=>l(!u),"aria-expanded":u,"aria-label":d?.nick_name||a?.welcome,children:[n("div",{className:"flex items-center gap-[14px]",children:[e("div",{className:"flex size-[40px] shrink-0 items-center justify-center rounded-full bg-white",children:e(Be,{"aria-hidden":"true"})}),e(N,{html:d?.nick_name||a?.welcome,className:"text-base font-bold leading-[1.4]"})]}),!d?.email&&e(Ne,{"aria-hidden":"true",className:M("laptop:size-4 size-5",{"rotate-180":u})})]}),d?.email&&e("nav",{className:"mt-4",role:"navigation","aria-label":"Profile menu",children:a?.profiles?.map(o=>e(ce,{label:o?.title,href:re(o?.url,b)},o.id))}),u&&!d?.email&&n("div",{className:"mt-4",children:[e(N,{html:a?.benefits_title,className:"text-sm font-bold leading-[1.4]"}),e("div",{className:"mt-2 flex flex-col gap-1",children:a?.benefits?.map(o=>n("div",{className:"flex items-center gap-[6px]",children:[e(me,{source:o.benefitIcon?.url,className:"size-4",alt:o.benefit,width:16,height:16}),e(N,{html:o.benefit,className:"text-sm font-bold leading-[1.4]"})]},o.id))})]}),!d?.email&&n("div",{className:"mt-4 flex items-center gap-3",children:[e(ae,{className:"tablet:flex-none flex-1",variant:"secondary",size:"base",onClick:()=>v?.join?.(),children:e(N,{html:a?.primaryButton||"Join Now",className:"text-sm font-bold leading-[1.4]"})}),e(ae,{className:"tablet:flex-none flex-1",variant:"primary",size:"base",onClick:()=>v?.login?.(),children:e(N,{html:a?.secondaryButton||"Log In",className:"text-sm font-bold leading-[1.4]"})})]})]})},qe=({menuOpen:a,onMenuOpenClose:u,onMenuOpenClick:l,actions:d})=>n("div",{className:"flex h-full items-center justify-between gap-4",children:[e(we,{}),n("div",{className:"desktop:gap-6 flex items-center gap-4",children:[e(de,{actions:d}),a?e("button",{className:"cursor-pointer border-0 bg-transparent p-0",onClick:()=>u(),"aria-label":"Close menu","aria-expanded":"true",children:e(ye,{className:"size-5","aria-hidden":"true"})}):e("button",{className:"cursor-pointer border-0 bg-transparent p-0",onClick:()=>l(),"aria-label":"Open menu","aria-expanded":"false","aria-haspopup":"true",children:e(ze,{className:"size-5","aria-hidden":"true"})})]})]}),we=()=>{const{payloadData:a,isMobile:u}=Z(),{locale:l="us"}=ue();return e("a",{href:re("/",l),className:"hover:text-brand-0 [&>svg]:w-full","aria-label":"Home",dangerouslySetInnerHTML:{__html:u?a?.bar?.mobileLogo:a?.bar?.desktopLogo}})},de=ee(({actions:a,activeStatus:u=!1},l)=>{const{event:d,cartCount:v}=Z(),[b,o]=w(null),r=s=>{switch(s){case k.Search:return"Search";case k.Cart:return`Shopping cart${v>0?` (${v} items)`:""}`;case k.Profile:return"User profile";case k.Livestream:return"Livestream";default:return"Action"}},E=te((s,g)=>{switch(o(g),s?.blockType){case k.Search:d?.search?.();break;case k.Cart:d?.cart?.();break;case k.Profile:d?.profile?.();break;case k.Livestream:d?.livestream?.();break;default:return()=>{}}},[d]);return e("div",{className:"desktop:gap-6 flex items-center gap-4",children:Array.isArray(a)&&a?.map((s,g)=>n("button",{className:"relative cursor-pointer border-0 bg-transparent p-0",ref:s.blockType===k.Profile?l:null,onClick:()=>E(s,g),"aria-label":r(s.blockType),"aria-pressed":u&&b===g,children:[e(N,{html:s.icon,className:M("size-5",{"text-brand-0":u&&b===g}),"aria-hidden":"true"}),s.blockType===k.Cart&&v>0&&e("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]","aria-hidden":"true",children:e(N,{html:v?.toString(),className:"text-sm font-bold leading-[1.2] text-white"})})]},s.id))})}),Me=({title:a,onMenuOpenClose:u,onMenuBackClick:l})=>n("div",{className:"flex h-full items-center gap-3",children:[e("button",{className:"cursor-pointer border-0 bg-transparent p-0",onClick:()=>l(),"aria-label":"Back to previous menu",children:e(Re,{className:"size-5","aria-hidden":"true"})}),e(N,{html:a,className:"flex-1 text-center text-base font-bold leading-[1.4]"}),e("button",{className:"cursor-pointer border-0 bg-transparent p-0",onClick:()=>u(),"aria-label":"Close menu",children:e(ye,{className:"size-5","aria-hidden":"true"})})]});Ce.displayName="MobileNavigation",de.displayName="Actions",ke.displayName="HeaderNavigation",xe.displayName="DesktopNavigation";var kt=Te(ke);export{kt as default};
1
+ "use client";import{Fragment as De,jsx as e,jsxs as o}from"react/jsx-runtime";import Le,{forwardRef as ae,useCallback as re,useEffect as K,useImperativeHandle as Ee,useMemo as M,useRef as U,useState as S}from"react";import{Picture as pe,Text as k,Button as ne,Container as be,BrandStrip as He}from"../../components/index.js";import{withLayout as ze}from"../../shared/Styles.js";import{cn as N,getLocalizedPath as ie}from"../../helpers/utils.js";import Re,{useNavContext as te}from"./NavProvider.js";import{HeaderNavigationMenu as A,HeaderNavigationBlockType as C,HeaderNavigationActionBlockType as x}from"./types.js";import Be from"jump.js";import{useGSAP as le}from"@gsap/react";import{gsap as se}from"gsap";import{WithSidebar as fe,WithSupports as ve,WithMulticol as he,WithGroupCategory as ge,WithResource as ye,WithTextLinks as ke}from"./withCategory.js";import{Menu as Ie,Close as Ne,User as Ae,LeftArrow as Oe,DownArrow as xe,Polygon as je}from"./icons/index.js";import We from"../NavigationSearch/index.js";import{ResourceSidebarDropdown as _e}from"./ResourceSidebarDropdown.js";import{MobileResourceSidebarMenu as $e}from"./MobileResourceSidebarMenu.js";import{SidebarDropdown as Fe}from"./SidebarDropdown.js";import{useScrollLock as ce}from"./useScrollLock.js";import{MulticolDropdown as Ke}from"./MulticolDropdown.js";import{TextLinksDropdown as Ue}from"./TextLinksDropdown.js";import{SupportsDropdown as Ge}from"./SupportsDropdown.js";import{MobileSidebarMenu as Je}from"./MobileSidebarMenu.js";import{MobileSupportMenu as Ye}from"./MobileSupportMenu.js";import{MobileMulticolMenu as qe}from"./MobileMulticolMenu.js";import{MobileTextLinksMenu as Qe}from"./MobileTextLinksMenu.js";import{MenuItem as ue}from"./MobileMenuComponents.js";import{useAiuiContext as me}from"../AiuiProvider/index.js";import Ve from"../../shared/throttle.js";const Ce=ae((r,i)=>{const{data:{header:u}={},buildProps:d,event:g,profile:p,theme:l="light",isTop:n=!1,searchResult:T,onSearch:a,isSearching:m,keywords:E,onPrimaryNavClick:v,onSeriesProductClick:s,onSidebarNavClick:Q,headerId:H,cartCount:O,menuData:z,...$}=r,[D,R]=S(!1),[G,B]=S(!1),[b,P]=S(!1),[V,j]=S(!1),I=U(null),f=U(null),F=()=>{const y=document?.querySelector("body")?.offsetWidth||0;j(y<=1440)};K(()=>(F(),window.addEventListener("resize",F),()=>{window.removeEventListener("resize",F)}),[]),Ee(i,()=>f.current),K(()=>{f.current&&n&&Be(f.current,{duration:0,offset:f.current?.getBoundingClientRect()?.bottom||0})},[n]),K(()=>{if(n){B(!1),P(!1);return}let y=0,J=0,X=0;const Y=()=>document?.documentElement?.scrollTop||document?.body?.scrollTop||0,L=Y();y=L,B(L>300),P(L>30);const q=Ve(()=>{const t=Y(),c=t-y;P(t>30),c>0?(J=0,X+=c,X>=300&&t>300&&B(!0)):c<0&&(X=0,J+=Math.abs(c),J>=300&&(B(!1),J=0)),y=t},100);return window.addEventListener("scroll",q,{passive:!0}),()=>window.removeEventListener("scroll",q)},[n]),K(()=>{g&&(g.search=()=>R(!0))},[g]),le(()=>{I?.current&&D&&se.fromTo(I.current,{height:0},{height:"auto",duration:.3})},[D]),ce(D);const W=M(()=>u?.bar?.actions?.find(y=>y?.blockType===x.Search)?.searchBar?.[0]||{},[u]);return e(Re,{buildProps:d,profile:p,isMobile:V,event:g,payloadData:u,onSidebarNavClick:Q,onSeriesProductClick:s,cartCount:O,children:e("header",{...$,id:H||"header","data-ui-component-id":"HeaderNavigation",className:n?"relative z-[100] bg-white":N("sticky top-0 z-[100] transition-transform duration-500 ease-in-out",{"translate-y-[-100%]":G}),ref:f,children:o("div",{className:N("hover:bg-white hover:text-black",l==="light"?"text-black":"text-white",{"!bg-white transition-all duration-500 ease-in-out":!n&&b},{"hover:!text-black":l==="dark","!text-black":!n&&b}),onClick:()=>!n&&P(!0),children:[e(we,{data:u,className:"desktop:block hidden !bg-white",theme:l,onNavItemClick:()=>!n&&P(!0),onPrimaryNavClick:v}),e(Me,{menuData:z,data:u,className:"desktop:hidden block !bg-white",onPrimaryNavClick:v}),D&&o("div",{className:"absolute left-0 top-0 z-[60] flex w-full flex-col bg-black/70",style:{height:`calc(100dvh - ${f?.current?.getBoundingClientRect()?.top}px)`},role:"dialog","aria-modal":"true","aria-label":"Search",children:[e("div",{ref:I,className:N("overflow-y-auto",{}),children:e(We,{data:W,keywords:E,isSearching:m,searchResult:T,onSearch:y=>{a?.(y)},onClose:()=>{a?.(),R(!1)}})}),e("div",{className:"flex-1 bg-transparent",onClick:()=>R(!1),role:"button",tabIndex:0,"aria-label":"Close search",onKeyDown:y=>{(y.key==="Enter"||y.key===" "||y.key==="Escape")&&(y.preventDefault(),R(!1))}})]})]})})})}),we=ae((r,i)=>{const{data:u,onNavItemClick:d,className:g,theme:p,onPrimaryNavClick:l}=r,{event:n,profile:T}=te(),[a,m]=S(!1),{locale:E="us"}=me(),v=M(()=>ge(u?.categories?.filter(t=>t?.pcShow)),[u]),[s,Q]=S(null),[H,O]=S([]),z=U(null),[$,D]=S(!1),R=U(null),G=U(null),B=U(v.map(t=>Array(t?.length||0).fill(null)));K(()=>{v?.length&&O(v?.map((t,c)=>t?.map((h,w)=>({groupIndex:c,index:w,open:!1}))))},[v]);const b=M(()=>{let t=null;for(const c of H){for(const h of c)if(h.open){t=h;break}if(t)break}return t},[H]);ce(!!b?.open||$);const P=(t,c,h)=>{D(!1);const w=v[c][h];if(w?.components?.[0]?.blockType===C.Links)w?.components?.[0]?.url&&window.open(w?.components?.[0]?.url);else{const Z=v?.flat()||[],_=Z?.findIndex(oe=>oe?.id===v[c][h]?.id);t.stopPropagation(),d?.(),l?.(Z[_],_),Q(w),O(oe=>oe.map(Pe=>Pe.map(ee=>ee.groupIndex===c&&ee.index===h?{...ee,open:!ee.open}:{...ee,open:!1})))}},V=(t,c,h)=>{t.key==="Enter"||t.key===" "?(t.preventDefault(),P(t,c,h)):t.key==="Escape"&&b?.groupIndex===c&&b?.index===h&&(t.preventDefault(),j())},j=()=>{O(t=>t.map(c=>c.map(h=>({...h,open:!1}))))},I=M(()=>{if(s)return s?.components?.[0]?.blockType},[s]),f=fe(Fe,s),F=ye(_e,s),W=he(Ke,s),y=ke(Ue,s),J=ve(Ge,{categoriesItem:s,currentNavItemRef:B.current?.[b?.groupIndex||0]?.[b?.index||0]}),X=M(()=>{switch(I){case C.Sidebar:return e(f,{});case C.Resource:return e(F,{});case C.Supports:return e(J,{});case C.Multicol:return e(W,{});case C.TextLinks:return e(y,{});default:return null}},[I,s]),Y=M(()=>u?.bar?.actions?.filter(t=>t?.pcShow),[u]),L=M(()=>Y?.find(t=>t?.blockType===x.Profile),[Y]),q=re(()=>{D(t=>!t)},[]);return K(()=>{if(z?.current){const t=z.current;return t.addEventListener("click",q),()=>{t.removeEventListener("click",q)}}},[q]),le(()=>{b?.open&&se.fromTo(G?.current,{height:0},{height:"auto"})},[b?.open]),o(be,{className:N("relative h-[96px]",g),children:[o("div",{ref:R,onClick:j,className:"flex h-full flex-col justify-end gap-4",children:[o("div",{className:"flex items-center justify-between",children:[e(Se,{}),e(de,{ref:z,actions:Y,activeStatus:$})]}),e("nav",{className:"flex justify-between",role:"navigation","aria-label":"Primary navigation",children:v?.map((t,c)=>e("div",{className:"flex gap-3",children:t?.map((h,w)=>{const Z=b?.groupIndex===c&&b?.index===w;return e("div",{ref:_=>{B.current[c][w]=_},className:"group",children:o("div",{className:"relative",children:[o("button",{className:"flex cursor-pointer items-center gap-1 border-0 bg-transparent pb-4",onClick:_=>P(_,c,w),onKeyDown:_=>V(_,c,w),"aria-expanded":Z,"aria-haspopup":"true","aria-label":h.text,children:[e(k,{html:h.text,className:"text-sm font-bold leading-[1.4]"}),e(xe,{className:N("size-4 opacity-0 transition-opacity duration-500 group-hover:opacity-100",{"rotate-180":b?.groupIndex===c&&b?.index===w,"opacity-100":a&&b?.groupIndex===c&&b?.index===w,invisible:!h?.components?.length||h?.components?.[0]?.blockType===C.Links})})]}),e("div",{className:N("absolute bottom-0 left-0 h-[2px] w-0 transition-all duration-500",{"w-[calc(100%-20px)]":Z},p==="dark"?"bg-white":"bg-[#080A0F]"),"aria-hidden":"true"})]})},h.id)})},`groupCategory-${c}`))})]}),o("div",{role:"menu","aria-hidden":!(b?.open&&s),className: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",{hidden:!(b?.open&&s)}),onMouseEnter:()=>m(!0),onMouseLeave:()=>m(!1),style:{height:`calc(100dvh - ${R?.current?.getBoundingClientRect()?.bottom}px)`},children:[e("div",{ref:G,className:N("relative z-50",{"overflow-hidden":I!==C.Supports}),children:X}),e("div",{className:"flex-1 bg-transparent",onClick:j,role:"button",tabIndex:0,"aria-label":"Close menu",onKeyDown:t=>{(t.key==="Enter"||t.key===" "||t.key==="Escape")&&(t.preventDefault(),j())}})]}),$&&o("div",{className:"absolute left-0 top-full z-[999] flex h-dvh w-full bg-black/70",role:"dialog","aria-modal":"true","aria-label":"User profile menu",children:[e("div",{className:"rounded-box absolute w-[272px] overflow-hidden bg-white p-4",style:{right:`calc(100% - ${z?.current?.getBoundingClientRect()?.right}px)`,top:"-36px"},children:T?.email?o(De,{children:[e(k,{html:T?.nick_name||L?.welcome,className:"text-sm font-bold"}),e("div",{className:"mt-2 h-px bg-[#D9D9D9]","aria-hidden":"true"}),e("nav",{className:"mt-2",role:"navigation","aria-label":"Profile navigation",children:L?.profiles?.map(t=>e(ue,{className:"py-2",label:t?.title,href:ie(t?.url,E)},t.id))})]}):o(De,{children:[e(je,{className:"absolute -top-2 right-[46px] z-30 text-white","aria-hidden":"true"}),e(k,{html:L?.benefits_title,className:"text-sm font-bold leading-[1.4]"}),e("div",{className:"mt-2 flex flex-col gap-1",children:L?.benefits?.map(t=>o("div",{className:"flex items-center gap-[6px]",children:[e(pe,{source:t.benefitIcon?.url,className:"size-4",alt:t.benefit,width:16,height:16}),e(k,{html:t.benefit,className:"text-sm font-bold leading-[1.4]"})]},t.id))}),o("div",{className:"mt-4 flex items-center gap-2",children:[e(ne,{variant:"secondary",size:"lg",onClick:()=>n?.join?.(),children:e(k,{html:L?.primaryButton||"Join Now",className:"font-bold"})}),e(ne,{variant:"primary",size:"lg",onClick:()=>n?.login?.(),children:e(k,{html:L?.secondaryButton||"Log In",className:"font-bold"})})]})]})}),e("div",{className:"flex-1 bg-transparent",onClick:()=>D(!1),role:"button",tabIndex:0,"aria-label":"Close profile menu",onKeyDown:t=>{(t.key==="Enter"||t.key===" "||t.key==="Escape")&&(t.preventDefault(),D(!1))}})]})]})}),Me=ae(({data:r,menuData:i,className:u,onPrimaryNavClick:d},g)=>{const p=M(()=>ge(r?.categories?.filter(f=>f?.mobileShow)),[r]),{currentMenu:l,setCurrentMenu:n,subSubCategory:T}=te(),[a,m]=S(!1),[E,v]=S(0),[s,Q]=S(null),H=U(null);K(()=>{if(H?.current&&a){const f=H?.current?.getBoundingClientRect();v(window?.innerHeight-(f?.bottom||0))}},[a]),le(()=>{se.fromTo(H.current,{height:0},{height:E,duration:.3})},[E]),ce(a);const O=M(()=>s?.components?.[0]?.blockType,[s]),z=ve(Ye,{categoriesItem:s}),$=fe(Je,s),D=ye($e,s),R=he(qe,s),G=ke(Qe,s),B=M(()=>{switch(O){case C.Sidebar:return e($,{});case C.Resource:return e(D,{});case C.Supports:return e(z,{});case C.Multicol:return e(R,{});case C.TextLinks:return e(G,{});default:return null}},[O,s,z]),b=re(()=>{m(!1),v(0),n&&n(A.Primary)},[m,v,n]),P=M(()=>r?.bar?.actions?.filter(f=>f?.mobileShow&&f?.blockType!==x.Profile),[r]),V=M(()=>r?.bar?.actions?.find(f=>f?.mobileShow&&f?.blockType===x.Profile)||{},[r]),j=M(()=>{switch(l){case A.Primary:return e(et,{actions:P,menuOpen:a,onMenuOpenClose:()=>{m(!1),v(0)},onMenuOpenClick:()=>m(!0)});case A.Secondary:return e(Te,{title:s?.text,onMenuOpenClose:b,onMenuBackClick:()=>n?.(A.Primary)});case A.Third:return e(Te,{title:T?.label,onMenuOpenClose:b,onMenuBackClick:()=>n?.(A.Secondary)});default:return null}},[a,l,n,s,P,T,b]),I=re((f,F)=>{const W=Array.isArray(p)?Array.isArray(p[f])?p[f][F]:{}:{};Q(W),W?.components?.[0]?.blockType===C.Links?W?.components?.[0]?.url&&window.open(W?.components?.[0]?.url):n?.(A.Secondary)},[p,n]);return o(be,{className:N("relative h-[52px]",u),children:[j,a&&o("nav",{ref:H,className:"absolute left-0 top-full z-[999] w-full overflow-y-auto border-t border-[#E4E5E6] bg-white text-black",style:{height:E},role:"navigation","aria-label":"Mobile navigation menu",children:[l===A.Primary&&i?e("div",{className:"pt-4",children:e(He,{data:i})}):null,l===A.Primary?e(Xe,{categories:p,onPrimaryMenuClick:I,onPrimaryNavClick:d,profileAction:V}):B]})]})}),Xe=({categories:r,onPrimaryMenuClick:i,profileAction:u,onPrimaryNavClick:d})=>o("div",{className:"flex h-full flex-col justify-between",children:[e("div",{className:"tablet:px-8 laptop:px-16 p-4",children:r?.map((g,p)=>o("div",{className:"",children:[e("div",{className:N("my-2 h-px w-full bg-[#E5E5E7]")}),g?.map((l,n)=>e(ue,{label:l.text,onClick:()=>{const a=(r?.flat()||[])?.findIndex(m=>m?.id===r[p][n]?.id);i(p,n),d?.(l,a)},icon:l.components?.[0]?.icon},l.id))]},`groupCategory-${p}`))}),e(Ze,{profileAction:u})]}),Ze=({profileAction:r})=>{const[i,u]=S(!1),{profile:d,event:g}=te(),{locale:p="us"}=me();return o("div",{className:N("tablet:px-8 laptop:px-16 bg-[#F5F5F7] px-4 py-6",{"p-4":i}),children:[o("button",{className:"flex w-full cursor-pointer items-center justify-between border-0 bg-transparent",onClick:()=>u(!i),"aria-expanded":i,"aria-label":d?.nick_name||r?.welcome,children:[o("div",{className:"flex items-center gap-[14px]",children:[e("div",{className:"flex size-[40px] shrink-0 items-center justify-center rounded-full bg-white",children:e(Ae,{"aria-hidden":"true"})}),e(k,{html:d?.nick_name||r?.welcome,className:"text-base font-bold leading-[1.4]"})]}),!d?.email&&e(xe,{"aria-hidden":"true",className:N("laptop:size-4 size-5",{"rotate-180":i})})]}),d?.email&&e("nav",{className:"mt-4",role:"navigation","aria-label":"Profile menu",children:r?.profiles?.map(l=>e(ue,{label:l?.title,href:ie(l?.url,p)},l.id))}),i&&!d?.email&&o("div",{className:"mt-4",children:[e(k,{html:r?.benefits_title,className:"text-sm font-bold leading-[1.4]"}),e("div",{className:"mt-2 flex flex-col gap-1",children:r?.benefits?.map(l=>o("div",{className:"flex items-center gap-[6px]",children:[e(pe,{source:l.benefitIcon?.url,className:"size-4",alt:l.benefit,width:16,height:16}),e(k,{html:l.benefit,className:"text-sm font-bold leading-[1.4]"})]},l.id))})]}),!d?.email&&o("div",{className:"mt-4 flex items-center gap-3",children:[e(ne,{className:"tablet:flex-none flex-1",variant:"secondary",size:"base",onClick:()=>g?.join?.(),children:e(k,{html:r?.primaryButton||"Join Now",className:"text-sm font-bold leading-[1.4]"})}),e(ne,{className:"tablet:flex-none flex-1",variant:"primary",size:"base",onClick:()=>g?.login?.(),children:e(k,{html:r?.secondaryButton||"Log In",className:"text-sm font-bold leading-[1.4]"})})]})]})},et=({menuOpen:r,onMenuOpenClose:i,onMenuOpenClick:u,actions:d})=>o("div",{className:"flex h-full items-center justify-between gap-4",children:[e(Se,{}),o("div",{className:"desktop:gap-6 flex items-center gap-4",children:[e(de,{actions:d}),r?e("button",{className:"cursor-pointer border-0 bg-transparent p-0",onClick:()=>i(),"aria-label":"Close menu","aria-expanded":"true",children:e(Ne,{className:"size-5","aria-hidden":"true"})}):e("button",{className:"cursor-pointer border-0 bg-transparent p-0",onClick:()=>u(),"aria-label":"Open menu","aria-expanded":"false","aria-haspopup":"true",children:e(Ie,{className:"size-5","aria-hidden":"true"})})]})]}),Se=()=>{const{payloadData:r,isMobile:i}=te(),{locale:u="us"}=me();return e("a",{href:ie("/",u),className:"hover:text-brand-0 [&>svg]:w-full","aria-label":"Home",dangerouslySetInnerHTML:{__html:i?r?.bar?.mobileLogo:r?.bar?.desktopLogo}})},de=ae(({actions:r,activeStatus:i=!1},u)=>{const{event:d,cartCount:g}=te(),[p,l]=S(null),n=a=>{switch(a){case x.Search:return"Search";case x.Cart:return`Shopping cart${g>0?` (${g} items)`:""}`;case x.Profile:return"User profile";case x.Livestream:return"Livestream";default:return"Action"}},T=re((a,m)=>{switch(l(m),a?.blockType){case x.Search:d?.search?.();break;case x.Cart:d?.cart?.();break;case x.Profile:d?.profile?.();break;case x.Livestream:d?.livestream?.();break;default:return()=>{}}},[d]);return e("div",{className:"desktop:gap-6 flex items-center gap-4",children:Array.isArray(r)&&r.map((a,m)=>{const E=a.blockType===x.Search,v=a.searchStyle??"icon";return E&&v==="capsule"?o(Le.Fragment,{children:[e("button",{className:"tablet:flex bg-container-primary hidden h-9 w-[200px] cursor-pointer items-center rounded-full border-0 px-2",onClick:()=>T(a,m),"aria-label":n(a.blockType),"aria-pressed":i&&p===m,children:e(k,{html:a.icon,className:N("size-5 shrink-0",{"text-brand-0":i&&p===m}),"aria-hidden":"true"})}),e("button",{className:"tablet:hidden relative cursor-pointer border-0 bg-transparent p-0",onClick:()=>T(a,m),"aria-label":n(a.blockType),"aria-pressed":i&&p===m,children:e(k,{html:a.icon,className:N("size-5",{"text-brand-0":i&&p===m}),"aria-hidden":"true"})})]},a.id):o("button",{className:"relative cursor-pointer border-0 bg-transparent p-0",ref:a.blockType===x.Profile?u:null,onClick:()=>T(a,m),"aria-label":n(a.blockType),"aria-pressed":i&&p===m,children:[e(k,{html:a.icon,className:N("size-5",{"text-brand-0":i&&p===m}),"aria-hidden":"true"}),a.blockType===x.Cart&&g>0&&e("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]","aria-hidden":"true",children:e(k,{html:g?.toString(),className:"text-sm font-bold leading-[1.2] text-white"})})]},a.id)})})}),Te=({title:r,onMenuOpenClose:i,onMenuBackClick:u})=>o("div",{className:"flex h-full items-center gap-3",children:[e("button",{className:"cursor-pointer border-0 bg-transparent p-0",onClick:()=>u(),"aria-label":"Back to previous menu",children:e(Oe,{className:"size-5","aria-hidden":"true"})}),e(k,{html:r,className:"flex-1 text-center text-base font-bold leading-[1.4]"}),e("button",{className:"cursor-pointer border-0 bg-transparent p-0",onClick:()=>i(),"aria-label":"Close menu",children:e(Ne,{className:"size-5","aria-hidden":"true"})})]});Me.displayName="MobileNavigation",de.displayName="Actions",Ce.displayName="HeaderNavigation",we.displayName="DesktopNavigation";var Tt=ze(Ce);export{Tt as default};
2
2
  //# sourceMappingURL=index.js.map