@anker-in/headless-ui 1.1.32 → 1.1.34-alpha.1768461697532
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/ActiveShelf/index.d.ts +222 -0
- package/dist/cjs/biz-components/ActiveShelf/index.js +2 -0
- package/dist/cjs/biz-components/ActiveShelf/index.js.map +7 -0
- package/dist/cjs/biz-components/ActiveShelf/types.d.ts +22 -0
- package/dist/cjs/biz-components/ActiveShelf/types.js +2 -0
- package/dist/cjs/biz-components/ActiveShelf/types.js.map +7 -0
- package/dist/cjs/biz-components/AiuiProvider/index.d.ts +7 -0
- 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/AnchorNavigation/index.d.ts +42 -0
- package/dist/cjs/biz-components/AnchorNavigation/index.js +2 -0
- package/dist/cjs/biz-components/AnchorNavigation/index.js.map +7 -0
- package/dist/cjs/biz-components/AnchorNavigation/useAnchorPosition.d.ts +2 -0
- package/dist/cjs/biz-components/AnchorNavigation/useAnchorPosition.js +2 -0
- package/dist/cjs/biz-components/AnchorNavigation/useAnchorPosition.js.map +7 -0
- package/dist/cjs/biz-components/AplusDesc/index.d.ts +3 -3
- package/dist/cjs/biz-components/BrandCardLink/BrandCardLink.d.ts +3 -3
- package/dist/cjs/biz-components/BrandCardLink/BrandCardLink.js +1 -1
- package/dist/cjs/biz-components/BrandCardLink/BrandCardLink.js.map +1 -1
- 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 +3 -3
- package/dist/cjs/biz-components/BrandEquity/types.d.ts +1 -0
- 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/BuyOneGetOneShelf/ProductCard.d.ts +74 -0
- package/dist/cjs/biz-components/BuyOneGetOneShelf/ProductCard.js +2 -0
- package/dist/cjs/biz-components/BuyOneGetOneShelf/ProductCard.js.map +7 -0
- package/dist/cjs/biz-components/BuyOneGetOneShelf/hooks/useBogoDataTransform.d.ts +36 -0
- package/dist/cjs/biz-components/BuyOneGetOneShelf/hooks/useBogoDataTransform.js +2 -0
- package/dist/cjs/biz-components/BuyOneGetOneShelf/hooks/useBogoDataTransform.js.map +7 -0
- package/dist/cjs/biz-components/BuyOneGetOneShelf/index.d.ts +193 -0
- package/dist/cjs/biz-components/BuyOneGetOneShelf/index.js +2 -0
- package/dist/cjs/biz-components/BuyOneGetOneShelf/index.js.map +7 -0
- 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 +3 -3
- package/dist/cjs/biz-components/EventSchedule/index.d.ts +63 -0
- package/dist/cjs/biz-components/EventSchedule/index.js +2 -0
- package/dist/cjs/biz-components/EventSchedule/index.js.map +7 -0
- 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/Graphic/index.js +1 -1
- package/dist/cjs/biz-components/Graphic/index.js.map +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/MobileSidebarMenu.js +1 -1
- package/dist/cjs/biz-components/HeaderNavigation/MobileSidebarMenu.js.map +3 -3
- package/dist/cjs/biz-components/HeaderNavigation/SidebarDropdown.js +1 -1
- package/dist/cjs/biz-components/HeaderNavigation/SidebarDropdown.js.map +2 -2
- 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 +6 -3
- 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/IPRedirect/RegionBanner.d.ts +37 -0
- package/dist/cjs/biz-components/IPRedirect/RegionBanner.js +60 -0
- package/dist/cjs/biz-components/IPRedirect/RegionBanner.js.map +7 -0
- package/dist/cjs/biz-components/IPRedirect/RegionSelectorModal.d.ts +47 -0
- package/dist/cjs/biz-components/IPRedirect/RegionSelectorModal.js +69 -0
- package/dist/cjs/biz-components/IPRedirect/RegionSelectorModal.js.map +7 -0
- package/dist/cjs/biz-components/IPRedirect/index.d.ts +9 -0
- package/dist/cjs/biz-components/IPRedirect/index.js +2 -0
- package/dist/cjs/biz-components/IPRedirect/index.js.map +7 -0
- package/dist/cjs/biz-components/IPRedirect/type.d.ts +36 -0
- package/dist/cjs/biz-components/IPRedirect/type.js +2 -0
- package/dist/cjs/biz-components/IPRedirect/type.js.map +7 -0
- package/dist/cjs/biz-components/IPRedirect/useAutoRedirect.d.ts +66 -0
- package/dist/cjs/biz-components/IPRedirect/useAutoRedirect.js +2 -0
- package/dist/cjs/biz-components/IPRedirect/useAutoRedirect.js.map +7 -0
- package/dist/cjs/biz-components/IPRedirect/useDetectedRegionRedirect.d.ts +51 -0
- package/dist/cjs/biz-components/IPRedirect/useDetectedRegionRedirect.js +2 -0
- package/dist/cjs/biz-components/IPRedirect/useDetectedRegionRedirect.js.map +7 -0
- package/dist/cjs/biz-components/IPRedirect/useIPRedirect.d.ts +42 -0
- package/dist/cjs/biz-components/IPRedirect/useIPRedirect.js +2 -0
- package/dist/cjs/biz-components/IPRedirect/useIPRedirect.js.map +7 -0
- package/dist/cjs/biz-components/IPRedirect/useRedirectBanner.d.ts +108 -0
- package/dist/cjs/biz-components/IPRedirect/useRedirectBanner.js +2 -0
- package/dist/cjs/biz-components/IPRedirect/useRedirectBanner.js.map +7 -0
- package/dist/cjs/biz-components/IPRedirect/useRegionRedirectManager.d.ts +152 -0
- package/dist/cjs/biz-components/IPRedirect/useRegionRedirectManager.js +2 -0
- package/dist/cjs/biz-components/IPRedirect/useRegionRedirectManager.js.map +7 -0
- package/dist/cjs/biz-components/IPRedirect/useSavedRegionRedirect.d.ts +51 -0
- package/dist/cjs/biz-components/IPRedirect/useSavedRegionRedirect.js +2 -0
- package/dist/cjs/biz-components/IPRedirect/useSavedRegionRedirect.js.map +7 -0
- package/dist/cjs/biz-components/IPRedirect/utils.d.ts +222 -0
- package/dist/cjs/biz-components/IPRedirect/utils.js +2 -0
- package/dist/cjs/biz-components/IPRedirect/utils.js.map +7 -0
- package/dist/cjs/biz-components/ImageOverlayShelf/index.d.ts +130 -0
- package/dist/cjs/biz-components/ImageOverlayShelf/index.js +2 -0
- package/dist/cjs/biz-components/ImageOverlayShelf/index.js.map +7 -0
- 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/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/Media/index.d.ts +32 -0
- package/dist/cjs/biz-components/Media/index.js +2 -0
- package/dist/cjs/biz-components/Media/index.js.map +7 -0
- 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 +1 -0
- 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/MediaShelf/index.d.ts +216 -0
- package/dist/cjs/biz-components/MediaShelf/index.js +2 -0
- package/dist/cjs/biz-components/MediaShelf/index.js.map +7 -0
- package/dist/cjs/biz-components/MediaShelf/types.d.ts +22 -0
- package/dist/cjs/biz-components/MediaShelf/types.js +2 -0
- package/dist/cjs/biz-components/MediaShelf/types.js.map +7 -0
- package/dist/cjs/biz-components/MemberEquity/index.d.ts +3 -3
- package/dist/cjs/biz-components/MiniCart/index.d.ts +88 -0
- package/dist/cjs/biz-components/MiniCart/index.js +2 -0
- package/dist/cjs/biz-components/MiniCart/index.js.map +7 -0
- 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/PromotionalBar/index.d.ts +49 -0
- package/dist/cjs/biz-components/PromotionalBar/index.js +2 -0
- package/dist/cjs/biz-components/PromotionalBar/index.js.map +7 -0
- package/dist/cjs/biz-components/SecondaryBanner/index.d.ts +69 -0
- package/dist/cjs/biz-components/SecondaryBanner/index.js +2 -0
- package/dist/cjs/biz-components/SecondaryBanner/index.js.map +7 -0
- 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 +0 -11
- 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/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/Specs/index.js +1 -1
- package/dist/cjs/biz-components/Specs/index.js.map +2 -2
- 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/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/Countdown.d.ts +14 -0
- package/dist/cjs/biz-components/Title/Countdown.js +2 -0
- package/dist/cjs/biz-components/Title/Countdown.js.map +7 -0
- 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 +55 -0
- 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/WheelLottery/BaseModal.d.ts +55 -0
- package/dist/cjs/biz-components/WheelLottery/BaseModal.js +12 -0
- package/dist/cjs/biz-components/WheelLottery/BaseModal.js.map +7 -0
- package/dist/cjs/biz-components/WheelLottery/ChanceMethods.d.ts +30 -0
- package/dist/cjs/biz-components/WheelLottery/ChanceMethods.js +2 -0
- package/dist/cjs/biz-components/WheelLottery/ChanceMethods.js.map +7 -0
- package/dist/cjs/biz-components/WheelLottery/ErrorModal.d.ts +42 -0
- package/dist/cjs/biz-components/WheelLottery/ErrorModal.js +2 -0
- package/dist/cjs/biz-components/WheelLottery/ErrorModal.js.map +7 -0
- package/dist/cjs/biz-components/WheelLottery/MyRewardsModal.d.ts +91 -0
- package/dist/cjs/biz-components/WheelLottery/MyRewardsModal.js +2 -0
- package/dist/cjs/biz-components/WheelLottery/MyRewardsModal.js.map +7 -0
- package/dist/cjs/biz-components/WheelLottery/PrizePool.d.ts +26 -0
- package/dist/cjs/biz-components/WheelLottery/PrizePool.js +2 -0
- package/dist/cjs/biz-components/WheelLottery/PrizePool.js.map +7 -0
- package/dist/cjs/biz-components/WheelLottery/RulesModal.d.ts +43 -0
- package/dist/cjs/biz-components/WheelLottery/RulesModal.js +2 -0
- package/dist/cjs/biz-components/WheelLottery/RulesModal.js.map +7 -0
- package/dist/cjs/biz-components/WheelLottery/ShareModal.d.ts +74 -0
- package/dist/cjs/biz-components/WheelLottery/ShareModal.js +2 -0
- package/dist/cjs/biz-components/WheelLottery/ShareModal.js.map +7 -0
- package/dist/cjs/biz-components/WheelLottery/Wheel.d.ts +27 -0
- package/dist/cjs/biz-components/WheelLottery/Wheel.js +2 -0
- package/dist/cjs/biz-components/WheelLottery/Wheel.js.map +7 -0
- package/dist/cjs/biz-components/WheelLottery/WinnerModal.d.ts +25 -0
- package/dist/cjs/biz-components/WheelLottery/WinnerModal.js +2 -0
- package/dist/cjs/biz-components/WheelLottery/WinnerModal.js.map +7 -0
- package/dist/cjs/biz-components/WheelLottery/index.d.ts +52 -0
- package/dist/cjs/biz-components/WheelLottery/index.js +2 -0
- package/dist/cjs/biz-components/WheelLottery/index.js.map +7 -0
- package/dist/cjs/biz-components/WheelLottery/types.d.ts +1193 -0
- package/dist/cjs/biz-components/WheelLottery/types.js +2 -0
- package/dist/cjs/biz-components/WheelLottery/types.js.map +7 -0
- package/dist/cjs/biz-components/WhyChoose/WhyChoose.d.ts +3 -3
- package/dist/cjs/biz-components/index.d.ts +30 -2
- package/dist/cjs/biz-components/index.js +1 -1
- package/dist/cjs/biz-components/index.js.map +3 -3
- package/dist/cjs/components/badge.js +1 -1
- package/dist/cjs/components/badge.js.map +2 -2
- package/dist/cjs/components/index.d.ts +2 -0
- package/dist/cjs/components/index.js +1 -1
- package/dist/cjs/components/index.js.map +3 -3
- package/dist/cjs/components/paginator.d.ts +12 -0
- package/dist/cjs/components/paginator.js +7 -0
- package/dist/cjs/components/paginator.js.map +7 -0
- package/dist/cjs/components/progress.d.ts +46 -0
- package/dist/cjs/components/progress.js +2 -0
- package/dist/cjs/components/progress.js.map +7 -0
- package/dist/cjs/components/tabs.d.ts +2 -1
- package/dist/cjs/components/tabs.js +1 -1
- package/dist/cjs/components/tabs.js.map +2 -2
- package/dist/cjs/helpers/index.d.ts +1 -0
- package/dist/cjs/helpers/index.js +1 -1
- package/dist/cjs/helpers/index.js.map +3 -3
- package/dist/cjs/helpers/priceFormatting.d.ts +11 -0
- package/dist/cjs/helpers/priceFormatting.js +2 -0
- package/dist/cjs/helpers/priceFormatting.js.map +7 -0
- package/dist/cjs/shared/Styles.d.ts +5 -4
- package/dist/cjs/shared/Styles.js +1 -1
- package/dist/cjs/shared/Styles.js.map +3 -3
- package/dist/cjs/types/props.d.ts +0 -3
- 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/ActiveShelf/index.d.ts +222 -0
- package/dist/esm/biz-components/ActiveShelf/index.js +2 -0
- package/dist/esm/biz-components/ActiveShelf/index.js.map +7 -0
- package/dist/esm/biz-components/ActiveShelf/types.d.ts +22 -0
- package/dist/esm/biz-components/ActiveShelf/types.js +1 -0
- package/dist/esm/biz-components/ActiveShelf/types.js.map +7 -0
- package/dist/esm/biz-components/AiuiProvider/index.d.ts +7 -0
- 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/AnchorNavigation/index.d.ts +42 -0
- package/dist/esm/biz-components/AnchorNavigation/index.js +2 -0
- package/dist/esm/biz-components/AnchorNavigation/index.js.map +7 -0
- package/dist/esm/biz-components/AnchorNavigation/useAnchorPosition.d.ts +2 -0
- package/dist/esm/biz-components/AnchorNavigation/useAnchorPosition.js +2 -0
- package/dist/esm/biz-components/AnchorNavigation/useAnchorPosition.js.map +7 -0
- package/dist/esm/biz-components/AplusDesc/index.d.ts +3 -3
- package/dist/esm/biz-components/BrandCardLink/BrandCardLink.d.ts +3 -3
- package/dist/esm/biz-components/BrandCardLink/BrandCardLink.js +1 -1
- package/dist/esm/biz-components/BrandCardLink/BrandCardLink.js.map +1 -1
- 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 +3 -3
- package/dist/esm/biz-components/BrandEquity/types.d.ts +1 -0
- package/dist/esm/biz-components/BuyOneGetOneShelf/ProductCard.d.ts +74 -0
- package/dist/esm/biz-components/BuyOneGetOneShelf/ProductCard.js +2 -0
- package/dist/esm/biz-components/BuyOneGetOneShelf/ProductCard.js.map +7 -0
- package/dist/esm/biz-components/BuyOneGetOneShelf/hooks/useBogoDataTransform.d.ts +36 -0
- package/dist/esm/biz-components/BuyOneGetOneShelf/hooks/useBogoDataTransform.js +2 -0
- package/dist/esm/biz-components/BuyOneGetOneShelf/hooks/useBogoDataTransform.js.map +7 -0
- package/dist/esm/biz-components/BuyOneGetOneShelf/index.d.ts +193 -0
- package/dist/esm/biz-components/BuyOneGetOneShelf/index.js +2 -0
- package/dist/esm/biz-components/BuyOneGetOneShelf/index.js.map +7 -0
- 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 +3 -3
- package/dist/esm/biz-components/EventSchedule/index.d.ts +63 -0
- package/dist/esm/biz-components/EventSchedule/index.js +2 -0
- package/dist/esm/biz-components/EventSchedule/index.js.map +7 -0
- 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/Graphic/index.js +1 -1
- package/dist/esm/biz-components/Graphic/index.js.map +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/MobileSidebarMenu.js +1 -1
- package/dist/esm/biz-components/HeaderNavigation/MobileSidebarMenu.js.map +3 -3
- package/dist/esm/biz-components/HeaderNavigation/SidebarDropdown.js +1 -1
- package/dist/esm/biz-components/HeaderNavigation/SidebarDropdown.js.map +2 -2
- 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 +6 -3
- 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/IPRedirect/RegionBanner.d.ts +37 -0
- package/dist/esm/biz-components/IPRedirect/RegionBanner.js +60 -0
- package/dist/esm/biz-components/IPRedirect/RegionBanner.js.map +7 -0
- package/dist/esm/biz-components/IPRedirect/RegionSelectorModal.d.ts +47 -0
- package/dist/esm/biz-components/IPRedirect/RegionSelectorModal.js +69 -0
- package/dist/esm/biz-components/IPRedirect/RegionSelectorModal.js.map +7 -0
- package/dist/esm/biz-components/IPRedirect/index.d.ts +9 -0
- package/dist/esm/biz-components/IPRedirect/index.js +2 -0
- package/dist/esm/biz-components/IPRedirect/index.js.map +7 -0
- package/dist/esm/biz-components/IPRedirect/type.d.ts +36 -0
- package/dist/esm/biz-components/IPRedirect/type.js +1 -0
- package/dist/esm/biz-components/IPRedirect/type.js.map +7 -0
- package/dist/esm/biz-components/IPRedirect/useAutoRedirect.d.ts +66 -0
- package/dist/esm/biz-components/IPRedirect/useAutoRedirect.js +2 -0
- package/dist/esm/biz-components/IPRedirect/useAutoRedirect.js.map +7 -0
- package/dist/esm/biz-components/IPRedirect/useDetectedRegionRedirect.d.ts +51 -0
- package/dist/esm/biz-components/IPRedirect/useDetectedRegionRedirect.js +2 -0
- package/dist/esm/biz-components/IPRedirect/useDetectedRegionRedirect.js.map +7 -0
- package/dist/esm/biz-components/IPRedirect/useIPRedirect.d.ts +42 -0
- package/dist/esm/biz-components/IPRedirect/useIPRedirect.js +2 -0
- package/dist/esm/biz-components/IPRedirect/useIPRedirect.js.map +7 -0
- package/dist/esm/biz-components/IPRedirect/useRedirectBanner.d.ts +108 -0
- package/dist/esm/biz-components/IPRedirect/useRedirectBanner.js +2 -0
- package/dist/esm/biz-components/IPRedirect/useRedirectBanner.js.map +7 -0
- package/dist/esm/biz-components/IPRedirect/useRegionRedirectManager.d.ts +152 -0
- package/dist/esm/biz-components/IPRedirect/useRegionRedirectManager.js +2 -0
- package/dist/esm/biz-components/IPRedirect/useRegionRedirectManager.js.map +7 -0
- package/dist/esm/biz-components/IPRedirect/useSavedRegionRedirect.d.ts +51 -0
- package/dist/esm/biz-components/IPRedirect/useSavedRegionRedirect.js +2 -0
- package/dist/esm/biz-components/IPRedirect/useSavedRegionRedirect.js.map +7 -0
- package/dist/esm/biz-components/IPRedirect/utils.d.ts +222 -0
- package/dist/esm/biz-components/IPRedirect/utils.js +2 -0
- package/dist/esm/biz-components/IPRedirect/utils.js.map +7 -0
- package/dist/esm/biz-components/ImageOverlayShelf/index.d.ts +130 -0
- package/dist/esm/biz-components/ImageOverlayShelf/index.js +2 -0
- package/dist/esm/biz-components/ImageOverlayShelf/index.js.map +7 -0
- 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/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/Media/index.d.ts +32 -0
- package/dist/esm/biz-components/Media/index.js +2 -0
- package/dist/esm/biz-components/Media/index.js.map +7 -0
- 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 +1 -0
- package/dist/esm/biz-components/MediaSceneSwitcher/MediaSceneSwitcher.d.ts +3 -3
- package/dist/esm/biz-components/MediaShelf/index.d.ts +216 -0
- package/dist/esm/biz-components/MediaShelf/index.js +2 -0
- package/dist/esm/biz-components/MediaShelf/index.js.map +7 -0
- package/dist/esm/biz-components/MediaShelf/types.d.ts +22 -0
- package/dist/esm/biz-components/MediaShelf/types.js +1 -0
- package/dist/esm/biz-components/MediaShelf/types.js.map +7 -0
- package/dist/esm/biz-components/MemberEquity/index.d.ts +3 -3
- package/dist/esm/biz-components/MiniCart/index.d.ts +88 -0
- package/dist/esm/biz-components/MiniCart/index.js +2 -0
- package/dist/esm/biz-components/MiniCart/index.js.map +7 -0
- 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/PromotionalBar/index.d.ts +49 -0
- package/dist/esm/biz-components/PromotionalBar/index.js +2 -0
- package/dist/esm/biz-components/PromotionalBar/index.js.map +7 -0
- package/dist/esm/biz-components/SecondaryBanner/index.d.ts +69 -0
- package/dist/esm/biz-components/SecondaryBanner/index.js +2 -0
- package/dist/esm/biz-components/SecondaryBanner/index.js.map +7 -0
- 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 +0 -11
- 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/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/Specs/index.js +1 -1
- package/dist/esm/biz-components/Specs/index.js.map +2 -2
- 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/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/Countdown.d.ts +14 -0
- package/dist/esm/biz-components/Title/Countdown.js +2 -0
- package/dist/esm/biz-components/Title/Countdown.js.map +7 -0
- 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 +55 -0
- package/dist/esm/biz-components/VideoFeature/VideoFeature.d.ts +3 -3
- package/dist/esm/biz-components/WheelLottery/BaseModal.d.ts +55 -0
- package/dist/esm/biz-components/WheelLottery/BaseModal.js +12 -0
- package/dist/esm/biz-components/WheelLottery/BaseModal.js.map +7 -0
- package/dist/esm/biz-components/WheelLottery/ChanceMethods.d.ts +30 -0
- package/dist/esm/biz-components/WheelLottery/ChanceMethods.js +2 -0
- package/dist/esm/biz-components/WheelLottery/ChanceMethods.js.map +7 -0
- package/dist/esm/biz-components/WheelLottery/ErrorModal.d.ts +42 -0
- package/dist/esm/biz-components/WheelLottery/ErrorModal.js +2 -0
- package/dist/esm/biz-components/WheelLottery/ErrorModal.js.map +7 -0
- package/dist/esm/biz-components/WheelLottery/MyRewardsModal.d.ts +91 -0
- package/dist/esm/biz-components/WheelLottery/MyRewardsModal.js +2 -0
- package/dist/esm/biz-components/WheelLottery/MyRewardsModal.js.map +7 -0
- package/dist/esm/biz-components/WheelLottery/PrizePool.d.ts +26 -0
- package/dist/esm/biz-components/WheelLottery/PrizePool.js +2 -0
- package/dist/esm/biz-components/WheelLottery/PrizePool.js.map +7 -0
- package/dist/esm/biz-components/WheelLottery/RulesModal.d.ts +43 -0
- package/dist/esm/biz-components/WheelLottery/RulesModal.js +2 -0
- package/dist/esm/biz-components/WheelLottery/RulesModal.js.map +7 -0
- package/dist/esm/biz-components/WheelLottery/ShareModal.d.ts +74 -0
- package/dist/esm/biz-components/WheelLottery/ShareModal.js +2 -0
- package/dist/esm/biz-components/WheelLottery/ShareModal.js.map +7 -0
- package/dist/esm/biz-components/WheelLottery/Wheel.d.ts +27 -0
- package/dist/esm/biz-components/WheelLottery/Wheel.js +2 -0
- package/dist/esm/biz-components/WheelLottery/Wheel.js.map +7 -0
- package/dist/esm/biz-components/WheelLottery/WinnerModal.d.ts +25 -0
- package/dist/esm/biz-components/WheelLottery/WinnerModal.js +2 -0
- package/dist/esm/biz-components/WheelLottery/WinnerModal.js.map +7 -0
- package/dist/esm/biz-components/WheelLottery/index.d.ts +52 -0
- package/dist/esm/biz-components/WheelLottery/index.js +2 -0
- package/dist/esm/biz-components/WheelLottery/index.js.map +7 -0
- package/dist/esm/biz-components/WheelLottery/types.d.ts +1193 -0
- package/dist/esm/biz-components/WheelLottery/types.js +2 -0
- package/dist/esm/biz-components/WheelLottery/types.js.map +7 -0
- package/dist/esm/biz-components/WhyChoose/WhyChoose.d.ts +3 -3
- package/dist/esm/biz-components/index.d.ts +30 -2
- package/dist/esm/biz-components/index.js +1 -1
- package/dist/esm/biz-components/index.js.map +3 -3
- package/dist/esm/components/badge.js +1 -1
- package/dist/esm/components/badge.js.map +2 -2
- package/dist/esm/components/index.d.ts +2 -0
- package/dist/esm/components/index.js +1 -1
- package/dist/esm/components/index.js.map +2 -2
- package/dist/esm/components/paginator.d.ts +12 -0
- package/dist/esm/components/paginator.js +7 -0
- package/dist/esm/components/paginator.js.map +7 -0
- package/dist/esm/components/progress.d.ts +46 -0
- package/dist/esm/components/progress.js +2 -0
- package/dist/esm/components/progress.js.map +7 -0
- package/dist/esm/components/tabs.d.ts +2 -1
- package/dist/esm/components/tabs.js +1 -1
- package/dist/esm/components/tabs.js.map +2 -2
- package/dist/esm/helpers/index.d.ts +1 -0
- package/dist/esm/helpers/index.js +1 -1
- package/dist/esm/helpers/index.js.map +3 -3
- package/dist/esm/helpers/priceFormatting.d.ts +11 -0
- package/dist/esm/helpers/priceFormatting.js +2 -0
- package/dist/esm/helpers/priceFormatting.js.map +7 -0
- package/dist/esm/shared/Styles.d.ts +5 -4
- package/dist/esm/shared/Styles.js +1 -1
- package/dist/esm/shared/Styles.js.map +3 -3
- package/dist/esm/types/props.d.ts +0 -3
- package/dist/tokens/base.css +4 -3
- package/dist/tokens/eufy.css +1 -0
- package/dist/tokens/soundcore.css +4 -3
- package/package.json +8 -3
- package/style.css +4915 -126
- package/tailwind.config.js +19 -2
- package/dist/cjs/stories/HeroBanner.stories.d.ts +0 -28
- package/dist/cjs/stories/HeroBanner.stories.js +0 -11
- package/dist/cjs/stories/HeroBanner.stories.js.map +0 -7
- package/dist/cjs/stories/InlineVideo.stories.d.ts +0 -37
- package/dist/cjs/stories/InlineVideo.stories.js +0 -164
- package/dist/cjs/stories/InlineVideo.stories.js.map +0 -7
- package/dist/cjs/stories/MarqueeReview.stories.d.ts +0 -72
- package/dist/cjs/stories/MarqueeReview.stories.js +0 -19
- package/dist/cjs/stories/MarqueeReview.stories.js.map +0 -7
- package/dist/cjs/stories/MediaSceneSwitcher.stories.d.ts +0 -47
- package/dist/cjs/stories/MediaSceneSwitcher.stories.js +0 -2
- package/dist/cjs/stories/MediaSceneSwitcher.stories.js.map +0 -7
- package/dist/cjs/stories/MemberEquity.stories.d.ts +0 -9
- package/dist/cjs/stories/MemberEquity.stories.js +0 -31
- package/dist/cjs/stories/MemberEquity.stories.js.map +0 -7
- package/dist/cjs/stories/MultiLayoutGraphicBlock.stories.d.ts +0 -9
- package/dist/cjs/stories/MultiLayoutGraphicBlock.stories.js +0 -2
- package/dist/cjs/stories/MultiLayoutGraphicBlock.stories.js.map +0 -7
- package/dist/cjs/stories/ProductNav.stories.d.ts +0 -55
- package/dist/cjs/stories/ProductNav.stories.js +0 -2
- package/dist/cjs/stories/ProductNav.stories.js.map +0 -7
- package/dist/cjs/stories/ThreeDCarousel.stories.d.ts +0 -27
- package/dist/cjs/stories/ThreeDCarousel.stories.js +0 -118
- package/dist/cjs/stories/ThreeDCarousel.stories.js.map +0 -7
- package/dist/cjs/stories/accordionCards.stories.d.ts +0 -38
- package/dist/cjs/stories/accordionCards.stories.js +0 -2
- package/dist/cjs/stories/accordionCards.stories.js.map +0 -7
- package/dist/cjs/stories/alert.stories.d.ts +0 -27
- package/dist/cjs/stories/alert.stories.js +0 -2
- package/dist/cjs/stories/alert.stories.js.map +0 -7
- package/dist/cjs/stories/avatar.stories.d.ts +0 -39
- package/dist/cjs/stories/avatar.stories.js +0 -2
- package/dist/cjs/stories/avatar.stories.js.map +0 -7
- package/dist/cjs/stories/badge.stories.d.ts +0 -96
- package/dist/cjs/stories/badge.stories.js +0 -2
- package/dist/cjs/stories/badge.stories.js.map +0 -7
- package/dist/cjs/stories/bizTabs.stories.d.ts +0 -7
- package/dist/cjs/stories/bizTabs.stories.js +0 -2
- package/dist/cjs/stories/bizTabs.stories.js.map +0 -7
- package/dist/cjs/stories/board.stories.d.ts +0 -6
- package/dist/cjs/stories/board.stories.js +0 -2
- package/dist/cjs/stories/board.stories.js.map +0 -7
- package/dist/cjs/stories/brandEquity.stories.d.ts +0 -16
- package/dist/cjs/stories/brandEquity.stories.js +0 -2
- package/dist/cjs/stories/brandEquity.stories.js.map +0 -7
- package/dist/cjs/stories/brandStrip.stories.d.ts +0 -12
- package/dist/cjs/stories/brandStrip.stories.js +0 -2
- package/dist/cjs/stories/brandStrip.stories.js.map +0 -7
- package/dist/cjs/stories/button.stories.d.ts +0 -56
- package/dist/cjs/stories/button.stories.js +0 -2
- package/dist/cjs/stories/button.stories.js.map +0 -7
- package/dist/cjs/stories/card.stories.d.ts +0 -27
- package/dist/cjs/stories/card.stories.js +0 -2
- package/dist/cjs/stories/card.stories.js.map +0 -7
- package/dist/cjs/stories/carousel.stories.d.ts +0 -8
- package/dist/cjs/stories/carousel.stories.js +0 -2
- package/dist/cjs/stories/carousel.stories.js.map +0 -7
- package/dist/cjs/stories/category.stories.d.ts +0 -17
- package/dist/cjs/stories/category.stories.js +0 -2
- package/dist/cjs/stories/category.stories.js.map +0 -7
- package/dist/cjs/stories/checkbox.stories.d.ts +0 -46
- package/dist/cjs/stories/checkbox.stories.js +0 -2
- package/dist/cjs/stories/checkbox.stories.js.map +0 -7
- package/dist/cjs/stories/container.stories.d.ts +0 -28
- package/dist/cjs/stories/container.stories.js +0 -15
- package/dist/cjs/stories/container.stories.js.map +0 -7
- package/dist/cjs/stories/cpnBanner.stories.d.ts +0 -14
- package/dist/cjs/stories/cpnBanner.stories.js +0 -2
- package/dist/cjs/stories/cpnBanner.stories.js.map +0 -7
- package/dist/cjs/stories/cpnCountdown.stories.d.ts +0 -12
- package/dist/cjs/stories/cpnCountdown.stories.js +0 -2
- package/dist/cjs/stories/cpnCountdown.stories.js.map +0 -7
- package/dist/cjs/stories/cpnNavigation.stories.d.ts +0 -14
- package/dist/cjs/stories/cpnNavigation.stories.js +0 -2
- package/dist/cjs/stories/cpnNavigation.stories.js.map +0 -7
- package/dist/cjs/stories/cpnProductcard.stories.d.ts +0 -14
- package/dist/cjs/stories/cpnProductcard.stories.js +0 -2
- package/dist/cjs/stories/cpnProductcard.stories.js.map +0 -7
- package/dist/cjs/stories/cpnTitle.stories.d.ts +0 -14
- package/dist/cjs/stories/cpnTitle.stories.js +0 -2
- package/dist/cjs/stories/cpnTitle.stories.js.map +0 -7
- package/dist/cjs/stories/creativeModule.stories.d.ts +0 -19
- package/dist/cjs/stories/creativeModule.stories.js +0 -2
- package/dist/cjs/stories/creativeModule.stories.js.map +0 -7
- package/dist/cjs/stories/dialog.stories.d.ts +0 -20
- package/dist/cjs/stories/dialog.stories.js +0 -2
- package/dist/cjs/stories/dialog.stories.js.map +0 -7
- package/dist/cjs/stories/drawer.stories.d.ts +0 -20
- package/dist/cjs/stories/drawer.stories.js +0 -2
- package/dist/cjs/stories/drawer.stories.js.map +0 -7
- package/dist/cjs/stories/drop-down.stories.d.ts +0 -16
- package/dist/cjs/stories/drop-down.stories.js +0 -2
- package/dist/cjs/stories/drop-down.stories.js.map +0 -7
- package/dist/cjs/stories/evaluate.stories.d.ts +0 -16
- package/dist/cjs/stories/evaluate.stories.js +0 -2
- package/dist/cjs/stories/evaluate.stories.js.map +0 -7
- package/dist/cjs/stories/faq.stories.d.ts +0 -21
- package/dist/cjs/stories/faq.stories.js +0 -2
- package/dist/cjs/stories/faq.stories.js.map +0 -7
- package/dist/cjs/stories/featureCards.stories.d.ts +0 -30
- package/dist/cjs/stories/featureCards.stories.js +0 -61
- package/dist/cjs/stories/featureCards.stories.js.map +0 -7
- package/dist/cjs/stories/featureShowcase.stories.d.ts +0 -29
- package/dist/cjs/stories/featureShowcase.stories.js +0 -44
- package/dist/cjs/stories/featureShowcase.stories.js.map +0 -7
- package/dist/cjs/stories/graphic.stories.d.ts +0 -64
- package/dist/cjs/stories/graphic.stories.js +0 -2
- package/dist/cjs/stories/graphic.stories.js.map +0 -7
- package/dist/cjs/stories/graphicAttractionBlock.stories.d.ts +0 -6
- package/dist/cjs/stories/graphicAttractionBlock.stories.js +0 -2
- package/dist/cjs/stories/graphicAttractionBlock.stories.js.map +0 -7
- package/dist/cjs/stories/grid.stories.d.ts +0 -22
- package/dist/cjs/stories/grid.stories.js +0 -13
- package/dist/cjs/stories/grid.stories.js.map +0 -7
- package/dist/cjs/stories/heading.stories.d.ts +0 -84
- package/dist/cjs/stories/heading.stories.js +0 -15
- package/dist/cjs/stories/heading.stories.js.map +0 -7
- package/dist/cjs/stories/imageTextFeature.stories.d.ts +0 -28
- package/dist/cjs/stories/imageTextFeature.stories.js +0 -50
- package/dist/cjs/stories/imageTextFeature.stories.js.map +0 -7
- package/dist/cjs/stories/imageWithText.stories.d.ts +0 -51
- package/dist/cjs/stories/imageWithText.stories.js +0 -84
- package/dist/cjs/stories/imageWithText.stories.js.map +0 -7
- package/dist/cjs/stories/input-number.stories.d.ts +0 -39
- package/dist/cjs/stories/input-number.stories.js +0 -2
- package/dist/cjs/stories/input-number.stories.js.map +0 -7
- package/dist/cjs/stories/input.stories.d.ts +0 -35
- package/dist/cjs/stories/input.stories.js +0 -2
- package/dist/cjs/stories/input.stories.js.map +0 -7
- package/dist/cjs/stories/ksp.stories.d.ts +0 -63
- package/dist/cjs/stories/ksp.stories.js +0 -128
- package/dist/cjs/stories/ksp.stories.js.map +0 -7
- package/dist/cjs/stories/link.stories.d.ts +0 -69
- package/dist/cjs/stories/link.stories.js +0 -2
- package/dist/cjs/stories/link.stories.js.map +0 -7
- package/dist/cjs/stories/marquee.stories.d.ts +0 -30
- package/dist/cjs/stories/marquee.stories.js +0 -2
- package/dist/cjs/stories/marquee.stories.js.map +0 -7
- package/dist/cjs/stories/mediaplayerBase.stories.d.ts +0 -6
- package/dist/cjs/stories/mediaplayerBase.stories.js +0 -2
- package/dist/cjs/stories/mediaplayerBase.stories.js.map +0 -7
- package/dist/cjs/stories/mediaplayerMulti.stories.d.ts +0 -16
- package/dist/cjs/stories/mediaplayerMulti.stories.js +0 -2
- package/dist/cjs/stories/mediaplayerMulti.stories.js.map +0 -7
- package/dist/cjs/stories/picture.stories.d.ts +0 -23
- package/dist/cjs/stories/picture.stories.js +0 -9
- package/dist/cjs/stories/picture.stories.js.map +0 -7
- package/dist/cjs/stories/popover.stories.d.ts +0 -17
- package/dist/cjs/stories/popover.stories.js +0 -2
- package/dist/cjs/stories/popover.stories.js.map +0 -7
- package/dist/cjs/stories/productCompare.stories.d.ts +0 -54
- package/dist/cjs/stories/productCompare.stories.js +0 -54
- package/dist/cjs/stories/productCompare.stories.js.map +0 -7
- package/dist/cjs/stories/productHero.stories.d.ts +0 -29
- package/dist/cjs/stories/productHero.stories.js +0 -50
- package/dist/cjs/stories/productHero.stories.js.map +0 -7
- package/dist/cjs/stories/radio.stories.d.ts +0 -39
- package/dist/cjs/stories/radio.stories.js +0 -2
- package/dist/cjs/stories/radio.stories.js.map +0 -7
- package/dist/cjs/stories/shelfDisplay.stories.d.ts +0 -16
- package/dist/cjs/stories/shelfDisplay.stories.js +0 -2
- package/dist/cjs/stories/shelfDisplay.stories.js.map +0 -7
- package/dist/cjs/stories/skeleton.stories.d.ts +0 -20
- package/dist/cjs/stories/skeleton.stories.js +0 -2
- package/dist/cjs/stories/skeleton.stories.js.map +0 -7
- package/dist/cjs/stories/slogan.stories.d.ts +0 -20
- package/dist/cjs/stories/slogan.stories.js +0 -6
- package/dist/cjs/stories/slogan.stories.js.map +0 -7
- package/dist/cjs/stories/specs.stories.d.ts +0 -13
- package/dist/cjs/stories/specs.stories.js +0 -57
- package/dist/cjs/stories/specs.stories.js.map +0 -7
- package/dist/cjs/stories/specsComparison.stories.d.ts +0 -28
- package/dist/cjs/stories/specsComparison.stories.js +0 -105
- package/dist/cjs/stories/specsComparison.stories.js.map +0 -7
- package/dist/cjs/stories/tabWithImage.stories.d.ts +0 -28
- package/dist/cjs/stories/tabWithImage.stories.js +0 -53
- package/dist/cjs/stories/tabWithImage.stories.js.map +0 -7
- package/dist/cjs/stories/tabs.stories.d.ts +0 -373
- package/dist/cjs/stories/tabs.stories.js +0 -2
- package/dist/cjs/stories/tabs.stories.js.map +0 -7
- package/dist/cjs/stories/tabsWithMedia.stories.d.ts +0 -28
- package/dist/cjs/stories/tabsWithMedia.stories.js +0 -68
- package/dist/cjs/stories/tabsWithMedia.stories.js.map +0 -7
- package/dist/cjs/stories/text.stories.d.ts +0 -86
- package/dist/cjs/stories/text.stories.js +0 -21
- package/dist/cjs/stories/text.stories.js.map +0 -7
- package/dist/cjs/stories/videoFeature.stories.d.ts +0 -29
- package/dist/cjs/stories/videoFeature.stories.js +0 -56
- package/dist/cjs/stories/videoFeature.stories.js.map +0 -7
- package/dist/cjs/stories/whychoose.stories.d.ts +0 -21
- package/dist/cjs/stories/whychoose.stories.js +0 -2
- package/dist/cjs/stories/whychoose.stories.js.map +0 -7
- package/dist/esm/stories/HeroBanner.stories.d.ts +0 -28
- package/dist/esm/stories/HeroBanner.stories.js +0 -11
- package/dist/esm/stories/HeroBanner.stories.js.map +0 -7
- package/dist/esm/stories/InlineVideo.stories.d.ts +0 -37
- package/dist/esm/stories/InlineVideo.stories.js +0 -164
- package/dist/esm/stories/InlineVideo.stories.js.map +0 -7
- package/dist/esm/stories/MarqueeReview.stories.d.ts +0 -72
- package/dist/esm/stories/MarqueeReview.stories.js +0 -19
- package/dist/esm/stories/MarqueeReview.stories.js.map +0 -7
- package/dist/esm/stories/MediaSceneSwitcher.stories.d.ts +0 -47
- package/dist/esm/stories/MediaSceneSwitcher.stories.js +0 -2
- package/dist/esm/stories/MediaSceneSwitcher.stories.js.map +0 -7
- package/dist/esm/stories/MemberEquity.stories.d.ts +0 -9
- package/dist/esm/stories/MemberEquity.stories.js +0 -31
- package/dist/esm/stories/MemberEquity.stories.js.map +0 -7
- package/dist/esm/stories/MultiLayoutGraphicBlock.stories.d.ts +0 -9
- package/dist/esm/stories/MultiLayoutGraphicBlock.stories.js +0 -2
- package/dist/esm/stories/MultiLayoutGraphicBlock.stories.js.map +0 -7
- package/dist/esm/stories/ProductNav.stories.d.ts +0 -55
- package/dist/esm/stories/ProductNav.stories.js +0 -2
- package/dist/esm/stories/ProductNav.stories.js.map +0 -7
- package/dist/esm/stories/ThreeDCarousel.stories.d.ts +0 -27
- package/dist/esm/stories/ThreeDCarousel.stories.js +0 -118
- package/dist/esm/stories/ThreeDCarousel.stories.js.map +0 -7
- package/dist/esm/stories/accordionCards.stories.d.ts +0 -38
- package/dist/esm/stories/accordionCards.stories.js +0 -2
- package/dist/esm/stories/accordionCards.stories.js.map +0 -7
- package/dist/esm/stories/alert.stories.d.ts +0 -27
- package/dist/esm/stories/alert.stories.js +0 -2
- package/dist/esm/stories/alert.stories.js.map +0 -7
- package/dist/esm/stories/avatar.stories.d.ts +0 -39
- package/dist/esm/stories/avatar.stories.js +0 -2
- package/dist/esm/stories/avatar.stories.js.map +0 -7
- package/dist/esm/stories/badge.stories.d.ts +0 -96
- package/dist/esm/stories/badge.stories.js +0 -2
- package/dist/esm/stories/badge.stories.js.map +0 -7
- package/dist/esm/stories/bizTabs.stories.d.ts +0 -7
- package/dist/esm/stories/bizTabs.stories.js +0 -2
- package/dist/esm/stories/bizTabs.stories.js.map +0 -7
- package/dist/esm/stories/board.stories.d.ts +0 -6
- package/dist/esm/stories/board.stories.js +0 -2
- package/dist/esm/stories/board.stories.js.map +0 -7
- package/dist/esm/stories/brandEquity.stories.d.ts +0 -16
- package/dist/esm/stories/brandEquity.stories.js +0 -2
- package/dist/esm/stories/brandEquity.stories.js.map +0 -7
- package/dist/esm/stories/brandStrip.stories.d.ts +0 -12
- package/dist/esm/stories/brandStrip.stories.js +0 -2
- package/dist/esm/stories/brandStrip.stories.js.map +0 -7
- package/dist/esm/stories/button.stories.d.ts +0 -56
- package/dist/esm/stories/button.stories.js +0 -2
- package/dist/esm/stories/button.stories.js.map +0 -7
- package/dist/esm/stories/card.stories.d.ts +0 -27
- package/dist/esm/stories/card.stories.js +0 -2
- package/dist/esm/stories/card.stories.js.map +0 -7
- package/dist/esm/stories/carousel.stories.d.ts +0 -8
- package/dist/esm/stories/carousel.stories.js +0 -2
- package/dist/esm/stories/carousel.stories.js.map +0 -7
- package/dist/esm/stories/category.stories.d.ts +0 -17
- package/dist/esm/stories/category.stories.js +0 -2
- package/dist/esm/stories/category.stories.js.map +0 -7
- package/dist/esm/stories/checkbox.stories.d.ts +0 -46
- package/dist/esm/stories/checkbox.stories.js +0 -2
- package/dist/esm/stories/checkbox.stories.js.map +0 -7
- package/dist/esm/stories/container.stories.d.ts +0 -28
- package/dist/esm/stories/container.stories.js +0 -15
- package/dist/esm/stories/container.stories.js.map +0 -7
- package/dist/esm/stories/cpnBanner.stories.d.ts +0 -14
- package/dist/esm/stories/cpnBanner.stories.js +0 -2
- package/dist/esm/stories/cpnBanner.stories.js.map +0 -7
- package/dist/esm/stories/cpnCountdown.stories.d.ts +0 -12
- package/dist/esm/stories/cpnCountdown.stories.js +0 -2
- package/dist/esm/stories/cpnCountdown.stories.js.map +0 -7
- package/dist/esm/stories/cpnNavigation.stories.d.ts +0 -14
- package/dist/esm/stories/cpnNavigation.stories.js +0 -2
- package/dist/esm/stories/cpnNavigation.stories.js.map +0 -7
- package/dist/esm/stories/cpnProductcard.stories.d.ts +0 -14
- package/dist/esm/stories/cpnProductcard.stories.js +0 -2
- package/dist/esm/stories/cpnProductcard.stories.js.map +0 -7
- package/dist/esm/stories/cpnTitle.stories.d.ts +0 -14
- package/dist/esm/stories/cpnTitle.stories.js +0 -2
- package/dist/esm/stories/cpnTitle.stories.js.map +0 -7
- package/dist/esm/stories/creativeModule.stories.d.ts +0 -19
- package/dist/esm/stories/creativeModule.stories.js +0 -2
- package/dist/esm/stories/creativeModule.stories.js.map +0 -7
- package/dist/esm/stories/dialog.stories.d.ts +0 -20
- package/dist/esm/stories/dialog.stories.js +0 -2
- package/dist/esm/stories/dialog.stories.js.map +0 -7
- package/dist/esm/stories/drawer.stories.d.ts +0 -20
- package/dist/esm/stories/drawer.stories.js +0 -2
- package/dist/esm/stories/drawer.stories.js.map +0 -7
- package/dist/esm/stories/drop-down.stories.d.ts +0 -16
- package/dist/esm/stories/drop-down.stories.js +0 -2
- package/dist/esm/stories/drop-down.stories.js.map +0 -7
- package/dist/esm/stories/evaluate.stories.d.ts +0 -16
- package/dist/esm/stories/evaluate.stories.js +0 -2
- package/dist/esm/stories/evaluate.stories.js.map +0 -7
- package/dist/esm/stories/faq.stories.d.ts +0 -21
- package/dist/esm/stories/faq.stories.js +0 -2
- package/dist/esm/stories/faq.stories.js.map +0 -7
- package/dist/esm/stories/featureCards.stories.d.ts +0 -30
- package/dist/esm/stories/featureCards.stories.js +0 -61
- package/dist/esm/stories/featureCards.stories.js.map +0 -7
- package/dist/esm/stories/featureShowcase.stories.d.ts +0 -29
- package/dist/esm/stories/featureShowcase.stories.js +0 -44
- package/dist/esm/stories/featureShowcase.stories.js.map +0 -7
- package/dist/esm/stories/graphic.stories.d.ts +0 -64
- package/dist/esm/stories/graphic.stories.js +0 -2
- package/dist/esm/stories/graphic.stories.js.map +0 -7
- package/dist/esm/stories/graphicAttractionBlock.stories.d.ts +0 -6
- package/dist/esm/stories/graphicAttractionBlock.stories.js +0 -2
- package/dist/esm/stories/graphicAttractionBlock.stories.js.map +0 -7
- package/dist/esm/stories/grid.stories.d.ts +0 -22
- package/dist/esm/stories/grid.stories.js +0 -13
- package/dist/esm/stories/grid.stories.js.map +0 -7
- package/dist/esm/stories/heading.stories.d.ts +0 -84
- package/dist/esm/stories/heading.stories.js +0 -15
- package/dist/esm/stories/heading.stories.js.map +0 -7
- package/dist/esm/stories/imageTextFeature.stories.d.ts +0 -28
- package/dist/esm/stories/imageTextFeature.stories.js +0 -50
- package/dist/esm/stories/imageTextFeature.stories.js.map +0 -7
- package/dist/esm/stories/imageWithText.stories.d.ts +0 -51
- package/dist/esm/stories/imageWithText.stories.js +0 -84
- package/dist/esm/stories/imageWithText.stories.js.map +0 -7
- package/dist/esm/stories/input-number.stories.d.ts +0 -39
- package/dist/esm/stories/input-number.stories.js +0 -2
- package/dist/esm/stories/input-number.stories.js.map +0 -7
- package/dist/esm/stories/input.stories.d.ts +0 -35
- package/dist/esm/stories/input.stories.js +0 -2
- package/dist/esm/stories/input.stories.js.map +0 -7
- package/dist/esm/stories/ksp.stories.d.ts +0 -63
- package/dist/esm/stories/ksp.stories.js +0 -128
- package/dist/esm/stories/ksp.stories.js.map +0 -7
- package/dist/esm/stories/link.stories.d.ts +0 -69
- package/dist/esm/stories/link.stories.js +0 -2
- package/dist/esm/stories/link.stories.js.map +0 -7
- package/dist/esm/stories/marquee.stories.d.ts +0 -30
- package/dist/esm/stories/marquee.stories.js +0 -2
- package/dist/esm/stories/marquee.stories.js.map +0 -7
- package/dist/esm/stories/mediaplayerBase.stories.d.ts +0 -6
- package/dist/esm/stories/mediaplayerBase.stories.js +0 -2
- package/dist/esm/stories/mediaplayerBase.stories.js.map +0 -7
- package/dist/esm/stories/mediaplayerMulti.stories.d.ts +0 -16
- package/dist/esm/stories/mediaplayerMulti.stories.js +0 -2
- package/dist/esm/stories/mediaplayerMulti.stories.js.map +0 -7
- package/dist/esm/stories/picture.stories.d.ts +0 -23
- package/dist/esm/stories/picture.stories.js +0 -9
- package/dist/esm/stories/picture.stories.js.map +0 -7
- package/dist/esm/stories/popover.stories.d.ts +0 -17
- package/dist/esm/stories/popover.stories.js +0 -2
- package/dist/esm/stories/popover.stories.js.map +0 -7
- package/dist/esm/stories/productCompare.stories.d.ts +0 -54
- package/dist/esm/stories/productCompare.stories.js +0 -54
- package/dist/esm/stories/productCompare.stories.js.map +0 -7
- package/dist/esm/stories/productHero.stories.d.ts +0 -29
- package/dist/esm/stories/productHero.stories.js +0 -50
- package/dist/esm/stories/productHero.stories.js.map +0 -7
- package/dist/esm/stories/radio.stories.d.ts +0 -39
- package/dist/esm/stories/radio.stories.js +0 -2
- package/dist/esm/stories/radio.stories.js.map +0 -7
- package/dist/esm/stories/shelfDisplay.stories.d.ts +0 -16
- package/dist/esm/stories/shelfDisplay.stories.js +0 -2
- package/dist/esm/stories/shelfDisplay.stories.js.map +0 -7
- package/dist/esm/stories/skeleton.stories.d.ts +0 -20
- package/dist/esm/stories/skeleton.stories.js +0 -2
- package/dist/esm/stories/skeleton.stories.js.map +0 -7
- package/dist/esm/stories/slogan.stories.d.ts +0 -20
- package/dist/esm/stories/slogan.stories.js +0 -6
- package/dist/esm/stories/slogan.stories.js.map +0 -7
- package/dist/esm/stories/specs.stories.d.ts +0 -13
- package/dist/esm/stories/specs.stories.js +0 -57
- package/dist/esm/stories/specs.stories.js.map +0 -7
- package/dist/esm/stories/specsComparison.stories.d.ts +0 -28
- package/dist/esm/stories/specsComparison.stories.js +0 -105
- package/dist/esm/stories/specsComparison.stories.js.map +0 -7
- package/dist/esm/stories/tabWithImage.stories.d.ts +0 -28
- package/dist/esm/stories/tabWithImage.stories.js +0 -53
- package/dist/esm/stories/tabWithImage.stories.js.map +0 -7
- package/dist/esm/stories/tabs.stories.d.ts +0 -373
- package/dist/esm/stories/tabs.stories.js +0 -2
- package/dist/esm/stories/tabs.stories.js.map +0 -7
- package/dist/esm/stories/tabsWithMedia.stories.d.ts +0 -28
- package/dist/esm/stories/tabsWithMedia.stories.js +0 -68
- package/dist/esm/stories/tabsWithMedia.stories.js.map +0 -7
- package/dist/esm/stories/text.stories.d.ts +0 -86
- package/dist/esm/stories/text.stories.js +0 -21
- package/dist/esm/stories/text.stories.js.map +0 -7
- package/dist/esm/stories/videoFeature.stories.d.ts +0 -29
- package/dist/esm/stories/videoFeature.stories.js +0 -56
- package/dist/esm/stories/videoFeature.stories.js.map +0 -7
- package/dist/esm/stories/whychoose.stories.d.ts +0 -21
- package/dist/esm/stories/whychoose.stories.js +0 -2
- package/dist/esm/stories/whychoose.stories.js.map +0 -7
|
@@ -4,8 +4,8 @@ import 'swiper/css';
|
|
|
4
4
|
import 'swiper/css/navigation';
|
|
5
5
|
import 'swiper/css/pagination';
|
|
6
6
|
import 'swiper/css/effect-coverflow';
|
|
7
|
-
declare const _default: React.ForwardRefExoticComponent<Omit<
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
declare const _default: React.ForwardRefExoticComponent<Omit<ThreeDCarouselProps & React.RefAttributes<HTMLDivElement> & {
|
|
8
|
+
style?: string | React.CSSProperties;
|
|
9
|
+
container?: import("../../shared/Styles.js").ContainerProps["container"];
|
|
10
10
|
}, "ref"> & React.RefAttributes<any>>;
|
|
11
11
|
export default _default;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { CountdownConfig } from './types.js';
|
|
3
|
+
import type { Theme } from '../../types/props.js';
|
|
4
|
+
interface CountdownProps {
|
|
5
|
+
config: CountdownConfig;
|
|
6
|
+
className?: string;
|
|
7
|
+
onCountdownEnd?: () => void;
|
|
8
|
+
theme?: Theme;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Countdown - 倒计时组件
|
|
12
|
+
*/
|
|
13
|
+
declare const Countdown: React.ForwardRefExoticComponent<CountdownProps & React.RefAttributes<HTMLDivElement>>;
|
|
14
|
+
export default Countdown;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use client";import{jsx as a,jsxs as T}from"react/jsx-runtime";import g,{useState as N,useEffect as M}from"react";import x from"dayjs";import{cn as h}from"../../helpers/utils.js";import{cva as b}from"class-variance-authority";const y=r=>{const i=x(),t=x(r).diff(i,"second");if(t<=0)return{days:0,hours:0,minutes:0,seconds:0};const m=Math.floor(t/(24*60*60)),l=Math.floor(t%(24*60*60)/(60*60)),f=Math.floor(t%(60*60)/60),p=t%60;return{days:m,hours:l,minutes:f,seconds:p}},S=b("lg-desktop:size-12 lg-desktop:px-1 flex size-10 flex-col items-center justify-center px-[2px] text-center",{variants:{theme:{light:"bg-info-primary",dark:"bg-[#f5f6f7]"}},defaultVariants:{theme:"light"}}),v=b("",{variants:{theme:{light:"text-white",dark:"text-[#080A0F]"}},defaultVariants:{theme:"light"}}),D=({value:r,label:i,theme:e="light"})=>T("div",{className:S({theme:e}),children:[a("p",{className:h("lg-desktop:text-2xl text-[20px] font-bold leading-[1.2] tracking-[-0.96px]",v({theme:e})),children:String(r).padStart(2,"0")}),a("p",{className:h("text-[12px] font-bold leading-[1.4] tracking-[-0.24px]",v({theme:e})),children:i})]}),V=()=>a("p",{className:"lg-desktop:text-2xl text-info-primary text-center text-xl font-bold leading-[1.2] tracking-[-0.96px]",children:":"}),w=g.forwardRef(({config:r,className:i,onCountdownEnd:e,theme:t="light"},m)=>{const{targetDate:l,showDays:f=!0,showHours:p=!0,showMinutes:k=!0,showSeconds:C=!0,labels:u={}}=r,[c,L]=N(()=>y(l));M(()=>{const o=setInterval(()=>{const s=y(l);L(s),s.days===0&&s.hours===0&&s.minutes===0&&s.seconds===0&&(e?.(),clearInterval(o))},1e3);return()=>clearInterval(o)},[l,e]);const d={days:u.days||"Day",hours:u.hours||"Hours",minutes:u.minutes||"Mins",seconds:u.seconds||"Secs"},n=[];return f&&n.push({value:c.days,label:d.days}),p&&n.push({value:c.hours,label:d.hours}),k&&n.push({value:c.minutes,label:d.minutes}),C&&n.push({value:c.seconds,label:d.seconds}),a("div",{ref:m,className:h("flex items-center gap-1",i),children:n.map((o,s)=>T(g.Fragment,{children:[a(D,{value:o.value,label:o.label,theme:t}),s<n.length-1&&a(V,{})]},o.label))})});w.displayName="Countdown";var R=w;export{R as default};
|
|
2
|
+
//# sourceMappingURL=Countdown.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/biz-components/Title/Countdown.tsx"],
|
|
4
|
+
"sourcesContent": ["'use client'\nimport React, { useState, useEffect } from 'react'\nimport dayjs from 'dayjs'\nimport { cn } from '../../helpers/utils.js'\nimport { cva } from 'class-variance-authority'\nimport type { CountdownConfig } from './types.js'\nimport type { Theme } from '../../types/props.js'\n\ninterface CountdownProps {\n config: CountdownConfig\n className?: string\n onCountdownEnd?: () => void\n theme?: Theme\n}\n\ninterface TimeLeft {\n days: number\n hours: number\n minutes: number\n seconds: number\n}\n\n/**\n * \u8BA1\u7B97\u5269\u4F59\u65F6\u95F4\n */\nconst calculateTimeLeft = (targetDate: string): TimeLeft => {\n const now = dayjs()\n const target = dayjs(targetDate)\n const diff = target.diff(now, 'second')\n\n if (diff <= 0) {\n return { days: 0, hours: 0, minutes: 0, seconds: 0 }\n }\n\n const days = Math.floor(diff / (24 * 60 * 60))\n const hours = Math.floor((diff % (24 * 60 * 60)) / (60 * 60))\n const minutes = Math.floor((diff % (60 * 60)) / 60)\n const seconds = diff % 60\n\n return { days, hours, minutes, seconds }\n}\n\n/**\n * \u5012\u8BA1\u65F6\u6570\u5B57\u5757\u80CC\u666F\u8272\u6837\u5F0F\u53D8\u4F53\n */\nconst countdownUnitVariants = cva(\n 'lg-desktop:size-12 lg-desktop:px-1 flex size-10 flex-col items-center justify-center px-[2px] text-center',\n {\n variants: {\n theme: {\n light: 'bg-info-primary',\n dark: 'bg-[#f5f6f7]',\n },\n },\n defaultVariants: {\n theme: 'light',\n },\n }\n)\n\n/**\n * \u5012\u8BA1\u65F6\u6587\u5B57\u989C\u8272\u6837\u5F0F\u53D8\u4F53\n */\nconst countdownTextVariants = cva('', {\n variants: {\n theme: {\n light: 'text-white',\n dark: 'text-[#080A0F]',\n },\n },\n defaultVariants: {\n theme: 'light',\n },\n})\n\n/**\n * \u5012\u8BA1\u65F6\u6570\u5B57\u5757\u7EC4\u4EF6\n */\nconst CountdownUnit = ({ value, label, theme = 'light' }: { value: number; label: string; theme?: Theme }) => {\n return (\n <div className={countdownUnitVariants({ theme })}>\n <p\n className={cn(\n 'lg-desktop:text-2xl text-[20px] font-bold leading-[1.2] tracking-[-0.96px]',\n countdownTextVariants({ theme })\n )}\n >\n {String(value).padStart(2, '0')}\n </p>\n <p className={cn('text-[12px] font-bold leading-[1.4] tracking-[-0.24px]', countdownTextVariants({ theme }))}>\n {label}\n </p>\n </div>\n )\n}\n\n/**\n * \u5012\u8BA1\u65F6\u5206\u9694\u7B26\n */\nconst CountdownSeparator = () => {\n return (\n <p className=\"lg-desktop:text-2xl text-info-primary text-center text-xl font-bold leading-[1.2] tracking-[-0.96px]\">\n :\n </p>\n )\n}\n\n/**\n * Countdown - \u5012\u8BA1\u65F6\u7EC4\u4EF6\n */\nconst Countdown = React.forwardRef<HTMLDivElement, CountdownProps>(\n ({ config, className, onCountdownEnd, theme = 'light' }, ref) => {\n const {\n targetDate,\n showDays = true,\n showHours = true,\n showMinutes = true,\n showSeconds = true,\n labels = {},\n } = config\n\n const [timeLeft, setTimeLeft] = useState<TimeLeft>(() => calculateTimeLeft(targetDate))\n\n useEffect(() => {\n const timer = setInterval(() => {\n const newTimeLeft = calculateTimeLeft(targetDate)\n setTimeLeft(newTimeLeft)\n\n // \u68C0\u67E5\u5012\u8BA1\u65F6\u662F\u5426\u7ED3\u675F\n if (\n newTimeLeft.days === 0 &&\n newTimeLeft.hours === 0 &&\n newTimeLeft.minutes === 0 &&\n newTimeLeft.seconds === 0\n ) {\n onCountdownEnd?.()\n clearInterval(timer)\n }\n }, 1000)\n\n return () => clearInterval(timer)\n }, [targetDate, onCountdownEnd])\n\n const defaultLabels = {\n days: labels.days || 'Day',\n hours: labels.hours || 'Hours',\n minutes: labels.minutes || 'Mins',\n seconds: labels.seconds || 'Secs',\n }\n\n const units = []\n if (showDays) units.push({ value: timeLeft.days, label: defaultLabels.days })\n if (showHours) units.push({ value: timeLeft.hours, label: defaultLabels.hours })\n if (showMinutes) units.push({ value: timeLeft.minutes, label: defaultLabels.minutes })\n if (showSeconds) units.push({ value: timeLeft.seconds, label: defaultLabels.seconds })\n\n return (\n <div ref={ref} className={cn('flex items-center gap-1', className)}>\n {units.map((unit, index) => (\n <React.Fragment key={unit.label}>\n <CountdownUnit value={unit.value} label={unit.label} theme={theme} />\n {index < units.length - 1 && <CountdownSeparator />}\n </React.Fragment>\n ))}\n </div>\n )\n }\n)\n\nCountdown.displayName = 'Countdown'\n\nexport default Countdown\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["jsx", "jsxs", "React", "useState", "useEffect", "dayjs", "cn", "cva", "calculateTimeLeft", "targetDate", "now", "diff", "days", "hours", "minutes", "seconds", "countdownUnitVariants", "countdownTextVariants", "CountdownUnit", "value", "label", "theme", "CountdownSeparator", "Countdown", "config", "className", "onCountdownEnd", "ref", "showDays", "showHours", "showMinutes", "showSeconds", "labels", "timeLeft", "setTimeLeft", "timer", "newTimeLeft", "defaultLabels", "units", "unit", "index", "Countdown_default"]
|
|
7
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { TitleProps } from './types.js';
|
|
3
|
-
declare const _default: React.ForwardRefExoticComponent<Omit<
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
declare const _default: React.ForwardRefExoticComponent<Omit<TitleProps & React.RefAttributes<HTMLDivElement> & {
|
|
4
|
+
style?: string | React.CSSProperties;
|
|
5
|
+
container?: import("../../shared/Styles.js").ContainerProps["container"];
|
|
6
6
|
}, "ref"> & React.RefAttributes<any>>;
|
|
7
7
|
export default _default;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use client";import{jsx as
|
|
1
|
+
"use client";import{jsx as t,jsxs as v}from"react/jsx-runtime";import Q,{useEffect as X,useRef as u,useImperativeHandle as Y,useState as Z}from"react";import{gsap as w}from"gsap";import{SplitText as R}from"gsap/dist/SplitText";import{ScrollTrigger as E}from"gsap/dist/ScrollTrigger";import{cn as r}from"../../helpers/utils.js";import{cva as H}from"class-variance-authority";import{Heading as tt,Text as et}from"../../components/index.js";import{withLayout as nt}from"../../shared/Styles.js";import{trackUrlRef as rt}from"../../shared/trackUrlRef.js";import{useInView as st}from"react-intersection-observer";import it from"./Countdown.js";const V="link",M="title",ot=H("",{variants:{theme:{light:"text-[#080A0F]",dark:"text-[#F5F6F7]"}},defaultVariants:{theme:"light"}}),at=H("desktop:text-base desktop:mt-2 lg-desktop:text-[18px] mt-1 text-[14px] font-bold leading-[1.4] tracking-[-0.36px]",{variants:{theme:{light:"text-[#080A0F]",dark:"text-[#F5F6F7]"}},defaultVariants:{theme:"light"}}),C=({data:s,className:f})=>{const{theme:e="light",extensions:i,title:p,caption:d,align:o}=s;return i?.textLink?v("a",{className:r({"aiui-dark":e==="dark"},"hover:text-brand-0 [&_svg_path]:hover:stroke-brand-0 flex items-center overflow-hidden text-base font-[700] leading-[1.4] transition-all duration-[0.4s]",{"text-[#080A0F]":e==="light"},{"text-[#F5F6F7]":e==="dark"},{"justify-center":o==="center"},f),href:rt(i?.link,`${V}_${M}`),"data-headless-type-name":`${V}#${M}`,"data-headless-title-desc-button":`${p}#${d}`,children:[t("div",{className:r("flex-1 truncate whitespace-nowrap",{"flex-none":o==="center"}),children:i?.textLink}),t("div",{className:"size-6",children:t("svg",{width:"24",height:"24",className:"mb-[3px]",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",children:t("path",{className:"transition-all duration-[0.4s]",d:"M10.5 8L14.5 12L10.5 16",stroke:e==="dark"?"#F5F6F7":"#080A0F",strokeWidth:"1.5",strokeLinecap:"round"})})})]}):null},$=Q.forwardRef(({data:s,className:f,as:e="h2",weight:i="bold"},p)=>{const{title:d,caption:o,subtitle:k,countdown:b,showCountdown:P=!1,theme:m="light",extensions:S,align:a="left"}=s,T=u(null),l=u(null),n=u(null),c=u(null),[j,z]=Z(!0),{ref:A,inView:F}=st();Y(p,()=>T.current);const I=()=>{z(!1)};return X(()=>{w.registerPlugin(R,E);function B(){if(!l.current)return;const D=l.current?.clientHeight||80;n.current&&n.current.revert(),c.current&&c.current.kill(),n.current=new R(l.current,{type:"words",wordsClass:"word"});const h=n.current.words;w.set(h,{opacity:0}),c.current=E.create({trigger:l.current,start:"bottom bottom-=4%",end:`bottom+=${D*1.5+60}px bottom-=4%`,scrub:!0,invalidateOnRefresh:!0,onUpdate:_=>{const U=_.progress,y=h.length||1,O=.5,g=1/y,N=g*(1-O),L=(y-1)*N+g,W=Math.min(1,L>0?U/L:0);h.forEach((q,G)=>{const J=G*N,K=g;let x=(W-J)/K;x=Math.max(0,Math.min(1,x)),w.set(q,{opacity:x})})}})}return F&&B(),()=>{n.current&&n.current.revert(),c.current&&c.current.kill()}},[F]),(d||o)&&v("div",{id:S?.id,className:"titleBottom title-box mb-6 flex items-end justify-between gap-2",ref:T,children:[v("div",{ref:A,className:r("flex-1",f,{"aiui-dark":m==="dark","text-center":a==="center","text-left":a==="left"}),children:[t(tt,{ref:l,as:e,size:4,html:o||d,weight:i,className:ot({theme:m})}),k&&t(et,{html:k,as:"p",className:at({theme:m})}),t(C,{data:s,className:r({hidden:a==="left"})}),P&&b&&j&&t(it,{className:r("mt-4 justify-start",{"justify-center":a==="center"}),config:b,onCountdownEnd:I,theme:m})]}),t(C,{data:s,className:r({hidden:a==="center"})})]})});$.displayName="Title";var vt=nt($);export{vt as default};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/biz-components/Title/index.tsx"],
|
|
4
|
-
"sourcesContent": ["'use client'\nimport React, { useEffect, useRef, useImperativeHandle } from 'react'\nimport { gsap } from 'gsap'\nimport { SplitText } from 'gsap/dist/SplitText'\nimport { ScrollTrigger } from 'gsap/dist/ScrollTrigger'\nimport { cn } from '../../helpers/utils.js'\nimport { Heading } from '../../components/index.js'\nimport { withLayout } from '../../shared/Styles.js'\nimport type { TitleProps } from './types.js'\nimport { trackUrlRef } from '../../shared/trackUrlRef.js'\nimport { useInView } from 'react-intersection-observer'\n\nconst componentType = 'link'\nconst componentName = 'title'\n\nconst Title = React.forwardRef<HTMLDivElement, TitleProps>(({ data, className, as = 'h2', weight = 'bold' }, ref) => {\n const {
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": ["jsx", "jsxs", "React", "useEffect", "useRef", "useImperativeHandle", "gsap", "SplitText", "ScrollTrigger", "cn", "Heading", "withLayout", "trackUrlRef", "useInView", "componentType", "componentName", "
|
|
4
|
+
"sourcesContent": ["'use client'\nimport React, { useEffect, useRef, useImperativeHandle, useState } from 'react'\nimport { gsap } from 'gsap'\nimport { SplitText } from 'gsap/dist/SplitText'\nimport { ScrollTrigger } from 'gsap/dist/ScrollTrigger'\nimport { cn } from '../../helpers/utils.js'\nimport { cva } from 'class-variance-authority'\nimport { Heading, Text } from '../../components/index.js'\nimport { withLayout } from '../../shared/Styles.js'\nimport type { TitleProps } from './types.js'\nimport { trackUrlRef } from '../../shared/trackUrlRef.js'\nimport { useInView } from 'react-intersection-observer'\nimport Countdown from './Countdown.js'\n\nconst componentType = 'link'\nconst componentName = 'title'\n\n/**\n * \u6807\u9898\u6837\u5F0F\u53D8\u4F53\n */\nconst titleHeadingVariants = cva('', {\n variants: {\n theme: {\n light: 'text-[#080A0F]',\n dark: 'text-[#F5F6F7]',\n },\n },\n defaultVariants: {\n theme: 'light',\n },\n})\n\n/**\n * \u526F\u6807\u9898\u6837\u5F0F\u53D8\u4F53\n */\nconst subtitleVariants = cva(\n 'desktop:text-base desktop:mt-2 lg-desktop:text-[18px] mt-1 text-[14px] font-bold leading-[1.4] tracking-[-0.36px]',\n {\n variants: {\n theme: {\n light: 'text-[#080A0F]',\n dark: 'text-[#F5F6F7]',\n },\n },\n defaultVariants: {\n theme: 'light',\n },\n }\n)\n\nconst TitleButton = ({ data, className }: { data: TitleProps['data']; className?: string }) => {\n const { theme = 'light', extensions, title, caption, align } = data\n if (!extensions?.textLink) return null\n return (\n <a\n className={cn(\n { 'aiui-dark': theme === 'dark' },\n 'hover:text-brand-0 [&_svg_path]:hover:stroke-brand-0 flex items-center overflow-hidden text-base font-[700] leading-[1.4] transition-all duration-[0.4s]',\n { 'text-[#080A0F]': theme === 'light' },\n { 'text-[#F5F6F7]': theme === 'dark' },\n { 'justify-center': align === 'center' },\n className\n )}\n href={trackUrlRef(extensions?.link, `${componentType}_${componentName}`)}\n data-headless-type-name={`${componentType}#${componentName}`}\n data-headless-title-desc-button={`${title}#${caption}`}\n >\n <div\n className={cn('flex-1 truncate whitespace-nowrap', {\n 'flex-none': align === 'center',\n })}\n >\n {extensions?.textLink}\n </div>\n <div className=\"size-6\">\n <svg\n width=\"24\"\n height=\"24\"\n className=\"mb-[3px]\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n >\n <path\n className=\"transition-all duration-[0.4s]\"\n d=\"M10.5 8L14.5 12L10.5 16\"\n stroke={theme === 'dark' ? '#F5F6F7' : '#080A0F'}\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n ></path>\n </svg>\n </div>\n </a>\n )\n}\n\nconst Title = React.forwardRef<HTMLDivElement, TitleProps>(({ data, className, as = 'h2', weight = 'bold' }, ref) => {\n const {\n title,\n caption,\n subtitle,\n countdown,\n showCountdown = false,\n theme = 'light',\n extensions,\n align = 'left',\n } = data\n const innerRef = useRef<HTMLDivElement>(null)\n const titleRef = useRef<HTMLHeadingElement>(null)\n const splitTextInstance = useRef<SplitText | null>(null)\n const scrollTriggerRef = useRef<ScrollTrigger | null>(null)\n\n // \u63A7\u5236\u5012\u8BA1\u65F6\u663E\u793A\u72B6\u6001\n const [isCountdownVisible, setIsCountdownVisible] = useState(true)\n\n const { ref: inViewRef, inView } = useInView()\n\n useImperativeHandle(ref, () => innerRef.current as HTMLDivElement)\n\n // \u5012\u8BA1\u65F6\u7ED3\u675F\u56DE\u8C03\n const handleCountdownEnd = () => {\n setIsCountdownVisible(false)\n }\n\n useEffect(() => {\n gsap.registerPlugin(SplitText, ScrollTrigger)\n function gsapResize() {\n if (!titleRef.current) return\n const height = titleRef.current?.clientHeight || 80\n if (splitTextInstance.current) {\n splitTextInstance.current.revert()\n }\n if (scrollTriggerRef.current) {\n scrollTriggerRef.current.kill()\n }\n splitTextInstance.current = new SplitText(titleRef.current, {\n type: 'words',\n wordsClass: 'word',\n })\n const words = splitTextInstance.current.words\n gsap.set(words, { opacity: 0 })\n scrollTriggerRef.current = ScrollTrigger.create({\n trigger: titleRef.current,\n start: 'bottom bottom-=4%',\n end: `bottom+=${height * 1.5 + 60}px bottom-=4%`,\n scrub: true,\n invalidateOnRefresh: true,\n onUpdate: (self: any) => {\n const progress = self.progress\n const total = words.length || 1\n const overlap = 0.5\n const interval = 1 / total\n const step = interval * (1 - overlap)\n const lastEnd = (total - 1) * step + interval\n const normalizedProgress = Math.min(1, lastEnd > 0 ? progress / lastEnd : 0)\n words.forEach((word: any, i: number) => {\n const start = i * step\n const width = interval\n let opacity = (normalizedProgress - start) / width\n opacity = Math.max(0, Math.min(1, opacity))\n gsap.set(word, { opacity })\n })\n },\n })\n }\n\n if (inView) {\n gsapResize()\n }\n\n return () => {\n splitTextInstance.current && splitTextInstance.current.revert()\n // ScrollTrigger.getAll().forEach((t: { kill: () => any }) => t.kill())\n scrollTriggerRef.current && scrollTriggerRef.current.kill()\n }\n }, [inView])\n\n return (\n (title || caption) && (\n <div\n id={extensions?.id}\n className=\"titleBottom title-box mb-6 flex items-end justify-between gap-2\"\n ref={innerRef}\n >\n <div\n ref={inViewRef}\n className={cn('flex-1', className, {\n 'aiui-dark': theme === 'dark',\n 'text-center': align === 'center',\n 'text-left': align === 'left',\n })}\n >\n <Heading\n ref={titleRef}\n as={as}\n size={4}\n html={caption || title}\n weight={weight}\n className={titleHeadingVariants({ theme })}\n />\n {subtitle && <Text html={subtitle} as=\"p\" className={subtitleVariants({ theme })} />}\n <TitleButton data={data} className={cn({ hidden: align === 'left' })} />\n {showCountdown && countdown && isCountdownVisible && (\n <Countdown\n className={cn('mt-4 justify-start', {\n 'justify-center': align === 'center',\n })}\n config={countdown}\n onCountdownEnd={handleCountdownEnd}\n theme={theme}\n />\n )}\n </div>\n <TitleButton data={data} className={cn({ hidden: align === 'center' })} />\n </div>\n )\n )\n})\n\nTitle.displayName = 'Title'\n\nexport default withLayout(Title)\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["jsx", "jsxs", "React", "useEffect", "useRef", "useImperativeHandle", "useState", "gsap", "SplitText", "ScrollTrigger", "cn", "cva", "Heading", "Text", "withLayout", "trackUrlRef", "useInView", "Countdown", "componentType", "componentName", "titleHeadingVariants", "subtitleVariants", "TitleButton", "data", "className", "theme", "extensions", "title", "caption", "align", "Title", "as", "weight", "ref", "subtitle", "countdown", "showCountdown", "innerRef", "titleRef", "splitTextInstance", "scrollTriggerRef", "isCountdownVisible", "setIsCountdownVisible", "inViewRef", "inView", "handleCountdownEnd", "gsapResize", "height", "words", "self", "progress", "total", "overlap", "interval", "step", "lastEnd", "normalizedProgress", "word", "i", "start", "width", "opacity", "Title_default"]
|
|
7
7
|
}
|
|
@@ -5,6 +5,44 @@ export interface Feature {
|
|
|
5
5
|
*/
|
|
6
6
|
title: string;
|
|
7
7
|
}
|
|
8
|
+
/**
|
|
9
|
+
* 倒计时配置
|
|
10
|
+
*/
|
|
11
|
+
export interface CountdownConfig {
|
|
12
|
+
/**
|
|
13
|
+
* 倒计时目标时间(ISO 8601 格式或任何 dayjs 支持的格式)
|
|
14
|
+
*/
|
|
15
|
+
targetDate: string;
|
|
16
|
+
/**
|
|
17
|
+
* 是否显示天数
|
|
18
|
+
* @default true
|
|
19
|
+
*/
|
|
20
|
+
showDays?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* 是否显示小时
|
|
23
|
+
* @default true
|
|
24
|
+
*/
|
|
25
|
+
showHours?: boolean;
|
|
26
|
+
/**
|
|
27
|
+
* 是否显示分钟
|
|
28
|
+
* @default true
|
|
29
|
+
*/
|
|
30
|
+
showMinutes?: boolean;
|
|
31
|
+
/**
|
|
32
|
+
* 是否显示秒数
|
|
33
|
+
* @default true
|
|
34
|
+
*/
|
|
35
|
+
showSeconds?: boolean;
|
|
36
|
+
/**
|
|
37
|
+
* 自定义标签文本
|
|
38
|
+
*/
|
|
39
|
+
labels?: {
|
|
40
|
+
days?: string;
|
|
41
|
+
hours?: string;
|
|
42
|
+
minutes?: string;
|
|
43
|
+
seconds?: string;
|
|
44
|
+
};
|
|
45
|
+
}
|
|
8
46
|
export interface TitleProps {
|
|
9
47
|
data: {
|
|
10
48
|
/**
|
|
@@ -12,6 +50,19 @@ export interface TitleProps {
|
|
|
12
50
|
*/
|
|
13
51
|
title?: string;
|
|
14
52
|
caption?: string;
|
|
53
|
+
/**
|
|
54
|
+
* 副标题
|
|
55
|
+
*/
|
|
56
|
+
subtitle?: string;
|
|
57
|
+
/**
|
|
58
|
+
* 倒计时配置
|
|
59
|
+
*/
|
|
60
|
+
countdown?: CountdownConfig;
|
|
61
|
+
/**
|
|
62
|
+
* 是否显示倒计时
|
|
63
|
+
* @default false
|
|
64
|
+
*/
|
|
65
|
+
showCountdown?: boolean;
|
|
15
66
|
/**
|
|
16
67
|
* 特性列表,最多支持3个
|
|
17
68
|
*/
|
|
@@ -24,6 +75,10 @@ export interface TitleProps {
|
|
|
24
75
|
* 扩展数据
|
|
25
76
|
*/
|
|
26
77
|
extensions?: any;
|
|
78
|
+
/**
|
|
79
|
+
* 对齐方式
|
|
80
|
+
* @default 'left'
|
|
81
|
+
*/
|
|
27
82
|
align?: 'left' | 'center' | 'right';
|
|
28
83
|
};
|
|
29
84
|
weight?: 'medium' | 'semibold' | 'bold' | 'extraBold' | 'black';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { VideoFeatureProps } from './types.js';
|
|
3
|
-
declare const _default: React.ForwardRefExoticComponent<Omit<
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
declare const _default: React.ForwardRefExoticComponent<Omit<VideoFeatureProps & React.RefAttributes<HTMLDivElement> & {
|
|
4
|
+
style?: string | React.CSSProperties;
|
|
5
|
+
container?: import("../../shared/Styles.js").ContainerProps["container"];
|
|
6
6
|
}, "ref"> & React.RefAttributes<any>>;
|
|
7
7
|
export default _default;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BaseModal - 通用弹窗基础组件
|
|
3
|
+
*
|
|
4
|
+
* 提供统一的弹窗外层结构,包括遮罩层、关闭按钮等
|
|
5
|
+
*
|
|
6
|
+
* @module BaseModal
|
|
7
|
+
* @date 2026-01-04
|
|
8
|
+
*/
|
|
9
|
+
import React from 'react';
|
|
10
|
+
export interface BaseModalProps {
|
|
11
|
+
/**
|
|
12
|
+
* 是否显示弹窗
|
|
13
|
+
*/
|
|
14
|
+
isOpen: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* 关闭弹窗回调
|
|
17
|
+
*/
|
|
18
|
+
onClose: () => void;
|
|
19
|
+
/**
|
|
20
|
+
* 弹窗内容
|
|
21
|
+
*/
|
|
22
|
+
children: React.ReactNode;
|
|
23
|
+
/**
|
|
24
|
+
* 弹窗最大宽度类名
|
|
25
|
+
* @default 'max-w-[358px] laptop:max-w-[480px]'
|
|
26
|
+
*/
|
|
27
|
+
maxWidth?: string;
|
|
28
|
+
/**
|
|
29
|
+
* 弹窗背景渐变
|
|
30
|
+
* @default 'bg-gradient-to-b from-[#ffffff] to-[#CCE8FF]'
|
|
31
|
+
*/
|
|
32
|
+
background?: string;
|
|
33
|
+
/**
|
|
34
|
+
* 是否显示关闭按钮
|
|
35
|
+
* @default true
|
|
36
|
+
*/
|
|
37
|
+
showCloseButton?: boolean;
|
|
38
|
+
/**
|
|
39
|
+
* 自定义类名
|
|
40
|
+
*/
|
|
41
|
+
className?: string;
|
|
42
|
+
/**
|
|
43
|
+
* title 弹窗标题
|
|
44
|
+
*/
|
|
45
|
+
title?: string;
|
|
46
|
+
/**
|
|
47
|
+
* ARIA 标签
|
|
48
|
+
*/
|
|
49
|
+
ariaLabelledBy?: string;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* BaseModal 通用弹窗组件
|
|
53
|
+
*/
|
|
54
|
+
export declare const BaseModal: React.FC<BaseModalProps>;
|
|
55
|
+
export default BaseModal;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use client";import{Fragment as x,jsx as e,jsxs as o}from"react/jsx-runtime";import"react";import{Heading as u}from"../../components/index.js";import{cn as a}from"../../helpers/index.js";const b=({isOpen:i,onClose:t,children:l,maxWidth:n="max-w-[358px] laptop:max-w-[480px]",background:r="bg-white",showCloseButton:s=!0,className:c,title:d,ariaLabelledBy:m})=>{if(!i)return null;const p=y=>{y.stopPropagation()};return o(x,{children:[e("style",{children:`
|
|
2
|
+
@keyframes modalOverlayFadeIn {
|
|
3
|
+
from { opacity: 0; }
|
|
4
|
+
to { opacity: 1; }
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
@keyframes modalContentFadeIn {
|
|
8
|
+
from { opacity: 0; transform: scale(0.95); }
|
|
9
|
+
to { opacity: 1; transform: scale(1); }
|
|
10
|
+
}
|
|
11
|
+
`}),e("div",{className:a("modal-overlay","fixed inset-0 z-50","flex items-center justify-center","bg-black/40",c),style:{opacity:1,animation:"modalOverlayFadeIn 0.3s cubic-bezier(0.4,0,0.2,1) both"},onClick:t,role:"dialog","aria-modal":"true","aria-labelledby":m,children:o("div",{className:a("modal-content","relative w-full shadow-2xl","rounded-box",n,r),style:{opacity:1,transform:"scale(1)",animation:"modalContentFadeIn 0.4s cubic-bezier(0.4,0,0.2,1) both"},onClick:p,children:[o("div",{className:a("modal-close","flex items-center justify-between","laptop:p-4 px-2 pb-1 pt-2"),children:[e(u,{size:2,id:"rules-modal-title",className:"tracking-[-0.32px]",children:d||""}),s&&e("button",{onClick:t,className:a("laptop:size-[24px] size-[20px] cursor-pointer"),"aria-label":"\u5173\u95ED\u5F39\u7A97",children:o("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[e("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),e("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]}),l]})})]})};var C=b;export{b as BaseModal,C as default};
|
|
12
|
+
//# sourceMappingURL=BaseModal.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/biz-components/WheelLottery/BaseModal.tsx"],
|
|
4
|
+
"sourcesContent": ["/**\n * BaseModal - \u901A\u7528\u5F39\u7A97\u57FA\u7840\u7EC4\u4EF6\n *\n * \u63D0\u4F9B\u7EDF\u4E00\u7684\u5F39\u7A97\u5916\u5C42\u7ED3\u6784\uFF0C\u5305\u62EC\u906E\u7F69\u5C42\u3001\u5173\u95ED\u6309\u94AE\u7B49\n *\n * @module BaseModal\n * @date 2026-01-04\n */\n\n'use client'\n\nimport React from 'react'\nimport { Heading } from '../../components/index.js'\nimport { cn } from '../../helpers/index.js'\n\nexport interface BaseModalProps {\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\u5185\u5BB9\n */\n children: React.ReactNode\n\n /**\n * \u5F39\u7A97\u6700\u5927\u5BBD\u5EA6\u7C7B\u540D\n * @default 'max-w-[358px] laptop:max-w-[480px]'\n */\n maxWidth?: string\n\n /**\n * \u5F39\u7A97\u80CC\u666F\u6E10\u53D8\n * @default 'bg-gradient-to-b from-[#ffffff] to-[#CCE8FF]'\n */\n background?: string\n\n /**\n * \u662F\u5426\u663E\u793A\u5173\u95ED\u6309\u94AE\n * @default true\n */\n showCloseButton?: boolean\n\n /**\n * \u81EA\u5B9A\u4E49\u7C7B\u540D\n */\n className?: string\n\n /**\n * title \u5F39\u7A97\u6807\u9898\n */\n title?: string\n\n /**\n * ARIA \u6807\u7B7E\n */\n ariaLabelledBy?: string\n}\n\n/**\n * BaseModal \u901A\u7528\u5F39\u7A97\u7EC4\u4EF6\n */\nexport const BaseModal: React.FC<BaseModalProps> = ({\n isOpen,\n onClose,\n children,\n maxWidth = 'max-w-[358px] laptop:max-w-[480px]',\n background = 'bg-white',\n showCloseButton = true,\n className,\n title,\n ariaLabelledBy,\n}) => {\n if (!isOpen) {\n return null\n }\n\n // \u963B\u6B62\u70B9\u51FB\u5F39\u7A97\u5185\u5BB9\u65F6\u5173\u95ED\n const handleContentClick = (e: React.MouseEvent) => {\n e.stopPropagation()\n }\n\n return (\n <>\n <style>\n {`\n @keyframes modalOverlayFadeIn {\n from { opacity: 0; }\n to { opacity: 1; }\n }\n \n @keyframes modalContentFadeIn {\n from { opacity: 0; transform: scale(0.95); }\n to { opacity: 1; transform: scale(1); }\n }\n `}\n </style>\n <div\n className={cn(\n 'modal-overlay',\n 'fixed inset-0 z-50',\n 'flex items-center justify-center',\n 'bg-black/40',\n className\n )}\n style={{\n opacity: 1,\n animation: 'modalOverlayFadeIn 0.3s cubic-bezier(0.4,0,0.2,1) both',\n }}\n onClick={onClose}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby={ariaLabelledBy}\n >\n {/* \u5F39\u7A97\u5185\u5BB9\u5361\u7247 */}\n <div\n className={cn('modal-content', 'relative w-full shadow-2xl', 'rounded-box', maxWidth, background)}\n style={{\n opacity: 1,\n transform: 'scale(1)',\n animation: 'modalContentFadeIn 0.4s cubic-bezier(0.4,0,0.2,1) both',\n }}\n onClick={handleContentClick}\n >\n {/* \u5173\u95ED\u6309\u94AE */}\n <div className={cn('modal-close', 'flex items-center justify-between', 'laptop:p-4 px-2 pb-1 pt-2')}>\n <Heading size={2} id=\"rules-modal-title\" className=\"tracking-[-0.32px]\">\n {title || ''}\n </Heading>\n {showCloseButton && (\n <button\n onClick={onClose}\n className={cn('laptop:size-[24px] size-[20px] cursor-pointer')}\n aria-label=\"\u5173\u95ED\u5F39\u7A97\"\n >\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\" />\n <line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\" />\n </svg>\n </button>\n )}\n </div>\n\n {/* \u5F39\u7A97\u5185\u5BB9 */}\n {children}\n </div>\n </div>\n </>\n )\n}\n\nexport default BaseModal\n"],
|
|
5
|
+
"mappings": "aAyFI,mBAAAA,EACE,OAAAC,EAmDU,QAAAC,MApDZ,oBA9EJ,MAAkB,QAClB,OAAS,WAAAC,MAAe,4BACxB,OAAS,MAAAC,MAAU,yBAuDZ,MAAMC,EAAsC,CAAC,CAClD,OAAAC,EACA,QAAAC,EACA,SAAAC,EACA,SAAAC,EAAW,qCACX,WAAAC,EAAa,WACb,gBAAAC,EAAkB,GAClB,UAAAC,EACA,MAAAC,EACA,eAAAC,CACF,IAAM,CACJ,GAAI,CAACR,EACH,OAAO,KAIT,MAAMS,EAAsBC,GAAwB,CAClDA,EAAE,gBAAgB,CACpB,EAEA,OACEd,EAAAF,EAAA,CACE,UAAAC,EAAC,SACE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAWH,EACAA,EAAC,OACC,UAAWG,EACT,gBACA,qBACA,mCACA,cACAQ,CACF,EACA,MAAO,CACL,QAAS,EACT,UAAW,wDACb,EACA,QAASL,EACT,KAAK,SACL,aAAW,OACX,kBAAiBO,EAGjB,SAAAZ,EAAC,OACC,UAAWE,EAAG,gBAAiB,6BAA8B,cAAeK,EAAUC,CAAU,EAChG,MAAO,CACL,QAAS,EACT,UAAW,WACX,UAAW,wDACb,EACA,QAASK,EAGT,UAAAb,EAAC,OAAI,UAAWE,EAAG,cAAe,oCAAqC,2BAA2B,EAChG,UAAAH,EAACE,EAAA,CAAQ,KAAM,EAAG,GAAG,oBAAoB,UAAU,qBAChD,SAAAU,GAAS,GACZ,EACCF,GACCV,EAAC,UACC,QAASM,EACT,UAAWH,EAAG,+CAA+C,EAC7D,aAAW,2BAEX,SAAAF,EAAC,OACC,QAAQ,YACR,KAAK,OACL,OAAO,eACP,YAAY,IACZ,cAAc,QACd,eAAe,QAEf,UAAAD,EAAC,QAAK,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,EACpCA,EAAC,QAAK,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,GACtC,EACF,GAEJ,EAGCO,GACH,EACF,GACF,CAEJ,EAEA,IAAOS,EAAQZ",
|
|
6
|
+
"names": ["Fragment", "jsx", "jsxs", "Heading", "cn", "BaseModal", "isOpen", "onClose", "children", "maxWidth", "background", "showCloseButton", "className", "title", "ariaLabelledBy", "handleContentClick", "e", "BaseModal_default"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ChanceMethods - 获取抽奖机会方式组件
|
|
3
|
+
*
|
|
4
|
+
* 展示用户获取额外抽奖机会的多种方式(如分享、积分兑换、推荐等)。
|
|
5
|
+
* 基于 Figma 设计稿实现响应式布局。
|
|
6
|
+
*
|
|
7
|
+
* Figma 设计稿: https://www.figma.com/design/DhWsPamqTM76eMHS0aIQqw
|
|
8
|
+
* 设计节点: 498:6185 (Chance Methods section)
|
|
9
|
+
*
|
|
10
|
+
* @module ChanceMethods
|
|
11
|
+
* @date 2025-12-17
|
|
12
|
+
*/
|
|
13
|
+
import React from 'react';
|
|
14
|
+
import type { ChanceMethodsProps } from './types.js';
|
|
15
|
+
/**
|
|
16
|
+
* ChanceMethods - 获取抽奖机会方式组件
|
|
17
|
+
*
|
|
18
|
+
* 特性:
|
|
19
|
+
* - 展示多种获取机会的方式(分享、积分、推荐等)
|
|
20
|
+
* - 每种方式显示标题、描述、Chance +1 徽章和行动按钮
|
|
21
|
+
* - 支持禁用状态
|
|
22
|
+
* - 响应式布局
|
|
23
|
+
*/
|
|
24
|
+
export declare const ChanceMethods: React.FC<ChanceMethodsProps & {
|
|
25
|
+
chanceBadgeText?: string;
|
|
26
|
+
completedText?: string;
|
|
27
|
+
usedText?: string;
|
|
28
|
+
loadingText?: string;
|
|
29
|
+
}>;
|
|
30
|
+
export default ChanceMethods;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use client";import{jsx as s,jsxs as p}from"react/jsx-runtime";import"react";import{cn as a}from"../../helpers/index.js";import{Button as f,Heading as k}from"../../components/index.js";const u=({theme:e,methods:n,title:o="Want more chances to win?",subtitle:d,footerNote:c,className:x,userData:r,onOpenShareModal:t,chanceBadgeText:i="Chance +1",completedText:l="Completed",usedText:g="Used",loadingText:m="Loading..."})=>!n||n.length===0?null:p("div",{className:a("chance-methods-container","flex flex-col overflow-y-auto","p-[16px]","desktop:px-[24px] desktop:pt-[24px]","lg-desktop:px-[32px]","gap-[16px]","lg-desktop:gap-[16px]",e==="dark"?"aiui-dark":"",x),children:[p("div",{className:"chance-methods-header flex flex-col gap-[4px]",children:[s(k,{size:2,className:a("chance-methods-title","text-info-primary tracking-[-0.32px]"),children:o}),d&&s("p",{className:a("chance-methods-subtitle","text-[14px] font-semibold leading-[1.4]","lg-desktop:text-[18px] desktop:text-[16px]",e==="dark"?"text-[#8A8D92]":"text-[#4A4C56]"),children:d})]}),s("div",{className:"chance-methods-list flex grow flex-col gap-[16px]",children:n.map(h=>s(C,{method:h,userData:r,onOpenShareModal:t,chanceBadgeText:i,completedText:l,usedText:g,loadingText:m},h.methodKey))}),c&&s("p",{className:a("chance-methods-footer","font-semibold","text-[14px] leading-[1.4] ","desktop:pt-[24px] pt-[16px]",e==="dark"?"text-[#75787F]":"text-[#767880]"),children:c})]}),C=({method:e,userData:n,onOpenShareModal:o,chanceBadgeText:d,completedText:c,usedText:x,loadingText:r})=>{const t=e.status||"pending",i=e.loading||!1,l=e.disabled||t==="completed"||t==="used"||i,g=()=>{e.openShareModal&&o&&o(),n?.isLoggedIn?e.onClick():e.onLoginRequired?.()},m={pending:i?r:e?.buttonText||"Redeem now",completed:e?.completed||c,used:e?.used||x};return p("div",{className:a("chance-method-item","flex items-center gap-[16px]","transition-all",{"opacity-60":l}),children:[p("div",{className:a("chance-method-info","flex flex-1 flex-col gap-[4px]","min-w-0"),children:[p("div",{className:"flex flex-wrap items-center gap-[4px]",children:[s("p",{className:a("chance-method-title","text-info-primary","text-[14px] font-[700] leading-[1.4] ","lg-desktop:text-[18px] desktop:text-[16px]"),children:e.title}),s("span",{className:a("chance-badge","text-[14px] leading-[1.4] ","lg-desktop:text-[18px] desktop:text-[16px]","font-[700]","shrink-0",{"text-[#ff6b35]":t==="pending","text-[#4caf50]":t==="completed","text-[#75787F]":t==="used"}),children:d})]}),s("p",{className:a("chance-method-description","text-info-primary","text-[14px] leading-[1.4] ","lg-desktop:text-[18px] desktop:text-[16px]","font-[700]"),children:e.description})]}),s("div",{className:"chance-method-action shrink-0",children:s(f,{onClick:g,disabled:l,className:a("chance-button","lg-desktop:min-w-[162px] min-w-[132px]",{"bg-[#4caf50]":t==="completed","bg-[#75787F]":t==="used"}),children:m[t]})})]})};var M=u;export{u as ChanceMethods,M as default};
|
|
2
|
+
//# sourceMappingURL=ChanceMethods.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/biz-components/WheelLottery/ChanceMethods.tsx"],
|
|
4
|
+
"sourcesContent": ["/**\n * ChanceMethods - \u83B7\u53D6\u62BD\u5956\u673A\u4F1A\u65B9\u5F0F\u7EC4\u4EF6\n *\n * \u5C55\u793A\u7528\u6237\u83B7\u53D6\u989D\u5916\u62BD\u5956\u673A\u4F1A\u7684\u591A\u79CD\u65B9\u5F0F(\u5982\u5206\u4EAB\u3001\u79EF\u5206\u5151\u6362\u3001\u63A8\u8350\u7B49)\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:6185 (Chance Methods section)\n *\n * @module ChanceMethods\n * @date 2025-12-17\n */\n\n'use client'\n\nimport React from 'react'\nimport { cn } from '../../helpers/index.js'\nimport type { ChanceMethod, ChanceMethodsProps, UserData } from './types.js'\nimport { Button, Heading } from '../../components/index.js'\n\n// ============================================================================\n// ChanceMethods \u7EC4\u4EF6\n// ============================================================================\n\n/**\n * ChanceMethods - \u83B7\u53D6\u62BD\u5956\u673A\u4F1A\u65B9\u5F0F\u7EC4\u4EF6\n *\n * \u7279\u6027:\n * - \u5C55\u793A\u591A\u79CD\u83B7\u53D6\u673A\u4F1A\u7684\u65B9\u5F0F(\u5206\u4EAB\u3001\u79EF\u5206\u3001\u63A8\u8350\u7B49)\n * - \u6BCF\u79CD\u65B9\u5F0F\u663E\u793A\u6807\u9898\u3001\u63CF\u8FF0\u3001Chance +1 \u5FBD\u7AE0\u548C\u884C\u52A8\u6309\u94AE\n * - \u652F\u6301\u7981\u7528\u72B6\u6001\n * - \u54CD\u5E94\u5F0F\u5E03\u5C40\n */\nexport const ChanceMethods: React.FC<\n ChanceMethodsProps & {\n chanceBadgeText?: string\n completedText?: string\n usedText?: string\n loadingText?: string\n }\n> = ({\n theme,\n methods,\n title = 'Want more chances to win?',\n subtitle,\n footerNote,\n className,\n userData,\n onOpenShareModal,\n chanceBadgeText = 'Chance +1',\n completedText = 'Completed',\n usedText = 'Used',\n loadingText = 'Loading...',\n}) => {\n // \u9632\u5FA1\u6027\u7F16\u7A0B:\u5904\u7406 undefined \u6216\u7A7A\u6570\u7EC4\n if (!methods || methods.length === 0) {\n return null\n }\n\n return (\n <div\n className={cn(\n 'chance-methods-container',\n 'flex flex-col overflow-y-auto',\n 'p-[16px]',\n 'desktop:px-[24px] desktop:pt-[24px]',\n 'lg-desktop:px-[32px]',\n 'gap-[16px]', // \u9ED8\u8BA4\u95F4\u8DDD\n 'lg-desktop:gap-[16px]', // lg-desktop: Figma \u8BBE\u8BA1\u7A3F\u95F4\u8DDD\n theme === 'dark' ? 'aiui-dark' : '',\n className\n )}\n >\n {/* \u6807\u9898\u533A\u57DF */}\n <div className=\"chance-methods-header flex flex-col gap-[4px]\">\n <Heading size={2} className={cn('chance-methods-title', 'text-info-primary tracking-[-0.32px]')}>\n {title}\n </Heading>\n\n {subtitle && (\n <p\n className={cn(\n 'chance-methods-subtitle',\n 'text-[14px] font-semibold leading-[1.4]',\n 'lg-desktop:text-[18px] desktop:text-[16px]',\n theme === 'dark' ? 'text-[#8A8D92]' : 'text-[#4A4C56]'\n )}\n >\n {subtitle}\n </p>\n )}\n </div>\n\n {/* \u83B7\u53D6\u673A\u4F1A\u65B9\u5F0F\u5217\u8868 */}\n <div className=\"chance-methods-list flex grow flex-col gap-[16px]\">\n {methods.map(method => (\n <ChanceMethodItem\n key={method.methodKey}\n method={method}\n userData={userData}\n onOpenShareModal={onOpenShareModal}\n chanceBadgeText={chanceBadgeText}\n completedText={completedText}\n usedText={usedText}\n loadingText={loadingText}\n />\n ))}\n </div>\n\n {/* \u5E95\u90E8\u63D0\u793A */}\n {footerNote && (\n <p\n className={cn(\n 'chance-methods-footer',\n 'font-semibold',\n 'text-[14px] leading-[1.4] ',\n 'desktop:pt-[24px] pt-[16px]',\n theme === 'dark' ? 'text-[#75787F]' : 'text-[#767880]'\n )}\n >\n {footerNote}\n </p>\n )}\n </div>\n )\n}\n\n// ============================================================================\n// ChanceMethodItem \u5B50\u7EC4\u4EF6 - \u5355\u4E2A\u83B7\u53D6\u673A\u4F1A\u65B9\u5F0F\u5361\u7247\n// ============================================================================\n\ninterface ChanceMethodItemProps {\n method: ChanceMethod\n userData?: UserData\n onOpenShareModal?: () => void\n chanceBadgeText: string\n completedText: string\n usedText: string\n loadingText: string\n}\n\n/**\n * ChanceMethodItem - \u5355\u4E2A\u83B7\u53D6\u673A\u4F1A\u65B9\u5F0F\u5361\u7247\n *\n * \u5C55\u793A\u65B9\u5F0F\u540D\u79F0\u3001\u63CF\u8FF0\u3001Chance +1 \u5FBD\u7AE0\u548C\u884C\u52A8\u6309\u94AE\u3002\n * \u652F\u6301\u4E09\u79CD\u72B6\u6001\uFF1Apending\uFF08\u672A\u5B8C\u6210\uFF09\u3001completed\uFF08\u5DF2\u5B8C\u6210\uFF09\u3001used\uFF08\u5DF2\u4F7F\u7528\uFF09\n */\nconst ChanceMethodItem: React.FC<ChanceMethodItemProps> = ({\n method,\n userData,\n onOpenShareModal,\n chanceBadgeText,\n completedText,\n usedText,\n loadingText,\n}) => {\n const status = method.status || 'pending'\n const isLoading = method.loading || false\n const isDisabledOrCompleted = method.disabled || status === 'completed' || status === 'used' || isLoading\n\n // \u5904\u7406\u6309\u94AE\u70B9\u51FB\n const handleClick = () => {\n // \u5982\u679C\u914D\u7F6E\u4E86 openShareModal\uFF0C\u5219\u6253\u5F00\u5206\u4EAB\u5F39\u7A97\n if (method.openShareModal && onOpenShareModal) {\n onOpenShareModal()\n }\n // \u6267\u884C\u539F\u6709\u7684 onClick \u56DE\u8C03\n if (userData?.isLoggedIn) {\n method.onClick()\n } else {\n method.onLoginRequired?.()\n }\n }\n\n // \u72B6\u6001\u6587\u672C\u6620\u5C04\n const statusTextMap = {\n pending: isLoading ? loadingText : method?.buttonText || 'Redeem now',\n completed: method?.completed || completedText,\n used: method?.used || usedText,\n }\n\n return (\n <div\n className={cn('chance-method-item', 'flex items-center gap-[16px]', 'transition-all', {\n 'opacity-60': isDisabledOrCompleted,\n })}\n >\n {/* \u5DE6\u4FA7:\u65B9\u5F0F\u4FE1\u606F */}\n <div\n className={cn(\n 'chance-method-info',\n 'flex flex-1 flex-col gap-[4px]',\n 'min-w-0' // \u786E\u4FDD\u6587\u672C\u53EF\u4EE5\u88AB\u622A\u65AD\n )}\n >\n {/* \u6807\u9898 + Chance +1 \u5FBD\u7AE0 */}\n <div className=\"flex flex-wrap items-center gap-[4px]\">\n <p\n className={cn(\n 'chance-method-title',\n 'text-info-primary',\n 'text-[14px] font-[700] leading-[1.4] ',\n 'lg-desktop:text-[18px] desktop:text-[16px]'\n )}\n >\n {method.title}\n </p>\n\n <span\n className={cn(\n 'chance-badge',\n 'text-[14px] leading-[1.4] ',\n 'lg-desktop:text-[18px] desktop:text-[16px]',\n 'font-[700]',\n 'shrink-0',\n {\n 'text-[#ff6b35]': status === 'pending',\n 'text-[#4caf50]': status === 'completed',\n 'text-[#75787F]': status === 'used',\n }\n )}\n >\n {chanceBadgeText}\n </span>\n </div>\n\n {/* \u63CF\u8FF0\u6587\u672C */}\n <p\n className={cn(\n 'chance-method-description',\n 'text-info-primary',\n 'text-[14px] leading-[1.4] ',\n 'lg-desktop:text-[18px] desktop:text-[16px]',\n 'font-[700]'\n )}\n >\n {method.description}\n </p>\n </div>\n\n {/* \u53F3\u4FA7:\u884C\u52A8\u6309\u94AE */}\n <div className=\"chance-method-action shrink-0\">\n <Button\n onClick={handleClick}\n disabled={isDisabledOrCompleted}\n className={cn('chance-button', 'lg-desktop:min-w-[162px] min-w-[132px]', {\n 'bg-[#4caf50]': status === 'completed',\n 'bg-[#75787F]': status === 'used',\n })}\n >\n {statusTextMap[status]}\n </Button>\n </div>\n </div>\n )\n}\n\n// ============================================================================\n// \u9ED8\u8BA4\u5BFC\u51FA\n// ============================================================================\n\nexport default ChanceMethods\n"],
|
|
5
|
+
"mappings": "aA0EM,OACE,OAAAA,EADF,QAAAC,MAAA,oBA3DN,MAAkB,QAClB,OAAS,MAAAC,MAAU,yBAEnB,OAAS,UAAAC,EAAQ,WAAAC,MAAe,4BAezB,MAAMC,EAOT,CAAC,CACH,MAAAC,EACA,QAAAC,EACA,MAAAC,EAAQ,4BACR,SAAAC,EACA,WAAAC,EACA,UAAAC,EACA,SAAAC,EACA,iBAAAC,EACA,gBAAAC,EAAkB,YAClB,cAAAC,EAAgB,YAChB,SAAAC,EAAW,OACX,YAAAC,EAAc,YAChB,IAEM,CAACV,GAAWA,EAAQ,SAAW,EAC1B,KAIPN,EAAC,OACC,UAAWC,EACT,2BACA,gCACA,WACA,sCACA,uBACA,aACA,wBACAI,IAAU,OAAS,YAAc,GACjCK,CACF,EAGA,UAAAV,EAAC,OAAI,UAAU,gDACb,UAAAD,EAACI,EAAA,CAAQ,KAAM,EAAG,UAAWF,EAAG,uBAAwB,sCAAsC,EAC3F,SAAAM,EACH,EAECC,GACCT,EAAC,KACC,UAAWE,EACT,0BACA,0CACA,6CACAI,IAAU,OAAS,iBAAmB,gBACxC,EAEC,SAAAG,EACH,GAEJ,EAGAT,EAAC,OAAI,UAAU,oDACZ,SAAAO,EAAQ,IAAIW,GACXlB,EAACmB,EAAA,CAEC,OAAQD,EACR,SAAUN,EACV,iBAAkBC,EAClB,gBAAiBC,EACjB,cAAeC,EACf,SAAUC,EACV,YAAaC,GAPRC,EAAO,SAQd,CACD,EACH,EAGCR,GACCV,EAAC,KACC,UAAWE,EACT,wBACA,gBACA,6BACA,8BACAI,IAAU,OAAS,iBAAmB,gBACxC,EAEC,SAAAI,EACH,GAEJ,EAwBES,EAAoD,CAAC,CACzD,OAAAD,EACA,SAAAN,EACA,iBAAAC,EACA,gBAAAC,EACA,cAAAC,EACA,SAAAC,EACA,YAAAC,CACF,IAAM,CACJ,MAAMG,EAASF,EAAO,QAAU,UAC1BG,EAAYH,EAAO,SAAW,GAC9BI,EAAwBJ,EAAO,UAAYE,IAAW,aAAeA,IAAW,QAAUC,EAG1FE,EAAc,IAAM,CAEpBL,EAAO,gBAAkBL,GAC3BA,EAAiB,EAGfD,GAAU,WACZM,EAAO,QAAQ,EAEfA,EAAO,kBAAkB,CAE7B,EAGMM,EAAgB,CACpB,QAASH,EAAYJ,EAAcC,GAAQ,YAAc,aACzD,UAAWA,GAAQ,WAAaH,EAChC,KAAMG,GAAQ,MAAQF,CACxB,EAEA,OACEf,EAAC,OACC,UAAWC,EAAG,qBAAsB,+BAAgC,iBAAkB,CACpF,aAAcoB,CAChB,CAAC,EAGD,UAAArB,EAAC,OACC,UAAWC,EACT,qBACA,iCACA,SACF,EAGA,UAAAD,EAAC,OAAI,UAAU,wCACb,UAAAD,EAAC,KACC,UAAWE,EACT,sBACA,oBACA,wCACA,4CACF,EAEC,SAAAgB,EAAO,MACV,EAEAlB,EAAC,QACC,UAAWE,EACT,eACA,6BACA,6CACA,aACA,WACA,CACE,iBAAkBkB,IAAW,UAC7B,iBAAkBA,IAAW,YAC7B,iBAAkBA,IAAW,MAC/B,CACF,EAEC,SAAAN,EACH,GACF,EAGAd,EAAC,KACC,UAAWE,EACT,4BACA,oBACA,6BACA,6CACA,YACF,EAEC,SAAAgB,EAAO,YACV,GACF,EAGAlB,EAAC,OAAI,UAAU,gCACb,SAAAA,EAACG,EAAA,CACC,QAASoB,EACT,SAAUD,EACV,UAAWpB,EAAG,gBAAiB,yCAA0C,CACvE,eAAgBkB,IAAW,YAC3B,eAAgBA,IAAW,MAC7B,CAAC,EAEA,SAAAI,EAAcJ,CAAM,EACvB,EACF,GACF,CAEJ,EAMA,IAAOK,EAAQpB",
|
|
6
|
+
"names": ["jsx", "jsxs", "cn", "Button", "Heading", "ChanceMethods", "theme", "methods", "title", "subtitle", "footerNote", "className", "userData", "onOpenShareModal", "chanceBadgeText", "completedText", "usedText", "loadingText", "method", "ChanceMethodItem", "status", "isLoading", "isDisabledOrCompleted", "handleClick", "statusTextMap", "ChanceMethods_default"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ErrorModal - 错误提示弹窗组件
|
|
3
|
+
*
|
|
4
|
+
* 用于展示抽奖过程中的错误信息
|
|
5
|
+
*
|
|
6
|
+
* @module ErrorModal
|
|
7
|
+
* @date 2026-01-04
|
|
8
|
+
*/
|
|
9
|
+
import React from 'react';
|
|
10
|
+
export interface ErrorModalProps {
|
|
11
|
+
/**
|
|
12
|
+
* 是否显示弹窗
|
|
13
|
+
*/
|
|
14
|
+
isOpen: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* 关闭弹窗回调
|
|
17
|
+
*/
|
|
18
|
+
onClose: () => void;
|
|
19
|
+
/**
|
|
20
|
+
* 错误标题
|
|
21
|
+
* @default "Oops!"
|
|
22
|
+
*/
|
|
23
|
+
title?: string;
|
|
24
|
+
/**
|
|
25
|
+
* 错误消息
|
|
26
|
+
*/
|
|
27
|
+
message?: string;
|
|
28
|
+
/**
|
|
29
|
+
* 确认按钮文本
|
|
30
|
+
* @default "OK, I get"
|
|
31
|
+
*/
|
|
32
|
+
confirmText?: string;
|
|
33
|
+
/**
|
|
34
|
+
* 自定义类名
|
|
35
|
+
*/
|
|
36
|
+
className?: string;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* ErrorModal 错误提示弹窗组件
|
|
40
|
+
*/
|
|
41
|
+
export declare const ErrorModal: React.FC<ErrorModalProps>;
|
|
42
|
+
export default ErrorModal;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use client";import{jsx as C,jsxs as e}from"react/jsx-runtime";import"react";import{BaseModal as s}from"./BaseModal.js";import{Heading as p,Button as d}from"../../components/index.js";const n=({isOpen:a,onClose:t,title:l="Sorry, You Didn't Win This Time",message:i,confirmText:o="OK, I get",className:r})=>C(s,{isOpen:a,onClose:t,maxWidth:"max-w-[326px] laptop:max-w-[420px]",background:"bg-white",className:r,ariaLabelledBy:"error-modal-title",children:e("div",{className:"laptop:px-8 laptop:pb-8 px-6 pb-6",children:[C("div",{className:"mb-6 flex justify-center",children:C("div",{className:"flex size-[80px] items-center justify-center rounded-full",children:e("svg",{xmlns:"http://www.w3.org/2000/svg",width:"80",height:"80",viewBox:"0 0 80 80",fill:"none",children:[C("path",{d:"M63.5691 63.5727C68.2304 58.9107 71.4047 52.9713 72.6905 46.5054C73.9764 40.0395 73.316 33.3374 70.793 27.2468C68.27 21.1562 63.9975 15.9505 58.516 12.2879C53.0344 8.6254 46.5899 6.67053 39.9974 6.67053C33.4049 6.67053 26.9604 8.6254 21.4788 12.2879C15.9973 15.9505 11.7249 21.1562 9.20182 27.2468C6.67878 33.3374 6.01843 40.0395 7.30427 46.5054C8.59011 52.9713 11.7644 58.9107 16.4257 63.5727C19.5211 66.6684 23.1959 69.1241 27.2404 70.7995C31.2848 72.4749 35.6197 73.3372 39.9974 73.3372C44.3751 73.3372 48.71 72.4749 52.7545 70.7995C56.7989 69.1241 60.4737 66.6684 63.5691 63.5727Z",fill:"#FFCC66"}),C("path",{d:"M57.3792 11.5137C61.4604 17.8614 63.2668 25.4062 62.503 32.914C61.7393 40.4218 58.4505 47.4482 53.1746 52.8441C47.8988 58.24 40.9481 61.6859 33.4594 62.6183C25.9706 63.5507 18.3872 61.9144 11.9492 57.977C14.6587 62.1912 18.2833 65.7405 22.5534 68.3609C26.8236 70.9813 31.6296 72.6054 36.6139 73.1125C41.5983 73.6195 46.6329 72.9965 51.3433 71.2897C56.0537 69.5829 60.3187 66.8363 63.8213 63.254C67.3239 59.6717 69.974 55.346 71.5744 50.5984C73.1749 45.8508 73.6845 40.8035 73.0655 35.8318C72.4465 30.8601 70.7147 26.0919 67.9989 21.8817C65.2832 17.6715 61.6533 14.1277 57.3792 11.5137Z",fill:"#FFC450"}),C("path",{opacity:"0.4",d:"M11.204 43.58C11.1862 37.1148 13.1937 30.8063 16.9446 25.5404C20.6955 20.2745 26.0015 16.3156 32.1175 14.2196C38.2336 12.1235 44.8525 11.9956 51.045 13.8538C57.2374 15.712 62.6924 19.4629 66.644 24.58C64.5168 20.9213 61.6618 17.7377 58.2555 15.226C54.8493 12.7143 50.964 10.9279 46.84 9.97716C42.716 9.02646 38.4408 8.93165 34.2787 9.69861C30.1166 10.4656 26.156 12.078 22.6418 14.4362C19.1275 16.7944 16.1342 19.8484 13.8469 23.4092C11.5596 26.9701 10.027 30.9622 9.34361 35.1388C8.66026 39.3155 8.84077 43.5879 9.87398 47.692C10.9072 51.7962 12.7711 55.6448 15.3506 59C12.6353 54.3146 11.2049 48.9954 11.204 43.58Z",fill:"white"}),C("path",{d:"M40 58.1469C43.3333 58.1469 46 53.5802 46 47.9436C46 42.3069 43.3067 37.7402 40 37.7402C36.6933 37.7402 34 42.3102 34 47.9436C34 53.5769 36.6667 58.1469 40 58.1469Z",fill:"#333333"}),C("path",{d:"M45.0763 53.4168C40.6863 51.0035 37.113 52.3735 35.043 53.7502C36.1296 56.4168 37.943 58.1635 39.9963 58.1635C42.1363 58.1535 43.9996 56.2635 45.0763 53.4168Z",fill:"#F84D4F"}),C("path",{d:"M29.6913 33.373L20.918 38.9564L21.1413 67.4864C23.7747 69.2998 26.6568 70.7224 29.698 71.7097L29.6913 33.373ZM50.3313 33.373L59.0913 38.9564L58.8746 67.4864C56.2413 69.2998 53.3591 70.7224 50.318 71.7097L50.3313 33.373Z",fill:"#21D2C5"}),C("path",{d:"M22.0217 39.9506C21.7281 39.9495 21.4421 39.8572 21.2032 39.6864C20.9643 39.5156 20.7844 39.2748 20.6884 38.9973C20.5918 38.7187 20.5848 38.4168 20.6684 38.134C20.7531 37.8525 20.9218 37.6037 21.1517 37.4206L25.9617 33.6673L21.0017 30.754C20.7618 30.6135 20.5684 30.4055 20.4459 30.1559C20.3233 29.9063 20.2769 29.6261 20.3124 29.3503C20.3479 29.0745 20.4639 28.8153 20.6457 28.6049C20.8276 28.3946 21.0673 28.2424 21.3351 28.1673C21.6986 28.0738 22.0844 28.1277 22.4084 28.3173L29.1817 32.294C29.3803 32.4109 29.5474 32.5745 29.6684 32.7706C29.7911 32.9687 29.8632 33.1939 29.8784 33.4265C29.8935 33.659 29.8511 33.8917 29.7551 34.104C29.6613 34.3147 29.517 34.499 29.3351 34.6406L22.8851 39.6673C22.6373 39.856 22.3332 39.9558 22.0217 39.9506ZM57.9817 39.9506C57.6662 39.9515 57.3596 39.8458 57.1117 39.6506L50.6684 34.6306C50.4845 34.4879 50.3381 34.3025 50.2417 34.0906C50.0963 33.7713 50.0751 33.4092 50.1824 33.0751C50.2896 32.7411 50.5176 32.459 50.8217 32.284L57.5817 28.304C57.7426 28.1992 57.9228 28.1278 58.1118 28.094C58.3007 28.0602 58.4946 28.0648 58.6817 28.1073C58.869 28.1498 59.0451 28.2316 59.1984 28.3473C59.3536 28.4595 59.4841 28.6025 59.5817 28.7673C59.6787 28.9331 59.741 29.1168 59.7651 29.3073C59.7895 29.4977 59.7749 29.691 59.7222 29.8755C59.6695 30.0601 59.5797 30.2319 59.4584 30.3806C59.3341 30.5324 59.1783 30.6552 59.0017 30.7406L54.0417 33.6673L58.8484 37.414C59.0217 37.5492 59.161 37.7229 59.2554 37.9214C59.3497 38.1199 59.3965 38.3376 59.3919 38.5573C59.3874 38.777 59.3317 38.9927 59.2293 39.1871C59.1268 39.3815 58.9804 39.5494 58.8017 39.6773C58.5626 39.8488 58.2761 39.942 57.9817 39.944V39.9506Z",fill:"#333333"})]})})}),C(p,{size:2,id:"error-modal-title",className:"text-center tracking-[-0.32px] text-[#1D1D1F]",children:l}),C("p",{className:"laptop:text-[16px] mb-6 text-center text-[14px] font-[700] text-[#1D1D1F]",children:i}),C(d,{onClick:t,className:"w-full",children:o})]})});var g=n;export{n as ErrorModal,g as default};
|
|
2
|
+
//# sourceMappingURL=ErrorModal.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/biz-components/WheelLottery/ErrorModal.tsx"],
|
|
4
|
+
"sourcesContent": ["/**\n * ErrorModal - \u9519\u8BEF\u63D0\u793A\u5F39\u7A97\u7EC4\u4EF6\n *\n * \u7528\u4E8E\u5C55\u793A\u62BD\u5956\u8FC7\u7A0B\u4E2D\u7684\u9519\u8BEF\u4FE1\u606F\n *\n * @module ErrorModal\n * @date 2026-01-04\n */\n\n'use client'\n\nimport React from 'react'\nimport { BaseModal } from './BaseModal.js'\nimport { Heading, Button } from '../../components/index.js'\n\nexport interface ErrorModalProps {\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 * \u9519\u8BEF\u6807\u9898\n * @default \"Oops!\"\n */\n title?: string\n\n /**\n * \u9519\u8BEF\u6D88\u606F\n */\n message?: string\n\n /**\n * \u786E\u8BA4\u6309\u94AE\u6587\u672C\n * @default \"OK, I get\"\n */\n confirmText?: string\n\n /**\n * \u81EA\u5B9A\u4E49\u7C7B\u540D\n */\n className?: string\n}\n\n/**\n * ErrorModal \u9519\u8BEF\u63D0\u793A\u5F39\u7A97\u7EC4\u4EF6\n */\nexport const ErrorModal: React.FC<ErrorModalProps> = ({\n isOpen,\n onClose,\n title = \"Sorry, You Didn't Win This Time\",\n message,\n confirmText = 'OK, I get',\n className,\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=\"error-modal-title\"\n >\n <div className=\"laptop:px-8 laptop:pb-8 px-6 pb-6\">\n {/* \u9519\u8BEF\u56FE\u6807 */}\n <div className=\"mb-6 flex justify-center\">\n <div className=\"flex size-[80px] items-center justify-center rounded-full\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"80\" height=\"80\" viewBox=\"0 0 80 80\" fill=\"none\">\n <path\n d=\"M63.5691 63.5727C68.2304 58.9107 71.4047 52.9713 72.6905 46.5054C73.9764 40.0395 73.316 33.3374 70.793 27.2468C68.27 21.1562 63.9975 15.9505 58.516 12.2879C53.0344 8.6254 46.5899 6.67053 39.9974 6.67053C33.4049 6.67053 26.9604 8.6254 21.4788 12.2879C15.9973 15.9505 11.7249 21.1562 9.20182 27.2468C6.67878 33.3374 6.01843 40.0395 7.30427 46.5054C8.59011 52.9713 11.7644 58.9107 16.4257 63.5727C19.5211 66.6684 23.1959 69.1241 27.2404 70.7995C31.2848 72.4749 35.6197 73.3372 39.9974 73.3372C44.3751 73.3372 48.71 72.4749 52.7545 70.7995C56.7989 69.1241 60.4737 66.6684 63.5691 63.5727Z\"\n fill=\"#FFCC66\"\n />\n <path\n d=\"M57.3792 11.5137C61.4604 17.8614 63.2668 25.4062 62.503 32.914C61.7393 40.4218 58.4505 47.4482 53.1746 52.8441C47.8988 58.24 40.9481 61.6859 33.4594 62.6183C25.9706 63.5507 18.3872 61.9144 11.9492 57.977C14.6587 62.1912 18.2833 65.7405 22.5534 68.3609C26.8236 70.9813 31.6296 72.6054 36.6139 73.1125C41.5983 73.6195 46.6329 72.9965 51.3433 71.2897C56.0537 69.5829 60.3187 66.8363 63.8213 63.254C67.3239 59.6717 69.974 55.346 71.5744 50.5984C73.1749 45.8508 73.6845 40.8035 73.0655 35.8318C72.4465 30.8601 70.7147 26.0919 67.9989 21.8817C65.2832 17.6715 61.6533 14.1277 57.3792 11.5137Z\"\n fill=\"#FFC450\"\n />\n <path\n opacity=\"0.4\"\n d=\"M11.204 43.58C11.1862 37.1148 13.1937 30.8063 16.9446 25.5404C20.6955 20.2745 26.0015 16.3156 32.1175 14.2196C38.2336 12.1235 44.8525 11.9956 51.045 13.8538C57.2374 15.712 62.6924 19.4629 66.644 24.58C64.5168 20.9213 61.6618 17.7377 58.2555 15.226C54.8493 12.7143 50.964 10.9279 46.84 9.97716C42.716 9.02646 38.4408 8.93165 34.2787 9.69861C30.1166 10.4656 26.156 12.078 22.6418 14.4362C19.1275 16.7944 16.1342 19.8484 13.8469 23.4092C11.5596 26.9701 10.027 30.9622 9.34361 35.1388C8.66026 39.3155 8.84077 43.5879 9.87398 47.692C10.9072 51.7962 12.7711 55.6448 15.3506 59C12.6353 54.3146 11.2049 48.9954 11.204 43.58Z\"\n fill=\"white\"\n />\n <path\n d=\"M40 58.1469C43.3333 58.1469 46 53.5802 46 47.9436C46 42.3069 43.3067 37.7402 40 37.7402C36.6933 37.7402 34 42.3102 34 47.9436C34 53.5769 36.6667 58.1469 40 58.1469Z\"\n fill=\"#333333\"\n />\n <path\n d=\"M45.0763 53.4168C40.6863 51.0035 37.113 52.3735 35.043 53.7502C36.1296 56.4168 37.943 58.1635 39.9963 58.1635C42.1363 58.1535 43.9996 56.2635 45.0763 53.4168Z\"\n fill=\"#F84D4F\"\n />\n <path\n d=\"M29.6913 33.373L20.918 38.9564L21.1413 67.4864C23.7747 69.2998 26.6568 70.7224 29.698 71.7097L29.6913 33.373ZM50.3313 33.373L59.0913 38.9564L58.8746 67.4864C56.2413 69.2998 53.3591 70.7224 50.318 71.7097L50.3313 33.373Z\"\n fill=\"#21D2C5\"\n />\n <path\n d=\"M22.0217 39.9506C21.7281 39.9495 21.4421 39.8572 21.2032 39.6864C20.9643 39.5156 20.7844 39.2748 20.6884 38.9973C20.5918 38.7187 20.5848 38.4168 20.6684 38.134C20.7531 37.8525 20.9218 37.6037 21.1517 37.4206L25.9617 33.6673L21.0017 30.754C20.7618 30.6135 20.5684 30.4055 20.4459 30.1559C20.3233 29.9063 20.2769 29.6261 20.3124 29.3503C20.3479 29.0745 20.4639 28.8153 20.6457 28.6049C20.8276 28.3946 21.0673 28.2424 21.3351 28.1673C21.6986 28.0738 22.0844 28.1277 22.4084 28.3173L29.1817 32.294C29.3803 32.4109 29.5474 32.5745 29.6684 32.7706C29.7911 32.9687 29.8632 33.1939 29.8784 33.4265C29.8935 33.659 29.8511 33.8917 29.7551 34.104C29.6613 34.3147 29.517 34.499 29.3351 34.6406L22.8851 39.6673C22.6373 39.856 22.3332 39.9558 22.0217 39.9506ZM57.9817 39.9506C57.6662 39.9515 57.3596 39.8458 57.1117 39.6506L50.6684 34.6306C50.4845 34.4879 50.3381 34.3025 50.2417 34.0906C50.0963 33.7713 50.0751 33.4092 50.1824 33.0751C50.2896 32.7411 50.5176 32.459 50.8217 32.284L57.5817 28.304C57.7426 28.1992 57.9228 28.1278 58.1118 28.094C58.3007 28.0602 58.4946 28.0648 58.6817 28.1073C58.869 28.1498 59.0451 28.2316 59.1984 28.3473C59.3536 28.4595 59.4841 28.6025 59.5817 28.7673C59.6787 28.9331 59.741 29.1168 59.7651 29.3073C59.7895 29.4977 59.7749 29.691 59.7222 29.8755C59.6695 30.0601 59.5797 30.2319 59.4584 30.3806C59.3341 30.5324 59.1783 30.6552 59.0017 30.7406L54.0417 33.6673L58.8484 37.414C59.0217 37.5492 59.161 37.7229 59.2554 37.9214C59.3497 38.1199 59.3965 38.3376 59.3919 38.5573C59.3874 38.777 59.3317 38.9927 59.2293 39.1871C59.1268 39.3815 58.9804 39.5494 58.8017 39.6773C58.5626 39.8488 58.2761 39.942 57.9817 39.944V39.9506Z\"\n fill=\"#333333\"\n />\n </svg>\n </div>\n </div>\n\n {/* \u6807\u9898 */}\n <Heading size={2} id=\"error-modal-title\" className=\"text-center tracking-[-0.32px] text-[#1D1D1F]\">\n {title}\n </Heading>\n\n {/* \u9519\u8BEF\u6D88\u606F */}\n <p className=\"laptop:text-[16px] mb-6 text-center text-[14px] font-[700] text-[#1D1D1F]\">{message}</p>\n\n {/* \u786E\u8BA4\u6309\u94AE */}\n <Button onClick={onClose} className=\"w-full\">\n {confirmText}\n </Button>\n </div>\n </BaseModal>\n )\n}\n\nexport default ErrorModal\n"],
|
|
5
|
+
"mappings": "aAyEY,OACE,OAAAA,EADF,QAAAC,MAAA,oBA9DZ,MAAkB,QAClB,OAAS,aAAAC,MAAiB,iBAC1B,OAAS,WAAAC,EAAS,UAAAC,MAAc,4BAuCzB,MAAMC,EAAwC,CAAC,CACpD,OAAAC,EACA,QAAAC,EACA,MAAAC,EAAQ,kCACR,QAAAC,EACA,YAAAC,EAAc,YACd,UAAAC,CACF,IAEIX,EAACE,EAAA,CACC,OAAQI,EACR,QAASC,EACT,SAAS,qCACT,WAAW,WACX,UAAWI,EACX,eAAe,oBAEf,SAAAV,EAAC,OAAI,UAAU,oCAEb,UAAAD,EAAC,OAAI,UAAU,2BACb,SAAAA,EAAC,OAAI,UAAU,4DACb,SAAAC,EAAC,OAAI,MAAM,6BAA6B,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OACtF,UAAAD,EAAC,QACC,EAAE,2kBACF,KAAK,UACP,EACAA,EAAC,QACC,EAAE,4kBACF,KAAK,UACP,EACAA,EAAC,QACC,QAAQ,MACR,EAAE,2mBACF,KAAK,QACP,EACAA,EAAC,QACC,EAAE,uKACF,KAAK,UACP,EACAA,EAAC,QACC,EAAE,iKACF,KAAK,UACP,EACAA,EAAC,QACC,EAAE,8NACF,KAAK,UACP,EACAA,EAAC,QACC,EAAE,ymDACF,KAAK,UACP,GACF,EACF,EACF,EAGAA,EAACG,EAAA,CAAQ,KAAM,EAAG,GAAG,oBAAoB,UAAU,gDAChD,SAAAK,EACH,EAGAR,EAAC,KAAE,UAAU,4EAA6E,SAAAS,EAAQ,EAGlGT,EAACI,EAAA,CAAO,QAASG,EAAS,UAAU,SACjC,SAAAG,EACH,GACF,EACF,EAIJ,IAAOE,EAAQP",
|
|
6
|
+
"names": ["jsx", "jsxs", "BaseModal", "Heading", "Button", "ErrorModal", "isOpen", "onClose", "title", "message", "confirmText", "className", "ErrorModal_default"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MyRewardsModal - 我的奖励弹窗组件
|
|
3
|
+
*
|
|
4
|
+
* 展示用户已获得的奖励列表
|
|
5
|
+
*
|
|
6
|
+
* @module MyRewardsModal
|
|
7
|
+
* @date 2026-01-04
|
|
8
|
+
*/
|
|
9
|
+
import React from 'react';
|
|
10
|
+
export type RewardStatus = 'Available' | 'Expired' | 'Used';
|
|
11
|
+
export interface Reward {
|
|
12
|
+
/**
|
|
13
|
+
* 奖励 ID
|
|
14
|
+
*/
|
|
15
|
+
id: string;
|
|
16
|
+
/**
|
|
17
|
+
* 奖励名称
|
|
18
|
+
*/
|
|
19
|
+
name: string;
|
|
20
|
+
/**
|
|
21
|
+
* 优惠码(可选)
|
|
22
|
+
*/
|
|
23
|
+
code?: string;
|
|
24
|
+
/**
|
|
25
|
+
* 状态
|
|
26
|
+
*/
|
|
27
|
+
status: RewardStatus;
|
|
28
|
+
/**
|
|
29
|
+
* 奖励时间
|
|
30
|
+
*/
|
|
31
|
+
prizeTime?: string;
|
|
32
|
+
/**
|
|
33
|
+
* 是否可复制码
|
|
34
|
+
*/
|
|
35
|
+
showCopyCode?: boolean;
|
|
36
|
+
/** * 是否可用
|
|
37
|
+
*/
|
|
38
|
+
available?: boolean;
|
|
39
|
+
}
|
|
40
|
+
export interface MyRewardsModalProps {
|
|
41
|
+
/**
|
|
42
|
+
* 是否显示弹窗
|
|
43
|
+
*/
|
|
44
|
+
isOpen: boolean;
|
|
45
|
+
/**
|
|
46
|
+
* 关闭弹窗回调
|
|
47
|
+
*/
|
|
48
|
+
onClose: () => void;
|
|
49
|
+
/**
|
|
50
|
+
* 弹窗标题
|
|
51
|
+
* @default "My Rewards"
|
|
52
|
+
*/
|
|
53
|
+
title?: string;
|
|
54
|
+
/**
|
|
55
|
+
* 奖励列表
|
|
56
|
+
*/
|
|
57
|
+
rewards: Reward[];
|
|
58
|
+
/**
|
|
59
|
+
* 复制码点击回调
|
|
60
|
+
*/
|
|
61
|
+
onCopyCode?: (code: string) => void;
|
|
62
|
+
/**
|
|
63
|
+
* 自定义类名
|
|
64
|
+
*/
|
|
65
|
+
className?: string;
|
|
66
|
+
/**
|
|
67
|
+
* 代码文本前缀
|
|
68
|
+
* @default "CODE:"
|
|
69
|
+
*/
|
|
70
|
+
codeText?: string;
|
|
71
|
+
/**
|
|
72
|
+
* 复制按钮文本
|
|
73
|
+
* @default "COPY"
|
|
74
|
+
*/
|
|
75
|
+
copyText?: string;
|
|
76
|
+
/**
|
|
77
|
+
* 复制成功后的按钮文本
|
|
78
|
+
* @default "COPIED"
|
|
79
|
+
*/
|
|
80
|
+
copiedText?: string;
|
|
81
|
+
/**
|
|
82
|
+
* 奖励时间文本前缀
|
|
83
|
+
* @default "Prize time:"
|
|
84
|
+
*/
|
|
85
|
+
prizeText?: string;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* MyRewardsModal 我的奖励弹窗组件
|
|
89
|
+
*/
|
|
90
|
+
export declare const MyRewardsModal: React.FC<MyRewardsModalProps>;
|
|
91
|
+
export default MyRewardsModal;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use client";import{jsx as t,jsxs as o}from"react/jsx-runtime";import{useState as y,useRef as N,useEffect as R}from"react";import{cn as i}from"../../helpers/index.js";import{BaseModal as C}from"./BaseModal.js";const h=({isOpen:c,onClose:r,title:d="My Rewards",rewards:l,onCopyCode:p,className:m,codeText:u="CODE:",copyText:b="COPY",copiedText:v="COPIED",prizeText:f="Prize time:"})=>{const[g,n]=y({}),a=N({});R(()=>()=>{Object.values(a.current).forEach(e=>clearTimeout(e))},[]);const D=(e,x)=>{a.current[e]&&clearTimeout(a.current[e]),navigator.clipboard.writeText(x),p&&p?.(x),n(s=>({...s,[e]:!0})),a.current[e]=setTimeout(()=>{n(s=>({...s,[e]:!1})),delete a.current[e]},3e3)};return t(C,{isOpen:c,onClose:r,maxWidth:"max-w-[480px] laptop:max-w-[520px]",background:"bg-white",className:m,title:d,ariaLabelledBy:"rewards-modal-title",children:t("div",{className:"laptop:px-8 laptop:pb-8 p-4",children:t("div",{className:"flex max-h-[584px] flex-col gap-2 overflow-y-auto",children:l.length===0?t("p",{className:"py-8 text-center text-[14px] text-gray-500",children:"No rewards yet"}):l.map(e=>t("div",{className:i("rounded-box","relative flex-none overflow-hidden bg-[#F5F5F7]","px-4 py-6"),children:o("div",{className:"laptop:text-[16px] flex items-center justify-between gap-2 text-[14px] font-[700]",children:[o("div",{className:"flex-1",children:[t("p",{className:i("mb-1 font-[700] text-[#1D1D1F]",e?.available?"text-[#1D1D1F]":"text-[#D1D1D1]"),children:e.name}),e.code&&o("div",{className:i("flex items-center gap-2",e?.available?"text-brand-0":"text-[#D1D1D1]"),children:[o("p",{className:"max-w-[200px] truncate",children:[u," ",e.code]}),e.showCopyCode&&e?.available&&t("button",{onClick:()=>D(e.id,e.code),className:"underline",children:g[e.id]?v:b})]})]}),e.prizeTime&&o("div",{className:i("text-[14px] font-[700] ",e?.available?"text-[#999]":"text-[#D1D1D1]"),children:[t("p",{children:f}),t("p",{children:e.prizeTime})]}),t("span",{className:i("rounded-[0_8px] px-[6px] text-[14px] font-[700]","absolute right-0 top-0",e?.available?"bg-brand-0 text-white":"bg-[#D1D1D1] text-white"),children:e.status})]})},e.id))})})})};var S=h;export{h as MyRewardsModal,S as default};
|
|
2
|
+
//# sourceMappingURL=MyRewardsModal.js.map
|