@anker-in/headless-ui 1.3.21 → 1.3.22-alpha.1781754422536
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/biz-components/AccessoriesShelf/components/AccessoriesProductGrid/index.d.ts +11 -0
- package/dist/cjs/biz-components/AccessoriesShelf/components/AccessoriesProductGrid/index.js +2 -0
- package/dist/cjs/biz-components/AccessoriesShelf/components/AccessoriesProductGrid/index.js.map +7 -0
- package/dist/cjs/biz-components/AccessoriesShelf/components/AccessoryShelf/ProductCard.d.ts +23 -0
- package/dist/cjs/biz-components/AccessoriesShelf/components/AccessoryShelf/ProductCard.js +2 -0
- package/dist/cjs/biz-components/AccessoriesShelf/components/AccessoryShelf/ProductCard.js.map +7 -0
- package/dist/cjs/biz-components/AccessoriesShelf/components/AccessoryShelf/index.d.ts +40 -0
- package/dist/cjs/biz-components/AccessoriesShelf/components/AccessoryShelf/index.js +2 -0
- package/dist/cjs/biz-components/AccessoriesShelf/components/AccessoryShelf/index.js.map +7 -0
- package/dist/cjs/biz-components/AccessoriesShelf/components/AccessoryShelf/types.d.ts +103 -0
- package/dist/cjs/biz-components/AccessoriesShelf/components/AccessoryShelf/types.js +2 -0
- package/dist/cjs/biz-components/AccessoriesShelf/components/AccessoryShelf/types.js.map +7 -0
- package/dist/cjs/biz-components/AccessoriesShelf/components/MainProductArea/index.d.ts +27 -0
- package/dist/cjs/biz-components/AccessoriesShelf/components/MainProductArea/index.js +2 -0
- package/dist/cjs/biz-components/AccessoriesShelf/components/MainProductArea/index.js.map +7 -0
- package/dist/cjs/biz-components/AccessoriesShelf/components/ProductGrid/index.d.ts +11 -0
- package/dist/cjs/biz-components/AccessoriesShelf/components/ProductGrid/index.js +2 -0
- package/dist/cjs/biz-components/AccessoriesShelf/components/ProductGrid/index.js.map +7 -0
- package/dist/cjs/biz-components/AccessoriesShelf/components/PromoBanner/index.d.ts +10 -0
- package/dist/cjs/biz-components/AccessoriesShelf/components/PromoBanner/index.js +2 -0
- package/dist/cjs/biz-components/AccessoriesShelf/components/PromoBanner/index.js.map +7 -0
- package/dist/cjs/biz-components/AccessoriesShelf/components/SectionHeader/index.d.ts +9 -0
- package/dist/cjs/biz-components/AccessoriesShelf/components/SectionHeader/index.js +2 -0
- package/dist/cjs/biz-components/AccessoriesShelf/components/SectionHeader/index.js.map +7 -0
- package/dist/cjs/biz-components/AccessoriesShelf/index.d.ts +8 -0
- package/dist/cjs/biz-components/AccessoriesShelf/index.js +2 -0
- package/dist/cjs/biz-components/AccessoriesShelf/index.js.map +7 -0
- package/dist/cjs/biz-components/AccessoriesShelf/product.d.ts +280 -0
- package/dist/cjs/biz-components/AccessoriesShelf/product.js +2 -0
- package/dist/cjs/biz-components/AccessoriesShelf/product.js.map +7 -0
- package/dist/cjs/biz-components/AccessoriesShelf/types.d.ts +43 -0
- package/dist/cjs/biz-components/AccessoriesShelf/types.js +2 -0
- package/dist/cjs/biz-components/AccessoriesShelf/types.js.map +7 -0
- package/dist/cjs/biz-components/AccordionCards/index.d.ts +1 -1
- package/dist/cjs/biz-components/ActiveShelf/index.d.ts +1 -1
- package/dist/cjs/biz-components/ActivityMechanism/index.js +1 -1
- package/dist/cjs/biz-components/ActivityMechanism/index.js.map +3 -3
- package/dist/cjs/biz-components/ActivitySchedule/index.d.ts +1 -1
- package/dist/cjs/biz-components/ActivitySchedule/index.js +1 -1
- package/dist/cjs/biz-components/ActivitySchedule/index.js.map +3 -3
- package/dist/cjs/biz-components/AiuiProvider/index.d.ts +6 -0
- package/dist/cjs/biz-components/AiuiProvider/index.js +1 -1
- package/dist/cjs/biz-components/AiuiProvider/index.js.map +3 -3
- package/dist/cjs/biz-components/AnchorNavigation/index.d.ts +1 -1
- package/dist/cjs/biz-components/AnchorNavigation/index.js +1 -1
- package/dist/cjs/biz-components/AnchorNavigation/index.js.map +3 -3
- package/dist/cjs/biz-components/AplusDesc/index.d.ts +1 -1
- package/dist/cjs/biz-components/BrandCardLink/BrandCardLink.d.ts +1 -1
- package/dist/cjs/biz-components/BrandCardLink/BrandCardLink.js +1 -1
- package/dist/cjs/biz-components/BrandCardLink/BrandCardLink.js.map +3 -3
- package/dist/cjs/biz-components/BrandEquity/BrandEquity.d.ts +1 -1
- 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/BuyOneGetOneShelf/ProductCard.d.ts +1 -1
- package/dist/cjs/biz-components/BuyOneGetOneShelf/ProductCard.js +1 -1
- package/dist/cjs/biz-components/BuyOneGetOneShelf/ProductCard.js.map +3 -3
- package/dist/cjs/biz-components/BuyOneGetOneShelf/context.d.ts +4 -0
- package/dist/cjs/biz-components/BuyOneGetOneShelf/context.js +2 -0
- package/dist/cjs/biz-components/BuyOneGetOneShelf/context.js.map +7 -0
- package/dist/cjs/biz-components/BuyOneGetOneShelf/types.d.ts +1 -1
- package/dist/cjs/biz-components/BuyOneGetOneShelf/types.js.map +1 -1
- package/dist/cjs/biz-components/Category/SwiperCategory.js +1 -1
- package/dist/cjs/biz-components/Category/SwiperCategory.js.map +3 -3
- package/dist/cjs/biz-components/Category/index.d.ts +1 -1
- package/dist/cjs/biz-components/Category/index.js +1 -1
- package/dist/cjs/biz-components/Category/index.js.map +3 -3
- package/dist/cjs/biz-components/CreativeModule/index.d.ts +1 -1
- package/dist/cjs/biz-components/DownLoad/index.d.ts +1 -1
- package/dist/cjs/biz-components/Evaluate/index.d.ts +1 -1
- 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 +1 -1
- package/dist/cjs/biz-components/EventSchedule/index.js +1 -1
- package/dist/cjs/biz-components/EventSchedule/index.js.map +3 -3
- package/dist/cjs/biz-components/Faq/Faq.d.ts +1 -1
- package/dist/cjs/biz-components/FeatureCards/FeatureCards.d.ts +1 -1
- package/dist/cjs/biz-components/FeatureCards/FeatureCards.js +1 -1
- package/dist/cjs/biz-components/FeatureCards/FeatureCards.js.map +3 -3
- package/dist/cjs/biz-components/FeatureShowcase/FeatureShowcase.d.ts +1 -1
- package/dist/cjs/biz-components/FeaturedBlogPosts/index.d.ts +1 -1
- package/dist/cjs/biz-components/FeaturedBlogPosts/index.js +1 -1
- package/dist/cjs/biz-components/FeaturedBlogPosts/index.js.map +2 -2
- package/dist/cjs/biz-components/Features/index.d.ts +1 -1
- package/dist/cjs/biz-components/FootCharger/index.d.ts +1 -1
- package/dist/cjs/biz-components/FooterNavigation/index.d.ts +1 -1
- package/dist/cjs/biz-components/FooterNavigation/index.js +1 -1
- package/dist/cjs/biz-components/FooterNavigation/index.js.map +3 -3
- package/dist/cjs/biz-components/GiftBox/index.d.ts +1 -1
- package/dist/cjs/biz-components/GiftShelf/index.d.ts +1 -1
- package/dist/cjs/biz-components/GiftShelf/index.js +1 -1
- package/dist/cjs/biz-components/GiftShelf/index.js.map +2 -2
- package/dist/cjs/biz-components/GiftTierShelf/index.d.ts +1 -1
- package/dist/cjs/biz-components/Graphic/index.d.ts +1 -1
- 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 +1 -1
- package/dist/cjs/biz-components/GraphicOverlay/GraphicOverlay.d.ts +2 -2
- package/dist/cjs/biz-components/GraphicOverlay/GraphicOverlay.js +1 -1
- package/dist/cjs/biz-components/GraphicOverlay/GraphicOverlay.js.map +3 -3
- package/dist/cjs/biz-components/HeaderNavigation/MobileTextLinksMenu.d.ts +12 -0
- package/dist/cjs/biz-components/HeaderNavigation/MobileTextLinksMenu.js +2 -0
- package/dist/cjs/biz-components/HeaderNavigation/MobileTextLinksMenu.js.map +7 -0
- package/dist/cjs/biz-components/HeaderNavigation/MulticolDropdown.js +1 -1
- package/dist/cjs/biz-components/HeaderNavigation/MulticolDropdown.js.map +2 -2
- package/dist/cjs/biz-components/HeaderNavigation/TextLinksDropdown.d.ts +10 -0
- package/dist/cjs/biz-components/HeaderNavigation/TextLinksDropdown.js +2 -0
- package/dist/cjs/biz-components/HeaderNavigation/TextLinksDropdown.js.map +7 -0
- package/dist/cjs/biz-components/HeaderNavigation/index.d.ts +1 -1
- package/dist/cjs/biz-components/HeaderNavigation/index.js +1 -1
- package/dist/cjs/biz-components/HeaderNavigation/index.js.map +3 -3
- package/dist/cjs/biz-components/HeaderNavigation/types.d.ts +11 -1
- package/dist/cjs/biz-components/HeaderNavigation/types.js +1 -1
- package/dist/cjs/biz-components/HeaderNavigation/types.js.map +2 -2
- package/dist/cjs/biz-components/HeaderNavigation/withCategory.d.ts +1 -0
- package/dist/cjs/biz-components/HeaderNavigation/withCategory.js +1 -1
- package/dist/cjs/biz-components/HeaderNavigation/withCategory.js.map +3 -3
- package/dist/cjs/biz-components/HeroBanner/HeroBanner.d.ts +1 -1
- package/dist/cjs/biz-components/HeroBanner/HeroBanner.js +1 -1
- package/dist/cjs/biz-components/HeroBanner/HeroBanner.js.map +3 -3
- package/dist/cjs/biz-components/HeroBanner/HeroBannerCarousel.js +1 -1
- package/dist/cjs/biz-components/HeroBanner/HeroBannerCarousel.js.map +3 -3
- package/dist/cjs/biz-components/ImageOverlayShelf/index.d.ts +1 -1
- package/dist/cjs/biz-components/ImageTextFeature/ImageTextFeature.d.ts +1 -1
- package/dist/cjs/biz-components/ImageTextOverlay/index.d.ts +1 -1
- package/dist/cjs/biz-components/ImageTextOverlay/index.js +2 -2
- package/dist/cjs/biz-components/ImageTextOverlay/index.js.map +3 -3
- package/dist/cjs/biz-components/ImageWithText/ImageWithText.d.ts +1 -1
- package/dist/cjs/biz-components/ImageWithText/ImageWithText.js +1 -1
- package/dist/cjs/biz-components/ImageWithText/ImageWithText.js.map +3 -3
- package/dist/cjs/biz-components/Ksp/index.d.ts +1 -1
- package/dist/cjs/biz-components/Ksp/index.js +1 -1
- package/dist/cjs/biz-components/Ksp/index.js.map +3 -3
- package/dist/cjs/biz-components/Listing/BizProductProvider.d.ts +3 -1
- package/dist/cjs/biz-components/Listing/BizProductProvider.js +1 -1
- package/dist/cjs/biz-components/Listing/BizProductProvider.js.map +3 -3
- package/dist/cjs/biz-components/Listing/components/CartActionButtons/index.d.ts +9 -1
- package/dist/cjs/biz-components/Listing/components/CartActionButtons/index.js +1 -1
- package/dist/cjs/biz-components/Listing/components/CartActionButtons/index.js.map +3 -3
- package/dist/cjs/biz-components/Listing/components/PaidShipping/index.d.ts +1 -1
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.d.ts +1 -1
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.d.ts +1 -1
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.d.ts +1 -1
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.d.ts +1 -1
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.d.ts +1 -1
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.d.ts +1 -1
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/index.d.ts +1 -1
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductPaidShipping/index.d.ts +1 -1
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductSummary/index.d.ts +1 -1
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductSummary/index.js +1 -1
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductSummary/index.js.map +3 -3
- package/dist/cjs/biz-components/Listing/components/PurchaseBar/ProductActions/index.js +1 -1
- package/dist/cjs/biz-components/Listing/components/PurchaseBar/ProductActions/index.js.map +3 -3
- package/dist/cjs/biz-components/Listing/components/PurchaseBar/index.d.ts +1 -1
- package/dist/cjs/biz-components/LotteryShared/ErrorModal.d.ts +4 -0
- package/dist/cjs/biz-components/LotteryShared/ErrorModal.js.map +2 -2
- package/dist/cjs/biz-components/LotteryShared/MyRewardsModal.d.ts +13 -13
- package/dist/cjs/biz-components/LotteryShared/MyRewardsModal.js +1 -1
- package/dist/cjs/biz-components/LotteryShared/MyRewardsModal.js.map +3 -3
- package/dist/cjs/biz-components/LotteryShared/types.d.ts +9 -0
- package/dist/cjs/biz-components/LotteryShared/types.js.map +2 -2
- package/dist/cjs/biz-components/Marquee/Marquee.d.ts +1 -1
- package/dist/cjs/biz-components/MarqueeReview/index.d.ts +1 -1
- package/dist/cjs/biz-components/Media/index.js +1 -1
- package/dist/cjs/biz-components/Media/index.js.map +3 -3
- package/dist/cjs/biz-components/MediaEndorsement/index.d.ts +1 -1
- package/dist/cjs/biz-components/MediaEndorsement/index.js +2 -2
- package/dist/cjs/biz-components/MediaEndorsement/index.js.map +3 -3
- package/dist/cjs/biz-components/MediaPlayerBase/index.d.ts +1 -1
- package/dist/cjs/biz-components/MediaPlayerBase/index.js +1 -1
- package/dist/cjs/biz-components/MediaPlayerBase/index.js.map +3 -3
- package/dist/cjs/biz-components/MediaPlayerMulti/index.d.ts +1 -1
- package/dist/cjs/biz-components/MediaPlayerMulti/index.js +1 -1
- package/dist/cjs/biz-components/MediaPlayerMulti/index.js.map +3 -3
- package/dist/cjs/biz-components/MediaPlayerSticky/index.d.ts +1 -1
- package/dist/cjs/biz-components/MediaPlayerSticky/index.js +1 -1
- package/dist/cjs/biz-components/MediaPlayerSticky/index.js.map +3 -3
- package/dist/cjs/biz-components/MediaSceneSwitcher/MediaSceneSwitcher.d.ts +1 -1
- package/dist/cjs/biz-components/MediaSceneSwitcher/MediaSceneSwitcher.js +2 -2
- package/dist/cjs/biz-components/MediaSceneSwitcher/MediaSceneSwitcher.js.map +3 -3
- package/dist/cjs/biz-components/MediaSceneSwitcherV2/index.d.ts +1 -1
- package/dist/cjs/biz-components/MediaSceneSwitcherV2/index.js +1 -1
- package/dist/cjs/biz-components/MediaSceneSwitcherV2/index.js.map +3 -3
- package/dist/cjs/biz-components/MediaShelf/index.d.ts +1 -1
- package/dist/cjs/biz-components/MediaTextOverlay/MediaTextOverlay.d.ts +1 -1
- package/dist/cjs/biz-components/MediaTextOverlay/MediaTextOverlay.js +1 -1
- package/dist/cjs/biz-components/MediaTextOverlay/MediaTextOverlay.js.map +3 -3
- package/dist/cjs/biz-components/MemberEquity/index.d.ts +1 -1
- package/dist/cjs/biz-components/MemberEquity/index.js +2 -2
- package/dist/cjs/biz-components/MemberEquity/index.js.map +3 -3
- package/dist/cjs/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.d.ts +2 -2
- package/dist/cjs/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js +1 -1
- package/dist/cjs/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js.map +3 -3
- package/dist/cjs/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlockCarousel.js +1 -1
- package/dist/cjs/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlockCarousel.js.map +2 -2
- package/dist/cjs/biz-components/NavigationSearch/index.d.ts +1 -1
- package/dist/cjs/biz-components/NavigationSearch/index.js +2 -2
- package/dist/cjs/biz-components/NavigationSearch/index.js.map +2 -2
- package/dist/cjs/biz-components/NotifyMeDialog/NotifyMeDialog.d.ts +7 -0
- package/dist/cjs/biz-components/NotifyMeDialog/NotifyMeDialog.js +2 -0
- package/dist/cjs/biz-components/NotifyMeDialog/NotifyMeDialog.js.map +7 -0
- package/dist/cjs/biz-components/NotifyMeDialog/index.d.ts +2 -0
- package/dist/cjs/biz-components/NotifyMeDialog/index.js +2 -0
- package/dist/cjs/biz-components/NotifyMeDialog/index.js.map +7 -0
- package/dist/cjs/biz-components/NotifyMeDialog/types.d.ts +111 -0
- package/dist/cjs/biz-components/NotifyMeDialog/types.js +2 -0
- package/dist/cjs/biz-components/NotifyMeDialog/types.js.map +7 -0
- package/dist/cjs/biz-components/ProductCompare/index.d.ts +1 -1
- package/dist/cjs/biz-components/ProductCompare/index.js +1 -1
- package/dist/cjs/biz-components/ProductCompare/index.js.map +2 -2
- package/dist/cjs/biz-components/ProductHero/ProductHero.d.ts +1 -1
- package/dist/cjs/biz-components/ProductHero/ProductHero.js +1 -1
- package/dist/cjs/biz-components/ProductHero/ProductHero.js.map +3 -3
- package/dist/cjs/biz-components/ProductLottery/types.d.ts +62 -5
- package/dist/cjs/biz-components/ProductLottery/types.js +1 -1
- package/dist/cjs/biz-components/ProductLottery/types.js.map +2 -2
- package/dist/cjs/biz-components/ProductNav/ProductNav.d.ts +1 -1
- package/dist/cjs/biz-components/ProductNav/ProductNav.js +1 -1
- package/dist/cjs/biz-components/ProductNav/ProductNav.js.map +3 -3
- package/dist/cjs/biz-components/PromotionalBar/index.d.ts +1 -1
- package/dist/cjs/biz-components/PromotionalBar/index.js +1 -1
- package/dist/cjs/biz-components/PromotionalBar/index.js.map +3 -3
- package/dist/cjs/biz-components/SceneShelfV2/index.d.ts +1 -1
- package/dist/cjs/biz-components/SceneShelfV3/index.d.ts +1 -1
- package/dist/cjs/biz-components/SearchPage/index.js +1 -1
- package/dist/cjs/biz-components/SearchPage/index.js.map +3 -3
- package/dist/cjs/biz-components/SecondaryBanner/index.d.ts +1 -1
- package/dist/cjs/biz-components/SecondaryBanner/index.js +1 -1
- package/dist/cjs/biz-components/SecondaryBanner/index.js.map +2 -2
- package/dist/cjs/biz-components/SelectStore/index.d.ts +1 -1
- package/dist/cjs/biz-components/ShelfDisplay/index.d.ts +1 -1
- package/dist/cjs/biz-components/ShelfDisplay/shelfDisplayItem.js +1 -1
- package/dist/cjs/biz-components/ShelfDisplay/shelfDisplayItem.js.map +3 -3
- package/dist/cjs/biz-components/Slogan/index.d.ts +1 -1
- package/dist/cjs/biz-components/Spacer/index.d.ts +1 -1
- package/dist/cjs/biz-components/Specs/index.d.ts +1 -1
- package/dist/cjs/biz-components/Specs/index.js +1 -1
- package/dist/cjs/biz-components/Specs/index.js.map +3 -3
- package/dist/cjs/biz-components/SpecsComparison/SpecsComparison.d.ts +1 -1
- package/dist/cjs/biz-components/Subscribe/index.js +1 -1
- package/dist/cjs/biz-components/Subscribe/index.js.map +2 -2
- package/dist/cjs/biz-components/SwiperBox/index.js +1 -1
- package/dist/cjs/biz-components/SwiperBox/index.js.map +3 -3
- package/dist/cjs/biz-components/TabWithImage/TabWithImage.d.ts +1 -1
- package/dist/cjs/biz-components/Tabs/Tabs.d.ts +1 -1
- package/dist/cjs/biz-components/TabsGroup/index.d.ts +1 -1
- package/dist/cjs/biz-components/TabsWithMedia/TabsWithMedia.d.ts +1 -1
- package/dist/cjs/biz-components/TabsWithMedia/TabsWithMedia.js +1 -1
- package/dist/cjs/biz-components/TabsWithMedia/TabsWithMedia.js.map +3 -3
- package/dist/cjs/biz-components/ThreeDCarousel/ThreeDCarousel.d.ts +1 -1
- package/dist/cjs/biz-components/ThreeDCarousel/ThreeDCarousel.js +1 -1
- package/dist/cjs/biz-components/ThreeDCarousel/ThreeDCarousel.js.map +3 -3
- package/dist/cjs/biz-components/Title/index.d.ts +1 -1
- 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/VideoFeature/VideoFeature.d.ts +1 -1
- package/dist/cjs/biz-components/VideoModal/index.d.ts +1 -0
- package/dist/cjs/biz-components/VideoModal/index.js +1 -1
- package/dist/cjs/biz-components/VideoModal/index.js.map +3 -3
- package/dist/cjs/biz-components/WheelLottery/index.js +1 -1
- package/dist/cjs/biz-components/WheelLottery/index.js.map +3 -3
- package/dist/cjs/biz-components/WhyChoose/WhyChoose.d.ts +1 -1
- package/dist/cjs/biz-components/index.d.ts +8 -0
- package/dist/cjs/biz-components/index.js +1 -1
- package/dist/cjs/biz-components/index.js.map +3 -3
- package/dist/cjs/components/Countdown.js +1 -1
- package/dist/cjs/components/Countdown.js.map +3 -3
- package/dist/cjs/components/alert.d.ts +1 -0
- package/dist/cjs/components/alert.js +1 -1
- package/dist/cjs/components/alert.js.map +2 -2
- package/dist/cjs/components/breadcrumb.d.ts +12 -0
- package/dist/cjs/components/breadcrumb.js +2 -0
- package/dist/cjs/components/breadcrumb.js.map +7 -0
- package/dist/cjs/components/checkbox.js +1 -1
- package/dist/cjs/components/checkbox.js.map +2 -2
- package/dist/cjs/components/dialog.js +1 -1
- package/dist/cjs/components/dialog.js.map +3 -3
- package/dist/cjs/components/index.d.ts +5 -0
- package/dist/cjs/components/index.js +1 -1
- package/dist/cjs/components/index.js.map +3 -3
- package/dist/cjs/components/input-number.d.ts +22 -0
- package/dist/cjs/components/input-number.js +1 -1
- package/dist/cjs/components/input-number.js.map +3 -3
- package/dist/cjs/components/link.js +1 -1
- package/dist/cjs/components/link.js.map +2 -2
- package/dist/cjs/components/otp-input.d.ts +18 -0
- package/dist/cjs/components/otp-input.js +2 -0
- package/dist/cjs/components/otp-input.js.map +7 -0
- package/dist/cjs/components/toast.d.ts +25 -0
- package/dist/cjs/components/toast.js +2 -0
- package/dist/cjs/components/toast.js.map +7 -0
- package/dist/cjs/helpers/index.d.ts +2 -2
- package/dist/cjs/helpers/index.js +1 -1
- package/dist/cjs/helpers/index.js.map +2 -2
- package/dist/cjs/helpers/isLexicalEmpty.d.ts +5 -0
- package/dist/cjs/helpers/isLexicalEmpty.js +1 -1
- package/dist/cjs/helpers/isLexicalEmpty.js.map +3 -3
- package/dist/cjs/helpers/priceFormatting.d.ts +5 -0
- package/dist/cjs/helpers/priceFormatting.js +1 -1
- package/dist/cjs/helpers/priceFormatting.js.map +3 -3
- package/dist/cjs/helpers/utils.d.ts +7 -1
- package/dist/cjs/helpers/utils.js +1 -1
- package/dist/cjs/helpers/utils.js.map +3 -3
- package/dist/cjs/hooks/useIsomorphicMediaQuery.d.ts +14 -0
- package/dist/cjs/hooks/useIsomorphicMediaQuery.js +2 -0
- package/dist/cjs/hooks/useIsomorphicMediaQuery.js.map +7 -0
- package/dist/cjs/hooks/useProductListTrack.d.ts +43 -0
- package/dist/cjs/hooks/useProductListTrack.js +2 -0
- package/dist/cjs/hooks/useProductListTrack.js.map +7 -0
- package/dist/cjs/index.d.ts +10 -0
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/index.js.map +3 -3
- package/dist/esm/biz-components/AccessoriesShelf/components/AccessoriesProductGrid/index.d.ts +11 -0
- package/dist/esm/biz-components/AccessoriesShelf/components/AccessoriesProductGrid/index.js +2 -0
- package/dist/esm/biz-components/AccessoriesShelf/components/AccessoriesProductGrid/index.js.map +7 -0
- package/dist/esm/biz-components/AccessoriesShelf/components/AccessoryShelf/ProductCard.d.ts +23 -0
- package/dist/esm/biz-components/AccessoriesShelf/components/AccessoryShelf/ProductCard.js +2 -0
- package/dist/esm/biz-components/AccessoriesShelf/components/AccessoryShelf/ProductCard.js.map +7 -0
- package/dist/esm/biz-components/AccessoriesShelf/components/AccessoryShelf/index.d.ts +40 -0
- package/dist/esm/biz-components/AccessoriesShelf/components/AccessoryShelf/index.js +2 -0
- package/dist/esm/biz-components/AccessoriesShelf/components/AccessoryShelf/index.js.map +7 -0
- package/dist/esm/biz-components/AccessoriesShelf/components/AccessoryShelf/types.d.ts +103 -0
- package/dist/esm/biz-components/AccessoriesShelf/components/AccessoryShelf/types.js +1 -0
- package/dist/esm/biz-components/AccessoriesShelf/components/AccessoryShelf/types.js.map +7 -0
- package/dist/esm/biz-components/AccessoriesShelf/components/MainProductArea/index.d.ts +27 -0
- package/dist/esm/biz-components/AccessoriesShelf/components/MainProductArea/index.js +2 -0
- package/dist/esm/biz-components/AccessoriesShelf/components/MainProductArea/index.js.map +7 -0
- package/dist/esm/biz-components/AccessoriesShelf/components/ProductGrid/index.d.ts +11 -0
- package/dist/esm/biz-components/AccessoriesShelf/components/ProductGrid/index.js +2 -0
- package/dist/esm/biz-components/AccessoriesShelf/components/ProductGrid/index.js.map +7 -0
- package/dist/esm/biz-components/AccessoriesShelf/components/PromoBanner/index.d.ts +10 -0
- package/dist/esm/biz-components/AccessoriesShelf/components/PromoBanner/index.js +2 -0
- package/dist/esm/biz-components/AccessoriesShelf/components/PromoBanner/index.js.map +7 -0
- package/dist/esm/biz-components/AccessoriesShelf/components/SectionHeader/index.d.ts +9 -0
- package/dist/esm/biz-components/AccessoriesShelf/components/SectionHeader/index.js +2 -0
- package/dist/esm/biz-components/AccessoriesShelf/components/SectionHeader/index.js.map +7 -0
- package/dist/esm/biz-components/AccessoriesShelf/index.d.ts +8 -0
- package/dist/esm/biz-components/AccessoriesShelf/index.js +2 -0
- package/dist/esm/biz-components/AccessoriesShelf/index.js.map +7 -0
- package/dist/esm/biz-components/AccessoriesShelf/product.d.ts +280 -0
- package/dist/esm/biz-components/AccessoriesShelf/product.js +1 -0
- package/dist/esm/biz-components/AccessoriesShelf/product.js.map +7 -0
- package/dist/esm/biz-components/AccessoriesShelf/types.d.ts +43 -0
- package/dist/esm/biz-components/AccessoriesShelf/types.js +1 -0
- package/dist/esm/biz-components/AccessoriesShelf/types.js.map +7 -0
- package/dist/esm/biz-components/AccordionCards/index.d.ts +1 -1
- package/dist/esm/biz-components/ActiveShelf/index.d.ts +1 -1
- package/dist/esm/biz-components/ActivityMechanism/index.js +1 -1
- package/dist/esm/biz-components/ActivityMechanism/index.js.map +3 -3
- package/dist/esm/biz-components/ActivitySchedule/index.d.ts +1 -1
- package/dist/esm/biz-components/ActivitySchedule/index.js +1 -1
- package/dist/esm/biz-components/ActivitySchedule/index.js.map +3 -3
- package/dist/esm/biz-components/AiuiProvider/index.d.ts +6 -0
- package/dist/esm/biz-components/AiuiProvider/index.js +1 -1
- package/dist/esm/biz-components/AiuiProvider/index.js.map +3 -3
- package/dist/esm/biz-components/AnchorNavigation/index.d.ts +1 -1
- package/dist/esm/biz-components/AnchorNavigation/index.js +1 -1
- package/dist/esm/biz-components/AnchorNavigation/index.js.map +3 -3
- package/dist/esm/biz-components/AplusDesc/index.d.ts +1 -1
- package/dist/esm/biz-components/BrandCardLink/BrandCardLink.d.ts +1 -1
- package/dist/esm/biz-components/BrandCardLink/BrandCardLink.js +1 -1
- package/dist/esm/biz-components/BrandCardLink/BrandCardLink.js.map +3 -3
- package/dist/esm/biz-components/BrandEquity/BrandEquity.d.ts +1 -1
- 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/BuyOneGetOneShelf/ProductCard.d.ts +1 -1
- package/dist/esm/biz-components/BuyOneGetOneShelf/ProductCard.js +1 -1
- package/dist/esm/biz-components/BuyOneGetOneShelf/ProductCard.js.map +3 -3
- package/dist/esm/biz-components/BuyOneGetOneShelf/context.d.ts +4 -0
- package/dist/esm/biz-components/BuyOneGetOneShelf/context.js +2 -0
- package/dist/esm/biz-components/BuyOneGetOneShelf/context.js.map +7 -0
- package/dist/esm/biz-components/BuyOneGetOneShelf/types.d.ts +1 -1
- package/dist/esm/biz-components/BuyOneGetOneShelf/types.js.map +1 -1
- package/dist/esm/biz-components/Category/SwiperCategory.js +1 -1
- package/dist/esm/biz-components/Category/SwiperCategory.js.map +3 -3
- package/dist/esm/biz-components/Category/index.d.ts +1 -1
- package/dist/esm/biz-components/Category/index.js +1 -1
- package/dist/esm/biz-components/Category/index.js.map +3 -3
- package/dist/esm/biz-components/CreativeModule/index.d.ts +1 -1
- package/dist/esm/biz-components/DownLoad/index.d.ts +1 -1
- package/dist/esm/biz-components/Evaluate/index.d.ts +1 -1
- 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 +1 -1
- package/dist/esm/biz-components/EventSchedule/index.js +1 -1
- package/dist/esm/biz-components/EventSchedule/index.js.map +3 -3
- package/dist/esm/biz-components/Faq/Faq.d.ts +1 -1
- package/dist/esm/biz-components/FeatureCards/FeatureCards.d.ts +1 -1
- package/dist/esm/biz-components/FeatureCards/FeatureCards.js +1 -1
- package/dist/esm/biz-components/FeatureCards/FeatureCards.js.map +3 -3
- package/dist/esm/biz-components/FeatureShowcase/FeatureShowcase.d.ts +1 -1
- package/dist/esm/biz-components/FeaturedBlogPosts/index.d.ts +1 -1
- package/dist/esm/biz-components/FeaturedBlogPosts/index.js +1 -1
- package/dist/esm/biz-components/FeaturedBlogPosts/index.js.map +2 -2
- package/dist/esm/biz-components/Features/index.d.ts +1 -1
- package/dist/esm/biz-components/FootCharger/index.d.ts +1 -1
- package/dist/esm/biz-components/FooterNavigation/index.d.ts +1 -1
- package/dist/esm/biz-components/FooterNavigation/index.js +1 -1
- package/dist/esm/biz-components/FooterNavigation/index.js.map +3 -3
- package/dist/esm/biz-components/GiftBox/index.d.ts +1 -1
- package/dist/esm/biz-components/GiftShelf/index.d.ts +1 -1
- package/dist/esm/biz-components/GiftShelf/index.js +1 -1
- package/dist/esm/biz-components/GiftShelf/index.js.map +2 -2
- package/dist/esm/biz-components/GiftTierShelf/index.d.ts +1 -1
- package/dist/esm/biz-components/Graphic/index.d.ts +1 -1
- 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 +1 -1
- package/dist/esm/biz-components/GraphicOverlay/GraphicOverlay.d.ts +2 -2
- package/dist/esm/biz-components/GraphicOverlay/GraphicOverlay.js +1 -1
- package/dist/esm/biz-components/GraphicOverlay/GraphicOverlay.js.map +3 -3
- package/dist/esm/biz-components/HeaderNavigation/MobileTextLinksMenu.d.ts +12 -0
- package/dist/esm/biz-components/HeaderNavigation/MobileTextLinksMenu.js +2 -0
- package/dist/esm/biz-components/HeaderNavigation/MobileTextLinksMenu.js.map +7 -0
- package/dist/esm/biz-components/HeaderNavigation/MulticolDropdown.js +1 -1
- package/dist/esm/biz-components/HeaderNavigation/MulticolDropdown.js.map +2 -2
- package/dist/esm/biz-components/HeaderNavigation/TextLinksDropdown.d.ts +10 -0
- package/dist/esm/biz-components/HeaderNavigation/TextLinksDropdown.js +2 -0
- package/dist/esm/biz-components/HeaderNavigation/TextLinksDropdown.js.map +7 -0
- package/dist/esm/biz-components/HeaderNavigation/index.d.ts +1 -1
- package/dist/esm/biz-components/HeaderNavigation/index.js +1 -1
- package/dist/esm/biz-components/HeaderNavigation/index.js.map +3 -3
- package/dist/esm/biz-components/HeaderNavigation/types.d.ts +11 -1
- package/dist/esm/biz-components/HeaderNavigation/types.js +1 -1
- package/dist/esm/biz-components/HeaderNavigation/types.js.map +2 -2
- package/dist/esm/biz-components/HeaderNavigation/withCategory.d.ts +1 -0
- package/dist/esm/biz-components/HeaderNavigation/withCategory.js +1 -1
- package/dist/esm/biz-components/HeaderNavigation/withCategory.js.map +3 -3
- package/dist/esm/biz-components/HeroBanner/HeroBanner.d.ts +1 -1
- package/dist/esm/biz-components/HeroBanner/HeroBanner.js +1 -1
- package/dist/esm/biz-components/HeroBanner/HeroBanner.js.map +3 -3
- package/dist/esm/biz-components/HeroBanner/HeroBannerCarousel.js +1 -1
- package/dist/esm/biz-components/HeroBanner/HeroBannerCarousel.js.map +3 -3
- package/dist/esm/biz-components/ImageOverlayShelf/index.d.ts +1 -1
- package/dist/esm/biz-components/ImageTextFeature/ImageTextFeature.d.ts +1 -1
- package/dist/esm/biz-components/ImageTextOverlay/index.d.ts +1 -1
- package/dist/esm/biz-components/ImageTextOverlay/index.js +2 -2
- package/dist/esm/biz-components/ImageTextOverlay/index.js.map +3 -3
- package/dist/esm/biz-components/ImageWithText/ImageWithText.d.ts +1 -1
- package/dist/esm/biz-components/ImageWithText/ImageWithText.js +1 -1
- package/dist/esm/biz-components/ImageWithText/ImageWithText.js.map +3 -3
- package/dist/esm/biz-components/Ksp/index.d.ts +1 -1
- package/dist/esm/biz-components/Ksp/index.js +1 -1
- package/dist/esm/biz-components/Ksp/index.js.map +3 -3
- package/dist/esm/biz-components/Listing/BizProductProvider.d.ts +3 -1
- package/dist/esm/biz-components/Listing/BizProductProvider.js +1 -1
- package/dist/esm/biz-components/Listing/BizProductProvider.js.map +3 -3
- package/dist/esm/biz-components/Listing/components/CartActionButtons/index.d.ts +9 -1
- package/dist/esm/biz-components/Listing/components/CartActionButtons/index.js +1 -1
- package/dist/esm/biz-components/Listing/components/CartActionButtons/index.js.map +3 -3
- package/dist/esm/biz-components/Listing/components/PaidShipping/index.d.ts +1 -1
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.d.ts +1 -1
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.d.ts +1 -1
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.d.ts +1 -1
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.d.ts +1 -1
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.d.ts +1 -1
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.d.ts +1 -1
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/index.d.ts +1 -1
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductPaidShipping/index.d.ts +1 -1
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductSummary/index.d.ts +1 -1
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductSummary/index.js +1 -1
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductSummary/index.js.map +3 -3
- package/dist/esm/biz-components/Listing/components/PurchaseBar/ProductActions/index.js +1 -1
- package/dist/esm/biz-components/Listing/components/PurchaseBar/ProductActions/index.js.map +3 -3
- package/dist/esm/biz-components/Listing/components/PurchaseBar/index.d.ts +1 -1
- package/dist/esm/biz-components/LotteryShared/ErrorModal.d.ts +4 -0
- package/dist/esm/biz-components/LotteryShared/ErrorModal.js.map +2 -2
- package/dist/esm/biz-components/LotteryShared/MyRewardsModal.d.ts +13 -13
- package/dist/esm/biz-components/LotteryShared/MyRewardsModal.js +1 -1
- package/dist/esm/biz-components/LotteryShared/MyRewardsModal.js.map +3 -3
- package/dist/esm/biz-components/LotteryShared/types.d.ts +9 -0
- package/dist/esm/biz-components/LotteryShared/types.js.map +2 -2
- package/dist/esm/biz-components/Marquee/Marquee.d.ts +1 -1
- package/dist/esm/biz-components/MarqueeReview/index.d.ts +1 -1
- package/dist/esm/biz-components/Media/index.js +1 -1
- package/dist/esm/biz-components/Media/index.js.map +3 -3
- package/dist/esm/biz-components/MediaEndorsement/index.d.ts +1 -1
- package/dist/esm/biz-components/MediaEndorsement/index.js +2 -2
- package/dist/esm/biz-components/MediaEndorsement/index.js.map +3 -3
- package/dist/esm/biz-components/MediaPlayerBase/index.d.ts +1 -1
- package/dist/esm/biz-components/MediaPlayerBase/index.js +1 -1
- package/dist/esm/biz-components/MediaPlayerBase/index.js.map +3 -3
- package/dist/esm/biz-components/MediaPlayerMulti/index.d.ts +1 -1
- package/dist/esm/biz-components/MediaPlayerMulti/index.js +1 -1
- package/dist/esm/biz-components/MediaPlayerMulti/index.js.map +3 -3
- package/dist/esm/biz-components/MediaPlayerSticky/index.d.ts +1 -1
- package/dist/esm/biz-components/MediaPlayerSticky/index.js +1 -1
- package/dist/esm/biz-components/MediaPlayerSticky/index.js.map +3 -3
- package/dist/esm/biz-components/MediaSceneSwitcher/MediaSceneSwitcher.d.ts +1 -1
- package/dist/esm/biz-components/MediaSceneSwitcher/MediaSceneSwitcher.js +2 -2
- package/dist/esm/biz-components/MediaSceneSwitcher/MediaSceneSwitcher.js.map +3 -3
- package/dist/esm/biz-components/MediaSceneSwitcherV2/index.d.ts +1 -1
- package/dist/esm/biz-components/MediaSceneSwitcherV2/index.js +1 -1
- package/dist/esm/biz-components/MediaSceneSwitcherV2/index.js.map +3 -3
- package/dist/esm/biz-components/MediaShelf/index.d.ts +1 -1
- package/dist/esm/biz-components/MediaTextOverlay/MediaTextOverlay.d.ts +1 -1
- package/dist/esm/biz-components/MediaTextOverlay/MediaTextOverlay.js +1 -1
- package/dist/esm/biz-components/MediaTextOverlay/MediaTextOverlay.js.map +3 -3
- package/dist/esm/biz-components/MemberEquity/index.d.ts +1 -1
- package/dist/esm/biz-components/MemberEquity/index.js +2 -2
- package/dist/esm/biz-components/MemberEquity/index.js.map +3 -3
- package/dist/esm/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.d.ts +2 -2
- package/dist/esm/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js +1 -1
- package/dist/esm/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js.map +3 -3
- package/dist/esm/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlockCarousel.js +1 -1
- package/dist/esm/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlockCarousel.js.map +2 -2
- package/dist/esm/biz-components/NavigationSearch/index.d.ts +1 -1
- package/dist/esm/biz-components/NavigationSearch/index.js +2 -2
- package/dist/esm/biz-components/NavigationSearch/index.js.map +3 -3
- package/dist/esm/biz-components/NotifyMeDialog/NotifyMeDialog.d.ts +7 -0
- package/dist/esm/biz-components/NotifyMeDialog/NotifyMeDialog.js +2 -0
- package/dist/esm/biz-components/NotifyMeDialog/NotifyMeDialog.js.map +7 -0
- package/dist/esm/biz-components/NotifyMeDialog/index.d.ts +2 -0
- package/dist/esm/biz-components/NotifyMeDialog/index.js +2 -0
- package/dist/esm/biz-components/NotifyMeDialog/index.js.map +7 -0
- package/dist/esm/biz-components/NotifyMeDialog/types.d.ts +111 -0
- package/dist/esm/biz-components/NotifyMeDialog/types.js +1 -0
- package/dist/esm/biz-components/NotifyMeDialog/types.js.map +7 -0
- package/dist/esm/biz-components/ProductCompare/index.d.ts +1 -1
- package/dist/esm/biz-components/ProductCompare/index.js +1 -1
- package/dist/esm/biz-components/ProductCompare/index.js.map +2 -2
- package/dist/esm/biz-components/ProductHero/ProductHero.d.ts +1 -1
- package/dist/esm/biz-components/ProductHero/ProductHero.js +1 -1
- package/dist/esm/biz-components/ProductHero/ProductHero.js.map +3 -3
- package/dist/esm/biz-components/ProductLottery/types.d.ts +62 -5
- package/dist/esm/biz-components/ProductLottery/types.js.map +2 -2
- package/dist/esm/biz-components/ProductNav/ProductNav.d.ts +1 -1
- package/dist/esm/biz-components/ProductNav/ProductNav.js +1 -1
- package/dist/esm/biz-components/ProductNav/ProductNav.js.map +3 -3
- package/dist/esm/biz-components/PromotionalBar/index.d.ts +1 -1
- package/dist/esm/biz-components/PromotionalBar/index.js +1 -1
- package/dist/esm/biz-components/PromotionalBar/index.js.map +3 -3
- package/dist/esm/biz-components/SceneShelfV2/index.d.ts +1 -1
- package/dist/esm/biz-components/SceneShelfV3/index.d.ts +1 -1
- package/dist/esm/biz-components/SearchPage/index.js +1 -1
- package/dist/esm/biz-components/SearchPage/index.js.map +3 -3
- package/dist/esm/biz-components/SecondaryBanner/index.d.ts +1 -1
- package/dist/esm/biz-components/SecondaryBanner/index.js +1 -1
- package/dist/esm/biz-components/SecondaryBanner/index.js.map +2 -2
- package/dist/esm/biz-components/SelectStore/index.d.ts +1 -1
- package/dist/esm/biz-components/ShelfDisplay/index.d.ts +1 -1
- package/dist/esm/biz-components/ShelfDisplay/shelfDisplayItem.js +1 -1
- package/dist/esm/biz-components/ShelfDisplay/shelfDisplayItem.js.map +3 -3
- package/dist/esm/biz-components/Slogan/index.d.ts +1 -1
- package/dist/esm/biz-components/Spacer/index.d.ts +1 -1
- package/dist/esm/biz-components/Specs/index.d.ts +1 -1
- package/dist/esm/biz-components/Specs/index.js +1 -1
- package/dist/esm/biz-components/Specs/index.js.map +3 -3
- package/dist/esm/biz-components/SpecsComparison/SpecsComparison.d.ts +1 -1
- package/dist/esm/biz-components/Subscribe/index.js +1 -1
- package/dist/esm/biz-components/Subscribe/index.js.map +2 -2
- package/dist/esm/biz-components/SwiperBox/index.js +1 -1
- package/dist/esm/biz-components/SwiperBox/index.js.map +3 -3
- package/dist/esm/biz-components/TabWithImage/TabWithImage.d.ts +1 -1
- package/dist/esm/biz-components/Tabs/Tabs.d.ts +1 -1
- package/dist/esm/biz-components/TabsGroup/index.d.ts +1 -1
- package/dist/esm/biz-components/TabsWithMedia/TabsWithMedia.d.ts +1 -1
- package/dist/esm/biz-components/TabsWithMedia/TabsWithMedia.js +1 -1
- package/dist/esm/biz-components/TabsWithMedia/TabsWithMedia.js.map +3 -3
- package/dist/esm/biz-components/ThreeDCarousel/ThreeDCarousel.d.ts +1 -1
- package/dist/esm/biz-components/ThreeDCarousel/ThreeDCarousel.js +1 -1
- package/dist/esm/biz-components/ThreeDCarousel/ThreeDCarousel.js.map +3 -3
- package/dist/esm/biz-components/Title/index.d.ts +1 -1
- 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/VideoFeature/VideoFeature.d.ts +1 -1
- package/dist/esm/biz-components/VideoModal/index.d.ts +1 -0
- package/dist/esm/biz-components/VideoModal/index.js +1 -1
- package/dist/esm/biz-components/VideoModal/index.js.map +3 -3
- package/dist/esm/biz-components/WheelLottery/index.js +1 -1
- package/dist/esm/biz-components/WheelLottery/index.js.map +2 -2
- package/dist/esm/biz-components/WhyChoose/WhyChoose.d.ts +1 -1
- package/dist/esm/biz-components/index.d.ts +8 -0
- package/dist/esm/biz-components/index.js +1 -1
- package/dist/esm/biz-components/index.js.map +3 -3
- package/dist/esm/components/Countdown.js +1 -1
- package/dist/esm/components/Countdown.js.map +3 -3
- package/dist/esm/components/alert.d.ts +1 -0
- package/dist/esm/components/alert.js +1 -1
- package/dist/esm/components/alert.js.map +2 -2
- package/dist/esm/components/breadcrumb.d.ts +12 -0
- package/dist/esm/components/breadcrumb.js +2 -0
- package/dist/esm/components/breadcrumb.js.map +7 -0
- package/dist/esm/components/checkbox.js +1 -1
- package/dist/esm/components/checkbox.js.map +2 -2
- package/dist/esm/components/dialog.js +1 -1
- package/dist/esm/components/dialog.js.map +3 -3
- package/dist/esm/components/index.d.ts +5 -0
- package/dist/esm/components/index.js +1 -1
- package/dist/esm/components/index.js.map +3 -3
- package/dist/esm/components/input-number.d.ts +22 -0
- package/dist/esm/components/input-number.js +1 -1
- package/dist/esm/components/input-number.js.map +3 -3
- package/dist/esm/components/link.js +1 -1
- package/dist/esm/components/link.js.map +2 -2
- package/dist/esm/components/otp-input.d.ts +18 -0
- package/dist/esm/components/otp-input.js +2 -0
- package/dist/esm/components/otp-input.js.map +7 -0
- package/dist/esm/components/toast.d.ts +25 -0
- package/dist/esm/components/toast.js +2 -0
- package/dist/esm/components/toast.js.map +7 -0
- package/dist/esm/helpers/index.d.ts +2 -2
- package/dist/esm/helpers/index.js +1 -1
- package/dist/esm/helpers/index.js.map +3 -3
- package/dist/esm/helpers/isLexicalEmpty.d.ts +5 -0
- package/dist/esm/helpers/isLexicalEmpty.js +1 -1
- package/dist/esm/helpers/isLexicalEmpty.js.map +3 -3
- package/dist/esm/helpers/priceFormatting.d.ts +5 -0
- package/dist/esm/helpers/priceFormatting.js +1 -1
- package/dist/esm/helpers/priceFormatting.js.map +3 -3
- package/dist/esm/helpers/utils.d.ts +7 -1
- package/dist/esm/helpers/utils.js +1 -1
- package/dist/esm/helpers/utils.js.map +3 -3
- package/dist/esm/hooks/useIsomorphicMediaQuery.d.ts +14 -0
- package/dist/esm/hooks/useIsomorphicMediaQuery.js +2 -0
- package/dist/esm/hooks/useIsomorphicMediaQuery.js.map +7 -0
- package/dist/esm/hooks/useProductListTrack.d.ts +43 -0
- package/dist/esm/hooks/useProductListTrack.js +2 -0
- package/dist/esm/hooks/useProductListTrack.js.map +7 -0
- package/dist/esm/index.d.ts +10 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +3 -3
- package/package.json +1 -1
- package/style.css +208 -10
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/biz-components/WheelLottery/index.tsx"],
|
|
4
|
-
"sourcesContent": ["/**\n * WheelLottery - \u5927\u8F6C\u76D8\u62BD\u5956\u7EC4\u4EF6\n *\n * \u7528\u4E8E\u8425\u9500\u6D3B\u52A8\u7684\u4EA4\u4E92\u5F0F\u62BD\u5956\u8F6C\u76D8\uFF0C\u652F\u6301\u591A\u54C1\u724C\u4E3B\u9898\u548C\u54CD\u5E94\u5F0F\u5E03\u5C40\u3002\n *\n * @module WheelLottery\n * @date 2025-12-17\n */\n\n'use client'\n\nimport { useState, useCallback, useRef, useEffect, useImperativeHandle, forwardRef } from 'react'\nimport { cn } from '../../helpers/index.js'\nimport { DEFAULT_WHEEL_CONFIG, DEFAULT_CHANCE_METHODS, INITIAL_WHEEL_STATE } from './types.js'\nimport { Grid, GridItem } from '../../components/grid.js'\nimport { Wheel } from './Wheel.js'\nimport { PrizePool } from '../LotteryShared/PrizePool.js'\nimport { ChanceMethods } from '../LotteryShared/ChanceMethods.js'\nimport { WinnerModal } from '../LotteryShared/WinnerModal.js'\nimport { RulesModal } from '../LotteryShared/RulesModal.js'\nimport { MyRewardsModal } from '../LotteryShared/MyRewardsModal.js'\nimport { ErrorModal } from '../LotteryShared/ErrorModal.js'\nimport { ShareModal } from '../LotteryShared/ShareModal.js'\nimport { withLayout } from '../../shared/Styles.js'\n\nimport type { WheelLotteryProps, WheelState, WheelLotteryHandle, WinnerModalConfig } from './types.js'\n\n// ============================================================================\n// \u4E3B\u7EC4\u4EF6\n// ============================================================================\n\n/**\n * WheelLottery \u7EC4\u4EF6\n *\n * @example\n * ```tsx\n * // \u57FA\u7840\u4F7F\u7528\n * <WheelLottery\n * prizes={prizes}\n * winningPrizeId=\"prize-003\"\n * onSpinEnd={(prize) => alert(`You won ${prize.name}`)}\n * />\n *\n * // \u4F7F\u7528 ref \u63A7\u5236\u5F39\u7A97\n * const lotteryRef = useRef<WheelLotteryHandle>(null)\n *\n * <WheelLottery ref={lotteryRef} prizes={prizes} />\n *\n * // \u5916\u90E8\u89E6\u53D1\u5F39\u7A97\n * lotteryRef.current?.showError({\n * title: 'Error',\n * message: 'Something went wrong'\n * })\n * ```\n */\nexport const WheelLottery = forwardRef<WheelLotteryHandle, WheelLotteryProps>(\n (\n {\n prizes,\n theme,\n winningPrizeId,\n spinDuration = DEFAULT_WHEEL_CONFIG.spinDuration,\n wheelBackgroundImage,\n pointerImage,\n chanceMethods = DEFAULT_CHANCE_METHODS,\n chanceTitle = DEFAULT_WHEEL_CONFIG.chanceTitle,\n chanceSubtitle,\n chanceFooterNote,\n chanceMethodsText,\n mechanismType,\n inputConfig,\n winningInfos = [],\n winnerNameTemplate,\n prizesTitle,\n onSpinStart,\n onSpinEnd,\n onSpinError,\n winnerModalConfig,\n rulesModalConfig = {},\n myRewardsModalConfig = {},\n errorModalConfig = {},\n shareModalConfig = {},\n userData,\n onLoginRequired,\n onCopyCode,\n opportunitiesText = ['Number of draws remaining today:'],\n className,\n },\n ref\n ) => {\n const { rulesData, rulesText = 'Rules' } = rulesModalConfig\n const {\n rewardsData,\n myRewardsText = 'My Rewards',\n codeText = 'CODE:',\n copyText = 'COPY',\n copiedText = 'COPIED',\n prizeText = 'Prize time:',\n emptyText,\n copyError,\n availableText,\n usedStatusText,\n expiredText,\n notFoundText,\n } = myRewardsModalConfig\n const completedText = chanceMethodsText?.completedText\n const usedText = chanceMethodsText?.usedText\n const isLoggedIn = userData?.isLoggedIn ?? false\n const availableChances = userData?.availableChances ?? 0\n const isNoChancesState = isLoggedIn && availableChances <= 0\n // ==========================================================================\n // State \u7BA1\u7406\n // ==========================================================================\n\n const [wheelState, setWheelState] = useState<WheelState>(INITIAL_WHEEL_STATE)\n const [showWinnerModal, setShowWinnerModal] = useState(false)\n const [showRulesModal, setShowRulesModal] = useState(false)\n const [showRewardsModal, setShowRewardsModal] = useState(false)\n const [showErrorModal, setShowErrorModal] = useState(false)\n const [showNoWinModal, setShowNoWinModal] = useState(false)\n const [showShareModal, setShowShareModal] = useState(false)\n const [errorMessage, setErrorMessage] = useState('')\n const [errorTitle, setErrorTitle] = useState<string | undefined>()\n const [errorConfirmText, setErrorConfirmText] = useState<string | undefined>()\n const [noWinTitle, setNoWinTitle] = useState<string | undefined>()\n const [noWinMessage, setNoWinMessage] = useState<string | undefined>()\n const [noWinConfirmText, setNoWinConfirmText] = useState<string | undefined>()\n const [externalWinnerConfig, setExternalWinnerConfig] = useState<Partial<WinnerModalConfig> | undefined>()\n const animationRef = useRef<number | null>(null)\n\n // ==========================================================================\n // Imperative Handle - \u66B4\u9732\u65B9\u6CD5\u7ED9\u7236\u7EC4\u4EF6\n // ==========================================================================\n\n useImperativeHandle(\n ref,\n () => ({\n showError: ({ message, title, confirmText }) => {\n setErrorMessage(message)\n setErrorTitle(title)\n setErrorConfirmText(confirmText)\n setShowErrorModal(true)\n },\n hideError: () => {\n setShowErrorModal(false)\n },\n showNoWin: config => {\n setNoWinTitle(config?.title)\n setNoWinMessage(config?.message)\n setNoWinConfirmText(config?.confirmText)\n setShowNoWinModal(true)\n },\n hideNoWin: () => {\n setShowNoWinModal(false)\n },\n showWinner: (prize, config) => {\n setWheelState(prev => ({ ...prev, winningPrize: prize }))\n setExternalWinnerConfig(config)\n setShowWinnerModal(true)\n },\n hideWinner: () => {\n setShowWinnerModal(false)\n },\n showRules: () => {\n setShowRulesModal(true)\n },\n hideRules: () => {\n setShowRulesModal(false)\n },\n showRewards: () => {\n setShowRewardsModal(true)\n },\n hideRewards: () => {\n setShowRewardsModal(false)\n },\n showShare: () => {\n setShowShareModal(true)\n },\n hideShare: () => {\n setShowShareModal(false)\n },\n hideAllModals: () => {\n setShowWinnerModal(false)\n setShowRulesModal(false)\n setShowRewardsModal(false)\n setShowErrorModal(false)\n setShowNoWinModal(false)\n setShowShareModal(false)\n },\n }),\n []\n )\n\n // ==========================================================================\n // Props \u9A8C\u8BC1\uFF08\u5F00\u53D1\u73AF\u5883\uFF09\n // ==========================================================================\n\n useEffect(() => {\n if (process.env.NODE_ENV === 'development' && prizes) {\n if (prizes.length !== 8) {\n console.warn(\n `WheelLottery expects exactly 8 prizes, got ${prizes.length}. The component may not render correctly.`\n )\n }\n\n if (winningPrizeId && !prizes.find(p => p.prizeKey === winningPrizeId)) {\n console.warn(`WheelLottery: winningPrizeId \"${winningPrizeId}\" not found in prizes array.`)\n }\n }\n }, [prizes, winningPrizeId])\n\n // ==========================================================================\n // \u6E05\u7406\u52A8\u753B\n // ==========================================================================\n\n useEffect(() => {\n return () => {\n // \u7EC4\u4EF6\u5378\u8F7D\u65F6\u53D6\u6D88\u52A8\u753B\u5E27\n if (animationRef.current !== null) {\n cancelAnimationFrame(animationRef.current)\n }\n }\n }, [])\n\n // ==========================================================================\n // \u62BD\u5956\u903B\u8F91\n // ==========================================================================\n\n /**\n * \u5F00\u59CB\u62BD\u5956 - \u652F\u6301\u5F02\u6B65\u63A5\u53E3\u8C03\u7528\n * \u5229\u7528\u521D\u59CB\u6162\u901F\u65CB\u8F6C\uFF0C\u70B9\u51FB\u540E\u8FDB\u5165\u5FEB\u901F\u65CB\u8F6C\u72B6\u6001\uFF0C\u63A5\u53E3\u8FD4\u56DE\u540E\u51CF\u901F\u505C\u6B62\n */\n const handleSpinStart = useCallback(async () => {\n if (wheelState.isSpinning) return\n\n // \u68C0\u67E5\u7528\u6237\u662F\u5426\u5DF2\u767B\u5F55\n if (!userData?.isLoggedIn) {\n onLoginRequired?.()\n return\n }\n\n // \u2705 \u6B21\u6570\u4E3A 0 \u65F6\uFF0C\u6309\u94AE\u5DF2\u88AB\u7981\u7528\uFF0C\u8FD9\u91CC\u4E0D\u9700\u8981\u989D\u5916\u68C0\u67E5\n // \u9632\u5FA1\u6027\u7F16\u7A0B\uFF1A\u5982\u679C\u4ECD\u7136\u89E6\u53D1\uFF0C\u76F4\u63A5\u8FD4\u56DE\n if (userData.availableChances <= 0) {\n return\n }\n\n // \u8FDB\u5165\u5FEB\u901F\u65CB\u8F6C\u72B6\u6001\uFF08\u521D\u59CB\u6162\u901F\u65CB\u8F6C\u4F1A\u81EA\u52A8\u53D8\u4E3A\u5FEB\u901F\u65CB\u8F6C\uFF09\n setWheelState(prev => ({\n ...prev,\n isSpinning: true,\n isButtonDisabled: true,\n }))\n\n try {\n // \u8C03\u7528\u5916\u90E8\u63A5\u53E3\u83B7\u53D6\u4E2D\u5956\u7ED3\u679C\n let finalWinningPrizeId = winningPrizeId\n\n if (onSpinStart) {\n // \u7B49\u5F85\u63A5\u53E3\u8FD4\u56DE\u4E2D\u5956 ID\uFF08\u63A5\u53E3\u65F6\u95F4\u4E0D\u56FA\u5B9A\uFF0C1-30s\uFF09\n // \u5728\u6B64\u671F\u95F4\uFF0C\u8F6C\u76D8\u4F1A\u4FDD\u6301\u5FEB\u901F\u65CB\u8F6C\uFF08\u7531 CSS \u52A8\u753B\u63A7\u5236\uFF09\n finalWinningPrizeId = await onSpinStart()\n }\n\n // \u786E\u5B9A\u4E2D\u5956\u5956\u54C1\n const winningPrize = prizes.find(p => p.prizeKey === finalWinningPrizeId) || prizes[0]\n const winningIndex = prizes.findIndex(p => p.prizeKey === winningPrize.prizeKey)\n\n // \u8BA1\u7B97\u76EE\u6807\u89D2\u5EA6\n const degreesPerPrize = 360 / prizes.length\n const basePrizeAngle = winningIndex * degreesPerPrize\n // \u81F3\u5C11\u65CB\u8F6C 3 \u5708\uFF081080\u5EA6\uFF09+ \u76EE\u6807\u89D2\u5EA6\n const minRotations = 3\n const targetAngle = minRotations * 360 + (360 - basePrizeAngle)\n\n // \u63A5\u53E3\u8FD4\u56DE\u540E\uFF0C\u7B49\u5F85 1.5s \u518D\u5F00\u59CB\u505C\u6B62\u52A8\u753B\n await new Promise(resolve => setTimeout(resolve, 1500))\n\n // \u7ACB\u5373\u8FDB\u5165\u51CF\u901F\u72B6\u6001\uFF0C\u505C\u6B62 CSS \u5FAA\u73AF\u52A8\u753B\n setWheelState(prev => ({\n ...prev,\n isFinished: true,\n currentRotation: 0, // \u4ECE 0 \u5EA6\u5F00\u59CB\u51CF\u901F\u52A8\u753B\n }))\n\n // \u5F00\u59CB\u505C\u6B62\u65CB\u8F6C\u52A8\u753B\n const startTime = Date.now()\n\n const animate = () => {\n const now = Date.now()\n const elapsed = now - startTime\n const progress = Math.min(elapsed / spinDuration, 1)\n\n // \u5E94\u7528 ease-out \u7F13\u52A8\u51FD\u6570\n const eased = 1 - Math.pow(1 - progress, 3)\n\n // \u8BA1\u7B97\u5F53\u524D\u65CB\u8F6C\u89D2\u5EA6\n const currentRotation = targetAngle * eased\n\n // \u66F4\u65B0\u72B6\u6001\n setWheelState(prev => ({\n ...prev,\n currentRotation,\n }))\n\n // \u7EE7\u7EED\u52A8\u753B\u6216\u7ED3\u675F\n if (progress < 1) {\n animationRef.current = requestAnimationFrame(animate)\n } else {\n // \u52A8\u753B\u7ED3\u675F - \u4FDD\u6301\u6309\u94AE\u7981\u7528\u72B6\u6001,\u76F4\u5230\u5F39\u7A97\u5173\u95ED\n setWheelState(prev => ({\n ...prev,\n isSpinning: false,\n isButtonDisabled: true,\n winningPrize,\n currentRotation: targetAngle,\n }))\n\n // \u5EF6\u8FDF\u663E\u793A\u5F39\u7A97\uFF08500ms\u540E\uFF09\n if (onSpinEnd) {\n onSpinEnd?.(winningPrize)\n } else {\n setTimeout(() => {\n // \u68C0\u67E5\u662F\u5426\u672A\u4E2D\u5956\uFF08try-again\uFF09\n if (winningPrize.prizeKey === 'try-again') {\n // \u672A\u4E2D\u5956\uFF0C\u663E\u793A ErrorModal\n setShowNoWinModal(true)\n } else {\n // \u4E2D\u5956\uFF0C\u663E\u793A WinnerModal\n setShowWinnerModal(true)\n }\n }, 500)\n }\n }\n }\n\n // \u542F\u52A8\u505C\u6B62\u52A8\u753B\n animationRef.current = requestAnimationFrame(animate)\n } catch (error) {\n // \u63A5\u53E3\u62A5\u9519\uFF0C\u6062\u590D\u5230\u521D\u59CB\u6162\u901F\u65CB\u8F6C\u72B6\u6001\n setWheelState(prev => ({\n ...prev,\n isSpinning: false,\n isButtonDisabled: false,\n }))\n\n // \u663E\u793A\u9519\u8BEF\u5F39\u7A97\n setErrorMessage((error as Error).message || 'An error occurred')\n setShowErrorModal(true)\n\n // \u89E6\u53D1\u9519\u8BEF\u56DE\u8C03\n onSpinError?.(error as Error)\n\n console.error('\u62BD\u5956\u63A5\u53E3\u8C03\u7528\u5931\u8D25:', error)\n }\n }, [\n wheelState.isSpinning,\n prizes,\n winningPrizeId,\n spinDuration,\n onSpinStart,\n onSpinEnd,\n onSpinError,\n userData,\n onLoginRequired,\n ])\n\n const handleWheelGoClick = useCallback(() => {\n if (isLoggedIn) {\n void handleSpinStart()\n return\n }\n\n onLoginRequired?.()\n }, [handleSpinStart, isLoggedIn, onLoginRequired])\n\n // ==========================================================================\n // \u5F39\u7A97\u5173\u95ED\u5904\u7406\n // ==========================================================================\n\n /**\n * \u5173\u95ED\u4E2D\u5956\u5F39\u7A97\u5E76\u91CD\u7F6E\u8F6C\u76D8\u72B6\u6001\n */\n const handleCloseWinnerModal = useCallback(() => {\n setShowWinnerModal(false)\n // \u91CD\u7F6E\u8F6C\u76D8\u72B6\u6001,\u5141\u8BB8\u4E0B\u6B21\u62BD\u5956\n setWheelState(prev => ({\n ...prev,\n isButtonDisabled: false,\n isFinished: false, // \u91CD\u7F6E\u4E3A\u672A\u5B8C\u6210,\u6062\u590D\u521D\u59CB\u65CB\u8F6C\u52A8\u753B\n }))\n }, [])\n\n /**\n * \u5173\u95ED\u672A\u4E2D\u5956\u5F39\u7A97\u5E76\u91CD\u7F6E\u8F6C\u76D8\u72B6\u6001\n */\n const handleCloseNoWinModal = useCallback(() => {\n setShowNoWinModal(false)\n // \u91CD\u7F6E\u8F6C\u76D8\u72B6\u6001,\u5141\u8BB8\u4E0B\u6B21\u62BD\u5956\n setWheelState(prev => ({\n ...prev,\n isButtonDisabled: false,\n isFinished: false, // \u91CD\u7F6E\u4E3A\u672A\u5B8C\u6210,\u6062\u590D\u521D\u59CB\u65CB\u8F6C\u52A8\u753B\n }))\n }, [])\n\n // ==========================================================================\n // \u6E32\u67D3\n // ==========================================================================\n\n return (\n <div className={cn('wheel-lottery-container', 'w-full', theme === 'dark' ? 'aiui-dark' : '', className)}>\n {/* ARIA Live Region - \u5C4F\u5E55\u9605\u8BFB\u5668\u72B6\u6001\u64AD\u62A5 */}\n <div role=\"status\" aria-live=\"polite\" aria-atomic=\"true\" className=\"sr-only\">\n {wheelState.isSpinning && '\u62BD\u5956\u8FDB\u884C\u4E2D...'}\n {wheelState.winningPrize && !wheelState.isSpinning && `\u5DF2\u4E2D\u5956: ${wheelState.winningPrize.name}`}\n </div>\n\n {/* \u4E3B\u5185\u5BB9\u533A - \u54CD\u5E94\u5F0F\u4E24\u680F/\u5355\u680F\u5E03\u5C40 */}\n <Grid className={cn('wheel-lottery-main', 'tablet:mb-4 mb-3')}>\n {/* \u5DE6\u4FA7\uFF1A\u8F6C\u76D8\u533A\u57DF */}\n <GridItem\n span={7}\n className={cn(\n 'wheel-section',\n 'relative flex w-full flex-1 items-center justify-center overflow-hidden',\n 'rounded-box',\n // \u79FB\u52A8\u7AEF\uFF08<=1024px\uFF09\u4F7F\u7528min-h\uFF0C\u684C\u9762\u7AEF\u4F7F\u7528aspect ratio\n 'laptop:min-h-[288px] min-h-[240px]',\n 'lg-desktop:aspect-w-[964] lg-desktop:aspect-h-[480]',\n 'desktop:aspect-w-[759] desktop:aspect-h-[384]',\n 'laptop:aspect-w-[516] laptop:aspect-h-[288]',\n 'l-tablet:col-span-12',\n // \u79FB\u52A8\u7AEF\u5E95\u90E8\u95F4\u8DDD\n 'l-tablet:mb-3',\n theme === 'dark' ? 'bg-[#1E2024]' : 'bg-[#EAEAEC]'\n )}\n >\n <div\n className={cn(\n 'w-full px-[16px] pt-[16px]',\n 'lg-desktop:pb-[32px] lg-desktop:px-[32px]',\n 'desktop:pt-[24px] desktop:px-[24px]',\n 'laptop:pt-[16px] laptop:px-[16px]',\n 'tablet:px-[24px]',\n // \u79FB\u52A8\u7AEF(<=1024px)\u65F6\u4F7F\u7528\u7EDD\u5BF9\u5B9A\u4F4D\u8986\u76D6\u5728\u8F6C\u76D8\u80CC\u666F\u4E0A\n 'l-tablet:absolute l-tablet:top-0 l-tablet:inset-x-0 l-tablet:z-10'\n )}\n >\n {/* \u9876\u90E8\u4FE1\u606F\u680F\uFF1A\u5DE6\u4FA7\u673A\u4F1A\u8FDB\u5EA6\uFF0C\u53F3\u4FA7\u94FE\u63A5 */}\n <div className=\"tablet:max-h-[24px] relative z-10 mb-2 flex max-h-[40px] w-full flex-wrap items-center justify-between gap-3\">\n {/* \u5DE6\u4FA7\uFF1A\u673A\u4F1A\u5C55\u793A - \u4EC5\u767B\u5F55\u65F6\u663E\u793A */}\n <div>\n {isLoggedIn && (\n <p className=\"text-info-primary font-[700]\">\n {opportunitiesText?.[0]}\n <span className=\"ml-1 text-[#FF6B35]\">{availableChances}</span>\n {opportunitiesText?.[1] || ''}\n </p>\n )}\n </div>\n {/* \u53F3\u4FA7\uFF1ARules \u548C My Rewards \u6309\u94AE */}\n <div className=\"flex items-center gap-4\">\n {rulesData && rulesData.length > 0 && (\n <button\n onClick={() => setShowRulesModal(true)}\n className=\"cursor-pointer touch-manipulation\"\n type=\"button\"\n >\n <span className=\"text-info-primary font-[700] underline\">{rulesText}</span>\n </button>\n )}\n {/* My Rewards \u6309\u94AE - \u4EC5\u767B\u5F55\u65F6\u663E\u793A */}\n {userData?.isLoggedIn && rewardsData && (\n <button\n onClick={() => setShowRewardsModal(true)}\n className=\"cursor-pointer touch-manipulation whitespace-nowrap\"\n type=\"button\"\n >\n <span className=\"text-info-primary font-[700] underline\">{myRewardsText}</span>\n </button>\n )}\n </div>\n </div>\n {/* \u8F6C\u76D8\u7EC4\u4EF6 */}\n <Wheel\n theme={theme}\n prizes={prizes}\n rotation={wheelState.currentRotation}\n isSpinning={wheelState.isSpinning}\n isFinished={wheelState.isFinished}\n isButtonDisabled={wheelState.isButtonDisabled || !isLoggedIn || isNoChancesState}\n userData={userData}\n onGoClick={handleWheelGoClick}\n wheelBackgroundImage={wheelBackgroundImage}\n pointerImage={pointerImage}\n />\n </div>\n </GridItem>\n\n {/* \u53F3\u4FA7\uFF1A\u83B7\u53D6\u673A\u4F1A\u533A\u57DF */}\n {chanceMethods.length > 0 && (\n <GridItem\n span={5}\n className={cn(\n 'info-section',\n 'rounded-box',\n 'relative flex flex-col overflow-hidden',\n 'lg-desktop:aspect-w-[684] lg-desktop:aspect-h-[480]',\n 'desktop:aspect-w-[536] desktop:aspect-h-[384]',\n 'laptop:aspect-w-[364] laptop:aspect-h-[288]',\n // \u79FB\u52A8\u7AEF\u4F7F\u7528min-h\u800C\u4E0D\u662Fmax-h\uFF0C\u786E\u4FDD\u5185\u5BB9\u5B8C\u6574\u663E\u793A\n 'l-tablet:min-h-[280px] laptop:max-h-[320px]',\n 'w-full',\n 'l-tablet:col-span-12',\n theme === 'dark' ? 'bg-[#1E2024]' : 'bg-[#EAEAEC]'\n )}\n >\n <ChanceMethods\n theme={theme}\n userData={userData}\n methods={chanceMethods}\n title={chanceTitle}\n subtitle={chanceSubtitle}\n footerNote={chanceFooterNote}\n onOpenShareModal={() => setShowShareModal(true)}\n chanceBadgeText={chanceMethodsText?.chanceBadgeText}\n completedText={completedText}\n usedText={usedText}\n loadingText={chanceMethodsText?.loadingText}\n mechanismType={mechanismType}\n inputConfig={inputConfig}\n />\n </GridItem>\n )}\n </Grid>\n\n {/* \u5E95\u90E8\u533A\u57DF\uFF1A\u5956\u54C1\u6C60(\u5305\u542B\u4E2D\u5956\u4EBA\u540D\u5355) */}\n <div\n className={cn(\n 'wheel-lottery-footer',\n 'rounded-box',\n 'flex flex-col overflow-hidden',\n theme === 'dark' ? 'bg-[#1E2024]' : 'bg-[#EAEAEC]'\n )}\n >\n {/* \u5956\u54C1\u6C60(\u5305\u542B\u4E2D\u5956\u4EBA\u540D\u5355\u81EA\u52A8\u6EDA\u52A8) */}\n <PrizePool\n theme={theme}\n prizes={prizes}\n title={prizesTitle}\n winningInfos={winningInfos}\n winnerNameTemplate={winnerNameTemplate}\n />\n </div>\n\n {/* \u4E2D\u5956\u5F39\u7A97 */}\n <WinnerModal\n isOpen={showWinnerModal}\n prize={wheelState.winningPrize}\n title={externalWinnerConfig?.title || winnerModalConfig?.title}\n prizeTitle={externalWinnerConfig?.prizeTitle || winnerModalConfig?.prizeTitle}\n prizeImage={externalWinnerConfig?.prizeImage || winnerModalConfig?.prizeImage}\n prizeDescription={externalWinnerConfig?.prizeDescription || winnerModalConfig?.prizeDescription}\n winnerNote={\n externalWinnerConfig?.winnerNote ??\n wheelState.winningPrize?.winnerModalConfig?.winnerNote ??\n winnerModalConfig?.winnerNote\n }\n learnMoreUrl={\n externalWinnerConfig?.learnMoreUrl ||\n wheelState.winningPrize?.winnerModalConfig?.learnMoreUrl ||\n winnerModalConfig?.learnMoreUrl\n }\n learnMoreText={\n externalWinnerConfig?.learnMoreText ||\n wheelState.winningPrize?.winnerModalConfig?.learnMoreText ||\n winnerModalConfig?.learnMoreText\n }\n couponCode={externalWinnerConfig?.couponCode || winnerModalConfig?.couponCode}\n expiresAt={externalWinnerConfig?.expiresAt || winnerModalConfig?.expiresAt}\n expiresAtLabel={externalWinnerConfig?.expiresAtLabel || winnerModalConfig?.expiresAtLabel}\n couponDiscount={externalWinnerConfig?.couponDiscount || winnerModalConfig?.couponDiscount}\n couponUnit={externalWinnerConfig?.couponUnit || winnerModalConfig?.couponUnit}\n confirmText={\n externalWinnerConfig?.confirmText ||\n wheelState.winningPrize?.winnerModalConfig?.confirmText ||\n winnerModalConfig?.confirmText\n }\n confirmUrl={\n externalWinnerConfig?.confirmUrl ||\n wheelState.winningPrize?.winnerModalConfig?.confirmUrl ||\n winnerModalConfig?.confirmUrl\n }\n copyText={externalWinnerConfig?.copyText || winnerModalConfig?.copyText || copyText}\n copiedText={externalWinnerConfig?.copiedText || winnerModalConfig?.copiedText || copiedText}\n onClose={handleCloseWinnerModal}\n theme={theme}\n />\n\n {/* Rules \u5F39\u7A97 */}\n {rulesData && rulesData.length > 0 && (\n <RulesModal\n title={rulesText}\n isOpen={showRulesModal}\n onClose={() => setShowRulesModal(false)}\n rules={rulesData}\n theme={theme}\n />\n )}\n\n {/* My Rewards \u5F39\u7A97 */}\n {rewardsData && (\n <MyRewardsModal\n isOpen={showRewardsModal}\n onClose={() => setShowRewardsModal(false)}\n rewards={rewardsData}\n onCopyCode={onCopyCode}\n codeText={codeText}\n copyText={copyText}\n copiedText={copiedText}\n prizeText={prizeText}\n emptyText={emptyText}\n copyError={copyError}\n availableText={availableText}\n usedStatusText={usedStatusText}\n expiredText={expiredText}\n notFoundText={notFoundText}\n theme={theme}\n title={myRewardsText}\n />\n )}\n\n {/* \u9519\u8BEF\u5F39\u7A97 */}\n <ErrorModal\n isOpen={showErrorModal}\n onClose={() => setShowErrorModal(false)}\n title={errorTitle || errorModalConfig?.title}\n message={errorMessage || errorModalConfig?.message}\n confirmText={errorConfirmText || errorModalConfig?.confirmText}\n theme={theme}\n />\n\n {/* \u672A\u4E2D\u5956\u5F39\u7A97 */}\n <ErrorModal\n isOpen={showNoWinModal}\n onClose={handleCloseNoWinModal}\n title={noWinTitle || errorModalConfig?.title}\n message={noWinMessage || errorModalConfig?.message}\n confirmText={noWinConfirmText || errorModalConfig?.confirmText}\n theme={theme}\n />\n\n {/* \u5206\u4EAB\u5F39\u7A97 */}\n <ShareModal\n isOpen={showShareModal}\n onClose={() => setShowShareModal(false)}\n title={shareModalConfig?.title}\n subtitle={shareModalConfig?.subtitle}\n note={shareModalConfig?.note}\n platforms={shareModalConfig?.platforms}\n onShareSuccess={shareModalConfig?.onShareSuccess}\n theme={theme}\n />\n </div>\n )\n }\n)\n\n// \u8BBE\u7F6E displayName \u7528\u4E8E\u8C03\u8BD5\nWheelLottery.displayName = 'WheelLottery'\n\n// ============================================================================\n// \u5BFC\u51FA\n// ============================================================================\n\nexport default withLayout(WheelLottery)\nexport { WinnerModal } from '../LotteryShared/WinnerModal.js'\nexport { RulesModal } from '../LotteryShared/RulesModal.js'\nexport { MyRewardsModal } from '../LotteryShared/MyRewardsModal.js'\nexport { ErrorModal } from '../LotteryShared/ErrorModal.js'\nexport { ShareModal } from '../LotteryShared/ShareModal.js'\nexport { BaseModal } from '../LotteryShared/BaseModal.js'\nexport type {\n WheelLotteryProps,\n WheelLotteryHandle,\n Prize,\n ChanceMethod,\n ChanceMethodStatus,\n WinningInfo,\n WheelProps,\n PrizePoolProps,\n ChanceMethodsProps,\n WinnerModalProps,\n WinnerModalConfig,\n UserData,\n ShareModalConfig,\n SocialPlatform,\n SharePlatformConfig,\n} from './types.js'\nexport type { RulesModalProps, RuleItem } from '../LotteryShared/RulesModal.js'\nexport type { MyRewardsModalProps, Reward, RewardStatus } from '../LotteryShared/MyRewardsModal.js'\nexport type { ErrorModalProps } from '../LotteryShared/ErrorModal.js'\nexport type { ShareModalProps } from '../LotteryShared/ShareModal.js'\nexport type { BaseModalProps } from '../LotteryShared/BaseModal.js'\nexport type { ContainerProps } from '../../shared/Styles.js'\n"],
|
|
5
|
-
"mappings": "gcAAA,IAAAA,GAAA,GAAAC,GAAAD,GAAA,yKAAAE,EAAA,2CAAAC,KAAA,eAAAC,GAAAJ,IA6ZQ,IAAAK,EAAA,6BAlZRC,EAA0F,iBAC1FC,EAAmB,kCACnBC,EAAkF,sBAClFC,EAA+B,oCAC/BC,EAAsB,sBACtBC,EAA0B,yCAC1BC,GAA8B,6CAC9BC,GAA4B,2CAC5BC,GAA2B,0CAC3BC,GAA+B,8CAC/BC,EAA2B,0CAC3BC,GAA2B,0CAC3BC,GAA2B,
|
|
6
|
-
"names": ["WheelLottery_exports", "__export", "WheelLottery", "WheelLottery_default", "__toCommonJS", "import_jsx_runtime", "import_react", "import_helpers", "import_types", "import_grid", "import_Wheel", "import_PrizePool", "import_ChanceMethods", "import_WinnerModal", "import_RulesModal", "import_MyRewardsModal", "import_ErrorModal", "import_ShareModal", "import_Styles", "import_BaseModal", "prizes", "theme", "winningPrizeId", "spinDuration", "wheelBackgroundImage", "pointerImage", "chanceMethods", "chanceTitle", "chanceSubtitle", "chanceFooterNote", "chanceMethodsText", "mechanismType", "inputConfig", "winningInfos", "winnerNameTemplate", "prizesTitle", "onSpinStart", "onSpinEnd", "onSpinError", "winnerModalConfig", "rulesModalConfig", "myRewardsModalConfig", "errorModalConfig", "shareModalConfig", "userData", "onLoginRequired", "onCopyCode", "opportunitiesText", "className", "ref", "rulesData", "rulesText", "rewardsData", "myRewardsText", "codeText", "copyText", "copiedText", "prizeText", "emptyText", "copyError", "availableText", "usedStatusText", "expiredText", "notFoundText", "completedText", "usedText", "isLoggedIn", "availableChances", "isNoChancesState", "wheelState", "setWheelState", "showWinnerModal", "setShowWinnerModal", "showRulesModal", "setShowRulesModal", "showRewardsModal", "setShowRewardsModal", "showErrorModal", "setShowErrorModal", "showNoWinModal", "setShowNoWinModal", "showShareModal", "setShowShareModal", "errorMessage", "setErrorMessage", "errorTitle", "setErrorTitle", "errorConfirmText", "setErrorConfirmText", "noWinTitle", "setNoWinTitle", "noWinMessage", "setNoWinMessage", "noWinConfirmText", "setNoWinConfirmText", "externalWinnerConfig", "setExternalWinnerConfig", "animationRef", "message", "title", "confirmText", "config", "prize", "prev", "handleSpinStart", "finalWinningPrizeId", "winningPrize", "p", "winningIndex", "degreesPerPrize", "basePrizeAngle", "targetAngle", "resolve", "startTime", "animate", "elapsed", "progress", "eased", "currentRotation", "error", "handleWheelGoClick", "handleCloseWinnerModal", "handleCloseNoWinModal"]
|
|
4
|
+
"sourcesContent": ["/**\n * WheelLottery - \u5927\u8F6C\u76D8\u62BD\u5956\u7EC4\u4EF6\n *\n * \u7528\u4E8E\u8425\u9500\u6D3B\u52A8\u7684\u4EA4\u4E92\u5F0F\u62BD\u5956\u8F6C\u76D8\uFF0C\u652F\u6301\u591A\u54C1\u724C\u4E3B\u9898\u548C\u54CD\u5E94\u5F0F\u5E03\u5C40\u3002\n *\n * @module WheelLottery\n * @date 2025-12-17\n */\n\n'use client'\n\nimport { useState, useCallback, useRef, useEffect, useImperativeHandle, forwardRef } from 'react'\nimport { cn } from '../../helpers/index.js'\nimport { DEFAULT_WHEEL_CONFIG, DEFAULT_CHANCE_METHODS, INITIAL_WHEEL_STATE } from './types.js'\nimport { Grid, GridItem } from '../../components/grid.js'\nimport { Wheel } from './Wheel.js'\nimport { PrizePool } from '../LotteryShared/PrizePool.js'\nimport { ChanceMethods } from '../LotteryShared/ChanceMethods.js'\nimport { WinnerModal } from '../LotteryShared/WinnerModal.js'\nimport { RulesModal } from '../LotteryShared/RulesModal.js'\nimport { MyRewardsModal } from '../LotteryShared/MyRewardsModal.js'\nimport { ErrorModal } from '../LotteryShared/ErrorModal.js'\nimport { ShareModal } from '../LotteryShared/ShareModal.js'\nimport { withLayout } from '../../shared/Styles.js'\n\nimport type { WheelLotteryProps, WheelState, WheelLotteryHandle, WinnerModalConfig } from './types.js'\n\n// ============================================================================\n// \u4E3B\u7EC4\u4EF6\n// ============================================================================\n\n/**\n * WheelLottery \u7EC4\u4EF6\n *\n * @example\n * ```tsx\n * // \u57FA\u7840\u4F7F\u7528\n * <WheelLottery\n * prizes={prizes}\n * winningPrizeId=\"prize-003\"\n * onSpinEnd={(prize) => alert(`You won ${prize.name}`)}\n * />\n *\n * // \u4F7F\u7528 ref \u63A7\u5236\u5F39\u7A97\n * const lotteryRef = useRef<WheelLotteryHandle>(null)\n *\n * <WheelLottery ref={lotteryRef} prizes={prizes} />\n *\n * // \u5916\u90E8\u89E6\u53D1\u5F39\u7A97\n * lotteryRef.current?.showError({\n * title: 'Error',\n * message: 'Something went wrong'\n * })\n * ```\n */\nexport const WheelLottery = forwardRef<WheelLotteryHandle, WheelLotteryProps>(\n (\n {\n prizes,\n theme,\n winningPrizeId,\n spinDuration = DEFAULT_WHEEL_CONFIG.spinDuration,\n wheelBackgroundImage,\n pointerImage,\n chanceMethods = DEFAULT_CHANCE_METHODS,\n chanceTitle = DEFAULT_WHEEL_CONFIG.chanceTitle,\n chanceSubtitle,\n chanceFooterNote,\n chanceMethodsText,\n mechanismType,\n inputConfig,\n winningInfos = [],\n winnerNameTemplate,\n prizesTitle,\n onSpinStart,\n onSpinEnd,\n onSpinError,\n winnerModalConfig,\n rulesModalConfig = {},\n myRewardsModalConfig = {},\n errorModalConfig = {},\n shareModalConfig = {},\n userData,\n onLoginRequired,\n onCopyCode,\n opportunitiesText = ['Number of draws remaining today:'],\n className,\n },\n ref\n ) => {\n const { rulesData, rulesText = 'Rules' } = rulesModalConfig\n const {\n rewardsData,\n myRewardsText = 'My Rewards',\n codeText = 'CODE:',\n copyText = 'COPY',\n copiedText = 'COPIED',\n prizeText = 'Prize time:',\n emptyText,\n copyError,\n availableText,\n usedStatusText,\n expiredText,\n notFoundText,\n } = myRewardsModalConfig\n const completedText = chanceMethodsText?.completedText\n const usedText = chanceMethodsText?.usedText\n const isLoggedIn = userData?.isLoggedIn ?? false\n const availableChances = userData?.availableChances ?? 0\n const isNoChancesState = isLoggedIn && availableChances <= 0\n // ==========================================================================\n // State \u7BA1\u7406\n // ==========================================================================\n\n const [wheelState, setWheelState] = useState<WheelState>(INITIAL_WHEEL_STATE)\n const [showWinnerModal, setShowWinnerModal] = useState(false)\n const [showRulesModal, setShowRulesModal] = useState(false)\n const [showRewardsModal, setShowRewardsModal] = useState(false)\n const [showErrorModal, setShowErrorModal] = useState(false)\n const [showNoWinModal, setShowNoWinModal] = useState(false)\n const [showShareModal, setShowShareModal] = useState(false)\n const [errorMessage, setErrorMessage] = useState('')\n const [errorTitle, setErrorTitle] = useState<string | undefined>()\n const [errorConfirmText, setErrorConfirmText] = useState<string | undefined>()\n const [noWinTitle, setNoWinTitle] = useState<string | undefined>()\n const [noWinMessage, setNoWinMessage] = useState<string | undefined>()\n const [noWinConfirmText, setNoWinConfirmText] = useState<string | undefined>()\n const [externalWinnerConfig, setExternalWinnerConfig] = useState<Partial<WinnerModalConfig> | undefined>()\n const animationRef = useRef<number | null>(null)\n\n // ==========================================================================\n // Imperative Handle - \u66B4\u9732\u65B9\u6CD5\u7ED9\u7236\u7EC4\u4EF6\n // ==========================================================================\n\n useImperativeHandle(\n ref,\n () => ({\n showError: ({ message, title, confirmText }) => {\n setErrorMessage(message)\n setErrorTitle(title)\n setErrorConfirmText(confirmText)\n setShowErrorModal(true)\n },\n hideError: () => {\n setShowErrorModal(false)\n },\n showNoWin: config => {\n setNoWinTitle(config?.title)\n setNoWinMessage(config?.message)\n setNoWinConfirmText(config?.confirmText)\n setShowNoWinModal(true)\n },\n hideNoWin: () => {\n setShowNoWinModal(false)\n },\n showWinner: (prize, config) => {\n setWheelState(prev => ({ ...prev, winningPrize: prize }))\n setExternalWinnerConfig(config)\n setShowWinnerModal(true)\n },\n hideWinner: () => {\n setShowWinnerModal(false)\n },\n showRules: () => {\n setShowRulesModal(true)\n },\n hideRules: () => {\n setShowRulesModal(false)\n },\n showRewards: () => {\n setShowRewardsModal(true)\n },\n hideRewards: () => {\n setShowRewardsModal(false)\n },\n showShare: () => {\n setShowShareModal(true)\n },\n hideShare: () => {\n setShowShareModal(false)\n },\n hideAllModals: () => {\n setShowWinnerModal(false)\n setShowRulesModal(false)\n setShowRewardsModal(false)\n setShowErrorModal(false)\n setShowNoWinModal(false)\n setShowShareModal(false)\n },\n }),\n []\n )\n\n // ==========================================================================\n // Props \u9A8C\u8BC1\uFF08\u5F00\u53D1\u73AF\u5883\uFF09\n // ==========================================================================\n\n useEffect(() => {\n if (process.env.NODE_ENV === 'development' && prizes) {\n if (prizes.length !== 8) {\n console.warn(\n `WheelLottery expects exactly 8 prizes, got ${prizes.length}. The component may not render correctly.`\n )\n }\n\n if (winningPrizeId && !prizes.find(p => p.prizeKey === winningPrizeId)) {\n console.warn(`WheelLottery: winningPrizeId \"${winningPrizeId}\" not found in prizes array.`)\n }\n }\n }, [prizes, winningPrizeId])\n\n // ==========================================================================\n // \u6E05\u7406\u52A8\u753B\n // ==========================================================================\n\n useEffect(() => {\n return () => {\n // \u7EC4\u4EF6\u5378\u8F7D\u65F6\u53D6\u6D88\u52A8\u753B\u5E27\n if (animationRef.current !== null) {\n cancelAnimationFrame(animationRef.current)\n }\n }\n }, [])\n\n // ==========================================================================\n // \u62BD\u5956\u903B\u8F91\n // ==========================================================================\n\n /**\n * \u5F00\u59CB\u62BD\u5956 - \u652F\u6301\u5F02\u6B65\u63A5\u53E3\u8C03\u7528\n * \u5229\u7528\u521D\u59CB\u6162\u901F\u65CB\u8F6C\uFF0C\u70B9\u51FB\u540E\u8FDB\u5165\u5FEB\u901F\u65CB\u8F6C\u72B6\u6001\uFF0C\u63A5\u53E3\u8FD4\u56DE\u540E\u51CF\u901F\u505C\u6B62\n */\n const handleSpinStart = useCallback(async () => {\n if (wheelState.isSpinning) return\n\n // \u68C0\u67E5\u7528\u6237\u662F\u5426\u5DF2\u767B\u5F55\n if (!userData?.isLoggedIn) {\n onLoginRequired?.()\n return\n }\n\n // \u2705 \u6B21\u6570\u4E3A 0 \u65F6\uFF0C\u6309\u94AE\u5DF2\u88AB\u7981\u7528\uFF0C\u8FD9\u91CC\u4E0D\u9700\u8981\u989D\u5916\u68C0\u67E5\n // \u9632\u5FA1\u6027\u7F16\u7A0B\uFF1A\u5982\u679C\u4ECD\u7136\u89E6\u53D1\uFF0C\u76F4\u63A5\u8FD4\u56DE\n if (userData.availableChances <= 0) {\n return\n }\n\n // \u8FDB\u5165\u5FEB\u901F\u65CB\u8F6C\u72B6\u6001\uFF08\u521D\u59CB\u6162\u901F\u65CB\u8F6C\u4F1A\u81EA\u52A8\u53D8\u4E3A\u5FEB\u901F\u65CB\u8F6C\uFF09\n setWheelState(prev => ({\n ...prev,\n isSpinning: true,\n isButtonDisabled: true,\n }))\n\n try {\n // \u8C03\u7528\u5916\u90E8\u63A5\u53E3\u83B7\u53D6\u4E2D\u5956\u7ED3\u679C\n let finalWinningPrizeId = winningPrizeId\n\n if (onSpinStart) {\n // \u7B49\u5F85\u63A5\u53E3\u8FD4\u56DE\u4E2D\u5956 ID\uFF08\u63A5\u53E3\u65F6\u95F4\u4E0D\u56FA\u5B9A\uFF0C1-30s\uFF09\n // \u5728\u6B64\u671F\u95F4\uFF0C\u8F6C\u76D8\u4F1A\u4FDD\u6301\u5FEB\u901F\u65CB\u8F6C\uFF08\u7531 CSS \u52A8\u753B\u63A7\u5236\uFF09\n finalWinningPrizeId = await onSpinStart()\n }\n\n // \u786E\u5B9A\u4E2D\u5956\u5956\u54C1\n const winningPrize = prizes.find(p => p.prizeKey === finalWinningPrizeId) || prizes[0]\n const winningIndex = prizes.findIndex(p => p.prizeKey === winningPrize.prizeKey)\n\n // \u8BA1\u7B97\u76EE\u6807\u89D2\u5EA6\n const degreesPerPrize = 360 / prizes.length\n const basePrizeAngle = winningIndex * degreesPerPrize\n // \u81F3\u5C11\u65CB\u8F6C 3 \u5708\uFF081080\u5EA6\uFF09+ \u76EE\u6807\u89D2\u5EA6\n const minRotations = 3\n const targetAngle = minRotations * 360 + (360 - basePrizeAngle)\n\n // \u63A5\u53E3\u8FD4\u56DE\u540E\uFF0C\u7B49\u5F85 1.5s \u518D\u5F00\u59CB\u505C\u6B62\u52A8\u753B\n await new Promise(resolve => setTimeout(resolve, 1500))\n\n // \u7ACB\u5373\u8FDB\u5165\u51CF\u901F\u72B6\u6001\uFF0C\u505C\u6B62 CSS \u5FAA\u73AF\u52A8\u753B\n setWheelState(prev => ({\n ...prev,\n isFinished: true,\n currentRotation: 0, // \u4ECE 0 \u5EA6\u5F00\u59CB\u51CF\u901F\u52A8\u753B\n }))\n\n // \u5F00\u59CB\u505C\u6B62\u65CB\u8F6C\u52A8\u753B\n const startTime = Date.now()\n\n const animate = () => {\n const now = Date.now()\n const elapsed = now - startTime\n const progress = Math.min(elapsed / spinDuration, 1)\n\n // \u5E94\u7528 ease-out \u7F13\u52A8\u51FD\u6570\n const eased = 1 - Math.pow(1 - progress, 3)\n\n // \u8BA1\u7B97\u5F53\u524D\u65CB\u8F6C\u89D2\u5EA6\n const currentRotation = targetAngle * eased\n\n // \u66F4\u65B0\u72B6\u6001\n setWheelState(prev => ({\n ...prev,\n currentRotation,\n }))\n\n // \u7EE7\u7EED\u52A8\u753B\u6216\u7ED3\u675F\n if (progress < 1) {\n animationRef.current = requestAnimationFrame(animate)\n } else {\n // \u52A8\u753B\u7ED3\u675F - \u4FDD\u6301\u6309\u94AE\u7981\u7528\u72B6\u6001,\u76F4\u5230\u5F39\u7A97\u5173\u95ED\n setWheelState(prev => ({\n ...prev,\n isSpinning: false,\n isButtonDisabled: true,\n winningPrize,\n currentRotation: targetAngle,\n }))\n\n // \u5EF6\u8FDF\u663E\u793A\u5F39\u7A97\uFF08500ms\u540E\uFF09\n if (onSpinEnd) {\n onSpinEnd?.(winningPrize)\n } else {\n setTimeout(() => {\n // \u68C0\u67E5\u662F\u5426\u672A\u4E2D\u5956\uFF08try-again\uFF09\n if (winningPrize.prizeKey === 'try-again') {\n // \u672A\u4E2D\u5956\uFF0C\u663E\u793A ErrorModal\n setShowNoWinModal(true)\n } else {\n // \u4E2D\u5956\uFF0C\u663E\u793A WinnerModal\n setShowWinnerModal(true)\n }\n }, 500)\n }\n }\n }\n\n // \u542F\u52A8\u505C\u6B62\u52A8\u753B\n animationRef.current = requestAnimationFrame(animate)\n } catch (error) {\n // \u63A5\u53E3\u62A5\u9519\uFF0C\u6062\u590D\u5230\u521D\u59CB\u6162\u901F\u65CB\u8F6C\u72B6\u6001\n setWheelState(prev => ({\n ...prev,\n isSpinning: false,\n isButtonDisabled: false,\n }))\n\n // \u663E\u793A\u9519\u8BEF\u5F39\u7A97\n setErrorMessage((error as Error).message || 'An error occurred')\n setShowErrorModal(true)\n\n // \u89E6\u53D1\u9519\u8BEF\u56DE\u8C03\n onSpinError?.(error as Error)\n\n console.error('\u62BD\u5956\u63A5\u53E3\u8C03\u7528\u5931\u8D25:', error)\n }\n }, [\n wheelState.isSpinning,\n prizes,\n winningPrizeId,\n spinDuration,\n onSpinStart,\n onSpinEnd,\n onSpinError,\n userData,\n onLoginRequired,\n ])\n\n const handleWheelGoClick = useCallback(() => {\n if (isLoggedIn) {\n void handleSpinStart()\n return\n }\n\n onLoginRequired?.()\n }, [handleSpinStart, isLoggedIn, onLoginRequired])\n\n // ==========================================================================\n // \u5F39\u7A97\u5173\u95ED\u5904\u7406\n // ==========================================================================\n\n /**\n * \u5173\u95ED\u4E2D\u5956\u5F39\u7A97\u5E76\u91CD\u7F6E\u8F6C\u76D8\u72B6\u6001\n */\n const handleCloseWinnerModal = useCallback(() => {\n setShowWinnerModal(false)\n // \u91CD\u7F6E\u8F6C\u76D8\u72B6\u6001,\u5141\u8BB8\u4E0B\u6B21\u62BD\u5956\n setWheelState(prev => ({\n ...prev,\n isButtonDisabled: false,\n isFinished: false, // \u91CD\u7F6E\u4E3A\u672A\u5B8C\u6210,\u6062\u590D\u521D\u59CB\u65CB\u8F6C\u52A8\u753B\n }))\n }, [])\n\n /**\n * \u5173\u95ED\u672A\u4E2D\u5956\u5F39\u7A97\u5E76\u91CD\u7F6E\u8F6C\u76D8\u72B6\u6001\n */\n const handleCloseNoWinModal = useCallback(() => {\n setShowNoWinModal(false)\n // \u91CD\u7F6E\u8F6C\u76D8\u72B6\u6001,\u5141\u8BB8\u4E0B\u6B21\u62BD\u5956\n setWheelState(prev => ({\n ...prev,\n isButtonDisabled: false,\n isFinished: false, // \u91CD\u7F6E\u4E3A\u672A\u5B8C\u6210,\u6062\u590D\u521D\u59CB\u65CB\u8F6C\u52A8\u753B\n }))\n }, [])\n\n // ==========================================================================\n // \u6E32\u67D3\n // ==========================================================================\n\n return (\n <div className={cn('wheel-lottery-container', 'w-full', theme === 'dark' ? 'aiui-dark' : '', className)}>\n {/* ARIA Live Region - \u5C4F\u5E55\u9605\u8BFB\u5668\u72B6\u6001\u64AD\u62A5 */}\n <div role=\"status\" aria-live=\"polite\" aria-atomic=\"true\" className=\"sr-only\">\n {wheelState.isSpinning && '\u62BD\u5956\u8FDB\u884C\u4E2D...'}\n {wheelState.winningPrize && !wheelState.isSpinning && `\u5DF2\u4E2D\u5956: ${wheelState.winningPrize.name}`}\n </div>\n\n {/* \u4E3B\u5185\u5BB9\u533A - \u54CD\u5E94\u5F0F\u4E24\u680F/\u5355\u680F\u5E03\u5C40 */}\n <Grid className={cn('wheel-lottery-main', 'tablet:mb-4 mb-3')}>\n {/* \u5DE6\u4FA7\uFF1A\u8F6C\u76D8\u533A\u57DF */}\n <GridItem\n span={7}\n className={cn(\n 'wheel-section',\n 'relative flex w-full flex-1 items-center justify-center overflow-hidden',\n 'rounded-box',\n // \u79FB\u52A8\u7AEF\uFF08<=1024px\uFF09\u4F7F\u7528min-h\uFF0C\u684C\u9762\u7AEF\u4F7F\u7528aspect ratio\n 'laptop:min-h-[288px] min-h-[240px]',\n 'lg-desktop:aspect-w-[964] lg-desktop:aspect-h-[480]',\n 'desktop:aspect-w-[759] desktop:aspect-h-[384]',\n 'laptop:aspect-w-[516] laptop:aspect-h-[288]',\n 'l-tablet:col-span-12',\n // \u79FB\u52A8\u7AEF\u5E95\u90E8\u95F4\u8DDD\n 'l-tablet:mb-3',\n theme === 'dark' ? 'bg-[#1E2024]' : 'bg-[#EAEAEC]'\n )}\n >\n <div\n className={cn(\n 'w-full px-[16px] pt-[16px]',\n 'lg-desktop:pb-[32px] lg-desktop:px-[32px]',\n 'desktop:pt-[24px] desktop:px-[24px]',\n 'laptop:pt-[16px] laptop:px-[16px]',\n 'tablet:px-[24px]',\n // \u79FB\u52A8\u7AEF(<=1024px)\u65F6\u4F7F\u7528\u7EDD\u5BF9\u5B9A\u4F4D\u8986\u76D6\u5728\u8F6C\u76D8\u80CC\u666F\u4E0A\n 'l-tablet:absolute l-tablet:top-0 l-tablet:inset-x-0 l-tablet:z-10'\n )}\n >\n {/* \u9876\u90E8\u4FE1\u606F\u680F\uFF1A\u5DE6\u4FA7\u673A\u4F1A\u8FDB\u5EA6\uFF0C\u53F3\u4FA7\u94FE\u63A5 */}\n <div className=\"tablet:max-h-[24px] relative z-10 mb-2 flex max-h-[40px] w-full flex-wrap items-center justify-between gap-3\">\n {/* \u5DE6\u4FA7\uFF1A\u673A\u4F1A\u5C55\u793A - \u4EC5\u767B\u5F55\u65F6\u663E\u793A */}\n <div>\n {isLoggedIn && (\n <p className=\"text-info-primary font-[700]\">\n {opportunitiesText?.[0]}\n <span className=\"ml-1 text-[#FF6B35]\">{availableChances}</span>\n {opportunitiesText?.[1] || ''}\n </p>\n )}\n </div>\n {/* \u53F3\u4FA7\uFF1ARules \u548C My Rewards \u6309\u94AE */}\n <div className=\"flex items-center gap-4\">\n {rulesData && rulesData.length > 0 && (\n <button\n onClick={e => {\n e.stopPropagation()\n setShowRulesModal(true)\n }}\n className=\"cursor-pointer touch-manipulation\"\n type=\"button\"\n >\n <span className=\"text-info-primary font-[700] underline\">{rulesText}</span>\n </button>\n )}\n {/* My Rewards \u6309\u94AE - \u4EC5\u767B\u5F55\u65F6\u663E\u793A */}\n {userData?.isLoggedIn && rewardsData && (\n <button\n onClick={e => {\n e.stopPropagation()\n setShowRewardsModal(true)\n }}\n className=\"cursor-pointer touch-manipulation whitespace-nowrap\"\n type=\"button\"\n >\n <span className=\"text-info-primary font-[700] underline\">{myRewardsText}</span>\n </button>\n )}\n </div>\n </div>\n {/* \u8F6C\u76D8\u7EC4\u4EF6 */}\n <Wheel\n theme={theme}\n prizes={prizes}\n rotation={wheelState.currentRotation}\n isSpinning={wheelState.isSpinning}\n isFinished={wheelState.isFinished}\n isButtonDisabled={wheelState.isButtonDisabled || !isLoggedIn || isNoChancesState}\n userData={userData}\n onGoClick={handleWheelGoClick}\n wheelBackgroundImage={wheelBackgroundImage}\n pointerImage={pointerImage}\n />\n </div>\n </GridItem>\n\n {/* \u53F3\u4FA7\uFF1A\u83B7\u53D6\u673A\u4F1A\u533A\u57DF */}\n {chanceMethods.length > 0 && (\n <GridItem\n span={5}\n className={cn(\n 'info-section',\n 'rounded-box',\n 'relative flex flex-col overflow-hidden',\n 'lg-desktop:aspect-w-[684] lg-desktop:aspect-h-[480]',\n 'desktop:aspect-w-[536] desktop:aspect-h-[384]',\n 'laptop:aspect-w-[364] laptop:aspect-h-[288]',\n // \u79FB\u52A8\u7AEF\u4F7F\u7528min-h\u800C\u4E0D\u662Fmax-h\uFF0C\u786E\u4FDD\u5185\u5BB9\u5B8C\u6574\u663E\u793A\n 'l-tablet:min-h-[280px] laptop:max-h-[320px]',\n 'w-full',\n 'l-tablet:col-span-12',\n theme === 'dark' ? 'bg-[#1E2024]' : 'bg-[#EAEAEC]'\n )}\n >\n <ChanceMethods\n theme={theme}\n userData={userData}\n methods={chanceMethods}\n title={chanceTitle}\n subtitle={chanceSubtitle}\n footerNote={chanceFooterNote}\n onOpenShareModal={() => setShowShareModal(true)}\n chanceBadgeText={chanceMethodsText?.chanceBadgeText}\n completedText={completedText}\n usedText={usedText}\n loadingText={chanceMethodsText?.loadingText}\n mechanismType={mechanismType}\n inputConfig={inputConfig}\n />\n </GridItem>\n )}\n </Grid>\n\n {/* \u5E95\u90E8\u533A\u57DF\uFF1A\u5956\u54C1\u6C60(\u5305\u542B\u4E2D\u5956\u4EBA\u540D\u5355) */}\n <div\n className={cn(\n 'wheel-lottery-footer',\n 'rounded-box',\n 'flex flex-col overflow-hidden',\n theme === 'dark' ? 'bg-[#1E2024]' : 'bg-[#EAEAEC]'\n )}\n >\n {/* \u5956\u54C1\u6C60(\u5305\u542B\u4E2D\u5956\u4EBA\u540D\u5355\u81EA\u52A8\u6EDA\u52A8) */}\n <PrizePool\n theme={theme}\n prizes={prizes}\n title={prizesTitle}\n winningInfos={winningInfos}\n winnerNameTemplate={winnerNameTemplate}\n />\n </div>\n\n {/* \u4E2D\u5956\u5F39\u7A97 */}\n <WinnerModal\n isOpen={showWinnerModal}\n prize={wheelState.winningPrize}\n title={externalWinnerConfig?.title || winnerModalConfig?.title}\n prizeTitle={externalWinnerConfig?.prizeTitle || winnerModalConfig?.prizeTitle}\n prizeImage={externalWinnerConfig?.prizeImage || winnerModalConfig?.prizeImage}\n prizeDescription={externalWinnerConfig?.prizeDescription || winnerModalConfig?.prizeDescription}\n winnerNote={\n externalWinnerConfig?.winnerNote ??\n wheelState.winningPrize?.winnerModalConfig?.winnerNote ??\n winnerModalConfig?.winnerNote\n }\n learnMoreUrl={\n externalWinnerConfig?.learnMoreUrl ||\n wheelState.winningPrize?.winnerModalConfig?.learnMoreUrl ||\n winnerModalConfig?.learnMoreUrl\n }\n learnMoreText={\n externalWinnerConfig?.learnMoreText ||\n wheelState.winningPrize?.winnerModalConfig?.learnMoreText ||\n winnerModalConfig?.learnMoreText\n }\n couponCode={externalWinnerConfig?.couponCode || winnerModalConfig?.couponCode}\n expiresAt={externalWinnerConfig?.expiresAt || winnerModalConfig?.expiresAt}\n expiresAtLabel={externalWinnerConfig?.expiresAtLabel || winnerModalConfig?.expiresAtLabel}\n couponDiscount={externalWinnerConfig?.couponDiscount || winnerModalConfig?.couponDiscount}\n couponUnit={externalWinnerConfig?.couponUnit || winnerModalConfig?.couponUnit}\n confirmText={\n externalWinnerConfig?.confirmText ||\n wheelState.winningPrize?.winnerModalConfig?.confirmText ||\n winnerModalConfig?.confirmText\n }\n confirmUrl={\n externalWinnerConfig?.confirmUrl ||\n wheelState.winningPrize?.winnerModalConfig?.confirmUrl ||\n winnerModalConfig?.confirmUrl\n }\n copyText={externalWinnerConfig?.copyText || winnerModalConfig?.copyText || copyText}\n copiedText={externalWinnerConfig?.copiedText || winnerModalConfig?.copiedText || copiedText}\n onClose={handleCloseWinnerModal}\n theme={theme}\n />\n\n {/* Rules \u5F39\u7A97 */}\n {rulesData && rulesData.length > 0 && (\n <RulesModal\n title={rulesText}\n isOpen={showRulesModal}\n onClose={() => setShowRulesModal(false)}\n rules={rulesData}\n theme={theme}\n />\n )}\n\n {/* My Rewards \u5F39\u7A97 */}\n {rewardsData && (\n <MyRewardsModal\n isOpen={showRewardsModal}\n onClose={() => setShowRewardsModal(false)}\n rewards={rewardsData}\n onCopyCode={onCopyCode}\n codeText={codeText}\n copyText={copyText}\n copiedText={copiedText}\n prizeText={prizeText}\n emptyText={emptyText}\n copyError={copyError}\n availableText={availableText}\n usedStatusText={usedStatusText}\n expiredText={expiredText}\n notFoundText={notFoundText}\n theme={theme}\n title={myRewardsText}\n />\n )}\n\n {/* \u9519\u8BEF\u5F39\u7A97 */}\n <ErrorModal\n isOpen={showErrorModal}\n onClose={() => setShowErrorModal(false)}\n title={errorTitle || errorModalConfig?.title}\n message={errorMessage || errorModalConfig?.message}\n confirmText={errorConfirmText || errorModalConfig?.confirmText}\n theme={theme}\n />\n\n {/* \u672A\u4E2D\u5956\u5F39\u7A97 */}\n <ErrorModal\n isOpen={showNoWinModal}\n onClose={handleCloseNoWinModal}\n title={noWinTitle || errorModalConfig?.title}\n message={noWinMessage || errorModalConfig?.message}\n confirmText={noWinConfirmText || errorModalConfig?.confirmText}\n theme={theme}\n />\n\n {/* \u5206\u4EAB\u5F39\u7A97 */}\n <ShareModal\n isOpen={showShareModal}\n onClose={() => setShowShareModal(false)}\n title={shareModalConfig?.title}\n subtitle={shareModalConfig?.subtitle}\n note={shareModalConfig?.note}\n platforms={shareModalConfig?.platforms}\n onShareSuccess={shareModalConfig?.onShareSuccess}\n theme={theme}\n />\n </div>\n )\n }\n)\n\n// \u8BBE\u7F6E displayName \u7528\u4E8E\u8C03\u8BD5\nWheelLottery.displayName = 'WheelLottery'\n\n// ============================================================================\n// \u5BFC\u51FA\n// ============================================================================\n\nexport default withLayout(WheelLottery)\nexport { WinnerModal } from '../LotteryShared/WinnerModal.js'\nexport { RulesModal } from '../LotteryShared/RulesModal.js'\nexport { MyRewardsModal } from '../LotteryShared/MyRewardsModal.js'\nexport { ErrorModal } from '../LotteryShared/ErrorModal.js'\nexport { ShareModal } from '../LotteryShared/ShareModal.js'\nexport { BaseModal } from '../LotteryShared/BaseModal.js'\nexport type {\n WheelLotteryProps,\n WheelLotteryHandle,\n Prize,\n ChanceMethod,\n ChanceMethodStatus,\n WinningInfo,\n WheelProps,\n PrizePoolProps,\n ChanceMethodsProps,\n WinnerModalProps,\n WinnerModalConfig,\n UserData,\n ShareModalConfig,\n SocialPlatform,\n SharePlatformConfig,\n} from './types.js'\nexport type { RulesModalProps, RuleItem } from '../LotteryShared/RulesModal.js'\nexport type { MyRewardsModalProps, Reward, RewardStatus } from '../LotteryShared/MyRewardsModal.js'\nexport type { ErrorModalProps } from '../LotteryShared/ErrorModal.js'\nexport type { ShareModalProps } from '../LotteryShared/ShareModal.js'\nexport type { BaseModalProps } from '../LotteryShared/BaseModal.js'\nexport type { ContainerProps } from '../../shared/Styles.js'\n"],
|
|
5
|
+
"mappings": "gcAAA,IAAAA,GAAA,GAAAC,GAAAD,GAAA,yKAAAE,EAAA,2CAAAC,KAAA,eAAAC,GAAAJ,IA6ZQ,IAAAK,EAAA,6BAlZRC,EAA0F,iBAC1FC,EAAmB,kCACnBC,EAAkF,sBAClFC,EAA+B,oCAC/BC,EAAsB,sBACtBC,EAA0B,yCAC1BC,GAA8B,6CAC9BC,GAA4B,2CAC5BC,GAA2B,0CAC3BC,GAA+B,8CAC/BC,EAA2B,0CAC3BC,GAA2B,0CAC3BC,GAA2B,kCAopB3BL,GAA4B,2CAC5BC,GAA2B,0CAC3BC,GAA+B,8CAC/BC,GAA2B,0CAC3BC,GAA2B,0CAC3BE,GAA0B,yCAznBnB,MAAMjB,KAAe,cAC1B,CACE,CACE,OAAAkB,EACA,MAAAC,EACA,eAAAC,EACA,aAAAC,EAAe,uBAAqB,aACpC,qBAAAC,EACA,aAAAC,GACA,cAAAC,EAAgB,yBAChB,YAAAC,GAAc,uBAAqB,YACnC,eAAAC,GACA,iBAAAC,GACA,kBAAAC,EACA,cAAAC,GACA,YAAAC,GACA,aAAAC,GAAe,CAAC,EAChB,mBAAAC,GACA,YAAAC,GACA,YAAAC,EACA,UAAAC,EACA,YAAAC,EACA,kBAAAC,EACA,iBAAAC,GAAmB,CAAC,EACpB,qBAAAC,GAAuB,CAAC,EACxB,iBAAAC,EAAmB,CAAC,EACpB,iBAAAC,EAAmB,CAAC,EACpB,SAAAC,EACA,gBAAAC,EACA,WAAAC,GACA,kBAAAC,EAAoB,CAAC,kCAAkC,EACvD,UAAAC,EACF,EACAC,KACG,CACH,KAAM,CAAE,UAAAC,EAAW,UAAAC,EAAY,OAAQ,EAAIX,GACrC,CACJ,YAAAY,EACA,cAAAC,EAAgB,aAChB,SAAAC,GAAW,QACX,SAAAC,EAAW,OACX,WAAAC,EAAa,SACb,UAAAC,GAAY,cACZ,UAAAC,GACA,UAAAC,GACA,cAAAC,GACA,eAAAC,GACA,YAAAC,GACA,aAAAC,EACF,EAAItB,GACEuB,GAAgBlC,GAAmB,cACnCmC,GAAWnC,GAAmB,SAC9BoC,EAAatB,GAAU,YAAc,GACrCuB,EAAmBvB,GAAU,kBAAoB,EACjDwB,GAAmBF,GAAcC,GAAoB,EAKrD,CAACE,EAAYC,CAAa,KAAI,YAAqB,qBAAmB,EACtE,CAACC,GAAiBC,CAAkB,KAAI,YAAS,EAAK,EACtD,CAACC,GAAgBC,CAAiB,KAAI,YAAS,EAAK,EACpD,CAACC,GAAkBC,CAAmB,KAAI,YAAS,EAAK,EACxD,CAACC,GAAgBC,CAAiB,KAAI,YAAS,EAAK,EACpD,CAACC,GAAgBC,CAAiB,KAAI,YAAS,EAAK,EACpD,CAACC,GAAgBC,CAAiB,KAAI,YAAS,EAAK,EACpD,CAACC,GAAcC,CAAe,KAAI,YAAS,EAAE,EAC7C,CAACC,GAAYC,EAAa,KAAI,YAA6B,EAC3D,CAACC,GAAkBC,EAAmB,KAAI,YAA6B,EACvE,CAACC,GAAYC,EAAa,KAAI,YAA6B,EAC3D,CAACC,GAAcC,EAAe,KAAI,YAA6B,EAC/D,CAACC,GAAkBC,EAAmB,KAAI,YAA6B,EACvE,CAACC,EAAsBC,EAAuB,KAAI,YAAiD,EACnGC,KAAe,UAAsB,IAAI,KAM/C,uBACEhD,GACA,KAAO,CACL,UAAW,CAAC,CAAE,QAAAiD,EAAS,MAAAC,EAAO,YAAAC,CAAY,IAAM,CAC9ChB,EAAgBc,CAAO,EACvBZ,GAAca,CAAK,EACnBX,GAAoBY,CAAW,EAC/BtB,EAAkB,EAAI,CACxB,EACA,UAAW,IAAM,CACfA,EAAkB,EAAK,CACzB,EACA,UAAWuB,GAAU,CACnBX,GAAcW,GAAQ,KAAK,EAC3BT,GAAgBS,GAAQ,OAAO,EAC/BP,GAAoBO,GAAQ,WAAW,EACvCrB,EAAkB,EAAI,CACxB,EACA,UAAW,IAAM,CACfA,EAAkB,EAAK,CACzB,EACA,WAAY,CAACsB,EAAOD,IAAW,CAC7B/B,EAAciC,IAAS,CAAE,GAAGA,EAAM,aAAcD,CAAM,EAAE,EACxDN,GAAwBK,CAAM,EAC9B7B,EAAmB,EAAI,CACzB,EACA,WAAY,IAAM,CAChBA,EAAmB,EAAK,CAC1B,EACA,UAAW,IAAM,CACfE,EAAkB,EAAI,CACxB,EACA,UAAW,IAAM,CACfA,EAAkB,EAAK,CACzB,EACA,YAAa,IAAM,CACjBE,EAAoB,EAAI,CAC1B,EACA,YAAa,IAAM,CACjBA,EAAoB,EAAK,CAC3B,EACA,UAAW,IAAM,CACfM,EAAkB,EAAI,CACxB,EACA,UAAW,IAAM,CACfA,EAAkB,EAAK,CACzB,EACA,cAAe,IAAM,CACnBV,EAAmB,EAAK,EACxBE,EAAkB,EAAK,EACvBE,EAAoB,EAAK,EACzBE,EAAkB,EAAK,EACvBE,EAAkB,EAAK,EACvBE,EAAkB,EAAK,CACzB,CACF,GACA,CAAC,CACH,KAMA,aAAU,IAAM,CAYhB,EAAG,CAAC9D,EAAQE,CAAc,CAAC,KAM3B,aAAU,IACD,IAAM,CAEP2E,EAAa,UAAY,MAC3B,qBAAqBA,EAAa,OAAO,CAE7C,EACC,CAAC,CAAC,EAUL,MAAMO,KAAkB,eAAY,SAAY,CAC9C,GAAI,CAAAnC,EAAW,WAGf,IAAI,CAACzB,GAAU,WAAY,CACzBC,IAAkB,EAClB,MACF,CAIA,GAAI,EAAAD,EAAS,kBAAoB,GAKjC,CAAA0B,EAAciC,IAAS,CACrB,GAAGA,EACH,WAAY,GACZ,iBAAkB,EACpB,EAAE,EAEF,GAAI,CAEF,IAAIE,EAAsBnF,EAEtBc,IAGFqE,EAAsB,MAAMrE,EAAY,GAI1C,MAAMsE,EAAetF,EAAO,KAAKuF,GAAKA,EAAE,WAAaF,CAAmB,GAAKrF,EAAO,CAAC,EAC/EwF,EAAexF,EAAO,UAAUuF,GAAKA,EAAE,WAAaD,EAAa,QAAQ,EAGzEG,GAAkB,IAAMzF,EAAO,OAC/B0F,GAAiBF,EAAeC,GAGhCE,EADe,EACc,KAAO,IAAMD,IAGhD,MAAM,IAAI,QAAQE,GAAW,WAAWA,EAAS,IAAI,CAAC,EAGtD1C,EAAciC,IAAS,CACrB,GAAGA,EACH,WAAY,GACZ,gBAAiB,CACnB,EAAE,EAGF,MAAMU,GAAY,KAAK,IAAI,EAErBC,EAAU,IAAM,CAEpB,MAAMC,GADM,KAAK,IAAI,EACCF,GAChBG,EAAW,KAAK,IAAID,GAAU5F,EAAc,CAAC,EAG7C8F,GAAQ,EAAI,KAAK,IAAI,EAAID,EAAU,CAAC,EAGpCE,GAAkBP,EAAcM,GAGtC/C,EAAciC,IAAS,CACrB,GAAGA,EACH,gBAAAe,EACF,EAAE,EAGEF,EAAW,EACbnB,EAAa,QAAU,sBAAsBiB,CAAO,GAGpD5C,EAAciC,IAAS,CACrB,GAAGA,EACH,WAAY,GACZ,iBAAkB,GAClB,aAAAG,EACA,gBAAiBK,CACnB,EAAE,EAGE1E,EACFA,IAAYqE,CAAY,EAExB,WAAW,IAAM,CAEXA,EAAa,WAAa,YAE5B1B,EAAkB,EAAI,EAGtBR,EAAmB,EAAI,CAE3B,EAAG,GAAG,EAGZ,EAGAyB,EAAa,QAAU,sBAAsBiB,CAAO,CACtD,OAASK,EAAO,CAEdjD,EAAciC,IAAS,CACrB,GAAGA,EACH,WAAY,GACZ,iBAAkB,EACpB,EAAE,EAGFnB,EAAiBmC,EAAgB,SAAW,mBAAmB,EAC/DzC,EAAkB,EAAI,EAGtBxC,IAAciF,CAAc,EAE5B,QAAQ,MAAM,oDAAaA,CAAK,CAClC,GACF,EAAG,CACDlD,EAAW,WACXjD,EACAE,EACAC,EACAa,EACAC,EACAC,EACAM,EACAC,CACF,CAAC,EAEK2E,MAAqB,eAAY,IAAM,CAC3C,GAAItD,EAAY,CACTsC,EAAgB,EACrB,MACF,CAEA3D,IAAkB,CACpB,EAAG,CAAC2D,EAAiBtC,EAAYrB,CAAe,CAAC,EAS3C4E,MAAyB,eAAY,IAAM,CAC/CjD,EAAmB,EAAK,EAExBF,EAAciC,IAAS,CACrB,GAAGA,EACH,iBAAkB,GAClB,WAAY,EACd,EAAE,CACJ,EAAG,CAAC,CAAC,EAKCmB,MAAwB,eAAY,IAAM,CAC9C1C,EAAkB,EAAK,EAEvBV,EAAciC,IAAS,CACrB,GAAGA,EACH,iBAAkB,GAClB,WAAY,EACd,EAAE,CACJ,EAAG,CAAC,CAAC,EAML,SACE,QAAC,OAAI,aAAW,MAAG,0BAA2B,SAAUlF,IAAU,OAAS,YAAc,GAAI2B,EAAS,EAEpG,qBAAC,OAAI,KAAK,SAAS,YAAU,SAAS,cAAY,OAAO,UAAU,UAChE,UAAAqB,EAAW,YAAc,oCACzBA,EAAW,cAAgB,CAACA,EAAW,YAAc,uBAAQA,EAAW,aAAa,IAAI,IAC5F,KAGA,QAAC,QAAK,aAAW,MAAG,qBAAsB,kBAAkB,EAE1D,oBAAC,YACC,KAAM,EACN,aAAW,MACT,gBACA,0EACA,cAEA,qCACA,sDACA,gDACA,8CACA,uBAEA,gBACAhD,IAAU,OAAS,eAAiB,cACtC,EAEA,oBAAC,OACC,aAAW,MACT,6BACA,4CACA,sCACA,oCACA,mBAEA,mEACF,EAGA,qBAAC,OAAI,UAAU,+GAEb,oBAAC,OACE,SAAA6C,MACC,QAAC,KAAE,UAAU,+BACV,UAAAnB,IAAoB,CAAC,KACtB,OAAC,QAAK,UAAU,sBAAuB,SAAAoB,EAAiB,EACvDpB,IAAoB,CAAC,GAAK,IAC7B,EAEJ,KAEA,QAAC,OAAI,UAAU,0BACZ,UAAAG,GAAaA,EAAU,OAAS,MAC/B,OAAC,UACC,QAASyE,GAAK,CACZA,EAAE,gBAAgB,EAClBjD,EAAkB,EAAI,CACxB,EACA,UAAU,oCACV,KAAK,SAEL,mBAAC,QAAK,UAAU,yCAA0C,SAAAvB,EAAU,EACtE,EAGDP,GAAU,YAAcQ,MACvB,OAAC,UACC,QAASuE,GAAK,CACZA,EAAE,gBAAgB,EAClB/C,EAAoB,EAAI,CAC1B,EACA,UAAU,sDACV,KAAK,SAEL,mBAAC,QAAK,UAAU,yCAA0C,SAAAvB,EAAc,EAC1E,GAEJ,GACF,KAEA,OAAC,SACC,MAAOhC,EACP,OAAQD,EACR,SAAUiD,EAAW,gBACrB,WAAYA,EAAW,WACvB,WAAYA,EAAW,WACvB,iBAAkBA,EAAW,kBAAoB,CAACH,GAAcE,GAChE,SAAUxB,EACV,UAAW4E,GACX,qBAAsBhG,EACtB,aAAcC,GAChB,GACF,EACF,EAGCC,EAAc,OAAS,MACtB,OAAC,YACC,KAAM,EACN,aAAW,MACT,eACA,cACA,yCACA,sDACA,gDACA,8CAEA,8CACA,SACA,uBACAL,IAAU,OAAS,eAAiB,cACtC,EAEA,mBAAC,kBACC,MAAOA,EACP,SAAUuB,EACV,QAASlB,EACT,MAAOC,GACP,SAAUC,GACV,WAAYC,GACZ,iBAAkB,IAAMqD,EAAkB,EAAI,EAC9C,gBAAiBpD,GAAmB,gBACpC,cAAekC,GACf,SAAUC,GACV,YAAanC,GAAmB,YAChC,cAAeC,GACf,YAAaC,GACf,EACF,GAEJ,KAGA,OAAC,OACC,aAAW,MACT,uBACA,cACA,gCACAX,IAAU,OAAS,eAAiB,cACtC,EAGA,mBAAC,aACC,MAAOA,EACP,OAAQD,EACR,MAAOe,GACP,aAAcF,GACd,mBAAoBC,GACtB,EACF,KAGA,OAAC,gBACC,OAAQqC,GACR,MAAOF,EAAW,aAClB,MAAO0B,GAAsB,OAASxD,GAAmB,MACzD,WAAYwD,GAAsB,YAAcxD,GAAmB,WACnE,WAAYwD,GAAsB,YAAcxD,GAAmB,WACnE,iBAAkBwD,GAAsB,kBAAoBxD,GAAmB,iBAC/E,WACEwD,GAAsB,YACtB1B,EAAW,cAAc,mBAAmB,YAC5C9B,GAAmB,WAErB,aACEwD,GAAsB,cACtB1B,EAAW,cAAc,mBAAmB,cAC5C9B,GAAmB,aAErB,cACEwD,GAAsB,eACtB1B,EAAW,cAAc,mBAAmB,eAC5C9B,GAAmB,cAErB,WAAYwD,GAAsB,YAAcxD,GAAmB,WACnE,UAAWwD,GAAsB,WAAaxD,GAAmB,UACjE,eAAgBwD,GAAsB,gBAAkBxD,GAAmB,eAC3E,eAAgBwD,GAAsB,gBAAkBxD,GAAmB,eAC3E,WAAYwD,GAAsB,YAAcxD,GAAmB,WACnE,YACEwD,GAAsB,aACtB1B,EAAW,cAAc,mBAAmB,aAC5C9B,GAAmB,YAErB,WACEwD,GAAsB,YACtB1B,EAAW,cAAc,mBAAmB,YAC5C9B,GAAmB,WAErB,SAAUwD,GAAsB,UAAYxD,GAAmB,UAAYgB,EAC3E,WAAYwC,GAAsB,YAAcxD,GAAmB,YAAciB,EACjF,QAASiE,GACT,MAAOpG,EACT,EAGC6B,GAAaA,EAAU,OAAS,MAC/B,OAAC,eACC,MAAOC,EACP,OAAQsB,GACR,QAAS,IAAMC,EAAkB,EAAK,EACtC,MAAOxB,EACP,MAAO7B,EACT,EAID+B,MACC,OAAC,mBACC,OAAQuB,GACR,QAAS,IAAMC,EAAoB,EAAK,EACxC,QAASxB,EACT,WAAYN,GACZ,SAAUQ,GACV,SAAUC,EACV,WAAYC,EACZ,UAAWC,GACX,UAAWC,GACX,UAAWC,GACX,cAAeC,GACf,eAAgBC,GAChB,YAAaC,GACb,aAAcC,GACd,MAAO1C,EACP,MAAOgC,EACT,KAIF,OAAC,cACC,OAAQwB,GACR,QAAS,IAAMC,EAAkB,EAAK,EACtC,MAAOO,IAAc3C,GAAkB,MACvC,QAASyC,IAAgBzC,GAAkB,QAC3C,YAAa6C,IAAoB7C,GAAkB,YACnD,MAAOrB,EACT,KAGA,OAAC,cACC,OAAQ0D,GACR,QAAS2C,GACT,MAAOjC,IAAc/C,GAAkB,MACvC,QAASiD,IAAgBjD,GAAkB,QAC3C,YAAamD,IAAoBnD,GAAkB,YACnD,MAAOrB,EACT,KAGA,OAAC,eACC,OAAQ4D,GACR,QAAS,IAAMC,EAAkB,EAAK,EACtC,MAAOvC,GAAkB,MACzB,SAAUA,GAAkB,SAC5B,KAAMA,GAAkB,KACxB,UAAWA,GAAkB,UAC7B,eAAgBA,GAAkB,eAClC,MAAOtB,EACT,GACF,CAEJ,CACF,EAGAnB,EAAa,YAAc,eAM3B,IAAOC,MAAQ,eAAWD,CAAY",
|
|
6
|
+
"names": ["WheelLottery_exports", "__export", "WheelLottery", "WheelLottery_default", "__toCommonJS", "import_jsx_runtime", "import_react", "import_helpers", "import_types", "import_grid", "import_Wheel", "import_PrizePool", "import_ChanceMethods", "import_WinnerModal", "import_RulesModal", "import_MyRewardsModal", "import_ErrorModal", "import_ShareModal", "import_Styles", "import_BaseModal", "prizes", "theme", "winningPrizeId", "spinDuration", "wheelBackgroundImage", "pointerImage", "chanceMethods", "chanceTitle", "chanceSubtitle", "chanceFooterNote", "chanceMethodsText", "mechanismType", "inputConfig", "winningInfos", "winnerNameTemplate", "prizesTitle", "onSpinStart", "onSpinEnd", "onSpinError", "winnerModalConfig", "rulesModalConfig", "myRewardsModalConfig", "errorModalConfig", "shareModalConfig", "userData", "onLoginRequired", "onCopyCode", "opportunitiesText", "className", "ref", "rulesData", "rulesText", "rewardsData", "myRewardsText", "codeText", "copyText", "copiedText", "prizeText", "emptyText", "copyError", "availableText", "usedStatusText", "expiredText", "notFoundText", "completedText", "usedText", "isLoggedIn", "availableChances", "isNoChancesState", "wheelState", "setWheelState", "showWinnerModal", "setShowWinnerModal", "showRulesModal", "setShowRulesModal", "showRewardsModal", "setShowRewardsModal", "showErrorModal", "setShowErrorModal", "showNoWinModal", "setShowNoWinModal", "showShareModal", "setShowShareModal", "errorMessage", "setErrorMessage", "errorTitle", "setErrorTitle", "errorConfirmText", "setErrorConfirmText", "noWinTitle", "setNoWinTitle", "noWinMessage", "setNoWinMessage", "noWinConfirmText", "setNoWinConfirmText", "externalWinnerConfig", "setExternalWinnerConfig", "animationRef", "message", "title", "confirmText", "config", "prize", "prev", "handleSpinStart", "finalWinningPrizeId", "winningPrize", "p", "winningIndex", "degreesPerPrize", "basePrizeAngle", "targetAngle", "resolve", "startTime", "animate", "elapsed", "progress", "eased", "currentRotation", "error", "handleWheelGoClick", "handleCloseWinnerModal", "handleCloseNoWinModal", "e"]
|
|
7
7
|
}
|
|
@@ -6,7 +6,7 @@ declare const WhyChooseItem: {
|
|
|
6
6
|
}): import("react/jsx-runtime").JSX.Element;
|
|
7
7
|
displayName: string;
|
|
8
8
|
};
|
|
9
|
-
declare const _default: React.ForwardRefExoticComponent<Omit<WhyChooseProps & React.RefAttributes<HTMLDivElement>, "container" | keyof import("../../shared/Styles.js").StylesProps> & import("../../shared/Styles.js").StylesProps & import("../
|
|
9
|
+
declare const _default: React.ForwardRefExoticComponent<Omit<WhyChooseProps & React.RefAttributes<HTMLDivElement>, "container" | keyof import("../../shared/Styles.js").StylesProps> & import("../../shared/Styles.js").StylesProps & import("../index.js").ContainerProps & React.RefAttributes<unknown>> & {
|
|
10
10
|
readonly $$typeof: symbol;
|
|
11
11
|
};
|
|
12
12
|
export default _default;
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
export { AccessoriesProductGrid, SectionHeader, PromoBanner, MainProductArea } from './AccessoriesShelf/index.js';
|
|
2
|
+
export type { UserType, AddedItem, BannerConfig, BannerAction, AccessoryCardProduct, AccessoryCardPrice, MoneyV2, NormalizedProduct, NormalizedProductVariant, NormalizedCart, } from './AccessoriesShelf/index.js';
|
|
1
3
|
export { default as ActivitySchedule } from './ActivitySchedule/index.js';
|
|
2
4
|
export type { ActivityScheduleProps, ActivityScheduleData, ActivityScheduleItem } from './ActivitySchedule/types.js';
|
|
3
5
|
export { default as GiftShelf } from './GiftShelf/index.js';
|
|
@@ -64,6 +66,8 @@ export { default as BenefitsTab } from './Listing/components/ProductCard/Product
|
|
|
64
66
|
export { default as PaidShipping } from './Listing/components/PaidShipping/index.js';
|
|
65
67
|
export { default as CartActionButtons } from './Listing/components/CartActionButtons/index.js';
|
|
66
68
|
export type { CartActionButtonsProps } from './Listing/components/CartActionButtons/index.js';
|
|
69
|
+
export { NotifyMeDialog } from './NotifyMeDialog/index.js';
|
|
70
|
+
export type { NotifyMeDialogProps, CheckboxConfig, SubscriptionMeta } from './NotifyMeDialog/types.js';
|
|
67
71
|
export { default as ProductServiceBenefits } from './Listing/components/ProductCard/ProductDetail/ProductServiceBenefits/index.js';
|
|
68
72
|
export type { ProductServiceBenefitsProps, ServiceBenefitItem, } from './Listing/components/ProductCard/ProductDetail/ProductServiceBenefits/index.js';
|
|
69
73
|
export { default as ProductPaidShipping } from './Listing/components/ProductCard/ProductPaidShipping/index.js';
|
|
@@ -136,6 +140,8 @@ export type { MediaTextOverlayProps, MediaTextOverlayData, MediaTextOverlayItem,
|
|
|
136
140
|
export type { CopyConfig as MediaShelfCopyConfig, ButtonFunctionType as MediaShelfButtonFunctionType, } from './MediaShelf/types.js';
|
|
137
141
|
export type { CopyConfig as ActiveShelfCopyConfig, ButtonFunctionType } from './ActiveShelf/types.js';
|
|
138
142
|
export { default as ImageOverlayShelf, type ButtonFunctionType as ImageOverlayShelfButtonFunctionType, } from './ImageOverlayShelf/index.js';
|
|
143
|
+
export { default as AccessoryShelf, AccessoryProductCard } from './AccessoriesShelf/components/AccessoryShelf/index.js';
|
|
144
|
+
export type { AccessoryShelfProps, AccessoryProductData, AccessoryCardSemanticName, AccessoryCopyConfig, AccessoryProductCardProps, } from './AccessoriesShelf/components/AccessoryShelf';
|
|
139
145
|
export { default as ImageTextOverlay } from './ImageTextOverlay/index.js';
|
|
140
146
|
export type { ImageTextOverlayProps, ImageTextOverlayData, ImageTextOverlayItem, ImageTextOverlaySemanticName, ImageTextOverlayBackgroundImage, } from './ImageTextOverlay/types.js';
|
|
141
147
|
export { default as MiniCart } from './MiniCart/index.js';
|
|
@@ -205,3 +211,5 @@ export declare const PAYLOAD_COMPONENT_MAP: {
|
|
|
205
211
|
'ipc-media-scene-switcher-v2': string;
|
|
206
212
|
'ipc-featured-blog-posts': string;
|
|
207
213
|
};
|
|
214
|
+
export { useAiuiContext } from './AiuiProvider/index.js';
|
|
215
|
+
export type { ContainerProps } from '../shared/Styles.js';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var ot=Object.create;var p=Object.defineProperty;var it=Object.getOwnPropertyDescriptor;var pt=Object.getOwnPropertyNames;var st=Object.getPrototypeOf,ft=Object.prototype.hasOwnProperty;var dt=(t,r)=>{for(var a in r)p(t,a,{get:r[a],enumerable:!0})},m=(t,r,a,l)=>{if(r&&typeof r=="object"||typeof r=="function")for(let i of pt(r))!ft.call(t,i)&&i!==a&&p(t,i,{get:()=>r[i],enumerable:!(l=it(r,i))||l.enumerable});return t};var e=(t,r,a)=>(a=t!=null?ot(st(t)):{},m(r||!t||!t.__esModule?p(a,"default",{value:t,enumerable:!0}):a,t)),ct=t=>m(p({},"__esModule",{value:!0}),t);var nt={};dt(nt,{AccordionCards:()=>b.default,ActiveShelf:()=>Ue.default,ActivityMechanism:()=>S.default,ActivitySchedule:()=>x.default,AiuiProvider:()=>H.default,AnchorNavigation:()=>Re.default,AplusDesc:()=>Se.default,BenefitsTab:()=>ue.default,BizProductProvider:()=>f.default,BrandCardLink:()=>ve.default,BrandEquity:()=>P.default,BuyOneGetOneShelf:()=>ze.default,CartActionButtons:()=>le.default,Category:()=>I.default,CreativeModule:()=>_.default,CreditsProductCard:()=>d.CreditsProductCard,CreditsShelf:()=>d.default,DownLoad:()=>ge.default,Evaluate:()=>T.default,EventSchedule:()=>Ke.default,Faq:()=>O.default,FeatureCards:()=>De.default,FeatureShowcase:()=>we.default,FeaturedBlogPosts:()=>Fe.default,Features:()=>he.default,FootCharger:()=>Me.default,FooterNavigation:()=>q.default,GiftBox:()=>Pe.default,GiftShelf:()=>y.default,GiftTierShelf:()=>h.default,Graphic:()=>D.default,GraphicAttractionBlock:()=>E.default,GraphicMore:()=>ye.default,GraphicOverlay:()=>z.default,HeaderNavigation:()=>W.default,HeroBanner:()=>j.default,IPC_SEARCH_PAGE:()=>s.IPC_SEARCH_PAGE,IPRedirect:()=>lt,ImageOverlayShelf:()=>Ze.default,ImageTextFeature:()=>be.default,ImageTextOverlay:()=>$e.default,ImageWithText:()=>Ae.default,Ksp:()=>je.default,Marquee:()=>L.default,MarqueeImageContent:()=>o.MarqueeImageContent,MarqueeItem:()=>o.MarqueeItem,MarqueeReview:()=>k.default,MarqueeTextContent:()=>o.MarqueeTextContent,MediaEndorsement:()=>Qe.default,MediaPlayerBase:()=>F.default,MediaPlayerMulti:()=>G.default,MediaPlayerSticky:()=>A.default,MediaSceneSwitcher:()=>Ee.default,MediaSceneSwitcherV2:()=>We.default,MediaShelf:()=>Ye.default,MediaTextOverlay:()=>Xe.default,MemberEquity:()=>C.default,MiniCart:()=>et.default,MiniCartCircleProgress:()=>tt.default,MiniCartDialog:()=>n.default,MiniCartDialogComponent:()=>n.MiniCartDialog,MultiLayoutGraphicBlock:()=>V.default,PAYLOAD_COMPONENT_MAP:()=>ut,PaidShipping:()=>ne.default,ProductActions:()=>Q.default,ProductBanner:()=>pe.default,ProductBenefits:()=>$.default,ProductBenefitsTabs:()=>Z.default,ProductBundle:()=>oe.default,ProductCard:()=>X.default,ProductCompare:()=>Ie.default,ProductCoupon:()=>ie.default,ProductDetail:()=>de.default,ProductExchangePurchase:()=>re.default,ProductFreeGift:()=>te.default,ProductGallery:()=>fe.default,ProductGridBox:()=>se.default,ProductHero:()=>Oe.default,ProductHighlight:()=>ee.default,ProductLottery:()=>Te.default,ProductNav:()=>Ne.default,ProductOptions:()=>ae.default,ProductPaidShipping:()=>xe.default,ProductServiceBenefits:()=>me.default,ProductSummary:()=>ce.default,PromotionalBar:()=>He.default,PurchaseBar:()=>J.default,SceneProductCard:()=>c.SceneProductCard,SceneShelf:()=>c.default,SceneShelfV2:()=>u.default,SceneShelfV2ProductCard:()=>u.SceneShelfV2ProductCard,SceneShelfV3:()=>Je.default,SearchPage:()=>N.default,SearchPageTabType:()=>s.SearchPageTabType,SecondaryBanner:()=>_e.default,SelectStore:()=>Ce.default,ShelfDisplay:()=>B.default,Slogan:()=>g.default,Spacer:()=>v.default,Specs:()=>U.default,SpecsComparison:()=>Ve.default,TabGroup:()=>Y.default,TabWithImage:()=>ke.default,Tabs:()=>K.default,TabsWithMedia:()=>Le.default,ThreeDCarousel:()=>qe.default,Title:()=>M.default,VideoFeature:()=>Ge.default,WebPushPopup:()=>rt.default,WheelLottery:()=>Be.default,WhyChoose:()=>w.default,useBizProductContext:()=>f.useBizProductContext,useEmarsysWebPush:()=>at.useEmarsysWebPush,withLayout:()=>R.withLayout});module.exports=ct(nt);var x=e(require("./ActivitySchedule/index.js")),y=e(require("./GiftShelf/index.js")),h=e(require("./GiftTierShelf/index.js")),S=e(require("./ActivityMechanism/index.js")),P=e(require("./BrandEquity/index.js")),C=e(require("./MemberEquity/index.js")),g=e(require("./Slogan/index.js")),M=e(require("./Title/index.js")),v=e(require("./Spacer/index.js")),B=e(require("./ShelfDisplay/index.js")),T=e(require("./Evaluate/index.js")),I=e(require("./Category/index.js")),j=e(require("./HeroBanner/index.js")),b=e(require("./AccordionCards/index.js")),D=e(require("./Graphic/index.js")),F=e(require("./MediaPlayerBase/index.js")),A=e(require("./MediaPlayerSticky/index.js")),G=e(require("./MediaPlayerMulti/index.js")),L=e(require("./Marquee/index.js")),k=e(require("./MarqueeReview/index.js")),w=e(require("./WhyChoose/index.js")),O=e(require("./Faq/index.js")),o=require("./Marquee/index.js"),V=e(require("./MultiLayoutGraphicBlock/index.js")),E=e(require("./GraphicAttractionBlock/index.js")),W=e(require("./HeaderNavigation/index.js")),q=e(require("./FooterNavigation/index.js")),N=e(require("./SearchPage/index.js")),s=require("./SearchPage/types.js"),R=require("../shared/Styles.js"),H=e(require("./AiuiProvider/index.js")),K=e(require("./Tabs/index.js")),_=e(require("./CreativeModule/index.js")),z=e(require("./GraphicOverlay/index.js")),U=e(require("./Specs/index.js")),Y=e(require("./TabsGroup/index.js")),f=e(require("./Listing/BizProductProvider.js")),J=e(require("./Listing/components/PurchaseBar/index.js")),Q=e(require("./Listing/components/PurchaseBar/ProductActions/index.js")),X=e(require("./Listing/components/ProductCard/index.js")),Z=e(require("./Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.js")),$=e(require("./Listing/components/ProductCard/ProductDetail/ProductBenefits/index.js")),ee=e(require("./Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js")),te=e(require("./Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.js")),re=e(require("./Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.js")),ae=e(require("./Listing/components/ProductCard/ProductDetail/ProductOptions/index.js")),oe=e(require("./Listing/components/ProductCard/ProductDetail/ProductBundle/index.js")),ie=e(require("./Listing/components/ProductCard/ProductDetail/ProductCoupon/index.js")),pe=e(require("./Listing/components/ProductCard/ProductDetail/ProductBanner/index.js")),se=e(require("./Listing/components/ProductCard/ProductGridBox.js")),fe=e(require("./Listing/components/ProductCard/ProductGallery/index.js")),de=e(require("./Listing/components/ProductCard/ProductDetail/index.js")),ce=e(require("./Listing/components/ProductCard/ProductSummary/index.js")),ue=e(require("./Listing/components/ProductCard/ProductDetail/BenefitsTab.js")),ne=e(require("./Listing/components/PaidShipping/index.js")),le=e(require("./Listing/components/CartActionButtons/index.js")),me=e(require("./Listing/components/ProductCard/ProductDetail/ProductServiceBenefits/index.js")),xe=e(require("./Listing/components/ProductCard/ProductPaidShipping/index.js")),ye=e(require("./GraphicMore/index.js")),he=e(require("./Features/index.js")),Se=e(require("./AplusDesc/index.js")),Pe=e(require("./GiftBox/index.js")),Ce=e(require("./SelectStore/index.js")),ge=e(require("./DownLoad/index.js")),Me=e(require("./FootCharger/index.js")),ve=e(require("./BrandCardLink/index.js")),lt=e(require("./IPRedirect/index.js")),Be=e(require("./WheelLottery/index.js")),Te=e(require("./ProductLottery/index.js")),Ie=e(require("./ProductCompare/index.js")),je=e(require("./Ksp/index.js")),be=e(require("./ImageTextFeature/index.js")),De=e(require("./FeatureCards/index.js")),Fe=e(require("./FeaturedBlogPosts/index.js")),Ae=e(require("./ImageWithText/index.js")),Ge=e(require("./VideoFeature/index.js")),Le=e(require("./TabsWithMedia/index.js")),ke=e(require("./TabWithImage/index.js")),we=e(require("./FeatureShowcase/index.js")),Oe=e(require("./ProductHero/index.js")),Ve=e(require("./SpecsComparison/index.js")),Ee=e(require("./MediaSceneSwitcher/index.js")),We=e(require("./MediaSceneSwitcherV2/index.js")),qe=e(require("./ThreeDCarousel/index.js")),Ne=e(require("./ProductNav/index.js")),Re=e(require("./AnchorNavigation/index.js")),He=e(require("./PromotionalBar/index.js")),Ke=e(require("./EventSchedule/index.js")),_e=e(require("./SecondaryBanner/index.js")),ze=e(require("./BuyOneGetOneShelf/index.js")),Ue=e(require("./ActiveShelf/index.js")),Ye=e(require("./MediaShelf/index.js")),d=e(require("./CreditsShelf/index.js")),c=e(require("./SceneShelf/index.js")),u=e(require("./SceneShelfV2/index.js")),Je=e(require("./SceneShelfV3/index.js")),Qe=e(require("./MediaEndorsement/index.js")),Xe=e(require("./MediaTextOverlay/index.js")),Ze=e(require("./ImageOverlayShelf/index.js")),$e=e(require("./ImageTextOverlay/index.js")),et=e(require("./MiniCart/index.js")),tt=e(require("./MiniCart/CircleProgress.js")),n=e(require("./MiniCart/MiniCartDialog.js")),rt=e(require("./WebPushPopup/index.js")),at=require("../hooks/useEmarsysWebPush.js");const ut={"ipc-accordioncards":"AccordionCards","ipc-aplusdesc":"AplusDesc","ipc-banner":"HeroBanner","ipc-brand-equity":"BrandEquity","ipc-category":"Category","ipc-collection-banner":"CollectionBanner","ipc-collection-shelves":"CollectionShelves","ipc-creativemodule":"CreativeModule","ipc-download":"DownLoad","ipc-evaluate":"Evaluate","ipc-faq":"Faq","ipc-features":"Features","ipc-footcharger":"FootCharger","ipc-ga-block":"GraphicAttractionBlock","ipc-giftbox":"GiftBox","ipc-giftshelf":"GiftShelf","ipc-graphic":"Graphic","ipc-graphicmore":"GraphicMore","ipc-graphicoverlay":"GraphicOverlay","ipc-marquee":"Marquee","ipc-mediaplayerbase":"MediaPlayerBase","ipc-mediaplayermulti":"MediaPlayerMulti","ipc-mediaplayersticky":"MediaPlayerSticky","ipc-member-equity":"MemberEquity","ipc-mlg-block":"MultiLayoutGraphicBlock","ipc-search-page-tabs":"SearchPageBlock","ipc-selectstore":"SelectStore","ipc-shelfdisplay":"ShelfDisplay","ipc-slogan":"Slogan","ipc-spacer":"Spacer","ipc-specs":"Specs","ipc-tabs":"Tabs","ipc-text-marquee":"TextMarquee","ipc-title":"Title","ipc-whychoose":"WhyChoose","ipc-product-nav":"ProductNav","ipc-brand-card-link":"BrandCardLink","ipc-ipredirect":"IPRedirect",ksp:"Ksp","ipc-secondary-banner":"SecondaryBanner","ipc-active-shelf":"ActiveShelf","ipc-media-shelf":"MediaShelf","ipc-bogo-shelf":"BuyOneGetOneShelf","ipc-media-endorsement":"MediaEndorsement","ipc-media-scene-switcher-v2":"MediaSceneSwitcherV2","ipc-featured-blog-posts":"FeaturedBlogPosts"};
|
|
1
|
+
"use strict";var ft=Object.create;var p=Object.defineProperty;var dt=Object.getOwnPropertyDescriptor;var ct=Object.getOwnPropertyNames;var nt=Object.getPrototypeOf,ut=Object.prototype.hasOwnProperty;var lt=(t,r)=>{for(var o in r)p(t,o,{get:r[o],enumerable:!0})},y=(t,r,o,x)=>{if(r&&typeof r=="object"||typeof r=="function")for(let s of ct(r))!ut.call(t,s)&&s!==o&&p(t,s,{get:()=>r[s],enumerable:!(x=dt(r,s))||x.enumerable});return t};var e=(t,r,o)=>(o=t!=null?ft(nt(t)):{},y(r||!t||!t.__esModule?p(o,"default",{value:t,enumerable:!0}):o,t)),mt=t=>y(p({},"__esModule",{value:!0}),t);var yt={};lt(yt,{AccessoriesProductGrid:()=>a.AccessoriesProductGrid,AccessoryProductCard:()=>l.AccessoryProductCard,AccessoryShelf:()=>l.default,AccordionCards:()=>b.default,ActiveShelf:()=>Qe.default,ActivityMechanism:()=>C.default,ActivitySchedule:()=>h.default,AiuiProvider:()=>K.default,AnchorNavigation:()=>Ke.default,AplusDesc:()=>ge.default,BenefitsTab:()=>le.default,BizProductProvider:()=>d.default,BrandCardLink:()=>Ie.default,BrandEquity:()=>g.default,BuyOneGetOneShelf:()=>Je.default,CartActionButtons:()=>xe.default,Category:()=>j.default,CreativeModule:()=>_.default,CreditsProductCard:()=>c.CreditsProductCard,CreditsShelf:()=>c.default,DownLoad:()=>ve.default,Evaluate:()=>A.default,EventSchedule:()=>_e.default,Faq:()=>O.default,FeatureCards:()=>Ge.default,FeatureShowcase:()=>Oe.default,FeaturedBlogPosts:()=>ke.default,Features:()=>Ce.default,FootCharger:()=>Te.default,FooterNavigation:()=>R.default,GiftBox:()=>Me.default,GiftShelf:()=>P.default,GiftTierShelf:()=>S.default,Graphic:()=>F.default,GraphicAttractionBlock:()=>W.default,GraphicMore:()=>Se.default,GraphicOverlay:()=>Y.default,HeaderNavigation:()=>q.default,HeroBanner:()=>D.default,IPC_SEARCH_PAGE:()=>f.IPC_SEARCH_PAGE,IPRedirect:()=>ht,ImageOverlayShelf:()=>tt.default,ImageTextFeature:()=>Fe.default,ImageTextOverlay:()=>rt.default,ImageWithText:()=>Le.default,Ksp:()=>be.default,MainProductArea:()=>a.MainProductArea,Marquee:()=>V.default,MarqueeImageContent:()=>i.MarqueeImageContent,MarqueeItem:()=>i.MarqueeItem,MarqueeReview:()=>w.default,MarqueeTextContent:()=>i.MarqueeTextContent,MediaEndorsement:()=>$e.default,MediaPlayerBase:()=>G.default,MediaPlayerMulti:()=>L.default,MediaPlayerSticky:()=>k.default,MediaSceneSwitcher:()=>qe.default,MediaSceneSwitcherV2:()=>Re.default,MediaShelf:()=>Xe.default,MediaTextOverlay:()=>et.default,MemberEquity:()=>M.default,MiniCart:()=>ot.default,MiniCartCircleProgress:()=>at.default,MiniCartDialog:()=>m.default,MiniCartDialogComponent:()=>m.MiniCartDialog,MultiLayoutGraphicBlock:()=>E.default,NotifyMeDialog:()=>ye.NotifyMeDialog,PAYLOAD_COMPONENT_MAP:()=>xt,PaidShipping:()=>me.default,ProductActions:()=>Z.default,ProductBanner:()=>fe.default,ProductBenefits:()=>te.default,ProductBenefitsTabs:()=>ee.default,ProductBundle:()=>se.default,ProductCard:()=>$.default,ProductCompare:()=>De.default,ProductCoupon:()=>pe.default,ProductDetail:()=>ne.default,ProductExchangePurchase:()=>ae.default,ProductFreeGift:()=>oe.default,ProductGallery:()=>ce.default,ProductGridBox:()=>de.default,ProductHero:()=>Ee.default,ProductHighlight:()=>re.default,ProductLottery:()=>je.default,ProductNav:()=>ze.default,ProductOptions:()=>ie.default,ProductPaidShipping:()=>Pe.default,ProductServiceBenefits:()=>he.default,ProductSummary:()=>ue.default,PromoBanner:()=>a.PromoBanner,PromotionalBar:()=>Ue.default,PurchaseBar:()=>X.default,SceneProductCard:()=>n.SceneProductCard,SceneShelf:()=>n.default,SceneShelfV2:()=>u.default,SceneShelfV2ProductCard:()=>u.SceneShelfV2ProductCard,SceneShelfV3:()=>Ze.default,SearchPage:()=>H.default,SearchPageTabType:()=>f.SearchPageTabType,SecondaryBanner:()=>Ye.default,SectionHeader:()=>a.SectionHeader,SelectStore:()=>Be.default,ShelfDisplay:()=>I.default,Slogan:()=>B.default,Spacer:()=>T.default,Specs:()=>J.default,SpecsComparison:()=>We.default,TabGroup:()=>Q.default,TabWithImage:()=>Ne.default,Tabs:()=>U.default,TabsWithMedia:()=>we.default,ThreeDCarousel:()=>He.default,Title:()=>v.default,VideoFeature:()=>Ve.default,WebPushPopup:()=>it.default,WheelLottery:()=>Ae.default,WhyChoose:()=>N.default,useAiuiContext:()=>pt.useAiuiContext,useBizProductContext:()=>d.useBizProductContext,useEmarsysWebPush:()=>st.useEmarsysWebPush,withLayout:()=>z.withLayout});module.exports=mt(yt);var a=require("./AccessoriesShelf/index.js"),h=e(require("./ActivitySchedule/index.js")),P=e(require("./GiftShelf/index.js")),S=e(require("./GiftTierShelf/index.js")),C=e(require("./ActivityMechanism/index.js")),g=e(require("./BrandEquity/index.js")),M=e(require("./MemberEquity/index.js")),B=e(require("./Slogan/index.js")),v=e(require("./Title/index.js")),T=e(require("./Spacer/index.js")),I=e(require("./ShelfDisplay/index.js")),A=e(require("./Evaluate/index.js")),j=e(require("./Category/index.js")),D=e(require("./HeroBanner/index.js")),b=e(require("./AccordionCards/index.js")),F=e(require("./Graphic/index.js")),G=e(require("./MediaPlayerBase/index.js")),k=e(require("./MediaPlayerSticky/index.js")),L=e(require("./MediaPlayerMulti/index.js")),V=e(require("./Marquee/index.js")),w=e(require("./MarqueeReview/index.js")),N=e(require("./WhyChoose/index.js")),O=e(require("./Faq/index.js")),i=require("./Marquee/index.js"),E=e(require("./MultiLayoutGraphicBlock/index.js")),W=e(require("./GraphicAttractionBlock/index.js")),q=e(require("./HeaderNavigation/index.js")),R=e(require("./FooterNavigation/index.js")),H=e(require("./SearchPage/index.js")),f=require("./SearchPage/types.js"),z=require("../shared/Styles.js"),K=e(require("./AiuiProvider/index.js")),U=e(require("./Tabs/index.js")),_=e(require("./CreativeModule/index.js")),Y=e(require("./GraphicOverlay/index.js")),J=e(require("./Specs/index.js")),Q=e(require("./TabsGroup/index.js")),d=e(require("./Listing/BizProductProvider.js")),X=e(require("./Listing/components/PurchaseBar/index.js")),Z=e(require("./Listing/components/PurchaseBar/ProductActions/index.js")),$=e(require("./Listing/components/ProductCard/index.js")),ee=e(require("./Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.js")),te=e(require("./Listing/components/ProductCard/ProductDetail/ProductBenefits/index.js")),re=e(require("./Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js")),oe=e(require("./Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.js")),ae=e(require("./Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.js")),ie=e(require("./Listing/components/ProductCard/ProductDetail/ProductOptions/index.js")),se=e(require("./Listing/components/ProductCard/ProductDetail/ProductBundle/index.js")),pe=e(require("./Listing/components/ProductCard/ProductDetail/ProductCoupon/index.js")),fe=e(require("./Listing/components/ProductCard/ProductDetail/ProductBanner/index.js")),de=e(require("./Listing/components/ProductCard/ProductGridBox.js")),ce=e(require("./Listing/components/ProductCard/ProductGallery/index.js")),ne=e(require("./Listing/components/ProductCard/ProductDetail/index.js")),ue=e(require("./Listing/components/ProductCard/ProductSummary/index.js")),le=e(require("./Listing/components/ProductCard/ProductDetail/BenefitsTab.js")),me=e(require("./Listing/components/PaidShipping/index.js")),xe=e(require("./Listing/components/CartActionButtons/index.js")),ye=require("./NotifyMeDialog/index.js"),he=e(require("./Listing/components/ProductCard/ProductDetail/ProductServiceBenefits/index.js")),Pe=e(require("./Listing/components/ProductCard/ProductPaidShipping/index.js")),Se=e(require("./GraphicMore/index.js")),Ce=e(require("./Features/index.js")),ge=e(require("./AplusDesc/index.js")),Me=e(require("./GiftBox/index.js")),Be=e(require("./SelectStore/index.js")),ve=e(require("./DownLoad/index.js")),Te=e(require("./FootCharger/index.js")),Ie=e(require("./BrandCardLink/index.js")),ht=e(require("./IPRedirect/index.js")),Ae=e(require("./WheelLottery/index.js")),je=e(require("./ProductLottery/index.js")),De=e(require("./ProductCompare/index.js")),be=e(require("./Ksp/index.js")),Fe=e(require("./ImageTextFeature/index.js")),Ge=e(require("./FeatureCards/index.js")),ke=e(require("./FeaturedBlogPosts/index.js")),Le=e(require("./ImageWithText/index.js")),Ve=e(require("./VideoFeature/index.js")),we=e(require("./TabsWithMedia/index.js")),Ne=e(require("./TabWithImage/index.js")),Oe=e(require("./FeatureShowcase/index.js")),Ee=e(require("./ProductHero/index.js")),We=e(require("./SpecsComparison/index.js")),qe=e(require("./MediaSceneSwitcher/index.js")),Re=e(require("./MediaSceneSwitcherV2/index.js")),He=e(require("./ThreeDCarousel/index.js")),ze=e(require("./ProductNav/index.js")),Ke=e(require("./AnchorNavigation/index.js")),Ue=e(require("./PromotionalBar/index.js")),_e=e(require("./EventSchedule/index.js")),Ye=e(require("./SecondaryBanner/index.js")),Je=e(require("./BuyOneGetOneShelf/index.js")),Qe=e(require("./ActiveShelf/index.js")),Xe=e(require("./MediaShelf/index.js")),c=e(require("./CreditsShelf/index.js")),n=e(require("./SceneShelf/index.js")),u=e(require("./SceneShelfV2/index.js")),Ze=e(require("./SceneShelfV3/index.js")),$e=e(require("./MediaEndorsement/index.js")),et=e(require("./MediaTextOverlay/index.js")),tt=e(require("./ImageOverlayShelf/index.js")),l=e(require("./AccessoriesShelf/components/AccessoryShelf/index.js")),rt=e(require("./ImageTextOverlay/index.js")),ot=e(require("./MiniCart/index.js")),at=e(require("./MiniCart/CircleProgress.js")),m=e(require("./MiniCart/MiniCartDialog.js")),it=e(require("./WebPushPopup/index.js")),st=require("../hooks/useEmarsysWebPush.js"),pt=require("./AiuiProvider/index.js");const xt={"ipc-accordioncards":"AccordionCards","ipc-aplusdesc":"AplusDesc","ipc-banner":"HeroBanner","ipc-brand-equity":"BrandEquity","ipc-category":"Category","ipc-collection-banner":"CollectionBanner","ipc-collection-shelves":"CollectionShelves","ipc-creativemodule":"CreativeModule","ipc-download":"DownLoad","ipc-evaluate":"Evaluate","ipc-faq":"Faq","ipc-features":"Features","ipc-footcharger":"FootCharger","ipc-ga-block":"GraphicAttractionBlock","ipc-giftbox":"GiftBox","ipc-giftshelf":"GiftShelf","ipc-graphic":"Graphic","ipc-graphicmore":"GraphicMore","ipc-graphicoverlay":"GraphicOverlay","ipc-marquee":"Marquee","ipc-mediaplayerbase":"MediaPlayerBase","ipc-mediaplayermulti":"MediaPlayerMulti","ipc-mediaplayersticky":"MediaPlayerSticky","ipc-member-equity":"MemberEquity","ipc-mlg-block":"MultiLayoutGraphicBlock","ipc-search-page-tabs":"SearchPageBlock","ipc-selectstore":"SelectStore","ipc-shelfdisplay":"ShelfDisplay","ipc-slogan":"Slogan","ipc-spacer":"Spacer","ipc-specs":"Specs","ipc-tabs":"TabsBlock","ipc-text-marquee":"TextMarquee","ipc-title":"Title","ipc-whychoose":"WhyChoose","ipc-product-nav":"ProductNav","ipc-brand-card-link":"BrandCardLink","ipc-ipredirect":"IPRedirect",ksp:"Ksp","ipc-secondary-banner":"SecondaryBanner","ipc-active-shelf":"ActiveShelf","ipc-media-shelf":"MediaShelf","ipc-bogo-shelf":"BuyOneGetOneShelf","ipc-media-endorsement":"MediaEndorsement","ipc-media-scene-switcher-v2":"MediaSceneSwitcherV2","ipc-featured-blog-posts":"FeaturedBlogPosts"};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/biz-components/index.ts"],
|
|
4
|
-
"sourcesContent": ["export { default as ActivitySchedule } from './ActivitySchedule/index.js'\nexport type { ActivityScheduleProps, ActivityScheduleData, ActivityScheduleItem } from './ActivitySchedule/types.js'\nexport { default as GiftShelf } from './GiftShelf/index.js'\nexport type {\n GiftShelfProps,\n GiftShelfData,\n GiftShelfItem,\n CountdownConfig,\n ResponsiveBackgroundImage as GiftShelfResponsiveBackgroundImage,\n} from './GiftShelf/types.js'\nexport { default as GiftTierShelf } from './GiftTierShelf/index.js'\nexport type { GiftTierShelfProps, GiftTierShelfData, GiftTierItem, GiftTierProduct } from './GiftTierShelf/types.js'\nexport { default as ActivityMechanism } from './ActivityMechanism/index.js'\nexport type {\n ActivityMechanismProps,\n ActivityMechanismItem,\n ActivityMechanismSemanticName,\n ResponsiveBackgroundImage,\n} from './ActivityMechanism/types.js'\nexport { default as BrandEquity } from './BrandEquity/index.js'\nexport { default as MemberEquity } from './MemberEquity/index.js'\nexport { default as Slogan } from './Slogan/index.js'\nexport { default as Title } from './Title/index.js'\nexport { default as Spacer } from './Spacer/index.js'\nexport { default as ShelfDisplay } from './ShelfDisplay/index.js'\nexport { default as Evaluate } from './Evaluate/index.js'\nexport { default as Category } from './Category/index.js'\nexport { default as HeroBanner } from './HeroBanner/index.js'\nexport { default as AccordionCards } from './AccordionCards/index.js'\nexport { default as Graphic } from './Graphic/index.js'\nexport { default as MediaPlayerBase } from './MediaPlayerBase/index.js'\nexport { default as MediaPlayerSticky } from './MediaPlayerSticky/index.js'\nexport { default as MediaPlayerMulti } from './MediaPlayerMulti/index.js'\nexport { default as Marquee } from './Marquee/index.js'\nexport { default as MarqueeReview } from './MarqueeReview/index.js'\nexport type { MarqueeReviewProps, MarqueeReviewData, ReviewItem } from './MarqueeReview/index.js'\nexport { default as WhyChoose } from './WhyChoose/index.js'\nexport { default as Faq } from './Faq/index.js'\nexport { MarqueeItem, MarqueeImageContent, MarqueeTextContent } from './Marquee/index.js'\nexport { default as MultiLayoutGraphicBlock } from './MultiLayoutGraphicBlock/index.js'\nexport type { MultiLayoutGraphicBlockProps } from './MultiLayoutGraphicBlock/index.js'\nexport { default as GraphicAttractionBlock } from './GraphicAttractionBlock/index.js'\nexport type { GraphicAttractionBlockProps } from './GraphicAttractionBlock/index.js'\nexport { default as HeaderNavigation } from './HeaderNavigation/index.js'\nexport { default as FooterNavigation } from './FooterNavigation/index.js'\nexport { default as SearchPage } from './SearchPage/index.js'\nexport type { SearchPageProps } from './SearchPage/types.js'\nexport { IPC_SEARCH_PAGE, SearchPageTabType } from './SearchPage/types.js'\n\nexport { withLayout } from '../shared/Styles.js'\nexport { default as AiuiProvider } from './AiuiProvider/index.js'\nexport { default as Tabs } from './Tabs/index.js'\nexport { default as CreativeModule } from './CreativeModule/index.js'\nexport { default as GraphicOverlay } from './GraphicOverlay/index.js'\nexport { default as Specs } from './Specs/index.js'\nexport { default as TabGroup } from './TabsGroup/index.js'\n\nexport { default as BizProductProvider, useBizProductContext } from './Listing/BizProductProvider.js'\nexport { default as PurchaseBar } from './Listing/components/PurchaseBar/index.js'\nexport { default as ProductActions } from './Listing/components/PurchaseBar/ProductActions/index.js'\nexport type { ProductActionsProps } from './Listing/components/PurchaseBar/ProductActions/index.js'\nexport { default as ProductCard } from './Listing/components/ProductCard/index.js'\nexport { default as ProductBenefitsTabs } from './Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.js'\nexport { default as ProductBenefits } from './Listing/components/ProductCard/ProductDetail/ProductBenefits/index.js'\nexport { default as ProductHighlight } from './Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js'\nexport { default as ProductFreeGift } from './Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.js'\nexport { default as ProductExchangePurchase } from './Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.js'\nexport { default as ProductOptions } from './Listing/components/ProductCard/ProductDetail/ProductOptions/index.js'\nexport { default as ProductBundle } from './Listing/components/ProductCard/ProductDetail/ProductBundle/index.js'\nexport { default as ProductCoupon } from './Listing/components/ProductCard/ProductDetail/ProductCoupon/index.js'\nexport { default as ProductBanner } from './Listing/components/ProductCard/ProductDetail/ProductBanner/index.js'\nexport { default as ProductGridBox } from './Listing/components/ProductCard/ProductGridBox.js'\nexport { default as ProductGallery } from './Listing/components/ProductCard/ProductGallery/index.js'\nexport { default as ProductDetail } from './Listing/components/ProductCard/ProductDetail/index.js'\nexport { default as ProductSummary } from './Listing/components/ProductCard/ProductSummary/index.js'\nexport { default as BenefitsTab } from './Listing/components/ProductCard/ProductDetail/BenefitsTab.js'\nexport { default as PaidShipping } from './Listing/components/PaidShipping/index.js'\nexport { default as CartActionButtons } from './Listing/components/CartActionButtons/index.js'\nexport type { CartActionButtonsProps } from './Listing/components/CartActionButtons/index.js'\nexport { default as ProductServiceBenefits } from './Listing/components/ProductCard/ProductDetail/ProductServiceBenefits/index.js'\nexport type {\n ProductServiceBenefitsProps,\n ServiceBenefitItem,\n} from './Listing/components/ProductCard/ProductDetail/ProductServiceBenefits/index.js'\nexport { default as ProductPaidShipping } from './Listing/components/ProductCard/ProductPaidShipping/index.js'\n\nexport { default as GraphicMore } from './GraphicMore/index.js'\nexport { default as Features } from './Features/index.js'\nexport { default as AplusDesc } from './AplusDesc/index.js'\nexport { default as GiftBox } from './GiftBox/index.js'\nexport { default as SelectStore } from './SelectStore/index.js'\nexport { default as DownLoad } from './DownLoad/index.js'\nexport { default as FootCharger } from './FootCharger/index.js'\nexport { default as BrandCardLink } from './BrandCardLink/index.js'\nexport type { BrandCardLinkProps, BrandCardLinkItemProps } from './BrandCardLink/types.js'\n\nexport * as IPRedirect from './IPRedirect/index.js'\n\nexport { default as WheelLottery } from './WheelLottery/index.js'\nexport type {\n WheelLotteryProps,\n WheelLotteryHandle,\n Prize,\n ChanceMethod,\n WinningInfo,\n UserData,\n} from './WheelLottery/types.js'\nexport { default as ProductLottery } from './ProductLottery/index.js'\nexport type { ProductLotteryProps, ProductLotteryHandle, MediaConfig, CtaButtonConfig } from './ProductLottery/types.js'\nexport { default as ProductCompare } from './ProductCompare/index.js'\nexport type { ProductCompareProps, ProductItemData } from './ProductCompare/index.js'\nexport { default as Ksp } from './Ksp/index.js'\nexport type { KspProps, KspData, KspCardItem } from './Ksp/index.js'\nexport { default as ImageTextFeature } from './ImageTextFeature/index.js'\nexport type { ImageTextFeatureProps, ImageTextFeatureItem } from './ImageTextFeature/index.js'\nexport { default as FeatureCards } from './FeatureCards/index.js'\nexport type { FeatureCardsProps, FeatureCardItem } from './FeatureCards/index.js'\nexport { default as FeaturedBlogPosts } from './FeaturedBlogPosts/index.js'\nexport type {\n FeaturedBlogPostsProps,\n FeaturedBlogPostsData,\n FeaturedBlogPostItem,\n FeaturedBlogPostSpan,\n} from './FeaturedBlogPosts/index.js'\nexport { default as ImageWithText } from './ImageWithText/index.js'\nexport type { ImageWithTextProps } from './ImageWithText/index.js'\nexport { default as VideoFeature } from './VideoFeature/index.js'\nexport type { VideoFeatureProps } from './VideoFeature/index.js'\nexport { default as TabsWithMedia } from './TabsWithMedia/index.js'\nexport type { TabsWithMediaProps, TabItem, TimeIndex } from './TabsWithMedia/index.js'\nexport { default as TabWithImage } from './TabWithImage/index.js'\nexport type { TabWithImageProps, TabWithImageDataItem } from './TabWithImage/index.js'\nexport { default as FeatureShowcase } from './FeatureShowcase/index.js'\nexport type { FeatureShowcaseProps, FeatureShowcaseItem } from './FeatureShowcase/index.js'\nexport { default as ProductHero } from './ProductHero/index.js'\nexport type { ProductHeroProps } from './ProductHero/index.js'\nexport { default as SpecsComparison } from './SpecsComparison/index.js'\nexport type {\n SpecsComparisonProps,\n SpecsComparisonMenuItem,\n SpecsComparisonLeftMenuItem,\n} from './SpecsComparison/index.js'\nexport { default as MediaSceneSwitcher } from './MediaSceneSwitcher/index.js'\nexport type { MediaSceneSwitcherProps } from './MediaSceneSwitcher/types.js'\nexport { default as MediaSceneSwitcherV2 } from './MediaSceneSwitcherV2/index.js'\nexport type {\n MediaSceneSwitcherV2Props,\n MediaSceneSwitcherV2Data,\n MediaSceneSwitcherV2Item,\n MediaSceneSwitcherV2Layout,\n} from './MediaSceneSwitcherV2/index.js'\nexport { default as ThreeDCarousel } from './ThreeDCarousel/index.js'\nexport type { ThreeDCarouselProps } from './ThreeDCarousel/index.js'\nexport { default as ProductNav } from './ProductNav/index.js'\nexport type { ProductNavProps, TabLink, AnchorItem, BuyButton } from './ProductNav/index.js'\nexport { default as AnchorNavigation } from './AnchorNavigation/index.js'\nexport { default as PromotionalBar } from './PromotionalBar/index.js'\nexport { default as EventSchedule } from './EventSchedule/index.js'\nexport { default as SecondaryBanner } from './SecondaryBanner/index.js'\nexport { default as BuyOneGetOneShelf } from './BuyOneGetOneShelf/index.js'\nexport { default as ActiveShelf } from './ActiveShelf/index.js'\nexport { default as MediaShelf } from './MediaShelf/index.js'\nexport { default as CreditsShelf, CreditsProductCard } from './CreditsShelf/index.js'\nexport type {\n CreditsShelfSemanticName,\n CreditsProductCardData,\n CopyConfig as CreditsShelfCopyConfig,\n ButtonFunctionType as CreditsShelfButtonFunctionType,\n} from './CreditsShelf/index.js'\nexport { default as SceneShelf, SceneProductCard } from './SceneShelf/index.js'\nexport type { SceneShelfSemanticName, SceneProductCardData, SceneProductCardSemanticName } from './SceneShelf/index.js'\nexport { default as SceneShelfV2, SceneShelfV2ProductCard } from './SceneShelfV2/index.js'\nexport type {\n SceneShelfV2SemanticName,\n SceneShelfV2Data,\n SceneShelfV2Product,\n SceneShelfV2Props,\n} from './SceneShelfV2/index.js'\nexport { default as SceneShelfV3 } from './SceneShelfV3/index.js'\nexport type { SceneShelfV3Data, SceneShelfV3Props, ProductTab as SceneShelfV3ProductTab } from './SceneShelfV3/index.js'\nexport type {\n SceneShelfV3SemanticName,\n ProductCardData as SceneShelfV3ProductCardData,\n} from './SceneShelfV3/ProductCard.js'\n\nexport { default as MediaEndorsement } from './MediaEndorsement/index.js'\nexport type {\n MediaEndorsementProps,\n MediaEndorsementData,\n MediaEndorsementItem,\n MediaEndorsementSemanticName,\n} from './MediaEndorsement/index.js'\n\nexport { default as MediaTextOverlay } from './MediaTextOverlay/index.js'\nexport type {\n MediaTextOverlayProps,\n MediaTextOverlayData,\n MediaTextOverlayItem,\n MediaTextOverlaySemanticName,\n ResponsiveMedia,\n} from './MediaTextOverlay/index.js'\n\n// Copy configuration types and defaults\nexport type {\n CopyConfig as MediaShelfCopyConfig,\n ButtonFunctionType as MediaShelfButtonFunctionType,\n} from './MediaShelf/types.js'\nexport type { CopyConfig as ActiveShelfCopyConfig, ButtonFunctionType } from './ActiveShelf/types.js'\n\nexport {\n default as ImageOverlayShelf,\n type ButtonFunctionType as ImageOverlayShelfButtonFunctionType,\n} from './ImageOverlayShelf/index.js'\n\nexport { default as ImageTextOverlay } from './ImageTextOverlay/index.js'\nexport type {\n ImageTextOverlayProps,\n ImageTextOverlayData,\n ImageTextOverlayItem,\n ImageTextOverlaySemanticName,\n ImageTextOverlayBackgroundImage,\n} from './ImageTextOverlay/types.js'\n\n// MiniCart \u7EC4\u4EF6\u53CA\u7C7B\u578B\u5BFC\u51FA\nexport { default as MiniCart } from './MiniCart/index.js'\nexport type { Cart, CartLineItem, MiniCartData, MiniCartProps, CircleProgressConfig } from './MiniCart/index.js'\nexport { default as MiniCartCircleProgress } from './MiniCart/CircleProgress.js'\nexport type { CircleProgressProps as MiniCartCircleProgressProps } from './MiniCart/CircleProgress.js'\nexport { default as MiniCartDialog, MiniCartDialog as MiniCartDialogComponent } from './MiniCart/MiniCartDialog.js'\nexport type {\n MiniCartDialogProps,\n MiniCartDialogCopy,\n MiniCartDialogSemanticName,\n CartData,\n} from './MiniCart/MiniCartDialog.js'\n\n// \u2500\u2500\u2500 Web Push \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nexport { default as WebPushPopup } from './WebPushPopup/index.js'\nexport type { WebPushPopupProps } from './WebPushPopup/index.js'\nexport { useEmarsysWebPush } from '../hooks/useEmarsysWebPush.js'\nexport type {\n UseEmarsysWebPushOptions,\n UseEmarsysWebPushReturn,\n EmarsysContactInfo,\n EmarsysInitConfig,\n} from '../hooks/useEmarsysWebPush.js'\n\n/**\n * \u7EC4\u4EF6\u6620\u5C04\u5BF9\u8C61\n */\n\nexport const PAYLOAD_COMPONENT_MAP = {\n 'ipc-accordioncards': 'AccordionCards',\n 'ipc-aplusdesc': 'AplusDesc',\n 'ipc-banner': 'HeroBanner',\n 'ipc-brand-equity': 'BrandEquity',\n 'ipc-category': 'Category',\n 'ipc-collection-banner': 'CollectionBanner',\n 'ipc-collection-shelves': 'CollectionShelves',\n 'ipc-creativemodule': 'CreativeModule',\n 'ipc-download': 'DownLoad',\n 'ipc-evaluate': 'Evaluate',\n 'ipc-faq': 'Faq',\n 'ipc-features': 'Features',\n 'ipc-footcharger': 'FootCharger',\n 'ipc-ga-block': 'GraphicAttractionBlock',\n 'ipc-giftbox': 'GiftBox',\n 'ipc-giftshelf': 'GiftShelf',\n 'ipc-graphic': 'Graphic',\n 'ipc-graphicmore': 'GraphicMore',\n 'ipc-graphicoverlay': 'GraphicOverlay',\n 'ipc-marquee': 'Marquee',\n 'ipc-mediaplayerbase': 'MediaPlayerBase',\n 'ipc-mediaplayermulti': 'MediaPlayerMulti',\n 'ipc-mediaplayersticky': 'MediaPlayerSticky',\n 'ipc-member-equity': 'MemberEquity',\n 'ipc-mlg-block': 'MultiLayoutGraphicBlock',\n 'ipc-search-page-tabs': 'SearchPageBlock',\n 'ipc-selectstore': 'SelectStore',\n 'ipc-shelfdisplay': 'ShelfDisplay',\n 'ipc-slogan': 'Slogan',\n 'ipc-spacer': 'Spacer',\n 'ipc-specs': 'Specs',\n 'ipc-tabs': 'Tabs',\n 'ipc-text-marquee': 'TextMarquee',\n 'ipc-title': 'Title',\n 'ipc-whychoose': 'WhyChoose',\n 'ipc-product-nav': 'ProductNav',\n 'ipc-brand-card-link': 'BrandCardLink',\n 'ipc-ipredirect': 'IPRedirect',\n ksp: 'Ksp',\n 'ipc-secondary-banner': 'SecondaryBanner',\n /**\n * \u6D3B\u52A8\u8D27\u67B6\n */\n 'ipc-active-shelf': 'ActiveShelf',\n 'ipc-media-shelf': 'MediaShelf',\n /**\n * \u6D3B\u52A8\u4E70\u8D60\u8D27\u67B6\n */\n 'ipc-bogo-shelf': 'BuyOneGetOneShelf',\n 'ipc-media-endorsement': 'MediaEndorsement',\n 'ipc-media-scene-switcher-v2': 'MediaSceneSwitcherV2',\n 'ipc-featured-blog-posts': 'FeaturedBlogPosts',\n}\n"],
|
|
5
|
-
"mappings": "skBAAA,IAAAA,GAAA,GAAAC,GAAAD,GAAA,
|
|
6
|
-
"names": ["biz_components_exports", "__export", "IPRedirect", "PAYLOAD_COMPONENT_MAP", "__toCommonJS", "import_ActivitySchedule", "import_GiftShelf", "import_GiftTierShelf", "import_ActivityMechanism", "import_BrandEquity", "import_MemberEquity", "import_Slogan", "import_Title", "import_Spacer", "import_ShelfDisplay", "import_Evaluate", "import_Category", "import_HeroBanner", "import_AccordionCards", "import_Graphic", "import_MediaPlayerBase", "import_MediaPlayerSticky", "import_MediaPlayerMulti", "import_Marquee", "import_MarqueeReview", "import_WhyChoose", "import_Faq", "import_MultiLayoutGraphicBlock", "import_GraphicAttractionBlock", "import_HeaderNavigation", "import_FooterNavigation", "import_SearchPage", "import_types", "import_Styles", "import_AiuiProvider", "import_Tabs", "import_CreativeModule", "import_GraphicOverlay", "import_Specs", "import_TabsGroup", "import_BizProductProvider", "import_PurchaseBar", "import_ProductActions", "import_ProductCard", "import_ProductBenefitsTabs", "import_ProductBenefits", "import_ProductHighlight", "import_ProductFreeGift", "import_ProductExchangePurchase", "import_ProductOptions", "import_ProductBundle", "import_ProductCoupon", "import_ProductBanner", "import_ProductGridBox", "import_ProductGallery", "import_ProductDetail", "import_ProductSummary", "import_BenefitsTab", "import_PaidShipping", "import_CartActionButtons", "import_ProductServiceBenefits", "import_ProductPaidShipping", "import_GraphicMore", "import_Features", "import_AplusDesc", "import_GiftBox", "import_SelectStore", "import_DownLoad", "import_FootCharger", "import_BrandCardLink", "import_WheelLottery", "import_ProductLottery", "import_ProductCompare", "import_Ksp", "import_ImageTextFeature", "import_FeatureCards", "import_FeaturedBlogPosts", "import_ImageWithText", "import_VideoFeature", "import_TabsWithMedia", "import_TabWithImage", "import_FeatureShowcase", "import_ProductHero", "import_SpecsComparison", "import_MediaSceneSwitcher", "import_MediaSceneSwitcherV2", "import_ThreeDCarousel", "import_ProductNav", "import_AnchorNavigation", "import_PromotionalBar", "import_EventSchedule", "import_SecondaryBanner", "import_BuyOneGetOneShelf", "import_ActiveShelf", "import_MediaShelf", "import_CreditsShelf", "import_SceneShelf", "import_SceneShelfV2", "import_SceneShelfV3", "import_MediaEndorsement", "import_MediaTextOverlay", "import_ImageOverlayShelf", "import_ImageTextOverlay", "import_MiniCart", "import_CircleProgress", "import_MiniCartDialog", "import_WebPushPopup", "import_useEmarsysWebPush"]
|
|
4
|
+
"sourcesContent": ["export { AccessoriesProductGrid, SectionHeader, PromoBanner, MainProductArea } from './AccessoriesShelf/index.js'\nexport type {\n UserType,\n AddedItem,\n BannerConfig,\n BannerAction,\n AccessoryCardProduct,\n AccessoryCardPrice,\n MoneyV2,\n NormalizedProduct,\n NormalizedProductVariant,\n NormalizedCart,\n} from './AccessoriesShelf/index.js'\nexport { default as ActivitySchedule } from './ActivitySchedule/index.js'\nexport type { ActivityScheduleProps, ActivityScheduleData, ActivityScheduleItem } from './ActivitySchedule/types.js'\nexport { default as GiftShelf } from './GiftShelf/index.js'\nexport type {\n GiftShelfProps,\n GiftShelfData,\n GiftShelfItem,\n CountdownConfig,\n ResponsiveBackgroundImage as GiftShelfResponsiveBackgroundImage,\n} from './GiftShelf/types.js'\nexport { default as GiftTierShelf } from './GiftTierShelf/index.js'\nexport type { GiftTierShelfProps, GiftTierShelfData, GiftTierItem, GiftTierProduct } from './GiftTierShelf/types.js'\nexport { default as ActivityMechanism } from './ActivityMechanism/index.js'\nexport type {\n ActivityMechanismProps,\n ActivityMechanismItem,\n ActivityMechanismSemanticName,\n ResponsiveBackgroundImage,\n} from './ActivityMechanism/types.js'\nexport { default as BrandEquity } from './BrandEquity/index.js'\nexport { default as MemberEquity } from './MemberEquity/index.js'\nexport { default as Slogan } from './Slogan/index.js'\nexport { default as Title } from './Title/index.js'\nexport { default as Spacer } from './Spacer/index.js'\nexport { default as ShelfDisplay } from './ShelfDisplay/index.js'\nexport { default as Evaluate } from './Evaluate/index.js'\nexport { default as Category } from './Category/index.js'\nexport { default as HeroBanner } from './HeroBanner/index.js'\nexport { default as AccordionCards } from './AccordionCards/index.js'\nexport { default as Graphic } from './Graphic/index.js'\nexport { default as MediaPlayerBase } from './MediaPlayerBase/index.js'\nexport { default as MediaPlayerSticky } from './MediaPlayerSticky/index.js'\nexport { default as MediaPlayerMulti } from './MediaPlayerMulti/index.js'\nexport { default as Marquee } from './Marquee/index.js'\nexport { default as MarqueeReview } from './MarqueeReview/index.js'\nexport type { MarqueeReviewProps, MarqueeReviewData, ReviewItem } from './MarqueeReview/index.js'\nexport { default as WhyChoose } from './WhyChoose/index.js'\nexport { default as Faq } from './Faq/index.js'\nexport { MarqueeItem, MarqueeImageContent, MarqueeTextContent } from './Marquee/index.js'\nexport { default as MultiLayoutGraphicBlock } from './MultiLayoutGraphicBlock/index.js'\nexport type { MultiLayoutGraphicBlockProps } from './MultiLayoutGraphicBlock/index.js'\nexport { default as GraphicAttractionBlock } from './GraphicAttractionBlock/index.js'\nexport type { GraphicAttractionBlockProps } from './GraphicAttractionBlock/index.js'\nexport { default as HeaderNavigation } from './HeaderNavigation/index.js'\nexport { default as FooterNavigation } from './FooterNavigation/index.js'\nexport { default as SearchPage } from './SearchPage/index.js'\nexport type { SearchPageProps } from './SearchPage/types.js'\nexport { IPC_SEARCH_PAGE, SearchPageTabType } from './SearchPage/types.js'\n\nexport { withLayout } from '../shared/Styles.js'\nexport { default as AiuiProvider } from './AiuiProvider/index.js'\nexport { default as Tabs } from './Tabs/index.js'\nexport { default as CreativeModule } from './CreativeModule/index.js'\nexport { default as GraphicOverlay } from './GraphicOverlay/index.js'\nexport { default as Specs } from './Specs/index.js'\nexport { default as TabGroup } from './TabsGroup/index.js'\n\nexport { default as BizProductProvider, useBizProductContext } from './Listing/BizProductProvider.js'\nexport { default as PurchaseBar } from './Listing/components/PurchaseBar/index.js'\nexport { default as ProductActions } from './Listing/components/PurchaseBar/ProductActions/index.js'\nexport type { ProductActionsProps } from './Listing/components/PurchaseBar/ProductActions/index.js'\nexport { default as ProductCard } from './Listing/components/ProductCard/index.js'\nexport { default as ProductBenefitsTabs } from './Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.js'\nexport { default as ProductBenefits } from './Listing/components/ProductCard/ProductDetail/ProductBenefits/index.js'\nexport { default as ProductHighlight } from './Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js'\nexport { default as ProductFreeGift } from './Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.js'\nexport { default as ProductExchangePurchase } from './Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.js'\nexport { default as ProductOptions } from './Listing/components/ProductCard/ProductDetail/ProductOptions/index.js'\nexport { default as ProductBundle } from './Listing/components/ProductCard/ProductDetail/ProductBundle/index.js'\nexport { default as ProductCoupon } from './Listing/components/ProductCard/ProductDetail/ProductCoupon/index.js'\nexport { default as ProductBanner } from './Listing/components/ProductCard/ProductDetail/ProductBanner/index.js'\nexport { default as ProductGridBox } from './Listing/components/ProductCard/ProductGridBox.js'\nexport { default as ProductGallery } from './Listing/components/ProductCard/ProductGallery/index.js'\nexport { default as ProductDetail } from './Listing/components/ProductCard/ProductDetail/index.js'\nexport { default as ProductSummary } from './Listing/components/ProductCard/ProductSummary/index.js'\nexport { default as BenefitsTab } from './Listing/components/ProductCard/ProductDetail/BenefitsTab.js'\nexport { default as PaidShipping } from './Listing/components/PaidShipping/index.js'\nexport { default as CartActionButtons } from './Listing/components/CartActionButtons/index.js'\nexport type { CartActionButtonsProps } from './Listing/components/CartActionButtons/index.js'\nexport { NotifyMeDialog } from './NotifyMeDialog/index.js'\nexport type { NotifyMeDialogProps, CheckboxConfig, SubscriptionMeta } from './NotifyMeDialog/types.js'\nexport { default as ProductServiceBenefits } from './Listing/components/ProductCard/ProductDetail/ProductServiceBenefits/index.js'\nexport type {\n ProductServiceBenefitsProps,\n ServiceBenefitItem,\n} from './Listing/components/ProductCard/ProductDetail/ProductServiceBenefits/index.js'\nexport { default as ProductPaidShipping } from './Listing/components/ProductCard/ProductPaidShipping/index.js'\n\nexport { default as GraphicMore } from './GraphicMore/index.js'\nexport { default as Features } from './Features/index.js'\nexport { default as AplusDesc } from './AplusDesc/index.js'\nexport { default as GiftBox } from './GiftBox/index.js'\nexport { default as SelectStore } from './SelectStore/index.js'\nexport { default as DownLoad } from './DownLoad/index.js'\nexport { default as FootCharger } from './FootCharger/index.js'\nexport { default as BrandCardLink } from './BrandCardLink/index.js'\nexport type { BrandCardLinkProps, BrandCardLinkItemProps } from './BrandCardLink/types.js'\n\nexport * as IPRedirect from './IPRedirect/index.js'\n\nexport { default as WheelLottery } from './WheelLottery/index.js'\nexport type {\n WheelLotteryProps,\n WheelLotteryHandle,\n Prize,\n ChanceMethod,\n WinningInfo,\n UserData,\n} from './WheelLottery/types.js'\nexport { default as ProductLottery } from './ProductLottery/index.js'\nexport type { ProductLotteryProps, ProductLotteryHandle, MediaConfig, CtaButtonConfig } from './ProductLottery/types.js'\nexport { default as ProductCompare } from './ProductCompare/index.js'\nexport type { ProductCompareProps, ProductItemData } from './ProductCompare/index.js'\nexport { default as Ksp } from './Ksp/index.js'\nexport type { KspProps, KspData, KspCardItem } from './Ksp/index.js'\nexport { default as ImageTextFeature } from './ImageTextFeature/index.js'\nexport type { ImageTextFeatureProps, ImageTextFeatureItem } from './ImageTextFeature/index.js'\nexport { default as FeatureCards } from './FeatureCards/index.js'\nexport type { FeatureCardsProps, FeatureCardItem } from './FeatureCards/index.js'\nexport { default as FeaturedBlogPosts } from './FeaturedBlogPosts/index.js'\nexport type {\n FeaturedBlogPostsProps,\n FeaturedBlogPostsData,\n FeaturedBlogPostItem,\n FeaturedBlogPostSpan,\n} from './FeaturedBlogPosts/index.js'\nexport { default as ImageWithText } from './ImageWithText/index.js'\nexport type { ImageWithTextProps } from './ImageWithText/index.js'\nexport { default as VideoFeature } from './VideoFeature/index.js'\nexport type { VideoFeatureProps } from './VideoFeature/index.js'\nexport { default as TabsWithMedia } from './TabsWithMedia/index.js'\nexport type { TabsWithMediaProps, TabItem, TimeIndex } from './TabsWithMedia/index.js'\nexport { default as TabWithImage } from './TabWithImage/index.js'\nexport type { TabWithImageProps, TabWithImageDataItem } from './TabWithImage/index.js'\nexport { default as FeatureShowcase } from './FeatureShowcase/index.js'\nexport type { FeatureShowcaseProps, FeatureShowcaseItem } from './FeatureShowcase/index.js'\nexport { default as ProductHero } from './ProductHero/index.js'\nexport type { ProductHeroProps } from './ProductHero/index.js'\nexport { default as SpecsComparison } from './SpecsComparison/index.js'\nexport type {\n SpecsComparisonProps,\n SpecsComparisonMenuItem,\n SpecsComparisonLeftMenuItem,\n} from './SpecsComparison/index.js'\nexport { default as MediaSceneSwitcher } from './MediaSceneSwitcher/index.js'\nexport type { MediaSceneSwitcherProps } from './MediaSceneSwitcher/types.js'\nexport { default as MediaSceneSwitcherV2 } from './MediaSceneSwitcherV2/index.js'\nexport type {\n MediaSceneSwitcherV2Props,\n MediaSceneSwitcherV2Data,\n MediaSceneSwitcherV2Item,\n MediaSceneSwitcherV2Layout,\n} from './MediaSceneSwitcherV2/index.js'\nexport { default as ThreeDCarousel } from './ThreeDCarousel/index.js'\nexport type { ThreeDCarouselProps } from './ThreeDCarousel/index.js'\nexport { default as ProductNav } from './ProductNav/index.js'\nexport type { ProductNavProps, TabLink, AnchorItem, BuyButton } from './ProductNav/index.js'\nexport { default as AnchorNavigation } from './AnchorNavigation/index.js'\nexport { default as PromotionalBar } from './PromotionalBar/index.js'\nexport { default as EventSchedule } from './EventSchedule/index.js'\nexport { default as SecondaryBanner } from './SecondaryBanner/index.js'\nexport { default as BuyOneGetOneShelf } from './BuyOneGetOneShelf/index.js'\nexport { default as ActiveShelf } from './ActiveShelf/index.js'\nexport { default as MediaShelf } from './MediaShelf/index.js'\nexport { default as CreditsShelf, CreditsProductCard } from './CreditsShelf/index.js'\nexport type {\n CreditsShelfSemanticName,\n CreditsProductCardData,\n CopyConfig as CreditsShelfCopyConfig,\n ButtonFunctionType as CreditsShelfButtonFunctionType,\n} from './CreditsShelf/index.js'\nexport { default as SceneShelf, SceneProductCard } from './SceneShelf/index.js'\nexport type { SceneShelfSemanticName, SceneProductCardData, SceneProductCardSemanticName } from './SceneShelf/index.js'\nexport { default as SceneShelfV2, SceneShelfV2ProductCard } from './SceneShelfV2/index.js'\nexport type {\n SceneShelfV2SemanticName,\n SceneShelfV2Data,\n SceneShelfV2Product,\n SceneShelfV2Props,\n} from './SceneShelfV2/index.js'\nexport { default as SceneShelfV3 } from './SceneShelfV3/index.js'\nexport type { SceneShelfV3Data, SceneShelfV3Props, ProductTab as SceneShelfV3ProductTab } from './SceneShelfV3/index.js'\nexport type {\n SceneShelfV3SemanticName,\n ProductCardData as SceneShelfV3ProductCardData,\n} from './SceneShelfV3/ProductCard.js'\n\nexport { default as MediaEndorsement } from './MediaEndorsement/index.js'\nexport type {\n MediaEndorsementProps,\n MediaEndorsementData,\n MediaEndorsementItem,\n MediaEndorsementSemanticName,\n} from './MediaEndorsement/index.js'\n\nexport { default as MediaTextOverlay } from './MediaTextOverlay/index.js'\nexport type {\n MediaTextOverlayProps,\n MediaTextOverlayData,\n MediaTextOverlayItem,\n MediaTextOverlaySemanticName,\n ResponsiveMedia,\n} from './MediaTextOverlay/index.js'\n\n// Copy configuration types and defaults\nexport type {\n CopyConfig as MediaShelfCopyConfig,\n ButtonFunctionType as MediaShelfButtonFunctionType,\n} from './MediaShelf/types.js'\nexport type { CopyConfig as ActiveShelfCopyConfig, ButtonFunctionType } from './ActiveShelf/types.js'\n\nexport {\n default as ImageOverlayShelf,\n type ButtonFunctionType as ImageOverlayShelfButtonFunctionType,\n} from './ImageOverlayShelf/index.js'\n\nexport { default as AccessoryShelf, AccessoryProductCard } from './AccessoriesShelf/components/AccessoryShelf/index.js'\nexport type {\n AccessoryShelfProps,\n AccessoryProductData,\n AccessoryCardSemanticName,\n AccessoryCopyConfig,\n AccessoryProductCardProps,\n} from './AccessoriesShelf/components/AccessoryShelf'\n\nexport { default as ImageTextOverlay } from './ImageTextOverlay/index.js'\nexport type {\n ImageTextOverlayProps,\n ImageTextOverlayData,\n ImageTextOverlayItem,\n ImageTextOverlaySemanticName,\n ImageTextOverlayBackgroundImage,\n} from './ImageTextOverlay/types.js'\n\n// MiniCart \u7EC4\u4EF6\u53CA\u7C7B\u578B\u5BFC\u51FA\nexport { default as MiniCart } from './MiniCart/index.js'\nexport type { Cart, CartLineItem, MiniCartData, MiniCartProps, CircleProgressConfig } from './MiniCart/index.js'\nexport { default as MiniCartCircleProgress } from './MiniCart/CircleProgress.js'\nexport type { CircleProgressProps as MiniCartCircleProgressProps } from './MiniCart/CircleProgress.js'\nexport { default as MiniCartDialog, MiniCartDialog as MiniCartDialogComponent } from './MiniCart/MiniCartDialog.js'\nexport type {\n MiniCartDialogProps,\n MiniCartDialogCopy,\n MiniCartDialogSemanticName,\n CartData,\n} from './MiniCart/MiniCartDialog.js'\n\n// \u2500\u2500\u2500 Web Push \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nexport { default as WebPushPopup } from './WebPushPopup/index.js'\nexport type { WebPushPopupProps } from './WebPushPopup/index.js'\nexport { useEmarsysWebPush } from '../hooks/useEmarsysWebPush.js'\nexport type {\n UseEmarsysWebPushOptions,\n UseEmarsysWebPushReturn,\n EmarsysContactInfo,\n EmarsysInitConfig,\n} from '../hooks/useEmarsysWebPush.js'\n\n/**\n * \u7EC4\u4EF6\u6620\u5C04\u5BF9\u8C61\n */\n\nexport const PAYLOAD_COMPONENT_MAP = {\n 'ipc-accordioncards': 'AccordionCards',\n 'ipc-aplusdesc': 'AplusDesc',\n 'ipc-banner': 'HeroBanner',\n 'ipc-brand-equity': 'BrandEquity',\n 'ipc-category': 'Category',\n 'ipc-collection-banner': 'CollectionBanner',\n 'ipc-collection-shelves': 'CollectionShelves',\n 'ipc-creativemodule': 'CreativeModule',\n 'ipc-download': 'DownLoad',\n 'ipc-evaluate': 'Evaluate',\n 'ipc-faq': 'Faq',\n 'ipc-features': 'Features',\n 'ipc-footcharger': 'FootCharger',\n 'ipc-ga-block': 'GraphicAttractionBlock',\n 'ipc-giftbox': 'GiftBox',\n 'ipc-giftshelf': 'GiftShelf',\n 'ipc-graphic': 'Graphic',\n 'ipc-graphicmore': 'GraphicMore',\n 'ipc-graphicoverlay': 'GraphicOverlay',\n 'ipc-marquee': 'Marquee',\n 'ipc-mediaplayerbase': 'MediaPlayerBase',\n 'ipc-mediaplayermulti': 'MediaPlayerMulti',\n 'ipc-mediaplayersticky': 'MediaPlayerSticky',\n 'ipc-member-equity': 'MemberEquity',\n 'ipc-mlg-block': 'MultiLayoutGraphicBlock',\n 'ipc-search-page-tabs': 'SearchPageBlock',\n 'ipc-selectstore': 'SelectStore',\n 'ipc-shelfdisplay': 'ShelfDisplay',\n 'ipc-slogan': 'Slogan',\n 'ipc-spacer': 'Spacer',\n 'ipc-specs': 'Specs',\n 'ipc-tabs': 'TabsBlock',\n 'ipc-text-marquee': 'TextMarquee',\n 'ipc-title': 'Title',\n 'ipc-whychoose': 'WhyChoose',\n 'ipc-product-nav': 'ProductNav',\n 'ipc-brand-card-link': 'BrandCardLink',\n 'ipc-ipredirect': 'IPRedirect',\n ksp: 'Ksp',\n 'ipc-secondary-banner': 'SecondaryBanner',\n /**\n * \u6D3B\u52A8\u8D27\u67B6\n */\n 'ipc-active-shelf': 'ActiveShelf',\n 'ipc-media-shelf': 'MediaShelf',\n /**\n * \u6D3B\u52A8\u4E70\u8D60\u8D27\u67B6\n */\n 'ipc-bogo-shelf': 'BuyOneGetOneShelf',\n 'ipc-media-endorsement': 'MediaEndorsement',\n 'ipc-media-scene-switcher-v2': 'MediaSceneSwitcherV2',\n 'ipc-featured-blog-posts': 'FeaturedBlogPosts',\n}\n\n// \u516C\u5F00\u5BFC\u51FA useAiuiContext hook\uFF08\u4F9B Registry \u5206\u53D1\u7684 biz-components \u6D88\u8D39\u8005\u4F7F\u7528\uFF09\nexport { useAiuiContext } from './AiuiProvider/index.js'\n\n// \u516C\u5F00\u5BFC\u51FA ContainerProps\uFF08\u4F9B Registry \u5206\u53D1\u7684 biz-components \u4F7F\u7528\uFF09\nexport type { ContainerProps } from '../shared/Styles.js'\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["biz_components_exports", "__export", "IPRedirect", "PAYLOAD_COMPONENT_MAP", "__toCommonJS", "import_AccessoriesShelf", "import_ActivitySchedule", "import_GiftShelf", "import_GiftTierShelf", "import_ActivityMechanism", "import_BrandEquity", "import_MemberEquity", "import_Slogan", "import_Title", "import_Spacer", "import_ShelfDisplay", "import_Evaluate", "import_Category", "import_HeroBanner", "import_AccordionCards", "import_Graphic", "import_MediaPlayerBase", "import_MediaPlayerSticky", "import_MediaPlayerMulti", "import_Marquee", "import_MarqueeReview", "import_WhyChoose", "import_Faq", "import_MultiLayoutGraphicBlock", "import_GraphicAttractionBlock", "import_HeaderNavigation", "import_FooterNavigation", "import_SearchPage", "import_types", "import_Styles", "import_AiuiProvider", "import_Tabs", "import_CreativeModule", "import_GraphicOverlay", "import_Specs", "import_TabsGroup", "import_BizProductProvider", "import_PurchaseBar", "import_ProductActions", "import_ProductCard", "import_ProductBenefitsTabs", "import_ProductBenefits", "import_ProductHighlight", "import_ProductFreeGift", "import_ProductExchangePurchase", "import_ProductOptions", "import_ProductBundle", "import_ProductCoupon", "import_ProductBanner", "import_ProductGridBox", "import_ProductGallery", "import_ProductDetail", "import_ProductSummary", "import_BenefitsTab", "import_PaidShipping", "import_CartActionButtons", "import_NotifyMeDialog", "import_ProductServiceBenefits", "import_ProductPaidShipping", "import_GraphicMore", "import_Features", "import_AplusDesc", "import_GiftBox", "import_SelectStore", "import_DownLoad", "import_FootCharger", "import_BrandCardLink", "import_WheelLottery", "import_ProductLottery", "import_ProductCompare", "import_Ksp", "import_ImageTextFeature", "import_FeatureCards", "import_FeaturedBlogPosts", "import_ImageWithText", "import_VideoFeature", "import_TabsWithMedia", "import_TabWithImage", "import_FeatureShowcase", "import_ProductHero", "import_SpecsComparison", "import_MediaSceneSwitcher", "import_MediaSceneSwitcherV2", "import_ThreeDCarousel", "import_ProductNav", "import_AnchorNavigation", "import_PromotionalBar", "import_EventSchedule", "import_SecondaryBanner", "import_BuyOneGetOneShelf", "import_ActiveShelf", "import_MediaShelf", "import_CreditsShelf", "import_SceneShelf", "import_SceneShelfV2", "import_SceneShelfV3", "import_MediaEndorsement", "import_MediaTextOverlay", "import_ImageOverlayShelf", "import_AccessoryShelf", "import_ImageTextOverlay", "import_MiniCart", "import_CircleProgress", "import_MiniCartDialog", "import_WebPushPopup", "import_useEmarsysWebPush"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";"use client";var Z=Object.create;var
|
|
1
|
+
"use strict";"use client";var Z=Object.create;var g=Object.defineProperty;var ee=Object.getOwnPropertyDescriptor;var te=Object.getOwnPropertyNames;var ne=Object.getPrototypeOf,se=Object.prototype.hasOwnProperty;var re=(e,t)=>{for(var a in t)g(e,a,{get:t[a],enumerable:!0})},H=(e,t,a,y)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of te(t))!se.call(e,o)&&o!==a&&g(e,o,{get:()=>t[o],enumerable:!(y=ee(t,o))||y.enumerable});return e};var ae=(e,t,a)=>(a=e!=null?Z(ne(e)):{},H(t||!e||!e.__esModule?g(a,"default",{value:e,enumerable:!0}):a,e)),oe=e=>H(g({},"__esModule",{value:!0}),e);var be={};re(be,{default:()=>fe});module.exports=oe(be);var r=require("react/jsx-runtime"),n=ae(require("react")),c=require("class-variance-authority"),x=require("../helpers/index.js");const ie=(0,c.cva)("countdown-container flex w-full items-center",{variants:{variant:{outline:"gap-1",spacious:"gap-1"},align:{left:"justify-start",center:"justify-center"}},defaultVariants:{variant:"outline",align:"left"}}),le=(0,c.cva)("time-block border-box rounded-box-small flex flex-col items-center justify-center overflow-hidden text-center text-xs",{variants:{variant:{outline:"border-info-primary text-info-primary desktop:size-12 desktop:p-1 size-10 border bg-transparent p-[2px]",spacious:"bg-info-white text-info-primary desktop:size-12 desktop:p-1 size-10 p-[2px]"}},defaultVariants:{variant:"outline"}}),ue=(0,c.cva)("time-number lg-desktop:text-[24px] translate-y-[2px] whitespace-nowrap text-center text-[20px] font-bold leading-none"),ce=(0,c.cva)("separator desktop:text-2xl text-xl font-bold",{variants:{variant:{outline:"text-info-primary",spacious:"text-info-primary"}},defaultVariants:{variant:"outline"}}),de=e=>e?e==="light"?"bg-info-primary text-info-white border-transparent":"bg-container-secondary text-info-primary border-transparent":"",me=e=>e?"text-info-primary":"",h=(e,t=2)=>String(Math.abs(e)).padStart(t,"0"),F=()=>({day:"Day",hour:"Hours",minute:"Mins",second:"Secs"}),B=e=>{const t=F();return{day:e.day??e.days??t.day,hour:e.hour??e.hours??t.hour,minute:e.minute??e.minutes??t.minute,second:e.second??e.seconds??t.second}},pe=e=>{try{let t=e?.trim?.();return!t?.startsWith?.("{")||!t?.endsWith?.("}")?{}:(t=t?.replace?.(/(\w+)\s*:/g,'"$1":'),JSON.parse(t))}catch{return{}}},O=n.default.forwardRef(({className:e,endDate:t,endDate_tz:a,locale:y,timeLabels:o,dateFormat:v,onExpire:L,separator:W=":",hideWhenExpired:q=!0,showDays:M=!0,showHours:C=!0,showMinutes:N=!0,showSeconds:k=!0,variant:w,align:_,theme:S,...J},G)=>{const d=(0,n.useMemo)(()=>o?B(o):v?B(pe(v)):F(),[o,v]),m=(0,n.useRef)(Date.parse(t)),[K,V]=(0,n.useState)(0),[p,D]=(0,n.useState)(!1);(0,n.useEffect)(()=>{m.current=Date.parse(t);const s=m.current,i=Date.now(),f=isNaN(s)?0:Math.max(0,s-i),b=!isNaN(s)&&s<=i;V(f),D(b)},[t]),(0,n.useEffect)(()=>{if(p||isNaN(m.current))return;let s=!1,i=0,f=-1;const b=()=>{const Y=Date.now(),T=Math.max(0,m.current-Y),A=Math.floor(T/1e3);if(A!==f&&(f=A,V(T),T<=0&&!s)){s=!0,D(!0),L?.();return}i=requestAnimationFrame(b)};return i=requestAnimationFrame(b),()=>cancelAnimationFrame(i)},[L,p,t]);const E=Math.floor(K/1e3),I=E%60,P=Math.floor(E/60),R=P%60,z=Math.floor(P/60),$=z%24,j=Math.floor(z/24),l=[];M&&l.push({value:j,label:d.day,cssClass:"time-days-box"}),C&&l.push({value:$,label:d.hour,cssClass:"time-hours-box"}),N&&l.push({value:R,label:d.minute,cssClass:"time-minutes-box"}),k&&l.push({value:I,label:d.second,cssClass:"time-seconds-box"});const u=[];M&&u.push(`${j} days`),C&&u.push(`${h($)} hours`),N&&u.push(`${h(R)} minutes`),k&&u.push(`${h(I)} seconds`);const Q=u.length>0?`${u.join(" ")} remaining`:"countdown timer";if(p&&q)return(0,r.jsx)("span",{role:"status","aria-live":"polite",className:"sr-only",children:"Countdown has ended"});const U=de(S),X=me(S);return(0,r.jsxs)("div",{ref:G,className:(0,x.cn)(ie({variant:w,align:_}),e),role:"timer","aria-label":Q,...J,children:[l.map((s,i)=>(0,r.jsxs)(n.default.Fragment,{children:[(0,r.jsxs)("div",{className:(0,x.cn)(le({variant:w}),U,s.cssClass),children:[(0,r.jsx)("div",{className:ue(),children:h(s.value,2)}),(0,r.jsx)("div",{className:"truncate text-center text-[12px] font-bold",children:s.label})]}),i<l.length-1&&(0,r.jsx)("div",{className:(0,x.cn)(ce({variant:w}),X),children:W})]},s.cssClass)),p&&(0,r.jsx)("span",{role:"status","aria-live":"polite",className:"sr-only",children:"Countdown has ended"})]})});O.displayName="Countdown";var fe=O;
|
|
2
2
|
//# sourceMappingURL=Countdown.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/Countdown.tsx"],
|
|
4
|
-
"sourcesContent": ["'use client'\n\nimport React, { useEffect, useRef, useState, useMemo } from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { cn } from '../helpers/index.js'\n\n// \u5B9A\u4E49\u6837\u5F0F\u53D8\u4F53\nconst countdownVariants = cva(\n // \u57FA\u7840\u6837\u5F0F\uFF1A\u5012\u8BA1\u65F6\u5BB9\u5668\n 'countdown-container flex w-full items-center',\n {\n variants: {\n variant: {\n outline: 'gap-1',\n spacious: 'gap-1',\n },\n align: {\n left: 'justify-start',\n center: 'justify-center',\n },\n },\n defaultVariants: {\n variant: 'outline',\n align: 'left',\n },\n }\n)\n\nconst timeBlockVariants = cva(\n // \u57FA\u7840\u6837\u5F0F\uFF1A\u65F6\u95F4\u5757\n 'time-block border-box rounded-box-small flex flex-col items-center justify-center overflow-hidden text-center text-xs',\n {\n variants: {\n variant: {\n outline:\n 'border-info-primary text-info-primary desktop:size-12 desktop:p-1 size-10 border bg-transparent p-[2px]',\n spacious: 'bg-info-white text-info-primary desktop:size-12 desktop:p-1 size-10 p-[2px]',\n },\n },\n defaultVariants: {\n variant: 'outline',\n },\n }\n)\n\nconst timeNumberVariants = cva(\n 'time-number lg-desktop:text-[24px] translate-y-[2px] whitespace-nowrap text-center text-[20px] font-bold leading-none'\n)\n\nconst separatorVariants = cva(\n // \u57FA\u7840\u6837\u5F0F\uFF1A\u5206\u9694\u7B26\n 'separator desktop:text-2xl text-xl font-bold',\n {\n variants: {\n variant: {\n outline: 'text-info-primary',\n spacious: 'text-info-primary',\n },\n },\n defaultVariants: {\n variant: 'outline',\n },\n }\n)\n\n/**\n * \u4E3B\u9898\u8272\u8986\u76D6\u7C7B - \u4EC5\u5F53 theme \u4F20\u5165\u65F6\u8986\u76D6 variant \u7684\u989C\u8272\u90E8\u5206\uFF0C\u4FDD\u7559\u5E03\u5C40/\u5C3A\u5BF8\n */\nconst getTimeBlockThemeClasses = (theme?: 'light' | 'dark'): string => {\n if (!theme) return ''\n return theme === 'light'\n ? 'bg-info-primary text-info-white border-transparent'\n : 'bg-container-secondary text-info-primary border-transparent'\n}\n\nconst getSeparatorThemeClasses = (theme?: 'light' | 'dark'): string => {\n if (!theme) return ''\n return 'text-info-primary'\n}\n\n/**\n * \u65F6\u95F4\u6807\u7B7E\u914D\u7F6E\u63A5\u53E3 (singular keys)\n */\nexport interface TimeLabels {\n /** \u5929\u7684\u6807\u7B7E */\n day: string\n /** \u5C0F\u65F6\u7684\u6807\u7B7E */\n hour: string\n /** \u5206\u949F\u7684\u6807\u7B7E */\n minute: string\n /** \u79D2\u7684\u6807\u7B7E */\n second: string\n}\n\n/**\n * \u65F6\u95F4\u6807\u7B7E\u914D\u7F6E\u63A5\u53E3 (plural keys, e.g. from Title component)\n */\nexport interface PluralTimeLabels {\n days: string\n hours: string\n minutes: string\n seconds: string\n}\n\n/**\n * \u65F6\u95F4\u6807\u7B7E\u8F93\u5165\u7C7B\u578B - \u652F\u6301 singular \u548C plural \u952E\u540D\uFF0C\u6240\u6709\u5B57\u6BB5\u53EF\u9009\n */\nexport type TimeLabelsInput = Partial<TimeLabels & PluralTimeLabels>\n\n/**\n * \u5012\u8BA1\u65F6\u7EC4\u4EF6Props\u63A5\u53E3\n */\nexport interface CountdownProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onExpire'>, VariantProps<typeof countdownVariants> {\n /** \u7ED3\u675F\u65F6\u95F4 - ISO\u683C\u5F0F\u5B57\u7B26\u4E32 */\n endDate: string\n /** \u7ED3\u675F\u65F6\u95F4\u65F6\u533A\uFF0C\u5982: America/Los_Angeles */\n endDate_tz?: string\n /** \u683C\u5F0F\u5316\u7528\u7684locale\uFF0C\u9ED8\u8BA4\u4F7F\u7528navigator.language */\n locale?: string\n /** \u65F6\u95F4\u6807\u7B7E\u914D\u7F6E\uFF0C\u652F\u6301 singular (day/hour/minute/second) \u548C plural (days/hours/minutes/seconds) \u952E\u540D */\n timeLabels?: TimeLabelsInput\n /** JSON\u5B57\u7B26\u4E32\u683C\u5F0F\u7684\u65F6\u95F4\u6807\u7B7E\uFF08\u5411\u540E\u517C\u5BB9\uFF09 */\n dateFormat?: string\n /** \u5012\u8BA1\u65F6\u7ED3\u675F\u56DE\u8C03 */\n onExpire?: () => void\n /** \u5206\u9694\u7B26\u5B57\u7B26\uFF0C\u9ED8\u8BA4\u4E3A ':' */\n separator?: string\n /** \u9690\u85CF\u5DF2\u8FC7\u671F\u7684\u5012\u8BA1\u65F6\uFF0C\u9ED8\u8BA4\u4E3A true */\n hideWhenExpired?: boolean\n /** \u662F\u5426\u663E\u793A\u5929\u6570\uFF0C\u9ED8\u8BA4\u4E3A true */\n showDays?: boolean\n /** \u662F\u5426\u663E\u793A\u5C0F\u65F6\uFF0C\u9ED8\u8BA4\u4E3A true */\n showHours?: boolean\n /** \u662F\u5426\u663E\u793A\u5206\u949F\uFF0C\u9ED8\u8BA4\u4E3A true */\n showMinutes?: boolean\n /** \u662F\u5426\u663E\u793A\u79D2\u6570\uFF0C\u9ED8\u8BA4\u4E3A true */\n showSeconds?: boolean\n /** \u989C\u8272\u4E3B\u9898 - \u8986\u76D6 variant \u7684\u989C\u8272\u90E8\u5206\uFF0C\u4FDD\u7559\u5E03\u5C40/\u5C3A\u5BF8\u3002\u4E0D\u4F20\u5219\u4FDD\u6301 variant \u539F\u6709\u989C\u8272 */\n theme?: 'light' | 'dark'\n}\n\n/**\n * \u6570\u5B57\u8865\u96F6\u51FD\u6570\n */\nconst pad = (n: number, len = 2) => String(Math.abs(n)).padStart(len, '0')\n\n/**\n * \u9ED8\u8BA4\u65F6\u95F4\u6807\u7B7E\n */\nconst getDefaultTimeLabels = (): TimeLabels => ({\n day: 'Day',\n hour: 'Hours',\n minute: 'Mins',\n second: 'Secs',\n})\n\n/**\n * \u5C06 plural/singular \u6DF7\u5408\u6807\u7B7E\u89C4\u8303\u5316\u4E3A singular \u683C\u5F0F\n * singular \u952E\u4F18\u5148\u4E8E plural \u952E\uFF0C\u7F3A\u5931\u65F6\u4F7F\u7528\u9ED8\u8BA4\u503C\n */\nconst resolveTimeLabels = (labels: TimeLabelsInput): TimeLabels => {\n const defaults = getDefaultTimeLabels()\n return {\n day: labels.day ?? labels.days ?? defaults.day,\n hour: labels.hour ?? labels.hours ?? defaults.hour,\n minute: labels.minute ?? labels.minutes ?? defaults.minute,\n second: labels.second ?? labels.seconds ?? defaults.second,\n }\n}\n\n/**\n * \u89E3\u6790dateFormat JSON\u5B57\u7B26\u4E32\uFF08\u5411\u540E\u517C\u5BB9\uFF09\n */\nconst safeStringToObject = (str: string): TimeLabelsInput => {\n try {\n let jsonStr = str?.trim?.()\n if (!jsonStr?.startsWith?.('{') || !jsonStr?.endsWith?.('}')) {\n return {}\n }\n jsonStr = jsonStr?.replace?.(/(\\w+)\\s*:/g, '\"$1\":')\n return JSON.parse(jsonStr) as TimeLabelsInput\n } catch (err) {\n return {}\n }\n}\n\n/**\n * Countdown - \u5012\u8BA1\u65F6\u539F\u5B50\u7EC4\u4EF6\n *\n * @description \u7528\u4E8E\u663E\u793A\u5012\u8BA1\u65F6\u7684\u7EC4\u4EF6\uFF0C\u652F\u6301\u5929\u3001\u65F6\u3001\u5206\u3001\u79D2\u663E\u793A\uFF0C\u652F\u6301\u591A\u79CD\u6837\u5F0F\u53D8\u4F53\u3001\u4E3B\u9898\u548C\u5355\u4F4D\u53EF\u89C1\u6027\u63A7\u5236\n */\nconst Countdown = React.forwardRef<HTMLDivElement, CountdownProps>(\n (\n {\n className,\n endDate,\n endDate_tz,\n locale,\n timeLabels,\n dateFormat,\n onExpire,\n separator = ':',\n hideWhenExpired = true,\n showDays = true,\n showHours = true,\n showMinutes = true,\n showSeconds = true,\n variant,\n align,\n theme,\n ...props\n },\n ref\n ) => {\n // \u786E\u5B9A\u6700\u7EC8\u4F7F\u7528\u7684\u65F6\u95F4\u6807\u7B7E (\u652F\u6301 plural \u548C singular \u952E)\n const finalTimeLabels = useMemo(() => {\n if (timeLabels) return resolveTimeLabels(timeLabels)\n if (dateFormat) return resolveTimeLabels(safeStringToObject(dateFormat))\n return getDefaultTimeLabels()\n }, [timeLabels, dateFormat])\n\n // \u89E3\u6790\u76EE\u6807\u65F6\u95F4\n const targetMsRef = useRef<number>(Date.parse(endDate))\n const [remainingMs, setRemainingMs] = useState<number>(() => {\n const t = targetMsRef.current\n return isNaN(t) ? 0 : Math.max(0, t - Date.now())\n })\n\n // \u5224\u65AD\u662F\u5426\u5DF2\u8FC7\u671F\n const [isExpired, setIsExpired] = useState<boolean>(() => {\n const t = targetMsRef.current\n return !isNaN(t) && t <= Date.now()\n })\n\n // \u5F53endDate\u6539\u53D8\u65F6\u66F4\u65B0\u76EE\u6807\u65F6\u95F4\n useEffect(() => {\n targetMsRef.current = Date.parse(endDate)\n const t = targetMsRef.current\n const newRemaining = isNaN(t) ? 0 : Math.max(0, t - Date.now())\n const newIsExpired = !isNaN(t) && t <= Date.now()\n\n setRemainingMs(newRemaining)\n setIsExpired(newIsExpired)\n }, [endDate])\n\n useEffect(() => {\n if (isExpired) return\n if (isNaN(targetMsRef.current)) return\n\n let expiredCalled = false\n let rafId: number = 0\n let lastSecond = -1\n\n const tick = () => {\n const now = Date.now()\n const remaining = Math.max(0, targetMsRef.current - now)\n const currentSecond = Math.floor(remaining / 1000)\n\n if (currentSecond !== lastSecond) {\n lastSecond = currentSecond\n setRemainingMs(remaining)\n\n if (remaining <= 0 && !expiredCalled) {\n expiredCalled = true\n setIsExpired(true)\n onExpire?.()\n return\n }\n }\n\n rafId = requestAnimationFrame(tick)\n }\n\n rafId = requestAnimationFrame(tick)\n return () => cancelAnimationFrame(rafId)\n }, [onExpire, isExpired, endDate])\n\n // \u8BA1\u7B97\u65F6\u95F4\u5355\u4F4D\n const totalSeconds = Math.floor(remainingMs / 1000)\n const seconds = totalSeconds % 60\n const totalMinutes = Math.floor(totalSeconds / 60)\n const minutes = totalMinutes % 60\n const totalHours = Math.floor(totalMinutes / 60)\n const hours = totalHours % 24\n const days = Math.floor(totalHours / 24)\n\n // \u6784\u5EFA\u53EF\u89C1\u7684\u65F6\u95F4\u5355\u4F4D\u6570\u7EC4\n const units: Array<{ value: number; label: string; cssClass: string }> = []\n if (showDays) units.push({ value: days, label: finalTimeLabels.day, cssClass: 'time-days-box' })\n if (showHours) units.push({ value: hours, label: finalTimeLabels.hour, cssClass: 'time-hours-box' })\n if (showMinutes) units.push({ value: minutes, label: finalTimeLabels.minute, cssClass: 'time-minutes-box' })\n if (showSeconds) units.push({ value: seconds, label: finalTimeLabels.second, cssClass: 'time-seconds-box' })\n\n // \u6784\u5EFA\u52A8\u6001 aria-label\n const ariaLabelParts: string[] = []\n if (showDays) ariaLabelParts.push(`${days} days`)\n if (showHours) ariaLabelParts.push(`${pad(hours)} hours`)\n if (showMinutes) ariaLabelParts.push(`${pad(minutes)} minutes`)\n if (showSeconds) ariaLabelParts.push(`${pad(seconds)} seconds`)\n const ariaLabel = ariaLabelParts.length > 0 ? `${ariaLabelParts.join(' ')} remaining` : 'countdown timer'\n\n // \u5982\u679C\u5DF2\u8FC7\u671F\u4E14\u9700\u8981\u9690\u85CF\uFF0C\u4EC5\u4FDD\u7559 screen reader \u901A\u77E5\n if (isExpired && hideWhenExpired) {\n return (\n <span role=\"status\" aria-live=\"polite\" className=\"sr-only\">\n Countdown has ended\n </span>\n )\n }\n\n const timeBlockTheme = getTimeBlockThemeClasses(theme)\n const separatorTheme = getSeparatorThemeClasses(theme)\n\n return (\n <div\n ref={ref}\n className={cn(countdownVariants({ variant, align }), className)}\n role=\"timer\"\n aria-label={ariaLabel}\n {...props}\n >\n {units.map((unit, index) => (\n <React.Fragment key={unit.cssClass}>\n <div className={cn(timeBlockVariants({ variant }), timeBlockTheme, unit.cssClass)}>\n <div className={timeNumberVariants()}>{pad(unit.value, 2)}</div>\n <div className=\"truncate text-center text-[12px] font-bold\">{unit.label}</div>\n </div>\n {index < units.length - 1 && (\n <div className={cn(separatorVariants({ variant }), separatorTheme)}>{separator}</div>\n )}\n </React.Fragment>\n ))}\n {/* Visually hidden status for screen readers - announces only on expiry */}\n {isExpired && (\n <span role=\"status\" aria-live=\"polite\" className=\"sr-only\">\n Countdown has ended\n </span>\n )}\n </div>\n )\n }\n)\n\nCountdown.displayName = 'Countdown'\n\nexport default Countdown\n"],
|
|
5
|
-
"mappings": "klBAAA,IAAAA,GAAA,GAAAC,GAAAD,GAAA,aAAAE,KAAA,eAAAC,GAAAH,
|
|
6
|
-
"names": ["Countdown_exports", "__export", "Countdown_default", "__toCommonJS", "import_jsx_runtime", "import_react", "import_class_variance_authority", "import_helpers", "countdownVariants", "timeBlockVariants", "timeNumberVariants", "separatorVariants", "getTimeBlockThemeClasses", "theme", "getSeparatorThemeClasses", "pad", "n", "len", "getDefaultTimeLabels", "resolveTimeLabels", "labels", "defaults", "safeStringToObject", "str", "jsonStr", "Countdown", "React", "className", "endDate", "endDate_tz", "locale", "timeLabels", "dateFormat", "onExpire", "separator", "hideWhenExpired", "showDays", "showHours", "showMinutes", "showSeconds", "variant", "align", "props", "ref", "finalTimeLabels", "targetMsRef", "remainingMs", "setRemainingMs", "
|
|
4
|
+
"sourcesContent": ["'use client'\n\nimport React, { useEffect, useRef, useState, useMemo } from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { cn } from '../helpers/index.js'\n\n// \u5B9A\u4E49\u6837\u5F0F\u53D8\u4F53\nconst countdownVariants = cva(\n // \u57FA\u7840\u6837\u5F0F\uFF1A\u5012\u8BA1\u65F6\u5BB9\u5668\n 'countdown-container flex w-full items-center',\n {\n variants: {\n variant: {\n outline: 'gap-1',\n spacious: 'gap-1',\n },\n align: {\n left: 'justify-start',\n center: 'justify-center',\n },\n },\n defaultVariants: {\n variant: 'outline',\n align: 'left',\n },\n }\n)\n\nconst timeBlockVariants = cva(\n // \u57FA\u7840\u6837\u5F0F\uFF1A\u65F6\u95F4\u5757\n 'time-block border-box rounded-box-small flex flex-col items-center justify-center overflow-hidden text-center text-xs',\n {\n variants: {\n variant: {\n outline:\n 'border-info-primary text-info-primary desktop:size-12 desktop:p-1 size-10 border bg-transparent p-[2px]',\n spacious: 'bg-info-white text-info-primary desktop:size-12 desktop:p-1 size-10 p-[2px]',\n },\n },\n defaultVariants: {\n variant: 'outline',\n },\n }\n)\n\nconst timeNumberVariants = cva(\n 'time-number lg-desktop:text-[24px] translate-y-[2px] whitespace-nowrap text-center text-[20px] font-bold leading-none'\n)\n\nconst separatorVariants = cva(\n // \u57FA\u7840\u6837\u5F0F\uFF1A\u5206\u9694\u7B26\n 'separator desktop:text-2xl text-xl font-bold',\n {\n variants: {\n variant: {\n outline: 'text-info-primary',\n spacious: 'text-info-primary',\n },\n },\n defaultVariants: {\n variant: 'outline',\n },\n }\n)\n\n/**\n * \u4E3B\u9898\u8272\u8986\u76D6\u7C7B - \u4EC5\u5F53 theme \u4F20\u5165\u65F6\u8986\u76D6 variant \u7684\u989C\u8272\u90E8\u5206\uFF0C\u4FDD\u7559\u5E03\u5C40/\u5C3A\u5BF8\n */\nconst getTimeBlockThemeClasses = (theme?: 'light' | 'dark'): string => {\n if (!theme) return ''\n return theme === 'light'\n ? 'bg-info-primary text-info-white border-transparent'\n : 'bg-container-secondary text-info-primary border-transparent'\n}\n\nconst getSeparatorThemeClasses = (theme?: 'light' | 'dark'): string => {\n if (!theme) return ''\n return 'text-info-primary'\n}\n\n/**\n * \u65F6\u95F4\u6807\u7B7E\u914D\u7F6E\u63A5\u53E3 (singular keys)\n */\nexport interface TimeLabels {\n /** \u5929\u7684\u6807\u7B7E */\n day: string\n /** \u5C0F\u65F6\u7684\u6807\u7B7E */\n hour: string\n /** \u5206\u949F\u7684\u6807\u7B7E */\n minute: string\n /** \u79D2\u7684\u6807\u7B7E */\n second: string\n}\n\n/**\n * \u65F6\u95F4\u6807\u7B7E\u914D\u7F6E\u63A5\u53E3 (plural keys, e.g. from Title component)\n */\nexport interface PluralTimeLabels {\n days: string\n hours: string\n minutes: string\n seconds: string\n}\n\n/**\n * \u65F6\u95F4\u6807\u7B7E\u8F93\u5165\u7C7B\u578B - \u652F\u6301 singular \u548C plural \u952E\u540D\uFF0C\u6240\u6709\u5B57\u6BB5\u53EF\u9009\n */\nexport type TimeLabelsInput = Partial<TimeLabels & PluralTimeLabels>\n\n/**\n * \u5012\u8BA1\u65F6\u7EC4\u4EF6Props\u63A5\u53E3\n */\nexport interface CountdownProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onExpire'>, VariantProps<typeof countdownVariants> {\n /** \u7ED3\u675F\u65F6\u95F4 - ISO\u683C\u5F0F\u5B57\u7B26\u4E32 */\n endDate: string\n /** \u7ED3\u675F\u65F6\u95F4\u65F6\u533A\uFF0C\u5982: America/Los_Angeles */\n endDate_tz?: string\n /** \u683C\u5F0F\u5316\u7528\u7684locale\uFF0C\u9ED8\u8BA4\u4F7F\u7528navigator.language */\n locale?: string\n /** \u65F6\u95F4\u6807\u7B7E\u914D\u7F6E\uFF0C\u652F\u6301 singular (day/hour/minute/second) \u548C plural (days/hours/minutes/seconds) \u952E\u540D */\n timeLabels?: TimeLabelsInput\n /** JSON\u5B57\u7B26\u4E32\u683C\u5F0F\u7684\u65F6\u95F4\u6807\u7B7E\uFF08\u5411\u540E\u517C\u5BB9\uFF09 */\n dateFormat?: string\n /** \u5012\u8BA1\u65F6\u7ED3\u675F\u56DE\u8C03 */\n onExpire?: () => void\n /** \u5206\u9694\u7B26\u5B57\u7B26\uFF0C\u9ED8\u8BA4\u4E3A ':' */\n separator?: string\n /** \u9690\u85CF\u5DF2\u8FC7\u671F\u7684\u5012\u8BA1\u65F6\uFF0C\u9ED8\u8BA4\u4E3A true */\n hideWhenExpired?: boolean\n /** \u662F\u5426\u663E\u793A\u5929\u6570\uFF0C\u9ED8\u8BA4\u4E3A true */\n showDays?: boolean\n /** \u662F\u5426\u663E\u793A\u5C0F\u65F6\uFF0C\u9ED8\u8BA4\u4E3A true */\n showHours?: boolean\n /** \u662F\u5426\u663E\u793A\u5206\u949F\uFF0C\u9ED8\u8BA4\u4E3A true */\n showMinutes?: boolean\n /** \u662F\u5426\u663E\u793A\u79D2\u6570\uFF0C\u9ED8\u8BA4\u4E3A true */\n showSeconds?: boolean\n /** \u989C\u8272\u4E3B\u9898 - \u8986\u76D6 variant \u7684\u989C\u8272\u90E8\u5206\uFF0C\u4FDD\u7559\u5E03\u5C40/\u5C3A\u5BF8\u3002\u4E0D\u4F20\u5219\u4FDD\u6301 variant \u539F\u6709\u989C\u8272 */\n theme?: 'light' | 'dark'\n}\n\n/**\n * \u6570\u5B57\u8865\u96F6\u51FD\u6570\n */\nconst pad = (n: number, len = 2) => String(Math.abs(n)).padStart(len, '0')\n\n/**\n * \u9ED8\u8BA4\u65F6\u95F4\u6807\u7B7E\n */\nconst getDefaultTimeLabels = (): TimeLabels => ({\n day: 'Day',\n hour: 'Hours',\n minute: 'Mins',\n second: 'Secs',\n})\n\n/**\n * \u5C06 plural/singular \u6DF7\u5408\u6807\u7B7E\u89C4\u8303\u5316\u4E3A singular \u683C\u5F0F\n * singular \u952E\u4F18\u5148\u4E8E plural \u952E\uFF0C\u7F3A\u5931\u65F6\u4F7F\u7528\u9ED8\u8BA4\u503C\n */\nconst resolveTimeLabels = (labels: TimeLabelsInput): TimeLabels => {\n const defaults = getDefaultTimeLabels()\n return {\n day: labels.day ?? labels.days ?? defaults.day,\n hour: labels.hour ?? labels.hours ?? defaults.hour,\n minute: labels.minute ?? labels.minutes ?? defaults.minute,\n second: labels.second ?? labels.seconds ?? defaults.second,\n }\n}\n\n/**\n * \u89E3\u6790dateFormat JSON\u5B57\u7B26\u4E32\uFF08\u5411\u540E\u517C\u5BB9\uFF09\n */\nconst safeStringToObject = (str: string): TimeLabelsInput => {\n try {\n let jsonStr = str?.trim?.()\n if (!jsonStr?.startsWith?.('{') || !jsonStr?.endsWith?.('}')) {\n return {}\n }\n jsonStr = jsonStr?.replace?.(/(\\w+)\\s*:/g, '\"$1\":')\n return JSON.parse(jsonStr) as TimeLabelsInput\n } catch (err) {\n return {}\n }\n}\n\n/**\n * Countdown - \u5012\u8BA1\u65F6\u539F\u5B50\u7EC4\u4EF6\n *\n * @description \u7528\u4E8E\u663E\u793A\u5012\u8BA1\u65F6\u7684\u7EC4\u4EF6\uFF0C\u652F\u6301\u5929\u3001\u65F6\u3001\u5206\u3001\u79D2\u663E\u793A\uFF0C\u652F\u6301\u591A\u79CD\u6837\u5F0F\u53D8\u4F53\u3001\u4E3B\u9898\u548C\u5355\u4F4D\u53EF\u89C1\u6027\u63A7\u5236\n */\nconst Countdown = React.forwardRef<HTMLDivElement, CountdownProps>(\n (\n {\n className,\n endDate,\n endDate_tz,\n locale,\n timeLabels,\n dateFormat,\n onExpire,\n separator = ':',\n hideWhenExpired = true,\n showDays = true,\n showHours = true,\n showMinutes = true,\n showSeconds = true,\n variant,\n align,\n theme,\n ...props\n },\n ref\n ) => {\n // \u786E\u5B9A\u6700\u7EC8\u4F7F\u7528\u7684\u65F6\u95F4\u6807\u7B7E (\u652F\u6301 plural \u548C singular \u952E)\n const finalTimeLabels = useMemo(() => {\n if (timeLabels) return resolveTimeLabels(timeLabels)\n if (dateFormat) return resolveTimeLabels(safeStringToObject(dateFormat))\n return getDefaultTimeLabels()\n }, [timeLabels, dateFormat])\n\n // \u89E3\u6790\u76EE\u6807\u65F6\u95F4\n const targetMsRef = useRef<number>(Date.parse(endDate))\n const [remainingMs, setRemainingMs] = useState<number>(0)\n\n // \u5224\u65AD\u662F\u5426\u5DF2\u8FC7\u671F\n const [isExpired, setIsExpired] = useState<boolean>(false)\n\n // \u5F53endDate\u6539\u53D8\u65F6\u6216\u7EC4\u4EF6\u6302\u8F7D\u65F6\u66F4\u65B0\u76EE\u6807\u65F6\u95F4\uFF08SSR\u5B89\u5168\uFF1ADate.now() \u4EC5\u5728 useEffect \u4E2D\u8C03\u7528\uFF09\n useEffect(() => {\n targetMsRef.current = Date.parse(endDate)\n const t = targetMsRef.current\n const now = Date.now()\n const newRemaining = isNaN(t) ? 0 : Math.max(0, t - now)\n const newIsExpired = !isNaN(t) && t <= now\n\n setRemainingMs(newRemaining)\n setIsExpired(newIsExpired)\n }, [endDate])\n\n useEffect(() => {\n if (isExpired) return\n if (isNaN(targetMsRef.current)) return\n\n let expiredCalled = false\n let rafId: number = 0\n let lastSecond = -1\n\n const tick = () => {\n const now = Date.now()\n const remaining = Math.max(0, targetMsRef.current - now)\n const currentSecond = Math.floor(remaining / 1000)\n\n if (currentSecond !== lastSecond) {\n lastSecond = currentSecond\n setRemainingMs(remaining)\n\n if (remaining <= 0 && !expiredCalled) {\n expiredCalled = true\n setIsExpired(true)\n onExpire?.()\n return\n }\n }\n\n rafId = requestAnimationFrame(tick)\n }\n\n rafId = requestAnimationFrame(tick)\n return () => cancelAnimationFrame(rafId)\n }, [onExpire, isExpired, endDate])\n\n // \u8BA1\u7B97\u65F6\u95F4\u5355\u4F4D\n const totalSeconds = Math.floor(remainingMs / 1000)\n const seconds = totalSeconds % 60\n const totalMinutes = Math.floor(totalSeconds / 60)\n const minutes = totalMinutes % 60\n const totalHours = Math.floor(totalMinutes / 60)\n const hours = totalHours % 24\n const days = Math.floor(totalHours / 24)\n\n // \u6784\u5EFA\u53EF\u89C1\u7684\u65F6\u95F4\u5355\u4F4D\u6570\u7EC4\n const units: Array<{ value: number; label: string; cssClass: string }> = []\n if (showDays) units.push({ value: days, label: finalTimeLabels.day, cssClass: 'time-days-box' })\n if (showHours) units.push({ value: hours, label: finalTimeLabels.hour, cssClass: 'time-hours-box' })\n if (showMinutes) units.push({ value: minutes, label: finalTimeLabels.minute, cssClass: 'time-minutes-box' })\n if (showSeconds) units.push({ value: seconds, label: finalTimeLabels.second, cssClass: 'time-seconds-box' })\n\n // \u6784\u5EFA\u52A8\u6001 aria-label\n const ariaLabelParts: string[] = []\n if (showDays) ariaLabelParts.push(`${days} days`)\n if (showHours) ariaLabelParts.push(`${pad(hours)} hours`)\n if (showMinutes) ariaLabelParts.push(`${pad(minutes)} minutes`)\n if (showSeconds) ariaLabelParts.push(`${pad(seconds)} seconds`)\n const ariaLabel = ariaLabelParts.length > 0 ? `${ariaLabelParts.join(' ')} remaining` : 'countdown timer'\n\n // \u5982\u679C\u5DF2\u8FC7\u671F\u4E14\u9700\u8981\u9690\u85CF\uFF0C\u4EC5\u4FDD\u7559 screen reader \u901A\u77E5\n if (isExpired && hideWhenExpired) {\n return (\n <span role=\"status\" aria-live=\"polite\" className=\"sr-only\">\n Countdown has ended\n </span>\n )\n }\n\n const timeBlockTheme = getTimeBlockThemeClasses(theme)\n const separatorTheme = getSeparatorThemeClasses(theme)\n\n return (\n <div\n ref={ref}\n className={cn(countdownVariants({ variant, align }), className)}\n role=\"timer\"\n aria-label={ariaLabel}\n {...props}\n >\n {units.map((unit, index) => (\n <React.Fragment key={unit.cssClass}>\n <div className={cn(timeBlockVariants({ variant }), timeBlockTheme, unit.cssClass)}>\n <div className={timeNumberVariants()}>{pad(unit.value, 2)}</div>\n <div className=\"truncate text-center text-[12px] font-bold\">{unit.label}</div>\n </div>\n {index < units.length - 1 && (\n <div className={cn(separatorVariants({ variant }), separatorTheme)}>{separator}</div>\n )}\n </React.Fragment>\n ))}\n {/* Visually hidden status for screen readers - announces only on expiry */}\n {isExpired && (\n <span role=\"status\" aria-live=\"polite\" className=\"sr-only\">\n Countdown has ended\n </span>\n )}\n </div>\n )\n }\n)\n\nCountdown.displayName = 'Countdown'\n\nexport default Countdown\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Countdown_exports", "__export", "Countdown_default", "__toCommonJS", "import_jsx_runtime", "import_react", "import_class_variance_authority", "import_helpers", "countdownVariants", "timeBlockVariants", "timeNumberVariants", "separatorVariants", "getTimeBlockThemeClasses", "theme", "getSeparatorThemeClasses", "pad", "n", "len", "getDefaultTimeLabels", "resolveTimeLabels", "labels", "defaults", "safeStringToObject", "str", "jsonStr", "Countdown", "React", "className", "endDate", "endDate_tz", "locale", "timeLabels", "dateFormat", "onExpire", "separator", "hideWhenExpired", "showDays", "showHours", "showMinutes", "showSeconds", "variant", "align", "props", "ref", "finalTimeLabels", "targetMsRef", "remainingMs", "setRemainingMs", "isExpired", "setIsExpired", "t", "now", "newRemaining", "newIsExpired", "expiredCalled", "rafId", "lastSecond", "tick", "remaining", "currentSecond", "totalSeconds", "seconds", "totalMinutes", "minutes", "totalHours", "hours", "days", "units", "ariaLabelParts", "ariaLabel", "timeBlockTheme", "separatorTheme", "unit", "index"]
|
|
7
7
|
}
|