@anker-in/headless-ui 1.1.33 → 1.1.34-alpha.1768470531746

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 (858) hide show
  1. package/dist/cjs/biz-components/AccordionCards/index.d.ts +3 -3
  2. package/dist/cjs/biz-components/ActiveShelf/index.d.ts +222 -0
  3. package/dist/cjs/biz-components/ActiveShelf/index.js +2 -0
  4. package/dist/cjs/biz-components/ActiveShelf/index.js.map +7 -0
  5. package/dist/cjs/biz-components/ActiveShelf/types.d.ts +22 -0
  6. package/dist/cjs/biz-components/ActiveShelf/types.js +2 -0
  7. package/dist/cjs/biz-components/ActiveShelf/types.js.map +7 -0
  8. package/dist/cjs/biz-components/AiuiProvider/index.d.ts +7 -0
  9. package/dist/cjs/biz-components/AiuiProvider/index.js +1 -1
  10. package/dist/cjs/biz-components/AiuiProvider/index.js.map +2 -2
  11. package/dist/cjs/biz-components/AnchorNavigation/index.d.ts +42 -0
  12. package/dist/cjs/biz-components/AnchorNavigation/index.js +2 -0
  13. package/dist/cjs/biz-components/AnchorNavigation/index.js.map +7 -0
  14. package/dist/cjs/biz-components/AnchorNavigation/useAnchorPosition.d.ts +2 -0
  15. package/dist/cjs/biz-components/AnchorNavigation/useAnchorPosition.js +2 -0
  16. package/dist/cjs/biz-components/AnchorNavigation/useAnchorPosition.js.map +7 -0
  17. package/dist/cjs/biz-components/AplusDesc/index.d.ts +3 -3
  18. package/dist/cjs/biz-components/BrandCardLink/BrandCardLink.d.ts +3 -3
  19. package/dist/cjs/biz-components/BrandCardLink/BrandCardLink.js +1 -1
  20. package/dist/cjs/biz-components/BrandCardLink/BrandCardLink.js.map +1 -1
  21. package/dist/cjs/biz-components/BrandEquity/BrandEquity.d.ts +3 -3
  22. package/dist/cjs/biz-components/BrandEquity/BrandEquity.js +1 -1
  23. package/dist/cjs/biz-components/BrandEquity/BrandEquity.js.map +3 -3
  24. package/dist/cjs/biz-components/BrandEquity/types.d.ts +1 -0
  25. package/dist/cjs/biz-components/BrandEquity/types.js +1 -1
  26. package/dist/cjs/biz-components/BrandEquity/types.js.map +1 -1
  27. package/dist/cjs/biz-components/BuyOneGetOneShelf/ProductCard.d.ts +74 -0
  28. package/dist/cjs/biz-components/BuyOneGetOneShelf/ProductCard.js +2 -0
  29. package/dist/cjs/biz-components/BuyOneGetOneShelf/ProductCard.js.map +7 -0
  30. package/dist/cjs/biz-components/BuyOneGetOneShelf/hooks/useBogoDataTransform.d.ts +36 -0
  31. package/dist/cjs/biz-components/BuyOneGetOneShelf/hooks/useBogoDataTransform.js +2 -0
  32. package/dist/cjs/biz-components/BuyOneGetOneShelf/hooks/useBogoDataTransform.js.map +7 -0
  33. package/dist/cjs/biz-components/BuyOneGetOneShelf/index.d.ts +193 -0
  34. package/dist/cjs/biz-components/BuyOneGetOneShelf/index.js +2 -0
  35. package/dist/cjs/biz-components/BuyOneGetOneShelf/index.js.map +7 -0
  36. package/dist/cjs/biz-components/Category/index.d.ts +3 -3
  37. package/dist/cjs/biz-components/CreativeModule/index.d.ts +3 -3
  38. package/dist/cjs/biz-components/DownLoad/index.d.ts +3 -3
  39. package/dist/cjs/biz-components/Evaluate/index.d.ts +3 -3
  40. package/dist/cjs/biz-components/EventSchedule/index.d.ts +63 -0
  41. package/dist/cjs/biz-components/EventSchedule/index.js +2 -0
  42. package/dist/cjs/biz-components/EventSchedule/index.js.map +7 -0
  43. package/dist/cjs/biz-components/Faq/Faq.d.ts +3 -3
  44. package/dist/cjs/biz-components/FeatureCards/FeatureCards.d.ts +3 -3
  45. package/dist/cjs/biz-components/FeatureShowcase/FeatureShowcase.d.ts +3 -3
  46. package/dist/cjs/biz-components/Features/index.d.ts +3 -3
  47. package/dist/cjs/biz-components/FootCharger/index.d.ts +3 -3
  48. package/dist/cjs/biz-components/FooterNavigation/index.d.ts +3 -3
  49. package/dist/cjs/biz-components/GiftBox/index.d.ts +3 -3
  50. package/dist/cjs/biz-components/Graphic/index.d.ts +3 -3
  51. package/dist/cjs/biz-components/GraphicAttractionBlock/index.d.ts +3 -3
  52. package/dist/cjs/biz-components/GraphicMore/index.d.ts +3 -3
  53. package/dist/cjs/biz-components/GraphicOverlay/GraphicOverlay.d.ts +3 -3
  54. package/dist/cjs/biz-components/HeaderNavigation/MobileSidebarMenu.js +1 -1
  55. package/dist/cjs/biz-components/HeaderNavigation/MobileSidebarMenu.js.map +3 -3
  56. package/dist/cjs/biz-components/HeaderNavigation/SidebarDropdown.js +1 -1
  57. package/dist/cjs/biz-components/HeaderNavigation/SidebarDropdown.js.map +2 -2
  58. package/dist/cjs/biz-components/HeaderNavigation/index.d.ts +3 -3
  59. package/dist/cjs/biz-components/HeroBanner/Countdown.js +1 -1
  60. package/dist/cjs/biz-components/HeroBanner/Countdown.js.map +2 -2
  61. package/dist/cjs/biz-components/HeroBanner/HeroBanner.d.ts +6 -3
  62. package/dist/cjs/biz-components/HeroBanner/HeroBanner.js +1 -1
  63. package/dist/cjs/biz-components/HeroBanner/HeroBanner.js.map +3 -3
  64. package/dist/cjs/biz-components/IPRedirect/RegionBanner.d.ts +37 -0
  65. package/dist/cjs/biz-components/IPRedirect/RegionBanner.js +60 -0
  66. package/dist/cjs/biz-components/IPRedirect/RegionBanner.js.map +7 -0
  67. package/dist/cjs/biz-components/IPRedirect/RegionSelectorModal.d.ts +47 -0
  68. package/dist/cjs/biz-components/IPRedirect/RegionSelectorModal.js +69 -0
  69. package/dist/cjs/biz-components/IPRedirect/RegionSelectorModal.js.map +7 -0
  70. package/dist/cjs/biz-components/IPRedirect/index.d.ts +9 -0
  71. package/dist/cjs/biz-components/IPRedirect/index.js +2 -0
  72. package/dist/cjs/biz-components/IPRedirect/index.js.map +7 -0
  73. package/dist/cjs/biz-components/IPRedirect/type.d.ts +36 -0
  74. package/dist/cjs/biz-components/IPRedirect/type.js +2 -0
  75. package/dist/cjs/biz-components/IPRedirect/type.js.map +7 -0
  76. package/dist/cjs/biz-components/IPRedirect/useAutoRedirect.d.ts +66 -0
  77. package/dist/cjs/biz-components/IPRedirect/useAutoRedirect.js +2 -0
  78. package/dist/cjs/biz-components/IPRedirect/useAutoRedirect.js.map +7 -0
  79. package/dist/cjs/biz-components/IPRedirect/useDetectedRegionRedirect.d.ts +51 -0
  80. package/dist/cjs/biz-components/IPRedirect/useDetectedRegionRedirect.js +2 -0
  81. package/dist/cjs/biz-components/IPRedirect/useDetectedRegionRedirect.js.map +7 -0
  82. package/dist/cjs/biz-components/IPRedirect/useIPRedirect.d.ts +42 -0
  83. package/dist/cjs/biz-components/IPRedirect/useIPRedirect.js +2 -0
  84. package/dist/cjs/biz-components/IPRedirect/useIPRedirect.js.map +7 -0
  85. package/dist/cjs/biz-components/IPRedirect/useRedirectBanner.d.ts +108 -0
  86. package/dist/cjs/biz-components/IPRedirect/useRedirectBanner.js +2 -0
  87. package/dist/cjs/biz-components/IPRedirect/useRedirectBanner.js.map +7 -0
  88. package/dist/cjs/biz-components/IPRedirect/useRegionRedirectManager.d.ts +152 -0
  89. package/dist/cjs/biz-components/IPRedirect/useRegionRedirectManager.js +2 -0
  90. package/dist/cjs/biz-components/IPRedirect/useRegionRedirectManager.js.map +7 -0
  91. package/dist/cjs/biz-components/IPRedirect/useSavedRegionRedirect.d.ts +51 -0
  92. package/dist/cjs/biz-components/IPRedirect/useSavedRegionRedirect.js +2 -0
  93. package/dist/cjs/biz-components/IPRedirect/useSavedRegionRedirect.js.map +7 -0
  94. package/dist/cjs/biz-components/IPRedirect/utils.d.ts +222 -0
  95. package/dist/cjs/biz-components/IPRedirect/utils.js +2 -0
  96. package/dist/cjs/biz-components/IPRedirect/utils.js.map +7 -0
  97. package/dist/cjs/biz-components/ImageOverlayShelf/index.d.ts +130 -0
  98. package/dist/cjs/biz-components/ImageOverlayShelf/index.js +2 -0
  99. package/dist/cjs/biz-components/ImageOverlayShelf/index.js.map +7 -0
  100. package/dist/cjs/biz-components/ImageTextFeature/ImageTextFeature.d.ts +3 -3
  101. package/dist/cjs/biz-components/ImageTextFeature/ImageTextFeature.js +1 -1
  102. package/dist/cjs/biz-components/ImageTextFeature/ImageTextFeature.js.map +3 -3
  103. package/dist/cjs/biz-components/ImageWithText/ImageWithText.d.ts +3 -3
  104. package/dist/cjs/biz-components/Ksp/index.d.ts +3 -3
  105. package/dist/cjs/biz-components/Listing/components/PaidShipping/index.d.ts +4 -4
  106. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.d.ts +3 -3
  107. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.d.ts +3 -3
  108. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.d.ts +3 -3
  109. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.d.ts +3 -3
  110. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.d.ts +3 -3
  111. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.d.ts +3 -3
  112. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/index.d.ts +3 -3
  113. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductSummary/index.d.ts +3 -3
  114. package/dist/cjs/biz-components/Listing/components/PurchaseBar/index.d.ts +3 -3
  115. package/dist/cjs/biz-components/Marquee/Marquee.d.ts +3 -3
  116. package/dist/cjs/biz-components/Marquee/Marquee.js +1 -1
  117. package/dist/cjs/biz-components/Marquee/Marquee.js.map +3 -3
  118. package/dist/cjs/biz-components/MarqueeReview/index.d.ts +3 -3
  119. package/dist/cjs/biz-components/Media/index.d.ts +32 -0
  120. package/dist/cjs/biz-components/Media/index.js +2 -0
  121. package/dist/cjs/biz-components/Media/index.js.map +7 -0
  122. package/dist/cjs/biz-components/MediaPlayerBase/index.d.ts +3 -3
  123. package/dist/cjs/biz-components/MediaPlayerMulti/index.d.ts +3 -3
  124. package/dist/cjs/biz-components/MediaPlayerSticky/index.d.ts +4 -4
  125. package/dist/cjs/biz-components/MediaPlayerSticky/types.d.ts +1 -0
  126. package/dist/cjs/biz-components/MediaPlayerSticky/types.js +1 -1
  127. package/dist/cjs/biz-components/MediaPlayerSticky/types.js.map +1 -1
  128. package/dist/cjs/biz-components/MediaSceneSwitcher/MediaSceneSwitcher.d.ts +3 -3
  129. package/dist/cjs/biz-components/MediaShelf/index.d.ts +216 -0
  130. package/dist/cjs/biz-components/MediaShelf/index.js +2 -0
  131. package/dist/cjs/biz-components/MediaShelf/index.js.map +7 -0
  132. package/dist/cjs/biz-components/MediaShelf/types.d.ts +22 -0
  133. package/dist/cjs/biz-components/MediaShelf/types.js +2 -0
  134. package/dist/cjs/biz-components/MediaShelf/types.js.map +7 -0
  135. package/dist/cjs/biz-components/MemberEquity/index.d.ts +3 -3
  136. package/dist/cjs/biz-components/MiniCart/index.d.ts +88 -0
  137. package/dist/cjs/biz-components/MiniCart/index.js +2 -0
  138. package/dist/cjs/biz-components/MiniCart/index.js.map +7 -0
  139. package/dist/cjs/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.d.ts +3 -3
  140. package/dist/cjs/biz-components/ProductCompare/index.d.ts +3 -3
  141. package/dist/cjs/biz-components/ProductHero/ProductHero.d.ts +3 -3
  142. package/dist/cjs/biz-components/ProductNav/ProductNav.d.ts +3 -3
  143. package/dist/cjs/biz-components/PromotionalBar/index.d.ts +49 -0
  144. package/dist/cjs/biz-components/PromotionalBar/index.js +2 -0
  145. package/dist/cjs/biz-components/PromotionalBar/index.js.map +7 -0
  146. package/dist/cjs/biz-components/SecondaryBanner/index.d.ts +69 -0
  147. package/dist/cjs/biz-components/SecondaryBanner/index.js +2 -0
  148. package/dist/cjs/biz-components/SecondaryBanner/index.js.map +7 -0
  149. package/dist/cjs/biz-components/SelectStore/index.d.ts +3 -3
  150. package/dist/cjs/biz-components/ShelfDisplay/index.d.ts +3 -3
  151. package/dist/cjs/biz-components/ShelfDisplay/shelfDisplay.d.ts +0 -11
  152. package/dist/cjs/biz-components/ShelfDisplay/shelfDisplay.js +1 -1
  153. package/dist/cjs/biz-components/ShelfDisplay/shelfDisplay.js.map +3 -3
  154. package/dist/cjs/biz-components/Slogan/index.d.ts +3 -3
  155. package/dist/cjs/biz-components/Spacer/index.d.ts +3 -3
  156. package/dist/cjs/biz-components/Specs/index.d.ts +3 -3
  157. package/dist/cjs/biz-components/Specs/index.js +1 -1
  158. package/dist/cjs/biz-components/Specs/index.js.map +2 -2
  159. package/dist/cjs/biz-components/SpecsComparison/SpecsComparison.d.ts +3 -3
  160. package/dist/cjs/biz-components/TabWithImage/TabWithImage.d.ts +3 -3
  161. package/dist/cjs/biz-components/Tabs/Tabs.d.ts +3 -3
  162. package/dist/cjs/biz-components/TabsGroup/index.d.ts +3 -3
  163. package/dist/cjs/biz-components/TabsWithMedia/TabsWithMedia.d.ts +3 -3
  164. package/dist/cjs/biz-components/ThreeDCarousel/ThreeDCarousel.d.ts +3 -3
  165. package/dist/cjs/biz-components/Title/Countdown.d.ts +14 -0
  166. package/dist/cjs/biz-components/Title/Countdown.js +2 -0
  167. package/dist/cjs/biz-components/Title/Countdown.js.map +7 -0
  168. package/dist/cjs/biz-components/Title/index.d.ts +3 -3
  169. package/dist/cjs/biz-components/Title/index.js +1 -1
  170. package/dist/cjs/biz-components/Title/index.js.map +3 -3
  171. package/dist/cjs/biz-components/Title/types.d.ts +55 -0
  172. package/dist/cjs/biz-components/Title/types.js +1 -1
  173. package/dist/cjs/biz-components/Title/types.js.map +1 -1
  174. package/dist/cjs/biz-components/VideoFeature/VideoFeature.d.ts +3 -3
  175. package/dist/cjs/biz-components/WheelLottery/BaseModal.d.ts +55 -0
  176. package/dist/cjs/biz-components/WheelLottery/BaseModal.js +12 -0
  177. package/dist/cjs/biz-components/WheelLottery/BaseModal.js.map +7 -0
  178. package/dist/cjs/biz-components/WheelLottery/ChanceMethods.d.ts +30 -0
  179. package/dist/cjs/biz-components/WheelLottery/ChanceMethods.js +2 -0
  180. package/dist/cjs/biz-components/WheelLottery/ChanceMethods.js.map +7 -0
  181. package/dist/cjs/biz-components/WheelLottery/ErrorModal.d.ts +42 -0
  182. package/dist/cjs/biz-components/WheelLottery/ErrorModal.js +2 -0
  183. package/dist/cjs/biz-components/WheelLottery/ErrorModal.js.map +7 -0
  184. package/dist/cjs/biz-components/WheelLottery/MyRewardsModal.d.ts +91 -0
  185. package/dist/cjs/biz-components/WheelLottery/MyRewardsModal.js +2 -0
  186. package/dist/cjs/biz-components/WheelLottery/MyRewardsModal.js.map +7 -0
  187. package/dist/cjs/biz-components/WheelLottery/PrizePool.d.ts +26 -0
  188. package/dist/cjs/biz-components/WheelLottery/PrizePool.js +2 -0
  189. package/dist/cjs/biz-components/WheelLottery/PrizePool.js.map +7 -0
  190. package/dist/cjs/biz-components/WheelLottery/RulesModal.d.ts +43 -0
  191. package/dist/cjs/biz-components/WheelLottery/RulesModal.js +2 -0
  192. package/dist/cjs/biz-components/WheelLottery/RulesModal.js.map +7 -0
  193. package/dist/cjs/biz-components/WheelLottery/ShareModal.d.ts +74 -0
  194. package/dist/cjs/biz-components/WheelLottery/ShareModal.js +2 -0
  195. package/dist/cjs/biz-components/WheelLottery/ShareModal.js.map +7 -0
  196. package/dist/cjs/biz-components/WheelLottery/Wheel.d.ts +27 -0
  197. package/dist/cjs/biz-components/WheelLottery/Wheel.js +2 -0
  198. package/dist/cjs/biz-components/WheelLottery/Wheel.js.map +7 -0
  199. package/dist/cjs/biz-components/WheelLottery/WinnerModal.d.ts +25 -0
  200. package/dist/cjs/biz-components/WheelLottery/WinnerModal.js +2 -0
  201. package/dist/cjs/biz-components/WheelLottery/WinnerModal.js.map +7 -0
  202. package/dist/cjs/biz-components/WheelLottery/index.d.ts +52 -0
  203. package/dist/cjs/biz-components/WheelLottery/index.js +2 -0
  204. package/dist/cjs/biz-components/WheelLottery/index.js.map +7 -0
  205. package/dist/cjs/biz-components/WheelLottery/types.d.ts +1193 -0
  206. package/dist/cjs/biz-components/WheelLottery/types.js +2 -0
  207. package/dist/cjs/biz-components/WheelLottery/types.js.map +7 -0
  208. package/dist/cjs/biz-components/WhyChoose/WhyChoose.d.ts +3 -3
  209. package/dist/cjs/biz-components/index.d.ts +30 -2
  210. package/dist/cjs/biz-components/index.js +1 -1
  211. package/dist/cjs/biz-components/index.js.map +3 -3
  212. package/dist/cjs/components/badge.js +1 -1
  213. package/dist/cjs/components/badge.js.map +2 -2
  214. package/dist/cjs/components/index.d.ts +2 -0
  215. package/dist/cjs/components/index.js +1 -1
  216. package/dist/cjs/components/index.js.map +3 -3
  217. package/dist/cjs/components/paginator.d.ts +12 -0
  218. package/dist/cjs/components/paginator.js +7 -0
  219. package/dist/cjs/components/paginator.js.map +7 -0
  220. package/dist/cjs/components/progress.d.ts +46 -0
  221. package/dist/cjs/components/progress.js +2 -0
  222. package/dist/cjs/components/progress.js.map +7 -0
  223. package/dist/cjs/components/tabs.d.ts +2 -1
  224. package/dist/cjs/components/tabs.js +1 -1
  225. package/dist/cjs/components/tabs.js.map +2 -2
  226. package/dist/cjs/helpers/index.d.ts +1 -0
  227. package/dist/cjs/helpers/index.js +1 -1
  228. package/dist/cjs/helpers/index.js.map +3 -3
  229. package/dist/cjs/helpers/priceFormatting.d.ts +11 -0
  230. package/dist/cjs/helpers/priceFormatting.js +2 -0
  231. package/dist/cjs/helpers/priceFormatting.js.map +7 -0
  232. package/dist/cjs/shared/Styles.d.ts +5 -4
  233. package/dist/cjs/shared/Styles.js +1 -1
  234. package/dist/cjs/shared/Styles.js.map +3 -3
  235. package/dist/cjs/types/props.d.ts +0 -3
  236. package/dist/cjs/types/props.js +1 -1
  237. package/dist/cjs/types/props.js.map +1 -1
  238. package/dist/esm/biz-components/AccordionCards/index.d.ts +3 -3
  239. package/dist/esm/biz-components/ActiveShelf/index.d.ts +222 -0
  240. package/dist/esm/biz-components/ActiveShelf/index.js +2 -0
  241. package/dist/esm/biz-components/ActiveShelf/index.js.map +7 -0
  242. package/dist/esm/biz-components/ActiveShelf/types.d.ts +22 -0
  243. package/dist/esm/biz-components/ActiveShelf/types.js +1 -0
  244. package/dist/esm/biz-components/ActiveShelf/types.js.map +7 -0
  245. package/dist/esm/biz-components/AiuiProvider/index.d.ts +7 -0
  246. package/dist/esm/biz-components/AiuiProvider/index.js +1 -1
  247. package/dist/esm/biz-components/AiuiProvider/index.js.map +2 -2
  248. package/dist/esm/biz-components/AnchorNavigation/index.d.ts +42 -0
  249. package/dist/esm/biz-components/AnchorNavigation/index.js +2 -0
  250. package/dist/esm/biz-components/AnchorNavigation/index.js.map +7 -0
  251. package/dist/esm/biz-components/AnchorNavigation/useAnchorPosition.d.ts +2 -0
  252. package/dist/esm/biz-components/AnchorNavigation/useAnchorPosition.js +2 -0
  253. package/dist/esm/biz-components/AnchorNavigation/useAnchorPosition.js.map +7 -0
  254. package/dist/esm/biz-components/AplusDesc/index.d.ts +3 -3
  255. package/dist/esm/biz-components/BrandCardLink/BrandCardLink.d.ts +3 -3
  256. package/dist/esm/biz-components/BrandCardLink/BrandCardLink.js +1 -1
  257. package/dist/esm/biz-components/BrandCardLink/BrandCardLink.js.map +1 -1
  258. package/dist/esm/biz-components/BrandEquity/BrandEquity.d.ts +3 -3
  259. package/dist/esm/biz-components/BrandEquity/BrandEquity.js +1 -1
  260. package/dist/esm/biz-components/BrandEquity/BrandEquity.js.map +3 -3
  261. package/dist/esm/biz-components/BrandEquity/types.d.ts +1 -0
  262. package/dist/esm/biz-components/BuyOneGetOneShelf/ProductCard.d.ts +74 -0
  263. package/dist/esm/biz-components/BuyOneGetOneShelf/ProductCard.js +2 -0
  264. package/dist/esm/biz-components/BuyOneGetOneShelf/ProductCard.js.map +7 -0
  265. package/dist/esm/biz-components/BuyOneGetOneShelf/hooks/useBogoDataTransform.d.ts +36 -0
  266. package/dist/esm/biz-components/BuyOneGetOneShelf/hooks/useBogoDataTransform.js +2 -0
  267. package/dist/esm/biz-components/BuyOneGetOneShelf/hooks/useBogoDataTransform.js.map +7 -0
  268. package/dist/esm/biz-components/BuyOneGetOneShelf/index.d.ts +193 -0
  269. package/dist/esm/biz-components/BuyOneGetOneShelf/index.js +2 -0
  270. package/dist/esm/biz-components/BuyOneGetOneShelf/index.js.map +7 -0
  271. package/dist/esm/biz-components/Category/index.d.ts +3 -3
  272. package/dist/esm/biz-components/CreativeModule/index.d.ts +3 -3
  273. package/dist/esm/biz-components/DownLoad/index.d.ts +3 -3
  274. package/dist/esm/biz-components/Evaluate/index.d.ts +3 -3
  275. package/dist/esm/biz-components/EventSchedule/index.d.ts +63 -0
  276. package/dist/esm/biz-components/EventSchedule/index.js +2 -0
  277. package/dist/esm/biz-components/EventSchedule/index.js.map +7 -0
  278. package/dist/esm/biz-components/Faq/Faq.d.ts +3 -3
  279. package/dist/esm/biz-components/FeatureCards/FeatureCards.d.ts +3 -3
  280. package/dist/esm/biz-components/FeatureShowcase/FeatureShowcase.d.ts +3 -3
  281. package/dist/esm/biz-components/Features/index.d.ts +3 -3
  282. package/dist/esm/biz-components/FootCharger/index.d.ts +3 -3
  283. package/dist/esm/biz-components/FooterNavigation/index.d.ts +3 -3
  284. package/dist/esm/biz-components/GiftBox/index.d.ts +3 -3
  285. package/dist/esm/biz-components/Graphic/index.d.ts +3 -3
  286. package/dist/esm/biz-components/GraphicAttractionBlock/index.d.ts +3 -3
  287. package/dist/esm/biz-components/GraphicMore/index.d.ts +3 -3
  288. package/dist/esm/biz-components/GraphicOverlay/GraphicOverlay.d.ts +3 -3
  289. package/dist/esm/biz-components/HeaderNavigation/MobileSidebarMenu.js +1 -1
  290. package/dist/esm/biz-components/HeaderNavigation/MobileSidebarMenu.js.map +3 -3
  291. package/dist/esm/biz-components/HeaderNavigation/SidebarDropdown.js +1 -1
  292. package/dist/esm/biz-components/HeaderNavigation/SidebarDropdown.js.map +2 -2
  293. package/dist/esm/biz-components/HeaderNavigation/index.d.ts +3 -3
  294. package/dist/esm/biz-components/HeroBanner/Countdown.js +1 -1
  295. package/dist/esm/biz-components/HeroBanner/Countdown.js.map +2 -2
  296. package/dist/esm/biz-components/HeroBanner/HeroBanner.d.ts +6 -3
  297. package/dist/esm/biz-components/HeroBanner/HeroBanner.js +1 -1
  298. package/dist/esm/biz-components/HeroBanner/HeroBanner.js.map +3 -3
  299. package/dist/esm/biz-components/IPRedirect/RegionBanner.d.ts +37 -0
  300. package/dist/esm/biz-components/IPRedirect/RegionBanner.js +60 -0
  301. package/dist/esm/biz-components/IPRedirect/RegionBanner.js.map +7 -0
  302. package/dist/esm/biz-components/IPRedirect/RegionSelectorModal.d.ts +47 -0
  303. package/dist/esm/biz-components/IPRedirect/RegionSelectorModal.js +69 -0
  304. package/dist/esm/biz-components/IPRedirect/RegionSelectorModal.js.map +7 -0
  305. package/dist/esm/biz-components/IPRedirect/index.d.ts +9 -0
  306. package/dist/esm/biz-components/IPRedirect/index.js +2 -0
  307. package/dist/esm/biz-components/IPRedirect/index.js.map +7 -0
  308. package/dist/esm/biz-components/IPRedirect/type.d.ts +36 -0
  309. package/dist/esm/biz-components/IPRedirect/type.js +1 -0
  310. package/dist/esm/biz-components/IPRedirect/type.js.map +7 -0
  311. package/dist/esm/biz-components/IPRedirect/useAutoRedirect.d.ts +66 -0
  312. package/dist/esm/biz-components/IPRedirect/useAutoRedirect.js +2 -0
  313. package/dist/esm/biz-components/IPRedirect/useAutoRedirect.js.map +7 -0
  314. package/dist/esm/biz-components/IPRedirect/useDetectedRegionRedirect.d.ts +51 -0
  315. package/dist/esm/biz-components/IPRedirect/useDetectedRegionRedirect.js +2 -0
  316. package/dist/esm/biz-components/IPRedirect/useDetectedRegionRedirect.js.map +7 -0
  317. package/dist/esm/biz-components/IPRedirect/useIPRedirect.d.ts +42 -0
  318. package/dist/esm/biz-components/IPRedirect/useIPRedirect.js +2 -0
  319. package/dist/esm/biz-components/IPRedirect/useIPRedirect.js.map +7 -0
  320. package/dist/esm/biz-components/IPRedirect/useRedirectBanner.d.ts +108 -0
  321. package/dist/esm/biz-components/IPRedirect/useRedirectBanner.js +2 -0
  322. package/dist/esm/biz-components/IPRedirect/useRedirectBanner.js.map +7 -0
  323. package/dist/esm/biz-components/IPRedirect/useRegionRedirectManager.d.ts +152 -0
  324. package/dist/esm/biz-components/IPRedirect/useRegionRedirectManager.js +2 -0
  325. package/dist/esm/biz-components/IPRedirect/useRegionRedirectManager.js.map +7 -0
  326. package/dist/esm/biz-components/IPRedirect/useSavedRegionRedirect.d.ts +51 -0
  327. package/dist/esm/biz-components/IPRedirect/useSavedRegionRedirect.js +2 -0
  328. package/dist/esm/biz-components/IPRedirect/useSavedRegionRedirect.js.map +7 -0
  329. package/dist/esm/biz-components/IPRedirect/utils.d.ts +222 -0
  330. package/dist/esm/biz-components/IPRedirect/utils.js +2 -0
  331. package/dist/esm/biz-components/IPRedirect/utils.js.map +7 -0
  332. package/dist/esm/biz-components/ImageOverlayShelf/index.d.ts +130 -0
  333. package/dist/esm/biz-components/ImageOverlayShelf/index.js +2 -0
  334. package/dist/esm/biz-components/ImageOverlayShelf/index.js.map +7 -0
  335. package/dist/esm/biz-components/ImageTextFeature/ImageTextFeature.d.ts +3 -3
  336. package/dist/esm/biz-components/ImageTextFeature/ImageTextFeature.js +1 -1
  337. package/dist/esm/biz-components/ImageTextFeature/ImageTextFeature.js.map +3 -3
  338. package/dist/esm/biz-components/ImageWithText/ImageWithText.d.ts +3 -3
  339. package/dist/esm/biz-components/Ksp/index.d.ts +3 -3
  340. package/dist/esm/biz-components/Listing/components/PaidShipping/index.d.ts +4 -4
  341. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.d.ts +3 -3
  342. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.d.ts +3 -3
  343. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.d.ts +3 -3
  344. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.d.ts +3 -3
  345. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.d.ts +3 -3
  346. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.d.ts +3 -3
  347. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/index.d.ts +3 -3
  348. package/dist/esm/biz-components/Listing/components/ProductCard/ProductSummary/index.d.ts +3 -3
  349. package/dist/esm/biz-components/Listing/components/PurchaseBar/index.d.ts +3 -3
  350. package/dist/esm/biz-components/Marquee/Marquee.d.ts +3 -3
  351. package/dist/esm/biz-components/Marquee/Marquee.js +1 -1
  352. package/dist/esm/biz-components/Marquee/Marquee.js.map +3 -3
  353. package/dist/esm/biz-components/MarqueeReview/index.d.ts +3 -3
  354. package/dist/esm/biz-components/Media/index.d.ts +32 -0
  355. package/dist/esm/biz-components/Media/index.js +2 -0
  356. package/dist/esm/biz-components/Media/index.js.map +7 -0
  357. package/dist/esm/biz-components/MediaPlayerBase/index.d.ts +3 -3
  358. package/dist/esm/biz-components/MediaPlayerMulti/index.d.ts +3 -3
  359. package/dist/esm/biz-components/MediaPlayerSticky/index.d.ts +4 -4
  360. package/dist/esm/biz-components/MediaPlayerSticky/types.d.ts +1 -0
  361. package/dist/esm/biz-components/MediaSceneSwitcher/MediaSceneSwitcher.d.ts +3 -3
  362. package/dist/esm/biz-components/MediaShelf/index.d.ts +216 -0
  363. package/dist/esm/biz-components/MediaShelf/index.js +2 -0
  364. package/dist/esm/biz-components/MediaShelf/index.js.map +7 -0
  365. package/dist/esm/biz-components/MediaShelf/types.d.ts +22 -0
  366. package/dist/esm/biz-components/MediaShelf/types.js +1 -0
  367. package/dist/esm/biz-components/MediaShelf/types.js.map +7 -0
  368. package/dist/esm/biz-components/MemberEquity/index.d.ts +3 -3
  369. package/dist/esm/biz-components/MiniCart/index.d.ts +88 -0
  370. package/dist/esm/biz-components/MiniCart/index.js +2 -0
  371. package/dist/esm/biz-components/MiniCart/index.js.map +7 -0
  372. package/dist/esm/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.d.ts +3 -3
  373. package/dist/esm/biz-components/ProductCompare/index.d.ts +3 -3
  374. package/dist/esm/biz-components/ProductHero/ProductHero.d.ts +3 -3
  375. package/dist/esm/biz-components/ProductNav/ProductNav.d.ts +3 -3
  376. package/dist/esm/biz-components/PromotionalBar/index.d.ts +49 -0
  377. package/dist/esm/biz-components/PromotionalBar/index.js +2 -0
  378. package/dist/esm/biz-components/PromotionalBar/index.js.map +7 -0
  379. package/dist/esm/biz-components/SecondaryBanner/index.d.ts +69 -0
  380. package/dist/esm/biz-components/SecondaryBanner/index.js +2 -0
  381. package/dist/esm/biz-components/SecondaryBanner/index.js.map +7 -0
  382. package/dist/esm/biz-components/SelectStore/index.d.ts +3 -3
  383. package/dist/esm/biz-components/ShelfDisplay/index.d.ts +3 -3
  384. package/dist/esm/biz-components/ShelfDisplay/shelfDisplay.d.ts +0 -11
  385. package/dist/esm/biz-components/ShelfDisplay/shelfDisplay.js +1 -1
  386. package/dist/esm/biz-components/ShelfDisplay/shelfDisplay.js.map +3 -3
  387. package/dist/esm/biz-components/Slogan/index.d.ts +3 -3
  388. package/dist/esm/biz-components/Spacer/index.d.ts +3 -3
  389. package/dist/esm/biz-components/Specs/index.d.ts +3 -3
  390. package/dist/esm/biz-components/Specs/index.js +1 -1
  391. package/dist/esm/biz-components/Specs/index.js.map +2 -2
  392. package/dist/esm/biz-components/SpecsComparison/SpecsComparison.d.ts +3 -3
  393. package/dist/esm/biz-components/TabWithImage/TabWithImage.d.ts +3 -3
  394. package/dist/esm/biz-components/Tabs/Tabs.d.ts +3 -3
  395. package/dist/esm/biz-components/TabsGroup/index.d.ts +3 -3
  396. package/dist/esm/biz-components/TabsWithMedia/TabsWithMedia.d.ts +3 -3
  397. package/dist/esm/biz-components/ThreeDCarousel/ThreeDCarousel.d.ts +3 -3
  398. package/dist/esm/biz-components/Title/Countdown.d.ts +14 -0
  399. package/dist/esm/biz-components/Title/Countdown.js +2 -0
  400. package/dist/esm/biz-components/Title/Countdown.js.map +7 -0
  401. package/dist/esm/biz-components/Title/index.d.ts +3 -3
  402. package/dist/esm/biz-components/Title/index.js +1 -1
  403. package/dist/esm/biz-components/Title/index.js.map +3 -3
  404. package/dist/esm/biz-components/Title/types.d.ts +55 -0
  405. package/dist/esm/biz-components/VideoFeature/VideoFeature.d.ts +3 -3
  406. package/dist/esm/biz-components/WheelLottery/BaseModal.d.ts +55 -0
  407. package/dist/esm/biz-components/WheelLottery/BaseModal.js +12 -0
  408. package/dist/esm/biz-components/WheelLottery/BaseModal.js.map +7 -0
  409. package/dist/esm/biz-components/WheelLottery/ChanceMethods.d.ts +30 -0
  410. package/dist/esm/biz-components/WheelLottery/ChanceMethods.js +2 -0
  411. package/dist/esm/biz-components/WheelLottery/ChanceMethods.js.map +7 -0
  412. package/dist/esm/biz-components/WheelLottery/ErrorModal.d.ts +42 -0
  413. package/dist/esm/biz-components/WheelLottery/ErrorModal.js +2 -0
  414. package/dist/esm/biz-components/WheelLottery/ErrorModal.js.map +7 -0
  415. package/dist/esm/biz-components/WheelLottery/MyRewardsModal.d.ts +91 -0
  416. package/dist/esm/biz-components/WheelLottery/MyRewardsModal.js +2 -0
  417. package/dist/esm/biz-components/WheelLottery/MyRewardsModal.js.map +7 -0
  418. package/dist/esm/biz-components/WheelLottery/PrizePool.d.ts +26 -0
  419. package/dist/esm/biz-components/WheelLottery/PrizePool.js +2 -0
  420. package/dist/esm/biz-components/WheelLottery/PrizePool.js.map +7 -0
  421. package/dist/esm/biz-components/WheelLottery/RulesModal.d.ts +43 -0
  422. package/dist/esm/biz-components/WheelLottery/RulesModal.js +2 -0
  423. package/dist/esm/biz-components/WheelLottery/RulesModal.js.map +7 -0
  424. package/dist/esm/biz-components/WheelLottery/ShareModal.d.ts +74 -0
  425. package/dist/esm/biz-components/WheelLottery/ShareModal.js +2 -0
  426. package/dist/esm/biz-components/WheelLottery/ShareModal.js.map +7 -0
  427. package/dist/esm/biz-components/WheelLottery/Wheel.d.ts +27 -0
  428. package/dist/esm/biz-components/WheelLottery/Wheel.js +2 -0
  429. package/dist/esm/biz-components/WheelLottery/Wheel.js.map +7 -0
  430. package/dist/esm/biz-components/WheelLottery/WinnerModal.d.ts +25 -0
  431. package/dist/esm/biz-components/WheelLottery/WinnerModal.js +2 -0
  432. package/dist/esm/biz-components/WheelLottery/WinnerModal.js.map +7 -0
  433. package/dist/esm/biz-components/WheelLottery/index.d.ts +52 -0
  434. package/dist/esm/biz-components/WheelLottery/index.js +2 -0
  435. package/dist/esm/biz-components/WheelLottery/index.js.map +7 -0
  436. package/dist/esm/biz-components/WheelLottery/types.d.ts +1193 -0
  437. package/dist/esm/biz-components/WheelLottery/types.js +2 -0
  438. package/dist/esm/biz-components/WheelLottery/types.js.map +7 -0
  439. package/dist/esm/biz-components/WhyChoose/WhyChoose.d.ts +3 -3
  440. package/dist/esm/biz-components/index.d.ts +30 -2
  441. package/dist/esm/biz-components/index.js +1 -1
  442. package/dist/esm/biz-components/index.js.map +3 -3
  443. package/dist/esm/components/badge.js +1 -1
  444. package/dist/esm/components/badge.js.map +2 -2
  445. package/dist/esm/components/index.d.ts +2 -0
  446. package/dist/esm/components/index.js +1 -1
  447. package/dist/esm/components/index.js.map +2 -2
  448. package/dist/esm/components/paginator.d.ts +12 -0
  449. package/dist/esm/components/paginator.js +7 -0
  450. package/dist/esm/components/paginator.js.map +7 -0
  451. package/dist/esm/components/progress.d.ts +46 -0
  452. package/dist/esm/components/progress.js +2 -0
  453. package/dist/esm/components/progress.js.map +7 -0
  454. package/dist/esm/components/tabs.d.ts +2 -1
  455. package/dist/esm/components/tabs.js +1 -1
  456. package/dist/esm/components/tabs.js.map +2 -2
  457. package/dist/esm/helpers/index.d.ts +1 -0
  458. package/dist/esm/helpers/index.js +1 -1
  459. package/dist/esm/helpers/index.js.map +3 -3
  460. package/dist/esm/helpers/priceFormatting.d.ts +11 -0
  461. package/dist/esm/helpers/priceFormatting.js +2 -0
  462. package/dist/esm/helpers/priceFormatting.js.map +7 -0
  463. package/dist/esm/shared/Styles.d.ts +5 -4
  464. package/dist/esm/shared/Styles.js +1 -1
  465. package/dist/esm/shared/Styles.js.map +3 -3
  466. package/dist/esm/types/props.d.ts +0 -3
  467. package/dist/tokens/anker.css +1 -0
  468. package/dist/tokens/base.css +12 -3
  469. package/dist/tokens/eufy.css +1 -0
  470. package/dist/tokens/solix.css +1 -0
  471. package/dist/tokens/soundcore.css +4 -3
  472. package/package.json +8 -3
  473. package/style.css +4929 -121
  474. package/tailwind.config.js +20 -2
  475. package/dist/cjs/stories/HeroBanner.stories.d.ts +0 -28
  476. package/dist/cjs/stories/HeroBanner.stories.js +0 -11
  477. package/dist/cjs/stories/HeroBanner.stories.js.map +0 -7
  478. package/dist/cjs/stories/InlineVideo.stories.d.ts +0 -37
  479. package/dist/cjs/stories/InlineVideo.stories.js +0 -164
  480. package/dist/cjs/stories/InlineVideo.stories.js.map +0 -7
  481. package/dist/cjs/stories/MarqueeReview.stories.d.ts +0 -72
  482. package/dist/cjs/stories/MarqueeReview.stories.js +0 -19
  483. package/dist/cjs/stories/MarqueeReview.stories.js.map +0 -7
  484. package/dist/cjs/stories/MediaSceneSwitcher.stories.d.ts +0 -47
  485. package/dist/cjs/stories/MediaSceneSwitcher.stories.js +0 -2
  486. package/dist/cjs/stories/MediaSceneSwitcher.stories.js.map +0 -7
  487. package/dist/cjs/stories/MemberEquity.stories.d.ts +0 -9
  488. package/dist/cjs/stories/MemberEquity.stories.js +0 -31
  489. package/dist/cjs/stories/MemberEquity.stories.js.map +0 -7
  490. package/dist/cjs/stories/MultiLayoutGraphicBlock.stories.d.ts +0 -9
  491. package/dist/cjs/stories/MultiLayoutGraphicBlock.stories.js +0 -2
  492. package/dist/cjs/stories/MultiLayoutGraphicBlock.stories.js.map +0 -7
  493. package/dist/cjs/stories/ProductNav.stories.d.ts +0 -55
  494. package/dist/cjs/stories/ProductNav.stories.js +0 -2
  495. package/dist/cjs/stories/ProductNav.stories.js.map +0 -7
  496. package/dist/cjs/stories/ThreeDCarousel.stories.d.ts +0 -27
  497. package/dist/cjs/stories/ThreeDCarousel.stories.js +0 -118
  498. package/dist/cjs/stories/ThreeDCarousel.stories.js.map +0 -7
  499. package/dist/cjs/stories/accordionCards.stories.d.ts +0 -38
  500. package/dist/cjs/stories/accordionCards.stories.js +0 -2
  501. package/dist/cjs/stories/accordionCards.stories.js.map +0 -7
  502. package/dist/cjs/stories/alert.stories.d.ts +0 -27
  503. package/dist/cjs/stories/alert.stories.js +0 -2
  504. package/dist/cjs/stories/alert.stories.js.map +0 -7
  505. package/dist/cjs/stories/avatar.stories.d.ts +0 -39
  506. package/dist/cjs/stories/avatar.stories.js +0 -2
  507. package/dist/cjs/stories/avatar.stories.js.map +0 -7
  508. package/dist/cjs/stories/badge.stories.d.ts +0 -96
  509. package/dist/cjs/stories/badge.stories.js +0 -2
  510. package/dist/cjs/stories/badge.stories.js.map +0 -7
  511. package/dist/cjs/stories/bizTabs.stories.d.ts +0 -7
  512. package/dist/cjs/stories/bizTabs.stories.js +0 -2
  513. package/dist/cjs/stories/bizTabs.stories.js.map +0 -7
  514. package/dist/cjs/stories/board.stories.d.ts +0 -6
  515. package/dist/cjs/stories/board.stories.js +0 -2
  516. package/dist/cjs/stories/board.stories.js.map +0 -7
  517. package/dist/cjs/stories/brandEquity.stories.d.ts +0 -16
  518. package/dist/cjs/stories/brandEquity.stories.js +0 -2
  519. package/dist/cjs/stories/brandEquity.stories.js.map +0 -7
  520. package/dist/cjs/stories/brandStrip.stories.d.ts +0 -12
  521. package/dist/cjs/stories/brandStrip.stories.js +0 -2
  522. package/dist/cjs/stories/brandStrip.stories.js.map +0 -7
  523. package/dist/cjs/stories/button.stories.d.ts +0 -56
  524. package/dist/cjs/stories/button.stories.js +0 -2
  525. package/dist/cjs/stories/button.stories.js.map +0 -7
  526. package/dist/cjs/stories/card.stories.d.ts +0 -27
  527. package/dist/cjs/stories/card.stories.js +0 -2
  528. package/dist/cjs/stories/card.stories.js.map +0 -7
  529. package/dist/cjs/stories/carousel.stories.d.ts +0 -8
  530. package/dist/cjs/stories/carousel.stories.js +0 -2
  531. package/dist/cjs/stories/carousel.stories.js.map +0 -7
  532. package/dist/cjs/stories/category.stories.d.ts +0 -17
  533. package/dist/cjs/stories/category.stories.js +0 -2
  534. package/dist/cjs/stories/category.stories.js.map +0 -7
  535. package/dist/cjs/stories/checkbox.stories.d.ts +0 -46
  536. package/dist/cjs/stories/checkbox.stories.js +0 -2
  537. package/dist/cjs/stories/checkbox.stories.js.map +0 -7
  538. package/dist/cjs/stories/container.stories.d.ts +0 -28
  539. package/dist/cjs/stories/container.stories.js +0 -15
  540. package/dist/cjs/stories/container.stories.js.map +0 -7
  541. package/dist/cjs/stories/cpnBanner.stories.d.ts +0 -14
  542. package/dist/cjs/stories/cpnBanner.stories.js +0 -2
  543. package/dist/cjs/stories/cpnBanner.stories.js.map +0 -7
  544. package/dist/cjs/stories/cpnCountdown.stories.d.ts +0 -12
  545. package/dist/cjs/stories/cpnCountdown.stories.js +0 -2
  546. package/dist/cjs/stories/cpnCountdown.stories.js.map +0 -7
  547. package/dist/cjs/stories/cpnNavigation.stories.d.ts +0 -14
  548. package/dist/cjs/stories/cpnNavigation.stories.js +0 -2
  549. package/dist/cjs/stories/cpnNavigation.stories.js.map +0 -7
  550. package/dist/cjs/stories/cpnProductcard.stories.d.ts +0 -14
  551. package/dist/cjs/stories/cpnProductcard.stories.js +0 -2
  552. package/dist/cjs/stories/cpnProductcard.stories.js.map +0 -7
  553. package/dist/cjs/stories/cpnTitle.stories.d.ts +0 -14
  554. package/dist/cjs/stories/cpnTitle.stories.js +0 -2
  555. package/dist/cjs/stories/cpnTitle.stories.js.map +0 -7
  556. package/dist/cjs/stories/creativeModule.stories.d.ts +0 -19
  557. package/dist/cjs/stories/creativeModule.stories.js +0 -2
  558. package/dist/cjs/stories/creativeModule.stories.js.map +0 -7
  559. package/dist/cjs/stories/dialog.stories.d.ts +0 -20
  560. package/dist/cjs/stories/dialog.stories.js +0 -2
  561. package/dist/cjs/stories/dialog.stories.js.map +0 -7
  562. package/dist/cjs/stories/drawer.stories.d.ts +0 -20
  563. package/dist/cjs/stories/drawer.stories.js +0 -2
  564. package/dist/cjs/stories/drawer.stories.js.map +0 -7
  565. package/dist/cjs/stories/drop-down.stories.d.ts +0 -16
  566. package/dist/cjs/stories/drop-down.stories.js +0 -2
  567. package/dist/cjs/stories/drop-down.stories.js.map +0 -7
  568. package/dist/cjs/stories/evaluate.stories.d.ts +0 -16
  569. package/dist/cjs/stories/evaluate.stories.js +0 -2
  570. package/dist/cjs/stories/evaluate.stories.js.map +0 -7
  571. package/dist/cjs/stories/faq.stories.d.ts +0 -21
  572. package/dist/cjs/stories/faq.stories.js +0 -2
  573. package/dist/cjs/stories/faq.stories.js.map +0 -7
  574. package/dist/cjs/stories/featureCards.stories.d.ts +0 -30
  575. package/dist/cjs/stories/featureCards.stories.js +0 -61
  576. package/dist/cjs/stories/featureCards.stories.js.map +0 -7
  577. package/dist/cjs/stories/featureShowcase.stories.d.ts +0 -29
  578. package/dist/cjs/stories/featureShowcase.stories.js +0 -44
  579. package/dist/cjs/stories/featureShowcase.stories.js.map +0 -7
  580. package/dist/cjs/stories/graphic.stories.d.ts +0 -64
  581. package/dist/cjs/stories/graphic.stories.js +0 -2
  582. package/dist/cjs/stories/graphic.stories.js.map +0 -7
  583. package/dist/cjs/stories/graphicAttractionBlock.stories.d.ts +0 -6
  584. package/dist/cjs/stories/graphicAttractionBlock.stories.js +0 -2
  585. package/dist/cjs/stories/graphicAttractionBlock.stories.js.map +0 -7
  586. package/dist/cjs/stories/grid.stories.d.ts +0 -22
  587. package/dist/cjs/stories/grid.stories.js +0 -13
  588. package/dist/cjs/stories/grid.stories.js.map +0 -7
  589. package/dist/cjs/stories/heading.stories.d.ts +0 -84
  590. package/dist/cjs/stories/heading.stories.js +0 -15
  591. package/dist/cjs/stories/heading.stories.js.map +0 -7
  592. package/dist/cjs/stories/imageTextFeature.stories.d.ts +0 -28
  593. package/dist/cjs/stories/imageTextFeature.stories.js +0 -50
  594. package/dist/cjs/stories/imageTextFeature.stories.js.map +0 -7
  595. package/dist/cjs/stories/imageWithText.stories.d.ts +0 -51
  596. package/dist/cjs/stories/imageWithText.stories.js +0 -84
  597. package/dist/cjs/stories/imageWithText.stories.js.map +0 -7
  598. package/dist/cjs/stories/input-number.stories.d.ts +0 -39
  599. package/dist/cjs/stories/input-number.stories.js +0 -2
  600. package/dist/cjs/stories/input-number.stories.js.map +0 -7
  601. package/dist/cjs/stories/input.stories.d.ts +0 -35
  602. package/dist/cjs/stories/input.stories.js +0 -2
  603. package/dist/cjs/stories/input.stories.js.map +0 -7
  604. package/dist/cjs/stories/ksp.stories.d.ts +0 -63
  605. package/dist/cjs/stories/ksp.stories.js +0 -128
  606. package/dist/cjs/stories/ksp.stories.js.map +0 -7
  607. package/dist/cjs/stories/link.stories.d.ts +0 -69
  608. package/dist/cjs/stories/link.stories.js +0 -2
  609. package/dist/cjs/stories/link.stories.js.map +0 -7
  610. package/dist/cjs/stories/marquee.stories.d.ts +0 -30
  611. package/dist/cjs/stories/marquee.stories.js +0 -2
  612. package/dist/cjs/stories/marquee.stories.js.map +0 -7
  613. package/dist/cjs/stories/mediaplayerBase.stories.d.ts +0 -6
  614. package/dist/cjs/stories/mediaplayerBase.stories.js +0 -2
  615. package/dist/cjs/stories/mediaplayerBase.stories.js.map +0 -7
  616. package/dist/cjs/stories/mediaplayerMulti.stories.d.ts +0 -16
  617. package/dist/cjs/stories/mediaplayerMulti.stories.js +0 -2
  618. package/dist/cjs/stories/mediaplayerMulti.stories.js.map +0 -7
  619. package/dist/cjs/stories/picture.stories.d.ts +0 -23
  620. package/dist/cjs/stories/picture.stories.js +0 -9
  621. package/dist/cjs/stories/picture.stories.js.map +0 -7
  622. package/dist/cjs/stories/popover.stories.d.ts +0 -17
  623. package/dist/cjs/stories/popover.stories.js +0 -2
  624. package/dist/cjs/stories/popover.stories.js.map +0 -7
  625. package/dist/cjs/stories/productCompare.stories.d.ts +0 -54
  626. package/dist/cjs/stories/productCompare.stories.js +0 -54
  627. package/dist/cjs/stories/productCompare.stories.js.map +0 -7
  628. package/dist/cjs/stories/productHero.stories.d.ts +0 -29
  629. package/dist/cjs/stories/productHero.stories.js +0 -50
  630. package/dist/cjs/stories/productHero.stories.js.map +0 -7
  631. package/dist/cjs/stories/radio.stories.d.ts +0 -39
  632. package/dist/cjs/stories/radio.stories.js +0 -2
  633. package/dist/cjs/stories/radio.stories.js.map +0 -7
  634. package/dist/cjs/stories/shelfDisplay.stories.d.ts +0 -16
  635. package/dist/cjs/stories/shelfDisplay.stories.js +0 -2
  636. package/dist/cjs/stories/shelfDisplay.stories.js.map +0 -7
  637. package/dist/cjs/stories/skeleton.stories.d.ts +0 -20
  638. package/dist/cjs/stories/skeleton.stories.js +0 -2
  639. package/dist/cjs/stories/skeleton.stories.js.map +0 -7
  640. package/dist/cjs/stories/slogan.stories.d.ts +0 -20
  641. package/dist/cjs/stories/slogan.stories.js +0 -6
  642. package/dist/cjs/stories/slogan.stories.js.map +0 -7
  643. package/dist/cjs/stories/specs.stories.d.ts +0 -13
  644. package/dist/cjs/stories/specs.stories.js +0 -57
  645. package/dist/cjs/stories/specs.stories.js.map +0 -7
  646. package/dist/cjs/stories/specsComparison.stories.d.ts +0 -28
  647. package/dist/cjs/stories/specsComparison.stories.js +0 -105
  648. package/dist/cjs/stories/specsComparison.stories.js.map +0 -7
  649. package/dist/cjs/stories/tabWithImage.stories.d.ts +0 -28
  650. package/dist/cjs/stories/tabWithImage.stories.js +0 -53
  651. package/dist/cjs/stories/tabWithImage.stories.js.map +0 -7
  652. package/dist/cjs/stories/tabs.stories.d.ts +0 -373
  653. package/dist/cjs/stories/tabs.stories.js +0 -2
  654. package/dist/cjs/stories/tabs.stories.js.map +0 -7
  655. package/dist/cjs/stories/tabsWithMedia.stories.d.ts +0 -28
  656. package/dist/cjs/stories/tabsWithMedia.stories.js +0 -68
  657. package/dist/cjs/stories/tabsWithMedia.stories.js.map +0 -7
  658. package/dist/cjs/stories/text.stories.d.ts +0 -86
  659. package/dist/cjs/stories/text.stories.js +0 -21
  660. package/dist/cjs/stories/text.stories.js.map +0 -7
  661. package/dist/cjs/stories/videoFeature.stories.d.ts +0 -29
  662. package/dist/cjs/stories/videoFeature.stories.js +0 -56
  663. package/dist/cjs/stories/videoFeature.stories.js.map +0 -7
  664. package/dist/cjs/stories/whychoose.stories.d.ts +0 -21
  665. package/dist/cjs/stories/whychoose.stories.js +0 -2
  666. package/dist/cjs/stories/whychoose.stories.js.map +0 -7
  667. package/dist/esm/stories/HeroBanner.stories.d.ts +0 -28
  668. package/dist/esm/stories/HeroBanner.stories.js +0 -11
  669. package/dist/esm/stories/HeroBanner.stories.js.map +0 -7
  670. package/dist/esm/stories/InlineVideo.stories.d.ts +0 -37
  671. package/dist/esm/stories/InlineVideo.stories.js +0 -164
  672. package/dist/esm/stories/InlineVideo.stories.js.map +0 -7
  673. package/dist/esm/stories/MarqueeReview.stories.d.ts +0 -72
  674. package/dist/esm/stories/MarqueeReview.stories.js +0 -19
  675. package/dist/esm/stories/MarqueeReview.stories.js.map +0 -7
  676. package/dist/esm/stories/MediaSceneSwitcher.stories.d.ts +0 -47
  677. package/dist/esm/stories/MediaSceneSwitcher.stories.js +0 -2
  678. package/dist/esm/stories/MediaSceneSwitcher.stories.js.map +0 -7
  679. package/dist/esm/stories/MemberEquity.stories.d.ts +0 -9
  680. package/dist/esm/stories/MemberEquity.stories.js +0 -31
  681. package/dist/esm/stories/MemberEquity.stories.js.map +0 -7
  682. package/dist/esm/stories/MultiLayoutGraphicBlock.stories.d.ts +0 -9
  683. package/dist/esm/stories/MultiLayoutGraphicBlock.stories.js +0 -2
  684. package/dist/esm/stories/MultiLayoutGraphicBlock.stories.js.map +0 -7
  685. package/dist/esm/stories/ProductNav.stories.d.ts +0 -55
  686. package/dist/esm/stories/ProductNav.stories.js +0 -2
  687. package/dist/esm/stories/ProductNav.stories.js.map +0 -7
  688. package/dist/esm/stories/ThreeDCarousel.stories.d.ts +0 -27
  689. package/dist/esm/stories/ThreeDCarousel.stories.js +0 -118
  690. package/dist/esm/stories/ThreeDCarousel.stories.js.map +0 -7
  691. package/dist/esm/stories/accordionCards.stories.d.ts +0 -38
  692. package/dist/esm/stories/accordionCards.stories.js +0 -2
  693. package/dist/esm/stories/accordionCards.stories.js.map +0 -7
  694. package/dist/esm/stories/alert.stories.d.ts +0 -27
  695. package/dist/esm/stories/alert.stories.js +0 -2
  696. package/dist/esm/stories/alert.stories.js.map +0 -7
  697. package/dist/esm/stories/avatar.stories.d.ts +0 -39
  698. package/dist/esm/stories/avatar.stories.js +0 -2
  699. package/dist/esm/stories/avatar.stories.js.map +0 -7
  700. package/dist/esm/stories/badge.stories.d.ts +0 -96
  701. package/dist/esm/stories/badge.stories.js +0 -2
  702. package/dist/esm/stories/badge.stories.js.map +0 -7
  703. package/dist/esm/stories/bizTabs.stories.d.ts +0 -7
  704. package/dist/esm/stories/bizTabs.stories.js +0 -2
  705. package/dist/esm/stories/bizTabs.stories.js.map +0 -7
  706. package/dist/esm/stories/board.stories.d.ts +0 -6
  707. package/dist/esm/stories/board.stories.js +0 -2
  708. package/dist/esm/stories/board.stories.js.map +0 -7
  709. package/dist/esm/stories/brandEquity.stories.d.ts +0 -16
  710. package/dist/esm/stories/brandEquity.stories.js +0 -2
  711. package/dist/esm/stories/brandEquity.stories.js.map +0 -7
  712. package/dist/esm/stories/brandStrip.stories.d.ts +0 -12
  713. package/dist/esm/stories/brandStrip.stories.js +0 -2
  714. package/dist/esm/stories/brandStrip.stories.js.map +0 -7
  715. package/dist/esm/stories/button.stories.d.ts +0 -56
  716. package/dist/esm/stories/button.stories.js +0 -2
  717. package/dist/esm/stories/button.stories.js.map +0 -7
  718. package/dist/esm/stories/card.stories.d.ts +0 -27
  719. package/dist/esm/stories/card.stories.js +0 -2
  720. package/dist/esm/stories/card.stories.js.map +0 -7
  721. package/dist/esm/stories/carousel.stories.d.ts +0 -8
  722. package/dist/esm/stories/carousel.stories.js +0 -2
  723. package/dist/esm/stories/carousel.stories.js.map +0 -7
  724. package/dist/esm/stories/category.stories.d.ts +0 -17
  725. package/dist/esm/stories/category.stories.js +0 -2
  726. package/dist/esm/stories/category.stories.js.map +0 -7
  727. package/dist/esm/stories/checkbox.stories.d.ts +0 -46
  728. package/dist/esm/stories/checkbox.stories.js +0 -2
  729. package/dist/esm/stories/checkbox.stories.js.map +0 -7
  730. package/dist/esm/stories/container.stories.d.ts +0 -28
  731. package/dist/esm/stories/container.stories.js +0 -15
  732. package/dist/esm/stories/container.stories.js.map +0 -7
  733. package/dist/esm/stories/cpnBanner.stories.d.ts +0 -14
  734. package/dist/esm/stories/cpnBanner.stories.js +0 -2
  735. package/dist/esm/stories/cpnBanner.stories.js.map +0 -7
  736. package/dist/esm/stories/cpnCountdown.stories.d.ts +0 -12
  737. package/dist/esm/stories/cpnCountdown.stories.js +0 -2
  738. package/dist/esm/stories/cpnCountdown.stories.js.map +0 -7
  739. package/dist/esm/stories/cpnNavigation.stories.d.ts +0 -14
  740. package/dist/esm/stories/cpnNavigation.stories.js +0 -2
  741. package/dist/esm/stories/cpnNavigation.stories.js.map +0 -7
  742. package/dist/esm/stories/cpnProductcard.stories.d.ts +0 -14
  743. package/dist/esm/stories/cpnProductcard.stories.js +0 -2
  744. package/dist/esm/stories/cpnProductcard.stories.js.map +0 -7
  745. package/dist/esm/stories/cpnTitle.stories.d.ts +0 -14
  746. package/dist/esm/stories/cpnTitle.stories.js +0 -2
  747. package/dist/esm/stories/cpnTitle.stories.js.map +0 -7
  748. package/dist/esm/stories/creativeModule.stories.d.ts +0 -19
  749. package/dist/esm/stories/creativeModule.stories.js +0 -2
  750. package/dist/esm/stories/creativeModule.stories.js.map +0 -7
  751. package/dist/esm/stories/dialog.stories.d.ts +0 -20
  752. package/dist/esm/stories/dialog.stories.js +0 -2
  753. package/dist/esm/stories/dialog.stories.js.map +0 -7
  754. package/dist/esm/stories/drawer.stories.d.ts +0 -20
  755. package/dist/esm/stories/drawer.stories.js +0 -2
  756. package/dist/esm/stories/drawer.stories.js.map +0 -7
  757. package/dist/esm/stories/drop-down.stories.d.ts +0 -16
  758. package/dist/esm/stories/drop-down.stories.js +0 -2
  759. package/dist/esm/stories/drop-down.stories.js.map +0 -7
  760. package/dist/esm/stories/evaluate.stories.d.ts +0 -16
  761. package/dist/esm/stories/evaluate.stories.js +0 -2
  762. package/dist/esm/stories/evaluate.stories.js.map +0 -7
  763. package/dist/esm/stories/faq.stories.d.ts +0 -21
  764. package/dist/esm/stories/faq.stories.js +0 -2
  765. package/dist/esm/stories/faq.stories.js.map +0 -7
  766. package/dist/esm/stories/featureCards.stories.d.ts +0 -30
  767. package/dist/esm/stories/featureCards.stories.js +0 -61
  768. package/dist/esm/stories/featureCards.stories.js.map +0 -7
  769. package/dist/esm/stories/featureShowcase.stories.d.ts +0 -29
  770. package/dist/esm/stories/featureShowcase.stories.js +0 -44
  771. package/dist/esm/stories/featureShowcase.stories.js.map +0 -7
  772. package/dist/esm/stories/graphic.stories.d.ts +0 -64
  773. package/dist/esm/stories/graphic.stories.js +0 -2
  774. package/dist/esm/stories/graphic.stories.js.map +0 -7
  775. package/dist/esm/stories/graphicAttractionBlock.stories.d.ts +0 -6
  776. package/dist/esm/stories/graphicAttractionBlock.stories.js +0 -2
  777. package/dist/esm/stories/graphicAttractionBlock.stories.js.map +0 -7
  778. package/dist/esm/stories/grid.stories.d.ts +0 -22
  779. package/dist/esm/stories/grid.stories.js +0 -13
  780. package/dist/esm/stories/grid.stories.js.map +0 -7
  781. package/dist/esm/stories/heading.stories.d.ts +0 -84
  782. package/dist/esm/stories/heading.stories.js +0 -15
  783. package/dist/esm/stories/heading.stories.js.map +0 -7
  784. package/dist/esm/stories/imageTextFeature.stories.d.ts +0 -28
  785. package/dist/esm/stories/imageTextFeature.stories.js +0 -50
  786. package/dist/esm/stories/imageTextFeature.stories.js.map +0 -7
  787. package/dist/esm/stories/imageWithText.stories.d.ts +0 -51
  788. package/dist/esm/stories/imageWithText.stories.js +0 -84
  789. package/dist/esm/stories/imageWithText.stories.js.map +0 -7
  790. package/dist/esm/stories/input-number.stories.d.ts +0 -39
  791. package/dist/esm/stories/input-number.stories.js +0 -2
  792. package/dist/esm/stories/input-number.stories.js.map +0 -7
  793. package/dist/esm/stories/input.stories.d.ts +0 -35
  794. package/dist/esm/stories/input.stories.js +0 -2
  795. package/dist/esm/stories/input.stories.js.map +0 -7
  796. package/dist/esm/stories/ksp.stories.d.ts +0 -63
  797. package/dist/esm/stories/ksp.stories.js +0 -128
  798. package/dist/esm/stories/ksp.stories.js.map +0 -7
  799. package/dist/esm/stories/link.stories.d.ts +0 -69
  800. package/dist/esm/stories/link.stories.js +0 -2
  801. package/dist/esm/stories/link.stories.js.map +0 -7
  802. package/dist/esm/stories/marquee.stories.d.ts +0 -30
  803. package/dist/esm/stories/marquee.stories.js +0 -2
  804. package/dist/esm/stories/marquee.stories.js.map +0 -7
  805. package/dist/esm/stories/mediaplayerBase.stories.d.ts +0 -6
  806. package/dist/esm/stories/mediaplayerBase.stories.js +0 -2
  807. package/dist/esm/stories/mediaplayerBase.stories.js.map +0 -7
  808. package/dist/esm/stories/mediaplayerMulti.stories.d.ts +0 -16
  809. package/dist/esm/stories/mediaplayerMulti.stories.js +0 -2
  810. package/dist/esm/stories/mediaplayerMulti.stories.js.map +0 -7
  811. package/dist/esm/stories/picture.stories.d.ts +0 -23
  812. package/dist/esm/stories/picture.stories.js +0 -9
  813. package/dist/esm/stories/picture.stories.js.map +0 -7
  814. package/dist/esm/stories/popover.stories.d.ts +0 -17
  815. package/dist/esm/stories/popover.stories.js +0 -2
  816. package/dist/esm/stories/popover.stories.js.map +0 -7
  817. package/dist/esm/stories/productCompare.stories.d.ts +0 -54
  818. package/dist/esm/stories/productCompare.stories.js +0 -54
  819. package/dist/esm/stories/productCompare.stories.js.map +0 -7
  820. package/dist/esm/stories/productHero.stories.d.ts +0 -29
  821. package/dist/esm/stories/productHero.stories.js +0 -50
  822. package/dist/esm/stories/productHero.stories.js.map +0 -7
  823. package/dist/esm/stories/radio.stories.d.ts +0 -39
  824. package/dist/esm/stories/radio.stories.js +0 -2
  825. package/dist/esm/stories/radio.stories.js.map +0 -7
  826. package/dist/esm/stories/shelfDisplay.stories.d.ts +0 -16
  827. package/dist/esm/stories/shelfDisplay.stories.js +0 -2
  828. package/dist/esm/stories/shelfDisplay.stories.js.map +0 -7
  829. package/dist/esm/stories/skeleton.stories.d.ts +0 -20
  830. package/dist/esm/stories/skeleton.stories.js +0 -2
  831. package/dist/esm/stories/skeleton.stories.js.map +0 -7
  832. package/dist/esm/stories/slogan.stories.d.ts +0 -20
  833. package/dist/esm/stories/slogan.stories.js +0 -6
  834. package/dist/esm/stories/slogan.stories.js.map +0 -7
  835. package/dist/esm/stories/specs.stories.d.ts +0 -13
  836. package/dist/esm/stories/specs.stories.js +0 -57
  837. package/dist/esm/stories/specs.stories.js.map +0 -7
  838. package/dist/esm/stories/specsComparison.stories.d.ts +0 -28
  839. package/dist/esm/stories/specsComparison.stories.js +0 -105
  840. package/dist/esm/stories/specsComparison.stories.js.map +0 -7
  841. package/dist/esm/stories/tabWithImage.stories.d.ts +0 -28
  842. package/dist/esm/stories/tabWithImage.stories.js +0 -53
  843. package/dist/esm/stories/tabWithImage.stories.js.map +0 -7
  844. package/dist/esm/stories/tabs.stories.d.ts +0 -373
  845. package/dist/esm/stories/tabs.stories.js +0 -2
  846. package/dist/esm/stories/tabs.stories.js.map +0 -7
  847. package/dist/esm/stories/tabsWithMedia.stories.d.ts +0 -28
  848. package/dist/esm/stories/tabsWithMedia.stories.js +0 -68
  849. package/dist/esm/stories/tabsWithMedia.stories.js.map +0 -7
  850. package/dist/esm/stories/text.stories.d.ts +0 -86
  851. package/dist/esm/stories/text.stories.js +0 -21
  852. package/dist/esm/stories/text.stories.js.map +0 -7
  853. package/dist/esm/stories/videoFeature.stories.d.ts +0 -29
  854. package/dist/esm/stories/videoFeature.stories.js +0 -56
  855. package/dist/esm/stories/videoFeature.stories.js.map +0 -7
  856. package/dist/esm/stories/whychoose.stories.d.ts +0 -21
  857. package/dist/esm/stories/whychoose.stories.js +0 -2
  858. package/dist/esm/stories/whychoose.stories.js.map +0 -7
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/biz-components/WheelLottery/Wheel.tsx"],
4
+ "sourcesContent": ["/**\n * Wheel - \u8F6C\u76D8\u6838\u5FC3\u7EC4\u4EF6\n *\n * \u57FA\u4E8E Figma \u8BBE\u8BA1\u7A3F\u5B9E\u73B0\u7684\u5927\u8F6C\u76D8\u62BD\u5956\u7EC4\u4EF6\u6838\u5FC3\u90E8\u5206\u3002\n * \u5305\u542B 8 \u4E2A\u5956\u54C1\u533A\u5757\u3001GO \u6309\u94AE\u548C\u88C5\u9970\u5143\u7D20,\u652F\u6301\u54CD\u5E94\u5F0F\u5E03\u5C40\u3002\n *\n * Figma \u8BBE\u8BA1\u7A3F: https://www.figma.com/design/DhWsPamqTM76eMHS0aIQqw\n * \u8BBE\u8BA1\u8282\u70B9: 498:10533\n *\n * @module Wheel\n * @date 2025-12-17\n */\n\n'use client'\n\nimport React from 'react'\nimport { cn } from '../../helpers/index.js'\nimport type { Prize, WheelProps } from './types.js'\nimport {\n DEFAULT_POINTER_IMAGE,\n DEFAULT_POINTER_DISABLE_IMAGE,\n DEFAULT_WHEEL_BG_6_PRIZES,\n DEFAULT_WHEEL_BG_8_PRIZES,\n} from './types.js'\nimport Picture from '../../components/picture.js'\n\n// ============================================================================\n// Wheel \u7EC4\u4EF6\n// ============================================================================\n\n/**\n * Wheel \u8F6C\u76D8\u7EC4\u4EF6\n *\n * \u6839\u636E Figma \u8BBE\u8BA1\u7A3F\u7CBE\u786E\u8FD8\u539F\u7684\u8F6C\u76D8 UI,\u5305\u542B:\n * - \u5706\u5F62\u8F6C\u76D8\u5BB9\u5668,\u5E26\u8FB9\u6846\u548C\u80CC\u666F\n * - 8 \u4E2A\u653E\u5C04\u72B6\u6392\u5217\u7684\u5956\u54C1\u533A\u5757\n * - \u4E2D\u5FC3 GO \u6309\u94AE,\u5E26\u6E10\u53D8\u548C\u9634\u5F71\u6548\u679C\n * - \u9876\u90E8\u6307\u9488\u88C5\u9970\u5143\u7D20\n * - \u54CD\u5E94\u5F0F\u5C3A\u5BF8\u9002\u914D 5 \u4E2A\u65AD\u70B9\n * - tablet/mobile \u4F7F\u7528 CSS clip-path \u4EC5\u663E\u793A\u4E0A\u534A\u90E8\u5206\n */\nexport const Wheel: React.FC<WheelProps> = ({\n prizes,\n rotation,\n isSpinning,\n isFinished = false,\n isButtonDisabled,\n onGoClick,\n wheelBackgroundImage,\n pointerImage,\n userData,\n className,\n}) => {\n // \u9632\u5FA1\u6027\u7F16\u7A0B:\u5904\u7406 undefined \u6216\u7A7A\u6570\u7EC4\n if (!prizes || prizes.length === 0) {\n return null\n }\n\n // \u6839\u636E\u5956\u54C1\u6570\u91CF\u81EA\u52A8\u9009\u62E9\u9ED8\u8BA4\u5E95\u56FE\n const defaultWheelBg = prizes.length === 6 ? DEFAULT_WHEEL_BG_6_PRIZES : DEFAULT_WHEEL_BG_8_PRIZES\n const finalWheelBg = wheelBackgroundImage || defaultWheelBg\n const finalPointerImage =\n pointerImage || (userData?.isLoggedIn ? DEFAULT_POINTER_IMAGE : DEFAULT_POINTER_DISABLE_IMAGE)\n\n return (\n <div\n className={cn(\n 'wheel-wrapper',\n 'mx-auto flex items-center justify-center',\n 'aspect-w-[1] aspect-h-[1]',\n 'l-tablet:size-[340px]',\n className\n )}\n >\n {/* ===================================================================\n \u8F6C\u76D8\u5BB9\u5668 - \u54CD\u5E94\u5F0F\u5C3A\u5BF8 + clip-path \u88C1\u526A\n =================================================================== */}\n <div\n className={cn(\n 'wheel-container',\n // \u54CD\u5E94\u5F0F\u5C3A\u5BF8(\u57FA\u4E8E Figma \u8BBE\u8BA1\u7A3F,\n 'mx-auto',\n 'size-[340px]', // mobile/tablet (default, <768px)\n 'lg-desktop:size-[85%] desktop:size-[85%] laptop:size-[90%]' // lg-desktop (\u22651921px) - Figma: 800\u00D7800\n )}\n >\n {/* =================================================================\n \u8F6C\u76D8\u4E3B\u4F53 - \u5E94\u7528\u65CB\u8F6C\u52A8\u753B + \u80CC\u666F\u56FE\u7247\n ================================================================= */}\n <div\n className={cn(\n 'wheel-disc',\n 'absolute inset-0',\n 'rounded-full',\n 'bg-cover bg-center bg-no-repeat',\n 'shadow-[0px_2px_8px_rgba(0,0,0,0.12)]',\n {\n // \u62BD\u5956\u4E2D: \u4F7F\u7528\u5FEB\u901F\u65CB\u8F6C\u52A8\u753B\uFF080.5\u79D21\u5708\uFF09\n 'animate-[spin_0.5s_linear_infinite]': isSpinning && !isFinished,\n // \u672A\u62BD\u5956\u72B6\u6001: \u5E94\u7528\u6162\u901F\u5FAA\u73AF\u65CB\u8F6C\uFF08120\u79D21\u5708\uFF09\n 'animate-[spin_120s_linear_infinite]': !isSpinning && !isFinished,\n // \u51CF\u901F\u52A8\u753B\u671F\u95F4: \u79FB\u9664 transition\uFF0C\u4F7F\u7528 requestAnimationFrame \u63A7\u5236\n 'transition-none': isFinished,\n }\n )}\n style={{\n transform: isFinished ? `rotate(${rotation}deg)` : undefined,\n backgroundImage: `url('${finalWheelBg}')`,\n }}\n role=\"img\"\n aria-label=\"\u5927\u8F6C\u76D8\"\n >\n {/* 8 \u4E2A\u5956\u54C1\u533A\u5757 */}\n {prizes.map((prize, index) => (\n <PrizeSlice key={prize.prizeKey} prize={prize} index={index} totalPrizes={prizes.length} />\n ))}\n </div>\n\n {/* =================================================================\n \u6307\u9488\u56FE\u7247 - \u5305\u542B GO \u6309\u94AE\u7684\u5B8C\u6574\u6307\u9488\u56FE\n \u56FE\u7247\u5DF2\u5305\u542B GO \u6309\u94AE\u6837\u5F0F\uFF0C\u4EE3\u7801\u53EA\u8D1F\u8D23\u5B9A\u4F4D\u548C\u4EA4\u4E92\n ================================================================= */}\n <div\n className={cn(\n 'wheel-pointer-wrapper',\n 'absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2',\n 'z-10',\n // \u54CD\u5E94\u5F0F\u5C3A\u5BF8 - \u6839\u636E\u539F\u56FE 352\u00D7392 \u6BD4\u4F8B\n 'h-auto w-[72px]', // mobile/tablet (\u539F\u56FE\u7F29\u5C0F2\u500D)\n 'laptop:w-[86px]', // laptop\n 'desktop:w-[115px]', // desktop\n 'lg-desktop:w-[144px]' // lg-desktop (\u539F\u56FE\u5C3A\u5BF8)\n )}\n >\n <Picture source={finalPointerImage} alt=\"\u8F6C\u76D8\u6307\u9488\" className=\"size-full object-contain\" />\n\n {/* \u900F\u660E\u7684\u53EF\u70B9\u51FB\u6309\u94AE\u533A\u57DF - \u8986\u76D6\u5728\u6307\u9488\u56FE\u7684 GO \u6309\u94AE\u4F4D\u7F6E */}\n <button\n onClick={onGoClick}\n disabled={isButtonDisabled}\n className={cn(\n 'absolute',\n // GO \u6309\u94AE\u5728\u6307\u9488\u56FE\u4E2D\u7684\u4F4D\u7F6E (\u5927\u7EA6\u5728\u5E95\u90E8\u4E2D\u5FC3)\n 'bottom-[8%] left-1/2 -translate-x-1/2',\n // \u54CD\u5E94\u5F0F\u5C3A\u5BF8 - \u5339\u914D\u6307\u9488\u56FE\u4E2D\u7684 GO \u6309\u94AE\u5927\u5C0F\n 'size-[72px]', // mobile/tablet\n 'laptop:size-[86px]', // laptop\n 'desktop:size-[115px]', // desktop\n 'lg-desktop:size-[144px]', // lg-desktop\n 'rounded-full',\n 'cursor-pointer',\n 'transition-transform hover:scale-105 active:scale-95',\n 'disabled:cursor-not-allowed disabled:opacity-50'\n )}\n aria-label=\"\u5F00\u59CB\u62BD\u5956\"\n aria-live=\"polite\"\n />\n </div>\n </div>\n </div>\n )\n}\n\n// ============================================================================\n// PrizeSlice \u5B50\u7EC4\u4EF6 - \u5355\u4E2A\u5956\u54C1\u533A\u5757\n// ============================================================================\n\ninterface PrizeSliceProps {\n prize: Prize\n index: number\n totalPrizes: number\n}\n\n/**\n * PrizeSlice - \u5355\u4E2A\u5956\u54C1\u533A\u5757\n *\n * \u653E\u5C04\u72B6\u6392\u5217\u5728\u8F6C\u76D8\u4E0A,\u5305\u542B\u5956\u54C1\u56FE\u7247\u548C\u540D\u79F0\u3002\n * \u4F7F\u7528 transform rotate \u5B9E\u73B0\u653E\u5C04\u72B6\u5E03\u5C40,\u5185\u5BB9\u53CD\u5411\u65CB\u8F6C\u4FDD\u6301\u53EF\u8BFB\u3002\n */\nconst PrizeSlice: React.FC<PrizeSliceProps> = ({ prize, index, totalPrizes }) => {\n // \u8BA1\u7B97\u5F53\u524D\u5956\u54C1\u7684\u65CB\u8F6C\u89D2\u5EA6\n const angle = (360 / totalPrizes) * index\n\n return (\n <div\n className={cn(\n 'prize-slice',\n 'absolute left-0 top-0 size-full',\n 'flex items-start justify-center',\n 'origin-center'\n )}\n style={{\n transform: `rotate(${angle}deg)`,\n }}\n >\n {/* \u5956\u54C1\u5185\u5BB9\u5BB9\u5668 - \u53CD\u5411\u65CB\u8F6C\u4EE5\u4FDD\u6301\u5185\u5BB9\u76F4\u7ACB */}\n <div\n className={cn(\n 'prize-content',\n 'flex flex-col items-center gap-[6px]',\n 'pt-[44px]', // \u8DDD\u79BB\u5706\u5FC3\u7684\u8DDD\u79BB mobile/tablet\n 'laptop:pt-[62px]', // laptop\n 'desktop:pt-[82px]', // desktop\n 'lg-desktop:pt-[104px]' // lg-desktop: \u66F4\u9760\u8FD1\u8FB9\u7F18\n )}\n >\n {/* \u5956\u54C1\u540D\u79F0 */}\n <p\n className={cn(\n 'prize-name',\n 'text-[12px]',\n 'laptop:text-[14px]',\n 'laptop-md:text-[16px]',\n 'desktop:text-[16px]',\n 'lg-desktop:text-[18px]',\n 'line-clamp-2 text-center font-semibold leading-[1.2] text-[#080a0f]',\n 'w-[80px]',\n 'laptop:w-[60px]',\n 'laptop-md:w-[100px]',\n 'desktop:w-[100px]',\n 'lg-desktop:w-[140px]'\n )}\n >\n {prize.name}\n </p>\n {/* \u5956\u54C1\u56FE\u7247 */}\n <Picture\n source={prize.image.url}\n alt={prize.image.alt || `\u5956\u54C1:${prize.name}${prize.rank ? `,\u6392\u540D ${prize.rank}` : ''}`}\n className={cn(\n 'prize-image',\n 'size-[45px]', // mobile/tablet\n 'laptop-md:size-[64px]', // laptop\n 'laptop:size-[64px]', // laptop\n 'desktop:size-[86px]', // desktop\n 'lg-desktop:size-[108px]', // lg-desktop\n 'rounded-lg object-cover'\n )}\n />\n </div>\n </div>\n )\n}\n\n// ============================================================================\n// \u9ED8\u8BA4\u5BFC\u51FA\n// ============================================================================\n\nexport default Wheel\n"],
5
+ "mappings": "ukBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,WAAAE,EAAA,YAAAC,IAAA,eAAAC,EAAAJ,GAkHY,IAAAK,EAAA,6BAnGZC,EAAkB,iBAClBC,EAAmB,kCAEnBC,EAKO,sBACPC,EAAoB,0CAiBb,MAAMP,EAA8B,CAAC,CAC1C,OAAAQ,EACA,SAAAC,EACA,WAAAC,EACA,WAAAC,EAAa,GACb,iBAAAC,EACA,UAAAC,EACA,qBAAAC,EACA,aAAAC,EACA,SAAAC,EACA,UAAAC,CACF,IAAM,CAEJ,GAAI,CAACT,GAAUA,EAAO,SAAW,EAC/B,OAAO,KAIT,MAAMU,EAAiBV,EAAO,SAAW,EAAI,4BAA4B,4BACnEW,EAAeL,GAAwBI,EACvCE,EACJL,IAAiBC,GAAU,WAAa,wBAAwB,iCAElE,SACE,OAAC,OACC,aAAW,MACT,gBACA,2CACA,4BACA,wBACAC,CACF,EAKA,oBAAC,OACC,aAAW,MACT,kBAEA,UACA,eACA,4DACF,EAKA,oBAAC,OACC,aAAW,MACT,aACA,mBACA,eACA,kCACA,wCACA,CAEE,sCAAuCP,GAAc,CAACC,EAEtD,sCAAuC,CAACD,GAAc,CAACC,EAEvD,kBAAmBA,CACrB,CACF,EACA,MAAO,CACL,UAAWA,EAAa,UAAUF,CAAQ,OAAS,OACnD,gBAAiB,QAAQU,CAAY,IACvC,EACA,KAAK,MACL,aAAW,qBAGV,SAAAX,EAAO,IAAI,CAACa,EAAOC,OAClB,OAACC,EAAA,CAAgC,MAAOF,EAAO,MAAOC,EAAO,YAAad,EAAO,QAAhEa,EAAM,QAAkE,CAC1F,EACH,KAMA,QAAC,OACC,aAAW,MACT,wBACA,8DACA,OAEA,kBACA,kBACA,oBACA,sBACF,EAEA,oBAAC,EAAAG,QAAA,CAAQ,OAAQJ,EAAmB,IAAI,2BAAO,UAAU,2BAA2B,KAGpF,OAAC,UACC,QAASP,EACT,SAAUD,EACV,aAAW,MACT,WAEA,wCAEA,cACA,qBACA,uBACA,0BACA,eACA,iBACA,uDACA,iDACF,EACA,aAAW,2BACX,YAAU,SACZ,GACF,GACF,EACF,CAEJ,EAkBMW,EAAwC,CAAC,CAAE,MAAAF,EAAO,MAAAC,EAAO,YAAAG,CAAY,IAAM,CAE/E,MAAMC,EAAS,IAAMD,EAAeH,EAEpC,SACE,OAAC,OACC,aAAW,MACT,cACA,kCACA,kCACA,eACF,EACA,MAAO,CACL,UAAW,UAAUI,CAAK,MAC5B,EAGA,oBAAC,OACC,aAAW,MACT,gBACA,uCACA,YACA,mBACA,oBACA,uBACF,EAGA,oBAAC,KACC,aAAW,MACT,aACA,cACA,qBACA,wBACA,sBACA,yBACA,sEACA,WACA,kBACA,sBACA,oBACA,sBACF,EAEC,SAAAL,EAAM,KACT,KAEA,OAAC,EAAAG,QAAA,CACC,OAAQH,EAAM,MAAM,IACpB,IAAKA,EAAM,MAAM,KAAO,gBAAMA,EAAM,IAAI,GAAGA,EAAM,KAAO,iBAAOA,EAAM,IAAI,GAAK,EAAE,GAChF,aAAW,MACT,cACA,cACA,wBACA,qBACA,sBACA,0BACA,yBACF,EACF,GACF,EACF,CAEJ,EAMA,IAAOpB,EAAQD",
6
+ "names": ["Wheel_exports", "__export", "Wheel", "Wheel_default", "__toCommonJS", "import_jsx_runtime", "import_react", "import_helpers", "import_types", "import_picture", "prizes", "rotation", "isSpinning", "isFinished", "isButtonDisabled", "onGoClick", "wheelBackgroundImage", "pointerImage", "userData", "className", "defaultWheelBg", "finalWheelBg", "finalPointerImage", "prize", "index", "PrizeSlice", "Picture", "totalPrizes", "angle"]
7
+ }
@@ -0,0 +1,25 @@
1
+ /**
2
+ * WinnerModal - 中奖弹窗组件
3
+ *
4
+ * 基于截图设计实现的中奖结果展示弹窗。
5
+ * 包含标题、奖品信息、优惠码和确认按钮。
6
+ *
7
+ * @module WinnerModal
8
+ * @date 2025-12-24
9
+ */
10
+ import type { WinnerModalProps } from './types.js';
11
+ /**
12
+ * WinnerModal 中奖弹窗组件
13
+ *
14
+ * 根据设计稿实现的中奖结果展示弹窗,包含:
15
+ * - 半透明遮罩层
16
+ * - 白色圆角卡片容器
17
+ * - 标题 "You Have Won"
18
+ * - 奖品名称
19
+ * - 优惠券图片(20% Off)
20
+ * - 优惠码和过期时间
21
+ * - 确认按钮
22
+ * - 右上角关闭按钮
23
+ */
24
+ export declare const WinnerModal: ({ isOpen, prize, title, prizeTitle, prizeImage, prizeDescription, learnMoreUrl, learnMoreText, onClose, confirmText, onConfirm, className, couponCode, couponDiscount, couponUnit, expiresAt, codeText, copyText, copiedText, onCopyCode, }: WinnerModalProps) => import("react/jsx-runtime").JSX.Element | null;
25
+ export default WinnerModal;
@@ -0,0 +1,2 @@
1
+ "use strict";"use client";var L=Object.create;var o=Object.defineProperty;var S=Object.getOwnPropertyDescriptor;var Y=Object.getOwnPropertyNames;var j=Object.getPrototypeOf,D=Object.prototype.hasOwnProperty;var F=(a,e)=>{for(var l in e)o(a,l,{get:e[l],enumerable:!0})},w=(a,e,l,m)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Y(e))!D.call(a,n)&&n!==l&&o(a,n,{get:()=>e[n],enumerable:!(m=S(e,n))||m.enumerable});return a};var G=(a,e,l)=>(l=a!=null?L(j(a)):{},w(e||!a||!a.__esModule?o(l,"default",{value:a,enumerable:!0}):l,a)),I=a=>w(o({},"__esModule",{value:!0}),a);var _={};F(_,{WinnerModal:()=>y,default:()=>J});module.exports=I(_);var t=require("react/jsx-runtime"),p=G(require("react")),s=require("../../helpers/index.js"),r=require("../../components/index.js"),h=require("./BaseModal.js");const y=({isOpen:a,prize:e,title:l="You Have Won",prizeTitle:m,prizeImage:n,prizeDescription:f,learnMoreUrl:d,learnMoreText:W="Learn More",onClose:u,confirmText:k="Okay, Got It",onConfirm:B,className:M,couponCode:i,couponDiscount:c,couponUnit:O="Off",expiresAt:N,codeText:P="CODE:",copyText:T="COPY",copiedText:C="COPIED",onCopyCode:v})=>{const[E,b]=p.default.useState(!1),x=p.default.useRef(null);p.default.useEffect(()=>()=>{x.current&&clearTimeout(x.current)},[]);const H=g=>{x.current&&clearTimeout(x.current),navigator.clipboard.writeText(g),v&&v?.(g),b(!0),x.current=setTimeout(()=>{b(!1)},3e3)};if(!a||!e)return null;const R=()=>{B?.(),u()};return(0,t.jsxs)(h.BaseModal,{isOpen:a,onClose:u,className:M,maxWidth:"max-w-[326px] laptop:max-w-[420px]",ariaLabelledBy:"winner-modal-title",children:[(0,t.jsxs)("div",{className:"flex flex-col items-center px-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)(r.Heading,{size:2,className:(0,s.cn)("mb-1 text-center tracking-[-0.32px]"),children:l}),(0,t.jsx)("p",{className:"laptop:text-[16px] text-center text-[14px] font-[700] text-[#1D1D1F]",children:m||e.name}),d&&(0,t.jsx)("div",{className:"laptop:mt-4 mt-3 text-center",children:(0,t.jsx)("a",{href:d,target:"_blank",rel:"noopener noreferrer",className:(0,s.cn)("laptop:text-[14px] text-center text-[12px]","text-blue-600 hover:text-blue-700","font-medium underline","transition-colors"),children:W})})]}),(0,t.jsx)("div",{className:(0,s.cn)("mx-auto my-4 flex items-center justify-center","laptop:size-[200px] size-[160px]"),children:(n||e.image)&&(0,t.jsx)(r.Picture,{source:n||e?.image?.url,alt:e?.image?.alt||m||e?.name,className:(0,s.cn)("h-auto w-full")})}),(c||i)&&(0,t.jsxs)("div",{className:"mb-1 flex w-full flex-col items-center",children:[c&&(0,t.jsxs)("span",{className:"text-brand-0 mb-1 text-[16px] font-bold",children:[c," ",O]}),i&&(0,t.jsxs)("div",{className:"laptop:text-[16px] text-brand-0 flex items-center gap-2 text-center text-[14px] font-bold",children:[(0,t.jsxs)("span",{className:"max-w-[300px] truncate",children:[P,i]}),(0,t.jsx)("button",{onClick:()=>H(i),className:"underline",style:{minWidth:60},children:E?C:T})]}),N&&(0,t.jsxs)("span",{className:"mt-1 text-[12px] text-[#767880]",children:["\u6709\u6548\u671F\u81F3\uFF1A",N]})]}),f&&(0,t.jsx)("p",{className:(0,s.cn)("laptop:text-[16px] px-4 text-center text-[14px] font-[700] text-[#767880]"),children:f})]}),(0,t.jsx)("div",{className:"laptop:p-6 p-4",children:(0,t.jsx)(r.Button,{onClick:R,className:(0,s.cn)("w-full"),children:k})})]})};var J=y;
2
+ //# sourceMappingURL=WinnerModal.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/biz-components/WheelLottery/WinnerModal.tsx"],
4
+ "sourcesContent": ["/**\n * WinnerModal - \u4E2D\u5956\u5F39\u7A97\u7EC4\u4EF6\n *\n * \u57FA\u4E8E\u622A\u56FE\u8BBE\u8BA1\u5B9E\u73B0\u7684\u4E2D\u5956\u7ED3\u679C\u5C55\u793A\u5F39\u7A97\u3002\n * \u5305\u542B\u6807\u9898\u3001\u5956\u54C1\u4FE1\u606F\u3001\u4F18\u60E0\u7801\u548C\u786E\u8BA4\u6309\u94AE\u3002\n *\n * @module WinnerModal\n * @date 2025-12-24\n */\n\n'use client'\n\nimport React from 'react'\nimport { cn } from '../../helpers/index.js'\nimport type { WinnerModalProps } from './types.js'\nimport { Picture, Heading, Button } from '../../components/index.js'\nimport { BaseModal } from './BaseModal.js'\n\n// ============================================================================\n// WinnerModal \u7EC4\u4EF6\n// ============================================================================\n\n/**\n * WinnerModal \u4E2D\u5956\u5F39\u7A97\u7EC4\u4EF6\n *\n * \u6839\u636E\u8BBE\u8BA1\u7A3F\u5B9E\u73B0\u7684\u4E2D\u5956\u7ED3\u679C\u5C55\u793A\u5F39\u7A97,\u5305\u542B:\n * - \u534A\u900F\u660E\u906E\u7F69\u5C42\n * - \u767D\u8272\u5706\u89D2\u5361\u7247\u5BB9\u5668\n * - \u6807\u9898 \"You Have Won\"\n * - \u5956\u54C1\u540D\u79F0\n * - \u4F18\u60E0\u5238\u56FE\u7247\uFF0820% Off\uFF09\n * - \u4F18\u60E0\u7801\u548C\u8FC7\u671F\u65F6\u95F4\n * - \u786E\u8BA4\u6309\u94AE\n * - \u53F3\u4E0A\u89D2\u5173\u95ED\u6309\u94AE\n */\nexport const WinnerModal = ({\n isOpen,\n prize,\n title = 'You Have Won',\n prizeTitle,\n prizeImage,\n prizeDescription,\n learnMoreUrl,\n learnMoreText = 'Learn More',\n onClose,\n confirmText = 'Okay, Got It',\n onConfirm,\n className,\n couponCode,\n couponDiscount,\n couponUnit = 'Off',\n expiresAt,\n codeText = 'CODE:',\n copyText = 'COPY',\n copiedText = 'COPIED',\n onCopyCode,\n}: WinnerModalProps) => {\n // \u590D\u5236\u72B6\u6001\n const [copied, setCopied] = React.useState(false)\n const timerRef = React.useRef<NodeJS.Timeout | null>(null)\n\n React.useEffect(() => {\n return () => {\n if (timerRef.current) clearTimeout(timerRef.current)\n }\n }, [])\n\n // \u590D\u5236\u64CD\u4F5C\n const handleCopy = (code: string) => {\n if (timerRef.current) clearTimeout(timerRef.current)\n\n navigator.clipboard.writeText(code)\n if (onCopyCode) onCopyCode?.(code)\n setCopied(true)\n timerRef.current = setTimeout(() => {\n setCopied(false)\n }, 3000)\n }\n\n // \u4E0D\u663E\u793A\u5F39\u7A97\u6216\u65E0\u5956\u54C1\u6570\u636E\u65F6\u8FD4\u56DE null\n if (!isOpen || !prize) {\n return null\n }\n\n // \u786E\u8BA4\u6309\u94AE\u70B9\u51FB\u5904\u7406\n const handleConfirm = () => {\n onConfirm?.()\n onClose()\n }\n\n return (\n <BaseModal\n isOpen={isOpen}\n onClose={onClose}\n className={className}\n maxWidth=\"max-w-[326px] laptop:max-w-[420px]\"\n ariaLabelledBy=\"winner-modal-title\"\n >\n <div className=\"flex flex-col items-center px-4\">\n {/* =================================================================\n \u5F39\u7A97\u6807\u9898\n ================================================================= */}\n <div>\n <Heading size={2} className={cn('mb-1 text-center tracking-[-0.32px]')}>\n {title}\n </Heading>\n\n <p className=\"laptop:text-[16px] text-center text-[14px] font-[700] text-[#1D1D1F]\">\n {prizeTitle || prize.name}\n </p>\n\n {/* =================================================================\n Learn More \u6309\u94AE\n ================================================================= */}\n {learnMoreUrl && (\n <div className=\"laptop:mt-4 mt-3 text-center\">\n <a\n href={learnMoreUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className={cn(\n 'laptop:text-[14px] text-center text-[12px]',\n 'text-blue-600 hover:text-blue-700',\n 'font-medium underline',\n 'transition-colors'\n )}\n >\n {learnMoreText}\n </a>\n </div>\n )}\n </div>\n\n {/* =================================================================\n \u5956\u54C1\u56FE\u7247\n ================================================================= */}\n\n <div className={cn('mx-auto my-4 flex items-center justify-center', 'laptop:size-[200px] size-[160px]')}>\n {(prizeImage || prize.image) && (\n <Picture\n source={prizeImage || prize?.image?.url}\n alt={prize?.image?.alt || prizeTitle || prize?.name}\n className={cn('h-auto w-full')}\n />\n )}\n </div>\n\n {/* =================================================================\n \u6298\u6263\u548C\u4F18\u60E0\u7801\u590D\u5236\n ================================================================= */}\n {(couponDiscount || couponCode) && (\n <div className=\"mb-1 flex w-full flex-col items-center\">\n {couponDiscount && (\n <span className=\"text-brand-0 mb-1 text-[16px] font-bold\">\n {couponDiscount} {couponUnit}\n </span>\n )}\n {couponCode && (\n <div className=\"laptop:text-[16px] text-brand-0 flex items-center gap-2 text-center text-[14px] font-bold\">\n <span className=\"max-w-[300px] truncate\">\n {codeText}\n {couponCode}\n </span>\n <button onClick={() => handleCopy(couponCode!)} className=\"underline\" style={{ minWidth: 60 }}>\n {copied ? copiedText : copyText}\n </button>\n </div>\n )}\n {expiresAt && <span className=\"mt-1 text-[12px] text-[#767880]\">\u6709\u6548\u671F\u81F3\uFF1A{expiresAt}</span>}\n </div>\n )}\n\n {/* =================================================================\n \u5956\u54C1\u8BE6\u60C5\u63CF\u8FF0\n ================================================================= */}\n {prizeDescription && (\n <p className={cn('laptop:text-[16px] px-4 text-center text-[14px] font-[700] text-[#767880]')}>\n {prizeDescription}\n </p>\n )}\n </div>\n\n {/* =================================================================\n \u786E\u8BA4\u6309\u94AE\n ================================================================= */}\n <div className=\"laptop:p-6 p-4\">\n <Button onClick={handleConfirm} className={cn('w-full')}>\n {confirmText}\n </Button>\n </div>\n </BaseModal>\n )\n}\n\n// ============================================================================\n// \u9ED8\u8BA4\u5BFC\u51FA\n// ============================================================================\n\nexport default WinnerModal\n"],
5
+ "mappings": "ukBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,iBAAAE,EAAA,YAAAC,IAAA,eAAAC,EAAAJ,GAsGQ,IAAAK,EAAA,6BA1FRC,EAAkB,oBAClBC,EAAmB,kCAEnBC,EAAyC,qCACzCC,EAA0B,0BAmBnB,MAAMP,EAAc,CAAC,CAC1B,OAAAQ,EACA,MAAAC,EACA,MAAAC,EAAQ,eACR,WAAAC,EACA,WAAAC,EACA,iBAAAC,EACA,aAAAC,EACA,cAAAC,EAAgB,aAChB,QAAAC,EACA,YAAAC,EAAc,eACd,UAAAC,EACA,UAAAC,EACA,WAAAC,EACA,eAAAC,EACA,WAAAC,EAAa,MACb,UAAAC,EACA,SAAAC,EAAW,QACX,SAAAC,EAAW,OACX,WAAAC,EAAa,SACb,WAAAC,CACF,IAAwB,CAEtB,KAAM,CAACC,EAAQC,CAAS,EAAI,EAAAC,QAAM,SAAS,EAAK,EAC1CC,EAAW,EAAAD,QAAM,OAA8B,IAAI,EAEzD,EAAAA,QAAM,UAAU,IACP,IAAM,CACPC,EAAS,SAAS,aAAaA,EAAS,OAAO,CACrD,EACC,CAAC,CAAC,EAGL,MAAMC,EAAcC,GAAiB,CAC/BF,EAAS,SAAS,aAAaA,EAAS,OAAO,EAEnD,UAAU,UAAU,UAAUE,CAAI,EAC9BN,GAAYA,IAAaM,CAAI,EACjCJ,EAAU,EAAI,EACdE,EAAS,QAAU,WAAW,IAAM,CAClCF,EAAU,EAAK,CACjB,EAAG,GAAI,CACT,EAGA,GAAI,CAACrB,GAAU,CAACC,EACd,OAAO,KAIT,MAAMyB,EAAgB,IAAM,CAC1BhB,IAAY,EACZF,EAAQ,CACV,EAEA,SACE,QAAC,aACC,OAAQR,EACR,QAASQ,EACT,UAAWG,EACX,SAAS,qCACT,eAAe,qBAEf,qBAAC,OAAI,UAAU,kCAIb,qBAAC,OACC,oBAAC,WAAQ,KAAM,EAAG,aAAW,MAAG,qCAAqC,EAClE,SAAAT,EACH,KAEA,OAAC,KAAE,UAAU,uEACV,SAAAC,GAAcF,EAAM,KACvB,EAKCK,MACC,OAAC,OAAI,UAAU,+BACb,mBAAC,KACC,KAAMA,EACN,OAAO,SACP,IAAI,sBACJ,aAAW,MACT,6CACA,oCACA,wBACA,mBACF,EAEC,SAAAC,EACH,EACF,GAEJ,KAMA,OAAC,OAAI,aAAW,MAAG,gDAAiD,kCAAkC,EAClG,UAAAH,GAAcH,EAAM,WACpB,OAAC,WACC,OAAQG,GAAcH,GAAO,OAAO,IACpC,IAAKA,GAAO,OAAO,KAAOE,GAAcF,GAAO,KAC/C,aAAW,MAAG,eAAe,EAC/B,EAEJ,GAKEY,GAAkBD,OAClB,QAAC,OAAI,UAAU,yCACZ,UAAAC,MACC,QAAC,QAAK,UAAU,0CACb,UAAAA,EAAe,IAAEC,GACpB,EAEDF,MACC,QAAC,OAAI,UAAU,4FACb,qBAAC,QAAK,UAAU,yBACb,UAAAI,EACAJ,GACH,KACA,OAAC,UAAO,QAAS,IAAMY,EAAWZ,CAAW,EAAG,UAAU,YAAY,MAAO,CAAE,SAAU,EAAG,EACzF,SAAAQ,EAASF,EAAaD,EACzB,GACF,EAEDF,MAAa,QAAC,QAAK,UAAU,kCAAkC,2CAAMA,GAAU,GAClF,EAMDV,MACC,OAAC,KAAE,aAAW,MAAG,2EAA2E,EACzF,SAAAA,EACH,GAEJ,KAKA,OAAC,OAAI,UAAU,iBACb,mBAAC,UAAO,QAASqB,EAAe,aAAW,MAAG,QAAQ,EACnD,SAAAjB,EACH,EACF,GACF,CAEJ,EAMA,IAAOhB,EAAQD",
6
+ "names": ["WinnerModal_exports", "__export", "WinnerModal", "WinnerModal_default", "__toCommonJS", "import_jsx_runtime", "import_react", "import_helpers", "import_components", "import_BaseModal", "isOpen", "prize", "title", "prizeTitle", "prizeImage", "prizeDescription", "learnMoreUrl", "learnMoreText", "onClose", "confirmText", "onConfirm", "className", "couponCode", "couponDiscount", "couponUnit", "expiresAt", "codeText", "copyText", "copiedText", "onCopyCode", "copied", "setCopied", "React", "timerRef", "handleCopy", "code", "handleConfirm"]
7
+ }
@@ -0,0 +1,52 @@
1
+ /**
2
+ * WheelLottery - 大转盘抽奖组件
3
+ *
4
+ * 用于营销活动的交互式抽奖转盘,支持多品牌主题和响应式布局。
5
+ *
6
+ * @module WheelLottery
7
+ * @date 2025-12-17
8
+ */
9
+ import React from 'react';
10
+ import type { WheelLotteryProps, WheelLotteryHandle } from './types.js';
11
+ /**
12
+ * WheelLottery 组件
13
+ *
14
+ * @example
15
+ * ```tsx
16
+ * // 基础使用
17
+ * <WheelLottery
18
+ * prizes={prizes}
19
+ * winningPrizeId="prize-003"
20
+ * onSpinEnd={(prize) => alert(`You won ${prize.name}`)}
21
+ * />
22
+ *
23
+ * // 使用 ref 控制弹窗
24
+ * const lotteryRef = useRef<WheelLotteryHandle>(null)
25
+ *
26
+ * <WheelLottery ref={lotteryRef} prizes={prizes} />
27
+ *
28
+ * // 外部触发弹窗
29
+ * lotteryRef.current?.showError({
30
+ * title: 'Error',
31
+ * message: 'Something went wrong'
32
+ * })
33
+ * ```
34
+ */
35
+ export declare const WheelLottery: React.ForwardRefExoticComponent<WheelLotteryProps & React.RefAttributes<WheelLotteryHandle>>;
36
+ declare const _default: React.ForwardRefExoticComponent<Omit<WheelLotteryProps & React.RefAttributes<WheelLotteryHandle> & {
37
+ style?: string | React.CSSProperties;
38
+ container?: import("../../shared/Styles.js").ContainerProps["container"];
39
+ }, "ref"> & React.RefAttributes<any>>;
40
+ export default _default;
41
+ export { WinnerModal } from './WinnerModal.js';
42
+ export { RulesModal } from './RulesModal.js';
43
+ export { MyRewardsModal } from './MyRewardsModal.js';
44
+ export { ErrorModal } from './ErrorModal.js';
45
+ export { ShareModal } from './ShareModal.js';
46
+ export { BaseModal } from './BaseModal.js';
47
+ export type { WheelLotteryProps, WheelLotteryHandle, Prize, ChanceMethod, ChanceMethodStatus, WinningInfo, WheelProps, PrizePoolProps, ChanceMethodsProps, WinnerModalProps, WinnerModalConfig, UserData, ShareModalConfig, SocialPlatform, SharePlatformConfig, } from './types.js';
48
+ export type { RulesModalProps, RuleItem } from './RulesModal.js';
49
+ export type { MyRewardsModalProps, Reward, RewardStatus } from './MyRewardsModal.js';
50
+ export type { ErrorModalProps } from './ErrorModal.js';
51
+ export type { ShareModalProps } from './ShareModal.js';
52
+ export type { BaseModalProps } from './BaseModal.js';
@@ -0,0 +1,2 @@
1
+ "use strict";"use client";var D=Object.defineProperty;var Ve=Object.getOwnPropertyDescriptor;var qe=Object.getOwnPropertyNames;var Je=Object.prototype.hasOwnProperty;var Qe=(r,s)=>{for(var d in s)D(r,d,{get:s[d],enumerable:!0})},Xe=(r,s,d,w)=>{if(s&&typeof s=="object"||typeof s=="function")for(let h of qe(s))!Je.call(r,h)&&h!==d&&D(r,h,{get:()=>s[h],enumerable:!(w=Ve(s,h))||w.enumerable});return r};var Ze=r=>Xe(D({},"__esModule",{value:!0}),r);var tt={};Qe(tt,{BaseModal:()=>re.BaseModal,ErrorModal:()=>oe.ErrorModal,MyRewardsModal:()=>te.MyRewardsModal,RulesModal:()=>ee.RulesModal,ShareModal:()=>se.ShareModal,WheelLottery:()=>F,WinnerModal:()=>Z.WinnerModal,default:()=>et});module.exports=Ze(tt);var t=require("react/jsx-runtime"),e=require("react"),u=require("../../helpers/index.js"),m=require("./types.js"),S=require("../../components/grid.js"),K=require("./Wheel.js"),$=require("./PrizePool.js"),Y=require("./ChanceMethods.js"),V=require("./WinnerModal.js"),q=require("./RulesModal.js"),J=require("./MyRewardsModal.js"),L=require("./ErrorModal.js"),Q=require("./ShareModal.js"),X=require("../../shared/Styles.js"),Z=require("./WinnerModal.js"),ee=require("./RulesModal.js"),te=require("./MyRewardsModal.js"),oe=require("./ErrorModal.js"),se=require("./ShareModal.js"),re=require("./BaseModal.js");const F=(0,e.forwardRef)(({prizes:r,theme:s,winningPrizeId:d,spinDuration:w=m.DEFAULT_WHEEL_CONFIG.spinDuration,easing:h=m.DEFAULT_WHEEL_CONFIG.easing,wheelBackgroundImage:ne,pointerImage:ie,chanceMethods:B=m.DEFAULT_CHANCE_METHODS,chanceTitle:ae=m.DEFAULT_WHEEL_CONFIG.chanceTitle,chanceSubtitle:le,chanceFooterNote:pe,winningInfos:de=[],onSpinStart:R,onSpinEnd:N,onSpinError:v,winnerModalConfig:n,rulesModalConfig:ce={},myRewardsModalConfig:fe={},errorModalConfig:x={},shareModalConfig:g={},userData:p,loginPromptText:ot="Please log in to participate",onLoginRequired:I,noChancesText:O="You have no chances left",onCopyCode:me,opportunitiesText:U=["Number of draws remaining today:"],className:ue},he)=>{const{rulesData:C,rulesText:xe="Rules"}=ce,{rewardsData:k,myRewardsText:we="My Rewards",codeText:ge="CODE:",copyText:ye="COPY",prizeText:Me="Prize time:"}=fe,[i,c]=(0,e.useState)(m.INITIAL_WHEEL_STATE),[We,y]=(0,e.useState)(!1),[be,M]=(0,e.useState)(!1),[Te,W]=(0,e.useState)(!1),[Ee,b]=(0,e.useState)(!1),[Pe,T]=(0,e.useState)(!1),[Se,E]=(0,e.useState)(!1),[ze,j]=(0,e.useState)(""),[Re,Ne]=(0,e.useState)(),[ve,Ie]=(0,e.useState)(),[Ce,ke]=(0,e.useState)(),[Ae,De]=(0,e.useState)(),[Le,Fe]=(0,e.useState)(),[a,Be]=(0,e.useState)(),z=(0,e.useRef)(null);(0,e.useImperativeHandle)(he,()=>({showError:({message:o,title:l,confirmText:P})=>{j(o),Ne(l),Ie(P),b(!0)},hideError:()=>{b(!1)},showNoWin:o=>{ke(o?.title),De(o?.message),Fe(o?.confirmText),T(!0)},hideNoWin:()=>{T(!1)},showWinner:(o,l)=>{c(P=>({...P,winningPrize:o})),Be(l),y(!0)},hideWinner:()=>{y(!1)},showRules:()=>{M(!0)},hideRules:()=>{M(!1)},showRewards:()=>{W(!0)},hideRewards:()=>{W(!1)},showShare:()=>{E(!0)},hideShare:()=>{E(!1)},hideAllModals:()=>{y(!1),M(!1),W(!1),b(!1),T(!1),E(!1)}}),[]),(0,e.useEffect)(()=>{},[r,d]),(0,e.useEffect)(()=>()=>{z.current!==null&&cancelAnimationFrame(z.current)},[]);const Oe=(0,e.useCallback)(async()=>{if(!i.isSpinning){if(!p?.isLoggedIn){I?.();return}if(p.availableChances<=0){v?.(new Error(O));return}c(o=>({...o,isSpinning:!0,isButtonDisabled:!0}));try{let o=d;R&&(o=await R());const l=r.find(f=>f.prizeKey===o)||r[0],P=r.findIndex(f=>f.prizeKey===l.prizeKey),He=360/r.length,Ge=P*He,H=3*360+(360-Ge);await new Promise(f=>setTimeout(f,1500)),c(f=>({...f,isFinished:!0,currentRotation:0}));const _e=Date.now(),G=()=>{const Ke=Date.now()-_e,_=Math.min(Ke/w,1),$e=1-Math.pow(1-_,3),Ye=H*$e;c(A=>({...A,currentRotation:Ye})),_<1?z.current=requestAnimationFrame(G):(c(A=>({...A,isSpinning:!1,isButtonDisabled:!0,winningPrize:l,currentRotation:H})),N?N?.(l):setTimeout(()=>{l.prizeKey==="try-again"?T(!0):y(!0)},500))};z.current=requestAnimationFrame(G)}catch(o){c(l=>({...l,isSpinning:!1,isButtonDisabled:!1})),j(o.message||"An error occurred"),b(!0),v?.(o),console.error("\u62BD\u5956\u63A5\u53E3\u8C03\u7528\u5931\u8D25:",o)}}},[i.isSpinning,r,d,w,R,N,v,p,I,O]),Ue=(0,e.useCallback)(()=>{y(!1),c(o=>({...o,isButtonDisabled:!1,isFinished:!1}))},[]),je=(0,e.useCallback)(()=>{T(!1),c(o=>({...o,isButtonDisabled:!1,isFinished:!1}))},[]);return(0,t.jsxs)("div",{className:(0,u.cn)("wheel-lottery-container","w-full",s==="dark"?"aiui-dark":"",ue),children:[(0,t.jsxs)("div",{role:"status","aria-live":"polite","aria-atomic":"true",className:"sr-only",children:[i.isSpinning&&"\u62BD\u5956\u8FDB\u884C\u4E2D...",i.winningPrize&&!i.isSpinning&&`\u5DF2\u4E2D\u5956: ${i.winningPrize.name}`]}),(0,t.jsxs)(S.Grid,{className:(0,u.cn)("wheel-lottery-main","tablet:mb-4 mb-3"),children:[(0,t.jsx)(S.GridItem,{span:7,className:(0,u.cn)("wheel-section","relative flex h-[200px] w-full flex-1 items-center justify-center overflow-hidden","rounded-box","lg-desktop:aspect-w-[964] lg-desktop:aspect-h-[480]","desktop:aspect-w-[759] desktop:aspect-h-[384]","laptop:aspect-w-[516] laptop:aspect-h-[288]","l-tablet:col-span-12",s==="dark"?"bg-[#1E2024]":"bg-[#EAEAEC]"),children:(0,t.jsxs)("div",{className:(0,u.cn)(" w-full px-[16px] pt-[16px]","lg-desktop:pb-[32px] lg-desktop:px-[32px] desktop:pt-[24px] desktop:px-[24px] laptop:pt-[16px] laptop:px-[16px] tablet:px-[32px]","l-tablet:absolute l-tablet:top-0"),children:[(0,t.jsxs)("div",{className:"mb-2 flex w-full flex-wrap items-center justify-between gap-3",children:[(0,t.jsxs)("p",{className:"text-info-primary font-[700]",children:[U?.[0],(0,t.jsx)("span",{className:"text-[#FF6B35]",children:p?.availableChances||0}),U?.[1]||""]}),(0,t.jsxs)("div",{className:"flex items-center gap-4",children:[C&&(0,t.jsx)("button",{onClick:()=>M(!0),children:(0,t.jsx)("span",{className:"text-info-primary font-[700] underline ",children:xe})}),k&&(0,t.jsx)("button",{onClick:()=>W(!0),children:(0,t.jsx)("span",{className:"text-info-primary font-[700] underline ",children:we})})]})]}),(0,t.jsx)(K.Wheel,{theme:s,prizes:r,rotation:i.currentRotation,isSpinning:i.isSpinning,isFinished:i.isFinished,isButtonDisabled:i.isButtonDisabled||!!p?.isLoggedIn&&(p?.availableChances||0)<=0,userData:p,onGoClick:p?.isLoggedIn?Oe:I,wheelBackgroundImage:ne,pointerImage:ie})]})}),B.length>0&&(0,t.jsx)(S.GridItem,{span:5,className:(0,u.cn)("info-section","rounded-box","relative flex flex-col overflow-hidden","lg-desktop:aspect-w-[684] lg-desktop:aspect-h-[480]","desktop:aspect-w-[536] desktop:aspect-h-[384]","laptop:aspect-w-[364] laptop:aspect-h-[288]","max-h-[320px] w-full","l-tablet:col-span-12",s==="dark"?"bg-[#1E2024]":"bg-[#EAEAEC]"),children:(0,t.jsx)(Y.ChanceMethods,{theme:s,userData:p,methods:B,title:ae,subtitle:le,footerNote:pe,onOpenShareModal:()=>E(!0)})})]}),(0,t.jsx)("div",{className:(0,u.cn)("wheel-lottery-footer","rounded-box","flex flex-col overflow-hidden",s==="dark"?"bg-[#1E2024]":"bg-[#EAEAEC]"),children:(0,t.jsx)($.PrizePool,{theme:s,prizes:r,winningInfos:de})}),(0,t.jsx)(V.WinnerModal,{isOpen:We,prize:i.winningPrize,title:a?.title||n?.title,prizeTitle:a?.prizeTitle||n?.prizeTitle,prizeImage:a?.prizeImage||n?.prizeImage,prizeDescription:a?.prizeDescription||n?.prizeDescription,learnMoreUrl:a?.learnMoreUrl||n?.learnMoreUrl,learnMoreText:a?.learnMoreText||n?.learnMoreText,couponCode:a?.couponCode||n?.couponCode,expiresAt:a?.expiresAt||n?.expiresAt,couponDiscount:a?.couponDiscount||n?.couponDiscount,couponUnit:a?.couponUnit||n?.couponUnit,confirmText:a?.confirmText||n?.confirmText,onClose:Ue}),C&&(0,t.jsx)(q.RulesModal,{isOpen:be,onClose:()=>M(!1),rules:C}),k&&(0,t.jsx)(J.MyRewardsModal,{isOpen:Te,onClose:()=>W(!1),rewards:k,onCopyCode:me,codeText:ge,copyText:ye,prizeText:Me}),(0,t.jsx)(L.ErrorModal,{isOpen:Ee,onClose:()=>b(!1),title:Re||x?.title,message:ze||x?.message,confirmText:ve||x?.confirmText}),(0,t.jsx)(L.ErrorModal,{isOpen:Pe,onClose:je,title:Ce||x?.title,message:Ae||x?.message,confirmText:Le||x?.confirmText}),(0,t.jsx)(Q.ShareModal,{isOpen:Se,onClose:()=>E(!1),title:g?.title,subtitle:g?.subtitle,note:g?.note,platforms:g?.platforms,onShareSuccess:g?.onShareSuccess})]})});F.displayName="WheelLottery";var et=(0,X.withLayout)(F);
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/biz-components/WheelLottery/index.tsx"],
4
+ "sourcesContent": ["/**\n * WheelLottery - \u5927\u8F6C\u76D8\u62BD\u5956\u7EC4\u4EF6\n *\n * \u7528\u4E8E\u8425\u9500\u6D3B\u52A8\u7684\u4EA4\u4E92\u5F0F\u62BD\u5956\u8F6C\u76D8\uFF0C\u652F\u6301\u591A\u54C1\u724C\u4E3B\u9898\u548C\u54CD\u5E94\u5F0F\u5E03\u5C40\u3002\n *\n * @module WheelLottery\n * @date 2025-12-17\n */\n\n'use client'\n\nimport React, { useState, useCallback, useRef, useEffect, useImperativeHandle, forwardRef } from 'react'\nimport { cn } from '../../helpers/index.js'\nimport { DEFAULT_WHEEL_CONFIG, DEFAULT_CHANCE_METHODS, INITIAL_WHEEL_STATE } from './types.js'\nimport { Grid, GridItem } from '../../components/grid.js'\nimport { Wheel } from './Wheel.js'\nimport { PrizePool } from './PrizePool.js'\nimport { ChanceMethods } from './ChanceMethods.js'\nimport { WinnerModal } from './WinnerModal.js'\nimport { RulesModal } from './RulesModal.js'\nimport { MyRewardsModal } from './MyRewardsModal.js'\nimport { ErrorModal } from './ErrorModal.js'\nimport { ShareModal } from './ShareModal.js'\nimport { withLayout } from '../../shared/Styles.js'\n\nimport type { WheelLotteryProps, WheelState, WheelLotteryHandle, WinnerModalConfig } from './types.js'\n\n// ============================================================================\n// \u4E3B\u7EC4\u4EF6\n// ============================================================================\n\n/**\n * WheelLottery \u7EC4\u4EF6\n *\n * @example\n * ```tsx\n * // \u57FA\u7840\u4F7F\u7528\n * <WheelLottery\n * prizes={prizes}\n * winningPrizeId=\"prize-003\"\n * onSpinEnd={(prize) => alert(`You won ${prize.name}`)}\n * />\n *\n * // \u4F7F\u7528 ref \u63A7\u5236\u5F39\u7A97\n * const lotteryRef = useRef<WheelLotteryHandle>(null)\n *\n * <WheelLottery ref={lotteryRef} prizes={prizes} />\n *\n * // \u5916\u90E8\u89E6\u53D1\u5F39\u7A97\n * lotteryRef.current?.showError({\n * title: 'Error',\n * message: 'Something went wrong'\n * })\n * ```\n */\nexport const WheelLottery = forwardRef<WheelLotteryHandle, WheelLotteryProps>(\n (\n {\n prizes,\n theme,\n winningPrizeId,\n spinDuration = DEFAULT_WHEEL_CONFIG.spinDuration,\n easing = DEFAULT_WHEEL_CONFIG.easing,\n wheelBackgroundImage,\n pointerImage,\n chanceMethods = DEFAULT_CHANCE_METHODS,\n chanceTitle = DEFAULT_WHEEL_CONFIG.chanceTitle,\n chanceSubtitle,\n chanceFooterNote,\n winningInfos = [],\n onSpinStart,\n onSpinEnd,\n onSpinError,\n winnerModalConfig,\n rulesModalConfig = {},\n myRewardsModalConfig = {},\n errorModalConfig = {},\n shareModalConfig = {},\n userData,\n loginPromptText = 'Please log in to participate',\n onLoginRequired,\n noChancesText = 'You have no chances left',\n onCopyCode,\n opportunitiesText = ['Number of draws remaining today:'],\n className,\n },\n ref\n ) => {\n const { rulesData, rulesText = 'Rules' } = rulesModalConfig\n const {\n rewardsData,\n myRewardsText = 'My Rewards',\n codeText = 'CODE:',\n copyText = 'COPY',\n prizeText = 'Prize time:',\n } = myRewardsModalConfig\n // ==========================================================================\n // State \u7BA1\u7406\n // ==========================================================================\n\n const [wheelState, setWheelState] = useState<WheelState>(INITIAL_WHEEL_STATE)\n const [showWinnerModal, setShowWinnerModal] = useState(false)\n const [showRulesModal, setShowRulesModal] = useState(false)\n const [showRewardsModal, setShowRewardsModal] = useState(false)\n const [showErrorModal, setShowErrorModal] = useState(false)\n const [showNoWinModal, setShowNoWinModal] = useState(false)\n const [showShareModal, setShowShareModal] = useState(false)\n const [errorMessage, setErrorMessage] = useState('')\n const [errorTitle, setErrorTitle] = useState<string | undefined>()\n const [errorConfirmText, setErrorConfirmText] = useState<string | undefined>()\n const [noWinTitle, setNoWinTitle] = useState<string | undefined>()\n const [noWinMessage, setNoWinMessage] = useState<string | undefined>()\n const [noWinConfirmText, setNoWinConfirmText] = useState<string | undefined>()\n const [externalWinnerConfig, setExternalWinnerConfig] = useState<Partial<WinnerModalConfig> | undefined>()\n const animationRef = useRef<number | null>(null)\n\n // ==========================================================================\n // Imperative Handle - \u66B4\u9732\u65B9\u6CD5\u7ED9\u7236\u7EC4\u4EF6\n // ==========================================================================\n\n useImperativeHandle(\n ref,\n () => ({\n showError: ({ message, title, confirmText }) => {\n setErrorMessage(message)\n setErrorTitle(title)\n setErrorConfirmText(confirmText)\n setShowErrorModal(true)\n },\n hideError: () => {\n setShowErrorModal(false)\n },\n showNoWin: config => {\n setNoWinTitle(config?.title)\n setNoWinMessage(config?.message)\n setNoWinConfirmText(config?.confirmText)\n setShowNoWinModal(true)\n },\n hideNoWin: () => {\n setShowNoWinModal(false)\n },\n showWinner: (prize, config) => {\n setWheelState(prev => ({ ...prev, winningPrize: prize }))\n setExternalWinnerConfig(config)\n setShowWinnerModal(true)\n },\n hideWinner: () => {\n setShowWinnerModal(false)\n },\n showRules: () => {\n setShowRulesModal(true)\n },\n hideRules: () => {\n setShowRulesModal(false)\n },\n showRewards: () => {\n setShowRewardsModal(true)\n },\n hideRewards: () => {\n setShowRewardsModal(false)\n },\n showShare: () => {\n setShowShareModal(true)\n },\n hideShare: () => {\n setShowShareModal(false)\n },\n hideAllModals: () => {\n setShowWinnerModal(false)\n setShowRulesModal(false)\n setShowRewardsModal(false)\n setShowErrorModal(false)\n setShowNoWinModal(false)\n setShowShareModal(false)\n },\n }),\n []\n )\n\n // ==========================================================================\n // Props \u9A8C\u8BC1\uFF08\u5F00\u53D1\u73AF\u5883\uFF09\n // ==========================================================================\n\n useEffect(() => {\n if (process.env.NODE_ENV === 'development' && prizes) {\n if (prizes.length !== 8) {\n console.warn(\n `WheelLottery expects exactly 8 prizes, got ${prizes.length}. The component may not render correctly.`\n )\n }\n\n if (winningPrizeId && !prizes.find(p => p.prizeKey === winningPrizeId)) {\n console.warn(`WheelLottery: winningPrizeId \"${winningPrizeId}\" not found in prizes array.`)\n }\n }\n }, [prizes, winningPrizeId])\n\n // ==========================================================================\n // \u6E05\u7406\u52A8\u753B\n // ==========================================================================\n\n useEffect(() => {\n return () => {\n // \u7EC4\u4EF6\u5378\u8F7D\u65F6\u53D6\u6D88\u52A8\u753B\u5E27\n if (animationRef.current !== null) {\n cancelAnimationFrame(animationRef.current)\n }\n }\n }, [])\n\n // ==========================================================================\n // \u62BD\u5956\u903B\u8F91\n // ==========================================================================\n\n /**\n * \u5F00\u59CB\u62BD\u5956 - \u652F\u6301\u5F02\u6B65\u63A5\u53E3\u8C03\u7528\n * \u5229\u7528\u521D\u59CB\u6162\u901F\u65CB\u8F6C\uFF0C\u70B9\u51FB\u540E\u8FDB\u5165\u5FEB\u901F\u65CB\u8F6C\u72B6\u6001\uFF0C\u63A5\u53E3\u8FD4\u56DE\u540E\u51CF\u901F\u505C\u6B62\n */\n const handleSpinStart = useCallback(async () => {\n if (wheelState.isSpinning) return\n\n // \u68C0\u67E5\u7528\u6237\u662F\u5426\u5DF2\u767B\u5F55\n if (!userData?.isLoggedIn) {\n onLoginRequired?.()\n return\n }\n\n // \u68C0\u67E5\u7528\u6237\u662F\u5426\u6709\u5269\u4F59\u6B21\u6570\n if (userData.availableChances <= 0) {\n // \u53EF\u4EE5\u901A\u8FC7 onSpinError \u56DE\u8C03\u901A\u77E5\u7236\u7EC4\u4EF6\n onSpinError?.(new Error(noChancesText))\n return\n }\n\n // \u8FDB\u5165\u5FEB\u901F\u65CB\u8F6C\u72B6\u6001\uFF08\u521D\u59CB\u6162\u901F\u65CB\u8F6C\u4F1A\u81EA\u52A8\u53D8\u4E3A\u5FEB\u901F\u65CB\u8F6C\uFF09\n setWheelState(prev => ({\n ...prev,\n isSpinning: true,\n isButtonDisabled: true,\n }))\n\n try {\n // \u8C03\u7528\u5916\u90E8\u63A5\u53E3\u83B7\u53D6\u4E2D\u5956\u7ED3\u679C\n let finalWinningPrizeId = winningPrizeId\n\n if (onSpinStart) {\n // \u7B49\u5F85\u63A5\u53E3\u8FD4\u56DE\u4E2D\u5956 ID\uFF08\u63A5\u53E3\u65F6\u95F4\u4E0D\u56FA\u5B9A\uFF0C1-30s\uFF09\n // \u5728\u6B64\u671F\u95F4\uFF0C\u8F6C\u76D8\u4F1A\u4FDD\u6301\u5FEB\u901F\u65CB\u8F6C\uFF08\u7531 CSS \u52A8\u753B\u63A7\u5236\uFF09\n finalWinningPrizeId = await onSpinStart()\n }\n\n // \u786E\u5B9A\u4E2D\u5956\u5956\u54C1\n const winningPrize = prizes.find(p => p.prizeKey === finalWinningPrizeId) || prizes[0]\n const winningIndex = prizes.findIndex(p => p.prizeKey === winningPrize.prizeKey)\n\n // \u8BA1\u7B97\u76EE\u6807\u89D2\u5EA6\n const degreesPerPrize = 360 / prizes.length\n const basePrizeAngle = winningIndex * degreesPerPrize\n // \u81F3\u5C11\u65CB\u8F6C 3 \u5708\uFF081080\u5EA6\uFF09+ \u76EE\u6807\u89D2\u5EA6\n const minRotations = 3\n const targetAngle = minRotations * 360 + (360 - basePrizeAngle)\n\n // \u63A5\u53E3\u8FD4\u56DE\u540E\uFF0C\u7B49\u5F85 1.5s \u518D\u5F00\u59CB\u505C\u6B62\u52A8\u753B\n await new Promise(resolve => setTimeout(resolve, 1500))\n\n // \u7ACB\u5373\u8FDB\u5165\u51CF\u901F\u72B6\u6001\uFF0C\u505C\u6B62 CSS \u5FAA\u73AF\u52A8\u753B\n setWheelState(prev => ({\n ...prev,\n isFinished: true,\n currentRotation: 0, // \u4ECE 0 \u5EA6\u5F00\u59CB\u51CF\u901F\u52A8\u753B\n }))\n\n // \u5F00\u59CB\u505C\u6B62\u65CB\u8F6C\u52A8\u753B\n const startTime = Date.now()\n\n const animate = () => {\n const now = Date.now()\n const elapsed = now - startTime\n const progress = Math.min(elapsed / spinDuration, 1)\n\n // \u5E94\u7528 ease-out \u7F13\u52A8\u51FD\u6570\n const eased = 1 - Math.pow(1 - progress, 3)\n\n // \u8BA1\u7B97\u5F53\u524D\u65CB\u8F6C\u89D2\u5EA6\n const currentRotation = targetAngle * eased\n\n // \u66F4\u65B0\u72B6\u6001\n setWheelState(prev => ({\n ...prev,\n currentRotation,\n }))\n\n // \u7EE7\u7EED\u52A8\u753B\u6216\u7ED3\u675F\n if (progress < 1) {\n animationRef.current = requestAnimationFrame(animate)\n } else {\n // \u52A8\u753B\u7ED3\u675F - \u4FDD\u6301\u6309\u94AE\u7981\u7528\u72B6\u6001,\u76F4\u5230\u5F39\u7A97\u5173\u95ED\n setWheelState(prev => ({\n ...prev,\n isSpinning: false,\n isButtonDisabled: true,\n winningPrize,\n currentRotation: targetAngle,\n }))\n\n // \u5EF6\u8FDF\u663E\u793A\u5F39\u7A97\uFF08500ms\u540E\uFF09\n if (onSpinEnd) {\n onSpinEnd?.(winningPrize)\n } else {\n setTimeout(() => {\n // \u68C0\u67E5\u662F\u5426\u672A\u4E2D\u5956\uFF08try-again\uFF09\n if (winningPrize.prizeKey === 'try-again') {\n // \u672A\u4E2D\u5956\uFF0C\u663E\u793A ErrorModal\n setShowNoWinModal(true)\n } else {\n // \u4E2D\u5956\uFF0C\u663E\u793A WinnerModal\n setShowWinnerModal(true)\n }\n }, 500)\n }\n }\n }\n\n // \u542F\u52A8\u505C\u6B62\u52A8\u753B\n animationRef.current = requestAnimationFrame(animate)\n } catch (error) {\n // \u63A5\u53E3\u62A5\u9519\uFF0C\u6062\u590D\u5230\u521D\u59CB\u6162\u901F\u65CB\u8F6C\u72B6\u6001\n setWheelState(prev => ({\n ...prev,\n isSpinning: false,\n isButtonDisabled: false,\n }))\n\n // \u663E\u793A\u9519\u8BEF\u5F39\u7A97\n setErrorMessage((error as Error).message || 'An error occurred')\n setShowErrorModal(true)\n\n // \u89E6\u53D1\u9519\u8BEF\u56DE\u8C03\n onSpinError?.(error as Error)\n\n console.error('\u62BD\u5956\u63A5\u53E3\u8C03\u7528\u5931\u8D25:', error)\n }\n }, [\n wheelState.isSpinning,\n prizes,\n winningPrizeId,\n spinDuration,\n onSpinStart,\n onSpinEnd,\n onSpinError,\n userData,\n onLoginRequired,\n noChancesText,\n ])\n\n // ==========================================================================\n // \u5F39\u7A97\u5173\u95ED\u5904\u7406\n // ==========================================================================\n\n /**\n * \u5173\u95ED\u4E2D\u5956\u5F39\u7A97\u5E76\u91CD\u7F6E\u8F6C\u76D8\u72B6\u6001\n */\n const handleCloseWinnerModal = useCallback(() => {\n setShowWinnerModal(false)\n // \u91CD\u7F6E\u8F6C\u76D8\u72B6\u6001,\u5141\u8BB8\u4E0B\u6B21\u62BD\u5956\n setWheelState(prev => ({\n ...prev,\n isButtonDisabled: false,\n isFinished: false, // \u91CD\u7F6E\u4E3A\u672A\u5B8C\u6210,\u6062\u590D\u521D\u59CB\u65CB\u8F6C\u52A8\u753B\n }))\n }, [])\n\n /**\n * \u5173\u95ED\u672A\u4E2D\u5956\u5F39\u7A97\u5E76\u91CD\u7F6E\u8F6C\u76D8\u72B6\u6001\n */\n const handleCloseNoWinModal = useCallback(() => {\n setShowNoWinModal(false)\n // \u91CD\u7F6E\u8F6C\u76D8\u72B6\u6001,\u5141\u8BB8\u4E0B\u6B21\u62BD\u5956\n setWheelState(prev => ({\n ...prev,\n isButtonDisabled: false,\n isFinished: false, // \u91CD\u7F6E\u4E3A\u672A\u5B8C\u6210,\u6062\u590D\u521D\u59CB\u65CB\u8F6C\u52A8\u753B\n }))\n }, [])\n\n // ==========================================================================\n // \u6E32\u67D3\n // ==========================================================================\n\n return (\n <div className={cn('wheel-lottery-container', 'w-full', theme === 'dark' ? 'aiui-dark' : '', className)}>\n {/* ARIA Live Region - \u5C4F\u5E55\u9605\u8BFB\u5668\u72B6\u6001\u64AD\u62A5 */}\n <div role=\"status\" aria-live=\"polite\" aria-atomic=\"true\" className=\"sr-only\">\n {wheelState.isSpinning && '\u62BD\u5956\u8FDB\u884C\u4E2D...'}\n {wheelState.winningPrize && !wheelState.isSpinning && `\u5DF2\u4E2D\u5956: ${wheelState.winningPrize.name}`}\n </div>\n\n {/* \u4E3B\u5185\u5BB9\u533A - \u54CD\u5E94\u5F0F\u4E24\u680F/\u5355\u680F\u5E03\u5C40 */}\n <Grid className={cn('wheel-lottery-main', 'tablet:mb-4 mb-3')}>\n {/* \u5DE6\u4FA7\uFF1A\u8F6C\u76D8\u533A\u57DF */}\n <GridItem\n span={7}\n className={cn(\n 'wheel-section',\n 'relative flex h-[200px] w-full flex-1 items-center justify-center overflow-hidden',\n 'rounded-box',\n 'lg-desktop:aspect-w-[964] lg-desktop:aspect-h-[480]',\n 'desktop:aspect-w-[759] desktop:aspect-h-[384]',\n 'laptop:aspect-w-[516] laptop:aspect-h-[288]',\n 'l-tablet:col-span-12',\n theme === 'dark' ? 'bg-[#1E2024]' : 'bg-[#EAEAEC]'\n )}\n >\n <div\n className={cn(\n ' w-full px-[16px] pt-[16px]',\n 'lg-desktop:pb-[32px] lg-desktop:px-[32px] desktop:pt-[24px] desktop:px-[24px] laptop:pt-[16px] laptop:px-[16px] tablet:px-[32px]',\n 'l-tablet:absolute l-tablet:top-0'\n )}\n >\n {/* \u9876\u90E8\u4FE1\u606F\u680F\uFF1A\u5DE6\u4FA7\u673A\u4F1A\u8FDB\u5EA6\uFF0C\u53F3\u4FA7\u94FE\u63A5 */}\n <div className=\"mb-2 flex w-full flex-wrap items-center justify-between gap-3\">\n {/* \u5DE6\u4FA7\uFF1A\u673A\u4F1A\u5C55\u793A */}\n <p className=\"text-info-primary font-[700]\">\n {opportunitiesText?.[0]}\n <span className=\"text-[#FF6B35]\">{userData?.availableChances || 0}</span>\n {opportunitiesText?.[1] || ''}\n </p>\n {/* \u53F3\u4FA7\uFF1ARules \u548C My Rewards \u6309\u94AE */}\n <div className=\"flex items-center gap-4\">\n {rulesData && (\n <button onClick={() => setShowRulesModal(true)}>\n <span className=\"text-info-primary font-[700] underline \">{rulesText}</span>\n </button>\n )}\n {rewardsData && (\n <button onClick={() => setShowRewardsModal(true)}>\n <span className=\"text-info-primary font-[700] underline \">{myRewardsText}</span>\n </button>\n )}\n </div>\n </div>\n {/* \u8F6C\u76D8\u7EC4\u4EF6 */}\n <Wheel\n theme={theme}\n prizes={prizes}\n rotation={wheelState.currentRotation}\n isSpinning={wheelState.isSpinning}\n isFinished={wheelState.isFinished}\n isButtonDisabled={\n wheelState.isButtonDisabled || (!!userData?.isLoggedIn && (userData?.availableChances || 0) <= 0)\n }\n userData={userData}\n onGoClick={userData?.isLoggedIn ? handleSpinStart : onLoginRequired}\n wheelBackgroundImage={wheelBackgroundImage}\n pointerImage={pointerImage}\n />\n </div>\n </GridItem>\n\n {/* \u53F3\u4FA7\uFF1A\u83B7\u53D6\u673A\u4F1A\u533A\u57DF */}\n {chanceMethods.length > 0 && (\n <GridItem\n span={5}\n className={cn(\n 'info-section',\n 'rounded-box',\n 'relative flex flex-col overflow-hidden',\n 'lg-desktop:aspect-w-[684] lg-desktop:aspect-h-[480]',\n 'desktop:aspect-w-[536] desktop:aspect-h-[384]',\n 'laptop:aspect-w-[364] laptop:aspect-h-[288]',\n 'max-h-[320px] w-full',\n 'l-tablet:col-span-12',\n theme === 'dark' ? 'bg-[#1E2024]' : 'bg-[#EAEAEC]'\n )}\n >\n <ChanceMethods\n theme={theme}\n userData={userData}\n methods={chanceMethods}\n title={chanceTitle}\n subtitle={chanceSubtitle}\n footerNote={chanceFooterNote}\n onOpenShareModal={() => setShowShareModal(true)}\n />\n </GridItem>\n )}\n </Grid>\n\n {/* \u5E95\u90E8\u533A\u57DF\uFF1A\u5956\u54C1\u6C60(\u5305\u542B\u4E2D\u5956\u4EBA\u540D\u5355) */}\n <div\n className={cn(\n 'wheel-lottery-footer',\n 'rounded-box',\n 'flex flex-col overflow-hidden',\n theme === 'dark' ? 'bg-[#1E2024]' : 'bg-[#EAEAEC]'\n )}\n >\n {/* \u5956\u54C1\u6C60(\u5305\u542B\u4E2D\u5956\u4EBA\u540D\u5355\u81EA\u52A8\u6EDA\u52A8) */}\n <PrizePool theme={theme} prizes={prizes} winningInfos={winningInfos} />\n </div>\n\n {/* \u4E2D\u5956\u5F39\u7A97 */}\n <WinnerModal\n isOpen={showWinnerModal}\n prize={wheelState.winningPrize}\n title={externalWinnerConfig?.title || winnerModalConfig?.title}\n prizeTitle={externalWinnerConfig?.prizeTitle || winnerModalConfig?.prizeTitle}\n prizeImage={externalWinnerConfig?.prizeImage || winnerModalConfig?.prizeImage}\n prizeDescription={externalWinnerConfig?.prizeDescription || winnerModalConfig?.prizeDescription}\n learnMoreUrl={externalWinnerConfig?.learnMoreUrl || winnerModalConfig?.learnMoreUrl}\n learnMoreText={externalWinnerConfig?.learnMoreText || winnerModalConfig?.learnMoreText}\n couponCode={externalWinnerConfig?.couponCode || winnerModalConfig?.couponCode}\n expiresAt={externalWinnerConfig?.expiresAt || winnerModalConfig?.expiresAt}\n couponDiscount={externalWinnerConfig?.couponDiscount || winnerModalConfig?.couponDiscount}\n couponUnit={externalWinnerConfig?.couponUnit || winnerModalConfig?.couponUnit}\n confirmText={externalWinnerConfig?.confirmText || winnerModalConfig?.confirmText}\n onClose={handleCloseWinnerModal}\n />\n\n {/* Rules \u5F39\u7A97 */}\n {rulesData && <RulesModal isOpen={showRulesModal} onClose={() => setShowRulesModal(false)} rules={rulesData} />}\n\n {/* My Rewards \u5F39\u7A97 */}\n {rewardsData && (\n <MyRewardsModal\n isOpen={showRewardsModal}\n onClose={() => setShowRewardsModal(false)}\n rewards={rewardsData}\n onCopyCode={onCopyCode}\n codeText={codeText}\n copyText={copyText}\n prizeText={prizeText}\n />\n )}\n\n {/* \u9519\u8BEF\u5F39\u7A97 */}\n <ErrorModal\n isOpen={showErrorModal}\n onClose={() => setShowErrorModal(false)}\n title={errorTitle || errorModalConfig?.title}\n message={errorMessage || errorModalConfig?.message}\n confirmText={errorConfirmText || errorModalConfig?.confirmText}\n />\n\n {/* \u672A\u4E2D\u5956\u5F39\u7A97 */}\n <ErrorModal\n isOpen={showNoWinModal}\n onClose={handleCloseNoWinModal}\n title={noWinTitle || errorModalConfig?.title}\n message={noWinMessage || errorModalConfig?.message}\n confirmText={noWinConfirmText || errorModalConfig?.confirmText}\n />\n\n {/* \u5206\u4EAB\u5F39\u7A97 */}\n <ShareModal\n isOpen={showShareModal}\n onClose={() => setShowShareModal(false)}\n title={shareModalConfig?.title}\n subtitle={shareModalConfig?.subtitle}\n note={shareModalConfig?.note}\n platforms={shareModalConfig?.platforms}\n onShareSuccess={shareModalConfig?.onShareSuccess}\n />\n </div>\n )\n }\n)\n\n// \u8BBE\u7F6E displayName \u7528\u4E8E\u8C03\u8BD5\nWheelLottery.displayName = 'WheelLottery'\n\n// ============================================================================\n// \u5BFC\u51FA\n// ============================================================================\n\nexport default withLayout(WheelLottery)\nexport { WinnerModal } from './WinnerModal.js'\nexport { RulesModal } from './RulesModal.js'\nexport { MyRewardsModal } from './MyRewardsModal.js'\nexport { ErrorModal } from './ErrorModal.js'\nexport { ShareModal } from './ShareModal.js'\nexport { BaseModal } from './BaseModal.js'\nexport type {\n WheelLotteryProps,\n WheelLotteryHandle,\n Prize,\n ChanceMethod,\n ChanceMethodStatus,\n WinningInfo,\n WheelProps,\n PrizePoolProps,\n ChanceMethodsProps,\n WinnerModalProps,\n WinnerModalConfig,\n UserData,\n ShareModalConfig,\n SocialPlatform,\n SharePlatformConfig,\n} from './types.js'\nexport type { RulesModalProps, RuleItem } from './RulesModal.js'\nexport type { MyRewardsModalProps, Reward, RewardStatus } from './MyRewardsModal.js'\nexport type { ErrorModalProps } from './ErrorModal.js'\nexport type { ShareModalProps } from './ShareModal.js'\nexport type { BaseModalProps } from './BaseModal.js'\n"],
5
+ "mappings": "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",
6
+ "names": ["WheelLottery_exports", "__export", "WheelLottery", "WheelLottery_default", "__toCommonJS", "import_jsx_runtime", "import_react", "import_helpers", "import_types", "import_grid", "import_Wheel", "import_PrizePool", "import_ChanceMethods", "import_WinnerModal", "import_RulesModal", "import_MyRewardsModal", "import_ErrorModal", "import_ShareModal", "import_Styles", "import_BaseModal", "prizes", "theme", "winningPrizeId", "spinDuration", "easing", "wheelBackgroundImage", "pointerImage", "chanceMethods", "chanceTitle", "chanceSubtitle", "chanceFooterNote", "winningInfos", "onSpinStart", "onSpinEnd", "onSpinError", "winnerModalConfig", "rulesModalConfig", "myRewardsModalConfig", "errorModalConfig", "shareModalConfig", "userData", "loginPromptText", "onLoginRequired", "noChancesText", "onCopyCode", "opportunitiesText", "className", "ref", "rulesData", "rulesText", "rewardsData", "myRewardsText", "codeText", "copyText", "prizeText", "wheelState", "setWheelState", "showWinnerModal", "setShowWinnerModal", "showRulesModal", "setShowRulesModal", "showRewardsModal", "setShowRewardsModal", "showErrorModal", "setShowErrorModal", "showNoWinModal", "setShowNoWinModal", "showShareModal", "setShowShareModal", "errorMessage", "setErrorMessage", "errorTitle", "setErrorTitle", "errorConfirmText", "setErrorConfirmText", "noWinTitle", "setNoWinTitle", "noWinMessage", "setNoWinMessage", "noWinConfirmText", "setNoWinConfirmText", "externalWinnerConfig", "setExternalWinnerConfig", "animationRef", "message", "title", "confirmText", "config", "prize", "prev", "handleSpinStart", "finalWinningPrizeId", "winningPrize", "p", "winningIndex", "degreesPerPrize", "basePrizeAngle", "targetAngle", "resolve", "startTime", "animate", "elapsed", "progress", "eased", "currentRotation", "error", "handleCloseWinnerModal", "handleCloseNoWinModal"]
7
+ }