@anker-in/headless-ui 1.1.28-alpha.1768202456200 → 1.1.29

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 (900) hide show
  1. package/dist/cjs/biz-components/AccordionCards/index.d.ts +3 -3
  2. package/dist/cjs/biz-components/AiuiProvider/index.d.ts +0 -7
  3. package/dist/cjs/biz-components/AiuiProvider/index.js +1 -1
  4. package/dist/cjs/biz-components/AiuiProvider/index.js.map +2 -2
  5. package/dist/cjs/biz-components/AplusDesc/index.d.ts +3 -3
  6. package/dist/cjs/biz-components/BrandEquity/BrandEquity.d.ts +3 -3
  7. package/dist/cjs/biz-components/BrandEquity/BrandEquity.js +1 -1
  8. package/dist/cjs/biz-components/BrandEquity/BrandEquity.js.map +2 -2
  9. package/dist/cjs/biz-components/BrandEquity/types.d.ts +0 -1
  10. package/dist/cjs/biz-components/BrandEquity/types.js +1 -1
  11. package/dist/cjs/biz-components/BrandEquity/types.js.map +1 -1
  12. package/dist/cjs/biz-components/Category/index.d.ts +3 -3
  13. package/dist/cjs/biz-components/CreativeModule/index.d.ts +3 -3
  14. package/dist/cjs/biz-components/DownLoad/index.d.ts +3 -3
  15. package/dist/cjs/biz-components/Evaluate/index.d.ts +3 -3
  16. package/dist/cjs/biz-components/Evaluate/index.js +1 -1
  17. package/dist/cjs/biz-components/Evaluate/index.js.map +2 -2
  18. package/dist/cjs/biz-components/Faq/Faq.d.ts +3 -3
  19. package/dist/cjs/biz-components/FeatureCards/FeatureCards.d.ts +3 -3
  20. package/dist/cjs/biz-components/FeatureShowcase/FeatureShowcase.d.ts +3 -3
  21. package/dist/cjs/biz-components/Features/index.d.ts +3 -3
  22. package/dist/cjs/biz-components/FootCharger/index.d.ts +3 -3
  23. package/dist/cjs/biz-components/FooterNavigation/index.d.ts +3 -3
  24. package/dist/cjs/biz-components/GiftBox/index.d.ts +3 -3
  25. package/dist/cjs/biz-components/Graphic/index.d.ts +3 -3
  26. package/dist/cjs/biz-components/GraphicAttractionBlock/index.d.ts +3 -3
  27. package/dist/cjs/biz-components/GraphicMore/index.d.ts +3 -3
  28. package/dist/cjs/biz-components/GraphicOverlay/GraphicOverlay.d.ts +3 -3
  29. package/dist/cjs/biz-components/HeaderNavigation/index.d.ts +3 -3
  30. package/dist/cjs/biz-components/HeroBanner/Countdown.js +1 -1
  31. package/dist/cjs/biz-components/HeroBanner/Countdown.js.map +2 -2
  32. package/dist/cjs/biz-components/HeroBanner/HeroBanner.d.ts +3 -6
  33. package/dist/cjs/biz-components/HeroBanner/HeroBanner.js +1 -1
  34. package/dist/cjs/biz-components/HeroBanner/HeroBanner.js.map +3 -3
  35. package/dist/cjs/biz-components/HeroBanner/types.d.ts +0 -4
  36. package/dist/cjs/biz-components/HeroBanner/types.js +1 -1
  37. package/dist/cjs/biz-components/HeroBanner/types.js.map +1 -1
  38. package/dist/cjs/biz-components/ImageTextFeature/ImageTextFeature.d.ts +3 -3
  39. package/dist/cjs/biz-components/ImageTextFeature/ImageTextFeature.js +1 -1
  40. package/dist/cjs/biz-components/ImageTextFeature/ImageTextFeature.js.map +3 -3
  41. package/dist/cjs/biz-components/ImageTextFeature/types.d.ts +0 -1
  42. package/dist/cjs/biz-components/ImageTextFeature/types.js +1 -1
  43. package/dist/cjs/biz-components/ImageTextFeature/types.js.map +1 -1
  44. package/dist/cjs/biz-components/ImageWithText/ImageWithText.d.ts +3 -3
  45. package/dist/cjs/biz-components/Ksp/index.d.ts +3 -3
  46. package/dist/cjs/biz-components/Listing/components/PaidShipping/index.d.ts +4 -4
  47. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.d.ts +3 -3
  48. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.d.ts +3 -3
  49. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.d.ts +3 -3
  50. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.d.ts +3 -3
  51. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.d.ts +3 -3
  52. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.d.ts +3 -3
  53. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/index.d.ts +3 -3
  54. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductSummary/index.d.ts +3 -3
  55. package/dist/cjs/biz-components/Listing/components/PurchaseBar/index.d.ts +3 -3
  56. package/dist/cjs/biz-components/Marquee/Marquee.d.ts +3 -3
  57. package/dist/cjs/biz-components/Marquee/Marquee.js +1 -1
  58. package/dist/cjs/biz-components/Marquee/Marquee.js.map +3 -3
  59. package/dist/cjs/biz-components/MarqueeReview/index.d.ts +3 -3
  60. package/dist/cjs/biz-components/MediaPlayerBase/index.d.ts +3 -3
  61. package/dist/cjs/biz-components/MediaPlayerMulti/index.d.ts +3 -3
  62. package/dist/cjs/biz-components/MediaPlayerSticky/index.d.ts +4 -4
  63. package/dist/cjs/biz-components/MediaPlayerSticky/types.d.ts +0 -1
  64. package/dist/cjs/biz-components/MediaPlayerSticky/types.js +1 -1
  65. package/dist/cjs/biz-components/MediaPlayerSticky/types.js.map +1 -1
  66. package/dist/cjs/biz-components/MediaSceneSwitcher/MediaSceneSwitcher.d.ts +3 -3
  67. package/dist/cjs/biz-components/MemberEquity/index.d.ts +3 -3
  68. package/dist/cjs/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.d.ts +3 -3
  69. package/dist/cjs/biz-components/ProductCompare/index.d.ts +3 -3
  70. package/dist/cjs/biz-components/ProductHero/ProductHero.d.ts +3 -3
  71. package/dist/cjs/biz-components/ProductNav/ProductNav.d.ts +3 -3
  72. package/dist/cjs/biz-components/SelectStore/index.d.ts +3 -3
  73. package/dist/cjs/biz-components/ShelfDisplay/index.d.ts +3 -3
  74. package/dist/cjs/biz-components/ShelfDisplay/shelfDisplay.d.ts +11 -0
  75. package/dist/cjs/biz-components/ShelfDisplay/shelfDisplay.js +1 -1
  76. package/dist/cjs/biz-components/ShelfDisplay/shelfDisplay.js.map +3 -3
  77. package/dist/cjs/biz-components/ShelfDisplay/shelfDisplayItem.js +4 -4
  78. package/dist/cjs/biz-components/ShelfDisplay/shelfDisplayItem.js.map +3 -3
  79. package/dist/cjs/biz-components/Slogan/index.d.ts +3 -3
  80. package/dist/cjs/biz-components/Spacer/index.d.ts +3 -3
  81. package/dist/cjs/biz-components/Specs/index.d.ts +3 -3
  82. package/dist/cjs/biz-components/SpecsComparison/SpecsComparison.d.ts +3 -3
  83. package/dist/cjs/biz-components/TabWithImage/TabWithImage.d.ts +3 -3
  84. package/dist/cjs/biz-components/Tabs/Tabs.d.ts +3 -3
  85. package/dist/cjs/biz-components/Tabs/Tabs.js +1 -1
  86. package/dist/cjs/biz-components/Tabs/Tabs.js.map +3 -3
  87. package/dist/cjs/biz-components/Tabs/types.d.ts +0 -9
  88. package/dist/cjs/biz-components/Tabs/types.js +1 -1
  89. package/dist/cjs/biz-components/Tabs/types.js.map +1 -1
  90. package/dist/cjs/biz-components/TabsGroup/index.d.ts +3 -3
  91. package/dist/cjs/biz-components/TabsWithMedia/TabsWithMedia.d.ts +3 -3
  92. package/dist/cjs/biz-components/ThreeDCarousel/ThreeDCarousel.d.ts +3 -3
  93. package/dist/cjs/biz-components/Title/index.d.ts +3 -3
  94. package/dist/cjs/biz-components/Title/index.js +1 -1
  95. package/dist/cjs/biz-components/Title/index.js.map +3 -3
  96. package/dist/cjs/biz-components/Title/types.d.ts +0 -55
  97. package/dist/cjs/biz-components/Title/types.js +1 -1
  98. package/dist/cjs/biz-components/Title/types.js.map +1 -1
  99. package/dist/cjs/biz-components/VideoFeature/VideoFeature.d.ts +3 -3
  100. package/dist/cjs/biz-components/WhyChoose/WhyChoose.d.ts +3 -3
  101. package/dist/cjs/biz-components/index.d.ts +0 -32
  102. package/dist/cjs/biz-components/index.js +1 -1
  103. package/dist/cjs/biz-components/index.js.map +3 -3
  104. package/dist/cjs/components/badge.d.ts +2 -5
  105. package/dist/cjs/components/badge.js +1 -1
  106. package/dist/cjs/components/badge.js.map +3 -3
  107. package/dist/cjs/components/index.d.ts +0 -2
  108. package/dist/cjs/components/index.js +1 -1
  109. package/dist/cjs/components/index.js.map +3 -3
  110. package/dist/cjs/components/tabs.d.ts +1 -2
  111. package/dist/cjs/components/tabs.js +1 -1
  112. package/dist/cjs/components/tabs.js.map +2 -2
  113. package/dist/cjs/helpers/index.d.ts +0 -1
  114. package/dist/cjs/helpers/index.js +1 -1
  115. package/dist/cjs/helpers/index.js.map +3 -3
  116. package/dist/cjs/shared/Styles.d.ts +4 -5
  117. package/dist/cjs/shared/Styles.js +1 -1
  118. package/dist/cjs/shared/Styles.js.map +3 -3
  119. package/dist/cjs/stories/HeroBanner.stories.d.ts +28 -0
  120. package/dist/cjs/stories/HeroBanner.stories.js +11 -0
  121. package/dist/cjs/stories/HeroBanner.stories.js.map +7 -0
  122. package/dist/cjs/stories/InlineVideo.stories.d.ts +37 -0
  123. package/dist/cjs/stories/InlineVideo.stories.js +164 -0
  124. package/dist/cjs/stories/InlineVideo.stories.js.map +7 -0
  125. package/dist/cjs/stories/MarqueeReview.stories.d.ts +72 -0
  126. package/dist/cjs/stories/MarqueeReview.stories.js +19 -0
  127. package/dist/cjs/stories/MarqueeReview.stories.js.map +7 -0
  128. package/dist/cjs/stories/MediaSceneSwitcher.stories.d.ts +47 -0
  129. package/dist/cjs/stories/MediaSceneSwitcher.stories.js +2 -0
  130. package/dist/cjs/stories/MediaSceneSwitcher.stories.js.map +7 -0
  131. package/dist/cjs/stories/MemberEquity.stories.d.ts +9 -0
  132. package/dist/cjs/stories/MemberEquity.stories.js +31 -0
  133. package/dist/cjs/stories/MemberEquity.stories.js.map +7 -0
  134. package/dist/cjs/stories/MultiLayoutGraphicBlock.stories.d.ts +9 -0
  135. package/dist/cjs/stories/MultiLayoutGraphicBlock.stories.js +2 -0
  136. package/dist/cjs/stories/MultiLayoutGraphicBlock.stories.js.map +7 -0
  137. package/dist/cjs/stories/ProductNav.stories.d.ts +55 -0
  138. package/dist/cjs/stories/ProductNav.stories.js +2 -0
  139. package/dist/cjs/stories/ProductNav.stories.js.map +7 -0
  140. package/dist/cjs/stories/ThreeDCarousel.stories.d.ts +27 -0
  141. package/dist/cjs/stories/ThreeDCarousel.stories.js +118 -0
  142. package/dist/cjs/stories/ThreeDCarousel.stories.js.map +7 -0
  143. package/dist/cjs/stories/accordionCards.stories.d.ts +38 -0
  144. package/dist/cjs/stories/accordionCards.stories.js +2 -0
  145. package/dist/cjs/stories/accordionCards.stories.js.map +7 -0
  146. package/dist/cjs/stories/alert.stories.d.ts +27 -0
  147. package/dist/cjs/stories/alert.stories.js +2 -0
  148. package/dist/cjs/stories/alert.stories.js.map +7 -0
  149. package/dist/cjs/stories/avatar.stories.d.ts +39 -0
  150. package/dist/cjs/stories/avatar.stories.js +2 -0
  151. package/dist/cjs/stories/avatar.stories.js.map +7 -0
  152. package/dist/cjs/stories/badge.stories.d.ts +31 -0
  153. package/dist/cjs/stories/badge.stories.js +2 -0
  154. package/dist/cjs/stories/badge.stories.js.map +7 -0
  155. package/dist/cjs/stories/bizTabs.stories.d.ts +7 -0
  156. package/dist/cjs/stories/bizTabs.stories.js +2 -0
  157. package/dist/cjs/stories/bizTabs.stories.js.map +7 -0
  158. package/dist/cjs/stories/board.stories.d.ts +6 -0
  159. package/dist/cjs/stories/board.stories.js +2 -0
  160. package/dist/cjs/stories/board.stories.js.map +7 -0
  161. package/dist/cjs/stories/brandEquity.stories.d.ts +16 -0
  162. package/dist/cjs/stories/brandEquity.stories.js +2 -0
  163. package/dist/cjs/stories/brandEquity.stories.js.map +7 -0
  164. package/dist/cjs/stories/brandStrip.stories.d.ts +12 -0
  165. package/dist/cjs/stories/brandStrip.stories.js +2 -0
  166. package/dist/cjs/stories/brandStrip.stories.js.map +7 -0
  167. package/dist/cjs/stories/button.stories.d.ts +56 -0
  168. package/dist/cjs/stories/button.stories.js +2 -0
  169. package/dist/cjs/stories/button.stories.js.map +7 -0
  170. package/dist/cjs/stories/card.stories.d.ts +27 -0
  171. package/dist/cjs/stories/card.stories.js +2 -0
  172. package/dist/cjs/stories/card.stories.js.map +7 -0
  173. package/dist/cjs/stories/carousel.stories.d.ts +8 -0
  174. package/dist/cjs/stories/carousel.stories.js +2 -0
  175. package/dist/cjs/stories/carousel.stories.js.map +7 -0
  176. package/dist/cjs/stories/category.stories.d.ts +17 -0
  177. package/dist/cjs/stories/category.stories.js +2 -0
  178. package/dist/cjs/stories/category.stories.js.map +7 -0
  179. package/dist/cjs/stories/checkbox.stories.d.ts +46 -0
  180. package/dist/cjs/stories/checkbox.stories.js +2 -0
  181. package/dist/cjs/stories/checkbox.stories.js.map +7 -0
  182. package/dist/cjs/stories/container.stories.d.ts +28 -0
  183. package/dist/cjs/stories/container.stories.js +15 -0
  184. package/dist/cjs/stories/container.stories.js.map +7 -0
  185. package/dist/cjs/stories/cpnBanner.stories.d.ts +14 -0
  186. package/dist/cjs/stories/cpnBanner.stories.js +2 -0
  187. package/dist/cjs/stories/cpnBanner.stories.js.map +7 -0
  188. package/dist/cjs/stories/cpnCountdown.stories.d.ts +12 -0
  189. package/dist/cjs/stories/cpnCountdown.stories.js +2 -0
  190. package/dist/cjs/stories/cpnCountdown.stories.js.map +7 -0
  191. package/dist/cjs/stories/cpnNavigation.stories.d.ts +14 -0
  192. package/dist/cjs/stories/cpnNavigation.stories.js +2 -0
  193. package/dist/cjs/stories/cpnNavigation.stories.js.map +7 -0
  194. package/dist/cjs/stories/cpnProductcard.stories.d.ts +14 -0
  195. package/dist/cjs/stories/cpnProductcard.stories.js +2 -0
  196. package/dist/cjs/stories/cpnProductcard.stories.js.map +7 -0
  197. package/dist/cjs/stories/cpnTitle.stories.d.ts +14 -0
  198. package/dist/cjs/stories/cpnTitle.stories.js +2 -0
  199. package/dist/cjs/stories/cpnTitle.stories.js.map +7 -0
  200. package/dist/cjs/stories/creativeModule.stories.d.ts +19 -0
  201. package/dist/cjs/stories/creativeModule.stories.js +2 -0
  202. package/dist/cjs/stories/creativeModule.stories.js.map +7 -0
  203. package/dist/cjs/stories/dialog.stories.d.ts +20 -0
  204. package/dist/cjs/stories/dialog.stories.js +2 -0
  205. package/dist/cjs/stories/dialog.stories.js.map +7 -0
  206. package/dist/cjs/stories/drawer.stories.d.ts +20 -0
  207. package/dist/cjs/stories/drawer.stories.js +2 -0
  208. package/dist/cjs/stories/drawer.stories.js.map +7 -0
  209. package/dist/cjs/stories/drop-down.stories.d.ts +16 -0
  210. package/dist/cjs/stories/drop-down.stories.js +2 -0
  211. package/dist/cjs/stories/drop-down.stories.js.map +7 -0
  212. package/dist/cjs/stories/evaluate.stories.d.ts +16 -0
  213. package/dist/cjs/stories/evaluate.stories.js +2 -0
  214. package/dist/cjs/stories/evaluate.stories.js.map +7 -0
  215. package/dist/cjs/stories/faq.stories.d.ts +21 -0
  216. package/dist/cjs/stories/faq.stories.js +2 -0
  217. package/dist/cjs/stories/faq.stories.js.map +7 -0
  218. package/dist/cjs/stories/featureCards.stories.d.ts +30 -0
  219. package/dist/cjs/stories/featureCards.stories.js +61 -0
  220. package/dist/cjs/stories/featureCards.stories.js.map +7 -0
  221. package/dist/cjs/stories/featureShowcase.stories.d.ts +29 -0
  222. package/dist/cjs/stories/featureShowcase.stories.js +44 -0
  223. package/dist/cjs/stories/featureShowcase.stories.js.map +7 -0
  224. package/dist/cjs/stories/graphic.stories.d.ts +64 -0
  225. package/dist/cjs/stories/graphic.stories.js +2 -0
  226. package/dist/cjs/stories/graphic.stories.js.map +7 -0
  227. package/dist/cjs/stories/graphicAttractionBlock.stories.d.ts +6 -0
  228. package/dist/cjs/stories/graphicAttractionBlock.stories.js +2 -0
  229. package/dist/cjs/stories/graphicAttractionBlock.stories.js.map +7 -0
  230. package/dist/cjs/stories/grid.stories.d.ts +22 -0
  231. package/dist/cjs/stories/grid.stories.js +13 -0
  232. package/dist/cjs/stories/grid.stories.js.map +7 -0
  233. package/dist/cjs/stories/heading.stories.d.ts +84 -0
  234. package/dist/cjs/stories/heading.stories.js +15 -0
  235. package/dist/cjs/stories/heading.stories.js.map +7 -0
  236. package/dist/cjs/stories/imageTextFeature.stories.d.ts +28 -0
  237. package/dist/cjs/stories/imageTextFeature.stories.js +50 -0
  238. package/dist/cjs/stories/imageTextFeature.stories.js.map +7 -0
  239. package/dist/cjs/stories/imageWithText.stories.d.ts +51 -0
  240. package/dist/cjs/stories/imageWithText.stories.js +84 -0
  241. package/dist/cjs/stories/imageWithText.stories.js.map +7 -0
  242. package/dist/cjs/stories/input-number.stories.d.ts +39 -0
  243. package/dist/cjs/stories/input-number.stories.js +2 -0
  244. package/dist/cjs/stories/input-number.stories.js.map +7 -0
  245. package/dist/cjs/stories/input.stories.d.ts +35 -0
  246. package/dist/cjs/stories/input.stories.js +2 -0
  247. package/dist/cjs/stories/input.stories.js.map +7 -0
  248. package/dist/cjs/stories/ksp.stories.d.ts +63 -0
  249. package/dist/cjs/stories/ksp.stories.js +128 -0
  250. package/dist/cjs/stories/ksp.stories.js.map +7 -0
  251. package/dist/cjs/stories/link.stories.d.ts +69 -0
  252. package/dist/cjs/stories/link.stories.js +2 -0
  253. package/dist/cjs/stories/link.stories.js.map +7 -0
  254. package/dist/cjs/stories/marquee.stories.d.ts +30 -0
  255. package/dist/cjs/stories/marquee.stories.js +2 -0
  256. package/dist/cjs/stories/marquee.stories.js.map +7 -0
  257. package/dist/cjs/stories/mediaplayerBase.stories.d.ts +6 -0
  258. package/dist/cjs/stories/mediaplayerBase.stories.js +2 -0
  259. package/dist/cjs/stories/mediaplayerBase.stories.js.map +7 -0
  260. package/dist/cjs/stories/mediaplayerMulti.stories.d.ts +16 -0
  261. package/dist/cjs/stories/mediaplayerMulti.stories.js +2 -0
  262. package/dist/cjs/stories/mediaplayerMulti.stories.js.map +7 -0
  263. package/dist/cjs/stories/picture.stories.d.ts +23 -0
  264. package/dist/cjs/stories/picture.stories.js +9 -0
  265. package/dist/cjs/stories/picture.stories.js.map +7 -0
  266. package/dist/cjs/stories/popover.stories.d.ts +17 -0
  267. package/dist/cjs/stories/popover.stories.js +2 -0
  268. package/dist/cjs/stories/popover.stories.js.map +7 -0
  269. package/dist/cjs/stories/productCompare.stories.d.ts +54 -0
  270. package/dist/cjs/stories/productCompare.stories.js +54 -0
  271. package/dist/cjs/stories/productCompare.stories.js.map +7 -0
  272. package/dist/cjs/stories/productHero.stories.d.ts +29 -0
  273. package/dist/cjs/stories/productHero.stories.js +50 -0
  274. package/dist/cjs/stories/productHero.stories.js.map +7 -0
  275. package/dist/cjs/stories/radio.stories.d.ts +39 -0
  276. package/dist/cjs/stories/radio.stories.js +2 -0
  277. package/dist/cjs/stories/radio.stories.js.map +7 -0
  278. package/dist/cjs/stories/shelfDisplay.stories.d.ts +16 -0
  279. package/dist/cjs/stories/shelfDisplay.stories.js +2 -0
  280. package/dist/cjs/stories/shelfDisplay.stories.js.map +7 -0
  281. package/dist/cjs/stories/skeleton.stories.d.ts +20 -0
  282. package/dist/cjs/stories/skeleton.stories.js +2 -0
  283. package/dist/cjs/stories/skeleton.stories.js.map +7 -0
  284. package/dist/cjs/stories/slogan.stories.d.ts +20 -0
  285. package/dist/cjs/stories/slogan.stories.js +6 -0
  286. package/dist/cjs/stories/slogan.stories.js.map +7 -0
  287. package/dist/cjs/stories/specs.stories.d.ts +13 -0
  288. package/dist/cjs/stories/specs.stories.js +57 -0
  289. package/dist/cjs/stories/specs.stories.js.map +7 -0
  290. package/dist/cjs/stories/specsComparison.stories.d.ts +28 -0
  291. package/dist/cjs/stories/specsComparison.stories.js +105 -0
  292. package/dist/cjs/stories/specsComparison.stories.js.map +7 -0
  293. package/dist/cjs/stories/tabWithImage.stories.d.ts +28 -0
  294. package/dist/cjs/stories/tabWithImage.stories.js +53 -0
  295. package/dist/cjs/stories/tabWithImage.stories.js.map +7 -0
  296. package/dist/cjs/stories/tabs.stories.d.ts +373 -0
  297. package/dist/cjs/stories/tabs.stories.js +2 -0
  298. package/dist/cjs/stories/tabs.stories.js.map +7 -0
  299. package/dist/cjs/stories/tabsWithMedia.stories.d.ts +28 -0
  300. package/dist/cjs/stories/tabsWithMedia.stories.js +68 -0
  301. package/dist/cjs/stories/tabsWithMedia.stories.js.map +7 -0
  302. package/dist/cjs/stories/text.stories.d.ts +86 -0
  303. package/dist/cjs/stories/text.stories.js +21 -0
  304. package/dist/cjs/stories/text.stories.js.map +7 -0
  305. package/dist/cjs/stories/videoFeature.stories.d.ts +29 -0
  306. package/dist/cjs/stories/videoFeature.stories.js +56 -0
  307. package/dist/cjs/stories/videoFeature.stories.js.map +7 -0
  308. package/dist/cjs/stories/whychoose.stories.d.ts +21 -0
  309. package/dist/cjs/stories/whychoose.stories.js +2 -0
  310. package/dist/cjs/stories/whychoose.stories.js.map +7 -0
  311. package/dist/cjs/types/props.d.ts +3 -0
  312. package/dist/cjs/types/props.js +1 -1
  313. package/dist/cjs/types/props.js.map +1 -1
  314. package/dist/esm/biz-components/AccordionCards/index.d.ts +3 -3
  315. package/dist/esm/biz-components/AiuiProvider/index.d.ts +0 -7
  316. package/dist/esm/biz-components/AiuiProvider/index.js +1 -1
  317. package/dist/esm/biz-components/AiuiProvider/index.js.map +2 -2
  318. package/dist/esm/biz-components/AplusDesc/index.d.ts +3 -3
  319. package/dist/esm/biz-components/BrandEquity/BrandEquity.d.ts +3 -3
  320. package/dist/esm/biz-components/BrandEquity/BrandEquity.js +1 -1
  321. package/dist/esm/biz-components/BrandEquity/BrandEquity.js.map +2 -2
  322. package/dist/esm/biz-components/BrandEquity/types.d.ts +0 -1
  323. package/dist/esm/biz-components/Category/index.d.ts +3 -3
  324. package/dist/esm/biz-components/CreativeModule/index.d.ts +3 -3
  325. package/dist/esm/biz-components/DownLoad/index.d.ts +3 -3
  326. package/dist/esm/biz-components/Evaluate/index.d.ts +3 -3
  327. package/dist/esm/biz-components/Evaluate/index.js +1 -1
  328. package/dist/esm/biz-components/Evaluate/index.js.map +2 -2
  329. package/dist/esm/biz-components/Faq/Faq.d.ts +3 -3
  330. package/dist/esm/biz-components/FeatureCards/FeatureCards.d.ts +3 -3
  331. package/dist/esm/biz-components/FeatureShowcase/FeatureShowcase.d.ts +3 -3
  332. package/dist/esm/biz-components/Features/index.d.ts +3 -3
  333. package/dist/esm/biz-components/FootCharger/index.d.ts +3 -3
  334. package/dist/esm/biz-components/FooterNavigation/index.d.ts +3 -3
  335. package/dist/esm/biz-components/GiftBox/index.d.ts +3 -3
  336. package/dist/esm/biz-components/Graphic/index.d.ts +3 -3
  337. package/dist/esm/biz-components/GraphicAttractionBlock/index.d.ts +3 -3
  338. package/dist/esm/biz-components/GraphicMore/index.d.ts +3 -3
  339. package/dist/esm/biz-components/GraphicOverlay/GraphicOverlay.d.ts +3 -3
  340. package/dist/esm/biz-components/HeaderNavigation/index.d.ts +3 -3
  341. package/dist/esm/biz-components/HeroBanner/Countdown.js +1 -1
  342. package/dist/esm/biz-components/HeroBanner/Countdown.js.map +2 -2
  343. package/dist/esm/biz-components/HeroBanner/HeroBanner.d.ts +3 -6
  344. package/dist/esm/biz-components/HeroBanner/HeroBanner.js +1 -1
  345. package/dist/esm/biz-components/HeroBanner/HeroBanner.js.map +3 -3
  346. package/dist/esm/biz-components/HeroBanner/types.d.ts +0 -4
  347. package/dist/esm/biz-components/ImageTextFeature/ImageTextFeature.d.ts +3 -3
  348. package/dist/esm/biz-components/ImageTextFeature/ImageTextFeature.js +1 -1
  349. package/dist/esm/biz-components/ImageTextFeature/ImageTextFeature.js.map +3 -3
  350. package/dist/esm/biz-components/ImageTextFeature/types.d.ts +0 -1
  351. package/dist/esm/biz-components/ImageWithText/ImageWithText.d.ts +3 -3
  352. package/dist/esm/biz-components/Ksp/index.d.ts +3 -3
  353. package/dist/esm/biz-components/Listing/components/PaidShipping/index.d.ts +4 -4
  354. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.d.ts +3 -3
  355. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.d.ts +3 -3
  356. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.d.ts +3 -3
  357. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.d.ts +3 -3
  358. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.d.ts +3 -3
  359. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.d.ts +3 -3
  360. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/index.d.ts +3 -3
  361. package/dist/esm/biz-components/Listing/components/ProductCard/ProductSummary/index.d.ts +3 -3
  362. package/dist/esm/biz-components/Listing/components/PurchaseBar/index.d.ts +3 -3
  363. package/dist/esm/biz-components/Marquee/Marquee.d.ts +3 -3
  364. package/dist/esm/biz-components/Marquee/Marquee.js +1 -1
  365. package/dist/esm/biz-components/Marquee/Marquee.js.map +3 -3
  366. package/dist/esm/biz-components/MarqueeReview/index.d.ts +3 -3
  367. package/dist/esm/biz-components/MediaPlayerBase/index.d.ts +3 -3
  368. package/dist/esm/biz-components/MediaPlayerMulti/index.d.ts +3 -3
  369. package/dist/esm/biz-components/MediaPlayerSticky/index.d.ts +4 -4
  370. package/dist/esm/biz-components/MediaPlayerSticky/types.d.ts +0 -1
  371. package/dist/esm/biz-components/MediaSceneSwitcher/MediaSceneSwitcher.d.ts +3 -3
  372. package/dist/esm/biz-components/MemberEquity/index.d.ts +3 -3
  373. package/dist/esm/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.d.ts +3 -3
  374. package/dist/esm/biz-components/ProductCompare/index.d.ts +3 -3
  375. package/dist/esm/biz-components/ProductHero/ProductHero.d.ts +3 -3
  376. package/dist/esm/biz-components/ProductNav/ProductNav.d.ts +3 -3
  377. package/dist/esm/biz-components/SelectStore/index.d.ts +3 -3
  378. package/dist/esm/biz-components/ShelfDisplay/index.d.ts +3 -3
  379. package/dist/esm/biz-components/ShelfDisplay/shelfDisplay.d.ts +11 -0
  380. package/dist/esm/biz-components/ShelfDisplay/shelfDisplay.js +1 -1
  381. package/dist/esm/biz-components/ShelfDisplay/shelfDisplay.js.map +3 -3
  382. package/dist/esm/biz-components/ShelfDisplay/shelfDisplayItem.js +5 -5
  383. package/dist/esm/biz-components/ShelfDisplay/shelfDisplayItem.js.map +3 -3
  384. package/dist/esm/biz-components/Slogan/index.d.ts +3 -3
  385. package/dist/esm/biz-components/Spacer/index.d.ts +3 -3
  386. package/dist/esm/biz-components/Specs/index.d.ts +3 -3
  387. package/dist/esm/biz-components/SpecsComparison/SpecsComparison.d.ts +3 -3
  388. package/dist/esm/biz-components/TabWithImage/TabWithImage.d.ts +3 -3
  389. package/dist/esm/biz-components/Tabs/Tabs.d.ts +3 -3
  390. package/dist/esm/biz-components/Tabs/Tabs.js +1 -1
  391. package/dist/esm/biz-components/Tabs/Tabs.js.map +3 -3
  392. package/dist/esm/biz-components/Tabs/types.d.ts +0 -9
  393. package/dist/esm/biz-components/TabsGroup/index.d.ts +3 -3
  394. package/dist/esm/biz-components/TabsWithMedia/TabsWithMedia.d.ts +3 -3
  395. package/dist/esm/biz-components/ThreeDCarousel/ThreeDCarousel.d.ts +3 -3
  396. package/dist/esm/biz-components/Title/index.d.ts +3 -3
  397. package/dist/esm/biz-components/Title/index.js +1 -1
  398. package/dist/esm/biz-components/Title/index.js.map +3 -3
  399. package/dist/esm/biz-components/Title/types.d.ts +0 -55
  400. package/dist/esm/biz-components/VideoFeature/VideoFeature.d.ts +3 -3
  401. package/dist/esm/biz-components/WhyChoose/WhyChoose.d.ts +3 -3
  402. package/dist/esm/biz-components/index.d.ts +0 -32
  403. package/dist/esm/biz-components/index.js +1 -1
  404. package/dist/esm/biz-components/index.js.map +3 -3
  405. package/dist/esm/components/badge.d.ts +2 -5
  406. package/dist/esm/components/badge.js +1 -1
  407. package/dist/esm/components/badge.js.map +3 -3
  408. package/dist/esm/components/index.d.ts +0 -2
  409. package/dist/esm/components/index.js +1 -1
  410. package/dist/esm/components/index.js.map +2 -2
  411. package/dist/esm/components/tabs.d.ts +1 -2
  412. package/dist/esm/components/tabs.js +1 -1
  413. package/dist/esm/components/tabs.js.map +2 -2
  414. package/dist/esm/helpers/index.d.ts +0 -1
  415. package/dist/esm/helpers/index.js +1 -1
  416. package/dist/esm/helpers/index.js.map +3 -3
  417. package/dist/esm/shared/Styles.d.ts +4 -5
  418. package/dist/esm/shared/Styles.js +1 -1
  419. package/dist/esm/shared/Styles.js.map +3 -3
  420. package/dist/esm/stories/HeroBanner.stories.d.ts +28 -0
  421. package/dist/esm/stories/HeroBanner.stories.js +11 -0
  422. package/dist/esm/stories/HeroBanner.stories.js.map +7 -0
  423. package/dist/esm/stories/InlineVideo.stories.d.ts +37 -0
  424. package/dist/esm/stories/InlineVideo.stories.js +164 -0
  425. package/dist/esm/stories/InlineVideo.stories.js.map +7 -0
  426. package/dist/esm/stories/MarqueeReview.stories.d.ts +72 -0
  427. package/dist/esm/stories/MarqueeReview.stories.js +19 -0
  428. package/dist/esm/stories/MarqueeReview.stories.js.map +7 -0
  429. package/dist/esm/stories/MediaSceneSwitcher.stories.d.ts +47 -0
  430. package/dist/esm/stories/MediaSceneSwitcher.stories.js +2 -0
  431. package/dist/esm/stories/MediaSceneSwitcher.stories.js.map +7 -0
  432. package/dist/esm/stories/MemberEquity.stories.d.ts +9 -0
  433. package/dist/esm/stories/MemberEquity.stories.js +31 -0
  434. package/dist/esm/stories/MemberEquity.stories.js.map +7 -0
  435. package/dist/esm/stories/MultiLayoutGraphicBlock.stories.d.ts +9 -0
  436. package/dist/esm/stories/MultiLayoutGraphicBlock.stories.js +2 -0
  437. package/dist/esm/stories/MultiLayoutGraphicBlock.stories.js.map +7 -0
  438. package/dist/esm/stories/ProductNav.stories.d.ts +55 -0
  439. package/dist/esm/stories/ProductNav.stories.js +2 -0
  440. package/dist/esm/stories/ProductNav.stories.js.map +7 -0
  441. package/dist/esm/stories/ThreeDCarousel.stories.d.ts +27 -0
  442. package/dist/esm/stories/ThreeDCarousel.stories.js +118 -0
  443. package/dist/esm/stories/ThreeDCarousel.stories.js.map +7 -0
  444. package/dist/esm/stories/accordionCards.stories.d.ts +38 -0
  445. package/dist/esm/stories/accordionCards.stories.js +2 -0
  446. package/dist/esm/stories/accordionCards.stories.js.map +7 -0
  447. package/dist/esm/stories/alert.stories.d.ts +27 -0
  448. package/dist/esm/stories/alert.stories.js +2 -0
  449. package/dist/esm/stories/alert.stories.js.map +7 -0
  450. package/dist/esm/stories/avatar.stories.d.ts +39 -0
  451. package/dist/esm/stories/avatar.stories.js +2 -0
  452. package/dist/esm/stories/avatar.stories.js.map +7 -0
  453. package/dist/esm/stories/badge.stories.d.ts +31 -0
  454. package/dist/esm/stories/badge.stories.js +2 -0
  455. package/dist/esm/stories/badge.stories.js.map +7 -0
  456. package/dist/esm/stories/bizTabs.stories.d.ts +7 -0
  457. package/dist/esm/stories/bizTabs.stories.js +2 -0
  458. package/dist/esm/stories/bizTabs.stories.js.map +7 -0
  459. package/dist/esm/stories/board.stories.d.ts +6 -0
  460. package/dist/esm/stories/board.stories.js +2 -0
  461. package/dist/esm/stories/board.stories.js.map +7 -0
  462. package/dist/esm/stories/brandEquity.stories.d.ts +16 -0
  463. package/dist/esm/stories/brandEquity.stories.js +2 -0
  464. package/dist/esm/stories/brandEquity.stories.js.map +7 -0
  465. package/dist/esm/stories/brandStrip.stories.d.ts +12 -0
  466. package/dist/esm/stories/brandStrip.stories.js +2 -0
  467. package/dist/esm/stories/brandStrip.stories.js.map +7 -0
  468. package/dist/esm/stories/button.stories.d.ts +56 -0
  469. package/dist/esm/stories/button.stories.js +2 -0
  470. package/dist/esm/stories/button.stories.js.map +7 -0
  471. package/dist/esm/stories/card.stories.d.ts +27 -0
  472. package/dist/esm/stories/card.stories.js +2 -0
  473. package/dist/esm/stories/card.stories.js.map +7 -0
  474. package/dist/esm/stories/carousel.stories.d.ts +8 -0
  475. package/dist/esm/stories/carousel.stories.js +2 -0
  476. package/dist/esm/stories/carousel.stories.js.map +7 -0
  477. package/dist/esm/stories/category.stories.d.ts +17 -0
  478. package/dist/esm/stories/category.stories.js +2 -0
  479. package/dist/esm/stories/category.stories.js.map +7 -0
  480. package/dist/esm/stories/checkbox.stories.d.ts +46 -0
  481. package/dist/esm/stories/checkbox.stories.js +2 -0
  482. package/dist/esm/stories/checkbox.stories.js.map +7 -0
  483. package/dist/esm/stories/container.stories.d.ts +28 -0
  484. package/dist/esm/stories/container.stories.js +15 -0
  485. package/dist/esm/stories/container.stories.js.map +7 -0
  486. package/dist/esm/stories/cpnBanner.stories.d.ts +14 -0
  487. package/dist/esm/stories/cpnBanner.stories.js +2 -0
  488. package/dist/esm/stories/cpnBanner.stories.js.map +7 -0
  489. package/dist/esm/stories/cpnCountdown.stories.d.ts +12 -0
  490. package/dist/esm/stories/cpnCountdown.stories.js +2 -0
  491. package/dist/esm/stories/cpnCountdown.stories.js.map +7 -0
  492. package/dist/esm/stories/cpnNavigation.stories.d.ts +14 -0
  493. package/dist/esm/stories/cpnNavigation.stories.js +2 -0
  494. package/dist/esm/stories/cpnNavigation.stories.js.map +7 -0
  495. package/dist/esm/stories/cpnProductcard.stories.d.ts +14 -0
  496. package/dist/esm/stories/cpnProductcard.stories.js +2 -0
  497. package/dist/esm/stories/cpnProductcard.stories.js.map +7 -0
  498. package/dist/esm/stories/cpnTitle.stories.d.ts +14 -0
  499. package/dist/esm/stories/cpnTitle.stories.js +2 -0
  500. package/dist/esm/stories/cpnTitle.stories.js.map +7 -0
  501. package/dist/esm/stories/creativeModule.stories.d.ts +19 -0
  502. package/dist/esm/stories/creativeModule.stories.js +2 -0
  503. package/dist/esm/stories/creativeModule.stories.js.map +7 -0
  504. package/dist/esm/stories/dialog.stories.d.ts +20 -0
  505. package/dist/esm/stories/dialog.stories.js +2 -0
  506. package/dist/esm/stories/dialog.stories.js.map +7 -0
  507. package/dist/esm/stories/drawer.stories.d.ts +20 -0
  508. package/dist/esm/stories/drawer.stories.js +2 -0
  509. package/dist/esm/stories/drawer.stories.js.map +7 -0
  510. package/dist/esm/stories/drop-down.stories.d.ts +16 -0
  511. package/dist/esm/stories/drop-down.stories.js +2 -0
  512. package/dist/esm/stories/drop-down.stories.js.map +7 -0
  513. package/dist/esm/stories/evaluate.stories.d.ts +16 -0
  514. package/dist/esm/stories/evaluate.stories.js +2 -0
  515. package/dist/esm/stories/evaluate.stories.js.map +7 -0
  516. package/dist/esm/stories/faq.stories.d.ts +21 -0
  517. package/dist/esm/stories/faq.stories.js +2 -0
  518. package/dist/esm/stories/faq.stories.js.map +7 -0
  519. package/dist/esm/stories/featureCards.stories.d.ts +30 -0
  520. package/dist/esm/stories/featureCards.stories.js +61 -0
  521. package/dist/esm/stories/featureCards.stories.js.map +7 -0
  522. package/dist/esm/stories/featureShowcase.stories.d.ts +29 -0
  523. package/dist/esm/stories/featureShowcase.stories.js +44 -0
  524. package/dist/esm/stories/featureShowcase.stories.js.map +7 -0
  525. package/dist/esm/stories/graphic.stories.d.ts +64 -0
  526. package/dist/esm/stories/graphic.stories.js +2 -0
  527. package/dist/esm/stories/graphic.stories.js.map +7 -0
  528. package/dist/esm/stories/graphicAttractionBlock.stories.d.ts +6 -0
  529. package/dist/esm/stories/graphicAttractionBlock.stories.js +2 -0
  530. package/dist/esm/stories/graphicAttractionBlock.stories.js.map +7 -0
  531. package/dist/esm/stories/grid.stories.d.ts +22 -0
  532. package/dist/esm/stories/grid.stories.js +13 -0
  533. package/dist/esm/stories/grid.stories.js.map +7 -0
  534. package/dist/esm/stories/heading.stories.d.ts +84 -0
  535. package/dist/esm/stories/heading.stories.js +15 -0
  536. package/dist/esm/stories/heading.stories.js.map +7 -0
  537. package/dist/esm/stories/imageTextFeature.stories.d.ts +28 -0
  538. package/dist/esm/stories/imageTextFeature.stories.js +50 -0
  539. package/dist/esm/stories/imageTextFeature.stories.js.map +7 -0
  540. package/dist/esm/stories/imageWithText.stories.d.ts +51 -0
  541. package/dist/esm/stories/imageWithText.stories.js +84 -0
  542. package/dist/esm/stories/imageWithText.stories.js.map +7 -0
  543. package/dist/esm/stories/input-number.stories.d.ts +39 -0
  544. package/dist/esm/stories/input-number.stories.js +2 -0
  545. package/dist/esm/stories/input-number.stories.js.map +7 -0
  546. package/dist/esm/stories/input.stories.d.ts +35 -0
  547. package/dist/esm/stories/input.stories.js +2 -0
  548. package/dist/esm/stories/input.stories.js.map +7 -0
  549. package/dist/esm/stories/ksp.stories.d.ts +63 -0
  550. package/dist/esm/stories/ksp.stories.js +128 -0
  551. package/dist/esm/stories/ksp.stories.js.map +7 -0
  552. package/dist/esm/stories/link.stories.d.ts +69 -0
  553. package/dist/esm/stories/link.stories.js +2 -0
  554. package/dist/esm/stories/link.stories.js.map +7 -0
  555. package/dist/esm/stories/marquee.stories.d.ts +30 -0
  556. package/dist/esm/stories/marquee.stories.js +2 -0
  557. package/dist/esm/stories/marquee.stories.js.map +7 -0
  558. package/dist/esm/stories/mediaplayerBase.stories.d.ts +6 -0
  559. package/dist/esm/stories/mediaplayerBase.stories.js +2 -0
  560. package/dist/esm/stories/mediaplayerBase.stories.js.map +7 -0
  561. package/dist/esm/stories/mediaplayerMulti.stories.d.ts +16 -0
  562. package/dist/esm/stories/mediaplayerMulti.stories.js +2 -0
  563. package/dist/esm/stories/mediaplayerMulti.stories.js.map +7 -0
  564. package/dist/esm/stories/picture.stories.d.ts +23 -0
  565. package/dist/esm/stories/picture.stories.js +9 -0
  566. package/dist/esm/stories/picture.stories.js.map +7 -0
  567. package/dist/esm/stories/popover.stories.d.ts +17 -0
  568. package/dist/esm/stories/popover.stories.js +2 -0
  569. package/dist/esm/stories/popover.stories.js.map +7 -0
  570. package/dist/esm/stories/productCompare.stories.d.ts +54 -0
  571. package/dist/esm/stories/productCompare.stories.js +54 -0
  572. package/dist/esm/stories/productCompare.stories.js.map +7 -0
  573. package/dist/esm/stories/productHero.stories.d.ts +29 -0
  574. package/dist/esm/stories/productHero.stories.js +50 -0
  575. package/dist/esm/stories/productHero.stories.js.map +7 -0
  576. package/dist/esm/stories/radio.stories.d.ts +39 -0
  577. package/dist/esm/stories/radio.stories.js +2 -0
  578. package/dist/esm/stories/radio.stories.js.map +7 -0
  579. package/dist/esm/stories/shelfDisplay.stories.d.ts +16 -0
  580. package/dist/esm/stories/shelfDisplay.stories.js +2 -0
  581. package/dist/esm/stories/shelfDisplay.stories.js.map +7 -0
  582. package/dist/esm/stories/skeleton.stories.d.ts +20 -0
  583. package/dist/esm/stories/skeleton.stories.js +2 -0
  584. package/dist/esm/stories/skeleton.stories.js.map +7 -0
  585. package/dist/esm/stories/slogan.stories.d.ts +20 -0
  586. package/dist/esm/stories/slogan.stories.js +6 -0
  587. package/dist/esm/stories/slogan.stories.js.map +7 -0
  588. package/dist/esm/stories/specs.stories.d.ts +13 -0
  589. package/dist/esm/stories/specs.stories.js +57 -0
  590. package/dist/esm/stories/specs.stories.js.map +7 -0
  591. package/dist/esm/stories/specsComparison.stories.d.ts +28 -0
  592. package/dist/esm/stories/specsComparison.stories.js +105 -0
  593. package/dist/esm/stories/specsComparison.stories.js.map +7 -0
  594. package/dist/esm/stories/tabWithImage.stories.d.ts +28 -0
  595. package/dist/esm/stories/tabWithImage.stories.js +53 -0
  596. package/dist/esm/stories/tabWithImage.stories.js.map +7 -0
  597. package/dist/esm/stories/tabs.stories.d.ts +373 -0
  598. package/dist/esm/stories/tabs.stories.js +2 -0
  599. package/dist/esm/stories/tabs.stories.js.map +7 -0
  600. package/dist/esm/stories/tabsWithMedia.stories.d.ts +28 -0
  601. package/dist/esm/stories/tabsWithMedia.stories.js +68 -0
  602. package/dist/esm/stories/tabsWithMedia.stories.js.map +7 -0
  603. package/dist/esm/stories/text.stories.d.ts +86 -0
  604. package/dist/esm/stories/text.stories.js +21 -0
  605. package/dist/esm/stories/text.stories.js.map +7 -0
  606. package/dist/esm/stories/videoFeature.stories.d.ts +29 -0
  607. package/dist/esm/stories/videoFeature.stories.js +56 -0
  608. package/dist/esm/stories/videoFeature.stories.js.map +7 -0
  609. package/dist/esm/stories/whychoose.stories.d.ts +21 -0
  610. package/dist/esm/stories/whychoose.stories.js +2 -0
  611. package/dist/esm/stories/whychoose.stories.js.map +7 -0
  612. package/dist/esm/types/props.d.ts +3 -0
  613. package/dist/tokens/base.css +3 -4
  614. package/dist/tokens/eufy.css +0 -1
  615. package/dist/tokens/soundcore.css +3 -4
  616. package/package.json +3 -8
  617. package/style.css +118 -4968
  618. package/tailwind.config.js +2 -19
  619. package/dist/cjs/biz-components/ActiveShelf/index.d.ts +0 -174
  620. package/dist/cjs/biz-components/ActiveShelf/index.js +0 -2
  621. package/dist/cjs/biz-components/ActiveShelf/index.js.map +0 -7
  622. package/dist/cjs/biz-components/ActiveShelf/types.d.ts +0 -89
  623. package/dist/cjs/biz-components/ActiveShelf/types.js +0 -2
  624. package/dist/cjs/biz-components/ActiveShelf/types.js.map +0 -7
  625. package/dist/cjs/biz-components/AnchorNavigation/index.d.ts +0 -42
  626. package/dist/cjs/biz-components/AnchorNavigation/index.js +0 -2
  627. package/dist/cjs/biz-components/AnchorNavigation/index.js.map +0 -7
  628. package/dist/cjs/biz-components/AnchorNavigation/useAnchorPosition.d.ts +0 -2
  629. package/dist/cjs/biz-components/AnchorNavigation/useAnchorPosition.js +0 -2
  630. package/dist/cjs/biz-components/AnchorNavigation/useAnchorPosition.js.map +0 -7
  631. package/dist/cjs/biz-components/BrandCardLink/BrandCardLink.d.ts +0 -6
  632. package/dist/cjs/biz-components/BrandCardLink/BrandCardLink.js +0 -2
  633. package/dist/cjs/biz-components/BrandCardLink/BrandCardLink.js.map +0 -7
  634. package/dist/cjs/biz-components/BrandCardLink/index.d.ts +0 -1
  635. package/dist/cjs/biz-components/BrandCardLink/index.js +0 -2
  636. package/dist/cjs/biz-components/BrandCardLink/index.js.map +0 -7
  637. package/dist/cjs/biz-components/BrandCardLink/types.d.ts +0 -19
  638. package/dist/cjs/biz-components/BrandCardLink/types.js +0 -2
  639. package/dist/cjs/biz-components/BrandCardLink/types.js.map +0 -7
  640. package/dist/cjs/biz-components/BuyOneGetOneShelf/ProductCard.d.ts +0 -74
  641. package/dist/cjs/biz-components/BuyOneGetOneShelf/ProductCard.js +0 -2
  642. package/dist/cjs/biz-components/BuyOneGetOneShelf/ProductCard.js.map +0 -7
  643. package/dist/cjs/biz-components/BuyOneGetOneShelf/hooks/useBogoDataTransform.d.ts +0 -36
  644. package/dist/cjs/biz-components/BuyOneGetOneShelf/hooks/useBogoDataTransform.js +0 -2
  645. package/dist/cjs/biz-components/BuyOneGetOneShelf/hooks/useBogoDataTransform.js.map +0 -7
  646. package/dist/cjs/biz-components/BuyOneGetOneShelf/index.d.ts +0 -193
  647. package/dist/cjs/biz-components/BuyOneGetOneShelf/index.js +0 -2
  648. package/dist/cjs/biz-components/BuyOneGetOneShelf/index.js.map +0 -7
  649. package/dist/cjs/biz-components/EventSchedule/index.d.ts +0 -63
  650. package/dist/cjs/biz-components/EventSchedule/index.js +0 -2
  651. package/dist/cjs/biz-components/EventSchedule/index.js.map +0 -7
  652. package/dist/cjs/biz-components/IPRedirect/RegionBanner.d.ts +0 -37
  653. package/dist/cjs/biz-components/IPRedirect/RegionBanner.js +0 -60
  654. package/dist/cjs/biz-components/IPRedirect/RegionBanner.js.map +0 -7
  655. package/dist/cjs/biz-components/IPRedirect/RegionSelectorModal.d.ts +0 -47
  656. package/dist/cjs/biz-components/IPRedirect/RegionSelectorModal.js +0 -33
  657. package/dist/cjs/biz-components/IPRedirect/RegionSelectorModal.js.map +0 -7
  658. package/dist/cjs/biz-components/IPRedirect/index.d.ts +0 -9
  659. package/dist/cjs/biz-components/IPRedirect/index.js +0 -2
  660. package/dist/cjs/biz-components/IPRedirect/index.js.map +0 -7
  661. package/dist/cjs/biz-components/IPRedirect/type.d.ts +0 -36
  662. package/dist/cjs/biz-components/IPRedirect/type.js +0 -2
  663. package/dist/cjs/biz-components/IPRedirect/type.js.map +0 -7
  664. package/dist/cjs/biz-components/IPRedirect/useAutoRedirect.d.ts +0 -66
  665. package/dist/cjs/biz-components/IPRedirect/useAutoRedirect.js +0 -2
  666. package/dist/cjs/biz-components/IPRedirect/useAutoRedirect.js.map +0 -7
  667. package/dist/cjs/biz-components/IPRedirect/useDetectedRegionRedirect.d.ts +0 -51
  668. package/dist/cjs/biz-components/IPRedirect/useDetectedRegionRedirect.js +0 -2
  669. package/dist/cjs/biz-components/IPRedirect/useDetectedRegionRedirect.js.map +0 -7
  670. package/dist/cjs/biz-components/IPRedirect/useIPRedirect.d.ts +0 -42
  671. package/dist/cjs/biz-components/IPRedirect/useIPRedirect.js +0 -2
  672. package/dist/cjs/biz-components/IPRedirect/useIPRedirect.js.map +0 -7
  673. package/dist/cjs/biz-components/IPRedirect/useRedirectBanner.d.ts +0 -108
  674. package/dist/cjs/biz-components/IPRedirect/useRedirectBanner.js +0 -2
  675. package/dist/cjs/biz-components/IPRedirect/useRedirectBanner.js.map +0 -7
  676. package/dist/cjs/biz-components/IPRedirect/useRegionRedirectManager.d.ts +0 -152
  677. package/dist/cjs/biz-components/IPRedirect/useRegionRedirectManager.js +0 -2
  678. package/dist/cjs/biz-components/IPRedirect/useRegionRedirectManager.js.map +0 -7
  679. package/dist/cjs/biz-components/IPRedirect/useSavedRegionRedirect.d.ts +0 -51
  680. package/dist/cjs/biz-components/IPRedirect/useSavedRegionRedirect.js +0 -2
  681. package/dist/cjs/biz-components/IPRedirect/useSavedRegionRedirect.js.map +0 -7
  682. package/dist/cjs/biz-components/IPRedirect/utils.d.ts +0 -222
  683. package/dist/cjs/biz-components/IPRedirect/utils.js +0 -2
  684. package/dist/cjs/biz-components/IPRedirect/utils.js.map +0 -7
  685. package/dist/cjs/biz-components/ImageOverlayShelf/index.d.ts +0 -114
  686. package/dist/cjs/biz-components/ImageOverlayShelf/index.js +0 -2
  687. package/dist/cjs/biz-components/ImageOverlayShelf/index.js.map +0 -7
  688. package/dist/cjs/biz-components/Media/index.d.ts +0 -32
  689. package/dist/cjs/biz-components/Media/index.js +0 -2
  690. package/dist/cjs/biz-components/Media/index.js.map +0 -7
  691. package/dist/cjs/biz-components/MediaShelf/index.d.ts +0 -231
  692. package/dist/cjs/biz-components/MediaShelf/index.js +0 -2
  693. package/dist/cjs/biz-components/MediaShelf/index.js.map +0 -7
  694. package/dist/cjs/biz-components/MediaShelf/types.d.ts +0 -37
  695. package/dist/cjs/biz-components/MediaShelf/types.js +0 -2
  696. package/dist/cjs/biz-components/MediaShelf/types.js.map +0 -7
  697. package/dist/cjs/biz-components/MiniCart/index.d.ts +0 -88
  698. package/dist/cjs/biz-components/MiniCart/index.js +0 -2
  699. package/dist/cjs/biz-components/MiniCart/index.js.map +0 -7
  700. package/dist/cjs/biz-components/PromotionalBar/index.d.ts +0 -49
  701. package/dist/cjs/biz-components/PromotionalBar/index.js +0 -2
  702. package/dist/cjs/biz-components/PromotionalBar/index.js.map +0 -7
  703. package/dist/cjs/biz-components/SecondaryBanner/index.d.ts +0 -69
  704. package/dist/cjs/biz-components/SecondaryBanner/index.js +0 -2
  705. package/dist/cjs/biz-components/SecondaryBanner/index.js.map +0 -7
  706. package/dist/cjs/biz-components/Title/Countdown.d.ts +0 -14
  707. package/dist/cjs/biz-components/Title/Countdown.js +0 -2
  708. package/dist/cjs/biz-components/Title/Countdown.js.map +0 -7
  709. package/dist/cjs/biz-components/WheelLottery/BaseModal.d.ts +0 -55
  710. package/dist/cjs/biz-components/WheelLottery/BaseModal.js +0 -12
  711. package/dist/cjs/biz-components/WheelLottery/BaseModal.js.map +0 -7
  712. package/dist/cjs/biz-components/WheelLottery/ChanceMethods.d.ts +0 -30
  713. package/dist/cjs/biz-components/WheelLottery/ChanceMethods.js +0 -2
  714. package/dist/cjs/biz-components/WheelLottery/ChanceMethods.js.map +0 -7
  715. package/dist/cjs/biz-components/WheelLottery/ErrorModal.d.ts +0 -42
  716. package/dist/cjs/biz-components/WheelLottery/ErrorModal.js +0 -2
  717. package/dist/cjs/biz-components/WheelLottery/ErrorModal.js.map +0 -7
  718. package/dist/cjs/biz-components/WheelLottery/MyRewardsModal.d.ts +0 -91
  719. package/dist/cjs/biz-components/WheelLottery/MyRewardsModal.js +0 -2
  720. package/dist/cjs/biz-components/WheelLottery/MyRewardsModal.js.map +0 -7
  721. package/dist/cjs/biz-components/WheelLottery/PrizePool.d.ts +0 -26
  722. package/dist/cjs/biz-components/WheelLottery/PrizePool.js +0 -2
  723. package/dist/cjs/biz-components/WheelLottery/PrizePool.js.map +0 -7
  724. package/dist/cjs/biz-components/WheelLottery/RulesModal.d.ts +0 -47
  725. package/dist/cjs/biz-components/WheelLottery/RulesModal.js +0 -2
  726. package/dist/cjs/biz-components/WheelLottery/RulesModal.js.map +0 -7
  727. package/dist/cjs/biz-components/WheelLottery/ShareModal.d.ts +0 -74
  728. package/dist/cjs/biz-components/WheelLottery/ShareModal.js +0 -2
  729. package/dist/cjs/biz-components/WheelLottery/ShareModal.js.map +0 -7
  730. package/dist/cjs/biz-components/WheelLottery/Wheel.d.ts +0 -27
  731. package/dist/cjs/biz-components/WheelLottery/Wheel.js +0 -2
  732. package/dist/cjs/biz-components/WheelLottery/Wheel.js.map +0 -7
  733. package/dist/cjs/biz-components/WheelLottery/WinnerModal.d.ts +0 -25
  734. package/dist/cjs/biz-components/WheelLottery/WinnerModal.js +0 -2
  735. package/dist/cjs/biz-components/WheelLottery/WinnerModal.js.map +0 -7
  736. package/dist/cjs/biz-components/WheelLottery/index.d.ts +0 -52
  737. package/dist/cjs/biz-components/WheelLottery/index.js +0 -2
  738. package/dist/cjs/biz-components/WheelLottery/index.js.map +0 -7
  739. package/dist/cjs/biz-components/WheelLottery/types.d.ts +0 -1219
  740. package/dist/cjs/biz-components/WheelLottery/types.js +0 -2
  741. package/dist/cjs/biz-components/WheelLottery/types.js.map +0 -7
  742. package/dist/cjs/components/paginator.d.ts +0 -12
  743. package/dist/cjs/components/paginator.js +0 -7
  744. package/dist/cjs/components/paginator.js.map +0 -7
  745. package/dist/cjs/components/progress.d.ts +0 -46
  746. package/dist/cjs/components/progress.js +0 -2
  747. package/dist/cjs/components/progress.js.map +0 -7
  748. package/dist/cjs/helpers/priceFormatting.d.ts +0 -11
  749. package/dist/cjs/helpers/priceFormatting.js +0 -2
  750. package/dist/cjs/helpers/priceFormatting.js.map +0 -7
  751. package/dist/cjs/hooks/index.d.ts +0 -2
  752. package/dist/cjs/hooks/index.js +0 -2
  753. package/dist/cjs/hooks/index.js.map +0 -7
  754. package/dist/cjs/hooks/useCoupon.d.ts +0 -111
  755. package/dist/cjs/hooks/useCoupon.js +0 -2
  756. package/dist/cjs/hooks/useCoupon.js.map +0 -7
  757. package/dist/cjs/hooks/useMemberPrice.d.ts +0 -155
  758. package/dist/cjs/hooks/useMemberPrice.js +0 -2
  759. package/dist/cjs/hooks/useMemberPrice.js.map +0 -7
  760. package/dist/esm/biz-components/ActiveShelf/index.d.ts +0 -174
  761. package/dist/esm/biz-components/ActiveShelf/index.js +0 -2
  762. package/dist/esm/biz-components/ActiveShelf/index.js.map +0 -7
  763. package/dist/esm/biz-components/ActiveShelf/types.d.ts +0 -89
  764. package/dist/esm/biz-components/ActiveShelf/types.js +0 -2
  765. package/dist/esm/biz-components/ActiveShelf/types.js.map +0 -7
  766. package/dist/esm/biz-components/AnchorNavigation/index.d.ts +0 -42
  767. package/dist/esm/biz-components/AnchorNavigation/index.js +0 -2
  768. package/dist/esm/biz-components/AnchorNavigation/index.js.map +0 -7
  769. package/dist/esm/biz-components/AnchorNavigation/useAnchorPosition.d.ts +0 -2
  770. package/dist/esm/biz-components/AnchorNavigation/useAnchorPosition.js +0 -2
  771. package/dist/esm/biz-components/AnchorNavigation/useAnchorPosition.js.map +0 -7
  772. package/dist/esm/biz-components/BrandCardLink/BrandCardLink.d.ts +0 -6
  773. package/dist/esm/biz-components/BrandCardLink/BrandCardLink.js +0 -2
  774. package/dist/esm/biz-components/BrandCardLink/BrandCardLink.js.map +0 -7
  775. package/dist/esm/biz-components/BrandCardLink/index.d.ts +0 -1
  776. package/dist/esm/biz-components/BrandCardLink/index.js +0 -2
  777. package/dist/esm/biz-components/BrandCardLink/index.js.map +0 -7
  778. package/dist/esm/biz-components/BrandCardLink/types.d.ts +0 -19
  779. package/dist/esm/biz-components/BrandCardLink/types.js +0 -1
  780. package/dist/esm/biz-components/BrandCardLink/types.js.map +0 -7
  781. package/dist/esm/biz-components/BuyOneGetOneShelf/ProductCard.d.ts +0 -74
  782. package/dist/esm/biz-components/BuyOneGetOneShelf/ProductCard.js +0 -2
  783. package/dist/esm/biz-components/BuyOneGetOneShelf/ProductCard.js.map +0 -7
  784. package/dist/esm/biz-components/BuyOneGetOneShelf/hooks/useBogoDataTransform.d.ts +0 -36
  785. package/dist/esm/biz-components/BuyOneGetOneShelf/hooks/useBogoDataTransform.js +0 -2
  786. package/dist/esm/biz-components/BuyOneGetOneShelf/hooks/useBogoDataTransform.js.map +0 -7
  787. package/dist/esm/biz-components/BuyOneGetOneShelf/index.d.ts +0 -193
  788. package/dist/esm/biz-components/BuyOneGetOneShelf/index.js +0 -2
  789. package/dist/esm/biz-components/BuyOneGetOneShelf/index.js.map +0 -7
  790. package/dist/esm/biz-components/EventSchedule/index.d.ts +0 -63
  791. package/dist/esm/biz-components/EventSchedule/index.js +0 -2
  792. package/dist/esm/biz-components/EventSchedule/index.js.map +0 -7
  793. package/dist/esm/biz-components/IPRedirect/RegionBanner.d.ts +0 -37
  794. package/dist/esm/biz-components/IPRedirect/RegionBanner.js +0 -60
  795. package/dist/esm/biz-components/IPRedirect/RegionBanner.js.map +0 -7
  796. package/dist/esm/biz-components/IPRedirect/RegionSelectorModal.d.ts +0 -47
  797. package/dist/esm/biz-components/IPRedirect/RegionSelectorModal.js +0 -33
  798. package/dist/esm/biz-components/IPRedirect/RegionSelectorModal.js.map +0 -7
  799. package/dist/esm/biz-components/IPRedirect/index.d.ts +0 -9
  800. package/dist/esm/biz-components/IPRedirect/index.js +0 -2
  801. package/dist/esm/biz-components/IPRedirect/index.js.map +0 -7
  802. package/dist/esm/biz-components/IPRedirect/type.d.ts +0 -36
  803. package/dist/esm/biz-components/IPRedirect/type.js +0 -1
  804. package/dist/esm/biz-components/IPRedirect/type.js.map +0 -7
  805. package/dist/esm/biz-components/IPRedirect/useAutoRedirect.d.ts +0 -66
  806. package/dist/esm/biz-components/IPRedirect/useAutoRedirect.js +0 -2
  807. package/dist/esm/biz-components/IPRedirect/useAutoRedirect.js.map +0 -7
  808. package/dist/esm/biz-components/IPRedirect/useDetectedRegionRedirect.d.ts +0 -51
  809. package/dist/esm/biz-components/IPRedirect/useDetectedRegionRedirect.js +0 -2
  810. package/dist/esm/biz-components/IPRedirect/useDetectedRegionRedirect.js.map +0 -7
  811. package/dist/esm/biz-components/IPRedirect/useIPRedirect.d.ts +0 -42
  812. package/dist/esm/biz-components/IPRedirect/useIPRedirect.js +0 -2
  813. package/dist/esm/biz-components/IPRedirect/useIPRedirect.js.map +0 -7
  814. package/dist/esm/biz-components/IPRedirect/useRedirectBanner.d.ts +0 -108
  815. package/dist/esm/biz-components/IPRedirect/useRedirectBanner.js +0 -2
  816. package/dist/esm/biz-components/IPRedirect/useRedirectBanner.js.map +0 -7
  817. package/dist/esm/biz-components/IPRedirect/useRegionRedirectManager.d.ts +0 -152
  818. package/dist/esm/biz-components/IPRedirect/useRegionRedirectManager.js +0 -2
  819. package/dist/esm/biz-components/IPRedirect/useRegionRedirectManager.js.map +0 -7
  820. package/dist/esm/biz-components/IPRedirect/useSavedRegionRedirect.d.ts +0 -51
  821. package/dist/esm/biz-components/IPRedirect/useSavedRegionRedirect.js +0 -2
  822. package/dist/esm/biz-components/IPRedirect/useSavedRegionRedirect.js.map +0 -7
  823. package/dist/esm/biz-components/IPRedirect/utils.d.ts +0 -222
  824. package/dist/esm/biz-components/IPRedirect/utils.js +0 -2
  825. package/dist/esm/biz-components/IPRedirect/utils.js.map +0 -7
  826. package/dist/esm/biz-components/ImageOverlayShelf/index.d.ts +0 -114
  827. package/dist/esm/biz-components/ImageOverlayShelf/index.js +0 -2
  828. package/dist/esm/biz-components/ImageOverlayShelf/index.js.map +0 -7
  829. package/dist/esm/biz-components/Media/index.d.ts +0 -32
  830. package/dist/esm/biz-components/Media/index.js +0 -2
  831. package/dist/esm/biz-components/Media/index.js.map +0 -7
  832. package/dist/esm/biz-components/MediaShelf/index.d.ts +0 -231
  833. package/dist/esm/biz-components/MediaShelf/index.js +0 -2
  834. package/dist/esm/biz-components/MediaShelf/index.js.map +0 -7
  835. package/dist/esm/biz-components/MediaShelf/types.d.ts +0 -37
  836. package/dist/esm/biz-components/MediaShelf/types.js +0 -2
  837. package/dist/esm/biz-components/MediaShelf/types.js.map +0 -7
  838. package/dist/esm/biz-components/MiniCart/index.d.ts +0 -88
  839. package/dist/esm/biz-components/MiniCart/index.js +0 -2
  840. package/dist/esm/biz-components/MiniCart/index.js.map +0 -7
  841. package/dist/esm/biz-components/PromotionalBar/index.d.ts +0 -49
  842. package/dist/esm/biz-components/PromotionalBar/index.js +0 -2
  843. package/dist/esm/biz-components/PromotionalBar/index.js.map +0 -7
  844. package/dist/esm/biz-components/SecondaryBanner/index.d.ts +0 -69
  845. package/dist/esm/biz-components/SecondaryBanner/index.js +0 -2
  846. package/dist/esm/biz-components/SecondaryBanner/index.js.map +0 -7
  847. package/dist/esm/biz-components/Title/Countdown.d.ts +0 -14
  848. package/dist/esm/biz-components/Title/Countdown.js +0 -2
  849. package/dist/esm/biz-components/Title/Countdown.js.map +0 -7
  850. package/dist/esm/biz-components/WheelLottery/BaseModal.d.ts +0 -55
  851. package/dist/esm/biz-components/WheelLottery/BaseModal.js +0 -12
  852. package/dist/esm/biz-components/WheelLottery/BaseModal.js.map +0 -7
  853. package/dist/esm/biz-components/WheelLottery/ChanceMethods.d.ts +0 -30
  854. package/dist/esm/biz-components/WheelLottery/ChanceMethods.js +0 -2
  855. package/dist/esm/biz-components/WheelLottery/ChanceMethods.js.map +0 -7
  856. package/dist/esm/biz-components/WheelLottery/ErrorModal.d.ts +0 -42
  857. package/dist/esm/biz-components/WheelLottery/ErrorModal.js +0 -2
  858. package/dist/esm/biz-components/WheelLottery/ErrorModal.js.map +0 -7
  859. package/dist/esm/biz-components/WheelLottery/MyRewardsModal.d.ts +0 -91
  860. package/dist/esm/biz-components/WheelLottery/MyRewardsModal.js +0 -2
  861. package/dist/esm/biz-components/WheelLottery/MyRewardsModal.js.map +0 -7
  862. package/dist/esm/biz-components/WheelLottery/PrizePool.d.ts +0 -26
  863. package/dist/esm/biz-components/WheelLottery/PrizePool.js +0 -2
  864. package/dist/esm/biz-components/WheelLottery/PrizePool.js.map +0 -7
  865. package/dist/esm/biz-components/WheelLottery/RulesModal.d.ts +0 -47
  866. package/dist/esm/biz-components/WheelLottery/RulesModal.js +0 -2
  867. package/dist/esm/biz-components/WheelLottery/RulesModal.js.map +0 -7
  868. package/dist/esm/biz-components/WheelLottery/ShareModal.d.ts +0 -74
  869. package/dist/esm/biz-components/WheelLottery/ShareModal.js +0 -2
  870. package/dist/esm/biz-components/WheelLottery/ShareModal.js.map +0 -7
  871. package/dist/esm/biz-components/WheelLottery/Wheel.d.ts +0 -27
  872. package/dist/esm/biz-components/WheelLottery/Wheel.js +0 -2
  873. package/dist/esm/biz-components/WheelLottery/Wheel.js.map +0 -7
  874. package/dist/esm/biz-components/WheelLottery/WinnerModal.d.ts +0 -25
  875. package/dist/esm/biz-components/WheelLottery/WinnerModal.js +0 -2
  876. package/dist/esm/biz-components/WheelLottery/WinnerModal.js.map +0 -7
  877. package/dist/esm/biz-components/WheelLottery/index.d.ts +0 -52
  878. package/dist/esm/biz-components/WheelLottery/index.js +0 -2
  879. package/dist/esm/biz-components/WheelLottery/index.js.map +0 -7
  880. package/dist/esm/biz-components/WheelLottery/types.d.ts +0 -1219
  881. package/dist/esm/biz-components/WheelLottery/types.js +0 -2
  882. package/dist/esm/biz-components/WheelLottery/types.js.map +0 -7
  883. package/dist/esm/components/paginator.d.ts +0 -12
  884. package/dist/esm/components/paginator.js +0 -7
  885. package/dist/esm/components/paginator.js.map +0 -7
  886. package/dist/esm/components/progress.d.ts +0 -46
  887. package/dist/esm/components/progress.js +0 -2
  888. package/dist/esm/components/progress.js.map +0 -7
  889. package/dist/esm/helpers/priceFormatting.d.ts +0 -11
  890. package/dist/esm/helpers/priceFormatting.js +0 -2
  891. package/dist/esm/helpers/priceFormatting.js.map +0 -7
  892. package/dist/esm/hooks/index.d.ts +0 -2
  893. package/dist/esm/hooks/index.js +0 -2
  894. package/dist/esm/hooks/index.js.map +0 -7
  895. package/dist/esm/hooks/useCoupon.d.ts +0 -111
  896. package/dist/esm/hooks/useCoupon.js +0 -2
  897. package/dist/esm/hooks/useCoupon.js.map +0 -7
  898. package/dist/esm/hooks/useMemberPrice.d.ts +0 -155
  899. package/dist/esm/hooks/useMemberPrice.js +0 -2
  900. package/dist/esm/hooks/useMemberPrice.js.map +0 -7
@@ -1,155 +0,0 @@
1
- /**
2
- * 价格结尾配置类型
3
- */
4
- export interface PriceEndingConfig {
5
- apply_price_ending: boolean;
6
- one_decimal_place: number;
7
- two_decimal_place: number;
8
- round_selected: number;
9
- }
10
- /**
11
- * 折扣配置类型
12
- * 原始位置: @projectTypes/metafields/discountMetafields
13
- */
14
- export interface DiscountConfig {
15
- discount_type: number;
16
- discount_value: number;
17
- price_ending_conf: PriceEndingConfig;
18
- }
19
- /**
20
- * 产品选项值类型
21
- */
22
- export interface ProductOptionValues {
23
- label: string;
24
- hexColors?: string[];
25
- }
26
- /**
27
- * 产品选项类型
28
- */
29
- export interface ProductOption {
30
- __typename?: 'MultipleChoiceOption';
31
- id: string;
32
- name: string;
33
- values: ProductOptionValues[];
34
- }
35
- /**
36
- * 产品价格类型
37
- */
38
- export interface ProductPrice {
39
- amount: number;
40
- currencyCode: string;
41
- }
42
- /**
43
- * 简化的产品变体类型定义
44
- * 原始位置: @shopify (lib/shopify/types/product.ts)
45
- */
46
- export interface ProductVariant {
47
- id: string | number;
48
- options?: ProductOption[];
49
- sku?: string;
50
- metafields?: {
51
- [key: string]: any;
52
- };
53
- price?: ProductPrice | number;
54
- weight?: number;
55
- [key: string]: any;
56
- }
57
- /**
58
- * 用户身份类型
59
- * 1 - 普通会员
60
- * 2 - Plus 会员
61
- */
62
- type userIdentity = 1 | 2;
63
- /**
64
- * 会员价格配置类型
65
- * 原始位置: @projectTypes/metafields/discountMetafields
66
- */
67
- export interface FunctionMemberPriceConfig {
68
- result_detail: {
69
- member_discounts: {
70
- user_identity: userIdentity;
71
- main_products: {
72
- variants: {
73
- variant_id: string;
74
- sku: string;
75
- handle: string;
76
- discount_value: number;
77
- }[];
78
- skip_variants: {
79
- variant_id: string;
80
- sku: string;
81
- handle: string;
82
- discount_value: number;
83
- }[];
84
- dynamic_conf: {
85
- in_collections?: string[];
86
- not_in_collections?: string[];
87
- in_products?: string[];
88
- not_in_products?: string[];
89
- SKU: {
90
- in?: string[];
91
- not_in?: string[];
92
- start_with?: string;
93
- notstart_with?: string;
94
- end_with?: string;
95
- unend_with?: string;
96
- contain?: string;
97
- uncontain?: string;
98
- };
99
- };
100
- all_store_variant: boolean;
101
- };
102
- discount_conf: DiscountConfig;
103
- }[];
104
- limit_discount_max: number;
105
- };
106
- discount_combinations: {
107
- other_order_discounts: boolean;
108
- other_product_discounts: boolean;
109
- shipping_discounts: boolean;
110
- };
111
- [key: string]: any;
112
- }
113
- export declare enum DISCOUNT_TYPE {
114
- PERCENTAGE = 1,// 百分比
115
- FIXED_AMOUNT = 2,// 固定金额
116
- FIXED_PRICE = 3
117
- }
118
- export declare enum ROUND_SELECTED {
119
- ROUND_HIGHEST = 1,// 向上取整
120
- ROUND_LOWEST = 2,// 向下取整
121
- ROUND_NEAREST = 3
122
- }
123
- export type DiscountGroup = {
124
- discountConfigList: DiscountConfig[];
125
- useCoupon: boolean;
126
- };
127
- export type MemberPriceDiscountParams = {
128
- config?: FunctionMemberPriceConfig[];
129
- variant?: ProductVariant;
130
- };
131
- export type MemberPriceDiscountResult = {
132
- list: DiscountGroup[];
133
- };
134
- /**
135
- * 获取会员价折扣配置 (合并后的统一函数)
136
- * @param config - 会员价格配置列表 (支持任意格式,会自动适配)
137
- * @param variant - 产品变体 (支持任意格式,会自动适配)
138
- * @returns 分类后的折扣配置列表
139
- */
140
- export declare const getFunctionMemberPriceDiscountConfig: ({ config, variant, }: {
141
- config?: FunctionMemberPriceConfig[];
142
- variant?: any;
143
- }) => any;
144
- /**
145
- * 会员价格hooks
146
- */
147
- declare const useMemberPrice: (variant: any, memberPriceConfig: any) => {
148
- hasMemberPrice: any;
149
- hasPlusMemberPrice: any;
150
- withCouponMemberPriceDiscount: number;
151
- withCouponPlusMemberPriceDiscount: number;
152
- withoutCouponMemberPriceDiscount: number;
153
- withoutCouponPlusMemberPriceDiscount: number;
154
- };
155
- export default useMemberPrice;
@@ -1,2 +0,0 @@
1
- "use strict";var C=Object.create;var _=Object.defineProperty;var M=Object.getOwnPropertyDescriptor;var w=Object.getOwnPropertyNames;var x=Object.getPrototypeOf,v=Object.prototype.hasOwnProperty;var E=(n,t)=>{for(var e in t)_(n,e,{get:t[e],enumerable:!0})},b=(n,t,e,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of w(t))!v.call(n,o)&&o!==e&&_(n,o,{get:()=>t[o],enumerable:!(i=M(t,o))||i.enumerable});return n};var R=(n,t,e)=>(e=n!=null?C(x(n)):{},b(t||!n||!n.__esModule?_(e,"default",{value:n,enumerable:!0}):e,n)),I=n=>b(_({},"__esModule",{value:!0}),n);var V={};E(V,{DISCOUNT_TYPE:()=>y,ROUND_SELECTED:()=>P,default:()=>N,getFunctionMemberPriceDiscountConfig:()=>D});module.exports=I(V);var f=require("../helpers/utils.js"),p=R(require("decimal.js")),y=(i=>(i[i.PERCENTAGE=1]="PERCENTAGE",i[i.FIXED_AMOUNT=2]="FIXED_AMOUNT",i[i.FIXED_PRICE=3]="FIXED_PRICE",i))(y||{}),P=(i=>(i[i.ROUND_HIGHEST=1]="ROUND_HIGHEST",i[i.ROUND_LOWEST=2]="ROUND_LOWEST",i[i.ROUND_NEAREST=3]="ROUND_NEAREST",i))(P||{});const O=(n,t)=>({discountConfigList:n,useCoupon:t}),A=(n,t)=>n.main_products.all_store_variant||n.main_products.variants.some(e=>String(e.variant_id)===t),F=n=>n.map(t=>({...t?.discount_conf,user_identity:t.user_identity})).filter(t=>t!==void 0),D=({config:n,variant:t})=>{if(!n?.length||!t)return{list:[]};const e=(0,f.atobID)(t.id);return e?{list:[!1,!0].map(i=>O(n.flatMap(o=>{const r=o.result_detail.member_discounts?.filter(l=>A(l,e))||[],s=F(r);return o?.discount_combinations?.other_product_discounts===i?s:[]}),i)).filter(i=>i.discountConfigList.length)}:{list:[]}},G=({config:n,price:t})=>{const e=new p.default(t),{apply_price_ending:i,one_decimal_place:o,two_decimal_place:r,round_selected:s}=n.price_ending_conf||{},a=()=>{switch(n.discount_type){case 1:return e.mul(100-n.discount_value).div(100);case 2:return e.sub(n.discount_value);case 3:return new p.default(n.discount_value);default:return e}},l=u=>{switch(s){case 1:return u.ceil();case 2:return u.floor();case 3:return u.round();default:return u}},g=u=>{if(!i)return u;const h=u.floor();return new p.default(`${h}.${o}${r}`)};let c=a();c=l(c);const d=g(c);return e.sub(d).toNumber()},m=(n,t,e,i)=>n.list.map(o=>o.discountConfigList.filter(r=>r.user_identity===t&&o.useCoupon===e).reduce((r,s)=>{const a=G({config:s,price:i});return r+a},0)).reduce((o,r)=>o+r,0),k=(n,t)=>{const e=D({config:t,variant:n});if(!e.list.length)return{hasMemberPrice:!1,hasPlusMemberPrice:!1,withCouponMemberPriceDiscount:0,withCouponPlusMemberPriceDiscount:0,withoutCouponMemberPriceDiscount:0,withoutCouponPlusMemberPriceDiscount:0};const i=e.list.some(c=>c.discountConfigList.some(d=>d.user_identity===1)),o=e.list.some(c=>c.discountConfigList.some(d=>d.user_identity===2)),r=n?.price||0,s=m(e,1,!0,r),a=m(e,2,!0,r),l=m(e,1,!1,r),g=m(e,2,!1,r);return{hasMemberPrice:i,hasPlusMemberPrice:o,withCouponMemberPriceDiscount:s,withCouponPlusMemberPriceDiscount:a,withoutCouponMemberPriceDiscount:l,withoutCouponPlusMemberPriceDiscount:g}};var N=k;
2
- //# sourceMappingURL=useMemberPrice.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/hooks/useMemberPrice.ts"],
4
- "sourcesContent": ["import { atobID } from '../helpers/utils.js'\nimport Decimal from 'decimal.js'\n\n/**\n * \u4EF7\u683C\u7ED3\u5C3E\u914D\u7F6E\u7C7B\u578B\n */\nexport interface PriceEndingConfig {\n apply_price_ending: boolean\n one_decimal_place: number\n two_decimal_place: number\n round_selected: number\n}\n\n/**\n * \u6298\u6263\u914D\u7F6E\u7C7B\u578B\n * \u539F\u59CB\u4F4D\u7F6E: @projectTypes/metafields/discountMetafields\n */\nexport interface DiscountConfig {\n discount_type: number\n discount_value: number\n price_ending_conf: PriceEndingConfig\n}\n\n/**\n * \u4EA7\u54C1\u9009\u9879\u503C\u7C7B\u578B\n */\nexport interface ProductOptionValues {\n label: string\n hexColors?: string[]\n}\n\n/**\n * \u4EA7\u54C1\u9009\u9879\u7C7B\u578B\n */\nexport interface ProductOption {\n __typename?: 'MultipleChoiceOption'\n id: string\n name: string\n values: ProductOptionValues[]\n}\n\n/**\n * \u4EA7\u54C1\u4EF7\u683C\u7C7B\u578B\n */\nexport interface ProductPrice {\n amount: number\n currencyCode: string\n}\n\n/**\n * \u7B80\u5316\u7684\u4EA7\u54C1\u53D8\u4F53\u7C7B\u578B\u5B9A\u4E49\n * \u539F\u59CB\u4F4D\u7F6E: @shopify (lib/shopify/types/product.ts)\n */\nexport interface ProductVariant {\n id: string | number\n options?: ProductOption[]\n sku?: string\n metafields?: {\n [key: string]: any\n }\n price?: ProductPrice | number\n weight?: number\n // \u5176\u4ED6 Shopify ProductVariant \u5C5E\u6027\u53EF\u4EE5\u6839\u636E\u9700\u8981\u6DFB\u52A0\n [key: string]: any\n}\n\n/**\n * \u7528\u6237\u8EAB\u4EFD\u7C7B\u578B\n * 1 - \u666E\u901A\u4F1A\u5458\n * 2 - Plus \u4F1A\u5458\n */\ntype userIdentity = 1 | 2\n\n/**\n * \u4F1A\u5458\u4EF7\u683C\u914D\u7F6E\u7C7B\u578B\n * \u539F\u59CB\u4F4D\u7F6E: @projectTypes/metafields/discountMetafields\n */\nexport interface FunctionMemberPriceConfig {\n // \u89C4\u5219\u7ED3\u679C\n result_detail: {\n member_discounts: {\n user_identity: userIdentity\n main_products: {\n // \u6307\u5B9A\u751F\u6548\u7684 variant\n variants: {\n variant_id: string\n sku: string\n handle: string\n discount_value: number\n }[]\n // \u4E0D\u751F\u6548\u7684 variant\n skip_variants: {\n variant_id: string\n sku: string\n handle: string\n discount_value: number\n }[]\n // \u751F\u6548\u7684 variant \u7684\u52A8\u6001\u914D\u7F6E\u89C4\u5219\n dynamic_conf: {\n // \u5728\u6307\u5B9A collection \u4E2D\n in_collections?: string[]\n // \u4E0D\u5728\u6307\u5B9A collection \u4E2D\n not_in_collections?: string[]\n // \u5728\u6307\u5B9A\u4EA7\u54C1\u4E2D\n in_products?: string[]\n // \u4E0D\u5728\u6307\u5B9A\u4EA7\u54C1\u4E2D\n not_in_products?: string[]\n // SKU\u540D\u79F0\u89C4\u5219\n SKU: {\n // \u5FC5\u987B\u5728\u6307\u5B9ASKU\u8303\u56F4\u5185\n in?: string[]\n // \u5FC5\u987B\u4E0D\u5728\u6307\u5B9ASKU\u8303\u56F4\u5185\n not_in?: string[]\n // \u5FC5\u987B\u4EE5\u6307\u5B9A\u5B57\u7B26\u4E32\u5F00\u5934\n start_with?: string\n // \u5FC5\u987B\u4E0D\u4EE5\u6307\u5B9A\u5B57\u7B26\u4E32\u5F00\u5934\n notstart_with?: string\n // \u5FC5\u987B\u4EE5\u6307\u5B9A\u5B57\u7B26\u4E32\u7ED3\u675F\n end_with?: string\n // \u5FC5\u987B\u4E0D\u4EE5\u6307\u5B9A\u5B57\u7B26\u4E32\u7ED3\u675F\n unend_with?: string\n // \u5FC5\u987B\u5305\u542B\u6307\u5B9A\u5B57\u7B26\u4E32\n contain?: string\n // \u5FC5\u987B\u4E0D\u5305\u542B\u6307\u5B9A\u5B57\u7B26\u4E32\n uncontain?: string\n }\n }\n all_store_variant: boolean\n }\n discount_conf: DiscountConfig\n }[]\n limit_discount_max: number\n }\n // \u6298\u6263\u53EF\u7EC4\u5408\u89C4\u5219\n discount_combinations: {\n // \u662F\u5426\u4E0E\u5176\u4ED6\u8BA2\u5355\u6298\u6263\u7EC4\u5408\n other_order_discounts: boolean\n // \u662F\u5426\u4E0E\u5176\u4ED6\u4EA7\u54C1\u6298\u6263\u7EC4\u5408\n other_product_discounts: boolean\n // \u662F\u5426\u4E0E\u5176\u4ED6\u8FD0\u8D39\u6298\u6263\u7EC4\u5408\n shipping_discounts: boolean\n }\n // \u5176\u4ED6\u53EF\u80FD\u7684\u914D\u7F6E\u9879\n [key: string]: any\n}\n\nexport enum DISCOUNT_TYPE {\n PERCENTAGE = 1, // \u767E\u5206\u6BD4\n FIXED_AMOUNT, // \u56FA\u5B9A\u91D1\u989D\n FIXED_PRICE, // \u56FA\u5B9A\u4EF7\u683C\n}\n\nexport enum ROUND_SELECTED {\n ROUND_HIGHEST = 1, // \u5411\u4E0A\u53D6\u6574\n ROUND_LOWEST, // \u5411\u4E0B\u53D6\u6574\n ROUND_NEAREST, // \u56DB\u820D\u4E94\u5165\n}\n\n// ==================== \u7C7B\u578B\u5B9A\u4E49 ====================\n\nexport type DiscountGroup = {\n discountConfigList: DiscountConfig[]\n useCoupon: boolean\n}\n\nexport type MemberPriceDiscountParams = {\n config?: FunctionMemberPriceConfig[]\n variant?: ProductVariant\n}\n\nexport type MemberPriceDiscountResult = {\n list: DiscountGroup[]\n}\n\n// ==================== \u51FD\u6570\u5B9E\u73B0 ====================\n\n/**\n * \u521B\u5EFA\u6298\u6263\u5206\u7EC4\n */\nconst createDiscountGroup = (discountConfigList: DiscountConfig[], useCoupon: boolean): DiscountGroup => ({\n discountConfigList,\n useCoupon,\n})\n\n/**\n * \u68C0\u67E5\u6298\u6263\u662F\u5426\u9002\u7528\u4E8E\u5F53\u524D\u53D8\u4F53\n */\nconst isDiscountApplicableToVariant = (discountItem: any, targetVariantId: string): boolean =>\n discountItem.main_products.all_store_variant ||\n discountItem.main_products.variants.some((variantConfig: any) => String(variantConfig.variant_id) === targetVariantId)\n\n/**\n * \u4ECE\u4F1A\u5458\u6298\u6263\u4E2D\u63D0\u53D6\u6709\u6548\u7684\u6298\u6263\u914D\u7F6E\n */\nconst extractValidDiscountConfigs = (memberDiscounts: any[]): DiscountConfig[] =>\n memberDiscounts\n .map(item => ({ ...item?.discount_conf, user_identity: item.user_identity }) as DiscountConfig | undefined)\n .filter((discount): discount is DiscountConfig => discount !== undefined)\n\n/**\n * \u83B7\u53D6\u4F1A\u5458\u4EF7\u6298\u6263\u914D\u7F6E (\u5408\u5E76\u540E\u7684\u7EDF\u4E00\u51FD\u6570)\n * @param config - \u4F1A\u5458\u4EF7\u683C\u914D\u7F6E\u5217\u8868 (\u652F\u6301\u4EFB\u610F\u683C\u5F0F\uFF0C\u4F1A\u81EA\u52A8\u9002\u914D)\n * @param variant - \u4EA7\u54C1\u53D8\u4F53 (\u652F\u6301\u4EFB\u610F\u683C\u5F0F\uFF0C\u4F1A\u81EA\u52A8\u9002\u914D)\n * @returns \u5206\u7C7B\u540E\u7684\u6298\u6263\u914D\u7F6E\u5217\u8868\n */\nexport const getFunctionMemberPriceDiscountConfig = ({\n config,\n variant,\n}: {\n config?: FunctionMemberPriceConfig[]\n variant?: any\n}): any => {\n // \u53C2\u6570\u9A8C\u8BC1\n if (!config?.length || !variant) {\n return { list: [] }\n }\n\n const currentVariantId = atobID(variant.id as string)\n\n // \u5982\u679C\u53D8\u4F53ID\u4E3A\u7A7A\uFF0C\u76F4\u63A5\u8FD4\u56DE\u7A7A\u7ED3\u679C\n if (!currentVariantId) {\n return { list: [] }\n }\n\n // \u76F4\u63A5\u8FD4\u56DE\u7ED3\u679C\uFF0C\u65E0\u4E2D\u95F4\u53D8\u91CF\n return {\n list: [false, true]\n .map(useCoupon =>\n createDiscountGroup(\n config.flatMap(memberPriceConfig => {\n const eligibleDiscounts =\n memberPriceConfig.result_detail.member_discounts?.filter(discountItem =>\n isDiscountApplicableToVariant(discountItem, currentVariantId)\n ) || []\n\n const extractedConfigs = extractValidDiscountConfigs(eligibleDiscounts)\n const canUseWithCoupon = memberPriceConfig?.discount_combinations?.other_product_discounts\n return canUseWithCoupon === useCoupon ? extractedConfigs : []\n }),\n useCoupon\n )\n )\n .filter(group => group.discountConfigList.length),\n }\n}\n\n/**\n * \u8BA1\u7B97\u4F1A\u5458\u6298\u6263\u91D1\u989D\n * @param config - \u6298\u6263\u914D\u7F6E\n * @param price - \u539F\u4EF7\n */\nconst calculateMemberDiscount = ({ config, price }: { config: DiscountConfig; price: number }) => {\n const originalPrice = new Decimal(price)\n const { apply_price_ending, one_decimal_place, two_decimal_place, round_selected } = config.price_ending_conf || {}\n\n // \u8BA1\u7B97\u6298\u6263\u540E\u4EF7\u683C\n const getDiscountedPrice = () => {\n switch (config.discount_type) {\n case DISCOUNT_TYPE.PERCENTAGE:\n return originalPrice.mul(100 - config.discount_value).div(100)\n case DISCOUNT_TYPE.FIXED_AMOUNT:\n return originalPrice.sub(config.discount_value)\n case DISCOUNT_TYPE.FIXED_PRICE:\n return new Decimal(config.discount_value)\n default:\n return originalPrice\n }\n }\n\n // \u5E94\u7528\u53D6\u6574\u89C4\u5219\n const applyRounding = (price: Decimal) => {\n switch (round_selected) {\n case ROUND_SELECTED.ROUND_HIGHEST:\n return price.ceil()\n case ROUND_SELECTED.ROUND_LOWEST:\n return price.floor()\n case ROUND_SELECTED.ROUND_NEAREST:\n return price.round()\n default:\n return price\n }\n }\n\n // \u5E94\u7528\u4EF7\u683C\u5C3E\u6570\u89C4\u5219\n const applyPriceEnding = (price: Decimal) => {\n if (!apply_price_ending) return price\n const integerPart = price.floor()\n return new Decimal(`${integerPart}.${one_decimal_place}${two_decimal_place}`)\n }\n\n // \u5206\u6B65\u5904\u7406\u4EF7\u683C\n let discountedPrice = getDiscountedPrice()\n discountedPrice = applyRounding(discountedPrice)\n const finalPrice = applyPriceEnding(discountedPrice)\n\n return originalPrice.sub(finalPrice).toNumber()\n}\n\n/**\n * \u8BA1\u7B97\u7279\u5B9A\u6761\u4EF6\u4E0B\u7684\u4F1A\u5458\u6298\u6263\u603B\u91D1\u989D\n * @param config \u6298\u6263\u914D\u7F6E\u5217\u8868\n * @param userIdentity \u7528\u6237\u8EAB\u4EFD (1: \u666E\u901A\u4F1A\u5458, 2: Plus\u4F1A\u5458)\n * @param useCoupon \u662F\u5426\u53EF\u4EE5\u4E0E\u4F18\u60E0\u5238\u4E00\u8D77\u4F7F\u7528\n * @param originalPrice \u539F\u4EF7\n */\nconst calculateMemberDiscountTotal = (\n config: any,\n userIdentity: userIdentity,\n useCoupon: boolean,\n originalPrice: number\n): number => {\n return config.list\n .map((group: any) => {\n return group.discountConfigList\n .filter((discount: any) => (discount as any).user_identity === userIdentity && group.useCoupon === useCoupon)\n .reduce((acc: number, discount: any) => {\n const discountAmount = calculateMemberDiscount({ config: discount, price: originalPrice })\n return acc + discountAmount\n }, 0)\n })\n .reduce((acc: number, curr: number) => acc + curr, 0)\n}\n\n/**\n * \u4F1A\u5458\u4EF7\u683Chooks\n */\nconst useMemberPrice = (variant: any, memberPriceConfig: any) => {\n const config = getFunctionMemberPriceDiscountConfig({\n config: memberPriceConfig,\n variant,\n })\n\n if (!config.list.length) {\n return {\n hasMemberPrice: false,\n hasPlusMemberPrice: false,\n withCouponMemberPriceDiscount: 0,\n withCouponPlusMemberPriceDiscount: 0,\n withoutCouponMemberPriceDiscount: 0,\n withoutCouponPlusMemberPriceDiscount: 0,\n }\n }\n\n const hasMemberPrice = config.list.some((group: any) =>\n group.discountConfigList.some(\n (discount: any) => (discount as any).user_identity === 1 // \u666E\u901A\u4F1A\u5458\n )\n )\n\n const hasPlusMemberPrice = config.list.some((group: any) =>\n group.discountConfigList.some(\n (discount: any) => (discount as any).user_identity === 2 // Plus \u4F1A\u5458\n )\n )\n\n const originalPrice = variant?.price || 0\n\n // \u4F7F\u7528\u63D0\u53D6\u7684\u516C\u5171\u51FD\u6570\u8BA1\u7B97\u5404\u79CD\u6298\u6263\n const withCouponMemberPriceDiscount = calculateMemberDiscountTotal(config, 1, true, originalPrice)\n const withCouponPlusMemberPriceDiscount = calculateMemberDiscountTotal(config, 2, true, originalPrice)\n const withoutCouponMemberPriceDiscount = calculateMemberDiscountTotal(config, 1, false, originalPrice)\n const withoutCouponPlusMemberPriceDiscount = calculateMemberDiscountTotal(config, 2, false, originalPrice)\n\n return {\n hasMemberPrice, // \u662F\u5426\u6709\u4F1A\u5458\u4EF7\n hasPlusMemberPrice, // \u662F\u5426\u6709Plus\u4F1A\u5458\u4EF7\n withCouponMemberPriceDiscount, // \u53EF\u4EE5\u4E0E\u4EA7\u54C1\u6298\u6263\u4E00\u8D77\u7528\u7684\u4F1A\u5458\u4EF7\u6298\u6263\u91D1\u989D\n withCouponPlusMemberPriceDiscount, // \u53EF\u4EE5\u4E0E\u4EA7\u54C1\u6298\u6263\u4E00\u8D77\u7528\u7684Plus\u4F1A\u5458\u4EF7\u6298\u6263\u91D1\u989D\n withoutCouponMemberPriceDiscount, // \u4E0D\u53EF\u4EE5\u4E0E\u4EA7\u54C1\u6298\u6263\u4E00\u8D77\u7528\u7684\u4F1A\u5458\u4EF7\u6298\u6263\u91D1\u989D\n withoutCouponPlusMemberPriceDiscount, // \u4E0D\u53EF\u4EE5\u4E0E\u4EA7\u54C1\u6298\u6263\u4E00\u8D77\u7528\u7684Plus\u4F1A\u5458\u4EF7\u6298\u6263\u91D1\u989D\n }\n}\n\nexport default useMemberPrice\n"],
5
- "mappings": "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",
6
- "names": ["useMemberPrice_exports", "__export", "DISCOUNT_TYPE", "ROUND_SELECTED", "useMemberPrice_default", "getFunctionMemberPriceDiscountConfig", "__toCommonJS", "import_utils", "import_decimal", "createDiscountGroup", "discountConfigList", "useCoupon", "isDiscountApplicableToVariant", "discountItem", "targetVariantId", "variantConfig", "extractValidDiscountConfigs", "memberDiscounts", "item", "discount", "config", "variant", "currentVariantId", "memberPriceConfig", "eligibleDiscounts", "extractedConfigs", "group", "calculateMemberDiscount", "price", "originalPrice", "Decimal", "apply_price_ending", "one_decimal_place", "two_decimal_place", "round_selected", "getDiscountedPrice", "applyRounding", "applyPriceEnding", "integerPart", "discountedPrice", "finalPrice", "calculateMemberDiscountTotal", "userIdentity", "acc", "discountAmount", "curr", "useMemberPrice", "hasMemberPrice", "hasPlusMemberPrice", "withCouponMemberPriceDiscount", "withCouponPlusMemberPriceDiscount", "withoutCouponMemberPriceDiscount", "withoutCouponPlusMemberPriceDiscount"]
7
- }
@@ -1,174 +0,0 @@
1
- import * as React from 'react';
2
- import 'swiper/css';
3
- import 'swiper/css/navigation';
4
- import type { MemberDiscountConfig } from './types.js';
5
- import type { CopyConfig } from './types.js';
6
- /**
7
- * 语义化类名
8
- */
9
- type ActiveShelfSemanticName = 'root' | 'title' | 'description' | 'productCard' | 'productTitle' | 'productDescription' | 'productPrice' | 'buttonGroup' | 'learnMoreButton' | 'shopNowButton' | 'stockBar';
10
- /**
11
- * 组件布局模式
12
- */
13
- export type ActiveShelfLayoutMode = 'flex' | 'horizontal';
14
- /**
15
- * Code Channel 配置 - 折扣前缀
16
- */
17
- export type CodeChannelConfig = string;
18
- /**
19
- * 库存展示模式
20
- */
21
- export type StockDisplayMode = 'always' | 'never' | 'below-quantity' | 'below-percentage';
22
- /**
23
- * ActiveShelf Context 配置接口
24
- */
25
- export interface ActiveShelfContextConfig {
26
- /** 布局模式:网格布局或横向滑动 */
27
- layoutMode?: ActiveShelfLayoutMode;
28
- /** Code Channel 配置 - 折扣前缀 */
29
- codeChannel?: CodeChannelConfig;
30
- /** 是否展示会员价格 */
31
- showMemberPrice?: boolean;
32
- /** 是否展示折扣标签 */
33
- showDiscount?: boolean;
34
- /** 是否展示标签系统 */
35
- showTags?: boolean;
36
- /** 库存展示模式 */
37
- stockDisplayMode?: StockDisplayMode;
38
- /** 库存阈值(当模式为 below-quantity 或 below-percentage 时使用) */
39
- stockThreshold?: number;
40
- /** 是否展示原价(删除线价格) */
41
- showOriginalPrice?: boolean;
42
- }
43
- /**
44
- * ActiveShelf Context 值接口
45
- */
46
- interface ActiveShelfContextValue extends ActiveShelfContextConfig {
47
- /** 点击了解更多回调 */
48
- onLearnMore?: (product: any, variant: any, coupon: any) => void;
49
- /** 点击立即购买回调 */
50
- onShopNow?: (product: any, variant: any, coupon: any) => void;
51
- functionDiscountConfig?: {
52
- memberPriceConfig?: MemberDiscountConfig;
53
- };
54
- /** 语义化类名 */
55
- classNames?: Partial<Record<ActiveShelfSemanticName, string>>;
56
- /** 了解更多按钮文本 */
57
- learnMoreText: string;
58
- /** 立即购买按钮文本 */
59
- shopNowText: string;
60
- /** 文案配置 */
61
- copy: Required<CopyConfig>;
62
- }
63
- /**
64
- * 使用 ActiveShelf Context 的 Hook
65
- */
66
- export declare const useActiveShelfContext: () => ActiveShelfContextValue;
67
- /**
68
- * 基础产品数据接口(来自外部数据源)
69
- */
70
- export interface BaseProductData {
71
- sku: string;
72
- name: string;
73
- image: string;
74
- value: string;
75
- handle: string;
76
- shopify_id: string;
77
- }
78
- /**
79
- * 完整的产品卡片数据接口
80
- */
81
- export interface ProductCardData extends BaseProductData {
82
- }
83
- /**
84
- * 产品分组Tab数据接口
85
- */
86
- export interface ProductTab {
87
- /** Tab ID */
88
- id: string;
89
- /** Tab 标题 */
90
- tab: string;
91
- /** 该分组下的产品数据 */
92
- data: ProductCardData[];
93
- }
94
- /**
95
- * ActiveShelf 业务组件数据接口
96
- */
97
- export interface ActiveShelfData {
98
- theme?: 'light' | 'dark';
99
- /** 组件标题 */
100
- title?: string;
101
- /** 组件描述 */
102
- description?: string;
103
- /** 分组产品Tab列表 */
104
- productsTab?: ProductTab[];
105
- /** 是否显示 Tab(默认:true) */
106
- isShowTab?: boolean;
107
- /** 了解更多按钮文本 */
108
- learnMoreText?: string;
109
- /** 立即购买按钮文本 */
110
- shopNowText?: string;
111
- /** 布局模式:网格布局或横向滑动 */
112
- layoutMode?: ActiveShelfLayoutMode;
113
- /** Code Channel 配置 - 折扣前缀 */
114
- codeChannel?: CodeChannelConfig;
115
- /** 是否展示会员价格 */
116
- showMemberPrice?: boolean;
117
- /** 是否展示折扣标签 */
118
- showDiscount?: boolean;
119
- /** 是否展示标签系统 */
120
- showTags?: boolean;
121
- /** 库存展示模式 */
122
- stockDisplayMode?: StockDisplayMode;
123
- /** 库存阈值(当模式为 below-quantity 或 below-percentage 时使用) */
124
- stockThreshold?: number;
125
- /**
126
- * 库存文本模板,支持 {count} 占位符
127
- */
128
- stockDisplayText?: string;
129
- /** 是否展示原价(删除线价格) */
130
- showOriginalPrice?: boolean;
131
- /** 用户状态 */
132
- /** 文案配置 */
133
- copy?: CopyConfig;
134
- /**
135
- * 产品列表(当不使用 Tab 分组时可直接传入产品列表)
136
- */
137
- productsCard: ProductCardData[];
138
- }
139
- export interface ActiveShelfProps extends React.HTMLAttributes<HTMLDivElement> {
140
- /** 业务数据 */
141
- data: ActiveShelfData;
142
- /** 点击了解更多回调 */
143
- onLearnMore?: (product: any, variant: any, coupon: any) => void;
144
- /** 点击立即购买回调 */
145
- onShopNow?: (product: any, variant: any, coupon: any) => void;
146
- /**
147
- * function 折扣配置
148
- */
149
- functionDiscountConfig?: {
150
- memberPriceConfig?: MemberDiscountConfig;
151
- };
152
- /**
153
- * 外部构建数据(用于合并产品数据)
154
- */
155
- buildData?: any[];
156
- /** 语义化类名 */
157
- classNames?: Partial<Record<ActiveShelfSemanticName, string>>;
158
- }
159
- /**
160
- * 产品卡片组件
161
- */
162
- declare const ProductCard: React.ForwardRefExoticComponent<{
163
- product: ProductCardData;
164
- shopifyProductData?: any;
165
- className?: string;
166
- } & React.RefAttributes<HTMLDivElement>>;
167
- /**
168
- * ActiveShelf - 活动货架
169
- *
170
- * @description 能够实时显示商品库存信息和会员价的货架,支持响应式布局和多种配置选项
171
- */
172
- declare const ActiveShelf: React.ForwardRefExoticComponent<ActiveShelfProps & React.RefAttributes<HTMLDivElement>>;
173
- export default ActiveShelf;
174
- export { ProductCard };
@@ -1,2 +0,0 @@
1
- "use client";import{Fragment as Z,jsx as e,jsxs as l}from"react/jsx-runtime";import*as g from"react";import{cn as u}from"../../helpers/index.js";import{Button as I,Badge as J,Card as K,CardContent as Q,Picture as X,Text as k,Heading as S,Tabs as Y,TabsList as ee,TabsTrigger as te,TabsContent as ie,Progress as oe}from"../../components/index.js";import{atobID as O}from"../../helpers/utils.js";import re from"../../hooks/useCoupon.js";import{Swiper as ae,SwiperSlide as ne}from"swiper/react";import{Navigation as se}from"swiper/modules";import{formatPrice as L}from"../../helpers/priceFormatting.js";import"swiper/css";import"swiper/css/navigation";import{useMemberPrice as le}from"../../hooks/index.js";import{useAiuiContext as ce}from"../AiuiProvider/index.js";import{defaultCopy as ue,defaultButtonTexts as j}from"./types.js";const V=999999999e-2,de=({disabled:a})=>l("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:[e("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:a?"0.2":"0.6"}),e("path",{d:"M31 22L25 28L31 34",stroke:"white",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}),pe=({disabled:a})=>l("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:[e("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:a?"0.2":"0.6"}),e("path",{d:"M25 22L31 28L25 34",stroke:"white",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]});function me(a,t,x,h){if(a===void 0)return!0;switch(a){case"always":return!0;case"never":return!1;case"below-quantity":return t===void 0?!0:x<=t;case"below-percentage":return t===void 0?!0:x/h<=t;default:return!0}}const F=g.createContext(null),W=()=>{const a=g.useContext(F);if(!a)throw new Error("useActiveShelfContext must be used within an ActiveShelfProvider");return a},A=g.forwardRef(({product:a,shopifyProductData:t,className:x},h)=>{const{showTags:C=!0,stockDisplayMode:P,stockThreshold:d,onLearnMore:N,onShopNow:T,classNames:i,codeChannel:p,functionDiscountConfig:B,learnMoreText:z,shopNowText:E,copy:c}=W(),{isLogin:w=!1,isPlusMember:M=!1,locale:y}=ce(),o=g.useMemo(()=>{if(!t?.variants)return null;const r=t.variants.find(n=>n.sku===a.sku);return typeof r.price=="object"&&(r.price=r.price.amount),r},[a,t]),v=re({variant:o,channel:p}),s=le(o,B?.memberPriceConfig),b=g.useMemo(()=>{let r=o?.price||0,n=r,m=Number(v?.fixed_value??0);return w&&M?(n=n-s.withCouponPlusMemberPriceDiscount,n=n-Math.max(s.withoutCouponPlusMemberPriceDiscount,m)):(n=n-s.withCouponMemberPriceDiscount,n=n-Math.max(s.withoutCouponMemberPriceDiscount,m)),{originalPrice:n<r?r:null,currentPrice:n,applyPlusMemberPrice:w&&M&&s.hasPlusMemberPrice,applyMemberPrice:s.hasMemberPrice}},[o?.price,v?.fixed_value,w,M,s.hasPlusMemberPrice,s.hasMemberPrice,s.withCouponMemberPriceDiscount,s.withoutCouponMemberPriceDiscount,s.withCouponPlusMemberPriceDiscount,s.withoutCouponPlusMemberPriceDiscount]),_=g.useMemo(()=>{const r=(o?.quantityAvailable??0)/(t?.totalInventory??1)*100;return r===0&&o.availableForSale?5:r},[o.availableForSale,o?.quantityAvailable,t?.totalInventory]),H=g.useMemo(()=>{if(!C)return[];const r=[],m=(o?.price||0)-b.currentPrice,f=s.hasPlusMemberPrice&&w&&M,$=!f&&s.hasMemberPrice;f&&m>0?r.push({label:L({amount:Number(m),currencyCode:t?.price?.currencyCode,locale:y})??c.plusMemberPriceLabel,variant:"promotional",promotionalType:"plus-member"}):$&&m>0?r.push({label:L({amount:Number(m),currencyCode:t?.price?.currencyCode,locale:y})??c.memberPriceLabel,variant:"promotional",promotionalType:"regular-member"}):v?.fixed_value&&r.push({label:c.discountLabel?.replace("{value}",L({amount:Number(v.fixed_value),currencyCode:t?.price?.currencyCode,locale:y})??""),variant:"fill"});const U=t?.tags?.filter(R=>R.startsWith("CLtag:"))?.slice(0,2-r.length)?.map(R=>({label:R.replace("CLtag:",""),variant:"outline"}))||[];return[...r,...U]},[C,o?.price,b.currentPrice,s.hasPlusMemberPrice,s.hasMemberPrice,w,M,v?.fixed_value,t?.tags,t?.price?.currencyCode,y,c.plusMemberPriceLabel,c.memberPriceLabel,c.discountLabel]),D=!o?.availableForSale||o?.price===V||o?.price?.amount===V;return e(K,{ref:h,className:u("bg-container-primary desktop:min-h-[464px] lg-desktop:min-h-[560px] flex min-h-[428px] flex-col overflow-hidden",x,i?.productCard),children:l(Q,{className:"desktop:p-6 relative flex flex-1 flex-col justify-between p-4",children:[e("div",{className:"lg-desktop:h-[28px] h-[24px]",children:H?.map((r,n)=>e(J,{size:"sm",variant:r.variant||"outline",className:u("mr-1"),promotionalType:r.promotionalType||"",children:r.label},n))}),e("div",{className:"product-image-wrapper lg-desktop:size-[196px] mx-auto size-[138px] overflow-hidden",children:e("a",{href:`/products/${t?.handle||a.handle}?variant=${o?.id?O(o.id):""}`,target:"_blank",rel:"noreferrer",children:e(X,{source:o?.image?.url||a.image,alt:o?.image?.altText||a.name,className:"aspect-square w-full object-cover",imgClassName:"w-full h-full"})})}),l("div",{className:"flex h-full flex-1 grow flex-col justify-between",children:[l("div",{className:"mb-4",children:[e(S,{as:"h3",size:2,className:u("text-info-primary mb-2 line-clamp-2 min-h-[2.4em]",i?.productTitle),children:a.name}),t?.description&&e(k,{size:2,className:u("text-info-secondary desktop:line-clamp-2 desktop:min-h-[2.4em] line-clamp-2 min-h-[2.4em]",i?.productDescription),children:t.description})]}),l(Z,{children:[b.applyPlusMemberPrice&&e(k,{size:4,className:"text-marketing-1 mt-2",children:c.plusMemberPriceLabel}),!b.applyPlusMemberPrice&&b.applyMemberPrice&&e(k,{size:4,className:"text-marketing-1 mt-2",children:c.memberPriceLabel})]}),l("div",{children:[e("div",{className:u("mb-2",i?.productPrice),children:e("div",{className:"flex items-baseline gap-2",children:D?e(S,{size:2,className:"text-info-tertiary",children:c.outOfStockLabel}):l(Z,{children:[e(S,{size:2,className:"text-info-primary",as:"h6",children:L({amount:Number(b.currentPrice),currencyCode:o?.price?.currencyCode,locale:y})}),b.originalPrice&&e(S,{size:2,className:"text-info-tertiary line-through",as:"h6",children:L({amount:Number(b.originalPrice),currencyCode:o?.price?.currencyCode,locale:y})})]})})}),l("div",{className:u("tablet:gap-3 mb-4 flex gap-2",i?.buttonGroup),children:[e(I,{variant:"secondary",size:"base",className:u("",i?.learnMoreButton),onClick:()=>N?.(t,o,v),children:z}),e(I,{variant:"primary",size:"base",className:u("",i?.shopNowButton),onClick:()=>T?.(t,o,v),disabled:D,children:E})]}),me(P,d,o?.quantityAvailable??0,t?.totalInventory??0)&&l("div",{className:"space-y-2",children:[e(oe,{value:_,max:100,min:0,size:"base",variant:"default","aria-label":"stock progress",classNames:{progressBar:u("bg-brand-0 transition-all duration-300 ease-in-out",i?.stockBar)}}),e(k,{size:3,className:"text-info-tertiary text-[14px]",children:c.stockDisplayText.replace("{count}",String(o?.quantityAvailable>0?o?.quantityAvailable:o?.availableForSale?"5":"0"))})]})]})]})]})})});A.displayName="ProductCard";const q=g.forwardRef(({products:a,layoutMode:t,className:x,buildData:h},C)=>{const{copy:P}=W(),[d,N]=g.useState({isBeginning:!0,isEnd:!1}),T=i=>!h||h.length===0?null:h.find(p=>O(p.id)===i);return a?.length===0?null:e("div",{ref:C,className:x,children:t==="flex"?e("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:a.map((i,p)=>e(A,{product:i,shopifyProductData:T(i.shopify_id),className:"shrink-0"},i.shopify_id+"-"+i.sku||p))}):l("div",{className:"relative",children:[e(ae,{modules:[se],spaceBetween:16,slidesPerView:"auto",autoHeight:!0,navigation:{nextEl:".swiper-button-next-custom",prevEl:".swiper-button-prev-custom"},onSwiper:i=>{N({isBeginning:i.isBeginning,isEnd:i.isEnd})},onSlideChange:i=>{N({isBeginning:i.isBeginning,isEnd:i.isEnd})},className:"!overflow-visible",children:a.map((i,p)=>e(ne,{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:e(A,{product:i,shopifyProductData:T(i.shopify_id),className:"w-full max-w-full"})},i.shopify_id+"-"+i.sku||p))}),e("button",{className:"swiper-button-prev-custom tablet:block absolute left-4 top-1/2 z-10 hidden -translate-y-1/2","aria-label":P.previousSlideLabel,disabled:d.isBeginning,children:e(de,{disabled:d.isBeginning})}),e("button",{className:"swiper-button-next-custom tablet:block absolute right-4 top-1/2 z-10 hidden -translate-y-1/2","aria-label":P.nextSlideLabel,disabled:d.isEnd,children:e(pe,{disabled:d.isEnd})})]})})});q.displayName="ProductsList";const G=g.forwardRef(({className:a,data:t,onLearnMore:x,onShopNow:h,buildData:C,functionDiscountConfig:P,classNames:d,...N},T)=>{const{theme:i="light",layoutMode:p="flex",codeChannel:B,showMemberPrice:z=!0,showDiscount:E=!0,showTags:c=!0,stockDisplayMode:w,stockThreshold:M,showOriginalPrice:y=!0,learnMoreText:o,shopNowText:v,isShowTab:s=!0,copy:b}=t,_={...ue,...b},H=o??j.learnMoreText,D=v??j.shopNowText,r={layoutMode:p,codeChannel:B,showMemberPrice:z,showDiscount:E,showTags:c,stockDisplayMode:w,stockThreshold:M,showOriginalPrice:y,onLearnMore:x,onShopNow:h,classNames:d,functionDiscountConfig:P,learnMoreText:H,shopNowText:D,copy:_},n=t.productsTab&&t.productsTab.length>0,m=s&&n;return e(F.Provider,{value:r,children:l("div",{ref:T,className:u("w-full",{"aiui-dark":i==="dark"},a,d?.root),...N,children:[t.title&&e(S,{as:"h2",size:4,className:u("text-info-primary mb-4",d?.title),children:t.title}),t.description&&e(k,{size:3,as:"p",className:u("text-info-primary mb-6",d?.description),children:t.description}),l(Y,{defaultValue:t.productsTab?.[0]?.id,className:"w-full",children:[m&&e(ee,{className:"mb-6",children:t.productsTab?.map(f=>e(te,{value:f.id,children:f.tab},"tab-"+f.id))}),m?t.productsTab?.map(f=>e(ie,{value:f.id,children:e(q,{products:f.data,layoutMode:p,buildData:C})},"tab-content-"+f.id)):e(q,{products:t.productsCard,layoutMode:p,buildData:C})]})]})})});G.displayName="ActiveShelf";var Te=G;export{A as ProductCard,Te as default,W as useActiveShelfContext};
2
- //# sourceMappingURL=index.js.map
@@ -1,7 +0,0 @@
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 {\n Button,\n Badge,\n Card,\n CardContent,\n Picture,\n Text,\n Heading,\n Tabs,\n TabsList,\n TabsTrigger,\n TabsContent,\n Progress,\n} from '../../components/index.js'\nimport { atobID } from '../../helpers/utils.js'\nimport useCoupon from '../../hooks/useCoupon.js'\nimport { Swiper, SwiperSlide } from 'swiper/react'\nimport { Navigation } from 'swiper/modules'\nimport { formatPrice } from '../../helpers/priceFormatting.js'\n\n// Import Swiper styles\nimport 'swiper/css'\nimport 'swiper/css/navigation'\nimport type { MemberDiscountConfig } from './types.js'\nimport { useMemberPrice } from '../../hooks/index.js'\nimport { useAiuiContext } from '../AiuiProvider/index.js'\nimport type { CopyConfig } from './types.js'\nimport { defaultCopy, defaultButtonTexts } from './types.js'\n\nconst SOLD_OUT_PRICE = 9999999.99\n\n/**\n * \u8BED\u4E49\u5316\u7C7B\u540D\n */\ntype ActiveShelfSemanticName =\n | 'root'\n | 'title'\n | 'description'\n | 'productCard'\n | 'productTitle'\n | 'productDescription'\n | 'productPrice'\n | 'buttonGroup'\n | 'learnMoreButton'\n | 'shopNowButton'\n | 'stockBar'\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 * \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\n/**\n * \u5E93\u5B58\u5C55\u793A\u6A21\u5F0F\n */\nexport type StockDisplayMode = 'always' | 'never' | 'below-quantity' | 'below-percentage'\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 variant \u53D8\u4F53\u6570\u636E\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 * ActiveShelf Context \u914D\u7F6E\u63A5\u53E3\n */\nexport interface ActiveShelfContextConfig {\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 /** \u662F\u5426\u5C55\u793A\u539F\u4EF7\uFF08\u5220\u9664\u7EBF\u4EF7\u683C\uFF09 */\n showOriginalPrice?: boolean\n /** \u7528\u6237\u72B6\u6001 */\n}\n\n/**\n * ActiveShelf Context \u503C\u63A5\u53E3\n */\ninterface ActiveShelfContextValue extends ActiveShelfContextConfig {\n /** \u70B9\u51FB\u4E86\u89E3\u66F4\u591A\u56DE\u8C03 */\n onLearnMore?: (product: any, variant: any, coupon: any) => void\n /** \u70B9\u51FB\u7ACB\u5373\u8D2D\u4E70\u56DE\u8C03 */\n onShopNow?: (product: any, variant: any, coupon: any) => void\n functionDiscountConfig?: {\n memberPriceConfig?: MemberDiscountConfig\n }\n /** \u8BED\u4E49\u5316\u7C7B\u540D */\n classNames?: Partial<Record<ActiveShelfSemanticName, string>>\n /** \u4E86\u89E3\u66F4\u591A\u6309\u94AE\u6587\u672C */\n learnMoreText: string\n /** \u7ACB\u5373\u8D2D\u4E70\u6309\u94AE\u6587\u672C */\n shopNowText: string\n /** \u6587\u6848\u914D\u7F6E */\n copy: Required<CopyConfig>\n}\n\n/**\n * ActiveShelf Context\n */\nconst ActiveShelfContext = React.createContext<ActiveShelfContextValue | null>(null)\n\n/**\n * \u4F7F\u7528 ActiveShelf Context \u7684 Hook\n */\nexport const useActiveShelfContext = () => {\n const context = React.useContext(ActiveShelfContext)\n if (!context) {\n throw new Error('useActiveShelfContext must be used within an ActiveShelfProvider')\n }\n return context\n}\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}\n\n/**\n * \u5B8C\u6574\u7684\u4EA7\u54C1\u5361\u7247\u6570\u636E\u63A5\u53E3\n */\nexport interface ProductCardData extends BaseProductData {}\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 learnMoreText?: string\n /** \u7ACB\u5373\u8D2D\u4E70\u6309\u94AE\u6587\u672C */\n shopNowText?: string\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 /** \u7528\u6237\u72B6\u6001 */\n /** \u6587\u6848\u914D\u7F6E */\n copy?: CopyConfig\n\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: any, variant: any, coupon: any) => void\n /** \u70B9\u51FB\u7ACB\u5373\u8D2D\u4E70\u56DE\u8C03 */\n onShopNow?: (product: any, variant: any, coupon: any) => void\n /**\n * function \u6298\u6263\u914D\u7F6E\n */\n functionDiscountConfig?: {\n memberPriceConfig?: MemberDiscountConfig\n }\n /**\n * \u5916\u90E8\u6784\u5EFA\u6570\u636E\uFF08\u7528\u4E8E\u5408\u5E76\u4EA7\u54C1\u6570\u636E\uFF09\n */\n buildData?: any[]\n /** \u8BED\u4E49\u5316\u7C7B\u540D */\n classNames?: Partial<Record<ActiveShelfSemanticName, string>>\n}\n\n/**\n * \u4EA7\u54C1\u5361\u7247\u7EC4\u4EF6\n */\nconst ProductCard = React.forwardRef<\n HTMLDivElement,\n {\n product: ProductCardData\n shopifyProductData?: any\n className?: string\n }\n>(({ product, shopifyProductData, className }, ref) => {\n const {\n showTags = true,\n stockDisplayMode,\n stockThreshold,\n onLearnMore,\n onShopNow,\n classNames,\n codeChannel,\n functionDiscountConfig,\n learnMoreText,\n shopNowText,\n copy,\n } = useActiveShelfContext()\n\n const { isLogin = false, isPlusMember = false, locale } = useAiuiContext()\n\n const matchVariant = React.useMemo(() => {\n if (!shopifyProductData?.variants) return null\n const res = shopifyProductData.variants.find((v: any) => v.sku === product.sku)\n if (typeof res.price === 'object') {\n res.price = res.price.amount\n }\n return res\n }, [product, shopifyProductData])\n\n const discountInfo = useCoupon({\n variant: matchVariant,\n channel: codeChannel,\n })\n\n const memberPrice = useMemberPrice(matchVariant, functionDiscountConfig?.memberPriceConfig)\n\n // \u8BA1\u7B97\u6700\u7EC8\u663E\u793A\u4EF7\u683C\n const priceInfo = React.useMemo(() => {\n let originalPrice = matchVariant?.price || 0\n let currentPrice = originalPrice\n\n let discountAmount = Number(discountInfo?.fixed_value ?? 0)\n\n if (isLogin) {\n // \u5982\u679C\u662Fplus \u7528\u6237 \u8BA1\u7B97\u4EF7\u683C\n if (isPlusMember) {\n currentPrice = currentPrice - memberPrice.withCouponPlusMemberPriceDiscount\n currentPrice = currentPrice - Math.max(memberPrice.withoutCouponPlusMemberPriceDiscount, discountAmount)\n } else {\n // \u767B\u5F55\u5C31\u662F\u666E\u901A\u4F1A\u5458\n currentPrice = currentPrice - memberPrice.withCouponMemberPriceDiscount\n currentPrice = currentPrice - Math.max(memberPrice.withoutCouponMemberPriceDiscount, discountAmount)\n }\n } else {\n // \u672A\u767B\u5F55\u7528\u6237\u53EA\u8BA1\u7B97\u901A\u7528\u6298\u6263 \u548C \u666E\u901A\u4F1A\u5458\u6298\u6263\n currentPrice = currentPrice - memberPrice.withCouponMemberPriceDiscount\n currentPrice = currentPrice - Math.max(memberPrice.withoutCouponMemberPriceDiscount, discountAmount)\n }\n\n return {\n originalPrice: currentPrice < originalPrice ? originalPrice : null,\n currentPrice,\n applyPlusMemberPrice: isLogin && isPlusMember && memberPrice.hasPlusMemberPrice,\n applyMemberPrice: memberPrice.hasMemberPrice,\n }\n }, [\n matchVariant?.price,\n discountInfo?.fixed_value,\n isLogin,\n isPlusMember,\n memberPrice.hasPlusMemberPrice,\n memberPrice.hasMemberPrice,\n memberPrice.withCouponMemberPriceDiscount,\n memberPrice.withoutCouponMemberPriceDiscount,\n memberPrice.withCouponPlusMemberPriceDiscount,\n memberPrice.withoutCouponPlusMemberPriceDiscount,\n ])\n\n const stockPercentage = React.useMemo(() => {\n const result = ((matchVariant?.quantityAvailable ?? 0) / (shopifyProductData?.totalInventory ?? 1)) * 100\n if (result === 0 && matchVariant.availableForSale) {\n // \u786E\u4FDD\u6709\u5E93\u5B58\u65F6\u81F3\u5C11\u663E\u793A 5%\n return 5\n }\n return result\n }, [matchVariant.availableForSale, matchVariant?.quantityAvailable, shopifyProductData?.totalInventory])\n\n // \u7F13\u5B58\u6807\u7B7E\u8BA1\u7B97\u7ED3\u679C\n const displayTags = React.useMemo(() => {\n if (!showTags) return []\n\n const tags = []\n\n // \u6DFB\u52A0\u4F1A\u5458\u4EF7\u683C\u6807\u7B7E\uFF08\u6309\u4F18\u5148\u7EA7\uFF09\n const originalPrice = matchVariant?.price || 0\n const discountAmount = originalPrice - priceInfo.currentPrice\n\n // \u5224\u65AD\u663E\u793A\u54EA\u79CD\u4F1A\u5458\u6807\u7B7E\n const shouldShowPlusMember = memberPrice.hasPlusMemberPrice && isLogin && isPlusMember\n const shouldShowRegularMember = !shouldShowPlusMember && memberPrice.hasMemberPrice\n\n if (shouldShowPlusMember && discountAmount > 0) {\n tags.push({\n label:\n formatPrice({\n amount: Number(discountAmount),\n currencyCode: shopifyProductData?.price?.currencyCode,\n locale: locale as string,\n }) ?? copy.plusMemberPriceLabel,\n variant: 'promotional' as const,\n promotionalType: 'plus-member',\n })\n } else if (shouldShowRegularMember && discountAmount > 0) {\n tags.push({\n label:\n formatPrice({\n amount: Number(discountAmount),\n currencyCode: shopifyProductData?.price?.currencyCode,\n locale: locale as string,\n }) ?? copy.memberPriceLabel,\n variant: 'promotional' as const,\n promotionalType: 'regular-member',\n })\n } else if (discountInfo?.fixed_value) {\n tags.push({\n label: copy.discountLabel?.replace(\n '{value}',\n formatPrice({\n amount: Number(discountInfo.fixed_value),\n currencyCode: shopifyProductData?.price?.currencyCode,\n locale: locale as string,\n }) ?? ''\n ),\n variant: 'fill' as const,\n })\n }\n\n const clTags =\n shopifyProductData?.tags\n ?.filter((tag: string) => tag.startsWith('CLtag:'))\n ?.slice(0, 2 - tags.length)\n ?.map((tag: string) => ({\n label: tag.replace('CLtag:', ''),\n variant: 'outline' as const,\n })) || []\n\n return [...tags, ...clTags]\n }, [\n showTags,\n matchVariant?.price,\n priceInfo.currentPrice,\n memberPrice.hasPlusMemberPrice,\n memberPrice.hasMemberPrice,\n isLogin,\n isPlusMember,\n discountInfo?.fixed_value,\n shopifyProductData?.tags,\n shopifyProductData?.price?.currencyCode,\n locale,\n copy.plusMemberPriceLabel,\n copy.memberPriceLabel,\n copy.discountLabel,\n ])\n\n const isSoldOut =\n !matchVariant?.availableForSale ||\n matchVariant?.price === SOLD_OUT_PRICE ||\n matchVariant?.price?.amount === SOLD_OUT_PRICE\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',\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] h-[24px]\">\n {displayTags?.map((tag, index) => (\n <Badge\n key={index}\n size=\"sm\"\n variant={(tag.variant as any) || 'outline'}\n className={cn('mr-1')}\n promotionalType={tag.promotionalType || ''}\n >\n {tag.label}\n </Badge>\n ))}\n </div>\n\n {/* \u4EA7\u54C1\u56FE\u533A\u57DF */}\n <div className=\"product-image-wrapper lg-desktop:size-[196px] mx-auto size-[138px] overflow-hidden\">\n <a\n href={`/products/${shopifyProductData?.handle || product.handle}?variant=${matchVariant?.id ? atobID(matchVariant.id) : ''}`}\n target=\"_blank\"\n rel=\"noreferrer\"\n >\n <Picture\n source={matchVariant?.image?.url || product.image}\n alt={matchVariant?.image?.altText || product.name}\n className=\"aspect-square w-full object-cover\"\n imgClassName=\"w-full h-full\"\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 >\n {product.name}\n </Heading>\n {shopifyProductData?.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 >\n {shopifyProductData.description}\n </Text>\n )}\n </div>\n\n {/** \u4EF7\u683C\u6807\u7B7E */}\n <>\n {priceInfo.applyPlusMemberPrice && (\n <Text size={4} className=\"text-marketing-1 mt-2\">\n {copy.plusMemberPriceLabel}\n </Text>\n )}\n {!priceInfo.applyPlusMemberPrice && priceInfo.applyMemberPrice && (\n <Text size={4} className=\"text-marketing-1 mt-2\">\n {copy.memberPriceLabel}\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 {isSoldOut ? (\n <Heading size={2} className=\"text-info-tertiary\">\n {copy.outOfStockLabel}\n </Heading>\n ) : (\n <>\n <Heading size={2} className=\"text-info-primary\" as=\"h6\">\n {formatPrice({\n amount: Number(priceInfo.currentPrice),\n currencyCode: matchVariant?.price?.currencyCode,\n locale: locale as string,\n })}\n </Heading>\n {priceInfo.originalPrice && (\n <Heading size={2} className=\"text-info-tertiary line-through\" as=\"h6\">\n {formatPrice({\n amount: Number(priceInfo.originalPrice),\n currencyCode: matchVariant?.price?.currencyCode,\n locale: locale as string,\n })}\n </Heading>\n )}\n </>\n )}\n </div>\n </div>\n\n {/* \u6309\u94AE\u533A\u57DF */}\n <div className={cn('tablet:gap-3 mb-4 flex gap-2', classNames?.buttonGroup)}>\n <Button\n variant=\"secondary\"\n size=\"base\"\n className={cn('', classNames?.learnMoreButton)}\n onClick={() => onLearnMore?.(shopifyProductData, matchVariant, discountInfo)}\n >\n {learnMoreText}\n </Button>\n <Button\n variant=\"primary\"\n size=\"base\"\n className={cn('', classNames?.shopNowButton)}\n onClick={() => onShopNow?.(shopifyProductData, matchVariant, discountInfo)}\n disabled={isSoldOut}\n >\n {shopNowText}\n </Button>\n </div>\n\n {/* \u5E93\u5B58\u4FE1\u606F */}\n {shouldShowStock(\n stockDisplayMode,\n stockThreshold,\n matchVariant?.quantityAvailable ?? 0,\n shopifyProductData?.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(\n '{count}',\n String(\n matchVariant?.quantityAvailable > 0\n ? matchVariant?.quantityAvailable\n : matchVariant?.availableForSale\n ? '5'\n : '0'\n )\n )}\n </Text>\n </div>\n )}\n </div>\n </div>\n </CardContent>\n </Card>\n )\n})\nProductCard.displayName = 'ProductCard'\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<\n HTMLDivElement,\n {\n products: ProductCardData[]\n layoutMode: ActiveShelfLayoutMode\n className?: string\n buildData?: any[]\n }\n>(({ products, layoutMode, className, buildData }, ref) => {\n const { copy } = useActiveShelfContext()\n // Swiper \u5BFC\u822A\u72B6\u6001\n const [swiperState, setSwiperState] = React.useState({\n isBeginning: true,\n isEnd: false,\n })\n\n const getShopifyProductData = (shopify_id: string) => {\n if (!buildData || buildData.length === 0) {\n return null\n }\n return buildData.find(item => atobID(item.id) === shopify_id)\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 shopifyProductData={getShopifyProductData(product.shopify_id)}\n className=\"shrink-0\"\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 onSlideChange={swiper => {\n setSwiperState({\n isBeginning: swiper.isBeginning,\n isEnd: swiper.isEnd,\n })\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 shopifyProductData={getShopifyProductData(product.shopify_id)}\n className=\"w-full max-w-full\"\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 disabled={swiperState.isBeginning}\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 disabled={swiperState.isEnd}\n >\n <NextIcon disabled={swiperState.isEnd} />\n </button>\n </div>\n )}\n </div>\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, buildData, functionDiscountConfig, 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 codeChannel,\n showMemberPrice = true,\n showDiscount = true,\n showTags = true,\n stockDisplayMode,\n stockThreshold,\n showOriginalPrice = true,\n learnMoreText,\n shopNowText,\n isShowTab = true,\n copy,\n } = data\n\n // \u6784\u5EFA copy \u914D\u7F6E\uFF0C\u4F18\u5148\u4F7F\u7528 data.copy\uFF0C\u56DE\u9000\u5230\u9ED8\u8BA4\u503C\n const finalCopy: Required<CopyConfig> = {\n ...defaultCopy,\n ...copy,\n }\n\n // \u5904\u7406\u9AD8\u9891\u6587\u6848\u5B57\u6BB5\uFF0C\u4F18\u5148\u4F7F\u7528 data \u76F4\u63A5\u5B57\u6BB5\uFF0C\u56DE\u9000\u5230\u9ED8\u8BA4\u503C\n const finalLearnMoreText = learnMoreText ?? defaultButtonTexts.learnMoreText\n const finalShopNowText = shopNowText ?? defaultButtonTexts.shopNowText\n\n // \u6784\u5EFA Context \u503C\n const contextValue: ActiveShelfContextValue = {\n layoutMode,\n codeChannel,\n showMemberPrice,\n showDiscount,\n showTags,\n stockDisplayMode,\n stockThreshold,\n showOriginalPrice,\n onLearnMore,\n onShopNow,\n classNames,\n functionDiscountConfig,\n learnMoreText: finalLearnMoreText,\n shopNowText: finalShopNowText,\n copy: finalCopy,\n }\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 <ActiveShelfContext.Provider value={contextValue}>\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\" size={4} className={cn('text-info-primary mb-4', classNames?.title)}>\n {data.title}\n </Heading>\n )}\n {data.description && (\n <Text size={3} as=\"p\" className={cn('text-info-primary mb-6', classNames?.description)}>\n {data.description}\n </Text>\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 products={tab.data} layoutMode={layoutMode} buildData={buildData} />\n </TabsContent>\n ))\n ) : (\n <ProductsList products={data.productsCard} layoutMode={layoutMode} buildData={buildData} />\n )}\n </Tabs>\n </div>\n </ActiveShelfContext.Provider>\n )\n }\n)\n\nActiveShelf.displayName = 'ActiveShelf'\nexport default ActiveShelf\nexport { ProductCard }\n"],
5
- "mappings": "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",
6
- "names": ["Fragment", "jsx", "jsxs", "React", "cn", "Button", "Badge", "Card", "CardContent", "Picture", "Text", "Heading", "Tabs", "TabsList", "TabsTrigger", "TabsContent", "Progress", "atobID", "useCoupon", "Swiper", "SwiperSlide", "Navigation", "formatPrice", "useMemberPrice", "useAiuiContext", "defaultCopy", "defaultButtonTexts", "SOLD_OUT_PRICE", "PrevIcon", "disabled", "NextIcon", "shouldShowStock", "stockDisplayMode", "stockThreshold", "quantityAvailable", "totalInventory", "ActiveShelfContext", "useActiveShelfContext", "context", "ProductCard", "product", "shopifyProductData", "className", "ref", "showTags", "onLearnMore", "onShopNow", "classNames", "codeChannel", "functionDiscountConfig", "learnMoreText", "shopNowText", "copy", "isLogin", "isPlusMember", "locale", "matchVariant", "res", "v", "discountInfo", "memberPrice", "priceInfo", "originalPrice", "currentPrice", "discountAmount", "stockPercentage", "result", "displayTags", "tags", "shouldShowPlusMember", "shouldShowRegularMember", "clTags", "tag", "isSoldOut", "index", "ProductsList", "products", "layoutMode", "buildData", "swiperState", "setSwiperState", "getShopifyProductData", "shopify_id", "item", "swiper", "ActiveShelf", "data", "props", "theme", "showMemberPrice", "showDiscount", "showOriginalPrice", "isShowTab", "finalCopy", "finalLearnMoreText", "finalShopNowText", "contextValue", "hasTabData", "shouldShowTab", "tab", "ActiveShelf_default"]
7
- }
@@ -1,89 +0,0 @@
1
- export type MemberDiscountConfig = {
2
- rule_id: number;
3
- rule_type: number;
4
- discount_label: {
5
- cart_checkout_label: string;
6
- product_label: string;
7
- sold_out_label: string;
8
- };
9
- frontend_labels: Array<any>;
10
- discount_combinations: {
11
- other_order_discounts: boolean;
12
- other_product_discounts: boolean;
13
- shipping_discounts: boolean;
14
- };
15
- result_detail: {
16
- member_discounts: Array<{
17
- user_identity: number;
18
- main_products: {
19
- variants: Array<{
20
- variant_id: string;
21
- sku: string;
22
- handle: string;
23
- }>;
24
- skip_variants: Array<any>;
25
- dynamic_conf: {
26
- in_collections: any;
27
- not_in_collections: any;
28
- SKU: {
29
- in: any;
30
- not_in: any;
31
- start_with: any;
32
- unstart_with: any;
33
- end_with: any;
34
- unend_with: any;
35
- contain: any;
36
- uncontain: any;
37
- };
38
- in_products: any;
39
- not_in_products: any;
40
- };
41
- all_store_variant: boolean;
42
- };
43
- discount_conf: {
44
- discount_type: number;
45
- discount_value: number;
46
- discount_value_multi_markets: any;
47
- price_ending_conf: {
48
- apply_price_ending: boolean;
49
- conf_one_decimal_place: boolean;
50
- conf_two_decimal_place: boolean;
51
- one_decimal_place: number;
52
- two_decimal_place: number;
53
- round_selected: number;
54
- };
55
- };
56
- }>;
57
- limit_discount_max: number;
58
- };
59
- };
60
- /**
61
- * ActiveShelf 文案配置接口
62
- * 注意:learnMoreText 和 shopNowText 作为高频属性保持在 data 的直接属性中
63
- */
64
- export interface CopyConfig {
65
- /** Plus会员价格标签文本 */
66
- plusMemberPriceLabel?: string;
67
- /** 会员价格标签文本 */
68
- memberPriceLabel?: string;
69
- /** 库存显示文案模板,支持 {count} 占位符 */
70
- stockDisplayText?: string;
71
- /** 上一页滑动按钮的无障碍标签(ActiveShelf 专用) */
72
- previousSlideLabel?: string;
73
- /** 下一页滑动按钮的无障碍标签(ActiveShelf 专用) */
74
- nextSlideLabel?: string;
75
- discountLabel?: string;
76
- outOfStockLabel?: string;
77
- }
78
- /**
79
- * ActiveShelf 默认文案配置
80
- */
81
- export declare const defaultCopy: Required<CopyConfig>;
82
- /**
83
- * 高频文案字段的默认值
84
- * 这些字段作为 data 的直接属性,不在 copy 对象中
85
- */
86
- export declare const defaultButtonTexts: {
87
- readonly learnMoreText: "Learn More";
88
- readonly shopNowText: "Shop Now";
89
- };
@@ -1,2 +0,0 @@
1
- const e={plusMemberPriceLabel:"Plus Member Price",memberPriceLabel:"Member Price",stockDisplayText:"only {count} left in stock",previousSlideLabel:"Previous slide",nextSlideLabel:"Next slide",discountLabel:"{value} off",outOfStockLabel:"Sold Out"},n={learnMoreText:"Learn More",shopNowText:"Shop Now"};export{n as defaultButtonTexts,e as defaultCopy};
2
- //# sourceMappingURL=types.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../src/biz-components/ActiveShelf/types.ts"],
4
- "sourcesContent": ["export type MemberDiscountConfig = {\n rule_id: number\n rule_type: number\n discount_label: {\n cart_checkout_label: string\n product_label: string\n sold_out_label: string\n }\n frontend_labels: Array<any>\n discount_combinations: {\n other_order_discounts: boolean\n other_product_discounts: boolean\n shipping_discounts: boolean\n }\n result_detail: {\n member_discounts: Array<{\n user_identity: number\n main_products: {\n variants: Array<{\n variant_id: string\n sku: string\n handle: string\n }>\n skip_variants: Array<any>\n dynamic_conf: {\n in_collections: any\n not_in_collections: any\n SKU: {\n in: any\n not_in: any\n start_with: any\n unstart_with: any\n end_with: any\n unend_with: any\n contain: any\n uncontain: any\n }\n in_products: any\n not_in_products: any\n }\n all_store_variant: boolean\n }\n discount_conf: {\n discount_type: number\n discount_value: number\n discount_value_multi_markets: any\n price_ending_conf: {\n apply_price_ending: boolean\n conf_one_decimal_place: boolean\n conf_two_decimal_place: boolean\n one_decimal_place: number\n two_decimal_place: number\n round_selected: number\n }\n }\n }>\n limit_discount_max: number\n }\n}\n\n/**\n * ActiveShelf \u6587\u6848\u914D\u7F6E\u63A5\u53E3\n * \u6CE8\u610F\uFF1AlearnMoreText \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\n/**\n * ActiveShelf \u9ED8\u8BA4\u6587\u6848\u914D\u7F6E\n */\nexport const defaultCopy: Required<CopyConfig> = {\n plusMemberPriceLabel: 'Plus Member Price',\n memberPriceLabel: 'Member Price',\n stockDisplayText: 'only {count} left in stock',\n previousSlideLabel: 'Previous slide',\n nextSlideLabel: 'Next slide',\n discountLabel: '{value} off',\n outOfStockLabel: 'Sold Out',\n}\n\n/**\n * \u9AD8\u9891\u6587\u6848\u5B57\u6BB5\u7684\u9ED8\u8BA4\u503C\n * \u8FD9\u4E9B\u5B57\u6BB5\u4F5C\u4E3A data \u7684\u76F4\u63A5\u5C5E\u6027\uFF0C\u4E0D\u5728 copy \u5BF9\u8C61\u4E2D\n */\nexport const defaultButtonTexts = {\n learnMoreText: 'Learn More',\n shopNowText: 'Shop Now',\n} as const\n"],
5
- "mappings": "AAqFO,MAAMA,EAAoC,CAC/C,qBAAsB,oBACtB,iBAAkB,eAClB,iBAAkB,6BAClB,mBAAoB,iBACpB,eAAgB,aAChB,cAAe,cACf,gBAAiB,UACnB,EAMaC,EAAqB,CAChC,cAAe,aACf,YAAa,UACf",
6
- "names": ["defaultCopy", "defaultButtonTexts"]
7
- }