@anker-in/headless-ui 1.0.26-alpha.1762424198196 → 1.0.26-alpha.1762425612656

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 (378) hide show
  1. package/dist/cjs/biz-components/AccordionCards/index.d.ts +38 -0
  2. package/dist/cjs/biz-components/AiuiProvider/index.d.ts +12 -0
  3. package/dist/cjs/biz-components/BrandEquity/BrandEquity.d.ts +6 -0
  4. package/dist/cjs/biz-components/BrandEquity/index.d.ts +1 -0
  5. package/dist/cjs/biz-components/BrandEquity/types.d.ts +18 -0
  6. package/dist/cjs/biz-components/Category/SwiperCategory.d.ts +19 -0
  7. package/dist/cjs/biz-components/Category/index.d.ts +35 -0
  8. package/dist/cjs/biz-components/CreativeModule/index.d.ts +21 -0
  9. package/dist/cjs/biz-components/Evaluate/index.d.ts +37 -0
  10. package/dist/cjs/biz-components/Faq/Faq.d.ts +14 -0
  11. package/dist/cjs/biz-components/Faq/index.d.ts +2 -0
  12. package/dist/cjs/biz-components/Faq/types.d.ts +12 -0
  13. package/dist/cjs/biz-components/FooterNavigation/icons/Add.d.ts +3 -0
  14. package/dist/cjs/biz-components/FooterNavigation/icons/ArrowRight.d.ts +3 -0
  15. package/dist/cjs/biz-components/FooterNavigation/icons/Country.d.ts +3 -0
  16. package/dist/cjs/biz-components/FooterNavigation/icons/Subtract.d.ts +3 -0
  17. package/dist/cjs/biz-components/FooterNavigation/icons/index.d.ts +5 -0
  18. package/dist/cjs/biz-components/FooterNavigation/index.d.ts +6 -0
  19. package/dist/cjs/biz-components/FooterNavigation/types.d.ts +13 -0
  20. package/dist/cjs/biz-components/Graphic/index.d.ts +38 -0
  21. package/dist/cjs/biz-components/GraphicAttractionBlock/index.d.ts +25 -0
  22. package/dist/cjs/biz-components/GraphicOverlay/GraphicOverlay.d.ts +8 -0
  23. package/dist/cjs/biz-components/GraphicOverlay/index.d.ts +2 -0
  24. package/dist/cjs/biz-components/GraphicOverlay/types.d.ts +33 -0
  25. package/dist/cjs/biz-components/HeaderNavigation/NavProvider.d.ts +32 -0
  26. package/dist/cjs/biz-components/HeaderNavigation/icons/AnkerLogo.d.ts +3 -0
  27. package/dist/cjs/biz-components/HeaderNavigation/icons/Cart.d.ts +3 -0
  28. package/dist/cjs/biz-components/HeaderNavigation/icons/Close.d.ts +3 -0
  29. package/dist/cjs/biz-components/HeaderNavigation/icons/DownArrow.d.ts +3 -0
  30. package/dist/cjs/biz-components/HeaderNavigation/icons/LeftArrow.d.ts +3 -0
  31. package/dist/cjs/biz-components/HeaderNavigation/icons/LogoLine.d.ts +3 -0
  32. package/dist/cjs/biz-components/HeaderNavigation/icons/Menu.d.ts +3 -0
  33. package/dist/cjs/biz-components/HeaderNavigation/icons/RightArrow.d.ts +3 -0
  34. package/dist/cjs/biz-components/HeaderNavigation/icons/Search.d.ts +3 -0
  35. package/dist/cjs/biz-components/HeaderNavigation/icons/User.d.ts +3 -0
  36. package/dist/cjs/biz-components/HeaderNavigation/icons/index.d.ts +11 -0
  37. package/dist/cjs/biz-components/HeaderNavigation/index.d.ts +7 -0
  38. package/dist/cjs/biz-components/HeaderNavigation/types.d.ts +77 -0
  39. package/dist/cjs/biz-components/HeaderNavigation/withCategory.d.ts +9 -0
  40. package/dist/cjs/biz-components/HeroBanner/HeroBanner.d.ts +7 -0
  41. package/dist/cjs/biz-components/HeroBanner/index.d.ts +1 -0
  42. package/dist/cjs/biz-components/HeroBanner/types.d.ts +43 -0
  43. package/dist/cjs/biz-components/Marquee/Marquee.d.ts +18 -0
  44. package/dist/cjs/biz-components/Marquee/index.d.ts +2 -0
  45. package/dist/cjs/biz-components/Marquee/type.d.ts +33 -0
  46. package/dist/cjs/biz-components/MediaPlayerBase/index.d.ts +6 -0
  47. package/dist/cjs/biz-components/MediaPlayerBase/right.d.ts +1 -0
  48. package/dist/cjs/biz-components/MediaPlayerBase/types.d.ts +18 -0
  49. package/dist/cjs/biz-components/MediaPlayerMulti/index.d.ts +6 -0
  50. package/dist/cjs/biz-components/MediaPlayerMulti/types.d.ts +22 -0
  51. package/dist/cjs/biz-components/MediaPlayerSticky/index.d.ts +9 -0
  52. package/dist/cjs/biz-components/MediaPlayerSticky/types.d.ts +21 -0
  53. package/dist/cjs/biz-components/MemberEquity/index.d.ts +7 -0
  54. package/dist/cjs/biz-components/MemberEquity/types.d.ts +30 -0
  55. package/dist/cjs/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.d.ts +8 -0
  56. package/dist/cjs/biz-components/MultiLayoutGraphicBlock/index.d.ts +2 -0
  57. package/dist/cjs/biz-components/MultiLayoutGraphicBlock/types.d.ts +38 -0
  58. package/dist/cjs/biz-components/ShelfDisplay/index.d.ts +7 -0
  59. package/dist/cjs/biz-components/ShelfDisplay/index.js +1 -1
  60. package/dist/cjs/biz-components/ShelfDisplay/index.js.map +2 -2
  61. package/dist/cjs/biz-components/ShelfDisplay/shelfDisplay.d.ts +97 -0
  62. package/dist/cjs/biz-components/ShelfDisplay/shelfDisplayItem.d.ts +8 -0
  63. package/dist/cjs/biz-components/ShelfDisplay/shelfDisplayItem.js +2 -2
  64. package/dist/cjs/biz-components/ShelfDisplay/shelfDisplayItem.js.map +2 -2
  65. package/dist/cjs/biz-components/ShelfDisplay/tabSwitch.d.ts +9 -0
  66. package/dist/cjs/biz-components/Slogan/index.d.ts +9 -0
  67. package/dist/cjs/biz-components/Slogan/types.d.ts +31 -0
  68. package/dist/cjs/biz-components/Spacer/index.d.ts +7 -0
  69. package/dist/cjs/biz-components/Spacer/types.d.ts +10 -0
  70. package/dist/cjs/biz-components/Specs/dropdown.js +2 -2
  71. package/dist/cjs/biz-components/Specs/dropdown.js.map +3 -3
  72. package/dist/cjs/biz-components/Subscribe/index.d.ts +13 -0
  73. package/dist/cjs/biz-components/SwiperBox/index.d.ts +4 -0
  74. package/dist/cjs/biz-components/SwiperBox/types.d.ts +17 -0
  75. package/dist/cjs/biz-components/Tabs/Tabs.d.ts +7 -0
  76. package/dist/cjs/biz-components/Tabs/index.d.ts +1 -0
  77. package/dist/cjs/biz-components/Tabs/types.d.ts +29 -0
  78. package/dist/cjs/biz-components/TextModal/index.d.ts +14 -0
  79. package/dist/cjs/biz-components/Title/index.d.ts +7 -0
  80. package/dist/cjs/biz-components/Title/types.d.ts +33 -0
  81. package/dist/cjs/biz-components/VideoModal/YouTubePlayer.d.ts +4 -0
  82. package/dist/cjs/biz-components/VideoModal/index.d.ts +8 -0
  83. package/dist/cjs/biz-components/WhyChoose/WhyChoose.d.ts +14 -0
  84. package/dist/cjs/biz-components/WhyChoose/index.d.ts +2 -0
  85. package/dist/cjs/biz-components/WhyChoose/types.d.ts +12 -0
  86. package/dist/cjs/biz-components/index.d.ts +29 -0
  87. package/dist/cjs/components/alert.d.ts +17 -0
  88. package/dist/cjs/components/avatar.d.ts +26 -0
  89. package/dist/cjs/components/badge.d.ts +9 -0
  90. package/dist/cjs/components/board.d.ts +4 -0
  91. package/dist/cjs/components/button.d.ts +41 -0
  92. package/dist/cjs/components/card.d.ts +8 -0
  93. package/dist/cjs/components/carousel.d.ts +28 -0
  94. package/dist/cjs/components/checkbox.d.ts +11 -0
  95. package/dist/cjs/components/color.d.ts +13 -0
  96. package/dist/cjs/components/container.d.ts +24 -0
  97. package/dist/cjs/components/dialog.d.ts +19 -0
  98. package/dist/cjs/components/drawer.d.ts +13 -0
  99. package/dist/cjs/components/drop-down.d.ts +27 -0
  100. package/dist/cjs/components/gird.d.ts +17 -0
  101. package/dist/cjs/components/heading.d.ts +17 -0
  102. package/dist/cjs/components/index.d.ts +25 -0
  103. package/dist/cjs/components/input-number.d.ts +78 -0
  104. package/dist/cjs/components/input.d.ts +22 -0
  105. package/dist/cjs/components/link.d.ts +45 -0
  106. package/dist/cjs/components/picture.d.ts +13 -0
  107. package/dist/cjs/components/popover.d.ts +6 -0
  108. package/dist/cjs/components/radio.d.ts +16 -0
  109. package/dist/cjs/components/skeleton.d.ts +9 -0
  110. package/dist/cjs/components/tabs.d.ts +11 -0
  111. package/dist/cjs/components/text.d.ts +32 -0
  112. package/dist/cjs/components/theme.d.ts +12 -0
  113. package/dist/cjs/cpn-components/CpnBanner/index.d.ts +3 -0
  114. package/dist/cjs/cpn-components/CpnBanner/types.d.ts +43 -0
  115. package/dist/cjs/cpn-components/CpnCountDown/index.d.ts +3 -0
  116. package/dist/cjs/cpn-components/CpnCountDown/types.d.ts +29 -0
  117. package/dist/cjs/cpn-components/CpnNavigation/index.d.ts +3 -0
  118. package/dist/cjs/cpn-components/CpnNavigation/types.d.ts +20 -0
  119. package/dist/cjs/cpn-components/CpnProductCard/index.d.ts +3 -0
  120. package/dist/cjs/cpn-components/CpnProductCard/types.d.ts +109 -0
  121. package/dist/cjs/cpn-components/CpnTitle/index.d.ts +3 -0
  122. package/dist/cjs/cpn-components/CpnTitle/types.d.ts +10 -0
  123. package/dist/cjs/cpn-components/index.d.ts +5 -0
  124. package/dist/cjs/helpers/ScrollLoadVideo.d.ts +15 -0
  125. package/dist/cjs/helpers/component-props.d.ts +7 -0
  126. package/dist/cjs/helpers/constants.d.ts +0 -0
  127. package/dist/cjs/helpers/index.d.ts +2 -0
  128. package/dist/cjs/helpers/utils.d.ts +5 -0
  129. package/dist/cjs/hooks/useCountDown.d.ts +10 -0
  130. package/dist/cjs/hooks/useExposure.d.ts +12 -0
  131. package/dist/cjs/hooks/useIntersectionObserver.d.ts +17 -0
  132. package/dist/cjs/icons/spinner.d.ts +5 -0
  133. package/dist/cjs/index.d.ts +1 -0
  134. package/dist/cjs/shared/Styles.d.ts +39 -0
  135. package/dist/cjs/shared/getKeyPropsString.d.ts +4 -0
  136. package/dist/cjs/shared/mimeType.d.ts +1 -0
  137. package/dist/cjs/shared/simpleHash.d.ts +1 -0
  138. package/dist/cjs/shared/throttle.d.ts +1 -0
  139. package/dist/cjs/shared/track.d.ts +1 -0
  140. package/dist/cjs/shared/trackUrlRef.d.ts +7 -0
  141. package/dist/cjs/stories/HeroBanner.stories.d.ts +26 -0
  142. package/dist/cjs/stories/MemberEquity.stories.d.ts +9 -0
  143. package/dist/cjs/stories/MultiLayoutGraphicBlock.stories.d.ts +9 -0
  144. package/dist/cjs/stories/accordionCards.stories.d.ts +17 -0
  145. package/dist/cjs/stories/alert.stories.d.ts +27 -0
  146. package/dist/cjs/stories/avatar.stories.d.ts +39 -0
  147. package/dist/cjs/stories/badge.stories.d.ts +31 -0
  148. package/dist/cjs/stories/bizTabs.stories.d.ts +7 -0
  149. package/dist/cjs/stories/board.stories.d.ts +6 -0
  150. package/dist/cjs/stories/brandEquity.stories.d.ts +16 -0
  151. package/dist/cjs/stories/button.stories.d.ts +56 -0
  152. package/dist/cjs/stories/card.stories.d.ts +27 -0
  153. package/dist/cjs/stories/carousel.stories.d.ts +62 -0
  154. package/dist/cjs/stories/category.stories.d.ts +17 -0
  155. package/dist/cjs/stories/checkbox.stories.d.ts +46 -0
  156. package/dist/cjs/stories/container.stories.d.ts +28 -0
  157. package/dist/cjs/stories/cpnBanner.stories.d.ts +14 -0
  158. package/dist/cjs/stories/cpnCountdown.stories.d.ts +12 -0
  159. package/dist/cjs/stories/cpnNavigation.stories.d.ts +14 -0
  160. package/dist/cjs/stories/cpnProductcard.stories.d.ts +14 -0
  161. package/dist/cjs/stories/cpnTitle.stories.d.ts +14 -0
  162. package/dist/cjs/stories/creativeModule.stories.d.ts +19 -0
  163. package/dist/cjs/stories/dialog.stories.d.ts +20 -0
  164. package/dist/cjs/stories/drawer.stories.d.ts +20 -0
  165. package/dist/cjs/stories/drop-down.stories.d.ts +16 -0
  166. package/dist/cjs/stories/evaluate.stories.d.ts +16 -0
  167. package/dist/cjs/stories/faq.stories.d.ts +21 -0
  168. package/dist/cjs/stories/graphic.stories.d.ts +63 -0
  169. package/dist/cjs/stories/graphicAttractionBlock.stories.d.ts +6 -0
  170. package/dist/cjs/stories/grid.stories.d.ts +22 -0
  171. package/dist/cjs/stories/heading.stories.d.ts +84 -0
  172. package/dist/cjs/stories/input-number.stories.d.ts +39 -0
  173. package/dist/cjs/stories/input.stories.d.ts +35 -0
  174. package/dist/cjs/stories/link.stories.d.ts +69 -0
  175. package/dist/cjs/stories/marquee.stories.d.ts +30 -0
  176. package/dist/cjs/stories/mediaplayerBase.stories.d.ts +6 -0
  177. package/dist/cjs/stories/mediaplayerMulti.stories.d.ts +16 -0
  178. package/dist/cjs/stories/picture.stories.d.ts +18 -0
  179. package/dist/cjs/stories/popover.stories.d.ts +17 -0
  180. package/dist/cjs/stories/radio.stories.d.ts +39 -0
  181. package/dist/cjs/stories/shelfDisplay.stories.d.ts +16 -0
  182. package/dist/cjs/stories/skeleton.stories.d.ts +20 -0
  183. package/dist/cjs/stories/slogan.stories.d.ts +20 -0
  184. package/dist/cjs/stories/tabs.stories.d.ts +373 -0
  185. package/dist/cjs/stories/text.stories.d.ts +86 -0
  186. package/dist/cjs/stories/whychoose.stories.d.ts +21 -0
  187. package/dist/cjs/tsconfig.tsbuildinfo +1 -0
  188. package/dist/cjs/types/index.d.ts +0 -0
  189. package/dist/cjs/types/props.d.ts +43 -0
  190. package/dist/esm/biz-components/AccordionCards/index.d.ts +38 -0
  191. package/dist/esm/biz-components/AiuiProvider/index.d.ts +12 -0
  192. package/dist/esm/biz-components/BrandEquity/BrandEquity.d.ts +6 -0
  193. package/dist/esm/biz-components/BrandEquity/index.d.ts +1 -0
  194. package/dist/esm/biz-components/BrandEquity/types.d.ts +18 -0
  195. package/dist/esm/biz-components/Category/SwiperCategory.d.ts +19 -0
  196. package/dist/esm/biz-components/Category/index.d.ts +35 -0
  197. package/dist/esm/biz-components/CreativeModule/index.d.ts +21 -0
  198. package/dist/esm/biz-components/Evaluate/index.d.ts +37 -0
  199. package/dist/esm/biz-components/Faq/Faq.d.ts +14 -0
  200. package/dist/esm/biz-components/Faq/index.d.ts +2 -0
  201. package/dist/esm/biz-components/Faq/types.d.ts +12 -0
  202. package/dist/esm/biz-components/FooterNavigation/icons/Add.d.ts +3 -0
  203. package/dist/esm/biz-components/FooterNavigation/icons/ArrowRight.d.ts +3 -0
  204. package/dist/esm/biz-components/FooterNavigation/icons/Country.d.ts +3 -0
  205. package/dist/esm/biz-components/FooterNavigation/icons/Subtract.d.ts +3 -0
  206. package/dist/esm/biz-components/FooterNavigation/icons/index.d.ts +5 -0
  207. package/dist/esm/biz-components/FooterNavigation/index.d.ts +6 -0
  208. package/dist/esm/biz-components/FooterNavigation/types.d.ts +13 -0
  209. package/dist/esm/biz-components/Graphic/index.d.ts +38 -0
  210. package/dist/esm/biz-components/GraphicAttractionBlock/index.d.ts +25 -0
  211. package/dist/esm/biz-components/GraphicOverlay/GraphicOverlay.d.ts +8 -0
  212. package/dist/esm/biz-components/GraphicOverlay/index.d.ts +2 -0
  213. package/dist/esm/biz-components/GraphicOverlay/types.d.ts +33 -0
  214. package/dist/esm/biz-components/HeaderNavigation/NavProvider.d.ts +32 -0
  215. package/dist/esm/biz-components/HeaderNavigation/icons/AnkerLogo.d.ts +3 -0
  216. package/dist/esm/biz-components/HeaderNavigation/icons/Cart.d.ts +3 -0
  217. package/dist/esm/biz-components/HeaderNavigation/icons/Close.d.ts +3 -0
  218. package/dist/esm/biz-components/HeaderNavigation/icons/DownArrow.d.ts +3 -0
  219. package/dist/esm/biz-components/HeaderNavigation/icons/LeftArrow.d.ts +3 -0
  220. package/dist/esm/biz-components/HeaderNavigation/icons/LogoLine.d.ts +3 -0
  221. package/dist/esm/biz-components/HeaderNavigation/icons/Menu.d.ts +3 -0
  222. package/dist/esm/biz-components/HeaderNavigation/icons/RightArrow.d.ts +3 -0
  223. package/dist/esm/biz-components/HeaderNavigation/icons/Search.d.ts +3 -0
  224. package/dist/esm/biz-components/HeaderNavigation/icons/User.d.ts +3 -0
  225. package/dist/esm/biz-components/HeaderNavigation/icons/index.d.ts +11 -0
  226. package/dist/esm/biz-components/HeaderNavigation/index.d.ts +7 -0
  227. package/dist/esm/biz-components/HeaderNavigation/types.d.ts +77 -0
  228. package/dist/esm/biz-components/HeaderNavigation/withCategory.d.ts +9 -0
  229. package/dist/esm/biz-components/HeroBanner/HeroBanner.d.ts +7 -0
  230. package/dist/esm/biz-components/HeroBanner/index.d.ts +1 -0
  231. package/dist/esm/biz-components/HeroBanner/types.d.ts +43 -0
  232. package/dist/esm/biz-components/Marquee/Marquee.d.ts +18 -0
  233. package/dist/esm/biz-components/Marquee/index.d.ts +2 -0
  234. package/dist/esm/biz-components/Marquee/type.d.ts +33 -0
  235. package/dist/esm/biz-components/MediaPlayerBase/index.d.ts +6 -0
  236. package/dist/esm/biz-components/MediaPlayerBase/right.d.ts +1 -0
  237. package/dist/esm/biz-components/MediaPlayerBase/types.d.ts +18 -0
  238. package/dist/esm/biz-components/MediaPlayerMulti/index.d.ts +6 -0
  239. package/dist/esm/biz-components/MediaPlayerMulti/types.d.ts +22 -0
  240. package/dist/esm/biz-components/MediaPlayerSticky/index.d.ts +9 -0
  241. package/dist/esm/biz-components/MediaPlayerSticky/types.d.ts +21 -0
  242. package/dist/esm/biz-components/MemberEquity/index.d.ts +7 -0
  243. package/dist/esm/biz-components/MemberEquity/types.d.ts +30 -0
  244. package/dist/esm/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.d.ts +8 -0
  245. package/dist/esm/biz-components/MultiLayoutGraphicBlock/index.d.ts +2 -0
  246. package/dist/esm/biz-components/MultiLayoutGraphicBlock/types.d.ts +38 -0
  247. package/dist/esm/biz-components/ShelfDisplay/index.d.ts +7 -0
  248. package/dist/esm/biz-components/ShelfDisplay/index.js +1 -1
  249. package/dist/esm/biz-components/ShelfDisplay/index.js.map +2 -2
  250. package/dist/esm/biz-components/ShelfDisplay/shelfDisplay.d.ts +97 -0
  251. package/dist/esm/biz-components/ShelfDisplay/shelfDisplayItem.d.ts +8 -0
  252. package/dist/esm/biz-components/ShelfDisplay/shelfDisplayItem.js +4 -4
  253. package/dist/esm/biz-components/ShelfDisplay/shelfDisplayItem.js.map +2 -2
  254. package/dist/esm/biz-components/ShelfDisplay/tabSwitch.d.ts +9 -0
  255. package/dist/esm/biz-components/Slogan/index.d.ts +9 -0
  256. package/dist/esm/biz-components/Slogan/types.d.ts +31 -0
  257. package/dist/esm/biz-components/Spacer/index.d.ts +7 -0
  258. package/dist/esm/biz-components/Spacer/types.d.ts +10 -0
  259. package/dist/esm/biz-components/Specs/dropdown.js +1 -1
  260. package/dist/esm/biz-components/Specs/dropdown.js.map +3 -3
  261. package/dist/esm/biz-components/Subscribe/index.d.ts +13 -0
  262. package/dist/esm/biz-components/SwiperBox/index.d.ts +4 -0
  263. package/dist/esm/biz-components/SwiperBox/types.d.ts +17 -0
  264. package/dist/esm/biz-components/Tabs/Tabs.d.ts +7 -0
  265. package/dist/esm/biz-components/Tabs/index.d.ts +1 -0
  266. package/dist/esm/biz-components/Tabs/types.d.ts +29 -0
  267. package/dist/esm/biz-components/TextModal/index.d.ts +14 -0
  268. package/dist/esm/biz-components/Title/index.d.ts +7 -0
  269. package/dist/esm/biz-components/Title/types.d.ts +33 -0
  270. package/dist/esm/biz-components/VideoModal/YouTubePlayer.d.ts +4 -0
  271. package/dist/esm/biz-components/VideoModal/index.d.ts +8 -0
  272. package/dist/esm/biz-components/WhyChoose/WhyChoose.d.ts +14 -0
  273. package/dist/esm/biz-components/WhyChoose/index.d.ts +2 -0
  274. package/dist/esm/biz-components/WhyChoose/types.d.ts +12 -0
  275. package/dist/esm/biz-components/index.d.ts +29 -0
  276. package/dist/esm/components/alert.d.ts +17 -0
  277. package/dist/esm/components/avatar.d.ts +26 -0
  278. package/dist/esm/components/badge.d.ts +9 -0
  279. package/dist/esm/components/board.d.ts +4 -0
  280. package/dist/esm/components/button.d.ts +41 -0
  281. package/dist/esm/components/card.d.ts +8 -0
  282. package/dist/esm/components/carousel.d.ts +28 -0
  283. package/dist/esm/components/checkbox.d.ts +11 -0
  284. package/dist/esm/components/color.d.ts +13 -0
  285. package/dist/esm/components/container.d.ts +24 -0
  286. package/dist/esm/components/dialog.d.ts +19 -0
  287. package/dist/esm/components/drawer.d.ts +13 -0
  288. package/dist/esm/components/drop-down.d.ts +27 -0
  289. package/dist/esm/components/gird.d.ts +17 -0
  290. package/dist/esm/components/heading.d.ts +17 -0
  291. package/dist/esm/components/index.d.ts +25 -0
  292. package/dist/esm/components/input-number.d.ts +78 -0
  293. package/dist/esm/components/input.d.ts +22 -0
  294. package/dist/esm/components/link.d.ts +45 -0
  295. package/dist/esm/components/picture.d.ts +13 -0
  296. package/dist/esm/components/popover.d.ts +6 -0
  297. package/dist/esm/components/radio.d.ts +16 -0
  298. package/dist/esm/components/skeleton.d.ts +9 -0
  299. package/dist/esm/components/tabs.d.ts +11 -0
  300. package/dist/esm/components/text.d.ts +32 -0
  301. package/dist/esm/components/theme.d.ts +12 -0
  302. package/dist/esm/cpn-components/CpnBanner/index.d.ts +3 -0
  303. package/dist/esm/cpn-components/CpnBanner/types.d.ts +43 -0
  304. package/dist/esm/cpn-components/CpnCountDown/index.d.ts +3 -0
  305. package/dist/esm/cpn-components/CpnCountDown/types.d.ts +29 -0
  306. package/dist/esm/cpn-components/CpnNavigation/index.d.ts +3 -0
  307. package/dist/esm/cpn-components/CpnNavigation/types.d.ts +20 -0
  308. package/dist/esm/cpn-components/CpnProductCard/index.d.ts +3 -0
  309. package/dist/esm/cpn-components/CpnProductCard/types.d.ts +109 -0
  310. package/dist/esm/cpn-components/CpnTitle/index.d.ts +3 -0
  311. package/dist/esm/cpn-components/CpnTitle/types.d.ts +10 -0
  312. package/dist/esm/cpn-components/index.d.ts +5 -0
  313. package/dist/esm/helpers/ScrollLoadVideo.d.ts +15 -0
  314. package/dist/esm/helpers/component-props.d.ts +7 -0
  315. package/dist/esm/helpers/constants.d.ts +0 -0
  316. package/dist/esm/helpers/index.d.ts +2 -0
  317. package/dist/esm/helpers/utils.d.ts +5 -0
  318. package/dist/esm/hooks/useCountDown.d.ts +10 -0
  319. package/dist/esm/hooks/useExposure.d.ts +12 -0
  320. package/dist/esm/hooks/useIntersectionObserver.d.ts +17 -0
  321. package/dist/esm/icons/spinner.d.ts +5 -0
  322. package/dist/esm/index.d.ts +1 -0
  323. package/dist/esm/shared/Styles.d.ts +39 -0
  324. package/dist/esm/shared/getKeyPropsString.d.ts +4 -0
  325. package/dist/esm/shared/mimeType.d.ts +1 -0
  326. package/dist/esm/shared/simpleHash.d.ts +1 -0
  327. package/dist/esm/shared/throttle.d.ts +1 -0
  328. package/dist/esm/shared/track.d.ts +1 -0
  329. package/dist/esm/shared/trackUrlRef.d.ts +7 -0
  330. package/dist/esm/stories/HeroBanner.stories.d.ts +26 -0
  331. package/dist/esm/stories/MemberEquity.stories.d.ts +9 -0
  332. package/dist/esm/stories/MultiLayoutGraphicBlock.stories.d.ts +9 -0
  333. package/dist/esm/stories/accordionCards.stories.d.ts +17 -0
  334. package/dist/esm/stories/alert.stories.d.ts +27 -0
  335. package/dist/esm/stories/avatar.stories.d.ts +39 -0
  336. package/dist/esm/stories/badge.stories.d.ts +31 -0
  337. package/dist/esm/stories/bizTabs.stories.d.ts +7 -0
  338. package/dist/esm/stories/board.stories.d.ts +6 -0
  339. package/dist/esm/stories/brandEquity.stories.d.ts +16 -0
  340. package/dist/esm/stories/button.stories.d.ts +56 -0
  341. package/dist/esm/stories/card.stories.d.ts +27 -0
  342. package/dist/esm/stories/carousel.stories.d.ts +62 -0
  343. package/dist/esm/stories/category.stories.d.ts +17 -0
  344. package/dist/esm/stories/checkbox.stories.d.ts +46 -0
  345. package/dist/esm/stories/container.stories.d.ts +28 -0
  346. package/dist/esm/stories/cpnBanner.stories.d.ts +14 -0
  347. package/dist/esm/stories/cpnCountdown.stories.d.ts +12 -0
  348. package/dist/esm/stories/cpnNavigation.stories.d.ts +14 -0
  349. package/dist/esm/stories/cpnProductcard.stories.d.ts +14 -0
  350. package/dist/esm/stories/cpnTitle.stories.d.ts +14 -0
  351. package/dist/esm/stories/creativeModule.stories.d.ts +19 -0
  352. package/dist/esm/stories/dialog.stories.d.ts +20 -0
  353. package/dist/esm/stories/drawer.stories.d.ts +20 -0
  354. package/dist/esm/stories/drop-down.stories.d.ts +16 -0
  355. package/dist/esm/stories/evaluate.stories.d.ts +16 -0
  356. package/dist/esm/stories/faq.stories.d.ts +21 -0
  357. package/dist/esm/stories/graphic.stories.d.ts +63 -0
  358. package/dist/esm/stories/graphicAttractionBlock.stories.d.ts +6 -0
  359. package/dist/esm/stories/grid.stories.d.ts +22 -0
  360. package/dist/esm/stories/heading.stories.d.ts +84 -0
  361. package/dist/esm/stories/input-number.stories.d.ts +39 -0
  362. package/dist/esm/stories/input.stories.d.ts +35 -0
  363. package/dist/esm/stories/link.stories.d.ts +69 -0
  364. package/dist/esm/stories/marquee.stories.d.ts +30 -0
  365. package/dist/esm/stories/mediaplayerBase.stories.d.ts +6 -0
  366. package/dist/esm/stories/mediaplayerMulti.stories.d.ts +16 -0
  367. package/dist/esm/stories/picture.stories.d.ts +18 -0
  368. package/dist/esm/stories/popover.stories.d.ts +17 -0
  369. package/dist/esm/stories/radio.stories.d.ts +39 -0
  370. package/dist/esm/stories/shelfDisplay.stories.d.ts +16 -0
  371. package/dist/esm/stories/skeleton.stories.d.ts +20 -0
  372. package/dist/esm/stories/slogan.stories.d.ts +20 -0
  373. package/dist/esm/stories/tabs.stories.d.ts +373 -0
  374. package/dist/esm/stories/text.stories.d.ts +86 -0
  375. package/dist/esm/tsconfig.tsbuildinfo +1 -0
  376. package/dist/esm/types/index.d.ts +0 -0
  377. package/dist/esm/types/props.d.ts +43 -0
  378. package/package.json +1 -1
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ import type { MarqueeProps, MarqueeItemProps, MarqueeImageContentProps, MarqueeTextContentProps } from './type.js';
3
+ import { type SwiperRef } from 'swiper/react';
4
+ declare const MarqueeItem: {
5
+ ({ data, configuration }: MarqueeItemProps): import("react/jsx-runtime").JSX.Element;
6
+ displayName: string;
7
+ };
8
+ declare const MarqueeImageContent: {
9
+ ({ image, imageClassName }: MarqueeImageContentProps): import("react/jsx-runtime").JSX.Element;
10
+ displayName: string;
11
+ };
12
+ declare const MarqueeTextContent: React.ForwardRefExoticComponent<MarqueeTextContentProps & React.RefAttributes<HTMLDivElement>>;
13
+ declare const _default: React.ForwardRefExoticComponent<Omit<Omit<MarqueeProps & React.RefAttributes<SwiperRef>, keyof import("../../shared/Styles.js").StylesProps> & Partial<import("../../shared/Styles.js").StylesProps & import("../../shared/Styles.js").ContainerProps> & {
14
+ className?: string;
15
+ data?: Record<string, any>;
16
+ }, "ref"> & React.RefAttributes<any>>;
17
+ export default _default;
18
+ export { MarqueeItem, MarqueeImageContent, MarqueeTextContent };
@@ -0,0 +1,2 @@
1
+ export { default } from './Marquee.js';
2
+ export { MarqueeItem, MarqueeImageContent, MarqueeTextContent } from './Marquee.js';
@@ -0,0 +1,33 @@
1
+ import type { Img } from '../../types/props.js';
2
+ interface MarqueeProps {
3
+ data: {
4
+ key?: string;
5
+ /** 是否反向 */
6
+ reverseDirection?: boolean;
7
+ /** 速度 */
8
+ speed?: number;
9
+ /** 跑马灯内容 */
10
+ items: any[];
11
+ };
12
+ className?: string;
13
+ }
14
+ interface MarqueeItemProps {
15
+ data: {
16
+ type: 'image' | 'text';
17
+ image?: Img;
18
+ text?: string;
19
+ };
20
+ configuration?: {
21
+ imageClassName?: string;
22
+ textClassName?: string;
23
+ };
24
+ }
25
+ interface MarqueeImageContentProps {
26
+ image?: Img;
27
+ imageClassName?: string;
28
+ }
29
+ interface MarqueeTextContentProps {
30
+ text?: string;
31
+ textClassName?: string;
32
+ }
33
+ export type { MarqueeProps, MarqueeItemProps, MarqueeImageContentProps, MarqueeTextContentProps };
@@ -0,0 +1,6 @@
1
+ import type { MediaPlayerBaseProps } from './types.js';
2
+ declare const _default: import("react").ForwardRefExoticComponent<Omit<Omit<MediaPlayerBaseProps & import("react").RefAttributes<HTMLDivElement>, keyof import("../../shared/Styles.js").StylesProps> & Partial<import("../../shared/Styles.js").StylesProps & import("../../shared/Styles.js").ContainerProps> & {
3
+ className?: string;
4
+ data?: Record<string, any>;
5
+ }, "ref"> & import("react").RefAttributes<any>>;
6
+ export default _default;
@@ -0,0 +1 @@
1
+ export declare const Right: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,18 @@
1
+ import type { ComponentCommonProps, Shape, Theme, Video, Img } from '../../types/props.js';
2
+ export interface MediaPlayerBaseProps extends ComponentCommonProps {
3
+ data: {
4
+ sticky?: boolean;
5
+ shape?: Shape;
6
+ theme?: Theme;
7
+ title?: string;
8
+ videoTitle?: string;
9
+ btnText?: string;
10
+ img?: Img;
11
+ isYouTube?: boolean;
12
+ video?: Video;
13
+ mobileVideo?: Video;
14
+ youtubeId?: string;
15
+ titleAnimation?: 'fade-in';
16
+ };
17
+ onBtnClick?: () => void;
18
+ }
@@ -0,0 +1,6 @@
1
+ import type { MediaPlayerMultiProps } from './types.js';
2
+ declare const _default: import("react").ForwardRefExoticComponent<Omit<Omit<MediaPlayerMultiProps & import("react").RefAttributes<HTMLDivElement>, keyof import("../../shared/Styles.js").StylesProps> & Partial<import("../../shared/Styles.js").StylesProps & import("../../shared/Styles.js").ContainerProps> & {
3
+ className?: string;
4
+ data?: Record<string, any>;
5
+ }, "ref"> & import("react").RefAttributes<any>>;
6
+ export default _default;
@@ -0,0 +1,22 @@
1
+ import type { ComponentCommonProps, Img, Video, ContainerProps } from '../../types/props.js';
2
+ export interface MediaPlayerItemProps {
3
+ title: string;
4
+ name: string;
5
+ description: string;
6
+ img: Img;
7
+ mobileImg?: Img;
8
+ video?: Video;
9
+ youtubeId?: string;
10
+ isYouTube?: boolean;
11
+ quote?: string;
12
+ href?: string;
13
+ }
14
+ export interface MediaPlayerMultiProps extends ComponentCommonProps {
15
+ data: {
16
+ title?: string;
17
+ shape?: 'round' | 'square';
18
+ items: MediaPlayerItemProps[];
19
+ containerProps?: ContainerProps;
20
+ };
21
+ onVideoPlayBtnClick?: (jIndex: number) => void;
22
+ }
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import type { MediaPlayerBaseProps } from './types.js';
3
+ declare const _default: React.ForwardRefExoticComponent<Omit<Omit<MediaPlayerBaseProps & React.RefAttributes<{
4
+ mediaPlayerStickyRef: HTMLDivElement;
5
+ }>, keyof import("../../shared/Styles.js").StylesProps> & Partial<import("../../shared/Styles.js").StylesProps & import("../../shared/Styles.js").ContainerProps> & {
6
+ className?: string;
7
+ data?: Record<string, any>;
8
+ }, "ref"> & React.RefAttributes<any>>;
9
+ export default _default;
@@ -0,0 +1,21 @@
1
+ import type { ComponentCommonProps, Shape, Theme, Video, Img } from '../../types/props.js';
2
+ import type { BrandEquityProps } from '../BrandEquity/types.js';
3
+ import type { MemberEquityProps } from '../MemberEquity/types.js';
4
+ export type MediaPlayerComponent = BrandEquityProps | MemberEquityProps;
5
+ export interface MediaPlayerBaseProps extends ComponentCommonProps {
6
+ data: {
7
+ shape?: Shape;
8
+ theme?: Theme;
9
+ title?: string;
10
+ videoTitle?: string;
11
+ btnText?: string;
12
+ img?: Img;
13
+ mobImg?: Img;
14
+ video?: Video;
15
+ mobVideo?: Video;
16
+ isYouTube?: boolean;
17
+ youtubePcId: string;
18
+ youtubeMobileId?: string;
19
+ components?: MediaPlayerComponent[];
20
+ };
21
+ }
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import type { MemberEquityProps } from './types.js';
3
+ declare const _default: React.ForwardRefExoticComponent<Omit<MemberEquityProps, keyof import("../../shared/Styles.js").StylesProps> & Partial<import("../../shared/Styles.js").StylesProps & import("../../shared/Styles.js").ContainerProps> & {
4
+ className?: string;
5
+ data?: Record<string, any>;
6
+ } & React.RefAttributes<any>>;
7
+ export default _default;
@@ -0,0 +1,30 @@
1
+ import type { ComponentCommonProps, Media, Shape, Theme } from '../../types/props.js';
2
+ export interface MemberEquityProps extends ComponentCommonProps {
3
+ data: {
4
+ /** 标题 */
5
+ title: string;
6
+ /** 描述文本 */
7
+ description: string;
8
+ /** 背景图片/视频 URL */
9
+ backgroundImage?: Media;
10
+ mobileBackgroundImage?: Media;
11
+ /** 主按钮配置 */
12
+ primaryButton: {
13
+ text: string;
14
+ link?: string;
15
+ };
16
+ primaryButtonHandler?: () => void;
17
+ /** 副按钮配置 */
18
+ secondaryButton: {
19
+ text: string;
20
+ link?: string;
21
+ };
22
+ secondaryButtonHandler?: () => void;
23
+ /** 形状 */
24
+ shape?: Shape;
25
+ /** 主题 */
26
+ theme?: Theme;
27
+ };
28
+ /** 自定义类名 */
29
+ className?: string;
30
+ }
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import type { MultiLayoutGraphicBlockProps } from './types';
3
+ declare const _default: React.ForwardRefExoticComponent<Omit<Omit<MultiLayoutGraphicBlockProps & React.RefAttributes<HTMLDivElement>, keyof import("../../shared/Styles.js").StylesProps> & Partial<import("../../shared/Styles.js").StylesProps & import("../../shared/Styles.js").ContainerProps> & {
4
+ className?: string;
5
+ data?: Record<string, any>;
6
+ }, "ref"> & React.RefAttributes<any>>;
7
+ export default _default;
8
+ export type { MultiLayoutGraphicBlockProps };
@@ -0,0 +1,2 @@
1
+ export { default } from './MultiLayoutGraphicBlock.js';
2
+ export type { MultiLayoutGraphicBlockProps } from './types.js';
@@ -0,0 +1,38 @@
1
+ import type { Media, Shape, Theme } from '../../types/props';
2
+ export type Item = {
3
+ theme?: Theme;
4
+ title: string;
5
+ description: string;
6
+ imageUrl: Media;
7
+ imageMobileUrl?: Media;
8
+ tabName?: string;
9
+ width?: 'full' | 'half' | 'one-third';
10
+ blockLink?: string;
11
+ primaryButton: {
12
+ text: string;
13
+ link: string;
14
+ };
15
+ secondaryButton: {
16
+ text: string;
17
+ link: string;
18
+ };
19
+ video?: {
20
+ url: string;
21
+ };
22
+ youtubeId?: string;
23
+ isYouTube?: boolean;
24
+ };
25
+ export type MultiLayoutGraphicBlockProps = {
26
+ data: {
27
+ shape?: Shape;
28
+ sectionTitle?: string;
29
+ groupByTab?: boolean;
30
+ items: ({
31
+ width?: 'full' | 'half' | 'one-third';
32
+ } & Item)[];
33
+ carousel?: {
34
+ items: Item[];
35
+ };
36
+ };
37
+ className?: string;
38
+ };
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import type { ShelfDisplayProps } from './shelfDisplay.js';
3
+ declare const _default: React.ForwardRefExoticComponent<Omit<Omit<ShelfDisplayProps & React.RefAttributes<HTMLDivElement>, keyof import("../../shared/Styles.js").StylesProps> & Partial<import("../../shared/Styles.js").StylesProps & import("../../shared/Styles.js").ContainerProps> & {
4
+ className?: string;
5
+ data?: Record<string, any>;
6
+ }, "ref"> & React.RefAttributes<any>>;
7
+ export default _default;
@@ -1,2 +1,2 @@
1
- "use strict";"use client";var ae=Object.create;var w=Object.defineProperty;var ne=Object.getOwnPropertyDescriptor;var ie=Object.getOwnPropertyNames;var re=Object.getPrototypeOf,oe=Object.prototype.hasOwnProperty;var le=(e,s)=>{for(var n in s)w(e,n,{get:s[n],enumerable:!0})},V=(e,s,n,f)=>{if(s&&typeof s=="object"||typeof s=="function")for(let l of ie(s))!oe.call(e,l)&&l!==n&&w(e,l,{get:()=>s[l],enumerable:!(f=ne(s,l))||f.enumerable});return e};var g=(e,s,n)=>(n=e!=null?ae(re(e)):{},V(s||!e||!e.__esModule?w(n,"default",{value:e,enumerable:!0}):n,e)),me=e=>V(w({},"__esModule",{value:!0}),e);var de={};le(de,{default:()=>ue});module.exports=me(de);var o=require("react/jsx-runtime"),a=g(require("react")),L=require("../../helpers/utils.js"),N=g(require("./tabSwitch.js")),A=g(require("../Title/index.js")),$=g(require("../SwiperBox/index.js")),q=require("../../shared/Styles.js"),D=require("../../shared/track.js"),O=require("react-responsive"),z=require("../../hooks/useRollout.js"),_=require("./shelfDisplayItem.js");const ce="image",pe="product_shelf",fe=a.default.forwardRef(({key:e,data:s,event:n,buildData:f,breakpoints:l,className:Q="",recommendedData:c,target:W="_self",metafields:j,isDisplayGudgments:R=!1,isDisplayBackImage:F=!1},G)=>{const{productsTab:u=[],productsCard:J=[],title:I,isShowTab:v=!0,tabShape:K="square",isShowTag:U=!1,isShowOriginalPrice:X=!0,isShowRecommendedCard:Y=!1,...Z}=s,[M,P]=(0,a.useState)(""),[m,b]=(0,a.useState)([]),x=(0,a.useRef)(!1),S=(0,a.useRef)(!1),H=(0,a.useRef)(null),ee=(0,O.useMediaQuery)({query:"(max-width: 768px)"}),[te,B]=(0,z.useRollout)({threshold:0}),d=m?.length<=1&&R,p=!ee&&m?.length<=2&&R,y=t=>{switch(t){case 1440:return p?m?.length:4;case 1024:return p?m?.length:3;default:return p?m?.length:2.3}},C=()=>{(0,D.gaTrack)({event:"ga4Event",event_name:"view_item_list",event_parameters:{page_group:"Home Page",item_list_name:"Home_Page_Bundle",items:c?.map((t,k)=>{const r=t?.variants?.find(i=>i?.sku===t?.sku)||t?.variants?.[0];return{item_id:t?.sku||r?.sku,item_name:t?.name,item_variant:r?.name,price:r?.price,index:k+1}})}})},T=(t,k)=>{if(k){const h=c?.map?.(r=>({...r,isShowRecommended:!0}));b(h?.length?h||[]:[])}else if(Array.isArray(t)){const r=t?.map?.(i=>{const E=f?.products?.find(se=>se?.handle===i?.handle);if(E)return{sku:i.sku,isShowRecommended:!1,custom_name:i.custom_name,custom_description:i.custom_description,custom_image:i.custom_image,custom_theme:i.custom_theme,...E}})?.filter(i=>i);b(r?.length?r||[]:[])}else b([])};return(0,a.useImperativeHandle)(G,()=>H.current),(0,a.useEffect)(()=>{B&&c?.length&&!x.current&&(x.current=!0,C())},[B,c]),(0,a.useEffect)(()=>{if(!S.current){if(!S.current&&c?.length&&(S.current=!0),v){P(u?.[0]?.tab||""),T(u?.[0]?.data||[],u?.[0]?.isShowRecommendedTab);return}T(J,Y)}},[c]),(0,o.jsxs)("div",{ref:H,className:(0,L.cn)("shelf-display-wrap w-full",Q,{"aiui-dark":s?.theme==="dark"}),children:[I&&(0,o.jsx)(A.default,{data:{title:I}}),v&&(0,o.jsx)("div",{className:"md-tablet:w-full md-tablet:overflow-hidden",children:(0,o.jsx)(N.default,{value:M,tabs:u,tabShape:K,onTabClick:t=>{if(P(t?.tab),T(t?.data||[],t?.isShowRecommendedTab),!t?.isShowRecommendedTab){(0,D.gaTrack)({event:"ga4Event",event_name:"component_click",event_parameters:{page_group:"Home Page",component_type:ce,component_name:pe,component_title:s?.title,component_position:1,navigation:t?.tab}});return}C()}})}),(0,o.jsx)("div",{ref:te,className:"tablet:min-h-[393px] laptop:min-h-[425px] desktop:min-h-[405px] lg-desktop:min-h-[409px]",children:(0,o.jsx)($.default,{data:{list:m,configuration:{...Z,event:n,isShowTag:U,isShowOriginalPrice:X,target:W,metafields:j,itemLength:m?.length,isDisplayBackImage:F}},id:`ShelfDisplay${e}${M}`,className:`${v?"mt-6":""} !overflow-visible shelf-display-swiper-box`,itemClassName:p?"flex-1":"",Slide:p?_.ShelfDisplayHorizontalItem:_.ShelfDisplayWrapItem,breakpoints:l||{0:{spaceBetween:12,freeMode:!1,slidesPerView:1},374:{spaceBetween:12,freeMode:!1,slidesPerView:d?1:1.2},768:{spaceBetween:d?0:16,freeMode:!1,slidesPerView:y()},1024:{spaceBetween:d?0:16,freeMode:!1,slidesPerView:y(1024)},1440:{spaceBetween:d?0:16,freeMode:!1,slidesPerView:y(1440)}}})})]})});var ue=(0,q.withLayout)(fe);
1
+ "use strict";"use client";var ae=Object.create;var w=Object.defineProperty;var ne=Object.getOwnPropertyDescriptor;var ie=Object.getOwnPropertyNames;var re=Object.getPrototypeOf,oe=Object.prototype.hasOwnProperty;var le=(e,s)=>{for(var n in s)w(e,n,{get:s[n],enumerable:!0})},V=(e,s,n,f)=>{if(s&&typeof s=="object"||typeof s=="function")for(let l of ie(s))!oe.call(e,l)&&l!==n&&w(e,l,{get:()=>s[l],enumerable:!(f=ne(s,l))||f.enumerable});return e};var g=(e,s,n)=>(n=e!=null?ae(re(e)):{},V(s||!e||!e.__esModule?w(n,"default",{value:e,enumerable:!0}):n,e)),me=e=>V(w({},"__esModule",{value:!0}),e);var de={};le(de,{default:()=>ue});module.exports=me(de);var o=require("react/jsx-runtime"),a=g(require("react")),L=require("../../helpers/utils.js"),N=g(require("./tabSwitch.js")),A=g(require("../Title/index.js")),$=g(require("../SwiperBox/index.js")),q=require("../../shared/Styles.js"),D=require("../../shared/track.js"),O=require("react-responsive"),z=require("../../hooks/useRollout.js"),_=require("./shelfDisplayItem.js");const ce="image",pe="product_shelf",fe=a.default.forwardRef(({key:e,data:s,event:n,buildData:f,breakpoints:l,className:Q="",recommendedData:c,target:W="_self",metafields:j,isDisplayGudgments:R=!1,isDisplayBackImage:F=!1},G)=>{const{productsTab:u=[],productsCard:J=[],title:I,isShowTab:v=!0,tabShape:K="square",isShowTag:U=!1,isShowOriginalPrice:X=!0,isShowRecommendedCard:Y=!1,...Z}=s,[M,P]=(0,a.useState)(""),[m,b]=(0,a.useState)([]),x=(0,a.useRef)(!1),S=(0,a.useRef)(!1),H=(0,a.useRef)(null),ee=(0,O.useMediaQuery)({query:"(max-width: 768px)"}),[te,B]=(0,z.useRollout)({threshold:0}),d=m?.length<=1&&R,p=!ee&&m?.length<=2&&R,y=t=>{switch(t){case 1440:return p?m?.length:4;case 1024:return p?m?.length:3;default:return p?m?.length:2.3}},C=()=>{(0,D.gaTrack)({event:"ga4Event",event_name:"view_item_list",event_parameters:{page_group:"Home Page",item_list_name:"Home_Page_Bundle",items:c?.map((t,k)=>{const r=t?.variants?.find(i=>i?.sku===t?.sku)||t?.variants?.[0];return{item_id:t?.sku||r?.sku,item_name:t?.name,item_variant:r?.name,price:r?.price,index:k+1}})}})},T=(t,k)=>{if(k){const h=c?.map?.(r=>({...r,isShowRecommended:!0}));b(h?.length?h||[]:[])}else if(Array.isArray(t)){const r=t?.map?.(i=>{const E=f?.products?.find(se=>se?.handle===i?.handle);if(E)return{sku:i.sku,isShowRecommended:!1,custom_name:i.custom_name,custom_description:i.custom_description,custom_image:i.custom_image,custom_theme:i.custom_theme,...E}})?.filter(i=>i);b(r?.length?r||[]:[])}else b([])};return(0,a.useImperativeHandle)(G,()=>H.current),(0,a.useEffect)(()=>{B&&c?.length&&!x.current&&(x.current=!0,C())},[B,c]),(0,a.useEffect)(()=>{if(!S.current){if(!S.current&&c?.length&&(S.current=!0),v){P(u?.[0]?.tab||""),T(u?.[0]?.data||[],u?.[0]?.isShowRecommendedTab);return}T(J,Y)}},[c]),(0,o.jsxs)("div",{ref:H,className:(0,L.cn)("shelf-display-wrap w-full",Q,{"aiui-dark":s?.theme==="dark"}),children:[I&&(0,o.jsx)(A.default,{data:{title:I}}),v&&(0,o.jsx)("div",{className:"md-tablet:w-full md-tablet:overflow-hidden",children:(0,o.jsx)(N.default,{value:M,tabs:u,tabShape:K,onTabClick:t=>{if(P(t?.tab),T(t?.data||[],t?.isShowRecommendedTab),!t?.isShowRecommendedTab){(0,D.gaTrack)({event:"ga4Event",event_name:"component_click",event_parameters:{page_group:"Home Page",component_type:ce,component_name:pe,component_title:s?.title,component_position:1,navigation:t?.tab}});return}C()}})}),(0,o.jsx)("div",{ref:te,className:"tablet:min-h-[393px] laptop:min-h-[425px] desktop:min-h-[405px] lg-desktop:min-h-[409px]",children:(0,o.jsx)($.default,{data:{list:m,configuration:{...Z,event:n,isShowTag:U,isShowOriginalPrice:X,target:W,metafields:j,itemLength:m?.length,isDisplayBackImage:F}},id:`ShelfDisplay${e}${M}`,className:`${v?"mt-6":""} !overflow-visible`,itemClassName:p?"flex-1":"",Slide:p?_.ShelfDisplayHorizontalItem:_.ShelfDisplayWrapItem,breakpoints:l||{0:{spaceBetween:12,freeMode:!1,slidesPerView:1},374:{spaceBetween:12,freeMode:!1,slidesPerView:d?1:1.2},768:{spaceBetween:d?0:16,freeMode:!1,slidesPerView:y()},1024:{spaceBetween:d?0:16,freeMode:!1,slidesPerView:y(1024)},1440:{spaceBetween:d?0:16,freeMode:!1,slidesPerView:y(1440)}}})})]})});var ue=(0,q.withLayout)(fe);
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/biz-components/ShelfDisplay/index.tsx"],
4
- "sourcesContent": ["'use client'\nimport React, { useState, useEffect, useRef, useImperativeHandle } from 'react'\nimport { cn } from '../../helpers/utils.js'\nimport TabSwitch from './tabSwitch.js'\nimport Title from '../Title/index.js'\nimport SwiperBox from '../SwiperBox/index.js'\nimport { withLayout } from '../../shared/Styles.js'\nimport { gaTrack } from '../../shared/track.js'\nimport { useMediaQuery } from 'react-responsive'\nimport { useRollout } from '../../hooks/useRollout.js'\nimport { ShelfDisplayWrapItem, ShelfDisplayHorizontalItem } from './shelfDisplayItem.js'\nimport type { ShelfDisplayProps, ShelfDisplayItem } from './shelfDisplay.js'\n\nconst componentType = 'image'\nconst componentName = 'product_shelf'\n\nconst ShelfDisplay = React.forwardRef<HTMLDivElement, ShelfDisplayProps>(\n (\n {\n key,\n data,\n event,\n buildData,\n breakpoints,\n className = '',\n recommendedData,\n target = '_self',\n metafields,\n isDisplayGudgments = false,\n isDisplayBackImage = false,\n },\n ref\n ) => {\n const {\n productsTab = [],\n productsCard = [],\n title,\n isShowTab = true,\n tabShape = 'square',\n isShowTag = false,\n isShowOriginalPrice = true,\n isShowRecommendedCard = false,\n ...other\n } = data\n\n const [tabId, setTabId] = useState<string>('')\n const [currentItems, setCurrentItems] = useState<ShelfDisplayItem[]>([])\n\n const isView = useRef<boolean>(false)\n const isRecommend = useRef<boolean>(false)\n const innerRef = useRef<HTMLDivElement>(null)\n\n const isMobile = useMediaQuery({ query: '(max-width: 768px)' })\n const [viewRef, inView] = useRollout<HTMLDivElement>({ threshold: 0 })\n\n const isOnce = currentItems?.length <= 1 && isDisplayGudgments\n const isShowGudgments = !isMobile && currentItems?.length <= 2 && isDisplayGudgments\n\n const showItemLength = (size?: number) => {\n switch (size) {\n case 1440:\n return isShowGudgments ? currentItems?.length : 4\n case 1024:\n return isShowGudgments ? currentItems?.length : 3\n default:\n return isShowGudgments ? currentItems?.length : 2.3\n }\n }\n\n const gackViewEvent = () => {\n gaTrack({\n event: 'ga4Event',\n event_name: 'view_item_list',\n event_parameters: {\n page_group: 'Home Page',\n item_list_name: 'Home_Page_Bundle',\n items: recommendedData?.map((item, index) => {\n const findData = item?.variants?.find((v: any) => v?.sku === item?.sku)\n const variant = findData || item?.variants?.[0]\n return {\n item_id: item?.sku || variant?.sku,\n item_name: item?.name,\n item_variant: variant?.name,\n price: variant?.price,\n index: index + 1,\n }\n }),\n },\n })\n }\n\n const handleCurrentTab = (currentData: ShelfDisplayItem[], flag: boolean) => {\n if (flag) {\n const newCurrentData = recommendedData?.map?.(item => {\n return {\n ...item,\n isShowRecommended: true,\n }\n })\n setCurrentItems(newCurrentData?.length ? newCurrentData || [] : [])\n } else {\n const isArray = Array.isArray(currentData)\n if (isArray) {\n const newCurrentData = currentData\n ?.map?.(item => {\n const findData = buildData?.products?.find(params => params?.handle === item?.handle)\n if (findData) {\n return {\n sku: item.sku,\n isShowRecommended: false,\n custom_name: item.custom_name,\n custom_description: item.custom_description,\n custom_image: item.custom_image,\n custom_theme: item.custom_theme,\n ...findData,\n }\n }\n })\n ?.filter(item => item)\n setCurrentItems(newCurrentData?.length ? newCurrentData || [] : [])\n } else {\n setCurrentItems([])\n }\n }\n }\n\n useImperativeHandle(ref, () => innerRef.current as HTMLDivElement)\n\n useEffect(() => {\n if (inView && recommendedData?.length && !isView.current) {\n isView.current = true\n gackViewEvent()\n }\n }, [inView, recommendedData])\n\n // \u7B97\u6CD5\u6570\u636E\u4F1A\u7A0D\u5FAE\u5EF6\u8FDF\uFF0C\u6240\u4EE5\u9700\u76D1\u542CrecommendedData\uFF0C\u4E3A\u4E86\u9632\u6B62\u5728\u6709\u7B97\u6CD5\u6570\u636E\u4E14\u5BF9\u9ED8\u8BA4\u6E32\u67D3\u7B2C\u4E00\u4E2A\u540E\u53CD\u590D\u89E6\u53D1\uFF0C\u7528isRecommend\u5173\u95ED\n useEffect(() => {\n if (isRecommend.current) return\n if (!isRecommend.current && recommendedData?.length) {\n isRecommend.current = true\n }\n if (isShowTab) {\n setTabId(productsTab?.[0]?.tab || '')\n handleCurrentTab(productsTab?.[0]?.data || [], productsTab?.[0]?.isShowRecommendedTab)\n return\n }\n handleCurrentTab(productsCard, isShowRecommendedCard)\n }, [recommendedData])\n\n return (\n <div\n ref={innerRef}\n className={cn('shelf-display-wrap w-full', className, { 'aiui-dark': data?.theme === 'dark' })}\n >\n {title && <Title data={{ title: title }} />}\n {isShowTab && (\n <div className=\"md-tablet:w-full md-tablet:overflow-hidden\">\n <TabSwitch\n value={tabId}\n tabs={productsTab}\n tabShape={tabShape}\n onTabClick={v => {\n setTabId(v?.tab)\n handleCurrentTab(v?.data || [], v?.isShowRecommendedTab)\n if (!v?.isShowRecommendedTab) {\n gaTrack({\n event: 'ga4Event',\n event_name: 'component_click',\n event_parameters: {\n page_group: 'Home Page',\n component_type: componentType,\n component_name: componentName,\n component_title: data?.title,\n component_position: 1,\n navigation: v?.tab,\n },\n })\n return\n }\n gackViewEvent()\n }}\n />\n </div>\n )}\n <div\n ref={viewRef as any}\n className=\"tablet:min-h-[393px] laptop:min-h-[425px] desktop:min-h-[405px] lg-desktop:min-h-[409px]\"\n >\n <SwiperBox\n data={{\n list: currentItems,\n configuration: {\n ...other,\n event: event,\n isShowTag,\n isShowOriginalPrice,\n target: target,\n metafields: metafields,\n itemLength: currentItems?.length,\n isDisplayBackImage: isDisplayBackImage,\n },\n }}\n id={`ShelfDisplay${key}${tabId}`}\n className={`${isShowTab ? 'mt-6' : ''} !overflow-visible shelf-display-swiper-box`}\n itemClassName={isShowGudgments ? 'flex-1' : ''}\n Slide={isShowGudgments ? ShelfDisplayHorizontalItem : ShelfDisplayWrapItem}\n breakpoints={\n breakpoints || {\n 0: {\n spaceBetween: 12,\n freeMode: false,\n slidesPerView: 1,\n },\n 374: {\n spaceBetween: 12,\n freeMode: false,\n slidesPerView: isOnce ? 1 : 1.2,\n },\n 768: {\n spaceBetween: isOnce ? 0 : 16,\n freeMode: false,\n slidesPerView: showItemLength(),\n },\n 1024: {\n spaceBetween: isOnce ? 0 : 16,\n freeMode: false,\n slidesPerView: showItemLength(1024),\n },\n 1440: {\n spaceBetween: isOnce ? 0 : 16,\n freeMode: false,\n slidesPerView: showItemLength(1440),\n },\n }\n }\n />\n </div>\n </div>\n )\n }\n)\n\nexport default withLayout(ShelfDisplay)\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["'use client'\nimport React, { useState, useEffect, useRef, useImperativeHandle } from 'react'\nimport { cn } from '../../helpers/utils.js'\nimport TabSwitch from './tabSwitch.js'\nimport Title from '../Title/index.js'\nimport SwiperBox from '../SwiperBox/index.js'\nimport { withLayout } from '../../shared/Styles.js'\nimport { gaTrack } from '../../shared/track.js'\nimport { useMediaQuery } from 'react-responsive'\nimport { useRollout } from '../../hooks/useRollout.js'\nimport { ShelfDisplayWrapItem, ShelfDisplayHorizontalItem } from './shelfDisplayItem.js'\nimport type { ShelfDisplayProps, ShelfDisplayItem } from './shelfDisplay.js'\n\nconst componentType = 'image'\nconst componentName = 'product_shelf'\n\nconst ShelfDisplay = React.forwardRef<HTMLDivElement, ShelfDisplayProps>(\n (\n {\n key,\n data,\n event,\n buildData,\n breakpoints,\n className = '',\n recommendedData,\n target = '_self',\n metafields,\n isDisplayGudgments = false,\n isDisplayBackImage = false,\n },\n ref\n ) => {\n const {\n productsTab = [],\n productsCard = [],\n title,\n isShowTab = true,\n tabShape = 'square',\n isShowTag = false,\n isShowOriginalPrice = true,\n isShowRecommendedCard = false,\n ...other\n } = data\n\n const [tabId, setTabId] = useState<string>('')\n const [currentItems, setCurrentItems] = useState<ShelfDisplayItem[]>([])\n\n const isView = useRef<boolean>(false)\n const isRecommend = useRef<boolean>(false)\n const innerRef = useRef<HTMLDivElement>(null)\n\n const isMobile = useMediaQuery({ query: '(max-width: 768px)' })\n const [viewRef, inView] = useRollout<HTMLDivElement>({ threshold: 0 })\n\n const isOnce = currentItems?.length <= 1 && isDisplayGudgments\n const isShowGudgments = !isMobile && currentItems?.length <= 2 && isDisplayGudgments\n\n const showItemLength = (size?: number) => {\n switch (size) {\n case 1440:\n return isShowGudgments ? currentItems?.length : 4\n case 1024:\n return isShowGudgments ? currentItems?.length : 3\n default:\n return isShowGudgments ? currentItems?.length : 2.3\n }\n }\n\n const gackViewEvent = () => {\n gaTrack({\n event: 'ga4Event',\n event_name: 'view_item_list',\n event_parameters: {\n page_group: 'Home Page',\n item_list_name: 'Home_Page_Bundle',\n items: recommendedData?.map((item, index) => {\n const findData = item?.variants?.find((v: any) => v?.sku === item?.sku)\n const variant = findData || item?.variants?.[0]\n return {\n item_id: item?.sku || variant?.sku,\n item_name: item?.name,\n item_variant: variant?.name,\n price: variant?.price,\n index: index + 1,\n }\n }),\n },\n })\n }\n\n const handleCurrentTab = (currentData: ShelfDisplayItem[], flag: boolean) => {\n if (flag) {\n const newCurrentData = recommendedData?.map?.(item => {\n return {\n ...item,\n isShowRecommended: true,\n }\n })\n setCurrentItems(newCurrentData?.length ? newCurrentData || [] : [])\n } else {\n const isArray = Array.isArray(currentData)\n if (isArray) {\n const newCurrentData = currentData\n ?.map?.(item => {\n const findData = buildData?.products?.find(params => params?.handle === item?.handle)\n if (findData) {\n return {\n sku: item.sku,\n isShowRecommended: false,\n custom_name: item.custom_name,\n custom_description: item.custom_description,\n custom_image: item.custom_image,\n custom_theme: item.custom_theme,\n ...findData,\n }\n }\n })\n ?.filter(item => item)\n setCurrentItems(newCurrentData?.length ? newCurrentData || [] : [])\n } else {\n setCurrentItems([])\n }\n }\n }\n\n useImperativeHandle(ref, () => innerRef.current as HTMLDivElement)\n\n useEffect(() => {\n if (inView && recommendedData?.length && !isView.current) {\n isView.current = true\n gackViewEvent()\n }\n }, [inView, recommendedData])\n\n // \u7B97\u6CD5\u6570\u636E\u4F1A\u7A0D\u5FAE\u5EF6\u8FDF\uFF0C\u6240\u4EE5\u9700\u76D1\u542CrecommendedData\uFF0C\u4E3A\u4E86\u9632\u6B62\u5728\u6709\u7B97\u6CD5\u6570\u636E\u4E14\u5BF9\u9ED8\u8BA4\u6E32\u67D3\u7B2C\u4E00\u4E2A\u540E\u53CD\u590D\u89E6\u53D1\uFF0C\u7528isRecommend\u5173\u95ED\n useEffect(() => {\n if (isRecommend.current) return\n if (!isRecommend.current && recommendedData?.length) {\n isRecommend.current = true\n }\n if (isShowTab) {\n setTabId(productsTab?.[0]?.tab || '')\n handleCurrentTab(productsTab?.[0]?.data || [], productsTab?.[0]?.isShowRecommendedTab)\n return\n }\n handleCurrentTab(productsCard, isShowRecommendedCard)\n }, [recommendedData])\n\n return (\n <div\n ref={innerRef}\n className={cn('shelf-display-wrap w-full', className, { 'aiui-dark': data?.theme === 'dark' })}\n >\n {title && <Title data={{ title: title }} />}\n {isShowTab && (\n <div className=\"md-tablet:w-full md-tablet:overflow-hidden\">\n <TabSwitch\n value={tabId}\n tabs={productsTab}\n tabShape={tabShape}\n onTabClick={v => {\n setTabId(v?.tab)\n handleCurrentTab(v?.data || [], v?.isShowRecommendedTab)\n if (!v?.isShowRecommendedTab) {\n gaTrack({\n event: 'ga4Event',\n event_name: 'component_click',\n event_parameters: {\n page_group: 'Home Page',\n component_type: componentType,\n component_name: componentName,\n component_title: data?.title,\n component_position: 1,\n navigation: v?.tab,\n },\n })\n return\n }\n gackViewEvent()\n }}\n />\n </div>\n )}\n <div\n ref={viewRef as any}\n className=\"tablet:min-h-[393px] laptop:min-h-[425px] desktop:min-h-[405px] lg-desktop:min-h-[409px]\"\n >\n <SwiperBox\n data={{\n list: currentItems,\n configuration: {\n ...other,\n event: event,\n isShowTag,\n isShowOriginalPrice,\n target: target,\n metafields: metafields,\n itemLength: currentItems?.length,\n isDisplayBackImage: isDisplayBackImage,\n },\n }}\n id={`ShelfDisplay${key}${tabId}`}\n className={`${isShowTab ? 'mt-6' : ''} !overflow-visible`}\n itemClassName={isShowGudgments ? 'flex-1' : ''}\n Slide={isShowGudgments ? ShelfDisplayHorizontalItem : ShelfDisplayWrapItem}\n breakpoints={\n breakpoints || {\n 0: {\n spaceBetween: 12,\n freeMode: false,\n slidesPerView: 1,\n },\n 374: {\n spaceBetween: 12,\n freeMode: false,\n slidesPerView: isOnce ? 1 : 1.2,\n },\n 768: {\n spaceBetween: isOnce ? 0 : 16,\n freeMode: false,\n slidesPerView: showItemLength(),\n },\n 1024: {\n spaceBetween: isOnce ? 0 : 16,\n freeMode: false,\n slidesPerView: showItemLength(1024),\n },\n 1440: {\n spaceBetween: isOnce ? 0 : 16,\n freeMode: false,\n slidesPerView: showItemLength(1440),\n },\n }\n }\n />\n </div>\n </div>\n )\n }\n)\n\nexport default withLayout(ShelfDisplay)\n"],
5
+ "mappings": "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",
6
6
  "names": ["ShelfDisplay_exports", "__export", "ShelfDisplay_default", "__toCommonJS", "import_jsx_runtime", "import_react", "import_utils", "import_tabSwitch", "import_Title", "import_SwiperBox", "import_Styles", "import_track", "import_react_responsive", "import_useRollout", "import_shelfDisplayItem", "componentType", "componentName", "ShelfDisplay", "React", "key", "data", "event", "buildData", "breakpoints", "className", "recommendedData", "target", "metafields", "isDisplayGudgments", "isDisplayBackImage", "ref", "productsTab", "productsCard", "title", "isShowTab", "tabShape", "isShowTag", "isShowOriginalPrice", "isShowRecommendedCard", "other", "tabId", "setTabId", "currentItems", "setCurrentItems", "isView", "isRecommend", "innerRef", "isMobile", "viewRef", "inView", "isOnce", "isShowGudgments", "showItemLength", "size", "gackViewEvent", "item", "index", "variant", "v", "handleCurrentTab", "currentData", "flag", "newCurrentData", "findData", "params", "Title", "TabSwitch", "SwiperBox"]
7
7
  }
@@ -0,0 +1,97 @@
1
+ import type { ContainerProps } from '../../types/props.js';
2
+ export declare const PRICE_SYMBOL: any;
3
+ export declare const languageTerritory: (locale: string) => string;
4
+ export declare function formatPrice({ amount, currencyCode, locale, maximumFractionDigits, minimumFractionDigits, removeTrailingZeros, }: {
5
+ amount: number;
6
+ currencyCode: string;
7
+ locale: string;
8
+ maximumFractionDigits?: number;
9
+ minimumFractionDigits?: number;
10
+ removeTrailingZeros?: boolean;
11
+ }): string;
12
+ export declare function formatVariantPrice({ amount, baseAmount, currencyCode, locale, maximumFractionDigits, minimumFractionDigits, removeTrailingZeros, }: {
13
+ baseAmount: number;
14
+ amount: number;
15
+ currencyCode: string;
16
+ locale: string;
17
+ maximumFractionDigits?: number;
18
+ minimumFractionDigits?: number;
19
+ removeTrailingZeros?: boolean;
20
+ }): {
21
+ price: string;
22
+ basePrice: string | undefined;
23
+ discount: string | null;
24
+ };
25
+ type EventType = {
26
+ primaryButton?: (v: any, index: number, data: ShelfDisplayType) => void;
27
+ secondaryButton?: (v: any, index: number, data: ShelfDisplayType) => void;
28
+ };
29
+ export interface ShelfDisplayItem {
30
+ id?: string;
31
+ /** 产品图片*/
32
+ img?: {
33
+ url: string;
34
+ };
35
+ handle?: string;
36
+ sku?: string;
37
+ /** 折扣后价格*/
38
+ price?: string;
39
+ title?: string;
40
+ /** 折扣前价格*/
41
+ basePrice?: string;
42
+ subTitle?: string;
43
+ /** 标签*/
44
+ tagItems?: string[];
45
+ tab?: string;
46
+ data?: ShelfDisplayItem[];
47
+ custom_name?: string;
48
+ custom_description?: string;
49
+ }
50
+ export type ShelfDisplayType = {
51
+ title?: string;
52
+ isShowTab?: boolean;
53
+ isShowTag?: boolean;
54
+ isShowRecommendedCard?: boolean;
55
+ isShowOriginalPrice?: boolean;
56
+ direction?: 'horizontal' | 'vertical';
57
+ align?: 'left' | 'center' | 'right';
58
+ productsTab?: any[];
59
+ productsCard?: any[];
60
+ /** 卡片形状 */
61
+ itemShape?: 'round' | 'square';
62
+ /** 按钮形状 */
63
+ shape?: 'round' | 'square';
64
+ /** 标签页形状*/
65
+ tabShape?: 'rounded' | 'square';
66
+ /** 主按钮配置 */
67
+ primaryButton?: string;
68
+ primaryFun?: 'AddCart' | 'BuyNow' | 'LearnMore';
69
+ /** 副按钮配置 */
70
+ secondaryButton?: string;
71
+ secondaryFun?: 'AddCart' | 'BuyNow' | 'LearnMore';
72
+ theme?: 'light' | 'dark';
73
+ containerProps?: ContainerProps;
74
+ };
75
+ export interface ShelfDisplayProps {
76
+ data: ShelfDisplayType;
77
+ buildData?: {
78
+ categories: any[];
79
+ products: any[];
80
+ };
81
+ recommendedData?: any[];
82
+ /** 按钮事件*/
83
+ event?: EventType;
84
+ className?: string;
85
+ key?: string;
86
+ target?: '_self' | '_blank';
87
+ breakpoints?: {
88
+ [key: number]: {
89
+ spaceBetween: number;
90
+ freeMode: boolean;
91
+ slidesPerView: number;
92
+ };
93
+ };
94
+ isDisplayGudgments?: boolean;
95
+ isDisplayBackImage?: boolean;
96
+ }
97
+ export {};
@@ -0,0 +1,8 @@
1
+ export declare const ShelfDisplayWrapItem: ({ data, configuration }: {
2
+ data: any;
3
+ configuration?: any;
4
+ }) => import("react/jsx-runtime").JSX.Element;
5
+ export declare const ShelfDisplayHorizontalItem: ({ data, configuration }: {
6
+ data: any;
7
+ configuration?: any;
8
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -1,8 +1,8 @@
1
- "use strict";var K=Object.create;var T=Object.defineProperty;var Q=Object.getOwnPropertyDescriptor;var X=Object.getOwnPropertyNames;var Y=Object.getPrototypeOf,Z=Object.prototype.hasOwnProperty;var ee=(e,t)=>{for(var n in t)T(e,n,{get:t[n],enumerable:!0})},q=(e,t,n,x)=>{if(t&&typeof t=="object"||typeof t=="function")for(let c of X(t))!Z.call(e,c)&&c!==n&&T(e,c,{get:()=>t[c],enumerable:!(x=Q(t,c))||x.enumerable});return e};var z=(e,t,n)=>(n=e!=null?K(Y(e)):{},q(t||!e||!e.__esModule?T(n,"default",{value:e,enumerable:!0}):n,e)),te=e=>q(T({},"__esModule",{value:!0}),e);var oe={};ee(oe,{ShelfDisplayHorizontalItem:()=>le,ShelfDisplayWrapItem:()=>se});module.exports=te(oe);var s=require("react/jsx-runtime"),E=require("../AiuiProvider/index.js"),F=require("./shelfDisplay.js"),C=z(require("../../components/picture.js")),U=z(require("../../components/badge.js")),d=require("../../helpers/utils.js"),W=require("../../components/text.js"),k=z(require("../../components/button.js")),A=require("../../shared/track.js"),R=require("../../shared/trackUrlRef.js"),M=require("../../components/heading.js"),V=require("../../hooks/useExposure.js"),u=require("react");const B="image",D="product_shelf",G=999999999e-2,se=({data:e,configuration:t})=>{const{isDisplayBackImage:n=!1,itemShape:x,metafields:c}=t||{},{locale:v="us",copyWriting:b}=(0,E.useAiuiContext)(),{discounts:$}=c||{},w=(0,u.useRef)(null),[S,N]=(0,u.useState)([]),I=(i,l,a)=>t?.event?.primaryButton?.(i,l+1,a),P=(i,l,a)=>t?.event?.secondaryButton?.(i,l+1,a),o=e?.variants?.find(i=>i?.sku===e?.sku)||e?.variants?.[0]||{},j=!o?.availableForSale&&o?.price?.amount===G,O=t?.isShowTag,g=t?.isShowOriginalPrice,h=o?.coupons?.[0],{price:H,basePrice:L,discount:m}=(0,F.formatVariantPrice)({locale:v,amount:g&&h?h.variant_price4wscode:o.price,baseAmount:g&&h?o.price:0,currencyCode:e?.price?.currencyCode||"USD"}),_=()=>{const i=e?.sku,l=e?.variants;return l?.find(r=>r?.sku===i)?.image?.url||l?.[0]?.image?.url||""},p=e?.custom_name||e?.title,f=e?.custom_description||e?.description;(0,u.useEffect)(()=>{let i=[];if(m){const a=`${m}${$?.off||""}`;i.push(a)}const l=e?.tags?.filter?.(a=>a?.startsWith?.("CLtag"))?.map?.(a=>a?.replace?.("CLtag:",""))?.slice?.(0,m?1:2);N(i.concat(l))},[e?.tags,m]),(0,V.useExposure)(w,{componentType:B,componentName:D,componentTitle:p,componentDescription:f,position:t?.index+1});const y=()=>(0,s.jsxs)(s.Fragment,{children:[O&&S?.length>0?(0,s.jsx)("div",{className:"mb-1 box-border flex h-8 flex-wrap gap-1 overflow-hidden",children:S?.map?.((i,l)=>(0,s.jsx)(U.default,{className:"shelf-items-tag",children:i},l))}):null,p?(0,s.jsx)(M.Heading,{as:"h3",title:p||"",size:2,className:"shelf-display-product-title mb-1 line-clamp-2",html:p||""}):null,f?(0,s.jsx)(W.Text,{size:2,className:"lg-desktop:text-lg lg-desktop:h-[26px] desktop:text-base desktop:h-6 shelf-display-product-description line-clamp-1 h-5 text-sm",html:f||""}):null,(0,s.jsx)("div",{className:"mb-3 mt-5 flex items-center",children:j?(0,s.jsx)("div",{className:"tablet:text-2xl text-info-primary text-xl font-bold",children:b?.soldOutText}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{className:"final-price tablet:text-2xl text-info-primary text-xl font-bold",children:o?.availableForSale&&H||""}),(0,s.jsx)("div",{className:"origin-price tablet:text-xl text-info-secondary ml-1 text-lg font-bold line-through",children:o?.availableForSale&&L||""})]})}),(0,s.jsxs)("div",{className:(0,d.cn)("shelf-flex-button-group","lg-desktop:gap-3 flex items-center gap-2",t.direction==="vertical"?"flex-col":""),children:[t?.secondaryButton?(0,s.jsx)(k.default,{variant:"secondary",onClick:()=>P(e,t?.index,t),className:`
1
+ "use strict";var K=Object.create;var N=Object.defineProperty;var Q=Object.getOwnPropertyDescriptor;var X=Object.getOwnPropertyNames;var Y=Object.getPrototypeOf,Z=Object.prototype.hasOwnProperty;var ee=(e,t)=>{for(var n in t)N(e,n,{get:t[n],enumerable:!0})},q=(e,t,n,x)=>{if(t&&typeof t=="object"||typeof t=="function")for(let c of X(t))!Z.call(e,c)&&c!==n&&N(e,c,{get:()=>t[c],enumerable:!(x=Q(t,c))||x.enumerable});return e};var z=(e,t,n)=>(n=e!=null?K(Y(e)):{},q(t||!e||!e.__esModule?N(n,"default",{value:e,enumerable:!0}):n,e)),te=e=>q(N({},"__esModule",{value:!0}),e);var oe={};ee(oe,{ShelfDisplayHorizontalItem:()=>le,ShelfDisplayWrapItem:()=>se});module.exports=te(oe);var s=require("react/jsx-runtime"),E=require("../AiuiProvider/index.js"),F=require("./shelfDisplay.js"),D=z(require("../../components/picture.js")),U=z(require("../../components/badge.js")),d=require("../../helpers/utils.js"),W=require("../../components/text.js"),k=z(require("../../components/button.js")),A=require("../../shared/track.js"),R=require("../../shared/trackUrlRef.js"),M=require("../../components/heading.js"),V=require("../../hooks/useExposure.js"),u=require("react");const T="image",B="product_shelf",G=999999999e-2,se=({data:e,configuration:t})=>{const{isDisplayBackImage:n=!1,itemShape:x,metafields:c}=t||{},{locale:f="us",copyWriting:b}=(0,E.useAiuiContext)(),{discounts:C}=c||{},w=(0,u.useRef)(null),[$,S]=(0,u.useState)([]),I=(i,l,a)=>t?.event?.primaryButton?.(i,l+1,a),P=(i,l,a)=>t?.event?.secondaryButton?.(i,l+1,a),o=e?.variants?.find(i=>i?.sku===e?.sku)||e?.variants?.[0]||{},j=!o?.availableForSale&&o?.price?.amount===G,O=t?.isShowTag,g=t?.isShowOriginalPrice,h=o?.coupons?.[0],{price:H,basePrice:L,discount:m}=(0,F.formatVariantPrice)({locale:f,amount:g&&h?h.variant_price4wscode:o.price,baseAmount:g&&h?o.price:0,currencyCode:e?.price?.currencyCode||"USD"}),_=()=>{const i=e?.sku,l=e?.variants;return l?.find(r=>r?.sku===i)?.image?.url||l?.[0]?.image?.url||""},p=e?.custom_name||e?.title,v=e?.custom_description||e?.description;(0,u.useEffect)(()=>{let i=[];if(m){const a=`${m}${C?.off||""}`;i.push(a)}const l=e?.tags?.filter?.(a=>a?.startsWith?.("CLtag"))?.map?.(a=>a?.replace?.("CLtag:",""))?.slice?.(0,m?1:2);S(i.concat(l))},[e?.tags,m]),(0,V.useExposure)(w,{componentType:T,componentName:B,componentTitle:p,componentDescription:v,position:t?.index+1});const y=()=>(0,s.jsxs)(s.Fragment,{children:[O?(0,s.jsx)("div",{className:"mb-1 box-border flex h-8 flex-wrap gap-1 overflow-hidden",children:$?.map?.((i,l)=>(0,s.jsx)(U.default,{children:i},l))}):null,p?(0,s.jsx)(M.Heading,{as:"h3",title:p||"",size:2,className:"shelf-display-product-title mb-1 line-clamp-2",html:p||""}):null,v?(0,s.jsx)(W.Text,{size:2,className:"lg-desktop:text-lg lg-desktop:h-[26px] desktop:text-base desktop:h-6 shelf-display-product-description line-clamp-1 h-5 text-sm",html:v||""}):null,(0,s.jsx)("div",{className:"mb-2 mt-5 flex items-center",children:j?(0,s.jsx)("div",{className:"tablet:text-2xl text-info-primary text-xl font-bold",children:b?.soldOutText}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{className:"final-price tablet:text-2xl text-info-primary text-xl font-bold",children:o?.availableForSale&&H||""}),(0,s.jsx)("div",{className:"origin-price tablet:text-xl text-info-secondary ml-1 text-lg font-bold line-through",children:o?.availableForSale&&L||""})]})}),(0,s.jsxs)("div",{className:(0,d.cn)("shelf-flex-button-group","lg-desktop:gap-3 flex items-center gap-2",t.direction==="vertical"?"flex-col":""),children:[t?.secondaryButton?(0,s.jsx)(k.default,{variant:"secondary",onClick:()=>P(e,t?.index,t),className:`
2
2
  ${t.direction==="vertical"?"w-full":""}
3
3
  `,children:t?.secondaryButton||""}):null,t?.primaryButton?(0,s.jsx)(k.default,{variant:"primary",onClick:()=>I(e,t?.index,t),className:`
4
4
  ${t.direction==="vertical"?"w-full":""}
5
- `,children:t?.primaryButton||""}):null]})]});return(0,s.jsx)("div",{ref:w,className:(0,d.cn)("bg-container-secondary-1 tablet:hover:bg-info-white box-border w-full cursor-pointer overflow-hidden duration-300",x==="round"?"rounded-2xl":"rounded-none","lg-desktop:aspect-w-[404] lg-desktop:aspect-h-[480] desktop:aspect-w-[316] desktop:aspect-h-[384]","laptop:aspect-w-[288] laptop:aspect-h-[360] aspect-w-[296] aspect-h-[360] relative","md-tablet:h-[360px] shelf-display-item"),children:n?(0,s.jsx)("div",{className:"absolute inset-0 box-border overflow-hidden",children:(0,s.jsxs)("div",{className:"relative inset-0 size-full",children:[(0,s.jsx)(C.default,{source:_(),alt:"",className:"flex h-full justify-center object-cover [&_img]:w-auto"}),(0,s.jsx)("div",{className:"desktop:p-6 absolute inset-x-0 bottom-0 box-border overflow-hidden p-4",children:y()})]})}):(0,s.jsxs)("div",{className:"desktop:p-6 absolute inset-0 box-border flex flex-col justify-between overflow-hidden p-4",children:[(0,s.jsx)("div",{className:(0,d.cn)("lg-desktop:mb-3 lg-desktop:h-[195px] relative mb-2 inline-block h-[140px] w-full flex-1 overflow-hidden"),children:(0,s.jsx)("a",{"aria-label":p,target:t?.target,href:(0,R.trackUrlRef)(`${v==="us"||!v?"":`/${v}`}/products/${e?.handle}`,`${B}_${D}`),onClick:()=>{(0,A.gaTrack)({event:"ga4Event",event_name:"select_item",event_parameters:{page_group:"Home Page",item_list_name:"Home_Page_Bundle",items:[{item_id:e?.sku||o?.sku,item_name:e?.name,item_variant:o?.name,price:o?.price,index:t?.index+1}]}})},children:(0,s.jsx)(C.default,{source:_(),alt:"",className:"flex h-full justify-center object-cover [&_img]:w-auto"})})}),y()]})},e?.id||e?.handle)},le=({data:e,configuration:t})=>{const{itemShape:n,itemLength:x,metafields:c}=t||{},{discounts:v}=c||{},{locale:b="us",copyWriting:$}=(0,E.useAiuiContext)(),[w,S]=(0,u.useState)([]),N=(0,u.useRef)(null),I=(l,a,r)=>t?.event?.primaryButton?.(l,a+1,r),P=(l,a,r)=>t?.event?.secondaryButton?.(l,a+1,r),o=e?.variants?.find(l=>l?.sku===e?.sku)||e?.variants?.[0]||{},j=!o?.availableForSale&&o?.price?.amount===G,O=t?.isShowTag,g=t?.isShowOriginalPrice,h=o?.coupons?.[0],{price:H,basePrice:L,discount:m}=(0,F.formatVariantPrice)({locale:b,amount:g&&h?h.variant_price4wscode:o.price,baseAmount:g&&h?o.price:0,currencyCode:e?.price?.currencyCode||"USD"}),_=()=>{const l=e?.sku,a=e?.variants;return a?.find(J=>J?.sku===l)?.image?.url||a?.[0]?.image?.url||""},p=e?.custom_name||e?.title,f=e?.custom_description||e?.description;(0,V.useExposure)(N,{componentType:B,componentName:D,componentTitle:p,componentDescription:f,position:t?.index+1});const y=()=>x>=2?{boxItem:"lg-desktop:max-w-[401px] desktop:max-w-[292px] max-w-full",imgItem:"m-tablet:m-auto lg-desktop:max-w-[330px] lg-desktop:max-h-[330px] desktop:max-w-[260px] desktop:max-h-[260px] max-w-[138px] max-h-[138px]",wrap:"lg-desktop:aspect-w-[824] lg-desktop:aspect-h-[480] desktop:aspect-w-[648] desktop:aspect-h-[380] laptop:aspect-w-[440] laptop:aspect-h-[356] tablet:aspect-w-[346] tablet:aspect-h-[360] md-tablet:w-full"}:{boxItem:"lg-desktop:max-w-[401px] desktop:max-w-[292px] laptop:max-w-[289px] max-w-[262px]",imgItem:"md-tablet:m-auto lg-desktop:max-w-[450px] lg-desktop:max-h-[450px] desktop:max-w-[332px] desktop:max-h-[332px] max-w-[312px] max-h-[312px]",wrap:"lg-desktop:aspect-w-[1664] lg-desktop:aspect-h-[480] desktop:aspect-w-[1312] desktop:aspect-h-[380] laptop:aspect-w-[896] laptop:aspect-h-[356] tablet:aspect-w-[704] tablet:aspect-h-[360] md-tablet:w-full"},i=()=>x>=2?"flex flex-col justify-between desktop:gap-12 desktop:flex-row desktop:justify-center desktop:items-center":"flex justify-center items-center gap-6 md-tablet:flex-col";return(0,u.useEffect)(()=>{let l=[];if(m){const r=`${m}${v?.off||""}`;l.push(r)}const a=e?.tags?.filter?.(r=>r?.startsWith?.("CLtag"))?.map?.(r=>r?.replace?.("CLtag:",""))?.slice?.(0,m?1:2);S(l.concat(a))},[e?.tags,m]),(0,s.jsx)("div",{ref:N,className:(0,d.cn)(y().wrap,n==="round"?"rounded-2xl":"rounded-none","shelf-display-item","bg-container-secondary-1 tablet:hover:bg-info-white duration-300 gap-6","box-border w-full cursor-pointer overflow-hidden relative md-tablet:h-[360px]"),children:(0,s.jsxs)("div",{className:(0,d.cn)(i(),"desktop:p-6 absolute inset-0 box-border overflow-hidden p-4"),children:[(0,s.jsx)("div",{className:(0,d.cn)(y().imgItem,"relative overflow-hidden desktop:mb-0 mb-1"),children:(0,s.jsx)("a",{"aria-label":p,target:t?.target,href:(0,R.trackUrlRef)(`${b==="us"||!b?"":`/${b}`}/products/${e?.handle}`,`${B}_${D}`),onClick:()=>{(0,A.gaTrack)({event:"ga4Event",event_name:"select_item",event_parameters:{page_group:"Home Page",item_list_name:"Home_Page_Bundle",items:[{item_id:e?.sku||o?.sku,item_name:e?.name,item_variant:o?.name,price:o?.price,index:t?.index+1}]}})},children:(0,s.jsx)(C.default,{source:_(),alt:"",className:"flex h-full justify-center object-cover [&_img]:w-auto"})})}),(0,s.jsxs)("div",{className:(0,d.cn)("flex flex-col justify-center items-start",y().boxItem),children:[O?(0,s.jsx)("div",{className:"mb-1 box-border flex h-8 flex-wrap gap-1 overflow-hidden",children:w?.map?.((l,a)=>(0,s.jsx)(U.default,{className:"shelf-items-tag",children:l},a))}):null,p?(0,s.jsx)(M.Heading,{as:"h3",title:p||"",size:2,className:"shelf-display-product-title mb-1 line-clamp-2",html:p||""}):null,f?(0,s.jsx)(W.Text,{size:2,className:"lg-desktop:text-lg lg-desktop:h-[26px] desktop:text-base desktop:h-6 shelf-display-product-description line-clamp-1 h-5 text-sm",html:f||""}):null,(0,s.jsx)("div",{className:"mb-2 mt-5 flex items-center",children:j?(0,s.jsx)("div",{className:"tablet:text-2xl text-info-primary text-xl font-bold",children:$?.soldOutText}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{className:"final-price tablet:text-2xl text-info-primary text-xl font-bold",children:o?.availableForSale&&H||""}),(0,s.jsx)("div",{className:"origin-price tablet:text-xl text-info-secondary ml-1 text-lg font-bold line-through",children:o?.availableForSale&&L||""})]})}),(0,s.jsxs)("div",{className:(0,d.cn)("shelf-flex-button-group","lg-desktop:gap-3 flex items-center gap-2",t.direction==="vertical"?"flex-col":""),children:[t?.secondaryButton?(0,s.jsx)(k.default,{variant:"secondary",onClick:()=>P(e,t?.index,t),className:`
5
+ `,children:t?.primaryButton||""}):null]})]});return(0,s.jsx)("div",{ref:w,className:(0,d.cn)("bg-container-secondary-1 tablet:hover:bg-info-white box-border w-full cursor-pointer overflow-hidden duration-300",x==="round"?"rounded-2xl":"rounded-none","lg-desktop:aspect-w-[404] lg-desktop:aspect-h-[480] desktop:aspect-w-[316] desktop:aspect-h-[384]","laptop:aspect-w-[288] laptop:aspect-h-[360] aspect-w-[296] aspect-h-[360] relative","md-tablet:h-[360px]"),children:n?(0,s.jsx)("div",{className:"absolute inset-0 box-border overflow-hidden",children:(0,s.jsxs)("div",{className:"relative inset-0 size-full",children:[(0,s.jsx)(D.default,{source:_(),alt:"",className:"flex h-full justify-center object-cover [&_img]:w-auto"}),(0,s.jsx)("div",{className:"desktop:p-6 absolute inset-x-0 bottom-0 box-border overflow-hidden p-4",children:y()})]})}):(0,s.jsxs)("div",{className:"desktop:p-6 absolute inset-0 box-border flex flex-col justify-between overflow-hidden p-4",children:[(0,s.jsx)("div",{className:(0,d.cn)("lg-desktop:mb-3 lg-desktop:h-[195px] relative mb-2 inline-block h-[140px] w-full flex-1 overflow-hidden"),children:(0,s.jsx)("a",{"aria-label":p,target:t?.target,href:(0,R.trackUrlRef)(`${f==="us"||!f?"":`/${f}`}/products/${e?.handle}`,`${T}_${B}`),onClick:()=>{(0,A.gaTrack)({event:"ga4Event",event_name:"select_item",event_parameters:{page_group:"Home Page",item_list_name:"Home_Page_Bundle",items:[{item_id:e?.sku||o?.sku,item_name:e?.name,item_variant:o?.name,price:o?.price,index:t?.index+1}]}})},children:(0,s.jsx)(D.default,{source:_(),alt:"",className:"flex h-full justify-center object-cover [&_img]:w-auto"})})}),y()]})},e?.id||e?.handle)},le=({data:e,configuration:t})=>{const{itemShape:n,itemLength:x,metafields:c}=t||{},{discounts:f}=c||{},{locale:b="us",copyWriting:C}=(0,E.useAiuiContext)(),[w,$]=(0,u.useState)([]),S=(0,u.useRef)(null),I=(l,a,r)=>t?.event?.primaryButton?.(l,a+1,r),P=(l,a,r)=>t?.event?.secondaryButton?.(l,a+1,r),o=e?.variants?.find(l=>l?.sku===e?.sku)||e?.variants?.[0]||{},j=!o?.availableForSale&&o?.price?.amount===G,O=t?.isShowTag,g=t?.isShowOriginalPrice,h=o?.coupons?.[0],{price:H,basePrice:L,discount:m}=(0,F.formatVariantPrice)({locale:b,amount:g&&h?h.variant_price4wscode:o.price,baseAmount:g&&h?o.price:0,currencyCode:e?.price?.currencyCode||"USD"}),_=()=>{const l=e?.sku,a=e?.variants;return a?.find(J=>J?.sku===l)?.image?.url||a?.[0]?.image?.url||""},p=e?.custom_name||e?.title,v=e?.custom_description||e?.description;(0,V.useExposure)(S,{componentType:T,componentName:B,componentTitle:p,componentDescription:v,position:t?.index+1});const y=()=>x>=2?{boxItem:"lg-desktop:max-w-[401px] desktop:max-w-[292px] max-w-full",imgItem:"m-tablet:m-auto lg-desktop:max-w-[330px] lg-desktop:max-h-[330px] desktop:max-w-[260px] desktop:max-h-[260px] max-w-[138px] max-h-[138px]",wrap:"lg-desktop:aspect-w-[824] lg-desktop:aspect-h-[480] desktop:aspect-w-[648] desktop:aspect-h-[380] laptop:aspect-w-[440] laptop:aspect-h-[356] tablet:aspect-w-[346] tablet:aspect-h-[360] md-tablet:w-full"}:{boxItem:"lg-desktop:max-w-[401px] desktop:max-w-[292px] laptop:max-w-[289px] max-w-[262px]",imgItem:"md-tablet:m-auto lg-desktop:max-w-[450px] lg-desktop:max-h-[450px] desktop:max-w-[332px] desktop:max-h-[332px] max-w-[312px] max-h-[312px]",wrap:"lg-desktop:aspect-w-[1664] lg-desktop:aspect-h-[480] desktop:aspect-w-[1312] desktop:aspect-h-[380] laptop:aspect-w-[896] laptop:aspect-h-[356] tablet:aspect-w-[704] tablet:aspect-h-[360] md-tablet:w-full"},i=()=>x>=2?"flex flex-col justify-between desktop:gap-12 desktop:flex-row desktop:justify-center desktop:items-center":"flex justify-center items-center gap-6 md-tablet:flex-col";return(0,u.useEffect)(()=>{let l=[];if(m){const r=`${m}${f?.off||""}`;l.push(r)}const a=e?.tags?.filter?.(r=>r?.startsWith?.("CLtag"))?.map?.(r=>r?.replace?.("CLtag:",""))?.slice?.(0,m?1:2);$(l.concat(a))},[e?.tags,m]),(0,s.jsx)("div",{ref:S,className:(0,d.cn)(y().wrap,n==="round"?"rounded-2xl":"rounded-none","bg-container-secondary-1 tablet:hover:bg-info-white duration-300 gap-6","box-border w-full cursor-pointer overflow-hidden relative md-tablet:h-[360px]"),children:(0,s.jsxs)("div",{className:(0,d.cn)(i(),"desktop:p-6 absolute inset-0 box-border overflow-hidden p-4"),children:[(0,s.jsx)("div",{className:(0,d.cn)(y().imgItem,"relative overflow-hidden desktop:mb-0 mb-1"),children:(0,s.jsx)("a",{"aria-label":p,target:t?.target,href:(0,R.trackUrlRef)(`${b==="us"||!b?"":`/${b}`}/products/${e?.handle}`,`${T}_${B}`),onClick:()=>{(0,A.gaTrack)({event:"ga4Event",event_name:"select_item",event_parameters:{page_group:"Home Page",item_list_name:"Home_Page_Bundle",items:[{item_id:e?.sku||o?.sku,item_name:e?.name,item_variant:o?.name,price:o?.price,index:t?.index+1}]}})},children:(0,s.jsx)(D.default,{source:_(),alt:"",className:"flex h-full justify-center object-cover [&_img]:w-auto"})})}),(0,s.jsxs)("div",{className:(0,d.cn)("flex flex-col justify-center items-start",y().boxItem),children:[O?(0,s.jsx)("div",{className:"mb-1 box-border flex h-8 flex-wrap gap-1 overflow-hidden",children:w?.map?.((l,a)=>(0,s.jsx)(U.default,{children:l},a))}):null,p?(0,s.jsx)(M.Heading,{as:"h3",title:p||"",size:2,className:"shelf-display-product-title mb-1 line-clamp-2",html:p||""}):null,v?(0,s.jsx)(W.Text,{size:2,className:"lg-desktop:text-lg lg-desktop:h-[26px] desktop:text-base desktop:h-6 shelf-display-product-description line-clamp-1 h-5 text-sm",html:v||""}):null,(0,s.jsx)("div",{className:"mb-2 mt-5 flex items-center",children:j?(0,s.jsx)("div",{className:"tablet:text-2xl text-info-primary text-xl font-bold",children:C?.soldOutText}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{className:"final-price tablet:text-2xl text-info-primary text-xl font-bold",children:o?.availableForSale&&H||""}),(0,s.jsx)("div",{className:"origin-price tablet:text-xl text-info-secondary ml-1 text-lg font-bold line-through",children:o?.availableForSale&&L||""})]})}),(0,s.jsxs)("div",{className:(0,d.cn)("shelf-flex-button-group","lg-desktop:gap-3 flex items-center gap-2",t.direction==="vertical"?"flex-col":""),children:[t?.secondaryButton?(0,s.jsx)(k.default,{variant:"secondary",onClick:()=>P(e,t?.index,t),className:`
6
6
  ${t.direction==="vertical"?"w-full":""}
7
7
  `,children:t?.secondaryButton||""}):null,t?.primaryButton?(0,s.jsx)(k.default,{variant:"primary",onClick:()=>I(e,t?.index,t),className:`
8
8
  ${t.direction==="vertical"?"w-full":""}