@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": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GAsDM,IAAAI,EAAA,6BAtDNC,EAAgD,wCAChDC,EAAmB,8CACnBC,EAA+B,uCAC/BC,EAAqC,6CACrCC,EAA4B,6BAG5B,MAAMC,EAAgB,IAAM,CAC1B,KAAM,CAAE,OAAAC,EAAS,IAAK,KAAI,kBAAe,EACnC,CACJ,QAAAC,EACA,OAAAC,EACA,cAAAC,EACA,iBAAAC,EACA,eAAAC,EACA,aAAAC,EACA,gBAAAC,EACA,2BAAAC,EACA,8BAAAC,EACA,2BAAAC,CACF,KAAI,wBAAqB,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,SACE,QAAC,OAAI,UAAU,4BACb,oBAAC,QAAK,KAAM,EAAG,UAAU,YAAY,KAAMN,EAAO,KAClD,OAAC,OAAI,UAAU,kFACZ,SAAAG,GAAqB,IAAIZ,GAAU,CAClC,MAAMgB,EAAiBhB,EAAO,SAAS,OAAOa,GAAKA,EAAE,QAAQ,MAAQd,EAAQ,GAAG,EAChF,SACE,OAAC,OACC,oBAAC,OACC,aAAW,MACT,yFACA,CACG,eAAiBE,GAAe,KAAOD,EAAO,EACjD,CACF,EAEA,oBAAC,YACC,gBAAiB,IAAMc,EAAqBd,CAAM,EAClD,KAAK,KACL,aAAW,MAAG,6CAA8C,CAC1D,eAAgBC,GAAe,KAAOD,EAAO,EAC/C,CAAC,EACD,GAAIA,EAAO,GACX,MAAOA,EAAO,GACd,QAASC,GAAe,KAAOD,EAAO,GACxC,KACA,OAAC,SAAM,QAASA,EAAO,GAAI,UAAU,gCAClC,SAAAgB,GAAgB,IAAIC,MAEjB,QAAC,OAAI,UAAU,2CACb,qBAAC,OAAI,UAAU,0BACb,oBAAC,WAAQ,OAAQA,GAAe,SAAS,OAAO,IAAK,UAAU,wBAAwB,KACvF,OAAC,QACC,UAAU,2EACV,KAAMA,EAAc,QAAQ,QAAQ,MACtC,GACF,KACA,QAAC,OAAI,UAAU,yEACb,oBAAC,QACC,UAAU,6DACV,QAAM,eAAY,CAChB,OAAQA,EAAc,MACtB,OAAAnB,EACA,aAAcmB,EAAc,QAAQ,MAAM,YAC5C,CAAC,EACH,EACCA,EAAc,MAAQA,EAAc,QAAQ,MAAM,WACjD,OAAC,QACC,UAAU,yFACV,QAAM,eAAY,CAChB,OAAQA,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,IAAOX,EAAQQ",
6
6
  "names": ["ProductBundle_exports", "__export", "ProductBundle_default", "__toCommonJS", "import_jsx_runtime", "import_components", "import_helpers", "import_AiuiProvider", "import_BizProductProvider", "import_utils", "ProductBundle", "locale", "variant", "bundle", "checkedBundle", "setCheckedBundle", "setCheckedGift", "savingDetail", "setSavingDetail", "setCheckedExchangePurchase", "setJoinedRecommendBuyProducts", "joinedRecommendBuyProducts", "title", "bundleList", "showAtListing", "availableBundleList", "v", "handleSelectedChange", "bundleItem", "bundleVariants", "bundleVariant"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var n=Object.defineProperty;var k=Object.getOwnPropertyDescriptor;var C=Object.getOwnPropertyNames;var N=Object.prototype.hasOwnProperty;var y=(r,t)=>{for(var c in t)n(r,c,{get:t[c],enumerable:!0})},D=(r,t,c,l)=>{if(t&&typeof t=="object"||typeof t=="function")for(let d of C(t))!N.call(r,d)&&d!==c&&n(r,d,{get:()=>t[d],enumerable:!(l=k(t,d))||l.enumerable});return r};var E=r=>D(n({},"__esModule",{value:!0}),r);var z={};y(z,{default:()=>B});module.exports=E(z);var a=require("react/jsx-runtime"),o=require("../../../../../../components"),i=require("../../../../../../helpers/index.js"),x=require("react"),h=require("../../../../BizProductProvider.js"),s=require("../../../../utils"),f=require("../../../../../AiuiProvider");const O=()=>{const{locale:r="us"}=(0,f.useAiuiContext)(),{checkedExchangePurchase:t,exchangePurchase:c,setCheckedBundle:l,setJoinedRecommendBuyProducts:d,setSavingDetail:b,setCheckedExchangePurchase:u,joinedRecommendBuyProducts:R,savingDetail:P}=(0,h.useBizProductContext)(),{title:v,giftList:p=[],freeLabel:w}=c||{},m=(0,x.useMemo)(()=>p?.filter(e=>e.availableForSale),[p]),g=e=>{t?.id===e.id?(u?.(void 0),d?.({gift:{value:void 0,canOperate:!0},bundle:{value:void 0,canOperate:!0},exchange:{value:void 0,canOperate:!0}}),b?.({...P,exchangePurchase:0})):(l?.(void 0),u?.(e),d?.({bundle:{value:void 0,canOperate:!0},gift:{value:void 0,canOperate:!0},exchange:{value:e,canOperate:!1}}))};return m?.length?(0,a.jsxs)("div",{className:"ipc-product-detail-exchange-purchase",children:[(0,a.jsx)(o.Text,{size:3,className:"font-bold",html:v}),(0,a.jsx)("div",{className:"grid grid-cols-1 gap-3 laptop:grid-cols-2 desktop:grid-cols-1 mt-3 desktop:mt-4",children:m.map(e=>(0,a.jsxs)("div",{className:(0,i.cn)("flex items-center gap-2 text-left font-bold px-4 rounded-box border-[#E4E5E6] border-2",{"border-brand":t?.id===e.id}),children:[(0,a.jsx)(o.Checkbox,{onCheckedChange:()=>g(e),size:"lg",className:(0,i.cn)("rounded-full border-[#D1D1D1] border-[2px]",{"border-brand":t?.id===e.id}),id:e.id,checked:t?.id===e.id,value:e.id}),(0,a.jsxs)("label",{htmlFor:e.id,className:"flex py-6 cursor-pointer justify-between items-center gap-4 w-full",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(o.Picture,{source:e.image?.url,className:"size-12 flex-shrink-0"}),(0,a.jsx)(o.Text,{className:"text-sm laptop:text-[16px] line-clamp-2 lg-desktop:text-[18px] font-bold",html:e.product.title})]}),(0,a.jsxs)("div",{className:"flex items-center gap-1 tablet:flex-row flex-col shrink-0",children:[(0,a.jsx)(o.Text,{className:"text-base laptop:text-[20px] lg-desktop:text-2xl font-bold",html:(0,s.formatPrice)({amount:e?.finalPrice?.amount||0,locale:r,currencyCode:e?.finalPrice?.currencyCode||"USD"})}),(0,a.jsx)(o.Text,{className:"text-base text-[#6D6D6F] laptop:text-[20px] lg-desktop:text-2xl font-bold line-through",html:(0,s.formatPrice)({amount:e.price.amount,locale:r,currencyCode:e.price.currencyCode})})]})]})]},e.id))})]}):null};var B=O;
1
+ "use strict";var s=Object.defineProperty;var C=Object.getOwnPropertyDescriptor;var N=Object.getOwnPropertyNames;var y=Object.prototype.hasOwnProperty;var D=(o,t)=>{for(var l in t)s(o,l,{get:t[l],enumerable:!0})},E=(o,t,l,d)=>{if(t&&typeof t=="object"||typeof t=="function")for(let c of N(t))!y.call(o,c)&&c!==l&&s(o,c,{get:()=>t[c],enumerable:!(d=C(t,c))||d.enumerable});return o};var z=o=>E(s({},"__esModule",{value:!0}),o);var F={};D(F,{default:()=>w});module.exports=z(F);var r=require("react/jsx-runtime"),a=require("../../../../../../components"),i=require("../../../../../../helpers/index.js"),h=require("react"),b=require("../../../../BizProductProvider.js"),n=require("../../../../utils"),f=require("../../../../../AiuiProvider");const B=()=>{const{locale:o="us"}=(0,f.useAiuiContext)(),{checkedExchangePurchase:t,exchangePurchase:l,setCheckedBundle:d,setJoinedRecommendBuyProducts:c,setSavingDetail:P,setCheckedExchangePurchase:m,joinedRecommendBuyProducts:u,savingDetail:k}=(0,b.useBizProductContext)(),{title:g,giftList:p=[],freeLabel:S}=l||{},x=(0,h.useMemo)(()=>p?.filter(e=>e.availableForSale),[p]),v=e=>{t?.id===e.id?(m?.(void 0),c?.({...u,exchange:{value:void 0,canOperate:!0}}),P?.({...k,exchangePurchase:0})):(m?.(e),c?.({...u,exchange:{value:e,canOperate:!1}}))};return x?.length?(0,r.jsxs)("div",{className:"ipc-product-detail-exchange-purchase",children:[(0,r.jsx)(a.Text,{size:3,className:"font-bold",html:g}),(0,r.jsx)("div",{className:"grid grid-cols-1 gap-3 laptop:grid-cols-2 desktop:grid-cols-1 mt-3 desktop:mt-4",children:x.map(e=>(0,r.jsxs)("div",{className:(0,i.cn)("flex items-center gap-2 text-left font-bold px-4 rounded-box border-[#E4E5E6] border-2",{"border-brand":t?.id===e.id}),children:[(0,r.jsx)(a.Checkbox,{onCheckedChange:()=>v(e),size:"lg",className:(0,i.cn)("rounded-full border-[#D1D1D1] border-[2px]",{"border-brand":t?.id===e.id}),id:e.id,checked:t?.id===e.id,value:e.id}),(0,r.jsxs)("label",{htmlFor:e.id,className:"flex py-6 cursor-pointer justify-between items-center gap-4 w-full",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(a.Picture,{source:e.image?.url,className:"size-12 flex-shrink-0"}),(0,r.jsx)(a.Text,{className:"text-sm laptop:text-[16px] line-clamp-2 lg-desktop:text-[18px] font-bold",html:e.product.title})]}),(0,r.jsxs)("div",{className:"flex items-center gap-1 tablet:flex-row flex-col shrink-0",children:[(0,r.jsx)(a.Text,{className:"text-base laptop:text-[20px] lg-desktop:text-2xl font-bold",html:(0,n.formatPrice)({amount:e?.finalPrice?.amount||0,locale:o,currencyCode:e?.finalPrice?.currencyCode||"USD"})}),(0,r.jsx)(a.Text,{className:"text-base text-[#6D6D6F] laptop:text-[20px] lg-desktop:text-2xl font-bold line-through",html:(0,n.formatPrice)({amount:e.price.amount,locale:o,currencyCode:e.price.currencyCode})})]})]})]},e.id))})]}):null};var w=B;
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../../src/biz-components/Listing/components/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": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GAiEM,IAAAI,EAAA,6BAjENC,EAA4E,wCAC5EC,EAAmB,8CACnBC,EAAwB,iBACxBC,EAAqC,6CACrCC,EAA4B,6BAC5BC,EAA+B,uCAG/B,MAAMC,EAA0B,IAAM,CACpC,KAAM,CAAE,OAAAC,EAAS,IAAK,KAAI,kBAAe,EACnC,CACJ,wBAAAC,EACA,iBAAAC,EACA,iBAAAC,EACA,8BAAAC,EACA,gBAAAC,EACA,2BAAAC,EACA,2BAAAC,EACA,aAAAC,CACF,KAAI,wBAAqB,EACnB,CAAE,MAAAC,EAAO,SAAAC,EAAW,CAAC,EAAG,UAAAC,CAAU,EAAIT,GAAoB,CAAC,EAC3DU,KAAiB,WAAQ,IAAMF,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,UAGnB,QAAC,OAAI,UAAU,uCACb,oBAAC,QAAK,KAAM,EAAG,UAAU,YAAY,KAAMH,EAAO,KAClD,OAAC,OAAI,UAAU,kFACZ,SAAAG,EAAe,IAAKI,MACnB,QAAC,OAEC,aAAW,MAAG,yFAA0F,CACrG,eAAiBf,GAAyB,KAAOe,EAAK,EACzD,CAAC,EAED,oBAAC,YACC,gBAAiB,IAAMF,EAAoBE,CAAI,EAC/C,KAAK,KACL,aAAW,MAAG,6CAA8C,CAC1D,eAAgBf,GAAyB,KAAOe,EAAK,EACvD,CAAC,EACD,GAAIA,EAAK,GACT,QAASf,GAAyB,KAAOe,EAAK,GAC9C,MAAOA,EAAK,GACb,KACD,QAAC,SAAM,QAASA,EAAK,GAAI,UAAU,qEACjC,qBAAC,OAAI,UAAU,0BACb,oBAAC,WAAQ,OAAQA,EAAK,OAAO,IAAK,UAAU,wBAAwB,KACpE,OAAC,QACC,UAAU,2EACV,KAAMA,EAAK,QAAQ,MACrB,GACF,KACA,QAAC,OAAI,UAAU,4DACb,oBAAC,QACC,UAAU,6DACV,QAAM,eAAY,CAChB,OAAQA,GAAM,YAAY,QAAU,EACpC,OAAAhB,EACA,aAAcgB,GAAM,YAAY,cAAgB,KAClD,CAAC,EACH,KACA,OAAC,QACC,UAAU,yFACV,QAAM,eAAY,CAChB,OAAQA,EAAK,MAAM,OACnB,OAAAhB,EACA,aAAcgB,EAAK,MAAM,YAC3B,CAAC,EACH,GACF,GACF,IAzCKA,EAAK,EA0CZ,CACD,EACH,GACF,EArDkC,IAuDtC,EAEA,IAAO1B,EAAQS",
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": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GAkDM,IAAAI,EAAA,6BAlDNC,EAAwC,wCACxCC,EAAmB,8CACnBC,EAAwB,iBACxBC,EAAqC,6CACrCC,EAA4B,6BAC5BC,EAA+B,uCAG/B,MAAMC,EAA0B,IAAM,CACpC,KAAM,CAAE,OAAAC,EAAS,IAAK,KAAI,kBAAe,EACnC,CACJ,wBAAAC,EACA,iBAAAC,EACA,iBAAAC,EACA,8BAAAC,EACA,gBAAAC,EACA,2BAAAC,EACA,2BAAAC,EACA,aAAAC,CACF,KAAI,wBAAqB,EACnB,CAAE,MAAAC,EAAO,SAAAC,EAAW,CAAC,EAAG,UAAAC,CAAU,EAAIT,GAAoB,CAAC,EAC3DU,KAAiB,WAAQ,IAAMF,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,UAGnB,QAAC,OAAI,UAAU,uCACb,oBAAC,QAAK,KAAM,EAAG,UAAU,YAAY,KAAMH,EAAO,KAClD,OAAC,OAAI,UAAU,kFACZ,SAAAG,EAAe,IAAKI,MACnB,QAAC,OAEC,aAAW,MAAG,yFAA0F,CACrG,eAAiBf,GAAyB,KAAOe,EAAK,EACzD,CAAC,EAED,oBAAC,YACC,gBAAiB,IAAMF,EAAoBE,CAAI,EAC/C,KAAK,KACL,aAAW,MAAG,6CAA8C,CAC1D,eAAgBf,GAAyB,KAAOe,EAAK,EACvD,CAAC,EACD,GAAIA,EAAK,GACT,QAASf,GAAyB,KAAOe,EAAK,GAC9C,MAAOA,EAAK,GACb,KACD,QAAC,SAAM,QAASA,EAAK,GAAI,UAAU,qEACjC,qBAAC,OAAI,UAAU,0BACb,oBAAC,WAAQ,OAAQA,EAAK,OAAO,IAAK,UAAU,wBAAwB,KACpE,OAAC,QACC,UAAU,2EACV,KAAMA,EAAK,QAAQ,MACrB,GACF,KACA,QAAC,OAAI,UAAU,4DACb,oBAAC,QACC,UAAU,6DACV,QAAM,eAAY,CAChB,OAAQA,GAAM,YAAY,QAAU,EACpC,OAAAhB,EACA,aAAcgB,GAAM,YAAY,cAAgB,KAClD,CAAC,EACH,KACA,OAAC,QACC,UAAU,yFACV,QAAM,eAAY,CAChB,OAAQA,EAAK,MAAM,OACnB,OAAAhB,EACA,aAAcgB,EAAK,MAAM,YAC3B,CAAC,EACH,GACF,GACF,IAzCKA,EAAK,EA0CZ,CACD,EACH,GACF,EArDkC,IAuDtC,EAEA,IAAO1B,EAAQS",
6
6
  "names": ["ProductExchangePurchase_exports", "__export", "ProductExchangePurchase_default", "__toCommonJS", "import_jsx_runtime", "import_components", "import_helpers", "import_react", "import_BizProductProvider", "import_utils", "import_AiuiProvider", "ProductExchangePurchase", "locale", "checkedExchangePurchase", "exchangePurchase", "setCheckedBundle", "setJoinedRecommendBuyProducts", "setSavingDetail", "setCheckedExchangePurchase", "joinedRecommendBuyProducts", "savingDetail", "title", "giftList", "freeLabel", "availableGifts", "item", "handleCheckboxClick", "value", "gift"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var n=Object.defineProperty;var N=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var G=Object.prototype.hasOwnProperty;var P=(o,d)=>{for(var r in d)n(o,r,{get:d[r],enumerable:!0})},D=(o,d,r,i)=>{if(d&&typeof d=="object"||typeof d=="function")for(let a of y(d))!G.call(o,a)&&a!==r&&n(o,a,{get:()=>d[a],enumerable:!(i=N(d,a))||i.enumerable});return o};var B=o=>D(n({},"__esModule",{value:!0}),o);var F={};P(F,{default:()=>z});module.exports=B(F);var t=require("react/jsx-runtime"),l=require("../../../../../../components"),c=require("../../../../../../helpers/index.js"),m=require("react"),f=require("../../../../BizProductProvider.js"),x=require("../../../../utils"),b=require("../../../../../AiuiProvider");const O=()=>{const{locale:o="us"}=(0,b.useAiuiContext)(),{freeGift:d,checkedGift:r,setCheckedGift:i,setCheckedBundle:a,setSavingDetail:h,savingDetail:v,setJoinedRecommendBuyProducts:s,joinedRecommendBuyProducts:R}=(0,f.useBizProductContext)(),{title:k,giftList:u=[],freeLabel:g}=d||{},p=(0,m.useMemo)(()=>u?.filter(e=>e.availableForSale),[u]),C=e=>{r?.id===e.id?(i?.(void 0),h?.({...v,freeGift:0}),s?.({bundle:{value:void 0,canOperate:!0},exchange:{value:void 0,canOperate:!0},gift:{value:void 0}})):(a?.(void 0),i?.(e),s?.({bundle:{value:void 0,canOperate:!0},exchange:{value:void 0,canOperate:!0},gift:{value:e,canOperate:!1}}))};return p?.length?(0,t.jsxs)("div",{className:"ipc-product-detail-free-gift",children:[(0,t.jsx)(l.Text,{size:3,className:"font-bold",html:k}),(0,t.jsx)("div",{className:"grid grid-cols-1 gap-3 laptop:grid-cols-2 desktop:grid-cols-1 mt-3 desktop:mt-4",children:p.map(e=>(0,t.jsxs)("div",{className:(0,c.cn)("flex items-center gap-2 text-left font-bold px-4 rounded-box border-[#E4E5E6] border-2",{"border-brand":r?.id===e.id}),children:[(0,t.jsx)(l.Checkbox,{onCheckedChange:()=>C(e),size:"lg",className:(0,c.cn)("rounded-full border-[#D1D1D1] border-[2px]",{"border-brand":r?.id===e.id}),id:e.id,checked:r?.id===e.id,value:e.id}),(0,t.jsxs)("label",{htmlFor:e.id,className:"flex justify-between items-center cursor-pointer gap-4 w-full py-6",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(l.Picture,{source:e.image?.url,className:"size-12 flex-shrink-0"}),(0,t.jsx)(l.Text,{className:"text-sm laptop:text-[16px] line-clamp-2 lg-desktop:text-[18px] font-bold",html:e.product.title})]}),(0,t.jsxs)("div",{className:"flex items-center gap-1 tablet:flex-row flex-col shrink-0",children:[(0,t.jsx)(l.Text,{className:"text-base laptop:text-[20px] lg-desktop:text-2xl font-bold",html:g}),(0,t.jsx)(l.Text,{className:"text-base text-[#6D6D6F] laptop:text-[20px] lg-desktop:text-2xl font-bold line-through",html:(0,x.formatPrice)({amount:e.price.amount,locale:o,currencyCode:e.price.currencyCode})})]})]})]},e.id))})]}):null};var z=O;
1
+ "use strict";var s=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var G=Object.getOwnPropertyNames;var P=Object.prototype.hasOwnProperty;var D=(r,o)=>{for(var l in o)s(r,l,{get:o[l],enumerable:!0})},B=(r,o,l,a)=>{if(o&&typeof o=="object"||typeof o=="function")for(let i of G(o))!P.call(r,i)&&i!==l&&s(r,i,{get:()=>o[i],enumerable:!(a=y(o,i))||a.enumerable});return r};var z=r=>B(s({},"__esModule",{value:!0}),r);var w={};D(w,{default:()=>R});module.exports=z(w);var t=require("react/jsx-runtime"),d=require("../../../../../../components"),c=require("../../../../../../helpers/index.js"),f=require("react"),x=require("../../../../BizProductProvider.js"),b=require("../../../../utils"),h=require("../../../../../AiuiProvider");const F=()=>{const{locale:r="us"}=(0,h.useAiuiContext)(),{freeGift:o,checkedGift:l,setCheckedGift:a,setCheckedBundle:i,setSavingDetail:k,savingDetail:v,setJoinedRecommendBuyProducts:n,joinedRecommendBuyProducts:m}=(0,x.useBizProductContext)(),{title:g,giftList:p=[],freeLabel:C}=o||{},u=(0,f.useMemo)(()=>p?.filter(e=>e.availableForSale),[p]),N=e=>{l?.id===e.id?(a?.(void 0),k?.({...v,freeGift:0}),n?.({...m,gift:{value:void 0,canOperate:!0}})):(a?.(e),n?.({...m,gift:{value:e,canOperate:!1}}))};return u?.length?(0,t.jsxs)("div",{className:"ipc-product-detail-free-gift",children:[(0,t.jsx)(d.Text,{size:3,className:"font-bold",html:g}),(0,t.jsx)("div",{className:"grid grid-cols-1 gap-3 laptop:grid-cols-2 desktop:grid-cols-1 mt-3 desktop:mt-4",children:u.map(e=>(0,t.jsxs)("div",{className:(0,c.cn)("flex items-center gap-2 text-left font-bold px-4 rounded-box border-[#E4E5E6] border-2",{"border-brand":l?.id===e.id}),children:[(0,t.jsx)(d.Checkbox,{onCheckedChange:()=>N(e),size:"lg",className:(0,c.cn)("rounded-full border-[#D1D1D1] border-[2px]",{"border-brand":l?.id===e.id}),id:e.id,checked:l?.id===e.id,value:e.id}),(0,t.jsxs)("label",{htmlFor:e.id,className:"flex justify-between items-center cursor-pointer gap-4 w-full py-6",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(d.Picture,{source:e.image?.url,className:"size-12 flex-shrink-0"}),(0,t.jsx)(d.Text,{className:"text-sm laptop:text-[16px] line-clamp-2 lg-desktop:text-[18px] font-bold",html:e.product.title})]}),(0,t.jsxs)("div",{className:"flex items-center gap-1 tablet:flex-row flex-col shrink-0",children:[(0,t.jsx)(d.Text,{className:"text-base laptop:text-[20px] lg-desktop:text-2xl font-bold",html:C}),(0,t.jsx)(d.Text,{className:"text-base text-[#6D6D6F] laptop:text-[20px] lg-desktop:text-2xl font-bold line-through",html:(0,b.formatPrice)({amount:e.price.amount,locale:r,currencyCode:e.price.currencyCode})})]})]})]},e.id))})]}):null};var R=F;
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": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GAgEM,IAAAI,EAAA,6BAhENC,EAA4E,wCAC5EC,EAAmB,8CACnBC,EAAwB,iBACxBC,EAAqC,6CACrCC,EAA4B,6BAC5BC,EAA+B,uCAG/B,MAAMC,EAAkB,IAAM,CAC5B,KAAM,CAAE,OAAAC,EAAS,IAAK,KAAI,kBAAe,EACnC,CACJ,SAAAC,EACA,YAAAC,EACA,eAAAC,EACA,iBAAAC,EACA,gBAAAC,EACA,aAAAC,EACA,8BAAAC,EACA,2BAAAC,CACF,KAAI,wBAAqB,EACnB,CAAE,MAAAC,EAAO,SAAAC,EAAW,CAAC,EAAG,UAAAC,CAAU,EAAIV,GAAY,CAAC,EACnDW,KAAiB,WAAQ,IAAMF,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,UAGnB,QAAC,OAAI,UAAU,+BACb,oBAAC,QAAK,KAAM,EAAG,UAAU,YAAY,KAAMH,EAAO,KAClD,OAAC,OAAI,UAAU,kFACZ,SAAAG,EAAe,IAAII,MAClB,QAAC,OAEC,aAAW,MAAG,yFAA0F,CACrG,eAAiBd,GAAa,KAAOc,EAAK,EAC7C,CAAC,EAED,oBAAC,YACC,gBAAiB,IAAMF,EAAoBE,CAAI,EAC/C,KAAK,KACL,aAAW,MAAG,6CAA8C,CAC1D,eAAgBd,GAAa,KAAOc,EAAK,EAC3C,CAAC,EACD,GAAIA,EAAK,GACT,QAASd,GAAa,KAAOc,EAAK,GAClC,MAAOA,EAAK,GACb,KACD,QAAC,SAAM,QAASA,EAAK,GAAI,UAAU,qEACjC,qBAAC,OAAI,UAAU,0BACb,oBAAC,WAAQ,OAAQA,EAAK,OAAO,IAAK,UAAU,wBAAwB,KACpE,OAAC,QACC,UAAU,2EACV,KAAMA,EAAK,QAAQ,MACrB,GACF,KACA,QAAC,OAAI,UAAU,4DACb,oBAAC,QAAK,UAAU,6DAA6D,KAAML,EAAW,KAC9F,OAAC,QACC,UAAU,yFACV,QAAM,eAAY,CAChB,OAAQK,EAAK,MAAM,OACnB,OAAAhB,EACA,aAAcgB,EAAK,MAAM,YAC3B,CAAC,EACH,GACF,GACF,IAlCKA,EAAK,EAmCZ,CACD,EACH,GACF,EA9CkC,IAgDtC,EAEA,IAAO1B,EAAQS",
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": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GAkDM,IAAAI,EAAA,6BAlDNC,EAA4E,wCAC5EC,EAAmB,8CACnBC,EAAwB,iBACxBC,EAAqC,6CACrCC,EAA4B,6BAC5BC,EAA+B,uCAG/B,MAAMC,EAAkB,IAAM,CAC5B,KAAM,CAAE,OAAAC,EAAS,IAAK,KAAI,kBAAe,EACnC,CACJ,SAAAC,EACA,YAAAC,EACA,eAAAC,EACA,iBAAAC,EACA,gBAAAC,EACA,aAAAC,EACA,8BAAAC,EACA,2BAAAC,CACF,KAAI,wBAAqB,EACnB,CAAE,MAAAC,EAAO,SAAAC,EAAW,CAAC,EAAG,UAAAC,CAAU,EAAIV,GAAY,CAAC,EACnDW,KAAiB,WAAQ,IAAMF,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,UAGnB,QAAC,OAAI,UAAU,+BACb,oBAAC,QAAK,KAAM,EAAG,UAAU,YAAY,KAAMH,EAAO,KAClD,OAAC,OAAI,UAAU,kFACZ,SAAAG,EAAe,IAAII,MAClB,QAAC,OAEC,aAAW,MAAG,yFAA0F,CACrG,eAAiBd,GAAa,KAAOc,EAAK,EAC7C,CAAC,EAED,oBAAC,YACC,gBAAiB,IAAMF,EAAoBE,CAAI,EAC/C,KAAK,KACL,aAAW,MAAG,6CAA8C,CAC1D,eAAgBd,GAAa,KAAOc,EAAK,EAC3C,CAAC,EACD,GAAIA,EAAK,GACT,QAASd,GAAa,KAAOc,EAAK,GAClC,MAAOA,EAAK,GACb,KACD,QAAC,SAAM,QAASA,EAAK,GAAI,UAAU,qEACjC,qBAAC,OAAI,UAAU,0BACb,oBAAC,WAAQ,OAAQA,EAAK,OAAO,IAAK,UAAU,wBAAwB,KACpE,OAAC,QACC,UAAU,2EACV,KAAMA,EAAK,QAAQ,MACrB,GACF,KACA,QAAC,OAAI,UAAU,4DACb,oBAAC,QAAK,UAAU,6DAA6D,KAAML,EAAW,KAC9F,OAAC,QACC,UAAU,yFACV,QAAM,eAAY,CAChB,OAAQK,EAAK,MAAM,OACnB,OAAAhB,EACA,aAAcgB,EAAK,MAAM,YAC3B,CAAC,EACH,GACF,GACF,IAlCKA,EAAK,EAmCZ,CACD,EACH,GACF,EA9CkC,IAgDtC,EAEA,IAAO1B,EAAQS",
6
6
  "names": ["ProductFreeGift_exports", "__export", "ProductFreeGift_default", "__toCommonJS", "import_jsx_runtime", "import_components", "import_helpers", "import_react", "import_BizProductProvider", "import_utils", "import_AiuiProvider", "ProductFreeGift", "locale", "freeGift", "checkedGift", "setCheckedGift", "setCheckedBundle", "setSavingDetail", "savingDetail", "setJoinedRecommendBuyProducts", "joinedRecommendBuyProducts", "title", "giftList", "freeLabel", "availableGifts", "item", "handleCheckboxClick", "value", "gift"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var g=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var N=Object.getOwnPropertyNames;var k=Object.prototype.hasOwnProperty;var w=(o,l)=>{for(var n in l)g(o,n,{get:l[n],enumerable:!0})},C=(o,l,n,r)=>{if(l&&typeof l=="object"||typeof l=="function")for(let i of N(l))!k.call(o,i)&&i!==n&&g(o,i,{get:()=>l[i],enumerable:!(r=y(l,i))||r.enumerable});return o};var T=o=>C(g({},"__esModule",{value:!0}),o);var I={};w(I,{default:()=>H});module.exports=T(I);var e=require("react/jsx-runtime"),a=require("../../../../../../components"),p=require("@radix-ui/react-tabs"),s=require("react"),h=require("../../../../../../helpers"),v=require("../../../../BizProductProvider.js");const D=()=>{const{product:o}=(0,v.useBizProductContext)(),[l,n]=(0,s.useState)(!1),r=(0,s.useMemo)(()=>o?.payload?.components?.find(t=>t.blockType==="ipc-graphicmore")?.productsTab||{},[o?.payload]),[i,u]=(0,s.useState)(r?.[0]),c=(0,s.useMemo)(()=>o?.payload?.components?.find(t=>t.componentKey==="ProductHighlight")?.data||{},[o?.payload]);return(0,e.jsxs)("div",{className:"ipc-product-detail-highlight",children:[(0,e.jsxs)("div",{className:"flex items-center justify-between",children:[c?.title&&(0,e.jsx)(a.Text,{size:3,className:"font-bold",html:c?.title}),(0,e.jsxs)(a.Dialog,{open:l,onOpenChange:n,children:[(0,e.jsx)(a.DialogTrigger,{asChild:!0,children:(0,e.jsx)(a.Button,{variant:"link",className:"font-bold !p-0 text-base",children:c?.view})}),(0,e.jsx)(E,{ksp:r,clickActiveKspItem:i})]})]}),(0,e.jsx)("div",{className:"flex flex-wrap gap-4 mt-3 desktop:mt-4",children:r.map(t=>(0,e.jsx)("div",{className:"px-4 py-2 cursor-pointer hover:bg-[#EAEAEC] rounded-full bg-[#F5F5F7]",children:(0,e.jsx)(a.Text,{size:3,onClick:()=>{u(t),n(!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)}))})]})},E=({ksp:o,clickActiveKspItem:l})=>{const n=(0,s.useRef)([]),r=(0,s.useRef)(null),[i,u]=(0,s.useState)(null),c=(0,s.useCallback)(t=>{const f=o.findIndex(m=>m.title===t?.title),d=n.current[f];if(d&&r.current){const m=r.current,x=d,b=x.offsetLeft-m.offsetWidth/2+x.offsetWidth/2;m.scrollTo({left:b,behavior:"smooth"})}},[l,o]);return(0,s.useEffect)(()=>{l&&(u(l),setTimeout(()=>{c(i)},100))},[l,c]),(0,e.jsx)(a.DialogContent,{overlayClassName:"z-[70]",className:"tablet:max-w-[896px] max-w-[326px] mx-auto w-full border-none z-[80] overflow-hidden p-0",children:(0,e.jsxs)(p.Root,{defaultValue:i?.title,className:"w-full overflow-hidden",children:[o.map(t=>(0,e.jsx)(p.Content,{value:t.title,children:(0,e.jsx)(a.Picture,{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)),(0,e.jsx)("div",{className:"py-4 desktop:py-6 w-full overflow-visible",children:(0,e.jsxs)("div",{ref:r,className:"px-4 desktop:px-6 overflow-x-auto",children:[(0,e.jsx)("div",{className:"w-fit rounded-full bg-[#EAEAEC]",style:{scrollbarWidth:"none",msOverflowStyle:"none"},children:(0,e.jsx)(p.List,{className:"flex p-1 w-max",children:o.map((t,f)=>(0,e.jsx)(p.Trigger,{ref:d=>{d&&(n.current[f]=d)},className:(0,h.cn)("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===i?.title&&"bg-white"),onClick:()=>{c(t),u(t)},value:t.title,children:(0,e.jsx)(a.Text,{html:t.title,className:"font-bold text-[14px] leading-tight"})},f))})}),(0,e.jsx)("div",{className:"mt-4",children:o.map(t=>(0,e.jsx)(p.Content,{value:t.title,className:"font-bold text-base desktop:text-[18px]",children:t.description}))})]})})]})})};var H=D;
1
+ "use strict";var g=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var k=Object.getOwnPropertyNames;var N=Object.prototype.hasOwnProperty;var w=(e,o)=>{for(var r in o)g(e,r,{get:o[r],enumerable:!0})},C=(e,o,r,a)=>{if(o&&typeof o=="object"||typeof o=="function")for(let n of k(o))!N.call(e,n)&&n!==r&&g(e,n,{get:()=>o[n],enumerable:!(a=y(o,n))||a.enumerable});return e};var D=e=>C(g({},"__esModule",{value:!0}),e);var I={};w(I,{default:()=>H});module.exports=D(I);var t=require("react/jsx-runtime"),s=require("../../../../../../components"),c=require("@radix-ui/react-tabs"),i=require("react"),v=require("../../../../../../helpers"),h=require("../../../../BizProductProvider.js");const T=()=>{const{product:e}=(0,h.useBizProductContext)(),[o,r]=(0,i.useState)(!1),a=(0,i.useMemo)(()=>e?.payload?.components?.find(p=>p.componentKey==="ProductHighlight")?.data||{},[e?.payload]),[n,f]=(0,i.useState)(a?.ksp?.[0]);return(0,t.jsxs)("div",{className:"ipc-product-detail-highlight",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[a?.title&&(0,t.jsx)(s.Text,{size:3,className:"font-bold",html:a?.title}),(0,t.jsxs)(s.Dialog,{open:o,onOpenChange:r,children:[(0,t.jsx)(s.DialogTrigger,{asChild:!0,children:(0,t.jsx)(s.Button,{variant:"link",className:"font-bold !p-0 text-base",children:a?.view})}),(0,t.jsx)(E,{ksp:a?.ksp,clickActiveKspItem:n})]})]}),(0,t.jsx)("div",{className:"flex flex-wrap gap-4 mt-3 desktop:mt-4",children:a?.ksp?.map?.(p=>(0,t.jsx)("div",{className:"px-4 py-2 cursor-pointer hover:bg-[#EAEAEC] rounded-full bg-[#F5F5F7]",children:(0,t.jsx)(s.Text,{size:3,onClick:()=>{f(p),r(!0)},className:"font-bold text-[#1D1D1F] text-[14px] lg-desktop:text-[16px] break-all line-clamp-1 desktop:text-base overflow-hidden",html:p?.title},p?.title)}))})]})},E=({ksp:e,clickActiveKspItem:o})=>{const r=(0,i.useRef)([]),a=(0,i.useRef)(null),[n,f]=(0,i.useState)(null),p=(0,i.useCallback)(l=>{const u=e.findIndex(m=>m.title===l?.title),d=r.current[u];if(d&&a.current){const m=a.current,x=d,b=x.offsetLeft-m.offsetWidth/2+x.offsetWidth/2;m.scrollTo({left:b,behavior:"smooth"})}},[o,e]);return(0,i.useEffect)(()=>{o&&(f(o),setTimeout(()=>{p(n)},100))},[o,p]),(0,t.jsx)(s.DialogContent,{overlayClassName:"z-[70]",className:"tablet:max-w-[896px] max-w-[326px] mx-auto w-full border-none z-[80] overflow-hidden p-0",children:(0,t.jsxs)(c.Root,{defaultValue:n?.title,className:"w-full overflow-hidden",children:[e?.map?.(l=>(0,t.jsx)(c.Content,{value:l.title,children:(0,t.jsx)(s.Picture,{source:`${l?.mobileImg}, ${l?.img} 767`,className:"w-full h-[304px] desktop:h-[480px]",alt:l.img.alt,imgClassName:"object-cover h-full"})},l.title)),(0,t.jsx)("div",{className:"py-4 desktop:py-6 w-full overflow-visible",children:(0,t.jsxs)("div",{ref:a,className:"px-4 desktop:px-6 overflow-x-auto",children:[(0,t.jsx)("div",{className:"w-fit rounded-full bg-[#EAEAEC]",style:{scrollbarWidth:"none",msOverflowStyle:"none"},children:(0,t.jsx)(c.List,{className:"flex p-1 w-max",children:e?.map?.((l,u)=>(0,t.jsx)(c.Trigger,{ref:d=>{d&&(r.current[u]=d)},className:(0,v.cn)("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]",l.title===n?.title&&"bg-white"),onClick:()=>{p(l),f(l)},value:l.title,children:(0,t.jsx)(s.Text,{html:l.title,className:"font-bold text-[14px] leading-tight"})},u))})}),(0,t.jsx)("div",{className:"mt-4",children:e?.map?.(l=>(0,t.jsx)(c.Content,{value:l.title,className:"font-bold text-base desktop:text-[18px]",children:l?.description}))})]})})]})})};var H=T;
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": "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",
6
- "names": ["ProductHighlight_exports", "__export", "ProductHighlight_default", "__toCommonJS", "import_jsx_runtime", "import_components", "import_react_tabs", "import_react", "import_helpers", "import_BizProductProvider", "ProductHighlight", "product", "open", "setOpen", "ksp", "item", "activeKspItem", "setActiveKspItem", "ProductHighlightData", "ProductHighlightModal", "clickActiveKspItem", "highlightRef", "scrollContainerRef", "autoScrollToActiveItem", "curIndex", "curRef", "container", "button", "scrollLeft", "index", "el"]
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": ["ProductHighlight_exports", "__export", "ProductHighlight_default", "__toCommonJS", "import_jsx_runtime", "import_components", "import_react_tabs", "import_react", "import_helpers", "import_BizProductProvider", "ProductHighlight", "product", "open", "setOpen", "productHighlightData", "item", "activeKspItem", "setActiveKspItem", "ProductHighlightModal", "ksp", "clickActiveKspItem", "highlightRef", "scrollContainerRef", "autoScrollToActiveItem", "curIndex", "curRef", "container", "button", "scrollLeft", "index", "el"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var u=Object.defineProperty;var w=Object.getOwnPropertyDescriptor;var _=Object.getOwnPropertyNames;var k=Object.prototype.hasOwnProperty;var E=(s,o)=>{for(var n in o)u(s,n,{get:o[n],enumerable:!0})},P=(s,o,n,a)=>{if(o&&typeof o=="object"||typeof o=="function")for(let i of _(o))!k.call(s,i)&&i!==n&&u(s,i,{get:()=>o[i],enumerable:!(a=w(o,i))||a.enumerable});return s};var C=s=>P(u({},"__esModule",{value:!0}),s);var O={};E(O,{default:()=>L});module.exports=C(O);var e=require("react/jsx-runtime"),d=require("../../../../../../components"),l=require("../../../../../../helpers/index.js"),p=require("react"),f=require("../../../../BizProductProvider.js"),v=require("../../../../../AiuiProvider/index.js"),x=require("../../../../utils/helper.js");const z=()=>{const{product:s,selectedOptions:o,setSelectedOptions:n,setJoinedRecommendBuyProducts:a}=(0,f.useBizProductContext)(),{storeDomain:i}=(0,v.useAiuiContext)(),[g,y]=(0,p.useState)({});return s.options.length?(0,e.jsx)("div",{className:"flex flex-col gap-12",children:s.options.map(r=>{const N=r.name.toLowerCase();return["color","colour","couleur"].some(t=>N.includes(t))?(0,e.jsxs)("div",{className:"ipc-product-detail-options",children:[(0,e.jsx)(d.Text,{as:"p",size:3,className:"font-bold",html:"Select Color: "+o[r.name]}),(0,e.jsx)("div",{className:"flex items-center gap-4 mt-4",children:r.values.map(({label:t},c)=>{const b=`https://${i}/cdn/shop/files/${(0,x.handle)(t)}.png`;return(0,e.jsxs)("div",{className:"relative ipc-product-detail-options-value",children:[(0,e.jsx)("button",{"aria-label":`switch to ${t}`,title:t,onClick:()=>{n(m=>({...m,[r.name]:t})),a?.({gift:void 0,bundle:void 0})},className:(0,l.cn)("flex size-[30px] items-center justify-center rounded-full bg-center bg-no-repeat outline outline-2 outline-offset-4 outline-white",{"outline-brand":o[r.name]===t}),children:!g[t]&&(0,e.jsx)(e.Fragment,{children:(0,e.jsx)(d.Picture,{className:"w-full",source:b,onError:({currentTarget:m})=>{m.onerror=null,y(h=>({...h,[t]:!0}))}})})}),(0,e.jsx)("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)]"})]},t+c)})})]},r.id):(0,e.jsxs)("div",{className:"ipc-product-detail-options",children:[(0,e.jsx)(d.Text,{as:"p",size:3,className:"font-bold",html:r.name}),(0,e.jsx)("div",{className:"flex items-center gap-4 mt-4",children:r.values.map(({label:t})=>(0,e.jsx)("button",{onClick:()=>{n(c=>({...c,[r.name]:t}))},className:(0,l.cn)("w-1/2 text-left font-bold px-4 py-6 rounded-box border-[#E4E5E6] border-2",{"border-brand":o[r.name]===t}),children:t},t))})]},r.id)})}):null};var L=z;
1
+ "use strict";var u=Object.defineProperty;var w=Object.getOwnPropertyDescriptor;var _=Object.getOwnPropertyNames;var k=Object.prototype.hasOwnProperty;var E=(s,o)=>{for(var n in o)u(s,n,{get:o[n],enumerable:!0})},P=(s,o,n,a)=>{if(o&&typeof o=="object"||typeof o=="function")for(let i of _(o))!k.call(s,i)&&i!==n&&u(s,i,{get:()=>o[i],enumerable:!(a=w(o,i))||a.enumerable});return s};var C=s=>P(u({},"__esModule",{value:!0}),s);var O={};E(O,{default:()=>L});module.exports=C(O);var e=require("react/jsx-runtime"),d=require("../../../../../../components"),l=require("../../../../../../helpers/index.js"),p=require("react"),f=require("../../../../BizProductProvider.js"),v=require("../../../../../AiuiProvider/index.js"),x=require("../../../../utils/helper.js");const z=()=>{const{product:s,selectedOptions:o,setSelectedOptions:n,setJoinedRecommendBuyProducts:a}=(0,f.useBizProductContext)(),{storeDomain:i}=(0,v.useAiuiContext)(),[g,y]=(0,p.useState)({});return s.options.length?(0,e.jsx)("div",{className:"flex flex-col gap-12",children:s.options.map(r=>{const N=r.name.toLowerCase();return["color","colour","couleur"].some(t=>N.includes(t))?(0,e.jsxs)("div",{className:"ipc-product-detail-options",children:[(0,e.jsx)(d.Text,{as:"p",size:3,className:"font-bold",html:"Select Color: "+o[r.name]}),(0,e.jsx)("div",{className:"flex items-center gap-4 mt-4 ml-1",children:r.values.map(({label:t},c)=>{const b=`https://${i}/cdn/shop/files/${(0,x.handle)(t)}.png`;return(0,e.jsxs)("div",{className:"relative ipc-product-detail-options-value",children:[(0,e.jsx)("button",{"aria-label":`switch to ${t}`,title:t,onClick:()=>{n(m=>({...m,[r.name]:t})),a?.({gift:void 0,bundle:void 0})},className:(0,l.cn)("flex size-[30px] items-center justify-center rounded-full bg-center bg-no-repeat outline outline-2 outline-offset-4 outline-white",{"outline-brand":o[r.name]===t}),children:!g[t]&&(0,e.jsx)(e.Fragment,{children:(0,e.jsx)(d.Picture,{className:"w-full",source:b,onError:({currentTarget:m})=>{m.onerror=null,y(h=>({...h,[t]:!0}))}})})}),(0,e.jsx)("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)]"})]},t+c)})})]},r.id):(0,e.jsxs)("div",{className:"ipc-product-detail-options",children:[(0,e.jsx)(d.Text,{as:"p",size:3,className:"font-bold",html:r.name}),(0,e.jsx)("div",{className:"flex items-center gap-4 mt-4",children:r.values.map(({label:t})=>(0,e.jsx)("button",{onClick:()=>{n(c=>({...c,[r.name]:t}))},className:(0,l.cn)("w-1/2 text-left font-bold px-4 py-6 rounded-box border-[#E4E5E6] border-2",{"border-brand":o[r.name]===t}),children:t},t))})]},r.id)})}):null};var L=z;
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": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GAsBc,IAAAI,EAAA,6BAtBdC,EAAsC,wCAEtCC,EAAmB,8CACnBC,EAAyB,iBACzBC,EAAqC,6CACrCC,EAA+B,gDAC/BC,EAAuB,uCAEvB,MAAMC,EAAiB,IAAM,CAC3B,KAAM,CAAE,QAAAC,EAAS,gBAAAC,EAAiB,mBAAAC,EAAoB,8BAAAC,CAA8B,KAClF,wBAAqB,EACjB,CAAE,YAAAC,CAAY,KAAI,kBAAe,EACjC,CAACC,EAAcC,CAAe,KAAI,YAAS,CAAC,CAAC,EACnD,OAAKN,EAAQ,QAAQ,UAEnB,OAAC,OAAI,UAAU,uBACZ,SAAAA,EAAQ,QAAQ,IAAIO,GAAU,CAC7B,MAAMC,EAAiBD,EAAO,KAAK,YAAY,EAE/C,MADsB,CAAC,QAAS,SAAU,SAAS,EACjC,KAAKE,GAAWD,EAAe,SAASC,CAAO,CAAC,KAE9D,QAAC,OAAoB,UAAU,6BAC7B,oBAAC,QAAK,GAAG,IAAI,KAAM,EAAG,UAAU,YAAY,KAAM,iBAAmBR,EAAgBM,EAAO,IAAI,EAAG,KACnG,OAAC,OAAI,UAAU,+BACZ,SAAAA,EAAO,OAAO,IAAI,CAAC,CAAE,MAAAG,CAAM,EAAGC,IAAU,CACvC,MAAMC,EAAY,WAAWR,CAAW,sBAAmB,UAAOM,CAAK,CAAC,OACxE,SACE,QAAC,OAAwB,UAAU,4CACjC,oBAAC,UACC,aAAY,aAAaA,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,aAAW,MACT,oIACA,CACE,gBAAiBF,EAAgBM,EAAO,IAAI,IAAMG,CACpD,CACF,EAEC,UAACL,EAAaK,CAAkC,MAC/C,mBACE,mBAAC,WACC,UAAU,SACV,OAAQE,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,KACA,OAAC,OAAI,UAAU,6HAA6H,IA5BpIA,EAAQC,CA6BlB,CAEJ,CAAC,EACH,IAtCQJ,EAAO,EAuCjB,KAIA,QAAC,OAAoB,UAAU,6BAC7B,oBAAC,QAAK,GAAG,IAAI,KAAM,EAAG,UAAU,YAAY,KAAMA,EAAO,KAAM,KAC/D,OAAC,OAAI,UAAU,+BACZ,SAAAA,EAAO,OAAO,IAAI,CAAC,CAAE,MAAAG,CAAM,OAC1B,OAAC,UAEC,QAAS,IAAM,CACbR,EAAmBW,IAAS,CAAE,GAAGA,EAAM,CAACN,EAAO,IAAI,EAAGG,CAAM,EAAE,CAEhE,EACA,aAAW,MAAG,4EAA6E,CACzF,eAAgBT,EAAgBM,EAAO,IAAI,IAAMG,CACnD,CAAC,EAEA,SAAAA,GATIA,CAUP,CACD,EACH,IAjBQH,EAAO,EAkBjB,CAGN,CAAC,EACH,EAzEkC,IA2EtC,EAEA,IAAOjB,EAAQS",
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": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GAsBc,IAAAI,EAAA,6BAtBdC,EAAsC,wCAEtCC,EAAmB,8CACnBC,EAAyB,iBACzBC,EAAqC,6CACrCC,EAA+B,gDAC/BC,EAAuB,uCAEvB,MAAMC,EAAiB,IAAM,CAC3B,KAAM,CAAE,QAAAC,EAAS,gBAAAC,EAAiB,mBAAAC,EAAoB,8BAAAC,CAA8B,KAClF,wBAAqB,EACjB,CAAE,YAAAC,CAAY,KAAI,kBAAe,EACjC,CAACC,EAAcC,CAAe,KAAI,YAAS,CAAC,CAAC,EACnD,OAAKN,EAAQ,QAAQ,UAEnB,OAAC,OAAI,UAAU,uBACZ,SAAAA,EAAQ,QAAQ,IAAIO,GAAU,CAC7B,MAAMC,EAAiBD,EAAO,KAAK,YAAY,EAE/C,MADsB,CAAC,QAAS,SAAU,SAAS,EACjC,KAAKE,GAAWD,EAAe,SAASC,CAAO,CAAC,KAE9D,QAAC,OAAoB,UAAU,6BAC7B,oBAAC,QAAK,GAAG,IAAI,KAAM,EAAG,UAAU,YAAY,KAAM,iBAAmBR,EAAgBM,EAAO,IAAI,EAAG,KACnG,OAAC,OAAI,UAAU,oCACZ,SAAAA,EAAO,OAAO,IAAI,CAAC,CAAE,MAAAG,CAAM,EAAGC,IAAU,CACvC,MAAMC,EAAY,WAAWR,CAAW,sBAAmB,UAAOM,CAAK,CAAC,OACxE,SACE,QAAC,OAAwB,UAAU,4CACjC,oBAAC,UACC,aAAY,aAAaA,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,aAAW,MACT,oIACA,CACE,gBAAiBF,EAAgBM,EAAO,IAAI,IAAMG,CACpD,CACF,EAEC,UAACL,EAAaK,CAAkC,MAC/C,mBACE,mBAAC,WACC,UAAU,SACV,OAAQE,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,KACA,OAAC,OAAI,UAAU,6HAA6H,IA5BpIA,EAAQC,CA6BlB,CAEJ,CAAC,EACH,IAtCQJ,EAAO,EAuCjB,KAIA,QAAC,OAAoB,UAAU,6BAC7B,oBAAC,QAAK,GAAG,IAAI,KAAM,EAAG,UAAU,YAAY,KAAMA,EAAO,KAAM,KAC/D,OAAC,OAAI,UAAU,+BACZ,SAAAA,EAAO,OAAO,IAAI,CAAC,CAAE,MAAAG,CAAM,OAC1B,OAAC,UAEC,QAAS,IAAM,CACbR,EAAmBW,IAAS,CAAE,GAAGA,EAAM,CAACN,EAAO,IAAI,EAAGG,CAAM,EAAE,CAEhE,EACA,aAAW,MAAG,4EAA6E,CACzF,eAAgBT,EAAgBM,EAAO,IAAI,IAAMG,CACnD,CAAC,EAEA,SAAAA,GATIA,CAUP,CACD,EACH,IAjBQH,EAAO,EAkBjB,CAGN,CAAC,EACH,EAzEkC,IA2EtC,EAEA,IAAOjB,EAAQS",
6
6
  "names": ["ProductOptions_exports", "__export", "ProductOptions_default", "__toCommonJS", "import_jsx_runtime", "import_components", "import_helpers", "import_react", "import_BizProductProvider", "import_AiuiProvider", "import_helper", "ProductOptions", "product", "selectedOptions", "setSelectedOptions", "setJoinedRecommendBuyProducts", "storeDomain", "imgLoadError", "setImgLoadError", "option", "lowercasedName", "keyword", "label", "index", "imagePath", "prev", "currentTarget"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var W=Object.create;var M=Object.defineProperty;var O=Object.getOwnPropertyDescriptor;var U=Object.getOwnPropertyNames;var Z=Object.getPrototypeOf,q=Object.prototype.hasOwnProperty;var K=(t,a)=>{for(var o in a)M(t,o,{get:a[o],enumerable:!0})},D=(t,a,o,g)=>{if(a&&typeof a=="object"||typeof a=="function")for(let r of U(a))!q.call(t,r)&&r!==o&&M(t,r,{get:()=>a[r],enumerable:!(g=O(a,r))||g.enumerable});return t};var J=(t,a,o)=>(o=t!=null?W(Z(t)):{},D(a||!t||!t.__esModule?M(o,"default",{value:t,enumerable:!0}):o,t)),Q=t=>D(M({},"__esModule",{value:!0}),t);var ae={};K(ae,{default:()=>le});module.exports=Q(ae);var e=require("react/jsx-runtime"),_=require("../../../../AiuiProvider/index.js"),k=require("../../../../../components"),l=require("react"),N=require("swiper/react"),u=require("swiper/modules"),b=require("../../../../../helpers/index.js"),T=require("./types.js"),I=require("@radix-ui/react-tabs"),z=require("../../../BizProductProvider.js"),j=require("../../../hooks/use-variant-media.js"),H=require("./components/SpecsModal.js"),Y=J(require("./components/CompareModal.js")),$=require("../../../utils/index.js");const B=t=>(0,e.jsxs)("svg",{width:"48",height:"48",viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t,children:[(0,e.jsx)("rect",{x:"48",y:"48",width:"48",height:"48",rx:"24",transform:"rotate(-180 48 48)",fill:"white"}),(0,e.jsx)("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"})]}),F=t=>(0,e.jsxs)("svg",{width:"48",height:"48",viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t,children:[(0,e.jsx)("rect",{width:"48",height:"48",rx:"24",transform:"matrix(1 -8.74228e-08 -8.74228e-08 -1 0 48)",fill:"white"}),(0,e.jsx)("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"})]}),X=()=>{const{copyWriting:t}=(0,_.useAiuiContext)(),{product:a,variant:o,selectedOptions:g}=(0,z.useBizProductContext)(),r=(0,j.useVariantMedia)({product:a,variant:o}),[f,v]=(0,l.useState)(null),n=o?.metafields?.component?.custom_media_list;let h,w,S,y;n&&n?.available?(h=n?.product||[],w=n?.scenarios||[],S=n?.keyFeatures||[],y=n?.video||[]):(h=r?.productList,w=r?.sceneList,S=r?.keyFeaturesList,y=r?.videoList);const A=(0,l.useMemo)(()=>[...h,...w,...y],[h,w,y]),p={productList:h,sceneList:w,keyFeaturesList:S,videoList:y},d=(0,l.useMemo)(()=>(a?.payload?.components?.find(c=>c.componentKey==="ProductGallery")?.data||[])?.map(c=>({...c,galleries:p[c?.galleries]||[]})).filter(c=>c.galleries.length>0),[a?.payload,p]),[G,L]=(0,l.useState)(d?.[0]),[C,P]=(0,l.useState)(0),[E,x]=(0,l.useState)(null),s=(0,l.useCallback)(()=>{const i=(C+1)%d.length;P(i),L(d[i]),x(0)},[C,d]),m=(0,l.useCallback)(()=>{const i=C===0?d.length-1:C-1;P(i),L(d[i]);const c=d[i]?.galleries||[];x(c.length-1)},[C,d]);(0,l.useEffect)(()=>{L(d[0])},[o?.id]);const V=(i,c)=>{switch(i?.galleryTabType){case T.GalleryTabType.GALLERY_IMAGE_MAIN:return(0,e.jsx)(R,{...i,index:c,onNextTab:s,onPrevTab:m,targetSlideIndex:E,onSlideChange:()=>x(null)});case T.GalleryTabType.GALLERY_IMAGE_FEATURES:return(0,e.jsx)(R,{...i,index:c,onNextTab:s,onPrevTab:m,targetSlideIndex:E,onSlideChange:()=>x(null)});case T.GalleryTabType.GALLERY_IMAGE_SCENE:return(0,e.jsx)(R,{...i,index:c,onNextTab:s,onPrevTab:m,targetSlideIndex:E,onSlideChange:()=>x(null)});case T.GalleryTabType.GALLERY_VIDEO:return(0,e.jsx)(te,{...i,onNextTab:s,onPrevTab:m,targetSlideIndex:E,onSlideChange:()=>x(null)});default:return null}};return(0,e.jsx)("div",{id:"ipc-product-gallery",children:(0,e.jsxs)(I.Root,{className:"relative",value:G?.tabValue,defaultValue:d?.[0]?.tabValue,children:[(0,e.jsx)("div",{className:"h-[420px] overflow-hidden tablet:h-[620px] desktop:rounded-2xl desktop:h-[560px] lg-desktop:h-[700px] bg-[#EAEAEC] desktop:relative ",children:d.map((i,c)=>(0,e.jsx)(I.Content,{className:"h-full",value:i.tabValue,children:V(i,c)},i.tabValue))}),(0,e.jsx)(ee,{galleryTabs:d,activeGalleryTab:G,setActiveGalleryTab:L,setActiveTabIndex:P,setTargetSlideIndex:x})]})})},ee=({galleryTabs:t,activeGalleryTab:a,setActiveGalleryTab:o,setActiveTabIndex:g,setTargetSlideIndex:r})=>{const{product:f}=(0,z.useBizProductContext)(),v=(0,l.useRef)(null);return(0,e.jsxs)("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:[(0,e.jsx)(I.List,{ref:v,className:"rounded-full bg-[#EAEAEC] p-1 laptop:p-0 desktop:p-1 overflow-x-auto",style:{scrollbarWidth:"none",msOverflowStyle:"none"},children:(0,e.jsx)("div",{className:"whitespace-nowrap",children:t?.map((n,h)=>(0,e.jsx)(I.Trigger,{className:(0,b.cn)("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.tabValue===a?.tabValue&&"bg-white"),onClick:w=>{if(o(n),g(h),r(0),v.current){const S=v.current,y=w.currentTarget,A=y.offsetLeft-S.offsetWidth/2+y.offsetWidth/2;S.scrollTo({left:A,behavior:"smooth"})}},value:n.tabValue,children:n.tabLabel},n.tabValue))})}),(0,e.jsx)("div",{className:"laptop:gap-2 hidden laptop:flex",children:f.metafields?.global?.specifications&&(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(H.SpecsModal,{})," | ",(0,e.jsx)(Y.default,{})]})})]})},R=(0,l.forwardRef)((t,a)=>{const{locale:o="us",copyWriting:g}=(0,_.useAiuiContext)(),{variant:r,totalSavings:f}=(0,z.useBizProductContext)(),v=(0,l.useRef)(null),[n,h]=(0,l.useState)(null),[w,S]=(0,l.useState)(!0),[y,A]=(0,l.useState)(!1),[p,d]=(0,l.useState)(null),G=(0,l.useRef)(null),[L,C]=(0,l.useState)(!1),P=(0,l.useMemo)(()=>{if(t?.galleryTabType===T.GalleryTabType.GALLERY_IMAGE_MAIN)return"size-[240px] mx-auto mt-[42px] tablet:mt-16 tablet:size-[420px] lg-desktop:size-[560px]";t?.galleryTabType===T.GalleryTabType.GALLERY_IMAGE_FEATURES||(t?.galleryTabType,T.GalleryTabType.GALLERY_IMAGE_SCENE)},[t?.galleryTabType]),E=(0,l.useCallback)(()=>{p?.isBeginning?t.onPrevTab?.():p?.slidePrev()},[p,t]),x=(0,l.useCallback)(()=>{p?.isEnd?t.onNextTab?.():p?.slideNext()},[p,t]);return(0,l.useEffect)(()=>{p&&t.targetSlideIndex&&(p.slideTo(t.targetSlideIndex,0),t.onSlideChange?.())},[p,t.targetSlideIndex,t]),(0,l.useEffect)(()=>{if(G.current){const s=G.current,m=s.scrollHeight,V=s.clientHeight,i=m>V;C(i)}},[]),(0,e.jsxs)("div",{className:"h-full [&_.swiper-button]:hover:opacity-100",children:[(0,e.jsx)(N.Swiper,{ref:a,className:"h-full",onSwiper:d,onProgress:s=>{S(s.isBeginning),A(s.isEnd)},pagination:{clickable:!0,el:v.current},thumbs:{swiper:n},modules:[u.Mousewheel,u.Thumbs,u.Navigation,u.Pagination],mousewheel:{forceToAxis:!0},breakpoints:{0:{slidesPerView:1,freeMode:!1}},children:t?.galleries?.map((s,m)=>(0,e.jsx)(N.SwiperSlide,{className:"h-full",children:(0,e.jsx)(k.Picture,{source:s?.image?.url,alt:s?.image?.altText,className:(0,b.cn)("h-full",P),imgClassName:"object-cover h-full"})},t?.id+"SwiperSlideItem"+m))}),r.availableForSale&&!!f&&!t.index&&(0,e.jsx)(k.Badge,{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:`${(0,$.formatPrice)({amount:f,currencyCode:r?.price?.currencyCode,locale:o})} ${g?.off}`}),(0,e.jsx)("div",{className:(0,b.cn)("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:E,children:(0,e.jsx)(B,{className:(0,b.cn)("tablet:size-10 lg-desktop:size-12")})}),(0,e.jsx)("div",{className:(0,b.cn)("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:x,children:(0,e.jsx)(F,{className:(0,b.cn)("tablet:size-10 lg-desktop:size-12")})}),(0,e.jsxs)("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:[(0,e.jsx)("div",{className:"hidden tablet:block",children:(0,e.jsx)(N.Swiper,{className:"flex items-center justify-between",onSwiper:h,spaceBetween:12,slidesPerView:6,freeMode:!0,watchSlidesProgress:!0,modules:[u.Navigation,u.Thumbs],children:t?.galleries?.map((s,m)=>(0,e.jsx)(N.SwiperSlide,{className:"!w-auto [&.swiper-slide-thumb-active]:border [&.swiper-slide-thumb-active]:rounded [&.swiper-slide-thumb-active]:border-brand",children:(0,e.jsx)(k.Picture,{source:s.image?.url,alt:s.image?.altText,className:"size-10 lg-desktop:size-12 overflow-hidden bg-white rounded",imgClassName:"object-contain h-full"})},t?.id+"SwiperSlideThumbItem"+m))})}),!t?.index&&(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[(0,e.jsx)(k.Picture,{source:t?.comment?.avatar?.url,className:"size-8 laptop:size-10 rounded-full shrink-0",imgClassName:"object-cover "}),(0,e.jsx)("div",{className:"overflow-hidden max-w-[528px] relative",children:(0,e.jsx)("div",{ref:G,className:(0,b.cn)("h-10 lg-desktop:h-12",L?"animate-marquee-scroll":""),style:{animationDuration:"3s"},children:(0,e.jsx)(k.Text,{html:t?.comment?.content,className:"text-sm lg-desktop:text-base font-bold text-[#1D1D1F]"})})})]})]}),(0,e.jsx)("div",{ref:v,className:"tablet:hidden text-center absolute !bottom-[70px] left-4 right-4 z-10"})]})}),te=t=>{const[a,o]=(0,l.useState)(null),g=(0,l.useCallback)(()=>{a?.isBeginning?t.onPrevTab?.():a?.slidePrev()},[a,t]),r=(0,l.useCallback)(()=>{a?.isEnd?t.onNextTab?.():a?.slideNext()},[a,t]);return(0,l.useEffect)(()=>{a&&t.targetSlideIndex!==null&&t.targetSlideIndex!==void 0&&(a.slideTo(t.targetSlideIndex,0),t.onSlideChange?.())},[a,t.targetSlideIndex,t]),(0,e.jsxs)("div",{className:"h-full [&_.swiper-button]:hover:opacity-100",children:[(0,e.jsx)(N.Swiper,{className:"h-full",onSwiper:o,modules:[u.Mousewheel,u.Thumbs,u.Navigation,u.Pagination],mousewheel:{forceToAxis:!0},breakpoints:{0:{slidesPerView:1,freeMode:!1}},children:t?.galleries?.map((f,v)=>(0,e.jsx)(N.SwiperSlide,{className:"h-full",children:(0,e.jsxs)("video",{controls:!0,className:"size-full",children:[(0,e.jsx)("track",{kind:"captions"}),(0,e.jsx)("source",{src:f?.sources?.[0]?.url,type:"video/mp4"}),(0,e.jsx)("source",{src:f?.sources?.[0]?.url,type:"video/webm"}),(0,e.jsx)("source",{src:f?.sources?.[0]?.url,type:"video/ogg"})]})},t?.id+"SwiperSlideItem"+v))}),(0,e.jsx)("div",{className:(0,b.cn)("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:g,children:(0,e.jsx)(B,{className:"tablet:size-10 lg-desktop:size-12"})}),(0,e.jsx)("div",{className:(0,b.cn)("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:r,children:(0,e.jsx)(F,{className:"tablet:size-10 lg-desktop:size-12"})})]})},re=t=>(0,e.jsx)("div",{children:"3D View"});var le=X;
1
+ "use strict";var W=Object.create;var M=Object.defineProperty;var O=Object.getOwnPropertyDescriptor;var U=Object.getOwnPropertyNames;var Z=Object.getPrototypeOf,q=Object.prototype.hasOwnProperty;var K=(t,a)=>{for(var s in a)M(t,s,{get:a[s],enumerable:!0})},D=(t,a,s,g)=>{if(a&&typeof a=="object"||typeof a=="function")for(let r of U(a))!q.call(t,r)&&r!==s&&M(t,r,{get:()=>a[r],enumerable:!(g=O(a,r))||g.enumerable});return t};var J=(t,a,s)=>(s=t!=null?W(Z(t)):{},D(a||!t||!t.__esModule?M(s,"default",{value:t,enumerable:!0}):s,t)),Q=t=>D(M({},"__esModule",{value:!0}),t);var ae={};K(ae,{default:()=>le});module.exports=Q(ae);var e=require("react/jsx-runtime"),_=require("../../../../AiuiProvider/index.js"),k=require("../../../../../components"),l=require("react"),N=require("swiper/react"),p=require("swiper/modules"),h=require("../../../../../helpers/index.js"),T=require("./types.js"),I=require("@radix-ui/react-tabs"),z=require("../../../BizProductProvider.js"),j=require("../../../hooks/use-variant-media.js"),H=require("./components/SpecsModal.js"),Y=J(require("./components/CompareModal.js")),$=require("../../../utils/index.js");const B=t=>(0,e.jsxs)("svg",{width:"48",height:"48",viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t,children:[(0,e.jsx)("rect",{x:"48",y:"48",width:"48",height:"48",rx:"24",transform:"rotate(-180 48 48)",fill:"white"}),(0,e.jsx)("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"})]}),F=t=>(0,e.jsxs)("svg",{width:"48",height:"48",viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t,children:[(0,e.jsx)("rect",{width:"48",height:"48",rx:"24",transform:"matrix(1 -8.74228e-08 -8.74228e-08 -1 0 48)",fill:"white"}),(0,e.jsx)("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"})]}),X=()=>{const{copyWriting:t}=(0,_.useAiuiContext)(),{product:a,variant:s,selectedOptions:g}=(0,z.useBizProductContext)(),r=(0,j.useVariantMedia)({product:a,variant:s}),[n,f]=(0,l.useState)(null),d=s?.metafields?.component?.custom_media_list;let y,w,S,x;d&&d?.available?(y=d?.product||[],w=d?.scenarios||[],S=d?.keyFeatures||[],x=d?.video||[]):(y=r?.productList,w=r?.sceneList,S=r?.keyFeaturesList,x=r?.videoList);const A=(0,l.useMemo)(()=>[...y,...w,...x],[y,w,x]),b={productList:y,sceneList:w,keyFeaturesList:S,videoList:x},c=(0,l.useMemo)(()=>(a?.payload?.components?.find(u=>u.componentKey==="ProductGallery")?.data||[])?.map(u=>({...u,galleries:b[u?.galleries]||[]})).filter(u=>u.galleries.length>0),[a?.payload,b]),[G,L]=(0,l.useState)(c?.[0]),[E,P]=(0,l.useState)(0),[C,v]=(0,l.useState)(null),i=(0,l.useCallback)(()=>{const o=(E+1)%c.length;P(o),L(c[o]),v(0)},[E,c]),m=(0,l.useCallback)(()=>{const o=E===0?c.length-1:E-1;P(o),L(c[o]);const u=c[o]?.galleries||[];v(u.length-1)},[E,c]);(0,l.useEffect)(()=>{L(c[0]),P(0)},[s?.id]);const V=(o,u)=>{switch(o?.galleryTabType){case T.GalleryTabType.GALLERY_IMAGE_MAIN:return(0,e.jsx)(R,{...o,index:u,onNextTab:i,onPrevTab:m,targetSlideIndex:C,onSlideChange:()=>v(null)});case T.GalleryTabType.GALLERY_IMAGE_FEATURES:return(0,e.jsx)(R,{...o,index:u,onNextTab:i,onPrevTab:m,targetSlideIndex:C,onSlideChange:()=>v(null)});case T.GalleryTabType.GALLERY_IMAGE_SCENE:return(0,e.jsx)(R,{...o,index:u,onNextTab:i,onPrevTab:m,targetSlideIndex:C,onSlideChange:()=>v(null)});case T.GalleryTabType.GALLERY_VIDEO:return(0,e.jsx)(te,{...o,onNextTab:i,onPrevTab:m,targetSlideIndex:C,onSlideChange:()=>v(null)});default:return null}};return(0,e.jsx)("div",{id:"ipc-product-gallery",children:(0,e.jsxs)(I.Root,{className:"relative",value:G?.tabValue,defaultValue:c?.[0]?.tabValue,children:[(0,e.jsx)("div",{className:"h-[420px] overflow-hidden tablet:h-[620px] desktop:rounded-2xl desktop:h-[560px] lg-desktop:h-[700px] bg-[#EAEAEC] desktop:relative ",children:c.map((o,u)=>(0,e.jsx)(I.Content,{className:"h-full",value:o.tabValue,children:V(o,u)},o.tabValue))}),(0,e.jsx)(ee,{galleryTabs:c,activeGalleryTab:G,setActiveGalleryTab:L,setActiveTabIndex:P,setTargetSlideIndex:v})]})})},ee=({galleryTabs:t,activeGalleryTab:a,setActiveGalleryTab:s,setActiveTabIndex:g,setTargetSlideIndex:r})=>{const{product:n}=(0,z.useBizProductContext)(),f=(0,l.useRef)(null);return(0,e.jsxs)("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:[(0,e.jsx)(I.List,{ref:f,className:"rounded-full bg-[#EAEAEC] p-1 laptop:p-0 desktop:p-1 overflow-x-auto",style:{scrollbarWidth:"none",msOverflowStyle:"none"},children:(0,e.jsx)("div",{className:"whitespace-nowrap",children:t?.map((d,y)=>(0,e.jsx)(I.Trigger,{className:(0,h.cn)("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",d.tabValue===a?.tabValue&&"bg-white"),onClick:w=>{if(s(d),g(y),r(0),f.current){const S=f.current,x=w.currentTarget,A=x.offsetLeft-S.offsetWidth/2+x.offsetWidth/2;S.scrollTo({left:A,behavior:"smooth"})}},value:d.tabValue,children:d.tabLabel},d.tabValue))})}),(0,e.jsx)("div",{className:"laptop:gap-2 hidden laptop:flex",children:n.metafields?.global?.specifications&&(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(H.SpecsModal,{})," | ",(0,e.jsx)(Y.default,{})]})})]})},R=(0,l.forwardRef)((t,a)=>{const{locale:s="us",copyWriting:g}=(0,_.useAiuiContext)(),{variant:r,totalSavings:n}=(0,z.useBizProductContext)(),f=(0,l.useRef)(null),[d,y]=(0,l.useState)(null),[w,S]=(0,l.useState)(!0),[x,A]=(0,l.useState)(!1),[b,c]=(0,l.useState)(null),G=(0,l.useRef)(null),[L,E]=(0,l.useState)(!1),P=(0,l.useMemo)(()=>{if(t?.galleryTabType===T.GalleryTabType.GALLERY_IMAGE_MAIN)return"size-[240px] mx-auto mt-[42px] tablet:mt-16 tablet:size-[420px] lg-desktop:size-[560px]";t?.galleryTabType===T.GalleryTabType.GALLERY_IMAGE_FEATURES||(t?.galleryTabType,T.GalleryTabType.GALLERY_IMAGE_SCENE)},[t?.galleryTabType]),C=(0,l.useCallback)(()=>{b?.isBeginning?t.onPrevTab?.():b?.slidePrev()},[b,t]),v=(0,l.useCallback)(()=>{b?.isEnd?t.onNextTab?.():b?.slideNext()},[b,t]);return(0,l.useEffect)(()=>{b&&t.targetSlideIndex&&(b.slideTo(t.targetSlideIndex,0),t.onSlideChange?.())},[b,t.targetSlideIndex,t]),(0,l.useEffect)(()=>{if(G.current){const i=G.current,m=i.scrollHeight,V=i.clientHeight,o=m>V;E(o)}},[]),(0,e.jsxs)("div",{className:"h-full [&_.swiper-button]:hover:opacity-100",children:[(0,e.jsx)(N.Swiper,{ref:a,className:"h-full",onSwiper:c,onProgress:i=>{S(i.isBeginning),A(i.isEnd)},onTouchEnd:(i,m)=>{i.isBeginning&&i.swipeDirection==="prev"?C():i.isEnd&&i.swipeDirection==="next"&&v()},pagination:{clickable:!0,el:f.current},thumbs:{swiper:d},modules:[p.Mousewheel,p.Thumbs,p.Navigation,p.Pagination],mousewheel:{forceToAxis:!0},breakpoints:{0:{slidesPerView:1,freeMode:!1}},children:t?.galleries?.map((i,m)=>(0,e.jsx)(N.SwiperSlide,{className:"h-full",children:(0,e.jsx)(k.Picture,{source:i?.image?.url,alt:i?.image?.altText,className:(0,h.cn)("h-full",P),imgClassName:"object-cover h-full"})},t?.id+"SwiperSlideItem"+m))}),r.availableForSale&&!!n&&!t.index&&(0,e.jsx)(k.Badge,{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:`${(0,$.formatPrice)({amount:n,currencyCode:r?.price?.currencyCode,locale:s})} ${g?.off}`}),(0,e.jsx)("div",{className:(0,h.cn)("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:(0,e.jsx)(B,{className:(0,h.cn)("tablet:size-10 lg-desktop:size-12")})}),(0,e.jsx)("div",{className:(0,h.cn)("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:v,children:(0,e.jsx)(F,{className:(0,h.cn)("tablet:size-10 lg-desktop:size-12")})}),(0,e.jsxs)("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:[(0,e.jsx)("div",{className:"hidden tablet:block",children:(0,e.jsx)(N.Swiper,{className:"flex items-center justify-between",onSwiper:y,spaceBetween:12,slidesPerView:6,freeMode:!0,watchSlidesProgress:!0,modules:[p.Navigation,p.Thumbs],children:t?.galleries?.map((i,m)=>(0,e.jsx)(N.SwiperSlide,{className:"!w-auto [&.swiper-slide-thumb-active]:border [&.swiper-slide-thumb-active]:rounded [&.swiper-slide-thumb-active]:border-brand",children:(0,e.jsx)(k.Picture,{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"+m))})}),!t?.index&&(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[(0,e.jsx)(k.Picture,{source:t?.comment?.avatar?.url,className:"size-8 laptop:size-10 rounded-full shrink-0",imgClassName:"object-cover "}),(0,e.jsx)("div",{className:"overflow-hidden max-w-[528px] relative",children:(0,e.jsx)("div",{ref:G,className:(0,h.cn)("h-10 lg-desktop:h-12",L?"animate-marquee-scroll":""),style:{animationDuration:"3s"},children:(0,e.jsx)(k.Text,{html:t?.comment?.content,className:"text-sm lg-desktop:text-base font-bold text-[#1D1D1F]"})})})]})]}),(0,e.jsx)("div",{ref:f,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"})]})}),te=t=>{const[a,s]=(0,l.useState)(null),g=(0,l.useCallback)(()=>{a?.isBeginning?t.onPrevTab?.():a?.slidePrev()},[a,t]),r=(0,l.useCallback)(()=>{a?.isEnd?t.onNextTab?.():a?.slideNext()},[a,t]);return(0,l.useEffect)(()=>{a&&t.targetSlideIndex!==null&&t.targetSlideIndex!==void 0&&(a.slideTo(t.targetSlideIndex,0),t.onSlideChange?.())},[a,t.targetSlideIndex,t]),(0,e.jsxs)("div",{className:"h-full [&_.swiper-button]:hover:opacity-100",children:[(0,e.jsx)(N.Swiper,{className:"h-full",onSwiper:s,onTouchEnd:(n,f)=>{n.isBeginning&&n.swipeDirection==="prev"?g():n.isEnd&&n.swipeDirection==="next"&&r()},modules:[p.Mousewheel,p.Thumbs,p.Navigation,p.Pagination],mousewheel:{forceToAxis:!0},breakpoints:{0:{slidesPerView:1,freeMode:!1}},children:t?.galleries?.map((n,f)=>(0,e.jsx)(N.SwiperSlide,{className:"h-full",children:(0,e.jsxs)("video",{controls:!0,className:"size-full",children:[(0,e.jsx)("track",{kind:"captions"}),(0,e.jsx)("source",{src:n?.sources?.[0]?.url,type:"video/mp4"}),(0,e.jsx)("source",{src:n?.sources?.[0]?.url,type:"video/webm"}),(0,e.jsx)("source",{src:n?.sources?.[0]?.url,type:"video/ogg"})]})},t?.id+"SwiperSlideItem"+f))}),(0,e.jsx)("div",{className:(0,h.cn)("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:g,children:(0,e.jsx)(B,{className:"tablet:size-10 lg-desktop:size-12"})}),(0,e.jsx)("div",{className:(0,h.cn)("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:r,children:(0,e.jsx)(F,{className:"tablet:size-10 lg-desktop:size-12"})})]})},se=t=>(0,e.jsx)("div",{children:"3D View"});var le=X;
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": ["ProductGallery_exports", "__export", "ProductGallery_default", "__toCommonJS", "import_jsx_runtime", "import_AiuiProvider", "import_components", "import_react", "import_modules", "import_helpers", "import_types", "import_react_tabs", "import_BizProductProvider", "import_use_variant_media", "import_SpecsModal", "import_CompareModal", "import_utils", "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", "CompareModal", "ref", "locale", "totalSavings", "paginationRef", "thumbsSwiper", "setThumbsSwiper", "isStart", "setStart", "isEnd", "setEnd", "commentRef", "shouldScroll", "setShouldScroll", "imageClassName", "handlePrevClick", "handleNextClick", "contentHeight", "containerHeight", "needsScroll", "jIndex", "ProductGalleryTab3DView"]
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": ["ProductGallery_exports", "__export", "ProductGallery_default", "__toCommonJS", "import_jsx_runtime", "import_AiuiProvider", "import_components", "import_react", "import_modules", "import_helpers", "import_types", "import_react_tabs", "import_BizProductProvider", "import_use_variant_media", "import_SpecsModal", "import_CompareModal", "import_utils", "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", "CompareModal", "ref", "locale", "totalSavings", "paginationRef", "thumbsSwiper", "setThumbsSwiper", "isStart", "setStart", "isEnd", "setEnd", "commentRef", "shouldScroll", "setShouldScroll", "imageClassName", "handlePrevClick", "handleNextClick", "contentHeight", "containerHeight", "needsScroll", "event", "jIndex", "ProductGalleryTab3DView"]
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;