@anker-in/headless-ui 1.0.26-temp-111401-alpha.1763091370012 → 1.0.26-temp.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/biz-components/AiuiProvider/index.d.ts +0 -4
- package/dist/cjs/biz-components/AiuiProvider/index.js +1 -1
- package/dist/cjs/biz-components/AiuiProvider/index.js.map +2 -2
- package/dist/cjs/biz-components/BrandEquity/BrandEquity.js +1 -1
- package/dist/cjs/biz-components/BrandEquity/BrandEquity.js.map +3 -3
- package/dist/cjs/biz-components/BrandEquity/types.d.ts +0 -1
- package/dist/cjs/biz-components/BrandEquity/types.js +1 -1
- package/dist/cjs/biz-components/BrandEquity/types.js.map +1 -1
- package/dist/cjs/biz-components/Evaluate/index.js +1 -1
- package/dist/cjs/biz-components/Evaluate/index.js.map +3 -3
- package/dist/cjs/biz-components/Faq/Faq.js +1 -1
- package/dist/cjs/biz-components/Faq/Faq.js.map +2 -2
- package/dist/cjs/biz-components/FeatureCards/FeatureCards.js +1 -1
- package/dist/cjs/biz-components/FeatureCards/FeatureCards.js.map +3 -3
- package/dist/cjs/biz-components/FeatureCards/types.d.ts +2 -2
- package/dist/cjs/biz-components/FeatureCards/types.js +1 -1
- package/dist/cjs/biz-components/FeatureCards/types.js.map +1 -1
- package/dist/cjs/biz-components/FeatureShowcase/FeatureShowcase.js +1 -1
- package/dist/cjs/biz-components/FeatureShowcase/FeatureShowcase.js.map +3 -3
- package/dist/cjs/biz-components/FeatureShowcase/types.d.ts +3 -1
- package/dist/cjs/biz-components/FeatureShowcase/types.js +1 -1
- package/dist/cjs/biz-components/FeatureShowcase/types.js.map +1 -1
- package/dist/cjs/biz-components/FooterNavigation/index.js +1 -1
- package/dist/cjs/biz-components/FooterNavigation/index.js.map +2 -2
- package/dist/cjs/biz-components/Graphic/index.js +1 -1
- package/dist/cjs/biz-components/Graphic/index.js.map +2 -2
- package/dist/cjs/biz-components/HeaderNavigation/index.js +1 -1
- package/dist/cjs/biz-components/HeaderNavigation/index.js.map +2 -2
- package/dist/cjs/biz-components/HeroBanner/HeroBanner.js +1 -1
- package/dist/cjs/biz-components/HeroBanner/HeroBanner.js.map +3 -3
- package/dist/cjs/biz-components/HeroBanner/types.d.ts +6 -7
- package/dist/cjs/biz-components/HeroBanner/types.js +1 -1
- package/dist/cjs/biz-components/HeroBanner/types.js.map +1 -1
- package/dist/cjs/biz-components/ImageWithText/ImageWithText.js +1 -1
- package/dist/cjs/biz-components/ImageWithText/ImageWithText.js.map +3 -3
- package/dist/cjs/biz-components/ImageWithText/example.d.ts +6 -0
- package/dist/cjs/biz-components/ImageWithText/index.d.ts +1 -0
- package/dist/cjs/biz-components/ImageWithText/index.js +1 -1
- package/dist/cjs/biz-components/ImageWithText/index.js.map +3 -3
- package/dist/cjs/biz-components/ImageWithText/types.d.ts +22 -33
- package/dist/cjs/biz-components/ImageWithText/types.js +1 -1
- package/dist/cjs/biz-components/ImageWithText/types.js.map +3 -3
- package/dist/cjs/biz-components/InlineVideo/index.js +1 -1
- package/dist/cjs/biz-components/InlineVideo/index.js.map +2 -2
- package/dist/cjs/biz-components/Ksp/index.d.ts +3 -1
- package/dist/cjs/biz-components/Ksp/index.js +1 -1
- package/dist/cjs/biz-components/Ksp/index.js.map +3 -3
- package/dist/cjs/biz-components/MarqueeReview/index.js +1 -1
- package/dist/cjs/biz-components/MarqueeReview/index.js.map +1 -1
- package/dist/cjs/biz-components/MediaPlayerBase/index.backup.d.ts +7 -0
- package/dist/cjs/biz-components/MediaPlayerBase/index.backup.js +2 -0
- package/dist/cjs/biz-components/MediaPlayerBase/index.backup.js.map +7 -0
- package/dist/cjs/biz-components/MediaPlayerBase/index.js +1 -1
- package/dist/cjs/biz-components/MediaPlayerBase/index.js.map +3 -3
- package/dist/cjs/biz-components/MediaPlayerSticky/index.js +1 -1
- package/dist/cjs/biz-components/MediaPlayerSticky/index.js.map +2 -2
- package/dist/cjs/biz-components/MediaSceneSwitcher/MediaSceneSwitcher.js +2 -2
- package/dist/cjs/biz-components/MediaSceneSwitcher/MediaSceneSwitcher.js.map +3 -3
- package/dist/cjs/biz-components/MediaSceneSwitcher/types.d.ts +3 -1
- package/dist/cjs/biz-components/MediaSceneSwitcher/types.js +1 -1
- package/dist/cjs/biz-components/MediaSceneSwitcher/types.js.map +1 -1
- package/dist/cjs/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js +1 -1
- package/dist/cjs/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js.map +2 -2
- package/dist/{esm/biz-components/Specs/index.d.ts → cjs/biz-components/NavigationMenu/NavigationMenu.d.ts} +2 -1
- package/dist/cjs/biz-components/NavigationMenu/NavigationMenu.test.d.ts +1 -0
- package/dist/cjs/biz-components/NavigationMenu/index.d.ts +2 -0
- package/dist/cjs/biz-components/NavigationMenu/types.d.ts +47 -0
- package/dist/cjs/biz-components/NavigationSearch/index.js +1 -1
- package/dist/cjs/biz-components/NavigationSearch/index.js.map +1 -1
- package/dist/cjs/biz-components/ProductCompare/index.d.ts +23 -7
- package/dist/cjs/biz-components/ProductCompare/index.js +1 -1
- package/dist/cjs/biz-components/ProductCompare/index.js.map +3 -3
- package/dist/cjs/biz-components/ProductHero/ProductHero.js +1 -1
- package/dist/cjs/biz-components/ProductHero/ProductHero.js.map +3 -3
- package/dist/cjs/biz-components/ProductHero/types.d.ts +3 -1
- package/dist/cjs/biz-components/ProductHero/types.js +1 -1
- package/dist/cjs/biz-components/ProductHero/types.js.map +1 -1
- package/dist/cjs/biz-components/ProductNav/ProductNav.d.ts +7 -0
- package/dist/cjs/biz-components/ProductNav/ProductNav.js +2 -0
- package/dist/cjs/biz-components/ProductNav/ProductNav.js.map +7 -0
- package/dist/cjs/biz-components/ProductNav/index.d.ts +2 -0
- package/dist/cjs/biz-components/ProductNav/index.js +2 -0
- package/dist/cjs/biz-components/ProductNav/index.js.map +7 -0
- package/dist/cjs/biz-components/ProductNav/types.d.ts +35 -0
- package/dist/cjs/biz-components/ProductNav/types.js +2 -0
- package/dist/cjs/biz-components/ProductNav/types.js.map +7 -0
- package/dist/cjs/biz-components/ProductNavigation/ProductNavigation.d.ts +7 -0
- package/dist/cjs/biz-components/ProductNavigation/index.d.ts +2 -0
- package/dist/cjs/biz-components/ProductNavigation/types.d.ts +45 -0
- package/dist/cjs/biz-components/SearchPage/index.js +1 -1
- package/dist/cjs/biz-components/SearchPage/index.js.map +1 -1
- package/dist/cjs/biz-components/ShelfDisplay/index.js +1 -1
- package/dist/cjs/biz-components/ShelfDisplay/index.js.map +3 -3
- package/dist/cjs/biz-components/ShelfDisplay/shelfDisplay.d.ts +2 -11
- package/dist/cjs/biz-components/ShelfDisplay/shelfDisplay.js +1 -1
- package/dist/cjs/biz-components/ShelfDisplay/shelfDisplay.js.map +3 -3
- package/dist/cjs/biz-components/ShelfDisplay/shelfDisplayItem.js +4 -4
- package/dist/cjs/biz-components/ShelfDisplay/shelfDisplayItem.js.map +3 -3
- package/dist/cjs/biz-components/Spacer/index.js +1 -1
- package/dist/cjs/biz-components/Spacer/index.js.map +2 -2
- package/dist/cjs/biz-components/SpecsComparison/SpecsComparison.js +1 -1
- package/dist/cjs/biz-components/SpecsComparison/SpecsComparison.js.map +2 -2
- package/dist/cjs/biz-components/TabWithImage/TabWithImage.js +1 -1
- package/dist/cjs/biz-components/TabWithImage/TabWithImage.js.map +2 -2
- package/dist/cjs/biz-components/Tabs/Tabs.js +1 -1
- package/dist/cjs/biz-components/Tabs/Tabs.js.map +2 -2
- package/dist/cjs/biz-components/Tabs/types.d.ts +0 -1
- package/dist/cjs/biz-components/Tabs/types.js +1 -1
- package/dist/cjs/biz-components/Tabs/types.js.map +1 -1
- package/dist/cjs/biz-components/TabsWithMedia/TabsWithMedia.js +1 -1
- package/dist/cjs/biz-components/TabsWithMedia/TabsWithMedia.js.map +3 -3
- package/dist/cjs/biz-components/TabsWithMedia/types.d.ts +3 -1
- package/dist/cjs/biz-components/TabsWithMedia/types.js +1 -1
- package/dist/cjs/biz-components/TabsWithMedia/types.js.map +1 -1
- package/dist/cjs/biz-components/ThreeDCarousel/ThreeDCarousel.js +1 -1
- package/dist/cjs/biz-components/ThreeDCarousel/ThreeDCarousel.js.map +2 -2
- package/dist/cjs/biz-components/ThreeDCarousel/types.d.ts +3 -1
- package/dist/cjs/biz-components/ThreeDCarousel/types.js.map +1 -1
- package/dist/cjs/biz-components/Title/index.js +1 -1
- package/dist/cjs/biz-components/Title/index.js.map +3 -3
- package/dist/cjs/biz-components/Title/types.d.ts +0 -1
- package/dist/cjs/biz-components/Title/types.js +1 -1
- package/dist/cjs/biz-components/Title/types.js.map +1 -1
- package/dist/cjs/biz-components/VideoFeature/VideoFeature.js +1 -1
- package/dist/cjs/biz-components/VideoFeature/VideoFeature.js.map +2 -2
- package/dist/cjs/biz-components/index.d.ts +3 -35
- package/dist/cjs/biz-components/index.js +1 -1
- package/dist/cjs/biz-components/index.js.map +3 -3
- package/dist/cjs/components/checkbox.d.ts +0 -1
- package/dist/cjs/components/checkbox.js +1 -1
- package/dist/cjs/components/checkbox.js.map +3 -3
- package/dist/cjs/components/container.js +1 -1
- package/dist/cjs/components/container.js.map +2 -2
- package/dist/cjs/components/dialog.js +1 -1
- package/dist/cjs/components/dialog.js.map +2 -2
- package/dist/cjs/components/heading.d.ts +1 -0
- package/dist/cjs/components/heading.js +1 -1
- package/dist/cjs/components/heading.js.map +3 -3
- package/dist/cjs/components/index.d.ts +0 -1
- package/dist/cjs/components/index.js +1 -1
- package/dist/cjs/components/index.js.map +3 -3
- package/dist/cjs/helpers/ScrollLoadVideo.js +1 -1
- package/dist/cjs/helpers/ScrollLoadVideo.js.map +3 -3
- package/dist/cjs/helpers/utils.d.ts +0 -1
- package/dist/cjs/helpers/utils.js +1 -1
- package/dist/cjs/helpers/utils.js.map +3 -3
- package/dist/cjs/payload/ProductNav/config.d.ts +2 -0
- package/dist/cjs/payload/ProductNav/index.d.ts +1 -0
- package/dist/cjs/stories/HeroBanner.stories.js +2 -2
- package/dist/cjs/stories/HeroBanner.stories.js.map +3 -3
- package/dist/cjs/stories/InlineVideo.stories.js +2 -5
- package/dist/cjs/stories/InlineVideo.stories.js.map +2 -2
- package/dist/cjs/stories/ProductNav.stories.js +2 -0
- package/dist/cjs/stories/ProductNav.stories.js.map +7 -0
- package/dist/cjs/stories/ThreeDCarousel.stories.js +1 -12
- package/dist/cjs/stories/ThreeDCarousel.stories.js.map +2 -2
- package/dist/cjs/stories/featureCards.stories.js +2 -13
- package/dist/cjs/stories/featureCards.stories.js.map +3 -3
- package/dist/cjs/stories/imageWithText.stories.js +57 -26
- package/dist/cjs/stories/imageWithText.stories.js.map +3 -3
- package/dist/cjs/stories/ksp.stories.js +1 -2
- package/dist/cjs/stories/ksp.stories.js.map +2 -2
- package/dist/cjs/stories/productCompare.stories.js +32 -41
- package/dist/cjs/stories/productCompare.stories.js.map +3 -3
- package/dist/cjs/stories/productHero.stories.js +1 -3
- package/dist/cjs/stories/productHero.stories.js.map +2 -2
- package/dist/cjs/stories/tabWithImage.stories.js +1 -2
- package/dist/cjs/stories/tabWithImage.stories.js.map +2 -2
- package/dist/cjs/stories/tabsWithMedia.stories.js +1 -6
- package/dist/cjs/stories/tabsWithMedia.stories.js.map +2 -2
- package/dist/cjs/stories/videoFeature.stories.js +2 -3
- package/dist/cjs/stories/videoFeature.stories.js.map +2 -2
- package/dist/cjs/tsconfig.tsbuildinfo +1 -0
- package/dist/esm/biz-components/AiuiProvider/index.d.ts +0 -4
- package/dist/esm/biz-components/AiuiProvider/index.js +1 -1
- package/dist/esm/biz-components/AiuiProvider/index.js.map +2 -2
- package/dist/esm/biz-components/BrandEquity/BrandEquity.js +1 -1
- package/dist/esm/biz-components/BrandEquity/BrandEquity.js.map +3 -3
- package/dist/esm/biz-components/BrandEquity/types.d.ts +0 -1
- package/dist/esm/biz-components/Evaluate/index.js +1 -1
- package/dist/esm/biz-components/Evaluate/index.js.map +3 -3
- package/dist/esm/biz-components/Faq/Faq.js +1 -1
- package/dist/esm/biz-components/Faq/Faq.js.map +3 -3
- package/dist/esm/biz-components/FeatureCards/FeatureCards.js +1 -1
- package/dist/esm/biz-components/FeatureCards/FeatureCards.js.map +3 -3
- package/dist/esm/biz-components/FeatureCards/types.d.ts +2 -2
- package/dist/esm/biz-components/FeatureShowcase/FeatureShowcase.js +1 -1
- package/dist/esm/biz-components/FeatureShowcase/FeatureShowcase.js.map +3 -3
- package/dist/esm/biz-components/FeatureShowcase/types.d.ts +3 -1
- package/dist/esm/biz-components/FooterNavigation/index.js +1 -1
- package/dist/esm/biz-components/FooterNavigation/index.js.map +2 -2
- package/dist/esm/biz-components/Graphic/index.js +1 -1
- package/dist/esm/biz-components/Graphic/index.js.map +2 -2
- package/dist/esm/biz-components/HeaderNavigation/index.js +1 -1
- package/dist/esm/biz-components/HeaderNavigation/index.js.map +2 -2
- package/dist/esm/biz-components/HeroBanner/HeroBanner.js +1 -1
- package/dist/esm/biz-components/HeroBanner/HeroBanner.js.map +3 -3
- package/dist/esm/biz-components/HeroBanner/types.d.ts +6 -7
- package/dist/esm/biz-components/ImageWithText/ImageWithText.js +1 -1
- package/dist/esm/biz-components/ImageWithText/ImageWithText.js.map +3 -3
- package/dist/esm/biz-components/ImageWithText/example.d.ts +6 -0
- package/dist/esm/biz-components/ImageWithText/index.d.ts +1 -0
- package/dist/esm/biz-components/ImageWithText/index.js +1 -1
- package/dist/esm/biz-components/ImageWithText/index.js.map +3 -3
- package/dist/esm/biz-components/ImageWithText/types.d.ts +22 -33
- package/dist/esm/biz-components/ImageWithText/types.js +1 -0
- package/dist/esm/biz-components/ImageWithText/types.js.map +4 -4
- package/dist/esm/biz-components/InlineVideo/index.js +1 -1
- package/dist/esm/biz-components/InlineVideo/index.js.map +2 -2
- package/dist/esm/biz-components/Ksp/index.d.ts +3 -1
- package/dist/esm/biz-components/Ksp/index.js +1 -1
- package/dist/esm/biz-components/Ksp/index.js.map +3 -3
- package/dist/esm/biz-components/MarqueeReview/index.js +1 -1
- package/dist/esm/biz-components/MarqueeReview/index.js.map +1 -1
- package/dist/esm/biz-components/MediaPlayerBase/index.backup.d.ts +7 -0
- package/dist/esm/biz-components/MediaPlayerBase/index.backup.js +2 -0
- package/dist/esm/biz-components/MediaPlayerBase/index.backup.js.map +7 -0
- package/dist/esm/biz-components/MediaPlayerBase/index.js +1 -1
- package/dist/esm/biz-components/MediaPlayerBase/index.js.map +3 -3
- package/dist/esm/biz-components/MediaPlayerSticky/index.js +1 -1
- package/dist/esm/biz-components/MediaPlayerSticky/index.js.map +2 -2
- package/dist/esm/biz-components/MediaSceneSwitcher/MediaSceneSwitcher.js +2 -2
- package/dist/esm/biz-components/MediaSceneSwitcher/MediaSceneSwitcher.js.map +3 -3
- package/dist/esm/biz-components/MediaSceneSwitcher/types.d.ts +3 -1
- package/dist/esm/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js +1 -1
- package/dist/esm/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js.map +2 -2
- package/dist/{cjs/biz-components/Specs/index.d.ts → esm/biz-components/NavigationMenu/NavigationMenu.d.ts} +2 -1
- package/dist/esm/biz-components/NavigationMenu/NavigationMenu.test.d.ts +1 -0
- package/dist/esm/biz-components/NavigationMenu/index.d.ts +2 -0
- package/dist/esm/biz-components/NavigationMenu/types.d.ts +47 -0
- package/dist/esm/biz-components/NavigationSearch/index.js +1 -1
- package/dist/esm/biz-components/NavigationSearch/index.js.map +1 -1
- package/dist/esm/biz-components/ProductCompare/index.d.ts +23 -7
- package/dist/esm/biz-components/ProductCompare/index.js +1 -1
- package/dist/esm/biz-components/ProductCompare/index.js.map +3 -3
- package/dist/esm/biz-components/ProductHero/ProductHero.js +1 -1
- package/dist/esm/biz-components/ProductHero/ProductHero.js.map +3 -3
- package/dist/esm/biz-components/ProductHero/types.d.ts +3 -1
- package/dist/esm/biz-components/ProductNav/ProductNav.d.ts +7 -0
- package/dist/esm/biz-components/ProductNav/ProductNav.js +2 -0
- package/dist/esm/biz-components/ProductNav/ProductNav.js.map +7 -0
- package/dist/esm/biz-components/ProductNav/index.d.ts +2 -0
- package/dist/esm/biz-components/ProductNav/index.js +2 -0
- package/dist/esm/biz-components/ProductNav/index.js.map +7 -0
- package/dist/esm/biz-components/ProductNav/types.d.ts +35 -0
- package/dist/esm/biz-components/ProductNavigation/ProductNavigation.d.ts +7 -0
- package/dist/esm/biz-components/ProductNavigation/index.d.ts +2 -0
- package/dist/esm/biz-components/ProductNavigation/types.d.ts +45 -0
- package/dist/esm/biz-components/SearchPage/index.js +1 -1
- package/dist/esm/biz-components/SearchPage/index.js.map +1 -1
- package/dist/esm/biz-components/ShelfDisplay/index.js +1 -1
- package/dist/esm/biz-components/ShelfDisplay/index.js.map +3 -3
- package/dist/esm/biz-components/ShelfDisplay/shelfDisplay.d.ts +2 -11
- package/dist/esm/biz-components/ShelfDisplay/shelfDisplay.js +1 -1
- package/dist/esm/biz-components/ShelfDisplay/shelfDisplay.js.map +3 -3
- package/dist/esm/biz-components/ShelfDisplay/shelfDisplayItem.js +9 -9
- package/dist/esm/biz-components/ShelfDisplay/shelfDisplayItem.js.map +3 -3
- package/dist/esm/biz-components/Spacer/index.js +1 -1
- package/dist/esm/biz-components/Spacer/index.js.map +2 -2
- package/dist/esm/biz-components/SpecsComparison/SpecsComparison.js +1 -1
- package/dist/esm/biz-components/SpecsComparison/SpecsComparison.js.map +2 -2
- package/dist/esm/biz-components/TabWithImage/TabWithImage.js +1 -1
- package/dist/esm/biz-components/TabWithImage/TabWithImage.js.map +2 -2
- package/dist/esm/biz-components/Tabs/Tabs.js +1 -1
- package/dist/esm/biz-components/Tabs/Tabs.js.map +2 -2
- package/dist/esm/biz-components/Tabs/types.d.ts +0 -1
- package/dist/esm/biz-components/TabsWithMedia/TabsWithMedia.js +1 -1
- package/dist/esm/biz-components/TabsWithMedia/TabsWithMedia.js.map +3 -3
- package/dist/esm/biz-components/TabsWithMedia/types.d.ts +3 -1
- package/dist/esm/biz-components/ThreeDCarousel/ThreeDCarousel.js +1 -1
- package/dist/esm/biz-components/ThreeDCarousel/ThreeDCarousel.js.map +3 -3
- package/dist/esm/biz-components/ThreeDCarousel/types.d.ts +3 -1
- package/dist/esm/biz-components/Title/index.js +1 -1
- package/dist/esm/biz-components/Title/index.js.map +3 -3
- package/dist/esm/biz-components/Title/types.d.ts +0 -1
- package/dist/esm/biz-components/VideoFeature/VideoFeature.js +1 -1
- package/dist/esm/biz-components/VideoFeature/VideoFeature.js.map +2 -2
- package/dist/esm/biz-components/index.d.ts +3 -35
- package/dist/esm/biz-components/index.js +1 -1
- package/dist/esm/biz-components/index.js.map +2 -2
- package/dist/esm/components/checkbox.d.ts +0 -1
- package/dist/esm/components/checkbox.js +1 -1
- package/dist/esm/components/checkbox.js.map +3 -3
- package/dist/esm/components/container.js +1 -1
- package/dist/esm/components/container.js.map +2 -2
- package/dist/esm/components/dialog.js +1 -1
- package/dist/esm/components/dialog.js.map +2 -2
- package/dist/esm/components/heading.d.ts +1 -0
- package/dist/esm/components/heading.js +1 -1
- package/dist/esm/components/heading.js.map +3 -3
- package/dist/esm/components/index.d.ts +0 -1
- package/dist/esm/components/index.js +1 -1
- package/dist/esm/components/index.js.map +2 -2
- package/dist/esm/helpers/ScrollLoadVideo.js +1 -1
- package/dist/esm/helpers/ScrollLoadVideo.js.map +3 -3
- package/dist/esm/helpers/utils.d.ts +0 -1
- package/dist/esm/helpers/utils.js +1 -1
- package/dist/esm/helpers/utils.js.map +3 -3
- package/dist/esm/payload/ProductNav/config.d.ts +2 -0
- package/dist/esm/payload/ProductNav/index.d.ts +1 -0
- package/dist/esm/stories/HeroBanner.stories.js +2 -2
- package/dist/esm/stories/HeroBanner.stories.js.map +2 -2
- package/dist/esm/stories/InlineVideo.stories.js +1 -4
- package/dist/esm/stories/InlineVideo.stories.js.map +2 -2
- package/dist/esm/stories/ProductNav.stories.js +2 -0
- package/dist/esm/stories/ProductNav.stories.js.map +7 -0
- package/dist/esm/stories/ThreeDCarousel.stories.js +0 -11
- package/dist/esm/stories/ThreeDCarousel.stories.js.map +2 -2
- package/dist/esm/stories/featureCards.stories.js +3 -14
- package/dist/esm/stories/featureCards.stories.js.map +3 -3
- package/dist/esm/stories/imageWithText.stories.js +57 -26
- package/dist/esm/stories/imageWithText.stories.js.map +3 -3
- package/dist/esm/stories/ksp.stories.js +0 -1
- package/dist/esm/stories/ksp.stories.js.map +2 -2
- package/dist/esm/stories/productCompare.stories.js +32 -41
- package/dist/esm/stories/productCompare.stories.js.map +3 -3
- package/dist/esm/stories/productHero.stories.js +2 -4
- package/dist/esm/stories/productHero.stories.js.map +2 -2
- package/dist/esm/stories/tabWithImage.stories.js +0 -1
- package/dist/esm/stories/tabWithImage.stories.js.map +2 -2
- package/dist/esm/stories/tabsWithMedia.stories.js +0 -5
- package/dist/esm/stories/tabsWithMedia.stories.js.map +2 -2
- package/dist/esm/stories/videoFeature.stories.js +1 -2
- package/dist/esm/stories/videoFeature.stories.js.map +2 -2
- package/dist/esm/tsconfig.tsbuildinfo +1 -0
- package/dist/tokens/anker.css +0 -1
- package/dist/tokens/base.css +2 -6
- package/dist/tokens/eufy.css +0 -1
- package/dist/tokens/eufyMake.css +0 -1
- package/dist/tokens/solix.css +0 -1
- package/dist/tokens/soundcore.css +0 -1
- package/package.json +1 -3
- package/style.css +10 -23
- package/tailwind.config.js +0 -7
- package/dist/cjs/biz-components/AplusDesc/index.d.ts +0 -23
- package/dist/cjs/biz-components/AplusDesc/index.js +0 -2
- package/dist/cjs/biz-components/AplusDesc/index.js.map +0 -7
- package/dist/cjs/biz-components/CollectionShelves/CollectionShelvesItem.d.ts +0 -4
- package/dist/cjs/biz-components/CollectionShelves/CollectionShelvesItem.js +0 -2
- package/dist/cjs/biz-components/CollectionShelves/CollectionShelvesItem.js.map +0 -7
- package/dist/cjs/biz-components/CollectionShelves/index.d.ts +0 -7
- package/dist/cjs/biz-components/CollectionShelves/index.js +0 -2
- package/dist/cjs/biz-components/CollectionShelves/index.js.map +0 -7
- package/dist/cjs/biz-components/CollectionsBanner/index.d.ts +0 -7
- package/dist/cjs/biz-components/CollectionsBanner/index.js +0 -2
- package/dist/cjs/biz-components/CollectionsBanner/index.js.map +0 -7
- package/dist/cjs/biz-components/CollectionsBanner/types.d.ts +0 -43
- package/dist/cjs/biz-components/CollectionsBanner/types.js +0 -2
- package/dist/cjs/biz-components/CollectionsBanner/types.js.map +0 -7
- package/dist/cjs/biz-components/CollectionsFilters/FilterCardWrap.d.ts +0 -19
- package/dist/cjs/biz-components/CollectionsFilters/FilterCardWrap.js +0 -2
- package/dist/cjs/biz-components/CollectionsFilters/FilterCardWrap.js.map +0 -7
- package/dist/cjs/biz-components/CollectionsFilters/FilterCardWrapItem.d.ts +0 -10
- package/dist/cjs/biz-components/CollectionsFilters/FilterCardWrapItem.js +0 -2
- package/dist/cjs/biz-components/CollectionsFilters/FilterCardWrapItem.js.map +0 -7
- package/dist/cjs/biz-components/CollectionsFilters/FilterHeader.d.ts +0 -13
- package/dist/cjs/biz-components/CollectionsFilters/FilterHeader.js +0 -2
- package/dist/cjs/biz-components/CollectionsFilters/FilterHeader.js.map +0 -7
- package/dist/cjs/biz-components/CollectionsFilters/FilterList.d.ts +0 -14
- package/dist/cjs/biz-components/CollectionsFilters/FilterList.js +0 -2
- package/dist/cjs/biz-components/CollectionsFilters/FilterList.js.map +0 -7
- package/dist/cjs/biz-components/CollectionsFilters/component/AnimatedUL.d.ts +0 -5
- package/dist/cjs/biz-components/CollectionsFilters/component/AnimatedUL.js +0 -2
- package/dist/cjs/biz-components/CollectionsFilters/component/AnimatedUL.js.map +0 -7
- package/dist/cjs/biz-components/CollectionsFilters/component/TabFilter.d.ts +0 -12
- package/dist/cjs/biz-components/CollectionsFilters/component/TabFilter.js +0 -2
- package/dist/cjs/biz-components/CollectionsFilters/component/TabFilter.js.map +0 -7
- package/dist/cjs/biz-components/CollectionsFilters/component/filtersFun.d.ts +0 -12
- package/dist/cjs/biz-components/CollectionsFilters/component/filtersFun.js +0 -2
- package/dist/cjs/biz-components/CollectionsFilters/component/filtersFun.js.map +0 -7
- package/dist/cjs/biz-components/CollectionsFilters/component/helper.d.ts +0 -81
- package/dist/cjs/biz-components/CollectionsFilters/component/helper.js +0 -2
- package/dist/cjs/biz-components/CollectionsFilters/component/helper.js.map +0 -7
- package/dist/cjs/biz-components/CollectionsFilters/component/price.d.ts +0 -25
- package/dist/cjs/biz-components/CollectionsFilters/component/price.js +0 -2
- package/dist/cjs/biz-components/CollectionsFilters/component/price.js.map +0 -7
- package/dist/cjs/biz-components/CollectionsFilters/component/priceProps.d.ts +0 -215
- package/dist/cjs/biz-components/CollectionsFilters/component/priceProps.js +0 -2
- package/dist/cjs/biz-components/CollectionsFilters/component/priceProps.js.map +0 -7
- package/dist/cjs/biz-components/CollectionsFilters/index.d.ts +0 -24
- package/dist/cjs/biz-components/CollectionsFilters/index.js +0 -2
- package/dist/cjs/biz-components/CollectionsFilters/index.js.map +0 -7
- package/dist/cjs/biz-components/DownLoad/index.d.ts +0 -21
- package/dist/cjs/biz-components/DownLoad/index.js +0 -2
- package/dist/cjs/biz-components/DownLoad/index.js.map +0 -7
- package/dist/cjs/biz-components/Features/index.d.ts +0 -27
- package/dist/cjs/biz-components/Features/index.js +0 -2
- package/dist/cjs/biz-components/Features/index.js.map +0 -7
- package/dist/cjs/biz-components/FootCharger/index.d.ts +0 -13
- package/dist/cjs/biz-components/FootCharger/index.js +0 -2
- package/dist/cjs/biz-components/FootCharger/index.js.map +0 -7
- package/dist/cjs/biz-components/GiftBox/index.d.ts +0 -18
- package/dist/cjs/biz-components/GiftBox/index.js +0 -2
- package/dist/cjs/biz-components/GiftBox/index.js.map +0 -7
- package/dist/cjs/biz-components/GraphicMore/index.d.ts +0 -23
- package/dist/cjs/biz-components/GraphicMore/index.js +0 -2
- package/dist/cjs/biz-components/GraphicMore/index.js.map +0 -7
- package/dist/cjs/biz-components/HeroBanner/Countdown.d.ts +0 -10
- package/dist/cjs/biz-components/HeroBanner/Countdown.js +0 -2
- package/dist/cjs/biz-components/HeroBanner/Countdown.js.map +0 -7
- package/dist/cjs/biz-components/Listing/BizProductProvider.d.ts +0 -124
- package/dist/cjs/biz-components/Listing/BizProductProvider.js +0 -2
- package/dist/cjs/biz-components/Listing/BizProductProvider.js.map +0 -7
- package/dist/cjs/biz-components/Listing/components/PaidShipping/LearnMore.d.ts +0 -2
- package/dist/cjs/biz-components/Listing/components/PaidShipping/LearnMore.js +0 -2
- package/dist/cjs/biz-components/Listing/components/PaidShipping/LearnMore.js.map +0 -7
- package/dist/cjs/biz-components/Listing/components/PaidShipping/ShippingMethod.d.ts +0 -10
- package/dist/cjs/biz-components/Listing/components/PaidShipping/ShippingMethod.js +0 -2
- package/dist/cjs/biz-components/Listing/components/PaidShipping/ShippingMethod.js.map +0 -7
- package/dist/cjs/biz-components/Listing/components/PaidShipping/ShippingPolicyModal.d.ts +0 -25
- package/dist/cjs/biz-components/Listing/components/PaidShipping/ShippingPolicyModal.js +0 -2
- package/dist/cjs/biz-components/Listing/components/PaidShipping/ShippingPolicyModal.js.map +0 -7
- package/dist/cjs/biz-components/Listing/components/PaidShipping/index.d.ts +0 -12
- package/dist/cjs/biz-components/Listing/components/PaidShipping/index.js +0 -2
- package/dist/cjs/biz-components/Listing/components/PaidShipping/index.js.map +0 -7
- package/dist/cjs/biz-components/Listing/components/PaidShipping/type.d.ts +0 -30
- package/dist/cjs/biz-components/Listing/components/PaidShipping/type.js +0 -2
- package/dist/cjs/biz-components/Listing/components/PaidShipping/type.js.map +0 -7
- package/dist/cjs/biz-components/Listing/components/PaidShipping/utils.d.ts +0 -2
- package/dist/cjs/biz-components/Listing/components/PaidShipping/utils.js +0 -2
- package/dist/cjs/biz-components/Listing/components/PaidShipping/utils.js.map +0 -7
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.d.ts +0 -36
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.js +0 -40
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.js.map +0 -7
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/ModalContainer.d.ts +0 -10
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/ModalContainer.js +0 -2
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/ModalContainer.js.map +0 -7
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.d.ts +0 -30
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.js +0 -2
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.js.map +0 -7
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.d.ts +0 -2
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.js +0 -2
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.js.map +0 -7
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.d.ts +0 -2
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.js +0 -2
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.js.map +0 -7
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.d.ts +0 -2
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.js +0 -2
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.js.map +0 -7
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.d.ts +0 -2
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js +0 -2
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js.map +0 -7
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.d.ts +0 -2
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.js +0 -2
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.js.map +0 -7
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/index.d.ts +0 -2
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/index.js +0 -2
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/index.js.map +0 -7
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/types.d.ts +0 -43
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/types.js +0 -2
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/types.js.map +0 -7
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/CompareModal.d.ts +0 -2
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/CompareModal.js +0 -2
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/CompareModal.js.map +0 -7
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/Select.d.ts +0 -21
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/Select.js +0 -2
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/Select.js.map +0 -7
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/ShopifyColorOption.d.ts +0 -5
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/ShopifyColorOption.js +0 -2
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/ShopifyColorOption.js.map +0 -7
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/SpecsModal.d.ts +0 -1
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/SpecsModal.js +0 -2
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/SpecsModal.js.map +0 -7
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/index.d.ts +0 -2
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/index.js +0 -2
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/index.js.map +0 -7
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/types.d.ts +0 -42
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/types.js +0 -2
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/types.js.map +0 -7
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGridBox.d.ts +0 -6
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGridBox.js +0 -2
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGridBox.js.map +0 -7
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductSummary/index.d.ts +0 -2
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductSummary/index.js +0 -2
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductSummary/index.js.map +0 -7
- package/dist/cjs/biz-components/Listing/components/ProductCard/index.d.ts +0 -2
- package/dist/cjs/biz-components/Listing/components/ProductCard/index.js +0 -2
- package/dist/cjs/biz-components/Listing/components/ProductCard/index.js.map +0 -7
- package/dist/cjs/biz-components/Listing/components/PurchaseBar/ProductActions/index.d.ts +0 -2
- package/dist/cjs/biz-components/Listing/components/PurchaseBar/ProductActions/index.js +0 -2
- package/dist/cjs/biz-components/Listing/components/PurchaseBar/ProductActions/index.js.map +0 -7
- package/dist/cjs/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/index.d.ts +0 -3
- package/dist/cjs/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/index.js +0 -2
- package/dist/cjs/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/index.js.map +0 -7
- package/dist/cjs/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/types.d.ts +0 -13
- package/dist/cjs/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/types.js +0 -2
- package/dist/cjs/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/types.js.map +0 -7
- package/dist/cjs/biz-components/Listing/components/PurchaseBar/index.d.ts +0 -3
- package/dist/cjs/biz-components/Listing/components/PurchaseBar/index.js +0 -2
- package/dist/cjs/biz-components/Listing/components/PurchaseBar/index.js.map +0 -7
- package/dist/cjs/biz-components/Listing/components/PurchaseBar/types.d.ts +0 -12
- package/dist/cjs/biz-components/Listing/components/PurchaseBar/types.js +0 -2
- package/dist/cjs/biz-components/Listing/components/PurchaseBar/types.js.map +0 -7
- package/dist/cjs/biz-components/Listing/components/index.d.ts +0 -3
- package/dist/cjs/biz-components/Listing/components/index.js +0 -2
- package/dist/cjs/biz-components/Listing/components/index.js.map +0 -7
- package/dist/cjs/biz-components/Listing/const.d.ts +0 -29
- package/dist/cjs/biz-components/Listing/const.js +0 -2
- package/dist/cjs/biz-components/Listing/const.js.map +0 -7
- package/dist/cjs/biz-components/Listing/hooks/use-variant-media.d.ts +0 -14
- package/dist/cjs/biz-components/Listing/hooks/use-variant-media.js +0 -2
- package/dist/cjs/biz-components/Listing/hooks/use-variant-media.js.map +0 -7
- package/dist/cjs/biz-components/Listing/hooks/use-variant.d.ts +0 -5
- package/dist/cjs/biz-components/Listing/hooks/use-variant.js +0 -2
- package/dist/cjs/biz-components/Listing/hooks/use-variant.js.map +0 -7
- package/dist/cjs/biz-components/Listing/hooks/useBenefits.d.ts +0 -50
- package/dist/cjs/biz-components/Listing/hooks/useBenefits.js +0 -2
- package/dist/cjs/biz-components/Listing/hooks/useBenefits.js.map +0 -7
- package/dist/cjs/biz-components/Listing/hooks/useCopy.d.ts +0 -5
- package/dist/cjs/biz-components/Listing/hooks/useCopy.js +0 -2
- package/dist/cjs/biz-components/Listing/hooks/useCopy.js.map +0 -7
- package/dist/cjs/biz-components/Listing/hooks/useDiscountEnable.d.ts +0 -14
- package/dist/cjs/biz-components/Listing/hooks/useDiscountEnable.js +0 -2
- package/dist/cjs/biz-components/Listing/hooks/useDiscountEnable.js.map +0 -7
- package/dist/cjs/biz-components/Listing/index.d.ts +0 -4
- package/dist/cjs/biz-components/Listing/index.js +0 -2
- package/dist/cjs/biz-components/Listing/index.js.map +0 -7
- package/dist/cjs/biz-components/Listing/types/graphql.d.ts +0 -7473
- package/dist/cjs/biz-components/Listing/types/graphql.js +0 -2
- package/dist/cjs/biz-components/Listing/types/graphql.js.map +0 -7
- package/dist/cjs/biz-components/Listing/types/product.d.ts +0 -141
- package/dist/cjs/biz-components/Listing/types/product.js +0 -2
- package/dist/cjs/biz-components/Listing/types/product.js.map +0 -7
- package/dist/cjs/biz-components/Listing/types/productMetafields.d.js +0 -2
- package/dist/cjs/biz-components/Listing/types/productMetafields.d.js.map +0 -7
- package/dist/cjs/biz-components/Listing/types/type-helper.d.ts +0 -5
- package/dist/cjs/biz-components/Listing/types/type-helper.js +0 -2
- package/dist/cjs/biz-components/Listing/types/type-helper.js.map +0 -7
- package/dist/cjs/biz-components/Listing/types.d.ts +0 -29
- package/dist/cjs/biz-components/Listing/types.js +0 -2
- package/dist/cjs/biz-components/Listing/types.js.map +0 -7
- package/dist/cjs/biz-components/Listing/utils/helper.d.ts +0 -36
- package/dist/cjs/biz-components/Listing/utils/helper.js +0 -2
- package/dist/cjs/biz-components/Listing/utils/helper.js.map +0 -7
- package/dist/cjs/biz-components/Listing/utils/index.d.ts +0 -37
- package/dist/cjs/biz-components/Listing/utils/index.js +0 -2
- package/dist/cjs/biz-components/Listing/utils/index.js.map +0 -7
- package/dist/cjs/biz-components/Listing/utils/textFormat.d.ts +0 -73
- package/dist/cjs/biz-components/Listing/utils/textFormat.js +0 -2
- package/dist/cjs/biz-components/Listing/utils/textFormat.js.map +0 -7
- package/dist/cjs/biz-components/Paginator/index.d.ts +0 -7
- package/dist/cjs/biz-components/Paginator/index.js +0 -7
- package/dist/cjs/biz-components/Paginator/index.js.map +0 -7
- package/dist/cjs/biz-components/SelectStore/index.d.ts +0 -21
- package/dist/cjs/biz-components/SelectStore/index.js +0 -2
- package/dist/cjs/biz-components/SelectStore/index.js.map +0 -7
- package/dist/cjs/biz-components/Specs/dropdown.d.ts +0 -11
- package/dist/cjs/biz-components/Specs/dropdown.js +0 -3
- package/dist/cjs/biz-components/Specs/dropdown.js.map +0 -7
- package/dist/cjs/biz-components/Specs/index.js +0 -2
- package/dist/cjs/biz-components/Specs/index.js.map +0 -7
- package/dist/cjs/biz-components/TabsGroup/index.d.ts +0 -7
- package/dist/cjs/biz-components/TabsGroup/index.js +0 -2
- package/dist/cjs/biz-components/TabsGroup/index.js.map +0 -7
- package/dist/cjs/biz-components/TabsGroup/types.d.ts +0 -16
- package/dist/cjs/biz-components/TabsGroup/types.js +0 -2
- package/dist/cjs/biz-components/TabsGroup/types.js.map +0 -7
- package/dist/cjs/biz-components/TextMarquee/index.d.ts +0 -10
- package/dist/cjs/biz-components/TextMarquee/index.js +0 -2
- package/dist/cjs/biz-components/TextMarquee/index.js.map +0 -7
- package/dist/cjs/components/breadcrumb.d.ts +0 -12
- package/dist/cjs/components/breadcrumb.js +0 -2
- package/dist/cjs/components/breadcrumb.js.map +0 -7
- package/dist/cjs/hooks/useRollout.d.ts +0 -2
- package/dist/cjs/hooks/useRollout.js +0 -2
- package/dist/cjs/hooks/useRollout.js.map +0 -7
- package/dist/cjs/stories/specs.stories.js +0 -57
- package/dist/cjs/stories/specs.stories.js.map +0 -7
- package/dist/esm/biz-components/AplusDesc/index.d.ts +0 -23
- package/dist/esm/biz-components/AplusDesc/index.js +0 -2
- package/dist/esm/biz-components/AplusDesc/index.js.map +0 -7
- package/dist/esm/biz-components/CollectionShelves/CollectionShelvesItem.d.ts +0 -4
- package/dist/esm/biz-components/CollectionShelves/CollectionShelvesItem.js +0 -2
- package/dist/esm/biz-components/CollectionShelves/CollectionShelvesItem.js.map +0 -7
- package/dist/esm/biz-components/CollectionShelves/index.d.ts +0 -7
- package/dist/esm/biz-components/CollectionShelves/index.js +0 -2
- package/dist/esm/biz-components/CollectionShelves/index.js.map +0 -7
- package/dist/esm/biz-components/CollectionsBanner/index.d.ts +0 -7
- package/dist/esm/biz-components/CollectionsBanner/index.js +0 -2
- package/dist/esm/biz-components/CollectionsBanner/index.js.map +0 -7
- package/dist/esm/biz-components/CollectionsBanner/types.d.ts +0 -43
- package/dist/esm/biz-components/CollectionsFilters/FilterCardWrap.d.ts +0 -19
- package/dist/esm/biz-components/CollectionsFilters/FilterCardWrap.js +0 -2
- package/dist/esm/biz-components/CollectionsFilters/FilterCardWrap.js.map +0 -7
- package/dist/esm/biz-components/CollectionsFilters/FilterCardWrapItem.d.ts +0 -10
- package/dist/esm/biz-components/CollectionsFilters/FilterCardWrapItem.js +0 -2
- package/dist/esm/biz-components/CollectionsFilters/FilterCardWrapItem.js.map +0 -7
- package/dist/esm/biz-components/CollectionsFilters/FilterHeader.d.ts +0 -13
- package/dist/esm/biz-components/CollectionsFilters/FilterHeader.js +0 -2
- package/dist/esm/biz-components/CollectionsFilters/FilterHeader.js.map +0 -7
- package/dist/esm/biz-components/CollectionsFilters/FilterList.d.ts +0 -14
- package/dist/esm/biz-components/CollectionsFilters/FilterList.js +0 -2
- package/dist/esm/biz-components/CollectionsFilters/FilterList.js.map +0 -7
- package/dist/esm/biz-components/CollectionsFilters/component/AnimatedUL.d.ts +0 -5
- package/dist/esm/biz-components/CollectionsFilters/component/AnimatedUL.js +0 -2
- package/dist/esm/biz-components/CollectionsFilters/component/AnimatedUL.js.map +0 -7
- package/dist/esm/biz-components/CollectionsFilters/component/TabFilter.d.ts +0 -12
- package/dist/esm/biz-components/CollectionsFilters/component/TabFilter.js +0 -2
- package/dist/esm/biz-components/CollectionsFilters/component/TabFilter.js.map +0 -7
- package/dist/esm/biz-components/CollectionsFilters/component/filtersFun.d.ts +0 -12
- package/dist/esm/biz-components/CollectionsFilters/component/filtersFun.js +0 -2
- package/dist/esm/biz-components/CollectionsFilters/component/filtersFun.js.map +0 -7
- package/dist/esm/biz-components/CollectionsFilters/component/helper.d.ts +0 -81
- package/dist/esm/biz-components/CollectionsFilters/component/helper.js +0 -2
- package/dist/esm/biz-components/CollectionsFilters/component/helper.js.map +0 -7
- package/dist/esm/biz-components/CollectionsFilters/component/price.d.ts +0 -25
- package/dist/esm/biz-components/CollectionsFilters/component/price.js +0 -2
- package/dist/esm/biz-components/CollectionsFilters/component/price.js.map +0 -7
- package/dist/esm/biz-components/CollectionsFilters/component/priceProps.d.ts +0 -215
- package/dist/esm/biz-components/CollectionsFilters/component/priceProps.js +0 -2
- package/dist/esm/biz-components/CollectionsFilters/component/priceProps.js.map +0 -7
- package/dist/esm/biz-components/CollectionsFilters/index.d.ts +0 -24
- package/dist/esm/biz-components/CollectionsFilters/index.js +0 -2
- package/dist/esm/biz-components/CollectionsFilters/index.js.map +0 -7
- package/dist/esm/biz-components/DownLoad/index.d.ts +0 -21
- package/dist/esm/biz-components/DownLoad/index.js +0 -2
- package/dist/esm/biz-components/DownLoad/index.js.map +0 -7
- package/dist/esm/biz-components/Features/index.d.ts +0 -27
- package/dist/esm/biz-components/Features/index.js +0 -2
- package/dist/esm/biz-components/Features/index.js.map +0 -7
- package/dist/esm/biz-components/FootCharger/index.d.ts +0 -13
- package/dist/esm/biz-components/FootCharger/index.js +0 -2
- package/dist/esm/biz-components/FootCharger/index.js.map +0 -7
- package/dist/esm/biz-components/GiftBox/index.d.ts +0 -18
- package/dist/esm/biz-components/GiftBox/index.js +0 -2
- package/dist/esm/biz-components/GiftBox/index.js.map +0 -7
- package/dist/esm/biz-components/GraphicMore/index.d.ts +0 -23
- package/dist/esm/biz-components/GraphicMore/index.js +0 -2
- package/dist/esm/biz-components/GraphicMore/index.js.map +0 -7
- package/dist/esm/biz-components/HeroBanner/Countdown.d.ts +0 -10
- package/dist/esm/biz-components/HeroBanner/Countdown.js +0 -2
- package/dist/esm/biz-components/HeroBanner/Countdown.js.map +0 -7
- package/dist/esm/biz-components/Listing/BizProductProvider.d.ts +0 -124
- package/dist/esm/biz-components/Listing/BizProductProvider.js +0 -2
- package/dist/esm/biz-components/Listing/BizProductProvider.js.map +0 -7
- package/dist/esm/biz-components/Listing/components/PaidShipping/LearnMore.d.ts +0 -2
- package/dist/esm/biz-components/Listing/components/PaidShipping/LearnMore.js +0 -2
- package/dist/esm/biz-components/Listing/components/PaidShipping/LearnMore.js.map +0 -7
- package/dist/esm/biz-components/Listing/components/PaidShipping/ShippingMethod.d.ts +0 -10
- package/dist/esm/biz-components/Listing/components/PaidShipping/ShippingMethod.js +0 -2
- package/dist/esm/biz-components/Listing/components/PaidShipping/ShippingMethod.js.map +0 -7
- package/dist/esm/biz-components/Listing/components/PaidShipping/ShippingPolicyModal.d.ts +0 -25
- package/dist/esm/biz-components/Listing/components/PaidShipping/ShippingPolicyModal.js +0 -2
- package/dist/esm/biz-components/Listing/components/PaidShipping/ShippingPolicyModal.js.map +0 -7
- package/dist/esm/biz-components/Listing/components/PaidShipping/index.d.ts +0 -12
- package/dist/esm/biz-components/Listing/components/PaidShipping/index.js +0 -2
- package/dist/esm/biz-components/Listing/components/PaidShipping/index.js.map +0 -7
- package/dist/esm/biz-components/Listing/components/PaidShipping/type.d.ts +0 -30
- package/dist/esm/biz-components/Listing/components/PaidShipping/type.js +0 -2
- package/dist/esm/biz-components/Listing/components/PaidShipping/type.js.map +0 -7
- package/dist/esm/biz-components/Listing/components/PaidShipping/utils.d.ts +0 -2
- package/dist/esm/biz-components/Listing/components/PaidShipping/utils.js +0 -2
- package/dist/esm/biz-components/Listing/components/PaidShipping/utils.js.map +0 -7
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.d.ts +0 -36
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.js +0 -40
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.js.map +0 -7
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/ModalContainer.d.ts +0 -10
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/ModalContainer.js +0 -2
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/ModalContainer.js.map +0 -7
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.d.ts +0 -30
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.js +0 -2
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.js.map +0 -7
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.d.ts +0 -2
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.js +0 -2
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.js.map +0 -7
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.d.ts +0 -2
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.js +0 -2
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.js.map +0 -7
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.d.ts +0 -2
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.js +0 -2
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.js.map +0 -7
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.d.ts +0 -2
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js +0 -2
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js.map +0 -7
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.d.ts +0 -2
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.js +0 -2
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.js.map +0 -7
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/index.d.ts +0 -2
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/index.js +0 -2
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/index.js.map +0 -7
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/types.d.ts +0 -43
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/types.js +0 -2
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/types.js.map +0 -7
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/CompareModal.d.ts +0 -2
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/CompareModal.js +0 -2
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/CompareModal.js.map +0 -7
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/Select.d.ts +0 -21
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/Select.js +0 -2
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/Select.js.map +0 -7
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/ShopifyColorOption.d.ts +0 -5
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/ShopifyColorOption.js +0 -2
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/ShopifyColorOption.js.map +0 -7
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/SpecsModal.d.ts +0 -1
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/SpecsModal.js +0 -2
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/SpecsModal.js.map +0 -7
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/index.d.ts +0 -2
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/index.js +0 -2
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/index.js.map +0 -7
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/types.d.ts +0 -42
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/types.js +0 -2
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/types.js.map +0 -7
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductGridBox.d.ts +0 -6
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductGridBox.js +0 -2
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductGridBox.js.map +0 -7
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductSummary/index.d.ts +0 -2
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductSummary/index.js +0 -2
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductSummary/index.js.map +0 -7
- package/dist/esm/biz-components/Listing/components/ProductCard/index.d.ts +0 -2
- package/dist/esm/biz-components/Listing/components/ProductCard/index.js +0 -2
- package/dist/esm/biz-components/Listing/components/ProductCard/index.js.map +0 -7
- package/dist/esm/biz-components/Listing/components/PurchaseBar/ProductActions/index.d.ts +0 -2
- package/dist/esm/biz-components/Listing/components/PurchaseBar/ProductActions/index.js +0 -2
- package/dist/esm/biz-components/Listing/components/PurchaseBar/ProductActions/index.js.map +0 -7
- package/dist/esm/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/index.d.ts +0 -3
- package/dist/esm/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/index.js +0 -2
- package/dist/esm/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/index.js.map +0 -7
- package/dist/esm/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/types.d.ts +0 -13
- package/dist/esm/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/types.js +0 -1
- package/dist/esm/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/types.js.map +0 -7
- package/dist/esm/biz-components/Listing/components/PurchaseBar/index.d.ts +0 -3
- package/dist/esm/biz-components/Listing/components/PurchaseBar/index.js +0 -2
- package/dist/esm/biz-components/Listing/components/PurchaseBar/index.js.map +0 -7
- package/dist/esm/biz-components/Listing/components/PurchaseBar/types.d.ts +0 -12
- package/dist/esm/biz-components/Listing/components/PurchaseBar/types.js +0 -1
- package/dist/esm/biz-components/Listing/components/PurchaseBar/types.js.map +0 -7
- package/dist/esm/biz-components/Listing/components/index.d.ts +0 -3
- package/dist/esm/biz-components/Listing/components/index.js +0 -2
- package/dist/esm/biz-components/Listing/components/index.js.map +0 -7
- package/dist/esm/biz-components/Listing/const.d.ts +0 -29
- package/dist/esm/biz-components/Listing/const.js +0 -2
- package/dist/esm/biz-components/Listing/const.js.map +0 -7
- package/dist/esm/biz-components/Listing/hooks/use-variant-media.d.ts +0 -14
- package/dist/esm/biz-components/Listing/hooks/use-variant-media.js +0 -2
- package/dist/esm/biz-components/Listing/hooks/use-variant-media.js.map +0 -7
- package/dist/esm/biz-components/Listing/hooks/use-variant.d.ts +0 -5
- package/dist/esm/biz-components/Listing/hooks/use-variant.js +0 -2
- package/dist/esm/biz-components/Listing/hooks/use-variant.js.map +0 -7
- package/dist/esm/biz-components/Listing/hooks/useBenefits.d.ts +0 -50
- package/dist/esm/biz-components/Listing/hooks/useBenefits.js +0 -2
- package/dist/esm/biz-components/Listing/hooks/useBenefits.js.map +0 -7
- package/dist/esm/biz-components/Listing/hooks/useCopy.d.ts +0 -5
- package/dist/esm/biz-components/Listing/hooks/useCopy.js +0 -2
- package/dist/esm/biz-components/Listing/hooks/useCopy.js.map +0 -7
- package/dist/esm/biz-components/Listing/hooks/useDiscountEnable.d.ts +0 -14
- package/dist/esm/biz-components/Listing/hooks/useDiscountEnable.js +0 -2
- package/dist/esm/biz-components/Listing/hooks/useDiscountEnable.js.map +0 -7
- package/dist/esm/biz-components/Listing/index.d.ts +0 -4
- package/dist/esm/biz-components/Listing/index.js +0 -2
- package/dist/esm/biz-components/Listing/index.js.map +0 -7
- package/dist/esm/biz-components/Listing/types/graphql.d.ts +0 -7473
- package/dist/esm/biz-components/Listing/types/graphql.js +0 -2
- package/dist/esm/biz-components/Listing/types/graphql.js.map +0 -7
- package/dist/esm/biz-components/Listing/types/product.d.ts +0 -141
- package/dist/esm/biz-components/Listing/types/product.js +0 -2
- package/dist/esm/biz-components/Listing/types/product.js.map +0 -7
- package/dist/esm/biz-components/Listing/types/productMetafields.d.js +0 -2
- package/dist/esm/biz-components/Listing/types/productMetafields.d.js.map +0 -7
- package/dist/esm/biz-components/Listing/types/type-helper.d.ts +0 -5
- package/dist/esm/biz-components/Listing/types/type-helper.js +0 -1
- package/dist/esm/biz-components/Listing/types/type-helper.js.map +0 -7
- package/dist/esm/biz-components/Listing/types.d.ts +0 -29
- package/dist/esm/biz-components/Listing/types.js +0 -1
- package/dist/esm/biz-components/Listing/types.js.map +0 -7
- package/dist/esm/biz-components/Listing/utils/helper.d.ts +0 -36
- package/dist/esm/biz-components/Listing/utils/helper.js +0 -2
- package/dist/esm/biz-components/Listing/utils/helper.js.map +0 -7
- package/dist/esm/biz-components/Listing/utils/index.d.ts +0 -37
- package/dist/esm/biz-components/Listing/utils/index.js +0 -2
- package/dist/esm/biz-components/Listing/utils/index.js.map +0 -7
- package/dist/esm/biz-components/Listing/utils/textFormat.d.ts +0 -73
- package/dist/esm/biz-components/Listing/utils/textFormat.js +0 -2
- package/dist/esm/biz-components/Listing/utils/textFormat.js.map +0 -7
- package/dist/esm/biz-components/Paginator/index.d.ts +0 -7
- package/dist/esm/biz-components/Paginator/index.js +0 -7
- package/dist/esm/biz-components/Paginator/index.js.map +0 -7
- package/dist/esm/biz-components/SelectStore/index.d.ts +0 -21
- package/dist/esm/biz-components/SelectStore/index.js +0 -2
- package/dist/esm/biz-components/SelectStore/index.js.map +0 -7
- package/dist/esm/biz-components/Specs/dropdown.d.ts +0 -11
- package/dist/esm/biz-components/Specs/dropdown.js +0 -3
- package/dist/esm/biz-components/Specs/dropdown.js.map +0 -7
- package/dist/esm/biz-components/Specs/index.js +0 -2
- package/dist/esm/biz-components/Specs/index.js.map +0 -7
- package/dist/esm/biz-components/TabsGroup/index.d.ts +0 -7
- package/dist/esm/biz-components/TabsGroup/index.js +0 -2
- package/dist/esm/biz-components/TabsGroup/index.js.map +0 -7
- package/dist/esm/biz-components/TabsGroup/types.d.ts +0 -16
- package/dist/esm/biz-components/TabsGroup/types.js +0 -1
- package/dist/esm/biz-components/TabsGroup/types.js.map +0 -7
- package/dist/esm/biz-components/TextMarquee/index.d.ts +0 -10
- package/dist/esm/biz-components/TextMarquee/index.js +0 -2
- package/dist/esm/biz-components/TextMarquee/index.js.map +0 -7
- package/dist/esm/components/breadcrumb.d.ts +0 -12
- package/dist/esm/components/breadcrumb.js +0 -2
- package/dist/esm/components/breadcrumb.js.map +0 -7
- package/dist/esm/hooks/useRollout.d.ts +0 -2
- package/dist/esm/hooks/useRollout.js +0 -2
- package/dist/esm/hooks/useRollout.js.map +0 -7
- package/dist/esm/stories/specs.stories.js +0 -57
- package/dist/esm/stories/specs.stories.js.map +0 -7
- /package/dist/esm/biz-components/{CollectionsBanner → ProductNav}/types.js +0 -0
- /package/dist/esm/biz-components/{CollectionsBanner → ProductNav}/types.js.map +0 -0
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../../../src/biz-components/Listing/components/PaidShipping/index.tsx"],
|
|
4
|
-
"sourcesContent": ["import { Container, Text } from '../../../../components/index.js'\nimport type { Product, ProductVariant } from '../../types/product'\nimport { useCallback, useEffect, useMemo, useState } from 'react'\nimport { cn } from '../../../../helpers'\n\nimport ShippingMethod from './ShippingMethod'\nimport { ShippingPolicyModal } from './ShippingPolicyModal'\nimport type { DeliveryCustom, shippingMetafields, ShippingMethodType } from './type'\nimport { isWeightAvailable } from './utils'\nimport LearnMore from './LearnMore'\nimport { useBizProductContext } from '../../BizProductProvider.js'\n\nconst PaidShipping = ({\n metafields,\n productList,\n onShippingInfoChange,\n variant,\n className,\n}: {\n metafields: any\n productList: Array<Product & { variant: ProductVariant }>\n variant: ProductVariant\n onShippingInfoChange: (deliveryCustom: DeliveryCustom) => void\n className?: string\n}) => {\n const { isLogin, openSignInPopup } = useBizProductContext()\n const [openShippingPolicyModal, setOpenShippingPolicyModal] = useState(false)\n const [init, setInit] = useState(false)\n\n const [selectedMethod, setSelectedMethod] = useState<ShippingMethodType | null>(null)\n\n const weight = useMemo(() => {\n return productList.reduce((acc, product) => acc + (product?.variant?.weight || 0), 0)\n }, [productList])\n\n const normalizedMethod = useCallback(\n (method: shippingMetafields, weight: number, index: number) => {\n return {\n id: `${method.__code}__${method.price}`,\n code: method.__code,\n mode: method.__mode,\n title: method.title,\n disabled: !isWeightAvailable(weight, method),\n price: method.price,\n subtitle: method.subtitle,\n tag: index !== 0 ? metafields?.memberOnly : '',\n error: !isWeightAvailable(weight, method) ? metafields.overWeightError : '',\n }\n },\n [metafields?.memberOnly, metafields.overWeightError]\n )\n\n const list = useMemo(() => {\n const normalizedList: ShippingMethodType[] = metafields?.list?.map((method: shippingMetafields, index: number) =>\n normalizedMethod(method, weight, index)\n )\n\n return normalizedList?.reduce((prev: ShippingMethodType[], method: ShippingMethodType) => {\n // \u5982\u679C\u8D85\u91CD\uFF0C\u540C\u4E00\u4E2A\u7269\u6D41\u9009\u9879\u7C7B\u578B\u4E0B\uFF0C\u5C55\u793A\u5176\u4E2D\u4E00\u4E2A\u4E14\u4E0D\u53EF\u9009\n const sameTypeMethod = normalizedList.filter((m: ShippingMethodType) => m.code == method.code)\n let availableMethod: ShippingMethodType\n // \u6240\u6709\u7269\u6D41\u9009\u9879\u90FD\u4E0D\u53EF\u9009\n if (sameTypeMethod.every((m: ShippingMethodType) => m.disabled)) {\n availableMethod = sameTypeMethod[sameTypeMethod.length - 1]\n } else {\n // \u53EF\u9009\u7269\u6D41\u9009\u9879\n availableMethod = sameTypeMethod.find((m: ShippingMethodType) => !m.disabled)!\n }\n // \u5F53\u524D\u7269\u6D41\u9009\u9879\u5DF2\u5B58\u5728\n const hasSameMethod = prev.find((m: ShippingMethodType) => availableMethod.id === m.id)\n if (!hasSameMethod) {\n return [...prev, availableMethod]\n } else {\n return prev\n }\n }, [] as ShippingMethodType[])\n }, [normalizedMethod, metafields?.list, weight])\n\n const handleChangeShippingInfo = useCallback(\n (selectedMethod: ShippingMethodType) => {\n onShippingInfoChange({\n selected_delivery_code: selectedMethod.code,\n selected_delivery_mode: selectedMethod.mode,\n })\n },\n [onShippingInfoChange]\n )\n\n useEffect(() => {\n // \u9ED8\u8BA4\u9009\u4E2D\u7B2C\u4E00\u4E2A\u7269\u6D41\u9009\u9879\n if (metafields?.list?.length > 0 && !init) {\n const standardShippingMethod = normalizedMethod(metafields?.list[0], 0, 0)\n setSelectedMethod(standardShippingMethod)\n handleChangeShippingInfo(standardShippingMethod)\n setInit(true)\n }\n }, [normalizedMethod, metafields?.list, handleChangeShippingInfo, init])\n\n const toggleShipping = useCallback(\n (method: ShippingMethodType) => {\n if (method.disabled) {\n return\n }\n setSelectedMethod(method)\n handleChangeShippingInfo(method)\n // gaTrack({\n // event: 'ga4Event',\n // event_name: 'lp_button',\n // member_active_status: isLogin ? 'active' : 'not active', //\u7528\u4E8E\u8F93\u5165code\u6FC0\u6D3B\u4F1A\u5458\u5F39'\u7A97\u7684\u6309\u94AE\uFF0C\u533A\u5206\u4F1A\u5458\u6FC0\u6D3B\u72B6\u6001\uFF0C\u4F20active\u6216not active\n // event_parameters: {\n // page_group: 'Product Detail Page' + variant.sku, //\u5982\u679C\u662F\u9996\u9875\uFF0C\u5219\u4F20\"Home Page\";\u5982\u679C\u662Flisting\u7684\u9996\u5C4F\u6309\u94AE\uFF0C\u4F20Product Detail Page+$SKU\n // position: 'masterbanner1', //\u4F4D\u7F6E\u6807\u8BB0\u3002\u9996\u9875\u9996\u5C4F\u8F6E\u64AD\u4F4D\u7F6E\u4F20masterbanner1\u3001masterbanner2\u3001masterbanner3\uFF0C\u7B2C\u4E8C\u5C4F\u4F202nd_banner\uFF0C\u7B2C\u4E09\u5C4F\u4F203rd_banner\uFF0C\u6216\u8005\u53D6\u8BE5\u6A21\u5757\u5C0F\u6807\u9898\uFF0C\u6216\u80FD\u8BC6\u522B\u51FA\u662F\u54EA\u4E2A\u6A21\u5757\u4F4D\u7F6E\u7684\u6587\u6848\uFF0C\u5F39\u7A97\u4F20pop;\u5982\u679C\u662F\u8D2D\u7269\u8F66\u4FA7\u8FB9\u680F\uFF0C\u5219\u4F20\"Cart Pop Up\"\n // button_name: method.title, //\u53D6\u6309\u94AE\u6587\u6848\uFF0C\u6216\u80FD\u8BC6\u522B\u51FA\u662F\u54EA\u4E2A\u6309\u94AE\u7684\u6587\u6848,\u6BD4\u5982\u53F3\u4E0A\u89D2\u5173\u95ED\u4F20close,\u793E\u5A92\u5206\u4EAB\u56FE\u6807\u4F20\u5BF9\u5E94\u5E73\u53F0\u540D\u5B57\u5982Facebook,\u56FE\u7247\u5207\u6362\u5219\u4F20\u5BF9\u5E94\u5C55\u793A\u56FE\u7247\u7684\u540D\u5B57\n // info: '', //\u9ED8\u8BA4\u7A7A\u503C\uFF0C\u4E00\u822C\u4F20\u590D\u9009\u6846\u7684\u6587\u6848\u5185\u5BB9\uFF0C\u7279\u6B8A\u60C5\u51B5\u53EF\u6307\u5B9Ainfo\u503C\n // },\n // })\n },\n\n [isLogin, list, variant.sku, handleChangeShippingInfo, openSignInPopup]\n )\n\n return (\n <div\n id=\"ipc-product-paid-shipping\"\n className={cn(\n ' mt-16 desktop:mt-[96px] lg-desktop:mt-[128px] px-4 tablet:px-0 tablet:px-8 laptop:px-16 desktop:px-0',\n className\n )}\n >\n <div className=\"flex flex-wrap justify-between space-x-2 md:space-x-1\">\n <Text\n className=\"text-[20px] font-bold leading-[1.4] text-[#1F2021] md:text-[16px]\"\n html={metafields?.title}\n ></Text>\n {/* <button\n onClick={() => {\n setOpenShippingPolicyModal(true)\n }}\n className='text-brand-color text-[16px] font-semibold text-[#595959] underline md:text-[14px]'\n >\n {metafields?.policy}\n </button> */}\n </div>\n <div className=\"mt-[16px] flex flex-wrap gap-[12px] overflow-hidden md:mt-[12px] desktop:flex-nowrap\">\n {list.map((method: ShippingMethodType, index: number) => (\n <ShippingMethod\n key={index}\n index={index}\n item={method}\n active={selectedMethod?.code === method.code}\n toggleShipping={() => toggleShipping(method)}\n currencyCode={variant.price.currencyCode}\n metafields={metafields}\n className=\"w-full laptop:w-[calc(50%-6px)] desktop:flex-1\"\n />\n ))}\n {/* learn more \u5361\u7247 */}\n <LearnMore\n setOpenShippingPolicyModal={setOpenShippingPolicyModal}\n metafields={metafields}\n className=\"w-full laptop:w-[calc(50%-6px)] desktop:w-[calc(33.33%-16px)] lg-desktop:w-[calc(33.33%-24px)]\"\n />\n </div>\n {list.find((method: ShippingMethodType) => method?.error) && (\n <Text\n className=\"mt-[16px] font-bold leading-[1.4] text-[#D41435] md:mt-[12px]\"\n html={list.find((method: ShippingMethodType) => method.error)?.error as string}\n as=\"p\"\n />\n )}\n\n {metafields?.seeAvailableArea && (\n <Text\n as=\"div\"\n className=\"mt-[16px] font-bold leading-[1.4] text-[#1D1D1F] [&_a]:underline\"\n html={metafields?.seeAvailableArea}\n />\n )}\n {metafields?.shippingPolicy && (\n <ShippingPolicyModal\n data={metafields?.shippingPolicy}\n onClose={() => setOpenShippingPolicyModal(false)}\n open={openShippingPolicyModal}\n />\n )}\n </div>\n )\n}\n\nexport default PaidShipping\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["jsx", "jsxs", "Text", "useCallback", "useEffect", "useMemo", "useState", "cn", "ShippingMethod", "ShippingPolicyModal", "isWeightAvailable", "LearnMore", "useBizProductContext", "PaidShipping", "metafields", "productList", "onShippingInfoChange", "variant", "className", "isLogin", "openSignInPopup", "openShippingPolicyModal", "setOpenShippingPolicyModal", "init", "setInit", "selectedMethod", "setSelectedMethod", "weight", "acc", "product", "normalizedMethod", "method", "index", "list", "normalizedList", "prev", "sameTypeMethod", "m", "availableMethod", "handleChangeShippingInfo", "standardShippingMethod", "toggleShipping", "PaidShipping_default"]
|
|
7
|
-
}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
export declare enum ShippingMethodMode {
|
|
2
|
-
FREE = "free",
|
|
3
|
-
TDD = "tdd",
|
|
4
|
-
NDD = "ndd"
|
|
5
|
-
}
|
|
6
|
-
export type shippingMetafields = {
|
|
7
|
-
__mode: ShippingMethodMode;
|
|
8
|
-
__code: string;
|
|
9
|
-
title: string;
|
|
10
|
-
subtitle: string;
|
|
11
|
-
price: number;
|
|
12
|
-
weight_low?: number | null;
|
|
13
|
-
weight_high?: number | null;
|
|
14
|
-
__plus?: boolean;
|
|
15
|
-
};
|
|
16
|
-
export type ShippingMethodType = {
|
|
17
|
-
error: unknown;
|
|
18
|
-
code: string;
|
|
19
|
-
mode: ShippingMethodMode;
|
|
20
|
-
title: string;
|
|
21
|
-
disabled: boolean;
|
|
22
|
-
tag: string;
|
|
23
|
-
price: number;
|
|
24
|
-
subtitle: string;
|
|
25
|
-
id: string;
|
|
26
|
-
};
|
|
27
|
-
export type DeliveryCustom = {
|
|
28
|
-
selected_delivery_code?: string;
|
|
29
|
-
selected_delivery_mode?: ShippingMethodMode;
|
|
30
|
-
};
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../../../src/biz-components/Listing/components/PaidShipping/type.ts"],
|
|
4
|
-
"sourcesContent": ["export enum ShippingMethodMode {\n FREE = 'free',\n TDD = 'tdd',\n NDD = 'ndd',\n}\n\nexport type shippingMetafields = {\n __mode: ShippingMethodMode\n __code: string\n title: string\n subtitle: string\n price: number\n weight_low?: number | null\n weight_high?: number | null\n __plus?: boolean\n}\n\nexport type ShippingMethodType = {\n error: unknown\n code: string\n mode: ShippingMethodMode\n title: string\n disabled: boolean\n tag: string\n price: number\n subtitle: string\n id: string\n}\n\nexport type DeliveryCustom = {\n selected_delivery_code?: string\n selected_delivery_mode?: ShippingMethodMode\n}\n"],
|
|
5
|
-
"mappings": "AAAO,IAAKA,OACVA,EAAA,KAAO,OACPA,EAAA,IAAM,MACNA,EAAA,IAAM,MAHIA,OAAA",
|
|
6
|
-
"names": ["ShippingMethodMode"]
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../../../src/biz-components/Listing/components/PaidShipping/utils.ts"],
|
|
4
|
-
"sourcesContent": ["import type { shippingMetafields } from './type.js'\n\nexport const isWeightAvailable = (weight: number, method: shippingMetafields) => {\n if (method.weight_high && method.weight_low) {\n return weight >= method.weight_low && weight <= method.weight_high\n } else if (method.weight_high && !method.weight_low) {\n return weight <= method.weight_high\n } else if (method.weight_low && !method.weight_high) {\n return weight >= method.weight_low\n } else {\n return true\n }\n}\n"],
|
|
5
|
-
"mappings": "AAEO,MAAMA,EAAoB,CAACC,EAAgBC,IAC5CA,EAAO,aAAeA,EAAO,WACxBD,GAAUC,EAAO,YAAcD,GAAUC,EAAO,YAC9CA,EAAO,aAAe,CAACA,EAAO,WAChCD,GAAUC,EAAO,YACfA,EAAO,YAAc,CAACA,EAAO,YAC/BD,GAAUC,EAAO,WAEjB",
|
|
6
|
-
"names": ["isWeightAvailable", "weight", "method"]
|
|
7
|
-
}
|
package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.d.ts
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
interface BenefitsTabTextConfig {
|
|
3
|
-
couponCode?: string;
|
|
4
|
-
copyCode?: string;
|
|
5
|
-
copied?: string;
|
|
6
|
-
expired?: string;
|
|
7
|
-
offCoupon?: string;
|
|
8
|
-
offMemberOnly?: string;
|
|
9
|
-
loginNow?: string;
|
|
10
|
-
selectFreeGift?: string;
|
|
11
|
-
bundleSaveUpTo?: string;
|
|
12
|
-
bundleOffer?: string;
|
|
13
|
-
creditsTitle?: string;
|
|
14
|
-
creditsDesc?: string;
|
|
15
|
-
off?: string;
|
|
16
|
-
memberBenefitsNotLogin?: string;
|
|
17
|
-
memberBenefitsNotLoginText?: string;
|
|
18
|
-
forNewMember?: string;
|
|
19
|
-
expressShipping?: string;
|
|
20
|
-
creditsAfterActivation?: string;
|
|
21
|
-
active?: string;
|
|
22
|
-
flexibleInstallment?: string;
|
|
23
|
-
}
|
|
24
|
-
export type ProductBenefitsTabsValueType = 'coupon' | 'membership' | 'pay' | 'installment';
|
|
25
|
-
export type ModalData = {
|
|
26
|
-
needClickAway?: boolean;
|
|
27
|
-
className?: string;
|
|
28
|
-
title?: string;
|
|
29
|
-
content?: string;
|
|
30
|
-
domContent?: React.ReactNode;
|
|
31
|
-
};
|
|
32
|
-
interface BenefitsTabProps {
|
|
33
|
-
textConfig?: BenefitsTabTextConfig;
|
|
34
|
-
}
|
|
35
|
-
declare const BenefitsTab: ({ textConfig }: BenefitsTabProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
36
|
-
export default BenefitsTab;
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import{Fragment as L,jsx as e,jsxs as a}from"react/jsx-runtime";import{Button as ae,Checkbox as ie,Text as d,Picture as v,Heading as $}from"../../../../../components/index.js";import u from"./ProductBenefitsTabs/index.js";import{useBizProductContext as W}from"../../../BizProductProvider.js";import{useBenefits as se}from"../../../hooks/useBenefits";import{formatPrice as g}from"../../../utils/index.js";import{replaceTemplate as U}from"../../../utils/textFormat";import{useEffect as le,useMemo as Z,useRef as re,useState as E}from"react";import{useAiuiContext as q}from"../../../../AiuiProvider/index.js";import ce from"../../../../../hooks/useCountDown.js";import pe from"../../../hooks/useCopy";import{cn as G}from"../../../../../helpers/index.js";import de from"./ProductBenefitsTabs/ModalContainer.js";const ue={couponCode:"Code",copyCode:"Copy Code",copied:"Copied",expired:"Expired",offCoupon:"{discount} off coupon",offMemberOnly:"{amount} off Member Only",loginNow:"Login now",selectFreeGift:"You can select the free gift below.",bundleSaveUpTo:"Bundle purchases save extra up to",bundleOffer:"We offer {count} bundle for you",creditsTitle:"Soundcore credits for cash",creditsDesc:"100 Soundcore credits=$1",off:" off",memberBenefitsNotLogin:"You will enjoy a {amount} member discount after logging in.",memberBenefitsNotLoginText:"Sign Up to Get Benefits Below",forNewMember:"{amount} off for New Member",expressShipping:"Express Shipping Method",creditsAfterActivation:"You will get soundcoreCredits after activation. ",active:"Active",flexibleInstallment:"Flexible installment payment "},fe=({item:n,textConfig:S,benefitPayloadData:i})=>{const{trackingData:l}=q(),{copied:x,copy:C}=pe(),[y,P]=E(!1),c=l?.common?.coupon,{days:B,hours:N,minutes:I,seconds:F}=ce({endTime:n?.ends_at||""}),{openModal:k}=W();return a(L,{children:[e("style",{jsx:!0,children:`
|
|
2
|
-
.coupon-card {
|
|
3
|
-
/* \u4F7F\u7528mask\u521B\u5EFA\u5185\u5207\u5706\u89D2 */
|
|
4
|
-
mask:
|
|
5
|
-
radial-gradient(circle at 0 0, transparent 12px, white 12px),
|
|
6
|
-
radial-gradient(circle at 100% 0, transparent 12px, white 12px),
|
|
7
|
-
radial-gradient(circle at 100% 100%, transparent 12px, white 12px),
|
|
8
|
-
radial-gradient(circle at 0 100%, transparent 12px, white 12px);
|
|
9
|
-
mask-size: 50% 50%;
|
|
10
|
-
mask-position:
|
|
11
|
-
top left,
|
|
12
|
-
top right,
|
|
13
|
-
bottom right,
|
|
14
|
-
bottom left;
|
|
15
|
-
mask-repeat: no-repeat;
|
|
16
|
-
}
|
|
17
|
-
`}),a("div",{style:{background:n.couponBgColor||"white"},className:G("relative h-[100px] p-3 overflow-hidden laptop:h-[112px] lg-desktop:h-[130px]",n.borderStyle==="inset"?"coupon-card ":"rounded-[8px]"),...n.useAble&&{role:"button",tabIndex:0,onClick:()=>{n?.onUseChange?.(y)!==!1&&P(!y)}},children:[n?.bgImage?.url&&e(v,{source:n.bgImage.url,alt:n.bgImage.alt,className:"absolute bottom-0 right-0 w-auto",imgClassName:"object-contain"}),a("div",{className:"relative z-1 ",children:[a("div",{className:"flex items-center justify-start",children:[n.useAble&&e(ie,{size:"lg",className:"mr-2 rounded-full border-[#D1D1D1] border-[1.6px] data-[state=checked]:border-primary",checked:n?.isAutoUse}),e(d,{html:n.title,className:"text-[16px] leading-[1.2] font-bold laptop:text-[20px] lg-desktop:text-[24px]"})]}),n.description&&e(d,{...typeof n.description=="string"?{html:n.description}:{},as:"p",className:"mt-2 pr-8 text-[14px] font-bold text-[#3D3D3F] lg-desktop:text-[16px]",children:n.description}),n.code&&a("div",{className:"desktop:mt-2 flex items-center gap-2",children:[e(d,{html:`${i?.couponBenefitData?.commonCoupon?.couponCode}: ${n.code}`,className:"text-[14px] lg-desktop:text-[16px] font-bold text-[#3D3D3F]"}),e("button",{className:"text-[14px] lg-desktop:text-[16px] font-bold underline",role:"button",tabIndex:0,onClick:r=>{r.preventDefault(),r.stopPropagation(),C(n.code||"")},children:x?c?.copied||i?.couponBenefitData?.commonCoupon?.copied:c?.copy||i?.couponBenefitData?.commonCoupon?.copyCode})]}),n.ends_at&&e("button",{onClick:()=>{c?.modal&&k(c?.modal)},className:"lg-desktop:mt-[24px] text-brand-0 desktop:mt-4 mt-[14px] text-left text-[14px] font-bold lg-desktop:text-[16px] text-[#1F2021] md-l:hidden",children:Number(B)<Number(c?.hurry?.daysLeft)?a(L,{children:[e("span",{children:c?.ends}),e("span",{className:"font-bold",children:` ${B} ${N.toString().padStart(2,"0")}:${I.toString().padStart(2,"0")}:${F.toString().padStart(2,"0")}`})]}):c?.hurry?.label||i?.couponBenefitData?.commonCoupon?.expired})]})]})]})},be=({coupons:n,className:S,textConfig:i,benefitPayloadData:l})=>e("div",{className:G("flex flex-col gap-3 laptop:grid laptop:grid-cols-2 desktop:grid-cols-1",S),children:n?.map((x,C)=>e(fe,{item:x,textConfig:i,benefitPayloadData:l},C))}),me=({textConfig:n})=>{const{isLogin:S,profile:i,variant:l,renderInstallments:x,onUseCouponChange:C,onUseMemberDiscountChange:y,discount:P,savingDetail:c,openModal:B,openSignInPopup:N,openAuthCodePopup:I,openSignUpPopup:F,product:k}=W(),r=Z(()=>k?.payload?.components?.find(t=>t.componentKey==="ProductBenefits")?.data||{},[k?.payload]),[Y,j]=E(!1),K=se({variant:l}),{locale:b="us",copyWriting:J}=q(),A=re(null),Q={...ue,...n},{activated:X=!1}=i||{},{memberDiscount:m,commonCoupon:f,creditsRedemption:w,freeGift:z,bundle:H,paidShipping:ee,fullGift:V,levelDiscount:_}=K,o=Z(()=>{const t=r?.benefitTabs?.find(p=>p?.value==="coupon")??{},s=r?.benefitTabs?.find(p=>p?.value==="membership")??{},D=r?.benefitTabs?.find(p=>p?.value==="installment")??{},T=r?.benefitTabs?.find(p=>p?.value==="pay")??{};return{couponBenefitData:t,membershipBenefitData:s,installmentBenefitData:D,payBenefitData:T}},[r]),h=[f?.enable?{...f.config,isAutoUse:c?.coupon>0,useAble:!0,borderStyle:"rounded",code:f?.config?.title??"",description:f?.config?.desc??"",onUseChange:t=>{const s=t?P?.codeSavings??0:0;C?.(s)},title:U(o?.couponBenefitData?.commonCoupon?.offCoupon,{discount:f?.config?.value_type=="percentage"?Math.abs(Number(f?.config?.value||0))+"%":g({amount:Math.abs(Number(f?.config?.fixed_value||0)),currencyCode:l.price.currencyCode,locale:b})})}:null,m.enable?{useAble:!0,isAutoUse:!!i?.email&&!!c?.member,title:U(o?.couponBenefitData?.member?.offMemberOnly,{amount:g({amount:m?.config?.amount??0,currencyCode:l.price.currencyCode,locale:b})}),description:a(L,{children:[i?.email?o?.couponBenefitData?.member?.memberDiscounts:o?.membershipBenefitData?.memberBenefitsNotLogin?.replace("{amount}",g({amount:m?.config?.amount??0,currencyCode:l.price.currencyCode,locale:b}))??""," ",i?.email?"":e("span",{role:"button",tabIndex:0,onClick:()=>N?.(),className:"underline",children:o?.couponBenefitData?.member?.loginNow})]}),borderStyle:"rounded",onUseChange:t=>{if(i?.email){const s=t?m?.config?.amount??0:0;return y?.(s),!0}else return N?.(),!1}}:null,_.enable?{title:_?.config?.title??"",description:_?.config?.tag??"",borderStyle:"inset",bgImage:{url:o?.couponBenefitData?.levelDiscount?.bgImage}}:null,z.enable?{title:z?.config?.title??"",description:o?.couponBenefitData?.freeGift?.selectFreeGift,borderStyle:"inset",bgImage:{url:o?.couponBenefitData?.freeGift?.bgImage},couponBgColor:"linear-gradient(94deg, rgba(215, 245, 254, 0.24) 4.2%, rgba(215, 245, 254, 0.80) 99.11%), #FFF"}:null,H.enable?{title:`${o?.couponBenefitData?.bundle?.bundleSaveUpTo} ${g({amount:Math.max(...H?.config?.bundleList?.map(t=>t.savings??0)??[]),currencyCode:l.price.currencyCode,locale:b})}`,borderStyle:"inset",description:o?.couponBenefitData?.bundle?.bundleOffer.replace("{count}",H?.config?.bundleList?.length?.toString()??""),bgImage:{url:o?.couponBenefitData?.bundle?.bgImage},couponBgColor:"linear-gradient(94deg, rgba(215, 245, 254, 0.24) 4.2%, rgba(215, 245, 254, 0.80) 99.11%), #FFF"}:null,V.enable?{title:V?.config?.title??"",description:V?.config?.desc??"",borderStyle:"inset",bgImage:{url:o?.couponBenefitData?.fullGift?.bgImage},couponBgColor:"linear-gradient(94deg, rgba(215, 245, 254, 0.24) 4.2%, rgba(215, 245, 254, 0.80) 99.11%), #FFF"}:null,w.enable?{title:o?.couponBenefitData?.creditsRedemption?.creditsTitle,description:o?.couponBenefitData?.creditsRedemption?.creditsDesc,borderStyle:"inset",bgImage:{url:o?.couponBenefitData?.creditsRedemption?.bgImage},couponBgColor:"linear-gradient(94deg, rgba(215, 245, 254, 0.24) 4.2%, rgba(215, 245, 254, 0.80) 99.11%), #FFF"}:null].filter(Boolean);le(()=>{R(h?.length?"coupon":"membership")},[l?.id]);const[O,R]=E("coupon"),te=()=>{I?.()};if(!u)return null;const oe=(t,s)=>{if(R(s),A.current){const D=A.current,T=t.currentTarget,p=T.offsetLeft-D.offsetWidth/2+T.offsetWidth/2;D.scrollTo({left:p,behavior:"smooth"})}},ne=Z(()=>r?.benefitTabs?.map(t=>t?.value==="coupon"&&!h?.length?null:t).filter(Boolean),[r,h]);return a(u,{className:"relative",onValueChange:t=>R(t),value:O,children:[e("div",{className:"absolute right-0 z-[1] top-0 w-[25px] h-[40px] rounded-xl bg-gradient-to-r from-transparent to-[#EAEAEC]"}),e(u.List,{ref:A,children:ne?.map(t=>e(u.Trigger,{className:G(O===t.value&&"text-[#1D1D1F]"),value:t.value,onClick:s=>oe(s,t?.value),children:t.label},t?.value))}),e("style",{global:!0,jsx:!0,children:`
|
|
18
|
-
.benefits-tabs-content::-webkit-scrollbar {
|
|
19
|
-
width: 4px; /* \u6EDA\u52A8\u6761\u5BBD\u5EA6 */
|
|
20
|
-
height: 64px; /* \u6A2A\u5411\u6EDA\u52A8\u6761\u9AD8\u5EA6 */
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
.benefits-tabs-content::-webkit-scrollbar-track {
|
|
24
|
-
background: transparent; /* \u6EDA\u52A8\u6761\u8F68\u9053\u80CC\u666F */
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
.benefits-tabs-content::-webkit-scrollbar-thumb {
|
|
28
|
-
background-color: #d1d1d1; /* \u6EDA\u52A8\u6761\u989C\u8272 */
|
|
29
|
-
border-radius: 9999px; /* \u5706\u89D2 */
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
.benefits-tabs-content::-webkit-scrollbar-thumb:hover {
|
|
33
|
-
background-color: rgba(100, 100, 100, 0.6);
|
|
34
|
-
}
|
|
35
|
-
`}),h?.length?e(u.Content,{value:"coupon",className:"benefits-tabs-content overflow-y-auto lg-desktop:h-[240px] desktop:h-[196px] h-[180px] laptop:h-[220px]",children:e("div",{className:"p-3 lg-desktop:p-4",children:e(be,{coupons:h,textConfig:Q,benefitPayloadData:o})})}):null,e(u.Content,{value:"membership",className:"benefits-tabs-content overflow-y-auto lg-desktop:h-[240px] desktop:h-[196px] h-[180px] laptop:h-[220px]",children:a("div",{className:"p-3 lg-desktop:p-4",children:[!i?.email&&e("h3",{className:"mb-2 text-left text-lg font-bold",children:o?.membershipBenefitData?.memberBenefitsNotLoginText}),e("div",{className:"rounded-[16px]",children:a("ul",{className:`list-none [&_li:first-child]:rounded-t-[16px]
|
|
36
|
-
[&_li:last-child]:rounded-b-[16px] [&_li:last-child]:last:border-b-0 [&_li]:flex [&_li]:items-center [&_li]:gap-2
|
|
37
|
-
[&_li]:border-b [&_li]:border-b-[#E4E5E6] [&_li]:bg-white [&_li]:px-4
|
|
38
|
-
[&_li]:py-4
|
|
39
|
-
[&_li]:text-left`,children:[m.enable&&a("li",{className:"justify-between",children:[a("div",{className:"flex gap-2",children:[e("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",children:e("path",{d:"M20 3.5C21.6569 3.5 23 4.84315 23 6.5V9.65625C23 10.0791 22.7342 10.4566 22.3359 10.5986C21.6665 10.8372 21.1816 11.4844 21.1816 12.25C21.1816 13.0156 21.6665 13.6628 22.3359 13.9014C22.7342 14.0434 23 14.4209 23 14.8438V18C23 19.6569 21.6569 21 20 21H4C2.34315 21 1 19.6569 1 18V14.8438L1.01172 14.6875C1.06803 14.3301 1.31557 14.0256 1.66406 13.9014C2.33345 13.6628 2.81836 13.0156 2.81836 12.25C2.81836 11.4844 2.33345 10.8372 1.66406 10.5986C1.26583 10.4566 1 10.0791 1 9.65625V6.5C1 4.84315 2.34315 3.5 4 3.5H20ZM4 5.5C3.44772 5.5 3 5.94772 3 6.5V9.03125C4.08987 9.68678 4.81836 10.8833 4.81836 12.25C4.81836 13.6165 4.08963 14.8122 3 15.4678V18C3 18.5523 3.44772 19 4 19H20C20.5523 19 21 18.5523 21 18V15.4678C19.9104 14.8122 19.1816 13.6165 19.1816 12.25C19.1816 10.8833 19.9101 9.68677 21 9.03125V6.5C21 5.94772 20.5523 5.5 20 5.5H4ZM15.793 6.79297C16.1835 6.40244 16.8165 6.40244 17.207 6.79297C17.5976 7.18349 17.5976 7.81651 17.207 8.20703L8.20703 17.207C7.81651 17.5976 7.18349 17.5976 6.79297 17.207C6.40244 16.8165 6.40244 16.1835 6.79297 15.793L15.793 6.79297ZM15.25 13.25C16.3546 13.25 17.25 14.1454 17.25 15.25C17.25 16.3546 16.3546 17.25 15.25 17.25C14.1454 17.25 13.25 16.3546 13.25 15.25C13.25 14.1454 14.1454 13.25 15.25 13.25ZM15.25 14.75C14.9739 14.75 14.75 14.9739 14.75 15.25C14.75 15.5261 14.9739 15.75 15.25 15.75C15.5261 15.75 15.75 15.5261 15.75 15.25C15.75 14.9739 15.5261 14.75 15.25 14.75ZM8.75 6.75C9.85457 6.75 10.75 7.64543 10.75 8.75C10.75 9.85457 9.85457 10.75 8.75 10.75C7.64543 10.75 6.75 9.85457 6.75 8.75C6.75 7.64543 7.64543 6.75 8.75 6.75ZM8.75 8.25C8.47386 8.25 8.25 8.47386 8.25 8.75C8.25 9.02614 8.47386 9.25 8.75 9.25C9.02614 9.25 9.25 9.02614 9.25 8.75C9.25 8.47386 9.02614 8.25 8.75 8.25Z",fill:"#1D1D1F"})}),e(d,{as:"p",className:"text-left text-[16px] font-bold x:text-[14px]",children:U(o?.membershipBenefitData?.forNewMember,{amount:g({amount:m?.config?.amount??0,currencyCode:l.price.currencyCode,locale:b})})})]}),!!i?.email&&e(M,{})]}),o?.membershipBenefitData?.equities?.map((t,s)=>t.modalText?a("li",{className:"justify-between gap-2",children:[a("button",{onClick:()=>B?.({title:t.label,content:t.modalText}),className:"flex justify-between",children:[e(v,{source:t.icon,alt:t.text,className:"size-6 shrink-0"}),e(d,{className:"text-left text-[16px] font-bold x:text-[14px]",children:t.text})]},s),!!i?.email&&e(M,{})]},s):a("li",{className:"justify-between",children:[a("div",{className:"flex gap-2",children:[e(v,{source:t.icon,alt:t.text,className:" size-6 shrink-0"}),e(d,{as:"p",className:"text-left text-[16px] font-bold x:text-[14px]",children:t.label})]}),!!i?.email&&e(M,{})]},s)),ee.enable?a("li",{className:"justify-between",children:[a("div",{className:"flex gap-2",children:[e("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:e("path",{d:"M19 3C19.5523 3 20 3.44772 20 4C20 4.55228 19.5523 5 19 5H10V16H21C21.5523 16 22 16.4477 22 17C22 17.5523 21.5523 18 21 18H19.9961C19.9961 19.6559 18.6547 21 16.998 21C15.3414 21 14 19.6559 14 18H10C10 19.6568 8.65684 21 7 21C5.34317 21 4 19.6568 4 18H2C1.44772 18 1 17.5523 1 17V10.6738L1.00488 10.5771C1.02632 10.3554 1.12145 10.146 1.27637 9.9834L4.77637 6.31055L4.84961 6.24023C5.02993 6.08586 5.26042 6 5.5 6H8V5C8 3.89544 8.89541 3 10 3H19ZM6.00488 18.1025C6.05622 18.6067 6.48234 19 7 19C7.51766 19 7.94378 18.6067 7.99512 18.1025L8 18H6L6.00488 18.1025ZM16.0049 18.1025C16.0561 18.6074 16.4823 19 16.998 19C17.5138 19 17.94 18.6074 17.9912 18.1025L17.9961 18H16L16.0049 18.1025ZM3 11.0723V16H8V8H5.92773L3 11.0723ZM21.6621 6.8252C22.0348 6.41765 22.6676 6.38902 23.0752 6.76172C23.4827 7.13443 23.5104 7.76725 23.1377 8.1748L18.0518 13.7363C17.6625 14.162 17.003 14.1954 16.5732 13.8105L13.333 10.9092C12.9216 10.5408 12.8865 9.90853 13.2549 9.49707C13.6232 9.08565 14.2555 9.05066 14.667 9.41895L17.208 11.6943L21.6621 6.8252Z",fill:"#1D1D1F"})}),e(d,{as:"p",className:"text-left text-[16px] font-bold x:text-[14px]",children:o?.membershipBenefitData?.expressShipping})]}),!!i?.email&&e(M,{})]}):null,w.enable?a("li",{children:[e("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:e("path",{d:"M12 1C18.0751 1 23 5.92487 23 12C23 18.0751 18.0751 23 12 23C5.92487 23 1 18.0751 1 12C1 5.92487 5.92487 1 12 1ZM12 3C7.02944 3 3 7.02944 3 12C3 16.9706 7.02944 21 12 21C16.9706 21 21 16.9706 21 12C21 7.02944 16.9706 3 12 3ZM17 13C17.5523 13 18 13.4477 18 14C18 14.5523 17.5523 15 17 15H9.41406L9.70703 15.293C10.0976 15.6835 10.0976 16.3165 9.70703 16.707C9.31651 17.0976 8.68349 17.0976 8.29297 16.707L6.29297 14.707C6.00697 14.421 5.92139 13.9909 6.07617 13.6172C6.23098 13.2436 6.59558 13 7 13H17ZM14.293 7.29297C14.6835 6.90244 15.3165 6.90244 15.707 7.29297L17.707 9.29297C17.993 9.57897 18.0786 10.0091 17.9238 10.3828C17.769 10.7564 17.4044 11 17 11H7C6.44772 11 6 10.5523 6 10C6 9.44771 6.44772 9 7 9H14.5859L14.293 8.70703C13.9024 8.31651 13.9024 7.68349 14.293 7.29297Z",fill:"#1D1D1F"})}),e(d,{as:"p",className:"text-left text-[16px] font-bold x:text-[14px]",children:!X&&i?.email?a(L,{children:[o?.membershipBenefitData?.creditsAfterActivation,e("span",{role:"button",tabIndex:0,onClick:()=>te(),className:"underline",children:o?.membershipBenefitData?.active})]}):w?.config?.label?.replace("{{amount}}",g({amount:w?.config?.amount??0,currencyCode:l.price.currencyCode,locale:b}))})]}):null]})}),!i?.email&&e("div",{className:"pt-4",children:e(ae,{variant:"primary",className:"w-full",onClick:()=>F?.(),children:J?.signUp})})]})}),a(u.Content,{value:"pay",className:"benefits-tabs-content overflow-y-auto lg-desktop:h-[240px] desktop:h-[196px] h-[180px] laptop:h-[220px] ",children:[a("div",{className:"p-3 lg-desktop:p-4",children:[e($,{size:2,className:"mb-2 text-left text-lg font-bold",children:o?.payBenefitData?.payMethod}),a("div",{className:"flex items-center gap-2 justify-between rounded-[16px] p-3 lg-desktop:p-4 bg-white",children:[a("div",{className:"flex items-center gap-2",children:[e(v,{source:o?.payBenefitData?.icon,className:"size-[40px] h-[20px] desktop:size-[70px] desktop:h-[34px] shrink-0"}),e(d,{as:"p",className:"text-left text-[16px] font-bold x:text-[14px]",html:o?.payBenefitData?.withCheckout})]}),e("button",{className:"underline hover:text-brand-0 whitespace-nowrap text-sm font-bold desktop:text-[16px]",onClick:()=>j(!0),children:o?.payBenefitData?.learnMore})]})]}),e(de,{showModal:Y,closeModal:()=>j(!1),children:e(v,{source:o?.payBenefitData?.payImage})})]}),e(u.Content,{value:"installment",className:"benefits-tabs-content overflow-y-auto lg-desktop:h-[240px] desktop:h-[196px] h-[180px] laptop:h-[220px] ",children:a("div",{className:"p-3 lg-desktop:p-4",children:[e($,{size:2,className:"mb-2 text-left text-lg font-bold",children:o?.installmentBenefitData?.flexibleInstallment}),e("div",{className:"overflow-hidden rounded-[16px] p-3 lg-desktop:p-4 bg-white",children:x})]})})]})},M=n=>e("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",...n,children:e("path",{d:"M4 9.19472L8.51935 13.667L16.2668 6.00024",stroke:"#2BBC4F",strokeWidth:"1.67",strokeLinecap:"round",strokeLinejoin:"round"})});var Le=me;export{Le as default};
|
|
40
|
-
//# sourceMappingURL=BenefitsTab.js.map
|
package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.js.map
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../../../../src/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.tsx"],
|
|
4
|
-
"sourcesContent": ["/* eslint-disable jsx-a11y/click-events-have-key-events */\nimport { Button, Checkbox, Text, Picture, Heading } from '../../../../../components/index.js'\nimport ProductBenefitsTabs from './ProductBenefitsTabs/index.js'\nimport { useBizProductContext } from '../../../BizProductProvider.js'\nimport { useBenefits } from '../../../hooks/useBenefits'\nimport { formatPrice } from '../../../utils/index.js'\nimport { replaceTemplate } from '../../../utils/textFormat'\nimport React, { useEffect, useMemo, useRef, useState } from 'react'\nimport { useAiuiContext } from '../../../../AiuiProvider/index.js'\nimport useCountDown from '../../../../../hooks/useCountDown.js'\nimport useCopy from '../../../hooks/useCopy'\nimport { cn } from '../../../../../helpers/index.js'\nimport ModalContainer from './ProductBenefitsTabs/ModalContainer.js'\n// \u6587\u6848\u914D\u7F6E\u63A5\u53E3\ninterface BenefitsTabTextConfig {\n // Coupon \u76F8\u5173\n couponCode?: string // \"Code\"\n copyCode?: string // \"Copy Code\"\n copied?: string // \"Copied\"\n expired?: string // \"Expired\"\n offCoupon?: string // \"off coupon\"\n offMemberOnly?: string // \"{amount} off Member Only\"\n loginNow?: string // \"login now\"\n selectFreeGift?: string // \"You can select the free gift below.\"\n bundleSaveUpTo?: string // \"Bundle purchases save extra up to\"\n bundleOffer?: string // \"We offer {count} bundle for you\"\n creditsTitle?: string // \"Soundcore credits for cash\"\n creditsDesc?: string // \"100 Soundcore credits=$1\"\n\n // Tab \u6807\u7B7E\n off?: string // \"off\"\n memberBenefitsNotLogin?: string // \"Member Benefits\"\n memberBenefitsNotLoginText?: string //\n\n // Member Benefits \u90E8\u5206\n forNewMember?: string // \"for New Member\"\n expressShipping?: string // \"Express Shipping Method\"\n creditsAfterActivation?: string // \"You will get soundcoreCredits after activation.\"\n active?: string // \"Active\"\n\n // Installment \u90E8\u5206\n flexibleInstallment?: string // \"Flexible installment payment\"\n}\n\nexport type ProductBenefitsTabsValueType = 'coupon' | 'membership' | 'pay' | 'installment'\n\nexport type ModalData = {\n needClickAway?: boolean\n className?: string\n title?: string\n content?: string\n domContent?: React.ReactNode\n}\n\ninterface BenefitsTabProps {\n textConfig?: BenefitsTabTextConfig\n}\n\n// \u9ED8\u8BA4\u6587\u6848\u914D\u7F6E\nconst defaultTextConfig: Required<BenefitsTabTextConfig> = {\n couponCode: 'Code',\n copyCode: 'Copy Code',\n copied: 'Copied',\n expired: 'Expired',\n offCoupon: '{discount} off coupon',\n offMemberOnly: '{amount} off Member Only',\n loginNow: 'Login now',\n selectFreeGift: 'You can select the free gift below.',\n bundleSaveUpTo: 'Bundle purchases save extra up to',\n bundleOffer: 'We offer {count} bundle for you',\n creditsTitle: 'Soundcore credits for cash',\n creditsDesc: '100 Soundcore credits=$1',\n off: ' off',\n memberBenefitsNotLogin: 'You will enjoy a {amount} member discount after logging in.',\n memberBenefitsNotLoginText: 'Sign Up to Get Benefits Below',\n forNewMember: '{amount} off for New Member',\n expressShipping: 'Express Shipping Method',\n creditsAfterActivation: 'You will get soundcoreCredits after activation. ',\n active: 'Active',\n flexibleInstallment: 'Flexible installment payment ',\n}\n\n// Coupon content component (commonly used)\ninterface CouponContentProps {\n coupons?: Array<{\n borderStyle: 'inset' | 'rounded' // \u8FD9\u4E24\u79CD\u6837\u5F0F\u4E0D\u4E00\u6837\uFF0C inset \u56DB\u89D2\u662F\u5185\u5207\u5706\u89D2\uFF0C rounded \u56DB\u89D2\u662F\u666E\u901A\u5706\u89D2\n useAble?: boolean\n isAutoUse?: boolean\n onUseChange?: (useAble: boolean) => boolean | undefined\n code?: string\n title: string\n description: string | React.ReactNode\n discount?: number\n couponBgColor?: string\n bgImage?: { url: string; alt?: string }\n ends_at?: string\n }>\n className?: string\n}\n\nconst CouponItem = ({\n item,\n textConfig,\n benefitPayloadData,\n}: {\n item: NonNullable<CouponContentProps['coupons']>[number]\n textConfig: Required<BenefitsTabTextConfig>\n benefitPayloadData: any\n}) => {\n const { trackingData } = useAiuiContext()\n const { copied: isCopied, copy: copyToClipboard } = useCopy()\n const [checked, setChecked] = useState(false)\n const couponCopy = trackingData?.common?.coupon\n const { days, hours, minutes, seconds } = useCountDown({ endTime: item?.ends_at || '' })\n const { openModal } = useBizProductContext()\n return (\n <>\n <style jsx>{`\n .coupon-card {\n /* \u4F7F\u7528mask\u521B\u5EFA\u5185\u5207\u5706\u89D2 */\n mask:\n radial-gradient(circle at 0 0, transparent 12px, white 12px),\n radial-gradient(circle at 100% 0, transparent 12px, white 12px),\n radial-gradient(circle at 100% 100%, transparent 12px, white 12px),\n radial-gradient(circle at 0 100%, transparent 12px, white 12px);\n mask-size: 50% 50%;\n mask-position:\n top left,\n top right,\n bottom right,\n bottom left;\n mask-repeat: no-repeat;\n }\n `}</style>\n <div\n style={{\n background: item.couponBgColor || 'white',\n }}\n className={cn(\n 'relative h-[100px] p-3 overflow-hidden laptop:h-[112px] lg-desktop:h-[130px]',\n item.borderStyle === 'inset' ? 'coupon-card ' : 'rounded-[8px]'\n )}\n {...(item.useAble && {\n role: 'button',\n tabIndex: 0,\n onClick: () => {\n const shouldChange = item?.onUseChange?.(checked)\n if (shouldChange !== false) {\n setChecked(!checked)\n }\n },\n })}\n >\n {item?.bgImage?.url && (\n <Picture\n source={item.bgImage.url}\n alt={item.bgImage.alt}\n className=\"absolute bottom-0 right-0 w-auto\"\n imgClassName=\"object-contain\"\n />\n )}\n <div className=\"relative z-1 \">\n <div className=\"flex items-center justify-start\">\n {item.useAble && (\n <Checkbox\n size=\"lg\"\n className=\"mr-2 rounded-full border-[#D1D1D1] border-[1.6px] data-[state=checked]:border-primary\"\n checked={item?.isAutoUse}\n />\n )}\n <Text\n html={item.title}\n className=\"text-[16px] leading-[1.2] font-bold laptop:text-[20px] lg-desktop:text-[24px]\"\n />\n </div>\n {item.description && (\n <Text\n {...(typeof item.description === 'string' ? { html: item.description } : {})}\n as=\"p\"\n className=\"mt-2 pr-8 text-[14px] font-bold text-[#3D3D3F] lg-desktop:text-[16px]\"\n >\n {item.description}\n </Text>\n )}\n {item.code && (\n <div className=\"desktop:mt-2 flex items-center gap-2\">\n <Text\n html={`${benefitPayloadData?.couponBenefitData?.commonCoupon?.couponCode}: ${item.code}`}\n className=\"text-[14px] lg-desktop:text-[16px] font-bold text-[#3D3D3F]\"\n />\n <button\n className=\"text-[14px] lg-desktop:text-[16px] font-bold underline\"\n role=\"button\"\n tabIndex={0}\n onClick={event => {\n event.preventDefault()\n event.stopPropagation()\n copyToClipboard(item.code || '')\n }}\n >\n {isCopied\n ? couponCopy?.copied || benefitPayloadData?.couponBenefitData?.commonCoupon?.copied\n : couponCopy?.copy || benefitPayloadData?.couponBenefitData?.commonCoupon?.copyCode}\n </button>\n </div>\n )}\n {item.ends_at && (\n <button\n onClick={() => {\n if (couponCopy?.modal) {\n openModal(couponCopy?.modal!)\n }\n }}\n className=\"lg-desktop:mt-[24px] text-brand-0 desktop:mt-4 mt-[14px] text-left text-[14px] font-bold lg-desktop:text-[16px] text-[#1F2021] md-l:hidden\"\n >\n {Number(days) < Number(couponCopy?.hurry?.daysLeft) ? (\n <>\n <span>{couponCopy?.ends}</span>\n <span className=\"font-bold\">\n {` ${days} ${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`}\n </span>\n </>\n ) : (\n couponCopy?.hurry?.label || benefitPayloadData?.couponBenefitData?.commonCoupon?.expired\n )}\n </button>\n )}\n </div>\n </div>\n </>\n )\n}\n\nconst CouponContent = ({\n coupons,\n className,\n textConfig,\n benefitPayloadData,\n}: CouponContentProps & { textConfig: Required<BenefitsTabTextConfig>; benefitPayloadData: any }) => {\n return (\n <div className={cn('flex flex-col gap-3 laptop:grid laptop:grid-cols-2 desktop:grid-cols-1', className)}>\n {coupons?.map((item, index) => (\n <CouponItem key={index} item={item} textConfig={textConfig} benefitPayloadData={benefitPayloadData} />\n ))}\n </div>\n )\n}\n\nconst BenefitsTab = ({ textConfig }: BenefitsTabProps) => {\n const {\n isLogin,\n profile,\n variant,\n renderInstallments,\n onUseCouponChange,\n onUseMemberDiscountChange,\n discount,\n savingDetail,\n openModal,\n openSignInPopup,\n openAuthCodePopup,\n openSignUpPopup,\n product,\n } = useBizProductContext()\n\n const productBenefitsData = useMemo(() => {\n return product?.payload?.components?.find((item: any) => item.componentKey === 'ProductBenefits')?.data || {}\n }, [product?.payload])\n\n const [isFlexModalOpen, setIsFlexModalOpen] = useState(false)\n\n const benefits = useBenefits({ variant })\n const { locale = 'us', copyWriting } = useAiuiContext()\n const scrollContainerRef = useRef<HTMLDivElement>(null)\n\n // \u5408\u5E76\u9ED8\u8BA4\u914D\u7F6E\u548C\u4F20\u5165\u7684\u914D\u7F6E\n const mergedTextConfig = { ...defaultTextConfig, ...textConfig }\n\n const { activated = false } = profile || {} // \u7528\u6237\u662F\u5426\u6FC0\u6D3B\n const { memberDiscount, commonCoupon, creditsRedemption, freeGift, bundle, paidShipping, fullGift, levelDiscount } =\n benefits\n\n const benefitPayloadData = useMemo(() => {\n const couponBenefitData = productBenefitsData?.benefitTabs?.find((item: any) => item?.value === 'coupon') ?? {}\n const membershipBenefitData =\n productBenefitsData?.benefitTabs?.find((item: any) => item?.value === 'membership') ?? {}\n const installmentBenefitData =\n productBenefitsData?.benefitTabs?.find((item: any) => item?.value === 'installment') ?? {}\n const payBenefitData = productBenefitsData?.benefitTabs?.find((item: any) => item?.value === 'pay') ?? {}\n return { couponBenefitData, membershipBenefitData, installmentBenefitData, payBenefitData }\n }, [productBenefitsData])\n\n const coupons = [\n commonCoupon?.enable\n ? {\n ...commonCoupon.config,\n isAutoUse: savingDetail?.coupon > 0,\n useAble: true,\n borderStyle: 'rounded',\n code: commonCoupon?.config?.title ?? '',\n description: commonCoupon?.config?.desc ?? '',\n onUseChange: (value: boolean) => {\n const couponSaving = value ? (discount?.codeSavings ?? 0) : 0\n onUseCouponChange?.(couponSaving)\n },\n title: replaceTemplate(benefitPayloadData?.couponBenefitData?.commonCoupon?.offCoupon, {\n discount:\n commonCoupon?.config?.value_type == 'percentage'\n ? Math.abs(Number(commonCoupon?.config?.value || 0)) + '%'\n : formatPrice({\n amount: Math.abs(Number(commonCoupon?.config?.fixed_value || 0)),\n currencyCode: variant.price.currencyCode,\n locale,\n }),\n }),\n }\n : null,\n memberDiscount.enable\n ? {\n useAble: true,\n isAutoUse: Boolean(profile?.email) && !!savingDetail?.member,\n title: replaceTemplate(benefitPayloadData?.couponBenefitData?.member?.offMemberOnly, {\n amount: formatPrice({\n amount: memberDiscount?.config?.amount ?? 0,\n currencyCode: variant.price.currencyCode,\n locale,\n }),\n }),\n description: (\n <>\n {Boolean(profile?.email)\n ? benefitPayloadData?.couponBenefitData?.member?.memberDiscounts\n : (benefitPayloadData?.membershipBenefitData?.memberBenefitsNotLogin?.replace(\n '{amount}',\n formatPrice({\n amount: memberDiscount?.config?.amount ?? 0,\n currencyCode: variant.price.currencyCode,\n locale,\n })\n ) ?? '')}{' '}\n {Boolean(profile?.email) ? (\n ''\n ) : (\n <span role=\"button\" tabIndex={0} onClick={() => openSignInPopup?.()} className=\"underline\">\n {benefitPayloadData?.couponBenefitData?.member?.loginNow}\n </span>\n )}\n </>\n ),\n borderStyle: 'rounded',\n onUseChange: (value: boolean) => {\n if (Boolean(profile?.email)) {\n const memberSaving = value ? (memberDiscount?.config?.amount ?? 0) : 0\n onUseMemberDiscountChange?.(memberSaving)\n // setSavingDetail(prev => ({\n // ...prev,\n // member: value ? (memberDiscount?.config?.amount ?? 0) : 0,\n // }))\n return true\n } else {\n openSignInPopup?.()\n return false\n }\n },\n }\n : null,\n levelDiscount.enable\n ? {\n title: levelDiscount?.config?.title ?? '',\n description: levelDiscount?.config?.tag ?? '',\n borderStyle: 'inset',\n bgImage: {\n url: benefitPayloadData?.couponBenefitData?.levelDiscount?.bgImage,\n },\n }\n : null,\n freeGift.enable\n ? {\n title: freeGift?.config?.title ?? '',\n description: benefitPayloadData?.couponBenefitData?.freeGift?.selectFreeGift,\n borderStyle: 'inset',\n bgImage: {\n url: benefitPayloadData?.couponBenefitData?.freeGift?.bgImage,\n },\n couponBgColor:\n 'linear-gradient(94deg, rgba(215, 245, 254, 0.24) 4.2%, rgba(215, 245, 254, 0.80) 99.11%), #FFF',\n }\n : null,\n bundle.enable\n ? {\n title: `${benefitPayloadData?.couponBenefitData?.bundle?.bundleSaveUpTo} ${formatPrice({\n amount: Math.max(...(bundle?.config?.bundleList?.map((item: any) => item.savings ?? 0) ?? [])),\n currencyCode: variant.price.currencyCode,\n locale,\n })}`,\n borderStyle: 'inset',\n description: benefitPayloadData?.couponBenefitData?.bundle?.bundleOffer.replace(\n '{count}',\n bundle?.config?.bundleList?.length?.toString() ?? ''\n ),\n bgImage: {\n url: benefitPayloadData?.couponBenefitData?.bundle?.bgImage,\n },\n couponBgColor:\n 'linear-gradient(94deg, rgba(215, 245, 254, 0.24) 4.2%, rgba(215, 245, 254, 0.80) 99.11%), #FFF',\n }\n : null,\n fullGift.enable\n ? {\n title: fullGift?.config?.title ?? '',\n description: fullGift?.config?.desc ?? '',\n borderStyle: 'inset',\n bgImage: {\n url: benefitPayloadData?.couponBenefitData?.fullGift?.bgImage,\n },\n couponBgColor:\n 'linear-gradient(94deg, rgba(215, 245, 254, 0.24) 4.2%, rgba(215, 245, 254, 0.80) 99.11%), #FFF',\n }\n : null,\n creditsRedemption.enable\n ? {\n title: benefitPayloadData?.couponBenefitData?.creditsRedemption?.creditsTitle,\n description: benefitPayloadData?.couponBenefitData?.creditsRedemption?.creditsDesc,\n borderStyle: 'inset',\n bgImage: {\n url: benefitPayloadData?.couponBenefitData?.creditsRedemption?.bgImage,\n },\n couponBgColor:\n 'linear-gradient(94deg, rgba(215, 245, 254, 0.24) 4.2%, rgba(215, 245, 254, 0.80) 99.11%), #FFF',\n }\n : null,\n ].filter(Boolean)\n\n useEffect(() => {\n setProductBenefitsTabsValue(coupons?.length ? 'coupon' : 'membership')\n }, [variant?.id])\n\n const [productBenefitsTabsValue, setProductBenefitsTabsValue] = useState<ProductBenefitsTabsValueType>('coupon')\n\n const handleActivate = () => {\n openAuthCodePopup?.()\n }\n\n if (!ProductBenefitsTabs) return null\n\n const handleProductBenefitsTabListClick = (\n el: React.MouseEvent<HTMLButtonElement>,\n value: ProductBenefitsTabsValueType\n ) => {\n setProductBenefitsTabsValue(value)\n if (scrollContainerRef.current) {\n const container = scrollContainerRef.current\n const button = el.currentTarget\n const scrollLeft = button.offsetLeft - container.offsetWidth / 2 + button.offsetWidth / 2\n container.scrollTo({\n left: scrollLeft,\n behavior: 'smooth',\n })\n }\n }\n\n const benefitTabs = useMemo(() => {\n return productBenefitsData?.benefitTabs\n ?.map((item: any) => {\n if (item?.value === 'coupon' && !coupons?.length) {\n return null\n }\n return item\n })\n .filter(Boolean)\n }, [productBenefitsData, coupons])\n\n return (\n <ProductBenefitsTabs\n className=\"relative\"\n onValueChange={value => setProductBenefitsTabsValue(value as 'coupon' | 'membership' | 'installment')}\n value={productBenefitsTabsValue}\n >\n <div className=\"absolute right-0 z-[1] top-0 w-[25px] h-[40px] rounded-xl bg-gradient-to-r from-transparent to-[#EAEAEC]\"></div>\n <ProductBenefitsTabs.List ref={scrollContainerRef}>\n {benefitTabs?.map((item: any) => (\n <ProductBenefitsTabs.Trigger\n key={item?.value}\n className={cn(productBenefitsTabsValue === item.value && 'text-[#1D1D1F]')}\n value={item.value}\n onClick={e => handleProductBenefitsTabListClick(e, item?.value)}\n >\n {item.label}\n </ProductBenefitsTabs.Trigger>\n ))}\n </ProductBenefitsTabs.List>\n <style global jsx>\n {`\n .benefits-tabs-content::-webkit-scrollbar {\n width: 4px; /* \u6EDA\u52A8\u6761\u5BBD\u5EA6 */\n height: 64px; /* \u6A2A\u5411\u6EDA\u52A8\u6761\u9AD8\u5EA6 */\n }\n\n .benefits-tabs-content::-webkit-scrollbar-track {\n background: transparent; /* \u6EDA\u52A8\u6761\u8F68\u9053\u80CC\u666F */\n }\n\n .benefits-tabs-content::-webkit-scrollbar-thumb {\n background-color: #d1d1d1; /* \u6EDA\u52A8\u6761\u989C\u8272 */\n border-radius: 9999px; /* \u5706\u89D2 */\n }\n\n .benefits-tabs-content::-webkit-scrollbar-thumb:hover {\n background-color: rgba(100, 100, 100, 0.6);\n }\n `}\n </style>\n {/* \u4F7F\u7528\u5185\u7F6E\u7684 CouponContent \u5B50\u7EC4\u4EF6 */}\n {coupons?.length ? (\n <ProductBenefitsTabs.Content\n value=\"coupon\"\n className=\"benefits-tabs-content overflow-y-auto lg-desktop:h-[240px] desktop:h-[196px] h-[180px] laptop:h-[220px]\"\n >\n <div className=\"p-3 lg-desktop:p-4\">\n <CouponContent\n coupons={coupons as NonNullable<CouponContentProps['coupons']>}\n textConfig={mergedTextConfig}\n benefitPayloadData={benefitPayloadData}\n />\n </div>\n </ProductBenefitsTabs.Content>\n ) : null}\n <ProductBenefitsTabs.Content\n value=\"membership\"\n className=\"benefits-tabs-content overflow-y-auto lg-desktop:h-[240px] desktop:h-[196px] h-[180px] laptop:h-[220px]\"\n >\n <div className=\"p-3 lg-desktop:p-4\">\n {!profile?.email && (\n <h3 className=\"mb-2 text-left text-lg font-bold\">\n {benefitPayloadData?.membershipBenefitData?.memberBenefitsNotLoginText}\n </h3>\n )}\n <div className={`rounded-[16px]`}>\n <ul\n className={`list-none [&_li:first-child]:rounded-t-[16px] \n [&_li:last-child]:rounded-b-[16px] [&_li:last-child]:last:border-b-0 [&_li]:flex [&_li]:items-center [&_li]:gap-2\n [&_li]:border-b [&_li]:border-b-[#E4E5E6] [&_li]:bg-white [&_li]:px-4\n [&_li]:py-4 \n [&_li]:text-left`}\n >\n {memberDiscount.enable && (\n <li className=\"justify-between\">\n <div className=\"flex gap-2\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\n <path\n d=\"M20 3.5C21.6569 3.5 23 4.84315 23 6.5V9.65625C23 10.0791 22.7342 10.4566 22.3359 10.5986C21.6665 10.8372 21.1816 11.4844 21.1816 12.25C21.1816 13.0156 21.6665 13.6628 22.3359 13.9014C22.7342 14.0434 23 14.4209 23 14.8438V18C23 19.6569 21.6569 21 20 21H4C2.34315 21 1 19.6569 1 18V14.8438L1.01172 14.6875C1.06803 14.3301 1.31557 14.0256 1.66406 13.9014C2.33345 13.6628 2.81836 13.0156 2.81836 12.25C2.81836 11.4844 2.33345 10.8372 1.66406 10.5986C1.26583 10.4566 1 10.0791 1 9.65625V6.5C1 4.84315 2.34315 3.5 4 3.5H20ZM4 5.5C3.44772 5.5 3 5.94772 3 6.5V9.03125C4.08987 9.68678 4.81836 10.8833 4.81836 12.25C4.81836 13.6165 4.08963 14.8122 3 15.4678V18C3 18.5523 3.44772 19 4 19H20C20.5523 19 21 18.5523 21 18V15.4678C19.9104 14.8122 19.1816 13.6165 19.1816 12.25C19.1816 10.8833 19.9101 9.68677 21 9.03125V6.5C21 5.94772 20.5523 5.5 20 5.5H4ZM15.793 6.79297C16.1835 6.40244 16.8165 6.40244 17.207 6.79297C17.5976 7.18349 17.5976 7.81651 17.207 8.20703L8.20703 17.207C7.81651 17.5976 7.18349 17.5976 6.79297 17.207C6.40244 16.8165 6.40244 16.1835 6.79297 15.793L15.793 6.79297ZM15.25 13.25C16.3546 13.25 17.25 14.1454 17.25 15.25C17.25 16.3546 16.3546 17.25 15.25 17.25C14.1454 17.25 13.25 16.3546 13.25 15.25C13.25 14.1454 14.1454 13.25 15.25 13.25ZM15.25 14.75C14.9739 14.75 14.75 14.9739 14.75 15.25C14.75 15.5261 14.9739 15.75 15.25 15.75C15.5261 15.75 15.75 15.5261 15.75 15.25C15.75 14.9739 15.5261 14.75 15.25 14.75ZM8.75 6.75C9.85457 6.75 10.75 7.64543 10.75 8.75C10.75 9.85457 9.85457 10.75 8.75 10.75C7.64543 10.75 6.75 9.85457 6.75 8.75C6.75 7.64543 7.64543 6.75 8.75 6.75ZM8.75 8.25C8.47386 8.25 8.25 8.47386 8.25 8.75C8.25 9.02614 8.47386 9.25 8.75 9.25C9.02614 9.25 9.25 9.02614 9.25 8.75C9.25 8.47386 9.02614 8.25 8.75 8.25Z\"\n fill=\"#1D1D1F\"\n />\n </svg>\n <Text as=\"p\" className=\"text-left text-[16px] font-bold x:text-[14px]\">\n {replaceTemplate(benefitPayloadData?.membershipBenefitData?.forNewMember, {\n amount: formatPrice({\n amount: memberDiscount?.config?.amount ?? 0,\n currencyCode: variant.price.currencyCode,\n locale,\n }),\n })}\n </Text>\n </div>\n {Boolean(profile?.email) && <CheckedIcon />}\n </li>\n )}\n {benefitPayloadData?.membershipBenefitData?.equities?.map((item: any, index: number) =>\n item.modalText ? (\n <li key={index} className=\"justify-between gap-2\">\n <button\n onClick={() => openModal?.({ title: item.label, content: item.modalText })}\n key={index}\n className=\"flex justify-between\"\n >\n <Picture source={item.icon} alt={item.text} className=\"size-6 shrink-0\" />\n <Text className=\"text-left text-[16px] font-bold x:text-[14px]\">{item.text}</Text>\n </button>\n {Boolean(profile?.email) && <CheckedIcon />}\n </li>\n ) : (\n <li key={index} className=\"justify-between\">\n <div className=\"flex gap-2\">\n <Picture source={item.icon} alt={item.text} className=\" size-6 shrink-0\" />\n <Text as=\"p\" className=\"text-left text-[16px] font-bold x:text-[14px]\">\n {item.label}\n </Text>\n </div>\n {Boolean(profile?.email) && <CheckedIcon />}\n </li>\n )\n )}\n {/* \u9AD8\u6807\u7269\u6D41 */}\n {paidShipping.enable ? (\n <li className=\"justify-between\">\n <div className=\"flex gap-2\">\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M19 3C19.5523 3 20 3.44772 20 4C20 4.55228 19.5523 5 19 5H10V16H21C21.5523 16 22 16.4477 22 17C22 17.5523 21.5523 18 21 18H19.9961C19.9961 19.6559 18.6547 21 16.998 21C15.3414 21 14 19.6559 14 18H10C10 19.6568 8.65684 21 7 21C5.34317 21 4 19.6568 4 18H2C1.44772 18 1 17.5523 1 17V10.6738L1.00488 10.5771C1.02632 10.3554 1.12145 10.146 1.27637 9.9834L4.77637 6.31055L4.84961 6.24023C5.02993 6.08586 5.26042 6 5.5 6H8V5C8 3.89544 8.89541 3 10 3H19ZM6.00488 18.1025C6.05622 18.6067 6.48234 19 7 19C7.51766 19 7.94378 18.6067 7.99512 18.1025L8 18H6L6.00488 18.1025ZM16.0049 18.1025C16.0561 18.6074 16.4823 19 16.998 19C17.5138 19 17.94 18.6074 17.9912 18.1025L17.9961 18H16L16.0049 18.1025ZM3 11.0723V16H8V8H5.92773L3 11.0723ZM21.6621 6.8252C22.0348 6.41765 22.6676 6.38902 23.0752 6.76172C23.4827 7.13443 23.5104 7.76725 23.1377 8.1748L18.0518 13.7363C17.6625 14.162 17.003 14.1954 16.5732 13.8105L13.333 10.9092C12.9216 10.5408 12.8865 9.90853 13.2549 9.49707C13.6232 9.08565 14.2555 9.05066 14.667 9.41895L17.208 11.6943L21.6621 6.8252Z\"\n fill=\"#1D1D1F\"\n />\n </svg>\n <Text as=\"p\" className=\"text-left text-[16px] font-bold x:text-[14px]\">\n {benefitPayloadData?.membershipBenefitData?.expressShipping}\n </Text>\n </div>\n {Boolean(profile?.email) && <CheckedIcon />}\n </li>\n ) : null}\n {/* \u79EF\u5206\u62B5\u73B0 */}\n {creditsRedemption.enable ? (\n <li>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M12 1C18.0751 1 23 5.92487 23 12C23 18.0751 18.0751 23 12 23C5.92487 23 1 18.0751 1 12C1 5.92487 5.92487 1 12 1ZM12 3C7.02944 3 3 7.02944 3 12C3 16.9706 7.02944 21 12 21C16.9706 21 21 16.9706 21 12C21 7.02944 16.9706 3 12 3ZM17 13C17.5523 13 18 13.4477 18 14C18 14.5523 17.5523 15 17 15H9.41406L9.70703 15.293C10.0976 15.6835 10.0976 16.3165 9.70703 16.707C9.31651 17.0976 8.68349 17.0976 8.29297 16.707L6.29297 14.707C6.00697 14.421 5.92139 13.9909 6.07617 13.6172C6.23098 13.2436 6.59558 13 7 13H17ZM14.293 7.29297C14.6835 6.90244 15.3165 6.90244 15.707 7.29297L17.707 9.29297C17.993 9.57897 18.0786 10.0091 17.9238 10.3828C17.769 10.7564 17.4044 11 17 11H7C6.44772 11 6 10.5523 6 10C6 9.44771 6.44772 9 7 9H14.5859L14.293 8.70703C13.9024 8.31651 13.9024 7.68349 14.293 7.29297Z\"\n fill=\"#1D1D1F\"\n />\n </svg>\n <Text as=\"p\" className=\"text-left text-[16px] font-bold x:text-[14px]\">\n {/* \u7528\u6237\u672A\u6FC0\u6D3B\uFF0C\u4E14\u672A\u767B\u5F55\uFF0C\u5219\u663E\u793A\u6FC0\u6D3B\u94FE\u63A5 */}\n {!activated && Boolean(profile?.email) ? (\n <>\n {benefitPayloadData?.membershipBenefitData?.creditsAfterActivation}\n <span role=\"button\" tabIndex={0} onClick={() => handleActivate()} className=\"underline\">\n {benefitPayloadData?.membershipBenefitData?.active}\n </span>\n </>\n ) : (\n creditsRedemption?.config?.label?.replace(\n '{{amount}}',\n formatPrice({\n amount: creditsRedemption?.config?.amount ?? 0,\n currencyCode: variant.price.currencyCode,\n locale,\n })\n )\n )}\n </Text>\n </li>\n ) : null}\n </ul>\n </div>\n {!profile?.email && (\n <div className=\"pt-4\">\n <Button variant=\"primary\" className=\"w-full\" onClick={() => openSignUpPopup?.()}>\n {copyWriting?.signUp}\n </Button>\n </div>\n )}\n </div>\n </ProductBenefitsTabs.Content>\n <ProductBenefitsTabs.Content\n value=\"pay\"\n className=\"benefits-tabs-content overflow-y-auto lg-desktop:h-[240px] desktop:h-[196px] h-[180px] laptop:h-[220px] \"\n >\n <div className=\"p-3 lg-desktop:p-4\">\n <Heading size={2} className=\"mb-2 text-left text-lg font-bold\">\n {benefitPayloadData?.payBenefitData?.payMethod}\n </Heading>\n <div className=\"flex items-center gap-2 justify-between rounded-[16px] p-3 lg-desktop:p-4 bg-white\">\n <div className=\"flex items-center gap-2\">\n <Picture\n source={benefitPayloadData?.payBenefitData?.icon}\n className=\"size-[40px] h-[20px] desktop:size-[70px] desktop:h-[34px] shrink-0\"\n />\n <Text\n as=\"p\"\n className=\"text-left text-[16px] font-bold x:text-[14px]\"\n html={benefitPayloadData?.payBenefitData?.withCheckout}\n />\n </div>\n <button\n className=\"underline hover:text-brand-0 whitespace-nowrap text-sm font-bold desktop:text-[16px]\"\n onClick={() => setIsFlexModalOpen(true)}\n >\n {benefitPayloadData?.payBenefitData?.learnMore}\n </button>\n </div>\n </div>\n\n <ModalContainer showModal={isFlexModalOpen} closeModal={() => setIsFlexModalOpen(false)}>\n <Picture source={benefitPayloadData?.payBenefitData?.payImage}></Picture>\n </ModalContainer>\n </ProductBenefitsTabs.Content>\n {/* \u81EA\u5B9A\u4E49\u5185\u5BB9 */}\n <ProductBenefitsTabs.Content\n value=\"installment\"\n className=\"benefits-tabs-content overflow-y-auto lg-desktop:h-[240px] desktop:h-[196px] h-[180px] laptop:h-[220px] \"\n >\n <div className=\"p-3 lg-desktop:p-4\">\n <Heading size={2} className=\"mb-2 text-left text-lg font-bold\">\n {benefitPayloadData?.installmentBenefitData?.flexibleInstallment}\n </Heading>\n <div className=\"overflow-hidden rounded-[16px] p-3 lg-desktop:p-4 bg-white\">{renderInstallments}</div>\n </div>\n </ProductBenefitsTabs.Content>\n </ProductBenefitsTabs>\n )\n}\n\nconst CheckedIcon = (props: React.SVGProps<SVGSVGElement>) => {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" {...props}>\n <path\n d=\"M4 9.19472L8.51935 13.667L16.2668 6.00024\"\n stroke=\"#2BBC4F\"\n strokeWidth=\"1.67\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n )\n}\n\nexport default BenefitsTab\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["Fragment", "jsx", "jsxs", "Button", "Checkbox", "Text", "Picture", "Heading", "ProductBenefitsTabs", "useBizProductContext", "useBenefits", "formatPrice", "replaceTemplate", "useEffect", "useMemo", "useRef", "useState", "useAiuiContext", "useCountDown", "useCopy", "cn", "ModalContainer", "defaultTextConfig", "CouponItem", "item", "textConfig", "benefitPayloadData", "trackingData", "isCopied", "copyToClipboard", "checked", "setChecked", "couponCopy", "days", "hours", "minutes", "seconds", "openModal", "event", "CouponContent", "coupons", "className", "index", "BenefitsTab", "isLogin", "profile", "variant", "renderInstallments", "onUseCouponChange", "onUseMemberDiscountChange", "discount", "savingDetail", "openSignInPopup", "openAuthCodePopup", "openSignUpPopup", "product", "productBenefitsData", "isFlexModalOpen", "setIsFlexModalOpen", "benefits", "locale", "copyWriting", "scrollContainerRef", "mergedTextConfig", "activated", "memberDiscount", "commonCoupon", "creditsRedemption", "freeGift", "bundle", "paidShipping", "fullGift", "levelDiscount", "couponBenefitData", "membershipBenefitData", "installmentBenefitData", "payBenefitData", "value", "couponSaving", "memberSaving", "setProductBenefitsTabsValue", "productBenefitsTabsValue", "handleActivate", "handleProductBenefitsTabListClick", "el", "container", "button", "scrollLeft", "benefitTabs", "e", "CheckedIcon", "props", "BenefitsTab_default"]
|
|
7
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { type PropsWithChildren } from 'react';
|
|
2
|
-
declare const ModalContainer: ({ title, className, showModal, closeModal, children, stickyHeader, }: PropsWithChildren<{
|
|
3
|
-
title?: string;
|
|
4
|
-
className?: string;
|
|
5
|
-
showModal: boolean;
|
|
6
|
-
closeModal: () => void;
|
|
7
|
-
needClickAway?: boolean;
|
|
8
|
-
stickyHeader?: boolean;
|
|
9
|
-
}>) => import("react/jsx-runtime").JSX.Element;
|
|
10
|
-
export default ModalContainer;
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{jsx as e,jsxs as l}from"react/jsx-runtime";import{cn as o}from"../../../../../../helpers/index.js";import{motion as a}from"framer-motion";import p from"react";import d from"../../../../../HeaderNavigation/icons/Close.js";const b=({title:t,className:n,showModal:i,closeModal:s,children:r,stickyHeader:c=!0})=>{const m=p.useRef(null);return e(a.div,{animate:i?{opacity:1}:{opacity:0,pointerEvents:"none"},transition:{duration:.1,bounce:0},className:"fixed left-0 top-0 z-[80] flex h-full w-full items-center justify-center bg-black bg-opacity-50 opacity-0",children:e(a.div,{transition:{duration:.1,bounce:0},ref:m,animate:i?{scale:1}:{scale:.7},children:l("div",{className:o("relative z-1 max-h-[80vh] w-min min-w-[600px] overflow-scroll rounded-xl bg-white md:min-w-[90vw]",n),children:[l("div",{className:o(c&&"sticky top-0 z-[2] bg-white"),children:[t&&e("p",{className:o("w-full border-b border-[#e6e6e6] py-[16px] pl-[20px] pr-[60px] text-[20px] font-bold"),children:t}),e("button",{onClick:s,className:"close-button absolute right-4 top-5 z-[2]","aria-label":"Close modal",children:e(d,{className:"h-[24px] w-[24px]"})})]}),r]})})})};var h=b;export{h as default};
|
|
2
|
-
//# sourceMappingURL=ModalContainer.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../../../../../src/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/ModalContainer.tsx"],
|
|
4
|
-
"sourcesContent": ["import { cn as classNames } from '../../../../../../helpers/index.js'\nimport { motion } from 'framer-motion'\nimport React, { type PropsWithChildren } from 'react'\nimport Close from '../../../../../HeaderNavigation/icons/Close.js'\n\nconst ModalContainer = ({\n title,\n className,\n showModal,\n closeModal,\n children,\n stickyHeader = true,\n}: PropsWithChildren<{\n title?: string\n className?: string\n showModal: boolean\n closeModal: () => void\n needClickAway?: boolean\n stickyHeader?: boolean\n}>) => {\n const modalRef = React.useRef<HTMLDivElement>(null)\n\n return (\n <motion.div\n animate={showModal ? { opacity: 1 } : { opacity: 0, pointerEvents: 'none' }}\n transition={{ duration: 0.1, bounce: 0 }}\n className=\"fixed left-0 top-0 z-[80] flex h-full w-full items-center justify-center bg-black bg-opacity-50 opacity-0\"\n >\n <motion.div\n transition={{ duration: 0.1, bounce: 0 }}\n ref={modalRef}\n animate={showModal ? { scale: 1 } : { scale: 0.7 }}\n >\n <div\n className={classNames(\n 'relative z-1 max-h-[80vh] w-min min-w-[600px] overflow-scroll rounded-xl bg-white md:min-w-[90vw]',\n className\n )}\n >\n <div className={classNames(stickyHeader && 'sticky top-0 z-[2] bg-white')}>\n {title && (\n <p\n className={classNames(\n 'w-full border-b border-[#e6e6e6] py-[16px] pl-[20px] pr-[60px] text-[20px] font-bold'\n )}\n >\n {title}\n </p>\n )}\n <button\n onClick={closeModal}\n className={'close-button absolute right-4 top-5 z-[2]'}\n aria-label=\"Close modal\"\n >\n <Close className=\"h-[24px] w-[24px]\" />\n </button>\n </div>\n {children}\n </div>\n </motion.div>\n </motion.div>\n )\n}\n\nexport default ModalContainer\n"],
|
|
5
|
-
"mappings": "AAuCU,OAEI,OAAAA,EAFJ,QAAAC,MAAA,oBAvCV,OAAS,MAAMC,MAAkB,qCACjC,OAAS,UAAAC,MAAc,gBACvB,OAAOC,MAAuC,QAC9C,OAAOC,MAAW,iDAElB,MAAMC,EAAiB,CAAC,CACtB,MAAAC,EACA,UAAAC,EACA,UAAAC,EACA,WAAAC,EACA,SAAAC,EACA,aAAAC,EAAe,EACjB,IAOO,CACL,MAAMC,EAAWT,EAAM,OAAuB,IAAI,EAElD,OACEJ,EAACG,EAAO,IAAP,CACC,QAASM,EAAY,CAAE,QAAS,CAAE,EAAI,CAAE,QAAS,EAAG,cAAe,MAAO,EAC1E,WAAY,CAAE,SAAU,GAAK,OAAQ,CAAE,EACvC,UAAU,4GAEV,SAAAT,EAACG,EAAO,IAAP,CACC,WAAY,CAAE,SAAU,GAAK,OAAQ,CAAE,EACvC,IAAKU,EACL,QAASJ,EAAY,CAAE,MAAO,CAAE,EAAI,CAAE,MAAO,EAAI,EAEjD,SAAAR,EAAC,OACC,UAAWC,EACT,oGACAM,CACF,EAEA,UAAAP,EAAC,OAAI,UAAWC,EAAWU,GAAgB,6BAA6B,EACrE,UAAAL,GACCP,EAAC,KACC,UAAWE,EACT,sFACF,EAEC,SAAAK,EACH,EAEFP,EAAC,UACC,QAASU,EACT,UAAW,4CACX,aAAW,cAEX,SAAAV,EAACK,EAAA,CAAM,UAAU,oBAAoB,EACvC,GACF,EACCM,GACH,EACF,EACF,CAEJ,EAEA,IAAOG,EAAQR",
|
|
6
|
-
"names": ["jsx", "jsxs", "classNames", "motion", "React", "Close", "ModalContainer", "title", "className", "showModal", "closeModal", "children", "stickyHeader", "modalRef", "ModalContainer_default"]
|
|
7
|
-
}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { type ReactNode, type HTMLAttributes } from 'react';
|
|
2
|
-
interface BenefitsTabsProps extends HTMLAttributes<HTMLDivElement> {
|
|
3
|
-
defaultValue?: string;
|
|
4
|
-
value?: string;
|
|
5
|
-
onValueChange?: (value: string) => void;
|
|
6
|
-
children: ReactNode;
|
|
7
|
-
}
|
|
8
|
-
declare const ProductBenefitsTabs: {
|
|
9
|
-
({ defaultValue, value, onValueChange, children, className, ...props }: BenefitsTabsProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
-
displayName: string;
|
|
11
|
-
List: import("react").ForwardRefExoticComponent<BenefitsTabsListProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
12
|
-
Trigger: ({ value, children, className, ...props }: BenefitsTabsTriggerProps) => import("react/jsx-runtime").JSX.Element;
|
|
13
|
-
Badge: ({ children, className, ...props }: BenefitsTabsBadgeProps) => import("react/jsx-runtime").JSX.Element;
|
|
14
|
-
Content: ({ value, children, className, ...props }: BenefitsTabsContentProps) => import("react/jsx-runtime").JSX.Element;
|
|
15
|
-
};
|
|
16
|
-
interface BenefitsTabsListProps extends HTMLAttributes<HTMLDivElement> {
|
|
17
|
-
children: ReactNode;
|
|
18
|
-
}
|
|
19
|
-
interface BenefitsTabsTriggerProps extends HTMLAttributes<HTMLButtonElement> {
|
|
20
|
-
value: string;
|
|
21
|
-
children: ReactNode;
|
|
22
|
-
}
|
|
23
|
-
interface BenefitsTabsBadgeProps extends HTMLAttributes<HTMLSpanElement> {
|
|
24
|
-
children: ReactNode;
|
|
25
|
-
}
|
|
26
|
-
interface BenefitsTabsContentProps extends HTMLAttributes<HTMLDivElement> {
|
|
27
|
-
value: string;
|
|
28
|
-
children: ReactNode;
|
|
29
|
-
}
|
|
30
|
-
export default ProductBenefitsTabs;
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{jsx as i,jsxs as M}from"react/jsx-runtime";import{Text as u}from"../../../../../../components/index.js";import{createContext as g,useContext as B,useState as m,forwardRef as v}from"react";import{cn as r}from"../../../../../../helpers/index.js";import{Content as x,List as L,Root as C,Trigger as P}from"@radix-ui/react-tabs";const b=g(void 0),h=()=>{const e=B(b);if(!e)throw new Error("ProductBenefitsTabs components must be used within ProductBenefitsTabs");return e},a=({defaultValue:e,value:t,onValueChange:s,children:n,className:o,...l})=>{const[T,p]=m(e),d=t??T,f=c=>{t===void 0&&p(c),s?.(c)};return i(b.Provider,{value:{activeValue:d,setActiveValue:f},children:i("div",{id:"ipc-product-detail-benefits-tabs",className:r("bg-[#EAEAEC] rounded-lg pt-[10px]",o),...l,children:i(C,{value:d,onValueChange:f,children:n})})})},E=v(({children:e,className:t,...s},n)=>i(L,{className:r("flex space-x-6 overflow-x-auto px-4 border-b border-[#E4E5E6] relative",t),style:{scrollbarWidth:"none",msOverflowStyle:"none"},ref:n,...s,children:e})),N=({value:e,children:t,className:s,...n})=>{const{activeValue:o}=h(),l=o===e;return M(P,{value:e,className:r("text-sm lg-desktop:text-base whitespace-nowrap relative leading-[1.4] font-bold lg-desktop:pb-4 pb-[10px] text-[#6D6D6F]",s),...n,children:[i(u,{className:r("absolute bottom-0 z-10 left-0 h-[2px] w-0 bg-info-primary transition-all duration-300",l&&"w-full")}),t]})},w=({children:e,className:t,...s})=>i(u,{size:1,className:r("font-bold ml-1 !whitespace-nowrap rounded-full px-2 py-1 text-white bg-brand",t),...s,children:e}),H=({value:e,children:t,className:s,...n})=>i(x,{value:e,className:r(s),...n,children:t});a.displayName="ProductBenefitsTabs",a.List=E,a.Trigger=N,a.Badge=w,a.Content=H;var k=a;export{k as default};
|
|
2
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../../../../../src/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.tsx"],
|
|
4
|
-
"sourcesContent": ["import { Text } from '../../../../../../components/index.js'\nimport {\n createContext,\n useContext,\n useState,\n type ReactNode,\n type HTMLAttributes,\n useEffect,\n useRef,\n forwardRef,\n} from 'react'\nimport { cn } from '../../../../../../helpers/index.js'\nimport { Content, List, Root, Trigger } from '@radix-ui/react-tabs'\n\n// Context for sharing state between components\ninterface BenefitsTabsContextType {\n activeValue: string | undefined\n setActiveValue: (value: string) => void\n}\n\nconst BenefitsTabsContext = createContext<BenefitsTabsContextType | undefined>(undefined)\n\nconst useBenefitsTabsContext = () => {\n const context = useContext(BenefitsTabsContext)\n if (!context) {\n throw new Error('ProductBenefitsTabs components must be used within ProductBenefitsTabs')\n }\n return context\n}\n\n// Main container component\ninterface BenefitsTabsProps extends HTMLAttributes<HTMLDivElement> {\n defaultValue?: string\n value?: string\n onValueChange?: (value: string) => void\n children: ReactNode\n}\n\nconst ProductBenefitsTabs = ({\n defaultValue,\n value,\n onValueChange,\n children,\n className,\n ...props\n}: BenefitsTabsProps) => {\n const [internalValue, setInternalValue] = useState(defaultValue)\n\n const activeValue = value ?? internalValue\n const setActiveValue = (newValue: string) => {\n if (value === undefined) {\n setInternalValue(newValue)\n }\n onValueChange?.(newValue)\n }\n\n return (\n <BenefitsTabsContext.Provider value={{ activeValue, setActiveValue }}>\n <div\n id=\"ipc-product-detail-benefits-tabs\"\n className={cn('bg-[#EAEAEC] rounded-lg pt-[10px]', className)}\n {...props}\n >\n <Root value={activeValue} onValueChange={setActiveValue}>\n {children}\n </Root>\n </div>\n </BenefitsTabsContext.Provider>\n )\n}\n\n// List component for triggers\ninterface BenefitsTabsListProps extends HTMLAttributes<HTMLDivElement> {\n children: ReactNode\n}\n\nconst BenefitsTabsList = forwardRef<HTMLDivElement, BenefitsTabsListProps>(({ children, className, ...props }, ref) => {\n return (\n <List\n className={cn('flex space-x-6 overflow-x-auto px-4 border-b border-[#E4E5E6] relative', className)}\n style={{\n scrollbarWidth: 'none',\n msOverflowStyle: 'none',\n }}\n ref={ref}\n {...props}\n >\n {children}\n </List>\n )\n})\n\n// Trigger component\ninterface BenefitsTabsTriggerProps extends HTMLAttributes<HTMLButtonElement> {\n value: string\n children: ReactNode\n}\n\nconst BenefitsTabsTrigger = ({ value, children, className, ...props }: BenefitsTabsTriggerProps) => {\n const { activeValue } = useBenefitsTabsContext()\n const isActive = activeValue === value\n\n return (\n <Trigger\n value={value}\n className={cn(\n 'text-sm lg-desktop:text-base whitespace-nowrap relative leading-[1.4] font-bold lg-desktop:pb-4 pb-[10px] text-[#6D6D6F]',\n className\n )}\n {...props}\n >\n <Text\n className={cn(\n 'absolute bottom-0 z-10 left-0 h-[2px] w-0 bg-info-primary transition-all duration-300',\n isActive && 'w-full'\n )}\n />\n {children}\n </Trigger>\n )\n}\n\n// Badge component for trigger\ninterface BenefitsTabsBadgeProps extends HTMLAttributes<HTMLSpanElement> {\n children: ReactNode\n}\n\nconst BenefitsTabsBadge = ({ children, className, ...props }: BenefitsTabsBadgeProps) => {\n return (\n <Text\n size={1}\n className={cn('font-bold ml-1 !whitespace-nowrap rounded-full px-2 py-1 text-white bg-brand', className)}\n {...props}\n >\n {children}\n </Text>\n )\n}\n\n// Content component\ninterface BenefitsTabsContentProps extends HTMLAttributes<HTMLDivElement> {\n value: string\n children: ReactNode\n}\n\nconst BenefitsTabsContent = ({ value, children, className, ...props }: BenefitsTabsContentProps) => {\n return (\n <Content value={value} className={cn(className)} {...props}>\n {children}\n </Content>\n )\n}\n\nProductBenefitsTabs.displayName = 'ProductBenefitsTabs'\n\n// Attach sub-components to main component\nProductBenefitsTabs.List = BenefitsTabsList\nProductBenefitsTabs.Trigger = BenefitsTabsTrigger\nProductBenefitsTabs.Badge = BenefitsTabsBadge\nProductBenefitsTabs.Content = BenefitsTabsContent\n\nexport default ProductBenefitsTabs\n"],
|
|
5
|
-
"mappings": "AA+DQ,cAAAA,EAwCJ,QAAAC,MAxCI,oBA/DR,OAAS,QAAAC,MAAY,wCACrB,OACE,iBAAAC,EACA,cAAAC,EACA,YAAAC,EAKA,cAAAC,MACK,QACP,OAAS,MAAAC,MAAU,qCACnB,OAAS,WAAAC,EAAS,QAAAC,EAAM,QAAAC,EAAM,WAAAC,MAAe,uBAQ7C,MAAMC,EAAsBT,EAAmD,MAAS,EAElFU,EAAyB,IAAM,CACnC,MAAMC,EAAUV,EAAWQ,CAAmB,EAC9C,GAAI,CAACE,EACH,MAAM,IAAI,MAAM,wEAAwE,EAE1F,OAAOA,CACT,EAUMC,EAAsB,CAAC,CAC3B,aAAAC,EACA,MAAAC,EACA,cAAAC,EACA,SAAAC,EACA,UAAAC,EACA,GAAGC,CACL,IAAyB,CACvB,KAAM,CAACC,EAAeC,CAAgB,EAAIlB,EAASW,CAAY,EAEzDQ,EAAcP,GAASK,EACvBG,EAAkBC,GAAqB,CACvCT,IAAU,QACZM,EAAiBG,CAAQ,EAE3BR,IAAgBQ,CAAQ,CAC1B,EAEA,OACE1B,EAACY,EAAoB,SAApB,CAA6B,MAAO,CAAE,YAAAY,EAAa,eAAAC,CAAe,EACjE,SAAAzB,EAAC,OACC,GAAG,mCACH,UAAWO,EAAG,oCAAqCa,CAAS,EAC3D,GAAGC,EAEJ,SAAArB,EAACU,EAAA,CAAK,MAAOc,EAAa,cAAeC,EACtC,SAAAN,EACH,EACF,EACF,CAEJ,EAOMQ,EAAmBrB,EAAkD,CAAC,CAAE,SAAAa,EAAU,UAAAC,EAAW,GAAGC,CAAM,EAAGO,IAE3G5B,EAACS,EAAA,CACC,UAAWF,EAAG,yEAA0Ea,CAAS,EACjG,MAAO,CACL,eAAgB,OAChB,gBAAiB,MACnB,EACA,IAAKQ,EACJ,GAAGP,EAEH,SAAAF,EACH,CAEH,EAQKU,EAAsB,CAAC,CAAE,MAAAZ,EAAO,SAAAE,EAAU,UAAAC,EAAW,GAAGC,CAAM,IAAgC,CAClG,KAAM,CAAE,YAAAG,CAAY,EAAIX,EAAuB,EACzCiB,EAAWN,IAAgBP,EAEjC,OACEhB,EAACU,EAAA,CACC,MAAOM,EACP,UAAWV,EACT,2HACAa,CACF,EACC,GAAGC,EAEJ,UAAArB,EAACE,EAAA,CACC,UAAWK,EACT,wFACAuB,GAAY,QACd,EACF,EACCX,GACH,CAEJ,EAOMY,EAAoB,CAAC,CAAE,SAAAZ,EAAU,UAAAC,EAAW,GAAGC,CAAM,IAEvDrB,EAACE,EAAA,CACC,KAAM,EACN,UAAWK,EAAG,+EAAgFa,CAAS,EACtG,GAAGC,EAEH,SAAAF,EACH,EAUEa,EAAsB,CAAC,CAAE,MAAAf,EAAO,SAAAE,EAAU,UAAAC,EAAW,GAAGC,CAAM,IAEhErB,EAACQ,EAAA,CAAQ,MAAOS,EAAO,UAAWV,EAAGa,CAAS,EAAI,GAAGC,EAClD,SAAAF,EACH,EAIJJ,EAAoB,YAAc,sBAGlCA,EAAoB,KAAOY,EAC3BZ,EAAoB,QAAUc,EAC9Bd,EAAoB,MAAQgB,EAC5BhB,EAAoB,QAAUiB,EAE9B,IAAOC,EAAQlB",
|
|
6
|
-
"names": ["jsx", "jsxs", "Text", "createContext", "useContext", "useState", "forwardRef", "cn", "Content", "List", "Root", "Trigger", "BenefitsTabsContext", "useBenefitsTabsContext", "context", "ProductBenefitsTabs", "defaultValue", "value", "onValueChange", "children", "className", "props", "internalValue", "setInternalValue", "activeValue", "setActiveValue", "newValue", "BenefitsTabsList", "ref", "BenefitsTabsTrigger", "isActive", "BenefitsTabsBadge", "BenefitsTabsContent", "ProductBenefitsTabs_default"]
|
|
7
|
-
}
|
package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{jsx as i,jsxs as r}from"react/jsx-runtime";import{Text as o,Picture as y,Checkbox as C}from"../../../../../../components";import{cn as m}from"../../../../../../helpers/index.js";import{useAiuiContext as N}from"../../../../../AiuiProvider";import{useBizProductContext as B}from"../../../../BizProductProvider.js";import{formatPrice as u}from"../../../../utils";const b=()=>{const{locale:l="us"}=N(),{variant:v,bundle:f,checkedBundle:a,setCheckedBundle:d,setCheckedGift:D,savingDetail:P,setSavingDetail:z,setCheckedExchangePurchase:L,setJoinedRecommendBuyProducts:c,joinedRecommendBuyProducts:n}=B(),{title:x,bundleList:h,showAtListing:g}=f||{},p=h?.filter(e=>e.variants.slice(1,e.variants.length).every(s=>s.variant.availableForSale));if(!p?.length&&g)return null;const k=e=>{a?.id===e.id?(d?.(void 0),c?.({...n,bundle:{value:void 0,canOperate:!0}})):(d?.(e),c?.({...n,bundle:{value:e,canOperate:!1}}))};return r("div",{className:"ipc-product-detail-bundle",children:[i(o,{size:3,className:"font-bold",html:x}),i("div",{className:"grid grid-cols-1 gap-3 laptop:grid-cols-2 mt-3 desktop:grid-cols-1 desktop:mt-4",children:p?.map(e=>{const s=e.variants.filter(t=>t.variant.sku!==v.sku);return i("div",{children:r("div",{className:m("flex items-center gap-2 text-left font-bold px-4 rounded-box border-[#E4E5E6] border-2",{"border-brand":a?.id===e.id}),children:[i(C,{onCheckedChange:()=>k(e),size:"lg",className:m("rounded-full border-[#D1D1D1] border-[2px]",{"border-brand":a?.id===e.id}),id:e.id,value:e.id,checked:a?.id===e.id}),i("label",{htmlFor:e.id,className:"size-full cursor-pointer py-6",children:s?.map(t=>r("div",{className:"flex justify-between items-center gap-6 ",children:[r("div",{className:"flex items-center gap-2",children:[i(y,{source:t?.variant?.image?.url,className:"size-12 flex-shrink-0"}),i(o,{className:"text-sm laptop:text-[16px] line-clamp-2 lg-desktop:text-[18px] font-bold",html:t.variant.product.title})]}),r("div",{className:"flex items-center justify-end gap-1 laptop:flex-row flex-col shrink-0",children:[i(o,{className:"text-base laptop:text-[20px] lg-desktop:text-2xl font-bold",html:u({amount:t.price,locale:l,currencyCode:t.variant.price.currencyCode})}),t.price<t.variant.price.amount&&i(o,{className:"text-base laptop:text-[20px] lg-desktop:text-2xl font-bold line-through text-[#6D6D6F]",html:u({amount:t.variant.price.amount,locale:l,currencyCode:t.variant.price.currencyCode})})]})]},t.variant.id))})]})},e.id)})})]})};var O=b;export{O as default};
|
|
2
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../../../../../src/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.tsx"],
|
|
4
|
-
"sourcesContent": ["import { Text, Picture, Button, Checkbox } from '../../../../../../components'\nimport { cn } from '../../../../../../helpers/index.js'\nimport { useAiuiContext } from '../../../../../AiuiProvider'\nimport { useBizProductContext } from '../../../../BizProductProvider.js'\nimport { formatPrice } from '../../../../utils'\nimport type { BundleListItem } from '../../../../types/product'\n\nconst ProductBundle = () => {\n const { locale = 'us' } = useAiuiContext()\n const {\n variant,\n bundle,\n checkedBundle,\n setCheckedBundle,\n setCheckedGift,\n savingDetail,\n setSavingDetail,\n setCheckedExchangePurchase,\n setJoinedRecommendBuyProducts,\n joinedRecommendBuyProducts,\n } = useBizProductContext()\n\n const { title, bundleList, showAtListing } = bundle || {}\n\n const availableBundleList = bundleList?.filter(bundle =>\n bundle.variants.slice(1, bundle.variants.length).every(v => v.variant.availableForSale)\n )\n\n if (!availableBundleList?.length && showAtListing) return null\n\n const handleSelectedChange = (bundleItem: BundleListItem) => {\n if (checkedBundle?.id === bundleItem.id) {\n setCheckedBundle?.(undefined)\n setJoinedRecommendBuyProducts?.({\n ...joinedRecommendBuyProducts,\n bundle: {\n value: undefined,\n canOperate: true,\n },\n })\n } else {\n setCheckedBundle?.(bundleItem)\n setJoinedRecommendBuyProducts?.({\n ...joinedRecommendBuyProducts,\n bundle: {\n value: bundleItem,\n canOperate: false,\n },\n })\n }\n }\n\n return (\n <div className=\"ipc-product-detail-bundle\">\n <Text size={3} className=\"font-bold\" html={title} />\n <div className=\"grid grid-cols-1 gap-3 laptop:grid-cols-2 mt-3 desktop:grid-cols-1 desktop:mt-4\">\n {availableBundleList?.map(bundle => {\n const bundleVariants = bundle.variants.filter(v => v.variant.sku !== variant.sku)\n return (\n <div key={bundle.id}>\n <div\n className={cn(\n 'flex items-center gap-2 text-left font-bold px-4 rounded-box border-[#E4E5E6] border-2',\n {\n ['border-brand']: checkedBundle?.id === bundle.id,\n }\n )}\n >\n <Checkbox\n onCheckedChange={() => handleSelectedChange(bundle)}\n size=\"lg\"\n className={cn('rounded-full border-[#D1D1D1] border-[2px]', {\n 'border-brand': checkedBundle?.id === bundle.id,\n })}\n id={bundle.id}\n value={bundle.id}\n checked={checkedBundle?.id === bundle.id}\n />\n <label htmlFor={bundle.id} className=\"size-full cursor-pointer py-6\">\n {bundleVariants?.map(bundleVariant => {\n return (\n <div className=\"flex justify-between items-center gap-6 \" key={bundleVariant.variant.id}>\n <div className=\"flex items-center gap-2\">\n <Picture source={bundleVariant?.variant?.image?.url} className=\"size-12 flex-shrink-0\" />\n <Text\n className=\"text-sm laptop:text-[16px] line-clamp-2 lg-desktop:text-[18px] font-bold\"\n html={bundleVariant.variant.product.title}\n />\n </div>\n <div className=\"flex items-center justify-end gap-1 laptop:flex-row flex-col shrink-0\">\n <Text\n className=\"text-base laptop:text-[20px] lg-desktop:text-2xl font-bold\"\n html={formatPrice({\n amount: bundleVariant.price,\n locale,\n currencyCode: bundleVariant.variant.price.currencyCode,\n })}\n />\n {bundleVariant.price < bundleVariant.variant.price.amount && (\n <Text\n className=\"text-base laptop:text-[20px] lg-desktop:text-2xl font-bold line-through text-[#6D6D6F]\"\n html={formatPrice({\n amount: bundleVariant.variant.price.amount,\n locale,\n currencyCode: bundleVariant.variant.price.currencyCode,\n })}\n />\n )}\n </div>\n </div>\n )\n })}\n </label>\n </div>\n </div>\n )\n })}\n </div>\n </div>\n )\n}\n\nexport default ProductBundle\n"],
|
|
5
|
-
"mappings": "AAsDM,cAAAA,EA4BkB,QAAAC,MA5BlB,oBAtDN,OAAS,QAAAC,EAAM,WAAAC,EAAiB,YAAAC,MAAgB,+BAChD,OAAS,MAAAC,MAAU,qCACnB,OAAS,kBAAAC,MAAsB,8BAC/B,OAAS,wBAAAC,MAA4B,oCACrC,OAAS,eAAAC,MAAmB,oBAG5B,MAAMC,EAAgB,IAAM,CAC1B,KAAM,CAAE,OAAAC,EAAS,IAAK,EAAIJ,EAAe,EACnC,CACJ,QAAAK,EACA,OAAAC,EACA,cAAAC,EACA,iBAAAC,EACA,eAAAC,EACA,aAAAC,EACA,gBAAAC,EACA,2BAAAC,EACA,8BAAAC,EACA,2BAAAC,CACF,EAAIb,EAAqB,EAEnB,CAAE,MAAAc,EAAO,WAAAC,EAAY,cAAAC,CAAc,EAAIX,GAAU,CAAC,EAElDY,EAAsBF,GAAY,OAAOV,GAC7CA,EAAO,SAAS,MAAM,EAAGA,EAAO,SAAS,MAAM,EAAE,MAAMa,GAAKA,EAAE,QAAQ,gBAAgB,CACxF,EAEA,GAAI,CAACD,GAAqB,QAAUD,EAAe,OAAO,KAE1D,MAAMG,EAAwBC,GAA+B,CACvDd,GAAe,KAAOc,EAAW,IACnCb,IAAmB,MAAS,EAC5BK,IAAgC,CAC9B,GAAGC,EACH,OAAQ,CACN,MAAO,OACP,WAAY,EACd,CACF,CAAC,IAEDN,IAAmBa,CAAU,EAC7BR,IAAgC,CAC9B,GAAGC,EACH,OAAQ,CACN,MAAOO,EACP,WAAY,EACd,CACF,CAAC,EAEL,EAEA,OACE1B,EAAC,OAAI,UAAU,4BACb,UAAAD,EAACE,EAAA,CAAK,KAAM,EAAG,UAAU,YAAY,KAAMmB,EAAO,EAClDrB,EAAC,OAAI,UAAU,kFACZ,SAAAwB,GAAqB,IAAIZ,GAAU,CAClC,MAAMgB,EAAiBhB,EAAO,SAAS,OAAOa,GAAKA,EAAE,QAAQ,MAAQd,EAAQ,GAAG,EAChF,OACEX,EAAC,OACC,SAAAC,EAAC,OACC,UAAWI,EACT,yFACA,CACG,eAAiBQ,GAAe,KAAOD,EAAO,EACjD,CACF,EAEA,UAAAZ,EAACI,EAAA,CACC,gBAAiB,IAAMsB,EAAqBd,CAAM,EAClD,KAAK,KACL,UAAWP,EAAG,6CAA8C,CAC1D,eAAgBQ,GAAe,KAAOD,EAAO,EAC/C,CAAC,EACD,GAAIA,EAAO,GACX,MAAOA,EAAO,GACd,QAASC,GAAe,KAAOD,EAAO,GACxC,EACAZ,EAAC,SAAM,QAASY,EAAO,GAAI,UAAU,gCAClC,SAAAgB,GAAgB,IAAIC,GAEjB5B,EAAC,OAAI,UAAU,2CACb,UAAAA,EAAC,OAAI,UAAU,0BACb,UAAAD,EAACG,EAAA,CAAQ,OAAQ0B,GAAe,SAAS,OAAO,IAAK,UAAU,wBAAwB,EACvF7B,EAACE,EAAA,CACC,UAAU,2EACV,KAAM2B,EAAc,QAAQ,QAAQ,MACtC,GACF,EACA5B,EAAC,OAAI,UAAU,yEACb,UAAAD,EAACE,EAAA,CACC,UAAU,6DACV,KAAMM,EAAY,CAChB,OAAQqB,EAAc,MACtB,OAAAnB,EACA,aAAcmB,EAAc,QAAQ,MAAM,YAC5C,CAAC,EACH,EACCA,EAAc,MAAQA,EAAc,QAAQ,MAAM,QACjD7B,EAACE,EAAA,CACC,UAAU,yFACV,KAAMM,EAAY,CAChB,OAAQqB,EAAc,QAAQ,MAAM,OACpC,OAAAnB,EACA,aAAcmB,EAAc,QAAQ,MAAM,YAC5C,CAAC,EACH,GAEJ,IA3B6DA,EAAc,QAAQ,EA4BrF,CAEH,EACH,GACF,GAtDQjB,EAAO,EAuDjB,CAEJ,CAAC,EACH,GACF,CAEJ,EAEA,IAAOkB,EAAQrB",
|
|
6
|
-
"names": ["jsx", "jsxs", "Text", "Picture", "Checkbox", "cn", "useAiuiContext", "useBizProductContext", "formatPrice", "ProductBundle", "locale", "variant", "bundle", "checkedBundle", "setCheckedBundle", "setCheckedGift", "savingDetail", "setSavingDetail", "setCheckedExchangePurchase", "setJoinedRecommendBuyProducts", "joinedRecommendBuyProducts", "title", "bundleList", "showAtListing", "availableBundleList", "v", "handleSelectedChange", "bundleItem", "bundleVariants", "bundleVariant", "ProductBundle_default"]
|
|
7
|
-
}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{jsx as t,jsxs as r}from"react/jsx-runtime";import{Text as a,Picture as P,Checkbox as k}from"../../../../../../components";import{cn as m}from"../../../../../../helpers/index.js";import{useMemo as g}from"react";import{useBizProductContext as v}from"../../../../BizProductProvider.js";import{formatPrice as u}from"../../../../utils";import{useAiuiContext as C}from"../../../../../AiuiProvider";const N=()=>{const{locale:c="us"}=C(),{checkedExchangePurchase:o,exchangePurchase:p,setCheckedBundle:y,setJoinedRecommendBuyProducts:l,setSavingDetail:x,setCheckedExchangePurchase:d,joinedRecommendBuyProducts:s,savingDetail:h}=v(),{title:b,giftList:i=[],freeLabel:D}=p||{},n=g(()=>i?.filter(e=>e.availableForSale),[i]),f=e=>{o?.id===e.id?(d?.(void 0),l?.({...s,exchange:{value:void 0,canOperate:!0}}),x?.({...h,exchangePurchase:0})):(d?.(e),l?.({...s,exchange:{value:e,canOperate:!1}}))};return n?.length?r("div",{className:"ipc-product-detail-exchange-purchase",children:[t(a,{size:3,className:"font-bold",html:b}),t("div",{className:"grid grid-cols-1 gap-3 laptop:grid-cols-2 desktop:grid-cols-1 mt-3 desktop:mt-4",children:n.map(e=>r("div",{className:m("flex items-center gap-2 text-left font-bold px-4 rounded-box border-[#E4E5E6] border-2",{"border-brand":o?.id===e.id}),children:[t(k,{onCheckedChange:()=>f(e),size:"lg",className:m("rounded-full border-[#D1D1D1] border-[2px]",{"border-brand":o?.id===e.id}),id:e.id,checked:o?.id===e.id,value:e.id}),r("label",{htmlFor:e.id,className:"flex py-6 cursor-pointer justify-between items-center gap-4 w-full",children:[r("div",{className:"flex items-center gap-2",children:[t(P,{source:e.image?.url,className:"size-12 flex-shrink-0"}),t(a,{className:"text-sm laptop:text-[16px] line-clamp-2 lg-desktop:text-[18px] font-bold",html:e.product.title})]}),r("div",{className:"flex items-center gap-1 tablet:flex-row flex-col shrink-0",children:[t(a,{className:"text-base laptop:text-[20px] lg-desktop:text-2xl font-bold",html:u({amount:e?.finalPrice?.amount||0,locale:c,currencyCode:e?.finalPrice?.currencyCode||"USD"})}),t(a,{className:"text-base text-[#6D6D6F] laptop:text-[20px] lg-desktop:text-2xl font-bold line-through",html:u({amount:e.price.amount,locale:c,currencyCode:e.price.currencyCode})})]})]})]},e.id))})]}):null};var V=N;export{V as default};
|
|
2
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../../../../../src/biz-components/Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.tsx"],
|
|
4
|
-
"sourcesContent": ["import { Text, Picture, Checkbox } from '../../../../../../components'\nimport { cn } from '../../../../../../helpers/index.js'\nimport { useMemo } from 'react'\nimport { useBizProductContext } from '../../../../BizProductProvider.js'\nimport { formatPrice } from '../../../../utils'\nimport { useAiuiContext } from '../../../../../AiuiProvider'\nimport type { ProductVariant, ProductPrice } from '../../../../types/product'\n\nconst ProductExchangePurchase = () => {\n const { locale = 'us' } = useAiuiContext()\n const {\n checkedExchangePurchase,\n exchangePurchase,\n setCheckedBundle,\n setJoinedRecommendBuyProducts,\n setSavingDetail,\n setCheckedExchangePurchase,\n joinedRecommendBuyProducts,\n savingDetail,\n } = useBizProductContext()\n const { title, giftList = [], freeLabel } = exchangePurchase || {}\n const availableGifts = useMemo(() => giftList?.filter(item => item.availableForSale), [giftList])\n\n const handleCheckboxClick = (value: ProductVariant) => {\n if (checkedExchangePurchase?.id === value.id) {\n setCheckedExchangePurchase?.(undefined)\n setJoinedRecommendBuyProducts?.({\n ...joinedRecommendBuyProducts,\n exchange: {\n value: undefined,\n canOperate: true,\n },\n })\n setSavingDetail?.({ ...savingDetail, exchangePurchase: 0 })\n } else {\n setCheckedExchangePurchase?.(value)\n setJoinedRecommendBuyProducts?.({\n ...joinedRecommendBuyProducts,\n exchange: {\n value,\n canOperate: false,\n },\n })\n }\n }\n\n if (!availableGifts?.length) return null\n\n return (\n <div className=\"ipc-product-detail-exchange-purchase\">\n <Text size={3} className=\"font-bold\" html={title} />\n <div className=\"grid grid-cols-1 gap-3 laptop:grid-cols-2 desktop:grid-cols-1 mt-3 desktop:mt-4\">\n {availableGifts.map((gift: ProductVariant & { finalPrice?: ProductPrice }) => (\n <div\n key={gift.id}\n className={cn('flex items-center gap-2 text-left font-bold px-4 rounded-box border-[#E4E5E6] border-2', {\n ['border-brand']: checkedExchangePurchase?.id === gift.id,\n })}\n >\n <Checkbox\n onCheckedChange={() => handleCheckboxClick(gift)}\n size=\"lg\"\n className={cn('rounded-full border-[#D1D1D1] border-[2px]', {\n 'border-brand': checkedExchangePurchase?.id === gift.id,\n })}\n id={gift.id}\n checked={checkedExchangePurchase?.id === gift.id}\n value={gift.id}\n ></Checkbox>\n <label htmlFor={gift.id} className=\"flex py-6 cursor-pointer justify-between items-center gap-4 w-full\">\n <div className=\"flex items-center gap-2\">\n <Picture source={gift.image?.url} className=\"size-12 flex-shrink-0\" />\n <Text\n className=\"text-sm laptop:text-[16px] line-clamp-2 lg-desktop:text-[18px] font-bold\"\n html={gift.product.title}\n />\n </div>\n <div className=\"flex items-center gap-1 tablet:flex-row flex-col shrink-0\">\n <Text\n className=\"text-base laptop:text-[20px] lg-desktop:text-2xl font-bold\"\n html={formatPrice({\n amount: gift?.finalPrice?.amount || 0,\n locale,\n currencyCode: gift?.finalPrice?.currencyCode || 'USD',\n })}\n />\n <Text\n className=\"text-base text-[#6D6D6F] laptop:text-[20px] lg-desktop:text-2xl font-bold line-through\"\n html={formatPrice({\n amount: gift.price.amount,\n locale,\n currencyCode: gift.price.currencyCode,\n })}\n />\n </div>\n </label>\n </div>\n ))}\n </div>\n </div>\n )\n}\n\nexport default ProductExchangePurchase\n"],
|
|
5
|
-
"mappings": "AAkDM,cAAAA,EAoBQ,QAAAC,MApBR,oBAlDN,OAAS,QAAAC,EAAM,WAAAC,EAAS,YAAAC,MAAgB,+BACxC,OAAS,MAAAC,MAAU,qCACnB,OAAS,WAAAC,MAAe,QACxB,OAAS,wBAAAC,MAA4B,oCACrC,OAAS,eAAAC,MAAmB,oBAC5B,OAAS,kBAAAC,MAAsB,8BAG/B,MAAMC,EAA0B,IAAM,CACpC,KAAM,CAAE,OAAAC,EAAS,IAAK,EAAIF,EAAe,EACnC,CACJ,wBAAAG,EACA,iBAAAC,EACA,iBAAAC,EACA,8BAAAC,EACA,gBAAAC,EACA,2BAAAC,EACA,2BAAAC,EACA,aAAAC,CACF,EAAIZ,EAAqB,EACnB,CAAE,MAAAa,EAAO,SAAAC,EAAW,CAAC,EAAG,UAAAC,CAAU,EAAIT,GAAoB,CAAC,EAC3DU,EAAiBjB,EAAQ,IAAMe,GAAU,OAAOG,GAAQA,EAAK,gBAAgB,EAAG,CAACH,CAAQ,CAAC,EAE1FI,EAAuBC,GAA0B,CACjDd,GAAyB,KAAOc,EAAM,IACxCT,IAA6B,MAAS,EACtCF,IAAgC,CAC9B,GAAGG,EACH,SAAU,CACR,MAAO,OACP,WAAY,EACd,CACF,CAAC,EACDF,IAAkB,CAAE,GAAGG,EAAc,iBAAkB,CAAE,CAAC,IAE1DF,IAA6BS,CAAK,EAClCX,IAAgC,CAC9B,GAAGG,EACH,SAAU,CACR,MAAAQ,EACA,WAAY,EACd,CACF,CAAC,EAEL,EAEA,OAAKH,GAAgB,OAGnBtB,EAAC,OAAI,UAAU,uCACb,UAAAD,EAACE,EAAA,CAAK,KAAM,EAAG,UAAU,YAAY,KAAMkB,EAAO,EAClDpB,EAAC,OAAI,UAAU,kFACZ,SAAAuB,EAAe,IAAKI,GACnB1B,EAAC,OAEC,UAAWI,EAAG,yFAA0F,CACrG,eAAiBO,GAAyB,KAAOe,EAAK,EACzD,CAAC,EAED,UAAA3B,EAACI,EAAA,CACC,gBAAiB,IAAMqB,EAAoBE,CAAI,EAC/C,KAAK,KACL,UAAWtB,EAAG,6CAA8C,CAC1D,eAAgBO,GAAyB,KAAOe,EAAK,EACvD,CAAC,EACD,GAAIA,EAAK,GACT,QAASf,GAAyB,KAAOe,EAAK,GAC9C,MAAOA,EAAK,GACb,EACD1B,EAAC,SAAM,QAAS0B,EAAK,GAAI,UAAU,qEACjC,UAAA1B,EAAC,OAAI,UAAU,0BACb,UAAAD,EAACG,EAAA,CAAQ,OAAQwB,EAAK,OAAO,IAAK,UAAU,wBAAwB,EACpE3B,EAACE,EAAA,CACC,UAAU,2EACV,KAAMyB,EAAK,QAAQ,MACrB,GACF,EACA1B,EAAC,OAAI,UAAU,4DACb,UAAAD,EAACE,EAAA,CACC,UAAU,6DACV,KAAMM,EAAY,CAChB,OAAQmB,GAAM,YAAY,QAAU,EACpC,OAAAhB,EACA,aAAcgB,GAAM,YAAY,cAAgB,KAClD,CAAC,EACH,EACA3B,EAACE,EAAA,CACC,UAAU,yFACV,KAAMM,EAAY,CAChB,OAAQmB,EAAK,MAAM,OACnB,OAAAhB,EACA,aAAcgB,EAAK,MAAM,YAC3B,CAAC,EACH,GACF,GACF,IAzCKA,EAAK,EA0CZ,CACD,EACH,GACF,EArDkC,IAuDtC,EAEA,IAAOC,EAAQlB",
|
|
6
|
-
"names": ["jsx", "jsxs", "Text", "Picture", "Checkbox", "cn", "useMemo", "useBizProductContext", "formatPrice", "useAiuiContext", "ProductExchangePurchase", "locale", "checkedExchangePurchase", "exchangePurchase", "setCheckedBundle", "setJoinedRecommendBuyProducts", "setSavingDetail", "setCheckedExchangePurchase", "joinedRecommendBuyProducts", "savingDetail", "title", "giftList", "freeLabel", "availableGifts", "item", "handleCheckboxClick", "value", "gift", "ProductExchangePurchase_default"]
|
|
7
|
-
}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{jsx as t,jsxs as o}from"react/jsx-runtime";import{Text as l,Picture as k,Checkbox as v}from"../../../../../../components";import{cn as n}from"../../../../../../helpers/index.js";import{useMemo as g}from"react";import{useBizProductContext as C}from"../../../../BizProductProvider.js";import{formatPrice as N}from"../../../../utils";import{useAiuiContext as y}from"../../../../../AiuiProvider";const G=()=>{const{locale:m="us"}=y(),{freeGift:p,checkedGift:r,setCheckedGift:d,setCheckedBundle:P,setSavingDetail:u,savingDetail:f,setJoinedRecommendBuyProducts:i,joinedRecommendBuyProducts:a}=C(),{title:x,giftList:s=[],freeLabel:b}=p||{},c=g(()=>s?.filter(e=>e.availableForSale),[s]),h=e=>{r?.id===e.id?(d?.(void 0),u?.({...f,freeGift:0}),i?.({...a,gift:{value:void 0,canOperate:!0}})):(d?.(e),i?.({...a,gift:{value:e,canOperate:!1}}))};return c?.length?o("div",{className:"ipc-product-detail-free-gift",children:[t(l,{size:3,className:"font-bold",html:x}),t("div",{className:"grid grid-cols-1 gap-3 laptop:grid-cols-2 desktop:grid-cols-1 mt-3 desktop:mt-4",children:c.map(e=>o("div",{className:n("flex items-center gap-2 text-left font-bold px-4 rounded-box border-[#E4E5E6] border-2",{"border-brand":r?.id===e.id}),children:[t(v,{onCheckedChange:()=>h(e),size:"lg",className:n("rounded-full border-[#D1D1D1] border-[2px]",{"border-brand":r?.id===e.id}),id:e.id,checked:r?.id===e.id,value:e.id}),o("label",{htmlFor:e.id,className:"flex justify-between items-center cursor-pointer gap-4 w-full py-6",children:[o("div",{className:"flex items-center gap-2",children:[t(k,{source:e.image?.url,className:"size-12 flex-shrink-0"}),t(l,{className:"text-sm laptop:text-[16px] line-clamp-2 lg-desktop:text-[18px] font-bold",html:e.product.title})]}),o("div",{className:"flex items-center gap-1 tablet:flex-row flex-col shrink-0",children:[t(l,{className:"text-base laptop:text-[20px] lg-desktop:text-2xl font-bold",html:b}),t(l,{className:"text-base text-[#6D6D6F] laptop:text-[20px] lg-desktop:text-2xl font-bold line-through",html:N({amount:e.price.amount,locale:m,currencyCode:e.price.currencyCode})})]})]})]},e.id))})]}):null};var S=G;export{S as default};
|
|
2
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../../../../../src/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.tsx"],
|
|
4
|
-
"sourcesContent": ["import { Text, Picture, Button, RadioGroup, RadioGroupItem, Checkbox } from '../../../../../../components'\nimport { cn } from '../../../../../../helpers/index.js'\nimport { useMemo } from 'react'\nimport { useBizProductContext } from '../../../../BizProductProvider.js'\nimport { formatPrice } from '../../../../utils'\nimport { useAiuiContext } from '../../../../../AiuiProvider'\nimport type { ProductVariant } from '../../../../types/product'\n\nconst ProductFreeGift = () => {\n const { locale = 'us' } = useAiuiContext()\n const {\n freeGift,\n checkedGift,\n setCheckedGift,\n setCheckedBundle,\n setSavingDetail,\n savingDetail,\n setJoinedRecommendBuyProducts,\n joinedRecommendBuyProducts,\n } = useBizProductContext()\n const { title, giftList = [], freeLabel } = freeGift || {}\n const availableGifts = useMemo(() => giftList?.filter(item => item.availableForSale), [giftList])\n\n const handleCheckboxClick = (value: ProductVariant) => {\n if (checkedGift?.id === value.id) {\n setCheckedGift?.(undefined)\n setSavingDetail?.({ ...savingDetail, freeGift: 0 })\n setJoinedRecommendBuyProducts?.({\n ...joinedRecommendBuyProducts,\n gift: {\n value: undefined,\n canOperate: true,\n },\n })\n } else {\n setCheckedGift?.(value)\n setJoinedRecommendBuyProducts?.({\n ...joinedRecommendBuyProducts,\n gift: {\n value,\n canOperate: false,\n },\n })\n }\n }\n\n if (!availableGifts?.length) return null\n\n return (\n <div className=\"ipc-product-detail-free-gift\">\n <Text size={3} className=\"font-bold\" html={title} />\n <div className=\"grid grid-cols-1 gap-3 laptop:grid-cols-2 desktop:grid-cols-1 mt-3 desktop:mt-4\">\n {availableGifts.map(gift => (\n <div\n key={gift.id}\n className={cn('flex items-center gap-2 text-left font-bold px-4 rounded-box border-[#E4E5E6] border-2', {\n ['border-brand']: checkedGift?.id === gift.id,\n })}\n >\n <Checkbox\n onCheckedChange={() => handleCheckboxClick(gift)}\n size=\"lg\"\n className={cn('rounded-full border-[#D1D1D1] border-[2px]', {\n 'border-brand': checkedGift?.id === gift.id,\n })}\n id={gift.id}\n checked={checkedGift?.id === gift.id}\n value={gift.id}\n ></Checkbox>\n <label htmlFor={gift.id} className=\"flex justify-between items-center cursor-pointer gap-4 w-full py-6\">\n <div className=\"flex items-center gap-2\">\n <Picture source={gift.image?.url} className=\"size-12 flex-shrink-0\" />\n <Text\n className=\"text-sm laptop:text-[16px] line-clamp-2 lg-desktop:text-[18px] font-bold\"\n html={gift.product.title}\n />\n </div>\n <div className=\"flex items-center gap-1 tablet:flex-row flex-col shrink-0\">\n <Text className=\"text-base laptop:text-[20px] lg-desktop:text-2xl font-bold\" html={freeLabel} />\n <Text\n className=\"text-base text-[#6D6D6F] laptop:text-[20px] lg-desktop:text-2xl font-bold line-through\"\n html={formatPrice({\n amount: gift.price.amount,\n locale,\n currencyCode: gift.price.currencyCode,\n })}\n />\n </div>\n </label>\n </div>\n ))}\n </div>\n </div>\n )\n}\n\nexport default ProductFreeGift\n"],
|
|
5
|
-
"mappings": "AAkDM,cAAAA,EAoBQ,QAAAC,MApBR,oBAlDN,OAAS,QAAAC,EAAM,WAAAC,EAA6C,YAAAC,MAAgB,+BAC5E,OAAS,MAAAC,MAAU,qCACnB,OAAS,WAAAC,MAAe,QACxB,OAAS,wBAAAC,MAA4B,oCACrC,OAAS,eAAAC,MAAmB,oBAC5B,OAAS,kBAAAC,MAAsB,8BAG/B,MAAMC,EAAkB,IAAM,CAC5B,KAAM,CAAE,OAAAC,EAAS,IAAK,EAAIF,EAAe,EACnC,CACJ,SAAAG,EACA,YAAAC,EACA,eAAAC,EACA,iBAAAC,EACA,gBAAAC,EACA,aAAAC,EACA,8BAAAC,EACA,2BAAAC,CACF,EAAIZ,EAAqB,EACnB,CAAE,MAAAa,EAAO,SAAAC,EAAW,CAAC,EAAG,UAAAC,CAAU,EAAIV,GAAY,CAAC,EACnDW,EAAiBjB,EAAQ,IAAMe,GAAU,OAAOG,GAAQA,EAAK,gBAAgB,EAAG,CAACH,CAAQ,CAAC,EAE1FI,EAAuBC,GAA0B,CACjDb,GAAa,KAAOa,EAAM,IAC5BZ,IAAiB,MAAS,EAC1BE,IAAkB,CAAE,GAAGC,EAAc,SAAU,CAAE,CAAC,EAClDC,IAAgC,CAC9B,GAAGC,EACH,KAAM,CACJ,MAAO,OACP,WAAY,EACd,CACF,CAAC,IAEDL,IAAiBY,CAAK,EACtBR,IAAgC,CAC9B,GAAGC,EACH,KAAM,CACJ,MAAAO,EACA,WAAY,EACd,CACF,CAAC,EAEL,EAEA,OAAKH,GAAgB,OAGnBtB,EAAC,OAAI,UAAU,+BACb,UAAAD,EAACE,EAAA,CAAK,KAAM,EAAG,UAAU,YAAY,KAAMkB,EAAO,EAClDpB,EAAC,OAAI,UAAU,kFACZ,SAAAuB,EAAe,IAAII,GAClB1B,EAAC,OAEC,UAAWI,EAAG,yFAA0F,CACrG,eAAiBQ,GAAa,KAAOc,EAAK,EAC7C,CAAC,EAED,UAAA3B,EAACI,EAAA,CACC,gBAAiB,IAAMqB,EAAoBE,CAAI,EAC/C,KAAK,KACL,UAAWtB,EAAG,6CAA8C,CAC1D,eAAgBQ,GAAa,KAAOc,EAAK,EAC3C,CAAC,EACD,GAAIA,EAAK,GACT,QAASd,GAAa,KAAOc,EAAK,GAClC,MAAOA,EAAK,GACb,EACD1B,EAAC,SAAM,QAAS0B,EAAK,GAAI,UAAU,qEACjC,UAAA1B,EAAC,OAAI,UAAU,0BACb,UAAAD,EAACG,EAAA,CAAQ,OAAQwB,EAAK,OAAO,IAAK,UAAU,wBAAwB,EACpE3B,EAACE,EAAA,CACC,UAAU,2EACV,KAAMyB,EAAK,QAAQ,MACrB,GACF,EACA1B,EAAC,OAAI,UAAU,4DACb,UAAAD,EAACE,EAAA,CAAK,UAAU,6DAA6D,KAAMoB,EAAW,EAC9FtB,EAACE,EAAA,CACC,UAAU,yFACV,KAAMM,EAAY,CAChB,OAAQmB,EAAK,MAAM,OACnB,OAAAhB,EACA,aAAcgB,EAAK,MAAM,YAC3B,CAAC,EACH,GACF,GACF,IAlCKA,EAAK,EAmCZ,CACD,EACH,GACF,EA9CkC,IAgDtC,EAEA,IAAOC,EAAQlB",
|
|
6
|
-
"names": ["jsx", "jsxs", "Text", "Picture", "Checkbox", "cn", "useMemo", "useBizProductContext", "formatPrice", "useAiuiContext", "ProductFreeGift", "locale", "freeGift", "checkedGift", "setCheckedGift", "setCheckedBundle", "setSavingDetail", "savingDetail", "setJoinedRecommendBuyProducts", "joinedRecommendBuyProducts", "title", "giftList", "freeLabel", "availableGifts", "item", "handleCheckboxClick", "value", "gift", "ProductFreeGift_default"]
|
|
7
|
-
}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{jsx as t,jsxs as p}from"react/jsx-runtime";import{Text as u,Picture as b,Button as y,Dialog as k,DialogContent as N,DialogTrigger as w}from"../../../../../../components";import{Content as x,List as C,Root as D,Trigger as T}from"@radix-ui/react-tabs";import{useCallback as E,useEffect as H,useMemo as I,useRef as v,useState as m}from"react";import{cn as A}from"../../../../../../helpers";import{useBizProductContext as L}from"../../../../BizProductProvider.js";const P=()=>{const{product:s}=L(),[a,i]=m(!1),o=I(()=>s?.payload?.components?.find(l=>l.componentKey==="ProductHighlight")?.data||{},[s?.payload]),[n,c]=m(o?.ksp?.[0]);return p("div",{className:"ipc-product-detail-highlight",children:[p("div",{className:"flex items-center justify-between",children:[o?.title&&t(u,{size:3,className:"font-bold",html:o?.title}),p(k,{open:a,onOpenChange:i,children:[t(w,{asChild:!0,children:t(y,{variant:"link",className:"font-bold !p-0 text-base",children:o?.view})}),t(R,{ksp:o?.ksp,clickActiveKspItem:n})]})]}),t("div",{className:"flex flex-wrap gap-4 mt-3 desktop:mt-4",children:o?.ksp?.map?.(l=>t("div",{className:"px-4 py-2 cursor-pointer hover:bg-[#EAEAEC] rounded-full bg-[#F5F5F7]",children:t(u,{size:3,onClick:()=>{c(l),i(!0)},className:"font-bold text-[#1D1D1F] text-[14px] lg-desktop:text-[16px] break-all line-clamp-1 desktop:text-base overflow-hidden",html:l?.title},l?.title)}))})]})},R=({ksp:s,clickActiveKspItem:a})=>{const i=v([]),o=v(null),[n,c]=m(null),l=E(e=>{const d=s.findIndex(f=>f.title===e?.title),r=i.current[d];if(r&&o.current){const f=o.current,g=r,h=g.offsetLeft-f.offsetWidth/2+g.offsetWidth/2;f.scrollTo({left:h,behavior:"smooth"})}},[a,s]);return H(()=>{a&&(c(a),setTimeout(()=>{l(n)},100))},[a,l]),t(N,{overlayClassName:"z-[70]",className:"tablet:max-w-[896px] max-w-[326px] mx-auto w-full border-none z-[80] overflow-hidden p-0",children:p(D,{defaultValue:n?.title,className:"w-full overflow-hidden",children:[s?.map?.(e=>t(x,{value:e.title,children:t(b,{source:`${e?.mobileImg}, ${e?.img} 767`,className:"w-full h-[304px] desktop:h-[480px]",alt:e.img.alt,imgClassName:"object-cover h-full"})},e.title)),t("div",{className:"py-4 desktop:py-6 w-full overflow-visible",children:p("div",{ref:o,className:"px-4 desktop:px-6 overflow-x-auto",children:[t("div",{className:"w-fit rounded-full bg-[#EAEAEC]",style:{scrollbarWidth:"none",msOverflowStyle:"none"},children:t(C,{className:"flex p-1 w-max",children:s?.map?.((e,d)=>t(T,{ref:r=>{r&&(i.current[d]=r)},className:A("lg-desktop:px-7 shrink-0 lg-desktop:pb-[14px] rounded-full lg-desktop:pt-[15px] lg-desktop:text-[16px] px-5 pb-[10px] pt-[11px]",e.title===n?.title&&"bg-white"),onClick:()=>{l(e),c(e)},value:e.title,children:t(u,{html:e.title,className:"font-bold text-[14px] leading-tight"})},d))})}),t("div",{className:"mt-4",children:s?.map?.(e=>t(x,{value:e.title,className:"font-bold text-base desktop:text-[18px]",children:e?.description}))})]})})]})})};var S=P;export{S as default};
|
|
2
|
-
//# sourceMappingURL=index.js.map
|