@anker-in/headless-ui 1.1.87 → 1.1.89

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 (412) hide show
  1. package/dist/cjs/biz-components/AccordionCards/index.d.ts +1 -1
  2. package/dist/cjs/biz-components/ActiveShelf/index.d.ts +1 -1
  3. package/dist/cjs/biz-components/ActivitySchedule/index.d.ts +1 -1
  4. package/dist/cjs/biz-components/AiuiProvider/index.d.ts +6 -0
  5. package/dist/cjs/biz-components/AiuiProvider/index.js +1 -1
  6. package/dist/cjs/biz-components/AiuiProvider/index.js.map +3 -3
  7. package/dist/cjs/biz-components/AnchorNavigation/index.d.ts +1 -1
  8. package/dist/cjs/biz-components/AplusDesc/index.d.ts +1 -1
  9. package/dist/cjs/biz-components/BrandCardLink/BrandCardLink.d.ts +1 -1
  10. package/dist/cjs/biz-components/BrandEquity/BrandEquity.d.ts +1 -1
  11. package/dist/cjs/biz-components/BrandEquity/BrandEquity.js +1 -1
  12. package/dist/cjs/biz-components/BrandEquity/BrandEquity.js.map +3 -3
  13. package/dist/cjs/biz-components/BrandEquity/types.d.ts +8 -0
  14. package/dist/cjs/biz-components/BrandEquity/types.js +1 -1
  15. package/dist/cjs/biz-components/BrandEquity/types.js.map +1 -1
  16. package/dist/cjs/biz-components/Category/index.d.ts +1 -1
  17. package/dist/cjs/biz-components/CreativeModule/index.d.ts +1 -1
  18. package/dist/cjs/biz-components/DownLoad/index.d.ts +1 -1
  19. package/dist/cjs/biz-components/Evaluate/index.d.ts +1 -1
  20. package/dist/cjs/biz-components/EventSchedule/index.d.ts +1 -1
  21. package/dist/cjs/biz-components/Faq/Faq.d.ts +1 -1
  22. package/dist/cjs/biz-components/Faq/Faq.js +1 -1
  23. package/dist/cjs/biz-components/Faq/Faq.js.map +2 -2
  24. package/dist/cjs/biz-components/Faq/types.d.ts +1 -0
  25. package/dist/cjs/biz-components/Faq/types.js +1 -1
  26. package/dist/cjs/biz-components/Faq/types.js.map +1 -1
  27. package/dist/cjs/biz-components/FeatureCards/FeatureCards.d.ts +1 -1
  28. package/dist/cjs/biz-components/FeatureShowcase/FeatureShowcase.d.ts +1 -1
  29. package/dist/cjs/biz-components/FeaturedBlogPosts/index.d.ts +1 -1
  30. package/dist/cjs/biz-components/Features/index.d.ts +1 -1
  31. package/dist/cjs/biz-components/FootCharger/index.d.ts +1 -1
  32. package/dist/cjs/biz-components/FooterNavigation/index.d.ts +1 -1
  33. package/dist/cjs/biz-components/GiftBox/index.d.ts +1 -1
  34. package/dist/cjs/biz-components/GiftShelf/index.d.ts +1 -1
  35. package/dist/cjs/biz-components/GiftTierShelf/index.d.ts +1 -1
  36. package/dist/cjs/biz-components/Graphic/index.d.ts +1 -1
  37. package/dist/cjs/biz-components/GraphicAttractionBlock/index.d.ts +1 -1
  38. package/dist/cjs/biz-components/GraphicMore/index.d.ts +1 -1
  39. package/dist/cjs/biz-components/GraphicOverlay/GraphicOverlay.d.ts +1 -1
  40. package/dist/cjs/biz-components/HeaderNavigation/index.d.ts +1 -1
  41. package/dist/cjs/biz-components/HeroBanner/HeroBanner.d.ts +21 -1
  42. package/dist/cjs/biz-components/HeroBanner/HeroBanner.js +1 -1
  43. package/dist/cjs/biz-components/HeroBanner/HeroBanner.js.map +3 -3
  44. package/dist/cjs/biz-components/HeroBanner/HeroBannerCarousel.d.ts +23 -0
  45. package/dist/cjs/biz-components/HeroBanner/HeroBannerCarousel.js +2 -0
  46. package/dist/cjs/biz-components/HeroBanner/HeroBannerCarousel.js.map +7 -0
  47. package/dist/cjs/biz-components/HeroBanner/index.d.ts +1 -0
  48. package/dist/cjs/biz-components/HeroBanner/index.js +1 -1
  49. package/dist/cjs/biz-components/HeroBanner/index.js.map +1 -1
  50. package/dist/cjs/biz-components/HeroBanner/types.d.ts +73 -0
  51. package/dist/cjs/biz-components/HeroBanner/types.js +1 -1
  52. package/dist/cjs/biz-components/HeroBanner/types.js.map +1 -1
  53. package/dist/cjs/biz-components/ImageOverlayShelf/index.d.ts +2 -2
  54. package/dist/cjs/biz-components/ImageOverlayShelf/index.js +1 -1
  55. package/dist/cjs/biz-components/ImageOverlayShelf/index.js.map +3 -3
  56. package/dist/cjs/biz-components/ImageTextFeature/ImageTextFeature.d.ts +1 -1
  57. package/dist/cjs/biz-components/ImageTextOverlay/index.d.ts +9 -0
  58. package/dist/cjs/biz-components/ImageTextOverlay/index.js +18 -0
  59. package/dist/cjs/biz-components/ImageTextOverlay/index.js.map +7 -0
  60. package/dist/cjs/biz-components/ImageTextOverlay/types.d.ts +58 -0
  61. package/dist/cjs/biz-components/ImageTextOverlay/types.js +2 -0
  62. package/dist/cjs/biz-components/ImageTextOverlay/types.js.map +7 -0
  63. package/dist/cjs/biz-components/ImageWithText/ImageWithText.d.ts +1 -1
  64. package/dist/cjs/biz-components/ImageWithText/ImageWithText.js +1 -1
  65. package/dist/cjs/biz-components/ImageWithText/ImageWithText.js.map +2 -2
  66. package/dist/cjs/biz-components/Ksp/index.d.ts +1 -1
  67. package/dist/cjs/biz-components/Listing/components/PaidShipping/index.d.ts +1 -1
  68. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.d.ts +1 -1
  69. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.d.ts +1 -1
  70. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.d.ts +1 -1
  71. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.d.ts +1 -1
  72. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.d.ts +1 -1
  73. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.d.ts +1 -1
  74. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/index.d.ts +1 -1
  75. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductPaidShipping/index.d.ts +1 -1
  76. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductSummary/index.d.ts +1 -1
  77. package/dist/cjs/biz-components/Listing/components/PurchaseBar/index.d.ts +1 -1
  78. package/dist/cjs/biz-components/LotteryShared/BaseModal.js +1 -1
  79. package/dist/cjs/biz-components/LotteryShared/BaseModal.js.map +2 -2
  80. package/dist/cjs/biz-components/LotteryShared/ChanceMethods.js +1 -1
  81. package/dist/cjs/biz-components/LotteryShared/ChanceMethods.js.map +3 -3
  82. package/dist/cjs/biz-components/LotteryShared/ErrorModal.js +1 -1
  83. package/dist/cjs/biz-components/LotteryShared/ErrorModal.js.map +2 -2
  84. package/dist/cjs/biz-components/LotteryShared/MyRewardsModal.d.ts +33 -0
  85. package/dist/cjs/biz-components/LotteryShared/MyRewardsModal.js +1 -1
  86. package/dist/cjs/biz-components/LotteryShared/MyRewardsModal.js.map +3 -3
  87. package/dist/cjs/biz-components/LotteryShared/PrizePool.js +1 -1
  88. package/dist/cjs/biz-components/LotteryShared/PrizePool.js.map +3 -3
  89. package/dist/cjs/biz-components/LotteryShared/WinnerModal.d.ts +1 -1
  90. package/dist/cjs/biz-components/LotteryShared/WinnerModal.js +1 -1
  91. package/dist/cjs/biz-components/LotteryShared/WinnerModal.js.map +3 -3
  92. package/dist/cjs/biz-components/LotteryShared/types.d.ts +101 -0
  93. package/dist/cjs/biz-components/LotteryShared/types.js +1 -1
  94. package/dist/cjs/biz-components/LotteryShared/types.js.map +2 -2
  95. package/dist/cjs/biz-components/Marquee/Marquee.d.ts +2 -1
  96. package/dist/cjs/biz-components/Marquee/Marquee.js +1 -1
  97. package/dist/cjs/biz-components/Marquee/Marquee.js.map +3 -3
  98. package/dist/cjs/biz-components/MarqueeReview/index.d.ts +1 -1
  99. package/dist/cjs/biz-components/Media/index.d.ts +15 -3
  100. package/dist/cjs/biz-components/Media/index.js +1 -1
  101. package/dist/cjs/biz-components/Media/index.js.map +3 -3
  102. package/dist/cjs/biz-components/MediaEndorsement/index.d.ts +1 -1
  103. package/dist/cjs/biz-components/MediaEndorsement/index.js +2 -2
  104. package/dist/cjs/biz-components/MediaEndorsement/index.js.map +3 -3
  105. package/dist/cjs/biz-components/MediaPlayerBase/index.d.ts +1 -1
  106. package/dist/cjs/biz-components/MediaPlayerBase/index.js +1 -1
  107. package/dist/cjs/biz-components/MediaPlayerBase/index.js.map +3 -3
  108. package/dist/cjs/biz-components/MediaPlayerBase/types.d.ts +26 -0
  109. package/dist/cjs/biz-components/MediaPlayerBase/types.js +1 -1
  110. package/dist/cjs/biz-components/MediaPlayerBase/types.js.map +1 -1
  111. package/dist/cjs/biz-components/MediaPlayerMulti/index.d.ts +1 -1
  112. package/dist/cjs/biz-components/MediaPlayerSticky/index.d.ts +1 -1
  113. package/dist/cjs/biz-components/MediaSceneSwitcher/MediaSceneSwitcher.d.ts +1 -1
  114. package/dist/cjs/biz-components/MediaSceneSwitcherV2/index.d.ts +1 -1
  115. package/dist/cjs/biz-components/MediaShelf/index.d.ts +1 -1
  116. package/dist/cjs/biz-components/MemberEquity/index.d.ts +1 -1
  117. package/dist/cjs/biz-components/MiniCart/index.js +1 -1
  118. package/dist/cjs/biz-components/MiniCart/index.js.map +2 -2
  119. package/dist/cjs/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.d.ts +1 -1
  120. package/dist/cjs/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js +1 -1
  121. package/dist/cjs/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js.map +2 -2
  122. package/dist/cjs/biz-components/NavigationSearch/index.d.ts +1 -1
  123. package/dist/cjs/biz-components/ProductCompare/index.d.ts +1 -1
  124. package/dist/cjs/biz-components/ProductHero/ProductHero.d.ts +1 -1
  125. package/dist/cjs/biz-components/ProductLottery/MediaDrawArea.js +1 -1
  126. package/dist/cjs/biz-components/ProductLottery/MediaDrawArea.js.map +3 -3
  127. package/dist/cjs/biz-components/ProductLottery/index.d.ts +3 -2
  128. package/dist/cjs/biz-components/ProductLottery/index.js +1 -1
  129. package/dist/cjs/biz-components/ProductLottery/index.js.map +3 -3
  130. package/dist/cjs/biz-components/ProductLottery/types.d.ts +75 -89
  131. package/dist/cjs/biz-components/ProductLottery/types.js +1 -1
  132. package/dist/cjs/biz-components/ProductLottery/types.js.map +2 -2
  133. package/dist/cjs/biz-components/ProductNav/ProductNav.d.ts +1 -1
  134. package/dist/cjs/biz-components/PromotionalBar/index.d.ts +3 -2
  135. package/dist/cjs/biz-components/PromotionalBar/index.js +1 -1
  136. package/dist/cjs/biz-components/PromotionalBar/index.js.map +3 -3
  137. package/dist/cjs/biz-components/SceneShelfV2/index.d.ts +113 -0
  138. package/dist/cjs/biz-components/SceneShelfV2/index.js +2 -0
  139. package/dist/cjs/biz-components/SceneShelfV2/index.js.map +7 -0
  140. package/dist/cjs/biz-components/SceneShelfV3/ProductCard.d.ts +89 -0
  141. package/dist/cjs/biz-components/SceneShelfV3/ProductCard.js +2 -0
  142. package/dist/cjs/biz-components/SceneShelfV3/ProductCard.js.map +7 -0
  143. package/dist/cjs/biz-components/SceneShelfV3/index.d.ts +79 -0
  144. package/dist/cjs/biz-components/SceneShelfV3/index.js +2 -0
  145. package/dist/cjs/biz-components/SceneShelfV3/index.js.map +7 -0
  146. package/dist/cjs/biz-components/SceneShelfV3/types.d.ts +19 -0
  147. package/dist/cjs/biz-components/SceneShelfV3/types.js +2 -0
  148. package/dist/cjs/biz-components/SceneShelfV3/types.js.map +7 -0
  149. package/dist/cjs/biz-components/SecondaryBanner/SecondaryBannerCarousel.d.ts +21 -0
  150. package/dist/cjs/biz-components/SecondaryBanner/SecondaryBannerCarousel.js +2 -0
  151. package/dist/cjs/biz-components/SecondaryBanner/SecondaryBannerCarousel.js.map +7 -0
  152. package/dist/cjs/biz-components/SecondaryBanner/index.d.ts +65 -1
  153. package/dist/cjs/biz-components/SecondaryBanner/index.js +1 -1
  154. package/dist/cjs/biz-components/SecondaryBanner/index.js.map +3 -3
  155. package/dist/cjs/biz-components/SelectStore/index.d.ts +1 -1
  156. package/dist/cjs/biz-components/ShelfDisplay/index.d.ts +1 -1
  157. package/dist/cjs/biz-components/Slogan/index.d.ts +1 -1
  158. package/dist/cjs/biz-components/Spacer/index.d.ts +1 -1
  159. package/dist/cjs/biz-components/Specs/index.d.ts +1 -1
  160. package/dist/cjs/biz-components/SpecsComparison/SpecsComparison.d.ts +1 -1
  161. package/dist/cjs/biz-components/TabWithImage/TabWithImage.d.ts +1 -1
  162. package/dist/cjs/biz-components/Tabs/Tabs.d.ts +1 -1
  163. package/dist/cjs/biz-components/TabsGroup/index.d.ts +1 -1
  164. package/dist/cjs/biz-components/TabsWithMedia/TabsWithMedia.d.ts +1 -1
  165. package/dist/cjs/biz-components/ThreeDCarousel/ThreeDCarousel.d.ts +1 -1
  166. package/dist/cjs/biz-components/Title/index.d.ts +1 -1
  167. package/dist/cjs/biz-components/Title/index.js +1 -1
  168. package/dist/cjs/biz-components/Title/index.js.map +3 -3
  169. package/dist/cjs/biz-components/Title/types.d.ts +53 -1
  170. package/dist/cjs/biz-components/Title/types.js +1 -1
  171. package/dist/cjs/biz-components/Title/types.js.map +1 -1
  172. package/dist/cjs/biz-components/VideoFeature/VideoFeature.d.ts +1 -1
  173. package/dist/cjs/biz-components/WheelLottery/BaseModal.js +1 -1
  174. package/dist/cjs/biz-components/WheelLottery/BaseModal.js.map +2 -2
  175. package/dist/cjs/biz-components/WheelLottery/ErrorModal.js +1 -1
  176. package/dist/cjs/biz-components/WheelLottery/ErrorModal.js.map +2 -2
  177. package/dist/cjs/biz-components/WheelLottery/MyRewardsModal.js +1 -1
  178. package/dist/cjs/biz-components/WheelLottery/MyRewardsModal.js.map +2 -2
  179. package/dist/cjs/biz-components/WheelLottery/WinnerModal.js +1 -1
  180. package/dist/cjs/biz-components/WheelLottery/WinnerModal.js.map +2 -2
  181. package/dist/cjs/biz-components/WheelLottery/index.d.ts +2 -1
  182. package/dist/cjs/biz-components/WheelLottery/index.js +1 -1
  183. package/dist/cjs/biz-components/WheelLottery/index.js.map +3 -3
  184. package/dist/cjs/biz-components/WheelLottery/types.d.ts +6 -0
  185. package/dist/cjs/biz-components/WheelLottery/types.js.map +2 -2
  186. package/dist/cjs/biz-components/WhyChoose/WhyChoose.d.ts +1 -1
  187. package/dist/cjs/biz-components/index.d.ts +7 -0
  188. package/dist/cjs/biz-components/index.js +1 -1
  189. package/dist/cjs/biz-components/index.js.map +3 -3
  190. package/dist/cjs/hooks/useExposure.d.ts +4 -3
  191. package/dist/cjs/hooks/useExposure.js +1 -1
  192. package/dist/cjs/hooks/useExposure.js.map +3 -3
  193. package/dist/cjs/hooks/useGridRowCount.d.ts +16 -0
  194. package/dist/cjs/hooks/useGridRowCount.js +2 -0
  195. package/dist/cjs/hooks/useGridRowCount.js.map +7 -0
  196. package/dist/cjs/hooks/useViewItemList.d.ts +21 -0
  197. package/dist/cjs/hooks/useViewItemList.js +2 -0
  198. package/dist/cjs/hooks/useViewItemList.js.map +7 -0
  199. package/dist/cjs/index.d.ts +1 -0
  200. package/dist/cjs/index.js +1 -1
  201. package/dist/cjs/index.js.map +3 -3
  202. package/dist/cjs/shared/Styles.js +1 -1
  203. package/dist/cjs/shared/Styles.js.map +3 -3
  204. package/dist/cjs/shared/trackUrlRef.d.ts +9 -0
  205. package/dist/cjs/shared/trackUrlRef.js +1 -1
  206. package/dist/cjs/shared/trackUrlRef.js.map +3 -3
  207. package/dist/cjs/types/props.d.ts +18 -1
  208. package/dist/cjs/types/props.js +1 -1
  209. package/dist/cjs/types/props.js.map +1 -1
  210. package/dist/esm/biz-components/AccordionCards/index.d.ts +1 -1
  211. package/dist/esm/biz-components/ActiveShelf/index.d.ts +1 -1
  212. package/dist/esm/biz-components/ActivitySchedule/index.d.ts +1 -1
  213. package/dist/esm/biz-components/AiuiProvider/index.d.ts +6 -0
  214. package/dist/esm/biz-components/AiuiProvider/index.js +1 -1
  215. package/dist/esm/biz-components/AiuiProvider/index.js.map +3 -3
  216. package/dist/esm/biz-components/AnchorNavigation/index.d.ts +1 -1
  217. package/dist/esm/biz-components/AplusDesc/index.d.ts +1 -1
  218. package/dist/esm/biz-components/BrandCardLink/BrandCardLink.d.ts +1 -1
  219. package/dist/esm/biz-components/BrandEquity/BrandEquity.d.ts +1 -1
  220. package/dist/esm/biz-components/BrandEquity/BrandEquity.js +1 -1
  221. package/dist/esm/biz-components/BrandEquity/BrandEquity.js.map +3 -3
  222. package/dist/esm/biz-components/BrandEquity/types.d.ts +8 -0
  223. package/dist/esm/biz-components/Category/index.d.ts +1 -1
  224. package/dist/esm/biz-components/CreativeModule/index.d.ts +1 -1
  225. package/dist/esm/biz-components/DownLoad/index.d.ts +1 -1
  226. package/dist/esm/biz-components/Evaluate/index.d.ts +1 -1
  227. package/dist/esm/biz-components/EventSchedule/index.d.ts +1 -1
  228. package/dist/esm/biz-components/Faq/Faq.d.ts +1 -1
  229. package/dist/esm/biz-components/Faq/Faq.js +1 -1
  230. package/dist/esm/biz-components/Faq/Faq.js.map +2 -2
  231. package/dist/esm/biz-components/Faq/types.d.ts +1 -0
  232. package/dist/esm/biz-components/FeatureCards/FeatureCards.d.ts +1 -1
  233. package/dist/esm/biz-components/FeatureShowcase/FeatureShowcase.d.ts +1 -1
  234. package/dist/esm/biz-components/FeaturedBlogPosts/index.d.ts +1 -1
  235. package/dist/esm/biz-components/Features/index.d.ts +1 -1
  236. package/dist/esm/biz-components/FootCharger/index.d.ts +1 -1
  237. package/dist/esm/biz-components/FooterNavigation/index.d.ts +1 -1
  238. package/dist/esm/biz-components/GiftBox/index.d.ts +1 -1
  239. package/dist/esm/biz-components/GiftShelf/index.d.ts +1 -1
  240. package/dist/esm/biz-components/GiftTierShelf/index.d.ts +1 -1
  241. package/dist/esm/biz-components/Graphic/index.d.ts +1 -1
  242. package/dist/esm/biz-components/GraphicAttractionBlock/index.d.ts +1 -1
  243. package/dist/esm/biz-components/GraphicMore/index.d.ts +1 -1
  244. package/dist/esm/biz-components/GraphicOverlay/GraphicOverlay.d.ts +1 -1
  245. package/dist/esm/biz-components/HeaderNavigation/index.d.ts +1 -1
  246. package/dist/esm/biz-components/HeroBanner/HeroBanner.d.ts +21 -1
  247. package/dist/esm/biz-components/HeroBanner/HeroBanner.js +1 -1
  248. package/dist/esm/biz-components/HeroBanner/HeroBanner.js.map +3 -3
  249. package/dist/esm/biz-components/HeroBanner/HeroBannerCarousel.d.ts +23 -0
  250. package/dist/esm/biz-components/HeroBanner/HeroBannerCarousel.js +2 -0
  251. package/dist/esm/biz-components/HeroBanner/HeroBannerCarousel.js.map +7 -0
  252. package/dist/esm/biz-components/HeroBanner/index.d.ts +1 -0
  253. package/dist/esm/biz-components/HeroBanner/index.js +1 -1
  254. package/dist/esm/biz-components/HeroBanner/index.js.map +1 -1
  255. package/dist/esm/biz-components/HeroBanner/types.d.ts +73 -0
  256. package/dist/esm/biz-components/ImageOverlayShelf/index.d.ts +2 -2
  257. package/dist/esm/biz-components/ImageOverlayShelf/index.js +1 -1
  258. package/dist/esm/biz-components/ImageOverlayShelf/index.js.map +3 -3
  259. package/dist/esm/biz-components/ImageTextFeature/ImageTextFeature.d.ts +1 -1
  260. package/dist/esm/biz-components/ImageTextOverlay/index.d.ts +9 -0
  261. package/dist/esm/biz-components/ImageTextOverlay/index.js +18 -0
  262. package/dist/esm/biz-components/ImageTextOverlay/index.js.map +7 -0
  263. package/dist/esm/biz-components/ImageTextOverlay/types.d.ts +58 -0
  264. package/dist/esm/biz-components/ImageTextOverlay/types.js +1 -0
  265. package/dist/esm/biz-components/ImageTextOverlay/types.js.map +7 -0
  266. package/dist/esm/biz-components/ImageWithText/ImageWithText.d.ts +1 -1
  267. package/dist/esm/biz-components/ImageWithText/ImageWithText.js +1 -1
  268. package/dist/esm/biz-components/ImageWithText/ImageWithText.js.map +2 -2
  269. package/dist/esm/biz-components/Ksp/index.d.ts +1 -1
  270. package/dist/esm/biz-components/Listing/components/PaidShipping/index.d.ts +1 -1
  271. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.d.ts +1 -1
  272. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.d.ts +1 -1
  273. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.d.ts +1 -1
  274. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.d.ts +1 -1
  275. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.d.ts +1 -1
  276. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.d.ts +1 -1
  277. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/index.d.ts +1 -1
  278. package/dist/esm/biz-components/Listing/components/ProductCard/ProductPaidShipping/index.d.ts +1 -1
  279. package/dist/esm/biz-components/Listing/components/ProductCard/ProductSummary/index.d.ts +1 -1
  280. package/dist/esm/biz-components/Listing/components/PurchaseBar/index.d.ts +1 -1
  281. package/dist/esm/biz-components/LotteryShared/BaseModal.js +1 -1
  282. package/dist/esm/biz-components/LotteryShared/BaseModal.js.map +2 -2
  283. package/dist/esm/biz-components/LotteryShared/ChanceMethods.js +1 -1
  284. package/dist/esm/biz-components/LotteryShared/ChanceMethods.js.map +3 -3
  285. package/dist/esm/biz-components/LotteryShared/ErrorModal.js +1 -1
  286. package/dist/esm/biz-components/LotteryShared/ErrorModal.js.map +2 -2
  287. package/dist/esm/biz-components/LotteryShared/MyRewardsModal.d.ts +33 -0
  288. package/dist/esm/biz-components/LotteryShared/MyRewardsModal.js +1 -1
  289. package/dist/esm/biz-components/LotteryShared/MyRewardsModal.js.map +3 -3
  290. package/dist/esm/biz-components/LotteryShared/PrizePool.js +1 -1
  291. package/dist/esm/biz-components/LotteryShared/PrizePool.js.map +3 -3
  292. package/dist/esm/biz-components/LotteryShared/WinnerModal.d.ts +1 -1
  293. package/dist/esm/biz-components/LotteryShared/WinnerModal.js +1 -1
  294. package/dist/esm/biz-components/LotteryShared/WinnerModal.js.map +3 -3
  295. package/dist/esm/biz-components/LotteryShared/types.d.ts +101 -0
  296. package/dist/esm/biz-components/LotteryShared/types.js +1 -1
  297. package/dist/esm/biz-components/LotteryShared/types.js.map +2 -2
  298. package/dist/esm/biz-components/Marquee/Marquee.d.ts +2 -1
  299. package/dist/esm/biz-components/Marquee/Marquee.js +1 -1
  300. package/dist/esm/biz-components/Marquee/Marquee.js.map +2 -2
  301. package/dist/esm/biz-components/MarqueeReview/index.d.ts +1 -1
  302. package/dist/esm/biz-components/Media/index.d.ts +15 -3
  303. package/dist/esm/biz-components/Media/index.js +1 -1
  304. package/dist/esm/biz-components/Media/index.js.map +3 -3
  305. package/dist/esm/biz-components/MediaEndorsement/index.d.ts +1 -1
  306. package/dist/esm/biz-components/MediaEndorsement/index.js +2 -2
  307. package/dist/esm/biz-components/MediaEndorsement/index.js.map +3 -3
  308. package/dist/esm/biz-components/MediaPlayerBase/index.d.ts +1 -1
  309. package/dist/esm/biz-components/MediaPlayerBase/index.js +1 -1
  310. package/dist/esm/biz-components/MediaPlayerBase/index.js.map +3 -3
  311. package/dist/esm/biz-components/MediaPlayerBase/types.d.ts +26 -0
  312. package/dist/esm/biz-components/MediaPlayerMulti/index.d.ts +1 -1
  313. package/dist/esm/biz-components/MediaPlayerSticky/index.d.ts +1 -1
  314. package/dist/esm/biz-components/MediaSceneSwitcher/MediaSceneSwitcher.d.ts +1 -1
  315. package/dist/esm/biz-components/MediaSceneSwitcherV2/index.d.ts +1 -1
  316. package/dist/esm/biz-components/MediaShelf/index.d.ts +1 -1
  317. package/dist/esm/biz-components/MemberEquity/index.d.ts +1 -1
  318. package/dist/esm/biz-components/MiniCart/index.js +1 -1
  319. package/dist/esm/biz-components/MiniCart/index.js.map +2 -2
  320. package/dist/esm/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.d.ts +1 -1
  321. package/dist/esm/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js +1 -1
  322. package/dist/esm/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js.map +2 -2
  323. package/dist/esm/biz-components/NavigationSearch/index.d.ts +1 -1
  324. package/dist/esm/biz-components/ProductCompare/index.d.ts +1 -1
  325. package/dist/esm/biz-components/ProductHero/ProductHero.d.ts +1 -1
  326. package/dist/esm/biz-components/ProductLottery/MediaDrawArea.js +1 -1
  327. package/dist/esm/biz-components/ProductLottery/MediaDrawArea.js.map +3 -3
  328. package/dist/esm/biz-components/ProductLottery/index.d.ts +3 -2
  329. package/dist/esm/biz-components/ProductLottery/index.js +1 -1
  330. package/dist/esm/biz-components/ProductLottery/index.js.map +3 -3
  331. package/dist/esm/biz-components/ProductLottery/types.d.ts +75 -89
  332. package/dist/esm/biz-components/ProductLottery/types.js.map +2 -2
  333. package/dist/esm/biz-components/ProductNav/ProductNav.d.ts +1 -1
  334. package/dist/esm/biz-components/PromotionalBar/index.d.ts +3 -2
  335. package/dist/esm/biz-components/PromotionalBar/index.js +1 -1
  336. package/dist/esm/biz-components/PromotionalBar/index.js.map +3 -3
  337. package/dist/esm/biz-components/SceneShelfV2/index.d.ts +113 -0
  338. package/dist/esm/biz-components/SceneShelfV2/index.js +2 -0
  339. package/dist/esm/biz-components/SceneShelfV2/index.js.map +7 -0
  340. package/dist/esm/biz-components/SceneShelfV3/ProductCard.d.ts +89 -0
  341. package/dist/esm/biz-components/SceneShelfV3/ProductCard.js +2 -0
  342. package/dist/esm/biz-components/SceneShelfV3/ProductCard.js.map +7 -0
  343. package/dist/esm/biz-components/SceneShelfV3/index.d.ts +79 -0
  344. package/dist/esm/biz-components/SceneShelfV3/index.js +2 -0
  345. package/dist/esm/biz-components/SceneShelfV3/index.js.map +7 -0
  346. package/dist/esm/biz-components/SceneShelfV3/types.d.ts +19 -0
  347. package/dist/esm/biz-components/SceneShelfV3/types.js +1 -0
  348. package/dist/esm/biz-components/SceneShelfV3/types.js.map +7 -0
  349. package/dist/esm/biz-components/SecondaryBanner/SecondaryBannerCarousel.d.ts +21 -0
  350. package/dist/esm/biz-components/SecondaryBanner/SecondaryBannerCarousel.js +2 -0
  351. package/dist/esm/biz-components/SecondaryBanner/SecondaryBannerCarousel.js.map +7 -0
  352. package/dist/esm/biz-components/SecondaryBanner/index.d.ts +65 -1
  353. package/dist/esm/biz-components/SecondaryBanner/index.js +1 -1
  354. package/dist/esm/biz-components/SecondaryBanner/index.js.map +3 -3
  355. package/dist/esm/biz-components/SelectStore/index.d.ts +1 -1
  356. package/dist/esm/biz-components/ShelfDisplay/index.d.ts +1 -1
  357. package/dist/esm/biz-components/Slogan/index.d.ts +1 -1
  358. package/dist/esm/biz-components/Spacer/index.d.ts +1 -1
  359. package/dist/esm/biz-components/Specs/index.d.ts +1 -1
  360. package/dist/esm/biz-components/SpecsComparison/SpecsComparison.d.ts +1 -1
  361. package/dist/esm/biz-components/TabWithImage/TabWithImage.d.ts +1 -1
  362. package/dist/esm/biz-components/Tabs/Tabs.d.ts +1 -1
  363. package/dist/esm/biz-components/TabsGroup/index.d.ts +1 -1
  364. package/dist/esm/biz-components/TabsWithMedia/TabsWithMedia.d.ts +1 -1
  365. package/dist/esm/biz-components/ThreeDCarousel/ThreeDCarousel.d.ts +1 -1
  366. package/dist/esm/biz-components/Title/index.d.ts +1 -1
  367. package/dist/esm/biz-components/Title/index.js +1 -1
  368. package/dist/esm/biz-components/Title/index.js.map +3 -3
  369. package/dist/esm/biz-components/Title/types.d.ts +53 -1
  370. package/dist/esm/biz-components/VideoFeature/VideoFeature.d.ts +1 -1
  371. package/dist/esm/biz-components/WheelLottery/BaseModal.js +1 -1
  372. package/dist/esm/biz-components/WheelLottery/BaseModal.js.map +2 -2
  373. package/dist/esm/biz-components/WheelLottery/ErrorModal.js +1 -1
  374. package/dist/esm/biz-components/WheelLottery/ErrorModal.js.map +2 -2
  375. package/dist/esm/biz-components/WheelLottery/MyRewardsModal.js +1 -1
  376. package/dist/esm/biz-components/WheelLottery/MyRewardsModal.js.map +2 -2
  377. package/dist/esm/biz-components/WheelLottery/WinnerModal.js +1 -1
  378. package/dist/esm/biz-components/WheelLottery/WinnerModal.js.map +2 -2
  379. package/dist/esm/biz-components/WheelLottery/index.d.ts +2 -1
  380. package/dist/esm/biz-components/WheelLottery/index.js +1 -1
  381. package/dist/esm/biz-components/WheelLottery/index.js.map +3 -3
  382. package/dist/esm/biz-components/WheelLottery/types.d.ts +6 -0
  383. package/dist/esm/biz-components/WheelLottery/types.js.map +2 -2
  384. package/dist/esm/biz-components/WhyChoose/WhyChoose.d.ts +1 -1
  385. package/dist/esm/biz-components/index.d.ts +7 -0
  386. package/dist/esm/biz-components/index.js +1 -1
  387. package/dist/esm/biz-components/index.js.map +3 -3
  388. package/dist/esm/hooks/useExposure.d.ts +4 -3
  389. package/dist/esm/hooks/useExposure.js +1 -1
  390. package/dist/esm/hooks/useExposure.js.map +3 -3
  391. package/dist/esm/hooks/useGridRowCount.d.ts +16 -0
  392. package/dist/esm/hooks/useGridRowCount.js +2 -0
  393. package/dist/esm/hooks/useGridRowCount.js.map +7 -0
  394. package/dist/esm/hooks/useViewItemList.d.ts +21 -0
  395. package/dist/esm/hooks/useViewItemList.js +2 -0
  396. package/dist/esm/hooks/useViewItemList.js.map +7 -0
  397. package/dist/esm/index.d.ts +1 -0
  398. package/dist/esm/index.js +1 -1
  399. package/dist/esm/index.js.map +3 -3
  400. package/dist/esm/shared/Styles.js +1 -1
  401. package/dist/esm/shared/Styles.js.map +3 -3
  402. package/dist/esm/shared/trackUrlRef.d.ts +9 -0
  403. package/dist/esm/shared/trackUrlRef.js +1 -1
  404. package/dist/esm/shared/trackUrlRef.js.map +3 -3
  405. package/dist/esm/types/props.d.ts +18 -1
  406. package/dist/tokens/anker.css +2 -2
  407. package/dist/tokens/eufy.css +2 -2
  408. package/dist/tokens/eufyMake.css +2 -2
  409. package/dist/tokens/soundcore.css +2 -2
  410. package/package.json +1 -1
  411. package/style.css +224 -26
  412. package/tailwind.config.js +14 -2
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/hooks/useExposure.ts"],
4
- "sourcesContent": ["import { type RefObject } from 'react'\nimport { gaTrack } from '../shared/track.js'\nimport { useIntersectionObserverDelay } from './useIntersectionObserver.js'\nimport { useAiuiContext } from '../biz-components/AiuiProvider/index.js'\n\ninterface ExposureOptions {\n componentType: string\n componentName: string\n componentTitle?: string\n componentDescription?: string\n navigation?: string\n pageGroup?: string\n position?: number\n}\n\nexport const useExposure = (\n ref: RefObject<HTMLDivElement>,\n { componentType, componentName, componentTitle, componentDescription, navigation = '', position = 1 }: ExposureOptions\n) => {\n const { trackingData, onExposure } = useAiuiContext()\n\n useIntersectionObserverDelay(ref, {\n once: true,\n threshold: 0.5,\n delay: 2000,\n callback: () => {\n const pageGroup = trackingData.pageGroup || 'Home Page'\n\n if (onExposure) {\n // Custom handler from AiuiProvider\n onExposure({\n componentType,\n componentName,\n componentTitle,\n componentDescription,\n navigation,\n pageGroup,\n position,\n })\n } else {\n // Default GA behavior\n // TODO: \u5220\u9664\u8FD9\u4E2A\u5206\u652F\uFF0C\u53EA\u4FDD\u7559 onExposure \u903B\u8F91\uFF0C\u8BA9\u4F7F\u7528\u65B9\u5B8C\u5168\u63A7\u5236\u66DD\u5149\u57CB\u70B9\n gaTrack({\n event: 'ga4Event',\n event_name: 'component_impression',\n event_parameters: {\n page_group: pageGroup,\n component_type: componentType,\n component_name: componentName,\n position: position,\n creative_id: '',\n component_title: componentTitle,\n component_description: componentDescription,\n navigation: navigation,\n },\n })\n }\n },\n })\n}\n"],
5
- "mappings": "AAAA,MAA+B,QAC/B,OAAS,WAAAA,MAAe,qBACxB,OAAS,gCAAAC,MAAoC,+BAC7C,OAAS,kBAAAC,MAAsB,0CAYxB,MAAMC,EAAc,CACzBC,EACA,CAAE,cAAAC,EAAe,cAAAC,EAAe,eAAAC,EAAgB,qBAAAC,EAAsB,WAAAC,EAAa,GAAI,SAAAC,EAAW,CAAE,IACjG,CACH,KAAM,CAAE,aAAAC,EAAc,WAAAC,CAAW,EAAIV,EAAe,EAEpDD,EAA6BG,EAAK,CAChC,KAAM,GACN,UAAW,GACX,MAAO,IACP,SAAU,IAAM,CACd,MAAMS,EAAYF,EAAa,WAAa,YAExCC,EAEFA,EAAW,CACT,cAAAP,EACA,cAAAC,EACA,eAAAC,EACA,qBAAAC,EACA,WAAAC,EACA,UAAAI,EACA,SAAAH,CACF,CAAC,EAIDV,EAAQ,CACN,MAAO,WACP,WAAY,uBACZ,iBAAkB,CAChB,WAAYa,EACZ,eAAgBR,EAChB,eAAgBC,EAChB,SAAUI,EACV,YAAa,GACb,gBAAiBH,EACjB,sBAAuBC,EACvB,WAAYC,CACd,CACF,CAAC,CAEL,CACF,CAAC,CACH",
6
- "names": ["gaTrack", "useIntersectionObserverDelay", "useAiuiContext", "useExposure", "ref", "componentType", "componentName", "componentTitle", "componentDescription", "navigation", "position", "trackingData", "onExposure", "pageGroup"]
4
+ "sourcesContent": ["import { type RefObject, useMemo } from 'react'\nimport { gaTrack } from '../shared/track.js'\nimport { useIntersectionObserverDelay } from './useIntersectionObserver.js'\nimport { useAiuiContext } from '../biz-components/AiuiProvider/index.js'\nimport { convertLexicalToPlaintext } from '@payloadcms/richtext-lexical/plaintext'\nimport type { SerializedEditorState } from '@payloadcms/richtext-lexical/lexical'\n\ninterface ExposureOptions {\n componentType: string\n componentName: string\n componentTitle?: string | SerializedEditorState\n componentDescription?: string | SerializedEditorState\n navigation?: string\n pageGroup?: string\n position?: number\n}\n\nexport const useExposure = (\n ref: RefObject<HTMLElement>,\n { componentType, componentName, componentTitle, componentDescription, navigation = '', position = 1 }: ExposureOptions\n) => {\n const { trackingData, onExposure } = useAiuiContext()\n\n const parsedTitle = useMemo(\n () =>\n typeof componentTitle === 'object' && componentTitle !== null\n ? convertLexicalToPlaintext({\n data: componentTitle,\n })\n : componentTitle,\n [componentTitle]\n )\n\n const parsedDescription = useMemo(\n () =>\n typeof componentDescription === 'object' && componentDescription !== null\n ? convertLexicalToPlaintext({\n data: componentDescription,\n })\n : componentDescription,\n [componentDescription]\n )\n\n useIntersectionObserverDelay(ref, {\n once: true,\n threshold: 0.5,\n delay: 2000,\n callback: () => {\n const pageGroup = trackingData.pageGroup || 'Home Page'\n\n if (onExposure) {\n // Custom handler from AiuiProvider\n onExposure({\n componentType,\n componentName,\n componentTitle: parsedTitle,\n componentDescription: parsedDescription,\n navigation,\n pageGroup,\n position,\n })\n } else {\n // Default GA behavior\n // TODO: \u5220\u9664\u8FD9\u4E2A\u5206\u652F\uFF0C\u53EA\u4FDD\u7559 onExposure \u903B\u8F91\uFF0C\u8BA9\u4F7F\u7528\u65B9\u5B8C\u5168\u63A7\u5236\u66DD\u5149\u57CB\u70B9\n gaTrack({\n event: 'ga4Event',\n event_name: 'component_impression',\n event_parameters: {\n page_group: pageGroup,\n component_type: componentType,\n component_name: componentName,\n position: position,\n creative_id: '',\n component_title: parsedTitle,\n component_description: parsedDescription,\n navigation: navigation,\n },\n })\n }\n },\n })\n}\n"],
5
+ "mappings": "AAAA,OAAyB,WAAAA,MAAe,QACxC,OAAS,WAAAC,MAAe,qBACxB,OAAS,gCAAAC,MAAoC,+BAC7C,OAAS,kBAAAC,MAAsB,0CAC/B,OAAS,6BAAAC,MAAiC,yCAanC,MAAMC,EAAc,CACzBC,EACA,CAAE,cAAAC,EAAe,cAAAC,EAAe,eAAAC,EAAgB,qBAAAC,EAAsB,WAAAC,EAAa,GAAI,SAAAC,EAAW,CAAE,IACjG,CACH,KAAM,CAAE,aAAAC,EAAc,WAAAC,CAAW,EAAIX,EAAe,EAE9CY,EAAcf,EAClB,IACE,OAAOS,GAAmB,UAAYA,IAAmB,KACrDL,EAA0B,CACxB,KAAMK,CACR,CAAC,EACDA,EACN,CAACA,CAAc,CACjB,EAEMO,EAAoBhB,EACxB,IACE,OAAOU,GAAyB,UAAYA,IAAyB,KACjEN,EAA0B,CACxB,KAAMM,CACR,CAAC,EACDA,EACN,CAACA,CAAoB,CACvB,EAEAR,EAA6BI,EAAK,CAChC,KAAM,GACN,UAAW,GACX,MAAO,IACP,SAAU,IAAM,CACd,MAAMW,EAAYJ,EAAa,WAAa,YAExCC,EAEFA,EAAW,CACT,cAAAP,EACA,cAAAC,EACA,eAAgBO,EAChB,qBAAsBC,EACtB,WAAAL,EACA,UAAAM,EACA,SAAAL,CACF,CAAC,EAIDX,EAAQ,CACN,MAAO,WACP,WAAY,uBACZ,iBAAkB,CAChB,WAAYgB,EACZ,eAAgBV,EAChB,eAAgBC,EAChB,SAAUI,EACV,YAAa,GACb,gBAAiBG,EACjB,sBAAuBC,EACvB,WAAYL,CACd,CACF,CAAC,CAEL,CACF,CAAC,CACH",
6
+ "names": ["useMemo", "gaTrack", "useIntersectionObserverDelay", "useAiuiContext", "convertLexicalToPlaintext", "useExposure", "ref", "componentType", "componentName", "componentTitle", "componentDescription", "navigation", "position", "trackingData", "onExposure", "parsedTitle", "parsedDescription", "pageGroup"]
7
7
  }
@@ -0,0 +1,16 @@
1
+ interface UseGridRowCountOptions {
2
+ /** 行数限制 */
3
+ rows: number;
4
+ /** 移动端列数 (< 768px) */
5
+ mobileCols?: number;
6
+ /** 平板/小桌面列数 (≥ 768px and < 1440px) */
7
+ tabletCols?: number;
8
+ /** 大桌面列数 (≥ 1440px) */
9
+ desktopCols?: number;
10
+ }
11
+ /**
12
+ * 根据当前视口宽度计算网格可见项目数
13
+ * 用于响应式网格布局中,根据行数 × 当前列数计算显示数量
14
+ */
15
+ export declare function useGridRowCount({ rows, mobileCols, tabletCols, desktopCols, }: UseGridRowCountOptions): number;
16
+ export {};
@@ -0,0 +1,2 @@
1
+ import{useState as m,useEffect as o}from"react";function h({rows:e,mobileCols:t=2,tabletCols:i=3,desktopCols:r=4}){const[c,u]=m(()=>typeof window>"u"?e*t:window.innerWidth>=1440?e*r:window.innerWidth>=768?e*i:e*t);return o(()=>{const d=window.matchMedia("(min-width: 768px)"),a=window.matchMedia("(min-width: 1440px)"),n=()=>{a.matches?u(e*r):d.matches?u(e*i):u(e*t)};return n(),d.addEventListener("change",n),a.addEventListener("change",n),()=>{d.removeEventListener("change",n),a.removeEventListener("change",n)}},[e,t,i,r]),c}export{h as useGridRowCount};
2
+ //# sourceMappingURL=useGridRowCount.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/hooks/useGridRowCount.ts"],
4
+ "sourcesContent": ["import { useState, useEffect } from 'react'\n\ninterface UseGridRowCountOptions {\n /** \u884C\u6570\u9650\u5236 */\n rows: number\n /** \u79FB\u52A8\u7AEF\u5217\u6570 (< 768px) */\n mobileCols?: number\n /** \u5E73\u677F/\u5C0F\u684C\u9762\u5217\u6570 (\u2265 768px and < 1440px) */\n tabletCols?: number\n /** \u5927\u684C\u9762\u5217\u6570 (\u2265 1440px) */\n desktopCols?: number\n}\n\n/**\n * \u6839\u636E\u5F53\u524D\u89C6\u53E3\u5BBD\u5EA6\u8BA1\u7B97\u7F51\u683C\u53EF\u89C1\u9879\u76EE\u6570\n * \u7528\u4E8E\u54CD\u5E94\u5F0F\u7F51\u683C\u5E03\u5C40\u4E2D\uFF0C\u6839\u636E\u884C\u6570 \u00D7 \u5F53\u524D\u5217\u6570\u8BA1\u7B97\u663E\u793A\u6570\u91CF\n */\nexport function useGridRowCount({\n rows,\n mobileCols = 2,\n tabletCols = 3,\n desktopCols = 4,\n}: UseGridRowCountOptions): number {\n const [visibleCount, setVisibleCount] = useState(() => {\n if (typeof window === 'undefined') return rows * mobileCols\n if (window.innerWidth >= 1440) return rows * desktopCols\n if (window.innerWidth >= 768) return rows * tabletCols\n return rows * mobileCols\n })\n\n useEffect(() => {\n const mqTablet = window.matchMedia('(min-width: 768px)')\n const mqDesktop = window.matchMedia('(min-width: 1440px)')\n\n const updateCount = () => {\n if (mqDesktop.matches) {\n setVisibleCount(rows * desktopCols)\n } else if (mqTablet.matches) {\n setVisibleCount(rows * tabletCols)\n } else {\n setVisibleCount(rows * mobileCols)\n }\n }\n\n updateCount()\n\n mqTablet.addEventListener('change', updateCount)\n mqDesktop.addEventListener('change', updateCount)\n\n return () => {\n mqTablet.removeEventListener('change', updateCount)\n mqDesktop.removeEventListener('change', updateCount)\n }\n }, [rows, mobileCols, tabletCols, desktopCols])\n\n return visibleCount\n}\n"],
5
+ "mappings": "AAAA,OAAS,YAAAA,EAAU,aAAAC,MAAiB,QAiB7B,SAASC,EAAgB,CAC9B,KAAAC,EACA,WAAAC,EAAa,EACb,WAAAC,EAAa,EACb,YAAAC,EAAc,CAChB,EAAmC,CACjC,KAAM,CAACC,EAAcC,CAAe,EAAIR,EAAS,IAC3C,OAAO,OAAW,IAAoBG,EAAOC,EAC7C,OAAO,YAAc,KAAaD,EAAOG,EACzC,OAAO,YAAc,IAAYH,EAAOE,EACrCF,EAAOC,CACf,EAED,OAAAH,EAAU,IAAM,CACd,MAAMQ,EAAW,OAAO,WAAW,oBAAoB,EACjDC,EAAY,OAAO,WAAW,qBAAqB,EAEnDC,EAAc,IAAM,CACpBD,EAAU,QACZF,EAAgBL,EAAOG,CAAW,EACzBG,EAAS,QAClBD,EAAgBL,EAAOE,CAAU,EAEjCG,EAAgBL,EAAOC,CAAU,CAErC,EAEA,OAAAO,EAAY,EAEZF,EAAS,iBAAiB,SAAUE,CAAW,EAC/CD,EAAU,iBAAiB,SAAUC,CAAW,EAEzC,IAAM,CACXF,EAAS,oBAAoB,SAAUE,CAAW,EAClDD,EAAU,oBAAoB,SAAUC,CAAW,CACrD,CACF,EAAG,CAACR,EAAMC,EAAYC,EAAYC,CAAW,CAAC,EAEvCC,CACT",
6
+ "names": ["useState", "useEffect", "useGridRowCount", "rows", "mobileCols", "tabletCols", "desktopCols", "visibleCount", "setVisibleCount", "mqTablet", "mqDesktop", "updateCount"]
7
+ }
@@ -0,0 +1,21 @@
1
+ import { type RefObject } from 'react';
2
+ interface ViewItemListOptions {
3
+ componentType: string;
4
+ componentName: string;
5
+ componentTitle?: string;
6
+ componentDescription?: string;
7
+ navigation?: string;
8
+ pageGroup?: string;
9
+ position?: number;
10
+ tabName?: string;
11
+ itemListName?: string;
12
+ items?: Array<{
13
+ item_id: string;
14
+ item_name: string;
15
+ item_variant: string;
16
+ price: string;
17
+ index: number;
18
+ }>;
19
+ }
20
+ export declare const useViewItemList: (ref: RefObject<HTMLElement>, { componentType, componentName, componentTitle, componentDescription, navigation, position, itemListName, items, tabName, }: ViewItemListOptions) => void;
21
+ export {};
@@ -0,0 +1,2 @@
1
+ import"react";import{gaTrack as u}from"../shared/track.js";import{useIntersectionObserverDelay as l}from"./useIntersectionObserver.js";import{useAiuiContext as v}from"../biz-components/AiuiProvider/index.js";const L=(a,{componentType:e,componentName:t,componentTitle:i,componentDescription:n,navigation:r="",position:o=1,itemListName:p,items:g,tabName:c=""})=>{const{trackingData:_,onExposure:s}=v();l(a,{once:!0,threshold:.5,delay:2e3,callback:()=>{const m=_.pageGroup||"Home Page";s?s({componentType:e,componentName:t,componentTitle:i,componentDescription:n,navigation:r,pageGroup:m,position:o}):u({event:"ga4Event",event_name:"view_item_list",event_parameters:{page_group:m,component_type:e,component_name:t,position:o,creative_id:"",component_title:i,component_description:n,navigation:r,item_list_name:p,items:g,tab_name:c}})}})};export{L as useViewItemList};
2
+ //# sourceMappingURL=useViewItemList.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/hooks/useViewItemList.ts"],
4
+ "sourcesContent": ["import { type RefObject } from 'react'\nimport { gaTrack } from '../shared/track.js'\nimport { useIntersectionObserverDelay } from './useIntersectionObserver.js'\nimport { useAiuiContext } from '../biz-components/AiuiProvider/index.js'\n\ninterface ViewItemListOptions {\n componentType: string\n componentName: string\n componentTitle?: string\n componentDescription?: string\n navigation?: string\n pageGroup?: string\n position?: number\n tabName?: string\n itemListName?: string\n items?: Array<{\n item_id: string\n item_name: string\n item_variant: string\n price: string\n index: number\n }>\n}\n\nexport const useViewItemList = (\n ref: RefObject<HTMLElement>,\n {\n componentType,\n componentName,\n componentTitle,\n componentDescription,\n navigation = '',\n position = 1,\n itemListName,\n items,\n tabName = '',\n }: ViewItemListOptions\n) => {\n const { trackingData, onExposure } = useAiuiContext()\n\n useIntersectionObserverDelay(ref, {\n once: true,\n threshold: 0.5,\n delay: 2000,\n callback: () => {\n const pageGroup = trackingData.pageGroup || 'Home Page'\n\n if (onExposure) {\n // Custom handler from AiuiProvider\n onExposure({\n componentType,\n componentName,\n componentTitle,\n componentDescription,\n navigation,\n pageGroup,\n position,\n })\n } else {\n // Default GA behavior\n // TODO: \u5220\u9664\u8FD9\u4E2A\u5206\u652F\uFF0C\u53EA\u4FDD\u7559 onExposure \u903B\u8F91\uFF0C\u8BA9\u4F7F\u7528\u65B9\u5B8C\u5168\u63A7\u5236\u66DD\u5149\u57CB\u70B9\n gaTrack({\n event: 'ga4Event',\n event_name: 'view_item_list',\n event_parameters: {\n page_group: pageGroup,\n component_type: componentType,\n component_name: componentName,\n position: position,\n creative_id: '',\n component_title: componentTitle,\n component_description: componentDescription,\n navigation: navigation,\n item_list_name: itemListName,\n items: items,\n tab_name: tabName,\n },\n })\n }\n },\n })\n}\n"],
5
+ "mappings": "AAAA,MAA+B,QAC/B,OAAS,WAAAA,MAAe,qBACxB,OAAS,gCAAAC,MAAoC,+BAC7C,OAAS,kBAAAC,MAAsB,0CAqBxB,MAAMC,EAAkB,CAC7BC,EACA,CACE,cAAAC,EACA,cAAAC,EACA,eAAAC,EACA,qBAAAC,EACA,WAAAC,EAAa,GACb,SAAAC,EAAW,EACX,aAAAC,EACA,MAAAC,EACA,QAAAC,EAAU,EACZ,IACG,CACH,KAAM,CAAE,aAAAC,EAAc,WAAAC,CAAW,EAAIb,EAAe,EAEpDD,EAA6BG,EAAK,CAChC,KAAM,GACN,UAAW,GACX,MAAO,IACP,SAAU,IAAM,CACd,MAAMY,EAAYF,EAAa,WAAa,YAExCC,EAEFA,EAAW,CACT,cAAAV,EACA,cAAAC,EACA,eAAAC,EACA,qBAAAC,EACA,WAAAC,EACA,UAAAO,EACA,SAAAN,CACF,CAAC,EAIDV,EAAQ,CACN,MAAO,WACP,WAAY,iBACZ,iBAAkB,CAChB,WAAYgB,EACZ,eAAgBX,EAChB,eAAgBC,EAChB,SAAUI,EACV,YAAa,GACb,gBAAiBH,EACjB,sBAAuBC,EACvB,WAAYC,EACZ,eAAgBE,EAChB,MAAOC,EACP,SAAUC,CACZ,CACF,CAAC,CAEL,CACF,CAAC,CACH",
6
+ "names": ["gaTrack", "useIntersectionObserverDelay", "useAiuiContext", "useViewItemList", "ref", "componentType", "componentName", "componentTitle", "componentDescription", "navigation", "position", "itemListName", "items", "tabName", "trackingData", "onExposure", "pageGroup"]
7
+ }
@@ -1,3 +1,4 @@
1
1
  export * from './components/index.js';
2
2
  export { gaTrack } from './shared/track.js';
3
+ export { trackUrlRef, buildTrackingRef } from './shared/trackUrlRef.js';
3
4
  export type { ExposureParams, OnExposureCallback } from './biz-components/AiuiProvider/index.js';
package/dist/esm/index.js CHANGED
@@ -1,2 +1,2 @@
1
- export*from"./components/index.js";import{gaTrack as p}from"./shared/track.js";export{p as gaTrack};
1
+ export*from"./components/index.js";import{gaTrack as a}from"./shared/track.js";import{trackUrlRef as i,buildTrackingRef as t}from"./shared/trackUrlRef.js";export{t as buildTrackingRef,a as gaTrack,i as trackUrlRef};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.ts"],
4
- "sourcesContent": ["export * from './components/index.js'\nexport { gaTrack } from './shared/track.js'\nexport type { ExposureParams, OnExposureCallback } from './biz-components/AiuiProvider/index.js'\n"],
5
- "mappings": "AAAA,WAAc,wBACd,OAAS,WAAAA,MAAe",
6
- "names": ["gaTrack"]
4
+ "sourcesContent": ["export * from './components/index.js'\nexport { gaTrack } from './shared/track.js'\nexport { trackUrlRef, buildTrackingRef } from './shared/trackUrlRef.js'\nexport type { ExposureParams, OnExposureCallback } from './biz-components/AiuiProvider/index.js'\n"],
5
+ "mappings": "AAAA,WAAc,wBACd,OAAS,WAAAA,MAAe,oBACxB,OAAS,eAAAC,EAAa,oBAAAC,MAAwB",
6
+ "names": ["gaTrack", "trackUrlRef", "buildTrackingRef"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{Fragment as _,jsx as s,jsxs as O}from"react/jsx-runtime";import p,{useMemo as m}from"react";import{simpleHash as R}from"./simpleHash.js";import f from"./getKeyPropsString.js";import{Grid as S,GridItem as g}from"../components/grid.js";import{Container as b}from"../components/container.js";import w from"./ErrorBoundary.js";const T={12:"col-start-1 col-end-13",10:"col-start-2 col-end-12",8:"col-start-3 col-end-11",6:"col-start-4 col-end-10",4:"col-start-5 col-end-9"},N={12:"tablet:col-start-1 tablet:col-end-13",10:"tablet:col-start-2 tablet:col-end-12",8:"tablet:col-start-3 tablet:col-end-11",6:"tablet:col-start-4 tablet:col-end-10",4:"tablet:col-start-5 tablet:col-end-9"},y=t=>{const n=f(t);return`style_${R(n)}`},I=t=>{const{style:n,uid:e,disabled:o,containerClassName:r}=t;return{style:n,uid:e,disabled:o,containerClassName:r}},k=({style:t,uid:n=y({}),disabled:e=!1})=>!t||e?null:s("style",{suppressHydrationWarning:!0,"data-style-id":n,dangerouslySetInnerHTML:{__html:`.block-${n} { ${t} }`}}),h=(t,n)=>{const e=m(()=>t?.uid||y({...t,...n??{}}),[n,t]),o=m(()=>s(k,{...t,uid:e}),[t,e]);return{className:`block-${e} `,StyleComponent:o,uid:e}},$=t=>{const{desktopSpan:n,mobileSpan:e}=t||{},o=e?T[e]:"",r=n?N[n]:"";return`${o} ${r}`.trim()},j=t=>t?typeof t=="string"?t:typeof t=="object"&&Object.entries(t).length<=0?"":Object.entries(t).map(([n,e])=>`${n.replace(/([A-Z])/g,"-$1").toLowerCase()}: ${e}`).join("; ")+";":"",x=(t,n)=>[t,n].map(j).filter(e=>!!e).map(e=>e.trim().endsWith(";")?e:`${e};`).join(" ");function L(t,n){const e=p.forwardRef((o,r)=>{const a=I(o),i=x(n?.style,a.style),c={...n,...a,...i&&{style:i}},{className:l,StyleComponent:d}=h(c,o.data),{style:G,uid:A,disabled:F,className:P,...C}=o;return O(_,{children:[d,s(t,{...C,className:[l,P].filter(Boolean).join(" ").trim(),ref:r})]})});return e.displayName=`WithStyleInjection(${t.displayName||t.name||"Component"})`,e}function E(t,n){const e=p.forwardRef((o,r)=>{const{container:a,containerClassName:i,...c}=o;if(!a||Reflect.ownKeys(a).length===0)return s(t,{...c,ref:r});const l=[n,i].filter(Boolean).join(" ").trim();return s(b,{className:l,children:s(S,{className:"container_grid",children:s(g,{className:$(a),children:s(t,{...c,ref:r})})})})});return e.displayName=`WithContainerLayout(${t.displayName||t.name||"Component"})`,e}function B(t){const n=p.forwardRef((e,o)=>s(w,{children:s(t,{...e,ref:o})}));return n.displayName=`WithErrorBoundary(${t.displayName||t.name||"Component"})`,n}const u=new WeakMap;function Z(t,n){if(u.has(t))return t;const e=B(E(L(t,n),n?.containerClassName));e.displayName=`WithLayout(${t.displayName||t.name||"Component"})`,u.set(t,!0);const o=e;return Object.getOwnPropertyNames(t).forEach(r=>{!(r in o)&&r!=="arguments"&&r!=="caller"&&r!=="length"&&r!=="name"&&(o[r]=t[r])}),o}export{I as getStylesProps,h as useStyles,Z as withLayout};
1
+ import{Fragment as _,jsx as s,jsxs as O}from"react/jsx-runtime";import m,{useMemo as y}from"react";import{simpleHash as R}from"./simpleHash.js";import f from"./getKeyPropsString.js";import{Grid as S,GridItem as g}from"../components/grid.js";import{Container as b}from"../components/container.js";import w from"./ErrorBoundary.js";const T={12:"col-start-1 col-end-13",10:"col-start-2 col-end-12",8:"col-start-3 col-end-11",6:"col-start-4 col-end-10",4:"col-start-5 col-end-9"},N={12:"tablet:col-start-1 tablet:col-end-13",10:"tablet:col-start-2 tablet:col-end-12",8:"tablet:col-start-3 tablet:col-end-11",6:"tablet:col-start-4 tablet:col-end-10",4:"tablet:col-start-5 tablet:col-end-9"},u=t=>{const n=f(t);return`style_${R(n)}`},I=t=>{const{style:n,uid:e,disabled:o,containerClassName:r}=t;return{style:n,uid:e,disabled:o,containerClassName:r}},k=({style:t,uid:n=u({}),disabled:e=!1})=>!t||e?null:s("style",{suppressHydrationWarning:!0,"data-style-id":n,dangerouslySetInnerHTML:{__html:`.block-${n} { ${t} }`}}),h=(t,n)=>{const e=y(()=>t?.uid||u({...t,...n??{}}),[n,t]),o=y(()=>s(k,{...t,uid:e}),[t,e]);return{className:`block-${e} `,StyleComponent:o,uid:e}},$=t=>{const{desktopSpan:n,mobileSpan:e}=t||{},o=e?T[e]:"",r=n?N[n]:"";return`${o} ${r}`.trim()},j=t=>t?typeof t=="string"?t:typeof t=="object"&&Object.entries(t).length<=0?"":Object.entries(t).map(([n,e])=>`${n.replace(/([A-Z])/g,"-$1").toLowerCase()}: ${e}`).join("; ")+";":"",x=(t,n)=>[t,n].map(j).filter(e=>!!e).map(e=>e.trim().endsWith(";")?e:`${e};`).join(" ");function L(t,n){const e=m.forwardRef((o,r)=>{const{container:a,containerClassName:i,className:c,...l}=o;if(!a||Reflect.ownKeys(a).length===0)return s(t,{...l,className:c,ref:r});const p=[n,i,c].filter(Boolean).join(" ").trim();return s(b,{className:p,children:s(S,{className:"container_grid",children:s(g,{className:$(a),children:s(t,{...l,ref:r})})})})});return e.displayName=`WithContainerLayout(${t.displayName||t.name||"Component"})`,e}function E(t,n){const e=m.forwardRef((o,r)=>{const a=I(o),i=x(n?.style,a.style),c={...n,...a,...i&&{style:i}},{className:l,StyleComponent:p}=h(c,o.data),{style:G,uid:A,disabled:F,className:P,...C}=o;return O(_,{children:[p,s(t,{...C,className:[l,P].filter(Boolean).join(" ").trim(),ref:r})]})});return e.displayName=`WithStyleInjection(${t.displayName||t.name||"Component"})`,e}function B(t){const n=m.forwardRef((e,o)=>s(w,{children:s(t,{...e,ref:o})}));return n.displayName=`WithErrorBoundary(${t.displayName||t.name||"Component"})`,n}const d=new WeakMap;function Z(t,n){if(d.has(t))return t;const e=B(E(L(t,n?.containerClassName),n));e.displayName=`WithLayout(${t.displayName||t.name||"Component"})`,d.set(t,!0);const o=e;return Object.getOwnPropertyNames(t).forEach(r=>{!(r in o)&&r!=="arguments"&&r!=="caller"&&r!=="length"&&r!=="name"&&(o[r]=t[r])}),o}export{I as getStylesProps,h as useStyles,Z as withLayout};
2
2
  //# sourceMappingURL=Styles.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/shared/Styles.tsx"],
4
- "sourcesContent": ["import React, { useMemo } from 'react'\nimport { simpleHash } from './simpleHash.js'\nimport getKeyPropsString from './getKeyPropsString.js'\nimport { Grid, GridItem } from '../components/grid.js'\nimport { Container } from '../components/container.js'\nimport ErrorBoundary from './ErrorBoundary.js'\n\nconst colContentClasses: Record<number, string> = {\n 12: 'col-start-1 col-end-13',\n 10: 'col-start-2 col-end-12',\n 8: 'col-start-3 col-end-11',\n 6: 'col-start-4 col-end-10',\n 4: 'col-start-5 col-end-9',\n} as const\n\n// \u9884\u5B9A\u4E49\u5E26 tablet \u524D\u7F00\u7684\u7C7B\u540D\uFF0C\u786E\u4FDD Tailwind \u53EF\u4EE5\u8BC6\u522B\nconst colContentClassesTablet: Record<number, string> = {\n 12: 'tablet:col-start-1 tablet:col-end-13',\n 10: 'tablet:col-start-2 tablet:col-end-12',\n 8: 'tablet:col-start-3 tablet:col-end-11',\n 6: 'tablet:col-start-4 tablet:col-end-10',\n 4: 'tablet:col-start-5 tablet:col-end-9',\n} as const\n\nexport interface ContainerProps {\n container?: {\n desktopSpan: number\n mobileSpan: number\n }\n}\n\nexport interface StylesProps {\n style?: string | React.CSSProperties\n uid?: string\n disabled?: boolean\n containerClassName?: string\n}\n\ntype LayoutProps<P> = Omit<P, keyof StylesProps | keyof ContainerProps> & StylesProps & ContainerProps\n\ntype StaticComponentProperties<T> = Omit<T, keyof React.ComponentType<any> | 'displayName' | 'prototype'>\n\nconst generateUID = (props: Record<string, unknown>) => {\n const keyString = getKeyPropsString(props)\n return `style_${simpleHash(keyString)}`\n}\n\nexport const getStylesProps = <T extends StylesProps>(props: T): StylesProps => {\n const { style, uid, disabled, containerClassName } = props\n return { style, uid, disabled, containerClassName }\n}\n\nconst Styles: React.FC<StylesProps> = ({ style, uid = generateUID({}), disabled = false }) => {\n if (!style || disabled) {\n return null\n }\n\n return (\n <style\n suppressHydrationWarning\n data-style-id={uid}\n dangerouslySetInnerHTML={{ __html: `.block-${uid} { ${style} }` }}\n />\n )\n}\n\nexport const useStyles = (styleProps: Partial<StylesProps>, data?: Record<string, unknown>) => {\n const uid = useMemo(() => styleProps?.uid || generateUID({ ...styleProps, ...(data ?? {}) }), [data, styleProps])\n\n const StyleComponent = useMemo(() => <Styles {...styleProps} uid={uid} />, [styleProps, uid])\n\n return {\n className: `block-${uid} `,\n StyleComponent,\n uid,\n } as const\n}\n\nconst getGridItemClassName = (container?: ContainerProps['container']) => {\n const { desktopSpan, mobileSpan } = container || {}\n const mobileClasses = mobileSpan ? colContentClasses[mobileSpan] : ''\n const desktopClasses = desktopSpan ? colContentClassesTablet[desktopSpan] : ''\n return `${mobileClasses} ${desktopClasses}`.trim()\n}\n\nconst styleToString = (style?: string | React.CSSProperties): string => {\n if (!style) return ''\n if (typeof style === 'string') return style\n if (typeof style === 'object' && Object.entries(style).length <= 0) return ''\n return (\n Object.entries(style)\n .map(([key, value]) => {\n const cssKey = key.replace(/([A-Z])/g, '-$1').toLowerCase()\n return `${cssKey}: ${value}`\n })\n .join('; ') + ';'\n )\n}\n\nconst mergeStyles = (a?: string | React.CSSProperties, b?: string | React.CSSProperties): string =>\n [a, b]\n .map(styleToString)\n .filter((s): s is string => Boolean(s))\n .map(s => (s.trim().endsWith(';') ? s : `${s};`))\n .join(' ')\n\ntype InternalProps = StylesProps &\n ContainerProps & { className?: string; data?: Record<string, unknown> } & Record<string, unknown>\n\nfunction withStyleInjection(\n WrappedComponent: React.ComponentType<InternalProps>,\n defaultStyleProps?: Partial<StylesProps>\n): React.ComponentType<InternalProps> {\n const Wrapped = React.forwardRef<unknown, InternalProps>((props, ref) => {\n const propsStyleProps = getStylesProps(props)\n const mergedStyle = mergeStyles(defaultStyleProps?.style, propsStyleProps.style)\n\n const finalStyleProps: StylesProps = {\n ...defaultStyleProps,\n ...propsStyleProps,\n ...(mergedStyle && { style: mergedStyle }),\n }\n\n const { className, StyleComponent } = useStyles(finalStyleProps, props.data as Record<string, unknown> | undefined)\n\n // eslint-disable-next-line no-unused-vars\n const { style: _s, uid: _u, disabled: _d, className: ownClassName, ...rest } = props\n\n return (\n <>\n {StyleComponent}\n <WrappedComponent {...rest} className={[className, ownClassName].filter(Boolean).join(' ').trim()} ref={ref} />\n </>\n )\n })\n\n Wrapped.displayName = `WithStyleInjection(${WrappedComponent.displayName || WrappedComponent.name || 'Component'})`\n return Wrapped as React.ComponentType<InternalProps>\n}\n\nfunction withContainerLayout(\n WrappedComponent: React.ComponentType<InternalProps>,\n defaultContainerClassName?: string\n): React.ComponentType<InternalProps> {\n const Wrapped = React.forwardRef<unknown, InternalProps>((props, ref) => {\n // eslint-disable-next-line no-unused-vars\n const { container, containerClassName, ...componentProps } = props\n\n if (!container || Reflect.ownKeys(container).length === 0) {\n return <WrappedComponent {...componentProps} ref={ref} />\n }\n\n const mergedContainerClassName = [defaultContainerClassName, containerClassName].filter(Boolean).join(' ').trim()\n\n return (\n <Container className={mergedContainerClassName}>\n <Grid className=\"container_grid\">\n <GridItem className={getGridItemClassName(container as ContainerProps['container'])}>\n <WrappedComponent {...componentProps} ref={ref} />\n </GridItem>\n </Grid>\n </Container>\n )\n })\n\n Wrapped.displayName = `WithContainerLayout(${WrappedComponent.displayName || WrappedComponent.name || 'Component'})`\n return Wrapped as React.ComponentType<InternalProps>\n}\n\nfunction withErrorBoundary(WrappedComponent: React.ComponentType<InternalProps>): React.ComponentType<InternalProps> {\n const Wrapped = React.forwardRef<unknown, InternalProps>((props, ref) => (\n <ErrorBoundary>\n <WrappedComponent {...props} ref={ref} />\n </ErrorBoundary>\n ))\n\n Wrapped.displayName = `WithErrorBoundary(${WrappedComponent.displayName || WrappedComponent.name || 'Component'})`\n return Wrapped as React.ComponentType<InternalProps>\n}\n\nconst wrappedComponents = new WeakMap<React.ComponentType<never>, true>()\n\nexport function withLayout<T extends React.ComponentType<any>>(\n WrappedComponent: T,\n defaultLayoutProps?: Partial<StylesProps & ContainerProps>\n): React.ForwardRefExoticComponent<LayoutProps<React.ComponentProps<T>> & React.RefAttributes<unknown>> &\n StaticComponentProperties<T> {\n if (wrappedComponents.has(WrappedComponent as React.ComponentType<never>)) {\n return WrappedComponent as unknown as React.ForwardRefExoticComponent<\n LayoutProps<React.ComponentProps<T>> & React.RefAttributes<unknown>\n > &\n StaticComponentProperties<T>\n }\n\n const composed = withErrorBoundary(\n withContainerLayout(\n withStyleInjection(WrappedComponent as unknown as React.ComponentType<InternalProps>, defaultLayoutProps),\n defaultLayoutProps?.containerClassName\n )\n )\n\n composed.displayName = `WithLayout(${WrappedComponent.displayName || WrappedComponent.name || 'Component'})`\n\n wrappedComponents.set(WrappedComponent as React.ComponentType<never>, true)\n\n const result = composed as unknown as React.ForwardRefExoticComponent<\n LayoutProps<React.ComponentProps<T>> & React.RefAttributes<unknown>\n > &\n StaticComponentProperties<T>\n\n Object.getOwnPropertyNames(WrappedComponent).forEach(key => {\n if (!(key in result) && key !== 'arguments' && key !== 'caller' && key !== 'length' && key !== 'name') {\n ;(result as any)[key] = (WrappedComponent as any)[key]\n }\n })\n\n return result\n}\n"],
5
- "mappings": "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",
6
- "names": ["Fragment", "jsx", "jsxs", "React", "useMemo", "simpleHash", "getKeyPropsString", "Grid", "GridItem", "Container", "ErrorBoundary", "colContentClasses", "colContentClassesTablet", "generateUID", "props", "keyString", "getStylesProps", "style", "uid", "disabled", "containerClassName", "Styles", "useStyles", "styleProps", "data", "StyleComponent", "getGridItemClassName", "container", "desktopSpan", "mobileSpan", "mobileClasses", "desktopClasses", "styleToString", "key", "value", "mergeStyles", "a", "b", "s", "withStyleInjection", "WrappedComponent", "defaultStyleProps", "Wrapped", "ref", "propsStyleProps", "mergedStyle", "finalStyleProps", "className", "_s", "_u", "_d", "ownClassName", "rest", "withContainerLayout", "defaultContainerClassName", "componentProps", "mergedContainerClassName", "withErrorBoundary", "wrappedComponents", "withLayout", "defaultLayoutProps", "composed", "result"]
4
+ "sourcesContent": ["import React, { useMemo } from 'react'\nimport { simpleHash } from './simpleHash.js'\nimport getKeyPropsString from './getKeyPropsString.js'\nimport { Grid, GridItem } from '../components/grid.js'\nimport { Container } from '../components/container.js'\nimport ErrorBoundary from './ErrorBoundary.js'\n\nconst colContentClasses: Record<number, string> = {\n 12: 'col-start-1 col-end-13',\n 10: 'col-start-2 col-end-12',\n 8: 'col-start-3 col-end-11',\n 6: 'col-start-4 col-end-10',\n 4: 'col-start-5 col-end-9',\n} as const\n\n// \u9884\u5B9A\u4E49\u5E26 tablet \u524D\u7F00\u7684\u7C7B\u540D\uFF0C\u786E\u4FDD Tailwind \u53EF\u4EE5\u8BC6\u522B\nconst colContentClassesTablet: Record<number, string> = {\n 12: 'tablet:col-start-1 tablet:col-end-13',\n 10: 'tablet:col-start-2 tablet:col-end-12',\n 8: 'tablet:col-start-3 tablet:col-end-11',\n 6: 'tablet:col-start-4 tablet:col-end-10',\n 4: 'tablet:col-start-5 tablet:col-end-9',\n} as const\n\nexport interface ContainerProps {\n container?: {\n desktopSpan: number\n mobileSpan: number\n }\n}\n\nexport interface StylesProps {\n style?: string | React.CSSProperties\n uid?: string\n disabled?: boolean\n containerClassName?: string\n}\n\ntype LayoutProps<P> = Omit<P, keyof StylesProps | keyof ContainerProps> & StylesProps & ContainerProps\n\ntype StaticComponentProperties<T> = Omit<T, keyof React.ComponentType<any> | 'displayName' | 'prototype'>\n\nconst generateUID = (props: Record<string, unknown>) => {\n const keyString = getKeyPropsString(props)\n return `style_${simpleHash(keyString)}`\n}\n\nexport const getStylesProps = <T extends StylesProps>(props: T): StylesProps => {\n const { style, uid, disabled, containerClassName } = props\n return { style, uid, disabled, containerClassName }\n}\n\nconst Styles: React.FC<StylesProps> = ({ style, uid = generateUID({}), disabled = false }) => {\n if (!style || disabled) {\n return null\n }\n\n return (\n <style\n suppressHydrationWarning\n data-style-id={uid}\n dangerouslySetInnerHTML={{ __html: `.block-${uid} { ${style} }` }}\n />\n )\n}\n\nexport const useStyles = (styleProps: Partial<StylesProps>, data?: Record<string, unknown>) => {\n const uid = useMemo(() => styleProps?.uid || generateUID({ ...styleProps, ...(data ?? {}) }), [data, styleProps])\n\n const StyleComponent = useMemo(() => <Styles {...styleProps} uid={uid} />, [styleProps, uid])\n\n return {\n className: `block-${uid} `,\n StyleComponent,\n uid,\n } as const\n}\n\nconst getGridItemClassName = (container?: ContainerProps['container']) => {\n const { desktopSpan, mobileSpan } = container || {}\n const mobileClasses = mobileSpan ? colContentClasses[mobileSpan] : ''\n const desktopClasses = desktopSpan ? colContentClassesTablet[desktopSpan] : ''\n return `${mobileClasses} ${desktopClasses}`.trim()\n}\n\nconst styleToString = (style?: string | React.CSSProperties): string => {\n if (!style) return ''\n if (typeof style === 'string') return style\n if (typeof style === 'object' && Object.entries(style).length <= 0) return ''\n return (\n Object.entries(style)\n .map(([key, value]) => {\n const cssKey = key.replace(/([A-Z])/g, '-$1').toLowerCase()\n return `${cssKey}: ${value}`\n })\n .join('; ') + ';'\n )\n}\n\nconst mergeStyles = (a?: string | React.CSSProperties, b?: string | React.CSSProperties): string =>\n [a, b]\n .map(styleToString)\n .filter((s): s is string => Boolean(s))\n .map(s => (s.trim().endsWith(';') ? s : `${s};`))\n .join(' ')\n\ntype InternalProps = StylesProps &\n ContainerProps & { className?: string; data?: Record<string, unknown> } & Record<string, unknown>\n\nfunction withContainerLayout(\n WrappedComponent: React.ComponentType<InternalProps>,\n defaultContainerClassName?: string\n): React.ComponentType<InternalProps> {\n const Wrapped = React.forwardRef<unknown, InternalProps>((props, ref) => {\n // eslint-disable-next-line no-unused-vars\n const { container, containerClassName, className, ...componentProps } = props\n\n if (!container || Reflect.ownKeys(container).length === 0) {\n return <WrappedComponent {...componentProps} className={className as string | undefined} ref={ref} />\n }\n\n const mergedContainerClassName = [defaultContainerClassName, containerClassName, className]\n .filter(Boolean)\n .join(' ')\n .trim()\n\n return (\n <Container className={mergedContainerClassName}>\n <Grid className=\"container_grid\">\n <GridItem className={getGridItemClassName(container as ContainerProps['container'])}>\n <WrappedComponent {...componentProps} ref={ref} />\n </GridItem>\n </Grid>\n </Container>\n )\n })\n\n Wrapped.displayName = `WithContainerLayout(${WrappedComponent.displayName || WrappedComponent.name || 'Component'})`\n return Wrapped as React.ComponentType<InternalProps>\n}\n\nfunction withStyleInjection(\n WrappedComponent: React.ComponentType<InternalProps>,\n defaultStyleProps?: Partial<StylesProps>\n): React.ComponentType<InternalProps> {\n const Wrapped = React.forwardRef<unknown, InternalProps>((props, ref) => {\n const propsStyleProps = getStylesProps(props)\n const mergedStyle = mergeStyles(defaultStyleProps?.style, propsStyleProps.style)\n\n const finalStyleProps: StylesProps = {\n ...defaultStyleProps,\n ...propsStyleProps,\n ...(mergedStyle && { style: mergedStyle }),\n }\n\n const { className, StyleComponent } = useStyles(finalStyleProps, props.data as Record<string, unknown> | undefined)\n\n // eslint-disable-next-line no-unused-vars\n const { style: _s, uid: _u, disabled: _d, className: ownClassName, ...rest } = props\n\n return (\n <>\n {StyleComponent}\n <WrappedComponent {...rest} className={[className, ownClassName].filter(Boolean).join(' ').trim()} ref={ref} />\n </>\n )\n })\n\n Wrapped.displayName = `WithStyleInjection(${WrappedComponent.displayName || WrappedComponent.name || 'Component'})`\n return Wrapped as React.ComponentType<InternalProps>\n}\n\nfunction withErrorBoundary(WrappedComponent: React.ComponentType<InternalProps>): React.ComponentType<InternalProps> {\n const Wrapped = React.forwardRef<unknown, InternalProps>((props, ref) => (\n <ErrorBoundary>\n <WrappedComponent {...props} ref={ref} />\n </ErrorBoundary>\n ))\n\n Wrapped.displayName = `WithErrorBoundary(${WrappedComponent.displayName || WrappedComponent.name || 'Component'})`\n return Wrapped as React.ComponentType<InternalProps>\n}\n\nconst wrappedComponents = new WeakMap<React.ComponentType<never>, true>()\n\nexport function withLayout<T extends React.ComponentType<any>>(\n WrappedComponent: T,\n defaultLayoutProps?: Partial<StylesProps & ContainerProps>\n): React.ForwardRefExoticComponent<LayoutProps<React.ComponentProps<T>> & React.RefAttributes<unknown>> &\n StaticComponentProperties<T> {\n if (wrappedComponents.has(WrappedComponent as React.ComponentType<never>)) {\n return WrappedComponent as unknown as React.ForwardRefExoticComponent<\n LayoutProps<React.ComponentProps<T>> & React.RefAttributes<unknown>\n > &\n StaticComponentProperties<T>\n }\n\n const composed = withErrorBoundary(\n withStyleInjection(\n withContainerLayout(\n WrappedComponent as unknown as React.ComponentType<InternalProps>,\n defaultLayoutProps?.containerClassName\n ),\n defaultLayoutProps\n )\n )\n\n composed.displayName = `WithLayout(${WrappedComponent.displayName || WrappedComponent.name || 'Component'})`\n\n wrappedComponents.set(WrappedComponent as React.ComponentType<never>, true)\n\n const result = composed as unknown as React.ForwardRefExoticComponent<\n LayoutProps<React.ComponentProps<T>> & React.RefAttributes<unknown>\n > &\n StaticComponentProperties<T>\n\n Object.getOwnPropertyNames(WrappedComponent).forEach(key => {\n if (!(key in result) && key !== 'arguments' && key !== 'caller' && key !== 'length' && key !== 'name') {\n ;(result as any)[key] = (WrappedComponent as any)[key]\n }\n })\n\n return result\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["Fragment", "jsx", "jsxs", "React", "useMemo", "simpleHash", "getKeyPropsString", "Grid", "GridItem", "Container", "ErrorBoundary", "colContentClasses", "colContentClassesTablet", "generateUID", "props", "keyString", "getStylesProps", "style", "uid", "disabled", "containerClassName", "Styles", "useStyles", "styleProps", "data", "StyleComponent", "getGridItemClassName", "container", "desktopSpan", "mobileSpan", "mobileClasses", "desktopClasses", "styleToString", "key", "value", "mergeStyles", "a", "b", "s", "withContainerLayout", "WrappedComponent", "defaultContainerClassName", "Wrapped", "ref", "className", "componentProps", "mergedContainerClassName", "withStyleInjection", "defaultStyleProps", "propsStyleProps", "mergedStyle", "finalStyleProps", "_s", "_u", "_d", "ownClassName", "rest", "withErrorBoundary", "wrappedComponents", "withLayout", "defaultLayoutProps", "composed", "result"]
7
7
  }
@@ -5,3 +5,12 @@
5
5
  * @returns 添加了 ref 参数的新 url
6
6
  */
7
7
  export declare const trackUrlRef: (url?: string, refValue?: string) => string;
8
+ /**
9
+ * 构造标准化 ref 追踪字符串
10
+ * 格式: `${pageHandle}_${componentType}_${componentName}`
11
+ * @param pageHandle 页面标识,如 'soundcore-lottery'
12
+ * @param componentType 组件类型,如 'copy'
13
+ * @param componentName 组件名称,如 'lottery_banner'
14
+ * @returns 拼接后的 ref 字符串,如 'soundcore-lottery_copy_lottery_banner'
15
+ */
16
+ export declare const buildTrackingRef: (pageHandle: string, componentType: string, componentName: string) => string;
@@ -1,2 +1,2 @@
1
- const f=(t="",r="")=>{try{if(/^https?:\/\//.test(t)){const n=new URL(t);return n.searchParams.has("ref")?t:(n.searchParams.set("ref",r),n.toString())}else{const[n,s=""]=t.split("#"),[a,o=""]=n.split("?"),e=new URLSearchParams(o);if(e.has("ref"))return t;e.set("ref",r);const c=e.toString()?`?${e.toString()}`:"",h=s?`#${s}`:"";return`${a}${c}${h}`}}catch{return/[?&]ref=/.test(t)?t:t?.includes("?")?t+"&ref="+encodeURIComponent(r):t+"?ref="+encodeURIComponent(r)}};export{f as trackUrlRef};
1
+ const h=(t="",n="")=>{try{if(t?.startsWith("#"))return t;if(n=n.replace(/Activity Page_/g,""),/^https?:\/\//.test(t)){const r=new URL(t);return r.searchParams.has("ref")?t:(r.searchParams.set("ref",n),r.toString())}else{const[r,i=""]=t.split("#"),[c,a=""]=r.split("?"),s=new URLSearchParams(a);if(s.has("ref"))return t;s.set("ref",n);const o=s.toString()?`?${s.toString()}`:"",g=i?`#${i}`:"";return`${c}${o}${g}`}}catch{return/[?&]ref=/.test(t)?t:t?.includes("?")?t+"&ref="+encodeURIComponent(n):t+"?ref="+encodeURIComponent(n)}},p=(t,n,e)=>`${t}_${n}_${e}`;export{p as buildTrackingRef,h as trackUrlRef};
2
2
  //# sourceMappingURL=trackUrlRef.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/shared/trackUrlRef.ts"],
4
- "sourcesContent": ["/**\n * \u7ED9 url \u6216 path \u6DFB\u52A0 ref \u53C2\u6570\n * @param url \u539F\u59CB url \u6216 path\n * @param refValue ref \u53C2\u6570\u7684\u503C\n * @returns \u6DFB\u52A0\u4E86 ref \u53C2\u6570\u7684\u65B0 url\n */\nexport const trackUrlRef = (url: string = '', refValue: string = ''): string => {\n try {\n // \u5224\u65AD\u662F\u5426\u4E3A\u7EDD\u5BF9 URL\n const hasOrigin = /^https?:\\/\\//.test(url)\n if (hasOrigin) {\n const u = new URL(url)\n // \u5982\u679C\u5DF2\u6709 ref \u53C2\u6570\uFF0C\u8DF3\u8FC7\u8986\u76D6\n if (u.searchParams.has('ref')) {\n return url\n }\n u.searchParams.set('ref', refValue)\n return u.toString()\n } else {\n const [pathWithQuery, hash = ''] = url.split('#')\n const [path, query = ''] = pathWithQuery.split('?')\n const params = new URLSearchParams(query)\n // \u5982\u679C\u5DF2\u6709 ref \u53C2\u6570\uFF0C\u8DF3\u8FC7\u8986\u76D6\n if (params.has('ref')) {\n return url\n }\n params.set('ref', refValue)\n const queryString = params.toString() ? `?${params.toString()}` : ''\n const hashString = hash ? `#${hash}` : ''\n return `${path}${queryString}${hashString}`\n }\n } catch (e) {\n // \u5982\u679C\u5DF2\u6709 ref \u53C2\u6570\uFF0C\u8DF3\u8FC7\u8986\u76D6\n if (/[?&]ref=/.test(url)) {\n return url\n }\n if (url?.includes('?')) {\n return url + '&ref=' + encodeURIComponent(refValue)\n }\n return url + '?ref=' + encodeURIComponent(refValue)\n }\n}\n"],
5
- "mappings": "AAMO,MAAMA,EAAc,CAACC,EAAc,GAAIC,EAAmB,KAAe,CAC9E,GAAI,CAGF,GADkB,eAAe,KAAKD,CAAG,EAC1B,CACb,MAAME,EAAI,IAAI,IAAIF,CAAG,EAErB,OAAIE,EAAE,aAAa,IAAI,KAAK,EACnBF,GAETE,EAAE,aAAa,IAAI,MAAOD,CAAQ,EAC3BC,EAAE,SAAS,EACpB,KAAO,CACL,KAAM,CAACC,EAAeC,EAAO,EAAE,EAAIJ,EAAI,MAAM,GAAG,EAC1C,CAACK,EAAMC,EAAQ,EAAE,EAAIH,EAAc,MAAM,GAAG,EAC5CI,EAAS,IAAI,gBAAgBD,CAAK,EAExC,GAAIC,EAAO,IAAI,KAAK,EAClB,OAAOP,EAETO,EAAO,IAAI,MAAON,CAAQ,EAC1B,MAAMO,EAAcD,EAAO,SAAS,EAAI,IAAIA,EAAO,SAAS,CAAC,GAAK,GAC5DE,EAAaL,EAAO,IAAIA,CAAI,GAAK,GACvC,MAAO,GAAGC,CAAI,GAAGG,CAAW,GAAGC,CAAU,EAC3C,CACF,MAAY,CAEV,MAAI,WAAW,KAAKT,CAAG,EACdA,EAELA,GAAK,SAAS,GAAG,EACZA,EAAM,QAAU,mBAAmBC,CAAQ,EAE7CD,EAAM,QAAU,mBAAmBC,CAAQ,CACpD,CACF",
6
- "names": ["trackUrlRef", "url", "refValue", "u", "pathWithQuery", "hash", "path", "query", "params", "queryString", "hashString"]
4
+ "sourcesContent": ["/**\n * \u7ED9 url \u6216 path \u6DFB\u52A0 ref \u53C2\u6570\n * @param url \u539F\u59CB url \u6216 path\n * @param refValue ref \u53C2\u6570\u7684\u503C\n * @returns \u6DFB\u52A0\u4E86 ref \u53C2\u6570\u7684\u65B0 url\n */\nexport const trackUrlRef = (url: string = '', refValue: string = ''): string => {\n try {\n // \u5904\u7406\u951A\u70B9\n if (url?.startsWith('#')) return url\n // \u5386\u53F2\u57CB\u70B9\u95EE\u9898\u5904\u7406\uFF0C\u53BB\u6389pageHandle \u7684\u524D\u7F00\n refValue = refValue.replace(/Activity Page_/g, '')\n // \u5224\u65AD\u662F\u5426\u4E3A\u7EDD\u5BF9 URL\n const hasOrigin = /^https?:\\/\\//.test(url)\n if (hasOrigin) {\n const u = new URL(url)\n // \u5982\u679C\u5DF2\u6709 ref \u53C2\u6570\uFF0C\u8DF3\u8FC7\u8986\u76D6\n if (u.searchParams.has('ref')) {\n return url\n }\n u.searchParams.set('ref', refValue)\n return u.toString()\n } else {\n const [pathWithQuery, hash = ''] = url.split('#')\n const [path, query = ''] = pathWithQuery.split('?')\n const params = new URLSearchParams(query)\n // \u5982\u679C\u5DF2\u6709 ref \u53C2\u6570\uFF0C\u8DF3\u8FC7\u8986\u76D6\n if (params.has('ref')) {\n return url\n }\n params.set('ref', refValue)\n const queryString = params.toString() ? `?${params.toString()}` : ''\n const hashString = hash ? `#${hash}` : ''\n return `${path}${queryString}${hashString}`\n }\n } catch (e) {\n // \u5982\u679C\u5DF2\u6709 ref \u53C2\u6570\uFF0C\u8DF3\u8FC7\u8986\u76D6\n if (/[?&]ref=/.test(url)) {\n return url\n }\n if (url?.includes('?')) {\n return url + '&ref=' + encodeURIComponent(refValue)\n }\n return url + '?ref=' + encodeURIComponent(refValue)\n }\n}\n\n/**\n * \u6784\u9020\u6807\u51C6\u5316 ref \u8FFD\u8E2A\u5B57\u7B26\u4E32\n * \u683C\u5F0F: `${pageHandle}_${componentType}_${componentName}`\n * @param pageHandle \u9875\u9762\u6807\u8BC6\uFF0C\u5982 'soundcore-lottery'\n * @param componentType \u7EC4\u4EF6\u7C7B\u578B\uFF0C\u5982 'copy'\n * @param componentName \u7EC4\u4EF6\u540D\u79F0\uFF0C\u5982 'lottery_banner'\n * @returns \u62FC\u63A5\u540E\u7684 ref \u5B57\u7B26\u4E32\uFF0C\u5982 'soundcore-lottery_copy_lottery_banner'\n */\nexport const buildTrackingRef = (pageHandle: string, componentType: string, componentName: string): string => {\n return `${pageHandle}_${componentType}_${componentName}`\n}\n"],
5
+ "mappings": "AAMO,MAAMA,EAAc,CAACC,EAAc,GAAIC,EAAmB,KAAe,CAC9E,GAAI,CAEF,GAAID,GAAK,WAAW,GAAG,EAAG,OAAOA,EAKjC,GAHAC,EAAWA,EAAS,QAAQ,kBAAmB,EAAE,EAE/B,eAAe,KAAKD,CAAG,EAC1B,CACb,MAAME,EAAI,IAAI,IAAIF,CAAG,EAErB,OAAIE,EAAE,aAAa,IAAI,KAAK,EACnBF,GAETE,EAAE,aAAa,IAAI,MAAOD,CAAQ,EAC3BC,EAAE,SAAS,EACpB,KAAO,CACL,KAAM,CAACC,EAAeC,EAAO,EAAE,EAAIJ,EAAI,MAAM,GAAG,EAC1C,CAACK,EAAMC,EAAQ,EAAE,EAAIH,EAAc,MAAM,GAAG,EAC5CI,EAAS,IAAI,gBAAgBD,CAAK,EAExC,GAAIC,EAAO,IAAI,KAAK,EAClB,OAAOP,EAETO,EAAO,IAAI,MAAON,CAAQ,EAC1B,MAAMO,EAAcD,EAAO,SAAS,EAAI,IAAIA,EAAO,SAAS,CAAC,GAAK,GAC5DE,EAAaL,EAAO,IAAIA,CAAI,GAAK,GACvC,MAAO,GAAGC,CAAI,GAAGG,CAAW,GAAGC,CAAU,EAC3C,CACF,MAAY,CAEV,MAAI,WAAW,KAAKT,CAAG,EACdA,EAELA,GAAK,SAAS,GAAG,EACZA,EAAM,QAAU,mBAAmBC,CAAQ,EAE7CD,EAAM,QAAU,mBAAmBC,CAAQ,CACpD,CACF,EAUaS,EAAmB,CAACC,EAAoBC,EAAuBC,IACnE,GAAGF,CAAU,IAAIC,CAAa,IAAIC,CAAa",
6
+ "names": ["trackUrlRef", "url", "refValue", "u", "pathWithQuery", "hash", "path", "query", "params", "queryString", "hashString", "buildTrackingRef", "pageHandle", "componentType", "componentName"]
7
7
  }
@@ -25,15 +25,32 @@ export type Theme = 'light' | 'dark';
25
25
  export type Shape = 'rounded' | 'square';
26
26
  export type Align = 'left' | 'center' | 'right';
27
27
  export type Media = {
28
+ id?: string;
28
29
  alt: string;
29
30
  url: string;
30
- thumbnailURL: string;
31
+ thumbnailURL?: string;
31
32
  mimeType?: 'video/mp4' | 'image/jpeg' | 'image/png' | 'image/webp' | 'image/svg+xml';
32
33
  width?: number;
33
34
  height?: number;
34
35
  focalX?: number;
35
36
  focalY?: number;
36
37
  };
38
+ /**
39
+ * 响应式媒体资源类型
40
+ * 支持不同断点下加载不同尺寸的媒体文件
41
+ */
42
+ export type ResponsiveMedia = {
43
+ /** PC 端媒体(≥1440px) */
44
+ pc?: Media;
45
+ /** 桌面 */
46
+ desktop?: Media;
47
+ /** 桌面 */
48
+ laptop?: Media;
49
+ /** 平板端媒体(≥768px) */
50
+ pad?: Media;
51
+ /** 移动端媒体(<768px) */
52
+ mobile?: Media;
53
+ };
37
54
  export type GSAPContext = {
38
55
  gsap?: any;
39
56
  ScrollTrigger?: any;
@@ -7,12 +7,12 @@
7
7
  --card-radius: 0;
8
8
  --radius: 0em;
9
9
 
10
- --brand-gradient-color-0: linear-gradient(90deg, var(--btn-bg-active-color) 0%, var(--btn-bg-active-color) 100%);
10
+ --brand-gradient-color-0: linear-gradient(90deg, var(--brand-color-0) 0%, var(--brand-color-0) 100%);
11
11
  --brand-color-0: #00befa;
12
12
  }
13
13
 
14
14
  .aiui-dark {
15
15
  --brand-color-0: #00befa;
16
16
  --btn-bg-active-color: var(--brand-color-0);
17
- --brand-gradient-color-0: linear-gradient(90deg, var(--btn-bg-active-color) 0%, var(--btn-bg-active-color) 100%);
17
+ --brand-gradient-color-0: linear-gradient(90deg, var(--brand-color-0) 0%, var(--brand-color-0) 100%);
18
18
  }
@@ -1,7 +1,7 @@
1
1
  :root {
2
2
  --btn-bg-active-color: var(--brand-color-0);
3
3
 
4
- --brand-gradient-color-0: linear-gradient(90deg, var(--btn-bg-active-color) 0%, var(--btn-bg-active-color) 100%);
4
+ --brand-gradient-color-0: linear-gradient(90deg, var(--brand-color-0) 0%, var(--brand-color-0) 100%);
5
5
 
6
6
  --btn-radius: 24px;
7
7
  --box-radius: 16px;
@@ -15,5 +15,5 @@
15
15
  .aiui-dark {
16
16
  --brand-color-0: #008CD6;
17
17
  --btn-bg-active-color: var(--brand-color-0);
18
- --brand-gradient-color-0: linear-gradient(90deg, var(--btn-bg-active-color) 0%, var(--btn-bg-active-color) 100%);
18
+ --brand-gradient-color-0: linear-gradient(90deg, var(--brand-color-0) 0%, var(--brand-color-0) 100%);
19
19
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  --btn-bg-active-color: var(--brand-color-0);
4
4
 
5
- --brand-gradient-color-0: linear-gradient(90deg, var(--btn-bg-active-color) 0%, var(--btn-bg-active-color) 100%);
5
+ --brand-gradient-color-0: linear-gradient(90deg, var(--brand-color-0) 0%, var(--brand-color-0) 100%);
6
6
  --btn-radius: 24px;
7
7
  --box-radius: 16px;
8
8
  --box-radius-small: 8px;
@@ -14,5 +14,5 @@
14
14
  .aiui-dark {
15
15
  --brand-color-0: #3adb67;
16
16
  --btn-bg-active-color: var(--brand-color-0);
17
- --brand-gradient-color-0: linear-gradient(90deg, var(--btn-bg-active-color) 0%, var(--btn-bg-active-color) 100%);
17
+ --brand-gradient-color-0: linear-gradient(90deg, var(--brand-color-0) 0%, var(--brand-color-0) 100%);
18
18
  }
@@ -1,7 +1,7 @@
1
1
  :root {
2
2
  --btn-bg-active-color: var(--brand-color-0);
3
3
 
4
- --brand-gradient-color-0: linear-gradient(90deg, var(--btn-bg-active-color) 0%, var(--btn-bg-active-color) 100%);
4
+ --brand-gradient-color-0: linear-gradient(90deg, var(--brand-color-0) 0%, var(--brand-color-0) 100%);
5
5
 
6
6
  --radius: 0em;
7
7
 
@@ -32,5 +32,5 @@
32
32
  .aiui-dark {
33
33
  --brand-color-0: #17bbef;
34
34
  --btn-bg-active-color: var(--brand-color-0);
35
- --brand-gradient-color-0: linear-gradient(90deg, var(--btn-bg-active-color) 0%, var(--btn-bg-active-color) 100%);
35
+ --brand-gradient-color-0: linear-gradient(90deg, var(--brand-color-0) 0%, var(--brand-color-0) 100%);
36
36
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anker-in/headless-ui",
3
- "version": "1.1.87",
3
+ "version": "1.1.89",
4
4
  "type": "commonjs",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "types": "./dist/cjs/index.d.ts",