@anker-in/headless-ui 1.3.28 → 1.3.29
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/CONTRIBUTING.md +2 -2
- package/dist/cjs/biz-components/AccordionCards/index.d.ts +1 -1
- package/dist/cjs/biz-components/ActiveShelf/index.d.ts +1 -1
- package/dist/cjs/biz-components/ActivityMechanism/index.js +1 -1
- package/dist/cjs/biz-components/ActivityMechanism/index.js.map +2 -2
- package/dist/cjs/biz-components/ActivitySchedule/index.d.ts +1 -1
- package/dist/cjs/biz-components/AnchorNavigation/index.d.ts +1 -1
- package/dist/cjs/biz-components/AplusDesc/index.d.ts +1 -1
- package/dist/cjs/biz-components/BrandCardLink/BrandCardLink.d.ts +1 -1
- package/dist/cjs/biz-components/BrandEquity/BrandEquity.d.ts +1 -1
- package/dist/cjs/biz-components/Category/index.d.ts +1 -1
- package/dist/cjs/biz-components/CreativeModule/index.d.ts +1 -1
- package/dist/cjs/biz-components/DownLoad/index.d.ts +1 -1
- package/dist/cjs/biz-components/Evaluate/index.d.ts +1 -1
- package/dist/cjs/biz-components/EventSchedule/index.d.ts +1 -1
- package/dist/cjs/biz-components/Faq/Faq.d.ts +1 -1
- package/dist/cjs/biz-components/FeatureCards/FeatureCards.d.ts +1 -1
- package/dist/cjs/biz-components/FeatureShowcase/FeatureShowcase.d.ts +1 -1
- package/dist/cjs/biz-components/FeaturedBlogPosts/index.d.ts +1 -1
- package/dist/cjs/biz-components/Features/index.d.ts +1 -1
- package/dist/cjs/biz-components/FootCharger/index.d.ts +1 -1
- package/dist/cjs/biz-components/FooterNavigation/index.d.ts +1 -1
- package/dist/cjs/biz-components/GiftBox/index.d.ts +1 -1
- package/dist/cjs/biz-components/GiftShelf/index.d.ts +1 -1
- package/dist/cjs/biz-components/GiftTierShelf/index.d.ts +1 -1
- package/dist/cjs/biz-components/Graphic/index.d.ts +1 -1
- package/dist/cjs/biz-components/GraphicAttractionBlock/index.d.ts +1 -1
- package/dist/cjs/biz-components/GraphicOverlay/GraphicOverlay.d.ts +2 -2
- package/dist/cjs/biz-components/HeaderNavigation/index.d.ts +1 -1
- package/dist/cjs/biz-components/HeroBanner/HeroBanner.d.ts +1 -1
- package/dist/cjs/biz-components/ImageOverlayShelf/index.d.ts +1 -1
- package/dist/cjs/biz-components/ImageTextFeature/ImageTextFeature.d.ts +1 -1
- package/dist/cjs/biz-components/ImageTextOverlay/index.d.ts +1 -1
- package/dist/cjs/biz-components/ImageWithText/ImageWithText.d.ts +1 -1
- package/dist/cjs/biz-components/Ksp/index.d.ts +1 -1
- package/dist/cjs/biz-components/Listing/components/PaidShipping/index.d.ts +1 -1
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.d.ts +1 -1
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.d.ts +1 -1
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.d.ts +1 -1
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.d.ts +1 -1
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.d.ts +1 -1
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.d.ts +1 -1
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/index.d.ts +1 -1
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductPaidShipping/index.d.ts +1 -1
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductSummary/index.d.ts +1 -1
- package/dist/cjs/biz-components/Listing/components/PurchaseBar/index.d.ts +1 -1
- package/dist/cjs/biz-components/Marquee/Marquee.d.ts +1 -1
- package/dist/cjs/biz-components/MarqueeReview/index.d.ts +1 -1
- package/dist/cjs/biz-components/MediaEndorsement/index.d.ts +1 -1
- package/dist/cjs/biz-components/MediaPlayerBase/index.d.ts +1 -1
- package/dist/cjs/biz-components/MediaPlayerMulti/index.d.ts +1 -1
- package/dist/cjs/biz-components/MediaPlayerSticky/index.d.ts +1 -1
- package/dist/cjs/biz-components/MediaPlayerSticky/index.js +1 -1
- package/dist/cjs/biz-components/MediaPlayerSticky/index.js.map +3 -3
- package/dist/cjs/biz-components/MediaSceneSwitcher/MediaSceneSwitcher.d.ts +1 -1
- package/dist/cjs/biz-components/MediaSceneSwitcherV2/index.d.ts +1 -1
- package/dist/cjs/biz-components/MediaShelf/index.d.ts +1 -1
- package/dist/cjs/biz-components/MediaTextOverlay/MediaTextOverlay.d.ts +1 -1
- package/dist/cjs/biz-components/MemberEquity/index.d.ts +1 -1
- package/dist/cjs/biz-components/ModalCoupon/index.d.ts +45 -0
- package/dist/cjs/biz-components/ModalCoupon/index.js +2 -0
- package/dist/cjs/biz-components/ModalCoupon/index.js.map +7 -0
- package/dist/cjs/biz-components/ModalRegisterSubscribe/index.d.ts +33 -0
- package/dist/cjs/biz-components/ModalRegisterSubscribe/index.js +2 -0
- package/dist/cjs/biz-components/ModalRegisterSubscribe/index.js.map +7 -0
- package/dist/cjs/biz-components/ModalSmsSubscribe/index.d.ts +35 -0
- package/dist/cjs/biz-components/ModalSmsSubscribe/index.js +2 -0
- package/dist/cjs/biz-components/ModalSmsSubscribe/index.js.map +7 -0
- package/dist/cjs/biz-components/ModalSubscribeConfirm/index.d.ts +20 -0
- package/dist/cjs/biz-components/ModalSubscribeConfirm/index.js +2 -0
- package/dist/cjs/biz-components/ModalSubscribeConfirm/index.js.map +7 -0
- package/dist/cjs/biz-components/ModalVerify/index.d.ts +33 -0
- package/dist/cjs/biz-components/ModalVerify/index.js +2 -0
- package/dist/cjs/biz-components/ModalVerify/index.js.map +7 -0
- package/dist/cjs/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.d.ts +2 -2
- package/dist/cjs/biz-components/NavigationSearch/index.d.ts +1 -1
- package/dist/cjs/biz-components/ProductCompare/index.d.ts +1 -1
- package/dist/cjs/biz-components/ProductHero/ProductHero.d.ts +1 -1
- package/dist/cjs/biz-components/ProductNav/ProductNav.d.ts +1 -1
- package/dist/cjs/biz-components/PromotionalBar/index.d.ts +1 -1
- package/dist/cjs/biz-components/SceneShelf/ProductsPanel.d.ts +6 -1
- package/dist/cjs/biz-components/SceneShelf/ProductsPanel.js +1 -1
- package/dist/cjs/biz-components/SceneShelf/ProductsPanel.js.map +3 -3
- package/dist/cjs/biz-components/SceneShelf/Scene.d.ts +2 -0
- package/dist/cjs/biz-components/SceneShelf/Scene.js +1 -1
- package/dist/cjs/biz-components/SceneShelf/Scene.js.map +3 -3
- package/dist/cjs/biz-components/SceneShelf/context.d.ts +3 -0
- package/dist/cjs/biz-components/SceneShelf/context.js +1 -1
- package/dist/cjs/biz-components/SceneShelf/context.js.map +2 -2
- package/dist/cjs/biz-components/SceneShelf/types.d.ts +1 -1
- package/dist/cjs/biz-components/SceneShelf/types.js +1 -1
- package/dist/cjs/biz-components/SceneShelf/types.js.map +1 -1
- package/dist/cjs/biz-components/SceneShelfV2/index.d.ts +1 -1
- package/dist/cjs/biz-components/SceneShelfV3/index.d.ts +1 -1
- package/dist/cjs/biz-components/SecondaryBanner/index.d.ts +1 -1
- package/dist/cjs/biz-components/SelectStore/index.d.ts +1 -1
- package/dist/cjs/biz-components/ShelfDisplay/index.d.ts +1 -1
- package/dist/cjs/biz-components/Slogan/index.d.ts +1 -1
- package/dist/cjs/biz-components/Spacer/index.d.ts +1 -1
- package/dist/cjs/biz-components/Specs/index.d.ts +1 -1
- package/dist/cjs/biz-components/SpecsComparison/SpecsComparison.d.ts +1 -1
- package/dist/cjs/biz-components/TabWithImage/TabWithImage.d.ts +1 -1
- package/dist/cjs/biz-components/Tabs/Tabs.d.ts +1 -1
- package/dist/cjs/biz-components/TabsGroup/index.d.ts +1 -1
- package/dist/cjs/biz-components/TabsWithMedia/TabsWithMedia.d.ts +1 -1
- package/dist/cjs/biz-components/ThreeDCarousel/ThreeDCarousel.d.ts +1 -1
- package/dist/cjs/biz-components/Title/index.d.ts +1 -1
- package/dist/cjs/biz-components/VideoFeature/VideoFeature.d.ts +1 -1
- package/dist/cjs/biz-components/WhyChoose/WhyChoose.d.ts +1 -1
- package/dist/cjs/biz-components/index.d.ts +9 -0
- package/dist/cjs/biz-components/index.js +1 -1
- package/dist/cjs/biz-components/index.js.map +3 -3
- package/dist/cjs/components/index.d.ts +2 -0
- package/dist/cjs/components/index.js +1 -1
- package/dist/cjs/components/index.js.map +2 -2
- package/dist/cjs/index.d.ts +11 -0
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/index.js.map +3 -3
- package/dist/esm/biz-components/AccordionCards/index.d.ts +1 -1
- package/dist/esm/biz-components/ActiveShelf/index.d.ts +1 -1
- package/dist/esm/biz-components/ActivityMechanism/index.js +1 -1
- package/dist/esm/biz-components/ActivityMechanism/index.js.map +3 -3
- package/dist/esm/biz-components/ActivitySchedule/index.d.ts +1 -1
- package/dist/esm/biz-components/AnchorNavigation/index.d.ts +1 -1
- package/dist/esm/biz-components/AplusDesc/index.d.ts +1 -1
- package/dist/esm/biz-components/BrandCardLink/BrandCardLink.d.ts +1 -1
- package/dist/esm/biz-components/BrandEquity/BrandEquity.d.ts +1 -1
- package/dist/esm/biz-components/Category/index.d.ts +1 -1
- package/dist/esm/biz-components/CreativeModule/index.d.ts +1 -1
- package/dist/esm/biz-components/DownLoad/index.d.ts +1 -1
- package/dist/esm/biz-components/Evaluate/index.d.ts +1 -1
- package/dist/esm/biz-components/EventSchedule/index.d.ts +1 -1
- package/dist/esm/biz-components/Faq/Faq.d.ts +1 -1
- package/dist/esm/biz-components/FeatureCards/FeatureCards.d.ts +1 -1
- package/dist/esm/biz-components/FeatureShowcase/FeatureShowcase.d.ts +1 -1
- package/dist/esm/biz-components/FeaturedBlogPosts/index.d.ts +1 -1
- package/dist/esm/biz-components/Features/index.d.ts +1 -1
- package/dist/esm/biz-components/FootCharger/index.d.ts +1 -1
- package/dist/esm/biz-components/FooterNavigation/index.d.ts +1 -1
- package/dist/esm/biz-components/GiftBox/index.d.ts +1 -1
- package/dist/esm/biz-components/GiftShelf/index.d.ts +1 -1
- package/dist/esm/biz-components/GiftTierShelf/index.d.ts +1 -1
- package/dist/esm/biz-components/Graphic/index.d.ts +1 -1
- package/dist/esm/biz-components/GraphicAttractionBlock/index.d.ts +1 -1
- package/dist/esm/biz-components/GraphicOverlay/GraphicOverlay.d.ts +2 -2
- package/dist/esm/biz-components/HeaderNavigation/index.d.ts +1 -1
- package/dist/esm/biz-components/HeroBanner/HeroBanner.d.ts +1 -1
- package/dist/esm/biz-components/ImageOverlayShelf/index.d.ts +1 -1
- package/dist/esm/biz-components/ImageTextFeature/ImageTextFeature.d.ts +1 -1
- package/dist/esm/biz-components/ImageTextOverlay/index.d.ts +1 -1
- package/dist/esm/biz-components/ImageWithText/ImageWithText.d.ts +1 -1
- package/dist/esm/biz-components/Ksp/index.d.ts +1 -1
- package/dist/esm/biz-components/Listing/components/PaidShipping/index.d.ts +1 -1
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.d.ts +1 -1
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.d.ts +1 -1
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.d.ts +1 -1
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.d.ts +1 -1
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.d.ts +1 -1
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.d.ts +1 -1
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/index.d.ts +1 -1
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductPaidShipping/index.d.ts +1 -1
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductSummary/index.d.ts +1 -1
- package/dist/esm/biz-components/Listing/components/PurchaseBar/index.d.ts +1 -1
- package/dist/esm/biz-components/Marquee/Marquee.d.ts +1 -1
- package/dist/esm/biz-components/MarqueeReview/index.d.ts +1 -1
- package/dist/esm/biz-components/MediaEndorsement/index.d.ts +1 -1
- package/dist/esm/biz-components/MediaPlayerBase/index.d.ts +1 -1
- package/dist/esm/biz-components/MediaPlayerMulti/index.d.ts +1 -1
- package/dist/esm/biz-components/MediaPlayerSticky/index.d.ts +1 -1
- package/dist/esm/biz-components/MediaPlayerSticky/index.js +1 -1
- package/dist/esm/biz-components/MediaPlayerSticky/index.js.map +3 -3
- package/dist/esm/biz-components/MediaSceneSwitcher/MediaSceneSwitcher.d.ts +1 -1
- package/dist/esm/biz-components/MediaSceneSwitcherV2/index.d.ts +1 -1
- package/dist/esm/biz-components/MediaShelf/index.d.ts +1 -1
- package/dist/esm/biz-components/MediaTextOverlay/MediaTextOverlay.d.ts +1 -1
- package/dist/esm/biz-components/MemberEquity/index.d.ts +1 -1
- package/dist/esm/biz-components/ModalCoupon/index.d.ts +45 -0
- package/dist/esm/biz-components/ModalCoupon/index.js +2 -0
- package/dist/esm/biz-components/ModalCoupon/index.js.map +7 -0
- package/dist/esm/biz-components/ModalRegisterSubscribe/index.d.ts +33 -0
- package/dist/esm/biz-components/ModalRegisterSubscribe/index.js +2 -0
- package/dist/esm/biz-components/ModalRegisterSubscribe/index.js.map +7 -0
- package/dist/esm/biz-components/ModalSmsSubscribe/index.d.ts +35 -0
- package/dist/esm/biz-components/ModalSmsSubscribe/index.js +2 -0
- package/dist/esm/biz-components/ModalSmsSubscribe/index.js.map +7 -0
- package/dist/esm/biz-components/ModalSubscribeConfirm/index.d.ts +20 -0
- package/dist/esm/biz-components/ModalSubscribeConfirm/index.js +2 -0
- package/dist/esm/biz-components/ModalSubscribeConfirm/index.js.map +7 -0
- package/dist/esm/biz-components/ModalVerify/index.d.ts +33 -0
- package/dist/esm/biz-components/ModalVerify/index.js +2 -0
- package/dist/esm/biz-components/ModalVerify/index.js.map +7 -0
- package/dist/esm/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.d.ts +2 -2
- package/dist/esm/biz-components/NavigationSearch/index.d.ts +1 -1
- package/dist/esm/biz-components/ProductCompare/index.d.ts +1 -1
- package/dist/esm/biz-components/ProductHero/ProductHero.d.ts +1 -1
- package/dist/esm/biz-components/ProductNav/ProductNav.d.ts +1 -1
- package/dist/esm/biz-components/PromotionalBar/index.d.ts +1 -1
- package/dist/esm/biz-components/SceneShelf/ProductsPanel.d.ts +6 -1
- package/dist/esm/biz-components/SceneShelf/ProductsPanel.js +1 -1
- package/dist/esm/biz-components/SceneShelf/ProductsPanel.js.map +3 -3
- package/dist/esm/biz-components/SceneShelf/Scene.d.ts +2 -0
- package/dist/esm/biz-components/SceneShelf/Scene.js +1 -1
- package/dist/esm/biz-components/SceneShelf/Scene.js.map +3 -3
- package/dist/esm/biz-components/SceneShelf/context.d.ts +3 -0
- package/dist/esm/biz-components/SceneShelf/context.js.map +2 -2
- package/dist/esm/biz-components/SceneShelf/types.d.ts +1 -1
- package/dist/esm/biz-components/SceneShelfV2/index.d.ts +1 -1
- package/dist/esm/biz-components/SceneShelfV3/index.d.ts +1 -1
- package/dist/esm/biz-components/SecondaryBanner/index.d.ts +1 -1
- package/dist/esm/biz-components/SelectStore/index.d.ts +1 -1
- package/dist/esm/biz-components/ShelfDisplay/index.d.ts +1 -1
- package/dist/esm/biz-components/Slogan/index.d.ts +1 -1
- package/dist/esm/biz-components/Spacer/index.d.ts +1 -1
- package/dist/esm/biz-components/Specs/index.d.ts +1 -1
- package/dist/esm/biz-components/SpecsComparison/SpecsComparison.d.ts +1 -1
- package/dist/esm/biz-components/TabWithImage/TabWithImage.d.ts +1 -1
- package/dist/esm/biz-components/Tabs/Tabs.d.ts +1 -1
- package/dist/esm/biz-components/TabsGroup/index.d.ts +1 -1
- package/dist/esm/biz-components/TabsWithMedia/TabsWithMedia.d.ts +1 -1
- package/dist/esm/biz-components/ThreeDCarousel/ThreeDCarousel.d.ts +1 -1
- package/dist/esm/biz-components/Title/index.d.ts +1 -1
- package/dist/esm/biz-components/VideoFeature/VideoFeature.d.ts +1 -1
- package/dist/esm/biz-components/WhyChoose/WhyChoose.d.ts +1 -1
- package/dist/esm/biz-components/index.d.ts +9 -0
- package/dist/esm/biz-components/index.js +1 -1
- package/dist/esm/biz-components/index.js.map +3 -3
- package/dist/esm/components/index.d.ts +2 -0
- package/dist/esm/components/index.js +1 -1
- package/dist/esm/components/index.js.map +3 -3
- package/dist/esm/index.d.ts +11 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +3 -3
- package/package.json +1 -1
- package/style.css +169 -0
- package/dist/cjs/types/index.d.ts +0 -0
- package/dist/cjs/types/index.js +0 -2
- package/dist/cjs/types/index.js.map +0 -7
- package/dist/esm/types/index.d.ts +0 -0
- package/dist/esm/types/index.js +0 -2
- package/dist/esm/types/index.js.map +0 -7
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use client";import{jsx as t,jsxs as
|
|
1
|
+
"use client";import{jsx as t,jsxs as i}from"react/jsx-runtime";import*as c from"react";import{Swiper as K,SwiperSlide as Q}from"swiper/react";import{FreeMode as U,Mousewheel as W}from"swiper/modules";import{cn as r}from"../../helpers/index.js";import{Heading as X,Button as T,Text as d}from"../../components/index.js";import{useSceneShelfContext as Y}from"./context.js";import"swiper/css";const S=c.forwardRef(({title:m,totalPriceLabel:N,totalCurrentPrice:L,totalOriginalPrice:v,primaryButtonText:k,primaryButtonFun:C,secondaryButtonText:D,secondaryButtonFun:F,bundleDiscountLabel:M,className:A,children:R,...O},z)=>{const e=Y(),a=e?.classNames,x=N??e?.totalPriceLabel??"Total Price:",s=L??e?.totalCurrentPrice,u=v??e?.totalOriginalPrice,f=k??e?.primaryButtonText??"Shop Now",y=C??e?.primaryButtonFun??"buyNow",P=D??e?.secondaryButtonText??"Add to Cart",b=F??e?.secondaryButtonFun??"addCart",l=M??e?.bundleDiscountLabel,n=e?.selectedProducts??[],V=e?.onLearnMore,H=e?.onShopNow,j=e?.onAddToCart,E=e?.showOriginalPrice??!0,[q,G]=c.useState(!1),[I,J]=c.useState(!1),g=c.Children.toArray(R),w=async(o,p)=>{if(!o)return;const h=p==="primary"?G:J;h(!0);try{switch(o){case"buyNow":await H?.(n);break;case"addCart":await j?.(n);break;case"learnMore":await V?.(n);break;default:break}}finally{h(!1)}},B=o=>o==="learnMore"?!1:n.length===0;return i("div",{ref:z,className:r("bg-container-primary laptop:p-6 lg-desktop:p-8 flex min-w-0 flex-1 flex-col justify-between overflow-hidden p-4",A,a?.content),...O,children:[m&&t(X,{as:"h2",size:3,className:r("text-info-primary flex-0 mb-[16px] line-clamp-1 shrink-0",a?.title),html:m}),t("div",{className:r("lg-desktop:mb-[24px] mb-[16px] flex-1 ",a?.productList),children:t(K,{modules:[U,W],freeMode:!0,mousewheel:{forceToAxis:!0},slidesPerView:"auto",spaceBetween:10,breakpoints:{0:{slidesPerView:1.5},768:{spaceBetween:16,slidesPerView:2.8},1024:{slidesPerView:2.3},1440:{spaceBetween:16,slidesPerView:g.length<=3?3:3.2}},children:g.map((o,p)=>t(Q,{className:"h-fit shrink-0",children:o},p))})}),i("div",{className:r("tablet:items-end tablet:flex-row flex-0 flex flex-col items-start justify-between gap-2",a?.footer),children:[i("div",{className:"flex flex-col",children:[i("div",{className:r("flex flex-wrap items-center gap-1",a?.totalPrice),children:[x&&t(d,{as:"span",size:2,className:"text-info-primary lg-desktop:text-[24px] text-[20px]",children:x}),s&&t(d,{as:"span",size:2,className:r("text-info-primary lg-desktop:text-[24px] text-[20px]",a?.currentTotalPrice),children:s.formatted}),E&&u&&s&&u.value>s.value&&t(d,{as:"span",size:2,className:r("text-info-quaternary lg-desktop:text-[24px] text-[20px] line-through",a?.originalTotalPrice),children:u.formatted})]}),l&&t(d,{as:"span",size:2,className:r("lg-desktop:text-[18px] desktop:text-[16px] line-clamp-1 text-[14px]",a?.bundleDiscountLabel),children:typeof l=="function"?l(n):l})]}),i("div",{className:r("flex gap-3",a?.buttonGroup),children:[P&&t(T,{variant:"secondary",onClick:()=>w(b,"secondary"),disabled:B(b),loading:I,children:P}),f&&t(T,{variant:"primary",onClick:()=>w(y,"primary"),disabled:B(y),loading:q,children:f})]})]})]})});S.displayName="SceneShelf.ProductsPanel";export{S as SceneShelfProductsPanel};
|
|
2
2
|
//# sourceMappingURL=ProductsPanel.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/biz-components/SceneShelf/ProductsPanel.tsx"],
|
|
4
|
-
"sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport { Swiper, SwiperSlide } from 'swiper/react'\nimport { FreeMode, Mousewheel } from 'swiper/modules'\nimport { cn } from '../../helpers/index.js'\nimport { Heading, Button, Text } from '../../components/index.js'\nimport { useSceneShelfContext } from './context.js'\nimport type { PriceData, ButtonFunctionType } from './types.js'\nimport 'swiper/css'\n\nexport interface SceneShelfProductsPanelProps extends React.HTMLAttributes<HTMLDivElement> {\n /** \u6807\u9898 */\n title?: string\n /** \u603B\u4EF7\u6807\u7B7E */\n totalPriceLabel?: string\n /** \u5F53\u524D\u603B\u4EF7 */\n totalCurrentPrice?: PriceData\n /** \u539F\u603B\u4EF7 */\n totalOriginalPrice?: PriceData\n /** \u4E3B\u8981\u6309\u94AE\u6587\u672C */\n primaryButtonText?: string\n /** \u4E3B\u8981\u6309\u94AE\u529F\u80FD\u7C7B\u578B */\n primaryButtonFun?: ButtonFunctionType\n /** \u6B21\u8981\u6309\u94AE\u6587\u672C */\n secondaryButtonText?: string\n /** \u6B21\u8981\u6309\u94AE\u529F\u80FD\u7C7B\u578B */\n secondaryButtonFun?: ButtonFunctionType\n /** \u5B50\u7EC4\u4EF6\uFF08ProductCard \u6216\u81EA\u5B9A\u4E49\u5361\u7247\uFF09 */\n children: React.ReactNode\n}\n\n/**\n * SceneShelf ProductsPanel \u7EC4\u4EF6\n *\n * @description \u4EA7\u54C1\u9762\u677F\u7EC4\u4EF6\uFF0C\u5305\u542B\u4EA7\u54C1\u5217\u8868\uFF08Swiper\uFF09\u548C\u5E95\u90E8\u64CD\u4F5C\u533A\u57DF\uFF08\u603B\u4EF7 + \u6309\u94AE\uFF09\n */\nconst SceneShelfProductsPanel = React.forwardRef<HTMLDivElement, SceneShelfProductsPanelProps>(\n (\n {\n title,\n totalPriceLabel: totalPriceLabelProp,\n totalCurrentPrice: totalCurrentPriceProp,\n totalOriginalPrice: totalOriginalPriceProp,\n primaryButtonText: primaryButtonTextProp,\n primaryButtonFun: primaryButtonFunProp,\n secondaryButtonText: secondaryButtonTextProp,\n secondaryButtonFun: secondaryButtonFunProp,\n className,\n children,\n ...props\n },\n ref\n ) => {\n const context = useSceneShelfContext()\n const classNames = context?.classNames\n\n // Props \u4F18\u5148\u7EA7\u9AD8\u4E8E Context\n const totalPriceLabel = totalPriceLabelProp ?? context?.totalPriceLabel ?? 'Total Price:'\n const totalCurrentPrice = totalCurrentPriceProp ?? context?.totalCurrentPrice\n const totalOriginalPrice = totalOriginalPriceProp ?? context?.totalOriginalPrice\n const primaryButtonText = primaryButtonTextProp ?? context?.primaryButtonText ?? 'Shop Now'\n const primaryButtonFun = primaryButtonFunProp ?? context?.primaryButtonFun ?? 'buyNow'\n const secondaryButtonText = secondaryButtonTextProp ?? context?.secondaryButtonText ?? 'Add to Cart'\n const secondaryButtonFun = secondaryButtonFunProp ?? context?.secondaryButtonFun ?? 'addCart'\n\n const selectedProducts = context?.selectedProducts ?? []\n const onLearnMore = context?.onLearnMore\n const onShopNow = context?.onShopNow\n const onAddToCart = context?.onAddToCart\n const showOriginalPrice = context?.showOriginalPrice ?? true\n\n // \u6309\u94AE loading \u72B6\u6001\n const [primaryLoading, setPrimaryLoading] = React.useState(false)\n const [secondaryLoading, setSecondaryLoading] = React.useState(false)\n\n // \u5C06 children \u8F6C\u6362\u4E3A\u6570\u7EC4\n const childrenArray = React.Children.toArray(children)\n\n // \u6839\u636E\u6309\u94AE\u529F\u80FD\u7C7B\u578B\u8C03\u7528\u76F8\u5E94\u7684\u56DE\u8C03\u51FD\u6570\n const handleButtonClick = async (buttonFun?: ButtonFunctionType, buttonType?: 'primary' | 'secondary') => {\n if (!buttonFun) return\n\n const setLoading = buttonType === 'primary' ? setPrimaryLoading : setSecondaryLoading\n setLoading(true)\n\n try {\n switch (buttonFun) {\n case 'buyNow':\n await onShopNow?.(selectedProducts)\n break\n case 'addCart':\n await onAddToCart?.(selectedProducts)\n break\n case 'learnMore':\n await onLearnMore?.(selectedProducts)\n break\n default:\n break\n }\n } finally {\n setLoading(false)\n }\n }\n\n // \u5224\u65AD\u6309\u94AE\u662F\u5426\u5E94\u8BE5\u88AB\u7981\u7528\uFF08learnMore \u4E0D\u9700\u8981\u68C0\u67E5\u9009\u4E2D\u4EA7\u54C1\u6570\u91CF\uFF09\n const isButtonDisabled = (buttonFun?: ButtonFunctionType) => {\n if (buttonFun === 'learnMore') return false\n return selectedProducts.length === 0\n }\n\n return (\n <div\n ref={ref}\n className={cn(\n 'bg-container-primary laptop:p-6 lg-desktop:p-8 flex min-w-0 flex-1 flex-col justify-between overflow-hidden p-4',\n className,\n classNames?.content\n )}\n {...props}\n >\n {/* \u6807\u9898 */}\n {title && (\n <Heading\n as=\"h2\"\n size={3}\n className={cn('text-info-primary flex-0 mb-[16px] line-clamp-1 shrink-0', classNames?.title)}\n html={title}\n />\n )}\n\n {/* \u4EA7\u54C1\u5217\u8868 - Swiper \u5BB9\u5668 */}\n <div className={cn('lg-desktop:mb-[24px] mb-[16px] flex-1 ', classNames?.productList)}>\n <Swiper\n modules={[FreeMode, Mousewheel]}\n freeMode={true}\n mousewheel={{\n forceToAxis: true,\n }}\n slidesPerView=\"auto\"\n spaceBetween={10}\n breakpoints={{\n 0: {\n slidesPerView: 1.5,\n },\n 768: {\n spaceBetween: 16,\n slidesPerView: 2.8,\n },\n 1024: {\n slidesPerView: 2.3,\n },\n 1440: {\n spaceBetween: 16,\n slidesPerView: childrenArray.length <= 3 ? 3 : 3.2,\n },\n }}\n >\n {childrenArray.map((child, index) => (\n <SwiperSlide key={index} className=\"h-fit shrink-0\">\n {child}\n </SwiperSlide>\n ))}\n </Swiper>\n </div>\n\n {/* \u5E95\u90E8\u533A\u57DF - \u603B\u4EF7 + \u6309\u94AE */}\n <div\n className={cn(\n 'tablet:items-end tablet:flex-row flex-0 flex flex-col items-start justify-between gap-2',\n classNames?.footer\n )}\n >\n {/* \u603B\u4EF7 */}\n
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": ["jsx", "jsxs", "React", "Swiper", "SwiperSlide", "FreeMode", "Mousewheel", "cn", "Heading", "Button", "Text", "useSceneShelfContext", "SceneShelfProductsPanel", "title", "totalPriceLabelProp", "totalCurrentPriceProp", "totalOriginalPriceProp", "primaryButtonTextProp", "primaryButtonFunProp", "secondaryButtonTextProp", "secondaryButtonFunProp", "className", "children", "props", "ref", "context", "classNames", "totalPriceLabel", "totalCurrentPrice", "totalOriginalPrice", "primaryButtonText", "primaryButtonFun", "secondaryButtonText", "secondaryButtonFun", "selectedProducts", "onLearnMore", "onShopNow", "onAddToCart", "showOriginalPrice", "primaryLoading", "setPrimaryLoading", "secondaryLoading", "setSecondaryLoading", "childrenArray", "handleButtonClick", "buttonFun", "buttonType", "setLoading", "isButtonDisabled", "child", "index"]
|
|
4
|
+
"sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport { Swiper, SwiperSlide } from 'swiper/react'\nimport { FreeMode, Mousewheel } from 'swiper/modules'\nimport { cn } from '../../helpers/index.js'\nimport { Heading, Button, Text } from '../../components/index.js'\nimport { useSceneShelfContext } from './context.js'\nimport type { PriceData, ButtonFunctionType, SceneProductCardData } from './types.js'\nimport 'swiper/css'\n\nexport interface SceneShelfProductsPanelProps extends React.HTMLAttributes<HTMLDivElement> {\n /** \u6807\u9898 */\n title?: string\n /** \u603B\u4EF7\u6807\u7B7E */\n totalPriceLabel?: string\n /** \u5F53\u524D\u603B\u4EF7 */\n totalCurrentPrice?: PriceData\n /** \u539F\u603B\u4EF7 */\n totalOriginalPrice?: PriceData\n /** \u4E3B\u8981\u6309\u94AE\u6587\u672C */\n primaryButtonText?: string\n /** \u4E3B\u8981\u6309\u94AE\u529F\u80FD\u7C7B\u578B */\n primaryButtonFun?: ButtonFunctionType\n /** \u6B21\u8981\u6309\u94AE\u6587\u672C */\n secondaryButtonText?: string\n /** \u6B21\u8981\u6309\u94AE\u529F\u80FD\u7C7B\u578B */\n secondaryButtonFun?: ButtonFunctionType\n /**\n * \u5957\u9910\u6298\u6263\u6807\u7B7E\uFF0C\u652F\u6301 string \u6216 render prop\n * @param selectedProducts \u5F53\u524D\u9009\u4E2D\u7684\u4EA7\u54C1\u5217\u8868\n */\n bundleDiscountLabel?: string | ((selectedProducts: SceneProductCardData[]) => React.ReactNode)\n /** \u5B50\u7EC4\u4EF6\uFF08ProductCard \u6216\u81EA\u5B9A\u4E49\u5361\u7247\uFF09 */\n children: React.ReactNode\n}\n\n/**\n * SceneShelf ProductsPanel \u7EC4\u4EF6\n *\n * @description \u4EA7\u54C1\u9762\u677F\u7EC4\u4EF6\uFF0C\u5305\u542B\u4EA7\u54C1\u5217\u8868\uFF08Swiper\uFF09\u548C\u5E95\u90E8\u64CD\u4F5C\u533A\u57DF\uFF08\u603B\u4EF7 + \u6309\u94AE\uFF09\n */\nconst SceneShelfProductsPanel = React.forwardRef<HTMLDivElement, SceneShelfProductsPanelProps>(\n (\n {\n title,\n totalPriceLabel: totalPriceLabelProp,\n totalCurrentPrice: totalCurrentPriceProp,\n totalOriginalPrice: totalOriginalPriceProp,\n primaryButtonText: primaryButtonTextProp,\n primaryButtonFun: primaryButtonFunProp,\n secondaryButtonText: secondaryButtonTextProp,\n secondaryButtonFun: secondaryButtonFunProp,\n bundleDiscountLabel: bundleDiscountLabelProp,\n className,\n children,\n ...props\n },\n ref\n ) => {\n const context = useSceneShelfContext()\n const classNames = context?.classNames\n\n // Props \u4F18\u5148\u7EA7\u9AD8\u4E8E Context\n const totalPriceLabel = totalPriceLabelProp ?? context?.totalPriceLabel ?? 'Total Price:'\n const totalCurrentPrice = totalCurrentPriceProp ?? context?.totalCurrentPrice\n const totalOriginalPrice = totalOriginalPriceProp ?? context?.totalOriginalPrice\n const primaryButtonText = primaryButtonTextProp ?? context?.primaryButtonText ?? 'Shop Now'\n const primaryButtonFun = primaryButtonFunProp ?? context?.primaryButtonFun ?? 'buyNow'\n const secondaryButtonText = secondaryButtonTextProp ?? context?.secondaryButtonText ?? 'Add to Cart'\n const secondaryButtonFun = secondaryButtonFunProp ?? context?.secondaryButtonFun ?? 'addCart'\n const bundleDiscountLabel = bundleDiscountLabelProp ?? context?.bundleDiscountLabel\n\n const selectedProducts = context?.selectedProducts ?? []\n const onLearnMore = context?.onLearnMore\n const onShopNow = context?.onShopNow\n const onAddToCart = context?.onAddToCart\n const showOriginalPrice = context?.showOriginalPrice ?? true\n\n // \u6309\u94AE loading \u72B6\u6001\n const [primaryLoading, setPrimaryLoading] = React.useState(false)\n const [secondaryLoading, setSecondaryLoading] = React.useState(false)\n\n // \u5C06 children \u8F6C\u6362\u4E3A\u6570\u7EC4\n const childrenArray = React.Children.toArray(children)\n\n // \u6839\u636E\u6309\u94AE\u529F\u80FD\u7C7B\u578B\u8C03\u7528\u76F8\u5E94\u7684\u56DE\u8C03\u51FD\u6570\n const handleButtonClick = async (buttonFun?: ButtonFunctionType, buttonType?: 'primary' | 'secondary') => {\n if (!buttonFun) return\n\n const setLoading = buttonType === 'primary' ? setPrimaryLoading : setSecondaryLoading\n setLoading(true)\n\n try {\n switch (buttonFun) {\n case 'buyNow':\n await onShopNow?.(selectedProducts)\n break\n case 'addCart':\n await onAddToCart?.(selectedProducts)\n break\n case 'learnMore':\n await onLearnMore?.(selectedProducts)\n break\n default:\n break\n }\n } finally {\n setLoading(false)\n }\n }\n\n // \u5224\u65AD\u6309\u94AE\u662F\u5426\u5E94\u8BE5\u88AB\u7981\u7528\uFF08learnMore \u4E0D\u9700\u8981\u68C0\u67E5\u9009\u4E2D\u4EA7\u54C1\u6570\u91CF\uFF09\n const isButtonDisabled = (buttonFun?: ButtonFunctionType) => {\n if (buttonFun === 'learnMore') return false\n return selectedProducts.length === 0\n }\n\n return (\n <div\n ref={ref}\n className={cn(\n 'bg-container-primary laptop:p-6 lg-desktop:p-8 flex min-w-0 flex-1 flex-col justify-between overflow-hidden p-4',\n className,\n classNames?.content\n )}\n {...props}\n >\n {/* \u6807\u9898 */}\n {title && (\n <Heading\n as=\"h2\"\n size={3}\n className={cn('text-info-primary flex-0 mb-[16px] line-clamp-1 shrink-0', classNames?.title)}\n html={title}\n />\n )}\n\n {/* \u4EA7\u54C1\u5217\u8868 - Swiper \u5BB9\u5668 */}\n <div className={cn('lg-desktop:mb-[24px] mb-[16px] flex-1 ', classNames?.productList)}>\n <Swiper\n modules={[FreeMode, Mousewheel]}\n freeMode={true}\n mousewheel={{\n forceToAxis: true,\n }}\n slidesPerView=\"auto\"\n spaceBetween={10}\n breakpoints={{\n 0: {\n slidesPerView: 1.5,\n },\n 768: {\n spaceBetween: 16,\n slidesPerView: 2.8,\n },\n 1024: {\n slidesPerView: 2.3,\n },\n 1440: {\n spaceBetween: 16,\n slidesPerView: childrenArray.length <= 3 ? 3 : 3.2,\n },\n }}\n >\n {childrenArray.map((child, index) => (\n <SwiperSlide key={index} className=\"h-fit shrink-0\">\n {child}\n </SwiperSlide>\n ))}\n </Swiper>\n </div>\n\n {/* \u5E95\u90E8\u533A\u57DF - \u603B\u4EF7 + \u6309\u94AE */}\n <div\n className={cn(\n 'tablet:items-end tablet:flex-row flex-0 flex flex-col items-start justify-between gap-2',\n classNames?.footer\n )}\n >\n <div className=\"flex flex-col\">\n {/* \u603B\u4EF7 */}\n <div className={cn('flex flex-wrap items-center gap-1', classNames?.totalPrice)}>\n {totalPriceLabel && (\n <Text as=\"span\" size={2} className=\"text-info-primary lg-desktop:text-[24px] text-[20px]\">\n {totalPriceLabel}\n </Text>\n )}\n {totalCurrentPrice && (\n <Text\n as=\"span\"\n size={2}\n className={cn('text-info-primary lg-desktop:text-[24px] text-[20px]', classNames?.currentTotalPrice)}\n >\n {totalCurrentPrice.formatted}\n </Text>\n )}\n {showOriginalPrice &&\n totalOriginalPrice &&\n totalCurrentPrice &&\n totalOriginalPrice.value > totalCurrentPrice.value && (\n <Text\n as=\"span\"\n size={2}\n className={cn(\n 'text-info-quaternary lg-desktop:text-[24px] text-[20px] line-through',\n classNames?.originalTotalPrice\n )}\n >\n {totalOriginalPrice.formatted}\n </Text>\n )}\n </div>\n {bundleDiscountLabel && (\n <Text\n as=\"span\"\n size={2}\n className={cn(\n 'lg-desktop:text-[18px] desktop:text-[16px] line-clamp-1 text-[14px]',\n classNames?.bundleDiscountLabel\n )}\n >\n {typeof bundleDiscountLabel === 'function'\n ? bundleDiscountLabel(selectedProducts)\n : bundleDiscountLabel}\n </Text>\n )}\n </div>\n\n {/* \u6309\u94AE\u7EC4 */}\n <div className={cn('flex gap-3', classNames?.buttonGroup)}>\n {secondaryButtonText && (\n <Button\n variant=\"secondary\"\n onClick={() => handleButtonClick(secondaryButtonFun, 'secondary')}\n disabled={isButtonDisabled(secondaryButtonFun)}\n loading={secondaryLoading}\n >\n {secondaryButtonText}\n </Button>\n )}\n {primaryButtonText && (\n <Button\n variant=\"primary\"\n onClick={() => handleButtonClick(primaryButtonFun, 'primary')}\n disabled={isButtonDisabled(primaryButtonFun)}\n loading={primaryLoading}\n >\n {primaryButtonText}\n </Button>\n )}\n </div>\n </div>\n </div>\n )\n }\n)\n\nSceneShelfProductsPanel.displayName = 'SceneShelf.ProductsPanel'\n\nexport { SceneShelfProductsPanel }\n"],
|
|
5
|
+
"mappings": "aAkIU,cAAAA,EAoDE,QAAAC,MApDF,oBAhIV,UAAYC,MAAW,QACvB,OAAS,UAAAC,EAAQ,eAAAC,MAAmB,eACpC,OAAS,YAAAC,EAAU,cAAAC,MAAkB,iBACrC,OAAS,MAAAC,MAAU,yBACnB,OAAS,WAAAC,EAAS,UAAAC,EAAQ,QAAAC,MAAY,4BACtC,OAAS,wBAAAC,MAA4B,eAErC,MAAO,aAiCP,MAAMC,EAA0BV,EAAM,WACpC,CACE,CACE,MAAAW,EACA,gBAAiBC,EACjB,kBAAmBC,EACnB,mBAAoBC,EACpB,kBAAmBC,EACnB,iBAAkBC,EAClB,oBAAqBC,EACrB,mBAAoBC,EACpB,oBAAqBC,EACrB,UAAAC,EACA,SAAAC,EACA,GAAGC,CACL,EACAC,IACG,CACH,MAAMC,EAAUf,EAAqB,EAC/BgB,EAAaD,GAAS,WAGtBE,EAAkBd,GAAuBY,GAAS,iBAAmB,eACrEG,EAAoBd,GAAyBW,GAAS,kBACtDI,EAAqBd,GAA0BU,GAAS,mBACxDK,EAAoBd,GAAyBS,GAAS,mBAAqB,WAC3EM,EAAmBd,GAAwBQ,GAAS,kBAAoB,SACxEO,EAAsBd,GAA2BO,GAAS,qBAAuB,cACjFQ,EAAqBd,GAA0BM,GAAS,oBAAsB,UAC9ES,EAAsBd,GAA2BK,GAAS,oBAE1DU,EAAmBV,GAAS,kBAAoB,CAAC,EACjDW,EAAcX,GAAS,YACvBY,EAAYZ,GAAS,UACrBa,EAAcb,GAAS,YACvBc,EAAoBd,GAAS,mBAAqB,GAGlD,CAACe,EAAgBC,CAAiB,EAAIxC,EAAM,SAAS,EAAK,EAC1D,CAACyC,EAAkBC,CAAmB,EAAI1C,EAAM,SAAS,EAAK,EAG9D2C,EAAgB3C,EAAM,SAAS,QAAQqB,CAAQ,EAG/CuB,EAAoB,MAAOC,EAAgCC,IAAyC,CACxG,GAAI,CAACD,EAAW,OAEhB,MAAME,EAAaD,IAAe,UAAYN,EAAoBE,EAClEK,EAAW,EAAI,EAEf,GAAI,CACF,OAAQF,EAAW,CACjB,IAAK,SACH,MAAMT,IAAYF,CAAgB,EAClC,MACF,IAAK,UACH,MAAMG,IAAcH,CAAgB,EACpC,MACF,IAAK,YACH,MAAMC,IAAcD,CAAgB,EACpC,MACF,QACE,KACJ,CACF,QAAE,CACAa,EAAW,EAAK,CAClB,CACF,EAGMC,EAAoBH,GACpBA,IAAc,YAAoB,GAC/BX,EAAiB,SAAW,EAGrC,OACEnC,EAAC,OACC,IAAKwB,EACL,UAAWlB,EACT,kHACAe,EACAK,GAAY,OACd,EACC,GAAGH,EAGH,UAAAX,GACCb,EAACQ,EAAA,CACC,GAAG,KACH,KAAM,EACN,UAAWD,EAAG,2DAA4DoB,GAAY,KAAK,EAC3F,KAAMd,EACR,EAIFb,EAAC,OAAI,UAAWO,EAAG,yCAA0CoB,GAAY,WAAW,EAClF,SAAA3B,EAACG,EAAA,CACC,QAAS,CAACE,EAAUC,CAAU,EAC9B,SAAU,GACV,WAAY,CACV,YAAa,EACf,EACA,cAAc,OACd,aAAc,GACd,YAAa,CACX,EAAG,CACD,cAAe,GACjB,EACA,IAAK,CACH,aAAc,GACd,cAAe,GACjB,EACA,KAAM,CACJ,cAAe,GACjB,EACA,KAAM,CACJ,aAAc,GACd,cAAeuC,EAAc,QAAU,EAAI,EAAI,GACjD,CACF,EAEC,SAAAA,EAAc,IAAI,CAACM,EAAOC,IACzBpD,EAACI,EAAA,CAAwB,UAAU,iBAChC,SAAA+C,GADeC,CAElB,CACD,EACH,EACF,EAGAnD,EAAC,OACC,UAAWM,EACT,0FACAoB,GAAY,MACd,EAEA,UAAA1B,EAAC,OAAI,UAAU,gBAEb,UAAAA,EAAC,OAAI,UAAWM,EAAG,oCAAqCoB,GAAY,UAAU,EAC3E,UAAAC,GACC5B,EAACU,EAAA,CAAK,GAAG,OAAO,KAAM,EAAG,UAAU,uDAChC,SAAAkB,EACH,EAEDC,GACC7B,EAACU,EAAA,CACC,GAAG,OACH,KAAM,EACN,UAAWH,EAAG,uDAAwDoB,GAAY,iBAAiB,EAElG,SAAAE,EAAkB,UACrB,EAEDW,GACCV,GACAD,GACAC,EAAmB,MAAQD,EAAkB,OAC3C7B,EAACU,EAAA,CACC,GAAG,OACH,KAAM,EACN,UAAWH,EACT,uEACAoB,GAAY,kBACd,EAEC,SAAAG,EAAmB,UACtB,GAEN,EACCK,GACCnC,EAACU,EAAA,CACC,GAAG,OACH,KAAM,EACN,UAAWH,EACT,sEACAoB,GAAY,mBACd,EAEC,gBAAOQ,GAAwB,WAC5BA,EAAoBC,CAAgB,EACpCD,EACN,GAEJ,EAGAlC,EAAC,OAAI,UAAWM,EAAG,aAAcoB,GAAY,WAAW,EACrD,UAAAM,GACCjC,EAACS,EAAA,CACC,QAAQ,YACR,QAAS,IAAMqC,EAAkBZ,EAAoB,WAAW,EAChE,SAAUgB,EAAiBhB,CAAkB,EAC7C,QAASS,EAER,SAAAV,EACH,EAEDF,GACC/B,EAACS,EAAA,CACC,QAAQ,UACR,QAAS,IAAMqC,EAAkBd,EAAkB,SAAS,EAC5D,SAAUkB,EAAiBlB,CAAgB,EAC3C,QAASS,EAER,SAAAV,EACH,GAEJ,GACF,GACF,CAEJ,CACF,EAEAnB,EAAwB,YAAc",
|
|
6
|
+
"names": ["jsx", "jsxs", "React", "Swiper", "SwiperSlide", "FreeMode", "Mousewheel", "cn", "Heading", "Button", "Text", "useSceneShelfContext", "SceneShelfProductsPanel", "title", "totalPriceLabelProp", "totalCurrentPriceProp", "totalOriginalPriceProp", "primaryButtonTextProp", "primaryButtonFunProp", "secondaryButtonTextProp", "secondaryButtonFunProp", "bundleDiscountLabelProp", "className", "children", "props", "ref", "context", "classNames", "totalPriceLabel", "totalCurrentPrice", "totalOriginalPrice", "primaryButtonText", "primaryButtonFun", "secondaryButtonText", "secondaryButtonFun", "bundleDiscountLabel", "selectedProducts", "onLearnMore", "onShopNow", "onAddToCart", "showOriginalPrice", "primaryLoading", "setPrimaryLoading", "secondaryLoading", "setSecondaryLoading", "childrenArray", "handleButtonClick", "buttonFun", "buttonType", "setLoading", "isButtonDisabled", "child", "index"]
|
|
7
7
|
}
|
|
@@ -32,6 +32,8 @@ export interface SceneShelfSceneProps extends React.HTMLAttributes<HTMLDivElemen
|
|
|
32
32
|
totalCurrentPrice?: PriceData;
|
|
33
33
|
/** 原总价 */
|
|
34
34
|
totalOriginalPrice?: PriceData;
|
|
35
|
+
/** 折扣提示,支持 string 或 render prop */
|
|
36
|
+
bundleDiscountLabel?: string | ((selectedProducts: SceneProductCardData[]) => React.ReactNode);
|
|
35
37
|
/** 初始选中的产品列表(通过 defaultSelected 标记) */
|
|
36
38
|
products?: SceneProductCardData[];
|
|
37
39
|
/** 子组件 */
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use client";import{jsx as
|
|
1
|
+
"use client";import{jsx as b}from"react/jsx-runtime";import*as t from"react";import{cn as B}from"../../helpers/index.js";import{SceneShelfContext as F}from"./context.js";const y=t.forwardRef(({showTags:l=!0,showOriginalPrice:i=!0,classNames:a,onSelectionChange:s,onProductImageClick:S,onLearnMore:u,onShopNow:f,onAddToCart:P,primaryButtonText:p="Shop Now",primaryButtonFun:h="buyNow",secondaryButtonText:m="Add to Cart",secondaryButtonFun:C="addCart",totalPriceLabel:v="Total Price:",totalCurrentPrice:x,totalOriginalPrice:D,bundleDiscountLabel:g,products:d=[],className:R,children:T,defaultSelect:H,...N},M)=>{const[c,E]=t.useState(()=>{const e=new Set;return d.forEach(o=>{o.defaultSelected&&e.add(o.id)}),e}),n=t.useMemo(()=>d.filter(e=>c.has(e.id)),[d,c]),w=t.useCallback((e,o)=>{E(k=>{const r=new Set(k);return e?r.add(o.id):r.delete(o.id),r})},[]);t.useEffect(()=>{s?.(n)},[n,s]);const V=t.useMemo(()=>({showTags:l,showOriginalPrice:i,classNames:a,selectedIds:c,selectedProducts:n,onSelectChange:w,onProductImageClick:S,onLearnMore:u,onShopNow:f,onAddToCart:P,primaryButtonText:p,primaryButtonFun:h,secondaryButtonText:m,secondaryButtonFun:C,totalPriceLabel:v,totalCurrentPrice:x,totalOriginalPrice:D,bundleDiscountLabel:g}),[l,i,a,c,n,w,S,u,f,P,p,h,m,C,v,x,D,g]);return b(F.Provider,{value:V,children:b("div",{ref:M,className:B("rounded-box laptop:flex-row lg-desktop:min-h-[560px] desktop:h-[448px] laptop:min-h-[448px] flex min-h-[560px] w-full flex-col items-stretch gap-0 overflow-hidden",R,a?.scene),...N,children:T})})});y.displayName="SceneShelf.Scene";export{y as SceneShelfScene};
|
|
2
2
|
//# sourceMappingURL=Scene.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/biz-components/SceneShelf/Scene.tsx"],
|
|
4
|
-
"sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport { cn } from '../../helpers/index.js'\nimport { SceneShelfContext, type SceneShelfContextValue } from './context.js'\nimport type { SceneProductCardData, PriceData, ButtonFunctionType } from './types.js'\n\nexport interface SceneShelfSceneProps extends React.HTMLAttributes<HTMLDivElement> {\n /** \u662F\u5426\u5C55\u793A\u6807\u7B7E */\n showTags?: boolean\n /** \u662F\u5426\u5C55\u793A\u539F\u4EF7 */\n showOriginalPrice?: boolean\n /** \u8BED\u4E49\u5316\u7C7B\u540D */\n classNames?: SceneShelfContextValue['classNames']\n /** \u4EA7\u54C1\u9009\u4E2D\u72B6\u6001\u53D8\u5316\u56DE\u8C03 */\n onSelectionChange?: (selectedProducts: SceneProductCardData[]) => void\n /** \u4EA7\u54C1\u56FE\u7247\u70B9\u51FB\u56DE\u8C03 */\n onProductImageClick?: (product: SceneProductCardData) => void\n /** \u70B9\u51FB\u4E86\u89E3\u66F4\u591A\u56DE\u8C03 */\n onLearnMore?: (selectedProducts: SceneProductCardData[]) => void | Promise<void>\n /** \u70B9\u51FB\u7ACB\u5373\u8D2D\u4E70\u56DE\u8C03 */\n onShopNow?: (selectedProducts: SceneProductCardData[]) => void | Promise<void>\n /** \u70B9\u51FB\u6DFB\u52A0\u5230\u8D2D\u7269\u8F66\u56DE\u8C03 */\n onAddToCart?: (selectedProducts: SceneProductCardData[]) => void | Promise<void>\n /** \u4E3B\u8981\u6309\u94AE\u6587\u672C */\n primaryButtonText?: string\n /** \u4E3B\u8981\u6309\u94AE\u529F\u80FD\u7C7B\u578B */\n primaryButtonFun?: ButtonFunctionType\n /** \u6B21\u8981\u6309\u94AE\u6587\u672C */\n secondaryButtonText?: string\n /** \u6B21\u8981\u6309\u94AE\u529F\u80FD\u7C7B\u578B */\n secondaryButtonFun?: ButtonFunctionType\n /** \u603B\u4EF7\u6807\u7B7E */\n totalPriceLabel?: string\n /** \u5F53\u524D\u603B\u4EF7 */\n totalCurrentPrice?: PriceData\n /** \u539F\u603B\u4EF7 */\n totalOriginalPrice?: PriceData\n /** \u521D\u59CB\u9009\u4E2D\u7684\u4EA7\u54C1\u5217\u8868\uFF08\u901A\u8FC7 defaultSelected \u6807\u8BB0\uFF09 */\n products?: SceneProductCardData[]\n /** \u5B50\u7EC4\u4EF6 */\n children: React.ReactNode\n /** \u9ED8\u8BA4\u9009\u4E2D\u7B56\u7565 first|all|none */\n defaultSelect?: 'first' | 'all' | 'none'\n}\n\n/**\n * SceneShelf Scene \u7EC4\u4EF6\n *\n * @description \u5355\u4E2A\u573A\u666F\u5BB9\u5668\uFF0C\u63D0\u4F9B Context \u914D\u7F6E\u548C\u9009\u62E9\u72B6\u6001\u7BA1\u7406\n */\nconst SceneShelfScene = React.forwardRef<HTMLDivElement, SceneShelfSceneProps>(\n (\n {\n showTags = true,\n showOriginalPrice = true,\n classNames,\n onSelectionChange,\n onProductImageClick,\n onLearnMore,\n onShopNow,\n onAddToCart,\n primaryButtonText = 'Shop Now',\n primaryButtonFun = 'buyNow',\n secondaryButtonText = 'Add to Cart',\n secondaryButtonFun = 'addCart',\n totalPriceLabel = 'Total Price:',\n totalCurrentPrice,\n totalOriginalPrice,\n products = [],\n className,\n children,\n defaultSelect,\n ...props\n },\n ref\n ) => {\n // \u7BA1\u7406\u9009\u4E2D\u72B6\u6001\n const [selectedIds, setSelectedIds] = React.useState<Set<string>>(() => {\n const initialSelected = new Set<string>()\n products.forEach(product => {\n if (product.defaultSelected) {\n initialSelected.add(product.id)\n }\n })\n return initialSelected\n })\n\n // \u8BA1\u7B97\u9009\u4E2D\u7684\u4EA7\u54C1\n const selectedProducts = React.useMemo(() => {\n return products.filter(product => selectedIds.has(product.id))\n }, [products, selectedIds])\n\n // \u5904\u7406\u9009\u4E2D\u72B6\u6001\u53D8\u5316\n const handleSelectChange = React.useCallback((selected: boolean, product: SceneProductCardData) => {\n setSelectedIds(prev => {\n const newSet = new Set(prev)\n if (selected) {\n newSet.add(product.id)\n } else {\n newSet.delete(product.id)\n }\n return newSet\n })\n }, [])\n\n // \u901A\u77E5\u7236\u7EC4\u4EF6\u9009\u4E2D\u72B6\u6001\u53D8\u5316\n React.useEffect(() => {\n onSelectionChange?.(selectedProducts)\n }, [selectedProducts, onSelectionChange])\n\n const contextValue = React.useMemo<SceneShelfContextValue>(\n () => ({\n showTags,\n showOriginalPrice,\n classNames,\n selectedIds,\n selectedProducts,\n onSelectChange: handleSelectChange,\n onProductImageClick,\n onLearnMore,\n onShopNow,\n onAddToCart,\n primaryButtonText,\n primaryButtonFun,\n secondaryButtonText,\n secondaryButtonFun,\n totalPriceLabel,\n totalCurrentPrice,\n totalOriginalPrice,\n }),\n [\n showTags,\n showOriginalPrice,\n classNames,\n selectedIds,\n selectedProducts,\n handleSelectChange,\n onProductImageClick,\n onLearnMore,\n onShopNow,\n onAddToCart,\n primaryButtonText,\n primaryButtonFun,\n secondaryButtonText,\n secondaryButtonFun,\n totalPriceLabel,\n totalCurrentPrice,\n totalOriginalPrice,\n ]\n )\n\n return (\n <SceneShelfContext.Provider value={contextValue}>\n <div\n ref={ref}\n className={cn(\n 'rounded-box laptop:flex-row lg-desktop:min-h-[560px] desktop:h-[448px] laptop:min-h-[448px] flex min-h-[560px] w-full flex-col items-stretch gap-0 overflow-hidden',\n className,\n classNames?.scene\n )}\n {...props}\n >\n {children}\n </div>\n </SceneShelfContext.Provider>\n )\n }\n)\n\nSceneShelfScene.displayName = 'SceneShelf.Scene'\n\nexport { SceneShelfScene }\n"],
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": ["jsx", "React", "cn", "SceneShelfContext", "SceneShelfScene", "showTags", "showOriginalPrice", "classNames", "onSelectionChange", "onProductImageClick", "onLearnMore", "onShopNow", "onAddToCart", "primaryButtonText", "primaryButtonFun", "secondaryButtonText", "secondaryButtonFun", "totalPriceLabel", "totalCurrentPrice", "totalOriginalPrice", "products", "className", "children", "defaultSelect", "props", "ref", "selectedIds", "setSelectedIds", "initialSelected", "product", "selectedProducts", "handleSelectChange", "selected", "prev", "newSet", "contextValue"]
|
|
4
|
+
"sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport { cn } from '../../helpers/index.js'\nimport { SceneShelfContext, type SceneShelfContextValue } from './context.js'\nimport type { SceneProductCardData, PriceData, ButtonFunctionType } from './types.js'\n\nexport interface SceneShelfSceneProps extends React.HTMLAttributes<HTMLDivElement> {\n /** \u662F\u5426\u5C55\u793A\u6807\u7B7E */\n showTags?: boolean\n /** \u662F\u5426\u5C55\u793A\u539F\u4EF7 */\n showOriginalPrice?: boolean\n /** \u8BED\u4E49\u5316\u7C7B\u540D */\n classNames?: SceneShelfContextValue['classNames']\n /** \u4EA7\u54C1\u9009\u4E2D\u72B6\u6001\u53D8\u5316\u56DE\u8C03 */\n onSelectionChange?: (selectedProducts: SceneProductCardData[]) => void\n /** \u4EA7\u54C1\u56FE\u7247\u70B9\u51FB\u56DE\u8C03 */\n onProductImageClick?: (product: SceneProductCardData) => void\n /** \u70B9\u51FB\u4E86\u89E3\u66F4\u591A\u56DE\u8C03 */\n onLearnMore?: (selectedProducts: SceneProductCardData[]) => void | Promise<void>\n /** \u70B9\u51FB\u7ACB\u5373\u8D2D\u4E70\u56DE\u8C03 */\n onShopNow?: (selectedProducts: SceneProductCardData[]) => void | Promise<void>\n /** \u70B9\u51FB\u6DFB\u52A0\u5230\u8D2D\u7269\u8F66\u56DE\u8C03 */\n onAddToCart?: (selectedProducts: SceneProductCardData[]) => void | Promise<void>\n /** \u4E3B\u8981\u6309\u94AE\u6587\u672C */\n primaryButtonText?: string\n /** \u4E3B\u8981\u6309\u94AE\u529F\u80FD\u7C7B\u578B */\n primaryButtonFun?: ButtonFunctionType\n /** \u6B21\u8981\u6309\u94AE\u6587\u672C */\n secondaryButtonText?: string\n /** \u6B21\u8981\u6309\u94AE\u529F\u80FD\u7C7B\u578B */\n secondaryButtonFun?: ButtonFunctionType\n /** \u603B\u4EF7\u6807\u7B7E */\n totalPriceLabel?: string\n /** \u5F53\u524D\u603B\u4EF7 */\n totalCurrentPrice?: PriceData\n /** \u539F\u603B\u4EF7 */\n totalOriginalPrice?: PriceData\n /** \u6298\u6263\u63D0\u793A\uFF0C\u652F\u6301 string \u6216 render prop */\n bundleDiscountLabel?: string | ((selectedProducts: SceneProductCardData[]) => React.ReactNode)\n /** \u521D\u59CB\u9009\u4E2D\u7684\u4EA7\u54C1\u5217\u8868\uFF08\u901A\u8FC7 defaultSelected \u6807\u8BB0\uFF09 */\n products?: SceneProductCardData[]\n /** \u5B50\u7EC4\u4EF6 */\n children: React.ReactNode\n /** \u9ED8\u8BA4\u9009\u4E2D\u7B56\u7565 first|all|none */\n defaultSelect?: 'first' | 'all' | 'none'\n}\n\n/**\n * SceneShelf Scene \u7EC4\u4EF6\n *\n * @description \u5355\u4E2A\u573A\u666F\u5BB9\u5668\uFF0C\u63D0\u4F9B Context \u914D\u7F6E\u548C\u9009\u62E9\u72B6\u6001\u7BA1\u7406\n */\nconst SceneShelfScene = React.forwardRef<HTMLDivElement, SceneShelfSceneProps>(\n (\n {\n showTags = true,\n showOriginalPrice = true,\n classNames,\n onSelectionChange,\n onProductImageClick,\n onLearnMore,\n onShopNow,\n onAddToCart,\n primaryButtonText = 'Shop Now',\n primaryButtonFun = 'buyNow',\n secondaryButtonText = 'Add to Cart',\n secondaryButtonFun = 'addCart',\n totalPriceLabel = 'Total Price:',\n totalCurrentPrice,\n totalOriginalPrice,\n bundleDiscountLabel,\n products = [],\n className,\n children,\n defaultSelect,\n ...props\n },\n ref\n ) => {\n // \u7BA1\u7406\u9009\u4E2D\u72B6\u6001\n const [selectedIds, setSelectedIds] = React.useState<Set<string>>(() => {\n const initialSelected = new Set<string>()\n products.forEach(product => {\n if (product.defaultSelected) {\n initialSelected.add(product.id)\n }\n })\n return initialSelected\n })\n\n // \u8BA1\u7B97\u9009\u4E2D\u7684\u4EA7\u54C1\n const selectedProducts = React.useMemo(() => {\n return products.filter(product => selectedIds.has(product.id))\n }, [products, selectedIds])\n\n // \u5904\u7406\u9009\u4E2D\u72B6\u6001\u53D8\u5316\n const handleSelectChange = React.useCallback((selected: boolean, product: SceneProductCardData) => {\n setSelectedIds(prev => {\n const newSet = new Set(prev)\n if (selected) {\n newSet.add(product.id)\n } else {\n newSet.delete(product.id)\n }\n return newSet\n })\n }, [])\n\n // \u901A\u77E5\u7236\u7EC4\u4EF6\u9009\u4E2D\u72B6\u6001\u53D8\u5316\n React.useEffect(() => {\n onSelectionChange?.(selectedProducts)\n }, [selectedProducts, onSelectionChange])\n\n const contextValue = React.useMemo<SceneShelfContextValue>(\n () => ({\n showTags,\n showOriginalPrice,\n classNames,\n selectedIds,\n selectedProducts,\n onSelectChange: handleSelectChange,\n onProductImageClick,\n onLearnMore,\n onShopNow,\n onAddToCart,\n primaryButtonText,\n primaryButtonFun,\n secondaryButtonText,\n secondaryButtonFun,\n totalPriceLabel,\n totalCurrentPrice,\n totalOriginalPrice,\n bundleDiscountLabel,\n }),\n [\n showTags,\n showOriginalPrice,\n classNames,\n selectedIds,\n selectedProducts,\n handleSelectChange,\n onProductImageClick,\n onLearnMore,\n onShopNow,\n onAddToCart,\n primaryButtonText,\n primaryButtonFun,\n secondaryButtonText,\n secondaryButtonFun,\n totalPriceLabel,\n totalCurrentPrice,\n totalOriginalPrice,\n bundleDiscountLabel,\n ]\n )\n\n return (\n <SceneShelfContext.Provider value={contextValue}>\n <div\n ref={ref}\n className={cn(\n 'rounded-box laptop:flex-row lg-desktop:min-h-[560px] desktop:h-[448px] laptop:min-h-[448px] flex min-h-[560px] w-full flex-col items-stretch gap-0 overflow-hidden',\n className,\n classNames?.scene\n )}\n {...props}\n >\n {children}\n </div>\n </SceneShelfContext.Provider>\n )\n }\n)\n\nSceneShelfScene.displayName = 'SceneShelf.Scene'\n\nexport { SceneShelfScene }\n"],
|
|
5
|
+
"mappings": "aA+JQ,cAAAA,MAAA,oBA7JR,UAAYC,MAAW,QACvB,OAAS,MAAAC,MAAU,yBACnB,OAAS,qBAAAC,MAAsD,eAiD/D,MAAMC,EAAkBH,EAAM,WAC5B,CACE,CACE,SAAAI,EAAW,GACX,kBAAAC,EAAoB,GACpB,WAAAC,EACA,kBAAAC,EACA,oBAAAC,EACA,YAAAC,EACA,UAAAC,EACA,YAAAC,EACA,kBAAAC,EAAoB,WACpB,iBAAAC,EAAmB,SACnB,oBAAAC,EAAsB,cACtB,mBAAAC,EAAqB,UACrB,gBAAAC,EAAkB,eAClB,kBAAAC,EACA,mBAAAC,EACA,oBAAAC,EACA,SAAAC,EAAW,CAAC,EACZ,UAAAC,EACA,SAAAC,EACA,cAAAC,EACA,GAAGC,CACL,EACAC,IACG,CAEH,KAAM,CAACC,EAAaC,CAAc,EAAI3B,EAAM,SAAsB,IAAM,CACtE,MAAM4B,EAAkB,IAAI,IAC5B,OAAAR,EAAS,QAAQS,GAAW,CACtBA,EAAQ,iBACVD,EAAgB,IAAIC,EAAQ,EAAE,CAElC,CAAC,EACMD,CACT,CAAC,EAGKE,EAAmB9B,EAAM,QAAQ,IAC9BoB,EAAS,OAAOS,GAAWH,EAAY,IAAIG,EAAQ,EAAE,CAAC,EAC5D,CAACT,EAAUM,CAAW,CAAC,EAGpBK,EAAqB/B,EAAM,YAAY,CAACgC,EAAmBH,IAAkC,CACjGF,EAAeM,GAAQ,CACrB,MAAMC,EAAS,IAAI,IAAID,CAAI,EAC3B,OAAID,EACFE,EAAO,IAAIL,EAAQ,EAAE,EAErBK,EAAO,OAAOL,EAAQ,EAAE,EAEnBK,CACT,CAAC,CACH,EAAG,CAAC,CAAC,EAGLlC,EAAM,UAAU,IAAM,CACpBO,IAAoBuB,CAAgB,CACtC,EAAG,CAACA,EAAkBvB,CAAiB,CAAC,EAExC,MAAM4B,EAAenC,EAAM,QACzB,KAAO,CACL,SAAAI,EACA,kBAAAC,EACA,WAAAC,EACA,YAAAoB,EACA,iBAAAI,EACA,eAAgBC,EAChB,oBAAAvB,EACA,YAAAC,EACA,UAAAC,EACA,YAAAC,EACA,kBAAAC,EACA,iBAAAC,EACA,oBAAAC,EACA,mBAAAC,EACA,gBAAAC,EACA,kBAAAC,EACA,mBAAAC,EACA,oBAAAC,CACF,GACA,CACEf,EACAC,EACAC,EACAoB,EACAI,EACAC,EACAvB,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,CACF,CACF,EAEA,OACEpB,EAACG,EAAkB,SAAlB,CAA2B,MAAOiC,EACjC,SAAApC,EAAC,OACC,IAAK0B,EACL,UAAWxB,EACT,sKACAoB,EACAf,GAAY,KACd,EACC,GAAGkB,EAEH,SAAAF,EACH,EACF,CAEJ,CACF,EAEAnB,EAAgB,YAAc",
|
|
6
|
+
"names": ["jsx", "React", "cn", "SceneShelfContext", "SceneShelfScene", "showTags", "showOriginalPrice", "classNames", "onSelectionChange", "onProductImageClick", "onLearnMore", "onShopNow", "onAddToCart", "primaryButtonText", "primaryButtonFun", "secondaryButtonText", "secondaryButtonFun", "totalPriceLabel", "totalCurrentPrice", "totalOriginalPrice", "bundleDiscountLabel", "products", "className", "children", "defaultSelect", "props", "ref", "selectedIds", "setSelectedIds", "initialSelected", "product", "selectedProducts", "handleSelectChange", "selected", "prev", "newSet", "contextValue"]
|
|
7
7
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import type { SceneShelfSemanticName, SceneProductCardData, PriceData, ButtonFunctionType } from './types.js';
|
|
3
|
+
import type { ReactNode } from 'react';
|
|
3
4
|
/**
|
|
4
5
|
* SceneShelf Context 值类型
|
|
5
6
|
*/
|
|
@@ -38,6 +39,8 @@ export interface SceneShelfContextValue {
|
|
|
38
39
|
totalCurrentPrice?: PriceData;
|
|
39
40
|
/** 原总价 */
|
|
40
41
|
totalOriginalPrice?: PriceData;
|
|
42
|
+
/** 折扣提示,支持 string 或 render prop */
|
|
43
|
+
bundleDiscountLabel?: string | ((selectedProducts: SceneProductCardData[]) => ReactNode);
|
|
41
44
|
}
|
|
42
45
|
declare const SceneShelfContext: React.Context<SceneShelfContextValue | null>;
|
|
43
46
|
/**
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/biz-components/SceneShelf/context.tsx"],
|
|
4
|
-
"sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport type { SceneShelfSemanticName, SceneProductCardData, PriceData, ButtonFunctionType } from './types.js'\n\n/**\n * SceneShelf Context \u503C\u7C7B\u578B\n */\nexport interface SceneShelfContextValue {\n /** \u662F\u5426\u5C55\u793A\u6807\u7B7E */\n showTags?: boolean\n /** \u662F\u5426\u5C55\u793A\u539F\u4EF7 */\n showOriginalPrice?: boolean\n /** \u8BED\u4E49\u5316\u7C7B\u540D */\n classNames?: Partial<Record<SceneShelfSemanticName, string>>\n /** \u9009\u4E2D\u7684\u4EA7\u54C1 ID \u96C6\u5408 */\n selectedIds: Set<string>\n /** \u9009\u4E2D\u7684\u4EA7\u54C1\u5217\u8868 */\n selectedProducts: SceneProductCardData[]\n /** \u9009\u4E2D\u72B6\u6001\u53D8\u5316\u56DE\u8C03 */\n onSelectChange: (selected: boolean, product: SceneProductCardData) => void\n /** \u4EA7\u54C1\u56FE\u7247\u70B9\u51FB\u56DE\u8C03 */\n onProductImageClick?: (product: SceneProductCardData) => void\n /** \u4E86\u89E3\u66F4\u591A\u56DE\u8C03 */\n onLearnMore?: (selectedProducts: SceneProductCardData[]) => void | Promise<void>\n /** \u7ACB\u5373\u8D2D\u4E70\u56DE\u8C03 */\n onShopNow?: (selectedProducts: SceneProductCardData[]) => void | Promise<void>\n /** \u6DFB\u52A0\u5230\u8D2D\u7269\u8F66\u56DE\u8C03 */\n onAddToCart?: (selectedProducts: SceneProductCardData[]) => void | Promise<void>\n /** \u4E3B\u8981\u6309\u94AE\u6587\u672C */\n primaryButtonText?: string\n /** \u4E3B\u8981\u6309\u94AE\u529F\u80FD\u7C7B\u578B */\n primaryButtonFun?: ButtonFunctionType\n /** \u6B21\u8981\u6309\u94AE\u6587\u672C */\n secondaryButtonText?: string\n /** \u6B21\u8981\u6309\u94AE\u529F\u80FD\u7C7B\u578B */\n secondaryButtonFun?: ButtonFunctionType\n /** \u603B\u4EF7\u6807\u7B7E */\n totalPriceLabel?: string\n /** \u5F53\u524D\u603B\u4EF7 */\n totalCurrentPrice?: PriceData\n /** \u539F\u603B\u4EF7 */\n totalOriginalPrice?: PriceData\n}\n\nconst SceneShelfContext = React.createContext<SceneShelfContextValue | null>(null)\n\n/**\n * \u83B7\u53D6 SceneShelf Context\n * @returns Context \u503C\uFF0C\u5982\u679C\u5728 Root \u5916\u4F7F\u7528\u5219\u8FD4\u56DE null\n */\nexport function useSceneShelfContext() {\n return React.useContext(SceneShelfContext)\n}\n\nexport { SceneShelfContext }\n"],
|
|
5
|
-
"mappings": "aAEA,UAAYA,MAAW,
|
|
4
|
+
"sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport type { SceneShelfSemanticName, SceneProductCardData, PriceData, ButtonFunctionType } from './types.js'\nimport type { ReactNode } from 'react'\n\n/**\n * SceneShelf Context \u503C\u7C7B\u578B\n */\nexport interface SceneShelfContextValue {\n /** \u662F\u5426\u5C55\u793A\u6807\u7B7E */\n showTags?: boolean\n /** \u662F\u5426\u5C55\u793A\u539F\u4EF7 */\n showOriginalPrice?: boolean\n /** \u8BED\u4E49\u5316\u7C7B\u540D */\n classNames?: Partial<Record<SceneShelfSemanticName, string>>\n /** \u9009\u4E2D\u7684\u4EA7\u54C1 ID \u96C6\u5408 */\n selectedIds: Set<string>\n /** \u9009\u4E2D\u7684\u4EA7\u54C1\u5217\u8868 */\n selectedProducts: SceneProductCardData[]\n /** \u9009\u4E2D\u72B6\u6001\u53D8\u5316\u56DE\u8C03 */\n onSelectChange: (selected: boolean, product: SceneProductCardData) => void\n /** \u4EA7\u54C1\u56FE\u7247\u70B9\u51FB\u56DE\u8C03 */\n onProductImageClick?: (product: SceneProductCardData) => void\n /** \u4E86\u89E3\u66F4\u591A\u56DE\u8C03 */\n onLearnMore?: (selectedProducts: SceneProductCardData[]) => void | Promise<void>\n /** \u7ACB\u5373\u8D2D\u4E70\u56DE\u8C03 */\n onShopNow?: (selectedProducts: SceneProductCardData[]) => void | Promise<void>\n /** \u6DFB\u52A0\u5230\u8D2D\u7269\u8F66\u56DE\u8C03 */\n onAddToCart?: (selectedProducts: SceneProductCardData[]) => void | Promise<void>\n /** \u4E3B\u8981\u6309\u94AE\u6587\u672C */\n primaryButtonText?: string\n /** \u4E3B\u8981\u6309\u94AE\u529F\u80FD\u7C7B\u578B */\n primaryButtonFun?: ButtonFunctionType\n /** \u6B21\u8981\u6309\u94AE\u6587\u672C */\n secondaryButtonText?: string\n /** \u6B21\u8981\u6309\u94AE\u529F\u80FD\u7C7B\u578B */\n secondaryButtonFun?: ButtonFunctionType\n /** \u603B\u4EF7\u6807\u7B7E */\n totalPriceLabel?: string\n /** \u5F53\u524D\u603B\u4EF7 */\n totalCurrentPrice?: PriceData\n /** \u539F\u603B\u4EF7 */\n totalOriginalPrice?: PriceData\n /** \u6298\u6263\u63D0\u793A\uFF0C\u652F\u6301 string \u6216 render prop */\n bundleDiscountLabel?: string | ((selectedProducts: SceneProductCardData[]) => ReactNode)\n}\n\nconst SceneShelfContext = React.createContext<SceneShelfContextValue | null>(null)\n\n/**\n * \u83B7\u53D6 SceneShelf Context\n * @returns Context \u503C\uFF0C\u5982\u679C\u5728 Root \u5916\u4F7F\u7528\u5219\u8FD4\u56DE null\n */\nexport function useSceneShelfContext() {\n return React.useContext(SceneShelfContext)\n}\n\nexport { SceneShelfContext }\n"],
|
|
5
|
+
"mappings": "aAEA,UAAYA,MAAW,QA8CvB,MAAMC,EAAoBD,EAAM,cAA6C,IAAI,EAM1E,SAASE,GAAuB,CACrC,OAAOF,EAAM,WAAWC,CAAiB,CAC3C",
|
|
6
6
|
"names": ["React", "SceneShelfContext", "useSceneShelfContext"]
|
|
7
7
|
}
|
|
@@ -9,7 +9,7 @@ export type SceneProductCardSemanticName = 'card' | 'cardSelected' | 'tags' | 'c
|
|
|
9
9
|
/**
|
|
10
10
|
* SceneShelf 语义化类名
|
|
11
11
|
*/
|
|
12
|
-
export type SceneShelfSemanticName = 'root' | 'header' | 'title' | 'subtitle' | 'sceneList' | 'scene' | 'content' | 'productList' | 'footer' | 'totalPrice' | 'currentTotalPrice' | 'originalTotalPrice' | 'buttonGroup' | SceneProductCardSemanticName;
|
|
12
|
+
export type SceneShelfSemanticName = 'root' | 'header' | 'title' | 'subtitle' | 'sceneList' | 'scene' | 'content' | 'productList' | 'footer' | 'totalPrice' | 'currentTotalPrice' | 'originalTotalPrice' | 'bundleDiscountLabel' | 'buttonGroup' | SceneProductCardSemanticName;
|
|
13
13
|
/**
|
|
14
14
|
* 产品标签数据
|
|
15
15
|
*/
|
|
@@ -115,7 +115,7 @@ interface ProductCardInnerProps {
|
|
|
115
115
|
index?: number;
|
|
116
116
|
}
|
|
117
117
|
declare const ProductCardInner: React.MemoExoticComponent<({ product, isShowTag, onImageClick, onProductImageClick, onLearnMore, onShopNow, onAddToCart, secondaryButtonText, secondaryButtonFun, primaryButtonText, primaryButtonFun, classNames, className, theme, index, }: ProductCardInnerProps) => import("react/jsx-runtime").JSX.Element>;
|
|
118
|
-
declare const _default: React.ForwardRefExoticComponent<Omit<SceneShelfV2Props & React.RefAttributes<HTMLDivElement>, "container" | keyof import("../../shared/Styles.js").StylesProps> & import("../../shared/Styles.js").StylesProps & import("../
|
|
118
|
+
declare const _default: React.ForwardRefExoticComponent<Omit<SceneShelfV2Props & React.RefAttributes<HTMLDivElement>, "container" | keyof import("../../shared/Styles.js").StylesProps> & import("../../shared/Styles.js").StylesProps & import("../index.js").ContainerProps & React.RefAttributes<unknown>> & {
|
|
119
119
|
readonly $$typeof: symbol;
|
|
120
120
|
};
|
|
121
121
|
export default _default;
|
|
@@ -73,7 +73,7 @@ export interface SceneShelfV3Props extends React.HTMLAttributes<HTMLDivElement>
|
|
|
73
73
|
export interface SceneShelfV3Component extends React.ForwardRefExoticComponent<SceneShelfV3Props & React.RefAttributes<HTMLDivElement>> {
|
|
74
74
|
ProductCard: typeof ProductCard;
|
|
75
75
|
}
|
|
76
|
-
declare const _default: React.ForwardRefExoticComponent<Omit<SceneShelfV3Props & React.RefAttributes<HTMLDivElement>, "container" | keyof import("../../shared/Styles.js").StylesProps> & import("../../shared/Styles.js").StylesProps & import("../
|
|
76
|
+
declare const _default: React.ForwardRefExoticComponent<Omit<SceneShelfV3Props & React.RefAttributes<HTMLDivElement>, "container" | keyof import("../../shared/Styles.js").StylesProps> & import("../../shared/Styles.js").StylesProps & import("../index.js").ContainerProps & React.RefAttributes<unknown>> & {
|
|
77
77
|
readonly $$typeof: symbol;
|
|
78
78
|
ProductCard: typeof ProductCard;
|
|
79
79
|
};
|
|
@@ -160,7 +160,7 @@ export interface SecondaryBannerProps extends React.HTMLAttributes<HTMLElement>
|
|
|
160
160
|
*/
|
|
161
161
|
isActive?: boolean;
|
|
162
162
|
}
|
|
163
|
-
declare const _default: React.ForwardRefExoticComponent<Omit<SecondaryBannerProps & React.RefAttributes<HTMLElement>, "container" | keyof import("../../shared/Styles.js").StylesProps> & import("../../shared/Styles.js").StylesProps & import("../
|
|
163
|
+
declare const _default: React.ForwardRefExoticComponent<Omit<SecondaryBannerProps & React.RefAttributes<HTMLElement>, "container" | keyof import("../../shared/Styles.js").StylesProps> & import("../../shared/Styles.js").StylesProps & import("../index.js").ContainerProps & React.RefAttributes<unknown>> & {
|
|
164
164
|
readonly $$typeof: symbol;
|
|
165
165
|
};
|
|
166
166
|
export default _default;
|
|
@@ -13,5 +13,5 @@ interface SelectStoreType extends React.HTMLAttributes<HTMLDivElement> {
|
|
|
13
13
|
list: SelectStoreDataType[];
|
|
14
14
|
};
|
|
15
15
|
}
|
|
16
|
-
declare const _default: React.ForwardRefExoticComponent<Omit<SelectStoreType, "container" | keyof import("../../shared/Styles.js").StylesProps> & import("../../shared/Styles.js").StylesProps & import("../
|
|
16
|
+
declare const _default: React.ForwardRefExoticComponent<Omit<SelectStoreType, "container" | keyof import("../../shared/Styles.js").StylesProps> & import("../../shared/Styles.js").StylesProps & import("../index.js").ContainerProps & React.RefAttributes<unknown>> & {};
|
|
17
17
|
export default _default;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { ShelfDisplayProps } from './shelfDisplay.js';
|
|
3
|
-
declare const _default: React.ForwardRefExoticComponent<Omit<ShelfDisplayProps & React.RefAttributes<HTMLDivElement>, "container" | keyof import("../../shared/Styles.js").StylesProps> & import("../../shared/Styles.js").StylesProps & import("../
|
|
3
|
+
declare const _default: React.ForwardRefExoticComponent<Omit<ShelfDisplayProps & React.RefAttributes<HTMLDivElement>, "container" | keyof import("../../shared/Styles.js").StylesProps> & import("../../shared/Styles.js").StylesProps & import("../index.js").ContainerProps & React.RefAttributes<unknown>> & {
|
|
4
4
|
readonly $$typeof: symbol;
|
|
5
5
|
};
|
|
6
6
|
export default _default;
|
|
@@ -2,7 +2,7 @@ import React from 'react';
|
|
|
2
2
|
import type { SloganProps } from './types.js';
|
|
3
3
|
export declare const componentType = "copy";
|
|
4
4
|
export declare const componentName = "brand_slogan";
|
|
5
|
-
declare const _default: React.ForwardRefExoticComponent<Omit<SloganProps & React.RefAttributes<HTMLDivElement>, "container" | keyof import("../../shared/Styles.js").StylesProps> & import("../../shared/Styles.js").StylesProps & import("../
|
|
5
|
+
declare const _default: React.ForwardRefExoticComponent<Omit<SloganProps & React.RefAttributes<HTMLDivElement>, "container" | keyof import("../../shared/Styles.js").StylesProps> & import("../../shared/Styles.js").StylesProps & import("../index.js").ContainerProps & React.RefAttributes<unknown>> & {
|
|
6
6
|
readonly $$typeof: symbol;
|
|
7
7
|
};
|
|
8
8
|
export default _default;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { SpacerProps } from './types.js';
|
|
3
|
-
declare const _default: React.ForwardRefExoticComponent<Omit<SpacerProps & React.RefAttributes<HTMLDivElement>, "container" | keyof import("../../shared/Styles.js").StylesProps> & import("../../shared/Styles.js").StylesProps & import("../
|
|
3
|
+
declare const _default: React.ForwardRefExoticComponent<Omit<SpacerProps & React.RefAttributes<HTMLDivElement>, "container" | keyof import("../../shared/Styles.js").StylesProps> & import("../../shared/Styles.js").StylesProps & import("../index.js").ContainerProps & React.RefAttributes<unknown>> & {
|
|
4
4
|
readonly $$typeof: symbol;
|
|
5
5
|
};
|
|
6
6
|
export default _default;
|
|
@@ -5,7 +5,7 @@ export interface SpecsProps extends Omit<React.HTMLAttributes<HTMLDivElement>, '
|
|
|
5
5
|
onChange?: (product: any, index: number) => void;
|
|
6
6
|
onSecondaryChange?: (data: any) => void;
|
|
7
7
|
}
|
|
8
|
-
declare const _default: React.ForwardRefExoticComponent<Omit<SpecsProps & React.RefAttributes<HTMLDivElement>, "container" | keyof import("../../shared/Styles.js").StylesProps> & import("../../shared/Styles.js").StylesProps & import("../
|
|
8
|
+
declare const _default: React.ForwardRefExoticComponent<Omit<SpecsProps & React.RefAttributes<HTMLDivElement>, "container" | keyof import("../../shared/Styles.js").StylesProps> & import("../../shared/Styles.js").StylesProps & import("../index.js").ContainerProps & React.RefAttributes<unknown>> & {
|
|
9
9
|
readonly $$typeof: symbol;
|
|
10
10
|
};
|
|
11
11
|
export default _default;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { SpecsComparisonProps } from './types.js';
|
|
3
|
-
declare const _default: React.ForwardRefExoticComponent<Omit<SpecsComparisonProps & React.RefAttributes<HTMLDivElement>, "container" | keyof import("../../shared/Styles.js").StylesProps> & import("../../shared/Styles.js").StylesProps & import("../
|
|
3
|
+
declare const _default: React.ForwardRefExoticComponent<Omit<SpecsComparisonProps & React.RefAttributes<HTMLDivElement>, "container" | keyof import("../../shared/Styles.js").StylesProps> & import("../../shared/Styles.js").StylesProps & import("../index.js").ContainerProps & React.RefAttributes<unknown>> & {
|
|
4
4
|
readonly $$typeof: symbol;
|
|
5
5
|
};
|
|
6
6
|
export default _default;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { TabWithImageProps } from './types.js';
|
|
3
|
-
declare const _default: React.ForwardRefExoticComponent<Omit<TabWithImageProps & React.RefAttributes<HTMLDivElement>, "container" | keyof import("../../shared/Styles.js").StylesProps> & import("../../shared/Styles.js").StylesProps & import("../
|
|
3
|
+
declare const _default: React.ForwardRefExoticComponent<Omit<TabWithImageProps & React.RefAttributes<HTMLDivElement>, "container" | keyof import("../../shared/Styles.js").StylesProps> & import("../../shared/Styles.js").StylesProps & import("../index.js").ContainerProps & React.RefAttributes<unknown>> & {
|
|
4
4
|
readonly $$typeof: symbol;
|
|
5
5
|
};
|
|
6
6
|
export default _default;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { TabsProps } from './types.js';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
declare const _default: React.ForwardRefExoticComponent<Omit<TabsProps & React.RefAttributes<HTMLDivElement>, "container" | keyof import("../../shared/Styles.js").StylesProps> & import("../../shared/Styles.js").StylesProps & import("../
|
|
3
|
+
declare const _default: React.ForwardRefExoticComponent<Omit<TabsProps & React.RefAttributes<HTMLDivElement>, "container" | keyof import("../../shared/Styles.js").StylesProps> & import("../../shared/Styles.js").StylesProps & import("../index.js").ContainerProps & React.RefAttributes<unknown>> & {
|
|
4
4
|
readonly $$typeof: symbol;
|
|
5
5
|
};
|
|
6
6
|
export default _default;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { TabsGroupProps } from './types.js';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
declare const _default: React.ForwardRefExoticComponent<Omit<TabsGroupProps & React.RefAttributes<HTMLDivElement>, "container" | keyof import("../../shared/Styles.js").StylesProps> & import("../../shared/Styles.js").StylesProps & import("../
|
|
3
|
+
declare const _default: React.ForwardRefExoticComponent<Omit<TabsGroupProps & React.RefAttributes<HTMLDivElement>, "container" | keyof import("../../shared/Styles.js").StylesProps> & import("../../shared/Styles.js").StylesProps & import("../index.js").ContainerProps & React.RefAttributes<unknown>> & {
|
|
4
4
|
readonly $$typeof: symbol;
|
|
5
5
|
};
|
|
6
6
|
export default _default;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { TabsWithMediaProps } from './types.js';
|
|
3
|
-
declare const _default: React.ForwardRefExoticComponent<Omit<TabsWithMediaProps & React.RefAttributes<HTMLDivElement>, "container" | keyof import("../../shared/Styles.js").StylesProps> & import("../../shared/Styles.js").StylesProps & import("../
|
|
3
|
+
declare const _default: React.ForwardRefExoticComponent<Omit<TabsWithMediaProps & React.RefAttributes<HTMLDivElement>, "container" | keyof import("../../shared/Styles.js").StylesProps> & import("../../shared/Styles.js").StylesProps & import("../index.js").ContainerProps & React.RefAttributes<unknown>> & {
|
|
4
4
|
readonly $$typeof: symbol;
|
|
5
5
|
};
|
|
6
6
|
export default _default;
|
|
@@ -4,7 +4,7 @@ import 'swiper/css';
|
|
|
4
4
|
import 'swiper/css/navigation';
|
|
5
5
|
import 'swiper/css/pagination';
|
|
6
6
|
import 'swiper/css/effect-coverflow';
|
|
7
|
-
declare const _default: React.ForwardRefExoticComponent<Omit<ThreeDCarouselProps & React.RefAttributes<HTMLDivElement>, "container" | keyof import("../../shared/Styles.js").StylesProps> & import("../../shared/Styles.js").StylesProps & import("../
|
|
7
|
+
declare const _default: React.ForwardRefExoticComponent<Omit<ThreeDCarouselProps & React.RefAttributes<HTMLDivElement>, "container" | keyof import("../../shared/Styles.js").StylesProps> & import("../../shared/Styles.js").StylesProps & import("../index.js").ContainerProps & React.RefAttributes<unknown>> & {
|
|
8
8
|
readonly $$typeof: symbol;
|
|
9
9
|
};
|
|
10
10
|
export default _default;
|
|
@@ -2,7 +2,7 @@ import React from 'react';
|
|
|
2
2
|
import type { TitlePropsBase } from './types.js';
|
|
3
3
|
export interface TitleProps extends TitlePropsBase, Omit<React.HTMLAttributes<HTMLDivElement>, 'className' | 'title'> {
|
|
4
4
|
}
|
|
5
|
-
declare const _default: React.ForwardRefExoticComponent<Omit<TitleProps & React.RefAttributes<HTMLDivElement>, "container" | keyof import("../../shared/Styles.js").StylesProps> & import("../../shared/Styles.js").StylesProps & import("../
|
|
5
|
+
declare const _default: React.ForwardRefExoticComponent<Omit<TitleProps & React.RefAttributes<HTMLDivElement>, "container" | keyof import("../../shared/Styles.js").StylesProps> & import("../../shared/Styles.js").StylesProps & import("../index.js").ContainerProps & React.RefAttributes<unknown>> & {
|
|
6
6
|
readonly $$typeof: symbol;
|
|
7
7
|
};
|
|
8
8
|
export default _default;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { VideoFeatureProps } from './types.js';
|
|
3
|
-
declare const _default: React.ForwardRefExoticComponent<Omit<VideoFeatureProps & React.RefAttributes<HTMLDivElement>, "container" | keyof import("../../shared/Styles.js").StylesProps> & import("../../shared/Styles.js").StylesProps & import("../
|
|
3
|
+
declare const _default: React.ForwardRefExoticComponent<Omit<VideoFeatureProps & React.RefAttributes<HTMLDivElement>, "container" | keyof import("../../shared/Styles.js").StylesProps> & import("../../shared/Styles.js").StylesProps & import("../index.js").ContainerProps & React.RefAttributes<unknown>> & {
|
|
4
4
|
readonly $$typeof: symbol;
|
|
5
5
|
};
|
|
6
6
|
export default _default;
|
|
@@ -6,7 +6,7 @@ declare const WhyChooseItem: {
|
|
|
6
6
|
}): import("react/jsx-runtime").JSX.Element;
|
|
7
7
|
displayName: string;
|
|
8
8
|
};
|
|
9
|
-
declare const _default: React.ForwardRefExoticComponent<Omit<WhyChooseProps & React.RefAttributes<HTMLDivElement>, "container" | keyof import("../../shared/Styles.js").StylesProps> & import("../../shared/Styles.js").StylesProps & import("../
|
|
9
|
+
declare const _default: React.ForwardRefExoticComponent<Omit<WhyChooseProps & React.RefAttributes<HTMLDivElement>, "container" | keyof import("../../shared/Styles.js").StylesProps> & import("../../shared/Styles.js").StylesProps & import("../index.js").ContainerProps & React.RefAttributes<unknown>> & {
|
|
10
10
|
readonly $$typeof: symbol;
|
|
11
11
|
};
|
|
12
12
|
export default _default;
|
|
@@ -38,6 +38,8 @@ export { IPC_SEARCH_PAGE, SearchPageTabType } from './SearchPage/types.js';
|
|
|
38
38
|
export { withLayout } from '../shared/Styles.js';
|
|
39
39
|
export { default as AiuiProvider } from './AiuiProvider/index.js';
|
|
40
40
|
export { default as Tabs } from './Tabs/index.js';
|
|
41
|
+
export { default as SwiperBox } from './SwiperBox/index.js';
|
|
42
|
+
export { VideoModal } from './VideoModal/index.js';
|
|
41
43
|
export { default as CreativeModule } from './CreativeModule/index.js';
|
|
42
44
|
export { default as GraphicOverlay } from './GraphicOverlay/index.js';
|
|
43
45
|
export { default as Specs } from './Specs/index.js';
|
|
@@ -199,3 +201,10 @@ export declare const PAYLOAD_COMPONENT_MAP: {
|
|
|
199
201
|
'ipc-featured-blog-posts': string;
|
|
200
202
|
'ipc-media-text-Overlay': string;
|
|
201
203
|
};
|
|
204
|
+
export { useAiuiContext } from './AiuiProvider/index.js';
|
|
205
|
+
export type { ContainerProps } from '../shared/Styles.js';
|
|
206
|
+
export { default as ModalRegisterSubscribe } from './ModalRegisterSubscribe/index.js';
|
|
207
|
+
export { default as ModalSubscribeConfirm } from './ModalSubscribeConfirm/index.js';
|
|
208
|
+
export { default as ModalCoupon } from './ModalCoupon/index.js';
|
|
209
|
+
export { default as ModalSmsSubscribe } from './ModalSmsSubscribe/index.js';
|
|
210
|
+
export { default as ModalVerify } from './ModalVerify/index.js';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{default as a}from"./ActivitySchedule/index.js";import{default as i}from"./GiftShelf/index.js";import{default as s}from"./GiftTierShelf/index.js";import{default as d}from"./ActivityMechanism/index.js";import{default as u}from"./BrandEquity/index.js";import{default as l}from"./MemberEquity/index.js";import{default as x}from"./Slogan/index.js";import{default as h}from"./Title/index.js";import{default as S}from"./Spacer/index.js";import{default as g}from"./ShelfDisplay/index.js";import{default as v}from"./Evaluate/index.js";import{default as T}from"./Category/index.js";import{default as j}from"./HeroBanner/index.js";import{default as b}from"./AccordionCards/index.js";import{default as A}from"./Graphic/index.js";import{default as L}from"./MediaPlayerBase/index.js";import{default as w}from"./MediaPlayerSticky/index.js";import{default as V}from"./MediaPlayerMulti/index.js";import{default as W}from"./Marquee/index.js";import{default as N}from"./MarqueeReview/index.js";import{default as H}from"./WhyChoose/index.js";import{default as _}from"./Faq/index.js";import{MarqueeItem as U,MarqueeImageContent as Y,MarqueeTextContent as J}from"./Marquee/index.js";import{default as X}from"./MultiLayoutGraphicBlock/index.js";import{default as $}from"./GraphicAttractionBlock/index.js";import{default as te}from"./HeaderNavigation/index.js";import{default as ae}from"./FooterNavigation/index.js";import{default as ie}from"./SearchPage/index.js";import{IPC_SEARCH_PAGE as se,SearchPageTabType as fe}from"./SearchPage/types.js";import{withLayout as ce}from"../shared/Styles.js";import{default as ne}from"./AiuiProvider/index.js";import{default as me}from"./Tabs/index.js";import{default as ye}from"./CreativeModule/index.js";import{default as Pe}from"./GraphicOverlay/index.js";import{default as Ce}from"./Specs/index.js";import{default as Me}from"./TabsGroup/index.js";import{default as Be,useBizProductContext as Te}from"./Listing/BizProductProvider.js";import{default as je}from"./Listing/components/PurchaseBar/index.js";import{default as be}from"./Listing/components/PurchaseBar/ProductActions/index.js";import{default as Ae}from"./Listing/components/ProductCard/index.js";import{default as Le}from"./Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.js";import{default as we}from"./Listing/components/ProductCard/ProductDetail/ProductBenefits/index.js";import{default as Ve}from"./Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js";import{default as We}from"./Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.js";import{default as Ne}from"./Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.js";import{default as He}from"./Listing/components/ProductCard/ProductDetail/ProductOptions/index.js";import{default as _e}from"./Listing/components/ProductCard/ProductDetail/ProductBundle/index.js";import{default as Ue}from"./Listing/components/ProductCard/ProductDetail/ProductCoupon/index.js";import{default as Je}from"./Listing/components/ProductCard/ProductDetail/ProductBanner/index.js";import{default as Xe}from"./Listing/components/ProductCard/ProductGridBox.js";import{default as $e}from"./Listing/components/ProductCard/ProductGallery/index.js";import{default as tt}from"./Listing/components/ProductCard/ProductDetail/index.js";import{default as at}from"./Listing/components/ProductCard/ProductSummary/index.js";import{default as it}from"./Listing/components/ProductCard/ProductDetail/BenefitsTab.js";import{default as st}from"./Listing/components/PaidShipping/index.js";import{default as dt}from"./Listing/components/CartActionButtons/index.js";import{default as ut}from"./Listing/components/ProductCard/ProductDetail/ProductServiceBenefits/index.js";import{default as lt}from"./Listing/components/ProductCard/ProductPaidShipping/index.js";import{default as xt}from"./GraphicMore/index.js";import{default as ht}from"./Features/index.js";import{default as St}from"./AplusDesc/index.js";import{default as gt}from"./GiftBox/index.js";import{default as vt}from"./SelectStore/index.js";import{default as Tt}from"./DownLoad/index.js";import{default as jt}from"./FootCharger/index.js";import{default as bt}from"./BrandCardLink/index.js";import*as Ft from"./IPRedirect/index.js";import{default as Gt}from"./WheelLottery/index.js";import{default as kt}from"./ProductLottery/index.js";import{default as Ot}from"./ProductCompare/index.js";import{default as Et}from"./Ksp/index.js";import{default as qt}from"./ImageTextFeature/index.js";import{default as Rt}from"./FeatureCards/index.js";import{default as Kt}from"./FeaturedBlogPosts/index.js";import{default as zt}from"./ImageWithText/index.js";import{default as Yt}from"./VideoFeature/index.js";import{default as Qt}from"./TabsWithMedia/index.js";import{default as Zt}from"./TabWithImage/index.js";import{default as er}from"./FeatureShowcase/index.js";import{default as rr}from"./ProductHero/index.js";import{default as or}from"./SpecsComparison/index.js";import{default as pr}from"./MediaSceneSwitcher/index.js";import{default as fr}from"./MediaSceneSwitcherV2/index.js";import{default as cr}from"./ThreeDCarousel/index.js";import{default as nr}from"./ProductNav/index.js";import{default as mr}from"./AnchorNavigation/index.js";import{default as yr}from"./PromotionalBar/index.js";import{default as Pr}from"./EventSchedule/index.js";import{default as Cr}from"./SecondaryBanner/index.js";import{default as Mr}from"./BuyOneGetOneShelf/index.js";import{default as Br}from"./ActiveShelf/index.js";import{default as Ir}from"./MediaShelf/index.js";import{default as Dr,CreditsProductCard as br}from"./CreditsShelf/index.js";import{default as Ar,SceneProductCard as Gr}from"./SceneShelf/index.js";import{default as kr,SceneShelfV2ProductCard as wr}from"./SceneShelfV2/index.js";import{default as Vr}from"./SceneShelfV3/index.js";import{default as Wr}from"./MediaEndorsement/index.js";import{default as Nr}from"./MediaTextOverlay/index.js";import{default as Hr}from"./ImageOverlayShelf/index.js";import{default as _r}from"./ImageTextOverlay/index.js";import{default as Ur}from"./MiniCart/index.js";import{default as Jr}from"./MiniCart/CircleProgress.js";import{default as Xr,MiniCartDialog as Zr}from"./MiniCart/MiniCartDialog.js";import{default as ea}from"./WebPushPopup/index.js";import{useEmarsysWebPush as ra}from"../hooks/useEmarsysWebPush.js";const e={"ipc-accordioncards":"AccordionCards","ipc-aplusdesc":"AplusDesc","ipc-banner":"HeroBanner","ipc-brand-equity":"BrandEquity","ipc-category":"Category","ipc-collection-banner":"CollectionBanner","ipc-collection-shelves":"CollectionShelves","ipc-creativemodule":"CreativeModule","ipc-download":"DownLoad","ipc-evaluate":"Evaluate","ipc-faq":"Faq","ipc-features":"Features","ipc-footcharger":"FootCharger","ipc-ga-block":"GraphicAttractionBlock","ipc-giftbox":"GiftBox","ipc-giftshelf":"GiftShelf","ipc-graphic":"Graphic","ipc-graphicmore":"GraphicMore","ipc-graphicoverlay":"GraphicOverlay","ipc-marquee":"Marquee","ipc-mediaplayerbase":"MediaPlayerBase","ipc-mediaplayermulti":"MediaPlayerMulti","ipc-mediaplayersticky":"MediaPlayerSticky","ipc-member-equity":"MemberEquity","ipc-mlg-block":"MultiLayoutGraphicBlock","ipc-search-page-tabs":"SearchPageBlock","ipc-selectstore":"SelectStore","ipc-shelfdisplay":"ShelfDisplay","ipc-slogan":"Slogan","ipc-spacer":"Spacer","ipc-specs":"Specs","ipc-tabs":"Tabs","ipc-text-marquee":"TextMarquee","ipc-title":"Title","ipc-whychoose":"WhyChoose","ipc-product-nav":"ProductNav","ipc-brand-card-link":"BrandCardLink","ipc-ipredirect":"IPRedirect",ksp:"Ksp","ipc-secondary-banner":"SecondaryBanner","ipc-media-endorsement":"MediaEndorsement","ipc-media-scene-switcher-v2":"MediaSceneSwitcherV2","ipc-featured-blog-posts":"FeaturedBlogPosts","ipc-media-text-Overlay":"MediaTextOverlay"};export{b as AccordionCards,Br as ActiveShelf,d as ActivityMechanism,a as ActivitySchedule,ne as AiuiProvider,mr as AnchorNavigation,St as AplusDesc,it as BenefitsTab,Be as BizProductProvider,bt as BrandCardLink,u as BrandEquity,Mr as BuyOneGetOneShelf,dt as CartActionButtons,T as Category,ye as CreativeModule,br as CreditsProductCard,Dr as CreditsShelf,Tt as DownLoad,v as Evaluate,Pr as EventSchedule,_ as Faq,Rt as FeatureCards,er as FeatureShowcase,Kt as FeaturedBlogPosts,ht as Features,jt as FootCharger,ae as FooterNavigation,gt as GiftBox,i as GiftShelf,s as GiftTierShelf,A as Graphic,$ as GraphicAttractionBlock,xt as GraphicMore,Pe as GraphicOverlay,te as HeaderNavigation,j as HeroBanner,se as IPC_SEARCH_PAGE,Ft as IPRedirect,Hr as ImageOverlayShelf,qt as ImageTextFeature,_r as ImageTextOverlay,zt as ImageWithText,Et as Ksp,W as Marquee,Y as MarqueeImageContent,U as MarqueeItem,N as MarqueeReview,J as MarqueeTextContent,Wr as MediaEndorsement,L as MediaPlayerBase,V as MediaPlayerMulti,w as MediaPlayerSticky,pr as MediaSceneSwitcher,fr as MediaSceneSwitcherV2,Ir as MediaShelf,Nr as MediaTextOverlay,l as MemberEquity,Ur as MiniCart,Jr as MiniCartCircleProgress,Xr as MiniCartDialog,Zr as MiniCartDialogComponent,X as MultiLayoutGraphicBlock,e as PAYLOAD_COMPONENT_MAP,st as PaidShipping,be as ProductActions,Je as ProductBanner,we as ProductBenefits,Le as ProductBenefitsTabs,_e as ProductBundle,Ae as ProductCard,Ot as ProductCompare,Ue as ProductCoupon,tt as ProductDetail,Ne as ProductExchangePurchase,We as ProductFreeGift,$e as ProductGallery,Xe as ProductGridBox,rr as ProductHero,Ve as ProductHighlight,kt as ProductLottery,nr as ProductNav,He as ProductOptions,lt as ProductPaidShipping,ut as ProductServiceBenefits,at as ProductSummary,yr as PromotionalBar,je as PurchaseBar,Gr as SceneProductCard,Ar as SceneShelf,kr as SceneShelfV2,wr as SceneShelfV2ProductCard,Vr as SceneShelfV3,ie as SearchPage,fe as SearchPageTabType,Cr as SecondaryBanner,vt as SelectStore,g as ShelfDisplay,x as Slogan,S as Spacer,Ce as Specs,or as SpecsComparison,Me as TabGroup,Zt as TabWithImage,me as Tabs,Qt as TabsWithMedia,cr as ThreeDCarousel,h as Title,Yt as VideoFeature,ea as WebPushPopup,Gt as WheelLottery,H as WhyChoose,Te as useBizProductContext,ra as useEmarsysWebPush,ce as withLayout};
|
|
1
|
+
import{default as o}from"./ActivitySchedule/index.js";import{default as i}from"./GiftShelf/index.js";import{default as p}from"./GiftTierShelf/index.js";import{default as d}from"./ActivityMechanism/index.js";import{default as u}from"./BrandEquity/index.js";import{default as m}from"./MemberEquity/index.js";import{default as x}from"./Slogan/index.js";import{default as h}from"./Title/index.js";import{default as P}from"./Spacer/index.js";import{default as g}from"./ShelfDisplay/index.js";import{default as v}from"./Evaluate/index.js";import{default as T}from"./Category/index.js";import{default as j}from"./HeroBanner/index.js";import{default as D}from"./AccordionCards/index.js";import{default as A}from"./Graphic/index.js";import{default as L}from"./MediaPlayerBase/index.js";import{default as w}from"./MediaPlayerSticky/index.js";import{default as O}from"./MediaPlayerMulti/index.js";import{default as W}from"./Marquee/index.js";import{default as N}from"./MarqueeReview/index.js";import{default as H}from"./WhyChoose/index.js";import{default as _}from"./Faq/index.js";import{MarqueeItem as U,MarqueeImageContent as Y,MarqueeTextContent as J}from"./Marquee/index.js";import{default as X}from"./MultiLayoutGraphicBlock/index.js";import{default as $}from"./GraphicAttractionBlock/index.js";import{default as te}from"./HeaderNavigation/index.js";import{default as oe}from"./FooterNavigation/index.js";import{default as ie}from"./SearchPage/index.js";import{IPC_SEARCH_PAGE as pe,SearchPageTabType as fe}from"./SearchPage/types.js";import{withLayout as ce}from"../shared/Styles.js";import{default as le}from"./AiuiProvider/index.js";import{default as ne}from"./Tabs/index.js";import{default as ye}from"./SwiperBox/index.js";import{VideoModal as Se}from"./VideoModal/index.js";import{default as Ce}from"./CreativeModule/index.js";import{default as Me}from"./GraphicOverlay/index.js";import{default as Be}from"./Specs/index.js";import{default as Ie}from"./TabsGroup/index.js";import{default as be,useBizProductContext as De}from"./Listing/BizProductProvider.js";import{default as Ae}from"./Listing/components/PurchaseBar/index.js";import{default as Le}from"./Listing/components/PurchaseBar/ProductActions/index.js";import{default as we}from"./Listing/components/ProductCard/index.js";import{default as Oe}from"./Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.js";import{default as We}from"./Listing/components/ProductCard/ProductDetail/ProductBenefits/index.js";import{default as Ne}from"./Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js";import{default as He}from"./Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.js";import{default as _e}from"./Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.js";import{default as Ue}from"./Listing/components/ProductCard/ProductDetail/ProductOptions/index.js";import{default as Je}from"./Listing/components/ProductCard/ProductDetail/ProductBundle/index.js";import{default as Xe}from"./Listing/components/ProductCard/ProductDetail/ProductCoupon/index.js";import{default as $e}from"./Listing/components/ProductCard/ProductDetail/ProductBanner/index.js";import{default as tt}from"./Listing/components/ProductCard/ProductGridBox.js";import{default as ot}from"./Listing/components/ProductCard/ProductGallery/index.js";import{default as it}from"./Listing/components/ProductCard/ProductDetail/index.js";import{default as pt}from"./Listing/components/ProductCard/ProductSummary/index.js";import{default as dt}from"./Listing/components/ProductCard/ProductDetail/BenefitsTab.js";import{default as ut}from"./Listing/components/PaidShipping/index.js";import{default as mt}from"./Listing/components/CartActionButtons/index.js";import{default as xt}from"./Listing/components/ProductCard/ProductDetail/ProductServiceBenefits/index.js";import{default as ht}from"./Listing/components/ProductCard/ProductPaidShipping/index.js";import{default as Pt}from"./GraphicMore/index.js";import{default as gt}from"./Features/index.js";import{default as vt}from"./AplusDesc/index.js";import{default as Tt}from"./GiftBox/index.js";import{default as jt}from"./SelectStore/index.js";import{default as Dt}from"./DownLoad/index.js";import{default as At}from"./FootCharger/index.js";import{default as Lt}from"./BrandCardLink/index.js";import*as kt from"./IPRedirect/index.js";import{default as Vt}from"./WheelLottery/index.js";import{default as Et}from"./ProductLottery/index.js";import{default as qt}from"./ProductCompare/index.js";import{default as Rt}from"./Ksp/index.js";import{default as Kt}from"./ImageTextFeature/index.js";import{default as zt}from"./FeatureCards/index.js";import{default as Yt}from"./FeaturedBlogPosts/index.js";import{default as Qt}from"./ImageWithText/index.js";import{default as Zt}from"./VideoFeature/index.js";import{default as er}from"./TabsWithMedia/index.js";import{default as rr}from"./TabWithImage/index.js";import{default as ar}from"./FeatureShowcase/index.js";import{default as sr}from"./ProductHero/index.js";import{default as fr}from"./SpecsComparison/index.js";import{default as cr}from"./MediaSceneSwitcher/index.js";import{default as lr}from"./MediaSceneSwitcherV2/index.js";import{default as nr}from"./ThreeDCarousel/index.js";import{default as yr}from"./ProductNav/index.js";import{default as Sr}from"./AnchorNavigation/index.js";import{default as Cr}from"./PromotionalBar/index.js";import{default as Mr}from"./EventSchedule/index.js";import{default as Br}from"./SecondaryBanner/index.js";import{default as Ir}from"./BuyOneGetOneShelf/index.js";import{default as br}from"./ActiveShelf/index.js";import{default as Fr}from"./MediaShelf/index.js";import{default as Gr,CreditsProductCard as Lr}from"./CreditsShelf/index.js";import{default as wr,SceneProductCard as Vr}from"./SceneShelf/index.js";import{default as Er,SceneShelfV2ProductCard as Wr}from"./SceneShelfV2/index.js";import{default as Nr}from"./SceneShelfV3/index.js";import{default as Hr}from"./MediaEndorsement/index.js";import{default as _r}from"./MediaTextOverlay/index.js";import{default as Ur}from"./ImageOverlayShelf/index.js";import{default as Jr}from"./ImageTextOverlay/index.js";import{default as Xr}from"./MiniCart/index.js";import{default as $r}from"./MiniCart/CircleProgress.js";import{default as to,MiniCartDialog as ro}from"./MiniCart/MiniCartDialog.js";import{default as ao}from"./WebPushPopup/index.js";import{useEmarsysWebPush as so}from"../hooks/useEmarsysWebPush.js";const e={"ipc-accordioncards":"AccordionCards","ipc-aplusdesc":"AplusDesc","ipc-banner":"HeroBanner","ipc-brand-equity":"BrandEquity","ipc-category":"Category","ipc-collection-banner":"CollectionBanner","ipc-collection-shelves":"CollectionShelves","ipc-creativemodule":"CreativeModule","ipc-download":"DownLoad","ipc-evaluate":"Evaluate","ipc-faq":"Faq","ipc-features":"Features","ipc-footcharger":"FootCharger","ipc-ga-block":"GraphicAttractionBlock","ipc-giftbox":"GiftBox","ipc-giftshelf":"GiftShelf","ipc-graphic":"Graphic","ipc-graphicmore":"GraphicMore","ipc-graphicoverlay":"GraphicOverlay","ipc-marquee":"Marquee","ipc-mediaplayerbase":"MediaPlayerBase","ipc-mediaplayermulti":"MediaPlayerMulti","ipc-mediaplayersticky":"MediaPlayerSticky","ipc-member-equity":"MemberEquity","ipc-mlg-block":"MultiLayoutGraphicBlock","ipc-search-page-tabs":"SearchPageBlock","ipc-selectstore":"SelectStore","ipc-shelfdisplay":"ShelfDisplay","ipc-slogan":"Slogan","ipc-spacer":"Spacer","ipc-specs":"Specs","ipc-tabs":"Tabs","ipc-text-marquee":"TextMarquee","ipc-title":"Title","ipc-whychoose":"WhyChoose","ipc-product-nav":"ProductNav","ipc-brand-card-link":"BrandCardLink","ipc-ipredirect":"IPRedirect",ksp:"Ksp","ipc-secondary-banner":"SecondaryBanner","ipc-media-endorsement":"MediaEndorsement","ipc-media-scene-switcher-v2":"MediaSceneSwitcherV2","ipc-featured-blog-posts":"FeaturedBlogPosts","ipc-media-text-Overlay":"MediaTextOverlay"};import{useAiuiContext as fo}from"./AiuiProvider/index.js";import{default as uo}from"./ModalRegisterSubscribe/index.js";import{default as mo}from"./ModalSubscribeConfirm/index.js";import{default as xo}from"./ModalCoupon/index.js";import{default as ho}from"./ModalSmsSubscribe/index.js";import{default as Po}from"./ModalVerify/index.js";export{D as AccordionCards,br as ActiveShelf,d as ActivityMechanism,o as ActivitySchedule,le as AiuiProvider,Sr as AnchorNavigation,vt as AplusDesc,dt as BenefitsTab,be as BizProductProvider,Lt as BrandCardLink,u as BrandEquity,Ir as BuyOneGetOneShelf,mt as CartActionButtons,T as Category,Ce as CreativeModule,Lr as CreditsProductCard,Gr as CreditsShelf,Dt as DownLoad,v as Evaluate,Mr as EventSchedule,_ as Faq,zt as FeatureCards,ar as FeatureShowcase,Yt as FeaturedBlogPosts,gt as Features,At as FootCharger,oe as FooterNavigation,Tt as GiftBox,i as GiftShelf,p as GiftTierShelf,A as Graphic,$ as GraphicAttractionBlock,Pt as GraphicMore,Me as GraphicOverlay,te as HeaderNavigation,j as HeroBanner,pe as IPC_SEARCH_PAGE,kt as IPRedirect,Ur as ImageOverlayShelf,Kt as ImageTextFeature,Jr as ImageTextOverlay,Qt as ImageWithText,Rt as Ksp,W as Marquee,Y as MarqueeImageContent,U as MarqueeItem,N as MarqueeReview,J as MarqueeTextContent,Hr as MediaEndorsement,L as MediaPlayerBase,O as MediaPlayerMulti,w as MediaPlayerSticky,cr as MediaSceneSwitcher,lr as MediaSceneSwitcherV2,Fr as MediaShelf,_r as MediaTextOverlay,m as MemberEquity,Xr as MiniCart,$r as MiniCartCircleProgress,to as MiniCartDialog,ro as MiniCartDialogComponent,xo as ModalCoupon,uo as ModalRegisterSubscribe,ho as ModalSmsSubscribe,mo as ModalSubscribeConfirm,Po as ModalVerify,X as MultiLayoutGraphicBlock,e as PAYLOAD_COMPONENT_MAP,ut as PaidShipping,Le as ProductActions,$e as ProductBanner,We as ProductBenefits,Oe as ProductBenefitsTabs,Je as ProductBundle,we as ProductCard,qt as ProductCompare,Xe as ProductCoupon,it as ProductDetail,_e as ProductExchangePurchase,He as ProductFreeGift,ot as ProductGallery,tt as ProductGridBox,sr as ProductHero,Ne as ProductHighlight,Et as ProductLottery,yr as ProductNav,Ue as ProductOptions,ht as ProductPaidShipping,xt as ProductServiceBenefits,pt as ProductSummary,Cr as PromotionalBar,Ae as PurchaseBar,Vr as SceneProductCard,wr as SceneShelf,Er as SceneShelfV2,Wr as SceneShelfV2ProductCard,Nr as SceneShelfV3,ie as SearchPage,fe as SearchPageTabType,Br as SecondaryBanner,jt as SelectStore,g as ShelfDisplay,x as Slogan,P as Spacer,Be as Specs,fr as SpecsComparison,ye as SwiperBox,Ie as TabGroup,rr as TabWithImage,ne as Tabs,er as TabsWithMedia,nr as ThreeDCarousel,h as Title,Zt as VideoFeature,Se as VideoModal,ao as WebPushPopup,Vt as WheelLottery,H as WhyChoose,fo as useAiuiContext,De as useBizProductContext,so as useEmarsysWebPush,ce as withLayout};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|