@anker-in/headless-ui 1.1.28-alpha.1768202456200 → 1.1.29
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.
- package/dist/cjs/biz-components/AccordionCards/index.d.ts +3 -3
- package/dist/cjs/biz-components/AiuiProvider/index.d.ts +0 -7
- package/dist/cjs/biz-components/AiuiProvider/index.js +1 -1
- package/dist/cjs/biz-components/AiuiProvider/index.js.map +2 -2
- package/dist/cjs/biz-components/AplusDesc/index.d.ts +3 -3
- package/dist/cjs/biz-components/BrandEquity/BrandEquity.d.ts +3 -3
- package/dist/cjs/biz-components/BrandEquity/BrandEquity.js +1 -1
- package/dist/cjs/biz-components/BrandEquity/BrandEquity.js.map +2 -2
- package/dist/cjs/biz-components/BrandEquity/types.d.ts +0 -1
- package/dist/cjs/biz-components/BrandEquity/types.js +1 -1
- package/dist/cjs/biz-components/BrandEquity/types.js.map +1 -1
- package/dist/cjs/biz-components/Category/index.d.ts +3 -3
- package/dist/cjs/biz-components/CreativeModule/index.d.ts +3 -3
- package/dist/cjs/biz-components/DownLoad/index.d.ts +3 -3
- package/dist/cjs/biz-components/Evaluate/index.d.ts +3 -3
- package/dist/cjs/biz-components/Evaluate/index.js +1 -1
- package/dist/cjs/biz-components/Evaluate/index.js.map +2 -2
- package/dist/cjs/biz-components/Faq/Faq.d.ts +3 -3
- package/dist/cjs/biz-components/FeatureCards/FeatureCards.d.ts +3 -3
- package/dist/cjs/biz-components/FeatureShowcase/FeatureShowcase.d.ts +3 -3
- package/dist/cjs/biz-components/Features/index.d.ts +3 -3
- package/dist/cjs/biz-components/FootCharger/index.d.ts +3 -3
- package/dist/cjs/biz-components/FooterNavigation/index.d.ts +3 -3
- package/dist/cjs/biz-components/GiftBox/index.d.ts +3 -3
- package/dist/cjs/biz-components/Graphic/index.d.ts +3 -3
- package/dist/cjs/biz-components/GraphicAttractionBlock/index.d.ts +3 -3
- package/dist/cjs/biz-components/GraphicMore/index.d.ts +3 -3
- package/dist/cjs/biz-components/GraphicOverlay/GraphicOverlay.d.ts +3 -3
- package/dist/cjs/biz-components/HeaderNavigation/index.d.ts +3 -3
- package/dist/cjs/biz-components/HeroBanner/Countdown.js +1 -1
- package/dist/cjs/biz-components/HeroBanner/Countdown.js.map +2 -2
- package/dist/cjs/biz-components/HeroBanner/HeroBanner.d.ts +3 -6
- package/dist/cjs/biz-components/HeroBanner/HeroBanner.js +1 -1
- package/dist/cjs/biz-components/HeroBanner/HeroBanner.js.map +3 -3
- package/dist/cjs/biz-components/HeroBanner/types.d.ts +0 -4
- package/dist/cjs/biz-components/HeroBanner/types.js +1 -1
- package/dist/cjs/biz-components/HeroBanner/types.js.map +1 -1
- package/dist/cjs/biz-components/ImageTextFeature/ImageTextFeature.d.ts +3 -3
- package/dist/cjs/biz-components/ImageTextFeature/ImageTextFeature.js +1 -1
- package/dist/cjs/biz-components/ImageTextFeature/ImageTextFeature.js.map +3 -3
- package/dist/cjs/biz-components/ImageTextFeature/types.d.ts +0 -1
- package/dist/cjs/biz-components/ImageTextFeature/types.js +1 -1
- package/dist/cjs/biz-components/ImageTextFeature/types.js.map +1 -1
- package/dist/cjs/biz-components/ImageWithText/ImageWithText.d.ts +3 -3
- package/dist/cjs/biz-components/Ksp/index.d.ts +3 -3
- package/dist/cjs/biz-components/Listing/components/PaidShipping/index.d.ts +4 -4
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.d.ts +3 -3
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.d.ts +3 -3
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.d.ts +3 -3
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.d.ts +3 -3
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.d.ts +3 -3
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.d.ts +3 -3
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/index.d.ts +3 -3
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductSummary/index.d.ts +3 -3
- package/dist/cjs/biz-components/Listing/components/PurchaseBar/index.d.ts +3 -3
- package/dist/cjs/biz-components/Marquee/Marquee.d.ts +3 -3
- package/dist/cjs/biz-components/Marquee/Marquee.js +1 -1
- package/dist/cjs/biz-components/Marquee/Marquee.js.map +3 -3
- package/dist/cjs/biz-components/MarqueeReview/index.d.ts +3 -3
- package/dist/cjs/biz-components/MediaPlayerBase/index.d.ts +3 -3
- package/dist/cjs/biz-components/MediaPlayerMulti/index.d.ts +3 -3
- package/dist/cjs/biz-components/MediaPlayerSticky/index.d.ts +4 -4
- package/dist/cjs/biz-components/MediaPlayerSticky/types.d.ts +0 -1
- package/dist/cjs/biz-components/MediaPlayerSticky/types.js +1 -1
- package/dist/cjs/biz-components/MediaPlayerSticky/types.js.map +1 -1
- package/dist/cjs/biz-components/MediaSceneSwitcher/MediaSceneSwitcher.d.ts +3 -3
- package/dist/cjs/biz-components/MemberEquity/index.d.ts +3 -3
- package/dist/cjs/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.d.ts +3 -3
- package/dist/cjs/biz-components/ProductCompare/index.d.ts +3 -3
- package/dist/cjs/biz-components/ProductHero/ProductHero.d.ts +3 -3
- package/dist/cjs/biz-components/ProductNav/ProductNav.d.ts +3 -3
- package/dist/cjs/biz-components/SelectStore/index.d.ts +3 -3
- package/dist/cjs/biz-components/ShelfDisplay/index.d.ts +3 -3
- package/dist/cjs/biz-components/ShelfDisplay/shelfDisplay.d.ts +11 -0
- package/dist/cjs/biz-components/ShelfDisplay/shelfDisplay.js +1 -1
- package/dist/cjs/biz-components/ShelfDisplay/shelfDisplay.js.map +3 -3
- package/dist/cjs/biz-components/ShelfDisplay/shelfDisplayItem.js +4 -4
- package/dist/cjs/biz-components/ShelfDisplay/shelfDisplayItem.js.map +3 -3
- package/dist/cjs/biz-components/Slogan/index.d.ts +3 -3
- package/dist/cjs/biz-components/Spacer/index.d.ts +3 -3
- package/dist/cjs/biz-components/Specs/index.d.ts +3 -3
- package/dist/cjs/biz-components/SpecsComparison/SpecsComparison.d.ts +3 -3
- package/dist/cjs/biz-components/TabWithImage/TabWithImage.d.ts +3 -3
- package/dist/cjs/biz-components/Tabs/Tabs.d.ts +3 -3
- package/dist/cjs/biz-components/Tabs/Tabs.js +1 -1
- package/dist/cjs/biz-components/Tabs/Tabs.js.map +3 -3
- package/dist/cjs/biz-components/Tabs/types.d.ts +0 -9
- package/dist/cjs/biz-components/Tabs/types.js +1 -1
- package/dist/cjs/biz-components/Tabs/types.js.map +1 -1
- package/dist/cjs/biz-components/TabsGroup/index.d.ts +3 -3
- package/dist/cjs/biz-components/TabsWithMedia/TabsWithMedia.d.ts +3 -3
- package/dist/cjs/biz-components/ThreeDCarousel/ThreeDCarousel.d.ts +3 -3
- package/dist/cjs/biz-components/Title/index.d.ts +3 -3
- package/dist/cjs/biz-components/Title/index.js +1 -1
- package/dist/cjs/biz-components/Title/index.js.map +3 -3
- package/dist/cjs/biz-components/Title/types.d.ts +0 -55
- package/dist/cjs/biz-components/Title/types.js +1 -1
- package/dist/cjs/biz-components/Title/types.js.map +1 -1
- package/dist/cjs/biz-components/VideoFeature/VideoFeature.d.ts +3 -3
- package/dist/cjs/biz-components/WhyChoose/WhyChoose.d.ts +3 -3
- package/dist/cjs/biz-components/index.d.ts +0 -32
- package/dist/cjs/biz-components/index.js +1 -1
- package/dist/cjs/biz-components/index.js.map +3 -3
- package/dist/cjs/components/badge.d.ts +2 -5
- package/dist/cjs/components/badge.js +1 -1
- package/dist/cjs/components/badge.js.map +3 -3
- package/dist/cjs/components/index.d.ts +0 -2
- package/dist/cjs/components/index.js +1 -1
- package/dist/cjs/components/index.js.map +3 -3
- package/dist/cjs/components/tabs.d.ts +1 -2
- package/dist/cjs/components/tabs.js +1 -1
- package/dist/cjs/components/tabs.js.map +2 -2
- package/dist/cjs/helpers/index.d.ts +0 -1
- package/dist/cjs/helpers/index.js +1 -1
- package/dist/cjs/helpers/index.js.map +3 -3
- package/dist/cjs/shared/Styles.d.ts +4 -5
- package/dist/cjs/shared/Styles.js +1 -1
- package/dist/cjs/shared/Styles.js.map +3 -3
- package/dist/cjs/stories/HeroBanner.stories.d.ts +28 -0
- package/dist/cjs/stories/HeroBanner.stories.js +11 -0
- package/dist/cjs/stories/HeroBanner.stories.js.map +7 -0
- package/dist/cjs/stories/InlineVideo.stories.d.ts +37 -0
- package/dist/cjs/stories/InlineVideo.stories.js +164 -0
- package/dist/cjs/stories/InlineVideo.stories.js.map +7 -0
- package/dist/cjs/stories/MarqueeReview.stories.d.ts +72 -0
- package/dist/cjs/stories/MarqueeReview.stories.js +19 -0
- package/dist/cjs/stories/MarqueeReview.stories.js.map +7 -0
- package/dist/cjs/stories/MediaSceneSwitcher.stories.d.ts +47 -0
- package/dist/cjs/stories/MediaSceneSwitcher.stories.js +2 -0
- package/dist/cjs/stories/MediaSceneSwitcher.stories.js.map +7 -0
- package/dist/cjs/stories/MemberEquity.stories.d.ts +9 -0
- package/dist/cjs/stories/MemberEquity.stories.js +31 -0
- package/dist/cjs/stories/MemberEquity.stories.js.map +7 -0
- package/dist/cjs/stories/MultiLayoutGraphicBlock.stories.d.ts +9 -0
- package/dist/cjs/stories/MultiLayoutGraphicBlock.stories.js +2 -0
- package/dist/cjs/stories/MultiLayoutGraphicBlock.stories.js.map +7 -0
- package/dist/cjs/stories/ProductNav.stories.d.ts +55 -0
- package/dist/cjs/stories/ProductNav.stories.js +2 -0
- package/dist/cjs/stories/ProductNav.stories.js.map +7 -0
- package/dist/cjs/stories/ThreeDCarousel.stories.d.ts +27 -0
- package/dist/cjs/stories/ThreeDCarousel.stories.js +118 -0
- package/dist/cjs/stories/ThreeDCarousel.stories.js.map +7 -0
- package/dist/cjs/stories/accordionCards.stories.d.ts +38 -0
- package/dist/cjs/stories/accordionCards.stories.js +2 -0
- package/dist/cjs/stories/accordionCards.stories.js.map +7 -0
- package/dist/cjs/stories/alert.stories.d.ts +27 -0
- package/dist/cjs/stories/alert.stories.js +2 -0
- package/dist/cjs/stories/alert.stories.js.map +7 -0
- package/dist/cjs/stories/avatar.stories.d.ts +39 -0
- package/dist/cjs/stories/avatar.stories.js +2 -0
- package/dist/cjs/stories/avatar.stories.js.map +7 -0
- package/dist/cjs/stories/badge.stories.d.ts +31 -0
- package/dist/cjs/stories/badge.stories.js +2 -0
- package/dist/cjs/stories/badge.stories.js.map +7 -0
- package/dist/cjs/stories/bizTabs.stories.d.ts +7 -0
- package/dist/cjs/stories/bizTabs.stories.js +2 -0
- package/dist/cjs/stories/bizTabs.stories.js.map +7 -0
- package/dist/cjs/stories/board.stories.d.ts +6 -0
- package/dist/cjs/stories/board.stories.js +2 -0
- package/dist/cjs/stories/board.stories.js.map +7 -0
- package/dist/cjs/stories/brandEquity.stories.d.ts +16 -0
- package/dist/cjs/stories/brandEquity.stories.js +2 -0
- package/dist/cjs/stories/brandEquity.stories.js.map +7 -0
- package/dist/cjs/stories/brandStrip.stories.d.ts +12 -0
- package/dist/cjs/stories/brandStrip.stories.js +2 -0
- package/dist/cjs/stories/brandStrip.stories.js.map +7 -0
- package/dist/cjs/stories/button.stories.d.ts +56 -0
- package/dist/cjs/stories/button.stories.js +2 -0
- package/dist/cjs/stories/button.stories.js.map +7 -0
- package/dist/cjs/stories/card.stories.d.ts +27 -0
- package/dist/cjs/stories/card.stories.js +2 -0
- package/dist/cjs/stories/card.stories.js.map +7 -0
- package/dist/cjs/stories/carousel.stories.d.ts +8 -0
- package/dist/cjs/stories/carousel.stories.js +2 -0
- package/dist/cjs/stories/carousel.stories.js.map +7 -0
- package/dist/cjs/stories/category.stories.d.ts +17 -0
- package/dist/cjs/stories/category.stories.js +2 -0
- package/dist/cjs/stories/category.stories.js.map +7 -0
- package/dist/cjs/stories/checkbox.stories.d.ts +46 -0
- package/dist/cjs/stories/checkbox.stories.js +2 -0
- package/dist/cjs/stories/checkbox.stories.js.map +7 -0
- package/dist/cjs/stories/container.stories.d.ts +28 -0
- package/dist/cjs/stories/container.stories.js +15 -0
- package/dist/cjs/stories/container.stories.js.map +7 -0
- package/dist/cjs/stories/cpnBanner.stories.d.ts +14 -0
- package/dist/cjs/stories/cpnBanner.stories.js +2 -0
- package/dist/cjs/stories/cpnBanner.stories.js.map +7 -0
- package/dist/cjs/stories/cpnCountdown.stories.d.ts +12 -0
- package/dist/cjs/stories/cpnCountdown.stories.js +2 -0
- package/dist/cjs/stories/cpnCountdown.stories.js.map +7 -0
- package/dist/cjs/stories/cpnNavigation.stories.d.ts +14 -0
- package/dist/cjs/stories/cpnNavigation.stories.js +2 -0
- package/dist/cjs/stories/cpnNavigation.stories.js.map +7 -0
- package/dist/cjs/stories/cpnProductcard.stories.d.ts +14 -0
- package/dist/cjs/stories/cpnProductcard.stories.js +2 -0
- package/dist/cjs/stories/cpnProductcard.stories.js.map +7 -0
- package/dist/cjs/stories/cpnTitle.stories.d.ts +14 -0
- package/dist/cjs/stories/cpnTitle.stories.js +2 -0
- package/dist/cjs/stories/cpnTitle.stories.js.map +7 -0
- package/dist/cjs/stories/creativeModule.stories.d.ts +19 -0
- package/dist/cjs/stories/creativeModule.stories.js +2 -0
- package/dist/cjs/stories/creativeModule.stories.js.map +7 -0
- package/dist/cjs/stories/dialog.stories.d.ts +20 -0
- package/dist/cjs/stories/dialog.stories.js +2 -0
- package/dist/cjs/stories/dialog.stories.js.map +7 -0
- package/dist/cjs/stories/drawer.stories.d.ts +20 -0
- package/dist/cjs/stories/drawer.stories.js +2 -0
- package/dist/cjs/stories/drawer.stories.js.map +7 -0
- package/dist/cjs/stories/drop-down.stories.d.ts +16 -0
- package/dist/cjs/stories/drop-down.stories.js +2 -0
- package/dist/cjs/stories/drop-down.stories.js.map +7 -0
- package/dist/cjs/stories/evaluate.stories.d.ts +16 -0
- package/dist/cjs/stories/evaluate.stories.js +2 -0
- package/dist/cjs/stories/evaluate.stories.js.map +7 -0
- package/dist/cjs/stories/faq.stories.d.ts +21 -0
- package/dist/cjs/stories/faq.stories.js +2 -0
- package/dist/cjs/stories/faq.stories.js.map +7 -0
- package/dist/cjs/stories/featureCards.stories.d.ts +30 -0
- package/dist/cjs/stories/featureCards.stories.js +61 -0
- package/dist/cjs/stories/featureCards.stories.js.map +7 -0
- package/dist/cjs/stories/featureShowcase.stories.d.ts +29 -0
- package/dist/cjs/stories/featureShowcase.stories.js +44 -0
- package/dist/cjs/stories/featureShowcase.stories.js.map +7 -0
- package/dist/cjs/stories/graphic.stories.d.ts +64 -0
- package/dist/cjs/stories/graphic.stories.js +2 -0
- package/dist/cjs/stories/graphic.stories.js.map +7 -0
- package/dist/cjs/stories/graphicAttractionBlock.stories.d.ts +6 -0
- package/dist/cjs/stories/graphicAttractionBlock.stories.js +2 -0
- package/dist/cjs/stories/graphicAttractionBlock.stories.js.map +7 -0
- package/dist/cjs/stories/grid.stories.d.ts +22 -0
- package/dist/cjs/stories/grid.stories.js +13 -0
- package/dist/cjs/stories/grid.stories.js.map +7 -0
- package/dist/cjs/stories/heading.stories.d.ts +84 -0
- package/dist/cjs/stories/heading.stories.js +15 -0
- package/dist/cjs/stories/heading.stories.js.map +7 -0
- package/dist/cjs/stories/imageTextFeature.stories.d.ts +28 -0
- package/dist/cjs/stories/imageTextFeature.stories.js +50 -0
- package/dist/cjs/stories/imageTextFeature.stories.js.map +7 -0
- package/dist/cjs/stories/imageWithText.stories.d.ts +51 -0
- package/dist/cjs/stories/imageWithText.stories.js +84 -0
- package/dist/cjs/stories/imageWithText.stories.js.map +7 -0
- package/dist/cjs/stories/input-number.stories.d.ts +39 -0
- package/dist/cjs/stories/input-number.stories.js +2 -0
- package/dist/cjs/stories/input-number.stories.js.map +7 -0
- package/dist/cjs/stories/input.stories.d.ts +35 -0
- package/dist/cjs/stories/input.stories.js +2 -0
- package/dist/cjs/stories/input.stories.js.map +7 -0
- package/dist/cjs/stories/ksp.stories.d.ts +63 -0
- package/dist/cjs/stories/ksp.stories.js +128 -0
- package/dist/cjs/stories/ksp.stories.js.map +7 -0
- package/dist/cjs/stories/link.stories.d.ts +69 -0
- package/dist/cjs/stories/link.stories.js +2 -0
- package/dist/cjs/stories/link.stories.js.map +7 -0
- package/dist/cjs/stories/marquee.stories.d.ts +30 -0
- package/dist/cjs/stories/marquee.stories.js +2 -0
- package/dist/cjs/stories/marquee.stories.js.map +7 -0
- package/dist/cjs/stories/mediaplayerBase.stories.d.ts +6 -0
- package/dist/cjs/stories/mediaplayerBase.stories.js +2 -0
- package/dist/cjs/stories/mediaplayerBase.stories.js.map +7 -0
- package/dist/cjs/stories/mediaplayerMulti.stories.d.ts +16 -0
- package/dist/cjs/stories/mediaplayerMulti.stories.js +2 -0
- package/dist/cjs/stories/mediaplayerMulti.stories.js.map +7 -0
- package/dist/cjs/stories/picture.stories.d.ts +23 -0
- package/dist/cjs/stories/picture.stories.js +9 -0
- package/dist/cjs/stories/picture.stories.js.map +7 -0
- package/dist/cjs/stories/popover.stories.d.ts +17 -0
- package/dist/cjs/stories/popover.stories.js +2 -0
- package/dist/cjs/stories/popover.stories.js.map +7 -0
- package/dist/cjs/stories/productCompare.stories.d.ts +54 -0
- package/dist/cjs/stories/productCompare.stories.js +54 -0
- package/dist/cjs/stories/productCompare.stories.js.map +7 -0
- package/dist/cjs/stories/productHero.stories.d.ts +29 -0
- package/dist/cjs/stories/productHero.stories.js +50 -0
- package/dist/cjs/stories/productHero.stories.js.map +7 -0
- package/dist/cjs/stories/radio.stories.d.ts +39 -0
- package/dist/cjs/stories/radio.stories.js +2 -0
- package/dist/cjs/stories/radio.stories.js.map +7 -0
- package/dist/cjs/stories/shelfDisplay.stories.d.ts +16 -0
- package/dist/cjs/stories/shelfDisplay.stories.js +2 -0
- package/dist/cjs/stories/shelfDisplay.stories.js.map +7 -0
- package/dist/cjs/stories/skeleton.stories.d.ts +20 -0
- package/dist/cjs/stories/skeleton.stories.js +2 -0
- package/dist/cjs/stories/skeleton.stories.js.map +7 -0
- package/dist/cjs/stories/slogan.stories.d.ts +20 -0
- package/dist/cjs/stories/slogan.stories.js +6 -0
- package/dist/cjs/stories/slogan.stories.js.map +7 -0
- package/dist/cjs/stories/specs.stories.d.ts +13 -0
- package/dist/cjs/stories/specs.stories.js +57 -0
- package/dist/cjs/stories/specs.stories.js.map +7 -0
- package/dist/cjs/stories/specsComparison.stories.d.ts +28 -0
- package/dist/cjs/stories/specsComparison.stories.js +105 -0
- package/dist/cjs/stories/specsComparison.stories.js.map +7 -0
- package/dist/cjs/stories/tabWithImage.stories.d.ts +28 -0
- package/dist/cjs/stories/tabWithImage.stories.js +53 -0
- package/dist/cjs/stories/tabWithImage.stories.js.map +7 -0
- package/dist/cjs/stories/tabs.stories.d.ts +373 -0
- package/dist/cjs/stories/tabs.stories.js +2 -0
- package/dist/cjs/stories/tabs.stories.js.map +7 -0
- package/dist/cjs/stories/tabsWithMedia.stories.d.ts +28 -0
- package/dist/cjs/stories/tabsWithMedia.stories.js +68 -0
- package/dist/cjs/stories/tabsWithMedia.stories.js.map +7 -0
- package/dist/cjs/stories/text.stories.d.ts +86 -0
- package/dist/cjs/stories/text.stories.js +21 -0
- package/dist/cjs/stories/text.stories.js.map +7 -0
- package/dist/cjs/stories/videoFeature.stories.d.ts +29 -0
- package/dist/cjs/stories/videoFeature.stories.js +56 -0
- package/dist/cjs/stories/videoFeature.stories.js.map +7 -0
- package/dist/cjs/stories/whychoose.stories.d.ts +21 -0
- package/dist/cjs/stories/whychoose.stories.js +2 -0
- package/dist/cjs/stories/whychoose.stories.js.map +7 -0
- package/dist/cjs/types/props.d.ts +3 -0
- package/dist/cjs/types/props.js +1 -1
- package/dist/cjs/types/props.js.map +1 -1
- package/dist/esm/biz-components/AccordionCards/index.d.ts +3 -3
- package/dist/esm/biz-components/AiuiProvider/index.d.ts +0 -7
- package/dist/esm/biz-components/AiuiProvider/index.js +1 -1
- package/dist/esm/biz-components/AiuiProvider/index.js.map +2 -2
- package/dist/esm/biz-components/AplusDesc/index.d.ts +3 -3
- package/dist/esm/biz-components/BrandEquity/BrandEquity.d.ts +3 -3
- package/dist/esm/biz-components/BrandEquity/BrandEquity.js +1 -1
- package/dist/esm/biz-components/BrandEquity/BrandEquity.js.map +2 -2
- package/dist/esm/biz-components/BrandEquity/types.d.ts +0 -1
- package/dist/esm/biz-components/Category/index.d.ts +3 -3
- package/dist/esm/biz-components/CreativeModule/index.d.ts +3 -3
- package/dist/esm/biz-components/DownLoad/index.d.ts +3 -3
- package/dist/esm/biz-components/Evaluate/index.d.ts +3 -3
- package/dist/esm/biz-components/Evaluate/index.js +1 -1
- package/dist/esm/biz-components/Evaluate/index.js.map +2 -2
- package/dist/esm/biz-components/Faq/Faq.d.ts +3 -3
- package/dist/esm/biz-components/FeatureCards/FeatureCards.d.ts +3 -3
- package/dist/esm/biz-components/FeatureShowcase/FeatureShowcase.d.ts +3 -3
- package/dist/esm/biz-components/Features/index.d.ts +3 -3
- package/dist/esm/biz-components/FootCharger/index.d.ts +3 -3
- package/dist/esm/biz-components/FooterNavigation/index.d.ts +3 -3
- package/dist/esm/biz-components/GiftBox/index.d.ts +3 -3
- package/dist/esm/biz-components/Graphic/index.d.ts +3 -3
- package/dist/esm/biz-components/GraphicAttractionBlock/index.d.ts +3 -3
- package/dist/esm/biz-components/GraphicMore/index.d.ts +3 -3
- package/dist/esm/biz-components/GraphicOverlay/GraphicOverlay.d.ts +3 -3
- package/dist/esm/biz-components/HeaderNavigation/index.d.ts +3 -3
- package/dist/esm/biz-components/HeroBanner/Countdown.js +1 -1
- package/dist/esm/biz-components/HeroBanner/Countdown.js.map +2 -2
- package/dist/esm/biz-components/HeroBanner/HeroBanner.d.ts +3 -6
- package/dist/esm/biz-components/HeroBanner/HeroBanner.js +1 -1
- package/dist/esm/biz-components/HeroBanner/HeroBanner.js.map +3 -3
- package/dist/esm/biz-components/HeroBanner/types.d.ts +0 -4
- package/dist/esm/biz-components/ImageTextFeature/ImageTextFeature.d.ts +3 -3
- package/dist/esm/biz-components/ImageTextFeature/ImageTextFeature.js +1 -1
- package/dist/esm/biz-components/ImageTextFeature/ImageTextFeature.js.map +3 -3
- package/dist/esm/biz-components/ImageTextFeature/types.d.ts +0 -1
- package/dist/esm/biz-components/ImageWithText/ImageWithText.d.ts +3 -3
- package/dist/esm/biz-components/Ksp/index.d.ts +3 -3
- package/dist/esm/biz-components/Listing/components/PaidShipping/index.d.ts +4 -4
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.d.ts +3 -3
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.d.ts +3 -3
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.d.ts +3 -3
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.d.ts +3 -3
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.d.ts +3 -3
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.d.ts +3 -3
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/index.d.ts +3 -3
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductSummary/index.d.ts +3 -3
- package/dist/esm/biz-components/Listing/components/PurchaseBar/index.d.ts +3 -3
- package/dist/esm/biz-components/Marquee/Marquee.d.ts +3 -3
- package/dist/esm/biz-components/Marquee/Marquee.js +1 -1
- package/dist/esm/biz-components/Marquee/Marquee.js.map +3 -3
- package/dist/esm/biz-components/MarqueeReview/index.d.ts +3 -3
- package/dist/esm/biz-components/MediaPlayerBase/index.d.ts +3 -3
- package/dist/esm/biz-components/MediaPlayerMulti/index.d.ts +3 -3
- package/dist/esm/biz-components/MediaPlayerSticky/index.d.ts +4 -4
- package/dist/esm/biz-components/MediaPlayerSticky/types.d.ts +0 -1
- package/dist/esm/biz-components/MediaSceneSwitcher/MediaSceneSwitcher.d.ts +3 -3
- package/dist/esm/biz-components/MemberEquity/index.d.ts +3 -3
- package/dist/esm/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.d.ts +3 -3
- package/dist/esm/biz-components/ProductCompare/index.d.ts +3 -3
- package/dist/esm/biz-components/ProductHero/ProductHero.d.ts +3 -3
- package/dist/esm/biz-components/ProductNav/ProductNav.d.ts +3 -3
- package/dist/esm/biz-components/SelectStore/index.d.ts +3 -3
- package/dist/esm/biz-components/ShelfDisplay/index.d.ts +3 -3
- package/dist/esm/biz-components/ShelfDisplay/shelfDisplay.d.ts +11 -0
- package/dist/esm/biz-components/ShelfDisplay/shelfDisplay.js +1 -1
- package/dist/esm/biz-components/ShelfDisplay/shelfDisplay.js.map +3 -3
- package/dist/esm/biz-components/ShelfDisplay/shelfDisplayItem.js +5 -5
- package/dist/esm/biz-components/ShelfDisplay/shelfDisplayItem.js.map +3 -3
- package/dist/esm/biz-components/Slogan/index.d.ts +3 -3
- package/dist/esm/biz-components/Spacer/index.d.ts +3 -3
- package/dist/esm/biz-components/Specs/index.d.ts +3 -3
- package/dist/esm/biz-components/SpecsComparison/SpecsComparison.d.ts +3 -3
- package/dist/esm/biz-components/TabWithImage/TabWithImage.d.ts +3 -3
- package/dist/esm/biz-components/Tabs/Tabs.d.ts +3 -3
- package/dist/esm/biz-components/Tabs/Tabs.js +1 -1
- package/dist/esm/biz-components/Tabs/Tabs.js.map +3 -3
- package/dist/esm/biz-components/Tabs/types.d.ts +0 -9
- package/dist/esm/biz-components/TabsGroup/index.d.ts +3 -3
- package/dist/esm/biz-components/TabsWithMedia/TabsWithMedia.d.ts +3 -3
- package/dist/esm/biz-components/ThreeDCarousel/ThreeDCarousel.d.ts +3 -3
- package/dist/esm/biz-components/Title/index.d.ts +3 -3
- package/dist/esm/biz-components/Title/index.js +1 -1
- package/dist/esm/biz-components/Title/index.js.map +3 -3
- package/dist/esm/biz-components/Title/types.d.ts +0 -55
- package/dist/esm/biz-components/VideoFeature/VideoFeature.d.ts +3 -3
- package/dist/esm/biz-components/WhyChoose/WhyChoose.d.ts +3 -3
- package/dist/esm/biz-components/index.d.ts +0 -32
- package/dist/esm/biz-components/index.js +1 -1
- package/dist/esm/biz-components/index.js.map +3 -3
- package/dist/esm/components/badge.d.ts +2 -5
- package/dist/esm/components/badge.js +1 -1
- package/dist/esm/components/badge.js.map +3 -3
- package/dist/esm/components/index.d.ts +0 -2
- package/dist/esm/components/index.js +1 -1
- package/dist/esm/components/index.js.map +2 -2
- package/dist/esm/components/tabs.d.ts +1 -2
- package/dist/esm/components/tabs.js +1 -1
- package/dist/esm/components/tabs.js.map +2 -2
- package/dist/esm/helpers/index.d.ts +0 -1
- package/dist/esm/helpers/index.js +1 -1
- package/dist/esm/helpers/index.js.map +3 -3
- package/dist/esm/shared/Styles.d.ts +4 -5
- package/dist/esm/shared/Styles.js +1 -1
- package/dist/esm/shared/Styles.js.map +3 -3
- package/dist/esm/stories/HeroBanner.stories.d.ts +28 -0
- package/dist/esm/stories/HeroBanner.stories.js +11 -0
- package/dist/esm/stories/HeroBanner.stories.js.map +7 -0
- package/dist/esm/stories/InlineVideo.stories.d.ts +37 -0
- package/dist/esm/stories/InlineVideo.stories.js +164 -0
- package/dist/esm/stories/InlineVideo.stories.js.map +7 -0
- package/dist/esm/stories/MarqueeReview.stories.d.ts +72 -0
- package/dist/esm/stories/MarqueeReview.stories.js +19 -0
- package/dist/esm/stories/MarqueeReview.stories.js.map +7 -0
- package/dist/esm/stories/MediaSceneSwitcher.stories.d.ts +47 -0
- package/dist/esm/stories/MediaSceneSwitcher.stories.js +2 -0
- package/dist/esm/stories/MediaSceneSwitcher.stories.js.map +7 -0
- package/dist/esm/stories/MemberEquity.stories.d.ts +9 -0
- package/dist/esm/stories/MemberEquity.stories.js +31 -0
- package/dist/esm/stories/MemberEquity.stories.js.map +7 -0
- package/dist/esm/stories/MultiLayoutGraphicBlock.stories.d.ts +9 -0
- package/dist/esm/stories/MultiLayoutGraphicBlock.stories.js +2 -0
- package/dist/esm/stories/MultiLayoutGraphicBlock.stories.js.map +7 -0
- package/dist/esm/stories/ProductNav.stories.d.ts +55 -0
- package/dist/esm/stories/ProductNav.stories.js +2 -0
- package/dist/esm/stories/ProductNav.stories.js.map +7 -0
- package/dist/esm/stories/ThreeDCarousel.stories.d.ts +27 -0
- package/dist/esm/stories/ThreeDCarousel.stories.js +118 -0
- package/dist/esm/stories/ThreeDCarousel.stories.js.map +7 -0
- package/dist/esm/stories/accordionCards.stories.d.ts +38 -0
- package/dist/esm/stories/accordionCards.stories.js +2 -0
- package/dist/esm/stories/accordionCards.stories.js.map +7 -0
- package/dist/esm/stories/alert.stories.d.ts +27 -0
- package/dist/esm/stories/alert.stories.js +2 -0
- package/dist/esm/stories/alert.stories.js.map +7 -0
- package/dist/esm/stories/avatar.stories.d.ts +39 -0
- package/dist/esm/stories/avatar.stories.js +2 -0
- package/dist/esm/stories/avatar.stories.js.map +7 -0
- package/dist/esm/stories/badge.stories.d.ts +31 -0
- package/dist/esm/stories/badge.stories.js +2 -0
- package/dist/esm/stories/badge.stories.js.map +7 -0
- package/dist/esm/stories/bizTabs.stories.d.ts +7 -0
- package/dist/esm/stories/bizTabs.stories.js +2 -0
- package/dist/esm/stories/bizTabs.stories.js.map +7 -0
- package/dist/esm/stories/board.stories.d.ts +6 -0
- package/dist/esm/stories/board.stories.js +2 -0
- package/dist/esm/stories/board.stories.js.map +7 -0
- package/dist/esm/stories/brandEquity.stories.d.ts +16 -0
- package/dist/esm/stories/brandEquity.stories.js +2 -0
- package/dist/esm/stories/brandEquity.stories.js.map +7 -0
- package/dist/esm/stories/brandStrip.stories.d.ts +12 -0
- package/dist/esm/stories/brandStrip.stories.js +2 -0
- package/dist/esm/stories/brandStrip.stories.js.map +7 -0
- package/dist/esm/stories/button.stories.d.ts +56 -0
- package/dist/esm/stories/button.stories.js +2 -0
- package/dist/esm/stories/button.stories.js.map +7 -0
- package/dist/esm/stories/card.stories.d.ts +27 -0
- package/dist/esm/stories/card.stories.js +2 -0
- package/dist/esm/stories/card.stories.js.map +7 -0
- package/dist/esm/stories/carousel.stories.d.ts +8 -0
- package/dist/esm/stories/carousel.stories.js +2 -0
- package/dist/esm/stories/carousel.stories.js.map +7 -0
- package/dist/esm/stories/category.stories.d.ts +17 -0
- package/dist/esm/stories/category.stories.js +2 -0
- package/dist/esm/stories/category.stories.js.map +7 -0
- package/dist/esm/stories/checkbox.stories.d.ts +46 -0
- package/dist/esm/stories/checkbox.stories.js +2 -0
- package/dist/esm/stories/checkbox.stories.js.map +7 -0
- package/dist/esm/stories/container.stories.d.ts +28 -0
- package/dist/esm/stories/container.stories.js +15 -0
- package/dist/esm/stories/container.stories.js.map +7 -0
- package/dist/esm/stories/cpnBanner.stories.d.ts +14 -0
- package/dist/esm/stories/cpnBanner.stories.js +2 -0
- package/dist/esm/stories/cpnBanner.stories.js.map +7 -0
- package/dist/esm/stories/cpnCountdown.stories.d.ts +12 -0
- package/dist/esm/stories/cpnCountdown.stories.js +2 -0
- package/dist/esm/stories/cpnCountdown.stories.js.map +7 -0
- package/dist/esm/stories/cpnNavigation.stories.d.ts +14 -0
- package/dist/esm/stories/cpnNavigation.stories.js +2 -0
- package/dist/esm/stories/cpnNavigation.stories.js.map +7 -0
- package/dist/esm/stories/cpnProductcard.stories.d.ts +14 -0
- package/dist/esm/stories/cpnProductcard.stories.js +2 -0
- package/dist/esm/stories/cpnProductcard.stories.js.map +7 -0
- package/dist/esm/stories/cpnTitle.stories.d.ts +14 -0
- package/dist/esm/stories/cpnTitle.stories.js +2 -0
- package/dist/esm/stories/cpnTitle.stories.js.map +7 -0
- package/dist/esm/stories/creativeModule.stories.d.ts +19 -0
- package/dist/esm/stories/creativeModule.stories.js +2 -0
- package/dist/esm/stories/creativeModule.stories.js.map +7 -0
- package/dist/esm/stories/dialog.stories.d.ts +20 -0
- package/dist/esm/stories/dialog.stories.js +2 -0
- package/dist/esm/stories/dialog.stories.js.map +7 -0
- package/dist/esm/stories/drawer.stories.d.ts +20 -0
- package/dist/esm/stories/drawer.stories.js +2 -0
- package/dist/esm/stories/drawer.stories.js.map +7 -0
- package/dist/esm/stories/drop-down.stories.d.ts +16 -0
- package/dist/esm/stories/drop-down.stories.js +2 -0
- package/dist/esm/stories/drop-down.stories.js.map +7 -0
- package/dist/esm/stories/evaluate.stories.d.ts +16 -0
- package/dist/esm/stories/evaluate.stories.js +2 -0
- package/dist/esm/stories/evaluate.stories.js.map +7 -0
- package/dist/esm/stories/faq.stories.d.ts +21 -0
- package/dist/esm/stories/faq.stories.js +2 -0
- package/dist/esm/stories/faq.stories.js.map +7 -0
- package/dist/esm/stories/featureCards.stories.d.ts +30 -0
- package/dist/esm/stories/featureCards.stories.js +61 -0
- package/dist/esm/stories/featureCards.stories.js.map +7 -0
- package/dist/esm/stories/featureShowcase.stories.d.ts +29 -0
- package/dist/esm/stories/featureShowcase.stories.js +44 -0
- package/dist/esm/stories/featureShowcase.stories.js.map +7 -0
- package/dist/esm/stories/graphic.stories.d.ts +64 -0
- package/dist/esm/stories/graphic.stories.js +2 -0
- package/dist/esm/stories/graphic.stories.js.map +7 -0
- package/dist/esm/stories/graphicAttractionBlock.stories.d.ts +6 -0
- package/dist/esm/stories/graphicAttractionBlock.stories.js +2 -0
- package/dist/esm/stories/graphicAttractionBlock.stories.js.map +7 -0
- package/dist/esm/stories/grid.stories.d.ts +22 -0
- package/dist/esm/stories/grid.stories.js +13 -0
- package/dist/esm/stories/grid.stories.js.map +7 -0
- package/dist/esm/stories/heading.stories.d.ts +84 -0
- package/dist/esm/stories/heading.stories.js +15 -0
- package/dist/esm/stories/heading.stories.js.map +7 -0
- package/dist/esm/stories/imageTextFeature.stories.d.ts +28 -0
- package/dist/esm/stories/imageTextFeature.stories.js +50 -0
- package/dist/esm/stories/imageTextFeature.stories.js.map +7 -0
- package/dist/esm/stories/imageWithText.stories.d.ts +51 -0
- package/dist/esm/stories/imageWithText.stories.js +84 -0
- package/dist/esm/stories/imageWithText.stories.js.map +7 -0
- package/dist/esm/stories/input-number.stories.d.ts +39 -0
- package/dist/esm/stories/input-number.stories.js +2 -0
- package/dist/esm/stories/input-number.stories.js.map +7 -0
- package/dist/esm/stories/input.stories.d.ts +35 -0
- package/dist/esm/stories/input.stories.js +2 -0
- package/dist/esm/stories/input.stories.js.map +7 -0
- package/dist/esm/stories/ksp.stories.d.ts +63 -0
- package/dist/esm/stories/ksp.stories.js +128 -0
- package/dist/esm/stories/ksp.stories.js.map +7 -0
- package/dist/esm/stories/link.stories.d.ts +69 -0
- package/dist/esm/stories/link.stories.js +2 -0
- package/dist/esm/stories/link.stories.js.map +7 -0
- package/dist/esm/stories/marquee.stories.d.ts +30 -0
- package/dist/esm/stories/marquee.stories.js +2 -0
- package/dist/esm/stories/marquee.stories.js.map +7 -0
- package/dist/esm/stories/mediaplayerBase.stories.d.ts +6 -0
- package/dist/esm/stories/mediaplayerBase.stories.js +2 -0
- package/dist/esm/stories/mediaplayerBase.stories.js.map +7 -0
- package/dist/esm/stories/mediaplayerMulti.stories.d.ts +16 -0
- package/dist/esm/stories/mediaplayerMulti.stories.js +2 -0
- package/dist/esm/stories/mediaplayerMulti.stories.js.map +7 -0
- package/dist/esm/stories/picture.stories.d.ts +23 -0
- package/dist/esm/stories/picture.stories.js +9 -0
- package/dist/esm/stories/picture.stories.js.map +7 -0
- package/dist/esm/stories/popover.stories.d.ts +17 -0
- package/dist/esm/stories/popover.stories.js +2 -0
- package/dist/esm/stories/popover.stories.js.map +7 -0
- package/dist/esm/stories/productCompare.stories.d.ts +54 -0
- package/dist/esm/stories/productCompare.stories.js +54 -0
- package/dist/esm/stories/productCompare.stories.js.map +7 -0
- package/dist/esm/stories/productHero.stories.d.ts +29 -0
- package/dist/esm/stories/productHero.stories.js +50 -0
- package/dist/esm/stories/productHero.stories.js.map +7 -0
- package/dist/esm/stories/radio.stories.d.ts +39 -0
- package/dist/esm/stories/radio.stories.js +2 -0
- package/dist/esm/stories/radio.stories.js.map +7 -0
- package/dist/esm/stories/shelfDisplay.stories.d.ts +16 -0
- package/dist/esm/stories/shelfDisplay.stories.js +2 -0
- package/dist/esm/stories/shelfDisplay.stories.js.map +7 -0
- package/dist/esm/stories/skeleton.stories.d.ts +20 -0
- package/dist/esm/stories/skeleton.stories.js +2 -0
- package/dist/esm/stories/skeleton.stories.js.map +7 -0
- package/dist/esm/stories/slogan.stories.d.ts +20 -0
- package/dist/esm/stories/slogan.stories.js +6 -0
- package/dist/esm/stories/slogan.stories.js.map +7 -0
- package/dist/esm/stories/specs.stories.d.ts +13 -0
- package/dist/esm/stories/specs.stories.js +57 -0
- package/dist/esm/stories/specs.stories.js.map +7 -0
- package/dist/esm/stories/specsComparison.stories.d.ts +28 -0
- package/dist/esm/stories/specsComparison.stories.js +105 -0
- package/dist/esm/stories/specsComparison.stories.js.map +7 -0
- package/dist/esm/stories/tabWithImage.stories.d.ts +28 -0
- package/dist/esm/stories/tabWithImage.stories.js +53 -0
- package/dist/esm/stories/tabWithImage.stories.js.map +7 -0
- package/dist/esm/stories/tabs.stories.d.ts +373 -0
- package/dist/esm/stories/tabs.stories.js +2 -0
- package/dist/esm/stories/tabs.stories.js.map +7 -0
- package/dist/esm/stories/tabsWithMedia.stories.d.ts +28 -0
- package/dist/esm/stories/tabsWithMedia.stories.js +68 -0
- package/dist/esm/stories/tabsWithMedia.stories.js.map +7 -0
- package/dist/esm/stories/text.stories.d.ts +86 -0
- package/dist/esm/stories/text.stories.js +21 -0
- package/dist/esm/stories/text.stories.js.map +7 -0
- package/dist/esm/stories/videoFeature.stories.d.ts +29 -0
- package/dist/esm/stories/videoFeature.stories.js +56 -0
- package/dist/esm/stories/videoFeature.stories.js.map +7 -0
- package/dist/esm/stories/whychoose.stories.d.ts +21 -0
- package/dist/esm/stories/whychoose.stories.js +2 -0
- package/dist/esm/stories/whychoose.stories.js.map +7 -0
- package/dist/esm/types/props.d.ts +3 -0
- package/dist/tokens/base.css +3 -4
- package/dist/tokens/eufy.css +0 -1
- package/dist/tokens/soundcore.css +3 -4
- package/package.json +3 -8
- package/style.css +118 -4968
- package/tailwind.config.js +2 -19
- package/dist/cjs/biz-components/ActiveShelf/index.d.ts +0 -174
- package/dist/cjs/biz-components/ActiveShelf/index.js +0 -2
- package/dist/cjs/biz-components/ActiveShelf/index.js.map +0 -7
- package/dist/cjs/biz-components/ActiveShelf/types.d.ts +0 -89
- package/dist/cjs/biz-components/ActiveShelf/types.js +0 -2
- package/dist/cjs/biz-components/ActiveShelf/types.js.map +0 -7
- package/dist/cjs/biz-components/AnchorNavigation/index.d.ts +0 -42
- package/dist/cjs/biz-components/AnchorNavigation/index.js +0 -2
- package/dist/cjs/biz-components/AnchorNavigation/index.js.map +0 -7
- package/dist/cjs/biz-components/AnchorNavigation/useAnchorPosition.d.ts +0 -2
- package/dist/cjs/biz-components/AnchorNavigation/useAnchorPosition.js +0 -2
- package/dist/cjs/biz-components/AnchorNavigation/useAnchorPosition.js.map +0 -7
- package/dist/cjs/biz-components/BrandCardLink/BrandCardLink.d.ts +0 -6
- package/dist/cjs/biz-components/BrandCardLink/BrandCardLink.js +0 -2
- package/dist/cjs/biz-components/BrandCardLink/BrandCardLink.js.map +0 -7
- package/dist/cjs/biz-components/BrandCardLink/index.d.ts +0 -1
- package/dist/cjs/biz-components/BrandCardLink/index.js +0 -2
- package/dist/cjs/biz-components/BrandCardLink/index.js.map +0 -7
- package/dist/cjs/biz-components/BrandCardLink/types.d.ts +0 -19
- package/dist/cjs/biz-components/BrandCardLink/types.js +0 -2
- package/dist/cjs/biz-components/BrandCardLink/types.js.map +0 -7
- package/dist/cjs/biz-components/BuyOneGetOneShelf/ProductCard.d.ts +0 -74
- package/dist/cjs/biz-components/BuyOneGetOneShelf/ProductCard.js +0 -2
- package/dist/cjs/biz-components/BuyOneGetOneShelf/ProductCard.js.map +0 -7
- package/dist/cjs/biz-components/BuyOneGetOneShelf/hooks/useBogoDataTransform.d.ts +0 -36
- package/dist/cjs/biz-components/BuyOneGetOneShelf/hooks/useBogoDataTransform.js +0 -2
- package/dist/cjs/biz-components/BuyOneGetOneShelf/hooks/useBogoDataTransform.js.map +0 -7
- package/dist/cjs/biz-components/BuyOneGetOneShelf/index.d.ts +0 -193
- package/dist/cjs/biz-components/BuyOneGetOneShelf/index.js +0 -2
- package/dist/cjs/biz-components/BuyOneGetOneShelf/index.js.map +0 -7
- package/dist/cjs/biz-components/EventSchedule/index.d.ts +0 -63
- package/dist/cjs/biz-components/EventSchedule/index.js +0 -2
- package/dist/cjs/biz-components/EventSchedule/index.js.map +0 -7
- package/dist/cjs/biz-components/IPRedirect/RegionBanner.d.ts +0 -37
- package/dist/cjs/biz-components/IPRedirect/RegionBanner.js +0 -60
- package/dist/cjs/biz-components/IPRedirect/RegionBanner.js.map +0 -7
- package/dist/cjs/biz-components/IPRedirect/RegionSelectorModal.d.ts +0 -47
- package/dist/cjs/biz-components/IPRedirect/RegionSelectorModal.js +0 -33
- package/dist/cjs/biz-components/IPRedirect/RegionSelectorModal.js.map +0 -7
- package/dist/cjs/biz-components/IPRedirect/index.d.ts +0 -9
- package/dist/cjs/biz-components/IPRedirect/index.js +0 -2
- package/dist/cjs/biz-components/IPRedirect/index.js.map +0 -7
- package/dist/cjs/biz-components/IPRedirect/type.d.ts +0 -36
- package/dist/cjs/biz-components/IPRedirect/type.js +0 -2
- package/dist/cjs/biz-components/IPRedirect/type.js.map +0 -7
- package/dist/cjs/biz-components/IPRedirect/useAutoRedirect.d.ts +0 -66
- package/dist/cjs/biz-components/IPRedirect/useAutoRedirect.js +0 -2
- package/dist/cjs/biz-components/IPRedirect/useAutoRedirect.js.map +0 -7
- package/dist/cjs/biz-components/IPRedirect/useDetectedRegionRedirect.d.ts +0 -51
- package/dist/cjs/biz-components/IPRedirect/useDetectedRegionRedirect.js +0 -2
- package/dist/cjs/biz-components/IPRedirect/useDetectedRegionRedirect.js.map +0 -7
- package/dist/cjs/biz-components/IPRedirect/useIPRedirect.d.ts +0 -42
- package/dist/cjs/biz-components/IPRedirect/useIPRedirect.js +0 -2
- package/dist/cjs/biz-components/IPRedirect/useIPRedirect.js.map +0 -7
- package/dist/cjs/biz-components/IPRedirect/useRedirectBanner.d.ts +0 -108
- package/dist/cjs/biz-components/IPRedirect/useRedirectBanner.js +0 -2
- package/dist/cjs/biz-components/IPRedirect/useRedirectBanner.js.map +0 -7
- package/dist/cjs/biz-components/IPRedirect/useRegionRedirectManager.d.ts +0 -152
- package/dist/cjs/biz-components/IPRedirect/useRegionRedirectManager.js +0 -2
- package/dist/cjs/biz-components/IPRedirect/useRegionRedirectManager.js.map +0 -7
- package/dist/cjs/biz-components/IPRedirect/useSavedRegionRedirect.d.ts +0 -51
- package/dist/cjs/biz-components/IPRedirect/useSavedRegionRedirect.js +0 -2
- package/dist/cjs/biz-components/IPRedirect/useSavedRegionRedirect.js.map +0 -7
- package/dist/cjs/biz-components/IPRedirect/utils.d.ts +0 -222
- package/dist/cjs/biz-components/IPRedirect/utils.js +0 -2
- package/dist/cjs/biz-components/IPRedirect/utils.js.map +0 -7
- package/dist/cjs/biz-components/ImageOverlayShelf/index.d.ts +0 -114
- package/dist/cjs/biz-components/ImageOverlayShelf/index.js +0 -2
- package/dist/cjs/biz-components/ImageOverlayShelf/index.js.map +0 -7
- package/dist/cjs/biz-components/Media/index.d.ts +0 -32
- package/dist/cjs/biz-components/Media/index.js +0 -2
- package/dist/cjs/biz-components/Media/index.js.map +0 -7
- package/dist/cjs/biz-components/MediaShelf/index.d.ts +0 -231
- package/dist/cjs/biz-components/MediaShelf/index.js +0 -2
- package/dist/cjs/biz-components/MediaShelf/index.js.map +0 -7
- package/dist/cjs/biz-components/MediaShelf/types.d.ts +0 -37
- package/dist/cjs/biz-components/MediaShelf/types.js +0 -2
- package/dist/cjs/biz-components/MediaShelf/types.js.map +0 -7
- package/dist/cjs/biz-components/MiniCart/index.d.ts +0 -88
- package/dist/cjs/biz-components/MiniCart/index.js +0 -2
- package/dist/cjs/biz-components/MiniCart/index.js.map +0 -7
- package/dist/cjs/biz-components/PromotionalBar/index.d.ts +0 -49
- package/dist/cjs/biz-components/PromotionalBar/index.js +0 -2
- package/dist/cjs/biz-components/PromotionalBar/index.js.map +0 -7
- package/dist/cjs/biz-components/SecondaryBanner/index.d.ts +0 -69
- package/dist/cjs/biz-components/SecondaryBanner/index.js +0 -2
- package/dist/cjs/biz-components/SecondaryBanner/index.js.map +0 -7
- package/dist/cjs/biz-components/Title/Countdown.d.ts +0 -14
- package/dist/cjs/biz-components/Title/Countdown.js +0 -2
- package/dist/cjs/biz-components/Title/Countdown.js.map +0 -7
- package/dist/cjs/biz-components/WheelLottery/BaseModal.d.ts +0 -55
- package/dist/cjs/biz-components/WheelLottery/BaseModal.js +0 -12
- package/dist/cjs/biz-components/WheelLottery/BaseModal.js.map +0 -7
- package/dist/cjs/biz-components/WheelLottery/ChanceMethods.d.ts +0 -30
- package/dist/cjs/biz-components/WheelLottery/ChanceMethods.js +0 -2
- package/dist/cjs/biz-components/WheelLottery/ChanceMethods.js.map +0 -7
- package/dist/cjs/biz-components/WheelLottery/ErrorModal.d.ts +0 -42
- package/dist/cjs/biz-components/WheelLottery/ErrorModal.js +0 -2
- package/dist/cjs/biz-components/WheelLottery/ErrorModal.js.map +0 -7
- package/dist/cjs/biz-components/WheelLottery/MyRewardsModal.d.ts +0 -91
- package/dist/cjs/biz-components/WheelLottery/MyRewardsModal.js +0 -2
- package/dist/cjs/biz-components/WheelLottery/MyRewardsModal.js.map +0 -7
- package/dist/cjs/biz-components/WheelLottery/PrizePool.d.ts +0 -26
- package/dist/cjs/biz-components/WheelLottery/PrizePool.js +0 -2
- package/dist/cjs/biz-components/WheelLottery/PrizePool.js.map +0 -7
- package/dist/cjs/biz-components/WheelLottery/RulesModal.d.ts +0 -47
- package/dist/cjs/biz-components/WheelLottery/RulesModal.js +0 -2
- package/dist/cjs/biz-components/WheelLottery/RulesModal.js.map +0 -7
- package/dist/cjs/biz-components/WheelLottery/ShareModal.d.ts +0 -74
- package/dist/cjs/biz-components/WheelLottery/ShareModal.js +0 -2
- package/dist/cjs/biz-components/WheelLottery/ShareModal.js.map +0 -7
- package/dist/cjs/biz-components/WheelLottery/Wheel.d.ts +0 -27
- package/dist/cjs/biz-components/WheelLottery/Wheel.js +0 -2
- package/dist/cjs/biz-components/WheelLottery/Wheel.js.map +0 -7
- package/dist/cjs/biz-components/WheelLottery/WinnerModal.d.ts +0 -25
- package/dist/cjs/biz-components/WheelLottery/WinnerModal.js +0 -2
- package/dist/cjs/biz-components/WheelLottery/WinnerModal.js.map +0 -7
- package/dist/cjs/biz-components/WheelLottery/index.d.ts +0 -52
- package/dist/cjs/biz-components/WheelLottery/index.js +0 -2
- package/dist/cjs/biz-components/WheelLottery/index.js.map +0 -7
- package/dist/cjs/biz-components/WheelLottery/types.d.ts +0 -1219
- package/dist/cjs/biz-components/WheelLottery/types.js +0 -2
- package/dist/cjs/biz-components/WheelLottery/types.js.map +0 -7
- package/dist/cjs/components/paginator.d.ts +0 -12
- package/dist/cjs/components/paginator.js +0 -7
- package/dist/cjs/components/paginator.js.map +0 -7
- package/dist/cjs/components/progress.d.ts +0 -46
- package/dist/cjs/components/progress.js +0 -2
- package/dist/cjs/components/progress.js.map +0 -7
- package/dist/cjs/helpers/priceFormatting.d.ts +0 -11
- package/dist/cjs/helpers/priceFormatting.js +0 -2
- package/dist/cjs/helpers/priceFormatting.js.map +0 -7
- package/dist/cjs/hooks/index.d.ts +0 -2
- package/dist/cjs/hooks/index.js +0 -2
- package/dist/cjs/hooks/index.js.map +0 -7
- package/dist/cjs/hooks/useCoupon.d.ts +0 -111
- package/dist/cjs/hooks/useCoupon.js +0 -2
- package/dist/cjs/hooks/useCoupon.js.map +0 -7
- package/dist/cjs/hooks/useMemberPrice.d.ts +0 -155
- package/dist/cjs/hooks/useMemberPrice.js +0 -2
- package/dist/cjs/hooks/useMemberPrice.js.map +0 -7
- package/dist/esm/biz-components/ActiveShelf/index.d.ts +0 -174
- package/dist/esm/biz-components/ActiveShelf/index.js +0 -2
- package/dist/esm/biz-components/ActiveShelf/index.js.map +0 -7
- package/dist/esm/biz-components/ActiveShelf/types.d.ts +0 -89
- package/dist/esm/biz-components/ActiveShelf/types.js +0 -2
- package/dist/esm/biz-components/ActiveShelf/types.js.map +0 -7
- package/dist/esm/biz-components/AnchorNavigation/index.d.ts +0 -42
- package/dist/esm/biz-components/AnchorNavigation/index.js +0 -2
- package/dist/esm/biz-components/AnchorNavigation/index.js.map +0 -7
- package/dist/esm/biz-components/AnchorNavigation/useAnchorPosition.d.ts +0 -2
- package/dist/esm/biz-components/AnchorNavigation/useAnchorPosition.js +0 -2
- package/dist/esm/biz-components/AnchorNavigation/useAnchorPosition.js.map +0 -7
- package/dist/esm/biz-components/BrandCardLink/BrandCardLink.d.ts +0 -6
- package/dist/esm/biz-components/BrandCardLink/BrandCardLink.js +0 -2
- package/dist/esm/biz-components/BrandCardLink/BrandCardLink.js.map +0 -7
- package/dist/esm/biz-components/BrandCardLink/index.d.ts +0 -1
- package/dist/esm/biz-components/BrandCardLink/index.js +0 -2
- package/dist/esm/biz-components/BrandCardLink/index.js.map +0 -7
- package/dist/esm/biz-components/BrandCardLink/types.d.ts +0 -19
- package/dist/esm/biz-components/BrandCardLink/types.js +0 -1
- package/dist/esm/biz-components/BrandCardLink/types.js.map +0 -7
- package/dist/esm/biz-components/BuyOneGetOneShelf/ProductCard.d.ts +0 -74
- package/dist/esm/biz-components/BuyOneGetOneShelf/ProductCard.js +0 -2
- package/dist/esm/biz-components/BuyOneGetOneShelf/ProductCard.js.map +0 -7
- package/dist/esm/biz-components/BuyOneGetOneShelf/hooks/useBogoDataTransform.d.ts +0 -36
- package/dist/esm/biz-components/BuyOneGetOneShelf/hooks/useBogoDataTransform.js +0 -2
- package/dist/esm/biz-components/BuyOneGetOneShelf/hooks/useBogoDataTransform.js.map +0 -7
- package/dist/esm/biz-components/BuyOneGetOneShelf/index.d.ts +0 -193
- package/dist/esm/biz-components/BuyOneGetOneShelf/index.js +0 -2
- package/dist/esm/biz-components/BuyOneGetOneShelf/index.js.map +0 -7
- package/dist/esm/biz-components/EventSchedule/index.d.ts +0 -63
- package/dist/esm/biz-components/EventSchedule/index.js +0 -2
- package/dist/esm/biz-components/EventSchedule/index.js.map +0 -7
- package/dist/esm/biz-components/IPRedirect/RegionBanner.d.ts +0 -37
- package/dist/esm/biz-components/IPRedirect/RegionBanner.js +0 -60
- package/dist/esm/biz-components/IPRedirect/RegionBanner.js.map +0 -7
- package/dist/esm/biz-components/IPRedirect/RegionSelectorModal.d.ts +0 -47
- package/dist/esm/biz-components/IPRedirect/RegionSelectorModal.js +0 -33
- package/dist/esm/biz-components/IPRedirect/RegionSelectorModal.js.map +0 -7
- package/dist/esm/biz-components/IPRedirect/index.d.ts +0 -9
- package/dist/esm/biz-components/IPRedirect/index.js +0 -2
- package/dist/esm/biz-components/IPRedirect/index.js.map +0 -7
- package/dist/esm/biz-components/IPRedirect/type.d.ts +0 -36
- package/dist/esm/biz-components/IPRedirect/type.js +0 -1
- package/dist/esm/biz-components/IPRedirect/type.js.map +0 -7
- package/dist/esm/biz-components/IPRedirect/useAutoRedirect.d.ts +0 -66
- package/dist/esm/biz-components/IPRedirect/useAutoRedirect.js +0 -2
- package/dist/esm/biz-components/IPRedirect/useAutoRedirect.js.map +0 -7
- package/dist/esm/biz-components/IPRedirect/useDetectedRegionRedirect.d.ts +0 -51
- package/dist/esm/biz-components/IPRedirect/useDetectedRegionRedirect.js +0 -2
- package/dist/esm/biz-components/IPRedirect/useDetectedRegionRedirect.js.map +0 -7
- package/dist/esm/biz-components/IPRedirect/useIPRedirect.d.ts +0 -42
- package/dist/esm/biz-components/IPRedirect/useIPRedirect.js +0 -2
- package/dist/esm/biz-components/IPRedirect/useIPRedirect.js.map +0 -7
- package/dist/esm/biz-components/IPRedirect/useRedirectBanner.d.ts +0 -108
- package/dist/esm/biz-components/IPRedirect/useRedirectBanner.js +0 -2
- package/dist/esm/biz-components/IPRedirect/useRedirectBanner.js.map +0 -7
- package/dist/esm/biz-components/IPRedirect/useRegionRedirectManager.d.ts +0 -152
- package/dist/esm/biz-components/IPRedirect/useRegionRedirectManager.js +0 -2
- package/dist/esm/biz-components/IPRedirect/useRegionRedirectManager.js.map +0 -7
- package/dist/esm/biz-components/IPRedirect/useSavedRegionRedirect.d.ts +0 -51
- package/dist/esm/biz-components/IPRedirect/useSavedRegionRedirect.js +0 -2
- package/dist/esm/biz-components/IPRedirect/useSavedRegionRedirect.js.map +0 -7
- package/dist/esm/biz-components/IPRedirect/utils.d.ts +0 -222
- package/dist/esm/biz-components/IPRedirect/utils.js +0 -2
- package/dist/esm/biz-components/IPRedirect/utils.js.map +0 -7
- package/dist/esm/biz-components/ImageOverlayShelf/index.d.ts +0 -114
- package/dist/esm/biz-components/ImageOverlayShelf/index.js +0 -2
- package/dist/esm/biz-components/ImageOverlayShelf/index.js.map +0 -7
- package/dist/esm/biz-components/Media/index.d.ts +0 -32
- package/dist/esm/biz-components/Media/index.js +0 -2
- package/dist/esm/biz-components/Media/index.js.map +0 -7
- package/dist/esm/biz-components/MediaShelf/index.d.ts +0 -231
- package/dist/esm/biz-components/MediaShelf/index.js +0 -2
- package/dist/esm/biz-components/MediaShelf/index.js.map +0 -7
- package/dist/esm/biz-components/MediaShelf/types.d.ts +0 -37
- package/dist/esm/biz-components/MediaShelf/types.js +0 -2
- package/dist/esm/biz-components/MediaShelf/types.js.map +0 -7
- package/dist/esm/biz-components/MiniCart/index.d.ts +0 -88
- package/dist/esm/biz-components/MiniCart/index.js +0 -2
- package/dist/esm/biz-components/MiniCart/index.js.map +0 -7
- package/dist/esm/biz-components/PromotionalBar/index.d.ts +0 -49
- package/dist/esm/biz-components/PromotionalBar/index.js +0 -2
- package/dist/esm/biz-components/PromotionalBar/index.js.map +0 -7
- package/dist/esm/biz-components/SecondaryBanner/index.d.ts +0 -69
- package/dist/esm/biz-components/SecondaryBanner/index.js +0 -2
- package/dist/esm/biz-components/SecondaryBanner/index.js.map +0 -7
- package/dist/esm/biz-components/Title/Countdown.d.ts +0 -14
- package/dist/esm/biz-components/Title/Countdown.js +0 -2
- package/dist/esm/biz-components/Title/Countdown.js.map +0 -7
- package/dist/esm/biz-components/WheelLottery/BaseModal.d.ts +0 -55
- package/dist/esm/biz-components/WheelLottery/BaseModal.js +0 -12
- package/dist/esm/biz-components/WheelLottery/BaseModal.js.map +0 -7
- package/dist/esm/biz-components/WheelLottery/ChanceMethods.d.ts +0 -30
- package/dist/esm/biz-components/WheelLottery/ChanceMethods.js +0 -2
- package/dist/esm/biz-components/WheelLottery/ChanceMethods.js.map +0 -7
- package/dist/esm/biz-components/WheelLottery/ErrorModal.d.ts +0 -42
- package/dist/esm/biz-components/WheelLottery/ErrorModal.js +0 -2
- package/dist/esm/biz-components/WheelLottery/ErrorModal.js.map +0 -7
- package/dist/esm/biz-components/WheelLottery/MyRewardsModal.d.ts +0 -91
- package/dist/esm/biz-components/WheelLottery/MyRewardsModal.js +0 -2
- package/dist/esm/biz-components/WheelLottery/MyRewardsModal.js.map +0 -7
- package/dist/esm/biz-components/WheelLottery/PrizePool.d.ts +0 -26
- package/dist/esm/biz-components/WheelLottery/PrizePool.js +0 -2
- package/dist/esm/biz-components/WheelLottery/PrizePool.js.map +0 -7
- package/dist/esm/biz-components/WheelLottery/RulesModal.d.ts +0 -47
- package/dist/esm/biz-components/WheelLottery/RulesModal.js +0 -2
- package/dist/esm/biz-components/WheelLottery/RulesModal.js.map +0 -7
- package/dist/esm/biz-components/WheelLottery/ShareModal.d.ts +0 -74
- package/dist/esm/biz-components/WheelLottery/ShareModal.js +0 -2
- package/dist/esm/biz-components/WheelLottery/ShareModal.js.map +0 -7
- package/dist/esm/biz-components/WheelLottery/Wheel.d.ts +0 -27
- package/dist/esm/biz-components/WheelLottery/Wheel.js +0 -2
- package/dist/esm/biz-components/WheelLottery/Wheel.js.map +0 -7
- package/dist/esm/biz-components/WheelLottery/WinnerModal.d.ts +0 -25
- package/dist/esm/biz-components/WheelLottery/WinnerModal.js +0 -2
- package/dist/esm/biz-components/WheelLottery/WinnerModal.js.map +0 -7
- package/dist/esm/biz-components/WheelLottery/index.d.ts +0 -52
- package/dist/esm/biz-components/WheelLottery/index.js +0 -2
- package/dist/esm/biz-components/WheelLottery/index.js.map +0 -7
- package/dist/esm/biz-components/WheelLottery/types.d.ts +0 -1219
- package/dist/esm/biz-components/WheelLottery/types.js +0 -2
- package/dist/esm/biz-components/WheelLottery/types.js.map +0 -7
- package/dist/esm/components/paginator.d.ts +0 -12
- package/dist/esm/components/paginator.js +0 -7
- package/dist/esm/components/paginator.js.map +0 -7
- package/dist/esm/components/progress.d.ts +0 -46
- package/dist/esm/components/progress.js +0 -2
- package/dist/esm/components/progress.js.map +0 -7
- package/dist/esm/helpers/priceFormatting.d.ts +0 -11
- package/dist/esm/helpers/priceFormatting.js +0 -2
- package/dist/esm/helpers/priceFormatting.js.map +0 -7
- package/dist/esm/hooks/index.d.ts +0 -2
- package/dist/esm/hooks/index.js +0 -2
- package/dist/esm/hooks/index.js.map +0 -7
- package/dist/esm/hooks/useCoupon.d.ts +0 -111
- package/dist/esm/hooks/useCoupon.js +0 -2
- package/dist/esm/hooks/useCoupon.js.map +0 -7
- package/dist/esm/hooks/useMemberPrice.d.ts +0 -155
- package/dist/esm/hooks/useMemberPrice.js +0 -2
- package/dist/esm/hooks/useMemberPrice.js.map +0 -7
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/biz-components/WheelLottery/MyRewardsModal.tsx"],
|
|
4
|
-
"sourcesContent": ["/**\n * MyRewardsModal - \u6211\u7684\u5956\u52B1\u5F39\u7A97\u7EC4\u4EF6\n *\n * \u5C55\u793A\u7528\u6237\u5DF2\u83B7\u5F97\u7684\u5956\u52B1\u5217\u8868\n *\n * @module MyRewardsModal\n * @date 2026-01-04\n */\n\n'use client'\n\nimport React, { useState, useRef, useEffect } from 'react'\nimport { cn } from '../../helpers/index.js'\nimport { BaseModal } from './BaseModal.js'\n\nexport type RewardStatus = 'Available' | 'Expired' | 'Used'\n\nexport interface Reward {\n /**\n * \u5956\u52B1 ID\n */\n id: string\n\n /**\n * \u5956\u52B1\u540D\u79F0\n */\n name: string\n\n /**\n * \u4F18\u60E0\u7801\uFF08\u53EF\u9009\uFF09\n */\n code?: string\n\n /**\n * \u72B6\u6001\n */\n status: RewardStatus\n\n /**\n * \u5956\u52B1\u65F6\u95F4\n */\n prizeTime?: string\n\n /**\n * \u662F\u5426\u53EF\u590D\u5236\u7801\n */\n showCopyCode?: boolean\n\n /** * \u662F\u5426\u53EF\u7528\n */\n available?: boolean\n}\n\nexport interface MyRewardsModalProps {\n /**\n * \u662F\u5426\u663E\u793A\u5F39\u7A97\n */\n isOpen: boolean\n\n /**\n * \u5173\u95ED\u5F39\u7A97\u56DE\u8C03\n */\n onClose: () => void\n\n /**\n * \u5F39\u7A97\u6807\u9898\n * @default \"My Rewards\"\n */\n title?: string\n\n /**\n * \u5956\u52B1\u5217\u8868\n */\n rewards: Reward[]\n\n /**\n * \u590D\u5236\u7801\u70B9\u51FB\u56DE\u8C03\n */\n onCopyCode?: (code: string) => void\n\n /**\n * \u81EA\u5B9A\u4E49\u7C7B\u540D\n */\n className?: string\n\n /**\n * \u4EE3\u7801\u6587\u672C\u524D\u7F00\n * @default \"CODE:\"\n */\n codeText?: string\n\n /**\n * \u590D\u5236\u6309\u94AE\u6587\u672C\n * @default \"COPY\"\n */\n copyText?: string\n\n /**\n * \u590D\u5236\u6210\u529F\u540E\u7684\u6309\u94AE\u6587\u672C\n * @default \"COPIED\"\n */\n copiedText?: string\n\n /**\n * \u5956\u52B1\u65F6\u95F4\u6587\u672C\u524D\u7F00\n * @default \"Prize time:\"\n */\n prizeText?: string\n}\n\n/**\n * MyRewardsModal \u6211\u7684\u5956\u52B1\u5F39\u7A97\u7EC4\u4EF6\n */\nexport const MyRewardsModal: React.FC<MyRewardsModalProps> = ({\n isOpen,\n onClose,\n title = 'My Rewards',\n rewards,\n onCopyCode,\n className,\n codeText = 'CODE:',\n copyText = 'COPY',\n copiedText = 'COPIED',\n prizeText = 'Prize time:',\n}) => {\n // \u8FFD\u8E2A\u6BCF\u4E2A\u5956\u52B1\u7684\u590D\u5236\u72B6\u6001\n const [copiedStates, setCopiedStates] = useState<Record<string, boolean>>({})\n const timersRef = useRef<Record<string, NodeJS.Timeout>>({})\n\n // \u6E05\u7406\u6240\u6709\u5B9A\u65F6\u5668\n useEffect(() => {\n return () => {\n Object.values(timersRef.current).forEach(timer => clearTimeout(timer))\n }\n }, [])\n\n // \u5904\u7406\u590D\u5236\u64CD\u4F5C\n const handleCopy = (rewardId: string, code: string) => {\n // \u6E05\u9664\u8BE5\u5956\u52B1\u7684\u73B0\u6709\u5B9A\u65F6\u5668\n if (timersRef.current[rewardId]) {\n clearTimeout(timersRef.current[rewardId])\n }\n\n navigator.clipboard.writeText(code)\n // \u8C03\u7528\u590D\u5236\u56DE\u8C03\n if (onCopyCode) onCopyCode?.(code)\n\n // \u8BBE\u7F6E\u4E3A\u5DF2\u590D\u5236\u72B6\u6001\n setCopiedStates(prev => ({ ...prev, [rewardId]: true }))\n\n // 3\u79D2\u540E\u6062\u590D\n timersRef.current[rewardId] = setTimeout(() => {\n setCopiedStates(prev => ({ ...prev, [rewardId]: false }))\n delete timersRef.current[rewardId]\n }, 3000)\n }\n\n return (\n <BaseModal\n isOpen={isOpen}\n onClose={onClose}\n maxWidth=\"max-w-[480px] laptop:max-w-[520px]\"\n background=\"bg-white\"\n className={className}\n title={title}\n ariaLabelledBy=\"rewards-modal-title\"\n >\n <div className=\"laptop:px-8 laptop:pb-8 p-4\">\n {/* \u5956\u52B1\u5217\u8868 */}\n <div className=\"flex max-h-[584px] flex-col gap-2 overflow-y-auto\">\n {rewards.length === 0 ? (\n <p className=\"py-8 text-center text-[14px] text-gray-500\">No rewards yet</p>\n ) : (\n rewards.map(reward => (\n <div\n key={reward.id}\n className={cn('rounded-box', 'relative flex-none overflow-hidden bg-[#F5F5F7]', 'px-4 py-6')}\n >\n <div className=\"laptop:text-[16px] flex items-center justify-between gap-2 text-[14px] font-[700]\">\n <div className=\"flex-1\">\n <p\n className={cn(\n 'mb-1 font-[700] text-[#1D1D1F]',\n reward?.available ? 'text-[#1D1D1F]' : 'text-[#D1D1D1]'\n )}\n >\n {reward.name}\n </p>\n {reward.code && (\n <div\n className={cn('flex items-center gap-2', reward?.available ? 'text-brand-0' : 'text-[#D1D1D1]')}\n >\n <p className=\"max-w-[200px] truncate\">\n {codeText} {reward.code}\n </p>\n {reward.showCopyCode && reward?.available && (\n <button onClick={() => handleCopy(reward.id, reward.code!)} className=\"underline\">\n {copiedStates[reward.id] ? copiedText : copyText}\n </button>\n )}\n </div>\n )}\n </div>\n\n {reward.prizeTime && (\n <div\n className={cn('text-[14px] font-[700] ', reward?.available ? 'text-[#999]' : 'text-[#D1D1D1]')}\n >\n <p>{prizeText}</p>\n <p>{reward.prizeTime}</p>\n </div>\n )}\n\n {/* \u72B6\u6001\u6807\u7B7E */}\n <span\n className={cn(\n 'rounded-[0_8px] px-[6px] text-[14px] font-[700]',\n 'absolute right-0 top-0',\n reward?.available ? 'bg-brand-0 text-white' : 'bg-[#D1D1D1] text-white'\n )}\n >\n {reward.status}\n </span>\n </div>\n </div>\n ))\n )}\n </div>\n </div>\n </BaseModal>\n )\n}\n\nexport default MyRewardsModal\n"],
|
|
5
|
-
"mappings": "aA2KY,cAAAA,EAqBY,QAAAC,MArBZ,oBAhKZ,OAAgB,YAAAC,EAAU,UAAAC,EAAQ,aAAAC,MAAiB,QACnD,OAAS,MAAAC,MAAU,yBACnB,OAAS,aAAAC,MAAiB,iBAoGnB,MAAMC,EAAgD,CAAC,CAC5D,OAAAC,EACA,QAAAC,EACA,MAAAC,EAAQ,aACR,QAAAC,EACA,WAAAC,EACA,UAAAC,EACA,SAAAC,EAAW,QACX,SAAAC,EAAW,OACX,WAAAC,EAAa,SACb,UAAAC,EAAY,aACd,IAAM,CAEJ,KAAM,CAACC,EAAcC,CAAe,EAAIjB,EAAkC,CAAC,CAAC,EACtEkB,EAAYjB,EAAuC,CAAC,CAAC,EAG3DC,EAAU,IACD,IAAM,CACX,OAAO,OAAOgB,EAAU,OAAO,EAAE,QAAQC,GAAS,aAAaA,CAAK,CAAC,CACvE,EACC,CAAC,CAAC,EAGL,MAAMC,EAAa,CAACC,EAAkBC,IAAiB,CAEjDJ,EAAU,QAAQG,CAAQ,GAC5B,aAAaH,EAAU,QAAQG,CAAQ,CAAC,EAG1C,UAAU,UAAU,UAAUC,CAAI,EAE9BZ,GAAYA,IAAaY,CAAI,EAGjCL,EAAgBM,IAAS,CAAE,GAAGA,EAAM,CAACF,CAAQ,EAAG,EAAK,EAAE,EAGvDH,EAAU,QAAQG,CAAQ,EAAI,WAAW,IAAM,CAC7CJ,EAAgBM,IAAS,CAAE,GAAGA,EAAM,CAACF,CAAQ,EAAG,EAAM,EAAE,EACxD,OAAOH,EAAU,QAAQG,CAAQ,CACnC,EAAG,GAAI,CACT,EAEA,OACEvB,EAACM,EAAA,CACC,OAAQE,EACR,QAASC,EACT,SAAS,qCACT,WAAW,WACX,UAAWI,EACX,MAAOH,EACP,eAAe,sBAEf,SAAAV,EAAC,OAAI,UAAU,8BAEb,SAAAA,EAAC,OAAI,UAAU,oDACZ,SAAAW,EAAQ,SAAW,EAClBX,EAAC,KAAE,UAAU,6CAA6C,0BAAc,EAExEW,EAAQ,IAAIe,GACV1B,EAAC,OAEC,UAAWK,EAAG,cAAe,kDAAmD,WAAW,EAE3F,SAAAJ,EAAC,OAAI,UAAU,oFACb,UAAAA,EAAC,OAAI,UAAU,SACb,UAAAD,EAAC,KACC,UAAWK,EACT,iCACAqB,GAAQ,UAAY,iBAAmB,gBACzC,EAEC,SAAAA,EAAO,KACV,EACCA,EAAO,MACNzB,EAAC,OACC,UAAWI,EAAG,0BAA2BqB,GAAQ,UAAY,eAAiB,gBAAgB,EAE9F,UAAAzB,EAAC,KAAE,UAAU,yBACV,UAAAa,EAAS,IAAEY,EAAO,MACrB,EACCA,EAAO,cAAgBA,GAAQ,WAC9B1B,EAAC,UAAO,QAAS,IAAMsB,EAAWI,EAAO,GAAIA,EAAO,IAAK,EAAG,UAAU,YACnE,SAAAR,EAAaQ,EAAO,EAAE,EAAIV,EAAaD,EAC1C,GAEJ,GAEJ,EAECW,EAAO,WACNzB,EAAC,OACC,UAAWI,EAAG,0BAA2BqB,GAAQ,UAAY,cAAgB,gBAAgB,EAE7F,UAAA1B,EAAC,KAAG,SAAAiB,EAAU,EACdjB,EAAC,KAAG,SAAA0B,EAAO,UAAU,GACvB,EAIF1B,EAAC,QACC,UAAWK,EACT,kDACA,yBACAqB,GAAQ,UAAY,wBAA0B,yBAChD,EAEC,SAAAA,EAAO,OACV,GACF,GAhDKA,EAAO,EAiDd,CACD,EAEL,EACF,EACF,CAEJ,EAEA,IAAOC,EAAQpB",
|
|
6
|
-
"names": ["jsx", "jsxs", "useState", "useRef", "useEffect", "cn", "BaseModal", "MyRewardsModal", "isOpen", "onClose", "title", "rewards", "onCopyCode", "className", "codeText", "copyText", "copiedText", "prizeText", "copiedStates", "setCopiedStates", "timersRef", "timer", "handleCopy", "rewardId", "code", "prev", "reward", "MyRewardsModal_default"]
|
|
7
|
-
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* PrizePool - 奖品池组件
|
|
3
|
-
*
|
|
4
|
-
* 展示所有可获得的奖品列表,支持横向滚动。
|
|
5
|
-
* 基于 Figma 设计稿实现响应式布局。
|
|
6
|
-
*
|
|
7
|
-
* Figma 设计稿: https://www.figma.com/design/DhWsPamqTM76eMHS0aIQqw
|
|
8
|
-
* 设计节点: 498:6894 (Prize Pool section)
|
|
9
|
-
*
|
|
10
|
-
* @module PrizePool
|
|
11
|
-
* @date 2025-12-17
|
|
12
|
-
*/
|
|
13
|
-
import React from 'react';
|
|
14
|
-
import type { PrizePoolProps } from './types.js';
|
|
15
|
-
/**
|
|
16
|
-
* PrizePool - 奖品池展示组件
|
|
17
|
-
*
|
|
18
|
-
* 特性:
|
|
19
|
-
* - 横向滚动列表(mobile/tablet)
|
|
20
|
-
* - 触摸友好
|
|
21
|
-
* - 显示奖品图片、排名(1st/2nd/3rd)和名称
|
|
22
|
-
* - 支持响应式布局
|
|
23
|
-
* - 显示中奖人名单(自动滚动循环)
|
|
24
|
-
*/
|
|
25
|
-
export declare const PrizePool: React.FC<PrizePoolProps>;
|
|
26
|
-
export default PrizePool;
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use client";import{jsx as p,jsxs as i}from"react/jsx-runtime";import d from"react";import{cn as t}from"../../helpers/index.js";import{Heading as x,Picture as m}from"../../components/index.js";const c=({theme:e,prizes:o,title:s="Prize Pool",winningInfos:a,className:r})=>!o||o.length===0?null:i("div",{className:t("prize-pool-content",e==="dark"?"aiui-dark":"",r),children:[i("div",{className:t("border-b ","py-[16px]","desktop:pt-[24px]",e==="dark"?"border-[#3A3C40]":"border-[#dadce0]"),children:[p("div",{className:t("prize-pool-container","mb-4 px-[16px]","desktop:px-[24px]","lg-desktop:px-[32px]",r),children:p(x,{size:2,className:t("prize-pool-title","text-info-primary"),children:s})}),p("div",{className:t("px-[16px]","desktop:px-[24px]","lg-desktop:px-[32px]","overflow-y-hidden overflow-x-visible"),children:p("div",{className:t("prize-pool-list","flex items-center gap-[16px]","scroll-smooth","scrollbar-hide"),style:{WebkitOverflowScrolling:"touch"},children:o.map((l,n)=>i(d.Fragment,{children:[p(k,{prize:l}),n<o.length-1?p("div",{className:t("prize-divider","lg-desktop:h-[54px]","h-[48px] w-0","border-l ",e==="dark"?"border-[#3A3C40]":"border-[#dadce0]","shrink-0"),"aria-hidden":"true"}):null]},l.prizeKey))})})]}),a&&a.length>0&&p(f,{winningInfos:a})]}),k=({prize:e})=>i("div",{className:t("prize-pool-item","flex items-start gap-[8px]","shrink-0","h-[80px] w-[280px]","desktop:h-[96px] desktop:w-[320px]","lg-desktop:h-[108px]"),children:[p(m,{source:e.image.url,alt:e.image.alt||`\u5956\u54C1: ${e.name}${e.rank?`, \u6392\u540D ${e.rank}`:""}`,className:t("prize-pool-image","size-[80px]","desktop:size-[96px]","lg-desktop:size-[108px]","flex-none rounded-lg object-cover")}),i("div",{className:t("prize-pool-info","flex flex-1 flex-col items-start justify-end","text-info-primary","min-w-0"),children:[p("p",{className:t("prize-rank","h-[20px] text-[14px] font-bold leading-[1.2] ","desktop:h-[22px] desktop:text-[16px]","lg-desktop:h-[25px] lg-desktop:text-[18px]",{"text-[#FF6B00]":e.rank==="1st"||e.rank==="2nd"||e.rank==="3rd"}),children:e?.rank||""}),p("p",{className:t("prize-pool-name","text-[14px] font-semibold leading-[1.4] ","desktop:text-[16px]","lg-desktop:text-[18px]","line-clamp-2 overflow-hidden text-ellipsis","text-info-primary","w-full"),title:e.name,children:e.name})]})]}),f=({winningInfos:e})=>{const o=[...e,...e];return p("div",{className:t("winners-list-wrapper","py-[12px]","laptop:py-[16px]","overflow-hidden"),children:p("div",{className:t("winners-list-scroll","animate-marquee-x","flex gap-[32px]"),children:o.map((s,a)=>i("div",{className:t("winner-item","flex items-center gap-[8px]","whitespace-nowrap","text-[14px] font-semibold text-[#767880]","desktop:text-[16px]","lg-desktop:text-[18px]"),children:[p("span",{className:"winner-name",children:s.userName}),p("span",{className:"winner-text",children:"has won the"}),p("span",{className:"winner-prize",children:s.prizeName})]},`${s.winningKey}-${a}`))})})};var h=c;export{c as PrizePool,h as default};
|
|
2
|
-
//# sourceMappingURL=PrizePool.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/biz-components/WheelLottery/PrizePool.tsx"],
|
|
4
|
-
"sourcesContent": ["/**\n * PrizePool - \u5956\u54C1\u6C60\u7EC4\u4EF6\n *\n * \u5C55\u793A\u6240\u6709\u53EF\u83B7\u5F97\u7684\u5956\u54C1\u5217\u8868,\u652F\u6301\u6A2A\u5411\u6EDA\u52A8\u3002\n * \u57FA\u4E8E Figma \u8BBE\u8BA1\u7A3F\u5B9E\u73B0\u54CD\u5E94\u5F0F\u5E03\u5C40\u3002\n *\n * Figma \u8BBE\u8BA1\u7A3F: https://www.figma.com/design/DhWsPamqTM76eMHS0aIQqw\n * \u8BBE\u8BA1\u8282\u70B9: 498:6894 (Prize Pool section)\n *\n * @module PrizePool\n * @date 2025-12-17\n */\n\n'use client'\n\nimport React from 'react'\nimport { cn } from '../../helpers/index.js'\nimport type { Prize, WinningInfo, PrizePoolProps } from './types.js'\nimport { Heading, Picture } from '../../components/index.js'\n\n// ============================================================================\n// PrizePool \u7EC4\u4EF6\n// ============================================================================\n\n/**\n * PrizePool - \u5956\u54C1\u6C60\u5C55\u793A\u7EC4\u4EF6\n *\n * \u7279\u6027:\n * - \u6A2A\u5411\u6EDA\u52A8\u5217\u8868(mobile/tablet)\n * - \u89E6\u6478\u53CB\u597D\n * - \u663E\u793A\u5956\u54C1\u56FE\u7247\u3001\u6392\u540D(1st/2nd/3rd)\u548C\u540D\u79F0\n * - \u652F\u6301\u54CD\u5E94\u5F0F\u5E03\u5C40\n * - \u663E\u793A\u4E2D\u5956\u4EBA\u540D\u5355(\u81EA\u52A8\u6EDA\u52A8\u5FAA\u73AF)\n */\nexport const PrizePool: React.FC<PrizePoolProps> = ({\n theme,\n prizes,\n title = 'Prize Pool',\n winningInfos,\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 return (\n <div className={cn('prize-pool-content', theme === 'dark' ? 'aiui-dark' : '', className)}>\n <div\n className={cn(\n 'border-b ',\n 'py-[16px]',\n 'desktop:pt-[24px]',\n theme === 'dark' ? 'border-[#3A3C40]' : 'border-[#dadce0]'\n )}\n >\n <div\n className={cn(\n 'prize-pool-container',\n 'mb-4 px-[16px]',\n 'desktop:px-[24px]',\n 'lg-desktop:px-[32px]',\n className\n )}\n >\n {/* \u6807\u9898 */}\n <Heading size={2} className={cn('prize-pool-title', 'text-info-primary')}>\n {title}\n </Heading>\n </div>\n {/* \u5956\u54C1\u5217\u8868 - \u6A2A\u5411\u6EDA\u52A8 */}\n <div\n className={cn(\n 'px-[16px]',\n 'desktop:px-[24px]',\n 'lg-desktop:px-[32px]',\n 'overflow-y-hidden overflow-x-visible'\n )}\n >\n <div\n className={cn('prize-pool-list', 'flex items-center gap-[16px]', 'scroll-smooth', 'scrollbar-hide')}\n style={{\n WebkitOverflowScrolling: 'touch', // iOS \u5E73\u6ED1\u6EDA\u52A8\n }}\n >\n {prizes.map((prize, index) => (\n <React.Fragment key={prize.prizeKey}>\n <PrizePoolItem prize={prize} />\n {/* \u6A2A\u5411\u5206\u9694\u7EBF(\u4EC5\u5728 desktop \u4EE5\u4E0A\u663E\u793A) */}\n {index < prizes.length - 1 ? (\n <div\n className={cn(\n 'prize-divider',\n 'lg-desktop:h-[54px]',\n 'h-[48px] w-0',\n 'border-l ',\n theme === 'dark' ? 'border-[#3A3C40]' : 'border-[#dadce0]',\n 'shrink-0'\n )}\n aria-hidden=\"true\"\n />\n ) : null}\n </React.Fragment>\n ))}\n </div>\n </div>\n </div>\n\n {/* \u4E2D\u5956\u4EBA\u540D\u5355 - \u81EA\u52A8\u6EDA\u52A8 */}\n {winningInfos && winningInfos.length > 0 && <WinnersList winningInfos={winningInfos} />}\n </div>\n )\n}\n\n// ============================================================================\n// PrizePoolItem \u5B50\u7EC4\u4EF6 - \u5355\u4E2A\u5956\u54C1\u5361\u7247\n// ============================================================================\n\ninterface PrizePoolItemProps {\n prize: Prize\n}\n\n/**\n * PrizePoolItem - \u5956\u54C1\u6C60\u4E2D\u7684\u5355\u4E2A\u5956\u54C1\u5361\u7247\n *\n * \u5C55\u793A\u5956\u54C1\u56FE\u7247\u3001\u6392\u540D\u548C\u540D\u79F0,\u5E26\u60AC\u505C\u6548\u679C\u3002\n */\nconst PrizePoolItem: React.FC<PrizePoolItemProps> = ({ prize }) => {\n return (\n <div\n className={cn(\n 'prize-pool-item',\n 'flex items-start gap-[8px]',\n 'shrink-0',\n 'h-[80px] w-[280px]',\n 'desktop:h-[96px] desktop:w-[320px]',\n 'lg-desktop:h-[108px]'\n )}\n >\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-pool-image',\n 'size-[80px]',\n 'desktop:size-[96px]',\n 'lg-desktop:size-[108px]',\n 'flex-none rounded-lg object-cover'\n )}\n />\n\n {/* \u5956\u54C1\u4FE1\u606F */}\n <div\n className={cn(\n 'prize-pool-info',\n 'flex flex-1 flex-col items-start justify-end',\n 'text-info-primary',\n 'min-w-0' // \u786E\u4FDD\u6587\u672C\u53EF\u4EE5\u88AB\u622A\u65AD\n )}\n >\n {/* \u6392\u540D\u6807\u8BC6(1st/2nd/3rd,\u53EF\u9009) */}\n <p\n className={cn(\n 'prize-rank',\n 'h-[20px] text-[14px] font-bold leading-[1.2] ',\n 'desktop:h-[22px] desktop:text-[16px]',\n 'lg-desktop:h-[25px] lg-desktop:text-[18px]',\n {\n 'text-[#FF6B00]': prize.rank === '1st' || prize.rank === '2nd' || prize.rank === '3rd', // \u6A59\u8272\n // 'text-[#767880]': prize.rank === 'others', // \u7070\u8272\n }\n )}\n >\n {prize?.rank || ''}\n </p>\n\n {/* \u5956\u54C1\u540D\u79F0 - \u6700\u591A\u663E\u793A 2 \u884C,\u8D85\u51FA\u663E\u793A\u7701\u7565\u53F7 */}\n <p\n className={cn(\n 'prize-pool-name',\n 'text-[14px] font-semibold leading-[1.4] ',\n 'desktop:text-[16px]',\n 'lg-desktop:text-[18px]',\n 'line-clamp-2 overflow-hidden text-ellipsis', // \u6700\u591A 2 \u884C\n 'text-info-primary',\n 'w-full'\n )}\n title={prize.name} // \u60AC\u505C\u663E\u793A\u5B8C\u6574\u540D\u79F0\n >\n {prize.name}\n </p>\n </div>\n </div>\n )\n}\n\n// ============================================================================\n// WinnersList \u5B50\u7EC4\u4EF6 - \u4E2D\u5956\u4EBA\u540D\u5355\u81EA\u52A8\u6EDA\u52A8(\u4F7F\u7528 Swiper)\n// ============================================================================\n\ninterface WinnersListProps {\n winningInfos: WinningInfo[]\n}\n\n/**\n * WinnersList - \u4E2D\u5956\u4EBA\u540D\u5355\u6EDA\u52A8\u7EC4\u4EF6\n *\n * \u4F7F\u7528\u7EAF CSS \u52A8\u753B\u5B9E\u73B0\u8DD1\u9A6C\u706F\u6548\u679C\n *\n * \u7279\u6027:\n * - \u7EAF CSS keyframe \u52A8\u753B\uFF0C\u65E0 JavaScript \u8BA1\u7B97\n * - \u8F7B\u91CF\u7EA7\u5B9E\u73B0\uFF0C\u65E0\u9700\u7B2C\u4E09\u65B9\u5E93\n * - \u54CD\u5E94\u5F0F\u8BBE\u8BA1\n * - \u7EBF\u6027\u6EDA\u52A8\uFF0C\u6D41\u7545\u81EA\u7136\n */\nconst WinnersList: React.FC<WinnersListProps> = ({ winningInfos }) => {\n // \u590D\u5236\u5185\u5BB9\u4EE5\u5B9E\u73B0\u65E0\u7F1D\u5FAA\u73AF\n const duplicatedInfos = [...winningInfos, ...winningInfos]\n\n return (\n <div className={cn('winners-list-wrapper', 'py-[12px]', 'laptop:py-[16px]', 'overflow-hidden')}>\n <div className={cn('winners-list-scroll', 'animate-marquee-x', 'flex gap-[32px]')}>\n {duplicatedInfos.map((winner, index) => (\n <div\n key={`${winner.winningKey}-${index}`}\n className={cn(\n 'winner-item',\n 'flex items-center gap-[8px]',\n 'whitespace-nowrap',\n 'text-[14px] font-semibold text-[#767880]',\n 'desktop:text-[16px]',\n 'lg-desktop:text-[18px]'\n )}\n >\n <span className=\"winner-name\">{winner.userName}</span>\n <span className=\"winner-text\">has won the</span>\n <span className=\"winner-prize\">{winner.prizeName}</span>\n </div>\n ))}\n </div>\n </div>\n )\n}\n\n// ============================================================================\n// \u9ED8\u8BA4\u5BFC\u51FA\n// ============================================================================\n\nexport default PrizePool\n"],
|
|
5
|
-
"mappings": "aAkEU,cAAAA,EAoBI,QAAAC,MApBJ,oBAnDV,OAAOC,MAAW,QAClB,OAAS,MAAAC,MAAU,yBAEnB,OAAS,WAAAC,EAAS,WAAAC,MAAe,4BAgB1B,MAAMC,EAAsC,CAAC,CAClD,MAAAC,EACA,OAAAC,EACA,MAAAC,EAAQ,aACR,aAAAC,EACA,UAAAC,CACF,IAEM,CAACH,GAAUA,EAAO,SAAW,EACxB,KAIPP,EAAC,OAAI,UAAWE,EAAG,qBAAsBI,IAAU,OAAS,YAAc,GAAII,CAAS,EACrF,UAAAV,EAAC,OACC,UAAWE,EACT,YACA,YACA,oBACAI,IAAU,OAAS,mBAAqB,kBAC1C,EAEA,UAAAP,EAAC,OACC,UAAWG,EACT,uBACA,iBACA,oBACA,uBACAQ,CACF,EAGA,SAAAX,EAACI,EAAA,CAAQ,KAAM,EAAG,UAAWD,EAAG,mBAAoB,mBAAmB,EACpE,SAAAM,EACH,EACF,EAEAT,EAAC,OACC,UAAWG,EACT,YACA,oBACA,uBACA,sCACF,EAEA,SAAAH,EAAC,OACC,UAAWG,EAAG,kBAAmB,+BAAgC,gBAAiB,gBAAgB,EAClG,MAAO,CACL,wBAAyB,OAC3B,EAEC,SAAAK,EAAO,IAAI,CAACI,EAAOC,IAClBZ,EAACC,EAAM,SAAN,CACC,UAAAF,EAACc,EAAA,CAAc,MAAOF,EAAO,EAE5BC,EAAQL,EAAO,OAAS,EACvBR,EAAC,OACC,UAAWG,EACT,gBACA,sBACA,eACA,YACAI,IAAU,OAAS,mBAAqB,mBACxC,UACF,EACA,cAAY,OACd,EACE,OAfeK,EAAM,QAgB3B,CACD,EACH,EACF,GACF,EAGCF,GAAgBA,EAAa,OAAS,GAAKV,EAACe,EAAA,CAAY,aAAcL,EAAc,GACvF,EAiBEI,EAA8C,CAAC,CAAE,MAAAF,CAAM,IAEzDX,EAAC,OACC,UAAWE,EACT,kBACA,6BACA,WACA,qBACA,qCACA,sBACF,EAGA,UAAAH,EAACK,EAAA,CACC,OAAQO,EAAM,MAAM,IACpB,IAAKA,EAAM,MAAM,KAAO,iBAAOA,EAAM,IAAI,GAAGA,EAAM,KAAO,kBAAQA,EAAM,IAAI,GAAK,EAAE,GAClF,UAAWT,EACT,mBACA,cACA,sBACA,0BACA,mCACF,EACF,EAGAF,EAAC,OACC,UAAWE,EACT,kBACA,+CACA,oBACA,SACF,EAGA,UAAAH,EAAC,KACC,UAAWG,EACT,aACA,gDACA,uCACA,6CACA,CACE,iBAAkBS,EAAM,OAAS,OAASA,EAAM,OAAS,OAASA,EAAM,OAAS,KAEnF,CACF,EAEC,SAAAA,GAAO,MAAQ,GAClB,EAGAZ,EAAC,KACC,UAAWG,EACT,kBACA,2CACA,sBACA,yBACA,6CACA,oBACA,QACF,EACA,MAAOS,EAAM,KAEZ,SAAAA,EAAM,KACT,GACF,GACF,EAuBEG,EAA0C,CAAC,CAAE,aAAAL,CAAa,IAAM,CAEpE,MAAMM,EAAkB,CAAC,GAAGN,EAAc,GAAGA,CAAY,EAEzD,OACEV,EAAC,OAAI,UAAWG,EAAG,uBAAwB,YAAa,mBAAoB,iBAAiB,EAC3F,SAAAH,EAAC,OAAI,UAAWG,EAAG,sBAAuB,oBAAqB,iBAAiB,EAC7E,SAAAa,EAAgB,IAAI,CAACC,EAAQJ,IAC5BZ,EAAC,OAEC,UAAWE,EACT,cACA,8BACA,oBACA,2CACA,sBACA,wBACF,EAEA,UAAAH,EAAC,QAAK,UAAU,cAAe,SAAAiB,EAAO,SAAS,EAC/CjB,EAAC,QAAK,UAAU,cAAc,uBAAW,EACzCA,EAAC,QAAK,UAAU,eAAgB,SAAAiB,EAAO,UAAU,IAZ5C,GAAGA,EAAO,UAAU,IAAIJ,CAAK,EAapC,CACD,EACH,EACF,CAEJ,EAMA,IAAOK,EAAQZ",
|
|
6
|
-
"names": ["jsx", "jsxs", "React", "cn", "Heading", "Picture", "PrizePool", "theme", "prizes", "title", "winningInfos", "className", "prize", "index", "PrizePoolItem", "WinnersList", "duplicatedInfos", "winner", "PrizePool_default"]
|
|
7
|
-
}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* RulesModal - 规则弹窗组件
|
|
3
|
-
*
|
|
4
|
-
* 展示活动规则的弹窗
|
|
5
|
-
*
|
|
6
|
-
* @module RulesModal
|
|
7
|
-
* @date 2026-01-04
|
|
8
|
-
*/
|
|
9
|
-
import React from 'react';
|
|
10
|
-
export interface RuleItem {
|
|
11
|
-
/**
|
|
12
|
-
* 规则标题
|
|
13
|
-
*/
|
|
14
|
-
title: string;
|
|
15
|
-
/**
|
|
16
|
-
* 规则内容(支持字符串或字符串数组)
|
|
17
|
-
*/
|
|
18
|
-
content: string | string[];
|
|
19
|
-
}
|
|
20
|
-
export interface RulesModalProps {
|
|
21
|
-
/**
|
|
22
|
-
* 是否显示弹窗
|
|
23
|
-
*/
|
|
24
|
-
isOpen: boolean;
|
|
25
|
-
/**
|
|
26
|
-
* 关闭弹窗回调
|
|
27
|
-
*/
|
|
28
|
-
onClose: () => void;
|
|
29
|
-
/**
|
|
30
|
-
* 弹窗标题
|
|
31
|
-
* @default "Rules"
|
|
32
|
-
*/
|
|
33
|
-
title?: string;
|
|
34
|
-
/**
|
|
35
|
-
* 规则列表
|
|
36
|
-
*/
|
|
37
|
-
rules: RuleItem[];
|
|
38
|
-
/**
|
|
39
|
-
* 自定义类名
|
|
40
|
-
*/
|
|
41
|
-
className?: string;
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* RulesModal 规则弹窗组件
|
|
45
|
-
*/
|
|
46
|
-
export declare const RulesModal: React.FC<RulesModalProps>;
|
|
47
|
-
export default RulesModal;
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use client";import{jsx as e,jsxs as d}from"react/jsx-runtime";import"react";import{BaseModal as r}from"./BaseModal.js";const c=({isOpen:a,onClose:l,title:s="Rules:",rules:o,className:i})=>e(r,{isOpen:a,onClose:l,maxWidth:"max-w-[480px] laptop:max-w-[520px]",background:"bg-white",className:i,title:s,ariaLabelledBy:"rules-modal-title",children:e("div",{className:"laptop:px-8 p-4 pb-0",children:e("div",{className:"max-h-[584px] overflow-y-auto pb-4",children:o.map((t,p)=>d("div",{className:"mb-2 text-[16px] font-[700] text-[#1D1D1F]",children:[e("p",{className:"m-0",children:t.title}),Array.isArray(t.content)?e("ul",{className:"ml-6 list-disc",children:t.content.map((m,n)=>e("li",{children:m},n))}):e("p",{className:"m-0",children:t.content})]},p))})})});var N=c;export{c as RulesModal,N as default};
|
|
2
|
-
//# sourceMappingURL=RulesModal.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/biz-components/WheelLottery/RulesModal.tsx"],
|
|
4
|
-
"sourcesContent": ["/**\n * RulesModal - \u89C4\u5219\u5F39\u7A97\u7EC4\u4EF6\n *\n * \u5C55\u793A\u6D3B\u52A8\u89C4\u5219\u7684\u5F39\u7A97\n *\n * @module RulesModal\n * @date 2026-01-04\n */\n\n'use client'\n\nimport React from 'react'\nimport { BaseModal } from './BaseModal.js'\n\nexport interface RuleItem {\n /**\n * \u89C4\u5219\u6807\u9898\n */\n title: string\n\n /**\n * \u89C4\u5219\u5185\u5BB9\uFF08\u652F\u6301\u5B57\u7B26\u4E32\u6216\u5B57\u7B26\u4E32\u6570\u7EC4\uFF09\n */\n content: string | string[]\n}\n\nexport interface RulesModalProps {\n /**\n * \u662F\u5426\u663E\u793A\u5F39\u7A97\n */\n isOpen: boolean\n\n /**\n * \u5173\u95ED\u5F39\u7A97\u56DE\u8C03\n */\n onClose: () => void\n\n /**\n * \u5F39\u7A97\u6807\u9898\n * @default \"Rules\"\n */\n title?: string\n\n /**\n * \u89C4\u5219\u5217\u8868\n */\n rules: RuleItem[]\n\n /**\n * \u81EA\u5B9A\u4E49\u7C7B\u540D\n */\n className?: string\n}\n\n/**\n * RulesModal \u89C4\u5219\u5F39\u7A97\u7EC4\u4EF6\n */\nexport const RulesModal: React.FC<RulesModalProps> = ({ isOpen, onClose, title = 'Rules:', rules, className }) => {\n return (\n <BaseModal\n isOpen={isOpen}\n onClose={onClose}\n maxWidth=\"max-w-[480px] laptop:max-w-[520px]\"\n background=\"bg-white\"\n className={className}\n title={title}\n ariaLabelledBy=\"rules-modal-title\"\n >\n <div className=\"laptop:px-8 p-4 pb-0\">\n {/* \u89C4\u5219\u5217\u8868 */}\n <div className=\"max-h-[584px] overflow-y-auto pb-4\">\n {rules.map((rule, index) => (\n <div key={index} className=\"mb-2 text-[16px] font-[700] text-[#1D1D1F]\">\n <p className=\"m-0\">{rule.title}</p>\n {Array.isArray(rule.content) ? (\n <ul className=\"ml-6 list-disc\">\n {rule.content.map((item, i) => (\n <li key={i}>{item}</li>\n ))}\n </ul>\n ) : (\n <p className=\"m-0\">{rule.content}</p>\n )}\n </div>\n ))}\n </div>\n </div>\n </BaseModal>\n )\n}\n\nexport default RulesModal\n"],
|
|
5
|
-
"mappings": "aAwEY,OACE,OAAAA,EADF,QAAAC,MAAA,oBA7DZ,MAAkB,QAClB,OAAS,aAAAC,MAAiB,iBA6CnB,MAAMC,EAAwC,CAAC,CAAE,OAAAC,EAAQ,QAAAC,EAAS,MAAAC,EAAQ,SAAU,MAAAC,EAAO,UAAAC,CAAU,IAExGR,EAACE,EAAA,CACC,OAAQE,EACR,QAASC,EACT,SAAS,qCACT,WAAW,WACX,UAAWG,EACX,MAAOF,EACP,eAAe,oBAEf,SAAAN,EAAC,OAAI,UAAU,uBAEb,SAAAA,EAAC,OAAI,UAAU,qCACZ,SAAAO,EAAM,IAAI,CAACE,EAAMC,IAChBT,EAAC,OAAgB,UAAU,6CACzB,UAAAD,EAAC,KAAE,UAAU,MAAO,SAAAS,EAAK,MAAM,EAC9B,MAAM,QAAQA,EAAK,OAAO,EACzBT,EAAC,MAAG,UAAU,iBACX,SAAAS,EAAK,QAAQ,IAAI,CAACE,EAAMC,IACvBZ,EAAC,MAAY,SAAAW,GAAJC,CAAS,CACnB,EACH,EAEAZ,EAAC,KAAE,UAAU,MAAO,SAAAS,EAAK,QAAQ,IAT3BC,CAWV,CACD,EACH,EACF,EACF,EAIJ,IAAOG,EAAQV",
|
|
6
|
-
"names": ["jsx", "jsxs", "BaseModal", "RulesModal", "isOpen", "onClose", "title", "rules", "className", "rule", "index", "item", "i", "RulesModal_default"]
|
|
7
|
-
}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ShareModal - 分享弹窗组件
|
|
3
|
-
*
|
|
4
|
-
* 用于引导用户分享到社交媒体以获取额外抽奖机会
|
|
5
|
-
*
|
|
6
|
-
* @module ShareModal
|
|
7
|
-
* @date 2026-01-07
|
|
8
|
-
*/
|
|
9
|
-
import React from 'react';
|
|
10
|
-
export type SocialPlatform = 'facebook' | 'twitter' | 'instagram' | 'linkedin' | 'tiktok' | 'youtube';
|
|
11
|
-
export interface SharePlatformConfig {
|
|
12
|
-
/**
|
|
13
|
-
* 平台类型
|
|
14
|
-
*/
|
|
15
|
-
platform: SocialPlatform;
|
|
16
|
-
/**
|
|
17
|
-
* 平台名称
|
|
18
|
-
*/
|
|
19
|
-
name: string;
|
|
20
|
-
/**
|
|
21
|
-
* 分享 URL(可选,如果提供则直接跳转)
|
|
22
|
-
*/
|
|
23
|
-
url?: string;
|
|
24
|
-
/**
|
|
25
|
-
* 点击回调(如果提供 url 则此回调会在跳转前执行)
|
|
26
|
-
*/
|
|
27
|
-
onClick?: () => void;
|
|
28
|
-
/**
|
|
29
|
-
* 是否禁用
|
|
30
|
-
*/
|
|
31
|
-
disabled?: boolean;
|
|
32
|
-
}
|
|
33
|
-
export interface ShareModalProps {
|
|
34
|
-
/**
|
|
35
|
-
* 是否显示弹窗
|
|
36
|
-
*/
|
|
37
|
-
isOpen: boolean;
|
|
38
|
-
/**
|
|
39
|
-
* 关闭弹窗回调
|
|
40
|
-
*/
|
|
41
|
-
onClose: () => void;
|
|
42
|
-
/**
|
|
43
|
-
* 弹窗标题
|
|
44
|
-
* @default "Share to Get More Chances"
|
|
45
|
-
*/
|
|
46
|
-
title?: string;
|
|
47
|
-
/**
|
|
48
|
-
* 副标题/引导文案
|
|
49
|
-
* @default "Share to Play Again Keep Trying! You Could Still Win Big!"
|
|
50
|
-
*/
|
|
51
|
-
subtitle?: string;
|
|
52
|
-
/**
|
|
53
|
-
* 底部提示文案
|
|
54
|
-
* @default "Note: Maximum of 3 times per participant."
|
|
55
|
-
*/
|
|
56
|
-
note?: string;
|
|
57
|
-
/**
|
|
58
|
-
* 社交平台配置列表
|
|
59
|
-
*/
|
|
60
|
-
platforms?: SharePlatformConfig[];
|
|
61
|
-
/**
|
|
62
|
-
* 分享成功回调
|
|
63
|
-
*/
|
|
64
|
-
onShareSuccess?: (platform: SocialPlatform) => void;
|
|
65
|
-
/**
|
|
66
|
-
* 自定义类名
|
|
67
|
-
*/
|
|
68
|
-
className?: string;
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* ShareModal 分享弹窗组件
|
|
72
|
-
*/
|
|
73
|
-
export declare const ShareModal: React.FC<ShareModalProps>;
|
|
74
|
-
export default ShareModal;
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use client";import{jsx as e,jsxs as g}from"react/jsx-runtime";import"react";import{cn as i}from"../../helpers/index.js";import{Heading as m}from"../../components/index.js";import{BaseModal as d}from"./BaseModal.js";const h=[{platform:"facebook",name:"Facebook"},{platform:"twitter",name:"X (Twitter)"},{platform:"instagram",name:"Instagram"},{platform:"linkedin",name:"LinkedIn"},{platform:"tiktok",name:"TikTok"},{platform:"youtube",name:"YouTube"}],w=({platform:a,className:o})=>{const l=i("size-full",o);switch(a){case"facebook":return e("svg",{xmlns:"http://www.w3.org/2000/svg",width:"36",height:"36",viewBox:"0 0 36 36",fill:"none",children:e("path",{d:"M36 18C36 8.05887 27.9411 0 18 0C8.05887 0 0 8.05887 0 18C0 26.9842 6.5823 34.431 15.1875 35.7813V23.2031H10.6172V18H15.1875V14.0344C15.1875 9.52313 17.8748 7.03125 21.9864 7.03125C23.9551 7.03125 26.0156 7.38281 26.0156 7.38281V11.8125H23.7459C21.51 11.8125 20.8125 13.2001 20.8125 14.625V18H25.8047L25.0066 23.2031H20.8125V35.7813C29.4177 34.431 36 26.9842 36 18Z",fill:"white"})});case"twitter":return e("svg",{xmlns:"http://www.w3.org/2000/svg",width:"33",height:"30",viewBox:"0 0 33 30",fill:"none",children:e("path",{d:"M25.485 0H30.447L19.6065 12.39L32.3595 29.25H22.374L14.553 19.0245L5.604 29.25H0.639L12.234 15.9975L0 0H10.239L17.3085 9.3465L25.485 0ZM23.7435 26.28H26.493L8.745 2.814H5.7945L23.7435 26.28Z",fill:"white"})});case"instagram":return e("svg",{xmlns:"http://www.w3.org/2000/svg",width:"32",height:"33",viewBox:"0 0 32 33",fill:"none",children:e("path",{d:"M16.0088 0C20.3547 0 20.8991 0.0183266 22.6123 0.0996094C24.3132 0.174649 25.4768 0.449798 26.4961 0.84375C27.5467 1.25023 28.4411 1.80146 29.3291 2.68945C30.2231 3.5773 30.7672 4.47129 31.1611 5.53418C31.5551 6.54724 31.8302 7.71702 31.9053 9.41797C31.9803 11.125 31.999 11.6696 31.999 16.0156C31.999 20.3611 31.9803 20.9054 31.9053 22.6123C31.8302 24.3133 31.5551 25.4768 31.1611 26.4961C30.7547 27.5467 30.2044 28.4411 29.3164 29.3291C28.4284 30.217 27.5339 30.7674 26.4834 31.1738C25.4704 31.5678 24.3005 31.8429 22.5996 31.918C20.8928 31.993 20.3484 32.0117 16.0029 32.0117C11.6568 32.0117 11.1124 31.993 9.40527 31.918C7.70433 31.8429 6.5408 31.5678 5.52148 31.1738C4.47114 30.7674 3.57727 30.2168 2.68945 29.3291C1.79531 28.4412 1.2506 27.5469 0.837891 26.4902C0.443929 25.4772 0.168798 24.3073 0.09375 22.6064C0.0187082 20.8992 0 20.355 0 16.0088C3.73243e-07 11.6628 0.0187102 11.1187 0.09375 9.40527C0.168792 7.70433 0.443921 6.5408 0.837891 5.52148C1.25061 4.47102 1.79528 3.57737 2.68945 2.68945C3.57745 1.7952 4.47148 1.25062 5.52832 0.837891C6.54126 0.443997 7.71051 0.168809 9.41113 0.09375C11.1183 0.0187089 11.6627 3.7324e-07 16.0088 0ZM16.0088 2.88281C11.7317 2.88281 11.225 2.90153 9.54297 2.97656C7.98585 3.04535 7.13508 3.30847 6.57227 3.52734C5.82828 3.81497 5.29709 4.15899 4.73438 4.72168C4.17785 5.2782 3.82671 5.81549 3.53906 6.55957C3.32019 7.12238 3.05805 7.96693 2.98926 9.53027C2.91422 11.2124 2.89551 11.719 2.89551 15.9961C2.89551 20.2672 2.91422 20.7745 2.98926 22.4629C3.05806 24.0194 3.32024 24.8698 3.53906 25.4326C3.82672 26.1768 4.17156 26.7087 4.73438 27.2715C5.29081 27.8279 5.82829 28.1782 6.57227 28.4658C7.13508 28.6847 7.9796 28.9478 9.54297 29.0166C11.225 29.0916 11.7317 29.1104 16.0088 29.1104C20.2796 29.1104 20.7865 29.0916 22.4746 29.0166C24.0316 28.9478 24.8825 28.6847 25.4453 28.4658C26.1895 28.1782 26.7214 27.8343 27.2842 27.2715C27.8407 26.715 28.1909 26.1767 28.4785 25.4326C28.6973 24.8699 28.9595 24.0257 29.0283 22.4629C29.1034 20.7807 29.1221 20.2735 29.1221 15.9961C29.1221 11.7253 29.1034 11.2187 29.0283 9.53027C28.9595 7.97319 28.6974 7.12238 28.4785 6.55957C28.1909 5.81565 27.8468 5.28433 27.2842 4.72168C26.7276 4.16513 26.1895 3.815 25.4453 3.52734C24.8825 3.30847 24.038 3.04535 22.4746 2.97656C20.7928 2.90154 20.2858 2.88281 16.0088 2.88281ZM16.0127 7.78711C20.5526 7.78727 24.2354 11.4708 24.2354 16.0107C24.2352 20.5505 20.5525 24.2332 16.0127 24.2334C11.4728 24.2334 7.78923 20.5506 7.78906 16.0107C7.78906 11.4707 11.4727 7.78711 16.0127 7.78711ZM16.0127 10.6758C13.0673 10.6758 10.6777 13.0654 10.6777 16.0107C10.6779 18.956 13.0674 21.3447 16.0127 21.3447C18.9578 21.3446 21.3465 18.9559 21.3467 16.0107C21.3467 13.0655 18.9579 10.6759 16.0127 10.6758ZM24.5566 5.54102C25.6134 5.54107 26.4766 6.40413 26.4766 7.46094C26.4765 8.52395 25.6134 9.3808 24.5566 9.38086C23.4936 9.38086 22.6368 8.51773 22.6367 7.46094C22.6367 6.39784 23.4998 5.54102 24.5566 5.54102Z",fill:"white"})});case"linkedin":return e("svg",{xmlns:"http://www.w3.org/2000/svg",width:"29",height:"29",viewBox:"0 0 29 29",fill:"none",children:e("path",{d:"M26.6846 0H2.12757C0.951214 0 0 0.9287 0 2.07691V26.7353C0 27.8835 0.951214 28.8178 2.12757 28.8178H26.6846C27.861 28.8178 28.8178 27.8835 28.8178 26.7409V2.07691C28.8178 0.9287 27.861 0 26.6846 0ZM8.54967 24.5571H4.27202V10.8011H8.54967V24.5571ZM6.41084 8.92677C5.03749 8.92677 3.92868 7.81796 3.92868 6.45024C3.92868 5.08252 5.03749 3.97371 6.41084 3.97371C7.77856 3.97371 8.88737 5.08252 8.88737 6.45024C8.88737 7.81233 7.77856 8.92677 6.41084 8.92677ZM24.5571 24.5571H20.2851V17.8704C20.2851 16.2776 20.2569 14.2232 18.0618 14.2232C15.8386 14.2232 15.5008 15.9624 15.5008 17.7579V24.5571H11.2345V10.8011H15.332V12.681H15.3883C15.9567 11.6003 17.3526 10.4577 19.4295 10.4577C23.7578 10.4577 24.5571 13.3057 24.5571 17.0093V24.5571Z",fill:"white"})});case"tiktok":return e("svg",{xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",viewBox:"0 0 32 32",fill:"none",children:e("path",{d:"M32 4.51848C32 2.02299 29.977 0 27.4816 0H4.51848C2.02299 0 0 2.02299 0 4.51848V27.4816C0 29.9771 2.02299 32 4.51848 32H27.4816C29.977 32 32 29.9771 32 27.4816V4.51848ZM26.5102 13.9566C24.4458 13.9797 22.5219 13.3555 20.8328 12.1996V20.3146C20.8328 23.9211 18.364 27.0194 14.873 27.8285C10.1103 28.915 6.07845 25.4702 5.56992 21.355C5.03818 17.2397 7.66278 13.633 11.6856 12.8238C12.4716 12.662 13.654 12.662 14.2639 12.8007V17.1472C14.0762 17.1011 13.9005 17.0547 13.7156 17.0317C12.1434 16.7541 10.6207 17.5402 9.99648 18.9736C9.37229 20.4072 9.79008 22.0717 11.0616 23.0429C12.1251 23.875 13.3051 23.9906 14.5073 23.4357C15.7095 22.904 16.3557 21.9331 16.4942 20.6152C16.5174 20.4304 16.5162 20.2222 16.5162 20.0141V4.40826C16.5162 3.96899 16.5195 3.98827 16.9589 3.98827H20.4037C20.6581 3.98827 20.7506 4.02477 20.7736 4.32549C20.9586 7.00734 22.9947 9.29136 25.6072 9.63819C25.8846 9.68442 26.1819 9.7027 26.5104 9.72579L26.5102 13.9566Z",fill:"white"})});case"youtube":return e("svg",{xmlns:"http://www.w3.org/2000/svg",width:"33",height:"24",viewBox:"0 0 33 24",fill:"none",children:e("path",{d:"M28.5006 0.731224L26.3106 0.506224C19.7579 -0.168741 13.1533 -0.168741 6.60059 0.506224L4.50059 0.731224C3.24922 0.872661 2.09527 1.47475 1.26344 2.42027C0.431611 3.36578 -0.0185587 4.58703 0.000586503 5.84622V18.1462C-0.0185587 19.4054 0.431611 20.6267 1.26344 21.5722C2.09527 22.5177 3.24922 23.1198 4.50059 23.2612L6.69059 23.4862C13.2433 24.1612 19.8479 24.1612 26.4006 23.4862L28.5006 23.2612C29.752 23.1198 30.9059 22.5177 31.7377 21.5722C32.5696 20.6267 33.0197 19.4054 33.0006 18.1462V5.84622C33.0197 4.58703 32.5696 3.36578 31.7377 2.42027C30.9059 1.47475 29.752 0.872661 28.5006 0.731224ZM21.0006 12.9262L15.1656 16.8262C14.9985 16.918 14.8107 16.9658 14.6201 16.9651C14.4294 16.9644 14.242 16.9152 14.0756 16.8222C13.9091 16.7293 13.769 16.5955 13.6684 16.4335C13.5679 16.2715 13.5101 16.0867 13.5006 15.8962V8.09622C13.501 7.89217 13.5568 7.69205 13.6622 7.51731C13.7676 7.34256 13.9185 7.19977 14.0988 7.10422C14.2791 7.00868 14.482 6.96397 14.6858 6.97489C14.8896 6.98581 15.0865 7.05195 15.2556 7.16622L21.0906 11.0662C21.2453 11.1671 21.3725 11.3049 21.4605 11.4673C21.5485 11.6297 21.5946 11.8115 21.5946 11.9962C21.5946 12.1809 21.5485 12.3627 21.4605 12.5251C21.3725 12.6875 21.2453 12.8254 21.0906 12.9262H21.0006Z",fill:"white"})});default:return null}},f=({isOpen:a,onClose:o,title:l="Share to Get More Chances",subtitle:C="Share to Play Again Keep Trying! You Could Still Win Big!",note:r="Note: Maximum of 3 times per participant.",platforms:n=h,onShareSuccess:s,className:p})=>{const c=t=>{t.disabled||(t.onClick?.(),t.url&&window.open(t.url,"_blank","noopener,noreferrer"),s?.(t.platform))};return e(d,{isOpen:a,onClose:o,maxWidth:"max-w-[326px] laptop:max-w-[420px]",background:"bg-white",className:p,ariaLabelledBy:"share-modal-title",children:g("div",{className:"laptop:px-8 laptop:pb-8 p-6 pt-0 text-center",children:[e(m,{size:2,id:"share-modal-title",className:"text-center tracking-[-0.32px] text-[#1D1D1F]",children:l}),C&&e("p",{className:"laptop:text-[16px] text-center text-[14px] font-[700] text-[#1D1D1F]",children:C}),e("div",{className:"mx-auto mt-8 flex max-w-[300px] flex-wrap items-center justify-center gap-4",children:n.map(t=>e("button",{onClick:()=>c(t),disabled:t.disabled,className:i("flex aspect-square size-[64px] items-center justify-center rounded-full bg-black text-white transition-all","hover:scale-110 hover:shadow-lg","focus:ring-brand-0 focus:outline-none focus:ring-2 focus:ring-offset-2","disabled:cursor-not-allowed disabled:opacity-40 disabled:hover:scale-100"),"aria-label":`Share on ${t.name}`,children:e(w,{platform:t.platform})},t.platform))}),r&&e("p",{className:i("mt-8 text-[16px] font-[700] text-[#767880]","laptop:text-[16px]"),children:r})]})})};var H=f;export{f as ShareModal,H as default};
|
|
2
|
-
//# sourceMappingURL=ShareModal.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/biz-components/WheelLottery/ShareModal.tsx"],
|
|
4
|
-
"sourcesContent": ["/**\n * ShareModal - \u5206\u4EAB\u5F39\u7A97\u7EC4\u4EF6\n *\n * \u7528\u4E8E\u5F15\u5BFC\u7528\u6237\u5206\u4EAB\u5230\u793E\u4EA4\u5A92\u4F53\u4EE5\u83B7\u53D6\u989D\u5916\u62BD\u5956\u673A\u4F1A\n *\n * @module ShareModal\n * @date 2026-01-07\n */\n\n'use client'\n\nimport React from 'react'\nimport { cn } from '../../helpers/index.js'\nimport { Heading } from '../../components/index.js'\nimport { BaseModal } from './BaseModal.js'\n\nexport type SocialPlatform = 'facebook' | 'twitter' | 'instagram' | 'linkedin' | 'tiktok' | 'youtube'\n\nexport interface SharePlatformConfig {\n /**\n * \u5E73\u53F0\u7C7B\u578B\n */\n platform: SocialPlatform\n\n /**\n * \u5E73\u53F0\u540D\u79F0\n */\n name: string\n\n /**\n * \u5206\u4EAB URL\uFF08\u53EF\u9009\uFF0C\u5982\u679C\u63D0\u4F9B\u5219\u76F4\u63A5\u8DF3\u8F6C\uFF09\n */\n url?: string\n\n /**\n * \u70B9\u51FB\u56DE\u8C03\uFF08\u5982\u679C\u63D0\u4F9B url \u5219\u6B64\u56DE\u8C03\u4F1A\u5728\u8DF3\u8F6C\u524D\u6267\u884C\uFF09\n */\n onClick?: () => void\n\n /**\n * \u662F\u5426\u7981\u7528\n */\n disabled?: boolean\n}\n\nexport interface ShareModalProps {\n /**\n * \u662F\u5426\u663E\u793A\u5F39\u7A97\n */\n isOpen: boolean\n\n /**\n * \u5173\u95ED\u5F39\u7A97\u56DE\u8C03\n */\n onClose: () => void\n\n /**\n * \u5F39\u7A97\u6807\u9898\n * @default \"Share to Get More Chances\"\n */\n title?: string\n\n /**\n * \u526F\u6807\u9898/\u5F15\u5BFC\u6587\u6848\n * @default \"Share to Play Again Keep Trying! You Could Still Win Big!\"\n */\n subtitle?: string\n\n /**\n * \u5E95\u90E8\u63D0\u793A\u6587\u6848\n * @default \"Note: Maximum of 3 times per participant.\"\n */\n note?: string\n\n /**\n * \u793E\u4EA4\u5E73\u53F0\u914D\u7F6E\u5217\u8868\n */\n platforms?: SharePlatformConfig[]\n\n /**\n * \u5206\u4EAB\u6210\u529F\u56DE\u8C03\n */\n onShareSuccess?: (platform: SocialPlatform) => void\n\n /**\n * \u81EA\u5B9A\u4E49\u7C7B\u540D\n */\n className?: string\n}\n\n// \u9ED8\u8BA4\u793E\u4EA4\u5E73\u53F0\u914D\u7F6E\nconst DEFAULT_PLATFORMS: SharePlatformConfig[] = [\n { platform: 'facebook', name: 'Facebook' },\n { platform: 'twitter', name: 'X (Twitter)' },\n { platform: 'instagram', name: 'Instagram' },\n { platform: 'linkedin', name: 'LinkedIn' },\n { platform: 'tiktok', name: 'TikTok' },\n { platform: 'youtube', name: 'YouTube' },\n]\n\n// \u793E\u4EA4\u5E73\u53F0\u56FE\u6807\u7EC4\u4EF6\nconst SocialIcon: React.FC<{ platform: SocialPlatform; className?: string }> = ({ platform, className }) => {\n const iconClass = cn('size-full', className)\n\n switch (platform) {\n case 'facebook':\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\">\n <path\n d=\"M36 18C36 8.05887 27.9411 0 18 0C8.05887 0 0 8.05887 0 18C0 26.9842 6.5823 34.431 15.1875 35.7813V23.2031H10.6172V18H15.1875V14.0344C15.1875 9.52313 17.8748 7.03125 21.9864 7.03125C23.9551 7.03125 26.0156 7.38281 26.0156 7.38281V11.8125H23.7459C21.51 11.8125 20.8125 13.2001 20.8125 14.625V18H25.8047L25.0066 23.2031H20.8125V35.7813C29.4177 34.431 36 26.9842 36 18Z\"\n fill=\"white\"\n />\n </svg>\n )\n case 'twitter':\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"33\" height=\"30\" viewBox=\"0 0 33 30\" fill=\"none\">\n <path\n d=\"M25.485 0H30.447L19.6065 12.39L32.3595 29.25H22.374L14.553 19.0245L5.604 29.25H0.639L12.234 15.9975L0 0H10.239L17.3085 9.3465L25.485 0ZM23.7435 26.28H26.493L8.745 2.814H5.7945L23.7435 26.28Z\"\n fill=\"white\"\n />\n </svg>\n )\n case 'instagram':\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"32\" height=\"33\" viewBox=\"0 0 32 33\" fill=\"none\">\n <path\n d=\"M16.0088 0C20.3547 0 20.8991 0.0183266 22.6123 0.0996094C24.3132 0.174649 25.4768 0.449798 26.4961 0.84375C27.5467 1.25023 28.4411 1.80146 29.3291 2.68945C30.2231 3.5773 30.7672 4.47129 31.1611 5.53418C31.5551 6.54724 31.8302 7.71702 31.9053 9.41797C31.9803 11.125 31.999 11.6696 31.999 16.0156C31.999 20.3611 31.9803 20.9054 31.9053 22.6123C31.8302 24.3133 31.5551 25.4768 31.1611 26.4961C30.7547 27.5467 30.2044 28.4411 29.3164 29.3291C28.4284 30.217 27.5339 30.7674 26.4834 31.1738C25.4704 31.5678 24.3005 31.8429 22.5996 31.918C20.8928 31.993 20.3484 32.0117 16.0029 32.0117C11.6568 32.0117 11.1124 31.993 9.40527 31.918C7.70433 31.8429 6.5408 31.5678 5.52148 31.1738C4.47114 30.7674 3.57727 30.2168 2.68945 29.3291C1.79531 28.4412 1.2506 27.5469 0.837891 26.4902C0.443929 25.4772 0.168798 24.3073 0.09375 22.6064C0.0187082 20.8992 0 20.355 0 16.0088C3.73243e-07 11.6628 0.0187102 11.1187 0.09375 9.40527C0.168792 7.70433 0.443921 6.5408 0.837891 5.52148C1.25061 4.47102 1.79528 3.57737 2.68945 2.68945C3.57745 1.7952 4.47148 1.25062 5.52832 0.837891C6.54126 0.443997 7.71051 0.168809 9.41113 0.09375C11.1183 0.0187089 11.6627 3.7324e-07 16.0088 0ZM16.0088 2.88281C11.7317 2.88281 11.225 2.90153 9.54297 2.97656C7.98585 3.04535 7.13508 3.30847 6.57227 3.52734C5.82828 3.81497 5.29709 4.15899 4.73438 4.72168C4.17785 5.2782 3.82671 5.81549 3.53906 6.55957C3.32019 7.12238 3.05805 7.96693 2.98926 9.53027C2.91422 11.2124 2.89551 11.719 2.89551 15.9961C2.89551 20.2672 2.91422 20.7745 2.98926 22.4629C3.05806 24.0194 3.32024 24.8698 3.53906 25.4326C3.82672 26.1768 4.17156 26.7087 4.73438 27.2715C5.29081 27.8279 5.82829 28.1782 6.57227 28.4658C7.13508 28.6847 7.9796 28.9478 9.54297 29.0166C11.225 29.0916 11.7317 29.1104 16.0088 29.1104C20.2796 29.1104 20.7865 29.0916 22.4746 29.0166C24.0316 28.9478 24.8825 28.6847 25.4453 28.4658C26.1895 28.1782 26.7214 27.8343 27.2842 27.2715C27.8407 26.715 28.1909 26.1767 28.4785 25.4326C28.6973 24.8699 28.9595 24.0257 29.0283 22.4629C29.1034 20.7807 29.1221 20.2735 29.1221 15.9961C29.1221 11.7253 29.1034 11.2187 29.0283 9.53027C28.9595 7.97319 28.6974 7.12238 28.4785 6.55957C28.1909 5.81565 27.8468 5.28433 27.2842 4.72168C26.7276 4.16513 26.1895 3.815 25.4453 3.52734C24.8825 3.30847 24.038 3.04535 22.4746 2.97656C20.7928 2.90154 20.2858 2.88281 16.0088 2.88281ZM16.0127 7.78711C20.5526 7.78727 24.2354 11.4708 24.2354 16.0107C24.2352 20.5505 20.5525 24.2332 16.0127 24.2334C11.4728 24.2334 7.78923 20.5506 7.78906 16.0107C7.78906 11.4707 11.4727 7.78711 16.0127 7.78711ZM16.0127 10.6758C13.0673 10.6758 10.6777 13.0654 10.6777 16.0107C10.6779 18.956 13.0674 21.3447 16.0127 21.3447C18.9578 21.3446 21.3465 18.9559 21.3467 16.0107C21.3467 13.0655 18.9579 10.6759 16.0127 10.6758ZM24.5566 5.54102C25.6134 5.54107 26.4766 6.40413 26.4766 7.46094C26.4765 8.52395 25.6134 9.3808 24.5566 9.38086C23.4936 9.38086 22.6368 8.51773 22.6367 7.46094C22.6367 6.39784 23.4998 5.54102 24.5566 5.54102Z\"\n fill=\"white\"\n />\n </svg>\n )\n case 'linkedin':\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"29\" height=\"29\" viewBox=\"0 0 29 29\" fill=\"none\">\n <path\n d=\"M26.6846 0H2.12757C0.951214 0 0 0.9287 0 2.07691V26.7353C0 27.8835 0.951214 28.8178 2.12757 28.8178H26.6846C27.861 28.8178 28.8178 27.8835 28.8178 26.7409V2.07691C28.8178 0.9287 27.861 0 26.6846 0ZM8.54967 24.5571H4.27202V10.8011H8.54967V24.5571ZM6.41084 8.92677C5.03749 8.92677 3.92868 7.81796 3.92868 6.45024C3.92868 5.08252 5.03749 3.97371 6.41084 3.97371C7.77856 3.97371 8.88737 5.08252 8.88737 6.45024C8.88737 7.81233 7.77856 8.92677 6.41084 8.92677ZM24.5571 24.5571H20.2851V17.8704C20.2851 16.2776 20.2569 14.2232 18.0618 14.2232C15.8386 14.2232 15.5008 15.9624 15.5008 17.7579V24.5571H11.2345V10.8011H15.332V12.681H15.3883C15.9567 11.6003 17.3526 10.4577 19.4295 10.4577C23.7578 10.4577 24.5571 13.3057 24.5571 17.0093V24.5571Z\"\n fill=\"white\"\n />\n </svg>\n )\n case 'tiktok':\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\">\n <path\n d=\"M32 4.51848C32 2.02299 29.977 0 27.4816 0H4.51848C2.02299 0 0 2.02299 0 4.51848V27.4816C0 29.9771 2.02299 32 4.51848 32H27.4816C29.977 32 32 29.9771 32 27.4816V4.51848ZM26.5102 13.9566C24.4458 13.9797 22.5219 13.3555 20.8328 12.1996V20.3146C20.8328 23.9211 18.364 27.0194 14.873 27.8285C10.1103 28.915 6.07845 25.4702 5.56992 21.355C5.03818 17.2397 7.66278 13.633 11.6856 12.8238C12.4716 12.662 13.654 12.662 14.2639 12.8007V17.1472C14.0762 17.1011 13.9005 17.0547 13.7156 17.0317C12.1434 16.7541 10.6207 17.5402 9.99648 18.9736C9.37229 20.4072 9.79008 22.0717 11.0616 23.0429C12.1251 23.875 13.3051 23.9906 14.5073 23.4357C15.7095 22.904 16.3557 21.9331 16.4942 20.6152C16.5174 20.4304 16.5162 20.2222 16.5162 20.0141V4.40826C16.5162 3.96899 16.5195 3.98827 16.9589 3.98827H20.4037C20.6581 3.98827 20.7506 4.02477 20.7736 4.32549C20.9586 7.00734 22.9947 9.29136 25.6072 9.63819C25.8846 9.68442 26.1819 9.7027 26.5104 9.72579L26.5102 13.9566Z\"\n fill=\"white\"\n />\n </svg>\n )\n case 'youtube':\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"33\" height=\"24\" viewBox=\"0 0 33 24\" fill=\"none\">\n <path\n d=\"M28.5006 0.731224L26.3106 0.506224C19.7579 -0.168741 13.1533 -0.168741 6.60059 0.506224L4.50059 0.731224C3.24922 0.872661 2.09527 1.47475 1.26344 2.42027C0.431611 3.36578 -0.0185587 4.58703 0.000586503 5.84622V18.1462C-0.0185587 19.4054 0.431611 20.6267 1.26344 21.5722C2.09527 22.5177 3.24922 23.1198 4.50059 23.2612L6.69059 23.4862C13.2433 24.1612 19.8479 24.1612 26.4006 23.4862L28.5006 23.2612C29.752 23.1198 30.9059 22.5177 31.7377 21.5722C32.5696 20.6267 33.0197 19.4054 33.0006 18.1462V5.84622C33.0197 4.58703 32.5696 3.36578 31.7377 2.42027C30.9059 1.47475 29.752 0.872661 28.5006 0.731224ZM21.0006 12.9262L15.1656 16.8262C14.9985 16.918 14.8107 16.9658 14.6201 16.9651C14.4294 16.9644 14.242 16.9152 14.0756 16.8222C13.9091 16.7293 13.769 16.5955 13.6684 16.4335C13.5679 16.2715 13.5101 16.0867 13.5006 15.8962V8.09622C13.501 7.89217 13.5568 7.69205 13.6622 7.51731C13.7676 7.34256 13.9185 7.19977 14.0988 7.10422C14.2791 7.00868 14.482 6.96397 14.6858 6.97489C14.8896 6.98581 15.0865 7.05195 15.2556 7.16622L21.0906 11.0662C21.2453 11.1671 21.3725 11.3049 21.4605 11.4673C21.5485 11.6297 21.5946 11.8115 21.5946 11.9962C21.5946 12.1809 21.5485 12.3627 21.4605 12.5251C21.3725 12.6875 21.2453 12.8254 21.0906 12.9262H21.0006Z\"\n fill=\"white\"\n />\n </svg>\n )\n default:\n return null\n }\n}\n\n/**\n * ShareModal \u5206\u4EAB\u5F39\u7A97\u7EC4\u4EF6\n */\nexport const ShareModal: React.FC<ShareModalProps> = ({\n isOpen,\n onClose,\n title = 'Share to Get More Chances',\n subtitle = 'Share to Play Again Keep Trying! You Could Still Win Big!',\n note = 'Note: Maximum of 3 times per participant.',\n platforms = DEFAULT_PLATFORMS,\n onShareSuccess,\n className,\n}) => {\n const handlePlatformClick = (platformConfig: SharePlatformConfig) => {\n if (platformConfig.disabled) return\n\n // \u6267\u884C\u56DE\u8C03\n platformConfig.onClick?.()\n\n // \u5982\u679C\u63D0\u4F9B\u4E86 URL\uFF0C\u5219\u6253\u5F00\u65B0\u7A97\u53E3\n if (platformConfig.url) {\n window.open(platformConfig.url, '_blank', 'noopener,noreferrer')\n }\n\n // \u89E6\u53D1\u6210\u529F\u56DE\u8C03\n onShareSuccess?.(platformConfig.platform)\n }\n\n return (\n <BaseModal\n isOpen={isOpen}\n onClose={onClose}\n maxWidth=\"max-w-[326px] laptop:max-w-[420px]\"\n background=\"bg-white\"\n className={className}\n ariaLabelledBy=\"share-modal-title\"\n >\n <div className=\"laptop:px-8 laptop:pb-8 p-6 pt-0 text-center\">\n {/* \u6807\u9898 */}\n <Heading size={2} id=\"share-modal-title\" className=\"text-center tracking-[-0.32px] text-[#1D1D1F]\">\n {title}\n </Heading>\n\n {/* \u526F\u6807\u9898 */}\n {subtitle && <p className=\"laptop:text-[16px] text-center text-[14px] font-[700] text-[#1D1D1F]\">{subtitle}</p>}\n\n {/* \u793E\u4EA4\u5E73\u53F0\u56FE\u6807\u7F51\u683C */}\n <div className=\"mx-auto mt-8 flex max-w-[300px] flex-wrap items-center justify-center gap-4\">\n {platforms.map(platformConfig => (\n <button\n key={platformConfig.platform}\n onClick={() => handlePlatformClick(platformConfig)}\n disabled={platformConfig.disabled}\n className={cn(\n 'flex aspect-square size-[64px] items-center justify-center rounded-full bg-black text-white transition-all',\n 'hover:scale-110 hover:shadow-lg',\n 'focus:ring-brand-0 focus:outline-none focus:ring-2 focus:ring-offset-2',\n 'disabled:cursor-not-allowed disabled:opacity-40 disabled:hover:scale-100'\n )}\n aria-label={`Share on ${platformConfig.name}`}\n >\n <SocialIcon platform={platformConfig.platform} />\n </button>\n ))}\n </div>\n\n {/* \u5E95\u90E8\u63D0\u793A */}\n {note && <p className={cn('mt-8 text-[16px] font-[700] text-[#767880]', 'laptop:text-[16px]')}>{note}</p>}\n </div>\n </BaseModal>\n )\n}\n\nexport default ShareModal\n"],
|
|
5
|
-
"mappings": "aA4GU,cAAAA,EA6FJ,QAAAC,MA7FI,oBAjGV,MAAkB,QAClB,OAAS,MAAAC,MAAU,yBACnB,OAAS,WAAAC,MAAe,4BACxB,OAAS,aAAAC,MAAiB,iBA6E1B,MAAMC,EAA2C,CAC/C,CAAE,SAAU,WAAY,KAAM,UAAW,EACzC,CAAE,SAAU,UAAW,KAAM,aAAc,EAC3C,CAAE,SAAU,YAAa,KAAM,WAAY,EAC3C,CAAE,SAAU,WAAY,KAAM,UAAW,EACzC,CAAE,SAAU,SAAU,KAAM,QAAS,EACrC,CAAE,SAAU,UAAW,KAAM,SAAU,CACzC,EAGMC,EAAyE,CAAC,CAAE,SAAAC,EAAU,UAAAC,CAAU,IAAM,CAC1G,MAAMC,EAAYP,EAAG,YAAaM,CAAS,EAE3C,OAAQD,EAAU,CAChB,IAAK,WACH,OACEP,EAAC,OAAI,MAAM,6BAA6B,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OACtF,SAAAA,EAAC,QACC,EAAE,gXACF,KAAK,QACP,EACF,EAEJ,IAAK,UACH,OACEA,EAAC,OAAI,MAAM,6BAA6B,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OACtF,SAAAA,EAAC,QACC,EAAE,iMACF,KAAK,QACP,EACF,EAEJ,IAAK,YACH,OACEA,EAAC,OAAI,MAAM,6BAA6B,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OACtF,SAAAA,EAAC,QACC,EAAE,43FACF,KAAK,QACP,EACF,EAEJ,IAAK,WACH,OACEA,EAAC,OAAI,MAAM,6BAA6B,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OACtF,SAAAA,EAAC,QACC,EAAE,iuBACF,KAAK,QACP,EACF,EAEJ,IAAK,SACH,OACEA,EAAC,OAAI,MAAM,6BAA6B,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OACtF,SAAAA,EAAC,QACC,EAAE,i7BACF,KAAK,QACP,EACF,EAEJ,IAAK,UACH,OACEA,EAAC,OAAI,MAAM,6BAA6B,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OACtF,SAAAA,EAAC,QACC,EAAE,qtCACF,KAAK,QACP,EACF,EAEJ,QACE,OAAO,IACX,CACF,EAKaU,EAAwC,CAAC,CACpD,OAAAC,EACA,QAAAC,EACA,MAAAC,EAAQ,4BACR,SAAAC,EAAW,4DACX,KAAAC,EAAO,4CACP,UAAAC,EAAYX,EACZ,eAAAY,EACA,UAAAT,CACF,IAAM,CACJ,MAAMU,EAAuBC,GAAwC,CAC/DA,EAAe,WAGnBA,EAAe,UAAU,EAGrBA,EAAe,KACjB,OAAO,KAAKA,EAAe,IAAK,SAAU,qBAAqB,EAIjEF,IAAiBE,EAAe,QAAQ,EAC1C,EAEA,OACEnB,EAACI,EAAA,CACC,OAAQO,EACR,QAASC,EACT,SAAS,qCACT,WAAW,WACX,UAAWJ,EACX,eAAe,oBAEf,SAAAP,EAAC,OAAI,UAAU,+CAEb,UAAAD,EAACG,EAAA,CAAQ,KAAM,EAAG,GAAG,oBAAoB,UAAU,gDAChD,SAAAU,EACH,EAGCC,GAAYd,EAAC,KAAE,UAAU,uEAAwE,SAAAc,EAAS,EAG3Gd,EAAC,OAAI,UAAU,8EACZ,SAAAgB,EAAU,IAAIG,GACbnB,EAAC,UAEC,QAAS,IAAMkB,EAAoBC,CAAc,EACjD,SAAUA,EAAe,SACzB,UAAWjB,EACT,6GACA,kCACA,yEACA,0EACF,EACA,aAAY,YAAYiB,EAAe,IAAI,GAE3C,SAAAnB,EAACM,EAAA,CAAW,SAAUa,EAAe,SAAU,GAX1CA,EAAe,QAYtB,CACD,EACH,EAGCJ,GAAQf,EAAC,KAAE,UAAWE,EAAG,6CAA8C,oBAAoB,EAAI,SAAAa,EAAK,GACvG,EACF,CAEJ,EAEA,IAAOK,EAAQV",
|
|
6
|
-
"names": ["jsx", "jsxs", "cn", "Heading", "BaseModal", "DEFAULT_PLATFORMS", "SocialIcon", "platform", "className", "iconClass", "ShareModal", "isOpen", "onClose", "title", "subtitle", "note", "platforms", "onShareSuccess", "handlePlatformClick", "platformConfig", "ShareModal_default"]
|
|
7
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Wheel - 转盘核心组件
|
|
3
|
-
*
|
|
4
|
-
* 基于 Figma 设计稿实现的大转盘抽奖组件核心部分。
|
|
5
|
-
* 包含 8 个奖品区块、GO 按钮和装饰元素,支持响应式布局。
|
|
6
|
-
*
|
|
7
|
-
* Figma 设计稿: https://www.figma.com/design/DhWsPamqTM76eMHS0aIQqw
|
|
8
|
-
* 设计节点: 498:10533
|
|
9
|
-
*
|
|
10
|
-
* @module Wheel
|
|
11
|
-
* @date 2025-12-17
|
|
12
|
-
*/
|
|
13
|
-
import React from 'react';
|
|
14
|
-
import type { WheelProps } from './types.js';
|
|
15
|
-
/**
|
|
16
|
-
* Wheel 转盘组件
|
|
17
|
-
*
|
|
18
|
-
* 根据 Figma 设计稿精确还原的转盘 UI,包含:
|
|
19
|
-
* - 圆形转盘容器,带边框和背景
|
|
20
|
-
* - 8 个放射状排列的奖品区块
|
|
21
|
-
* - 中心 GO 按钮,带渐变和阴影效果
|
|
22
|
-
* - 顶部指针装饰元素
|
|
23
|
-
* - 响应式尺寸适配 5 个断点
|
|
24
|
-
* - tablet/mobile 使用 CSS clip-path 仅显示上半部分
|
|
25
|
-
*/
|
|
26
|
-
export declare const Wheel: React.FC<WheelProps>;
|
|
27
|
-
export default Wheel;
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use client";import{jsx as a,jsxs as s}from"react/jsx-runtime";import"react";import{cn as t}from"../../helpers/index.js";import{DEFAULT_POINTER_IMAGE as z,DEFAULT_POINTER_DISABLE_IMAGE as k,DEFAULT_WHEEL_BG_6_PRIZES as w,DEFAULT_WHEEL_BG_8_PRIZES as v}from"./types.js";import r from"../../components/picture.js";const P=({prizes:e,rotation:p,isSpinning:o,isFinished:l=!1,isButtonDisabled:n,onGoClick:c,wheelBackgroundImage:d,pointerImage:x,userData:m,className:u})=>{if(!e||e.length===0)return null;const f=e.length===6?w:v,g=d||f,b=x||(m?.isLoggedIn?z:k);return a("div",{className:t("wheel-wrapper","mx-auto flex items-center justify-center","aspect-w-[1] aspect-h-[1]","l-tablet:size-[340px]",u),children:s("div",{className:t("wheel-container","mx-auto","size-[340px]","lg-desktop:size-[85%] desktop:size-[85%] laptop:size-[90%]"),children:[a("div",{className:t("wheel-disc","absolute inset-0","rounded-full","bg-cover bg-center bg-no-repeat","shadow-[0px_2px_8px_rgba(0,0,0,0.12)]",{"animate-[spin_0.5s_linear_infinite]":o&&!l,"animate-[spin_120s_linear_infinite]":!o&&!l,"transition-none":l}),style:{transform:l?`rotate(${p}deg)`:void 0,backgroundImage:`url('${g}')`},role:"img","aria-label":"\u5927\u8F6C\u76D8",children:e.map((i,_)=>a(E,{prize:i,index:_,totalPrizes:e.length},i.prizeKey))}),s("div",{className:t("wheel-pointer-wrapper","absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2","z-10","h-auto w-[72px]","laptop:w-[86px]","desktop:w-[115px]","lg-desktop:w-[144px]"),children:[a(r,{source:b,alt:"\u8F6C\u76D8\u6307\u9488",className:"size-full object-contain"}),a("button",{onClick:c,disabled:n,className:t("absolute","bottom-[8%] left-1/2 -translate-x-1/2","size-[72px]","laptop:size-[86px]","desktop:size-[115px]","lg-desktop:size-[144px]","rounded-full","cursor-pointer","transition-transform hover:scale-105 active:scale-95","disabled:cursor-not-allowed disabled:opacity-50"),"aria-label":"\u5F00\u59CB\u62BD\u5956","aria-live":"polite"})]})]})})},E=({prize:e,index:p,totalPrizes:o})=>{const l=360/o*p;return a("div",{className:t("prize-slice","absolute left-0 top-0 size-full","flex items-start justify-center","origin-center"),style:{transform:`rotate(${l}deg)`},children:s("div",{className:t("prize-content","flex flex-col items-center gap-[6px]","pt-[44px]","laptop:pt-[62px]","desktop:pt-[82px]","lg-desktop:pt-[104px]"),children:[a("p",{className:t("prize-name","text-[12px]","laptop:text-[14px]","laptop-md:text-[16px]","desktop:text-[16px]","lg-desktop:text-[18px]","line-clamp-2 text-center font-semibold leading-[1.2] text-[#080a0f]","w-[80px]","laptop:w-[60px]","laptop-md:w-[100px]","desktop:w-[100px]","lg-desktop:w-[140px]"),children:e.name}),a(r,{source:e.image.url,alt:e.image.alt||`\u5956\u54C1:${e.name}${e.rank?`,\u6392\u540D ${e.rank}`:""}`,className:t("prize-image","size-[45px]","laptop-md:size-[64px]","laptop:size-[64px]","desktop:size-[86px]","lg-desktop:size-[108px]","rounded-lg object-cover")})]})})};var A=P;export{P as Wheel,A as default};
|
|
2
|
-
//# sourceMappingURL=Wheel.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
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": "aAkHY,cAAAA,EAQJ,QAAAC,MARI,oBAnGZ,MAAkB,QAClB,OAAS,MAAAC,MAAU,yBAEnB,OACE,yBAAAC,EACA,iCAAAC,EACA,6BAAAC,EACA,6BAAAC,MACK,aACP,OAAOC,MAAa,8BAiBb,MAAMC,EAA8B,CAAC,CAC1C,OAAAC,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,EAAIJ,EAA4BC,EACnEc,EAAeL,GAAwBI,EACvCE,EACJL,IAAiBC,GAAU,WAAad,EAAwBC,GAElE,OACEJ,EAAC,OACC,UAAWE,EACT,gBACA,2CACA,4BACA,wBACAgB,CACF,EAKA,SAAAjB,EAAC,OACC,UAAWC,EACT,kBAEA,UACA,eACA,4DACF,EAKA,UAAAF,EAAC,OACC,UAAWE,EACT,aACA,mBACA,eACA,kCACA,wCACA,CAEE,sCAAuCS,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,IAClBvB,EAACwB,EAAA,CAAgC,MAAOF,EAAO,MAAOC,EAAO,YAAad,EAAO,QAAhEa,EAAM,QAAkE,CAC1F,EACH,EAMArB,EAAC,OACC,UAAWC,EACT,wBACA,8DACA,OAEA,kBACA,kBACA,oBACA,sBACF,EAEA,UAAAF,EAACO,EAAA,CAAQ,OAAQc,EAAmB,IAAI,2BAAO,UAAU,2BAA2B,EAGpFrB,EAAC,UACC,QAASc,EACT,SAAUD,EACV,UAAWX,EACT,WAEA,wCAEA,cACA,qBACA,uBACA,0BACA,eACA,iBACA,uDACA,iDACF,EACA,aAAW,2BACX,YAAU,SACZ,GACF,GACF,EACF,CAEJ,EAkBMsB,EAAwC,CAAC,CAAE,MAAAF,EAAO,MAAAC,EAAO,YAAAE,CAAY,IAAM,CAE/E,MAAMC,EAAS,IAAMD,EAAeF,EAEpC,OACEvB,EAAC,OACC,UAAWE,EACT,cACA,kCACA,kCACA,eACF,EACA,MAAO,CACL,UAAW,UAAUwB,CAAK,MAC5B,EAGA,SAAAzB,EAAC,OACC,UAAWC,EACT,gBACA,uCACA,YACA,mBACA,oBACA,uBACF,EAGA,UAAAF,EAAC,KACC,UAAWE,EACT,aACA,cACA,qBACA,wBACA,sBACA,yBACA,sEACA,WACA,kBACA,sBACA,oBACA,sBACF,EAEC,SAAAoB,EAAM,KACT,EAEAtB,EAACO,EAAA,CACC,OAAQe,EAAM,MAAM,IACpB,IAAKA,EAAM,MAAM,KAAO,gBAAMA,EAAM,IAAI,GAAGA,EAAM,KAAO,iBAAOA,EAAM,IAAI,GAAK,EAAE,GAChF,UAAWpB,EACT,cACA,cACA,wBACA,qBACA,sBACA,0BACA,yBACF,EACF,GACF,EACF,CAEJ,EAMA,IAAOyB,EAAQnB",
|
|
6
|
-
"names": ["jsx", "jsxs", "cn", "DEFAULT_POINTER_IMAGE", "DEFAULT_POINTER_DISABLE_IMAGE", "DEFAULT_WHEEL_BG_6_PRIZES", "DEFAULT_WHEEL_BG_8_PRIZES", "Picture", "Wheel", "prizes", "rotation", "isSpinning", "isFinished", "isButtonDisabled", "onGoClick", "wheelBackgroundImage", "pointerImage", "userData", "className", "defaultWheelBg", "finalWheelBg", "finalPointerImage", "prize", "index", "PrizeSlice", "totalPrizes", "angle", "Wheel_default"]
|
|
7
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
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;
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use client";import{jsx as t,jsxs as e}from"react/jsx-runtime";import m from"react";import{cn as l}from"../../helpers/index.js";import{Picture as C,Heading as E,Button as H}from"../../components/index.js";import{BaseModal as R}from"./BaseModal.js";const L=({isOpen:x,prize:a,title:b="You Have Won",prizeTitle:i,prizeImage:o,prizeDescription:p,learnMoreUrl:c,learnMoreText:g="Learn More",onClose:f,confirmText:w="Okay, Got It",onConfirm:h,className:y,couponCode:s,couponDiscount:r,couponUnit:W="Off",expiresAt:d,codeText:k="CODE:",copyText:B="COPY",copiedText:M="COPIED",onCopyCode:u})=>{const[O,N]=m.useState(!1),n=m.useRef(null);m.useEffect(()=>()=>{n.current&&clearTimeout(n.current)},[]);const P=v=>{n.current&&clearTimeout(n.current),navigator.clipboard.writeText(v),u&&u?.(v),N(!0),n.current=setTimeout(()=>{N(!1)},3e3)};if(!x||!a)return null;const T=()=>{h?.(),f()};return e(R,{isOpen:x,onClose:f,className:y,maxWidth:"max-w-[326px] laptop:max-w-[420px]",ariaLabelledBy:"winner-modal-title",children:[e("div",{className:"flex flex-col items-center px-4",children:[e("div",{children:[t(E,{size:2,className:l("mb-1 text-center tracking-[-0.32px]"),children:b}),t("p",{className:"laptop:text-[16px] text-center text-[14px] font-[700] text-[#1D1D1F]",children:i||a.name}),c&&t("div",{className:"laptop:mt-4 mt-3 text-center",children:t("a",{href:c,target:"_blank",rel:"noopener noreferrer",className:l("laptop:text-[14px] text-center text-[12px]","text-blue-600 hover:text-blue-700","font-medium underline","transition-colors"),children:g})})]}),t("div",{className:l("mx-auto my-4 flex items-center justify-center","laptop:size-[200px] size-[160px]"),children:(o||a.image)&&t(C,{source:o||a.image.url,alt:a.image.alt||i||a.name,className:l("h-auto w-full")})}),(r||s)&&e("div",{className:"mb-1 flex w-full flex-col items-center",children:[r&&e("span",{className:"text-brand-0 mb-1 text-[16px] font-bold",children:[r," ",W]}),s&&e("div",{className:"laptop:text-[16px] text-brand-0 flex items-center gap-2 text-center text-[14px] font-bold",children:[e("span",{className:"max-w-[300px] truncate",children:[k,s]}),t("button",{onClick:()=>P(s),className:"underline",style:{minWidth:60},children:O?M:B})]}),d&&e("span",{className:"mt-1 text-[12px] text-[#767880]",children:["\u6709\u6548\u671F\u81F3\uFF1A",d]})]}),p&&t("p",{className:l("laptop:text-[16px] px-4 text-center text-[14px] font-[700] text-[#767880]"),children:p})]}),t("div",{className:"laptop:p-6 p-4",children:t(H,{onClick:T,className:l("w-full"),children:w})})]})};var F=L;export{L as WinnerModal,F as default};
|
|
2
|
-
//# sourceMappingURL=WinnerModal.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
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": "aAsGQ,OACE,OAAAA,EADF,QAAAC,MAAA,oBA1FR,OAAOC,MAAW,QAClB,OAAS,MAAAC,MAAU,yBAEnB,OAAS,WAAAC,EAAS,WAAAC,EAAS,UAAAC,MAAc,4BACzC,OAAS,aAAAC,MAAiB,iBAmBnB,MAAMC,EAAc,CAAC,CAC1B,OAAAC,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,EAAI5B,EAAM,SAAS,EAAK,EAC1C6B,EAAW7B,EAAM,OAA8B,IAAI,EAEzDA,EAAM,UAAU,IACP,IAAM,CACP6B,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,EAC9BL,GAAYA,IAAaK,CAAI,EACjCH,EAAU,EAAI,EACdC,EAAS,QAAU,WAAW,IAAM,CAClCD,EAAU,EAAK,CACjB,EAAG,GAAI,CACT,EAGA,GAAI,CAACrB,GAAU,CAACC,EACd,OAAO,KAIT,MAAMwB,EAAgB,IAAM,CAC1Bf,IAAY,EACZF,EAAQ,CACV,EAEA,OACEhB,EAACM,EAAA,CACC,OAAQE,EACR,QAASQ,EACT,UAAWG,EACX,SAAS,qCACT,eAAe,qBAEf,UAAAnB,EAAC,OAAI,UAAU,kCAIb,UAAAA,EAAC,OACC,UAAAD,EAACK,EAAA,CAAQ,KAAM,EAAG,UAAWF,EAAG,qCAAqC,EAClE,SAAAQ,EACH,EAEAX,EAAC,KAAE,UAAU,uEACV,SAAAY,GAAcF,EAAM,KACvB,EAKCK,GACCf,EAAC,OAAI,UAAU,+BACb,SAAAA,EAAC,KACC,KAAMe,EACN,OAAO,SACP,IAAI,sBACJ,UAAWZ,EACT,6CACA,oCACA,wBACA,mBACF,EAEC,SAAAa,EACH,EACF,GAEJ,EAMAhB,EAAC,OAAI,UAAWG,EAAG,gDAAiD,kCAAkC,EAClG,UAAAU,GAAcH,EAAM,QACpBV,EAACI,EAAA,CACC,OAAQS,GAAcH,EAAM,MAAM,IAClC,IAAKA,EAAM,MAAM,KAAOE,GAAcF,EAAM,KAC5C,UAAWP,EAAG,eAAe,EAC/B,EAEJ,GAKEmB,GAAkBD,IAClBpB,EAAC,OAAI,UAAU,yCACZ,UAAAqB,GACCrB,EAAC,QAAK,UAAU,0CACb,UAAAqB,EAAe,IAAEC,GACpB,EAEDF,GACCpB,EAAC,OAAI,UAAU,4FACb,UAAAA,EAAC,QAAK,UAAU,yBACb,UAAAwB,EACAJ,GACH,EACArB,EAAC,UAAO,QAAS,IAAMgC,EAAWX,CAAW,EAAG,UAAU,YAAY,MAAO,CAAE,SAAU,EAAG,EACzF,SAAAQ,EAASF,EAAaD,EACzB,GACF,EAEDF,GAAavB,EAAC,QAAK,UAAU,kCAAkC,2CAAMuB,GAAU,GAClF,EAMDV,GACCd,EAAC,KAAE,UAAWG,EAAG,2EAA2E,EACzF,SAAAW,EACH,GAEJ,EAKAd,EAAC,OAAI,UAAU,iBACb,SAAAA,EAACM,EAAA,CAAO,QAAS4B,EAAe,UAAW/B,EAAG,QAAQ,EACnD,SAAAe,EACH,EACF,GACF,CAEJ,EAMA,IAAOiB,EAAQ3B",
|
|
6
|
-
"names": ["jsx", "jsxs", "React", "cn", "Picture", "Heading", "Button", "BaseModal", "WinnerModal", "isOpen", "prize", "title", "prizeTitle", "prizeImage", "prizeDescription", "learnMoreUrl", "learnMoreText", "onClose", "confirmText", "onConfirm", "className", "couponCode", "couponDiscount", "couponUnit", "expiresAt", "codeText", "copyText", "copiedText", "onCopyCode", "copied", "setCopied", "timerRef", "handleCopy", "code", "handleConfirm", "WinnerModal_default"]
|
|
7
|
-
}
|
|
@@ -1,52 +0,0 @@
|
|
|
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';
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use client";import{jsx as t,jsxs as f}from"react/jsx-runtime";import{useState as o,useCallback as C,useRef as De,useEffect as H,useImperativeHandle as Le,forwardRef as Fe}from"react";import{cn as u}from"../../helpers/index.js";import{DEFAULT_WHEEL_CONFIG as k,DEFAULT_CHANCE_METHODS as Be,INITIAL_WHEEL_STATE as Oe}from"./types.js";import{Grid as Ue,GridItem as G}from"../../components/grid.js";import{Wheel as je}from"./Wheel.js";import{PrizePool as He}from"./PrizePool.js";import{ChanceMethods as Ge}from"./ChanceMethods.js";import{WinnerModal as _e}from"./WinnerModal.js";import{RulesModal as Ke}from"./RulesModal.js";import{MyRewardsModal as $e}from"./MyRewardsModal.js";import{ErrorModal as _}from"./ErrorModal.js";import{ShareModal as Ye}from"./ShareModal.js";import{withLayout as Ve}from"../../shared/Styles.js";const K=Fe(({prizes:l,theme:c,winningPrizeId:E,spinDuration:A=k.spinDuration,easing:qe=k.easing,wheelBackgroundImage:$,pointerImage:Y,chanceMethods:D=Be,chanceTitle:V=k.chanceTitle,chanceSubtitle:q,chanceFooterNote:J,winningInfos:Q=[],onSpinStart:P,onSpinEnd:S,onSpinError:z,winnerModalConfig:s,rulesModalConfig:X={},myRewardsModalConfig:Z={},errorModalConfig:m={},shareModalConfig:h={},userData:a,loginPromptText:Je="Please log in to participate",onLoginRequired:R,noChancesText:L="You have no chances left",onCopyCode:ee,opportunitiesText:F=["Number of draws remaining today:"],className:te},oe)=>{const{rulesData:N,rulesText:se="Rules"}=X,{rewardsData:v,myRewardsText:re="My Rewards",codeText:ne="CODE:",copyText:ie="COPY",prizeText:ae="Prize time:"}=Z,[r,p]=o(Oe),[le,x]=o(!1),[pe,w]=o(!1),[de,g]=o(!1),[ce,y]=o(!1),[fe,M]=o(!1),[me,W]=o(!1),[ue,B]=o(""),[he,xe]=o(),[we,ge]=o(),[ye,Me]=o(),[We,be]=o(),[Te,Ee]=o(),[n,Pe]=o(),T=De(null);Le(oe,()=>({showError:({message:e,title:i,confirmText:b})=>{B(e),xe(i),ge(b),y(!0)},hideError:()=>{y(!1)},showNoWin:e=>{Me(e?.title),be(e?.message),Ee(e?.confirmText),M(!0)},hideNoWin:()=>{M(!1)},showWinner:(e,i)=>{p(b=>({...b,winningPrize:e})),Pe(i),x(!0)},hideWinner:()=>{x(!1)},showRules:()=>{w(!0)},hideRules:()=>{w(!1)},showRewards:()=>{g(!0)},hideRewards:()=>{g(!1)},showShare:()=>{W(!0)},hideShare:()=>{W(!1)},hideAllModals:()=>{x(!1),w(!1),g(!1),y(!1),M(!1),W(!1)}}),[]),H(()=>{},[l,E]),H(()=>()=>{T.current!==null&&cancelAnimationFrame(T.current)},[]);const Se=C(async()=>{if(!r.isSpinning){if(!a?.isLoggedIn){R?.();return}if(a.availableChances<=0){z?.(new Error(L));return}p(e=>({...e,isSpinning:!0,isButtonDisabled:!0}));try{let e=E;P&&(e=await P());const i=l.find(d=>d.prizeKey===e)||l[0],b=l.findIndex(d=>d.prizeKey===i.prizeKey),Ne=360/l.length,ve=b*Ne,O=3*360+(360-ve);await new Promise(d=>setTimeout(d,1500)),p(d=>({...d,isFinished:!0,currentRotation:0}));const Ie=Date.now(),U=()=>{const Ce=Date.now()-Ie,j=Math.min(Ce/A,1),ke=1-Math.pow(1-j,3),Ae=O*ke;p(I=>({...I,currentRotation:Ae})),j<1?T.current=requestAnimationFrame(U):(p(I=>({...I,isSpinning:!1,isButtonDisabled:!0,winningPrize:i,currentRotation:O})),S?S?.(i):setTimeout(()=>{i.prizeKey==="try-again"?M(!0):x(!0)},500))};T.current=requestAnimationFrame(U)}catch(e){p(i=>({...i,isSpinning:!1,isButtonDisabled:!1})),B(e.message||"An error occurred"),y(!0),z?.(e),console.error("\u62BD\u5956\u63A5\u53E3\u8C03\u7528\u5931\u8D25:",e)}}},[r.isSpinning,l,E,A,P,S,z,a,R,L]),ze=C(()=>{x(!1),p(e=>({...e,isButtonDisabled:!1,isFinished:!1}))},[]),Re=C(()=>{M(!1),p(e=>({...e,isButtonDisabled:!1,isFinished:!1}))},[]);return f("div",{className:u("wheel-lottery-container","w-full",c==="dark"?"aiui-dark":"",te),children:[f("div",{role:"status","aria-live":"polite","aria-atomic":"true",className:"sr-only",children:[r.isSpinning&&"\u62BD\u5956\u8FDB\u884C\u4E2D...",r.winningPrize&&!r.isSpinning&&`\u5DF2\u4E2D\u5956: ${r.winningPrize.name}`]}),f(Ue,{className:u("wheel-lottery-main","tablet:mb-4 mb-3"),children:[t(G,{span:7,className:u("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",c==="dark"?"bg-[#1E2024]":"bg-[#EAEAEC]"),children:f("div",{className:u(" 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:[f("div",{className:"mb-2 flex w-full flex-wrap items-center justify-between gap-3",children:[f("p",{className:"text-info-primary font-[700]",children:[F?.[0],t("span",{className:"text-[#FF6B35]",children:a?.availableChances||0}),F?.[1]||""]}),f("div",{className:"flex items-center gap-4",children:[N&&t("button",{onClick:()=>w(!0),children:t("span",{className:"text-info-primary font-[700] underline ",children:se})}),v&&t("button",{onClick:()=>g(!0),children:t("span",{className:"text-info-primary font-[700] underline ",children:re})})]})]}),t(je,{theme:c,prizes:l,rotation:r.currentRotation,isSpinning:r.isSpinning,isFinished:r.isFinished,isButtonDisabled:r.isButtonDisabled||!!a?.isLoggedIn&&(a?.availableChances||0)<=0,userData:a,onGoClick:a?.isLoggedIn?Se:R,wheelBackgroundImage:$,pointerImage:Y})]})}),D.length>0&&t(G,{span:5,className:u("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",c==="dark"?"bg-[#1E2024]":"bg-[#EAEAEC]"),children:t(Ge,{theme:c,userData:a,methods:D,title:V,subtitle:q,footerNote:J,onOpenShareModal:()=>W(!0)})})]}),t("div",{className:u("wheel-lottery-footer","rounded-box","flex flex-col overflow-hidden",c==="dark"?"bg-[#1E2024]":"bg-[#EAEAEC]"),children:t(He,{theme:c,prizes:l,winningInfos:Q})}),t(_e,{isOpen:le,prize:r.winningPrize,title:n?.title||s?.title,prizeTitle:n?.prizeTitle||s?.prizeTitle,prizeImage:n?.prizeImage||s?.prizeImage,prizeDescription:n?.prizeDescription||s?.prizeDescription,learnMoreUrl:n?.learnMoreUrl||s?.learnMoreUrl,learnMoreText:n?.learnMoreText||s?.learnMoreText,couponCode:n?.couponCode||s?.couponCode,expiresAt:n?.expiresAt||s?.expiresAt,couponDiscount:n?.couponDiscount||s?.couponDiscount,couponUnit:n?.couponUnit||s?.couponUnit,confirmText:n?.confirmText||s?.confirmText,onClose:ze}),N&&t(Ke,{isOpen:pe,onClose:()=>w(!1),rules:N}),v&&t($e,{isOpen:de,onClose:()=>g(!1),rewards:v,onCopyCode:ee,codeText:ne,copyText:ie,prizeText:ae}),t(_,{isOpen:ce,onClose:()=>y(!1),title:he||m?.title,message:ue||m?.message,confirmText:we||m?.confirmText}),t(_,{isOpen:fe,onClose:Re,title:ye||m?.title,message:We||m?.message,confirmText:Te||m?.confirmText}),t(Ye,{isOpen:me,onClose:()=>W(!1),title:h?.title,subtitle:h?.subtitle,note:h?.note,platforms:h?.platforms,onShareSuccess:h?.onShareSuccess})]})});K.displayName="WheelLottery";var ft=Ve(K);import{WinnerModal as ht}from"./WinnerModal.js";import{RulesModal as wt}from"./RulesModal.js";import{MyRewardsModal as yt}from"./MyRewardsModal.js";import{ErrorModal as Wt}from"./ErrorModal.js";import{ShareModal as Tt}from"./ShareModal.js";import{BaseModal as Pt}from"./BaseModal.js";export{Pt as BaseModal,Wt as ErrorModal,yt as MyRewardsModal,wt as RulesModal,Tt as ShareModal,K as WheelLottery,ht as WinnerModal,ft as default};
|
|
2
|
-
//# sourceMappingURL=index.js.map
|