@anker-in/headless-ui 1.1.34 → 1.1.35-alpha.1769162862905

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 (1002) hide show
  1. package/dist/cjs/biz-components/AccordionCards/index.d.ts +3 -3
  2. package/dist/cjs/biz-components/ActiveShelf/ProductCard.d.ts +124 -0
  3. package/dist/cjs/biz-components/ActiveShelf/ProductCard.js +2 -0
  4. package/dist/cjs/biz-components/ActiveShelf/ProductCard.js.map +7 -0
  5. package/dist/cjs/biz-components/ActiveShelf/index.d.ts +92 -0
  6. package/dist/cjs/biz-components/ActiveShelf/index.js +2 -0
  7. package/dist/cjs/biz-components/ActiveShelf/index.js.map +7 -0
  8. package/dist/cjs/biz-components/ActiveShelf/types.d.ts +22 -0
  9. package/dist/cjs/biz-components/ActiveShelf/types.js +2 -0
  10. package/dist/cjs/biz-components/ActiveShelf/types.js.map +7 -0
  11. package/dist/cjs/biz-components/ActivityMechanism/index.d.ts +7 -0
  12. package/dist/cjs/biz-components/ActivityMechanism/index.js +2 -0
  13. package/dist/cjs/biz-components/ActivityMechanism/index.js.map +7 -0
  14. package/dist/cjs/biz-components/ActivityMechanism/types.d.ts +43 -0
  15. package/dist/cjs/biz-components/ActivityMechanism/types.js +2 -0
  16. package/dist/cjs/biz-components/ActivityMechanism/types.js.map +7 -0
  17. package/dist/cjs/biz-components/ActivitySchedule/index.d.ts +8 -0
  18. package/dist/cjs/biz-components/ActivitySchedule/index.js +2 -0
  19. package/dist/cjs/biz-components/ActivitySchedule/index.js.map +7 -0
  20. package/dist/cjs/biz-components/ActivitySchedule/types.d.ts +42 -0
  21. package/dist/cjs/biz-components/ActivitySchedule/types.js +2 -0
  22. package/dist/cjs/biz-components/ActivitySchedule/types.js.map +7 -0
  23. package/dist/cjs/biz-components/AiuiProvider/index.d.ts +7 -0
  24. package/dist/cjs/biz-components/AiuiProvider/index.js +1 -1
  25. package/dist/cjs/biz-components/AiuiProvider/index.js.map +2 -2
  26. package/dist/cjs/biz-components/AnchorNavigation/index.d.ts +42 -0
  27. package/dist/cjs/biz-components/AnchorNavigation/index.js +2 -0
  28. package/dist/cjs/biz-components/AnchorNavigation/index.js.map +7 -0
  29. package/dist/cjs/biz-components/AnchorNavigation/useAnchorPosition.d.ts +2 -0
  30. package/dist/cjs/biz-components/AnchorNavigation/useAnchorPosition.js +2 -0
  31. package/dist/cjs/biz-components/AnchorNavigation/useAnchorPosition.js.map +7 -0
  32. package/dist/cjs/biz-components/AplusDesc/index.d.ts +3 -3
  33. package/dist/cjs/biz-components/BrandCardLink/BrandCardLink.d.ts +3 -3
  34. package/dist/cjs/biz-components/BrandCardLink/BrandCardLink.js +1 -1
  35. package/dist/cjs/biz-components/BrandCardLink/BrandCardLink.js.map +1 -1
  36. package/dist/cjs/biz-components/BrandEquity/BrandEquity.d.ts +3 -3
  37. package/dist/cjs/biz-components/BrandEquity/BrandEquity.js +1 -1
  38. package/dist/cjs/biz-components/BrandEquity/BrandEquity.js.map +3 -3
  39. package/dist/cjs/biz-components/BrandEquity/types.d.ts +1 -0
  40. package/dist/cjs/biz-components/BrandEquity/types.js +1 -1
  41. package/dist/cjs/biz-components/BrandEquity/types.js.map +1 -1
  42. package/dist/cjs/biz-components/BuyOneGetOneShelf/FreeGiftItem.d.ts +15 -0
  43. package/dist/cjs/biz-components/BuyOneGetOneShelf/FreeGiftItem.js +2 -0
  44. package/dist/cjs/biz-components/BuyOneGetOneShelf/FreeGiftItem.js.map +7 -0
  45. package/dist/cjs/biz-components/BuyOneGetOneShelf/GiftSelection.d.ts +18 -0
  46. package/dist/cjs/biz-components/BuyOneGetOneShelf/GiftSelection.js +2 -0
  47. package/dist/cjs/biz-components/BuyOneGetOneShelf/GiftSelection.js.map +7 -0
  48. package/dist/cjs/biz-components/BuyOneGetOneShelf/PriceAndActions.d.ts +25 -0
  49. package/dist/cjs/biz-components/BuyOneGetOneShelf/PriceAndActions.js +2 -0
  50. package/dist/cjs/biz-components/BuyOneGetOneShelf/PriceAndActions.js.map +7 -0
  51. package/dist/cjs/biz-components/BuyOneGetOneShelf/ProductCard.d.ts +38 -0
  52. package/dist/cjs/biz-components/BuyOneGetOneShelf/ProductCard.js +2 -0
  53. package/dist/cjs/biz-components/BuyOneGetOneShelf/ProductCard.js.map +7 -0
  54. package/dist/cjs/biz-components/BuyOneGetOneShelf/ProductImage.d.ts +19 -0
  55. package/dist/cjs/biz-components/BuyOneGetOneShelf/ProductImage.js +2 -0
  56. package/dist/cjs/biz-components/BuyOneGetOneShelf/ProductImage.js.map +7 -0
  57. package/dist/cjs/biz-components/BuyOneGetOneShelf/ProductInfo.d.ts +15 -0
  58. package/dist/cjs/biz-components/BuyOneGetOneShelf/ProductInfo.js +2 -0
  59. package/dist/cjs/biz-components/BuyOneGetOneShelf/ProductInfo.js.map +7 -0
  60. package/dist/cjs/biz-components/BuyOneGetOneShelf/index.d.ts +79 -0
  61. package/dist/cjs/biz-components/BuyOneGetOneShelf/index.js +2 -0
  62. package/dist/cjs/biz-components/BuyOneGetOneShelf/index.js.map +7 -0
  63. package/dist/cjs/biz-components/BuyOneGetOneShelf/types.d.ts +219 -0
  64. package/dist/cjs/biz-components/BuyOneGetOneShelf/types.js +2 -0
  65. package/dist/cjs/biz-components/BuyOneGetOneShelf/types.js.map +7 -0
  66. package/dist/cjs/biz-components/Category/index.d.ts +3 -3
  67. package/dist/cjs/biz-components/CreativeModule/index.d.ts +3 -3
  68. package/dist/cjs/biz-components/DownLoad/index.d.ts +3 -3
  69. package/dist/cjs/biz-components/Evaluate/index.d.ts +3 -3
  70. package/dist/cjs/biz-components/EventSchedule/index.d.ts +69 -0
  71. package/dist/cjs/biz-components/EventSchedule/index.js +2 -0
  72. package/dist/cjs/biz-components/EventSchedule/index.js.map +7 -0
  73. package/dist/cjs/biz-components/Faq/Faq.d.ts +3 -3
  74. package/dist/cjs/biz-components/FeatureCards/FeatureCards.d.ts +3 -3
  75. package/dist/cjs/biz-components/FeatureShowcase/FeatureShowcase.d.ts +3 -3
  76. package/dist/cjs/biz-components/Features/index.d.ts +3 -3
  77. package/dist/cjs/biz-components/FootCharger/index.d.ts +3 -3
  78. package/dist/cjs/biz-components/FooterNavigation/index.d.ts +3 -3
  79. package/dist/cjs/biz-components/GiftBox/index.d.ts +3 -3
  80. package/dist/cjs/biz-components/GiftBox/index.js +1 -1
  81. package/dist/cjs/biz-components/GiftBox/index.js.map +2 -2
  82. package/dist/cjs/biz-components/Graphic/index.d.ts +3 -3
  83. package/dist/cjs/biz-components/GraphicAttractionBlock/index.d.ts +3 -3
  84. package/dist/cjs/biz-components/GraphicMore/index.d.ts +3 -3
  85. package/dist/cjs/biz-components/GraphicOverlay/GraphicOverlay.d.ts +3 -3
  86. package/dist/cjs/biz-components/HeaderNavigation/MobileMenuComponents.js +1 -1
  87. package/dist/cjs/biz-components/HeaderNavigation/MobileMenuComponents.js.map +2 -2
  88. package/dist/cjs/biz-components/HeaderNavigation/MobileSidebarMenu.js +1 -1
  89. package/dist/cjs/biz-components/HeaderNavigation/MobileSidebarMenu.js.map +3 -3
  90. package/dist/cjs/biz-components/HeaderNavigation/SidebarDropdown.js +1 -1
  91. package/dist/cjs/biz-components/HeaderNavigation/SidebarDropdown.js.map +2 -2
  92. package/dist/cjs/biz-components/HeaderNavigation/index.d.ts +3 -3
  93. package/dist/cjs/biz-components/HeroBanner/Countdown.js +1 -1
  94. package/dist/cjs/biz-components/HeroBanner/Countdown.js.map +2 -2
  95. package/dist/cjs/biz-components/HeroBanner/HeroBanner.d.ts +6 -3
  96. package/dist/cjs/biz-components/HeroBanner/HeroBanner.js +1 -1
  97. package/dist/cjs/biz-components/HeroBanner/HeroBanner.js.map +3 -3
  98. package/dist/cjs/biz-components/HeroBanner/types.d.ts +3 -0
  99. package/dist/cjs/biz-components/HeroBanner/types.js +1 -1
  100. package/dist/cjs/biz-components/HeroBanner/types.js.map +1 -1
  101. package/dist/cjs/biz-components/IPRedirect/RegionBanner.d.ts +39 -0
  102. package/dist/cjs/biz-components/IPRedirect/RegionBanner.js +68 -0
  103. package/dist/cjs/biz-components/IPRedirect/RegionBanner.js.map +7 -0
  104. package/dist/cjs/biz-components/IPRedirect/RegionSelectorModal.d.ts +53 -0
  105. package/dist/cjs/biz-components/IPRedirect/RegionSelectorModal.js +67 -0
  106. package/dist/cjs/biz-components/IPRedirect/RegionSelectorModal.js.map +7 -0
  107. package/dist/cjs/biz-components/IPRedirect/index.d.ts +9 -0
  108. package/dist/cjs/biz-components/IPRedirect/index.js +2 -0
  109. package/dist/cjs/biz-components/IPRedirect/index.js.map +7 -0
  110. package/dist/cjs/biz-components/IPRedirect/type.d.ts +36 -0
  111. package/dist/cjs/biz-components/IPRedirect/type.js +2 -0
  112. package/dist/cjs/biz-components/IPRedirect/type.js.map +7 -0
  113. package/dist/cjs/biz-components/IPRedirect/useAutoRedirect.d.ts +67 -0
  114. package/dist/cjs/biz-components/IPRedirect/useAutoRedirect.js +2 -0
  115. package/dist/cjs/biz-components/IPRedirect/useAutoRedirect.js.map +7 -0
  116. package/dist/cjs/biz-components/IPRedirect/useDetectedRegionRedirect.d.ts +51 -0
  117. package/dist/cjs/biz-components/IPRedirect/useDetectedRegionRedirect.js +2 -0
  118. package/dist/cjs/biz-components/IPRedirect/useDetectedRegionRedirect.js.map +7 -0
  119. package/dist/cjs/biz-components/IPRedirect/useIPRedirect.d.ts +42 -0
  120. package/dist/cjs/biz-components/IPRedirect/useIPRedirect.js +2 -0
  121. package/dist/cjs/biz-components/IPRedirect/useIPRedirect.js.map +7 -0
  122. package/dist/cjs/biz-components/IPRedirect/useRedirectBanner.d.ts +108 -0
  123. package/dist/cjs/biz-components/IPRedirect/useRedirectBanner.js +2 -0
  124. package/dist/cjs/biz-components/IPRedirect/useRedirectBanner.js.map +7 -0
  125. package/dist/cjs/biz-components/IPRedirect/useRegionRedirectManager.d.ts +168 -0
  126. package/dist/cjs/biz-components/IPRedirect/useRegionRedirectManager.js +2 -0
  127. package/dist/cjs/biz-components/IPRedirect/useRegionRedirectManager.js.map +7 -0
  128. package/dist/cjs/biz-components/IPRedirect/useSavedRegionRedirect.d.ts +51 -0
  129. package/dist/cjs/biz-components/IPRedirect/useSavedRegionRedirect.js +2 -0
  130. package/dist/cjs/biz-components/IPRedirect/useSavedRegionRedirect.js.map +7 -0
  131. package/dist/cjs/biz-components/IPRedirect/utils.d.ts +224 -0
  132. package/dist/cjs/biz-components/IPRedirect/utils.js +2 -0
  133. package/dist/cjs/biz-components/IPRedirect/utils.js.map +7 -0
  134. package/dist/cjs/biz-components/ImageOverlayShelf/ProductCard.d.ts +9 -0
  135. package/dist/cjs/biz-components/ImageOverlayShelf/ProductCard.js +2 -0
  136. package/dist/cjs/biz-components/ImageOverlayShelf/ProductCard.js.map +7 -0
  137. package/dist/cjs/biz-components/ImageOverlayShelf/index.d.ts +67 -0
  138. package/dist/cjs/biz-components/ImageOverlayShelf/index.js +2 -0
  139. package/dist/cjs/biz-components/ImageOverlayShelf/index.js.map +7 -0
  140. package/dist/cjs/biz-components/ImageOverlayShelf/types.d.ts +93 -0
  141. package/dist/cjs/biz-components/ImageOverlayShelf/types.js +2 -0
  142. package/dist/cjs/biz-components/ImageOverlayShelf/types.js.map +7 -0
  143. package/dist/cjs/biz-components/ImageTextFeature/ImageTextFeature.d.ts +3 -3
  144. package/dist/cjs/biz-components/ImageTextFeature/ImageTextFeature.js +1 -1
  145. package/dist/cjs/biz-components/ImageTextFeature/ImageTextFeature.js.map +3 -3
  146. package/dist/cjs/biz-components/ImageWithText/ImageWithText.d.ts +3 -3
  147. package/dist/cjs/biz-components/Ksp/index.d.ts +3 -3
  148. package/dist/cjs/biz-components/Ksp/index.js +1 -1
  149. package/dist/cjs/biz-components/Ksp/index.js.map +2 -2
  150. package/dist/cjs/biz-components/Listing/components/PaidShipping/ShippingMethod.js +1 -1
  151. package/dist/cjs/biz-components/Listing/components/PaidShipping/ShippingMethod.js.map +2 -2
  152. package/dist/cjs/biz-components/Listing/components/PaidShipping/index.d.ts +4 -4
  153. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.d.ts +3 -3
  154. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.js +1 -1
  155. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.js.map +2 -2
  156. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.d.ts +3 -3
  157. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.d.ts +3 -3
  158. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.d.ts +3 -3
  159. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.d.ts +3 -3
  160. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.d.ts +3 -3
  161. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/index.d.ts +3 -3
  162. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/index.js +1 -1
  163. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/index.js.map +2 -2
  164. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductSummary/index.d.ts +3 -3
  165. package/dist/cjs/biz-components/Listing/components/PurchaseBar/index.d.ts +3 -3
  166. package/dist/cjs/biz-components/Marquee/Marquee.d.ts +3 -3
  167. package/dist/cjs/biz-components/Marquee/Marquee.js +1 -1
  168. package/dist/cjs/biz-components/Marquee/Marquee.js.map +3 -3
  169. package/dist/cjs/biz-components/MarqueeReview/index.d.ts +3 -3
  170. package/dist/cjs/biz-components/Media/index.d.ts +32 -0
  171. package/dist/cjs/biz-components/Media/index.js +2 -0
  172. package/dist/cjs/biz-components/Media/index.js.map +7 -0
  173. package/dist/cjs/biz-components/MediaPlayerBase/index.d.ts +3 -3
  174. package/dist/cjs/biz-components/MediaPlayerMulti/index.d.ts +3 -3
  175. package/dist/cjs/biz-components/MediaPlayerSticky/index.d.ts +4 -4
  176. package/dist/cjs/biz-components/MediaPlayerSticky/types.d.ts +1 -0
  177. package/dist/cjs/biz-components/MediaPlayerSticky/types.js +1 -1
  178. package/dist/cjs/biz-components/MediaPlayerSticky/types.js.map +1 -1
  179. package/dist/cjs/biz-components/MediaSceneSwitcher/MediaSceneSwitcher.d.ts +3 -3
  180. package/dist/cjs/biz-components/MediaShelf/ProductCard.d.ts +43 -0
  181. package/dist/cjs/biz-components/MediaShelf/ProductCard.js +2 -0
  182. package/dist/cjs/biz-components/MediaShelf/ProductCard.js.map +7 -0
  183. package/dist/cjs/biz-components/MediaShelf/index.d.ts +118 -0
  184. package/dist/cjs/biz-components/MediaShelf/index.js +2 -0
  185. package/dist/cjs/biz-components/MediaShelf/index.js.map +7 -0
  186. package/dist/cjs/biz-components/MediaShelf/types.d.ts +116 -0
  187. package/dist/cjs/biz-components/MediaShelf/types.js +2 -0
  188. package/dist/cjs/biz-components/MediaShelf/types.js.map +7 -0
  189. package/dist/cjs/biz-components/MemberEquity/index.d.ts +3 -3
  190. package/dist/cjs/biz-components/MiniCart/MiniCartDialog.d.ts +61 -0
  191. package/dist/cjs/biz-components/MiniCart/MiniCartDialog.js +2 -0
  192. package/dist/cjs/biz-components/MiniCart/MiniCartDialog.js.map +7 -0
  193. package/dist/cjs/biz-components/MiniCart/index.d.ts +117 -0
  194. package/dist/cjs/biz-components/MiniCart/index.js +2 -0
  195. package/dist/cjs/biz-components/MiniCart/index.js.map +7 -0
  196. package/dist/cjs/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.d.ts +3 -3
  197. package/dist/cjs/biz-components/ProductCompare/index.d.ts +3 -3
  198. package/dist/cjs/biz-components/ProductHero/ProductHero.d.ts +3 -3
  199. package/dist/cjs/biz-components/ProductNav/ProductNav.d.ts +3 -3
  200. package/dist/cjs/biz-components/ProductNav/ProductNav.js +1 -1
  201. package/dist/cjs/biz-components/ProductNav/ProductNav.js.map +2 -2
  202. package/dist/cjs/biz-components/PromotionalBar/index.d.ts +50 -0
  203. package/dist/cjs/biz-components/PromotionalBar/index.js +2 -0
  204. package/dist/cjs/biz-components/PromotionalBar/index.js.map +7 -0
  205. package/dist/cjs/biz-components/SecondaryBanner/index.d.ts +69 -0
  206. package/dist/cjs/biz-components/SecondaryBanner/index.js +2 -0
  207. package/dist/cjs/biz-components/SecondaryBanner/index.js.map +7 -0
  208. package/dist/cjs/biz-components/SelectStore/index.d.ts +3 -3
  209. package/dist/cjs/biz-components/ShelfDisplay/index.d.ts +3 -3
  210. package/dist/cjs/biz-components/ShelfDisplay/shelfDisplay.d.ts +0 -11
  211. package/dist/cjs/biz-components/ShelfDisplay/shelfDisplay.js +1 -1
  212. package/dist/cjs/biz-components/ShelfDisplay/shelfDisplay.js.map +3 -3
  213. package/dist/cjs/biz-components/Slogan/index.d.ts +3 -3
  214. package/dist/cjs/biz-components/Spacer/index.d.ts +3 -3
  215. package/dist/cjs/biz-components/Specs/index.d.ts +3 -3
  216. package/dist/cjs/biz-components/Specs/index.js +1 -1
  217. package/dist/cjs/biz-components/Specs/index.js.map +2 -2
  218. package/dist/cjs/biz-components/SpecsComparison/SpecsComparison.d.ts +3 -3
  219. package/dist/cjs/biz-components/TabWithImage/TabWithImage.d.ts +3 -3
  220. package/dist/cjs/biz-components/Tabs/Tabs.d.ts +3 -3
  221. package/dist/cjs/biz-components/TabsGroup/index.d.ts +3 -3
  222. package/dist/cjs/biz-components/TabsWithMedia/TabsWithMedia.d.ts +3 -3
  223. package/dist/cjs/biz-components/ThreeDCarousel/ThreeDCarousel.d.ts +3 -3
  224. package/dist/cjs/biz-components/Title/Countdown.d.ts +14 -0
  225. package/dist/cjs/biz-components/Title/Countdown.js +2 -0
  226. package/dist/cjs/biz-components/Title/Countdown.js.map +7 -0
  227. package/dist/cjs/biz-components/Title/index.d.ts +3 -3
  228. package/dist/cjs/biz-components/Title/index.js +1 -1
  229. package/dist/cjs/biz-components/Title/index.js.map +3 -3
  230. package/dist/cjs/biz-components/Title/types.d.ts +55 -0
  231. package/dist/cjs/biz-components/Title/types.js +1 -1
  232. package/dist/cjs/biz-components/Title/types.js.map +1 -1
  233. package/dist/cjs/biz-components/VideoFeature/VideoFeature.d.ts +3 -3
  234. package/dist/cjs/biz-components/WheelLottery/BaseModal.d.ts +55 -0
  235. package/dist/cjs/biz-components/WheelLottery/BaseModal.js +12 -0
  236. package/dist/cjs/biz-components/WheelLottery/BaseModal.js.map +7 -0
  237. package/dist/cjs/biz-components/WheelLottery/ChanceMethods.d.ts +30 -0
  238. package/dist/cjs/biz-components/WheelLottery/ChanceMethods.js +2 -0
  239. package/dist/cjs/biz-components/WheelLottery/ChanceMethods.js.map +7 -0
  240. package/dist/cjs/biz-components/WheelLottery/ErrorModal.d.ts +42 -0
  241. package/dist/cjs/biz-components/WheelLottery/ErrorModal.js +2 -0
  242. package/dist/cjs/biz-components/WheelLottery/ErrorModal.js.map +7 -0
  243. package/dist/cjs/biz-components/WheelLottery/MyRewardsModal.d.ts +91 -0
  244. package/dist/cjs/biz-components/WheelLottery/MyRewardsModal.js +2 -0
  245. package/dist/cjs/biz-components/WheelLottery/MyRewardsModal.js.map +7 -0
  246. package/dist/cjs/biz-components/WheelLottery/PrizePool.d.ts +26 -0
  247. package/dist/cjs/biz-components/WheelLottery/PrizePool.js +2 -0
  248. package/dist/cjs/biz-components/WheelLottery/PrizePool.js.map +7 -0
  249. package/dist/cjs/biz-components/WheelLottery/RulesModal.d.ts +43 -0
  250. package/dist/cjs/biz-components/WheelLottery/RulesModal.js +2 -0
  251. package/dist/cjs/biz-components/WheelLottery/RulesModal.js.map +7 -0
  252. package/dist/cjs/biz-components/WheelLottery/ShareModal.d.ts +74 -0
  253. package/dist/cjs/biz-components/WheelLottery/ShareModal.js +2 -0
  254. package/dist/cjs/biz-components/WheelLottery/ShareModal.js.map +7 -0
  255. package/dist/cjs/biz-components/WheelLottery/Wheel.d.ts +27 -0
  256. package/dist/cjs/biz-components/WheelLottery/Wheel.js +2 -0
  257. package/dist/cjs/biz-components/WheelLottery/Wheel.js.map +7 -0
  258. package/dist/cjs/biz-components/WheelLottery/WinnerModal.d.ts +25 -0
  259. package/dist/cjs/biz-components/WheelLottery/WinnerModal.js +2 -0
  260. package/dist/cjs/biz-components/WheelLottery/WinnerModal.js.map +7 -0
  261. package/dist/cjs/biz-components/WheelLottery/index.d.ts +52 -0
  262. package/dist/cjs/biz-components/WheelLottery/index.js +2 -0
  263. package/dist/cjs/biz-components/WheelLottery/index.js.map +7 -0
  264. package/dist/cjs/biz-components/WheelLottery/types.d.ts +1193 -0
  265. package/dist/cjs/biz-components/WheelLottery/types.js +2 -0
  266. package/dist/cjs/biz-components/WheelLottery/types.js.map +7 -0
  267. package/dist/cjs/biz-components/WhyChoose/WhyChoose.d.ts +3 -3
  268. package/dist/cjs/biz-components/index.d.ts +38 -2
  269. package/dist/cjs/biz-components/index.js +1 -1
  270. package/dist/cjs/biz-components/index.js.map +3 -3
  271. package/dist/cjs/components/Countdown.d.ts +46 -0
  272. package/dist/cjs/components/Countdown.js +2 -0
  273. package/dist/cjs/components/Countdown.js.map +7 -0
  274. package/dist/cjs/components/ExposureDetector.d.ts +2 -2
  275. package/dist/cjs/components/ExposureDetector.js.map +1 -1
  276. package/dist/cjs/components/card.js +1 -1
  277. package/dist/cjs/components/card.js.map +2 -2
  278. package/dist/cjs/components/heading.d.ts +44 -1
  279. package/dist/cjs/components/heading.js.map +2 -2
  280. package/dist/cjs/components/index.d.ts +3 -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/paginator.d.ts +12 -0
  284. package/dist/cjs/components/paginator.js +7 -0
  285. package/dist/cjs/components/paginator.js.map +7 -0
  286. package/dist/cjs/components/progress.d.ts +46 -0
  287. package/dist/cjs/components/progress.js +2 -0
  288. package/dist/cjs/components/progress.js.map +7 -0
  289. package/dist/cjs/components/tabs.d.ts +2 -1
  290. package/dist/cjs/components/tabs.js +1 -1
  291. package/dist/cjs/components/tabs.js.map +2 -2
  292. package/dist/cjs/components/text.d.ts +30 -1
  293. package/dist/cjs/components/text.js.map +2 -2
  294. package/dist/cjs/helpers/ScrollLoadVideo.js +1 -1
  295. package/dist/cjs/helpers/ScrollLoadVideo.js.map +2 -2
  296. package/dist/cjs/helpers/index.d.ts +1 -0
  297. package/dist/cjs/helpers/index.js +1 -1
  298. package/dist/cjs/helpers/index.js.map +3 -3
  299. package/dist/cjs/helpers/priceFormatting.d.ts +11 -0
  300. package/dist/cjs/helpers/priceFormatting.js +2 -0
  301. package/dist/cjs/helpers/priceFormatting.js.map +7 -0
  302. package/dist/cjs/shared/Styles.d.ts +5 -4
  303. package/dist/cjs/shared/Styles.js +1 -1
  304. package/dist/cjs/shared/Styles.js.map +3 -3
  305. package/dist/cjs/stories/decorators/dataPropsDecorator.d.ts +16 -0
  306. package/dist/cjs/stories/decorators/dataPropsDecorator.js +2 -0
  307. package/dist/cjs/stories/decorators/dataPropsDecorator.js.map +7 -0
  308. package/dist/cjs/types/props.d.ts +0 -3
  309. package/dist/cjs/types/props.js +1 -1
  310. package/dist/cjs/types/props.js.map +1 -1
  311. package/dist/esm/biz-components/AccordionCards/index.d.ts +3 -3
  312. package/dist/esm/biz-components/ActiveShelf/ProductCard.d.ts +124 -0
  313. package/dist/esm/biz-components/ActiveShelf/ProductCard.js +2 -0
  314. package/dist/esm/biz-components/ActiveShelf/ProductCard.js.map +7 -0
  315. package/dist/esm/biz-components/ActiveShelf/index.d.ts +92 -0
  316. package/dist/esm/biz-components/ActiveShelf/index.js +2 -0
  317. package/dist/esm/biz-components/ActiveShelf/index.js.map +7 -0
  318. package/dist/esm/biz-components/ActiveShelf/types.d.ts +22 -0
  319. package/dist/esm/biz-components/ActiveShelf/types.js +1 -0
  320. package/dist/esm/biz-components/ActiveShelf/types.js.map +7 -0
  321. package/dist/esm/biz-components/ActivityMechanism/index.d.ts +7 -0
  322. package/dist/esm/biz-components/ActivityMechanism/index.js +2 -0
  323. package/dist/esm/biz-components/ActivityMechanism/index.js.map +7 -0
  324. package/dist/esm/biz-components/ActivityMechanism/types.d.ts +43 -0
  325. package/dist/esm/biz-components/ActivityMechanism/types.js +1 -0
  326. package/dist/esm/biz-components/ActivityMechanism/types.js.map +7 -0
  327. package/dist/esm/biz-components/ActivitySchedule/index.d.ts +8 -0
  328. package/dist/esm/biz-components/ActivitySchedule/index.js +2 -0
  329. package/dist/esm/biz-components/ActivitySchedule/index.js.map +7 -0
  330. package/dist/esm/biz-components/ActivitySchedule/types.d.ts +42 -0
  331. package/dist/esm/biz-components/ActivitySchedule/types.js +1 -0
  332. package/dist/esm/biz-components/ActivitySchedule/types.js.map +7 -0
  333. package/dist/esm/biz-components/AiuiProvider/index.d.ts +7 -0
  334. package/dist/esm/biz-components/AiuiProvider/index.js +1 -1
  335. package/dist/esm/biz-components/AiuiProvider/index.js.map +2 -2
  336. package/dist/esm/biz-components/AnchorNavigation/index.d.ts +42 -0
  337. package/dist/esm/biz-components/AnchorNavigation/index.js +2 -0
  338. package/dist/esm/biz-components/AnchorNavigation/index.js.map +7 -0
  339. package/dist/esm/biz-components/AnchorNavigation/useAnchorPosition.d.ts +2 -0
  340. package/dist/esm/biz-components/AnchorNavigation/useAnchorPosition.js +2 -0
  341. package/dist/esm/biz-components/AnchorNavigation/useAnchorPosition.js.map +7 -0
  342. package/dist/esm/biz-components/AplusDesc/index.d.ts +3 -3
  343. package/dist/esm/biz-components/BrandCardLink/BrandCardLink.d.ts +3 -3
  344. package/dist/esm/biz-components/BrandCardLink/BrandCardLink.js +1 -1
  345. package/dist/esm/biz-components/BrandCardLink/BrandCardLink.js.map +1 -1
  346. package/dist/esm/biz-components/BrandEquity/BrandEquity.d.ts +3 -3
  347. package/dist/esm/biz-components/BrandEquity/BrandEquity.js +1 -1
  348. package/dist/esm/biz-components/BrandEquity/BrandEquity.js.map +3 -3
  349. package/dist/esm/biz-components/BrandEquity/types.d.ts +1 -0
  350. package/dist/esm/biz-components/BuyOneGetOneShelf/FreeGiftItem.d.ts +15 -0
  351. package/dist/esm/biz-components/BuyOneGetOneShelf/FreeGiftItem.js +2 -0
  352. package/dist/esm/biz-components/BuyOneGetOneShelf/FreeGiftItem.js.map +7 -0
  353. package/dist/esm/biz-components/BuyOneGetOneShelf/GiftSelection.d.ts +18 -0
  354. package/dist/esm/biz-components/BuyOneGetOneShelf/GiftSelection.js +2 -0
  355. package/dist/esm/biz-components/BuyOneGetOneShelf/GiftSelection.js.map +7 -0
  356. package/dist/esm/biz-components/BuyOneGetOneShelf/PriceAndActions.d.ts +25 -0
  357. package/dist/esm/biz-components/BuyOneGetOneShelf/PriceAndActions.js +2 -0
  358. package/dist/esm/biz-components/BuyOneGetOneShelf/PriceAndActions.js.map +7 -0
  359. package/dist/esm/biz-components/BuyOneGetOneShelf/ProductCard.d.ts +38 -0
  360. package/dist/esm/biz-components/BuyOneGetOneShelf/ProductCard.js +2 -0
  361. package/dist/esm/biz-components/BuyOneGetOneShelf/ProductCard.js.map +7 -0
  362. package/dist/esm/biz-components/BuyOneGetOneShelf/ProductImage.d.ts +19 -0
  363. package/dist/esm/biz-components/BuyOneGetOneShelf/ProductImage.js +2 -0
  364. package/dist/esm/biz-components/BuyOneGetOneShelf/ProductImage.js.map +7 -0
  365. package/dist/esm/biz-components/BuyOneGetOneShelf/ProductInfo.d.ts +15 -0
  366. package/dist/esm/biz-components/BuyOneGetOneShelf/ProductInfo.js +2 -0
  367. package/dist/esm/biz-components/BuyOneGetOneShelf/ProductInfo.js.map +7 -0
  368. package/dist/esm/biz-components/BuyOneGetOneShelf/index.d.ts +79 -0
  369. package/dist/esm/biz-components/BuyOneGetOneShelf/index.js +2 -0
  370. package/dist/esm/biz-components/BuyOneGetOneShelf/index.js.map +7 -0
  371. package/dist/esm/biz-components/BuyOneGetOneShelf/types.d.ts +219 -0
  372. package/dist/esm/biz-components/BuyOneGetOneShelf/types.js +2 -0
  373. package/dist/esm/biz-components/BuyOneGetOneShelf/types.js.map +7 -0
  374. package/dist/esm/biz-components/Category/index.d.ts +3 -3
  375. package/dist/esm/biz-components/CreativeModule/index.d.ts +3 -3
  376. package/dist/esm/biz-components/DownLoad/index.d.ts +3 -3
  377. package/dist/esm/biz-components/Evaluate/index.d.ts +3 -3
  378. package/dist/esm/biz-components/EventSchedule/index.d.ts +69 -0
  379. package/dist/esm/biz-components/EventSchedule/index.js +2 -0
  380. package/dist/esm/biz-components/EventSchedule/index.js.map +7 -0
  381. package/dist/esm/biz-components/Faq/Faq.d.ts +3 -3
  382. package/dist/esm/biz-components/FeatureCards/FeatureCards.d.ts +3 -3
  383. package/dist/esm/biz-components/FeatureShowcase/FeatureShowcase.d.ts +3 -3
  384. package/dist/esm/biz-components/Features/index.d.ts +3 -3
  385. package/dist/esm/biz-components/FootCharger/index.d.ts +3 -3
  386. package/dist/esm/biz-components/FooterNavigation/index.d.ts +3 -3
  387. package/dist/esm/biz-components/GiftBox/index.d.ts +3 -3
  388. package/dist/esm/biz-components/GiftBox/index.js +1 -1
  389. package/dist/esm/biz-components/GiftBox/index.js.map +2 -2
  390. package/dist/esm/biz-components/Graphic/index.d.ts +3 -3
  391. package/dist/esm/biz-components/GraphicAttractionBlock/index.d.ts +3 -3
  392. package/dist/esm/biz-components/GraphicMore/index.d.ts +3 -3
  393. package/dist/esm/biz-components/GraphicOverlay/GraphicOverlay.d.ts +3 -3
  394. package/dist/esm/biz-components/HeaderNavigation/MobileMenuComponents.js +1 -1
  395. package/dist/esm/biz-components/HeaderNavigation/MobileMenuComponents.js.map +2 -2
  396. package/dist/esm/biz-components/HeaderNavigation/MobileSidebarMenu.js +1 -1
  397. package/dist/esm/biz-components/HeaderNavigation/MobileSidebarMenu.js.map +3 -3
  398. package/dist/esm/biz-components/HeaderNavigation/SidebarDropdown.js +1 -1
  399. package/dist/esm/biz-components/HeaderNavigation/SidebarDropdown.js.map +2 -2
  400. package/dist/esm/biz-components/HeaderNavigation/index.d.ts +3 -3
  401. package/dist/esm/biz-components/HeroBanner/Countdown.js +1 -1
  402. package/dist/esm/biz-components/HeroBanner/Countdown.js.map +2 -2
  403. package/dist/esm/biz-components/HeroBanner/HeroBanner.d.ts +6 -3
  404. package/dist/esm/biz-components/HeroBanner/HeroBanner.js +1 -1
  405. package/dist/esm/biz-components/HeroBanner/HeroBanner.js.map +3 -3
  406. package/dist/esm/biz-components/HeroBanner/types.d.ts +3 -0
  407. package/dist/esm/biz-components/IPRedirect/RegionBanner.d.ts +39 -0
  408. package/dist/esm/biz-components/IPRedirect/RegionBanner.js +68 -0
  409. package/dist/esm/biz-components/IPRedirect/RegionBanner.js.map +7 -0
  410. package/dist/esm/biz-components/IPRedirect/RegionSelectorModal.d.ts +53 -0
  411. package/dist/esm/biz-components/IPRedirect/RegionSelectorModal.js +67 -0
  412. package/dist/esm/biz-components/IPRedirect/RegionSelectorModal.js.map +7 -0
  413. package/dist/esm/biz-components/IPRedirect/index.d.ts +9 -0
  414. package/dist/esm/biz-components/IPRedirect/index.js +2 -0
  415. package/dist/esm/biz-components/IPRedirect/index.js.map +7 -0
  416. package/dist/esm/biz-components/IPRedirect/type.d.ts +36 -0
  417. package/dist/esm/biz-components/IPRedirect/type.js +1 -0
  418. package/dist/esm/biz-components/IPRedirect/type.js.map +7 -0
  419. package/dist/esm/biz-components/IPRedirect/useAutoRedirect.d.ts +67 -0
  420. package/dist/esm/biz-components/IPRedirect/useAutoRedirect.js +2 -0
  421. package/dist/esm/biz-components/IPRedirect/useAutoRedirect.js.map +7 -0
  422. package/dist/esm/biz-components/IPRedirect/useDetectedRegionRedirect.d.ts +51 -0
  423. package/dist/esm/biz-components/IPRedirect/useDetectedRegionRedirect.js +2 -0
  424. package/dist/esm/biz-components/IPRedirect/useDetectedRegionRedirect.js.map +7 -0
  425. package/dist/esm/biz-components/IPRedirect/useIPRedirect.d.ts +42 -0
  426. package/dist/esm/biz-components/IPRedirect/useIPRedirect.js +2 -0
  427. package/dist/esm/biz-components/IPRedirect/useIPRedirect.js.map +7 -0
  428. package/dist/esm/biz-components/IPRedirect/useRedirectBanner.d.ts +108 -0
  429. package/dist/esm/biz-components/IPRedirect/useRedirectBanner.js +2 -0
  430. package/dist/esm/biz-components/IPRedirect/useRedirectBanner.js.map +7 -0
  431. package/dist/esm/biz-components/IPRedirect/useRegionRedirectManager.d.ts +168 -0
  432. package/dist/esm/biz-components/IPRedirect/useRegionRedirectManager.js +2 -0
  433. package/dist/esm/biz-components/IPRedirect/useRegionRedirectManager.js.map +7 -0
  434. package/dist/esm/biz-components/IPRedirect/useSavedRegionRedirect.d.ts +51 -0
  435. package/dist/esm/biz-components/IPRedirect/useSavedRegionRedirect.js +2 -0
  436. package/dist/esm/biz-components/IPRedirect/useSavedRegionRedirect.js.map +7 -0
  437. package/dist/esm/biz-components/IPRedirect/utils.d.ts +224 -0
  438. package/dist/esm/biz-components/IPRedirect/utils.js +2 -0
  439. package/dist/esm/biz-components/IPRedirect/utils.js.map +7 -0
  440. package/dist/esm/biz-components/ImageOverlayShelf/ProductCard.d.ts +9 -0
  441. package/dist/esm/biz-components/ImageOverlayShelf/ProductCard.js +2 -0
  442. package/dist/esm/biz-components/ImageOverlayShelf/ProductCard.js.map +7 -0
  443. package/dist/esm/biz-components/ImageOverlayShelf/index.d.ts +67 -0
  444. package/dist/esm/biz-components/ImageOverlayShelf/index.js +2 -0
  445. package/dist/esm/biz-components/ImageOverlayShelf/index.js.map +7 -0
  446. package/dist/esm/biz-components/ImageOverlayShelf/types.d.ts +93 -0
  447. package/dist/esm/biz-components/ImageOverlayShelf/types.js +1 -0
  448. package/dist/esm/biz-components/ImageOverlayShelf/types.js.map +7 -0
  449. package/dist/esm/biz-components/ImageTextFeature/ImageTextFeature.d.ts +3 -3
  450. package/dist/esm/biz-components/ImageTextFeature/ImageTextFeature.js +1 -1
  451. package/dist/esm/biz-components/ImageTextFeature/ImageTextFeature.js.map +3 -3
  452. package/dist/esm/biz-components/ImageWithText/ImageWithText.d.ts +3 -3
  453. package/dist/esm/biz-components/Ksp/index.d.ts +3 -3
  454. package/dist/esm/biz-components/Ksp/index.js +1 -1
  455. package/dist/esm/biz-components/Ksp/index.js.map +2 -2
  456. package/dist/esm/biz-components/Listing/components/PaidShipping/ShippingMethod.js +1 -1
  457. package/dist/esm/biz-components/Listing/components/PaidShipping/ShippingMethod.js.map +2 -2
  458. package/dist/esm/biz-components/Listing/components/PaidShipping/index.d.ts +4 -4
  459. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.d.ts +3 -3
  460. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.js +1 -1
  461. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.js.map +2 -2
  462. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.d.ts +3 -3
  463. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.d.ts +3 -3
  464. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.d.ts +3 -3
  465. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.d.ts +3 -3
  466. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.d.ts +3 -3
  467. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/index.d.ts +3 -3
  468. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/index.js +1 -1
  469. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/index.js.map +2 -2
  470. package/dist/esm/biz-components/Listing/components/ProductCard/ProductSummary/index.d.ts +3 -3
  471. package/dist/esm/biz-components/Listing/components/PurchaseBar/index.d.ts +3 -3
  472. package/dist/esm/biz-components/Marquee/Marquee.d.ts +3 -3
  473. package/dist/esm/biz-components/Marquee/Marquee.js +1 -1
  474. package/dist/esm/biz-components/Marquee/Marquee.js.map +3 -3
  475. package/dist/esm/biz-components/MarqueeReview/index.d.ts +3 -3
  476. package/dist/esm/biz-components/Media/index.d.ts +32 -0
  477. package/dist/esm/biz-components/Media/index.js +2 -0
  478. package/dist/esm/biz-components/Media/index.js.map +7 -0
  479. package/dist/esm/biz-components/MediaPlayerBase/index.d.ts +3 -3
  480. package/dist/esm/biz-components/MediaPlayerMulti/index.d.ts +3 -3
  481. package/dist/esm/biz-components/MediaPlayerSticky/index.d.ts +4 -4
  482. package/dist/esm/biz-components/MediaPlayerSticky/types.d.ts +1 -0
  483. package/dist/esm/biz-components/MediaSceneSwitcher/MediaSceneSwitcher.d.ts +3 -3
  484. package/dist/esm/biz-components/MediaShelf/ProductCard.d.ts +43 -0
  485. package/dist/esm/biz-components/MediaShelf/ProductCard.js +2 -0
  486. package/dist/esm/biz-components/MediaShelf/ProductCard.js.map +7 -0
  487. package/dist/esm/biz-components/MediaShelf/index.d.ts +118 -0
  488. package/dist/esm/biz-components/MediaShelf/index.js +2 -0
  489. package/dist/esm/biz-components/MediaShelf/index.js.map +7 -0
  490. package/dist/esm/biz-components/MediaShelf/types.d.ts +116 -0
  491. package/dist/esm/biz-components/MediaShelf/types.js +2 -0
  492. package/dist/esm/biz-components/MediaShelf/types.js.map +7 -0
  493. package/dist/esm/biz-components/MemberEquity/index.d.ts +3 -3
  494. package/dist/esm/biz-components/MiniCart/MiniCartDialog.d.ts +61 -0
  495. package/dist/esm/biz-components/MiniCart/MiniCartDialog.js +2 -0
  496. package/dist/esm/biz-components/MiniCart/MiniCartDialog.js.map +7 -0
  497. package/dist/esm/biz-components/MiniCart/index.d.ts +117 -0
  498. package/dist/esm/biz-components/MiniCart/index.js +2 -0
  499. package/dist/esm/biz-components/MiniCart/index.js.map +7 -0
  500. package/dist/esm/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.d.ts +3 -3
  501. package/dist/esm/biz-components/ProductCompare/index.d.ts +3 -3
  502. package/dist/esm/biz-components/ProductHero/ProductHero.d.ts +3 -3
  503. package/dist/esm/biz-components/ProductNav/ProductNav.d.ts +3 -3
  504. package/dist/esm/biz-components/ProductNav/ProductNav.js +1 -1
  505. package/dist/esm/biz-components/ProductNav/ProductNav.js.map +2 -2
  506. package/dist/esm/biz-components/PromotionalBar/index.d.ts +50 -0
  507. package/dist/esm/biz-components/PromotionalBar/index.js +2 -0
  508. package/dist/esm/biz-components/PromotionalBar/index.js.map +7 -0
  509. package/dist/esm/biz-components/SecondaryBanner/index.d.ts +69 -0
  510. package/dist/esm/biz-components/SecondaryBanner/index.js +2 -0
  511. package/dist/esm/biz-components/SecondaryBanner/index.js.map +7 -0
  512. package/dist/esm/biz-components/SelectStore/index.d.ts +3 -3
  513. package/dist/esm/biz-components/ShelfDisplay/index.d.ts +3 -3
  514. package/dist/esm/biz-components/ShelfDisplay/shelfDisplay.d.ts +0 -11
  515. package/dist/esm/biz-components/ShelfDisplay/shelfDisplay.js +1 -1
  516. package/dist/esm/biz-components/ShelfDisplay/shelfDisplay.js.map +3 -3
  517. package/dist/esm/biz-components/Slogan/index.d.ts +3 -3
  518. package/dist/esm/biz-components/Spacer/index.d.ts +3 -3
  519. package/dist/esm/biz-components/Specs/index.d.ts +3 -3
  520. package/dist/esm/biz-components/Specs/index.js +1 -1
  521. package/dist/esm/biz-components/Specs/index.js.map +2 -2
  522. package/dist/esm/biz-components/SpecsComparison/SpecsComparison.d.ts +3 -3
  523. package/dist/esm/biz-components/TabWithImage/TabWithImage.d.ts +3 -3
  524. package/dist/esm/biz-components/Tabs/Tabs.d.ts +3 -3
  525. package/dist/esm/biz-components/TabsGroup/index.d.ts +3 -3
  526. package/dist/esm/biz-components/TabsWithMedia/TabsWithMedia.d.ts +3 -3
  527. package/dist/esm/biz-components/ThreeDCarousel/ThreeDCarousel.d.ts +3 -3
  528. package/dist/esm/biz-components/Title/Countdown.d.ts +14 -0
  529. package/dist/esm/biz-components/Title/Countdown.js +2 -0
  530. package/dist/esm/biz-components/Title/Countdown.js.map +7 -0
  531. package/dist/esm/biz-components/Title/index.d.ts +3 -3
  532. package/dist/esm/biz-components/Title/index.js +1 -1
  533. package/dist/esm/biz-components/Title/index.js.map +3 -3
  534. package/dist/esm/biz-components/Title/types.d.ts +55 -0
  535. package/dist/esm/biz-components/VideoFeature/VideoFeature.d.ts +3 -3
  536. package/dist/esm/biz-components/WheelLottery/BaseModal.d.ts +55 -0
  537. package/dist/esm/biz-components/WheelLottery/BaseModal.js +12 -0
  538. package/dist/esm/biz-components/WheelLottery/BaseModal.js.map +7 -0
  539. package/dist/esm/biz-components/WheelLottery/ChanceMethods.d.ts +30 -0
  540. package/dist/esm/biz-components/WheelLottery/ChanceMethods.js +2 -0
  541. package/dist/esm/biz-components/WheelLottery/ChanceMethods.js.map +7 -0
  542. package/dist/esm/biz-components/WheelLottery/ErrorModal.d.ts +42 -0
  543. package/dist/esm/biz-components/WheelLottery/ErrorModal.js +2 -0
  544. package/dist/esm/biz-components/WheelLottery/ErrorModal.js.map +7 -0
  545. package/dist/esm/biz-components/WheelLottery/MyRewardsModal.d.ts +91 -0
  546. package/dist/esm/biz-components/WheelLottery/MyRewardsModal.js +2 -0
  547. package/dist/esm/biz-components/WheelLottery/MyRewardsModal.js.map +7 -0
  548. package/dist/esm/biz-components/WheelLottery/PrizePool.d.ts +26 -0
  549. package/dist/esm/biz-components/WheelLottery/PrizePool.js +2 -0
  550. package/dist/esm/biz-components/WheelLottery/PrizePool.js.map +7 -0
  551. package/dist/esm/biz-components/WheelLottery/RulesModal.d.ts +43 -0
  552. package/dist/esm/biz-components/WheelLottery/RulesModal.js +2 -0
  553. package/dist/esm/biz-components/WheelLottery/RulesModal.js.map +7 -0
  554. package/dist/esm/biz-components/WheelLottery/ShareModal.d.ts +74 -0
  555. package/dist/esm/biz-components/WheelLottery/ShareModal.js +2 -0
  556. package/dist/esm/biz-components/WheelLottery/ShareModal.js.map +7 -0
  557. package/dist/esm/biz-components/WheelLottery/Wheel.d.ts +27 -0
  558. package/dist/esm/biz-components/WheelLottery/Wheel.js +2 -0
  559. package/dist/esm/biz-components/WheelLottery/Wheel.js.map +7 -0
  560. package/dist/esm/biz-components/WheelLottery/WinnerModal.d.ts +25 -0
  561. package/dist/esm/biz-components/WheelLottery/WinnerModal.js +2 -0
  562. package/dist/esm/biz-components/WheelLottery/WinnerModal.js.map +7 -0
  563. package/dist/esm/biz-components/WheelLottery/index.d.ts +52 -0
  564. package/dist/esm/biz-components/WheelLottery/index.js +2 -0
  565. package/dist/esm/biz-components/WheelLottery/index.js.map +7 -0
  566. package/dist/esm/biz-components/WheelLottery/types.d.ts +1193 -0
  567. package/dist/esm/biz-components/WheelLottery/types.js +2 -0
  568. package/dist/esm/biz-components/WheelLottery/types.js.map +7 -0
  569. package/dist/esm/biz-components/WhyChoose/WhyChoose.d.ts +3 -3
  570. package/dist/esm/biz-components/index.d.ts +38 -2
  571. package/dist/esm/biz-components/index.js +1 -1
  572. package/dist/esm/biz-components/index.js.map +3 -3
  573. package/dist/esm/components/Countdown.d.ts +46 -0
  574. package/dist/esm/components/Countdown.js +2 -0
  575. package/dist/esm/components/Countdown.js.map +7 -0
  576. package/dist/esm/components/ExposureDetector.d.ts +2 -2
  577. package/dist/esm/components/ExposureDetector.js.map +1 -1
  578. package/dist/esm/components/card.js +1 -1
  579. package/dist/esm/components/card.js.map +2 -2
  580. package/dist/esm/components/heading.d.ts +44 -1
  581. package/dist/esm/components/heading.js.map +2 -2
  582. package/dist/esm/components/index.d.ts +3 -0
  583. package/dist/esm/components/index.js +1 -1
  584. package/dist/esm/components/index.js.map +2 -2
  585. package/dist/esm/components/paginator.d.ts +12 -0
  586. package/dist/esm/components/paginator.js +7 -0
  587. package/dist/esm/components/paginator.js.map +7 -0
  588. package/dist/esm/components/progress.d.ts +46 -0
  589. package/dist/esm/components/progress.js +2 -0
  590. package/dist/esm/components/progress.js.map +7 -0
  591. package/dist/esm/components/tabs.d.ts +2 -1
  592. package/dist/esm/components/tabs.js +1 -1
  593. package/dist/esm/components/tabs.js.map +2 -2
  594. package/dist/esm/components/text.d.ts +30 -1
  595. package/dist/esm/components/text.js.map +2 -2
  596. package/dist/esm/helpers/ScrollLoadVideo.js +1 -1
  597. package/dist/esm/helpers/ScrollLoadVideo.js.map +2 -2
  598. package/dist/esm/helpers/index.d.ts +1 -0
  599. package/dist/esm/helpers/index.js +1 -1
  600. package/dist/esm/helpers/index.js.map +3 -3
  601. package/dist/esm/helpers/priceFormatting.d.ts +11 -0
  602. package/dist/esm/helpers/priceFormatting.js +2 -0
  603. package/dist/esm/helpers/priceFormatting.js.map +7 -0
  604. package/dist/esm/shared/Styles.d.ts +5 -4
  605. package/dist/esm/shared/Styles.js +1 -1
  606. package/dist/esm/shared/Styles.js.map +3 -3
  607. package/dist/esm/stories/decorators/dataPropsDecorator.d.ts +16 -0
  608. package/dist/esm/stories/decorators/dataPropsDecorator.js +2 -0
  609. package/dist/esm/stories/decorators/dataPropsDecorator.js.map +7 -0
  610. package/dist/esm/types/props.d.ts +0 -3
  611. package/dist/tokens/anker.css +1 -0
  612. package/dist/tokens/base.css +12 -3
  613. package/dist/tokens/eufy.css +1 -0
  614. package/dist/tokens/solix.css +1 -0
  615. package/dist/tokens/soundcore.css +4 -3
  616. package/package.json +13 -4
  617. package/style.css +5122 -110
  618. package/tailwind.config.js +20 -2
  619. package/dist/cjs/stories/HeroBanner.stories.d.ts +0 -28
  620. package/dist/cjs/stories/HeroBanner.stories.js +0 -11
  621. package/dist/cjs/stories/HeroBanner.stories.js.map +0 -7
  622. package/dist/cjs/stories/InlineVideo.stories.d.ts +0 -37
  623. package/dist/cjs/stories/InlineVideo.stories.js +0 -164
  624. package/dist/cjs/stories/InlineVideo.stories.js.map +0 -7
  625. package/dist/cjs/stories/MarqueeReview.stories.d.ts +0 -72
  626. package/dist/cjs/stories/MarqueeReview.stories.js +0 -19
  627. package/dist/cjs/stories/MarqueeReview.stories.js.map +0 -7
  628. package/dist/cjs/stories/MediaSceneSwitcher.stories.d.ts +0 -47
  629. package/dist/cjs/stories/MediaSceneSwitcher.stories.js +0 -2
  630. package/dist/cjs/stories/MediaSceneSwitcher.stories.js.map +0 -7
  631. package/dist/cjs/stories/MemberEquity.stories.d.ts +0 -9
  632. package/dist/cjs/stories/MemberEquity.stories.js +0 -31
  633. package/dist/cjs/stories/MemberEquity.stories.js.map +0 -7
  634. package/dist/cjs/stories/MultiLayoutGraphicBlock.stories.d.ts +0 -9
  635. package/dist/cjs/stories/MultiLayoutGraphicBlock.stories.js +0 -2
  636. package/dist/cjs/stories/MultiLayoutGraphicBlock.stories.js.map +0 -7
  637. package/dist/cjs/stories/ProductNav.stories.d.ts +0 -55
  638. package/dist/cjs/stories/ProductNav.stories.js +0 -2
  639. package/dist/cjs/stories/ProductNav.stories.js.map +0 -7
  640. package/dist/cjs/stories/ThreeDCarousel.stories.d.ts +0 -27
  641. package/dist/cjs/stories/ThreeDCarousel.stories.js +0 -118
  642. package/dist/cjs/stories/ThreeDCarousel.stories.js.map +0 -7
  643. package/dist/cjs/stories/accordionCards.stories.d.ts +0 -38
  644. package/dist/cjs/stories/accordionCards.stories.js +0 -2
  645. package/dist/cjs/stories/accordionCards.stories.js.map +0 -7
  646. package/dist/cjs/stories/alert.stories.d.ts +0 -27
  647. package/dist/cjs/stories/alert.stories.js +0 -2
  648. package/dist/cjs/stories/alert.stories.js.map +0 -7
  649. package/dist/cjs/stories/avatar.stories.d.ts +0 -39
  650. package/dist/cjs/stories/avatar.stories.js +0 -2
  651. package/dist/cjs/stories/avatar.stories.js.map +0 -7
  652. package/dist/cjs/stories/badge.stories.d.ts +0 -96
  653. package/dist/cjs/stories/badge.stories.js +0 -2
  654. package/dist/cjs/stories/badge.stories.js.map +0 -7
  655. package/dist/cjs/stories/bizTabs.stories.d.ts +0 -7
  656. package/dist/cjs/stories/bizTabs.stories.js +0 -2
  657. package/dist/cjs/stories/bizTabs.stories.js.map +0 -7
  658. package/dist/cjs/stories/board.stories.d.ts +0 -6
  659. package/dist/cjs/stories/board.stories.js +0 -2
  660. package/dist/cjs/stories/board.stories.js.map +0 -7
  661. package/dist/cjs/stories/brandEquity.stories.d.ts +0 -16
  662. package/dist/cjs/stories/brandEquity.stories.js +0 -2
  663. package/dist/cjs/stories/brandEquity.stories.js.map +0 -7
  664. package/dist/cjs/stories/brandStrip.stories.d.ts +0 -12
  665. package/dist/cjs/stories/brandStrip.stories.js +0 -2
  666. package/dist/cjs/stories/brandStrip.stories.js.map +0 -7
  667. package/dist/cjs/stories/button.stories.d.ts +0 -56
  668. package/dist/cjs/stories/button.stories.js +0 -2
  669. package/dist/cjs/stories/button.stories.js.map +0 -7
  670. package/dist/cjs/stories/card.stories.d.ts +0 -27
  671. package/dist/cjs/stories/card.stories.js +0 -2
  672. package/dist/cjs/stories/card.stories.js.map +0 -7
  673. package/dist/cjs/stories/carousel.stories.d.ts +0 -8
  674. package/dist/cjs/stories/carousel.stories.js +0 -2
  675. package/dist/cjs/stories/carousel.stories.js.map +0 -7
  676. package/dist/cjs/stories/category.stories.d.ts +0 -17
  677. package/dist/cjs/stories/category.stories.js +0 -2
  678. package/dist/cjs/stories/category.stories.js.map +0 -7
  679. package/dist/cjs/stories/checkbox.stories.d.ts +0 -46
  680. package/dist/cjs/stories/checkbox.stories.js +0 -2
  681. package/dist/cjs/stories/checkbox.stories.js.map +0 -7
  682. package/dist/cjs/stories/container.stories.d.ts +0 -28
  683. package/dist/cjs/stories/container.stories.js +0 -15
  684. package/dist/cjs/stories/container.stories.js.map +0 -7
  685. package/dist/cjs/stories/cpnBanner.stories.d.ts +0 -14
  686. package/dist/cjs/stories/cpnBanner.stories.js +0 -2
  687. package/dist/cjs/stories/cpnBanner.stories.js.map +0 -7
  688. package/dist/cjs/stories/cpnCountdown.stories.d.ts +0 -12
  689. package/dist/cjs/stories/cpnCountdown.stories.js +0 -2
  690. package/dist/cjs/stories/cpnCountdown.stories.js.map +0 -7
  691. package/dist/cjs/stories/cpnNavigation.stories.d.ts +0 -14
  692. package/dist/cjs/stories/cpnNavigation.stories.js +0 -2
  693. package/dist/cjs/stories/cpnNavigation.stories.js.map +0 -7
  694. package/dist/cjs/stories/cpnProductcard.stories.d.ts +0 -14
  695. package/dist/cjs/stories/cpnProductcard.stories.js +0 -2
  696. package/dist/cjs/stories/cpnProductcard.stories.js.map +0 -7
  697. package/dist/cjs/stories/cpnTitle.stories.d.ts +0 -14
  698. package/dist/cjs/stories/cpnTitle.stories.js +0 -2
  699. package/dist/cjs/stories/cpnTitle.stories.js.map +0 -7
  700. package/dist/cjs/stories/creativeModule.stories.d.ts +0 -19
  701. package/dist/cjs/stories/creativeModule.stories.js +0 -2
  702. package/dist/cjs/stories/creativeModule.stories.js.map +0 -7
  703. package/dist/cjs/stories/dialog.stories.d.ts +0 -20
  704. package/dist/cjs/stories/dialog.stories.js +0 -2
  705. package/dist/cjs/stories/dialog.stories.js.map +0 -7
  706. package/dist/cjs/stories/drawer.stories.d.ts +0 -20
  707. package/dist/cjs/stories/drawer.stories.js +0 -2
  708. package/dist/cjs/stories/drawer.stories.js.map +0 -7
  709. package/dist/cjs/stories/drop-down.stories.d.ts +0 -16
  710. package/dist/cjs/stories/drop-down.stories.js +0 -2
  711. package/dist/cjs/stories/drop-down.stories.js.map +0 -7
  712. package/dist/cjs/stories/evaluate.stories.d.ts +0 -16
  713. package/dist/cjs/stories/evaluate.stories.js +0 -2
  714. package/dist/cjs/stories/evaluate.stories.js.map +0 -7
  715. package/dist/cjs/stories/faq.stories.d.ts +0 -21
  716. package/dist/cjs/stories/faq.stories.js +0 -2
  717. package/dist/cjs/stories/faq.stories.js.map +0 -7
  718. package/dist/cjs/stories/featureCards.stories.d.ts +0 -30
  719. package/dist/cjs/stories/featureCards.stories.js +0 -61
  720. package/dist/cjs/stories/featureCards.stories.js.map +0 -7
  721. package/dist/cjs/stories/featureShowcase.stories.d.ts +0 -29
  722. package/dist/cjs/stories/featureShowcase.stories.js +0 -44
  723. package/dist/cjs/stories/featureShowcase.stories.js.map +0 -7
  724. package/dist/cjs/stories/graphic.stories.d.ts +0 -64
  725. package/dist/cjs/stories/graphic.stories.js +0 -2
  726. package/dist/cjs/stories/graphic.stories.js.map +0 -7
  727. package/dist/cjs/stories/graphicAttractionBlock.stories.d.ts +0 -6
  728. package/dist/cjs/stories/graphicAttractionBlock.stories.js +0 -2
  729. package/dist/cjs/stories/graphicAttractionBlock.stories.js.map +0 -7
  730. package/dist/cjs/stories/grid.stories.d.ts +0 -22
  731. package/dist/cjs/stories/grid.stories.js +0 -13
  732. package/dist/cjs/stories/grid.stories.js.map +0 -7
  733. package/dist/cjs/stories/heading.stories.d.ts +0 -84
  734. package/dist/cjs/stories/heading.stories.js +0 -15
  735. package/dist/cjs/stories/heading.stories.js.map +0 -7
  736. package/dist/cjs/stories/imageTextFeature.stories.d.ts +0 -28
  737. package/dist/cjs/stories/imageTextFeature.stories.js +0 -50
  738. package/dist/cjs/stories/imageTextFeature.stories.js.map +0 -7
  739. package/dist/cjs/stories/imageWithText.stories.d.ts +0 -51
  740. package/dist/cjs/stories/imageWithText.stories.js +0 -84
  741. package/dist/cjs/stories/imageWithText.stories.js.map +0 -7
  742. package/dist/cjs/stories/input-number.stories.d.ts +0 -39
  743. package/dist/cjs/stories/input-number.stories.js +0 -2
  744. package/dist/cjs/stories/input-number.stories.js.map +0 -7
  745. package/dist/cjs/stories/input.stories.d.ts +0 -35
  746. package/dist/cjs/stories/input.stories.js +0 -2
  747. package/dist/cjs/stories/input.stories.js.map +0 -7
  748. package/dist/cjs/stories/ksp.stories.d.ts +0 -63
  749. package/dist/cjs/stories/ksp.stories.js +0 -128
  750. package/dist/cjs/stories/ksp.stories.js.map +0 -7
  751. package/dist/cjs/stories/link.stories.d.ts +0 -69
  752. package/dist/cjs/stories/link.stories.js +0 -2
  753. package/dist/cjs/stories/link.stories.js.map +0 -7
  754. package/dist/cjs/stories/marquee.stories.d.ts +0 -30
  755. package/dist/cjs/stories/marquee.stories.js +0 -2
  756. package/dist/cjs/stories/marquee.stories.js.map +0 -7
  757. package/dist/cjs/stories/mediaplayerBase.stories.d.ts +0 -6
  758. package/dist/cjs/stories/mediaplayerBase.stories.js +0 -2
  759. package/dist/cjs/stories/mediaplayerBase.stories.js.map +0 -7
  760. package/dist/cjs/stories/mediaplayerMulti.stories.d.ts +0 -16
  761. package/dist/cjs/stories/mediaplayerMulti.stories.js +0 -2
  762. package/dist/cjs/stories/mediaplayerMulti.stories.js.map +0 -7
  763. package/dist/cjs/stories/picture.stories.d.ts +0 -23
  764. package/dist/cjs/stories/picture.stories.js +0 -9
  765. package/dist/cjs/stories/picture.stories.js.map +0 -7
  766. package/dist/cjs/stories/popover.stories.d.ts +0 -17
  767. package/dist/cjs/stories/popover.stories.js +0 -2
  768. package/dist/cjs/stories/popover.stories.js.map +0 -7
  769. package/dist/cjs/stories/productCompare.stories.d.ts +0 -54
  770. package/dist/cjs/stories/productCompare.stories.js +0 -54
  771. package/dist/cjs/stories/productCompare.stories.js.map +0 -7
  772. package/dist/cjs/stories/productHero.stories.d.ts +0 -29
  773. package/dist/cjs/stories/productHero.stories.js +0 -50
  774. package/dist/cjs/stories/productHero.stories.js.map +0 -7
  775. package/dist/cjs/stories/radio.stories.d.ts +0 -39
  776. package/dist/cjs/stories/radio.stories.js +0 -2
  777. package/dist/cjs/stories/radio.stories.js.map +0 -7
  778. package/dist/cjs/stories/shelfDisplay.stories.d.ts +0 -16
  779. package/dist/cjs/stories/shelfDisplay.stories.js +0 -2
  780. package/dist/cjs/stories/shelfDisplay.stories.js.map +0 -7
  781. package/dist/cjs/stories/skeleton.stories.d.ts +0 -20
  782. package/dist/cjs/stories/skeleton.stories.js +0 -2
  783. package/dist/cjs/stories/skeleton.stories.js.map +0 -7
  784. package/dist/cjs/stories/slogan.stories.d.ts +0 -20
  785. package/dist/cjs/stories/slogan.stories.js +0 -6
  786. package/dist/cjs/stories/slogan.stories.js.map +0 -7
  787. package/dist/cjs/stories/specs.stories.d.ts +0 -13
  788. package/dist/cjs/stories/specs.stories.js +0 -57
  789. package/dist/cjs/stories/specs.stories.js.map +0 -7
  790. package/dist/cjs/stories/specsComparison.stories.d.ts +0 -28
  791. package/dist/cjs/stories/specsComparison.stories.js +0 -105
  792. package/dist/cjs/stories/specsComparison.stories.js.map +0 -7
  793. package/dist/cjs/stories/tabWithImage.stories.d.ts +0 -28
  794. package/dist/cjs/stories/tabWithImage.stories.js +0 -53
  795. package/dist/cjs/stories/tabWithImage.stories.js.map +0 -7
  796. package/dist/cjs/stories/tabs.stories.d.ts +0 -373
  797. package/dist/cjs/stories/tabs.stories.js +0 -2
  798. package/dist/cjs/stories/tabs.stories.js.map +0 -7
  799. package/dist/cjs/stories/tabsWithMedia.stories.d.ts +0 -28
  800. package/dist/cjs/stories/tabsWithMedia.stories.js +0 -68
  801. package/dist/cjs/stories/tabsWithMedia.stories.js.map +0 -7
  802. package/dist/cjs/stories/text.stories.d.ts +0 -86
  803. package/dist/cjs/stories/text.stories.js +0 -21
  804. package/dist/cjs/stories/text.stories.js.map +0 -7
  805. package/dist/cjs/stories/videoFeature.stories.d.ts +0 -29
  806. package/dist/cjs/stories/videoFeature.stories.js +0 -56
  807. package/dist/cjs/stories/videoFeature.stories.js.map +0 -7
  808. package/dist/cjs/stories/whychoose.stories.d.ts +0 -21
  809. package/dist/cjs/stories/whychoose.stories.js +0 -2
  810. package/dist/cjs/stories/whychoose.stories.js.map +0 -7
  811. package/dist/esm/stories/HeroBanner.stories.d.ts +0 -28
  812. package/dist/esm/stories/HeroBanner.stories.js +0 -11
  813. package/dist/esm/stories/HeroBanner.stories.js.map +0 -7
  814. package/dist/esm/stories/InlineVideo.stories.d.ts +0 -37
  815. package/dist/esm/stories/InlineVideo.stories.js +0 -164
  816. package/dist/esm/stories/InlineVideo.stories.js.map +0 -7
  817. package/dist/esm/stories/MarqueeReview.stories.d.ts +0 -72
  818. package/dist/esm/stories/MarqueeReview.stories.js +0 -19
  819. package/dist/esm/stories/MarqueeReview.stories.js.map +0 -7
  820. package/dist/esm/stories/MediaSceneSwitcher.stories.d.ts +0 -47
  821. package/dist/esm/stories/MediaSceneSwitcher.stories.js +0 -2
  822. package/dist/esm/stories/MediaSceneSwitcher.stories.js.map +0 -7
  823. package/dist/esm/stories/MemberEquity.stories.d.ts +0 -9
  824. package/dist/esm/stories/MemberEquity.stories.js +0 -31
  825. package/dist/esm/stories/MemberEquity.stories.js.map +0 -7
  826. package/dist/esm/stories/MultiLayoutGraphicBlock.stories.d.ts +0 -9
  827. package/dist/esm/stories/MultiLayoutGraphicBlock.stories.js +0 -2
  828. package/dist/esm/stories/MultiLayoutGraphicBlock.stories.js.map +0 -7
  829. package/dist/esm/stories/ProductNav.stories.d.ts +0 -55
  830. package/dist/esm/stories/ProductNav.stories.js +0 -2
  831. package/dist/esm/stories/ProductNav.stories.js.map +0 -7
  832. package/dist/esm/stories/ThreeDCarousel.stories.d.ts +0 -27
  833. package/dist/esm/stories/ThreeDCarousel.stories.js +0 -118
  834. package/dist/esm/stories/ThreeDCarousel.stories.js.map +0 -7
  835. package/dist/esm/stories/accordionCards.stories.d.ts +0 -38
  836. package/dist/esm/stories/accordionCards.stories.js +0 -2
  837. package/dist/esm/stories/accordionCards.stories.js.map +0 -7
  838. package/dist/esm/stories/alert.stories.d.ts +0 -27
  839. package/dist/esm/stories/alert.stories.js +0 -2
  840. package/dist/esm/stories/alert.stories.js.map +0 -7
  841. package/dist/esm/stories/avatar.stories.d.ts +0 -39
  842. package/dist/esm/stories/avatar.stories.js +0 -2
  843. package/dist/esm/stories/avatar.stories.js.map +0 -7
  844. package/dist/esm/stories/badge.stories.d.ts +0 -96
  845. package/dist/esm/stories/badge.stories.js +0 -2
  846. package/dist/esm/stories/badge.stories.js.map +0 -7
  847. package/dist/esm/stories/bizTabs.stories.d.ts +0 -7
  848. package/dist/esm/stories/bizTabs.stories.js +0 -2
  849. package/dist/esm/stories/bizTabs.stories.js.map +0 -7
  850. package/dist/esm/stories/board.stories.d.ts +0 -6
  851. package/dist/esm/stories/board.stories.js +0 -2
  852. package/dist/esm/stories/board.stories.js.map +0 -7
  853. package/dist/esm/stories/brandEquity.stories.d.ts +0 -16
  854. package/dist/esm/stories/brandEquity.stories.js +0 -2
  855. package/dist/esm/stories/brandEquity.stories.js.map +0 -7
  856. package/dist/esm/stories/brandStrip.stories.d.ts +0 -12
  857. package/dist/esm/stories/brandStrip.stories.js +0 -2
  858. package/dist/esm/stories/brandStrip.stories.js.map +0 -7
  859. package/dist/esm/stories/button.stories.d.ts +0 -56
  860. package/dist/esm/stories/button.stories.js +0 -2
  861. package/dist/esm/stories/button.stories.js.map +0 -7
  862. package/dist/esm/stories/card.stories.d.ts +0 -27
  863. package/dist/esm/stories/card.stories.js +0 -2
  864. package/dist/esm/stories/card.stories.js.map +0 -7
  865. package/dist/esm/stories/carousel.stories.d.ts +0 -8
  866. package/dist/esm/stories/carousel.stories.js +0 -2
  867. package/dist/esm/stories/carousel.stories.js.map +0 -7
  868. package/dist/esm/stories/category.stories.d.ts +0 -17
  869. package/dist/esm/stories/category.stories.js +0 -2
  870. package/dist/esm/stories/category.stories.js.map +0 -7
  871. package/dist/esm/stories/checkbox.stories.d.ts +0 -46
  872. package/dist/esm/stories/checkbox.stories.js +0 -2
  873. package/dist/esm/stories/checkbox.stories.js.map +0 -7
  874. package/dist/esm/stories/container.stories.d.ts +0 -28
  875. package/dist/esm/stories/container.stories.js +0 -15
  876. package/dist/esm/stories/container.stories.js.map +0 -7
  877. package/dist/esm/stories/cpnBanner.stories.d.ts +0 -14
  878. package/dist/esm/stories/cpnBanner.stories.js +0 -2
  879. package/dist/esm/stories/cpnBanner.stories.js.map +0 -7
  880. package/dist/esm/stories/cpnCountdown.stories.d.ts +0 -12
  881. package/dist/esm/stories/cpnCountdown.stories.js +0 -2
  882. package/dist/esm/stories/cpnCountdown.stories.js.map +0 -7
  883. package/dist/esm/stories/cpnNavigation.stories.d.ts +0 -14
  884. package/dist/esm/stories/cpnNavigation.stories.js +0 -2
  885. package/dist/esm/stories/cpnNavigation.stories.js.map +0 -7
  886. package/dist/esm/stories/cpnProductcard.stories.d.ts +0 -14
  887. package/dist/esm/stories/cpnProductcard.stories.js +0 -2
  888. package/dist/esm/stories/cpnProductcard.stories.js.map +0 -7
  889. package/dist/esm/stories/cpnTitle.stories.d.ts +0 -14
  890. package/dist/esm/stories/cpnTitle.stories.js +0 -2
  891. package/dist/esm/stories/cpnTitle.stories.js.map +0 -7
  892. package/dist/esm/stories/creativeModule.stories.d.ts +0 -19
  893. package/dist/esm/stories/creativeModule.stories.js +0 -2
  894. package/dist/esm/stories/creativeModule.stories.js.map +0 -7
  895. package/dist/esm/stories/dialog.stories.d.ts +0 -20
  896. package/dist/esm/stories/dialog.stories.js +0 -2
  897. package/dist/esm/stories/dialog.stories.js.map +0 -7
  898. package/dist/esm/stories/drawer.stories.d.ts +0 -20
  899. package/dist/esm/stories/drawer.stories.js +0 -2
  900. package/dist/esm/stories/drawer.stories.js.map +0 -7
  901. package/dist/esm/stories/drop-down.stories.d.ts +0 -16
  902. package/dist/esm/stories/drop-down.stories.js +0 -2
  903. package/dist/esm/stories/drop-down.stories.js.map +0 -7
  904. package/dist/esm/stories/evaluate.stories.d.ts +0 -16
  905. package/dist/esm/stories/evaluate.stories.js +0 -2
  906. package/dist/esm/stories/evaluate.stories.js.map +0 -7
  907. package/dist/esm/stories/faq.stories.d.ts +0 -21
  908. package/dist/esm/stories/faq.stories.js +0 -2
  909. package/dist/esm/stories/faq.stories.js.map +0 -7
  910. package/dist/esm/stories/featureCards.stories.d.ts +0 -30
  911. package/dist/esm/stories/featureCards.stories.js +0 -61
  912. package/dist/esm/stories/featureCards.stories.js.map +0 -7
  913. package/dist/esm/stories/featureShowcase.stories.d.ts +0 -29
  914. package/dist/esm/stories/featureShowcase.stories.js +0 -44
  915. package/dist/esm/stories/featureShowcase.stories.js.map +0 -7
  916. package/dist/esm/stories/graphic.stories.d.ts +0 -64
  917. package/dist/esm/stories/graphic.stories.js +0 -2
  918. package/dist/esm/stories/graphic.stories.js.map +0 -7
  919. package/dist/esm/stories/graphicAttractionBlock.stories.d.ts +0 -6
  920. package/dist/esm/stories/graphicAttractionBlock.stories.js +0 -2
  921. package/dist/esm/stories/graphicAttractionBlock.stories.js.map +0 -7
  922. package/dist/esm/stories/grid.stories.d.ts +0 -22
  923. package/dist/esm/stories/grid.stories.js +0 -13
  924. package/dist/esm/stories/grid.stories.js.map +0 -7
  925. package/dist/esm/stories/heading.stories.d.ts +0 -84
  926. package/dist/esm/stories/heading.stories.js +0 -15
  927. package/dist/esm/stories/heading.stories.js.map +0 -7
  928. package/dist/esm/stories/imageTextFeature.stories.d.ts +0 -28
  929. package/dist/esm/stories/imageTextFeature.stories.js +0 -50
  930. package/dist/esm/stories/imageTextFeature.stories.js.map +0 -7
  931. package/dist/esm/stories/imageWithText.stories.d.ts +0 -51
  932. package/dist/esm/stories/imageWithText.stories.js +0 -84
  933. package/dist/esm/stories/imageWithText.stories.js.map +0 -7
  934. package/dist/esm/stories/input-number.stories.d.ts +0 -39
  935. package/dist/esm/stories/input-number.stories.js +0 -2
  936. package/dist/esm/stories/input-number.stories.js.map +0 -7
  937. package/dist/esm/stories/input.stories.d.ts +0 -35
  938. package/dist/esm/stories/input.stories.js +0 -2
  939. package/dist/esm/stories/input.stories.js.map +0 -7
  940. package/dist/esm/stories/ksp.stories.d.ts +0 -63
  941. package/dist/esm/stories/ksp.stories.js +0 -128
  942. package/dist/esm/stories/ksp.stories.js.map +0 -7
  943. package/dist/esm/stories/link.stories.d.ts +0 -69
  944. package/dist/esm/stories/link.stories.js +0 -2
  945. package/dist/esm/stories/link.stories.js.map +0 -7
  946. package/dist/esm/stories/marquee.stories.d.ts +0 -30
  947. package/dist/esm/stories/marquee.stories.js +0 -2
  948. package/dist/esm/stories/marquee.stories.js.map +0 -7
  949. package/dist/esm/stories/mediaplayerBase.stories.d.ts +0 -6
  950. package/dist/esm/stories/mediaplayerBase.stories.js +0 -2
  951. package/dist/esm/stories/mediaplayerBase.stories.js.map +0 -7
  952. package/dist/esm/stories/mediaplayerMulti.stories.d.ts +0 -16
  953. package/dist/esm/stories/mediaplayerMulti.stories.js +0 -2
  954. package/dist/esm/stories/mediaplayerMulti.stories.js.map +0 -7
  955. package/dist/esm/stories/picture.stories.d.ts +0 -23
  956. package/dist/esm/stories/picture.stories.js +0 -9
  957. package/dist/esm/stories/picture.stories.js.map +0 -7
  958. package/dist/esm/stories/popover.stories.d.ts +0 -17
  959. package/dist/esm/stories/popover.stories.js +0 -2
  960. package/dist/esm/stories/popover.stories.js.map +0 -7
  961. package/dist/esm/stories/productCompare.stories.d.ts +0 -54
  962. package/dist/esm/stories/productCompare.stories.js +0 -54
  963. package/dist/esm/stories/productCompare.stories.js.map +0 -7
  964. package/dist/esm/stories/productHero.stories.d.ts +0 -29
  965. package/dist/esm/stories/productHero.stories.js +0 -50
  966. package/dist/esm/stories/productHero.stories.js.map +0 -7
  967. package/dist/esm/stories/radio.stories.d.ts +0 -39
  968. package/dist/esm/stories/radio.stories.js +0 -2
  969. package/dist/esm/stories/radio.stories.js.map +0 -7
  970. package/dist/esm/stories/shelfDisplay.stories.d.ts +0 -16
  971. package/dist/esm/stories/shelfDisplay.stories.js +0 -2
  972. package/dist/esm/stories/shelfDisplay.stories.js.map +0 -7
  973. package/dist/esm/stories/skeleton.stories.d.ts +0 -20
  974. package/dist/esm/stories/skeleton.stories.js +0 -2
  975. package/dist/esm/stories/skeleton.stories.js.map +0 -7
  976. package/dist/esm/stories/slogan.stories.d.ts +0 -20
  977. package/dist/esm/stories/slogan.stories.js +0 -6
  978. package/dist/esm/stories/slogan.stories.js.map +0 -7
  979. package/dist/esm/stories/specs.stories.d.ts +0 -13
  980. package/dist/esm/stories/specs.stories.js +0 -57
  981. package/dist/esm/stories/specs.stories.js.map +0 -7
  982. package/dist/esm/stories/specsComparison.stories.d.ts +0 -28
  983. package/dist/esm/stories/specsComparison.stories.js +0 -105
  984. package/dist/esm/stories/specsComparison.stories.js.map +0 -7
  985. package/dist/esm/stories/tabWithImage.stories.d.ts +0 -28
  986. package/dist/esm/stories/tabWithImage.stories.js +0 -53
  987. package/dist/esm/stories/tabWithImage.stories.js.map +0 -7
  988. package/dist/esm/stories/tabs.stories.d.ts +0 -373
  989. package/dist/esm/stories/tabs.stories.js +0 -2
  990. package/dist/esm/stories/tabs.stories.js.map +0 -7
  991. package/dist/esm/stories/tabsWithMedia.stories.d.ts +0 -28
  992. package/dist/esm/stories/tabsWithMedia.stories.js +0 -68
  993. package/dist/esm/stories/tabsWithMedia.stories.js.map +0 -7
  994. package/dist/esm/stories/text.stories.d.ts +0 -86
  995. package/dist/esm/stories/text.stories.js +0 -21
  996. package/dist/esm/stories/text.stories.js.map +0 -7
  997. package/dist/esm/stories/videoFeature.stories.d.ts +0 -29
  998. package/dist/esm/stories/videoFeature.stories.js +0 -56
  999. package/dist/esm/stories/videoFeature.stories.js.map +0 -7
  1000. package/dist/esm/stories/whychoose.stories.d.ts +0 -21
  1001. package/dist/esm/stories/whychoose.stories.js +0 -2
  1002. package/dist/esm/stories/whychoose.stories.js.map +0 -7
@@ -48,8 +48,8 @@ export type AccordionCardsType = {
48
48
  primaryButton?: (_v: any, _index: number) => void;
49
49
  };
50
50
  };
51
- declare const _default: React.ForwardRefExoticComponent<Omit<Omit<AccordionCardsType & React.RefAttributes<HTMLDivElement>, keyof import("../../shared/Styles.js").StylesProps> & Partial<import("../../shared/Styles.js").StylesProps & import("../../shared/Styles.js").ContainerProps> & {
52
- className?: string;
53
- data?: Record<string, any>;
51
+ declare const _default: React.ForwardRefExoticComponent<Omit<AccordionCardsType & React.RefAttributes<HTMLDivElement> & {
52
+ style?: string | React.CSSProperties;
53
+ container?: import("../../shared/Styles.js").ContainerProps["container"];
54
54
  }, "ref"> & React.RefAttributes<any>>;
55
55
  export default _default;
@@ -0,0 +1,124 @@
1
+ import * as React from 'react';
2
+ import type { ButtonFunctionType, CopyConfig } from './types.js';
3
+ import type { BadgeProps } from '../../components/badge.js';
4
+ /**
5
+ * 语义化类名
6
+ */
7
+ export type ActiveShelfSemanticName = 'root' | 'title' | 'description' | 'productCard' | 'productTitle' | 'productDescription' | 'productPriceLabel' | 'productPrice' | 'buttonGroup' | 'secondaryButton' | 'primaryButton' | 'stockBar';
8
+ /**
9
+ * 库存展示模式
10
+ */
11
+ export type StockDisplayMode = 'always' | 'never' | 'below-quantity' | 'below-percentage';
12
+ /**
13
+ * 基础产品数据接口(来自外部数据源)
14
+ */
15
+ export interface BaseProductData {
16
+ sku: string;
17
+ name: string;
18
+ image: string;
19
+ value: string;
20
+ handle: string;
21
+ shopify_id: string;
22
+ custom_name?: string;
23
+ custom_description?: string;
24
+ }
25
+ /**
26
+ * Shopify 变体数据接口
27
+ */
28
+ export interface VariantData {
29
+ /**
30
+ * 产品描述
31
+ */
32
+ description?: string;
33
+ /**
34
+ * 变体id
35
+ */
36
+ variantId: string;
37
+ /**
38
+ * 产品链接, 点击图片的时候跳转到该链接
39
+ */
40
+ listingLink: string;
41
+ /**
42
+ * 原价
43
+ */
44
+ originalPrice: string;
45
+ /**
46
+ * 现价
47
+ */
48
+ price: string;
49
+ /**
50
+ * 价格上面展示的标签文本
51
+ */
52
+ priceLabel?: string;
53
+ /**
54
+ * 总库存
55
+ */
56
+ totalInventory: number;
57
+ /**
58
+ * 可用库存数量
59
+ */
60
+ quantityAvailable: number;
61
+ /**
62
+ * 是否可售
63
+ */
64
+ availableForSale: boolean;
65
+ /**
66
+ * tags 列表(会员价,折扣,new, hot等标签信息)
67
+ */
68
+ tags: Array<{
69
+ label: string;
70
+ variant: BadgeProps['variant'];
71
+ promotionalType?: BadgeProps['promotionalType'];
72
+ } | React.ReactNode>;
73
+ /**
74
+ * 通用折扣数据,包括折扣title, 类型和值
75
+ */
76
+ coupon: any;
77
+ }
78
+ /**
79
+ * 完整的产品卡片数据接口
80
+ */
81
+ export interface ProductCardData extends BaseProductData, VariantData {
82
+ }
83
+ /**
84
+ * 产品卡片组件 Props
85
+ */
86
+ export interface ProductCardProps {
87
+ /** 产品数据 */
88
+ product: ProductCardData;
89
+ /** 样式类名 */
90
+ className?: string;
91
+ /** 是否展示标签系统 */
92
+ showTags?: boolean;
93
+ /** 库存展示模式 */
94
+ stockDisplayMode?: StockDisplayMode;
95
+ /** 库存阈值(当模式为 below-quantity 或 below-percentage 时使用) */
96
+ stockThreshold?: number;
97
+ /** 点击了解更多回调 */
98
+ onLearnMore?: (product: ProductCardData) => void;
99
+ /** 点击立即购买回调 */
100
+ onShopNow?: (product: ProductCardData) => void;
101
+ /** 点击加入购物车回调 */
102
+ onAddToCart?: (product: ProductCardData) => void;
103
+ /** 语义化类名 */
104
+ classNames?: Partial<Record<ActiveShelfSemanticName, string>>;
105
+ /** 了解更多按钮文本 */
106
+ secondaryButtonText?: string;
107
+ /** 了解更多按钮功能 */
108
+ secondaryButtonFun?: ButtonFunctionType;
109
+ /** 立即购买按钮文本 */
110
+ primaryButtonText?: string;
111
+ /** 立即购买按钮功能 */
112
+ primaryButtonFun?: ButtonFunctionType;
113
+ /** 是否展示原价(删除线价格) */
114
+ showOriginalPrice?: boolean;
115
+ /** 文案配置 */
116
+ copy?: CopyConfig;
117
+ onProductImageClick?: (product: ProductCardData) => void;
118
+ }
119
+ /**
120
+ * 产品卡片组件
121
+ */
122
+ declare const ProductCard: React.ForwardRefExoticComponent<ProductCardProps & React.RefAttributes<HTMLDivElement>>;
123
+ export { ProductCard };
124
+ export default ProductCard;
@@ -0,0 +1,2 @@
1
+ "use strict";"use client";var M=Object.create;var m=Object.defineProperty;var A=Object.getOwnPropertyDescriptor;var q=Object.getOwnPropertyNames;var R=Object.getPrototypeOf,H=Object.prototype.hasOwnProperty;var I=(e,r)=>{for(var i in r)m(e,i,{get:r[i],enumerable:!0})},w=(e,r,i,d)=>{if(r&&typeof r=="object"||typeof r=="function")for(let s of q(r))!H.call(e,s)&&s!==i&&m(e,s,{get:()=>r[s],enumerable:!(d=A(r,s))||d.enumerable});return e};var _=(e,r,i)=>(i=e!=null?M(R(e)):{},w(r||!e||!e.__esModule?m(i,"default",{value:e,enumerable:!0}):i,e)),j=e=>w(m({},"__esModule",{value:!0}),e);var V={};I(V,{ProductCard:()=>u,default:()=>G});module.exports=j(V);var a=require("react/jsx-runtime"),c=_(require("react")),o=require("../../helpers/index.js"),t=require("../../components/index.js");function O(e,r,i,d){if(e===void 0)return!0;switch(e){case"always":return!0;case"never":return!1;case"below-quantity":return r===void 0?!0:i<=r;case"below-percentage":return r===void 0?!0:i/d<=r;default:return!0}}const u=c.forwardRef(({product:e,className:r,showTags:i=!0,stockDisplayMode:d,stockThreshold:s,onLearnMore:P,onShopNow:C,onAddToCart:N,classNames:l,secondaryButtonText:f,secondaryButtonFun:y,primaryButtonText:g,primaryButtonFun:b,showOriginalPrice:S,copy:v,onProductImageClick:x},B)=>{const[D,L]=c.useState(!1),[T,z]=c.useState(!1),F=c.useMemo(()=>{const n=(e?.quantityAvailable??0)/(e?.totalInventory??1)*100;return n===0&&e.availableForSale?Math.round(Math.random()*5+1):n},[e?.availableForSale,e?.quantityAvailable,e?.totalInventory]),k=async(n,p)=>{if(!n)return;const h=p==="primary"?L:z;h(!0);try{switch(n){case"buyNow":await C?.(e);break;case"addCart":await N?.(e);break;case"learnMore":await P?.(e);break;default:break}}finally{h(!1)}};return(0,a.jsx)(t.Card,{ref:B,className:(0,o.cn)("bg-container-primary desktop:min-h-[464px] lg-desktop:min-h-[560px] flex min-h-[428px] flex-col overflow-hidden border-none",r,l?.productCard),children:(0,a.jsxs)(t.CardContent,{className:"desktop:p-6 relative flex flex-1 flex-col justify-between p-4",children:[(0,a.jsx)("div",{className:"lg-desktop:h-[28px] flex h-[24px] gap-1",children:i&&e.tags?.map((n,p)=>n.label?(0,a.jsx)(t.Badge,{size:"sm",variant:n.variant||"outline",className:(0,o.cn)(n.variant==="promotional"?"ml-2":""),promotionalType:n.promotionalType,children:n.label},p):(0,a.jsx)(c.Fragment,{children:n},p))}),(0,a.jsx)("div",{className:"product-image-wrapper lg-desktop:size-[196px] mx-auto size-[138px] cursor-pointer overflow-hidden",children:(0,a.jsx)("a",{onClick:()=>x?.(e),...!x&&{href:e?.listingLink},rel:"noreferrer",children:(0,a.jsx)(t.Picture,{source:e.image,alt:e.name,className:"aspect-square w-full",imgClassName:"w-full h-full object-contain"})})}),(0,a.jsxs)("div",{className:"flex h-full flex-1 grow flex-col justify-between",children:[(0,a.jsxs)("div",{className:"mb-4",children:[(0,a.jsx)(t.Heading,{as:"h3",size:2,className:(0,o.cn)("text-info-primary mb-2 line-clamp-2 min-h-[2.4em]",l?.productTitle),html:e.custom_name||e.name}),e?.description&&(0,a.jsx)(t.Text,{size:2,className:(0,o.cn)("text-info-secondary desktop:line-clamp-2 desktop:min-h-[2.4em] line-clamp-2 min-h-[2.4em]",l?.productDescription),html:e.custom_description||e.description})]}),e?.priceLabel&&e?.availableForSale&&(0,a.jsx)(t.Text,{size:4,className:(0,o.cn)("text-marketing-1 desktop:text-[16px] lg-desktop:text-[18px] mt-2 text-[14px]",l?.productPriceLabel),children:e.priceLabel}),(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:(0,o.cn)("mb-2",l?.productPrice),children:(0,a.jsx)("div",{className:"flex items-baseline gap-2",children:e.availableForSale?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.Heading,{size:2,className:"text-info-primary",as:"h6",children:e.price}),S&&e.originalPrice&&(0,a.jsx)(t.Heading,{size:2,className:"text-info-tertiary line-through",as:"h6",children:e.originalPrice})]}):(0,a.jsx)(t.Heading,{size:2,className:"text-info-tertiary",children:v?.outOfStockLabel??"Sold Out"})})}),(0,a.jsxs)("div",{className:(0,o.cn)("lg-desktop:gap-3 tablet:flex-nowrap mb-4 flex flex-wrap gap-2",l?.buttonGroup),children:[f&&(0,a.jsx)(t.Button,{variant:"secondary",size:"base",className:(0,o.cn)("tablet:w-fit w-full",l?.secondaryButton),onClick:()=>k(y,"secondary"),disabled:!e.availableForSale&&y!=="learnMore",loading:T,children:f}),g&&(0,a.jsx)(t.Button,{variant:"primary",size:"base",className:(0,o.cn)("tablet:w-fit w-full",l?.primaryButton),onClick:()=>k(b,"primary"),disabled:!e.availableForSale&&b!=="learnMore",loading:D,children:g})]}),O(d,s,e?.quantityAvailable??0,e?.totalInventory??0)&&(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(t.Progress,{value:F,max:100,min:0,size:"base",variant:"default","aria-label":"stock progress",classNames:{progressBar:(0,o.cn)("bg-brand-0 transition-all duration-300 ease-in-out",l?.stockBar)}}),(0,a.jsx)(t.Text,{size:3,className:"text-info-tertiary text-[14px]",children:v?.stockDisplayText?.replace("{count}",`${e.quantityAvailable}`)})]})]})]})]})})});u.displayName="ActiveShelf.ProductCard";var G=u;
2
+ //# sourceMappingURL=ProductCard.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/biz-components/ActiveShelf/ProductCard.tsx"],
4
+ "sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport { cn } from '../../helpers/index.js'\nimport { Button, Badge, Card, CardContent, Picture, Text, Heading, Progress } from '../../components/index.js'\n\nimport type { ButtonFunctionType, CopyConfig } from './types.js'\nimport type { BadgeProps } from '../../components/badge.js'\n\n/**\n * \u8BED\u4E49\u5316\u7C7B\u540D\n */\nexport type ActiveShelfSemanticName =\n | 'root'\n | 'title'\n | 'description'\n | 'productCard'\n | 'productTitle'\n | 'productDescription'\n | 'productPriceLabel'\n | 'productPrice'\n | 'buttonGroup'\n | 'secondaryButton'\n | 'primaryButton'\n | 'stockBar'\n\n/**\n * \u5E93\u5B58\u5C55\u793A\u6A21\u5F0F\n */\nexport type StockDisplayMode = 'always' | 'never' | 'below-quantity' | 'below-percentage'\n\n/**\n * \u57FA\u7840\u4EA7\u54C1\u6570\u636E\u63A5\u53E3\uFF08\u6765\u81EA\u5916\u90E8\u6570\u636E\u6E90\uFF09\n */\nexport interface BaseProductData {\n sku: string\n name: string\n image: string\n value: string\n handle: string\n shopify_id: string\n custom_name?: string\n custom_description?: string\n}\n\n/**\n * Shopify \u53D8\u4F53\u6570\u636E\u63A5\u53E3\n */\nexport interface VariantData {\n /**\n * \u4EA7\u54C1\u63CF\u8FF0\n */\n description?: string\n /**\n * \u53D8\u4F53id\n */\n variantId: string\n\n /**\n * \u4EA7\u54C1\u94FE\u63A5, \u70B9\u51FB\u56FE\u7247\u7684\u65F6\u5019\u8DF3\u8F6C\u5230\u8BE5\u94FE\u63A5\n */\n listingLink: string\n /**\n * \u539F\u4EF7\n */\n originalPrice: string\n /**\n * \u73B0\u4EF7\n */\n price: string\n /**\n * \u4EF7\u683C\u4E0A\u9762\u5C55\u793A\u7684\u6807\u7B7E\u6587\u672C\n */\n priceLabel?: string\n /**\n * \u603B\u5E93\u5B58\n */\n totalInventory: number\n /**\n * \u53EF\u7528\u5E93\u5B58\u6570\u91CF\n */\n quantityAvailable: number\n /**\n * \u662F\u5426\u53EF\u552E\n */\n availableForSale: boolean\n\n /**\n * tags \u5217\u8868(\u4F1A\u5458\u4EF7\uFF0C\u6298\u6263\uFF0Cnew, hot\u7B49\u6807\u7B7E\u4FE1\u606F)\n */\n tags: Array<\n | {\n label: string\n variant: BadgeProps['variant']\n promotionalType?: BadgeProps['promotionalType']\n }\n | React.ReactNode\n >\n /**\n * \u901A\u7528\u6298\u6263\u6570\u636E\uFF0C\u5305\u62EC\u6298\u6263title, \u7C7B\u578B\u548C\u503C\n */\n coupon: any\n}\n\n/**\n * \u5B8C\u6574\u7684\u4EA7\u54C1\u5361\u7247\u6570\u636E\u63A5\u53E3\n */\nexport interface ProductCardData extends BaseProductData, VariantData {}\n\n/**\n * \u4EA7\u54C1\u5361\u7247\u7EC4\u4EF6 Props\n */\nexport interface ProductCardProps {\n /** \u4EA7\u54C1\u6570\u636E */\n product: ProductCardData\n /** \u6837\u5F0F\u7C7B\u540D */\n className?: string\n /** \u662F\u5426\u5C55\u793A\u6807\u7B7E\u7CFB\u7EDF */\n showTags?: boolean\n /** \u5E93\u5B58\u5C55\u793A\u6A21\u5F0F */\n stockDisplayMode?: StockDisplayMode\n /** \u5E93\u5B58\u9608\u503C\uFF08\u5F53\u6A21\u5F0F\u4E3A below-quantity \u6216 below-percentage \u65F6\u4F7F\u7528\uFF09 */\n stockThreshold?: number\n /** \u70B9\u51FB\u4E86\u89E3\u66F4\u591A\u56DE\u8C03 */\n onLearnMore?: (product: ProductCardData) => void\n /** \u70B9\u51FB\u7ACB\u5373\u8D2D\u4E70\u56DE\u8C03 */\n onShopNow?: (product: ProductCardData) => void\n /** \u70B9\u51FB\u52A0\u5165\u8D2D\u7269\u8F66\u56DE\u8C03 */\n onAddToCart?: (product: ProductCardData) => void\n /** \u8BED\u4E49\u5316\u7C7B\u540D */\n classNames?: Partial<Record<ActiveShelfSemanticName, string>>\n /** \u4E86\u89E3\u66F4\u591A\u6309\u94AE\u6587\u672C */\n secondaryButtonText?: string\n /** \u4E86\u89E3\u66F4\u591A\u6309\u94AE\u529F\u80FD */\n secondaryButtonFun?: ButtonFunctionType\n /** \u7ACB\u5373\u8D2D\u4E70\u6309\u94AE\u6587\u672C */\n primaryButtonText?: string\n /** \u7ACB\u5373\u8D2D\u4E70\u6309\u94AE\u529F\u80FD */\n primaryButtonFun?: ButtonFunctionType\n /** \u662F\u5426\u5C55\u793A\u539F\u4EF7\uFF08\u5220\u9664\u7EBF\u4EF7\u683C\uFF09 */\n showOriginalPrice?: boolean\n /** \u6587\u6848\u914D\u7F6E */\n copy?: CopyConfig\n onProductImageClick?: (product: ProductCardData) => void\n}\n\n/**\n * \u5224\u65AD\u662F\u5426\u5E94\u8BE5\u663E\u793A\u5E93\u5B58\u4FE1\u606F\n * @param stockDisplayMode \u5E93\u5B58\u5C55\u793A\u6A21\u5F0F\n * @param stockThreshold \u5E93\u5B58\u9608\u503C\uFF08\u5F53\u6A21\u5F0F\u4E3A below-quantity \u6216 below-percentage \u65F6\u4F7F\u7528\uFF09\n * @param quantityAvailable \u53EF\u7528\u5E93\u5B58\u6570\u91CF\n * @param totalInventory \u603B\u5E93\u5B58\n * @returns \u662F\u5426\u663E\u793A\u5E93\u5B58\u4FE1\u606F\n */\nfunction shouldShowStock(\n stockDisplayMode: StockDisplayMode | undefined,\n stockThreshold: number | undefined,\n quantityAvailable: number,\n totalInventory: number\n): boolean {\n // \u672A\u914D\u7F6E\u65F6\u9ED8\u8BA4\u663E\u793A\n if (stockDisplayMode === undefined) {\n return true\n }\n\n // \u6839\u636E\u5C55\u793A\u6A21\u5F0F\u5224\u65AD\n switch (stockDisplayMode) {\n case 'always':\n // \u603B\u662F\u663E\u793A\n return true\n\n case 'never':\n // \u6C38\u4E0D\u663E\u793A\n return false\n\n case 'below-quantity':\n // \u5F53\u5E93\u5B58\u6570\u91CF\u4F4E\u4E8E\u9608\u503C\u65F6\u663E\u793A\n if (stockThreshold === undefined) {\n return true // \u6CA1\u6709\u8BBE\u7F6E\u9608\u503C\u65F6\u9ED8\u8BA4\u663E\u793A\n }\n\n return quantityAvailable <= stockThreshold\n\n case 'below-percentage':\n // \u5F53\u5E93\u5B58\u767E\u5206\u6BD4\u4F4E\u4E8E\u9608\u503C\u65F6\u663E\u793A\n if (stockThreshold === undefined) {\n return true // \u6CA1\u6709\u8BBE\u7F6E\u9608\u503C\u65F6\u9ED8\u8BA4\u663E\u793A\n }\n return quantityAvailable / totalInventory <= stockThreshold\n\n default:\n // \u672A\u77E5\u6A21\u5F0F\u65F6\u9ED8\u8BA4\u663E\u793A\n return true\n }\n}\n\n/**\n * \u4EA7\u54C1\u5361\u7247\u7EC4\u4EF6\n */\nconst ProductCard = React.forwardRef<HTMLDivElement, ProductCardProps>(\n (\n {\n product,\n className,\n showTags = true,\n stockDisplayMode,\n stockThreshold,\n onLearnMore,\n onShopNow,\n onAddToCart,\n classNames,\n secondaryButtonText,\n secondaryButtonFun,\n primaryButtonText,\n primaryButtonFun,\n showOriginalPrice,\n copy,\n onProductImageClick,\n },\n ref\n ) => {\n const [primaryLoading, setPrimaryLoading] = React.useState(false)\n const [secondaryLoading, setSecondaryLoading] = React.useState(false)\n\n const stockPercentage = React.useMemo(() => {\n const result = ((product?.quantityAvailable ?? 0) / (product?.totalInventory ?? 1)) * 100\n if (result === 0 && product.availableForSale) {\n // \u53EF\u552E\u4F46\u5E93\u5B58\u4E3A0\u65F6\uFF0C\u968F\u673A\u663E\u793A1-5%\u7684\u5E93\u5B58\u8FDB\u5EA6\n return Math.round(Math.random() * 5 + 1)\n }\n return result\n }, [product?.availableForSale, product?.quantityAvailable, product?.totalInventory])\n\n // \u6839\u636E\u6309\u94AE\u529F\u80FD\u7C7B\u578B\u8C03\u7528\u76F8\u5E94\u7684\u56DE\u8C03\u51FD\u6570\n const handleButtonClick = async (buttonFun?: ButtonFunctionType, buttonType?: 'primary' | 'secondary') => {\n if (!buttonFun) return\n\n const setLoading = buttonType === 'primary' ? setPrimaryLoading : setSecondaryLoading\n setLoading(true)\n\n try {\n switch (buttonFun) {\n case 'buyNow':\n await onShopNow?.(product)\n break\n case 'addCart':\n await onAddToCart?.(product)\n break\n case 'learnMore':\n await onLearnMore?.(product)\n break\n default:\n break\n }\n } finally {\n setLoading(false)\n }\n }\n\n return (\n <Card\n ref={ref}\n className={cn(\n 'bg-container-primary desktop:min-h-[464px] lg-desktop:min-h-[560px] flex min-h-[428px] flex-col overflow-hidden border-none',\n className,\n classNames?.productCard\n )}\n >\n <CardContent className=\"desktop:p-6 relative flex flex-1 flex-col justify-between p-4\">\n {/* \u6807\u7B7E */}\n <div className=\"lg-desktop:h-[28px] flex h-[24px] gap-1\">\n {showTags &&\n product.tags?.map((tag: any, index) =>\n (tag as any).label ? (\n <Badge\n key={index}\n size=\"sm\"\n variant={(tag.variant as any) || 'outline'}\n className={cn(tag.variant === 'promotional' ? 'ml-2' : '')}\n promotionalType={tag.promotionalType}\n >\n {tag.label}\n </Badge>\n ) : (\n <React.Fragment key={index}>{tag}</React.Fragment>\n )\n )}\n </div>\n\n {/* \u4EA7\u54C1\u56FE\u533A\u57DF */}\n <div className=\"product-image-wrapper lg-desktop:size-[196px] mx-auto size-[138px] cursor-pointer overflow-hidden\">\n <a\n onClick={() => onProductImageClick?.(product)}\n {...(!onProductImageClick && {\n href: product?.listingLink,\n })}\n rel=\"noreferrer\"\n >\n <Picture\n source={product.image}\n alt={product.name}\n className=\"aspect-square w-full\"\n imgClassName=\"w-full h-full object-contain\"\n />\n </a>\n </div>\n\n {/* \u5185\u5BB9\u533A\u57DF */}\n <div className=\"flex h-full flex-1 grow flex-col justify-between\">\n {/* \u4EA7\u54C1\u4FE1\u606F */}\n <div className=\"mb-4\">\n <Heading\n as=\"h3\"\n size={2}\n className={cn('text-info-primary mb-2 line-clamp-2 min-h-[2.4em]', classNames?.productTitle)}\n html={product.custom_name || product.name}\n />\n {product?.description && (\n <Text\n size={2}\n className={cn(\n 'text-info-secondary desktop:line-clamp-2 desktop:min-h-[2.4em] line-clamp-2 min-h-[2.4em]',\n classNames?.productDescription\n )}\n html={product.custom_description || product.description}\n />\n )}\n </div>\n\n {/** \u4EF7\u683C\u6807\u7B7E */}\n\n {product?.priceLabel && product?.availableForSale && (\n <Text\n size={4}\n className={cn(\n 'text-marketing-1 desktop:text-[16px] lg-desktop:text-[18px] mt-2 text-[14px]',\n classNames?.productPriceLabel\n )}\n >\n {product.priceLabel}\n </Text>\n )}\n\n {/* \u4EF7\u683C\u533A\u57DF */}\n <div>\n <div className={cn('mb-2', classNames?.productPrice)}>\n <div className=\"flex items-baseline gap-2\">\n {product.availableForSale ? (\n <>\n <Heading size={2} className=\"text-info-primary\" as=\"h6\">\n {product.price}\n </Heading>\n {showOriginalPrice && product.originalPrice && (\n <Heading size={2} className=\"text-info-tertiary line-through\" as=\"h6\">\n {product.originalPrice}\n </Heading>\n )}\n </>\n ) : (\n <Heading size={2} className=\"text-info-tertiary\">\n {copy?.outOfStockLabel ?? 'Sold Out'}\n </Heading>\n )}\n </div>\n </div>\n\n {/* \u6309\u94AE\u533A\u57DF */}\n <div\n className={cn('lg-desktop:gap-3 tablet:flex-nowrap mb-4 flex flex-wrap gap-2', classNames?.buttonGroup)}\n >\n {secondaryButtonText && (\n <Button\n variant=\"secondary\"\n size=\"base\"\n className={cn('tablet:w-fit w-full', classNames?.secondaryButton)}\n onClick={() => handleButtonClick(secondaryButtonFun, 'secondary')}\n disabled={!product.availableForSale && secondaryButtonFun !== 'learnMore'}\n loading={secondaryLoading}\n >\n {secondaryButtonText}\n </Button>\n )}\n {primaryButtonText && (\n <Button\n variant=\"primary\"\n size=\"base\"\n className={cn('tablet:w-fit w-full', classNames?.primaryButton)}\n onClick={() => handleButtonClick(primaryButtonFun, 'primary')}\n disabled={!product.availableForSale && primaryButtonFun !== 'learnMore'}\n loading={primaryLoading}\n >\n {primaryButtonText}\n </Button>\n )}\n </div>\n\n {/* \u5E93\u5B58\u4FE1\u606F */}\n {shouldShowStock(\n stockDisplayMode,\n stockThreshold,\n product?.quantityAvailable ?? 0,\n product?.totalInventory ?? 0\n ) && (\n <div className=\"space-y-2\">\n <Progress\n value={stockPercentage}\n max={100}\n min={0}\n size=\"base\"\n variant=\"default\"\n aria-label=\"stock progress\"\n classNames={{\n progressBar: cn('bg-brand-0 transition-all duration-300 ease-in-out', classNames?.stockBar),\n }}\n />\n <Text size={3} className=\"text-info-tertiary text-[14px]\">\n {copy?.stockDisplayText?.replace('{count}', `${product.quantityAvailable}`)}\n </Text>\n </div>\n )}\n </div>\n </div>\n </CardContent>\n </Card>\n )\n }\n)\n\nProductCard.displayName = 'ActiveShelf.ProductCard'\n\nexport { ProductCard }\nexport default ProductCard\n"],
5
+ "mappings": "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",
6
+ "names": ["ProductCard_exports", "__export", "ProductCard", "ProductCard_default", "__toCommonJS", "import_jsx_runtime", "React", "import_helpers", "import_components", "shouldShowStock", "stockDisplayMode", "stockThreshold", "quantityAvailable", "totalInventory", "product", "className", "showTags", "onLearnMore", "onShopNow", "onAddToCart", "classNames", "secondaryButtonText", "secondaryButtonFun", "primaryButtonText", "primaryButtonFun", "showOriginalPrice", "copy", "onProductImageClick", "ref", "primaryLoading", "setPrimaryLoading", "secondaryLoading", "setSecondaryLoading", "stockPercentage", "result", "handleButtonClick", "buttonFun", "buttonType", "setLoading", "tag", "index"]
7
+ }
@@ -0,0 +1,92 @@
1
+ import * as React from 'react';
2
+ import 'swiper/css';
3
+ import 'swiper/css/navigation';
4
+ import type { ButtonFunctionType, CopyConfig } from './types.js';
5
+ import { ProductCard, type ProductCardData, type ActiveShelfSemanticName, type StockDisplayMode } from './ProductCard.js';
6
+ /**
7
+ * 组件布局模式
8
+ */
9
+ export type ActiveShelfLayoutMode = 'flex' | 'horizontal';
10
+ /**
11
+ * Code Channel 配置 - 折扣前缀
12
+ */
13
+ export type CodeChannelConfig = string;
14
+ /**
15
+ * 产品分组Tab数据接口
16
+ */
17
+ export interface ProductTab {
18
+ /** Tab ID */
19
+ id: string;
20
+ /** Tab 标题 */
21
+ tab: string;
22
+ /** 该分组下的产品数据 */
23
+ data: ProductCardData[];
24
+ }
25
+ /**
26
+ * ActiveShelf 业务组件数据接口
27
+ */
28
+ export interface ActiveShelfData {
29
+ theme?: 'light' | 'dark';
30
+ /** 组件标题 */
31
+ title?: string;
32
+ /** 组件描述 */
33
+ description?: string;
34
+ /** 分组产品Tab列表 */
35
+ productsTab?: ProductTab[];
36
+ /** 是否显示 Tab(默认:true) */
37
+ isShowTab?: boolean;
38
+ /** 了解更多按钮文本 */
39
+ secondaryButtonText?: string;
40
+ secondaryButtonFun: ButtonFunctionType;
41
+ /** 立即购买按钮文本 */
42
+ primaryButtonText?: string;
43
+ primaryButtonFun: ButtonFunctionType;
44
+ /** 布局模式:网格布局或横向滑动 */
45
+ layoutMode?: ActiveShelfLayoutMode;
46
+ /** Code Channel 配置 - 折扣前缀 */
47
+ codeChannel?: CodeChannelConfig;
48
+ /** 是否展示会员价格 */
49
+ showMemberPrice?: boolean;
50
+ /** 是否展示折扣标签 */
51
+ showDiscount?: boolean;
52
+ /** 是否展示标签系统 */
53
+ showTags?: boolean;
54
+ /** 库存展示模式 */
55
+ stockDisplayMode?: StockDisplayMode;
56
+ /** 库存阈值(当模式为 below-quantity 或 below-percentage 时使用) */
57
+ stockThreshold?: number;
58
+ /**
59
+ * 库存文本模板,支持 {count} 占位符
60
+ */
61
+ stockDisplayText?: string;
62
+ /** 是否展示原价(删除线价格) */
63
+ showOriginalPrice?: boolean;
64
+ /** 文案配置 */
65
+ copy?: CopyConfig;
66
+ /**
67
+ * 产品列表(当不使用 Tab 分组时可直接传入产品列表)
68
+ */
69
+ productsCard: ProductCardData[];
70
+ }
71
+ export interface ActiveShelfProps extends React.HTMLAttributes<HTMLDivElement> {
72
+ /** 业务数据 */
73
+ data: ActiveShelfData;
74
+ /** 点击了解更多回调 */
75
+ onLearnMore?: (product: ProductCardData) => void;
76
+ /** 点击立即购买回调 */
77
+ onShopNow?: (product: ProductCardData) => void;
78
+ /** 点击加入购物车回调 */
79
+ onAddToCart?: (product: ProductCardData) => void;
80
+ /** 语义化类名 */
81
+ classNames?: Partial<Record<ActiveShelfSemanticName, string>>;
82
+ }
83
+ /**
84
+ * ActiveShelf 复合组件类型定义
85
+ */
86
+ export interface ActiveShelfComponent extends React.ForwardRefExoticComponent<ActiveShelfProps & React.RefAttributes<HTMLDivElement>> {
87
+ /** 独立的 ProductCard 组件 */
88
+ ProductCard: typeof ProductCard;
89
+ }
90
+ declare const ActiveShelfWithProductCard: ActiveShelfComponent;
91
+ export default ActiveShelfWithProductCard;
92
+ export type { StockDisplayMode, ActiveShelfSemanticName, ProductCardData };
@@ -0,0 +1,2 @@
1
+ "use strict";"use client";var z=Object.create;var k=Object.defineProperty;var O=Object.getOwnPropertyDescriptor;var H=Object.getOwnPropertyNames;var j=Object.getPrototypeOf,W=Object.prototype.hasOwnProperty;var I=(o,e)=>{for(var a in e)k(o,a,{get:e[a],enumerable:!0})},L=(o,e,a,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of H(e))!W.call(o,s)&&s!==a&&k(o,s,{get:()=>e[s],enumerable:!(n=O(e,s))||n.enumerable});return o};var V=(o,e,a)=>(a=o!=null?z(j(o)):{},L(e||!o||!o.__esModule?k(a,"default",{value:o,enumerable:!0}):a,o)),Z=o=>L(k({},"__esModule",{value:!0}),o);var J={};I(J,{default:()=>G});module.exports=Z(J);var t=require("react/jsx-runtime"),M=V(require("react")),S=require("../../helpers/index.js"),r=require("../../components/index.js"),P=require("swiper/react"),E=require("swiper/modules"),Q=require("swiper/css"),U=require("swiper/css/navigation"),B=require("./ProductCard.js");const _=({disabled:o})=>(0,t.jsxs)("svg",{width:"56",height:"56",viewBox:"0 0 56 56",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:" lg-desktop:size-[56px] laptop:block hidden size-[40px]",children:[(0,t.jsx)("path",{d:"M0 28C0 43.464 12.536 56 28 56C43.464 56 56 43.464 56 28C56 12.536 43.464 0 28 0C12.536 0 0 12.536 0 28Z",fill:"black",fillOpacity:o?"0.2":"0.6"}),(0,t.jsx)("path",{d:"M31 22L25 28L31 34",stroke:"white",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}),q=({disabled:o})=>(0,t.jsxs)("svg",{width:"56",height:"56",viewBox:"0 0 56 56",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"lg-desktop:size-[56px] laptop:block hidden size-[40px]",children:[(0,t.jsx)("path",{d:"M0 28C0 12.536 12.536 0 28 0C43.464 0 56 12.536 56 28C56 43.464 43.464 56 28 56C12.536 56 0 43.464 0 28Z",fill:"black",fillOpacity:o?"0.2":"0.6"}),(0,t.jsx)("path",{d:"M25 22L31 28L25 34",stroke:"white",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}),D=M.forwardRef(({products:o,layoutMode:e,className:a,copy:n,showTags:s,stockDisplayMode:d,stockThreshold:w,onLearnMore:v,onShopNow:x,onAddToCart:u,classNames:h,secondaryButtonText:m,secondaryButtonFun:g,primaryButtonText:y,primaryButtonFun:f,showOriginalPrice:b},C)=>{const[T,c]=M.useState({isBeginning:!0,isEnd:!1});return o?.length===0?null:(0,t.jsx)("div",{ref:C,className:a,children:e==="flex"?(0,t.jsx)("div",{className:"lg-desktop:gap-6 tablet:grid-cols-2 laptop:grid-cols-3 desktop:grid-cols-4 grid grid-cols-1 justify-start gap-4",children:o.map((i,p)=>(0,t.jsx)(B.ProductCard,{product:i,className:"shrink-0",showTags:s,stockDisplayMode:d,stockThreshold:w,onLearnMore:v,onShopNow:x,onAddToCart:u,classNames:h,secondaryButtonText:m,secondaryButtonFun:g,primaryButtonText:y,primaryButtonFun:f,showOriginalPrice:b,copy:n},i.shopify_id+"-"+i.sku||p))}):(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)(P.Swiper,{modules:[E.Navigation],spaceBetween:16,slidesPerView:"auto",autoHeight:!0,navigation:{nextEl:".swiper-button-next-custom",prevEl:".swiper-button-prev-custom"},onSwiper:i=>{c({isBeginning:i.isBeginning,isEnd:i.isEnd})},onReachEnd:()=>{c(i=>({...i,isEnd:!0}))},onReachBeginning:()=>{c(i=>({...i,isBeginning:!0}))},onFromEdge:()=>{c({isBeginning:!1,isEnd:!1})},className:"!overflow-visible",children:o.map((i,p)=>(0,t.jsx)(P.SwiperSlide,{className:"tablet:!w-[288px] tablet:h-[428px] desktop:!w-[316px] desktop:!h-[464px] lg-desktop:!w-[404px] lg-desktop:!h-[561px] h-[428px] !w-[296px] overflow-hidden",children:(0,t.jsx)(B.ProductCard,{product:i,className:"w-full max-w-full",showTags:s,stockDisplayMode:d,stockThreshold:w,onLearnMore:v,onShopNow:x,onAddToCart:u,classNames:h,secondaryButtonText:m,secondaryButtonFun:g,primaryButtonText:y,primaryButtonFun:f,showOriginalPrice:b,copy:n})},i.shopify_id+"-"+i.sku||p))}),(0,t.jsx)("button",{className:"swiper-button-prev-custom tablet:block absolute left-4 top-1/2 z-10 hidden -translate-y-1/2","aria-label":n?.previousSlideLabel,children:(0,t.jsx)(_,{disabled:T.isBeginning})}),(0,t.jsx)("button",{className:"swiper-button-next-custom tablet:block absolute right-4 top-1/2 z-10 hidden -translate-y-1/2","aria-label":n?.nextSlideLabel,children:(0,t.jsx)(q,{disabled:T.isEnd})})]})})});D.displayName="ProductsList";const A=M.forwardRef(({className:o,data:e,onLearnMore:a,onShopNow:n,onAddToCart:s,classNames:d,...w},v)=>{const{theme:x="light",layoutMode:u="flex",showTags:h=!0,stockDisplayMode:m,stockThreshold:g,showOriginalPrice:y=!0,secondaryButtonText:f,primaryButtonText:b,secondaryButtonFun:C,primaryButtonFun:T,isShowTab:c=!0,copy:i}=e,p=i||{},R=e.productsTab&&e.productsTab.length>0,N=c&&R;return(0,t.jsxs)("div",{ref:v,className:(0,S.cn)("w-full",{"aiui-dark":x==="dark"},o,d?.root),...w,children:[e.title&&(0,t.jsx)(r.Heading,{as:"h2",html:e.title,size:4,className:(0,S.cn)("text-info-primary mb-4",d?.title)}),e.description&&(0,t.jsx)(r.Text,{size:3,as:"p",html:e.description,className:(0,S.cn)("text-info-primary mb-6",d?.description)}),(0,t.jsxs)(r.Tabs,{defaultValue:e.productsTab?.[0]?.id,className:"w-full",children:[N&&(0,t.jsx)(r.TabsList,{className:"mb-6",children:e.productsTab?.map(l=>(0,t.jsx)(r.TabsTrigger,{value:l.id,children:l.tab},"tab-"+l.id))}),N?e.productsTab?.map(l=>(0,t.jsx)(r.TabsContent,{value:l.id,children:(0,t.jsx)(D,{products:l.data,layoutMode:u,copy:p,showTags:h,stockDisplayMode:m,stockThreshold:g,onLearnMore:a,onShopNow:n,onAddToCart:s,classNames:d,secondaryButtonText:f,secondaryButtonFun:C,primaryButtonText:b,primaryButtonFun:T,showOriginalPrice:y})},"tab-content-"+l.id)):(0,t.jsx)(D,{products:e.productsCard,layoutMode:u,copy:p,showTags:h,stockDisplayMode:m,stockThreshold:g,onLearnMore:a,onShopNow:n,onAddToCart:s,classNames:d,secondaryButtonText:f,secondaryButtonFun:C,primaryButtonText:b,primaryButtonFun:T,showOriginalPrice:y})]})]})});A.displayName="ActiveShelf";const F=A;F.ProductCard=B.ProductCard;var G=F;
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/biz-components/ActiveShelf/index.tsx"],
4
+ "sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport { cn } from '../../helpers/index.js'\nimport { Text, Heading, Tabs, TabsList, TabsTrigger, TabsContent } from '../../components/index.js'\n\nimport { Swiper, SwiperSlide } from 'swiper/react'\nimport { Navigation } from 'swiper/modules'\n\n// Import Swiper styles\nimport 'swiper/css'\nimport 'swiper/css/navigation'\nimport type { ButtonFunctionType, CopyConfig } from './types.js'\nimport {\n ProductCard,\n type ProductCardData,\n type ActiveShelfSemanticName,\n type StockDisplayMode,\n} from './ProductCard.js'\n\n/**\n * \u7EC4\u4EF6\u5E03\u5C40\u6A21\u5F0F\n */\nexport type ActiveShelfLayoutMode = 'flex' | 'horizontal'\n\n/**\n * Code Channel \u914D\u7F6E - \u6298\u6263\u524D\u7F00\n */\nexport type CodeChannelConfig = string\n\nconst PrevIcon = ({ disabled }: { disabled: boolean }) => (\n <svg\n width=\"56\"\n height=\"56\"\n viewBox=\"0 0 56 56\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\" lg-desktop:size-[56px] laptop:block hidden size-[40px]\"\n >\n <path\n d=\"M0 28C0 43.464 12.536 56 28 56C43.464 56 56 43.464 56 28C56 12.536 43.464 0 28 0C12.536 0 0 12.536 0 28Z\"\n fill=\"black\"\n fillOpacity={disabled ? '0.2' : '0.6'}\n />\n <path d=\"M31 22L25 28L31 34\" stroke=\"white\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n)\n\nconst NextIcon = ({ disabled }: { disabled: boolean }) => (\n <svg\n width=\"56\"\n height=\"56\"\n viewBox=\"0 0 56 56\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"lg-desktop:size-[56px] laptop:block hidden size-[40px]\"\n >\n <path\n d=\"M0 28C0 12.536 12.536 0 28 0C43.464 0 56 12.536 56 28C56 43.464 43.464 56 28 56C12.536 56 0 43.464 0 28Z\"\n fill=\"black\"\n fillOpacity={disabled ? '0.2' : '0.6'}\n />\n <path d=\"M25 22L31 28L25 34\" stroke=\"white\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n)\n\n/**\n * \u4EA7\u54C1\u5206\u7EC4Tab\u6570\u636E\u63A5\u53E3\n */\nexport interface ProductTab {\n /** Tab ID */\n id: string\n /** Tab \u6807\u9898 */\n tab: string\n /** \u8BE5\u5206\u7EC4\u4E0B\u7684\u4EA7\u54C1\u6570\u636E */\n data: ProductCardData[]\n}\n\n/**\n * ActiveShelf \u4E1A\u52A1\u7EC4\u4EF6\u6570\u636E\u63A5\u53E3\n */\nexport interface ActiveShelfData {\n theme?: 'light' | 'dark'\n /** \u7EC4\u4EF6\u6807\u9898 */\n title?: string\n /** \u7EC4\u4EF6\u63CF\u8FF0 */\n description?: string\n /** \u5206\u7EC4\u4EA7\u54C1Tab\u5217\u8868 */\n productsTab?: ProductTab[]\n /** \u662F\u5426\u663E\u793A Tab\uFF08\u9ED8\u8BA4\uFF1Atrue\uFF09 */\n isShowTab?: boolean\n /** \u4E86\u89E3\u66F4\u591A\u6309\u94AE\u6587\u672C */\n secondaryButtonText?: string\n secondaryButtonFun: ButtonFunctionType\n /** \u7ACB\u5373\u8D2D\u4E70\u6309\u94AE\u6587\u672C */\n primaryButtonText?: string\n primaryButtonFun: ButtonFunctionType\n /** \u5E03\u5C40\u6A21\u5F0F\uFF1A\u7F51\u683C\u5E03\u5C40\u6216\u6A2A\u5411\u6ED1\u52A8 */\n layoutMode?: ActiveShelfLayoutMode\n /** Code Channel \u914D\u7F6E - \u6298\u6263\u524D\u7F00 */\n codeChannel?: CodeChannelConfig\n /** \u662F\u5426\u5C55\u793A\u4F1A\u5458\u4EF7\u683C */\n showMemberPrice?: boolean\n /** \u662F\u5426\u5C55\u793A\u6298\u6263\u6807\u7B7E */\n showDiscount?: boolean\n /** \u662F\u5426\u5C55\u793A\u6807\u7B7E\u7CFB\u7EDF */\n showTags?: boolean\n /** \u5E93\u5B58\u5C55\u793A\u6A21\u5F0F */\n stockDisplayMode?: StockDisplayMode\n /** \u5E93\u5B58\u9608\u503C\uFF08\u5F53\u6A21\u5F0F\u4E3A below-quantity \u6216 below-percentage \u65F6\u4F7F\u7528\uFF09 */\n stockThreshold?: number\n /**\n * \u5E93\u5B58\u6587\u672C\u6A21\u677F\uFF0C\u652F\u6301 {count} \u5360\u4F4D\u7B26\n */\n stockDisplayText?: string\n /** \u662F\u5426\u5C55\u793A\u539F\u4EF7\uFF08\u5220\u9664\u7EBF\u4EF7\u683C\uFF09 */\n showOriginalPrice?: boolean\n /** \u6587\u6848\u914D\u7F6E */\n copy?: CopyConfig\n /**\n * \u4EA7\u54C1\u5217\u8868\uFF08\u5F53\u4E0D\u4F7F\u7528 Tab \u5206\u7EC4\u65F6\u53EF\u76F4\u63A5\u4F20\u5165\u4EA7\u54C1\u5217\u8868\uFF09\n */\n productsCard: ProductCardData[]\n}\n\nexport interface ActiveShelfProps extends React.HTMLAttributes<HTMLDivElement> {\n /** \u4E1A\u52A1\u6570\u636E */\n data: ActiveShelfData\n /** \u70B9\u51FB\u4E86\u89E3\u66F4\u591A\u56DE\u8C03 */\n onLearnMore?: (product: ProductCardData) => void\n /** \u70B9\u51FB\u7ACB\u5373\u8D2D\u4E70\u56DE\u8C03 */\n onShopNow?: (product: ProductCardData) => void\n /** \u70B9\u51FB\u52A0\u5165\u8D2D\u7269\u8F66\u56DE\u8C03 */\n onAddToCart?: (product: ProductCardData) => void\n /** \u8BED\u4E49\u5316\u7C7B\u540D */\n classNames?: Partial<Record<ActiveShelfSemanticName, string>>\n}\n\n/**\n * ActiveShelf \u590D\u5408\u7EC4\u4EF6\u7C7B\u578B\u5B9A\u4E49\n */\nexport interface ActiveShelfComponent extends React.ForwardRefExoticComponent<\n ActiveShelfProps & React.RefAttributes<HTMLDivElement>\n> {\n /** \u72EC\u7ACB\u7684 ProductCard \u7EC4\u4EF6 */\n ProductCard: typeof ProductCard\n}\n\n/**\n * \u4EA7\u54C1\u5217\u8868\u7EC4\u4EF6 Props\n */\ninterface ProductsListProps {\n products: ProductCardData[]\n layoutMode: ActiveShelfLayoutMode\n className?: string\n copy?: CopyConfig\n showTags?: boolean\n stockDisplayMode?: StockDisplayMode\n stockThreshold?: number\n onLearnMore?: (product: ProductCardData) => void\n onShopNow?: (product: ProductCardData) => void\n onAddToCart?: (product: ProductCardData) => void\n classNames?: Partial<Record<ActiveShelfSemanticName, string>>\n secondaryButtonText?: string\n secondaryButtonFun?: ButtonFunctionType\n primaryButtonText?: string\n primaryButtonFun?: ButtonFunctionType\n showOriginalPrice?: boolean\n}\n\n/**\n * \u4EA7\u54C1\u5217\u8868\u7EC4\u4EF6 - \u652F\u6301\u7F51\u683C\u548C\u6A2A\u5411\u6ED1\u52A8\u4E24\u79CD\u5E03\u5C40\n */\nconst ProductsList = React.forwardRef<HTMLDivElement, ProductsListProps>(\n (\n {\n products,\n layoutMode,\n className,\n copy,\n showTags,\n stockDisplayMode,\n stockThreshold,\n onLearnMore,\n onShopNow,\n onAddToCart,\n classNames,\n secondaryButtonText,\n secondaryButtonFun,\n primaryButtonText,\n primaryButtonFun,\n showOriginalPrice,\n },\n ref\n ) => {\n // Swiper \u5BFC\u822A\u72B6\u6001\n const [swiperState, setSwiperState] = React.useState({\n isBeginning: true,\n isEnd: false,\n })\n\n if (products?.length === 0) {\n return null\n }\n\n return (\n <div ref={ref} className={className}>\n {layoutMode === 'flex' ? (\n /* \u7F51\u683C\u5E03\u5C40 */\n <div className=\"lg-desktop:gap-6 tablet:grid-cols-2 laptop:grid-cols-3 desktop:grid-cols-4 grid grid-cols-1 justify-start gap-4\">\n {products.map((product, index) => (\n <ProductCard\n key={product.shopify_id + '-' + product.sku || index}\n product={product}\n className=\"shrink-0\"\n showTags={showTags}\n stockDisplayMode={stockDisplayMode}\n stockThreshold={stockThreshold}\n onLearnMore={onLearnMore}\n onShopNow={onShopNow}\n onAddToCart={onAddToCart}\n classNames={classNames}\n secondaryButtonText={secondaryButtonText}\n secondaryButtonFun={secondaryButtonFun}\n primaryButtonText={primaryButtonText}\n primaryButtonFun={primaryButtonFun}\n showOriginalPrice={showOriginalPrice}\n copy={copy}\n />\n ))}\n </div>\n ) : (\n /* Swiper \u6A2A\u5411\u6ED1\u52A8\u5E03\u5C40 */\n <div className=\"relative\">\n <Swiper\n modules={[Navigation]}\n spaceBetween={16}\n slidesPerView=\"auto\"\n autoHeight={true}\n navigation={{\n nextEl: '.swiper-button-next-custom',\n prevEl: '.swiper-button-prev-custom',\n }}\n onSwiper={swiper => {\n setSwiperState({\n isBeginning: swiper.isBeginning,\n isEnd: swiper.isEnd,\n })\n }}\n onReachEnd={() => {\n setSwiperState(prev => ({ ...prev, isEnd: true }))\n }}\n onReachBeginning={() => {\n setSwiperState(prev => ({ ...prev, isBeginning: true }))\n }}\n onFromEdge={() => {\n setSwiperState({ isBeginning: false, isEnd: false })\n }}\n className=\"!overflow-visible\"\n >\n {products.map((product, index) => (\n <SwiperSlide\n key={product.shopify_id + '-' + product.sku || index}\n className=\"tablet:!w-[288px] tablet:h-[428px] desktop:!w-[316px] desktop:!h-[464px] lg-desktop:!w-[404px] lg-desktop:!h-[561px] h-[428px] !w-[296px] overflow-hidden\"\n >\n <ProductCard\n product={product}\n className=\"w-full max-w-full\"\n showTags={showTags}\n stockDisplayMode={stockDisplayMode}\n stockThreshold={stockThreshold}\n onLearnMore={onLearnMore}\n onShopNow={onShopNow}\n onAddToCart={onAddToCart}\n classNames={classNames}\n secondaryButtonText={secondaryButtonText}\n secondaryButtonFun={secondaryButtonFun}\n primaryButtonText={primaryButtonText}\n primaryButtonFun={primaryButtonFun}\n showOriginalPrice={showOriginalPrice}\n copy={copy}\n />\n </SwiperSlide>\n ))}\n </Swiper>\n\n {/* \u81EA\u5B9A\u4E49\u5BFC\u822A\u6309\u94AE */}\n <button\n className=\"swiper-button-prev-custom tablet:block absolute left-4 top-1/2 z-10 hidden -translate-y-1/2\"\n aria-label={copy?.previousSlideLabel}\n >\n <PrevIcon disabled={swiperState.isBeginning} />\n </button>\n <button\n className=\"swiper-button-next-custom tablet:block absolute right-4 top-1/2 z-10 hidden -translate-y-1/2\"\n aria-label={copy?.nextSlideLabel}\n >\n <NextIcon disabled={swiperState.isEnd} />\n </button>\n </div>\n )}\n </div>\n )\n }\n)\n\nProductsList.displayName = 'ProductsList'\n\n/**\n * ActiveShelf - \u6D3B\u52A8\u8D27\u67B6\n *\n * @description \u80FD\u591F\u5B9E\u65F6\u663E\u793A\u5546\u54C1\u5E93\u5B58\u4FE1\u606F\u548C\u4F1A\u5458\u4EF7\u7684\u8D27\u67B6\uFF0C\u652F\u6301\u54CD\u5E94\u5F0F\u5E03\u5C40\u548C\u591A\u79CD\u914D\u7F6E\u9009\u9879\n */\nconst ActiveShelf = React.forwardRef<HTMLDivElement, ActiveShelfProps>(\n ({ className, data, onLearnMore, onShopNow, onAddToCart, classNames, ...props }, ref) => {\n // \u4ECE data \u4E2D\u89E3\u6784\u914D\u7F6E\u9879\uFF0C\u5E76\u8BBE\u7F6E\u9ED8\u8BA4\u503C\n const {\n theme = 'light',\n layoutMode = 'flex',\n showTags = true,\n stockDisplayMode,\n stockThreshold,\n showOriginalPrice = true,\n secondaryButtonText,\n primaryButtonText,\n secondaryButtonFun,\n primaryButtonFun,\n isShowTab = true,\n copy,\n } = data\n\n // \u6784\u5EFA copy \u914D\u7F6E\uFF0C\u4F7F\u7528\u4F20\u5165\u7684 copy \u914D\u7F6E\n const finalCopy: CopyConfig = copy || {}\n\n // \u83B7\u53D6\u8981\u663E\u793A\u7684\u4EA7\u54C1\u6570\u636E\n const hasTabData = data.productsTab && data.productsTab.length > 0\n const shouldShowTab = isShowTab && hasTabData\n\n return (\n <div\n ref={ref}\n className={cn(\n 'w-full',\n {\n 'aiui-dark': theme === 'dark',\n },\n className,\n classNames?.root\n )}\n {...props}\n >\n {/* \u6807\u9898\u533A\u57DF */}\n {data.title && (\n <Heading as=\"h2\" html={data.title} size={4} className={cn('text-info-primary mb-4', classNames?.title)} />\n )}\n {data.description && (\n <Text\n size={3}\n as=\"p\"\n html={data.description}\n className={cn('text-info-primary mb-6', classNames?.description)}\n />\n )}\n\n {/* \u4EA7\u54C1\u5C55\u793A\u533A\u57DF */}\n\n <Tabs defaultValue={data.productsTab?.[0]?.id} className=\"w-full\">\n {shouldShowTab && (\n <TabsList className=\"mb-6\">\n {data.productsTab?.map(tab => (\n <TabsTrigger key={'tab-' + tab.id} value={tab.id}>\n {tab.tab}\n </TabsTrigger>\n ))}\n </TabsList>\n )}\n {shouldShowTab ? (\n data.productsTab?.map(tab => (\n <TabsContent key={'tab-content-' + tab.id} value={tab.id}>\n <ProductsList\n products={tab.data}\n layoutMode={layoutMode}\n copy={finalCopy}\n showTags={showTags}\n stockDisplayMode={stockDisplayMode}\n stockThreshold={stockThreshold}\n onLearnMore={onLearnMore}\n onShopNow={onShopNow}\n onAddToCart={onAddToCart}\n classNames={classNames}\n secondaryButtonText={secondaryButtonText}\n secondaryButtonFun={secondaryButtonFun}\n primaryButtonText={primaryButtonText}\n primaryButtonFun={primaryButtonFun}\n showOriginalPrice={showOriginalPrice}\n />\n </TabsContent>\n ))\n ) : (\n <ProductsList\n products={data.productsCard}\n layoutMode={layoutMode}\n copy={finalCopy}\n showTags={showTags}\n stockDisplayMode={stockDisplayMode}\n stockThreshold={stockThreshold}\n onLearnMore={onLearnMore}\n onShopNow={onShopNow}\n onAddToCart={onAddToCart}\n classNames={classNames}\n secondaryButtonText={secondaryButtonText}\n secondaryButtonFun={secondaryButtonFun}\n primaryButtonText={primaryButtonText}\n primaryButtonFun={primaryButtonFun}\n showOriginalPrice={showOriginalPrice}\n />\n )}\n </Tabs>\n </div>\n )\n }\n)\n\nActiveShelf.displayName = 'ActiveShelf'\n\n// \u521B\u5EFA\u590D\u5408\u7EC4\u4EF6\nconst ActiveShelfWithProductCard = ActiveShelf as ActiveShelfComponent\nActiveShelfWithProductCard.ProductCard = ProductCard\n\nexport default ActiveShelfWithProductCard\nexport type { StockDisplayMode, ActiveShelfSemanticName, ProductCardData }\n"],
5
+ "mappings": "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",
6
+ "names": ["ActiveShelf_exports", "__export", "ActiveShelf_default", "__toCommonJS", "import_jsx_runtime", "React", "import_helpers", "import_components", "import_react", "import_modules", "import_css", "import_navigation", "import_ProductCard", "PrevIcon", "disabled", "NextIcon", "ProductsList", "products", "layoutMode", "className", "copy", "showTags", "stockDisplayMode", "stockThreshold", "onLearnMore", "onShopNow", "onAddToCart", "classNames", "secondaryButtonText", "secondaryButtonFun", "primaryButtonText", "primaryButtonFun", "showOriginalPrice", "ref", "swiperState", "setSwiperState", "product", "index", "swiper", "prev", "ActiveShelf", "data", "props", "theme", "isShowTab", "finalCopy", "hasTabData", "shouldShowTab", "tab", "ActiveShelfWithProductCard"]
7
+ }
@@ -0,0 +1,22 @@
1
+ /**
2
+ * 按钮功能类型
3
+ */
4
+ export type ButtonFunctionType = 'buyNow' | 'addCart' | 'learnMore';
5
+ /**
6
+ * ActiveShelf 文案配置接口
7
+ * 注意:secondaryButtonText 和 shopNowText 作为高频属性保持在 data 的直接属性中
8
+ */
9
+ export interface CopyConfig {
10
+ /** Plus会员价格标签文本 */
11
+ plusMemberPriceLabel?: string;
12
+ /** 会员价格标签文本 */
13
+ memberPriceLabel?: string;
14
+ /** 库存显示文案模板,支持 {count} 占位符 */
15
+ stockDisplayText?: string;
16
+ /** 上一页滑动按钮的无障碍标签(ActiveShelf 专用) */
17
+ previousSlideLabel?: string;
18
+ /** 下一页滑动按钮的无障碍标签(ActiveShelf 专用) */
19
+ nextSlideLabel?: string;
20
+ discountLabel?: string;
21
+ outOfStockLabel?: string;
22
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var n=Object.defineProperty;var s=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var b=(t,e,o,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of a(e))!l.call(t,r)&&r!==o&&n(t,r,{get:()=>e[r],enumerable:!(i=s(e,r))||i.enumerable});return t};var g=t=>b(n({},"__esModule",{value:!0}),t);var p={};module.exports=g(p);
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/biz-components/ActiveShelf/types.ts"],
4
+ "sourcesContent": ["/**\n * \u6309\u94AE\u529F\u80FD\u7C7B\u578B\n */\nexport type ButtonFunctionType = 'buyNow' | 'addCart' | 'learnMore'\n\n/**\n * ActiveShelf \u6587\u6848\u914D\u7F6E\u63A5\u53E3\n * \u6CE8\u610F\uFF1AsecondaryButtonText \u548C shopNowText \u4F5C\u4E3A\u9AD8\u9891\u5C5E\u6027\u4FDD\u6301\u5728 data \u7684\u76F4\u63A5\u5C5E\u6027\u4E2D\n */\nexport interface CopyConfig {\n /** Plus\u4F1A\u5458\u4EF7\u683C\u6807\u7B7E\u6587\u672C */\n plusMemberPriceLabel?: string\n /** \u4F1A\u5458\u4EF7\u683C\u6807\u7B7E\u6587\u672C */\n memberPriceLabel?: string\n\n /** \u5E93\u5B58\u663E\u793A\u6587\u6848\u6A21\u677F\uFF0C\u652F\u6301 {count} \u5360\u4F4D\u7B26 */\n stockDisplayText?: string\n\n /** \u4E0A\u4E00\u9875\u6ED1\u52A8\u6309\u94AE\u7684\u65E0\u969C\u788D\u6807\u7B7E\uFF08ActiveShelf \u4E13\u7528\uFF09 */\n previousSlideLabel?: string\n /** \u4E0B\u4E00\u9875\u6ED1\u52A8\u6309\u94AE\u7684\u65E0\u969C\u788D\u6807\u7B7E\uFF08ActiveShelf \u4E13\u7528\uFF09 */\n nextSlideLabel?: string\n\n discountLabel?: string\n outOfStockLabel?: string\n}\n"],
5
+ "mappings": "+WAAA,IAAAA,EAAA,kBAAAC,EAAAD",
6
+ "names": ["types_exports", "__toCommonJS"]
7
+ }
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import type { ActivityMechanismProps } from './types.js';
3
+ declare const _default: React.ForwardRefExoticComponent<Omit<ActivityMechanismProps & React.RefAttributes<HTMLDivElement> & {
4
+ style?: string | React.CSSProperties;
5
+ container?: import("../../shared/Styles.js").ContainerProps["container"];
6
+ }, "ref"> & React.RefAttributes<any>>;
7
+ export default _default;
@@ -0,0 +1,2 @@
1
+ "use strict";"use client";var R=Object.create;var h=Object.defineProperty;var T=Object.getOwnPropertyDescriptor;var V=Object.getOwnPropertyNames;var D=Object.getPrototypeOf,N=Object.prototype.hasOwnProperty;var C=(t,e)=>{for(var i in e)h(t,i,{get:e[i],enumerable:!0})},y=(t,e,i,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of V(e))!N.call(t,o)&&o!==i&&h(t,o,{get:()=>e[o],enumerable:!(s=T(e,o))||s.enumerable});return t};var w=(t,e,i)=>(i=t!=null?R(D(t)):{},y(e||!t||!t.__esModule?h(i,"default",{value:t,enumerable:!0}):i,t)),H=t=>y(h({},"__esModule",{value:!0}),t);var j={};C(j,{default:()=>L});module.exports=H(j);var l=require("react/jsx-runtime"),p=w(require("react")),a=require("../../components/index.js"),$=require("../../shared/Styles.js"),r=require("../../helpers/utils.js"),A=require("../../hooks/useExposure.js"),M=require("../../shared/trackUrlRef.js"),f=require("class-variance-authority");const g="image",x="activity_mechanism",P=(0,f.cva)("",{variants:{theme:{light:"text-[#080A0F]",dark:"text-white"}},defaultVariants:{theme:"light"}}),B=(0,f.cva)("desktop:text-[16px] mt-1 text-[14px] font-bold leading-[1.4] tracking-[-0.02em]",{variants:{theme:{light:"text-[#080A0F]",dark:"text-white/80"}},defaultVariants:{theme:"light"}}),E=(0,f.cva)("mt-2 p-0 text-[14px]",{variants:{theme:{light:"text-[#080A0F]",dark:"text-white"}},defaultVariants:{theme:"light"}}),u={default:767,tablet:1024,laptop:1439,desktop:1919,lgDesktop:9999},S=t=>{if(!t)return"";const e=[];return t.lgDesktop?.url&&e.push(`${t.lgDesktop.url}`),t.desktop?.url&&e.push(`${t.desktop.url} ${u.desktop}`),t.laptop?.url&&e.push(`${t.laptop.url} ${u.laptop}`),t.tablet?.url&&e.push(`${t.tablet.url} ${u.tablet}`),t.default?.url&&e.push(`${t.default.url} ${u.default}`),e.join(", ")},z=t=>t&&(t.default?.alt||t.tablet?.alt||t.laptop?.alt||t.desktop?.alt||t.lgDesktop?.alt)||"",F=({item:t,theme:e,classNames:i})=>{const{title:s,description:o,linkText:n,linkHref:c,backgroundImage:m}=t,d=S(m),v=z(m);return(0,l.jsxs)("div",{className:(0,r.cn)("rounded-card relative flex flex-col overflow-hidden","desktop:px-6 h-[280px] p-4","laptop:gap-4 gap-3","laptop:h-[320px] lg-desktop:[400px]",i?.card),"data-headless-type-name":`${g}#${x}`,children:[d&&(0,l.jsx)(a.Picture,{source:d,alt:v||s,className:(0,r.cn)("absolute inset-0 size-full",i?.background),imgClassName:"size-full object-cover"}),(0,l.jsxs)("div",{className:"relative z-10",children:[(0,l.jsx)(a.Heading,{as:"h3",size:3,className:(0,r.cn)(P({theme:e}),i?.title),children:s}),(0,l.jsx)(a.Text,{as:"p",className:(0,r.cn)(B({theme:e}),i?.description),children:o}),n&&c&&(0,l.jsx)(a.Button,{variant:"link",as:"a",href:(0,M.trackUrlRef)(c,`${g}_${x}`),className:(0,r.cn)(E({theme:e}),i?.link),"data-headless-title-desc-button":`${s}#${o}#${n}`,children:n})]})]})},k=p.default.forwardRef(({data:t,classNames:e},i)=>{const{items:s=[],theme:o="light"}=t,n=(0,p.useRef)(null);if((0,p.useImperativeHandle)(i,()=>n.current),(0,A.useExposure)(n,{componentType:g,componentName:x,componentTitle:s[0]?.title||"",componentDescription:s[0]?.description||""}),!s||s.length===0)return null;const c={1:"laptop:grid-cols-1 desktop:grid-cols-1 lg-desktop:grid-cols-1",2:"laptop:grid-cols-2 desktop:grid-cols-2 lg-desktop:grid-cols-2",3:"tablet:grid-cols-2 laptop:grid-cols-3 desktop:grid-cols-3 lg-desktop:grid-cols-3",4:"laptop:grid-cols-4 desktop:grid-cols-4 lg-desktop:grid-cols-4"},m=c[Math.min(s.length,4)]||c[4];return(0,l.jsx)(a.Container,{"data-ui-component-id":"ActivityMechanism",className:(0,r.cn)("activity-mechanism","w-full",e?.root),ref:n,children:(0,l.jsx)("div",{className:(0,r.cn)("tablet:grid-cols-2 laptop:gap-4 grid grid-cols-1 gap-3",m,e?.grid),children:s.map((d,v)=>(0,l.jsx)(F,{item:d,theme:o,classNames:{...e,...s?.length===3&&{card:e?.card+" first:tablet:col-span-full first:laptop:col-span-1"}}},`${d.title}-${v}`))})})});k.displayName="ActivityMechanism";var L=(0,$.withLayout)(k);
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/biz-components/ActivityMechanism/index.tsx"],
4
+ "sourcesContent": ["'use client'\nimport React, { useImperativeHandle, useRef } from 'react'\nimport { Heading, Picture, Text, Container, Button } from '../../components/index.js'\nimport { withLayout } from '../../shared/Styles.js'\nimport type {\n ActivityMechanismProps,\n ActivityMechanismItem,\n ActivityMechanismSemanticName,\n ResponsiveBackgroundImage,\n} from './types.js'\nimport { cn } from '../../helpers/utils.js'\nimport { useExposure } from '../../hooks/useExposure.js'\nimport { trackUrlRef } from '../../shared/trackUrlRef.js'\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nconst componentType = 'image'\nconst componentName = 'activity_mechanism'\n\n/**\n * \u6807\u9898\u6837\u5F0F\u53D8\u4F53\n */\nconst titleVariants = cva('', {\n variants: {\n theme: {\n light: 'text-[#080A0F]',\n dark: 'text-white',\n },\n },\n defaultVariants: {\n theme: 'light',\n },\n})\n\n/**\n * \u63CF\u8FF0\u6837\u5F0F\u53D8\u4F53\n */\nconst descriptionVariants = cva('desktop:text-[16px] mt-1 text-[14px] font-bold leading-[1.4] tracking-[-0.02em]', {\n variants: {\n theme: {\n light: 'text-[#080A0F]',\n dark: 'text-white/80',\n },\n },\n defaultVariants: {\n theme: 'light',\n },\n})\n\n/**\n * \u94FE\u63A5\u6837\u5F0F\u53D8\u4F53\n */\nconst linkVariants = cva('mt-2 p-0 text-[14px]', {\n variants: {\n theme: {\n light: 'text-[#080A0F]',\n dark: 'text-white',\n },\n },\n defaultVariants: {\n theme: 'light',\n },\n})\n\ntype ThemeVariants = VariantProps<typeof titleVariants>\n\n/**\n * \u65AD\u70B9\u914D\u7F6E\uFF08\u4E0E Tailwind \u65AD\u70B9\u5BF9\u5E94\uFF09\n * Picture \u7EC4\u4EF6\u4F7F\u7528 max-width \u5A92\u4F53\u67E5\u8BE2\uFF0C\u6240\u4EE5\u9700\u8981\u6309\u4ECE\u5C0F\u5230\u5927\u7684\u987A\u5E8F\u6392\u5217\n */\nconst BREAKPOINTS = {\n default: 767, // <768px (\u79FB\u52A8\u7AEF)\n tablet: 1024, // 768px - 1024px\n laptop: 1439, // 1025px - 1439px\n desktop: 1919, // 1440px - 1919px\n lgDesktop: 9999, // \u22651920px (\u6700\u5927\u503C\uFF0C\u4F5C\u4E3A\u9ED8\u8BA4\u56FE\u7247)\n} as const\n\n/**\n * \u5C06\u54CD\u5E94\u5F0F\u80CC\u666F\u56FE\u7247\u5BF9\u8C61\u8F6C\u6362\u4E3A Picture \u7EC4\u4EF6\u7684 source \u5B57\u7B26\u4E32\n * \u683C\u5F0F: \"url1 767, url2 1024, url3 1439, url4 1919, url5\"\n */\nconst buildResponsiveSource = (backgroundImage?: ResponsiveBackgroundImage): string => {\n if (!backgroundImage) return ''\n\n const sources: string[] = []\n\n // \u6309\u65AD\u70B9\u987A\u5E8F\u6DFB\u52A0\u56FE\u7247 URL\n // lgDesktop \u4F5C\u4E3A\u9ED8\u8BA4\u56FE\u7247\uFF0C\u4E0D\u9700\u8981\u65AD\u70B9\u503C\n if (backgroundImage.lgDesktop?.url) {\n sources.push(`${backgroundImage.lgDesktop.url}`)\n }\n if (backgroundImage.desktop?.url) {\n sources.push(`${backgroundImage.desktop.url} ${BREAKPOINTS.desktop}`)\n }\n if (backgroundImage.laptop?.url) {\n sources.push(`${backgroundImage.laptop.url} ${BREAKPOINTS.laptop}`)\n }\n if (backgroundImage.tablet?.url) {\n sources.push(`${backgroundImage.tablet.url} ${BREAKPOINTS.tablet}`)\n }\n if (backgroundImage.default?.url) {\n sources.push(`${backgroundImage.default.url} ${BREAKPOINTS.default}`)\n }\n\n return sources.join(', ')\n}\n\n/**\n * \u83B7\u53D6\u54CD\u5E94\u5F0F\u80CC\u666F\u56FE\u7247\u7684\u9ED8\u8BA4 alt \u6587\u672C\n */\nconst getDefaultAlt = (backgroundImage?: ResponsiveBackgroundImage): string => {\n if (!backgroundImage) return ''\n return (\n backgroundImage.default?.alt ||\n backgroundImage.tablet?.alt ||\n backgroundImage.laptop?.alt ||\n backgroundImage.desktop?.alt ||\n backgroundImage.lgDesktop?.alt ||\n ''\n )\n}\n\n/**\n * \u5355\u4E2A\u6D3B\u52A8\u673A\u5236\u5361\u7247\u7EC4\u4EF6\n */\nconst ActivityMechanismCard: React.FC<{\n item: ActivityMechanismItem\n theme?: ThemeVariants['theme']\n classNames?: Partial<Record<ActivityMechanismSemanticName, string>>\n}> = ({ item, theme, classNames }) => {\n const { title, description, linkText, linkHref, backgroundImage } = item\n const responsiveSource = buildResponsiveSource(backgroundImage)\n const defaultAlt = getDefaultAlt(backgroundImage)\n\n return (\n <div\n className={cn(\n 'rounded-card relative flex flex-col overflow-hidden',\n 'desktop:px-6 h-[280px] p-4',\n 'laptop:gap-4 gap-3',\n 'laptop:h-[320px] lg-desktop:[400px]',\n classNames?.card\n )}\n data-headless-type-name={`${componentType}#${componentName}`}\n >\n {/* \u54CD\u5E94\u5F0F\u80CC\u666F\u56FE\u7247 */}\n {responsiveSource && (\n <Picture\n source={responsiveSource}\n alt={defaultAlt || title}\n className={cn('absolute inset-0 size-full', classNames?.background)}\n imgClassName=\"size-full object-cover\"\n />\n )}\n\n {/* \u6587\u672C\u5185\u5BB9\u533A\u57DF */}\n <div className=\"relative z-10\">\n <Heading as=\"h3\" size={3} className={cn(titleVariants({ theme }), classNames?.title)}>\n {title}\n </Heading>\n <Text as=\"p\" className={cn(descriptionVariants({ theme }), classNames?.description)}>\n {description}\n </Text>\n {linkText && linkHref && (\n <Button\n variant=\"link\"\n as=\"a\"\n href={trackUrlRef(linkHref, `${componentType}_${componentName}`)}\n className={cn(linkVariants({ theme }), classNames?.link)}\n data-headless-title-desc-button={`${title}#${description}#${linkText}`}\n >\n {linkText}\n </Button>\n )}\n </div>\n </div>\n )\n}\n\n/**\n * ActivityMechanism - \u6D3B\u52A8\u673A\u5236\u7EC4\u4EF6\n *\n * @description \u5C55\u793A\u6D3B\u52A8\u673A\u5236/\u4F1A\u5458\u6743\u76CA\u7B49\u5361\u7247\u5217\u8868\u7684\u7EC4\u4EF6\uFF0C\u652F\u6301\u54CD\u5E94\u5F0F\u5E03\u5C40\u548C\u4E3B\u9898\u5207\u6362\n */\nconst ActivityMechanism = React.forwardRef<HTMLDivElement, ActivityMechanismProps>(({ data, classNames }, ref) => {\n const { items = [], theme = 'light' } = data\n\n const innerRef = useRef<HTMLDivElement>(null)\n\n useImperativeHandle(ref, () => innerRef.current as HTMLDivElement)\n\n useExposure(innerRef, {\n componentType,\n componentName,\n componentTitle: items[0]?.title || '',\n componentDescription: items[0]?.description || '',\n })\n\n if (!items || items.length === 0) {\n return null\n }\n\n // \u6839\u636E items \u6570\u91CF\u6620\u5C04 laptop/desktop/lg-desktop \u7684\u5217\u6570\u7C7B\u540D\n // \u4F7F\u7528\u663E\u5F0F\u7C7B\u540D\u6620\u5C04\u4EE5\u786E\u4FDD Tailwind \u80FD\u6B63\u786E\u626B\u63CF\n const gridColsMap: Record<number, string> = {\n 1: 'laptop:grid-cols-1 desktop:grid-cols-1 lg-desktop:grid-cols-1',\n 2: 'laptop:grid-cols-2 desktop:grid-cols-2 lg-desktop:grid-cols-2',\n 3: 'tablet:grid-cols-2 laptop:grid-cols-3 desktop:grid-cols-3 lg-desktop:grid-cols-3',\n 4: 'laptop:grid-cols-4 desktop:grid-cols-4 lg-desktop:grid-cols-4',\n }\n const gridColsClass = gridColsMap[Math.min(items.length, 4)] || gridColsMap[4]\n\n return (\n <Container\n data-ui-component-id=\"ActivityMechanism\"\n className={cn('activity-mechanism', 'w-full', classNames?.root)}\n ref={innerRef}\n >\n <div className={cn('tablet:grid-cols-2 laptop:gap-4 grid grid-cols-1 gap-3', gridColsClass, classNames?.grid)}>\n {items.map((item, index) => (\n <ActivityMechanismCard\n key={`${item.title}-${index}`}\n item={item}\n theme={theme}\n classNames={{\n ...classNames,\n ...(items?.length === 3 && {\n card: classNames?.card + ' ' + 'first:tablet:col-span-full first:laptop:col-span-1',\n }),\n }}\n />\n ))}\n </div>\n </Container>\n )\n})\n\nActivityMechanism.displayName = 'ActivityMechanism'\n\nexport default withLayout(ActivityMechanism)\n"],
5
+ "mappings": "ukBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GAmJQ,IAAAI,EAAA,6BAlJRC,EAAmD,oBACnDC,EAA0D,qCAC1DC,EAA2B,kCAO3BC,EAAmB,kCACnBC,EAA4B,sCAC5BC,EAA4B,uCAC5BC,EAAuC,oCAEvC,MAAMC,EAAgB,QAChBC,EAAgB,qBAKhBC,KAAgB,OAAI,GAAI,CAC5B,SAAU,CACR,MAAO,CACL,MAAO,iBACP,KAAM,YACR,CACF,EACA,gBAAiB,CACf,MAAO,OACT,CACF,CAAC,EAKKC,KAAsB,OAAI,kFAAmF,CACjH,SAAU,CACR,MAAO,CACL,MAAO,iBACP,KAAM,eACR,CACF,EACA,gBAAiB,CACf,MAAO,OACT,CACF,CAAC,EAKKC,KAAe,OAAI,wBAAyB,CAChD,SAAU,CACR,MAAO,CACL,MAAO,iBACP,KAAM,YACR,CACF,EACA,gBAAiB,CACf,MAAO,OACT,CACF,CAAC,EAQKC,EAAc,CAClB,QAAS,IACT,OAAQ,KACR,OAAQ,KACR,QAAS,KACT,UAAW,IACb,EAMMC,EAAyBC,GAAwD,CACrF,GAAI,CAACA,EAAiB,MAAO,GAE7B,MAAMC,EAAoB,CAAC,EAI3B,OAAID,EAAgB,WAAW,KAC7BC,EAAQ,KAAK,GAAGD,EAAgB,UAAU,GAAG,EAAE,EAE7CA,EAAgB,SAAS,KAC3BC,EAAQ,KAAK,GAAGD,EAAgB,QAAQ,GAAG,IAAIF,EAAY,OAAO,EAAE,EAElEE,EAAgB,QAAQ,KAC1BC,EAAQ,KAAK,GAAGD,EAAgB,OAAO,GAAG,IAAIF,EAAY,MAAM,EAAE,EAEhEE,EAAgB,QAAQ,KAC1BC,EAAQ,KAAK,GAAGD,EAAgB,OAAO,GAAG,IAAIF,EAAY,MAAM,EAAE,EAEhEE,EAAgB,SAAS,KAC3BC,EAAQ,KAAK,GAAGD,EAAgB,QAAQ,GAAG,IAAIF,EAAY,OAAO,EAAE,EAG/DG,EAAQ,KAAK,IAAI,CAC1B,EAKMC,EAAiBF,GAChBA,IAEHA,EAAgB,SAAS,KACzBA,EAAgB,QAAQ,KACxBA,EAAgB,QAAQ,KACxBA,EAAgB,SAAS,KACzBA,EAAgB,WAAW,MAC3B,GAOEG,EAID,CAAC,CAAE,KAAAC,EAAM,MAAAC,EAAO,WAAAC,CAAW,IAAM,CACpC,KAAM,CAAE,MAAAC,EAAO,YAAAC,EAAa,SAAAC,EAAU,SAAAC,EAAU,gBAAAV,CAAgB,EAAII,EAC9DO,EAAmBZ,EAAsBC,CAAe,EACxDY,EAAaV,EAAcF,CAAe,EAEhD,SACE,QAAC,OACC,aAAW,MACT,sDACA,6BACA,qBACA,sCACAM,GAAY,IACd,EACA,0BAAyB,GAAGb,CAAa,IAAIC,CAAa,GAGzD,UAAAiB,MACC,OAAC,WACC,OAAQA,EACR,IAAKC,GAAcL,EACnB,aAAW,MAAG,6BAA8BD,GAAY,UAAU,EAClE,aAAa,yBACf,KAIF,QAAC,OAAI,UAAU,gBACb,oBAAC,WAAQ,GAAG,KAAK,KAAM,EAAG,aAAW,MAAGX,EAAc,CAAE,MAAAU,CAAM,CAAC,EAAGC,GAAY,KAAK,EAChF,SAAAC,EACH,KACA,OAAC,QAAK,GAAG,IAAI,aAAW,MAAGX,EAAoB,CAAE,MAAAS,CAAM,CAAC,EAAGC,GAAY,WAAW,EAC/E,SAAAE,EACH,EACCC,GAAYC,MACX,OAAC,UACC,QAAQ,OACR,GAAG,IACH,QAAM,eAAYA,EAAU,GAAGjB,CAAa,IAAIC,CAAa,EAAE,EAC/D,aAAW,MAAGG,EAAa,CAAE,MAAAQ,CAAM,CAAC,EAAGC,GAAY,IAAI,EACvD,kCAAiC,GAAGC,CAAK,IAAIC,CAAW,IAAIC,CAAQ,GAEnE,SAAAA,EACH,GAEJ,GACF,CAEJ,EAOMI,EAAoB,EAAAC,QAAM,WAAmD,CAAC,CAAE,KAAAC,EAAM,WAAAT,CAAW,EAAGU,IAAQ,CAChH,KAAM,CAAE,MAAAC,EAAQ,CAAC,EAAG,MAAAZ,EAAQ,OAAQ,EAAIU,EAElCG,KAAW,UAAuB,IAAI,EAW5C,MATA,uBAAoBF,EAAK,IAAME,EAAS,OAAyB,KAEjE,eAAYA,EAAU,CACpB,cAAAzB,EACA,cAAAC,EACA,eAAgBuB,EAAM,CAAC,GAAG,OAAS,GACnC,qBAAsBA,EAAM,CAAC,GAAG,aAAe,EACjD,CAAC,EAEG,CAACA,GAASA,EAAM,SAAW,EAC7B,OAAO,KAKT,MAAME,EAAsC,CAC1C,EAAG,gEACH,EAAG,gEACH,EAAG,mFACH,EAAG,+DACL,EACMC,EAAgBD,EAAY,KAAK,IAAIF,EAAM,OAAQ,CAAC,CAAC,GAAKE,EAAY,CAAC,EAE7E,SACE,OAAC,aACC,uBAAqB,oBACrB,aAAW,MAAG,qBAAsB,SAAUb,GAAY,IAAI,EAC9D,IAAKY,EAEL,mBAAC,OAAI,aAAW,MAAG,yDAA0DE,EAAed,GAAY,IAAI,EACzG,SAAAW,EAAM,IAAI,CAACb,EAAMiB,OAChB,OAAClB,EAAA,CAEC,KAAMC,EACN,MAAOC,EACP,WAAY,CACV,GAAGC,EACH,GAAIW,GAAO,SAAW,GAAK,CACzB,KAAMX,GAAY,KAAO,qDAC3B,CACF,GARK,GAAGF,EAAK,KAAK,IAAIiB,CAAK,EAS7B,CACD,EACH,EACF,CAEJ,CAAC,EAEDR,EAAkB,YAAc,oBAEhC,IAAO9B,KAAQ,cAAW8B,CAAiB",
6
+ "names": ["ActivityMechanism_exports", "__export", "ActivityMechanism_default", "__toCommonJS", "import_jsx_runtime", "import_react", "import_components", "import_Styles", "import_utils", "import_useExposure", "import_trackUrlRef", "import_class_variance_authority", "componentType", "componentName", "titleVariants", "descriptionVariants", "linkVariants", "BREAKPOINTS", "buildResponsiveSource", "backgroundImage", "sources", "getDefaultAlt", "ActivityMechanismCard", "item", "theme", "classNames", "title", "description", "linkText", "linkHref", "responsiveSource", "defaultAlt", "ActivityMechanism", "React", "data", "ref", "items", "innerRef", "gridColsMap", "gridColsClass", "index"]
7
+ }
@@ -0,0 +1,43 @@
1
+ import type { ComponentCommonProps, Media, Theme } from '../../types/props.js';
2
+ /**
3
+ * 响应式背景图片类型
4
+ * 支持 5 个断点的图片配置
5
+ */
6
+ export interface ResponsiveBackgroundImage {
7
+ /** 默认图片 (<768px 移动端) */
8
+ default?: Media;
9
+ /** tablet 断点图片 (≥768px) */
10
+ tablet?: Media;
11
+ /** laptop 断点图片 (≥1025px) */
12
+ laptop?: Media;
13
+ /** desktop 断点图片 (≥1440px) */
14
+ desktop?: Media;
15
+ /** lg-desktop 断点图片 (≥1920px) */
16
+ lgDesktop?: Media;
17
+ }
18
+ export interface ActivityMechanismItem {
19
+ /** 标题 */
20
+ title: string;
21
+ /** 描述文本 */
22
+ description: string;
23
+ /** 链接文本 */
24
+ linkText?: string;
25
+ /** 链接地址 */
26
+ linkHref?: string;
27
+ /** 响应式背景图片(支持 5 个断点) */
28
+ backgroundImage?: ResponsiveBackgroundImage;
29
+ }
30
+ /**
31
+ * 语义化类名
32
+ */
33
+ export type ActivityMechanismSemanticName = 'root' | 'grid' | 'card' | 'background' | 'title' | 'description' | 'link';
34
+ export interface ActivityMechanismProps extends ComponentCommonProps {
35
+ data: {
36
+ /** 活动机制列表 */
37
+ items: ActivityMechanismItem[];
38
+ /** 主题 */
39
+ theme?: Theme;
40
+ };
41
+ /** 语义化类名 */
42
+ classNames?: Partial<Record<ActivityMechanismSemanticName, string>>;
43
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var n=Object.defineProperty;var r=Object.getOwnPropertyDescriptor;var s=Object.getOwnPropertyNames;var m=Object.prototype.hasOwnProperty;var c=(t,e,o,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of s(e))!m.call(t,i)&&i!==o&&n(t,i,{get:()=>e[i],enumerable:!(a=r(e,i))||a.enumerable});return t};var p=t=>c(n({},"__esModule",{value:!0}),t);var d={};module.exports=p(d);
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/biz-components/ActivityMechanism/types.ts"],
4
+ "sourcesContent": ["import type { ComponentCommonProps, Media, Theme } from '../../types/props.js'\n\n/**\n * \u54CD\u5E94\u5F0F\u80CC\u666F\u56FE\u7247\u7C7B\u578B\n * \u652F\u6301 5 \u4E2A\u65AD\u70B9\u7684\u56FE\u7247\u914D\u7F6E\n */\nexport interface ResponsiveBackgroundImage {\n /** \u9ED8\u8BA4\u56FE\u7247 (<768px \u79FB\u52A8\u7AEF) */\n default?: Media\n /** tablet \u65AD\u70B9\u56FE\u7247 (\u2265768px) */\n tablet?: Media\n /** laptop \u65AD\u70B9\u56FE\u7247 (\u22651025px) */\n laptop?: Media\n /** desktop \u65AD\u70B9\u56FE\u7247 (\u22651440px) */\n desktop?: Media\n /** lg-desktop \u65AD\u70B9\u56FE\u7247 (\u22651920px) */\n lgDesktop?: Media\n}\n\nexport interface ActivityMechanismItem {\n /** \u6807\u9898 */\n title: string\n /** \u63CF\u8FF0\u6587\u672C */\n description: string\n /** \u94FE\u63A5\u6587\u672C */\n linkText?: string\n /** \u94FE\u63A5\u5730\u5740 */\n linkHref?: string\n /** \u54CD\u5E94\u5F0F\u80CC\u666F\u56FE\u7247\uFF08\u652F\u6301 5 \u4E2A\u65AD\u70B9\uFF09 */\n backgroundImage?: ResponsiveBackgroundImage\n}\n\n/**\n * \u8BED\u4E49\u5316\u7C7B\u540D\n */\nexport type ActivityMechanismSemanticName = 'root' | 'grid' | 'card' | 'background' | 'title' | 'description' | 'link'\n\nexport interface ActivityMechanismProps extends ComponentCommonProps {\n data: {\n /** \u6D3B\u52A8\u673A\u5236\u5217\u8868 */\n items: ActivityMechanismItem[]\n /** \u4E3B\u9898 */\n theme?: Theme\n }\n /** \u8BED\u4E49\u5316\u7C7B\u540D */\n classNames?: Partial<Record<ActivityMechanismSemanticName, string>>\n}\n"],
5
+ "mappings": "+WAAA,IAAAA,EAAA,kBAAAC,EAAAD",
6
+ "names": ["types_exports", "__toCommonJS"]
7
+ }
@@ -0,0 +1,8 @@
1
+ import * as React from 'react';
2
+ import type { ActivityScheduleProps } from './types.js';
3
+ declare const _default: React.ForwardRefExoticComponent<Omit<ActivityScheduleProps & React.RefAttributes<HTMLDivElement> & {
4
+ style?: string | React.CSSProperties;
5
+ container?: import("../../shared/Styles.js").ContainerProps["container"];
6
+ }, "ref"> & React.RefAttributes<any>>;
7
+ export default _default;
8
+ export type { ActivityScheduleProps, ActivityScheduleData, ActivityScheduleItem } from './types.js';
@@ -0,0 +1,2 @@
1
+ "use strict";"use client";var C=Object.create;var p=Object.defineProperty;var P=Object.getOwnPropertyDescriptor;var V=Object.getOwnPropertyNames;var I=Object.getPrototypeOf,z=Object.prototype.hasOwnProperty;var B=(e,t)=>{for(var a in t)p(e,a,{get:t[a],enumerable:!0})},g=(e,t,a,c)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of V(t))!z.call(e,s)&&s!==a&&p(e,s,{get:()=>t[s],enumerable:!(c=P(t,s))||c.enumerable});return e};var E=(e,t,a)=>(a=e!=null?C(I(e)):{},g(t||!e||!e.__esModule?p(a,"default",{value:e,enumerable:!0}):a,e)),L=e=>g(p({},"__esModule",{value:!0}),e);var R={};B(R,{default:()=>M});module.exports=L(R);var i=require("react/jsx-runtime"),v=E(require("react")),d=require("../../helpers/index.js"),l=require("../../components/index.js"),f=require("class-variance-authority"),h=require("swiper/react"),y=require("../../shared/Styles.js");const j=(0,f.cva)("rounded-card laptop:px-6 laptop:py-4 relative flex min-w-0 flex-col justify-between gap-2 overflow-hidden px-4 py-3",{variants:{state:{"active-light":"bg-gradient-to-r from-[#3555aa] to-[#6988e3]","active-dark":"bg-gradient-to-r from-[#3555aa] to-[#6988e3]","inactive-light":"bg-[#EAEAEC]","inactive-dark":"bg-[#1E2024]"},size:{small:"laptop:h-[160px] h-[120px]",large:"laptop:h-[240px] h-[200px]"}},defaultVariants:{state:"inactive-light",size:"small"}}),u=(0,f.cva)("font-bold leading-[1.2]",{variants:{state:{"active-light":"text-white","active-dark":"text-white","inactive-light":"text-[#080A0F]","inactive-dark":"text-white"}},defaultVariants:{state:"inactive-light"}}),w=v.memo(({item:e,theme:t="light",className:a,size:c})=>{const s=e.isActive||!1,o=`${s?"active":"inactive"}-${t}`;return(0,i.jsxs)("div",{className:(0,d.cn)(j({state:o,size:c}),a),"data-ui-component-id":"ActivityScheduleCard",children:[(s?e.activeIcon:e.inactiveIcon)&&(0,i.jsx)("div",{className:"laptop:w-[160px] aspect-1 absolute right-0 top-0 z-10 w-[120px]",children:(0,i.jsx)(l.Picture,{source:s?e.activeIcon.url:e.inactiveIcon.url,alt:s?e.activeIcon.alt:e.inactiveIcon.alt,className:"aspect-square"})}),(0,i.jsxs)("div",{className:"relative z-20 flex h-full flex-col justify-between",children:[(0,i.jsx)(l.Heading,{as:"h3",size:3,html:e.title,className:(0,d.cn)(u({state:o}))}),(0,i.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,i.jsx)("div",{className:"flex flex-col justify-end overflow-hidden",children:(0,i.jsx)(l.Heading,{as:"h4",size:2,html:e.subtitle,className:(0,d.cn)(" line-clamp-2",u({state:o}))})}),c==="large"&&e.description&&(0,i.jsx)(l.Text,{html:e.description,className:(0,d.cn)("lg-desktop:text-[18px] desktop:text-[16px] line-clamp-3 text-[14px] leading-[1.4]",u({state:o}))})]})]})]})});w.displayName="ActivityScheduleCard";const x=v.forwardRef(({classNames:e={},data:t,...a},c)=>{const s=t.theme||"light",o=t.size||"large",r=v.useMemo(()=>t?.scheduleList?.length||2,[t?.scheduleList]),S=v.useMemo(()=>{const n=N=>{switch(N){case"mobile":return{slidesPerView:1.17,spaceBetween:12};case"tablet":return r===2?{slidesPerView:2,spaceBetween:12}:{slidesPerView:2.4,spaceBetween:12};case"laptop":return r===2?{}:r===4?{slidesPerView:3.2,spaceBetween:16}:{slidesPerView:r,spaceBetween:16};case"desktop":return r===2?{slidesPerView:2,spaceBetween:16}:{slidesPerView:r,spaceBetween:16}}},m=n("mobile"),b=n("tablet"),A=n("laptop"),k=n("desktop");return{0:m,768:b,1024:A,1440:k}},[r]);return(0,i.jsx)(l.Container,{ref:c,className:(0,d.cn)(e?.root),childClassName:"overflow-hidden","data-ui-component-id":"ActivitySchedule",...a,children:(0,i.jsx)(h.Swiper,{breakpoints:S,className:"w-full !overflow-visible",children:t.scheduleList.map((n,m)=>(0,i.jsx)(h.SwiperSlide,{children:(0,i.jsx)(w,{item:n,theme:s,size:o,className:e?.card})},"activityScheduleCardItem"+m))})})});x.displayName="ActivitySchedule";var M=(0,y.withLayout)(x);
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/biz-components/ActivitySchedule/index.tsx"],
4
+ "sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport { cn } from '../../helpers/index.js'\nimport { Text, Picture, Heading, Container } from '../../components/index.js'\nimport { cva } from 'class-variance-authority'\nimport type { ActivityScheduleProps, ActivityScheduleItem } from './types.js'\nimport { Swiper, SwiperSlide } from 'swiper/react'\nimport { withLayout } from '../../shared/Styles.js'\n\n/**\n * Card style variants for activity schedule\n */\nconst activityCardVariants = cva(\n 'rounded-card laptop:px-6 laptop:py-4 relative flex min-w-0 flex-col justify-between gap-2 overflow-hidden px-4 py-3',\n {\n variants: {\n state: {\n // Active state - gradient background\n 'active-light': 'bg-gradient-to-r from-[#3555aa] to-[#6988e3]',\n 'active-dark': 'bg-gradient-to-r from-[#3555aa] to-[#6988e3]',\n // Inactive state - solid background\n 'inactive-light': 'bg-[#EAEAEC]',\n 'inactive-dark': 'bg-[#1E2024]',\n },\n size: {\n // Small size - 120px height with responsive scaling\n small: 'laptop:h-[160px] h-[120px]',\n // Large size - 200px height with responsive scaling\n large: 'laptop:h-[240px] h-[200px]',\n },\n },\n defaultVariants: {\n state: 'inactive-light',\n size: 'small',\n },\n }\n)\n\n/**\n * Text style variants for card\n */\nconst cardTextVariants = cva('font-bold leading-[1.2]', {\n variants: {\n state: {\n // Active state - white text\n 'active-light': 'text-white',\n 'active-dark': 'text-white',\n // Inactive state - dark text\n 'inactive-light': 'text-[#080A0F]',\n 'inactive-dark': 'text-white',\n },\n },\n defaultVariants: {\n state: 'inactive-light',\n },\n})\n\n/**\n * Activity Schedule Card Component\n */\nconst ActivityScheduleCard = React.memo(\n ({\n item,\n theme = 'light',\n className,\n size,\n }: {\n item: ActivityScheduleItem\n theme?: 'light' | 'dark'\n className?: string\n size: 'small' | 'large'\n }) => {\n const isActive = item.isActive || false\n\n // Calculate combined state\n const cardState = `${isActive ? 'active' : 'inactive'}-${theme}` as\n | 'active-light'\n | 'active-dark'\n | 'inactive-light'\n | 'inactive-dark'\n\n return (\n <div\n className={cn(activityCardVariants({ state: cardState, size }), className)}\n data-ui-component-id=\"ActivityScheduleCard\"\n >\n {/* Background decoration icon - show activeIcon when active, inactiveIcon when inactive */}\n {(isActive ? item.activeIcon : item.inactiveIcon) && (\n <div className=\"laptop:w-[160px] aspect-1 absolute right-0 top-0 z-10 w-[120px]\">\n <Picture\n source={isActive ? item.activeIcon!.url : item.inactiveIcon!.url}\n alt={isActive ? item.activeIcon!.alt : item.inactiveIcon!.alt}\n className=\"aspect-square\"\n />\n </div>\n )}\n\n {/* Content area */}\n <div className=\"relative z-20 flex h-full flex-col justify-between\">\n {/* Title */}\n <Heading as=\"h3\" size={3} html={item.title} className={cn(cardTextVariants({ state: cardState }))} />\n\n <div className=\"flex flex-col gap-1\">\n {/* Subtitle */}\n <div className=\"flex flex-col justify-end overflow-hidden\">\n <Heading\n as=\"h4\"\n size={2}\n html={item.subtitle}\n className={cn(' line-clamp-2', cardTextVariants({ state: cardState }))}\n />\n </div>\n {/* Detailed description - only show when size is large */}\n {size === 'large' && item.description && (\n <Text\n html={item.description}\n className={cn(\n 'lg-desktop:text-[18px] desktop:text-[16px] line-clamp-3 text-[14px] leading-[1.4]',\n cardTextVariants({ state: cardState })\n )}\n />\n )}\n </div>\n </div>\n </div>\n )\n }\n)\n\nActivityScheduleCard.displayName = 'ActivityScheduleCard'\n\n/**\n * ActivitySchedule - Activity Schedule Component\n *\n * @description Display activity schedule card list with active/inactive states, theme switching, and responsive layout\n */\nconst ActivitySchedule = React.forwardRef<HTMLDivElement, ActivityScheduleProps>(\n ({ classNames = {}, data, ...rest }, ref) => {\n const theme = data.theme || 'light'\n const size = data.size || 'large'\n\n const itemsPerRow = React.useMemo(() => {\n return data?.scheduleList?.length || 2\n }, [data?.scheduleList])\n\n const swiperBreakpoints = React.useMemo(() => {\n const getBreakpointConfig = (breakpoint: 'mobile' | 'tablet' | 'laptop' | 'desktop') => {\n switch (breakpoint) {\n case 'mobile':\n return { slidesPerView: 1.17, spaceBetween: 12 }\n case 'tablet':\n if (itemsPerRow === 2) return { slidesPerView: 2, spaceBetween: 12 }\n return { slidesPerView: 2.4, spaceBetween: 12 }\n case 'laptop':\n if (itemsPerRow === 2) return {}\n if (itemsPerRow === 4) return { slidesPerView: 3.2, spaceBetween: 16 }\n return { slidesPerView: itemsPerRow, spaceBetween: 16 }\n case 'desktop':\n if (itemsPerRow === 2) return { slidesPerView: 2, spaceBetween: 16 }\n return { slidesPerView: itemsPerRow, spaceBetween: 16 }\n }\n }\n\n const mobileConfig = getBreakpointConfig('mobile')\n const tabletConfig = getBreakpointConfig('tablet')\n const laptopConfig = getBreakpointConfig('laptop')\n const desktopConfig = getBreakpointConfig('desktop')\n\n return {\n 0: mobileConfig,\n 768: tabletConfig,\n 1024: laptopConfig,\n 1440: desktopConfig,\n }\n }, [itemsPerRow])\n\n return (\n <Container\n ref={ref}\n className={cn(classNames?.root)}\n childClassName=\"overflow-hidden\"\n data-ui-component-id=\"ActivitySchedule\"\n {...rest}\n >\n <Swiper breakpoints={swiperBreakpoints} className=\"w-full !overflow-visible\">\n {data.scheduleList.map((item, index) => (\n <SwiperSlide key={'activityScheduleCardItem' + index}>\n <ActivityScheduleCard item={item} theme={theme} size={size} className={classNames?.card} />\n </SwiperSlide>\n ))}\n </Swiper>\n </Container>\n )\n }\n)\n\nActivitySchedule.displayName = 'ActivitySchedule'\n\nexport default withLayout(ActivitySchedule)\nexport type { ActivityScheduleProps, ActivityScheduleData, ActivityScheduleItem } from './types.js'\n"],
5
+ "mappings": "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",
6
+ "names": ["ActivitySchedule_exports", "__export", "ActivitySchedule_default", "__toCommonJS", "import_jsx_runtime", "React", "import_helpers", "import_components", "import_class_variance_authority", "import_react", "import_Styles", "activityCardVariants", "cardTextVariants", "ActivityScheduleCard", "item", "theme", "className", "size", "isActive", "cardState", "ActivitySchedule", "classNames", "data", "rest", "ref", "itemsPerRow", "swiperBreakpoints", "getBreakpointConfig", "breakpoint", "mobileConfig", "tabletConfig", "laptopConfig", "desktopConfig", "index"]
7
+ }