@anker-in/headless-ui 1.2.3-alpha.1778583232121 → 1.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/biz-components/AccordionCards/index.js +1 -1
- package/dist/cjs/biz-components/AccordionCards/index.js.map +3 -3
- 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.js +1 -1
- package/dist/cjs/biz-components/ActivitySchedule/index.js.map +3 -3
- 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.js +1 -1
- package/dist/cjs/biz-components/AnchorNavigation/index.js.map +3 -3
- 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/Category/SwiperCategory.js +1 -1
- package/dist/cjs/biz-components/Category/SwiperCategory.js.map +3 -3
- 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/Evaluate/index.js +1 -1
- package/dist/cjs/biz-components/Evaluate/index.js.map +3 -3
- 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.js +1 -1
- package/dist/cjs/biz-components/Faq/Faq.js.map +2 -2
- package/dist/cjs/biz-components/Faq/types.d.ts +1 -0
- package/dist/cjs/biz-components/Faq/types.js +1 -1
- package/dist/cjs/biz-components/Faq/types.js.map +1 -1
- package/dist/cjs/biz-components/FeatureCards/FeatureCards.js +1 -1
- package/dist/cjs/biz-components/FeatureCards/FeatureCards.js.map +3 -3
- package/dist/cjs/biz-components/GiftBox/index.js +1 -1
- package/dist/cjs/biz-components/GiftBox/index.js.map +2 -2
- package/dist/cjs/biz-components/GiftShelf/index.js +1 -1
- package/dist/cjs/biz-components/GiftShelf/index.js.map +3 -3
- package/dist/cjs/biz-components/GiftTierShelf/index.js +1 -1
- package/dist/cjs/biz-components/GiftTierShelf/index.js.map +3 -3
- package/dist/cjs/biz-components/Graphic/index.js +1 -1
- package/dist/cjs/biz-components/Graphic/index.js.map +3 -3
- package/dist/cjs/biz-components/GraphicOverlay/GraphicOverlay.js +1 -1
- package/dist/cjs/biz-components/GraphicOverlay/GraphicOverlay.js.map +3 -3
- 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 +1 -8
- 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 +0 -1
- 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.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/ImageWithText/ImageWithText.js +1 -1
- package/dist/cjs/biz-components/ImageWithText/ImageWithText.js.map +3 -3
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/index.js +1 -1
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/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.js +1 -1
- package/dist/cjs/biz-components/Listing/components/PurchaseBar/index.js.map +3 -3
- package/dist/cjs/biz-components/Listing/components/PurchaseBar/types.d.ts +0 -2
- package/dist/cjs/biz-components/Listing/components/PurchaseBar/types.js +1 -1
- package/dist/cjs/biz-components/Listing/components/PurchaseBar/types.js.map +1 -1
- package/dist/cjs/biz-components/LotteryShared/ErrorModal.d.ts +0 -4
- 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 +0 -9
- package/dist/cjs/biz-components/LotteryShared/types.js.map +2 -2
- package/dist/cjs/biz-components/Marquee/Marquee.js +1 -1
- package/dist/cjs/biz-components/Marquee/Marquee.js.map +2 -2
- 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.js +1 -1
- package/dist/cjs/biz-components/MediaPlayerMulti/index.js.map +3 -3
- 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.js +1 -1
- package/dist/cjs/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js.map +3 -3
- 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/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 +5 -62
- 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.js +1 -1
- package/dist/cjs/biz-components/ProductNav/ProductNav.js.map +3 -3
- 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/SecondaryBanner/SecondaryBannerCarousel.d.ts +0 -1
- package/dist/cjs/biz-components/SecondaryBanner/SecondaryBannerCarousel.js +1 -1
- package/dist/cjs/biz-components/SecondaryBanner/SecondaryBannerCarousel.js.map +3 -3
- package/dist/cjs/biz-components/SecondaryBanner/index.d.ts +0 -9
- package/dist/cjs/biz-components/SecondaryBanner/index.js +1 -1
- package/dist/cjs/biz-components/SecondaryBanner/index.js.map +3 -3
- package/dist/cjs/biz-components/ShelfDisplay/shelfDisplayItem.js +1 -1
- package/dist/cjs/biz-components/ShelfDisplay/shelfDisplayItem.js.map +3 -3
- 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/ThreeDCarousel/ThreeDCarousel.js +1 -1
- package/dist/cjs/biz-components/ThreeDCarousel/ThreeDCarousel.js.map +3 -3
- package/dist/cjs/biz-components/Title/index.js +1 -1
- package/dist/cjs/biz-components/Title/index.js.map +3 -3
- package/dist/cjs/biz-components/WheelLottery/index.js +1 -1
- package/dist/cjs/biz-components/WheelLottery/index.js.map +3 -3
- package/dist/cjs/biz-components/index.d.ts +0 -4
- 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/link.js +1 -1
- package/dist/cjs/components/link.js.map +2 -2
- package/dist/cjs/helpers/index.d.ts +1 -1
- package/dist/cjs/helpers/index.js +1 -1
- package/dist/cjs/helpers/index.js.map +2 -2
- package/dist/cjs/helpers/isLexicalEmpty.d.ts +0 -5
- package/dist/cjs/helpers/isLexicalEmpty.js +1 -1
- package/dist/cjs/helpers/isLexicalEmpty.js.map +3 -3
- package/dist/esm/biz-components/AccordionCards/index.js +1 -1
- package/dist/esm/biz-components/AccordionCards/index.js.map +3 -3
- 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.js +1 -1
- package/dist/esm/biz-components/ActivitySchedule/index.js.map +3 -3
- 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.js +1 -1
- package/dist/esm/biz-components/AnchorNavigation/index.js.map +3 -3
- 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/Category/SwiperCategory.js +1 -1
- package/dist/esm/biz-components/Category/SwiperCategory.js.map +3 -3
- 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/Evaluate/index.js +1 -1
- package/dist/esm/biz-components/Evaluate/index.js.map +3 -3
- 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.js +1 -1
- package/dist/esm/biz-components/Faq/Faq.js.map +2 -2
- package/dist/esm/biz-components/Faq/types.d.ts +1 -0
- package/dist/esm/biz-components/FeatureCards/FeatureCards.js +1 -1
- package/dist/esm/biz-components/FeatureCards/FeatureCards.js.map +3 -3
- package/dist/esm/biz-components/GiftBox/index.js +1 -1
- package/dist/esm/biz-components/GiftBox/index.js.map +2 -2
- package/dist/esm/biz-components/GiftShelf/index.js +1 -1
- package/dist/esm/biz-components/GiftShelf/index.js.map +3 -3
- package/dist/esm/biz-components/GiftTierShelf/index.js +1 -1
- package/dist/esm/biz-components/GiftTierShelf/index.js.map +3 -3
- package/dist/esm/biz-components/Graphic/index.js +1 -1
- package/dist/esm/biz-components/Graphic/index.js.map +3 -3
- package/dist/esm/biz-components/GraphicOverlay/GraphicOverlay.js +1 -1
- package/dist/esm/biz-components/GraphicOverlay/GraphicOverlay.js.map +3 -3
- 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 +1 -8
- 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 +0 -1
- 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.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/ImageWithText/ImageWithText.js +1 -1
- package/dist/esm/biz-components/ImageWithText/ImageWithText.js.map +3 -3
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/index.js +1 -1
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/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.js +1 -1
- package/dist/esm/biz-components/Listing/components/PurchaseBar/index.js.map +3 -3
- package/dist/esm/biz-components/Listing/components/PurchaseBar/types.d.ts +0 -2
- package/dist/esm/biz-components/LotteryShared/ErrorModal.d.ts +0 -4
- 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 +0 -9
- package/dist/esm/biz-components/LotteryShared/types.js.map +2 -2
- package/dist/esm/biz-components/Marquee/Marquee.js +1 -1
- package/dist/esm/biz-components/Marquee/Marquee.js.map +2 -2
- package/dist/esm/biz-components/MediaPlayerBase/index.js +1 -1
- package/dist/esm/biz-components/MediaPlayerBase/index.js.map +3 -3
- 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/MemberEquity/index.js +2 -2
- package/dist/esm/biz-components/MemberEquity/index.js.map +3 -3
- 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/NavigationSearch/index.js +2 -2
- package/dist/esm/biz-components/NavigationSearch/index.js.map +3 -3
- 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 +5 -62
- package/dist/esm/biz-components/ProductLottery/types.js.map +2 -2
- 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.js +1 -1
- package/dist/esm/biz-components/PromotionalBar/index.js.map +3 -3
- package/dist/esm/biz-components/SecondaryBanner/SecondaryBannerCarousel.d.ts +0 -1
- package/dist/esm/biz-components/SecondaryBanner/SecondaryBannerCarousel.js +1 -1
- package/dist/esm/biz-components/SecondaryBanner/SecondaryBannerCarousel.js.map +3 -3
- package/dist/esm/biz-components/SecondaryBanner/index.d.ts +0 -9
- package/dist/esm/biz-components/SecondaryBanner/index.js +1 -1
- package/dist/esm/biz-components/SecondaryBanner/index.js.map +3 -3
- package/dist/esm/biz-components/ShelfDisplay/shelfDisplayItem.js +1 -1
- package/dist/esm/biz-components/ShelfDisplay/shelfDisplayItem.js.map +3 -3
- 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/ThreeDCarousel/ThreeDCarousel.js +1 -1
- package/dist/esm/biz-components/ThreeDCarousel/ThreeDCarousel.js.map +3 -3
- package/dist/esm/biz-components/Title/index.js +1 -1
- package/dist/esm/biz-components/Title/index.js.map +3 -3
- package/dist/esm/biz-components/WheelLottery/index.js +1 -1
- package/dist/esm/biz-components/WheelLottery/index.js.map +2 -2
- package/dist/esm/biz-components/index.d.ts +0 -4
- 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/link.js +1 -1
- package/dist/esm/components/link.js.map +2 -2
- package/dist/esm/helpers/index.d.ts +1 -1
- package/dist/esm/helpers/index.js +1 -1
- package/dist/esm/helpers/index.js.map +3 -3
- package/dist/esm/helpers/isLexicalEmpty.d.ts +0 -5
- package/dist/esm/helpers/isLexicalEmpty.js +1 -1
- package/dist/esm/helpers/isLexicalEmpty.js.map +3 -3
- package/package.json +1 -1
- package/style.css +3 -94
- package/dist/cjs/biz-components/HeaderNavigation/MobileTextLinksMenu.d.ts +0 -12
- package/dist/cjs/biz-components/HeaderNavigation/MobileTextLinksMenu.js +0 -2
- package/dist/cjs/biz-components/HeaderNavigation/MobileTextLinksMenu.js.map +0 -7
- package/dist/cjs/biz-components/HeaderNavigation/TextLinksDropdown.d.ts +0 -10
- package/dist/cjs/biz-components/HeaderNavigation/TextLinksDropdown.js +0 -2
- package/dist/cjs/biz-components/HeaderNavigation/TextLinksDropdown.js.map +0 -7
- package/dist/cjs/biz-components/WebPushPopup/index.d.ts +0 -44
- package/dist/cjs/biz-components/WebPushPopup/index.js +0 -2
- package/dist/cjs/biz-components/WebPushPopup/index.js.map +0 -7
- package/dist/cjs/hooks/useEmarsysWebPush.d.ts +0 -111
- package/dist/cjs/hooks/useEmarsysWebPush.js +0 -2
- package/dist/cjs/hooks/useEmarsysWebPush.js.map +0 -7
- package/dist/cjs/hooks/useProductListTrack.d.ts +0 -43
- package/dist/cjs/hooks/useProductListTrack.js +0 -2
- package/dist/cjs/hooks/useProductListTrack.js.map +0 -7
- package/dist/esm/biz-components/HeaderNavigation/MobileTextLinksMenu.d.ts +0 -12
- package/dist/esm/biz-components/HeaderNavigation/MobileTextLinksMenu.js +0 -2
- package/dist/esm/biz-components/HeaderNavigation/MobileTextLinksMenu.js.map +0 -7
- package/dist/esm/biz-components/HeaderNavigation/TextLinksDropdown.d.ts +0 -10
- package/dist/esm/biz-components/HeaderNavigation/TextLinksDropdown.js +0 -2
- package/dist/esm/biz-components/HeaderNavigation/TextLinksDropdown.js.map +0 -7
- package/dist/esm/biz-components/WebPushPopup/index.d.ts +0 -44
- package/dist/esm/biz-components/WebPushPopup/index.js +0 -2
- package/dist/esm/biz-components/WebPushPopup/index.js.map +0 -7
- package/dist/esm/hooks/useEmarsysWebPush.d.ts +0 -111
- package/dist/esm/hooks/useEmarsysWebPush.js +0 -2
- package/dist/esm/hooks/useEmarsysWebPush.js.map +0 -7
- package/dist/esm/hooks/useProductListTrack.d.ts +0 -43
- package/dist/esm/hooks/useProductListTrack.js +0 -2
- package/dist/esm/hooks/useProductListTrack.js.map +0 -7
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/biz-components/index.ts"],
|
|
4
|
-
"sourcesContent": ["export { default as ActivitySchedule } from './ActivitySchedule/index.js'\nexport type { ActivityScheduleProps, ActivityScheduleData, ActivityScheduleItem } from './ActivitySchedule/types.js'\nexport { default as GiftShelf } from './GiftShelf/index.js'\nexport type {\n GiftShelfProps,\n GiftShelfData,\n GiftShelfItem,\n CountdownConfig,\n ResponsiveBackgroundImage as GiftShelfResponsiveBackgroundImage,\n} from './GiftShelf/types.js'\nexport { default as GiftTierShelf } from './GiftTierShelf/index.js'\nexport type { GiftTierShelfProps, GiftTierShelfData, GiftTierItem, GiftTierProduct } from './GiftTierShelf/types.js'\nexport { default as ActivityMechanism } from './ActivityMechanism/index.js'\nexport type {\n ActivityMechanismProps,\n ActivityMechanismItem,\n ActivityMechanismSemanticName,\n ResponsiveBackgroundImage,\n} from './ActivityMechanism/types.js'\nexport { default as BrandEquity } from './BrandEquity/index.js'\nexport { default as MemberEquity } from './MemberEquity/index.js'\nexport { default as Slogan } from './Slogan/index.js'\nexport { default as Title } from './Title/index.js'\nexport { default as Spacer } from './Spacer/index.js'\nexport { default as ShelfDisplay } from './ShelfDisplay/index.js'\nexport { default as Evaluate } from './Evaluate/index.js'\nexport { default as Category } from './Category/index.js'\nexport { default as HeroBanner } from './HeroBanner/index.js'\nexport { default as AccordionCards } from './AccordionCards/index.js'\nexport { default as Graphic } from './Graphic/index.js'\nexport { default as MediaPlayerBase } from './MediaPlayerBase/index.js'\nexport { default as MediaPlayerSticky } from './MediaPlayerSticky/index.js'\nexport { default as MediaPlayerMulti } from './MediaPlayerMulti/index.js'\nexport { default as Marquee } from './Marquee/index.js'\nexport { default as MarqueeReview } from './MarqueeReview/index.js'\nexport type { MarqueeReviewProps, MarqueeReviewData, ReviewItem } from './MarqueeReview/index.js'\nexport { default as WhyChoose } from './WhyChoose/index.js'\nexport { default as Faq } from './Faq/index.js'\nexport { MarqueeItem, MarqueeImageContent, MarqueeTextContent } from './Marquee/index.js'\nexport { default as MultiLayoutGraphicBlock } from './MultiLayoutGraphicBlock/index.js'\nexport type { MultiLayoutGraphicBlockProps } from './MultiLayoutGraphicBlock/index.js'\nexport { default as GraphicAttractionBlock } from './GraphicAttractionBlock/index.js'\nexport type { GraphicAttractionBlockProps } from './GraphicAttractionBlock/index.js'\nexport { default as HeaderNavigation } from './HeaderNavigation/index.js'\nexport { default as FooterNavigation } from './FooterNavigation/index.js'\nexport { default as SearchPage } from './SearchPage/index.js'\nexport type { SearchPageProps } from './SearchPage/types.js'\nexport { IPC_SEARCH_PAGE, SearchPageTabType } from './SearchPage/types.js'\n\nexport { withLayout } from '../shared/Styles.js'\nexport { default as AiuiProvider } from './AiuiProvider/index.js'\nexport { default as Tabs } from './Tabs/index.js'\nexport { default as CreativeModule } from './CreativeModule/index.js'\nexport { default as GraphicOverlay } from './GraphicOverlay/index.js'\nexport { default as Specs } from './Specs/index.js'\nexport { default as TabGroup } from './TabsGroup/index.js'\n\nexport { default as BizProductProvider } from './Listing/BizProductProvider.js'\nexport { default as PurchaseBar } from './Listing/components/PurchaseBar/index.js'\nexport { default as ProductActions } from './Listing/components/PurchaseBar/ProductActions/index.js'\nexport type { ProductActionsProps } from './Listing/components/PurchaseBar/ProductActions/index.js'\nexport { default as ProductCard } from './Listing/components/ProductCard/index.js'\nexport { default as ProductBenefitsTabs } from './Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.js'\nexport { default as ProductBenefits } from './Listing/components/ProductCard/ProductDetail/ProductBenefits/index.js'\nexport { default as ProductHighlight } from './Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js'\nexport { default as ProductFreeGift } from './Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.js'\nexport { default as ProductExchangePurchase } from './Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.js'\nexport { default as ProductOptions } from './Listing/components/ProductCard/ProductDetail/ProductOptions/index.js'\nexport { default as ProductBundle } from './Listing/components/ProductCard/ProductDetail/ProductBundle/index.js'\nexport { default as ProductCoupon } from './Listing/components/ProductCard/ProductDetail/ProductCoupon/index.js'\nexport { default as ProductBanner } from './Listing/components/ProductCard/ProductDetail/ProductBanner/index.js'\nexport { default as ProductGridBox } from './Listing/components/ProductCard/ProductGridBox.js'\nexport { default as ProductGallery } from './Listing/components/ProductCard/ProductGallery/index.js'\nexport { default as ProductDetail } from './Listing/components/ProductCard/ProductDetail/index.js'\nexport { default as ProductSummary } from './Listing/components/ProductCard/ProductSummary/index.js'\nexport { default as BenefitsTab } from './Listing/components/ProductCard/ProductDetail/BenefitsTab.js'\nexport { default as PaidShipping } from './Listing/components/PaidShipping/index.js'\nexport { default as ProductPaidShipping } from './Listing/components/ProductCard/ProductPaidShipping/index.js'\n\nexport { default as GraphicMore } from './GraphicMore/index.js'\nexport { default as Features } from './Features/index.js'\nexport { default as AplusDesc } from './AplusDesc/index.js'\nexport { default as GiftBox } from './GiftBox/index.js'\nexport { default as SelectStore } from './SelectStore/index.js'\nexport { default as DownLoad } from './DownLoad/index.js'\nexport { default as FootCharger } from './FootCharger/index.js'\nexport { default as BrandCardLink } from './BrandCardLink/index.js'\nexport type { BrandCardLinkProps, BrandCardLinkItemProps } from './BrandCardLink/types.js'\n\nexport * as IPRedirect from './IPRedirect/index.js'\n\nexport { default as WheelLottery } from './WheelLottery/index.js'\nexport type {\n WheelLotteryProps,\n WheelLotteryHandle,\n Prize,\n ChanceMethod,\n WinningInfo,\n UserData,\n} from './WheelLottery/types.js'\nexport { default as ProductLottery } from './ProductLottery/index.js'\nexport type { ProductLotteryProps, ProductLotteryHandle, MediaConfig, CtaButtonConfig } from './ProductLottery/types.js'\nexport { default as ProductCompare } from './ProductCompare/index.js'\nexport type { ProductCompareProps, ProductItemData } from './ProductCompare/index.js'\nexport { default as Ksp } from './Ksp/index.js'\nexport type { KspProps, KspData, KspCardItem } from './Ksp/index.js'\nexport { default as ImageTextFeature } from './ImageTextFeature/index.js'\nexport type { ImageTextFeatureProps, ImageTextFeatureItem } from './ImageTextFeature/index.js'\nexport { default as FeatureCards } from './FeatureCards/index.js'\nexport type { FeatureCardsProps, FeatureCardItem } from './FeatureCards/index.js'\nexport { default as FeaturedBlogPosts } from './FeaturedBlogPosts/index.js'\nexport type {\n FeaturedBlogPostsProps,\n FeaturedBlogPostsData,\n FeaturedBlogPostItem,\n FeaturedBlogPostSpan,\n} from './FeaturedBlogPosts/index.js'\nexport { default as ImageWithText } from './ImageWithText/index.js'\nexport type { ImageWithTextProps } from './ImageWithText/index.js'\nexport { default as VideoFeature } from './VideoFeature/index.js'\nexport type { VideoFeatureProps } from './VideoFeature/index.js'\nexport { default as TabsWithMedia } from './TabsWithMedia/index.js'\nexport type { TabsWithMediaProps, TabItem, TimeIndex } from './TabsWithMedia/index.js'\nexport { default as TabWithImage } from './TabWithImage/index.js'\nexport type { TabWithImageProps, TabWithImageDataItem } from './TabWithImage/index.js'\nexport { default as FeatureShowcase } from './FeatureShowcase/index.js'\nexport type { FeatureShowcaseProps, FeatureShowcaseItem } from './FeatureShowcase/index.js'\nexport { default as ProductHero } from './ProductHero/index.js'\nexport type { ProductHeroProps } from './ProductHero/index.js'\nexport { default as SpecsComparison } from './SpecsComparison/index.js'\nexport type {\n SpecsComparisonProps,\n SpecsComparisonMenuItem,\n SpecsComparisonLeftMenuItem,\n} from './SpecsComparison/index.js'\nexport { default as MediaSceneSwitcher } from './MediaSceneSwitcher/index.js'\nexport type { MediaSceneSwitcherProps } from './MediaSceneSwitcher/types.js'\nexport { default as MediaSceneSwitcherV2 } from './MediaSceneSwitcherV2/index.js'\nexport type {\n MediaSceneSwitcherV2Props,\n MediaSceneSwitcherV2Data,\n MediaSceneSwitcherV2Item,\n MediaSceneSwitcherV2Layout,\n} from './MediaSceneSwitcherV2/index.js'\nexport { default as ThreeDCarousel } from './ThreeDCarousel/index.js'\nexport type { ThreeDCarouselProps } from './ThreeDCarousel/index.js'\nexport { default as ProductNav } from './ProductNav/index.js'\nexport type { ProductNavProps, TabLink, AnchorItem, BuyButton } from './ProductNav/index.js'\nexport { default as AnchorNavigation } from './AnchorNavigation/index.js'\nexport { default as PromotionalBar } from './PromotionalBar/index.js'\nexport { default as EventSchedule } from './EventSchedule/index.js'\nexport { default as SecondaryBanner } from './SecondaryBanner/index.js'\nexport { default as BuyOneGetOneShelf } from './BuyOneGetOneShelf/index.js'\nexport { default as ActiveShelf } from './ActiveShelf/index.js'\nexport { default as MediaShelf } from './MediaShelf/index.js'\nexport { default as CreditsShelf, CreditsProductCard } from './CreditsShelf/index.js'\nexport type {\n CreditsShelfSemanticName,\n CreditsProductCardData,\n CopyConfig as CreditsShelfCopyConfig,\n ButtonFunctionType as CreditsShelfButtonFunctionType,\n} from './CreditsShelf/index.js'\nexport { default as SceneShelf, SceneProductCard } from './SceneShelf/index.js'\nexport type { SceneShelfSemanticName, SceneProductCardData, SceneProductCardSemanticName } from './SceneShelf/index.js'\nexport { default as SceneShelfV2, SceneShelfV2ProductCard } from './SceneShelfV2/index.js'\nexport type {\n SceneShelfV2SemanticName,\n SceneShelfV2Data,\n SceneShelfV2Product,\n SceneShelfV2Props,\n} from './SceneShelfV2/index.js'\nexport { default as SceneShelfV3 } from './SceneShelfV3/index.js'\nexport type { SceneShelfV3Data, SceneShelfV3Props, ProductTab as SceneShelfV3ProductTab } from './SceneShelfV3/index.js'\nexport type {\n SceneShelfV3SemanticName,\n ProductCardData as SceneShelfV3ProductCardData,\n} from './SceneShelfV3/ProductCard.js'\n\nexport { default as MediaEndorsement } from './MediaEndorsement/index.js'\nexport type {\n MediaEndorsementProps,\n MediaEndorsementData,\n MediaEndorsementItem,\n MediaEndorsementSemanticName,\n} from './MediaEndorsement/index.js'\n\nexport { default as MediaTextOverlay } from './MediaTextOverlay/index.js'\nexport type {\n MediaTextOverlayProps,\n MediaTextOverlayData,\n MediaTextOverlayItem,\n MediaTextOverlaySemanticName,\n ResponsiveMedia,\n} from './MediaTextOverlay/index.js'\n\n// Copy configuration types and defaults\nexport type {\n CopyConfig as MediaShelfCopyConfig,\n ButtonFunctionType as MediaShelfButtonFunctionType,\n} from './MediaShelf/types.js'\nexport type { CopyConfig as ActiveShelfCopyConfig, ButtonFunctionType } from './ActiveShelf/types.js'\n\nexport {\n default as ImageOverlayShelf,\n type ButtonFunctionType as ImageOverlayShelfButtonFunctionType,\n} from './ImageOverlayShelf/index.js'\n\nexport { default as ImageTextOverlay } from './ImageTextOverlay/index.js'\nexport type {\n ImageTextOverlayProps,\n ImageTextOverlayData,\n ImageTextOverlayItem,\n ImageTextOverlaySemanticName,\n ImageTextOverlayBackgroundImage,\n} from './ImageTextOverlay/types.js'\n\n// MiniCart \u7EC4\u4EF6\u53CA\u7C7B\u578B\u5BFC\u51FA\nexport { default as MiniCart } from './MiniCart/index.js'\nexport type { Cart, CartLineItem, MiniCartData, MiniCartProps, CircleProgressConfig } from './MiniCart/index.js'\nexport { default as MiniCartCircleProgress } from './MiniCart/CircleProgress.js'\nexport type { CircleProgressProps as MiniCartCircleProgressProps } from './MiniCart/CircleProgress.js'\nexport { default as MiniCartDialog, MiniCartDialog as MiniCartDialogComponent } from './MiniCart/MiniCartDialog.js'\nexport type {\n MiniCartDialogProps,\n MiniCartDialogCopy,\n MiniCartDialogSemanticName,\n CartData,\n} from './MiniCart/MiniCartDialog.js'\n\n// \u2500\u2500\u2500 Web Push \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nexport { default as WebPushPopup } from './WebPushPopup/index.js'\nexport type { WebPushPopupProps } from './WebPushPopup/index.js'\nexport { useEmarsysWebPush } from '../hooks/useEmarsysWebPush.js'\nexport type {\n UseEmarsysWebPushOptions,\n UseEmarsysWebPushReturn,\n EmarsysContactInfo,\n EmarsysInitConfig,\n} from '../hooks/useEmarsysWebPush.js'\n\n/**\n * \u7EC4\u4EF6\u6620\u5C04\u5BF9\u8C61\n */\n\nexport const PAYLOAD_COMPONENT_MAP = {\n 'ipc-accordioncards': 'AccordionCards',\n 'ipc-aplusdesc': 'AplusDesc',\n 'ipc-banner': 'HeroBanner',\n 'ipc-brand-equity': 'BrandEquity',\n 'ipc-category': 'Category',\n 'ipc-collection-banner': 'CollectionBanner',\n 'ipc-collection-shelves': 'CollectionShelves',\n 'ipc-creativemodule': 'CreativeModule',\n 'ipc-download': 'DownLoad',\n 'ipc-evaluate': 'Evaluate',\n 'ipc-faq': 'Faq',\n 'ipc-features': 'Features',\n 'ipc-footcharger': 'FootCharger',\n 'ipc-ga-block': 'GraphicAttractionBlock',\n 'ipc-giftbox': 'GiftBox',\n 'ipc-giftshelf': 'GiftShelf',\n 'ipc-graphic': 'Graphic',\n 'ipc-graphicmore': 'GraphicMore',\n 'ipc-graphicoverlay': 'GraphicOverlay',\n 'ipc-marquee': 'Marquee',\n 'ipc-mediaplayerbase': 'MediaPlayerBase',\n 'ipc-mediaplayermulti': 'MediaPlayerMulti',\n 'ipc-mediaplayersticky': 'MediaPlayerSticky',\n 'ipc-member-equity': 'MemberEquity',\n 'ipc-mlg-block': 'MultiLayoutGraphicBlock',\n 'ipc-search-page-tabs': 'SearchPageBlock',\n 'ipc-selectstore': 'SelectStore',\n 'ipc-shelfdisplay': 'ShelfDisplay',\n 'ipc-slogan': 'Slogan',\n 'ipc-spacer': 'Spacer',\n 'ipc-specs': 'Specs',\n 'ipc-tabs': 'TabsBlock',\n 'ipc-text-marquee': 'TextMarquee',\n 'ipc-title': 'Title',\n 'ipc-whychoose': 'WhyChoose',\n 'ipc-product-nav': 'ProductNav',\n 'ipc-brand-card-link': 'BrandCardLink',\n 'ipc-ipredirect': 'IPRedirect',\n ksp: 'Ksp',\n 'ipc-secondary-banner': 'SecondaryBanner',\n /**\n * \u6D3B\u52A8\u8D27\u67B6\n */\n 'ipc-active-shelf': 'ActiveShelf',\n 'ipc-media-shelf': 'MediaShelf',\n /**\n * \u6D3B\u52A8\u4E70\u8D60\u8D27\u67B6\n */\n 'ipc-bogo-shelf': 'BuyOneGetOneShelf',\n 'ipc-media-endorsement': 'MediaEndorsement',\n 'ipc-media-scene-switcher-v2': 'MediaSceneSwitcherV2',\n 'ipc-featured-blog-posts': 'FeaturedBlogPosts',\n}\n"],
|
|
5
|
-
"mappings": "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
|
|
6
|
-
"names": ["default", "MarqueeItem", "MarqueeImageContent", "MarqueeTextContent", "IPC_SEARCH_PAGE", "SearchPageTabType", "withLayout", "IPRedirect", "CreditsProductCard", "SceneProductCard", "SceneShelfV2ProductCard", "MiniCartDialog", "
|
|
4
|
+
"sourcesContent": ["export { default as ActivitySchedule } from './ActivitySchedule/index.js'\nexport type { ActivityScheduleProps, ActivityScheduleData, ActivityScheduleItem } from './ActivitySchedule/types.js'\nexport { default as GiftShelf } from './GiftShelf/index.js'\nexport type {\n GiftShelfProps,\n GiftShelfData,\n GiftShelfItem,\n CountdownConfig,\n ResponsiveBackgroundImage as GiftShelfResponsiveBackgroundImage,\n} from './GiftShelf/types.js'\nexport { default as GiftTierShelf } from './GiftTierShelf/index.js'\nexport type { GiftTierShelfProps, GiftTierShelfData, GiftTierItem, GiftTierProduct } from './GiftTierShelf/types.js'\nexport { default as ActivityMechanism } from './ActivityMechanism/index.js'\nexport type {\n ActivityMechanismProps,\n ActivityMechanismItem,\n ActivityMechanismSemanticName,\n ResponsiveBackgroundImage,\n} from './ActivityMechanism/types.js'\nexport { default as BrandEquity } from './BrandEquity/index.js'\nexport { default as MemberEquity } from './MemberEquity/index.js'\nexport { default as Slogan } from './Slogan/index.js'\nexport { default as Title } from './Title/index.js'\nexport { default as Spacer } from './Spacer/index.js'\nexport { default as ShelfDisplay } from './ShelfDisplay/index.js'\nexport { default as Evaluate } from './Evaluate/index.js'\nexport { default as Category } from './Category/index.js'\nexport { default as HeroBanner } from './HeroBanner/index.js'\nexport { default as AccordionCards } from './AccordionCards/index.js'\nexport { default as Graphic } from './Graphic/index.js'\nexport { default as MediaPlayerBase } from './MediaPlayerBase/index.js'\nexport { default as MediaPlayerSticky } from './MediaPlayerSticky/index.js'\nexport { default as MediaPlayerMulti } from './MediaPlayerMulti/index.js'\nexport { default as Marquee } from './Marquee/index.js'\nexport { default as MarqueeReview } from './MarqueeReview/index.js'\nexport type { MarqueeReviewProps, MarqueeReviewData, ReviewItem } from './MarqueeReview/index.js'\nexport { default as WhyChoose } from './WhyChoose/index.js'\nexport { default as Faq } from './Faq/index.js'\nexport { MarqueeItem, MarqueeImageContent, MarqueeTextContent } from './Marquee/index.js'\nexport { default as MultiLayoutGraphicBlock } from './MultiLayoutGraphicBlock/index.js'\nexport type { MultiLayoutGraphicBlockProps } from './MultiLayoutGraphicBlock/index.js'\nexport { default as GraphicAttractionBlock } from './GraphicAttractionBlock/index.js'\nexport type { GraphicAttractionBlockProps } from './GraphicAttractionBlock/index.js'\nexport { default as HeaderNavigation } from './HeaderNavigation/index.js'\nexport { default as FooterNavigation } from './FooterNavigation/index.js'\nexport { default as SearchPage } from './SearchPage/index.js'\nexport type { SearchPageProps } from './SearchPage/types.js'\nexport { IPC_SEARCH_PAGE, SearchPageTabType } from './SearchPage/types.js'\n\nexport { withLayout } from '../shared/Styles.js'\nexport { default as AiuiProvider } from './AiuiProvider/index.js'\nexport { default as Tabs } from './Tabs/index.js'\nexport { default as CreativeModule } from './CreativeModule/index.js'\nexport { default as GraphicOverlay } from './GraphicOverlay/index.js'\nexport { default as Specs } from './Specs/index.js'\nexport { default as TabGroup } from './TabsGroup/index.js'\n\nexport { default as BizProductProvider } from './Listing/BizProductProvider.js'\nexport { default as PurchaseBar } from './Listing/components/PurchaseBar/index.js'\nexport { default as ProductActions } from './Listing/components/PurchaseBar/ProductActions/index.js'\nexport type { ProductActionsProps } from './Listing/components/PurchaseBar/ProductActions/index.js'\nexport { default as ProductCard } from './Listing/components/ProductCard/index.js'\nexport { default as ProductBenefitsTabs } from './Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.js'\nexport { default as ProductBenefits } from './Listing/components/ProductCard/ProductDetail/ProductBenefits/index.js'\nexport { default as ProductHighlight } from './Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js'\nexport { default as ProductFreeGift } from './Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.js'\nexport { default as ProductExchangePurchase } from './Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.js'\nexport { default as ProductOptions } from './Listing/components/ProductCard/ProductDetail/ProductOptions/index.js'\nexport { default as ProductBundle } from './Listing/components/ProductCard/ProductDetail/ProductBundle/index.js'\nexport { default as ProductCoupon } from './Listing/components/ProductCard/ProductDetail/ProductCoupon/index.js'\nexport { default as ProductBanner } from './Listing/components/ProductCard/ProductDetail/ProductBanner/index.js'\nexport { default as ProductGridBox } from './Listing/components/ProductCard/ProductGridBox.js'\nexport { default as ProductGallery } from './Listing/components/ProductCard/ProductGallery/index.js'\nexport { default as ProductDetail } from './Listing/components/ProductCard/ProductDetail/index.js'\nexport { default as ProductSummary } from './Listing/components/ProductCard/ProductSummary/index.js'\nexport { default as BenefitsTab } from './Listing/components/ProductCard/ProductDetail/BenefitsTab.js'\nexport { default as PaidShipping } from './Listing/components/PaidShipping/index.js'\nexport { default as ProductPaidShipping } from './Listing/components/ProductCard/ProductPaidShipping/index.js'\n\nexport { default as GraphicMore } from './GraphicMore/index.js'\nexport { default as Features } from './Features/index.js'\nexport { default as AplusDesc } from './AplusDesc/index.js'\nexport { default as GiftBox } from './GiftBox/index.js'\nexport { default as SelectStore } from './SelectStore/index.js'\nexport { default as DownLoad } from './DownLoad/index.js'\nexport { default as FootCharger } from './FootCharger/index.js'\nexport { default as BrandCardLink } from './BrandCardLink/index.js'\nexport type { BrandCardLinkProps, BrandCardLinkItemProps } from './BrandCardLink/types.js'\n\nexport * as IPRedirect from './IPRedirect/index.js'\n\nexport { default as WheelLottery } from './WheelLottery/index.js'\nexport type {\n WheelLotteryProps,\n WheelLotteryHandle,\n Prize,\n ChanceMethod,\n WinningInfo,\n UserData,\n} from './WheelLottery/types.js'\nexport { default as ProductLottery } from './ProductLottery/index.js'\nexport type { ProductLotteryProps, ProductLotteryHandle, MediaConfig, CtaButtonConfig } from './ProductLottery/types.js'\nexport { default as ProductCompare } from './ProductCompare/index.js'\nexport type { ProductCompareProps, ProductItemData } from './ProductCompare/index.js'\nexport { default as Ksp } from './Ksp/index.js'\nexport type { KspProps, KspData, KspCardItem } from './Ksp/index.js'\nexport { default as ImageTextFeature } from './ImageTextFeature/index.js'\nexport type { ImageTextFeatureProps, ImageTextFeatureItem } from './ImageTextFeature/index.js'\nexport { default as FeatureCards } from './FeatureCards/index.js'\nexport type { FeatureCardsProps, FeatureCardItem } from './FeatureCards/index.js'\nexport { default as FeaturedBlogPosts } from './FeaturedBlogPosts/index.js'\nexport type {\n FeaturedBlogPostsProps,\n FeaturedBlogPostsData,\n FeaturedBlogPostItem,\n FeaturedBlogPostSpan,\n} from './FeaturedBlogPosts/index.js'\nexport { default as ImageWithText } from './ImageWithText/index.js'\nexport type { ImageWithTextProps } from './ImageWithText/index.js'\nexport { default as VideoFeature } from './VideoFeature/index.js'\nexport type { VideoFeatureProps } from './VideoFeature/index.js'\nexport { default as TabsWithMedia } from './TabsWithMedia/index.js'\nexport type { TabsWithMediaProps, TabItem, TimeIndex } from './TabsWithMedia/index.js'\nexport { default as TabWithImage } from './TabWithImage/index.js'\nexport type { TabWithImageProps, TabWithImageDataItem } from './TabWithImage/index.js'\nexport { default as FeatureShowcase } from './FeatureShowcase/index.js'\nexport type { FeatureShowcaseProps, FeatureShowcaseItem } from './FeatureShowcase/index.js'\nexport { default as ProductHero } from './ProductHero/index.js'\nexport type { ProductHeroProps } from './ProductHero/index.js'\nexport { default as SpecsComparison } from './SpecsComparison/index.js'\nexport type {\n SpecsComparisonProps,\n SpecsComparisonMenuItem,\n SpecsComparisonLeftMenuItem,\n} from './SpecsComparison/index.js'\nexport { default as MediaSceneSwitcher } from './MediaSceneSwitcher/index.js'\nexport type { MediaSceneSwitcherProps } from './MediaSceneSwitcher/types.js'\nexport { default as MediaSceneSwitcherV2 } from './MediaSceneSwitcherV2/index.js'\nexport type {\n MediaSceneSwitcherV2Props,\n MediaSceneSwitcherV2Data,\n MediaSceneSwitcherV2Item,\n MediaSceneSwitcherV2Layout,\n} from './MediaSceneSwitcherV2/index.js'\nexport { default as ThreeDCarousel } from './ThreeDCarousel/index.js'\nexport type { ThreeDCarouselProps } from './ThreeDCarousel/index.js'\nexport { default as ProductNav } from './ProductNav/index.js'\nexport type { ProductNavProps, TabLink, AnchorItem, BuyButton } from './ProductNav/index.js'\nexport { default as AnchorNavigation } from './AnchorNavigation/index.js'\nexport { default as PromotionalBar } from './PromotionalBar/index.js'\nexport { default as EventSchedule } from './EventSchedule/index.js'\nexport { default as SecondaryBanner } from './SecondaryBanner/index.js'\nexport { default as BuyOneGetOneShelf } from './BuyOneGetOneShelf/index.js'\nexport { default as ActiveShelf } from './ActiveShelf/index.js'\nexport { default as MediaShelf } from './MediaShelf/index.js'\nexport { default as CreditsShelf, CreditsProductCard } from './CreditsShelf/index.js'\nexport type {\n CreditsShelfSemanticName,\n CreditsProductCardData,\n CopyConfig as CreditsShelfCopyConfig,\n ButtonFunctionType as CreditsShelfButtonFunctionType,\n} from './CreditsShelf/index.js'\nexport { default as SceneShelf, SceneProductCard } from './SceneShelf/index.js'\nexport type { SceneShelfSemanticName, SceneProductCardData, SceneProductCardSemanticName } from './SceneShelf/index.js'\nexport { default as SceneShelfV2, SceneShelfV2ProductCard } from './SceneShelfV2/index.js'\nexport type {\n SceneShelfV2SemanticName,\n SceneShelfV2Data,\n SceneShelfV2Product,\n SceneShelfV2Props,\n} from './SceneShelfV2/index.js'\nexport { default as SceneShelfV3 } from './SceneShelfV3/index.js'\nexport type { SceneShelfV3Data, SceneShelfV3Props, ProductTab as SceneShelfV3ProductTab } from './SceneShelfV3/index.js'\nexport type {\n SceneShelfV3SemanticName,\n ProductCardData as SceneShelfV3ProductCardData,\n} from './SceneShelfV3/ProductCard.js'\n\nexport { default as MediaEndorsement } from './MediaEndorsement/index.js'\nexport type {\n MediaEndorsementProps,\n MediaEndorsementData,\n MediaEndorsementItem,\n MediaEndorsementSemanticName,\n} from './MediaEndorsement/index.js'\n\nexport { default as MediaTextOverlay } from './MediaTextOverlay/index.js'\nexport type {\n MediaTextOverlayProps,\n MediaTextOverlayData,\n MediaTextOverlayItem,\n MediaTextOverlaySemanticName,\n ResponsiveMedia,\n} from './MediaTextOverlay/index.js'\n\n// Copy configuration types and defaults\nexport type {\n CopyConfig as MediaShelfCopyConfig,\n ButtonFunctionType as MediaShelfButtonFunctionType,\n} from './MediaShelf/types.js'\nexport type { CopyConfig as ActiveShelfCopyConfig, ButtonFunctionType } from './ActiveShelf/types.js'\n\nexport {\n default as ImageOverlayShelf,\n type ButtonFunctionType as ImageOverlayShelfButtonFunctionType,\n} from './ImageOverlayShelf/index.js'\n\nexport { default as ImageTextOverlay } from './ImageTextOverlay/index.js'\nexport type {\n ImageTextOverlayProps,\n ImageTextOverlayData,\n ImageTextOverlayItem,\n ImageTextOverlaySemanticName,\n ImageTextOverlayBackgroundImage,\n} from './ImageTextOverlay/types.js'\n\n// MiniCart \u7EC4\u4EF6\u53CA\u7C7B\u578B\u5BFC\u51FA\nexport { default as MiniCart } from './MiniCart/index.js'\nexport type { Cart, CartLineItem, MiniCartData, MiniCartProps, CircleProgressConfig } from './MiniCart/index.js'\nexport { default as MiniCartCircleProgress } from './MiniCart/CircleProgress.js'\nexport type { CircleProgressProps as MiniCartCircleProgressProps } from './MiniCart/CircleProgress.js'\nexport { default as MiniCartDialog, MiniCartDialog as MiniCartDialogComponent } from './MiniCart/MiniCartDialog.js'\nexport type {\n MiniCartDialogProps,\n MiniCartDialogCopy,\n MiniCartDialogSemanticName,\n CartData,\n} from './MiniCart/MiniCartDialog.js'\n\n/**\n * \u7EC4\u4EF6\u6620\u5C04\u5BF9\u8C61\n */\n\nexport const PAYLOAD_COMPONENT_MAP = {\n 'ipc-accordioncards': 'AccordionCards',\n 'ipc-aplusdesc': 'AplusDesc',\n 'ipc-banner': 'HeroBanner',\n 'ipc-brand-equity': 'BrandEquity',\n 'ipc-category': 'Category',\n 'ipc-collection-banner': 'CollectionBanner',\n 'ipc-collection-shelves': 'CollectionShelves',\n 'ipc-creativemodule': 'CreativeModule',\n 'ipc-download': 'DownLoad',\n 'ipc-evaluate': 'Evaluate',\n 'ipc-faq': 'Faq',\n 'ipc-features': 'Features',\n 'ipc-footcharger': 'FootCharger',\n 'ipc-ga-block': 'GraphicAttractionBlock',\n 'ipc-giftbox': 'GiftBox',\n 'ipc-giftshelf': 'GiftShelf',\n 'ipc-graphic': 'Graphic',\n 'ipc-graphicmore': 'GraphicMore',\n 'ipc-graphicoverlay': 'GraphicOverlay',\n 'ipc-marquee': 'Marquee',\n 'ipc-mediaplayerbase': 'MediaPlayerBase',\n 'ipc-mediaplayermulti': 'MediaPlayerMulti',\n 'ipc-mediaplayersticky': 'MediaPlayerSticky',\n 'ipc-member-equity': 'MemberEquity',\n 'ipc-mlg-block': 'MultiLayoutGraphicBlock',\n 'ipc-search-page-tabs': 'SearchPageBlock',\n 'ipc-selectstore': 'SelectStore',\n 'ipc-shelfdisplay': 'ShelfDisplay',\n 'ipc-slogan': 'Slogan',\n 'ipc-spacer': 'Spacer',\n 'ipc-specs': 'Specs',\n 'ipc-tabs': 'TabsBlock',\n 'ipc-text-marquee': 'TextMarquee',\n 'ipc-title': 'Title',\n 'ipc-whychoose': 'WhyChoose',\n 'ipc-product-nav': 'ProductNav',\n 'ipc-brand-card-link': 'BrandCardLink',\n 'ipc-ipredirect': 'IPRedirect',\n ksp: 'Ksp',\n 'ipc-secondary-banner': 'SecondaryBanner',\n /**\n * \u6D3B\u52A8\u8D27\u67B6\n */\n 'ipc-active-shelf': 'ActiveShelf',\n 'ipc-media-shelf': 'MediaShelf',\n /**\n * \u6D3B\u52A8\u4E70\u8D60\u8D27\u67B6\n */\n 'ipc-bogo-shelf': 'BuyOneGetOneShelf',\n 'ipc-media-endorsement': 'MediaEndorsement',\n 'ipc-media-scene-switcher-v2': 'MediaSceneSwitcherV2',\n 'ipc-featured-blog-posts': 'FeaturedBlogPosts',\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["default", "MarqueeItem", "MarqueeImageContent", "MarqueeTextContent", "IPC_SEARCH_PAGE", "SearchPageTabType", "withLayout", "IPRedirect", "CreditsProductCard", "SceneProductCard", "SceneShelfV2ProductCard", "MiniCartDialog", "PAYLOAD_COMPONENT_MAP"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use client";import{jsx as i,jsxs as
|
|
1
|
+
"use client";import{jsx as i,jsxs as x}from"react/jsx-runtime";import R,{useEffect as z,useRef as U,useState as $,useMemo as X}from"react";import{cva as c}from"class-variance-authority";import{cn as g}from"../helpers/index.js";const Y=c("countdown-container flex w-full items-center",{variants:{variant:{outline:"gap-1",spacious:"gap-1"},align:{left:"justify-start",center:"justify-center"}},defaultVariants:{variant:"outline",align:"left"}}),Z=c("time-block border-box rounded-box-small flex flex-col items-center justify-center overflow-hidden text-center text-xs",{variants:{variant:{outline:"border-info-primary text-info-primary desktop:size-12 desktop:p-1 size-10 border bg-transparent p-[2px]",spacious:"bg-info-white text-info-primary desktop:size-12 desktop:p-1 size-10 p-[2px]"}},defaultVariants:{variant:"outline"}}),tt=c("time-number lg-desktop:text-[24px] translate-y-[2px] whitespace-nowrap text-center text-[20px] font-bold leading-none"),et=c("separator desktop:text-2xl text-xl font-bold",{variants:{variant:{outline:"text-info-primary",spacious:"text-info-primary"}},defaultVariants:{variant:"outline"}}),nt=t=>t?t==="light"?"bg-info-primary text-info-white border-transparent":"bg-container-secondary text-info-primary border-transparent":"",st=t=>t?"text-info-primary":"",d=(t,e=2)=>String(Math.abs(t)).padStart(e,"0"),j=()=>({day:"Day",hour:"Hours",minute:"Mins",second:"Secs"}),H=t=>{const e=j();return{day:t.day??t.days??e.day,hour:t.hour??t.hours??e.hour,minute:t.minute??t.minutes??e.minute,second:t.second??t.seconds??e.second}},rt=t=>{try{let e=t?.trim?.();return!e?.startsWith?.("{")||!e?.endsWith?.("}")?{}:(e=e?.replace?.(/(\w+)\s*:/g,'"$1":'),JSON.parse(e))}catch{return{}}},B=R.forwardRef(({className:t,endDate:e,endDate_tz:at,locale:ot,timeLabels:p,dateFormat:m,onExpire:h,separator:O=":",hideWhenExpired:W=!0,showDays:v=!0,showHours:y=!0,showMinutes:w=!0,showSeconds:T=!0,variant:f,align:A,theme:N,..._},F)=>{const l=X(()=>p?H(p):m?H(rt(m)):j(),[p,m]),s=U(Date.parse(e)),[J,L]=$(()=>{const n=s.current;return isNaN(n)?0:Math.max(0,n-Date.now())}),[u,M]=$(()=>{const n=s.current;return!isNaN(n)&&n<=Date.now()});z(()=>{s.current=Date.parse(e);const n=s.current,o=isNaN(n)?0:Math.max(0,n-Date.now()),b=!isNaN(n)&&n<=Date.now();L(o),M(b)},[e]),z(()=>{if(u||isNaN(s.current))return;let n=!1;const o=()=>{const Q=Date.now(),P=Math.max(0,s.current-Q);L(P),P<=0&&!n&&(n=!0,M(!0),h?.())};o();const b=window.setInterval(o,1e3);return()=>clearInterval(b)},[h,u,e]);const C=Math.floor(J/1e3),k=C%60,D=Math.floor(C/60),I=D%60,V=Math.floor(D/60),S=V%24,E=Math.floor(V/24),r=[];v&&r.push({value:E,label:l.day,cssClass:"time-days-box"}),y&&r.push({value:S,label:l.hour,cssClass:"time-hours-box"}),w&&r.push({value:I,label:l.minute,cssClass:"time-minutes-box"}),T&&r.push({value:k,label:l.second,cssClass:"time-seconds-box"});const a=[];v&&a.push(`${E} days`),y&&a.push(`${d(S)} hours`),w&&a.push(`${d(I)} minutes`),T&&a.push(`${d(k)} seconds`);const q=a.length>0?`${a.join(" ")} remaining`:"countdown timer";if(u&&W)return i("span",{role:"status","aria-live":"polite",className:"sr-only",children:"Countdown has ended"});const G=nt(N),K=st(N);return x("div",{ref:F,className:g(Y({variant:f,align:A}),t),role:"timer","aria-label":q,..._,children:[r.map((n,o)=>x(R.Fragment,{children:[x("div",{className:g(Z({variant:f}),G,n.cssClass),children:[i("div",{className:tt(),children:d(n.value,2)}),i("div",{className:"truncate text-center text-[12px] font-bold",children:n.label})]}),o<r.length-1&&i("div",{className:g(et({variant:f}),K),children:O})]},n.cssClass)),u&&i("span",{role:"status","aria-live":"polite",className:"sr-only",children:"Countdown has ended"})]})});B.displayName="Countdown";var ct=B;export{ct as default};
|
|
2
2
|
//# sourceMappingURL=Countdown.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/Countdown.tsx"],
|
|
4
|
-
"sourcesContent": ["'use client'\n\nimport React, { useEffect, useRef, useState, useMemo } from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { cn } from '../helpers/index.js'\n\n// \u5B9A\u4E49\u6837\u5F0F\u53D8\u4F53\nconst countdownVariants = cva(\n // \u57FA\u7840\u6837\u5F0F\uFF1A\u5012\u8BA1\u65F6\u5BB9\u5668\n 'countdown-container flex w-full items-center',\n {\n variants: {\n variant: {\n outline: 'gap-1',\n spacious: 'gap-1',\n },\n align: {\n left: 'justify-start',\n center: 'justify-center',\n },\n },\n defaultVariants: {\n variant: 'outline',\n align: 'left',\n },\n }\n)\n\nconst timeBlockVariants = cva(\n // \u57FA\u7840\u6837\u5F0F\uFF1A\u65F6\u95F4\u5757\n 'time-block border-box rounded-box-small flex flex-col items-center justify-center overflow-hidden text-center text-xs',\n {\n variants: {\n variant: {\n outline:\n 'border-info-primary text-info-primary desktop:size-12 desktop:p-1 size-10 border bg-transparent p-[2px]',\n spacious: 'bg-info-white text-info-primary desktop:size-12 desktop:p-1 size-10 p-[2px]',\n },\n },\n defaultVariants: {\n variant: 'outline',\n },\n }\n)\n\nconst timeNumberVariants = cva(\n 'time-number lg-desktop:text-[24px] translate-y-[2px] whitespace-nowrap text-center text-[20px] font-bold leading-none'\n)\n\nconst separatorVariants = cva(\n // \u57FA\u7840\u6837\u5F0F\uFF1A\u5206\u9694\u7B26\n 'separator desktop:text-2xl text-xl font-bold',\n {\n variants: {\n variant: {\n outline: 'text-info-primary',\n spacious: 'text-info-primary',\n },\n },\n defaultVariants: {\n variant: 'outline',\n },\n }\n)\n\n/**\n * \u4E3B\u9898\u8272\u8986\u76D6\u7C7B - \u4EC5\u5F53 theme \u4F20\u5165\u65F6\u8986\u76D6 variant \u7684\u989C\u8272\u90E8\u5206\uFF0C\u4FDD\u7559\u5E03\u5C40/\u5C3A\u5BF8\n */\nconst getTimeBlockThemeClasses = (theme?: 'light' | 'dark'): string => {\n if (!theme) return ''\n return theme === 'light'\n ? 'bg-info-primary text-info-white border-transparent'\n : 'bg-container-secondary text-info-primary border-transparent'\n}\n\nconst getSeparatorThemeClasses = (theme?: 'light' | 'dark'): string => {\n if (!theme) return ''\n return 'text-info-primary'\n}\n\n/**\n * \u65F6\u95F4\u6807\u7B7E\u914D\u7F6E\u63A5\u53E3 (singular keys)\n */\nexport interface TimeLabels {\n /** \u5929\u7684\u6807\u7B7E */\n day: string\n /** \u5C0F\u65F6\u7684\u6807\u7B7E */\n hour: string\n /** \u5206\u949F\u7684\u6807\u7B7E */\n minute: string\n /** \u79D2\u7684\u6807\u7B7E */\n second: string\n}\n\n/**\n * \u65F6\u95F4\u6807\u7B7E\u914D\u7F6E\u63A5\u53E3 (plural keys, e.g. from Title component)\n */\nexport interface PluralTimeLabels {\n days: string\n hours: string\n minutes: string\n seconds: string\n}\n\n/**\n * \u65F6\u95F4\u6807\u7B7E\u8F93\u5165\u7C7B\u578B - \u652F\u6301 singular \u548C plural \u952E\u540D\uFF0C\u6240\u6709\u5B57\u6BB5\u53EF\u9009\n */\nexport type TimeLabelsInput = Partial<TimeLabels & PluralTimeLabels>\n\n/**\n * \u5012\u8BA1\u65F6\u7EC4\u4EF6Props\u63A5\u53E3\n */\nexport interface CountdownProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onExpire'>, VariantProps<typeof countdownVariants> {\n /** \u7ED3\u675F\u65F6\u95F4 - ISO\u683C\u5F0F\u5B57\u7B26\u4E32 */\n endDate: string\n /** \u7ED3\u675F\u65F6\u95F4\u65F6\u533A\uFF0C\u5982: America/Los_Angeles */\n endDate_tz?: string\n /** \u683C\u5F0F\u5316\u7528\u7684locale\uFF0C\u9ED8\u8BA4\u4F7F\u7528navigator.language */\n locale?: string\n /** \u65F6\u95F4\u6807\u7B7E\u914D\u7F6E\uFF0C\u652F\u6301 singular (day/hour/minute/second) \u548C plural (days/hours/minutes/seconds) \u952E\u540D */\n timeLabels?: TimeLabelsInput\n /** JSON\u5B57\u7B26\u4E32\u683C\u5F0F\u7684\u65F6\u95F4\u6807\u7B7E\uFF08\u5411\u540E\u517C\u5BB9\uFF09 */\n dateFormat?: string\n /** \u5012\u8BA1\u65F6\u7ED3\u675F\u56DE\u8C03 */\n onExpire?: () => void\n /** \u5206\u9694\u7B26\u5B57\u7B26\uFF0C\u9ED8\u8BA4\u4E3A ':' */\n separator?: string\n /** \u9690\u85CF\u5DF2\u8FC7\u671F\u7684\u5012\u8BA1\u65F6\uFF0C\u9ED8\u8BA4\u4E3A true */\n hideWhenExpired?: boolean\n /** \u662F\u5426\u663E\u793A\u5929\u6570\uFF0C\u9ED8\u8BA4\u4E3A true */\n showDays?: boolean\n /** \u662F\u5426\u663E\u793A\u5C0F\u65F6\uFF0C\u9ED8\u8BA4\u4E3A true */\n showHours?: boolean\n /** \u662F\u5426\u663E\u793A\u5206\u949F\uFF0C\u9ED8\u8BA4\u4E3A true */\n showMinutes?: boolean\n /** \u662F\u5426\u663E\u793A\u79D2\u6570\uFF0C\u9ED8\u8BA4\u4E3A true */\n showSeconds?: boolean\n /** \u989C\u8272\u4E3B\u9898 - \u8986\u76D6 variant \u7684\u989C\u8272\u90E8\u5206\uFF0C\u4FDD\u7559\u5E03\u5C40/\u5C3A\u5BF8\u3002\u4E0D\u4F20\u5219\u4FDD\u6301 variant \u539F\u6709\u989C\u8272 */\n theme?: 'light' | 'dark'\n}\n\n/**\n * \u6570\u5B57\u8865\u96F6\u51FD\u6570\n */\nconst pad = (n: number, len = 2) => String(Math.abs(n)).padStart(len, '0')\n\n/**\n * \u9ED8\u8BA4\u65F6\u95F4\u6807\u7B7E\n */\nconst getDefaultTimeLabels = (): TimeLabels => ({\n day: 'Day',\n hour: 'Hours',\n minute: 'Mins',\n second: 'Secs',\n})\n\n/**\n * \u5C06 plural/singular \u6DF7\u5408\u6807\u7B7E\u89C4\u8303\u5316\u4E3A singular \u683C\u5F0F\n * singular \u952E\u4F18\u5148\u4E8E plural \u952E\uFF0C\u7F3A\u5931\u65F6\u4F7F\u7528\u9ED8\u8BA4\u503C\n */\nconst resolveTimeLabels = (labels: TimeLabelsInput): TimeLabels => {\n const defaults = getDefaultTimeLabels()\n return {\n day: labels.day ?? labels.days ?? defaults.day,\n hour: labels.hour ?? labels.hours ?? defaults.hour,\n minute: labels.minute ?? labels.minutes ?? defaults.minute,\n second: labels.second ?? labels.seconds ?? defaults.second,\n }\n}\n\n/**\n * \u89E3\u6790dateFormat JSON\u5B57\u7B26\u4E32\uFF08\u5411\u540E\u517C\u5BB9\uFF09\n */\nconst safeStringToObject = (str: string): TimeLabelsInput => {\n try {\n let jsonStr = str?.trim?.()\n if (!jsonStr?.startsWith?.('{') || !jsonStr?.endsWith?.('}')) {\n return {}\n }\n jsonStr = jsonStr?.replace?.(/(\\w+)\\s*:/g, '\"$1\":')\n return JSON.parse(jsonStr) as TimeLabelsInput\n } catch (err) {\n return {}\n }\n}\n\n/**\n * Countdown - \u5012\u8BA1\u65F6\u539F\u5B50\u7EC4\u4EF6\n *\n * @description \u7528\u4E8E\u663E\u793A\u5012\u8BA1\u65F6\u7684\u7EC4\u4EF6\uFF0C\u652F\u6301\u5929\u3001\u65F6\u3001\u5206\u3001\u79D2\u663E\u793A\uFF0C\u652F\u6301\u591A\u79CD\u6837\u5F0F\u53D8\u4F53\u3001\u4E3B\u9898\u548C\u5355\u4F4D\u53EF\u89C1\u6027\u63A7\u5236\n */\nconst Countdown = React.forwardRef<HTMLDivElement, CountdownProps>(\n (\n {\n className,\n endDate,\n endDate_tz,\n locale,\n timeLabels,\n dateFormat,\n onExpire,\n separator = ':',\n hideWhenExpired = true,\n showDays = true,\n showHours = true,\n showMinutes = true,\n showSeconds = true,\n variant,\n align,\n theme,\n ...props\n },\n ref\n ) => {\n // \u786E\u5B9A\u6700\u7EC8\u4F7F\u7528\u7684\u65F6\u95F4\u6807\u7B7E (\u652F\u6301 plural \u548C singular \u952E)\n const finalTimeLabels = useMemo(() => {\n if (timeLabels) return resolveTimeLabels(timeLabels)\n if (dateFormat) return resolveTimeLabels(safeStringToObject(dateFormat))\n return getDefaultTimeLabels()\n }, [timeLabels, dateFormat])\n\n // \u89E3\u6790\u76EE\u6807\u65F6\u95F4\n const targetMsRef = useRef<number>(Date.parse(endDate))\n const [remainingMs, setRemainingMs] = useState<number>(0)\n\n // \u5224\u65AD\u662F\u5426\u5DF2\u8FC7\u671F\n const [isExpired, setIsExpired] = useState<boolean>(false)\n\n // \u5F53endDate\u6539\u53D8\u65F6\u6216\u7EC4\u4EF6\u6302\u8F7D\u65F6\u66F4\u65B0\u76EE\u6807\u65F6\u95F4\uFF08SSR\u5B89\u5168\uFF1ADate.now() \u4EC5\u5728 useEffect \u4E2D\u8C03\u7528\uFF09\n useEffect(() => {\n targetMsRef.current = Date.parse(endDate)\n const t = targetMsRef.current\n const now = Date.now()\n const newRemaining = isNaN(t) ? 0 : Math.max(0, t - now)\n const newIsExpired = !isNaN(t) && t <= now\n\n setRemainingMs(newRemaining)\n setIsExpired(newIsExpired)\n }, [endDate])\n\n // \u542F\u52A8\u5012\u8BA1\u65F6\u5B9A\u65F6\u5668\n useEffect(() => {\n if (isExpired) return // \u5DF2\u8FC7\u671F\u5219\u4E0D\u542F\u52A8\n if (isNaN(targetMsRef.current)) return // \u65E0\u6548\u65E5\u671F\u4E0D\u542F\u52A8\n\n let expiredCalled = false\n const tick = () => {\n const now = Date.now()\n const remaining = Math.max(0, targetMsRef.current - now)\n setRemainingMs(remaining)\n\n if (remaining <= 0 && !expiredCalled) {\n expiredCalled = true\n setIsExpired(true)\n onExpire?.()\n }\n }\n\n tick() // \u7ACB\u5373\u6267\u884C\u4E00\u6B21\n const intervalId = window.setInterval(tick, 1000)\n\n return () => clearInterval(intervalId)\n }, [onExpire, isExpired, endDate])\n\n // \u8BA1\u7B97\u65F6\u95F4\u5355\u4F4D\n const totalSeconds = Math.floor(remainingMs / 1000)\n const seconds = totalSeconds % 60\n const totalMinutes = Math.floor(totalSeconds / 60)\n const minutes = totalMinutes % 60\n const totalHours = Math.floor(totalMinutes / 60)\n const hours = totalHours % 24\n const days = Math.floor(totalHours / 24)\n\n // \u6784\u5EFA\u53EF\u89C1\u7684\u65F6\u95F4\u5355\u4F4D\u6570\u7EC4\n const units: Array<{ value: number; label: string; cssClass: string }> = []\n if (showDays) units.push({ value: days, label: finalTimeLabels.day, cssClass: 'time-days-box' })\n if (showHours) units.push({ value: hours, label: finalTimeLabels.hour, cssClass: 'time-hours-box' })\n if (showMinutes) units.push({ value: minutes, label: finalTimeLabels.minute, cssClass: 'time-minutes-box' })\n if (showSeconds) units.push({ value: seconds, label: finalTimeLabels.second, cssClass: 'time-seconds-box' })\n\n // \u6784\u5EFA\u52A8\u6001 aria-label\n const ariaLabelParts: string[] = []\n if (showDays) ariaLabelParts.push(`${days} days`)\n if (showHours) ariaLabelParts.push(`${pad(hours)} hours`)\n if (showMinutes) ariaLabelParts.push(`${pad(minutes)} minutes`)\n if (showSeconds) ariaLabelParts.push(`${pad(seconds)} seconds`)\n const ariaLabel = ariaLabelParts.length > 0 ? `${ariaLabelParts.join(' ')} remaining` : 'countdown timer'\n\n // \u5982\u679C\u5DF2\u8FC7\u671F\u4E14\u9700\u8981\u9690\u85CF\uFF0C\u4EC5\u4FDD\u7559 screen reader \u901A\u77E5\n if (isExpired && hideWhenExpired) {\n return (\n <span role=\"status\" aria-live=\"polite\" className=\"sr-only\">\n Countdown has ended\n </span>\n )\n }\n\n const timeBlockTheme = getTimeBlockThemeClasses(theme)\n const separatorTheme = getSeparatorThemeClasses(theme)\n\n return (\n <div\n ref={ref}\n className={cn(countdownVariants({ variant, align }), className)}\n role=\"timer\"\n aria-label={ariaLabel}\n {...props}\n >\n {units.map((unit, index) => (\n <React.Fragment key={unit.cssClass}>\n <div className={cn(timeBlockVariants({ variant }), timeBlockTheme, unit.cssClass)}>\n <div className={timeNumberVariants()}>{pad(unit.value, 2)}</div>\n <div className=\"truncate text-center text-[12px] font-bold\">{unit.label}</div>\n </div>\n {index < units.length - 1 && (\n <div className={cn(separatorVariants({ variant }), separatorTheme)}>{separator}</div>\n )}\n </React.Fragment>\n ))}\n {/* Visually hidden status for screen readers - announces only on expiry */}\n {isExpired && (\n <span role=\"status\" aria-live=\"polite\" className=\"sr-only\">\n Countdown has ended\n </span>\n )}\n </div>\n )\n }\n)\n\nCountdown.displayName = 'Countdown'\n\nexport default Countdown\n"],
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": ["jsx", "jsxs", "React", "useEffect", "useRef", "useState", "useMemo", "cva", "cn", "countdownVariants", "timeBlockVariants", "timeNumberVariants", "separatorVariants", "getTimeBlockThemeClasses", "theme", "getSeparatorThemeClasses", "pad", "n", "len", "getDefaultTimeLabels", "resolveTimeLabels", "labels", "defaults", "safeStringToObject", "str", "jsonStr", "Countdown", "className", "endDate", "endDate_tz", "locale", "timeLabels", "dateFormat", "onExpire", "separator", "hideWhenExpired", "showDays", "showHours", "showMinutes", "showSeconds", "variant", "align", "props", "ref", "finalTimeLabels", "targetMsRef", "remainingMs", "setRemainingMs", "
|
|
4
|
+
"sourcesContent": ["'use client'\n\nimport React, { useEffect, useRef, useState, useMemo } from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { cn } from '../helpers/index.js'\n\n// \u5B9A\u4E49\u6837\u5F0F\u53D8\u4F53\nconst countdownVariants = cva(\n // \u57FA\u7840\u6837\u5F0F\uFF1A\u5012\u8BA1\u65F6\u5BB9\u5668\n 'countdown-container flex w-full items-center',\n {\n variants: {\n variant: {\n outline: 'gap-1',\n spacious: 'gap-1',\n },\n align: {\n left: 'justify-start',\n center: 'justify-center',\n },\n },\n defaultVariants: {\n variant: 'outline',\n align: 'left',\n },\n }\n)\n\nconst timeBlockVariants = cva(\n // \u57FA\u7840\u6837\u5F0F\uFF1A\u65F6\u95F4\u5757\n 'time-block border-box rounded-box-small flex flex-col items-center justify-center overflow-hidden text-center text-xs',\n {\n variants: {\n variant: {\n outline:\n 'border-info-primary text-info-primary desktop:size-12 desktop:p-1 size-10 border bg-transparent p-[2px]',\n spacious: 'bg-info-white text-info-primary desktop:size-12 desktop:p-1 size-10 p-[2px]',\n },\n },\n defaultVariants: {\n variant: 'outline',\n },\n }\n)\n\nconst timeNumberVariants = cva(\n 'time-number lg-desktop:text-[24px] translate-y-[2px] whitespace-nowrap text-center text-[20px] font-bold leading-none'\n)\n\nconst separatorVariants = cva(\n // \u57FA\u7840\u6837\u5F0F\uFF1A\u5206\u9694\u7B26\n 'separator desktop:text-2xl text-xl font-bold',\n {\n variants: {\n variant: {\n outline: 'text-info-primary',\n spacious: 'text-info-primary',\n },\n },\n defaultVariants: {\n variant: 'outline',\n },\n }\n)\n\n/**\n * \u4E3B\u9898\u8272\u8986\u76D6\u7C7B - \u4EC5\u5F53 theme \u4F20\u5165\u65F6\u8986\u76D6 variant \u7684\u989C\u8272\u90E8\u5206\uFF0C\u4FDD\u7559\u5E03\u5C40/\u5C3A\u5BF8\n */\nconst getTimeBlockThemeClasses = (theme?: 'light' | 'dark'): string => {\n if (!theme) return ''\n return theme === 'light'\n ? 'bg-info-primary text-info-white border-transparent'\n : 'bg-container-secondary text-info-primary border-transparent'\n}\n\nconst getSeparatorThemeClasses = (theme?: 'light' | 'dark'): string => {\n if (!theme) return ''\n return 'text-info-primary'\n}\n\n/**\n * \u65F6\u95F4\u6807\u7B7E\u914D\u7F6E\u63A5\u53E3 (singular keys)\n */\nexport interface TimeLabels {\n /** \u5929\u7684\u6807\u7B7E */\n day: string\n /** \u5C0F\u65F6\u7684\u6807\u7B7E */\n hour: string\n /** \u5206\u949F\u7684\u6807\u7B7E */\n minute: string\n /** \u79D2\u7684\u6807\u7B7E */\n second: string\n}\n\n/**\n * \u65F6\u95F4\u6807\u7B7E\u914D\u7F6E\u63A5\u53E3 (plural keys, e.g. from Title component)\n */\nexport interface PluralTimeLabels {\n days: string\n hours: string\n minutes: string\n seconds: string\n}\n\n/**\n * \u65F6\u95F4\u6807\u7B7E\u8F93\u5165\u7C7B\u578B - \u652F\u6301 singular \u548C plural \u952E\u540D\uFF0C\u6240\u6709\u5B57\u6BB5\u53EF\u9009\n */\nexport type TimeLabelsInput = Partial<TimeLabels & PluralTimeLabels>\n\n/**\n * \u5012\u8BA1\u65F6\u7EC4\u4EF6Props\u63A5\u53E3\n */\nexport interface CountdownProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onExpire'>, VariantProps<typeof countdownVariants> {\n /** \u7ED3\u675F\u65F6\u95F4 - ISO\u683C\u5F0F\u5B57\u7B26\u4E32 */\n endDate: string\n /** \u7ED3\u675F\u65F6\u95F4\u65F6\u533A\uFF0C\u5982: America/Los_Angeles */\n endDate_tz?: string\n /** \u683C\u5F0F\u5316\u7528\u7684locale\uFF0C\u9ED8\u8BA4\u4F7F\u7528navigator.language */\n locale?: string\n /** \u65F6\u95F4\u6807\u7B7E\u914D\u7F6E\uFF0C\u652F\u6301 singular (day/hour/minute/second) \u548C plural (days/hours/minutes/seconds) \u952E\u540D */\n timeLabels?: TimeLabelsInput\n /** JSON\u5B57\u7B26\u4E32\u683C\u5F0F\u7684\u65F6\u95F4\u6807\u7B7E\uFF08\u5411\u540E\u517C\u5BB9\uFF09 */\n dateFormat?: string\n /** \u5012\u8BA1\u65F6\u7ED3\u675F\u56DE\u8C03 */\n onExpire?: () => void\n /** \u5206\u9694\u7B26\u5B57\u7B26\uFF0C\u9ED8\u8BA4\u4E3A ':' */\n separator?: string\n /** \u9690\u85CF\u5DF2\u8FC7\u671F\u7684\u5012\u8BA1\u65F6\uFF0C\u9ED8\u8BA4\u4E3A true */\n hideWhenExpired?: boolean\n /** \u662F\u5426\u663E\u793A\u5929\u6570\uFF0C\u9ED8\u8BA4\u4E3A true */\n showDays?: boolean\n /** \u662F\u5426\u663E\u793A\u5C0F\u65F6\uFF0C\u9ED8\u8BA4\u4E3A true */\n showHours?: boolean\n /** \u662F\u5426\u663E\u793A\u5206\u949F\uFF0C\u9ED8\u8BA4\u4E3A true */\n showMinutes?: boolean\n /** \u662F\u5426\u663E\u793A\u79D2\u6570\uFF0C\u9ED8\u8BA4\u4E3A true */\n showSeconds?: boolean\n /** \u989C\u8272\u4E3B\u9898 - \u8986\u76D6 variant \u7684\u989C\u8272\u90E8\u5206\uFF0C\u4FDD\u7559\u5E03\u5C40/\u5C3A\u5BF8\u3002\u4E0D\u4F20\u5219\u4FDD\u6301 variant \u539F\u6709\u989C\u8272 */\n theme?: 'light' | 'dark'\n}\n\n/**\n * \u6570\u5B57\u8865\u96F6\u51FD\u6570\n */\nconst pad = (n: number, len = 2) => String(Math.abs(n)).padStart(len, '0')\n\n/**\n * \u9ED8\u8BA4\u65F6\u95F4\u6807\u7B7E\n */\nconst getDefaultTimeLabels = (): TimeLabels => ({\n day: 'Day',\n hour: 'Hours',\n minute: 'Mins',\n second: 'Secs',\n})\n\n/**\n * \u5C06 plural/singular \u6DF7\u5408\u6807\u7B7E\u89C4\u8303\u5316\u4E3A singular \u683C\u5F0F\n * singular \u952E\u4F18\u5148\u4E8E plural \u952E\uFF0C\u7F3A\u5931\u65F6\u4F7F\u7528\u9ED8\u8BA4\u503C\n */\nconst resolveTimeLabels = (labels: TimeLabelsInput): TimeLabels => {\n const defaults = getDefaultTimeLabels()\n return {\n day: labels.day ?? labels.days ?? defaults.day,\n hour: labels.hour ?? labels.hours ?? defaults.hour,\n minute: labels.minute ?? labels.minutes ?? defaults.minute,\n second: labels.second ?? labels.seconds ?? defaults.second,\n }\n}\n\n/**\n * \u89E3\u6790dateFormat JSON\u5B57\u7B26\u4E32\uFF08\u5411\u540E\u517C\u5BB9\uFF09\n */\nconst safeStringToObject = (str: string): TimeLabelsInput => {\n try {\n let jsonStr = str?.trim?.()\n if (!jsonStr?.startsWith?.('{') || !jsonStr?.endsWith?.('}')) {\n return {}\n }\n jsonStr = jsonStr?.replace?.(/(\\w+)\\s*:/g, '\"$1\":')\n return JSON.parse(jsonStr) as TimeLabelsInput\n } catch (err) {\n return {}\n }\n}\n\n/**\n * Countdown - \u5012\u8BA1\u65F6\u539F\u5B50\u7EC4\u4EF6\n *\n * @description \u7528\u4E8E\u663E\u793A\u5012\u8BA1\u65F6\u7684\u7EC4\u4EF6\uFF0C\u652F\u6301\u5929\u3001\u65F6\u3001\u5206\u3001\u79D2\u663E\u793A\uFF0C\u652F\u6301\u591A\u79CD\u6837\u5F0F\u53D8\u4F53\u3001\u4E3B\u9898\u548C\u5355\u4F4D\u53EF\u89C1\u6027\u63A7\u5236\n */\nconst Countdown = React.forwardRef<HTMLDivElement, CountdownProps>(\n (\n {\n className,\n endDate,\n endDate_tz,\n locale,\n timeLabels,\n dateFormat,\n onExpire,\n separator = ':',\n hideWhenExpired = true,\n showDays = true,\n showHours = true,\n showMinutes = true,\n showSeconds = true,\n variant,\n align,\n theme,\n ...props\n },\n ref\n ) => {\n // \u786E\u5B9A\u6700\u7EC8\u4F7F\u7528\u7684\u65F6\u95F4\u6807\u7B7E (\u652F\u6301 plural \u548C singular \u952E)\n const finalTimeLabels = useMemo(() => {\n if (timeLabels) return resolveTimeLabels(timeLabels)\n if (dateFormat) return resolveTimeLabels(safeStringToObject(dateFormat))\n return getDefaultTimeLabels()\n }, [timeLabels, dateFormat])\n\n // \u89E3\u6790\u76EE\u6807\u65F6\u95F4\n const targetMsRef = useRef<number>(Date.parse(endDate))\n const [remainingMs, setRemainingMs] = useState<number>(() => {\n const t = targetMsRef.current\n return isNaN(t) ? 0 : Math.max(0, t - Date.now())\n })\n\n // \u5224\u65AD\u662F\u5426\u5DF2\u8FC7\u671F\n const [isExpired, setIsExpired] = useState<boolean>(() => {\n const t = targetMsRef.current\n return !isNaN(t) && t <= Date.now()\n })\n\n // \u5F53endDate\u6539\u53D8\u65F6\u66F4\u65B0\u76EE\u6807\u65F6\u95F4\n useEffect(() => {\n targetMsRef.current = Date.parse(endDate)\n const t = targetMsRef.current\n const newRemaining = isNaN(t) ? 0 : Math.max(0, t - Date.now())\n const newIsExpired = !isNaN(t) && t <= Date.now()\n\n setRemainingMs(newRemaining)\n setIsExpired(newIsExpired)\n }, [endDate])\n\n // \u542F\u52A8\u5012\u8BA1\u65F6\u5B9A\u65F6\u5668\n useEffect(() => {\n if (isExpired) return // \u5DF2\u8FC7\u671F\u5219\u4E0D\u542F\u52A8\n if (isNaN(targetMsRef.current)) return // \u65E0\u6548\u65E5\u671F\u4E0D\u542F\u52A8\n\n let expiredCalled = false\n const tick = () => {\n const now = Date.now()\n const remaining = Math.max(0, targetMsRef.current - now)\n setRemainingMs(remaining)\n\n if (remaining <= 0 && !expiredCalled) {\n expiredCalled = true\n setIsExpired(true)\n onExpire?.()\n }\n }\n\n tick() // \u7ACB\u5373\u6267\u884C\u4E00\u6B21\n const intervalId = window.setInterval(tick, 1000)\n\n return () => clearInterval(intervalId)\n }, [onExpire, isExpired, endDate])\n\n // \u8BA1\u7B97\u65F6\u95F4\u5355\u4F4D\n const totalSeconds = Math.floor(remainingMs / 1000)\n const seconds = totalSeconds % 60\n const totalMinutes = Math.floor(totalSeconds / 60)\n const minutes = totalMinutes % 60\n const totalHours = Math.floor(totalMinutes / 60)\n const hours = totalHours % 24\n const days = Math.floor(totalHours / 24)\n\n // \u6784\u5EFA\u53EF\u89C1\u7684\u65F6\u95F4\u5355\u4F4D\u6570\u7EC4\n const units: Array<{ value: number; label: string; cssClass: string }> = []\n if (showDays) units.push({ value: days, label: finalTimeLabels.day, cssClass: 'time-days-box' })\n if (showHours) units.push({ value: hours, label: finalTimeLabels.hour, cssClass: 'time-hours-box' })\n if (showMinutes) units.push({ value: minutes, label: finalTimeLabels.minute, cssClass: 'time-minutes-box' })\n if (showSeconds) units.push({ value: seconds, label: finalTimeLabels.second, cssClass: 'time-seconds-box' })\n\n // \u6784\u5EFA\u52A8\u6001 aria-label\n const ariaLabelParts: string[] = []\n if (showDays) ariaLabelParts.push(`${days} days`)\n if (showHours) ariaLabelParts.push(`${pad(hours)} hours`)\n if (showMinutes) ariaLabelParts.push(`${pad(minutes)} minutes`)\n if (showSeconds) ariaLabelParts.push(`${pad(seconds)} seconds`)\n const ariaLabel = ariaLabelParts.length > 0 ? `${ariaLabelParts.join(' ')} remaining` : 'countdown timer'\n\n // \u5982\u679C\u5DF2\u8FC7\u671F\u4E14\u9700\u8981\u9690\u85CF\uFF0C\u4EC5\u4FDD\u7559 screen reader \u901A\u77E5\n if (isExpired && hideWhenExpired) {\n return (\n <span role=\"status\" aria-live=\"polite\" className=\"sr-only\">\n Countdown has ended\n </span>\n )\n }\n\n const timeBlockTheme = getTimeBlockThemeClasses(theme)\n const separatorTheme = getSeparatorThemeClasses(theme)\n\n return (\n <div\n ref={ref}\n className={cn(countdownVariants({ variant, align }), className)}\n role=\"timer\"\n aria-label={ariaLabel}\n {...props}\n >\n {units.map((unit, index) => (\n <React.Fragment key={unit.cssClass}>\n <div className={cn(timeBlockVariants({ variant }), timeBlockTheme, unit.cssClass)}>\n <div className={timeNumberVariants()}>{pad(unit.value, 2)}</div>\n <div className=\"truncate text-center text-[12px] font-bold\">{unit.label}</div>\n </div>\n {index < units.length - 1 && (\n <div className={cn(separatorVariants({ variant }), separatorTheme)}>{separator}</div>\n )}\n </React.Fragment>\n ))}\n {/* Visually hidden status for screen readers - announces only on expiry */}\n {isExpired && (\n <span role=\"status\" aria-live=\"polite\" className=\"sr-only\">\n Countdown has ended\n </span>\n )}\n </div>\n )\n }\n)\n\nCountdown.displayName = 'Countdown'\n\nexport default Countdown\n"],
|
|
5
|
+
"mappings": "aAySQ,cAAAA,EAmBI,QAAAC,MAnBJ,oBAvSR,OAAOC,GAAS,aAAAC,EAAW,UAAAC,EAAQ,YAAAC,EAAU,WAAAC,MAAe,QAC5D,OAAS,OAAAC,MAA8B,2BACvC,OAAS,MAAAC,MAAU,sBAGnB,MAAMC,EAAoBF,EAExB,+CACA,CACE,SAAU,CACR,QAAS,CACP,QAAS,QACT,SAAU,OACZ,EACA,MAAO,CACL,KAAM,gBACN,OAAQ,gBACV,CACF,EACA,gBAAiB,CACf,QAAS,UACT,MAAO,MACT,CACF,CACF,EAEMG,EAAoBH,EAExB,wHACA,CACE,SAAU,CACR,QAAS,CACP,QACE,0GACF,SAAU,6EACZ,CACF,EACA,gBAAiB,CACf,QAAS,SACX,CACF,CACF,EAEMI,GAAqBJ,EACzB,uHACF,EAEMK,GAAoBL,EAExB,+CACA,CACE,SAAU,CACR,QAAS,CACP,QAAS,oBACT,SAAU,mBACZ,CACF,EACA,gBAAiB,CACf,QAAS,SACX,CACF,CACF,EAKMM,GAA4BC,GAC3BA,EACEA,IAAU,QACb,qDACA,8DAHe,GAMfC,GAA4BD,GAC3BA,EACE,oBADY,GAqEfE,EAAM,CAACC,EAAWC,EAAM,IAAM,OAAO,KAAK,IAAID,CAAC,CAAC,EAAE,SAASC,EAAK,GAAG,EAKnEC,EAAuB,KAAmB,CAC9C,IAAK,MACL,KAAM,QACN,OAAQ,OACR,OAAQ,MACV,GAMMC,EAAqBC,GAAwC,CACjE,MAAMC,EAAWH,EAAqB,EACtC,MAAO,CACL,IAAKE,EAAO,KAAOA,EAAO,MAAQC,EAAS,IAC3C,KAAMD,EAAO,MAAQA,EAAO,OAASC,EAAS,KAC9C,OAAQD,EAAO,QAAUA,EAAO,SAAWC,EAAS,OACpD,OAAQD,EAAO,QAAUA,EAAO,SAAWC,EAAS,MACtD,CACF,EAKMC,GAAsBC,GAAiC,CAC3D,GAAI,CACF,IAAIC,EAAUD,GAAK,OAAO,EAC1B,MAAI,CAACC,GAAS,aAAa,GAAG,GAAK,CAACA,GAAS,WAAW,GAAG,EAClD,CAAC,GAEVA,EAAUA,GAAS,UAAU,aAAc,OAAO,EAC3C,KAAK,MAAMA,CAAO,EAC3B,MAAc,CACZ,MAAO,CAAC,CACV,CACF,EAOMC,EAAYxB,EAAM,WACtB,CACE,CACE,UAAAyB,EACA,QAAAC,EACA,WAAAC,GACA,OAAAC,GACA,WAAAC,EACA,WAAAC,EACA,SAAAC,EACA,UAAAC,EAAY,IACZ,gBAAAC,EAAkB,GAClB,SAAAC,EAAW,GACX,UAAAC,EAAY,GACZ,YAAAC,EAAc,GACd,YAAAC,EAAc,GACd,QAAAC,EACA,MAAAC,EACA,MAAA3B,EACA,GAAG4B,CACL,EACAC,IACG,CAEH,MAAMC,EAAkBtC,EAAQ,IAC1ByB,EAAmBX,EAAkBW,CAAU,EAC/CC,EAAmBZ,EAAkBG,GAAmBS,CAAU,CAAC,EAChEb,EAAqB,EAC3B,CAACY,EAAYC,CAAU,CAAC,EAGrBa,EAAczC,EAAe,KAAK,MAAMwB,CAAO,CAAC,EAChD,CAACkB,EAAaC,CAAc,EAAI1C,EAAiB,IAAM,CAC3D,MAAM2C,EAAIH,EAAY,QACtB,OAAO,MAAMG,CAAC,EAAI,EAAI,KAAK,IAAI,EAAGA,EAAI,KAAK,IAAI,CAAC,CAClD,CAAC,EAGK,CAACC,EAAWC,CAAY,EAAI7C,EAAkB,IAAM,CACxD,MAAM2C,EAAIH,EAAY,QACtB,MAAO,CAAC,MAAMG,CAAC,GAAKA,GAAK,KAAK,IAAI,CACpC,CAAC,EAGD7C,EAAU,IAAM,CACd0C,EAAY,QAAU,KAAK,MAAMjB,CAAO,EACxC,MAAMoB,EAAIH,EAAY,QAChBM,EAAe,MAAMH,CAAC,EAAI,EAAI,KAAK,IAAI,EAAGA,EAAI,KAAK,IAAI,CAAC,EACxDI,EAAe,CAAC,MAAMJ,CAAC,GAAKA,GAAK,KAAK,IAAI,EAEhDD,EAAeI,CAAY,EAC3BD,EAAaE,CAAY,CAC3B,EAAG,CAACxB,CAAO,CAAC,EAGZzB,EAAU,IAAM,CAEd,GADI8C,GACA,MAAMJ,EAAY,OAAO,EAAG,OAEhC,IAAIQ,EAAgB,GACpB,MAAMC,EAAO,IAAM,CACjB,MAAMC,EAAM,KAAK,IAAI,EACfC,EAAY,KAAK,IAAI,EAAGX,EAAY,QAAUU,CAAG,EACvDR,EAAeS,CAAS,EAEpBA,GAAa,GAAK,CAACH,IACrBA,EAAgB,GAChBH,EAAa,EAAI,EACjBjB,IAAW,EAEf,EAEAqB,EAAK,EACL,MAAMG,EAAa,OAAO,YAAYH,EAAM,GAAI,EAEhD,MAAO,IAAM,cAAcG,CAAU,CACvC,EAAG,CAACxB,EAAUgB,EAAWrB,CAAO,CAAC,EAGjC,MAAM8B,EAAe,KAAK,MAAMZ,EAAc,GAAI,EAC5Ca,EAAUD,EAAe,GACzBE,EAAe,KAAK,MAAMF,EAAe,EAAE,EAC3CG,EAAUD,EAAe,GACzBE,EAAa,KAAK,MAAMF,EAAe,EAAE,EACzCG,EAAQD,EAAa,GACrBE,EAAO,KAAK,MAAMF,EAAa,EAAE,EAGjCG,EAAmE,CAAC,EACtE7B,GAAU6B,EAAM,KAAK,CAAE,MAAOD,EAAM,MAAOpB,EAAgB,IAAK,SAAU,eAAgB,CAAC,EAC3FP,GAAW4B,EAAM,KAAK,CAAE,MAAOF,EAAO,MAAOnB,EAAgB,KAAM,SAAU,gBAAiB,CAAC,EAC/FN,GAAa2B,EAAM,KAAK,CAAE,MAAOJ,EAAS,MAAOjB,EAAgB,OAAQ,SAAU,kBAAmB,CAAC,EACvGL,GAAa0B,EAAM,KAAK,CAAE,MAAON,EAAS,MAAOf,EAAgB,OAAQ,SAAU,kBAAmB,CAAC,EAG3G,MAAMsB,EAA2B,CAAC,EAC9B9B,GAAU8B,EAAe,KAAK,GAAGF,CAAI,OAAO,EAC5C3B,GAAW6B,EAAe,KAAK,GAAGlD,EAAI+C,CAAK,CAAC,QAAQ,EACpDzB,GAAa4B,EAAe,KAAK,GAAGlD,EAAI6C,CAAO,CAAC,UAAU,EAC1DtB,GAAa2B,EAAe,KAAK,GAAGlD,EAAI2C,CAAO,CAAC,UAAU,EAC9D,MAAMQ,EAAYD,EAAe,OAAS,EAAI,GAAGA,EAAe,KAAK,GAAG,CAAC,aAAe,kBAGxF,GAAIjB,GAAad,EACf,OACEnC,EAAC,QAAK,KAAK,SAAS,YAAU,SAAS,UAAU,UAAU,+BAE3D,EAIJ,MAAMoE,EAAiBvD,GAAyBC,CAAK,EAC/CuD,EAAiBtD,GAAyBD,CAAK,EAErD,OACEb,EAAC,OACC,IAAK0C,EACL,UAAWnC,EAAGC,EAAkB,CAAE,QAAA+B,EAAS,MAAAC,CAAM,CAAC,EAAGd,CAAS,EAC9D,KAAK,QACL,aAAYwC,EACX,GAAGzB,EAEH,UAAAuB,EAAM,IAAI,CAACK,EAAMC,IAChBtE,EAACC,EAAM,SAAN,CACC,UAAAD,EAAC,OAAI,UAAWO,EAAGE,EAAkB,CAAE,QAAA8B,CAAQ,CAAC,EAAG4B,EAAgBE,EAAK,QAAQ,EAC9E,UAAAtE,EAAC,OAAI,UAAWW,GAAmB,EAAI,SAAAK,EAAIsD,EAAK,MAAO,CAAC,EAAE,EAC1DtE,EAAC,OAAI,UAAU,6CAA8C,SAAAsE,EAAK,MAAM,GAC1E,EACCC,EAAQN,EAAM,OAAS,GACtBjE,EAAC,OAAI,UAAWQ,EAAGI,GAAkB,CAAE,QAAA4B,CAAQ,CAAC,EAAG6B,CAAc,EAAI,SAAAnC,EAAU,IAN9DoC,EAAK,QAQ1B,CACD,EAEArB,GACCjD,EAAC,QAAK,KAAK,SAAS,YAAU,SAAS,UAAU,UAAU,+BAE3D,GAEJ,CAEJ,CACF,EAEA0B,EAAU,YAAc,YAExB,IAAO8C,GAAQ9C",
|
|
6
|
+
"names": ["jsx", "jsxs", "React", "useEffect", "useRef", "useState", "useMemo", "cva", "cn", "countdownVariants", "timeBlockVariants", "timeNumberVariants", "separatorVariants", "getTimeBlockThemeClasses", "theme", "getSeparatorThemeClasses", "pad", "n", "len", "getDefaultTimeLabels", "resolveTimeLabels", "labels", "defaults", "safeStringToObject", "str", "jsonStr", "Countdown", "className", "endDate", "endDate_tz", "locale", "timeLabels", "dateFormat", "onExpire", "separator", "hideWhenExpired", "showDays", "showHours", "showMinutes", "showSeconds", "variant", "align", "props", "ref", "finalTimeLabels", "targetMsRef", "remainingMs", "setRemainingMs", "t", "isExpired", "setIsExpired", "newRemaining", "newIsExpired", "expiredCalled", "tick", "now", "remaining", "intervalId", "totalSeconds", "seconds", "totalMinutes", "minutes", "totalHours", "hours", "days", "units", "ariaLabelParts", "ariaLabel", "timeBlockTheme", "separatorTheme", "unit", "index", "Countdown_default"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use client";import{Fragment as
|
|
1
|
+
"use client";import{Fragment as C,jsx as i,jsxs as P}from"react/jsx-runtime";import u from"react";import{Slot as d}from"@radix-ui/react-slot";import{cn as h}from"../helpers/index.js";import{cva as x}from"class-variance-authority";const v=x("tracking hover:text-brand-0 font-bold underline transition-colors",{variants:{size:{base:"text-text-2",lg:"text-text-3"},variant:{secondary:"text-info-secondary hover:text-info-primary",primary:"text-info-primary hover:text-brand-0"}}}),a=u.forwardRef(({children:p,size:s="base",variant:l="primary",className:m,asChild:c=!1,href:o,style:r,disabled:e=!1,suffixIcon:t,onClick:f,...y},k)=>i(c?d:"a",{ref:k,onClick:n=>{if(!e&&f?.(n),e||!o){n.preventDefault();return}},href:e?void 0:o,className:h(v({size:s,variant:l}),m,{"flex items-center":t,"cursor-pointer":!e,"text-info-quaternary cursor-not-allowed hover:text-info-quaternary":e}),...r?{style:r}:null,...y,children:P(C,{children:[p,t&&i("span",{className:"svg",children:t})]})}));a.displayName="Link";var V=a;export{V as default};
|
|
2
2
|
//# sourceMappingURL=link.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/link.tsx"],
|
|
4
|
-
"sourcesContent": ["'use client'\nimport React from 'react'\nimport type { ReactNode } from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { cn } from '../helpers/index.js'\nimport { type VariantProps, cva } from 'class-variance-authority'\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js'\n\n// \u5B9A\u4E49 link \u7684\u6837\u5F0F\u53D8\u4F53\nconst linkVariants = cva('tracking hover:text-brand-0 font-bold underline transition-colors', {\n variants: {\n size: {\n base: 'text-text-2', // \u4E2D\n lg: 'text-text-3', // \u5927\n },\n variant: {\n secondary: 'text-info-secondary hover:text-info-primary',\n primary: 'text-info-primary hover:text-brand-0',\n },\n },\n})\n// \u5B9A\u4E49\u7EC4\u4EF6\u7C7B\u578B\uFF0C\u7EE7\u627F a \u6807\u7B7E\u6807\u51C6\u5C5E\u6027\ntype LinkElement = React.ElementRef<'a'>\ntype LinkProps = {\n /** \u5B9A\u4E49\u5B50\u7EC4\u4EF6\u4F5C\u4E3A\u7236\u7EC4\u4EF6\u7684\u7C7B\u578B,\u8BE6\u7EC6\u4F7F\u7528\u65B9\u5F0F\u8BF7\u53C2\u8003radix-ui */\n asChild?: boolean\n /** \u7C7B\u540D*/\n className?: string\n /** \u7981\u7528\u94FE\u63A5 */\n disabled?: boolean\n /** \u540E\u7F6E\u56FE\u6807*/\n suffixIcon?: ReactNode\n /** \u8DF3\u8F6C\u94FE\u63A5*/\n href?: string\n /** \u6837\u5F0F*/\n style?: React.CSSProperties\n /** \u70B9\u51FB\u4E8B\u4EF6\uFF0C\u7981\u7528\u72B6\u6001\u65E0\u6CD5\u89E6\u53D1*/\n onClick?: Function\n} & VariantProps<typeof linkVariants> &\n ComponentPropsWithout<'a', RemovedProps>\n\n/**\n * Link - \u94FE\u63A5\n *\n * @description \u53EF\u70B9\u51FB\u7684\u94FE\u63A5\u7EC4\u4EF6\uFF0C\u652F\u6301\u4E0D\u540C\u5C3A\u5BF8\u3001\u6837\u5F0F\u53D8\u4F53\u3001\u7981\u7528\u72B6\u6001\u548C\u540E\u7F6E\u56FE\u6807\n */\nconst Link = React.forwardRef<LinkElement, LinkProps>(\n (\n {\n children,\n size = 'base',\n variant = 'primary',\n className,\n asChild = false,\n href,\n style,\n disabled = false,\n suffixIcon,\n onClick,\n ...props // \u8FD9\u91CC\u4F1A\u5305\u542B href\u3001target\u3001rel \u7B49\u6807\u51C6 anchor \u5C5E\u6027\n }: LinkProps,\n forwardedRef\n ) => {\n const Comp = asChild ? Slot : 'a'\n\n const handleClick = (event: React.MouseEvent<HTMLAnchorElement>) => {\n !disabled && onClick?.(event)\n if (disabled || !href) {\n event.preventDefault()\n return\n }\n }\n\n return (\n <Comp\n ref={forwardedRef}\n onClick={handleClick}\n href={disabled ? undefined : href}\n className={cn(linkVariants({ size, variant }), className, {\n 'flex items-center': suffixIcon,\n 'cursor-pointer': !disabled,\n 'text-info-quaternary cursor-not-allowed hover:text-info-quaternary': disabled,\n })}\n {...(style ? { style: style } : null)}\n {...props}\n >\n
|
|
5
|
-
"mappings": "
|
|
4
|
+
"sourcesContent": ["'use client'\nimport React from 'react'\nimport type { ReactNode } from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { cn } from '../helpers/index.js'\nimport { type VariantProps, cva } from 'class-variance-authority'\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js'\n\n// \u5B9A\u4E49 link \u7684\u6837\u5F0F\u53D8\u4F53\nconst linkVariants = cva('tracking hover:text-brand-0 font-bold underline transition-colors', {\n variants: {\n size: {\n base: 'text-text-2', // \u4E2D\n lg: 'text-text-3', // \u5927\n },\n variant: {\n secondary: 'text-info-secondary hover:text-info-primary',\n primary: 'text-info-primary hover:text-brand-0',\n },\n },\n})\n// \u5B9A\u4E49\u7EC4\u4EF6\u7C7B\u578B\uFF0C\u7EE7\u627F a \u6807\u7B7E\u6807\u51C6\u5C5E\u6027\ntype LinkElement = React.ElementRef<'a'>\ntype LinkProps = {\n /** \u5B9A\u4E49\u5B50\u7EC4\u4EF6\u4F5C\u4E3A\u7236\u7EC4\u4EF6\u7684\u7C7B\u578B,\u8BE6\u7EC6\u4F7F\u7528\u65B9\u5F0F\u8BF7\u53C2\u8003radix-ui */\n asChild?: boolean\n /** \u7C7B\u540D*/\n className?: string\n /** \u7981\u7528\u94FE\u63A5 */\n disabled?: boolean\n /** \u540E\u7F6E\u56FE\u6807*/\n suffixIcon?: ReactNode\n /** \u8DF3\u8F6C\u94FE\u63A5*/\n href?: string\n /** \u6837\u5F0F*/\n style?: React.CSSProperties\n /** \u70B9\u51FB\u4E8B\u4EF6\uFF0C\u7981\u7528\u72B6\u6001\u65E0\u6CD5\u89E6\u53D1*/\n onClick?: Function\n} & VariantProps<typeof linkVariants> &\n ComponentPropsWithout<'a', RemovedProps>\n\n/**\n * Link - \u94FE\u63A5\n *\n * @description \u53EF\u70B9\u51FB\u7684\u94FE\u63A5\u7EC4\u4EF6\uFF0C\u652F\u6301\u4E0D\u540C\u5C3A\u5BF8\u3001\u6837\u5F0F\u53D8\u4F53\u3001\u7981\u7528\u72B6\u6001\u548C\u540E\u7F6E\u56FE\u6807\n */\nconst Link = React.forwardRef<LinkElement, LinkProps>(\n (\n {\n children,\n size = 'base',\n variant = 'primary',\n className,\n asChild = false,\n href,\n style,\n disabled = false,\n suffixIcon,\n onClick,\n ...props // \u8FD9\u91CC\u4F1A\u5305\u542B href\u3001target\u3001rel \u7B49\u6807\u51C6 anchor \u5C5E\u6027\n }: LinkProps,\n forwardedRef\n ) => {\n const Comp = asChild ? Slot : 'a'\n\n const handleClick = (event: React.MouseEvent<HTMLAnchorElement>) => {\n !disabled && onClick?.(event)\n if (disabled || !href) {\n event.preventDefault()\n return\n }\n }\n\n return (\n <Comp\n ref={forwardedRef}\n onClick={handleClick}\n href={disabled ? undefined : href}\n className={cn(linkVariants({ size, variant }), className, {\n 'flex items-center': suffixIcon,\n 'cursor-pointer': !disabled,\n 'text-info-quaternary cursor-not-allowed hover:text-info-quaternary': disabled,\n })}\n {...(style ? { style: style } : null)}\n {...props}\n >\n <>\n {children}\n {suffixIcon && <span className=\"svg\">{suffixIcon}</span>}\n </>\n </Comp>\n )\n }\n)\nLink.displayName = 'Link'\n\nexport default Link\nexport type { LinkProps }\n"],
|
|
5
|
+
"mappings": "aAsFQ,mBAAAA,EAEiB,OAAAC,EAFjB,QAAAC,MAAA,oBArFR,OAAOC,MAAW,QAElB,OAAS,QAAAC,MAAY,uBACrB,OAAS,MAAAC,MAAU,sBACnB,OAA4B,OAAAC,MAAW,2BAIvC,MAAMC,EAAeD,EAAI,qEAAsE,CAC7F,SAAU,CACR,KAAM,CACJ,KAAM,cACN,GAAI,aACN,EACA,QAAS,CACP,UAAW,8CACX,QAAS,sCACX,CACF,CACF,CAAC,EA0BKE,EAAOL,EAAM,WACjB,CACE,CACE,SAAAM,EACA,KAAAC,EAAO,OACP,QAAAC,EAAU,UACV,UAAAC,EACA,QAAAC,EAAU,GACV,KAAAC,EACA,MAAAC,EACA,SAAAC,EAAW,GACX,WAAAC,EACA,QAAAC,EACA,GAAGC,CACL,EACAC,IAaEnB,EAXWY,EAAUT,EAAO,IAW3B,CACC,IAAKgB,EACL,QAXiBC,GAA+C,CAElE,GADA,CAACL,GAAYE,IAAUG,CAAK,EACxBL,GAAY,CAACF,EAAM,CACrBO,EAAM,eAAe,EACrB,MACF,CACF,EAMI,KAAML,EAAW,OAAYF,EAC7B,UAAWT,EAAGE,EAAa,CAAE,KAAAG,EAAM,QAAAC,CAAQ,CAAC,EAAGC,EAAW,CACxD,oBAAqBK,EACrB,iBAAkB,CAACD,EACnB,qEAAsEA,CACxE,CAAC,EACA,GAAID,EAAQ,CAAE,MAAOA,CAAM,EAAI,KAC/B,GAAGI,EAEJ,SAAAjB,EAAAF,EAAA,CACG,UAAAS,EACAQ,GAAchB,EAAC,QAAK,UAAU,MAAO,SAAAgB,EAAW,GACnD,EACF,CAGN,EACAT,EAAK,YAAc,OAEnB,IAAOc,EAAQd",
|
|
6
6
|
"names": ["Fragment", "jsx", "jsxs", "React", "Slot", "cn", "cva", "linkVariants", "Link", "children", "size", "variant", "className", "asChild", "href", "style", "disabled", "suffixIcon", "onClick", "props", "forwardedRef", "event", "link_default"]
|
|
7
7
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { cn, getLocalizedPath } from './utils.js';
|
|
2
2
|
export { noop } from './utils.js';
|
|
3
3
|
export { formatPrice, languageTerritory, PRICE_SYMBOL } from './priceFormatting.js';
|
|
4
|
-
export { isLexicalEmpty
|
|
4
|
+
export { isLexicalEmpty } from './isLexicalEmpty.js';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{cn as
|
|
1
|
+
import{cn as e,getLocalizedPath as t}from"./utils.js";import{noop as m}from"./utils.js";import{formatPrice as f,languageTerritory as i,PRICE_SYMBOL as x}from"./priceFormatting.js";import{isLexicalEmpty as g}from"./isLexicalEmpty.js";export{x as PRICE_SYMBOL,e as cn,f as formatPrice,t as getLocalizedPath,g as isLexicalEmpty,i as languageTerritory,m as noop};
|
|
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
|
|
5
|
-
"mappings": "AAAA,OAAS,MAAAA,EAAI,oBAAAC,MAAwB,aACrC,OAAS,QAAAC,MAAY,aACrB,OAAS,eAAAC,EAAa,qBAAAC,EAAmB,gBAAAC,MAAoB,uBAC7D,OAAS,kBAAAC,
|
|
6
|
-
"names": ["cn", "getLocalizedPath", "noop", "formatPrice", "languageTerritory", "PRICE_SYMBOL", "isLexicalEmpty"
|
|
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": "AAAA,OAAS,MAAAA,EAAI,oBAAAC,MAAwB,aACrC,OAAS,QAAAC,MAAY,aACrB,OAAS,eAAAC,EAAa,qBAAAC,EAAmB,gBAAAC,MAAoB,uBAC7D,OAAS,kBAAAC,MAAsB",
|
|
6
|
+
"names": ["cn", "getLocalizedPath", "noop", "formatPrice", "languageTerritory", "PRICE_SYMBOL", "isLexicalEmpty"]
|
|
7
7
|
}
|
|
@@ -10,9 +10,4 @@ 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;
|
|
18
13
|
export {};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
function
|
|
1
|
+
function r(t){return t.type==="text"?typeof t.text=="string"&&t.text.trim()!=="":Array.isArray(t.children)?t.children.some(r):!1}function i(t){if(!t)return!0;if(typeof t=="string")return t.trim()==="";const e=t?.root;return e?!r(e):!0}export{i as isLexicalEmpty};
|
|
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": "AAUA,SAASA,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,SAASE,EAAeC,EAA8D,CAC3F,GAAI,CAACA,EAAS,MAAO,GACrB,GAAI,OAAOA,GAAY,SAAU,OAAOA,EAAQ,KAAK,IAAM,GAE3D,MAAMC,EAAOD,GAAS,KACtB,OAAKC,EAEE,CAACJ,EAAQI,CAAI,EAFF,EAGpB
|
|
6
|
-
"names": ["hasText", "node", "isLexicalEmpty", "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"],
|
|
5
|
+
"mappings": "AAUA,SAASA,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,SAASE,EAAeC,EAA8D,CAC3F,GAAI,CAACA,EAAS,MAAO,GACrB,GAAI,OAAOA,GAAY,SAAU,OAAOA,EAAQ,KAAK,IAAM,GAE3D,MAAMC,EAAOD,GAAS,KACtB,OAAKC,EAEE,CAACJ,EAAQI,CAAI,EAFF,EAGpB",
|
|
6
|
+
"names": ["hasText", "node", "isLexicalEmpty", "content", "root"]
|
|
7
7
|
}
|
package/package.json
CHANGED
package/style.css
CHANGED
|
@@ -1001,9 +1001,6 @@ video {
|
|
|
1001
1001
|
.mt-0 {
|
|
1002
1002
|
margin-top: 0px;
|
|
1003
1003
|
}
|
|
1004
|
-
.mt-0\.5 {
|
|
1005
|
-
margin-top: 0.125rem;
|
|
1006
|
-
}
|
|
1007
1004
|
.mt-1 {
|
|
1008
1005
|
margin-top: 0.25rem;
|
|
1009
1006
|
}
|
|
@@ -1013,9 +1010,6 @@ video {
|
|
|
1013
1010
|
.mt-2 {
|
|
1014
1011
|
margin-top: 0.5rem;
|
|
1015
1012
|
}
|
|
1016
|
-
.mt-20 {
|
|
1017
|
-
margin-top: 5rem;
|
|
1018
|
-
}
|
|
1019
1013
|
.mt-3 {
|
|
1020
1014
|
margin-top: 0.75rem;
|
|
1021
1015
|
}
|
|
@@ -1190,9 +1184,6 @@ video {
|
|
|
1190
1184
|
.aspect-square {
|
|
1191
1185
|
aspect-ratio: 1 / 1;
|
|
1192
1186
|
}
|
|
1193
|
-
.aspect-video {
|
|
1194
|
-
aspect-ratio: 16 / 9;
|
|
1195
|
-
}
|
|
1196
1187
|
.size-0 {
|
|
1197
1188
|
width: 0px;
|
|
1198
1189
|
height: 0px;
|
|
@@ -1651,9 +1642,6 @@ video {
|
|
|
1651
1642
|
.min-h-\[336px\] {
|
|
1652
1643
|
min-height: 336px;
|
|
1653
1644
|
}
|
|
1654
|
-
.min-h-\[36px\] {
|
|
1655
|
-
min-height: 36px;
|
|
1656
|
-
}
|
|
1657
1645
|
.min-h-\[48px\] {
|
|
1658
1646
|
min-height: 48px;
|
|
1659
1647
|
}
|
|
@@ -1717,9 +1705,6 @@ video {
|
|
|
1717
1705
|
.w-\[18px\] {
|
|
1718
1706
|
width: 18px;
|
|
1719
1707
|
}
|
|
1720
|
-
.w-\[200px\] {
|
|
1721
|
-
width: 200px;
|
|
1722
|
-
}
|
|
1723
1708
|
.w-\[20px\] {
|
|
1724
1709
|
width: 20px;
|
|
1725
1710
|
}
|
|
@@ -2572,10 +2557,6 @@ video {
|
|
|
2572
2557
|
--tw-border-opacity: 1 !important;
|
|
2573
2558
|
border-color: rgb(248 77 79 / var(--tw-border-opacity, 1)) !important;
|
|
2574
2559
|
}
|
|
2575
|
-
.border-\[\#005D8E\] {
|
|
2576
|
-
--tw-border-opacity: 1;
|
|
2577
|
-
border-color: rgb(0 93 142 / var(--tw-border-opacity, 1));
|
|
2578
|
-
}
|
|
2579
2560
|
.border-\[\#00BEFA\] {
|
|
2580
2561
|
--tw-border-opacity: 1;
|
|
2581
2562
|
border-color: rgb(0 190 250 / var(--tw-border-opacity, 1));
|
|
@@ -2630,9 +2611,6 @@ video {
|
|
|
2630
2611
|
.border-\[var\(--brand-color-0\)\] {
|
|
2631
2612
|
border-color: var(--brand-color-0);
|
|
2632
2613
|
}
|
|
2633
|
-
.border-black\/5 {
|
|
2634
|
-
border-color: rgb(0 0 0 / 0.05);
|
|
2635
|
-
}
|
|
2636
2614
|
.border-brand-0 {
|
|
2637
2615
|
border-color: var(--brand-color-0);
|
|
2638
2616
|
}
|
|
@@ -2693,10 +2671,6 @@ video {
|
|
|
2693
2671
|
--tw-bg-opacity: 1 !important;
|
|
2694
2672
|
background-color: rgb(8 10 15 / var(--tw-bg-opacity, 1)) !important;
|
|
2695
2673
|
}
|
|
2696
|
-
.\!bg-\[\#1E2024\] {
|
|
2697
|
-
--tw-bg-opacity: 1 !important;
|
|
2698
|
-
background-color: rgb(30 32 36 / var(--tw-bg-opacity, 1)) !important;
|
|
2699
|
-
}
|
|
2700
2674
|
.\!bg-\[\#E8E8E8\] {
|
|
2701
2675
|
--tw-bg-opacity: 1 !important;
|
|
2702
2676
|
background-color: rgb(232 232 232 / var(--tw-bg-opacity, 1)) !important;
|
|
@@ -2884,10 +2858,6 @@ video {
|
|
|
2884
2858
|
.bg-error-1 {
|
|
2885
2859
|
background-color: var(--error-color-1);
|
|
2886
2860
|
}
|
|
2887
|
-
.bg-gray-900 {
|
|
2888
|
-
--tw-bg-opacity: 1;
|
|
2889
|
-
background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1));
|
|
2890
|
-
}
|
|
2891
2861
|
.bg-info-primary {
|
|
2892
2862
|
background-color: var(--info-primary-color);
|
|
2893
2863
|
}
|
|
@@ -3380,9 +3350,6 @@ video {
|
|
|
3380
3350
|
.pr-0 {
|
|
3381
3351
|
padding-right: 0px;
|
|
3382
3352
|
}
|
|
3383
|
-
.pr-12 {
|
|
3384
|
-
padding-right: 3rem;
|
|
3385
|
-
}
|
|
3386
3353
|
.pr-2 {
|
|
3387
3354
|
padding-right: 0.5rem;
|
|
3388
3355
|
}
|
|
@@ -3407,9 +3374,6 @@ video {
|
|
|
3407
3374
|
.pt-0 {
|
|
3408
3375
|
padding-top: 0px;
|
|
3409
3376
|
}
|
|
3410
|
-
.pt-0\.5 {
|
|
3411
|
-
padding-top: 0.125rem;
|
|
3412
|
-
}
|
|
3413
3377
|
.pt-1 {
|
|
3414
3378
|
padding-top: 0.25rem;
|
|
3415
3379
|
}
|
|
@@ -3589,12 +3553,6 @@ video {
|
|
|
3589
3553
|
.leading-none {
|
|
3590
3554
|
line-height: 1;
|
|
3591
3555
|
}
|
|
3592
|
-
.leading-relaxed {
|
|
3593
|
-
line-height: 1.625;
|
|
3594
|
-
}
|
|
3595
|
-
.leading-snug {
|
|
3596
|
-
line-height: 1.375;
|
|
3597
|
-
}
|
|
3598
3556
|
.leading-tight {
|
|
3599
3557
|
line-height: var(--line-height-tight);
|
|
3600
3558
|
}
|
|
@@ -3642,10 +3600,6 @@ video {
|
|
|
3642
3600
|
--tw-text-opacity: 1;
|
|
3643
3601
|
color: rgb(0 0 0 / var(--tw-text-opacity, 1));
|
|
3644
3602
|
}
|
|
3645
|
-
.text-\[\#005D8E\] {
|
|
3646
|
-
--tw-text-opacity: 1;
|
|
3647
|
-
color: rgb(0 93 142 / var(--tw-text-opacity, 1));
|
|
3648
|
-
}
|
|
3649
3603
|
.text-\[\#00BEFA\] {
|
|
3650
3604
|
--tw-text-opacity: 1;
|
|
3651
3605
|
color: rgb(0 190 250 / var(--tw-text-opacity, 1));
|
|
@@ -3779,9 +3733,6 @@ video {
|
|
|
3779
3733
|
.text-\[1D1D1F\] {
|
|
3780
3734
|
color: 1D1D1F;
|
|
3781
3735
|
}
|
|
3782
|
-
.text-\[var\(--brand-color-0\)\] {
|
|
3783
|
-
color: var(--brand-color-0);
|
|
3784
|
-
}
|
|
3785
3736
|
.text-black {
|
|
3786
3737
|
--tw-text-opacity: 1;
|
|
3787
3738
|
color: rgb(0 0 0 / var(--tw-text-opacity, 1));
|
|
@@ -3810,10 +3761,6 @@ video {
|
|
|
3810
3761
|
--tw-text-opacity: 1;
|
|
3811
3762
|
color: rgb(107 114 128 / var(--tw-text-opacity, 1));
|
|
3812
3763
|
}
|
|
3813
|
-
.text-gray-900 {
|
|
3814
|
-
--tw-text-opacity: 1;
|
|
3815
|
-
color: rgb(17 24 39 / var(--tw-text-opacity, 1));
|
|
3816
|
-
}
|
|
3817
3764
|
.text-info-primary {
|
|
3818
3765
|
color: var(--info-primary-color);
|
|
3819
3766
|
}
|
|
@@ -4030,9 +3977,6 @@ video {
|
|
|
4030
3977
|
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
|
4031
3978
|
transition-duration: 150ms;
|
|
4032
3979
|
}
|
|
4033
|
-
.duration-150 {
|
|
4034
|
-
transition-duration: 150ms;
|
|
4035
|
-
}
|
|
4036
3980
|
.duration-200 {
|
|
4037
3981
|
transition-duration: 200ms;
|
|
4038
3982
|
}
|
|
@@ -4337,14 +4281,6 @@ video {
|
|
|
4337
4281
|
.hover\:bg-container-secondary-0:hover {
|
|
4338
4282
|
background-color: var(--container-secondary-color-0);
|
|
4339
4283
|
}
|
|
4340
|
-
.hover\:bg-gray-100:hover {
|
|
4341
|
-
--tw-bg-opacity: 1;
|
|
4342
|
-
background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
|
|
4343
|
-
}
|
|
4344
|
-
.hover\:bg-gray-700:hover {
|
|
4345
|
-
--tw-bg-opacity: 1;
|
|
4346
|
-
background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
|
|
4347
|
-
}
|
|
4348
4284
|
.hover\:bg-info-white:hover {
|
|
4349
4285
|
background-color: var(--info-white-color);
|
|
4350
4286
|
}
|
|
@@ -4412,9 +4348,6 @@ video {
|
|
|
4412
4348
|
.hover\:opacity-100:hover {
|
|
4413
4349
|
opacity: 1;
|
|
4414
4350
|
}
|
|
4415
|
-
.hover\:opacity-70:hover {
|
|
4416
|
-
opacity: 0.7;
|
|
4417
|
-
}
|
|
4418
4351
|
.hover\:opacity-80:hover {
|
|
4419
4352
|
opacity: 0.8;
|
|
4420
4353
|
}
|
|
@@ -4472,21 +4405,6 @@ video {
|
|
|
4472
4405
|
outline: 2px solid transparent;
|
|
4473
4406
|
outline-offset: 2px;
|
|
4474
4407
|
}
|
|
4475
|
-
.focus-visible\:outline:focus-visible {
|
|
4476
|
-
outline-style: solid;
|
|
4477
|
-
}
|
|
4478
|
-
.focus-visible\:outline-2:focus-visible {
|
|
4479
|
-
outline-width: 2px;
|
|
4480
|
-
}
|
|
4481
|
-
.focus-visible\:outline-offset-2:focus-visible {
|
|
4482
|
-
outline-offset: 2px;
|
|
4483
|
-
}
|
|
4484
|
-
.focus-visible\:outline-gray-400:focus-visible {
|
|
4485
|
-
outline-color: #9ca3af;
|
|
4486
|
-
}
|
|
4487
|
-
.focus-visible\:outline-gray-900:focus-visible {
|
|
4488
|
-
outline-color: #111827;
|
|
4489
|
-
}
|
|
4490
4408
|
.focus-visible\:ring-0:focus-visible {
|
|
4491
4409
|
--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
|
|
4492
4410
|
--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
|
|
@@ -5653,9 +5571,6 @@ video {
|
|
|
5653
5571
|
.laptop\:aspect-\[824\/560\] {
|
|
5654
5572
|
aspect-ratio: 824/560;
|
|
5655
5573
|
}
|
|
5656
|
-
.laptop\:aspect-auto {
|
|
5657
|
-
aspect-ratio: auto;
|
|
5658
|
-
}
|
|
5659
5574
|
.laptop\:size-1\/2 {
|
|
5660
5575
|
width: 50%;
|
|
5661
5576
|
height: 50%;
|
|
@@ -5732,10 +5647,6 @@ video {
|
|
|
5732
5647
|
width: 96px;
|
|
5733
5648
|
height: 96px;
|
|
5734
5649
|
}
|
|
5735
|
-
.laptop\:size-full {
|
|
5736
|
-
width: 100%;
|
|
5737
|
-
height: 100%;
|
|
5738
|
-
}
|
|
5739
5650
|
.laptop\:h-0 {
|
|
5740
5651
|
height: 0px;
|
|
5741
5652
|
}
|
|
@@ -5847,9 +5758,6 @@ video {
|
|
|
5847
5758
|
.laptop\:w-2\/3 {
|
|
5848
5759
|
width: 66.666667%;
|
|
5849
5760
|
}
|
|
5850
|
-
.laptop\:w-80 {
|
|
5851
|
-
width: 20rem;
|
|
5852
|
-
}
|
|
5853
5761
|
.laptop\:w-\[--circle-laptop-size\] {
|
|
5854
5762
|
width: var(--circle-laptop-size);
|
|
5855
5763
|
}
|
|
@@ -7861,8 +7769,9 @@ video {
|
|
|
7861
7769
|
.\[\&_\.banner-dot\.swiper-pagination-bullet-active\]\:rounded-full .banner-dot.swiper-pagination-bullet-active {
|
|
7862
7770
|
border-radius: 9999px;
|
|
7863
7771
|
}
|
|
7864
|
-
.\[\&_\.banner-dot\.swiper-pagination-bullet-active\]\:bg
|
|
7865
|
-
|
|
7772
|
+
.\[\&_\.banner-dot\.swiper-pagination-bullet-active\]\:bg-\[\#080A0F\] .banner-dot.swiper-pagination-bullet-active {
|
|
7773
|
+
--tw-bg-opacity: 1;
|
|
7774
|
+
background-color: rgb(8 10 15 / var(--tw-bg-opacity, 1));
|
|
7866
7775
|
}
|
|
7867
7776
|
.\[\&_\.banner-dot\]\:size-2 .banner-dot {
|
|
7868
7777
|
width: 0.5rem;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 移动端 TextLinks 菜单
|
|
3
|
-
* 二级菜单:折叠式分类导航(与 MobileSidebarMenu 相同的 currentMenu 切换模式)
|
|
4
|
-
* 三级菜单:对应列的纯文字链接列表
|
|
5
|
-
*/
|
|
6
|
-
export declare const MobileTextLinksMenu: {
|
|
7
|
-
({ textlinksCategoriesMetadata, textlinksColumnsMetadata, }: {
|
|
8
|
-
textlinksCategoriesMetadata: any;
|
|
9
|
-
textlinksColumnsMetadata: any;
|
|
10
|
-
}): import("react/jsx-runtime").JSX.Element | null;
|
|
11
|
-
displayName: string;
|
|
12
|
-
};
|