@anker-in/headless-ui 1.0.26-alpha.1762330464162 → 1.0.26-alpha.1762331489014
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/FeatureCards/FeatureCards.js +2 -0
- package/dist/cjs/biz-components/FeatureCards/FeatureCards.js.map +7 -0
- package/dist/cjs/biz-components/FeatureCards/index.js +2 -0
- package/dist/cjs/biz-components/FeatureCards/index.js.map +7 -0
- package/dist/cjs/biz-components/FeatureCards/types.js +2 -0
- package/dist/cjs/biz-components/FeatureCards/types.js.map +7 -0
- package/dist/cjs/biz-components/FeatureShowcase/FeatureShowcase.js +2 -0
- package/dist/cjs/biz-components/FeatureShowcase/FeatureShowcase.js.map +7 -0
- package/dist/cjs/biz-components/FeatureShowcase/index.js +2 -0
- package/dist/cjs/biz-components/FeatureShowcase/index.js.map +7 -0
- package/dist/cjs/biz-components/FeatureShowcase/types.js +2 -0
- package/dist/cjs/biz-components/FeatureShowcase/types.js.map +7 -0
- package/dist/cjs/biz-components/HeaderNavigation/index.js.map +2 -2
- package/dist/cjs/biz-components/ImageTextFeature/ImageTextFeature.js +2 -0
- package/dist/cjs/biz-components/ImageTextFeature/ImageTextFeature.js.map +7 -0
- package/dist/cjs/biz-components/ImageTextFeature/index.js +2 -0
- package/dist/cjs/biz-components/ImageTextFeature/index.js.map +7 -0
- package/dist/cjs/biz-components/ImageTextFeature/types.js +2 -0
- package/dist/cjs/biz-components/ImageTextFeature/types.js.map +7 -0
- package/dist/cjs/biz-components/ImageWithText/ImageWithText.js +2 -0
- package/dist/cjs/biz-components/ImageWithText/ImageWithText.js.map +7 -0
- package/dist/cjs/biz-components/ImageWithText/index.js +2 -0
- package/dist/cjs/biz-components/ImageWithText/index.js.map +7 -0
- package/dist/cjs/biz-components/ImageWithText/types.js +2 -0
- package/dist/cjs/biz-components/ImageWithText/types.js.map +7 -0
- package/dist/cjs/biz-components/InlineVideo/index.js +2 -0
- package/dist/cjs/biz-components/InlineVideo/index.js.map +7 -0
- package/dist/cjs/biz-components/Ksp/index.js +2 -0
- package/dist/cjs/biz-components/Ksp/index.js.map +7 -0
- package/dist/cjs/biz-components/MarqueeReview/index.js +2 -0
- package/dist/cjs/biz-components/MarqueeReview/index.js.map +7 -0
- package/dist/cjs/biz-components/ProductCompare/index.js +2 -0
- package/dist/cjs/biz-components/ProductCompare/index.js.map +7 -0
- package/dist/cjs/biz-components/ProductHero/ProductHero.js +2 -0
- package/dist/cjs/biz-components/ProductHero/ProductHero.js.map +7 -0
- package/dist/cjs/biz-components/ProductHero/index.js +2 -0
- package/dist/cjs/biz-components/ProductHero/index.js.map +7 -0
- package/dist/cjs/biz-components/ProductHero/types.js +2 -0
- package/dist/cjs/biz-components/ProductHero/types.js.map +7 -0
- package/dist/cjs/biz-components/SpecsComparison/SpecsComparison.js +2 -0
- package/dist/cjs/biz-components/SpecsComparison/SpecsComparison.js.map +7 -0
- package/dist/cjs/biz-components/SpecsComparison/index.js +2 -0
- package/dist/cjs/biz-components/SpecsComparison/index.js.map +7 -0
- package/dist/cjs/biz-components/SpecsComparison/types.js +2 -0
- package/dist/cjs/biz-components/SpecsComparison/types.js.map +7 -0
- package/dist/cjs/biz-components/TabWithImage/TabWithImage.js +2 -0
- package/dist/cjs/biz-components/TabWithImage/TabWithImage.js.map +7 -0
- package/dist/cjs/biz-components/TabWithImage/index.js +2 -0
- package/dist/cjs/biz-components/TabWithImage/index.js.map +7 -0
- package/dist/cjs/biz-components/TabWithImage/types.js +2 -0
- package/dist/cjs/biz-components/TabWithImage/types.js.map +7 -0
- 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.js +1 -1
- package/dist/cjs/biz-components/Tabs/types.js.map +1 -1
- package/dist/cjs/biz-components/TabsWithMedia/TabsWithMedia.js +2 -0
- package/dist/cjs/biz-components/TabsWithMedia/TabsWithMedia.js.map +7 -0
- package/dist/cjs/biz-components/TabsWithMedia/index.js +2 -0
- package/dist/cjs/biz-components/TabsWithMedia/index.js.map +7 -0
- package/dist/cjs/biz-components/TabsWithMedia/types.js +2 -0
- package/dist/cjs/biz-components/TabsWithMedia/types.js.map +7 -0
- package/dist/cjs/biz-components/ThreeDCarousel/index.js +2 -0
- package/dist/cjs/biz-components/ThreeDCarousel/index.js.map +7 -0
- package/dist/cjs/biz-components/VideoFeature/VideoFeature.js +2 -0
- package/dist/cjs/biz-components/VideoFeature/VideoFeature.js.map +7 -0
- package/dist/cjs/biz-components/VideoFeature/index.js +2 -0
- package/dist/cjs/biz-components/VideoFeature/index.js.map +7 -0
- package/dist/cjs/biz-components/VideoFeature/types.js +2 -0
- package/dist/cjs/biz-components/VideoFeature/types.js.map +7 -0
- package/dist/cjs/biz-components/index.js +1 -1
- package/dist/cjs/biz-components/index.js.map +3 -3
- package/dist/cjs/components/dialog.js +1 -1
- package/dist/cjs/components/dialog.js.map +2 -2
- package/dist/cjs/components/tabs.js +1 -1
- package/dist/cjs/components/tabs.js.map +2 -2
- package/dist/cjs/cpn-components/CpnNavigation/index.js +1 -1
- package/dist/cjs/cpn-components/CpnNavigation/index.js.map +3 -3
- package/dist/cjs/helpers/ScrollLoadVideo.js.map +2 -2
- package/dist/cjs/shared/Styles.js +1 -1
- package/dist/cjs/shared/Styles.js.map +3 -3
- package/dist/cjs/{biz-components → src/biz-components}/AccordionCards/index.d.ts +2 -2
- package/dist/cjs/{biz-components → src/biz-components}/BrandEquity/BrandEquity.d.ts +3 -2
- package/dist/{esm → cjs/src}/biz-components/Category/index.d.ts +2 -2
- package/dist/cjs/{biz-components → src/biz-components}/CreativeModule/index.d.ts +3 -2
- package/dist/{esm → cjs/src}/biz-components/Evaluate/index.d.ts +2 -2
- package/dist/cjs/{biz-components → src/biz-components}/Faq/Faq.d.ts +2 -2
- package/dist/cjs/src/biz-components/FeatureCards/FeatureCards.d.ts +7 -0
- package/dist/cjs/src/biz-components/FeatureCards/index.d.ts +2 -0
- package/dist/cjs/src/biz-components/FeatureCards/types.d.ts +25 -0
- package/dist/cjs/src/biz-components/FeatureShowcase/FeatureShowcase.d.ts +7 -0
- package/dist/cjs/src/biz-components/FeatureShowcase/index.d.ts +2 -0
- package/dist/cjs/src/biz-components/FeatureShowcase/types.d.ts +21 -0
- package/dist/{esm → cjs/src}/biz-components/FooterNavigation/index.d.ts +3 -2
- package/dist/cjs/{biz-components → src/biz-components}/Graphic/index.d.ts +2 -2
- package/dist/cjs/{biz-components → src/biz-components}/GraphicAttractionBlock/index.d.ts +2 -2
- package/dist/cjs/{biz-components → src/biz-components}/GraphicOverlay/GraphicOverlay.d.ts +2 -2
- package/dist/{esm → cjs/src}/biz-components/HeaderNavigation/index.d.ts +2 -2
- package/dist/{esm → cjs/src}/biz-components/HeroBanner/HeroBanner.d.ts +2 -2
- package/dist/cjs/src/biz-components/ImageTextFeature/ImageTextFeature.d.ts +7 -0
- package/dist/cjs/src/biz-components/ImageTextFeature/index.d.ts +2 -0
- package/dist/cjs/src/biz-components/ImageTextFeature/types.d.ts +31 -0
- package/dist/cjs/src/biz-components/ImageWithText/ImageWithText.d.ts +7 -0
- package/dist/cjs/src/biz-components/ImageWithText/index.d.ts +2 -0
- package/dist/cjs/src/biz-components/ImageWithText/types.d.ts +119 -0
- package/dist/cjs/src/biz-components/InlineVideo/index.d.ts +16 -0
- package/dist/cjs/src/biz-components/Ksp/index.d.ts +41 -0
- package/dist/{esm → cjs/src}/biz-components/Marquee/Marquee.d.ts +2 -2
- package/dist/cjs/src/biz-components/MarqueeReview/index.d.ts +42 -0
- package/dist/cjs/{biz-components → src/biz-components}/MediaPlayerBase/index.d.ts +3 -2
- package/dist/cjs/{biz-components → src/biz-components}/MediaPlayerMulti/index.d.ts +3 -2
- package/dist/{esm → cjs/src}/biz-components/MediaPlayerSticky/index.d.ts +2 -2
- package/dist/cjs/{biz-components → src/biz-components}/MemberEquity/index.d.ts +2 -2
- package/dist/cjs/{biz-components → src/biz-components}/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.d.ts +2 -2
- package/dist/cjs/{biz-components → src/biz-components}/NavigationSearch/index.d.ts +1 -0
- package/dist/cjs/src/biz-components/ProductCompare/index.d.ts +38 -0
- package/dist/cjs/src/biz-components/ProductHero/ProductHero.d.ts +7 -0
- package/dist/cjs/src/biz-components/ProductHero/index.d.ts +2 -0
- package/dist/cjs/src/biz-components/ProductHero/types.d.ts +21 -0
- package/dist/cjs/{biz-components → src/biz-components}/ShelfDisplay/index.d.ts +2 -2
- package/dist/{esm → cjs/src}/biz-components/Slogan/index.d.ts +2 -2
- package/dist/cjs/{biz-components → src/biz-components}/Spacer/index.d.ts +2 -2
- package/dist/cjs/{biz-components → src/biz-components}/Specs/index.d.ts +2 -2
- package/dist/cjs/src/biz-components/SpecsComparison/SpecsComparison.d.ts +7 -0
- package/dist/cjs/src/biz-components/SpecsComparison/index.d.ts +2 -0
- package/dist/cjs/src/biz-components/SpecsComparison/types.d.ts +34 -0
- package/dist/cjs/src/biz-components/TabWithImage/TabWithImage.d.ts +7 -0
- package/dist/cjs/src/biz-components/TabWithImage/index.d.ts +2 -0
- package/dist/cjs/src/biz-components/TabWithImage/types.d.ts +29 -0
- package/dist/cjs/{biz-components → src/biz-components}/Tabs/Tabs.d.ts +2 -2
- package/dist/{esm → cjs/src}/biz-components/Tabs/types.d.ts +14 -13
- package/dist/cjs/{biz-components → src/biz-components}/TabsGroup/index.d.ts +2 -2
- package/dist/cjs/src/biz-components/TabsWithMedia/TabsWithMedia.d.ts +7 -0
- package/dist/cjs/src/biz-components/TabsWithMedia/index.d.ts +2 -0
- package/dist/cjs/src/biz-components/TabsWithMedia/types.d.ts +41 -0
- package/dist/cjs/src/biz-components/ThreeDCarousel/index.d.ts +15 -0
- package/dist/cjs/{biz-components → src/biz-components}/Title/index.d.ts +2 -2
- package/dist/cjs/src/biz-components/VideoFeature/VideoFeature.d.ts +7 -0
- package/dist/cjs/src/biz-components/VideoFeature/index.d.ts +2 -0
- package/dist/cjs/src/biz-components/VideoFeature/types.d.ts +19 -0
- package/dist/cjs/{biz-components → src/biz-components}/WhyChoose/WhyChoose.d.ts +2 -2
- package/dist/cjs/src/biz-components/index.d.ts +94 -0
- package/dist/{esm → cjs/src}/components/alert.d.ts +2 -2
- package/dist/{esm → cjs/src}/components/avatar.d.ts +8 -8
- package/dist/cjs/{components → src/components}/container.d.ts +7 -7
- package/dist/cjs/{components → src/components}/dialog.d.ts +2 -2
- package/dist/{esm → cjs/src}/components/drop-down.d.ts +3 -3
- package/dist/cjs/{components → src/components}/input-number.d.ts +15 -15
- package/dist/cjs/{components → src/components}/link.d.ts +6 -6
- package/dist/{esm → cjs/src}/components/tabs.d.ts +2 -2
- package/dist/{esm → cjs/src}/cpn-components/CpnNavigation/types.d.ts +1 -0
- package/dist/{esm → cjs/src}/shared/Styles.d.ts +2 -2
- package/dist/cjs/{types → src/types}/props.d.ts +4 -0
- package/dist/cjs/stories/InlineVideo.stories.js +167 -0
- package/dist/cjs/stories/InlineVideo.stories.js.map +7 -0
- package/dist/cjs/stories/MarqueeReview.stories.js +19 -0
- package/dist/cjs/stories/MarqueeReview.stories.js.map +7 -0
- package/dist/cjs/stories/ThreeDCarousel.stories.js +2 -0
- package/dist/cjs/stories/ThreeDCarousel.stories.js.map +7 -0
- package/dist/cjs/stories/featureCards.stories.js +52 -0
- package/dist/cjs/stories/featureCards.stories.js.map +7 -0
- package/dist/cjs/stories/featureShowcase.stories.js +44 -0
- package/dist/cjs/stories/featureShowcase.stories.js.map +7 -0
- package/dist/cjs/stories/imageTextFeature.stories.js +50 -0
- package/dist/cjs/stories/imageTextFeature.stories.js.map +7 -0
- package/dist/cjs/stories/imageWithText.stories.js +53 -0
- package/dist/cjs/stories/imageWithText.stories.js.map +7 -0
- package/dist/cjs/stories/ksp.stories.js +129 -0
- package/dist/cjs/stories/ksp.stories.js.map +7 -0
- package/dist/cjs/stories/productCompare.stories.js +63 -0
- package/dist/cjs/stories/productCompare.stories.js.map +7 -0
- package/dist/cjs/stories/productHero.stories.js +52 -0
- package/dist/cjs/stories/productHero.stories.js.map +7 -0
- package/dist/cjs/stories/specsComparison.stories.js +105 -0
- package/dist/cjs/stories/specsComparison.stories.js.map +7 -0
- package/dist/cjs/stories/tabWithImage.stories.js +54 -0
- package/dist/cjs/stories/tabWithImage.stories.js.map +7 -0
- package/dist/cjs/stories/tabsWithMedia.stories.js +73 -0
- package/dist/cjs/stories/tabsWithMedia.stories.js.map +7 -0
- package/dist/cjs/stories/videoFeature.stories.js +57 -0
- package/dist/cjs/stories/videoFeature.stories.js.map +7 -0
- package/dist/cjs/tests/BrandEquity.test.d.ts +1 -0
- package/dist/cjs/tests/Ksp.test.d.ts +1 -0
- package/dist/cjs/tests/MarqueeReview.test.d.ts +1 -0
- package/dist/cjs/tests/Title.test.d.ts +1 -0
- package/dist/cjs/tests/badge.test.d.ts +1 -0
- package/dist/cjs/tests/button.test.d.ts +1 -0
- package/dist/cjs/tests/card.test.d.ts +1 -0
- package/dist/cjs/tests/carousel.test.d.ts +1 -0
- package/dist/cjs/tests/featureCards.test.d.ts +1 -0
- package/dist/cjs/tests/featureShowcase.test.d.ts +1 -0
- package/dist/cjs/tests/heading.test.d.ts +1 -0
- package/dist/cjs/tests/imageTextFeature.test.d.ts +1 -0
- package/dist/cjs/tests/imageWithText.test.d.ts +1 -0
- package/dist/cjs/tests/input.test.d.ts +1 -0
- package/dist/cjs/tests/jest.setup.d.ts +1 -0
- package/dist/cjs/tests/productHero.test.d.ts +1 -0
- package/dist/cjs/tests/specsComparison.test.d.ts +1 -0
- package/dist/cjs/tests/tabWithImage.test.d.ts +1 -0
- package/dist/cjs/tests/tabs.test.d.ts +1 -0
- package/dist/cjs/tests/tabsWithMedia.test.d.ts +1 -0
- package/dist/cjs/tests/text.test.d.ts +1 -0
- package/dist/cjs/tests/videoFeature.test.d.ts +1 -0
- package/dist/cjs/types/props.js +1 -1
- package/dist/cjs/types/props.js.map +1 -1
- package/dist/esm/biz-components/FeatureCards/FeatureCards.js +2 -0
- package/dist/esm/biz-components/FeatureCards/FeatureCards.js.map +7 -0
- package/dist/esm/biz-components/FeatureCards/index.js +2 -0
- package/dist/esm/biz-components/FeatureCards/index.js.map +7 -0
- package/dist/esm/biz-components/FeatureCards/types.js +1 -0
- package/dist/esm/biz-components/FeatureCards/types.js.map +7 -0
- package/dist/esm/biz-components/FeatureShowcase/FeatureShowcase.js +2 -0
- package/dist/esm/biz-components/FeatureShowcase/FeatureShowcase.js.map +7 -0
- package/dist/esm/biz-components/FeatureShowcase/index.js +2 -0
- package/dist/esm/biz-components/FeatureShowcase/index.js.map +7 -0
- package/dist/esm/biz-components/FeatureShowcase/types.js +1 -0
- package/dist/esm/biz-components/FeatureShowcase/types.js.map +7 -0
- package/dist/esm/biz-components/HeaderNavigation/index.js.map +2 -2
- package/dist/esm/biz-components/ImageTextFeature/ImageTextFeature.js +2 -0
- package/dist/esm/biz-components/ImageTextFeature/ImageTextFeature.js.map +7 -0
- package/dist/esm/biz-components/ImageTextFeature/index.js +2 -0
- package/dist/esm/biz-components/ImageTextFeature/index.js.map +7 -0
- package/dist/esm/biz-components/ImageTextFeature/types.js +1 -0
- package/dist/esm/biz-components/ImageTextFeature/types.js.map +7 -0
- package/dist/esm/biz-components/ImageWithText/ImageWithText.js +2 -0
- package/dist/esm/biz-components/ImageWithText/ImageWithText.js.map +7 -0
- package/dist/esm/biz-components/ImageWithText/index.js +2 -0
- package/dist/esm/biz-components/ImageWithText/index.js.map +7 -0
- package/dist/esm/biz-components/ImageWithText/types.js +1 -0
- package/dist/esm/biz-components/ImageWithText/types.js.map +7 -0
- package/dist/esm/biz-components/InlineVideo/index.js +2 -0
- package/dist/esm/biz-components/InlineVideo/index.js.map +7 -0
- package/dist/esm/biz-components/Ksp/index.js +2 -0
- package/dist/esm/biz-components/Ksp/index.js.map +7 -0
- package/dist/esm/biz-components/MarqueeReview/index.js +2 -0
- package/dist/esm/biz-components/MarqueeReview/index.js.map +7 -0
- package/dist/esm/biz-components/ProductCompare/index.js +2 -0
- package/dist/esm/biz-components/ProductCompare/index.js.map +7 -0
- package/dist/esm/biz-components/ProductHero/ProductHero.js +2 -0
- package/dist/esm/biz-components/ProductHero/ProductHero.js.map +7 -0
- package/dist/esm/biz-components/ProductHero/index.js +2 -0
- package/dist/esm/biz-components/ProductHero/index.js.map +7 -0
- package/dist/esm/biz-components/ProductHero/types.js +1 -0
- package/dist/esm/biz-components/ProductHero/types.js.map +7 -0
- package/dist/esm/biz-components/SpecsComparison/SpecsComparison.js +2 -0
- package/dist/esm/biz-components/SpecsComparison/SpecsComparison.js.map +7 -0
- package/dist/esm/biz-components/SpecsComparison/index.js +2 -0
- package/dist/esm/biz-components/SpecsComparison/index.js.map +7 -0
- package/dist/esm/biz-components/SpecsComparison/types.js +1 -0
- package/dist/esm/biz-components/SpecsComparison/types.js.map +7 -0
- package/dist/esm/biz-components/TabWithImage/TabWithImage.js +2 -0
- package/dist/esm/biz-components/TabWithImage/TabWithImage.js.map +7 -0
- package/dist/esm/biz-components/TabWithImage/index.js +2 -0
- package/dist/esm/biz-components/TabWithImage/index.js.map +7 -0
- package/dist/esm/biz-components/TabWithImage/types.js +1 -0
- package/dist/esm/biz-components/TabWithImage/types.js.map +7 -0
- 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/TabsWithMedia/TabsWithMedia.js +2 -0
- package/dist/esm/biz-components/TabsWithMedia/TabsWithMedia.js.map +7 -0
- package/dist/esm/biz-components/TabsWithMedia/index.js +2 -0
- package/dist/esm/biz-components/TabsWithMedia/index.js.map +7 -0
- package/dist/esm/biz-components/TabsWithMedia/types.js +1 -0
- package/dist/esm/biz-components/TabsWithMedia/types.js.map +7 -0
- package/dist/esm/biz-components/ThreeDCarousel/index.js +2 -0
- package/dist/esm/biz-components/ThreeDCarousel/index.js.map +7 -0
- package/dist/esm/biz-components/VideoFeature/VideoFeature.js +2 -0
- package/dist/esm/biz-components/VideoFeature/VideoFeature.js.map +7 -0
- package/dist/esm/biz-components/VideoFeature/index.js +2 -0
- package/dist/esm/biz-components/VideoFeature/index.js.map +7 -0
- package/dist/esm/biz-components/VideoFeature/types.js +1 -0
- package/dist/esm/biz-components/VideoFeature/types.js.map +7 -0
- package/dist/esm/biz-components/index.js +1 -1
- package/dist/esm/biz-components/index.js.map +3 -3
- package/dist/esm/components/dialog.js +1 -1
- package/dist/esm/components/dialog.js.map +2 -2
- package/dist/esm/components/tabs.js +1 -1
- package/dist/esm/components/tabs.js.map +2 -2
- package/dist/esm/cpn-components/CpnNavigation/index.js +1 -1
- package/dist/esm/cpn-components/CpnNavigation/index.js.map +2 -2
- package/dist/esm/helpers/ScrollLoadVideo.js.map +2 -2
- package/dist/esm/shared/Styles.js +1 -1
- package/dist/esm/shared/Styles.js.map +3 -3
- package/dist/esm/{biz-components → src/biz-components}/AccordionCards/index.d.ts +2 -2
- package/dist/esm/{biz-components → src/biz-components}/BrandEquity/BrandEquity.d.ts +3 -2
- package/dist/{cjs → esm/src}/biz-components/Category/index.d.ts +2 -2
- package/dist/esm/{biz-components → src/biz-components}/CreativeModule/index.d.ts +3 -2
- package/dist/{cjs → esm/src}/biz-components/Evaluate/index.d.ts +2 -2
- package/dist/esm/{biz-components → src/biz-components}/Faq/Faq.d.ts +2 -2
- package/dist/esm/src/biz-components/FeatureCards/FeatureCards.d.ts +7 -0
- package/dist/esm/src/biz-components/FeatureCards/index.d.ts +2 -0
- package/dist/esm/src/biz-components/FeatureCards/types.d.ts +25 -0
- package/dist/esm/src/biz-components/FeatureShowcase/FeatureShowcase.d.ts +7 -0
- package/dist/esm/src/biz-components/FeatureShowcase/index.d.ts +2 -0
- package/dist/esm/src/biz-components/FeatureShowcase/types.d.ts +21 -0
- package/dist/{cjs → esm/src}/biz-components/FooterNavigation/index.d.ts +3 -2
- package/dist/esm/{biz-components → src/biz-components}/Graphic/index.d.ts +2 -2
- package/dist/esm/{biz-components → src/biz-components}/GraphicAttractionBlock/index.d.ts +2 -2
- package/dist/esm/{biz-components → src/biz-components}/GraphicOverlay/GraphicOverlay.d.ts +2 -2
- package/dist/{cjs → esm/src}/biz-components/HeaderNavigation/index.d.ts +2 -2
- package/dist/{cjs → esm/src}/biz-components/HeroBanner/HeroBanner.d.ts +2 -2
- package/dist/esm/src/biz-components/ImageTextFeature/ImageTextFeature.d.ts +7 -0
- package/dist/esm/src/biz-components/ImageTextFeature/index.d.ts +2 -0
- package/dist/esm/src/biz-components/ImageTextFeature/types.d.ts +31 -0
- package/dist/esm/src/biz-components/ImageWithText/ImageWithText.d.ts +7 -0
- package/dist/esm/src/biz-components/ImageWithText/index.d.ts +2 -0
- package/dist/esm/src/biz-components/ImageWithText/types.d.ts +119 -0
- package/dist/esm/src/biz-components/InlineVideo/index.d.ts +16 -0
- package/dist/esm/src/biz-components/Ksp/index.d.ts +41 -0
- package/dist/{cjs → esm/src}/biz-components/Marquee/Marquee.d.ts +2 -2
- package/dist/esm/src/biz-components/MarqueeReview/index.d.ts +42 -0
- package/dist/esm/{biz-components → src/biz-components}/MediaPlayerBase/index.d.ts +3 -2
- package/dist/esm/{biz-components → src/biz-components}/MediaPlayerMulti/index.d.ts +3 -2
- package/dist/{cjs → esm/src}/biz-components/MediaPlayerSticky/index.d.ts +2 -2
- package/dist/esm/{biz-components → src/biz-components}/MemberEquity/index.d.ts +2 -2
- package/dist/esm/{biz-components → src/biz-components}/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.d.ts +2 -2
- package/dist/esm/{biz-components → src/biz-components}/NavigationSearch/index.d.ts +1 -0
- package/dist/esm/src/biz-components/ProductCompare/index.d.ts +38 -0
- package/dist/esm/src/biz-components/ProductHero/ProductHero.d.ts +7 -0
- package/dist/esm/src/biz-components/ProductHero/index.d.ts +2 -0
- package/dist/esm/src/biz-components/ProductHero/types.d.ts +21 -0
- package/dist/esm/{biz-components → src/biz-components}/ShelfDisplay/index.d.ts +2 -2
- package/dist/{cjs → esm/src}/biz-components/Slogan/index.d.ts +2 -2
- package/dist/esm/{biz-components → src/biz-components}/Spacer/index.d.ts +2 -2
- package/dist/esm/{biz-components → src/biz-components}/Specs/index.d.ts +2 -2
- package/dist/esm/src/biz-components/SpecsComparison/SpecsComparison.d.ts +7 -0
- package/dist/esm/src/biz-components/SpecsComparison/index.d.ts +2 -0
- package/dist/esm/src/biz-components/SpecsComparison/types.d.ts +34 -0
- package/dist/esm/src/biz-components/TabWithImage/TabWithImage.d.ts +7 -0
- package/dist/esm/src/biz-components/TabWithImage/index.d.ts +2 -0
- package/dist/esm/src/biz-components/TabWithImage/types.d.ts +29 -0
- package/dist/esm/{biz-components → src/biz-components}/Tabs/Tabs.d.ts +2 -2
- package/dist/{cjs → esm/src}/biz-components/Tabs/types.d.ts +14 -13
- package/dist/esm/{biz-components → src/biz-components}/TabsGroup/index.d.ts +2 -2
- package/dist/esm/src/biz-components/TabsWithMedia/TabsWithMedia.d.ts +7 -0
- package/dist/esm/src/biz-components/TabsWithMedia/index.d.ts +2 -0
- package/dist/esm/src/biz-components/TabsWithMedia/types.d.ts +41 -0
- package/dist/esm/src/biz-components/ThreeDCarousel/index.d.ts +15 -0
- package/dist/esm/{biz-components → src/biz-components}/Title/index.d.ts +2 -2
- package/dist/esm/src/biz-components/VideoFeature/VideoFeature.d.ts +7 -0
- package/dist/esm/src/biz-components/VideoFeature/index.d.ts +2 -0
- package/dist/esm/src/biz-components/VideoFeature/types.d.ts +19 -0
- package/dist/esm/{biz-components → src/biz-components}/WhyChoose/WhyChoose.d.ts +2 -2
- package/dist/esm/src/biz-components/index.d.ts +94 -0
- package/dist/{cjs → esm/src}/components/alert.d.ts +2 -2
- package/dist/{cjs → esm/src}/components/avatar.d.ts +8 -8
- package/dist/esm/{components → src/components}/container.d.ts +7 -7
- package/dist/esm/{components → src/components}/dialog.d.ts +2 -2
- package/dist/{cjs → esm/src}/components/drop-down.d.ts +3 -3
- package/dist/esm/{components → src/components}/input-number.d.ts +15 -15
- package/dist/esm/{components → src/components}/link.d.ts +6 -6
- package/dist/{cjs → esm/src}/components/tabs.d.ts +2 -2
- package/dist/{cjs → esm/src}/cpn-components/CpnNavigation/types.d.ts +1 -0
- package/dist/{cjs → esm/src}/shared/Styles.d.ts +2 -2
- package/dist/esm/{types → src/types}/props.d.ts +4 -0
- package/dist/esm/stories/InlineVideo.stories.js +167 -0
- package/dist/esm/stories/InlineVideo.stories.js.map +7 -0
- package/dist/esm/stories/MarqueeReview.stories.js +19 -0
- package/dist/esm/stories/MarqueeReview.stories.js.map +7 -0
- package/dist/esm/stories/ThreeDCarousel.stories.js +2 -0
- package/dist/esm/stories/ThreeDCarousel.stories.js.map +7 -0
- package/dist/esm/stories/featureCards.stories.js +52 -0
- package/dist/esm/stories/featureCards.stories.js.map +7 -0
- package/dist/esm/stories/featureShowcase.stories.js +44 -0
- package/dist/esm/stories/featureShowcase.stories.js.map +7 -0
- package/dist/esm/stories/imageTextFeature.stories.js +50 -0
- package/dist/esm/stories/imageTextFeature.stories.js.map +7 -0
- package/dist/esm/stories/imageWithText.stories.js +53 -0
- package/dist/esm/stories/imageWithText.stories.js.map +7 -0
- package/dist/esm/stories/ksp.stories.js +129 -0
- package/dist/esm/stories/ksp.stories.js.map +7 -0
- package/dist/esm/stories/productCompare.stories.js +63 -0
- package/dist/esm/stories/productCompare.stories.js.map +7 -0
- package/dist/esm/stories/productHero.stories.js +52 -0
- package/dist/esm/stories/productHero.stories.js.map +7 -0
- package/dist/esm/stories/specsComparison.stories.js +105 -0
- package/dist/esm/stories/specsComparison.stories.js.map +7 -0
- package/dist/esm/stories/tabWithImage.stories.js +54 -0
- package/dist/esm/stories/tabWithImage.stories.js.map +7 -0
- package/dist/esm/stories/tabsWithMedia.stories.js +73 -0
- package/dist/esm/stories/tabsWithMedia.stories.js.map +7 -0
- package/dist/esm/stories/videoFeature.stories.js +57 -0
- package/dist/esm/stories/videoFeature.stories.js.map +7 -0
- package/dist/esm/tests/BrandEquity.test.d.ts +1 -0
- package/dist/esm/tests/Ksp.test.d.ts +1 -0
- package/dist/esm/tests/MarqueeReview.test.d.ts +1 -0
- package/dist/esm/tests/Title.test.d.ts +1 -0
- package/dist/esm/tests/badge.test.d.ts +1 -0
- package/dist/esm/tests/button.test.d.ts +1 -0
- package/dist/esm/tests/card.test.d.ts +1 -0
- package/dist/esm/tests/carousel.test.d.ts +1 -0
- package/dist/esm/tests/featureCards.test.d.ts +1 -0
- package/dist/esm/tests/featureShowcase.test.d.ts +1 -0
- package/dist/esm/tests/heading.test.d.ts +1 -0
- package/dist/esm/tests/imageTextFeature.test.d.ts +1 -0
- package/dist/esm/tests/imageWithText.test.d.ts +1 -0
- package/dist/esm/tests/input.test.d.ts +1 -0
- package/dist/esm/tests/jest.setup.d.ts +1 -0
- package/dist/esm/tests/productHero.test.d.ts +1 -0
- package/dist/esm/tests/specsComparison.test.d.ts +1 -0
- package/dist/esm/tests/tabWithImage.test.d.ts +1 -0
- package/dist/esm/tests/tabs.test.d.ts +1 -0
- package/dist/esm/tests/tabsWithMedia.test.d.ts +1 -0
- package/dist/esm/tests/text.test.d.ts +1 -0
- package/dist/esm/tests/videoFeature.test.d.ts +1 -0
- package/dist/tokens/base.css +3 -0
- package/package.json +25 -13
- package/style.css +1 -2
- package/tailwind.config.js +29 -0
- package/dist/cjs/biz-components/index.d.ts +0 -34
- package/dist/cjs/stories/HeroBanner.stories.d.ts +0 -26
- package/dist/cjs/stories/MemberEquity.stories.d.ts +0 -9
- package/dist/cjs/stories/MultiLayoutGraphicBlock.stories.d.ts +0 -9
- package/dist/cjs/stories/accordionCards.stories.d.ts +0 -17
- package/dist/cjs/stories/alert.stories.d.ts +0 -27
- package/dist/cjs/stories/avatar.stories.d.ts +0 -39
- package/dist/cjs/stories/badge.stories.d.ts +0 -31
- package/dist/cjs/stories/bizTabs.stories.d.ts +0 -7
- package/dist/cjs/stories/board.stories.d.ts +0 -6
- package/dist/cjs/stories/brandEquity.stories.d.ts +0 -16
- package/dist/cjs/stories/button.stories.d.ts +0 -56
- package/dist/cjs/stories/card.stories.d.ts +0 -27
- package/dist/cjs/stories/carousel.stories.d.ts +0 -62
- package/dist/cjs/stories/category.stories.d.ts +0 -17
- package/dist/cjs/stories/checkbox.stories.d.ts +0 -46
- package/dist/cjs/stories/container.stories.d.ts +0 -28
- package/dist/cjs/stories/cpnBanner.stories.d.ts +0 -14
- package/dist/cjs/stories/cpnCountdown.stories.d.ts +0 -12
- package/dist/cjs/stories/cpnNavigation.stories.d.ts +0 -14
- package/dist/cjs/stories/cpnProductcard.stories.d.ts +0 -14
- package/dist/cjs/stories/cpnTitle.stories.d.ts +0 -14
- package/dist/cjs/stories/creativeModule.stories.d.ts +0 -19
- package/dist/cjs/stories/dialog.stories.d.ts +0 -20
- package/dist/cjs/stories/drawer.stories.d.ts +0 -20
- package/dist/cjs/stories/drop-down.stories.d.ts +0 -16
- package/dist/cjs/stories/evaluate.stories.d.ts +0 -16
- package/dist/cjs/stories/faq.stories.d.ts +0 -21
- package/dist/cjs/stories/graphic.stories.d.ts +0 -63
- package/dist/cjs/stories/graphicAttractionBlock.stories.d.ts +0 -6
- package/dist/cjs/stories/grid.stories.d.ts +0 -22
- package/dist/cjs/stories/heading.stories.d.ts +0 -84
- package/dist/cjs/stories/input-number.stories.d.ts +0 -39
- package/dist/cjs/stories/input.stories.d.ts +0 -35
- package/dist/cjs/stories/link.stories.d.ts +0 -69
- package/dist/cjs/stories/marquee.stories.d.ts +0 -30
- package/dist/cjs/stories/mediaplayerBase.stories.d.ts +0 -6
- package/dist/cjs/stories/mediaplayerMulti.stories.d.ts +0 -16
- package/dist/cjs/stories/picture.stories.d.ts +0 -22
- package/dist/cjs/stories/popover.stories.d.ts +0 -17
- package/dist/cjs/stories/radio.stories.d.ts +0 -39
- package/dist/cjs/stories/shelfDisplay.stories.d.ts +0 -16
- package/dist/cjs/stories/skeleton.stories.d.ts +0 -20
- package/dist/cjs/stories/slogan.stories.d.ts +0 -20
- package/dist/cjs/stories/specs.stories.d.ts +0 -13
- package/dist/cjs/stories/tabs.stories.d.ts +0 -373
- package/dist/cjs/stories/text.stories.d.ts +0 -86
- package/dist/cjs/stories/whychoose.stories.d.ts +0 -21
- package/dist/esm/biz-components/index.d.ts +0 -34
- package/dist/esm/stories/HeroBanner.stories.d.ts +0 -26
- package/dist/esm/stories/MemberEquity.stories.d.ts +0 -9
- package/dist/esm/stories/MultiLayoutGraphicBlock.stories.d.ts +0 -9
- package/dist/esm/stories/accordionCards.stories.d.ts +0 -17
- package/dist/esm/stories/alert.stories.d.ts +0 -27
- package/dist/esm/stories/avatar.stories.d.ts +0 -39
- package/dist/esm/stories/badge.stories.d.ts +0 -31
- package/dist/esm/stories/bizTabs.stories.d.ts +0 -7
- package/dist/esm/stories/board.stories.d.ts +0 -6
- package/dist/esm/stories/brandEquity.stories.d.ts +0 -16
- package/dist/esm/stories/button.stories.d.ts +0 -56
- package/dist/esm/stories/card.stories.d.ts +0 -27
- package/dist/esm/stories/carousel.stories.d.ts +0 -62
- package/dist/esm/stories/category.stories.d.ts +0 -17
- package/dist/esm/stories/checkbox.stories.d.ts +0 -46
- package/dist/esm/stories/container.stories.d.ts +0 -28
- package/dist/esm/stories/cpnBanner.stories.d.ts +0 -14
- package/dist/esm/stories/cpnCountdown.stories.d.ts +0 -12
- package/dist/esm/stories/cpnNavigation.stories.d.ts +0 -14
- package/dist/esm/stories/cpnProductcard.stories.d.ts +0 -14
- package/dist/esm/stories/cpnTitle.stories.d.ts +0 -14
- package/dist/esm/stories/creativeModule.stories.d.ts +0 -19
- package/dist/esm/stories/dialog.stories.d.ts +0 -20
- package/dist/esm/stories/drawer.stories.d.ts +0 -20
- package/dist/esm/stories/drop-down.stories.d.ts +0 -16
- package/dist/esm/stories/evaluate.stories.d.ts +0 -16
- package/dist/esm/stories/faq.stories.d.ts +0 -21
- package/dist/esm/stories/graphic.stories.d.ts +0 -63
- package/dist/esm/stories/graphicAttractionBlock.stories.d.ts +0 -6
- package/dist/esm/stories/grid.stories.d.ts +0 -22
- package/dist/esm/stories/heading.stories.d.ts +0 -84
- package/dist/esm/stories/input-number.stories.d.ts +0 -39
- package/dist/esm/stories/input.stories.d.ts +0 -35
- package/dist/esm/stories/link.stories.d.ts +0 -69
- package/dist/esm/stories/marquee.stories.d.ts +0 -30
- package/dist/esm/stories/mediaplayerBase.stories.d.ts +0 -6
- package/dist/esm/stories/mediaplayerMulti.stories.d.ts +0 -16
- package/dist/esm/stories/picture.stories.d.ts +0 -22
- package/dist/esm/stories/popover.stories.d.ts +0 -17
- package/dist/esm/stories/radio.stories.d.ts +0 -39
- package/dist/esm/stories/shelfDisplay.stories.d.ts +0 -16
- package/dist/esm/stories/skeleton.stories.d.ts +0 -20
- package/dist/esm/stories/slogan.stories.d.ts +0 -20
- package/dist/esm/stories/specs.stories.d.ts +0 -13
- package/dist/esm/stories/tabs.stories.d.ts +0 -373
- package/dist/esm/stories/text.stories.d.ts +0 -86
- package/dist/esm/stories/whychoose.stories.d.ts +0 -21
- /package/dist/cjs/{biz-components → src/biz-components}/AiuiProvider/index.d.ts +0 -0
- /package/dist/cjs/{biz-components → src/biz-components}/BrandEquity/index.d.ts +0 -0
- /package/dist/cjs/{biz-components → src/biz-components}/BrandEquity/types.d.ts +0 -0
- /package/dist/cjs/{biz-components → src/biz-components}/Category/SwiperCategory.d.ts +0 -0
- /package/dist/cjs/{biz-components → src/biz-components}/Faq/index.d.ts +0 -0
- /package/dist/cjs/{biz-components → src/biz-components}/Faq/types.d.ts +0 -0
- /package/dist/cjs/{biz-components → src/biz-components}/FooterNavigation/icons/Add.d.ts +0 -0
- /package/dist/cjs/{biz-components → src/biz-components}/FooterNavigation/icons/ArrowRight.d.ts +0 -0
- /package/dist/cjs/{biz-components → src/biz-components}/FooterNavigation/icons/Country.d.ts +0 -0
- /package/dist/cjs/{biz-components → src/biz-components}/FooterNavigation/icons/Subtract.d.ts +0 -0
- /package/dist/cjs/{biz-components → src/biz-components}/FooterNavigation/icons/index.d.ts +0 -0
- /package/dist/cjs/{biz-components → src/biz-components}/FooterNavigation/types.d.ts +0 -0
- /package/dist/cjs/{biz-components → src/biz-components}/GraphicOverlay/index.d.ts +0 -0
- /package/dist/cjs/{biz-components → src/biz-components}/GraphicOverlay/types.d.ts +0 -0
- /package/dist/cjs/{biz-components → src/biz-components}/HeaderNavigation/NavProvider.d.ts +0 -0
- /package/dist/cjs/{biz-components → src/biz-components}/HeaderNavigation/icons/AnkerLogo.d.ts +0 -0
- /package/dist/cjs/{biz-components → src/biz-components}/HeaderNavigation/icons/Cart.d.ts +0 -0
- /package/dist/cjs/{biz-components → src/biz-components}/HeaderNavigation/icons/Close.d.ts +0 -0
- /package/dist/cjs/{biz-components → src/biz-components}/HeaderNavigation/icons/DownArrow.d.ts +0 -0
- /package/dist/cjs/{biz-components → src/biz-components}/HeaderNavigation/icons/LeftArrow.d.ts +0 -0
- /package/dist/cjs/{biz-components → src/biz-components}/HeaderNavigation/icons/LogoLine.d.ts +0 -0
- /package/dist/cjs/{biz-components → src/biz-components}/HeaderNavigation/icons/Menu.d.ts +0 -0
- /package/dist/cjs/{biz-components → src/biz-components}/HeaderNavigation/icons/Polygon.d.ts +0 -0
- /package/dist/cjs/{biz-components → src/biz-components}/HeaderNavigation/icons/RightArrow.d.ts +0 -0
- /package/dist/cjs/{biz-components → src/biz-components}/HeaderNavigation/icons/Search.d.ts +0 -0
- /package/dist/cjs/{biz-components → src/biz-components}/HeaderNavigation/icons/User.d.ts +0 -0
- /package/dist/cjs/{biz-components → src/biz-components}/HeaderNavigation/icons/index.d.ts +0 -0
- /package/dist/cjs/{biz-components → src/biz-components}/HeaderNavigation/types.d.ts +0 -0
- /package/dist/cjs/{biz-components → src/biz-components}/HeaderNavigation/withCategory.d.ts +0 -0
- /package/dist/cjs/{biz-components → src/biz-components}/HeroBanner/index.d.ts +0 -0
- /package/dist/cjs/{biz-components → src/biz-components}/HeroBanner/types.d.ts +0 -0
- /package/dist/cjs/{biz-components → src/biz-components}/Marquee/index.d.ts +0 -0
- /package/dist/cjs/{biz-components → src/biz-components}/Marquee/type.d.ts +0 -0
- /package/dist/cjs/{biz-components → src/biz-components}/MediaPlayerBase/right.d.ts +0 -0
- /package/dist/cjs/{biz-components → src/biz-components}/MediaPlayerBase/types.d.ts +0 -0
- /package/dist/cjs/{biz-components → src/biz-components}/MediaPlayerMulti/types.d.ts +0 -0
- /package/dist/cjs/{biz-components → src/biz-components}/MediaPlayerSticky/types.d.ts +0 -0
- /package/dist/cjs/{biz-components → src/biz-components}/MemberEquity/types.d.ts +0 -0
- /package/dist/cjs/{biz-components → src/biz-components}/MultiLayoutGraphicBlock/index.d.ts +0 -0
- /package/dist/cjs/{biz-components → src/biz-components}/MultiLayoutGraphicBlock/types.d.ts +0 -0
- /package/dist/cjs/{biz-components → src/biz-components}/NavigationSearch/types.d.ts +0 -0
- /package/dist/cjs/{biz-components → src/biz-components}/SearchPage/index.d.ts +0 -0
- /package/dist/cjs/{biz-components → src/biz-components}/SearchPage/types.d.ts +0 -0
- /package/dist/cjs/{biz-components → src/biz-components}/ShelfDisplay/shelfDisplay.d.ts +0 -0
- /package/dist/cjs/{biz-components → src/biz-components}/ShelfDisplay/shelfDisplayItem.d.ts +0 -0
- /package/dist/cjs/{biz-components → src/biz-components}/ShelfDisplay/tabSwitch.d.ts +0 -0
- /package/dist/cjs/{biz-components → src/biz-components}/Slogan/types.d.ts +0 -0
- /package/dist/cjs/{biz-components → src/biz-components}/Spacer/types.d.ts +0 -0
- /package/dist/cjs/{biz-components → src/biz-components}/Specs/dropdown.d.ts +0 -0
- /package/dist/cjs/{biz-components → src/biz-components}/Subscribe/index.d.ts +0 -0
- /package/dist/cjs/{biz-components → src/biz-components}/SwiperBox/index.d.ts +0 -0
- /package/dist/cjs/{biz-components → src/biz-components}/SwiperBox/types.d.ts +0 -0
- /package/dist/cjs/{biz-components → src/biz-components}/Tabs/index.d.ts +0 -0
- /package/dist/cjs/{biz-components → src/biz-components}/TabsGroup/types.d.ts +0 -0
- /package/dist/cjs/{biz-components → src/biz-components}/TextModal/index.d.ts +0 -0
- /package/dist/cjs/{biz-components → src/biz-components}/Title/types.d.ts +0 -0
- /package/dist/cjs/{biz-components → src/biz-components}/VideoModal/YouTubePlayer.d.ts +0 -0
- /package/dist/cjs/{biz-components → src/biz-components}/VideoModal/index.d.ts +0 -0
- /package/dist/cjs/{biz-components → src/biz-components}/WhyChoose/index.d.ts +0 -0
- /package/dist/cjs/{biz-components → src/biz-components}/WhyChoose/types.d.ts +0 -0
- /package/dist/cjs/{components → src/components}/badge.d.ts +0 -0
- /package/dist/cjs/{components → src/components}/board.d.ts +0 -0
- /package/dist/cjs/{components → src/components}/button.d.ts +0 -0
- /package/dist/cjs/{components → src/components}/card.d.ts +0 -0
- /package/dist/cjs/{components → src/components}/carousel.d.ts +0 -0
- /package/dist/cjs/{components → src/components}/checkbox.d.ts +0 -0
- /package/dist/cjs/{components → src/components}/color.d.ts +0 -0
- /package/dist/cjs/{components → src/components}/drawer.d.ts +0 -0
- /package/dist/cjs/{components → src/components}/gird.d.ts +0 -0
- /package/dist/cjs/{components → src/components}/heading.d.ts +0 -0
- /package/dist/cjs/{components → src/components}/index.d.ts +0 -0
- /package/dist/cjs/{components → src/components}/input.d.ts +0 -0
- /package/dist/cjs/{components → src/components}/loadingDots.d.ts +0 -0
- /package/dist/cjs/{components → src/components}/picture.d.ts +0 -0
- /package/dist/cjs/{components → src/components}/popover.d.ts +0 -0
- /package/dist/cjs/{components → src/components}/radio.d.ts +0 -0
- /package/dist/cjs/{components → src/components}/skeleton.d.ts +0 -0
- /package/dist/cjs/{components → src/components}/text.d.ts +0 -0
- /package/dist/cjs/{components → src/components}/theme.d.ts +0 -0
- /package/dist/cjs/{cpn-components → src/cpn-components}/CpnBanner/index.d.ts +0 -0
- /package/dist/cjs/{cpn-components → src/cpn-components}/CpnBanner/types.d.ts +0 -0
- /package/dist/cjs/{cpn-components → src/cpn-components}/CpnCountDown/index.d.ts +0 -0
- /package/dist/cjs/{cpn-components → src/cpn-components}/CpnCountDown/types.d.ts +0 -0
- /package/dist/cjs/{cpn-components → src/cpn-components}/CpnNavigation/index.d.ts +0 -0
- /package/dist/cjs/{cpn-components → src/cpn-components}/CpnProductCard/index.d.ts +0 -0
- /package/dist/cjs/{cpn-components → src/cpn-components}/CpnProductCard/types.d.ts +0 -0
- /package/dist/cjs/{cpn-components → src/cpn-components}/CpnTitle/index.d.ts +0 -0
- /package/dist/cjs/{cpn-components → src/cpn-components}/CpnTitle/types.d.ts +0 -0
- /package/dist/cjs/{cpn-components → src/cpn-components}/index.d.ts +0 -0
- /package/dist/cjs/{helpers → src/helpers}/ScrollLoadVideo.d.ts +0 -0
- /package/dist/cjs/{helpers → src/helpers}/component-props.d.ts +0 -0
- /package/dist/cjs/{helpers → src/helpers}/constants.d.ts +0 -0
- /package/dist/cjs/{helpers → src/helpers}/index.d.ts +0 -0
- /package/dist/cjs/{helpers → src/helpers}/utils.d.ts +0 -0
- /package/dist/cjs/{hooks → src/hooks}/useCountDown.d.ts +0 -0
- /package/dist/cjs/{hooks → src/hooks}/useExposure.d.ts +0 -0
- /package/dist/cjs/{hooks → src/hooks}/useIntersectionObserver.d.ts +0 -0
- /package/dist/cjs/{icons → src/icons}/spinner.d.ts +0 -0
- /package/dist/cjs/{index.d.ts → src/index.d.ts} +0 -0
- /package/dist/cjs/{shared → src/shared}/getKeyPropsString.d.ts +0 -0
- /package/dist/cjs/{shared → src/shared}/mimeType.d.ts +0 -0
- /package/dist/cjs/{shared → src/shared}/simpleHash.d.ts +0 -0
- /package/dist/cjs/{shared → src/shared}/throttle.d.ts +0 -0
- /package/dist/cjs/{shared → src/shared}/track.d.ts +0 -0
- /package/dist/cjs/{shared → src/shared}/trackUrlRef.d.ts +0 -0
- /package/dist/cjs/{types → src/types}/index.d.ts +0 -0
- /package/dist/esm/{biz-components → src/biz-components}/AiuiProvider/index.d.ts +0 -0
- /package/dist/esm/{biz-components → src/biz-components}/BrandEquity/index.d.ts +0 -0
- /package/dist/esm/{biz-components → src/biz-components}/BrandEquity/types.d.ts +0 -0
- /package/dist/esm/{biz-components → src/biz-components}/Category/SwiperCategory.d.ts +0 -0
- /package/dist/esm/{biz-components → src/biz-components}/Faq/index.d.ts +0 -0
- /package/dist/esm/{biz-components → src/biz-components}/Faq/types.d.ts +0 -0
- /package/dist/esm/{biz-components → src/biz-components}/FooterNavigation/icons/Add.d.ts +0 -0
- /package/dist/esm/{biz-components → src/biz-components}/FooterNavigation/icons/ArrowRight.d.ts +0 -0
- /package/dist/esm/{biz-components → src/biz-components}/FooterNavigation/icons/Country.d.ts +0 -0
- /package/dist/esm/{biz-components → src/biz-components}/FooterNavigation/icons/Subtract.d.ts +0 -0
- /package/dist/esm/{biz-components → src/biz-components}/FooterNavigation/icons/index.d.ts +0 -0
- /package/dist/esm/{biz-components → src/biz-components}/FooterNavigation/types.d.ts +0 -0
- /package/dist/esm/{biz-components → src/biz-components}/GraphicOverlay/index.d.ts +0 -0
- /package/dist/esm/{biz-components → src/biz-components}/GraphicOverlay/types.d.ts +0 -0
- /package/dist/esm/{biz-components → src/biz-components}/HeaderNavigation/NavProvider.d.ts +0 -0
- /package/dist/esm/{biz-components → src/biz-components}/HeaderNavigation/icons/AnkerLogo.d.ts +0 -0
- /package/dist/esm/{biz-components → src/biz-components}/HeaderNavigation/icons/Cart.d.ts +0 -0
- /package/dist/esm/{biz-components → src/biz-components}/HeaderNavigation/icons/Close.d.ts +0 -0
- /package/dist/esm/{biz-components → src/biz-components}/HeaderNavigation/icons/DownArrow.d.ts +0 -0
- /package/dist/esm/{biz-components → src/biz-components}/HeaderNavigation/icons/LeftArrow.d.ts +0 -0
- /package/dist/esm/{biz-components → src/biz-components}/HeaderNavigation/icons/LogoLine.d.ts +0 -0
- /package/dist/esm/{biz-components → src/biz-components}/HeaderNavigation/icons/Menu.d.ts +0 -0
- /package/dist/esm/{biz-components → src/biz-components}/HeaderNavigation/icons/Polygon.d.ts +0 -0
- /package/dist/esm/{biz-components → src/biz-components}/HeaderNavigation/icons/RightArrow.d.ts +0 -0
- /package/dist/esm/{biz-components → src/biz-components}/HeaderNavigation/icons/Search.d.ts +0 -0
- /package/dist/esm/{biz-components → src/biz-components}/HeaderNavigation/icons/User.d.ts +0 -0
- /package/dist/esm/{biz-components → src/biz-components}/HeaderNavigation/icons/index.d.ts +0 -0
- /package/dist/esm/{biz-components → src/biz-components}/HeaderNavigation/types.d.ts +0 -0
- /package/dist/esm/{biz-components → src/biz-components}/HeaderNavigation/withCategory.d.ts +0 -0
- /package/dist/esm/{biz-components → src/biz-components}/HeroBanner/index.d.ts +0 -0
- /package/dist/esm/{biz-components → src/biz-components}/HeroBanner/types.d.ts +0 -0
- /package/dist/esm/{biz-components → src/biz-components}/Marquee/index.d.ts +0 -0
- /package/dist/esm/{biz-components → src/biz-components}/Marquee/type.d.ts +0 -0
- /package/dist/esm/{biz-components → src/biz-components}/MediaPlayerBase/right.d.ts +0 -0
- /package/dist/esm/{biz-components → src/biz-components}/MediaPlayerBase/types.d.ts +0 -0
- /package/dist/esm/{biz-components → src/biz-components}/MediaPlayerMulti/types.d.ts +0 -0
- /package/dist/esm/{biz-components → src/biz-components}/MediaPlayerSticky/types.d.ts +0 -0
- /package/dist/esm/{biz-components → src/biz-components}/MemberEquity/types.d.ts +0 -0
- /package/dist/esm/{biz-components → src/biz-components}/MultiLayoutGraphicBlock/index.d.ts +0 -0
- /package/dist/esm/{biz-components → src/biz-components}/MultiLayoutGraphicBlock/types.d.ts +0 -0
- /package/dist/esm/{biz-components → src/biz-components}/NavigationSearch/types.d.ts +0 -0
- /package/dist/esm/{biz-components → src/biz-components}/SearchPage/index.d.ts +0 -0
- /package/dist/esm/{biz-components → src/biz-components}/SearchPage/types.d.ts +0 -0
- /package/dist/esm/{biz-components → src/biz-components}/ShelfDisplay/shelfDisplay.d.ts +0 -0
- /package/dist/esm/{biz-components → src/biz-components}/ShelfDisplay/shelfDisplayItem.d.ts +0 -0
- /package/dist/esm/{biz-components → src/biz-components}/ShelfDisplay/tabSwitch.d.ts +0 -0
- /package/dist/esm/{biz-components → src/biz-components}/Slogan/types.d.ts +0 -0
- /package/dist/esm/{biz-components → src/biz-components}/Spacer/types.d.ts +0 -0
- /package/dist/esm/{biz-components → src/biz-components}/Specs/dropdown.d.ts +0 -0
- /package/dist/esm/{biz-components → src/biz-components}/Subscribe/index.d.ts +0 -0
- /package/dist/esm/{biz-components → src/biz-components}/SwiperBox/index.d.ts +0 -0
- /package/dist/esm/{biz-components → src/biz-components}/SwiperBox/types.d.ts +0 -0
- /package/dist/esm/{biz-components → src/biz-components}/Tabs/index.d.ts +0 -0
- /package/dist/esm/{biz-components → src/biz-components}/TabsGroup/types.d.ts +0 -0
- /package/dist/esm/{biz-components → src/biz-components}/TextModal/index.d.ts +0 -0
- /package/dist/esm/{biz-components → src/biz-components}/Title/types.d.ts +0 -0
- /package/dist/esm/{biz-components → src/biz-components}/VideoModal/YouTubePlayer.d.ts +0 -0
- /package/dist/esm/{biz-components → src/biz-components}/VideoModal/index.d.ts +0 -0
- /package/dist/esm/{biz-components → src/biz-components}/WhyChoose/index.d.ts +0 -0
- /package/dist/esm/{biz-components → src/biz-components}/WhyChoose/types.d.ts +0 -0
- /package/dist/esm/{components → src/components}/badge.d.ts +0 -0
- /package/dist/esm/{components → src/components}/board.d.ts +0 -0
- /package/dist/esm/{components → src/components}/button.d.ts +0 -0
- /package/dist/esm/{components → src/components}/card.d.ts +0 -0
- /package/dist/esm/{components → src/components}/carousel.d.ts +0 -0
- /package/dist/esm/{components → src/components}/checkbox.d.ts +0 -0
- /package/dist/esm/{components → src/components}/color.d.ts +0 -0
- /package/dist/esm/{components → src/components}/drawer.d.ts +0 -0
- /package/dist/esm/{components → src/components}/gird.d.ts +0 -0
- /package/dist/esm/{components → src/components}/heading.d.ts +0 -0
- /package/dist/esm/{components → src/components}/index.d.ts +0 -0
- /package/dist/esm/{components → src/components}/input.d.ts +0 -0
- /package/dist/esm/{components → src/components}/loadingDots.d.ts +0 -0
- /package/dist/esm/{components → src/components}/picture.d.ts +0 -0
- /package/dist/esm/{components → src/components}/popover.d.ts +0 -0
- /package/dist/esm/{components → src/components}/radio.d.ts +0 -0
- /package/dist/esm/{components → src/components}/skeleton.d.ts +0 -0
- /package/dist/esm/{components → src/components}/text.d.ts +0 -0
- /package/dist/esm/{components → src/components}/theme.d.ts +0 -0
- /package/dist/esm/{cpn-components → src/cpn-components}/CpnBanner/index.d.ts +0 -0
- /package/dist/esm/{cpn-components → src/cpn-components}/CpnBanner/types.d.ts +0 -0
- /package/dist/esm/{cpn-components → src/cpn-components}/CpnCountDown/index.d.ts +0 -0
- /package/dist/esm/{cpn-components → src/cpn-components}/CpnCountDown/types.d.ts +0 -0
- /package/dist/esm/{cpn-components → src/cpn-components}/CpnNavigation/index.d.ts +0 -0
- /package/dist/esm/{cpn-components → src/cpn-components}/CpnProductCard/index.d.ts +0 -0
- /package/dist/esm/{cpn-components → src/cpn-components}/CpnProductCard/types.d.ts +0 -0
- /package/dist/esm/{cpn-components → src/cpn-components}/CpnTitle/index.d.ts +0 -0
- /package/dist/esm/{cpn-components → src/cpn-components}/CpnTitle/types.d.ts +0 -0
- /package/dist/esm/{cpn-components → src/cpn-components}/index.d.ts +0 -0
- /package/dist/esm/{helpers → src/helpers}/ScrollLoadVideo.d.ts +0 -0
- /package/dist/esm/{helpers → src/helpers}/component-props.d.ts +0 -0
- /package/dist/esm/{helpers → src/helpers}/constants.d.ts +0 -0
- /package/dist/esm/{helpers → src/helpers}/index.d.ts +0 -0
- /package/dist/esm/{helpers → src/helpers}/utils.d.ts +0 -0
- /package/dist/esm/{hooks → src/hooks}/useCountDown.d.ts +0 -0
- /package/dist/esm/{hooks → src/hooks}/useExposure.d.ts +0 -0
- /package/dist/esm/{hooks → src/hooks}/useIntersectionObserver.d.ts +0 -0
- /package/dist/esm/{icons → src/icons}/spinner.d.ts +0 -0
- /package/dist/esm/{index.d.ts → src/index.d.ts} +0 -0
- /package/dist/esm/{shared → src/shared}/getKeyPropsString.d.ts +0 -0
- /package/dist/esm/{shared → src/shared}/mimeType.d.ts +0 -0
- /package/dist/esm/{shared → src/shared}/simpleHash.d.ts +0 -0
- /package/dist/esm/{shared → src/shared}/throttle.d.ts +0 -0
- /package/dist/esm/{shared → src/shared}/track.d.ts +0 -0
- /package/dist/esm/{shared → src/shared}/trackUrlRef.d.ts +0 -0
- /package/dist/esm/{types → src/types}/index.d.ts +0 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use client";import{jsx as e,jsxs as s}from"react/jsx-runtime";import de,{useImperativeHandle as re,useRef as h,useState as g,useEffect as xe}from"react";import{Heading as u,Picture as C,Text as P}from"../../components/index.js";import{cn as x}from"../../helpers/utils.js";import{withLayout as ne}from"../../shared/Styles.js";import{useExposure as ce}from"../../hooks/useExposure.js";import{useIntersectionObserverDelay as D}from"../../hooks/useIntersectionObserver.js";import{motion as O,AnimatePresence as q}from"framer-motion";const he="image",ge="image_with_text",B=de.forwardRef(({data:G,className:J},K)=>{const{title:f,subtitle:_,desc:v,descIcon:w,image:c,padImage:L,mobileImage:M,theme:b="dark",items:V=[],imagePosition:Q,layout:U,mediaType:X="image",datalist:m=[],video:E,padVideo:H,mobVideo:S,poster:Y,padPoster:Z,mobPoster:ee}=G,i=U||Q||"left",k=h(null),y=h(null),N=h(null),T=h(null),[p,te]=g(0),W=h([]),[z,ie]=g({left:0,width:0}),[n,ae]=g(""),[R,oe]=g(""),[j,le]=g("");ce(k,{componentType:he,componentName:ge,componentTitle:f,componentDescription:_}),re(K,()=>k.current),xe(()=>{if(m.length>0){const t=W.current[p];if(t){const{offsetLeft:l,offsetWidth:r}=t;ie({left:l,width:r})}}},[p,m.length]),D(y,{once:!0,threshold:.1,callback:()=>{E?.url&&ae(E.url)}}),D(N,{once:!0,threshold:.1,callback:()=>{H?.url&&oe(H.url)}}),D(T,{once:!0,threshold:.1,callback:()=>{S?.url&&le(S.url)}});const se=(t,l)=>{te(t),l.target.scrollIntoView({behavior:"smooth",inline:"center",block:"nearest"})},o=m.length>0,A=X==="video",a=V.length>0,$=()=>{if(o&&m[p]){const t=m[p];return`${t.image.url} ,${t.imgPad?.url||t.image.url} 1440, ${t.imageMob?.url||t.image.url} 767`}return c?`${c.url},${L?.url||c.url} 1024, ${M?.url||c.url} 768`:""},F=()=>{if(o){const d=m[p],I=d.poster?.url||d.image?.url,me=d.padPoster?.url||d.imgPad?.url||I,pe=d.mobPoster?.url||d.imageMob?.url||I;return e(q,{mode:"wait",children:e(O.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.3},className:"image-with-text__video-motion absolute left-0 top-0 w-full",children:s("div",{className:"image-with-text__video-wrapper overflow-hidden rounded-[16px]",children:[e("div",{ref:y,className:"image-with-text__desktop-video-container",children:e("video",{playsInline:!0,autoPlay:!0,muted:!0,poster:I,src:n,loop:!0,className:"image-with-text__video image-with-text__video--desktop hidden h-full w-full object-cover lg-desktop:block"})}),e("div",{ref:N,className:"image-with-text__tablet-video-container",children:e("video",{playsInline:!0,autoPlay:!0,muted:!0,poster:me,src:R||n,loop:!0,className:"image-with-text__video image-with-text__video--tablet hidden tablet:block lg-desktop:hidden"})}),e("div",{ref:T,className:"image-with-text__mobile-video-container",children:e("video",{playsInline:!0,autoPlay:!0,muted:!0,poster:pe,src:j||n,loop:!0,className:"image-with-text__video image-with-text__video--mobile block tablet:hidden"})})]})},d.video?.url||d.image.url)})}const t=Y?.url||c?.url,l=Z?.url||L?.url||t,r=ee?.url||M?.url||t;return s("div",{className:"image-with-text__video-wrapper overflow-hidden rounded-[10px] laptop:rounded-[16px]",children:[e("div",{ref:y,className:"image-with-text__desktop-video-container",children:e("video",{playsInline:!0,autoPlay:!0,muted:!0,poster:t,src:n,loop:!0,className:"image-with-text__video image-with-text__video--desktop hidden h-full w-full object-cover lg-desktop:block"})}),e("div",{ref:N,className:"image-with-text__tablet-video-container",children:e("video",{playsInline:!0,autoPlay:!0,muted:!0,poster:l,src:R||n,loop:!0,className:"image-with-text__video image-with-text__video--tablet hidden tablet:block lg-desktop:hidden"})}),e("div",{ref:T,className:"image-with-text__mobile-video-container",children:e("video",{playsInline:!0,autoPlay:!0,muted:!0,poster:r,src:j||n,loop:!0,className:"image-with-text__video image-with-text__video--mobile block tablet:hidden"})})]})};return s("section",{ref:k,"data-ui-component-id":"ImageWithText",className:x("image-with-text",{"flex gap-[24px] laptop:gap-[48px] lg-desktop:gap-[64px]":!o,"flex-col":!o&&(i==="top"||i==="bottom"),"flex-col laptop:flex-row":!o&&(i==="left"||i==="right"),"flex l:gap-[24px] xl:flex-col min-md:justify-between min-l:gap-[20px]":o,"image-with-text--dark text-white":b==="dark","image-with-text--light text-[#1f1f1f]":b==="light","aiui-dark":a&&b==="dark"},J),children:[o&&s("div",{className:"image-with-text__tab-content inline-flex flex-col justify-center min-md:gap-[24px] laptop:basis-[36%]",children:[s("div",{className:"image-with-text__header",children:[e(u,{as:"h3",size:4,html:f,className:"image-with-text__title"}),e(P,{as:"p",size:1,html:v,className:"image-with-text__description mt-[4px] text-[14px] tablet:text-[14px] laptop:text-[14px] desktop:text-[16px] lg-desktop:text-[18px]"})]}),e("div",{className:"image-with-text__tabs-wrapper relative md:overflow-hidden md:overflow-x-scroll md:scrollbar-hidden",children:s("div",{className:"image-with-text__tabs relative inline-flex rounded-[24px] bg-[#1D1D1F] px-[4px] md:my-[24px]",children:[e("div",{className:"image-with-text__slider absolute bottom-0 top-0 rounded-[24px] bg-white transition-all duration-300 ease-in-out",style:{left:z.left,width:z.width}}),m.map((t,l)=>e("div",{ref:r=>{W.current[l]=r},onClick:r=>se(l,r),className:x("image-with-text__tab relative z-10 cursor-pointer rounded-[24px] px-[20px] py-[10px] text-center text-[12px] font-medium transition-colors duration-300 md:px-[20px] md:py-[10px] min-xxl:px-[28px] min-xxl:py-[15px]",p===l?"image-with-text__tab--active text-black":"text-white"),children:e(u,{as:"h1",size:1,html:t?.title,className:"image-with-text__tab-title text-balance-normal !whitespace-nowrap md:text-[14px]"})},l))]})})]}),!o&&s("div",{className:x("image-with-text__content flex flex-col justify-center",{"w-full items-start laptop:w-fit":a,"order-1 laptop:order-2":a&&i==="left","order-1":a&&i==="right"||!a&&(i==="top"||i==="left"),"order-2":!a&&(i==="bottom"||i==="right")}),children:[e(u,{as:"h2",size:4,html:f,className:x("image-with-text__title",{"w-full text-left":a})}),_&&e(P,{as:"p",size:a?4:3,html:_,className:x("image-with-text__subtitle mt-[4px] text-[14px] tablet:text-[14px] laptop:text-[14px] desktop:text-[16px] lg-desktop:text-[18px]",{"laptop:mt-[16px]":!a,"text-left min-xxl:mt-[8px] laptop:text-[16px] lg-desktop:text-[18px]":a})}),!a&&(v||w)&&s("div",{className:"image-with-text__description flex flex-row gap-[8px]",children:[w&&e("img",{src:w,alt:"icon",className:"image-with-text__description-icon h-[36px] w-[36px] desktop:h-[48px] desktop:w-[48px]"}),v&&e(u,{as:"h4",size:5,html:v,className:"image-with-text__description-text text-[#3AD1FF] md:text-[40px] min-md:text-[40px] min-l:text-[40px] min-xl:text-[56px] min-xxl:text-[64px]"})]}),a&&e("div",{className:"image-with-text__items flex w-full flex-col justify-around gap-0 tablet:flex-row tablet:justify-start tablet:gap-[90px] laptop:w-fit laptop:flex-col laptop:justify-around laptop:gap-0",children:V.map((t,l)=>s("div",{className:"image-with-text__item mt-[24px] laptop:mt-[32px] desktop:mt-[48px]",children:[s("div",{className:"image-with-text__item-header flex flex-row items-center gap-[8px]",children:[e("img",{src:t.icon,alt:"icon",className:"image-with-text__item-icon h-[28px] -translate-y-[12%] md:text-[40px] min-md:text-[40px] min-l:text-[40px] min-xl:text-[56px] min-xxl:text-[64px] desktop:h-[44px] lg-desktop:h-[52px]"}),e(u,{size:5,as:"h6",className:"image-with-text__item-text bg-gradient-to-r from-[#3ad1ff] to-[#008cd6] bg-clip-text text-transparent",children:t.text})]}),e(P,{size:4,as:"p",html:t.desc,className:"image-with-text__item-desc -mt-[2px] text-[14px] tablet:text-[14px] laptop:text-[14px] desktop:text-[16px] lg-desktop:text-[18px]"})]},l))})]}),e("div",{className:x("image-with-text__media-wrapper",{"order-1":!o&&(i==="top"||i==="left"),"order-2":!o&&(i==="bottom"||i==="right"),"aspect-[716/720] max-h-[560px] max-w-[824px] tablet:aspect-[704/360] laptop:aspect-[824/560] shrink-0":a,"order-2 laptop:order-1 laptop:basis-[63%] desktop:basis-[57%]":a&&i==="left","order-2 laptop:basis-[63%] desktop:basis-[57%]":a&&i==="right","relative w-full flex-shrink md:aspect-[358/360] min-xxl:aspect-[824/560] min-xxl:max-w-[824px] tablet:aspect-[704/360] laptop:aspect-[744/336] laptop:basis-[64%] desktop:aspect-[648/448]":o}),children:o?A?F():e(q,{mode:"wait",children:e(O.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.3},className:"image-with-text__image-motion absolute left-0 top-0 w-full",children:e(C,{source:$(),alt:m[p].image.alt,className:"image-with-text__image rounded-[16px] md:aspect-[358/360] min-xxl:aspect-[824/560] min-xxl:max-w-[824px] tablet:aspect-[704/360] laptop:aspect-[744/336] desktop:aspect-[648/448]"})},m[p].image.url)}):A?F():e(C,{source:$(),className:x("image-with-text__image",{"rounded-[10px] laptop:rounded-[16px]":!a})})})]})});B.displayName="ImageWithText";var ye=ne(B);export{ye as default};
|
|
2
|
+
//# sourceMappingURL=ImageWithText.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/biz-components/ImageWithText/ImageWithText.tsx"],
|
|
4
|
+
"sourcesContent": ["'use client'\nimport React, { useImperativeHandle, useRef, useState, useEffect } from 'react'\nimport { Heading, Picture, Text } from '../../components/index.js'\nimport { cn } from '../../helpers/utils.js'\nimport { withLayout } from '../../shared/Styles.js'\nimport { useExposure } from '../../hooks/useExposure.js'\nimport { useIntersectionObserverDelay } from '../../hooks/useIntersectionObserver.js'\nimport { motion, AnimatePresence } from 'framer-motion'\nimport type { ImageWithTextProps, ImageWithTextItem, ImageWithTextTabItem } from './types.js'\n\nconst componentType = 'image'\nconst componentName = 'image_with_text'\n\nconst ImageWithText = React.forwardRef<HTMLDivElement, ImageWithTextProps>(({ data, className }, ref) => {\n const {\n title,\n subtitle,\n desc,\n descIcon,\n image,\n padImage,\n mobileImage,\n theme = 'dark',\n items = [],\n imagePosition,\n layout,\n mediaType = 'image',\n datalist = [],\n video,\n padVideo,\n mobVideo,\n poster,\n padPoster,\n mobPoster,\n } = data\n\n // \u5411\u540E\u517C\u5BB9\uFF1A\u5982\u679C\u63D0\u4F9B\u4E86 imagePosition \u4F46\u6CA1\u6709 layout\uFF0C\u4F7F\u7528 imagePosition\n const effectiveLayout = layout || imagePosition || 'left'\n\n const boxRef = useRef<HTMLDivElement>(null)\n const desktopVideoRef = useRef<HTMLDivElement>(null)\n const tabletVideoRef = useRef<HTMLDivElement>(null)\n const mobileVideoRef = useRef<HTMLDivElement>(null)\n\n // Tab\u72B6\u6001\u7BA1\u7406\n const [activeIndex, setActiveIndex] = useState(0)\n const tabRefs = useRef<Array<HTMLDivElement | null>>([])\n const [sliderStyle, setSliderStyle] = useState({ left: 0, width: 0 })\n\n // \u89C6\u9891\u61D2\u52A0\u8F7D\u72B6\u6001\n const [loadedDesktopVideoSrc, setLoadedDesktopVideoSrc] = useState('')\n const [loadedTabletVideoSrc, setLoadedTabletVideoSrc] = useState('')\n const [loadedMobileVideoSrc, setLoadedMobileVideoSrc] = useState('')\n\n useExposure(boxRef, {\n componentType,\n componentName,\n componentTitle: title,\n componentDescription: subtitle,\n })\n\n useImperativeHandle(ref, () => boxRef.current as HTMLDivElement)\n\n // Tab\u6ED1\u5757\u4F4D\u7F6E\u8BA1\u7B97\n useEffect(() => {\n if (datalist.length > 0) {\n const current = tabRefs.current[activeIndex]\n if (current) {\n const { offsetLeft, offsetWidth } = current\n setSliderStyle({ left: offsetLeft, width: offsetWidth })\n }\n }\n }, [activeIndex, datalist.length])\n\n // \u684C\u9762\u7AEF\u89C6\u9891\u61D2\u52A0\u8F7D\n useIntersectionObserverDelay(desktopVideoRef, {\n once: true,\n threshold: 0.1,\n callback: () => {\n if (video?.url) {\n setLoadedDesktopVideoSrc(video.url)\n }\n },\n })\n\n // \u5E73\u677F\u7AEF\u89C6\u9891\u61D2\u52A0\u8F7D\n useIntersectionObserverDelay(tabletVideoRef, {\n once: true,\n threshold: 0.1,\n callback: () => {\n if (padVideo?.url) {\n setLoadedTabletVideoSrc(padVideo.url)\n }\n },\n })\n\n // \u79FB\u52A8\u7AEF\u89C6\u9891\u61D2\u52A0\u8F7D\n useIntersectionObserverDelay(mobileVideoRef, {\n once: true,\n threshold: 0.1,\n callback: () => {\n if (mobVideo?.url) {\n setLoadedMobileVideoSrc(mobVideo.url)\n }\n },\n })\n\n const handleTabClick = (index: number, e: React.MouseEvent<HTMLDivElement>) => {\n setActiveIndex(index)\n ;(e.target as HTMLElement).scrollIntoView({\n behavior: 'smooth',\n inline: 'center',\n block: 'nearest',\n })\n }\n\n // \u5224\u65AD\u662F\u5426\u4E3ATabWithImage\u6A21\u5F0F\uFF08\u4F18\u5148\u7EA7\u6700\u9AD8\uFF09\n const isTabMode = datalist.length > 0\n\n // \u5224\u65AD\u5F53\u524D\u662F\u5426\u4E3A\u89C6\u9891\u6A21\u5F0F\n const isVideo = mediaType === 'video'\n\n // \u5224\u65AD\u662F\u5426\u6709\u529F\u80FD\u5217\u8868\n const hasItems = items.length > 0\n\n // \u83B7\u53D6\u56FE\u7247\u6E90\n const getImageSource = () => {\n if (isTabMode && datalist[activeIndex]) {\n const activeTab = datalist[activeIndex]\n return `${activeTab.image.url} ,${activeTab.imgPad?.url || activeTab.image.url} 1440, ${activeTab.imageMob?.url || activeTab.image.url} 767`\n }\n if (image) {\n return `${image.url},${padImage?.url || image.url} 1024, ${mobileImage?.url || image.url} 768`\n }\n return ''\n }\n\n // \u6E32\u67D3\u89C6\u9891\u5185\u5BB9\uFF08\u652F\u6301\u4E09\u7AEF\uFF09\n const renderVideo = () => {\n if (isTabMode) {\n const activeTab = datalist[activeIndex]\n // Tab\u6A21\u5F0F\u4E0B\u7684\u89C6\u9891\uFF0C\u4F7F\u7528 image/imgPad/imageMob \u4F5C\u4E3A\u5C01\u9762\uFF08\u5411\u540E\u517C\u5BB9 poster \u5B57\u6BB5\uFF09\n const desktopPoster = activeTab.poster?.url || activeTab.image?.url\n const tabletPoster = activeTab.padPoster?.url || activeTab.imgPad?.url || desktopPoster\n const mobilePoster = activeTab.mobPoster?.url || activeTab.imageMob?.url || desktopPoster\n\n return (\n <AnimatePresence mode=\"wait\">\n <motion.div\n key={activeTab.video?.url || activeTab.image.url}\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n exit={{ opacity: 0 }}\n transition={{ duration: 0.3 }}\n className=\"image-with-text__video-motion absolute left-0 top-0 w-full\"\n >\n <div className=\"image-with-text__video-wrapper overflow-hidden rounded-[16px]\">\n {/* \u684C\u9762\u7AEF\u89C6\u9891 */}\n <div ref={desktopVideoRef} className=\"image-with-text__desktop-video-container\">\n <video\n playsInline\n autoPlay\n muted\n poster={desktopPoster}\n src={loadedDesktopVideoSrc}\n loop\n className=\"image-with-text__video image-with-text__video--desktop hidden h-full w-full object-cover lg-desktop:block\"\n ></video>\n </div>\n {/* \u5E73\u677F\u7AEF\u89C6\u9891 */}\n <div ref={tabletVideoRef} className=\"image-with-text__tablet-video-container\">\n <video\n playsInline\n autoPlay\n muted\n poster={tabletPoster}\n src={loadedTabletVideoSrc || loadedDesktopVideoSrc}\n loop\n className=\"image-with-text__video image-with-text__video--tablet hidden tablet:block lg-desktop:hidden\"\n ></video>\n </div>\n {/* \u79FB\u52A8\u7AEF\u89C6\u9891 */}\n <div ref={mobileVideoRef} className=\"image-with-text__mobile-video-container\">\n <video\n playsInline\n autoPlay\n muted\n poster={mobilePoster}\n src={loadedMobileVideoSrc || loadedDesktopVideoSrc}\n loop\n className=\"image-with-text__video image-with-text__video--mobile block tablet:hidden\"\n ></video>\n </div>\n </div>\n </motion.div>\n </AnimatePresence>\n )\n }\n\n // \u57FA\u7840\u6A21\u5F0F\u4E0B\u7684\u89C6\u9891\uFF08\u652F\u6301\u4E09\u7AEF\uFF09\uFF0C\u4F7F\u7528 image/padImage/mobileImage \u4F5C\u4E3A\u5C01\u9762\uFF08\u5411\u540E\u517C\u5BB9 poster \u5B57\u6BB5\uFF09\n const desktopPoster = poster?.url || image?.url\n const tabletPoster = padPoster?.url || padImage?.url || desktopPoster\n const mobilePoster = mobPoster?.url || mobileImage?.url || desktopPoster\n\n return (\n <div className=\"image-with-text__video-wrapper overflow-hidden rounded-[10px] laptop:rounded-[16px]\">\n {/* \u684C\u9762\u7AEF\u89C6\u9891 */}\n <div ref={desktopVideoRef} className=\"image-with-text__desktop-video-container\">\n <video\n playsInline\n autoPlay\n muted\n poster={desktopPoster}\n src={loadedDesktopVideoSrc}\n loop\n className=\"image-with-text__video image-with-text__video--desktop hidden h-full w-full object-cover lg-desktop:block\"\n ></video>\n </div>\n {/* \u5E73\u677F\u7AEF\u89C6\u9891 */}\n <div ref={tabletVideoRef} className=\"image-with-text__tablet-video-container\">\n <video\n playsInline\n autoPlay\n muted\n poster={tabletPoster}\n src={loadedTabletVideoSrc || loadedDesktopVideoSrc}\n loop\n className=\"image-with-text__video image-with-text__video--tablet hidden tablet:block lg-desktop:hidden\"\n ></video>\n </div>\n {/* \u79FB\u52A8\u7AEF\u89C6\u9891 */}\n <div ref={mobileVideoRef} className=\"image-with-text__mobile-video-container\">\n <video\n playsInline\n autoPlay\n muted\n poster={mobilePoster}\n src={loadedMobileVideoSrc || loadedDesktopVideoSrc}\n loop\n className=\"image-with-text__video image-with-text__video--mobile block tablet:hidden\"\n ></video>\n </div>\n </div>\n )\n }\n\n return (\n <section\n ref={boxRef}\n data-ui-component-id=\"ImageWithText\"\n className={cn(\n 'image-with-text',\n {\n // \u57FA\u7840\u6A21\u5F0F\u6837\u5F0F - \u652F\u6301\u4E0A\u4E0B\u5DE6\u53F3\u5E03\u5C40\n 'flex gap-[24px] laptop:gap-[48px] lg-desktop:gap-[64px]': !isTabMode,\n 'flex-col': !isTabMode && (effectiveLayout === 'top' || effectiveLayout === 'bottom'),\n 'flex-col laptop:flex-row': !isTabMode && (effectiveLayout === 'left' || effectiveLayout === 'right'),\n // TabWithImage\u6A21\u5F0F\u6837\u5F0F\n 'flex l:gap-[24px] xl:flex-col min-md:justify-between min-l:gap-[20px]': isTabMode,\n // \u4E3B\u9898\u6837\u5F0F\n 'image-with-text--dark text-white': theme === 'dark',\n 'image-with-text--light text-[#1f1f1f]': theme === 'light',\n 'aiui-dark': hasItems && theme === 'dark',\n },\n className\n )}\n >\n {/* TabWithImage\u6A21\u5F0F\u7684\u5185\u5BB9\u548CTab\u63A7\u5236 */}\n {isTabMode && (\n <div className=\"image-with-text__tab-content inline-flex flex-col justify-center min-md:gap-[24px] laptop:basis-[36%]\">\n <div className=\"image-with-text__header\">\n <Heading as={'h3'} size={4} html={title} className=\"image-with-text__title\" />\n <Text\n as={'p'}\n size={1}\n html={desc}\n className=\"image-with-text__description mt-[4px] text-[14px] tablet:text-[14px] laptop:text-[14px] desktop:text-[16px] lg-desktop:text-[18px]\"\n />\n </div>\n\n <div className=\"image-with-text__tabs-wrapper relative md:overflow-hidden md:overflow-x-scroll md:scrollbar-hidden\">\n <div className=\"image-with-text__tabs relative inline-flex rounded-[24px] bg-[#1D1D1F] px-[4px] md:my-[24px]\">\n {/* \u6ED1\u52A8\u80CC\u666F */}\n <div\n className=\"image-with-text__slider absolute bottom-0 top-0 rounded-[24px] bg-white transition-all duration-300 ease-in-out\"\n style={{\n left: sliderStyle.left,\n width: sliderStyle.width,\n }}\n />\n\n {/* Tab Items */}\n {datalist.map((item: ImageWithTextTabItem, index: number) => (\n <div\n key={index}\n ref={el => {\n tabRefs.current[index] = el\n }}\n onClick={e => handleTabClick(index, e)}\n className={cn(\n 'image-with-text__tab relative z-10 cursor-pointer rounded-[24px] px-[20px] py-[10px] text-center text-[12px] font-medium transition-colors duration-300 md:px-[20px] md:py-[10px] min-xxl:px-[28px] min-xxl:py-[15px]',\n activeIndex === index ? 'image-with-text__tab--active text-black' : 'text-white'\n )}\n >\n <Heading\n as=\"h1\"\n size={1}\n html={item?.title}\n className=\"image-with-text__tab-title text-balance-normal !whitespace-nowrap md:text-[14px]\"\n />\n </div>\n ))}\n </div>\n </div>\n </div>\n )}\n\n {/* \u57FA\u7840\u6A21\u5F0F\u7684\u5185\u5BB9\u533A\u57DF */}\n {!isTabMode && (\n <div\n className={cn('image-with-text__content flex flex-col justify-center', {\n // \u4F7F\u7528items\u65F6\u7684\u7279\u6B8A\u6837\u5F0F\uFF08\u7C7B\u4F3C\u539FFeature\u6A21\u5F0F\uFF09\n 'w-full items-start laptop:w-fit': hasItems,\n // order\u63A7\u5236\n 'order-1 laptop:order-2': hasItems && effectiveLayout === 'left',\n 'order-1': (hasItems && effectiveLayout === 'right') || (!hasItems && (effectiveLayout === 'top' || effectiveLayout === 'left')),\n 'order-2': !hasItems && (effectiveLayout === 'bottom' || effectiveLayout === 'right'),\n })}\n >\n <Heading\n as={'h2'}\n size={4}\n html={title}\n className={cn('image-with-text__title', {\n 'w-full text-left': hasItems,\n })}\n />\n {subtitle && (\n <Text\n as={'p'}\n size={hasItems ? 4 : 3}\n html={subtitle}\n className={cn('image-with-text__subtitle mt-[4px] text-[14px] tablet:text-[14px] laptop:text-[14px] desktop:text-[16px] lg-desktop:text-[18px]', {\n 'laptop:mt-[16px]': !hasItems,\n 'text-left min-xxl:mt-[8px] laptop:text-[16px] lg-desktop:text-[18px]': hasItems,\n })}\n />\n )}\n\n {/* \u57FA\u7840\u6A21\u5F0F\u7684\u63CF\u8FF0\uFF08\u4E0D\u4F7F\u7528items\u65F6\uFF09 */}\n {!hasItems && (desc || descIcon) && (\n <div className=\"image-with-text__description flex flex-row gap-[8px]\">\n {descIcon && (\n <img src={descIcon} alt=\"icon\" className=\"image-with-text__description-icon h-[36px] w-[36px] desktop:h-[48px] desktop:w-[48px]\" />\n )}\n {desc && (\n <Heading\n as={'h4'}\n size={5}\n html={desc}\n className=\"image-with-text__description-text text-[#3AD1FF] md:text-[40px] min-md:text-[40px] min-l:text-[40px] min-xl:text-[56px] min-xxl:text-[64px]\"\n />\n )}\n </div>\n )}\n\n {/* \u529F\u80FD\u5217\u8868\uFF08\u5F53\u6709items\u65F6\u663E\u793A\uFF09 */}\n {hasItems && (\n <div className=\"image-with-text__items flex w-full flex-col justify-around gap-0 tablet:flex-row tablet:justify-start tablet:gap-[90px] laptop:w-fit laptop:flex-col laptop:justify-around laptop:gap-0\">\n {items.map((item: ImageWithTextItem, index: number) => (\n <div key={index} className=\"image-with-text__item mt-[24px] laptop:mt-[32px] desktop:mt-[48px]\">\n <div className=\"image-with-text__item-header flex flex-row items-center gap-[8px]\">\n <img\n src={item.icon}\n alt=\"icon\"\n className=\"image-with-text__item-icon h-[28px] -translate-y-[12%] md:text-[40px] min-md:text-[40px] min-l:text-[40px] min-xl:text-[56px] min-xxl:text-[64px] desktop:h-[44px] lg-desktop:h-[52px]\"\n />\n <Heading\n size={5}\n as=\"h6\"\n className=\"image-with-text__item-text bg-gradient-to-r from-[#3ad1ff] to-[#008cd6] bg-clip-text text-transparent\"\n >\n {item.text}\n </Heading>\n </div>\n <Text\n size={4}\n as=\"p\"\n html={item.desc}\n className=\"image-with-text__item-desc -mt-[2px] text-[14px] tablet:text-[14px] laptop:text-[14px] desktop:text-[16px] lg-desktop:text-[18px]\"\n />\n </div>\n ))}\n </div>\n )}\n </div>\n )}\n\n {/* \u56FE\u7247/\u89C6\u9891\u533A\u57DF */}\n <div\n className={cn('image-with-text__media-wrapper', {\n // \u57FA\u7840\u6A21\u5F0F\n 'order-1': !isTabMode && (effectiveLayout === 'top' || effectiveLayout === 'left'),\n 'order-2': !isTabMode && (effectiveLayout === 'bottom' || effectiveLayout === 'right'),\n // \u4F7F\u7528items\u65F6\u7684\u7279\u6B8A\u6837\u5F0F\uFF08\u7C7B\u4F3C\u539FFeature\u6A21\u5F0F\uFF09\n 'aspect-[716/720] max-h-[560px] max-w-[824px] tablet:aspect-[704/360] laptop:aspect-[824/560] shrink-0': hasItems,\n 'order-2 laptop:order-1 laptop:basis-[63%] desktop:basis-[57%]': hasItems && effectiveLayout === 'left',\n 'order-2 laptop:basis-[63%] desktop:basis-[57%]': hasItems && effectiveLayout === 'right',\n // TabWithImage\u6A21\u5F0F\n 'relative w-full flex-shrink md:aspect-[358/360] min-xxl:aspect-[824/560] min-xxl:max-w-[824px] tablet:aspect-[704/360] laptop:aspect-[744/336] laptop:basis-[64%] desktop:aspect-[648/448]':\n isTabMode,\n })}\n >\n {isTabMode ? (\n // TabWithImage\u6A21\u5F0F - \u652F\u6301\u56FE\u7247\u548C\u89C6\u9891\n isVideo ? (\n renderVideo()\n ) : (\n <AnimatePresence mode=\"wait\">\n <motion.div\n key={datalist[activeIndex].image.url}\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n exit={{ opacity: 0 }}\n transition={{ duration: 0.3 }}\n className=\"image-with-text__image-motion absolute left-0 top-0 w-full\"\n >\n <Picture\n source={getImageSource()}\n alt={datalist[activeIndex].image.alt}\n className=\"image-with-text__image rounded-[16px] md:aspect-[358/360] min-xxl:aspect-[824/560] min-xxl:max-w-[824px] tablet:aspect-[704/360] laptop:aspect-[744/336] desktop:aspect-[648/448]\"\n />\n </motion.div>\n </AnimatePresence>\n )\n ) : isVideo ? (\n // \u57FA\u7840\u6A21\u5F0F - \u89C6\u9891\n renderVideo()\n ) : (\n // \u57FA\u7840\u6A21\u5F0F - \u56FE\u7247\n <Picture\n source={getImageSource()}\n className={cn('image-with-text__image', {\n 'rounded-[10px] laptop:rounded-[16px]': !hasItems,\n })}\n />\n )}\n </div>\n </section>\n )\n})\n\nImageWithText.displayName = 'ImageWithText'\n\nexport default withLayout(ImageWithText)\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["jsx", "jsxs", "React", "useImperativeHandle", "useRef", "useState", "useEffect", "Heading", "Picture", "Text", "cn", "withLayout", "useExposure", "useIntersectionObserverDelay", "motion", "AnimatePresence", "componentType", "componentName", "ImageWithText", "data", "className", "ref", "title", "subtitle", "desc", "descIcon", "image", "padImage", "mobileImage", "theme", "items", "imagePosition", "layout", "mediaType", "datalist", "video", "padVideo", "mobVideo", "poster", "padPoster", "mobPoster", "effectiveLayout", "boxRef", "desktopVideoRef", "tabletVideoRef", "mobileVideoRef", "activeIndex", "setActiveIndex", "tabRefs", "sliderStyle", "setSliderStyle", "loadedDesktopVideoSrc", "setLoadedDesktopVideoSrc", "loadedTabletVideoSrc", "setLoadedTabletVideoSrc", "loadedMobileVideoSrc", "setLoadedMobileVideoSrc", "current", "offsetLeft", "offsetWidth", "handleTabClick", "index", "e", "isTabMode", "isVideo", "hasItems", "getImageSource", "activeTab", "renderVideo", "desktopPoster", "tabletPoster", "mobilePoster", "item", "el", "ImageWithText_default"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/biz-components/ImageWithText/index.ts"],
|
|
4
|
+
"sourcesContent": ["export { default } from './ImageWithText.js'\nexport type { ImageWithTextProps } from './types.js'\n"],
|
|
5
|
+
"mappings": "AAAA,OAAS,WAAAA,MAAe",
|
|
6
|
+
"names": ["default"]
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{jsx as e,jsxs as t}from"react/jsx-runtime";import{Heading as n,Text as c}from"../../components/index.js";import{cn as i}from"../../helpers/utils.js";function v(l){const{title:s,subtitle:o,desc:a,poster:p,videoUrl:d,mobPoster:m,mobVideoUrl:r,theme:x="light"}=l?.data??{};return t("section",{className:i("inline-video-section flex flex-col items-center rounded-[16px]","text-info-primary",{"aiui-dark":x==="dark"},l.className),children:[t("div",{className:i("inline-video-content laptop:items-center flex w-full flex-col items-start"),children:[e(n,{as:"h2",size:4,html:s,className:"inline-video-title laptop:text-center shrink text-left"}),t("div",{className:"inline-video-text-wrapper",children:[o&&e(n,{size:3,as:"h5",html:o,className:i("inline-video-subtitle laptop:mt-[8px] laptop:text-center mt-[4px] w-full text-left")}),e(c,{as:"p",size:4,html:a,className:"inline-video-description min-md:mt-[4px] min-md:w-[650px] min-l:mt-[16px] min-l:w-[600px] min-xl:mt-[4px] min-xl:w-[650px] min-xxl:mt-[8px] min-xxl:w-[820px] tablet:text-[14px] laptop:text-center laptop:text-[14px] desktop:text-[16px] lg-desktop:text-[18px] mt-[4px] w-full text-left text-[14px]"})]})]}),t("div",{className:"inline-video-container tablet:aspect-[3060/1180] mt-[24px] aspect-[398/400] w-full overflow-hidden rounded-[16px] xl:h-[360px]",children:[e("video",{playsInline:!0,autoPlay:!0,muted:!0,poster:p,src:d,loop:!0,className:"inline-video-desktop tablet:block hidden size-full object-cover xl:h-[360px]"}),e("video",{playsInline:!0,autoPlay:!0,muted:!0,poster:m,src:r,loop:!0,className:"inline-video-mobile tablet:hidden block w-full"})]})]})}export{v as default};
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/biz-components/InlineVideo/index.tsx"],
|
|
4
|
+
"sourcesContent": ["import { Heading, Text } from '../../components/index.js'\nimport { cn } from '../../helpers/utils.js'\nimport type { Theme } from '../../types/props.js'\n\nexport interface InlineVideoData {\n title: string\n subtitle?: string\n desc: string\n poster?: string\n videoUrl: string\n mobPoster?: string\n mobVideoUrl: string\n theme?: Theme\n}\n\nexport interface InlineVideoProps {\n data: InlineVideoData\n className?: string\n}\n\nexport default function VideoWithTitle(props: InlineVideoProps) {\n const { title, subtitle, desc, poster, videoUrl, mobPoster, mobVideoUrl, theme = 'light' } = props?.data ?? {}\n\n return (\n <section\n className={cn(\n 'inline-video-section flex flex-col items-center rounded-[16px]',\n 'text-info-primary', // \u4F7F\u7528\u4E3B\u9898\u989C\u8272\u53D8\u91CF\n {\n 'aiui-dark': theme === 'dark', // \u6DF1\u8272\u6A21\u5F0F\n },\n props.className\n )}\n >\n {/* \u5185\u5BB9\u533A\u57DF */}\n <div className={cn('inline-video-content laptop:items-center flex w-full flex-col items-start')}>\n {/* \u6807\u9898 */}\n <Heading\n as={'h2'}\n size={4}\n html={title}\n className=\"inline-video-title laptop:text-center shrink text-left\"\n />\n\n {/* \u526F\u6807\u9898\u548C\u63CF\u8FF0\u5BB9\u5668 */}\n <div className=\"inline-video-text-wrapper\">\n {/* \u526F\u6807\u9898\uFF08\u53EF\u9009\uFF09 */}\n {subtitle && (\n <Heading\n size={3}\n as={'h5'}\n html={subtitle}\n className={cn('inline-video-subtitle laptop:mt-[8px] laptop:text-center mt-[4px] w-full text-left')}\n />\n )}\n\n {/* \u63CF\u8FF0\u6587\u672C */}\n <Text\n as={'p'}\n size={4}\n html={desc}\n className=\"inline-video-description min-md:mt-[4px] min-md:w-[650px] min-l:mt-[16px] min-l:w-[600px] min-xl:mt-[4px] min-xl:w-[650px] min-xxl:mt-[8px] min-xxl:w-[820px] tablet:text-[14px] laptop:text-center laptop:text-[14px] desktop:text-[16px] lg-desktop:text-[18px] mt-[4px] w-full text-left text-[14px]\"\n />\n </div>\n </div>\n\n {/* \u89C6\u9891\u5BB9\u5668 */}\n <div className=\"inline-video-container tablet:aspect-[3060/1180] mt-[24px] aspect-[398/400] w-full overflow-hidden rounded-[16px] xl:h-[360px]\">\n {/* \u684C\u9762\u7AEF\u89C6\u9891 */}\n <video\n playsInline\n autoPlay\n muted\n poster={poster}\n src={videoUrl}\n loop\n className=\"inline-video-desktop tablet:block hidden size-full object-cover xl:h-[360px]\"\n ></video>\n\n {/* \u79FB\u52A8\u7AEF\u89C6\u9891 */}\n <video\n playsInline\n autoPlay\n muted\n poster={mobPoster}\n src={mobVideoUrl}\n loop\n className=\"inline-video-mobile tablet:hidden block w-full\"\n ></video>\n </div>\n </section>\n )\n}\n"],
|
|
5
|
+
"mappings": "AAqCQ,cAAAA,EAQA,QAAAC,MARA,oBArCR,OAAS,WAAAC,EAAS,QAAAC,MAAY,4BAC9B,OAAS,MAAAC,MAAU,yBAmBJ,SAARC,EAAgCC,EAAyB,CAC9D,KAAM,CAAE,MAAAC,EAAO,SAAAC,EAAU,KAAAC,EAAM,OAAAC,EAAQ,SAAAC,EAAU,UAAAC,EAAW,YAAAC,EAAa,MAAAC,EAAQ,OAAQ,EAAIR,GAAO,MAAQ,CAAC,EAE7G,OACEL,EAAC,WACC,UAAWG,EACT,iEACA,oBACA,CACE,YAAaU,IAAU,MACzB,EACAR,EAAM,SACR,EAGA,UAAAL,EAAC,OAAI,UAAWG,EAAG,2EAA2E,EAE5F,UAAAJ,EAACE,EAAA,CACC,GAAI,KACJ,KAAM,EACN,KAAMK,EACN,UAAU,yDACZ,EAGAN,EAAC,OAAI,UAAU,4BAEZ,UAAAO,GACCR,EAACE,EAAA,CACC,KAAM,EACN,GAAI,KACJ,KAAMM,EACN,UAAWJ,EAAG,oFAAoF,EACpG,EAIFJ,EAACG,EAAA,CACC,GAAI,IACJ,KAAM,EACN,KAAMM,EACN,UAAU,0SACZ,GACF,GACF,EAGAR,EAAC,OAAI,UAAU,iIAEb,UAAAD,EAAC,SACC,YAAW,GACX,SAAQ,GACR,MAAK,GACL,OAAQU,EACR,IAAKC,EACL,KAAI,GACJ,UAAU,+EACX,EAGDX,EAAC,SACC,YAAW,GACX,SAAQ,GACR,MAAK,GACL,OAAQY,EACR,IAAKC,EACL,KAAI,GACJ,UAAU,iDACX,GACH,GACF,CAEJ",
|
|
6
|
+
"names": ["jsx", "jsxs", "Heading", "Text", "cn", "VideoWithTitle", "props", "title", "subtitle", "desc", "poster", "videoUrl", "mobPoster", "mobVideoUrl", "theme"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{Fragment as w,jsx as e,jsxs as p}from"react/jsx-runtime";import{Heading as i,Picture as c,Text as n}from"../../components/index.js";import{cn as r}from"../../helpers/utils.js";import{withLayout as k}from"../../shared/Styles.js";const s=({title:l,desc:o,imageUrl:a,mobImageUrl:t,videoUrl:m,mobVideoUrl:d,className:x})=>p("div",{className:r("ksp-card relative overflow-hidden rounded-[16px] bg-[#1f1f1f]",x),children:[m&&d?p(w,{children:[e("video",{playsInline:!0,autoPlay:!0,muted:!0,loop:!0,src:m,poster:a,className:"ksp-card-video ksp-card-video-desktop absolute bottom-0 hidden w-full laptop:inline-block"}),e("video",{playsInline:!0,autoPlay:!0,muted:!0,loop:!0,src:d,poster:t,className:"ksp-card-video ksp-card-video-mobile absolute inline-block -translate-y-[80px] object-contain object-center laptop:hidden"})]}):(a||t)&&e(c,{source:`${a}, ${t} 768`,className:"ksp-card-image h-full w-full",imgClassName:"h-full w-full object-cover object-bottom"}),p("div",{className:"ksp-card-content absolute left-[16px] top-[16px] desktop:left-[24px] desktop:top-[24px] lg-desktop:left-[32px] lg-desktop:top-[32px]",children:[e(i,{size:3,html:l,className:"ksp-card-title hidden w-full tablet:block"}),e(i,{size:2,html:l,className:"ksp-card-title block w-full tablet:hidden tablet:w-[340px]"}),e(n,{size:2,html:o,className:"ksp-card-desc mt-[4px] text-[14px] tablet:block tablet:text-[14px] laptop:text-[14px] desktop:text-[16px] lg-desktop:text-[18px]"})]})]});function h({data:l,className:o}){const{title:a,items:t}=l;return p("section",{"data-ui-component-id":"ksp",className:r("ksp-container flex scroll-mt-[108px] flex-col justify-center bg-black laptop:scroll-mt-[46px]",o),children:[e(i,{as:"h1",size:4,html:a,className:"ksp-title text-left text-white laptop:text-center"}),p("div",{className:"ksp-desktop-layout mt-[24px] hidden flex-col gap-4 text-white min-md:mt-[24px] min-xxl:mt-[24px] tablet:flex",children:[p("div",{className:"ksp-row ksp-row-1 flex flex-nowrap items-stretch gap-4",children:[e(s,{className:"w-[59.53%] tablet:min-h-[240px] desktop:min-h-[256px] lg-desktop:min-h-[320px]",...t[0]}),e(s,{className:"w-[39.30%] tablet:min-h-[240px] desktop:min-h-[256px] lg-desktop:min-h-[320px]",...t[1]})]}),p("div",{className:"ksp-row ksp-row-2 flex flex-nowrap items-stretch gap-4",children:[e(s,{className:"w-[33%] tablet:min-h-[240px] laptop:w-[29.19%] desktop:min-h-[256px] lg-desktop:min-h-[320px]",...t[4]}),e(s,{className:"w-[33%] tablet:min-h-[240px] laptop:w-[39.30%] desktop:min-h-[256px] lg-desktop:min-h-[320px]",...t[3]}),e(s,{className:"w-[33%] tablet:min-h-[240px] laptop:w-[29.19%] desktop:min-h-[256px] lg-desktop:min-h-[320px]",...t[2]})]}),p("div",{className:"ksp-row ksp-row-3 flex flex-nowrap items-stretch gap-4",children:[e(s,{className:"order-2 w-[59.53%] tablet:min-h-[240px] desktop:order-1 desktop:min-h-[256px] desktop:w-[39.30%] lg-desktop:min-h-[320px]",...t[5]}),e(s,{className:"order-1 w-[39.30%] tablet:min-h-[240px] desktop:order-2 desktop:min-h-[256px] desktop:w-[59.53%] lg-desktop:min-h-[320px]",...t[6]})]})]}),p("div",{className:"ksp-mobile-layout mt-[24px] flex flex-col gap-[12px] text-white tablet:hidden",children:[e(s,{className:"h-[240px] w-[100%]",...t[0]}),p("div",{className:"ksp-row ksp-row-mobile-1 flex max-h-[240px] flex-nowrap items-stretch gap-[12px]",children:[e(s,{className:"w-[50%]",...t[1]}),e(s,{className:"w-[50%]",...t[2]})]}),e(s,{className:"max-h-[240px] w-[100%]",...t[6]}),p("div",{className:"ksp-row ksp-row-mobile-2 flex max-h-[240px] flex-nowrap items-stretch gap-[12px]",children:[e(s,{className:"w-[50%]",...t[3]}),e(s,{className:"w-[50%]",...t[4]})]}),e(s,{className:"max-h-[280px] w-[100%]",...t[5]})]})]})}var g=k(h);export{g as default};
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/biz-components/Ksp/index.tsx"],
|
|
4
|
+
"sourcesContent": ["import { Heading, Picture, Text } from '../../components/index.js'\nimport { cn } from '../../helpers/utils.js'\nimport { withLayout } from '../../shared/Styles.js'\n\n/**\n * KSP \u5361\u7247\u9879\u6570\u636E\u7ED3\u6784\n */\nexport interface KspCardItem {\n /** \u6807\u9898 */\n title?: string\n /** \u63CF\u8FF0 */\n desc?: string\n /** \u684C\u9762\u7AEF\u56FE\u7247 URL */\n imageUrl?: string\n /** \u79FB\u52A8\u7AEF\u56FE\u7247 URL */\n mobImageUrl?: string\n /** \u684C\u9762\u7AEF\u89C6\u9891 URL */\n videoUrl?: string\n /** \u79FB\u52A8\u7AEF\u89C6\u9891 URL */\n mobVideoUrl?: string\n}\n\n/**\n * KSP \u6570\u636E\u7ED3\u6784\n */\nexport interface KspData {\n /** \u4E3B\u6807\u9898 */\n title?: string\n /** KSP \u5361\u7247\u5217\u8868\uFF08\u9700\u8981 7 \u4E2A\u9879\uFF09 */\n items: KspCardItem[]\n}\n\n/**\n * Ksp \u7EC4\u4EF6 Props\n */\nexport interface KspProps {\n /** KSP \u6570\u636E */\n data: KspData\n /** \u81EA\u5B9A\u4E49\u7C7B\u540D */\n className?: string\n}\n\ninterface ImageCardProps extends KspCardItem {\n /** \u81EA\u5B9A\u4E49\u7C7B\u540D */\n className?: string\n}\n\nconst ImageCard = ({\n title,\n desc,\n imageUrl,\n mobImageUrl,\n videoUrl,\n mobVideoUrl,\n className,\n}: ImageCardProps) => {\n return (\n <div className={cn('ksp-card relative overflow-hidden rounded-[16px] bg-[#1f1f1f]', className)}>\n {videoUrl && mobVideoUrl ? (\n <>\n <video\n playsInline\n autoPlay\n muted\n loop\n src={videoUrl}\n poster={imageUrl}\n className=\"ksp-card-video ksp-card-video-desktop absolute bottom-0 hidden w-full laptop:inline-block\"\n />\n <video\n playsInline\n autoPlay\n muted\n loop\n src={mobVideoUrl}\n poster={mobImageUrl}\n className=\"ksp-card-video ksp-card-video-mobile absolute inline-block -translate-y-[80px] object-contain object-center laptop:hidden\"\n />\n </>\n ) : (\n (imageUrl || mobImageUrl) && (\n <Picture\n source={`${imageUrl}, ${mobImageUrl} 768`}\n className=\"ksp-card-image h-full w-full\"\n imgClassName=\"h-full w-full object-cover object-bottom\"\n />\n )\n )}\n <div className=\"ksp-card-content absolute left-[16px] top-[16px] desktop:left-[24px] desktop:top-[24px] lg-desktop:left-[32px] lg-desktop:top-[32px]\">\n <Heading size={3} html={title} className=\"ksp-card-title hidden w-full tablet:block\" />\n <Heading size={2} html={title} className=\"ksp-card-title block w-full tablet:hidden tablet:w-[340px]\" />\n <Text\n size={2}\n html={desc}\n className=\"ksp-card-desc mt-[4px] text-[14px] tablet:block tablet:text-[14px] laptop:text-[14px] desktop:text-[16px] lg-desktop:text-[18px]\"\n />\n </div>\n\n </div>\n )\n}\n\n/**\n * Ksp - Key Selling Point \u5173\u952E\u5356\u70B9\u7EC4\u4EF6\n * \n * \u5C55\u793A\u4EA7\u54C1\u7684\u5173\u952E\u5356\u70B9\uFF0C\u652F\u6301\u56FE\u7247\u548C\u89C6\u9891\uFF0C\u5177\u6709\u590D\u6742\u7684\u54CD\u5E94\u5F0F\u5E03\u5C40\u3002\n * \u5E03\u5C40\u9700\u8981 7 \u4E2A\u5361\u7247\u9879\uFF0C\u5206\u522B\u5BF9\u5E94\u4E0D\u540C\u5C3A\u5BF8\u548C\u4F4D\u7F6E\u3002\n * \n * @example\n * ```tsx\n * <Ksp\n * data={{\n * title: '\u4E3A\u4EC0\u4E48\u9009\u62E9\u6211\u4EEC',\n * items: [\n * {\n * title: '\u9AD8\u6027\u80FD',\n * desc: '\u5F3A\u5927\u7684\u5904\u7406\u80FD\u529B',\n * imageUrl: '/desktop.jpg',\n * mobImageUrl: '/mobile.jpg'\n * },\n * // ... \u9700\u8981 7 \u4E2A\u9879\n * ]\n * }}\n * />\n * ```\n */\nfunction Ksp({ data, className }: KspProps) {\n const { title, items } = data\n\n return (\n <section\n data-ui-component-id=\"ksp\"\n className={cn('ksp-container flex scroll-mt-[108px] flex-col justify-center bg-black laptop:scroll-mt-[46px]', className)}\n >\n <Heading as=\"h1\" size={4} html={title} className=\"ksp-title text-left text-white laptop:text-center\" />\n {/* ipad, pc\u7AEF */}\n <div className=\"ksp-desktop-layout mt-[24px] hidden flex-col gap-4 text-white min-md:mt-[24px] min-xxl:mt-[24px] tablet:flex\">\n <div className=\"ksp-row ksp-row-1 flex flex-nowrap items-stretch gap-4\">\n <ImageCard\n className=\"w-[59.53%] tablet:min-h-[240px] desktop:min-h-[256px] lg-desktop:min-h-[320px]\"\n {...items[0]}\n />\n <ImageCard\n className=\"w-[39.30%] tablet:min-h-[240px] desktop:min-h-[256px] lg-desktop:min-h-[320px]\"\n {...items[1]}\n />\n </div>\n\n <div className=\"ksp-row ksp-row-2 flex flex-nowrap items-stretch gap-4\">\n <ImageCard\n className=\"w-[33%] tablet:min-h-[240px] laptop:w-[29.19%] desktop:min-h-[256px] lg-desktop:min-h-[320px]\"\n {...items[4]}\n />\n <ImageCard\n className=\"w-[33%] tablet:min-h-[240px] laptop:w-[39.30%] desktop:min-h-[256px] lg-desktop:min-h-[320px]\"\n {...items[3]}\n />\n <ImageCard\n className=\"w-[33%] tablet:min-h-[240px] laptop:w-[29.19%] desktop:min-h-[256px] lg-desktop:min-h-[320px]\"\n {...items[2]}\n />\n </div>\n\n <div className=\"ksp-row ksp-row-3 flex flex-nowrap items-stretch gap-4\">\n <ImageCard\n className=\"order-2 w-[59.53%] tablet:min-h-[240px] desktop:order-1 desktop:min-h-[256px] desktop:w-[39.30%] lg-desktop:min-h-[320px]\"\n {...items[5]}\n />\n <ImageCard\n className=\"order-1 w-[39.30%] tablet:min-h-[240px] desktop:order-2 desktop:min-h-[256px] desktop:w-[59.53%] lg-desktop:min-h-[320px]\"\n {...items[6]}\n />\n </div>\n </div>\n\n {/* \u624B\u673A\u7AEF */}\n <div className=\"ksp-mobile-layout mt-[24px] flex flex-col gap-[12px] text-white tablet:hidden\">\n <ImageCard className=\"h-[240px] w-[100%]\" {...items[0]} />\n <div className=\"ksp-row ksp-row-mobile-1 flex max-h-[240px] flex-nowrap items-stretch gap-[12px]\">\n <ImageCard className=\"w-[50%]\" {...items[1]} />\n <ImageCard className=\"w-[50%]\" {...items[2]} />\n </div>\n <ImageCard className=\"max-h-[240px] w-[100%]\" {...items[6]} />\n <div className=\"ksp-row ksp-row-mobile-2 flex max-h-[240px] flex-nowrap items-stretch gap-[12px]\">\n <ImageCard className=\"w-[50%]\" {...items[3]} />\n <ImageCard className=\"w-[50%]\" {...items[4]} />\n </div>\n <ImageCard className=\"max-h-[280px] w-[100%]\" {...items[5]} />\n </div>\n </section>\n )\n}\n\n\nexport default withLayout(Ksp)"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Fragment", "jsx", "jsxs", "Heading", "Picture", "Text", "cn", "withLayout", "ImageCard", "title", "desc", "imageUrl", "mobImageUrl", "videoUrl", "mobVideoUrl", "className", "Ksp", "data", "items", "Ksp_default"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{jsx as e,jsxs as s}from"react/jsx-runtime";import{Text as m,Heading as c,Avatar as g,AvatarImage as w,AvatarFallback as u}from"../../components/index.js";import{cn as n}from"../../helpers/utils.js";import{withLayout as k}from"../../shared/Styles.js";const x=9,N=3,C=(t,a)=>Array.from({length:Math.ceil(t.length/a)},(i,r)=>t.slice(r*a,(r+1)*a)),b=()=>e("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:e("path",{d:"M7.32745 1.36274C7.60256 0.805304 8.39744 0.805305 8.67255 1.36274L10.1766 4.41035C10.2859 4.63171 10.4971 4.78514 10.7413 4.82063L14.1046 5.30934C14.7197 5.39873 14.9654 6.15471 14.5202 6.58861L12.0866 8.96084C11.9098 9.13315 11.8292 9.3814 11.8709 9.62469L12.4454 12.9743C12.5505 13.587 11.9074 14.0542 11.3572 13.765L8.349 12.1835C8.13051 12.0686 7.86949 12.0686 7.65099 12.1835L4.64282 13.765C4.0926 14.0542 3.44953 13.587 3.55461 12.9743L4.12912 9.62469C4.17085 9.3814 4.09019 9.13315 3.91342 8.96084L1.47976 6.58861C1.03462 6.15471 1.28025 5.39873 1.89542 5.30934L5.25866 4.82063C5.50294 4.78514 5.71412 4.63171 5.82336 4.41035L7.32745 1.36274Z",fill:"#F77234"})}),y=({item:t})=>s("div",{className:"flex h-[240px] flex-grow flex-col justify-between rounded-2xl bg-container-primary p-[16px] text-info-primary min-l:p-[24px] laptop:h-[240px] desktop:h-[240px] lg-desktop:h-[240px]",children:[s("div",{className:"flex justify-between",children:[s("div",{className:"flex flex-col",children:[e(m,{size:4,html:t.name,className:"hidden laptop:block"}),e(m,{size:2,html:t.name,className:"block laptop:hidden"}),e("div",{className:"mt-2 flex gap-1",children:new Array(t.rating||5).fill(0).map((a,i)=>e(b,{},i))})]}),s(g,{size:"small",className:" h-[40px] w-[40px] laptop:h-[48px] laptop:w-[48px]",children:[e(w,{src:t.avatar,alt:"avatar"}),e(u,{children:(t.name??"").slice(0,2).toUpperCase()})]})]}),e("div",{children:e(c,{as:"h6",size:2,html:`"${t.comment}`,className:"line-clamp-5 min-h-[120px] text-wrap"})})]});function L({data:t,className:a}){const{title:i,subtitle:r,items:l=[],theme:h="light"}=t,f=C(l.length<x?[...l,...l.slice(x-l.length)]:l,N).slice(0,3).map(o=>[...o,...o]);return s("section",{className:n("flex flex-col items-center justify-center py-3 text-info-primary",a,{"aiui-dark":h==="dark"}),children:[e(c,{as:"h1",size:4,html:i,className:"w-full text-left laptop:text-center"}),e(m,{size:2,html:r,className:"mt-[4px] w-full text-left text-[14px] tablet:mt-[16px] tablet:text-[14px] laptop:text-center laptop:text-[14px] desktop:mt-[8px] desktop:text-[16px] lg-desktop:text-[18px]"}),e("div",{className:n("mask-fade-vertical mt-[24px] flex h-[480px] gap-4 overflow-hidden laptop:h-[384px] desktop:h-[512px] lg-desktop:h-[640px]"),children:f.map((o,p)=>e("div",{className:n("animate-marquee-scroll relative flex flex-col gap-4 flex-1 h-fit",{"top-10":p===0||p===2,"hidden desktop:flex":p===1,"hidden tablet:flex":p===2}),children:o.map((d,v)=>e(y,{item:d},v))},p))})]})}var R=k(L);export{R as default};
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/biz-components/MarqueeReview/index.tsx"],
|
|
4
|
+
"sourcesContent": ["import { Text, Heading, Avatar, AvatarImage, AvatarFallback } from '../../components/index.js'\nimport { cn } from '../../helpers/utils.js'\nimport { withLayout } from '../../shared/Styles.js'\nimport type { Theme } from '../../types/props.js'\n\nconst FIX_ITEMS_LENGTH = 9\nconst COUNT = 3\n\n/**\n * \u8BC4\u8BBA\u9879\u6570\u636E\u7ED3\u6784\n */\nexport interface ReviewItem {\n /** \u8BC4\u8BBA\u8005\u540D\u79F0 */\n name: string\n /** \u8BC4\u8BBA\u8005\u5934\u50CF URL */\n avatar: string\n /** \u8BC4\u8BBA\u5185\u5BB9 */\n comment: string\n /** \u8BC4\u5206(1-5\u661F) */\n rating?: number\n}\n\n/**\n * \u8F6E\u64AD\u8BC4\u8BBA\u6570\u636E\u7ED3\u6784\n */\nexport interface MarqueeReviewData {\n /** \u4E3B\u6807\u9898 */\n title: string\n /** \u526F\u6807\u9898 */\n subtitle: string\n /** \u8BC4\u8BBA\u5217\u8868 */\n items: ReviewItem[]\n /** \u4E3B\u9898\uFF1Alight \u6216 dark */\n theme?: Theme\n}\n\n/**\n * MarqueeReview \u7EC4\u4EF6 Props\n */\nexport interface MarqueeReviewProps {\n /** \u8BC4\u8BBA\u6570\u636E */\n data: MarqueeReviewData\n /** \u81EA\u5B9A\u4E49\u7C7B\u540D */\n className?: string\n}\n\nconst _chunk = <T,>(array: T[], size: number): T[][] => {\n return Array.from({ length: Math.ceil(array.length / size) }, (_, index) =>\n array.slice(index * size, (index + 1) * size)\n )\n}\n\nconst StarIcon = () => (\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M7.32745 1.36274C7.60256 0.805304 8.39744 0.805305 8.67255 1.36274L10.1766 4.41035C10.2859 4.63171 10.4971 4.78514 10.7413 4.82063L14.1046 5.30934C14.7197 5.39873 14.9654 6.15471 14.5202 6.58861L12.0866 8.96084C11.9098 9.13315 11.8292 9.3814 11.8709 9.62469L12.4454 12.9743C12.5505 13.587 11.9074 14.0542 11.3572 13.765L8.349 12.1835C8.13051 12.0686 7.86949 12.0686 7.65099 12.1835L4.64282 13.765C4.0926 14.0542 3.44953 13.587 3.55461 12.9743L4.12912 9.62469C4.17085 9.3814 4.09019 9.13315 3.91342 8.96084L1.47976 6.58861C1.03462 6.15471 1.28025 5.39873 1.89542 5.30934L5.25866 4.82063C5.50294 4.78514 5.71412 4.63171 5.82336 4.41035L7.32745 1.36274Z\"\n fill=\"#F77234\"\n />\n </svg>\n)\n\ninterface CardProps {\n item: ReviewItem\n}\n\nconst Card = ({ item }: CardProps) => {\n return (\n <div className=\"flex h-[240px] flex-grow flex-col justify-between rounded-2xl bg-container-primary p-[16px] text-info-primary min-l:p-[24px] laptop:h-[240px] desktop:h-[240px] lg-desktop:h-[240px]\">\n <div className=\"flex justify-between\">\n <div className=\"flex flex-col\">\n <Text size={4} html={item.name} className=\"hidden laptop:block\" />\n <Text size={2} html={item.name} className=\"block laptop:hidden\" />\n <div className=\"mt-2 flex gap-1\">\n {new Array(item.rating || 5).fill(0).map((_, index) => (\n <StarIcon key={index} />\n ))}\n </div>\n </div>\n <Avatar size=\"small\" className=\" h-[40px] w-[40px] laptop:h-[48px] laptop:w-[48px]\">\n <AvatarImage src={item.avatar} alt=\"avatar\" />\n <AvatarFallback>{(item.name ?? '').slice(0, 2).toUpperCase()}</AvatarFallback>\n </Avatar>\n </div>\n <div>\n <Heading as=\"h6\" size={2} html={`\"${item.comment}`} className=\"line-clamp-5 min-h-[120px] text-wrap\" />\n </div>\n </div>\n )\n}\n\n/**\n * MarqueeReview - \u5782\u76F4\u6EDA\u52A8\u7684\u8BC4\u8BBA\u8F6E\u64AD\u7EC4\u4EF6\n *\n * \u7528\u4E8E\u5C55\u793A\u7528\u6237\u8BC4\u8BBA,\u652F\u6301\u591A\u5217\u5782\u76F4\u65E0\u9650\u6EDA\u52A8\u6548\u679C\u3002\n *\n * @example\n * ```tsx\n * <MarqueeReview\n * data={{\n * title: \"\u5BA2\u6237\u8BC4\u4EF7\",\n * subtitle: \"\u770B\u770B\u7528\u6237\u600E\u4E48\u8BF4\",\n * items: [\n * {\n * name: \"\u5F20\u4E09\",\n * avatar: \"/avatar1.jpg\",\n * comment: \"\u975E\u5E38\u597D\u7528\u7684\u4EA7\u54C1!\",\n * rating: 5\n * }\n * ]\n * }}\n * />\n * ```\n */\nfunction MarqueeReview({ data, className }: MarqueeReviewProps) {\n const { title, subtitle, items = [], theme = 'light' } = data\n\n const chunkItems = _chunk(\n items.length < FIX_ITEMS_LENGTH ? [...items, ...items.slice(FIX_ITEMS_LENGTH - items.length)] : items,\n COUNT\n )\n .slice(0, 3)\n .map(item => [...item, ...item])\n\n return (\n <section className={cn('flex flex-col items-center justify-center py-3 text-info-primary', className, { 'aiui-dark': theme === 'dark' })}>\n <Heading as=\"h1\" size={4} html={title} className=\"w-full text-left laptop:text-center\" />\n <Text\n size={2}\n html={subtitle}\n className=\"mt-[4px] w-full text-left text-[14px] tablet:mt-[16px] tablet:text-[14px] laptop:text-center laptop:text-[14px] desktop:mt-[8px] desktop:text-[16px] lg-desktop:text-[18px]\"\n />\n <div\n className={cn(\n 'mask-fade-vertical mt-[24px] flex h-[480px] gap-4 overflow-hidden laptop:h-[384px] desktop:h-[512px] lg-desktop:h-[640px]'\n )}\n >\n {chunkItems.map((items, index) => (\n <div\n key={index}\n className={cn('animate-marquee-scroll relative flex flex-col gap-4 flex-1 h-fit', {\n 'top-10': index === 0 || index === 2,\n 'hidden desktop:flex': index === 1,\n 'hidden tablet:flex': index === 2,\n })}\n >\n {items.map((item, innerIndex) => (\n <Card key={innerIndex} item={item} />\n ))}\n </div>\n ))}\n </div>\n </section>\n )\n}\n\nexport default withLayout(MarqueeReview)"],
|
|
5
|
+
"mappings": "AAsDI,cAAAA,EAeI,QAAAC,MAfJ,oBAtDJ,OAAS,QAAAC,EAAM,WAAAC,EAAS,UAAAC,EAAQ,eAAAC,EAAa,kBAAAC,MAAsB,4BACnE,OAAS,MAAAC,MAAU,yBACnB,OAAS,cAAAC,MAAkB,yBAG3B,MAAMC,EAAmB,EACnBC,EAAQ,EAwCRC,EAAS,CAAKC,EAAYC,IACvB,MAAM,KAAK,CAAE,OAAQ,KAAK,KAAKD,EAAM,OAASC,CAAI,CAAE,EAAG,CAACC,EAAGC,IAChEH,EAAM,MAAMG,EAAQF,GAAOE,EAAQ,GAAKF,CAAI,CAC9C,EAGIG,EAAW,IACfhB,EAAC,OAAI,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,MAAM,6BAChE,SAAAA,EAAC,QACC,EAAE,6oBACF,KAAK,UACP,EACF,EAOIiB,EAAO,CAAC,CAAE,KAAAC,CAAK,IAEjBjB,EAAC,OAAI,UAAU,uLACb,UAAAA,EAAC,OAAI,UAAU,uBACb,UAAAA,EAAC,OAAI,UAAU,gBACb,UAAAD,EAACE,EAAA,CAAK,KAAM,EAAG,KAAMgB,EAAK,KAAM,UAAU,sBAAsB,EAChElB,EAACE,EAAA,CAAK,KAAM,EAAG,KAAMgB,EAAK,KAAM,UAAU,sBAAsB,EAChElB,EAAC,OAAI,UAAU,kBACZ,aAAI,MAAMkB,EAAK,QAAU,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,CAACJ,EAAGC,IAC3Cf,EAACgB,EAAA,GAAcD,CAAO,CACvB,EACH,GACF,EACAd,EAACG,EAAA,CAAO,KAAK,QAAQ,UAAU,sDAC7B,UAAAJ,EAACK,EAAA,CAAY,IAAKa,EAAK,OAAQ,IAAI,SAAS,EAC5ClB,EAACM,EAAA,CAAiB,UAAAY,EAAK,MAAQ,IAAI,MAAM,EAAG,CAAC,EAAE,YAAY,EAAE,GAC/D,GACF,EACAlB,EAAC,OACC,SAAAA,EAACG,EAAA,CAAQ,GAAG,KAAK,KAAM,EAAG,KAAM,IAAIe,EAAK,OAAO,GAAI,UAAU,uCAAuC,EACvG,GACF,EA2BJ,SAASC,EAAc,CAAE,KAAAC,EAAM,UAAAC,CAAU,EAAuB,CAC9D,KAAM,CAAE,MAAAC,EAAO,SAAAC,EAAU,MAAAC,EAAQ,CAAC,EAAG,MAAAC,EAAQ,OAAQ,EAAIL,EAEnDM,EAAaf,EACjBa,EAAM,OAASf,EAAmB,CAAC,GAAGe,EAAO,GAAGA,EAAM,MAAMf,EAAmBe,EAAM,MAAM,CAAC,EAAIA,EAChGd,CACF,EACG,MAAM,EAAG,CAAC,EACV,IAAIQ,GAAQ,CAAC,GAAGA,EAAM,GAAGA,CAAI,CAAC,EAEjC,OACEjB,EAAC,WAAQ,UAAWM,EAAG,mEAAqEc,EAAW,CAAE,YAAaI,IAAU,MAAO,CAAC,EACtI,UAAAzB,EAACG,EAAA,CAAQ,GAAG,KAAK,KAAM,EAAG,KAAMmB,EAAO,UAAU,sCAAsC,EACvFtB,EAACE,EAAA,CACC,KAAM,EACN,KAAMqB,EACN,UAAU,8KACZ,EACAvB,EAAC,OACC,UAAWO,EACT,2HACF,EAEC,SAAAmB,EAAW,IAAI,CAACF,EAAOT,IACtBf,EAAC,OAEC,UAAWO,EAAG,mEAAoE,CAChF,SAAUQ,IAAU,GAAKA,IAAU,EACnC,sBAAuBA,IAAU,EACjC,qBAAsBA,IAAU,CAClC,CAAC,EAEA,SAAAS,EAAM,IAAI,CAACN,EAAMS,IAChB3B,EAACiB,EAAA,CAAsB,KAAMC,GAAlBS,CAAwB,CACpC,GATIZ,CAUP,CACD,EACH,GACF,CAEJ,CAEA,IAAOa,EAAQpB,EAAWW,CAAa",
|
|
6
|
+
"names": ["jsx", "jsxs", "Text", "Heading", "Avatar", "AvatarImage", "AvatarFallback", "cn", "withLayout", "FIX_ITEMS_LENGTH", "COUNT", "_chunk", "array", "size", "_", "index", "StarIcon", "Card", "item", "MarqueeReview", "data", "className", "title", "subtitle", "items", "theme", "chunkItems", "innerIndex", "MarqueeReview_default"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{jsx as t,jsxs as l}from"react/jsx-runtime";import{useEffect as x,useRef as f,useState as b}from"react";import{Heading as c,Text as h}from"../../components/index.js";import{cn as m}from"../../helpers/index.js";import{withLayout as g}from"../../shared/Styles.js";function u({children:e,offset:a=800}){const[r,p]=b(!1),o=f(null);return x(()=>{const i=new IntersectionObserver(([s])=>s.isIntersecting&&p(!0),{rootMargin:`${a}px`});return o.current&&i.observe(o.current),()=>i.disconnect()},[a]),t("div",{ref:o,className:"size-full",children:r&&e})}function d({media:e,poster:a,className:r}){return e?.url?e.mimeType?.startsWith("video/")?t("video",{src:e.url,playsInline:!0,autoPlay:!0,muted:!0,loop:!0,poster:a,preload:"metadata",disablePictureInPicture:!0,disableRemotePlayback:!0,"webkit-playsinline":"true","x5-video-player-type":"h5","x5-video-player-fullscreen":"false","x5-playsinline":"true",className:r,width:e.width,height:e.height}):t("img",{src:e.url,alt:e.alt||"",className:r,width:e.width,height:e.height}):null}function v(e){const{title:a,subtitle:r,ourProduct:p={},competitor:o={},theme:i="light",shape:s="rounded"}=e.data,n={rounded:"rounded-[12px] laptop:rounded-[16px]",square:"rounded-none"}[s];return l("section",{className:m("product-compare text-info-primary bg-container-primary",e.className,{"aiui-dark":i==="dark"}),children:[a&&t(c,{as:"h2",size:3,html:a,className:"section-title text-left"}),r&&t(h,{as:"p",size:2,html:r,className:"section-subtitle mt-[4px] text-left text-[14px] tablet:text-[14px] laptop:text-[14px] desktop:text-[16px] lg-desktop:text-[18px]"}),l("div",{className:"product-compare-container mt-[24px] flex w-full flex-col items-stretch gap-[16px] tablet:flex-row tablet:flex-nowrap",children:[l("div",{className:m("product-compare-item product-compare-competitor relative order-2 flex-shrink overflow-hidden tablet:order-1 tablet:w-[50%] laptop:w-[39.30%]",n),children:[t("div",{className:"product-compare-label product-compare-competitor-label absolute left-[16px] top-[16px] rounded-[24px] bg-[#000] bg-opacity-20 px-[20px] pb-[10px] pt-[11px] font-bold laptop:left-[28px] laptop:top-[28px] laptop:px-[28px] laptop:pb-[14px] laptop:pt-[15px] desktop:left-[32px] desktop:top-[32px]",children:t(c,{as:"h6",className:"font-bold",size:1,children:o.text})}),l(u,{offset:1500,children:[t(d,{media:o.media,poster:o.poster,className:"product-compare-media product-compare-competitor-media hidden w-full h-full object-cover laptop:block"}),t(d,{media:o.mobMedia,poster:o.mobPoster,className:"product-compare-media product-compare-competitor-media-mobile block laptop:hidden"})]})]}),l("div",{className:m("product-compare-item product-compare-our-product relative order-1 flex-shrink overflow-hidden tablet:order-2 tablet:w-[50%] laptop:w-[59.53%]",n),children:[t("div",{className:"product-compare-label product-compare-our-product-label absolute left-[16px] top-[16px] rounded-[24px] bg-brand-0 px-[20px] pb-[10px] pt-[11px] font-bold laptop:left-[28px] laptop:top-[28px] laptop:px-[28px] laptop:pb-[14px] laptop:pt-[15px] desktop:left-[32px] desktop:top-[32px]",children:t(c,{as:"h6",className:"font-bold",size:1,children:p.text})}),l(u,{offset:1500,children:[t(d,{media:p.media,poster:p.poster,className:"product-compare-media product-compare-our-product-media hidden w-full laptop:block"}),t(d,{media:p.mobMedia,poster:p.mobPoster,className:"product-compare-media product-compare-our-product-media-mobile block laptop:hidden"})]})]})]})]})}var k=g(v);export{k as default};
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/biz-components/ProductCompare/index.tsx"],
|
|
4
|
+
"sourcesContent": ["import { useEffect, useRef, useState } from 'react'\nimport { Heading, Text } from '../../components/index.js'\nimport { cn } from '../../helpers/index.js'\nimport type { Media, Theme, Shape } from '../../types/props.js'\nimport { withLayout } from '../../shared/Styles.js';\n\nfunction LazyMedia({ children, offset = 800 }: { children: React.ReactNode; offset?: number }) {\n const [loaded, setLoaded] = useState(false)\n const ref = useRef<HTMLDivElement>(null)\n\n useEffect(() => {\n const observer = new IntersectionObserver(\n ([entry]) => entry.isIntersecting && setLoaded(true),\n { rootMargin: `${offset}px` }\n )\n ref.current && observer.observe(ref.current)\n return () => observer.disconnect()\n }, [offset])\n\n return <div ref={ref} className=\"size-full\">{loaded && children}</div>\n}\n\nfunction MediaElement({ media, poster, className }: { media?: Media; poster?: string; className?: string }) {\n if (!media?.url) return null\n \n const isVideo = media.mimeType?.startsWith('video/')\n \n if (isVideo) {\n return (\n <video\n src={media.url}\n playsInline\n autoPlay\n muted\n loop\n poster={poster}\n preload=\"metadata\"\n disablePictureInPicture\n disableRemotePlayback\n webkit-playsinline=\"true\"\n x5-video-player-type=\"h5\"\n x5-video-player-fullscreen=\"false\"\n x5-playsinline=\"true\"\n className={className}\n width={media.width}\n height={media.height}\n />\n )\n }\n \n return (\n <img\n src={media.url}\n alt={media.alt || ''}\n className={className}\n width={media.width}\n height={media.height}\n />\n )\n}\n\nexport interface ProductItemData {\n /** \u4EA7\u54C1\u6807\u7B7E\u6587\u672C */\n text?: string\n /** \u684C\u9762\u7AEF\u5A92\u4F53\uFF08\u89C6\u9891\u6216\u56FE\u7247\uFF09 */\n media?: Media\n /** \u79FB\u52A8\u7AEF\u5A92\u4F53\uFF08\u89C6\u9891\u6216\u56FE\u7247\uFF09 */\n mobMedia?: Media\n /** \u684C\u9762\u7AEF\u5C01\u9762\u56FE\uFF08\u4EC5\u7528\u4E8E\u89C6\u9891\uFF09 */\n poster?: string\n /** \u79FB\u52A8\u7AEF\u5C01\u9762\u56FE\uFF08\u4EC5\u7528\u4E8E\u89C6\u9891\uFF09 */\n mobPoster?: string\n}\n\nexport interface ProductCompareProps {\n /** \u7EC4\u4EF6\u6570\u636E */\n data: {\n /** \u4E3B\u6807\u9898 */\n title?: string\n /** \u526F\u6807\u9898 */\n subtitle?: string\n /** \u6211\u4EEC\u7684\u4EA7\u54C1\u6570\u636E */\n ourProduct?: ProductItemData\n /** \u7ADE\u54C1\u6570\u636E */\n competitor?: ProductItemData\n /** \u4E3B\u9898\uFF1Alight \u6216 dark */\n theme?: Theme\n /** \u5F62\u72B6\uFF1Arounded \u6216 square */\n shape?: Shape\n }\n /** \u5916\u5C42\u5BB9\u5668\u7C7B\u540D */\n className?: string\n}\n\nfunction ProductCompare(props: ProductCompareProps) {\n const { title, subtitle, ourProduct = {}, competitor = {}, theme = 'light', shape = 'rounded' } = props.data\n \n // \u6839\u636E\u5F62\u72B6\u8BBE\u7F6E\u5706\u89D2\n const shapeClass = {\n rounded: 'rounded-[12px] laptop:rounded-[16px]',\n square: 'rounded-none',\n }[shape]\n\n return (\n <section className={cn('product-compare text-info-primary bg-container-primary', props.className, { 'aiui-dark': theme === 'dark' })}>\n {title && <Heading as={'h2'} size={3} html={title} className=\"section-title text-left\" />}\n {subtitle && <Text\n as=\"p\"\n size={2}\n html={subtitle}\n className=\"section-subtitle mt-[4px] text-left text-[14px] tablet:text-[14px] laptop:text-[14px] desktop:text-[16px] lg-desktop:text-[18px]\"\n />}\n <div className=\"product-compare-container mt-[24px] flex w-full flex-col items-stretch gap-[16px] tablet:flex-row tablet:flex-nowrap\">\n <div className={cn('product-compare-item product-compare-competitor relative order-2 flex-shrink overflow-hidden tablet:order-1 tablet:w-[50%] laptop:w-[39.30%]', shapeClass)}>\n <div className=\"product-compare-label product-compare-competitor-label absolute left-[16px] top-[16px] rounded-[24px] bg-[#000] bg-opacity-20 px-[20px] pb-[10px] pt-[11px] font-bold laptop:left-[28px] laptop:top-[28px] laptop:px-[28px] laptop:pb-[14px] laptop:pt-[15px] desktop:left-[32px] desktop:top-[32px]\">\n <Heading as={'h6'} className=\"font-bold\" size={1}>\n {competitor.text}\n </Heading>\n </div>\n <LazyMedia offset={1500}>\n <MediaElement\n media={competitor.media}\n poster={competitor.poster}\n className=\"product-compare-media product-compare-competitor-media hidden w-full h-full object-cover laptop:block\"\n />\n <MediaElement\n media={competitor.mobMedia}\n poster={competitor.mobPoster}\n className=\"product-compare-media product-compare-competitor-media-mobile block laptop:hidden\"\n />\n </LazyMedia>\n </div>\n <div className={cn('product-compare-item product-compare-our-product relative order-1 flex-shrink overflow-hidden tablet:order-2 tablet:w-[50%] laptop:w-[59.53%]', shapeClass)}>\n <div className=\"product-compare-label product-compare-our-product-label absolute left-[16px] top-[16px] rounded-[24px] bg-brand-0 px-[20px] pb-[10px] pt-[11px] font-bold laptop:left-[28px] laptop:top-[28px] laptop:px-[28px] laptop:pb-[14px] laptop:pt-[15px] desktop:left-[32px] desktop:top-[32px]\">\n <Heading as={'h6'} className=\"font-bold\" size={1}>\n {ourProduct.text}\n </Heading>\n </div>\n <LazyMedia offset={1500}>\n <MediaElement\n media={ourProduct.media}\n poster={ourProduct.poster}\n className=\"product-compare-media product-compare-our-product-media hidden w-full laptop:block\"\n />\n <MediaElement\n media={ourProduct.mobMedia}\n poster={ourProduct.mobPoster}\n className=\"product-compare-media product-compare-our-product-media-mobile block laptop:hidden\"\n />\n </LazyMedia>\n </div>\n </div>\n </section>\n )\n}\n\nexport default withLayout(ProductCompare)"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["jsx", "jsxs", "useEffect", "useRef", "useState", "Heading", "Text", "cn", "withLayout", "LazyMedia", "children", "offset", "loaded", "setLoaded", "ref", "observer", "entry", "MediaElement", "media", "poster", "className", "ProductCompare", "props", "title", "subtitle", "ourProduct", "competitor", "theme", "shape", "shapeClass", "ProductCompare_default"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use client";import{jsx as t,jsxs as s}from"react/jsx-runtime";import f,{useRef as h,useImperativeHandle as b}from"react";import{Heading as p,Button as x,Picture as _,Text as N}from"../../components/index.js";import{cn as H}from"../../helpers/utils.js";import{withLayout as k}from"../../shared/Styles.js";import{useExposure as P}from"../../hooks/useExposure.js";const g="image",v="product_hero",a=f.forwardRef(({data:l,className:c},i)=>{const{title:r,subtitle:e,ctaText:m,poster:u,mobPoster:n,ctaLink:d}=l,o=h(null);return P(o,{componentType:g,componentName:v,componentTitle:r,componentDescription:e}),b(i,()=>o.current),s("section",{ref:o,"data-ui-component-id":"ProductHero",className:H("product-hero flex w-full flex-col items-center justify-between gap-[32px] tablet:flex-row tablet:gap-[16px] lg-desktop:gap-[64px]",c),children:[s("div",{className:"product-hero__content flex w-full flex-col items-start gap-[24px] tablet:basis-[42%] laptop:basis-[36%]",children:[s("div",{className:"product-hero__text",children:[t(p,{as:"h3",size:4,html:r,className:"product-hero__title"}),t(p,{as:"h4",size:2,html:e,className:"product-hero__subtitle product-hero__subtitle--desktop mt-[4px] hidden laptop:mt-[12px] laptop:block desktop:mt-[16px]"}),t(N,{as:"p",size:2,html:e,className:"product-hero__subtitle product-hero__subtitle--mobile mt-[4px] block laptop:mt-[12px] laptop:hidden desktop:mt-[16px]"})]}),t("a",{href:d,className:"product-hero__cta-link",children:t(x,{className:"product-hero__cta-button w-fit",children:m})})]}),t(_,{className:"product-hero__image aspect-[358/360] flex-shrink tablet:aspect-[824/640] tablet:basis-[58%] laptop:basis-[64%]",source:`${u.url}, ${n.url} 768`})]})});a.displayName="ProductHero";var E=k(a);export{E as default};
|
|
2
|
+
//# sourceMappingURL=ProductHero.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/biz-components/ProductHero/ProductHero.tsx"],
|
|
4
|
+
"sourcesContent": ["'use client'\nimport React, { useRef, useImperativeHandle } from 'react'\nimport { Heading, Button, Picture, Text } from '../../components/index.js'\nimport { cn } from '../../helpers/utils.js'\nimport { withLayout } from '../../shared/Styles.js'\nimport { useExposure } from '../../hooks/useExposure.js'\nimport type { ProductHeroProps } from './types.js'\n\nconst componentType = 'image'\nconst componentName = 'product_hero'\n\nconst ProductHero = React.forwardRef<HTMLDivElement, ProductHeroProps>(({ data, className }, ref) => {\n const { title, subtitle, ctaText, poster, mobPoster, ctaLink } = data\n\n const boxRef = useRef<HTMLDivElement>(null)\n\n useExposure(boxRef, {\n componentType,\n componentName,\n componentTitle: title,\n componentDescription: subtitle,\n })\n\n useImperativeHandle(ref, () => boxRef.current as HTMLDivElement)\n\n return (\n <section\n ref={boxRef}\n data-ui-component-id=\"ProductHero\"\n className={cn(\n 'product-hero flex w-full flex-col items-center justify-between gap-[32px] tablet:flex-row tablet:gap-[16px] lg-desktop:gap-[64px]',\n className\n )}\n >\n <div className=\"product-hero__content flex w-full flex-col items-start gap-[24px] tablet:basis-[42%] laptop:basis-[36%]\">\n <div className=\"product-hero__text\">\n <Heading as={'h3'} size={4} html={title} className=\"product-hero__title\" />\n <Heading\n as={'h4'}\n size={2}\n html={subtitle}\n className=\"product-hero__subtitle product-hero__subtitle--desktop mt-[4px] hidden laptop:mt-[12px] laptop:block desktop:mt-[16px]\"\n />\n <Text\n as={'p'}\n size={2}\n html={subtitle}\n className=\"product-hero__subtitle product-hero__subtitle--mobile mt-[4px] block laptop:mt-[12px] laptop:hidden desktop:mt-[16px]\"\n />\n </div>\n <a href={ctaLink} className=\"product-hero__cta-link\">\n <Button className=\"product-hero__cta-button w-fit\">{ctaText}</Button>\n </a>\n </div>\n <Picture\n className=\"product-hero__image aspect-[358/360] flex-shrink tablet:aspect-[824/640] tablet:basis-[58%] laptop:basis-[64%]\"\n source={`${poster.url}, ${mobPoster.url} 768`}\n />\n </section>\n )\n})\n\nProductHero.displayName = 'ProductHero'\n\nexport default withLayout(ProductHero)\n"],
|
|
5
|
+
"mappings": "aAmCQ,OACE,OAAAA,EADF,QAAAC,MAAA,oBAlCR,OAAOC,GAAS,UAAAC,EAAQ,uBAAAC,MAA2B,QACnD,OAAS,WAAAC,EAAS,UAAAC,EAAQ,WAAAC,EAAS,QAAAC,MAAY,4BAC/C,OAAS,MAAAC,MAAU,yBACnB,OAAS,cAAAC,MAAkB,yBAC3B,OAAS,eAAAC,MAAmB,6BAG5B,MAAMC,EAAgB,QAChBC,EAAgB,eAEhBC,EAAcZ,EAAM,WAA6C,CAAC,CAAE,KAAAa,EAAM,UAAAC,CAAU,EAAGC,IAAQ,CACnG,KAAM,CAAE,MAAAC,EAAO,SAAAC,EAAU,QAAAC,EAAS,OAAAC,EAAQ,UAAAC,EAAW,QAAAC,CAAQ,EAAIR,EAE3DS,EAASrB,EAAuB,IAAI,EAE1C,OAAAQ,EAAYa,EAAQ,CAClB,cAAAZ,EACA,cAAAC,EACA,eAAgBK,EAChB,qBAAsBC,CACxB,CAAC,EAEDf,EAAoBa,EAAK,IAAMO,EAAO,OAAyB,EAG7DvB,EAAC,WACC,IAAKuB,EACL,uBAAqB,cACrB,UAAWf,EACT,oIACAO,CACF,EAEA,UAAAf,EAAC,OAAI,UAAU,0GACb,UAAAA,EAAC,OAAI,UAAU,qBACb,UAAAD,EAACK,EAAA,CAAQ,GAAI,KAAM,KAAM,EAAG,KAAMa,EAAO,UAAU,sBAAsB,EACzElB,EAACK,EAAA,CACC,GAAI,KACJ,KAAM,EACN,KAAMc,EACN,UAAU,yHACZ,EACAnB,EAACQ,EAAA,CACC,GAAI,IACJ,KAAM,EACN,KAAMW,EACN,UAAU,wHACZ,GACF,EACAnB,EAAC,KAAE,KAAMuB,EAAS,UAAU,yBAC1B,SAAAvB,EAACM,EAAA,CAAO,UAAU,iCAAkC,SAAAc,EAAQ,EAC9D,GACF,EACApB,EAACO,EAAA,CACC,UAAU,iHACV,OAAQ,GAAGc,EAAO,GAAG,KAAKC,EAAU,GAAG,OACzC,GACF,CAEJ,CAAC,EAEDR,EAAY,YAAc,cAE1B,IAAOW,EAAQf,EAAWI,CAAW",
|
|
6
|
+
"names": ["jsx", "jsxs", "React", "useRef", "useImperativeHandle", "Heading", "Button", "Picture", "Text", "cn", "withLayout", "useExposure", "componentType", "componentName", "ProductHero", "data", "className", "ref", "title", "subtitle", "ctaText", "poster", "mobPoster", "ctaLink", "boxRef", "ProductHero_default"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/biz-components/ProductHero/index.ts"],
|
|
4
|
+
"sourcesContent": ["export { default } from './ProductHero.js'\nexport type { ProductHeroProps } from './types.js'\n"],
|
|
5
|
+
"mappings": "AAAA,OAAS,WAAAA,MAAe",
|
|
6
|
+
"names": ["default"]
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use client";import{jsx as o,jsxs as i}from"react/jsx-runtime";import S,{useRef as u,useImperativeHandle as E,useState as C}from"react";import{Heading as v}from"../../components/index.js";import{cn as l}from"../../helpers/utils.js";import{withLayout as H}from"../../shared/Styles.js";import{useExposure as L}from"../../hooks/useExposure.js";const M="specs",R="specs_comparison",f=S.forwardRef(({data:_,className:b},g)=>{const{LeftMenu:n,RightMenu:c}=_||{},[w,h]=C(""),m=u({}),r=u(null);L(r,{componentType:M,componentName:R,componentTitle:"Specs Comparison"}),E(g,()=>r.current);const p=e=>e?o("div",{className:"specs-comparison__value-wrapper break-all",children:o("p",{className:"specs-comparison__value text-sm font-bold text-[#1D1D1F] min-xl:text-base min-xxl:text-lg",dangerouslySetInnerHTML:{__html:e||""}})}):null,N=e=>e.map((s,a)=>{const F=a===0,d=c?.menus?.[0]?.subTitle,t=c?.menus?.[1]?.subTitle,T=t&&t[s],D=/^[✅❌]$/,x=T&&(t[s]!==d?.[s]||D.test(t[s]));return i("div",{className:l("specs-comparison__row box-border flex w-full overflow-hidden border-t border-t-[#E4E5E6] l:flex-col",F&&"specs-comparison__row--first border-t-0"),children:[o(v,{as:"h3",html:s||"",className:"specs-comparison__spec-label mr-4 flex-1 pt-4 text-base font-bold text-[#000000] l:text-lg min-l:min-w-[216px] min-l:max-w-[216px] min-xl:min-w-[268px] min-xl:max-w-[268px] min-xl:p-6 min-xxl:min-w-[356px] min-xxl:max-w-[356px] min-xxl:text-lg"}),i("div",{className:l("specs-comparison__values-grid grid flex-1 place-self-center pb-4 pt-2 l:w-full l:gap-4 min-l:gap-8 min-xl:gap-12 min-xl:p-6 min-xxl:gap-16",x?"specs-comparison__values-grid--double grid-cols-2":"specs-comparison__values-grid--single grid-cols-1"),children:[p(d?.[s]),x&&p(t?.[s])]})]},s)}),y=e=>{const{subTitle:s}=e;return N(s)};return o("div",{ref:r,"data-ui-component-id":"SpecsComparison",className:l("specs-comparison w-full overflow-hidden bg-[#F5F5F7]",b),children:o("div",{className:"specs-comparison__container container mx-auto",children:n?.data?i("div",{className:"specs-comparison__wrapper my-16 box-border flex w-full overflow-hidden min-l:mb-24 min-xl:mb-32",children:[n.data.length>1?o("div",{className:"specs-comparison__sidebar flex l:hidden min-l:mr-6 min-xl:mr-12",children:o("div",{className:"specs-comparison__nav box-border overflow-hidden min-l:w-[196px] min-xl:w-[284px] min-xxl:w-[356px]",children:n.data.map(e=>o("div",{onClick:()=>{h(e.title),m.current[e.title]?.scrollIntoView({behavior:"smooth"})},title:e.title||"",className:l("specs-comparison__nav-item box-border cursor-pointer overflow-hidden truncate rounded-lg px-6 py-2 text-base font-bold leading-9 text-[#1D1D1F] min-xxl:py-4 min-xxl:text-lg",w===e.title&&"specs-comparison__nav-item--active bg-[#FFFFFF]"),children:e.title||""},e.title))})}):null,o("div",{className:"specs-comparison__content box-border flex-1 overflow-hidden",children:o("div",{className:"specs-comparison__sections w-full",children:n.data.map((e,s)=>i("div",{className:"specs-comparison__section w-full overflow-hidden pt-10 first:pt-0",ref:a=>{m.current[e.title]=a},children:[e.title&&o(v,{as:"h2",className:"specs-comparison__section-title mb-6 text-2xl font-bold min-l:text-[32px]",html:e.title||""}),y(e)]},s))})})]}):null})})});f.displayName="SpecsComparison";var q=H(f);export{q as default};
|
|
2
|
+
//# sourceMappingURL=SpecsComparison.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/biz-components/SpecsComparison/SpecsComparison.tsx"],
|
|
4
|
+
"sourcesContent": ["'use client'\nimport React, { useRef, useImperativeHandle, useState } from 'react'\nimport { Heading, Text } from '../../components/index.js'\nimport { cn } from '../../helpers/utils.js'\nimport { withLayout } from '../../shared/Styles.js'\nimport { useExposure } from '../../hooks/useExposure.js'\nimport type { SpecsComparisonProps } from './types.js'\n\nconst componentType = 'specs'\nconst componentName = 'specs_comparison'\n\nconst SpecsComparison = React.forwardRef<HTMLDivElement, SpecsComparisonProps>(\n ({ data, className }, ref) => {\n const { LeftMenu, RightMenu } = data || {}\n const [selectItem, setSelectItem] = useState('')\n const refs = useRef<Record<string, HTMLDivElement | null>>({})\n\n const boxRef = useRef<HTMLDivElement>(null)\n\n useExposure(boxRef, {\n componentType,\n componentName,\n componentTitle: 'Specs Comparison',\n })\n\n useImperativeHandle(ref, () => boxRef.current as HTMLDivElement)\n\n const normalNode = (v: string) => {\n if (!v) return null\n return (\n <div className=\"specs-comparison__value-wrapper break-all\">\n <p\n className=\"specs-comparison__value text-sm font-bold text-[#1D1D1F] min-xl:text-base min-xxl:text-lg\"\n dangerouslySetInnerHTML={{\n __html: v || '',\n }}\n />\n </div>\n )\n }\n\n const productNode = (subTitle: string[]) => {\n return subTitle.map((st, idx) => {\n const isFirstParameter = idx === 0\n const leftData = RightMenu?.menus?.[0]?.subTitle\n const rightData = RightMenu?.menus?.[1]?.subTitle\n const hasRightData = rightData && rightData[st]\n const reg = /^[\u2705\u274C]$/\n const isSame =\n hasRightData &&\n (rightData[st] !== leftData?.[st] || reg.test(rightData[st]))\n\n return (\n <div\n key={st}\n className={cn(\n 'specs-comparison__row box-border flex w-full overflow-hidden border-t border-t-[#E4E5E6] l:flex-col',\n isFirstParameter && 'specs-comparison__row--first border-t-0'\n )}\n >\n <Heading\n as=\"h3\"\n html={st || ''}\n className=\"specs-comparison__spec-label mr-4 flex-1 pt-4 text-base font-bold text-[#000000] l:text-lg min-l:min-w-[216px] min-l:max-w-[216px] min-xl:min-w-[268px] min-xl:max-w-[268px] min-xl:p-6 min-xxl:min-w-[356px] min-xxl:max-w-[356px] min-xxl:text-lg\"\n />\n <div\n className={cn(\n 'specs-comparison__values-grid grid flex-1 place-self-center pb-4 pt-2 l:w-full l:gap-4 min-l:gap-8 min-xl:gap-12 min-xl:p-6 min-xxl:gap-16',\n isSame ? 'specs-comparison__values-grid--double grid-cols-2' : 'specs-comparison__values-grid--single grid-cols-1'\n )}\n >\n {normalNode(leftData?.[st])}\n {isSame && normalNode(rightData?.[st])}\n </div>\n </div>\n )\n })\n }\n\n const childrenNode = (node: { subTitle: string[]; isProduct?: boolean }) => {\n const { subTitle } = node\n return productNode(subTitle)\n }\n\n return (\n <div\n ref={boxRef}\n data-ui-component-id=\"SpecsComparison\"\n className={cn('specs-comparison w-full overflow-hidden bg-[#F5F5F7]', className)}\n >\n <div className=\"specs-comparison__container container mx-auto\">\n {LeftMenu?.data ? (\n <div className=\"specs-comparison__wrapper my-16 box-border flex w-full overflow-hidden min-l:mb-24 min-xl:mb-32\">\n {LeftMenu.data.length > 1 ? (\n <div className=\"specs-comparison__sidebar flex l:hidden min-l:mr-6 min-xl:mr-12\">\n <div className=\"specs-comparison__nav box-border overflow-hidden min-l:w-[196px] min-xl:w-[284px] min-xxl:w-[356px]\">\n {LeftMenu.data.map((item) => {\n return (\n <div\n key={item.title}\n onClick={() => {\n setSelectItem(item.title)\n const el = refs.current[item.title]\n el?.scrollIntoView({ behavior: 'smooth' })\n }}\n title={item.title || ''}\n className={cn(\n 'specs-comparison__nav-item box-border cursor-pointer overflow-hidden truncate rounded-lg px-6 py-2 text-base font-bold leading-9 text-[#1D1D1F] min-xxl:py-4 min-xxl:text-lg',\n selectItem === item.title && 'specs-comparison__nav-item--active bg-[#FFFFFF]'\n )}\n >\n {item.title || ''}\n </div>\n )\n })}\n </div>\n </div>\n ) : null}\n <div className=\"specs-comparison__content box-border flex-1 overflow-hidden\">\n <div className=\"specs-comparison__sections w-full\">\n {LeftMenu.data.map((item, index) => {\n return (\n <div\n key={index}\n className=\"specs-comparison__section w-full overflow-hidden pt-10 first:pt-0\"\n ref={(r) => {\n refs.current[item.title] = r\n }}\n >\n {item.title && (\n <Heading\n as=\"h2\"\n className=\"specs-comparison__section-title mb-6 text-2xl font-bold min-l:text-[32px]\"\n html={item.title || ''}\n />\n )}\n {childrenNode(item)}\n </div>\n )\n })}\n </div>\n </div>\n </div>\n ) : null}\n </div>\n </div>\n )\n }\n)\n\nSpecsComparison.displayName = 'SpecsComparison'\n\nexport default withLayout(SpecsComparison)\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["jsx", "jsxs", "React", "useRef", "useImperativeHandle", "useState", "Heading", "cn", "withLayout", "useExposure", "componentType", "componentName", "SpecsComparison", "data", "className", "ref", "LeftMenu", "RightMenu", "selectItem", "setSelectItem", "refs", "boxRef", "normalNode", "v", "productNode", "subTitle", "st", "idx", "isFirstParameter", "leftData", "rightData", "hasRightData", "reg", "isSame", "childrenNode", "node", "item", "index", "r", "SpecsComparison_default"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/biz-components/SpecsComparison/index.ts"],
|
|
4
|
+
"sourcesContent": ["export { default } from './SpecsComparison.js'\nexport type {\n SpecsComparisonProps,\n SpecsComparisonMenuItem,\n SpecsComparisonLeftMenuItem,\n} from './types.js'\n"],
|
|
5
|
+
"mappings": "AAAA,OAAS,WAAAA,MAAe",
|
|
6
|
+
"names": ["default"]
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use client";import{jsx as a,jsxs as s}from"react/jsx-runtime";import T,{useState as d,useEffect as N,useRef as x,useImperativeHandle as I}from"react";import{Heading as b,Picture as k,Text as D}from"../../components/index.js";import{cn as f}from"../../helpers/utils.js";import{withLayout as E}from"../../shared/Styles.js";import{useExposure as H}from"../../hooks/useExposure.js";import{motion as L,AnimatePresence as M}from"framer-motion";const W="image",P="tab_with_image",g=T.forwardRef(({data:h,className:u},w)=>{const{title:n,subtitle:R,desc:p,image:z,mobileImage:A,datalist:e=[]}=h,o=x(null);H(o,{componentType:W,componentName:P,componentTitle:n,componentDescription:p}),I(w,()=>o.current);const v=(m,i)=>{_(m),i.target.scrollIntoView({behavior:"smooth",inline:"center",block:"nearest"})},[t,_]=d(0),r=x([]),[c,y]=d({left:0,width:0});return N(()=>{const m=r.current[t];if(m){const{offsetLeft:i,offsetWidth:l}=m;y({left:i,width:l})}},[t,e.length]),s("section",{ref:o,"data-ui-component-id":"TabWithImage",className:f("tab-with-image flex text-[#fff] l:gap-[24px] xl:flex-col min-md:justify-between min-l:gap-[20px]",u),children:[s("div",{className:"tab-with-image__content inline-flex flex-col justify-center min-md:gap-[24px] laptop:basis-[36%]",children:[s("div",{className:"tab-with-image__header",children:[a(b,{as:"h3",size:4,html:n,className:"tab-with-image__title"}),a(D,{as:"p",size:1,html:p,className:"tab-with-image__description mt-[4px] text-[14px] tablet:text-[14px] laptop:text-[14px] desktop:text-[16px] lg-desktop:text-[18px]"})]}),a("div",{className:"tab-with-image__tabs-wrapper relative md:overflow-hidden md:overflow-x-scroll md:scrollbar-hidden",children:s("div",{className:"tab-with-image__tabs relative inline-flex rounded-[24px] bg-[#1D1D1F] px-[4px] md:my-[24px]",children:[a("div",{className:"tab-with-image__slider absolute bottom-0 top-0 rounded-[24px] bg-white transition-all duration-300 ease-in-out",style:{left:c.left,width:c.width}}),e.map((m,i)=>a("div",{ref:l=>{r.current[i]=l},onClick:l=>v(i,l),className:f("tab-with-image__tab relative z-10 cursor-pointer rounded-[24px] px-[20px] py-[10px] text-center text-[12px] font-medium transition-colors duration-300 md:px-[20px] md:py-[10px] min-xxl:px-[28px] min-xxl:py-[15px]",t===i?"tab-with-image__tab--active text-black":"text-white"),children:a(b,{as:"h1",size:1,html:m?.title,className:"tab-with-image__tab-title text-balance-normal !whitespace-nowrap md:text-[14px]"})},i))]})})]}),a("div",{className:"tab-with-image__image-wrapper relative w-full flex-shrink md:aspect-[358/360] min-xxl:aspect-[824/560] min-xxl:max-w-[824px] tablet:aspect-[704/360] laptop:aspect-[744/336] laptop:basis-[64%] desktop:aspect-[648/448]",children:a(M,{mode:"wait",children:e[t]&&a(L.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.3},className:"tab-with-image__image-motion absolute left-0 top-0 w-full",children:a(k,{source:`${e[t].image.url} ,${e[t].imgPad?.url||e[t].image.url} 1440, ${e[t].imageMob?.url||e[t].image.url} 767`,alt:e[t].image.alt,className:"tab-with-image__image rounded-[16px] md:aspect-[358/360] min-xxl:aspect-[824/560] min-xxl:max-w-[824px] tablet:aspect-[704/360] laptop:aspect-[744/336] desktop:aspect-[648/448] "})},e[t].image.url)})})]})});g.displayName="TabWithImage";var q=E(g);export{q as default};
|
|
2
|
+
//# sourceMappingURL=TabWithImage.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/biz-components/TabWithImage/TabWithImage.tsx"],
|
|
4
|
+
"sourcesContent": ["'use client'\nimport React, { useState, useEffect, useRef, useImperativeHandle } from 'react'\nimport { Heading, Picture, Text } from '../../components/index.js'\nimport { cn } from '../../helpers/utils.js'\nimport { withLayout } from '../../shared/Styles.js'\nimport { useExposure } from '../../hooks/useExposure.js'\nimport type { TabWithImageProps, TabWithImageDataItem } from './types.js'\nimport { motion, AnimatePresence } from 'framer-motion'\n\nconst componentType = 'image'\nconst componentName = 'tab_with_image'\n\nconst TabWithImage = React.forwardRef<HTMLDivElement, TabWithImageProps>(({ data, className }, ref) => {\n const { title, subtitle, desc, image, mobileImage, datalist = [] } = data\n\n const boxRef = useRef<HTMLDivElement>(null)\n\n useExposure(boxRef, {\n componentType,\n componentName,\n componentTitle: title,\n componentDescription: desc,\n })\n\n useImperativeHandle(ref, () => boxRef.current as HTMLDivElement)\n\n const handleClick = (index: number, e: React.MouseEvent<HTMLDivElement>) => {\n setActiveIndex(index)\n ;(e.target as HTMLElement).scrollIntoView({\n behavior: 'smooth', // \u5E73\u6ED1\u6EDA\u52A8\n inline: 'center', // \u6A2A\u5411\u5C45\u4E2D\u5BF9\u9F50\n block: 'nearest', // \u5782\u76F4\u65B9\u5411\u4E0D\u52A8\n })\n }\n\n const [activeIndex, setActiveIndex] = useState(0)\n const tabRefs = useRef<Array<HTMLDivElement | null>>([]) // \u8BB0\u5F55\u6BCF\u4E2Atab\u7684\u4F4D\u7F6E\n const [sliderStyle, setSliderStyle] = useState({ left: 0, width: 0 })\n\n useEffect(() => {\n const current = tabRefs.current[activeIndex]\n if (current) {\n const { offsetLeft, offsetWidth } = current\n setSliderStyle({ left: offsetLeft, width: offsetWidth })\n }\n }, [activeIndex, datalist.length])\n\n return (\n <section\n ref={boxRef}\n data-ui-component-id=\"TabWithImage\"\n className={cn(\n 'tab-with-image flex text-[#fff] l:gap-[24px] xl:flex-col min-md:justify-between min-l:gap-[20px]',\n className\n )}\n >\n <div className=\"tab-with-image__content inline-flex flex-col justify-center min-md:gap-[24px] laptop:basis-[36%]\">\n <div className=\"tab-with-image__header\">\n <Heading as={'h3'} size={4} html={title} className=\"tab-with-image__title\" />\n <Text\n as={'p'}\n size={1}\n html={desc}\n className=\"tab-with-image__description mt-[4px] text-[14px] tablet:text-[14px] laptop:text-[14px] desktop:text-[16px] lg-desktop:text-[18px]\"\n />\n </div>\n\n <div className=\"tab-with-image__tabs-wrapper relative md:overflow-hidden md:overflow-x-scroll md:scrollbar-hidden\">\n <div className=\"tab-with-image__tabs relative inline-flex rounded-[24px] bg-[#1D1D1F] px-[4px] md:my-[24px]\">\n {/* \u6ED1\u52A8\u80CC\u666F */}\n <div\n className=\"tab-with-image__slider absolute bottom-0 top-0 rounded-[24px] bg-white transition-all duration-300 ease-in-out\"\n style={{\n left: sliderStyle.left,\n width: sliderStyle.width,\n }}\n />\n\n {/* Tab Items */}\n {datalist.map((item: TabWithImageDataItem, index: number) => (\n <div\n key={index}\n ref={el => {\n tabRefs.current[index] = el\n }}\n onClick={e => handleClick(index, e)}\n className={cn(\n 'tab-with-image__tab relative z-10 cursor-pointer rounded-[24px] px-[20px] py-[10px] text-center text-[12px] font-medium transition-colors duration-300 md:px-[20px] md:py-[10px] min-xxl:px-[28px] min-xxl:py-[15px]',\n activeIndex === index ? 'tab-with-image__tab--active text-black' : 'text-white'\n )}\n >\n <Heading\n as=\"h1\"\n size={1}\n html={item?.title}\n className=\"tab-with-image__tab-title text-balance-normal !whitespace-nowrap md:text-[14px]\"\n />\n </div>\n ))}\n </div>\n </div>\n </div>\n <div className=\"tab-with-image__image-wrapper relative w-full flex-shrink md:aspect-[358/360] min-xxl:aspect-[824/560] min-xxl:max-w-[824px] tablet:aspect-[704/360] laptop:aspect-[744/336] laptop:basis-[64%] desktop:aspect-[648/448]\">\n <AnimatePresence mode=\"wait\">\n {datalist[activeIndex] && (\n <motion.div\n key={datalist[activeIndex].image.url}\n {...({\n initial: { opacity: 0 },\n animate: { opacity: 1 },\n exit: { opacity: 0 },\n transition: { duration: 0.3 },\n } as any)}\n className=\"tab-with-image__image-motion absolute left-0 top-0 w-full\"\n >\n <Picture\n source={`${datalist[activeIndex].image.url} ,${datalist[activeIndex].imgPad?.url || datalist[activeIndex].image.url} 1440, ${datalist[activeIndex].imageMob?.url || datalist[activeIndex].image.url} 767`}\n alt={datalist[activeIndex].image.alt}\n className=\"tab-with-image__image rounded-[16px] md:aspect-[358/360] min-xxl:aspect-[824/560] min-xxl:max-w-[824px] tablet:aspect-[704/360] laptop:aspect-[744/336] desktop:aspect-[648/448] \"\n />\n </motion.div>\n )}\n </AnimatePresence>\n </div>\n </section>\n )\n})\n\nTabWithImage.displayName = 'TabWithImage'\n\nexport default withLayout(TabWithImage)\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["jsx", "jsxs", "React", "useState", "useEffect", "useRef", "useImperativeHandle", "Heading", "Picture", "Text", "cn", "withLayout", "useExposure", "motion", "AnimatePresence", "componentType", "componentName", "TabWithImage", "data", "className", "ref", "title", "subtitle", "desc", "image", "mobileImage", "datalist", "boxRef", "handleClick", "index", "e", "setActiveIndex", "activeIndex", "tabRefs", "sliderStyle", "setSliderStyle", "current", "offsetLeft", "offsetWidth", "item", "el", "TabWithImage_default"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/biz-components/TabWithImage/index.ts"],
|
|
4
|
+
"sourcesContent": ["export { default } from './TabWithImage.js'\nexport type { TabWithImageProps, TabWithImageDataItem } from './types.js'\n"],
|
|
5
|
+
"mappings": "AAAA,OAAS,WAAAA,MAAe",
|
|
6
|
+
"names": ["default"]
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use client";import{jsx as e,jsxs as t}from"react/jsx-runtime";import{withLayout as
|
|
1
|
+
"use client";import{jsx as e,jsxs as t}from"react/jsx-runtime";import{withLayout as b}from"../../shared/Styles.js";import*as i from"../../components/tabs.js";import{cn as n}from"../../helpers/index.js";import u from"react";import y from"../ShelfDisplay/index.js";import d from"../AccordionCards/index.js";import k from"../Faq/index.js";import N from"../MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js";import h from"../Title/index.js";import g from"../Graphic/index.js";const v=u.forwardRef(({data:o,className:m},l)=>{const{theme:c,shape:p,align:T,tabs:r=[],sectionTitle:s}=o,f=a=>a?.blockType==="ipc-shelfdisplay"?e(y,{data:a}):a?.blockType==="ipc-multiLayoutGraphicBlock"?e(N,{data:a}):a?.blockType==="ipc-accordioncards"?e(d,{data:a}):a?.blockType==="ipc-faq"?e(k,{data:a}):a?.blockType==="ipc-graphic"?e(g,{data:a}):null;return t("section",{ref:l,className:n(c==="dark"?"aiui-dark":"",m),children:[s&&e(h,{className:"section-title",data:{title:s}}),t(i.Tabs,{shape:p,align:T,defaultValue:r?.[0]?.tabName,children:[e(i.TabsList,{className:"tabs-list",children:(Array.isArray(r)?r:[])?.map(a=>e(i.TabsTrigger,{value:a.tabName,className:"tabs-trigger",children:a.tabName},a.tabName))}),(Array.isArray(r)?r:[])?.map(a=>e(i.TabsContent,{value:a.tabName,className:"tabs-content",children:a.tabContent?.[0]?f(a.tabContent?.[0]):null},a.tabName))]})]})});var M=b(v);export{M as default};
|
|
2
2
|
//# sourceMappingURL=Tabs.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/biz-components/Tabs/Tabs.tsx"],
|
|
4
|
-
"sourcesContent": ["'use client'\nimport { withLayout } from '../../shared/Styles.js'\nimport * as TabsPrimitive from '../../components/tabs.js'\nimport { cn } from '../../helpers/index.js'\nimport type { TabsProps } from './types.js'\nimport React from 'react'\nimport ShelfDisplay from '../ShelfDisplay/index.js'\nimport AccordionCards from '../AccordionCards/index.js'\nimport Faq from '../Faq/index.js'\nimport MultiLayoutGraphicBlock from '../MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js'\nimport Title from '../Title/index.js'\nimport Graphic from '../Graphic/index.js'\n\nconst Tabs = React.forwardRef<HTMLDivElement, TabsProps>(({ data, className }, forwardedRef) => {\n const { theme, shape, align, tabs, sectionTitle } = data\n\n const renderTabContent = (tabContent:
|
|
5
|
-
"mappings": "aAkBa,cAAAA,EAiBP,QAAAC,MAjBO,oBAjBb,OAAS,cAAAC,MAAkB,yBAC3B,UAAYC,MAAmB,2BAC/B,OAAS,MAAAC,MAAU,yBAEnB,OAAOC,MAAW,QAClB,OAAOC,MAAkB,2BACzB,OAAOC,MAAoB,6BAC3B,OAAOC,MAAS,kBAChB,OAAOC,MAA6B,wDACpC,OAAOC,MAAW,oBAClB,OAAOC,MAAa,sBAEpB,MAAMC,EAAOP,EAAM,WAAsC,CAAC,CAAE,KAAAQ,EAAM,UAAAC,CAAU,EAAGC,IAAiB,CAC9F,KAAM,CAAE,MAAAC,EAAO,MAAAC,EAAO,MAAAC,EAAO,KAAAC,
|
|
4
|
+
"sourcesContent": ["'use client'\nimport { withLayout } from '../../shared/Styles.js'\nimport * as TabsPrimitive from '../../components/tabs.js'\nimport { cn } from '../../helpers/index.js'\nimport type { TabContentItem, TabsProps } from './types.js'\nimport React from 'react'\nimport ShelfDisplay from '../ShelfDisplay/index.js'\nimport AccordionCards from '../AccordionCards/index.js'\nimport Faq from '../Faq/index.js'\nimport MultiLayoutGraphicBlock from '../MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js'\nimport Title from '../Title/index.js'\nimport Graphic from '../Graphic/index.js'\n\nconst Tabs = React.forwardRef<HTMLDivElement, TabsProps>(({ data, className }, forwardedRef) => {\n const { theme, shape, align, tabs = [], sectionTitle } = data\n\n const renderTabContent = (tabContent: TabContentItem) => {\n if (tabContent?.blockType === 'ipc-shelfdisplay') {\n return <ShelfDisplay data={tabContent} />\n } else if (tabContent?.blockType === 'ipc-multiLayoutGraphicBlock') {\n return <MultiLayoutGraphicBlock data={tabContent} />\n } else if (tabContent?.blockType === 'ipc-accordioncards') {\n return <AccordionCards data={tabContent} />\n } else if (tabContent?.blockType === 'ipc-faq') {\n return <Faq data={tabContent} />\n } else if (tabContent?.blockType === 'ipc-graphic') {\n return <Graphic data={tabContent} />\n } else {\n return null\n }\n }\n\n return (\n <section ref={forwardedRef} className={cn(theme === 'dark' ? 'aiui-dark' : '', className)}>\n {sectionTitle && <Title className=\"section-title\" data={{ title: sectionTitle }} />}\n <TabsPrimitive.Tabs shape={shape} align={align} defaultValue={tabs?.[0]?.tabName}>\n <TabsPrimitive.TabsList className=\"tabs-list\">\n {(Array.isArray(tabs) ? tabs : [])?.map(tab => (\n <TabsPrimitive.TabsTrigger key={tab.tabName} value={tab.tabName} className=\"tabs-trigger\">\n {tab.tabName}\n </TabsPrimitive.TabsTrigger>\n ))}\n </TabsPrimitive.TabsList>\n {(Array.isArray(tabs)\n ? tabs\n : [])?.map((tab: any) => (\n <TabsPrimitive.TabsContent key={tab.tabName} value={tab.tabName} className=\"tabs-content\">\n {tab.tabContent?.[0] ? renderTabContent(tab.tabContent?.[0]) : null}\n </TabsPrimitive.TabsContent>\n ))}\n </TabsPrimitive.Tabs>\n </section>\n )\n})\n\nexport default withLayout(Tabs)\n"],
|
|
5
|
+
"mappings": "aAkBa,cAAAA,EAiBP,QAAAC,MAjBO,oBAjBb,OAAS,cAAAC,MAAkB,yBAC3B,UAAYC,MAAmB,2BAC/B,OAAS,MAAAC,MAAU,yBAEnB,OAAOC,MAAW,QAClB,OAAOC,MAAkB,2BACzB,OAAOC,MAAoB,6BAC3B,OAAOC,MAAS,kBAChB,OAAOC,MAA6B,wDACpC,OAAOC,MAAW,oBAClB,OAAOC,MAAa,sBAEpB,MAAMC,EAAOP,EAAM,WAAsC,CAAC,CAAE,KAAAQ,EAAM,UAAAC,CAAU,EAAGC,IAAiB,CAC9F,KAAM,CAAE,MAAAC,EAAO,MAAAC,EAAO,MAAAC,EAAO,KAAAC,EAAO,CAAC,EAAG,aAAAC,CAAa,EAAIP,EAEnDQ,EAAoBC,GACpBA,GAAY,YAAc,mBACrBtB,EAACM,EAAA,CAAa,KAAMgB,EAAY,EAC9BA,GAAY,YAAc,8BAC5BtB,EAACS,EAAA,CAAwB,KAAMa,EAAY,EACzCA,GAAY,YAAc,qBAC5BtB,EAACO,EAAA,CAAe,KAAMe,EAAY,EAChCA,GAAY,YAAc,UAC5BtB,EAACQ,EAAA,CAAI,KAAMc,EAAY,EACrBA,GAAY,YAAc,cAC5BtB,EAACW,EAAA,CAAQ,KAAMW,EAAY,EAE3B,KAIX,OACErB,EAAC,WAAQ,IAAKc,EAAc,UAAWX,EAAGY,IAAU,OAAS,YAAc,GAAIF,CAAS,EACrF,UAAAM,GAAgBpB,EAACU,EAAA,CAAM,UAAU,gBAAgB,KAAM,CAAE,MAAOU,CAAa,EAAG,EACjFnB,EAACE,EAAc,KAAd,CAAmB,MAAOc,EAAO,MAAOC,EAAO,aAAcC,IAAO,CAAC,GAAG,QACvE,UAAAnB,EAACG,EAAc,SAAd,CAAuB,UAAU,YAC9B,gBAAM,QAAQgB,CAAI,EAAIA,EAAO,CAAC,IAAI,IAAII,GACtCvB,EAACG,EAAc,YAAd,CAA4C,MAAOoB,EAAI,QAAS,UAAU,eACxE,SAAAA,EAAI,SADyBA,EAAI,OAEpC,CACD,EACH,GACE,MAAM,QAAQJ,CAAI,EAChBA,EACA,CAAC,IAAI,IAAKI,GACRvB,EAACG,EAAc,YAAd,CAA4C,MAAOoB,EAAI,QAAS,UAAU,eACxE,SAAAA,EAAI,aAAa,CAAC,EAAIF,EAAiBE,EAAI,aAAa,CAAC,CAAC,EAAI,MADjCA,EAAI,OAEpC,CACD,GACP,GACF,CAEJ,CAAC,EAED,IAAOC,EAAQtB,EAAWU,CAAI",
|
|
6
6
|
"names": ["jsx", "jsxs", "withLayout", "TabsPrimitive", "cn", "React", "ShelfDisplay", "AccordionCards", "Faq", "MultiLayoutGraphicBlock", "Title", "Graphic", "Tabs", "data", "className", "forwardedRef", "theme", "shape", "align", "tabs", "sectionTitle", "renderTabContent", "tabContent", "tab", "Tabs_default"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use client";import{jsx as s,jsxs as S}from"react/jsx-runtime";import F,{useEffect as A,useImperativeHandle as B,useMemo as V,useRef as f,useState as b}from"react";import{Heading as L,Picture as q,Text as O}from"../../components/index.js";import{cn as p}from"../../helpers/utils.js";import{withLayout as Q}from"../../shared/Styles.js";import{useExposure as U}from"../../hooks/useExposure.js";import{Swiper as G,SwiperSlide as J}from"swiper/react";import{Pagination as K,EffectFade as X}from"swiper/modules";import{motion as Y,AnimatePresence as Z}from"framer-motion";import{useMediaQuery as $}from"react-responsive";const ee="video",te="tabs_with_media",ie=[{time:2.4,point:2.4,highlightIdx:0},{time:2.5,point:4.9,highlightIdx:1},{time:2.5,point:7.4,highlightIdx:2},{time:2.8,point:10.2,highlightIdx:3},{time:2.6,point:12.8,highlightIdx:4},{time:3.2,point:16,highlightIdx:5}],M=F.forwardRef(({data:E,className:R},C)=>{const{title:v,poster:D,video:H,mobvideo:P,items:m=[],timeIdx:r=ie}=E,[g,W]=b(null),y=f([]),_=f(null),u=f(null),x=f(null);U(x,{componentType:ee,componentName:te,componentTitle:v}),B(C,()=>x.current);const se=e=>{const i=_.current,n=y.current[e];if(i&&n){const t=i.getBoundingClientRect(),o=n.getBoundingClientRect().left-t.left-i.clientWidth/2+n.clientWidth/2;i.scrollTo({left:i.scrollLeft+o,behavior:"smooth"})}},T=$({query:"(max-width: 768px)"}),[ae,w,z,c,j]=V(()=>{const n=m.length,t=m?.map((l,o)=>({...l,key:o,index:o}))||[],a=m?.map((l,o)=>({...l,key:o+n,index:o}))||[];return[t,t.concat(a),5,2,n]},[m,T]),[h,k]=b(c),[d,I]=b(w.slice(0,z)),N=(e,i,n)=>{if(e!==h&&i!==c){if(i>c){const t=i-c,a=[...d];a.splice(0,t);const l=d[d.length-1]?.key+1,o=[...w].splice(l,t);a.push(...o),I([...a])}if(i<c){const t=c-i,a=[...d];a.splice(-t);const l=d[0]?.key,o=[...w].splice(j+l-t,t);a.unshift(...o),I([...a])}if(k(e),g?.slideTo(e),!n){let t=0;r.forEach(a=>{a.highlightIdx<e&&(t+=a.time)}),u.current&&(u.current.currentTime=t)}}};return A(()=>{const e=u.current;if(!e)return;const i=()=>{const n=e.currentTime;for(let t=0;t<r.length;t++){const a=t===0?0:r[t-1].point;if(n>=a&&n<r[t].point){N(r[t].highlightIdx,r[t].highlightIdx,!0);break}}n>=r[r.length-1].point&&(e.currentTime=0,e.play())};return e.addEventListener("timeupdate",i),()=>{e.removeEventListener("timeupdate",i)}},[g,r]),S("section",{ref:x,"data-ui-component-id":"TabsWithMedia",className:p("tabs-with-media flex flex-col overflow-hidden text-[#fff] sm:overflow-visible",R),children:[s(L,{as:"h3",size:4,html:v,className:"tabs-with-media__title text-center"}),s("div",{className:"tabs-with-media__tabs-wrapper relative w-full overflow-x-auto scrollbar-hidden sm:overflow-visible",children:s("div",{className:p("tabs-with-media__tabs-inner mx-auto mt-[16px] w-full max-w-[824px] tablet:w-fit"),children:s("div",{className:p("tabs-with-media__tabs-container flex translate-x-0 items-center justify-center gap-[16px] transition-all md:gap-[8px]"),ref:_,children:s(Z,{mode:"popLayout",children:d?.map((e,i)=>s(Y.div,{layout:!0,ref:n=>{y.current[e?.index]=n},onClick:()=>{N(e?.key,i)},className:"tabs-with-media__tab-item min-w-[28px] flex-none cursor-pointer overflow-hidden sm:overflow-visible",initial:{opacity:1},animate:{opacity:1},exit:{opacity:0},transition:{duration:.3,ease:"easeOut"},children:s("div",{className:"tabs-with-media__tab-inner flex items-center justify-between",children:S("div",{className:p("tabs-with-media__tab-content flex",{"flex items-center justify-center gap-[8px] rounded-[48px] bg-[#fff] p-2 md:gap-[4px] md:p-1":h===e?.key}),children:[s("div",{className:p("tabs-with-media__tab-icon flex h-[28] w-[28] items-center justify-center rounded-full md:flex-shrink-0 lg-desktop:h-[48px] lg-desktop:w-[48px]",{"h-[28px] w-[28px] bg-[#ccc] bg-opacity-50 lg-desktop:h-[48px] lg-desktop:w-[48px]":h!==e?.index}),style:h===e?.key?{background:"var(--1, linear-gradient(90deg, #3AD1FF 0%, #008CD6 100%))"}:void 0,children:s(q,{source:e?.icon?.url,alt:e?.icon?.alt,className:"tabs-with-media__tab-icon-image h-[22px] w-[22px] md:h-[14px] md:w-[14px]"})}),s("div",{className:"tabs-with-media__tab-text-wrapper",children:s(L,{as:"h4",size:2,html:e?.tab,className:p("tabs-with-media__tab-text dynamic-width-heading line-clamp-1 h-0 w-0 overflow-hidden whitespace-nowrap text-nowrap text-[#000] opacity-0 transition-all duration-300 ease-linear xs:text-[16px] sm:text-[18px]",{"h-auto w-[calc-size(auto,size)] px-[6px] opacity-100":h===e?.key})})})]})})},e?.key))})})})}),s("div",{className:"tabs-with-media__description-container mt-[16px] lg-desktop:mt-[24px]",children:s(G,{slidesPerView:1,effect:"fade",fadeEffect:{crossFade:!0},modules:[K,X],onSlideChange:e=>{const i=e.realIndex;k(i)},onSwiper:e=>W(e),className:"tabs-with-media__description-swiper",children:m.map((e,i)=>s(J,{style:{transition:"opacity 1s ease-in-out"},className:"tabs-with-media__description-slide rounded-[26px]",children:s("div",{className:"tabs-with-media__description-content",children:s(O,{as:"p",size:2,html:e.desc,className:"tabs-with-media__description-text text-center desktop:text-[20px] lg-desktop:text-[18px]"})})},i))})}),s("div",{className:"tabs-with-media__video-wrapper mt-[24px] overflow-hidden rounded-[22px] laptop:mt-[32px] desktop:mt-[40px] lg-desktop:mt-[64px]",children:s("video",{className:"tabs-with-media__video mx-auto h-[360px] w-fit desktop:h-[448px] lg-desktop:h-[560px]",src:T?P?.url:H?.url,poster:D?.url,playsInline:!0,autoPlay:!0,muted:!0,loop:!0,ref:u})})]})});M.displayName="TabsWithMedia";var ue=Q(M);export{ue as default};
|
|
2
|
+
//# sourceMappingURL=TabsWithMedia.js.map
|