@anker-in/headless-ui 1.3.23 → 1.3.24-alpha.1782359463561

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 (619) hide show
  1. package/dist/cjs/biz-components/AccessoriesShelf/components/AccessoriesProductGrid/index.d.ts +11 -0
  2. package/dist/cjs/biz-components/AccessoriesShelf/components/AccessoriesProductGrid/index.js +2 -0
  3. package/dist/cjs/biz-components/AccessoriesShelf/components/AccessoriesProductGrid/index.js.map +7 -0
  4. package/dist/cjs/biz-components/AccessoriesShelf/components/AccessoryShelf/ProductCard.d.ts +23 -0
  5. package/dist/cjs/biz-components/AccessoriesShelf/components/AccessoryShelf/ProductCard.js +2 -0
  6. package/dist/cjs/biz-components/AccessoriesShelf/components/AccessoryShelf/ProductCard.js.map +7 -0
  7. package/dist/cjs/biz-components/AccessoriesShelf/components/AccessoryShelf/index.d.ts +40 -0
  8. package/dist/cjs/biz-components/AccessoriesShelf/components/AccessoryShelf/index.js +2 -0
  9. package/dist/cjs/biz-components/AccessoriesShelf/components/AccessoryShelf/index.js.map +7 -0
  10. package/dist/cjs/biz-components/AccessoriesShelf/components/AccessoryShelf/types.d.ts +103 -0
  11. package/dist/cjs/biz-components/AccessoriesShelf/components/AccessoryShelf/types.js +2 -0
  12. package/dist/cjs/biz-components/AccessoriesShelf/components/AccessoryShelf/types.js.map +7 -0
  13. package/dist/cjs/biz-components/AccessoriesShelf/components/MainProductArea/index.d.ts +22 -0
  14. package/dist/cjs/biz-components/AccessoriesShelf/components/MainProductArea/index.js +2 -0
  15. package/dist/cjs/biz-components/AccessoriesShelf/components/MainProductArea/index.js.map +7 -0
  16. package/dist/cjs/biz-components/AccessoriesShelf/components/PromoBanner/index.d.ts +10 -0
  17. package/dist/cjs/biz-components/AccessoriesShelf/components/PromoBanner/index.js +2 -0
  18. package/dist/cjs/biz-components/AccessoriesShelf/components/PromoBanner/index.js.map +7 -0
  19. package/dist/cjs/biz-components/AccessoriesShelf/components/SectionHeader/index.d.ts +9 -0
  20. package/dist/cjs/biz-components/AccessoriesShelf/components/SectionHeader/index.js +2 -0
  21. package/dist/cjs/biz-components/AccessoriesShelf/components/SectionHeader/index.js.map +7 -0
  22. package/dist/cjs/biz-components/AccessoriesShelf/index.d.ts +7 -0
  23. package/dist/cjs/biz-components/AccessoriesShelf/index.js +2 -0
  24. package/dist/cjs/biz-components/AccessoriesShelf/index.js.map +7 -0
  25. package/dist/cjs/biz-components/AccessoriesShelf/types.d.ts +16 -0
  26. package/dist/cjs/biz-components/AccessoriesShelf/types.js +2 -0
  27. package/dist/cjs/biz-components/AccessoriesShelf/types.js.map +7 -0
  28. package/dist/cjs/biz-components/AccordionCards/index.d.ts +1 -1
  29. package/dist/cjs/biz-components/AccordionCards/index.js +1 -1
  30. package/dist/cjs/biz-components/AccordionCards/index.js.map +2 -2
  31. package/dist/cjs/biz-components/ActiveShelf/index.d.ts +1 -1
  32. package/dist/cjs/biz-components/ActivityMechanism/index.js +1 -1
  33. package/dist/cjs/biz-components/ActivityMechanism/index.js.map +2 -2
  34. package/dist/cjs/biz-components/ActivitySchedule/index.d.ts +1 -1
  35. package/dist/cjs/biz-components/ActivitySchedule/index.js +1 -1
  36. package/dist/cjs/biz-components/ActivitySchedule/index.js.map +3 -3
  37. package/dist/cjs/biz-components/AiuiProvider/index.js +1 -1
  38. package/dist/cjs/biz-components/AiuiProvider/index.js.map +3 -3
  39. package/dist/cjs/biz-components/AnchorNavigation/index.d.ts +1 -1
  40. package/dist/cjs/biz-components/AnchorNavigation/index.js +1 -1
  41. package/dist/cjs/biz-components/AnchorNavigation/index.js.map +3 -3
  42. package/dist/cjs/biz-components/AplusDesc/index.d.ts +1 -1
  43. package/dist/cjs/biz-components/BrandCardLink/BrandCardLink.d.ts +1 -1
  44. package/dist/cjs/biz-components/BrandCardLink/BrandCardLink.js +1 -1
  45. package/dist/cjs/biz-components/BrandCardLink/BrandCardLink.js.map +3 -3
  46. package/dist/cjs/biz-components/BrandEquity/BrandEquity.d.ts +1 -1
  47. package/dist/cjs/biz-components/BrandEquity/BrandEquity.js +1 -1
  48. package/dist/cjs/biz-components/BrandEquity/BrandEquity.js.map +3 -3
  49. package/dist/cjs/biz-components/BuyOneGetOneShelf/FreeGiftItem.d.ts +1 -0
  50. package/dist/cjs/biz-components/BuyOneGetOneShelf/FreeGiftItem.js +1 -1
  51. package/dist/cjs/biz-components/BuyOneGetOneShelf/FreeGiftItem.js.map +3 -3
  52. package/dist/cjs/biz-components/BuyOneGetOneShelf/GiftSelection.d.ts +1 -0
  53. package/dist/cjs/biz-components/BuyOneGetOneShelf/GiftSelection.js +1 -1
  54. package/dist/cjs/biz-components/BuyOneGetOneShelf/GiftSelection.js.map +3 -3
  55. package/dist/cjs/biz-components/BuyOneGetOneShelf/ProductCard.js +1 -1
  56. package/dist/cjs/biz-components/BuyOneGetOneShelf/ProductCard.js.map +3 -3
  57. package/dist/cjs/biz-components/BuyOneGetOneShelf/context.d.ts +1 -0
  58. package/dist/cjs/biz-components/BuyOneGetOneShelf/context.js +1 -1
  59. package/dist/cjs/biz-components/BuyOneGetOneShelf/context.js.map +2 -2
  60. package/dist/cjs/biz-components/BuyOneGetOneShelf/index.js +1 -1
  61. package/dist/cjs/biz-components/BuyOneGetOneShelf/index.js.map +3 -3
  62. package/dist/cjs/biz-components/Category/SwiperCategory.js +1 -1
  63. package/dist/cjs/biz-components/Category/SwiperCategory.js.map +3 -3
  64. package/dist/cjs/biz-components/Category/index.d.ts +1 -1
  65. package/dist/cjs/biz-components/Category/index.js +1 -1
  66. package/dist/cjs/biz-components/Category/index.js.map +3 -3
  67. package/dist/cjs/biz-components/CreativeModule/index.d.ts +1 -1
  68. package/dist/cjs/biz-components/CreativeModule/index.js +1 -1
  69. package/dist/cjs/biz-components/CreativeModule/index.js.map +2 -2
  70. package/dist/cjs/biz-components/DownLoad/index.d.ts +1 -1
  71. package/dist/cjs/biz-components/Evaluate/index.d.ts +1 -1
  72. package/dist/cjs/biz-components/Evaluate/index.js +1 -1
  73. package/dist/cjs/biz-components/Evaluate/index.js.map +3 -3
  74. package/dist/cjs/biz-components/EventSchedule/index.d.ts +1 -1
  75. package/dist/cjs/biz-components/EventSchedule/index.js +1 -1
  76. package/dist/cjs/biz-components/EventSchedule/index.js.map +3 -3
  77. package/dist/cjs/biz-components/Faq/Faq.d.ts +3 -3
  78. package/dist/cjs/biz-components/Faq/Faq.js +10 -1
  79. package/dist/cjs/biz-components/Faq/Faq.js.map +3 -3
  80. package/dist/cjs/biz-components/FeatureCards/FeatureCards.d.ts +1 -1
  81. package/dist/cjs/biz-components/FeatureCards/FeatureCards.js +1 -1
  82. package/dist/cjs/biz-components/FeatureCards/FeatureCards.js.map +3 -3
  83. package/dist/cjs/biz-components/FeatureShowcase/FeatureShowcase.d.ts +1 -1
  84. package/dist/cjs/biz-components/FeaturedBlogPosts/index.d.ts +1 -1
  85. package/dist/cjs/biz-components/FeaturedBlogPosts/index.js +1 -1
  86. package/dist/cjs/biz-components/FeaturedBlogPosts/index.js.map +2 -2
  87. package/dist/cjs/biz-components/Features/index.d.ts +1 -1
  88. package/dist/cjs/biz-components/FootCharger/index.d.ts +1 -1
  89. package/dist/cjs/biz-components/FooterNavigation/index.d.ts +1 -1
  90. package/dist/cjs/biz-components/FooterNavigation/index.js +1 -1
  91. package/dist/cjs/biz-components/FooterNavigation/index.js.map +3 -3
  92. package/dist/cjs/biz-components/GiftBox/index.d.ts +1 -1
  93. package/dist/cjs/biz-components/GiftShelf/index.d.ts +1 -1
  94. package/dist/cjs/biz-components/GiftShelf/index.js +1 -1
  95. package/dist/cjs/biz-components/GiftShelf/index.js.map +2 -2
  96. package/dist/cjs/biz-components/GiftTierShelf/index.d.ts +1 -1
  97. package/dist/cjs/biz-components/Graphic/index.d.ts +1 -1
  98. package/dist/cjs/biz-components/Graphic/index.js +1 -1
  99. package/dist/cjs/biz-components/Graphic/index.js.map +3 -3
  100. package/dist/cjs/biz-components/GraphicAttractionBlock/index.d.ts +1 -1
  101. package/dist/cjs/biz-components/GraphicAttractionBlock/index.js +1 -1
  102. package/dist/cjs/biz-components/GraphicAttractionBlock/index.js.map +2 -2
  103. package/dist/cjs/biz-components/GraphicMore/index.js +1 -1
  104. package/dist/cjs/biz-components/GraphicMore/index.js.map +2 -2
  105. package/dist/cjs/biz-components/GraphicOverlay/GraphicOverlay.d.ts +2 -2
  106. package/dist/cjs/biz-components/GraphicOverlay/GraphicOverlay.js +1 -1
  107. package/dist/cjs/biz-components/GraphicOverlay/GraphicOverlay.js.map +3 -3
  108. package/dist/cjs/biz-components/HeaderNavigation/MobileTextLinksMenu.d.ts +12 -0
  109. package/dist/cjs/biz-components/HeaderNavigation/MobileTextLinksMenu.js +2 -0
  110. package/dist/cjs/biz-components/HeaderNavigation/MobileTextLinksMenu.js.map +7 -0
  111. package/dist/cjs/biz-components/HeaderNavigation/MulticolDropdown.js +1 -1
  112. package/dist/cjs/biz-components/HeaderNavigation/MulticolDropdown.js.map +2 -2
  113. package/dist/cjs/biz-components/HeaderNavigation/TextLinksDropdown.d.ts +10 -0
  114. package/dist/cjs/biz-components/HeaderNavigation/TextLinksDropdown.js +2 -0
  115. package/dist/cjs/biz-components/HeaderNavigation/TextLinksDropdown.js.map +7 -0
  116. package/dist/cjs/biz-components/HeaderNavigation/index.d.ts +1 -1
  117. package/dist/cjs/biz-components/HeaderNavigation/index.js +1 -1
  118. package/dist/cjs/biz-components/HeaderNavigation/index.js.map +3 -3
  119. package/dist/cjs/biz-components/HeaderNavigation/types.d.ts +11 -1
  120. package/dist/cjs/biz-components/HeaderNavigation/types.js +1 -1
  121. package/dist/cjs/biz-components/HeaderNavigation/types.js.map +2 -2
  122. package/dist/cjs/biz-components/HeaderNavigation/withCategory.d.ts +1 -0
  123. package/dist/cjs/biz-components/HeaderNavigation/withCategory.js +1 -1
  124. package/dist/cjs/biz-components/HeaderNavigation/withCategory.js.map +3 -3
  125. package/dist/cjs/biz-components/HeroBanner/HeroBanner.d.ts +1 -1
  126. package/dist/cjs/biz-components/HeroBanner/HeroBanner.js +1 -1
  127. package/dist/cjs/biz-components/HeroBanner/HeroBanner.js.map +3 -3
  128. package/dist/cjs/biz-components/HeroBanner/HeroBannerCarousel.js +1 -1
  129. package/dist/cjs/biz-components/HeroBanner/HeroBannerCarousel.js.map +3 -3
  130. package/dist/cjs/biz-components/ImageOverlayShelf/index.d.ts +1 -1
  131. package/dist/cjs/biz-components/ImageOverlayShelf/index.js +1 -1
  132. package/dist/cjs/biz-components/ImageOverlayShelf/index.js.map +2 -2
  133. package/dist/cjs/biz-components/ImageTextFeature/ImageTextFeature.d.ts +1 -1
  134. package/dist/cjs/biz-components/ImageTextOverlay/index.d.ts +1 -1
  135. package/dist/cjs/biz-components/ImageTextOverlay/index.js +2 -2
  136. package/dist/cjs/biz-components/ImageTextOverlay/index.js.map +3 -3
  137. package/dist/cjs/biz-components/ImageWithText/ImageWithText.d.ts +1 -1
  138. package/dist/cjs/biz-components/ImageWithText/ImageWithText.js +1 -1
  139. package/dist/cjs/biz-components/ImageWithText/ImageWithText.js.map +3 -3
  140. package/dist/cjs/biz-components/Ksp/index.d.ts +1 -1
  141. package/dist/cjs/biz-components/Ksp/index.js +1 -1
  142. package/dist/cjs/biz-components/Ksp/index.js.map +3 -3
  143. package/dist/cjs/biz-components/Listing/BizProductProvider.d.ts +3 -1
  144. package/dist/cjs/biz-components/Listing/BizProductProvider.js +1 -1
  145. package/dist/cjs/biz-components/Listing/BizProductProvider.js.map +3 -3
  146. package/dist/cjs/biz-components/Listing/components/CartActionButtons/index.d.ts +9 -1
  147. package/dist/cjs/biz-components/Listing/components/CartActionButtons/index.js +1 -1
  148. package/dist/cjs/biz-components/Listing/components/CartActionButtons/index.js.map +3 -3
  149. package/dist/cjs/biz-components/Listing/components/PaidShipping/index.d.ts +1 -1
  150. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.d.ts +1 -1
  151. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.d.ts +1 -1
  152. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.d.ts +1 -1
  153. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.d.ts +1 -1
  154. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.d.ts +1 -1
  155. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.d.ts +1 -1
  156. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/index.d.ts +1 -1
  157. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductPaidShipping/index.d.ts +1 -1
  158. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductSummary/index.d.ts +1 -1
  159. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductSummary/index.js +1 -1
  160. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductSummary/index.js.map +3 -3
  161. package/dist/cjs/biz-components/Listing/components/PurchaseBar/ProductActions/index.js +1 -1
  162. package/dist/cjs/biz-components/Listing/components/PurchaseBar/ProductActions/index.js.map +3 -3
  163. package/dist/cjs/biz-components/Listing/components/PurchaseBar/index.d.ts +1 -1
  164. package/dist/cjs/biz-components/LotteryShared/ErrorModal.d.ts +4 -0
  165. package/dist/cjs/biz-components/LotteryShared/ErrorModal.js.map +2 -2
  166. package/dist/cjs/biz-components/LotteryShared/MyRewardsModal.d.ts +13 -13
  167. package/dist/cjs/biz-components/LotteryShared/MyRewardsModal.js +1 -1
  168. package/dist/cjs/biz-components/LotteryShared/MyRewardsModal.js.map +3 -3
  169. package/dist/cjs/biz-components/LotteryShared/types.d.ts +9 -0
  170. package/dist/cjs/biz-components/LotteryShared/types.js.map +2 -2
  171. package/dist/cjs/biz-components/Marquee/Marquee.d.ts +1 -1
  172. package/dist/cjs/biz-components/MarqueeReview/index.d.ts +1 -1
  173. package/dist/cjs/biz-components/Media/index.js +1 -1
  174. package/dist/cjs/biz-components/Media/index.js.map +3 -3
  175. package/dist/cjs/biz-components/MediaEndorsement/index.d.ts +1 -1
  176. package/dist/cjs/biz-components/MediaEndorsement/index.js +2 -2
  177. package/dist/cjs/biz-components/MediaEndorsement/index.js.map +3 -3
  178. package/dist/cjs/biz-components/MediaPlayerBase/index.d.ts +1 -1
  179. package/dist/cjs/biz-components/MediaPlayerBase/index.js +1 -1
  180. package/dist/cjs/biz-components/MediaPlayerBase/index.js.map +3 -3
  181. package/dist/cjs/biz-components/MediaPlayerMulti/index.d.ts +1 -1
  182. package/dist/cjs/biz-components/MediaPlayerMulti/index.js +1 -1
  183. package/dist/cjs/biz-components/MediaPlayerMulti/index.js.map +3 -3
  184. package/dist/cjs/biz-components/MediaPlayerSticky/index.d.ts +1 -1
  185. package/dist/cjs/biz-components/MediaPlayerSticky/index.js +1 -1
  186. package/dist/cjs/biz-components/MediaPlayerSticky/index.js.map +3 -3
  187. package/dist/cjs/biz-components/MediaSceneSwitcher/MediaSceneSwitcher.d.ts +1 -1
  188. package/dist/cjs/biz-components/MediaSceneSwitcher/MediaSceneSwitcher.js +2 -2
  189. package/dist/cjs/biz-components/MediaSceneSwitcher/MediaSceneSwitcher.js.map +3 -3
  190. package/dist/cjs/biz-components/MediaSceneSwitcherV2/index.d.ts +1 -1
  191. package/dist/cjs/biz-components/MediaSceneSwitcherV2/index.js +1 -1
  192. package/dist/cjs/biz-components/MediaSceneSwitcherV2/index.js.map +3 -3
  193. package/dist/cjs/biz-components/MediaShelf/index.d.ts +1 -1
  194. package/dist/cjs/biz-components/MediaTextOverlay/MediaTextOverlay.d.ts +1 -1
  195. package/dist/cjs/biz-components/MediaTextOverlay/MediaTextOverlay.js +1 -1
  196. package/dist/cjs/biz-components/MediaTextOverlay/MediaTextOverlay.js.map +3 -3
  197. package/dist/cjs/biz-components/MemberEquity/index.d.ts +1 -1
  198. package/dist/cjs/biz-components/MemberEquity/index.js +2 -2
  199. package/dist/cjs/biz-components/MemberEquity/index.js.map +3 -3
  200. package/dist/cjs/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.d.ts +2 -2
  201. package/dist/cjs/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js +1 -1
  202. package/dist/cjs/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js.map +3 -3
  203. package/dist/cjs/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlockCarousel.js +1 -1
  204. package/dist/cjs/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlockCarousel.js.map +2 -2
  205. package/dist/cjs/biz-components/NavigationSearch/index.d.ts +1 -1
  206. package/dist/cjs/biz-components/NavigationSearch/index.js +2 -2
  207. package/dist/cjs/biz-components/NavigationSearch/index.js.map +2 -2
  208. package/dist/cjs/biz-components/NotifyMeDialog/NotifyMeDialog.d.ts +7 -0
  209. package/dist/cjs/biz-components/NotifyMeDialog/NotifyMeDialog.js +2 -0
  210. package/dist/cjs/biz-components/NotifyMeDialog/NotifyMeDialog.js.map +7 -0
  211. package/dist/cjs/biz-components/NotifyMeDialog/index.d.ts +2 -0
  212. package/dist/cjs/biz-components/NotifyMeDialog/index.js +2 -0
  213. package/dist/cjs/biz-components/NotifyMeDialog/index.js.map +7 -0
  214. package/dist/cjs/biz-components/NotifyMeDialog/types.d.ts +111 -0
  215. package/dist/cjs/biz-components/NotifyMeDialog/types.js +2 -0
  216. package/dist/cjs/biz-components/NotifyMeDialog/types.js.map +7 -0
  217. package/dist/cjs/biz-components/ProductCompare/index.d.ts +1 -1
  218. package/dist/cjs/biz-components/ProductCompare/index.js +1 -1
  219. package/dist/cjs/biz-components/ProductCompare/index.js.map +2 -2
  220. package/dist/cjs/biz-components/ProductHero/ProductHero.d.ts +1 -1
  221. package/dist/cjs/biz-components/ProductHero/ProductHero.js +1 -1
  222. package/dist/cjs/biz-components/ProductHero/ProductHero.js.map +3 -3
  223. package/dist/cjs/biz-components/ProductLottery/types.d.ts +62 -5
  224. package/dist/cjs/biz-components/ProductLottery/types.js +1 -1
  225. package/dist/cjs/biz-components/ProductLottery/types.js.map +2 -2
  226. package/dist/cjs/biz-components/ProductNav/ProductNav.d.ts +1 -1
  227. package/dist/cjs/biz-components/ProductNav/ProductNav.js +1 -1
  228. package/dist/cjs/biz-components/ProductNav/ProductNav.js.map +3 -3
  229. package/dist/cjs/biz-components/PromotionalBar/index.d.ts +1 -1
  230. package/dist/cjs/biz-components/PromotionalBar/index.js +1 -1
  231. package/dist/cjs/biz-components/PromotionalBar/index.js.map +3 -3
  232. package/dist/cjs/biz-components/SceneShelfV2/index.d.ts +1 -1
  233. package/dist/cjs/biz-components/SceneShelfV3/index.d.ts +1 -1
  234. package/dist/cjs/biz-components/SearchPage/index.js +1 -1
  235. package/dist/cjs/biz-components/SearchPage/index.js.map +3 -3
  236. package/dist/cjs/biz-components/SecondaryBanner/index.d.ts +1 -1
  237. package/dist/cjs/biz-components/SecondaryBanner/index.js +1 -1
  238. package/dist/cjs/biz-components/SecondaryBanner/index.js.map +2 -2
  239. package/dist/cjs/biz-components/SelectStore/index.d.ts +1 -1
  240. package/dist/cjs/biz-components/ShelfDisplay/index.d.ts +1 -1
  241. package/dist/cjs/biz-components/ShelfDisplay/shelfDisplayItem.js +1 -1
  242. package/dist/cjs/biz-components/ShelfDisplay/shelfDisplayItem.js.map +2 -2
  243. package/dist/cjs/biz-components/Slogan/index.d.ts +1 -1
  244. package/dist/cjs/biz-components/Spacer/index.d.ts +1 -1
  245. package/dist/cjs/biz-components/Specs/index.d.ts +1 -1
  246. package/dist/cjs/biz-components/Specs/index.js +1 -1
  247. package/dist/cjs/biz-components/Specs/index.js.map +3 -3
  248. package/dist/cjs/biz-components/SpecsComparison/SpecsComparison.d.ts +1 -1
  249. package/dist/cjs/biz-components/Subscribe/index.js +1 -1
  250. package/dist/cjs/biz-components/Subscribe/index.js.map +2 -2
  251. package/dist/cjs/biz-components/SwiperBox/index.js +1 -1
  252. package/dist/cjs/biz-components/SwiperBox/index.js.map +3 -3
  253. package/dist/cjs/biz-components/TabWithImage/TabWithImage.d.ts +1 -1
  254. package/dist/cjs/biz-components/Tabs/Tabs.d.ts +1 -1
  255. package/dist/cjs/biz-components/TabsGroup/index.d.ts +1 -1
  256. package/dist/cjs/biz-components/TabsWithMedia/TabsWithMedia.d.ts +1 -1
  257. package/dist/cjs/biz-components/TabsWithMedia/TabsWithMedia.js +1 -1
  258. package/dist/cjs/biz-components/TabsWithMedia/TabsWithMedia.js.map +3 -3
  259. package/dist/cjs/biz-components/ThreeDCarousel/ThreeDCarousel.d.ts +1 -1
  260. package/dist/cjs/biz-components/ThreeDCarousel/ThreeDCarousel.js +1 -1
  261. package/dist/cjs/biz-components/ThreeDCarousel/ThreeDCarousel.js.map +3 -3
  262. package/dist/cjs/biz-components/Title/index.d.ts +1 -1
  263. package/dist/cjs/biz-components/Title/index.js +1 -1
  264. package/dist/cjs/biz-components/Title/index.js.map +3 -3
  265. package/dist/cjs/biz-components/VideoFeature/VideoFeature.d.ts +1 -1
  266. package/dist/cjs/biz-components/VideoModal/index.d.ts +1 -0
  267. package/dist/cjs/biz-components/VideoModal/index.js +1 -1
  268. package/dist/cjs/biz-components/VideoModal/index.js.map +3 -3
  269. package/dist/cjs/biz-components/WheelLottery/index.js +1 -1
  270. package/dist/cjs/biz-components/WheelLottery/index.js.map +3 -3
  271. package/dist/cjs/biz-components/WhyChoose/WhyChoose.d.ts +1 -1
  272. package/dist/cjs/biz-components/index.d.ts +10 -0
  273. package/dist/cjs/biz-components/index.js +1 -1
  274. package/dist/cjs/biz-components/index.js.map +3 -3
  275. package/dist/cjs/components/Countdown.js +1 -1
  276. package/dist/cjs/components/Countdown.js.map +3 -3
  277. package/dist/cjs/components/breadcrumb.d.ts +12 -0
  278. package/dist/cjs/components/breadcrumb.js +2 -0
  279. package/dist/cjs/components/breadcrumb.js.map +7 -0
  280. package/dist/cjs/components/index.d.ts +4 -0
  281. package/dist/cjs/components/index.js +1 -1
  282. package/dist/cjs/components/index.js.map +3 -3
  283. package/dist/cjs/components/input-number.d.ts +22 -0
  284. package/dist/cjs/components/input-number.js +1 -1
  285. package/dist/cjs/components/input-number.js.map +3 -3
  286. package/dist/cjs/components/link.js +1 -1
  287. package/dist/cjs/components/link.js.map +2 -2
  288. package/dist/cjs/components/toast.d.ts +25 -0
  289. package/dist/cjs/components/toast.js +2 -0
  290. package/dist/cjs/components/toast.js.map +7 -0
  291. package/dist/cjs/helpers/index.d.ts +1 -1
  292. package/dist/cjs/helpers/index.js +1 -1
  293. package/dist/cjs/helpers/index.js.map +2 -2
  294. package/dist/cjs/helpers/isLexicalEmpty.d.ts +5 -0
  295. package/dist/cjs/helpers/isLexicalEmpty.js +1 -1
  296. package/dist/cjs/helpers/isLexicalEmpty.js.map +3 -3
  297. package/dist/cjs/helpers/priceFormatting.js +1 -1
  298. package/dist/cjs/helpers/priceFormatting.js.map +2 -2
  299. package/dist/cjs/hooks/useIsomorphicMediaQuery.d.ts +14 -0
  300. package/dist/cjs/hooks/useIsomorphicMediaQuery.js +2 -0
  301. package/dist/cjs/hooks/useIsomorphicMediaQuery.js.map +7 -0
  302. package/dist/cjs/hooks/useProductListTrack.d.ts +43 -0
  303. package/dist/cjs/hooks/useProductListTrack.js +2 -0
  304. package/dist/cjs/hooks/useProductListTrack.js.map +7 -0
  305. package/dist/cjs/index.d.ts +10 -0
  306. package/dist/cjs/index.js +1 -1
  307. package/dist/cjs/index.js.map +3 -3
  308. package/dist/cjs/shared/Styles.js +1 -1
  309. package/dist/cjs/shared/Styles.js.map +3 -3
  310. package/dist/esm/biz-components/AccessoriesShelf/components/AccessoriesProductGrid/index.d.ts +11 -0
  311. package/dist/esm/biz-components/AccessoriesShelf/components/AccessoriesProductGrid/index.js +2 -0
  312. package/dist/esm/biz-components/AccessoriesShelf/components/AccessoriesProductGrid/index.js.map +7 -0
  313. package/dist/esm/biz-components/AccessoriesShelf/components/AccessoryShelf/ProductCard.d.ts +23 -0
  314. package/dist/esm/biz-components/AccessoriesShelf/components/AccessoryShelf/ProductCard.js +2 -0
  315. package/dist/esm/biz-components/AccessoriesShelf/components/AccessoryShelf/ProductCard.js.map +7 -0
  316. package/dist/esm/biz-components/AccessoriesShelf/components/AccessoryShelf/index.d.ts +40 -0
  317. package/dist/esm/biz-components/AccessoriesShelf/components/AccessoryShelf/index.js +2 -0
  318. package/dist/esm/biz-components/AccessoriesShelf/components/AccessoryShelf/index.js.map +7 -0
  319. package/dist/esm/biz-components/AccessoriesShelf/components/AccessoryShelf/types.d.ts +103 -0
  320. package/dist/esm/biz-components/AccessoriesShelf/components/AccessoryShelf/types.js +1 -0
  321. package/dist/esm/biz-components/AccessoriesShelf/components/AccessoryShelf/types.js.map +7 -0
  322. package/dist/esm/biz-components/AccessoriesShelf/components/MainProductArea/index.d.ts +22 -0
  323. package/dist/esm/biz-components/AccessoriesShelf/components/MainProductArea/index.js +2 -0
  324. package/dist/esm/biz-components/AccessoriesShelf/components/MainProductArea/index.js.map +7 -0
  325. package/dist/esm/biz-components/AccessoriesShelf/components/PromoBanner/index.d.ts +10 -0
  326. package/dist/esm/biz-components/AccessoriesShelf/components/PromoBanner/index.js +2 -0
  327. package/dist/esm/biz-components/AccessoriesShelf/components/PromoBanner/index.js.map +7 -0
  328. package/dist/esm/biz-components/AccessoriesShelf/components/SectionHeader/index.d.ts +9 -0
  329. package/dist/esm/biz-components/AccessoriesShelf/components/SectionHeader/index.js +2 -0
  330. package/dist/esm/biz-components/AccessoriesShelf/components/SectionHeader/index.js.map +7 -0
  331. package/dist/esm/biz-components/AccessoriesShelf/index.d.ts +7 -0
  332. package/dist/esm/biz-components/AccessoriesShelf/index.js +2 -0
  333. package/dist/esm/biz-components/AccessoriesShelf/index.js.map +7 -0
  334. package/dist/esm/biz-components/AccessoriesShelf/types.d.ts +16 -0
  335. package/dist/esm/biz-components/AccessoriesShelf/types.js +1 -0
  336. package/dist/esm/biz-components/AccessoriesShelf/types.js.map +7 -0
  337. package/dist/esm/biz-components/AccordionCards/index.d.ts +1 -1
  338. package/dist/esm/biz-components/AccordionCards/index.js +1 -1
  339. package/dist/esm/biz-components/AccordionCards/index.js.map +2 -2
  340. package/dist/esm/biz-components/ActiveShelf/index.d.ts +1 -1
  341. package/dist/esm/biz-components/ActivityMechanism/index.js +1 -1
  342. package/dist/esm/biz-components/ActivityMechanism/index.js.map +3 -3
  343. package/dist/esm/biz-components/ActivitySchedule/index.d.ts +1 -1
  344. package/dist/esm/biz-components/ActivitySchedule/index.js +1 -1
  345. package/dist/esm/biz-components/ActivitySchedule/index.js.map +3 -3
  346. package/dist/esm/biz-components/AiuiProvider/index.js +1 -1
  347. package/dist/esm/biz-components/AiuiProvider/index.js.map +3 -3
  348. package/dist/esm/biz-components/AnchorNavigation/index.d.ts +1 -1
  349. package/dist/esm/biz-components/AnchorNavigation/index.js +1 -1
  350. package/dist/esm/biz-components/AnchorNavigation/index.js.map +3 -3
  351. package/dist/esm/biz-components/AplusDesc/index.d.ts +1 -1
  352. package/dist/esm/biz-components/BrandCardLink/BrandCardLink.d.ts +1 -1
  353. package/dist/esm/biz-components/BrandCardLink/BrandCardLink.js +1 -1
  354. package/dist/esm/biz-components/BrandCardLink/BrandCardLink.js.map +3 -3
  355. package/dist/esm/biz-components/BrandEquity/BrandEquity.d.ts +1 -1
  356. package/dist/esm/biz-components/BrandEquity/BrandEquity.js +1 -1
  357. package/dist/esm/biz-components/BrandEquity/BrandEquity.js.map +3 -3
  358. package/dist/esm/biz-components/BuyOneGetOneShelf/FreeGiftItem.d.ts +1 -0
  359. package/dist/esm/biz-components/BuyOneGetOneShelf/FreeGiftItem.js +1 -1
  360. package/dist/esm/biz-components/BuyOneGetOneShelf/FreeGiftItem.js.map +3 -3
  361. package/dist/esm/biz-components/BuyOneGetOneShelf/GiftSelection.d.ts +1 -0
  362. package/dist/esm/biz-components/BuyOneGetOneShelf/GiftSelection.js +1 -1
  363. package/dist/esm/biz-components/BuyOneGetOneShelf/GiftSelection.js.map +3 -3
  364. package/dist/esm/biz-components/BuyOneGetOneShelf/ProductCard.js +1 -1
  365. package/dist/esm/biz-components/BuyOneGetOneShelf/ProductCard.js.map +3 -3
  366. package/dist/esm/biz-components/BuyOneGetOneShelf/context.d.ts +1 -0
  367. package/dist/esm/biz-components/BuyOneGetOneShelf/context.js +1 -1
  368. package/dist/esm/biz-components/BuyOneGetOneShelf/context.js.map +2 -2
  369. package/dist/esm/biz-components/BuyOneGetOneShelf/index.js +1 -1
  370. package/dist/esm/biz-components/BuyOneGetOneShelf/index.js.map +3 -3
  371. package/dist/esm/biz-components/Category/SwiperCategory.js +1 -1
  372. package/dist/esm/biz-components/Category/SwiperCategory.js.map +3 -3
  373. package/dist/esm/biz-components/Category/index.d.ts +1 -1
  374. package/dist/esm/biz-components/Category/index.js +1 -1
  375. package/dist/esm/biz-components/Category/index.js.map +3 -3
  376. package/dist/esm/biz-components/CreativeModule/index.d.ts +1 -1
  377. package/dist/esm/biz-components/CreativeModule/index.js +1 -1
  378. package/dist/esm/biz-components/CreativeModule/index.js.map +2 -2
  379. package/dist/esm/biz-components/DownLoad/index.d.ts +1 -1
  380. package/dist/esm/biz-components/Evaluate/index.d.ts +1 -1
  381. package/dist/esm/biz-components/Evaluate/index.js +1 -1
  382. package/dist/esm/biz-components/Evaluate/index.js.map +3 -3
  383. package/dist/esm/biz-components/EventSchedule/index.d.ts +1 -1
  384. package/dist/esm/biz-components/EventSchedule/index.js +1 -1
  385. package/dist/esm/biz-components/EventSchedule/index.js.map +3 -3
  386. package/dist/esm/biz-components/Faq/Faq.d.ts +3 -3
  387. package/dist/esm/biz-components/Faq/Faq.js +10 -1
  388. package/dist/esm/biz-components/Faq/Faq.js.map +3 -3
  389. package/dist/esm/biz-components/FeatureCards/FeatureCards.d.ts +1 -1
  390. package/dist/esm/biz-components/FeatureCards/FeatureCards.js +1 -1
  391. package/dist/esm/biz-components/FeatureCards/FeatureCards.js.map +3 -3
  392. package/dist/esm/biz-components/FeatureShowcase/FeatureShowcase.d.ts +1 -1
  393. package/dist/esm/biz-components/FeaturedBlogPosts/index.d.ts +1 -1
  394. package/dist/esm/biz-components/FeaturedBlogPosts/index.js +1 -1
  395. package/dist/esm/biz-components/FeaturedBlogPosts/index.js.map +2 -2
  396. package/dist/esm/biz-components/Features/index.d.ts +1 -1
  397. package/dist/esm/biz-components/FootCharger/index.d.ts +1 -1
  398. package/dist/esm/biz-components/FooterNavigation/index.d.ts +1 -1
  399. package/dist/esm/biz-components/FooterNavigation/index.js +1 -1
  400. package/dist/esm/biz-components/FooterNavigation/index.js.map +3 -3
  401. package/dist/esm/biz-components/GiftBox/index.d.ts +1 -1
  402. package/dist/esm/biz-components/GiftShelf/index.d.ts +1 -1
  403. package/dist/esm/biz-components/GiftShelf/index.js +1 -1
  404. package/dist/esm/biz-components/GiftShelf/index.js.map +2 -2
  405. package/dist/esm/biz-components/GiftTierShelf/index.d.ts +1 -1
  406. package/dist/esm/biz-components/Graphic/index.d.ts +1 -1
  407. package/dist/esm/biz-components/Graphic/index.js +1 -1
  408. package/dist/esm/biz-components/Graphic/index.js.map +3 -3
  409. package/dist/esm/biz-components/GraphicAttractionBlock/index.d.ts +1 -1
  410. package/dist/esm/biz-components/GraphicAttractionBlock/index.js +1 -1
  411. package/dist/esm/biz-components/GraphicAttractionBlock/index.js.map +2 -2
  412. package/dist/esm/biz-components/GraphicMore/index.js +1 -1
  413. package/dist/esm/biz-components/GraphicMore/index.js.map +2 -2
  414. package/dist/esm/biz-components/GraphicOverlay/GraphicOverlay.d.ts +2 -2
  415. package/dist/esm/biz-components/GraphicOverlay/GraphicOverlay.js +1 -1
  416. package/dist/esm/biz-components/GraphicOverlay/GraphicOverlay.js.map +3 -3
  417. package/dist/esm/biz-components/HeaderNavigation/MobileTextLinksMenu.d.ts +12 -0
  418. package/dist/esm/biz-components/HeaderNavigation/MobileTextLinksMenu.js +2 -0
  419. package/dist/esm/biz-components/HeaderNavigation/MobileTextLinksMenu.js.map +7 -0
  420. package/dist/esm/biz-components/HeaderNavigation/MulticolDropdown.js +1 -1
  421. package/dist/esm/biz-components/HeaderNavigation/MulticolDropdown.js.map +2 -2
  422. package/dist/esm/biz-components/HeaderNavigation/TextLinksDropdown.d.ts +10 -0
  423. package/dist/esm/biz-components/HeaderNavigation/TextLinksDropdown.js +2 -0
  424. package/dist/esm/biz-components/HeaderNavigation/TextLinksDropdown.js.map +7 -0
  425. package/dist/esm/biz-components/HeaderNavigation/index.d.ts +1 -1
  426. package/dist/esm/biz-components/HeaderNavigation/index.js +1 -1
  427. package/dist/esm/biz-components/HeaderNavigation/index.js.map +3 -3
  428. package/dist/esm/biz-components/HeaderNavigation/types.d.ts +11 -1
  429. package/dist/esm/biz-components/HeaderNavigation/types.js +1 -1
  430. package/dist/esm/biz-components/HeaderNavigation/types.js.map +2 -2
  431. package/dist/esm/biz-components/HeaderNavigation/withCategory.d.ts +1 -0
  432. package/dist/esm/biz-components/HeaderNavigation/withCategory.js +1 -1
  433. package/dist/esm/biz-components/HeaderNavigation/withCategory.js.map +3 -3
  434. package/dist/esm/biz-components/HeroBanner/HeroBanner.d.ts +1 -1
  435. package/dist/esm/biz-components/HeroBanner/HeroBanner.js +1 -1
  436. package/dist/esm/biz-components/HeroBanner/HeroBanner.js.map +3 -3
  437. package/dist/esm/biz-components/HeroBanner/HeroBannerCarousel.js +1 -1
  438. package/dist/esm/biz-components/HeroBanner/HeroBannerCarousel.js.map +3 -3
  439. package/dist/esm/biz-components/ImageOverlayShelf/index.d.ts +1 -1
  440. package/dist/esm/biz-components/ImageOverlayShelf/index.js +1 -1
  441. package/dist/esm/biz-components/ImageOverlayShelf/index.js.map +2 -2
  442. package/dist/esm/biz-components/ImageTextFeature/ImageTextFeature.d.ts +1 -1
  443. package/dist/esm/biz-components/ImageTextOverlay/index.d.ts +1 -1
  444. package/dist/esm/biz-components/ImageTextOverlay/index.js +2 -2
  445. package/dist/esm/biz-components/ImageTextOverlay/index.js.map +3 -3
  446. package/dist/esm/biz-components/ImageWithText/ImageWithText.d.ts +1 -1
  447. package/dist/esm/biz-components/ImageWithText/ImageWithText.js +1 -1
  448. package/dist/esm/biz-components/ImageWithText/ImageWithText.js.map +3 -3
  449. package/dist/esm/biz-components/Ksp/index.d.ts +1 -1
  450. package/dist/esm/biz-components/Ksp/index.js +1 -1
  451. package/dist/esm/biz-components/Ksp/index.js.map +3 -3
  452. package/dist/esm/biz-components/Listing/BizProductProvider.d.ts +3 -1
  453. package/dist/esm/biz-components/Listing/BizProductProvider.js +1 -1
  454. package/dist/esm/biz-components/Listing/BizProductProvider.js.map +3 -3
  455. package/dist/esm/biz-components/Listing/components/CartActionButtons/index.d.ts +9 -1
  456. package/dist/esm/biz-components/Listing/components/CartActionButtons/index.js +1 -1
  457. package/dist/esm/biz-components/Listing/components/CartActionButtons/index.js.map +3 -3
  458. package/dist/esm/biz-components/Listing/components/PaidShipping/index.d.ts +1 -1
  459. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.d.ts +1 -1
  460. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.d.ts +1 -1
  461. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.d.ts +1 -1
  462. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.d.ts +1 -1
  463. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.d.ts +1 -1
  464. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.d.ts +1 -1
  465. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/index.d.ts +1 -1
  466. package/dist/esm/biz-components/Listing/components/ProductCard/ProductPaidShipping/index.d.ts +1 -1
  467. package/dist/esm/biz-components/Listing/components/ProductCard/ProductSummary/index.d.ts +1 -1
  468. package/dist/esm/biz-components/Listing/components/ProductCard/ProductSummary/index.js +1 -1
  469. package/dist/esm/biz-components/Listing/components/ProductCard/ProductSummary/index.js.map +3 -3
  470. package/dist/esm/biz-components/Listing/components/PurchaseBar/ProductActions/index.js +1 -1
  471. package/dist/esm/biz-components/Listing/components/PurchaseBar/ProductActions/index.js.map +3 -3
  472. package/dist/esm/biz-components/Listing/components/PurchaseBar/index.d.ts +1 -1
  473. package/dist/esm/biz-components/LotteryShared/ErrorModal.d.ts +4 -0
  474. package/dist/esm/biz-components/LotteryShared/ErrorModal.js.map +2 -2
  475. package/dist/esm/biz-components/LotteryShared/MyRewardsModal.d.ts +13 -13
  476. package/dist/esm/biz-components/LotteryShared/MyRewardsModal.js +1 -1
  477. package/dist/esm/biz-components/LotteryShared/MyRewardsModal.js.map +3 -3
  478. package/dist/esm/biz-components/LotteryShared/types.d.ts +9 -0
  479. package/dist/esm/biz-components/LotteryShared/types.js.map +2 -2
  480. package/dist/esm/biz-components/Marquee/Marquee.d.ts +1 -1
  481. package/dist/esm/biz-components/MarqueeReview/index.d.ts +1 -1
  482. package/dist/esm/biz-components/Media/index.js +1 -1
  483. package/dist/esm/biz-components/Media/index.js.map +3 -3
  484. package/dist/esm/biz-components/MediaEndorsement/index.d.ts +1 -1
  485. package/dist/esm/biz-components/MediaEndorsement/index.js +2 -2
  486. package/dist/esm/biz-components/MediaEndorsement/index.js.map +3 -3
  487. package/dist/esm/biz-components/MediaPlayerBase/index.d.ts +1 -1
  488. package/dist/esm/biz-components/MediaPlayerBase/index.js +1 -1
  489. package/dist/esm/biz-components/MediaPlayerBase/index.js.map +3 -3
  490. package/dist/esm/biz-components/MediaPlayerMulti/index.d.ts +1 -1
  491. package/dist/esm/biz-components/MediaPlayerMulti/index.js +1 -1
  492. package/dist/esm/biz-components/MediaPlayerMulti/index.js.map +3 -3
  493. package/dist/esm/biz-components/MediaPlayerSticky/index.d.ts +1 -1
  494. package/dist/esm/biz-components/MediaPlayerSticky/index.js +1 -1
  495. package/dist/esm/biz-components/MediaPlayerSticky/index.js.map +3 -3
  496. package/dist/esm/biz-components/MediaSceneSwitcher/MediaSceneSwitcher.d.ts +1 -1
  497. package/dist/esm/biz-components/MediaSceneSwitcher/MediaSceneSwitcher.js +2 -2
  498. package/dist/esm/biz-components/MediaSceneSwitcher/MediaSceneSwitcher.js.map +3 -3
  499. package/dist/esm/biz-components/MediaSceneSwitcherV2/index.d.ts +1 -1
  500. package/dist/esm/biz-components/MediaSceneSwitcherV2/index.js +1 -1
  501. package/dist/esm/biz-components/MediaSceneSwitcherV2/index.js.map +3 -3
  502. package/dist/esm/biz-components/MediaShelf/index.d.ts +1 -1
  503. package/dist/esm/biz-components/MediaTextOverlay/MediaTextOverlay.d.ts +1 -1
  504. package/dist/esm/biz-components/MediaTextOverlay/MediaTextOverlay.js +1 -1
  505. package/dist/esm/biz-components/MediaTextOverlay/MediaTextOverlay.js.map +3 -3
  506. package/dist/esm/biz-components/MemberEquity/index.d.ts +1 -1
  507. package/dist/esm/biz-components/MemberEquity/index.js +2 -2
  508. package/dist/esm/biz-components/MemberEquity/index.js.map +3 -3
  509. package/dist/esm/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.d.ts +2 -2
  510. package/dist/esm/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js +1 -1
  511. package/dist/esm/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js.map +3 -3
  512. package/dist/esm/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlockCarousel.js +1 -1
  513. package/dist/esm/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlockCarousel.js.map +2 -2
  514. package/dist/esm/biz-components/NavigationSearch/index.d.ts +1 -1
  515. package/dist/esm/biz-components/NavigationSearch/index.js +2 -2
  516. package/dist/esm/biz-components/NavigationSearch/index.js.map +3 -3
  517. package/dist/esm/biz-components/NotifyMeDialog/NotifyMeDialog.d.ts +7 -0
  518. package/dist/esm/biz-components/NotifyMeDialog/NotifyMeDialog.js +2 -0
  519. package/dist/esm/biz-components/NotifyMeDialog/NotifyMeDialog.js.map +7 -0
  520. package/dist/esm/biz-components/NotifyMeDialog/index.d.ts +2 -0
  521. package/dist/esm/biz-components/NotifyMeDialog/index.js +2 -0
  522. package/dist/esm/biz-components/NotifyMeDialog/index.js.map +7 -0
  523. package/dist/esm/biz-components/NotifyMeDialog/types.d.ts +111 -0
  524. package/dist/esm/biz-components/NotifyMeDialog/types.js +1 -0
  525. package/dist/esm/biz-components/NotifyMeDialog/types.js.map +7 -0
  526. package/dist/esm/biz-components/ProductCompare/index.d.ts +1 -1
  527. package/dist/esm/biz-components/ProductCompare/index.js +1 -1
  528. package/dist/esm/biz-components/ProductCompare/index.js.map +2 -2
  529. package/dist/esm/biz-components/ProductHero/ProductHero.d.ts +1 -1
  530. package/dist/esm/biz-components/ProductHero/ProductHero.js +1 -1
  531. package/dist/esm/biz-components/ProductHero/ProductHero.js.map +3 -3
  532. package/dist/esm/biz-components/ProductLottery/types.d.ts +62 -5
  533. package/dist/esm/biz-components/ProductLottery/types.js.map +2 -2
  534. package/dist/esm/biz-components/ProductNav/ProductNav.d.ts +1 -1
  535. package/dist/esm/biz-components/ProductNav/ProductNav.js +1 -1
  536. package/dist/esm/biz-components/ProductNav/ProductNav.js.map +3 -3
  537. package/dist/esm/biz-components/PromotionalBar/index.d.ts +1 -1
  538. package/dist/esm/biz-components/PromotionalBar/index.js +1 -1
  539. package/dist/esm/biz-components/PromotionalBar/index.js.map +3 -3
  540. package/dist/esm/biz-components/SceneShelfV2/index.d.ts +1 -1
  541. package/dist/esm/biz-components/SceneShelfV3/index.d.ts +1 -1
  542. package/dist/esm/biz-components/SearchPage/index.js +1 -1
  543. package/dist/esm/biz-components/SearchPage/index.js.map +3 -3
  544. package/dist/esm/biz-components/SecondaryBanner/index.d.ts +1 -1
  545. package/dist/esm/biz-components/SecondaryBanner/index.js +1 -1
  546. package/dist/esm/biz-components/SecondaryBanner/index.js.map +2 -2
  547. package/dist/esm/biz-components/SelectStore/index.d.ts +1 -1
  548. package/dist/esm/biz-components/ShelfDisplay/index.d.ts +1 -1
  549. package/dist/esm/biz-components/ShelfDisplay/shelfDisplayItem.js +1 -1
  550. package/dist/esm/biz-components/ShelfDisplay/shelfDisplayItem.js.map +2 -2
  551. package/dist/esm/biz-components/Slogan/index.d.ts +1 -1
  552. package/dist/esm/biz-components/Spacer/index.d.ts +1 -1
  553. package/dist/esm/biz-components/Specs/index.d.ts +1 -1
  554. package/dist/esm/biz-components/Specs/index.js +1 -1
  555. package/dist/esm/biz-components/Specs/index.js.map +3 -3
  556. package/dist/esm/biz-components/SpecsComparison/SpecsComparison.d.ts +1 -1
  557. package/dist/esm/biz-components/Subscribe/index.js +1 -1
  558. package/dist/esm/biz-components/Subscribe/index.js.map +2 -2
  559. package/dist/esm/biz-components/SwiperBox/index.js +1 -1
  560. package/dist/esm/biz-components/SwiperBox/index.js.map +3 -3
  561. package/dist/esm/biz-components/TabWithImage/TabWithImage.d.ts +1 -1
  562. package/dist/esm/biz-components/Tabs/Tabs.d.ts +1 -1
  563. package/dist/esm/biz-components/TabsGroup/index.d.ts +1 -1
  564. package/dist/esm/biz-components/TabsWithMedia/TabsWithMedia.d.ts +1 -1
  565. package/dist/esm/biz-components/TabsWithMedia/TabsWithMedia.js +1 -1
  566. package/dist/esm/biz-components/TabsWithMedia/TabsWithMedia.js.map +3 -3
  567. package/dist/esm/biz-components/ThreeDCarousel/ThreeDCarousel.d.ts +1 -1
  568. package/dist/esm/biz-components/ThreeDCarousel/ThreeDCarousel.js +1 -1
  569. package/dist/esm/biz-components/ThreeDCarousel/ThreeDCarousel.js.map +3 -3
  570. package/dist/esm/biz-components/Title/index.d.ts +1 -1
  571. package/dist/esm/biz-components/Title/index.js +1 -1
  572. package/dist/esm/biz-components/Title/index.js.map +3 -3
  573. package/dist/esm/biz-components/VideoFeature/VideoFeature.d.ts +1 -1
  574. package/dist/esm/biz-components/VideoModal/index.d.ts +1 -0
  575. package/dist/esm/biz-components/VideoModal/index.js +1 -1
  576. package/dist/esm/biz-components/VideoModal/index.js.map +3 -3
  577. package/dist/esm/biz-components/WheelLottery/index.js +1 -1
  578. package/dist/esm/biz-components/WheelLottery/index.js.map +2 -2
  579. package/dist/esm/biz-components/WhyChoose/WhyChoose.d.ts +1 -1
  580. package/dist/esm/biz-components/index.d.ts +10 -0
  581. package/dist/esm/biz-components/index.js +1 -1
  582. package/dist/esm/biz-components/index.js.map +3 -3
  583. package/dist/esm/components/Countdown.js +1 -1
  584. package/dist/esm/components/Countdown.js.map +3 -3
  585. package/dist/esm/components/breadcrumb.d.ts +12 -0
  586. package/dist/esm/components/breadcrumb.js +2 -0
  587. package/dist/esm/components/breadcrumb.js.map +7 -0
  588. package/dist/esm/components/index.d.ts +4 -0
  589. package/dist/esm/components/index.js +1 -1
  590. package/dist/esm/components/index.js.map +3 -3
  591. package/dist/esm/components/input-number.d.ts +22 -0
  592. package/dist/esm/components/input-number.js +1 -1
  593. package/dist/esm/components/input-number.js.map +3 -3
  594. package/dist/esm/components/link.js +1 -1
  595. package/dist/esm/components/link.js.map +2 -2
  596. package/dist/esm/components/toast.d.ts +25 -0
  597. package/dist/esm/components/toast.js +2 -0
  598. package/dist/esm/components/toast.js.map +7 -0
  599. package/dist/esm/helpers/index.d.ts +1 -1
  600. package/dist/esm/helpers/index.js +1 -1
  601. package/dist/esm/helpers/index.js.map +3 -3
  602. package/dist/esm/helpers/isLexicalEmpty.d.ts +5 -0
  603. package/dist/esm/helpers/isLexicalEmpty.js +1 -1
  604. package/dist/esm/helpers/isLexicalEmpty.js.map +3 -3
  605. package/dist/esm/helpers/priceFormatting.js +1 -1
  606. package/dist/esm/helpers/priceFormatting.js.map +2 -2
  607. package/dist/esm/hooks/useIsomorphicMediaQuery.d.ts +14 -0
  608. package/dist/esm/hooks/useIsomorphicMediaQuery.js +2 -0
  609. package/dist/esm/hooks/useIsomorphicMediaQuery.js.map +7 -0
  610. package/dist/esm/hooks/useProductListTrack.d.ts +43 -0
  611. package/dist/esm/hooks/useProductListTrack.js +2 -0
  612. package/dist/esm/hooks/useProductListTrack.js.map +7 -0
  613. package/dist/esm/index.d.ts +10 -0
  614. package/dist/esm/index.js +1 -1
  615. package/dist/esm/index.js.map +3 -3
  616. package/dist/esm/shared/Styles.js +1 -1
  617. package/dist/esm/shared/Styles.js.map +3 -3
  618. package/package.json +4 -3
  619. package/style.css +172 -13
@@ -1,2 +1,2 @@
1
- "use strict";"use client";var T=Object.create;var m=Object.defineProperty;var E=Object.getOwnPropertyDescriptor;var I=Object.getOwnPropertyNames;var j=Object.getPrototypeOf,D=Object.prototype.hasOwnProperty;var H=(e,i)=>{for(var r in i)m(e,r,{get:i[r],enumerable:!0})},v=(e,i,r,o)=>{if(i&&typeof i=="object"||typeof i=="function")for(let n of I(i))!D.call(e,n)&&n!==r&&m(e,n,{get:()=>i[n],enumerable:!(o=E(i,n))||o.enumerable});return e};var h=(e,i,r)=>(r=e!=null?T(j(e)):{},v(i||!e||!e.__esModule?m(r,"default",{value:e,enumerable:!0}):r,e)),q=e=>v(m({},"__esModule",{value:!0}),e);var W={};H(W,{default:()=>Q});module.exports=q(W);var t=require("react/jsx-runtime"),s=require("react"),l=require("../../helpers/utils.js"),y=h(require("../../components/picture.js")),L=require("../../shared/Styles.js"),N=require("react-responsive"),C=require("../../hooks/useExposure.js"),M=require("../AiuiProvider/index.js"),c=require("swiper/react"),a=require("swiper/modules"),G=require("../Title/index.js"),S=h(require("../../components/link.js"));const z="copy",R="store_benefits",F=(e,i)=>{const r=[];for(let o=0;o<e.length;o+=i)r.push(e.slice(o,o+i));return r},w=(0,s.forwardRef)(({data:{items:e=[],itemShape:i},className:r},o)=>{const[n,B]=(0,s.useState)(!1),f=(0,N.useMediaQuery)({query:"(max-width: 768px)"}),x=(0,s.useRef)(null),u=(0,s.useRef)(null),{locale:k="us"}=(0,M.useAiuiContext)();(0,s.useImperativeHandle)(o,()=>u.current),(0,C.useExposure)(u,{componentType:z,componentName:R}),(0,s.useEffect)(()=>{B(f)},[f]);const A=n?F(e,3):e;return(0,t.jsx)("div",{ref:u,className:(0,l.cn)("brand-equity-wrapper w-full",r),children:n?(0,t.jsxs)(c.Swiper,{className:(0,l.cn)(r),modules:[a.FreeMode,a.Mousewheel,a.Pagination],freeMode:!0,mousewheel:{forceToAxis:!0},pagination:{clickable:!0,el:x.current},breakpoints:{0:{spaceBetween:12}},children:[A?.map((p,d)=>(0,t.jsx)(c.SwiperSlide,{className:"!flex flex-col gap-3",children:Array.isArray(p)&&p?.map((P,g)=>(0,t.jsx)(b,{data:P,itemShape:i,index:g,locale:k},g))},"SwiperSlide"+d)),(0,t.jsx)("div",{ref:x,className:"mt-3 flex justify-center"})]}):(0,t.jsx)("div",{className:(0,l.cn)("laptop:gap-4 tablet:grid-cols-2 laptop:grid-cols-4 grid grid-cols-1 gap-3"),children:e.map((p,d)=>(0,t.jsx)(b,{data:p,itemShape:i,index:d,locale:k},d))})})}),b=({data:e,itemShape:i,index:r,locale:o})=>(0,t.jsxs)("div",{className:(0,l.cn)("brand-equity-item","lg-desktop:p-8 desktop:p-6 p-4","box-border flex w-full flex-col justify-between overflow-hidden bg-[#DAE7F2]",i==="round"?"rounded-box":"rounded-none"),children:[(0,t.jsxs)("div",{className:"lg-desktop:h-[50px] flex h-10 items-center justify-between gap-3",children:[(0,t.jsx)("h3",{className:"link-item-title lg-desktop:text-[18px] desktop:text-[16px] line-clamp-2 flex-1 text-[14px] font-bold leading-[1.2] tracking-[-0.02em] text-[#080A0F]",children:e.title}),(0,t.jsx)("div",{className:"link-item-img lg-desktop:size-[36px] size-[30px] shrink-0",children:(0,t.jsx)(y.default,{className:"size-full object-cover",source:e.icon?.url,alt:e.icon?.alt,imgClassName:"w-full h-full object-cover"})})]}),(0,t.jsxs)("div",{className:"box-border overflow-hidden",children:[(0,t.jsx)("p",{title:e.description||"",className:"link-item-description lg-desktop:text-[24px] line-clamp-4 text-[20px] font-semibold leading-[1.2] tracking-[-0.04em] text-[#767880]",children:e.description||""}),(0,t.jsxs)(S.default,{href:(0,l.getLocalizedPath)(e?.link||"",o),asChild:!e?.link,className:"desktop:mt-4 mt-2 flex items-center gap-0.5 no-underline hover:underline",children:[(0,t.jsx)("span",{className:"link-item-text laptop:text-base text-sm",children:e?.linkText}),(0,t.jsx)("div",{className:"size-6",children:(0,t.jsx)("svg",{width:"24",height:"24",className:"mb-[3px]",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",children:(0,t.jsx)("path",{className:"transition-all duration-[0.4s]",d:"M10.5 8L14.5 12L10.5 16",stroke:"#777",strokeWidth:"1.5",strokeLinecap:"round"})})})]})]})]});w.displayName="BrandCardLink";var Q=(0,L.withLayout)(w);
1
+ "use strict";"use client";var T=Object.create;var m=Object.defineProperty;var H=Object.getOwnPropertyDescriptor;var j=Object.getOwnPropertyNames;var R=Object.getPrototypeOf,q=Object.prototype.hasOwnProperty;var z=(e,i)=>{for(var r in i)m(e,r,{get:i[r],enumerable:!0})},v=(e,i,r,o)=>{if(i&&typeof i=="object"||typeof i=="function")for(let a of j(i))!q.call(e,a)&&a!==r&&m(e,a,{get:()=>i[a],enumerable:!(o=H(i,a))||o.enumerable});return e};var w=(e,i,r)=>(r=e!=null?T(R(e)):{},v(i||!e||!e.__esModule?m(r,"default",{value:e,enumerable:!0}):r,e)),F=e=>v(m({},"__esModule",{value:!0}),e);var Q={};z(Q,{default:()=>$});module.exports=F(Q);var t=require("react/jsx-runtime"),s=require("react"),n=require("../../helpers/utils.js"),S=w(require("../../components/picture.js")),C=require("../../shared/Styles.js"),M=require("../../hooks/useIsomorphicMediaQuery.js"),B=require("../../hooks/useExposure.js"),f=require("../AiuiProvider/index.js"),A=require("../../shared/trackUrlRef.js"),c=require("swiper/react"),l=require("swiper/modules"),P=w(require("../../components/link.js"));const b="copy",y="store_benefits",_=(e,i)=>{const r=[];for(let o=0;o<e.length;o+=i)r.push(e.slice(o,o+i));return r},L=(0,s.forwardRef)(({data:{items:e=[],itemShape:i},className:r},o)=>{const[a,D]=(0,s.useState)(!1),k=(0,M.useIsomorphicMediaQuery)({query:"(max-width: 768px)"}),x=(0,s.useRef)(null),u=(0,s.useRef)(null),{locale:g="us",trackingData:U}=(0,f.useAiuiContext)();(0,s.useImperativeHandle)(o,()=>u.current),(0,B.useExposure)(u,{componentType:b,componentName:y}),(0,s.useEffect)(()=>{D(k)},[k]);const E=a?_(e,3):e;return(0,t.jsx)("div",{ref:u,className:(0,n.cn)("brand-equity-wrapper w-full",r),children:a?(0,t.jsxs)(c.Swiper,{className:(0,n.cn)(r),modules:[l.FreeMode,l.Mousewheel,l.Pagination],freeMode:!0,mousewheel:{forceToAxis:!0},pagination:{clickable:!0,el:x.current},breakpoints:{0:{spaceBetween:12}},children:[E?.map((p,d)=>(0,t.jsx)(c.SwiperSlide,{className:"!flex flex-col gap-3",children:Array.isArray(p)&&p?.map((I,h)=>(0,t.jsx)(N,{data:I,itemShape:i,index:h,locale:g},h))},"SwiperSlide"+d)),(0,t.jsx)("div",{ref:x,className:"mt-3 flex justify-center"})]}):(0,t.jsx)("div",{className:(0,n.cn)("laptop:gap-4 tablet:grid-cols-2 laptop:grid-cols-4 grid grid-cols-1 gap-3"),children:e.map((p,d)=>(0,t.jsx)(N,{data:p,itemShape:i,index:d,locale:g},d))})})}),N=({data:e,itemShape:i,index:r,locale:o})=>{const{trackingData:a}=(0,f.useAiuiContext)();return(0,t.jsxs)("div",{className:(0,n.cn)("brand-equity-item","lg-desktop:p-8 desktop:p-6 p-4","box-border flex w-full flex-col justify-between overflow-hidden bg-[#DAE7F2]","rounded-box"),children:[(0,t.jsxs)("div",{className:"lg-desktop:h-[50px] flex h-10 items-center justify-between gap-3",children:[(0,t.jsx)("h3",{className:"link-item-title lg-desktop:text-[18px] desktop:text-[16px] line-clamp-2 flex-1 text-[14px] font-bold leading-[1.2] tracking-[-0.02em] text-[#080A0F]",children:e.title}),(0,t.jsx)("div",{className:"link-item-img lg-desktop:size-[36px] size-[30px] shrink-0",children:(0,t.jsx)(S.default,{className:"size-full object-cover",source:e.icon?.url,alt:e.icon?.alt,imgClassName:"w-full h-full object-cover"})})]}),(0,t.jsxs)("div",{className:"box-border overflow-hidden",children:[(0,t.jsx)("p",{title:e.description||"",className:"link-item-description lg-desktop:text-[24px] line-clamp-4 text-[20px] font-semibold leading-[1.2] tracking-[-0.04em] text-[#767880]",children:e.description||""}),(0,t.jsxs)(P.default,{href:(0,A.trackUrlRef)((0,n.getLocalizedPath)(e?.link||"",o),`${a?.contextHandle||""}_${b}_${y}`),asChild:!e?.link,className:"desktop:mt-4 mt-2 flex items-center gap-0.5 no-underline hover:underline",children:[(0,t.jsx)("span",{className:"link-item-text laptop:text-base text-sm",children:e?.linkText}),(0,t.jsx)("div",{className:"size-6",children:(0,t.jsx)("svg",{width:"24",height:"24",className:"mb-[3px]",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",children:(0,t.jsx)("path",{className:"transition-all duration-[0.4s]",d:"M10.5 8L14.5 12L10.5 16",stroke:"#777",strokeWidth:"1.5",strokeLinecap:"round"})})})]})]})]})};L.displayName="BrandCardLink";var $=(0,C.withLayout)(L);
2
2
  //# sourceMappingURL=BrandCardLink.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/biz-components/BrandCardLink/BrandCardLink.tsx"],
4
- "sourcesContent": ["'use client'\nimport { forwardRef, useEffect, useRef, useState, useImperativeHandle } from 'react'\n\nimport { cn, getLocalizedPath } from '../../helpers/utils.js'\nimport Picture from '../../components/picture.js'\nimport { withLayout } from '../../shared/Styles.js'\nimport type { BrandCardLinkProps, BrandCardLinkItemProps } from './types.js'\n\nimport type { Img } from '../../types/props.js'\nimport { useMediaQuery } from 'react-responsive'\nimport { useExposure } from '../../hooks/useExposure.js'\nimport { useAiuiContext } from '../AiuiProvider/index.js'\n\nimport { Swiper, SwiperSlide } from 'swiper/react'\nimport { Pagination, FreeMode, Mousewheel } from 'swiper/modules'\nimport Title from '../Title/index.js'\nimport Link from '../../components/link.js'\n\nconst componentType = 'copy'\nconst componentName = 'store_benefits'\n\nconst chunkArray = (arr: BrandCardLinkItemProps[], size: number) => {\n const chunks = []\n for (let i = 0; i < arr.length; i += size) {\n chunks.push(arr.slice(i, i + size))\n }\n return chunks\n}\n\nconst BrandCardLink = forwardRef<HTMLDivElement, BrandCardLinkProps>(\n ({ data: { items = [], itemShape }, className }, ref) => {\n const [isMobile, setIsMobile] = useState(false)\n const mediaQuery = useMediaQuery({ query: '(max-width: 768px)' })\n const paginationRef = useRef<HTMLDivElement>(null)\n const innerRef = useRef<HTMLDivElement>(null)\n const { locale = 'us' } = useAiuiContext()\n\n useImperativeHandle(ref, () => innerRef.current as HTMLDivElement)\n useExposure(innerRef, {\n componentType,\n componentName,\n })\n\n useEffect(() => {\n setIsMobile(mediaQuery)\n }, [mediaQuery])\n\n const itemsArray = isMobile ? chunkArray(items, 3) : items\n return (\n <div ref={innerRef} className={cn('brand-equity-wrapper w-full', className)}>\n {isMobile ? (\n <Swiper\n className={cn(className)}\n modules={[FreeMode, Mousewheel, Pagination]}\n freeMode={true}\n mousewheel={{\n forceToAxis: true,\n }}\n pagination={{\n clickable: true,\n el: paginationRef.current,\n }}\n breakpoints={{\n 0: {\n spaceBetween: 12,\n },\n }}\n >\n {itemsArray?.map((item, jIndex) => (\n <SwiperSlide key={'SwiperSlide' + jIndex} className=\"!flex flex-col gap-3\">\n {Array.isArray(item) &&\n item?.map((item, index) => (\n <BrandCardLinkItem key={index} data={item} itemShape={itemShape} index={index} locale={locale} />\n ))}\n </SwiperSlide>\n ))}\n <div ref={paginationRef} className=\"mt-3 flex justify-center\"></div>\n </Swiper>\n ) : (\n <div className={cn('laptop:gap-4 tablet:grid-cols-2 laptop:grid-cols-4 grid grid-cols-1 gap-3')}>\n {items.map((item, index) => (\n <BrandCardLinkItem key={index} data={item} itemShape={itemShape} index={index} locale={locale} />\n ))}\n </div>\n )}\n </div>\n )\n }\n)\n\nconst BrandCardLinkItem = ({\n data,\n itemShape,\n index,\n locale,\n}: {\n data: BrandCardLinkItemProps\n itemShape?: 'round' | 'square'\n index: number\n locale: string\n}) => {\n return (\n <div\n className={cn(\n 'brand-equity-item',\n 'lg-desktop:p-8 desktop:p-6 p-4',\n // 'laptop:h-[192px] lg-desktop:h-[240px] h-[160px]',\n 'box-border flex w-full flex-col justify-between overflow-hidden bg-[#DAE7F2]',\n itemShape === 'round' ? 'rounded-box' : 'rounded-none'\n )}\n >\n <div className=\"lg-desktop:h-[50px] flex h-10 items-center justify-between gap-3\">\n <h3 className=\"link-item-title lg-desktop:text-[18px] desktop:text-[16px] line-clamp-2 flex-1 text-[14px] font-bold leading-[1.2] tracking-[-0.02em] text-[#080A0F]\">\n {data.title}\n </h3>\n <div className=\"link-item-img lg-desktop:size-[36px] size-[30px] shrink-0\">\n <Picture\n className=\"size-full object-cover\"\n source={data.icon?.url}\n alt={data.icon?.alt}\n imgClassName=\"w-full h-full object-cover\"\n />\n </div>\n </div>\n <div className=\"box-border overflow-hidden\">\n <p\n title={data.description || ''}\n className=\"link-item-description lg-desktop:text-[24px] line-clamp-4 text-[20px] font-semibold leading-[1.2] tracking-[-0.04em] text-[#767880]\"\n >\n {data.description || ''}\n </p>\n <Link\n href={getLocalizedPath(data?.link || '', locale)}\n asChild={!data?.link}\n className=\"desktop:mt-4 mt-2 flex items-center gap-0.5 no-underline hover:underline\"\n >\n <span className=\"link-item-text laptop:text-base text-sm\">{data?.linkText}</span>\n <div className=\"size-6\">\n <svg\n width=\"24\"\n height=\"24\"\n className=\"mb-[3px]\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n >\n <path\n className=\"transition-all duration-[0.4s]\"\n d=\"M10.5 8L14.5 12L10.5 16\"\n stroke=\"#777\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n ></path>\n </svg>\n </div>\n </Link>\n </div>\n </div>\n )\n}\n\nBrandCardLink.displayName = 'BrandCardLink'\n\nexport default withLayout(BrandCardLink)\n"],
5
- "mappings": "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",
6
- "names": ["BrandCardLink_exports", "__export", "BrandCardLink_default", "__toCommonJS", "import_jsx_runtime", "import_react", "import_utils", "import_picture", "import_Styles", "import_react_responsive", "import_useExposure", "import_AiuiProvider", "import_modules", "import_Title", "import_link", "componentType", "componentName", "chunkArray", "arr", "size", "chunks", "i", "BrandCardLink", "items", "itemShape", "className", "ref", "isMobile", "setIsMobile", "mediaQuery", "paginationRef", "innerRef", "locale", "itemsArray", "item", "jIndex", "index", "BrandCardLinkItem", "data", "Picture", "Link"]
4
+ "sourcesContent": ["'use client'\nimport { forwardRef, useEffect, useRef, useState, useImperativeHandle } from 'react'\n\nimport { cn, getLocalizedPath } from '../../helpers/utils.js'\nimport Picture from '../../components/picture.js'\nimport { withLayout } from '../../shared/Styles.js'\nimport type { BrandCardLinkProps, BrandCardLinkItemProps } from './types.js'\n\nimport { useIsomorphicMediaQuery } from '../../hooks/useIsomorphicMediaQuery.js'\nimport { useExposure } from '../../hooks/useExposure.js'\nimport { useAiuiContext } from '../AiuiProvider/index.js'\nimport { trackUrlRef } from '../../shared/trackUrlRef.js'\n\nimport { Swiper, SwiperSlide } from 'swiper/react'\nimport { Pagination, FreeMode, Mousewheel } from 'swiper/modules'\nimport Link from '../../components/link.js'\n\nconst componentType = 'copy'\nconst componentName = 'store_benefits'\n\nconst chunkArray = (arr: BrandCardLinkItemProps[], size: number) => {\n const chunks = []\n for (let i = 0; i < arr.length; i += size) {\n chunks.push(arr.slice(i, i + size))\n }\n return chunks\n}\n\nconst BrandCardLink = forwardRef<HTMLDivElement, BrandCardLinkProps>(\n ({ data: { items = [], itemShape }, className }, ref) => {\n const [isMobile, setIsMobile] = useState(false)\n const mediaQuery = useIsomorphicMediaQuery({ query: '(max-width: 768px)' })\n const paginationRef = useRef<HTMLDivElement>(null)\n const innerRef = useRef<HTMLDivElement>(null)\n const { locale = 'us', trackingData } = useAiuiContext()\n\n useImperativeHandle(ref, () => innerRef.current as HTMLDivElement)\n useExposure(innerRef, {\n componentType,\n componentName,\n })\n\n useEffect(() => {\n setIsMobile(mediaQuery)\n }, [mediaQuery])\n\n const itemsArray = isMobile ? chunkArray(items, 3) : items\n return (\n <div ref={innerRef} className={cn('brand-equity-wrapper w-full', className)}>\n {isMobile ? (\n <Swiper\n className={cn(className)}\n modules={[FreeMode, Mousewheel, Pagination]}\n freeMode={true}\n mousewheel={{\n forceToAxis: true,\n }}\n pagination={{\n clickable: true,\n el: paginationRef.current,\n }}\n breakpoints={{\n 0: {\n spaceBetween: 12,\n },\n }}\n >\n {itemsArray?.map((item, jIndex) => (\n <SwiperSlide key={'SwiperSlide' + jIndex} className=\"!flex flex-col gap-3\">\n {Array.isArray(item) &&\n item?.map((item, index) => (\n <BrandCardLinkItem key={index} data={item} itemShape={itemShape} index={index} locale={locale} />\n ))}\n </SwiperSlide>\n ))}\n <div ref={paginationRef} className=\"mt-3 flex justify-center\"></div>\n </Swiper>\n ) : (\n <div className={cn('laptop:gap-4 tablet:grid-cols-2 laptop:grid-cols-4 grid grid-cols-1 gap-3')}>\n {items.map((item, index) => (\n <BrandCardLinkItem key={index} data={item} itemShape={itemShape} index={index} locale={locale} />\n ))}\n </div>\n )}\n </div>\n )\n }\n)\n\nconst BrandCardLinkItem = ({\n data,\n itemShape,\n index,\n locale,\n}: {\n data: BrandCardLinkItemProps\n itemShape?: 'round' | 'square'\n index: number\n locale: string\n}) => {\n const { trackingData } = useAiuiContext()\n return (\n <div\n className={cn(\n 'brand-equity-item',\n 'lg-desktop:p-8 desktop:p-6 p-4',\n // 'laptop:h-[192px] lg-desktop:h-[240px] h-[160px]',\n 'box-border flex w-full flex-col justify-between overflow-hidden bg-[#DAE7F2]',\n 'rounded-box'\n )}\n >\n <div className=\"lg-desktop:h-[50px] flex h-10 items-center justify-between gap-3\">\n <h3 className=\"link-item-title lg-desktop:text-[18px] desktop:text-[16px] line-clamp-2 flex-1 text-[14px] font-bold leading-[1.2] tracking-[-0.02em] text-[#080A0F]\">\n {data.title}\n </h3>\n <div className=\"link-item-img lg-desktop:size-[36px] size-[30px] shrink-0\">\n <Picture\n className=\"size-full object-cover\"\n source={data.icon?.url}\n alt={data.icon?.alt}\n imgClassName=\"w-full h-full object-cover\"\n />\n </div>\n </div>\n <div className=\"box-border overflow-hidden\">\n <p\n title={data.description || ''}\n className=\"link-item-description lg-desktop:text-[24px] line-clamp-4 text-[20px] font-semibold leading-[1.2] tracking-[-0.04em] text-[#767880]\"\n >\n {data.description || ''}\n </p>\n <Link\n href={trackUrlRef(\n getLocalizedPath(data?.link || '', locale),\n `${trackingData?.contextHandle || ''}_${componentType}_${componentName}`\n )}\n asChild={!data?.link}\n className=\"desktop:mt-4 mt-2 flex items-center gap-0.5 no-underline hover:underline\"\n >\n <span className=\"link-item-text laptop:text-base text-sm\">{data?.linkText}</span>\n <div className=\"size-6\">\n <svg\n width=\"24\"\n height=\"24\"\n className=\"mb-[3px]\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n >\n <path\n className=\"transition-all duration-[0.4s]\"\n d=\"M10.5 8L14.5 12L10.5 16\"\n stroke=\"#777\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n ></path>\n </svg>\n </div>\n </Link>\n </div>\n </div>\n )\n}\n\nBrandCardLink.displayName = 'BrandCardLink'\n\nexport default withLayout(BrandCardLink)\n"],
5
+ "mappings": "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",
6
+ "names": ["BrandCardLink_exports", "__export", "BrandCardLink_default", "__toCommonJS", "import_jsx_runtime", "import_react", "import_utils", "import_picture", "import_Styles", "import_useIsomorphicMediaQuery", "import_useExposure", "import_AiuiProvider", "import_trackUrlRef", "import_modules", "import_link", "componentType", "componentName", "chunkArray", "arr", "size", "chunks", "i", "BrandCardLink", "items", "itemShape", "className", "ref", "isMobile", "setIsMobile", "mediaQuery", "paginationRef", "innerRef", "locale", "trackingData", "itemsArray", "item", "jIndex", "index", "BrandCardLinkItem", "data", "Picture", "Link"]
7
7
  }
@@ -1,5 +1,5 @@
1
1
  import type { BrandEquityProps } from './types.js';
2
- declare const _default: import("react").ForwardRefExoticComponent<Omit<BrandEquityProps & import("react").RefAttributes<HTMLDivElement>, "container" | keyof import("../../shared/Styles.js").StylesProps> & import("../../shared/Styles.js").StylesProps & import("../WheelLottery/index.js").ContainerProps & import("react").RefAttributes<unknown>> & {
2
+ declare const _default: import("react").ForwardRefExoticComponent<Omit<BrandEquityProps & import("react").RefAttributes<HTMLDivElement>, "container" | keyof import("../../shared/Styles.js").StylesProps> & import("../../shared/Styles.js").StylesProps & import("../index.js").ContainerProps & import("react").RefAttributes<unknown>> & {
3
3
  readonly $$typeof: symbol;
4
4
  };
5
5
  export default _default;
@@ -1,2 +1,2 @@
1
- "use strict";"use client";var j=Object.create;var d=Object.defineProperty;var P=Object.getOwnPropertyDescriptor;var L=Object.getOwnPropertyNames;var z=Object.getPrototypeOf,A=Object.prototype.hasOwnProperty;var H=(e,t)=>{for(var i in t)d(e,i,{get:t[i],enumerable:!0})},k=(e,t,i,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of L(t))!A.call(e,o)&&o!==i&&d(e,o,{get:()=>t[o],enumerable:!(a=P(t,o))||a.enumerable});return e};var h=(e,t,i)=>(i=e!=null?j(z(e)):{},k(t||!e||!e.__esModule?d(i,"default",{value:e,enumerable:!0}):i,e)),D=e=>k(d({},"__esModule",{value:!0}),e);var F={};H(F,{default:()=>C});module.exports=D(F);var r=require("react/jsx-runtime"),s=require("react"),l=require("../../helpers/utils.js"),y=h(require("../../components/picture.js")),q=require("../../shared/Styles.js"),E=require("react-responsive"),S=require("../../hooks/useExposure.js"),c=require("swiper/react"),n=require("swiper/modules"),M=h(require("../Title/index.js"));const R="copy",Q="store_benefits",$=(e,t)=>{const i=[];for(let a=0;a<e.length;a+=t)i.push(e.slice(a,a+t));return i},N=(0,s.forwardRef)(({data:{items:e=[],itemShape:t,title:i,theme:a},className:o},u)=>{const[x,B]=(0,s.useState)(!1),v=(0,E.useMediaQuery)({query:"(max-width: 768px)"}),b=(0,s.useRef)(null),f=(0,s.useRef)(null);(0,s.useImperativeHandle)(u,()=>f.current),(0,S.useExposure)(f,{componentType:R,componentName:Q}),(0,s.useEffect)(()=>{B(v)},[v]);const T=x?$(e,3):e;return(0,r.jsxs)("div",{ref:f,className:(0,l.cn)("brand-equity-wrapper w-full",{"aiui-dark":a==="dark"},o),children:[i&&(0,r.jsx)(M.default,{data:{title:i}}),x?(0,r.jsxs)(c.Swiper,{className:(0,l.cn)(o),modules:[n.FreeMode,n.Mousewheel,n.Pagination],freeMode:!0,mousewheel:{forceToAxis:!0},pagination:{clickable:!0,el:b.current},breakpoints:{0:{spaceBetween:12}},children:[T?.map((p,m)=>(0,r.jsx)(c.SwiperSlide,{className:"!flex flex-col gap-3",children:Array.isArray(p)&&p?.map((I,g)=>(0,r.jsx)(w,{data:I,itemShape:t,index:g,theme:a},g))},"SwiperSlide"+m)),(0,r.jsx)("div",{ref:b,className:"mt-3 flex justify-center"})]}):(0,r.jsx)("div",{className:(0,l.cn)("grid grid-cols-1 gap-3","tablet:grid-cols-2","laptop:gap-4 laptop:grid-cols-10"),children:e.map((p,m)=>(0,r.jsx)(w,{data:p,itemShape:t,index:m,theme:a},m))})]})}),w=({data:e,itemShape:t,index:i,theme:a})=>(0,r.jsxs)("div",{className:(0,l.cn)("brand-equity-item",`brand-equity-item-${i+1}`,e.containerName?`brand-equity-item--${e.containerName}`:void 0,"bg-container-secondary-1 box-border flex w-full flex-col p-4","desktop:p-6 justify-between","laptop:col-span-3 lg-desktop:p-8","laptop:h-[192px] lg-desktop:h-[240px] h-[160px]",{"laptop:col-span-4":[0,5,6,11].includes(i),"bg-container-primary":a==="dark"},t==="round"?"rounded-box":"rounded-none",e.className),children:[(0,r.jsxs)("div",{className:"lg-desktop:h-[36px] flex h-[30px] items-center justify-between gap-3",children:[(0,r.jsx)("h3",{className:"lg-desktop:text-[18px] desktop:text-[16px] text-info-primary text-[14px] font-bold leading-[1.2] tracking-[-0.02em]",children:e.title}),e.type==="avatar"?(0,r.jsx)("div",{className:"flex shrink-0 -space-x-2",children:e?.avatarList?.map((o,u)=>(0,r.jsx)("div",{className:(0,l.cn)("border-container-primary size-[30px] overflow-hidden rounded-full border-2","relative inline-block shrink-0","lg-desktop:size-[36px]"),children:(0,r.jsx)(y.default,{source:o.avatar?.url,alt:o.avatar?.alt,className:"size-full object-cover"})},u))}):(0,r.jsx)("div",{className:"lg-desktop:size-[36px] size-[30px] shrink-0",children:(0,r.jsx)(y.default,{className:"size-full object-cover",source:e.icon?.url,alt:e.icon?.alt,imgClassName:"w-full h-full object-cover"})})]}),(0,r.jsx)("p",{className:"lg-desktop:text-[24px] text-info-primary line-clamp-3 text-[20px] font-bold leading-[1.2] tracking-[-0.04em]",children:e.description})]});N.displayName="BrandEquity";var C=(0,q.withLayout)(N);
1
+ "use strict";"use client";var j=Object.create;var c=Object.defineProperty;var P=Object.getOwnPropertyDescriptor;var L=Object.getOwnPropertyNames;var z=Object.getPrototypeOf,A=Object.prototype.hasOwnProperty;var H=(e,r)=>{for(var i in r)c(e,i,{get:r[i],enumerable:!0})},h=(e,r,i,a)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of L(r))!A.call(e,o)&&o!==i&&c(e,o,{get:()=>r[o],enumerable:!(a=P(r,o))||a.enumerable});return e};var k=(e,r,i)=>(i=e!=null?j(z(e)):{},h(r||!e||!e.__esModule?c(i,"default",{value:e,enumerable:!0}):i,e)),D=e=>h(c({},"__esModule",{value:!0}),e);var F={};H(F,{default:()=>C});module.exports=D(F);var t=require("react/jsx-runtime"),s=require("react"),p=require("../../helpers/utils.js"),y=k(require("../../components/picture.js")),q=require("../../shared/Styles.js"),E=require("../../hooks/useIsomorphicMediaQuery.js"),S=require("../../hooks/useExposure.js"),d=require("swiper/react"),l=require("swiper/modules"),M=k(require("../Title/index.js"));const R="copy",Q="store_benefits",$=(e,r)=>{const i=[];for(let a=0;a<e.length;a+=r)i.push(e.slice(a,a+r));return i},N=(0,s.forwardRef)(({data:{items:e=[],itemShape:r,title:i,theme:a},className:o},u)=>{const[x,B]=(0,s.useState)(!1),v=(0,E.useIsomorphicMediaQuery)({query:"(max-width: 768px)"}),b=(0,s.useRef)(null),f=(0,s.useRef)(null);(0,s.useImperativeHandle)(u,()=>f.current),(0,S.useExposure)(f,{componentType:R,componentName:Q}),(0,s.useEffect)(()=>{B(v)},[v]);const I=x?$(e,3):e;return(0,t.jsxs)("div",{ref:f,className:(0,p.cn)("brand-equity-wrapper w-full",{"aiui-dark":a==="dark"},o),children:[i&&(0,t.jsx)(M.default,{data:{title:i}}),x?(0,t.jsxs)(d.Swiper,{className:(0,p.cn)(o),modules:[l.FreeMode,l.Mousewheel,l.Pagination],freeMode:!0,mousewheel:{forceToAxis:!0},pagination:{clickable:!0,el:b.current},breakpoints:{0:{spaceBetween:12}},children:[I?.map((n,m)=>(0,t.jsx)(d.SwiperSlide,{className:"!flex flex-col gap-3",children:Array.isArray(n)&&n?.map((T,g)=>(0,t.jsx)(w,{data:T,itemShape:r,index:g,theme:a},g))},"SwiperSlide"+m)),(0,t.jsx)("div",{ref:b,className:"mt-3 flex justify-center"})]}):(0,t.jsx)("div",{className:(0,p.cn)("grid grid-cols-1 gap-3","tablet:grid-cols-2","laptop:gap-4 laptop:grid-cols-10"),children:e.map((n,m)=>(0,t.jsx)(w,{data:n,itemShape:r,index:m,theme:a},m))})]})}),w=({data:e,itemShape:r,index:i,theme:a})=>(0,t.jsxs)("div",{className:(0,p.cn)("brand-equity-item",`brand-equity-item-${i+1}`,e.containerName?`brand-equity-item--${e.containerName}`:void 0,"bg-container-secondary-1 box-border flex w-full flex-col p-4","desktop:p-6 justify-between","laptop:col-span-3 lg-desktop:p-8","laptop:h-[192px] lg-desktop:h-[240px] h-[160px]",{"laptop:col-span-4":[0,5,6,11].includes(i),"bg-container-primary":a==="dark"},"rounded-box",e.className),children:[(0,t.jsxs)("div",{className:"lg-desktop:h-[36px] flex h-[30px] items-center justify-between gap-3",children:[(0,t.jsx)("h3",{className:"lg-desktop:text-[18px] desktop:text-[16px] text-info-primary text-[14px] font-bold leading-[1.2] tracking-[-0.02em]",children:e.title}),e.type==="avatar"?(0,t.jsx)("div",{className:"flex shrink-0 -space-x-2",children:e?.avatarList?.map((o,u)=>(0,t.jsx)("div",{className:(0,p.cn)("border-container-primary size-[30px] overflow-hidden rounded-full border-2","relative inline-block shrink-0","lg-desktop:size-[36px]"),children:(0,t.jsx)(y.default,{source:o.avatar?.url,alt:o.avatar?.alt,className:"size-full object-cover"})},u))}):(0,t.jsx)("div",{className:"lg-desktop:size-[36px] size-[30px] shrink-0",children:(0,t.jsx)(y.default,{className:"size-full object-cover",source:e.icon?.url,alt:e.icon?.alt,imgClassName:"w-full h-full object-cover"})})]}),(0,t.jsx)("p",{className:"lg-desktop:text-[24px] text-info-primary line-clamp-3 text-[20px] font-bold leading-[1.2] tracking-[-0.04em]",children:e.description})]});N.displayName="BrandEquity";var C=(0,q.withLayout)(N);
2
2
  //# sourceMappingURL=BrandEquity.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/biz-components/BrandEquity/BrandEquity.tsx"],
4
- "sourcesContent": ["'use client'\nimport { forwardRef, useEffect, useRef, useState, useImperativeHandle } from 'react'\n\nimport { cn } from '../../helpers/utils.js'\nimport Picture from '../../components/picture.js'\nimport { withLayout } from '../../shared/Styles.js'\nimport type { BrandEquityProps, BrandEquityItemProps } from './types.js'\n\nimport type { Img, Theme } from '../../types/props.js'\nimport { useMediaQuery } from 'react-responsive'\nimport { useExposure } from '../../hooks/useExposure.js'\n\nimport { Swiper, SwiperSlide } from 'swiper/react'\nimport { Pagination, FreeMode, Mousewheel } from 'swiper/modules'\nimport Title from '../Title/index.js'\n\nconst componentType = 'copy'\nconst componentName = 'store_benefits'\n\nconst chunkArray = (arr: BrandEquityItemProps[], size: number) => {\n const chunks = []\n for (let i = 0; i < arr.length; i += size) {\n chunks.push(arr.slice(i, i + size))\n }\n return chunks\n}\n\nconst BrandEquity = forwardRef<HTMLDivElement, BrandEquityProps>(\n ({ data: { items = [], itemShape, title, theme }, className }, ref) => {\n const [isMobile, setIsMobile] = useState(false)\n const mediaQuery = useMediaQuery({ query: '(max-width: 768px)' })\n const paginationRef = useRef<HTMLDivElement>(null)\n const innerRef = useRef<HTMLDivElement>(null)\n useImperativeHandle(ref, () => innerRef.current as HTMLDivElement)\n useExposure(innerRef, {\n componentType,\n componentName,\n })\n\n useEffect(() => {\n setIsMobile(mediaQuery)\n }, [mediaQuery])\n\n const itemsArray = isMobile ? chunkArray(items, 3) : items\n return (\n <div ref={innerRef} className={cn('brand-equity-wrapper w-full', { 'aiui-dark': theme === 'dark' }, className)}>\n {title && <Title data={{ title: title }} />}\n {isMobile ? (\n <Swiper\n className={cn(className)}\n modules={[FreeMode, Mousewheel, Pagination]}\n freeMode={true}\n mousewheel={{\n forceToAxis: true,\n }}\n pagination={{\n clickable: true,\n el: paginationRef.current,\n }}\n breakpoints={{\n 0: {\n spaceBetween: 12,\n },\n }}\n >\n {itemsArray?.map((item, jIndex) => (\n <SwiperSlide key={'SwiperSlide' + jIndex} className=\"!flex flex-col gap-3\">\n {Array.isArray(item) &&\n item?.map((item, index) => (\n <BrandEquityItem key={index} data={item} itemShape={itemShape} index={index} theme={theme} />\n ))}\n </SwiperSlide>\n ))}\n <div ref={paginationRef} className=\"mt-3 flex justify-center\"></div>\n </Swiper>\n ) : (\n <div className={cn('grid grid-cols-1 gap-3', 'tablet:grid-cols-2', 'laptop:gap-4 laptop:grid-cols-10')}>\n {items.map((item, index) => (\n <BrandEquityItem key={index} data={item} itemShape={itemShape} index={index} theme={theme} />\n ))}\n </div>\n )}\n </div>\n )\n }\n)\n\nconst BrandEquityItem = ({\n data,\n itemShape,\n index,\n theme,\n}: {\n data: BrandEquityItemProps\n itemShape?: 'round' | 'square'\n index: number\n theme?: Theme\n}) => {\n return (\n <div\n className={cn(\n 'brand-equity-item',\n `brand-equity-item-${index + 1}`,\n data.containerName ? `brand-equity-item--${data.containerName}` : undefined,\n 'bg-container-secondary-1 box-border flex w-full flex-col p-4',\n 'desktop:p-6 justify-between',\n 'laptop:col-span-3 lg-desktop:p-8',\n 'laptop:h-[192px] lg-desktop:h-[240px] h-[160px]',\n {\n ['laptop:col-span-4']: [0, 5, 6, 11].includes(index),\n 'bg-container-primary': theme === 'dark',\n },\n itemShape === 'round' ? 'rounded-box' : 'rounded-none',\n data.className\n )}\n >\n <div className=\"lg-desktop:h-[36px] flex h-[30px] items-center justify-between gap-3\">\n <h3 className=\"lg-desktop:text-[18px] desktop:text-[16px] text-info-primary text-[14px] font-bold leading-[1.2] tracking-[-0.02em]\">\n {data.title}\n </h3>\n {data.type === 'avatar' ? (\n <div className=\"flex shrink-0 -space-x-2\">\n {data?.avatarList?.map((item: { avatar: Img }, index: number) => (\n <div\n key={index}\n className={cn(\n 'border-container-primary size-[30px] overflow-hidden rounded-full border-2',\n 'relative inline-block shrink-0',\n 'lg-desktop:size-[36px]'\n )}\n >\n <Picture source={item.avatar?.url} alt={item.avatar?.alt} className=\"size-full object-cover\" />\n </div>\n ))}\n </div>\n ) : (\n <div className=\"lg-desktop:size-[36px] size-[30px] shrink-0\">\n <Picture\n className=\"size-full object-cover\"\n source={data.icon?.url}\n alt={data.icon?.alt}\n imgClassName=\"w-full h-full object-cover\"\n />\n </div>\n )}\n </div>\n <p className=\"lg-desktop:text-[24px] text-info-primary line-clamp-3 text-[20px] font-bold leading-[1.2] tracking-[-0.04em]\">\n {data.description}\n </p>\n </div>\n )\n}\n\nBrandEquity.displayName = 'BrandEquity'\n\nexport default withLayout(BrandEquity)\n"],
5
- "mappings": "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",
6
- "names": ["BrandEquity_exports", "__export", "BrandEquity_default", "__toCommonJS", "import_jsx_runtime", "import_react", "import_utils", "import_picture", "import_Styles", "import_react_responsive", "import_useExposure", "import_modules", "import_Title", "componentType", "componentName", "chunkArray", "arr", "size", "chunks", "i", "BrandEquity", "items", "itemShape", "title", "theme", "className", "ref", "isMobile", "setIsMobile", "mediaQuery", "paginationRef", "innerRef", "itemsArray", "Title", "item", "jIndex", "index", "BrandEquityItem", "data", "Picture"]
4
+ "sourcesContent": ["'use client'\nimport { forwardRef, useEffect, useRef, useState, useImperativeHandle } from 'react'\n\nimport { cn } from '../../helpers/utils.js'\nimport Picture from '../../components/picture.js'\nimport { withLayout } from '../../shared/Styles.js'\nimport type { BrandEquityProps, BrandEquityItemProps } from './types.js'\n\nimport type { Img, Theme } from '../../types/props.js'\nimport { useIsomorphicMediaQuery } from '../../hooks/useIsomorphicMediaQuery.js'\nimport { useExposure } from '../../hooks/useExposure.js'\n\nimport { Swiper, SwiperSlide } from 'swiper/react'\nimport { Pagination, FreeMode, Mousewheel } from 'swiper/modules'\nimport Title from '../Title/index.js'\n\nconst componentType = 'copy'\nconst componentName = 'store_benefits'\n\nconst chunkArray = (arr: BrandEquityItemProps[], size: number) => {\n const chunks = []\n for (let i = 0; i < arr.length; i += size) {\n chunks.push(arr.slice(i, i + size))\n }\n return chunks\n}\n\nconst BrandEquity = forwardRef<HTMLDivElement, BrandEquityProps>(\n ({ data: { items = [], itemShape, title, theme }, className }, ref) => {\n const [isMobile, setIsMobile] = useState(false)\n const mediaQuery = useIsomorphicMediaQuery({ query: '(max-width: 768px)' })\n const paginationRef = useRef<HTMLDivElement>(null)\n const innerRef = useRef<HTMLDivElement>(null)\n useImperativeHandle(ref, () => innerRef.current as HTMLDivElement)\n useExposure(innerRef, {\n componentType,\n componentName,\n })\n\n useEffect(() => {\n setIsMobile(mediaQuery)\n }, [mediaQuery])\n\n const itemsArray = isMobile ? chunkArray(items, 3) : items\n return (\n <div ref={innerRef} className={cn('brand-equity-wrapper w-full', { 'aiui-dark': theme === 'dark' }, className)}>\n {title && <Title data={{ title: title }} />}\n {isMobile ? (\n <Swiper\n className={cn(className)}\n modules={[FreeMode, Mousewheel, Pagination]}\n freeMode={true}\n mousewheel={{\n forceToAxis: true,\n }}\n pagination={{\n clickable: true,\n el: paginationRef.current,\n }}\n breakpoints={{\n 0: {\n spaceBetween: 12,\n },\n }}\n >\n {itemsArray?.map((item, jIndex) => (\n <SwiperSlide key={'SwiperSlide' + jIndex} className=\"!flex flex-col gap-3\">\n {Array.isArray(item) &&\n item?.map((item, index) => (\n <BrandEquityItem key={index} data={item} itemShape={itemShape} index={index} theme={theme} />\n ))}\n </SwiperSlide>\n ))}\n <div ref={paginationRef} className=\"mt-3 flex justify-center\"></div>\n </Swiper>\n ) : (\n <div className={cn('grid grid-cols-1 gap-3', 'tablet:grid-cols-2', 'laptop:gap-4 laptop:grid-cols-10')}>\n {items.map((item, index) => (\n <BrandEquityItem key={index} data={item} itemShape={itemShape} index={index} theme={theme} />\n ))}\n </div>\n )}\n </div>\n )\n }\n)\n\nconst BrandEquityItem = ({\n data,\n itemShape,\n index,\n theme,\n}: {\n data: BrandEquityItemProps\n itemShape?: 'round' | 'square'\n index: number\n theme?: Theme\n}) => {\n return (\n <div\n className={cn(\n 'brand-equity-item',\n `brand-equity-item-${index + 1}`,\n data.containerName ? `brand-equity-item--${data.containerName}` : undefined,\n 'bg-container-secondary-1 box-border flex w-full flex-col p-4',\n 'desktop:p-6 justify-between',\n 'laptop:col-span-3 lg-desktop:p-8',\n 'laptop:h-[192px] lg-desktop:h-[240px] h-[160px]',\n {\n ['laptop:col-span-4']: [0, 5, 6, 11].includes(index),\n 'bg-container-primary': theme === 'dark',\n },\n 'rounded-box',\n data.className\n )}\n >\n <div className=\"lg-desktop:h-[36px] flex h-[30px] items-center justify-between gap-3\">\n <h3 className=\"lg-desktop:text-[18px] desktop:text-[16px] text-info-primary text-[14px] font-bold leading-[1.2] tracking-[-0.02em]\">\n {data.title}\n </h3>\n {data.type === 'avatar' ? (\n <div className=\"flex shrink-0 -space-x-2\">\n {data?.avatarList?.map((item: { avatar: Img }, index: number) => (\n <div\n key={index}\n className={cn(\n 'border-container-primary size-[30px] overflow-hidden rounded-full border-2',\n 'relative inline-block shrink-0',\n 'lg-desktop:size-[36px]'\n )}\n >\n <Picture source={item.avatar?.url} alt={item.avatar?.alt} className=\"size-full object-cover\" />\n </div>\n ))}\n </div>\n ) : (\n <div className=\"lg-desktop:size-[36px] size-[30px] shrink-0\">\n <Picture\n className=\"size-full object-cover\"\n source={data.icon?.url}\n alt={data.icon?.alt}\n imgClassName=\"w-full h-full object-cover\"\n />\n </div>\n )}\n </div>\n <p className=\"lg-desktop:text-[24px] text-info-primary line-clamp-3 text-[20px] font-bold leading-[1.2] tracking-[-0.04em]\">\n {data.description}\n </p>\n </div>\n )\n}\n\nBrandEquity.displayName = 'BrandEquity'\n\nexport default withLayout(BrandEquity)\n"],
5
+ "mappings": "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",
6
+ "names": ["BrandEquity_exports", "__export", "BrandEquity_default", "__toCommonJS", "import_jsx_runtime", "import_react", "import_utils", "import_picture", "import_Styles", "import_useIsomorphicMediaQuery", "import_useExposure", "import_modules", "import_Title", "componentType", "componentName", "chunkArray", "arr", "size", "chunks", "i", "BrandEquity", "items", "itemShape", "title", "theme", "className", "ref", "isMobile", "setIsMobile", "mediaQuery", "paginationRef", "innerRef", "itemsArray", "Title", "item", "jIndex", "index", "BrandEquityItem", "data", "Picture"]
7
7
  }
@@ -7,6 +7,7 @@ export interface FreeGiftItemProps extends Omit<React.HTMLAttributes<HTMLDivElem
7
7
  onClick?: (gift: FreeGift) => void;
8
8
  /** 赠品类型 1-> 单选模式, 2 -> 全选模式 */
9
9
  giftType?: 1 | 2;
10
+ theme?: 'light' | 'dark';
10
11
  }
11
12
  /**
12
13
  * FreeGiftItem - 免费赠品项
@@ -1,2 +1,2 @@
1
- "use strict";"use client";var m=Object.create;var p=Object.defineProperty;var f=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var b=Object.getPrototypeOf,v=Object.prototype.hasOwnProperty;var y=(e,r)=>{for(var i in r)p(e,i,{get:r[i],enumerable:!0})},d=(e,r,i,o)=>{if(r&&typeof r=="object"||typeof r=="function")for(let a of u(r))!v.call(e,a)&&a!==i&&p(e,a,{get:()=>r[a],enumerable:!(o=f(r,a))||o.enumerable});return e};var n=(e,r,i)=>(i=e!=null?m(b(e)):{},d(r||!e||!e.__esModule?p(i,"default",{value:e,enumerable:!0}):i,e)),g=e=>d(p({},"__esModule",{value:!0}),e);var k={};y(k,{default:()=>h});module.exports=g(k);var t=require("react/jsx-runtime"),N=n(require("react")),l=require("../../helpers/index.js"),F=require("../../components/badge.js"),c=n(require("../../components/picture.js")),s=require("../../components/text.js");const x=N.forwardRef(({gift:e,onClick:r,className:i,giftType:o},a)=>(0,t.jsx)("div",{ref:a,className:(0,l.cn)("bg-container-primary laptop:rounded-[8px] border-lines relative flex w-full flex-col overflow-hidden rounded-[6px] border-2 transition-all",o===2?"border-brand-0 bg-container-secondary-0 cursor-default":`cursor-pointer hover:shadow-sm ${e.selected?"border-brand-0 bg-container-secondary-0":"border-lines bg-secondary-0"}`,i),onClick:()=>{o===1&&r?.(e)},children:(0,t.jsxs)("div",{className:"flex size-full flex-col",children:[(0,t.jsx)("div",{className:"tablet:h-[24px] lg-desktop:h-[28px] flex h-[18px] justify-end",children:e.tag&&(0,t.jsx)("div",{className:"bg-brand-0 lg-desktop:text-[16px] laptop:rounded-bl-[8px] text-badge-foreground absolute rounded-bl-[6px] px-[6px] pb-[4px] pt-[3px] text-[14px] font-bold leading-[1.2]",children:e.tag})}),(0,t.jsxs)("div",{className:(0,l.cn)("laptop:pb-4 laptop:px-4 flex size-full items-center gap-4 px-2 pb-2"),children:[(0,t.jsx)("div",{className:(0,l.cn)("size-14 shrink-0","tablet:size-12"),children:(0,t.jsx)(c.default,{source:e.image,alt:e.name,className:"size-full rounded object-cover"})}),(0,t.jsxs)("div",{className:"flex h-full min-w-0 flex-1 flex-col justify-center gap-1 py-1",children:[(0,t.jsx)(s.Text,{size:2,html:e.name,className:(0,l.cn)("text-info-primary desktop:text-[16px] lg-desktop:text-[18px] line-clamp-1")}),(0,t.jsxs)("div",{className:"mt-auto flex items-center justify-between gap-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(s.Text,{size:2,className:(0,l.cn)("text-info-primary desktop:text-[16px] lg-desktop:text-[18px]"),children:e.currentPrice}),e.originalPrice&&e.originalPrice!==e.currentPrice&&(0,t.jsx)(s.Text,{size:2,className:(0,l.cn)("text-info-tertiary desktop:text-[16px] lg-desktop:text-[18px] pr-6 line-through"),children:e.originalPrice})]}),e.quantity>=1&&(0,t.jsxs)(s.Text,{size:4,className:(0,l.cn)("text-info-primary laptop:text-[16px] lg-desktop:text-[18px] self-end text-[14px]"),children:["x",e.quantity]})]})]})]})]})}));x.displayName="FreeGiftItem";var h=x;
1
+ "use strict";"use client";var h=Object.create;var d=Object.defineProperty;var f=Object.getOwnPropertyDescriptor;var v=Object.getOwnPropertyNames;var u=Object.getPrototypeOf,g=Object.prototype.hasOwnProperty;var k=(e,r)=>{for(var i in r)d(e,i,{get:r[i],enumerable:!0})},n=(e,r,i,l)=>{if(r&&typeof r=="object"||typeof r=="function")for(let s of v(r))!g.call(e,s)&&s!==i&&d(e,s,{get:()=>r[s],enumerable:!(l=f(r,s))||l.enumerable});return e};var p=(e,r,i)=>(i=e!=null?h(u(e)):{},n(r||!e||!e.__esModule?d(i,"default",{value:e,enumerable:!0}):i,e)),b=e=>n(d({},"__esModule",{value:!0}),e);var N={};k(N,{default:()=>F});module.exports=b(N);var t=require("react/jsx-runtime"),w=p(require("react")),o=require("../../helpers/index.js"),G=require("../../components/badge.js"),c=p(require("../../components/picture.js")),a=require("../../components/text.js");const y=({checked:e,theme:r})=>{const i=r==="dark";return e?(0,t.jsxs)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,t.jsx)("rect",{x:"2.8",y:"2.8",width:"18.4",height:"18.4",rx:"9.2",fill:i?"#F5F6F7":"#080A0F"}),(0,t.jsx)("rect",{x:"2.8",y:"2.8",width:"18.4",height:"18.4",rx:"9.2",stroke:i?"#F5F6F7":"#080A0F",strokeWidth:"1.6"}),(0,t.jsx)("path",{d:"M8 11.5833L10.9474 14.5L16 9.5",stroke:i?"#1E2024":"white",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"})]}):(0,t.jsx)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,t.jsx)("rect",{x:"2.8",y:"2.8",width:"18.4",height:"18.4",rx:"9.2",stroke:i?"#B5B7BB":"#2A2C32",strokeWidth:"1.6"})})},x=w.forwardRef(({gift:e,onClick:r,className:i,giftType:l,theme:s},m)=>(0,t.jsx)("div",{ref:m,className:(0,o.cn)("bg-container-primary laptop:rounded-[8px] border-lines relative flex w-full flex-col overflow-hidden rounded-[6px] border-2 transition-all",l===2?"border-brand-0 bg-container-secondary-0 cursor-default":`cursor-pointer hover:shadow-sm ${e.selected?"border-brand-0 bg-container-secondary-0":"border-lines bg-secondary-0"}`,i),onClick:()=>{l===1&&r?.(e)},children:(0,t.jsxs)("div",{className:"flex size-full flex-col",children:[(0,t.jsx)("div",{className:"tablet:h-[24px] lg-desktop:h-[28px] flex h-[18px] justify-end",children:e.tag&&(0,t.jsx)("div",{className:"bg-brand-0 lg-desktop:text-[16px] laptop:rounded-bl-[8px] text-badge-foreground absolute rounded-bl-[6px] px-[6px] pb-[4px] pt-[3px] text-[14px] font-bold leading-[1.2]",children:e.tag})}),(0,t.jsxs)("div",{className:(0,o.cn)("laptop:pb-4 laptop:px-4 flex size-full items-center gap-4 px-2 pb-2"),children:[(0,t.jsx)("div",{className:"flex size-5 shrink-0 items-center justify-center",children:(0,t.jsx)(y,{checked:!!e.selected,theme:s})}),(0,t.jsx)("div",{className:(0,o.cn)("size-14 shrink-0","tablet:size-12"),children:(0,t.jsx)(c.default,{source:e.image,alt:e.name,className:"size-full rounded object-cover"})}),(0,t.jsxs)("div",{className:"flex h-full min-w-0 flex-1 flex-col justify-center gap-1 py-1",children:[(0,t.jsx)(a.Text,{size:2,html:e.name,className:(0,o.cn)("text-info-primary desktop:text-[16px] lg-desktop:text-[18px] line-clamp-1")}),(0,t.jsxs)("div",{className:"mt-auto flex items-center justify-between gap-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(a.Text,{size:2,className:(0,o.cn)("text-info-primary desktop:text-[16px] lg-desktop:text-[18px]"),children:e.currentPrice}),e.originalPrice&&e.originalPrice!==e.currentPrice&&(0,t.jsx)(a.Text,{size:2,className:(0,o.cn)("text-info-tertiary desktop:text-[16px] lg-desktop:text-[18px] pr-6 line-through"),children:e.originalPrice})]}),e.quantity>=1&&(0,t.jsxs)(a.Text,{size:4,className:(0,o.cn)("text-info-primary laptop:text-[16px] lg-desktop:text-[18px] self-end text-[14px]"),children:["x",e.quantity]})]})]})]})]})}));x.displayName="FreeGiftItem";var F=x;
2
2
  //# sourceMappingURL=FreeGiftItem.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/biz-components/BuyOneGetOneShelf/FreeGiftItem.tsx"],
4
- "sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport { cn } from '../../helpers/index.js'\nimport Badge from '../../components/badge.js'\nimport Picture from '../../components/picture.js'\nimport { Text } from '../../components/text.js'\n\nimport type { FreeGift, FreeGiftWithSelection } from './types.js'\n\nexport interface FreeGiftItemProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onClick'> {\n /** \u8D60\u54C1\u6570\u636E\uFF08\u5305\u542B\u9009\u62E9\u72B6\u6001\uFF09 */\n gift: FreeGiftWithSelection\n /** \u70B9\u51FB\u56DE\u8C03 */\n onClick?: (gift: FreeGift) => void\n /** \u8D60\u54C1\u7C7B\u578B 1-> \u5355\u9009\u6A21\u5F0F\uFF0C 2 -> \u5168\u9009\u6A21\u5F0F */\n giftType?: 1 | 2\n}\n\n/**\n * FreeGiftItem - \u514D\u8D39\u8D60\u54C1\u9879\n */\nconst FreeGiftItem = React.forwardRef<HTMLDivElement, FreeGiftItemProps>(\n ({ gift, onClick, className, giftType }, ref) => {\n return (\n <div\n ref={ref}\n className={cn(\n 'bg-container-primary laptop:rounded-[8px] border-lines relative flex w-full flex-col overflow-hidden rounded-[6px] border-2 transition-all',\n\n // \u6837\u5F0F\u6839\u636E gift_type \u548C\u9009\u62E9\u72B6\u6001\u53D8\u5316\n giftType === 2\n ? 'border-brand-0 bg-container-secondary-0 cursor-default' // \u5168\u9009\u6A21\u5F0F\uFF1A\u59CB\u7EC8\u9009\u4E2D\uFF0C\u4E0D\u53EF\u70B9\u51FB\n : `cursor-pointer hover:shadow-sm ${gift.selected ? 'border-brand-0 bg-container-secondary-0' : 'border-lines bg-secondary-0'}`, // \u5355\u9009\u6A21\u5F0F\uFF1A\u53EF\u70B9\u51FB\uFF0C\u6839\u636E\u9009\u62E9\u72B6\u6001\u53D8\u5316\u8FB9\u6846\n className\n )}\n onClick={() => {\n // \u53EA\u6709\u5355\u9009\u6A21\u5F0F\u624D\u5141\u8BB8\u70B9\u51FB\n if (giftType === 1) {\n onClick?.(gift)\n }\n }}\n >\n <div className=\"flex size-full flex-col\">\n <div className=\"tablet:h-[24px] lg-desktop:h-[28px] flex h-[18px] justify-end\">\n {gift.tag && (\n <div className=\"bg-brand-0 lg-desktop:text-[16px] laptop:rounded-bl-[8px] text-badge-foreground absolute rounded-bl-[6px] px-[6px] pb-[4px] pt-[3px] text-[14px] font-bold leading-[1.2]\">\n {gift.tag}\n </div>\n )}\n </div>\n <div className={cn('laptop:pb-4 laptop:px-4 flex size-full items-center gap-4 px-2 pb-2')}>\n <div className={cn('size-14 shrink-0', 'tablet:size-12')}>\n <Picture source={gift.image} alt={gift.name} className=\"size-full rounded object-cover\" />\n </div>\n <div className=\"flex h-full min-w-0 flex-1 flex-col justify-center gap-1 py-1\">\n <Text\n size={2}\n html={gift.name}\n className={cn('text-info-primary desktop:text-[16px] lg-desktop:text-[18px] line-clamp-1')}\n />\n <div className=\"mt-auto flex items-center justify-between gap-2\">\n <div className=\"flex items-center gap-2\">\n <Text size={2} className={cn('text-info-primary desktop:text-[16px] lg-desktop:text-[18px]')}>\n {gift.currentPrice}\n </Text>\n {gift.originalPrice && gift.originalPrice !== gift.currentPrice && (\n <Text\n size={2}\n className={cn('text-info-tertiary desktop:text-[16px] lg-desktop:text-[18px] pr-6 line-through')}\n >\n {gift.originalPrice}\n </Text>\n )}\n </div>\n {gift.quantity >= 1 && (\n <Text\n size={4}\n className={cn('text-info-primary laptop:text-[16px] lg-desktop:text-[18px] self-end text-[14px]')}\n >\n x{gift.quantity}\n </Text>\n )}\n </div>\n </div>\n </div>\n </div>\n </div>\n )\n }\n)\n\nFreeGiftItem.displayName = 'FreeGiftItem'\n\nexport default FreeGiftItem\n"],
5
- "mappings": "ukBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GA8Cc,IAAAI,EAAA,6BA5CdC,EAAuB,oBACvBC,EAAmB,kCACnBC,EAAkB,qCAClBC,EAAoB,0CACpBC,EAAqB,oCAgBrB,MAAMC,EAAeL,EAAM,WACzB,CAAC,CAAE,KAAAM,EAAM,QAAAC,EAAS,UAAAC,EAAW,SAAAC,CAAS,EAAGC,OAErC,OAAC,OACC,IAAKA,EACL,aAAW,MACT,6IAGAD,IAAa,EACT,yDACA,kCAAkCH,EAAK,SAAW,0CAA4C,6BAA6B,GAC/HE,CACF,EACA,QAAS,IAAM,CAETC,IAAa,GACfF,IAAUD,CAAI,CAElB,EAEA,oBAAC,OAAI,UAAU,0BACb,oBAAC,OAAI,UAAU,gEACZ,SAAAA,EAAK,QACJ,OAAC,OAAI,UAAU,2KACZ,SAAAA,EAAK,IACR,EAEJ,KACA,QAAC,OAAI,aAAW,MAAG,qEAAqE,EACtF,oBAAC,OAAI,aAAW,MAAG,mBAAoB,gBAAgB,EACrD,mBAAC,EAAAK,QAAA,CAAQ,OAAQL,EAAK,MAAO,IAAKA,EAAK,KAAM,UAAU,iCAAiC,EAC1F,KACA,QAAC,OAAI,UAAU,gEACb,oBAAC,QACC,KAAM,EACN,KAAMA,EAAK,KACX,aAAW,MAAG,2EAA2E,EAC3F,KACA,QAAC,OAAI,UAAU,kDACb,qBAAC,OAAI,UAAU,0BACb,oBAAC,QAAK,KAAM,EAAG,aAAW,MAAG,8DAA8D,EACxF,SAAAA,EAAK,aACR,EACCA,EAAK,eAAiBA,EAAK,gBAAkBA,EAAK,iBACjD,OAAC,QACC,KAAM,EACN,aAAW,MAAG,iFAAiF,EAE9F,SAAAA,EAAK,cACR,GAEJ,EACCA,EAAK,UAAY,MAChB,QAAC,QACC,KAAM,EACN,aAAW,MAAG,kFAAkF,EACjG,cACGA,EAAK,UACT,GAEJ,GACF,GACF,GACF,EACF,CAGN,EAEAD,EAAa,YAAc,eAE3B,IAAOR,EAAQQ",
6
- "names": ["FreeGiftItem_exports", "__export", "FreeGiftItem_default", "__toCommonJS", "import_jsx_runtime", "React", "import_helpers", "import_badge", "import_picture", "import_text", "FreeGiftItem", "gift", "onClick", "className", "giftType", "ref", "Picture"]
4
+ "sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport { cn } from '../../helpers/index.js'\nimport Badge from '../../components/badge.js'\nimport Picture from '../../components/picture.js'\nimport { Text } from '../../components/text.js'\n\nimport type { FreeGift, FreeGiftWithSelection } from './types.js'\n\nconst GiftRadio = ({ checked, theme }: { checked: boolean; theme?: 'light' | 'dark' }) => {\n const isDark = theme === 'dark'\n return checked ? (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect x=\"2.8\" y=\"2.8\" width=\"18.4\" height=\"18.4\" rx=\"9.2\" fill={isDark ? '#F5F6F7' : '#080A0F'} />\n <rect\n x=\"2.8\"\n y=\"2.8\"\n width=\"18.4\"\n height=\"18.4\"\n rx=\"9.2\"\n stroke={isDark ? '#F5F6F7' : '#080A0F'}\n strokeWidth=\"1.6\"\n />\n <path\n d=\"M8 11.5833L10.9474 14.5L16 9.5\"\n stroke={isDark ? '#1E2024' : 'white'}\n strokeWidth=\"1.6\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n ) : (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect\n x=\"2.8\"\n y=\"2.8\"\n width=\"18.4\"\n height=\"18.4\"\n rx=\"9.2\"\n stroke={isDark ? '#B5B7BB' : '#2A2C32'}\n strokeWidth=\"1.6\"\n />\n </svg>\n )\n}\n\nexport interface FreeGiftItemProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onClick'> {\n /** \u8D60\u54C1\u6570\u636E\uFF08\u5305\u542B\u9009\u62E9\u72B6\u6001\uFF09 */\n gift: FreeGiftWithSelection\n /** \u70B9\u51FB\u56DE\u8C03 */\n onClick?: (gift: FreeGift) => void\n /** \u8D60\u54C1\u7C7B\u578B 1-> \u5355\u9009\u6A21\u5F0F\uFF0C 2 -> \u5168\u9009\u6A21\u5F0F */\n giftType?: 1 | 2\n theme?: 'light' | 'dark'\n}\n\n/**\n * FreeGiftItem - \u514D\u8D39\u8D60\u54C1\u9879\n */\nconst FreeGiftItem = React.forwardRef<HTMLDivElement, FreeGiftItemProps>(\n ({ gift, onClick, className, giftType, theme }, ref) => {\n return (\n <div\n ref={ref}\n className={cn(\n 'bg-container-primary laptop:rounded-[8px] border-lines relative flex w-full flex-col overflow-hidden rounded-[6px] border-2 transition-all',\n\n // \u6837\u5F0F\u6839\u636E gift_type \u548C\u9009\u62E9\u72B6\u6001\u53D8\u5316\n giftType === 2\n ? 'border-brand-0 bg-container-secondary-0 cursor-default' // \u5168\u9009\u6A21\u5F0F\uFF1A\u59CB\u7EC8\u9009\u4E2D\uFF0C\u4E0D\u53EF\u70B9\u51FB\n : `cursor-pointer hover:shadow-sm ${gift.selected ? 'border-brand-0 bg-container-secondary-0' : 'border-lines bg-secondary-0'}`, // \u5355\u9009\u6A21\u5F0F\uFF1A\u53EF\u70B9\u51FB\uFF0C\u6839\u636E\u9009\u62E9\u72B6\u6001\u53D8\u5316\u8FB9\u6846\n className\n )}\n onClick={() => {\n // \u53EA\u6709\u5355\u9009\u6A21\u5F0F\u624D\u5141\u8BB8\u70B9\u51FB\n if (giftType === 1) {\n onClick?.(gift)\n }\n }}\n >\n <div className=\"flex size-full flex-col\">\n <div className=\"tablet:h-[24px] lg-desktop:h-[28px] flex h-[18px] justify-end\">\n {gift.tag && (\n <div className=\"bg-brand-0 lg-desktop:text-[16px] laptop:rounded-bl-[8px] text-badge-foreground absolute rounded-bl-[6px] px-[6px] pb-[4px] pt-[3px] text-[14px] font-bold leading-[1.2]\">\n {gift.tag}\n </div>\n )}\n </div>\n <div className={cn('laptop:pb-4 laptop:px-4 flex size-full items-center gap-4 px-2 pb-2')}>\n <div className=\"flex size-5 shrink-0 items-center justify-center\">\n <GiftRadio checked={!!gift.selected} theme={theme} />\n </div>\n <div className={cn('size-14 shrink-0', 'tablet:size-12')}>\n <Picture source={gift.image} alt={gift.name} className=\"size-full rounded object-cover\" />\n </div>\n <div className=\"flex h-full min-w-0 flex-1 flex-col justify-center gap-1 py-1\">\n <Text\n size={2}\n html={gift.name}\n className={cn('text-info-primary desktop:text-[16px] lg-desktop:text-[18px] line-clamp-1')}\n />\n <div className=\"mt-auto flex items-center justify-between gap-2\">\n <div className=\"flex items-center gap-2\">\n <Text size={2} className={cn('text-info-primary desktop:text-[16px] lg-desktop:text-[18px]')}>\n {gift.currentPrice}\n </Text>\n {gift.originalPrice && gift.originalPrice !== gift.currentPrice && (\n <Text\n size={2}\n className={cn('text-info-tertiary desktop:text-[16px] lg-desktop:text-[18px] pr-6 line-through')}\n >\n {gift.originalPrice}\n </Text>\n )}\n </div>\n {gift.quantity >= 1 && (\n <Text\n size={4}\n className={cn('text-info-primary laptop:text-[16px] lg-desktop:text-[18px] self-end text-[14px]')}\n >\n x{gift.quantity}\n </Text>\n )}\n </div>\n </div>\n </div>\n </div>\n </div>\n )\n }\n)\n\nFreeGiftItem.displayName = 'FreeGiftItem'\n\nexport default FreeGiftItem\n"],
5
+ "mappings": "ukBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GAaI,IAAAI,EAAA,6BAXJC,EAAuB,oBACvBC,EAAmB,kCACnBC,EAAkB,qCAClBC,EAAoB,0CACpBC,EAAqB,oCAIrB,MAAMC,EAAY,CAAC,CAAE,QAAAC,EAAS,MAAAC,CAAM,IAAsD,CACxF,MAAMC,EAASD,IAAU,OACzB,OAAOD,KACL,QAAC,OAAI,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,MAAM,6BAChE,oBAAC,QAAK,EAAE,MAAM,EAAE,MAAM,MAAM,OAAO,OAAO,OAAO,GAAG,MAAM,KAAME,EAAS,UAAY,UAAW,KAChG,OAAC,QACC,EAAE,MACF,EAAE,MACF,MAAM,OACN,OAAO,OACP,GAAG,MACH,OAAQA,EAAS,UAAY,UAC7B,YAAY,MACd,KACA,OAAC,QACC,EAAE,iCACF,OAAQA,EAAS,UAAY,QAC7B,YAAY,MACZ,cAAc,QACd,eAAe,QACjB,GACF,KAEA,OAAC,OAAI,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,MAAM,6BAChE,mBAAC,QACC,EAAE,MACF,EAAE,MACF,MAAM,OACN,OAAO,OACP,GAAG,MACH,OAAQA,EAAS,UAAY,UAC7B,YAAY,MACd,EACF,CAEJ,EAeMC,EAAeT,EAAM,WACzB,CAAC,CAAE,KAAAU,EAAM,QAAAC,EAAS,UAAAC,EAAW,SAAAC,EAAU,MAAAN,CAAM,EAAGO,OAE5C,OAAC,OACC,IAAKA,EACL,aAAW,MACT,6IAGAD,IAAa,EACT,yDACA,kCAAkCH,EAAK,SAAW,0CAA4C,6BAA6B,GAC/HE,CACF,EACA,QAAS,IAAM,CAETC,IAAa,GACfF,IAAUD,CAAI,CAElB,EAEA,oBAAC,OAAI,UAAU,0BACb,oBAAC,OAAI,UAAU,gEACZ,SAAAA,EAAK,QACJ,OAAC,OAAI,UAAU,2KACZ,SAAAA,EAAK,IACR,EAEJ,KACA,QAAC,OAAI,aAAW,MAAG,qEAAqE,EACtF,oBAAC,OAAI,UAAU,mDACb,mBAACL,EAAA,CAAU,QAAS,CAAC,CAACK,EAAK,SAAU,MAAOH,EAAO,EACrD,KACA,OAAC,OAAI,aAAW,MAAG,mBAAoB,gBAAgB,EACrD,mBAAC,EAAAQ,QAAA,CAAQ,OAAQL,EAAK,MAAO,IAAKA,EAAK,KAAM,UAAU,iCAAiC,EAC1F,KACA,QAAC,OAAI,UAAU,gEACb,oBAAC,QACC,KAAM,EACN,KAAMA,EAAK,KACX,aAAW,MAAG,2EAA2E,EAC3F,KACA,QAAC,OAAI,UAAU,kDACb,qBAAC,OAAI,UAAU,0BACb,oBAAC,QAAK,KAAM,EAAG,aAAW,MAAG,8DAA8D,EACxF,SAAAA,EAAK,aACR,EACCA,EAAK,eAAiBA,EAAK,gBAAkBA,EAAK,iBACjD,OAAC,QACC,KAAM,EACN,aAAW,MAAG,iFAAiF,EAE9F,SAAAA,EAAK,cACR,GAEJ,EACCA,EAAK,UAAY,MAChB,QAAC,QACC,KAAM,EACN,aAAW,MAAG,kFAAkF,EACjG,cACGA,EAAK,UACT,GAEJ,GACF,GACF,GACF,EACF,CAGN,EAEAD,EAAa,YAAc,eAE3B,IAAOZ,EAAQY",
6
+ "names": ["FreeGiftItem_exports", "__export", "FreeGiftItem_default", "__toCommonJS", "import_jsx_runtime", "React", "import_helpers", "import_badge", "import_picture", "import_text", "GiftRadio", "checked", "theme", "isDark", "FreeGiftItem", "gift", "onClick", "className", "giftType", "ref", "Picture"]
7
7
  }
@@ -10,6 +10,7 @@ export interface GiftSelectionProps extends React.HTMLAttributes<HTMLDivElement>
10
10
  /** 赠品类型 1-> 单选模式, 2 -> 全选模式 */
11
11
  giftType?: 1 | 2;
12
12
  selectedGiftSku?: string;
13
+ theme?: 'light' | 'dark';
13
14
  }
14
15
  /**
15
16
  * GiftSelection - 赠品选择区域
@@ -1,2 +1,2 @@
1
- "use strict";"use client";var g=Object.create;var r=Object.defineProperty;var v=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var y=Object.getPrototypeOf,S=Object.prototype.hasOwnProperty;var T=(e,t)=>{for(var i in t)r(e,i,{get:t[i],enumerable:!0})},s=(e,t,i,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let l of u(t))!S.call(e,l)&&l!==i&&r(e,l,{get:()=>t[l],enumerable:!(o=v(t,l))||o.enumerable});return e};var a=(e,t,i)=>(i=e!=null?g(y(e)):{},s(t||!e||!e.__esModule?r(i,"default",{value:e,enumerable:!0}):i,e)),k=e=>s(r({},"__esModule",{value:!0}),e);var N={};T(N,{default:()=>F});module.exports=k(N);var f=require("react/jsx-runtime"),w=a(require("react")),p=require("../../helpers/index.js"),m=require("../../components/text.js"),x=a(require("./FreeGiftItem.js"));const c=w.forwardRef(({freeGiftLabel:e,freeGifts:t,onGiftClick:i,className:o,giftType:l},d)=>!t||t.length===0?null:(0,f.jsxs)("div",{ref:d,className:(0,p.cn)("flex w-full flex-col gap-2",o),children:[e&&(0,f.jsx)(m.Text,{size:2,className:(0,p.cn)("text-info-primary desktop:text-[16px] lg-desktop:text-[18px] w-full"),children:e}),(0,f.jsx)("div",{className:(0,p.cn)("tablet:flex-row laptop:flex-col flex flex-col gap-2"),children:t.map((n,G)=>(0,f.jsx)("div",{className:"min-w-0 flex-1",children:(0,f.jsx)(x.default,{gift:n,onClick:i,giftType:l})},n.id||G))})]}));c.displayName="GiftSelection";var F=c;
1
+ "use strict";"use client";var v=Object.create;var r=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var k=Object.getOwnPropertyNames;var y=Object.getPrototypeOf,S=Object.prototype.hasOwnProperty;var T=(e,t)=>{for(var i in t)r(e,i,{get:t[i],enumerable:!0})},m=(e,t,i,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let l of k(t))!S.call(e,l)&&l!==i&&r(e,l,{get:()=>t[l],enumerable:!(o=u(t,l))||o.enumerable});return e};var n=(e,t,i)=>(i=e!=null?v(y(e)):{},m(t||!e||!e.__esModule?r(i,"default",{value:e,enumerable:!0}):i,e)),h=e=>m(r({},"__esModule",{value:!0}),e);var N={};T(N,{default:()=>F});module.exports=h(N);var f=require("react/jsx-runtime"),w=n(require("react")),p=require("../../helpers/index.js"),c=require("../../components/text.js"),d=n(require("./FreeGiftItem.js"));const s=w.forwardRef(({freeGiftLabel:e,freeGifts:t,onGiftClick:i,className:o,giftType:l,theme:x},g)=>!t||t.length===0?null:(0,f.jsxs)("div",{ref:g,className:(0,p.cn)("flex w-full flex-col gap-2",o),children:[e&&(0,f.jsx)(c.Text,{size:2,className:(0,p.cn)("text-info-primary desktop:text-[16px] lg-desktop:text-[18px] w-full"),children:e}),(0,f.jsx)("div",{className:(0,p.cn)("tablet:flex-row laptop:flex-col flex flex-col gap-2"),children:t.map((a,G)=>(0,f.jsx)("div",{className:"min-w-0 flex-1",children:(0,f.jsx)(d.default,{gift:a,onClick:i,giftType:l,theme:x})},a.id||G))})]}));s.displayName="GiftSelection";var F=s;
2
2
  //# sourceMappingURL=GiftSelection.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/biz-components/BuyOneGetOneShelf/GiftSelection.tsx"],
4
- "sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport { cn } from '../../helpers/index.js'\nimport { Text } from '../../components/text.js'\nimport FreeGiftItem from './FreeGiftItem.js'\nimport type { FreeGift, FreeGiftWithSelection } from './types.js'\n\nexport interface GiftSelectionProps extends React.HTMLAttributes<HTMLDivElement> {\n /** \u8D60\u54C1\u6807\u7B7E\u6587\u672C */\n freeGiftLabel?: string\n /** \u8D60\u54C1\u5217\u8868\uFF08\u5305\u542B\u9009\u62E9\u72B6\u6001\uFF09 */\n freeGifts?: FreeGiftWithSelection[]\n /** \u8D60\u54C1\u70B9\u51FB\u56DE\u8C03 */\n onGiftClick?: (gift: FreeGift) => void\n /** \u8D60\u54C1\u7C7B\u578B 1-> \u5355\u9009\u6A21\u5F0F\uFF0C 2 -> \u5168\u9009\u6A21\u5F0F */\n giftType?: 1 | 2\n selectedGiftSku?: string\n}\n\n/**\n * GiftSelection - \u8D60\u54C1\u9009\u62E9\u533A\u57DF\n */\nconst GiftSelection = React.forwardRef<HTMLDivElement, GiftSelectionProps>(\n ({ freeGiftLabel, freeGifts, onGiftClick, className, giftType }, ref) => {\n if (!freeGifts || freeGifts.length === 0) {\n return null\n }\n\n return (\n <div ref={ref} className={cn('flex w-full flex-col gap-2', className)}>\n {freeGiftLabel && (\n <Text size={2} className={cn('text-info-primary desktop:text-[16px] lg-desktop:text-[18px] w-full')}>\n {freeGiftLabel}\n </Text>\n )}\n <div className={cn('tablet:flex-row laptop:flex-col flex flex-col gap-2')}>\n {freeGifts.map((gift, index) => (\n <div key={gift.id || index} className=\"min-w-0 flex-1\">\n <FreeGiftItem gift={gift} onClick={onGiftClick} giftType={giftType} />\n </div>\n ))}\n </div>\n </div>\n )\n }\n)\n\nGiftSelection.displayName = 'GiftSelection'\n\nexport default GiftSelection\n"],
5
- "mappings": "ukBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GA8BM,IAAAI,EAAA,6BA5BNC,EAAuB,oBACvBC,EAAmB,kCACnBC,EAAqB,oCACrBC,EAAyB,gCAkBzB,MAAMC,EAAgBJ,EAAM,WAC1B,CAAC,CAAE,cAAAK,EAAe,UAAAC,EAAW,YAAAC,EAAa,UAAAC,EAAW,SAAAC,CAAS,EAAGC,IAC3D,CAACJ,GAAaA,EAAU,SAAW,EAC9B,QAIP,QAAC,OAAI,IAAKI,EAAK,aAAW,MAAG,6BAA8BF,CAAS,EACjE,UAAAH,MACC,OAAC,QAAK,KAAM,EAAG,aAAW,MAAG,qEAAqE,EAC/F,SAAAA,EACH,KAEF,OAAC,OAAI,aAAW,MAAG,qDAAqD,EACrE,SAAAC,EAAU,IAAI,CAACK,EAAMC,OACpB,OAAC,OAA2B,UAAU,iBACpC,mBAAC,EAAAC,QAAA,CAAa,KAAMF,EAAM,QAASJ,EAAa,SAAUE,EAAU,GAD5DE,EAAK,IAAMC,CAErB,CACD,EACH,GACF,CAGN,EAEAR,EAAc,YAAc,gBAE5B,IAAOP,EAAQO",
6
- "names": ["GiftSelection_exports", "__export", "GiftSelection_default", "__toCommonJS", "import_jsx_runtime", "React", "import_helpers", "import_text", "import_FreeGiftItem", "GiftSelection", "freeGiftLabel", "freeGifts", "onGiftClick", "className", "giftType", "ref", "gift", "index", "FreeGiftItem"]
4
+ "sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport { cn } from '../../helpers/index.js'\nimport { Text } from '../../components/text.js'\nimport FreeGiftItem from './FreeGiftItem.js'\nimport type { FreeGift, FreeGiftWithSelection } from './types.js'\n\nexport interface GiftSelectionProps extends React.HTMLAttributes<HTMLDivElement> {\n /** \u8D60\u54C1\u6807\u7B7E\u6587\u672C */\n freeGiftLabel?: string\n /** \u8D60\u54C1\u5217\u8868\uFF08\u5305\u542B\u9009\u62E9\u72B6\u6001\uFF09 */\n freeGifts?: FreeGiftWithSelection[]\n /** \u8D60\u54C1\u70B9\u51FB\u56DE\u8C03 */\n onGiftClick?: (gift: FreeGift) => void\n /** \u8D60\u54C1\u7C7B\u578B 1-> \u5355\u9009\u6A21\u5F0F\uFF0C 2 -> \u5168\u9009\u6A21\u5F0F */\n giftType?: 1 | 2\n selectedGiftSku?: string\n theme?: 'light' | 'dark'\n}\n\n/**\n * GiftSelection - \u8D60\u54C1\u9009\u62E9\u533A\u57DF\n */\nconst GiftSelection = React.forwardRef<HTMLDivElement, GiftSelectionProps>(\n ({ freeGiftLabel, freeGifts, onGiftClick, className, giftType, theme }, ref) => {\n if (!freeGifts || freeGifts.length === 0) {\n return null\n }\n\n return (\n <div ref={ref} className={cn('flex w-full flex-col gap-2', className)}>\n {freeGiftLabel && (\n <Text size={2} className={cn('text-info-primary desktop:text-[16px] lg-desktop:text-[18px] w-full')}>\n {freeGiftLabel}\n </Text>\n )}\n <div className={cn('tablet:flex-row laptop:flex-col flex flex-col gap-2')}>\n {freeGifts.map((gift, index) => (\n <div key={gift.id || index} className=\"min-w-0 flex-1\">\n <FreeGiftItem gift={gift} onClick={onGiftClick} giftType={giftType} theme={theme} />\n </div>\n ))}\n </div>\n </div>\n )\n }\n)\n\nGiftSelection.displayName = 'GiftSelection'\n\nexport default GiftSelection\n"],
5
+ "mappings": "ukBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GA+BM,IAAAI,EAAA,6BA7BNC,EAAuB,oBACvBC,EAAmB,kCACnBC,EAAqB,oCACrBC,EAAyB,gCAmBzB,MAAMC,EAAgBJ,EAAM,WAC1B,CAAC,CAAE,cAAAK,EAAe,UAAAC,EAAW,YAAAC,EAAa,UAAAC,EAAW,SAAAC,EAAU,MAAAC,CAAM,EAAGC,IAClE,CAACL,GAAaA,EAAU,SAAW,EAC9B,QAIP,QAAC,OAAI,IAAKK,EAAK,aAAW,MAAG,6BAA8BH,CAAS,EACjE,UAAAH,MACC,OAAC,QAAK,KAAM,EAAG,aAAW,MAAG,qEAAqE,EAC/F,SAAAA,EACH,KAEF,OAAC,OAAI,aAAW,MAAG,qDAAqD,EACrE,SAAAC,EAAU,IAAI,CAACM,EAAMC,OACpB,OAAC,OAA2B,UAAU,iBACpC,mBAAC,EAAAC,QAAA,CAAa,KAAMF,EAAM,QAASL,EAAa,SAAUE,EAAU,MAAOC,EAAO,GAD1EE,EAAK,IAAMC,CAErB,CACD,EACH,GACF,CAGN,EAEAT,EAAc,YAAc,gBAE5B,IAAOP,EAAQO",
6
+ "names": ["GiftSelection_exports", "__export", "GiftSelection_default", "__toCommonJS", "import_jsx_runtime", "React", "import_helpers", "import_text", "import_FreeGiftItem", "GiftSelection", "freeGiftLabel", "freeGifts", "onGiftClick", "className", "giftType", "theme", "ref", "gift", "index", "FreeGiftItem"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";"use client";var X=Object.create;var G=Object.defineProperty;var Y=Object.getOwnPropertyDescriptor;var Z=Object.getOwnPropertyNames;var D=Object.getPrototypeOf,ee=Object.prototype.hasOwnProperty;var te=(e,t)=>{for(var o in t)G(e,o,{get:t[o],enumerable:!0})},F=(e,t,o,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of Z(t))!ee.call(e,a)&&a!==o&&G(e,a,{get:()=>t[a],enumerable:!(s=Y(t,a))||s.enumerable});return e};var c=(e,t,o)=>(o=e!=null?X(D(e)):{},F(t||!e||!e.__esModule?G(o,"default",{value:e,enumerable:!0}):o,e)),re=e=>F(G({},"__esModule",{value:!0}),e);var ne={};te(ne,{default:()=>oe});module.exports=re(ne);var i=require("react/jsx-runtime"),l=c(require("react")),P=require("../../helpers/index.js"),M=c(require("./ProductImage.js")),O=c(require("./ProductInfo.js")),I=c(require("./GiftSelection.js")),T=c(require("./PriceAndActions.js")),H=require("./context.js");const N=l.forwardRef(({productData:e,gifts:t=[],giftType:o=1,selectedGiftSku:s,sceneImages:a,tags:B,layout:R,className:j,onProductClick:x,onProductImageClick:b,onLearnMore:z,onShopNow:A,onGiftClick:C,onGiftSelectionChange:E,classNames:k,soldOutText:W,...V},_)=>{const{layout:$}=l.useContext(H.BuyOneGetOneShelfContext),h=R??$,[q,y]=l.useState(!1),[J,w]=l.useState(!1),[v,f]=l.useState(()=>!t||t.length===0?[]:o===2?t.map(r=>r.id):[t[0].id]),u=l.useMemo(()=>t?t.map(r=>({...r,selected:v.includes(r.id)})):[],[t,v]);l.useEffect(()=>{if(!t||t.length===0){f([]);return}f(o===2?t.map(r=>r.id):r=>{const n=r[0];return n&&t.some(S=>S.id===n)?[n]:[t[0].id]})},[t,o]);const m=l.useMemo(()=>({...e,gifts:t,gift_type:o}),[e,t,o]),K=r=>{if(o===2){const n=u.filter(d=>d.selected);C?.(r,n);return}f(()=>{const n=[r.id],d=t?.filter(S=>n.includes(S.id))||[];return C?.(r,d),E?.(d,m),n})},p=!!(b??x),L=`/products/${e.handle}`,g=()=>{(b??x)?.(m)},Q=async()=>{const r=u.filter(n=>n.selected);y(!0);try{await z?.(m,r)}finally{y(!1)}},U=async()=>{const r=u.filter(n=>n.selected);w(!0);try{await A?.(m,r)}finally{w(!1)}};return(0,i.jsxs)("div",{ref:_,className:(0,P.cn)("bg-container-primary rounded-box flex items-stretch overflow-hidden",h==="horizontal"?["laptop:flex-row lg-desktop:min-h-[560px] desktop:min-h-[448px] tablet:min-h-[526px] min-h-[610px] flex-col","laptop:col-span-2"]:["flex-col justify-between"],j),...V,children:[(0,i.jsx)(M.default,{images:a,name:e.name,layout:h,tags:e.tags||B,onClick:p?g:void 0,href:p?void 0:L}),(0,i.jsx)("div",{className:(0,P.cn)("bg-container-primary desktop:p-6 flex flex-col justify-between p-4",h==="horizontal"?["rounded-r-box laptop:rounded-r-box tablet:rounded-b-box tablet:rounded-l-none","laptop:basis-[39.1%]","desktop:basis-[42.1%]","lg-desktop:basis-[42.1%]","shrink-0"]:["rounded-b-box","w-full","grow"]),children:(0,i.jsxs)("div",{className:"flex flex-1 flex-col justify-between gap-6",children:[(0,i.jsx)(O.default,{name:e.name,onClick:p?g:void 0,href:p?void 0:L,description:e.description,classNames:k}),(0,i.jsx)(I.default,{freeGiftLabel:e.freeGiftLabel,freeGifts:u,onGiftClick:K,giftType:o,selectedGiftSku:s}),(0,i.jsx)(T.default,{currentPrice:e.currentPrice??"",originalPrice:e.originalPrice,priceLabel:e.priceLabel,learnMoreText:e.learnMoreText,shopNowText:e.shopNowText,soldOutText:W,onLearnMore:Q,onShopNow:U,availableForSale:e.availableForSale,learnMoreLoading:q,shopNowLoading:J,trackingTitle:e.name,trackingDescription:e.description,trackingSku:e.sku,classNames:k})]})})]})});N.displayName="BuyOneGetOneShelf.ProductCard";var oe=N;
1
+ "use strict";"use client";var Y=Object.create;var h=Object.defineProperty;var Z=Object.getOwnPropertyDescriptor;var D=Object.getOwnPropertyNames;var ee=Object.getPrototypeOf,te=Object.prototype.hasOwnProperty;var re=(e,t)=>{for(var o in t)h(e,o,{get:t[o],enumerable:!0})},F=(e,t,o,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of D(t))!te.call(e,a)&&a!==o&&h(e,a,{get:()=>t[a],enumerable:!(s=Z(t,a))||s.enumerable});return e};var c=(e,t,o)=>(o=e!=null?Y(ee(e)):{},F(t||!e||!e.__esModule?h(o,"default",{value:e,enumerable:!0}):o,e)),oe=e=>F(h({},"__esModule",{value:!0}),e);var ie={};re(ie,{default:()=>ne});module.exports=oe(ie);var i=require("react/jsx-runtime"),l=c(require("react")),P=require("../../helpers/index.js"),M=c(require("./ProductImage.js")),O=c(require("./ProductInfo.js")),I=c(require("./GiftSelection.js")),T=c(require("./PriceAndActions.js")),H=require("./context.js");const N=l.forwardRef(({productData:e,gifts:t=[],giftType:o=1,selectedGiftSku:s,sceneImages:a,tags:B,layout:R,className:j,onProductClick:x,onProductImageClick:b,onLearnMore:z,onShopNow:A,onGiftClick:C,onGiftSelectionChange:E,classNames:k,soldOutText:W,...V},_)=>{const{layout:$,theme:q}=l.useContext(H.BuyOneGetOneShelfContext),G=R??$,[J,y]=l.useState(!1),[K,w]=l.useState(!1),[v,f]=l.useState(()=>!t||t.length===0?[]:o===2?t.map(r=>r.id):[t[0].id]),u=l.useMemo(()=>t?t.map(r=>({...r,selected:v.includes(r.id)})):[],[t,v]);l.useEffect(()=>{if(!t||t.length===0){f([]);return}f(o===2?t.map(r=>r.id):r=>{const n=r[0];return n&&t.some(S=>S.id===n)?[n]:[t[0].id]})},[t,o]);const m=l.useMemo(()=>({...e,gifts:t,gift_type:o}),[e,t,o]),Q=r=>{if(o===2){const n=u.filter(d=>d.selected);C?.(r,n);return}f(()=>{const n=[r.id],d=t?.filter(S=>n.includes(S.id))||[];return C?.(r,d),E?.(d,m),n})},p=!!(b??x),L=`/products/${e.handle}`,g=()=>{(b??x)?.(m)},U=async()=>{const r=u.filter(n=>n.selected);y(!0);try{await z?.(m,r)}finally{y(!1)}},X=async()=>{const r=u.filter(n=>n.selected);w(!0);try{await A?.(m,r)}finally{w(!1)}};return(0,i.jsxs)("div",{ref:_,className:(0,P.cn)("bg-container-primary rounded-box flex items-stretch overflow-hidden",G==="horizontal"?["laptop:flex-row lg-desktop:min-h-[560px] desktop:min-h-[448px] tablet:min-h-[526px] min-h-[610px] flex-col","laptop:col-span-2"]:["flex-col justify-between"],j),...V,children:[(0,i.jsx)(M.default,{images:a,name:e.name,layout:G,tags:e.tags||B,onClick:p?g:void 0,href:p?void 0:L}),(0,i.jsx)("div",{className:(0,P.cn)("bg-container-primary desktop:p-6 flex flex-col justify-between p-4",G==="horizontal"?["rounded-r-box laptop:rounded-r-box tablet:rounded-b-box tablet:rounded-l-none","laptop:basis-[39.1%]","desktop:basis-[42.1%]","lg-desktop:basis-[42.1%]","shrink-0"]:["rounded-b-box","w-full","grow"]),children:(0,i.jsxs)("div",{className:"flex flex-1 flex-col justify-between gap-6",children:[(0,i.jsx)(O.default,{name:e.name,onClick:p?g:void 0,href:p?void 0:L,description:e.description,classNames:k}),(0,i.jsx)(I.default,{freeGiftLabel:e.freeGiftLabel,freeGifts:u,onGiftClick:Q,giftType:o,selectedGiftSku:s,theme:q}),(0,i.jsx)(T.default,{currentPrice:e.currentPrice??"",originalPrice:e.originalPrice,priceLabel:e.priceLabel,learnMoreText:e.learnMoreText,shopNowText:e.shopNowText,soldOutText:W,onLearnMore:U,onShopNow:X,availableForSale:e.availableForSale,learnMoreLoading:J,shopNowLoading:K,trackingTitle:e.name,trackingDescription:e.description,trackingSku:e.sku,classNames:k})]})})]})});N.displayName="BuyOneGetOneShelf.ProductCard";var ne=N;
2
2
  //# sourceMappingURL=ProductCard.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/biz-components/BuyOneGetOneShelf/ProductCard.tsx"],
4
- "sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport { cn } from '../../helpers/index.js'\nimport ProductImage from './ProductImage.js'\nimport ProductInfo from './ProductInfo.js'\nimport GiftSelection from './GiftSelection.js'\nimport PriceAndActions from './PriceAndActions.js'\nimport { BuyOneGetOneShelfContext } from './context.js'\nimport type {\n FreeGift,\n FreeGiftWithSelection,\n ProductCardData,\n PureProductData,\n ProductTag,\n BuyOneGetOneShelfProductCardSemanticName,\n} from './types.js'\n\nexport interface ProductCardProps extends React.HTMLAttributes<HTMLDivElement> {\n /** \u4EA7\u54C1\u6570\u636E\uFF08\u4E0D\u5305\u542B\u8D60\u54C1\u4FE1\u606F\uFF09 */\n productData: PureProductData\n /** \u8D60\u54C1\u5217\u8868 */\n gifts?: FreeGift[]\n /** \u8D60\u54C1\u7C7B\u578B 1-> \u8D60\u9001\u5176\u4E2D\u4E00\u4E2A\u8D60\u54C1\uFF0C 2 -> \u8D60\u9001\u6240\u6709\u8D60\u54C1 */\n giftType?: 1 | 2\n /** \u573A\u666F\u56FE\u7247 */\n sceneImages: any\n /** \u4EA7\u54C1\u6807\u7B7E */\n tags?: ProductTag[]\n /** \u5F53\u524D\u9009\u4E2D\u7684\u8D60\u54C1SKU\uFF08\u53D7\u63A7\u7EC4\u4EF6\uFF09 */\n selectedGiftSku?: string\n /** @deprecated Layout is now automatically inferred by Root based on children count. */\n layout?: 'horizontal' | 'vertical'\n classNames?: Partial<Record<BuyOneGetOneShelfProductCardSemanticName, string>>\n soldOutText?: string\n /** @deprecated Use `onProductImageClick` instead. */\n onProductClick?: (product: ProductCardData) => void\n /** \u4EA7\u54C1\u56FE\u7247\u70B9\u51FB\u56DE\u8C03 */\n onProductImageClick?: (product: ProductCardData) => void\n /** Learn More \u70B9\u51FB\u56DE\u8C03 */\n onLearnMore?: (product: ProductCardData, selectedGifts: FreeGift[]) => void\n /** Shop Now \u70B9\u51FB\u56DE\u8C03 */\n onShopNow?: (product: ProductCardData, selectedGifts: FreeGift[]) => void\n /** \u8D60\u54C1\u70B9\u51FB\u56DE\u8C03 */\n onGiftClick?: (gift: FreeGift, selectedGifts: FreeGift[]) => void\n /** \u8D60\u54C1\u9009\u62E9\u53D8\u5316\u56DE\u8C03 */\n onGiftSelectionChange?: (selectedGifts: FreeGift[], product: ProductCardData) => void\n /** \u9009\u4E2D\u8D60\u54C1SKU\u53D8\u5316\u56DE\u8C03\uFF08\u53D7\u63A7\u7EC4\u4EF6\uFF09 */\n onSelectedGiftSkuChange?: (selectedSku: string | null) => void\n}\n\n/**\n * ProductCard - \u4E70\u8D60\u8D27\u67B6\u4EA7\u54C1\u5361\u7247\n *\n * @description \u7528\u4E8E\u4E70\u4E00\u8D60\u4E00\u6D3B\u52A8\u7684\u4EA7\u54C1\u5C55\u793A\u5361\u7247\uFF0C\u5DE6\u4FA7\u5C55\u793A\u4EA7\u54C1\u56FE\u7247\u548C\u6807\u7B7E\uFF0C\u53F3\u4FA7\u5C55\u793A\u4EA7\u54C1\u4FE1\u606F\u3001\u8D60\u54C1\u548C\u8D2D\u4E70\u6309\u94AE\n */\nconst ProductCard = React.forwardRef<HTMLDivElement, ProductCardProps>(\n (\n {\n productData,\n gifts = [],\n giftType = 1,\n selectedGiftSku,\n sceneImages,\n tags,\n layout: layoutProp,\n className,\n onProductClick,\n onProductImageClick,\n onLearnMore,\n onShopNow,\n onGiftClick,\n onGiftSelectionChange,\n classNames,\n soldOutText,\n ...props\n },\n ref\n ) => {\n const { layout: contextLayout } = React.useContext(BuyOneGetOneShelfContext)\n const layout = layoutProp ?? contextLayout\n\n const [learnMoreLoading, setLearnMoreLoading] = React.useState(false)\n const [shopNowLoading, setShopNowLoading] = React.useState(false)\n\n // \u5185\u90E8\u72B6\u6001\u7BA1\u7406\u8D60\u54C1\u7684\u9009\u62E9\u72B6\u6001 - \u4F7F\u7528\u9009\u4E2D\u7684ID\u6570\u7EC4\u800C\u4E0D\u662F\u4FEE\u6539gift\u5BF9\u8C61\n const [selectedGiftIds, setSelectedGiftIds] = React.useState<string[]>(() => {\n if (!gifts || gifts.length === 0) return []\n\n if (giftType === 2) {\n // gift_type 2 (\u5168\u9009\u6A21\u5F0F) - \u9009\u4E2D\u6240\u6709\u8D60\u54C1\n return gifts.map((gift: FreeGift) => gift.id)\n } else {\n // gift_type 1 (\u5355\u9009\u6A21\u5F0F) - \u9ED8\u8BA4\u9009\u4E2D\u7B2C\u4E00\u4E2A\u8D60\u54C1\n return [gifts[0].id]\n }\n })\n\n // \u751F\u6210\u5E26\u6709\u9009\u62E9\u72B6\u6001\u7684\u8D60\u54C1\u5217\u8868\u7528\u4E8E\u6E32\u67D3\n const giftsWithSelection = React.useMemo(() => {\n if (!gifts) return []\n\n return gifts.map((gift: FreeGift) => ({\n ...gift,\n selected: selectedGiftIds.includes(gift.id),\n }))\n }, [gifts, selectedGiftIds])\n\n // \u5F53 gifts \u6216 giftType \u66F4\u65B0\u65F6\uFF0C\u540C\u6B65\u66F4\u65B0\u5185\u90E8\u72B6\u6001\n React.useEffect(() => {\n if (!gifts || gifts.length === 0) {\n setSelectedGiftIds([])\n return\n }\n\n if (giftType === 2) {\n // gift_type 2 (\u5168\u9009\u6A21\u5F0F) - \u9009\u4E2D\u6240\u6709\u8D60\u54C1\n setSelectedGiftIds(gifts.map((gift: FreeGift) => gift.id))\n } else {\n // gift_type 1 (\u5355\u9009\u6A21\u5F0F) - \u667A\u80FD\u72B6\u6001\u7BA1\u7406\n setSelectedGiftIds(prevSelectedIds => {\n // \u68C0\u67E5\u5F53\u524D\u9009\u4E2D\u7684\u793C\u54C1\u662F\u5426\u4ECD\u7136\u5B58\u5728\u4E8E\u65B0\u7684 gifts \u5217\u8868\u4E2D\n const currentSelectedId = prevSelectedIds[0]\n const isCurrentSelectionValid =\n currentSelectedId && gifts.some((gift: FreeGift) => gift.id === currentSelectedId)\n\n // \u5982\u679C\u5F53\u524D\u9009\u4E2D\u72B6\u6001\u4ECD\u7136\u6709\u6548\uFF0C\u4FDD\u6301\u4E0D\u53D8\uFF1B\u5426\u5219\u9ED8\u8BA4\u9009\u4E2D\u7B2C\u4E00\u4E2A\n return isCurrentSelectionValid ? [currentSelectedId] : [gifts[0].id]\n })\n }\n }, [gifts, giftType])\n\n // \u6784\u9020\u5B8C\u6574\u7684\u4EA7\u54C1\u6570\u636E\u7528\u4E8E\u56DE\u8C03\n const fullProductData: ProductCardData = React.useMemo(\n () => ({\n ...productData,\n gifts,\n gift_type: giftType,\n }),\n [productData, gifts, giftType]\n )\n\n const handleGiftClick = (gift: FreeGift) => {\n // gift_type 2 (\u5168\u9009\u6A21\u5F0F) - \u4E0D\u5141\u8BB8\u53D6\u6D88\u9009\u62E9\uFF0C\u76F4\u63A5\u8FD4\u56DE\n if (giftType === 2) {\n // \u83B7\u53D6\u5F53\u524D\u6240\u6709\u9009\u4E2D\u7684gifts\u4F5C\u4E3A\u7B2C\u4E8C\u4E2A\u53C2\u6570\n const currentSelectedGifts = giftsWithSelection.filter((g: FreeGiftWithSelection) => g.selected)\n onGiftClick?.(gift, currentSelectedGifts)\n return\n }\n\n // gift_type 1 (\u5355\u9009\u6A21\u5F0F)\n setSelectedGiftIds(() => {\n const newSelectedIds = [gift.id] // \u5355\u9009\uFF1A\u59CB\u7EC8\u9009\u4E2D\u5F53\u524D\u9879\uFF0C\u70B9\u51FB\u5DF2\u9009\u4E2D\u9879\u4FDD\u6301\u72B6\u6001\uFF0C\u70B9\u51FB\u672A\u9009\u4E2D\u9879\u5207\u6362\u5230\u8BE5\u9879\n\n // \u8BA1\u7B97\u65B0\u7684\u9009\u4E2Dgifts\u4F5C\u4E3A\u7B2C\u4E8C\u4E2A\u53C2\u6570\u4F20\u9012\u7ED9\u56DE\u8C03\n const newSelectedGifts = gifts?.filter((g: FreeGift) => newSelectedIds.includes(g.id)) || []\n\n // \u8C03\u7528\u56DE\u8C03\u51FD\u6570\uFF0C\u7B2C\u4E8C\u4E2A\u53C2\u6570\u662F\u5F53\u524D\u9009\u4E2D\u7684gifts\n onGiftClick?.(gift, newSelectedGifts)\n onGiftSelectionChange?.(newSelectedGifts, fullProductData)\n\n return newSelectedIds\n })\n }\n\n const hasClickHandler = !!(onProductImageClick ?? onProductClick)\n const productHref = `/products/${productData.handle}`\n\n const handleProductImageClick = () => {\n const callback = onProductImageClick ?? onProductClick\n callback?.(fullProductData)\n }\n\n const handleLearnMoreClick = async () => {\n const selectedGifts = giftsWithSelection.filter(gift => gift.selected)\n setLearnMoreLoading(true)\n try {\n await onLearnMore?.(fullProductData, selectedGifts)\n } finally {\n setLearnMoreLoading(false)\n }\n }\n\n const handleShopNowClick = async () => {\n const selectedGifts = giftsWithSelection.filter(gift => gift.selected)\n setShopNowLoading(true)\n try {\n await onShopNow?.(fullProductData, selectedGifts)\n } finally {\n setShopNowLoading(false)\n }\n }\n\n return (\n <div\n ref={ref}\n className={cn(\n 'bg-container-primary rounded-box flex items-stretch overflow-hidden',\n // \u6839\u636E\u5E03\u5C40\u6A21\u5F0F\u8C03\u6574\u5BB9\u5668\n layout === 'horizontal'\n ? [\n 'laptop:flex-row lg-desktop:min-h-[560px] desktop:min-h-[448px] tablet:min-h-[526px] min-h-[610px] flex-col',\n 'laptop:col-span-2',\n ]\n : ['flex-col justify-between'],\n className\n )}\n {...props}\n >\n {/* \u4EA7\u54C1\u56FE\u7247\u533A\u57DF */}\n <ProductImage\n images={sceneImages}\n name={productData.name}\n layout={layout}\n tags={productData.tags || tags}\n onClick={hasClickHandler ? handleProductImageClick : undefined}\n href={hasClickHandler ? undefined : productHref}\n />\n\n {/* \u4EA7\u54C1\u4FE1\u606F\u533A\u57DF */}\n <div\n className={cn(\n 'bg-container-primary desktop:p-6 flex flex-col justify-between p-4',\n // \u6839\u636E\u5E03\u5C40\u6A21\u5F0F\u8C03\u6574\u5706\u89D2\u548C\u5C3A\u5BF8\n layout === 'horizontal'\n ? [\n 'rounded-r-box laptop:rounded-r-box tablet:rounded-b-box tablet:rounded-l-none',\n // \u4F7F\u7528 flex-basis \u8BBE\u7F6E\u5BBD\u5EA6\u6BD4\u4F8B\n 'laptop:basis-[39.1%]', // 360px / 921px \u2248 39.1%\n 'desktop:basis-[42.1%]', // 552px / 1312px \u2248 42.1%\n 'lg-desktop:basis-[42.1%]', // 700px / 1664px \u2248 42.1%\n 'shrink-0',\n ]\n : ['rounded-b-box', 'w-full', 'grow']\n )}\n >\n <div className=\"flex flex-1 flex-col justify-between gap-6\">\n {/* \u4EA7\u54C1\u6807\u9898\u548C\u63CF\u8FF0 */}\n <ProductInfo\n name={productData.name}\n onClick={hasClickHandler ? handleProductImageClick : undefined}\n href={hasClickHandler ? undefined : productHref}\n description={productData.description}\n classNames={classNames}\n />\n\n {/* \u514D\u8D39\u8D60\u54C1\u533A\u57DF */}\n <GiftSelection\n freeGiftLabel={productData.freeGiftLabel}\n freeGifts={giftsWithSelection}\n onGiftClick={handleGiftClick}\n giftType={giftType}\n selectedGiftSku={selectedGiftSku}\n />\n <PriceAndActions\n currentPrice={productData.currentPrice ?? ''}\n originalPrice={productData.originalPrice}\n priceLabel={productData.priceLabel}\n learnMoreText={productData.learnMoreText}\n shopNowText={productData.shopNowText}\n soldOutText={soldOutText}\n onLearnMore={handleLearnMoreClick}\n onShopNow={handleShopNowClick}\n availableForSale={productData.availableForSale}\n learnMoreLoading={learnMoreLoading}\n shopNowLoading={shopNowLoading}\n trackingTitle={productData.name}\n trackingDescription={productData.description}\n trackingSku={productData.sku}\n classNames={classNames}\n />\n </div>\n </div>\n </div>\n )\n }\n)\n\nProductCard.displayName = 'BuyOneGetOneShelf.ProductCard'\n\nexport default ProductCard\n"],
5
- "mappings": "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",
6
- "names": ["ProductCard_exports", "__export", "ProductCard_default", "__toCommonJS", "import_jsx_runtime", "React", "import_helpers", "import_ProductImage", "import_ProductInfo", "import_GiftSelection", "import_PriceAndActions", "import_context", "ProductCard", "productData", "gifts", "giftType", "selectedGiftSku", "sceneImages", "tags", "layoutProp", "className", "onProductClick", "onProductImageClick", "onLearnMore", "onShopNow", "onGiftClick", "onGiftSelectionChange", "classNames", "soldOutText", "props", "ref", "contextLayout", "layout", "learnMoreLoading", "setLearnMoreLoading", "shopNowLoading", "setShopNowLoading", "selectedGiftIds", "setSelectedGiftIds", "gift", "giftsWithSelection", "prevSelectedIds", "currentSelectedId", "fullProductData", "handleGiftClick", "currentSelectedGifts", "g", "newSelectedIds", "newSelectedGifts", "hasClickHandler", "productHref", "handleProductImageClick", "handleLearnMoreClick", "selectedGifts", "handleShopNowClick", "ProductImage", "ProductInfo", "GiftSelection", "PriceAndActions"]
4
+ "sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport { cn } from '../../helpers/index.js'\nimport ProductImage from './ProductImage.js'\nimport ProductInfo from './ProductInfo.js'\nimport GiftSelection from './GiftSelection.js'\nimport PriceAndActions from './PriceAndActions.js'\nimport { BuyOneGetOneShelfContext } from './context.js'\nimport type {\n FreeGift,\n FreeGiftWithSelection,\n ProductCardData,\n PureProductData,\n ProductTag,\n BuyOneGetOneShelfProductCardSemanticName,\n} from './types.js'\n\nexport interface ProductCardProps extends React.HTMLAttributes<HTMLDivElement> {\n /** \u4EA7\u54C1\u6570\u636E\uFF08\u4E0D\u5305\u542B\u8D60\u54C1\u4FE1\u606F\uFF09 */\n productData: PureProductData\n /** \u8D60\u54C1\u5217\u8868 */\n gifts?: FreeGift[]\n /** \u8D60\u54C1\u7C7B\u578B 1-> \u8D60\u9001\u5176\u4E2D\u4E00\u4E2A\u8D60\u54C1\uFF0C 2 -> \u8D60\u9001\u6240\u6709\u8D60\u54C1 */\n giftType?: 1 | 2\n /** \u573A\u666F\u56FE\u7247 */\n sceneImages: any\n /** \u4EA7\u54C1\u6807\u7B7E */\n tags?: ProductTag[]\n /** \u5F53\u524D\u9009\u4E2D\u7684\u8D60\u54C1SKU\uFF08\u53D7\u63A7\u7EC4\u4EF6\uFF09 */\n selectedGiftSku?: string\n /** @deprecated Layout is now automatically inferred by Root based on children count. */\n layout?: 'horizontal' | 'vertical'\n classNames?: Partial<Record<BuyOneGetOneShelfProductCardSemanticName, string>>\n soldOutText?: string\n /** @deprecated Use `onProductImageClick` instead. */\n onProductClick?: (product: ProductCardData) => void\n /** \u4EA7\u54C1\u56FE\u7247\u70B9\u51FB\u56DE\u8C03 */\n onProductImageClick?: (product: ProductCardData) => void\n /** Learn More \u70B9\u51FB\u56DE\u8C03 */\n onLearnMore?: (product: ProductCardData, selectedGifts: FreeGift[]) => void\n /** Shop Now \u70B9\u51FB\u56DE\u8C03 */\n onShopNow?: (product: ProductCardData, selectedGifts: FreeGift[]) => void\n /** \u8D60\u54C1\u70B9\u51FB\u56DE\u8C03 */\n onGiftClick?: (gift: FreeGift, selectedGifts: FreeGift[]) => void\n /** \u8D60\u54C1\u9009\u62E9\u53D8\u5316\u56DE\u8C03 */\n onGiftSelectionChange?: (selectedGifts: FreeGift[], product: ProductCardData) => void\n /** \u9009\u4E2D\u8D60\u54C1SKU\u53D8\u5316\u56DE\u8C03\uFF08\u53D7\u63A7\u7EC4\u4EF6\uFF09 */\n onSelectedGiftSkuChange?: (selectedSku: string | null) => void\n}\n\n/**\n * ProductCard - \u4E70\u8D60\u8D27\u67B6\u4EA7\u54C1\u5361\u7247\n *\n * @description \u7528\u4E8E\u4E70\u4E00\u8D60\u4E00\u6D3B\u52A8\u7684\u4EA7\u54C1\u5C55\u793A\u5361\u7247\uFF0C\u5DE6\u4FA7\u5C55\u793A\u4EA7\u54C1\u56FE\u7247\u548C\u6807\u7B7E\uFF0C\u53F3\u4FA7\u5C55\u793A\u4EA7\u54C1\u4FE1\u606F\u3001\u8D60\u54C1\u548C\u8D2D\u4E70\u6309\u94AE\n */\nconst ProductCard = React.forwardRef<HTMLDivElement, ProductCardProps>(\n (\n {\n productData,\n gifts = [],\n giftType = 1,\n selectedGiftSku,\n sceneImages,\n tags,\n layout: layoutProp,\n className,\n onProductClick,\n onProductImageClick,\n onLearnMore,\n onShopNow,\n onGiftClick,\n onGiftSelectionChange,\n classNames,\n soldOutText,\n ...props\n },\n ref\n ) => {\n const { layout: contextLayout, theme } = React.useContext(BuyOneGetOneShelfContext)\n const layout = layoutProp ?? contextLayout\n\n const [learnMoreLoading, setLearnMoreLoading] = React.useState(false)\n const [shopNowLoading, setShopNowLoading] = React.useState(false)\n\n // \u5185\u90E8\u72B6\u6001\u7BA1\u7406\u8D60\u54C1\u7684\u9009\u62E9\u72B6\u6001 - \u4F7F\u7528\u9009\u4E2D\u7684ID\u6570\u7EC4\u800C\u4E0D\u662F\u4FEE\u6539gift\u5BF9\u8C61\n const [selectedGiftIds, setSelectedGiftIds] = React.useState<string[]>(() => {\n if (!gifts || gifts.length === 0) return []\n\n if (giftType === 2) {\n // gift_type 2 (\u5168\u9009\u6A21\u5F0F) - \u9009\u4E2D\u6240\u6709\u8D60\u54C1\n return gifts.map((gift: FreeGift) => gift.id)\n } else {\n // gift_type 1 (\u5355\u9009\u6A21\u5F0F) - \u9ED8\u8BA4\u9009\u4E2D\u7B2C\u4E00\u4E2A\u8D60\u54C1\n return [gifts[0].id]\n }\n })\n\n // \u751F\u6210\u5E26\u6709\u9009\u62E9\u72B6\u6001\u7684\u8D60\u54C1\u5217\u8868\u7528\u4E8E\u6E32\u67D3\n const giftsWithSelection = React.useMemo(() => {\n if (!gifts) return []\n\n return gifts.map((gift: FreeGift) => ({\n ...gift,\n selected: selectedGiftIds.includes(gift.id),\n }))\n }, [gifts, selectedGiftIds])\n\n // \u5F53 gifts \u6216 giftType \u66F4\u65B0\u65F6\uFF0C\u540C\u6B65\u66F4\u65B0\u5185\u90E8\u72B6\u6001\n React.useEffect(() => {\n if (!gifts || gifts.length === 0) {\n setSelectedGiftIds([])\n return\n }\n\n if (giftType === 2) {\n // gift_type 2 (\u5168\u9009\u6A21\u5F0F) - \u9009\u4E2D\u6240\u6709\u8D60\u54C1\n setSelectedGiftIds(gifts.map((gift: FreeGift) => gift.id))\n } else {\n // gift_type 1 (\u5355\u9009\u6A21\u5F0F) - \u667A\u80FD\u72B6\u6001\u7BA1\u7406\n setSelectedGiftIds(prevSelectedIds => {\n // \u68C0\u67E5\u5F53\u524D\u9009\u4E2D\u7684\u793C\u54C1\u662F\u5426\u4ECD\u7136\u5B58\u5728\u4E8E\u65B0\u7684 gifts \u5217\u8868\u4E2D\n const currentSelectedId = prevSelectedIds[0]\n const isCurrentSelectionValid =\n currentSelectedId && gifts.some((gift: FreeGift) => gift.id === currentSelectedId)\n\n // \u5982\u679C\u5F53\u524D\u9009\u4E2D\u72B6\u6001\u4ECD\u7136\u6709\u6548\uFF0C\u4FDD\u6301\u4E0D\u53D8\uFF1B\u5426\u5219\u9ED8\u8BA4\u9009\u4E2D\u7B2C\u4E00\u4E2A\n return isCurrentSelectionValid ? [currentSelectedId] : [gifts[0].id]\n })\n }\n }, [gifts, giftType])\n\n // \u6784\u9020\u5B8C\u6574\u7684\u4EA7\u54C1\u6570\u636E\u7528\u4E8E\u56DE\u8C03\n const fullProductData: ProductCardData = React.useMemo(\n () => ({\n ...productData,\n gifts,\n gift_type: giftType,\n }),\n [productData, gifts, giftType]\n )\n\n const handleGiftClick = (gift: FreeGift) => {\n // gift_type 2 (\u5168\u9009\u6A21\u5F0F) - \u4E0D\u5141\u8BB8\u53D6\u6D88\u9009\u62E9\uFF0C\u76F4\u63A5\u8FD4\u56DE\n if (giftType === 2) {\n // \u83B7\u53D6\u5F53\u524D\u6240\u6709\u9009\u4E2D\u7684gifts\u4F5C\u4E3A\u7B2C\u4E8C\u4E2A\u53C2\u6570\n const currentSelectedGifts = giftsWithSelection.filter((g: FreeGiftWithSelection) => g.selected)\n onGiftClick?.(gift, currentSelectedGifts)\n return\n }\n\n // gift_type 1 (\u5355\u9009\u6A21\u5F0F)\n setSelectedGiftIds(() => {\n const newSelectedIds = [gift.id] // \u5355\u9009\uFF1A\u59CB\u7EC8\u9009\u4E2D\u5F53\u524D\u9879\uFF0C\u70B9\u51FB\u5DF2\u9009\u4E2D\u9879\u4FDD\u6301\u72B6\u6001\uFF0C\u70B9\u51FB\u672A\u9009\u4E2D\u9879\u5207\u6362\u5230\u8BE5\u9879\n\n // \u8BA1\u7B97\u65B0\u7684\u9009\u4E2Dgifts\u4F5C\u4E3A\u7B2C\u4E8C\u4E2A\u53C2\u6570\u4F20\u9012\u7ED9\u56DE\u8C03\n const newSelectedGifts = gifts?.filter((g: FreeGift) => newSelectedIds.includes(g.id)) || []\n\n // \u8C03\u7528\u56DE\u8C03\u51FD\u6570\uFF0C\u7B2C\u4E8C\u4E2A\u53C2\u6570\u662F\u5F53\u524D\u9009\u4E2D\u7684gifts\n onGiftClick?.(gift, newSelectedGifts)\n onGiftSelectionChange?.(newSelectedGifts, fullProductData)\n\n return newSelectedIds\n })\n }\n\n const hasClickHandler = !!(onProductImageClick ?? onProductClick)\n const productHref = `/products/${productData.handle}`\n\n const handleProductImageClick = () => {\n const callback = onProductImageClick ?? onProductClick\n callback?.(fullProductData)\n }\n\n const handleLearnMoreClick = async () => {\n const selectedGifts = giftsWithSelection.filter(gift => gift.selected)\n setLearnMoreLoading(true)\n try {\n await onLearnMore?.(fullProductData, selectedGifts)\n } finally {\n setLearnMoreLoading(false)\n }\n }\n\n const handleShopNowClick = async () => {\n const selectedGifts = giftsWithSelection.filter(gift => gift.selected)\n setShopNowLoading(true)\n try {\n await onShopNow?.(fullProductData, selectedGifts)\n } finally {\n setShopNowLoading(false)\n }\n }\n\n return (\n <div\n ref={ref}\n className={cn(\n 'bg-container-primary rounded-box flex items-stretch overflow-hidden',\n // \u6839\u636E\u5E03\u5C40\u6A21\u5F0F\u8C03\u6574\u5BB9\u5668\n layout === 'horizontal'\n ? [\n 'laptop:flex-row lg-desktop:min-h-[560px] desktop:min-h-[448px] tablet:min-h-[526px] min-h-[610px] flex-col',\n 'laptop:col-span-2',\n ]\n : ['flex-col justify-between'],\n className\n )}\n {...props}\n >\n {/* \u4EA7\u54C1\u56FE\u7247\u533A\u57DF */}\n <ProductImage\n images={sceneImages}\n name={productData.name}\n layout={layout}\n tags={productData.tags || tags}\n onClick={hasClickHandler ? handleProductImageClick : undefined}\n href={hasClickHandler ? undefined : productHref}\n />\n\n {/* \u4EA7\u54C1\u4FE1\u606F\u533A\u57DF */}\n <div\n className={cn(\n 'bg-container-primary desktop:p-6 flex flex-col justify-between p-4',\n // \u6839\u636E\u5E03\u5C40\u6A21\u5F0F\u8C03\u6574\u5706\u89D2\u548C\u5C3A\u5BF8\n layout === 'horizontal'\n ? [\n 'rounded-r-box laptop:rounded-r-box tablet:rounded-b-box tablet:rounded-l-none',\n // \u4F7F\u7528 flex-basis \u8BBE\u7F6E\u5BBD\u5EA6\u6BD4\u4F8B\n 'laptop:basis-[39.1%]', // 360px / 921px \u2248 39.1%\n 'desktop:basis-[42.1%]', // 552px / 1312px \u2248 42.1%\n 'lg-desktop:basis-[42.1%]', // 700px / 1664px \u2248 42.1%\n 'shrink-0',\n ]\n : ['rounded-b-box', 'w-full', 'grow']\n )}\n >\n <div className=\"flex flex-1 flex-col justify-between gap-6\">\n {/* \u4EA7\u54C1\u6807\u9898\u548C\u63CF\u8FF0 */}\n <ProductInfo\n name={productData.name}\n onClick={hasClickHandler ? handleProductImageClick : undefined}\n href={hasClickHandler ? undefined : productHref}\n description={productData.description}\n classNames={classNames}\n />\n\n {/* \u514D\u8D39\u8D60\u54C1\u533A\u57DF */}\n <GiftSelection\n freeGiftLabel={productData.freeGiftLabel}\n freeGifts={giftsWithSelection}\n onGiftClick={handleGiftClick}\n giftType={giftType}\n selectedGiftSku={selectedGiftSku}\n theme={theme}\n />\n <PriceAndActions\n currentPrice={productData.currentPrice ?? ''}\n originalPrice={productData.originalPrice}\n priceLabel={productData.priceLabel}\n learnMoreText={productData.learnMoreText}\n shopNowText={productData.shopNowText}\n soldOutText={soldOutText}\n onLearnMore={handleLearnMoreClick}\n onShopNow={handleShopNowClick}\n availableForSale={productData.availableForSale}\n learnMoreLoading={learnMoreLoading}\n shopNowLoading={shopNowLoading}\n trackingTitle={productData.name}\n trackingDescription={productData.description}\n trackingSku={productData.sku}\n classNames={classNames}\n />\n </div>\n </div>\n </div>\n )\n }\n)\n\nProductCard.displayName = 'BuyOneGetOneShelf.ProductCard'\n\nexport default ProductCard\n"],
5
+ "mappings": "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",
6
+ "names": ["ProductCard_exports", "__export", "ProductCard_default", "__toCommonJS", "import_jsx_runtime", "React", "import_helpers", "import_ProductImage", "import_ProductInfo", "import_GiftSelection", "import_PriceAndActions", "import_context", "ProductCard", "productData", "gifts", "giftType", "selectedGiftSku", "sceneImages", "tags", "layoutProp", "className", "onProductClick", "onProductImageClick", "onLearnMore", "onShopNow", "onGiftClick", "onGiftSelectionChange", "classNames", "soldOutText", "props", "ref", "contextLayout", "theme", "layout", "learnMoreLoading", "setLearnMoreLoading", "shopNowLoading", "setShopNowLoading", "selectedGiftIds", "setSelectedGiftIds", "gift", "giftsWithSelection", "prevSelectedIds", "currentSelectedId", "fullProductData", "handleGiftClick", "currentSelectedGifts", "g", "newSelectedIds", "newSelectedGifts", "hasClickHandler", "productHref", "handleProductImageClick", "handleLearnMoreClick", "selectedGifts", "handleShopNowClick", "ProductImage", "ProductInfo", "GiftSelection", "PriceAndActions"]
7
7
  }
@@ -1,4 +1,5 @@
1
1
  import * as React from 'react';
2
2
  export declare const BuyOneGetOneShelfContext: React.Context<{
3
3
  layout: "horizontal" | "vertical";
4
+ theme?: "light" | "dark";
4
5
  }>;
@@ -1,2 +1,2 @@
1
- "use strict";var c=Object.create;var n=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var h=Object.getOwnPropertyNames;var u=Object.getPrototypeOf,x=Object.prototype.hasOwnProperty;var y=(t,o)=>{for(var e in o)n(t,e,{get:o[e],enumerable:!0})},l=(t,o,e,r)=>{if(o&&typeof o=="object"||typeof o=="function")for(let a of h(o))!x.call(t,a)&&a!==e&&n(t,a,{get:()=>o[a],enumerable:!(r=i(o,a))||r.enumerable});return t};var f=(t,o,e)=>(e=t!=null?c(u(t)):{},l(o||!t||!t.__esModule?n(e,"default",{value:t,enumerable:!0}):e,t)),m=t=>l(n({},"__esModule",{value:!0}),t);var z={};y(z,{BuyOneGetOneShelfContext:()=>s});module.exports=m(z);var p=f(require("react"));const s=p.createContext({layout:"horizontal"});
1
+ "use strict";var h=Object.create;var r=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var m=Object.getPrototypeOf,u=Object.prototype.hasOwnProperty;var x=(t,e)=>{for(var o in e)r(t,o,{get:e[o],enumerable:!0})},n=(t,e,o,l)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of c(e))!u.call(t,a)&&a!==o&&r(t,a,{get:()=>e[a],enumerable:!(l=i(e,a))||l.enumerable});return t};var y=(t,e,o)=>(o=t!=null?h(m(t)):{},n(e||!t||!t.__esModule?r(o,"default",{value:t,enumerable:!0}):o,t)),f=t=>n(r({},"__esModule",{value:!0}),t);var z={};x(z,{BuyOneGetOneShelfContext:()=>s});module.exports=f(z);var p=y(require("react"));const s=p.createContext({layout:"horizontal"});
2
2
  //# sourceMappingURL=context.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/biz-components/BuyOneGetOneShelf/context.tsx"],
4
- "sourcesContent": ["import * as React from 'react'\n\nexport const BuyOneGetOneShelfContext = React.createContext<{\n layout: 'horizontal' | 'vertical'\n}>({\n layout: 'horizontal',\n})\n"],
5
- "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,8BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAuB,oBAEhB,MAAMF,EAA2BE,EAAM,cAE3C,CACD,OAAQ,YACV,CAAC",
4
+ "sourcesContent": ["import * as React from 'react'\n\nexport const BuyOneGetOneShelfContext = React.createContext<{\n layout: 'horizontal' | 'vertical'\n theme?: 'light' | 'dark'\n}>({\n layout: 'horizontal',\n})\n"],
5
+ "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,8BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAuB,oBAEhB,MAAMF,EAA2BE,EAAM,cAG3C,CACD,OAAQ,YACV,CAAC",
6
6
  "names": ["context_exports", "__export", "BuyOneGetOneShelfContext", "__toCommonJS", "React"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";"use client";var D=Object.create;var d=Object.defineProperty;var k=Object.getOwnPropertyDescriptor;var w=Object.getOwnPropertyNames;var I=Object.getPrototypeOf,L=Object.prototype.hasOwnProperty;var T=(e,t)=>{for(var o in t)d(e,o,{get:t[o],enumerable:!0})},R=(e,t,o,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of w(t))!L.call(e,n)&&n!==o&&d(e,n,{get:()=>t[n],enumerable:!(s=k(t,n))||s.enumerable});return e};var O=(e,t,o)=>(o=e!=null?D(I(e)):{},R(t||!e||!e.__esModule?d(o,"default",{value:e,enumerable:!0}):o,e)),z=e=>R(d({},"__esModule",{value:!0}),e);var W={};T(W,{default:()=>F});module.exports=z(W);var a=require("react/jsx-runtime"),r=O(require("react")),i=require("../../helpers/index.js"),C=O(require("./ProductCard.js")),m=require("../../components/index.js"),v=require("../../hooks/useExposure.js");const M="shelf",H="buy_one_get_one_shelf";function x(e){return r.Children.toArray(e).flatMap(t=>r.isValidElement(t)&&t.type===r.Fragment?x(t.props.children):[t])}function V(e){return r.isValidElement(e)?e.props.layout??"horizontal":"horizontal"}function _(e,t){let o=0,s=0;for(let n=0;n<t;n++){const c=V(e[n])==="horizontal"?2:1;c===2&&o>0&&(o=0),o+=c,o===2&&(s=n+1,o=0)}return e.slice(0,s)}const N=r.forwardRef(({className:e,classNames:t={},theme:o,title:s,subtitle:n,children:c,viewMoreThreshold:y=4,viewMoreText:S="View More",viewLessText:B="View Less",...G},P)=>{const u=r.useRef(null),[p,b]=r.useState(!1);(0,v.useExposure)(u,{componentType:M,componentName:H,componentTitle:s,componentDescription:n}),r.useImperativeHandle(P,()=>u.current);const f=x(c),h=f.length>y,E=(h&&!p?_(f,y):f).map(l=>{if(!r.isValidElement(l))return l;const g=l.props;return g.layout==="horizontal"?r.cloneElement(l,{className:(0,i.cn)(g.className,"laptop:col-span-2")}):l});return(0,a.jsxs)("div",{ref:u,className:(0,i.cn)("bogo-shelf-root w-full py-0",{"aiui-dark":o==="dark"},e,t?.root),...G,children:[s&&(0,a.jsx)(m.Heading,{as:"h2",html:s,className:(0,i.cn)("bogo-shelf-title text-info-primary mb-4",t?.title)}),n&&(0,a.jsx)(m.Text,{size:3,as:"p",html:n,className:(0,i.cn)("bogo-shelf-description text-info-primary mb-6",t?.description)}),(0,a.jsx)("div",{className:(0,i.cn)("grid grid-cols-1 gap-6","laptop:grid-cols-2"),children:E}),h&&(0,a.jsx)("div",{className:"mt-6 flex justify-center",children:(0,a.jsxs)("button",{type:"button",onClick:()=>b(l=>!l),"aria-expanded":p,className:(0,i.cn)("hover:text-brand-0 lg-desktop:text-[16px] text-info-primary flex cursor-pointer items-center gap-2 border-none bg-transparent text-[14px] font-bold outline-none transition-colors",t?.viewMoreBtn),children:[p?B:S,(0,a.jsx)("svg",{className:(0,i.cn)("size-4 transition-transform",p&&"rotate-180"),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:(0,a.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]})})]})});N.displayName="BuyOneGetOneShelf.Root";const j={Root:N,ProductCard:C.default};var F=j;
1
+ "use strict";"use client";var k=Object.create;var d=Object.defineProperty;var w=Object.getOwnPropertyDescriptor;var z=Object.getOwnPropertyNames;var I=Object.getPrototypeOf,L=Object.prototype.hasOwnProperty;var T=(e,t)=>{for(var o in t)d(e,o,{get:t[o],enumerable:!0})},O=(e,t,o,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of z(t))!L.call(e,n)&&n!==o&&d(e,n,{get:()=>t[n],enumerable:!(i=w(t,n))||i.enumerable});return e};var R=(e,t,o)=>(o=e!=null?k(I(e)):{},O(t||!e||!e.__esModule?d(o,"default",{value:e,enumerable:!0}):o,e)),M=e=>O(d({},"__esModule",{value:!0}),e);var A={};T(A,{default:()=>W});module.exports=M(A);var r=require("react/jsx-runtime"),a=R(require("react")),s=require("../../helpers/index.js"),C=R(require("./ProductCard.js")),u=require("../../components/index.js"),N=require("./context.js"),S=require("../../hooks/useExposure.js");const H="shelf",V="buy_one_get_one_shelf";function x(e){return a.Children.toArray(e).flatMap(t=>a.isValidElement(t)&&t.type===a.Fragment?x(t.props.children):[t])}function _(e){return a.isValidElement(e)?e.props.layout??"horizontal":"horizontal"}function j(e,t){let o=0,i=0;for(let n=0;n<t;n++){const p=_(e[n])==="horizontal"?2:1;p===2&&o>0&&(o=0),o+=p,o===2&&(i=n+1,o=0)}return e.slice(0,i)}const v=a.forwardRef(({className:e,classNames:t={},theme:o,title:i,subtitle:n,children:p,viewMoreThreshold:y=4,viewMoreText:B="View More",viewLessText:G="View Less",...P},b)=>{const f=a.useRef(null),[c,E]=a.useState(!1);(0,S.useExposure)(f,{componentType:H,componentName:V,componentTitle:i,componentDescription:n}),a.useImperativeHandle(b,()=>f.current);const m=x(p),h=m.length>y,D=(h&&!c?j(m,y):m).map(l=>{if(!a.isValidElement(l))return l;const g=l.props;return g.layout==="horizontal"?a.cloneElement(l,{className:(0,s.cn)(g.className,"laptop:col-span-2")}):l});return(0,r.jsx)(N.BuyOneGetOneShelfContext.Provider,{value:{layout:"horizontal",theme:o},children:(0,r.jsxs)("div",{ref:f,className:(0,s.cn)("bogo-shelf-root w-full py-0",{"aiui-dark":o==="dark"},e,t?.root),...P,children:[i&&(0,r.jsx)(u.Heading,{as:"h2",html:i,className:(0,s.cn)("bogo-shelf-title text-info-primary mb-4",t?.title)}),n&&(0,r.jsx)(u.Text,{size:3,as:"p",html:n,className:(0,s.cn)("bogo-shelf-description text-info-primary mb-6",t?.description)}),(0,r.jsx)("div",{className:(0,s.cn)("grid grid-cols-1 gap-6","laptop:grid-cols-2"),children:D}),h&&(0,r.jsx)("div",{className:"mt-6 flex justify-center",children:(0,r.jsxs)("button",{type:"button",onClick:()=>E(l=>!l),"aria-expanded":c,className:(0,s.cn)("hover:text-brand-0 lg-desktop:text-[16px] text-info-primary flex cursor-pointer items-center gap-2 border-none bg-transparent text-[14px] font-bold outline-none transition-colors",t?.viewMoreBtn),children:[c?G:B,(0,r.jsx)("svg",{className:(0,s.cn)("size-4 transition-transform",c&&"rotate-180"),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]})})]})})});v.displayName="BuyOneGetOneShelf.Root";const F={Root:v,ProductCard:C.default};var W=F;
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/biz-components/BuyOneGetOneShelf/index.tsx"],
4
- "sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport { cn } from '../../helpers/index.js'\nimport ProductCard from './ProductCard.js'\nimport { Heading, Text } from '../../components/index.js'\nimport type { BuyOneGetOneShelfProps } from './types.js'\nimport { useExposure } from '../../hooks/useExposure.js'\n\nconst componentType = 'shelf'\nconst componentName = 'buy_one_get_one_shelf'\n\nfunction flattenChildren(children: React.ReactNode): React.ReactNode[] {\n return React.Children.toArray(children).flatMap(child => {\n if (React.isValidElement(child) && child.type === React.Fragment) {\n return flattenChildren((child.props as { children?: React.ReactNode }).children)\n }\n return [child]\n })\n}\n\nfunction getLayout(node: React.ReactNode): string {\n if (React.isValidElement(node)) {\n return (node.props as { layout?: string }).layout ?? 'horizontal'\n }\n return 'horizontal'\n}\n\nfunction sliceToCompleteRow(all: React.ReactNode[], threshold: number): React.ReactNode[] {\n let filledInRow = 0\n let lastCompleteIndex = 0\n for (let i = 0; i < threshold; i++) {\n const span = getLayout(all[i]) === 'horizontal' ? 2 : 1\n if (span === 2 && filledInRow > 0) filledInRow = 0\n filledInRow += span\n if (filledInRow === 2) {\n lastCompleteIndex = i + 1\n filledInRow = 0\n }\n }\n return all.slice(0, lastCompleteIndex)\n}\n\nconst BuyOneGetOneShelfRoot = React.forwardRef<HTMLDivElement, BuyOneGetOneShelfProps>(\n (\n {\n className,\n classNames = {},\n theme,\n title,\n subtitle,\n children,\n viewMoreThreshold = 4,\n viewMoreText = 'View More',\n viewLessText = 'View Less',\n ...props\n },\n ref\n ) => {\n const boxRef = React.useRef<HTMLDivElement>(null)\n const [isExpanded, setIsExpanded] = React.useState(false)\n\n useExposure(boxRef, {\n componentType,\n componentName,\n componentTitle: title,\n componentDescription: subtitle,\n })\n\n React.useImperativeHandle(ref, () => boxRef.current as HTMLDivElement)\n\n const childrenArray = flattenChildren(children)\n const needCollapse = childrenArray.length > viewMoreThreshold\n const displayedChildren =\n needCollapse && !isExpanded ? sliceToCompleteRow(childrenArray, viewMoreThreshold) : childrenArray\n\n const renderedChildren = displayedChildren.map(child => {\n if (!React.isValidElement(child)) return child\n const childProps = child.props as { layout?: string; className?: string }\n if (childProps.layout === 'horizontal') {\n return React.cloneElement(child as React.ReactElement<{ className?: string }>, {\n className: cn(childProps.className, 'laptop:col-span-2'),\n })\n }\n return child\n })\n\n return (\n <div\n ref={boxRef}\n className={cn(\n 'bogo-shelf-root w-full py-0',\n {\n 'aiui-dark': theme === 'dark',\n },\n className,\n classNames?.root\n )}\n {...props}\n >\n {title && (\n <Heading as=\"h2\" html={title} className={cn('bogo-shelf-title text-info-primary mb-4', classNames?.title)} />\n )}\n {subtitle && (\n <Text\n size={3}\n as=\"p\"\n html={subtitle}\n className={cn('bogo-shelf-description text-info-primary mb-6', classNames?.description)}\n />\n )}\n <div className={cn('grid grid-cols-1 gap-6', 'laptop:grid-cols-2')}>{renderedChildren}</div>\n {needCollapse && (\n <div className=\"mt-6 flex justify-center\">\n <button\n type=\"button\"\n onClick={() => setIsExpanded(prev => !prev)}\n aria-expanded={isExpanded}\n className={cn(\n 'hover:text-brand-0 lg-desktop:text-[16px] text-info-primary flex cursor-pointer items-center gap-2 border-none bg-transparent text-[14px] font-bold outline-none transition-colors',\n classNames?.viewMoreBtn\n )}\n >\n {isExpanded ? viewLessText : viewMoreText}\n <svg\n className={cn('size-4 transition-transform', isExpanded && 'rotate-180')}\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n aria-hidden=\"true\"\n >\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M19 9l-7 7-7-7\" />\n </svg>\n </button>\n </div>\n )}\n </div>\n )\n }\n)\n\nBuyOneGetOneShelfRoot.displayName = 'BuyOneGetOneShelf.Root'\n\n// \u521B\u5EFA\u547D\u540D\u7A7A\u95F4\u5BF9\u8C61\uFF0C\u5305\u542B Root \u548C ProductCard \u7EC4\u4EF6\nconst BuyOneGetOneShelf = {\n Root: BuyOneGetOneShelfRoot,\n ProductCard: ProductCard,\n}\n\nexport default BuyOneGetOneShelf\n\n// Re-export types for external use\nexport type {\n FreeGift,\n FreeGiftWithSelection,\n ProductTag,\n BuyOneGetOneShelfSemanticName,\n BuyOneGetOneShelfRootSemanticName,\n BuyOneGetOneShelfProductCardSemanticName,\n ResponsiveImage,\n ResponsiveImages,\n BaseProductData,\n PureProductData,\n WithGiftData,\n ProductData,\n ProductCardData,\n CopyConfig,\n BogoItem,\n BuyOneGetOneShelfData,\n BuyOneGetOneShelfProps,\n BuyOneGetOneShelfCardProps,\n} from './types.js'\n"],
5
- "mappings": "ukBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GAqGU,IAAAI,EAAA,6BAnGVC,EAAuB,oBACvBC,EAAmB,kCACnBC,EAAwB,+BACxBC,EAA8B,qCAE9BC,EAA4B,sCAE5B,MAAMC,EAAgB,QAChBC,EAAgB,wBAEtB,SAASC,EAAgBC,EAA8C,CACrE,OAAOR,EAAM,SAAS,QAAQQ,CAAQ,EAAE,QAAQC,GAC1CT,EAAM,eAAeS,CAAK,GAAKA,EAAM,OAAST,EAAM,SAC/CO,EAAiBE,EAAM,MAAyC,QAAQ,EAE1E,CAACA,CAAK,CACd,CACH,CAEA,SAASC,EAAUC,EAA+B,CAChD,OAAIX,EAAM,eAAeW,CAAI,EACnBA,EAAK,MAA8B,QAAU,aAEhD,YACT,CAEA,SAASC,EAAmBC,EAAwBC,EAAsC,CACxF,IAAIC,EAAc,EACdC,EAAoB,EACxB,QAASC,EAAI,EAAGA,EAAIH,EAAWG,IAAK,CAClC,MAAMC,EAAOR,EAAUG,EAAII,CAAC,CAAC,IAAM,aAAe,EAAI,EAClDC,IAAS,GAAKH,EAAc,IAAGA,EAAc,GACjDA,GAAeG,EACXH,IAAgB,IAClBC,EAAoBC,EAAI,EACxBF,EAAc,EAElB,CACA,OAAOF,EAAI,MAAM,EAAGG,CAAiB,CACvC,CAEA,MAAMG,EAAwBnB,EAAM,WAClC,CACE,CACE,UAAAoB,EACA,WAAAC,EAAa,CAAC,EACd,MAAAC,EACA,MAAAC,EACA,SAAAC,EACA,SAAAhB,EACA,kBAAAiB,EAAoB,EACpB,aAAAC,EAAe,YACf,aAAAC,EAAe,YACf,GAAGC,CACL,EACAC,IACG,CACH,MAAMC,EAAS9B,EAAM,OAAuB,IAAI,EAC1C,CAAC+B,EAAYC,CAAa,EAAIhC,EAAM,SAAS,EAAK,KAExD,eAAY8B,EAAQ,CAClB,cAAAzB,EACA,cAAAC,EACA,eAAgBiB,EAChB,qBAAsBC,CACxB,CAAC,EAEDxB,EAAM,oBAAoB6B,EAAK,IAAMC,EAAO,OAAyB,EAErE,MAAMG,EAAgB1B,EAAgBC,CAAQ,EACxC0B,EAAeD,EAAc,OAASR,EAItCU,GAFJD,GAAgB,CAACH,EAAanB,EAAmBqB,EAAeR,CAAiB,EAAIQ,GAE5C,IAAIxB,GAAS,CACtD,GAAI,CAACT,EAAM,eAAeS,CAAK,EAAG,OAAOA,EACzC,MAAM2B,EAAa3B,EAAM,MACzB,OAAI2B,EAAW,SAAW,aACjBpC,EAAM,aAAaS,EAAqD,CAC7E,aAAW,MAAG2B,EAAW,UAAW,mBAAmB,CACzD,CAAC,EAEI3B,CACT,CAAC,EAED,SACE,QAAC,OACC,IAAKqB,EACL,aAAW,MACT,8BACA,CACE,YAAaR,IAAU,MACzB,EACAF,EACAC,GAAY,IACd,EACC,GAAGO,EAEH,UAAAL,MACC,OAAC,WAAQ,GAAG,KAAK,KAAMA,EAAO,aAAW,MAAG,0CAA2CF,GAAY,KAAK,EAAG,EAE5GG,MACC,OAAC,QACC,KAAM,EACN,GAAG,IACH,KAAMA,EACN,aAAW,MAAG,gDAAiDH,GAAY,WAAW,EACxF,KAEF,OAAC,OAAI,aAAW,MAAG,yBAA0B,oBAAoB,EAAI,SAAAc,EAAiB,EACrFD,MACC,OAAC,OAAI,UAAU,2BACb,oBAAC,UACC,KAAK,SACL,QAAS,IAAMF,EAAcK,GAAQ,CAACA,CAAI,EAC1C,gBAAeN,EACf,aAAW,MACT,qLACAV,GAAY,WACd,EAEC,UAAAU,EAAaJ,EAAeD,KAC7B,OAAC,OACC,aAAW,MAAG,8BAA+BK,GAAc,YAAY,EACvE,KAAK,OACL,OAAO,eACP,QAAQ,YACR,cAAY,OAEZ,mBAAC,QAAK,cAAc,QAAQ,eAAe,QAAQ,YAAa,EAAG,EAAE,iBAAiB,EACxF,GACF,EACF,GAEJ,CAEJ,CACF,EAEAZ,EAAsB,YAAc,yBAGpC,MAAMmB,EAAoB,CACxB,KAAMnB,EACN,YAAa,EAAAoB,OACf,EAEA,IAAO1C,EAAQyC",
6
- "names": ["BuyOneGetOneShelf_exports", "__export", "BuyOneGetOneShelf_default", "__toCommonJS", "import_jsx_runtime", "React", "import_helpers", "import_ProductCard", "import_components", "import_useExposure", "componentType", "componentName", "flattenChildren", "children", "child", "getLayout", "node", "sliceToCompleteRow", "all", "threshold", "filledInRow", "lastCompleteIndex", "i", "span", "BuyOneGetOneShelfRoot", "className", "classNames", "theme", "title", "subtitle", "viewMoreThreshold", "viewMoreText", "viewLessText", "props", "ref", "boxRef", "isExpanded", "setIsExpanded", "childrenArray", "needCollapse", "renderedChildren", "childProps", "prev", "BuyOneGetOneShelf", "ProductCard"]
4
+ "sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport { cn } from '../../helpers/index.js'\nimport ProductCard from './ProductCard.js'\nimport { Heading, Text } from '../../components/index.js'\nimport { BuyOneGetOneShelfContext } from './context.js'\nimport type { BuyOneGetOneShelfProps } from './types.js'\nimport { useExposure } from '../../hooks/useExposure.js'\n\nconst componentType = 'shelf'\nconst componentName = 'buy_one_get_one_shelf'\n\nfunction flattenChildren(children: React.ReactNode): React.ReactNode[] {\n return React.Children.toArray(children).flatMap(child => {\n if (React.isValidElement(child) && child.type === React.Fragment) {\n return flattenChildren((child.props as { children?: React.ReactNode }).children)\n }\n return [child]\n })\n}\n\nfunction getLayout(node: React.ReactNode): string {\n if (React.isValidElement(node)) {\n return (node.props as { layout?: string }).layout ?? 'horizontal'\n }\n return 'horizontal'\n}\n\nfunction sliceToCompleteRow(all: React.ReactNode[], threshold: number): React.ReactNode[] {\n let filledInRow = 0\n let lastCompleteIndex = 0\n for (let i = 0; i < threshold; i++) {\n const span = getLayout(all[i]) === 'horizontal' ? 2 : 1\n if (span === 2 && filledInRow > 0) filledInRow = 0\n filledInRow += span\n if (filledInRow === 2) {\n lastCompleteIndex = i + 1\n filledInRow = 0\n }\n }\n return all.slice(0, lastCompleteIndex)\n}\n\nconst BuyOneGetOneShelfRoot = React.forwardRef<HTMLDivElement, BuyOneGetOneShelfProps>(\n (\n {\n className,\n classNames = {},\n theme,\n title,\n subtitle,\n children,\n viewMoreThreshold = 4,\n viewMoreText = 'View More',\n viewLessText = 'View Less',\n ...props\n },\n ref\n ) => {\n const boxRef = React.useRef<HTMLDivElement>(null)\n const [isExpanded, setIsExpanded] = React.useState(false)\n\n useExposure(boxRef, {\n componentType,\n componentName,\n componentTitle: title,\n componentDescription: subtitle,\n })\n\n React.useImperativeHandle(ref, () => boxRef.current as HTMLDivElement)\n\n const childrenArray = flattenChildren(children)\n const needCollapse = childrenArray.length > viewMoreThreshold\n const displayedChildren =\n needCollapse && !isExpanded ? sliceToCompleteRow(childrenArray, viewMoreThreshold) : childrenArray\n\n const renderedChildren = displayedChildren.map(child => {\n if (!React.isValidElement(child)) return child\n const childProps = child.props as { layout?: string; className?: string }\n if (childProps.layout === 'horizontal') {\n return React.cloneElement(child as React.ReactElement<{ className?: string }>, {\n className: cn(childProps.className, 'laptop:col-span-2'),\n })\n }\n return child\n })\n\n return (\n <BuyOneGetOneShelfContext.Provider value={{ layout: 'horizontal', theme }}>\n <div\n ref={boxRef}\n className={cn(\n 'bogo-shelf-root w-full py-0',\n {\n 'aiui-dark': theme === 'dark',\n },\n className,\n classNames?.root\n )}\n {...props}\n >\n {title && (\n <Heading\n as=\"h2\"\n html={title}\n className={cn('bogo-shelf-title text-info-primary mb-4', classNames?.title)}\n />\n )}\n {subtitle && (\n <Text\n size={3}\n as=\"p\"\n html={subtitle}\n className={cn('bogo-shelf-description text-info-primary mb-6', classNames?.description)}\n />\n )}\n <div className={cn('grid grid-cols-1 gap-6', 'laptop:grid-cols-2')}>{renderedChildren}</div>\n {needCollapse && (\n <div className=\"mt-6 flex justify-center\">\n <button\n type=\"button\"\n onClick={() => setIsExpanded(prev => !prev)}\n aria-expanded={isExpanded}\n className={cn(\n 'hover:text-brand-0 lg-desktop:text-[16px] text-info-primary flex cursor-pointer items-center gap-2 border-none bg-transparent text-[14px] font-bold outline-none transition-colors',\n classNames?.viewMoreBtn\n )}\n >\n {isExpanded ? viewLessText : viewMoreText}\n <svg\n className={cn('size-4 transition-transform', isExpanded && 'rotate-180')}\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n aria-hidden=\"true\"\n >\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M19 9l-7 7-7-7\" />\n </svg>\n </button>\n </div>\n )}\n </div>\n </BuyOneGetOneShelfContext.Provider>\n )\n }\n)\n\nBuyOneGetOneShelfRoot.displayName = 'BuyOneGetOneShelf.Root'\n\n// \u521B\u5EFA\u547D\u540D\u7A7A\u95F4\u5BF9\u8C61\uFF0C\u5305\u542B Root \u548C ProductCard \u7EC4\u4EF6\nconst BuyOneGetOneShelf = {\n Root: BuyOneGetOneShelfRoot,\n ProductCard: ProductCard,\n}\n\nexport default BuyOneGetOneShelf\n\n// Re-export types for external use\nexport type {\n FreeGift,\n FreeGiftWithSelection,\n ProductTag,\n BuyOneGetOneShelfSemanticName,\n BuyOneGetOneShelfRootSemanticName,\n BuyOneGetOneShelfProductCardSemanticName,\n ResponsiveImage,\n ResponsiveImages,\n BaseProductData,\n PureProductData,\n WithGiftData,\n ProductData,\n ProductCardData,\n CopyConfig,\n BogoItem,\n BuyOneGetOneShelfData,\n BuyOneGetOneShelfProps,\n BuyOneGetOneShelfCardProps,\n} from './types.js'\n"],
5
+ "mappings": "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",
6
+ "names": ["BuyOneGetOneShelf_exports", "__export", "BuyOneGetOneShelf_default", "__toCommonJS", "import_jsx_runtime", "React", "import_helpers", "import_ProductCard", "import_components", "import_context", "import_useExposure", "componentType", "componentName", "flattenChildren", "children", "child", "getLayout", "node", "sliceToCompleteRow", "all", "threshold", "filledInRow", "lastCompleteIndex", "i", "span", "BuyOneGetOneShelfRoot", "className", "classNames", "theme", "title", "subtitle", "viewMoreThreshold", "viewMoreText", "viewLessText", "props", "ref", "boxRef", "isExpanded", "setIsExpanded", "childrenArray", "needCollapse", "renderedChildren", "childProps", "prev", "BuyOneGetOneShelf", "ProductCard"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";"use client";var m=Object.create;var t=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var S=Object.getPrototypeOf,P=Object.prototype.hasOwnProperty;var M=(e,i)=>{for(var r in i)t(e,r,{get:i[r],enumerable:!0})},d=(e,i,r,n)=>{if(i&&typeof i=="object"||typeof i=="function")for(let s of g(i))!P.call(e,s)&&s!==r&&t(e,s,{get:()=>i[s],enumerable:!(n=u(i,s))||n.enumerable});return e};var B=(e,i,r)=>(r=e!=null?m(S(e)):{},d(i||!e||!e.__esModule?t(r,"default",{value:e,enumerable:!0}):r,e)),y=e=>d(t({},"__esModule",{value:!0}),e);var h={};M(h,{default:()=>b});module.exports=y(h);var o=require("react/jsx-runtime"),w=B(require("react")),l=require("swiper/react"),a=require("swiper/modules"),k=require("swiper/css"),v=require("swiper/css/pagination");const f=w.default.forwardRef(({data:e,Slide:i,id:r,isHalf:n,paginationClassName:s},x)=>(0,o.jsxs)(l.Swiper,{freeMode:!0,mousewheel:{forceToAxis:!0},pagination:{clickable:!0,dynamicBullets:!1,el:`.swiper-pagination-${r}`},className:`!overflow-visible ${s||""}`,modules:[a.FreeMode,a.Mousewheel,a.Pagination],breakpoints:{0:{spaceBetween:16,freeMode:!1,slidesPerView:n?2:1,slidesPerGroup:1},376:{spaceBetween:16,freeMode:!1,slidesPerView:n?2:1,slidesPerGroup:1},767:{spaceBetween:16,freeMode:!1,slidesPerView:4,slidesPerGroup:4},1441:{spaceBetween:16,freeMode:!1,slidesPerView:Math.min(6,e?.list?.length),slidesPerGroup:Math.min(6,e?.list?.length)}},children:[e?.list?.map((c,p)=>(0,o.jsx)(l.SwiperSlide,{className:"!h-[unset]",children:(0,o.jsx)(i,{data:c,configuration:{...e?.configuration,index:p}})},r+"SwiperSlide"+p)),(0,o.jsx)("div",{className:`swiper-pagination-${r} swiper-pagination`})]}));f.displayName="SwiperBox";var b=f;
1
+ "use strict";"use client";var S=Object.create;var l=Object.defineProperty;var M=Object.getOwnPropertyDescriptor;var P=Object.getOwnPropertyNames;var B=Object.getPrototypeOf,y=Object.prototype.hasOwnProperty;var b=(e,i)=>{for(var s in i)l(e,s,{get:i[s],enumerable:!0})},d=(e,i,s,n)=>{if(i&&typeof i=="object"||typeof i=="function")for(let r of P(i))!y.call(e,r)&&r!==s&&l(e,r,{get:()=>i[r],enumerable:!(n=M(i,r))||n.enumerable});return e};var h=(e,i,s)=>(s=e!=null?S(B(e)):{},d(i||!e||!e.__esModule?l(s,"default",{value:e,enumerable:!0}):s,e)),v=e=>d(l({},"__esModule",{value:!0}),e);var N={};b(N,{default:()=>x});module.exports=v(N);var o=require("react/jsx-runtime"),t=h(require("react")),p=require("swiper/react"),a=require("swiper/modules"),k=require("swiper/css"),G=require("swiper/css/pagination");const c=t.default.forwardRef(({data:e,Slide:i,id:s,isHalf:n,paginationClassName:r},u)=>{const[w,m]=(0,t.useState)(!1);return(0,t.useEffect)(()=>{m(!0)},[]),w?(0,o.jsxs)(p.Swiper,{freeMode:!0,mousewheel:{forceToAxis:!0},pagination:{clickable:!0,dynamicBullets:!1,el:`.swiper-pagination-${s}`},className:`!overflow-visible ${r||""}`,modules:[a.FreeMode,a.Mousewheel,a.Pagination],breakpoints:{0:{spaceBetween:16,freeMode:!1,slidesPerView:n?2:1,slidesPerGroup:1},376:{spaceBetween:16,freeMode:!1,slidesPerView:n?2:1,slidesPerGroup:1},767:{spaceBetween:16,freeMode:!1,slidesPerView:4,slidesPerGroup:4},1441:{spaceBetween:16,freeMode:!1,slidesPerView:Math.min(6,e?.list?.length),slidesPerGroup:Math.min(6,e?.list?.length)}},children:[e?.list?.map((g,f)=>(0,o.jsx)(p.SwiperSlide,{className:"!h-[unset]",children:(0,o.jsx)(i,{data:g,configuration:{...e?.configuration,index:f}})},s+"SwiperSlide"+f)),(0,o.jsx)("div",{className:`swiper-pagination-${s} swiper-pagination`})]}):(0,o.jsx)("div",{ref:u})});c.displayName="SwiperBox";var x=c;
2
2
  //# sourceMappingURL=SwiperCategory.js.map