@anker-in/headless-ui 1.3.21 → 1.3.22-alpha.1781754422536

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 (623) hide show
  1. package/dist/cjs/biz-components/AccessoriesShelf/components/AccessoriesProductGrid/index.d.ts +11 -0
  2. package/dist/cjs/biz-components/AccessoriesShelf/components/AccessoriesProductGrid/index.js +2 -0
  3. package/dist/cjs/biz-components/AccessoriesShelf/components/AccessoriesProductGrid/index.js.map +7 -0
  4. package/dist/cjs/biz-components/AccessoriesShelf/components/AccessoryShelf/ProductCard.d.ts +23 -0
  5. package/dist/cjs/biz-components/AccessoriesShelf/components/AccessoryShelf/ProductCard.js +2 -0
  6. package/dist/cjs/biz-components/AccessoriesShelf/components/AccessoryShelf/ProductCard.js.map +7 -0
  7. package/dist/cjs/biz-components/AccessoriesShelf/components/AccessoryShelf/index.d.ts +40 -0
  8. package/dist/cjs/biz-components/AccessoriesShelf/components/AccessoryShelf/index.js +2 -0
  9. package/dist/cjs/biz-components/AccessoriesShelf/components/AccessoryShelf/index.js.map +7 -0
  10. package/dist/cjs/biz-components/AccessoriesShelf/components/AccessoryShelf/types.d.ts +103 -0
  11. package/dist/cjs/biz-components/AccessoriesShelf/components/AccessoryShelf/types.js +2 -0
  12. package/dist/cjs/biz-components/AccessoriesShelf/components/AccessoryShelf/types.js.map +7 -0
  13. package/dist/cjs/biz-components/AccessoriesShelf/components/MainProductArea/index.d.ts +27 -0
  14. package/dist/cjs/biz-components/AccessoriesShelf/components/MainProductArea/index.js +2 -0
  15. package/dist/cjs/biz-components/AccessoriesShelf/components/MainProductArea/index.js.map +7 -0
  16. package/dist/cjs/biz-components/AccessoriesShelf/components/ProductGrid/index.d.ts +11 -0
  17. package/dist/cjs/biz-components/AccessoriesShelf/components/ProductGrid/index.js +2 -0
  18. package/dist/cjs/biz-components/AccessoriesShelf/components/ProductGrid/index.js.map +7 -0
  19. package/dist/cjs/biz-components/AccessoriesShelf/components/PromoBanner/index.d.ts +10 -0
  20. package/dist/cjs/biz-components/AccessoriesShelf/components/PromoBanner/index.js +2 -0
  21. package/dist/cjs/biz-components/AccessoriesShelf/components/PromoBanner/index.js.map +7 -0
  22. package/dist/cjs/biz-components/AccessoriesShelf/components/SectionHeader/index.d.ts +9 -0
  23. package/dist/cjs/biz-components/AccessoriesShelf/components/SectionHeader/index.js +2 -0
  24. package/dist/cjs/biz-components/AccessoriesShelf/components/SectionHeader/index.js.map +7 -0
  25. package/dist/cjs/biz-components/AccessoriesShelf/index.d.ts +8 -0
  26. package/dist/cjs/biz-components/AccessoriesShelf/index.js +2 -0
  27. package/dist/cjs/biz-components/AccessoriesShelf/index.js.map +7 -0
  28. package/dist/cjs/biz-components/AccessoriesShelf/product.d.ts +280 -0
  29. package/dist/cjs/biz-components/AccessoriesShelf/product.js +2 -0
  30. package/dist/cjs/biz-components/AccessoriesShelf/product.js.map +7 -0
  31. package/dist/cjs/biz-components/AccessoriesShelf/types.d.ts +43 -0
  32. package/dist/cjs/biz-components/AccessoriesShelf/types.js +2 -0
  33. package/dist/cjs/biz-components/AccessoriesShelf/types.js.map +7 -0
  34. package/dist/cjs/biz-components/AccordionCards/index.d.ts +1 -1
  35. package/dist/cjs/biz-components/ActiveShelf/index.d.ts +1 -1
  36. package/dist/cjs/biz-components/ActivityMechanism/index.js +1 -1
  37. package/dist/cjs/biz-components/ActivityMechanism/index.js.map +3 -3
  38. package/dist/cjs/biz-components/ActivitySchedule/index.d.ts +1 -1
  39. package/dist/cjs/biz-components/ActivitySchedule/index.js +1 -1
  40. package/dist/cjs/biz-components/ActivitySchedule/index.js.map +3 -3
  41. package/dist/cjs/biz-components/AiuiProvider/index.d.ts +6 -0
  42. package/dist/cjs/biz-components/AiuiProvider/index.js +1 -1
  43. package/dist/cjs/biz-components/AiuiProvider/index.js.map +3 -3
  44. package/dist/cjs/biz-components/AnchorNavigation/index.d.ts +1 -1
  45. package/dist/cjs/biz-components/AnchorNavigation/index.js +1 -1
  46. package/dist/cjs/biz-components/AnchorNavigation/index.js.map +3 -3
  47. package/dist/cjs/biz-components/AplusDesc/index.d.ts +1 -1
  48. package/dist/cjs/biz-components/BrandCardLink/BrandCardLink.d.ts +1 -1
  49. package/dist/cjs/biz-components/BrandCardLink/BrandCardLink.js +1 -1
  50. package/dist/cjs/biz-components/BrandCardLink/BrandCardLink.js.map +3 -3
  51. package/dist/cjs/biz-components/BrandEquity/BrandEquity.d.ts +1 -1
  52. package/dist/cjs/biz-components/BrandEquity/BrandEquity.js +1 -1
  53. package/dist/cjs/biz-components/BrandEquity/BrandEquity.js.map +3 -3
  54. package/dist/cjs/biz-components/BuyOneGetOneShelf/ProductCard.d.ts +1 -1
  55. package/dist/cjs/biz-components/BuyOneGetOneShelf/ProductCard.js +1 -1
  56. package/dist/cjs/biz-components/BuyOneGetOneShelf/ProductCard.js.map +3 -3
  57. package/dist/cjs/biz-components/BuyOneGetOneShelf/context.d.ts +4 -0
  58. package/dist/cjs/biz-components/BuyOneGetOneShelf/context.js +2 -0
  59. package/dist/cjs/biz-components/BuyOneGetOneShelf/context.js.map +7 -0
  60. package/dist/cjs/biz-components/BuyOneGetOneShelf/types.d.ts +1 -1
  61. package/dist/cjs/biz-components/BuyOneGetOneShelf/types.js.map +1 -1
  62. package/dist/cjs/biz-components/Category/SwiperCategory.js +1 -1
  63. package/dist/cjs/biz-components/Category/SwiperCategory.js.map +3 -3
  64. package/dist/cjs/biz-components/Category/index.d.ts +1 -1
  65. package/dist/cjs/biz-components/Category/index.js +1 -1
  66. package/dist/cjs/biz-components/Category/index.js.map +3 -3
  67. package/dist/cjs/biz-components/CreativeModule/index.d.ts +1 -1
  68. package/dist/cjs/biz-components/DownLoad/index.d.ts +1 -1
  69. package/dist/cjs/biz-components/Evaluate/index.d.ts +1 -1
  70. package/dist/cjs/biz-components/Evaluate/index.js +1 -1
  71. package/dist/cjs/biz-components/Evaluate/index.js.map +3 -3
  72. package/dist/cjs/biz-components/EventSchedule/index.d.ts +1 -1
  73. package/dist/cjs/biz-components/EventSchedule/index.js +1 -1
  74. package/dist/cjs/biz-components/EventSchedule/index.js.map +3 -3
  75. package/dist/cjs/biz-components/Faq/Faq.d.ts +1 -1
  76. package/dist/cjs/biz-components/FeatureCards/FeatureCards.d.ts +1 -1
  77. package/dist/cjs/biz-components/FeatureCards/FeatureCards.js +1 -1
  78. package/dist/cjs/biz-components/FeatureCards/FeatureCards.js.map +3 -3
  79. package/dist/cjs/biz-components/FeatureShowcase/FeatureShowcase.d.ts +1 -1
  80. package/dist/cjs/biz-components/FeaturedBlogPosts/index.d.ts +1 -1
  81. package/dist/cjs/biz-components/FeaturedBlogPosts/index.js +1 -1
  82. package/dist/cjs/biz-components/FeaturedBlogPosts/index.js.map +2 -2
  83. package/dist/cjs/biz-components/Features/index.d.ts +1 -1
  84. package/dist/cjs/biz-components/FootCharger/index.d.ts +1 -1
  85. package/dist/cjs/biz-components/FooterNavigation/index.d.ts +1 -1
  86. package/dist/cjs/biz-components/FooterNavigation/index.js +1 -1
  87. package/dist/cjs/biz-components/FooterNavigation/index.js.map +3 -3
  88. package/dist/cjs/biz-components/GiftBox/index.d.ts +1 -1
  89. package/dist/cjs/biz-components/GiftShelf/index.d.ts +1 -1
  90. package/dist/cjs/biz-components/GiftShelf/index.js +1 -1
  91. package/dist/cjs/biz-components/GiftShelf/index.js.map +2 -2
  92. package/dist/cjs/biz-components/GiftTierShelf/index.d.ts +1 -1
  93. package/dist/cjs/biz-components/Graphic/index.d.ts +1 -1
  94. package/dist/cjs/biz-components/Graphic/index.js +1 -1
  95. package/dist/cjs/biz-components/Graphic/index.js.map +3 -3
  96. package/dist/cjs/biz-components/GraphicAttractionBlock/index.d.ts +1 -1
  97. package/dist/cjs/biz-components/GraphicOverlay/GraphicOverlay.d.ts +2 -2
  98. package/dist/cjs/biz-components/GraphicOverlay/GraphicOverlay.js +1 -1
  99. package/dist/cjs/biz-components/GraphicOverlay/GraphicOverlay.js.map +3 -3
  100. package/dist/cjs/biz-components/HeaderNavigation/MobileTextLinksMenu.d.ts +12 -0
  101. package/dist/cjs/biz-components/HeaderNavigation/MobileTextLinksMenu.js +2 -0
  102. package/dist/cjs/biz-components/HeaderNavigation/MobileTextLinksMenu.js.map +7 -0
  103. package/dist/cjs/biz-components/HeaderNavigation/MulticolDropdown.js +1 -1
  104. package/dist/cjs/biz-components/HeaderNavigation/MulticolDropdown.js.map +2 -2
  105. package/dist/cjs/biz-components/HeaderNavigation/TextLinksDropdown.d.ts +10 -0
  106. package/dist/cjs/biz-components/HeaderNavigation/TextLinksDropdown.js +2 -0
  107. package/dist/cjs/biz-components/HeaderNavigation/TextLinksDropdown.js.map +7 -0
  108. package/dist/cjs/biz-components/HeaderNavigation/index.d.ts +1 -1
  109. package/dist/cjs/biz-components/HeaderNavigation/index.js +1 -1
  110. package/dist/cjs/biz-components/HeaderNavigation/index.js.map +3 -3
  111. package/dist/cjs/biz-components/HeaderNavigation/types.d.ts +11 -1
  112. package/dist/cjs/biz-components/HeaderNavigation/types.js +1 -1
  113. package/dist/cjs/biz-components/HeaderNavigation/types.js.map +2 -2
  114. package/dist/cjs/biz-components/HeaderNavigation/withCategory.d.ts +1 -0
  115. package/dist/cjs/biz-components/HeaderNavigation/withCategory.js +1 -1
  116. package/dist/cjs/biz-components/HeaderNavigation/withCategory.js.map +3 -3
  117. package/dist/cjs/biz-components/HeroBanner/HeroBanner.d.ts +1 -1
  118. package/dist/cjs/biz-components/HeroBanner/HeroBanner.js +1 -1
  119. package/dist/cjs/biz-components/HeroBanner/HeroBanner.js.map +3 -3
  120. package/dist/cjs/biz-components/HeroBanner/HeroBannerCarousel.js +1 -1
  121. package/dist/cjs/biz-components/HeroBanner/HeroBannerCarousel.js.map +3 -3
  122. package/dist/cjs/biz-components/ImageOverlayShelf/index.d.ts +1 -1
  123. package/dist/cjs/biz-components/ImageTextFeature/ImageTextFeature.d.ts +1 -1
  124. package/dist/cjs/biz-components/ImageTextOverlay/index.d.ts +1 -1
  125. package/dist/cjs/biz-components/ImageTextOverlay/index.js +2 -2
  126. package/dist/cjs/biz-components/ImageTextOverlay/index.js.map +3 -3
  127. package/dist/cjs/biz-components/ImageWithText/ImageWithText.d.ts +1 -1
  128. package/dist/cjs/biz-components/ImageWithText/ImageWithText.js +1 -1
  129. package/dist/cjs/biz-components/ImageWithText/ImageWithText.js.map +3 -3
  130. package/dist/cjs/biz-components/Ksp/index.d.ts +1 -1
  131. package/dist/cjs/biz-components/Ksp/index.js +1 -1
  132. package/dist/cjs/biz-components/Ksp/index.js.map +3 -3
  133. package/dist/cjs/biz-components/Listing/BizProductProvider.d.ts +3 -1
  134. package/dist/cjs/biz-components/Listing/BizProductProvider.js +1 -1
  135. package/dist/cjs/biz-components/Listing/BizProductProvider.js.map +3 -3
  136. package/dist/cjs/biz-components/Listing/components/CartActionButtons/index.d.ts +9 -1
  137. package/dist/cjs/biz-components/Listing/components/CartActionButtons/index.js +1 -1
  138. package/dist/cjs/biz-components/Listing/components/CartActionButtons/index.js.map +3 -3
  139. package/dist/cjs/biz-components/Listing/components/PaidShipping/index.d.ts +1 -1
  140. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.d.ts +1 -1
  141. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.d.ts +1 -1
  142. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.d.ts +1 -1
  143. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.d.ts +1 -1
  144. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.d.ts +1 -1
  145. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.d.ts +1 -1
  146. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/index.d.ts +1 -1
  147. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductPaidShipping/index.d.ts +1 -1
  148. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductSummary/index.d.ts +1 -1
  149. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductSummary/index.js +1 -1
  150. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductSummary/index.js.map +3 -3
  151. package/dist/cjs/biz-components/Listing/components/PurchaseBar/ProductActions/index.js +1 -1
  152. package/dist/cjs/biz-components/Listing/components/PurchaseBar/ProductActions/index.js.map +3 -3
  153. package/dist/cjs/biz-components/Listing/components/PurchaseBar/index.d.ts +1 -1
  154. package/dist/cjs/biz-components/LotteryShared/ErrorModal.d.ts +4 -0
  155. package/dist/cjs/biz-components/LotteryShared/ErrorModal.js.map +2 -2
  156. package/dist/cjs/biz-components/LotteryShared/MyRewardsModal.d.ts +13 -13
  157. package/dist/cjs/biz-components/LotteryShared/MyRewardsModal.js +1 -1
  158. package/dist/cjs/biz-components/LotteryShared/MyRewardsModal.js.map +3 -3
  159. package/dist/cjs/biz-components/LotteryShared/types.d.ts +9 -0
  160. package/dist/cjs/biz-components/LotteryShared/types.js.map +2 -2
  161. package/dist/cjs/biz-components/Marquee/Marquee.d.ts +1 -1
  162. package/dist/cjs/biz-components/MarqueeReview/index.d.ts +1 -1
  163. package/dist/cjs/biz-components/Media/index.js +1 -1
  164. package/dist/cjs/biz-components/Media/index.js.map +3 -3
  165. package/dist/cjs/biz-components/MediaEndorsement/index.d.ts +1 -1
  166. package/dist/cjs/biz-components/MediaEndorsement/index.js +2 -2
  167. package/dist/cjs/biz-components/MediaEndorsement/index.js.map +3 -3
  168. package/dist/cjs/biz-components/MediaPlayerBase/index.d.ts +1 -1
  169. package/dist/cjs/biz-components/MediaPlayerBase/index.js +1 -1
  170. package/dist/cjs/biz-components/MediaPlayerBase/index.js.map +3 -3
  171. package/dist/cjs/biz-components/MediaPlayerMulti/index.d.ts +1 -1
  172. package/dist/cjs/biz-components/MediaPlayerMulti/index.js +1 -1
  173. package/dist/cjs/biz-components/MediaPlayerMulti/index.js.map +3 -3
  174. package/dist/cjs/biz-components/MediaPlayerSticky/index.d.ts +1 -1
  175. package/dist/cjs/biz-components/MediaPlayerSticky/index.js +1 -1
  176. package/dist/cjs/biz-components/MediaPlayerSticky/index.js.map +3 -3
  177. package/dist/cjs/biz-components/MediaSceneSwitcher/MediaSceneSwitcher.d.ts +1 -1
  178. package/dist/cjs/biz-components/MediaSceneSwitcher/MediaSceneSwitcher.js +2 -2
  179. package/dist/cjs/biz-components/MediaSceneSwitcher/MediaSceneSwitcher.js.map +3 -3
  180. package/dist/cjs/biz-components/MediaSceneSwitcherV2/index.d.ts +1 -1
  181. package/dist/cjs/biz-components/MediaSceneSwitcherV2/index.js +1 -1
  182. package/dist/cjs/biz-components/MediaSceneSwitcherV2/index.js.map +3 -3
  183. package/dist/cjs/biz-components/MediaShelf/index.d.ts +1 -1
  184. package/dist/cjs/biz-components/MediaTextOverlay/MediaTextOverlay.d.ts +1 -1
  185. package/dist/cjs/biz-components/MediaTextOverlay/MediaTextOverlay.js +1 -1
  186. package/dist/cjs/biz-components/MediaTextOverlay/MediaTextOverlay.js.map +3 -3
  187. package/dist/cjs/biz-components/MemberEquity/index.d.ts +1 -1
  188. package/dist/cjs/biz-components/MemberEquity/index.js +2 -2
  189. package/dist/cjs/biz-components/MemberEquity/index.js.map +3 -3
  190. package/dist/cjs/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.d.ts +2 -2
  191. package/dist/cjs/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js +1 -1
  192. package/dist/cjs/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js.map +3 -3
  193. package/dist/cjs/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlockCarousel.js +1 -1
  194. package/dist/cjs/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlockCarousel.js.map +2 -2
  195. package/dist/cjs/biz-components/NavigationSearch/index.d.ts +1 -1
  196. package/dist/cjs/biz-components/NavigationSearch/index.js +2 -2
  197. package/dist/cjs/biz-components/NavigationSearch/index.js.map +2 -2
  198. package/dist/cjs/biz-components/NotifyMeDialog/NotifyMeDialog.d.ts +7 -0
  199. package/dist/cjs/biz-components/NotifyMeDialog/NotifyMeDialog.js +2 -0
  200. package/dist/cjs/biz-components/NotifyMeDialog/NotifyMeDialog.js.map +7 -0
  201. package/dist/cjs/biz-components/NotifyMeDialog/index.d.ts +2 -0
  202. package/dist/cjs/biz-components/NotifyMeDialog/index.js +2 -0
  203. package/dist/cjs/biz-components/NotifyMeDialog/index.js.map +7 -0
  204. package/dist/cjs/biz-components/NotifyMeDialog/types.d.ts +111 -0
  205. package/dist/cjs/biz-components/NotifyMeDialog/types.js +2 -0
  206. package/dist/cjs/biz-components/NotifyMeDialog/types.js.map +7 -0
  207. package/dist/cjs/biz-components/ProductCompare/index.d.ts +1 -1
  208. package/dist/cjs/biz-components/ProductCompare/index.js +1 -1
  209. package/dist/cjs/biz-components/ProductCompare/index.js.map +2 -2
  210. package/dist/cjs/biz-components/ProductHero/ProductHero.d.ts +1 -1
  211. package/dist/cjs/biz-components/ProductHero/ProductHero.js +1 -1
  212. package/dist/cjs/biz-components/ProductHero/ProductHero.js.map +3 -3
  213. package/dist/cjs/biz-components/ProductLottery/types.d.ts +62 -5
  214. package/dist/cjs/biz-components/ProductLottery/types.js +1 -1
  215. package/dist/cjs/biz-components/ProductLottery/types.js.map +2 -2
  216. package/dist/cjs/biz-components/ProductNav/ProductNav.d.ts +1 -1
  217. package/dist/cjs/biz-components/ProductNav/ProductNav.js +1 -1
  218. package/dist/cjs/biz-components/ProductNav/ProductNav.js.map +3 -3
  219. package/dist/cjs/biz-components/PromotionalBar/index.d.ts +1 -1
  220. package/dist/cjs/biz-components/PromotionalBar/index.js +1 -1
  221. package/dist/cjs/biz-components/PromotionalBar/index.js.map +3 -3
  222. package/dist/cjs/biz-components/SceneShelfV2/index.d.ts +1 -1
  223. package/dist/cjs/biz-components/SceneShelfV3/index.d.ts +1 -1
  224. package/dist/cjs/biz-components/SearchPage/index.js +1 -1
  225. package/dist/cjs/biz-components/SearchPage/index.js.map +3 -3
  226. package/dist/cjs/biz-components/SecondaryBanner/index.d.ts +1 -1
  227. package/dist/cjs/biz-components/SecondaryBanner/index.js +1 -1
  228. package/dist/cjs/biz-components/SecondaryBanner/index.js.map +2 -2
  229. package/dist/cjs/biz-components/SelectStore/index.d.ts +1 -1
  230. package/dist/cjs/biz-components/ShelfDisplay/index.d.ts +1 -1
  231. package/dist/cjs/biz-components/ShelfDisplay/shelfDisplayItem.js +1 -1
  232. package/dist/cjs/biz-components/ShelfDisplay/shelfDisplayItem.js.map +3 -3
  233. package/dist/cjs/biz-components/Slogan/index.d.ts +1 -1
  234. package/dist/cjs/biz-components/Spacer/index.d.ts +1 -1
  235. package/dist/cjs/biz-components/Specs/index.d.ts +1 -1
  236. package/dist/cjs/biz-components/Specs/index.js +1 -1
  237. package/dist/cjs/biz-components/Specs/index.js.map +3 -3
  238. package/dist/cjs/biz-components/SpecsComparison/SpecsComparison.d.ts +1 -1
  239. package/dist/cjs/biz-components/Subscribe/index.js +1 -1
  240. package/dist/cjs/biz-components/Subscribe/index.js.map +2 -2
  241. package/dist/cjs/biz-components/SwiperBox/index.js +1 -1
  242. package/dist/cjs/biz-components/SwiperBox/index.js.map +3 -3
  243. package/dist/cjs/biz-components/TabWithImage/TabWithImage.d.ts +1 -1
  244. package/dist/cjs/biz-components/Tabs/Tabs.d.ts +1 -1
  245. package/dist/cjs/biz-components/TabsGroup/index.d.ts +1 -1
  246. package/dist/cjs/biz-components/TabsWithMedia/TabsWithMedia.d.ts +1 -1
  247. package/dist/cjs/biz-components/TabsWithMedia/TabsWithMedia.js +1 -1
  248. package/dist/cjs/biz-components/TabsWithMedia/TabsWithMedia.js.map +3 -3
  249. package/dist/cjs/biz-components/ThreeDCarousel/ThreeDCarousel.d.ts +1 -1
  250. package/dist/cjs/biz-components/ThreeDCarousel/ThreeDCarousel.js +1 -1
  251. package/dist/cjs/biz-components/ThreeDCarousel/ThreeDCarousel.js.map +3 -3
  252. package/dist/cjs/biz-components/Title/index.d.ts +1 -1
  253. package/dist/cjs/biz-components/Title/index.js +1 -1
  254. package/dist/cjs/biz-components/Title/index.js.map +3 -3
  255. package/dist/cjs/biz-components/VideoFeature/VideoFeature.d.ts +1 -1
  256. package/dist/cjs/biz-components/VideoModal/index.d.ts +1 -0
  257. package/dist/cjs/biz-components/VideoModal/index.js +1 -1
  258. package/dist/cjs/biz-components/VideoModal/index.js.map +3 -3
  259. package/dist/cjs/biz-components/WheelLottery/index.js +1 -1
  260. package/dist/cjs/biz-components/WheelLottery/index.js.map +3 -3
  261. package/dist/cjs/biz-components/WhyChoose/WhyChoose.d.ts +1 -1
  262. package/dist/cjs/biz-components/index.d.ts +8 -0
  263. package/dist/cjs/biz-components/index.js +1 -1
  264. package/dist/cjs/biz-components/index.js.map +3 -3
  265. package/dist/cjs/components/Countdown.js +1 -1
  266. package/dist/cjs/components/Countdown.js.map +3 -3
  267. package/dist/cjs/components/alert.d.ts +1 -0
  268. package/dist/cjs/components/alert.js +1 -1
  269. package/dist/cjs/components/alert.js.map +2 -2
  270. package/dist/cjs/components/breadcrumb.d.ts +12 -0
  271. package/dist/cjs/components/breadcrumb.js +2 -0
  272. package/dist/cjs/components/breadcrumb.js.map +7 -0
  273. package/dist/cjs/components/checkbox.js +1 -1
  274. package/dist/cjs/components/checkbox.js.map +2 -2
  275. package/dist/cjs/components/dialog.js +1 -1
  276. package/dist/cjs/components/dialog.js.map +3 -3
  277. package/dist/cjs/components/index.d.ts +5 -0
  278. package/dist/cjs/components/index.js +1 -1
  279. package/dist/cjs/components/index.js.map +3 -3
  280. package/dist/cjs/components/input-number.d.ts +22 -0
  281. package/dist/cjs/components/input-number.js +1 -1
  282. package/dist/cjs/components/input-number.js.map +3 -3
  283. package/dist/cjs/components/link.js +1 -1
  284. package/dist/cjs/components/link.js.map +2 -2
  285. package/dist/cjs/components/otp-input.d.ts +18 -0
  286. package/dist/cjs/components/otp-input.js +2 -0
  287. package/dist/cjs/components/otp-input.js.map +7 -0
  288. package/dist/cjs/components/toast.d.ts +25 -0
  289. package/dist/cjs/components/toast.js +2 -0
  290. package/dist/cjs/components/toast.js.map +7 -0
  291. package/dist/cjs/helpers/index.d.ts +2 -2
  292. package/dist/cjs/helpers/index.js +1 -1
  293. package/dist/cjs/helpers/index.js.map +2 -2
  294. package/dist/cjs/helpers/isLexicalEmpty.d.ts +5 -0
  295. package/dist/cjs/helpers/isLexicalEmpty.js +1 -1
  296. package/dist/cjs/helpers/isLexicalEmpty.js.map +3 -3
  297. package/dist/cjs/helpers/priceFormatting.d.ts +5 -0
  298. package/dist/cjs/helpers/priceFormatting.js +1 -1
  299. package/dist/cjs/helpers/priceFormatting.js.map +3 -3
  300. package/dist/cjs/helpers/utils.d.ts +7 -1
  301. package/dist/cjs/helpers/utils.js +1 -1
  302. package/dist/cjs/helpers/utils.js.map +3 -3
  303. package/dist/cjs/hooks/useIsomorphicMediaQuery.d.ts +14 -0
  304. package/dist/cjs/hooks/useIsomorphicMediaQuery.js +2 -0
  305. package/dist/cjs/hooks/useIsomorphicMediaQuery.js.map +7 -0
  306. package/dist/cjs/hooks/useProductListTrack.d.ts +43 -0
  307. package/dist/cjs/hooks/useProductListTrack.js +2 -0
  308. package/dist/cjs/hooks/useProductListTrack.js.map +7 -0
  309. package/dist/cjs/index.d.ts +10 -0
  310. package/dist/cjs/index.js +1 -1
  311. package/dist/cjs/index.js.map +3 -3
  312. package/dist/esm/biz-components/AccessoriesShelf/components/AccessoriesProductGrid/index.d.ts +11 -0
  313. package/dist/esm/biz-components/AccessoriesShelf/components/AccessoriesProductGrid/index.js +2 -0
  314. package/dist/esm/biz-components/AccessoriesShelf/components/AccessoriesProductGrid/index.js.map +7 -0
  315. package/dist/esm/biz-components/AccessoriesShelf/components/AccessoryShelf/ProductCard.d.ts +23 -0
  316. package/dist/esm/biz-components/AccessoriesShelf/components/AccessoryShelf/ProductCard.js +2 -0
  317. package/dist/esm/biz-components/AccessoriesShelf/components/AccessoryShelf/ProductCard.js.map +7 -0
  318. package/dist/esm/biz-components/AccessoriesShelf/components/AccessoryShelf/index.d.ts +40 -0
  319. package/dist/esm/biz-components/AccessoriesShelf/components/AccessoryShelf/index.js +2 -0
  320. package/dist/esm/biz-components/AccessoriesShelf/components/AccessoryShelf/index.js.map +7 -0
  321. package/dist/esm/biz-components/AccessoriesShelf/components/AccessoryShelf/types.d.ts +103 -0
  322. package/dist/esm/biz-components/AccessoriesShelf/components/AccessoryShelf/types.js +1 -0
  323. package/dist/esm/biz-components/AccessoriesShelf/components/AccessoryShelf/types.js.map +7 -0
  324. package/dist/esm/biz-components/AccessoriesShelf/components/MainProductArea/index.d.ts +27 -0
  325. package/dist/esm/biz-components/AccessoriesShelf/components/MainProductArea/index.js +2 -0
  326. package/dist/esm/biz-components/AccessoriesShelf/components/MainProductArea/index.js.map +7 -0
  327. package/dist/esm/biz-components/AccessoriesShelf/components/ProductGrid/index.d.ts +11 -0
  328. package/dist/esm/biz-components/AccessoriesShelf/components/ProductGrid/index.js +2 -0
  329. package/dist/esm/biz-components/AccessoriesShelf/components/ProductGrid/index.js.map +7 -0
  330. package/dist/esm/biz-components/AccessoriesShelf/components/PromoBanner/index.d.ts +10 -0
  331. package/dist/esm/biz-components/AccessoriesShelf/components/PromoBanner/index.js +2 -0
  332. package/dist/esm/biz-components/AccessoriesShelf/components/PromoBanner/index.js.map +7 -0
  333. package/dist/esm/biz-components/AccessoriesShelf/components/SectionHeader/index.d.ts +9 -0
  334. package/dist/esm/biz-components/AccessoriesShelf/components/SectionHeader/index.js +2 -0
  335. package/dist/esm/biz-components/AccessoriesShelf/components/SectionHeader/index.js.map +7 -0
  336. package/dist/esm/biz-components/AccessoriesShelf/index.d.ts +8 -0
  337. package/dist/esm/biz-components/AccessoriesShelf/index.js +2 -0
  338. package/dist/esm/biz-components/AccessoriesShelf/index.js.map +7 -0
  339. package/dist/esm/biz-components/AccessoriesShelf/product.d.ts +280 -0
  340. package/dist/esm/biz-components/AccessoriesShelf/product.js +1 -0
  341. package/dist/esm/biz-components/AccessoriesShelf/product.js.map +7 -0
  342. package/dist/esm/biz-components/AccessoriesShelf/types.d.ts +43 -0
  343. package/dist/esm/biz-components/AccessoriesShelf/types.js +1 -0
  344. package/dist/esm/biz-components/AccessoriesShelf/types.js.map +7 -0
  345. package/dist/esm/biz-components/AccordionCards/index.d.ts +1 -1
  346. package/dist/esm/biz-components/ActiveShelf/index.d.ts +1 -1
  347. package/dist/esm/biz-components/ActivityMechanism/index.js +1 -1
  348. package/dist/esm/biz-components/ActivityMechanism/index.js.map +3 -3
  349. package/dist/esm/biz-components/ActivitySchedule/index.d.ts +1 -1
  350. package/dist/esm/biz-components/ActivitySchedule/index.js +1 -1
  351. package/dist/esm/biz-components/ActivitySchedule/index.js.map +3 -3
  352. package/dist/esm/biz-components/AiuiProvider/index.d.ts +6 -0
  353. package/dist/esm/biz-components/AiuiProvider/index.js +1 -1
  354. package/dist/esm/biz-components/AiuiProvider/index.js.map +3 -3
  355. package/dist/esm/biz-components/AnchorNavigation/index.d.ts +1 -1
  356. package/dist/esm/biz-components/AnchorNavigation/index.js +1 -1
  357. package/dist/esm/biz-components/AnchorNavigation/index.js.map +3 -3
  358. package/dist/esm/biz-components/AplusDesc/index.d.ts +1 -1
  359. package/dist/esm/biz-components/BrandCardLink/BrandCardLink.d.ts +1 -1
  360. package/dist/esm/biz-components/BrandCardLink/BrandCardLink.js +1 -1
  361. package/dist/esm/biz-components/BrandCardLink/BrandCardLink.js.map +3 -3
  362. package/dist/esm/biz-components/BrandEquity/BrandEquity.d.ts +1 -1
  363. package/dist/esm/biz-components/BrandEquity/BrandEquity.js +1 -1
  364. package/dist/esm/biz-components/BrandEquity/BrandEquity.js.map +3 -3
  365. package/dist/esm/biz-components/BuyOneGetOneShelf/ProductCard.d.ts +1 -1
  366. package/dist/esm/biz-components/BuyOneGetOneShelf/ProductCard.js +1 -1
  367. package/dist/esm/biz-components/BuyOneGetOneShelf/ProductCard.js.map +3 -3
  368. package/dist/esm/biz-components/BuyOneGetOneShelf/context.d.ts +4 -0
  369. package/dist/esm/biz-components/BuyOneGetOneShelf/context.js +2 -0
  370. package/dist/esm/biz-components/BuyOneGetOneShelf/context.js.map +7 -0
  371. package/dist/esm/biz-components/BuyOneGetOneShelf/types.d.ts +1 -1
  372. package/dist/esm/biz-components/BuyOneGetOneShelf/types.js.map +1 -1
  373. package/dist/esm/biz-components/Category/SwiperCategory.js +1 -1
  374. package/dist/esm/biz-components/Category/SwiperCategory.js.map +3 -3
  375. package/dist/esm/biz-components/Category/index.d.ts +1 -1
  376. package/dist/esm/biz-components/Category/index.js +1 -1
  377. package/dist/esm/biz-components/Category/index.js.map +3 -3
  378. package/dist/esm/biz-components/CreativeModule/index.d.ts +1 -1
  379. package/dist/esm/biz-components/DownLoad/index.d.ts +1 -1
  380. package/dist/esm/biz-components/Evaluate/index.d.ts +1 -1
  381. package/dist/esm/biz-components/Evaluate/index.js +1 -1
  382. package/dist/esm/biz-components/Evaluate/index.js.map +3 -3
  383. package/dist/esm/biz-components/EventSchedule/index.d.ts +1 -1
  384. package/dist/esm/biz-components/EventSchedule/index.js +1 -1
  385. package/dist/esm/biz-components/EventSchedule/index.js.map +3 -3
  386. package/dist/esm/biz-components/Faq/Faq.d.ts +1 -1
  387. package/dist/esm/biz-components/FeatureCards/FeatureCards.d.ts +1 -1
  388. package/dist/esm/biz-components/FeatureCards/FeatureCards.js +1 -1
  389. package/dist/esm/biz-components/FeatureCards/FeatureCards.js.map +3 -3
  390. package/dist/esm/biz-components/FeatureShowcase/FeatureShowcase.d.ts +1 -1
  391. package/dist/esm/biz-components/FeaturedBlogPosts/index.d.ts +1 -1
  392. package/dist/esm/biz-components/FeaturedBlogPosts/index.js +1 -1
  393. package/dist/esm/biz-components/FeaturedBlogPosts/index.js.map +2 -2
  394. package/dist/esm/biz-components/Features/index.d.ts +1 -1
  395. package/dist/esm/biz-components/FootCharger/index.d.ts +1 -1
  396. package/dist/esm/biz-components/FooterNavigation/index.d.ts +1 -1
  397. package/dist/esm/biz-components/FooterNavigation/index.js +1 -1
  398. package/dist/esm/biz-components/FooterNavigation/index.js.map +3 -3
  399. package/dist/esm/biz-components/GiftBox/index.d.ts +1 -1
  400. package/dist/esm/biz-components/GiftShelf/index.d.ts +1 -1
  401. package/dist/esm/biz-components/GiftShelf/index.js +1 -1
  402. package/dist/esm/biz-components/GiftShelf/index.js.map +2 -2
  403. package/dist/esm/biz-components/GiftTierShelf/index.d.ts +1 -1
  404. package/dist/esm/biz-components/Graphic/index.d.ts +1 -1
  405. package/dist/esm/biz-components/Graphic/index.js +1 -1
  406. package/dist/esm/biz-components/Graphic/index.js.map +3 -3
  407. package/dist/esm/biz-components/GraphicAttractionBlock/index.d.ts +1 -1
  408. package/dist/esm/biz-components/GraphicOverlay/GraphicOverlay.d.ts +2 -2
  409. package/dist/esm/biz-components/GraphicOverlay/GraphicOverlay.js +1 -1
  410. package/dist/esm/biz-components/GraphicOverlay/GraphicOverlay.js.map +3 -3
  411. package/dist/esm/biz-components/HeaderNavigation/MobileTextLinksMenu.d.ts +12 -0
  412. package/dist/esm/biz-components/HeaderNavigation/MobileTextLinksMenu.js +2 -0
  413. package/dist/esm/biz-components/HeaderNavigation/MobileTextLinksMenu.js.map +7 -0
  414. package/dist/esm/biz-components/HeaderNavigation/MulticolDropdown.js +1 -1
  415. package/dist/esm/biz-components/HeaderNavigation/MulticolDropdown.js.map +2 -2
  416. package/dist/esm/biz-components/HeaderNavigation/TextLinksDropdown.d.ts +10 -0
  417. package/dist/esm/biz-components/HeaderNavigation/TextLinksDropdown.js +2 -0
  418. package/dist/esm/biz-components/HeaderNavigation/TextLinksDropdown.js.map +7 -0
  419. package/dist/esm/biz-components/HeaderNavigation/index.d.ts +1 -1
  420. package/dist/esm/biz-components/HeaderNavigation/index.js +1 -1
  421. package/dist/esm/biz-components/HeaderNavigation/index.js.map +3 -3
  422. package/dist/esm/biz-components/HeaderNavigation/types.d.ts +11 -1
  423. package/dist/esm/biz-components/HeaderNavigation/types.js +1 -1
  424. package/dist/esm/biz-components/HeaderNavigation/types.js.map +2 -2
  425. package/dist/esm/biz-components/HeaderNavigation/withCategory.d.ts +1 -0
  426. package/dist/esm/biz-components/HeaderNavigation/withCategory.js +1 -1
  427. package/dist/esm/biz-components/HeaderNavigation/withCategory.js.map +3 -3
  428. package/dist/esm/biz-components/HeroBanner/HeroBanner.d.ts +1 -1
  429. package/dist/esm/biz-components/HeroBanner/HeroBanner.js +1 -1
  430. package/dist/esm/biz-components/HeroBanner/HeroBanner.js.map +3 -3
  431. package/dist/esm/biz-components/HeroBanner/HeroBannerCarousel.js +1 -1
  432. package/dist/esm/biz-components/HeroBanner/HeroBannerCarousel.js.map +3 -3
  433. package/dist/esm/biz-components/ImageOverlayShelf/index.d.ts +1 -1
  434. package/dist/esm/biz-components/ImageTextFeature/ImageTextFeature.d.ts +1 -1
  435. package/dist/esm/biz-components/ImageTextOverlay/index.d.ts +1 -1
  436. package/dist/esm/biz-components/ImageTextOverlay/index.js +2 -2
  437. package/dist/esm/biz-components/ImageTextOverlay/index.js.map +3 -3
  438. package/dist/esm/biz-components/ImageWithText/ImageWithText.d.ts +1 -1
  439. package/dist/esm/biz-components/ImageWithText/ImageWithText.js +1 -1
  440. package/dist/esm/biz-components/ImageWithText/ImageWithText.js.map +3 -3
  441. package/dist/esm/biz-components/Ksp/index.d.ts +1 -1
  442. package/dist/esm/biz-components/Ksp/index.js +1 -1
  443. package/dist/esm/biz-components/Ksp/index.js.map +3 -3
  444. package/dist/esm/biz-components/Listing/BizProductProvider.d.ts +3 -1
  445. package/dist/esm/biz-components/Listing/BizProductProvider.js +1 -1
  446. package/dist/esm/biz-components/Listing/BizProductProvider.js.map +3 -3
  447. package/dist/esm/biz-components/Listing/components/CartActionButtons/index.d.ts +9 -1
  448. package/dist/esm/biz-components/Listing/components/CartActionButtons/index.js +1 -1
  449. package/dist/esm/biz-components/Listing/components/CartActionButtons/index.js.map +3 -3
  450. package/dist/esm/biz-components/Listing/components/PaidShipping/index.d.ts +1 -1
  451. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.d.ts +1 -1
  452. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.d.ts +1 -1
  453. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.d.ts +1 -1
  454. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.d.ts +1 -1
  455. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.d.ts +1 -1
  456. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.d.ts +1 -1
  457. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/index.d.ts +1 -1
  458. package/dist/esm/biz-components/Listing/components/ProductCard/ProductPaidShipping/index.d.ts +1 -1
  459. package/dist/esm/biz-components/Listing/components/ProductCard/ProductSummary/index.d.ts +1 -1
  460. package/dist/esm/biz-components/Listing/components/ProductCard/ProductSummary/index.js +1 -1
  461. package/dist/esm/biz-components/Listing/components/ProductCard/ProductSummary/index.js.map +3 -3
  462. package/dist/esm/biz-components/Listing/components/PurchaseBar/ProductActions/index.js +1 -1
  463. package/dist/esm/biz-components/Listing/components/PurchaseBar/ProductActions/index.js.map +3 -3
  464. package/dist/esm/biz-components/Listing/components/PurchaseBar/index.d.ts +1 -1
  465. package/dist/esm/biz-components/LotteryShared/ErrorModal.d.ts +4 -0
  466. package/dist/esm/biz-components/LotteryShared/ErrorModal.js.map +2 -2
  467. package/dist/esm/biz-components/LotteryShared/MyRewardsModal.d.ts +13 -13
  468. package/dist/esm/biz-components/LotteryShared/MyRewardsModal.js +1 -1
  469. package/dist/esm/biz-components/LotteryShared/MyRewardsModal.js.map +3 -3
  470. package/dist/esm/biz-components/LotteryShared/types.d.ts +9 -0
  471. package/dist/esm/biz-components/LotteryShared/types.js.map +2 -2
  472. package/dist/esm/biz-components/Marquee/Marquee.d.ts +1 -1
  473. package/dist/esm/biz-components/MarqueeReview/index.d.ts +1 -1
  474. package/dist/esm/biz-components/Media/index.js +1 -1
  475. package/dist/esm/biz-components/Media/index.js.map +3 -3
  476. package/dist/esm/biz-components/MediaEndorsement/index.d.ts +1 -1
  477. package/dist/esm/biz-components/MediaEndorsement/index.js +2 -2
  478. package/dist/esm/biz-components/MediaEndorsement/index.js.map +3 -3
  479. package/dist/esm/biz-components/MediaPlayerBase/index.d.ts +1 -1
  480. package/dist/esm/biz-components/MediaPlayerBase/index.js +1 -1
  481. package/dist/esm/biz-components/MediaPlayerBase/index.js.map +3 -3
  482. package/dist/esm/biz-components/MediaPlayerMulti/index.d.ts +1 -1
  483. package/dist/esm/biz-components/MediaPlayerMulti/index.js +1 -1
  484. package/dist/esm/biz-components/MediaPlayerMulti/index.js.map +3 -3
  485. package/dist/esm/biz-components/MediaPlayerSticky/index.d.ts +1 -1
  486. package/dist/esm/biz-components/MediaPlayerSticky/index.js +1 -1
  487. package/dist/esm/biz-components/MediaPlayerSticky/index.js.map +3 -3
  488. package/dist/esm/biz-components/MediaSceneSwitcher/MediaSceneSwitcher.d.ts +1 -1
  489. package/dist/esm/biz-components/MediaSceneSwitcher/MediaSceneSwitcher.js +2 -2
  490. package/dist/esm/biz-components/MediaSceneSwitcher/MediaSceneSwitcher.js.map +3 -3
  491. package/dist/esm/biz-components/MediaSceneSwitcherV2/index.d.ts +1 -1
  492. package/dist/esm/biz-components/MediaSceneSwitcherV2/index.js +1 -1
  493. package/dist/esm/biz-components/MediaSceneSwitcherV2/index.js.map +3 -3
  494. package/dist/esm/biz-components/MediaShelf/index.d.ts +1 -1
  495. package/dist/esm/biz-components/MediaTextOverlay/MediaTextOverlay.d.ts +1 -1
  496. package/dist/esm/biz-components/MediaTextOverlay/MediaTextOverlay.js +1 -1
  497. package/dist/esm/biz-components/MediaTextOverlay/MediaTextOverlay.js.map +3 -3
  498. package/dist/esm/biz-components/MemberEquity/index.d.ts +1 -1
  499. package/dist/esm/biz-components/MemberEquity/index.js +2 -2
  500. package/dist/esm/biz-components/MemberEquity/index.js.map +3 -3
  501. package/dist/esm/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.d.ts +2 -2
  502. package/dist/esm/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js +1 -1
  503. package/dist/esm/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js.map +3 -3
  504. package/dist/esm/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlockCarousel.js +1 -1
  505. package/dist/esm/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlockCarousel.js.map +2 -2
  506. package/dist/esm/biz-components/NavigationSearch/index.d.ts +1 -1
  507. package/dist/esm/biz-components/NavigationSearch/index.js +2 -2
  508. package/dist/esm/biz-components/NavigationSearch/index.js.map +3 -3
  509. package/dist/esm/biz-components/NotifyMeDialog/NotifyMeDialog.d.ts +7 -0
  510. package/dist/esm/biz-components/NotifyMeDialog/NotifyMeDialog.js +2 -0
  511. package/dist/esm/biz-components/NotifyMeDialog/NotifyMeDialog.js.map +7 -0
  512. package/dist/esm/biz-components/NotifyMeDialog/index.d.ts +2 -0
  513. package/dist/esm/biz-components/NotifyMeDialog/index.js +2 -0
  514. package/dist/esm/biz-components/NotifyMeDialog/index.js.map +7 -0
  515. package/dist/esm/biz-components/NotifyMeDialog/types.d.ts +111 -0
  516. package/dist/esm/biz-components/NotifyMeDialog/types.js +1 -0
  517. package/dist/esm/biz-components/NotifyMeDialog/types.js.map +7 -0
  518. package/dist/esm/biz-components/ProductCompare/index.d.ts +1 -1
  519. package/dist/esm/biz-components/ProductCompare/index.js +1 -1
  520. package/dist/esm/biz-components/ProductCompare/index.js.map +2 -2
  521. package/dist/esm/biz-components/ProductHero/ProductHero.d.ts +1 -1
  522. package/dist/esm/biz-components/ProductHero/ProductHero.js +1 -1
  523. package/dist/esm/biz-components/ProductHero/ProductHero.js.map +3 -3
  524. package/dist/esm/biz-components/ProductLottery/types.d.ts +62 -5
  525. package/dist/esm/biz-components/ProductLottery/types.js.map +2 -2
  526. package/dist/esm/biz-components/ProductNav/ProductNav.d.ts +1 -1
  527. package/dist/esm/biz-components/ProductNav/ProductNav.js +1 -1
  528. package/dist/esm/biz-components/ProductNav/ProductNav.js.map +3 -3
  529. package/dist/esm/biz-components/PromotionalBar/index.d.ts +1 -1
  530. package/dist/esm/biz-components/PromotionalBar/index.js +1 -1
  531. package/dist/esm/biz-components/PromotionalBar/index.js.map +3 -3
  532. package/dist/esm/biz-components/SceneShelfV2/index.d.ts +1 -1
  533. package/dist/esm/biz-components/SceneShelfV3/index.d.ts +1 -1
  534. package/dist/esm/biz-components/SearchPage/index.js +1 -1
  535. package/dist/esm/biz-components/SearchPage/index.js.map +3 -3
  536. package/dist/esm/biz-components/SecondaryBanner/index.d.ts +1 -1
  537. package/dist/esm/biz-components/SecondaryBanner/index.js +1 -1
  538. package/dist/esm/biz-components/SecondaryBanner/index.js.map +2 -2
  539. package/dist/esm/biz-components/SelectStore/index.d.ts +1 -1
  540. package/dist/esm/biz-components/ShelfDisplay/index.d.ts +1 -1
  541. package/dist/esm/biz-components/ShelfDisplay/shelfDisplayItem.js +1 -1
  542. package/dist/esm/biz-components/ShelfDisplay/shelfDisplayItem.js.map +3 -3
  543. package/dist/esm/biz-components/Slogan/index.d.ts +1 -1
  544. package/dist/esm/biz-components/Spacer/index.d.ts +1 -1
  545. package/dist/esm/biz-components/Specs/index.d.ts +1 -1
  546. package/dist/esm/biz-components/Specs/index.js +1 -1
  547. package/dist/esm/biz-components/Specs/index.js.map +3 -3
  548. package/dist/esm/biz-components/SpecsComparison/SpecsComparison.d.ts +1 -1
  549. package/dist/esm/biz-components/Subscribe/index.js +1 -1
  550. package/dist/esm/biz-components/Subscribe/index.js.map +2 -2
  551. package/dist/esm/biz-components/SwiperBox/index.js +1 -1
  552. package/dist/esm/biz-components/SwiperBox/index.js.map +3 -3
  553. package/dist/esm/biz-components/TabWithImage/TabWithImage.d.ts +1 -1
  554. package/dist/esm/biz-components/Tabs/Tabs.d.ts +1 -1
  555. package/dist/esm/biz-components/TabsGroup/index.d.ts +1 -1
  556. package/dist/esm/biz-components/TabsWithMedia/TabsWithMedia.d.ts +1 -1
  557. package/dist/esm/biz-components/TabsWithMedia/TabsWithMedia.js +1 -1
  558. package/dist/esm/biz-components/TabsWithMedia/TabsWithMedia.js.map +3 -3
  559. package/dist/esm/biz-components/ThreeDCarousel/ThreeDCarousel.d.ts +1 -1
  560. package/dist/esm/biz-components/ThreeDCarousel/ThreeDCarousel.js +1 -1
  561. package/dist/esm/biz-components/ThreeDCarousel/ThreeDCarousel.js.map +3 -3
  562. package/dist/esm/biz-components/Title/index.d.ts +1 -1
  563. package/dist/esm/biz-components/Title/index.js +1 -1
  564. package/dist/esm/biz-components/Title/index.js.map +3 -3
  565. package/dist/esm/biz-components/VideoFeature/VideoFeature.d.ts +1 -1
  566. package/dist/esm/biz-components/VideoModal/index.d.ts +1 -0
  567. package/dist/esm/biz-components/VideoModal/index.js +1 -1
  568. package/dist/esm/biz-components/VideoModal/index.js.map +3 -3
  569. package/dist/esm/biz-components/WheelLottery/index.js +1 -1
  570. package/dist/esm/biz-components/WheelLottery/index.js.map +2 -2
  571. package/dist/esm/biz-components/WhyChoose/WhyChoose.d.ts +1 -1
  572. package/dist/esm/biz-components/index.d.ts +8 -0
  573. package/dist/esm/biz-components/index.js +1 -1
  574. package/dist/esm/biz-components/index.js.map +3 -3
  575. package/dist/esm/components/Countdown.js +1 -1
  576. package/dist/esm/components/Countdown.js.map +3 -3
  577. package/dist/esm/components/alert.d.ts +1 -0
  578. package/dist/esm/components/alert.js +1 -1
  579. package/dist/esm/components/alert.js.map +2 -2
  580. package/dist/esm/components/breadcrumb.d.ts +12 -0
  581. package/dist/esm/components/breadcrumb.js +2 -0
  582. package/dist/esm/components/breadcrumb.js.map +7 -0
  583. package/dist/esm/components/checkbox.js +1 -1
  584. package/dist/esm/components/checkbox.js.map +2 -2
  585. package/dist/esm/components/dialog.js +1 -1
  586. package/dist/esm/components/dialog.js.map +3 -3
  587. package/dist/esm/components/index.d.ts +5 -0
  588. package/dist/esm/components/index.js +1 -1
  589. package/dist/esm/components/index.js.map +3 -3
  590. package/dist/esm/components/input-number.d.ts +22 -0
  591. package/dist/esm/components/input-number.js +1 -1
  592. package/dist/esm/components/input-number.js.map +3 -3
  593. package/dist/esm/components/link.js +1 -1
  594. package/dist/esm/components/link.js.map +2 -2
  595. package/dist/esm/components/otp-input.d.ts +18 -0
  596. package/dist/esm/components/otp-input.js +2 -0
  597. package/dist/esm/components/otp-input.js.map +7 -0
  598. package/dist/esm/components/toast.d.ts +25 -0
  599. package/dist/esm/components/toast.js +2 -0
  600. package/dist/esm/components/toast.js.map +7 -0
  601. package/dist/esm/helpers/index.d.ts +2 -2
  602. package/dist/esm/helpers/index.js +1 -1
  603. package/dist/esm/helpers/index.js.map +3 -3
  604. package/dist/esm/helpers/isLexicalEmpty.d.ts +5 -0
  605. package/dist/esm/helpers/isLexicalEmpty.js +1 -1
  606. package/dist/esm/helpers/isLexicalEmpty.js.map +3 -3
  607. package/dist/esm/helpers/priceFormatting.d.ts +5 -0
  608. package/dist/esm/helpers/priceFormatting.js +1 -1
  609. package/dist/esm/helpers/priceFormatting.js.map +3 -3
  610. package/dist/esm/helpers/utils.d.ts +7 -1
  611. package/dist/esm/helpers/utils.js +1 -1
  612. package/dist/esm/helpers/utils.js.map +3 -3
  613. package/dist/esm/hooks/useIsomorphicMediaQuery.d.ts +14 -0
  614. package/dist/esm/hooks/useIsomorphicMediaQuery.js +2 -0
  615. package/dist/esm/hooks/useIsomorphicMediaQuery.js.map +7 -0
  616. package/dist/esm/hooks/useProductListTrack.d.ts +43 -0
  617. package/dist/esm/hooks/useProductListTrack.js +2 -0
  618. package/dist/esm/hooks/useProductListTrack.js.map +7 -0
  619. package/dist/esm/index.d.ts +10 -0
  620. package/dist/esm/index.js +1 -1
  621. package/dist/esm/index.js.map +3 -3
  622. package/package.json +1 -1
  623. package/style.css +208 -10
@@ -0,0 +1,25 @@
1
+ import * as React from 'react';
2
+ import { type VariantProps } from 'class-variance-authority';
3
+ declare const toastVariants: (props?: ({
4
+ variant?: "success" | "warning" | "countdown" | null | undefined;
5
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
6
+ export interface ToastProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof toastVariants> {
7
+ open?: boolean;
8
+ message: string;
9
+ duration?: number;
10
+ seconds?: number;
11
+ onClose?: () => void;
12
+ }
13
+ declare const Toast: React.ForwardRefExoticComponent<ToastProps & React.RefAttributes<HTMLDivElement>>;
14
+ export interface UseToastOptions {
15
+ variant?: ToastProps['variant'];
16
+ message: string;
17
+ duration?: number;
18
+ seconds?: number;
19
+ }
20
+ declare function useToast(): {
21
+ toastProps: ToastProps;
22
+ showToast: (opts: UseToastOptions) => void;
23
+ };
24
+ export { Toast, toastVariants, useToast };
25
+ export default Toast;
@@ -0,0 +1,2 @@
1
+ "use strict";"use client";var P=Object.create;var u=Object.defineProperty;var V=Object.getOwnPropertyDescriptor;var H=Object.getOwnPropertyNames;var O=Object.getPrototypeOf,S=Object.prototype.hasOwnProperty;var W=(s,t)=>{for(var e in t)u(s,e,{get:t[e],enumerable:!0})},x=(s,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of H(t))!S.call(s,n)&&n!==e&&u(s,n,{get:()=>t[n],enumerable:!(r=V(t,n))||r.enumerable});return s};var A=(s,t,e)=>(e=s!=null?P(O(s)):{},x(t||!s||!s.__esModule?u(e,"default",{value:s,enumerable:!0}):e,s)),E=s=>x(u({},"__esModule",{value:!0}),s);var U={};W(U,{Toast:()=>d,default:()=>I,toastVariants:()=>m,useToast:()=>k});module.exports=E(U);var o=require("react/jsx-runtime"),a=A(require("react")),v=require("class-variance-authority"),C=require("../helpers/index.js");const m=(0,v.cva)("lg-desktop:text-[16px] pointer-events-none fixed left-1/2 top-6 z-[9999] flex -translate-x-1/2 select-none items-center gap-2 rounded-[24px] px-5 py-3 text-[14px] font-bold leading-tight tracking-[-0.32px] shadow-lg transition-all duration-300 ease-in-out data-[state=closed]:-translate-y-2 data-[state=open]:translate-y-0 data-[state=closed]:opacity-0 data-[state=open]:opacity-100",{variants:{variant:{success:"bg-[#080A0F] text-white",warning:"bg-[#080A0F] text-white",countdown:"bg-[#080A0F] text-white"}},defaultVariants:{variant:"success"}}),R=()=>(0,o.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":!0,children:(0,o.jsx)("path",{d:"M3.33337 8.00004L6.33337 11L12.6667 4.66671",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}),B=()=>(0,o.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":!0,children:(0,o.jsx)("path",{d:"M8 5.33337V8.00004M8 10.6667H8.00667M6.86 2.57337L1.21334 12C1.09693 12.2018 1.03533 12.4308 1.03467 12.664C1.03401 12.8972 1.09429 13.1265 1.20956 13.329C1.32482 13.5314 1.49096 13.6997 1.69182 13.8173C1.89267 13.9348 2.12126 13.9976 2.35467 14H13.6453C13.8788 13.9976 14.1073 13.9348 14.3082 13.8173C14.509 13.6997 14.6752 13.5314 14.7904 13.329C14.9057 13.1265 14.966 12.8972 14.9653 12.664C14.9647 12.4308 14.9031 12.2018 14.7867 12L9.14 2.57337C9.02112 2.37742 8.85348 2.21555 8.65337 2.10336C8.45326 1.99116 8.22757 1.93237 7.998 1.93237C7.76844 1.93237 7.54275 1.99116 7.34264 2.10336C7.14253 2.21555 6.97489 2.37742 6.856 2.57337H6.86Z",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}),F=()=>(0,o.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":!0,children:[(0,o.jsx)("circle",{cx:"8",cy:"8",r:"6",stroke:"currentColor",strokeWidth:"1.5"}),(0,o.jsx)("path",{d:"M8 5V8L10 10",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]}),d=a.forwardRef(({className:s,variant:t,open:e=!1,message:r,duration:n=2500,seconds:i,onClose:c,...p},T)=>{const[l,w]=a.useState(!1),[g,h]=a.useState(i??0);if(a.useEffect(()=>{if(e)w(!0),t==="countdown"&&i!=null&&h(i);else if(l){const f=setTimeout(()=>w(!1),300);return()=>clearTimeout(f)}},[e,t,i]),a.useEffect(()=>{if(!e||!l)return;if(t==="countdown"){if(g<=0){c?.();return}const y=setTimeout(()=>h(M=>M-1),1e3);return()=>clearTimeout(y)}const f=setTimeout(()=>c?.(),n);return()=>clearTimeout(f)},[e,l,t,n,g,c]),!l)return null;const L=t==="warning"?(0,o.jsx)(B,{}):t==="countdown"?(0,o.jsx)(F,{}):(0,o.jsx)(R,{}),b=t==="countdown"?r.replace(/\{seconds\}/g,String(g)):r;return(0,o.jsxs)("div",{ref:T,className:(0,C.cn)(m({variant:t}),s),"data-state":e?"open":"closed",role:"alert","aria-live":"assertive","aria-atomic":"true",...p,children:[L,(0,o.jsx)("span",{children:b})]})});d.displayName="Toast";function k(){const[s,t]=a.useState(!1),[e,r]=a.useState({message:""}),n=a.useCallback(p=>{r(p),t(!0)},[]),i=a.useCallback(()=>{t(!1)},[]);return{toastProps:{open:s,variant:e.variant,message:e.message,duration:e.duration,seconds:e.seconds,onClose:i},showToast:n}}var I=d;
2
+ //# sourceMappingURL=toast.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/toast.tsx"],
4
+ "sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { cn } from '../helpers/index.js'\n\nconst toastVariants = cva(\n 'lg-desktop:text-[16px] pointer-events-none fixed left-1/2 top-6 z-[9999] flex -translate-x-1/2 select-none items-center gap-2 rounded-[24px] px-5 py-3 text-[14px] font-bold leading-tight tracking-[-0.32px] shadow-lg transition-all duration-300 ease-in-out data-[state=closed]:-translate-y-2 data-[state=open]:translate-y-0 data-[state=closed]:opacity-0 data-[state=open]:opacity-100',\n {\n variants: {\n variant: {\n success: 'bg-[#080A0F] text-white',\n warning: 'bg-[#080A0F] text-white',\n countdown: 'bg-[#080A0F] text-white',\n },\n },\n defaultVariants: {\n variant: 'success',\n },\n }\n)\n\nconst CheckIcon = () => (\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden>\n <path\n d=\"M3.33337 8.00004L6.33337 11L12.6667 4.66671\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n)\n\nconst WarningIcon = () => (\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden>\n <path\n d=\"M8 5.33337V8.00004M8 10.6667H8.00667M6.86 2.57337L1.21334 12C1.09693 12.2018 1.03533 12.4308 1.03467 12.664C1.03401 12.8972 1.09429 13.1265 1.20956 13.329C1.32482 13.5314 1.49096 13.6997 1.69182 13.8173C1.89267 13.9348 2.12126 13.9976 2.35467 14H13.6453C13.8788 13.9976 14.1073 13.9348 14.3082 13.8173C14.509 13.6997 14.6752 13.5314 14.7904 13.329C14.9057 13.1265 14.966 12.8972 14.9653 12.664C14.9647 12.4308 14.9031 12.2018 14.7867 12L9.14 2.57337C9.02112 2.37742 8.85348 2.21555 8.65337 2.10336C8.45326 1.99116 8.22757 1.93237 7.998 1.93237C7.76844 1.93237 7.54275 1.99116 7.34264 2.10336C7.14253 2.21555 6.97489 2.37742 6.856 2.57337H6.86Z\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n)\n\nconst ClockIcon = () => (\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden>\n <circle cx=\"8\" cy=\"8\" r=\"6\" stroke=\"currentColor\" strokeWidth=\"1.5\" />\n <path d=\"M8 5V8L10 10\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n)\n\nexport interface ToastProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof toastVariants> {\n open?: boolean\n message: string\n duration?: number\n seconds?: number\n onClose?: () => void\n}\n\nconst Toast = React.forwardRef<HTMLDivElement, ToastProps>(\n ({ className, variant, open = false, message, duration = 2500, seconds, onClose, ...props }, ref) => {\n const [mounted, setMounted] = React.useState(false)\n const [remaining, setRemaining] = React.useState(seconds ?? 0)\n\n React.useEffect(() => {\n if (open) {\n setMounted(true)\n if (variant === 'countdown' && seconds != null) {\n setRemaining(seconds)\n }\n } else if (mounted) {\n const timer = setTimeout(() => setMounted(false), 300)\n return () => clearTimeout(timer)\n }\n }, [open, variant, seconds])\n\n React.useEffect(() => {\n if (!open || !mounted) return\n if (variant === 'countdown') {\n if (remaining <= 0) {\n onClose?.()\n return\n }\n const timer = setTimeout(() => setRemaining(r => r - 1), 1000)\n return () => clearTimeout(timer)\n }\n const timer = setTimeout(() => onClose?.(), duration)\n return () => clearTimeout(timer)\n }, [open, mounted, variant, duration, remaining, onClose])\n\n if (!mounted) return null\n\n const icon = variant === 'warning' ? <WarningIcon /> : variant === 'countdown' ? <ClockIcon /> : <CheckIcon />\n\n const displayMessage = variant === 'countdown' ? message.replace(/\\{seconds\\}/g, String(remaining)) : message\n\n return (\n <div\n ref={ref}\n className={cn(toastVariants({ variant }), className)}\n data-state={open ? 'open' : 'closed'}\n role=\"alert\"\n aria-live=\"assertive\"\n aria-atomic=\"true\"\n {...props}\n >\n {icon}\n <span>{displayMessage}</span>\n </div>\n )\n }\n)\nToast.displayName = 'Toast'\n\nexport interface UseToastOptions {\n variant?: ToastProps['variant']\n message: string\n duration?: number\n seconds?: number\n}\n\nfunction useToast() {\n const [open, setOpen] = React.useState(false)\n const [options, setOptions] = React.useState<UseToastOptions>({ message: '' })\n\n const showToast = React.useCallback((opts: UseToastOptions) => {\n setOptions(opts)\n setOpen(true)\n }, [])\n\n const handleClose = React.useCallback(() => {\n setOpen(false)\n }, [])\n\n const toastProps: ToastProps = {\n open,\n variant: options.variant,\n message: options.message,\n duration: options.duration,\n seconds: options.seconds,\n onClose: handleClose,\n }\n\n return { toastProps, showToast }\n}\n\nexport { Toast, toastVariants, useToast }\nexport default Toast\n"],
5
+ "mappings": "ukBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,WAAAE,EAAA,YAAAC,EAAA,kBAAAC,EAAA,aAAAC,IAAA,eAAAC,EAAAN,GAwBI,IAAAO,EAAA,6BAtBJC,EAAuB,oBACvBC,EAAuC,oCACvCC,EAAmB,+BAEnB,MAAMN,KAAgB,OACpB,iYACA,CACE,SAAU,CACR,QAAS,CACP,QAAS,0BACT,QAAS,0BACT,UAAW,yBACb,CACF,EACA,gBAAiB,CACf,QAAS,SACX,CACF,CACF,EAEMO,EAAY,OAChB,OAAC,OAAI,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,MAAM,6BAA6B,cAAW,GACxG,mBAAC,QACC,EAAE,8CACF,OAAO,eACP,YAAY,MACZ,cAAc,QACd,eAAe,QACjB,EACF,EAGIC,EAAc,OAClB,OAAC,OAAI,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,MAAM,6BAA6B,cAAW,GACxG,mBAAC,QACC,EAAE,soBACF,OAAO,eACP,YAAY,MACZ,cAAc,QACd,eAAe,QACjB,EACF,EAGIC,EAAY,OAChB,QAAC,OAAI,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,MAAM,6BAA6B,cAAW,GACxG,oBAAC,UAAO,GAAG,IAAI,GAAG,IAAI,EAAE,IAAI,OAAO,eAAe,YAAY,MAAM,KACpE,OAAC,QAAK,EAAE,eAAe,OAAO,eAAe,YAAY,MAAM,cAAc,QAAQ,eAAe,QAAQ,GAC9G,EAWIX,EAAQM,EAAM,WAClB,CAAC,CAAE,UAAAM,EAAW,QAAAC,EAAS,KAAAC,EAAO,GAAO,QAAAC,EAAS,SAAAC,EAAW,KAAM,QAAAC,EAAS,QAAAC,EAAS,GAAGC,CAAM,EAAGC,IAAQ,CACnG,KAAM,CAACC,EAASC,CAAU,EAAIhB,EAAM,SAAS,EAAK,EAC5C,CAACiB,EAAWC,CAAY,EAAIlB,EAAM,SAASW,GAAW,CAAC,EA4B7D,GA1BAX,EAAM,UAAU,IAAM,CACpB,GAAIQ,EACFQ,EAAW,EAAI,EACXT,IAAY,aAAeI,GAAW,MACxCO,EAAaP,CAAO,UAEbI,EAAS,CAClB,MAAMI,EAAQ,WAAW,IAAMH,EAAW,EAAK,EAAG,GAAG,EACrD,MAAO,IAAM,aAAaG,CAAK,CACjC,CACF,EAAG,CAACX,EAAMD,EAASI,CAAO,CAAC,EAE3BX,EAAM,UAAU,IAAM,CACpB,GAAI,CAACQ,GAAQ,CAACO,EAAS,OACvB,GAAIR,IAAY,YAAa,CAC3B,GAAIU,GAAa,EAAG,CAClBL,IAAU,EACV,MACF,CACA,MAAMO,EAAQ,WAAW,IAAMD,EAAaE,GAAKA,EAAI,CAAC,EAAG,GAAI,EAC7D,MAAO,IAAM,aAAaD,CAAK,CACjC,CACA,MAAMA,EAAQ,WAAW,IAAMP,IAAU,EAAGF,CAAQ,EACpD,MAAO,IAAM,aAAaS,CAAK,CACjC,EAAG,CAACX,EAAMO,EAASR,EAASG,EAAUO,EAAWL,CAAO,CAAC,EAErD,CAACG,EAAS,OAAO,KAErB,MAAMM,EAAOd,IAAY,aAAY,OAACH,EAAA,EAAY,EAAKG,IAAY,eAAc,OAACF,EAAA,EAAU,KAAK,OAACF,EAAA,EAAU,EAEtGmB,EAAiBf,IAAY,YAAcE,EAAQ,QAAQ,eAAgB,OAAOQ,CAAS,CAAC,EAAIR,EAEtG,SACE,QAAC,OACC,IAAKK,EACL,aAAW,MAAGlB,EAAc,CAAE,QAAAW,CAAQ,CAAC,EAAGD,CAAS,EACnD,aAAYE,EAAO,OAAS,SAC5B,KAAK,QACL,YAAU,YACV,cAAY,OACX,GAAGK,EAEH,UAAAQ,KACD,OAAC,QAAM,SAAAC,EAAe,GACxB,CAEJ,CACF,EACA5B,EAAM,YAAc,QASpB,SAASG,GAAW,CAClB,KAAM,CAACW,EAAMe,CAAO,EAAIvB,EAAM,SAAS,EAAK,EACtC,CAACwB,EAASC,CAAU,EAAIzB,EAAM,SAA0B,CAAE,QAAS,EAAG,CAAC,EAEvE0B,EAAY1B,EAAM,YAAa2B,GAA0B,CAC7DF,EAAWE,CAAI,EACfJ,EAAQ,EAAI,CACd,EAAG,CAAC,CAAC,EAECK,EAAc5B,EAAM,YAAY,IAAM,CAC1CuB,EAAQ,EAAK,CACf,EAAG,CAAC,CAAC,EAWL,MAAO,CAAE,WATsB,CAC7B,KAAAf,EACA,QAASgB,EAAQ,QACjB,QAASA,EAAQ,QACjB,SAAUA,EAAQ,SAClB,QAASA,EAAQ,QACjB,QAASI,CACX,EAEqB,UAAAF,CAAU,CACjC,CAGA,IAAO/B,EAAQD",
6
+ "names": ["toast_exports", "__export", "Toast", "toast_default", "toastVariants", "useToast", "__toCommonJS", "import_jsx_runtime", "React", "import_class_variance_authority", "import_helpers", "CheckIcon", "WarningIcon", "ClockIcon", "className", "variant", "open", "message", "duration", "seconds", "onClose", "props", "ref", "mounted", "setMounted", "remaining", "setRemaining", "timer", "r", "icon", "displayMessage", "setOpen", "options", "setOptions", "showToast", "opts", "handleClose"]
7
+ }
@@ -1,4 +1,4 @@
1
1
  export { cn, getLocalizedPath } from './utils.js';
2
2
  export { noop } from './utils.js';
3
- export { formatPrice, languageTerritory, PRICE_SYMBOL } from './priceFormatting.js';
4
- export { isLexicalEmpty } from './isLexicalEmpty.js';
3
+ export { formatPrice, languageTerritory, PRICE_SYMBOL, extendLocaleMap } from './priceFormatting.js';
4
+ export { isLexicalEmpty, extractLexicalText } from './isLexicalEmpty.js';
@@ -1,2 +1,2 @@
1
- "use strict";var p=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var n=(r,o)=>{for(var a in o)p(r,a,{get:o[a],enumerable:!0})},L=(r,o,a,f)=>{if(o&&typeof o=="object"||typeof o=="function")for(let t of g(o))!l.call(r,t)&&t!==a&&p(r,t,{get:()=>o[t],enumerable:!(f=c(o,t))||f.enumerable});return r};var P=r=>L(p({},"__esModule",{value:!0}),r);var y={};n(y,{PRICE_SYMBOL:()=>e.PRICE_SYMBOL,cn:()=>m.cn,formatPrice:()=>e.formatPrice,getLocalizedPath:()=>m.getLocalizedPath,isLexicalEmpty:()=>x.isLexicalEmpty,languageTerritory:()=>e.languageTerritory,noop:()=>i.noop});module.exports=P(y);var m=require("./utils.js"),i=require("./utils.js"),e=require("./priceFormatting.js"),x=require("./isLexicalEmpty.js");
1
+ "use strict";var p=Object.defineProperty;var f=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var L=Object.prototype.hasOwnProperty;var n=(r,e)=>{for(var a in e)p(r,a,{get:e[a],enumerable:!0})},g=(r,e,a,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of l(e))!L.call(r,t)&&t!==a&&p(r,t,{get:()=>e[t],enumerable:!(i=f(e,t))||i.enumerable});return r};var P=r=>g(p({},"__esModule",{value:!0}),r);var d={};n(d,{PRICE_SYMBOL:()=>o.PRICE_SYMBOL,cn:()=>x.cn,extendLocaleMap:()=>o.extendLocaleMap,extractLexicalText:()=>c.extractLexicalText,formatPrice:()=>o.formatPrice,getLocalizedPath:()=>x.getLocalizedPath,isLexicalEmpty:()=>c.isLexicalEmpty,languageTerritory:()=>o.languageTerritory,noop:()=>m.noop});module.exports=P(d);var x=require("./utils.js"),m=require("./utils.js"),o=require("./priceFormatting.js"),c=require("./isLexicalEmpty.js");
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/helpers/index.ts"],
4
- "sourcesContent": ["export { cn, getLocalizedPath } from './utils.js'\nexport { noop } from './utils.js'\nexport { formatPrice, languageTerritory, PRICE_SYMBOL } from './priceFormatting.js'\nexport { isLexicalEmpty } from './isLexicalEmpty.js'\n"],
5
- "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,kOAAAE,EAAAF,GAAA,IAAAG,EAAqC,sBACrCA,EAAqB,sBACrBC,EAA6D,gCAC7DC,EAA+B",
4
+ "sourcesContent": ["export { cn, getLocalizedPath } from './utils.js'\nexport { noop } from './utils.js'\nexport { formatPrice, languageTerritory, PRICE_SYMBOL, extendLocaleMap } from './priceFormatting.js'\nexport { isLexicalEmpty, extractLexicalText } from './isLexicalEmpty.js'\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,oTAAAE,EAAAF,GAAA,IAAAG,EAAqC,sBACrCA,EAAqB,sBACrBC,EAA8E,gCAC9EC,EAAmD",
6
6
  "names": ["helpers_exports", "__export", "__toCommonJS", "import_utils", "import_priceFormatting", "import_isLexicalEmpty"]
7
7
  }
@@ -10,4 +10,9 @@ type LexicalContent = {
10
10
  * 判断 @payloadcms/richtext-lexical 的富文本对象是否为空(无任何可见文字内容)
11
11
  */
12
12
  export declare function isLexicalEmpty(content: LexicalContent | string | null | undefined): boolean;
13
+ /**
14
+ * 从 @payloadcms/richtext-lexical 的富文本对象中提取纯文本内容
15
+ * 如果传入的是字符串,直接返回;如果是空值,返回空字符串
16
+ */
17
+ export declare function extractLexicalText(content: LexicalContent | string | null | undefined): string;
13
18
  export {};
@@ -1,2 +1,2 @@
1
- "use strict";var n=Object.defineProperty;var a=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var x=Object.prototype.hasOwnProperty;var f=(t,e)=>{for(var i in e)n(t,i,{get:e[i],enumerable:!0})},s=(t,e,i,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of u(e))!x.call(t,r)&&r!==i&&n(t,r,{get:()=>e[r],enumerable:!(o=a(e,r))||o.enumerable});return t};var c=t=>s(n({},"__esModule",{value:!0}),t);var p={};f(p,{isLexicalEmpty:()=>y});module.exports=c(p);function l(t){return t.type==="text"?typeof t.text=="string"&&t.text.trim()!=="":Array.isArray(t.children)?t.children.some(l):!1}function y(t){if(!t)return!0;if(typeof t=="string")return t.trim()==="";const e=t?.root;return e?!l(e):!0}
1
+ "use strict";var l=Object.defineProperty;var x=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var u=Object.prototype.hasOwnProperty;var a=(t,r)=>{for(var i in r)l(t,i,{get:r[i],enumerable:!0})},s=(t,r,i,e)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of f(r))!u.call(t,n)&&n!==i&&l(t,n,{get:()=>r[n],enumerable:!(e=x(r,n))||e.enumerable});return t};var c=t=>s(l({},"__esModule",{value:!0}),t);var g={};a(g,{extractLexicalText:()=>p,isLexicalEmpty:()=>y});module.exports=c(g);function o(t){return t.type==="text"?typeof t.text=="string"&&t.text.trim()!=="":Array.isArray(t.children)?t.children.some(o):!1}function y(t){if(!t)return!0;if(typeof t=="string")return t.trim()==="";const r=t?.root;return r?!o(r):!0}function p(t){if(!t)return"";if(typeof t=="string")return t;const r=[];function i(e){e.type==="text"&&typeof e.text=="string"&&r.push(e.text),Array.isArray(e.children)&&e.children.forEach(i)}return t.root&&i(t.root),r.join("")}
2
2
  //# sourceMappingURL=isLexicalEmpty.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/helpers/isLexicalEmpty.ts"],
4
- "sourcesContent": ["type LexicalNode = {\n type: string\n text?: string\n children?: LexicalNode[]\n}\n\ntype LexicalContent = {\n root?: LexicalNode\n}\n\nfunction hasText(node: LexicalNode): boolean {\n if (node.type === 'text') {\n return typeof node.text === 'string' && node.text.trim() !== ''\n }\n if (Array.isArray(node.children)) {\n return node.children.some(hasText)\n }\n return false\n}\n\n/**\n * \u5224\u65AD @payloadcms/richtext-lexical \u7684\u5BCC\u6587\u672C\u5BF9\u8C61\u662F\u5426\u4E3A\u7A7A\uFF08\u65E0\u4EFB\u4F55\u53EF\u89C1\u6587\u5B57\u5185\u5BB9\uFF09\n */\nexport function isLexicalEmpty(content: LexicalContent | string | null | undefined): boolean {\n if (!content) return true\n if (typeof content === 'string') return content.trim() === ''\n\n const root = content?.root\n if (!root) return true\n\n return !hasText(root)\n}\n"],
5
- "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,oBAAAE,IAAA,eAAAC,EAAAH,GAUA,SAASI,EAAQC,EAA4B,CAC3C,OAAIA,EAAK,OAAS,OACT,OAAOA,EAAK,MAAS,UAAYA,EAAK,KAAK,KAAK,IAAM,GAE3D,MAAM,QAAQA,EAAK,QAAQ,EACtBA,EAAK,SAAS,KAAKD,CAAO,EAE5B,EACT,CAKO,SAASF,EAAeI,EAA8D,CAC3F,GAAI,CAACA,EAAS,MAAO,GACrB,GAAI,OAAOA,GAAY,SAAU,OAAOA,EAAQ,KAAK,IAAM,GAE3D,MAAMC,EAAOD,GAAS,KACtB,OAAKC,EAEE,CAACH,EAAQG,CAAI,EAFF,EAGpB",
6
- "names": ["isLexicalEmpty_exports", "__export", "isLexicalEmpty", "__toCommonJS", "hasText", "node", "content", "root"]
4
+ "sourcesContent": ["type LexicalNode = {\n type: string\n text?: string\n children?: LexicalNode[]\n}\n\ntype LexicalContent = {\n root?: LexicalNode\n}\n\nfunction hasText(node: LexicalNode): boolean {\n if (node.type === 'text') {\n return typeof node.text === 'string' && node.text.trim() !== ''\n }\n if (Array.isArray(node.children)) {\n return node.children.some(hasText)\n }\n return false\n}\n\n/**\n * \u5224\u65AD @payloadcms/richtext-lexical \u7684\u5BCC\u6587\u672C\u5BF9\u8C61\u662F\u5426\u4E3A\u7A7A\uFF08\u65E0\u4EFB\u4F55\u53EF\u89C1\u6587\u5B57\u5185\u5BB9\uFF09\n */\nexport function isLexicalEmpty(content: LexicalContent | string | null | undefined): boolean {\n if (!content) return true\n if (typeof content === 'string') return content.trim() === ''\n\n const root = content?.root\n if (!root) return true\n\n return !hasText(root)\n}\n\n/**\n * \u4ECE @payloadcms/richtext-lexical \u7684\u5BCC\u6587\u672C\u5BF9\u8C61\u4E2D\u63D0\u53D6\u7EAF\u6587\u672C\u5185\u5BB9\n * \u5982\u679C\u4F20\u5165\u7684\u662F\u5B57\u7B26\u4E32\uFF0C\u76F4\u63A5\u8FD4\u56DE\uFF1B\u5982\u679C\u662F\u7A7A\u503C\uFF0C\u8FD4\u56DE\u7A7A\u5B57\u7B26\u4E32\n */\nexport function extractLexicalText(content: LexicalContent | string | null | undefined): string {\n if (!content) return ''\n if (typeof content === 'string') return content\n\n const texts: string[] = []\n function collect(node: LexicalNode) {\n if (node.type === 'text' && typeof node.text === 'string') {\n texts.push(node.text)\n }\n if (Array.isArray(node.children)) {\n node.children.forEach(collect)\n }\n }\n\n if (content.root) {\n collect(content.root)\n }\n return texts.join('')\n}\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,wBAAAE,EAAA,mBAAAC,IAAA,eAAAC,EAAAJ,GAUA,SAASK,EAAQC,EAA4B,CAC3C,OAAIA,EAAK,OAAS,OACT,OAAOA,EAAK,MAAS,UAAYA,EAAK,KAAK,KAAK,IAAM,GAE3D,MAAM,QAAQA,EAAK,QAAQ,EACtBA,EAAK,SAAS,KAAKD,CAAO,EAE5B,EACT,CAKO,SAASF,EAAeI,EAA8D,CAC3F,GAAI,CAACA,EAAS,MAAO,GACrB,GAAI,OAAOA,GAAY,SAAU,OAAOA,EAAQ,KAAK,IAAM,GAE3D,MAAMC,EAAOD,GAAS,KACtB,OAAKC,EAEE,CAACH,EAAQG,CAAI,EAFF,EAGpB,CAMO,SAASN,EAAmBK,EAA6D,CAC9F,GAAI,CAACA,EAAS,MAAO,GACrB,GAAI,OAAOA,GAAY,SAAU,OAAOA,EAExC,MAAME,EAAkB,CAAC,EACzB,SAASC,EAAQJ,EAAmB,CAC9BA,EAAK,OAAS,QAAU,OAAOA,EAAK,MAAS,UAC/CG,EAAM,KAAKH,EAAK,IAAI,EAElB,MAAM,QAAQA,EAAK,QAAQ,GAC7BA,EAAK,SAAS,QAAQI,CAAO,CAEjC,CAEA,OAAIH,EAAQ,MACVG,EAAQH,EAAQ,IAAI,EAEfE,EAAM,KAAK,EAAE,CACtB",
6
+ "names": ["isLexicalEmpty_exports", "__export", "extractLexicalText", "isLexicalEmpty", "__toCommonJS", "hasText", "node", "content", "root", "texts", "collect"]
7
7
  }
@@ -1,4 +1,9 @@
1
1
  export declare const PRICE_SYMBOL: any;
2
+ /**
3
+ * 注入自定义 locale → BCP47 映射,与内置 map merge(外部优先级更高)。
4
+ * 由 AiuiProvider 在挂载时调用,消费方无需修改 headless-ui 源码即可支持新 locale。
5
+ */
6
+ export declare const extendLocaleMap: (map: Record<string, string>) => void;
2
7
  export declare const languageTerritory: (locale: string) => string;
3
8
  export declare function formatPrice({ amount, currencyCode, locale, maximumFractionDigits, minimumFractionDigits, removeTrailingZeros, currencyDisplay, }: {
4
9
  amount: number;
@@ -1,2 +1,2 @@
1
- "use strict";var u=Object.defineProperty;var d=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var g=Object.prototype.hasOwnProperty;var y=(e,n)=>{for(var r in n)u(e,r,{get:n[r],enumerable:!0})},b=(e,n,r,a)=>{if(n&&typeof n=="object"||typeof n=="function")for(let t of f(n))!g.call(e,t)&&t!==r&&u(e,t,{get:()=>n[t],enumerable:!(a=d(n,t))||a.enumerable});return e};var p=e=>b(u({},"__esModule",{value:!0}),e);var D={};y(D,{PRICE_SYMBOL:()=>E,formatPrice:()=>S,languageTerritory:()=>s});module.exports=p(D);const E={us:"$",uk:"\xA3",ca:"$",eu:"\u20AC",fr:"\u20AC",de:"\u20AC",nl:"\u20AC",vn:"\u20AB",cl:"$",sg:"$",ae:"AED"},s=e=>({us:"en-US",uk:"en-GB",ca:"en-CA",au:"AU","eu-en":"en","eu-fr":"fr-FR",fr:"FR","ca-fr":"FR","nl-fr":"FR",my:"MY",it:"IT",vn:"VN",es:"es-ES","eu-it":"it-IT","eu-de":"de-DE",de:"de-DE","eu-es":"es-ES","cz-en":"en-CZ",nl:"nl-NL","dk-en":"en-DK","gr-en":"en-GR","mk-en":"en-MK","hu-en":"en-HU","se-en":"en-SE","hr-en":"en-HR","bg-en":"en-BG","ee-en":"en-EE","fi-en":"en-FI","lt-en":"en-LT",pl:"pl-PL","ro-en":"en-RO","si-en":"en-SI","sk-en":"en-SK","no-en":"en-NO","ad-en":"en-AD","al-en":"en-AL","ba-en":"en-BA","me-en":"en-ME","rs-en":"en-RS","gl-en":"en-GL","is-en":"en-IS","ua-en":"en-UA","by-en":"en-BY","md-en":"en-MD","lv-en":"en-LV","at-de":"de-AT","lu-de":"de-LU","li-de":"de-LI","va-it":"it-VA","sm-it":"it-SM","be-nl":"nl-BE","ae-en":"en-AE",nz:"en-NZ","sg-en":"en-SG","sa-en":"en-SA","vn-vi":"vi-VN",ie:"en-IE",tw:"zh-TW"})[e]||"";function S({amount:e,currencyCode:n,locale:r,maximumFractionDigits:a,minimumFractionDigits:t,removeTrailingZeros:c=!1,currencyDisplay:o="symbol"}){const m=r==="nl"?"EUR":n||"USD",l=s(r);if(!l)return null;let i=new Intl.NumberFormat(l,{style:"currency",currency:m,currencyDisplay:o,minimumFractionDigits:a===0?0:t,maximumFractionDigits:a})?.format?.(e);return["eu-de","eu-en","de","eu"].includes(r)&&(i=i?.toString()?.replace?.(/[\s]/g,"")),c&&(i=i?.replace?.(/(\.\d*?[1-9])0+\b/,"$1")?.replace?.(/\.0+\b/,"")?.replace?.(/(,\d*?[1-9])0+\b/,"$1")?.replace?.(/,0+\b/,"")),i}
1
+ "use strict";var s=Object.defineProperty;var f=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var L=Object.prototype.hasOwnProperty;var b=(e,n)=>{for(var r in n)s(e,r,{get:n[r],enumerable:!0})},E=(e,n,r,i)=>{if(n&&typeof n=="object"||typeof n=="function")for(let t of y(n))!L.call(e,t)&&t!==r&&s(e,t,{get:()=>n[t],enumerable:!(i=f(n,t))||i.enumerable});return e};var A=e=>E(s({},"__esModule",{value:!0}),e);var I={};b(I,{PRICE_SYMBOL:()=>R,extendLocaleMap:()=>S,formatPrice:()=>D,languageTerritory:()=>d});module.exports=A(I);const R={us:"$",uk:"\xA3",ca:"CA$",eu:"\u20AC",fr:"\u20AC",de:"\u20AC",nl:"\u20AC",vn:"\u20AB",cl:"$",sg:"$",ae:"AED"},u={us:"en-US",uk:"en-GB",ca:"en-CA",au:"AU","eu-en":"en","eu-fr":"fr-FR",fr:"FR","ca-fr":"FR","nl-fr":"FR",my:"MY",it:"IT",vn:"VN",es:"es-ES","eu-it":"it-IT","eu-de":"de-DE",de:"de-DE","eu-es":"es-ES","cz-en":"en-CZ",nl:"nl-NL","dk-en":"en-DK","gr-en":"en-GR","mk-en":"en-MK","hu-en":"en-HU","se-en":"en-SE","hr-en":"en-HR","bg-en":"en-BG","ee-en":"en-EE","fi-en":"en-FI","lt-en":"en-LT",pl:"pl-PL","ro-en":"en-RO","si-en":"en-SI","sk-en":"en-SK","no-en":"en-NO","ad-en":"en-AD","al-en":"en-AL","ba-en":"en-BA","me-en":"en-ME","rs-en":"en-RS","gl-en":"en-GL","is-en":"en-IS","ua-en":"en-UA","by-en":"en-BY","md-en":"en-MD","lv-en":"en-LV","at-de":"de-AT","lu-de":"de-LU","li-de":"de-LI","va-it":"it-VA","sm-it":"it-SM","be-nl":"nl-BE","ae-en":"en-AE",nz:"en-NZ","sg-en":"en-SG","sa-en":"en-SA","vn-vi":"vi-VN",ie:"en-IE",tw:"zh-TW"};let c={},o=u;const S=e=>{c={...c,...e},o={...u,...c}},d=e=>o[e]||"";function D({amount:e,currencyCode:n,locale:r,maximumFractionDigits:i,minimumFractionDigits:t,removeTrailingZeros:m=!1,currencyDisplay:g="symbol"}){const p=r==="nl"?"EUR":n||"USD",l=d(r);if(!l)return null;let a=new Intl.NumberFormat(l,{style:"currency",currency:p,currencyDisplay:g,minimumFractionDigits:i===0?0:t,maximumFractionDigits:i})?.format?.(e);return["eu-de","eu-en","de","eu"].includes(r)&&(a=a?.toString()?.replace?.(/[\s]/g,"")),m&&(a=a?.replace?.(/(\.\d*?[1-9])0+\b/,"$1")?.replace?.(/\.0+\b/,"")?.replace?.(/(,\d*?[1-9])0+\b/,"$1")?.replace?.(/,0+\b/,"")),a}
2
2
  //# sourceMappingURL=priceFormatting.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/helpers/priceFormatting.ts"],
4
- "sourcesContent": ["export const PRICE_SYMBOL = {\n us: '$',\n uk: '\u00A3',\n ca: '$',\n eu: '\u20AC',\n fr: '\u20AC',\n de: '\u20AC',\n nl: '\u20AC',\n vn: '\u20AB',\n cl: '$',\n sg: '$',\n ae: 'AED',\n} as any\n\nexport const languageTerritory = (locale: string) =>\n // https://unicode-org.github.io/cldr-staging/charts/37/supplemental/language_territory_information.html\n ({\n us: 'en-US',\n uk: 'en-GB',\n ca: 'en-CA',\n au: 'AU',\n 'eu-en': 'en',\n 'eu-fr': 'fr-FR',\n fr: 'FR',\n 'ca-fr': 'FR',\n 'nl-fr': 'FR',\n my: 'MY',\n it: 'IT',\n vn: 'VN',\n es: 'es-ES',\n 'eu-it': 'it-IT',\n 'eu-de': 'de-DE',\n de: 'de-DE',\n 'eu-es': 'es-ES',\n 'cz-en': 'en-CZ',\n nl: 'nl-NL',\n 'dk-en': 'en-DK',\n 'gr-en': 'en-GR',\n 'mk-en': 'en-MK',\n 'hu-en': 'en-HU',\n 'se-en': 'en-SE',\n 'hr-en': 'en-HR',\n 'bg-en': 'en-BG',\n 'ee-en': 'en-EE',\n 'fi-en': 'en-FI',\n 'lt-en': 'en-LT',\n pl: 'pl-PL',\n 'ro-en': 'en-RO',\n 'si-en': 'en-SI',\n 'sk-en': 'en-SK',\n 'no-en': 'en-NO',\n 'ad-en': 'en-AD',\n 'al-en': 'en-AL',\n 'ba-en': 'en-BA',\n 'me-en': 'en-ME',\n 'rs-en': 'en-RS',\n 'gl-en': 'en-GL',\n 'is-en': 'en-IS',\n 'ua-en': 'en-UA',\n 'by-en': 'en-BY',\n 'md-en': 'en-MD',\n 'lv-en': 'en-LV',\n 'at-de': 'de-AT',\n 'lu-de': 'de-LU',\n 'li-de': 'de-LI',\n 'va-it': 'it-VA',\n 'sm-it': 'it-SM',\n 'be-nl': 'nl-BE',\n 'ae-en': 'en-AE',\n nz: 'en-NZ',\n 'sg-en': 'en-SG',\n 'sa-en': 'en-SA',\n 'vn-vi': 'vi-VN',\n ie: 'en-IE',\n tw: 'zh-TW',\n })[locale] || ''\n\nexport function formatPrice({\n amount,\n currencyCode,\n locale,\n maximumFractionDigits,\n minimumFractionDigits,\n removeTrailingZeros = false,\n currencyDisplay = 'symbol',\n}: {\n amount: number\n currencyCode: string\n locale: string\n maximumFractionDigits?: number\n minimumFractionDigits?: number\n removeTrailingZeros?: boolean\n currencyDisplay?: Intl.NumberFormatOptions['currencyDisplay']\n}) {\n const code = locale === 'nl' ? 'EUR' : currencyCode || 'USD'\n const localeLanguage = languageTerritory(locale)\n if (!localeLanguage) {\n return null\n }\n const formatCurrency = new Intl.NumberFormat(localeLanguage, {\n style: 'currency',\n currency: code,\n currencyDisplay: currencyDisplay,\n minimumFractionDigits: maximumFractionDigits === 0 ? 0 : minimumFractionDigits,\n maximumFractionDigits,\n })\n\n let formattedValue = formatCurrency?.format?.(amount)\n\n if (['eu-de', 'eu-en', 'de', 'eu'].includes(locale)) {\n formattedValue = formattedValue?.toString()?.replace?.(/[\\s]/g, '')\n }\n\n if (removeTrailingZeros) {\n formattedValue = formattedValue\n ?.replace?.(/(\\.\\d*?[1-9])0+\\b/, '$1')\n ?.replace?.(/\\.0+\\b/, '')\n ?.replace?.(/(,\\d*?[1-9])0+\\b/, '$1')\n ?.replace?.(/,0+\\b/, '')\n }\n\n return formattedValue\n}\n"],
5
- "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,kBAAAE,EAAA,gBAAAC,EAAA,sBAAAC,IAAA,eAAAC,EAAAL,GAAO,MAAME,EAAe,CAC1B,GAAI,IACJ,GAAI,OACJ,GAAI,IACJ,GAAI,SACJ,GAAI,SACJ,GAAI,SACJ,GAAI,SACJ,GAAI,SACJ,GAAI,IACJ,GAAI,IACJ,GAAI,KACN,EAEaE,EAAqBE,IAE/B,CACC,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,KACJ,QAAS,KACT,QAAS,QACT,GAAI,KACJ,QAAS,KACT,QAAS,KACT,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,QACJ,QAAS,QACT,QAAS,QACT,GAAI,QACJ,QAAS,QACT,QAAS,QACT,GAAI,QACJ,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,GAAI,QACJ,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,GAAI,QACJ,QAAS,QACT,QAAS,QACT,QAAS,QACT,GAAI,QACJ,GAAI,OACN,GAAGA,CAAM,GAAK,GAET,SAASH,EAAY,CAC1B,OAAAI,EACA,aAAAC,EACA,OAAAF,EACA,sBAAAG,EACA,sBAAAC,EACA,oBAAAC,EAAsB,GACtB,gBAAAC,EAAkB,QACpB,EAQG,CACD,MAAMC,EAAOP,IAAW,KAAO,MAAQE,GAAgB,MACjDM,EAAiBV,EAAkBE,CAAM,EAC/C,GAAI,CAACQ,EACH,OAAO,KAUT,IAAIC,EARmB,IAAI,KAAK,aAAaD,EAAgB,CAC3D,MAAO,WACP,SAAUD,EACV,gBAAiBD,EACjB,sBAAuBH,IAA0B,EAAI,EAAIC,EACzD,sBAAAD,CACF,CAAC,GAEoC,SAASF,CAAM,EAEpD,MAAI,CAAC,QAAS,QAAS,KAAM,IAAI,EAAE,SAASD,CAAM,IAChDS,EAAiBA,GAAgB,SAAS,GAAG,UAAU,QAAS,EAAE,GAGhEJ,IACFI,EAAiBA,GACb,UAAU,oBAAqB,IAAI,GACnC,UAAU,SAAU,EAAE,GACtB,UAAU,mBAAoB,IAAI,GAClC,UAAU,QAAS,EAAE,GAGpBA,CACT",
6
- "names": ["priceFormatting_exports", "__export", "PRICE_SYMBOL", "formatPrice", "languageTerritory", "__toCommonJS", "locale", "amount", "currencyCode", "maximumFractionDigits", "minimumFractionDigits", "removeTrailingZeros", "currencyDisplay", "code", "localeLanguage", "formattedValue"]
4
+ "sourcesContent": ["export const PRICE_SYMBOL = {\n us: '$',\n uk: '\u00A3',\n ca: 'CA$',\n eu: '\u20AC',\n fr: '\u20AC',\n de: '\u20AC',\n nl: '\u20AC',\n vn: '\u20AB',\n cl: '$',\n sg: '$',\n ae: 'AED',\n} as any\n\nconst BUILTIN_LOCALE_MAP: Record<string, string> = {\n // https://unicode-org.github.io/cldr-staging/charts/37/supplemental/language_territory_information.html\n us: 'en-US',\n uk: 'en-GB',\n ca: 'en-CA',\n au: 'AU',\n 'eu-en': 'en',\n 'eu-fr': 'fr-FR',\n fr: 'FR',\n 'ca-fr': 'FR',\n 'nl-fr': 'FR',\n my: 'MY',\n it: 'IT',\n vn: 'VN',\n es: 'es-ES',\n 'eu-it': 'it-IT',\n 'eu-de': 'de-DE',\n de: 'de-DE',\n 'eu-es': 'es-ES',\n 'cz-en': 'en-CZ',\n nl: 'nl-NL',\n 'dk-en': 'en-DK',\n 'gr-en': 'en-GR',\n 'mk-en': 'en-MK',\n 'hu-en': 'en-HU',\n 'se-en': 'en-SE',\n 'hr-en': 'en-HR',\n 'bg-en': 'en-BG',\n 'ee-en': 'en-EE',\n 'fi-en': 'en-FI',\n 'lt-en': 'en-LT',\n pl: 'pl-PL',\n 'ro-en': 'en-RO',\n 'si-en': 'en-SI',\n 'sk-en': 'en-SK',\n 'no-en': 'en-NO',\n 'ad-en': 'en-AD',\n 'al-en': 'en-AL',\n 'ba-en': 'en-BA',\n 'me-en': 'en-ME',\n 'rs-en': 'en-RS',\n 'gl-en': 'en-GL',\n 'is-en': 'en-IS',\n 'ua-en': 'en-UA',\n 'by-en': 'en-BY',\n 'md-en': 'en-MD',\n 'lv-en': 'en-LV',\n 'at-de': 'de-AT',\n 'lu-de': 'de-LU',\n 'li-de': 'de-LI',\n 'va-it': 'it-VA',\n 'sm-it': 'it-SM',\n 'be-nl': 'nl-BE',\n 'ae-en': 'en-AE',\n nz: 'en-NZ',\n 'sg-en': 'en-SG',\n 'sa-en': 'en-SA',\n 'vn-vi': 'vi-VN',\n ie: 'en-IE',\n tw: 'zh-TW',\n}\n\nlet _extraLocaleMap: Record<string, string> = {}\nlet _mergedLocaleMap: Record<string, string> = BUILTIN_LOCALE_MAP\n\n/**\n * \u6CE8\u5165\u81EA\u5B9A\u4E49 locale \u2192 BCP47 \u6620\u5C04\uFF0C\u4E0E\u5185\u7F6E map merge\uFF08\u5916\u90E8\u4F18\u5148\u7EA7\u66F4\u9AD8\uFF09\u3002\n * \u7531 AiuiProvider \u5728\u6302\u8F7D\u65F6\u8C03\u7528\uFF0C\u6D88\u8D39\u65B9\u65E0\u9700\u4FEE\u6539 headless-ui \u6E90\u7801\u5373\u53EF\u652F\u6301\u65B0 locale\u3002\n */\nexport const extendLocaleMap = (map: Record<string, string>) => {\n _extraLocaleMap = { ..._extraLocaleMap, ...map }\n _mergedLocaleMap = { ...BUILTIN_LOCALE_MAP, ..._extraLocaleMap }\n}\n\nexport const languageTerritory = (locale: string) => {\n return _mergedLocaleMap[locale] || ''\n}\n\nexport function formatPrice({\n amount,\n currencyCode,\n locale,\n maximumFractionDigits,\n minimumFractionDigits,\n removeTrailingZeros = false,\n currencyDisplay = 'symbol',\n}: {\n amount: number\n currencyCode: string\n locale: string\n maximumFractionDigits?: number\n minimumFractionDigits?: number\n removeTrailingZeros?: boolean\n currencyDisplay?: Intl.NumberFormatOptions['currencyDisplay']\n}) {\n const code = locale === 'nl' ? 'EUR' : currencyCode || 'USD'\n const localeLanguage = languageTerritory(locale)\n if (!localeLanguage) {\n return null\n }\n const formatCurrency = new Intl.NumberFormat(localeLanguage, {\n style: 'currency',\n currency: code,\n currencyDisplay: currencyDisplay,\n minimumFractionDigits: maximumFractionDigits === 0 ? 0 : minimumFractionDigits,\n maximumFractionDigits,\n })\n\n let formattedValue = formatCurrency?.format?.(amount)\n\n if (['eu-de', 'eu-en', 'de', 'eu'].includes(locale)) {\n formattedValue = formattedValue?.toString()?.replace?.(/[\\s]/g, '')\n }\n\n if (removeTrailingZeros) {\n formattedValue = formattedValue\n ?.replace?.(/(\\.\\d*?[1-9])0+\\b/, '$1')\n ?.replace?.(/\\.0+\\b/, '')\n ?.replace?.(/(,\\d*?[1-9])0+\\b/, '$1')\n ?.replace?.(/,0+\\b/, '')\n }\n\n return formattedValue\n}\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,kBAAAE,EAAA,oBAAAC,EAAA,gBAAAC,EAAA,sBAAAC,IAAA,eAAAC,EAAAN,GAAO,MAAME,EAAe,CAC1B,GAAI,IACJ,GAAI,OACJ,GAAI,MACJ,GAAI,SACJ,GAAI,SACJ,GAAI,SACJ,GAAI,SACJ,GAAI,SACJ,GAAI,IACJ,GAAI,IACJ,GAAI,KACN,EAEMK,EAA6C,CAEjD,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,KACJ,QAAS,KACT,QAAS,QACT,GAAI,KACJ,QAAS,KACT,QAAS,KACT,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,QACJ,QAAS,QACT,QAAS,QACT,GAAI,QACJ,QAAS,QACT,QAAS,QACT,GAAI,QACJ,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,GAAI,QACJ,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,GAAI,QACJ,QAAS,QACT,QAAS,QACT,QAAS,QACT,GAAI,QACJ,GAAI,OACN,EAEA,IAAIC,EAA0C,CAAC,EAC3CC,EAA2CF,EAMxC,MAAMJ,EAAmBO,GAAgC,CAC9DF,EAAkB,CAAE,GAAGA,EAAiB,GAAGE,CAAI,EAC/CD,EAAmB,CAAE,GAAGF,EAAoB,GAAGC,CAAgB,CACjE,EAEaH,EAAqBM,GACzBF,EAAiBE,CAAM,GAAK,GAG9B,SAASP,EAAY,CAC1B,OAAAQ,EACA,aAAAC,EACA,OAAAF,EACA,sBAAAG,EACA,sBAAAC,EACA,oBAAAC,EAAsB,GACtB,gBAAAC,EAAkB,QACpB,EAQG,CACD,MAAMC,EAAOP,IAAW,KAAO,MAAQE,GAAgB,MACjDM,EAAiBd,EAAkBM,CAAM,EAC/C,GAAI,CAACQ,EACH,OAAO,KAUT,IAAIC,EARmB,IAAI,KAAK,aAAaD,EAAgB,CAC3D,MAAO,WACP,SAAUD,EACV,gBAAiBD,EACjB,sBAAuBH,IAA0B,EAAI,EAAIC,EACzD,sBAAAD,CACF,CAAC,GAEoC,SAASF,CAAM,EAEpD,MAAI,CAAC,QAAS,QAAS,KAAM,IAAI,EAAE,SAASD,CAAM,IAChDS,EAAiBA,GAAgB,SAAS,GAAG,UAAU,QAAS,EAAE,GAGhEJ,IACFI,EAAiBA,GACb,UAAU,oBAAqB,IAAI,GACnC,UAAU,SAAU,EAAE,GACtB,UAAU,mBAAoB,IAAI,GAClC,UAAU,QAAS,EAAE,GAGpBA,CACT",
6
+ "names": ["priceFormatting_exports", "__export", "PRICE_SYMBOL", "extendLocaleMap", "formatPrice", "languageTerritory", "__toCommonJS", "BUILTIN_LOCALE_MAP", "_extraLocaleMap", "_mergedLocaleMap", "map", "locale", "amount", "currencyCode", "maximumFractionDigits", "minimumFractionDigits", "removeTrailingZeros", "currencyDisplay", "code", "localeLanguage", "formattedValue"]
7
7
  }
@@ -57,5 +57,11 @@ export declare const highlightSearchWord: (text: string, searchText: string) =>
57
57
  * @example
58
58
  * // 空路径处理
59
59
  * getLocalizedPath('', 'uk') // => ''
60
+ *
61
+ * @example
62
+ * // appendParams 会自动判断用 ? 还是 &
63
+ * getLocalizedPath('/products', 'us', 'ref=footer') // => '/products?ref=footer'
64
+ * getLocalizedPath('https://example.com/page', 'us', 'ref=footer') // => 'https://example.com/page?ref=footer'
65
+ * getLocalizedPath('https://example.com/page?app=foo', 'us', 'ref=footer') // => 'https://example.com/page?app=foo&ref=footer'
60
66
  */
61
- export declare const getLocalizedPath: (path: string, locale: string) => string;
67
+ export declare const getLocalizedPath: (path: string, locale: string, appendParams?: string) => string;
@@ -1,2 +1,2 @@
1
- "use strict";var s=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var x=Object.prototype.hasOwnProperty;var l=(t,e)=>{for(var r in e)s(t,r,{get:e[r],enumerable:!0})},p=(t,e,r,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of c(e))!x.call(t,n)&&n!==r&&s(t,n,{get:()=>e[n],enumerable:!(i=g(e,n))||i.enumerable});return t};var f=t=>p(s({},"__esModule",{value:!0}),t);var w={};l(w,{atobID:()=>y,cn:()=>h,getLocalizedPath:()=>W,highlightSearchWord:()=>b,noop:()=>d,spaceToHyphen:()=>m});module.exports=f(w);var o=require("clsx"),a=require("tailwind-merge");const u=(0,a.extendTailwindMerge)({extend:{theme:{borderRadius:["btn"]},classGroups:{"font-size":["text-heading-1","text-heading-2","text-heading-3","text-heading-4","text-heading-5","text-text-3","text-text-2","text-text-1"],"text-color":["text-info-primary","text-info-secondary","text-info-tertiary","text-info-quaternary","text-info-white"],leading:["leading-tight","leading-normal","leading-loose"]}}});function h(...t){return u((0,o.clsx)(t))}function d(){}function y(t){return t&&typeof t=="string"&&t.includes("/")?t.split("/").pop()?.split("?")?.shift():t}const m=t=>t?.replace(/\s+/g,"-"),$=t=>t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),b=(t,e)=>{try{if(!t||!e)return t;const r=$(e),i=new RegExp(r,"gi");return t.replace(i,n=>`<span class='text-brand-0 font-bold'>${n}</span>`)}catch(r){return console.error("highlightSearchWord error:",r),t}},W=(t,e)=>{if(!t||t.startsWith("http://")||t.startsWith("https://")||t.startsWith("#"))return t;const r=t.split("/").filter(Boolean);return r.length===0?e==="us"?"/":`/${e}`:r[0]===e?`/${r.join("/")}`:`${e==="us"?"":`/${e}`}/${r.join("/")}`};
1
+ "use strict";var s=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var f=Object.prototype.hasOwnProperty;var h=(t,e)=>{for(var r in e)s(t,r,{get:e[r],enumerable:!0})},$=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of u(e))!f.call(t,i)&&i!==r&&s(t,i,{get:()=>e[i],enumerable:!(n=l(e,i))||n.enumerable});return t};var a=t=>$(s({},"__esModule",{value:!0}),t);var j={};h(j,{atobID:()=>p,cn:()=>y,getLocalizedPath:()=>R,highlightSearchWord:()=>S,noop:()=>b,spaceToHyphen:()=>W});module.exports=a(j);var c=require("clsx"),x=require("tailwind-merge");const d=(0,x.extendTailwindMerge)({extend:{theme:{borderRadius:["btn"]},classGroups:{"font-size":["text-heading-1","text-heading-2","text-heading-3","text-heading-4","text-heading-5","text-text-3","text-text-2","text-text-1"],"text-color":["text-info-primary","text-info-secondary","text-info-tertiary","text-info-quaternary","text-info-white"],leading:["leading-tight","leading-normal","leading-loose"]}}});function y(...t){return d((0,c.clsx)(t))}function b(){}function p(t){return t&&typeof t=="string"&&t.includes("/")?t.split("/").pop()?.split("?")?.shift():t}const W=t=>t?.replace(/\s+/g,"-"),w=t=>t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),S=(t,e)=>{try{if(!t||!e)return t;const r=w(e),n=new RegExp(r,"gi");return t.replace(n,i=>`<span class='text-brand-0 font-bold'>${i}</span>`)}catch(r){return console.error("highlightSearchWord error:",r),t}},R=(t,e,r)=>{if(!t)return t;if(t.startsWith("http://")||t.startsWith("https://")||t.startsWith("#"))return r?t.includes("?")?`${t}&${r}`:`${t}?${r}`:t;const n=t.split("/").filter(Boolean);if(n.length===0){const o=e==="us"?"/":`/${e}`;return r?`${o}?${r}`:o}if(n[0]===e){const o=`/${n.join("/")}`;return r?`${o}?${r}`:o}const g=`${e==="us"?"":`/${e}`}/${n.join("/")}`;return r?`${g}?${r}`:g};
2
2
  //# sourceMappingURL=utils.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/helpers/utils.ts"],
4
- "sourcesContent": ["import { clsx, type ClassValue } from 'clsx'\nimport { extendTailwindMerge } from 'tailwind-merge'\n\nconst twMerge = extendTailwindMerge({\n extend: {\n theme: {\n borderRadius: ['btn'],\n },\n classGroups: {\n 'font-size': [\n 'text-heading-1',\n 'text-heading-2',\n 'text-heading-3',\n 'text-heading-4',\n 'text-heading-5',\n 'text-text-3',\n 'text-text-2',\n 'text-text-1',\n ],\n 'text-color': [\n 'text-info-primary',\n 'text-info-secondary',\n 'text-info-tertiary',\n 'text-info-quaternary',\n 'text-info-white',\n ],\n leading: ['leading-tight', 'leading-normal', 'leading-loose'],\n },\n },\n})\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n\nexport function noop(): any {}\n\nexport function atobID(id: string) {\n if (id && typeof id === 'string' && id.includes('/')) {\n return id.split('/').pop()?.split('?')?.shift()\n } else {\n return id\n }\n}\nexport const spaceToHyphen = (str: string) => str?.replace(/\\s+/g, '-')\n\n/**\n * \u8F6C\u4E49\u6B63\u5219\u8868\u8FBE\u5F0F\u7279\u6B8A\u5B57\u7B26\n * @param str \u9700\u8981\u8F6C\u4E49\u7684\u5B57\u7B26\u4E32\n * @returns \u8F6C\u4E49\u540E\u7684\u5B57\u7B26\u4E32\n */\nconst escapeRegExp = (str: string): string => {\n return str.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&')\n}\n\n/**\n * \u9AD8\u4EAE\u641C\u7D22\u5173\u952E\u8BCD\n * @param text \u539F\u59CB\u6587\u672C\n * @param searchText \u641C\u7D22\u5173\u952E\u8BCD\n * @returns \u9AD8\u4EAE\u540E\u7684 HTML \u5B57\u7B26\u4E32\n */\nexport const highlightSearchWord = (text: string, searchText: string) => {\n try {\n if (!text || !searchText) {\n return text\n }\n\n // \u8F6C\u4E49\u641C\u7D22\u6587\u672C\u4E2D\u7684\u6B63\u5219\u8868\u8FBE\u5F0F\u7279\u6B8A\u5B57\u7B26\n const escapedSearchText = escapeRegExp(searchText)\n const regex = new RegExp(escapedSearchText, 'gi')\n\n // \u4F7F\u7528\u6B63\u5219\u8868\u8FBE\u5F0F\u7684\u5339\u914D\u7ED3\u679C\u6765\u4FDD\u6301\u539F\u59CB\u5927\u5C0F\u5199\n return text.replace(regex, match => `<span class='text-brand-0 font-bold'>${match}</span>`)\n } catch (e) {\n console.error('highlightSearchWord error:', e)\n return text\n }\n}\n\n/**\n * \u83B7\u53D6\u672C\u5730\u5316\u8DEF\u5F84\n *\n * \u6839\u636E\u8BED\u8A00\u6807\u8BC6\u4E3A\u8DEF\u5F84\u6DFB\u52A0\u5BF9\u5E94\u7684 locale \u524D\u7F00\u3002\n * - 'us' \u4E3A\u9ED8\u8BA4\u8BED\u8A00\uFF0C\u4E0D\u6DFB\u52A0\u524D\u7F00\n * - \u5176\u4ED6\u8BED\u8A00\u4F1A\u6DFB\u52A0 `/{locale}` \u524D\u7F00\n * - \u5B8C\u6574 URL\uFF08http/https\uFF09\u4E0D\u505A\u5904\u7406\n * - \u81EA\u52A8\u5904\u7406\u8DEF\u5F84\u683C\u5F0F\uFF08\u8865\u5145\u524D\u5BFC\u659C\u6760\u3001\u79FB\u9664\u5C3E\u90E8\u659C\u6760\uFF09\n *\n * @param path - \u539F\u59CB\u8DEF\u5F84\n * @param locale - \u8BED\u8A00\u6807\u8BC6\uFF08\u5982 'us', 'uk', 'de', 'jp' \u7B49\uFF09\n * @returns \u672C\u5730\u5316\u540E\u7684\u8DEF\u5F84\n *\n * @example\n * // \u57FA\u672C\u7528\u6CD5 - \u9ED8\u8BA4\u8BED\u8A00 'us' \u4E0D\u6DFB\u52A0\u524D\u7F00\n * getLocalizedPath('/products', 'us') // => '/products'\n * getLocalizedPath('/about', 'us') // => '/about'\n *\n * @example\n * // \u5176\u4ED6\u8BED\u8A00\u6DFB\u52A0\u524D\u7F00\n * getLocalizedPath('/products', 'uk') // => '/uk/products'\n * getLocalizedPath('/about/team', 'de') // => '/de/about/team'\n * getLocalizedPath('/contact', 'jp') // => '/jp/contact'\n *\n * @example\n * // \u6839\u8DEF\u5F84\u5904\u7406\n * getLocalizedPath('/', 'us') // => '/'\n * getLocalizedPath('/', 'uk') // => '/uk'\n *\n * @example\n * // \u81EA\u52A8\u683C\u5F0F\u5316\u8DEF\u5F84\n * getLocalizedPath('products', 'uk') // => '/uk/products' (\u8865\u5145\u524D\u5BFC\u659C\u6760)\n * getLocalizedPath('/products/', 'uk') // => '/uk/products' (\u79FB\u9664\u5C3E\u90E8\u659C\u6760)\n * getLocalizedPath('//products//detail/', 'uk') // => '/uk/products/detail' (\u79FB\u9664\u591A\u4F59\u659C\u6760)\n *\n * @example\n * // \u5DF2\u5305\u542B locale \u7684\u8DEF\u5F84\u4E0D\u91CD\u590D\u6DFB\u52A0\n * getLocalizedPath('/uk/products', 'uk') // => '/uk/products'\n *\n * @example\n * // \u5B8C\u6574 URL \u4E0D\u5904\u7406\n * getLocalizedPath('https://example.com/page', 'uk') // => 'https://example.com/page'\n * getLocalizedPath('http://example.com', 'de') // => 'http://example.com'\n *\n * @example\n * // \u7A7A\u8DEF\u5F84\u5904\u7406\n * getLocalizedPath('', 'uk') // => ''\n */\nexport const getLocalizedPath = (path: string, locale: string): string => {\n if (!path) return path\n\n // \u5982\u679C\u662F\u5B8C\u6574 URL\uFF08http:// \u6216 https://\uFF09\u6216\u951A\u70B9\u94FE\u63A5\uFF08#\uFF09\uFF0C\u4E0D\u5904\u7406\n if (path.startsWith('http://') || path.startsWith('https://') || path.startsWith('#')) {\n return path\n }\n\n // \u5206\u5272\u8DEF\u5F84\u5E76\u8FC7\u6EE4\u7A7A\u6BB5\uFF08\u5904\u7406\u591A\u4E2A\u8FDE\u7EED\u659C\u6760\u7684\u60C5\u51B5\uFF09\n const pathSegments = path.split('/').filter(Boolean)\n\n // \u5982\u679C\u6CA1\u6709\u6709\u6548\u8DEF\u5F84\u6BB5\uFF0C\u8FD4\u56DE locale \u524D\u7F00\u6216 '/'\n if (pathSegments.length === 0) {\n return locale === 'us' ? '/' : `/${locale}`\n }\n\n // \u68C0\u67E5\u8DEF\u5F84\u662F\u5426\u5DF2\u7ECF\u5305\u542B locale\n if (pathSegments[0] === locale) {\n return `/${pathSegments.join('/')}`\n }\n\n // \u83B7\u53D6 locale \u524D\u7F00\u5E76\u62FC\u63A5\n const localePrefix = locale === 'us' ? '' : `/${locale}`\n return `${localePrefix}/${pathSegments.join('/')}`\n}\n"],
5
- "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,YAAAE,EAAA,OAAAC,EAAA,qBAAAC,EAAA,wBAAAC,EAAA,SAAAC,EAAA,kBAAAC,IAAA,eAAAC,EAAAR,GAAA,IAAAS,EAAsC,gBACtCC,EAAoC,0BAEpC,MAAMC,KAAU,uBAAoB,CAClC,OAAQ,CACN,MAAO,CACL,aAAc,CAAC,KAAK,CACtB,EACA,YAAa,CACX,YAAa,CACX,iBACA,iBACA,iBACA,iBACA,iBACA,cACA,cACA,aACF,EACA,aAAc,CACZ,oBACA,sBACA,qBACA,uBACA,iBACF,EACA,QAAS,CAAC,gBAAiB,iBAAkB,eAAe,CAC9D,CACF,CACF,CAAC,EAEM,SAASR,KAAMS,EAAsB,CAC1C,OAAOD,KAAQ,QAAKC,CAAM,CAAC,CAC7B,CAEO,SAASN,GAAY,CAAC,CAEtB,SAASJ,EAAOW,EAAY,CACjC,OAAIA,GAAM,OAAOA,GAAO,UAAYA,EAAG,SAAS,GAAG,EAC1CA,EAAG,MAAM,GAAG,EAAE,IAAI,GAAG,MAAM,GAAG,GAAG,MAAM,EAEvCA,CAEX,CACO,MAAMN,EAAiBO,GAAgBA,GAAK,QAAQ,OAAQ,GAAG,EAOhEC,EAAgBD,GACbA,EAAI,QAAQ,sBAAuB,MAAM,EASrCT,EAAsB,CAACW,EAAcC,IAAuB,CACvE,GAAI,CACF,GAAI,CAACD,GAAQ,CAACC,EACZ,OAAOD,EAIT,MAAME,EAAoBH,EAAaE,CAAU,EAC3CE,EAAQ,IAAI,OAAOD,EAAmB,IAAI,EAGhD,OAAOF,EAAK,QAAQG,EAAOC,GAAS,wCAAwCA,CAAK,SAAS,CAC5F,OAASC,EAAG,CACV,eAAQ,MAAM,6BAA8BA,CAAC,EACtCL,CACT,CACF,EAkDaZ,EAAmB,CAACkB,EAAcC,IAA2B,CAIxE,GAHI,CAACD,GAGDA,EAAK,WAAW,SAAS,GAAKA,EAAK,WAAW,UAAU,GAAKA,EAAK,WAAW,GAAG,EAClF,OAAOA,EAIT,MAAME,EAAeF,EAAK,MAAM,GAAG,EAAE,OAAO,OAAO,EAGnD,OAAIE,EAAa,SAAW,EACnBD,IAAW,KAAO,IAAM,IAAIA,CAAM,GAIvCC,EAAa,CAAC,IAAMD,EACf,IAAIC,EAAa,KAAK,GAAG,CAAC,GAK5B,GADcD,IAAW,KAAO,GAAK,IAAIA,CAAM,EAChC,IAAIC,EAAa,KAAK,GAAG,CAAC,EAClD",
6
- "names": ["utils_exports", "__export", "atobID", "cn", "getLocalizedPath", "highlightSearchWord", "noop", "spaceToHyphen", "__toCommonJS", "import_clsx", "import_tailwind_merge", "twMerge", "inputs", "id", "str", "escapeRegExp", "text", "searchText", "escapedSearchText", "regex", "match", "e", "path", "locale", "pathSegments"]
4
+ "sourcesContent": ["import { clsx, type ClassValue } from 'clsx'\nimport { extendTailwindMerge } from 'tailwind-merge'\n\nconst twMerge = extendTailwindMerge({\n extend: {\n theme: {\n borderRadius: ['btn'],\n },\n classGroups: {\n 'font-size': [\n 'text-heading-1',\n 'text-heading-2',\n 'text-heading-3',\n 'text-heading-4',\n 'text-heading-5',\n 'text-text-3',\n 'text-text-2',\n 'text-text-1',\n ],\n 'text-color': [\n 'text-info-primary',\n 'text-info-secondary',\n 'text-info-tertiary',\n 'text-info-quaternary',\n 'text-info-white',\n ],\n leading: ['leading-tight', 'leading-normal', 'leading-loose'],\n },\n },\n})\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n\nexport function noop(): any {}\n\nexport function atobID(id: string) {\n if (id && typeof id === 'string' && id.includes('/')) {\n return id.split('/').pop()?.split('?')?.shift()\n } else {\n return id\n }\n}\nexport const spaceToHyphen = (str: string) => str?.replace(/\\s+/g, '-')\n\n/**\n * \u8F6C\u4E49\u6B63\u5219\u8868\u8FBE\u5F0F\u7279\u6B8A\u5B57\u7B26\n * @param str \u9700\u8981\u8F6C\u4E49\u7684\u5B57\u7B26\u4E32\n * @returns \u8F6C\u4E49\u540E\u7684\u5B57\u7B26\u4E32\n */\nconst escapeRegExp = (str: string): string => {\n return str.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&')\n}\n\n/**\n * \u9AD8\u4EAE\u641C\u7D22\u5173\u952E\u8BCD\n * @param text \u539F\u59CB\u6587\u672C\n * @param searchText \u641C\u7D22\u5173\u952E\u8BCD\n * @returns \u9AD8\u4EAE\u540E\u7684 HTML \u5B57\u7B26\u4E32\n */\nexport const highlightSearchWord = (text: string, searchText: string) => {\n try {\n if (!text || !searchText) {\n return text\n }\n\n // \u8F6C\u4E49\u641C\u7D22\u6587\u672C\u4E2D\u7684\u6B63\u5219\u8868\u8FBE\u5F0F\u7279\u6B8A\u5B57\u7B26\n const escapedSearchText = escapeRegExp(searchText)\n const regex = new RegExp(escapedSearchText, 'gi')\n\n // \u4F7F\u7528\u6B63\u5219\u8868\u8FBE\u5F0F\u7684\u5339\u914D\u7ED3\u679C\u6765\u4FDD\u6301\u539F\u59CB\u5927\u5C0F\u5199\n return text.replace(regex, match => `<span class='text-brand-0 font-bold'>${match}</span>`)\n } catch (e) {\n console.error('highlightSearchWord error:', e)\n return text\n }\n}\n\n/**\n * \u83B7\u53D6\u672C\u5730\u5316\u8DEF\u5F84\n *\n * \u6839\u636E\u8BED\u8A00\u6807\u8BC6\u4E3A\u8DEF\u5F84\u6DFB\u52A0\u5BF9\u5E94\u7684 locale \u524D\u7F00\u3002\n * - 'us' \u4E3A\u9ED8\u8BA4\u8BED\u8A00\uFF0C\u4E0D\u6DFB\u52A0\u524D\u7F00\n * - \u5176\u4ED6\u8BED\u8A00\u4F1A\u6DFB\u52A0 `/{locale}` \u524D\u7F00\n * - \u5B8C\u6574 URL\uFF08http/https\uFF09\u4E0D\u505A\u5904\u7406\n * - \u81EA\u52A8\u5904\u7406\u8DEF\u5F84\u683C\u5F0F\uFF08\u8865\u5145\u524D\u5BFC\u659C\u6760\u3001\u79FB\u9664\u5C3E\u90E8\u659C\u6760\uFF09\n *\n * @param path - \u539F\u59CB\u8DEF\u5F84\n * @param locale - \u8BED\u8A00\u6807\u8BC6\uFF08\u5982 'us', 'uk', 'de', 'jp' \u7B49\uFF09\n * @returns \u672C\u5730\u5316\u540E\u7684\u8DEF\u5F84\n *\n * @example\n * // \u57FA\u672C\u7528\u6CD5 - \u9ED8\u8BA4\u8BED\u8A00 'us' \u4E0D\u6DFB\u52A0\u524D\u7F00\n * getLocalizedPath('/products', 'us') // => '/products'\n * getLocalizedPath('/about', 'us') // => '/about'\n *\n * @example\n * // \u5176\u4ED6\u8BED\u8A00\u6DFB\u52A0\u524D\u7F00\n * getLocalizedPath('/products', 'uk') // => '/uk/products'\n * getLocalizedPath('/about/team', 'de') // => '/de/about/team'\n * getLocalizedPath('/contact', 'jp') // => '/jp/contact'\n *\n * @example\n * // \u6839\u8DEF\u5F84\u5904\u7406\n * getLocalizedPath('/', 'us') // => '/'\n * getLocalizedPath('/', 'uk') // => '/uk'\n *\n * @example\n * // \u81EA\u52A8\u683C\u5F0F\u5316\u8DEF\u5F84\n * getLocalizedPath('products', 'uk') // => '/uk/products' (\u8865\u5145\u524D\u5BFC\u659C\u6760)\n * getLocalizedPath('/products/', 'uk') // => '/uk/products' (\u79FB\u9664\u5C3E\u90E8\u659C\u6760)\n * getLocalizedPath('//products//detail/', 'uk') // => '/uk/products/detail' (\u79FB\u9664\u591A\u4F59\u659C\u6760)\n *\n * @example\n * // \u5DF2\u5305\u542B locale \u7684\u8DEF\u5F84\u4E0D\u91CD\u590D\u6DFB\u52A0\n * getLocalizedPath('/uk/products', 'uk') // => '/uk/products'\n *\n * @example\n * // \u5B8C\u6574 URL \u4E0D\u5904\u7406\n * getLocalizedPath('https://example.com/page', 'uk') // => 'https://example.com/page'\n * getLocalizedPath('http://example.com', 'de') // => 'http://example.com'\n *\n * @example\n * // \u7A7A\u8DEF\u5F84\u5904\u7406\n * getLocalizedPath('', 'uk') // => ''\n *\n * @example\n * // appendParams \u4F1A\u81EA\u52A8\u5224\u65AD\u7528 ? \u8FD8\u662F &\n * getLocalizedPath('/products', 'us', 'ref=footer') // => '/products?ref=footer'\n * getLocalizedPath('https://example.com/page', 'us', 'ref=footer') // => 'https://example.com/page?ref=footer'\n * getLocalizedPath('https://example.com/page?app=foo', 'us', 'ref=footer') // => 'https://example.com/page?app=foo&ref=footer'\n */\nexport const getLocalizedPath = (path: string, locale: string, appendParams?: string): string => {\n if (!path) return path\n\n // \u5982\u679C\u662F\u5B8C\u6574 URL\uFF08http:// \u6216 https://\uFF09\u6216\u951A\u70B9\u94FE\u63A5\uFF08#\uFF09\uFF0C\u4E0D\u5904\u7406 locale\uFF0C\u4F46\u9700\u5904\u7406 appendParams\n if (path.startsWith('http://') || path.startsWith('https://') || path.startsWith('#')) {\n if (!appendParams) return path\n return path.includes('?') ? `${path}&${appendParams}` : `${path}?${appendParams}`\n }\n\n // \u5206\u5272\u8DEF\u5F84\u5E76\u8FC7\u6EE4\u7A7A\u6BB5\uFF08\u5904\u7406\u591A\u4E2A\u8FDE\u7EED\u659C\u6760\u7684\u60C5\u51B5\uFF09\n const pathSegments = path.split('/').filter(Boolean)\n\n // \u5982\u679C\u6CA1\u6709\u6709\u6548\u8DEF\u5F84\u6BB5\uFF0C\u8FD4\u56DE locale \u524D\u7F00\u6216 '/'\n if (pathSegments.length === 0) {\n const base = locale === 'us' ? '/' : `/${locale}`\n return appendParams ? `${base}?${appendParams}` : base\n }\n\n // \u68C0\u67E5\u8DEF\u5F84\u662F\u5426\u5DF2\u7ECF\u5305\u542B locale\n if (pathSegments[0] === locale) {\n const base = `/${pathSegments.join('/')}`\n return appendParams ? `${base}?${appendParams}` : base\n }\n\n // \u83B7\u53D6 locale \u524D\u7F00\u5E76\u62FC\u63A5\n const localePrefix = locale === 'us' ? '' : `/${locale}`\n const base = `${localePrefix}/${pathSegments.join('/')}`\n return appendParams ? `${base}?${appendParams}` : base\n}\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,YAAAE,EAAA,OAAAC,EAAA,qBAAAC,EAAA,wBAAAC,EAAA,SAAAC,EAAA,kBAAAC,IAAA,eAAAC,EAAAR,GAAA,IAAAS,EAAsC,gBACtCC,EAAoC,0BAEpC,MAAMC,KAAU,uBAAoB,CAClC,OAAQ,CACN,MAAO,CACL,aAAc,CAAC,KAAK,CACtB,EACA,YAAa,CACX,YAAa,CACX,iBACA,iBACA,iBACA,iBACA,iBACA,cACA,cACA,aACF,EACA,aAAc,CACZ,oBACA,sBACA,qBACA,uBACA,iBACF,EACA,QAAS,CAAC,gBAAiB,iBAAkB,eAAe,CAC9D,CACF,CACF,CAAC,EAEM,SAASR,KAAMS,EAAsB,CAC1C,OAAOD,KAAQ,QAAKC,CAAM,CAAC,CAC7B,CAEO,SAASN,GAAY,CAAC,CAEtB,SAASJ,EAAOW,EAAY,CACjC,OAAIA,GAAM,OAAOA,GAAO,UAAYA,EAAG,SAAS,GAAG,EAC1CA,EAAG,MAAM,GAAG,EAAE,IAAI,GAAG,MAAM,GAAG,GAAG,MAAM,EAEvCA,CAEX,CACO,MAAMN,EAAiBO,GAAgBA,GAAK,QAAQ,OAAQ,GAAG,EAOhEC,EAAgBD,GACbA,EAAI,QAAQ,sBAAuB,MAAM,EASrCT,EAAsB,CAACW,EAAcC,IAAuB,CACvE,GAAI,CACF,GAAI,CAACD,GAAQ,CAACC,EACZ,OAAOD,EAIT,MAAME,EAAoBH,EAAaE,CAAU,EAC3CE,EAAQ,IAAI,OAAOD,EAAmB,IAAI,EAGhD,OAAOF,EAAK,QAAQG,EAAOC,GAAS,wCAAwCA,CAAK,SAAS,CAC5F,OAASC,EAAG,CACV,eAAQ,MAAM,6BAA8BA,CAAC,EACtCL,CACT,CACF,EAwDaZ,EAAmB,CAACkB,EAAcC,EAAgBC,IAAkC,CAC/F,GAAI,CAACF,EAAM,OAAOA,EAGlB,GAAIA,EAAK,WAAW,SAAS,GAAKA,EAAK,WAAW,UAAU,GAAKA,EAAK,WAAW,GAAG,EAClF,OAAKE,EACEF,EAAK,SAAS,GAAG,EAAI,GAAGA,CAAI,IAAIE,CAAY,GAAK,GAAGF,CAAI,IAAIE,CAAY,GADrDF,EAK5B,MAAMG,EAAeH,EAAK,MAAM,GAAG,EAAE,OAAO,OAAO,EAGnD,GAAIG,EAAa,SAAW,EAAG,CAC7B,MAAMC,EAAOH,IAAW,KAAO,IAAM,IAAIA,CAAM,GAC/C,OAAOC,EAAe,GAAGE,CAAI,IAAIF,CAAY,GAAKE,CACpD,CAGA,GAAID,EAAa,CAAC,IAAMF,EAAQ,CAC9B,MAAMG,EAAO,IAAID,EAAa,KAAK,GAAG,CAAC,GACvC,OAAOD,EAAe,GAAGE,CAAI,IAAIF,CAAY,GAAKE,CACpD,CAIA,MAAMA,EAAO,GADQH,IAAW,KAAO,GAAK,IAAIA,CAAM,EAC1B,IAAIE,EAAa,KAAK,GAAG,CAAC,GACtD,OAAOD,EAAe,GAAGE,CAAI,IAAIF,CAAY,GAAKE,CACpD",
6
+ "names": ["utils_exports", "__export", "atobID", "cn", "getLocalizedPath", "highlightSearchWord", "noop", "spaceToHyphen", "__toCommonJS", "import_clsx", "import_tailwind_merge", "twMerge", "inputs", "id", "str", "escapeRegExp", "text", "searchText", "escapedSearchText", "regex", "match", "e", "path", "locale", "appendParams", "pathSegments", "base"]
7
7
  }
@@ -0,0 +1,14 @@
1
+ type MediaQueryOptions = {
2
+ query: string;
3
+ minWidth?: never;
4
+ } | {
5
+ minWidth: number;
6
+ query?: never;
7
+ };
8
+ /**
9
+ * SSR-safe replacement for react-responsive useMediaQuery.
10
+ * Returns false on SSR and before mount, then syncs to real matchMedia value.
11
+ * Internal hook — not exported from package entrypoints.
12
+ */
13
+ export declare function useIsomorphicMediaQuery(options: MediaQueryOptions): boolean;
14
+ export {};
@@ -0,0 +1,2 @@
1
+ "use strict";var a=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var h=Object.getOwnPropertyNames;var m=Object.prototype.hasOwnProperty;var o=(e,t)=>{for(var i in t)a(e,i,{get:t[i],enumerable:!0})},y=(e,t,i,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of h(t))!m.call(e,n)&&n!==i&&a(e,n,{get:()=>t[n],enumerable:!(r=c(t,n))||r.enumerable});return e};var f=e=>y(a({},"__esModule",{value:!0}),e);var p={};o(p,{useIsomorphicMediaQuery:()=>g});module.exports=f(p);var u=require("react");const M=e=>"minWidth"in e&&e.minWidth!=null?`(min-width: ${e.minWidth}px)`:e.query;function g(e){const t=M(e),[i,r]=(0,u.useState)(!1);return(0,u.useEffect)(()=>{if(typeof window>"u"||typeof window.matchMedia!="function")return;const n=window.matchMedia(t),d=s=>{r(s.matches)};return r(n.matches),n.addEventListener("change",d),()=>{n.removeEventListener("change",d)}},[t]),i}
2
+ //# sourceMappingURL=useIsomorphicMediaQuery.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/hooks/useIsomorphicMediaQuery.ts"],
4
+ "sourcesContent": ["import { useEffect, useState } from 'react'\n\ntype MediaQueryOptions = { query: string; minWidth?: never } | { minWidth: number; query?: never }\n\nconst getMediaQueryString = (options: MediaQueryOptions): string => {\n if ('minWidth' in options && options.minWidth != null) {\n return `(min-width: ${options.minWidth}px)`\n }\n\n return options.query\n}\n\n/**\n * SSR-safe replacement for react-responsive useMediaQuery.\n * Returns false on SSR and before mount, then syncs to real matchMedia value.\n * Internal hook \u2014 not exported from package entrypoints.\n */\nexport function useIsomorphicMediaQuery(options: MediaQueryOptions): boolean {\n const queryString = getMediaQueryString(options)\n const [matches, setMatches] = useState(false)\n\n useEffect(() => {\n if (typeof window === 'undefined' || typeof window.matchMedia !== 'function') {\n return\n }\n\n const mediaQueryList = window.matchMedia(queryString)\n const handleChange = (event: MediaQueryListEvent) => {\n setMatches(event.matches)\n }\n\n setMatches(mediaQueryList.matches)\n mediaQueryList.addEventListener('change', handleChange)\n\n return () => {\n mediaQueryList.removeEventListener('change', handleChange)\n }\n }, [queryString])\n\n return matches\n}\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,6BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAoC,iBAIpC,MAAMC,EAAuBC,GACvB,aAAcA,GAAWA,EAAQ,UAAY,KACxC,eAAeA,EAAQ,QAAQ,MAGjCA,EAAQ,MAQV,SAASJ,EAAwBI,EAAqC,CAC3E,MAAMC,EAAcF,EAAoBC,CAAO,EACzC,CAACE,EAASC,CAAU,KAAI,YAAS,EAAK,EAE5C,sBAAU,IAAM,CACd,GAAI,OAAO,OAAW,KAAe,OAAO,OAAO,YAAe,WAChE,OAGF,MAAMC,EAAiB,OAAO,WAAWH,CAAW,EAC9CI,EAAgBC,GAA+B,CACnDH,EAAWG,EAAM,OAAO,CAC1B,EAEA,OAAAH,EAAWC,EAAe,OAAO,EACjCA,EAAe,iBAAiB,SAAUC,CAAY,EAE/C,IAAM,CACXD,EAAe,oBAAoB,SAAUC,CAAY,CAC3D,CACF,EAAG,CAACJ,CAAW,CAAC,EAETC,CACT",
6
+ "names": ["useIsomorphicMediaQuery_exports", "__export", "useIsomorphicMediaQuery", "__toCommonJS", "import_react", "getMediaQueryString", "options", "queryString", "matches", "setMatches", "mediaQueryList", "handleChange", "event"]
7
+ }
@@ -0,0 +1,43 @@
1
+ import { type RefObject } from 'react';
2
+ import type { Product } from '../biz-components/Listing/types/product.js';
3
+ /** 单个产品项的埋点数据(CMS 配置的简化产品) */
4
+ export interface ProductItem {
5
+ sku?: string;
6
+ handle?: string;
7
+ custom_price?: number;
8
+ [key: string]: any;
9
+ }
10
+ /** Hook 入参 */
11
+ export interface ProductListTrackOptions {
12
+ /** 组件容器 ref,用于 view_item_list 的视口检测 */
13
+ containerRef: RefObject<HTMLDivElement>;
14
+ /** 列表名称,用于 item_list_name 字段 */
15
+ listName: string;
16
+ /** 产品列表(简化数据,来自 CMS 配置) */
17
+ items: ProductItem[];
18
+ /** 构建时产品完整数据(来自 Shopify API) */
19
+ products?: Product[];
20
+ }
21
+ /**
22
+ * 产品列表埋点 Hook
23
+ *
24
+ * 封装两个 GA4 电商事件:
25
+ * - `view_item_list` — 组件进入视口时自动触发一次(产品列表露出)
26
+ * - `select_item` — 返回 trackSelectItem 函数,点击产品时手动调用(产品选择)
27
+ *
28
+ * @example
29
+ * ```tsx
30
+ * const { trackSelectItem } = useProductListTrack({
31
+ * containerRef: innerRef,
32
+ * listName: 'gift_tier_shelf',
33
+ * items: availableItems.map(item => item.products?.[0]).filter(Boolean),
34
+ * products: buildData?.products,
35
+ * })
36
+ *
37
+ * // 点击产品卡片时
38
+ * <Card onClick={() => { trackSelectItem(product, index); onCardClick?.() }} />
39
+ * ```
40
+ */
41
+ export declare const useProductListTrack: ({ containerRef, listName, items, products }: ProductListTrackOptions) => {
42
+ trackSelectItem: (item: ProductItem, index: number) => void;
43
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";var l=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var k=Object.getOwnPropertyNames;var f=Object.prototype.hasOwnProperty;var P=(e,t)=>{for(var n in t)l(e,n,{get:t[n],enumerable:!0})},h=(e,t,n,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of k(t))!f.call(e,r)&&r!==n&&l(e,r,{get:()=>t[r],enumerable:!(i=g(t,r))||i.enumerable});return e};var b=e=>h(l({},"__esModule",{value:!0}),e);var L={};P(L,{useProductListTrack:()=>x});module.exports=b(L);var s=require("react"),p=require("../shared/track.js"),v=require("../biz-components/AiuiProvider/index.js");const I=(e,t)=>e.map((n,i)=>{const r=t?.find(o=>o.handle===n.handle)||null,c=r?.variants?.find(o=>o?.sku===n.sku)||null;return{item_id:n.sku||c?.sku||"",item_name:c?.title||r?.title||"",item_variant:c?.title||"",price:n.custom_price??c?.price?.amount??"",index:i+1}}),x=({containerRef:e,listName:t,items:n,products:i})=>{const{trackingData:r}=(0,v.useAiuiContext)(),c=(0,s.useRef)(!1);return(0,s.useEffect)(()=>{if(!e.current||c.current||!i?.length)return;const a=new IntersectionObserver(([m])=>{m.isIntersecting&&!c.current&&(c.current=!0,(0,p.gaTrack)({event:"ga4Event",event_name:"view_item_list",event_parameters:{page_group:r?.pageGroup||"Home Page",item_list_name:t,items:I(n,i)}}),a.disconnect())},{threshold:0});return a.observe(e.current),()=>a.disconnect()},[i,n,r,t,e]),{trackSelectItem:(0,s.useCallback)((a,m)=>{const _=i?.find(d=>d.handle===a.handle)||null,u=_?.variants?.find(d=>d?.sku===a.sku)||null;(0,p.gaTrack)({event:"ga4Event",event_name:"select_item",event_parameters:{page_group:r?.pageGroup||"Home Page",item_list_name:t,items:[{item_id:a.sku||u?.sku||"",item_name:u?.title||_?.title||"",item_variant:u?.title||"",price:a.custom_price??u?.price?.amount??"",index:m+1}]}})},[i,r,t])}};
2
+ //# sourceMappingURL=useProductListTrack.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/hooks/useProductListTrack.ts"],
4
+ "sourcesContent": ["import { type RefObject, useRef, useEffect, useCallback } from 'react'\nimport { gaTrack } from '../shared/track.js'\nimport { useAiuiContext } from '../biz-components/AiuiProvider/index.js'\nimport type { Product, ProductVariant } from '../biz-components/Listing/types/product.js'\n\n/** \u5355\u4E2A\u4EA7\u54C1\u9879\u7684\u57CB\u70B9\u6570\u636E\uFF08CMS \u914D\u7F6E\u7684\u7B80\u5316\u4EA7\u54C1\uFF09 */\nexport interface ProductItem {\n sku?: string\n handle?: string\n custom_price?: number\n [key: string]: any\n}\n\n/** Hook \u5165\u53C2 */\nexport interface ProductListTrackOptions {\n /** \u7EC4\u4EF6\u5BB9\u5668 ref\uFF0C\u7528\u4E8E view_item_list \u7684\u89C6\u53E3\u68C0\u6D4B */\n containerRef: RefObject<HTMLDivElement>\n /** \u5217\u8868\u540D\u79F0\uFF0C\u7528\u4E8E item_list_name \u5B57\u6BB5 */\n listName: string\n /** \u4EA7\u54C1\u5217\u8868\uFF08\u7B80\u5316\u6570\u636E\uFF0C\u6765\u81EA CMS \u914D\u7F6E\uFF09 */\n items: ProductItem[]\n /** \u6784\u5EFA\u65F6\u4EA7\u54C1\u5B8C\u6574\u6570\u636E\uFF08\u6765\u81EA Shopify API\uFF09 */\n products?: Product[]\n}\n\n/**\n * \u6839\u636E\u7B80\u5316\u4EA7\u54C1 + \u5B8C\u6574\u4EA7\u54C1\u6570\u636E\uFF0C\u6784\u5EFA GA4 \u6807\u51C6 items \u6570\u7EC4\n */\nconst resolveItemList = (items: ProductItem[], products?: Product[]) => {\n return items.map((item, index) => {\n const matchedProduct = products?.find(p => p.handle === item.handle) || null\n const variant = matchedProduct?.variants?.find((v: ProductVariant) => v?.sku === item.sku) || null\n return {\n item_id: item.sku || variant?.sku || '',\n item_name: variant?.title || matchedProduct?.title || '',\n item_variant: variant?.title || '',\n price: item.custom_price ?? variant?.price?.amount ?? '',\n index: index + 1,\n }\n })\n}\n\n/**\n * \u4EA7\u54C1\u5217\u8868\u57CB\u70B9 Hook\n *\n * \u5C01\u88C5\u4E24\u4E2A GA4 \u7535\u5546\u4E8B\u4EF6\uFF1A\n * - `view_item_list` \u2014 \u7EC4\u4EF6\u8FDB\u5165\u89C6\u53E3\u65F6\u81EA\u52A8\u89E6\u53D1\u4E00\u6B21\uFF08\u4EA7\u54C1\u5217\u8868\u9732\u51FA\uFF09\n * - `select_item` \u2014 \u8FD4\u56DE trackSelectItem \u51FD\u6570\uFF0C\u70B9\u51FB\u4EA7\u54C1\u65F6\u624B\u52A8\u8C03\u7528\uFF08\u4EA7\u54C1\u9009\u62E9\uFF09\n *\n * @example\n * ```tsx\n * const { trackSelectItem } = useProductListTrack({\n * containerRef: innerRef,\n * listName: 'gift_tier_shelf',\n * items: availableItems.map(item => item.products?.[0]).filter(Boolean),\n * products: buildData?.products,\n * })\n *\n * // \u70B9\u51FB\u4EA7\u54C1\u5361\u7247\u65F6\n * <Card onClick={() => { trackSelectItem(product, index); onCardClick?.() }} />\n * ```\n */\nexport const useProductListTrack = ({ containerRef, listName, items, products }: ProductListTrackOptions) => {\n const { trackingData } = useAiuiContext()\n const hasViewed = useRef(false)\n\n // view_item_list \u2014 \u8FDB\u5165\u89C6\u53E3\u89E6\u53D1\u4E00\u6B21\n useEffect(() => {\n if (!containerRef.current || hasViewed.current || !products?.length) return\n\n const observer = new IntersectionObserver(\n ([entry]) => {\n if (entry.isIntersecting && !hasViewed.current) {\n hasViewed.current = true\n gaTrack({\n event: 'ga4Event',\n event_name: 'view_item_list',\n event_parameters: {\n page_group: trackingData?.pageGroup || 'Home Page',\n item_list_name: listName,\n items: resolveItemList(items, products),\n },\n })\n observer.disconnect()\n }\n },\n { threshold: 0 }\n )\n\n observer.observe(containerRef.current)\n return () => observer.disconnect()\n }, [products, items, trackingData, listName, containerRef])\n\n // select_item \u2014 \u70B9\u51FB\u67D0\u4EA7\u54C1\u65F6\u8C03\u7528\n const trackSelectItem = useCallback(\n (item: ProductItem, index: number) => {\n const matchedProduct = products?.find(p => p.handle === item.handle) || null\n const variant = matchedProduct?.variants?.find((v: ProductVariant) => v?.sku === item.sku) || null\n\n gaTrack({\n event: 'ga4Event',\n event_name: 'select_item',\n event_parameters: {\n page_group: trackingData?.pageGroup || 'Home Page',\n item_list_name: listName,\n items: [\n {\n item_id: item.sku || variant?.sku || '',\n item_name: variant?.title || matchedProduct?.title || '',\n item_variant: variant?.title || '',\n price: item.custom_price ?? variant?.price?.amount ?? '',\n index: index + 1,\n },\n ],\n },\n })\n },\n [products, trackingData, listName]\n )\n\n return { trackSelectItem }\n}\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,yBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAA+D,iBAC/DC,EAAwB,8BACxBC,EAA+B,mDA0B/B,MAAMC,EAAkB,CAACC,EAAsBC,IACtCD,EAAM,IAAI,CAACE,EAAMC,IAAU,CAChC,MAAMC,EAAiBH,GAAU,KAAKI,GAAKA,EAAE,SAAWH,EAAK,MAAM,GAAK,KAClEI,EAAUF,GAAgB,UAAU,KAAMG,GAAsBA,GAAG,MAAQL,EAAK,GAAG,GAAK,KAC9F,MAAO,CACL,QAASA,EAAK,KAAOI,GAAS,KAAO,GACrC,UAAWA,GAAS,OAASF,GAAgB,OAAS,GACtD,aAAcE,GAAS,OAAS,GAChC,MAAOJ,EAAK,cAAgBI,GAAS,OAAO,QAAU,GACtD,MAAOH,EAAQ,CACjB,CACF,CAAC,EAuBUT,EAAsB,CAAC,CAAE,aAAAc,EAAc,SAAAC,EAAU,MAAAT,EAAO,SAAAC,CAAS,IAA+B,CAC3G,KAAM,CAAE,aAAAS,CAAa,KAAI,kBAAe,EAClCC,KAAY,UAAO,EAAK,EAG9B,sBAAU,IAAM,CACd,GAAI,CAACH,EAAa,SAAWG,EAAU,SAAW,CAACV,GAAU,OAAQ,OAErE,MAAMW,EAAW,IAAI,qBACnB,CAAC,CAACC,CAAK,IAAM,CACPA,EAAM,gBAAkB,CAACF,EAAU,UACrCA,EAAU,QAAU,MACpB,WAAQ,CACN,MAAO,WACP,WAAY,iBACZ,iBAAkB,CAChB,WAAYD,GAAc,WAAa,YACvC,eAAgBD,EAChB,MAAOV,EAAgBC,EAAOC,CAAQ,CACxC,CACF,CAAC,EACDW,EAAS,WAAW,EAExB,EACA,CAAE,UAAW,CAAE,CACjB,EAEA,OAAAA,EAAS,QAAQJ,EAAa,OAAO,EAC9B,IAAMI,EAAS,WAAW,CACnC,EAAG,CAACX,EAAUD,EAAOU,EAAcD,EAAUD,CAAY,CAAC,EA6BnD,CAAE,mBA1Be,eACtB,CAACN,EAAmBC,IAAkB,CACpC,MAAMC,EAAiBH,GAAU,KAAKI,GAAKA,EAAE,SAAWH,EAAK,MAAM,GAAK,KAClEI,EAAUF,GAAgB,UAAU,KAAMG,GAAsBA,GAAG,MAAQL,EAAK,GAAG,GAAK,QAE9F,WAAQ,CACN,MAAO,WACP,WAAY,cACZ,iBAAkB,CAChB,WAAYQ,GAAc,WAAa,YACvC,eAAgBD,EAChB,MAAO,CACL,CACE,QAASP,EAAK,KAAOI,GAAS,KAAO,GACrC,UAAWA,GAAS,OAASF,GAAgB,OAAS,GACtD,aAAcE,GAAS,OAAS,GAChC,MAAOJ,EAAK,cAAgBI,GAAS,OAAO,QAAU,GACtD,MAAOH,EAAQ,CACjB,CACF,CACF,CACF,CAAC,CACH,EACA,CAACF,EAAUS,EAAcD,CAAQ,CACnC,CAEyB,CAC3B",
6
+ "names": ["useProductListTrack_exports", "__export", "useProductListTrack", "__toCommonJS", "import_react", "import_track", "import_AiuiProvider", "resolveItemList", "items", "products", "item", "index", "matchedProduct", "p", "variant", "v", "containerRef", "listName", "trackingData", "hasViewed", "observer", "entry"]
7
+ }
@@ -2,3 +2,13 @@ export * from './components/index.js';
2
2
  export { gaTrack } from './shared/track.js';
3
3
  export { trackUrlRef, buildTrackingRef } from './shared/trackUrlRef.js';
4
4
  export type { ExposureParams, OnExposureCallback } from './biz-components/AiuiProvider/index.js';
5
+ export type { Media, Theme, Img, Video, ContainerProps, ComponentCommonProps, ResponsiveMedia, Shape, Align, CurrencyDisplayType, } from './types/props.js';
6
+ export { default as useCountDown } from './hooks/useCountDown.js';
7
+ export { useDraggableScroll } from './hooks/useDraggableScroll.js';
8
+ export { useExposure } from './hooks/useExposure.js';
9
+ export { useGridRowCount } from './hooks/useGridRowCount.js';
10
+ export { useIntersectionObserverDelay } from './hooks/useIntersectionObserver.js';
11
+ export { useRollout } from './hooks/useRollout.js';
12
+ export { useViewItemList } from './hooks/useViewItemList.js';
13
+ export { cn, getLocalizedPath, noop } from './helpers/index.js';
14
+ export { formatPrice, languageTerritory, PRICE_SYMBOL } from './helpers/index.js';
package/dist/cjs/index.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";var x=Object.defineProperty;var n=Object.getOwnPropertyDescriptor;var s=Object.getOwnPropertyNames;var k=Object.prototype.hasOwnProperty;var l=(o,r)=>{for(var e in r)x(o,e,{get:r[e],enumerable:!0})},t=(o,r,e,m)=>{if(r&&typeof r=="object"||typeof r=="function")for(let a of s(r))!k.call(o,a)&&a!==e&&x(o,a,{get:()=>r[a],enumerable:!(m=n(r,a))||m.enumerable});return o},f=(o,r,e)=>(t(o,r,"default"),e&&t(e,r,"default"));var u=o=>t(x({},"__esModule",{value:!0}),o);var p={};l(p,{buildTrackingRef:()=>i.buildTrackingRef,gaTrack:()=>c.gaTrack,trackUrlRef:()=>i.trackUrlRef});module.exports=u(p);f(p,require("./components/index.js"),module.exports);var c=require("./shared/track.js"),i=require("./shared/trackUrlRef.js");
1
+ "use strict";var R=Object.create;var m=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var T=Object.getOwnPropertyNames;var k=Object.getPrototypeOf,D=Object.prototype.hasOwnProperty;var E=(e,o)=>{for(var r in o)m(e,r,{get:o[r],enumerable:!0})},a=(e,o,r,u)=>{if(o&&typeof o=="object"||typeof o=="function")for(let s of T(o))!D.call(e,s)&&s!==r&&m(e,s,{get:()=>o[s],enumerable:!(u=b(o,s))||u.enumerable});return e},f=(e,o,r)=>(a(e,o,"default"),r&&a(r,o,"default")),I=(e,o,r)=>(r=e!=null?R(k(e)):{},a(o||!e||!e.__esModule?m(r,"default",{value:e,enumerable:!0}):r,e)),h=e=>a(m({},"__esModule",{value:!0}),e);var i={};E(i,{PRICE_SYMBOL:()=>p.PRICE_SYMBOL,buildTrackingRef:()=>n.buildTrackingRef,cn:()=>t.cn,formatPrice:()=>p.formatPrice,gaTrack:()=>x.gaTrack,getLocalizedPath:()=>t.getLocalizedPath,languageTerritory:()=>p.languageTerritory,noop:()=>t.noop,trackUrlRef:()=>n.trackUrlRef,useCountDown:()=>l.default,useDraggableScroll:()=>c.useDraggableScroll,useExposure:()=>d.useExposure,useGridRowCount:()=>g.useGridRowCount,useIntersectionObserverDelay:()=>y.useIntersectionObserverDelay,useRollout:()=>C.useRollout,useViewItemList:()=>P.useViewItemList});module.exports=h(i);f(i,require("./components/index.js"),module.exports);var x=require("./shared/track.js"),n=require("./shared/trackUrlRef.js"),l=I(require("./hooks/useCountDown.js")),c=require("./hooks/useDraggableScroll.js"),d=require("./hooks/useExposure.js"),g=require("./hooks/useGridRowCount.js"),y=require("./hooks/useIntersectionObserver.js"),C=require("./hooks/useRollout.js"),P=require("./hooks/useViewItemList.js"),t=require("./helpers/index.js"),p=require("./helpers/index.js");
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.ts"],
4
- "sourcesContent": ["export * from './components/index.js'\nexport { gaTrack } from './shared/track.js'\nexport { trackUrlRef, buildTrackingRef } from './shared/trackUrlRef.js'\nexport type { ExposureParams, OnExposureCallback } from './biz-components/AiuiProvider/index.js'\n"],
5
- "mappings": "2dAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,8GAAAE,EAAAF,GAAAG,EAAAH,EAAc,iCAAd,gBACA,IAAAI,EAAwB,6BACxBC,EAA8C",
6
- "names": ["src_exports", "__export", "__toCommonJS", "__reExport", "import_track", "import_trackUrlRef"]
4
+ "sourcesContent": ["export * from './components/index.js'\nexport { gaTrack } from './shared/track.js'\nexport { trackUrlRef, buildTrackingRef } from './shared/trackUrlRef.js'\nexport type { ExposureParams, OnExposureCallback } from './biz-components/AiuiProvider/index.js'\n\n// \u516C\u5F00\u5BFC\u51FA\u6838\u5FC3\u5171\u4EAB\u7C7B\u578B\uFF08\u4F9B Registry \u5206\u53D1\u7684 biz-components \u6D88\u8D39\u8005\u4F7F\u7528\uFF09\nexport type {\n Media,\n Theme,\n Img,\n Video,\n ContainerProps,\n ComponentCommonProps,\n ResponsiveMedia,\n Shape,\n Align,\n CurrencyDisplayType,\n} from './types/props.js'\n\n// \u516C\u5F00\u5BFC\u51FA\u5168\u91CF hooks\uFF08\u4F9B Registry \u5206\u53D1\u7684 biz-components \u6D88\u8D39\u8005\u4F7F\u7528\uFF09\nexport { default as useCountDown } from './hooks/useCountDown.js'\nexport { useDraggableScroll } from './hooks/useDraggableScroll.js'\nexport { useExposure } from './hooks/useExposure.js'\nexport { useGridRowCount } from './hooks/useGridRowCount.js'\nexport { useIntersectionObserverDelay } from './hooks/useIntersectionObserver.js'\nexport { useRollout } from './hooks/useRollout.js'\nexport { useViewItemList } from './hooks/useViewItemList.js'\n\n// \u516C\u5F00\u5BFC\u51FA helpers\uFF08\u4F9B Registry \u5206\u53D1\u7684 biz-components \u6D88\u8D39\u8005\u4F7F\u7528\uFF09\nexport { cn, getLocalizedPath, noop } from './helpers/index.js'\nexport { formatPrice, languageTerritory, PRICE_SYMBOL } from './helpers/index.js'\n"],
5
+ "mappings": "wmBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,uiBAAAE,EAAAF,GAAAG,EAAAH,EAAc,iCAAd,gBACA,IAAAI,EAAwB,6BACxBC,EAA8C,mCAkB9CC,EAAwC,sCACxCC,EAAmC,yCACnCC,EAA4B,kCAC5BC,EAAgC,sCAChCC,EAA6C,8CAC7CC,EAA2B,iCAC3BC,EAAgC,sCAGhCC,EAA2C,8BAC3CA,EAA6D",
6
+ "names": ["src_exports", "__export", "__toCommonJS", "__reExport", "import_track", "import_trackUrlRef", "import_useCountDown", "import_useDraggableScroll", "import_useExposure", "import_useGridRowCount", "import_useIntersectionObserver", "import_useRollout", "import_useViewItemList", "import_helpers"]
7
7
  }
@@ -0,0 +1,11 @@
1
+ import * as React from 'react';
2
+ export interface ProductGridProps {
3
+ children: React.ReactNode;
4
+ maxVisible?: number;
5
+ showMoreText?: string;
6
+ showLessText?: string;
7
+ animated?: boolean;
8
+ className?: string;
9
+ }
10
+ declare const AccessoriesProductGrid: React.ForwardRefExoticComponent<ProductGridProps & React.RefAttributes<HTMLDivElement>>;
11
+ export default AccessoriesProductGrid;
@@ -0,0 +1,2 @@
1
+ "use client";import{jsx as t,jsxs as x}from"react/jsx-runtime";import*as s from"react";import{cn as a}from"../../../../helpers/index.js";import h from"../../../../components/button.js";const d=s.forwardRef(({children:c,maxVisible:o=8,showMoreText:n="Show more",showLessText:l="Show less",animated:m=!0,className:p},u)=>{const[r,f]=s.useState(!1),e=s.Children.toArray(c),i=e.length>o,g=i&&!r?e.slice(0,o):e;return x("div",{ref:u,className:a("flex flex-col gap-6",p),children:[t("div",{className:a("laptop:grid-cols-3 desktop:grid-cols-4 grid grid-cols-2 gap-4",m&&"transition-all duration-500 ease-in-out"),children:g}),i&&t("div",{className:"flex justify-center",children:t(h,{variant:"link",size:"base",onClick:()=>f(v=>!v),children:r?l:n})})]})});d.displayName="AccessoriesProductGrid";var w=d;export{w as default};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../src/biz-components/AccessoriesShelf/components/AccessoriesProductGrid/index.tsx"],
4
+ "sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport { cn } from '../../../../helpers/index.js'\nimport Button from '../../../../components/button.js'\n\nexport interface ProductGridProps {\n children: React.ReactNode\n maxVisible?: number\n showMoreText?: string\n showLessText?: string\n animated?: boolean\n className?: string\n}\n\nconst AccessoriesProductGrid = React.forwardRef<HTMLDivElement, ProductGridProps>(\n (\n { children, maxVisible = 8, showMoreText = 'Show more', showLessText = 'Show less', animated = true, className },\n ref\n ) => {\n const [expanded, setExpanded] = React.useState(false)\n const items = React.Children.toArray(children)\n const hasMore = items.length > maxVisible\n const visibleItems = hasMore && !expanded ? items.slice(0, maxVisible) : items\n\n return (\n <div ref={ref} className={cn('flex flex-col gap-6', className)}>\n <div\n className={cn(\n 'laptop:grid-cols-3 desktop:grid-cols-4 grid grid-cols-2 gap-4',\n animated && 'transition-all duration-500 ease-in-out'\n )}\n >\n {visibleItems}\n </div>\n {hasMore && (\n <div className=\"flex justify-center\">\n <Button variant=\"link\" size=\"base\" onClick={() => setExpanded(prev => !prev)}>\n {expanded ? showLessText : showMoreText}\n </Button>\n </div>\n )}\n </div>\n )\n }\n)\n\nAccessoriesProductGrid.displayName = 'AccessoriesProductGrid'\n\nexport default AccessoriesProductGrid\n"],
5
+ "mappings": "aA0BM,OACE,OAAAA,EADF,QAAAC,MAAA,oBAxBN,UAAYC,MAAW,QACvB,OAAS,MAAAC,MAAU,+BACnB,OAAOC,MAAY,mCAWnB,MAAMC,EAAyBH,EAAM,WACnC,CACE,CAAE,SAAAI,EAAU,WAAAC,EAAa,EAAG,aAAAC,EAAe,YAAa,aAAAC,EAAe,YAAa,SAAAC,EAAW,GAAM,UAAAC,CAAU,EAC/GC,IACG,CACH,KAAM,CAACC,EAAUC,CAAW,EAAIZ,EAAM,SAAS,EAAK,EAC9Ca,EAAQb,EAAM,SAAS,QAAQI,CAAQ,EACvCU,EAAUD,EAAM,OAASR,EACzBU,EAAeD,GAAW,CAACH,EAAWE,EAAM,MAAM,EAAGR,CAAU,EAAIQ,EAEzE,OACEd,EAAC,OAAI,IAAKW,EAAK,UAAWT,EAAG,sBAAuBQ,CAAS,EAC3D,UAAAX,EAAC,OACC,UAAWG,EACT,gEACAO,GAAY,yCACd,EAEC,SAAAO,EACH,EACCD,GACChB,EAAC,OAAI,UAAU,sBACb,SAAAA,EAACI,EAAA,CAAO,QAAQ,OAAO,KAAK,OAAO,QAAS,IAAMU,EAAYI,GAAQ,CAACA,CAAI,EACxE,SAAAL,EAAWJ,EAAeD,EAC7B,EACF,GAEJ,CAEJ,CACF,EAEAH,EAAuB,YAAc,yBAErC,IAAOc,EAAQd",
6
+ "names": ["jsx", "jsxs", "React", "cn", "Button", "AccessoriesProductGrid", "children", "maxVisible", "showMoreText", "showLessText", "animated", "className", "ref", "expanded", "setExpanded", "items", "hasMore", "visibleItems", "prev", "AccessoriesProductGrid_default"]
7
+ }
@@ -0,0 +1,23 @@
1
+ import * as React from 'react';
2
+ import type { AccessoryProductCardProps, AccessoryProductData, AccessoryCardSemanticName, AccessoryCopyConfig } from './types.js';
3
+ export type { AccessoryProductCardProps, AccessoryProductData, AccessoryCardSemanticName, AccessoryCopyConfig };
4
+ /**
5
+ * AccessoryProductCard - 配件卡片(UI 组件)
6
+ *
7
+ * 组件职责(UI 层):
8
+ * - 渲染产品图(1:1 object-contain)
9
+ * - 渲染标题、描述、tags
10
+ * - 渲染现价 + 原价(删除线)+ 会员价(下方小字)
11
+ * - 渲染加购按钮及 Add / Added(n) / Unavailable 状态
12
+ * - Hover 效果(卡片背景变白 + 阴影,PC 端)
13
+ * - Loading 状态展示
14
+ *
15
+ * 业务职责(业务端负责):
16
+ * - 获取产品数据、计算价格
17
+ * - 维护 addedQuantity、isLoading 状态
18
+ * - 实现 onAddToCart 逻辑(调用购物车 API)
19
+ * - 库存检查后将 quantityAvailable 传入
20
+ */
21
+ declare const AccessoryProductCard: React.ForwardRefExoticComponent<AccessoryProductCardProps & React.RefAttributes<HTMLDivElement>>;
22
+ export { AccessoryProductCard };
23
+ export default AccessoryProductCard;
@@ -0,0 +1,2 @@
1
+ "use client";import{Fragment as j,jsx as a,jsxs as l}from"react/jsx-runtime";import*as x from"react";import{cn as i}from"../../../../helpers/index.js";import{Badge as H,Card as R,CardContent as q,Picture as E,Text as o,Heading as O,Button as U}from"../../../../components/index.js";const b=x.forwardRef(({product:e,addedQuantity:m=0,maxQuantity:P,isLoading:f=!1,showTags:k=!0,showOriginalPrice:C=!0,showMemberPrice:h=!0,onProductClick:c,onAddToCart:A,className:L,classNames:t,copy:r},N)=>{const g=P??e.quantityAvailable??void 0,s=!e.availableForSale,T=!s&&g!=null&&m>=g,w=s||T,y=m>0,S=r?.addLabel??"Add",B=r?.addedLabel??"in Cart",D=r?.unavailableLabel??"Unavailable",M=r?.memberPriceLabel??"Member price",$=r?.plusMemberPriceLabel??"Plus member price",u=s?D:y?`${m} ${B}`:S,z=e.memberPriceType==="plus-member"?$:M,d=e.name,p=e.description,F=e.image;return a(R,{ref:N,className:i("rounded-card desktop:p-6 group flex flex-col border-none p-4","bg-container-primary transition-colors duration-200","hover:bg-white",y&&"bg-white",L,t?.root),children:l(q,{className:"flex flex-1 flex-col gap-3 p-0",children:[a("a",{onClick:c?()=>c(e):void 0,href:!c&&e.listingLink?e.listingLink:void 0,rel:"noreferrer",className:i("laptop:size-[196px] mx-auto block size-[138px] overflow-hidden",c||e.listingLink?"cursor-pointer":"cursor-default",t?.image),"aria-label":d,children:a(E,{source:F,alt:d,className:"aspect-square w-full mix-blend-multiply",imgClassName:"w-full h-full object-contain"})}),l("div",{className:"flex flex-1 flex-col gap-4",children:[k&&e.tags&&e.tags.length>0&&a("div",{className:i("flex flex-wrap items-center gap-1",t?.tags),children:e.tags.map((n,v)=>n?.label?a(H,{size:"sm",variant:n.variant||"outline",promotionalType:n.promotionalType,children:n.label},v):x.isValidElement(n)&&a(x.Fragment,{children:n},v))}),l("div",{className:"flex flex-col gap-1",children:[a(O,{as:"h2",className:i("lg-desktop:text-[18px] text-info-primary line-clamp-3 text-[16px] font-bold leading-[1.2] tracking-[-0.64px]",t?.title),children:d}),p&&a(o,{as:"p",className:i("lg-desktop:text-[18px] text-info-tertiary line-clamp-2 text-[14px] font-bold leading-[1.4] tracking-[-0.28px]",t?.description),children:p})]}),l("div",{className:i("mt-auto flex flex-col gap-2",t?.priceArea),children:[l("div",{children:[a("div",{className:"flex flex-wrap items-baseline gap-1",children:s?a(o,{as:"p",className:i("lg-desktop:text-[24px] text-info-tertiary text-[20px] font-bold leading-[1.2] tracking-[-0.8px]",t?.currentPrice),children:r?.outOfStockLabel??"Sold Out"}):l(j,{children:[a(o,{as:"p",className:i("lg-desktop:text-[24px] text-info-primary text-[20px] font-bold leading-[1.2] tracking-[-0.8px]",t?.currentPrice),children:e.price}),C&&e.originalPrice&&a(o,{as:"p",className:i("text-info-tertiary text-[16px] font-bold leading-tight tracking-[-0.32px] line-through",t?.originalPrice),children:e.originalPrice})]})}),h&&!s&&e.memberPriceNote&&l(o,{as:"p",className:i("lg-desktop:text-[18px] text-marketing-1 text-[14px] font-bold leading-tight tracking-[-0.24px]",t?.memberPriceNote),children:[z," ",a("span",{className:"text-marketing-1",children:e.memberPriceNote})]})]}),a("div",{className:i(t?.buttonGroup),children:a(U,{variant:"primary",size:"lg",loading:f,disabled:w&&!f,onClick:()=>A?.(e),className:i("w-full",t?.addButton),"data-headless-type-name":"AccessoryShelf#ProductCard","data-headless-sku":e.sku,"data-headless-title-desc-button":`${d}#${p??""}#${u}`,children:u})})]})]})]})})});b.displayName="AccessoryShelf.ProductCard";var V=b;export{b as AccessoryProductCard,V as default};
2
+ //# sourceMappingURL=ProductCard.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../src/biz-components/AccessoriesShelf/components/AccessoryShelf/ProductCard.tsx"],
4
+ "sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport { cn } from '../../../../helpers/index.js'\nimport { Badge, Card, CardContent, Picture, Text, Heading, Button } from '../../../../components/index.js'\nimport type {\n AccessoryProductCardProps,\n AccessoryProductData,\n AccessoryCardSemanticName,\n AccessoryCopyConfig,\n} from './types.js'\n\nexport type { AccessoryProductCardProps, AccessoryProductData, AccessoryCardSemanticName, AccessoryCopyConfig }\n\n/**\n * AccessoryProductCard - \u914D\u4EF6\u5361\u7247\uFF08UI \u7EC4\u4EF6\uFF09\n *\n * \u7EC4\u4EF6\u804C\u8D23\uFF08UI \u5C42\uFF09\uFF1A\n * - \u6E32\u67D3\u4EA7\u54C1\u56FE\uFF081:1 object-contain\uFF09\n * - \u6E32\u67D3\u6807\u9898\u3001\u63CF\u8FF0\u3001tags\n * - \u6E32\u67D3\u73B0\u4EF7 + \u539F\u4EF7\uFF08\u5220\u9664\u7EBF\uFF09+ \u4F1A\u5458\u4EF7\uFF08\u4E0B\u65B9\u5C0F\u5B57\uFF09\n * - \u6E32\u67D3\u52A0\u8D2D\u6309\u94AE\u53CA Add / Added(n) / Unavailable \u72B6\u6001\n * - Hover \u6548\u679C\uFF08\u5361\u7247\u80CC\u666F\u53D8\u767D + \u9634\u5F71\uFF0CPC \u7AEF\uFF09\n * - Loading \u72B6\u6001\u5C55\u793A\n *\n * \u4E1A\u52A1\u804C\u8D23\uFF08\u4E1A\u52A1\u7AEF\u8D1F\u8D23\uFF09\uFF1A\n * - \u83B7\u53D6\u4EA7\u54C1\u6570\u636E\u3001\u8BA1\u7B97\u4EF7\u683C\n * - \u7EF4\u62A4 addedQuantity\u3001isLoading \u72B6\u6001\n * - \u5B9E\u73B0 onAddToCart \u903B\u8F91\uFF08\u8C03\u7528\u8D2D\u7269\u8F66 API\uFF09\n * - \u5E93\u5B58\u68C0\u67E5\u540E\u5C06 quantityAvailable \u4F20\u5165\n */\nconst AccessoryProductCard = React.forwardRef<HTMLDivElement, AccessoryProductCardProps>(\n (\n {\n product,\n addedQuantity = 0,\n maxQuantity,\n isLoading = false,\n showTags = true,\n showOriginalPrice = true,\n showMemberPrice = true,\n onProductClick,\n onAddToCart,\n className,\n classNames,\n copy,\n },\n ref\n ) => {\n // \u5E93\u5B58\u9650\u5236\uFF1A\u4F18\u5148\u53D6 maxQuantity\uFF0C\u5176\u6B21\u53D6 product.quantityAvailable\n const resolvedMax = maxQuantity ?? product.quantityAvailable ?? undefined\n const isUnavailable = !product.availableForSale\n const isAtLimit = !isUnavailable && resolvedMax != null && addedQuantity >= resolvedMax\n const isDisabled = isUnavailable || isAtLimit\n const isAdded = addedQuantity > 0\n\n // \u6587\u6848\n const addLabel = copy?.addLabel ?? 'Add'\n const addedLabel = copy?.addedLabel ?? 'in Cart'\n const unavailableLabel = copy?.unavailableLabel ?? 'Unavailable'\n const memberPriceLabel = copy?.memberPriceLabel ?? 'Member price'\n const plusMemberPriceLabel = copy?.plusMemberPriceLabel ?? 'Plus member price'\n\n const buttonLabel = isUnavailable ? unavailableLabel : isAdded ? `${addedQuantity} ${addedLabel}` : addLabel\n\n const memberLabel = product.memberPriceType === 'plus-member' ? plusMemberPriceLabel : memberPriceLabel\n\n const displayTitle = product.name\n const displayDescription = product.description\n const displayImage = product.image\n\n return (\n <Card\n ref={ref}\n className={cn(\n 'rounded-card desktop:p-6 group flex flex-col border-none p-4',\n 'bg-container-primary transition-colors duration-200',\n 'hover:bg-white',\n isAdded && 'bg-white',\n className,\n classNames?.root\n )}\n >\n <CardContent className=\"flex flex-1 flex-col gap-3 p-0\">\n {/* \u4EA7\u54C1\u56FE 1:1 */}\n <a\n onClick={onProductClick ? () => onProductClick(product) : undefined}\n href={!onProductClick && product.listingLink ? product.listingLink : undefined}\n rel=\"noreferrer\"\n className={cn(\n 'laptop:size-[196px] mx-auto block size-[138px] overflow-hidden',\n onProductClick || product.listingLink ? 'cursor-pointer' : 'cursor-default',\n classNames?.image\n )}\n aria-label={displayTitle}\n >\n <Picture\n source={displayImage}\n alt={displayTitle}\n className=\"aspect-square w-full mix-blend-multiply\"\n imgClassName=\"w-full h-full object-contain\"\n />\n </a>\n\n {/* \u5185\u5BB9\u533A */}\n <div className=\"flex flex-1 flex-col gap-4\">\n {/* Tags */}\n {showTags && product.tags && product.tags.length > 0 && (\n <div className={cn('flex flex-wrap items-center gap-1', classNames?.tags)}>\n {product.tags.map((tag: any, index) =>\n (tag as any)?.label ? (\n <Badge\n key={index}\n size=\"sm\"\n variant={(tag.variant as any) || 'outline'}\n promotionalType={tag.promotionalType}\n >\n {tag.label}\n </Badge>\n ) : (\n React.isValidElement(tag) && <React.Fragment key={index}>{tag}</React.Fragment>\n )\n )}\n </div>\n )}\n\n {/* \u6807\u9898 + \u63CF\u8FF0 */}\n <div className=\"flex flex-col gap-1\">\n <Heading\n as=\"h2\"\n className={cn(\n 'lg-desktop:text-[18px] text-info-primary line-clamp-3 text-[16px] font-bold leading-[1.2] tracking-[-0.64px]',\n classNames?.title\n )}\n >\n {displayTitle}\n </Heading>\n {displayDescription && (\n <Text\n as=\"p\"\n className={cn(\n 'lg-desktop:text-[18px] text-info-tertiary line-clamp-2 text-[14px] font-bold leading-[1.4] tracking-[-0.28px]',\n classNames?.description\n )}\n >\n {displayDescription}\n </Text>\n )}\n </div>\n\n {/* \u4EF7\u683C + \u6309\u94AE */}\n <div className={cn('mt-auto flex flex-col gap-2', classNames?.priceArea)}>\n <div>\n {/* \u73B0\u4EF7 + \u539F\u4EF7\uFF08\u5220\u9664\u7EBF\uFF09 */}\n <div className=\"flex flex-wrap items-baseline gap-1\">\n {isUnavailable ? (\n <Text\n as=\"p\"\n className={cn(\n 'lg-desktop:text-[24px] text-info-tertiary text-[20px] font-bold leading-[1.2] tracking-[-0.8px]',\n classNames?.currentPrice\n )}\n >\n {copy?.outOfStockLabel ?? 'Sold Out'}\n </Text>\n ) : (\n <>\n <Text\n as=\"p\"\n className={cn(\n 'lg-desktop:text-[24px] text-info-primary text-[20px] font-bold leading-[1.2] tracking-[-0.8px]',\n classNames?.currentPrice\n )}\n >\n {product.price}\n </Text>\n {showOriginalPrice && product.originalPrice && (\n <Text\n as=\"p\"\n className={cn(\n 'text-info-tertiary text-[16px] font-bold leading-tight tracking-[-0.32px] line-through',\n classNames?.originalPrice\n )}\n >\n {product.originalPrice}\n </Text>\n )}\n </>\n )}\n </div>\n\n {/* \u4F1A\u5458\u4EF7\u5C0F\u5B57 */}\n {showMemberPrice && !isUnavailable && product.memberPriceNote && (\n <Text\n as=\"p\"\n className={cn(\n 'lg-desktop:text-[18px] text-marketing-1 text-[14px] font-bold leading-tight tracking-[-0.24px]',\n classNames?.memberPriceNote\n )}\n >\n {memberLabel} <span className=\"text-marketing-1\">{product.memberPriceNote}</span>\n </Text>\n )}\n </div>\n\n {/* \u52A0\u8D2D\u6309\u94AE\uFF08\u5355\u4E00\uFF09 */}\n <div className={cn(classNames?.buttonGroup)}>\n <Button\n variant=\"primary\"\n size=\"lg\"\n loading={isLoading}\n disabled={isDisabled && !isLoading}\n onClick={() => onAddToCart?.(product)}\n className={cn('w-full', classNames?.addButton)}\n data-headless-type-name=\"AccessoryShelf#ProductCard\"\n data-headless-sku={product.sku}\n data-headless-title-desc-button={`${displayTitle}#${displayDescription ?? ''}#${buttonLabel}`}\n >\n {buttonLabel}\n </Button>\n </div>\n </div>\n </div>\n </CardContent>\n </Card>\n )\n }\n)\n\nAccessoryProductCard.displayName = 'AccessoryShelf.ProductCard'\n\nexport { AccessoryProductCard }\nexport default AccessoryProductCard\n"],
5
+ "mappings": "aAgGY,OAsEQ,YAAAA,EAtER,OAAAC,EA+BA,QAAAC,MA/BA,oBA9FZ,UAAYC,MAAW,QACvB,OAAS,MAAAC,MAAU,+BACnB,OAAS,SAAAC,EAAO,QAAAC,EAAM,eAAAC,EAAa,WAAAC,EAAS,QAAAC,EAAM,WAAAC,EAAS,UAAAC,MAAc,kCA2BzE,MAAMC,EAAuBT,EAAM,WACjC,CACE,CACE,QAAAU,EACA,cAAAC,EAAgB,EAChB,YAAAC,EACA,UAAAC,EAAY,GACZ,SAAAC,EAAW,GACX,kBAAAC,EAAoB,GACpB,gBAAAC,EAAkB,GAClB,eAAAC,EACA,YAAAC,EACA,UAAAC,EACA,WAAAC,EACA,KAAAC,CACF,EACAC,IACG,CAEH,MAAMC,EAAcX,GAAeF,EAAQ,mBAAqB,OAC1Dc,EAAgB,CAACd,EAAQ,iBACzBe,EAAY,CAACD,GAAiBD,GAAe,MAAQZ,GAAiBY,EACtEG,EAAaF,GAAiBC,EAC9BE,EAAUhB,EAAgB,EAG1BiB,EAAWP,GAAM,UAAY,MAC7BQ,EAAaR,GAAM,YAAc,UACjCS,EAAmBT,GAAM,kBAAoB,cAC7CU,EAAmBV,GAAM,kBAAoB,eAC7CW,EAAuBX,GAAM,sBAAwB,oBAErDY,EAAcT,EAAgBM,EAAmBH,EAAU,GAAGhB,CAAa,IAAIkB,CAAU,GAAKD,EAE9FM,EAAcxB,EAAQ,kBAAoB,cAAgBsB,EAAuBD,EAEjFI,EAAezB,EAAQ,KACvB0B,EAAqB1B,EAAQ,YAC7B2B,EAAe3B,EAAQ,MAE7B,OACEZ,EAACK,EAAA,CACC,IAAKmB,EACL,UAAWrB,EACT,+DACA,sDACA,iBACA0B,GAAW,WACXR,EACAC,GAAY,IACd,EAEA,SAAArB,EAACK,EAAA,CAAY,UAAU,iCAErB,UAAAN,EAAC,KACC,QAASmB,EAAiB,IAAMA,EAAeP,CAAO,EAAI,OAC1D,KAAM,CAACO,GAAkBP,EAAQ,YAAcA,EAAQ,YAAc,OACrE,IAAI,aACJ,UAAWT,EACT,iEACAgB,GAAkBP,EAAQ,YAAc,iBAAmB,iBAC3DU,GAAY,KACd,EACA,aAAYe,EAEZ,SAAArC,EAACO,EAAA,CACC,OAAQgC,EACR,IAAKF,EACL,UAAU,0CACV,aAAa,+BACf,EACF,EAGApC,EAAC,OAAI,UAAU,6BAEZ,UAAAe,GAAYJ,EAAQ,MAAQA,EAAQ,KAAK,OAAS,GACjDZ,EAAC,OAAI,UAAWG,EAAG,oCAAqCmB,GAAY,IAAI,EACrE,SAAAV,EAAQ,KAAK,IAAI,CAAC4B,EAAUC,IAC1BD,GAAa,MACZxC,EAACI,EAAA,CAEC,KAAK,KACL,QAAUoC,EAAI,SAAmB,UACjC,gBAAiBA,EAAI,gBAEpB,SAAAA,EAAI,OALAC,CAMP,EAEAvC,EAAM,eAAesC,CAAG,GAAKxC,EAACE,EAAM,SAAN,CAA4B,SAAAsC,GAARC,CAAY,CAElE,EACF,EAIFxC,EAAC,OAAI,UAAU,sBACb,UAAAD,EAACS,EAAA,CACC,GAAG,KACH,UAAWN,EACT,+GACAmB,GAAY,KACd,EAEC,SAAAe,EACH,EACCC,GACCtC,EAACQ,EAAA,CACC,GAAG,IACH,UAAWL,EACT,gHACAmB,GAAY,WACd,EAEC,SAAAgB,EACH,GAEJ,EAGArC,EAAC,OAAI,UAAWE,EAAG,8BAA+BmB,GAAY,SAAS,EACrE,UAAArB,EAAC,OAEC,UAAAD,EAAC,OAAI,UAAU,sCACZ,SAAA0B,EACC1B,EAACQ,EAAA,CACC,GAAG,IACH,UAAWL,EACT,kGACAmB,GAAY,YACd,EAEC,SAAAC,GAAM,iBAAmB,WAC5B,EAEAtB,EAAAF,EAAA,CACE,UAAAC,EAACQ,EAAA,CACC,GAAG,IACH,UAAWL,EACT,iGACAmB,GAAY,YACd,EAEC,SAAAV,EAAQ,MACX,EACCK,GAAqBL,EAAQ,eAC5BZ,EAACQ,EAAA,CACC,GAAG,IACH,UAAWL,EACT,yFACAmB,GAAY,aACd,EAEC,SAAAV,EAAQ,cACX,GAEJ,EAEJ,EAGCM,GAAmB,CAACQ,GAAiBd,EAAQ,iBAC5CX,EAACO,EAAA,CACC,GAAG,IACH,UAAWL,EACT,iGACAmB,GAAY,eACd,EAEC,UAAAc,EAAY,IAACpC,EAAC,QAAK,UAAU,mBAAoB,SAAAY,EAAQ,gBAAgB,GAC5E,GAEJ,EAGAZ,EAAC,OAAI,UAAWG,EAAGmB,GAAY,WAAW,EACxC,SAAAtB,EAACU,EAAA,CACC,QAAQ,UACR,KAAK,KACL,QAASK,EACT,SAAUa,GAAc,CAACb,EACzB,QAAS,IAAMK,IAAcR,CAAO,EACpC,UAAWT,EAAG,SAAUmB,GAAY,SAAS,EAC7C,0BAAwB,6BACxB,oBAAmBV,EAAQ,IAC3B,kCAAiC,GAAGyB,CAAY,IAAIC,GAAsB,EAAE,IAAIH,CAAW,GAE1F,SAAAA,EACH,EACF,GACF,GACF,GACF,EACF,CAEJ,CACF,EAEAxB,EAAqB,YAAc,6BAGnC,IAAO+B,EAAQ/B",
6
+ "names": ["Fragment", "jsx", "jsxs", "React", "cn", "Badge", "Card", "CardContent", "Picture", "Text", "Heading", "Button", "AccessoryProductCard", "product", "addedQuantity", "maxQuantity", "isLoading", "showTags", "showOriginalPrice", "showMemberPrice", "onProductClick", "onAddToCart", "className", "classNames", "copy", "ref", "resolvedMax", "isUnavailable", "isAtLimit", "isDisabled", "isAdded", "addLabel", "addedLabel", "unavailableLabel", "memberPriceLabel", "plusMemberPriceLabel", "buttonLabel", "memberLabel", "displayTitle", "displayDescription", "displayImage", "tag", "index", "ProductCard_default"]
7
+ }