@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
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { type VariantProps } from 'class-variance-authority';
|
|
3
|
+
declare const toastVariants: (props?: ({
|
|
4
|
+
variant?: "success" | "warning" | "countdown" | null | undefined;
|
|
5
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
6
|
+
export interface ToastProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof toastVariants> {
|
|
7
|
+
open?: boolean;
|
|
8
|
+
message: string;
|
|
9
|
+
duration?: number;
|
|
10
|
+
seconds?: number;
|
|
11
|
+
onClose?: () => void;
|
|
12
|
+
}
|
|
13
|
+
declare const Toast: React.ForwardRefExoticComponent<ToastProps & React.RefAttributes<HTMLDivElement>>;
|
|
14
|
+
export interface UseToastOptions {
|
|
15
|
+
variant?: ToastProps['variant'];
|
|
16
|
+
message: string;
|
|
17
|
+
duration?: number;
|
|
18
|
+
seconds?: number;
|
|
19
|
+
}
|
|
20
|
+
declare function useToast(): {
|
|
21
|
+
toastProps: ToastProps;
|
|
22
|
+
showToast: (opts: UseToastOptions) => void;
|
|
23
|
+
};
|
|
24
|
+
export { Toast, toastVariants, useToast };
|
|
25
|
+
export default Toast;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";"use client";var P=Object.create;var u=Object.defineProperty;var V=Object.getOwnPropertyDescriptor;var H=Object.getOwnPropertyNames;var O=Object.getPrototypeOf,S=Object.prototype.hasOwnProperty;var W=(s,t)=>{for(var e in t)u(s,e,{get:t[e],enumerable:!0})},x=(s,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of H(t))!S.call(s,n)&&n!==e&&u(s,n,{get:()=>t[n],enumerable:!(r=V(t,n))||r.enumerable});return s};var A=(s,t,e)=>(e=s!=null?P(O(s)):{},x(t||!s||!s.__esModule?u(e,"default",{value:s,enumerable:!0}):e,s)),E=s=>x(u({},"__esModule",{value:!0}),s);var U={};W(U,{Toast:()=>d,default:()=>I,toastVariants:()=>m,useToast:()=>k});module.exports=E(U);var o=require("react/jsx-runtime"),a=A(require("react")),v=require("class-variance-authority"),C=require("../helpers/index.js");const m=(0,v.cva)("lg-desktop:text-[16px] pointer-events-none fixed left-1/2 top-6 z-[9999] flex -translate-x-1/2 select-none items-center gap-2 rounded-[24px] px-5 py-3 text-[14px] font-bold leading-tight tracking-[-0.32px] shadow-lg transition-all duration-300 ease-in-out data-[state=closed]:-translate-y-2 data-[state=open]:translate-y-0 data-[state=closed]:opacity-0 data-[state=open]:opacity-100",{variants:{variant:{success:"bg-[#080A0F] text-white",warning:"bg-[#080A0F] text-white",countdown:"bg-[#080A0F] text-white"}},defaultVariants:{variant:"success"}}),R=()=>(0,o.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":!0,children:(0,o.jsx)("path",{d:"M3.33337 8.00004L6.33337 11L12.6667 4.66671",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}),B=()=>(0,o.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":!0,children:(0,o.jsx)("path",{d:"M8 5.33337V8.00004M8 10.6667H8.00667M6.86 2.57337L1.21334 12C1.09693 12.2018 1.03533 12.4308 1.03467 12.664C1.03401 12.8972 1.09429 13.1265 1.20956 13.329C1.32482 13.5314 1.49096 13.6997 1.69182 13.8173C1.89267 13.9348 2.12126 13.9976 2.35467 14H13.6453C13.8788 13.9976 14.1073 13.9348 14.3082 13.8173C14.509 13.6997 14.6752 13.5314 14.7904 13.329C14.9057 13.1265 14.966 12.8972 14.9653 12.664C14.9647 12.4308 14.9031 12.2018 14.7867 12L9.14 2.57337C9.02112 2.37742 8.85348 2.21555 8.65337 2.10336C8.45326 1.99116 8.22757 1.93237 7.998 1.93237C7.76844 1.93237 7.54275 1.99116 7.34264 2.10336C7.14253 2.21555 6.97489 2.37742 6.856 2.57337H6.86Z",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}),F=()=>(0,o.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":!0,children:[(0,o.jsx)("circle",{cx:"8",cy:"8",r:"6",stroke:"currentColor",strokeWidth:"1.5"}),(0,o.jsx)("path",{d:"M8 5V8L10 10",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]}),d=a.forwardRef(({className:s,variant:t,open:e=!1,message:r,duration:n=2500,seconds:i,onClose:c,...p},T)=>{const[l,w]=a.useState(!1),[g,h]=a.useState(i??0);if(a.useEffect(()=>{if(e)w(!0),t==="countdown"&&i!=null&&h(i);else if(l){const f=setTimeout(()=>w(!1),300);return()=>clearTimeout(f)}},[e,t,i]),a.useEffect(()=>{if(!e||!l)return;if(t==="countdown"){if(g<=0){c?.();return}const y=setTimeout(()=>h(M=>M-1),1e3);return()=>clearTimeout(y)}const f=setTimeout(()=>c?.(),n);return()=>clearTimeout(f)},[e,l,t,n,g,c]),!l)return null;const L=t==="warning"?(0,o.jsx)(B,{}):t==="countdown"?(0,o.jsx)(F,{}):(0,o.jsx)(R,{}),b=t==="countdown"?r.replace(/\{seconds\}/g,String(g)):r;return(0,o.jsxs)("div",{ref:T,className:(0,C.cn)(m({variant:t}),s),"data-state":e?"open":"closed",role:"alert","aria-live":"assertive","aria-atomic":"true",...p,children:[L,(0,o.jsx)("span",{children:b})]})});d.displayName="Toast";function k(){const[s,t]=a.useState(!1),[e,r]=a.useState({message:""}),n=a.useCallback(p=>{r(p),t(!0)},[]),i=a.useCallback(()=>{t(!1)},[]);return{toastProps:{open:s,variant:e.variant,message:e.message,duration:e.duration,seconds:e.seconds,onClose:i},showToast:n}}var I=d;
|
|
2
|
+
//# sourceMappingURL=toast.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/toast.tsx"],
|
|
4
|
+
"sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { cn } from '../helpers/index.js'\n\nconst toastVariants = cva(\n 'lg-desktop:text-[16px] pointer-events-none fixed left-1/2 top-6 z-[9999] flex -translate-x-1/2 select-none items-center gap-2 rounded-[24px] px-5 py-3 text-[14px] font-bold leading-tight tracking-[-0.32px] shadow-lg transition-all duration-300 ease-in-out data-[state=closed]:-translate-y-2 data-[state=open]:translate-y-0 data-[state=closed]:opacity-0 data-[state=open]:opacity-100',\n {\n variants: {\n variant: {\n success: 'bg-[#080A0F] text-white',\n warning: 'bg-[#080A0F] text-white',\n countdown: 'bg-[#080A0F] text-white',\n },\n },\n defaultVariants: {\n variant: 'success',\n },\n }\n)\n\nconst CheckIcon = () => (\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden>\n <path\n d=\"M3.33337 8.00004L6.33337 11L12.6667 4.66671\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n)\n\nconst WarningIcon = () => (\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden>\n <path\n d=\"M8 5.33337V8.00004M8 10.6667H8.00667M6.86 2.57337L1.21334 12C1.09693 12.2018 1.03533 12.4308 1.03467 12.664C1.03401 12.8972 1.09429 13.1265 1.20956 13.329C1.32482 13.5314 1.49096 13.6997 1.69182 13.8173C1.89267 13.9348 2.12126 13.9976 2.35467 14H13.6453C13.8788 13.9976 14.1073 13.9348 14.3082 13.8173C14.509 13.6997 14.6752 13.5314 14.7904 13.329C14.9057 13.1265 14.966 12.8972 14.9653 12.664C14.9647 12.4308 14.9031 12.2018 14.7867 12L9.14 2.57337C9.02112 2.37742 8.85348 2.21555 8.65337 2.10336C8.45326 1.99116 8.22757 1.93237 7.998 1.93237C7.76844 1.93237 7.54275 1.99116 7.34264 2.10336C7.14253 2.21555 6.97489 2.37742 6.856 2.57337H6.86Z\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n)\n\nconst ClockIcon = () => (\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden>\n <circle cx=\"8\" cy=\"8\" r=\"6\" stroke=\"currentColor\" strokeWidth=\"1.5\" />\n <path d=\"M8 5V8L10 10\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n)\n\nexport interface ToastProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof toastVariants> {\n open?: boolean\n message: string\n duration?: number\n seconds?: number\n onClose?: () => void\n}\n\nconst Toast = React.forwardRef<HTMLDivElement, ToastProps>(\n ({ className, variant, open = false, message, duration = 2500, seconds, onClose, ...props }, ref) => {\n const [mounted, setMounted] = React.useState(false)\n const [remaining, setRemaining] = React.useState(seconds ?? 0)\n\n React.useEffect(() => {\n if (open) {\n setMounted(true)\n if (variant === 'countdown' && seconds != null) {\n setRemaining(seconds)\n }\n } else if (mounted) {\n const timer = setTimeout(() => setMounted(false), 300)\n return () => clearTimeout(timer)\n }\n }, [open, variant, seconds])\n\n React.useEffect(() => {\n if (!open || !mounted) return\n if (variant === 'countdown') {\n if (remaining <= 0) {\n onClose?.()\n return\n }\n const timer = setTimeout(() => setRemaining(r => r - 1), 1000)\n return () => clearTimeout(timer)\n }\n const timer = setTimeout(() => onClose?.(), duration)\n return () => clearTimeout(timer)\n }, [open, mounted, variant, duration, remaining, onClose])\n\n if (!mounted) return null\n\n const icon = variant === 'warning' ? <WarningIcon /> : variant === 'countdown' ? <ClockIcon /> : <CheckIcon />\n\n const displayMessage = variant === 'countdown' ? message.replace(/\\{seconds\\}/g, String(remaining)) : message\n\n return (\n <div\n ref={ref}\n className={cn(toastVariants({ variant }), className)}\n data-state={open ? 'open' : 'closed'}\n role=\"alert\"\n aria-live=\"assertive\"\n aria-atomic=\"true\"\n {...props}\n >\n {icon}\n <span>{displayMessage}</span>\n </div>\n )\n }\n)\nToast.displayName = 'Toast'\n\nexport interface UseToastOptions {\n variant?: ToastProps['variant']\n message: string\n duration?: number\n seconds?: number\n}\n\nfunction useToast() {\n const [open, setOpen] = React.useState(false)\n const [options, setOptions] = React.useState<UseToastOptions>({ message: '' })\n\n const showToast = React.useCallback((opts: UseToastOptions) => {\n setOptions(opts)\n setOpen(true)\n }, [])\n\n const handleClose = React.useCallback(() => {\n setOpen(false)\n }, [])\n\n const toastProps: ToastProps = {\n open,\n variant: options.variant,\n message: options.message,\n duration: options.duration,\n seconds: options.seconds,\n onClose: handleClose,\n }\n\n return { toastProps, showToast }\n}\n\nexport { Toast, toastVariants, useToast }\nexport default Toast\n"],
|
|
5
|
+
"mappings": "ukBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,WAAAE,EAAA,YAAAC,EAAA,kBAAAC,EAAA,aAAAC,IAAA,eAAAC,EAAAN,GAwBI,IAAAO,EAAA,6BAtBJC,EAAuB,oBACvBC,EAAuC,oCACvCC,EAAmB,+BAEnB,MAAMN,KAAgB,OACpB,iYACA,CACE,SAAU,CACR,QAAS,CACP,QAAS,0BACT,QAAS,0BACT,UAAW,yBACb,CACF,EACA,gBAAiB,CACf,QAAS,SACX,CACF,CACF,EAEMO,EAAY,OAChB,OAAC,OAAI,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,MAAM,6BAA6B,cAAW,GACxG,mBAAC,QACC,EAAE,8CACF,OAAO,eACP,YAAY,MACZ,cAAc,QACd,eAAe,QACjB,EACF,EAGIC,EAAc,OAClB,OAAC,OAAI,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,MAAM,6BAA6B,cAAW,GACxG,mBAAC,QACC,EAAE,soBACF,OAAO,eACP,YAAY,MACZ,cAAc,QACd,eAAe,QACjB,EACF,EAGIC,EAAY,OAChB,QAAC,OAAI,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,MAAM,6BAA6B,cAAW,GACxG,oBAAC,UAAO,GAAG,IAAI,GAAG,IAAI,EAAE,IAAI,OAAO,eAAe,YAAY,MAAM,KACpE,OAAC,QAAK,EAAE,eAAe,OAAO,eAAe,YAAY,MAAM,cAAc,QAAQ,eAAe,QAAQ,GAC9G,EAWIX,EAAQM,EAAM,WAClB,CAAC,CAAE,UAAAM,EAAW,QAAAC,EAAS,KAAAC,EAAO,GAAO,QAAAC,EAAS,SAAAC,EAAW,KAAM,QAAAC,EAAS,QAAAC,EAAS,GAAGC,CAAM,EAAGC,IAAQ,CACnG,KAAM,CAACC,EAASC,CAAU,EAAIhB,EAAM,SAAS,EAAK,EAC5C,CAACiB,EAAWC,CAAY,EAAIlB,EAAM,SAASW,GAAW,CAAC,EA4B7D,GA1BAX,EAAM,UAAU,IAAM,CACpB,GAAIQ,EACFQ,EAAW,EAAI,EACXT,IAAY,aAAeI,GAAW,MACxCO,EAAaP,CAAO,UAEbI,EAAS,CAClB,MAAMI,EAAQ,WAAW,IAAMH,EAAW,EAAK,EAAG,GAAG,EACrD,MAAO,IAAM,aAAaG,CAAK,CACjC,CACF,EAAG,CAACX,EAAMD,EAASI,CAAO,CAAC,EAE3BX,EAAM,UAAU,IAAM,CACpB,GAAI,CAACQ,GAAQ,CAACO,EAAS,OACvB,GAAIR,IAAY,YAAa,CAC3B,GAAIU,GAAa,EAAG,CAClBL,IAAU,EACV,MACF,CACA,MAAMO,EAAQ,WAAW,IAAMD,EAAaE,GAAKA,EAAI,CAAC,EAAG,GAAI,EAC7D,MAAO,IAAM,aAAaD,CAAK,CACjC,CACA,MAAMA,EAAQ,WAAW,IAAMP,IAAU,EAAGF,CAAQ,EACpD,MAAO,IAAM,aAAaS,CAAK,CACjC,EAAG,CAACX,EAAMO,EAASR,EAASG,EAAUO,EAAWL,CAAO,CAAC,EAErD,CAACG,EAAS,OAAO,KAErB,MAAMM,EAAOd,IAAY,aAAY,OAACH,EAAA,EAAY,EAAKG,IAAY,eAAc,OAACF,EAAA,EAAU,KAAK,OAACF,EAAA,EAAU,EAEtGmB,EAAiBf,IAAY,YAAcE,EAAQ,QAAQ,eAAgB,OAAOQ,CAAS,CAAC,EAAIR,EAEtG,SACE,QAAC,OACC,IAAKK,EACL,aAAW,MAAGlB,EAAc,CAAE,QAAAW,CAAQ,CAAC,EAAGD,CAAS,EACnD,aAAYE,EAAO,OAAS,SAC5B,KAAK,QACL,YAAU,YACV,cAAY,OACX,GAAGK,EAEH,UAAAQ,KACD,OAAC,QAAM,SAAAC,EAAe,GACxB,CAEJ,CACF,EACA5B,EAAM,YAAc,QASpB,SAASG,GAAW,CAClB,KAAM,CAACW,EAAMe,CAAO,EAAIvB,EAAM,SAAS,EAAK,EACtC,CAACwB,EAASC,CAAU,EAAIzB,EAAM,SAA0B,CAAE,QAAS,EAAG,CAAC,EAEvE0B,EAAY1B,EAAM,YAAa2B,GAA0B,CAC7DF,EAAWE,CAAI,EACfJ,EAAQ,EAAI,CACd,EAAG,CAAC,CAAC,EAECK,EAAc5B,EAAM,YAAY,IAAM,CAC1CuB,EAAQ,EAAK,CACf,EAAG,CAAC,CAAC,EAWL,MAAO,CAAE,WATsB,CAC7B,KAAAf,EACA,QAASgB,EAAQ,QACjB,QAASA,EAAQ,QACjB,SAAUA,EAAQ,SAClB,QAASA,EAAQ,QACjB,QAASI,CACX,EAEqB,UAAAF,CAAU,CACjC,CAGA,IAAO/B,EAAQD",
|
|
6
|
+
"names": ["toast_exports", "__export", "Toast", "toast_default", "toastVariants", "useToast", "__toCommonJS", "import_jsx_runtime", "React", "import_class_variance_authority", "import_helpers", "CheckIcon", "WarningIcon", "ClockIcon", "className", "variant", "open", "message", "duration", "seconds", "onClose", "props", "ref", "mounted", "setMounted", "remaining", "setRemaining", "timer", "r", "icon", "displayMessage", "setOpen", "options", "setOptions", "showToast", "opts", "handleClose"]
|
|
7
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { cn, getLocalizedPath } from './utils.js';
|
|
2
2
|
export { noop } from './utils.js';
|
|
3
|
-
export { formatPrice, languageTerritory, PRICE_SYMBOL } from './priceFormatting.js';
|
|
4
|
-
export { isLexicalEmpty } from './isLexicalEmpty.js';
|
|
3
|
+
export { formatPrice, languageTerritory, PRICE_SYMBOL, extendLocaleMap } from './priceFormatting.js';
|
|
4
|
+
export { isLexicalEmpty, extractLexicalText } from './isLexicalEmpty.js';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var p=Object.defineProperty;var
|
|
1
|
+
"use strict";var p=Object.defineProperty;var f=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var L=Object.prototype.hasOwnProperty;var n=(r,e)=>{for(var a in e)p(r,a,{get:e[a],enumerable:!0})},g=(r,e,a,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of l(e))!L.call(r,t)&&t!==a&&p(r,t,{get:()=>e[t],enumerable:!(i=f(e,t))||i.enumerable});return r};var P=r=>g(p({},"__esModule",{value:!0}),r);var d={};n(d,{PRICE_SYMBOL:()=>o.PRICE_SYMBOL,cn:()=>x.cn,extendLocaleMap:()=>o.extendLocaleMap,extractLexicalText:()=>c.extractLexicalText,formatPrice:()=>o.formatPrice,getLocalizedPath:()=>x.getLocalizedPath,isLexicalEmpty:()=>c.isLexicalEmpty,languageTerritory:()=>o.languageTerritory,noop:()=>m.noop});module.exports=P(d);var x=require("./utils.js"),m=require("./utils.js"),o=require("./priceFormatting.js"),c=require("./isLexicalEmpty.js");
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/helpers/index.ts"],
|
|
4
|
-
"sourcesContent": ["export { cn, getLocalizedPath } from './utils.js'\nexport { noop } from './utils.js'\nexport { formatPrice, languageTerritory, PRICE_SYMBOL } from './priceFormatting.js'\nexport { isLexicalEmpty } from './isLexicalEmpty.js'\n"],
|
|
5
|
-
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,
|
|
4
|
+
"sourcesContent": ["export { cn, getLocalizedPath } from './utils.js'\nexport { noop } from './utils.js'\nexport { formatPrice, languageTerritory, PRICE_SYMBOL, extendLocaleMap } from './priceFormatting.js'\nexport { isLexicalEmpty, extractLexicalText } from './isLexicalEmpty.js'\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,oTAAAE,EAAAF,GAAA,IAAAG,EAAqC,sBACrCA,EAAqB,sBACrBC,EAA8E,gCAC9EC,EAAmD",
|
|
6
6
|
"names": ["helpers_exports", "__export", "__toCommonJS", "import_utils", "import_priceFormatting", "import_isLexicalEmpty"]
|
|
7
7
|
}
|
|
@@ -10,4 +10,9 @@ type LexicalContent = {
|
|
|
10
10
|
* 判断 @payloadcms/richtext-lexical 的富文本对象是否为空(无任何可见文字内容)
|
|
11
11
|
*/
|
|
12
12
|
export declare function isLexicalEmpty(content: LexicalContent | string | null | undefined): boolean;
|
|
13
|
+
/**
|
|
14
|
+
* 从 @payloadcms/richtext-lexical 的富文本对象中提取纯文本内容
|
|
15
|
+
* 如果传入的是字符串,直接返回;如果是空值,返回空字符串
|
|
16
|
+
*/
|
|
17
|
+
export declare function extractLexicalText(content: LexicalContent | string | null | undefined): string;
|
|
13
18
|
export {};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var l=Object.defineProperty;var x=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var u=Object.prototype.hasOwnProperty;var a=(t,r)=>{for(var i in r)l(t,i,{get:r[i],enumerable:!0})},s=(t,r,i,e)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of f(r))!u.call(t,n)&&n!==i&&l(t,n,{get:()=>r[n],enumerable:!(e=x(r,n))||e.enumerable});return t};var c=t=>s(l({},"__esModule",{value:!0}),t);var g={};a(g,{extractLexicalText:()=>p,isLexicalEmpty:()=>y});module.exports=c(g);function o(t){return t.type==="text"?typeof t.text=="string"&&t.text.trim()!=="":Array.isArray(t.children)?t.children.some(o):!1}function y(t){if(!t)return!0;if(typeof t=="string")return t.trim()==="";const r=t?.root;return r?!o(r):!0}function p(t){if(!t)return"";if(typeof t=="string")return t;const r=[];function i(e){e.type==="text"&&typeof e.text=="string"&&r.push(e.text),Array.isArray(e.children)&&e.children.forEach(i)}return t.root&&i(t.root),r.join("")}
|
|
2
2
|
//# sourceMappingURL=isLexicalEmpty.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/helpers/isLexicalEmpty.ts"],
|
|
4
|
-
"sourcesContent": ["type LexicalNode = {\n type: string\n text?: string\n children?: LexicalNode[]\n}\n\ntype LexicalContent = {\n root?: LexicalNode\n}\n\nfunction hasText(node: LexicalNode): boolean {\n if (node.type === 'text') {\n return typeof node.text === 'string' && node.text.trim() !== ''\n }\n if (Array.isArray(node.children)) {\n return node.children.some(hasText)\n }\n return false\n}\n\n/**\n * \u5224\u65AD @payloadcms/richtext-lexical \u7684\u5BCC\u6587\u672C\u5BF9\u8C61\u662F\u5426\u4E3A\u7A7A\uFF08\u65E0\u4EFB\u4F55\u53EF\u89C1\u6587\u5B57\u5185\u5BB9\uFF09\n */\nexport function isLexicalEmpty(content: LexicalContent | string | null | undefined): boolean {\n if (!content) return true\n if (typeof content === 'string') return content.trim() === ''\n\n const root = content?.root\n if (!root) return true\n\n return !hasText(root)\n}\n"],
|
|
5
|
-
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,
|
|
6
|
-
"names": ["isLexicalEmpty_exports", "__export", "isLexicalEmpty", "__toCommonJS", "hasText", "node", "content", "root"]
|
|
4
|
+
"sourcesContent": ["type LexicalNode = {\n type: string\n text?: string\n children?: LexicalNode[]\n}\n\ntype LexicalContent = {\n root?: LexicalNode\n}\n\nfunction hasText(node: LexicalNode): boolean {\n if (node.type === 'text') {\n return typeof node.text === 'string' && node.text.trim() !== ''\n }\n if (Array.isArray(node.children)) {\n return node.children.some(hasText)\n }\n return false\n}\n\n/**\n * \u5224\u65AD @payloadcms/richtext-lexical \u7684\u5BCC\u6587\u672C\u5BF9\u8C61\u662F\u5426\u4E3A\u7A7A\uFF08\u65E0\u4EFB\u4F55\u53EF\u89C1\u6587\u5B57\u5185\u5BB9\uFF09\n */\nexport function isLexicalEmpty(content: LexicalContent | string | null | undefined): boolean {\n if (!content) return true\n if (typeof content === 'string') return content.trim() === ''\n\n const root = content?.root\n if (!root) return true\n\n return !hasText(root)\n}\n\n/**\n * \u4ECE @payloadcms/richtext-lexical \u7684\u5BCC\u6587\u672C\u5BF9\u8C61\u4E2D\u63D0\u53D6\u7EAF\u6587\u672C\u5185\u5BB9\n * \u5982\u679C\u4F20\u5165\u7684\u662F\u5B57\u7B26\u4E32\uFF0C\u76F4\u63A5\u8FD4\u56DE\uFF1B\u5982\u679C\u662F\u7A7A\u503C\uFF0C\u8FD4\u56DE\u7A7A\u5B57\u7B26\u4E32\n */\nexport function extractLexicalText(content: LexicalContent | string | null | undefined): string {\n if (!content) return ''\n if (typeof content === 'string') return content\n\n const texts: string[] = []\n function collect(node: LexicalNode) {\n if (node.type === 'text' && typeof node.text === 'string') {\n texts.push(node.text)\n }\n if (Array.isArray(node.children)) {\n node.children.forEach(collect)\n }\n }\n\n if (content.root) {\n collect(content.root)\n }\n return texts.join('')\n}\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,wBAAAE,EAAA,mBAAAC,IAAA,eAAAC,EAAAJ,GAUA,SAASK,EAAQC,EAA4B,CAC3C,OAAIA,EAAK,OAAS,OACT,OAAOA,EAAK,MAAS,UAAYA,EAAK,KAAK,KAAK,IAAM,GAE3D,MAAM,QAAQA,EAAK,QAAQ,EACtBA,EAAK,SAAS,KAAKD,CAAO,EAE5B,EACT,CAKO,SAASF,EAAeI,EAA8D,CAC3F,GAAI,CAACA,EAAS,MAAO,GACrB,GAAI,OAAOA,GAAY,SAAU,OAAOA,EAAQ,KAAK,IAAM,GAE3D,MAAMC,EAAOD,GAAS,KACtB,OAAKC,EAEE,CAACH,EAAQG,CAAI,EAFF,EAGpB,CAMO,SAASN,EAAmBK,EAA6D,CAC9F,GAAI,CAACA,EAAS,MAAO,GACrB,GAAI,OAAOA,GAAY,SAAU,OAAOA,EAExC,MAAME,EAAkB,CAAC,EACzB,SAASC,EAAQJ,EAAmB,CAC9BA,EAAK,OAAS,QAAU,OAAOA,EAAK,MAAS,UAC/CG,EAAM,KAAKH,EAAK,IAAI,EAElB,MAAM,QAAQA,EAAK,QAAQ,GAC7BA,EAAK,SAAS,QAAQI,CAAO,CAEjC,CAEA,OAAIH,EAAQ,MACVG,EAAQH,EAAQ,IAAI,EAEfE,EAAM,KAAK,EAAE,CACtB",
|
|
6
|
+
"names": ["isLexicalEmpty_exports", "__export", "extractLexicalText", "isLexicalEmpty", "__toCommonJS", "hasText", "node", "content", "root", "texts", "collect"]
|
|
7
7
|
}
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
export declare const PRICE_SYMBOL: any;
|
|
2
|
+
/**
|
|
3
|
+
* 注入自定义 locale → BCP47 映射,与内置 map merge(外部优先级更高)。
|
|
4
|
+
* 由 AiuiProvider 在挂载时调用,消费方无需修改 headless-ui 源码即可支持新 locale。
|
|
5
|
+
*/
|
|
6
|
+
export declare const extendLocaleMap: (map: Record<string, string>) => void;
|
|
2
7
|
export declare const languageTerritory: (locale: string) => string;
|
|
3
8
|
export declare function formatPrice({ amount, currencyCode, locale, maximumFractionDigits, minimumFractionDigits, removeTrailingZeros, currencyDisplay, }: {
|
|
4
9
|
amount: number;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var s=Object.defineProperty;var f=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var L=Object.prototype.hasOwnProperty;var b=(e,n)=>{for(var r in n)s(e,r,{get:n[r],enumerable:!0})},E=(e,n,r,i)=>{if(n&&typeof n=="object"||typeof n=="function")for(let t of y(n))!L.call(e,t)&&t!==r&&s(e,t,{get:()=>n[t],enumerable:!(i=f(n,t))||i.enumerable});return e};var A=e=>E(s({},"__esModule",{value:!0}),e);var I={};b(I,{PRICE_SYMBOL:()=>R,extendLocaleMap:()=>S,formatPrice:()=>D,languageTerritory:()=>d});module.exports=A(I);const R={us:"$",uk:"\xA3",ca:"CA$",eu:"\u20AC",fr:"\u20AC",de:"\u20AC",nl:"\u20AC",vn:"\u20AB",cl:"$",sg:"$",ae:"AED"},u={us:"en-US",uk:"en-GB",ca:"en-CA",au:"AU","eu-en":"en","eu-fr":"fr-FR",fr:"FR","ca-fr":"FR","nl-fr":"FR",my:"MY",it:"IT",vn:"VN",es:"es-ES","eu-it":"it-IT","eu-de":"de-DE",de:"de-DE","eu-es":"es-ES","cz-en":"en-CZ",nl:"nl-NL","dk-en":"en-DK","gr-en":"en-GR","mk-en":"en-MK","hu-en":"en-HU","se-en":"en-SE","hr-en":"en-HR","bg-en":"en-BG","ee-en":"en-EE","fi-en":"en-FI","lt-en":"en-LT",pl:"pl-PL","ro-en":"en-RO","si-en":"en-SI","sk-en":"en-SK","no-en":"en-NO","ad-en":"en-AD","al-en":"en-AL","ba-en":"en-BA","me-en":"en-ME","rs-en":"en-RS","gl-en":"en-GL","is-en":"en-IS","ua-en":"en-UA","by-en":"en-BY","md-en":"en-MD","lv-en":"en-LV","at-de":"de-AT","lu-de":"de-LU","li-de":"de-LI","va-it":"it-VA","sm-it":"it-SM","be-nl":"nl-BE","ae-en":"en-AE",nz:"en-NZ","sg-en":"en-SG","sa-en":"en-SA","vn-vi":"vi-VN",ie:"en-IE",tw:"zh-TW"};let c={},o=u;const S=e=>{c={...c,...e},o={...u,...c}},d=e=>o[e]||"";function D({amount:e,currencyCode:n,locale:r,maximumFractionDigits:i,minimumFractionDigits:t,removeTrailingZeros:m=!1,currencyDisplay:g="symbol"}){const p=r==="nl"?"EUR":n||"USD",l=d(r);if(!l)return null;let a=new Intl.NumberFormat(l,{style:"currency",currency:p,currencyDisplay:g,minimumFractionDigits:i===0?0:t,maximumFractionDigits:i})?.format?.(e);return["eu-de","eu-en","de","eu"].includes(r)&&(a=a?.toString()?.replace?.(/[\s]/g,"")),m&&(a=a?.replace?.(/(\.\d*?[1-9])0+\b/,"$1")?.replace?.(/\.0+\b/,"")?.replace?.(/(,\d*?[1-9])0+\b/,"$1")?.replace?.(/,0+\b/,"")),a}
|
|
2
2
|
//# sourceMappingURL=priceFormatting.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/helpers/priceFormatting.ts"],
|
|
4
|
-
"sourcesContent": ["export const PRICE_SYMBOL = {\n us: '$',\n uk: '\u00A3',\n ca: '$',\n eu: '\u20AC',\n fr: '\u20AC',\n de: '\u20AC',\n nl: '\u20AC',\n vn: '\u20AB',\n cl: '$',\n sg: '$',\n ae: 'AED',\n} as any\n\
|
|
5
|
-
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,kBAAAE,EAAA,gBAAAC,EAAA,sBAAAC,IAAA,eAAAC,
|
|
6
|
-
"names": ["priceFormatting_exports", "__export", "PRICE_SYMBOL", "formatPrice", "languageTerritory", "__toCommonJS", "locale", "amount", "currencyCode", "maximumFractionDigits", "minimumFractionDigits", "removeTrailingZeros", "currencyDisplay", "code", "localeLanguage", "formattedValue"]
|
|
4
|
+
"sourcesContent": ["export const PRICE_SYMBOL = {\n us: '$',\n uk: '\u00A3',\n ca: 'CA$',\n eu: '\u20AC',\n fr: '\u20AC',\n de: '\u20AC',\n nl: '\u20AC',\n vn: '\u20AB',\n cl: '$',\n sg: '$',\n ae: 'AED',\n} as any\n\nconst BUILTIN_LOCALE_MAP: Record<string, string> = {\n // https://unicode-org.github.io/cldr-staging/charts/37/supplemental/language_territory_information.html\n us: 'en-US',\n uk: 'en-GB',\n ca: 'en-CA',\n au: 'AU',\n 'eu-en': 'en',\n 'eu-fr': 'fr-FR',\n fr: 'FR',\n 'ca-fr': 'FR',\n 'nl-fr': 'FR',\n my: 'MY',\n it: 'IT',\n vn: 'VN',\n es: 'es-ES',\n 'eu-it': 'it-IT',\n 'eu-de': 'de-DE',\n de: 'de-DE',\n 'eu-es': 'es-ES',\n 'cz-en': 'en-CZ',\n nl: 'nl-NL',\n 'dk-en': 'en-DK',\n 'gr-en': 'en-GR',\n 'mk-en': 'en-MK',\n 'hu-en': 'en-HU',\n 'se-en': 'en-SE',\n 'hr-en': 'en-HR',\n 'bg-en': 'en-BG',\n 'ee-en': 'en-EE',\n 'fi-en': 'en-FI',\n 'lt-en': 'en-LT',\n pl: 'pl-PL',\n 'ro-en': 'en-RO',\n 'si-en': 'en-SI',\n 'sk-en': 'en-SK',\n 'no-en': 'en-NO',\n 'ad-en': 'en-AD',\n 'al-en': 'en-AL',\n 'ba-en': 'en-BA',\n 'me-en': 'en-ME',\n 'rs-en': 'en-RS',\n 'gl-en': 'en-GL',\n 'is-en': 'en-IS',\n 'ua-en': 'en-UA',\n 'by-en': 'en-BY',\n 'md-en': 'en-MD',\n 'lv-en': 'en-LV',\n 'at-de': 'de-AT',\n 'lu-de': 'de-LU',\n 'li-de': 'de-LI',\n 'va-it': 'it-VA',\n 'sm-it': 'it-SM',\n 'be-nl': 'nl-BE',\n 'ae-en': 'en-AE',\n nz: 'en-NZ',\n 'sg-en': 'en-SG',\n 'sa-en': 'en-SA',\n 'vn-vi': 'vi-VN',\n ie: 'en-IE',\n tw: 'zh-TW',\n}\n\nlet _extraLocaleMap: Record<string, string> = {}\nlet _mergedLocaleMap: Record<string, string> = BUILTIN_LOCALE_MAP\n\n/**\n * \u6CE8\u5165\u81EA\u5B9A\u4E49 locale \u2192 BCP47 \u6620\u5C04\uFF0C\u4E0E\u5185\u7F6E map merge\uFF08\u5916\u90E8\u4F18\u5148\u7EA7\u66F4\u9AD8\uFF09\u3002\n * \u7531 AiuiProvider \u5728\u6302\u8F7D\u65F6\u8C03\u7528\uFF0C\u6D88\u8D39\u65B9\u65E0\u9700\u4FEE\u6539 headless-ui \u6E90\u7801\u5373\u53EF\u652F\u6301\u65B0 locale\u3002\n */\nexport const extendLocaleMap = (map: Record<string, string>) => {\n _extraLocaleMap = { ..._extraLocaleMap, ...map }\n _mergedLocaleMap = { ...BUILTIN_LOCALE_MAP, ..._extraLocaleMap }\n}\n\nexport const languageTerritory = (locale: string) => {\n return _mergedLocaleMap[locale] || ''\n}\n\nexport function formatPrice({\n amount,\n currencyCode,\n locale,\n maximumFractionDigits,\n minimumFractionDigits,\n removeTrailingZeros = false,\n currencyDisplay = 'symbol',\n}: {\n amount: number\n currencyCode: string\n locale: string\n maximumFractionDigits?: number\n minimumFractionDigits?: number\n removeTrailingZeros?: boolean\n currencyDisplay?: Intl.NumberFormatOptions['currencyDisplay']\n}) {\n const code = locale === 'nl' ? 'EUR' : currencyCode || 'USD'\n const localeLanguage = languageTerritory(locale)\n if (!localeLanguage) {\n return null\n }\n const formatCurrency = new Intl.NumberFormat(localeLanguage, {\n style: 'currency',\n currency: code,\n currencyDisplay: currencyDisplay,\n minimumFractionDigits: maximumFractionDigits === 0 ? 0 : minimumFractionDigits,\n maximumFractionDigits,\n })\n\n let formattedValue = formatCurrency?.format?.(amount)\n\n if (['eu-de', 'eu-en', 'de', 'eu'].includes(locale)) {\n formattedValue = formattedValue?.toString()?.replace?.(/[\\s]/g, '')\n }\n\n if (removeTrailingZeros) {\n formattedValue = formattedValue\n ?.replace?.(/(\\.\\d*?[1-9])0+\\b/, '$1')\n ?.replace?.(/\\.0+\\b/, '')\n ?.replace?.(/(,\\d*?[1-9])0+\\b/, '$1')\n ?.replace?.(/,0+\\b/, '')\n }\n\n return formattedValue\n}\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,kBAAAE,EAAA,oBAAAC,EAAA,gBAAAC,EAAA,sBAAAC,IAAA,eAAAC,EAAAN,GAAO,MAAME,EAAe,CAC1B,GAAI,IACJ,GAAI,OACJ,GAAI,MACJ,GAAI,SACJ,GAAI,SACJ,GAAI,SACJ,GAAI,SACJ,GAAI,SACJ,GAAI,IACJ,GAAI,IACJ,GAAI,KACN,EAEMK,EAA6C,CAEjD,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,KACJ,QAAS,KACT,QAAS,QACT,GAAI,KACJ,QAAS,KACT,QAAS,KACT,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,QACJ,QAAS,QACT,QAAS,QACT,GAAI,QACJ,QAAS,QACT,QAAS,QACT,GAAI,QACJ,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,GAAI,QACJ,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,GAAI,QACJ,QAAS,QACT,QAAS,QACT,QAAS,QACT,GAAI,QACJ,GAAI,OACN,EAEA,IAAIC,EAA0C,CAAC,EAC3CC,EAA2CF,EAMxC,MAAMJ,EAAmBO,GAAgC,CAC9DF,EAAkB,CAAE,GAAGA,EAAiB,GAAGE,CAAI,EAC/CD,EAAmB,CAAE,GAAGF,EAAoB,GAAGC,CAAgB,CACjE,EAEaH,EAAqBM,GACzBF,EAAiBE,CAAM,GAAK,GAG9B,SAASP,EAAY,CAC1B,OAAAQ,EACA,aAAAC,EACA,OAAAF,EACA,sBAAAG,EACA,sBAAAC,EACA,oBAAAC,EAAsB,GACtB,gBAAAC,EAAkB,QACpB,EAQG,CACD,MAAMC,EAAOP,IAAW,KAAO,MAAQE,GAAgB,MACjDM,EAAiBd,EAAkBM,CAAM,EAC/C,GAAI,CAACQ,EACH,OAAO,KAUT,IAAIC,EARmB,IAAI,KAAK,aAAaD,EAAgB,CAC3D,MAAO,WACP,SAAUD,EACV,gBAAiBD,EACjB,sBAAuBH,IAA0B,EAAI,EAAIC,EACzD,sBAAAD,CACF,CAAC,GAEoC,SAASF,CAAM,EAEpD,MAAI,CAAC,QAAS,QAAS,KAAM,IAAI,EAAE,SAASD,CAAM,IAChDS,EAAiBA,GAAgB,SAAS,GAAG,UAAU,QAAS,EAAE,GAGhEJ,IACFI,EAAiBA,GACb,UAAU,oBAAqB,IAAI,GACnC,UAAU,SAAU,EAAE,GACtB,UAAU,mBAAoB,IAAI,GAClC,UAAU,QAAS,EAAE,GAGpBA,CACT",
|
|
6
|
+
"names": ["priceFormatting_exports", "__export", "PRICE_SYMBOL", "extendLocaleMap", "formatPrice", "languageTerritory", "__toCommonJS", "BUILTIN_LOCALE_MAP", "_extraLocaleMap", "_mergedLocaleMap", "map", "locale", "amount", "currencyCode", "maximumFractionDigits", "minimumFractionDigits", "removeTrailingZeros", "currencyDisplay", "code", "localeLanguage", "formattedValue"]
|
|
7
7
|
}
|
|
@@ -57,5 +57,11 @@ export declare const highlightSearchWord: (text: string, searchText: string) =>
|
|
|
57
57
|
* @example
|
|
58
58
|
* // 空路径处理
|
|
59
59
|
* getLocalizedPath('', 'uk') // => ''
|
|
60
|
+
*
|
|
61
|
+
* @example
|
|
62
|
+
* // appendParams 会自动判断用 ? 还是 &
|
|
63
|
+
* getLocalizedPath('/products', 'us', 'ref=footer') // => '/products?ref=footer'
|
|
64
|
+
* getLocalizedPath('https://example.com/page', 'us', 'ref=footer') // => 'https://example.com/page?ref=footer'
|
|
65
|
+
* getLocalizedPath('https://example.com/page?app=foo', 'us', 'ref=footer') // => 'https://example.com/page?app=foo&ref=footer'
|
|
60
66
|
*/
|
|
61
|
-
export declare const getLocalizedPath: (path: string, locale: string) => string;
|
|
67
|
+
export declare const getLocalizedPath: (path: string, locale: string, appendParams?: string) => string;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var s=Object.defineProperty;var
|
|
1
|
+
"use strict";var s=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var f=Object.prototype.hasOwnProperty;var h=(t,e)=>{for(var r in e)s(t,r,{get:e[r],enumerable:!0})},$=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of u(e))!f.call(t,i)&&i!==r&&s(t,i,{get:()=>e[i],enumerable:!(n=l(e,i))||n.enumerable});return t};var a=t=>$(s({},"__esModule",{value:!0}),t);var j={};h(j,{atobID:()=>p,cn:()=>y,getLocalizedPath:()=>R,highlightSearchWord:()=>S,noop:()=>b,spaceToHyphen:()=>W});module.exports=a(j);var c=require("clsx"),x=require("tailwind-merge");const d=(0,x.extendTailwindMerge)({extend:{theme:{borderRadius:["btn"]},classGroups:{"font-size":["text-heading-1","text-heading-2","text-heading-3","text-heading-4","text-heading-5","text-text-3","text-text-2","text-text-1"],"text-color":["text-info-primary","text-info-secondary","text-info-tertiary","text-info-quaternary","text-info-white"],leading:["leading-tight","leading-normal","leading-loose"]}}});function y(...t){return d((0,c.clsx)(t))}function b(){}function p(t){return t&&typeof t=="string"&&t.includes("/")?t.split("/").pop()?.split("?")?.shift():t}const W=t=>t?.replace(/\s+/g,"-"),w=t=>t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),S=(t,e)=>{try{if(!t||!e)return t;const r=w(e),n=new RegExp(r,"gi");return t.replace(n,i=>`<span class='text-brand-0 font-bold'>${i}</span>`)}catch(r){return console.error("highlightSearchWord error:",r),t}},R=(t,e,r)=>{if(!t)return t;if(t.startsWith("http://")||t.startsWith("https://")||t.startsWith("#"))return r?t.includes("?")?`${t}&${r}`:`${t}?${r}`:t;const n=t.split("/").filter(Boolean);if(n.length===0){const o=e==="us"?"/":`/${e}`;return r?`${o}?${r}`:o}if(n[0]===e){const o=`/${n.join("/")}`;return r?`${o}?${r}`:o}const g=`${e==="us"?"":`/${e}`}/${n.join("/")}`;return r?`${g}?${r}`:g};
|
|
2
2
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/helpers/utils.ts"],
|
|
4
|
-
"sourcesContent": ["import { clsx, type ClassValue } from 'clsx'\nimport { extendTailwindMerge } from 'tailwind-merge'\n\nconst twMerge = extendTailwindMerge({\n extend: {\n theme: {\n borderRadius: ['btn'],\n },\n classGroups: {\n 'font-size': [\n 'text-heading-1',\n 'text-heading-2',\n 'text-heading-3',\n 'text-heading-4',\n 'text-heading-5',\n 'text-text-3',\n 'text-text-2',\n 'text-text-1',\n ],\n 'text-color': [\n 'text-info-primary',\n 'text-info-secondary',\n 'text-info-tertiary',\n 'text-info-quaternary',\n 'text-info-white',\n ],\n leading: ['leading-tight', 'leading-normal', 'leading-loose'],\n },\n },\n})\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n\nexport function noop(): any {}\n\nexport function atobID(id: string) {\n if (id && typeof id === 'string' && id.includes('/')) {\n return id.split('/').pop()?.split('?')?.shift()\n } else {\n return id\n }\n}\nexport const spaceToHyphen = (str: string) => str?.replace(/\\s+/g, '-')\n\n/**\n * \u8F6C\u4E49\u6B63\u5219\u8868\u8FBE\u5F0F\u7279\u6B8A\u5B57\u7B26\n * @param str \u9700\u8981\u8F6C\u4E49\u7684\u5B57\u7B26\u4E32\n * @returns \u8F6C\u4E49\u540E\u7684\u5B57\u7B26\u4E32\n */\nconst escapeRegExp = (str: string): string => {\n return str.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&')\n}\n\n/**\n * \u9AD8\u4EAE\u641C\u7D22\u5173\u952E\u8BCD\n * @param text \u539F\u59CB\u6587\u672C\n * @param searchText \u641C\u7D22\u5173\u952E\u8BCD\n * @returns \u9AD8\u4EAE\u540E\u7684 HTML \u5B57\u7B26\u4E32\n */\nexport const highlightSearchWord = (text: string, searchText: string) => {\n try {\n if (!text || !searchText) {\n return text\n }\n\n // \u8F6C\u4E49\u641C\u7D22\u6587\u672C\u4E2D\u7684\u6B63\u5219\u8868\u8FBE\u5F0F\u7279\u6B8A\u5B57\u7B26\n const escapedSearchText = escapeRegExp(searchText)\n const regex = new RegExp(escapedSearchText, 'gi')\n\n // \u4F7F\u7528\u6B63\u5219\u8868\u8FBE\u5F0F\u7684\u5339\u914D\u7ED3\u679C\u6765\u4FDD\u6301\u539F\u59CB\u5927\u5C0F\u5199\n return text.replace(regex, match => `<span class='text-brand-0 font-bold'>${match}</span>`)\n } catch (e) {\n console.error('highlightSearchWord error:', e)\n return text\n }\n}\n\n/**\n * \u83B7\u53D6\u672C\u5730\u5316\u8DEF\u5F84\n *\n * \u6839\u636E\u8BED\u8A00\u6807\u8BC6\u4E3A\u8DEF\u5F84\u6DFB\u52A0\u5BF9\u5E94\u7684 locale \u524D\u7F00\u3002\n * - 'us' \u4E3A\u9ED8\u8BA4\u8BED\u8A00\uFF0C\u4E0D\u6DFB\u52A0\u524D\u7F00\n * - \u5176\u4ED6\u8BED\u8A00\u4F1A\u6DFB\u52A0 `/{locale}` \u524D\u7F00\n * - \u5B8C\u6574 URL\uFF08http/https\uFF09\u4E0D\u505A\u5904\u7406\n * - \u81EA\u52A8\u5904\u7406\u8DEF\u5F84\u683C\u5F0F\uFF08\u8865\u5145\u524D\u5BFC\u659C\u6760\u3001\u79FB\u9664\u5C3E\u90E8\u659C\u6760\uFF09\n *\n * @param path - \u539F\u59CB\u8DEF\u5F84\n * @param locale - \u8BED\u8A00\u6807\u8BC6\uFF08\u5982 'us', 'uk', 'de', 'jp' \u7B49\uFF09\n * @returns \u672C\u5730\u5316\u540E\u7684\u8DEF\u5F84\n *\n * @example\n * // \u57FA\u672C\u7528\u6CD5 - \u9ED8\u8BA4\u8BED\u8A00 'us' \u4E0D\u6DFB\u52A0\u524D\u7F00\n * getLocalizedPath('/products', 'us') // => '/products'\n * getLocalizedPath('/about', 'us') // => '/about'\n *\n * @example\n * // \u5176\u4ED6\u8BED\u8A00\u6DFB\u52A0\u524D\u7F00\n * getLocalizedPath('/products', 'uk') // => '/uk/products'\n * getLocalizedPath('/about/team', 'de') // => '/de/about/team'\n * getLocalizedPath('/contact', 'jp') // => '/jp/contact'\n *\n * @example\n * // \u6839\u8DEF\u5F84\u5904\u7406\n * getLocalizedPath('/', 'us') // => '/'\n * getLocalizedPath('/', 'uk') // => '/uk'\n *\n * @example\n * // \u81EA\u52A8\u683C\u5F0F\u5316\u8DEF\u5F84\n * getLocalizedPath('products', 'uk') // => '/uk/products' (\u8865\u5145\u524D\u5BFC\u659C\u6760)\n * getLocalizedPath('/products/', 'uk') // => '/uk/products' (\u79FB\u9664\u5C3E\u90E8\u659C\u6760)\n * getLocalizedPath('//products//detail/', 'uk') // => '/uk/products/detail' (\u79FB\u9664\u591A\u4F59\u659C\u6760)\n *\n * @example\n * // \u5DF2\u5305\u542B locale \u7684\u8DEF\u5F84\u4E0D\u91CD\u590D\u6DFB\u52A0\n * getLocalizedPath('/uk/products', 'uk') // => '/uk/products'\n *\n * @example\n * // \u5B8C\u6574 URL \u4E0D\u5904\u7406\n * getLocalizedPath('https://example.com/page', 'uk') // => 'https://example.com/page'\n * getLocalizedPath('http://example.com', 'de') // => 'http://example.com'\n *\n * @example\n * // \u7A7A\u8DEF\u5F84\u5904\u7406\n * getLocalizedPath('', 'uk') // => ''\n */\nexport const getLocalizedPath = (path: string, locale: string): string => {\n if (!path) return path\n\n // \u5982\u679C\u662F\u5B8C\u6574 URL\uFF08http:// \u6216 https://\uFF09\u6216\u951A\u70B9\u94FE\u63A5\uFF08#\uFF09\uFF0C\u4E0D\u5904\u7406\n if (path.startsWith('http://') || path.startsWith('https://') || path.startsWith('#')) {\n return path\n }\n\n // \u5206\u5272\u8DEF\u5F84\u5E76\u8FC7\u6EE4\u7A7A\u6BB5\uFF08\u5904\u7406\u591A\u4E2A\u8FDE\u7EED\u659C\u6760\u7684\u60C5\u51B5\uFF09\n const pathSegments = path.split('/').filter(Boolean)\n\n // \u5982\u679C\u6CA1\u6709\u6709\u6548\u8DEF\u5F84\u6BB5\uFF0C\u8FD4\u56DE locale \u524D\u7F00\u6216 '/'\n if (pathSegments.length === 0) {\n
|
|
5
|
-
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,YAAAE,EAAA,OAAAC,EAAA,qBAAAC,EAAA,wBAAAC,EAAA,SAAAC,EAAA,kBAAAC,IAAA,eAAAC,EAAAR,GAAA,IAAAS,EAAsC,gBACtCC,EAAoC,0BAEpC,MAAMC,KAAU,uBAAoB,CAClC,OAAQ,CACN,MAAO,CACL,aAAc,CAAC,KAAK,CACtB,EACA,YAAa,CACX,YAAa,CACX,iBACA,iBACA,iBACA,iBACA,iBACA,cACA,cACA,aACF,EACA,aAAc,CACZ,oBACA,sBACA,qBACA,uBACA,iBACF,EACA,QAAS,CAAC,gBAAiB,iBAAkB,eAAe,CAC9D,CACF,CACF,CAAC,EAEM,SAASR,KAAMS,EAAsB,CAC1C,OAAOD,KAAQ,QAAKC,CAAM,CAAC,CAC7B,CAEO,SAASN,GAAY,CAAC,CAEtB,SAASJ,EAAOW,EAAY,CACjC,OAAIA,GAAM,OAAOA,GAAO,UAAYA,EAAG,SAAS,GAAG,EAC1CA,EAAG,MAAM,GAAG,EAAE,IAAI,GAAG,MAAM,GAAG,GAAG,MAAM,EAEvCA,CAEX,CACO,MAAMN,EAAiBO,GAAgBA,GAAK,QAAQ,OAAQ,GAAG,EAOhEC,EAAgBD,GACbA,EAAI,QAAQ,sBAAuB,MAAM,EASrCT,EAAsB,CAACW,EAAcC,IAAuB,CACvE,GAAI,CACF,GAAI,CAACD,GAAQ,CAACC,EACZ,OAAOD,EAIT,MAAME,EAAoBH,EAAaE,CAAU,EAC3CE,EAAQ,IAAI,OAAOD,EAAmB,IAAI,EAGhD,OAAOF,EAAK,QAAQG,EAAOC,GAAS,wCAAwCA,CAAK,SAAS,CAC5F,OAASC,EAAG,CACV,eAAQ,MAAM,6BAA8BA,CAAC,EACtCL,CACT,CACF,
|
|
6
|
-
"names": ["utils_exports", "__export", "atobID", "cn", "getLocalizedPath", "highlightSearchWord", "noop", "spaceToHyphen", "__toCommonJS", "import_clsx", "import_tailwind_merge", "twMerge", "inputs", "id", "str", "escapeRegExp", "text", "searchText", "escapedSearchText", "regex", "match", "e", "path", "locale", "pathSegments"]
|
|
4
|
+
"sourcesContent": ["import { clsx, type ClassValue } from 'clsx'\nimport { extendTailwindMerge } from 'tailwind-merge'\n\nconst twMerge = extendTailwindMerge({\n extend: {\n theme: {\n borderRadius: ['btn'],\n },\n classGroups: {\n 'font-size': [\n 'text-heading-1',\n 'text-heading-2',\n 'text-heading-3',\n 'text-heading-4',\n 'text-heading-5',\n 'text-text-3',\n 'text-text-2',\n 'text-text-1',\n ],\n 'text-color': [\n 'text-info-primary',\n 'text-info-secondary',\n 'text-info-tertiary',\n 'text-info-quaternary',\n 'text-info-white',\n ],\n leading: ['leading-tight', 'leading-normal', 'leading-loose'],\n },\n },\n})\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n\nexport function noop(): any {}\n\nexport function atobID(id: string) {\n if (id && typeof id === 'string' && id.includes('/')) {\n return id.split('/').pop()?.split('?')?.shift()\n } else {\n return id\n }\n}\nexport const spaceToHyphen = (str: string) => str?.replace(/\\s+/g, '-')\n\n/**\n * \u8F6C\u4E49\u6B63\u5219\u8868\u8FBE\u5F0F\u7279\u6B8A\u5B57\u7B26\n * @param str \u9700\u8981\u8F6C\u4E49\u7684\u5B57\u7B26\u4E32\n * @returns \u8F6C\u4E49\u540E\u7684\u5B57\u7B26\u4E32\n */\nconst escapeRegExp = (str: string): string => {\n return str.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&')\n}\n\n/**\n * \u9AD8\u4EAE\u641C\u7D22\u5173\u952E\u8BCD\n * @param text \u539F\u59CB\u6587\u672C\n * @param searchText \u641C\u7D22\u5173\u952E\u8BCD\n * @returns \u9AD8\u4EAE\u540E\u7684 HTML \u5B57\u7B26\u4E32\n */\nexport const highlightSearchWord = (text: string, searchText: string) => {\n try {\n if (!text || !searchText) {\n return text\n }\n\n // \u8F6C\u4E49\u641C\u7D22\u6587\u672C\u4E2D\u7684\u6B63\u5219\u8868\u8FBE\u5F0F\u7279\u6B8A\u5B57\u7B26\n const escapedSearchText = escapeRegExp(searchText)\n const regex = new RegExp(escapedSearchText, 'gi')\n\n // \u4F7F\u7528\u6B63\u5219\u8868\u8FBE\u5F0F\u7684\u5339\u914D\u7ED3\u679C\u6765\u4FDD\u6301\u539F\u59CB\u5927\u5C0F\u5199\n return text.replace(regex, match => `<span class='text-brand-0 font-bold'>${match}</span>`)\n } catch (e) {\n console.error('highlightSearchWord error:', e)\n return text\n }\n}\n\n/**\n * \u83B7\u53D6\u672C\u5730\u5316\u8DEF\u5F84\n *\n * \u6839\u636E\u8BED\u8A00\u6807\u8BC6\u4E3A\u8DEF\u5F84\u6DFB\u52A0\u5BF9\u5E94\u7684 locale \u524D\u7F00\u3002\n * - 'us' \u4E3A\u9ED8\u8BA4\u8BED\u8A00\uFF0C\u4E0D\u6DFB\u52A0\u524D\u7F00\n * - \u5176\u4ED6\u8BED\u8A00\u4F1A\u6DFB\u52A0 `/{locale}` \u524D\u7F00\n * - \u5B8C\u6574 URL\uFF08http/https\uFF09\u4E0D\u505A\u5904\u7406\n * - \u81EA\u52A8\u5904\u7406\u8DEF\u5F84\u683C\u5F0F\uFF08\u8865\u5145\u524D\u5BFC\u659C\u6760\u3001\u79FB\u9664\u5C3E\u90E8\u659C\u6760\uFF09\n *\n * @param path - \u539F\u59CB\u8DEF\u5F84\n * @param locale - \u8BED\u8A00\u6807\u8BC6\uFF08\u5982 'us', 'uk', 'de', 'jp' \u7B49\uFF09\n * @returns \u672C\u5730\u5316\u540E\u7684\u8DEF\u5F84\n *\n * @example\n * // \u57FA\u672C\u7528\u6CD5 - \u9ED8\u8BA4\u8BED\u8A00 'us' \u4E0D\u6DFB\u52A0\u524D\u7F00\n * getLocalizedPath('/products', 'us') // => '/products'\n * getLocalizedPath('/about', 'us') // => '/about'\n *\n * @example\n * // \u5176\u4ED6\u8BED\u8A00\u6DFB\u52A0\u524D\u7F00\n * getLocalizedPath('/products', 'uk') // => '/uk/products'\n * getLocalizedPath('/about/team', 'de') // => '/de/about/team'\n * getLocalizedPath('/contact', 'jp') // => '/jp/contact'\n *\n * @example\n * // \u6839\u8DEF\u5F84\u5904\u7406\n * getLocalizedPath('/', 'us') // => '/'\n * getLocalizedPath('/', 'uk') // => '/uk'\n *\n * @example\n * // \u81EA\u52A8\u683C\u5F0F\u5316\u8DEF\u5F84\n * getLocalizedPath('products', 'uk') // => '/uk/products' (\u8865\u5145\u524D\u5BFC\u659C\u6760)\n * getLocalizedPath('/products/', 'uk') // => '/uk/products' (\u79FB\u9664\u5C3E\u90E8\u659C\u6760)\n * getLocalizedPath('//products//detail/', 'uk') // => '/uk/products/detail' (\u79FB\u9664\u591A\u4F59\u659C\u6760)\n *\n * @example\n * // \u5DF2\u5305\u542B locale \u7684\u8DEF\u5F84\u4E0D\u91CD\u590D\u6DFB\u52A0\n * getLocalizedPath('/uk/products', 'uk') // => '/uk/products'\n *\n * @example\n * // \u5B8C\u6574 URL \u4E0D\u5904\u7406\n * getLocalizedPath('https://example.com/page', 'uk') // => 'https://example.com/page'\n * getLocalizedPath('http://example.com', 'de') // => 'http://example.com'\n *\n * @example\n * // \u7A7A\u8DEF\u5F84\u5904\u7406\n * getLocalizedPath('', 'uk') // => ''\n *\n * @example\n * // appendParams \u4F1A\u81EA\u52A8\u5224\u65AD\u7528 ? \u8FD8\u662F &\n * getLocalizedPath('/products', 'us', 'ref=footer') // => '/products?ref=footer'\n * getLocalizedPath('https://example.com/page', 'us', 'ref=footer') // => 'https://example.com/page?ref=footer'\n * getLocalizedPath('https://example.com/page?app=foo', 'us', 'ref=footer') // => 'https://example.com/page?app=foo&ref=footer'\n */\nexport const getLocalizedPath = (path: string, locale: string, appendParams?: string): string => {\n if (!path) return path\n\n // \u5982\u679C\u662F\u5B8C\u6574 URL\uFF08http:// \u6216 https://\uFF09\u6216\u951A\u70B9\u94FE\u63A5\uFF08#\uFF09\uFF0C\u4E0D\u5904\u7406 locale\uFF0C\u4F46\u9700\u5904\u7406 appendParams\n if (path.startsWith('http://') || path.startsWith('https://') || path.startsWith('#')) {\n if (!appendParams) return path\n return path.includes('?') ? `${path}&${appendParams}` : `${path}?${appendParams}`\n }\n\n // \u5206\u5272\u8DEF\u5F84\u5E76\u8FC7\u6EE4\u7A7A\u6BB5\uFF08\u5904\u7406\u591A\u4E2A\u8FDE\u7EED\u659C\u6760\u7684\u60C5\u51B5\uFF09\n const pathSegments = path.split('/').filter(Boolean)\n\n // \u5982\u679C\u6CA1\u6709\u6709\u6548\u8DEF\u5F84\u6BB5\uFF0C\u8FD4\u56DE locale \u524D\u7F00\u6216 '/'\n if (pathSegments.length === 0) {\n const base = locale === 'us' ? '/' : `/${locale}`\n return appendParams ? `${base}?${appendParams}` : base\n }\n\n // \u68C0\u67E5\u8DEF\u5F84\u662F\u5426\u5DF2\u7ECF\u5305\u542B locale\n if (pathSegments[0] === locale) {\n const base = `/${pathSegments.join('/')}`\n return appendParams ? `${base}?${appendParams}` : base\n }\n\n // \u83B7\u53D6 locale \u524D\u7F00\u5E76\u62FC\u63A5\n const localePrefix = locale === 'us' ? '' : `/${locale}`\n const base = `${localePrefix}/${pathSegments.join('/')}`\n return appendParams ? `${base}?${appendParams}` : base\n}\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,YAAAE,EAAA,OAAAC,EAAA,qBAAAC,EAAA,wBAAAC,EAAA,SAAAC,EAAA,kBAAAC,IAAA,eAAAC,EAAAR,GAAA,IAAAS,EAAsC,gBACtCC,EAAoC,0BAEpC,MAAMC,KAAU,uBAAoB,CAClC,OAAQ,CACN,MAAO,CACL,aAAc,CAAC,KAAK,CACtB,EACA,YAAa,CACX,YAAa,CACX,iBACA,iBACA,iBACA,iBACA,iBACA,cACA,cACA,aACF,EACA,aAAc,CACZ,oBACA,sBACA,qBACA,uBACA,iBACF,EACA,QAAS,CAAC,gBAAiB,iBAAkB,eAAe,CAC9D,CACF,CACF,CAAC,EAEM,SAASR,KAAMS,EAAsB,CAC1C,OAAOD,KAAQ,QAAKC,CAAM,CAAC,CAC7B,CAEO,SAASN,GAAY,CAAC,CAEtB,SAASJ,EAAOW,EAAY,CACjC,OAAIA,GAAM,OAAOA,GAAO,UAAYA,EAAG,SAAS,GAAG,EAC1CA,EAAG,MAAM,GAAG,EAAE,IAAI,GAAG,MAAM,GAAG,GAAG,MAAM,EAEvCA,CAEX,CACO,MAAMN,EAAiBO,GAAgBA,GAAK,QAAQ,OAAQ,GAAG,EAOhEC,EAAgBD,GACbA,EAAI,QAAQ,sBAAuB,MAAM,EASrCT,EAAsB,CAACW,EAAcC,IAAuB,CACvE,GAAI,CACF,GAAI,CAACD,GAAQ,CAACC,EACZ,OAAOD,EAIT,MAAME,EAAoBH,EAAaE,CAAU,EAC3CE,EAAQ,IAAI,OAAOD,EAAmB,IAAI,EAGhD,OAAOF,EAAK,QAAQG,EAAOC,GAAS,wCAAwCA,CAAK,SAAS,CAC5F,OAASC,EAAG,CACV,eAAQ,MAAM,6BAA8BA,CAAC,EACtCL,CACT,CACF,EAwDaZ,EAAmB,CAACkB,EAAcC,EAAgBC,IAAkC,CAC/F,GAAI,CAACF,EAAM,OAAOA,EAGlB,GAAIA,EAAK,WAAW,SAAS,GAAKA,EAAK,WAAW,UAAU,GAAKA,EAAK,WAAW,GAAG,EAClF,OAAKE,EACEF,EAAK,SAAS,GAAG,EAAI,GAAGA,CAAI,IAAIE,CAAY,GAAK,GAAGF,CAAI,IAAIE,CAAY,GADrDF,EAK5B,MAAMG,EAAeH,EAAK,MAAM,GAAG,EAAE,OAAO,OAAO,EAGnD,GAAIG,EAAa,SAAW,EAAG,CAC7B,MAAMC,EAAOH,IAAW,KAAO,IAAM,IAAIA,CAAM,GAC/C,OAAOC,EAAe,GAAGE,CAAI,IAAIF,CAAY,GAAKE,CACpD,CAGA,GAAID,EAAa,CAAC,IAAMF,EAAQ,CAC9B,MAAMG,EAAO,IAAID,EAAa,KAAK,GAAG,CAAC,GACvC,OAAOD,EAAe,GAAGE,CAAI,IAAIF,CAAY,GAAKE,CACpD,CAIA,MAAMA,EAAO,GADQH,IAAW,KAAO,GAAK,IAAIA,CAAM,EAC1B,IAAIE,EAAa,KAAK,GAAG,CAAC,GACtD,OAAOD,EAAe,GAAGE,CAAI,IAAIF,CAAY,GAAKE,CACpD",
|
|
6
|
+
"names": ["utils_exports", "__export", "atobID", "cn", "getLocalizedPath", "highlightSearchWord", "noop", "spaceToHyphen", "__toCommonJS", "import_clsx", "import_tailwind_merge", "twMerge", "inputs", "id", "str", "escapeRegExp", "text", "searchText", "escapedSearchText", "regex", "match", "e", "path", "locale", "appendParams", "pathSegments", "base"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
type MediaQueryOptions = {
|
|
2
|
+
query: string;
|
|
3
|
+
minWidth?: never;
|
|
4
|
+
} | {
|
|
5
|
+
minWidth: number;
|
|
6
|
+
query?: never;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* SSR-safe replacement for react-responsive useMediaQuery.
|
|
10
|
+
* Returns false on SSR and before mount, then syncs to real matchMedia value.
|
|
11
|
+
* Internal hook — not exported from package entrypoints.
|
|
12
|
+
*/
|
|
13
|
+
export declare function useIsomorphicMediaQuery(options: MediaQueryOptions): boolean;
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var a=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var h=Object.getOwnPropertyNames;var m=Object.prototype.hasOwnProperty;var o=(e,t)=>{for(var i in t)a(e,i,{get:t[i],enumerable:!0})},y=(e,t,i,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of h(t))!m.call(e,n)&&n!==i&&a(e,n,{get:()=>t[n],enumerable:!(r=c(t,n))||r.enumerable});return e};var f=e=>y(a({},"__esModule",{value:!0}),e);var p={};o(p,{useIsomorphicMediaQuery:()=>g});module.exports=f(p);var u=require("react");const M=e=>"minWidth"in e&&e.minWidth!=null?`(min-width: ${e.minWidth}px)`:e.query;function g(e){const t=M(e),[i,r]=(0,u.useState)(!1);return(0,u.useEffect)(()=>{if(typeof window>"u"||typeof window.matchMedia!="function")return;const n=window.matchMedia(t),d=s=>{r(s.matches)};return r(n.matches),n.addEventListener("change",d),()=>{n.removeEventListener("change",d)}},[t]),i}
|
|
2
|
+
//# sourceMappingURL=useIsomorphicMediaQuery.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/hooks/useIsomorphicMediaQuery.ts"],
|
|
4
|
+
"sourcesContent": ["import { useEffect, useState } from 'react'\n\ntype MediaQueryOptions = { query: string; minWidth?: never } | { minWidth: number; query?: never }\n\nconst getMediaQueryString = (options: MediaQueryOptions): string => {\n if ('minWidth' in options && options.minWidth != null) {\n return `(min-width: ${options.minWidth}px)`\n }\n\n return options.query\n}\n\n/**\n * SSR-safe replacement for react-responsive useMediaQuery.\n * Returns false on SSR and before mount, then syncs to real matchMedia value.\n * Internal hook \u2014 not exported from package entrypoints.\n */\nexport function useIsomorphicMediaQuery(options: MediaQueryOptions): boolean {\n const queryString = getMediaQueryString(options)\n const [matches, setMatches] = useState(false)\n\n useEffect(() => {\n if (typeof window === 'undefined' || typeof window.matchMedia !== 'function') {\n return\n }\n\n const mediaQueryList = window.matchMedia(queryString)\n const handleChange = (event: MediaQueryListEvent) => {\n setMatches(event.matches)\n }\n\n setMatches(mediaQueryList.matches)\n mediaQueryList.addEventListener('change', handleChange)\n\n return () => {\n mediaQueryList.removeEventListener('change', handleChange)\n }\n }, [queryString])\n\n return matches\n}\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,6BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAoC,iBAIpC,MAAMC,EAAuBC,GACvB,aAAcA,GAAWA,EAAQ,UAAY,KACxC,eAAeA,EAAQ,QAAQ,MAGjCA,EAAQ,MAQV,SAASJ,EAAwBI,EAAqC,CAC3E,MAAMC,EAAcF,EAAoBC,CAAO,EACzC,CAACE,EAASC,CAAU,KAAI,YAAS,EAAK,EAE5C,sBAAU,IAAM,CACd,GAAI,OAAO,OAAW,KAAe,OAAO,OAAO,YAAe,WAChE,OAGF,MAAMC,EAAiB,OAAO,WAAWH,CAAW,EAC9CI,EAAgBC,GAA+B,CACnDH,EAAWG,EAAM,OAAO,CAC1B,EAEA,OAAAH,EAAWC,EAAe,OAAO,EACjCA,EAAe,iBAAiB,SAAUC,CAAY,EAE/C,IAAM,CACXD,EAAe,oBAAoB,SAAUC,CAAY,CAC3D,CACF,EAAG,CAACJ,CAAW,CAAC,EAETC,CACT",
|
|
6
|
+
"names": ["useIsomorphicMediaQuery_exports", "__export", "useIsomorphicMediaQuery", "__toCommonJS", "import_react", "getMediaQueryString", "options", "queryString", "matches", "setMatches", "mediaQueryList", "handleChange", "event"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { type RefObject } from 'react';
|
|
2
|
+
import type { Product } from '../biz-components/Listing/types/product.js';
|
|
3
|
+
/** 单个产品项的埋点数据(CMS 配置的简化产品) */
|
|
4
|
+
export interface ProductItem {
|
|
5
|
+
sku?: string;
|
|
6
|
+
handle?: string;
|
|
7
|
+
custom_price?: number;
|
|
8
|
+
[key: string]: any;
|
|
9
|
+
}
|
|
10
|
+
/** Hook 入参 */
|
|
11
|
+
export interface ProductListTrackOptions {
|
|
12
|
+
/** 组件容器 ref,用于 view_item_list 的视口检测 */
|
|
13
|
+
containerRef: RefObject<HTMLDivElement>;
|
|
14
|
+
/** 列表名称,用于 item_list_name 字段 */
|
|
15
|
+
listName: string;
|
|
16
|
+
/** 产品列表(简化数据,来自 CMS 配置) */
|
|
17
|
+
items: ProductItem[];
|
|
18
|
+
/** 构建时产品完整数据(来自 Shopify API) */
|
|
19
|
+
products?: Product[];
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* 产品列表埋点 Hook
|
|
23
|
+
*
|
|
24
|
+
* 封装两个 GA4 电商事件:
|
|
25
|
+
* - `view_item_list` — 组件进入视口时自动触发一次(产品列表露出)
|
|
26
|
+
* - `select_item` — 返回 trackSelectItem 函数,点击产品时手动调用(产品选择)
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```tsx
|
|
30
|
+
* const { trackSelectItem } = useProductListTrack({
|
|
31
|
+
* containerRef: innerRef,
|
|
32
|
+
* listName: 'gift_tier_shelf',
|
|
33
|
+
* items: availableItems.map(item => item.products?.[0]).filter(Boolean),
|
|
34
|
+
* products: buildData?.products,
|
|
35
|
+
* })
|
|
36
|
+
*
|
|
37
|
+
* // 点击产品卡片时
|
|
38
|
+
* <Card onClick={() => { trackSelectItem(product, index); onCardClick?.() }} />
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
export declare const useProductListTrack: ({ containerRef, listName, items, products }: ProductListTrackOptions) => {
|
|
42
|
+
trackSelectItem: (item: ProductItem, index: number) => void;
|
|
43
|
+
};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var l=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var k=Object.getOwnPropertyNames;var f=Object.prototype.hasOwnProperty;var P=(e,t)=>{for(var n in t)l(e,n,{get:t[n],enumerable:!0})},h=(e,t,n,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of k(t))!f.call(e,r)&&r!==n&&l(e,r,{get:()=>t[r],enumerable:!(i=g(t,r))||i.enumerable});return e};var b=e=>h(l({},"__esModule",{value:!0}),e);var L={};P(L,{useProductListTrack:()=>x});module.exports=b(L);var s=require("react"),p=require("../shared/track.js"),v=require("../biz-components/AiuiProvider/index.js");const I=(e,t)=>e.map((n,i)=>{const r=t?.find(o=>o.handle===n.handle)||null,c=r?.variants?.find(o=>o?.sku===n.sku)||null;return{item_id:n.sku||c?.sku||"",item_name:c?.title||r?.title||"",item_variant:c?.title||"",price:n.custom_price??c?.price?.amount??"",index:i+1}}),x=({containerRef:e,listName:t,items:n,products:i})=>{const{trackingData:r}=(0,v.useAiuiContext)(),c=(0,s.useRef)(!1);return(0,s.useEffect)(()=>{if(!e.current||c.current||!i?.length)return;const a=new IntersectionObserver(([m])=>{m.isIntersecting&&!c.current&&(c.current=!0,(0,p.gaTrack)({event:"ga4Event",event_name:"view_item_list",event_parameters:{page_group:r?.pageGroup||"Home Page",item_list_name:t,items:I(n,i)}}),a.disconnect())},{threshold:0});return a.observe(e.current),()=>a.disconnect()},[i,n,r,t,e]),{trackSelectItem:(0,s.useCallback)((a,m)=>{const _=i?.find(d=>d.handle===a.handle)||null,u=_?.variants?.find(d=>d?.sku===a.sku)||null;(0,p.gaTrack)({event:"ga4Event",event_name:"select_item",event_parameters:{page_group:r?.pageGroup||"Home Page",item_list_name:t,items:[{item_id:a.sku||u?.sku||"",item_name:u?.title||_?.title||"",item_variant:u?.title||"",price:a.custom_price??u?.price?.amount??"",index:m+1}]}})},[i,r,t])}};
|
|
2
|
+
//# sourceMappingURL=useProductListTrack.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/hooks/useProductListTrack.ts"],
|
|
4
|
+
"sourcesContent": ["import { type RefObject, useRef, useEffect, useCallback } from 'react'\nimport { gaTrack } from '../shared/track.js'\nimport { useAiuiContext } from '../biz-components/AiuiProvider/index.js'\nimport type { Product, ProductVariant } from '../biz-components/Listing/types/product.js'\n\n/** \u5355\u4E2A\u4EA7\u54C1\u9879\u7684\u57CB\u70B9\u6570\u636E\uFF08CMS \u914D\u7F6E\u7684\u7B80\u5316\u4EA7\u54C1\uFF09 */\nexport interface ProductItem {\n sku?: string\n handle?: string\n custom_price?: number\n [key: string]: any\n}\n\n/** Hook \u5165\u53C2 */\nexport interface ProductListTrackOptions {\n /** \u7EC4\u4EF6\u5BB9\u5668 ref\uFF0C\u7528\u4E8E view_item_list \u7684\u89C6\u53E3\u68C0\u6D4B */\n containerRef: RefObject<HTMLDivElement>\n /** \u5217\u8868\u540D\u79F0\uFF0C\u7528\u4E8E item_list_name \u5B57\u6BB5 */\n listName: string\n /** \u4EA7\u54C1\u5217\u8868\uFF08\u7B80\u5316\u6570\u636E\uFF0C\u6765\u81EA CMS \u914D\u7F6E\uFF09 */\n items: ProductItem[]\n /** \u6784\u5EFA\u65F6\u4EA7\u54C1\u5B8C\u6574\u6570\u636E\uFF08\u6765\u81EA Shopify API\uFF09 */\n products?: Product[]\n}\n\n/**\n * \u6839\u636E\u7B80\u5316\u4EA7\u54C1 + \u5B8C\u6574\u4EA7\u54C1\u6570\u636E\uFF0C\u6784\u5EFA GA4 \u6807\u51C6 items \u6570\u7EC4\n */\nconst resolveItemList = (items: ProductItem[], products?: Product[]) => {\n return items.map((item, index) => {\n const matchedProduct = products?.find(p => p.handle === item.handle) || null\n const variant = matchedProduct?.variants?.find((v: ProductVariant) => v?.sku === item.sku) || null\n return {\n item_id: item.sku || variant?.sku || '',\n item_name: variant?.title || matchedProduct?.title || '',\n item_variant: variant?.title || '',\n price: item.custom_price ?? variant?.price?.amount ?? '',\n index: index + 1,\n }\n })\n}\n\n/**\n * \u4EA7\u54C1\u5217\u8868\u57CB\u70B9 Hook\n *\n * \u5C01\u88C5\u4E24\u4E2A GA4 \u7535\u5546\u4E8B\u4EF6\uFF1A\n * - `view_item_list` \u2014 \u7EC4\u4EF6\u8FDB\u5165\u89C6\u53E3\u65F6\u81EA\u52A8\u89E6\u53D1\u4E00\u6B21\uFF08\u4EA7\u54C1\u5217\u8868\u9732\u51FA\uFF09\n * - `select_item` \u2014 \u8FD4\u56DE trackSelectItem \u51FD\u6570\uFF0C\u70B9\u51FB\u4EA7\u54C1\u65F6\u624B\u52A8\u8C03\u7528\uFF08\u4EA7\u54C1\u9009\u62E9\uFF09\n *\n * @example\n * ```tsx\n * const { trackSelectItem } = useProductListTrack({\n * containerRef: innerRef,\n * listName: 'gift_tier_shelf',\n * items: availableItems.map(item => item.products?.[0]).filter(Boolean),\n * products: buildData?.products,\n * })\n *\n * // \u70B9\u51FB\u4EA7\u54C1\u5361\u7247\u65F6\n * <Card onClick={() => { trackSelectItem(product, index); onCardClick?.() }} />\n * ```\n */\nexport const useProductListTrack = ({ containerRef, listName, items, products }: ProductListTrackOptions) => {\n const { trackingData } = useAiuiContext()\n const hasViewed = useRef(false)\n\n // view_item_list \u2014 \u8FDB\u5165\u89C6\u53E3\u89E6\u53D1\u4E00\u6B21\n useEffect(() => {\n if (!containerRef.current || hasViewed.current || !products?.length) return\n\n const observer = new IntersectionObserver(\n ([entry]) => {\n if (entry.isIntersecting && !hasViewed.current) {\n hasViewed.current = true\n gaTrack({\n event: 'ga4Event',\n event_name: 'view_item_list',\n event_parameters: {\n page_group: trackingData?.pageGroup || 'Home Page',\n item_list_name: listName,\n items: resolveItemList(items, products),\n },\n })\n observer.disconnect()\n }\n },\n { threshold: 0 }\n )\n\n observer.observe(containerRef.current)\n return () => observer.disconnect()\n }, [products, items, trackingData, listName, containerRef])\n\n // select_item \u2014 \u70B9\u51FB\u67D0\u4EA7\u54C1\u65F6\u8C03\u7528\n const trackSelectItem = useCallback(\n (item: ProductItem, index: number) => {\n const matchedProduct = products?.find(p => p.handle === item.handle) || null\n const variant = matchedProduct?.variants?.find((v: ProductVariant) => v?.sku === item.sku) || null\n\n gaTrack({\n event: 'ga4Event',\n event_name: 'select_item',\n event_parameters: {\n page_group: trackingData?.pageGroup || 'Home Page',\n item_list_name: listName,\n items: [\n {\n item_id: item.sku || variant?.sku || '',\n item_name: variant?.title || matchedProduct?.title || '',\n item_variant: variant?.title || '',\n price: item.custom_price ?? variant?.price?.amount ?? '',\n index: index + 1,\n },\n ],\n },\n })\n },\n [products, trackingData, listName]\n )\n\n return { trackSelectItem }\n}\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,yBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAA+D,iBAC/DC,EAAwB,8BACxBC,EAA+B,mDA0B/B,MAAMC,EAAkB,CAACC,EAAsBC,IACtCD,EAAM,IAAI,CAACE,EAAMC,IAAU,CAChC,MAAMC,EAAiBH,GAAU,KAAKI,GAAKA,EAAE,SAAWH,EAAK,MAAM,GAAK,KAClEI,EAAUF,GAAgB,UAAU,KAAMG,GAAsBA,GAAG,MAAQL,EAAK,GAAG,GAAK,KAC9F,MAAO,CACL,QAASA,EAAK,KAAOI,GAAS,KAAO,GACrC,UAAWA,GAAS,OAASF,GAAgB,OAAS,GACtD,aAAcE,GAAS,OAAS,GAChC,MAAOJ,EAAK,cAAgBI,GAAS,OAAO,QAAU,GACtD,MAAOH,EAAQ,CACjB,CACF,CAAC,EAuBUT,EAAsB,CAAC,CAAE,aAAAc,EAAc,SAAAC,EAAU,MAAAT,EAAO,SAAAC,CAAS,IAA+B,CAC3G,KAAM,CAAE,aAAAS,CAAa,KAAI,kBAAe,EAClCC,KAAY,UAAO,EAAK,EAG9B,sBAAU,IAAM,CACd,GAAI,CAACH,EAAa,SAAWG,EAAU,SAAW,CAACV,GAAU,OAAQ,OAErE,MAAMW,EAAW,IAAI,qBACnB,CAAC,CAACC,CAAK,IAAM,CACPA,EAAM,gBAAkB,CAACF,EAAU,UACrCA,EAAU,QAAU,MACpB,WAAQ,CACN,MAAO,WACP,WAAY,iBACZ,iBAAkB,CAChB,WAAYD,GAAc,WAAa,YACvC,eAAgBD,EAChB,MAAOV,EAAgBC,EAAOC,CAAQ,CACxC,CACF,CAAC,EACDW,EAAS,WAAW,EAExB,EACA,CAAE,UAAW,CAAE,CACjB,EAEA,OAAAA,EAAS,QAAQJ,EAAa,OAAO,EAC9B,IAAMI,EAAS,WAAW,CACnC,EAAG,CAACX,EAAUD,EAAOU,EAAcD,EAAUD,CAAY,CAAC,EA6BnD,CAAE,mBA1Be,eACtB,CAACN,EAAmBC,IAAkB,CACpC,MAAMC,EAAiBH,GAAU,KAAKI,GAAKA,EAAE,SAAWH,EAAK,MAAM,GAAK,KAClEI,EAAUF,GAAgB,UAAU,KAAMG,GAAsBA,GAAG,MAAQL,EAAK,GAAG,GAAK,QAE9F,WAAQ,CACN,MAAO,WACP,WAAY,cACZ,iBAAkB,CAChB,WAAYQ,GAAc,WAAa,YACvC,eAAgBD,EAChB,MAAO,CACL,CACE,QAASP,EAAK,KAAOI,GAAS,KAAO,GACrC,UAAWA,GAAS,OAASF,GAAgB,OAAS,GACtD,aAAcE,GAAS,OAAS,GAChC,MAAOJ,EAAK,cAAgBI,GAAS,OAAO,QAAU,GACtD,MAAOH,EAAQ,CACjB,CACF,CACF,CACF,CAAC,CACH,EACA,CAACF,EAAUS,EAAcD,CAAQ,CACnC,CAEyB,CAC3B",
|
|
6
|
+
"names": ["useProductListTrack_exports", "__export", "useProductListTrack", "__toCommonJS", "import_react", "import_track", "import_AiuiProvider", "resolveItemList", "items", "products", "item", "index", "matchedProduct", "p", "variant", "v", "containerRef", "listName", "trackingData", "hasViewed", "observer", "entry"]
|
|
7
|
+
}
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -2,3 +2,13 @@ export * from './components/index.js';
|
|
|
2
2
|
export { gaTrack } from './shared/track.js';
|
|
3
3
|
export { trackUrlRef, buildTrackingRef } from './shared/trackUrlRef.js';
|
|
4
4
|
export type { ExposureParams, OnExposureCallback } from './biz-components/AiuiProvider/index.js';
|
|
5
|
+
export type { Media, Theme, Img, Video, ContainerProps, ComponentCommonProps, ResponsiveMedia, Shape, Align, CurrencyDisplayType, } from './types/props.js';
|
|
6
|
+
export { default as useCountDown } from './hooks/useCountDown.js';
|
|
7
|
+
export { useDraggableScroll } from './hooks/useDraggableScroll.js';
|
|
8
|
+
export { useExposure } from './hooks/useExposure.js';
|
|
9
|
+
export { useGridRowCount } from './hooks/useGridRowCount.js';
|
|
10
|
+
export { useIntersectionObserverDelay } from './hooks/useIntersectionObserver.js';
|
|
11
|
+
export { useRollout } from './hooks/useRollout.js';
|
|
12
|
+
export { useViewItemList } from './hooks/useViewItemList.js';
|
|
13
|
+
export { cn, getLocalizedPath, noop } from './helpers/index.js';
|
|
14
|
+
export { formatPrice, languageTerritory, PRICE_SYMBOL } from './helpers/index.js';
|
package/dist/cjs/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var R=Object.create;var m=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var T=Object.getOwnPropertyNames;var k=Object.getPrototypeOf,D=Object.prototype.hasOwnProperty;var E=(e,o)=>{for(var r in o)m(e,r,{get:o[r],enumerable:!0})},a=(e,o,r,u)=>{if(o&&typeof o=="object"||typeof o=="function")for(let s of T(o))!D.call(e,s)&&s!==r&&m(e,s,{get:()=>o[s],enumerable:!(u=b(o,s))||u.enumerable});return e},f=(e,o,r)=>(a(e,o,"default"),r&&a(r,o,"default")),I=(e,o,r)=>(r=e!=null?R(k(e)):{},a(o||!e||!e.__esModule?m(r,"default",{value:e,enumerable:!0}):r,e)),h=e=>a(m({},"__esModule",{value:!0}),e);var i={};E(i,{PRICE_SYMBOL:()=>p.PRICE_SYMBOL,buildTrackingRef:()=>n.buildTrackingRef,cn:()=>t.cn,formatPrice:()=>p.formatPrice,gaTrack:()=>x.gaTrack,getLocalizedPath:()=>t.getLocalizedPath,languageTerritory:()=>p.languageTerritory,noop:()=>t.noop,trackUrlRef:()=>n.trackUrlRef,useCountDown:()=>l.default,useDraggableScroll:()=>c.useDraggableScroll,useExposure:()=>d.useExposure,useGridRowCount:()=>g.useGridRowCount,useIntersectionObserverDelay:()=>y.useIntersectionObserverDelay,useRollout:()=>C.useRollout,useViewItemList:()=>P.useViewItemList});module.exports=h(i);f(i,require("./components/index.js"),module.exports);var x=require("./shared/track.js"),n=require("./shared/trackUrlRef.js"),l=I(require("./hooks/useCountDown.js")),c=require("./hooks/useDraggableScroll.js"),d=require("./hooks/useExposure.js"),g=require("./hooks/useGridRowCount.js"),y=require("./hooks/useIntersectionObserver.js"),C=require("./hooks/useRollout.js"),P=require("./hooks/useViewItemList.js"),t=require("./helpers/index.js"),p=require("./helpers/index.js");
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/cjs/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 { trackUrlRef, buildTrackingRef } from './shared/trackUrlRef.js'\nexport type { ExposureParams, OnExposureCallback } from './biz-components/AiuiProvider/index.js'\n"],
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": ["src_exports", "__export", "__toCommonJS", "__reExport", "import_track", "import_trackUrlRef"]
|
|
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\n// \u516C\u5F00\u5BFC\u51FA\u6838\u5FC3\u5171\u4EAB\u7C7B\u578B\uFF08\u4F9B Registry \u5206\u53D1\u7684 biz-components \u6D88\u8D39\u8005\u4F7F\u7528\uFF09\nexport type {\n Media,\n Theme,\n Img,\n Video,\n ContainerProps,\n ComponentCommonProps,\n ResponsiveMedia,\n Shape,\n Align,\n CurrencyDisplayType,\n} from './types/props.js'\n\n// \u516C\u5F00\u5BFC\u51FA\u5168\u91CF hooks\uFF08\u4F9B Registry \u5206\u53D1\u7684 biz-components \u6D88\u8D39\u8005\u4F7F\u7528\uFF09\nexport { default as useCountDown } from './hooks/useCountDown.js'\nexport { useDraggableScroll } from './hooks/useDraggableScroll.js'\nexport { useExposure } from './hooks/useExposure.js'\nexport { useGridRowCount } from './hooks/useGridRowCount.js'\nexport { useIntersectionObserverDelay } from './hooks/useIntersectionObserver.js'\nexport { useRollout } from './hooks/useRollout.js'\nexport { useViewItemList } from './hooks/useViewItemList.js'\n\n// \u516C\u5F00\u5BFC\u51FA helpers\uFF08\u4F9B Registry \u5206\u53D1\u7684 biz-components \u6D88\u8D39\u8005\u4F7F\u7528\uFF09\nexport { cn, getLocalizedPath, noop } from './helpers/index.js'\nexport { formatPrice, languageTerritory, PRICE_SYMBOL } from './helpers/index.js'\n"],
|
|
5
|
+
"mappings": "wmBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,uiBAAAE,EAAAF,GAAAG,EAAAH,EAAc,iCAAd,gBACA,IAAAI,EAAwB,6BACxBC,EAA8C,mCAkB9CC,EAAwC,sCACxCC,EAAmC,yCACnCC,EAA4B,kCAC5BC,EAAgC,sCAChCC,EAA6C,8CAC7CC,EAA2B,iCAC3BC,EAAgC,sCAGhCC,EAA2C,8BAC3CA,EAA6D",
|
|
6
|
+
"names": ["src_exports", "__export", "__toCommonJS", "__reExport", "import_track", "import_trackUrlRef", "import_useCountDown", "import_useDraggableScroll", "import_useExposure", "import_useGridRowCount", "import_useIntersectionObserver", "import_useRollout", "import_useViewItemList", "import_helpers"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export interface ProductGridProps {
|
|
3
|
+
children: React.ReactNode;
|
|
4
|
+
maxVisible?: number;
|
|
5
|
+
showMoreText?: string;
|
|
6
|
+
showLessText?: string;
|
|
7
|
+
animated?: boolean;
|
|
8
|
+
className?: string;
|
|
9
|
+
}
|
|
10
|
+
declare const AccessoriesProductGrid: React.ForwardRefExoticComponent<ProductGridProps & React.RefAttributes<HTMLDivElement>>;
|
|
11
|
+
export default AccessoriesProductGrid;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use client";import{jsx as t,jsxs as x}from"react/jsx-runtime";import*as s from"react";import{cn as a}from"../../../../helpers/index.js";import h from"../../../../components/button.js";const d=s.forwardRef(({children:c,maxVisible:o=8,showMoreText:n="Show more",showLessText:l="Show less",animated:m=!0,className:p},u)=>{const[r,f]=s.useState(!1),e=s.Children.toArray(c),i=e.length>o,g=i&&!r?e.slice(0,o):e;return x("div",{ref:u,className:a("flex flex-col gap-6",p),children:[t("div",{className:a("laptop:grid-cols-3 desktop:grid-cols-4 grid grid-cols-2 gap-4",m&&"transition-all duration-500 ease-in-out"),children:g}),i&&t("div",{className:"flex justify-center",children:t(h,{variant:"link",size:"base",onClick:()=>f(v=>!v),children:r?l:n})})]})});d.displayName="AccessoriesProductGrid";var w=d;export{w as default};
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
package/dist/esm/biz-components/AccessoriesShelf/components/AccessoriesProductGrid/index.js.map
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../src/biz-components/AccessoriesShelf/components/AccessoriesProductGrid/index.tsx"],
|
|
4
|
+
"sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport { cn } from '../../../../helpers/index.js'\nimport Button from '../../../../components/button.js'\n\nexport interface ProductGridProps {\n children: React.ReactNode\n maxVisible?: number\n showMoreText?: string\n showLessText?: string\n animated?: boolean\n className?: string\n}\n\nconst AccessoriesProductGrid = React.forwardRef<HTMLDivElement, ProductGridProps>(\n (\n { children, maxVisible = 8, showMoreText = 'Show more', showLessText = 'Show less', animated = true, className },\n ref\n ) => {\n const [expanded, setExpanded] = React.useState(false)\n const items = React.Children.toArray(children)\n const hasMore = items.length > maxVisible\n const visibleItems = hasMore && !expanded ? items.slice(0, maxVisible) : items\n\n return (\n <div ref={ref} className={cn('flex flex-col gap-6', className)}>\n <div\n className={cn(\n 'laptop:grid-cols-3 desktop:grid-cols-4 grid grid-cols-2 gap-4',\n animated && 'transition-all duration-500 ease-in-out'\n )}\n >\n {visibleItems}\n </div>\n {hasMore && (\n <div className=\"flex justify-center\">\n <Button variant=\"link\" size=\"base\" onClick={() => setExpanded(prev => !prev)}>\n {expanded ? showLessText : showMoreText}\n </Button>\n </div>\n )}\n </div>\n )\n }\n)\n\nAccessoriesProductGrid.displayName = 'AccessoriesProductGrid'\n\nexport default AccessoriesProductGrid\n"],
|
|
5
|
+
"mappings": "aA0BM,OACE,OAAAA,EADF,QAAAC,MAAA,oBAxBN,UAAYC,MAAW,QACvB,OAAS,MAAAC,MAAU,+BACnB,OAAOC,MAAY,mCAWnB,MAAMC,EAAyBH,EAAM,WACnC,CACE,CAAE,SAAAI,EAAU,WAAAC,EAAa,EAAG,aAAAC,EAAe,YAAa,aAAAC,EAAe,YAAa,SAAAC,EAAW,GAAM,UAAAC,CAAU,EAC/GC,IACG,CACH,KAAM,CAACC,EAAUC,CAAW,EAAIZ,EAAM,SAAS,EAAK,EAC9Ca,EAAQb,EAAM,SAAS,QAAQI,CAAQ,EACvCU,EAAUD,EAAM,OAASR,EACzBU,EAAeD,GAAW,CAACH,EAAWE,EAAM,MAAM,EAAGR,CAAU,EAAIQ,EAEzE,OACEd,EAAC,OAAI,IAAKW,EAAK,UAAWT,EAAG,sBAAuBQ,CAAS,EAC3D,UAAAX,EAAC,OACC,UAAWG,EACT,gEACAO,GAAY,yCACd,EAEC,SAAAO,EACH,EACCD,GACChB,EAAC,OAAI,UAAU,sBACb,SAAAA,EAACI,EAAA,CAAO,QAAQ,OAAO,KAAK,OAAO,QAAS,IAAMU,EAAYI,GAAQ,CAACA,CAAI,EACxE,SAAAL,EAAWJ,EAAeD,EAC7B,EACF,GAEJ,CAEJ,CACF,EAEAH,EAAuB,YAAc,yBAErC,IAAOc,EAAQd",
|
|
6
|
+
"names": ["jsx", "jsxs", "React", "cn", "Button", "AccessoriesProductGrid", "children", "maxVisible", "showMoreText", "showLessText", "animated", "className", "ref", "expanded", "setExpanded", "items", "hasMore", "visibleItems", "prev", "AccessoriesProductGrid_default"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import type { AccessoryProductCardProps, AccessoryProductData, AccessoryCardSemanticName, AccessoryCopyConfig } from './types.js';
|
|
3
|
+
export type { AccessoryProductCardProps, AccessoryProductData, AccessoryCardSemanticName, AccessoryCopyConfig };
|
|
4
|
+
/**
|
|
5
|
+
* AccessoryProductCard - 配件卡片(UI 组件)
|
|
6
|
+
*
|
|
7
|
+
* 组件职责(UI 层):
|
|
8
|
+
* - 渲染产品图(1:1 object-contain)
|
|
9
|
+
* - 渲染标题、描述、tags
|
|
10
|
+
* - 渲染现价 + 原价(删除线)+ 会员价(下方小字)
|
|
11
|
+
* - 渲染加购按钮及 Add / Added(n) / Unavailable 状态
|
|
12
|
+
* - Hover 效果(卡片背景变白 + 阴影,PC 端)
|
|
13
|
+
* - Loading 状态展示
|
|
14
|
+
*
|
|
15
|
+
* 业务职责(业务端负责):
|
|
16
|
+
* - 获取产品数据、计算价格
|
|
17
|
+
* - 维护 addedQuantity、isLoading 状态
|
|
18
|
+
* - 实现 onAddToCart 逻辑(调用购物车 API)
|
|
19
|
+
* - 库存检查后将 quantityAvailable 传入
|
|
20
|
+
*/
|
|
21
|
+
declare const AccessoryProductCard: React.ForwardRefExoticComponent<AccessoryProductCardProps & React.RefAttributes<HTMLDivElement>>;
|
|
22
|
+
export { AccessoryProductCard };
|
|
23
|
+
export default AccessoryProductCard;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use client";import{Fragment as j,jsx as a,jsxs as l}from"react/jsx-runtime";import*as x from"react";import{cn as i}from"../../../../helpers/index.js";import{Badge as H,Card as R,CardContent as q,Picture as E,Text as o,Heading as O,Button as U}from"../../../../components/index.js";const b=x.forwardRef(({product:e,addedQuantity:m=0,maxQuantity:P,isLoading:f=!1,showTags:k=!0,showOriginalPrice:C=!0,showMemberPrice:h=!0,onProductClick:c,onAddToCart:A,className:L,classNames:t,copy:r},N)=>{const g=P??e.quantityAvailable??void 0,s=!e.availableForSale,T=!s&&g!=null&&m>=g,w=s||T,y=m>0,S=r?.addLabel??"Add",B=r?.addedLabel??"in Cart",D=r?.unavailableLabel??"Unavailable",M=r?.memberPriceLabel??"Member price",$=r?.plusMemberPriceLabel??"Plus member price",u=s?D:y?`${m} ${B}`:S,z=e.memberPriceType==="plus-member"?$:M,d=e.name,p=e.description,F=e.image;return a(R,{ref:N,className:i("rounded-card desktop:p-6 group flex flex-col border-none p-4","bg-container-primary transition-colors duration-200","hover:bg-white",y&&"bg-white",L,t?.root),children:l(q,{className:"flex flex-1 flex-col gap-3 p-0",children:[a("a",{onClick:c?()=>c(e):void 0,href:!c&&e.listingLink?e.listingLink:void 0,rel:"noreferrer",className:i("laptop:size-[196px] mx-auto block size-[138px] overflow-hidden",c||e.listingLink?"cursor-pointer":"cursor-default",t?.image),"aria-label":d,children:a(E,{source:F,alt:d,className:"aspect-square w-full mix-blend-multiply",imgClassName:"w-full h-full object-contain"})}),l("div",{className:"flex flex-1 flex-col gap-4",children:[k&&e.tags&&e.tags.length>0&&a("div",{className:i("flex flex-wrap items-center gap-1",t?.tags),children:e.tags.map((n,v)=>n?.label?a(H,{size:"sm",variant:n.variant||"outline",promotionalType:n.promotionalType,children:n.label},v):x.isValidElement(n)&&a(x.Fragment,{children:n},v))}),l("div",{className:"flex flex-col gap-1",children:[a(O,{as:"h2",className:i("lg-desktop:text-[18px] text-info-primary line-clamp-3 text-[16px] font-bold leading-[1.2] tracking-[-0.64px]",t?.title),children:d}),p&&a(o,{as:"p",className:i("lg-desktop:text-[18px] text-info-tertiary line-clamp-2 text-[14px] font-bold leading-[1.4] tracking-[-0.28px]",t?.description),children:p})]}),l("div",{className:i("mt-auto flex flex-col gap-2",t?.priceArea),children:[l("div",{children:[a("div",{className:"flex flex-wrap items-baseline gap-1",children:s?a(o,{as:"p",className:i("lg-desktop:text-[24px] text-info-tertiary text-[20px] font-bold leading-[1.2] tracking-[-0.8px]",t?.currentPrice),children:r?.outOfStockLabel??"Sold Out"}):l(j,{children:[a(o,{as:"p",className:i("lg-desktop:text-[24px] text-info-primary text-[20px] font-bold leading-[1.2] tracking-[-0.8px]",t?.currentPrice),children:e.price}),C&&e.originalPrice&&a(o,{as:"p",className:i("text-info-tertiary text-[16px] font-bold leading-tight tracking-[-0.32px] line-through",t?.originalPrice),children:e.originalPrice})]})}),h&&!s&&e.memberPriceNote&&l(o,{as:"p",className:i("lg-desktop:text-[18px] text-marketing-1 text-[14px] font-bold leading-tight tracking-[-0.24px]",t?.memberPriceNote),children:[z," ",a("span",{className:"text-marketing-1",children:e.memberPriceNote})]})]}),a("div",{className:i(t?.buttonGroup),children:a(U,{variant:"primary",size:"lg",loading:f,disabled:w&&!f,onClick:()=>A?.(e),className:i("w-full",t?.addButton),"data-headless-type-name":"AccessoryShelf#ProductCard","data-headless-sku":e.sku,"data-headless-title-desc-button":`${d}#${p??""}#${u}`,children:u})})]})]})]})})});b.displayName="AccessoryShelf.ProductCard";var V=b;export{b as AccessoryProductCard,V as default};
|
|
2
|
+
//# sourceMappingURL=ProductCard.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../src/biz-components/AccessoriesShelf/components/AccessoryShelf/ProductCard.tsx"],
|
|
4
|
+
"sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport { cn } from '../../../../helpers/index.js'\nimport { Badge, Card, CardContent, Picture, Text, Heading, Button } from '../../../../components/index.js'\nimport type {\n AccessoryProductCardProps,\n AccessoryProductData,\n AccessoryCardSemanticName,\n AccessoryCopyConfig,\n} from './types.js'\n\nexport type { AccessoryProductCardProps, AccessoryProductData, AccessoryCardSemanticName, AccessoryCopyConfig }\n\n/**\n * AccessoryProductCard - \u914D\u4EF6\u5361\u7247\uFF08UI \u7EC4\u4EF6\uFF09\n *\n * \u7EC4\u4EF6\u804C\u8D23\uFF08UI \u5C42\uFF09\uFF1A\n * - \u6E32\u67D3\u4EA7\u54C1\u56FE\uFF081:1 object-contain\uFF09\n * - \u6E32\u67D3\u6807\u9898\u3001\u63CF\u8FF0\u3001tags\n * - \u6E32\u67D3\u73B0\u4EF7 + \u539F\u4EF7\uFF08\u5220\u9664\u7EBF\uFF09+ \u4F1A\u5458\u4EF7\uFF08\u4E0B\u65B9\u5C0F\u5B57\uFF09\n * - \u6E32\u67D3\u52A0\u8D2D\u6309\u94AE\u53CA Add / Added(n) / Unavailable \u72B6\u6001\n * - Hover \u6548\u679C\uFF08\u5361\u7247\u80CC\u666F\u53D8\u767D + \u9634\u5F71\uFF0CPC \u7AEF\uFF09\n * - Loading \u72B6\u6001\u5C55\u793A\n *\n * \u4E1A\u52A1\u804C\u8D23\uFF08\u4E1A\u52A1\u7AEF\u8D1F\u8D23\uFF09\uFF1A\n * - \u83B7\u53D6\u4EA7\u54C1\u6570\u636E\u3001\u8BA1\u7B97\u4EF7\u683C\n * - \u7EF4\u62A4 addedQuantity\u3001isLoading \u72B6\u6001\n * - \u5B9E\u73B0 onAddToCart \u903B\u8F91\uFF08\u8C03\u7528\u8D2D\u7269\u8F66 API\uFF09\n * - \u5E93\u5B58\u68C0\u67E5\u540E\u5C06 quantityAvailable \u4F20\u5165\n */\nconst AccessoryProductCard = React.forwardRef<HTMLDivElement, AccessoryProductCardProps>(\n (\n {\n product,\n addedQuantity = 0,\n maxQuantity,\n isLoading = false,\n showTags = true,\n showOriginalPrice = true,\n showMemberPrice = true,\n onProductClick,\n onAddToCart,\n className,\n classNames,\n copy,\n },\n ref\n ) => {\n // \u5E93\u5B58\u9650\u5236\uFF1A\u4F18\u5148\u53D6 maxQuantity\uFF0C\u5176\u6B21\u53D6 product.quantityAvailable\n const resolvedMax = maxQuantity ?? product.quantityAvailable ?? undefined\n const isUnavailable = !product.availableForSale\n const isAtLimit = !isUnavailable && resolvedMax != null && addedQuantity >= resolvedMax\n const isDisabled = isUnavailable || isAtLimit\n const isAdded = addedQuantity > 0\n\n // \u6587\u6848\n const addLabel = copy?.addLabel ?? 'Add'\n const addedLabel = copy?.addedLabel ?? 'in Cart'\n const unavailableLabel = copy?.unavailableLabel ?? 'Unavailable'\n const memberPriceLabel = copy?.memberPriceLabel ?? 'Member price'\n const plusMemberPriceLabel = copy?.plusMemberPriceLabel ?? 'Plus member price'\n\n const buttonLabel = isUnavailable ? unavailableLabel : isAdded ? `${addedQuantity} ${addedLabel}` : addLabel\n\n const memberLabel = product.memberPriceType === 'plus-member' ? plusMemberPriceLabel : memberPriceLabel\n\n const displayTitle = product.name\n const displayDescription = product.description\n const displayImage = product.image\n\n return (\n <Card\n ref={ref}\n className={cn(\n 'rounded-card desktop:p-6 group flex flex-col border-none p-4',\n 'bg-container-primary transition-colors duration-200',\n 'hover:bg-white',\n isAdded && 'bg-white',\n className,\n classNames?.root\n )}\n >\n <CardContent className=\"flex flex-1 flex-col gap-3 p-0\">\n {/* \u4EA7\u54C1\u56FE 1:1 */}\n <a\n onClick={onProductClick ? () => onProductClick(product) : undefined}\n href={!onProductClick && product.listingLink ? product.listingLink : undefined}\n rel=\"noreferrer\"\n className={cn(\n 'laptop:size-[196px] mx-auto block size-[138px] overflow-hidden',\n onProductClick || product.listingLink ? 'cursor-pointer' : 'cursor-default',\n classNames?.image\n )}\n aria-label={displayTitle}\n >\n <Picture\n source={displayImage}\n alt={displayTitle}\n className=\"aspect-square w-full mix-blend-multiply\"\n imgClassName=\"w-full h-full object-contain\"\n />\n </a>\n\n {/* \u5185\u5BB9\u533A */}\n <div className=\"flex flex-1 flex-col gap-4\">\n {/* Tags */}\n {showTags && product.tags && product.tags.length > 0 && (\n <div className={cn('flex flex-wrap items-center gap-1', classNames?.tags)}>\n {product.tags.map((tag: any, index) =>\n (tag as any)?.label ? (\n <Badge\n key={index}\n size=\"sm\"\n variant={(tag.variant as any) || 'outline'}\n promotionalType={tag.promotionalType}\n >\n {tag.label}\n </Badge>\n ) : (\n React.isValidElement(tag) && <React.Fragment key={index}>{tag}</React.Fragment>\n )\n )}\n </div>\n )}\n\n {/* \u6807\u9898 + \u63CF\u8FF0 */}\n <div className=\"flex flex-col gap-1\">\n <Heading\n as=\"h2\"\n className={cn(\n 'lg-desktop:text-[18px] text-info-primary line-clamp-3 text-[16px] font-bold leading-[1.2] tracking-[-0.64px]',\n classNames?.title\n )}\n >\n {displayTitle}\n </Heading>\n {displayDescription && (\n <Text\n as=\"p\"\n className={cn(\n 'lg-desktop:text-[18px] text-info-tertiary line-clamp-2 text-[14px] font-bold leading-[1.4] tracking-[-0.28px]',\n classNames?.description\n )}\n >\n {displayDescription}\n </Text>\n )}\n </div>\n\n {/* \u4EF7\u683C + \u6309\u94AE */}\n <div className={cn('mt-auto flex flex-col gap-2', classNames?.priceArea)}>\n <div>\n {/* \u73B0\u4EF7 + \u539F\u4EF7\uFF08\u5220\u9664\u7EBF\uFF09 */}\n <div className=\"flex flex-wrap items-baseline gap-1\">\n {isUnavailable ? (\n <Text\n as=\"p\"\n className={cn(\n 'lg-desktop:text-[24px] text-info-tertiary text-[20px] font-bold leading-[1.2] tracking-[-0.8px]',\n classNames?.currentPrice\n )}\n >\n {copy?.outOfStockLabel ?? 'Sold Out'}\n </Text>\n ) : (\n <>\n <Text\n as=\"p\"\n className={cn(\n 'lg-desktop:text-[24px] text-info-primary text-[20px] font-bold leading-[1.2] tracking-[-0.8px]',\n classNames?.currentPrice\n )}\n >\n {product.price}\n </Text>\n {showOriginalPrice && product.originalPrice && (\n <Text\n as=\"p\"\n className={cn(\n 'text-info-tertiary text-[16px] font-bold leading-tight tracking-[-0.32px] line-through',\n classNames?.originalPrice\n )}\n >\n {product.originalPrice}\n </Text>\n )}\n </>\n )}\n </div>\n\n {/* \u4F1A\u5458\u4EF7\u5C0F\u5B57 */}\n {showMemberPrice && !isUnavailable && product.memberPriceNote && (\n <Text\n as=\"p\"\n className={cn(\n 'lg-desktop:text-[18px] text-marketing-1 text-[14px] font-bold leading-tight tracking-[-0.24px]',\n classNames?.memberPriceNote\n )}\n >\n {memberLabel} <span className=\"text-marketing-1\">{product.memberPriceNote}</span>\n </Text>\n )}\n </div>\n\n {/* \u52A0\u8D2D\u6309\u94AE\uFF08\u5355\u4E00\uFF09 */}\n <div className={cn(classNames?.buttonGroup)}>\n <Button\n variant=\"primary\"\n size=\"lg\"\n loading={isLoading}\n disabled={isDisabled && !isLoading}\n onClick={() => onAddToCart?.(product)}\n className={cn('w-full', classNames?.addButton)}\n data-headless-type-name=\"AccessoryShelf#ProductCard\"\n data-headless-sku={product.sku}\n data-headless-title-desc-button={`${displayTitle}#${displayDescription ?? ''}#${buttonLabel}`}\n >\n {buttonLabel}\n </Button>\n </div>\n </div>\n </div>\n </CardContent>\n </Card>\n )\n }\n)\n\nAccessoryProductCard.displayName = 'AccessoryShelf.ProductCard'\n\nexport { AccessoryProductCard }\nexport default AccessoryProductCard\n"],
|
|
5
|
+
"mappings": "aAgGY,OAsEQ,YAAAA,EAtER,OAAAC,EA+BA,QAAAC,MA/BA,oBA9FZ,UAAYC,MAAW,QACvB,OAAS,MAAAC,MAAU,+BACnB,OAAS,SAAAC,EAAO,QAAAC,EAAM,eAAAC,EAAa,WAAAC,EAAS,QAAAC,EAAM,WAAAC,EAAS,UAAAC,MAAc,kCA2BzE,MAAMC,EAAuBT,EAAM,WACjC,CACE,CACE,QAAAU,EACA,cAAAC,EAAgB,EAChB,YAAAC,EACA,UAAAC,EAAY,GACZ,SAAAC,EAAW,GACX,kBAAAC,EAAoB,GACpB,gBAAAC,EAAkB,GAClB,eAAAC,EACA,YAAAC,EACA,UAAAC,EACA,WAAAC,EACA,KAAAC,CACF,EACAC,IACG,CAEH,MAAMC,EAAcX,GAAeF,EAAQ,mBAAqB,OAC1Dc,EAAgB,CAACd,EAAQ,iBACzBe,EAAY,CAACD,GAAiBD,GAAe,MAAQZ,GAAiBY,EACtEG,EAAaF,GAAiBC,EAC9BE,EAAUhB,EAAgB,EAG1BiB,EAAWP,GAAM,UAAY,MAC7BQ,EAAaR,GAAM,YAAc,UACjCS,EAAmBT,GAAM,kBAAoB,cAC7CU,EAAmBV,GAAM,kBAAoB,eAC7CW,EAAuBX,GAAM,sBAAwB,oBAErDY,EAAcT,EAAgBM,EAAmBH,EAAU,GAAGhB,CAAa,IAAIkB,CAAU,GAAKD,EAE9FM,EAAcxB,EAAQ,kBAAoB,cAAgBsB,EAAuBD,EAEjFI,EAAezB,EAAQ,KACvB0B,EAAqB1B,EAAQ,YAC7B2B,EAAe3B,EAAQ,MAE7B,OACEZ,EAACK,EAAA,CACC,IAAKmB,EACL,UAAWrB,EACT,+DACA,sDACA,iBACA0B,GAAW,WACXR,EACAC,GAAY,IACd,EAEA,SAAArB,EAACK,EAAA,CAAY,UAAU,iCAErB,UAAAN,EAAC,KACC,QAASmB,EAAiB,IAAMA,EAAeP,CAAO,EAAI,OAC1D,KAAM,CAACO,GAAkBP,EAAQ,YAAcA,EAAQ,YAAc,OACrE,IAAI,aACJ,UAAWT,EACT,iEACAgB,GAAkBP,EAAQ,YAAc,iBAAmB,iBAC3DU,GAAY,KACd,EACA,aAAYe,EAEZ,SAAArC,EAACO,EAAA,CACC,OAAQgC,EACR,IAAKF,EACL,UAAU,0CACV,aAAa,+BACf,EACF,EAGApC,EAAC,OAAI,UAAU,6BAEZ,UAAAe,GAAYJ,EAAQ,MAAQA,EAAQ,KAAK,OAAS,GACjDZ,EAAC,OAAI,UAAWG,EAAG,oCAAqCmB,GAAY,IAAI,EACrE,SAAAV,EAAQ,KAAK,IAAI,CAAC4B,EAAUC,IAC1BD,GAAa,MACZxC,EAACI,EAAA,CAEC,KAAK,KACL,QAAUoC,EAAI,SAAmB,UACjC,gBAAiBA,EAAI,gBAEpB,SAAAA,EAAI,OALAC,CAMP,EAEAvC,EAAM,eAAesC,CAAG,GAAKxC,EAACE,EAAM,SAAN,CAA4B,SAAAsC,GAARC,CAAY,CAElE,EACF,EAIFxC,EAAC,OAAI,UAAU,sBACb,UAAAD,EAACS,EAAA,CACC,GAAG,KACH,UAAWN,EACT,+GACAmB,GAAY,KACd,EAEC,SAAAe,EACH,EACCC,GACCtC,EAACQ,EAAA,CACC,GAAG,IACH,UAAWL,EACT,gHACAmB,GAAY,WACd,EAEC,SAAAgB,EACH,GAEJ,EAGArC,EAAC,OAAI,UAAWE,EAAG,8BAA+BmB,GAAY,SAAS,EACrE,UAAArB,EAAC,OAEC,UAAAD,EAAC,OAAI,UAAU,sCACZ,SAAA0B,EACC1B,EAACQ,EAAA,CACC,GAAG,IACH,UAAWL,EACT,kGACAmB,GAAY,YACd,EAEC,SAAAC,GAAM,iBAAmB,WAC5B,EAEAtB,EAAAF,EAAA,CACE,UAAAC,EAACQ,EAAA,CACC,GAAG,IACH,UAAWL,EACT,iGACAmB,GAAY,YACd,EAEC,SAAAV,EAAQ,MACX,EACCK,GAAqBL,EAAQ,eAC5BZ,EAACQ,EAAA,CACC,GAAG,IACH,UAAWL,EACT,yFACAmB,GAAY,aACd,EAEC,SAAAV,EAAQ,cACX,GAEJ,EAEJ,EAGCM,GAAmB,CAACQ,GAAiBd,EAAQ,iBAC5CX,EAACO,EAAA,CACC,GAAG,IACH,UAAWL,EACT,iGACAmB,GAAY,eACd,EAEC,UAAAc,EAAY,IAACpC,EAAC,QAAK,UAAU,mBAAoB,SAAAY,EAAQ,gBAAgB,GAC5E,GAEJ,EAGAZ,EAAC,OAAI,UAAWG,EAAGmB,GAAY,WAAW,EACxC,SAAAtB,EAACU,EAAA,CACC,QAAQ,UACR,KAAK,KACL,QAASK,EACT,SAAUa,GAAc,CAACb,EACzB,QAAS,IAAMK,IAAcR,CAAO,EACpC,UAAWT,EAAG,SAAUmB,GAAY,SAAS,EAC7C,0BAAwB,6BACxB,oBAAmBV,EAAQ,IAC3B,kCAAiC,GAAGyB,CAAY,IAAIC,GAAsB,EAAE,IAAIH,CAAW,GAE1F,SAAAA,EACH,EACF,GACF,GACF,GACF,EACF,CAEJ,CACF,EAEAxB,EAAqB,YAAc,6BAGnC,IAAO+B,EAAQ/B",
|
|
6
|
+
"names": ["Fragment", "jsx", "jsxs", "React", "cn", "Badge", "Card", "CardContent", "Picture", "Text", "Heading", "Button", "AccessoryProductCard", "product", "addedQuantity", "maxQuantity", "isLoading", "showTags", "showOriginalPrice", "showMemberPrice", "onProductClick", "onAddToCart", "className", "classNames", "copy", "ref", "resolvedMax", "isUnavailable", "isAtLimit", "isDisabled", "isAdded", "addLabel", "addedLabel", "unavailableLabel", "memberPriceLabel", "plusMemberPriceLabel", "buttonLabel", "memberLabel", "displayTitle", "displayDescription", "displayImage", "tag", "index", "ProductCard_default"]
|
|
7
|
+
}
|