@anker-in/headless-ui 1.1.9-alpha.1764238772087 → 1.1.9-temp-112701

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 (1005) hide show
  1. package/dist/cjs/apps/playground/utils/classnames.d.ts +1 -0
  2. package/dist/cjs/apps/storefront/lib/utils/classnames.d.ts +2 -0
  3. package/dist/cjs/biz-components/AccordionCards/useDebounce.d.ts +6 -0
  4. package/dist/cjs/biz-components/CollectionShelves/CollectionShelvesItem.d.ts +4 -0
  5. package/dist/cjs/biz-components/CollectionShelves/CollectionShelvesItem.js +2 -0
  6. package/dist/cjs/biz-components/CollectionShelves/CollectionShelvesItem.js.map +7 -0
  7. package/dist/cjs/biz-components/CollectionShelves/index.d.ts +6 -0
  8. package/dist/cjs/biz-components/CollectionShelves/index.js +2 -0
  9. package/dist/cjs/biz-components/CollectionShelves/index.js.map +7 -0
  10. package/dist/cjs/biz-components/CollectionsBanner/HeroBanner.d.ts +7 -0
  11. package/dist/cjs/biz-components/CollectionsBanner/index.d.ts +7 -0
  12. package/dist/cjs/biz-components/CollectionsBanner/index.js +2 -0
  13. package/dist/cjs/biz-components/CollectionsBanner/index.js.map +7 -0
  14. package/dist/cjs/biz-components/CollectionsBanner/types.d.ts +43 -0
  15. package/dist/cjs/biz-components/CollectionsBanner/types.js +2 -0
  16. package/dist/cjs/biz-components/CollectionsBanner/types.js.map +7 -0
  17. package/dist/cjs/biz-components/CollectionsFilters/AnimatedUL.d.ts +9 -0
  18. package/dist/cjs/biz-components/CollectionsFilters/FilterCardWrap.d.ts +18 -0
  19. package/dist/cjs/biz-components/CollectionsFilters/FilterCardWrap.js +2 -0
  20. package/dist/cjs/biz-components/CollectionsFilters/FilterCardWrap.js.map +7 -0
  21. package/dist/cjs/biz-components/CollectionsFilters/FilterCardWrapItem.d.ts +10 -0
  22. package/dist/cjs/biz-components/CollectionsFilters/FilterCardWrapItem.js +2 -0
  23. package/dist/cjs/biz-components/CollectionsFilters/FilterCardWrapItem.js.map +7 -0
  24. package/dist/cjs/biz-components/CollectionsFilters/FilterHeader.d.ts +13 -0
  25. package/dist/cjs/biz-components/CollectionsFilters/FilterHeader.js +2 -0
  26. package/dist/cjs/biz-components/CollectionsFilters/FilterHeader.js.map +7 -0
  27. package/dist/cjs/biz-components/CollectionsFilters/FilterList.d.ts +14 -0
  28. package/dist/cjs/biz-components/CollectionsFilters/FilterList.js +2 -0
  29. package/dist/cjs/biz-components/CollectionsFilters/FilterList.js.map +7 -0
  30. package/dist/cjs/biz-components/CollectionsFilters/FilterTab.d.ts +7 -0
  31. package/dist/cjs/biz-components/CollectionsFilters/FiterTab.d.ts +7 -0
  32. package/dist/cjs/biz-components/CollectionsFilters/FiterTab.js +2 -0
  33. package/dist/cjs/biz-components/CollectionsFilters/FiterTab.js.map +7 -0
  34. package/dist/cjs/biz-components/CollectionsFilters/Helper.d.ts +8 -0
  35. package/dist/cjs/biz-components/CollectionsFilters/MoblieSortFilter.d.ts +8 -0
  36. package/dist/cjs/biz-components/CollectionsFilters/SortFilter.d.ts +8 -0
  37. package/dist/cjs/biz-components/CollectionsFilters/component/AnimatedUL.d.ts +5 -0
  38. package/dist/cjs/biz-components/CollectionsFilters/component/AnimatedUL.js +2 -0
  39. package/dist/cjs/biz-components/CollectionsFilters/component/AnimatedUL.js.map +7 -0
  40. package/dist/cjs/biz-components/CollectionsFilters/component/LoadingDots.d.ts +6 -0
  41. package/dist/cjs/biz-components/CollectionsFilters/component/TabFilter.d.ts +12 -0
  42. package/dist/cjs/biz-components/CollectionsFilters/component/TabFilter.js +2 -0
  43. package/dist/cjs/biz-components/CollectionsFilters/component/TabFilter.js.map +7 -0
  44. package/dist/cjs/biz-components/CollectionsFilters/component/filtersFun.d.ts +12 -0
  45. package/dist/cjs/biz-components/CollectionsFilters/component/filtersFun.js +2 -0
  46. package/dist/cjs/biz-components/CollectionsFilters/component/filtersFun.js.map +7 -0
  47. package/dist/cjs/biz-components/CollectionsFilters/component/helper.d.ts +81 -0
  48. package/dist/cjs/biz-components/CollectionsFilters/component/helper.js +2 -0
  49. package/dist/cjs/biz-components/CollectionsFilters/component/helper.js.map +7 -0
  50. package/dist/cjs/biz-components/CollectionsFilters/component/price.d.ts +25 -0
  51. package/dist/cjs/biz-components/CollectionsFilters/component/price.js +2 -0
  52. package/dist/cjs/biz-components/CollectionsFilters/component/price.js.map +7 -0
  53. package/dist/cjs/biz-components/CollectionsFilters/component/priceProps.d.ts +215 -0
  54. package/dist/cjs/biz-components/CollectionsFilters/component/priceProps.js +2 -0
  55. package/dist/cjs/biz-components/CollectionsFilters/component/priceProps.js.map +7 -0
  56. package/dist/cjs/biz-components/CollectionsFilters/data.d.ts +24804 -0
  57. package/dist/cjs/biz-components/CollectionsFilters/index.d.ts +23 -0
  58. package/dist/cjs/biz-components/CollectionsFilters/index.js +2 -0
  59. package/dist/cjs/biz-components/CollectionsFilters/index.js.map +7 -0
  60. package/dist/cjs/biz-components/CollectionsFilters/price.d.ts +25 -0
  61. package/dist/cjs/biz-components/CollectionsFilters/priceProps.d.ts +215 -0
  62. package/dist/cjs/biz-components/CollectionsFilters/tabFilter.d.ts +10 -0
  63. package/dist/cjs/biz-components/CollectionsFilters/tabSwitch.d.ts +9 -0
  64. package/dist/cjs/biz-components/Listing/ProductProvider.d.ts +52 -0
  65. package/dist/cjs/biz-components/Listing/ProductProvider.js +2 -0
  66. package/dist/cjs/biz-components/Listing/ProductProvider.js.map +7 -0
  67. package/dist/cjs/biz-components/Listing/components/PaidShipping/index.js +1 -1
  68. package/dist/cjs/biz-components/Listing/components/PaidShipping/index.js.map +2 -2
  69. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.js +4 -4
  70. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.js.map +2 -2
  71. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTabs/index.d.ts +5 -0
  72. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.js +1 -1
  73. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.js.map +2 -2
  74. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.js +1 -1
  75. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.js.map +2 -2
  76. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.js +1 -1
  77. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.js.map +2 -2
  78. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js +2 -2
  79. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js.map +2 -2
  80. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/index.js +1 -1
  81. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/index.js.map +2 -2
  82. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/index.js +1 -1
  83. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/index.js.map +2 -2
  84. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGridBox.js +1 -1
  85. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGridBox.js.map +2 -2
  86. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductSummary/index.js +1 -1
  87. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductSummary/index.js.map +2 -2
  88. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductSummary/types.d.ts +2 -0
  89. package/dist/cjs/biz-components/Listing/components/ProductCard/index.js +1 -1
  90. package/dist/cjs/biz-components/Listing/components/ProductCard/index.js.map +2 -2
  91. package/dist/cjs/biz-components/Listing/components/PurchaseBar/ProductActions/index.js +1 -1
  92. package/dist/cjs/biz-components/Listing/components/PurchaseBar/ProductActions/index.js.map +2 -2
  93. package/dist/cjs/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/index.js +1 -1
  94. package/dist/cjs/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/index.js.map +2 -2
  95. package/dist/cjs/biz-components/Listing/components/PurchaseBar/index.js +1 -1
  96. package/dist/cjs/biz-components/Listing/components/PurchaseBar/index.js.map +2 -2
  97. package/dist/cjs/biz-components/Listing/hooks/use-options.d.ts +3 -0
  98. package/dist/cjs/biz-components/Listing/hooks/use-options.js +2 -0
  99. package/dist/cjs/biz-components/Listing/hooks/use-options.js.map +7 -0
  100. package/dist/cjs/biz-components/MediaPlayerMulti/YouTubePlayer.d.ts +3 -0
  101. package/dist/cjs/biz-components/MediaPlayerSticky/index.js +1 -1
  102. package/dist/cjs/biz-components/MediaPlayerSticky/index.js.map +3 -3
  103. package/dist/cjs/biz-components/Paginator/index.d.ts +7 -0
  104. package/dist/cjs/biz-components/Paginator/index.js +7 -0
  105. package/dist/cjs/biz-components/Paginator/index.js.map +7 -0
  106. package/dist/cjs/biz-components/SectionHeading/SectionHeading.d.ts +4 -0
  107. package/dist/cjs/biz-components/SectionHeading/index.d.ts +0 -0
  108. package/dist/cjs/biz-components/SectionHeading/types.d.ts +6 -0
  109. package/dist/cjs/biz-components/Shelf/Shelf.d.ts +8 -0
  110. package/dist/cjs/biz-components/Shelf/index.d.ts +1 -0
  111. package/dist/cjs/biz-components/Shelf/types.d.ts +6 -0
  112. package/dist/cjs/biz-components/ShelfDisplay/tab.d.ts +7 -0
  113. package/dist/cjs/biz-components/TextMa/index.d.ts +9 -0
  114. package/dist/cjs/biz-components/TextMarquee/index.d.ts +9 -0
  115. package/dist/cjs/biz-components/TextMarquee/index.js +2 -0
  116. package/dist/cjs/biz-components/TextMarquee/index.js.map +7 -0
  117. package/dist/cjs/campaign-ui/tailwind.config.d.ts +62 -0
  118. package/dist/cjs/components/breadcrumb.d.ts +12 -0
  119. package/dist/cjs/components/breadcrumb.js +2 -0
  120. package/dist/cjs/components/breadcrumb.js.map +7 -0
  121. package/dist/cjs/components/col.d.ts +29 -0
  122. package/dist/cjs/components/dropdown.d.ts +27 -0
  123. package/dist/cjs/components/inputnumber.d.ts +0 -0
  124. package/dist/cjs/components/row.d.ts +18 -0
  125. package/dist/cjs/helpers/get-subtree.d.ts +12 -0
  126. package/dist/cjs/hooks/useMemberPrice.d.ts +20 -0
  127. package/dist/cjs/packages/ui/src/components/avatar.d.ts +26 -0
  128. package/dist/cjs/packages/ui/src/components/index.d.ts +20 -0
  129. package/dist/cjs/packages/ui/src/index.d.ts +1 -0
  130. package/dist/cjs/packages/ui/src/stories/avatar.stories.d.ts +40 -0
  131. package/dist/cjs/packages/ui/src/stories/badge.stories.d.ts +26 -0
  132. package/dist/cjs/packages/ui/src/stories/button.stories.d.ts +48 -0
  133. package/dist/cjs/packages/ui/src/stories/checkbox.stories.d.ts +46 -0
  134. package/dist/cjs/packages/ui/src/stories/container.stories.d.ts +36 -0
  135. package/dist/cjs/packages/ui/src/stories/dialog.stories.d.ts +20 -0
  136. package/dist/cjs/packages/ui/src/stories/grid.stories.d.ts +42 -0
  137. package/dist/cjs/packages/ui/src/stories/heading.stories.d.ts +82 -0
  138. package/dist/cjs/packages/ui/src/stories/input.stories.d.ts +35 -0
  139. package/dist/cjs/packages/ui/src/stories/picture.stories.d.ts +18 -0
  140. package/dist/cjs/packages/ui/src/stories/popover.stories.d.ts +17 -0
  141. package/dist/cjs/packages/ui/src/stories/radio.stories.d.ts +39 -0
  142. package/dist/cjs/packages/ui/src/stories/skeleton.stories.d.ts +20 -0
  143. package/dist/cjs/packages/ui/src/stories/tabs.stories.d.ts +373 -0
  144. package/dist/cjs/packages/ui/src/stories/text.stories.d.ts +94 -0
  145. package/dist/cjs/src/biz-components/AccordionCards/index.d.ts +38 -0
  146. package/dist/cjs/src/biz-components/AiuiProvider/index.d.ts +16 -0
  147. package/dist/cjs/src/biz-components/AplusDesc/index.d.ts +22 -0
  148. package/dist/cjs/src/biz-components/BrandEquity/BrandEquity.d.ts +6 -0
  149. package/dist/cjs/src/biz-components/BrandEquity/index.d.ts +1 -0
  150. package/dist/cjs/src/biz-components/BrandEquity/types.d.ts +18 -0
  151. package/dist/cjs/src/biz-components/Category/SwiperCategory.d.ts +19 -0
  152. package/dist/cjs/src/biz-components/Category/index.d.ts +35 -0
  153. package/dist/cjs/src/biz-components/CreativeModule/index.d.ts +21 -0
  154. package/dist/cjs/src/biz-components/DownLoad/index.d.ts +20 -0
  155. package/dist/cjs/src/biz-components/Evaluate/index.d.ts +37 -0
  156. package/dist/cjs/src/biz-components/Faq/Faq.d.ts +14 -0
  157. package/dist/cjs/src/biz-components/Faq/index.d.ts +2 -0
  158. package/dist/cjs/src/biz-components/Faq/types.d.ts +12 -0
  159. package/dist/cjs/src/biz-components/FeatureCards/FeatureCards.d.ts +7 -0
  160. package/dist/cjs/src/biz-components/FeatureCards/index.d.ts +2 -0
  161. package/dist/cjs/src/biz-components/FeatureCards/types.d.ts +25 -0
  162. package/dist/cjs/src/biz-components/FeatureShowcase/FeatureShowcase.d.ts +7 -0
  163. package/dist/cjs/src/biz-components/FeatureShowcase/index.d.ts +2 -0
  164. package/dist/cjs/src/biz-components/FeatureShowcase/types.d.ts +21 -0
  165. package/dist/cjs/src/biz-components/Features/index.d.ts +26 -0
  166. package/dist/cjs/src/biz-components/FootCharger/index.d.ts +12 -0
  167. package/dist/cjs/src/biz-components/FooterNavigation/icons/Add.d.ts +3 -0
  168. package/dist/cjs/src/biz-components/FooterNavigation/icons/ArrowRight.d.ts +3 -0
  169. package/dist/cjs/src/biz-components/FooterNavigation/icons/Country.d.ts +3 -0
  170. package/dist/cjs/src/biz-components/FooterNavigation/icons/Subtract.d.ts +3 -0
  171. package/dist/cjs/src/biz-components/FooterNavigation/icons/index.d.ts +5 -0
  172. package/dist/cjs/src/biz-components/FooterNavigation/index.d.ts +6 -0
  173. package/dist/cjs/src/biz-components/FooterNavigation/types.d.ts +15 -0
  174. package/dist/cjs/src/biz-components/GiftBox/index.d.ts +17 -0
  175. package/dist/cjs/src/biz-components/Graphic/index.d.ts +38 -0
  176. package/dist/cjs/src/biz-components/GraphicAttractionBlock/index.d.ts +25 -0
  177. package/dist/cjs/src/biz-components/GraphicMore/index.d.ts +22 -0
  178. package/dist/cjs/src/biz-components/GraphicOverlay/GraphicOverlay.d.ts +8 -0
  179. package/dist/cjs/src/biz-components/GraphicOverlay/index.d.ts +2 -0
  180. package/dist/cjs/src/biz-components/GraphicOverlay/types.d.ts +33 -0
  181. package/dist/cjs/src/biz-components/HeaderNavigation/NavProvider.d.ts +36 -0
  182. package/dist/cjs/src/biz-components/HeaderNavigation/icons/AnkerLogo.d.ts +3 -0
  183. package/dist/cjs/src/biz-components/HeaderNavigation/icons/Cart.d.ts +3 -0
  184. package/dist/cjs/src/biz-components/HeaderNavigation/icons/Close.d.ts +3 -0
  185. package/dist/cjs/src/biz-components/HeaderNavigation/icons/DownArrow.d.ts +3 -0
  186. package/dist/cjs/src/biz-components/HeaderNavigation/icons/LeftArrow.d.ts +3 -0
  187. package/dist/cjs/src/biz-components/HeaderNavigation/icons/LogoLine.d.ts +3 -0
  188. package/dist/cjs/src/biz-components/HeaderNavigation/icons/Menu.d.ts +3 -0
  189. package/dist/cjs/src/biz-components/HeaderNavigation/icons/Polygon.d.ts +3 -0
  190. package/dist/cjs/src/biz-components/HeaderNavigation/icons/RightArrow.d.ts +3 -0
  191. package/dist/cjs/src/biz-components/HeaderNavigation/icons/Search.d.ts +3 -0
  192. package/dist/cjs/src/biz-components/HeaderNavigation/icons/User.d.ts +3 -0
  193. package/dist/cjs/src/biz-components/HeaderNavigation/icons/index.d.ts +12 -0
  194. package/dist/cjs/src/biz-components/HeaderNavigation/index.d.ts +7 -0
  195. package/dist/cjs/src/biz-components/HeaderNavigation/types.d.ts +103 -0
  196. package/dist/cjs/src/biz-components/HeaderNavigation/withCategory.d.ts +9 -0
  197. package/dist/cjs/src/biz-components/HeroBanner/Countdown.d.ts +9 -0
  198. package/dist/cjs/src/biz-components/HeroBanner/HeroBanner.d.ts +7 -0
  199. package/dist/cjs/src/biz-components/HeroBanner/index.d.ts +1 -0
  200. package/dist/cjs/src/biz-components/HeroBanner/types.d.ts +49 -0
  201. package/dist/cjs/src/biz-components/ImageTextFeature/ImageTextFeature.d.ts +7 -0
  202. package/dist/cjs/src/biz-components/ImageTextFeature/index.d.ts +2 -0
  203. package/dist/cjs/src/biz-components/ImageTextFeature/types.d.ts +31 -0
  204. package/dist/cjs/src/biz-components/ImageWithText/ImageWithText.d.ts +7 -0
  205. package/dist/cjs/src/biz-components/ImageWithText/index.d.ts +2 -0
  206. package/dist/cjs/src/biz-components/ImageWithText/types.d.ts +119 -0
  207. package/dist/cjs/src/biz-components/InlineVideo/index.d.ts +16 -0
  208. package/dist/cjs/src/biz-components/Ksp/index.d.ts +40 -0
  209. package/dist/cjs/src/biz-components/Listing/BizProductProvider.d.ts +126 -0
  210. package/dist/cjs/src/biz-components/Listing/components/PaidShipping/LearnMore.d.ts +2 -0
  211. package/dist/cjs/src/biz-components/Listing/components/PaidShipping/ShippingMethod.d.ts +10 -0
  212. package/dist/cjs/src/biz-components/Listing/components/PaidShipping/ShippingPolicyModal.d.ts +25 -0
  213. package/dist/cjs/src/biz-components/Listing/components/PaidShipping/index.d.ts +12 -0
  214. package/dist/cjs/src/biz-components/Listing/components/PaidShipping/type.d.ts +30 -0
  215. package/dist/cjs/src/biz-components/Listing/components/PaidShipping/utils.d.ts +2 -0
  216. package/dist/cjs/src/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.d.ts +38 -0
  217. package/dist/cjs/src/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.d.ts +30 -0
  218. package/dist/cjs/src/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.d.ts +2 -0
  219. package/dist/cjs/src/biz-components/Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.d.ts +2 -0
  220. package/dist/cjs/src/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.d.ts +2 -0
  221. package/dist/cjs/src/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.d.ts +2 -0
  222. package/dist/cjs/src/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.d.ts +2 -0
  223. package/dist/cjs/src/biz-components/Listing/components/ProductCard/ProductDetail/index.d.ts +2 -0
  224. package/dist/cjs/src/biz-components/Listing/components/ProductCard/ProductDetail/types.d.ts +43 -0
  225. package/dist/cjs/src/biz-components/Listing/components/ProductCard/ProductGallery/components/CompareModal.d.ts +2 -0
  226. package/dist/cjs/src/biz-components/Listing/components/ProductCard/ProductGallery/components/Select.d.ts +21 -0
  227. package/dist/cjs/src/biz-components/Listing/components/ProductCard/ProductGallery/components/ShopifyColorOption.d.ts +5 -0
  228. package/dist/cjs/src/biz-components/Listing/components/ProductCard/ProductGallery/components/SpecsModal.d.ts +1 -0
  229. package/dist/cjs/src/biz-components/Listing/components/ProductCard/ProductGallery/index.d.ts +2 -0
  230. package/dist/cjs/src/biz-components/Listing/components/ProductCard/ProductGallery/types.d.ts +42 -0
  231. package/dist/cjs/src/biz-components/Listing/components/ProductCard/ProductGridBox.d.ts +6 -0
  232. package/dist/cjs/src/biz-components/Listing/components/ProductCard/ProductSummary/index.d.ts +3 -0
  233. package/dist/cjs/src/biz-components/Listing/components/ProductCard/ProductSummary/types.d.ts +2 -0
  234. package/dist/cjs/src/biz-components/Listing/components/ProductCard/index.d.ts +2 -0
  235. package/dist/cjs/src/biz-components/Listing/components/PurchaseBar/ProductActions/index.d.ts +2 -0
  236. package/dist/cjs/src/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/index.d.ts +4 -0
  237. package/dist/cjs/src/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/types.d.ts +10 -0
  238. package/dist/cjs/src/biz-components/Listing/components/PurchaseBar/index.d.ts +3 -0
  239. package/dist/cjs/src/biz-components/Listing/components/PurchaseBar/types.d.ts +12 -0
  240. package/dist/cjs/src/biz-components/Listing/components/index.d.ts +3 -0
  241. package/dist/cjs/src/biz-components/Listing/const.d.ts +29 -0
  242. package/dist/cjs/src/biz-components/Listing/hooks/use-variant-media.d.ts +14 -0
  243. package/dist/cjs/src/biz-components/Listing/hooks/use-variant.d.ts +5 -0
  244. package/dist/cjs/src/biz-components/Listing/hooks/useBenefits.d.ts +50 -0
  245. package/dist/cjs/src/biz-components/Listing/hooks/useCopy.d.ts +5 -0
  246. package/dist/cjs/src/biz-components/Listing/index.d.ts +3 -0
  247. package/dist/cjs/src/biz-components/Listing/types/graphql.d.ts +7473 -0
  248. package/dist/cjs/src/biz-components/Listing/types/product.d.ts +141 -0
  249. package/dist/cjs/src/biz-components/Listing/types/type-helper.d.ts +5 -0
  250. package/dist/cjs/src/biz-components/Listing/types.d.ts +28 -0
  251. package/dist/cjs/src/biz-components/Listing/utils/helper.d.ts +36 -0
  252. package/dist/cjs/src/biz-components/Listing/utils/index.d.ts +37 -0
  253. package/dist/cjs/src/biz-components/Listing/utils/textFormat.d.ts +73 -0
  254. package/dist/cjs/src/biz-components/Marquee/Marquee.d.ts +18 -0
  255. package/dist/cjs/src/biz-components/Marquee/index.d.ts +2 -0
  256. package/dist/cjs/src/biz-components/Marquee/type.d.ts +33 -0
  257. package/dist/cjs/src/biz-components/MarqueeReview/index.d.ts +41 -0
  258. package/dist/cjs/src/biz-components/MediaPlayerBase/index.d.ts +6 -0
  259. package/dist/cjs/src/biz-components/MediaPlayerBase/right.d.ts +1 -0
  260. package/dist/cjs/src/biz-components/MediaPlayerBase/types.d.ts +18 -0
  261. package/dist/cjs/src/biz-components/MediaPlayerMulti/index.d.ts +6 -0
  262. package/dist/cjs/src/biz-components/MediaPlayerMulti/types.d.ts +22 -0
  263. package/dist/cjs/src/biz-components/MediaPlayerSticky/index.d.ts +9 -0
  264. package/dist/cjs/src/biz-components/MediaPlayerSticky/types.d.ts +21 -0
  265. package/dist/cjs/src/biz-components/MemberEquity/index.d.ts +7 -0
  266. package/dist/cjs/src/biz-components/MemberEquity/types.d.ts +30 -0
  267. package/dist/cjs/src/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.d.ts +8 -0
  268. package/dist/cjs/src/biz-components/MultiLayoutGraphicBlock/index.d.ts +2 -0
  269. package/dist/cjs/src/biz-components/MultiLayoutGraphicBlock/types.d.ts +38 -0
  270. package/dist/cjs/src/biz-components/NavigationSearch/index.d.ts +4 -0
  271. package/dist/cjs/src/biz-components/NavigationSearch/types.d.ts +18 -0
  272. package/dist/cjs/src/biz-components/ProductCompare/index.d.ts +37 -0
  273. package/dist/cjs/src/biz-components/ProductHero/ProductHero.d.ts +7 -0
  274. package/dist/cjs/src/biz-components/ProductHero/index.d.ts +2 -0
  275. package/dist/cjs/src/biz-components/ProductHero/types.d.ts +21 -0
  276. package/dist/cjs/src/biz-components/SearchPage/index.d.ts +6 -0
  277. package/dist/cjs/src/biz-components/SearchPage/types.d.ts +58 -0
  278. package/dist/cjs/src/biz-components/SelectStore/index.d.ts +20 -0
  279. package/dist/cjs/src/biz-components/ShelfDisplay/index.d.ts +7 -0
  280. package/dist/cjs/src/biz-components/ShelfDisplay/shelfDisplay.d.ts +106 -0
  281. package/dist/cjs/src/biz-components/ShelfDisplay/shelfDisplayItem.d.ts +8 -0
  282. package/dist/cjs/src/biz-components/ShelfDisplay/tabSwitch.d.ts +9 -0
  283. package/dist/cjs/src/biz-components/Slogan/index.d.ts +9 -0
  284. package/dist/cjs/src/biz-components/Slogan/types.d.ts +31 -0
  285. package/dist/cjs/src/biz-components/Spacer/index.d.ts +7 -0
  286. package/dist/cjs/src/biz-components/Spacer/types.d.ts +10 -0
  287. package/dist/cjs/src/biz-components/Specs/dropdown.d.ts +11 -0
  288. package/dist/cjs/src/biz-components/Specs/index.d.ts +6 -0
  289. package/dist/cjs/src/biz-components/SpecsComparison/SpecsComparison.d.ts +7 -0
  290. package/dist/cjs/src/biz-components/SpecsComparison/index.d.ts +2 -0
  291. package/dist/cjs/src/biz-components/SpecsComparison/types.d.ts +34 -0
  292. package/dist/cjs/src/biz-components/Subscribe/index.d.ts +20 -0
  293. package/dist/cjs/src/biz-components/SwiperBox/index.d.ts +4 -0
  294. package/dist/cjs/src/biz-components/SwiperBox/types.d.ts +17 -0
  295. package/dist/cjs/src/biz-components/TabWithImage/TabWithImage.d.ts +7 -0
  296. package/dist/cjs/src/biz-components/TabWithImage/index.d.ts +2 -0
  297. package/dist/cjs/src/biz-components/TabWithImage/types.d.ts +29 -0
  298. package/dist/cjs/src/biz-components/Tabs/Tabs.d.ts +7 -0
  299. package/dist/cjs/src/biz-components/Tabs/index.d.ts +1 -0
  300. package/dist/cjs/src/biz-components/Tabs/types.d.ts +30 -0
  301. package/dist/cjs/src/biz-components/TabsGroup/index.d.ts +7 -0
  302. package/dist/cjs/src/biz-components/TabsGroup/types.d.ts +16 -0
  303. package/dist/cjs/src/biz-components/TabsWithMedia/TabsWithMedia.d.ts +7 -0
  304. package/dist/cjs/src/biz-components/TabsWithMedia/index.d.ts +2 -0
  305. package/dist/cjs/src/biz-components/TabsWithMedia/types.d.ts +41 -0
  306. package/dist/cjs/src/biz-components/TextModal/index.d.ts +14 -0
  307. package/dist/cjs/src/biz-components/ThreeDCarousel/index.d.ts +15 -0
  308. package/dist/cjs/src/biz-components/Title/index.d.ts +7 -0
  309. package/dist/cjs/src/biz-components/Title/types.d.ts +33 -0
  310. package/dist/cjs/src/biz-components/VideoFeature/VideoFeature.d.ts +7 -0
  311. package/dist/cjs/src/biz-components/VideoFeature/index.d.ts +2 -0
  312. package/dist/cjs/src/biz-components/VideoFeature/types.d.ts +19 -0
  313. package/dist/cjs/src/biz-components/VideoModal/YouTubePlayer.d.ts +4 -0
  314. package/dist/cjs/src/biz-components/VideoModal/index.d.ts +8 -0
  315. package/dist/cjs/src/biz-components/WhyChoose/WhyChoose.d.ts +14 -0
  316. package/dist/cjs/src/biz-components/WhyChoose/index.d.ts +2 -0
  317. package/dist/cjs/src/biz-components/WhyChoose/types.d.ts +12 -0
  318. package/dist/cjs/src/biz-components/index.d.ts +118 -0
  319. package/dist/cjs/src/components/alert.d.ts +17 -0
  320. package/dist/cjs/src/components/avatar.d.ts +26 -0
  321. package/dist/cjs/src/components/badge.d.ts +9 -0
  322. package/dist/cjs/src/components/board.d.ts +4 -0
  323. package/dist/cjs/src/components/button.d.ts +41 -0
  324. package/dist/cjs/src/components/card.d.ts +8 -0
  325. package/dist/cjs/src/components/carousel.d.ts +28 -0
  326. package/dist/cjs/src/components/checkbox.d.ts +12 -0
  327. package/dist/cjs/src/components/color.d.ts +13 -0
  328. package/dist/cjs/src/components/container.d.ts +24 -0
  329. package/dist/cjs/src/components/dialog.d.ts +21 -0
  330. package/dist/cjs/src/components/drawer.d.ts +13 -0
  331. package/dist/cjs/src/components/drop-down.d.ts +27 -0
  332. package/dist/cjs/src/components/gird.d.ts +17 -0
  333. package/dist/cjs/src/components/heading.d.ts +17 -0
  334. package/dist/cjs/src/components/index.d.ts +26 -0
  335. package/dist/cjs/src/components/input-number.d.ts +78 -0
  336. package/dist/cjs/src/components/input.d.ts +22 -0
  337. package/dist/cjs/src/components/link.d.ts +45 -0
  338. package/dist/cjs/src/components/loadingDots.d.ts +6 -0
  339. package/dist/cjs/src/components/picture.d.ts +14 -0
  340. package/dist/cjs/src/components/popover.d.ts +6 -0
  341. package/dist/cjs/src/components/radio.d.ts +16 -0
  342. package/dist/cjs/src/components/skeleton.d.ts +9 -0
  343. package/dist/cjs/src/components/tabs.d.ts +11 -0
  344. package/dist/cjs/src/components/text.d.ts +32 -0
  345. package/dist/cjs/src/components/theme.d.ts +12 -0
  346. package/dist/cjs/src/cpn-components/CpnBanner/index.d.ts +3 -0
  347. package/dist/cjs/src/cpn-components/CpnBanner/types.d.ts +43 -0
  348. package/dist/cjs/src/cpn-components/CpnCountDown/index.d.ts +3 -0
  349. package/dist/cjs/src/cpn-components/CpnCountDown/types.d.ts +29 -0
  350. package/dist/cjs/src/cpn-components/CpnNavigation/index.d.ts +3 -0
  351. package/dist/cjs/src/cpn-components/CpnNavigation/types.d.ts +20 -0
  352. package/dist/cjs/src/cpn-components/CpnProductCard/index.d.ts +3 -0
  353. package/dist/cjs/src/cpn-components/CpnProductCard/types.d.ts +109 -0
  354. package/dist/cjs/src/cpn-components/CpnTitle/index.d.ts +3 -0
  355. package/dist/cjs/src/cpn-components/CpnTitle/types.d.ts +10 -0
  356. package/dist/cjs/src/cpn-components/index.d.ts +5 -0
  357. package/dist/cjs/src/helpers/ScrollLoadVideo.d.ts +15 -0
  358. package/dist/cjs/src/helpers/component-props.d.ts +7 -0
  359. package/dist/cjs/src/helpers/constants.d.ts +0 -0
  360. package/dist/cjs/src/helpers/index.d.ts +2 -0
  361. package/dist/cjs/src/helpers/utils.d.ts +6 -0
  362. package/dist/cjs/src/hooks/useCountDown.d.ts +10 -0
  363. package/dist/cjs/src/hooks/useIntersectionObserver.d.ts +17 -0
  364. package/dist/cjs/src/hooks/useRollout.d.ts +14 -0
  365. package/dist/cjs/src/icons/spinner.d.ts +5 -0
  366. package/dist/cjs/src/index.d.ts +1 -0
  367. package/dist/cjs/src/shared/Styles.d.ts +39 -0
  368. package/dist/cjs/src/shared/getKeyPropsString.d.ts +4 -0
  369. package/dist/cjs/src/shared/mimeType.d.ts +1 -0
  370. package/dist/cjs/src/shared/simpleHash.d.ts +1 -0
  371. package/dist/cjs/src/shared/throttle.d.ts +1 -0
  372. package/dist/cjs/src/shared/track.d.ts +1 -0
  373. package/dist/cjs/src/shared/trackUrlRef.d.ts +7 -0
  374. package/dist/cjs/src/stories/avatar.stories.d.ts +40 -0
  375. package/dist/cjs/src/stories/badge.stories.d.ts +26 -0
  376. package/dist/cjs/src/stories/button.stories.d.ts +48 -0
  377. package/dist/cjs/src/stories/checkbox.stories.d.ts +46 -0
  378. package/dist/cjs/src/stories/container.stories.d.ts +36 -0
  379. package/dist/cjs/src/stories/dialog.stories.d.ts +20 -0
  380. package/dist/cjs/src/stories/grid.stories.d.ts +42 -0
  381. package/dist/cjs/src/stories/heading.stories.d.ts +82 -0
  382. package/dist/cjs/src/stories/input-number.stories.d.ts +51 -0
  383. package/dist/cjs/src/stories/input.stories.d.ts +35 -0
  384. package/dist/cjs/src/stories/picture.stories.d.ts +18 -0
  385. package/dist/cjs/src/stories/popover.stories.d.ts +17 -0
  386. package/dist/cjs/src/stories/radio.stories.d.ts +39 -0
  387. package/dist/cjs/src/stories/skeleton.stories.d.ts +20 -0
  388. package/dist/cjs/src/stories/text.stories.d.ts +94 -0
  389. package/dist/cjs/src/types/index.d.ts +0 -0
  390. package/dist/cjs/src/types/props.d.ts +47 -0
  391. package/dist/cjs/stories/HeroBanner.stories.d.ts +27 -0
  392. package/dist/cjs/stories/MarqueeReview.stories.d.ts +73 -0
  393. package/dist/cjs/stories/MemberEquity.stories.d.ts +9 -0
  394. package/dist/cjs/stories/MultiLayoutGraphicBlock.stories.d.ts +9 -0
  395. package/dist/cjs/stories/accordionCards.stories.d.ts +17 -0
  396. package/dist/cjs/stories/alert.stories.d.ts +27 -0
  397. package/dist/cjs/stories/aplusdesc.stories.d.ts +27 -0
  398. package/dist/cjs/stories/aplusdesc.stories.js +2 -0
  399. package/dist/cjs/stories/aplusdesc.stories.js.map +7 -0
  400. package/dist/cjs/stories/avatar.stories.d.ts +39 -0
  401. package/dist/cjs/stories/badge.stories.d.ts +31 -0
  402. package/dist/cjs/stories/bizTabs.stories.d.ts +7 -0
  403. package/dist/cjs/stories/board.stories.d.ts +6 -0
  404. package/dist/cjs/stories/brandEquity.stories.d.ts +16 -0
  405. package/dist/cjs/stories/button.stories.d.ts +56 -0
  406. package/dist/cjs/stories/card.stories.d.ts +27 -0
  407. package/dist/cjs/stories/carousel.stories.d.ts +8 -0
  408. package/dist/cjs/stories/category.stories.d.ts +17 -0
  409. package/dist/cjs/stories/checkbox.stories.d.ts +46 -0
  410. package/dist/cjs/stories/container.stories.d.ts +28 -0
  411. package/dist/cjs/stories/cpnBanner.stories.d.ts +14 -0
  412. package/dist/cjs/stories/cpnCountdown.stories.d.ts +12 -0
  413. package/dist/cjs/stories/cpnNavigation.stories.d.ts +14 -0
  414. package/dist/cjs/stories/cpnProductcard.stories.d.ts +14 -0
  415. package/dist/cjs/stories/cpnTitle.stories.d.ts +14 -0
  416. package/dist/cjs/stories/creativeModule.stories.d.ts +19 -0
  417. package/dist/cjs/stories/dialog.stories.d.ts +20 -0
  418. package/dist/cjs/stories/download.stories.d.ts +18 -0
  419. package/dist/cjs/stories/download.stories.js +2 -0
  420. package/dist/cjs/stories/download.stories.js.map +7 -0
  421. package/dist/cjs/stories/drawer.stories.d.ts +20 -0
  422. package/dist/cjs/stories/drop-down.stories.d.ts +16 -0
  423. package/dist/cjs/stories/evaluate.stories.d.ts +16 -0
  424. package/dist/cjs/stories/faq.stories.d.ts +21 -0
  425. package/dist/cjs/stories/featureCards.stories.d.ts +28 -0
  426. package/dist/cjs/stories/featureShowcase.stories.d.ts +28 -0
  427. package/dist/cjs/stories/features.stories.d.ts +21 -0
  428. package/dist/cjs/stories/features.stories.js +2 -0
  429. package/dist/cjs/stories/features.stories.js.map +7 -0
  430. package/dist/cjs/stories/footcharger.stories.d.ts +19 -0
  431. package/dist/cjs/stories/footcharger.stories.js +2 -0
  432. package/dist/cjs/stories/footcharger.stories.js.map +7 -0
  433. package/dist/cjs/stories/giftbox.stories.d.ts +18 -0
  434. package/dist/cjs/stories/giftbox.stories.js +2 -0
  435. package/dist/cjs/stories/giftbox.stories.js.map +7 -0
  436. package/dist/cjs/stories/graphic.stories.d.ts +64 -0
  437. package/dist/cjs/stories/graphicAttractionBlock.stories.d.ts +6 -0
  438. package/dist/cjs/stories/graphicMore.stories.d.ts +19 -0
  439. package/dist/cjs/stories/graphicMore.stories.js +2 -0
  440. package/dist/cjs/stories/graphicMore.stories.js.map +7 -0
  441. package/dist/cjs/stories/grid.stories.d.ts +22 -0
  442. package/dist/cjs/stories/heading.stories.d.ts +84 -0
  443. package/dist/cjs/stories/imageTextFeature.stories.d.ts +27 -0
  444. package/dist/cjs/stories/imageWithText.stories.d.ts +27 -0
  445. package/dist/cjs/stories/input-number.stories.d.ts +39 -0
  446. package/dist/cjs/stories/input.stories.d.ts +35 -0
  447. package/dist/cjs/stories/ksp.stories.d.ts +63 -0
  448. package/dist/cjs/stories/link.stories.d.ts +69 -0
  449. package/dist/cjs/stories/marquee.stories.d.ts +30 -0
  450. package/dist/cjs/stories/mediaplayerBase.stories.d.ts +6 -0
  451. package/dist/cjs/stories/mediaplayerMulti.stories.d.ts +16 -0
  452. package/dist/cjs/stories/picture.stories.d.ts +22 -0
  453. package/dist/cjs/stories/popover.stories.d.ts +17 -0
  454. package/dist/cjs/stories/productCompare.stories.d.ts +49 -0
  455. package/dist/cjs/stories/productHero.stories.d.ts +28 -0
  456. package/dist/cjs/stories/radio.stories.d.ts +39 -0
  457. package/dist/cjs/stories/selectstore.stories.d.ts +18 -0
  458. package/dist/cjs/stories/selectstore.stories.js +2 -0
  459. package/dist/cjs/stories/selectstore.stories.js.map +7 -0
  460. package/dist/cjs/stories/shelf.stories.d.ts +17 -0
  461. package/dist/cjs/stories/shelfDisplay.stories.d.ts +16 -0
  462. package/dist/cjs/stories/skeleton.stories.d.ts +20 -0
  463. package/dist/cjs/stories/slogan.stories.d.ts +20 -0
  464. package/dist/cjs/stories/specs.stories.d.ts +13 -0
  465. package/dist/cjs/stories/specsComparison.stories.d.ts +27 -0
  466. package/dist/cjs/stories/tabWithImage.stories.d.ts +27 -0
  467. package/dist/cjs/stories/tabs.stories.d.ts +373 -0
  468. package/dist/cjs/stories/tabsWithMedia.stories.d.ts +27 -0
  469. package/dist/cjs/stories/text.stories.d.ts +86 -0
  470. package/dist/cjs/stories/videoFeature.stories.d.ts +28 -0
  471. package/dist/cjs/stories/whychoose.stories.d.ts +21 -0
  472. package/dist/cjs/tailwind.config.d.ts +253 -0
  473. package/dist/cjs/tests/BrandEquity.test.d.ts +1 -0
  474. package/dist/cjs/tests/Ksp.test.d.ts +1 -0
  475. package/dist/cjs/tests/MarqueeReview.test.d.ts +1 -0
  476. package/dist/cjs/tests/Title.test.d.ts +1 -0
  477. package/dist/cjs/tests/badge.test.d.ts +1 -0
  478. package/dist/cjs/tests/button.test.d.ts +1 -0
  479. package/dist/cjs/tests/card.test.d.ts +1 -0
  480. package/dist/cjs/tests/carousel.test.d.ts +1 -0
  481. package/dist/cjs/tests/featureCards.test.d.ts +1 -0
  482. package/dist/cjs/tests/featureShowcase.test.d.ts +1 -0
  483. package/dist/cjs/tests/heading.test.d.ts +1 -0
  484. package/dist/cjs/tests/imageTextFeature.test.d.ts +1 -0
  485. package/dist/cjs/tests/imageWithText.test.d.ts +1 -0
  486. package/dist/cjs/tests/input.test.d.ts +1 -0
  487. package/dist/cjs/tests/jest.setup.d.ts +1 -0
  488. package/dist/cjs/tests/productHero.test.d.ts +1 -0
  489. package/dist/cjs/tests/specsComparison.test.d.ts +1 -0
  490. package/dist/cjs/tests/tabWithImage.test.d.ts +1 -0
  491. package/dist/cjs/tests/tabs.test.d.ts +1 -0
  492. package/dist/cjs/tests/tabsWithMedia.test.d.ts +1 -0
  493. package/dist/cjs/tests/text.test.d.ts +1 -0
  494. package/dist/cjs/tests/videoFeature.test.d.ts +1 -0
  495. package/dist/cjs/tsconfig.tsbuildinfo +1 -0
  496. package/dist/cjs/ui/src/biz-components/CollectionsFilters/FilterCardWrapItem.d.ts +5 -0
  497. package/dist/esm/apps/playground/utils/classnames.d.ts +1 -0
  498. package/dist/esm/apps/storefront/lib/utils/classnames.d.ts +2 -0
  499. package/dist/esm/biz-components/AccordionCards/useDebounce.d.ts +6 -0
  500. package/dist/esm/biz-components/CollectionShelves/CollectionShelvesItem.d.ts +4 -0
  501. package/dist/esm/biz-components/CollectionShelves/CollectionShelvesItem.js +2 -0
  502. package/dist/esm/biz-components/CollectionShelves/CollectionShelvesItem.js.map +7 -0
  503. package/dist/esm/biz-components/CollectionShelves/index.d.ts +6 -0
  504. package/dist/esm/biz-components/CollectionShelves/index.js +2 -0
  505. package/dist/esm/biz-components/CollectionShelves/index.js.map +7 -0
  506. package/dist/esm/biz-components/CollectionsBanner/HeroBanner.d.ts +7 -0
  507. package/dist/esm/biz-components/CollectionsBanner/index.d.ts +7 -0
  508. package/dist/esm/biz-components/CollectionsBanner/index.js +2 -0
  509. package/dist/esm/biz-components/CollectionsBanner/index.js.map +7 -0
  510. package/dist/esm/biz-components/CollectionsBanner/types.d.ts +43 -0
  511. package/dist/esm/biz-components/CollectionsBanner/types.js +1 -0
  512. package/dist/esm/biz-components/CollectionsBanner/types.js.map +7 -0
  513. package/dist/esm/biz-components/CollectionsFilters/AnimatedUL.d.ts +9 -0
  514. package/dist/esm/biz-components/CollectionsFilters/FilterCardWrap.d.ts +18 -0
  515. package/dist/esm/biz-components/CollectionsFilters/FilterCardWrap.js +2 -0
  516. package/dist/esm/biz-components/CollectionsFilters/FilterCardWrap.js.map +7 -0
  517. package/dist/esm/biz-components/CollectionsFilters/FilterCardWrapItem.d.ts +10 -0
  518. package/dist/esm/biz-components/CollectionsFilters/FilterCardWrapItem.js +2 -0
  519. package/dist/esm/biz-components/CollectionsFilters/FilterCardWrapItem.js.map +7 -0
  520. package/dist/esm/biz-components/CollectionsFilters/FilterHeader.d.ts +13 -0
  521. package/dist/esm/biz-components/CollectionsFilters/FilterHeader.js +2 -0
  522. package/dist/esm/biz-components/CollectionsFilters/FilterHeader.js.map +7 -0
  523. package/dist/esm/biz-components/CollectionsFilters/FilterList.d.ts +14 -0
  524. package/dist/esm/biz-components/CollectionsFilters/FilterList.js +2 -0
  525. package/dist/esm/biz-components/CollectionsFilters/FilterList.js.map +7 -0
  526. package/dist/esm/biz-components/CollectionsFilters/FilterTab.d.ts +7 -0
  527. package/dist/esm/biz-components/CollectionsFilters/FiterTab.d.ts +7 -0
  528. package/dist/esm/biz-components/CollectionsFilters/FiterTab.js +2 -0
  529. package/dist/esm/biz-components/CollectionsFilters/FiterTab.js.map +7 -0
  530. package/dist/esm/biz-components/CollectionsFilters/Helper.d.ts +8 -0
  531. package/dist/esm/biz-components/CollectionsFilters/MoblieSortFilter.d.ts +8 -0
  532. package/dist/esm/biz-components/CollectionsFilters/SortFilter.d.ts +8 -0
  533. package/dist/esm/biz-components/CollectionsFilters/component/AnimatedUL.d.ts +5 -0
  534. package/dist/esm/biz-components/CollectionsFilters/component/AnimatedUL.js +2 -0
  535. package/dist/esm/biz-components/CollectionsFilters/component/AnimatedUL.js.map +7 -0
  536. package/dist/esm/biz-components/CollectionsFilters/component/LoadingDots.d.ts +6 -0
  537. package/dist/esm/biz-components/CollectionsFilters/component/TabFilter.d.ts +12 -0
  538. package/dist/esm/biz-components/CollectionsFilters/component/TabFilter.js +2 -0
  539. package/dist/esm/biz-components/CollectionsFilters/component/TabFilter.js.map +7 -0
  540. package/dist/esm/biz-components/CollectionsFilters/component/filtersFun.d.ts +12 -0
  541. package/dist/esm/biz-components/CollectionsFilters/component/filtersFun.js +2 -0
  542. package/dist/esm/biz-components/CollectionsFilters/component/filtersFun.js.map +7 -0
  543. package/dist/esm/biz-components/CollectionsFilters/component/helper.d.ts +81 -0
  544. package/dist/esm/biz-components/CollectionsFilters/component/helper.js +2 -0
  545. package/dist/esm/biz-components/CollectionsFilters/component/helper.js.map +7 -0
  546. package/dist/esm/biz-components/CollectionsFilters/component/price.d.ts +25 -0
  547. package/dist/esm/biz-components/CollectionsFilters/component/price.js +2 -0
  548. package/dist/esm/biz-components/CollectionsFilters/component/price.js.map +7 -0
  549. package/dist/esm/biz-components/CollectionsFilters/component/priceProps.d.ts +215 -0
  550. package/dist/esm/biz-components/CollectionsFilters/component/priceProps.js +2 -0
  551. package/dist/esm/biz-components/CollectionsFilters/component/priceProps.js.map +7 -0
  552. package/dist/esm/biz-components/CollectionsFilters/data.d.ts +24804 -0
  553. package/dist/esm/biz-components/CollectionsFilters/index.d.ts +23 -0
  554. package/dist/esm/biz-components/CollectionsFilters/index.js +2 -0
  555. package/dist/esm/biz-components/CollectionsFilters/index.js.map +7 -0
  556. package/dist/esm/biz-components/CollectionsFilters/price.d.ts +25 -0
  557. package/dist/esm/biz-components/CollectionsFilters/priceProps.d.ts +215 -0
  558. package/dist/esm/biz-components/CollectionsFilters/tabFilter.d.ts +10 -0
  559. package/dist/esm/biz-components/CollectionsFilters/tabSwitch.d.ts +9 -0
  560. package/dist/esm/biz-components/Listing/BizProductProvider.d.ts +1 -1
  561. package/dist/esm/biz-components/Listing/ProductProvider.d.ts +52 -0
  562. package/dist/esm/biz-components/Listing/ProductProvider.js +2 -0
  563. package/dist/esm/biz-components/Listing/ProductProvider.js.map +7 -0
  564. package/dist/esm/biz-components/Listing/components/PaidShipping/index.js +1 -1
  565. package/dist/esm/biz-components/Listing/components/PaidShipping/index.js.map +2 -2
  566. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.js +4 -4
  567. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.js.map +2 -2
  568. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTabs/index.d.ts +5 -0
  569. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.d.ts +1 -2
  570. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.js +1 -1
  571. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.js.map +2 -2
  572. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.js +1 -1
  573. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.js.map +2 -2
  574. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.js +1 -1
  575. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.js.map +2 -2
  576. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js +2 -2
  577. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js.map +2 -2
  578. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/index.js +1 -1
  579. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/index.js.map +2 -2
  580. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/index.js +1 -1
  581. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/index.js.map +2 -2
  582. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGridBox.js +1 -1
  583. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGridBox.js.map +2 -2
  584. package/dist/esm/biz-components/Listing/components/ProductCard/ProductSummary/index.js +1 -1
  585. package/dist/esm/biz-components/Listing/components/ProductCard/ProductSummary/index.js.map +2 -2
  586. package/dist/esm/biz-components/Listing/components/ProductCard/ProductSummary/types.d.ts +2 -0
  587. package/dist/esm/biz-components/Listing/components/ProductCard/index.js +1 -1
  588. package/dist/esm/biz-components/Listing/components/ProductCard/index.js.map +2 -2
  589. package/dist/esm/biz-components/Listing/components/PurchaseBar/ProductActions/index.js +1 -1
  590. package/dist/esm/biz-components/Listing/components/PurchaseBar/ProductActions/index.js.map +2 -2
  591. package/dist/esm/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/index.js +1 -1
  592. package/dist/esm/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/index.js.map +2 -2
  593. package/dist/esm/biz-components/Listing/components/PurchaseBar/index.js +1 -1
  594. package/dist/esm/biz-components/Listing/components/PurchaseBar/index.js.map +2 -2
  595. package/dist/esm/biz-components/Listing/hooks/use-options.d.ts +3 -0
  596. package/dist/esm/biz-components/Listing/hooks/use-options.js +2 -0
  597. package/dist/esm/biz-components/Listing/hooks/use-options.js.map +7 -0
  598. package/dist/esm/biz-components/MediaPlayerMulti/YouTubePlayer.d.ts +3 -0
  599. package/dist/esm/biz-components/MediaPlayerSticky/index.js +1 -1
  600. package/dist/esm/biz-components/MediaPlayerSticky/index.js.map +3 -3
  601. package/dist/esm/biz-components/Paginator/index.d.ts +7 -0
  602. package/dist/esm/biz-components/Paginator/index.js +7 -0
  603. package/dist/esm/biz-components/Paginator/index.js.map +7 -0
  604. package/dist/esm/biz-components/SectionHeading/SectionHeading.d.ts +4 -0
  605. package/dist/esm/biz-components/SectionHeading/index.d.ts +0 -0
  606. package/dist/esm/biz-components/SectionHeading/types.d.ts +6 -0
  607. package/dist/esm/biz-components/Shelf/Shelf.d.ts +8 -0
  608. package/dist/esm/biz-components/Shelf/index.d.ts +1 -0
  609. package/dist/esm/biz-components/Shelf/types.d.ts +6 -0
  610. package/dist/esm/biz-components/ShelfDisplay/shelfDisplayItem.d.ts +0 -4
  611. package/dist/esm/biz-components/ShelfDisplay/tab.d.ts +7 -0
  612. package/dist/esm/biz-components/TextMa/index.d.ts +9 -0
  613. package/dist/esm/biz-components/TextMarquee/index.d.ts +9 -0
  614. package/dist/esm/biz-components/TextMarquee/index.js +2 -0
  615. package/dist/esm/biz-components/TextMarquee/index.js.map +7 -0
  616. package/dist/esm/biz-components/Title/types.d.ts +0 -1
  617. package/dist/esm/campaign-ui/tailwind.config.d.ts +62 -0
  618. package/dist/esm/components/breadcrumb.d.ts +12 -0
  619. package/dist/esm/components/breadcrumb.js +2 -0
  620. package/dist/esm/components/breadcrumb.js.map +7 -0
  621. package/dist/esm/components/col.d.ts +29 -0
  622. package/dist/esm/components/dropdown.d.ts +27 -0
  623. package/dist/esm/components/inputnumber.d.ts +0 -0
  624. package/dist/esm/components/row.d.ts +18 -0
  625. package/dist/esm/helpers/get-subtree.d.ts +12 -0
  626. package/dist/esm/hooks/useEXposure.d.ts +0 -0
  627. package/dist/esm/hooks/useMemberPrice.d.ts +20 -0
  628. package/dist/esm/packages/ui/src/components/avatar.d.ts +26 -0
  629. package/dist/esm/packages/ui/src/components/index.d.ts +20 -0
  630. package/dist/esm/packages/ui/src/index.d.ts +1 -0
  631. package/dist/esm/packages/ui/src/stories/avatar.stories.d.ts +40 -0
  632. package/dist/esm/packages/ui/src/stories/badge.stories.d.ts +26 -0
  633. package/dist/esm/packages/ui/src/stories/button.stories.d.ts +48 -0
  634. package/dist/esm/packages/ui/src/stories/checkbox.stories.d.ts +46 -0
  635. package/dist/esm/packages/ui/src/stories/container.stories.d.ts +36 -0
  636. package/dist/esm/packages/ui/src/stories/dialog.stories.d.ts +20 -0
  637. package/dist/esm/packages/ui/src/stories/grid.stories.d.ts +42 -0
  638. package/dist/esm/packages/ui/src/stories/heading.stories.d.ts +82 -0
  639. package/dist/esm/packages/ui/src/stories/input.stories.d.ts +35 -0
  640. package/dist/esm/packages/ui/src/stories/picture.stories.d.ts +18 -0
  641. package/dist/esm/packages/ui/src/stories/popover.stories.d.ts +17 -0
  642. package/dist/esm/packages/ui/src/stories/radio.stories.d.ts +39 -0
  643. package/dist/esm/packages/ui/src/stories/skeleton.stories.d.ts +20 -0
  644. package/dist/esm/packages/ui/src/stories/tabs.stories.d.ts +373 -0
  645. package/dist/esm/packages/ui/src/stories/text.stories.d.ts +94 -0
  646. package/dist/esm/src/biz-components/AccordionCards/index.d.ts +38 -0
  647. package/dist/esm/src/biz-components/AiuiProvider/index.d.ts +16 -0
  648. package/dist/esm/src/biz-components/AplusDesc/index.d.ts +22 -0
  649. package/dist/esm/src/biz-components/BrandEquity/BrandEquity.d.ts +6 -0
  650. package/dist/esm/src/biz-components/BrandEquity/index.d.ts +1 -0
  651. package/dist/esm/src/biz-components/BrandEquity/types.d.ts +18 -0
  652. package/dist/esm/src/biz-components/Category/SwiperCategory.d.ts +19 -0
  653. package/dist/esm/src/biz-components/Category/index.d.ts +35 -0
  654. package/dist/esm/src/biz-components/CreativeModule/index.d.ts +21 -0
  655. package/dist/esm/src/biz-components/DownLoad/index.d.ts +20 -0
  656. package/dist/esm/src/biz-components/Evaluate/index.d.ts +37 -0
  657. package/dist/esm/src/biz-components/Faq/Faq.d.ts +14 -0
  658. package/dist/esm/src/biz-components/Faq/index.d.ts +2 -0
  659. package/dist/esm/src/biz-components/Faq/types.d.ts +12 -0
  660. package/dist/esm/src/biz-components/FeatureCards/FeatureCards.d.ts +7 -0
  661. package/dist/esm/src/biz-components/FeatureCards/index.d.ts +2 -0
  662. package/dist/esm/src/biz-components/FeatureCards/types.d.ts +25 -0
  663. package/dist/esm/src/biz-components/FeatureShowcase/FeatureShowcase.d.ts +7 -0
  664. package/dist/esm/src/biz-components/FeatureShowcase/index.d.ts +2 -0
  665. package/dist/esm/src/biz-components/FeatureShowcase/types.d.ts +21 -0
  666. package/dist/esm/src/biz-components/Features/index.d.ts +26 -0
  667. package/dist/esm/src/biz-components/FootCharger/index.d.ts +12 -0
  668. package/dist/esm/src/biz-components/FooterNavigation/icons/Add.d.ts +3 -0
  669. package/dist/esm/src/biz-components/FooterNavigation/icons/ArrowRight.d.ts +3 -0
  670. package/dist/esm/src/biz-components/FooterNavigation/icons/Country.d.ts +3 -0
  671. package/dist/esm/src/biz-components/FooterNavigation/icons/Subtract.d.ts +3 -0
  672. package/dist/esm/src/biz-components/FooterNavigation/icons/index.d.ts +5 -0
  673. package/dist/esm/src/biz-components/FooterNavigation/index.d.ts +6 -0
  674. package/dist/esm/src/biz-components/FooterNavigation/types.d.ts +15 -0
  675. package/dist/esm/src/biz-components/GiftBox/index.d.ts +17 -0
  676. package/dist/esm/src/biz-components/Graphic/index.d.ts +38 -0
  677. package/dist/esm/src/biz-components/GraphicAttractionBlock/index.d.ts +25 -0
  678. package/dist/esm/src/biz-components/GraphicMore/index.d.ts +22 -0
  679. package/dist/esm/src/biz-components/GraphicOverlay/GraphicOverlay.d.ts +8 -0
  680. package/dist/esm/src/biz-components/GraphicOverlay/index.d.ts +2 -0
  681. package/dist/esm/src/biz-components/GraphicOverlay/types.d.ts +33 -0
  682. package/dist/esm/src/biz-components/HeaderNavigation/NavProvider.d.ts +36 -0
  683. package/dist/esm/src/biz-components/HeaderNavigation/icons/AnkerLogo.d.ts +3 -0
  684. package/dist/esm/src/biz-components/HeaderNavigation/icons/Cart.d.ts +3 -0
  685. package/dist/esm/src/biz-components/HeaderNavigation/icons/Close.d.ts +3 -0
  686. package/dist/esm/src/biz-components/HeaderNavigation/icons/DownArrow.d.ts +3 -0
  687. package/dist/esm/src/biz-components/HeaderNavigation/icons/LeftArrow.d.ts +3 -0
  688. package/dist/esm/src/biz-components/HeaderNavigation/icons/LogoLine.d.ts +3 -0
  689. package/dist/esm/src/biz-components/HeaderNavigation/icons/Menu.d.ts +3 -0
  690. package/dist/esm/src/biz-components/HeaderNavigation/icons/Polygon.d.ts +3 -0
  691. package/dist/esm/src/biz-components/HeaderNavigation/icons/RightArrow.d.ts +3 -0
  692. package/dist/esm/src/biz-components/HeaderNavigation/icons/Search.d.ts +3 -0
  693. package/dist/esm/src/biz-components/HeaderNavigation/icons/User.d.ts +3 -0
  694. package/dist/esm/src/biz-components/HeaderNavigation/icons/index.d.ts +12 -0
  695. package/dist/esm/src/biz-components/HeaderNavigation/index.d.ts +7 -0
  696. package/dist/esm/src/biz-components/HeaderNavigation/types.d.ts +103 -0
  697. package/dist/esm/src/biz-components/HeaderNavigation/withCategory.d.ts +9 -0
  698. package/dist/esm/src/biz-components/HeroBanner/Countdown.d.ts +9 -0
  699. package/dist/esm/src/biz-components/HeroBanner/HeroBanner.d.ts +7 -0
  700. package/dist/esm/src/biz-components/HeroBanner/index.d.ts +1 -0
  701. package/dist/esm/src/biz-components/HeroBanner/types.d.ts +49 -0
  702. package/dist/esm/src/biz-components/ImageTextFeature/ImageTextFeature.d.ts +7 -0
  703. package/dist/esm/src/biz-components/ImageTextFeature/index.d.ts +2 -0
  704. package/dist/esm/src/biz-components/ImageTextFeature/types.d.ts +31 -0
  705. package/dist/esm/src/biz-components/ImageWithText/ImageWithText.d.ts +7 -0
  706. package/dist/esm/src/biz-components/ImageWithText/index.d.ts +2 -0
  707. package/dist/esm/src/biz-components/ImageWithText/types.d.ts +119 -0
  708. package/dist/esm/src/biz-components/InlineVideo/index.d.ts +16 -0
  709. package/dist/esm/src/biz-components/Ksp/index.d.ts +40 -0
  710. package/dist/esm/src/biz-components/Listing/BizProductProvider.d.ts +126 -0
  711. package/dist/esm/src/biz-components/Listing/components/PaidShipping/LearnMore.d.ts +2 -0
  712. package/dist/esm/src/biz-components/Listing/components/PaidShipping/ShippingMethod.d.ts +10 -0
  713. package/dist/esm/src/biz-components/Listing/components/PaidShipping/ShippingPolicyModal.d.ts +25 -0
  714. package/dist/esm/src/biz-components/Listing/components/PaidShipping/index.d.ts +12 -0
  715. package/dist/esm/src/biz-components/Listing/components/PaidShipping/type.d.ts +30 -0
  716. package/dist/esm/src/biz-components/Listing/components/PaidShipping/utils.d.ts +2 -0
  717. package/dist/esm/src/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.d.ts +38 -0
  718. package/dist/esm/src/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.d.ts +30 -0
  719. package/dist/esm/src/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.d.ts +2 -0
  720. package/dist/esm/src/biz-components/Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.d.ts +2 -0
  721. package/dist/esm/src/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.d.ts +2 -0
  722. package/dist/esm/src/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.d.ts +2 -0
  723. package/dist/esm/src/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.d.ts +2 -0
  724. package/dist/esm/src/biz-components/Listing/components/ProductCard/ProductDetail/index.d.ts +2 -0
  725. package/dist/esm/src/biz-components/Listing/components/ProductCard/ProductDetail/types.d.ts +43 -0
  726. package/dist/esm/src/biz-components/Listing/components/ProductCard/ProductGallery/components/CompareModal.d.ts +2 -0
  727. package/dist/esm/src/biz-components/Listing/components/ProductCard/ProductGallery/components/Select.d.ts +21 -0
  728. package/dist/esm/src/biz-components/Listing/components/ProductCard/ProductGallery/components/ShopifyColorOption.d.ts +5 -0
  729. package/dist/esm/src/biz-components/Listing/components/ProductCard/ProductGallery/components/SpecsModal.d.ts +1 -0
  730. package/dist/esm/src/biz-components/Listing/components/ProductCard/ProductGallery/index.d.ts +2 -0
  731. package/dist/esm/src/biz-components/Listing/components/ProductCard/ProductGallery/types.d.ts +42 -0
  732. package/dist/esm/src/biz-components/Listing/components/ProductCard/ProductGridBox.d.ts +6 -0
  733. package/dist/esm/src/biz-components/Listing/components/ProductCard/ProductSummary/index.d.ts +3 -0
  734. package/dist/esm/src/biz-components/Listing/components/ProductCard/ProductSummary/types.d.ts +2 -0
  735. package/dist/esm/src/biz-components/Listing/components/ProductCard/index.d.ts +2 -0
  736. package/dist/esm/src/biz-components/Listing/components/PurchaseBar/ProductActions/index.d.ts +2 -0
  737. package/dist/esm/src/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/index.d.ts +4 -0
  738. package/dist/esm/src/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/types.d.ts +10 -0
  739. package/dist/esm/src/biz-components/Listing/components/PurchaseBar/index.d.ts +3 -0
  740. package/dist/esm/src/biz-components/Listing/components/PurchaseBar/types.d.ts +12 -0
  741. package/dist/esm/src/biz-components/Listing/components/index.d.ts +3 -0
  742. package/dist/esm/src/biz-components/Listing/const.d.ts +29 -0
  743. package/dist/esm/src/biz-components/Listing/hooks/use-variant-media.d.ts +14 -0
  744. package/dist/esm/src/biz-components/Listing/hooks/use-variant.d.ts +5 -0
  745. package/dist/esm/src/biz-components/Listing/hooks/useBenefits.d.ts +50 -0
  746. package/dist/esm/src/biz-components/Listing/hooks/useCopy.d.ts +5 -0
  747. package/dist/esm/src/biz-components/Listing/index.d.ts +3 -0
  748. package/dist/esm/src/biz-components/Listing/types/graphql.d.ts +7473 -0
  749. package/dist/esm/src/biz-components/Listing/types/product.d.ts +141 -0
  750. package/dist/esm/src/biz-components/Listing/types/type-helper.d.ts +5 -0
  751. package/dist/esm/src/biz-components/Listing/types.d.ts +28 -0
  752. package/dist/esm/src/biz-components/Listing/utils/helper.d.ts +36 -0
  753. package/dist/esm/src/biz-components/Listing/utils/index.d.ts +37 -0
  754. package/dist/esm/src/biz-components/Listing/utils/textFormat.d.ts +73 -0
  755. package/dist/esm/src/biz-components/Marquee/Marquee.d.ts +18 -0
  756. package/dist/esm/src/biz-components/Marquee/index.d.ts +2 -0
  757. package/dist/esm/src/biz-components/Marquee/type.d.ts +33 -0
  758. package/dist/esm/src/biz-components/MarqueeReview/index.d.ts +41 -0
  759. package/dist/esm/src/biz-components/MediaPlayerBase/index.d.ts +6 -0
  760. package/dist/esm/src/biz-components/MediaPlayerBase/right.d.ts +1 -0
  761. package/dist/esm/src/biz-components/MediaPlayerBase/types.d.ts +18 -0
  762. package/dist/esm/src/biz-components/MediaPlayerMulti/index.d.ts +6 -0
  763. package/dist/esm/src/biz-components/MediaPlayerMulti/types.d.ts +22 -0
  764. package/dist/esm/src/biz-components/MediaPlayerSticky/index.d.ts +9 -0
  765. package/dist/esm/src/biz-components/MediaPlayerSticky/types.d.ts +21 -0
  766. package/dist/esm/src/biz-components/MemberEquity/index.d.ts +7 -0
  767. package/dist/esm/src/biz-components/MemberEquity/types.d.ts +30 -0
  768. package/dist/esm/src/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.d.ts +8 -0
  769. package/dist/esm/src/biz-components/MultiLayoutGraphicBlock/index.d.ts +2 -0
  770. package/dist/esm/src/biz-components/MultiLayoutGraphicBlock/types.d.ts +38 -0
  771. package/dist/esm/src/biz-components/NavigationSearch/index.d.ts +4 -0
  772. package/dist/esm/src/biz-components/NavigationSearch/types.d.ts +18 -0
  773. package/dist/esm/src/biz-components/ProductCompare/index.d.ts +37 -0
  774. package/dist/esm/src/biz-components/ProductHero/ProductHero.d.ts +7 -0
  775. package/dist/esm/src/biz-components/ProductHero/index.d.ts +2 -0
  776. package/dist/esm/src/biz-components/ProductHero/types.d.ts +21 -0
  777. package/dist/esm/src/biz-components/SearchPage/index.d.ts +6 -0
  778. package/dist/esm/src/biz-components/SearchPage/types.d.ts +58 -0
  779. package/dist/esm/src/biz-components/SelectStore/index.d.ts +20 -0
  780. package/dist/esm/src/biz-components/ShelfDisplay/index.d.ts +7 -0
  781. package/dist/esm/src/biz-components/ShelfDisplay/shelfDisplay.d.ts +106 -0
  782. package/dist/esm/src/biz-components/ShelfDisplay/shelfDisplayItem.d.ts +8 -0
  783. package/dist/esm/src/biz-components/ShelfDisplay/tabSwitch.d.ts +9 -0
  784. package/dist/esm/src/biz-components/Slogan/index.d.ts +9 -0
  785. package/dist/esm/src/biz-components/Slogan/types.d.ts +31 -0
  786. package/dist/esm/src/biz-components/Spacer/index.d.ts +7 -0
  787. package/dist/esm/src/biz-components/Spacer/types.d.ts +10 -0
  788. package/dist/esm/src/biz-components/Specs/dropdown.d.ts +11 -0
  789. package/dist/esm/src/biz-components/Specs/index.d.ts +6 -0
  790. package/dist/esm/src/biz-components/SpecsComparison/SpecsComparison.d.ts +7 -0
  791. package/dist/esm/src/biz-components/SpecsComparison/index.d.ts +2 -0
  792. package/dist/esm/src/biz-components/SpecsComparison/types.d.ts +34 -0
  793. package/dist/esm/src/biz-components/Subscribe/index.d.ts +20 -0
  794. package/dist/esm/src/biz-components/SwiperBox/index.d.ts +4 -0
  795. package/dist/esm/src/biz-components/SwiperBox/types.d.ts +17 -0
  796. package/dist/esm/src/biz-components/TabWithImage/TabWithImage.d.ts +7 -0
  797. package/dist/esm/src/biz-components/TabWithImage/index.d.ts +2 -0
  798. package/dist/esm/src/biz-components/TabWithImage/types.d.ts +29 -0
  799. package/dist/esm/src/biz-components/Tabs/Tabs.d.ts +7 -0
  800. package/dist/esm/src/biz-components/Tabs/index.d.ts +1 -0
  801. package/dist/esm/src/biz-components/Tabs/types.d.ts +30 -0
  802. package/dist/esm/src/biz-components/TabsGroup/index.d.ts +7 -0
  803. package/dist/esm/src/biz-components/TabsGroup/types.d.ts +16 -0
  804. package/dist/esm/src/biz-components/TabsWithMedia/TabsWithMedia.d.ts +7 -0
  805. package/dist/esm/src/biz-components/TabsWithMedia/index.d.ts +2 -0
  806. package/dist/esm/src/biz-components/TabsWithMedia/types.d.ts +41 -0
  807. package/dist/esm/src/biz-components/TextModal/index.d.ts +14 -0
  808. package/dist/esm/src/biz-components/ThreeDCarousel/index.d.ts +15 -0
  809. package/dist/esm/src/biz-components/Title/index.d.ts +7 -0
  810. package/dist/esm/src/biz-components/Title/types.d.ts +33 -0
  811. package/dist/esm/src/biz-components/VideoFeature/VideoFeature.d.ts +7 -0
  812. package/dist/esm/src/biz-components/VideoFeature/index.d.ts +2 -0
  813. package/dist/esm/src/biz-components/VideoFeature/types.d.ts +19 -0
  814. package/dist/esm/src/biz-components/VideoModal/YouTubePlayer.d.ts +4 -0
  815. package/dist/esm/src/biz-components/VideoModal/index.d.ts +8 -0
  816. package/dist/esm/src/biz-components/WhyChoose/WhyChoose.d.ts +14 -0
  817. package/dist/esm/src/biz-components/WhyChoose/index.d.ts +2 -0
  818. package/dist/esm/src/biz-components/WhyChoose/types.d.ts +12 -0
  819. package/dist/esm/src/biz-components/index.d.ts +118 -0
  820. package/dist/esm/src/components/alert.d.ts +17 -0
  821. package/dist/esm/src/components/avatar.d.ts +26 -0
  822. package/dist/esm/src/components/badge.d.ts +9 -0
  823. package/dist/esm/src/components/board.d.ts +4 -0
  824. package/dist/esm/src/components/button.d.ts +41 -0
  825. package/dist/esm/src/components/card.d.ts +8 -0
  826. package/dist/esm/src/components/carousel.d.ts +28 -0
  827. package/dist/esm/src/components/checkbox.d.ts +12 -0
  828. package/dist/esm/src/components/color.d.ts +13 -0
  829. package/dist/esm/src/components/container.d.ts +24 -0
  830. package/dist/esm/src/components/dialog.d.ts +21 -0
  831. package/dist/esm/src/components/drawer.d.ts +13 -0
  832. package/dist/esm/src/components/drop-down.d.ts +27 -0
  833. package/dist/esm/src/components/gird.d.ts +17 -0
  834. package/dist/esm/src/components/heading.d.ts +17 -0
  835. package/dist/esm/src/components/index.d.ts +26 -0
  836. package/dist/esm/src/components/input-number.d.ts +78 -0
  837. package/dist/esm/src/components/input.d.ts +22 -0
  838. package/dist/esm/src/components/link.d.ts +45 -0
  839. package/dist/esm/src/components/loadingDots.d.ts +6 -0
  840. package/dist/esm/src/components/picture.d.ts +14 -0
  841. package/dist/esm/src/components/popover.d.ts +6 -0
  842. package/dist/esm/src/components/radio.d.ts +16 -0
  843. package/dist/esm/src/components/skeleton.d.ts +9 -0
  844. package/dist/esm/src/components/tabs.d.ts +11 -0
  845. package/dist/esm/src/components/text.d.ts +32 -0
  846. package/dist/esm/src/components/theme.d.ts +12 -0
  847. package/dist/esm/src/cpn-components/CpnBanner/index.d.ts +3 -0
  848. package/dist/esm/src/cpn-components/CpnBanner/types.d.ts +43 -0
  849. package/dist/esm/src/cpn-components/CpnCountDown/index.d.ts +3 -0
  850. package/dist/esm/src/cpn-components/CpnCountDown/types.d.ts +29 -0
  851. package/dist/esm/src/cpn-components/CpnNavigation/index.d.ts +3 -0
  852. package/dist/esm/src/cpn-components/CpnNavigation/types.d.ts +20 -0
  853. package/dist/esm/src/cpn-components/CpnProductCard/index.d.ts +3 -0
  854. package/dist/esm/src/cpn-components/CpnProductCard/types.d.ts +109 -0
  855. package/dist/esm/src/cpn-components/CpnTitle/index.d.ts +3 -0
  856. package/dist/esm/src/cpn-components/CpnTitle/types.d.ts +10 -0
  857. package/dist/esm/src/cpn-components/index.d.ts +5 -0
  858. package/dist/esm/src/helpers/ScrollLoadVideo.d.ts +15 -0
  859. package/dist/esm/src/helpers/component-props.d.ts +7 -0
  860. package/dist/esm/src/helpers/constants.d.ts +0 -0
  861. package/dist/esm/src/helpers/index.d.ts +2 -0
  862. package/dist/esm/src/helpers/utils.d.ts +6 -0
  863. package/dist/esm/src/hooks/useCountDown.d.ts +10 -0
  864. package/dist/esm/src/hooks/useExposure.d.ts +12 -0
  865. package/dist/esm/src/hooks/useIntersectionObserver.d.ts +17 -0
  866. package/dist/esm/src/hooks/useRollout.d.ts +14 -0
  867. package/dist/esm/src/icons/spinner.d.ts +5 -0
  868. package/dist/esm/src/index.d.ts +1 -0
  869. package/dist/esm/src/shared/Styles.d.ts +39 -0
  870. package/dist/esm/src/shared/getKeyPropsString.d.ts +4 -0
  871. package/dist/esm/src/shared/mimeType.d.ts +1 -0
  872. package/dist/esm/src/shared/simpleHash.d.ts +1 -0
  873. package/dist/esm/src/shared/throttle.d.ts +1 -0
  874. package/dist/esm/src/shared/track.d.ts +1 -0
  875. package/dist/esm/src/shared/trackUrlRef.d.ts +7 -0
  876. package/dist/esm/src/stories/avatar.stories.d.ts +40 -0
  877. package/dist/esm/src/stories/badge.stories.d.ts +26 -0
  878. package/dist/esm/src/stories/button.stories.d.ts +48 -0
  879. package/dist/esm/src/stories/checkbox.stories.d.ts +46 -0
  880. package/dist/esm/src/stories/container.stories.d.ts +36 -0
  881. package/dist/esm/src/stories/dialog.stories.d.ts +20 -0
  882. package/dist/esm/src/stories/grid.stories.d.ts +42 -0
  883. package/dist/esm/src/stories/heading.stories.d.ts +82 -0
  884. package/dist/esm/src/stories/input-number.stories.d.ts +51 -0
  885. package/dist/esm/src/stories/input.stories.d.ts +35 -0
  886. package/dist/esm/src/stories/picture.stories.d.ts +18 -0
  887. package/dist/esm/src/stories/popover.stories.d.ts +17 -0
  888. package/dist/esm/src/stories/radio.stories.d.ts +39 -0
  889. package/dist/esm/src/stories/skeleton.stories.d.ts +20 -0
  890. package/dist/esm/src/stories/text.stories.d.ts +94 -0
  891. package/dist/esm/src/types/index.d.ts +0 -0
  892. package/dist/esm/src/types/props.d.ts +47 -0
  893. package/dist/esm/stories/HeroBanner.stories.d.ts +27 -0
  894. package/dist/esm/stories/InlineVideo.stories.d.ts +11 -0
  895. package/dist/esm/stories/MarqueeReview.stories.d.ts +43 -0
  896. package/dist/esm/stories/MediaSceneSwitcher.stories.d.ts +8 -0
  897. package/dist/esm/stories/MemberEquity.stories.d.ts +9 -0
  898. package/dist/esm/stories/MultiLayoutGraphicBlock.stories.d.ts +9 -0
  899. package/dist/esm/stories/ThreeDCarousel.stories.d.ts +10 -0
  900. package/dist/esm/stories/accordionCards.stories.d.ts +17 -0
  901. package/dist/esm/stories/alert.stories.d.ts +27 -0
  902. package/dist/esm/stories/aplusdesc.stories.d.ts +27 -0
  903. package/dist/esm/stories/aplusdesc.stories.js +2 -0
  904. package/dist/esm/stories/aplusdesc.stories.js.map +7 -0
  905. package/dist/esm/stories/avatar.stories.d.ts +39 -0
  906. package/dist/esm/stories/badge.stories.d.ts +31 -0
  907. package/dist/esm/stories/bizTabs.stories.d.ts +7 -0
  908. package/dist/esm/stories/board.stories.d.ts +6 -0
  909. package/dist/esm/stories/brandEquity.stories.d.ts +16 -0
  910. package/dist/esm/stories/button.stories.d.ts +56 -0
  911. package/dist/esm/stories/card.stories.d.ts +27 -0
  912. package/dist/esm/stories/carousel.stories.d.ts +8 -0
  913. package/dist/esm/stories/category.stories.d.ts +17 -0
  914. package/dist/esm/stories/checkbox.stories.d.ts +46 -0
  915. package/dist/esm/stories/container.stories.d.ts +28 -0
  916. package/dist/esm/stories/cpnBanner.stories.d.ts +14 -0
  917. package/dist/esm/stories/cpnCountdown.stories.d.ts +12 -0
  918. package/dist/esm/stories/cpnNavigation.stories.d.ts +14 -0
  919. package/dist/esm/stories/cpnProductcard.stories.d.ts +14 -0
  920. package/dist/esm/stories/cpnTitle.stories.d.ts +14 -0
  921. package/dist/esm/stories/creativeModule.stories.d.ts +19 -0
  922. package/dist/esm/stories/dialog.stories.d.ts +20 -0
  923. package/dist/esm/stories/download.stories.d.ts +18 -0
  924. package/dist/esm/stories/download.stories.js +2 -0
  925. package/dist/esm/stories/download.stories.js.map +7 -0
  926. package/dist/esm/stories/drawer.stories.d.ts +20 -0
  927. package/dist/esm/stories/drop-down.stories.d.ts +16 -0
  928. package/dist/esm/stories/evaluate.stories.d.ts +16 -0
  929. package/dist/esm/stories/faq.stories.d.ts +21 -0
  930. package/dist/esm/stories/featureCards.stories.d.ts +17 -0
  931. package/dist/esm/stories/featureShowcase.stories.d.ts +9 -0
  932. package/dist/esm/stories/features.stories.d.ts +21 -0
  933. package/dist/esm/stories/features.stories.js +2 -0
  934. package/dist/esm/stories/features.stories.js.map +7 -0
  935. package/dist/esm/stories/footcharger.stories.d.ts +19 -0
  936. package/dist/esm/stories/footcharger.stories.js +2 -0
  937. package/dist/esm/stories/footcharger.stories.js.map +7 -0
  938. package/dist/esm/stories/giftbox.stories.d.ts +18 -0
  939. package/dist/esm/stories/giftbox.stories.js +2 -0
  940. package/dist/esm/stories/giftbox.stories.js.map +7 -0
  941. package/dist/esm/stories/graphic.stories.d.ts +64 -0
  942. package/dist/esm/stories/graphicAttractionBlock.stories.d.ts +6 -0
  943. package/dist/esm/stories/graphicMore.stories.d.ts +19 -0
  944. package/dist/esm/stories/graphicMore.stories.js +2 -0
  945. package/dist/esm/stories/graphicMore.stories.js.map +7 -0
  946. package/dist/esm/stories/grid.stories.d.ts +22 -0
  947. package/dist/esm/stories/heading.stories.d.ts +84 -0
  948. package/dist/esm/stories/imageTextFeature.stories.d.ts +11 -0
  949. package/dist/esm/stories/imageWithText.stories.d.ts +24 -0
  950. package/dist/esm/stories/input-number.stories.d.ts +39 -0
  951. package/dist/esm/stories/input.stories.d.ts +35 -0
  952. package/dist/esm/stories/ksp.stories.d.ts +33 -0
  953. package/dist/esm/stories/link.stories.d.ts +69 -0
  954. package/dist/esm/stories/marquee.stories.d.ts +30 -0
  955. package/dist/esm/stories/mediaplayerBase.stories.d.ts +6 -0
  956. package/dist/esm/stories/mediaplayerMulti.stories.d.ts +16 -0
  957. package/dist/esm/stories/picture.stories.d.ts +22 -0
  958. package/dist/esm/stories/popover.stories.d.ts +17 -0
  959. package/dist/esm/stories/productCompare.stories.d.ts +13 -0
  960. package/dist/esm/stories/productHero.stories.d.ts +9 -0
  961. package/dist/esm/stories/radio.stories.d.ts +39 -0
  962. package/dist/esm/stories/selectstore.stories.d.ts +18 -0
  963. package/dist/esm/stories/selectstore.stories.js +2 -0
  964. package/dist/esm/stories/selectstore.stories.js.map +7 -0
  965. package/dist/esm/stories/shelf.stories.d.ts +17 -0
  966. package/dist/esm/stories/shelfDisplay.stories.d.ts +16 -0
  967. package/dist/esm/stories/skeleton.stories.d.ts +20 -0
  968. package/dist/esm/stories/slogan.stories.d.ts +20 -0
  969. package/dist/esm/stories/specs.stories.d.ts +13 -0
  970. package/dist/esm/stories/specsComparison.stories.d.ts +8 -0
  971. package/dist/esm/stories/tabWithImage.stories.d.ts +8 -0
  972. package/dist/esm/stories/tabs.stories.d.ts +373 -0
  973. package/dist/esm/stories/tabsWithMedia.stories.d.ts +8 -0
  974. package/dist/esm/stories/text.stories.d.ts +86 -0
  975. package/dist/esm/stories/videoFeature.stories.d.ts +9 -0
  976. package/dist/esm/stories/whychoose.stories.d.ts +21 -0
  977. package/dist/esm/tailwind.config.d.ts +253 -0
  978. package/dist/esm/tests/BrandEquity.test.d.ts +1 -0
  979. package/dist/esm/tests/Ksp.test.d.ts +1 -0
  980. package/dist/esm/tests/MarqueeReview.test.d.ts +1 -0
  981. package/dist/esm/tests/Title.test.d.ts +1 -0
  982. package/dist/esm/tests/badge.test.d.ts +1 -0
  983. package/dist/esm/tests/button.test.d.ts +1 -0
  984. package/dist/esm/tests/card.test.d.ts +1 -0
  985. package/dist/esm/tests/carousel.test.d.ts +1 -0
  986. package/dist/esm/tests/featureCards.test.d.ts +1 -0
  987. package/dist/esm/tests/featureShowcase.test.d.ts +1 -0
  988. package/dist/esm/tests/heading.test.d.ts +1 -0
  989. package/dist/esm/tests/imageTextFeature.test.d.ts +1 -0
  990. package/dist/esm/tests/imageWithText.test.d.ts +1 -0
  991. package/dist/esm/tests/input.test.d.ts +1 -0
  992. package/dist/esm/tests/jest.setup.d.ts +1 -0
  993. package/dist/esm/tests/productHero.test.d.ts +1 -0
  994. package/dist/esm/tests/specsComparison.test.d.ts +1 -0
  995. package/dist/esm/tests/tabWithImage.test.d.ts +1 -0
  996. package/dist/esm/tests/tabs.test.d.ts +1 -0
  997. package/dist/esm/tests/tabsWithMedia.test.d.ts +1 -0
  998. package/dist/esm/tests/text.test.d.ts +1 -0
  999. package/dist/esm/tests/videoFeature.test.d.ts +1 -0
  1000. package/dist/esm/tsconfig.tsbuildinfo +1 -0
  1001. package/dist/esm/ui/src/biz-components/CollectionsFilters/FilterCardWrapItem.d.ts +5 -0
  1002. package/package.json +1 -1
  1003. package/tailwind.config.js +1 -1
  1004. /package/dist/cjs/hooks/{useExposure.d.ts → useEXposure.d.ts} +0 -0
  1005. /package/dist/{esm → cjs/src}/hooks/useExposure.d.ts +0 -0
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../src/biz-components/Listing/components/ProductCard/ProductSummary/index.tsx"],
4
- "sourcesContent": ["import { Text, Button, Container, Grid, GridItem, Picture, Heading } from '../../../../../components/index.js'\nimport { useBizProductContext } from '../../../BizProductProvider.js'\nimport { useEffect, useMemo, useState } from 'react'\nimport { formatPrice } from '../../../utils/index.js'\nimport { useAiuiContext } from '../../../../AiuiProvider/index.js'\nimport type { BundleListItem, ProductVariant, ProductPrice, ProductOption } from '../../../types/product'\nimport Decimal from 'decimal.js'\nimport { replaceTemplate } from '../../../utils/textFormat.js'\nimport { withLayout } from '../../../../../shared/Styles.js'\nimport { ExposureDetector } from '../../../../../components/index.js'\nimport { gaTrack } from '../../../../../shared/track.js'\n\nconst ProductSummary = () => {\n const { locale = 'us', copyWriting } = useAiuiContext()\n const {\n product,\n variant,\n finalPrice,\n comparePrice,\n coupon,\n selectedOptions,\n selectedVariants,\n totalSavings,\n onAddToCart,\n onBuyNow,\n savingDetail,\n checkedBundle,\n joinedRecommendBuyProducts,\n setJoinedRecommendBuyProducts,\n setSavingDetail,\n addToCartLoading,\n buyNowLoading,\n profile,\n addOrder,\n setAddOrder,\n } = useBizProductContext()\n\n const productSummaryData = useMemo(() => {\n return product?.payload?.components?.find((item: any) => item.componentKey === 'ProductSummary')?.data || {}\n }, [product?.payload])\n\n const [currentProductVariant] = selectedVariants\n\n const summaryFinalPrice = useMemo(() => {\n const currentBundleVariant = checkedBundle?.variants.find(v => v.variant.sku === currentProductVariant?.sku)\n const currentBundlePrice = new Decimal(currentProductVariant?.price?.amount || 0)\n .minus(currentBundleVariant?.price || currentProductVariant?.price?.amount)\n .toNumber()\n let currentProductPrice = new Decimal(currentProductVariant?.price?.amount || 0)\n if (profile?.email) {\n currentProductPrice = currentProductPrice.minus(savingDetail?.member || 0)\n }\n const finalPrice = currentProductPrice.minus(savingDetail?.coupon).minus(currentBundlePrice).toNumber()\n return Math.floor(finalPrice * 100) / 100\n }, [currentProductVariant, checkedBundle, profile, savingDetail?.member, savingDetail?.coupon])\n\n const { bundleVariant, giftVariant, exchangeVariant } = useRecommendBuyProducts() || {}\n\n const [initialRecommendBuyProducts, setInitialRecommendBuyProducts] = useState<{\n bundle?: BundleListItem\n gift?: ProductVariant\n exchange?: ProductVariant\n }>()\n\n useEffect(() => {\n setInitialRecommendBuyProducts({\n bundle: joinedRecommendBuyProducts.bundle?.value ? undefined : bundleVariant,\n gift: joinedRecommendBuyProducts.gift?.value ? undefined : giftVariant,\n exchange: joinedRecommendBuyProducts.exchange?.value ? undefined : exchangeVariant,\n })\n }, [bundleVariant, giftVariant, exchangeVariant, joinedRecommendBuyProducts])\n\n // \u6839\u636E\u6DFB\u52A0\u987A\u5E8F\u751F\u6210\u5DF2\u6DFB\u52A0\u4EA7\u54C1\u7684\u5217\u8868\n const orderedJoinedProducts = useMemo(() => {\n const result: Array<{ type: 'bundle' | 'gift' | 'exchange'; key: string }> = []\n\n // \u6309\u7167\u6DFB\u52A0\u987A\u5E8F\u6DFB\u52A0\n if (addOrder) {\n addOrder.forEach((type, index) => {\n if (joinedRecommendBuyProducts[type]?.value) {\n result.push({ type, key: `${type}-${index}` })\n }\n })\n }\n\n return result\n }, [addOrder, joinedRecommendBuyProducts])\n\n const productOptionsText = useMemo(() => {\n const quantity = selectedOptions?.quantity || ''\n const color = selectedOptions?.color || selectedOptions?.colour || selectedOptions?.couleur || ''\n return `${quantity && color ? `${quantity} | ${color}` : quantity || color}`\n }, [selectedOptions?.quantity, selectedOptions?.color, selectedOptions?.colour, selectedOptions?.couleur])\n\n const variantImage = useMemo(() => {\n const variantProductSummary =\n variant?.payload?.components?.find((item: any) => item.componentKey === 'ProductSummary')?.data || {}\n const { image_1920, image_1440, image_1024, image_768, image_390 } = variantProductSummary?.thumbnail || {}\n const variantProductGalleryItemImage = variantProductSummary?.thumbnail\n ? `${image_1920} 1920, ${image_1440} 1440, ${image_1024} 1024, ${image_768} 768, ${image_390} 390`\n : variant.image?.url\n return variantProductGalleryItemImage || variant.image?.url\n }, [variant.image?.url, variant?.payload?.components])\n\n const isAvailable = variant.availableForSale\n if (!isAvailable) return null\n\n return (\n <div className=\"ipc-product-summary laptop:px-16 laptop-md:px-0 laptop-md:mt-[96px] lg-desktop:mt-[128px] mt-16\">\n <div className=\"laptop:rounded-2xl bg-[#F5F5F7]\">\n <Grid className=\"tablet:p-8 tablet:!pb-0 px-4 pt-6\">\n <GridItem className=\"laptop:col-start-1 laptop:col-span-5 col-span-12 flex flex-col justify-between gap-4\">\n <Heading\n className=\"lg-desktop:text-[48px] laptop:text-[32px] laptop-md:text-[40px] mb-4 text-[24px] font-bold leading-none [&>span]:text-[#D1D1D1]\"\n html={productSummaryData?.readyWant?.replace?.('{title}', product?.title)}\n />\n <div className=\"\">\n <Picture\n source={variantImage}\n className=\"lg-desktop:aspect-[644/320] laptop-md:aspect-[503/270] laptop:aspect-[332/190] tablet:aspect-[704/380] aspect-[358/190]\"\n imgClassName=\"object-cover h-full\"\n />\n </div>\n </GridItem>\n <GridItem className=\"tablet:pb-8 laptop:col-start-7 laptop:mt-0 laptop:col-span-6 col-span-12 mt-8 flex flex-col justify-between gap-6 pb-6\">\n <div>\n <div className=\"flex flex-col gap-4\">\n <ExposureDetector\n exposureKey=\"listing_selector\"\n onExposure={() => {\n gaTrack({\n event: 'ga4Event',\n event_name: 'component_impression',\n event_parameters: {\n page_group: `Product Detail Page${variant.sku}`,\n component_type: 'image',\n component_name: 'listing_selector',\n position: 1,\n },\n })\n }}\n >\n <div className=\"flex items-center justify-between gap-6\">\n <div className=\"flex items-center gap-4\">\n <Picture\n source={variant.image?.url || product?.images?.[0]?.url}\n className=\"laptop:size-12 lg-desktop:size-16 border-1 size-10 shrink-0 rounded-lg border-[#E4E5E6] bg-[#EAEAEC] object-cover p-2\"\n />\n <div className=\"tablet:max-w-none flex max-w-[178px] flex-col gap-[6px]\">\n <Text\n className=\"laptop-md:text-[16px] lg-desktop:text-[18px] line-clamp-2 text-[14px] font-bold\"\n html={product.title}\n />\n <Text\n className=\"laptop:text-[14px] laptop-md:text-[18px] text-[12px] font-bold text-[#6D6D6F]\"\n html={productOptionsText}\n />\n </div>\n </div>\n <div className=\"flex items-center gap-1\">\n <Text\n className=\"laptop-md:text-2xl text-base font-bold\"\n html={formatPrice({\n amount: summaryFinalPrice,\n currencyCode: variant.price.currencyCode,\n locale,\n })}\n />\n {summaryFinalPrice < variant?.price?.amount && (\n <Text\n className=\"laptop-md:text-2xl laptop:text-xl text-base font-bold text-[#6D6D6F] line-through\"\n html={formatPrice({\n amount: variant?.price?.amount,\n currencyCode: variant.price.currencyCode,\n locale,\n })}\n />\n )}\n </div>\n </div>\n </ExposureDetector>\n {/* \u6309\u7167\u6DFB\u52A0\u987A\u5E8F\u6E32\u67D3\u5DF2\u6DFB\u52A0\u7684\u4EA7\u54C1 */}\n {orderedJoinedProducts.map(({ type, key }) => {\n if (type === 'gift' && joinedRecommendBuyProducts?.gift?.value) {\n return (\n <ProductGiftSummary\n key={key}\n giftOperation={gift => {\n setJoinedRecommendBuyProducts?.({\n ...joinedRecommendBuyProducts,\n gift: {\n value: undefined,\n canOperate: true,\n },\n })\n setInitialRecommendBuyProducts?.({ ...initialRecommendBuyProducts, gift })\n // \u4ECE\u6DFB\u52A0\u987A\u5E8F\u4E2D\u79FB\u9664\n setAddOrder?.(prev => prev.filter(t => t !== 'gift'))\n }}\n status={!!joinedRecommendBuyProducts?.gift}\n gift={joinedRecommendBuyProducts?.gift?.value}\n canOperate={joinedRecommendBuyProducts?.gift?.canOperate}\n />\n )\n }\n if (type === 'bundle' && joinedRecommendBuyProducts?.bundle?.value) {\n return (\n <ProductBundleSummary\n key={key}\n bundleOperation={bundle => {\n setJoinedRecommendBuyProducts?.({\n ...joinedRecommendBuyProducts,\n bundle: {\n value: undefined,\n canOperate: true,\n },\n })\n setInitialRecommendBuyProducts?.({ ...initialRecommendBuyProducts, bundle })\n // \u4ECE\u6DFB\u52A0\u987A\u5E8F\u4E2D\u79FB\u9664\n setAddOrder?.(prev => prev.filter(t => t !== 'bundle'))\n }}\n status={!!joinedRecommendBuyProducts?.bundle}\n bundleListItem={joinedRecommendBuyProducts?.bundle?.value}\n canOperate={joinedRecommendBuyProducts?.bundle?.canOperate}\n />\n )\n }\n if (type === 'exchange' && joinedRecommendBuyProducts?.exchange?.value) {\n return (\n <ProductExchangeSummary\n key={key}\n exchangeOperation={exchange => {\n setJoinedRecommendBuyProducts?.({\n ...joinedRecommendBuyProducts,\n exchange: {\n value: undefined,\n canOperate: true,\n },\n })\n setInitialRecommendBuyProducts?.({ ...initialRecommendBuyProducts, exchange })\n // \u4ECE\u6DFB\u52A0\u987A\u5E8F\u4E2D\u79FB\u9664\n setAddOrder?.(prev => prev.filter(t => t !== 'exchange'))\n }}\n status={!!joinedRecommendBuyProducts?.exchange}\n canOperate={joinedRecommendBuyProducts?.exchange?.canOperate}\n exchange={joinedRecommendBuyProducts?.exchange?.value}\n />\n )\n }\n return null\n })}\n </div>\n {(initialRecommendBuyProducts?.bundle ||\n initialRecommendBuyProducts?.gift ||\n initialRecommendBuyProducts?.exchange) && (\n <div className=\"laptop-md:mt-8 mt-6\">\n <Text className=\"laptop-md:text-[18px] text-sm font-bold\" html={productSummaryData?.recommendBuy} />\n <div className=\"laptop-md:gap-4 mt-4 flex flex-col gap-6\">\n {initialRecommendBuyProducts?.exchange && (\n <ProductExchangeSummary\n exchangeOperation={exchange => {\n setJoinedRecommendBuyProducts?.({\n ...joinedRecommendBuyProducts,\n exchange: {\n value: exchange,\n canOperate: true,\n },\n })\n setInitialRecommendBuyProducts?.({ ...initialRecommendBuyProducts, exchange: undefined })\n // \u6DFB\u52A0\u5230\u987A\u5E8F\u6570\u7EC4\u7684\u672B\u5C3E\n setAddOrder?.(prev => [...prev, 'exchange'])\n }}\n canOperate={joinedRecommendBuyProducts?.exchange?.canOperate}\n status={!initialRecommendBuyProducts?.exchange}\n exchange={initialRecommendBuyProducts?.exchange}\n />\n )}\n {initialRecommendBuyProducts?.bundle && (\n <ProductBundleSummary\n bundleOperation={bundle => {\n setSavingDetail?.({ ...savingDetail, exchangePurchase: 0 })\n setJoinedRecommendBuyProducts?.({\n ...joinedRecommendBuyProducts,\n bundle: {\n value: bundle,\n canOperate: true,\n },\n })\n setInitialRecommendBuyProducts?.({ ...initialRecommendBuyProducts, bundle: undefined })\n // \u6DFB\u52A0\u5230\u987A\u5E8F\u6570\u7EC4\u7684\u672B\u5C3E\n setAddOrder?.(prev => [...prev, 'bundle'])\n }}\n canOperate={joinedRecommendBuyProducts?.bundle?.canOperate}\n status={!initialRecommendBuyProducts?.bundle}\n bundleListItem={initialRecommendBuyProducts?.bundle}\n />\n )}\n {initialRecommendBuyProducts?.gift && (\n <ProductGiftSummary\n giftOperation={gift => {\n setJoinedRecommendBuyProducts?.({\n ...joinedRecommendBuyProducts,\n gift: {\n value: gift,\n canOperate: true,\n },\n })\n setInitialRecommendBuyProducts?.({ ...initialRecommendBuyProducts, gift: undefined })\n // \u6DFB\u52A0\u5230\u987A\u5E8F\u6570\u7EC4\u7684\u672B\u5C3E\n setAddOrder?.(prev => [...prev, 'gift'])\n }}\n canOperate={joinedRecommendBuyProducts?.gift?.canOperate}\n status={!initialRecommendBuyProducts?.gift}\n gift={initialRecommendBuyProducts?.gift}\n />\n )}\n </div>\n </div>\n )}\n </div>\n <div className=\"text-right\">\n <Text\n className=\"laptop:text-xl laptop-md:text-2xl text-right font-bold\"\n html={`${replaceTemplate(copyWriting?.totalPrice || '', { amount: formatPrice({ amount: Math.floor(finalPrice * 100) / 100, currencyCode: variant.price.currencyCode, locale }) })}`}\n />\n\n {totalSavings > 0 && (\n <Text\n className=\"laptop:text-xl laptop-md:text-2xl ml-1 text-base font-bold text-[#6D6D6F] line-through\"\n html={formatPrice({\n amount: comparePrice,\n currencyCode: variant.price.currencyCode,\n locale,\n })}\n />\n )}\n <div className=\"mt-4 flex justify-end gap-3\">\n <Button\n size=\"lg\"\n variant=\"secondary\"\n loading={addToCartLoading}\n className=\"tablet:w-auto laptop:w-1/2 laptop-md:w-auto w-1/2\"\n onClick={() => onAddToCart?.()}\n >\n {copyWriting?.addToCart}\n </Button>\n <Button\n size=\"lg\"\n loading={buyNowLoading}\n variant=\"primary\"\n className=\"tablet:w-auto laptop:w-1/2 laptop-md:w-auto w-1/2\"\n onClick={() => onBuyNow?.()}\n >\n {copyWriting?.shopNow}\n </Button>\n </div>\n </div>\n </GridItem>\n </Grid>\n </div>\n </div>\n )\n}\n\nconst useRecommendBuyProducts = () => {\n const { bundle, variant, checkedBundle, freeGift, checkedGift, exchangePurchase, checkedExchangePurchase } =\n useBizProductContext()\n let bundleVariant = undefined\n let giftVariant = undefined\n let exchangeVariant = undefined\n const { bundleList } = bundle || {}\n\n const { giftList = [] } = freeGift || {}\n const { giftList: exchangeList = [] } = exchangePurchase || {}\n\n const availableBundleList =\n bundleList?.filter(bundle =>\n bundle.variants.slice(1, bundle.variants.length).every(v => v.variant.availableForSale)\n ) || []\n\n const [firstAvailableBundle] = availableBundleList\n bundleVariant = checkedBundle || firstAvailableBundle\n\n const [firstAvailableGift] = giftList?.filter(gift => gift.availableForSale) ?? []\n giftVariant = checkedGift || firstAvailableGift\n\n const [firstAvailableExchange] = exchangeList?.filter(exchange => exchange.availableForSale) ?? []\n exchangeVariant = checkedExchangePurchase || firstAvailableExchange\n\n return { bundleVariant, giftVariant, exchangeVariant }\n}\n\nconst ProductBundleSummary = ({\n bundleOperation,\n bundleListItem,\n canOperate,\n status,\n}: {\n bundleOperation: (bundle?: BundleListItem) => void\n bundleListItem?: BundleListItem\n canOperate?: boolean\n status?: boolean\n}) => {\n const { locale = 'us', copyWriting } = useAiuiContext()\n const { variant, setCheckedBundle } = useBizProductContext()\n const bundleVariants = bundleListItem?.variants.filter(v => v.variant.sku !== variant.sku)\n\n return (\n <div className=\"\">\n {bundleVariants?.map(bundleVariant => {\n return (\n <div className=\"flex items-center justify-between gap-4\" key={bundleVariant.variant.id}>\n <div className=\"flex items-center gap-4\">\n <Picture\n source={bundleVariant?.variant?.image?.url}\n className=\"laptop:size-12 lg-desktop:size-16 border-1 size-10 shrink-0 rounded-lg border-[#E4E5E6] bg-[#EAEAEC] object-cover p-2\"\n />\n <div className=\"tablet:max-w-none line-clamp-2 flex max-w-[178px] flex-col gap-[6px]\">\n <Text\n className=\"laptop-md:text-[16px] lg-desktop:text-[18px] text-[14px] font-bold\"\n html={bundleVariant.variant.product.title}\n />\n </div>\n </div>\n <div className=\"flex flex-col items-end justify-center gap-1\">\n {!!bundleListItem && (\n <div className=\"flex items-center gap-1\">\n <Text\n className=\"laptop-md:text-2xl text-base font-bold\"\n html={formatPrice({\n amount: bundleVariant?.price || 0,\n locale,\n currencyCode: bundleVariant.variant?.price?.currencyCode || '',\n })}\n />\n {bundleVariant.price < bundleVariant.variant.price.amount && (\n <Text\n className=\"laptop-md:text-2xl text-base font-bold text-[#6D6D6F] line-through\"\n html={formatPrice({\n amount: bundleVariant.variant.price.amount || 0,\n locale,\n currencyCode: bundleVariant.variant?.price?.currencyCode || '',\n })}\n />\n )}\n </div>\n )}\n {canOperate && (\n <Button\n size=\"icon\"\n variant=\"link\"\n onClick={() => {\n setCheckedBundle?.(status ? undefined : bundleListItem)\n bundleOperation?.(bundleListItem)\n }}\n className=\"size-auto shrink-0 underline\"\n >\n {status ? copyWriting?.remove : copyWriting?.add}\n </Button>\n )}\n </div>\n </div>\n )\n })}\n </div>\n )\n}\n\nconst ProductGiftSummary = ({\n giftOperation,\n gift,\n status,\n canOperate,\n}: {\n giftOperation: (gift?: ProductVariant) => void\n gift?: ProductVariant\n status?: boolean\n canOperate?: boolean\n}) => {\n const { locale = 'us', copyWriting } = useAiuiContext()\n const { freeGift, setCheckedGift } = useBizProductContext()\n const { freeLabel } = freeGift || {}\n const { options } = gift || {}\n\n const giftOptionsText = useMemo(() => {\n const giftColorOption = (options?.find(\n option => option.name === 'color' || option.name === 'colour' || option.name === 'couleur'\n ) || {}) as ProductOption\n const giftQuantityOption = options?.find(option => option.name === 'quantity') || ({} as ProductOption)\n const giftColorOptionText = giftColorOption ? giftColorOption.values?.[0]?.label : ''\n const giftQuantityOptionText = giftQuantityOption ? giftQuantityOption.values?.[0]?.label : ''\n return `${giftColorOptionText && giftQuantityOptionText ? giftQuantityOptionText + ' | ' + giftColorOptionText : giftQuantityOptionText || giftColorOptionText} | ${freeLabel}`\n }, [freeLabel, options])\n\n return (\n <div className=\"flex items-center justify-between gap-6\">\n <div className=\"flex items-center gap-4\">\n <Picture\n source={gift?.image?.url}\n className=\"laptop:size-12 lg-desktop:size-16 border-1 size-10 shrink-0 rounded-lg border-[#E4E5E6] bg-[#EAEAEC] object-cover p-2\"\n />\n <div className=\"tablet:max-w-none flex max-w-[178px] flex-col gap-[6px]\">\n <Text\n className=\"laptop-md:text-[16px] lg-desktop:text-[18px] line-clamp-2 text-[14px] font-bold\"\n html={gift?.product?.title}\n />\n <Text\n className=\"laptop:text-[14px] laptop-md:text-[18px] text-[12px] font-bold text-[#6D6D6F]\"\n html={giftOptionsText}\n />\n </div>\n </div>\n <div className=\"flex flex-col items-end justify-center gap-2\">\n {!!gift && (\n <div className=\"flex items-center gap-1\">\n <Text className=\"laptop-md:text-2xl text-base font-bold\" html={freeLabel} />\n <Text\n className=\"laptop-md:text-2xl text-base font-bold text-[#6D6D6F] line-through\"\n html={formatPrice({\n amount: gift.price.amount,\n locale,\n currencyCode: gift.price.currencyCode,\n })}\n />\n </div>\n )}\n {canOperate && (\n <Button\n size=\"icon\"\n variant=\"link\"\n onClick={() => {\n setCheckedGift?.(status ? undefined : gift)\n giftOperation(gift)\n }}\n className=\"size-auto shrink-0 underline\"\n >\n {status ? copyWriting?.remove : copyWriting?.add}\n </Button>\n )}\n </div>\n </div>\n )\n}\n\nconst ProductExchangeSummary = ({\n exchangeOperation,\n exchange,\n canOperate,\n status,\n}: {\n exchangeOperation: (exchange?: ProductVariant) => void\n exchange?: ProductVariant & { finalPrice?: ProductPrice }\n canOperate?: boolean\n status?: boolean\n}) => {\n const { locale = 'us', copyWriting } = useAiuiContext()\n const { setCheckedExchangePurchase } = useBizProductContext()\n\n return (\n <div className=\"flex items-center justify-between gap-6\">\n <div className=\"flex items-center gap-4\">\n <Picture\n source={exchange?.image?.url}\n className=\"laptop:size-12 lg-desktop:size-16 border-1 size-10 shrink-0 rounded-lg border-[#E4E5E6] bg-[#EAEAEC] object-cover p-2\"\n />\n <div className=\"tablet:max-w-none flex max-w-[178px] flex-col gap-[6px]\">\n <Text\n className=\"laptop-md:text-[16px] lg-desktop:text-[18px] line-clamp-2 text-[14px] font-bold\"\n html={exchange?.product?.title}\n />\n <Text className=\"laptop:text-[14px] laptop-md:text-[18px] text-[12px] font-bold text-[#6D6D6F]\" />\n </div>\n </div>\n <div className=\"flex flex-col items-end justify-center gap-2\">\n {!!exchange && (\n <div className=\"flex items-center gap-1\">\n <Text\n className=\"laptop-md:text-2xl text-base font-bold\"\n html={formatPrice({\n amount: exchange.finalPrice?.amount || 0,\n locale,\n currencyCode: exchange.price.currencyCode,\n })}\n />\n <Text\n className=\"laptop-md:text-2xl text-base font-bold text-[#6D6D6F] line-through\"\n html={formatPrice({\n amount: exchange.price?.amount || 0,\n locale,\n currencyCode: exchange.price.currencyCode,\n })}\n />\n </div>\n )}\n {canOperate && (\n <Button\n size=\"icon\"\n variant=\"link\"\n onClick={() => {\n setCheckedExchangePurchase?.(status ? undefined : exchange)\n exchangeOperation(exchange)\n }}\n className=\"size-auto shrink-0 underline\"\n >\n {status ? copyWriting?.remove : copyWriting?.add}\n </Button>\n )}\n </div>\n </div>\n )\n}\n\nexport default withLayout(ProductSummary)\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { Text, Button, Container, Grid, GridItem, Picture, Heading } from '../../../../../components/index.js'\nimport { useBizProductContext } from '../../../BizProductProvider.js'\nimport { useEffect, useMemo, useState } from 'react'\nimport { formatPrice } from '../../../utils/index.js'\nimport { useAiuiContext } from '../../../../AiuiProvider/index.js'\nimport type { BundleListItem, ProductVariant, ProductPrice, ProductOption } from '../../../types/product'\nimport Decimal from 'decimal.js'\nimport { replaceTemplate } from '../../../utils/textFormat.js'\nimport { withLayout } from '../../../../../shared/Styles.js'\nimport { ExposureDetector } from '../../../../../components/index.js'\nimport { gaTrack } from '../../../../../shared/track.js'\n\nconst ProductSummary = () => {\n const { locale = 'us', copyWriting } = useAiuiContext()\n const {\n product,\n variant,\n finalPrice,\n comparePrice,\n coupon,\n selectedOptions,\n selectedVariants,\n totalSavings,\n onAddToCart,\n onBuyNow,\n savingDetail,\n checkedBundle,\n joinedRecommendBuyProducts,\n setJoinedRecommendBuyProducts,\n setSavingDetail,\n addToCartLoading,\n buyNowLoading,\n profile,\n addOrder,\n setAddOrder,\n } = useBizProductContext()\n\n const productSummaryData = useMemo(() => {\n return product?.payload?.components?.find((item: any) => item.componentKey === 'ProductSummary')?.data || {}\n }, [product?.payload])\n\n const [currentProductVariant] = selectedVariants\n\n const summaryFinalPrice = useMemo(() => {\n const currentBundleVariant = checkedBundle?.variants.find(v => v.variant.sku === currentProductVariant?.sku)\n const currentBundlePrice = new Decimal(currentProductVariant?.price?.amount || 0)\n .minus(currentBundleVariant?.price || currentProductVariant?.price?.amount)\n .toNumber()\n let currentProductPrice = new Decimal(currentProductVariant?.price?.amount || 0)\n if (profile?.email) {\n currentProductPrice = currentProductPrice.minus(savingDetail?.member || 0)\n }\n const finalPrice = currentProductPrice.minus(savingDetail?.coupon).minus(currentBundlePrice).toNumber()\n return Math.floor(finalPrice * 100) / 100\n }, [currentProductVariant, checkedBundle, profile, savingDetail?.member, savingDetail?.coupon])\n\n const { bundleVariant, giftVariant, exchangeVariant } = useRecommendBuyProducts() || {}\n\n const [initialRecommendBuyProducts, setInitialRecommendBuyProducts] = useState<{\n bundle?: BundleListItem\n gift?: ProductVariant\n exchange?: ProductVariant\n }>()\n\n useEffect(() => {\n setInitialRecommendBuyProducts({\n bundle: joinedRecommendBuyProducts.bundle?.value ? undefined : bundleVariant,\n gift: joinedRecommendBuyProducts.gift?.value ? undefined : giftVariant,\n exchange: joinedRecommendBuyProducts.exchange?.value ? undefined : exchangeVariant,\n })\n }, [bundleVariant, giftVariant, exchangeVariant, joinedRecommendBuyProducts])\n\n // \u6839\u636E\u6DFB\u52A0\u987A\u5E8F\u751F\u6210\u5DF2\u6DFB\u52A0\u4EA7\u54C1\u7684\u5217\u8868\n const orderedJoinedProducts = useMemo(() => {\n const result: Array<{ type: 'bundle' | 'gift' | 'exchange'; key: string }> = []\n\n // \u6309\u7167\u6DFB\u52A0\u987A\u5E8F\u6DFB\u52A0\n if (addOrder) {\n addOrder.forEach((type, index) => {\n if (joinedRecommendBuyProducts[type]?.value) {\n result.push({ type, key: `${type}-${index}` })\n }\n })\n }\n\n return result\n }, [addOrder, joinedRecommendBuyProducts])\n\n const productOptionsText = useMemo(() => {\n const quantity = selectedOptions?.quantity || ''\n const color = selectedOptions?.color || selectedOptions?.colour || selectedOptions?.couleur || ''\n return `${quantity && color ? `${quantity} | ${color}` : quantity || color}`\n }, [selectedOptions?.quantity, selectedOptions?.color, selectedOptions?.colour, selectedOptions?.couleur])\n\n const variantImage = useMemo(() => {\n const variantProductSummary =\n variant?.payload?.components?.find((item: any) => item.componentKey === 'ProductSummary')?.data || {}\n const { image_1920, image_1440, image_1024, image_768, image_390 } = variantProductSummary?.thumbnail || {}\n const variantProductGalleryItemImage = variantProductSummary?.thumbnail\n ? `${image_1920} 1920, ${image_1440} 1440, ${image_1024} 1024, ${image_768} 768, ${image_390} 390`\n : variant.image?.url\n return variantProductGalleryItemImage || variant.image?.url\n }, [variant.image?.url, variant?.payload?.components])\n\n const isAvailable = variant.availableForSale\n if (!isAvailable) return null\n\n return (\n <div className=\"ipc-product-summary laptop:px-16 desktop:px-0 desktop:mt-[96px] lg-desktop:mt-[128px] mt-16\">\n <div className=\"laptop:rounded-2xl bg-[#F5F5F7]\">\n <Grid className=\"tablet:p-8 tablet:!pb-0 px-4 pt-6\">\n <GridItem className=\"laptop:col-start-1 laptop:col-span-5 col-span-12 flex flex-col justify-between gap-4\">\n <Heading\n className=\"lg-desktop:text-[48px] laptop:text-[32px] desktop:text-[40px] mb-4 text-[24px] font-bold leading-none [&>span]:text-[#D1D1D1]\"\n html={productSummaryData?.readyWant?.replace?.('{title}', product?.title)}\n />\n <div className=\"\">\n <Picture\n source={variantImage}\n className=\"lg-desktop:aspect-[644/320] desktop:aspect-[503/270] laptop:aspect-[332/190] tablet:aspect-[704/380] aspect-[358/190]\"\n imgClassName=\"object-cover h-full\"\n />\n </div>\n </GridItem>\n <GridItem className=\"tablet:pb-8 laptop:col-start-7 laptop:mt-0 laptop:col-span-6 col-span-12 mt-8 flex flex-col justify-between gap-6 pb-6\">\n <div>\n <div className=\"flex flex-col gap-4\">\n <ExposureDetector\n exposureKey=\"listing_selector\"\n onExposure={() => {\n gaTrack({\n event: 'ga4Event',\n event_name: 'component_impression',\n event_parameters: {\n page_group: `Product Detail Page${variant.sku}`,\n component_type: 'image',\n component_name: 'listing_selector',\n position: 1,\n },\n })\n }}\n >\n <div className=\"flex items-center justify-between gap-6\">\n <div className=\"flex items-center gap-4\">\n <Picture\n source={variant.image?.url || product?.images?.[0]?.url}\n className=\"laptop:size-12 lg-desktop:size-16 border-1 size-10 shrink-0 rounded-lg border-[#E4E5E6] bg-[#EAEAEC] object-cover p-2\"\n />\n <div className=\"tablet:max-w-none flex max-w-[178px] flex-col gap-[6px]\">\n <Text\n className=\"desktop:text-[16px] lg-desktop:text-[18px] line-clamp-2 text-[14px] font-bold\"\n html={product.title}\n />\n <Text\n className=\"laptop:text-[14px] desktop:text-[18px] text-[12px] font-bold text-[#6D6D6F]\"\n html={productOptionsText}\n />\n </div>\n </div>\n <div className=\"flex items-center gap-1\">\n <Text\n className=\"desktop:text-2xl text-base font-bold\"\n html={formatPrice({\n amount: summaryFinalPrice,\n currencyCode: variant.price.currencyCode,\n locale,\n })}\n />\n {summaryFinalPrice < variant?.price?.amount && (\n <Text\n className=\"desktop:text-2xl laptop:text-xl text-base font-bold text-[#6D6D6F] line-through\"\n html={formatPrice({\n amount: variant?.price?.amount,\n currencyCode: variant.price.currencyCode,\n locale,\n })}\n />\n )}\n </div>\n </div>\n </ExposureDetector>\n {/* \u6309\u7167\u6DFB\u52A0\u987A\u5E8F\u6E32\u67D3\u5DF2\u6DFB\u52A0\u7684\u4EA7\u54C1 */}\n {orderedJoinedProducts.map(({ type, key }) => {\n if (type === 'gift' && joinedRecommendBuyProducts?.gift?.value) {\n return (\n <ProductGiftSummary\n key={key}\n giftOperation={gift => {\n setJoinedRecommendBuyProducts?.({\n ...joinedRecommendBuyProducts,\n gift: {\n value: undefined,\n canOperate: true,\n },\n })\n setInitialRecommendBuyProducts?.({ ...initialRecommendBuyProducts, gift })\n // \u4ECE\u6DFB\u52A0\u987A\u5E8F\u4E2D\u79FB\u9664\n setAddOrder?.(prev => prev.filter(t => t !== 'gift'))\n }}\n status={!!joinedRecommendBuyProducts?.gift}\n gift={joinedRecommendBuyProducts?.gift?.value}\n canOperate={joinedRecommendBuyProducts?.gift?.canOperate}\n />\n )\n }\n if (type === 'bundle' && joinedRecommendBuyProducts?.bundle?.value) {\n return (\n <ProductBundleSummary\n key={key}\n bundleOperation={bundle => {\n setJoinedRecommendBuyProducts?.({\n ...joinedRecommendBuyProducts,\n bundle: {\n value: undefined,\n canOperate: true,\n },\n })\n setInitialRecommendBuyProducts?.({ ...initialRecommendBuyProducts, bundle })\n // \u4ECE\u6DFB\u52A0\u987A\u5E8F\u4E2D\u79FB\u9664\n setAddOrder?.(prev => prev.filter(t => t !== 'bundle'))\n }}\n status={!!joinedRecommendBuyProducts?.bundle}\n bundleListItem={joinedRecommendBuyProducts?.bundle?.value}\n canOperate={joinedRecommendBuyProducts?.bundle?.canOperate}\n />\n )\n }\n if (type === 'exchange' && joinedRecommendBuyProducts?.exchange?.value) {\n return (\n <ProductExchangeSummary\n key={key}\n exchangeOperation={exchange => {\n setJoinedRecommendBuyProducts?.({\n ...joinedRecommendBuyProducts,\n exchange: {\n value: undefined,\n canOperate: true,\n },\n })\n setInitialRecommendBuyProducts?.({ ...initialRecommendBuyProducts, exchange })\n // \u4ECE\u6DFB\u52A0\u987A\u5E8F\u4E2D\u79FB\u9664\n setAddOrder?.(prev => prev.filter(t => t !== 'exchange'))\n }}\n status={!!joinedRecommendBuyProducts?.exchange}\n canOperate={joinedRecommendBuyProducts?.exchange?.canOperate}\n exchange={joinedRecommendBuyProducts?.exchange?.value}\n />\n )\n }\n return null\n })}\n </div>\n {(initialRecommendBuyProducts?.bundle ||\n initialRecommendBuyProducts?.gift ||\n initialRecommendBuyProducts?.exchange) && (\n <div className=\"desktop:mt-8 mt-6\">\n <Text className=\"desktop:text-[18px] text-sm font-bold\" html={productSummaryData?.recommendBuy} />\n <div className=\"desktop:gap-4 mt-4 flex flex-col gap-6\">\n {initialRecommendBuyProducts?.exchange && (\n <ProductExchangeSummary\n exchangeOperation={exchange => {\n setJoinedRecommendBuyProducts?.({\n ...joinedRecommendBuyProducts,\n exchange: {\n value: exchange,\n canOperate: true,\n },\n })\n setInitialRecommendBuyProducts?.({ ...initialRecommendBuyProducts, exchange: undefined })\n // \u6DFB\u52A0\u5230\u987A\u5E8F\u6570\u7EC4\u7684\u672B\u5C3E\n setAddOrder?.(prev => [...prev, 'exchange'])\n }}\n canOperate={joinedRecommendBuyProducts?.exchange?.canOperate}\n status={!initialRecommendBuyProducts?.exchange}\n exchange={initialRecommendBuyProducts?.exchange}\n />\n )}\n {initialRecommendBuyProducts?.bundle && (\n <ProductBundleSummary\n bundleOperation={bundle => {\n setSavingDetail?.({ ...savingDetail, exchangePurchase: 0 })\n setJoinedRecommendBuyProducts?.({\n ...joinedRecommendBuyProducts,\n bundle: {\n value: bundle,\n canOperate: true,\n },\n })\n setInitialRecommendBuyProducts?.({ ...initialRecommendBuyProducts, bundle: undefined })\n // \u6DFB\u52A0\u5230\u987A\u5E8F\u6570\u7EC4\u7684\u672B\u5C3E\n setAddOrder?.(prev => [...prev, 'bundle'])\n }}\n canOperate={joinedRecommendBuyProducts?.bundle?.canOperate}\n status={!initialRecommendBuyProducts?.bundle}\n bundleListItem={initialRecommendBuyProducts?.bundle}\n />\n )}\n {initialRecommendBuyProducts?.gift && (\n <ProductGiftSummary\n giftOperation={gift => {\n setJoinedRecommendBuyProducts?.({\n ...joinedRecommendBuyProducts,\n gift: {\n value: gift,\n canOperate: true,\n },\n })\n setInitialRecommendBuyProducts?.({ ...initialRecommendBuyProducts, gift: undefined })\n // \u6DFB\u52A0\u5230\u987A\u5E8F\u6570\u7EC4\u7684\u672B\u5C3E\n setAddOrder?.(prev => [...prev, 'gift'])\n }}\n canOperate={joinedRecommendBuyProducts?.gift?.canOperate}\n status={!initialRecommendBuyProducts?.gift}\n gift={initialRecommendBuyProducts?.gift}\n />\n )}\n </div>\n </div>\n )}\n </div>\n <div className=\"text-right\">\n <Text\n className=\"laptop:text-xl desktop:text-2xl text-right font-bold\"\n html={`${replaceTemplate(copyWriting?.totalPrice || '', { amount: formatPrice({ amount: Math.floor(finalPrice * 100) / 100, currencyCode: variant.price.currencyCode, locale }) })}`}\n />\n\n {totalSavings > 0 && (\n <Text\n className=\"laptop:text-xl desktop:text-2xl ml-1 text-base font-bold text-[#6D6D6F] line-through\"\n html={formatPrice({\n amount: comparePrice,\n currencyCode: variant.price.currencyCode,\n locale,\n })}\n />\n )}\n <div className=\"mt-4 flex justify-end gap-3\">\n <Button\n size=\"lg\"\n variant=\"secondary\"\n loading={addToCartLoading}\n className=\"tablet:w-auto laptop:w-1/2 desktop:w-auto w-1/2\"\n onClick={() => onAddToCart?.()}\n >\n {copyWriting?.addToCart}\n </Button>\n <Button\n size=\"lg\"\n loading={buyNowLoading}\n variant=\"primary\"\n className=\"tablet:w-auto laptop:w-1/2 desktop:w-auto w-1/2\"\n onClick={() => onBuyNow?.()}\n >\n {copyWriting?.shopNow}\n </Button>\n </div>\n </div>\n </GridItem>\n </Grid>\n </div>\n </div>\n )\n}\n\nconst useRecommendBuyProducts = () => {\n const { bundle, variant, checkedBundle, freeGift, checkedGift, exchangePurchase, checkedExchangePurchase } =\n useBizProductContext()\n let bundleVariant = undefined\n let giftVariant = undefined\n let exchangeVariant = undefined\n const { bundleList } = bundle || {}\n\n const { giftList = [] } = freeGift || {}\n const { giftList: exchangeList = [] } = exchangePurchase || {}\n\n const availableBundleList =\n bundleList?.filter(bundle =>\n bundle.variants.slice(1, bundle.variants.length).every(v => v.variant.availableForSale)\n ) || []\n\n const [firstAvailableBundle] = availableBundleList\n bundleVariant = checkedBundle || firstAvailableBundle\n\n const [firstAvailableGift] = giftList?.filter(gift => gift.availableForSale) ?? []\n giftVariant = checkedGift || firstAvailableGift\n\n const [firstAvailableExchange] = exchangeList?.filter(exchange => exchange.availableForSale) ?? []\n exchangeVariant = checkedExchangePurchase || firstAvailableExchange\n\n return { bundleVariant, giftVariant, exchangeVariant }\n}\n\nconst ProductBundleSummary = ({\n bundleOperation,\n bundleListItem,\n canOperate,\n status,\n}: {\n bundleOperation: (bundle?: BundleListItem) => void\n bundleListItem?: BundleListItem\n canOperate?: boolean\n status?: boolean\n}) => {\n const { locale = 'us', copyWriting } = useAiuiContext()\n const { variant, setCheckedBundle } = useBizProductContext()\n const bundleVariants = bundleListItem?.variants.filter(v => v.variant.sku !== variant.sku)\n\n return (\n <div className=\"\">\n {bundleVariants?.map(bundleVariant => {\n return (\n <div className=\"flex items-center justify-between gap-4\" key={bundleVariant.variant.id}>\n <div className=\"flex items-center gap-4\">\n <Picture\n source={bundleVariant?.variant?.image?.url}\n className=\"laptop:size-12 lg-desktop:size-16 border-1 size-10 shrink-0 rounded-lg border-[#E4E5E6] bg-[#EAEAEC] object-cover p-2\"\n />\n <div className=\"tablet:max-w-none line-clamp-2 flex max-w-[178px] flex-col gap-[6px]\">\n <Text\n className=\"desktop:text-[16px] lg-desktop:text-[18px] text-[14px] font-bold\"\n html={bundleVariant.variant.product.title}\n />\n </div>\n </div>\n <div className=\"flex flex-col items-end justify-center gap-1\">\n {!!bundleListItem && (\n <div className=\"flex items-center gap-1\">\n <Text\n className=\"desktop:text-2xl text-base font-bold\"\n html={formatPrice({\n amount: bundleVariant?.price || 0,\n locale,\n currencyCode: bundleVariant.variant?.price?.currencyCode || '',\n })}\n />\n {bundleVariant.price < bundleVariant.variant.price.amount && (\n <Text\n className=\"desktop:text-2xl text-base font-bold text-[#6D6D6F] line-through\"\n html={formatPrice({\n amount: bundleVariant.variant.price.amount || 0,\n locale,\n currencyCode: bundleVariant.variant?.price?.currencyCode || '',\n })}\n />\n )}\n </div>\n )}\n {canOperate && (\n <Button\n size=\"icon\"\n variant=\"link\"\n onClick={() => {\n setCheckedBundle?.(status ? undefined : bundleListItem)\n bundleOperation?.(bundleListItem)\n }}\n className=\"size-auto shrink-0 underline\"\n >\n {status ? copyWriting?.remove : copyWriting?.add}\n </Button>\n )}\n </div>\n </div>\n )\n })}\n </div>\n )\n}\n\nconst ProductGiftSummary = ({\n giftOperation,\n gift,\n status,\n canOperate,\n}: {\n giftOperation: (gift?: ProductVariant) => void\n gift?: ProductVariant\n status?: boolean\n canOperate?: boolean\n}) => {\n const { locale = 'us', copyWriting } = useAiuiContext()\n const { freeGift, setCheckedGift } = useBizProductContext()\n const { freeLabel } = freeGift || {}\n const { options } = gift || {}\n\n const giftOptionsText = useMemo(() => {\n const giftColorOption = (options?.find(\n option => option.name === 'color' || option.name === 'colour' || option.name === 'couleur'\n ) || {}) as ProductOption\n const giftQuantityOption = options?.find(option => option.name === 'quantity') || ({} as ProductOption)\n const giftColorOptionText = giftColorOption ? giftColorOption.values?.[0]?.label : ''\n const giftQuantityOptionText = giftQuantityOption ? giftQuantityOption.values?.[0]?.label : ''\n return `${giftColorOptionText && giftQuantityOptionText ? giftQuantityOptionText + ' | ' + giftColorOptionText : giftQuantityOptionText || giftColorOptionText} | ${freeLabel}`\n }, [freeLabel, options])\n\n return (\n <div className=\"flex items-center justify-between gap-6\">\n <div className=\"flex items-center gap-4\">\n <Picture\n source={gift?.image?.url}\n className=\"laptop:size-12 lg-desktop:size-16 border-1 size-10 shrink-0 rounded-lg border-[#E4E5E6] bg-[#EAEAEC] object-cover p-2\"\n />\n <div className=\"tablet:max-w-none flex max-w-[178px] flex-col gap-[6px]\">\n <Text\n className=\"desktop:text-[16px] lg-desktop:text-[18px] line-clamp-2 text-[14px] font-bold\"\n html={gift?.product?.title}\n />\n <Text\n className=\"laptop:text-[14px] desktop:text-[18px] text-[12px] font-bold text-[#6D6D6F]\"\n html={giftOptionsText}\n />\n </div>\n </div>\n <div className=\"flex flex-col items-end justify-center gap-2\">\n {!!gift && (\n <div className=\"flex items-center gap-1\">\n <Text className=\"desktop:text-2xl text-base font-bold\" html={freeLabel} />\n <Text\n className=\"desktop:text-2xl text-base font-bold text-[#6D6D6F] line-through\"\n html={formatPrice({\n amount: gift.price.amount,\n locale,\n currencyCode: gift.price.currencyCode,\n })}\n />\n </div>\n )}\n {canOperate && (\n <Button\n size=\"icon\"\n variant=\"link\"\n onClick={() => {\n setCheckedGift?.(status ? undefined : gift)\n giftOperation(gift)\n }}\n className=\"size-auto shrink-0 underline\"\n >\n {status ? copyWriting?.remove : copyWriting?.add}\n </Button>\n )}\n </div>\n </div>\n )\n}\n\nconst ProductExchangeSummary = ({\n exchangeOperation,\n exchange,\n canOperate,\n status,\n}: {\n exchangeOperation: (exchange?: ProductVariant) => void\n exchange?: ProductVariant & { finalPrice?: ProductPrice }\n canOperate?: boolean\n status?: boolean\n}) => {\n const { locale = 'us', copyWriting } = useAiuiContext()\n const { setCheckedExchangePurchase } = useBizProductContext()\n\n return (\n <div className=\"flex items-center justify-between gap-6\">\n <div className=\"flex items-center gap-4\">\n <Picture\n source={exchange?.image?.url}\n className=\"laptop:size-12 lg-desktop:size-16 border-1 size-10 shrink-0 rounded-lg border-[#E4E5E6] bg-[#EAEAEC] object-cover p-2\"\n />\n <div className=\"tablet:max-w-none flex max-w-[178px] flex-col gap-[6px]\">\n <Text\n className=\"desktop:text-[16px] lg-desktop:text-[18px] line-clamp-2 text-[14px] font-bold\"\n html={exchange?.product?.title}\n />\n <Text className=\"laptop:text-[14px] desktop:text-[18px] text-[12px] font-bold text-[#6D6D6F]\" />\n </div>\n </div>\n <div className=\"flex flex-col items-end justify-center gap-2\">\n {!!exchange && (\n <div className=\"flex items-center gap-1\">\n <Text\n className=\"desktop:text-2xl text-base font-bold\"\n html={formatPrice({\n amount: exchange.finalPrice?.amount || 0,\n locale,\n currencyCode: exchange.price.currencyCode,\n })}\n />\n <Text\n className=\"desktop:text-2xl text-base font-bold text-[#6D6D6F] line-through\"\n html={formatPrice({\n amount: exchange.price?.amount || 0,\n locale,\n currencyCode: exchange.price.currencyCode,\n })}\n />\n </div>\n )}\n {canOperate && (\n <Button\n size=\"icon\"\n variant=\"link\"\n onClick={() => {\n setCheckedExchangePurchase?.(status ? undefined : exchange)\n exchangeOperation(exchange)\n }}\n className=\"size-auto shrink-0 underline\"\n >\n {status ? copyWriting?.remove : copyWriting?.add}\n </Button>\n )}\n </div>\n </div>\n )\n}\n\nexport default withLayout(ProductSummary)\n"],
5
+ "mappings": "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",
6
6
  "names": ["ProductSummary_exports", "__export", "ProductSummary_default", "__toCommonJS", "import_jsx_runtime", "import_components", "import_BizProductProvider", "import_react", "import_utils", "import_AiuiProvider", "import_decimal", "import_textFormat", "import_Styles", "import_track", "ProductSummary", "locale", "copyWriting", "product", "variant", "finalPrice", "comparePrice", "coupon", "selectedOptions", "selectedVariants", "totalSavings", "onAddToCart", "onBuyNow", "savingDetail", "checkedBundle", "joinedRecommendBuyProducts", "setJoinedRecommendBuyProducts", "setSavingDetail", "addToCartLoading", "buyNowLoading", "profile", "addOrder", "setAddOrder", "productSummaryData", "item", "currentProductVariant", "summaryFinalPrice", "currentBundleVariant", "v", "currentBundlePrice", "Decimal", "currentProductPrice", "bundleVariant", "giftVariant", "exchangeVariant", "useRecommendBuyProducts", "initialRecommendBuyProducts", "setInitialRecommendBuyProducts", "orderedJoinedProducts", "result", "type", "index", "productOptionsText", "quantity", "color", "variantImage", "variantProductSummary", "image_1920", "image_1440", "image_1024", "image_768", "image_390", "key", "ProductGiftSummary", "gift", "prev", "t", "ProductBundleSummary", "bundle", "ProductExchangeSummary", "exchange", "freeGift", "checkedGift", "exchangePurchase", "checkedExchangePurchase", "bundleList", "giftList", "exchangeList", "availableBundleList", "firstAvailableBundle", "firstAvailableGift", "firstAvailableExchange", "bundleOperation", "bundleListItem", "canOperate", "status", "setCheckedBundle", "bundleVariants", "giftOperation", "setCheckedGift", "freeLabel", "options", "giftOptionsText", "giftColorOption", "option", "giftQuantityOption", "giftColorOptionText", "giftQuantityOptionText", "exchangeOperation", "setCheckedExchangePurchase"]
7
7
  }
@@ -0,0 +1,2 @@
1
+ export interface ProductSummaryProps {
2
+ }
@@ -1,2 +1,2 @@
1
- "use strict";var x=Object.create;var m=Object.defineProperty;var f=Object.getOwnPropertyDescriptor;var G=Object.getOwnPropertyNames;var n=Object.getPrototypeOf,N=Object.prototype.hasOwnProperty;var P=(p,t)=>{for(var a in t)m(p,a,{get:t[a],enumerable:!0})},s=(p,t,a,c)=>{if(t&&typeof t=="object"||typeof t=="function")for(let l of G(t))!N.call(p,l)&&l!==a&&m(p,l,{get:()=>t[l],enumerable:!(c=f(t,l))||c.enumerable});return p};var r=(p,t,a)=>(a=p!=null?x(n(p)):{},s(t||!p||!p.__esModule?m(a,"default",{value:p,enumerable:!0}):a,p)),y=p=>s(m({},"__esModule",{value:!0}),p);var k={};P(k,{default:()=>g});module.exports=y(k);var o=require("react/jsx-runtime"),d=require("../../../../components/index.js"),i=r(require("./ProductGallery/index.js")),e=r(require("./ProductDetail/index.js")),u=r(require("./ProductSummary/index.js"));const I=()=>(0,o.jsxs)("div",{id:"ipc-product-card",className:"laptop-md:mt-6 laptop-md:px-16 lg-desktop:px-[calc(50%-832px)]",children:[(0,o.jsxs)(d.Grid,{className:"laptop:gap-6",children:[(0,o.jsx)(d.GridItem,{className:"tablet:px-8 laptop:px-16 laptop-md:px-0 laptop-md:col-start-1 laptop-md:col-span-8 laptop-md:sticky laptop-md:top-[124px] col-span-12 h-fit",children:(0,o.jsx)(i.default,{})}),(0,o.jsx)(d.GridItem,{className:"laptop-md:col-start-9 laptop-md:col-span-4 col-span-12",children:(0,o.jsx)(e.default,{})})]}),(0,o.jsx)(u.default,{})]});var g=I;
1
+ "use strict";var u=Object.create;var a=Object.defineProperty;var x=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var G=Object.getPrototypeOf,n=Object.prototype.hasOwnProperty;var N=(t,o)=>{for(var d in o)a(t,d,{get:o[d],enumerable:!0})},l=(t,o,d,c)=>{if(o&&typeof o=="object"||typeof o=="function")for(let r of f(o))!n.call(t,r)&&r!==d&&a(t,r,{get:()=>o[r],enumerable:!(c=x(o,r))||c.enumerable});return t};var e=(t,o,d)=>(d=t!=null?u(G(t)):{},l(o||!t||!t.__esModule?a(d,"default",{value:t,enumerable:!0}):d,t)),P=t=>l(a({},"__esModule",{value:!0}),t);var g={};N(g,{default:()=>I});module.exports=P(g);var p=require("react/jsx-runtime"),s=require("../../../../components/index.js"),m=e(require("./ProductGallery/index.js")),i=e(require("./ProductDetail/index.js")),k=e(require("./ProductSummary/index.js"));const y=()=>(0,p.jsxs)("div",{id:"ipc-product-card",className:"desktop:mt-6 desktop:px-16 lg-desktop:px-[calc(50%-832px)]",children:[(0,p.jsxs)(s.Grid,{className:"laptop:gap-6",children:[(0,p.jsx)(s.GridItem,{className:"tablet:px-8 laptop:px-16 desktop:px-0 desktop:col-start-1 desktop:col-span-8 desktop:sticky desktop:top-[124px] col-span-12 h-fit",children:(0,p.jsx)(m.default,{})}),(0,p.jsx)(s.GridItem,{className:"desktop:col-start-9 desktop:col-span-4 col-span-12",children:(0,p.jsx)(i.default,{})})]}),(0,p.jsx)(k.default,{})]});var I=y;
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/biz-components/Listing/components/ProductCard/index.tsx"],
4
- "sourcesContent": ["import { Grid, GridItem } from '../../../../components/index.js'\nimport ProductGallery from './ProductGallery/index.js'\nimport ProductDetail from './ProductDetail/index.js'\nimport ProductSummary from './ProductSummary/index.js'\n\nconst ProductCard = () => {\n return (\n <div id=\"ipc-product-card\" className=\"laptop-md:mt-6 laptop-md:px-16 lg-desktop:px-[calc(50%-832px)]\">\n <Grid className=\"laptop:gap-6\">\n <GridItem className=\"tablet:px-8 laptop:px-16 laptop-md:px-0 laptop-md:col-start-1 laptop-md:col-span-8 laptop-md:sticky laptop-md:top-[124px] col-span-12 h-fit\">\n <ProductGallery />\n </GridItem>\n <GridItem className=\"laptop-md:col-start-9 laptop-md:col-span-4 col-span-12\">\n <ProductDetail />\n </GridItem>\n </Grid>\n <ProductSummary />\n </div>\n )\n}\n\nexport default ProductCard\n"],
5
- "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GAQM,IAAAI,EAAA,6BARNC,EAA+B,2CAC/BC,EAA2B,wCAC3BC,EAA0B,uCAC1BC,EAA2B,wCAE3B,MAAMC,EAAc,OAEhB,QAAC,OAAI,GAAG,mBAAmB,UAAU,iEACnC,qBAAC,QAAK,UAAU,eACd,oBAAC,YAAS,UAAU,8IAClB,mBAAC,EAAAC,QAAA,EAAe,EAClB,KACA,OAAC,YAAS,UAAU,yDAClB,mBAAC,EAAAC,QAAA,EAAc,EACjB,GACF,KACA,OAAC,EAAAC,QAAA,EAAe,GAClB,EAIJ,IAAOV,EAAQO",
4
+ "sourcesContent": ["import { Grid, GridItem } from '../../../../components/index.js'\nimport ProductGallery from './ProductGallery/index.js'\nimport ProductDetail from './ProductDetail/index.js'\nimport ProductSummary from './ProductSummary/index.js'\n\nconst ProductCard = () => {\n return (\n <div id=\"ipc-product-card\" className=\"desktop:mt-6 desktop:px-16 lg-desktop:px-[calc(50%-832px)]\">\n <Grid className=\"laptop:gap-6\">\n <GridItem className=\"tablet:px-8 laptop:px-16 desktop:px-0 desktop:col-start-1 desktop:col-span-8 desktop:sticky desktop:top-[124px] col-span-12 h-fit\">\n <ProductGallery />\n </GridItem>\n <GridItem className=\"desktop:col-start-9 desktop:col-span-4 col-span-12\">\n <ProductDetail />\n </GridItem>\n </Grid>\n <ProductSummary />\n </div>\n )\n}\n\nexport default ProductCard\n"],
5
+ "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GAQM,IAAAI,EAAA,6BARNC,EAA+B,2CAC/BC,EAA2B,wCAC3BC,EAA0B,uCAC1BC,EAA2B,wCAE3B,MAAMC,EAAc,OAEhB,QAAC,OAAI,GAAG,mBAAmB,UAAU,6DACnC,qBAAC,QAAK,UAAU,eACd,oBAAC,YAAS,UAAU,oIAClB,mBAAC,EAAAC,QAAA,EAAe,EAClB,KACA,OAAC,YAAS,UAAU,qDAClB,mBAAC,EAAAC,QAAA,EAAc,EACjB,GACF,KACA,OAAC,EAAAC,QAAA,EAAe,GAClB,EAIJ,IAAOV,EAAQO",
6
6
  "names": ["ProductCard_exports", "__export", "ProductCard_default", "__toCommonJS", "import_jsx_runtime", "import_components", "import_ProductGallery", "import_ProductDetail", "import_ProductSummary", "ProductCard", "ProductGallery", "ProductDetail", "ProductSummary"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var s=Object.defineProperty;var N=Object.getOwnPropertyDescriptor;var w=Object.getOwnPropertyNames;var h=Object.prototype.hasOwnProperty;var S=(t,e)=>{for(var o in e)s(t,o,{get:e[o],enumerable:!0})},P=(t,e,o,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of w(e))!h.call(t,r)&&r!==o&&s(t,r,{get:()=>e[r],enumerable:!(i=N(e,r))||i.enumerable});return t};var B=t=>P(s({},"__esModule",{value:!0}),t);var A={};S(A,{default:()=>k});module.exports=B(A);var a=require("react/jsx-runtime"),l=require("../../../../../components/index.js"),c=require("../../../../AiuiProvider/index.js"),p=require("../../../BizProductProvider.js"),x=require("react"),n=require("../../../utils/index.js"),b=require("../../../utils/textFormat.js");const T=()=>{const{copyWriting:t,locale:e="us"}=(0,c.useAiuiContext)(),{variant:o,finalPrice:i,totalSavings:r,isLogin:d,comparePrice:u,onAddToCart:g,onBuyNow:f,savingDetail:m,addToCartLoading:y,buyNowLoading:C}=(0,p.useBizProductContext)(),v=(0,x.useMemo)(()=>(0,b.replaceTemplate)(t?.totalSavings||"",{amount:(0,n.formatPrice)({amount:r,currencyCode:o.price.currencyCode,locale:e})}),[t?.totalSavings,r,o.price.currencyCode,e]);return(0,a.jsxs)(l.Container,{childClassName:"tablet:flex tablet:justify-end tablet:gap-8 laptop-md:px-0 tablet:items-center tablet:gap-4",className:"laptop-md:border-none laptop-md:py-0 border-t border-[#E4E5E6] bg-white py-3",children:[o.availableForSale?(0,a.jsxs)("div",{className:"laptop-md:items-end flex flex-col justify-between",children:[(0,a.jsxs)("div",{className:"flex items-center gap-1",children:[(0,a.jsx)(l.Text,{className:"tablet:text-2xl laptop-md:text-xl lg-desktop:text-2xl text-xl font-bold !leading-[1.2]",html:(0,n.formatPrice)({amount:Math.floor(i*100)/100,currencyCode:o.price.currencyCode,locale:e})}),(r>0||m?.member>0&&d)&&(0,a.jsx)(l.Text,{className:"tablet:text-2xl laptop-md:text-xl lg-desktop:text-2xl text-xl font-bold !leading-[1.2] text-[#999] line-through",html:(0,n.formatPrice)({amount:u,currencyCode:o.price.currencyCode,locale:e})}),m?.member>0&&d&&(0,a.jsx)(l.Text,{className:"bg-brand-0 rounded px-1 py-[2px] text-sm font-bold text-white",html:t?.memberPrice||"Member Price"})]}),(r>0||m?.member>0&&d)&&(0,a.jsx)(l.Text,{className:"text-brand-0 tablet:text-end laptop-md:text-xl lg-desktop:text-2xl whitespace-nowrap text-[18px] font-bold !leading-[1.2]",html:`${v}`})]}):(0,a.jsx)(l.Text,{className:"text-[20px] font-bold text-[#999999]",html:t?.soldOut??"Sold Out"}),(0,a.jsxs)("div",{className:"tablet:mt-0 mt-2 flex items-center gap-2",children:[(0,a.jsx)(l.Button,{variant:"secondary",disabled:!o.availableForSale,size:"lg",className:"tablet:w-auto w-1/2",onClick:()=>g?.(),loading:y,children:t?.addToCart??"Add to Cart"}),(0,a.jsx)(l.Button,{variant:"primary",disabled:!o.availableForSale,size:"lg",loading:C,className:"tablet:w-auto w-1/2",onClick:()=>f?.(),children:t?.buyNow??"Buy Now"})]})]})};var k=T;
1
+ "use strict";var c=Object.defineProperty;var N=Object.getOwnPropertyDescriptor;var k=Object.getOwnPropertyNames;var w=Object.prototype.hasOwnProperty;var h=(t,e)=>{for(var o in e)c(t,o,{get:e[o],enumerable:!0})},S=(t,e,o,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of k(e))!w.call(t,r)&&r!==o&&c(t,r,{get:()=>e[r],enumerable:!(i=N(e,r))||i.enumerable});return t};var P=t=>S(c({},"__esModule",{value:!0}),t);var A={};h(A,{default:()=>T});module.exports=P(A);var a=require("react/jsx-runtime"),l=require("../../../../../components/index.js"),m=require("../../../../AiuiProvider/index.js"),x=require("../../../BizProductProvider.js"),p=require("react"),n=require("../../../utils/index.js"),b=require("../../../utils/textFormat.js");const B=()=>{const{copyWriting:t,locale:e="us"}=(0,m.useAiuiContext)(),{variant:o,finalPrice:i,totalSavings:r,isLogin:d,comparePrice:u,onAddToCart:g,onBuyNow:f,savingDetail:s,addToCartLoading:y,buyNowLoading:C}=(0,x.useBizProductContext)(),v=(0,p.useMemo)(()=>(0,b.replaceTemplate)(t?.totalSavings||"",{amount:(0,n.formatPrice)({amount:r,currencyCode:o.price.currencyCode,locale:e})}),[t?.totalSavings,r,o.price.currencyCode,e]);return(0,a.jsxs)(l.Container,{childClassName:"tablet:flex tablet:justify-end tablet:gap-8 desktop:px-0 desktop:px-0 tablet:items-center tablet:gap-4",className:"desktop:border-none desktop:py-0 border-t border-[#E4E5E6] bg-white py-3",children:[o.availableForSale?(0,a.jsxs)("div",{className:"desktop:items-end flex flex-col justify-between",children:[(0,a.jsxs)("div",{className:"flex items-center gap-1",children:[(0,a.jsx)(l.Text,{className:"tablet:text-2xl desktop:text-xl lg-desktop:text-2xl text-xl font-bold !leading-[1.2]",html:(0,n.formatPrice)({amount:Math.floor(i*100)/100,currencyCode:o.price.currencyCode,locale:e})}),(r>0||s?.member>0&&d)&&(0,a.jsx)(l.Text,{className:"tablet:text-2xl desktop:text-xl lg-desktop:text-2xl text-xl font-bold !leading-[1.2] text-[#999] line-through",html:(0,n.formatPrice)({amount:u,currencyCode:o.price.currencyCode,locale:e})}),s?.member>0&&d&&(0,a.jsx)(l.Text,{className:"bg-brand-0 rounded px-1 py-[2px] text-sm font-bold text-white",html:t?.memberPrice||"Member Price"})]}),(r>0||s?.member>0&&d)&&(0,a.jsx)(l.Text,{className:"text-brand-0 tablet:text-end desktop:text-xl lg-desktop:text-2xl whitespace-nowrap text-[18px] font-bold !leading-[1.2]",html:`${v}`})]}):(0,a.jsx)(l.Text,{className:"text-[20px] font-bold text-[#999999]",html:t?.soldOut??"Sold Out"}),(0,a.jsxs)("div",{className:"tablet:mt-0 mt-2 flex items-center gap-2",children:[(0,a.jsx)(l.Button,{variant:"secondary",disabled:!o.availableForSale,size:"lg",className:"tablet:w-auto w-1/2",onClick:()=>g?.(),loading:y,children:t?.addToCart??"Add to Cart"}),(0,a.jsx)(l.Button,{variant:"primary",disabled:!o.availableForSale,size:"lg",loading:C,className:"tablet:w-auto w-1/2",onClick:()=>f?.(),children:t?.buyNow??"Buy Now"})]})]})};var T=B;
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../src/biz-components/Listing/components/PurchaseBar/ProductActions/index.tsx"],
4
- "sourcesContent": ["import { Text, Button, Container } from '../../../../../components/index.js'\nimport { useAiuiContext } from '../../../../AiuiProvider/index.js'\nimport { useBizProductContext } from '../../../BizProductProvider.js'\nimport { useMemo } from 'react'\nimport { formatPrice } from '../../../utils/index.js'\nimport { replaceTemplate } from '../../../utils/textFormat.js'\n\nconst ProductActions = () => {\n const { copyWriting, locale = 'us' } = useAiuiContext()\n const {\n variant,\n finalPrice,\n totalSavings,\n isLogin,\n comparePrice,\n onAddToCart,\n onBuyNow,\n savingDetail,\n addToCartLoading,\n buyNowLoading,\n } = useBizProductContext()\n\n const totalSavingsText = useMemo(() => {\n return replaceTemplate(copyWriting?.totalSavings || '', {\n amount: formatPrice({ amount: totalSavings, currencyCode: variant.price.currencyCode, locale }),\n })\n }, [copyWriting?.totalSavings, totalSavings, variant.price.currencyCode, locale])\n\n // const memberPriceSaveText = useMemo(() => {\n // return replaceTemplate(copyWriting?.memberSaving || '', {\n // amount: formatPrice({\n // amount: savingDetail?.member,\n // currencyCode: variant.price.currencyCode,\n // locale,\n // }),\n // })\n // }, [copyWriting?.memberSaving, savingDetail?.member, variant.price.currencyCode, locale])\n\n return (\n <Container\n childClassName=\"tablet:flex tablet:justify-end tablet:gap-8 laptop-md:px-0 tablet:items-center tablet:gap-4\"\n className=\"laptop-md:border-none laptop-md:py-0 border-t border-[#E4E5E6] bg-white py-3\"\n >\n {variant.availableForSale ? (\n <div className=\"laptop-md:items-end flex flex-col justify-between\">\n <div className=\"flex items-center gap-1\">\n <Text\n className=\"tablet:text-2xl laptop-md:text-xl lg-desktop:text-2xl text-xl font-bold !leading-[1.2]\"\n html={formatPrice({\n amount: Math.floor(finalPrice * 100) / 100,\n currencyCode: variant.price.currencyCode,\n locale,\n })}\n />\n {(totalSavings > 0 || (savingDetail?.member > 0 && isLogin)) && (\n <Text\n className=\"tablet:text-2xl laptop-md:text-xl lg-desktop:text-2xl text-xl font-bold !leading-[1.2] text-[#999] line-through\"\n html={formatPrice({\n amount: comparePrice,\n currencyCode: variant.price.currencyCode,\n locale,\n })}\n />\n )}\n {savingDetail?.member > 0 && isLogin && (\n <Text\n className=\"bg-brand-0 rounded px-1 py-[2px] text-sm font-bold text-white\"\n html={copyWriting?.memberPrice || 'Member Price'}\n />\n )}\n </div>\n {(totalSavings > 0 || (savingDetail?.member > 0 && isLogin)) && (\n <Text\n className=\"text-brand-0 tablet:text-end laptop-md:text-xl lg-desktop:text-2xl whitespace-nowrap text-[18px] font-bold !leading-[1.2]\"\n html={`${totalSavingsText}`}\n />\n )}\n </div>\n ) : (\n <Text className=\"text-[20px] font-bold text-[#999999]\" html={copyWriting?.soldOut ?? 'Sold Out'} />\n )}\n <div className=\"tablet:mt-0 mt-2 flex items-center gap-2\">\n <Button\n variant=\"secondary\"\n disabled={!variant.availableForSale}\n size=\"lg\"\n className=\"tablet:w-auto w-1/2\"\n onClick={() => onAddToCart?.()}\n loading={addToCartLoading}\n >\n {copyWriting?.addToCart ?? 'Add to Cart'}\n </Button>\n <Button\n variant=\"primary\"\n disabled={!variant.availableForSale}\n size=\"lg\"\n loading={buyNowLoading}\n className=\"tablet:w-auto w-1/2\"\n onClick={() => onBuyNow?.()}\n >\n {copyWriting?.buyNow ?? 'Buy Now'}\n </Button>\n </div>\n </Container>\n )\n}\n\nexport default ProductActions\n"],
5
- "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GA6CU,IAAAI,EAAA,6BA7CVC,EAAwC,8CACxCC,EAA+B,6CAC/BC,EAAqC,0CACrCC,EAAwB,iBACxBC,EAA4B,mCAC5BC,EAAgC,wCAEhC,MAAMC,EAAiB,IAAM,CAC3B,KAAM,CAAE,YAAAC,EAAa,OAAAC,EAAS,IAAK,KAAI,kBAAe,EAChD,CACJ,QAAAC,EACA,WAAAC,EACA,aAAAC,EACA,QAAAC,EACA,aAAAC,EACA,YAAAC,EACA,SAAAC,EACA,aAAAC,EACA,iBAAAC,EACA,cAAAC,CACF,KAAI,wBAAqB,EAEnBC,KAAmB,WAAQ,OACxB,mBAAgBZ,GAAa,cAAgB,GAAI,CACtD,UAAQ,eAAY,CAAE,OAAQI,EAAc,aAAcF,EAAQ,MAAM,aAAc,OAAAD,CAAO,CAAC,CAChG,CAAC,EACA,CAACD,GAAa,aAAcI,EAAcF,EAAQ,MAAM,aAAcD,CAAM,CAAC,EAYhF,SACE,QAAC,aACC,eAAe,8FACf,UAAU,+EAET,UAAAC,EAAQ,oBACP,QAAC,OAAI,UAAU,oDACb,qBAAC,OAAI,UAAU,0BACb,oBAAC,QACC,UAAU,yFACV,QAAM,eAAY,CAChB,OAAQ,KAAK,MAAMC,EAAa,GAAG,EAAI,IACvC,aAAcD,EAAQ,MAAM,aAC5B,OAAAD,CACF,CAAC,EACH,GACEG,EAAe,GAAMK,GAAc,OAAS,GAAKJ,OACjD,OAAC,QACC,UAAU,kHACV,QAAM,eAAY,CAChB,OAAQC,EACR,aAAcJ,EAAQ,MAAM,aAC5B,OAAAD,CACF,CAAC,EACH,EAEDQ,GAAc,OAAS,GAAKJ,MAC3B,OAAC,QACC,UAAU,gEACV,KAAML,GAAa,aAAe,eACpC,GAEJ,GACEI,EAAe,GAAMK,GAAc,OAAS,GAAKJ,OACjD,OAAC,QACC,UAAU,4HACV,KAAM,GAAGO,CAAgB,GAC3B,GAEJ,KAEA,OAAC,QAAK,UAAU,uCAAuC,KAAMZ,GAAa,SAAW,WAAY,KAEnG,QAAC,OAAI,UAAU,2CACb,oBAAC,UACC,QAAQ,YACR,SAAU,CAACE,EAAQ,iBACnB,KAAK,KACL,UAAU,sBACV,QAAS,IAAMK,IAAc,EAC7B,QAASG,EAER,SAAAV,GAAa,WAAa,cAC7B,KACA,OAAC,UACC,QAAQ,UACR,SAAU,CAACE,EAAQ,iBACnB,KAAK,KACL,QAASS,EACT,UAAU,sBACV,QAAS,IAAMH,IAAW,EAEzB,SAAAR,GAAa,QAAU,UAC1B,GACF,GACF,CAEJ,EAEA,IAAOV,EAAQS",
4
+ "sourcesContent": ["import { Text, Button, Container } from '../../../../../components/index.js'\nimport { useAiuiContext } from '../../../../AiuiProvider/index.js'\nimport { useBizProductContext } from '../../../BizProductProvider.js'\nimport { useMemo } from 'react'\nimport { formatPrice } from '../../../utils/index.js'\nimport { replaceTemplate } from '../../../utils/textFormat.js'\n\nconst ProductActions = () => {\n const { copyWriting, locale = 'us' } = useAiuiContext()\n const {\n variant,\n finalPrice,\n totalSavings,\n isLogin,\n comparePrice,\n onAddToCart,\n onBuyNow,\n savingDetail,\n addToCartLoading,\n buyNowLoading,\n } = useBizProductContext()\n\n const totalSavingsText = useMemo(() => {\n return replaceTemplate(copyWriting?.totalSavings || '', {\n amount: formatPrice({ amount: totalSavings, currencyCode: variant.price.currencyCode, locale }),\n })\n }, [copyWriting?.totalSavings, totalSavings, variant.price.currencyCode, locale])\n\n // const memberPriceSaveText = useMemo(() => {\n // return replaceTemplate(copyWriting?.memberSaving || '', {\n // amount: formatPrice({\n // amount: savingDetail?.member,\n // currencyCode: variant.price.currencyCode,\n // locale,\n // }),\n // })\n // }, [copyWriting?.memberSaving, savingDetail?.member, variant.price.currencyCode, locale])\n\n return (\n <Container\n childClassName=\"tablet:flex tablet:justify-end tablet:gap-8 desktop:px-0 desktop:px-0 tablet:items-center tablet:gap-4\"\n className=\"desktop:border-none desktop:py-0 border-t border-[#E4E5E6] bg-white py-3\"\n >\n {variant.availableForSale ? (\n <div className=\"desktop:items-end flex flex-col justify-between\">\n <div className=\"flex items-center gap-1\">\n <Text\n className=\"tablet:text-2xl desktop:text-xl lg-desktop:text-2xl text-xl font-bold !leading-[1.2]\"\n html={formatPrice({\n amount: Math.floor(finalPrice * 100) / 100,\n currencyCode: variant.price.currencyCode,\n locale,\n })}\n />\n {(totalSavings > 0 || (savingDetail?.member > 0 && isLogin)) && (\n <Text\n className=\"tablet:text-2xl desktop:text-xl lg-desktop:text-2xl text-xl font-bold !leading-[1.2] text-[#999] line-through\"\n html={formatPrice({\n amount: comparePrice,\n currencyCode: variant.price.currencyCode,\n locale,\n })}\n />\n )}\n {savingDetail?.member > 0 && isLogin && (\n <Text\n className=\"bg-brand-0 rounded px-1 py-[2px] text-sm font-bold text-white\"\n html={copyWriting?.memberPrice || 'Member Price'}\n />\n )}\n </div>\n {(totalSavings > 0 || (savingDetail?.member > 0 && isLogin)) && (\n <Text\n className=\"text-brand-0 tablet:text-end desktop:text-xl lg-desktop:text-2xl whitespace-nowrap text-[18px] font-bold !leading-[1.2]\"\n html={`${totalSavingsText}`}\n />\n )}\n </div>\n ) : (\n <Text className=\"text-[20px] font-bold text-[#999999]\" html={copyWriting?.soldOut ?? 'Sold Out'} />\n )}\n <div className=\"tablet:mt-0 mt-2 flex items-center gap-2\">\n <Button\n variant=\"secondary\"\n disabled={!variant.availableForSale}\n size=\"lg\"\n className=\"tablet:w-auto w-1/2\"\n onClick={() => onAddToCart?.()}\n loading={addToCartLoading}\n >\n {copyWriting?.addToCart ?? 'Add to Cart'}\n </Button>\n <Button\n variant=\"primary\"\n disabled={!variant.availableForSale}\n size=\"lg\"\n loading={buyNowLoading}\n className=\"tablet:w-auto w-1/2\"\n onClick={() => onBuyNow?.()}\n >\n {copyWriting?.buyNow ?? 'Buy Now'}\n </Button>\n </div>\n </Container>\n )\n}\n\nexport default ProductActions\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GA6CU,IAAAI,EAAA,6BA7CVC,EAAwC,8CACxCC,EAA+B,6CAC/BC,EAAqC,0CACrCC,EAAwB,iBACxBC,EAA4B,mCAC5BC,EAAgC,wCAEhC,MAAMC,EAAiB,IAAM,CAC3B,KAAM,CAAE,YAAAC,EAAa,OAAAC,EAAS,IAAK,KAAI,kBAAe,EAChD,CACJ,QAAAC,EACA,WAAAC,EACA,aAAAC,EACA,QAAAC,EACA,aAAAC,EACA,YAAAC,EACA,SAAAC,EACA,aAAAC,EACA,iBAAAC,EACA,cAAAC,CACF,KAAI,wBAAqB,EAEnBC,KAAmB,WAAQ,OACxB,mBAAgBZ,GAAa,cAAgB,GAAI,CACtD,UAAQ,eAAY,CAAE,OAAQI,EAAc,aAAcF,EAAQ,MAAM,aAAc,OAAAD,CAAO,CAAC,CAChG,CAAC,EACA,CAACD,GAAa,aAAcI,EAAcF,EAAQ,MAAM,aAAcD,CAAM,CAAC,EAYhF,SACE,QAAC,aACC,eAAe,yGACf,UAAU,2EAET,UAAAC,EAAQ,oBACP,QAAC,OAAI,UAAU,kDACb,qBAAC,OAAI,UAAU,0BACb,oBAAC,QACC,UAAU,uFACV,QAAM,eAAY,CAChB,OAAQ,KAAK,MAAMC,EAAa,GAAG,EAAI,IACvC,aAAcD,EAAQ,MAAM,aAC5B,OAAAD,CACF,CAAC,EACH,GACEG,EAAe,GAAMK,GAAc,OAAS,GAAKJ,OACjD,OAAC,QACC,UAAU,gHACV,QAAM,eAAY,CAChB,OAAQC,EACR,aAAcJ,EAAQ,MAAM,aAC5B,OAAAD,CACF,CAAC,EACH,EAEDQ,GAAc,OAAS,GAAKJ,MAC3B,OAAC,QACC,UAAU,gEACV,KAAML,GAAa,aAAe,eACpC,GAEJ,GACEI,EAAe,GAAMK,GAAc,OAAS,GAAKJ,OACjD,OAAC,QACC,UAAU,0HACV,KAAM,GAAGO,CAAgB,GAC3B,GAEJ,KAEA,OAAC,QAAK,UAAU,uCAAuC,KAAMZ,GAAa,SAAW,WAAY,KAEnG,QAAC,OAAI,UAAU,2CACb,oBAAC,UACC,QAAQ,YACR,SAAU,CAACE,EAAQ,iBACnB,KAAK,KACL,UAAU,sBACV,QAAS,IAAMK,IAAc,EAC7B,QAASG,EAER,SAAAV,GAAa,WAAa,cAC7B,KACA,OAAC,UACC,QAAQ,UACR,SAAU,CAACE,EAAQ,iBACnB,KAAK,KACL,QAASS,EACT,UAAU,sBACV,QAAS,IAAMH,IAAW,EAEzB,SAAAR,GAAa,QAAU,UAC1B,GACF,GACF,CAEJ,EAEA,IAAOV,EAAQS",
6
6
  "names": ["ProductActions_exports", "__export", "ProductActions_default", "__toCommonJS", "import_jsx_runtime", "import_components", "import_AiuiProvider", "import_BizProductProvider", "import_react", "import_utils", "import_textFormat", "ProductActions", "copyWriting", "locale", "variant", "finalPrice", "totalSavings", "isLogin", "comparePrice", "onAddToCart", "onBuyNow", "savingDetail", "addToCartLoading", "buyNowLoading", "totalSavingsText"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var N=Object.defineProperty;var R=Object.getOwnPropertyDescriptor;var x=Object.getOwnPropertyNames;var M=Object.prototype.hasOwnProperty;var B=(e,o)=>{for(var a in o)N(e,a,{get:o[a],enumerable:!0})},C=(e,o,a,l)=>{if(o&&typeof o=="object"||typeof o=="function")for(let r of x(o))!M.call(e,r)&&r!==a&&N(e,r,{get:()=>o[r],enumerable:!(l=R(o,r))||l.enumerable});return e};var k=e=>C(N({},"__esModule",{value:!0}),e);var P={};B(P,{default:()=>L});module.exports=k(P);var p=require("react/jsx-runtime"),E=require("../../../../../helpers/index.js"),n=require("react");const H=(e,o)=>{const[a,l]=(0,n.useState)(null),r=(0,n.useRef)(null),u=(0,n.useRef)(new Map),m=(0,n.useRef)(!1),g=(0,n.useRef)(null);(0,n.useEffect)(()=>{g.current=a},[a]),(0,n.useEffect)(()=>{if(!e||e.length===0)return;r.current&&r.current.disconnect();const f=document.getElementById("purchase-bar"),v=f?f.clientHeight:100;u.current.clear();const t=[];if(e.forEach(s=>{const d=s.id||s.href?.replace("#",""),h=document.getElementById(d);h&&(u.current.set(d,s),t.push(h))}),t.length===0){l(e[0]);return}const c={root:null,rootMargin:`-${v}px 0px -50% 0px`,threshold:[0,.25,.5,.75,1]},w=s=>{if(m.current)return;if((window.scrollY||document.documentElement.scrollTop)<v+50){const i=e[0];i&&g.current?.id!==i.id&&(console.log("\u9875\u9762\u9876\u90E8\uFF0C\u6FC0\u6D3B\u7B2C\u4E00\u4E2A tab:",i.label),l(i),o?.(i));return}const h=s.filter(i=>i.isIntersecting).sort((i,S)=>i.boundingClientRect.top-S.boundingClientRect.top);if(h.length>0){const S=h[0].target.id,b=u.current.get(S);b&&(l(b),o?.(b))}else{const i=[...s].sort((S,b)=>Math.abs(S.boundingClientRect.top)-Math.abs(b.boundingClientRect.top));if(i.length>0){const b=i[0].target.id,I=u.current.get(b);I&&(l(I),o?.(I))}}};r.current=new IntersectionObserver(w,c),t.forEach(s=>{r.current?.observe(s)});const T=()=>{if(m.current)return;if((window.scrollY||document.documentElement.scrollTop)<v+50){const d=e[0];d&&(l(d),o?.(d))}};return window.addEventListener("scroll",T,{passive:!0}),()=>{r.current&&r.current.disconnect(),window.removeEventListener("scroll",T)}},[e,o]),(0,n.useEffect)(()=>{!a&&e&&e.length>0&&l(e[0])},[e,a]);const y=(0,n.useCallback)(f=>{l(f);const v=f.id||f.href?.replace("#",""),t=document.getElementById(v);if(t){const c=document.getElementById("purchase-bar"),w=c?c.clientHeight:100;m.current=!0;const s=t.getBoundingClientRect().top+window.scrollY-w-10;window.scrollTo({top:s,behavior:"smooth"}),setTimeout(()=>{m.current=!1},1e3)}},[]);return{activeTab:a||e?.[0],setActiveTab:y}},O=({tabs:e,onSpyNavItemClick:o,className:a,renderRating:l})=>{const r=(0,n.useMemo)(()=>l?[...e,{label:"Reviews",id:"review",href:""}]:e,[e,l]),{activeTab:u,setActiveTab:m}=H(r),g=(0,n.useRef)(null),y=(0,n.useRef)(new Map),f=(0,n.useCallback)(t=>{m(t),o?.(t)},[o,m]);(0,n.useEffect)(()=>{if(!u||!g.current)return;const t=y.current.get(u.id);if(!t)return;const c=g.current,w=t.getBoundingClientRect(),T=c.getBoundingClientRect(),s=w.left+w.width/2-T.left,d=T.width/2,h=s-d;c.scrollTo({left:c.scrollLeft+h,behavior:"smooth"})},[u?.id]);const v=(0,n.useCallback)((t,c)=>{c?y.current.set(t,c):y.current.delete(t)},[]);return(0,p.jsx)("div",{ref:g,style:{scrollbarWidth:"none",msOverflowStyle:"none"},className:(0,E.cn)("overflow-x-auto",a),children:(0,p.jsx)("div",{className:"tablet:gap-8 flex gap-6",children:r?.map(t=>(0,p.jsx)("button",{ref:c=>v(t.id,c),children:t.id==="review"?(0,p.jsxs)("div",{className:"relative shrink-0 whitespace-nowrap py-[10px]",children:[l,(0,p.jsx)("div",{className:(0,E.cn)("laptop-md:block bg-brand-0 absolute bottom-0 left-0 hidden h-[2px] w-0 transition-all duration-300 ease-in-out",{"w-full":u?.id===t.id})})]}):(0,p.jsxs)("div",{className:(0,E.cn)("laptop-md:text-[#1d1d1f] relative shrink-0 whitespace-nowrap py-[10px] text-sm font-bold text-[#949494]",{"text-[#1d1d1f]":u?.id===t.id}),onClick:()=>f(t),children:[t.label,(0,p.jsx)("div",{className:(0,E.cn)("laptop-md:block bg-brand-0 absolute bottom-0 left-0 hidden h-[2px] w-0 transition-all duration-300 ease-in-out",{"w-full":u?.id===t.id})})]})},t.id))})})};var L=O;
1
+ "use strict";var N=Object.defineProperty;var R=Object.getOwnPropertyDescriptor;var x=Object.getOwnPropertyNames;var k=Object.prototype.hasOwnProperty;var M=(e,o)=>{for(var a in o)N(e,a,{get:o[a],enumerable:!0})},B=(e,o,a,l)=>{if(o&&typeof o=="object"||typeof o=="function")for(let r of x(o))!k.call(e,r)&&r!==a&&N(e,r,{get:()=>o[r],enumerable:!(l=R(o,r))||l.enumerable});return e};var C=e=>B(N({},"__esModule",{value:!0}),e);var P={};M(P,{default:()=>L});module.exports=C(P);var p=require("react/jsx-runtime"),E=require("../../../../../helpers/index.js"),n=require("react");const H=(e,o)=>{const[a,l]=(0,n.useState)(null),r=(0,n.useRef)(null),u=(0,n.useRef)(new Map),m=(0,n.useRef)(!1),g=(0,n.useRef)(null);(0,n.useEffect)(()=>{g.current=a},[a]),(0,n.useEffect)(()=>{if(!e||e.length===0)return;r.current&&r.current.disconnect();const f=document.getElementById("purchase-bar"),v=f?f.clientHeight:100;u.current.clear();const t=[];if(e.forEach(s=>{const d=s.id||s.href?.replace("#",""),h=document.getElementById(d);h&&(u.current.set(d,s),t.push(h))}),t.length===0){l(e[0]);return}const c={root:null,rootMargin:`-${v}px 0px -50% 0px`,threshold:[0,.25,.5,.75,1]},w=s=>{if(m.current)return;if((window.scrollY||document.documentElement.scrollTop)<v+50){const i=e[0];i&&g.current?.id!==i.id&&(console.log("\u9875\u9762\u9876\u90E8\uFF0C\u6FC0\u6D3B\u7B2C\u4E00\u4E2A tab:",i.label),l(i),o?.(i));return}const h=s.filter(i=>i.isIntersecting).sort((i,S)=>i.boundingClientRect.top-S.boundingClientRect.top);if(h.length>0){const S=h[0].target.id,b=u.current.get(S);b&&(l(b),o?.(b))}else{const i=[...s].sort((S,b)=>Math.abs(S.boundingClientRect.top)-Math.abs(b.boundingClientRect.top));if(i.length>0){const b=i[0].target.id,I=u.current.get(b);I&&(l(I),o?.(I))}}};r.current=new IntersectionObserver(w,c),t.forEach(s=>{r.current?.observe(s)});const T=()=>{if(m.current)return;if((window.scrollY||document.documentElement.scrollTop)<v+50){const d=e[0];d&&(l(d),o?.(d))}};return window.addEventListener("scroll",T,{passive:!0}),()=>{r.current&&r.current.disconnect(),window.removeEventListener("scroll",T)}},[e,o]),(0,n.useEffect)(()=>{!a&&e&&e.length>0&&l(e[0])},[e,a]);const y=(0,n.useCallback)(f=>{l(f);const v=f.id||f.href?.replace("#",""),t=document.getElementById(v);if(t){const c=document.getElementById("purchase-bar"),w=c?c.clientHeight:100;m.current=!0;const s=t.getBoundingClientRect().top+window.scrollY-w-10;window.scrollTo({top:s,behavior:"smooth"}),setTimeout(()=>{m.current=!1},1e3)}},[]);return{activeTab:a||e?.[0],setActiveTab:y}},O=({tabs:e,onSpyNavItemClick:o,className:a,renderRating:l})=>{const r=(0,n.useMemo)(()=>l?[...e,{label:"Reviews",id:"review",href:""}]:e,[e,l]),{activeTab:u,setActiveTab:m}=H(r),g=(0,n.useRef)(null),y=(0,n.useRef)(new Map),f=(0,n.useCallback)(t=>{m(t),o?.(t)},[o,m]);(0,n.useEffect)(()=>{if(!u||!g.current)return;const t=y.current.get(u.id);if(!t)return;const c=g.current,w=t.getBoundingClientRect(),T=c.getBoundingClientRect(),s=w.left+w.width/2-T.left,d=T.width/2,h=s-d;c.scrollTo({left:c.scrollLeft+h,behavior:"smooth"})},[u?.id]);const v=(0,n.useCallback)((t,c)=>{c?y.current.set(t,c):y.current.delete(t)},[]);return(0,p.jsx)("div",{ref:g,style:{scrollbarWidth:"none",msOverflowStyle:"none"},className:(0,E.cn)("overflow-x-auto",a),children:(0,p.jsx)("div",{className:"tablet:gap-8 flex gap-6",children:r?.map(t=>(0,p.jsx)("button",{ref:c=>v(t.id,c),children:t.id==="review"?(0,p.jsxs)("div",{className:"relative shrink-0 whitespace-nowrap py-[10px]",children:[l,(0,p.jsx)("div",{className:(0,E.cn)("desktop:block bg-brand-0 absolute bottom-0 left-0 hidden h-[2px] w-0 transition-all duration-300 ease-in-out",{"w-full":u?.id===t.id})})]}):(0,p.jsxs)("div",{className:(0,E.cn)("desktop:text-[#1d1d1f] relative shrink-0 whitespace-nowrap py-[10px] text-sm font-bold text-[#949494]",{"text-[#1d1d1f]":u?.id===t.id}),onClick:()=>f(t),children:[t.label,(0,p.jsx)("div",{className:(0,E.cn)("desktop:block bg-brand-0 absolute bottom-0 left-0 hidden h-[2px] w-0 transition-all duration-300 ease-in-out",{"w-full":u?.id===t.id})})]})},t.id))})})};var L=O;
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../src/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/index.tsx"],
4
- "sourcesContent": ["import { cn } from '../../../../../helpers/index.js'\nimport { useState, useCallback, useRef, useEffect, useMemo } from 'react'\nimport type { ScrollSpyNavItem, ScrollSpyNavProps } from './types.js'\n\n// \u81EA\u5B9A\u4E49 hook\uFF1A\u76D1\u542C\u9875\u9762\u6EDA\u52A8\uFF0C\u81EA\u52A8\u66F4\u65B0\u5F53\u524D\u6FC0\u6D3B\u7684 tab\nconst useScrollSpy = (tabs: ScrollSpyNavItem[], onActiveChange?: (tab: ScrollSpyNavItem) => void) => {\n const [activeTab, setActiveTab] = useState<ScrollSpyNavItem | null>(null)\n const observerRef = useRef<IntersectionObserver | null>(null)\n const sectionsRef = useRef<Map<string, ScrollSpyNavItem>>(new Map())\n const isManualScrollRef = useRef(false) // \u6807\u8BB0\u662F\u5426\u4E3A\u624B\u52A8\u70B9\u51FB\u89E6\u53D1\u7684\u6EDA\u52A8\n const activeTabRef = useRef<ScrollSpyNavItem | null>(null) // \u7528 ref \u5B58\u50A8\u5F53\u524D\u6FC0\u6D3B\u7684 tab\uFF0C\u907F\u514D\u95ED\u5305\u95EE\u9898\n\n // \u540C\u6B65 activeTab \u5230 ref\n useEffect(() => {\n activeTabRef.current = activeTab\n }, [activeTab])\n\n useEffect(() => {\n if (!tabs || tabs.length === 0) return\n\n // \u6E05\u7406\u4E4B\u524D\u7684 observer\n if (observerRef.current) {\n observerRef.current.disconnect()\n }\n\n // \u83B7\u53D6\u5BFC\u822A\u680F\u9AD8\u5EA6\n const purchaseBar = document.getElementById('purchase-bar')\n const navHeight = purchaseBar ? purchaseBar.clientHeight : 100\n\n // \u521B\u5EFA Map \u5B58\u50A8 section \u4FE1\u606F\n sectionsRef.current.clear()\n const elements: Element[] = []\n\n tabs.forEach(tab => {\n const id = tab.id || tab.href?.replace('#', '')\n const element = document.getElementById(id)\n if (element) {\n sectionsRef.current.set(id, tab)\n elements.push(element)\n }\n })\n\n if (elements.length === 0) {\n // \u5982\u679C\u6CA1\u6709\u627E\u5230\u5143\u7D20\uFF0C\u8BBE\u7F6E\u7B2C\u4E00\u4E2A tab \u4E3A\u6FC0\u6D3B\u72B6\u6001\n setActiveTab(tabs[0])\n return\n }\n\n // \u4F7F\u7528 IntersectionObserver \u76D1\u542C\u5143\u7D20\u8FDB\u5165\u89C6\u53E3\n const observerOptions: IntersectionObserverInit = {\n root: null,\n rootMargin: `-${navHeight}px 0px -50% 0px`, // \u4E0A\u65B9\u504F\u79FB\u5BFC\u822A\u680F\u9AD8\u5EA6\uFF0C\u4E0B\u65B9\u504F\u79FB50%\u89C6\u53E3\u9AD8\u5EA6\n threshold: [0, 0.25, 0.5, 0.75, 1],\n }\n\n const observerCallback: IntersectionObserverCallback = entries => {\n // \u5982\u679C\u662F\u624B\u52A8\u70B9\u51FB\u89E6\u53D1\u7684\u6EDA\u52A8\uFF0C\u4E0D\u8981\u66F4\u65B0\u72B6\u6001\n if (isManualScrollRef.current) {\n return\n }\n\n // \u68C0\u67E5\u662F\u5426\u6EDA\u52A8\u5230\u9875\u9762\u9876\u90E8\uFF08\u7279\u6B8A\u5904\u7406\u7B2C\u4E00\u4E2A\u5143\u7D20\uFF09\n const scrollTop = window.scrollY || document.documentElement.scrollTop\n if (scrollTop < navHeight + 50) {\n // \u5728\u9875\u9762\u9876\u90E8\uFF0C\u6FC0\u6D3B\u7B2C\u4E00\u4E2A tab\n const firstTab = tabs[0]\n if (firstTab && activeTabRef.current?.id !== firstTab.id) {\n console.log('\u9875\u9762\u9876\u90E8\uFF0C\u6FC0\u6D3B\u7B2C\u4E00\u4E2A tab:', firstTab.label)\n setActiveTab(firstTab)\n onActiveChange?.(firstTab)\n }\n return\n }\n\n // \u627E\u51FA\u6240\u6709\u6B63\u5728\u4EA4\u53C9\u7684 entries\n const intersectingEntries = entries\n .filter(entry => entry.isIntersecting)\n .sort((a, b) => {\n // \u6309\u7167\u5143\u7D20\u5728\u9875\u9762\u4E0A\u7684\u4F4D\u7F6E\u6392\u5E8F\uFF08\u4ECE\u4E0A\u5230\u4E0B\uFF09\n return a.boundingClientRect.top - b.boundingClientRect.top\n })\n\n if (intersectingEntries.length > 0) {\n // \u9009\u62E9\u6700\u4E0A\u9762\u7684\u6B63\u5728\u4EA4\u53C9\u7684\u5143\u7D20\n const topEntry = intersectingEntries[0]\n const id = topEntry.target.id\n const tab = sectionsRef.current.get(id)\n\n if (tab) {\n setActiveTab(tab)\n onActiveChange?.(tab)\n }\n } else {\n // \u5982\u679C\u6CA1\u6709\u5143\u7D20\u6B63\u5728\u4EA4\u53C9\uFF0C\u627E\u51FA\u6700\u63A5\u8FD1\u89C6\u53E3\u9876\u90E8\u7684\u5143\u7D20\n const sortedEntries = [...entries].sort((a, b) => {\n return Math.abs(a.boundingClientRect.top) - Math.abs(b.boundingClientRect.top)\n })\n\n if (sortedEntries.length > 0) {\n const closestEntry = sortedEntries[0]\n const id = closestEntry.target.id\n const tab = sectionsRef.current.get(id)\n\n if (tab) {\n setActiveTab(tab)\n onActiveChange?.(tab)\n }\n }\n }\n }\n\n observerRef.current = new IntersectionObserver(observerCallback, observerOptions)\n\n // \u89C2\u5BDF\u6240\u6709 section \u5143\u7D20\n elements.forEach(element => {\n observerRef.current?.observe(element)\n })\n\n // \u6DFB\u52A0\u6EDA\u52A8\u4E8B\u4EF6\u76D1\u542C\uFF0C\u5904\u7406\u9875\u9762\u9876\u90E8\u7684\u60C5\u51B5\n const handleScroll = () => {\n if (isManualScrollRef.current) {\n return\n }\n\n const scrollTop = window.scrollY || document.documentElement.scrollTop\n // \u5982\u679C\u6EDA\u52A8\u5230\u63A5\u8FD1\u9875\u9762\u9876\u90E8\uFF0C\u6FC0\u6D3B\u7B2C\u4E00\u4E2A tab\n if (scrollTop < navHeight + 50) {\n const firstTab = tabs[0]\n if (firstTab) {\n setActiveTab(firstTab)\n onActiveChange?.(firstTab)\n }\n }\n }\n\n window.addEventListener('scroll', handleScroll, { passive: true })\n\n return () => {\n if (observerRef.current) {\n observerRef.current.disconnect()\n }\n window.removeEventListener('scroll', handleScroll)\n }\n }, [tabs, onActiveChange])\n\n // \u521D\u59CB\u5316\u65F6\u8BBE\u7F6E\u7B2C\u4E00\u4E2A tab\n useEffect(() => {\n if (!activeTab && tabs && tabs.length > 0) {\n setActiveTab(tabs[0])\n }\n }, [tabs, activeTab])\n\n // \u624B\u52A8\u8BBE\u7F6E\u6FC0\u6D3B tab \u5E76\u6EDA\u52A8\u5230\u5BF9\u5E94\u4F4D\u7F6E\n const handleSetActiveTab = useCallback((tab: ScrollSpyNavItem) => {\n setActiveTab(tab)\n\n // \u6EDA\u52A8\u5230\u5BF9\u5E94\u7684\u951A\u70B9\n const id = tab.id || tab.href?.replace('#', '')\n const element = document.getElementById(id)\n\n if (element) {\n const purchaseBar = document.getElementById('purchase-bar')\n const navHeight = purchaseBar ? purchaseBar.clientHeight : 100\n\n // \u8BBE\u7F6E\u624B\u52A8\u6EDA\u52A8\u6807\u5FD7\n isManualScrollRef.current = true\n\n // \u8BA1\u7B97\u6EDA\u52A8\u4F4D\u7F6E\uFF08\u5143\u7D20\u9876\u90E8 - \u5BFC\u822A\u680F\u9AD8\u5EA6 - \u989D\u5916\u95F4\u8DDD\uFF09\n const elementTop = element.getBoundingClientRect().top + window.scrollY\n const scrollToPosition = elementTop - navHeight - 10\n\n window.scrollTo({\n top: scrollToPosition,\n behavior: 'smooth',\n })\n\n // \u6EDA\u52A8\u7ED3\u675F\u540E\u91CD\u7F6E\u6807\u5FD7\n setTimeout(() => {\n isManualScrollRef.current = false\n }, 1000) // 1\u79D2\u540E\u91CD\u7F6E\uFF0C\u786E\u4FDD\u6EDA\u52A8\u52A8\u753B\u5B8C\u6210\n }\n }, [])\n\n return { activeTab: activeTab || tabs?.[0], setActiveTab: handleSetActiveTab }\n}\n\nconst ScrollSpyNav = ({ tabs, onSpyNavItemClick, className, renderRating }: ScrollSpyNavProps) => {\n // \u4F7F\u7528 useScrollSpy hook \u81EA\u52A8\u76D1\u542C\u6EDA\u52A8\n const combinedTabs = useMemo(() => {\n if (renderRating) {\n return [...tabs, { label: 'Reviews', id: 'review', href: '' }]\n }\n return tabs\n }, [tabs, renderRating])\n\n const { activeTab, setActiveTab } = useScrollSpy(combinedTabs)\n\n // \u79FB\u52A8\u7AEF\uFF1A\u6A2A\u5411\u6EDA\u52A8\u5BB9\u5668\u548C tab \u6309\u94AE\u7684 refs\n const scrollContainerRef = useRef<HTMLDivElement>(null)\n const tabRefs = useRef<Map<string, HTMLButtonElement>>(new Map())\n\n const onTabClick = useCallback(\n (tab: ScrollSpyNavItem) => {\n setActiveTab(tab)\n onSpyNavItemClick?.(tab)\n },\n [onSpyNavItemClick, setActiveTab]\n )\n\n // \u79FB\u52A8\u7AEF\uFF1A\u5F53 activeTab \u6539\u53D8\u65F6\uFF0C\u81EA\u52A8\u6EDA\u52A8\u5230\u4E2D\u5FC3\u4F4D\u7F6E\n useEffect(() => {\n if (!activeTab || !scrollContainerRef.current) return\n\n const activeTabElement = tabRefs.current.get(activeTab.id)\n if (!activeTabElement) return\n\n const container = scrollContainerRef.current\n const tabRect = activeTabElement.getBoundingClientRect()\n const containerRect = container.getBoundingClientRect()\n\n // \u8BA1\u7B97\u9700\u8981\u6EDA\u52A8\u7684\u8DDD\u79BB\uFF0C\u4F7F tab \u4F4D\u4E8E\u5BB9\u5668\u4E2D\u5FC3\n const tabCenter = tabRect.left + tabRect.width / 2 - containerRect.left\n const containerCenter = containerRect.width / 2\n const scrollOffset = tabCenter - containerCenter\n\n container.scrollTo({\n left: container.scrollLeft + scrollOffset,\n behavior: 'smooth',\n })\n }, [activeTab?.id])\n\n // \u8BBE\u7F6E tab ref\n const setTabRef = useCallback((tabId: string, element: HTMLButtonElement | null) => {\n if (element) {\n tabRefs.current.set(tabId, element)\n } else {\n tabRefs.current.delete(tabId)\n }\n }, [])\n\n // \u684C\u9762\u7AEF\u6E32\u67D3\n return (\n <div\n ref={scrollContainerRef}\n style={{ scrollbarWidth: 'none', msOverflowStyle: 'none' }}\n className={cn('overflow-x-auto', className)}\n >\n <div className=\"tablet:gap-8 flex gap-6\">\n {combinedTabs?.map(tab => (\n <button key={tab.id} ref={el => setTabRef(tab.id, el)}>\n {tab.id === 'review' ? (\n <div className=\"relative shrink-0 whitespace-nowrap py-[10px]\">\n {renderRating}\n <div\n className={cn(\n 'laptop-md:block bg-brand-0 absolute bottom-0 left-0 hidden h-[2px] w-0 transition-all duration-300 ease-in-out',\n {\n 'w-full': activeTab?.id === tab.id,\n }\n )}\n />\n </div>\n ) : (\n <div\n className={cn(\n 'laptop-md:text-[#1d1d1f] relative shrink-0 whitespace-nowrap py-[10px] text-sm font-bold text-[#949494]',\n {\n 'text-[#1d1d1f]': activeTab?.id === tab.id,\n }\n )}\n onClick={() => onTabClick(tab)}\n >\n {tab.label}\n <div\n className={cn(\n 'laptop-md:block bg-brand-0 absolute bottom-0 left-0 hidden h-[2px] w-0 transition-all duration-300 ease-in-out',\n {\n 'w-full': activeTab?.id === tab.id,\n }\n )}\n />\n </div>\n )}\n </button>\n ))}\n </div>\n </div>\n )\n}\n\nexport default ScrollSpyNav\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { cn } from '../../../../../helpers/index.js'\nimport { useState, useCallback, useRef, useEffect, useMemo } from 'react'\nimport type { ScrollSpyNavItem, ScrollSpyNavProps } from './types.js'\n\n// \u81EA\u5B9A\u4E49 hook\uFF1A\u76D1\u542C\u9875\u9762\u6EDA\u52A8\uFF0C\u81EA\u52A8\u66F4\u65B0\u5F53\u524D\u6FC0\u6D3B\u7684 tab\nconst useScrollSpy = (tabs: ScrollSpyNavItem[], onActiveChange?: (tab: ScrollSpyNavItem) => void) => {\n const [activeTab, setActiveTab] = useState<ScrollSpyNavItem | null>(null)\n const observerRef = useRef<IntersectionObserver | null>(null)\n const sectionsRef = useRef<Map<string, ScrollSpyNavItem>>(new Map())\n const isManualScrollRef = useRef(false) // \u6807\u8BB0\u662F\u5426\u4E3A\u624B\u52A8\u70B9\u51FB\u89E6\u53D1\u7684\u6EDA\u52A8\n const activeTabRef = useRef<ScrollSpyNavItem | null>(null) // \u7528 ref \u5B58\u50A8\u5F53\u524D\u6FC0\u6D3B\u7684 tab\uFF0C\u907F\u514D\u95ED\u5305\u95EE\u9898\n\n // \u540C\u6B65 activeTab \u5230 ref\n useEffect(() => {\n activeTabRef.current = activeTab\n }, [activeTab])\n\n useEffect(() => {\n if (!tabs || tabs.length === 0) return\n\n // \u6E05\u7406\u4E4B\u524D\u7684 observer\n if (observerRef.current) {\n observerRef.current.disconnect()\n }\n\n // \u83B7\u53D6\u5BFC\u822A\u680F\u9AD8\u5EA6\n const purchaseBar = document.getElementById('purchase-bar')\n const navHeight = purchaseBar ? purchaseBar.clientHeight : 100\n\n // \u521B\u5EFA Map \u5B58\u50A8 section \u4FE1\u606F\n sectionsRef.current.clear()\n const elements: Element[] = []\n\n tabs.forEach(tab => {\n const id = tab.id || tab.href?.replace('#', '')\n const element = document.getElementById(id)\n if (element) {\n sectionsRef.current.set(id, tab)\n elements.push(element)\n }\n })\n\n if (elements.length === 0) {\n // \u5982\u679C\u6CA1\u6709\u627E\u5230\u5143\u7D20\uFF0C\u8BBE\u7F6E\u7B2C\u4E00\u4E2A tab \u4E3A\u6FC0\u6D3B\u72B6\u6001\n setActiveTab(tabs[0])\n return\n }\n\n // \u4F7F\u7528 IntersectionObserver \u76D1\u542C\u5143\u7D20\u8FDB\u5165\u89C6\u53E3\n const observerOptions: IntersectionObserverInit = {\n root: null,\n rootMargin: `-${navHeight}px 0px -50% 0px`, // \u4E0A\u65B9\u504F\u79FB\u5BFC\u822A\u680F\u9AD8\u5EA6\uFF0C\u4E0B\u65B9\u504F\u79FB50%\u89C6\u53E3\u9AD8\u5EA6\n threshold: [0, 0.25, 0.5, 0.75, 1],\n }\n\n const observerCallback: IntersectionObserverCallback = entries => {\n // \u5982\u679C\u662F\u624B\u52A8\u70B9\u51FB\u89E6\u53D1\u7684\u6EDA\u52A8\uFF0C\u4E0D\u8981\u66F4\u65B0\u72B6\u6001\n if (isManualScrollRef.current) {\n return\n }\n\n // \u68C0\u67E5\u662F\u5426\u6EDA\u52A8\u5230\u9875\u9762\u9876\u90E8\uFF08\u7279\u6B8A\u5904\u7406\u7B2C\u4E00\u4E2A\u5143\u7D20\uFF09\n const scrollTop = window.scrollY || document.documentElement.scrollTop\n if (scrollTop < navHeight + 50) {\n // \u5728\u9875\u9762\u9876\u90E8\uFF0C\u6FC0\u6D3B\u7B2C\u4E00\u4E2A tab\n const firstTab = tabs[0]\n if (firstTab && activeTabRef.current?.id !== firstTab.id) {\n console.log('\u9875\u9762\u9876\u90E8\uFF0C\u6FC0\u6D3B\u7B2C\u4E00\u4E2A tab:', firstTab.label)\n setActiveTab(firstTab)\n onActiveChange?.(firstTab)\n }\n return\n }\n\n // \u627E\u51FA\u6240\u6709\u6B63\u5728\u4EA4\u53C9\u7684 entries\n const intersectingEntries = entries\n .filter(entry => entry.isIntersecting)\n .sort((a, b) => {\n // \u6309\u7167\u5143\u7D20\u5728\u9875\u9762\u4E0A\u7684\u4F4D\u7F6E\u6392\u5E8F\uFF08\u4ECE\u4E0A\u5230\u4E0B\uFF09\n return a.boundingClientRect.top - b.boundingClientRect.top\n })\n\n if (intersectingEntries.length > 0) {\n // \u9009\u62E9\u6700\u4E0A\u9762\u7684\u6B63\u5728\u4EA4\u53C9\u7684\u5143\u7D20\n const topEntry = intersectingEntries[0]\n const id = topEntry.target.id\n const tab = sectionsRef.current.get(id)\n\n if (tab) {\n setActiveTab(tab)\n onActiveChange?.(tab)\n }\n } else {\n // \u5982\u679C\u6CA1\u6709\u5143\u7D20\u6B63\u5728\u4EA4\u53C9\uFF0C\u627E\u51FA\u6700\u63A5\u8FD1\u89C6\u53E3\u9876\u90E8\u7684\u5143\u7D20\n const sortedEntries = [...entries].sort((a, b) => {\n return Math.abs(a.boundingClientRect.top) - Math.abs(b.boundingClientRect.top)\n })\n\n if (sortedEntries.length > 0) {\n const closestEntry = sortedEntries[0]\n const id = closestEntry.target.id\n const tab = sectionsRef.current.get(id)\n\n if (tab) {\n setActiveTab(tab)\n onActiveChange?.(tab)\n }\n }\n }\n }\n\n observerRef.current = new IntersectionObserver(observerCallback, observerOptions)\n\n // \u89C2\u5BDF\u6240\u6709 section \u5143\u7D20\n elements.forEach(element => {\n observerRef.current?.observe(element)\n })\n\n // \u6DFB\u52A0\u6EDA\u52A8\u4E8B\u4EF6\u76D1\u542C\uFF0C\u5904\u7406\u9875\u9762\u9876\u90E8\u7684\u60C5\u51B5\n const handleScroll = () => {\n if (isManualScrollRef.current) {\n return\n }\n\n const scrollTop = window.scrollY || document.documentElement.scrollTop\n // \u5982\u679C\u6EDA\u52A8\u5230\u63A5\u8FD1\u9875\u9762\u9876\u90E8\uFF0C\u6FC0\u6D3B\u7B2C\u4E00\u4E2A tab\n if (scrollTop < navHeight + 50) {\n const firstTab = tabs[0]\n if (firstTab) {\n setActiveTab(firstTab)\n onActiveChange?.(firstTab)\n }\n }\n }\n\n window.addEventListener('scroll', handleScroll, { passive: true })\n\n return () => {\n if (observerRef.current) {\n observerRef.current.disconnect()\n }\n window.removeEventListener('scroll', handleScroll)\n }\n }, [tabs, onActiveChange])\n\n // \u521D\u59CB\u5316\u65F6\u8BBE\u7F6E\u7B2C\u4E00\u4E2A tab\n useEffect(() => {\n if (!activeTab && tabs && tabs.length > 0) {\n setActiveTab(tabs[0])\n }\n }, [tabs, activeTab])\n\n // \u624B\u52A8\u8BBE\u7F6E\u6FC0\u6D3B tab \u5E76\u6EDA\u52A8\u5230\u5BF9\u5E94\u4F4D\u7F6E\n const handleSetActiveTab = useCallback((tab: ScrollSpyNavItem) => {\n setActiveTab(tab)\n\n // \u6EDA\u52A8\u5230\u5BF9\u5E94\u7684\u951A\u70B9\n const id = tab.id || tab.href?.replace('#', '')\n const element = document.getElementById(id)\n\n if (element) {\n const purchaseBar = document.getElementById('purchase-bar')\n const navHeight = purchaseBar ? purchaseBar.clientHeight : 100\n\n // \u8BBE\u7F6E\u624B\u52A8\u6EDA\u52A8\u6807\u5FD7\n isManualScrollRef.current = true\n\n // \u8BA1\u7B97\u6EDA\u52A8\u4F4D\u7F6E\uFF08\u5143\u7D20\u9876\u90E8 - \u5BFC\u822A\u680F\u9AD8\u5EA6 - \u989D\u5916\u95F4\u8DDD\uFF09\n const elementTop = element.getBoundingClientRect().top + window.scrollY\n const scrollToPosition = elementTop - navHeight - 10\n\n window.scrollTo({\n top: scrollToPosition,\n behavior: 'smooth',\n })\n\n // \u6EDA\u52A8\u7ED3\u675F\u540E\u91CD\u7F6E\u6807\u5FD7\n setTimeout(() => {\n isManualScrollRef.current = false\n }, 1000) // 1\u79D2\u540E\u91CD\u7F6E\uFF0C\u786E\u4FDD\u6EDA\u52A8\u52A8\u753B\u5B8C\u6210\n }\n }, [])\n\n return { activeTab: activeTab || tabs?.[0], setActiveTab: handleSetActiveTab }\n}\n\nconst ScrollSpyNav = ({ tabs, onSpyNavItemClick, className, renderRating }: ScrollSpyNavProps) => {\n // \u4F7F\u7528 useScrollSpy hook \u81EA\u52A8\u76D1\u542C\u6EDA\u52A8\n const combinedTabs = useMemo(() => {\n if (renderRating) {\n return [...tabs, { label: 'Reviews', id: 'review', href: '' }]\n }\n return tabs\n }, [tabs, renderRating])\n\n const { activeTab, setActiveTab } = useScrollSpy(combinedTabs)\n\n // \u79FB\u52A8\u7AEF\uFF1A\u6A2A\u5411\u6EDA\u52A8\u5BB9\u5668\u548C tab \u6309\u94AE\u7684 refs\n const scrollContainerRef = useRef<HTMLDivElement>(null)\n const tabRefs = useRef<Map<string, HTMLButtonElement>>(new Map())\n\n const onTabClick = useCallback(\n (tab: ScrollSpyNavItem) => {\n setActiveTab(tab)\n onSpyNavItemClick?.(tab)\n },\n [onSpyNavItemClick, setActiveTab]\n )\n\n // \u79FB\u52A8\u7AEF\uFF1A\u5F53 activeTab \u6539\u53D8\u65F6\uFF0C\u81EA\u52A8\u6EDA\u52A8\u5230\u4E2D\u5FC3\u4F4D\u7F6E\n useEffect(() => {\n if (!activeTab || !scrollContainerRef.current) return\n\n const activeTabElement = tabRefs.current.get(activeTab.id)\n if (!activeTabElement) return\n\n const container = scrollContainerRef.current\n const tabRect = activeTabElement.getBoundingClientRect()\n const containerRect = container.getBoundingClientRect()\n\n // \u8BA1\u7B97\u9700\u8981\u6EDA\u52A8\u7684\u8DDD\u79BB\uFF0C\u4F7F tab \u4F4D\u4E8E\u5BB9\u5668\u4E2D\u5FC3\n const tabCenter = tabRect.left + tabRect.width / 2 - containerRect.left\n const containerCenter = containerRect.width / 2\n const scrollOffset = tabCenter - containerCenter\n\n container.scrollTo({\n left: container.scrollLeft + scrollOffset,\n behavior: 'smooth',\n })\n }, [activeTab?.id])\n\n // \u8BBE\u7F6E tab ref\n const setTabRef = useCallback((tabId: string, element: HTMLButtonElement | null) => {\n if (element) {\n tabRefs.current.set(tabId, element)\n } else {\n tabRefs.current.delete(tabId)\n }\n }, [])\n\n // \u684C\u9762\u7AEF\u6E32\u67D3\n return (\n <div\n ref={scrollContainerRef}\n style={{ scrollbarWidth: 'none', msOverflowStyle: 'none' }}\n className={cn('overflow-x-auto', className)}\n >\n <div className=\"tablet:gap-8 flex gap-6\">\n {combinedTabs?.map(tab => (\n <button key={tab.id} ref={el => setTabRef(tab.id, el)}>\n {tab.id === 'review' ? (\n <div className=\"relative shrink-0 whitespace-nowrap py-[10px]\">\n {renderRating}\n <div\n className={cn(\n 'desktop:block bg-brand-0 absolute bottom-0 left-0 hidden h-[2px] w-0 transition-all duration-300 ease-in-out',\n {\n 'w-full': activeTab?.id === tab.id,\n }\n )}\n />\n </div>\n ) : (\n <div\n className={cn(\n 'desktop:text-[#1d1d1f] relative shrink-0 whitespace-nowrap py-[10px] text-sm font-bold text-[#949494]',\n {\n 'text-[#1d1d1f]': activeTab?.id === tab.id,\n }\n )}\n onClick={() => onTabClick(tab)}\n >\n {tab.label}\n <div\n className={cn(\n 'desktop:block bg-brand-0 absolute bottom-0 left-0 hidden h-[2px] w-0 transition-all duration-300 ease-in-out',\n {\n 'w-full': activeTab?.id === tab.id,\n }\n )}\n />\n </div>\n )}\n </button>\n ))}\n </div>\n </div>\n )\n}\n\nexport default ScrollSpyNav\n"],
5
+ "mappings": "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",
6
6
  "names": ["ScrollSpyNav_exports", "__export", "ScrollSpyNav_default", "__toCommonJS", "import_jsx_runtime", "import_helpers", "import_react", "useScrollSpy", "tabs", "onActiveChange", "activeTab", "setActiveTab", "observerRef", "sectionsRef", "isManualScrollRef", "activeTabRef", "purchaseBar", "navHeight", "elements", "tab", "id", "element", "observerOptions", "observerCallback", "entries", "firstTab", "intersectingEntries", "entry", "a", "b", "sortedEntries", "handleScroll", "handleSetActiveTab", "scrollToPosition", "ScrollSpyNav", "onSpyNavItemClick", "className", "renderRating", "combinedTabs", "scrollContainerRef", "tabRefs", "onTabClick", "activeTabElement", "container", "tabRect", "containerRect", "tabCenter", "containerCenter", "scrollOffset", "setTabRef", "tabId", "el"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var f=Object.create;var l=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var v=Object.getOwnPropertyNames;var h=Object.getPrototypeOf,y=Object.prototype.hasOwnProperty;var N=(a,t)=>{for(var o in t)l(a,o,{get:t[o],enumerable:!0})},d=(a,t,o,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of v(t))!y.call(a,r)&&r!==o&&l(a,r,{get:()=>t[r],enumerable:!(i=b(t,r))||i.enumerable});return a};var g=(a,t,o)=>(o=a!=null?f(h(a)):{},d(t||!a||!a.__esModule?l(o,"default",{value:a,enumerable:!0}):o,a)),P=a=>d(l({},"__esModule",{value:!0}),a);var B={};N(B,{default:()=>x});module.exports=P(B);var e=require("react/jsx-runtime"),m=require("react"),p=require("../../../../components/index.js"),n=require("../index.js"),c=require("../../BizProductProvider.js"),s=g(require("./ScrollSpyNav/index.js")),u=require("../../../../shared/Styles.js");const w=({onSpyNavItemClick:a})=>{const{product:t,renderRating:o}=(0,c.useBizProductContext)(),i=(0,m.useMemo)(()=>t?.payload?.components?.find(r=>r.componentKey==="PurchaseBar")?.data||[],[t?.payload]);return(0,e.jsxs)("div",{id:"purchase-bar",className:"sticky left-0 top-0 z-[45] w-full border-b border-[#E4E5E6] bg-white",children:[(0,e.jsx)(p.Container,{children:(0,e.jsxs)("div",{className:"tablet:justify-between laptop-md:gap-16 tablet:gap-0 tablet:w-full flex flex-wrap items-center gap-[10px]",children:[(0,e.jsxs)("div",{className:"laptop-md:pt-6 laptop-md:pb-0 min-w-0 flex-1 py-3",children:[(0,e.jsx)(p.Heading,{size:2,className:"line-clamp-2",html:t?.title}),(0,e.jsx)("div",{className:"laptop-md:block mt-3 hidden",children:(0,e.jsx)(s.default,{tabs:i,className:"",renderRating:o,onSpyNavItemClick:a})})]}),(0,e.jsx)("div",{className:"laptop-md:block hidden shrink-0",children:(0,e.jsx)(n.ProductActions,{})})]})}),(0,e.jsxs)(p.Container,{className:"laptop-md:hidden relative",children:[(0,e.jsx)("div",{className:"absolute left-0 top-0 h-px w-full bg-[#E4E5E6]"}),(0,e.jsx)(s.default,{tabs:i,renderRating:o,onSpyNavItemClick:a})]})]})};var x=(0,u.withLayout)(w);
1
+ "use strict";var f=Object.create;var d=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var v=Object.getOwnPropertyNames;var h=Object.getPrototypeOf,y=Object.prototype.hasOwnProperty;var k=(e,t)=>{for(var o in t)d(e,o,{get:t[o],enumerable:!0})},l=(e,t,o,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of v(t))!y.call(e,r)&&r!==o&&d(e,r,{get:()=>t[r],enumerable:!(s=b(t,r))||s.enumerable});return e};var N=(e,t,o)=>(o=e!=null?f(h(e)):{},l(t||!e||!e.__esModule?d(o,"default",{value:e,enumerable:!0}):o,e)),g=e=>l(d({},"__esModule",{value:!0}),e);var x={};k(x,{default:()=>w});module.exports=g(x);var a=require("react/jsx-runtime"),n=require("react"),i=require("../../../../components/index.js"),m=require("../index.js"),c=require("../../BizProductProvider.js"),p=N(require("./ScrollSpyNav/index.js")),u=require("../../../../shared/Styles.js");const P=({onSpyNavItemClick:e})=>{const{product:t,renderRating:o}=(0,c.useBizProductContext)(),s=(0,n.useMemo)(()=>t?.payload?.components?.find(r=>r.componentKey==="PurchaseBar")?.data||[],[t?.payload]);return(0,a.jsxs)("div",{id:"purchase-bar",className:"sticky left-0 top-0 z-[45] w-full border-b border-[#E4E5E6] bg-white",children:[(0,a.jsx)(i.Container,{children:(0,a.jsxs)("div",{className:"tablet:justify-between desktop:gap-16 tablet:gap-0 tablet:w-full flex flex-wrap items-center gap-[10px]",children:[(0,a.jsxs)("div",{className:"desktop:pt-6 desktop:pb-0 min-w-0 flex-1 py-3",children:[(0,a.jsx)(i.Heading,{size:2,className:"line-clamp-2",html:t?.title}),(0,a.jsx)("div",{className:"desktop:block mt-3 hidden",children:(0,a.jsx)(p.default,{tabs:s,className:"",renderRating:o,onSpyNavItemClick:e})})]}),(0,a.jsx)("div",{className:"desktop:block hidden shrink-0",children:(0,a.jsx)(m.ProductActions,{})})]})}),(0,a.jsxs)(i.Container,{className:"desktop:hidden relative",children:[(0,a.jsx)("div",{className:"absolute left-0 top-0 h-px w-full bg-[#E4E5E6]"}),(0,a.jsx)(p.default,{tabs:s,renderRating:o,onSpyNavItemClick:e})]})]})};var w=(0,u.withLayout)(P);
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/biz-components/Listing/components/PurchaseBar/index.tsx"],
4
- "sourcesContent": ["import { useMemo } from 'react'\nimport { Text, Heading, Button, Container } from '../../../../components/index.js'\nimport type { PurchaseBarProps } from './types.js'\nimport { ProductActions } from '../index.js'\nimport { useBizProductContext } from '../../BizProductProvider.js'\nimport ScrollSpyNav from './ScrollSpyNav/index.js'\nimport { withLayout } from '../../../../shared/Styles.js'\n\nconst PurchaseBar = ({ onSpyNavItemClick }: PurchaseBarProps) => {\n const { product, renderRating } = useBizProductContext()\n\n const PurchaseBarData = useMemo(() => {\n return product?.payload?.components?.find((item: any) => item.componentKey === 'PurchaseBar')?.data || []\n }, [product?.payload])\n\n return (\n <div id=\"purchase-bar\" className=\"sticky left-0 top-0 z-[45] w-full border-b border-[#E4E5E6] bg-white\">\n <Container>\n <div className=\"tablet:justify-between laptop-md:gap-16 tablet:gap-0 tablet:w-full flex flex-wrap items-center gap-[10px]\">\n <div className=\"laptop-md:pt-6 laptop-md:pb-0 min-w-0 flex-1 py-3\">\n <Heading size={2} className=\"line-clamp-2\" html={product?.title} />\n <div className=\"laptop-md:block mt-3 hidden\">\n <ScrollSpyNav\n tabs={PurchaseBarData}\n className=\"\"\n renderRating={renderRating}\n onSpyNavItemClick={onSpyNavItemClick}\n />\n </div>\n </div>\n <div className=\"laptop-md:block hidden shrink-0\">\n <ProductActions />\n </div>\n </div>\n </Container>\n <Container className=\"laptop-md:hidden relative\">\n <div className=\"absolute left-0 top-0 h-px w-full bg-[#E4E5E6]\"></div>\n <ScrollSpyNav tabs={PurchaseBarData} renderRating={renderRating} onSpyNavItemClick={onSpyNavItemClick} />\n </Container>\n </div>\n )\n}\n\nexport default withLayout(PurchaseBar)\n"],
5
- "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GAmBU,IAAAI,EAAA,6BAnBVC,EAAwB,iBACxBC,EAAiD,2CAEjDC,EAA+B,uBAC/BC,EAAqC,uCACrCC,EAAyB,sCACzBC,EAA2B,wCAE3B,MAAMC,EAAc,CAAC,CAAE,kBAAAC,CAAkB,IAAwB,CAC/D,KAAM,CAAE,QAAAC,EAAS,aAAAC,CAAa,KAAI,wBAAqB,EAEjDC,KAAkB,WAAQ,IACvBF,GAAS,SAAS,YAAY,KAAMG,GAAcA,EAAK,eAAiB,aAAa,GAAG,MAAQ,CAAC,EACvG,CAACH,GAAS,OAAO,CAAC,EAErB,SACE,QAAC,OAAI,GAAG,eAAe,UAAU,uEAC/B,oBAAC,aACC,oBAAC,OAAI,UAAU,4GACb,qBAAC,OAAI,UAAU,oDACb,oBAAC,WAAQ,KAAM,EAAG,UAAU,eAAe,KAAMA,GAAS,MAAO,KACjE,OAAC,OAAI,UAAU,8BACb,mBAAC,EAAAI,QAAA,CACC,KAAMF,EACN,UAAU,GACV,aAAcD,EACd,kBAAmBF,EACrB,EACF,GACF,KACA,OAAC,OAAI,UAAU,kCACb,mBAAC,mBAAe,EAClB,GACF,EACF,KACA,QAAC,aAAU,UAAU,4BACnB,oBAAC,OAAI,UAAU,iDAAiD,KAChE,OAAC,EAAAK,QAAA,CAAa,KAAMF,EAAiB,aAAcD,EAAc,kBAAmBF,EAAmB,GACzG,GACF,CAEJ,EAEA,IAAOV,KAAQ,cAAWS,CAAW",
4
+ "sourcesContent": ["import { useMemo } from 'react'\nimport { Text, Heading, Button, Container } from '../../../../components/index.js'\nimport type { PurchaseBarProps } from './types.js'\nimport { ProductActions } from '../index.js'\nimport { useBizProductContext } from '../../BizProductProvider.js'\nimport ScrollSpyNav from './ScrollSpyNav/index.js'\nimport { withLayout } from '../../../../shared/Styles.js'\n\nconst PurchaseBar = ({ onSpyNavItemClick }: PurchaseBarProps) => {\n const { product, renderRating } = useBizProductContext()\n\n const PurchaseBarData = useMemo(() => {\n return product?.payload?.components?.find((item: any) => item.componentKey === 'PurchaseBar')?.data || []\n }, [product?.payload])\n\n return (\n <div id=\"purchase-bar\" className=\"sticky left-0 top-0 z-[45] w-full border-b border-[#E4E5E6] bg-white\">\n <Container>\n <div className=\"tablet:justify-between desktop:gap-16 tablet:gap-0 tablet:w-full flex flex-wrap items-center gap-[10px]\">\n <div className=\"desktop:pt-6 desktop:pb-0 min-w-0 flex-1 py-3\">\n <Heading size={2} className=\"line-clamp-2\" html={product?.title} />\n <div className=\"desktop:block mt-3 hidden\">\n <ScrollSpyNav\n tabs={PurchaseBarData}\n className=\"\"\n renderRating={renderRating}\n onSpyNavItemClick={onSpyNavItemClick}\n />\n </div>\n </div>\n <div className=\"desktop:block hidden shrink-0\">\n <ProductActions />\n </div>\n </div>\n </Container>\n <Container className=\"desktop:hidden relative\">\n <div className=\"absolute left-0 top-0 h-px w-full bg-[#E4E5E6]\"></div>\n <ScrollSpyNav tabs={PurchaseBarData} renderRating={renderRating} onSpyNavItemClick={onSpyNavItemClick} />\n </Container>\n </div>\n )\n}\n\nexport default withLayout(PurchaseBar)\n"],
5
+ "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GAmBU,IAAAI,EAAA,6BAnBVC,EAAwB,iBACxBC,EAAiD,2CAEjDC,EAA+B,uBAC/BC,EAAqC,uCACrCC,EAAyB,sCACzBC,EAA2B,wCAE3B,MAAMC,EAAc,CAAC,CAAE,kBAAAC,CAAkB,IAAwB,CAC/D,KAAM,CAAE,QAAAC,EAAS,aAAAC,CAAa,KAAI,wBAAqB,EAEjDC,KAAkB,WAAQ,IACvBF,GAAS,SAAS,YAAY,KAAMG,GAAcA,EAAK,eAAiB,aAAa,GAAG,MAAQ,CAAC,EACvG,CAACH,GAAS,OAAO,CAAC,EAErB,SACE,QAAC,OAAI,GAAG,eAAe,UAAU,uEAC/B,oBAAC,aACC,oBAAC,OAAI,UAAU,0GACb,qBAAC,OAAI,UAAU,gDACb,oBAAC,WAAQ,KAAM,EAAG,UAAU,eAAe,KAAMA,GAAS,MAAO,KACjE,OAAC,OAAI,UAAU,4BACb,mBAAC,EAAAI,QAAA,CACC,KAAMF,EACN,UAAU,GACV,aAAcD,EACd,kBAAmBF,EACrB,EACF,GACF,KACA,OAAC,OAAI,UAAU,gCACb,mBAAC,mBAAe,EAClB,GACF,EACF,KACA,QAAC,aAAU,UAAU,0BACnB,oBAAC,OAAI,UAAU,iDAAiD,KAChE,OAAC,EAAAK,QAAA,CAAa,KAAMF,EAAiB,aAAcD,EAAc,kBAAmBF,EAAmB,GACzG,GACF,CAEJ,EAEA,IAAOV,KAAQ,cAAWS,CAAW",
6
6
  "names": ["PurchaseBar_exports", "__export", "PurchaseBar_default", "__toCommonJS", "import_jsx_runtime", "import_react", "import_components", "import__", "import_BizProductProvider", "import_ScrollSpyNav", "import_Styles", "PurchaseBar", "onSpyNavItemClick", "product", "renderRating", "PurchaseBarData", "item", "ScrollSpyNav"]
7
7
  }
@@ -0,0 +1,3 @@
1
+ import type { Options, Product } from '../types/product';
2
+ import { type Dispatch, type SetStateAction } from 'react';
3
+ export declare function useSelectedOptions(product: Product, sku?: string): [Options, Dispatch<SetStateAction<Options>>];
@@ -0,0 +1,2 @@
1
+ "use strict";var e=Object.defineProperty;var v=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var S=Object.prototype.hasOwnProperty;var P=(o,t)=>{for(var n in t)e(o,n,{get:t[n],enumerable:!0})},h=(o,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of y(t))!S.call(o,i)&&i!==n&&e(o,i,{get:()=>t[i],enumerable:!(r=v(t,i))||r.enumerable});return o};var l=o=>h(e({},"__esModule",{value:!0}),o);var V={};P(V,{useSelectedOptions:()=>D});module.exports=l(V);var s=require("../utils/helper"),u=require("query-string"),a=require("react"),d=require("../utils");function D(o,t){const[n,r]=(0,a.useState)({});return(0,a.useEffect)(()=>{const i=(0,u.parse)(window.location.search);let p=o.variants[0];if(i.variant){const O=(0,s.btoaID)(i.variant),f=o.variants.find(m=>t?m.sku===t:m.id===O);f&&(p=f)}const c=(0,d.optionsConstructor)(p.options);(0,s.isObjEmpty)(c)||r(c)},[o,t]),[n,r]}
2
+ //# sourceMappingURL=use-options.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/biz-components/Listing/hooks/use-options.ts"],
4
+ "sourcesContent": ["import type { Options, Product, ProductVariant } from '../types/product'\nimport { btoaID, isObjEmpty } from '../utils/helper'\nimport { parse } from 'query-string'\nimport { type Dispatch, type SetStateAction, useEffect, useState } from 'react'\n\nimport { optionsConstructor } from '../utils'\n\nexport function useSelectedOptions(product: Product, sku?: string) {\n /**\n * \u6839\u636E query string \u521D\u59CB\u5316 selectedOptions\n * \u5982\u679C\u4F20\u5165 sku \u5219\u6839\u636E sku \u83B7\u53D6 variant\uFF0C\u5426\u5219\u9ED8\u8BA4\u6839\u636E query \u7684 variant \u83B7\u53D6\n */\n const [options, setOptions] = useState<Options>({})\n\n useEffect(() => {\n const query = parse(window.location.search) as { variant?: string }\n // \u9875\u9762\u521D\u59CB\u5316\u8BFB\u53D6 query \u4E2D\u7684 variant, \u5982\u679C\u6CA1\u6709\u627E\u5230\u5BF9\u5E94 query \u4E2D id \u7684 variant\uFF0C\u9ED8\u8BA4\u9009\u4E2D\u7B2C\u4E00\u4E2A\n let variant = product.variants[0]\n if (query.variant) {\n const variantId = btoaID(query.variant)\n\n const foundVariant = product.variants.find((variant: ProductVariant) =>\n sku ? variant.sku === sku : variant.id === variantId,\n )\n if (foundVariant) {\n variant = foundVariant\n }\n }\n\n // \u66F4\u65B0\u5F53\u524D variant \u5BF9\u5E94\u7684 options\n const options = optionsConstructor(variant.options)\n\n if (!isObjEmpty(options)) {\n setOptions(options)\n }\n }, [product, sku])\n\n return [options, setOptions] as [Options, Dispatch<SetStateAction<Options>>]\n}\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,wBAAAE,IAAA,eAAAC,EAAAH,GACA,IAAAI,EAAmC,2BACnCC,EAAsB,wBACtBC,EAAwE,iBAExEC,EAAmC,oBAE5B,SAASL,EAAmBM,EAAkBC,EAAc,CAKjE,KAAM,CAACC,EAASC,CAAU,KAAI,YAAkB,CAAC,CAAC,EAElD,sBAAU,IAAM,CACd,MAAMC,KAAQ,SAAM,OAAO,SAAS,MAAM,EAE1C,IAAIC,EAAUL,EAAQ,SAAS,CAAC,EAChC,GAAII,EAAM,QAAS,CACjB,MAAME,KAAY,UAAOF,EAAM,OAAO,EAEhCG,EAAeP,EAAQ,SAAS,KAAMK,GAC1CJ,EAAMI,EAAQ,MAAQJ,EAAMI,EAAQ,KAAOC,CAC7C,EACIC,IACFF,EAAUE,EAEd,CAGA,MAAML,KAAU,sBAAmBG,EAAQ,OAAO,KAE7C,cAAWH,CAAO,GACrBC,EAAWD,CAAO,CAEtB,EAAG,CAACF,EAASC,CAAG,CAAC,EAEV,CAACC,EAASC,CAAU,CAC7B",
6
+ "names": ["use_options_exports", "__export", "useSelectedOptions", "__toCommonJS", "import_helper", "import_query_string", "import_react", "import_utils", "product", "sku", "options", "setOptions", "query", "variant", "variantId", "foundVariant"]
7
+ }
@@ -0,0 +1,3 @@
1
+ export declare function YouTubePlayer({ youTubeId }: {
2
+ youTubeId: string;
3
+ }): import("react/jsx-runtime").JSX.Element;
@@ -1,2 +1,2 @@
1
- "use strict";"use client";var oe=Object.create;var v=Object.defineProperty;var ne=Object.getOwnPropertyDescriptor;var ie=Object.getOwnPropertyNames;var le=Object.getPrototypeOf,ce=Object.prototype.hasOwnProperty;var de=(r,s)=>{for(var t in s)v(r,t,{get:s[t],enumerable:!0})},S=(r,s,t,o)=>{if(s&&typeof s=="object"||typeof s=="function")for(let n of ie(s))!ce.call(r,n)&&n!==t&&v(r,n,{get:()=>s[n],enumerable:!(o=ne(s,n))||o.enumerable});return r};var l=(r,s,t)=>(t=r!=null?oe(le(r)):{},S(s||!r||!r.__esModule?v(t,"default",{value:r,enumerable:!0}):t,r)),pe=r=>S(v({},"__esModule",{value:!0}),r);var ye={};de(ye,{default:()=>fe});module.exports=pe(ye);var e=require("react/jsx-runtime"),a=l(require("react")),L=require("es-toolkit"),P=require("react-intersection-observer"),u=require("../../helpers/utils.js"),$=require("../../shared/Styles.js"),B=l(require("../Slogan/index.js")),Y=require("../VideoModal/YouTubePlayer.js"),d=require("../../components/gird.js"),q=require("../../components/container.js"),F=l(require("../BrandEquity/index.js")),I=l(require("../MemberEquity/index.js")),j=l(require("../Spacer/index.js")),G=l(require("gsap")),N=require("@payloadcms/richtext-lexical/html"),k=require("react-responsive"),V=l(require("../../helpers/ScrollLoadVideo.js"));const T=({defaultConverters:r})=>({...r,text:s=>{const{node:t}=s;return t.$&&t.$.color?`<span class="lexical-${t.$.color}">${t.text}</span>`:t.text}}),x=({children:r,spaceY:s,className:t})=>{const o=(0,k.useMediaQuery)({query:"(max-width: 768px)"});return(0,e.jsx)(q.Container,{spaceY:s,className:(0,u.cn)("!bg-transparent",t),children:(0,e.jsxs)(d.Grid,{children:[!o&&(0,e.jsx)(d.GridItem,{span:1}),(0,e.jsx)(d.GridItem,{span:o?12:10,children:r}),!o&&(0,e.jsx)(d.GridItem,{span:1})]})})},me=a.default.forwardRef(({children:r,id:s,components:t},o)=>{const n=(0,a.useRef)(null);return(0,e.jsxs)("div",{ref:n,className:"relative z-10",children:[(0,e.jsx)(e.Fragment,{children:r}),(0,e.jsx)(e.Fragment,{children:t?.map(i=>{switch(i.blockType){case"ipc-brand-equity":return(0,e.jsx)("div",{className:"relative z-20 bg-transparent",children:(0,e.jsx)(x,{spaceY:"none",children:(0,e.jsx)(F.default,{data:i,style:i?.style})})});case"ipc-member-equity":return(0,e.jsx)("div",{className:"relative z-20 w-full bg-transparent",children:(0,e.jsx)(x,{spaceY:"none",children:(0,e.jsx)(I.default,{data:i,className:"w-full",style:i?.style})})});case"ipc-spacer":return(0,e.jsx)(j.default,{data:i,style:i?.style,className:"!bg-transparent"});default:return null}})})]})}),ue=(0,a.forwardRef)(({className:r="",wrapperClassName:s="",id:t,data:{title:o,videoTitle:n,mobVideo:i,mobImg:f,img:y,isYouTube:Q,youtubePcId:M,youtubeMobileId:O,video:b,theme:R,shape:W,components:_}},ve)=>{const H=(0,a.useRef)(null),w=(0,a.useRef)(null),{ref:A,inView:p}=(0,P.useInView)(),[be,J]=(0,a.useState)(0),[z,K]=(0,a.useState)(!1),[U,X]=(0,a.useState)(!1),Z=(0,a.useRef)(null),D=typeof o=="string"?o:o&&(0,N.convertLexicalToHTML)({data:o,converters:T});typeof n=="string"||n&&(0,N.convertLexicalToHTML)({data:n,converters:T});const[ee,te]=(0,a.useState)(0),[c,re]=(0,a.useState)(!1),C=(0,k.useMediaQuery)({query:"(max-width: 768px)"});(0,a.useEffect)(()=>{re(C)},[C]);const g=(0,L.debounce)(()=>{if(w.current){const h=w.current.getBoundingClientRect(),m=c?window.screen.height:window.innerHeight,ae=window.scrollY||window.pageYOffset,se=h.bottom+ae,E=document.documentElement.scrollHeight-se;te(E>m?m:E),J(m)}},2e3);return(0,a.useEffect)(()=>{p&&!z&&(H.current?.play(),K(!0))},[p,z]),(0,a.useEffect)(()=>(g(),window.addEventListener("resize",g),()=>{window.removeEventListener("resize",g)}),[]),(0,a.useEffect)(()=>{function h(){const m=c?window.screen.height:window.innerHeight;G.default.timeline({scrollTrigger:{trigger:`#${t}`,start:"top top",end:`top+=${m*1.8}px bottom`,scrub:.5}}).from(`#${t} .media-content`,{top:"50%",transform:"translate(-50%, -50%)"}).to(`.${t} .sticky-cover`,{backdropFilter:"blur(8px)",duration:.4}).to(`#${t} .media-content`,{top:"100%",transform:"translate(-50%, -100%)",duration:1},"<")}p&&h()},[p]),(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("div",{id:t,className:(0,u.cn)("relative z-20 h-screen w-full",r,{"aiui-dark":R==="dark","rounded-box":W==="rounded"}),ref:Z,children:(0,e.jsx)("div",{ref:A,className:"media-content translate-z-0 absolute left-1/2 top-1/2 z-10 w-full -translate-x-1/2 -translate-y-1/2 antialiased",style:{willChange:"transform",contain:"paint"},children:(0,e.jsx)(x,{spaceY:"tablet:my-[32px] my-[24px] space-y-4",children:(0,e.jsx)(B.default,{className:"sticky-title antialiased",data:{title:D||"",theme:R}})})})}),(0,e.jsxs)("div",{ref:w,style:{marginBottom:`-${ee}px`,zIndex:p?2:1},className:(0,u.cn)(t,"relative mt-[-200vh]",s),children:[(0,e.jsx)("div",{className:"sticky top-0 ",children:(0,e.jsxs)("div",{className:(0,u.cn)("media-cover","relative h-screen w-full"),children:[Q?(0,e.jsx)(Y.YouTubePlayer,{youTubeId:c&&O||M}):b?.url&&(0,e.jsx)(V.default,{videoRef:H,poster:c&&f?.url?f?.url:y?.url,src:c&&i?.url?i?.url:b?.url,className:"lg-desktop:aspect-w-[1920] lg-desktop:aspect-h-[930] lg:aspect-w-[1440] lg:aspect-h-[700] desktop:aspect-w-[1024] desktop:aspect-h-[520] tablet:aspect-w-[768] tablet:aspect-h-[660] aspect-w-[390] aspect-h-[660]",videoClassName:" object-cover object-[82%]",muted:!0,loop:!1,playsInline:!0,onEnded:()=>{X(!0)}}),y?.url&&(!b?.url||U)&&(0,e.jsx)("img",{src:c&&f?.url?f?.url:y?.url,alt:y?.alt,className:"z-1 absolute left-0 top-0 size-full object-cover object-[82%]",loading:"lazy"}),(0,e.jsx)("div",{className:"sticky-cover absolute left-0 top-0 z-10 size-full",style:{backdropFilter:"blur(0px)",WebkitBackdropFilter:"blur(0px)",willChange:"backdrop-filter"}})]})}),(0,e.jsx)("div",{className:"relative h-screen w-full"}),(0,e.jsx)(me,{components:_}),(0,e.jsx)("div",{className:"relative h-screen w-full"})]})]})});var fe=(0,$.withLayout)(ue);
1
+ "use strict";"use client";var ne=Object.create;var w=Object.defineProperty;var ie=Object.getOwnPropertyDescriptor;var le=Object.getOwnPropertyNames;var oe=Object.getPrototypeOf,ce=Object.prototype.hasOwnProperty;var de=(r,s)=>{for(var t in s)w(r,t,{get:s[t],enumerable:!0})},H=(r,s,t,n)=>{if(s&&typeof s=="object"||typeof s=="function")for(let i of le(s))!ce.call(r,i)&&i!==t&&w(r,i,{get:()=>s[i],enumerable:!(n=ie(s,i))||n.enumerable});return r};var d=(r,s,t)=>(t=r!=null?ne(oe(r)):{},H(s||!r||!r.__esModule?w(t,"default",{value:r,enumerable:!0}):t,r)),pe=r=>H(w({},"__esModule",{value:!0}),r);var ye={};de(ye,{default:()=>fe});module.exports=pe(ye);var e=require("react/jsx-runtime"),a=d(require("react")),T=require("react-intersection-observer"),f=require("../../helpers/utils.js"),$=require("../../shared/Styles.js"),B=d(require("../Slogan/index.js")),q=require("../VideoModal/YouTubePlayer.js"),u=require("../../components/gird.js"),F=require("../../components/container.js"),I=d(require("../BrandEquity/index.js")),Y=d(require("../MemberEquity/index.js")),V=d(require("../Spacer/index.js")),j=d(require("gsap")),x=require("@payloadcms/richtext-lexical/html"),N=require("react-responsive"),G=d(require("../../helpers/ScrollLoadVideo.js"));const P=({defaultConverters:r})=>({...r,text:s=>{const{node:t}=s;return t.$&&t.$.color?`<span class="lexical-${t.$.color}">${t.text}</span>`:t.text}}),g=({children:r,spaceY:s,className:t})=>{const n=(0,N.useMediaQuery)({query:"(max-width: 768px)"});return(0,e.jsx)(F.Container,{spaceY:s,className:(0,f.cn)("!bg-transparent",t),children:(0,e.jsxs)(u.Grid,{children:[!n&&(0,e.jsx)(u.GridItem,{span:1}),(0,e.jsx)(u.GridItem,{span:n?12:10,children:r}),!n&&(0,e.jsx)(u.GridItem,{span:1})]})})},ue=a.default.forwardRef(({children:r,id:s,components:t},n)=>{const i=(0,a.useRef)(null);return(0,e.jsxs)("div",{ref:i,className:"relative z-10",children:[(0,e.jsx)(e.Fragment,{children:r}),(0,e.jsx)(e.Fragment,{children:t?.map(l=>{switch(l.blockType){case"ipc-brand-equity":return(0,e.jsx)("div",{className:"relative z-20 bg-transparent",children:(0,e.jsx)(g,{spaceY:"none",children:(0,e.jsx)(I.default,{data:l,style:l?.style})})});case"ipc-member-equity":return(0,e.jsx)("div",{className:"relative z-20 w-full bg-transparent",children:(0,e.jsx)(g,{spaceY:"none",children:(0,e.jsx)(Y.default,{data:l,className:"w-full",style:l?.style})})});case"ipc-spacer":return(0,e.jsx)(V.default,{data:l,style:l?.style,className:"!bg-transparent"});default:return null}})})]})}),me=(0,a.forwardRef)(({className:r="",wrapperClassName:s="",id:t,data:{title:n,videoTitle:i,mobVideo:l,mobImg:y,img:v,isYouTube:A,youtubePcId:k,youtubeMobileId:Q,video:b,theme:M,shape:W,components:_}},ve)=>{const R=(0,a.useRef)(null),h=(0,a.useRef)(null),{ref:J,inView:m}=(0,T.useInView)(),[we,K]=(0,a.useState)(0),[z,O]=(0,a.useState)(!1),[U,X]=(0,a.useState)(!1),Z=(0,a.useRef)(null),D=typeof n=="string"?n:n&&(0,x.convertLexicalToHTML)({data:n,converters:P});typeof i=="string"||i&&(0,x.convertLexicalToHTML)({data:i,converters:P});const[ee,te]=(0,a.useState)(0),[o,re]=(0,a.useState)(!1),E=(0,N.useMediaQuery)({query:"(max-width: 768px)"});return(0,a.useEffect)(()=>{re(E)},[E]),(0,a.useEffect)(()=>{m&&!z&&(R.current?.play(),O(!0))},[m,z]),(0,a.useEffect)(()=>{let c=null;const p=()=>{if(h.current){const se=h.current.getBoundingClientRect(),S=o?window.screen.height:window.innerHeight,C=window.innerHeight-se.bottom;te(C<S?C:0),K(S)}},ae=()=>{p(),c=null};p();const L=()=>{c===null&&(c=requestAnimationFrame(ae))};return window.addEventListener("resize",p),window.addEventListener("scroll",L,{passive:!0}),()=>{window.removeEventListener("resize",p),window.removeEventListener("scroll",L),c!==null&&cancelAnimationFrame(c)}},[o]),(0,a.useEffect)(()=>{function c(){const p=o?window.screen.height:window.innerHeight;j.default.timeline({scrollTrigger:{trigger:`#${t}`,start:"top top",end:`top+=${p*1.8}px bottom`,scrub:.5}}).from(`#${t} .media-content`,{top:"50%",transform:"translate(-50%, -50%)"}).to(`.${t} .sticky-cover`,{backdropFilter:"blur(8px)",duration:.4}).to(`#${t} .media-content`,{top:"100%",transform:"translate(-50%, -100%)",duration:1},"<")}m&&c()},[m]),(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("div",{id:t,className:(0,f.cn)("relative z-20 h-screen w-full",r,{"aiui-dark":M==="dark","rounded-box":W==="rounded"}),ref:Z,children:(0,e.jsx)("div",{ref:J,className:"media-content translate-z-0 absolute left-1/2 top-1/2 z-10 w-full -translate-x-1/2 -translate-y-1/2 antialiased",style:{willChange:"transform",contain:"paint"},children:(0,e.jsx)(g,{spaceY:"tablet:my-[32px] my-[24px] space-y-4",children:(0,e.jsx)(B.default,{className:"sticky-title antialiased",data:{title:D||"",theme:M}})})})}),(0,e.jsxs)("div",{ref:h,style:{marginBottom:`-${ee}px`,zIndex:m?2:1},className:(0,f.cn)(t,"relative mt-[-200vh]",s),children:[(0,e.jsx)("div",{className:"sticky top-0 ",children:(0,e.jsxs)("div",{className:(0,f.cn)("media-cover","relative h-screen w-full"),children:[A?(0,e.jsx)(q.YouTubePlayer,{youTubeId:o&&Q||k}):b?.url&&(0,e.jsx)(G.default,{videoRef:R,poster:o&&y?.url?y?.url:v?.url,src:o&&l?.url?l?.url:b?.url,className:"lg-desktop:aspect-w-[1920] lg-desktop:aspect-h-[930] lg:aspect-w-[1440] lg:aspect-h-[700] desktop:aspect-w-[1024] desktop:aspect-h-[520] tablet:aspect-w-[768] tablet:aspect-h-[660] aspect-w-[390] aspect-h-[660]",videoClassName:" object-cover object-[82%]",muted:!0,loop:!1,playsInline:!0,onEnded:()=>{X(!0)}}),v?.url&&(!b?.url||U)&&(0,e.jsx)("img",{src:o&&y?.url?y?.url:v?.url,alt:v?.alt,className:"z-1 absolute left-0 top-0 size-full object-cover object-[82%]",loading:"lazy"}),(0,e.jsx)("div",{className:"sticky-cover absolute left-0 top-0 z-10 size-full",style:{backdropFilter:"blur(0px)",WebkitBackdropFilter:"blur(0px)",willChange:"backdrop-filter"}})]})}),(0,e.jsx)("div",{className:"relative h-screen w-full"}),(0,e.jsx)(ue,{components:_}),(0,e.jsx)("div",{className:"relative h-screen w-full"})]})]})});var fe=(0,$.withLayout)(me);
2
2
  //# sourceMappingURL=index.js.map