@anker-in/headless-ui 1.0.26-temp-111005 → 1.0.26-temp-111401-alpha.1763091370012

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 (1031) hide show
  1. package/dist/cjs/biz-components/AiuiProvider/index.d.ts +1 -1
  2. package/dist/cjs/biz-components/AiuiProvider/index.js.map +1 -1
  3. package/dist/cjs/biz-components/CollectionsFilters/FilterCardWrap.js +1 -1
  4. package/dist/cjs/biz-components/CollectionsFilters/FilterCardWrap.js.map +3 -3
  5. package/dist/cjs/biz-components/CollectionsFilters/FilterCardWrapItem.js +1 -1
  6. package/dist/cjs/biz-components/CollectionsFilters/FilterCardWrapItem.js.map +3 -3
  7. package/dist/cjs/biz-components/CollectionsFilters/component/TabFilter.js +1 -1
  8. package/dist/cjs/biz-components/CollectionsFilters/component/TabFilter.js.map +2 -2
  9. package/dist/cjs/biz-components/CollectionsFilters/index.js +1 -1
  10. package/dist/cjs/biz-components/CollectionsFilters/index.js.map +3 -3
  11. package/dist/cjs/biz-components/DownLoad/index.js +1 -1
  12. package/dist/cjs/biz-components/DownLoad/index.js.map +2 -2
  13. package/dist/cjs/biz-components/Evaluate/index.js +1 -1
  14. package/dist/cjs/biz-components/Evaluate/index.js.map +2 -2
  15. package/dist/cjs/biz-components/FeatureCards/FeatureCards.js +1 -1
  16. package/dist/cjs/biz-components/FeatureCards/FeatureCards.js.map +3 -3
  17. package/dist/cjs/biz-components/FeatureCards/types.d.ts +2 -0
  18. package/dist/cjs/biz-components/FeatureCards/types.js +1 -1
  19. package/dist/cjs/biz-components/FeatureCards/types.js.map +1 -1
  20. package/dist/cjs/biz-components/Graphic/index.js +1 -1
  21. package/dist/cjs/biz-components/Graphic/index.js.map +2 -2
  22. package/dist/cjs/biz-components/HeaderNavigation/index.js +1 -1
  23. package/dist/cjs/biz-components/HeaderNavigation/index.js.map +3 -3
  24. package/dist/cjs/biz-components/Listing/components/PaidShipping/index.js +1 -1
  25. package/dist/cjs/biz-components/Listing/components/PaidShipping/index.js.map +2 -2
  26. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.d.ts +1 -3
  27. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.js +4 -4
  28. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.js.map +3 -3
  29. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/ModalContainer.d.ts +10 -0
  30. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/ModalContainer.js +2 -0
  31. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/ModalContainer.js.map +7 -0
  32. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.js +1 -1
  33. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.js.map +2 -2
  34. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.js +1 -1
  35. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.js.map +2 -2
  36. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.js +1 -1
  37. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.js.map +2 -2
  38. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.js +1 -1
  39. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.js.map +2 -2
  40. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js +1 -1
  41. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js.map +3 -3
  42. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.js +1 -1
  43. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.js.map +2 -2
  44. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/index.js +1 -1
  45. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/index.js.map +3 -3
  46. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductSummary/index.d.ts +1 -2
  47. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductSummary/index.js +1 -1
  48. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductSummary/index.js.map +3 -3
  49. package/dist/cjs/biz-components/Listing/components/PurchaseBar/ProductActions/index.js +1 -1
  50. package/dist/cjs/biz-components/Listing/components/PurchaseBar/ProductActions/index.js.map +3 -3
  51. package/dist/cjs/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/index.d.ts +2 -3
  52. package/dist/cjs/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/index.js +1 -1
  53. package/dist/cjs/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/index.js.map +3 -3
  54. package/dist/cjs/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/types.d.ts +3 -0
  55. package/dist/cjs/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/types.js +1 -1
  56. package/dist/cjs/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/types.js.map +1 -1
  57. package/dist/cjs/biz-components/Listing/components/PurchaseBar/index.js +1 -1
  58. package/dist/cjs/biz-components/Listing/components/PurchaseBar/index.js.map +3 -3
  59. package/dist/cjs/biz-components/Listing/hooks/useBenefits.js +1 -1
  60. package/dist/cjs/biz-components/Listing/hooks/useBenefits.js.map +3 -3
  61. package/dist/cjs/biz-components/Listing/hooks/useDiscountEnable.d.ts +14 -0
  62. package/dist/cjs/biz-components/Listing/hooks/useDiscountEnable.js +2 -0
  63. package/dist/cjs/biz-components/Listing/hooks/useDiscountEnable.js.map +7 -0
  64. package/dist/cjs/biz-components/Listing/types.d.ts +1 -0
  65. package/dist/cjs/biz-components/Listing/types.js +1 -1
  66. package/dist/cjs/biz-components/Listing/types.js.map +1 -1
  67. package/dist/cjs/biz-components/MediaPlayerSticky/index.js +1 -1
  68. package/dist/cjs/biz-components/MediaPlayerSticky/index.js.map +3 -3
  69. package/dist/cjs/biz-components/SelectStore/index.js +1 -1
  70. package/dist/cjs/biz-components/SelectStore/index.js.map +2 -2
  71. package/dist/cjs/biz-components/ShelfDisplay/shelfDisplayItem.js +2 -2
  72. package/dist/cjs/biz-components/ShelfDisplay/shelfDisplayItem.js.map +2 -2
  73. package/dist/cjs/biz-components/Specs/index.js +1 -1
  74. package/dist/cjs/biz-components/Specs/index.js.map +3 -3
  75. package/dist/cjs/biz-components/Tabs/Tabs.js +1 -1
  76. package/dist/cjs/biz-components/Tabs/Tabs.js.map +2 -2
  77. package/dist/cjs/biz-components/Tabs/types.d.ts +1 -0
  78. package/dist/cjs/biz-components/Tabs/types.js +1 -1
  79. package/dist/cjs/biz-components/Tabs/types.js.map +1 -1
  80. package/dist/cjs/biz-components/Title/index.js +1 -1
  81. package/dist/cjs/biz-components/Title/index.js.map +3 -3
  82. package/dist/cjs/biz-components/Title/types.d.ts +1 -0
  83. package/dist/cjs/biz-components/Title/types.js +1 -1
  84. package/dist/cjs/biz-components/Title/types.js.map +1 -1
  85. package/dist/cjs/biz-components/index.d.ts +9 -0
  86. package/dist/cjs/biz-components/index.js +1 -1
  87. package/dist/cjs/biz-components/index.js.map +3 -3
  88. package/dist/cjs/components/index.d.ts +1 -0
  89. package/dist/cjs/components/index.js +1 -1
  90. package/dist/cjs/components/index.js.map +3 -3
  91. package/dist/cjs/helpers/utils.d.ts +1 -0
  92. package/dist/cjs/helpers/utils.js +1 -1
  93. package/dist/cjs/helpers/utils.js.map +3 -3
  94. package/dist/cjs/hooks/useRollout.d.ts +2 -14
  95. package/dist/cjs/hooks/useRollout.js +1 -1
  96. package/dist/cjs/hooks/useRollout.js.map +3 -3
  97. package/dist/cjs/shared/ErrorBoundary.d.ts +18 -0
  98. package/dist/cjs/shared/ErrorBoundary.js +2 -0
  99. package/dist/cjs/shared/ErrorBoundary.js.map +7 -0
  100. package/dist/cjs/shared/Styles.js +1 -1
  101. package/dist/cjs/shared/Styles.js.map +3 -3
  102. package/dist/cjs/stories/featureCards.stories.js +21 -1
  103. package/dist/cjs/stories/featureCards.stories.js.map +3 -3
  104. package/dist/esm/biz-components/AiuiProvider/index.d.ts +1 -1
  105. package/dist/esm/biz-components/AiuiProvider/index.js.map +1 -1
  106. package/dist/esm/biz-components/CollectionsFilters/FilterCardWrap.js +1 -1
  107. package/dist/esm/biz-components/CollectionsFilters/FilterCardWrap.js.map +3 -3
  108. package/dist/esm/biz-components/CollectionsFilters/FilterCardWrapItem.js +1 -1
  109. package/dist/esm/biz-components/CollectionsFilters/FilterCardWrapItem.js.map +3 -3
  110. package/dist/esm/biz-components/CollectionsFilters/component/TabFilter.js +1 -1
  111. package/dist/esm/biz-components/CollectionsFilters/component/TabFilter.js.map +2 -2
  112. package/dist/esm/biz-components/CollectionsFilters/index.js +1 -1
  113. package/dist/esm/biz-components/CollectionsFilters/index.js.map +3 -3
  114. package/dist/esm/biz-components/DownLoad/index.js +1 -1
  115. package/dist/esm/biz-components/DownLoad/index.js.map +2 -2
  116. package/dist/esm/biz-components/Evaluate/index.js +1 -1
  117. package/dist/esm/biz-components/Evaluate/index.js.map +2 -2
  118. package/dist/esm/biz-components/FeatureCards/FeatureCards.js +1 -1
  119. package/dist/esm/biz-components/FeatureCards/FeatureCards.js.map +3 -3
  120. package/dist/esm/biz-components/FeatureCards/types.d.ts +2 -0
  121. package/dist/esm/biz-components/Graphic/index.js +1 -1
  122. package/dist/esm/biz-components/Graphic/index.js.map +2 -2
  123. package/dist/esm/biz-components/HeaderNavigation/index.js +1 -1
  124. package/dist/esm/biz-components/HeaderNavigation/index.js.map +3 -3
  125. package/dist/esm/biz-components/Listing/components/PaidShipping/index.js +1 -1
  126. package/dist/esm/biz-components/Listing/components/PaidShipping/index.js.map +2 -2
  127. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.d.ts +1 -3
  128. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.js +4 -4
  129. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.js.map +3 -3
  130. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/ModalContainer.d.ts +10 -0
  131. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/ModalContainer.js +2 -0
  132. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/ModalContainer.js.map +7 -0
  133. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.js +1 -1
  134. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.js.map +2 -2
  135. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.js +1 -1
  136. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.js.map +2 -2
  137. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.js +1 -1
  138. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.js.map +2 -2
  139. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.js +1 -1
  140. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.js.map +2 -2
  141. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js +1 -1
  142. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js.map +3 -3
  143. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.js +1 -1
  144. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.js.map +2 -2
  145. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/index.js +1 -1
  146. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/index.js.map +3 -3
  147. package/dist/esm/biz-components/Listing/components/ProductCard/ProductSummary/index.d.ts +1 -2
  148. package/dist/esm/biz-components/Listing/components/ProductCard/ProductSummary/index.js +1 -1
  149. package/dist/esm/biz-components/Listing/components/ProductCard/ProductSummary/index.js.map +2 -2
  150. package/dist/esm/biz-components/Listing/components/PurchaseBar/ProductActions/index.js +1 -1
  151. package/dist/esm/biz-components/Listing/components/PurchaseBar/ProductActions/index.js.map +3 -3
  152. package/dist/esm/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/index.d.ts +2 -3
  153. package/dist/esm/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/index.js +1 -1
  154. package/dist/esm/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/index.js.map +3 -3
  155. package/dist/esm/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/types.d.ts +3 -0
  156. package/dist/esm/biz-components/Listing/components/PurchaseBar/index.js +1 -1
  157. package/dist/esm/biz-components/Listing/components/PurchaseBar/index.js.map +3 -3
  158. package/dist/esm/biz-components/Listing/hooks/useBenefits.js +1 -1
  159. package/dist/esm/biz-components/Listing/hooks/useBenefits.js.map +3 -3
  160. package/dist/esm/biz-components/Listing/hooks/useDiscountEnable.d.ts +14 -0
  161. package/dist/esm/biz-components/Listing/hooks/useDiscountEnable.js +2 -0
  162. package/dist/esm/biz-components/Listing/hooks/useDiscountEnable.js.map +7 -0
  163. package/dist/esm/biz-components/Listing/types.d.ts +1 -0
  164. package/dist/esm/biz-components/MediaPlayerSticky/index.js +1 -1
  165. package/dist/esm/biz-components/MediaPlayerSticky/index.js.map +3 -3
  166. package/dist/esm/biz-components/SelectStore/index.js +1 -1
  167. package/dist/esm/biz-components/SelectStore/index.js.map +2 -2
  168. package/dist/esm/biz-components/ShelfDisplay/shelfDisplayItem.js +2 -2
  169. package/dist/esm/biz-components/ShelfDisplay/shelfDisplayItem.js.map +2 -2
  170. package/dist/esm/biz-components/Specs/index.js +1 -1
  171. package/dist/esm/biz-components/Specs/index.js.map +3 -3
  172. package/dist/esm/biz-components/Tabs/Tabs.js +1 -1
  173. package/dist/esm/biz-components/Tabs/Tabs.js.map +2 -2
  174. package/dist/esm/biz-components/Tabs/types.d.ts +1 -0
  175. package/dist/esm/biz-components/Title/index.js +1 -1
  176. package/dist/esm/biz-components/Title/index.js.map +3 -3
  177. package/dist/esm/biz-components/Title/types.d.ts +1 -0
  178. package/dist/esm/biz-components/index.d.ts +9 -0
  179. package/dist/esm/biz-components/index.js +1 -1
  180. package/dist/esm/biz-components/index.js.map +2 -2
  181. package/dist/esm/components/index.d.ts +1 -0
  182. package/dist/esm/components/index.js +1 -1
  183. package/dist/esm/components/index.js.map +2 -2
  184. package/dist/esm/helpers/utils.d.ts +1 -0
  185. package/dist/esm/helpers/utils.js +1 -1
  186. package/dist/esm/helpers/utils.js.map +3 -3
  187. package/dist/esm/hooks/useRollout.d.ts +2 -14
  188. package/dist/esm/hooks/useRollout.js +1 -1
  189. package/dist/esm/hooks/useRollout.js.map +3 -3
  190. package/dist/esm/shared/ErrorBoundary.d.ts +18 -0
  191. package/dist/esm/shared/ErrorBoundary.js +2 -0
  192. package/dist/esm/shared/ErrorBoundary.js.map +7 -0
  193. package/dist/esm/shared/Styles.js +1 -1
  194. package/dist/esm/shared/Styles.js.map +3 -3
  195. package/dist/esm/stories/featureCards.stories.js +22 -2
  196. package/dist/esm/stories/featureCards.stories.js.map +3 -3
  197. package/dist/tokens/base.css +5 -1
  198. package/package.json +1 -3
  199. package/style.css +23 -0
  200. package/dist/cjs/apps/playground/utils/classnames.d.ts +0 -1
  201. package/dist/cjs/apps/storefront/lib/utils/classnames.d.ts +0 -2
  202. package/dist/cjs/biz-components/AccordionCards/useDebounce.d.ts +0 -6
  203. package/dist/cjs/biz-components/CollectionsBanner/HeroBanner.d.ts +0 -7
  204. package/dist/cjs/biz-components/CollectionsFilters/AnimatedUL.d.ts +0 -9
  205. package/dist/cjs/biz-components/CollectionsFilters/FilterTab.d.ts +0 -7
  206. package/dist/cjs/biz-components/CollectionsFilters/FiterTab.d.ts +0 -7
  207. package/dist/cjs/biz-components/CollectionsFilters/FiterTab.js +0 -2
  208. package/dist/cjs/biz-components/CollectionsFilters/FiterTab.js.map +0 -7
  209. package/dist/cjs/biz-components/CollectionsFilters/Helper.d.ts +0 -8
  210. package/dist/cjs/biz-components/CollectionsFilters/MoblieSortFilter.d.ts +0 -8
  211. package/dist/cjs/biz-components/CollectionsFilters/SortFilter.d.ts +0 -8
  212. package/dist/cjs/biz-components/CollectionsFilters/component/LoadingDots.d.ts +0 -6
  213. package/dist/cjs/biz-components/CollectionsFilters/data.d.ts +0 -24804
  214. package/dist/cjs/biz-components/CollectionsFilters/price.d.ts +0 -25
  215. package/dist/cjs/biz-components/CollectionsFilters/priceProps.d.ts +0 -215
  216. package/dist/cjs/biz-components/CollectionsFilters/tabFilter.d.ts +0 -10
  217. package/dist/cjs/biz-components/CollectionsFilters/tabSwitch.d.ts +0 -9
  218. package/dist/cjs/biz-components/Listing/ProductProvider.d.ts +0 -52
  219. package/dist/cjs/biz-components/Listing/ProductProvider.js +0 -2
  220. package/dist/cjs/biz-components/Listing/ProductProvider.js.map +0 -7
  221. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTabs/index.d.ts +0 -5
  222. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductSummary/types.d.ts +0 -2
  223. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductSummary/types.js +0 -2
  224. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductSummary/types.js.map +0 -7
  225. package/dist/cjs/biz-components/Listing/hooks/use-options.d.ts +0 -3
  226. package/dist/cjs/biz-components/Listing/hooks/use-options.js +0 -2
  227. package/dist/cjs/biz-components/Listing/hooks/use-options.js.map +0 -7
  228. package/dist/cjs/biz-components/MediaPlayerMulti/YouTubePlayer.d.ts +0 -3
  229. package/dist/cjs/biz-components/SectionHeading/SectionHeading.d.ts +0 -4
  230. package/dist/cjs/biz-components/SectionHeading/index.d.ts +0 -0
  231. package/dist/cjs/biz-components/SectionHeading/types.d.ts +0 -6
  232. package/dist/cjs/biz-components/Shelf/Shelf.d.ts +0 -8
  233. package/dist/cjs/biz-components/Shelf/index.d.ts +0 -1
  234. package/dist/cjs/biz-components/Shelf/types.d.ts +0 -6
  235. package/dist/cjs/biz-components/ShelfDisplay/tab.d.ts +0 -7
  236. package/dist/cjs/biz-components/TextMa/index.d.ts +0 -9
  237. package/dist/cjs/campaign-ui/tailwind.config.d.ts +0 -62
  238. package/dist/cjs/components/col.d.ts +0 -29
  239. package/dist/cjs/components/dropdown.d.ts +0 -27
  240. package/dist/cjs/components/inputnumber.d.ts +0 -0
  241. package/dist/cjs/components/row.d.ts +0 -18
  242. package/dist/cjs/helpers/get-subtree.d.ts +0 -12
  243. package/dist/cjs/hooks/useEXposure.d.ts +0 -12
  244. package/dist/cjs/hooks/useMemberPrice.d.ts +0 -20
  245. package/dist/cjs/packages/ui/src/components/avatar.d.ts +0 -26
  246. package/dist/cjs/packages/ui/src/components/index.d.ts +0 -20
  247. package/dist/cjs/packages/ui/src/index.d.ts +0 -1
  248. package/dist/cjs/packages/ui/src/stories/avatar.stories.d.ts +0 -40
  249. package/dist/cjs/packages/ui/src/stories/badge.stories.d.ts +0 -26
  250. package/dist/cjs/packages/ui/src/stories/button.stories.d.ts +0 -48
  251. package/dist/cjs/packages/ui/src/stories/checkbox.stories.d.ts +0 -46
  252. package/dist/cjs/packages/ui/src/stories/container.stories.d.ts +0 -36
  253. package/dist/cjs/packages/ui/src/stories/dialog.stories.d.ts +0 -20
  254. package/dist/cjs/packages/ui/src/stories/grid.stories.d.ts +0 -42
  255. package/dist/cjs/packages/ui/src/stories/heading.stories.d.ts +0 -82
  256. package/dist/cjs/packages/ui/src/stories/input.stories.d.ts +0 -35
  257. package/dist/cjs/packages/ui/src/stories/picture.stories.d.ts +0 -18
  258. package/dist/cjs/packages/ui/src/stories/popover.stories.d.ts +0 -17
  259. package/dist/cjs/packages/ui/src/stories/radio.stories.d.ts +0 -39
  260. package/dist/cjs/packages/ui/src/stories/skeleton.stories.d.ts +0 -20
  261. package/dist/cjs/packages/ui/src/stories/tabs.stories.d.ts +0 -373
  262. package/dist/cjs/packages/ui/src/stories/text.stories.d.ts +0 -94
  263. package/dist/cjs/src/biz-components/AccordionCards/index.d.ts +0 -38
  264. package/dist/cjs/src/biz-components/AiuiProvider/index.d.ts +0 -16
  265. package/dist/cjs/src/biz-components/AplusDesc/index.d.ts +0 -22
  266. package/dist/cjs/src/biz-components/BrandEquity/BrandEquity.d.ts +0 -6
  267. package/dist/cjs/src/biz-components/BrandEquity/index.d.ts +0 -1
  268. package/dist/cjs/src/biz-components/BrandEquity/types.d.ts +0 -18
  269. package/dist/cjs/src/biz-components/Category/SwiperCategory.d.ts +0 -19
  270. package/dist/cjs/src/biz-components/Category/index.d.ts +0 -35
  271. package/dist/cjs/src/biz-components/CreativeModule/index.d.ts +0 -21
  272. package/dist/cjs/src/biz-components/DownLoad/index.d.ts +0 -20
  273. package/dist/cjs/src/biz-components/Evaluate/index.d.ts +0 -37
  274. package/dist/cjs/src/biz-components/Faq/Faq.d.ts +0 -14
  275. package/dist/cjs/src/biz-components/Faq/index.d.ts +0 -2
  276. package/dist/cjs/src/biz-components/Faq/types.d.ts +0 -12
  277. package/dist/cjs/src/biz-components/FeatureCards/FeatureCards.d.ts +0 -7
  278. package/dist/cjs/src/biz-components/FeatureCards/index.d.ts +0 -2
  279. package/dist/cjs/src/biz-components/FeatureCards/types.d.ts +0 -25
  280. package/dist/cjs/src/biz-components/FeatureShowcase/FeatureShowcase.d.ts +0 -7
  281. package/dist/cjs/src/biz-components/FeatureShowcase/index.d.ts +0 -2
  282. package/dist/cjs/src/biz-components/FeatureShowcase/types.d.ts +0 -21
  283. package/dist/cjs/src/biz-components/Features/index.d.ts +0 -26
  284. package/dist/cjs/src/biz-components/FootCharger/index.d.ts +0 -12
  285. package/dist/cjs/src/biz-components/FooterNavigation/icons/Add.d.ts +0 -3
  286. package/dist/cjs/src/biz-components/FooterNavigation/icons/ArrowRight.d.ts +0 -3
  287. package/dist/cjs/src/biz-components/FooterNavigation/icons/Country.d.ts +0 -3
  288. package/dist/cjs/src/biz-components/FooterNavigation/icons/Subtract.d.ts +0 -3
  289. package/dist/cjs/src/biz-components/FooterNavigation/icons/index.d.ts +0 -5
  290. package/dist/cjs/src/biz-components/FooterNavigation/index.d.ts +0 -6
  291. package/dist/cjs/src/biz-components/FooterNavigation/types.d.ts +0 -15
  292. package/dist/cjs/src/biz-components/GiftBox/index.d.ts +0 -17
  293. package/dist/cjs/src/biz-components/Graphic/index.d.ts +0 -38
  294. package/dist/cjs/src/biz-components/GraphicAttractionBlock/index.d.ts +0 -25
  295. package/dist/cjs/src/biz-components/GraphicMore/index.d.ts +0 -22
  296. package/dist/cjs/src/biz-components/GraphicOverlay/GraphicOverlay.d.ts +0 -8
  297. package/dist/cjs/src/biz-components/GraphicOverlay/index.d.ts +0 -2
  298. package/dist/cjs/src/biz-components/GraphicOverlay/types.d.ts +0 -33
  299. package/dist/cjs/src/biz-components/HeaderNavigation/NavProvider.d.ts +0 -36
  300. package/dist/cjs/src/biz-components/HeaderNavigation/icons/AnkerLogo.d.ts +0 -3
  301. package/dist/cjs/src/biz-components/HeaderNavigation/icons/Cart.d.ts +0 -3
  302. package/dist/cjs/src/biz-components/HeaderNavigation/icons/Close.d.ts +0 -3
  303. package/dist/cjs/src/biz-components/HeaderNavigation/icons/DownArrow.d.ts +0 -3
  304. package/dist/cjs/src/biz-components/HeaderNavigation/icons/LeftArrow.d.ts +0 -3
  305. package/dist/cjs/src/biz-components/HeaderNavigation/icons/LogoLine.d.ts +0 -3
  306. package/dist/cjs/src/biz-components/HeaderNavigation/icons/Menu.d.ts +0 -3
  307. package/dist/cjs/src/biz-components/HeaderNavigation/icons/Polygon.d.ts +0 -3
  308. package/dist/cjs/src/biz-components/HeaderNavigation/icons/RightArrow.d.ts +0 -3
  309. package/dist/cjs/src/biz-components/HeaderNavigation/icons/Search.d.ts +0 -3
  310. package/dist/cjs/src/biz-components/HeaderNavigation/icons/User.d.ts +0 -3
  311. package/dist/cjs/src/biz-components/HeaderNavigation/icons/index.d.ts +0 -12
  312. package/dist/cjs/src/biz-components/HeaderNavigation/index.d.ts +0 -7
  313. package/dist/cjs/src/biz-components/HeaderNavigation/types.d.ts +0 -103
  314. package/dist/cjs/src/biz-components/HeaderNavigation/withCategory.d.ts +0 -9
  315. package/dist/cjs/src/biz-components/HeroBanner/Countdown.d.ts +0 -9
  316. package/dist/cjs/src/biz-components/HeroBanner/HeroBanner.d.ts +0 -7
  317. package/dist/cjs/src/biz-components/HeroBanner/index.d.ts +0 -1
  318. package/dist/cjs/src/biz-components/HeroBanner/types.d.ts +0 -49
  319. package/dist/cjs/src/biz-components/ImageTextFeature/ImageTextFeature.d.ts +0 -7
  320. package/dist/cjs/src/biz-components/ImageTextFeature/index.d.ts +0 -2
  321. package/dist/cjs/src/biz-components/ImageTextFeature/types.d.ts +0 -31
  322. package/dist/cjs/src/biz-components/ImageWithText/ImageWithText.d.ts +0 -7
  323. package/dist/cjs/src/biz-components/ImageWithText/index.d.ts +0 -2
  324. package/dist/cjs/src/biz-components/ImageWithText/types.d.ts +0 -119
  325. package/dist/cjs/src/biz-components/InlineVideo/index.d.ts +0 -16
  326. package/dist/cjs/src/biz-components/Ksp/index.d.ts +0 -40
  327. package/dist/cjs/src/biz-components/Listing/BizProductProvider.d.ts +0 -126
  328. package/dist/cjs/src/biz-components/Listing/components/PaidShipping/LearnMore.d.ts +0 -2
  329. package/dist/cjs/src/biz-components/Listing/components/PaidShipping/ShippingMethod.d.ts +0 -10
  330. package/dist/cjs/src/biz-components/Listing/components/PaidShipping/ShippingPolicyModal.d.ts +0 -25
  331. package/dist/cjs/src/biz-components/Listing/components/PaidShipping/index.d.ts +0 -12
  332. package/dist/cjs/src/biz-components/Listing/components/PaidShipping/type.d.ts +0 -30
  333. package/dist/cjs/src/biz-components/Listing/components/PaidShipping/utils.d.ts +0 -2
  334. package/dist/cjs/src/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.d.ts +0 -38
  335. package/dist/cjs/src/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.d.ts +0 -30
  336. package/dist/cjs/src/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.d.ts +0 -2
  337. package/dist/cjs/src/biz-components/Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.d.ts +0 -2
  338. package/dist/cjs/src/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.d.ts +0 -2
  339. package/dist/cjs/src/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.d.ts +0 -2
  340. package/dist/cjs/src/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.d.ts +0 -2
  341. package/dist/cjs/src/biz-components/Listing/components/ProductCard/ProductDetail/index.d.ts +0 -2
  342. package/dist/cjs/src/biz-components/Listing/components/ProductCard/ProductDetail/types.d.ts +0 -43
  343. package/dist/cjs/src/biz-components/Listing/components/ProductCard/ProductGallery/components/CompareModal.d.ts +0 -2
  344. package/dist/cjs/src/biz-components/Listing/components/ProductCard/ProductGallery/components/Select.d.ts +0 -21
  345. package/dist/cjs/src/biz-components/Listing/components/ProductCard/ProductGallery/components/ShopifyColorOption.d.ts +0 -5
  346. package/dist/cjs/src/biz-components/Listing/components/ProductCard/ProductGallery/components/SpecsModal.d.ts +0 -1
  347. package/dist/cjs/src/biz-components/Listing/components/ProductCard/ProductGallery/index.d.ts +0 -2
  348. package/dist/cjs/src/biz-components/Listing/components/ProductCard/ProductGallery/types.d.ts +0 -42
  349. package/dist/cjs/src/biz-components/Listing/components/ProductCard/ProductGridBox.d.ts +0 -6
  350. package/dist/cjs/src/biz-components/Listing/components/ProductCard/ProductSummary/index.d.ts +0 -3
  351. package/dist/cjs/src/biz-components/Listing/components/ProductCard/ProductSummary/types.d.ts +0 -2
  352. package/dist/cjs/src/biz-components/Listing/components/ProductCard/index.d.ts +0 -2
  353. package/dist/cjs/src/biz-components/Listing/components/PurchaseBar/ProductActions/index.d.ts +0 -2
  354. package/dist/cjs/src/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/index.d.ts +0 -4
  355. package/dist/cjs/src/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/types.d.ts +0 -10
  356. package/dist/cjs/src/biz-components/Listing/components/PurchaseBar/index.d.ts +0 -3
  357. package/dist/cjs/src/biz-components/Listing/components/PurchaseBar/types.d.ts +0 -12
  358. package/dist/cjs/src/biz-components/Listing/components/index.d.ts +0 -3
  359. package/dist/cjs/src/biz-components/Listing/const.d.ts +0 -29
  360. package/dist/cjs/src/biz-components/Listing/hooks/use-variant-media.d.ts +0 -14
  361. package/dist/cjs/src/biz-components/Listing/hooks/use-variant.d.ts +0 -5
  362. package/dist/cjs/src/biz-components/Listing/hooks/useBenefits.d.ts +0 -50
  363. package/dist/cjs/src/biz-components/Listing/hooks/useCopy.d.ts +0 -5
  364. package/dist/cjs/src/biz-components/Listing/index.d.ts +0 -3
  365. package/dist/cjs/src/biz-components/Listing/types/graphql.d.ts +0 -7473
  366. package/dist/cjs/src/biz-components/Listing/types/product.d.ts +0 -141
  367. package/dist/cjs/src/biz-components/Listing/types/type-helper.d.ts +0 -5
  368. package/dist/cjs/src/biz-components/Listing/types.d.ts +0 -28
  369. package/dist/cjs/src/biz-components/Listing/utils/helper.d.ts +0 -36
  370. package/dist/cjs/src/biz-components/Listing/utils/index.d.ts +0 -37
  371. package/dist/cjs/src/biz-components/Listing/utils/textFormat.d.ts +0 -73
  372. package/dist/cjs/src/biz-components/Marquee/Marquee.d.ts +0 -18
  373. package/dist/cjs/src/biz-components/Marquee/index.d.ts +0 -2
  374. package/dist/cjs/src/biz-components/Marquee/type.d.ts +0 -33
  375. package/dist/cjs/src/biz-components/MarqueeReview/index.d.ts +0 -41
  376. package/dist/cjs/src/biz-components/MediaPlayerBase/index.d.ts +0 -6
  377. package/dist/cjs/src/biz-components/MediaPlayerBase/right.d.ts +0 -1
  378. package/dist/cjs/src/biz-components/MediaPlayerBase/types.d.ts +0 -18
  379. package/dist/cjs/src/biz-components/MediaPlayerMulti/index.d.ts +0 -6
  380. package/dist/cjs/src/biz-components/MediaPlayerMulti/types.d.ts +0 -22
  381. package/dist/cjs/src/biz-components/MediaPlayerSticky/index.d.ts +0 -9
  382. package/dist/cjs/src/biz-components/MediaPlayerSticky/types.d.ts +0 -21
  383. package/dist/cjs/src/biz-components/MemberEquity/index.d.ts +0 -7
  384. package/dist/cjs/src/biz-components/MemberEquity/types.d.ts +0 -30
  385. package/dist/cjs/src/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.d.ts +0 -8
  386. package/dist/cjs/src/biz-components/MultiLayoutGraphicBlock/index.d.ts +0 -2
  387. package/dist/cjs/src/biz-components/MultiLayoutGraphicBlock/types.d.ts +0 -38
  388. package/dist/cjs/src/biz-components/NavigationSearch/index.d.ts +0 -4
  389. package/dist/cjs/src/biz-components/NavigationSearch/types.d.ts +0 -18
  390. package/dist/cjs/src/biz-components/ProductCompare/index.d.ts +0 -37
  391. package/dist/cjs/src/biz-components/ProductHero/ProductHero.d.ts +0 -7
  392. package/dist/cjs/src/biz-components/ProductHero/index.d.ts +0 -2
  393. package/dist/cjs/src/biz-components/ProductHero/types.d.ts +0 -21
  394. package/dist/cjs/src/biz-components/SearchPage/index.d.ts +0 -6
  395. package/dist/cjs/src/biz-components/SearchPage/types.d.ts +0 -58
  396. package/dist/cjs/src/biz-components/SelectStore/index.d.ts +0 -20
  397. package/dist/cjs/src/biz-components/ShelfDisplay/index.d.ts +0 -7
  398. package/dist/cjs/src/biz-components/ShelfDisplay/shelfDisplay.d.ts +0 -106
  399. package/dist/cjs/src/biz-components/ShelfDisplay/shelfDisplayItem.d.ts +0 -8
  400. package/dist/cjs/src/biz-components/ShelfDisplay/tabSwitch.d.ts +0 -9
  401. package/dist/cjs/src/biz-components/Slogan/index.d.ts +0 -9
  402. package/dist/cjs/src/biz-components/Slogan/types.d.ts +0 -31
  403. package/dist/cjs/src/biz-components/Spacer/index.d.ts +0 -7
  404. package/dist/cjs/src/biz-components/Spacer/types.d.ts +0 -10
  405. package/dist/cjs/src/biz-components/Specs/dropdown.d.ts +0 -11
  406. package/dist/cjs/src/biz-components/Specs/index.d.ts +0 -6
  407. package/dist/cjs/src/biz-components/SpecsComparison/SpecsComparison.d.ts +0 -7
  408. package/dist/cjs/src/biz-components/SpecsComparison/index.d.ts +0 -2
  409. package/dist/cjs/src/biz-components/SpecsComparison/types.d.ts +0 -34
  410. package/dist/cjs/src/biz-components/Subscribe/index.d.ts +0 -20
  411. package/dist/cjs/src/biz-components/SwiperBox/index.d.ts +0 -4
  412. package/dist/cjs/src/biz-components/SwiperBox/types.d.ts +0 -17
  413. package/dist/cjs/src/biz-components/TabWithImage/TabWithImage.d.ts +0 -7
  414. package/dist/cjs/src/biz-components/TabWithImage/index.d.ts +0 -2
  415. package/dist/cjs/src/biz-components/TabWithImage/types.d.ts +0 -29
  416. package/dist/cjs/src/biz-components/Tabs/Tabs.d.ts +0 -7
  417. package/dist/cjs/src/biz-components/Tabs/index.d.ts +0 -1
  418. package/dist/cjs/src/biz-components/Tabs/types.d.ts +0 -30
  419. package/dist/cjs/src/biz-components/TabsGroup/index.d.ts +0 -7
  420. package/dist/cjs/src/biz-components/TabsGroup/types.d.ts +0 -16
  421. package/dist/cjs/src/biz-components/TabsWithMedia/TabsWithMedia.d.ts +0 -7
  422. package/dist/cjs/src/biz-components/TabsWithMedia/index.d.ts +0 -2
  423. package/dist/cjs/src/biz-components/TabsWithMedia/types.d.ts +0 -41
  424. package/dist/cjs/src/biz-components/TextModal/index.d.ts +0 -14
  425. package/dist/cjs/src/biz-components/ThreeDCarousel/index.d.ts +0 -15
  426. package/dist/cjs/src/biz-components/Title/index.d.ts +0 -7
  427. package/dist/cjs/src/biz-components/Title/types.d.ts +0 -33
  428. package/dist/cjs/src/biz-components/VideoFeature/VideoFeature.d.ts +0 -7
  429. package/dist/cjs/src/biz-components/VideoFeature/index.d.ts +0 -2
  430. package/dist/cjs/src/biz-components/VideoFeature/types.d.ts +0 -19
  431. package/dist/cjs/src/biz-components/VideoModal/YouTubePlayer.d.ts +0 -4
  432. package/dist/cjs/src/biz-components/VideoModal/index.d.ts +0 -8
  433. package/dist/cjs/src/biz-components/WhyChoose/WhyChoose.d.ts +0 -14
  434. package/dist/cjs/src/biz-components/WhyChoose/index.d.ts +0 -2
  435. package/dist/cjs/src/biz-components/WhyChoose/types.d.ts +0 -12
  436. package/dist/cjs/src/biz-components/index.d.ts +0 -118
  437. package/dist/cjs/src/components/alert.d.ts +0 -17
  438. package/dist/cjs/src/components/avatar.d.ts +0 -26
  439. package/dist/cjs/src/components/badge.d.ts +0 -9
  440. package/dist/cjs/src/components/board.d.ts +0 -4
  441. package/dist/cjs/src/components/button.d.ts +0 -41
  442. package/dist/cjs/src/components/card.d.ts +0 -8
  443. package/dist/cjs/src/components/carousel.d.ts +0 -28
  444. package/dist/cjs/src/components/checkbox.d.ts +0 -12
  445. package/dist/cjs/src/components/color.d.ts +0 -13
  446. package/dist/cjs/src/components/container.d.ts +0 -24
  447. package/dist/cjs/src/components/dialog.d.ts +0 -21
  448. package/dist/cjs/src/components/drawer.d.ts +0 -13
  449. package/dist/cjs/src/components/drop-down.d.ts +0 -27
  450. package/dist/cjs/src/components/gird.d.ts +0 -17
  451. package/dist/cjs/src/components/heading.d.ts +0 -17
  452. package/dist/cjs/src/components/index.d.ts +0 -26
  453. package/dist/cjs/src/components/input-number.d.ts +0 -78
  454. package/dist/cjs/src/components/input.d.ts +0 -22
  455. package/dist/cjs/src/components/link.d.ts +0 -45
  456. package/dist/cjs/src/components/loadingDots.d.ts +0 -6
  457. package/dist/cjs/src/components/picture.d.ts +0 -14
  458. package/dist/cjs/src/components/popover.d.ts +0 -6
  459. package/dist/cjs/src/components/radio.d.ts +0 -16
  460. package/dist/cjs/src/components/skeleton.d.ts +0 -9
  461. package/dist/cjs/src/components/tabs.d.ts +0 -11
  462. package/dist/cjs/src/components/text.d.ts +0 -32
  463. package/dist/cjs/src/components/theme.d.ts +0 -12
  464. package/dist/cjs/src/cpn-components/CpnBanner/index.d.ts +0 -3
  465. package/dist/cjs/src/cpn-components/CpnBanner/types.d.ts +0 -43
  466. package/dist/cjs/src/cpn-components/CpnCountDown/index.d.ts +0 -3
  467. package/dist/cjs/src/cpn-components/CpnCountDown/types.d.ts +0 -29
  468. package/dist/cjs/src/cpn-components/CpnNavigation/index.d.ts +0 -3
  469. package/dist/cjs/src/cpn-components/CpnNavigation/types.d.ts +0 -20
  470. package/dist/cjs/src/cpn-components/CpnProductCard/index.d.ts +0 -3
  471. package/dist/cjs/src/cpn-components/CpnProductCard/types.d.ts +0 -109
  472. package/dist/cjs/src/cpn-components/CpnTitle/index.d.ts +0 -3
  473. package/dist/cjs/src/cpn-components/CpnTitle/types.d.ts +0 -10
  474. package/dist/cjs/src/cpn-components/index.d.ts +0 -5
  475. package/dist/cjs/src/helpers/ScrollLoadVideo.d.ts +0 -15
  476. package/dist/cjs/src/helpers/component-props.d.ts +0 -7
  477. package/dist/cjs/src/helpers/constants.d.ts +0 -0
  478. package/dist/cjs/src/helpers/index.d.ts +0 -2
  479. package/dist/cjs/src/helpers/utils.d.ts +0 -6
  480. package/dist/cjs/src/hooks/useCountDown.d.ts +0 -10
  481. package/dist/cjs/src/hooks/useIntersectionObserver.d.ts +0 -17
  482. package/dist/cjs/src/hooks/useRollout.d.ts +0 -14
  483. package/dist/cjs/src/icons/spinner.d.ts +0 -5
  484. package/dist/cjs/src/index.d.ts +0 -1
  485. package/dist/cjs/src/shared/Styles.d.ts +0 -39
  486. package/dist/cjs/src/shared/getKeyPropsString.d.ts +0 -4
  487. package/dist/cjs/src/shared/mimeType.d.ts +0 -1
  488. package/dist/cjs/src/shared/simpleHash.d.ts +0 -1
  489. package/dist/cjs/src/shared/throttle.d.ts +0 -1
  490. package/dist/cjs/src/shared/track.d.ts +0 -1
  491. package/dist/cjs/src/shared/trackUrlRef.d.ts +0 -7
  492. package/dist/cjs/src/stories/avatar.stories.d.ts +0 -40
  493. package/dist/cjs/src/stories/badge.stories.d.ts +0 -26
  494. package/dist/cjs/src/stories/button.stories.d.ts +0 -48
  495. package/dist/cjs/src/stories/checkbox.stories.d.ts +0 -46
  496. package/dist/cjs/src/stories/container.stories.d.ts +0 -36
  497. package/dist/cjs/src/stories/dialog.stories.d.ts +0 -20
  498. package/dist/cjs/src/stories/grid.stories.d.ts +0 -42
  499. package/dist/cjs/src/stories/heading.stories.d.ts +0 -82
  500. package/dist/cjs/src/stories/input-number.stories.d.ts +0 -51
  501. package/dist/cjs/src/stories/input.stories.d.ts +0 -35
  502. package/dist/cjs/src/stories/picture.stories.d.ts +0 -18
  503. package/dist/cjs/src/stories/popover.stories.d.ts +0 -17
  504. package/dist/cjs/src/stories/radio.stories.d.ts +0 -39
  505. package/dist/cjs/src/stories/skeleton.stories.d.ts +0 -20
  506. package/dist/cjs/src/stories/text.stories.d.ts +0 -94
  507. package/dist/cjs/src/types/index.d.ts +0 -0
  508. package/dist/cjs/src/types/props.d.ts +0 -47
  509. package/dist/cjs/stories/HeroBanner.stories.d.ts +0 -26
  510. package/dist/cjs/stories/MarqueeReview.stories.d.ts +0 -73
  511. package/dist/cjs/stories/MemberEquity.stories.d.ts +0 -9
  512. package/dist/cjs/stories/MultiLayoutGraphicBlock.stories.d.ts +0 -9
  513. package/dist/cjs/stories/accordionCards.stories.d.ts +0 -17
  514. package/dist/cjs/stories/alert.stories.d.ts +0 -27
  515. package/dist/cjs/stories/aplusdesc.stories.d.ts +0 -27
  516. package/dist/cjs/stories/aplusdesc.stories.js +0 -2
  517. package/dist/cjs/stories/aplusdesc.stories.js.map +0 -7
  518. package/dist/cjs/stories/avatar.stories.d.ts +0 -39
  519. package/dist/cjs/stories/badge.stories.d.ts +0 -31
  520. package/dist/cjs/stories/bizTabs.stories.d.ts +0 -7
  521. package/dist/cjs/stories/board.stories.d.ts +0 -6
  522. package/dist/cjs/stories/brandEquity.stories.d.ts +0 -16
  523. package/dist/cjs/stories/button.stories.d.ts +0 -56
  524. package/dist/cjs/stories/card.stories.d.ts +0 -27
  525. package/dist/cjs/stories/carousel.stories.d.ts +0 -62
  526. package/dist/cjs/stories/category.stories.d.ts +0 -17
  527. package/dist/cjs/stories/checkbox.stories.d.ts +0 -46
  528. package/dist/cjs/stories/container.stories.d.ts +0 -28
  529. package/dist/cjs/stories/cpnBanner.stories.d.ts +0 -14
  530. package/dist/cjs/stories/cpnCountdown.stories.d.ts +0 -12
  531. package/dist/cjs/stories/cpnNavigation.stories.d.ts +0 -14
  532. package/dist/cjs/stories/cpnProductcard.stories.d.ts +0 -14
  533. package/dist/cjs/stories/cpnTitle.stories.d.ts +0 -14
  534. package/dist/cjs/stories/creativeModule.stories.d.ts +0 -19
  535. package/dist/cjs/stories/dialog.stories.d.ts +0 -20
  536. package/dist/cjs/stories/download.stories.d.ts +0 -18
  537. package/dist/cjs/stories/download.stories.js +0 -2
  538. package/dist/cjs/stories/download.stories.js.map +0 -7
  539. package/dist/cjs/stories/drawer.stories.d.ts +0 -20
  540. package/dist/cjs/stories/drop-down.stories.d.ts +0 -16
  541. package/dist/cjs/stories/evaluate.stories.d.ts +0 -16
  542. package/dist/cjs/stories/faq.stories.d.ts +0 -21
  543. package/dist/cjs/stories/featureCards.stories.d.ts +0 -28
  544. package/dist/cjs/stories/featureShowcase.stories.d.ts +0 -28
  545. package/dist/cjs/stories/features.stories.d.ts +0 -21
  546. package/dist/cjs/stories/features.stories.js +0 -2
  547. package/dist/cjs/stories/features.stories.js.map +0 -7
  548. package/dist/cjs/stories/footcharger.stories.d.ts +0 -19
  549. package/dist/cjs/stories/footcharger.stories.js +0 -2
  550. package/dist/cjs/stories/footcharger.stories.js.map +0 -7
  551. package/dist/cjs/stories/giftbox.stories.d.ts +0 -18
  552. package/dist/cjs/stories/giftbox.stories.js +0 -2
  553. package/dist/cjs/stories/giftbox.stories.js.map +0 -7
  554. package/dist/cjs/stories/graphic.stories.d.ts +0 -63
  555. package/dist/cjs/stories/graphicAttractionBlock.stories.d.ts +0 -6
  556. package/dist/cjs/stories/graphicMore.stories.d.ts +0 -19
  557. package/dist/cjs/stories/graphicMore.stories.js +0 -2
  558. package/dist/cjs/stories/graphicMore.stories.js.map +0 -7
  559. package/dist/cjs/stories/grid.stories.d.ts +0 -22
  560. package/dist/cjs/stories/heading.stories.d.ts +0 -84
  561. package/dist/cjs/stories/imageTextFeature.stories.d.ts +0 -27
  562. package/dist/cjs/stories/imageWithText.stories.d.ts +0 -27
  563. package/dist/cjs/stories/input-number.stories.d.ts +0 -39
  564. package/dist/cjs/stories/input.stories.d.ts +0 -35
  565. package/dist/cjs/stories/ksp.stories.d.ts +0 -63
  566. package/dist/cjs/stories/link.stories.d.ts +0 -69
  567. package/dist/cjs/stories/marquee.stories.d.ts +0 -30
  568. package/dist/cjs/stories/mediaplayerBase.stories.d.ts +0 -6
  569. package/dist/cjs/stories/mediaplayerMulti.stories.d.ts +0 -16
  570. package/dist/cjs/stories/picture.stories.d.ts +0 -22
  571. package/dist/cjs/stories/popover.stories.d.ts +0 -17
  572. package/dist/cjs/stories/productCompare.stories.d.ts +0 -49
  573. package/dist/cjs/stories/productHero.stories.d.ts +0 -28
  574. package/dist/cjs/stories/radio.stories.d.ts +0 -39
  575. package/dist/cjs/stories/selectstore.stories.d.ts +0 -18
  576. package/dist/cjs/stories/selectstore.stories.js +0 -2
  577. package/dist/cjs/stories/selectstore.stories.js.map +0 -7
  578. package/dist/cjs/stories/shelf.stories.d.ts +0 -17
  579. package/dist/cjs/stories/shelfDisplay.stories.d.ts +0 -16
  580. package/dist/cjs/stories/skeleton.stories.d.ts +0 -20
  581. package/dist/cjs/stories/slogan.stories.d.ts +0 -20
  582. package/dist/cjs/stories/specs.stories.d.ts +0 -13
  583. package/dist/cjs/stories/specsComparison.stories.d.ts +0 -27
  584. package/dist/cjs/stories/tabWithImage.stories.d.ts +0 -27
  585. package/dist/cjs/stories/tabs.stories.d.ts +0 -373
  586. package/dist/cjs/stories/tabsWithMedia.stories.d.ts +0 -27
  587. package/dist/cjs/stories/text.stories.d.ts +0 -86
  588. package/dist/cjs/stories/videoFeature.stories.d.ts +0 -28
  589. package/dist/cjs/stories/whychoose.stories.d.ts +0 -21
  590. package/dist/cjs/tailwind.config.d.ts +0 -253
  591. package/dist/cjs/tests/BrandEquity.test.d.ts +0 -1
  592. package/dist/cjs/tests/Ksp.test.d.ts +0 -1
  593. package/dist/cjs/tests/MarqueeReview.test.d.ts +0 -1
  594. package/dist/cjs/tests/Title.test.d.ts +0 -1
  595. package/dist/cjs/tests/badge.test.d.ts +0 -1
  596. package/dist/cjs/tests/button.test.d.ts +0 -1
  597. package/dist/cjs/tests/card.test.d.ts +0 -1
  598. package/dist/cjs/tests/carousel.test.d.ts +0 -1
  599. package/dist/cjs/tests/featureCards.test.d.ts +0 -1
  600. package/dist/cjs/tests/featureShowcase.test.d.ts +0 -1
  601. package/dist/cjs/tests/heading.test.d.ts +0 -1
  602. package/dist/cjs/tests/imageTextFeature.test.d.ts +0 -1
  603. package/dist/cjs/tests/imageWithText.test.d.ts +0 -1
  604. package/dist/cjs/tests/input.test.d.ts +0 -1
  605. package/dist/cjs/tests/jest.setup.d.ts +0 -1
  606. package/dist/cjs/tests/productHero.test.d.ts +0 -1
  607. package/dist/cjs/tests/specsComparison.test.d.ts +0 -1
  608. package/dist/cjs/tests/tabWithImage.test.d.ts +0 -1
  609. package/dist/cjs/tests/tabs.test.d.ts +0 -1
  610. package/dist/cjs/tests/tabsWithMedia.test.d.ts +0 -1
  611. package/dist/cjs/tests/text.test.d.ts +0 -1
  612. package/dist/cjs/tests/videoFeature.test.d.ts +0 -1
  613. package/dist/cjs/tsconfig.tsbuildinfo +0 -1
  614. package/dist/cjs/ui/src/biz-components/CollectionsFilters/FilterCardWrapItem.d.ts +0 -5
  615. package/dist/esm/apps/playground/utils/classnames.d.ts +0 -1
  616. package/dist/esm/apps/storefront/lib/utils/classnames.d.ts +0 -2
  617. package/dist/esm/biz-components/AccordionCards/useDebounce.d.ts +0 -6
  618. package/dist/esm/biz-components/CollectionsBanner/HeroBanner.d.ts +0 -7
  619. package/dist/esm/biz-components/CollectionsFilters/AnimatedUL.d.ts +0 -9
  620. package/dist/esm/biz-components/CollectionsFilters/FilterTab.d.ts +0 -7
  621. package/dist/esm/biz-components/CollectionsFilters/FiterTab.d.ts +0 -7
  622. package/dist/esm/biz-components/CollectionsFilters/FiterTab.js +0 -2
  623. package/dist/esm/biz-components/CollectionsFilters/FiterTab.js.map +0 -7
  624. package/dist/esm/biz-components/CollectionsFilters/Helper.d.ts +0 -8
  625. package/dist/esm/biz-components/CollectionsFilters/MoblieSortFilter.d.ts +0 -8
  626. package/dist/esm/biz-components/CollectionsFilters/SortFilter.d.ts +0 -8
  627. package/dist/esm/biz-components/CollectionsFilters/component/LoadingDots.d.ts +0 -6
  628. package/dist/esm/biz-components/CollectionsFilters/data.d.ts +0 -24804
  629. package/dist/esm/biz-components/CollectionsFilters/price.d.ts +0 -25
  630. package/dist/esm/biz-components/CollectionsFilters/priceProps.d.ts +0 -215
  631. package/dist/esm/biz-components/CollectionsFilters/tabFilter.d.ts +0 -10
  632. package/dist/esm/biz-components/CollectionsFilters/tabSwitch.d.ts +0 -9
  633. package/dist/esm/biz-components/Listing/ProductProvider.d.ts +0 -52
  634. package/dist/esm/biz-components/Listing/ProductProvider.js +0 -2
  635. package/dist/esm/biz-components/Listing/ProductProvider.js.map +0 -7
  636. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTabs/index.d.ts +0 -5
  637. package/dist/esm/biz-components/Listing/components/ProductCard/ProductSummary/types.d.ts +0 -2
  638. package/dist/esm/biz-components/Listing/components/ProductCard/ProductSummary/types.js +0 -1
  639. package/dist/esm/biz-components/Listing/components/ProductCard/ProductSummary/types.js.map +0 -7
  640. package/dist/esm/biz-components/Listing/hooks/use-options.d.ts +0 -3
  641. package/dist/esm/biz-components/Listing/hooks/use-options.js +0 -2
  642. package/dist/esm/biz-components/Listing/hooks/use-options.js.map +0 -7
  643. package/dist/esm/biz-components/MediaPlayerMulti/YouTubePlayer.d.ts +0 -3
  644. package/dist/esm/biz-components/SectionHeading/SectionHeading.d.ts +0 -4
  645. package/dist/esm/biz-components/SectionHeading/index.d.ts +0 -0
  646. package/dist/esm/biz-components/SectionHeading/types.d.ts +0 -6
  647. package/dist/esm/biz-components/Shelf/Shelf.d.ts +0 -8
  648. package/dist/esm/biz-components/Shelf/index.d.ts +0 -1
  649. package/dist/esm/biz-components/Shelf/types.d.ts +0 -6
  650. package/dist/esm/biz-components/ShelfDisplay/tab.d.ts +0 -7
  651. package/dist/esm/biz-components/TextMa/index.d.ts +0 -9
  652. package/dist/esm/campaign-ui/tailwind.config.d.ts +0 -62
  653. package/dist/esm/components/col.d.ts +0 -29
  654. package/dist/esm/components/dropdown.d.ts +0 -27
  655. package/dist/esm/components/inputnumber.d.ts +0 -0
  656. package/dist/esm/components/row.d.ts +0 -18
  657. package/dist/esm/helpers/get-subtree.d.ts +0 -12
  658. package/dist/esm/hooks/useEXposure.d.ts +0 -12
  659. package/dist/esm/hooks/useMemberPrice.d.ts +0 -20
  660. package/dist/esm/packages/ui/src/components/avatar.d.ts +0 -26
  661. package/dist/esm/packages/ui/src/components/index.d.ts +0 -20
  662. package/dist/esm/packages/ui/src/index.d.ts +0 -1
  663. package/dist/esm/packages/ui/src/stories/avatar.stories.d.ts +0 -40
  664. package/dist/esm/packages/ui/src/stories/badge.stories.d.ts +0 -26
  665. package/dist/esm/packages/ui/src/stories/button.stories.d.ts +0 -48
  666. package/dist/esm/packages/ui/src/stories/checkbox.stories.d.ts +0 -46
  667. package/dist/esm/packages/ui/src/stories/container.stories.d.ts +0 -36
  668. package/dist/esm/packages/ui/src/stories/dialog.stories.d.ts +0 -20
  669. package/dist/esm/packages/ui/src/stories/grid.stories.d.ts +0 -42
  670. package/dist/esm/packages/ui/src/stories/heading.stories.d.ts +0 -82
  671. package/dist/esm/packages/ui/src/stories/input.stories.d.ts +0 -35
  672. package/dist/esm/packages/ui/src/stories/picture.stories.d.ts +0 -18
  673. package/dist/esm/packages/ui/src/stories/popover.stories.d.ts +0 -17
  674. package/dist/esm/packages/ui/src/stories/radio.stories.d.ts +0 -39
  675. package/dist/esm/packages/ui/src/stories/skeleton.stories.d.ts +0 -20
  676. package/dist/esm/packages/ui/src/stories/tabs.stories.d.ts +0 -373
  677. package/dist/esm/packages/ui/src/stories/text.stories.d.ts +0 -94
  678. package/dist/esm/src/biz-components/AccordionCards/index.d.ts +0 -38
  679. package/dist/esm/src/biz-components/AiuiProvider/index.d.ts +0 -16
  680. package/dist/esm/src/biz-components/AplusDesc/index.d.ts +0 -22
  681. package/dist/esm/src/biz-components/BrandEquity/BrandEquity.d.ts +0 -6
  682. package/dist/esm/src/biz-components/BrandEquity/index.d.ts +0 -1
  683. package/dist/esm/src/biz-components/BrandEquity/types.d.ts +0 -18
  684. package/dist/esm/src/biz-components/Category/SwiperCategory.d.ts +0 -19
  685. package/dist/esm/src/biz-components/Category/index.d.ts +0 -35
  686. package/dist/esm/src/biz-components/CreativeModule/index.d.ts +0 -21
  687. package/dist/esm/src/biz-components/DownLoad/index.d.ts +0 -20
  688. package/dist/esm/src/biz-components/Evaluate/index.d.ts +0 -37
  689. package/dist/esm/src/biz-components/Faq/Faq.d.ts +0 -14
  690. package/dist/esm/src/biz-components/Faq/index.d.ts +0 -2
  691. package/dist/esm/src/biz-components/Faq/types.d.ts +0 -12
  692. package/dist/esm/src/biz-components/FeatureCards/FeatureCards.d.ts +0 -7
  693. package/dist/esm/src/biz-components/FeatureCards/index.d.ts +0 -2
  694. package/dist/esm/src/biz-components/FeatureCards/types.d.ts +0 -25
  695. package/dist/esm/src/biz-components/FeatureShowcase/FeatureShowcase.d.ts +0 -7
  696. package/dist/esm/src/biz-components/FeatureShowcase/index.d.ts +0 -2
  697. package/dist/esm/src/biz-components/FeatureShowcase/types.d.ts +0 -21
  698. package/dist/esm/src/biz-components/Features/index.d.ts +0 -26
  699. package/dist/esm/src/biz-components/FootCharger/index.d.ts +0 -12
  700. package/dist/esm/src/biz-components/FooterNavigation/icons/Add.d.ts +0 -3
  701. package/dist/esm/src/biz-components/FooterNavigation/icons/ArrowRight.d.ts +0 -3
  702. package/dist/esm/src/biz-components/FooterNavigation/icons/Country.d.ts +0 -3
  703. package/dist/esm/src/biz-components/FooterNavigation/icons/Subtract.d.ts +0 -3
  704. package/dist/esm/src/biz-components/FooterNavigation/icons/index.d.ts +0 -5
  705. package/dist/esm/src/biz-components/FooterNavigation/index.d.ts +0 -6
  706. package/dist/esm/src/biz-components/FooterNavigation/types.d.ts +0 -15
  707. package/dist/esm/src/biz-components/GiftBox/index.d.ts +0 -17
  708. package/dist/esm/src/biz-components/Graphic/index.d.ts +0 -38
  709. package/dist/esm/src/biz-components/GraphicAttractionBlock/index.d.ts +0 -25
  710. package/dist/esm/src/biz-components/GraphicMore/index.d.ts +0 -22
  711. package/dist/esm/src/biz-components/GraphicOverlay/GraphicOverlay.d.ts +0 -8
  712. package/dist/esm/src/biz-components/GraphicOverlay/index.d.ts +0 -2
  713. package/dist/esm/src/biz-components/GraphicOverlay/types.d.ts +0 -33
  714. package/dist/esm/src/biz-components/HeaderNavigation/NavProvider.d.ts +0 -36
  715. package/dist/esm/src/biz-components/HeaderNavigation/icons/AnkerLogo.d.ts +0 -3
  716. package/dist/esm/src/biz-components/HeaderNavigation/icons/Cart.d.ts +0 -3
  717. package/dist/esm/src/biz-components/HeaderNavigation/icons/Close.d.ts +0 -3
  718. package/dist/esm/src/biz-components/HeaderNavigation/icons/DownArrow.d.ts +0 -3
  719. package/dist/esm/src/biz-components/HeaderNavigation/icons/LeftArrow.d.ts +0 -3
  720. package/dist/esm/src/biz-components/HeaderNavigation/icons/LogoLine.d.ts +0 -3
  721. package/dist/esm/src/biz-components/HeaderNavigation/icons/Menu.d.ts +0 -3
  722. package/dist/esm/src/biz-components/HeaderNavigation/icons/Polygon.d.ts +0 -3
  723. package/dist/esm/src/biz-components/HeaderNavigation/icons/RightArrow.d.ts +0 -3
  724. package/dist/esm/src/biz-components/HeaderNavigation/icons/Search.d.ts +0 -3
  725. package/dist/esm/src/biz-components/HeaderNavigation/icons/User.d.ts +0 -3
  726. package/dist/esm/src/biz-components/HeaderNavigation/icons/index.d.ts +0 -12
  727. package/dist/esm/src/biz-components/HeaderNavigation/index.d.ts +0 -7
  728. package/dist/esm/src/biz-components/HeaderNavigation/types.d.ts +0 -103
  729. package/dist/esm/src/biz-components/HeaderNavigation/withCategory.d.ts +0 -9
  730. package/dist/esm/src/biz-components/HeroBanner/Countdown.d.ts +0 -9
  731. package/dist/esm/src/biz-components/HeroBanner/HeroBanner.d.ts +0 -7
  732. package/dist/esm/src/biz-components/HeroBanner/index.d.ts +0 -1
  733. package/dist/esm/src/biz-components/HeroBanner/types.d.ts +0 -49
  734. package/dist/esm/src/biz-components/ImageTextFeature/ImageTextFeature.d.ts +0 -7
  735. package/dist/esm/src/biz-components/ImageTextFeature/index.d.ts +0 -2
  736. package/dist/esm/src/biz-components/ImageTextFeature/types.d.ts +0 -31
  737. package/dist/esm/src/biz-components/ImageWithText/ImageWithText.d.ts +0 -7
  738. package/dist/esm/src/biz-components/ImageWithText/index.d.ts +0 -2
  739. package/dist/esm/src/biz-components/ImageWithText/types.d.ts +0 -119
  740. package/dist/esm/src/biz-components/InlineVideo/index.d.ts +0 -16
  741. package/dist/esm/src/biz-components/Ksp/index.d.ts +0 -40
  742. package/dist/esm/src/biz-components/Listing/BizProductProvider.d.ts +0 -126
  743. package/dist/esm/src/biz-components/Listing/components/PaidShipping/LearnMore.d.ts +0 -2
  744. package/dist/esm/src/biz-components/Listing/components/PaidShipping/ShippingMethod.d.ts +0 -10
  745. package/dist/esm/src/biz-components/Listing/components/PaidShipping/ShippingPolicyModal.d.ts +0 -25
  746. package/dist/esm/src/biz-components/Listing/components/PaidShipping/index.d.ts +0 -12
  747. package/dist/esm/src/biz-components/Listing/components/PaidShipping/type.d.ts +0 -30
  748. package/dist/esm/src/biz-components/Listing/components/PaidShipping/utils.d.ts +0 -2
  749. package/dist/esm/src/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.d.ts +0 -38
  750. package/dist/esm/src/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.d.ts +0 -30
  751. package/dist/esm/src/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.d.ts +0 -2
  752. package/dist/esm/src/biz-components/Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.d.ts +0 -2
  753. package/dist/esm/src/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.d.ts +0 -2
  754. package/dist/esm/src/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.d.ts +0 -2
  755. package/dist/esm/src/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.d.ts +0 -2
  756. package/dist/esm/src/biz-components/Listing/components/ProductCard/ProductDetail/index.d.ts +0 -2
  757. package/dist/esm/src/biz-components/Listing/components/ProductCard/ProductDetail/types.d.ts +0 -43
  758. package/dist/esm/src/biz-components/Listing/components/ProductCard/ProductGallery/components/CompareModal.d.ts +0 -2
  759. package/dist/esm/src/biz-components/Listing/components/ProductCard/ProductGallery/components/Select.d.ts +0 -21
  760. package/dist/esm/src/biz-components/Listing/components/ProductCard/ProductGallery/components/ShopifyColorOption.d.ts +0 -5
  761. package/dist/esm/src/biz-components/Listing/components/ProductCard/ProductGallery/components/SpecsModal.d.ts +0 -1
  762. package/dist/esm/src/biz-components/Listing/components/ProductCard/ProductGallery/index.d.ts +0 -2
  763. package/dist/esm/src/biz-components/Listing/components/ProductCard/ProductGallery/types.d.ts +0 -42
  764. package/dist/esm/src/biz-components/Listing/components/ProductCard/ProductGridBox.d.ts +0 -6
  765. package/dist/esm/src/biz-components/Listing/components/ProductCard/ProductSummary/index.d.ts +0 -3
  766. package/dist/esm/src/biz-components/Listing/components/ProductCard/ProductSummary/types.d.ts +0 -2
  767. package/dist/esm/src/biz-components/Listing/components/ProductCard/index.d.ts +0 -2
  768. package/dist/esm/src/biz-components/Listing/components/PurchaseBar/ProductActions/index.d.ts +0 -2
  769. package/dist/esm/src/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/index.d.ts +0 -4
  770. package/dist/esm/src/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/types.d.ts +0 -10
  771. package/dist/esm/src/biz-components/Listing/components/PurchaseBar/index.d.ts +0 -3
  772. package/dist/esm/src/biz-components/Listing/components/PurchaseBar/types.d.ts +0 -12
  773. package/dist/esm/src/biz-components/Listing/components/index.d.ts +0 -3
  774. package/dist/esm/src/biz-components/Listing/const.d.ts +0 -29
  775. package/dist/esm/src/biz-components/Listing/hooks/use-variant-media.d.ts +0 -14
  776. package/dist/esm/src/biz-components/Listing/hooks/use-variant.d.ts +0 -5
  777. package/dist/esm/src/biz-components/Listing/hooks/useBenefits.d.ts +0 -50
  778. package/dist/esm/src/biz-components/Listing/hooks/useCopy.d.ts +0 -5
  779. package/dist/esm/src/biz-components/Listing/index.d.ts +0 -3
  780. package/dist/esm/src/biz-components/Listing/types/graphql.d.ts +0 -7473
  781. package/dist/esm/src/biz-components/Listing/types/product.d.ts +0 -141
  782. package/dist/esm/src/biz-components/Listing/types/type-helper.d.ts +0 -5
  783. package/dist/esm/src/biz-components/Listing/types.d.ts +0 -28
  784. package/dist/esm/src/biz-components/Listing/utils/helper.d.ts +0 -36
  785. package/dist/esm/src/biz-components/Listing/utils/index.d.ts +0 -37
  786. package/dist/esm/src/biz-components/Listing/utils/textFormat.d.ts +0 -73
  787. package/dist/esm/src/biz-components/Marquee/Marquee.d.ts +0 -18
  788. package/dist/esm/src/biz-components/Marquee/index.d.ts +0 -2
  789. package/dist/esm/src/biz-components/Marquee/type.d.ts +0 -33
  790. package/dist/esm/src/biz-components/MarqueeReview/index.d.ts +0 -41
  791. package/dist/esm/src/biz-components/MediaPlayerBase/index.d.ts +0 -6
  792. package/dist/esm/src/biz-components/MediaPlayerBase/right.d.ts +0 -1
  793. package/dist/esm/src/biz-components/MediaPlayerBase/types.d.ts +0 -18
  794. package/dist/esm/src/biz-components/MediaPlayerMulti/index.d.ts +0 -6
  795. package/dist/esm/src/biz-components/MediaPlayerMulti/types.d.ts +0 -22
  796. package/dist/esm/src/biz-components/MediaPlayerSticky/index.d.ts +0 -9
  797. package/dist/esm/src/biz-components/MediaPlayerSticky/types.d.ts +0 -21
  798. package/dist/esm/src/biz-components/MemberEquity/index.d.ts +0 -7
  799. package/dist/esm/src/biz-components/MemberEquity/types.d.ts +0 -30
  800. package/dist/esm/src/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.d.ts +0 -8
  801. package/dist/esm/src/biz-components/MultiLayoutGraphicBlock/index.d.ts +0 -2
  802. package/dist/esm/src/biz-components/MultiLayoutGraphicBlock/types.d.ts +0 -38
  803. package/dist/esm/src/biz-components/NavigationSearch/index.d.ts +0 -4
  804. package/dist/esm/src/biz-components/NavigationSearch/types.d.ts +0 -18
  805. package/dist/esm/src/biz-components/ProductCompare/index.d.ts +0 -37
  806. package/dist/esm/src/biz-components/ProductHero/ProductHero.d.ts +0 -7
  807. package/dist/esm/src/biz-components/ProductHero/index.d.ts +0 -2
  808. package/dist/esm/src/biz-components/ProductHero/types.d.ts +0 -21
  809. package/dist/esm/src/biz-components/SearchPage/index.d.ts +0 -6
  810. package/dist/esm/src/biz-components/SearchPage/types.d.ts +0 -58
  811. package/dist/esm/src/biz-components/SelectStore/index.d.ts +0 -20
  812. package/dist/esm/src/biz-components/ShelfDisplay/index.d.ts +0 -7
  813. package/dist/esm/src/biz-components/ShelfDisplay/shelfDisplay.d.ts +0 -106
  814. package/dist/esm/src/biz-components/ShelfDisplay/shelfDisplayItem.d.ts +0 -8
  815. package/dist/esm/src/biz-components/ShelfDisplay/tabSwitch.d.ts +0 -9
  816. package/dist/esm/src/biz-components/Slogan/index.d.ts +0 -9
  817. package/dist/esm/src/biz-components/Slogan/types.d.ts +0 -31
  818. package/dist/esm/src/biz-components/Spacer/index.d.ts +0 -7
  819. package/dist/esm/src/biz-components/Spacer/types.d.ts +0 -10
  820. package/dist/esm/src/biz-components/Specs/dropdown.d.ts +0 -11
  821. package/dist/esm/src/biz-components/Specs/index.d.ts +0 -6
  822. package/dist/esm/src/biz-components/SpecsComparison/SpecsComparison.d.ts +0 -7
  823. package/dist/esm/src/biz-components/SpecsComparison/index.d.ts +0 -2
  824. package/dist/esm/src/biz-components/SpecsComparison/types.d.ts +0 -34
  825. package/dist/esm/src/biz-components/Subscribe/index.d.ts +0 -20
  826. package/dist/esm/src/biz-components/SwiperBox/index.d.ts +0 -4
  827. package/dist/esm/src/biz-components/SwiperBox/types.d.ts +0 -17
  828. package/dist/esm/src/biz-components/TabWithImage/TabWithImage.d.ts +0 -7
  829. package/dist/esm/src/biz-components/TabWithImage/index.d.ts +0 -2
  830. package/dist/esm/src/biz-components/TabWithImage/types.d.ts +0 -29
  831. package/dist/esm/src/biz-components/Tabs/Tabs.d.ts +0 -7
  832. package/dist/esm/src/biz-components/Tabs/index.d.ts +0 -1
  833. package/dist/esm/src/biz-components/Tabs/types.d.ts +0 -30
  834. package/dist/esm/src/biz-components/TabsGroup/index.d.ts +0 -7
  835. package/dist/esm/src/biz-components/TabsGroup/types.d.ts +0 -16
  836. package/dist/esm/src/biz-components/TabsWithMedia/TabsWithMedia.d.ts +0 -7
  837. package/dist/esm/src/biz-components/TabsWithMedia/index.d.ts +0 -2
  838. package/dist/esm/src/biz-components/TabsWithMedia/types.d.ts +0 -41
  839. package/dist/esm/src/biz-components/TextModal/index.d.ts +0 -14
  840. package/dist/esm/src/biz-components/ThreeDCarousel/index.d.ts +0 -15
  841. package/dist/esm/src/biz-components/Title/index.d.ts +0 -7
  842. package/dist/esm/src/biz-components/Title/types.d.ts +0 -33
  843. package/dist/esm/src/biz-components/VideoFeature/VideoFeature.d.ts +0 -7
  844. package/dist/esm/src/biz-components/VideoFeature/index.d.ts +0 -2
  845. package/dist/esm/src/biz-components/VideoFeature/types.d.ts +0 -19
  846. package/dist/esm/src/biz-components/VideoModal/YouTubePlayer.d.ts +0 -4
  847. package/dist/esm/src/biz-components/VideoModal/index.d.ts +0 -8
  848. package/dist/esm/src/biz-components/WhyChoose/WhyChoose.d.ts +0 -14
  849. package/dist/esm/src/biz-components/WhyChoose/index.d.ts +0 -2
  850. package/dist/esm/src/biz-components/WhyChoose/types.d.ts +0 -12
  851. package/dist/esm/src/biz-components/index.d.ts +0 -118
  852. package/dist/esm/src/components/alert.d.ts +0 -17
  853. package/dist/esm/src/components/avatar.d.ts +0 -26
  854. package/dist/esm/src/components/badge.d.ts +0 -9
  855. package/dist/esm/src/components/board.d.ts +0 -4
  856. package/dist/esm/src/components/button.d.ts +0 -41
  857. package/dist/esm/src/components/card.d.ts +0 -8
  858. package/dist/esm/src/components/carousel.d.ts +0 -28
  859. package/dist/esm/src/components/checkbox.d.ts +0 -12
  860. package/dist/esm/src/components/color.d.ts +0 -13
  861. package/dist/esm/src/components/container.d.ts +0 -24
  862. package/dist/esm/src/components/dialog.d.ts +0 -21
  863. package/dist/esm/src/components/drawer.d.ts +0 -13
  864. package/dist/esm/src/components/drop-down.d.ts +0 -27
  865. package/dist/esm/src/components/gird.d.ts +0 -17
  866. package/dist/esm/src/components/heading.d.ts +0 -17
  867. package/dist/esm/src/components/index.d.ts +0 -26
  868. package/dist/esm/src/components/input-number.d.ts +0 -78
  869. package/dist/esm/src/components/input.d.ts +0 -22
  870. package/dist/esm/src/components/link.d.ts +0 -45
  871. package/dist/esm/src/components/loadingDots.d.ts +0 -6
  872. package/dist/esm/src/components/picture.d.ts +0 -14
  873. package/dist/esm/src/components/popover.d.ts +0 -6
  874. package/dist/esm/src/components/radio.d.ts +0 -16
  875. package/dist/esm/src/components/skeleton.d.ts +0 -9
  876. package/dist/esm/src/components/tabs.d.ts +0 -11
  877. package/dist/esm/src/components/text.d.ts +0 -32
  878. package/dist/esm/src/components/theme.d.ts +0 -12
  879. package/dist/esm/src/cpn-components/CpnBanner/index.d.ts +0 -3
  880. package/dist/esm/src/cpn-components/CpnBanner/types.d.ts +0 -43
  881. package/dist/esm/src/cpn-components/CpnCountDown/index.d.ts +0 -3
  882. package/dist/esm/src/cpn-components/CpnCountDown/types.d.ts +0 -29
  883. package/dist/esm/src/cpn-components/CpnNavigation/index.d.ts +0 -3
  884. package/dist/esm/src/cpn-components/CpnNavigation/types.d.ts +0 -20
  885. package/dist/esm/src/cpn-components/CpnProductCard/index.d.ts +0 -3
  886. package/dist/esm/src/cpn-components/CpnProductCard/types.d.ts +0 -109
  887. package/dist/esm/src/cpn-components/CpnTitle/index.d.ts +0 -3
  888. package/dist/esm/src/cpn-components/CpnTitle/types.d.ts +0 -10
  889. package/dist/esm/src/cpn-components/index.d.ts +0 -5
  890. package/dist/esm/src/helpers/ScrollLoadVideo.d.ts +0 -15
  891. package/dist/esm/src/helpers/component-props.d.ts +0 -7
  892. package/dist/esm/src/helpers/constants.d.ts +0 -0
  893. package/dist/esm/src/helpers/index.d.ts +0 -2
  894. package/dist/esm/src/helpers/utils.d.ts +0 -6
  895. package/dist/esm/src/hooks/useCountDown.d.ts +0 -10
  896. package/dist/esm/src/hooks/useIntersectionObserver.d.ts +0 -17
  897. package/dist/esm/src/hooks/useRollout.d.ts +0 -14
  898. package/dist/esm/src/icons/spinner.d.ts +0 -5
  899. package/dist/esm/src/index.d.ts +0 -1
  900. package/dist/esm/src/shared/Styles.d.ts +0 -39
  901. package/dist/esm/src/shared/getKeyPropsString.d.ts +0 -4
  902. package/dist/esm/src/shared/mimeType.d.ts +0 -1
  903. package/dist/esm/src/shared/simpleHash.d.ts +0 -1
  904. package/dist/esm/src/shared/throttle.d.ts +0 -1
  905. package/dist/esm/src/shared/track.d.ts +0 -1
  906. package/dist/esm/src/shared/trackUrlRef.d.ts +0 -7
  907. package/dist/esm/src/stories/avatar.stories.d.ts +0 -40
  908. package/dist/esm/src/stories/badge.stories.d.ts +0 -26
  909. package/dist/esm/src/stories/button.stories.d.ts +0 -48
  910. package/dist/esm/src/stories/checkbox.stories.d.ts +0 -46
  911. package/dist/esm/src/stories/container.stories.d.ts +0 -36
  912. package/dist/esm/src/stories/dialog.stories.d.ts +0 -20
  913. package/dist/esm/src/stories/grid.stories.d.ts +0 -42
  914. package/dist/esm/src/stories/heading.stories.d.ts +0 -82
  915. package/dist/esm/src/stories/input-number.stories.d.ts +0 -51
  916. package/dist/esm/src/stories/input.stories.d.ts +0 -35
  917. package/dist/esm/src/stories/picture.stories.d.ts +0 -18
  918. package/dist/esm/src/stories/popover.stories.d.ts +0 -17
  919. package/dist/esm/src/stories/radio.stories.d.ts +0 -39
  920. package/dist/esm/src/stories/skeleton.stories.d.ts +0 -20
  921. package/dist/esm/src/stories/text.stories.d.ts +0 -94
  922. package/dist/esm/src/types/index.d.ts +0 -0
  923. package/dist/esm/src/types/props.d.ts +0 -47
  924. package/dist/esm/stories/HeroBanner.stories.d.ts +0 -26
  925. package/dist/esm/stories/MarqueeReview.stories.d.ts +0 -73
  926. package/dist/esm/stories/MemberEquity.stories.d.ts +0 -9
  927. package/dist/esm/stories/MultiLayoutGraphicBlock.stories.d.ts +0 -9
  928. package/dist/esm/stories/accordionCards.stories.d.ts +0 -17
  929. package/dist/esm/stories/alert.stories.d.ts +0 -27
  930. package/dist/esm/stories/aplusdesc.stories.d.ts +0 -27
  931. package/dist/esm/stories/aplusdesc.stories.js +0 -2
  932. package/dist/esm/stories/aplusdesc.stories.js.map +0 -7
  933. package/dist/esm/stories/avatar.stories.d.ts +0 -39
  934. package/dist/esm/stories/badge.stories.d.ts +0 -31
  935. package/dist/esm/stories/bizTabs.stories.d.ts +0 -7
  936. package/dist/esm/stories/board.stories.d.ts +0 -6
  937. package/dist/esm/stories/brandEquity.stories.d.ts +0 -16
  938. package/dist/esm/stories/button.stories.d.ts +0 -56
  939. package/dist/esm/stories/card.stories.d.ts +0 -27
  940. package/dist/esm/stories/carousel.stories.d.ts +0 -62
  941. package/dist/esm/stories/category.stories.d.ts +0 -17
  942. package/dist/esm/stories/checkbox.stories.d.ts +0 -46
  943. package/dist/esm/stories/container.stories.d.ts +0 -28
  944. package/dist/esm/stories/cpnBanner.stories.d.ts +0 -14
  945. package/dist/esm/stories/cpnCountdown.stories.d.ts +0 -12
  946. package/dist/esm/stories/cpnNavigation.stories.d.ts +0 -14
  947. package/dist/esm/stories/cpnProductcard.stories.d.ts +0 -14
  948. package/dist/esm/stories/cpnTitle.stories.d.ts +0 -14
  949. package/dist/esm/stories/creativeModule.stories.d.ts +0 -19
  950. package/dist/esm/stories/dialog.stories.d.ts +0 -20
  951. package/dist/esm/stories/download.stories.d.ts +0 -18
  952. package/dist/esm/stories/download.stories.js +0 -2
  953. package/dist/esm/stories/download.stories.js.map +0 -7
  954. package/dist/esm/stories/drawer.stories.d.ts +0 -20
  955. package/dist/esm/stories/drop-down.stories.d.ts +0 -16
  956. package/dist/esm/stories/evaluate.stories.d.ts +0 -16
  957. package/dist/esm/stories/faq.stories.d.ts +0 -21
  958. package/dist/esm/stories/featureCards.stories.d.ts +0 -28
  959. package/dist/esm/stories/featureShowcase.stories.d.ts +0 -28
  960. package/dist/esm/stories/features.stories.d.ts +0 -21
  961. package/dist/esm/stories/features.stories.js +0 -2
  962. package/dist/esm/stories/features.stories.js.map +0 -7
  963. package/dist/esm/stories/footcharger.stories.d.ts +0 -19
  964. package/dist/esm/stories/footcharger.stories.js +0 -2
  965. package/dist/esm/stories/footcharger.stories.js.map +0 -7
  966. package/dist/esm/stories/giftbox.stories.d.ts +0 -18
  967. package/dist/esm/stories/giftbox.stories.js +0 -2
  968. package/dist/esm/stories/giftbox.stories.js.map +0 -7
  969. package/dist/esm/stories/graphic.stories.d.ts +0 -63
  970. package/dist/esm/stories/graphicAttractionBlock.stories.d.ts +0 -6
  971. package/dist/esm/stories/graphicMore.stories.d.ts +0 -19
  972. package/dist/esm/stories/graphicMore.stories.js +0 -2
  973. package/dist/esm/stories/graphicMore.stories.js.map +0 -7
  974. package/dist/esm/stories/grid.stories.d.ts +0 -22
  975. package/dist/esm/stories/heading.stories.d.ts +0 -84
  976. package/dist/esm/stories/imageTextFeature.stories.d.ts +0 -27
  977. package/dist/esm/stories/imageWithText.stories.d.ts +0 -27
  978. package/dist/esm/stories/input-number.stories.d.ts +0 -39
  979. package/dist/esm/stories/input.stories.d.ts +0 -35
  980. package/dist/esm/stories/ksp.stories.d.ts +0 -63
  981. package/dist/esm/stories/link.stories.d.ts +0 -69
  982. package/dist/esm/stories/marquee.stories.d.ts +0 -30
  983. package/dist/esm/stories/mediaplayerBase.stories.d.ts +0 -6
  984. package/dist/esm/stories/mediaplayerMulti.stories.d.ts +0 -16
  985. package/dist/esm/stories/picture.stories.d.ts +0 -22
  986. package/dist/esm/stories/popover.stories.d.ts +0 -17
  987. package/dist/esm/stories/productCompare.stories.d.ts +0 -49
  988. package/dist/esm/stories/productHero.stories.d.ts +0 -28
  989. package/dist/esm/stories/radio.stories.d.ts +0 -39
  990. package/dist/esm/stories/selectstore.stories.d.ts +0 -18
  991. package/dist/esm/stories/selectstore.stories.js +0 -2
  992. package/dist/esm/stories/selectstore.stories.js.map +0 -7
  993. package/dist/esm/stories/shelf.stories.d.ts +0 -17
  994. package/dist/esm/stories/shelfDisplay.stories.d.ts +0 -16
  995. package/dist/esm/stories/skeleton.stories.d.ts +0 -20
  996. package/dist/esm/stories/slogan.stories.d.ts +0 -20
  997. package/dist/esm/stories/specs.stories.d.ts +0 -13
  998. package/dist/esm/stories/specsComparison.stories.d.ts +0 -27
  999. package/dist/esm/stories/tabWithImage.stories.d.ts +0 -27
  1000. package/dist/esm/stories/tabs.stories.d.ts +0 -373
  1001. package/dist/esm/stories/tabsWithMedia.stories.d.ts +0 -27
  1002. package/dist/esm/stories/text.stories.d.ts +0 -86
  1003. package/dist/esm/stories/videoFeature.stories.d.ts +0 -28
  1004. package/dist/esm/stories/whychoose.stories.d.ts +0 -21
  1005. package/dist/esm/tailwind.config.d.ts +0 -253
  1006. package/dist/esm/tests/BrandEquity.test.d.ts +0 -1
  1007. package/dist/esm/tests/Ksp.test.d.ts +0 -1
  1008. package/dist/esm/tests/MarqueeReview.test.d.ts +0 -1
  1009. package/dist/esm/tests/Title.test.d.ts +0 -1
  1010. package/dist/esm/tests/badge.test.d.ts +0 -1
  1011. package/dist/esm/tests/button.test.d.ts +0 -1
  1012. package/dist/esm/tests/card.test.d.ts +0 -1
  1013. package/dist/esm/tests/carousel.test.d.ts +0 -1
  1014. package/dist/esm/tests/featureCards.test.d.ts +0 -1
  1015. package/dist/esm/tests/featureShowcase.test.d.ts +0 -1
  1016. package/dist/esm/tests/heading.test.d.ts +0 -1
  1017. package/dist/esm/tests/imageTextFeature.test.d.ts +0 -1
  1018. package/dist/esm/tests/imageWithText.test.d.ts +0 -1
  1019. package/dist/esm/tests/input.test.d.ts +0 -1
  1020. package/dist/esm/tests/jest.setup.d.ts +0 -1
  1021. package/dist/esm/tests/productHero.test.d.ts +0 -1
  1022. package/dist/esm/tests/specsComparison.test.d.ts +0 -1
  1023. package/dist/esm/tests/tabWithImage.test.d.ts +0 -1
  1024. package/dist/esm/tests/tabs.test.d.ts +0 -1
  1025. package/dist/esm/tests/tabsWithMedia.test.d.ts +0 -1
  1026. package/dist/esm/tests/text.test.d.ts +0 -1
  1027. package/dist/esm/tests/videoFeature.test.d.ts +0 -1
  1028. package/dist/esm/tsconfig.tsbuildinfo +0 -1
  1029. package/dist/esm/ui/src/biz-components/CollectionsFilters/FilterCardWrapItem.d.ts +0 -5
  1030. /package/dist/cjs/{src/hooks → hooks}/useExposure.d.ts +0 -0
  1031. /package/dist/esm/{src/hooks → 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/ProductDetail/ProductBundle/index.tsx"],
4
- "sourcesContent": ["import { Text, Picture, Button, Checkbox } from '../../../../../../components'\nimport { cn } from '../../../../../../helpers/index.js'\nimport { useAiuiContext } from '../../../../../AiuiProvider'\nimport { useBizProductContext } from '../../../../BizProductProvider.js'\nimport { formatPrice } from '../../../../utils'\nimport type { BundleListItem } from '../../../../types/product'\n\nconst ProductBundle = () => {\n const { locale = 'us' } = useAiuiContext()\n const {\n variant,\n bundle,\n checkedBundle,\n setCheckedBundle,\n setCheckedGift,\n savingDetail,\n setSavingDetail,\n setCheckedExchangePurchase,\n setJoinedRecommendBuyProducts,\n joinedRecommendBuyProducts,\n } = useBizProductContext()\n\n const { title, bundleList, showAtListing } = bundle || {}\n\n const availableBundleList = bundleList?.filter(bundle =>\n bundle.variants.slice(1, bundle.variants.length).every(v => v.variant.availableForSale)\n )\n\n if (!availableBundleList?.length && showAtListing) return null\n\n const handleSelectedChange = (bundleItem: BundleListItem) => {\n if (checkedBundle?.id === bundleItem.id) {\n setCheckedBundle?.(undefined)\n setJoinedRecommendBuyProducts?.({\n gift: {\n value: undefined,\n canOperate: true,\n },\n exchange: {\n value: undefined,\n canOperate: true,\n },\n bundle: {\n value: undefined,\n canOperate: true,\n },\n })\n } else {\n setCheckedGift?.(undefined)\n setCheckedExchangePurchase?.(undefined)\n setCheckedBundle?.(bundleItem)\n setSavingDetail?.({ ...savingDetail, exchangePurchase: 0 })\n setJoinedRecommendBuyProducts?.({\n gift: {\n value: undefined,\n canOperate: true,\n },\n exchange: {\n value: undefined,\n canOperate: true,\n },\n bundle: {\n value: bundleItem,\n canOperate: false,\n },\n })\n }\n }\n\n return (\n <div className=\"ipc-product-detail-bundle\">\n <Text size={3} className=\"font-bold\" html={title} />\n <div className=\"grid grid-cols-1 gap-3 laptop:grid-cols-2 mt-3 desktop:grid-cols-1 desktop:mt-4\">\n {availableBundleList?.map(bundle => {\n const bundleVariants = bundle.variants.filter(v => v.variant.sku !== variant.sku)\n return (\n <div key={bundle.id}>\n <div\n className={cn(\n 'flex items-center gap-2 text-left font-bold px-4 rounded-box border-[#E4E5E6] border-2',\n {\n ['border-brand']: checkedBundle?.id === bundle.id,\n }\n )}\n >\n <Checkbox\n onCheckedChange={() => handleSelectedChange(bundle)}\n size=\"lg\"\n className={cn('rounded-full border-[#D1D1D1] border-[2px]', {\n 'border-brand': checkedBundle?.id === bundle.id,\n })}\n id={bundle.id}\n value={bundle.id}\n checked={checkedBundle?.id === bundle.id}\n />\n <label htmlFor={bundle.id} className=\"size-full cursor-pointer py-6\">\n {bundleVariants?.map(bundleVariant => {\n return (\n <div className=\"flex justify-between items-center gap-6 \" key={bundleVariant.variant.id}>\n <div className=\"flex items-center gap-2\">\n <Picture source={bundleVariant?.variant?.image?.url} className=\"size-12 flex-shrink-0\" />\n <Text\n className=\"text-sm laptop:text-[16px] line-clamp-2 lg-desktop:text-[18px] font-bold\"\n html={bundleVariant.variant.product.title}\n />\n </div>\n <div className=\"flex items-center justify-end gap-1 laptop:flex-row flex-col shrink-0\">\n <Text\n className=\"text-base laptop:text-[20px] lg-desktop:text-2xl font-bold\"\n html={formatPrice({\n amount: bundleVariant.price,\n locale,\n currencyCode: bundleVariant.variant.price.currencyCode,\n })}\n />\n {bundleVariant.price < bundleVariant.variant.price.amount && (\n <Text\n className=\"text-base laptop:text-[20px] lg-desktop:text-2xl font-bold line-through text-[#6D6D6F]\"\n html={formatPrice({\n amount: bundleVariant.variant.price.amount,\n locale,\n currencyCode: bundleVariant.variant.price.currencyCode,\n })}\n />\n )}\n </div>\n </div>\n )\n })}\n </label>\n </div>\n </div>\n )\n })}\n </div>\n </div>\n )\n}\n\nexport default ProductBundle\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { Text, Picture, Button, Checkbox } from '../../../../../../components'\nimport { cn } from '../../../../../../helpers/index.js'\nimport { useAiuiContext } from '../../../../../AiuiProvider'\nimport { useBizProductContext } from '../../../../BizProductProvider.js'\nimport { formatPrice } from '../../../../utils'\nimport type { BundleListItem } from '../../../../types/product'\n\nconst ProductBundle = () => {\n const { locale = 'us' } = useAiuiContext()\n const {\n variant,\n bundle,\n checkedBundle,\n setCheckedBundle,\n setCheckedGift,\n savingDetail,\n setSavingDetail,\n setCheckedExchangePurchase,\n setJoinedRecommendBuyProducts,\n joinedRecommendBuyProducts,\n } = useBizProductContext()\n\n const { title, bundleList, showAtListing } = bundle || {}\n\n const availableBundleList = bundleList?.filter(bundle =>\n bundle.variants.slice(1, bundle.variants.length).every(v => v.variant.availableForSale)\n )\n\n if (!availableBundleList?.length && showAtListing) return null\n\n const handleSelectedChange = (bundleItem: BundleListItem) => {\n if (checkedBundle?.id === bundleItem.id) {\n setCheckedBundle?.(undefined)\n setJoinedRecommendBuyProducts?.({\n ...joinedRecommendBuyProducts,\n bundle: {\n value: undefined,\n canOperate: true,\n },\n })\n } else {\n setCheckedBundle?.(bundleItem)\n setJoinedRecommendBuyProducts?.({\n ...joinedRecommendBuyProducts,\n bundle: {\n value: bundleItem,\n canOperate: false,\n },\n })\n }\n }\n\n return (\n <div className=\"ipc-product-detail-bundle\">\n <Text size={3} className=\"font-bold\" html={title} />\n <div className=\"grid grid-cols-1 gap-3 laptop:grid-cols-2 mt-3 desktop:grid-cols-1 desktop:mt-4\">\n {availableBundleList?.map(bundle => {\n const bundleVariants = bundle.variants.filter(v => v.variant.sku !== variant.sku)\n return (\n <div key={bundle.id}>\n <div\n className={cn(\n 'flex items-center gap-2 text-left font-bold px-4 rounded-box border-[#E4E5E6] border-2',\n {\n ['border-brand']: checkedBundle?.id === bundle.id,\n }\n )}\n >\n <Checkbox\n onCheckedChange={() => handleSelectedChange(bundle)}\n size=\"lg\"\n className={cn('rounded-full border-[#D1D1D1] border-[2px]', {\n 'border-brand': checkedBundle?.id === bundle.id,\n })}\n id={bundle.id}\n value={bundle.id}\n checked={checkedBundle?.id === bundle.id}\n />\n <label htmlFor={bundle.id} className=\"size-full cursor-pointer py-6\">\n {bundleVariants?.map(bundleVariant => {\n return (\n <div className=\"flex justify-between items-center gap-6 \" key={bundleVariant.variant.id}>\n <div className=\"flex items-center gap-2\">\n <Picture source={bundleVariant?.variant?.image?.url} className=\"size-12 flex-shrink-0\" />\n <Text\n className=\"text-sm laptop:text-[16px] line-clamp-2 lg-desktop:text-[18px] font-bold\"\n html={bundleVariant.variant.product.title}\n />\n </div>\n <div className=\"flex items-center justify-end gap-1 laptop:flex-row flex-col shrink-0\">\n <Text\n className=\"text-base laptop:text-[20px] lg-desktop:text-2xl font-bold\"\n html={formatPrice({\n amount: bundleVariant.price,\n locale,\n currencyCode: bundleVariant.variant.price.currencyCode,\n })}\n />\n {bundleVariant.price < bundleVariant.variant.price.amount && (\n <Text\n className=\"text-base laptop:text-[20px] lg-desktop:text-2xl font-bold line-through text-[#6D6D6F]\"\n html={formatPrice({\n amount: bundleVariant.variant.price.amount,\n locale,\n currencyCode: bundleVariant.variant.price.currencyCode,\n })}\n />\n )}\n </div>\n </div>\n )\n })}\n </label>\n </div>\n </div>\n )\n })}\n </div>\n </div>\n )\n}\n\nexport default ProductBundle\n"],
5
+ "mappings": "AAsDM,cAAAA,EA4BkB,QAAAC,MA5BlB,oBAtDN,OAAS,QAAAC,EAAM,WAAAC,EAAiB,YAAAC,MAAgB,+BAChD,OAAS,MAAAC,MAAU,qCACnB,OAAS,kBAAAC,MAAsB,8BAC/B,OAAS,wBAAAC,MAA4B,oCACrC,OAAS,eAAAC,MAAmB,oBAG5B,MAAMC,EAAgB,IAAM,CAC1B,KAAM,CAAE,OAAAC,EAAS,IAAK,EAAIJ,EAAe,EACnC,CACJ,QAAAK,EACA,OAAAC,EACA,cAAAC,EACA,iBAAAC,EACA,eAAAC,EACA,aAAAC,EACA,gBAAAC,EACA,2BAAAC,EACA,8BAAAC,EACA,2BAAAC,CACF,EAAIb,EAAqB,EAEnB,CAAE,MAAAc,EAAO,WAAAC,EAAY,cAAAC,CAAc,EAAIX,GAAU,CAAC,EAElDY,EAAsBF,GAAY,OAAOV,GAC7CA,EAAO,SAAS,MAAM,EAAGA,EAAO,SAAS,MAAM,EAAE,MAAMa,GAAKA,EAAE,QAAQ,gBAAgB,CACxF,EAEA,GAAI,CAACD,GAAqB,QAAUD,EAAe,OAAO,KAE1D,MAAMG,EAAwBC,GAA+B,CACvDd,GAAe,KAAOc,EAAW,IACnCb,IAAmB,MAAS,EAC5BK,IAAgC,CAC9B,GAAGC,EACH,OAAQ,CACN,MAAO,OACP,WAAY,EACd,CACF,CAAC,IAEDN,IAAmBa,CAAU,EAC7BR,IAAgC,CAC9B,GAAGC,EACH,OAAQ,CACN,MAAOO,EACP,WAAY,EACd,CACF,CAAC,EAEL,EAEA,OACE1B,EAAC,OAAI,UAAU,4BACb,UAAAD,EAACE,EAAA,CAAK,KAAM,EAAG,UAAU,YAAY,KAAMmB,EAAO,EAClDrB,EAAC,OAAI,UAAU,kFACZ,SAAAwB,GAAqB,IAAIZ,GAAU,CAClC,MAAMgB,EAAiBhB,EAAO,SAAS,OAAOa,GAAKA,EAAE,QAAQ,MAAQd,EAAQ,GAAG,EAChF,OACEX,EAAC,OACC,SAAAC,EAAC,OACC,UAAWI,EACT,yFACA,CACG,eAAiBQ,GAAe,KAAOD,EAAO,EACjD,CACF,EAEA,UAAAZ,EAACI,EAAA,CACC,gBAAiB,IAAMsB,EAAqBd,CAAM,EAClD,KAAK,KACL,UAAWP,EAAG,6CAA8C,CAC1D,eAAgBQ,GAAe,KAAOD,EAAO,EAC/C,CAAC,EACD,GAAIA,EAAO,GACX,MAAOA,EAAO,GACd,QAASC,GAAe,KAAOD,EAAO,GACxC,EACAZ,EAAC,SAAM,QAASY,EAAO,GAAI,UAAU,gCAClC,SAAAgB,GAAgB,IAAIC,GAEjB5B,EAAC,OAAI,UAAU,2CACb,UAAAA,EAAC,OAAI,UAAU,0BACb,UAAAD,EAACG,EAAA,CAAQ,OAAQ0B,GAAe,SAAS,OAAO,IAAK,UAAU,wBAAwB,EACvF7B,EAACE,EAAA,CACC,UAAU,2EACV,KAAM2B,EAAc,QAAQ,QAAQ,MACtC,GACF,EACA5B,EAAC,OAAI,UAAU,yEACb,UAAAD,EAACE,EAAA,CACC,UAAU,6DACV,KAAMM,EAAY,CAChB,OAAQqB,EAAc,MACtB,OAAAnB,EACA,aAAcmB,EAAc,QAAQ,MAAM,YAC5C,CAAC,EACH,EACCA,EAAc,MAAQA,EAAc,QAAQ,MAAM,QACjD7B,EAACE,EAAA,CACC,UAAU,yFACV,KAAMM,EAAY,CAChB,OAAQqB,EAAc,QAAQ,MAAM,OACpC,OAAAnB,EACA,aAAcmB,EAAc,QAAQ,MAAM,YAC5C,CAAC,EACH,GAEJ,IA3B6DA,EAAc,QAAQ,EA4BrF,CAEH,EACH,GACF,GAtDQjB,EAAO,EAuDjB,CAEJ,CAAC,EACH,GACF,CAEJ,EAEA,IAAOkB,EAAQrB",
6
6
  "names": ["jsx", "jsxs", "Text", "Picture", "Checkbox", "cn", "useAiuiContext", "useBizProductContext", "formatPrice", "ProductBundle", "locale", "variant", "bundle", "checkedBundle", "setCheckedBundle", "setCheckedGift", "savingDetail", "setSavingDetail", "setCheckedExchangePurchase", "setJoinedRecommendBuyProducts", "joinedRecommendBuyProducts", "title", "bundleList", "showAtListing", "availableBundleList", "v", "handleSelectedChange", "bundleItem", "bundleVariants", "bundleVariant", "ProductBundle_default"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{jsx as t,jsxs as a}from"react/jsx-runtime";import{Text as o,Picture as P,Checkbox as v}from"../../../../../../components";import{cn as s}from"../../../../../../helpers/index.js";import{useMemo as g}from"react";import{useBizProductContext as k}from"../../../../BizProductProvider.js";import{formatPrice as u}from"../../../../utils";import{useAiuiContext as C}from"../../../../../AiuiProvider";const N=()=>{const{locale:d="us"}=C(),{checkedExchangePurchase:r,exchangePurchase:p,setCheckedBundle:m,setJoinedRecommendBuyProducts:c,setSavingDetail:x,setCheckedExchangePurchase:l,joinedRecommendBuyProducts:y,savingDetail:h}=k(),{title:f,giftList:n=[],freeLabel:D}=p||{},i=g(()=>n?.filter(e=>e.availableForSale),[n]),b=e=>{r?.id===e.id?(l?.(void 0),c?.({gift:{value:void 0,canOperate:!0},bundle:{value:void 0,canOperate:!0},exchange:{value:void 0,canOperate:!0}}),x?.({...h,exchangePurchase:0})):(m?.(void 0),l?.(e),c?.({bundle:{value:void 0,canOperate:!0},gift:{value:void 0,canOperate:!0},exchange:{value:e,canOperate:!1}}))};return i?.length?a("div",{className:"ipc-product-detail-exchange-purchase",children:[t(o,{size:3,className:"font-bold",html:f}),t("div",{className:"grid grid-cols-1 gap-3 laptop:grid-cols-2 desktop:grid-cols-1 mt-3 desktop:mt-4",children:i.map(e=>a("div",{className:s("flex items-center gap-2 text-left font-bold px-4 rounded-box border-[#E4E5E6] border-2",{"border-brand":r?.id===e.id}),children:[t(v,{onCheckedChange:()=>b(e),size:"lg",className:s("rounded-full border-[#D1D1D1] border-[2px]",{"border-brand":r?.id===e.id}),id:e.id,checked:r?.id===e.id,value:e.id}),a("label",{htmlFor:e.id,className:"flex py-6 cursor-pointer justify-between items-center gap-4 w-full",children:[a("div",{className:"flex items-center gap-2",children:[t(P,{source:e.image?.url,className:"size-12 flex-shrink-0"}),t(o,{className:"text-sm laptop:text-[16px] line-clamp-2 lg-desktop:text-[18px] font-bold",html:e.product.title})]}),a("div",{className:"flex items-center gap-1 tablet:flex-row flex-col shrink-0",children:[t(o,{className:"text-base laptop:text-[20px] lg-desktop:text-2xl font-bold",html:u({amount:e?.finalPrice?.amount||0,locale:d,currencyCode:e?.finalPrice?.currencyCode||"USD"})}),t(o,{className:"text-base text-[#6D6D6F] laptop:text-[20px] lg-desktop:text-2xl font-bold line-through",html:u({amount:e.price.amount,locale:d,currencyCode:e.price.currencyCode})})]})]})]},e.id))})]}):null};var V=N;export{V as default};
1
+ import{jsx as t,jsxs as r}from"react/jsx-runtime";import{Text as a,Picture as P,Checkbox as k}from"../../../../../../components";import{cn as m}from"../../../../../../helpers/index.js";import{useMemo as g}from"react";import{useBizProductContext as v}from"../../../../BizProductProvider.js";import{formatPrice as u}from"../../../../utils";import{useAiuiContext as C}from"../../../../../AiuiProvider";const N=()=>{const{locale:c="us"}=C(),{checkedExchangePurchase:o,exchangePurchase:p,setCheckedBundle:y,setJoinedRecommendBuyProducts:l,setSavingDetail:x,setCheckedExchangePurchase:d,joinedRecommendBuyProducts:s,savingDetail:h}=v(),{title:b,giftList:i=[],freeLabel:D}=p||{},n=g(()=>i?.filter(e=>e.availableForSale),[i]),f=e=>{o?.id===e.id?(d?.(void 0),l?.({...s,exchange:{value:void 0,canOperate:!0}}),x?.({...h,exchangePurchase:0})):(d?.(e),l?.({...s,exchange:{value:e,canOperate:!1}}))};return n?.length?r("div",{className:"ipc-product-detail-exchange-purchase",children:[t(a,{size:3,className:"font-bold",html:b}),t("div",{className:"grid grid-cols-1 gap-3 laptop:grid-cols-2 desktop:grid-cols-1 mt-3 desktop:mt-4",children:n.map(e=>r("div",{className:m("flex items-center gap-2 text-left font-bold px-4 rounded-box border-[#E4E5E6] border-2",{"border-brand":o?.id===e.id}),children:[t(k,{onCheckedChange:()=>f(e),size:"lg",className:m("rounded-full border-[#D1D1D1] border-[2px]",{"border-brand":o?.id===e.id}),id:e.id,checked:o?.id===e.id,value:e.id}),r("label",{htmlFor:e.id,className:"flex py-6 cursor-pointer justify-between items-center gap-4 w-full",children:[r("div",{className:"flex items-center gap-2",children:[t(P,{source:e.image?.url,className:"size-12 flex-shrink-0"}),t(a,{className:"text-sm laptop:text-[16px] line-clamp-2 lg-desktop:text-[18px] font-bold",html:e.product.title})]}),r("div",{className:"flex items-center gap-1 tablet:flex-row flex-col shrink-0",children:[t(a,{className:"text-base laptop:text-[20px] lg-desktop:text-2xl font-bold",html:u({amount:e?.finalPrice?.amount||0,locale:c,currencyCode:e?.finalPrice?.currencyCode||"USD"})}),t(a,{className:"text-base text-[#6D6D6F] laptop:text-[20px] lg-desktop:text-2xl font-bold line-through",html:u({amount:e.price.amount,locale:c,currencyCode:e.price.currencyCode})})]})]})]},e.id))})]}):null};var V=N;export{V as default};
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/ProductDetail/ProductExchangePurchase/index.tsx"],
4
- "sourcesContent": ["import { Text, Picture, Button, RadioGroup, RadioGroupItem, Checkbox } from '../../../../../../components'\nimport { cn } from '../../../../../../helpers/index.js'\nimport { useMemo } from 'react'\nimport { useBizProductContext } from '../../../../BizProductProvider.js'\nimport { formatPrice } from '../../../../utils'\nimport { useAiuiContext } from '../../../../../AiuiProvider'\nimport type { ProductVariant, ProductPrice } from '../../../../types/product'\n\nconst ProductExchangePurchase = () => {\n const { locale = 'us' } = useAiuiContext()\n const {\n checkedExchangePurchase,\n exchangePurchase,\n setCheckedBundle,\n setJoinedRecommendBuyProducts,\n setSavingDetail,\n setCheckedExchangePurchase,\n joinedRecommendBuyProducts,\n savingDetail,\n } = useBizProductContext()\n const { title, giftList = [], freeLabel } = exchangePurchase || {}\n const availableGifts = useMemo(() => giftList?.filter(item => item.availableForSale), [giftList])\n\n const handleCheckboxClick = (value: ProductVariant) => {\n if (checkedExchangePurchase?.id === value.id) {\n setCheckedExchangePurchase?.(undefined)\n setJoinedRecommendBuyProducts?.({\n gift: {\n value: undefined,\n canOperate: true,\n },\n bundle: {\n value: undefined,\n canOperate: true,\n },\n exchange: {\n value: undefined,\n canOperate: true,\n },\n })\n setSavingDetail?.({ ...savingDetail, exchangePurchase: 0 })\n } else {\n setCheckedBundle?.(undefined)\n setCheckedExchangePurchase?.(value)\n setJoinedRecommendBuyProducts?.({\n bundle: {\n value: undefined,\n canOperate: true,\n },\n gift: {\n value: undefined,\n canOperate: true,\n },\n exchange: {\n value,\n canOperate: false,\n },\n })\n }\n }\n\n if (!availableGifts?.length) return null\n\n return (\n <div className=\"ipc-product-detail-exchange-purchase\">\n <Text size={3} className=\"font-bold\" html={title} />\n <div className=\"grid grid-cols-1 gap-3 laptop:grid-cols-2 desktop:grid-cols-1 mt-3 desktop:mt-4\">\n {availableGifts.map((gift: ProductVariant & { finalPrice?: ProductPrice }) => (\n <div\n key={gift.id}\n className={cn('flex items-center gap-2 text-left font-bold px-4 rounded-box border-[#E4E5E6] border-2', {\n ['border-brand']: checkedExchangePurchase?.id === gift.id,\n })}\n >\n <Checkbox\n onCheckedChange={() => handleCheckboxClick(gift)}\n size=\"lg\"\n className={cn('rounded-full border-[#D1D1D1] border-[2px]', {\n 'border-brand': checkedExchangePurchase?.id === gift.id,\n })}\n id={gift.id}\n checked={checkedExchangePurchase?.id === gift.id}\n value={gift.id}\n ></Checkbox>\n <label htmlFor={gift.id} className=\"flex py-6 cursor-pointer justify-between items-center gap-4 w-full\">\n <div className=\"flex items-center gap-2\">\n <Picture source={gift.image?.url} className=\"size-12 flex-shrink-0\" />\n <Text\n className=\"text-sm laptop:text-[16px] line-clamp-2 lg-desktop:text-[18px] font-bold\"\n html={gift.product.title}\n />\n </div>\n <div className=\"flex items-center gap-1 tablet:flex-row flex-col shrink-0\">\n <Text\n className=\"text-base laptop:text-[20px] lg-desktop:text-2xl font-bold\"\n html={formatPrice({\n amount: gift?.finalPrice?.amount || 0,\n locale,\n currencyCode: gift?.finalPrice?.currencyCode || 'USD',\n })}\n />\n <Text\n className=\"text-base text-[#6D6D6F] laptop:text-[20px] lg-desktop:text-2xl font-bold line-through\"\n html={formatPrice({\n amount: gift.price.amount,\n locale,\n currencyCode: gift.price.currencyCode,\n })}\n />\n </div>\n </label>\n </div>\n ))}\n </div>\n </div>\n )\n}\n\nexport default ProductExchangePurchase\n"],
5
- "mappings": "AAiEM,cAAAA,EAoBQ,QAAAC,MApBR,oBAjEN,OAAS,QAAAC,EAAM,WAAAC,EAA6C,YAAAC,MAAgB,+BAC5E,OAAS,MAAAC,MAAU,qCACnB,OAAS,WAAAC,MAAe,QACxB,OAAS,wBAAAC,MAA4B,oCACrC,OAAS,eAAAC,MAAmB,oBAC5B,OAAS,kBAAAC,MAAsB,8BAG/B,MAAMC,EAA0B,IAAM,CACpC,KAAM,CAAE,OAAAC,EAAS,IAAK,EAAIF,EAAe,EACnC,CACJ,wBAAAG,EACA,iBAAAC,EACA,iBAAAC,EACA,8BAAAC,EACA,gBAAAC,EACA,2BAAAC,EACA,2BAAAC,EACA,aAAAC,CACF,EAAIZ,EAAqB,EACnB,CAAE,MAAAa,EAAO,SAAAC,EAAW,CAAC,EAAG,UAAAC,CAAU,EAAIT,GAAoB,CAAC,EAC3DU,EAAiBjB,EAAQ,IAAMe,GAAU,OAAOG,GAAQA,EAAK,gBAAgB,EAAG,CAACH,CAAQ,CAAC,EAE1FI,EAAuBC,GAA0B,CACjDd,GAAyB,KAAOc,EAAM,IACxCT,IAA6B,MAAS,EACtCF,IAAgC,CAC9B,KAAM,CACJ,MAAO,OACP,WAAY,EACd,EACA,OAAQ,CACN,MAAO,OACP,WAAY,EACd,EACA,SAAU,CACR,MAAO,OACP,WAAY,EACd,CACF,CAAC,EACDC,IAAkB,CAAE,GAAGG,EAAc,iBAAkB,CAAE,CAAC,IAE1DL,IAAmB,MAAS,EAC5BG,IAA6BS,CAAK,EAClCX,IAAgC,CAC9B,OAAQ,CACN,MAAO,OACP,WAAY,EACd,EACA,KAAM,CACJ,MAAO,OACP,WAAY,EACd,EACA,SAAU,CACR,MAAAW,EACA,WAAY,EACd,CACF,CAAC,EAEL,EAEA,OAAKH,GAAgB,OAGnBtB,EAAC,OAAI,UAAU,uCACb,UAAAD,EAACE,EAAA,CAAK,KAAM,EAAG,UAAU,YAAY,KAAMkB,EAAO,EAClDpB,EAAC,OAAI,UAAU,kFACZ,SAAAuB,EAAe,IAAKI,GACnB1B,EAAC,OAEC,UAAWI,EAAG,yFAA0F,CACrG,eAAiBO,GAAyB,KAAOe,EAAK,EACzD,CAAC,EAED,UAAA3B,EAACI,EAAA,CACC,gBAAiB,IAAMqB,EAAoBE,CAAI,EAC/C,KAAK,KACL,UAAWtB,EAAG,6CAA8C,CAC1D,eAAgBO,GAAyB,KAAOe,EAAK,EACvD,CAAC,EACD,GAAIA,EAAK,GACT,QAASf,GAAyB,KAAOe,EAAK,GAC9C,MAAOA,EAAK,GACb,EACD1B,EAAC,SAAM,QAAS0B,EAAK,GAAI,UAAU,qEACjC,UAAA1B,EAAC,OAAI,UAAU,0BACb,UAAAD,EAACG,EAAA,CAAQ,OAAQwB,EAAK,OAAO,IAAK,UAAU,wBAAwB,EACpE3B,EAACE,EAAA,CACC,UAAU,2EACV,KAAMyB,EAAK,QAAQ,MACrB,GACF,EACA1B,EAAC,OAAI,UAAU,4DACb,UAAAD,EAACE,EAAA,CACC,UAAU,6DACV,KAAMM,EAAY,CAChB,OAAQmB,GAAM,YAAY,QAAU,EACpC,OAAAhB,EACA,aAAcgB,GAAM,YAAY,cAAgB,KAClD,CAAC,EACH,EACA3B,EAACE,EAAA,CACC,UAAU,yFACV,KAAMM,EAAY,CAChB,OAAQmB,EAAK,MAAM,OACnB,OAAAhB,EACA,aAAcgB,EAAK,MAAM,YAC3B,CAAC,EACH,GACF,GACF,IAzCKA,EAAK,EA0CZ,CACD,EACH,GACF,EArDkC,IAuDtC,EAEA,IAAOC,EAAQlB",
4
+ "sourcesContent": ["import { Text, Picture, Checkbox } from '../../../../../../components'\nimport { cn } from '../../../../../../helpers/index.js'\nimport { useMemo } from 'react'\nimport { useBizProductContext } from '../../../../BizProductProvider.js'\nimport { formatPrice } from '../../../../utils'\nimport { useAiuiContext } from '../../../../../AiuiProvider'\nimport type { ProductVariant, ProductPrice } from '../../../../types/product'\n\nconst ProductExchangePurchase = () => {\n const { locale = 'us' } = useAiuiContext()\n const {\n checkedExchangePurchase,\n exchangePurchase,\n setCheckedBundle,\n setJoinedRecommendBuyProducts,\n setSavingDetail,\n setCheckedExchangePurchase,\n joinedRecommendBuyProducts,\n savingDetail,\n } = useBizProductContext()\n const { title, giftList = [], freeLabel } = exchangePurchase || {}\n const availableGifts = useMemo(() => giftList?.filter(item => item.availableForSale), [giftList])\n\n const handleCheckboxClick = (value: ProductVariant) => {\n if (checkedExchangePurchase?.id === value.id) {\n setCheckedExchangePurchase?.(undefined)\n setJoinedRecommendBuyProducts?.({\n ...joinedRecommendBuyProducts,\n exchange: {\n value: undefined,\n canOperate: true,\n },\n })\n setSavingDetail?.({ ...savingDetail, exchangePurchase: 0 })\n } else {\n setCheckedExchangePurchase?.(value)\n setJoinedRecommendBuyProducts?.({\n ...joinedRecommendBuyProducts,\n exchange: {\n value,\n canOperate: false,\n },\n })\n }\n }\n\n if (!availableGifts?.length) return null\n\n return (\n <div className=\"ipc-product-detail-exchange-purchase\">\n <Text size={3} className=\"font-bold\" html={title} />\n <div className=\"grid grid-cols-1 gap-3 laptop:grid-cols-2 desktop:grid-cols-1 mt-3 desktop:mt-4\">\n {availableGifts.map((gift: ProductVariant & { finalPrice?: ProductPrice }) => (\n <div\n key={gift.id}\n className={cn('flex items-center gap-2 text-left font-bold px-4 rounded-box border-[#E4E5E6] border-2', {\n ['border-brand']: checkedExchangePurchase?.id === gift.id,\n })}\n >\n <Checkbox\n onCheckedChange={() => handleCheckboxClick(gift)}\n size=\"lg\"\n className={cn('rounded-full border-[#D1D1D1] border-[2px]', {\n 'border-brand': checkedExchangePurchase?.id === gift.id,\n })}\n id={gift.id}\n checked={checkedExchangePurchase?.id === gift.id}\n value={gift.id}\n ></Checkbox>\n <label htmlFor={gift.id} className=\"flex py-6 cursor-pointer justify-between items-center gap-4 w-full\">\n <div className=\"flex items-center gap-2\">\n <Picture source={gift.image?.url} className=\"size-12 flex-shrink-0\" />\n <Text\n className=\"text-sm laptop:text-[16px] line-clamp-2 lg-desktop:text-[18px] font-bold\"\n html={gift.product.title}\n />\n </div>\n <div className=\"flex items-center gap-1 tablet:flex-row flex-col shrink-0\">\n <Text\n className=\"text-base laptop:text-[20px] lg-desktop:text-2xl font-bold\"\n html={formatPrice({\n amount: gift?.finalPrice?.amount || 0,\n locale,\n currencyCode: gift?.finalPrice?.currencyCode || 'USD',\n })}\n />\n <Text\n className=\"text-base text-[#6D6D6F] laptop:text-[20px] lg-desktop:text-2xl font-bold line-through\"\n html={formatPrice({\n amount: gift.price.amount,\n locale,\n currencyCode: gift.price.currencyCode,\n })}\n />\n </div>\n </label>\n </div>\n ))}\n </div>\n </div>\n )\n}\n\nexport default ProductExchangePurchase\n"],
5
+ "mappings": "AAkDM,cAAAA,EAoBQ,QAAAC,MApBR,oBAlDN,OAAS,QAAAC,EAAM,WAAAC,EAAS,YAAAC,MAAgB,+BACxC,OAAS,MAAAC,MAAU,qCACnB,OAAS,WAAAC,MAAe,QACxB,OAAS,wBAAAC,MAA4B,oCACrC,OAAS,eAAAC,MAAmB,oBAC5B,OAAS,kBAAAC,MAAsB,8BAG/B,MAAMC,EAA0B,IAAM,CACpC,KAAM,CAAE,OAAAC,EAAS,IAAK,EAAIF,EAAe,EACnC,CACJ,wBAAAG,EACA,iBAAAC,EACA,iBAAAC,EACA,8BAAAC,EACA,gBAAAC,EACA,2BAAAC,EACA,2BAAAC,EACA,aAAAC,CACF,EAAIZ,EAAqB,EACnB,CAAE,MAAAa,EAAO,SAAAC,EAAW,CAAC,EAAG,UAAAC,CAAU,EAAIT,GAAoB,CAAC,EAC3DU,EAAiBjB,EAAQ,IAAMe,GAAU,OAAOG,GAAQA,EAAK,gBAAgB,EAAG,CAACH,CAAQ,CAAC,EAE1FI,EAAuBC,GAA0B,CACjDd,GAAyB,KAAOc,EAAM,IACxCT,IAA6B,MAAS,EACtCF,IAAgC,CAC9B,GAAGG,EACH,SAAU,CACR,MAAO,OACP,WAAY,EACd,CACF,CAAC,EACDF,IAAkB,CAAE,GAAGG,EAAc,iBAAkB,CAAE,CAAC,IAE1DF,IAA6BS,CAAK,EAClCX,IAAgC,CAC9B,GAAGG,EACH,SAAU,CACR,MAAAQ,EACA,WAAY,EACd,CACF,CAAC,EAEL,EAEA,OAAKH,GAAgB,OAGnBtB,EAAC,OAAI,UAAU,uCACb,UAAAD,EAACE,EAAA,CAAK,KAAM,EAAG,UAAU,YAAY,KAAMkB,EAAO,EAClDpB,EAAC,OAAI,UAAU,kFACZ,SAAAuB,EAAe,IAAKI,GACnB1B,EAAC,OAEC,UAAWI,EAAG,yFAA0F,CACrG,eAAiBO,GAAyB,KAAOe,EAAK,EACzD,CAAC,EAED,UAAA3B,EAACI,EAAA,CACC,gBAAiB,IAAMqB,EAAoBE,CAAI,EAC/C,KAAK,KACL,UAAWtB,EAAG,6CAA8C,CAC1D,eAAgBO,GAAyB,KAAOe,EAAK,EACvD,CAAC,EACD,GAAIA,EAAK,GACT,QAASf,GAAyB,KAAOe,EAAK,GAC9C,MAAOA,EAAK,GACb,EACD1B,EAAC,SAAM,QAAS0B,EAAK,GAAI,UAAU,qEACjC,UAAA1B,EAAC,OAAI,UAAU,0BACb,UAAAD,EAACG,EAAA,CAAQ,OAAQwB,EAAK,OAAO,IAAK,UAAU,wBAAwB,EACpE3B,EAACE,EAAA,CACC,UAAU,2EACV,KAAMyB,EAAK,QAAQ,MACrB,GACF,EACA1B,EAAC,OAAI,UAAU,4DACb,UAAAD,EAACE,EAAA,CACC,UAAU,6DACV,KAAMM,EAAY,CAChB,OAAQmB,GAAM,YAAY,QAAU,EACpC,OAAAhB,EACA,aAAcgB,GAAM,YAAY,cAAgB,KAClD,CAAC,EACH,EACA3B,EAACE,EAAA,CACC,UAAU,yFACV,KAAMM,EAAY,CAChB,OAAQmB,EAAK,MAAM,OACnB,OAAAhB,EACA,aAAcgB,EAAK,MAAM,YAC3B,CAAC,EACH,GACF,GACF,IAzCKA,EAAK,EA0CZ,CACD,EACH,GACF,EArDkC,IAuDtC,EAEA,IAAOC,EAAQlB",
6
6
  "names": ["jsx", "jsxs", "Text", "Picture", "Checkbox", "cn", "useMemo", "useBizProductContext", "formatPrice", "useAiuiContext", "ProductExchangePurchase", "locale", "checkedExchangePurchase", "exchangePurchase", "setCheckedBundle", "setJoinedRecommendBuyProducts", "setSavingDetail", "setCheckedExchangePurchase", "joinedRecommendBuyProducts", "savingDetail", "title", "giftList", "freeLabel", "availableGifts", "item", "handleCheckboxClick", "value", "gift", "ProductExchangePurchase_default"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{jsx as t,jsxs as d}from"react/jsx-runtime";import{Text as r,Picture as v,Checkbox as k}from"../../../../../../components";import{cn as c}from"../../../../../../helpers/index.js";import{useMemo as g}from"react";import{useBizProductContext as C}from"../../../../BizProductProvider.js";import{formatPrice as N}from"../../../../utils";import{useAiuiContext as y}from"../../../../../AiuiProvider";const G=()=>{const{locale:s="us"}=y(),{freeGift:u,checkedGift:o,setCheckedGift:l,setCheckedBundle:p,setSavingDetail:m,savingDetail:f,setJoinedRecommendBuyProducts:a,joinedRecommendBuyProducts:P}=C(),{title:x,giftList:i=[],freeLabel:b}=u||{},n=g(()=>i?.filter(e=>e.availableForSale),[i]),h=e=>{o?.id===e.id?(l?.(void 0),m?.({...f,freeGift:0}),a?.({bundle:{value:void 0,canOperate:!0},exchange:{value:void 0,canOperate:!0},gift:{value:void 0}})):(p?.(void 0),l?.(e),a?.({bundle:{value:void 0,canOperate:!0},exchange:{value:void 0,canOperate:!0},gift:{value:e,canOperate:!1}}))};return n?.length?d("div",{className:"ipc-product-detail-free-gift",children:[t(r,{size:3,className:"font-bold",html:x}),t("div",{className:"grid grid-cols-1 gap-3 laptop:grid-cols-2 desktop:grid-cols-1 mt-3 desktop:mt-4",children:n.map(e=>d("div",{className:c("flex items-center gap-2 text-left font-bold px-4 rounded-box border-[#E4E5E6] border-2",{"border-brand":o?.id===e.id}),children:[t(k,{onCheckedChange:()=>h(e),size:"lg",className:c("rounded-full border-[#D1D1D1] border-[2px]",{"border-brand":o?.id===e.id}),id:e.id,checked:o?.id===e.id,value:e.id}),d("label",{htmlFor:e.id,className:"flex justify-between items-center cursor-pointer gap-4 w-full py-6",children:[d("div",{className:"flex items-center gap-2",children:[t(v,{source:e.image?.url,className:"size-12 flex-shrink-0"}),t(r,{className:"text-sm laptop:text-[16px] line-clamp-2 lg-desktop:text-[18px] font-bold",html:e.product.title})]}),d("div",{className:"flex items-center gap-1 tablet:flex-row flex-col shrink-0",children:[t(r,{className:"text-base laptop:text-[20px] lg-desktop:text-2xl font-bold",html:b}),t(r,{className:"text-base text-[#6D6D6F] laptop:text-[20px] lg-desktop:text-2xl font-bold line-through",html:N({amount:e.price.amount,locale:s,currencyCode:e.price.currencyCode})})]})]})]},e.id))})]}):null};var S=G;export{S as default};
1
+ import{jsx as t,jsxs as o}from"react/jsx-runtime";import{Text as l,Picture as k,Checkbox as v}from"../../../../../../components";import{cn as n}from"../../../../../../helpers/index.js";import{useMemo as g}from"react";import{useBizProductContext as C}from"../../../../BizProductProvider.js";import{formatPrice as N}from"../../../../utils";import{useAiuiContext as y}from"../../../../../AiuiProvider";const G=()=>{const{locale:m="us"}=y(),{freeGift:p,checkedGift:r,setCheckedGift:d,setCheckedBundle:P,setSavingDetail:u,savingDetail:f,setJoinedRecommendBuyProducts:i,joinedRecommendBuyProducts:a}=C(),{title:x,giftList:s=[],freeLabel:b}=p||{},c=g(()=>s?.filter(e=>e.availableForSale),[s]),h=e=>{r?.id===e.id?(d?.(void 0),u?.({...f,freeGift:0}),i?.({...a,gift:{value:void 0,canOperate:!0}})):(d?.(e),i?.({...a,gift:{value:e,canOperate:!1}}))};return c?.length?o("div",{className:"ipc-product-detail-free-gift",children:[t(l,{size:3,className:"font-bold",html:x}),t("div",{className:"grid grid-cols-1 gap-3 laptop:grid-cols-2 desktop:grid-cols-1 mt-3 desktop:mt-4",children:c.map(e=>o("div",{className:n("flex items-center gap-2 text-left font-bold px-4 rounded-box border-[#E4E5E6] border-2",{"border-brand":r?.id===e.id}),children:[t(v,{onCheckedChange:()=>h(e),size:"lg",className:n("rounded-full border-[#D1D1D1] border-[2px]",{"border-brand":r?.id===e.id}),id:e.id,checked:r?.id===e.id,value:e.id}),o("label",{htmlFor:e.id,className:"flex justify-between items-center cursor-pointer gap-4 w-full py-6",children:[o("div",{className:"flex items-center gap-2",children:[t(k,{source:e.image?.url,className:"size-12 flex-shrink-0"}),t(l,{className:"text-sm laptop:text-[16px] line-clamp-2 lg-desktop:text-[18px] font-bold",html:e.product.title})]}),o("div",{className:"flex items-center gap-1 tablet:flex-row flex-col shrink-0",children:[t(l,{className:"text-base laptop:text-[20px] lg-desktop:text-2xl font-bold",html:b}),t(l,{className:"text-base text-[#6D6D6F] laptop:text-[20px] lg-desktop:text-2xl font-bold line-through",html:N({amount:e.price.amount,locale:m,currencyCode:e.price.currencyCode})})]})]})]},e.id))})]}):null};var S=G;export{S as default};
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/ProductDetail/ProductFreeGift/index.tsx"],
4
- "sourcesContent": ["import { Text, Picture, Button, RadioGroup, RadioGroupItem, Checkbox } from '../../../../../../components'\nimport { cn } from '../../../../../../helpers/index.js'\nimport { useMemo } from 'react'\nimport { useBizProductContext } from '../../../../BizProductProvider.js'\nimport { formatPrice } from '../../../../utils'\nimport { useAiuiContext } from '../../../../../AiuiProvider'\nimport type { ProductVariant } from '../../../../types/product'\n\nconst ProductFreeGift = () => {\n const { locale = 'us' } = useAiuiContext()\n const {\n freeGift,\n checkedGift,\n setCheckedGift,\n setCheckedBundle,\n setSavingDetail,\n savingDetail,\n setJoinedRecommendBuyProducts,\n joinedRecommendBuyProducts,\n } = useBizProductContext()\n const { title, giftList = [], freeLabel } = freeGift || {}\n const availableGifts = useMemo(() => giftList?.filter(item => item.availableForSale), [giftList])\n\n const handleCheckboxClick = (value: ProductVariant) => {\n if (checkedGift?.id === value.id) {\n setCheckedGift?.(undefined)\n setSavingDetail?.({ ...savingDetail, freeGift: 0 })\n setJoinedRecommendBuyProducts?.({\n bundle: {\n value: undefined,\n canOperate: true,\n },\n exchange: {\n value: undefined,\n canOperate: true,\n },\n gift: {\n value: undefined,\n },\n })\n } else {\n setCheckedBundle?.(undefined)\n setCheckedGift?.(value)\n setJoinedRecommendBuyProducts?.({\n bundle: {\n value: undefined,\n canOperate: true,\n },\n exchange: {\n value: undefined,\n canOperate: true,\n },\n gift: {\n value,\n canOperate: false,\n },\n })\n }\n }\n\n if (!availableGifts?.length) return null\n\n return (\n <div className=\"ipc-product-detail-free-gift\">\n <Text size={3} className=\"font-bold\" html={title} />\n <div className=\"grid grid-cols-1 gap-3 laptop:grid-cols-2 desktop:grid-cols-1 mt-3 desktop:mt-4\">\n {availableGifts.map(gift => (\n <div\n key={gift.id}\n className={cn('flex items-center gap-2 text-left font-bold px-4 rounded-box border-[#E4E5E6] border-2', {\n ['border-brand']: checkedGift?.id === gift.id,\n })}\n >\n <Checkbox\n onCheckedChange={() => handleCheckboxClick(gift)}\n size=\"lg\"\n className={cn('rounded-full border-[#D1D1D1] border-[2px]', {\n 'border-brand': checkedGift?.id === gift.id,\n })}\n id={gift.id}\n checked={checkedGift?.id === gift.id}\n value={gift.id}\n ></Checkbox>\n <label htmlFor={gift.id} className=\"flex justify-between items-center cursor-pointer gap-4 w-full py-6\">\n <div className=\"flex items-center gap-2\">\n <Picture source={gift.image?.url} className=\"size-12 flex-shrink-0\" />\n <Text\n className=\"text-sm laptop:text-[16px] line-clamp-2 lg-desktop:text-[18px] font-bold\"\n html={gift.product.title}\n />\n </div>\n <div className=\"flex items-center gap-1 tablet:flex-row flex-col shrink-0\">\n <Text className=\"text-base laptop:text-[20px] lg-desktop:text-2xl font-bold\" html={freeLabel} />\n <Text\n className=\"text-base text-[#6D6D6F] laptop:text-[20px] lg-desktop:text-2xl font-bold line-through\"\n html={formatPrice({\n amount: gift.price.amount,\n locale,\n currencyCode: gift.price.currencyCode,\n })}\n />\n </div>\n </label>\n </div>\n ))}\n </div>\n </div>\n )\n}\n\nexport default ProductFreeGift\n"],
5
- "mappings": "AAgEM,cAAAA,EAoBQ,QAAAC,MApBR,oBAhEN,OAAS,QAAAC,EAAM,WAAAC,EAA6C,YAAAC,MAAgB,+BAC5E,OAAS,MAAAC,MAAU,qCACnB,OAAS,WAAAC,MAAe,QACxB,OAAS,wBAAAC,MAA4B,oCACrC,OAAS,eAAAC,MAAmB,oBAC5B,OAAS,kBAAAC,MAAsB,8BAG/B,MAAMC,EAAkB,IAAM,CAC5B,KAAM,CAAE,OAAAC,EAAS,IAAK,EAAIF,EAAe,EACnC,CACJ,SAAAG,EACA,YAAAC,EACA,eAAAC,EACA,iBAAAC,EACA,gBAAAC,EACA,aAAAC,EACA,8BAAAC,EACA,2BAAAC,CACF,EAAIZ,EAAqB,EACnB,CAAE,MAAAa,EAAO,SAAAC,EAAW,CAAC,EAAG,UAAAC,CAAU,EAAIV,GAAY,CAAC,EACnDW,EAAiBjB,EAAQ,IAAMe,GAAU,OAAOG,GAAQA,EAAK,gBAAgB,EAAG,CAACH,CAAQ,CAAC,EAE1FI,EAAuBC,GAA0B,CACjDb,GAAa,KAAOa,EAAM,IAC5BZ,IAAiB,MAAS,EAC1BE,IAAkB,CAAE,GAAGC,EAAc,SAAU,CAAE,CAAC,EAClDC,IAAgC,CAC9B,OAAQ,CACN,MAAO,OACP,WAAY,EACd,EACA,SAAU,CACR,MAAO,OACP,WAAY,EACd,EACA,KAAM,CACJ,MAAO,MACT,CACF,CAAC,IAEDH,IAAmB,MAAS,EAC5BD,IAAiBY,CAAK,EACtBR,IAAgC,CAC9B,OAAQ,CACN,MAAO,OACP,WAAY,EACd,EACA,SAAU,CACR,MAAO,OACP,WAAY,EACd,EACA,KAAM,CACJ,MAAAQ,EACA,WAAY,EACd,CACF,CAAC,EAEL,EAEA,OAAKH,GAAgB,OAGnBtB,EAAC,OAAI,UAAU,+BACb,UAAAD,EAACE,EAAA,CAAK,KAAM,EAAG,UAAU,YAAY,KAAMkB,EAAO,EAClDpB,EAAC,OAAI,UAAU,kFACZ,SAAAuB,EAAe,IAAII,GAClB1B,EAAC,OAEC,UAAWI,EAAG,yFAA0F,CACrG,eAAiBQ,GAAa,KAAOc,EAAK,EAC7C,CAAC,EAED,UAAA3B,EAACI,EAAA,CACC,gBAAiB,IAAMqB,EAAoBE,CAAI,EAC/C,KAAK,KACL,UAAWtB,EAAG,6CAA8C,CAC1D,eAAgBQ,GAAa,KAAOc,EAAK,EAC3C,CAAC,EACD,GAAIA,EAAK,GACT,QAASd,GAAa,KAAOc,EAAK,GAClC,MAAOA,EAAK,GACb,EACD1B,EAAC,SAAM,QAAS0B,EAAK,GAAI,UAAU,qEACjC,UAAA1B,EAAC,OAAI,UAAU,0BACb,UAAAD,EAACG,EAAA,CAAQ,OAAQwB,EAAK,OAAO,IAAK,UAAU,wBAAwB,EACpE3B,EAACE,EAAA,CACC,UAAU,2EACV,KAAMyB,EAAK,QAAQ,MACrB,GACF,EACA1B,EAAC,OAAI,UAAU,4DACb,UAAAD,EAACE,EAAA,CAAK,UAAU,6DAA6D,KAAMoB,EAAW,EAC9FtB,EAACE,EAAA,CACC,UAAU,yFACV,KAAMM,EAAY,CAChB,OAAQmB,EAAK,MAAM,OACnB,OAAAhB,EACA,aAAcgB,EAAK,MAAM,YAC3B,CAAC,EACH,GACF,GACF,IAlCKA,EAAK,EAmCZ,CACD,EACH,GACF,EA9CkC,IAgDtC,EAEA,IAAOC,EAAQlB",
4
+ "sourcesContent": ["import { Text, Picture, Button, RadioGroup, RadioGroupItem, Checkbox } from '../../../../../../components'\nimport { cn } from '../../../../../../helpers/index.js'\nimport { useMemo } from 'react'\nimport { useBizProductContext } from '../../../../BizProductProvider.js'\nimport { formatPrice } from '../../../../utils'\nimport { useAiuiContext } from '../../../../../AiuiProvider'\nimport type { ProductVariant } from '../../../../types/product'\n\nconst ProductFreeGift = () => {\n const { locale = 'us' } = useAiuiContext()\n const {\n freeGift,\n checkedGift,\n setCheckedGift,\n setCheckedBundle,\n setSavingDetail,\n savingDetail,\n setJoinedRecommendBuyProducts,\n joinedRecommendBuyProducts,\n } = useBizProductContext()\n const { title, giftList = [], freeLabel } = freeGift || {}\n const availableGifts = useMemo(() => giftList?.filter(item => item.availableForSale), [giftList])\n\n const handleCheckboxClick = (value: ProductVariant) => {\n if (checkedGift?.id === value.id) {\n setCheckedGift?.(undefined)\n setSavingDetail?.({ ...savingDetail, freeGift: 0 })\n setJoinedRecommendBuyProducts?.({\n ...joinedRecommendBuyProducts,\n gift: {\n value: undefined,\n canOperate: true,\n },\n })\n } else {\n setCheckedGift?.(value)\n setJoinedRecommendBuyProducts?.({\n ...joinedRecommendBuyProducts,\n gift: {\n value,\n canOperate: false,\n },\n })\n }\n }\n\n if (!availableGifts?.length) return null\n\n return (\n <div className=\"ipc-product-detail-free-gift\">\n <Text size={3} className=\"font-bold\" html={title} />\n <div className=\"grid grid-cols-1 gap-3 laptop:grid-cols-2 desktop:grid-cols-1 mt-3 desktop:mt-4\">\n {availableGifts.map(gift => (\n <div\n key={gift.id}\n className={cn('flex items-center gap-2 text-left font-bold px-4 rounded-box border-[#E4E5E6] border-2', {\n ['border-brand']: checkedGift?.id === gift.id,\n })}\n >\n <Checkbox\n onCheckedChange={() => handleCheckboxClick(gift)}\n size=\"lg\"\n className={cn('rounded-full border-[#D1D1D1] border-[2px]', {\n 'border-brand': checkedGift?.id === gift.id,\n })}\n id={gift.id}\n checked={checkedGift?.id === gift.id}\n value={gift.id}\n ></Checkbox>\n <label htmlFor={gift.id} className=\"flex justify-between items-center cursor-pointer gap-4 w-full py-6\">\n <div className=\"flex items-center gap-2\">\n <Picture source={gift.image?.url} className=\"size-12 flex-shrink-0\" />\n <Text\n className=\"text-sm laptop:text-[16px] line-clamp-2 lg-desktop:text-[18px] font-bold\"\n html={gift.product.title}\n />\n </div>\n <div className=\"flex items-center gap-1 tablet:flex-row flex-col shrink-0\">\n <Text className=\"text-base laptop:text-[20px] lg-desktop:text-2xl font-bold\" html={freeLabel} />\n <Text\n className=\"text-base text-[#6D6D6F] laptop:text-[20px] lg-desktop:text-2xl font-bold line-through\"\n html={formatPrice({\n amount: gift.price.amount,\n locale,\n currencyCode: gift.price.currencyCode,\n })}\n />\n </div>\n </label>\n </div>\n ))}\n </div>\n </div>\n )\n}\n\nexport default ProductFreeGift\n"],
5
+ "mappings": "AAkDM,cAAAA,EAoBQ,QAAAC,MApBR,oBAlDN,OAAS,QAAAC,EAAM,WAAAC,EAA6C,YAAAC,MAAgB,+BAC5E,OAAS,MAAAC,MAAU,qCACnB,OAAS,WAAAC,MAAe,QACxB,OAAS,wBAAAC,MAA4B,oCACrC,OAAS,eAAAC,MAAmB,oBAC5B,OAAS,kBAAAC,MAAsB,8BAG/B,MAAMC,EAAkB,IAAM,CAC5B,KAAM,CAAE,OAAAC,EAAS,IAAK,EAAIF,EAAe,EACnC,CACJ,SAAAG,EACA,YAAAC,EACA,eAAAC,EACA,iBAAAC,EACA,gBAAAC,EACA,aAAAC,EACA,8BAAAC,EACA,2BAAAC,CACF,EAAIZ,EAAqB,EACnB,CAAE,MAAAa,EAAO,SAAAC,EAAW,CAAC,EAAG,UAAAC,CAAU,EAAIV,GAAY,CAAC,EACnDW,EAAiBjB,EAAQ,IAAMe,GAAU,OAAOG,GAAQA,EAAK,gBAAgB,EAAG,CAACH,CAAQ,CAAC,EAE1FI,EAAuBC,GAA0B,CACjDb,GAAa,KAAOa,EAAM,IAC5BZ,IAAiB,MAAS,EAC1BE,IAAkB,CAAE,GAAGC,EAAc,SAAU,CAAE,CAAC,EAClDC,IAAgC,CAC9B,GAAGC,EACH,KAAM,CACJ,MAAO,OACP,WAAY,EACd,CACF,CAAC,IAEDL,IAAiBY,CAAK,EACtBR,IAAgC,CAC9B,GAAGC,EACH,KAAM,CACJ,MAAAO,EACA,WAAY,EACd,CACF,CAAC,EAEL,EAEA,OAAKH,GAAgB,OAGnBtB,EAAC,OAAI,UAAU,+BACb,UAAAD,EAACE,EAAA,CAAK,KAAM,EAAG,UAAU,YAAY,KAAMkB,EAAO,EAClDpB,EAAC,OAAI,UAAU,kFACZ,SAAAuB,EAAe,IAAII,GAClB1B,EAAC,OAEC,UAAWI,EAAG,yFAA0F,CACrG,eAAiBQ,GAAa,KAAOc,EAAK,EAC7C,CAAC,EAED,UAAA3B,EAACI,EAAA,CACC,gBAAiB,IAAMqB,EAAoBE,CAAI,EAC/C,KAAK,KACL,UAAWtB,EAAG,6CAA8C,CAC1D,eAAgBQ,GAAa,KAAOc,EAAK,EAC3C,CAAC,EACD,GAAIA,EAAK,GACT,QAASd,GAAa,KAAOc,EAAK,GAClC,MAAOA,EAAK,GACb,EACD1B,EAAC,SAAM,QAAS0B,EAAK,GAAI,UAAU,qEACjC,UAAA1B,EAAC,OAAI,UAAU,0BACb,UAAAD,EAACG,EAAA,CAAQ,OAAQwB,EAAK,OAAO,IAAK,UAAU,wBAAwB,EACpE3B,EAACE,EAAA,CACC,UAAU,2EACV,KAAMyB,EAAK,QAAQ,MACrB,GACF,EACA1B,EAAC,OAAI,UAAU,4DACb,UAAAD,EAACE,EAAA,CAAK,UAAU,6DAA6D,KAAMoB,EAAW,EAC9FtB,EAACE,EAAA,CACC,UAAU,yFACV,KAAMM,EAAY,CAChB,OAAQmB,EAAK,MAAM,OACnB,OAAAhB,EACA,aAAcgB,EAAK,MAAM,YAC3B,CAAC,EACH,GACF,GACF,IAlCKA,EAAK,EAmCZ,CACD,EACH,GACF,EA9CkC,IAgDtC,EAEA,IAAOC,EAAQlB",
6
6
  "names": ["jsx", "jsxs", "Text", "Picture", "Checkbox", "cn", "useMemo", "useBizProductContext", "formatPrice", "useAiuiContext", "ProductFreeGift", "locale", "freeGift", "checkedGift", "setCheckedGift", "setCheckedBundle", "setSavingDetail", "savingDetail", "setJoinedRecommendBuyProducts", "joinedRecommendBuyProducts", "title", "giftList", "freeLabel", "availableGifts", "item", "handleCheckboxClick", "value", "gift", "ProductFreeGift_default"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{jsx as e,jsxs as p}from"react/jsx-runtime";import{Text as f,Picture as y,Button as N,Dialog as k,DialogContent as w,DialogTrigger as C}from"../../../../../../components";import{Content as x,List as T,Root as D,Trigger as E}from"@radix-ui/react-tabs";import{useCallback as H,useEffect as I,useMemo as h,useRef as v,useState as m}from"react";import{cn as P}from"../../../../../../helpers";import{useBizProductContext as A}from"../../../../BizProductProvider.js";const L=()=>{const{product:o}=A(),[s,i]=m(!1),l=h(()=>o?.payload?.components?.find(t=>t.blockType==="ipc-graphicmore")?.productsTab||{},[o?.payload]),[n,c]=m(l?.[0]),a=h(()=>o?.payload?.components?.find(t=>t.componentKey==="ProductHighlight")?.data||{},[o?.payload]);return p("div",{className:"ipc-product-detail-highlight",children:[p("div",{className:"flex items-center justify-between",children:[a?.title&&e(f,{size:3,className:"font-bold",html:a?.title}),p(k,{open:s,onOpenChange:i,children:[e(C,{asChild:!0,children:e(N,{variant:"link",className:"font-bold !p-0 text-base",children:a?.view})}),e(R,{ksp:l,clickActiveKspItem:n})]})]}),e("div",{className:"flex flex-wrap gap-4 mt-3 desktop:mt-4",children:l.map(t=>e("div",{className:"px-4 py-2 cursor-pointer hover:bg-[#EAEAEC] rounded-full bg-[#F5F5F7]",children:e(f,{size:3,onClick:()=>{c(t),i(!0)},className:"font-bold text-[#1D1D1F] text-[14px] lg-desktop:text-[16px] break-all line-clamp-1 desktop:text-base overflow-hidden",html:t?.title},t?.title)}))})]})},R=({ksp:o,clickActiveKspItem:s})=>{const i=v([]),l=v(null),[n,c]=m(null),a=H(t=>{const d=o.findIndex(u=>u.title===t?.title),r=i.current[d];if(r&&l.current){const u=l.current,g=r,b=g.offsetLeft-u.offsetWidth/2+g.offsetWidth/2;u.scrollTo({left:b,behavior:"smooth"})}},[s,o]);return I(()=>{s&&(c(s),setTimeout(()=>{a(n)},100))},[s,a]),e(w,{overlayClassName:"z-[70]",className:"tablet:max-w-[896px] max-w-[326px] mx-auto w-full border-none z-[80] overflow-hidden p-0",children:p(D,{defaultValue:n?.title,className:"w-full overflow-hidden",children:[o.map(t=>e(x,{value:t.title,children:e(y,{source:`${t?.mobileImg?.url}, ${t?.img?.url} 767`,className:"w-full h-[304px] desktop:h-[480px]",alt:t.img.alt,imgClassName:"object-cover h-full"})},t.title)),e("div",{className:"py-4 desktop:py-6 w-full overflow-visible",children:p("div",{ref:l,className:"px-4 desktop:px-6 overflow-x-auto",children:[e("div",{className:"w-fit rounded-full bg-[#EAEAEC]",style:{scrollbarWidth:"none",msOverflowStyle:"none"},children:e(T,{className:"flex p-1 w-max",children:o.map((t,d)=>e(E,{ref:r=>{r&&(i.current[d]=r)},className:P("lg-desktop:px-7 shrink-0 lg-desktop:pb-[14px] rounded-full lg-desktop:pt-[15px] lg-desktop:text-[16px] px-5 pb-[10px] pt-[11px]",t.title===n?.title&&"bg-white"),onClick:()=>{a(t),c(t)},value:t.title,children:e(f,{html:t.title,className:"font-bold text-[14px] leading-tight"})},d))})}),e("div",{className:"mt-4",children:o.map(t=>e(x,{value:t.title,className:"font-bold text-base desktop:text-[18px]",children:t.description}))})]})})]})})};var S=L;export{S as default};
1
+ import{jsx as t,jsxs as p}from"react/jsx-runtime";import{Text as u,Picture as b,Button as y,Dialog as k,DialogContent as N,DialogTrigger as w}from"../../../../../../components";import{Content as x,List as C,Root as D,Trigger as T}from"@radix-ui/react-tabs";import{useCallback as E,useEffect as H,useMemo as I,useRef as v,useState as m}from"react";import{cn as A}from"../../../../../../helpers";import{useBizProductContext as L}from"../../../../BizProductProvider.js";const P=()=>{const{product:s}=L(),[a,i]=m(!1),o=I(()=>s?.payload?.components?.find(l=>l.componentKey==="ProductHighlight")?.data||{},[s?.payload]),[n,c]=m(o?.ksp?.[0]);return p("div",{className:"ipc-product-detail-highlight",children:[p("div",{className:"flex items-center justify-between",children:[o?.title&&t(u,{size:3,className:"font-bold",html:o?.title}),p(k,{open:a,onOpenChange:i,children:[t(w,{asChild:!0,children:t(y,{variant:"link",className:"font-bold !p-0 text-base",children:o?.view})}),t(R,{ksp:o?.ksp,clickActiveKspItem:n})]})]}),t("div",{className:"flex flex-wrap gap-4 mt-3 desktop:mt-4",children:o?.ksp?.map?.(l=>t("div",{className:"px-4 py-2 cursor-pointer hover:bg-[#EAEAEC] rounded-full bg-[#F5F5F7]",children:t(u,{size:3,onClick:()=>{c(l),i(!0)},className:"font-bold text-[#1D1D1F] text-[14px] lg-desktop:text-[16px] break-all line-clamp-1 desktop:text-base overflow-hidden",html:l?.title},l?.title)}))})]})},R=({ksp:s,clickActiveKspItem:a})=>{const i=v([]),o=v(null),[n,c]=m(null),l=E(e=>{const d=s.findIndex(f=>f.title===e?.title),r=i.current[d];if(r&&o.current){const f=o.current,g=r,h=g.offsetLeft-f.offsetWidth/2+g.offsetWidth/2;f.scrollTo({left:h,behavior:"smooth"})}},[a,s]);return H(()=>{a&&(c(a),setTimeout(()=>{l(n)},100))},[a,l]),t(N,{overlayClassName:"z-[70]",className:"tablet:max-w-[896px] max-w-[326px] mx-auto w-full border-none z-[80] overflow-hidden p-0",children:p(D,{defaultValue:n?.title,className:"w-full overflow-hidden",children:[s?.map?.(e=>t(x,{value:e.title,children:t(b,{source:`${e?.mobileImg}, ${e?.img} 767`,className:"w-full h-[304px] desktop:h-[480px]",alt:e.img.alt,imgClassName:"object-cover h-full"})},e.title)),t("div",{className:"py-4 desktop:py-6 w-full overflow-visible",children:p("div",{ref:o,className:"px-4 desktop:px-6 overflow-x-auto",children:[t("div",{className:"w-fit rounded-full bg-[#EAEAEC]",style:{scrollbarWidth:"none",msOverflowStyle:"none"},children:t(C,{className:"flex p-1 w-max",children:s?.map?.((e,d)=>t(T,{ref:r=>{r&&(i.current[d]=r)},className:A("lg-desktop:px-7 shrink-0 lg-desktop:pb-[14px] rounded-full lg-desktop:pt-[15px] lg-desktop:text-[16px] px-5 pb-[10px] pt-[11px]",e.title===n?.title&&"bg-white"),onClick:()=>{l(e),c(e)},value:e.title,children:t(u,{html:e.title,className:"font-bold text-[14px] leading-tight"})},d))})}),t("div",{className:"mt-4",children:s?.map?.(e=>t(x,{value:e.title,className:"font-bold text-base desktop:text-[18px]",children:e?.description}))})]})})]})})};var S=P;export{S as default};
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/ProductDetail/ProductHighlight/index.tsx"],
4
- "sourcesContent": ["import type { HighlightProps } from '../types'\nimport { Text, Picture, Button, Heading, Dialog, DialogContent, DialogTrigger } from '../../../../../../components'\nimport { Content, List, Root, Trigger } from '@radix-ui/react-tabs'\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react'\nimport { cn } from '../../../../../../helpers'\nimport { useBizProductContext } from '../../../../BizProductProvider.js'\n\nconst ProductHighlight = () => {\n const { product } = useBizProductContext()\n const [open, setOpen] = useState(false)\n\n const ksp = useMemo(() => {\n return product?.payload?.components?.find((item: any) => item.blockType === 'ipc-graphicmore')?.productsTab || {}\n }, [product?.payload])\n\n const [activeKspItem, setActiveKspItem] = useState(ksp?.[0])\n\n const ProductHighlightData = useMemo(() => {\n return product?.payload?.components?.find((item: any) => item.componentKey === 'ProductHighlight')?.data || {}\n }, [product?.payload])\n\n\n return (\n <div className=\"ipc-product-detail-highlight\">\n <div className=\"flex items-center justify-between\">\n {ProductHighlightData?.title && <Text size={3} className=\"font-bold\" html={ProductHighlightData?.title} />}\n <Dialog open={open} onOpenChange={setOpen}>\n <DialogTrigger asChild>\n <Button variant=\"link\" className=\"font-bold !p-0 text-base\">\n {ProductHighlightData?.view}\n </Button>\n </DialogTrigger>\n <ProductHighlightModal ksp={ksp} clickActiveKspItem={activeKspItem} />\n </Dialog>\n </div>\n <div className=\"flex flex-wrap gap-4 mt-3 desktop:mt-4\">\n {ksp.map((item: any) => (\n <div className=\"px-4 py-2 cursor-pointer hover:bg-[#EAEAEC] rounded-full bg-[#F5F5F7]\">\n <Text\n size={3}\n key={item?.title}\n onClick={() => {\n setActiveKspItem(item)\n setOpen(true)\n }}\n className=\"font-bold text-[#1D1D1F] text-[14px] lg-desktop:text-[16px] break-all line-clamp-1 desktop:text-base overflow-hidden\"\n html={item?.title}\n />\n </div>\n ))}\n </div>\n </div>\n )\n}\n\nconst ProductHighlightModal = ({ ksp, clickActiveKspItem }: { ksp: any[]; clickActiveKspItem: any }) => {\n const highlightRef = useRef<HTMLButtonElement[]>([])\n const scrollContainerRef = useRef<HTMLDivElement>(null)\n const [activeKspItem, setActiveKspItem] = useState<any>(null)\n\n const autoScrollToActiveItem = useCallback((activeKspItem: any) => {\n const curIndex = ksp.findIndex(item => item.title === activeKspItem?.title)\n const curRef = highlightRef.current[curIndex]\n\n if (curRef && scrollContainerRef.current) {\n const container = scrollContainerRef.current\n const button = curRef\n const scrollLeft = button.offsetLeft - container.offsetWidth / 2 + button.offsetWidth / 2\n\n container.scrollTo({\n left: scrollLeft,\n behavior: 'smooth',\n })\n }\n }, [clickActiveKspItem, ksp])\n\n useEffect(() => {\n if (!clickActiveKspItem) return\n setActiveKspItem(clickActiveKspItem)\n\n // \u5EF6\u8FDF\u6267\u884C\uFF0C\u7B49\u5F85 Dialog \u548C\u5185\u90E8\u5143\u7D20\u5B8C\u5168\u6E32\u67D3\n setTimeout(() => {\n autoScrollToActiveItem(activeKspItem)\n }, 100)\n }, [clickActiveKspItem, autoScrollToActiveItem])\n\n return (\n <DialogContent\n overlayClassName=\"z-[70]\"\n className=\"tablet:max-w-[896px] max-w-[326px] mx-auto w-full border-none z-[80] overflow-hidden p-0\"\n >\n <Root defaultValue={activeKspItem?.title} className=\"w-full overflow-hidden\">\n {ksp.map(item => (\n <Content value={item.title} key={item.title}>\n <Picture\n source={`${item?.mobileImg?.url}, ${item?.img?.url} 767`}\n className=\"w-full h-[304px] desktop:h-[480px]\"\n alt={item.img.alt}\n imgClassName=\"object-cover h-full\"\n />\n </Content>\n ))}\n <div className=\"py-4 desktop:py-6 w-full overflow-visible\">\n <div ref={scrollContainerRef} className=\"px-4 desktop:px-6 overflow-x-auto\">\n <div\n className=\"w-fit rounded-full bg-[#EAEAEC]\"\n style={{\n scrollbarWidth: 'none',\n msOverflowStyle: 'none',\n }}\n >\n <List className=\"flex p-1 w-max\">\n {ksp.map((item, index) => (\n <Trigger\n ref={el => {\n if (el) {\n highlightRef.current[index] = el\n }\n }}\n className={cn(\n 'lg-desktop:px-7 shrink-0 lg-desktop:pb-[14px] rounded-full lg-desktop:pt-[15px] lg-desktop:text-[16px] px-5 pb-[10px] pt-[11px]',\n item.title === activeKspItem?.title && 'bg-white'\n )}\n onClick={() => {\n autoScrollToActiveItem(item)\n setActiveKspItem(item)\n }}\n key={index}\n value={item.title}\n >\n <Text html={item.title} className=\"font-bold text-[14px] leading-tight\" />\n </Trigger>\n ))}\n </List>\n </div>\n <div className=\"mt-4\">\n {ksp.map(item => (\n <Content value={item.title} className=\"font-bold text-base desktop:text-[18px]\">\n {item.description}\n </Content>\n ))}\n </div>\n </div>\n </div>\n </Root>\n </DialogContent>\n )\n}\n\nexport default ProductHighlight\n"],
5
- "mappings": "AAyBwC,cAAAA,EAChC,QAAAC,MADgC,oBAxBxC,OAAS,QAAAC,EAAM,WAAAC,EAAS,UAAAC,EAAiB,UAAAC,EAAQ,iBAAAC,EAAe,iBAAAC,MAAqB,+BACrF,OAAS,WAAAC,EAAS,QAAAC,EAAM,QAAAC,EAAM,WAAAC,MAAe,uBAC7C,OAAS,eAAAC,EAAa,aAAAC,EAAW,WAAAC,EAAS,UAAAC,EAAQ,YAAAC,MAAgB,QAClE,OAAS,MAAAC,MAAU,4BACnB,OAAS,wBAAAC,MAA4B,oCAErC,MAAMC,EAAmB,IAAM,CAC7B,KAAM,CAAE,QAAAC,CAAQ,EAAIF,EAAqB,EACnC,CAACG,EAAMC,CAAO,EAAIN,EAAS,EAAK,EAEhCO,EAAMT,EAAQ,IACXM,GAAS,SAAS,YAAY,KAAMI,GAAcA,EAAK,YAAc,iBAAiB,GAAG,aAAe,CAAC,EAC/G,CAACJ,GAAS,OAAO,CAAC,EAEf,CAACK,EAAeC,CAAgB,EAAIV,EAASO,IAAM,CAAC,CAAC,EAErDI,EAAuBb,EAAQ,IAC5BM,GAAS,SAAS,YAAY,KAAMI,GAAcA,EAAK,eAAiB,kBAAkB,GAAG,MAAQ,CAAC,EAC5G,CAACJ,GAAS,OAAO,CAAC,EAGrB,OACEnB,EAAC,OAAI,UAAU,+BACb,UAAAA,EAAC,OAAI,UAAU,oCACZ,UAAA0B,GAAsB,OAAS3B,EAACE,EAAA,CAAK,KAAM,EAAG,UAAU,YAAY,KAAMyB,GAAsB,MAAO,EACxG1B,EAACI,EAAA,CAAO,KAAMgB,EAAM,aAAcC,EAChC,UAAAtB,EAACO,EAAA,CAAc,QAAO,GACpB,SAAAP,EAACI,EAAA,CAAO,QAAQ,OAAO,UAAU,2BAC9B,SAAAuB,GAAsB,KACzB,EACF,EACA3B,EAAC4B,EAAA,CAAsB,IAAKL,EAAK,mBAAoBE,EAAe,GACtE,GACF,EACAzB,EAAC,OAAI,UAAU,yCACZ,SAAAuB,EAAI,IAAKC,GACRxB,EAAC,OAAI,UAAU,wEACb,SAAAA,EAACE,EAAA,CACC,KAAM,EAEN,QAAS,IAAM,CACbwB,EAAiBF,CAAI,EACrBF,EAAQ,EAAI,CACd,EACA,UAAU,wHACV,KAAME,GAAM,OANPA,GAAM,KAOb,EACF,CACD,EACH,GACF,CAEJ,EAEMI,EAAwB,CAAC,CAAE,IAAAL,EAAK,mBAAAM,CAAmB,IAA+C,CACtG,MAAMC,EAAef,EAA4B,CAAC,CAAC,EAC7CgB,EAAqBhB,EAAuB,IAAI,EAChD,CAACU,EAAeC,CAAgB,EAAIV,EAAc,IAAI,EAEtDgB,EAAyBpB,EAAaa,GAAuB,CACjE,MAAMQ,EAAWV,EAAI,UAAUC,GAAQA,EAAK,QAAUC,GAAe,KAAK,EACpES,EAASJ,EAAa,QAAQG,CAAQ,EAE5C,GAAIC,GAAUH,EAAmB,QAAS,CACxC,MAAMI,EAAYJ,EAAmB,QAC/BK,EAASF,EACTG,EAAaD,EAAO,WAAaD,EAAU,YAAc,EAAIC,EAAO,YAAc,EAExFD,EAAU,SAAS,CACjB,KAAME,EACN,SAAU,QACZ,CAAC,CACH,CACF,EAAG,CAACR,EAAoBN,CAAG,CAAC,EAE5B,OAAAV,EAAU,IAAM,CACTgB,IACLH,EAAiBG,CAAkB,EAGnC,WAAW,IAAM,CACfG,EAAuBP,CAAa,CACtC,EAAG,GAAG,EACR,EAAG,CAACI,EAAoBG,CAAsB,CAAC,EAG7ChC,EAACM,EAAA,CACC,iBAAiB,SACjB,UAAU,2FAEV,SAAAL,EAACS,EAAA,CAAK,aAAce,GAAe,MAAO,UAAU,yBACjD,UAAAF,EAAI,IAAIC,GACPxB,EAACQ,EAAA,CAAQ,MAAOgB,EAAK,MACnB,SAAAxB,EAACG,EAAA,CACC,OAAQ,GAAGqB,GAAM,WAAW,GAAG,KAAKA,GAAM,KAAK,GAAG,OAClD,UAAU,qCACV,IAAKA,EAAK,IAAI,IACd,aAAa,sBACf,GAN+BA,EAAK,KAOtC,CACD,EACDxB,EAAC,OAAI,UAAU,4CACb,SAAAC,EAAC,OAAI,IAAK8B,EAAoB,UAAU,oCACtC,UAAA/B,EAAC,OACC,UAAU,kCACV,MAAO,CACL,eAAgB,OAChB,gBAAiB,MACnB,EAEA,SAAAA,EAACS,EAAA,CAAK,UAAU,iBACb,SAAAc,EAAI,IAAI,CAACC,EAAMc,IACdtC,EAACW,EAAA,CACC,IAAK4B,GAAM,CACLA,IACFT,EAAa,QAAQQ,CAAK,EAAIC,EAElC,EACA,UAAWtB,EACT,mIACAO,EAAK,QAAUC,GAAe,OAAS,UACzC,EACA,QAAS,IAAM,CACbO,EAAuBR,CAAI,EAC3BE,EAAiBF,CAAI,CACvB,EAEA,MAAOA,EAAK,MAEZ,SAAAxB,EAACE,EAAA,CAAK,KAAMsB,EAAK,MAAO,UAAU,sCAAsC,GAHnEc,CAIP,CACD,EACH,EACF,EACAtC,EAAC,OAAI,UAAU,OACZ,SAAAuB,EAAI,IAAIC,GACPxB,EAACQ,EAAA,CAAQ,MAAOgB,EAAK,MAAO,UAAU,0CACnC,SAAAA,EAAK,YACR,CACD,EACH,GACF,EACF,GACF,EACF,CAEJ,EAEA,IAAOgB,EAAQrB",
6
- "names": ["jsx", "jsxs", "Text", "Picture", "Button", "Dialog", "DialogContent", "DialogTrigger", "Content", "List", "Root", "Trigger", "useCallback", "useEffect", "useMemo", "useRef", "useState", "cn", "useBizProductContext", "ProductHighlight", "product", "open", "setOpen", "ksp", "item", "activeKspItem", "setActiveKspItem", "ProductHighlightData", "ProductHighlightModal", "clickActiveKspItem", "highlightRef", "scrollContainerRef", "autoScrollToActiveItem", "curIndex", "curRef", "container", "button", "scrollLeft", "index", "el", "ProductHighlight_default"]
4
+ "sourcesContent": ["import type { HighlightProps } from '../types'\nimport { Text, Picture, Button, Heading, Dialog, DialogContent, DialogTrigger } from '../../../../../../components'\nimport { Content, List, Root, Trigger } from '@radix-ui/react-tabs'\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react'\nimport { cn } from '../../../../../../helpers'\nimport { useBizProductContext } from '../../../../BizProductProvider.js'\n\nconst ProductHighlight = () => {\n const { product } = useBizProductContext()\n const [open, setOpen] = useState(false)\n\n\n const productHighlightData = useMemo(() => {\n return product?.payload?.components?.find((item: any) => item.componentKey === 'ProductHighlight')?.data || {}\n }, [product?.payload])\n\n\n const [activeKspItem, setActiveKspItem] = useState(productHighlightData?.ksp?.[0])\n\n\n return (\n <div className=\"ipc-product-detail-highlight\">\n <div className=\"flex items-center justify-between\">\n {productHighlightData?.title && <Text size={3} className=\"font-bold\" html={productHighlightData?.title} />}\n <Dialog open={open} onOpenChange={setOpen}>\n <DialogTrigger asChild>\n <Button variant=\"link\" className=\"font-bold !p-0 text-base\">\n {productHighlightData?.view}\n </Button>\n </DialogTrigger>\n <ProductHighlightModal ksp={productHighlightData?.ksp} clickActiveKspItem={activeKspItem} />\n </Dialog>\n </div>\n <div className=\"flex flex-wrap gap-4 mt-3 desktop:mt-4\">\n {productHighlightData?.ksp?.map?.((item: any) => (\n <div className=\"px-4 py-2 cursor-pointer hover:bg-[#EAEAEC] rounded-full bg-[#F5F5F7]\">\n <Text\n size={3}\n key={item?.title}\n onClick={() => {\n setActiveKspItem(item)\n setOpen(true)\n }}\n className=\"font-bold text-[#1D1D1F] text-[14px] lg-desktop:text-[16px] break-all line-clamp-1 desktop:text-base overflow-hidden\"\n html={item?.title}\n />\n </div>\n ))}\n </div>\n </div>\n )\n}\n\nconst ProductHighlightModal = ({ ksp, clickActiveKspItem }: { ksp: any[]; clickActiveKspItem: any }) => {\n const highlightRef = useRef<HTMLButtonElement[]>([])\n const scrollContainerRef = useRef<HTMLDivElement>(null)\n const [activeKspItem, setActiveKspItem] = useState<any>(null)\n\n const autoScrollToActiveItem = useCallback((activeKspItem: any) => {\n const curIndex = ksp.findIndex(item => item.title === activeKspItem?.title)\n const curRef = highlightRef.current[curIndex]\n\n if (curRef && scrollContainerRef.current) {\n const container = scrollContainerRef.current\n const button = curRef\n const scrollLeft = button.offsetLeft - container.offsetWidth / 2 + button.offsetWidth / 2\n\n container.scrollTo({\n left: scrollLeft,\n behavior: 'smooth',\n })\n }\n }, [clickActiveKspItem, ksp])\n\n useEffect(() => {\n if (!clickActiveKspItem) return\n setActiveKspItem(clickActiveKspItem)\n\n // \u5EF6\u8FDF\u6267\u884C\uFF0C\u7B49\u5F85 Dialog \u548C\u5185\u90E8\u5143\u7D20\u5B8C\u5168\u6E32\u67D3\n setTimeout(() => {\n autoScrollToActiveItem(activeKspItem)\n }, 100)\n }, [clickActiveKspItem, autoScrollToActiveItem])\n\n return (\n <DialogContent\n overlayClassName=\"z-[70]\"\n className=\"tablet:max-w-[896px] max-w-[326px] mx-auto w-full border-none z-[80] overflow-hidden p-0\"\n >\n <Root defaultValue={activeKspItem?.title} className=\"w-full overflow-hidden\">\n {ksp?.map?.(item => (\n <Content value={item.title} key={item.title}>\n <Picture\n source={`${item?.mobileImg}, ${item?.img} 767`}\n className=\"w-full h-[304px] desktop:h-[480px]\"\n alt={item.img.alt}\n imgClassName=\"object-cover h-full\"\n />\n </Content>\n ))}\n <div className=\"py-4 desktop:py-6 w-full overflow-visible\">\n <div ref={scrollContainerRef} className=\"px-4 desktop:px-6 overflow-x-auto\">\n <div\n className=\"w-fit rounded-full bg-[#EAEAEC]\"\n style={{\n scrollbarWidth: 'none',\n msOverflowStyle: 'none',\n }}\n >\n <List className=\"flex p-1 w-max\">\n {ksp?.map?.((item: any, index: number) => (\n <Trigger\n ref={el => {\n if (el) {\n highlightRef.current[index] = el\n }\n }}\n className={cn(\n 'lg-desktop:px-7 shrink-0 lg-desktop:pb-[14px] rounded-full lg-desktop:pt-[15px] lg-desktop:text-[16px] px-5 pb-[10px] pt-[11px]',\n item.title === activeKspItem?.title && 'bg-white'\n )}\n onClick={() => {\n autoScrollToActiveItem(item)\n setActiveKspItem(item)\n }}\n key={index}\n value={item.title}\n >\n <Text html={item.title} className=\"font-bold text-[14px] leading-tight\" />\n </Trigger>\n ))}\n </List>\n </div>\n <div className=\"mt-4\">\n {ksp?.map?.((item: any) => (\n <Content value={item.title} className=\"font-bold text-base desktop:text-[18px]\">\n {item?.description}\n </Content>\n ))}\n </div>\n </div>\n </div>\n </Root>\n </DialogContent>\n )\n}\n\nexport default ProductHighlight\n"],
5
+ "mappings": "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",
6
+ "names": ["jsx", "jsxs", "Text", "Picture", "Button", "Dialog", "DialogContent", "DialogTrigger", "Content", "List", "Root", "Trigger", "useCallback", "useEffect", "useMemo", "useRef", "useState", "cn", "useBizProductContext", "ProductHighlight", "product", "open", "setOpen", "productHighlightData", "item", "activeKspItem", "setActiveKspItem", "ProductHighlightModal", "ksp", "clickActiveKspItem", "highlightRef", "scrollContainerRef", "autoScrollToActiveItem", "curIndex", "curRef", "container", "button", "scrollLeft", "index", "el", "ProductHighlight_default"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{Fragment as k,jsx as o,jsxs as i}from"react/jsx-runtime";import{Text as c,Picture as y}from"../../../../../../components";import{cn as m}from"../../../../../../helpers/index.js";import{useState as N}from"react";import{useBizProductContext as b}from"../../../../BizProductProvider.js";import{useAiuiContext as h}from"../../../../../AiuiProvider/index.js";import{handle as w}from"../../../../utils/helper.js";const _=()=>{const{product:d,selectedOptions:r,setSelectedOptions:a,setJoinedRecommendBuyProducts:u}=b(),{storeDomain:l}=h(),[p,f]=N({});return d.options.length?o("div",{className:"flex flex-col gap-12",children:d.options.map(t=>{const v=t.name.toLowerCase();return["color","colour","couleur"].some(e=>v.includes(e))?i("div",{className:"ipc-product-detail-options",children:[o(c,{as:"p",size:3,className:"font-bold",html:"Select Color: "+r[t.name]}),o("div",{className:"flex items-center gap-4 mt-4",children:t.values.map(({label:e},s)=>{const x=`https://${l}/cdn/shop/files/${w(e)}.png`;return i("div",{className:"relative ipc-product-detail-options-value",children:[o("button",{"aria-label":`switch to ${e}`,title:e,onClick:()=>{a(n=>({...n,[t.name]:e})),u?.({gift:void 0,bundle:void 0})},className:m("flex size-[30px] items-center justify-center rounded-full bg-center bg-no-repeat outline outline-2 outline-offset-4 outline-white",{"outline-brand":r[t.name]===e}),children:!p[e]&&o(k,{children:o(y,{className:"w-full",source:x,onError:({currentTarget:n})=>{n.onerror=null,f(g=>({...g,[e]:!0}))}})})}),o("div",{className:"pointer-events-none absolute inset-0 rounded-full shadow-[inset_0_0_4px_rgba(0,0,0,0.08),inset_0_2px_2px_rgba(0,0,0,0.12)]"})]},e+s)})})]},t.id):i("div",{className:"ipc-product-detail-options",children:[o(c,{as:"p",size:3,className:"font-bold",html:t.name}),o("div",{className:"flex items-center gap-4 mt-4",children:t.values.map(({label:e})=>o("button",{onClick:()=>{a(s=>({...s,[t.name]:e}))},className:m("w-1/2 text-left font-bold px-4 py-6 rounded-box border-[#E4E5E6] border-2",{"border-brand":r[t.name]===e}),children:e},e))})]},t.id)})}):null};var $=_;export{$ as default};
1
+ import{Fragment as k,jsx as o,jsxs as i}from"react/jsx-runtime";import{Text as c,Picture as y}from"../../../../../../components";import{cn as m}from"../../../../../../helpers/index.js";import{useState as N}from"react";import{useBizProductContext as b}from"../../../../BizProductProvider.js";import{useAiuiContext as h}from"../../../../../AiuiProvider/index.js";import{handle as w}from"../../../../utils/helper.js";const _=()=>{const{product:d,selectedOptions:r,setSelectedOptions:a,setJoinedRecommendBuyProducts:u}=b(),{storeDomain:l}=h(),[p,f]=N({});return d.options.length?o("div",{className:"flex flex-col gap-12",children:d.options.map(t=>{const v=t.name.toLowerCase();return["color","colour","couleur"].some(e=>v.includes(e))?i("div",{className:"ipc-product-detail-options",children:[o(c,{as:"p",size:3,className:"font-bold",html:"Select Color: "+r[t.name]}),o("div",{className:"flex items-center gap-4 mt-4 ml-1",children:t.values.map(({label:e},s)=>{const x=`https://${l}/cdn/shop/files/${w(e)}.png`;return i("div",{className:"relative ipc-product-detail-options-value",children:[o("button",{"aria-label":`switch to ${e}`,title:e,onClick:()=>{a(n=>({...n,[t.name]:e})),u?.({gift:void 0,bundle:void 0})},className:m("flex size-[30px] items-center justify-center rounded-full bg-center bg-no-repeat outline outline-2 outline-offset-4 outline-white",{"outline-brand":r[t.name]===e}),children:!p[e]&&o(k,{children:o(y,{className:"w-full",source:x,onError:({currentTarget:n})=>{n.onerror=null,f(g=>({...g,[e]:!0}))}})})}),o("div",{className:"pointer-events-none absolute inset-0 rounded-full shadow-[inset_0_0_4px_rgba(0,0,0,0.08),inset_0_2px_2px_rgba(0,0,0,0.12)]"})]},e+s)})})]},t.id):i("div",{className:"ipc-product-detail-options",children:[o(c,{as:"p",size:3,className:"font-bold",html:t.name}),o("div",{className:"flex items-center gap-4 mt-4",children:t.values.map(({label:e})=>o("button",{onClick:()=>{a(s=>({...s,[t.name]:e}))},className:m("w-1/2 text-left font-bold px-4 py-6 rounded-box border-[#E4E5E6] border-2",{"border-brand":r[t.name]===e}),children:e},e))})]},t.id)})}):null};var $=_;export{$ as default};
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/ProductDetail/ProductOptions/index.tsx"],
4
- "sourcesContent": ["import { Text, Picture, Button } from '../../../../../../components'\nimport type { ProductOptionsProps } from '../types'\nimport { cn } from '../../../../../../helpers/index.js'\nimport { useState } from 'react'\nimport { useBizProductContext } from '../../../../BizProductProvider.js'\nimport { useAiuiContext } from '../../../../../AiuiProvider/index.js'\nimport { handle } from '../../../../utils/helper.js'\n\nconst ProductOptions = () => {\n const { product, selectedOptions, setSelectedOptions, setJoinedRecommendBuyProducts } =\n useBizProductContext()\n const { storeDomain } = useAiuiContext()\n const [imgLoadError, setImgLoadError] = useState({})\n if (!product.options.length) return null\n return (\n <div className=\"flex flex-col gap-12\">\n {product.options.map(option => {\n const lowercasedName = option.name.toLowerCase()\n const colorKeywords = ['color', 'colour', 'couleur']\n if (colorKeywords.some(keyword => lowercasedName.includes(keyword))) {\n return (\n <div key={option.id} className=\"ipc-product-detail-options\">\n <Text as=\"p\" size={3} className=\"font-bold\" html={'Select Color: ' + selectedOptions[option.name]} />\n <div className=\"flex items-center gap-4 mt-4\">\n {option.values.map(({ label }, index) => {\n const imagePath = `https://${storeDomain}/cdn/shop/files/${handle(label)}.png`\n return (\n <div key={label + index} className=\"relative ipc-product-detail-options-value\">\n <button\n aria-label={`switch to ${label}`}\n title={label}\n onClick={() => {\n setSelectedOptions(prev => ({ ...prev, [option.name]: label }))\n setJoinedRecommendBuyProducts?.({ gift: undefined, bundle: undefined })\n }}\n className={cn(\n 'flex size-[30px] items-center justify-center rounded-full bg-center bg-no-repeat outline outline-2 outline-offset-4 outline-white',\n {\n 'outline-brand': selectedOptions[option.name] === label,\n }\n )}\n >\n {!imgLoadError[label as keyof typeof imgLoadError] && (\n <>\n <Picture\n className=\"w-full\"\n source={imagePath}\n onError={({ currentTarget }) => {\n currentTarget.onerror = null // prevents looping\n setImgLoadError(prev => ({ ...prev, [label]: true }))\n }}\n />\n </>\n )}\n </button>\n <div className=\"pointer-events-none absolute inset-0 rounded-full shadow-[inset_0_0_4px_rgba(0,0,0,0.08),inset_0_2px_2px_rgba(0,0,0,0.12)]\"></div>\n </div>\n )\n })}\n </div>\n </div>\n )\n } else {\n return (\n <div key={option.id} className=\"ipc-product-detail-options\">\n <Text as=\"p\" size={3} className=\"font-bold\" html={option.name} />\n <div className=\"flex items-center gap-4 mt-4\">\n {option.values.map(({ label }) => (\n <button\n key={label}\n onClick={() => {\n setSelectedOptions(prev => ({ ...prev, [option.name]: label }))\n // setProductSummaryStatus?.({ giftSummary: false, bundleSummary: false })\n }}\n className={cn('w-1/2 text-left font-bold px-4 py-6 rounded-box border-[#E4E5E6] border-2', {\n 'border-brand': selectedOptions[option.name] === label,\n })}\n >\n {label}\n </button>\n ))}\n </div>\n </div>\n )\n }\n })}\n </div>\n )\n}\n\nexport default ProductOptions\n"],
5
- "mappings": "AAsBc,OAqBY,YAAAA,EArBZ,OAAAC,EAKM,QAAAC,MALN,oBAtBd,OAAS,QAAAC,EAAM,WAAAC,MAAuB,+BAEtC,OAAS,MAAAC,MAAU,qCACnB,OAAS,YAAAC,MAAgB,QACzB,OAAS,wBAAAC,MAA4B,oCACrC,OAAS,kBAAAC,MAAsB,uCAC/B,OAAS,UAAAC,MAAc,8BAEvB,MAAMC,EAAiB,IAAM,CAC3B,KAAM,CAAE,QAAAC,EAAS,gBAAAC,EAAiB,mBAAAC,EAAoB,8BAAAC,CAA8B,EAClFP,EAAqB,EACjB,CAAE,YAAAQ,CAAY,EAAIP,EAAe,EACjC,CAACQ,EAAcC,CAAe,EAAIX,EAAS,CAAC,CAAC,EACnD,OAAKK,EAAQ,QAAQ,OAEnBV,EAAC,OAAI,UAAU,uBACZ,SAAAU,EAAQ,QAAQ,IAAIO,GAAU,CAC7B,MAAMC,EAAiBD,EAAO,KAAK,YAAY,EAE/C,MADsB,CAAC,QAAS,SAAU,SAAS,EACjC,KAAKE,GAAWD,EAAe,SAASC,CAAO,CAAC,EAE9DlB,EAAC,OAAoB,UAAU,6BAC7B,UAAAD,EAACE,EAAA,CAAK,GAAG,IAAI,KAAM,EAAG,UAAU,YAAY,KAAM,iBAAmBS,EAAgBM,EAAO,IAAI,EAAG,EACnGjB,EAAC,OAAI,UAAU,+BACZ,SAAAiB,EAAO,OAAO,IAAI,CAAC,CAAE,MAAAG,CAAM,EAAGC,IAAU,CACvC,MAAMC,EAAY,WAAWR,CAAW,mBAAmBN,EAAOY,CAAK,CAAC,OACxE,OACEnB,EAAC,OAAwB,UAAU,4CACjC,UAAAD,EAAC,UACC,aAAY,aAAaoB,CAAK,GAC9B,MAAOA,EACP,QAAS,IAAM,CACbR,EAAmBW,IAAS,CAAE,GAAGA,EAAM,CAACN,EAAO,IAAI,EAAGG,CAAM,EAAE,EAC9DP,IAAgC,CAAE,KAAM,OAAW,OAAQ,MAAU,CAAC,CACxE,EACA,UAAWT,EACT,oIACA,CACE,gBAAiBO,EAAgBM,EAAO,IAAI,IAAMG,CACpD,CACF,EAEC,UAACL,EAAaK,CAAkC,GAC/CpB,EAAAD,EAAA,CACE,SAAAC,EAACG,EAAA,CACC,UAAU,SACV,OAAQmB,EACR,QAAS,CAAC,CAAE,cAAAE,CAAc,IAAM,CAC9BA,EAAc,QAAU,KACxBR,EAAgBO,IAAS,CAAE,GAAGA,EAAM,CAACH,CAAK,EAAG,EAAK,EAAE,CACtD,EACF,EACF,EAEJ,EACApB,EAAC,OAAI,UAAU,6HAA6H,IA5BpIoB,EAAQC,CA6BlB,CAEJ,CAAC,EACH,IAtCQJ,EAAO,EAuCjB,EAIAhB,EAAC,OAAoB,UAAU,6BAC7B,UAAAD,EAACE,EAAA,CAAK,GAAG,IAAI,KAAM,EAAG,UAAU,YAAY,KAAMe,EAAO,KAAM,EAC/DjB,EAAC,OAAI,UAAU,+BACZ,SAAAiB,EAAO,OAAO,IAAI,CAAC,CAAE,MAAAG,CAAM,IAC1BpB,EAAC,UAEC,QAAS,IAAM,CACbY,EAAmBW,IAAS,CAAE,GAAGA,EAAM,CAACN,EAAO,IAAI,EAAGG,CAAM,EAAE,CAEhE,EACA,UAAWhB,EAAG,4EAA6E,CACzF,eAAgBO,EAAgBM,EAAO,IAAI,IAAMG,CACnD,CAAC,EAEA,SAAAA,GATIA,CAUP,CACD,EACH,IAjBQH,EAAO,EAkBjB,CAGN,CAAC,EACH,EAzEkC,IA2EtC,EAEA,IAAOQ,EAAQhB",
4
+ "sourcesContent": ["import { Text, Picture, Button } from '../../../../../../components'\nimport type { ProductOptionsProps } from '../types'\nimport { cn } from '../../../../../../helpers/index.js'\nimport { useState } from 'react'\nimport { useBizProductContext } from '../../../../BizProductProvider.js'\nimport { useAiuiContext } from '../../../../../AiuiProvider/index.js'\nimport { handle } from '../../../../utils/helper.js'\n\nconst ProductOptions = () => {\n const { product, selectedOptions, setSelectedOptions, setJoinedRecommendBuyProducts } =\n useBizProductContext()\n const { storeDomain } = useAiuiContext()\n const [imgLoadError, setImgLoadError] = useState({})\n if (!product.options.length) return null\n return (\n <div className=\"flex flex-col gap-12\">\n {product.options.map(option => {\n const lowercasedName = option.name.toLowerCase()\n const colorKeywords = ['color', 'colour', 'couleur']\n if (colorKeywords.some(keyword => lowercasedName.includes(keyword))) {\n return (\n <div key={option.id} className=\"ipc-product-detail-options\">\n <Text as=\"p\" size={3} className=\"font-bold\" html={'Select Color: ' + selectedOptions[option.name]} />\n <div className=\"flex items-center gap-4 mt-4 ml-1\">\n {option.values.map(({ label }, index) => {\n const imagePath = `https://${storeDomain}/cdn/shop/files/${handle(label)}.png`\n return (\n <div key={label + index} className=\"relative ipc-product-detail-options-value\">\n <button\n aria-label={`switch to ${label}`}\n title={label}\n onClick={() => {\n setSelectedOptions(prev => ({ ...prev, [option.name]: label }))\n setJoinedRecommendBuyProducts?.({ gift: undefined, bundle: undefined })\n }}\n className={cn(\n 'flex size-[30px] items-center justify-center rounded-full bg-center bg-no-repeat outline outline-2 outline-offset-4 outline-white',\n {\n 'outline-brand': selectedOptions[option.name] === label,\n }\n )}\n >\n {!imgLoadError[label as keyof typeof imgLoadError] && (\n <>\n <Picture\n className=\"w-full\"\n source={imagePath}\n onError={({ currentTarget }) => {\n currentTarget.onerror = null // prevents looping\n setImgLoadError(prev => ({ ...prev, [label]: true }))\n }}\n />\n </>\n )}\n </button>\n <div className=\"pointer-events-none absolute inset-0 rounded-full shadow-[inset_0_0_4px_rgba(0,0,0,0.08),inset_0_2px_2px_rgba(0,0,0,0.12)]\"></div>\n </div>\n )\n })}\n </div>\n </div>\n )\n } else {\n return (\n <div key={option.id} className=\"ipc-product-detail-options\">\n <Text as=\"p\" size={3} className=\"font-bold\" html={option.name} />\n <div className=\"flex items-center gap-4 mt-4\">\n {option.values.map(({ label }) => (\n <button\n key={label}\n onClick={() => {\n setSelectedOptions(prev => ({ ...prev, [option.name]: label }))\n // setProductSummaryStatus?.({ giftSummary: false, bundleSummary: false })\n }}\n className={cn('w-1/2 text-left font-bold px-4 py-6 rounded-box border-[#E4E5E6] border-2', {\n 'border-brand': selectedOptions[option.name] === label,\n })}\n >\n {label}\n </button>\n ))}\n </div>\n </div>\n )\n }\n })}\n </div>\n )\n}\n\nexport default ProductOptions\n"],
5
+ "mappings": "AAsBc,OAqBY,YAAAA,EArBZ,OAAAC,EAKM,QAAAC,MALN,oBAtBd,OAAS,QAAAC,EAAM,WAAAC,MAAuB,+BAEtC,OAAS,MAAAC,MAAU,qCACnB,OAAS,YAAAC,MAAgB,QACzB,OAAS,wBAAAC,MAA4B,oCACrC,OAAS,kBAAAC,MAAsB,uCAC/B,OAAS,UAAAC,MAAc,8BAEvB,MAAMC,EAAiB,IAAM,CAC3B,KAAM,CAAE,QAAAC,EAAS,gBAAAC,EAAiB,mBAAAC,EAAoB,8BAAAC,CAA8B,EAClFP,EAAqB,EACjB,CAAE,YAAAQ,CAAY,EAAIP,EAAe,EACjC,CAACQ,EAAcC,CAAe,EAAIX,EAAS,CAAC,CAAC,EACnD,OAAKK,EAAQ,QAAQ,OAEnBV,EAAC,OAAI,UAAU,uBACZ,SAAAU,EAAQ,QAAQ,IAAIO,GAAU,CAC7B,MAAMC,EAAiBD,EAAO,KAAK,YAAY,EAE/C,MADsB,CAAC,QAAS,SAAU,SAAS,EACjC,KAAKE,GAAWD,EAAe,SAASC,CAAO,CAAC,EAE9DlB,EAAC,OAAoB,UAAU,6BAC7B,UAAAD,EAACE,EAAA,CAAK,GAAG,IAAI,KAAM,EAAG,UAAU,YAAY,KAAM,iBAAmBS,EAAgBM,EAAO,IAAI,EAAG,EACnGjB,EAAC,OAAI,UAAU,oCACZ,SAAAiB,EAAO,OAAO,IAAI,CAAC,CAAE,MAAAG,CAAM,EAAGC,IAAU,CACvC,MAAMC,EAAY,WAAWR,CAAW,mBAAmBN,EAAOY,CAAK,CAAC,OACxE,OACEnB,EAAC,OAAwB,UAAU,4CACjC,UAAAD,EAAC,UACC,aAAY,aAAaoB,CAAK,GAC9B,MAAOA,EACP,QAAS,IAAM,CACbR,EAAmBW,IAAS,CAAE,GAAGA,EAAM,CAACN,EAAO,IAAI,EAAGG,CAAM,EAAE,EAC9DP,IAAgC,CAAE,KAAM,OAAW,OAAQ,MAAU,CAAC,CACxE,EACA,UAAWT,EACT,oIACA,CACE,gBAAiBO,EAAgBM,EAAO,IAAI,IAAMG,CACpD,CACF,EAEC,UAACL,EAAaK,CAAkC,GAC/CpB,EAAAD,EAAA,CACE,SAAAC,EAACG,EAAA,CACC,UAAU,SACV,OAAQmB,EACR,QAAS,CAAC,CAAE,cAAAE,CAAc,IAAM,CAC9BA,EAAc,QAAU,KACxBR,EAAgBO,IAAS,CAAE,GAAGA,EAAM,CAACH,CAAK,EAAG,EAAK,EAAE,CACtD,EACF,EACF,EAEJ,EACApB,EAAC,OAAI,UAAU,6HAA6H,IA5BpIoB,EAAQC,CA6BlB,CAEJ,CAAC,EACH,IAtCQJ,EAAO,EAuCjB,EAIAhB,EAAC,OAAoB,UAAU,6BAC7B,UAAAD,EAACE,EAAA,CAAK,GAAG,IAAI,KAAM,EAAG,UAAU,YAAY,KAAMe,EAAO,KAAM,EAC/DjB,EAAC,OAAI,UAAU,+BACZ,SAAAiB,EAAO,OAAO,IAAI,CAAC,CAAE,MAAAG,CAAM,IAC1BpB,EAAC,UAEC,QAAS,IAAM,CACbY,EAAmBW,IAAS,CAAE,GAAGA,EAAM,CAACN,EAAO,IAAI,EAAGG,CAAM,EAAE,CAEhE,EACA,UAAWhB,EAAG,4EAA6E,CACzF,eAAgBO,EAAgBM,EAAO,IAAI,IAAMG,CACnD,CAAC,EAEA,SAAAA,GATIA,CAUP,CACD,EACH,IAjBQH,EAAO,EAkBjB,CAGN,CAAC,EACH,EAzEkC,IA2EtC,EAEA,IAAOQ,EAAQhB",
6
6
  "names": ["Fragment", "jsx", "jsxs", "Text", "Picture", "cn", "useState", "useBizProductContext", "useAiuiContext", "handle", "ProductOptions", "product", "selectedOptions", "setSelectedOptions", "setJoinedRecommendBuyProducts", "storeDomain", "imgLoadError", "setImgLoadError", "option", "lowercasedName", "keyword", "label", "index", "imagePath", "prev", "currentTarget", "ProductOptions_default"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{Fragment as se,jsx as e,jsxs as p}from"react/jsx-runtime";import{useAiuiContext as H}from"../../../../AiuiProvider/index.js";import{Text as U,Picture as M,Badge as Z}from"../../../../../components";import{useCallback as G,useMemo as z,useState as u,forwardRef as q,useRef as V,useEffect as P}from"react";import{Swiper as R,SwiperSlide as _}from"swiper/react";import{Navigation as D,Mousewheel as Y,Thumbs as B,Pagination as $}from"swiper/modules";import{cn as y}from"../../../../../helpers/index.js";import{GalleryTabType as T}from"./types.js";import{Content as K,List as J,Root as Q,Trigger as X}from"@radix-ui/react-tabs";import{useBizProductContext as F}from"../../../BizProductProvider.js";import{useVariantMedia as ee}from"../../../hooks/use-variant-media.js";import{SpecsModal as te}from"./components/SpecsModal.js";import le from"./components/CompareModal.js";import{formatPrice as ae}from"../../../utils/index.js";const W=t=>p("svg",{width:"48",height:"48",viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t,children:[e("rect",{x:"48",y:"48",width:"48",height:"48",rx:"24",transform:"rotate(-180 48 48)",fill:"white"}),e("path",{d:"M25.1035 16.8545C25.5372 16.3818 26.246 16.3818 26.6797 16.8545C27.1067 17.3201 27.1067 18.0706 26.6797 18.5361L21.668 24L26.6797 29.4639C27.1067 29.9294 27.1067 30.6799 26.6797 31.1455C26.246 31.6182 25.5372 31.6182 25.1035 31.1455L19.3203 24.8408C18.8933 24.3752 18.8933 23.6248 19.3203 23.1592L25.1035 16.8545Z",fill:"currentColor"})]}),O=t=>p("svg",{width:"48",height:"48",viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t,children:[e("rect",{width:"48",height:"48",rx:"24",transform:"matrix(1 -8.74228e-08 -8.74228e-08 -1 0 48)",fill:"white"}),e("path",{d:"M22.8965 16.8545C22.4628 16.3818 21.754 16.3818 21.3203 16.8545C20.8933 17.3201 20.8933 18.0706 21.3203 18.5361L26.332 24L21.3203 29.4639C20.8933 29.9294 20.8933 30.6799 21.3203 31.1455C21.754 31.6182 22.4628 31.6182 22.8965 31.1455L28.6797 24.8408C29.1067 24.3752 29.1067 23.6248 28.6797 23.1592L22.8965 16.8545Z",fill:"currentColor"})]}),ie=()=>{const{copyWriting:t}=H(),{product:a,variant:m,selectedOptions:k}=F(),d=ee({product:a,variant:m}),[b,g]=u(null),o=m?.metafields?.component?.custom_media_list;let f,x,w,v;o&&o?.available?(f=o?.product||[],x=o?.scenarios||[],w=o?.keyFeatures||[],v=o?.video||[]):(f=d?.productList,x=d?.sceneList,w=d?.keyFeaturesList,v=d?.videoList);const E=z(()=>[...f,...x,...v],[f,x,v]),n={productList:f,sceneList:x,keyFeaturesList:w,videoList:v},r=z(()=>(a?.payload?.components?.find(s=>s.componentKey==="ProductGallery")?.data||[])?.map(s=>({...s,galleries:n[s?.galleries]||[]})).filter(s=>s.galleries.length>0),[a?.payload,n]),[N,I]=u(r?.[0]),[S,L]=u(0),[C,h]=u(null),i=G(()=>{const l=(S+1)%r.length;L(l),I(r[l]),h(0)},[S,r]),c=G(()=>{const l=S===0?r.length-1:S-1;L(l),I(r[l]);const s=r[l]?.galleries||[];h(s.length-1)},[S,r]);P(()=>{I(r[0])},[m?.id]);const A=(l,s)=>{switch(l?.galleryTabType){case T.GALLERY_IMAGE_MAIN:return e(j,{...l,index:s,onNextTab:i,onPrevTab:c,targetSlideIndex:C,onSlideChange:()=>h(null)});case T.GALLERY_IMAGE_FEATURES:return e(j,{...l,index:s,onNextTab:i,onPrevTab:c,targetSlideIndex:C,onSlideChange:()=>h(null)});case T.GALLERY_IMAGE_SCENE:return e(j,{...l,index:s,onNextTab:i,onPrevTab:c,targetSlideIndex:C,onSlideChange:()=>h(null)});case T.GALLERY_VIDEO:return e(re,{...l,onNextTab:i,onPrevTab:c,targetSlideIndex:C,onSlideChange:()=>h(null)});default:return null}};return e("div",{id:"ipc-product-gallery",children:p(Q,{className:"relative",value:N?.tabValue,defaultValue:r?.[0]?.tabValue,children:[e("div",{className:"h-[420px] overflow-hidden tablet:h-[620px] desktop:rounded-2xl desktop:h-[560px] lg-desktop:h-[700px] bg-[#EAEAEC] desktop:relative ",children:r.map((l,s)=>e(K,{className:"h-full",value:l.tabValue,children:A(l,s)},l.tabValue))}),e(oe,{galleryTabs:r,activeGalleryTab:N,setActiveGalleryTab:I,setActiveTabIndex:L,setTargetSlideIndex:h})]})})},oe=({galleryTabs:t,activeGalleryTab:a,setActiveGalleryTab:m,setActiveTabIndex:k,setTargetSlideIndex:d})=>{const{product:b}=F(),g=V(null);return p("div",{className:"absolute z-[2] bottom-4 left-4 right-4 laptop:left-16 laptop:right-16 flex justify-between items-center tablet:mt-3 desktop:static",children:[e(J,{ref:g,className:"rounded-full bg-[#EAEAEC] p-1 laptop:p-0 desktop:p-1 overflow-x-auto",style:{scrollbarWidth:"none",msOverflowStyle:"none"},children:e("div",{className:"whitespace-nowrap",children:t?.map((o,f)=>e(X,{className:y("lg-desktop:px-7 lg-desktop:pb-[14px] rounded-full font-bold lg-desktop:pt-[15px] lg-desktop:text-[16px] px-5 pb-[10px] pt-[11px] text-[14px] leading-tight",o.tabValue===a?.tabValue&&"bg-white"),onClick:x=>{if(m(o),k(f),d(0),g.current){const w=g.current,v=x.currentTarget,E=v.offsetLeft-w.offsetWidth/2+v.offsetWidth/2;w.scrollTo({left:E,behavior:"smooth"})}},value:o.tabValue,children:o.tabLabel},o.tabValue))})}),e("div",{className:"laptop:gap-2 hidden laptop:flex",children:b.metafields?.global?.specifications&&p(se,{children:[e(te,{})," | ",e(le,{})]})})]})},j=q((t,a)=>{const{locale:m="us",copyWriting:k}=H(),{variant:d,totalSavings:b}=F(),g=V(null),[o,f]=u(null),[x,w]=u(!0),[v,E]=u(!1),[n,r]=u(null),N=V(null),[I,S]=u(!1),L=z(()=>{if(t?.galleryTabType===T.GALLERY_IMAGE_MAIN)return"size-[240px] mx-auto mt-[42px] tablet:mt-16 tablet:size-[420px] lg-desktop:size-[560px]";t?.galleryTabType===T.GALLERY_IMAGE_FEATURES||(t?.galleryTabType,T.GALLERY_IMAGE_SCENE)},[t?.galleryTabType]),C=G(()=>{n?.isBeginning?t.onPrevTab?.():n?.slidePrev()},[n,t]),h=G(()=>{n?.isEnd?t.onNextTab?.():n?.slideNext()},[n,t]);return P(()=>{n&&t.targetSlideIndex&&(n.slideTo(t.targetSlideIndex,0),t.onSlideChange?.())},[n,t.targetSlideIndex,t]),P(()=>{if(N.current){const i=N.current,c=i.scrollHeight,A=i.clientHeight,l=c>A;S(l)}},[]),p("div",{className:"h-full [&_.swiper-button]:hover:opacity-100",children:[e(R,{ref:a,className:"h-full",onSwiper:r,onProgress:i=>{w(i.isBeginning),E(i.isEnd)},pagination:{clickable:!0,el:g.current},thumbs:{swiper:o},modules:[Y,B,D,$],mousewheel:{forceToAxis:!0},breakpoints:{0:{slidesPerView:1,freeMode:!1}},children:t?.galleries?.map((i,c)=>e(_,{className:"h-full",children:e(M,{source:i?.image?.url,alt:i?.image?.altText,className:y("h-full",L),imgClassName:"object-cover h-full"})},t?.id+"SwiperSlideItem"+c))}),d.availableForSale&&!!b&&!t.index&&e(Z,{size:"lg",className:"absolute bg-brand text-white top-3 laptop:left-16 laptop:top-5 left-4 z-[2] desktop:left-6 desktop:top-6",children:`${ae({amount:b,currencyCode:d?.price?.currencyCode,locale:m})} ${k?.off}`}),e("div",{className:y("hidden tablet:opacity-0 tablet:block tablet:absolute tablet:top-1/2 laptop:left-16 tablet:left-6 desktop:left-6 z-10 -translate-y-1/2 cursor-pointer","swiper-button"),onClick:C,children:e(W,{className:y("tablet:size-10 lg-desktop:size-12")})}),e("div",{className:y("hidden tablet:block tablet:opacity-0 tablet:absolute tablet:top-1/2 laptop:right-16 tablet:right-6 z-10 desktop:right-6 -translate-y-1/2 cursor-pointer","swiper-button"),onClick:h,children:e(O,{className:y("tablet:size-10 lg-desktop:size-12")})}),p("div",{className:"absolute bottom-[94px] tablet:bottom-[70px] left-4 right-4 z-10 items-center tablet:flex justify-between laptop:left-16 laptop:right-16 desktop:bottom-[20px] desktop:right-6 desktop:left-6",children:[e("div",{className:"hidden tablet:block",children:e(R,{className:"flex items-center justify-between",onSwiper:f,spaceBetween:12,slidesPerView:6,freeMode:!0,watchSlidesProgress:!0,modules:[D,B],children:t?.galleries?.map((i,c)=>e(_,{className:"!w-auto [&.swiper-slide-thumb-active]:border [&.swiper-slide-thumb-active]:rounded [&.swiper-slide-thumb-active]:border-brand",children:e(M,{source:i.image?.url,alt:i.image?.altText,className:"size-10 lg-desktop:size-12 overflow-hidden bg-white rounded",imgClassName:"object-contain h-full"})},t?.id+"SwiperSlideThumbItem"+c))})}),!t?.index&&p("div",{className:"flex items-center gap-2",children:[e(M,{source:t?.comment?.avatar?.url,className:"size-8 laptop:size-10 rounded-full shrink-0",imgClassName:"object-cover "}),e("div",{className:"overflow-hidden max-w-[528px] relative",children:e("div",{ref:N,className:y("h-10 lg-desktop:h-12",I?"animate-marquee-scroll":""),style:{animationDuration:"3s"},children:e(U,{html:t?.comment?.content,className:"text-sm lg-desktop:text-base font-bold text-[#1D1D1F]"})})})]})]}),e("div",{ref:g,className:"tablet:hidden text-center absolute !bottom-[70px] left-4 right-4 z-10"})]})}),re=t=>{const[a,m]=u(null),k=G(()=>{a?.isBeginning?t.onPrevTab?.():a?.slidePrev()},[a,t]),d=G(()=>{a?.isEnd?t.onNextTab?.():a?.slideNext()},[a,t]);return P(()=>{a&&t.targetSlideIndex!==null&&t.targetSlideIndex!==void 0&&(a.slideTo(t.targetSlideIndex,0),t.onSlideChange?.())},[a,t.targetSlideIndex,t]),p("div",{className:"h-full [&_.swiper-button]:hover:opacity-100",children:[e(R,{className:"h-full",onSwiper:m,modules:[Y,B,D,$],mousewheel:{forceToAxis:!0},breakpoints:{0:{slidesPerView:1,freeMode:!1}},children:t?.galleries?.map((b,g)=>e(_,{className:"h-full",children:p("video",{controls:!0,className:"size-full",children:[e("track",{kind:"captions"}),e("source",{src:b?.sources?.[0]?.url,type:"video/mp4"}),e("source",{src:b?.sources?.[0]?.url,type:"video/webm"}),e("source",{src:b?.sources?.[0]?.url,type:"video/ogg"})]})},t?.id+"SwiperSlideItem"+g))}),e("div",{className:y("hidden swiper-button tablet:block tablet:opacity-0 tablet:absolute tablet:top-1/2 tablet:left-6 z-10 -translate-y-1/2 cursor-pointer"),onClick:k,children:e(W,{className:"tablet:size-10 lg-desktop:size-12"})}),e("div",{className:y("hidden tablet:block swiper-button tablet:opacity-0 tablet:absolute tablet:top-1/2 tablet:right-6 z-10 -translate-y-1/2 cursor-pointer"),onClick:d,children:e(O,{className:"tablet:size-10 lg-desktop:size-12"})})]})},Se=t=>e("div",{children:"3D View"});var Te=ie;export{Te as default};
1
+ import{Fragment as re,jsx as e,jsxs as g}from"react/jsx-runtime";import{useAiuiContext as H}from"../../../../AiuiProvider/index.js";import{Text as U,Picture as M,Badge as Z}from"../../../../../components";import{useCallback as G,useMemo as z,useState as m,forwardRef as q,useRef as V,useEffect as P}from"react";import{Swiper as R,SwiperSlide as _}from"swiper/react";import{Navigation as D,Mousewheel as Y,Thumbs as B,Pagination as $}from"swiper/modules";import{cn as y}from"../../../../../helpers/index.js";import{GalleryTabType as N}from"./types.js";import{Content as K,List as J,Root as Q,Trigger as X}from"@radix-ui/react-tabs";import{useBizProductContext as F}from"../../../BizProductProvider.js";import{useVariantMedia as ee}from"../../../hooks/use-variant-media.js";import{SpecsModal as te}from"./components/SpecsModal.js";import le from"./components/CompareModal.js";import{formatPrice as ae}from"../../../utils/index.js";const W=t=>g("svg",{width:"48",height:"48",viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t,children:[e("rect",{x:"48",y:"48",width:"48",height:"48",rx:"24",transform:"rotate(-180 48 48)",fill:"white"}),e("path",{d:"M25.1035 16.8545C25.5372 16.3818 26.246 16.3818 26.6797 16.8545C27.1067 17.3201 27.1067 18.0706 26.6797 18.5361L21.668 24L26.6797 29.4639C27.1067 29.9294 27.1067 30.6799 26.6797 31.1455C26.246 31.6182 25.5372 31.6182 25.1035 31.1455L19.3203 24.8408C18.8933 24.3752 18.8933 23.6248 19.3203 23.1592L25.1035 16.8545Z",fill:"currentColor"})]}),O=t=>g("svg",{width:"48",height:"48",viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t,children:[e("rect",{width:"48",height:"48",rx:"24",transform:"matrix(1 -8.74228e-08 -8.74228e-08 -1 0 48)",fill:"white"}),e("path",{d:"M22.8965 16.8545C22.4628 16.3818 21.754 16.3818 21.3203 16.8545C20.8933 17.3201 20.8933 18.0706 21.3203 18.5361L26.332 24L21.3203 29.4639C20.8933 29.9294 20.8933 30.6799 21.3203 31.1455C21.754 31.6182 22.4628 31.6182 22.8965 31.1455L28.6797 24.8408C29.1067 24.3752 29.1067 23.6248 28.6797 23.1592L22.8965 16.8545Z",fill:"currentColor"})]}),ie=()=>{const{copyWriting:t}=H(),{product:i,variant:f,selectedOptions:S}=F(),d=ee({product:i,variant:f}),[o,p]=m(null),s=f?.metafields?.component?.custom_media_list;let v,x,w,h;s&&s?.available?(v=s?.product||[],x=s?.scenarios||[],w=s?.keyFeatures||[],h=s?.video||[]):(v=d?.productList,x=d?.sceneList,w=d?.keyFeaturesList,h=d?.videoList);const L=z(()=>[...v,...x,...h],[v,x,h]),c={productList:v,sceneList:x,keyFeaturesList:w,videoList:h},r=z(()=>(i?.payload?.components?.find(n=>n.componentKey==="ProductGallery")?.data||[])?.map(n=>({...n,galleries:c[n?.galleries]||[]})).filter(n=>n.galleries.length>0),[i?.payload,c]),[I,E]=m(r?.[0]),[T,C]=m(0),[k,b]=m(null),l=G(()=>{const a=(T+1)%r.length;C(a),E(r[a]),b(0)},[T,r]),u=G(()=>{const a=T===0?r.length-1:T-1;C(a),E(r[a]);const n=r[a]?.galleries||[];b(n.length-1)},[T,r]);P(()=>{E(r[0]),C(0)},[f?.id]);const A=(a,n)=>{switch(a?.galleryTabType){case N.GALLERY_IMAGE_MAIN:return e(j,{...a,index:n,onNextTab:l,onPrevTab:u,targetSlideIndex:k,onSlideChange:()=>b(null)});case N.GALLERY_IMAGE_FEATURES:return e(j,{...a,index:n,onNextTab:l,onPrevTab:u,targetSlideIndex:k,onSlideChange:()=>b(null)});case N.GALLERY_IMAGE_SCENE:return e(j,{...a,index:n,onNextTab:l,onPrevTab:u,targetSlideIndex:k,onSlideChange:()=>b(null)});case N.GALLERY_VIDEO:return e(se,{...a,onNextTab:l,onPrevTab:u,targetSlideIndex:k,onSlideChange:()=>b(null)});default:return null}};return e("div",{id:"ipc-product-gallery",children:g(Q,{className:"relative",value:I?.tabValue,defaultValue:r?.[0]?.tabValue,children:[e("div",{className:"h-[420px] overflow-hidden tablet:h-[620px] desktop:rounded-2xl desktop:h-[560px] lg-desktop:h-[700px] bg-[#EAEAEC] desktop:relative ",children:r.map((a,n)=>e(K,{className:"h-full",value:a.tabValue,children:A(a,n)},a.tabValue))}),e(oe,{galleryTabs:r,activeGalleryTab:I,setActiveGalleryTab:E,setActiveTabIndex:C,setTargetSlideIndex:b})]})})},oe=({galleryTabs:t,activeGalleryTab:i,setActiveGalleryTab:f,setActiveTabIndex:S,setTargetSlideIndex:d})=>{const{product:o}=F(),p=V(null);return g("div",{className:"absolute z-[2] bottom-4 left-4 right-4 laptop:left-16 laptop:right-16 flex justify-between items-center tablet:mt-3 desktop:static",children:[e(J,{ref:p,className:"rounded-full bg-[#EAEAEC] p-1 laptop:p-0 desktop:p-1 overflow-x-auto",style:{scrollbarWidth:"none",msOverflowStyle:"none"},children:e("div",{className:"whitespace-nowrap",children:t?.map((s,v)=>e(X,{className:y("lg-desktop:px-7 lg-desktop:pb-[14px] rounded-full font-bold lg-desktop:pt-[15px] lg-desktop:text-[16px] px-5 pb-[10px] pt-[11px] text-[14px] leading-tight",s.tabValue===i?.tabValue&&"bg-white"),onClick:x=>{if(f(s),S(v),d(0),p.current){const w=p.current,h=x.currentTarget,L=h.offsetLeft-w.offsetWidth/2+h.offsetWidth/2;w.scrollTo({left:L,behavior:"smooth"})}},value:s.tabValue,children:s.tabLabel},s.tabValue))})}),e("div",{className:"laptop:gap-2 hidden laptop:flex",children:o.metafields?.global?.specifications&&g(re,{children:[e(te,{})," | ",e(le,{})]})})]})},j=q((t,i)=>{const{locale:f="us",copyWriting:S}=H(),{variant:d,totalSavings:o}=F(),p=V(null),[s,v]=m(null),[x,w]=m(!0),[h,L]=m(!1),[c,r]=m(null),I=V(null),[E,T]=m(!1),C=z(()=>{if(t?.galleryTabType===N.GALLERY_IMAGE_MAIN)return"size-[240px] mx-auto mt-[42px] tablet:mt-16 tablet:size-[420px] lg-desktop:size-[560px]";t?.galleryTabType===N.GALLERY_IMAGE_FEATURES||(t?.galleryTabType,N.GALLERY_IMAGE_SCENE)},[t?.galleryTabType]),k=G(()=>{c?.isBeginning?t.onPrevTab?.():c?.slidePrev()},[c,t]),b=G(()=>{c?.isEnd?t.onNextTab?.():c?.slideNext()},[c,t]);return P(()=>{c&&t.targetSlideIndex&&(c.slideTo(t.targetSlideIndex,0),t.onSlideChange?.())},[c,t.targetSlideIndex,t]),P(()=>{if(I.current){const l=I.current,u=l.scrollHeight,A=l.clientHeight,a=u>A;T(a)}},[]),g("div",{className:"h-full [&_.swiper-button]:hover:opacity-100",children:[e(R,{ref:i,className:"h-full",onSwiper:r,onProgress:l=>{w(l.isBeginning),L(l.isEnd)},onTouchEnd:(l,u)=>{l.isBeginning&&l.swipeDirection==="prev"?k():l.isEnd&&l.swipeDirection==="next"&&b()},pagination:{clickable:!0,el:p.current},thumbs:{swiper:s},modules:[Y,B,D,$],mousewheel:{forceToAxis:!0},breakpoints:{0:{slidesPerView:1,freeMode:!1}},children:t?.galleries?.map((l,u)=>e(_,{className:"h-full",children:e(M,{source:l?.image?.url,alt:l?.image?.altText,className:y("h-full",C),imgClassName:"object-cover h-full"})},t?.id+"SwiperSlideItem"+u))}),d.availableForSale&&!!o&&!t.index&&e(Z,{size:"lg",className:"absolute bg-brand text-white top-3 laptop:left-16 laptop:top-5 left-4 z-[2] desktop:left-6 desktop:top-6",children:`${ae({amount:o,currencyCode:d?.price?.currencyCode,locale:f})} ${S?.off}`}),e("div",{className:y("hidden tablet:opacity-0 tablet:block tablet:absolute tablet:top-1/2 laptop:left-16 tablet:left-6 desktop:left-6 z-10 -translate-y-1/2 cursor-pointer","swiper-button"),onClick:k,children:e(W,{className:y("tablet:size-10 lg-desktop:size-12")})}),e("div",{className:y("hidden tablet:block tablet:opacity-0 tablet:absolute tablet:top-1/2 laptop:right-16 tablet:right-6 z-10 desktop:right-6 -translate-y-1/2 cursor-pointer","swiper-button"),onClick:b,children:e(O,{className:y("tablet:size-10 lg-desktop:size-12")})}),g("div",{className:"absolute bottom-[94px] tablet:bottom-[70px] left-4 right-4 z-10 items-center tablet:flex justify-between laptop:left-16 laptop:right-16 desktop:bottom-[20px] desktop:right-6 desktop:left-6",children:[e("div",{className:"hidden tablet:block",children:e(R,{className:"flex items-center justify-between",onSwiper:v,spaceBetween:12,slidesPerView:6,freeMode:!0,watchSlidesProgress:!0,modules:[D,B],children:t?.galleries?.map((l,u)=>e(_,{className:"!w-auto [&.swiper-slide-thumb-active]:border [&.swiper-slide-thumb-active]:rounded [&.swiper-slide-thumb-active]:border-brand",children:e(M,{source:l.image?.url,alt:l.image?.altText,className:"size-10 lg-desktop:size-12 overflow-hidden bg-white rounded",imgClassName:"object-contain h-full"})},t?.id+"SwiperSlideThumbItem"+u))})}),!t?.index&&g("div",{className:"flex items-center gap-2",children:[e(M,{source:t?.comment?.avatar?.url,className:"size-8 laptop:size-10 rounded-full shrink-0",imgClassName:"object-cover "}),e("div",{className:"overflow-hidden max-w-[528px] relative",children:e("div",{ref:I,className:y("h-10 lg-desktop:h-12",E?"animate-marquee-scroll":""),style:{animationDuration:"3s"},children:e(U,{html:t?.comment?.content,className:"text-sm lg-desktop:text-base font-bold text-[#1D1D1F]"})})})]})]}),e("div",{ref:p,className:"tablet:hidden [&_.swiper-pagination-bullet]:bg-white [&_.swiper-pagination-bullet]:opacity-100 [&_.swiper-pagination-bullet]:bg-white text-center absolute !bottom-[70px] left-4 right-4 z-10"})]})}),se=t=>{const[i,f]=m(null),S=G(()=>{i?.isBeginning?t.onPrevTab?.():i?.slidePrev()},[i,t]),d=G(()=>{i?.isEnd?t.onNextTab?.():i?.slideNext()},[i,t]);return P(()=>{i&&t.targetSlideIndex!==null&&t.targetSlideIndex!==void 0&&(i.slideTo(t.targetSlideIndex,0),t.onSlideChange?.())},[i,t.targetSlideIndex,t]),g("div",{className:"h-full [&_.swiper-button]:hover:opacity-100",children:[e(R,{className:"h-full",onSwiper:f,onTouchEnd:(o,p)=>{o.isBeginning&&o.swipeDirection==="prev"?S():o.isEnd&&o.swipeDirection==="next"&&d()},modules:[Y,B,D,$],mousewheel:{forceToAxis:!0},breakpoints:{0:{slidesPerView:1,freeMode:!1}},children:t?.galleries?.map((o,p)=>e(_,{className:"h-full",children:g("video",{controls:!0,className:"size-full",children:[e("track",{kind:"captions"}),e("source",{src:o?.sources?.[0]?.url,type:"video/mp4"}),e("source",{src:o?.sources?.[0]?.url,type:"video/webm"}),e("source",{src:o?.sources?.[0]?.url,type:"video/ogg"})]})},t?.id+"SwiperSlideItem"+p))}),e("div",{className:y("hidden swiper-button tablet:block tablet:opacity-0 tablet:absolute tablet:top-1/2 tablet:left-6 z-10 -translate-y-1/2 cursor-pointer"),onClick:S,children:e(W,{className:"tablet:size-10 lg-desktop:size-12"})}),e("div",{className:y("hidden tablet:block swiper-button tablet:opacity-0 tablet:absolute tablet:top-1/2 tablet:right-6 z-10 -translate-y-1/2 cursor-pointer"),onClick:d,children:e(O,{className:"tablet:size-10 lg-desktop:size-12"})})]})},Se=t=>e("div",{children:"3D View"});var Te=ie;export{Te as default};
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/ProductGallery/index.tsx"],
4
- "sourcesContent": ["import { useAiuiContext } from '../../../../AiuiProvider/index.js'\nimport { Text, Picture, Button, Badge } from '../../../../../components'\nimport {\n useCallback,\n useMemo,\n useState,\n forwardRef,\n useRef,\n type RefObject,\n useEffect,\n type Dispatch,\n type SetStateAction,\n} from 'react'\nimport { Swiper, SwiperSlide, type SwiperRef } from 'swiper/react'\nimport { Navigation, Mousewheel, Thumbs, Pagination } from 'swiper/modules'\nimport { cn } from '../../../../../helpers/index.js'\nimport { GalleryTabType } from './types.js'\nimport { Content, List, Root, Trigger } from '@radix-ui/react-tabs'\nimport { useBizProductContext } from '../../../BizProductProvider.js'\nimport { useVariantMedia } from '../../../hooks/use-variant-media.js'\nimport { SpecsModal } from './components/SpecsModal.js'\nimport CompareModal from './components/CompareModal.js'\nimport { formatPrice } from '../../../utils/index.js'\n\nimport type { Swiper as SwiperType } from 'swiper'\nimport type { ImageMedia, VideoMedia } from '../../../hooks/use-variant-media.js'\nimport type { ProductGalleryProps, ProductGalleryTabItemProps, GalleryTabItemProps } from './types.js'\n\nconst SwiperLeftButtonIcon = (props: React.SVGProps<SVGSVGElement>) => {\n return (\n <svg width=\"48\" height=\"48\" viewBox=\"0 0 48 48\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <rect x=\"48\" y=\"48\" width=\"48\" height=\"48\" rx=\"24\" transform=\"rotate(-180 48 48)\" fill=\"white\" />\n <path\n d=\"M25.1035 16.8545C25.5372 16.3818 26.246 16.3818 26.6797 16.8545C27.1067 17.3201 27.1067 18.0706 26.6797 18.5361L21.668 24L26.6797 29.4639C27.1067 29.9294 27.1067 30.6799 26.6797 31.1455C26.246 31.6182 25.5372 31.6182 25.1035 31.1455L19.3203 24.8408C18.8933 24.3752 18.8933 23.6248 19.3203 23.1592L25.1035 16.8545Z\"\n fill=\"currentColor\"\n />\n </svg>\n )\n}\n\nconst SwiperRightButtonIcon = (props: React.SVGProps<SVGSVGElement>) => {\n return (\n <svg width=\"48\" height=\"48\" viewBox=\"0 0 48 48\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <rect width=\"48\" height=\"48\" rx=\"24\" transform=\"matrix(1 -8.74228e-08 -8.74228e-08 -1 0 48)\" fill=\"white\" />\n <path\n d=\"M22.8965 16.8545C22.4628 16.3818 21.754 16.3818 21.3203 16.8545C20.8933 17.3201 20.8933 18.0706 21.3203 18.5361L26.332 24L21.3203 29.4639C20.8933 29.9294 20.8933 30.6799 21.3203 31.1455C21.754 31.6182 22.4628 31.6182 22.8965 31.1455L28.6797 24.8408C29.1067 24.3752 29.1067 23.6248 28.6797 23.1592L22.8965 16.8545Z\"\n fill=\"currentColor\"\n />\n </svg>\n )\n}\n\nconst ProductGallery = () => {\n const { copyWriting } = useAiuiContext()\n const { product, variant, selectedOptions } = useBizProductContext()\n const defaultMediaData = useVariantMedia({ product, variant })\n const [swiper, setSwiper] = useState<SwiperType | null>(null)\n\n const customMediaList = variant?.metafields?.component?.custom_media_list\n let productList: ImageMedia[], sceneList: ImageMedia[], keyFeaturesList: ImageMedia[], videoList: VideoMedia[]\n\n if (customMediaList && customMediaList?.available) {\n productList = customMediaList?.product || []\n sceneList = customMediaList?.scenarios || []\n keyFeaturesList = customMediaList?.keyFeatures || []\n videoList = customMediaList?.video || []\n } else {\n productList = defaultMediaData?.productList\n sceneList = defaultMediaData?.sceneList\n keyFeaturesList = defaultMediaData?.keyFeaturesList\n videoList = defaultMediaData?.videoList\n }\n\n const allMedia = useMemo(() => [...productList, ...sceneList, ...videoList], [productList, sceneList, videoList])\n\n const galleryMap: Record<string, ImageMedia[] | VideoMedia[]> = {\n productList: productList,\n sceneList: sceneList,\n keyFeaturesList: keyFeaturesList,\n videoList: videoList,\n }\n\n const galleryTabs = useMemo(() => {\n const productTab =\n product?.payload?.components?.find((item: any) => item.componentKey === 'ProductGallery')?.data || []\n\n return productTab\n ?.map((item: any) => ({\n ...item,\n galleries: galleryMap[item?.galleries] || [],\n }))\n .filter((item: any) => item.galleries.length > 0)\n }, [product?.payload, galleryMap])\n\n const [activeGalleryTab, setActiveGalleryTab] = useState<GalleryTabItemProps>(galleryTabs?.[0])\n const [activeTabIndex, setActiveTabIndex] = useState(0)\n const [targetSlideIndex, setTargetSlideIndex] = useState<number | null>(null)\n\n // \u5207\u6362\u5230\u4E0B\u4E00\u4E2A tab\uFF08\u8DF3\u8F6C\u5230\u7B2C\u4E00\u5F20\uFF09\n const handleNextTab = useCallback(() => {\n const nextIndex = (activeTabIndex + 1) % galleryTabs.length\n setActiveTabIndex(nextIndex)\n setActiveGalleryTab(galleryTabs[nextIndex])\n setTargetSlideIndex(0) // \u8DF3\u8F6C\u5230\u7B2C\u4E00\u5F20\n }, [activeTabIndex, galleryTabs])\n\n // \u5207\u6362\u5230\u4E0A\u4E00\u4E2A tab\uFF08\u8DF3\u8F6C\u5230\u6700\u540E\u4E00\u5F20\uFF09\n const handlePrevTab = useCallback(() => {\n const prevIndex = activeTabIndex === 0 ? galleryTabs.length - 1 : activeTabIndex - 1\n setActiveTabIndex(prevIndex)\n setActiveGalleryTab(galleryTabs[prevIndex])\n // \u8DF3\u8F6C\u5230\u4E0A\u4E00\u4E2A tab \u7684\u6700\u540E\u4E00\u5F20\n const prevTabGalleries = galleryTabs[prevIndex]?.galleries || []\n setTargetSlideIndex(prevTabGalleries.length - 1)\n }, [activeTabIndex, galleryTabs])\n\n useEffect(() => {\n // \u5F53 variant \u53D8\u5316\u65F6\uFF0C\u5207\u6362\u5230\u7B2C\u4E00\u4E2A tab\n setActiveGalleryTab(galleryTabs[0])\n }, [variant?.id])\n\n // \u4E3A\u6BCF\u4E2A tab \u6E32\u67D3\u5BF9\u5E94\u7684\u7EC4\u4EF6\n const renderGalleryForTab = (tab: any, index: number) => {\n switch (tab?.galleryTabType) {\n case GalleryTabType.GALLERY_IMAGE_MAIN:\n return (\n <ProductGalleryTabImage\n {...tab}\n index={index}\n onNextTab={handleNextTab}\n onPrevTab={handlePrevTab}\n targetSlideIndex={targetSlideIndex}\n onSlideChange={() => setTargetSlideIndex(null)}\n />\n )\n case GalleryTabType.GALLERY_IMAGE_FEATURES:\n return (\n <ProductGalleryTabImage\n {...tab}\n index={index}\n onNextTab={handleNextTab}\n onPrevTab={handlePrevTab}\n targetSlideIndex={targetSlideIndex}\n onSlideChange={() => setTargetSlideIndex(null)}\n />\n )\n case GalleryTabType.GALLERY_IMAGE_SCENE:\n return (\n <ProductGalleryTabImage\n {...tab}\n index={index}\n onNextTab={handleNextTab}\n onPrevTab={handlePrevTab}\n targetSlideIndex={targetSlideIndex}\n onSlideChange={() => setTargetSlideIndex(null)}\n />\n )\n case GalleryTabType.GALLERY_VIDEO:\n return (\n <ProductGalleryTabVideo\n {...tab}\n onNextTab={handleNextTab}\n onPrevTab={handlePrevTab}\n targetSlideIndex={targetSlideIndex}\n onSlideChange={() => setTargetSlideIndex(null)}\n />\n )\n default:\n return null\n }\n }\n\n return (\n <div id=\"ipc-product-gallery\">\n <Root className=\"relative\" value={activeGalleryTab?.tabValue} defaultValue={galleryTabs?.[0]?.tabValue}>\n <div className=\"h-[420px] overflow-hidden tablet:h-[620px] desktop:rounded-2xl desktop:h-[560px] lg-desktop:h-[700px] bg-[#EAEAEC] desktop:relative \">\n {galleryTabs.map((item: any, index: number) => {\n return (\n <Content key={item.tabValue} className=\"h-full\" value={item.tabValue}>\n {renderGalleryForTab(item, index)}\n </Content>\n )\n })}\n </div>\n <ProductGalleryTab\n galleryTabs={galleryTabs}\n activeGalleryTab={activeGalleryTab}\n setActiveGalleryTab={setActiveGalleryTab}\n setActiveTabIndex={setActiveTabIndex}\n setTargetSlideIndex={setTargetSlideIndex}\n />\n </Root>\n </div>\n )\n}\n\nconst ProductGalleryTab = ({\n galleryTabs,\n activeGalleryTab,\n setActiveGalleryTab,\n setActiveTabIndex,\n setTargetSlideIndex,\n}: {\n galleryTabs: GalleryTabItemProps[]\n activeGalleryTab: GalleryTabItemProps\n setActiveGalleryTab: Dispatch<SetStateAction<GalleryTabItemProps>>\n setActiveTabIndex: Dispatch<SetStateAction<number>>\n setTargetSlideIndex: Dispatch<SetStateAction<number | null>>\n}) => {\n const { product } = useBizProductContext()\n const scrollContainerRef = useRef<HTMLDivElement>(null)\n return (\n <div className=\"absolute z-[2] bottom-4 left-4 right-4 laptop:left-16 laptop:right-16 flex justify-between items-center tablet:mt-3 desktop:static\">\n <List\n ref={scrollContainerRef}\n className=\"rounded-full bg-[#EAEAEC] p-1 laptop:p-0 desktop:p-1 overflow-x-auto\"\n style={{\n scrollbarWidth: 'none',\n msOverflowStyle: 'none',\n }}\n >\n <div className=\"whitespace-nowrap\">\n {galleryTabs?.map((item, index) => {\n return (\n <Trigger\n className={cn(\n 'lg-desktop:px-7 lg-desktop:pb-[14px] rounded-full font-bold lg-desktop:pt-[15px] lg-desktop:text-[16px] px-5 pb-[10px] pt-[11px] text-[14px] leading-tight',\n item.tabValue === activeGalleryTab?.tabValue && 'bg-white'\n )}\n onClick={el => {\n setActiveGalleryTab(item)\n setActiveTabIndex(index)\n setTargetSlideIndex(0) // \u624B\u52A8\u70B9\u51FB tab \u65F6\uFF0C\u8DF3\u8F6C\u5230\u7B2C\u4E00\u5F20\n if (scrollContainerRef.current) {\n const container = scrollContainerRef.current\n const button = el.currentTarget\n const scrollLeft = button.offsetLeft - container.offsetWidth / 2 + button.offsetWidth / 2\n container.scrollTo({\n left: scrollLeft,\n behavior: 'smooth',\n })\n }\n }}\n key={item.tabValue}\n value={item.tabValue}\n >\n {item.tabLabel}\n </Trigger>\n )\n })}\n </div>\n </List>\n <div className=\"laptop:gap-2 hidden laptop:flex\">\n {product.metafields?.global?.specifications && (\n <>\n <SpecsModal /> | <CompareModal />\n </>\n )}\n </div>\n </div>\n )\n}\n\nconst ProductGalleryTabImage = forwardRef<SwiperRef, ProductGalleryTabItemProps>((props, ref) => {\n const { locale = 'us', copyWriting } = useAiuiContext()\n const { variant, totalSavings } = useBizProductContext()\n const paginationRef = useRef<HTMLDivElement>(null)\n const [thumbsSwiper, setThumbsSwiper] = useState<SwiperType | null>(null)\n const [isStart, setStart] = useState(true)\n const [isEnd, setEnd] = useState(false)\n const [swiper, setSwiper] = useState<SwiperType | null>(null)\n const commentRef = useRef<HTMLDivElement>(null)\n const [shouldScroll, setShouldScroll] = useState(false)\n\n const imageClassName = useMemo(() => {\n if (props?.galleryTabType === GalleryTabType.GALLERY_IMAGE_MAIN) {\n return 'size-[240px] mx-auto mt-[42px] tablet:mt-16 tablet:size-[420px] lg-desktop:size-[560px]'\n } else if (props?.galleryTabType === GalleryTabType.GALLERY_IMAGE_FEATURES) {\n // return '420px'\n } else if (props?.galleryTabType === GalleryTabType.GALLERY_IMAGE_SCENE) {\n // return '560px'\n }\n }, [props?.galleryTabType])\n\n // \u5904\u7406\u5DE6\u53F3\u6309\u94AE\u70B9\u51FB\uFF0C\u652F\u6301\u8DE8 tab \u5FAA\u73AF\n const handlePrevClick = useCallback(() => {\n if (swiper?.isBeginning) {\n // \u5F53\u524D tab \u5DF2\u7ECF\u662F\u7B2C\u4E00\u5F20\uFF0C\u5207\u6362\u5230\u4E0A\u4E00\u4E2A tab\n props.onPrevTab?.()\n } else {\n // \u5426\u5219\u5728\u5F53\u524D tab \u5185\u5207\u6362\n swiper?.slidePrev()\n }\n }, [swiper, props])\n\n const handleNextClick = useCallback(() => {\n if (swiper?.isEnd) {\n // \u5F53\u524D tab \u5DF2\u7ECF\u662F\u6700\u540E\u4E00\u5F20\uFF0C\u5207\u6362\u5230\u4E0B\u4E00\u4E2A tab\n props.onNextTab?.()\n } else {\n // \u5426\u5219\u5728\u5F53\u524D tab \u5185\u5207\u6362\n swiper?.slideNext()\n }\n }, [swiper, props])\n\n // \u76D1\u542C targetSlideIndex\uFF0C\u5F53 tab \u5207\u6362\u65F6\u8DF3\u8F6C\u5230\u6307\u5B9A\u7684 slide\n useEffect(() => {\n if (swiper && !!props.targetSlideIndex) {\n swiper.slideTo(props.targetSlideIndex, 0) // 0 \u8868\u793A\u7ACB\u5373\u8DF3\u8F6C\uFF0C\u65E0\u52A8\u753B\n props.onSlideChange?.() // \u6E05\u9664 targetSlideIndex\n }\n }, [swiper, props.targetSlideIndex, props])\n\n // \u68C0\u6D4B\u6587\u672C\u5185\u5BB9\u662F\u5426\u8D85\u8FC7\u5BB9\u5668\u9AD8\u5EA6\uFF0C\u51B3\u5B9A\u662F\u5426\u9700\u8981\u6EDA\u52A8\n useEffect(() => {\n if (commentRef.current) {\n const container = commentRef.current\n const contentHeight = container.scrollHeight\n const containerHeight = container.clientHeight\n const needsScroll = contentHeight > containerHeight\n setShouldScroll(needsScroll)\n }\n }, [])\n\n return (\n <div className=\"h-full [&_.swiper-button]:hover:opacity-100\">\n <Swiper\n ref={ref}\n className=\"h-full\"\n // navigation={{\n // nextEl: `.ipc-product-gallery-${props?.id}-custom-swiper-button-next`,\n // prevEl: `.ipc-product-gallery-${props?.id}-custom-swiper-button-prev`,\n // }}\n onSwiper={setSwiper}\n onProgress={swiper => {\n setStart(swiper.isBeginning)\n setEnd(swiper.isEnd)\n }}\n pagination={{\n clickable: true,\n el: paginationRef.current,\n }}\n thumbs={{ swiper: thumbsSwiper }}\n modules={[Mousewheel, Thumbs, Navigation, Pagination]}\n mousewheel={{\n forceToAxis: true,\n }}\n breakpoints={{\n 0: {\n slidesPerView: 1,\n freeMode: false,\n },\n }}\n >\n {props?.galleries?.map((item, jIndex) => {\n return (\n <SwiperSlide className=\"h-full\" key={props?.id + 'SwiperSlideItem' + jIndex}>\n <Picture\n source={item?.image?.url}\n alt={item?.image?.altText}\n className={cn('h-full', imageClassName)}\n imgClassName=\"object-cover h-full\"\n />\n </SwiperSlide>\n )\n })}\n </Swiper>\n {variant.availableForSale && !!totalSavings && !props.index && (\n <Badge\n size=\"lg\"\n className=\"absolute bg-brand text-white top-3 laptop:left-16 laptop:top-5 left-4 z-[2] desktop:left-6 desktop:top-6\"\n >\n {`${formatPrice({\n amount: totalSavings,\n currencyCode: variant?.price?.currencyCode,\n locale: locale,\n })} ${copyWriting?.off}`}\n </Badge>\n )}\n <div\n className={cn(\n 'hidden tablet:opacity-0 tablet:block tablet:absolute tablet:top-1/2 laptop:left-16 tablet:left-6 desktop:left-6 z-10 -translate-y-1/2 cursor-pointer',\n // `ipc-product-gallery-${props?.id}-custom-swiper-button-prev`,\n `swiper-button`\n )}\n onClick={handlePrevClick}\n >\n <SwiperLeftButtonIcon className={cn('tablet:size-10 lg-desktop:size-12')} />\n </div>\n <div\n className={cn(\n 'hidden tablet:block tablet:opacity-0 tablet:absolute tablet:top-1/2 laptop:right-16 tablet:right-6 z-10 desktop:right-6 -translate-y-1/2 cursor-pointer',\n // `ipc-product-gallery-${props?.id}-custom-swiper-button-next`,\n `swiper-button`\n )}\n onClick={handleNextClick}\n >\n <SwiperRightButtonIcon className={cn('tablet:size-10 lg-desktop:size-12')} />\n </div>\n {/* {props?.galleries?.map((item, jIndex) => {\n return (\n <Picture\n key={props?.id + 'SwiperSlideItem' + jIndex}\n source={item?.image?.url}\n alt={item?.image?.altText}\n className=\"h-full\"\n imgClassName=\"object-cover h-full\"\n />\n )\n })} */}\n <div className=\"absolute bottom-[94px] tablet:bottom-[70px] left-4 right-4 z-10 items-center tablet:flex justify-between laptop:left-16 laptop:right-16 desktop:bottom-[20px] desktop:right-6 desktop:left-6\">\n <div className=\"hidden tablet:block\">\n <Swiper\n className=\"flex items-center justify-between\"\n onSwiper={setThumbsSwiper}\n spaceBetween={12}\n slidesPerView={6}\n freeMode={true}\n watchSlidesProgress={true}\n modules={[Navigation, Thumbs]}\n >\n {props?.galleries?.map((item, jIndex) => (\n <SwiperSlide\n key={props?.id + 'SwiperSlideThumbItem' + jIndex}\n className=\"!w-auto [&.swiper-slide-thumb-active]:border [&.swiper-slide-thumb-active]:rounded [&.swiper-slide-thumb-active]:border-brand\"\n >\n <Picture\n source={item.image?.url}\n alt={item.image?.altText}\n className=\"size-10 lg-desktop:size-12 overflow-hidden bg-white rounded\"\n imgClassName=\"object-contain h-full\"\n />\n </SwiperSlide>\n ))}\n </Swiper>\n </div>\n {!props?.index && (\n <div className=\"flex items-center gap-2\">\n <Picture\n source={props?.comment?.avatar?.url}\n className=\"size-8 laptop:size-10 rounded-full shrink-0\"\n imgClassName=\"object-cover \"\n />\n <div className=\"overflow-hidden max-w-[528px] relative\">\n <div\n ref={commentRef}\n className={cn('h-10 lg-desktop:h-12', shouldScroll ? 'animate-marquee-scroll' : '')}\n style={{\n animationDuration: `3s`,\n }}\n >\n <Text\n html={props?.comment?.content}\n className=\"text-sm lg-desktop:text-base font-bold text-[#1D1D1F]\"\n />\n </div>\n </div>\n </div>\n )}\n </div>\n <div ref={paginationRef} className=\"tablet:hidden text-center absolute !bottom-[70px] left-4 right-4 z-10\" />\n </div>\n )\n})\n\nconst ProductGalleryTabVideo = (props: ProductGalleryTabItemProps) => {\n const [swiper, setSwiper] = useState<SwiperType | null>(null)\n\n // \u5904\u7406\u5DE6\u53F3\u6309\u94AE\u70B9\u51FB\uFF0C\u652F\u6301\u8DE8 tab \u5FAA\u73AF\n const handlePrevClick = useCallback(() => {\n if (swiper?.isBeginning) {\n // \u5F53\u524D tab \u5DF2\u7ECF\u662F\u7B2C\u4E00\u5F20\uFF0C\u5207\u6362\u5230\u4E0A\u4E00\u4E2A tab\n props.onPrevTab?.()\n } else {\n // \u5426\u5219\u5728\u5F53\u524D tab \u5185\u5207\u6362\n swiper?.slidePrev()\n }\n }, [swiper, props])\n\n const handleNextClick = useCallback(() => {\n if (swiper?.isEnd) {\n // \u5F53\u524D tab \u5DF2\u7ECF\u662F\u6700\u540E\u4E00\u5F20\uFF0C\u5207\u6362\u5230\u4E0B\u4E00\u4E2A tab\n props.onNextTab?.()\n } else {\n // \u5426\u5219\u5728\u5F53\u524D tab \u5185\u5207\u6362\n swiper?.slideNext()\n }\n }, [swiper, props])\n\n // \u76D1\u542C targetSlideIndex\uFF0C\u5F53 tab \u5207\u6362\u65F6\u8DF3\u8F6C\u5230\u6307\u5B9A\u7684 slide\n useEffect(() => {\n if (swiper && props.targetSlideIndex !== null && props.targetSlideIndex !== undefined) {\n swiper.slideTo(props.targetSlideIndex, 0) // 0 \u8868\u793A\u7ACB\u5373\u8DF3\u8F6C\uFF0C\u65E0\u52A8\u753B\n props.onSlideChange?.() // \u6E05\u9664 targetSlideIndex\n }\n }, [swiper, props.targetSlideIndex, props])\n\n return (\n <div className=\"h-full [&_.swiper-button]:hover:opacity-100\">\n <Swiper\n className=\"h-full\"\n onSwiper={setSwiper}\n // navigation={{\n // nextEl: `.ipc-product-gallery-${props?.id}-custom-swiper-button-next`,\n // prevEl: `.ipc-product-gallery-${props?.id}-custom-swiper-button-prev`,\n // }}\n modules={[Mousewheel, Thumbs, Navigation, Pagination]}\n mousewheel={{\n forceToAxis: true,\n }}\n breakpoints={{\n 0: {\n slidesPerView: 1,\n freeMode: false,\n },\n }}\n >\n {props?.galleries?.map((item, jIndex) => {\n return (\n <SwiperSlide className=\"h-full\" key={props?.id + 'SwiperSlideItem' + jIndex}>\n <video controls className=\"size-full\">\n <track kind=\"captions\" />\n <source src={item?.sources?.[0]?.url} type=\"video/mp4\" />\n <source src={item?.sources?.[0]?.url} type=\"video/webm\" />\n <source src={item?.sources?.[0]?.url} type=\"video/ogg\" />\n </video>\n </SwiperSlide>\n )\n })}\n </Swiper>\n <div\n className={cn(\n 'hidden swiper-button tablet:block tablet:opacity-0 tablet:absolute tablet:top-1/2 tablet:left-6 z-10 -translate-y-1/2 cursor-pointer'\n // `ipc-product-gallery-${props?.id}-custom-swiper-button-prev`\n )}\n onClick={handlePrevClick}\n >\n <SwiperLeftButtonIcon className=\"tablet:size-10 lg-desktop:size-12\" />\n </div>\n <div\n className={cn(\n 'hidden tablet:block swiper-button tablet:opacity-0 tablet:absolute tablet:top-1/2 tablet:right-6 z-10 -translate-y-1/2 cursor-pointer'\n // `ipc-product-gallery-${props?.id}-custom-swiper-button-next`\n )}\n onClick={handleNextClick}\n >\n <SwiperRightButtonIcon className=\"tablet:size-10 lg-desktop:size-12\" />\n </div>\n </div>\n )\n}\n\nconst ProductGalleryTab3DView = (props: ProductGalleryTabItemProps) => {\n return <div>3D View</div>\n}\n\nexport default ProductGallery\n"],
5
- "mappings": "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",
6
- "names": ["Fragment", "jsx", "jsxs", "useAiuiContext", "Text", "Picture", "Badge", "useCallback", "useMemo", "useState", "forwardRef", "useRef", "useEffect", "Swiper", "SwiperSlide", "Navigation", "Mousewheel", "Thumbs", "Pagination", "cn", "GalleryTabType", "Content", "List", "Root", "Trigger", "useBizProductContext", "useVariantMedia", "SpecsModal", "CompareModal", "formatPrice", "SwiperLeftButtonIcon", "props", "SwiperRightButtonIcon", "ProductGallery", "copyWriting", "product", "variant", "selectedOptions", "defaultMediaData", "swiper", "setSwiper", "customMediaList", "productList", "sceneList", "keyFeaturesList", "videoList", "allMedia", "galleryMap", "galleryTabs", "item", "activeGalleryTab", "setActiveGalleryTab", "activeTabIndex", "setActiveTabIndex", "targetSlideIndex", "setTargetSlideIndex", "handleNextTab", "nextIndex", "handlePrevTab", "prevIndex", "prevTabGalleries", "renderGalleryForTab", "tab", "index", "ProductGalleryTabImage", "ProductGalleryTabVideo", "ProductGalleryTab", "scrollContainerRef", "el", "container", "button", "scrollLeft", "ref", "locale", "totalSavings", "paginationRef", "thumbsSwiper", "setThumbsSwiper", "isStart", "setStart", "isEnd", "setEnd", "commentRef", "shouldScroll", "setShouldScroll", "imageClassName", "handlePrevClick", "handleNextClick", "contentHeight", "containerHeight", "needsScroll", "jIndex", "ProductGalleryTab3DView", "ProductGallery_default"]
4
+ "sourcesContent": ["import { useAiuiContext } from '../../../../AiuiProvider/index.js'\nimport { Text, Picture, Button, Badge } from '../../../../../components'\nimport {\n useCallback,\n useMemo,\n useState,\n forwardRef,\n useRef,\n type RefObject,\n useEffect,\n type Dispatch,\n type SetStateAction,\n} from 'react'\nimport { Swiper, SwiperSlide, type SwiperRef } from 'swiper/react'\nimport { Navigation, Mousewheel, Thumbs, Pagination } from 'swiper/modules'\nimport { cn } from '../../../../../helpers/index.js'\nimport { GalleryTabType } from './types.js'\nimport { Content, List, Root, Trigger } from '@radix-ui/react-tabs'\nimport { useBizProductContext } from '../../../BizProductProvider.js'\nimport { useVariantMedia } from '../../../hooks/use-variant-media.js'\nimport { SpecsModal } from './components/SpecsModal.js'\nimport CompareModal from './components/CompareModal.js'\nimport { formatPrice } from '../../../utils/index.js'\n\nimport type { Swiper as SwiperType } from 'swiper'\nimport type { ImageMedia, VideoMedia } from '../../../hooks/use-variant-media.js'\nimport type { ProductGalleryProps, ProductGalleryTabItemProps, GalleryTabItemProps } from './types.js'\n\nconst SwiperLeftButtonIcon = (props: React.SVGProps<SVGSVGElement>) => {\n return (\n <svg width=\"48\" height=\"48\" viewBox=\"0 0 48 48\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <rect x=\"48\" y=\"48\" width=\"48\" height=\"48\" rx=\"24\" transform=\"rotate(-180 48 48)\" fill=\"white\" />\n <path\n d=\"M25.1035 16.8545C25.5372 16.3818 26.246 16.3818 26.6797 16.8545C27.1067 17.3201 27.1067 18.0706 26.6797 18.5361L21.668 24L26.6797 29.4639C27.1067 29.9294 27.1067 30.6799 26.6797 31.1455C26.246 31.6182 25.5372 31.6182 25.1035 31.1455L19.3203 24.8408C18.8933 24.3752 18.8933 23.6248 19.3203 23.1592L25.1035 16.8545Z\"\n fill=\"currentColor\"\n />\n </svg>\n )\n}\n\nconst SwiperRightButtonIcon = (props: React.SVGProps<SVGSVGElement>) => {\n return (\n <svg width=\"48\" height=\"48\" viewBox=\"0 0 48 48\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <rect width=\"48\" height=\"48\" rx=\"24\" transform=\"matrix(1 -8.74228e-08 -8.74228e-08 -1 0 48)\" fill=\"white\" />\n <path\n d=\"M22.8965 16.8545C22.4628 16.3818 21.754 16.3818 21.3203 16.8545C20.8933 17.3201 20.8933 18.0706 21.3203 18.5361L26.332 24L21.3203 29.4639C20.8933 29.9294 20.8933 30.6799 21.3203 31.1455C21.754 31.6182 22.4628 31.6182 22.8965 31.1455L28.6797 24.8408C29.1067 24.3752 29.1067 23.6248 28.6797 23.1592L22.8965 16.8545Z\"\n fill=\"currentColor\"\n />\n </svg>\n )\n}\n\nconst ProductGallery = () => {\n const { copyWriting } = useAiuiContext()\n const { product, variant, selectedOptions } = useBizProductContext()\n const defaultMediaData = useVariantMedia({ product, variant })\n const [swiper, setSwiper] = useState<SwiperType | null>(null)\n\n const customMediaList = variant?.metafields?.component?.custom_media_list\n let productList: ImageMedia[], sceneList: ImageMedia[], keyFeaturesList: ImageMedia[], videoList: VideoMedia[]\n\n if (customMediaList && customMediaList?.available) {\n productList = customMediaList?.product || []\n sceneList = customMediaList?.scenarios || []\n keyFeaturesList = customMediaList?.keyFeatures || []\n videoList = customMediaList?.video || []\n } else {\n productList = defaultMediaData?.productList\n sceneList = defaultMediaData?.sceneList\n keyFeaturesList = defaultMediaData?.keyFeaturesList\n videoList = defaultMediaData?.videoList\n }\n\n const allMedia = useMemo(() => [...productList, ...sceneList, ...videoList], [productList, sceneList, videoList])\n\n const galleryMap: Record<string, ImageMedia[] | VideoMedia[]> = {\n productList: productList,\n sceneList: sceneList,\n keyFeaturesList: keyFeaturesList,\n videoList: videoList,\n }\n\n const galleryTabs = useMemo(() => {\n const productTab =\n product?.payload?.components?.find((item: any) => item.componentKey === 'ProductGallery')?.data || []\n\n return productTab\n ?.map((item: any) => ({\n ...item,\n galleries: galleryMap[item?.galleries] || [],\n }))\n .filter((item: any) => item.galleries.length > 0)\n }, [product?.payload, galleryMap])\n\n const [activeGalleryTab, setActiveGalleryTab] = useState<GalleryTabItemProps>(galleryTabs?.[0])\n const [activeTabIndex, setActiveTabIndex] = useState(0)\n const [targetSlideIndex, setTargetSlideIndex] = useState<number | null>(null)\n\n // \u5207\u6362\u5230\u4E0B\u4E00\u4E2A tab\uFF08\u8DF3\u8F6C\u5230\u7B2C\u4E00\u5F20\uFF09\n const handleNextTab = useCallback(() => {\n const nextIndex = (activeTabIndex + 1) % galleryTabs.length\n setActiveTabIndex(nextIndex)\n setActiveGalleryTab(galleryTabs[nextIndex])\n setTargetSlideIndex(0) // \u8DF3\u8F6C\u5230\u7B2C\u4E00\u5F20\n }, [activeTabIndex, galleryTabs])\n\n // \u5207\u6362\u5230\u4E0A\u4E00\u4E2A tab\uFF08\u8DF3\u8F6C\u5230\u6700\u540E\u4E00\u5F20\uFF09\n const handlePrevTab = useCallback(() => {\n const prevIndex = activeTabIndex === 0 ? galleryTabs.length - 1 : activeTabIndex - 1\n setActiveTabIndex(prevIndex)\n setActiveGalleryTab(galleryTabs[prevIndex])\n // \u8DF3\u8F6C\u5230\u4E0A\u4E00\u4E2A tab \u7684\u6700\u540E\u4E00\u5F20\n const prevTabGalleries = galleryTabs[prevIndex]?.galleries || []\n setTargetSlideIndex(prevTabGalleries.length - 1)\n }, [activeTabIndex, galleryTabs])\n\n useEffect(() => {\n // \u5F53 variant \u53D8\u5316\u65F6\uFF0C\u5207\u6362\u5230\u7B2C\u4E00\u4E2A tab\n setActiveGalleryTab(galleryTabs[0])\n setActiveTabIndex(0)\n }, [variant?.id])\n\n // \u4E3A\u6BCF\u4E2A tab \u6E32\u67D3\u5BF9\u5E94\u7684\u7EC4\u4EF6\n const renderGalleryForTab = (tab: any, index: number) => {\n switch (tab?.galleryTabType) {\n case GalleryTabType.GALLERY_IMAGE_MAIN:\n return (\n <ProductGalleryTabImage\n {...tab}\n index={index}\n onNextTab={handleNextTab}\n onPrevTab={handlePrevTab}\n targetSlideIndex={targetSlideIndex}\n onSlideChange={() => setTargetSlideIndex(null)}\n />\n )\n case GalleryTabType.GALLERY_IMAGE_FEATURES:\n return (\n <ProductGalleryTabImage\n {...tab}\n index={index}\n onNextTab={handleNextTab}\n onPrevTab={handlePrevTab}\n targetSlideIndex={targetSlideIndex}\n onSlideChange={() => setTargetSlideIndex(null)}\n />\n )\n case GalleryTabType.GALLERY_IMAGE_SCENE:\n return (\n <ProductGalleryTabImage\n {...tab}\n index={index}\n onNextTab={handleNextTab}\n onPrevTab={handlePrevTab}\n targetSlideIndex={targetSlideIndex}\n onSlideChange={() => setTargetSlideIndex(null)}\n />\n )\n case GalleryTabType.GALLERY_VIDEO:\n return (\n <ProductGalleryTabVideo\n {...tab}\n onNextTab={handleNextTab}\n onPrevTab={handlePrevTab}\n targetSlideIndex={targetSlideIndex}\n onSlideChange={() => setTargetSlideIndex(null)}\n />\n )\n default:\n return null\n }\n }\n\n return (\n <div id=\"ipc-product-gallery\">\n <Root className=\"relative\" value={activeGalleryTab?.tabValue} defaultValue={galleryTabs?.[0]?.tabValue}>\n <div className=\"h-[420px] overflow-hidden tablet:h-[620px] desktop:rounded-2xl desktop:h-[560px] lg-desktop:h-[700px] bg-[#EAEAEC] desktop:relative \">\n {galleryTabs.map((item: any, index: number) => {\n return (\n <Content key={item.tabValue} className=\"h-full\" value={item.tabValue}>\n {renderGalleryForTab(item, index)}\n </Content>\n )\n })}\n </div>\n <ProductGalleryTab\n galleryTabs={galleryTabs}\n activeGalleryTab={activeGalleryTab}\n setActiveGalleryTab={setActiveGalleryTab}\n setActiveTabIndex={setActiveTabIndex}\n setTargetSlideIndex={setTargetSlideIndex}\n />\n </Root>\n </div>\n )\n}\n\nconst ProductGalleryTab = ({\n galleryTabs,\n activeGalleryTab,\n setActiveGalleryTab,\n setActiveTabIndex,\n setTargetSlideIndex,\n}: {\n galleryTabs: GalleryTabItemProps[]\n activeGalleryTab: GalleryTabItemProps\n setActiveGalleryTab: Dispatch<SetStateAction<GalleryTabItemProps>>\n setActiveTabIndex: Dispatch<SetStateAction<number>>\n setTargetSlideIndex: Dispatch<SetStateAction<number | null>>\n}) => {\n const { product } = useBizProductContext()\n const scrollContainerRef = useRef<HTMLDivElement>(null)\n return (\n <div className=\"absolute z-[2] bottom-4 left-4 right-4 laptop:left-16 laptop:right-16 flex justify-between items-center tablet:mt-3 desktop:static\">\n <List\n ref={scrollContainerRef}\n className=\"rounded-full bg-[#EAEAEC] p-1 laptop:p-0 desktop:p-1 overflow-x-auto\"\n style={{\n scrollbarWidth: 'none',\n msOverflowStyle: 'none',\n }}\n >\n <div className=\"whitespace-nowrap\">\n {galleryTabs?.map((item, index) => {\n return (\n <Trigger\n className={cn(\n 'lg-desktop:px-7 lg-desktop:pb-[14px] rounded-full font-bold lg-desktop:pt-[15px] lg-desktop:text-[16px] px-5 pb-[10px] pt-[11px] text-[14px] leading-tight',\n item.tabValue === activeGalleryTab?.tabValue && 'bg-white'\n )}\n onClick={el => {\n setActiveGalleryTab(item)\n setActiveTabIndex(index)\n setTargetSlideIndex(0) // \u624B\u52A8\u70B9\u51FB tab \u65F6\uFF0C\u8DF3\u8F6C\u5230\u7B2C\u4E00\u5F20\n if (scrollContainerRef.current) {\n const container = scrollContainerRef.current\n const button = el.currentTarget\n const scrollLeft = button.offsetLeft - container.offsetWidth / 2 + button.offsetWidth / 2\n container.scrollTo({\n left: scrollLeft,\n behavior: 'smooth',\n })\n }\n }}\n key={item.tabValue}\n value={item.tabValue}\n >\n {item.tabLabel}\n </Trigger>\n )\n })}\n </div>\n </List>\n <div className=\"laptop:gap-2 hidden laptop:flex\">\n {product.metafields?.global?.specifications && (\n <>\n <SpecsModal /> | <CompareModal />\n </>\n )}\n </div>\n </div>\n )\n}\n\nconst ProductGalleryTabImage = forwardRef<SwiperRef, ProductGalleryTabItemProps>((props, ref) => {\n const { locale = 'us', copyWriting } = useAiuiContext()\n const { variant, totalSavings } = useBizProductContext()\n const paginationRef = useRef<HTMLDivElement>(null)\n const [thumbsSwiper, setThumbsSwiper] = useState<SwiperType | null>(null)\n const [isStart, setStart] = useState(true)\n const [isEnd, setEnd] = useState(false)\n const [swiper, setSwiper] = useState<SwiperType | null>(null)\n const commentRef = useRef<HTMLDivElement>(null)\n const [shouldScroll, setShouldScroll] = useState(false)\n\n const imageClassName = useMemo(() => {\n if (props?.galleryTabType === GalleryTabType.GALLERY_IMAGE_MAIN) {\n return 'size-[240px] mx-auto mt-[42px] tablet:mt-16 tablet:size-[420px] lg-desktop:size-[560px]'\n } else if (props?.galleryTabType === GalleryTabType.GALLERY_IMAGE_FEATURES) {\n // return '420px'\n } else if (props?.galleryTabType === GalleryTabType.GALLERY_IMAGE_SCENE) {\n // return '560px'\n }\n }, [props?.galleryTabType])\n\n // \u5904\u7406\u5DE6\u53F3\u6309\u94AE\u70B9\u51FB\uFF0C\u652F\u6301\u8DE8 tab \u5FAA\u73AF\n const handlePrevClick = useCallback(() => {\n if (swiper?.isBeginning) {\n // \u5F53\u524D tab \u5DF2\u7ECF\u662F\u7B2C\u4E00\u5F20\uFF0C\u5207\u6362\u5230\u4E0A\u4E00\u4E2A tab\n props.onPrevTab?.()\n } else {\n // \u5426\u5219\u5728\u5F53\u524D tab \u5185\u5207\u6362\n swiper?.slidePrev()\n }\n }, [swiper, props])\n\n const handleNextClick = useCallback(() => {\n if (swiper?.isEnd) {\n // \u5F53\u524D tab \u5DF2\u7ECF\u662F\u6700\u540E\u4E00\u5F20\uFF0C\u5207\u6362\u5230\u4E0B\u4E00\u4E2A tab\n props.onNextTab?.()\n } else {\n // \u5426\u5219\u5728\u5F53\u524D tab \u5185\u5207\u6362\n swiper?.slideNext()\n }\n }, [swiper, props])\n\n // \u76D1\u542C targetSlideIndex\uFF0C\u5F53 tab \u5207\u6362\u65F6\u8DF3\u8F6C\u5230\u6307\u5B9A\u7684 slide\n useEffect(() => {\n if (swiper && !!props.targetSlideIndex) {\n swiper.slideTo(props.targetSlideIndex, 0) // 0 \u8868\u793A\u7ACB\u5373\u8DF3\u8F6C\uFF0C\u65E0\u52A8\u753B\n props.onSlideChange?.() // \u6E05\u9664 targetSlideIndex\n }\n }, [swiper, props.targetSlideIndex, props])\n\n // \u68C0\u6D4B\u6587\u672C\u5185\u5BB9\u662F\u5426\u8D85\u8FC7\u5BB9\u5668\u9AD8\u5EA6\uFF0C\u51B3\u5B9A\u662F\u5426\u9700\u8981\u6EDA\u52A8\n useEffect(() => {\n if (commentRef.current) {\n const container = commentRef.current\n const contentHeight = container.scrollHeight\n const containerHeight = container.clientHeight\n const needsScroll = contentHeight > containerHeight\n setShouldScroll(needsScroll)\n }\n }, [])\n\n return (\n <div className=\"h-full [&_.swiper-button]:hover:opacity-100\">\n <Swiper\n ref={ref}\n className=\"h-full\"\n // navigation={{\n // nextEl: `.ipc-product-gallery-${props?.id}-custom-swiper-button-next`,\n // prevEl: `.ipc-product-gallery-${props?.id}-custom-swiper-button-prev`,\n // }}\n onSwiper={setSwiper}\n onProgress={swiper => {\n setStart(swiper.isBeginning)\n setEnd(swiper.isEnd)\n }}\n onTouchEnd={(swiper, event) => {\n if (swiper.isBeginning && swiper.swipeDirection === 'prev') {\n handlePrevClick()\n } else if (swiper.isEnd && swiper.swipeDirection === 'next') {\n handleNextClick()\n }\n }}\n pagination={{\n clickable: true,\n el: paginationRef.current,\n }}\n thumbs={{ swiper: thumbsSwiper }}\n modules={[Mousewheel, Thumbs, Navigation, Pagination]}\n mousewheel={{\n forceToAxis: true,\n }}\n breakpoints={{\n 0: {\n slidesPerView: 1,\n freeMode: false,\n },\n }}\n >\n {props?.galleries?.map((item, jIndex) => {\n return (\n <SwiperSlide className=\"h-full\" key={props?.id + 'SwiperSlideItem' + jIndex}>\n <Picture\n source={item?.image?.url}\n alt={item?.image?.altText}\n className={cn('h-full', imageClassName)}\n imgClassName=\"object-cover h-full\"\n />\n </SwiperSlide>\n )\n })}\n </Swiper>\n {variant.availableForSale && !!totalSavings && !props.index && (\n <Badge\n size=\"lg\"\n className=\"absolute bg-brand text-white top-3 laptop:left-16 laptop:top-5 left-4 z-[2] desktop:left-6 desktop:top-6\"\n >\n {`${formatPrice({\n amount: totalSavings,\n currencyCode: variant?.price?.currencyCode,\n locale: locale,\n })} ${copyWriting?.off}`}\n </Badge>\n )}\n <div\n className={cn(\n 'hidden tablet:opacity-0 tablet:block tablet:absolute tablet:top-1/2 laptop:left-16 tablet:left-6 desktop:left-6 z-10 -translate-y-1/2 cursor-pointer',\n // `ipc-product-gallery-${props?.id}-custom-swiper-button-prev`,\n `swiper-button`\n )}\n onClick={handlePrevClick}\n >\n <SwiperLeftButtonIcon className={cn('tablet:size-10 lg-desktop:size-12')} />\n </div>\n <div\n className={cn(\n 'hidden tablet:block tablet:opacity-0 tablet:absolute tablet:top-1/2 laptop:right-16 tablet:right-6 z-10 desktop:right-6 -translate-y-1/2 cursor-pointer',\n // `ipc-product-gallery-${props?.id}-custom-swiper-button-next`,\n `swiper-button`\n )}\n onClick={handleNextClick}\n >\n <SwiperRightButtonIcon className={cn('tablet:size-10 lg-desktop:size-12')} />\n </div>\n {/* {props?.galleries?.map((item, jIndex) => {\n return (\n <Picture\n key={props?.id + 'SwiperSlideItem' + jIndex}\n source={item?.image?.url}\n alt={item?.image?.altText}\n className=\"h-full\"\n imgClassName=\"object-cover h-full\"\n />\n )\n })} */}\n <div className=\"absolute bottom-[94px] tablet:bottom-[70px] left-4 right-4 z-10 items-center tablet:flex justify-between laptop:left-16 laptop:right-16 desktop:bottom-[20px] desktop:right-6 desktop:left-6\">\n <div className=\"hidden tablet:block\">\n <Swiper\n className=\"flex items-center justify-between\"\n onSwiper={setThumbsSwiper}\n spaceBetween={12}\n slidesPerView={6}\n freeMode={true}\n watchSlidesProgress={true}\n modules={[Navigation, Thumbs]}\n >\n {props?.galleries?.map((item, jIndex) => (\n <SwiperSlide\n key={props?.id + 'SwiperSlideThumbItem' + jIndex}\n className=\"!w-auto [&.swiper-slide-thumb-active]:border [&.swiper-slide-thumb-active]:rounded [&.swiper-slide-thumb-active]:border-brand\"\n >\n <Picture\n source={item.image?.url}\n alt={item.image?.altText}\n className=\"size-10 lg-desktop:size-12 overflow-hidden bg-white rounded\"\n imgClassName=\"object-contain h-full\"\n />\n </SwiperSlide>\n ))}\n </Swiper>\n </div>\n {!props?.index && (\n <div className=\"flex items-center gap-2\">\n <Picture\n source={props?.comment?.avatar?.url}\n className=\"size-8 laptop:size-10 rounded-full shrink-0\"\n imgClassName=\"object-cover \"\n />\n <div className=\"overflow-hidden max-w-[528px] relative\">\n <div\n ref={commentRef}\n className={cn('h-10 lg-desktop:h-12', shouldScroll ? 'animate-marquee-scroll' : '')}\n style={{\n animationDuration: `3s`,\n }}\n >\n <Text\n html={props?.comment?.content}\n className=\"text-sm lg-desktop:text-base font-bold text-[#1D1D1F]\"\n />\n </div>\n </div>\n </div>\n )}\n </div>\n <div\n ref={paginationRef}\n className=\"tablet:hidden [&_.swiper-pagination-bullet]:bg-white [&_.swiper-pagination-bullet]:opacity-100 [&_.swiper-pagination-bullet]:bg-white text-center absolute !bottom-[70px] left-4 right-4 z-10\"\n />\n </div>\n )\n})\n\nconst ProductGalleryTabVideo = (props: ProductGalleryTabItemProps) => {\n const [swiper, setSwiper] = useState<SwiperType | null>(null)\n\n // \u5904\u7406\u5DE6\u53F3\u6309\u94AE\u70B9\u51FB\uFF0C\u652F\u6301\u8DE8 tab \u5FAA\u73AF\n const handlePrevClick = useCallback(() => {\n if (swiper?.isBeginning) {\n // \u5F53\u524D tab \u5DF2\u7ECF\u662F\u7B2C\u4E00\u5F20\uFF0C\u5207\u6362\u5230\u4E0A\u4E00\u4E2A tab\n props.onPrevTab?.()\n } else {\n // \u5426\u5219\u5728\u5F53\u524D tab \u5185\u5207\u6362\n swiper?.slidePrev()\n }\n }, [swiper, props])\n\n const handleNextClick = useCallback(() => {\n if (swiper?.isEnd) {\n // \u5F53\u524D tab \u5DF2\u7ECF\u662F\u6700\u540E\u4E00\u5F20\uFF0C\u5207\u6362\u5230\u4E0B\u4E00\u4E2A tab\n props.onNextTab?.()\n } else {\n // \u5426\u5219\u5728\u5F53\u524D tab \u5185\u5207\u6362\n swiper?.slideNext()\n }\n }, [swiper, props])\n\n // \u76D1\u542C targetSlideIndex\uFF0C\u5F53 tab \u5207\u6362\u65F6\u8DF3\u8F6C\u5230\u6307\u5B9A\u7684 slide\n useEffect(() => {\n if (swiper && props.targetSlideIndex !== null && props.targetSlideIndex !== undefined) {\n swiper.slideTo(props.targetSlideIndex, 0) // 0 \u8868\u793A\u7ACB\u5373\u8DF3\u8F6C\uFF0C\u65E0\u52A8\u753B\n props.onSlideChange?.() // \u6E05\u9664 targetSlideIndex\n }\n }, [swiper, props.targetSlideIndex, props])\n\n return (\n <div className=\"h-full [&_.swiper-button]:hover:opacity-100\">\n <Swiper\n className=\"h-full\"\n onSwiper={setSwiper}\n onTouchEnd={(swiper, event) => {\n if (swiper.isBeginning && swiper.swipeDirection === 'prev') {\n handlePrevClick()\n } else if (swiper.isEnd && swiper.swipeDirection === 'next') {\n handleNextClick()\n }\n }}\n // navigation={{\n // nextEl: `.ipc-product-gallery-${props?.id}-custom-swiper-button-next`,\n // prevEl: `.ipc-product-gallery-${props?.id}-custom-swiper-button-prev`,\n // }}\n modules={[Mousewheel, Thumbs, Navigation, Pagination]}\n mousewheel={{\n forceToAxis: true,\n }}\n breakpoints={{\n 0: {\n slidesPerView: 1,\n freeMode: false,\n },\n }}\n >\n {props?.galleries?.map((item, jIndex) => {\n return (\n <SwiperSlide className=\"h-full\" key={props?.id + 'SwiperSlideItem' + jIndex}>\n <video controls className=\"size-full\">\n <track kind=\"captions\" />\n <source src={item?.sources?.[0]?.url} type=\"video/mp4\" />\n <source src={item?.sources?.[0]?.url} type=\"video/webm\" />\n <source src={item?.sources?.[0]?.url} type=\"video/ogg\" />\n </video>\n </SwiperSlide>\n )\n })}\n </Swiper>\n <div\n className={cn(\n 'hidden swiper-button tablet:block tablet:opacity-0 tablet:absolute tablet:top-1/2 tablet:left-6 z-10 -translate-y-1/2 cursor-pointer'\n // `ipc-product-gallery-${props?.id}-custom-swiper-button-prev`\n )}\n onClick={handlePrevClick}\n >\n <SwiperLeftButtonIcon className=\"tablet:size-10 lg-desktop:size-12\" />\n </div>\n <div\n className={cn(\n 'hidden tablet:block swiper-button tablet:opacity-0 tablet:absolute tablet:top-1/2 tablet:right-6 z-10 -translate-y-1/2 cursor-pointer'\n // `ipc-product-gallery-${props?.id}-custom-swiper-button-next`\n )}\n onClick={handleNextClick}\n >\n <SwiperRightButtonIcon className=\"tablet:size-10 lg-desktop:size-12\" />\n </div>\n </div>\n )\n}\n\nconst ProductGalleryTab3DView = (props: ProductGalleryTabItemProps) => {\n return <div>3D View</div>\n}\n\nexport default ProductGallery\n"],
5
+ "mappings": "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",
6
+ "names": ["Fragment", "jsx", "jsxs", "useAiuiContext", "Text", "Picture", "Badge", "useCallback", "useMemo", "useState", "forwardRef", "useRef", "useEffect", "Swiper", "SwiperSlide", "Navigation", "Mousewheel", "Thumbs", "Pagination", "cn", "GalleryTabType", "Content", "List", "Root", "Trigger", "useBizProductContext", "useVariantMedia", "SpecsModal", "CompareModal", "formatPrice", "SwiperLeftButtonIcon", "props", "SwiperRightButtonIcon", "ProductGallery", "copyWriting", "product", "variant", "selectedOptions", "defaultMediaData", "swiper", "setSwiper", "customMediaList", "productList", "sceneList", "keyFeaturesList", "videoList", "allMedia", "galleryMap", "galleryTabs", "item", "activeGalleryTab", "setActiveGalleryTab", "activeTabIndex", "setActiveTabIndex", "targetSlideIndex", "setTargetSlideIndex", "handleNextTab", "nextIndex", "handlePrevTab", "prevIndex", "prevTabGalleries", "renderGalleryForTab", "tab", "index", "ProductGalleryTabImage", "ProductGalleryTabVideo", "ProductGalleryTab", "scrollContainerRef", "el", "container", "button", "scrollLeft", "ref", "locale", "totalSavings", "paginationRef", "thumbsSwiper", "setThumbsSwiper", "isStart", "setStart", "isEnd", "setEnd", "commentRef", "shouldScroll", "setShouldScroll", "imageClassName", "handlePrevClick", "handleNextClick", "contentHeight", "containerHeight", "needsScroll", "event", "jIndex", "ProductGalleryTab3DView", "ProductGallery_default"]
7
7
  }
@@ -1,3 +1,2 @@
1
- import type { ProductSummaryProps } from './types';
2
- declare const ProductSummary: ({}: ProductSummaryProps) => import("react/jsx-runtime").JSX.Element | null;
1
+ declare const ProductSummary: () => import("react/jsx-runtime").JSX.Element | null;
3
2
  export default ProductSummary;