@anker-in/headless-ui 1.1.87 → 1.1.89
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/biz-components/AccordionCards/index.d.ts +1 -1
- package/dist/cjs/biz-components/ActiveShelf/index.d.ts +1 -1
- package/dist/cjs/biz-components/ActivitySchedule/index.d.ts +1 -1
- 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/AplusDesc/index.d.ts +1 -1
- package/dist/cjs/biz-components/BrandCardLink/BrandCardLink.d.ts +1 -1
- 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/BrandEquity/types.d.ts +8 -0
- package/dist/cjs/biz-components/BrandEquity/types.js +1 -1
- package/dist/cjs/biz-components/BrandEquity/types.js.map +1 -1
- package/dist/cjs/biz-components/Category/index.d.ts +1 -1
- 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/EventSchedule/index.d.ts +1 -1
- package/dist/cjs/biz-components/Faq/Faq.d.ts +1 -1
- package/dist/cjs/biz-components/Faq/Faq.js +1 -1
- package/dist/cjs/biz-components/Faq/Faq.js.map +2 -2
- package/dist/cjs/biz-components/Faq/types.d.ts +1 -0
- package/dist/cjs/biz-components/Faq/types.js +1 -1
- package/dist/cjs/biz-components/Faq/types.js.map +1 -1
- package/dist/cjs/biz-components/FeatureCards/FeatureCards.d.ts +1 -1
- 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/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/GiftBox/index.d.ts +1 -1
- package/dist/cjs/biz-components/GiftShelf/index.d.ts +1 -1
- 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/GraphicAttractionBlock/index.d.ts +1 -1
- package/dist/cjs/biz-components/GraphicMore/index.d.ts +1 -1
- package/dist/cjs/biz-components/GraphicOverlay/GraphicOverlay.d.ts +1 -1
- package/dist/cjs/biz-components/HeaderNavigation/index.d.ts +1 -1
- package/dist/cjs/biz-components/HeroBanner/HeroBanner.d.ts +21 -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.d.ts +23 -0
- package/dist/cjs/biz-components/HeroBanner/HeroBannerCarousel.js +2 -0
- package/dist/cjs/biz-components/HeroBanner/HeroBannerCarousel.js.map +7 -0
- package/dist/cjs/biz-components/HeroBanner/index.d.ts +1 -0
- package/dist/cjs/biz-components/HeroBanner/index.js +1 -1
- package/dist/cjs/biz-components/HeroBanner/index.js.map +1 -1
- package/dist/cjs/biz-components/HeroBanner/types.d.ts +73 -0
- package/dist/cjs/biz-components/HeroBanner/types.js +1 -1
- package/dist/cjs/biz-components/HeroBanner/types.js.map +1 -1
- package/dist/cjs/biz-components/ImageOverlayShelf/index.d.ts +2 -2
- package/dist/cjs/biz-components/ImageOverlayShelf/index.js +1 -1
- package/dist/cjs/biz-components/ImageOverlayShelf/index.js.map +3 -3
- package/dist/cjs/biz-components/ImageTextFeature/ImageTextFeature.d.ts +1 -1
- package/dist/cjs/biz-components/ImageTextOverlay/index.d.ts +9 -0
- package/dist/cjs/biz-components/ImageTextOverlay/index.js +18 -0
- package/dist/cjs/biz-components/ImageTextOverlay/index.js.map +7 -0
- package/dist/cjs/biz-components/ImageTextOverlay/types.d.ts +58 -0
- package/dist/cjs/biz-components/ImageTextOverlay/types.js +2 -0
- package/dist/cjs/biz-components/ImageTextOverlay/types.js.map +7 -0
- 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 +2 -2
- package/dist/cjs/biz-components/Ksp/index.d.ts +1 -1
- 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/PurchaseBar/index.d.ts +1 -1
- package/dist/cjs/biz-components/LotteryShared/BaseModal.js +1 -1
- package/dist/cjs/biz-components/LotteryShared/BaseModal.js.map +2 -2
- package/dist/cjs/biz-components/LotteryShared/ChanceMethods.js +1 -1
- package/dist/cjs/biz-components/LotteryShared/ChanceMethods.js.map +3 -3
- package/dist/cjs/biz-components/LotteryShared/ErrorModal.js +1 -1
- package/dist/cjs/biz-components/LotteryShared/ErrorModal.js.map +2 -2
- package/dist/cjs/biz-components/LotteryShared/MyRewardsModal.d.ts +33 -0
- 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/PrizePool.js +1 -1
- package/dist/cjs/biz-components/LotteryShared/PrizePool.js.map +3 -3
- package/dist/cjs/biz-components/LotteryShared/WinnerModal.d.ts +1 -1
- package/dist/cjs/biz-components/LotteryShared/WinnerModal.js +1 -1
- package/dist/cjs/biz-components/LotteryShared/WinnerModal.js.map +3 -3
- package/dist/cjs/biz-components/LotteryShared/types.d.ts +101 -0
- package/dist/cjs/biz-components/LotteryShared/types.js +1 -1
- package/dist/cjs/biz-components/LotteryShared/types.js.map +2 -2
- package/dist/cjs/biz-components/Marquee/Marquee.d.ts +2 -1
- package/dist/cjs/biz-components/Marquee/Marquee.js +1 -1
- package/dist/cjs/biz-components/Marquee/Marquee.js.map +3 -3
- package/dist/cjs/biz-components/MarqueeReview/index.d.ts +1 -1
- package/dist/cjs/biz-components/Media/index.d.ts +15 -3
- 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/MediaPlayerBase/types.d.ts +26 -0
- package/dist/cjs/biz-components/MediaPlayerBase/types.js +1 -1
- package/dist/cjs/biz-components/MediaPlayerBase/types.js.map +1 -1
- package/dist/cjs/biz-components/MediaPlayerMulti/index.d.ts +1 -1
- package/dist/cjs/biz-components/MediaPlayerSticky/index.d.ts +1 -1
- package/dist/cjs/biz-components/MediaSceneSwitcher/MediaSceneSwitcher.d.ts +1 -1
- package/dist/cjs/biz-components/MediaSceneSwitcherV2/index.d.ts +1 -1
- package/dist/cjs/biz-components/MediaShelf/index.d.ts +1 -1
- package/dist/cjs/biz-components/MemberEquity/index.d.ts +1 -1
- package/dist/cjs/biz-components/MiniCart/index.js +1 -1
- package/dist/cjs/biz-components/MiniCart/index.js.map +2 -2
- package/dist/cjs/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.d.ts +1 -1
- package/dist/cjs/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js +1 -1
- package/dist/cjs/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js.map +2 -2
- package/dist/cjs/biz-components/NavigationSearch/index.d.ts +1 -1
- package/dist/cjs/biz-components/ProductCompare/index.d.ts +1 -1
- package/dist/cjs/biz-components/ProductHero/ProductHero.d.ts +1 -1
- package/dist/cjs/biz-components/ProductLottery/MediaDrawArea.js +1 -1
- package/dist/cjs/biz-components/ProductLottery/MediaDrawArea.js.map +3 -3
- package/dist/cjs/biz-components/ProductLottery/index.d.ts +3 -2
- package/dist/cjs/biz-components/ProductLottery/index.js +1 -1
- package/dist/cjs/biz-components/ProductLottery/index.js.map +3 -3
- package/dist/cjs/biz-components/ProductLottery/types.d.ts +75 -89
- 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/PromotionalBar/index.d.ts +3 -2
- 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 +113 -0
- package/dist/cjs/biz-components/SceneShelfV2/index.js +2 -0
- package/dist/cjs/biz-components/SceneShelfV2/index.js.map +7 -0
- package/dist/cjs/biz-components/SceneShelfV3/ProductCard.d.ts +89 -0
- package/dist/cjs/biz-components/SceneShelfV3/ProductCard.js +2 -0
- package/dist/cjs/biz-components/SceneShelfV3/ProductCard.js.map +7 -0
- package/dist/cjs/biz-components/SceneShelfV3/index.d.ts +79 -0
- package/dist/cjs/biz-components/SceneShelfV3/index.js +2 -0
- package/dist/cjs/biz-components/SceneShelfV3/index.js.map +7 -0
- package/dist/cjs/biz-components/SceneShelfV3/types.d.ts +19 -0
- package/dist/cjs/biz-components/SceneShelfV3/types.js +2 -0
- package/dist/cjs/biz-components/SceneShelfV3/types.js.map +7 -0
- package/dist/cjs/biz-components/SecondaryBanner/SecondaryBannerCarousel.d.ts +21 -0
- package/dist/cjs/biz-components/SecondaryBanner/SecondaryBannerCarousel.js +2 -0
- package/dist/cjs/biz-components/SecondaryBanner/SecondaryBannerCarousel.js.map +7 -0
- package/dist/cjs/biz-components/SecondaryBanner/index.d.ts +65 -1
- package/dist/cjs/biz-components/SecondaryBanner/index.js +1 -1
- package/dist/cjs/biz-components/SecondaryBanner/index.js.map +3 -3
- 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/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/SpecsComparison/SpecsComparison.d.ts +1 -1
- 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/ThreeDCarousel/ThreeDCarousel.d.ts +1 -1
- 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/Title/types.d.ts +53 -1
- package/dist/cjs/biz-components/Title/types.js +1 -1
- package/dist/cjs/biz-components/Title/types.js.map +1 -1
- package/dist/cjs/biz-components/VideoFeature/VideoFeature.d.ts +1 -1
- package/dist/cjs/biz-components/WheelLottery/BaseModal.js +1 -1
- package/dist/cjs/biz-components/WheelLottery/BaseModal.js.map +2 -2
- package/dist/cjs/biz-components/WheelLottery/ErrorModal.js +1 -1
- package/dist/cjs/biz-components/WheelLottery/ErrorModal.js.map +2 -2
- package/dist/cjs/biz-components/WheelLottery/MyRewardsModal.js +1 -1
- package/dist/cjs/biz-components/WheelLottery/MyRewardsModal.js.map +2 -2
- package/dist/cjs/biz-components/WheelLottery/WinnerModal.js +1 -1
- package/dist/cjs/biz-components/WheelLottery/WinnerModal.js.map +2 -2
- package/dist/cjs/biz-components/WheelLottery/index.d.ts +2 -1
- 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/WheelLottery/types.d.ts +6 -0
- package/dist/cjs/biz-components/WheelLottery/types.js.map +2 -2
- package/dist/cjs/biz-components/WhyChoose/WhyChoose.d.ts +1 -1
- package/dist/cjs/biz-components/index.d.ts +7 -0
- package/dist/cjs/biz-components/index.js +1 -1
- package/dist/cjs/biz-components/index.js.map +3 -3
- package/dist/cjs/hooks/useExposure.d.ts +4 -3
- package/dist/cjs/hooks/useExposure.js +1 -1
- package/dist/cjs/hooks/useExposure.js.map +3 -3
- package/dist/cjs/hooks/useGridRowCount.d.ts +16 -0
- package/dist/cjs/hooks/useGridRowCount.js +2 -0
- package/dist/cjs/hooks/useGridRowCount.js.map +7 -0
- package/dist/cjs/hooks/useViewItemList.d.ts +21 -0
- package/dist/cjs/hooks/useViewItemList.js +2 -0
- package/dist/cjs/hooks/useViewItemList.js.map +7 -0
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/index.js.map +3 -3
- package/dist/cjs/shared/Styles.js +1 -1
- package/dist/cjs/shared/Styles.js.map +3 -3
- package/dist/cjs/shared/trackUrlRef.d.ts +9 -0
- package/dist/cjs/shared/trackUrlRef.js +1 -1
- package/dist/cjs/shared/trackUrlRef.js.map +3 -3
- package/dist/cjs/types/props.d.ts +18 -1
- package/dist/cjs/types/props.js +1 -1
- package/dist/cjs/types/props.js.map +1 -1
- package/dist/esm/biz-components/AccordionCards/index.d.ts +1 -1
- package/dist/esm/biz-components/ActiveShelf/index.d.ts +1 -1
- package/dist/esm/biz-components/ActivitySchedule/index.d.ts +1 -1
- 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/AplusDesc/index.d.ts +1 -1
- package/dist/esm/biz-components/BrandCardLink/BrandCardLink.d.ts +1 -1
- 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/BrandEquity/types.d.ts +8 -0
- package/dist/esm/biz-components/Category/index.d.ts +1 -1
- 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/EventSchedule/index.d.ts +1 -1
- package/dist/esm/biz-components/Faq/Faq.d.ts +1 -1
- package/dist/esm/biz-components/Faq/Faq.js +1 -1
- package/dist/esm/biz-components/Faq/Faq.js.map +2 -2
- package/dist/esm/biz-components/Faq/types.d.ts +1 -0
- package/dist/esm/biz-components/FeatureCards/FeatureCards.d.ts +1 -1
- 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/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/GiftBox/index.d.ts +1 -1
- package/dist/esm/biz-components/GiftShelf/index.d.ts +1 -1
- 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/GraphicAttractionBlock/index.d.ts +1 -1
- package/dist/esm/biz-components/GraphicMore/index.d.ts +1 -1
- package/dist/esm/biz-components/GraphicOverlay/GraphicOverlay.d.ts +1 -1
- package/dist/esm/biz-components/HeaderNavigation/index.d.ts +1 -1
- package/dist/esm/biz-components/HeroBanner/HeroBanner.d.ts +21 -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.d.ts +23 -0
- package/dist/esm/biz-components/HeroBanner/HeroBannerCarousel.js +2 -0
- package/dist/esm/biz-components/HeroBanner/HeroBannerCarousel.js.map +7 -0
- package/dist/esm/biz-components/HeroBanner/index.d.ts +1 -0
- package/dist/esm/biz-components/HeroBanner/index.js +1 -1
- package/dist/esm/biz-components/HeroBanner/index.js.map +1 -1
- package/dist/esm/biz-components/HeroBanner/types.d.ts +73 -0
- package/dist/esm/biz-components/ImageOverlayShelf/index.d.ts +2 -2
- package/dist/esm/biz-components/ImageOverlayShelf/index.js +1 -1
- package/dist/esm/biz-components/ImageOverlayShelf/index.js.map +3 -3
- package/dist/esm/biz-components/ImageTextFeature/ImageTextFeature.d.ts +1 -1
- package/dist/esm/biz-components/ImageTextOverlay/index.d.ts +9 -0
- package/dist/esm/biz-components/ImageTextOverlay/index.js +18 -0
- package/dist/esm/biz-components/ImageTextOverlay/index.js.map +7 -0
- package/dist/esm/biz-components/ImageTextOverlay/types.d.ts +58 -0
- package/dist/esm/biz-components/ImageTextOverlay/types.js +1 -0
- package/dist/esm/biz-components/ImageTextOverlay/types.js.map +7 -0
- 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 +2 -2
- package/dist/esm/biz-components/Ksp/index.d.ts +1 -1
- 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/PurchaseBar/index.d.ts +1 -1
- package/dist/esm/biz-components/LotteryShared/BaseModal.js +1 -1
- package/dist/esm/biz-components/LotteryShared/BaseModal.js.map +2 -2
- package/dist/esm/biz-components/LotteryShared/ChanceMethods.js +1 -1
- package/dist/esm/biz-components/LotteryShared/ChanceMethods.js.map +3 -3
- package/dist/esm/biz-components/LotteryShared/ErrorModal.js +1 -1
- package/dist/esm/biz-components/LotteryShared/ErrorModal.js.map +2 -2
- package/dist/esm/biz-components/LotteryShared/MyRewardsModal.d.ts +33 -0
- 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/PrizePool.js +1 -1
- package/dist/esm/biz-components/LotteryShared/PrizePool.js.map +3 -3
- package/dist/esm/biz-components/LotteryShared/WinnerModal.d.ts +1 -1
- package/dist/esm/biz-components/LotteryShared/WinnerModal.js +1 -1
- package/dist/esm/biz-components/LotteryShared/WinnerModal.js.map +3 -3
- package/dist/esm/biz-components/LotteryShared/types.d.ts +101 -0
- package/dist/esm/biz-components/LotteryShared/types.js +1 -1
- package/dist/esm/biz-components/LotteryShared/types.js.map +2 -2
- package/dist/esm/biz-components/Marquee/Marquee.d.ts +2 -1
- package/dist/esm/biz-components/Marquee/Marquee.js +1 -1
- package/dist/esm/biz-components/Marquee/Marquee.js.map +2 -2
- package/dist/esm/biz-components/MarqueeReview/index.d.ts +1 -1
- package/dist/esm/biz-components/Media/index.d.ts +15 -3
- 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/MediaPlayerBase/types.d.ts +26 -0
- package/dist/esm/biz-components/MediaPlayerMulti/index.d.ts +1 -1
- package/dist/esm/biz-components/MediaPlayerSticky/index.d.ts +1 -1
- package/dist/esm/biz-components/MediaSceneSwitcher/MediaSceneSwitcher.d.ts +1 -1
- package/dist/esm/biz-components/MediaSceneSwitcherV2/index.d.ts +1 -1
- package/dist/esm/biz-components/MediaShelf/index.d.ts +1 -1
- package/dist/esm/biz-components/MemberEquity/index.d.ts +1 -1
- package/dist/esm/biz-components/MiniCart/index.js +1 -1
- package/dist/esm/biz-components/MiniCart/index.js.map +2 -2
- package/dist/esm/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.d.ts +1 -1
- package/dist/esm/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js +1 -1
- package/dist/esm/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js.map +2 -2
- package/dist/esm/biz-components/NavigationSearch/index.d.ts +1 -1
- package/dist/esm/biz-components/ProductCompare/index.d.ts +1 -1
- package/dist/esm/biz-components/ProductHero/ProductHero.d.ts +1 -1
- package/dist/esm/biz-components/ProductLottery/MediaDrawArea.js +1 -1
- package/dist/esm/biz-components/ProductLottery/MediaDrawArea.js.map +3 -3
- package/dist/esm/biz-components/ProductLottery/index.d.ts +3 -2
- package/dist/esm/biz-components/ProductLottery/index.js +1 -1
- package/dist/esm/biz-components/ProductLottery/index.js.map +3 -3
- package/dist/esm/biz-components/ProductLottery/types.d.ts +75 -89
- 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/PromotionalBar/index.d.ts +3 -2
- 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 +113 -0
- package/dist/esm/biz-components/SceneShelfV2/index.js +2 -0
- package/dist/esm/biz-components/SceneShelfV2/index.js.map +7 -0
- package/dist/esm/biz-components/SceneShelfV3/ProductCard.d.ts +89 -0
- package/dist/esm/biz-components/SceneShelfV3/ProductCard.js +2 -0
- package/dist/esm/biz-components/SceneShelfV3/ProductCard.js.map +7 -0
- package/dist/esm/biz-components/SceneShelfV3/index.d.ts +79 -0
- package/dist/esm/biz-components/SceneShelfV3/index.js +2 -0
- package/dist/esm/biz-components/SceneShelfV3/index.js.map +7 -0
- package/dist/esm/biz-components/SceneShelfV3/types.d.ts +19 -0
- package/dist/esm/biz-components/SceneShelfV3/types.js +1 -0
- package/dist/esm/biz-components/SceneShelfV3/types.js.map +7 -0
- package/dist/esm/biz-components/SecondaryBanner/SecondaryBannerCarousel.d.ts +21 -0
- package/dist/esm/biz-components/SecondaryBanner/SecondaryBannerCarousel.js +2 -0
- package/dist/esm/biz-components/SecondaryBanner/SecondaryBannerCarousel.js.map +7 -0
- package/dist/esm/biz-components/SecondaryBanner/index.d.ts +65 -1
- package/dist/esm/biz-components/SecondaryBanner/index.js +1 -1
- package/dist/esm/biz-components/SecondaryBanner/index.js.map +3 -3
- 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/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/SpecsComparison/SpecsComparison.d.ts +1 -1
- 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/ThreeDCarousel/ThreeDCarousel.d.ts +1 -1
- 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/Title/types.d.ts +53 -1
- package/dist/esm/biz-components/VideoFeature/VideoFeature.d.ts +1 -1
- package/dist/esm/biz-components/WheelLottery/BaseModal.js +1 -1
- package/dist/esm/biz-components/WheelLottery/BaseModal.js.map +2 -2
- package/dist/esm/biz-components/WheelLottery/ErrorModal.js +1 -1
- package/dist/esm/biz-components/WheelLottery/ErrorModal.js.map +2 -2
- package/dist/esm/biz-components/WheelLottery/MyRewardsModal.js +1 -1
- package/dist/esm/biz-components/WheelLottery/MyRewardsModal.js.map +2 -2
- package/dist/esm/biz-components/WheelLottery/WinnerModal.js +1 -1
- package/dist/esm/biz-components/WheelLottery/WinnerModal.js.map +2 -2
- package/dist/esm/biz-components/WheelLottery/index.d.ts +2 -1
- package/dist/esm/biz-components/WheelLottery/index.js +1 -1
- package/dist/esm/biz-components/WheelLottery/index.js.map +3 -3
- package/dist/esm/biz-components/WheelLottery/types.d.ts +6 -0
- package/dist/esm/biz-components/WheelLottery/types.js.map +2 -2
- package/dist/esm/biz-components/WhyChoose/WhyChoose.d.ts +1 -1
- package/dist/esm/biz-components/index.d.ts +7 -0
- package/dist/esm/biz-components/index.js +1 -1
- package/dist/esm/biz-components/index.js.map +3 -3
- package/dist/esm/hooks/useExposure.d.ts +4 -3
- package/dist/esm/hooks/useExposure.js +1 -1
- package/dist/esm/hooks/useExposure.js.map +3 -3
- package/dist/esm/hooks/useGridRowCount.d.ts +16 -0
- package/dist/esm/hooks/useGridRowCount.js +2 -0
- package/dist/esm/hooks/useGridRowCount.js.map +7 -0
- package/dist/esm/hooks/useViewItemList.d.ts +21 -0
- package/dist/esm/hooks/useViewItemList.js +2 -0
- package/dist/esm/hooks/useViewItemList.js.map +7 -0
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +3 -3
- package/dist/esm/shared/Styles.js +1 -1
- package/dist/esm/shared/Styles.js.map +3 -3
- package/dist/esm/shared/trackUrlRef.d.ts +9 -0
- package/dist/esm/shared/trackUrlRef.js +1 -1
- package/dist/esm/shared/trackUrlRef.js.map +3 -3
- package/dist/esm/types/props.d.ts +18 -1
- package/dist/tokens/anker.css +2 -2
- package/dist/tokens/eufy.css +2 -2
- package/dist/tokens/eufyMake.css +2 -2
- package/dist/tokens/soundcore.css +2 -2
- package/package.json +1 -1
- package/style.css +224 -26
- package/tailwind.config.js +14 -2
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/hooks/useExposure.ts"],
|
|
4
|
-
"sourcesContent": ["import { type RefObject } from 'react'\nimport { gaTrack } from '../shared/track.js'\nimport { useIntersectionObserverDelay } from './useIntersectionObserver.js'\nimport { useAiuiContext } from '../biz-components/AiuiProvider/index.js'\n\ninterface ExposureOptions {\n componentType: string\n componentName: string\n componentTitle?: string\n componentDescription?: string\n navigation?: string\n pageGroup?: string\n position?: number\n}\n\nexport const useExposure = (\n ref: RefObject<
|
|
5
|
-
"mappings": "AAAA,
|
|
6
|
-
"names": ["gaTrack", "useIntersectionObserverDelay", "useAiuiContext", "useExposure", "ref", "componentType", "componentName", "componentTitle", "componentDescription", "navigation", "position", "trackingData", "onExposure", "pageGroup"]
|
|
4
|
+
"sourcesContent": ["import { type RefObject, useMemo } from 'react'\nimport { gaTrack } from '../shared/track.js'\nimport { useIntersectionObserverDelay } from './useIntersectionObserver.js'\nimport { useAiuiContext } from '../biz-components/AiuiProvider/index.js'\nimport { convertLexicalToPlaintext } from '@payloadcms/richtext-lexical/plaintext'\nimport type { SerializedEditorState } from '@payloadcms/richtext-lexical/lexical'\n\ninterface ExposureOptions {\n componentType: string\n componentName: string\n componentTitle?: string | SerializedEditorState\n componentDescription?: string | SerializedEditorState\n navigation?: string\n pageGroup?: string\n position?: number\n}\n\nexport const useExposure = (\n ref: RefObject<HTMLElement>,\n { componentType, componentName, componentTitle, componentDescription, navigation = '', position = 1 }: ExposureOptions\n) => {\n const { trackingData, onExposure } = useAiuiContext()\n\n const parsedTitle = useMemo(\n () =>\n typeof componentTitle === 'object' && componentTitle !== null\n ? convertLexicalToPlaintext({\n data: componentTitle,\n })\n : componentTitle,\n [componentTitle]\n )\n\n const parsedDescription = useMemo(\n () =>\n typeof componentDescription === 'object' && componentDescription !== null\n ? convertLexicalToPlaintext({\n data: componentDescription,\n })\n : componentDescription,\n [componentDescription]\n )\n\n useIntersectionObserverDelay(ref, {\n once: true,\n threshold: 0.5,\n delay: 2000,\n callback: () => {\n const pageGroup = trackingData.pageGroup || 'Home Page'\n\n if (onExposure) {\n // Custom handler from AiuiProvider\n onExposure({\n componentType,\n componentName,\n componentTitle: parsedTitle,\n componentDescription: parsedDescription,\n navigation,\n pageGroup,\n position,\n })\n } else {\n // Default GA behavior\n // TODO: \u5220\u9664\u8FD9\u4E2A\u5206\u652F\uFF0C\u53EA\u4FDD\u7559 onExposure \u903B\u8F91\uFF0C\u8BA9\u4F7F\u7528\u65B9\u5B8C\u5168\u63A7\u5236\u66DD\u5149\u57CB\u70B9\n gaTrack({\n event: 'ga4Event',\n event_name: 'component_impression',\n event_parameters: {\n page_group: pageGroup,\n component_type: componentType,\n component_name: componentName,\n position: position,\n creative_id: '',\n component_title: parsedTitle,\n component_description: parsedDescription,\n navigation: navigation,\n },\n })\n }\n },\n })\n}\n"],
|
|
5
|
+
"mappings": "AAAA,OAAyB,WAAAA,MAAe,QACxC,OAAS,WAAAC,MAAe,qBACxB,OAAS,gCAAAC,MAAoC,+BAC7C,OAAS,kBAAAC,MAAsB,0CAC/B,OAAS,6BAAAC,MAAiC,yCAanC,MAAMC,EAAc,CACzBC,EACA,CAAE,cAAAC,EAAe,cAAAC,EAAe,eAAAC,EAAgB,qBAAAC,EAAsB,WAAAC,EAAa,GAAI,SAAAC,EAAW,CAAE,IACjG,CACH,KAAM,CAAE,aAAAC,EAAc,WAAAC,CAAW,EAAIX,EAAe,EAE9CY,EAAcf,EAClB,IACE,OAAOS,GAAmB,UAAYA,IAAmB,KACrDL,EAA0B,CACxB,KAAMK,CACR,CAAC,EACDA,EACN,CAACA,CAAc,CACjB,EAEMO,EAAoBhB,EACxB,IACE,OAAOU,GAAyB,UAAYA,IAAyB,KACjEN,EAA0B,CACxB,KAAMM,CACR,CAAC,EACDA,EACN,CAACA,CAAoB,CACvB,EAEAR,EAA6BI,EAAK,CAChC,KAAM,GACN,UAAW,GACX,MAAO,IACP,SAAU,IAAM,CACd,MAAMW,EAAYJ,EAAa,WAAa,YAExCC,EAEFA,EAAW,CACT,cAAAP,EACA,cAAAC,EACA,eAAgBO,EAChB,qBAAsBC,EACtB,WAAAL,EACA,UAAAM,EACA,SAAAL,CACF,CAAC,EAIDX,EAAQ,CACN,MAAO,WACP,WAAY,uBACZ,iBAAkB,CAChB,WAAYgB,EACZ,eAAgBV,EAChB,eAAgBC,EAChB,SAAUI,EACV,YAAa,GACb,gBAAiBG,EACjB,sBAAuBC,EACvB,WAAYL,CACd,CACF,CAAC,CAEL,CACF,CAAC,CACH",
|
|
6
|
+
"names": ["useMemo", "gaTrack", "useIntersectionObserverDelay", "useAiuiContext", "convertLexicalToPlaintext", "useExposure", "ref", "componentType", "componentName", "componentTitle", "componentDescription", "navigation", "position", "trackingData", "onExposure", "parsedTitle", "parsedDescription", "pageGroup"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
interface UseGridRowCountOptions {
|
|
2
|
+
/** 行数限制 */
|
|
3
|
+
rows: number;
|
|
4
|
+
/** 移动端列数 (< 768px) */
|
|
5
|
+
mobileCols?: number;
|
|
6
|
+
/** 平板/小桌面列数 (≥ 768px and < 1440px) */
|
|
7
|
+
tabletCols?: number;
|
|
8
|
+
/** 大桌面列数 (≥ 1440px) */
|
|
9
|
+
desktopCols?: number;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* 根据当前视口宽度计算网格可见项目数
|
|
13
|
+
* 用于响应式网格布局中,根据行数 × 当前列数计算显示数量
|
|
14
|
+
*/
|
|
15
|
+
export declare function useGridRowCount({ rows, mobileCols, tabletCols, desktopCols, }: UseGridRowCountOptions): number;
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{useState as m,useEffect as o}from"react";function h({rows:e,mobileCols:t=2,tabletCols:i=3,desktopCols:r=4}){const[c,u]=m(()=>typeof window>"u"?e*t:window.innerWidth>=1440?e*r:window.innerWidth>=768?e*i:e*t);return o(()=>{const d=window.matchMedia("(min-width: 768px)"),a=window.matchMedia("(min-width: 1440px)"),n=()=>{a.matches?u(e*r):d.matches?u(e*i):u(e*t)};return n(),d.addEventListener("change",n),a.addEventListener("change",n),()=>{d.removeEventListener("change",n),a.removeEventListener("change",n)}},[e,t,i,r]),c}export{h as useGridRowCount};
|
|
2
|
+
//# sourceMappingURL=useGridRowCount.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/hooks/useGridRowCount.ts"],
|
|
4
|
+
"sourcesContent": ["import { useState, useEffect } from 'react'\n\ninterface UseGridRowCountOptions {\n /** \u884C\u6570\u9650\u5236 */\n rows: number\n /** \u79FB\u52A8\u7AEF\u5217\u6570 (< 768px) */\n mobileCols?: number\n /** \u5E73\u677F/\u5C0F\u684C\u9762\u5217\u6570 (\u2265 768px and < 1440px) */\n tabletCols?: number\n /** \u5927\u684C\u9762\u5217\u6570 (\u2265 1440px) */\n desktopCols?: number\n}\n\n/**\n * \u6839\u636E\u5F53\u524D\u89C6\u53E3\u5BBD\u5EA6\u8BA1\u7B97\u7F51\u683C\u53EF\u89C1\u9879\u76EE\u6570\n * \u7528\u4E8E\u54CD\u5E94\u5F0F\u7F51\u683C\u5E03\u5C40\u4E2D\uFF0C\u6839\u636E\u884C\u6570 \u00D7 \u5F53\u524D\u5217\u6570\u8BA1\u7B97\u663E\u793A\u6570\u91CF\n */\nexport function useGridRowCount({\n rows,\n mobileCols = 2,\n tabletCols = 3,\n desktopCols = 4,\n}: UseGridRowCountOptions): number {\n const [visibleCount, setVisibleCount] = useState(() => {\n if (typeof window === 'undefined') return rows * mobileCols\n if (window.innerWidth >= 1440) return rows * desktopCols\n if (window.innerWidth >= 768) return rows * tabletCols\n return rows * mobileCols\n })\n\n useEffect(() => {\n const mqTablet = window.matchMedia('(min-width: 768px)')\n const mqDesktop = window.matchMedia('(min-width: 1440px)')\n\n const updateCount = () => {\n if (mqDesktop.matches) {\n setVisibleCount(rows * desktopCols)\n } else if (mqTablet.matches) {\n setVisibleCount(rows * tabletCols)\n } else {\n setVisibleCount(rows * mobileCols)\n }\n }\n\n updateCount()\n\n mqTablet.addEventListener('change', updateCount)\n mqDesktop.addEventListener('change', updateCount)\n\n return () => {\n mqTablet.removeEventListener('change', updateCount)\n mqDesktop.removeEventListener('change', updateCount)\n }\n }, [rows, mobileCols, tabletCols, desktopCols])\n\n return visibleCount\n}\n"],
|
|
5
|
+
"mappings": "AAAA,OAAS,YAAAA,EAAU,aAAAC,MAAiB,QAiB7B,SAASC,EAAgB,CAC9B,KAAAC,EACA,WAAAC,EAAa,EACb,WAAAC,EAAa,EACb,YAAAC,EAAc,CAChB,EAAmC,CACjC,KAAM,CAACC,EAAcC,CAAe,EAAIR,EAAS,IAC3C,OAAO,OAAW,IAAoBG,EAAOC,EAC7C,OAAO,YAAc,KAAaD,EAAOG,EACzC,OAAO,YAAc,IAAYH,EAAOE,EACrCF,EAAOC,CACf,EAED,OAAAH,EAAU,IAAM,CACd,MAAMQ,EAAW,OAAO,WAAW,oBAAoB,EACjDC,EAAY,OAAO,WAAW,qBAAqB,EAEnDC,EAAc,IAAM,CACpBD,EAAU,QACZF,EAAgBL,EAAOG,CAAW,EACzBG,EAAS,QAClBD,EAAgBL,EAAOE,CAAU,EAEjCG,EAAgBL,EAAOC,CAAU,CAErC,EAEA,OAAAO,EAAY,EAEZF,EAAS,iBAAiB,SAAUE,CAAW,EAC/CD,EAAU,iBAAiB,SAAUC,CAAW,EAEzC,IAAM,CACXF,EAAS,oBAAoB,SAAUE,CAAW,EAClDD,EAAU,oBAAoB,SAAUC,CAAW,CACrD,CACF,EAAG,CAACR,EAAMC,EAAYC,EAAYC,CAAW,CAAC,EAEvCC,CACT",
|
|
6
|
+
"names": ["useState", "useEffect", "useGridRowCount", "rows", "mobileCols", "tabletCols", "desktopCols", "visibleCount", "setVisibleCount", "mqTablet", "mqDesktop", "updateCount"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { type RefObject } from 'react';
|
|
2
|
+
interface ViewItemListOptions {
|
|
3
|
+
componentType: string;
|
|
4
|
+
componentName: string;
|
|
5
|
+
componentTitle?: string;
|
|
6
|
+
componentDescription?: string;
|
|
7
|
+
navigation?: string;
|
|
8
|
+
pageGroup?: string;
|
|
9
|
+
position?: number;
|
|
10
|
+
tabName?: string;
|
|
11
|
+
itemListName?: string;
|
|
12
|
+
items?: Array<{
|
|
13
|
+
item_id: string;
|
|
14
|
+
item_name: string;
|
|
15
|
+
item_variant: string;
|
|
16
|
+
price: string;
|
|
17
|
+
index: number;
|
|
18
|
+
}>;
|
|
19
|
+
}
|
|
20
|
+
export declare const useViewItemList: (ref: RefObject<HTMLElement>, { componentType, componentName, componentTitle, componentDescription, navigation, position, itemListName, items, tabName, }: ViewItemListOptions) => void;
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import"react";import{gaTrack as u}from"../shared/track.js";import{useIntersectionObserverDelay as l}from"./useIntersectionObserver.js";import{useAiuiContext as v}from"../biz-components/AiuiProvider/index.js";const L=(a,{componentType:e,componentName:t,componentTitle:i,componentDescription:n,navigation:r="",position:o=1,itemListName:p,items:g,tabName:c=""})=>{const{trackingData:_,onExposure:s}=v();l(a,{once:!0,threshold:.5,delay:2e3,callback:()=>{const m=_.pageGroup||"Home Page";s?s({componentType:e,componentName:t,componentTitle:i,componentDescription:n,navigation:r,pageGroup:m,position:o}):u({event:"ga4Event",event_name:"view_item_list",event_parameters:{page_group:m,component_type:e,component_name:t,position:o,creative_id:"",component_title:i,component_description:n,navigation:r,item_list_name:p,items:g,tab_name:c}})}})};export{L as useViewItemList};
|
|
2
|
+
//# sourceMappingURL=useViewItemList.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/hooks/useViewItemList.ts"],
|
|
4
|
+
"sourcesContent": ["import { type RefObject } from 'react'\nimport { gaTrack } from '../shared/track.js'\nimport { useIntersectionObserverDelay } from './useIntersectionObserver.js'\nimport { useAiuiContext } from '../biz-components/AiuiProvider/index.js'\n\ninterface ViewItemListOptions {\n componentType: string\n componentName: string\n componentTitle?: string\n componentDescription?: string\n navigation?: string\n pageGroup?: string\n position?: number\n tabName?: string\n itemListName?: string\n items?: Array<{\n item_id: string\n item_name: string\n item_variant: string\n price: string\n index: number\n }>\n}\n\nexport const useViewItemList = (\n ref: RefObject<HTMLElement>,\n {\n componentType,\n componentName,\n componentTitle,\n componentDescription,\n navigation = '',\n position = 1,\n itemListName,\n items,\n tabName = '',\n }: ViewItemListOptions\n) => {\n const { trackingData, onExposure } = useAiuiContext()\n\n useIntersectionObserverDelay(ref, {\n once: true,\n threshold: 0.5,\n delay: 2000,\n callback: () => {\n const pageGroup = trackingData.pageGroup || 'Home Page'\n\n if (onExposure) {\n // Custom handler from AiuiProvider\n onExposure({\n componentType,\n componentName,\n componentTitle,\n componentDescription,\n navigation,\n pageGroup,\n position,\n })\n } else {\n // Default GA behavior\n // TODO: \u5220\u9664\u8FD9\u4E2A\u5206\u652F\uFF0C\u53EA\u4FDD\u7559 onExposure \u903B\u8F91\uFF0C\u8BA9\u4F7F\u7528\u65B9\u5B8C\u5168\u63A7\u5236\u66DD\u5149\u57CB\u70B9\n gaTrack({\n event: 'ga4Event',\n event_name: 'view_item_list',\n event_parameters: {\n page_group: pageGroup,\n component_type: componentType,\n component_name: componentName,\n position: position,\n creative_id: '',\n component_title: componentTitle,\n component_description: componentDescription,\n navigation: navigation,\n item_list_name: itemListName,\n items: items,\n tab_name: tabName,\n },\n })\n }\n },\n })\n}\n"],
|
|
5
|
+
"mappings": "AAAA,MAA+B,QAC/B,OAAS,WAAAA,MAAe,qBACxB,OAAS,gCAAAC,MAAoC,+BAC7C,OAAS,kBAAAC,MAAsB,0CAqBxB,MAAMC,EAAkB,CAC7BC,EACA,CACE,cAAAC,EACA,cAAAC,EACA,eAAAC,EACA,qBAAAC,EACA,WAAAC,EAAa,GACb,SAAAC,EAAW,EACX,aAAAC,EACA,MAAAC,EACA,QAAAC,EAAU,EACZ,IACG,CACH,KAAM,CAAE,aAAAC,EAAc,WAAAC,CAAW,EAAIb,EAAe,EAEpDD,EAA6BG,EAAK,CAChC,KAAM,GACN,UAAW,GACX,MAAO,IACP,SAAU,IAAM,CACd,MAAMY,EAAYF,EAAa,WAAa,YAExCC,EAEFA,EAAW,CACT,cAAAV,EACA,cAAAC,EACA,eAAAC,EACA,qBAAAC,EACA,WAAAC,EACA,UAAAO,EACA,SAAAN,CACF,CAAC,EAIDV,EAAQ,CACN,MAAO,WACP,WAAY,iBACZ,iBAAkB,CAChB,WAAYgB,EACZ,eAAgBX,EAChB,eAAgBC,EAChB,SAAUI,EACV,YAAa,GACb,gBAAiBH,EACjB,sBAAuBC,EACvB,WAAYC,EACZ,eAAgBE,EAChB,MAAOC,EACP,SAAUC,CACZ,CACF,CAAC,CAEL,CACF,CAAC,CACH",
|
|
6
|
+
"names": ["gaTrack", "useIntersectionObserverDelay", "useAiuiContext", "useViewItemList", "ref", "componentType", "componentName", "componentTitle", "componentDescription", "navigation", "position", "itemListName", "items", "tabName", "trackingData", "onExposure", "pageGroup"]
|
|
7
|
+
}
|
package/dist/esm/index.d.ts
CHANGED
package/dist/esm/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export*from"./components/index.js";import{gaTrack as
|
|
1
|
+
export*from"./components/index.js";import{gaTrack as a}from"./shared/track.js";import{trackUrlRef as i,buildTrackingRef as t}from"./shared/trackUrlRef.js";export{t as buildTrackingRef,a as gaTrack,i as trackUrlRef};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/index.ts"],
|
|
4
|
-
"sourcesContent": ["export * from './components/index.js'\nexport { gaTrack } from './shared/track.js'\nexport type { ExposureParams, OnExposureCallback } from './biz-components/AiuiProvider/index.js'\n"],
|
|
5
|
-
"mappings": "AAAA,WAAc,wBACd,OAAS,WAAAA,MAAe",
|
|
6
|
-
"names": ["gaTrack"]
|
|
4
|
+
"sourcesContent": ["export * from './components/index.js'\nexport { gaTrack } from './shared/track.js'\nexport { trackUrlRef, buildTrackingRef } from './shared/trackUrlRef.js'\nexport type { ExposureParams, OnExposureCallback } from './biz-components/AiuiProvider/index.js'\n"],
|
|
5
|
+
"mappings": "AAAA,WAAc,wBACd,OAAS,WAAAA,MAAe,oBACxB,OAAS,eAAAC,EAAa,oBAAAC,MAAwB",
|
|
6
|
+
"names": ["gaTrack", "trackUrlRef", "buildTrackingRef"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Fragment as _,jsx as s,jsxs as O}from"react/jsx-runtime";import
|
|
1
|
+
import{Fragment as _,jsx as s,jsxs as O}from"react/jsx-runtime";import m,{useMemo as y}from"react";import{simpleHash as R}from"./simpleHash.js";import f from"./getKeyPropsString.js";import{Grid as S,GridItem as g}from"../components/grid.js";import{Container as b}from"../components/container.js";import w from"./ErrorBoundary.js";const T={12:"col-start-1 col-end-13",10:"col-start-2 col-end-12",8:"col-start-3 col-end-11",6:"col-start-4 col-end-10",4:"col-start-5 col-end-9"},N={12:"tablet:col-start-1 tablet:col-end-13",10:"tablet:col-start-2 tablet:col-end-12",8:"tablet:col-start-3 tablet:col-end-11",6:"tablet:col-start-4 tablet:col-end-10",4:"tablet:col-start-5 tablet:col-end-9"},u=t=>{const n=f(t);return`style_${R(n)}`},I=t=>{const{style:n,uid:e,disabled:o,containerClassName:r}=t;return{style:n,uid:e,disabled:o,containerClassName:r}},k=({style:t,uid:n=u({}),disabled:e=!1})=>!t||e?null:s("style",{suppressHydrationWarning:!0,"data-style-id":n,dangerouslySetInnerHTML:{__html:`.block-${n} { ${t} }`}}),h=(t,n)=>{const e=y(()=>t?.uid||u({...t,...n??{}}),[n,t]),o=y(()=>s(k,{...t,uid:e}),[t,e]);return{className:`block-${e} `,StyleComponent:o,uid:e}},$=t=>{const{desktopSpan:n,mobileSpan:e}=t||{},o=e?T[e]:"",r=n?N[n]:"";return`${o} ${r}`.trim()},j=t=>t?typeof t=="string"?t:typeof t=="object"&&Object.entries(t).length<=0?"":Object.entries(t).map(([n,e])=>`${n.replace(/([A-Z])/g,"-$1").toLowerCase()}: ${e}`).join("; ")+";":"",x=(t,n)=>[t,n].map(j).filter(e=>!!e).map(e=>e.trim().endsWith(";")?e:`${e};`).join(" ");function L(t,n){const e=m.forwardRef((o,r)=>{const{container:a,containerClassName:i,className:c,...l}=o;if(!a||Reflect.ownKeys(a).length===0)return s(t,{...l,className:c,ref:r});const p=[n,i,c].filter(Boolean).join(" ").trim();return s(b,{className:p,children:s(S,{className:"container_grid",children:s(g,{className:$(a),children:s(t,{...l,ref:r})})})})});return e.displayName=`WithContainerLayout(${t.displayName||t.name||"Component"})`,e}function E(t,n){const e=m.forwardRef((o,r)=>{const a=I(o),i=x(n?.style,a.style),c={...n,...a,...i&&{style:i}},{className:l,StyleComponent:p}=h(c,o.data),{style:G,uid:A,disabled:F,className:P,...C}=o;return O(_,{children:[p,s(t,{...C,className:[l,P].filter(Boolean).join(" ").trim(),ref:r})]})});return e.displayName=`WithStyleInjection(${t.displayName||t.name||"Component"})`,e}function B(t){const n=m.forwardRef((e,o)=>s(w,{children:s(t,{...e,ref:o})}));return n.displayName=`WithErrorBoundary(${t.displayName||t.name||"Component"})`,n}const d=new WeakMap;function Z(t,n){if(d.has(t))return t;const e=B(E(L(t,n?.containerClassName),n));e.displayName=`WithLayout(${t.displayName||t.name||"Component"})`,d.set(t,!0);const o=e;return Object.getOwnPropertyNames(t).forEach(r=>{!(r in o)&&r!=="arguments"&&r!=="caller"&&r!=="length"&&r!=="name"&&(o[r]=t[r])}),o}export{I as getStylesProps,h as useStyles,Z as withLayout};
|
|
2
2
|
//# sourceMappingURL=Styles.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/shared/Styles.tsx"],
|
|
4
|
-
"sourcesContent": ["import React, { useMemo } from 'react'\nimport { simpleHash } from './simpleHash.js'\nimport getKeyPropsString from './getKeyPropsString.js'\nimport { Grid, GridItem } from '../components/grid.js'\nimport { Container } from '../components/container.js'\nimport ErrorBoundary from './ErrorBoundary.js'\n\nconst colContentClasses: Record<number, string> = {\n 12: 'col-start-1 col-end-13',\n 10: 'col-start-2 col-end-12',\n 8: 'col-start-3 col-end-11',\n 6: 'col-start-4 col-end-10',\n 4: 'col-start-5 col-end-9',\n} as const\n\n// \u9884\u5B9A\u4E49\u5E26 tablet \u524D\u7F00\u7684\u7C7B\u540D\uFF0C\u786E\u4FDD Tailwind \u53EF\u4EE5\u8BC6\u522B\nconst colContentClassesTablet: Record<number, string> = {\n 12: 'tablet:col-start-1 tablet:col-end-13',\n 10: 'tablet:col-start-2 tablet:col-end-12',\n 8: 'tablet:col-start-3 tablet:col-end-11',\n 6: 'tablet:col-start-4 tablet:col-end-10',\n 4: 'tablet:col-start-5 tablet:col-end-9',\n} as const\n\nexport interface ContainerProps {\n container?: {\n desktopSpan: number\n mobileSpan: number\n }\n}\n\nexport interface StylesProps {\n style?: string | React.CSSProperties\n uid?: string\n disabled?: boolean\n containerClassName?: string\n}\n\ntype LayoutProps<P> = Omit<P, keyof StylesProps | keyof ContainerProps> & StylesProps & ContainerProps\n\ntype StaticComponentProperties<T> = Omit<T, keyof React.ComponentType<any> | 'displayName' | 'prototype'>\n\nconst generateUID = (props: Record<string, unknown>) => {\n const keyString = getKeyPropsString(props)\n return `style_${simpleHash(keyString)}`\n}\n\nexport const getStylesProps = <T extends StylesProps>(props: T): StylesProps => {\n const { style, uid, disabled, containerClassName } = props\n return { style, uid, disabled, containerClassName }\n}\n\nconst Styles: React.FC<StylesProps> = ({ style, uid = generateUID({}), disabled = false }) => {\n if (!style || disabled) {\n return null\n }\n\n return (\n <style\n suppressHydrationWarning\n data-style-id={uid}\n dangerouslySetInnerHTML={{ __html: `.block-${uid} { ${style} }` }}\n />\n )\n}\n\nexport const useStyles = (styleProps: Partial<StylesProps>, data?: Record<string, unknown>) => {\n const uid = useMemo(() => styleProps?.uid || generateUID({ ...styleProps, ...(data ?? {}) }), [data, styleProps])\n\n const StyleComponent = useMemo(() => <Styles {...styleProps} uid={uid} />, [styleProps, uid])\n\n return {\n className: `block-${uid} `,\n StyleComponent,\n uid,\n } as const\n}\n\nconst getGridItemClassName = (container?: ContainerProps['container']) => {\n const { desktopSpan, mobileSpan } = container || {}\n const mobileClasses = mobileSpan ? colContentClasses[mobileSpan] : ''\n const desktopClasses = desktopSpan ? colContentClassesTablet[desktopSpan] : ''\n return `${mobileClasses} ${desktopClasses}`.trim()\n}\n\nconst styleToString = (style?: string | React.CSSProperties): string => {\n if (!style) return ''\n if (typeof style === 'string') return style\n if (typeof style === 'object' && Object.entries(style).length <= 0) return ''\n return (\n Object.entries(style)\n .map(([key, value]) => {\n const cssKey = key.replace(/([A-Z])/g, '-$1').toLowerCase()\n return `${cssKey}: ${value}`\n })\n .join('; ') + ';'\n )\n}\n\nconst mergeStyles = (a?: string | React.CSSProperties, b?: string | React.CSSProperties): string =>\n [a, b]\n .map(styleToString)\n .filter((s): s is string => Boolean(s))\n .map(s => (s.trim().endsWith(';') ? s : `${s};`))\n .join(' ')\n\ntype InternalProps = StylesProps &\n ContainerProps & { className?: string; data?: Record<string, unknown> } & Record<string, unknown>\n\nfunction
|
|
5
|
-
"mappings": "AA0DI,
|
|
6
|
-
"names": ["Fragment", "jsx", "jsxs", "React", "useMemo", "simpleHash", "getKeyPropsString", "Grid", "GridItem", "Container", "ErrorBoundary", "colContentClasses", "colContentClassesTablet", "generateUID", "props", "keyString", "getStylesProps", "style", "uid", "disabled", "containerClassName", "Styles", "useStyles", "styleProps", "data", "StyleComponent", "getGridItemClassName", "container", "desktopSpan", "mobileSpan", "mobileClasses", "desktopClasses", "styleToString", "key", "value", "mergeStyles", "a", "b", "s", "
|
|
4
|
+
"sourcesContent": ["import React, { useMemo } from 'react'\nimport { simpleHash } from './simpleHash.js'\nimport getKeyPropsString from './getKeyPropsString.js'\nimport { Grid, GridItem } from '../components/grid.js'\nimport { Container } from '../components/container.js'\nimport ErrorBoundary from './ErrorBoundary.js'\n\nconst colContentClasses: Record<number, string> = {\n 12: 'col-start-1 col-end-13',\n 10: 'col-start-2 col-end-12',\n 8: 'col-start-3 col-end-11',\n 6: 'col-start-4 col-end-10',\n 4: 'col-start-5 col-end-9',\n} as const\n\n// \u9884\u5B9A\u4E49\u5E26 tablet \u524D\u7F00\u7684\u7C7B\u540D\uFF0C\u786E\u4FDD Tailwind \u53EF\u4EE5\u8BC6\u522B\nconst colContentClassesTablet: Record<number, string> = {\n 12: 'tablet:col-start-1 tablet:col-end-13',\n 10: 'tablet:col-start-2 tablet:col-end-12',\n 8: 'tablet:col-start-3 tablet:col-end-11',\n 6: 'tablet:col-start-4 tablet:col-end-10',\n 4: 'tablet:col-start-5 tablet:col-end-9',\n} as const\n\nexport interface ContainerProps {\n container?: {\n desktopSpan: number\n mobileSpan: number\n }\n}\n\nexport interface StylesProps {\n style?: string | React.CSSProperties\n uid?: string\n disabled?: boolean\n containerClassName?: string\n}\n\ntype LayoutProps<P> = Omit<P, keyof StylesProps | keyof ContainerProps> & StylesProps & ContainerProps\n\ntype StaticComponentProperties<T> = Omit<T, keyof React.ComponentType<any> | 'displayName' | 'prototype'>\n\nconst generateUID = (props: Record<string, unknown>) => {\n const keyString = getKeyPropsString(props)\n return `style_${simpleHash(keyString)}`\n}\n\nexport const getStylesProps = <T extends StylesProps>(props: T): StylesProps => {\n const { style, uid, disabled, containerClassName } = props\n return { style, uid, disabled, containerClassName }\n}\n\nconst Styles: React.FC<StylesProps> = ({ style, uid = generateUID({}), disabled = false }) => {\n if (!style || disabled) {\n return null\n }\n\n return (\n <style\n suppressHydrationWarning\n data-style-id={uid}\n dangerouslySetInnerHTML={{ __html: `.block-${uid} { ${style} }` }}\n />\n )\n}\n\nexport const useStyles = (styleProps: Partial<StylesProps>, data?: Record<string, unknown>) => {\n const uid = useMemo(() => styleProps?.uid || generateUID({ ...styleProps, ...(data ?? {}) }), [data, styleProps])\n\n const StyleComponent = useMemo(() => <Styles {...styleProps} uid={uid} />, [styleProps, uid])\n\n return {\n className: `block-${uid} `,\n StyleComponent,\n uid,\n } as const\n}\n\nconst getGridItemClassName = (container?: ContainerProps['container']) => {\n const { desktopSpan, mobileSpan } = container || {}\n const mobileClasses = mobileSpan ? colContentClasses[mobileSpan] : ''\n const desktopClasses = desktopSpan ? colContentClassesTablet[desktopSpan] : ''\n return `${mobileClasses} ${desktopClasses}`.trim()\n}\n\nconst styleToString = (style?: string | React.CSSProperties): string => {\n if (!style) return ''\n if (typeof style === 'string') return style\n if (typeof style === 'object' && Object.entries(style).length <= 0) return ''\n return (\n Object.entries(style)\n .map(([key, value]) => {\n const cssKey = key.replace(/([A-Z])/g, '-$1').toLowerCase()\n return `${cssKey}: ${value}`\n })\n .join('; ') + ';'\n )\n}\n\nconst mergeStyles = (a?: string | React.CSSProperties, b?: string | React.CSSProperties): string =>\n [a, b]\n .map(styleToString)\n .filter((s): s is string => Boolean(s))\n .map(s => (s.trim().endsWith(';') ? s : `${s};`))\n .join(' ')\n\ntype InternalProps = StylesProps &\n ContainerProps & { className?: string; data?: Record<string, unknown> } & Record<string, unknown>\n\nfunction withContainerLayout(\n WrappedComponent: React.ComponentType<InternalProps>,\n defaultContainerClassName?: string\n): React.ComponentType<InternalProps> {\n const Wrapped = React.forwardRef<unknown, InternalProps>((props, ref) => {\n // eslint-disable-next-line no-unused-vars\n const { container, containerClassName, className, ...componentProps } = props\n\n if (!container || Reflect.ownKeys(container).length === 0) {\n return <WrappedComponent {...componentProps} className={className as string | undefined} ref={ref} />\n }\n\n const mergedContainerClassName = [defaultContainerClassName, containerClassName, className]\n .filter(Boolean)\n .join(' ')\n .trim()\n\n return (\n <Container className={mergedContainerClassName}>\n <Grid className=\"container_grid\">\n <GridItem className={getGridItemClassName(container as ContainerProps['container'])}>\n <WrappedComponent {...componentProps} ref={ref} />\n </GridItem>\n </Grid>\n </Container>\n )\n })\n\n Wrapped.displayName = `WithContainerLayout(${WrappedComponent.displayName || WrappedComponent.name || 'Component'})`\n return Wrapped as React.ComponentType<InternalProps>\n}\n\nfunction withStyleInjection(\n WrappedComponent: React.ComponentType<InternalProps>,\n defaultStyleProps?: Partial<StylesProps>\n): React.ComponentType<InternalProps> {\n const Wrapped = React.forwardRef<unknown, InternalProps>((props, ref) => {\n const propsStyleProps = getStylesProps(props)\n const mergedStyle = mergeStyles(defaultStyleProps?.style, propsStyleProps.style)\n\n const finalStyleProps: StylesProps = {\n ...defaultStyleProps,\n ...propsStyleProps,\n ...(mergedStyle && { style: mergedStyle }),\n }\n\n const { className, StyleComponent } = useStyles(finalStyleProps, props.data as Record<string, unknown> | undefined)\n\n // eslint-disable-next-line no-unused-vars\n const { style: _s, uid: _u, disabled: _d, className: ownClassName, ...rest } = props\n\n return (\n <>\n {StyleComponent}\n <WrappedComponent {...rest} className={[className, ownClassName].filter(Boolean).join(' ').trim()} ref={ref} />\n </>\n )\n })\n\n Wrapped.displayName = `WithStyleInjection(${WrappedComponent.displayName || WrappedComponent.name || 'Component'})`\n return Wrapped as React.ComponentType<InternalProps>\n}\n\nfunction withErrorBoundary(WrappedComponent: React.ComponentType<InternalProps>): React.ComponentType<InternalProps> {\n const Wrapped = React.forwardRef<unknown, InternalProps>((props, ref) => (\n <ErrorBoundary>\n <WrappedComponent {...props} ref={ref} />\n </ErrorBoundary>\n ))\n\n Wrapped.displayName = `WithErrorBoundary(${WrappedComponent.displayName || WrappedComponent.name || 'Component'})`\n return Wrapped as React.ComponentType<InternalProps>\n}\n\nconst wrappedComponents = new WeakMap<React.ComponentType<never>, true>()\n\nexport function withLayout<T extends React.ComponentType<any>>(\n WrappedComponent: T,\n defaultLayoutProps?: Partial<StylesProps & ContainerProps>\n): React.ForwardRefExoticComponent<LayoutProps<React.ComponentProps<T>> & React.RefAttributes<unknown>> &\n StaticComponentProperties<T> {\n if (wrappedComponents.has(WrappedComponent as React.ComponentType<never>)) {\n return WrappedComponent as unknown as React.ForwardRefExoticComponent<\n LayoutProps<React.ComponentProps<T>> & React.RefAttributes<unknown>\n > &\n StaticComponentProperties<T>\n }\n\n const composed = withErrorBoundary(\n withStyleInjection(\n withContainerLayout(\n WrappedComponent as unknown as React.ComponentType<InternalProps>,\n defaultLayoutProps?.containerClassName\n ),\n defaultLayoutProps\n )\n )\n\n composed.displayName = `WithLayout(${WrappedComponent.displayName || WrappedComponent.name || 'Component'})`\n\n wrappedComponents.set(WrappedComponent as React.ComponentType<never>, true)\n\n const result = composed as unknown as React.ForwardRefExoticComponent<\n LayoutProps<React.ComponentProps<T>> & React.RefAttributes<unknown>\n > &\n StaticComponentProperties<T>\n\n Object.getOwnPropertyNames(WrappedComponent).forEach(key => {\n if (!(key in result) && key !== 'arguments' && key !== 'caller' && key !== 'length' && key !== 'name') {\n ;(result as any)[key] = (WrappedComponent as any)[key]\n }\n })\n\n return result\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Fragment", "jsx", "jsxs", "React", "useMemo", "simpleHash", "getKeyPropsString", "Grid", "GridItem", "Container", "ErrorBoundary", "colContentClasses", "colContentClassesTablet", "generateUID", "props", "keyString", "getStylesProps", "style", "uid", "disabled", "containerClassName", "Styles", "useStyles", "styleProps", "data", "StyleComponent", "getGridItemClassName", "container", "desktopSpan", "mobileSpan", "mobileClasses", "desktopClasses", "styleToString", "key", "value", "mergeStyles", "a", "b", "s", "withContainerLayout", "WrappedComponent", "defaultContainerClassName", "Wrapped", "ref", "className", "componentProps", "mergedContainerClassName", "withStyleInjection", "defaultStyleProps", "propsStyleProps", "mergedStyle", "finalStyleProps", "_s", "_u", "_d", "ownClassName", "rest", "withErrorBoundary", "wrappedComponents", "withLayout", "defaultLayoutProps", "composed", "result"]
|
|
7
7
|
}
|
|
@@ -5,3 +5,12 @@
|
|
|
5
5
|
* @returns 添加了 ref 参数的新 url
|
|
6
6
|
*/
|
|
7
7
|
export declare const trackUrlRef: (url?: string, refValue?: string) => string;
|
|
8
|
+
/**
|
|
9
|
+
* 构造标准化 ref 追踪字符串
|
|
10
|
+
* 格式: `${pageHandle}_${componentType}_${componentName}`
|
|
11
|
+
* @param pageHandle 页面标识,如 'soundcore-lottery'
|
|
12
|
+
* @param componentType 组件类型,如 'copy'
|
|
13
|
+
* @param componentName 组件名称,如 'lottery_banner'
|
|
14
|
+
* @returns 拼接后的 ref 字符串,如 'soundcore-lottery_copy_lottery_banner'
|
|
15
|
+
*/
|
|
16
|
+
export declare const buildTrackingRef: (pageHandle: string, componentType: string, componentName: string) => string;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const
|
|
1
|
+
const h=(t="",n="")=>{try{if(t?.startsWith("#"))return t;if(n=n.replace(/Activity Page_/g,""),/^https?:\/\//.test(t)){const r=new URL(t);return r.searchParams.has("ref")?t:(r.searchParams.set("ref",n),r.toString())}else{const[r,i=""]=t.split("#"),[c,a=""]=r.split("?"),s=new URLSearchParams(a);if(s.has("ref"))return t;s.set("ref",n);const o=s.toString()?`?${s.toString()}`:"",g=i?`#${i}`:"";return`${c}${o}${g}`}}catch{return/[?&]ref=/.test(t)?t:t?.includes("?")?t+"&ref="+encodeURIComponent(n):t+"?ref="+encodeURIComponent(n)}},p=(t,n,e)=>`${t}_${n}_${e}`;export{p as buildTrackingRef,h as trackUrlRef};
|
|
2
2
|
//# sourceMappingURL=trackUrlRef.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/shared/trackUrlRef.ts"],
|
|
4
|
-
"sourcesContent": ["/**\n * \u7ED9 url \u6216 path \u6DFB\u52A0 ref \u53C2\u6570\n * @param url \u539F\u59CB url \u6216 path\n * @param refValue ref \u53C2\u6570\u7684\u503C\n * @returns \u6DFB\u52A0\u4E86 ref \u53C2\u6570\u7684\u65B0 url\n */\nexport const trackUrlRef = (url: string = '', refValue: string = ''): string => {\n try {\n // \u5224\u65AD\u662F\u5426\u4E3A\u7EDD\u5BF9 URL\n const hasOrigin = /^https?:\\/\\//.test(url)\n if (hasOrigin) {\n const u = new URL(url)\n // \u5982\u679C\u5DF2\u6709 ref \u53C2\u6570\uFF0C\u8DF3\u8FC7\u8986\u76D6\n if (u.searchParams.has('ref')) {\n return url\n }\n u.searchParams.set('ref', refValue)\n return u.toString()\n } else {\n const [pathWithQuery, hash = ''] = url.split('#')\n const [path, query = ''] = pathWithQuery.split('?')\n const params = new URLSearchParams(query)\n // \u5982\u679C\u5DF2\u6709 ref \u53C2\u6570\uFF0C\u8DF3\u8FC7\u8986\u76D6\n if (params.has('ref')) {\n return url\n }\n params.set('ref', refValue)\n const queryString = params.toString() ? `?${params.toString()}` : ''\n const hashString = hash ? `#${hash}` : ''\n return `${path}${queryString}${hashString}`\n }\n } catch (e) {\n // \u5982\u679C\u5DF2\u6709 ref \u53C2\u6570\uFF0C\u8DF3\u8FC7\u8986\u76D6\n if (/[?&]ref=/.test(url)) {\n return url\n }\n if (url?.includes('?')) {\n return url + '&ref=' + encodeURIComponent(refValue)\n }\n return url + '?ref=' + encodeURIComponent(refValue)\n }\n}\n"],
|
|
5
|
-
"mappings": "AAMO,MAAMA,EAAc,CAACC,EAAc,GAAIC,EAAmB,KAAe,CAC9E,GAAI,
|
|
6
|
-
"names": ["trackUrlRef", "url", "refValue", "u", "pathWithQuery", "hash", "path", "query", "params", "queryString", "hashString"]
|
|
4
|
+
"sourcesContent": ["/**\n * \u7ED9 url \u6216 path \u6DFB\u52A0 ref \u53C2\u6570\n * @param url \u539F\u59CB url \u6216 path\n * @param refValue ref \u53C2\u6570\u7684\u503C\n * @returns \u6DFB\u52A0\u4E86 ref \u53C2\u6570\u7684\u65B0 url\n */\nexport const trackUrlRef = (url: string = '', refValue: string = ''): string => {\n try {\n // \u5904\u7406\u951A\u70B9\n if (url?.startsWith('#')) return url\n // \u5386\u53F2\u57CB\u70B9\u95EE\u9898\u5904\u7406\uFF0C\u53BB\u6389pageHandle \u7684\u524D\u7F00\n refValue = refValue.replace(/Activity Page_/g, '')\n // \u5224\u65AD\u662F\u5426\u4E3A\u7EDD\u5BF9 URL\n const hasOrigin = /^https?:\\/\\//.test(url)\n if (hasOrigin) {\n const u = new URL(url)\n // \u5982\u679C\u5DF2\u6709 ref \u53C2\u6570\uFF0C\u8DF3\u8FC7\u8986\u76D6\n if (u.searchParams.has('ref')) {\n return url\n }\n u.searchParams.set('ref', refValue)\n return u.toString()\n } else {\n const [pathWithQuery, hash = ''] = url.split('#')\n const [path, query = ''] = pathWithQuery.split('?')\n const params = new URLSearchParams(query)\n // \u5982\u679C\u5DF2\u6709 ref \u53C2\u6570\uFF0C\u8DF3\u8FC7\u8986\u76D6\n if (params.has('ref')) {\n return url\n }\n params.set('ref', refValue)\n const queryString = params.toString() ? `?${params.toString()}` : ''\n const hashString = hash ? `#${hash}` : ''\n return `${path}${queryString}${hashString}`\n }\n } catch (e) {\n // \u5982\u679C\u5DF2\u6709 ref \u53C2\u6570\uFF0C\u8DF3\u8FC7\u8986\u76D6\n if (/[?&]ref=/.test(url)) {\n return url\n }\n if (url?.includes('?')) {\n return url + '&ref=' + encodeURIComponent(refValue)\n }\n return url + '?ref=' + encodeURIComponent(refValue)\n }\n}\n\n/**\n * \u6784\u9020\u6807\u51C6\u5316 ref \u8FFD\u8E2A\u5B57\u7B26\u4E32\n * \u683C\u5F0F: `${pageHandle}_${componentType}_${componentName}`\n * @param pageHandle \u9875\u9762\u6807\u8BC6\uFF0C\u5982 'soundcore-lottery'\n * @param componentType \u7EC4\u4EF6\u7C7B\u578B\uFF0C\u5982 'copy'\n * @param componentName \u7EC4\u4EF6\u540D\u79F0\uFF0C\u5982 'lottery_banner'\n * @returns \u62FC\u63A5\u540E\u7684 ref \u5B57\u7B26\u4E32\uFF0C\u5982 'soundcore-lottery_copy_lottery_banner'\n */\nexport const buildTrackingRef = (pageHandle: string, componentType: string, componentName: string): string => {\n return `${pageHandle}_${componentType}_${componentName}`\n}\n"],
|
|
5
|
+
"mappings": "AAMO,MAAMA,EAAc,CAACC,EAAc,GAAIC,EAAmB,KAAe,CAC9E,GAAI,CAEF,GAAID,GAAK,WAAW,GAAG,EAAG,OAAOA,EAKjC,GAHAC,EAAWA,EAAS,QAAQ,kBAAmB,EAAE,EAE/B,eAAe,KAAKD,CAAG,EAC1B,CACb,MAAME,EAAI,IAAI,IAAIF,CAAG,EAErB,OAAIE,EAAE,aAAa,IAAI,KAAK,EACnBF,GAETE,EAAE,aAAa,IAAI,MAAOD,CAAQ,EAC3BC,EAAE,SAAS,EACpB,KAAO,CACL,KAAM,CAACC,EAAeC,EAAO,EAAE,EAAIJ,EAAI,MAAM,GAAG,EAC1C,CAACK,EAAMC,EAAQ,EAAE,EAAIH,EAAc,MAAM,GAAG,EAC5CI,EAAS,IAAI,gBAAgBD,CAAK,EAExC,GAAIC,EAAO,IAAI,KAAK,EAClB,OAAOP,EAETO,EAAO,IAAI,MAAON,CAAQ,EAC1B,MAAMO,EAAcD,EAAO,SAAS,EAAI,IAAIA,EAAO,SAAS,CAAC,GAAK,GAC5DE,EAAaL,EAAO,IAAIA,CAAI,GAAK,GACvC,MAAO,GAAGC,CAAI,GAAGG,CAAW,GAAGC,CAAU,EAC3C,CACF,MAAY,CAEV,MAAI,WAAW,KAAKT,CAAG,EACdA,EAELA,GAAK,SAAS,GAAG,EACZA,EAAM,QAAU,mBAAmBC,CAAQ,EAE7CD,EAAM,QAAU,mBAAmBC,CAAQ,CACpD,CACF,EAUaS,EAAmB,CAACC,EAAoBC,EAAuBC,IACnE,GAAGF,CAAU,IAAIC,CAAa,IAAIC,CAAa",
|
|
6
|
+
"names": ["trackUrlRef", "url", "refValue", "u", "pathWithQuery", "hash", "path", "query", "params", "queryString", "hashString", "buildTrackingRef", "pageHandle", "componentType", "componentName"]
|
|
7
7
|
}
|
|
@@ -25,15 +25,32 @@ export type Theme = 'light' | 'dark';
|
|
|
25
25
|
export type Shape = 'rounded' | 'square';
|
|
26
26
|
export type Align = 'left' | 'center' | 'right';
|
|
27
27
|
export type Media = {
|
|
28
|
+
id?: string;
|
|
28
29
|
alt: string;
|
|
29
30
|
url: string;
|
|
30
|
-
thumbnailURL
|
|
31
|
+
thumbnailURL?: string;
|
|
31
32
|
mimeType?: 'video/mp4' | 'image/jpeg' | 'image/png' | 'image/webp' | 'image/svg+xml';
|
|
32
33
|
width?: number;
|
|
33
34
|
height?: number;
|
|
34
35
|
focalX?: number;
|
|
35
36
|
focalY?: number;
|
|
36
37
|
};
|
|
38
|
+
/**
|
|
39
|
+
* 响应式媒体资源类型
|
|
40
|
+
* 支持不同断点下加载不同尺寸的媒体文件
|
|
41
|
+
*/
|
|
42
|
+
export type ResponsiveMedia = {
|
|
43
|
+
/** PC 端媒体(≥1440px) */
|
|
44
|
+
pc?: Media;
|
|
45
|
+
/** 桌面 */
|
|
46
|
+
desktop?: Media;
|
|
47
|
+
/** 桌面 */
|
|
48
|
+
laptop?: Media;
|
|
49
|
+
/** 平板端媒体(≥768px) */
|
|
50
|
+
pad?: Media;
|
|
51
|
+
/** 移动端媒体(<768px) */
|
|
52
|
+
mobile?: Media;
|
|
53
|
+
};
|
|
37
54
|
export type GSAPContext = {
|
|
38
55
|
gsap?: any;
|
|
39
56
|
ScrollTrigger?: any;
|
package/dist/tokens/anker.css
CHANGED
|
@@ -7,12 +7,12 @@
|
|
|
7
7
|
--card-radius: 0;
|
|
8
8
|
--radius: 0em;
|
|
9
9
|
|
|
10
|
-
--brand-gradient-color-0: linear-gradient(90deg, var(--
|
|
10
|
+
--brand-gradient-color-0: linear-gradient(90deg, var(--brand-color-0) 0%, var(--brand-color-0) 100%);
|
|
11
11
|
--brand-color-0: #00befa;
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
.aiui-dark {
|
|
15
15
|
--brand-color-0: #00befa;
|
|
16
16
|
--btn-bg-active-color: var(--brand-color-0);
|
|
17
|
-
--brand-gradient-color-0: linear-gradient(90deg, var(--
|
|
17
|
+
--brand-gradient-color-0: linear-gradient(90deg, var(--brand-color-0) 0%, var(--brand-color-0) 100%);
|
|
18
18
|
}
|
package/dist/tokens/eufy.css
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
:root {
|
|
2
2
|
--btn-bg-active-color: var(--brand-color-0);
|
|
3
3
|
|
|
4
|
-
--brand-gradient-color-0: linear-gradient(90deg, var(--
|
|
4
|
+
--brand-gradient-color-0: linear-gradient(90deg, var(--brand-color-0) 0%, var(--brand-color-0) 100%);
|
|
5
5
|
|
|
6
6
|
--btn-radius: 24px;
|
|
7
7
|
--box-radius: 16px;
|
|
@@ -15,5 +15,5 @@
|
|
|
15
15
|
.aiui-dark {
|
|
16
16
|
--brand-color-0: #008CD6;
|
|
17
17
|
--btn-bg-active-color: var(--brand-color-0);
|
|
18
|
-
--brand-gradient-color-0: linear-gradient(90deg, var(--
|
|
18
|
+
--brand-gradient-color-0: linear-gradient(90deg, var(--brand-color-0) 0%, var(--brand-color-0) 100%);
|
|
19
19
|
}
|
package/dist/tokens/eufyMake.css
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
--btn-bg-active-color: var(--brand-color-0);
|
|
4
4
|
|
|
5
|
-
--brand-gradient-color-0: linear-gradient(90deg, var(--
|
|
5
|
+
--brand-gradient-color-0: linear-gradient(90deg, var(--brand-color-0) 0%, var(--brand-color-0) 100%);
|
|
6
6
|
--btn-radius: 24px;
|
|
7
7
|
--box-radius: 16px;
|
|
8
8
|
--box-radius-small: 8px;
|
|
@@ -14,5 +14,5 @@
|
|
|
14
14
|
.aiui-dark {
|
|
15
15
|
--brand-color-0: #3adb67;
|
|
16
16
|
--btn-bg-active-color: var(--brand-color-0);
|
|
17
|
-
--brand-gradient-color-0: linear-gradient(90deg, var(--
|
|
17
|
+
--brand-gradient-color-0: linear-gradient(90deg, var(--brand-color-0) 0%, var(--brand-color-0) 100%);
|
|
18
18
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
:root {
|
|
2
2
|
--btn-bg-active-color: var(--brand-color-0);
|
|
3
3
|
|
|
4
|
-
--brand-gradient-color-0: linear-gradient(90deg, var(--
|
|
4
|
+
--brand-gradient-color-0: linear-gradient(90deg, var(--brand-color-0) 0%, var(--brand-color-0) 100%);
|
|
5
5
|
|
|
6
6
|
--radius: 0em;
|
|
7
7
|
|
|
@@ -32,5 +32,5 @@
|
|
|
32
32
|
.aiui-dark {
|
|
33
33
|
--brand-color-0: #17bbef;
|
|
34
34
|
--btn-bg-active-color: var(--brand-color-0);
|
|
35
|
-
--brand-gradient-color-0: linear-gradient(90deg, var(--
|
|
35
|
+
--brand-gradient-color-0: linear-gradient(90deg, var(--brand-color-0) 0%, var(--brand-color-0) 100%);
|
|
36
36
|
}
|