@anker-in/headless-ui 1.1.2 → 1.1.4

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 (405) hide show
  1. package/dist/cjs/biz-components/AiuiProvider/index.d.ts +4 -0
  2. package/dist/cjs/biz-components/AiuiProvider/index.js +1 -1
  3. package/dist/cjs/biz-components/AiuiProvider/index.js.map +2 -2
  4. package/dist/cjs/biz-components/AplusDesc/index.d.ts +22 -0
  5. package/dist/cjs/biz-components/AplusDesc/index.js +2 -0
  6. package/dist/cjs/biz-components/AplusDesc/index.js.map +7 -0
  7. package/dist/cjs/biz-components/DownLoad/index.d.ts +20 -0
  8. package/dist/cjs/biz-components/DownLoad/index.js +2 -0
  9. package/dist/cjs/biz-components/DownLoad/index.js.map +7 -0
  10. package/dist/cjs/biz-components/Faq/Faq.js +1 -1
  11. package/dist/cjs/biz-components/Faq/Faq.js.map +2 -2
  12. package/dist/cjs/biz-components/Features/index.js +1 -1
  13. package/dist/cjs/biz-components/Features/index.js.map +2 -2
  14. package/dist/cjs/biz-components/FootCharger/index.js.map +2 -2
  15. package/dist/cjs/biz-components/GiftBox/index.d.ts +17 -0
  16. package/dist/cjs/biz-components/GiftBox/index.js +2 -0
  17. package/dist/cjs/biz-components/GiftBox/index.js.map +7 -0
  18. package/dist/cjs/biz-components/Graphic/index.js +1 -1
  19. package/dist/cjs/biz-components/Graphic/index.js.map +2 -2
  20. package/dist/cjs/biz-components/GraphicMore/index.js +1 -1
  21. package/dist/cjs/biz-components/GraphicMore/index.js.map +2 -2
  22. package/dist/cjs/biz-components/Listing/BizProductProvider.d.ts +126 -0
  23. package/dist/cjs/biz-components/Listing/BizProductProvider.js +2 -0
  24. package/dist/cjs/biz-components/Listing/BizProductProvider.js.map +7 -0
  25. package/dist/cjs/biz-components/Listing/components/PaidShipping/LearnMore.d.ts +2 -0
  26. package/dist/cjs/biz-components/Listing/components/PaidShipping/LearnMore.js +2 -0
  27. package/dist/cjs/biz-components/Listing/components/PaidShipping/LearnMore.js.map +7 -0
  28. package/dist/cjs/biz-components/Listing/components/PaidShipping/ShippingMethod.d.ts +10 -0
  29. package/dist/cjs/biz-components/Listing/components/PaidShipping/ShippingMethod.js +2 -0
  30. package/dist/cjs/biz-components/Listing/components/PaidShipping/ShippingMethod.js.map +7 -0
  31. package/dist/cjs/biz-components/Listing/components/PaidShipping/ShippingPolicyModal.d.ts +25 -0
  32. package/dist/cjs/biz-components/Listing/components/PaidShipping/ShippingPolicyModal.js +2 -0
  33. package/dist/cjs/biz-components/Listing/components/PaidShipping/ShippingPolicyModal.js.map +7 -0
  34. package/dist/cjs/biz-components/Listing/components/PaidShipping/index.d.ts +15 -0
  35. package/dist/cjs/biz-components/Listing/components/PaidShipping/index.js +2 -0
  36. package/dist/cjs/biz-components/Listing/components/PaidShipping/index.js.map +7 -0
  37. package/dist/cjs/biz-components/Listing/components/PaidShipping/type.d.ts +30 -0
  38. package/dist/cjs/biz-components/Listing/components/PaidShipping/type.js +2 -0
  39. package/dist/cjs/biz-components/Listing/components/PaidShipping/type.js.map +7 -0
  40. package/dist/cjs/biz-components/Listing/components/PaidShipping/utils.d.ts +2 -0
  41. package/dist/cjs/biz-components/Listing/components/PaidShipping/utils.js +2 -0
  42. package/dist/cjs/biz-components/Listing/components/PaidShipping/utils.js.map +7 -0
  43. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.d.ts +39 -0
  44. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.js +40 -0
  45. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.js.map +7 -0
  46. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/ModalContainer.d.ts +10 -0
  47. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/ModalContainer.js +2 -0
  48. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/ModalContainer.js.map +7 -0
  49. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.d.ts +30 -0
  50. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.js +2 -0
  51. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.js.map +7 -0
  52. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.d.ts +5 -0
  53. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.js +2 -0
  54. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.js.map +7 -0
  55. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.d.ts +5 -0
  56. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.js +2 -0
  57. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.js.map +7 -0
  58. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.d.ts +5 -0
  59. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.js +2 -0
  60. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.js.map +7 -0
  61. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.d.ts +5 -0
  62. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js +2 -0
  63. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js.map +7 -0
  64. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.d.ts +5 -0
  65. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.js +2 -0
  66. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.js.map +7 -0
  67. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/index.d.ts +2 -0
  68. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/index.js +2 -0
  69. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/index.js.map +7 -0
  70. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/types.d.ts +43 -0
  71. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/types.js +2 -0
  72. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/types.js.map +7 -0
  73. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/CompareModal.d.ts +2 -0
  74. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/CompareModal.js +2 -0
  75. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/CompareModal.js.map +7 -0
  76. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/Select.d.ts +21 -0
  77. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/Select.js +2 -0
  78. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/Select.js.map +7 -0
  79. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/ShopifyColorOption.d.ts +5 -0
  80. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/ShopifyColorOption.js +2 -0
  81. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/ShopifyColorOption.js.map +7 -0
  82. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/SpecsModal.d.ts +1 -0
  83. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/SpecsModal.js +2 -0
  84. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/SpecsModal.js.map +7 -0
  85. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/index.d.ts +8 -0
  86. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/index.js +2 -0
  87. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/index.js.map +7 -0
  88. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/types.d.ts +73 -0
  89. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/types.js +2 -0
  90. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/types.js.map +7 -0
  91. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGridBox.d.ts +6 -0
  92. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGridBox.js +2 -0
  93. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGridBox.js.map +7 -0
  94. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductSummary/index.d.ts +5 -0
  95. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductSummary/index.js +2 -0
  96. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductSummary/index.js.map +7 -0
  97. package/dist/cjs/biz-components/Listing/components/ProductCard/index.d.ts +2 -0
  98. package/dist/cjs/biz-components/Listing/components/ProductCard/index.js +2 -0
  99. package/dist/cjs/biz-components/Listing/components/ProductCard/index.js.map +7 -0
  100. package/dist/cjs/biz-components/Listing/components/PurchaseBar/ProductActions/index.d.ts +2 -0
  101. package/dist/cjs/biz-components/Listing/components/PurchaseBar/ProductActions/index.js +2 -0
  102. package/dist/cjs/biz-components/Listing/components/PurchaseBar/ProductActions/index.js.map +7 -0
  103. package/dist/cjs/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/index.d.ts +3 -0
  104. package/dist/cjs/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/index.js +2 -0
  105. package/dist/cjs/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/index.js.map +7 -0
  106. package/dist/cjs/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/types.d.ts +12 -0
  107. package/dist/cjs/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/types.js +2 -0
  108. package/dist/cjs/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/types.js.map +7 -0
  109. package/dist/cjs/biz-components/Listing/components/PurchaseBar/index.d.ts +6 -0
  110. package/dist/cjs/biz-components/Listing/components/PurchaseBar/index.js +2 -0
  111. package/dist/cjs/biz-components/Listing/components/PurchaseBar/index.js.map +7 -0
  112. package/dist/cjs/biz-components/Listing/components/PurchaseBar/types.d.ts +12 -0
  113. package/dist/cjs/biz-components/Listing/components/PurchaseBar/types.js +2 -0
  114. package/dist/cjs/biz-components/Listing/components/PurchaseBar/types.js.map +7 -0
  115. package/dist/cjs/biz-components/Listing/components/index.d.ts +3 -0
  116. package/dist/cjs/biz-components/Listing/components/index.js +2 -0
  117. package/dist/cjs/biz-components/Listing/components/index.js.map +7 -0
  118. package/dist/cjs/biz-components/Listing/const.d.ts +29 -0
  119. package/dist/cjs/biz-components/Listing/const.js +2 -0
  120. package/dist/cjs/biz-components/Listing/const.js.map +7 -0
  121. package/dist/cjs/biz-components/Listing/hooks/use-variant-media.d.ts +14 -0
  122. package/dist/cjs/biz-components/Listing/hooks/use-variant-media.js +2 -0
  123. package/dist/cjs/biz-components/Listing/hooks/use-variant-media.js.map +7 -0
  124. package/dist/cjs/biz-components/Listing/hooks/use-variant.d.ts +5 -0
  125. package/dist/cjs/biz-components/Listing/hooks/use-variant.js +2 -0
  126. package/dist/cjs/biz-components/Listing/hooks/use-variant.js.map +7 -0
  127. package/dist/cjs/biz-components/Listing/hooks/useBenefits.d.ts +50 -0
  128. package/dist/cjs/biz-components/Listing/hooks/useBenefits.js +2 -0
  129. package/dist/cjs/biz-components/Listing/hooks/useBenefits.js.map +7 -0
  130. package/dist/cjs/biz-components/Listing/hooks/useCopy.d.ts +5 -0
  131. package/dist/cjs/biz-components/Listing/hooks/useCopy.js +2 -0
  132. package/dist/cjs/biz-components/Listing/hooks/useCopy.js.map +7 -0
  133. package/dist/cjs/biz-components/Listing/hooks/useDiscountEnable.d.ts +14 -0
  134. package/dist/cjs/biz-components/Listing/hooks/useDiscountEnable.js +2 -0
  135. package/dist/cjs/biz-components/Listing/hooks/useDiscountEnable.js.map +7 -0
  136. package/dist/cjs/biz-components/Listing/index.d.ts +3 -0
  137. package/dist/cjs/biz-components/Listing/index.js +2 -0
  138. package/dist/cjs/biz-components/Listing/index.js.map +7 -0
  139. package/dist/cjs/biz-components/Listing/types/graphql.d.ts +7473 -0
  140. package/dist/cjs/biz-components/Listing/types/graphql.js +2 -0
  141. package/dist/cjs/biz-components/Listing/types/graphql.js.map +7 -0
  142. package/dist/cjs/biz-components/Listing/types/product.d.ts +141 -0
  143. package/dist/cjs/biz-components/Listing/types/product.js +2 -0
  144. package/dist/cjs/biz-components/Listing/types/product.js.map +7 -0
  145. package/dist/cjs/biz-components/Listing/types/productMetafields.d.js +2 -0
  146. package/dist/cjs/biz-components/Listing/types/productMetafields.d.js.map +7 -0
  147. package/dist/cjs/biz-components/Listing/types/type-helper.d.ts +5 -0
  148. package/dist/cjs/biz-components/Listing/types/type-helper.js +2 -0
  149. package/dist/cjs/biz-components/Listing/types/type-helper.js.map +7 -0
  150. package/dist/cjs/biz-components/Listing/types.d.ts +29 -0
  151. package/dist/cjs/biz-components/Listing/types.js +2 -0
  152. package/dist/cjs/biz-components/Listing/types.js.map +7 -0
  153. package/dist/cjs/biz-components/Listing/utils/helper.d.ts +36 -0
  154. package/dist/cjs/biz-components/Listing/utils/helper.js +2 -0
  155. package/dist/cjs/biz-components/Listing/utils/helper.js.map +7 -0
  156. package/dist/cjs/biz-components/Listing/utils/index.d.ts +37 -0
  157. package/dist/cjs/biz-components/Listing/utils/index.js +2 -0
  158. package/dist/cjs/biz-components/Listing/utils/index.js.map +7 -0
  159. package/dist/cjs/biz-components/Listing/utils/textFormat.d.ts +73 -0
  160. package/dist/cjs/biz-components/Listing/utils/textFormat.js +2 -0
  161. package/dist/cjs/biz-components/Listing/utils/textFormat.js.map +7 -0
  162. package/dist/cjs/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js +1 -1
  163. package/dist/cjs/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js.map +3 -3
  164. package/dist/cjs/biz-components/MultiLayoutGraphicBlock/types.d.ts +2 -0
  165. package/dist/cjs/biz-components/MultiLayoutGraphicBlock/types.js +1 -1
  166. package/dist/cjs/biz-components/MultiLayoutGraphicBlock/types.js.map +1 -1
  167. package/dist/cjs/biz-components/SelectStore/index.d.ts +20 -0
  168. package/dist/cjs/biz-components/SelectStore/index.js +2 -0
  169. package/dist/cjs/biz-components/SelectStore/index.js.map +7 -0
  170. package/dist/cjs/biz-components/Specs/dropdown.js +2 -2
  171. package/dist/cjs/biz-components/Specs/dropdown.js.map +2 -2
  172. package/dist/cjs/biz-components/Specs/index.js +1 -1
  173. package/dist/cjs/biz-components/Specs/index.js.map +3 -3
  174. package/dist/cjs/biz-components/Tabs/Tabs.js +1 -1
  175. package/dist/cjs/biz-components/Tabs/Tabs.js.map +2 -2
  176. package/dist/cjs/biz-components/Title/index.js +1 -1
  177. package/dist/cjs/biz-components/Title/index.js.map +2 -2
  178. package/dist/cjs/biz-components/index.d.ts +57 -1
  179. package/dist/cjs/biz-components/index.js +1 -1
  180. package/dist/cjs/biz-components/index.js.map +3 -3
  181. package/dist/cjs/components/ExposureDetector.d.ts +45 -0
  182. package/dist/cjs/components/ExposureDetector.js +2 -0
  183. package/dist/cjs/components/ExposureDetector.js.map +7 -0
  184. package/dist/cjs/components/checkbox.d.ts +1 -0
  185. package/dist/cjs/components/checkbox.js +1 -1
  186. package/dist/cjs/components/checkbox.js.map +3 -3
  187. package/dist/cjs/components/dialog.d.ts +1 -1
  188. package/dist/cjs/components/dialog.js +1 -1
  189. package/dist/cjs/components/dialog.js.map +2 -2
  190. package/dist/cjs/components/index.d.ts +1 -0
  191. package/dist/cjs/components/index.js +1 -1
  192. package/dist/cjs/components/index.js.map +3 -3
  193. package/dist/cjs/components/picture.js +1 -1
  194. package/dist/cjs/components/picture.js.map +2 -2
  195. package/dist/cjs/hooks/useExposureDetection.d.ts +69 -0
  196. package/dist/cjs/hooks/useExposureDetection.js +2 -0
  197. package/dist/cjs/hooks/useExposureDetection.js.map +7 -0
  198. package/dist/cjs/stories/carousel.stories.d.ts +3 -57
  199. package/dist/cjs/stories/carousel.stories.js.map +2 -2
  200. package/dist/esm/biz-components/AiuiProvider/index.d.ts +4 -0
  201. package/dist/esm/biz-components/AiuiProvider/index.js +1 -1
  202. package/dist/esm/biz-components/AiuiProvider/index.js.map +2 -2
  203. package/dist/esm/biz-components/AplusDesc/index.d.ts +22 -0
  204. package/dist/esm/biz-components/AplusDesc/index.js +2 -0
  205. package/dist/esm/biz-components/AplusDesc/index.js.map +7 -0
  206. package/dist/esm/biz-components/DownLoad/index.d.ts +20 -0
  207. package/dist/esm/biz-components/DownLoad/index.js +2 -0
  208. package/dist/esm/biz-components/DownLoad/index.js.map +7 -0
  209. package/dist/esm/biz-components/Faq/Faq.js +1 -1
  210. package/dist/esm/biz-components/Faq/Faq.js.map +3 -3
  211. package/dist/esm/biz-components/Features/index.js +1 -1
  212. package/dist/esm/biz-components/Features/index.js.map +2 -2
  213. package/dist/esm/biz-components/FootCharger/index.js.map +2 -2
  214. package/dist/esm/biz-components/GiftBox/index.d.ts +17 -0
  215. package/dist/esm/biz-components/GiftBox/index.js +2 -0
  216. package/dist/esm/biz-components/GiftBox/index.js.map +7 -0
  217. package/dist/esm/biz-components/Graphic/index.js +1 -1
  218. package/dist/esm/biz-components/Graphic/index.js.map +2 -2
  219. package/dist/esm/biz-components/GraphicMore/index.js +1 -1
  220. package/dist/esm/biz-components/GraphicMore/index.js.map +2 -2
  221. package/dist/esm/biz-components/Listing/BizProductProvider.d.ts +126 -0
  222. package/dist/esm/biz-components/Listing/BizProductProvider.js +2 -0
  223. package/dist/esm/biz-components/Listing/BizProductProvider.js.map +7 -0
  224. package/dist/esm/biz-components/Listing/components/PaidShipping/LearnMore.d.ts +2 -0
  225. package/dist/esm/biz-components/Listing/components/PaidShipping/LearnMore.js +2 -0
  226. package/dist/esm/biz-components/Listing/components/PaidShipping/LearnMore.js.map +7 -0
  227. package/dist/esm/biz-components/Listing/components/PaidShipping/ShippingMethod.d.ts +10 -0
  228. package/dist/esm/biz-components/Listing/components/PaidShipping/ShippingMethod.js +2 -0
  229. package/dist/esm/biz-components/Listing/components/PaidShipping/ShippingMethod.js.map +7 -0
  230. package/dist/esm/biz-components/Listing/components/PaidShipping/ShippingPolicyModal.d.ts +25 -0
  231. package/dist/esm/biz-components/Listing/components/PaidShipping/ShippingPolicyModal.js +2 -0
  232. package/dist/esm/biz-components/Listing/components/PaidShipping/ShippingPolicyModal.js.map +7 -0
  233. package/dist/esm/biz-components/Listing/components/PaidShipping/index.d.ts +15 -0
  234. package/dist/esm/biz-components/Listing/components/PaidShipping/index.js +2 -0
  235. package/dist/esm/biz-components/Listing/components/PaidShipping/index.js.map +7 -0
  236. package/dist/esm/biz-components/Listing/components/PaidShipping/type.d.ts +30 -0
  237. package/dist/esm/biz-components/Listing/components/PaidShipping/type.js +2 -0
  238. package/dist/esm/biz-components/Listing/components/PaidShipping/type.js.map +7 -0
  239. package/dist/esm/biz-components/Listing/components/PaidShipping/utils.d.ts +2 -0
  240. package/dist/esm/biz-components/Listing/components/PaidShipping/utils.js +2 -0
  241. package/dist/esm/biz-components/Listing/components/PaidShipping/utils.js.map +7 -0
  242. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.d.ts +39 -0
  243. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.js +40 -0
  244. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.js.map +7 -0
  245. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/ModalContainer.d.ts +10 -0
  246. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/ModalContainer.js +2 -0
  247. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/ModalContainer.js.map +7 -0
  248. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.d.ts +30 -0
  249. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.js +2 -0
  250. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.js.map +7 -0
  251. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.d.ts +5 -0
  252. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.js +2 -0
  253. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.js.map +7 -0
  254. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.d.ts +5 -0
  255. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.js +2 -0
  256. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.js.map +7 -0
  257. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.d.ts +5 -0
  258. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.js +2 -0
  259. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.js.map +7 -0
  260. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.d.ts +5 -0
  261. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js +2 -0
  262. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js.map +7 -0
  263. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.d.ts +5 -0
  264. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.js +2 -0
  265. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.js.map +7 -0
  266. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/index.d.ts +2 -0
  267. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/index.js +2 -0
  268. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/index.js.map +7 -0
  269. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/types.d.ts +43 -0
  270. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/types.js +2 -0
  271. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/types.js.map +7 -0
  272. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/CompareModal.d.ts +2 -0
  273. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/CompareModal.js +2 -0
  274. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/CompareModal.js.map +7 -0
  275. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/Select.d.ts +21 -0
  276. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/Select.js +2 -0
  277. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/Select.js.map +7 -0
  278. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/ShopifyColorOption.d.ts +5 -0
  279. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/ShopifyColorOption.js +2 -0
  280. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/ShopifyColorOption.js.map +7 -0
  281. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/SpecsModal.d.ts +1 -0
  282. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/SpecsModal.js +2 -0
  283. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/SpecsModal.js.map +7 -0
  284. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/index.d.ts +8 -0
  285. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/index.js +2 -0
  286. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/index.js.map +7 -0
  287. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/types.d.ts +73 -0
  288. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/types.js +2 -0
  289. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/types.js.map +7 -0
  290. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGridBox.d.ts +6 -0
  291. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGridBox.js +2 -0
  292. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGridBox.js.map +7 -0
  293. package/dist/esm/biz-components/Listing/components/ProductCard/ProductSummary/index.d.ts +5 -0
  294. package/dist/esm/biz-components/Listing/components/ProductCard/ProductSummary/index.js +2 -0
  295. package/dist/esm/biz-components/Listing/components/ProductCard/ProductSummary/index.js.map +7 -0
  296. package/dist/esm/biz-components/Listing/components/ProductCard/index.d.ts +2 -0
  297. package/dist/esm/biz-components/Listing/components/ProductCard/index.js +2 -0
  298. package/dist/esm/biz-components/Listing/components/ProductCard/index.js.map +7 -0
  299. package/dist/esm/biz-components/Listing/components/PurchaseBar/ProductActions/index.d.ts +2 -0
  300. package/dist/esm/biz-components/Listing/components/PurchaseBar/ProductActions/index.js +2 -0
  301. package/dist/esm/biz-components/Listing/components/PurchaseBar/ProductActions/index.js.map +7 -0
  302. package/dist/esm/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/index.d.ts +3 -0
  303. package/dist/esm/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/index.js +2 -0
  304. package/dist/esm/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/index.js.map +7 -0
  305. package/dist/esm/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/types.d.ts +12 -0
  306. package/dist/esm/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/types.js +1 -0
  307. package/dist/esm/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/types.js.map +7 -0
  308. package/dist/esm/biz-components/Listing/components/PurchaseBar/index.d.ts +6 -0
  309. package/dist/esm/biz-components/Listing/components/PurchaseBar/index.js +2 -0
  310. package/dist/esm/biz-components/Listing/components/PurchaseBar/index.js.map +7 -0
  311. package/dist/esm/biz-components/Listing/components/PurchaseBar/types.d.ts +12 -0
  312. package/dist/esm/biz-components/Listing/components/PurchaseBar/types.js +1 -0
  313. package/dist/esm/biz-components/Listing/components/PurchaseBar/types.js.map +7 -0
  314. package/dist/esm/biz-components/Listing/components/index.d.ts +3 -0
  315. package/dist/esm/biz-components/Listing/components/index.js +2 -0
  316. package/dist/esm/biz-components/Listing/components/index.js.map +7 -0
  317. package/dist/esm/biz-components/Listing/const.d.ts +29 -0
  318. package/dist/esm/biz-components/Listing/const.js +2 -0
  319. package/dist/esm/biz-components/Listing/const.js.map +7 -0
  320. package/dist/esm/biz-components/Listing/hooks/use-variant-media.d.ts +14 -0
  321. package/dist/esm/biz-components/Listing/hooks/use-variant-media.js +2 -0
  322. package/dist/esm/biz-components/Listing/hooks/use-variant-media.js.map +7 -0
  323. package/dist/esm/biz-components/Listing/hooks/use-variant.d.ts +5 -0
  324. package/dist/esm/biz-components/Listing/hooks/use-variant.js +2 -0
  325. package/dist/esm/biz-components/Listing/hooks/use-variant.js.map +7 -0
  326. package/dist/esm/biz-components/Listing/hooks/useBenefits.d.ts +50 -0
  327. package/dist/esm/biz-components/Listing/hooks/useBenefits.js +2 -0
  328. package/dist/esm/biz-components/Listing/hooks/useBenefits.js.map +7 -0
  329. package/dist/esm/biz-components/Listing/hooks/useCopy.d.ts +5 -0
  330. package/dist/esm/biz-components/Listing/hooks/useCopy.js +2 -0
  331. package/dist/esm/biz-components/Listing/hooks/useCopy.js.map +7 -0
  332. package/dist/esm/biz-components/Listing/hooks/useDiscountEnable.d.ts +14 -0
  333. package/dist/esm/biz-components/Listing/hooks/useDiscountEnable.js +2 -0
  334. package/dist/esm/biz-components/Listing/hooks/useDiscountEnable.js.map +7 -0
  335. package/dist/esm/biz-components/Listing/index.d.ts +3 -0
  336. package/dist/esm/biz-components/Listing/index.js +2 -0
  337. package/dist/esm/biz-components/Listing/index.js.map +7 -0
  338. package/dist/esm/biz-components/Listing/types/graphql.d.ts +7473 -0
  339. package/dist/esm/biz-components/Listing/types/graphql.js +2 -0
  340. package/dist/esm/biz-components/Listing/types/graphql.js.map +7 -0
  341. package/dist/esm/biz-components/Listing/types/product.d.ts +141 -0
  342. package/dist/esm/biz-components/Listing/types/product.js +2 -0
  343. package/dist/esm/biz-components/Listing/types/product.js.map +7 -0
  344. package/dist/esm/biz-components/Listing/types/productMetafields.d.js +2 -0
  345. package/dist/esm/biz-components/Listing/types/productMetafields.d.js.map +7 -0
  346. package/dist/esm/biz-components/Listing/types/type-helper.d.ts +5 -0
  347. package/dist/esm/biz-components/Listing/types/type-helper.js +1 -0
  348. package/dist/esm/biz-components/Listing/types/type-helper.js.map +7 -0
  349. package/dist/esm/biz-components/Listing/types.d.ts +29 -0
  350. package/dist/esm/biz-components/Listing/types.js +1 -0
  351. package/dist/esm/biz-components/Listing/types.js.map +7 -0
  352. package/dist/esm/biz-components/Listing/utils/helper.d.ts +36 -0
  353. package/dist/esm/biz-components/Listing/utils/helper.js +2 -0
  354. package/dist/esm/biz-components/Listing/utils/helper.js.map +7 -0
  355. package/dist/esm/biz-components/Listing/utils/index.d.ts +37 -0
  356. package/dist/esm/biz-components/Listing/utils/index.js +2 -0
  357. package/dist/esm/biz-components/Listing/utils/index.js.map +7 -0
  358. package/dist/esm/biz-components/Listing/utils/textFormat.d.ts +73 -0
  359. package/dist/esm/biz-components/Listing/utils/textFormat.js +2 -0
  360. package/dist/esm/biz-components/Listing/utils/textFormat.js.map +7 -0
  361. package/dist/esm/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js +1 -1
  362. package/dist/esm/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js.map +3 -3
  363. package/dist/esm/biz-components/MultiLayoutGraphicBlock/types.d.ts +2 -0
  364. package/dist/esm/biz-components/SelectStore/index.d.ts +20 -0
  365. package/dist/esm/biz-components/SelectStore/index.js +2 -0
  366. package/dist/esm/biz-components/SelectStore/index.js.map +7 -0
  367. package/dist/esm/biz-components/Specs/dropdown.js +2 -2
  368. package/dist/esm/biz-components/Specs/dropdown.js.map +2 -2
  369. package/dist/esm/biz-components/Specs/index.js +1 -1
  370. package/dist/esm/biz-components/Specs/index.js.map +3 -3
  371. package/dist/esm/biz-components/Tabs/Tabs.js +1 -1
  372. package/dist/esm/biz-components/Tabs/Tabs.js.map +2 -2
  373. package/dist/esm/biz-components/Title/index.js +1 -1
  374. package/dist/esm/biz-components/Title/index.js.map +2 -2
  375. package/dist/esm/biz-components/index.d.ts +57 -1
  376. package/dist/esm/biz-components/index.js +1 -1
  377. package/dist/esm/biz-components/index.js.map +3 -3
  378. package/dist/esm/components/ExposureDetector.d.ts +45 -0
  379. package/dist/esm/components/ExposureDetector.js +2 -0
  380. package/dist/esm/components/ExposureDetector.js.map +7 -0
  381. package/dist/esm/components/checkbox.d.ts +1 -0
  382. package/dist/esm/components/checkbox.js +1 -1
  383. package/dist/esm/components/checkbox.js.map +3 -3
  384. package/dist/esm/components/dialog.d.ts +1 -1
  385. package/dist/esm/components/dialog.js +1 -1
  386. package/dist/esm/components/dialog.js.map +2 -2
  387. package/dist/esm/components/index.d.ts +1 -0
  388. package/dist/esm/components/index.js +1 -1
  389. package/dist/esm/components/index.js.map +3 -3
  390. package/dist/esm/components/picture.js +1 -1
  391. package/dist/esm/components/picture.js.map +2 -2
  392. package/dist/esm/hooks/useExposureDetection.d.ts +69 -0
  393. package/dist/esm/hooks/useExposureDetection.js +2 -0
  394. package/dist/esm/hooks/useExposureDetection.js.map +7 -0
  395. package/dist/esm/stories/carousel.stories.d.ts +3 -57
  396. package/dist/esm/stories/carousel.stories.js.map +2 -2
  397. package/dist/tokens/anker.css +1 -0
  398. package/dist/tokens/base.css +1 -1
  399. package/dist/tokens/eufy.css +1 -0
  400. package/dist/tokens/eufyMake.css +1 -0
  401. package/dist/tokens/solix.css +1 -0
  402. package/dist/tokens/soundcore.css +1 -0
  403. package/package.json +4 -1
  404. package/style.css +0 -8
  405. package/tailwind.config.js +20 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../src/biz-components/Listing/components/ProductCard/index.tsx"],
4
+ "sourcesContent": ["import { Grid, GridItem } from '../../../../components'\nimport ProductGallery from './ProductGallery/index.js'\nimport ProductDetail from './ProductDetail/index.js'\nimport ProductSummary from './ProductSummary/index.js'\n\n\n\nconst ProductCard = () => {\n return (\n <div id=\"ipc-product-card\" className=\"desktop:mt-6 desktop:px-16 lg-desktop:px-[calc(50%-832px)]\">\n <Grid className=\"laptop:gap-6\">\n <GridItem className=\"col-span-12 tablet:px-8 laptop:px-16 desktop:px-0 desktop:col-start-1 desktop:col-span-8 desktop:sticky desktop:top-[124px] h-fit\">\n <ProductGallery />\n </GridItem>\n <GridItem className=\"col-span-12 desktop:col-start-9 desktop:col-span-4\">\n <ProductDetail />\n </GridItem>\n </Grid>\n <ProductSummary />\n </div>\n )\n}\n\nexport default ProductCard\n"],
5
+ "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GAUM,IAAAI,EAAA,6BAVNC,EAA+B,kCAC/BC,EAA2B,wCAC3BC,EAA0B,uCAC1BC,EAA2B,wCAI3B,MAAMC,EAAc,OAEhB,QAAC,OAAI,GAAG,mBAAmB,UAAU,6DACnC,qBAAC,QAAK,UAAU,eACd,oBAAC,YAAS,UAAU,oIAClB,mBAAC,EAAAC,QAAA,EAAe,EAClB,KACA,OAAC,YAAS,UAAU,qDAClB,mBAAC,EAAAC,QAAA,EAAc,EACjB,GACF,KACA,OAAC,EAAAC,QAAA,EAAe,GAClB,EAIJ,IAAOV,EAAQO",
6
+ "names": ["ProductCard_exports", "__export", "ProductCard_default", "__toCommonJS", "import_jsx_runtime", "import_components", "import_ProductGallery", "import_ProductDetail", "import_ProductSummary", "ProductCard", "ProductGallery", "ProductDetail", "ProductSummary"]
7
+ }
@@ -0,0 +1,2 @@
1
+ declare const ProductActions: () => import("react/jsx-runtime").JSX.Element;
2
+ export default ProductActions;
@@ -0,0 +1,2 @@
1
+ "use strict";var c=Object.defineProperty;var N=Object.getOwnPropertyDescriptor;var k=Object.getOwnPropertyNames;var w=Object.prototype.hasOwnProperty;var h=(e,t)=>{for(var o in t)c(e,o,{get:t[o],enumerable:!0})},S=(e,t,o,d)=>{if(t&&typeof t=="object"||typeof t=="function")for(let l of k(t))!w.call(e,l)&&l!==o&&c(e,l,{get:()=>t[l],enumerable:!(d=N(t,l))||d.enumerable});return e};var P=e=>S(c({},"__esModule",{value:!0}),e);var A={};h(A,{default:()=>B});module.exports=P(A);var a=require("react/jsx-runtime"),r=require("../../../../../components"),x=require("../../../../AiuiProvider/index.js"),p=require("../../../BizProductProvider.js"),s=require("react"),i=require("../../../utils"),u=require("../../../utils/textFormat");const T=()=>{const{copyWriting:e,locale:t="us"}=(0,x.useAiuiContext)(),{variant:o,finalPrice:d,totalSavings:l,memberFunctionResult:F,isLogin:m,comparePrice:b,onAddToCart:g,onBuyNow:f,savingDetail:n,coupon:z,addToCartLoading:y,buyNowLoading:C,profile:E}=(0,p.useBizProductContext)(),v=(0,s.useMemo)(()=>(0,u.replaceTemplate)(e?.totalSavings||"",{amount:(0,i.formatPrice)({amount:l,currencyCode:o.price.currencyCode,locale:t})}),[e?.totalSavings,l,o.price.currencyCode,t]),L=(0,s.useMemo)(()=>(0,u.replaceTemplate)(e?.memberSaving||"",{amount:(0,i.formatPrice)({amount:n?.member,currencyCode:o.price.currencyCode,locale:t})}),[e?.memberSaving,n?.member,o.price.currencyCode,t]);return(0,a.jsxs)(r.Container,{childClassName:"tablet:flex tablet:justify-between desktop:px-0 desktop:px-0 tablet:items-center tablet:gap-4",className:"bg-white py-3 border-t border-[#E4E5E6] desktop:border-none",children:[o.availableForSale?(0,a.jsxs)("div",{className:"flex flex-col justify-between desktop:items-end",children:[(0,a.jsxs)("div",{className:"flex items-center gap-1",children:[(0,a.jsx)(r.Text,{className:"text-xl tablet:text-2xl font-bold !leading-[1.2] desktop:text-xl lg-desktop:text-2xl",html:(0,i.formatPrice)({amount:Math.floor(d*100)/100,currencyCode:o.price.currencyCode,locale:t})}),(l>0||n?.member>0&&m)&&(0,a.jsx)(r.Text,{className:"text-xl tablet:text-2xl font-bold line-through text-[#999] !leading-[1.2] desktop:text-xl lg-desktop:text-2xl",html:(0,i.formatPrice)({amount:b,currencyCode:o.price.currencyCode,locale:t})}),n?.member>0&&m&&(0,a.jsx)(r.Text,{className:"bg-brand-0 font-bold text-white px-1 py-[2px] text-sm rounded",html:e?.memberPrice||"Member Price"})]}),(l>0||n?.member>0&&m)&&(0,a.jsx)(r.Text,{className:"text-brand-0 text-[18px] desktop:text-end !leading-[1.2] font-bold desktop:text-xl lg-desktop:text-2xl",html:`${v}`})]}):(0,a.jsx)(r.Text,{className:"text-[20px] font-bold text-[#999999]",html:e?.soldOut??"Sold Out"}),(0,a.jsxs)("div",{className:"flex items-center gap-2 mt-2 tablet:mt-0",children:[(0,a.jsx)(r.Button,{variant:"secondary",disabled:!o.availableForSale,size:"lg",className:"w-1/2 tablet:w-auto",onClick:()=>g?.(),loading:y,children:e?.addToCart??"Add to Cart"}),(0,a.jsx)(r.Button,{variant:"primary",disabled:!o.availableForSale,size:"lg",loading:C,className:"w-1/2 tablet:w-auto",onClick:()=>f?.(),children:e?.buyNow??"Buy Now"})]})]})};var B=T;
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../../src/biz-components/Listing/components/PurchaseBar/ProductActions/index.tsx"],
4
+ "sourcesContent": ["import { Text, Button, Container } from '../../../../../components'\nimport { useAiuiContext } from '../../../../AiuiProvider/index.js'\nimport { useBizProductContext } from '../../../BizProductProvider.js'\nimport { useMemo } from 'react'\nimport { formatPrice } from '../../../utils'\nimport { replaceTemplate } from '../../../utils/textFormat'\n\nconst ProductActions = () => {\n const { copyWriting, locale = 'us' } = useAiuiContext()\n const {\n variant,\n finalPrice,\n totalSavings,\n memberFunctionResult,\n isLogin,\n comparePrice,\n onAddToCart,\n onBuyNow,\n savingDetail,\n coupon,\n addToCartLoading,\n buyNowLoading,\n profile,\n } = useBizProductContext()\n\n const totalSavingsText = useMemo(() => {\n return replaceTemplate(copyWriting?.totalSavings || '', {\n amount: formatPrice({ amount: totalSavings, currencyCode: variant.price.currencyCode, locale }),\n })\n }, [copyWriting?.totalSavings, totalSavings, variant.price.currencyCode, locale])\n\n const memberPriceSaveText = useMemo(() => {\n return replaceTemplate(copyWriting?.memberSaving || '', {\n amount: formatPrice({\n amount: savingDetail?.member,\n currencyCode: variant.price.currencyCode,\n locale,\n }),\n })\n }, [copyWriting?.memberSaving, savingDetail?.member, variant.price.currencyCode, locale])\n\n return (\n <Container\n childClassName=\"tablet:flex tablet:justify-between desktop:px-0 desktop:px-0 tablet:items-center tablet:gap-4\"\n className=\"bg-white py-3 border-t border-[#E4E5E6] desktop:border-none\"\n >\n {variant.availableForSale ? (\n <div className=\"flex flex-col justify-between desktop:items-end\">\n <div className=\"flex items-center gap-1\">\n <Text\n className=\"text-xl tablet:text-2xl font-bold !leading-[1.2] desktop:text-xl lg-desktop:text-2xl\"\n html={formatPrice({\n amount: Math.floor(finalPrice * 100) / 100,\n currencyCode: variant.price.currencyCode,\n locale,\n })}\n />\n {(totalSavings > 0 || (savingDetail?.member > 0 && isLogin)) && (\n <Text\n className=\"text-xl tablet:text-2xl font-bold line-through text-[#999] !leading-[1.2] desktop:text-xl lg-desktop:text-2xl\"\n html={formatPrice({\n amount: comparePrice,\n currencyCode: variant.price.currencyCode,\n locale,\n })}\n />\n )}\n {savingDetail?.member > 0 && isLogin && (\n <Text\n className=\"bg-brand-0 font-bold text-white px-1 py-[2px] text-sm rounded\"\n html={copyWriting?.memberPrice || 'Member Price'}\n />\n )}\n </div>\n {(totalSavings > 0 || (savingDetail?.member > 0 && isLogin)) && (\n <Text\n className=\"text-brand-0 text-[18px] desktop:text-end !leading-[1.2] font-bold desktop:text-xl lg-desktop:text-2xl\"\n html={`${totalSavingsText}`}\n />\n )}\n </div>\n ) : (\n <Text className=\"text-[20px] font-bold text-[#999999]\" html={copyWriting?.soldOut ?? 'Sold Out'} />\n )}\n <div className=\"flex items-center gap-2 mt-2 tablet:mt-0\">\n <Button\n variant=\"secondary\"\n disabled={!variant.availableForSale}\n size=\"lg\"\n className=\"w-1/2 tablet:w-auto\"\n onClick={() => onAddToCart?.()}\n loading={addToCartLoading}\n >\n {copyWriting?.addToCart ?? 'Add to Cart'}\n </Button>\n <Button\n variant=\"primary\"\n disabled={!variant.availableForSale}\n size=\"lg\"\n loading={buyNowLoading}\n className=\"w-1/2 tablet:w-auto\"\n onClick={() => onBuyNow?.()}\n >\n {copyWriting?.buyNow ?? 'Buy Now'}\n </Button>\n </div>\n </Container>\n )\n}\n\nexport default ProductActions\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GAgDU,IAAAI,EAAA,6BAhDVC,EAAwC,qCACxCC,EAA+B,6CAC/BC,EAAqC,0CACrCC,EAAwB,iBACxBC,EAA4B,0BAC5BC,EAAgC,qCAEhC,MAAMC,EAAiB,IAAM,CAC3B,KAAM,CAAE,YAAAC,EAAa,OAAAC,EAAS,IAAK,KAAI,kBAAe,EAChD,CACJ,QAAAC,EACA,WAAAC,EACA,aAAAC,EACA,qBAAAC,EACA,QAAAC,EACA,aAAAC,EACA,YAAAC,EACA,SAAAC,EACA,aAAAC,EACA,OAAAC,EACA,iBAAAC,EACA,cAAAC,EACA,QAAAC,CACF,KAAI,wBAAqB,EAEnBC,KAAmB,WAAQ,OACxB,mBAAgBf,GAAa,cAAgB,GAAI,CACtD,UAAQ,eAAY,CAAE,OAAQI,EAAc,aAAcF,EAAQ,MAAM,aAAc,OAAAD,CAAO,CAAC,CAChG,CAAC,EACA,CAACD,GAAa,aAAcI,EAAcF,EAAQ,MAAM,aAAcD,CAAM,CAAC,EAE1Ee,KAAsB,WAAQ,OAC3B,mBAAgBhB,GAAa,cAAgB,GAAI,CACtD,UAAQ,eAAY,CAClB,OAAQU,GAAc,OACtB,aAAcR,EAAQ,MAAM,aAC5B,OAAAD,CACF,CAAC,CACH,CAAC,EACA,CAACD,GAAa,aAAcU,GAAc,OAAQR,EAAQ,MAAM,aAAcD,CAAM,CAAC,EAExF,SACE,QAAC,aACC,eAAe,gGACf,UAAU,8DAET,UAAAC,EAAQ,oBACP,QAAC,OAAI,UAAU,kDACb,qBAAC,OAAI,UAAU,0BACb,oBAAC,QACC,UAAU,uFACV,QAAM,eAAY,CAChB,OAAQ,KAAK,MAAMC,EAAa,GAAG,EAAI,IACvC,aAAcD,EAAQ,MAAM,aAC5B,OAAAD,CACF,CAAC,EACH,GACEG,EAAe,GAAMM,GAAc,OAAS,GAAKJ,OACjD,OAAC,QACC,UAAU,gHACV,QAAM,eAAY,CAChB,OAAQC,EACR,aAAcL,EAAQ,MAAM,aAC5B,OAAAD,CACF,CAAC,EACH,EAEDS,GAAc,OAAS,GAAKJ,MAC3B,OAAC,QACC,UAAU,gEACV,KAAMN,GAAa,aAAe,eACpC,GAEJ,GACEI,EAAe,GAAMM,GAAc,OAAS,GAAKJ,OACjD,OAAC,QACC,UAAU,yGACV,KAAM,GAAGS,CAAgB,GAC3B,GAEJ,KAEA,OAAC,QAAK,UAAU,uCAAuC,KAAMf,GAAa,SAAW,WAAY,KAEnG,QAAC,OAAI,UAAU,2CACb,oBAAC,UACC,QAAQ,YACR,SAAU,CAACE,EAAQ,iBACnB,KAAK,KACL,UAAU,sBACV,QAAS,IAAMM,IAAc,EAC7B,QAASI,EAER,SAAAZ,GAAa,WAAa,cAC7B,KACA,OAAC,UACC,QAAQ,UACR,SAAU,CAACE,EAAQ,iBACnB,KAAK,KACL,QAASW,EACT,UAAU,sBACV,QAAS,IAAMJ,IAAW,EAEzB,SAAAT,GAAa,QAAU,UAC1B,GACF,GACF,CAEJ,EAEA,IAAOV,EAAQS",
6
+ "names": ["ProductActions_exports", "__export", "ProductActions_default", "__toCommonJS", "import_jsx_runtime", "import_components", "import_AiuiProvider", "import_BizProductProvider", "import_react", "import_utils", "import_textFormat", "ProductActions", "copyWriting", "locale", "variant", "finalPrice", "totalSavings", "memberFunctionResult", "isLogin", "comparePrice", "onAddToCart", "onBuyNow", "savingDetail", "coupon", "addToCartLoading", "buyNowLoading", "profile", "totalSavingsText", "memberPriceSaveText"]
7
+ }
@@ -0,0 +1,3 @@
1
+ import type { ScrollSpyNavProps } from './types.js';
2
+ declare const ScrollSpyNav: ({ tabs, onSpyNavItemClick, className, renderRating }: ScrollSpyNavProps) => import("react/jsx-runtime").JSX.Element;
3
+ export default ScrollSpyNav;
@@ -0,0 +1,2 @@
1
+ "use strict";var I=Object.defineProperty;var x=Object.getOwnPropertyDescriptor;var C=Object.getOwnPropertyNames;var N=Object.prototype.hasOwnProperty;var B=(e,r)=>{for(var i in r)I(e,i,{get:r[i],enumerable:!0})},M=(e,r,i,u)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of C(r))!N.call(e,n)&&n!==i&&I(e,n,{get:()=>r[n],enumerable:!(u=x(r,n))||u.enumerable});return e};var k=e=>M(I({},"__esModule",{value:!0}),e);var P={};B(P,{default:()=>L});module.exports=k(P);var y=require("react/jsx-runtime"),A=require("../../../../AiuiProvider/index.js"),w=require("../../../../../helpers/index.js"),o=require("react"),D=require("gsap"),$=require("../../../BizProductProvider.js");const H=(e,r)=>{const[i,u]=(0,o.useState)(null),n=(0,o.useRef)(null),f=(0,o.useRef)(new Map),d=(0,o.useRef)(!1),g=(0,o.useRef)(null);(0,o.useEffect)(()=>{g.current=i},[i]),(0,o.useEffect)(()=>{if(!e||e.length===0)return;n.current&&n.current.disconnect();const p=document.getElementById("purchase-bar"),t=p?p.clientHeight:100;f.current.clear();const l=[];if(e.forEach(c=>{const a=c.id||c.href?.replace("#",""),T=document.getElementById(a);T&&(f.current.set(a,c),l.push(T))}),l.length===0){u(e[0]);return}const m={root:null,rootMargin:`-${t}px 0px -50% 0px`,threshold:[0,.25,.5,.75,1]},h=c=>{if(d.current)return;if((window.scrollY||document.documentElement.scrollTop)<t+50){const s=e[0];s&&g.current?.id!==s.id&&(console.log("\u9875\u9762\u9876\u90E8\uFF0C\u6FC0\u6D3B\u7B2C\u4E00\u4E2A tab:",s.label),u(s),r?.(s));return}const T=c.filter(s=>s.isIntersecting).sort((s,b)=>s.boundingClientRect.top-b.boundingClientRect.top);if(T.length>0){const b=T[0].target.id,v=f.current.get(b);v&&(u(v),r?.(v))}else{const s=[...c].sort((b,v)=>Math.abs(b.boundingClientRect.top)-Math.abs(v.boundingClientRect.top));if(s.length>0){const v=s[0].target.id,R=f.current.get(v);R&&(u(R),r?.(R))}}};n.current=new IntersectionObserver(h,m),l.forEach(c=>{n.current?.observe(c)});const S=()=>{if(d.current)return;if((window.scrollY||document.documentElement.scrollTop)<t+50){const a=e[0];a&&(u(a),r?.(a))}};return window.addEventListener("scroll",S,{passive:!0}),()=>{n.current&&n.current.disconnect(),window.removeEventListener("scroll",S)}},[e]),(0,o.useEffect)(()=>{!i&&e&&e.length>0&&u(e[0])},[e,i]);const E=(0,o.useCallback)(p=>{u(p);const t=p.id||p.href?.replace("#",""),l=document.getElementById(t);if(l){const m=document.getElementById("purchase-bar"),h=m?m.clientHeight:100;d.current=!0;const c=l.getBoundingClientRect().top+window.scrollY-h-10;window.scrollTo({top:c,behavior:"smooth"}),setTimeout(()=>{d.current=!1},1e3)}},[]);return{activeTab:i||e?.[0],setActiveTab:E}},O=({tabs:e,onSpyNavItemClick:r,className:i,renderRating:u})=>{const{activeTab:n,setActiveTab:f}=H(e),d=(0,o.useRef)(null),g=(0,o.useRef)(new Map),E=(0,o.useCallback)(t=>{f(t),r?.(t)},[r,f]);(0,o.useEffect)(()=>{if(!n||!d.current)return;const t=g.current.get(n.id);if(!t)return;const l=d.current,m=t.getBoundingClientRect(),h=l.getBoundingClientRect(),S=m.left+m.width/2-h.left,c=h.width/2,a=S-c;l.scrollTo({left:l.scrollLeft+a,behavior:"smooth"})},[n?.id]);const p=(0,o.useCallback)((t,l)=>{l?g.current.set(t,l):g.current.delete(t)},[]);return(0,y.jsxs)("div",{ref:d,style:{scrollbarWidth:"none",msOverflowStyle:"none"},className:(0,w.cn)("flex tablet:gap-8 gap-6 overflow-x-auto",i),children:[e?.map(t=>(0,y.jsxs)("button",{ref:l=>p(t.id,l),className:(0,w.cn)("text-sm relative py-[10px] font-bold text-[#949494] desktop:text-[#1d1d1f] whitespace-nowrap flex-shrink-0",{"text-[#1d1d1f]":n?.id===t.id}),onClick:()=>E(t),children:[t.label,(0,y.jsx)("div",{className:(0,w.cn)("absolute hidden desktop:block bottom-0 left-0 w-0 transition-all duration-300 ease-in-out h-[2px] bg-brand-0",{"w-full":n?.id===t.id})})]},t.id)),u]})};var L=O;
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../../src/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/index.tsx"],
4
+ "sourcesContent": ["import { useAiuiContext } from '../../../../AiuiProvider/index.js'\nimport { cn } from '../../../../../helpers/index.js'\nimport { useState, useCallback, useRef, useEffect } from 'react'\nimport { gsap } from 'gsap'\nimport type { ScrollSpyNavItem, ScrollSpyNavProps } from './types.js'\nimport { useBizProductContext } from '../../../BizProductProvider.js'\n\n// \u81EA\u5B9A\u4E49 hook\uFF1A\u76D1\u542C\u9875\u9762\u6EDA\u52A8\uFF0C\u81EA\u52A8\u66F4\u65B0\u5F53\u524D\u6FC0\u6D3B\u7684 tab\nconst useScrollSpy = (tabs: ScrollSpyNavItem[], onActiveChange?: (tab: ScrollSpyNavItem) => void) => {\n const [activeTab, setActiveTab] = useState<ScrollSpyNavItem | null>(null)\n const observerRef = useRef<IntersectionObserver | null>(null)\n const sectionsRef = useRef<Map<string, ScrollSpyNavItem>>(new Map())\n const isManualScrollRef = useRef(false) // \u6807\u8BB0\u662F\u5426\u4E3A\u624B\u52A8\u70B9\u51FB\u89E6\u53D1\u7684\u6EDA\u52A8\n const activeTabRef = useRef<ScrollSpyNavItem | null>(null) // \u7528 ref \u5B58\u50A8\u5F53\u524D\u6FC0\u6D3B\u7684 tab\uFF0C\u907F\u514D\u95ED\u5305\u95EE\u9898\n\n // \u540C\u6B65 activeTab \u5230 ref\n useEffect(() => {\n activeTabRef.current = activeTab\n }, [activeTab])\n\n useEffect(() => {\n if (!tabs || tabs.length === 0) return\n\n // \u6E05\u7406\u4E4B\u524D\u7684 observer\n if (observerRef.current) {\n observerRef.current.disconnect()\n }\n\n // \u83B7\u53D6\u5BFC\u822A\u680F\u9AD8\u5EA6\n const purchaseBar = document.getElementById('purchase-bar')\n const navHeight = purchaseBar ? purchaseBar.clientHeight : 100\n\n // \u521B\u5EFA Map \u5B58\u50A8 section \u4FE1\u606F\n sectionsRef.current.clear()\n const elements: Element[] = []\n\n tabs.forEach(tab => {\n const id = tab.id || tab.href?.replace('#', '')\n const element = document.getElementById(id)\n if (element) {\n sectionsRef.current.set(id, tab)\n elements.push(element)\n }\n })\n\n if (elements.length === 0) {\n // \u5982\u679C\u6CA1\u6709\u627E\u5230\u5143\u7D20\uFF0C\u8BBE\u7F6E\u7B2C\u4E00\u4E2A tab \u4E3A\u6FC0\u6D3B\u72B6\u6001\n setActiveTab(tabs[0])\n return\n }\n\n // \u4F7F\u7528 IntersectionObserver \u76D1\u542C\u5143\u7D20\u8FDB\u5165\u89C6\u53E3\n const observerOptions: IntersectionObserverInit = {\n root: null,\n rootMargin: `-${navHeight}px 0px -50% 0px`, // \u4E0A\u65B9\u504F\u79FB\u5BFC\u822A\u680F\u9AD8\u5EA6\uFF0C\u4E0B\u65B9\u504F\u79FB50%\u89C6\u53E3\u9AD8\u5EA6\n threshold: [0, 0.25, 0.5, 0.75, 1],\n }\n\n const observerCallback: IntersectionObserverCallback = entries => {\n // \u5982\u679C\u662F\u624B\u52A8\u70B9\u51FB\u89E6\u53D1\u7684\u6EDA\u52A8\uFF0C\u4E0D\u8981\u66F4\u65B0\u72B6\u6001\n if (isManualScrollRef.current) {\n return\n }\n\n // \u68C0\u67E5\u662F\u5426\u6EDA\u52A8\u5230\u9875\u9762\u9876\u90E8\uFF08\u7279\u6B8A\u5904\u7406\u7B2C\u4E00\u4E2A\u5143\u7D20\uFF09\n const scrollTop = window.scrollY || document.documentElement.scrollTop\n if (scrollTop < navHeight + 50) {\n // \u5728\u9875\u9762\u9876\u90E8\uFF0C\u6FC0\u6D3B\u7B2C\u4E00\u4E2A tab\n const firstTab = tabs[0]\n if (firstTab && activeTabRef.current?.id !== firstTab.id) {\n console.log('\u9875\u9762\u9876\u90E8\uFF0C\u6FC0\u6D3B\u7B2C\u4E00\u4E2A tab:', firstTab.label)\n setActiveTab(firstTab)\n onActiveChange?.(firstTab)\n }\n return\n }\n\n // \u627E\u51FA\u6240\u6709\u6B63\u5728\u4EA4\u53C9\u7684 entries\n const intersectingEntries = entries\n .filter(entry => entry.isIntersecting)\n .sort((a, b) => {\n // \u6309\u7167\u5143\u7D20\u5728\u9875\u9762\u4E0A\u7684\u4F4D\u7F6E\u6392\u5E8F\uFF08\u4ECE\u4E0A\u5230\u4E0B\uFF09\n return a.boundingClientRect.top - b.boundingClientRect.top\n })\n\n if (intersectingEntries.length > 0) {\n // \u9009\u62E9\u6700\u4E0A\u9762\u7684\u6B63\u5728\u4EA4\u53C9\u7684\u5143\u7D20\n const topEntry = intersectingEntries[0]\n const id = topEntry.target.id\n const tab = sectionsRef.current.get(id)\n\n if (tab) {\n setActiveTab(tab)\n onActiveChange?.(tab)\n }\n } else {\n // \u5982\u679C\u6CA1\u6709\u5143\u7D20\u6B63\u5728\u4EA4\u53C9\uFF0C\u627E\u51FA\u6700\u63A5\u8FD1\u89C6\u53E3\u9876\u90E8\u7684\u5143\u7D20\n const sortedEntries = [...entries].sort((a, b) => {\n return Math.abs(a.boundingClientRect.top) - Math.abs(b.boundingClientRect.top)\n })\n\n if (sortedEntries.length > 0) {\n const closestEntry = sortedEntries[0]\n const id = closestEntry.target.id\n const tab = sectionsRef.current.get(id)\n\n if (tab) {\n setActiveTab(tab)\n onActiveChange?.(tab)\n }\n }\n }\n }\n\n observerRef.current = new IntersectionObserver(observerCallback, observerOptions)\n\n // \u89C2\u5BDF\u6240\u6709 section \u5143\u7D20\n elements.forEach(element => {\n observerRef.current?.observe(element)\n })\n\n // \u6DFB\u52A0\u6EDA\u52A8\u4E8B\u4EF6\u76D1\u542C\uFF0C\u5904\u7406\u9875\u9762\u9876\u90E8\u7684\u60C5\u51B5\n const handleScroll = () => {\n if (isManualScrollRef.current) {\n return\n }\n\n const scrollTop = window.scrollY || document.documentElement.scrollTop\n // \u5982\u679C\u6EDA\u52A8\u5230\u63A5\u8FD1\u9875\u9762\u9876\u90E8\uFF0C\u6FC0\u6D3B\u7B2C\u4E00\u4E2A tab\n if (scrollTop < navHeight + 50) {\n const firstTab = tabs[0]\n if (firstTab) {\n setActiveTab(firstTab)\n onActiveChange?.(firstTab)\n }\n }\n }\n\n window.addEventListener('scroll', handleScroll, { passive: true })\n\n return () => {\n if (observerRef.current) {\n observerRef.current.disconnect()\n }\n window.removeEventListener('scroll', handleScroll)\n }\n }, [tabs])\n\n // \u521D\u59CB\u5316\u65F6\u8BBE\u7F6E\u7B2C\u4E00\u4E2A tab\n useEffect(() => {\n if (!activeTab && tabs && tabs.length > 0) {\n setActiveTab(tabs[0])\n }\n }, [tabs, activeTab])\n\n // \u624B\u52A8\u8BBE\u7F6E\u6FC0\u6D3B tab \u5E76\u6EDA\u52A8\u5230\u5BF9\u5E94\u4F4D\u7F6E\n const handleSetActiveTab = useCallback(\n (tab: ScrollSpyNavItem) => {\n setActiveTab(tab)\n\n // \u6EDA\u52A8\u5230\u5BF9\u5E94\u7684\u951A\u70B9\n const id = tab.id || tab.href?.replace('#', '')\n const element = document.getElementById(id)\n\n if (element) {\n const purchaseBar = document.getElementById('purchase-bar')\n const navHeight = purchaseBar ? purchaseBar.clientHeight : 100\n\n // \u8BBE\u7F6E\u624B\u52A8\u6EDA\u52A8\u6807\u5FD7\n isManualScrollRef.current = true\n\n // \u8BA1\u7B97\u6EDA\u52A8\u4F4D\u7F6E\uFF08\u5143\u7D20\u9876\u90E8 - \u5BFC\u822A\u680F\u9AD8\u5EA6 - \u989D\u5916\u95F4\u8DDD\uFF09\n const elementTop = element.getBoundingClientRect().top + window.scrollY\n const scrollToPosition = elementTop - navHeight - 10\n\n window.scrollTo({\n top: scrollToPosition,\n behavior: 'smooth',\n })\n\n // \u6EDA\u52A8\u7ED3\u675F\u540E\u91CD\u7F6E\u6807\u5FD7\n setTimeout(() => {\n isManualScrollRef.current = false\n }, 1000) // 1\u79D2\u540E\u91CD\u7F6E\uFF0C\u786E\u4FDD\u6EDA\u52A8\u52A8\u753B\u5B8C\u6210\n }\n },\n []\n )\n\n return { activeTab: activeTab || tabs?.[0], setActiveTab: handleSetActiveTab }\n}\n\nconst ScrollSpyNav = ({ tabs, onSpyNavItemClick, className, renderRating }: ScrollSpyNavProps) => {\n \n // \u4F7F\u7528 useScrollSpy hook \u81EA\u52A8\u76D1\u542C\u6EDA\u52A8\n const { activeTab, setActiveTab } = useScrollSpy(tabs)\n \n // \u79FB\u52A8\u7AEF\uFF1A\u6A2A\u5411\u6EDA\u52A8\u5BB9\u5668\u548C tab \u6309\u94AE\u7684 refs\n const scrollContainerRef = useRef<HTMLDivElement>(null)\n const tabRefs = useRef<Map<string, HTMLButtonElement>>(new Map())\n\n const onTabClick = useCallback(\n (tab: ScrollSpyNavItem) => {\n setActiveTab(tab)\n onSpyNavItemClick?.(tab)\n },\n [onSpyNavItemClick, setActiveTab]\n )\n\n // \u79FB\u52A8\u7AEF\uFF1A\u5F53 activeTab \u6539\u53D8\u65F6\uFF0C\u81EA\u52A8\u6EDA\u52A8\u5230\u4E2D\u5FC3\u4F4D\u7F6E\n useEffect(() => {\n if (!activeTab || !scrollContainerRef.current) return\n\n const activeTabElement = tabRefs.current.get(activeTab.id)\n if (!activeTabElement) return\n\n const container = scrollContainerRef.current\n const tabRect = activeTabElement.getBoundingClientRect()\n const containerRect = container.getBoundingClientRect()\n\n // \u8BA1\u7B97\u9700\u8981\u6EDA\u52A8\u7684\u8DDD\u79BB\uFF0C\u4F7F tab \u4F4D\u4E8E\u5BB9\u5668\u4E2D\u5FC3\n const tabCenter = tabRect.left + tabRect.width / 2 - containerRect.left\n const containerCenter = containerRect.width / 2\n const scrollOffset = tabCenter - containerCenter\n\n container.scrollTo({\n left: container.scrollLeft + scrollOffset,\n behavior: 'smooth',\n })\n }, [activeTab?.id])\n\n // \u8BBE\u7F6E tab ref\n const setTabRef = useCallback((tabId: string, element: HTMLButtonElement | null) => {\n if (element) {\n tabRefs.current.set(tabId, element)\n } else {\n tabRefs.current.delete(tabId)\n }\n }, [])\n\n // \u684C\u9762\u7AEF\u6E32\u67D3\n return (\n <div\n ref={scrollContainerRef}\n style={{ scrollbarWidth: 'none', msOverflowStyle: 'none' }}\n className={cn('flex tablet:gap-8 gap-6 overflow-x-auto', className)}\n >\n {tabs?.map(tab => (\n <button\n ref={el => setTabRef(tab.id, el)}\n className={cn(\n 'text-sm relative py-[10px] font-bold text-[#949494] desktop:text-[#1d1d1f] whitespace-nowrap flex-shrink-0',\n {\n 'text-[#1d1d1f]': activeTab?.id === tab.id,\n }\n )}\n key={tab.id}\n onClick={() => onTabClick(tab)}\n >\n {tab.label}\n <div\n className={cn(\n 'absolute hidden desktop:block bottom-0 left-0 w-0 transition-all duration-300 ease-in-out h-[2px] bg-brand-0',\n {\n 'w-full': activeTab?.id === tab.id,\n }\n )}\n />\n </button>\n ))}\n {renderRating}\n </div>\n )\n}\n\nexport default ScrollSpyNav\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GAwPQ,IAAAI,EAAA,6BAxPRC,EAA+B,6CAC/BC,EAAmB,2CACnBC,EAAyD,iBACzDC,EAAqB,gBAErBC,EAAqC,0CAGrC,MAAMC,EAAe,CAACC,EAA0BC,IAAqD,CACnG,KAAM,CAACC,EAAWC,CAAY,KAAI,YAAkC,IAAI,EAClEC,KAAc,UAAoC,IAAI,EACtDC,KAAc,UAAsC,IAAI,GAAK,EAC7DC,KAAoB,UAAO,EAAK,EAChCC,KAAe,UAAgC,IAAI,KAGzD,aAAU,IAAM,CACdA,EAAa,QAAUL,CACzB,EAAG,CAACA,CAAS,CAAC,KAEd,aAAU,IAAM,CACd,GAAI,CAACF,GAAQA,EAAK,SAAW,EAAG,OAG5BI,EAAY,SACdA,EAAY,QAAQ,WAAW,EAIjC,MAAMI,EAAc,SAAS,eAAe,cAAc,EACpDC,EAAYD,EAAcA,EAAY,aAAe,IAG3DH,EAAY,QAAQ,MAAM,EAC1B,MAAMK,EAAsB,CAAC,EAW7B,GATAV,EAAK,QAAQW,GAAO,CAClB,MAAMC,EAAKD,EAAI,IAAMA,EAAI,MAAM,QAAQ,IAAK,EAAE,EACxCE,EAAU,SAAS,eAAeD,CAAE,EACtCC,IACFR,EAAY,QAAQ,IAAIO,EAAID,CAAG,EAC/BD,EAAS,KAAKG,CAAO,EAEzB,CAAC,EAEGH,EAAS,SAAW,EAAG,CAEzBP,EAAaH,EAAK,CAAC,CAAC,EACpB,MACF,CAGA,MAAMc,EAA4C,CAChD,KAAM,KACN,WAAY,IAAIL,CAAS,kBACzB,UAAW,CAAC,EAAG,IAAM,GAAK,IAAM,CAAC,CACnC,EAEMM,EAAiDC,GAAW,CAEhE,GAAIV,EAAkB,QACpB,OAKF,IADkB,OAAO,SAAW,SAAS,gBAAgB,WAC7CG,EAAY,GAAI,CAE9B,MAAMQ,EAAWjB,EAAK,CAAC,EACnBiB,GAAYV,EAAa,SAAS,KAAOU,EAAS,KACpD,QAAQ,IAAI,oEAAmBA,EAAS,KAAK,EAC7Cd,EAAac,CAAQ,EACrBhB,IAAiBgB,CAAQ,GAE3B,MACF,CAGA,MAAMC,EAAsBF,EACzB,OAAOG,GAASA,EAAM,cAAc,EACpC,KAAK,CAACC,EAAG,IAEDA,EAAE,mBAAmB,IAAM,EAAE,mBAAmB,GACxD,EAEH,GAAIF,EAAoB,OAAS,EAAG,CAGlC,MAAMN,EADWM,EAAoB,CAAC,EAClB,OAAO,GACrBP,EAAMN,EAAY,QAAQ,IAAIO,CAAE,EAElCD,IACFR,EAAaQ,CAAG,EAChBV,IAAiBU,CAAG,EAExB,KAAO,CAEL,MAAMU,EAAgB,CAAC,GAAGL,CAAO,EAAE,KAAK,CAACI,EAAGE,IACnC,KAAK,IAAIF,EAAE,mBAAmB,GAAG,EAAI,KAAK,IAAIE,EAAE,mBAAmB,GAAG,CAC9E,EAED,GAAID,EAAc,OAAS,EAAG,CAE5B,MAAMT,EADeS,EAAc,CAAC,EACZ,OAAO,GACzBV,EAAMN,EAAY,QAAQ,IAAIO,CAAE,EAElCD,IACFR,EAAaQ,CAAG,EAChBV,IAAiBU,CAAG,EAExB,CACF,CACF,EAEAP,EAAY,QAAU,IAAI,qBAAqBW,EAAkBD,CAAe,EAGhFJ,EAAS,QAAQG,GAAW,CAC1BT,EAAY,SAAS,QAAQS,CAAO,CACtC,CAAC,EAGD,MAAMU,EAAe,IAAM,CACzB,GAAIjB,EAAkB,QACpB,OAKF,IAFkB,OAAO,SAAW,SAAS,gBAAgB,WAE7CG,EAAY,GAAI,CAC9B,MAAMQ,EAAWjB,EAAK,CAAC,EACnBiB,IACFd,EAAac,CAAQ,EACrBhB,IAAiBgB,CAAQ,EAE7B,CACF,EAEA,cAAO,iBAAiB,SAAUM,EAAc,CAAE,QAAS,EAAK,CAAC,EAE1D,IAAM,CACPnB,EAAY,SACdA,EAAY,QAAQ,WAAW,EAEjC,OAAO,oBAAoB,SAAUmB,CAAY,CACnD,CACF,EAAG,CAACvB,CAAI,CAAC,KAGT,aAAU,IAAM,CACV,CAACE,GAAaF,GAAQA,EAAK,OAAS,GACtCG,EAAaH,EAAK,CAAC,CAAC,CAExB,EAAG,CAACA,EAAME,CAAS,CAAC,EAGpB,MAAMsB,KAAqB,eACxBb,GAA0B,CACzBR,EAAaQ,CAAG,EAGhB,MAAMC,EAAKD,EAAI,IAAMA,EAAI,MAAM,QAAQ,IAAK,EAAE,EACxCE,EAAU,SAAS,eAAeD,CAAE,EAE1C,GAAIC,EAAS,CACX,MAAML,EAAc,SAAS,eAAe,cAAc,EACpDC,EAAYD,EAAcA,EAAY,aAAe,IAG3DF,EAAkB,QAAU,GAI5B,MAAMmB,EADaZ,EAAQ,sBAAsB,EAAE,IAAM,OAAO,QAC1BJ,EAAY,GAElD,OAAO,SAAS,CACd,IAAKgB,EACL,SAAU,QACZ,CAAC,EAGD,WAAW,IAAM,CACfnB,EAAkB,QAAU,EAC9B,EAAG,GAAI,CACT,CACF,EACA,CAAC,CACH,EAEA,MAAO,CAAE,UAAWJ,GAAaF,IAAO,CAAC,EAAG,aAAcwB,CAAmB,CAC/E,EAEME,EAAe,CAAC,CAAE,KAAA1B,EAAM,kBAAA2B,EAAmB,UAAAC,EAAW,aAAAC,CAAa,IAAyB,CAGhG,KAAM,CAAE,UAAA3B,EAAW,aAAAC,CAAa,EAAIJ,EAAaC,CAAI,EAG/C8B,KAAqB,UAAuB,IAAI,EAChDC,KAAU,UAAuC,IAAI,GAAK,EAE1DC,KAAa,eAChBrB,GAA0B,CACzBR,EAAaQ,CAAG,EAChBgB,IAAoBhB,CAAG,CACzB,EACA,CAACgB,EAAmBxB,CAAY,CAClC,KAGA,aAAU,IAAM,CACd,GAAI,CAACD,GAAa,CAAC4B,EAAmB,QAAS,OAE/C,MAAMG,EAAmBF,EAAQ,QAAQ,IAAI7B,EAAU,EAAE,EACzD,GAAI,CAAC+B,EAAkB,OAEvB,MAAMC,EAAYJ,EAAmB,QAC/BK,EAAUF,EAAiB,sBAAsB,EACjDG,EAAgBF,EAAU,sBAAsB,EAGhDG,EAAYF,EAAQ,KAAOA,EAAQ,MAAQ,EAAIC,EAAc,KAC7DE,EAAkBF,EAAc,MAAQ,EACxCG,EAAeF,EAAYC,EAEjCJ,EAAU,SAAS,CACjB,KAAMA,EAAU,WAAaK,EAC7B,SAAU,QACZ,CAAC,CACH,EAAG,CAACrC,GAAW,EAAE,CAAC,EAGlB,MAAMsC,KAAY,eAAY,CAACC,EAAe5B,IAAsC,CAC9EA,EACFkB,EAAQ,QAAQ,IAAIU,EAAO5B,CAAO,EAElCkB,EAAQ,QAAQ,OAAOU,CAAK,CAEhC,EAAG,CAAC,CAAC,EAGL,SACE,QAAC,OACC,IAAKX,EACL,MAAO,CAAE,eAAgB,OAAQ,gBAAiB,MAAO,EACzD,aAAW,MAAG,0CAA2CF,CAAS,EAEjE,UAAA5B,GAAM,IAAIW,MACT,QAAC,UACC,IAAK+B,GAAMF,EAAU7B,EAAI,GAAI+B,CAAE,EAC/B,aAAW,MACT,8GACA,CACE,iBAAkBxC,GAAW,KAAOS,EAAI,EAC1C,CACF,EAEA,QAAS,IAAMqB,EAAWrB,CAAG,EAE5B,UAAAA,EAAI,SACL,OAAC,OACC,aAAW,MACT,+GACA,CACE,SAAUT,GAAW,KAAOS,EAAI,EAClC,CACF,EACF,IAXKA,EAAI,EAYX,CACD,EACAkB,GACH,CAEJ,EAEA,IAAOtC,EAAQmC",
6
+ "names": ["ScrollSpyNav_exports", "__export", "ScrollSpyNav_default", "__toCommonJS", "import_jsx_runtime", "import_AiuiProvider", "import_helpers", "import_react", "import_gsap", "import_BizProductProvider", "useScrollSpy", "tabs", "onActiveChange", "activeTab", "setActiveTab", "observerRef", "sectionsRef", "isManualScrollRef", "activeTabRef", "purchaseBar", "navHeight", "elements", "tab", "id", "element", "observerOptions", "observerCallback", "entries", "firstTab", "intersectingEntries", "entry", "a", "sortedEntries", "b", "handleScroll", "handleSetActiveTab", "scrollToPosition", "ScrollSpyNav", "onSpyNavItemClick", "className", "renderRating", "scrollContainerRef", "tabRefs", "onTabClick", "activeTabElement", "container", "tabRect", "containerRect", "tabCenter", "containerCenter", "scrollOffset", "setTabRef", "tabId", "el"]
7
+ }
@@ -0,0 +1,12 @@
1
+ export interface ScrollSpyNavItem {
2
+ label: string;
3
+ href: string;
4
+ id: string;
5
+ }
6
+ export interface ScrollSpyNavProps {
7
+ tabs: ScrollSpyNavItem[];
8
+ purchaseBarHeight?: number;
9
+ onSpyNavItemClick?: (tab: ScrollSpyNavItem) => void;
10
+ className?: string;
11
+ renderRating?: React.ReactNode;
12
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var l=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var n=Object.getOwnPropertyNames;var o=Object.prototype.hasOwnProperty;var p=(r,e,c,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of n(e))!o.call(r,t)&&t!==c&&l(r,t,{get:()=>e[t],enumerable:!(a=i(e,t))||a.enumerable});return r};var s=r=>p(l({},"__esModule",{value:!0}),r);var S={};module.exports=s(S);
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../../src/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/types.ts"],
4
+ "sourcesContent": ["export interface ScrollSpyNavItem {\n label: string\n href: string\n id: string\n}\n\nexport interface ScrollSpyNavProps {\n tabs: ScrollSpyNavItem[]\n purchaseBarHeight?: number\n onSpyNavItemClick?: (tab: ScrollSpyNavItem) => void\n className?: string\n renderRating?: React.ReactNode\n}\n"],
5
+ "mappings": "+WAAA,IAAAA,EAAA,kBAAAC,EAAAD",
6
+ "names": ["types_exports", "__toCommonJS"]
7
+ }
@@ -0,0 +1,6 @@
1
+ import type { PurchaseBarProps } from './types.js';
2
+ declare const _default: import("react").ForwardRefExoticComponent<Omit<PurchaseBarProps, keyof import("../../../../shared/Styles.js").StylesProps> & Partial<import("../../../../shared/Styles.js").StylesProps & import("../../../../shared/Styles.js").ContainerProps> & {
3
+ className?: string;
4
+ data?: Record<string, any>;
5
+ } & import("react").RefAttributes<any>>;
6
+ export default _default;
@@ -0,0 +1,2 @@
1
+ "use strict";var f=Object.create;var p=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var v=Object.getOwnPropertyNames;var x=Object.getPrototypeOf,h=Object.prototype.hasOwnProperty;var y=(e,t)=>{for(var o in t)p(e,o,{get:t[o],enumerable:!0})},l=(e,t,o,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of v(t))!h.call(e,r)&&r!==o&&p(e,r,{get:()=>t[r],enumerable:!(s=b(t,r))||s.enumerable});return e};var N=(e,t,o)=>(o=e!=null?f(x(e)):{},l(t||!e||!e.__esModule?p(o,"default",{value:e,enumerable:!0}):o,e)),g=e=>l(p({},"__esModule",{value:!0}),e);var P={};y(P,{default:()=>w});module.exports=g(P);var a=require("react/jsx-runtime"),n=require("react"),i=require("../../../../components"),m=require("../index.js"),c=require("../../BizProductProvider.js"),d=N(require("./ScrollSpyNav/index.js")),u=require("../../../../shared/Styles.js");const k=({onSpyNavItemClick:e})=>{const{product:t,renderRating:o}=(0,c.useBizProductContext)(),s=(0,n.useMemo)(()=>t?.payload?.components?.find(r=>r.componentKey==="PurchaseBar")?.data||[],[t?.payload]);return(0,a.jsxs)("div",{id:"purchase-bar",className:"bg-white sticky top-0 left-0 w-full z-[52] border-b border-[#E4E5E6]",children:[(0,a.jsx)(i.Container,{children:(0,a.jsxs)("div",{className:"flex gap-[10px] items-center tablet:justify-between tablet:gap-0 tablet:w-full",children:[(0,a.jsxs)("div",{className:"flex-1 py-3 desktop:pt-6 desktop:pb-0 tablet:flex-none",children:[(0,a.jsx)(i.Heading,{size:2,className:"line-clamp-2 tablet:max-w-[406px] desktop:max-w-[570px] lg-desktop:max-w-[683px]",html:t?.title}),(0,a.jsx)("div",{className:"justify-between hidden desktop:flex gap-8 items-center mt-3",children:(0,a.jsx)(d.default,{tabs:s,className:"",renderRating:o,onSpyNavItemClick:e})})]}),(0,a.jsx)("div",{className:"hidden desktop:block",children:(0,a.jsx)(m.ProductActions,{})})]})}),(0,a.jsxs)(i.Container,{className:"desktop:hidden relative",children:[(0,a.jsx)("div",{className:"w-[100%] h-[1px] bg-[#E4E5E6] absolute top-0 left-0"}),(0,a.jsx)(d.default,{tabs:s,renderRating:o,onSpyNavItemClick:e})]})]})};var w=(0,u.withLayout)(k);
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../src/biz-components/Listing/components/PurchaseBar/index.tsx"],
4
+ "sourcesContent": ["import { useMemo } from 'react'\nimport { Text, Heading, Button, Container } from '../../../../components'\nimport type { PurchaseBarProps } from './types.js'\nimport { ProductActions } from '../index.js'\nimport { useBizProductContext } from '../../BizProductProvider.js'\nimport ScrollSpyNav from './ScrollSpyNav/index.js'\nimport { withLayout } from '../../../../shared/Styles.js'\n\nconst PurchaseBar = ({ onSpyNavItemClick }: PurchaseBarProps) => {\n const { product, renderRating } = useBizProductContext()\n\n const PurchaseBarData = useMemo(() => {\n return product?.payload?.components?.find((item: any) => item.componentKey === 'PurchaseBar')?.data || []\n }, [product?.payload])\n\n\n\n return (\n <div id=\"purchase-bar\" className=\"bg-white sticky top-0 left-0 w-full z-[52] border-b border-[#E4E5E6]\">\n <Container>\n <div className=\"flex gap-[10px] items-center tablet:justify-between tablet:gap-0 tablet:w-full\">\n <div className=\"flex-1 py-3 desktop:pt-6 desktop:pb-0 tablet:flex-none\">\n <Heading\n size={2}\n className=\"line-clamp-2 tablet:max-w-[406px] desktop:max-w-[570px] lg-desktop:max-w-[683px]\"\n html={product?.title}\n />\n <div className=\"justify-between hidden desktop:flex gap-8 items-center mt-3\">\n <ScrollSpyNav\n tabs={PurchaseBarData}\n className=\"\"\n renderRating={renderRating}\n onSpyNavItemClick={onSpyNavItemClick}\n />\n </div>\n </div>\n <div className=\"hidden desktop:block\">\n <ProductActions />\n </div>\n </div>\n </Container>\n <Container className=\"desktop:hidden relative\">\n <div className=\"w-[100%] h-[1px] bg-[#E4E5E6] absolute top-0 left-0\"></div>\n <ScrollSpyNav tabs={PurchaseBarData} renderRating={renderRating} onSpyNavItemClick={onSpyNavItemClick} />\n </Container>\n </div>\n )\n}\n\nexport default withLayout(PurchaseBar)\n"],
5
+ "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GAqBU,IAAAI,EAAA,6BArBVC,EAAyB,iBACzBC,EAAiD,kCAEjDC,EAA+B,uBAC/BC,EAAqC,uCACrCC,EAAyB,sCACzBC,EAA2B,wCAE3B,MAAMC,EAAc,CAAC,CAAE,kBAAAC,CAAkB,IAAwB,CAC/D,KAAM,CAAE,QAAAC,EAAS,aAAAC,CAAa,KAAI,wBAAqB,EAEjDC,KAAkB,WAAQ,IACvBF,GAAS,SAAS,YAAY,KAAMG,GAAcA,EAAK,eAAiB,aAAa,GAAG,MAAQ,CAAC,EACvG,CAACH,GAAS,OAAO,CAAC,EAIrB,SACE,QAAC,OAAI,GAAG,eAAe,UAAU,uEAC/B,oBAAC,aACC,oBAAC,OAAI,UAAU,iFACb,qBAAC,OAAI,UAAU,yDACb,oBAAC,WACC,KAAM,EACN,UAAU,mFACV,KAAMA,GAAS,MACjB,KACA,OAAC,OAAI,UAAU,8DACb,mBAAC,EAAAI,QAAA,CACC,KAAMF,EACN,UAAU,GACV,aAAcD,EACd,kBAAmBF,EACrB,EACF,GACF,KACA,OAAC,OAAI,UAAU,uBACb,mBAAC,mBAAe,EAClB,GACF,EACF,KACA,QAAC,aAAU,UAAU,0BACnB,oBAAC,OAAI,UAAU,sDAAsD,KACrE,OAAC,EAAAK,QAAA,CAAa,KAAMF,EAAiB,aAAcD,EAAc,kBAAmBF,EAAmB,GACzG,GACF,CAEJ,EAEA,IAAOV,KAAQ,cAAWS,CAAW",
6
+ "names": ["PurchaseBar_exports", "__export", "PurchaseBar_default", "__toCommonJS", "import_jsx_runtime", "import_react", "import_components", "import__", "import_BizProductProvider", "import_ScrollSpyNav", "import_Styles", "PurchaseBar", "onSpyNavItemClick", "product", "renderRating", "PurchaseBarData", "item", "ScrollSpyNav"]
7
+ }
@@ -0,0 +1,12 @@
1
+ export interface PurchaseBarProps {
2
+ onSpyNavItemClick?: (tab: ScrollSpyNavItem) => void;
3
+ }
4
+ export interface ScrollSpyNavItem {
5
+ label: string;
6
+ href: string;
7
+ id: string;
8
+ }
9
+ export interface ScrollSpyNavProps extends Pick<PurchaseBarProps, 'onSpyNavItemClick'> {
10
+ tabs: ScrollSpyNavItem[];
11
+ purchaseBarHeight: number;
12
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var c=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var s=(e,r,o,t)=>{if(r&&typeof r=="object"||typeof r=="function")for(let a of i(r))!l.call(e,a)&&a!==o&&c(e,a,{get:()=>r[a],enumerable:!(t=p(r,a))||t.enumerable});return e};var n=e=>s(c({},"__esModule",{value:!0}),e);var S={};module.exports=n(S);
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../src/biz-components/Listing/components/PurchaseBar/types.ts"],
4
+ "sourcesContent": ["export interface PurchaseBarProps {\n onSpyNavItemClick?: (tab: ScrollSpyNavItem) => void\n}\n\nexport interface ScrollSpyNavItem {\n label: string\n href: string\n id: string\n}\n\nexport interface ScrollSpyNavProps extends Pick<PurchaseBarProps, 'onSpyNavItemClick'> {\n tabs: ScrollSpyNavItem[]\n purchaseBarHeight: number\n}\n"],
5
+ "mappings": "+WAAA,IAAAA,EAAA,kBAAAC,EAAAD",
6
+ "names": ["types_exports", "__toCommonJS"]
7
+ }
@@ -0,0 +1,3 @@
1
+ export { default as PurchaseBar } from './PurchaseBar/index.js';
2
+ export { default as ProductActions } from './PurchaseBar/ProductActions/index.js';
3
+ export { default as ProductCard } from './ProductCard/index.js';
@@ -0,0 +1,2 @@
1
+ "use strict";var m=Object.create;var e=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var x=Object.getOwnPropertyNames;var P=Object.getPrototypeOf,h=Object.prototype.hasOwnProperty;var i=(r,a)=>{for(var o in a)e(r,o,{get:a[o],enumerable:!0})},u=(r,a,o,f)=>{if(a&&typeof a=="object"||typeof a=="function")for(let t of x(a))!h.call(r,t)&&t!==o&&e(r,t,{get:()=>a[t],enumerable:!(f=p(a,t))||f.enumerable});return r};var d=(r,a,o)=>(o=r!=null?m(P(r)):{},u(a||!r||!r.__esModule?e(o,"default",{value:r,enumerable:!0}):o,r)),n=r=>u(e({},"__esModule",{value:!0}),r);var A={};i(A,{ProductActions:()=>c.default,ProductCard:()=>l.default,PurchaseBar:()=>s.default});module.exports=n(A);var s=d(require("./PurchaseBar/index.js")),c=d(require("./PurchaseBar/ProductActions/index.js")),l=d(require("./ProductCard/index.js"));
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/biz-components/Listing/components/index.ts"],
4
+ "sourcesContent": ["export { default as PurchaseBar } from './PurchaseBar/index.js'\nexport { default as ProductActions } from './PurchaseBar/ProductActions/index.js'\nexport { default as ProductCard } from './ProductCard/index.js'"],
5
+ "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,mGAAAE,EAAAF,GAAA,IAAAG,EAAuC,qCACvCC,EAA0C,oDAC1CC,EAAuC",
6
+ "names": ["components_exports", "__export", "__toCommonJS", "import_PurchaseBar", "import_ProductActions", "import_ProductCard"]
7
+ }
@@ -0,0 +1,29 @@
1
+ export declare enum DiscountType {
2
+ fixedAmount = "fixed_amount",
3
+ percentage = "percentage",
4
+ fixedDiscountAmount = "fix_discount_amount"
5
+ }
6
+ export declare enum CouponChannel {
7
+ LIGHTNING_DEAL = "LIGHTNING_DEAL",
8
+ DEAL = "LIGHTNING_DEAL",
9
+ COUPON = "COUPON",
10
+ PED = "PED",
11
+ WS24 = "WS24",
12
+ WSTD = "WSTD",
13
+ WSCH = "WSCH"
14
+ }
15
+ export declare const PRICE_SYMBOL: {
16
+ us: string;
17
+ uk: string;
18
+ ca: string;
19
+ eu: string;
20
+ pl: string;
21
+ fr: string;
22
+ de: string;
23
+ vn: string;
24
+ cl: string;
25
+ sg: string;
26
+ ae: string;
27
+ es: string;
28
+ };
29
+ export declare const COLOR_LABEL: string[];
@@ -0,0 +1,2 @@
1
+ "use strict";var f=Object.defineProperty;var N=Object.getOwnPropertyDescriptor;var _=Object.getOwnPropertyNames;var D=Object.prototype.hasOwnProperty;var I=(e,r)=>{for(var E in r)f(e,E,{get:r[E],enumerable:!0})},O=(e,r,E,L)=>{if(r&&typeof r=="object"||typeof r=="function")for(let c of _(r))!D.call(e,c)&&c!==E&&f(e,c,{get:()=>r[c],enumerable:!(L=N(r,c))||L.enumerable});return e};var S=e=>O(f({},"__esModule",{value:!0}),e);var W={};I(W,{COLOR_LABEL:()=>G,CouponChannel:()=>A,DiscountType:()=>x,PRICE_SYMBOL:()=>m});module.exports=S(W);var x=(L=>(L.fixedAmount="fixed_amount",L.percentage="percentage",L.fixedDiscountAmount="fix_discount_amount",L))(x||{}),A=(t=>(t.LIGHTNING_DEAL="LIGHTNING_DEAL",t.DEAL="LIGHTNING_DEAL",t.COUPON="COUPON",t.PED="PED",t.WS24="WS24",t.WSTD="WSTD",t.WSCH="WSCH",t))(A||{});const m={us:"$",uk:"\xA3",ca:"$",eu:"\u20AC",pl:"z\u0142",fr:"\u20AC",de:"\u20AC",vn:"\u20AB",cl:"$",sg:"$",ae:"AED",es:"\u20AC"},G=["color","colour","couleur","cor","colore","farbe","\uC0C9","\u8272","\u30AB\u30E9\u30FC","f\xE4rg","farve"];
2
+ //# sourceMappingURL=const.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/biz-components/Listing/const.ts"],
4
+ "sourcesContent": ["export enum DiscountType {\n fixedAmount = 'fixed_amount',\n percentage = 'percentage',\n fixedDiscountAmount = 'fix_discount_amount',\n}\n\nexport enum CouponChannel {\n LIGHTNING_DEAL = 'LIGHTNING_DEAL',\n DEAL = 'LIGHTNING_DEAL',\n COUPON = 'COUPON',\n PED = 'PED',\n WS24 = 'WS24',\n WSTD = 'WSTD',\n WSCH = 'WSCH',\n}\n\nexport const PRICE_SYMBOL = {\n us: '$',\n uk: '\u00A3',\n ca: '$',\n eu: '\u20AC',\n pl: 'z\u0142',\n fr: '\u20AC',\n de: '\u20AC',\n vn: '\u20AB',\n cl: '$',\n sg: '$',\n ae: 'AED',\n es: '\u20AC',\n}\n\nexport const COLOR_LABEL = [\n 'color',\n 'colour',\n 'couleur',\n 'cor',\n 'colore',\n 'farbe',\n '\uC0C9',\n '\u8272',\n '\u30AB\u30E9\u30FC',\n 'f\u00E4rg',\n 'farve',\n]"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,iBAAAE,EAAA,kBAAAC,EAAA,iBAAAC,EAAA,iBAAAC,IAAA,eAAAC,EAAAN,GAAO,IAAKI,OACVA,EAAA,YAAc,eACdA,EAAA,WAAa,aACbA,EAAA,oBAAsB,sBAHZA,OAAA,IAMAD,OACVA,EAAA,eAAiB,iBACjBA,EAAA,KAAO,iBACPA,EAAA,OAAS,SACTA,EAAA,IAAM,MACNA,EAAA,KAAO,OACPA,EAAA,KAAO,OACPA,EAAA,KAAO,OAPGA,OAAA,IAUL,MAAME,EAAe,CAC1B,GAAI,IACJ,GAAI,OACJ,GAAI,IACJ,GAAI,SACJ,GAAI,UACJ,GAAI,SACJ,GAAI,SACJ,GAAI,SACJ,GAAI,IACJ,GAAI,IACJ,GAAI,MACJ,GAAI,QACN,EAEaH,EAAc,CACzB,QACA,SACA,UACA,MACA,SACA,QACA,SACA,SACA,qBACA,UACA,OACF",
6
+ "names": ["const_exports", "__export", "COLOR_LABEL", "CouponChannel", "DiscountType", "PRICE_SYMBOL", "__toCommonJS"]
7
+ }
@@ -0,0 +1,14 @@
1
+ import { MediaContentType } from '../types/graphql';
2
+ import type { Replace } from '../types/type-helper';
3
+ import type { Product, ProductMedia, ProductVariant } from '../types/product';
4
+ export type ImageMedia = Replace<ProductMedia, 'mediaContentType', MediaContentType.Image>;
5
+ export type VideoMedia = Replace<ProductMedia, 'mediaContentType', MediaContentType.Video>;
6
+ export declare function useVariantMedia({ product, variant }: {
7
+ product: Product;
8
+ variant: ProductVariant;
9
+ }): {
10
+ productList: ImageMedia[];
11
+ sceneList: ImageMedia[];
12
+ keyFeaturesList: ImageMedia[];
13
+ videoList: VideoMedia[];
14
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";var c=Object.defineProperty;var T=Object.getOwnPropertyDescriptor;var P=Object.getOwnPropertyNames;var h=Object.prototype.hasOwnProperty;var v=(e,t)=>{for(var i in t)c(e,i,{get:t[i],enumerable:!0})},F=(e,t,i,d)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of P(t))!h.call(e,a)&&a!==i&&c(e,a,{get:()=>t[a],enumerable:!(d=T(t,a))||d.enumerable});return e};var k=e=>F(c({},"__esModule",{value:!0}),e);var R={};v(R,{useVariantMedia:()=>x});module.exports=k(R);var n=require("../types/graphql"),p=require("../utils/helper"),s=require("react");function x({product:e,variant:t}){const i=e?.media?.filter(o=>o.mediaContentType===n.MediaContentType.Image),d=[i?.[0]],a=i?.slice(1,d.length),M=i?.slice(2,d.length),g=e?.media?.filter(o=>o.mediaContentType===n.MediaContentType.Video),[y,L]=(0,s.useState)(d||[]),[u,I]=(0,s.useState)(a||[]),[l,V]=(0,s.useState)(g||[]),[f,C]=(0,s.useState)(M||[]);return(0,s.useEffect)(()=>{const o=(0,p.getVariantMediaList)({product:e,variant:t}),m=o?.filter(r=>r.mediaContentType===n.MediaContentType.Image);L(m?.[0]?[m[0]]:[]),I(m?.slice(1,m?.length)||[]),C([]),V(o?.filter(r=>r.mediaContentType===n.MediaContentType.Video)||[])},[e,t]),{productList:y,sceneList:u,videoList:l,keyFeaturesList:f}}
2
+ //# sourceMappingURL=use-variant-media.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/biz-components/Listing/hooks/use-variant-media.ts"],
4
+ "sourcesContent": ["import { MediaContentType } from '../types/graphql'\nimport { getVariantMediaList } from '../utils/helper'\nimport type { Replace } from '../types/type-helper'\nimport type { Product, ProductMedia, ProductVariant } from '../types/product'\nimport { useEffect, useState } from 'react'\n\nexport type ImageMedia = Replace<ProductMedia, 'mediaContentType', MediaContentType.Image>\nexport type VideoMedia = Replace<ProductMedia, 'mediaContentType', MediaContentType.Video>\n\nexport function useVariantMedia({ product, variant }: { product: Product; variant: ProductVariant }): {\n productList: ImageMedia[]\n sceneList: ImageMedia[]\n keyFeaturesList: ImageMedia[]\n videoList: VideoMedia[]\n} {\n const mediaList = product?.media?.filter((media) => media.mediaContentType === MediaContentType.Image)\n const productImageList = [mediaList?.[0]] as ImageMedia[]\n const scenes = mediaList?.slice(1, productImageList.length) as ImageMedia[]\n const keyFeatures = mediaList?.slice(2, productImageList.length) as ImageMedia[]\n const videos = product?.media?.filter((media) => media.mediaContentType === MediaContentType.Video) as VideoMedia[]\n const [imageList, setImageList] = useState<ImageMedia[]>(productImageList || [])\n const [sceneList, setSeneList] = useState<ImageMedia[]>(scenes || [])\n const [videoList, setVideoList] = useState<VideoMedia[]>(videos || [])\n const [keyFeaturesList, setKeyFeaturesList] = useState<ImageMedia[]>(keyFeatures || [])\n useEffect(() => {\n const mediaList = getVariantMediaList({ product, variant })\n\n const imageList = mediaList?.filter((media) => media.mediaContentType === MediaContentType.Image) as ImageMedia[]\n setImageList(imageList?.[0] ? [imageList[0]] : [])\n setSeneList(imageList?.slice(1, imageList?.length) || [])\n setKeyFeaturesList([])\n setVideoList(\n (mediaList?.filter((media) => media.mediaContentType === MediaContentType.Video) as VideoMedia[]) || [],\n )\n }, [product, variant])\n\n return { productList: imageList, sceneList, videoList: videoList, keyFeaturesList }\n}\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,qBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAiC,4BACjCC,EAAoC,2BAGpCC,EAAoC,iBAK7B,SAASJ,EAAgB,CAAE,QAAAK,EAAS,QAAAC,CAAQ,EAKjD,CACA,MAAMC,EAAYF,GAAS,OAAO,OAAQG,GAAUA,EAAM,mBAAqB,mBAAiB,KAAK,EAC/FC,EAAmB,CAACF,IAAY,CAAC,CAAC,EAClCG,EAASH,GAAW,MAAM,EAAGE,EAAiB,MAAM,EACpDE,EAAcJ,GAAW,MAAM,EAAGE,EAAiB,MAAM,EACzDG,EAASP,GAAS,OAAO,OAAQG,GAAUA,EAAM,mBAAqB,mBAAiB,KAAK,EAC5F,CAACK,EAAWC,CAAY,KAAI,YAAuBL,GAAoB,CAAC,CAAC,EACzE,CAACM,EAAWC,CAAW,KAAI,YAAuBN,GAAU,CAAC,CAAC,EAC9D,CAACO,EAAWC,CAAY,KAAI,YAAuBN,GAAU,CAAC,CAAC,EAC/D,CAACO,EAAiBC,CAAkB,KAAI,YAAuBT,GAAe,CAAC,CAAC,EACtF,sBAAU,IAAM,CACd,MAAMJ,KAAY,uBAAoB,CAAE,QAAAF,EAAS,QAAAC,CAAQ,CAAC,EAEpDO,EAAYN,GAAW,OAAQC,GAAUA,EAAM,mBAAqB,mBAAiB,KAAK,EAChGM,EAAaD,IAAY,CAAC,EAAI,CAACA,EAAU,CAAC,CAAC,EAAI,CAAC,CAAC,EACjDG,EAAYH,GAAW,MAAM,EAAGA,GAAW,MAAM,GAAK,CAAC,CAAC,EACxDO,EAAmB,CAAC,CAAC,EACrBF,EACGX,GAAW,OAAQC,GAAUA,EAAM,mBAAqB,mBAAiB,KAAK,GAAsB,CAAC,CACxG,CACF,EAAG,CAACH,EAASC,CAAO,CAAC,EAEd,CAAE,YAAaO,EAAW,UAAAE,EAAW,UAAWE,EAAW,gBAAAE,CAAgB,CACpF",
6
+ "names": ["use_variant_media_exports", "__export", "useVariantMedia", "__toCommonJS", "import_graphql", "import_helper", "import_react", "product", "variant", "mediaList", "media", "productImageList", "scenes", "keyFeatures", "videos", "imageList", "setImageList", "sceneList", "setSeneList", "videoList", "setVideoList", "keyFeaturesList", "setKeyFeaturesList"]
7
+ }
@@ -0,0 +1,5 @@
1
+ import type { Options, Product, ProductVariant } from '../types/product';
2
+ export declare function useVariant({ product, selectedOptions, }: {
3
+ product: Product;
4
+ selectedOptions: Options;
5
+ }): ProductVariant;
@@ -0,0 +1,2 @@
1
+ "use strict";var s=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var u=Object.prototype.hasOwnProperty;var f=(t,r)=>{for(var a in r)s(t,a,{get:r[a],enumerable:!0})},m=(t,r,a,o)=>{if(r&&typeof r=="object"||typeof r=="function")for(let i of p(r))!u.call(t,i)&&i!==a&&s(t,i,{get:()=>r[i],enumerable:!(o=c(r,i))||o.enumerable});return t};var d=t=>m(s({},"__esModule",{value:!0}),t);var v={};f(v,{useVariant:()=>V});module.exports=d(v);var e=require("react"),n=require("../utils/index");function V({product:t,selectedOptions:r}){const[a,o]=(0,e.useState)((0,n.getFirstAvailableVariant)(t));return(0,e.useEffect)(()=>{const i=(0,n.getVariantFromSelectedOptions)({product:t,selectedOptions:r});i&&i.id!==a.id&&o(i)},[r,t.variants,a,t]),a}
2
+ //# sourceMappingURL=use-variant.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/biz-components/Listing/hooks/use-variant.ts"],
4
+ "sourcesContent": ["import type { Options, Product, ProductVariant } from '../types/product'\nimport { useEffect, useState } from 'react'\n\nimport { getFirstAvailableVariant, getVariantFromSelectedOptions } from '../utils/index'\n\nexport function useVariant({\n product,\n selectedOptions,\n}: {\n product: Product\n selectedOptions: Options\n}): ProductVariant {\n const [variant, setVariant] = useState(getFirstAvailableVariant(product))\n\n // \u6839\u636E\u5DF2\u9009\u7684 option \u83B7\u53D6\u5F53\u524D\u7684 variant\n useEffect(() => {\n const v = getVariantFromSelectedOptions({ product, selectedOptions })\n if (v && v.id !== variant.id) {\n setVariant(v)\n }\n }, [selectedOptions, product.variants, variant, product])\n\n return variant\n}\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,gBAAAE,IAAA,eAAAC,EAAAH,GACA,IAAAI,EAAoC,iBAEpCC,EAAwE,0BAEjE,SAASH,EAAW,CACzB,QAAAI,EACA,gBAAAC,CACF,EAGmB,CACjB,KAAM,CAACC,EAASC,CAAU,KAAI,eAAS,4BAAyBH,CAAO,CAAC,EAGxE,sBAAU,IAAM,CACd,MAAMI,KAAI,iCAA8B,CAAE,QAAAJ,EAAS,gBAAAC,CAAgB,CAAC,EAChEG,GAAKA,EAAE,KAAOF,EAAQ,IACxBC,EAAWC,CAAC,CAEhB,EAAG,CAACH,EAAiBD,EAAQ,SAAUE,EAASF,CAAO,CAAC,EAEjDE,CACT",
6
+ "names": ["use_variant_exports", "__export", "useVariant", "__toCommonJS", "import_react", "import_utils", "product", "selectedOptions", "variant", "setVariant", "v"]
7
+ }
@@ -0,0 +1,50 @@
1
+ import type { ProductVariant, FreeGift, Bundle } from '../types/product';
2
+ interface BenefitsParams {
3
+ variant: ProductVariant;
4
+ }
5
+ interface BenefitItemConfig<T extends Record<string, any> = Record<string, any>> {
6
+ enable: boolean;
7
+ config?: T;
8
+ }
9
+ interface BenefitsResult {
10
+ /**
11
+ * 通用优惠券
12
+ */
13
+ commonCoupon?: BenefitItemConfig;
14
+ /**
15
+ * 买赠
16
+ */
17
+ freeGift: BenefitItemConfig<FreeGift>;
18
+ /**
19
+ * 捆绑折扣
20
+ */
21
+ bundle: BenefitItemConfig<Bundle>;
22
+ /**
23
+ * 会员价
24
+ */
25
+ memberDiscount: BenefitItemConfig;
26
+ /**
27
+ * 积分抵现
28
+ */
29
+ creditsRedemption: BenefitItemConfig;
30
+ /**
31
+ * 高标物流
32
+ */
33
+ paidShipping: BenefitItemConfig;
34
+ /**
35
+ * 满赠
36
+ */
37
+ fullGift: BenefitItemConfig;
38
+ /**
39
+ * 满减折扣
40
+ */
41
+ levelDiscount: BenefitItemConfig;
42
+ }
43
+ /**
44
+ * 商品权益
45
+ * 获取当前sku 所有的权益
46
+ * 包括 通用优惠券,会员价,满减,捆绑折扣,买赠 ,满赠 ,积分抵现
47
+ * @returns
48
+ */
49
+ export declare const useBenefits: ({ variant }: BenefitsParams) => BenefitsResult;
50
+ export {};
@@ -0,0 +1,2 @@
1
+ "use strict";var a=Object.defineProperty;var I=Object.getOwnPropertyDescriptor;var x=Object.getOwnPropertyNames;var G=Object.prototype.hasOwnProperty;var P=(e,o)=>{for(var i in o)a(e,i,{get:o[i],enumerable:!0})},R=(e,o,i,t)=>{if(o&&typeof o=="object"||typeof o=="function")for(let n of x(o))!G.call(e,n)&&n!==i&&a(e,n,{get:()=>o[n],enumerable:!(t=I(o,n))||t.enumerable});return e};var S=e=>R(a({},"__esModule",{value:!0}),e);var v={};P(v,{useBenefits:()=>M});module.exports=S(v);var m=require("../BizProductProvider"),p=require("../utils/helper"),d=require("./useDiscountEnable"),g=require("../../AiuiProvider/index.js"),y=require("react");const M=({variant:e})=>{const{coupon:o,product:i,bundle:t,freeGift:n,memberFunctionResult:f,creditsRedemptionAmount:c,profile:b}=(0,m.useBizProductContext)(),{trackingData:l}=(0,g.useAiuiContext)(),B=Math.max(f?.withCouponMemberTotalSave??0,f?.withoutCouponMaxMemberTotalSave??0),r=(0,d.useDiscountEnable)({profile:b,variant:e,memberFunctionResult:f,coupon:o}),h=!!(l?.paidShipping&&e.requiresShipping&&!e?.metafields?.global?.presell&&!e?.metafields?.global?.HideShipping),u=l?.freeGift,C=u?.excludeProducts?.map(s=>typeof s=="object"&&"sku"in s?s.sku:s)??[],D=l?.levelDiscount&&(0,p.checkItemAvailableForProduct)({product:i,variant:e,item:l?.levelDiscount});return{commonCoupon:{enable:r.showCommonCoupon&&!!o,config:o??{}},freeGift:{enable:!!n&&!!n?.giftList?.length,config:n},bundle:{enable:!!t&&!!t?.bundleList?.length&&Math.max(...t?.bundleList?.map(s=>s.savings??0))>0,config:t},memberDiscount:{enable:r.showMemberDiscount,config:{amount:B,description:f?.labels?.[0]}},creditsRedemption:{enable:!!c&&c>0,config:{amount:c,label:l?.creditsRedemptionLabel}},paidShipping:{enable:h,config:{}},fullGift:{enable:!!(u&&!C.includes(e.sku)),config:u??{}},levelDiscount:{enable:!!D,config:l?.levelDiscount??{}}}};
2
+ //# sourceMappingURL=useBenefits.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/biz-components/Listing/hooks/useBenefits.ts"],
4
+ "sourcesContent": ["import { useBizProductContext } from '../BizProductProvider'\nimport type { ProductVariant, FreeGift, Bundle } from '../types/product'\nimport { checkItemAvailableForProduct } from '../utils/helper'\nimport { useDiscountEnable } from './useDiscountEnable'\n\nimport { useAiuiContext } from '../../AiuiProvider/index.js'\nimport { useMemo } from 'react'\n\ninterface BenefitsParams {\n variant: ProductVariant\n}\n\ninterface BenefitItemConfig<T extends Record<string, any> = Record<string, any>> {\n enable: boolean\n config?: T // \u539F\u59CB\u914D\u7F6E\n}\n\ninterface BenefitsResult {\n /**\n * \u901A\u7528\u4F18\u60E0\u5238\n */\n commonCoupon?: BenefitItemConfig\n /**\n * \u4E70\u8D60\n */\n freeGift: BenefitItemConfig<FreeGift>\n /**\n * \u6346\u7ED1\u6298\u6263\n */\n bundle: BenefitItemConfig<Bundle>\n /**\n * \u4F1A\u5458\u4EF7\n */\n memberDiscount: BenefitItemConfig\n /**\n * \u79EF\u5206\u62B5\u73B0\n */\n creditsRedemption: BenefitItemConfig\n /**\n * \u9AD8\u6807\u7269\u6D41\n */\n paidShipping: BenefitItemConfig\n\n /**\n * \u6EE1\u8D60\n */\n fullGift: BenefitItemConfig\n\n /**\n * \u6EE1\u51CF\u6298\u6263\n */\n levelDiscount: BenefitItemConfig\n}\n\n/**\n * \u5546\u54C1\u6743\u76CA\n * \u83B7\u53D6\u5F53\u524Dsku \u6240\u6709\u7684\u6743\u76CA\n * \u5305\u62EC \u901A\u7528\u4F18\u60E0\u5238\uFF0C\u4F1A\u5458\u4EF7\uFF0C\u6EE1\u51CF\uFF0C\u6346\u7ED1\u6298\u6263\uFF0C\u4E70\u8D60 \uFF0C\u6EE1\u8D60 \uFF0C\u79EF\u5206\u62B5\u73B0\n * @returns\n */\nexport const useBenefits = ({ variant }: BenefitsParams): BenefitsResult => {\n const {\n coupon,\n product,\n bundle,\n freeGift,\n memberFunctionResult,\n creditsRedemptionAmount,\n profile,\n } = useBizProductContext()\n\n const { trackingData } = useAiuiContext()\n\n const total = Math.max(\n memberFunctionResult?.withCouponMemberTotalSave ?? 0,\n memberFunctionResult?.withoutCouponMaxMemberTotalSave ?? 0\n )\n\n const discountEnable = useDiscountEnable({ profile, variant, memberFunctionResult, coupon })\n\n // \u9AD8\u6807\u7269\u6D41\n const showPaidShipping = Boolean(\n trackingData?.paidShipping &&\n variant.requiresShipping &&\n !variant?.metafields?.global?.presell &&\n !variant?.metafields?.global?.HideShipping\n )\n\n // \u811A\u672C\u6EE1\u8D60\n const fullGift = trackingData?.freeGift\n const excludeProducts =\n fullGift?.excludeProducts?.map((item: any) => (typeof item === 'object' && 'sku' in item ? item.sku : item)) ?? []\n\n const showLevelDiscount =\n trackingData?.levelDiscount && checkItemAvailableForProduct({ product, variant, item: trackingData?.levelDiscount })\n\n return {\n commonCoupon: {\n enable: discountEnable.showCommonCoupon && Boolean(coupon),\n config: coupon ?? {},\n },\n freeGift: {\n enable: Boolean(freeGift) && !!freeGift?.giftList?.length,\n config: freeGift,\n },\n bundle: {\n enable:\n Boolean(bundle) &&\n !!bundle?.bundleList?.length &&\n Math.max(...bundle?.bundleList?.map(item => item.savings ?? 0)) > 0, // \u6709\u4F18\u60E0\u624D\u5C55\u793A\n config: bundle,\n },\n memberDiscount: {\n enable: discountEnable.showMemberDiscount,\n // enable: total > 0,\n config: {\n amount: total,\n description: memberFunctionResult?.labels?.[0],\n },\n },\n creditsRedemption: {\n enable: Boolean(creditsRedemptionAmount) && creditsRedemptionAmount! > 0,\n config: { amount: creditsRedemptionAmount, label: trackingData?.creditsRedemptionLabel },\n },\n paidShipping: {\n enable: showPaidShipping,\n config: {},\n },\n fullGift: {\n enable: Boolean(fullGift && !excludeProducts.includes(variant.sku)),\n config: fullGift ?? {},\n },\n levelDiscount: {\n enable: Boolean(showLevelDiscount),\n config: trackingData?.levelDiscount ?? {},\n },\n }\n}\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,iBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAqC,iCAErCC,EAA6C,2BAC7CC,EAAkC,+BAElCC,EAA+B,uCAC/BC,EAAwB,iBAsDjB,MAAMN,EAAc,CAAC,CAAE,QAAAO,CAAQ,IAAsC,CAC1E,KAAM,CACJ,OAAAC,EACA,QAAAC,EACA,OAAAC,EACA,SAAAC,EACA,qBAAAC,EACA,wBAAAC,EACA,QAAAC,CACF,KAAI,wBAAqB,EAEnB,CAAE,aAAAC,CAAa,KAAI,kBAAe,EAElCC,EAAQ,KAAK,IACjBJ,GAAsB,2BAA6B,EACnDA,GAAsB,iCAAmC,CAC3D,EAEMK,KAAiB,qBAAkB,CAAE,QAAAH,EAAS,QAAAP,EAAS,qBAAAK,EAAsB,OAAAJ,CAAO,CAAC,EAGrFU,EAAmB,GACvBH,GAAc,cACZR,EAAQ,kBACR,CAACA,GAAS,YAAY,QAAQ,SAC9B,CAACA,GAAS,YAAY,QAAQ,cAI5BY,EAAWJ,GAAc,SACzBK,EACJD,GAAU,iBAAiB,IAAKE,GAAe,OAAOA,GAAS,UAAY,QAASA,EAAOA,EAAK,IAAMA,CAAK,GAAK,CAAC,EAE7GC,EACJP,GAAc,kBAAiB,gCAA6B,CAAE,QAAAN,EAAS,QAAAF,EAAS,KAAMQ,GAAc,aAAc,CAAC,EAErH,MAAO,CACL,aAAc,CACZ,OAAQE,EAAe,kBAAoB,EAAQT,EACnD,OAAQA,GAAU,CAAC,CACrB,EACA,SAAU,CACR,OAAQ,EAAQG,GAAa,CAAC,CAACA,GAAU,UAAU,OACnD,OAAQA,CACV,EACA,OAAQ,CACN,OACE,EAAQD,GACR,CAAC,CAACA,GAAQ,YAAY,QACtB,KAAK,IAAI,GAAGA,GAAQ,YAAY,IAAIW,GAAQA,EAAK,SAAW,CAAC,CAAC,EAAI,EACpE,OAAQX,CACV,EACA,eAAgB,CACd,OAAQO,EAAe,mBAEvB,OAAQ,CACN,OAAQD,EACR,YAAaJ,GAAsB,SAAS,CAAC,CAC/C,CACF,EACA,kBAAmB,CACjB,OAAQ,EAAQC,GAA4BA,EAA2B,EACvE,OAAQ,CAAE,OAAQA,EAAyB,MAAOE,GAAc,sBAAuB,CACzF,EACA,aAAc,CACZ,OAAQG,EACR,OAAQ,CAAC,CACX,EACA,SAAU,CACR,OAAQ,GAAQC,GAAY,CAACC,EAAgB,SAASb,EAAQ,GAAG,GACjE,OAAQY,GAAY,CAAC,CACvB,EACA,cAAe,CACb,OAAQ,EAAQG,EAChB,OAAQP,GAAc,eAAiB,CAAC,CAC1C,CACF,CACF",
6
+ "names": ["useBenefits_exports", "__export", "useBenefits", "__toCommonJS", "import_BizProductProvider", "import_helper", "import_useDiscountEnable", "import_AiuiProvider", "import_react", "variant", "coupon", "product", "bundle", "freeGift", "memberFunctionResult", "creditsRedemptionAmount", "profile", "trackingData", "total", "discountEnable", "showPaidShipping", "fullGift", "excludeProducts", "item", "showLevelDiscount"]
7
+ }
@@ -0,0 +1,5 @@
1
+ declare const useCopy: () => {
2
+ copy: (val: string) => void;
3
+ copied: boolean;
4
+ };
5
+ export default useCopy;
@@ -0,0 +1,2 @@
1
+ "use strict";var a=Object.create;var s=Object.defineProperty;var f=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var l=Object.getPrototypeOf,m=Object.prototype.hasOwnProperty;var d=(e,r)=>{for(var t in r)s(e,t,{get:r[t],enumerable:!0})},n=(e,r,t,u)=>{if(r&&typeof r=="object"||typeof r=="function")for(let c of p(r))!m.call(e,c)&&c!==t&&s(e,c,{get:()=>r[c],enumerable:!(u=f(r,c))||u.enumerable});return e};var y=(e,r,t)=>(t=e!=null?a(l(e)):{},n(r||!e||!e.__esModule?s(t,"default",{value:e,enumerable:!0}):t,e)),T=e=>n(s({},"__esModule",{value:!0}),e);var g={};d(g,{default:()=>b});module.exports=T(g);var i=y(require("copy-to-clipboard")),o=require("react");const C=()=>{const e=(0,o.useRef)(),[r,t]=(0,o.useState)(!1),u=(0,o.useCallback)(c=>{(0,i.default)(c),e.current&&clearTimeout(e.current),t(!0),e.current=setTimeout(()=>{t(!1)},2e3)},[]);return(0,o.useEffect)(()=>()=>{e.current&&clearTimeout(e.current)},[]),{copy:u,copied:r}};var b=C;
2
+ //# sourceMappingURL=useCopy.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/biz-components/Listing/hooks/useCopy.ts"],
4
+ "sourcesContent": ["import clipboard from 'copy-to-clipboard'\nimport { useCallback, useEffect, useRef, useState } from 'react'\n\nconst useCopy = () => {\n const copyTimer = useRef<any>()\n const [copied, setCopied] = useState(false)\n\n const copy = useCallback((val: string) => {\n clipboard(val)\n\n if (copyTimer.current) {\n clearTimeout(copyTimer.current)\n }\n\n setCopied(true)\n copyTimer.current = setTimeout(() => {\n setCopied(false)\n }, 2000)\n }, [])\n\n useEffect(() => {\n return () => {\n if (copyTimer.current) {\n clearTimeout(copyTimer.current)\n }\n }\n }, [])\n\n return {\n copy,\n copied,\n }\n}\n\nexport default useCopy\n"],
5
+ "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAsB,gCACtBC,EAAyD,iBAEzD,MAAMC,EAAU,IAAM,CACpB,MAAMC,KAAY,UAAY,EACxB,CAACC,EAAQC,CAAS,KAAI,YAAS,EAAK,EAEpCC,KAAO,eAAaC,GAAgB,IACxC,EAAAC,SAAUD,CAAG,EAETJ,EAAU,SACZ,aAAaA,EAAU,OAAO,EAGhCE,EAAU,EAAI,EACdF,EAAU,QAAU,WAAW,IAAM,CACnCE,EAAU,EAAK,CACjB,EAAG,GAAI,CACT,EAAG,CAAC,CAAC,EAEL,sBAAU,IACD,IAAM,CACPF,EAAU,SACZ,aAAaA,EAAU,OAAO,CAElC,EACC,CAAC,CAAC,EAEE,CACL,KAAAG,EACA,OAAAF,CACF,CACF,EAEA,IAAON,EAAQI",
6
+ "names": ["useCopy_exports", "__export", "useCopy_default", "__toCommonJS", "import_copy_to_clipboard", "import_react", "useCopy", "copyTimer", "copied", "setCopied", "copy", "val", "clipboard"]
7
+ }
@@ -0,0 +1,14 @@
1
+ import type { FunctionMemberPriceResult, UserProfile } from '../BizProductProvider';
2
+ import type { VariantCoupon, ProductVariant } from '../types/product';
3
+ interface DiscountEnableResult {
4
+ showMemberDiscount: boolean;
5
+ showCommonCoupon: boolean;
6
+ }
7
+ interface DiscountEnableParams {
8
+ profile?: UserProfile;
9
+ variant: ProductVariant;
10
+ memberFunctionResult?: FunctionMemberPriceResult;
11
+ coupon?: VariantCoupon;
12
+ }
13
+ export declare const useDiscountEnable: ({ profile, variant, memberFunctionResult, coupon, }: DiscountEnableParams) => DiscountEnableResult;
14
+ export {};
@@ -0,0 +1,2 @@
1
+ "use strict";var p=Object.create;var i=Object.defineProperty;var f=Object.getOwnPropertyDescriptor;var b=Object.getOwnPropertyNames;var D=Object.getPrototypeOf,P=Object.prototype.hasOwnProperty;var v=(e,o)=>{for(var r in o)i(e,r,{get:o[r],enumerable:!0})},c=(e,o,r,a)=>{if(o&&typeof o=="object"||typeof o=="function")for(let t of b(o))!P.call(e,t)&&t!==r&&i(e,t,{get:()=>o[t],enumerable:!(a=f(o,t))||a.enumerable});return e};var w=(e,o,r)=>(r=e!=null?p(D(e)):{},c(o||!e||!e.__esModule?i(r,"default",{value:e,enumerable:!0}):r,e)),C=e=>c(i({},"__esModule",{value:!0}),e);var d={};v(d,{useDiscountEnable:()=>M});module.exports=C(d);var m=w(require("decimal.js"));const M=({profile:e,variant:o,memberFunctionResult:r,coupon:a})=>{let t=!1,n=!0;const u=!!e?.email,s=a?new m.default(o?.price?.amount).minus(a?.variant_price4wscode||0).toNumber():0;if(r?.withoutCouponMaxMemberTotalSave){const l=r?.withoutCouponMaxMemberTotalSave||0;u?l>s?(t=!0,n=!1):(t=!1,n=!0):l>s?(t=!0,n=!0):(t=!1,n=!0)}else r?.withCouponMemberTotalSave&&(t=!0,n=!0);return{showMemberDiscount:t,showCommonCoupon:n}};
2
+ //# sourceMappingURL=useDiscountEnable.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/biz-components/Listing/hooks/useDiscountEnable.ts"],
4
+ "sourcesContent": ["import type { SavingDetail, FunctionMemberPriceResult, UserProfile } from '../BizProductProvider'\nimport type { DiscountData } from '../types'\nimport type { VariantCoupon, ProductVariant } from '../types/product'\nimport Decimal from 'decimal.js'\ninterface DiscountEnableResult {\n showMemberDiscount: boolean\n showCommonCoupon: boolean\n}\n\ninterface DiscountEnableParams {\n profile?: UserProfile\n variant: ProductVariant\n memberFunctionResult?: FunctionMemberPriceResult\n coupon?: VariantCoupon\n}\n\n// withCouponMemberTotalSave \u4E0D\u4E3A0\u65F6\uFF0C\u4F1A\u5458\u4EF7\u53EF\u53E0\u52A0\n// withoutCouponMaxMemberTotalSave \u4E0D\u4E3A0\u65F6\uFF0C\u4F1A\u5458\u4EF7\u4E0D\u53EF\u53E0\u52A0\nexport const useDiscountEnable = ({\n profile,\n variant,\n memberFunctionResult,\n coupon,\n}: DiscountEnableParams): DiscountEnableResult => {\n let showMemberDiscount = false // \u662F\u5426\u5C55\u793A\u4F1A\u5458\u4EF7\u6298\u6263\n let showCommonCoupon = true // \u662F\u5426\u5C55\u793Acode\u6298\u6263\n const isLoggedIn = Boolean(profile?.email) // \u662F\u5426\u767B\u5F55\n const couponSaving = coupon ? new Decimal(variant?.price?.amount).minus(coupon?.variant_price4wscode || 0).toNumber() : 0 // code\u6298\u6263\n\n // \u5F53\u4F1A\u5458\u4EF7\u914D\u7F6E\u4E86\u4E0D\u53EF\u53E0\u52A0\u4EA7\u54C1\u6298\u6263\n // \u7528\u6237\u5DF2\u767B\u5F55\n // \u300C\u4F1A\u5458\u4EF7\u6298\u6263\u300D>\u300Ccode\u300D\n // \u5C55\u793A\u4F1A\u5458\u4EF7\u6298\u6263\n // \u4F1A\u5458\u4EF7\u6298\u6263\u9ED8\u8BA4\u52FE\u9009\n // code\u6298\u6263\u9690\u85CF\n // \u300C\u4F1A\u5458\u4EF7\u6298\u6263\u300D<=\u300Ccode\u300D\n // \u5C55\u793Acode\u6298\u6263\uFF0C\u6839\u636E\u6298\u6263\u524D\u7F00\u5224\u5B9A\u662F\u5426\u9ED8\u8BA4\u52FE\u9009\n // \u4F1A\u5458\u4EF7\u6298\u6263\u9690\u85CF\n // \u7528\u6237\u672A\u767B\u5F55\n // \u300C\u4F1A\u5458\u4EF7\u6298\u6263\u300D>\u300Ccode\u300D\n // \u5C55\u793A\u4F1A\u5458\u4EF7\u6298\u6263\u548Ccode\u6298\u6263\n // code\u6298\u6263\u6839\u636E\u6298\u6263\u524D\u7F00\u5224\u65AD\u662F\u5426\u9ED8\u8BA4\u52FE\u9009\n // \u4F1A\u5458\u4EF7\u6298\u6263\u4E0D\u9ED8\u8BA4\u52FE\u9009\uFF0C\u70B9\u51FB\u52FE\u9009\u8DF3\u51FA\u8BA2\u6CE8\u4E00\u4F53\u5F39\u7A97\n // \u300C\u4F1A\u5458\u4EF7\u6298\u6263\u300D<=\u300Ccode\u300D\n // \u5C55\u793Acode\u6298\u6263\uFF0C\u4F1A\u5458\u4EF7\u6298\u6263\u9690\u85CF\n\n // \u5F53\u4F1A\u5458\u4EF7\u914D\u7F6E\u4E86\u53EF\u53E0\u52A0\u4EA7\u54C1\u6298\u6263\n // \u7528\u6237\u5DF2\u767B\u5F55\n // \u5C55\u793A\u300C\u4F1A\u5458\u4EF7\u6298\u6263\u300D\u548C\u300Ccode\u300D\n // \u300C\u4F1A\u5458\u4EF7\u6298\u6263\u300D\u9ED8\u8BA4\u52FE\u9009\n // \u300Ccode\u300D\u6298\u6263\u6839\u636E\u524D\u7F00\u5224\u65AD\u662F\u5426\u52FE\u9009\n // \u7528\u6237\u672A\u767B\u5F55\n // \u5C55\u793A\u300C\u4F1A\u5458\u4EF7\u6298\u6263\u300D\u548C\u300Ccode\u300D\n // \u300C\u4F1A\u5458\u4EF7\u6298\u6263\u300D\u4E0D\u9ED8\u8BA4\u52FE\u9009\uFF0C\u70B9\u51FB\u52FE\u9009\u8DF3\u51FA\u8BA2\u6CE8\u4E00\u4F53\u5F39\u7A97\n // \u300Ccode\u300D\u6298\u6263\u6839\u636E\u524D\u7F00\u5224\u65AD\u662F\u5426\u52FE\u9009\n\n // \u4F1A\u5458\u4EF7\u4E0D\u53EF\u53E0\u52A0\u4EA7\u54C1\u6298\u6263\n if (memberFunctionResult?.withoutCouponMaxMemberTotalSave) {\n const memberSaving = memberFunctionResult?.withoutCouponMaxMemberTotalSave || 0\n if (isLoggedIn) {\n // \u7528\u6237\u5DF2\u767B\u5F55\n if (memberSaving > couponSaving) {\n // \u300C\u4F1A\u5458\u4EF7\u6298\u6263\u300D>\u300Ccode\u300D\uFF1A\u5C55\u793A\u4F1A\u5458\u4EF7\u6298\u6263\uFF0Ccode\u6298\u6263\u9690\u85CF\n showMemberDiscount = true\n showCommonCoupon = false\n } else {\n // \u300C\u4F1A\u5458\u4EF7\u6298\u6263\u300D<=\u300Ccode\u300D\uFF1A\u5C55\u793Acode\u6298\u6263\uFF0C\u4F1A\u5458\u4EF7\u6298\u6263\u9690\u85CF\n showMemberDiscount = false\n showCommonCoupon = true\n }\n } else {\n // \u7528\u6237\u672A\u767B\u5F55\n if (memberSaving > couponSaving) {\n // \u300C\u4F1A\u5458\u4EF7\u6298\u6263\u300D>\u300Ccode\u300D\uFF1A\u5C55\u793A\u4F1A\u5458\u4EF7\u6298\u6263\uFF0C\u5C55\u793Acode\u6298\u6263\n showMemberDiscount = true\n showCommonCoupon = true\n } else {\n // \u300C\u4F1A\u5458\u4EF7\u6298\u6263\u300D<=\u300Ccode\u300D\uFF1A\u5C55\u793Acode\u6298\u6263\uFF0C\u4F1A\u5458\u4EF7\u6298\u6263\u9690\u85CF\n showMemberDiscount = false\n showCommonCoupon = true\n }\n }\n }\n // \u4F1A\u5458\u4EF7\u53EF\u53E0\u52A0\u4EA7\u54C1\u6298\u6263\n else if (memberFunctionResult?.withCouponMemberTotalSave) {\n if (isLoggedIn) {\n // \u7528\u6237\u5DF2\u767B\u5F55\uFF1A\u5C55\u793A\u300C\u4F1A\u5458\u4EF7\u6298\u6263\u300D\u548C\u300Ccode\u300D\uFF0C\u300C\u4F1A\u5458\u4EF7\u6298\u6263\u300D\u9ED8\u8BA4\u52FE\u9009\uFF0C\u5C55\u793Acode\u6298\u6263\n showMemberDiscount = true\n showCommonCoupon = true\n } else {\n // \u7528\u6237\u672A\u767B\u5F55\uFF1A\u5C55\u793A\u300C\u4F1A\u5458\u4EF7\u6298\u6263\u300D\u548C\u300Ccode\u300D\n showMemberDiscount = true\n showCommonCoupon = true\n }\n }\n\n return { showMemberDiscount, showCommonCoupon }\n}\n"],
5
+ "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,uBAAAE,IAAA,eAAAC,EAAAH,GAGA,IAAAI,EAAoB,yBAeb,MAAMF,EAAoB,CAAC,CAChC,QAAAG,EACA,QAAAC,EACA,qBAAAC,EACA,OAAAC,CACF,IAAkD,CAChD,IAAIC,EAAqB,GACrBC,EAAmB,GACvB,MAAMC,EAAa,EAAQN,GAAS,MAC9BO,EAAeJ,EAAS,IAAI,EAAAK,QAAQP,GAAS,OAAO,MAAM,EAAE,MAAME,GAAQ,sBAAwB,CAAC,EAAE,SAAS,EAAI,EA8BxH,GAAID,GAAsB,gCAAiC,CACzD,MAAMO,EAAeP,GAAsB,iCAAmC,EAC1EI,EAEEG,EAAeF,GAEjBH,EAAqB,GACrBC,EAAmB,KAGnBD,EAAqB,GACrBC,EAAmB,IAIjBI,EAAeF,GAEjBH,EAAqB,GACrBC,EAAmB,KAGnBD,EAAqB,GACrBC,EAAmB,GAGzB,MAESH,GAAsB,4BAG3BE,EAAqB,GACrBC,EAAmB,IAQvB,MAAO,CAAE,mBAAAD,EAAoB,iBAAAC,CAAiB,CAChD",
6
+ "names": ["useDiscountEnable_exports", "__export", "useDiscountEnable", "__toCommonJS", "import_decimal", "profile", "variant", "memberFunctionResult", "coupon", "showMemberDiscount", "showCommonCoupon", "isLoggedIn", "couponSaving", "Decimal", "memberSaving"]
7
+ }
@@ -0,0 +1,3 @@
1
+ import { type ProductContextType } from './BizProductProvider.js';
2
+ declare const Listing: React.FC<Omit<ProductContextType, 'joinedRecommendBuyProducts' | 'setJoinedRecommendBuyProducts'>>;
3
+ export default Listing;
@@ -0,0 +1,2 @@
1
+ "use strict";var T=Object.create;var c=Object.defineProperty;var q=Object.getOwnPropertyDescriptor;var j=Object.getOwnPropertyNames;var F=Object.getPrototypeOf,J=Object.prototype.hasOwnProperty;var Q=(e,t)=>{for(var o in t)c(e,o,{get:t[o],enumerable:!0})},p=(e,t,o,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of j(t))!J.call(e,n)&&n!==o&&c(e,n,{get:()=>t[n],enumerable:!(r=q(t,n))||r.enumerable});return e};var V=(e,t,o)=>(o=e!=null?T(F(e)):{},p(t||!e||!e.__esModule?c(o,"default",{value:e,enumerable:!0}):o,e)),E=e=>p(c({},"__esModule",{value:!0}),e);var K={};Q(K,{default:()=>H});module.exports=E(K);var i=require("react/jsx-runtime"),m=require("../AiuiProvider/index.js"),d=require("./components/index.js"),u=V(require("./BizProductProvider.js")),y=require("./components/index.js"),s=require("react-responsive");const l=({product:e,renderRating:t,variant:o,selectedOptions:r,setSelectedOptions:n,isLogin:U,finalPrice:P,coupon:f,comparePrice:v,totalSavings:C,savingDetail:S,freeGift:g,bundle:h,checkedBundle:k,checkedGift:B,setCheckedBundle:N,setCheckedGift:x,compareData:I,selectedVariants:D,onAddToCart:b,onBuyNow:w,openModal:A,setSavingDetail:M,openSignInPopup:R,openAuthCodePopup:z,renderInstallments:G})=>{const{locale:W}=(0,m.useAiuiContext)(),a=(0,s.useMediaQuery)({query:"(max-width: 768px)"}),L=(0,s.useMediaQuery)({query:"(min-width: 1440px)"});return(0,i.jsx)(u.default,{product:e,isMobile:a,isDesktop:L,freeGift:g,renderRating:t,finalPrice:P,comparePrice:v,totalSavings:C,savingDetail:S,variant:o,selectedOptions:r,setSelectedOptions:n,bundle:h,coupon:f,checkedBundle:k,checkedGift:B,setCheckedBundle:N,setCheckedGift:x,compareData:I,selectedVariants:D,onAddToCart:b,onBuyNow:w,openModal:A,setSavingDetail:M,openSignInPopup:R,openAuthCodePopup:z,renderInstallments:G,children:(0,i.jsxs)("div",{id:"ipc-listing",children:[(0,i.jsx)(d.PurchaseBar,{onSpyNavItemClick:O=>{console.log(O)}}),a&&(0,i.jsx)("div",{className:"fixed bottom-0 left-0 w-full z-[60]",children:(0,i.jsx)(d.ProductActions,{})}),(0,i.jsx)(y.ProductCard,{})]})})};l.displayName="Listing";var H=l;
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/biz-components/Listing/index.tsx"],
4
+ "sourcesContent": ["import { useAiuiContext } from '../AiuiProvider/index.js'\nimport { PurchaseBar, ProductActions } from './components/index.js'\nimport type { ScrollSpyNavItem } from './components/PurchaseBar/types.js'\nimport BizProductProvider, { type ProductContextType } from './BizProductProvider.js'\nimport { ProductCard } from './components/index.js'\n\nimport { useMediaQuery } from 'react-responsive'\n\nconst Listing: React.FC<Omit<ProductContextType, 'joinedRecommendBuyProducts' | 'setJoinedRecommendBuyProducts'>> = ({\n product,\n renderRating,\n variant,\n selectedOptions,\n setSelectedOptions,\n isLogin,\n finalPrice,\n coupon,\n comparePrice,\n totalSavings,\n savingDetail,\n freeGift,\n bundle,\n checkedBundle,\n checkedGift,\n setCheckedBundle,\n setCheckedGift,\n compareData,\n selectedVariants,\n onAddToCart,\n onBuyNow,\n openModal,\n setSavingDetail,\n openSignInPopup,\n openAuthCodePopup,\n renderInstallments,\n}) => {\n const { locale } = useAiuiContext()\n\n const isMobile = useMediaQuery({ query: '(max-width: 768px)' })\n const isDesktop = useMediaQuery({ query: '(min-width: 1440px)' })\n\n const onSpyNavItemClick = (tab: ScrollSpyNavItem) => {\n console.log(tab)\n }\n\n return (\n <BizProductProvider\n product={product}\n isMobile={isMobile}\n isDesktop={isDesktop}\n freeGift={freeGift}\n renderRating={renderRating}\n finalPrice={finalPrice}\n comparePrice={comparePrice}\n totalSavings={totalSavings}\n savingDetail={savingDetail}\n variant={variant}\n selectedOptions={selectedOptions}\n setSelectedOptions={setSelectedOptions}\n bundle={bundle}\n coupon={coupon}\n checkedBundle={checkedBundle}\n checkedGift={checkedGift}\n setCheckedBundle={setCheckedBundle}\n setCheckedGift={setCheckedGift}\n compareData={compareData}\n selectedVariants={selectedVariants}\n onAddToCart={onAddToCart}\n onBuyNow={onBuyNow}\n openModal={openModal}\n setSavingDetail={setSavingDetail}\n openSignInPopup={openSignInPopup}\n openAuthCodePopup={openAuthCodePopup}\n renderInstallments={renderInstallments}\n >\n <div id=\"ipc-listing\">\n <PurchaseBar onSpyNavItemClick={onSpyNavItemClick} />\n {isMobile && (\n <div className=\"fixed bottom-0 left-0 w-full z-[60]\">\n <ProductActions />\n </div>\n )}\n <ProductCard />\n </div>\n </BizProductProvider>\n )\n}\n\nListing.displayName = 'Listing'\n\nexport default Listing\n"],
5
+ "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GA2EM,IAAAI,EAAA,6BA3ENC,EAA+B,oCAC/BC,EAA4C,iCAE5CC,EAA4D,sCAC5DD,EAA4B,iCAE5BE,EAA8B,4BAE9B,MAAMC,EAA8G,CAAC,CACnH,QAAAC,EACA,aAAAC,EACA,QAAAC,EACA,gBAAAC,EACA,mBAAAC,EACA,QAAAC,EACA,WAAAC,EACA,OAAAC,EACA,aAAAC,EACA,aAAAC,EACA,aAAAC,EACA,SAAAC,EACA,OAAAC,EACA,cAAAC,EACA,YAAAC,EACA,iBAAAC,EACA,eAAAC,EACA,YAAAC,EACA,iBAAAC,EACA,YAAAC,EACA,SAAAC,EACA,UAAAC,EACA,gBAAAC,EACA,gBAAAC,EACA,kBAAAC,EACA,mBAAAC,CACF,IAAM,CACJ,KAAM,CAAE,OAAAC,CAAO,KAAI,kBAAe,EAE5BC,KAAW,iBAAc,CAAE,MAAO,oBAAqB,CAAC,EACxDC,KAAY,iBAAc,CAAE,MAAO,qBAAsB,CAAC,EAMhE,SACE,OAAC,EAAAC,QAAA,CACC,QAAS7B,EACT,SAAU2B,EACV,UAAWC,EACX,SAAUjB,EACV,aAAcV,EACd,WAAYK,EACZ,aAAcE,EACd,aAAcC,EACd,aAAcC,EACd,QAASR,EACT,gBAAiBC,EACjB,mBAAoBC,EACpB,OAAQQ,EACR,OAAQL,EACR,cAAeM,EACf,YAAaC,EACb,iBAAkBC,EAClB,eAAgBC,EAChB,YAAaC,EACb,iBAAkBC,EAClB,YAAaC,EACb,SAAUC,EACV,UAAWC,EACX,gBAAiBC,EACjB,gBAAiBC,EACjB,kBAAmBC,EACnB,mBAAoBC,EAEpB,oBAAC,OAAI,GAAG,cACN,oBAAC,eAAY,kBAnCQK,GAA0B,CACnD,QAAQ,IAAIA,CAAG,CACjB,EAiCyD,EAClDH,MACC,OAAC,OAAI,UAAU,sCACb,mBAAC,mBAAe,EAClB,KAEF,OAAC,gBAAY,GACf,EACF,CAEJ,EAEA5B,EAAQ,YAAc,UAEtB,IAAOP,EAAQO",
6
+ "names": ["Listing_exports", "__export", "Listing_default", "__toCommonJS", "import_jsx_runtime", "import_AiuiProvider", "import_components", "import_BizProductProvider", "import_react_responsive", "Listing", "product", "renderRating", "variant", "selectedOptions", "setSelectedOptions", "isLogin", "finalPrice", "coupon", "comparePrice", "totalSavings", "savingDetail", "freeGift", "bundle", "checkedBundle", "checkedGift", "setCheckedBundle", "setCheckedGift", "compareData", "selectedVariants", "onAddToCart", "onBuyNow", "openModal", "setSavingDetail", "openSignInPopup", "openAuthCodePopup", "renderInstallments", "locale", "isMobile", "isDesktop", "BizProductProvider", "tab"]
7
+ }