@anker-in/headless-ui 0.0.27-alpha.13 → 0.0.27-alpha.131
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/README.md +54 -7
- package/dist/cjs/biz-components/AccordionCards/index.d.ts +31 -19
- package/dist/cjs/biz-components/AccordionCards/index.js +1 -1
- package/dist/cjs/biz-components/AccordionCards/index.js.map +3 -3
- package/dist/cjs/biz-components/AiuiProvider/index.d.ts +10 -0
- package/dist/cjs/biz-components/AiuiProvider/index.js +2 -0
- package/dist/cjs/biz-components/AiuiProvider/index.js.map +7 -0
- package/dist/cjs/biz-components/BrandEquity/BrandEquity.d.ts +4 -18
- package/dist/cjs/biz-components/BrandEquity/BrandEquity.js +1 -1
- package/dist/cjs/biz-components/BrandEquity/BrandEquity.js.map +3 -3
- package/dist/cjs/biz-components/BrandEquity/types.d.ts +17 -0
- package/dist/cjs/biz-components/BrandEquity/types.js +2 -0
- package/dist/cjs/biz-components/BrandEquity/types.js.map +7 -0
- package/dist/cjs/biz-components/Category/SwiperCategory.d.ts +19 -0
- package/dist/cjs/biz-components/Category/SwiperCategory.js +2 -0
- package/dist/cjs/biz-components/Category/SwiperCategory.js.map +7 -0
- package/dist/cjs/biz-components/Category/index.d.ts +26 -8
- package/dist/cjs/biz-components/Category/index.js +1 -1
- package/dist/cjs/biz-components/Category/index.js.map +3 -3
- package/dist/cjs/biz-components/Evaluate/index.d.ts +27 -9
- package/dist/cjs/biz-components/Evaluate/index.js +1 -1
- package/dist/cjs/biz-components/Evaluate/index.js.map +3 -3
- package/dist/cjs/biz-components/Graphic/index.d.ts +19 -13
- package/dist/cjs/biz-components/Graphic/index.js +1 -1
- package/dist/cjs/biz-components/Graphic/index.js.map +3 -3
- package/dist/cjs/biz-components/GraphicAttractionBlock/index.d.ts +25 -0
- package/dist/cjs/biz-components/GraphicAttractionBlock/index.js +2 -0
- package/dist/cjs/biz-components/GraphicAttractionBlock/index.js.map +7 -0
- package/dist/cjs/biz-components/HeroBanner/HeroBanner.d.ts +4 -6
- package/dist/cjs/biz-components/HeroBanner/HeroBanner.js +1 -1
- package/dist/cjs/biz-components/HeroBanner/HeroBanner.js.map +3 -3
- package/dist/cjs/biz-components/HeroBanner/index.js.map +1 -1
- package/dist/cjs/biz-components/HeroBanner/types.d.ts +25 -21
- package/dist/cjs/biz-components/HeroBanner/types.js +1 -1
- package/dist/cjs/biz-components/HeroBanner/types.js.map +1 -1
- package/dist/cjs/biz-components/Marquee/Marquee.d.ts +18 -0
- package/dist/cjs/biz-components/Marquee/Marquee.js +2 -0
- package/dist/cjs/biz-components/Marquee/Marquee.js.map +7 -0
- package/dist/cjs/biz-components/Marquee/index.d.ts +2 -23
- package/dist/cjs/biz-components/Marquee/index.js +1 -1
- package/dist/cjs/biz-components/Marquee/index.js.map +4 -4
- package/dist/cjs/biz-components/Marquee/type.d.ts +33 -0
- package/dist/cjs/biz-components/Marquee/type.js +2 -0
- package/dist/cjs/biz-components/Marquee/type.js.map +7 -0
- package/dist/cjs/biz-components/MediaPlayerBase/index.d.ts +7 -0
- package/dist/cjs/biz-components/MediaPlayerBase/index.js +2 -0
- package/dist/cjs/biz-components/MediaPlayerBase/index.js.map +7 -0
- package/dist/cjs/biz-components/MediaPlayerBase/right.d.ts +1 -0
- package/dist/cjs/biz-components/MediaPlayerBase/right.js +2 -0
- package/dist/cjs/biz-components/MediaPlayerBase/right.js.map +7 -0
- package/dist/cjs/biz-components/MediaPlayerBase/types.d.ts +14 -0
- package/dist/cjs/biz-components/MediaPlayerBase/types.js +2 -0
- package/dist/cjs/biz-components/MediaPlayerBase/types.js.map +7 -0
- package/dist/cjs/biz-components/MediaPlayerMulti/index.d.ts +6 -0
- package/dist/cjs/biz-components/MediaPlayerMulti/index.js +2 -0
- package/dist/cjs/biz-components/MediaPlayerMulti/index.js.map +7 -0
- package/dist/cjs/biz-components/MediaPlayerMulti/types.d.ts +18 -0
- package/dist/cjs/biz-components/MediaPlayerMulti/types.js +2 -0
- package/dist/cjs/biz-components/MediaPlayerMulti/types.js.map +7 -0
- package/dist/cjs/biz-components/MediaPlayerSticky/index.d.ts +11 -0
- package/dist/cjs/biz-components/MediaPlayerSticky/index.js +2 -0
- package/dist/cjs/biz-components/MediaPlayerSticky/index.js.map +7 -0
- package/dist/cjs/biz-components/MediaPlayerSticky/types.d.ts +16 -0
- package/dist/cjs/biz-components/MediaPlayerSticky/types.js +2 -0
- package/dist/cjs/biz-components/MediaPlayerSticky/types.js.map +7 -0
- package/dist/cjs/biz-components/MemberEquity/index.d.ts +5 -6
- package/dist/cjs/biz-components/MemberEquity/index.js +4 -39
- package/dist/cjs/biz-components/MemberEquity/index.js.map +3 -3
- package/dist/cjs/biz-components/MemberEquity/types.d.ts +25 -20
- package/dist/cjs/biz-components/MemberEquity/types.js +1 -1
- package/dist/cjs/biz-components/MemberEquity/types.js.map +1 -1
- package/dist/cjs/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.d.ts +8 -0
- package/dist/cjs/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js +2 -0
- package/dist/cjs/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js.map +7 -0
- package/dist/cjs/biz-components/MultiLayoutGraphicBlock/index.d.ts +2 -0
- package/dist/cjs/biz-components/MultiLayoutGraphicBlock/index.js +2 -0
- package/dist/cjs/biz-components/MultiLayoutGraphicBlock/index.js.map +7 -0
- package/dist/cjs/biz-components/MultiLayoutGraphicBlock/types.d.ts +30 -0
- package/dist/cjs/biz-components/MultiLayoutGraphicBlock/types.js +2 -0
- package/dist/cjs/biz-components/MultiLayoutGraphicBlock/types.js.map +7 -0
- package/dist/cjs/biz-components/ShelfDisplay/index.d.ts +48 -28
- package/dist/cjs/biz-components/ShelfDisplay/index.js +7 -9
- package/dist/cjs/biz-components/ShelfDisplay/index.js.map +3 -3
- package/dist/cjs/biz-components/ShelfDisplay/shelfDisplay.d.ts +23 -0
- package/dist/cjs/biz-components/ShelfDisplay/shelfDisplay.js +2 -0
- package/dist/cjs/biz-components/ShelfDisplay/shelfDisplay.js.map +7 -0
- package/dist/cjs/biz-components/Slogan/index.d.ts +6 -6
- package/dist/cjs/biz-components/Slogan/index.js +1 -1
- package/dist/cjs/biz-components/Slogan/index.js.map +3 -3
- package/dist/cjs/biz-components/Slogan/types.d.ts +19 -12
- package/dist/cjs/biz-components/Slogan/types.js +1 -1
- package/dist/cjs/biz-components/Slogan/types.js.map +1 -1
- package/dist/cjs/biz-components/Spacer/index.d.ts +7 -0
- package/dist/cjs/biz-components/Spacer/index.js +2 -0
- package/dist/cjs/biz-components/Spacer/index.js.map +7 -0
- package/dist/cjs/biz-components/Spacer/types.d.ts +10 -0
- package/dist/cjs/biz-components/Spacer/types.js +2 -0
- package/dist/cjs/biz-components/Spacer/types.js.map +7 -0
- package/dist/cjs/biz-components/SwiperBox/index.d.ts +4 -0
- package/dist/cjs/biz-components/SwiperBox/index.js +2 -0
- package/dist/cjs/biz-components/SwiperBox/index.js.map +7 -0
- package/dist/cjs/biz-components/SwiperBox/types.d.ts +16 -0
- package/dist/cjs/biz-components/SwiperBox/types.js +2 -0
- package/dist/cjs/biz-components/SwiperBox/types.js.map +7 -0
- package/dist/cjs/biz-components/Tabs/Tabs.d.ts +7 -0
- package/dist/cjs/biz-components/Tabs/Tabs.js +2 -0
- package/dist/cjs/biz-components/Tabs/Tabs.js.map +7 -0
- package/dist/cjs/biz-components/Tabs/index.d.ts +1 -0
- package/dist/cjs/biz-components/{Shelf → Tabs}/index.js +1 -1
- package/dist/cjs/biz-components/Tabs/index.js.map +7 -0
- package/dist/cjs/biz-components/Tabs/types.d.ts +20 -0
- package/dist/cjs/biz-components/Tabs/types.js +2 -0
- package/dist/cjs/biz-components/Tabs/types.js.map +7 -0
- package/dist/cjs/biz-components/Title/index.d.ts +7 -0
- package/dist/cjs/biz-components/Title/index.js +2 -0
- package/dist/cjs/biz-components/Title/index.js.map +7 -0
- package/dist/cjs/biz-components/Title/types.d.ts +27 -0
- package/dist/cjs/biz-components/Title/types.js +2 -0
- package/dist/cjs/biz-components/Title/types.js.map +7 -0
- package/dist/cjs/biz-components/index.d.ts +12 -2
- package/dist/cjs/biz-components/index.js +1 -1
- package/dist/cjs/biz-components/index.js.map +3 -3
- package/dist/cjs/components/alert.d.ts +1 -1
- package/dist/cjs/components/avatar.d.ts +1 -1
- package/dist/cjs/components/avatar.js +1 -1
- package/dist/cjs/components/avatar.js.map +2 -2
- package/dist/cjs/components/badge.d.ts +2 -2
- package/dist/cjs/components/badge.js +1 -1
- package/dist/cjs/components/badge.js.map +2 -2
- package/dist/cjs/components/button.d.ts +3 -4
- package/dist/cjs/components/button.js +1 -1
- package/dist/cjs/components/button.js.map +3 -3
- package/dist/cjs/components/checkbox.d.ts +2 -2
- package/dist/cjs/components/checkbox.js +1 -1
- package/dist/cjs/components/checkbox.js.map +2 -2
- package/dist/cjs/components/color.d.ts +1 -1
- package/dist/cjs/components/container.d.ts +9 -0
- package/dist/cjs/components/container.js +1 -1
- package/dist/cjs/components/container.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/drawer.js +1 -1
- package/dist/cjs/components/drawer.js.map +2 -2
- package/dist/cjs/components/drop-down.js +1 -1
- package/dist/cjs/components/drop-down.js.map +3 -3
- package/dist/cjs/components/gird.js +1 -1
- package/dist/cjs/components/gird.js.map +2 -2
- package/dist/cjs/components/heading.d.ts +4 -3
- package/dist/cjs/components/heading.js +1 -1
- package/dist/cjs/components/heading.js.map +3 -3
- package/dist/cjs/components/index.d.ts +18 -18
- package/dist/cjs/components/index.js +1 -1
- package/dist/cjs/components/index.js.map +3 -3
- package/dist/cjs/components/input-number.d.ts +2 -2
- package/dist/cjs/components/input.d.ts +2 -2
- package/dist/cjs/components/input.js +1 -1
- package/dist/cjs/components/input.js.map +1 -1
- package/dist/cjs/components/link.d.ts +6 -8
- package/dist/cjs/components/link.js +1 -1
- package/dist/cjs/components/link.js.map +3 -3
- package/dist/cjs/components/picture.d.ts +1 -1
- package/dist/cjs/components/picture.js +1 -1
- package/dist/cjs/components/picture.js.map +3 -3
- package/dist/cjs/components/radio.d.ts +2 -2
- package/dist/cjs/components/radio.js +1 -1
- package/dist/cjs/components/radio.js.map +2 -2
- package/dist/cjs/components/skeleton.js +3 -3
- package/dist/cjs/components/skeleton.js.map +1 -1
- package/dist/cjs/components/tabs.d.ts +3 -1
- package/dist/cjs/components/tabs.js +1 -1
- package/dist/cjs/components/tabs.js.map +3 -3
- package/dist/cjs/components/text.d.ts +4 -3
- package/dist/cjs/components/text.js +1 -1
- package/dist/cjs/components/text.js.map +3 -3
- package/dist/cjs/components/theme.d.ts +1 -1
- package/dist/cjs/components/theme.js.map +1 -1
- package/dist/cjs/cpn-components/CpnBanner/index.d.ts +3 -0
- package/dist/cjs/cpn-components/CpnBanner/index.js +2 -0
- package/dist/cjs/cpn-components/CpnBanner/index.js.map +7 -0
- package/dist/cjs/cpn-components/CpnBanner/types.d.ts +43 -0
- package/dist/cjs/cpn-components/CpnBanner/types.js +2 -0
- package/dist/cjs/cpn-components/CpnBanner/types.js.map +7 -0
- package/dist/cjs/cpn-components/CpnCountDown/index.d.ts +3 -0
- package/dist/cjs/cpn-components/CpnCountDown/index.js +2 -0
- package/dist/cjs/cpn-components/CpnCountDown/index.js.map +7 -0
- package/dist/cjs/cpn-components/CpnCountDown/types.d.ts +28 -0
- package/dist/cjs/cpn-components/CpnCountDown/types.js +2 -0
- package/dist/cjs/cpn-components/CpnCountDown/types.js.map +7 -0
- package/dist/cjs/cpn-components/CpnNavigation/index.d.ts +3 -0
- package/dist/cjs/cpn-components/CpnNavigation/index.js +2 -0
- package/dist/cjs/cpn-components/CpnNavigation/index.js.map +7 -0
- package/dist/cjs/cpn-components/CpnNavigation/types.d.ts +19 -0
- package/dist/cjs/cpn-components/CpnNavigation/types.js +2 -0
- package/dist/cjs/cpn-components/CpnNavigation/types.js.map +7 -0
- package/dist/cjs/cpn-components/CpnProductCard/index.d.ts +3 -0
- package/dist/cjs/cpn-components/CpnProductCard/index.js +2 -0
- package/dist/cjs/cpn-components/CpnProductCard/index.js.map +7 -0
- package/dist/cjs/cpn-components/CpnProductCard/types.d.ts +109 -0
- package/dist/cjs/cpn-components/CpnProductCard/types.js +2 -0
- package/dist/cjs/cpn-components/CpnProductCard/types.js.map +7 -0
- package/dist/cjs/cpn-components/CpnTitle/index.d.ts +3 -0
- package/dist/cjs/cpn-components/CpnTitle/index.js +2 -0
- package/dist/cjs/cpn-components/CpnTitle/index.js.map +7 -0
- package/dist/cjs/cpn-components/CpnTitle/types.d.ts +10 -0
- package/dist/cjs/cpn-components/CpnTitle/types.js +2 -0
- package/dist/cjs/cpn-components/CpnTitle/types.js.map +7 -0
- package/dist/cjs/cpn-components/index.d.ts +5 -0
- package/dist/cjs/cpn-components/index.js +2 -0
- package/dist/cjs/cpn-components/index.js.map +7 -0
- package/dist/cjs/hooks/useCountDown.d.ts +10 -0
- package/dist/cjs/hooks/useCountDown.js +2 -0
- package/dist/cjs/hooks/useCountDown.js.map +7 -0
- package/dist/cjs/hooks/useEXposure.d.ts +13 -0
- package/dist/cjs/hooks/useEXposure.js +2 -0
- package/dist/cjs/hooks/useEXposure.js.map +7 -0
- package/dist/cjs/hooks/useIntersectionObserver.d.ts +17 -0
- package/dist/cjs/hooks/useIntersectionObserver.js +2 -0
- package/dist/cjs/hooks/useIntersectionObserver.js.map +7 -0
- package/dist/cjs/shared/Styles.d.ts +5 -9
- package/dist/cjs/shared/Styles.js +1 -1
- package/dist/cjs/shared/Styles.js.map +3 -3
- package/dist/cjs/shared/getKeyPropsString.d.ts +4 -0
- package/dist/cjs/shared/getKeyPropsString.js +2 -0
- package/dist/cjs/shared/getKeyPropsString.js.map +7 -0
- package/dist/cjs/shared/mimeType.d.ts +1 -0
- package/dist/cjs/shared/mimeType.js +2 -0
- package/dist/cjs/shared/mimeType.js.map +7 -0
- package/dist/cjs/shared/simpleHash.d.ts +1 -0
- package/dist/cjs/shared/simpleHash.js +2 -0
- package/dist/cjs/shared/simpleHash.js.map +7 -0
- package/dist/cjs/shared/track.d.ts +1 -0
- package/dist/cjs/shared/track.js +2 -0
- package/dist/cjs/shared/track.js.map +7 -0
- package/dist/cjs/shared/trackUrlRef.d.ts +7 -0
- package/dist/cjs/shared/trackUrlRef.js +2 -0
- package/dist/cjs/shared/trackUrlRef.js.map +7 -0
- package/dist/cjs/stories/HeroBanner.stories.d.ts +4 -6
- package/dist/cjs/stories/HeroBanner.stories.js +2 -2
- package/dist/cjs/stories/HeroBanner.stories.js.map +3 -3
- package/dist/cjs/stories/MemberEquity.stories.d.ts +1 -1
- package/dist/cjs/stories/MemberEquity.stories.js +3 -3
- package/dist/cjs/stories/MemberEquity.stories.js.map +2 -2
- package/dist/cjs/stories/MultiLayoutGraphicBlock.stories.d.ts +8 -0
- package/dist/cjs/stories/MultiLayoutGraphicBlock.stories.js +2 -0
- package/dist/cjs/stories/MultiLayoutGraphicBlock.stories.js.map +7 -0
- package/dist/cjs/stories/accordionCards.stories.d.ts +22 -13
- package/dist/cjs/stories/accordionCards.stories.js +1 -1
- package/dist/cjs/stories/accordionCards.stories.js.map +2 -2
- package/dist/cjs/stories/alert.stories.d.ts +1 -1
- package/dist/cjs/stories/avatar.stories.d.ts +1 -2
- package/dist/cjs/stories/avatar.stories.js +1 -1
- package/dist/cjs/stories/avatar.stories.js.map +3 -3
- package/dist/cjs/stories/badge.stories.js.map +1 -1
- package/dist/cjs/stories/bizTabs.stories.d.ts +7 -0
- package/dist/cjs/stories/bizTabs.stories.js +2 -0
- package/dist/cjs/stories/bizTabs.stories.js.map +7 -0
- package/dist/cjs/stories/brandEquity.stories.d.ts +4 -6
- package/dist/cjs/stories/brandEquity.stories.js +1 -1
- package/dist/cjs/stories/brandEquity.stories.js.map +3 -3
- package/dist/cjs/stories/button.stories.d.ts +0 -9
- package/dist/cjs/stories/button.stories.js +1 -1
- package/dist/cjs/stories/button.stories.js.map +2 -2
- package/dist/cjs/stories/carousel.stories.d.ts +3 -3
- package/dist/cjs/stories/carousel.stories.js +1 -1
- package/dist/cjs/stories/carousel.stories.js.map +2 -2
- package/dist/cjs/stories/category.stories.d.ts +4 -1
- package/dist/cjs/stories/category.stories.js +1 -1
- package/dist/cjs/stories/category.stories.js.map +3 -3
- package/dist/cjs/stories/checkbox.stories.d.ts +1 -1
- package/dist/cjs/stories/checkbox.stories.js.map +1 -1
- package/dist/cjs/stories/container.stories.d.ts +4 -0
- package/dist/cjs/stories/container.stories.js +2 -2
- package/dist/cjs/stories/container.stories.js.map +2 -2
- package/dist/cjs/stories/cpnBanner.stories.d.ts +14 -0
- package/dist/cjs/stories/cpnBanner.stories.js +2 -0
- package/dist/cjs/stories/cpnBanner.stories.js.map +7 -0
- package/dist/cjs/stories/cpnCountdown.stories.d.ts +12 -0
- package/dist/cjs/stories/cpnCountdown.stories.js +2 -0
- package/dist/cjs/stories/cpnCountdown.stories.js.map +7 -0
- package/dist/cjs/stories/cpnNavigation.stories.d.ts +14 -0
- package/dist/cjs/stories/cpnNavigation.stories.js +2 -0
- package/dist/cjs/stories/cpnNavigation.stories.js.map +7 -0
- package/dist/cjs/stories/cpnProductcard.stories.d.ts +14 -0
- package/dist/cjs/stories/cpnProductcard.stories.js +2 -0
- package/dist/cjs/stories/cpnProductcard.stories.js.map +7 -0
- package/dist/cjs/stories/cpnTitle.stories.d.ts +14 -0
- package/dist/cjs/stories/cpnTitle.stories.js +2 -0
- package/dist/cjs/stories/cpnTitle.stories.js.map +7 -0
- package/dist/cjs/stories/dialog.stories.d.ts +1 -1
- package/dist/cjs/stories/dialog.stories.js.map +1 -1
- package/dist/cjs/stories/drawer.stories.js +1 -1
- package/dist/cjs/stories/drawer.stories.js.map +2 -2
- package/dist/cjs/stories/drop-down.stories.js +1 -1
- package/dist/cjs/stories/drop-down.stories.js.map +2 -2
- package/dist/cjs/stories/evaluate.stories.d.ts +4 -1
- package/dist/cjs/stories/evaluate.stories.js +1 -1
- package/dist/cjs/stories/evaluate.stories.js.map +2 -2
- package/dist/cjs/stories/graphic.stories.d.ts +22 -29
- package/dist/cjs/stories/graphic.stories.js +1 -1
- package/dist/cjs/stories/graphic.stories.js.map +3 -3
- package/dist/cjs/stories/graphicAttractionBlock.stories.d.ts +6 -0
- package/dist/cjs/stories/graphicAttractionBlock.stories.js +2 -0
- package/dist/cjs/stories/graphicAttractionBlock.stories.js.map +7 -0
- package/dist/cjs/stories/grid.stories.d.ts +3 -3
- package/dist/cjs/stories/grid.stories.js.map +2 -2
- package/dist/cjs/stories/heading.stories.d.ts +3 -2
- package/dist/cjs/stories/heading.stories.js +12 -1
- package/dist/cjs/stories/heading.stories.js.map +3 -3
- package/dist/cjs/stories/input-number.stories.d.ts +1 -1
- package/dist/cjs/stories/link.stories.d.ts +4 -17
- package/dist/cjs/stories/link.stories.js +1 -1
- package/dist/cjs/stories/link.stories.js.map +2 -2
- package/dist/cjs/stories/marquee.stories.d.ts +6 -25
- package/dist/cjs/stories/marquee.stories.js +1 -1
- package/dist/cjs/stories/marquee.stories.js.map +3 -3
- package/dist/cjs/stories/mediaplayerBase.stories.d.ts +6 -0
- package/dist/cjs/stories/mediaplayerBase.stories.js +2 -0
- package/dist/cjs/stories/mediaplayerBase.stories.js.map +7 -0
- package/dist/cjs/stories/mediaplayerMulti.stories.d.ts +16 -0
- package/dist/cjs/stories/mediaplayerMulti.stories.js +2 -0
- package/dist/cjs/stories/mediaplayerMulti.stories.js.map +7 -0
- package/dist/cjs/stories/picture.stories.d.ts +1 -1
- package/dist/cjs/stories/popover.stories.js.map +1 -1
- package/dist/cjs/stories/radio.stories.d.ts +2 -2
- package/dist/cjs/stories/radio.stories.js.map +1 -1
- package/dist/cjs/stories/shelfDisplay.stories.d.ts +4 -1
- package/dist/cjs/stories/shelfDisplay.stories.js +1 -1
- package/dist/cjs/stories/shelfDisplay.stories.js.map +3 -3
- package/dist/cjs/stories/skeleton.stories.js +1 -1
- package/dist/cjs/stories/skeleton.stories.js.map +2 -2
- package/dist/cjs/stories/slogan.stories.d.ts +4 -7
- package/dist/cjs/stories/slogan.stories.js +2 -22
- package/dist/cjs/stories/slogan.stories.js.map +3 -3
- package/dist/cjs/stories/tabs.stories.d.ts +20 -7
- package/dist/cjs/stories/tabs.stories.js +1 -1
- package/dist/cjs/stories/tabs.stories.js.map +2 -2
- package/dist/cjs/stories/text.stories.d.ts +4 -3
- package/dist/cjs/stories/text.stories.js +11 -2
- package/dist/cjs/stories/text.stories.js.map +3 -3
- package/dist/cjs/types/props.d.ts +38 -0
- package/dist/cjs/types/props.js +1 -1
- package/dist/cjs/types/props.js.map +1 -1
- package/dist/esm/biz-components/AccordionCards/index.d.ts +31 -19
- package/dist/esm/biz-components/AccordionCards/index.js +1 -1
- package/dist/esm/biz-components/AccordionCards/index.js.map +3 -3
- package/dist/esm/biz-components/AiuiProvider/index.d.ts +10 -0
- package/dist/esm/biz-components/AiuiProvider/index.js +2 -0
- package/dist/esm/biz-components/AiuiProvider/index.js.map +7 -0
- package/dist/esm/biz-components/BrandEquity/BrandEquity.d.ts +4 -18
- package/dist/esm/biz-components/BrandEquity/BrandEquity.js +1 -1
- package/dist/esm/biz-components/BrandEquity/BrandEquity.js.map +3 -3
- package/dist/esm/biz-components/BrandEquity/types.d.ts +17 -0
- package/dist/esm/biz-components/Category/SwiperCategory.d.ts +19 -0
- package/dist/esm/biz-components/Category/SwiperCategory.js +2 -0
- package/dist/esm/biz-components/Category/SwiperCategory.js.map +7 -0
- package/dist/esm/biz-components/Category/index.d.ts +26 -8
- package/dist/esm/biz-components/Category/index.js +1 -1
- package/dist/esm/biz-components/Category/index.js.map +3 -3
- package/dist/esm/biz-components/Evaluate/index.d.ts +27 -9
- package/dist/esm/biz-components/Evaluate/index.js +1 -1
- package/dist/esm/biz-components/Evaluate/index.js.map +3 -3
- package/dist/esm/biz-components/Graphic/index.d.ts +19 -13
- package/dist/esm/biz-components/Graphic/index.js +1 -1
- package/dist/esm/biz-components/Graphic/index.js.map +3 -3
- package/dist/esm/biz-components/GraphicAttractionBlock/index.d.ts +25 -0
- package/dist/esm/biz-components/GraphicAttractionBlock/index.js +2 -0
- package/dist/esm/biz-components/GraphicAttractionBlock/index.js.map +7 -0
- package/dist/esm/biz-components/HeroBanner/HeroBanner.d.ts +4 -6
- package/dist/esm/biz-components/HeroBanner/HeroBanner.js +1 -1
- package/dist/esm/biz-components/HeroBanner/HeroBanner.js.map +3 -3
- package/dist/esm/biz-components/HeroBanner/index.js.map +1 -1
- package/dist/esm/biz-components/HeroBanner/types.d.ts +25 -21
- package/dist/esm/biz-components/Marquee/Marquee.d.ts +18 -0
- package/dist/esm/biz-components/Marquee/Marquee.js +2 -0
- package/dist/esm/biz-components/Marquee/Marquee.js.map +7 -0
- package/dist/esm/biz-components/Marquee/index.d.ts +2 -23
- package/dist/esm/biz-components/Marquee/index.js +1 -1
- package/dist/esm/biz-components/Marquee/index.js.map +4 -4
- package/dist/esm/biz-components/Marquee/type.d.ts +33 -0
- package/dist/esm/biz-components/Marquee/type.js +1 -0
- package/dist/esm/biz-components/Marquee/type.js.map +7 -0
- package/dist/esm/biz-components/MediaPlayerBase/index.d.ts +7 -0
- package/dist/esm/biz-components/MediaPlayerBase/index.js +2 -0
- package/dist/esm/biz-components/MediaPlayerBase/index.js.map +7 -0
- package/dist/esm/biz-components/MediaPlayerBase/right.d.ts +1 -0
- package/dist/esm/biz-components/MediaPlayerBase/right.js +2 -0
- package/dist/esm/biz-components/MediaPlayerBase/right.js.map +7 -0
- package/dist/esm/biz-components/MediaPlayerBase/types.d.ts +14 -0
- package/dist/esm/biz-components/MediaPlayerBase/types.js +1 -0
- package/dist/esm/biz-components/MediaPlayerBase/types.js.map +7 -0
- package/dist/esm/biz-components/MediaPlayerMulti/index.d.ts +6 -0
- package/dist/esm/biz-components/MediaPlayerMulti/index.js +2 -0
- package/dist/esm/biz-components/MediaPlayerMulti/index.js.map +7 -0
- package/dist/esm/biz-components/MediaPlayerMulti/types.d.ts +18 -0
- package/dist/esm/biz-components/MediaPlayerMulti/types.js +1 -0
- package/dist/esm/biz-components/MediaPlayerMulti/types.js.map +7 -0
- package/dist/esm/biz-components/MediaPlayerSticky/index.d.ts +11 -0
- package/dist/esm/biz-components/MediaPlayerSticky/index.js +2 -0
- package/dist/esm/biz-components/MediaPlayerSticky/index.js.map +7 -0
- package/dist/esm/biz-components/MediaPlayerSticky/types.d.ts +16 -0
- package/dist/esm/biz-components/MediaPlayerSticky/types.js +1 -0
- package/dist/esm/biz-components/MediaPlayerSticky/types.js.map +7 -0
- package/dist/esm/biz-components/MemberEquity/index.d.ts +5 -6
- package/dist/esm/biz-components/MemberEquity/index.js +4 -39
- package/dist/esm/biz-components/MemberEquity/index.js.map +3 -3
- package/dist/esm/biz-components/MemberEquity/types.d.ts +25 -20
- package/dist/esm/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.d.ts +8 -0
- package/dist/esm/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js +2 -0
- package/dist/esm/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js.map +7 -0
- package/dist/esm/biz-components/MultiLayoutGraphicBlock/index.d.ts +2 -0
- package/dist/esm/biz-components/MultiLayoutGraphicBlock/index.js +2 -0
- package/dist/esm/biz-components/MultiLayoutGraphicBlock/index.js.map +7 -0
- package/dist/esm/biz-components/MultiLayoutGraphicBlock/types.d.ts +30 -0
- package/dist/esm/biz-components/MultiLayoutGraphicBlock/types.js +1 -0
- package/dist/esm/biz-components/MultiLayoutGraphicBlock/types.js.map +7 -0
- package/dist/esm/biz-components/ShelfDisplay/index.d.ts +48 -28
- package/dist/esm/biz-components/ShelfDisplay/index.js +7 -9
- package/dist/esm/biz-components/ShelfDisplay/index.js.map +3 -3
- package/dist/esm/biz-components/ShelfDisplay/shelfDisplay.d.ts +23 -0
- package/dist/esm/biz-components/ShelfDisplay/shelfDisplay.js +2 -0
- package/dist/esm/biz-components/ShelfDisplay/shelfDisplay.js.map +7 -0
- package/dist/esm/biz-components/Slogan/index.d.ts +6 -6
- package/dist/esm/biz-components/Slogan/index.js +1 -1
- package/dist/esm/biz-components/Slogan/index.js.map +3 -3
- package/dist/esm/biz-components/Slogan/types.d.ts +19 -12
- package/dist/esm/biz-components/Spacer/index.d.ts +7 -0
- package/dist/esm/biz-components/Spacer/index.js +2 -0
- package/dist/esm/biz-components/Spacer/index.js.map +7 -0
- package/dist/esm/biz-components/Spacer/types.d.ts +10 -0
- package/dist/esm/biz-components/Spacer/types.js +1 -0
- package/dist/esm/biz-components/Spacer/types.js.map +7 -0
- package/dist/esm/biz-components/SwiperBox/index.d.ts +4 -0
- package/dist/esm/biz-components/SwiperBox/index.js +2 -0
- package/dist/esm/biz-components/SwiperBox/index.js.map +7 -0
- package/dist/esm/biz-components/SwiperBox/types.d.ts +16 -0
- package/dist/esm/biz-components/SwiperBox/types.js +2 -0
- package/dist/esm/biz-components/SwiperBox/types.js.map +7 -0
- package/dist/esm/biz-components/Tabs/Tabs.d.ts +7 -0
- package/dist/esm/biz-components/Tabs/Tabs.js +2 -0
- package/dist/esm/biz-components/Tabs/Tabs.js.map +7 -0
- package/dist/esm/biz-components/Tabs/index.d.ts +1 -0
- package/dist/esm/biz-components/Tabs/index.js +2 -0
- package/dist/esm/biz-components/Tabs/index.js.map +7 -0
- package/dist/esm/biz-components/Tabs/types.d.ts +20 -0
- package/dist/esm/biz-components/Tabs/types.js +1 -0
- package/dist/esm/biz-components/Tabs/types.js.map +7 -0
- package/dist/esm/biz-components/Title/index.d.ts +7 -0
- package/dist/esm/biz-components/Title/index.js +2 -0
- package/dist/esm/biz-components/Title/index.js.map +7 -0
- package/dist/esm/biz-components/Title/types.d.ts +27 -0
- package/dist/esm/biz-components/Title/types.js +1 -0
- package/dist/esm/biz-components/Title/types.js.map +7 -0
- package/dist/esm/biz-components/index.d.ts +12 -2
- package/dist/esm/biz-components/index.js +1 -1
- package/dist/esm/biz-components/index.js.map +3 -3
- package/dist/esm/components/alert.d.ts +1 -1
- package/dist/esm/components/avatar.d.ts +1 -1
- package/dist/esm/components/avatar.js +1 -1
- package/dist/esm/components/avatar.js.map +2 -2
- package/dist/esm/components/badge.d.ts +2 -2
- package/dist/esm/components/badge.js +1 -1
- package/dist/esm/components/badge.js.map +2 -2
- package/dist/esm/components/button.d.ts +3 -4
- package/dist/esm/components/button.js +1 -1
- package/dist/esm/components/button.js.map +3 -3
- package/dist/esm/components/checkbox.d.ts +2 -2
- package/dist/esm/components/checkbox.js +1 -1
- package/dist/esm/components/checkbox.js.map +2 -2
- package/dist/esm/components/color.d.ts +1 -1
- package/dist/esm/components/container.d.ts +9 -0
- package/dist/esm/components/container.js +1 -1
- package/dist/esm/components/container.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/drawer.js +1 -1
- package/dist/esm/components/drawer.js.map +2 -2
- package/dist/esm/components/drop-down.js +1 -1
- package/dist/esm/components/drop-down.js.map +3 -3
- package/dist/esm/components/gird.js +1 -1
- package/dist/esm/components/gird.js.map +2 -2
- package/dist/esm/components/heading.d.ts +4 -3
- package/dist/esm/components/heading.js +1 -1
- package/dist/esm/components/heading.js.map +3 -3
- package/dist/esm/components/index.d.ts +18 -18
- package/dist/esm/components/index.js +1 -1
- package/dist/esm/components/index.js.map +3 -3
- package/dist/esm/components/input-number.d.ts +2 -2
- package/dist/esm/components/input.d.ts +2 -2
- package/dist/esm/components/input.js +1 -1
- package/dist/esm/components/input.js.map +1 -1
- package/dist/esm/components/link.d.ts +6 -8
- package/dist/esm/components/link.js +1 -1
- package/dist/esm/components/link.js.map +3 -3
- package/dist/esm/components/picture.d.ts +1 -1
- package/dist/esm/components/picture.js +1 -1
- package/dist/esm/components/picture.js.map +3 -3
- package/dist/esm/components/radio.d.ts +2 -2
- package/dist/esm/components/radio.js +1 -1
- package/dist/esm/components/radio.js.map +2 -2
- package/dist/esm/components/skeleton.js +3 -3
- package/dist/esm/components/skeleton.js.map +1 -1
- package/dist/esm/components/tabs.d.ts +3 -1
- package/dist/esm/components/tabs.js +1 -1
- package/dist/esm/components/tabs.js.map +3 -3
- package/dist/esm/components/text.d.ts +4 -3
- package/dist/esm/components/text.js +1 -1
- package/dist/esm/components/text.js.map +3 -3
- package/dist/esm/components/theme.d.ts +1 -1
- package/dist/esm/components/theme.js.map +1 -1
- package/dist/esm/cpn-components/CpnBanner/index.d.ts +3 -0
- package/dist/esm/cpn-components/CpnBanner/index.js +2 -0
- package/dist/esm/cpn-components/CpnBanner/index.js.map +7 -0
- package/dist/esm/cpn-components/CpnBanner/types.d.ts +43 -0
- package/dist/esm/cpn-components/CpnBanner/types.js +1 -0
- package/dist/esm/cpn-components/CpnBanner/types.js.map +7 -0
- package/dist/esm/cpn-components/CpnCountDown/index.d.ts +3 -0
- package/dist/esm/cpn-components/CpnCountDown/index.js +2 -0
- package/dist/esm/cpn-components/CpnCountDown/index.js.map +7 -0
- package/dist/esm/cpn-components/CpnCountDown/types.d.ts +28 -0
- package/dist/esm/cpn-components/CpnCountDown/types.js +1 -0
- package/dist/esm/cpn-components/CpnCountDown/types.js.map +7 -0
- package/dist/esm/cpn-components/CpnNavigation/index.d.ts +3 -0
- package/dist/esm/cpn-components/CpnNavigation/index.js +2 -0
- package/dist/esm/cpn-components/CpnNavigation/index.js.map +7 -0
- package/dist/esm/cpn-components/CpnNavigation/types.d.ts +19 -0
- package/dist/esm/cpn-components/CpnNavigation/types.js +1 -0
- package/dist/esm/cpn-components/CpnNavigation/types.js.map +7 -0
- package/dist/esm/cpn-components/CpnProductCard/index.d.ts +3 -0
- package/dist/esm/cpn-components/CpnProductCard/index.js +2 -0
- package/dist/esm/cpn-components/CpnProductCard/index.js.map +7 -0
- package/dist/esm/cpn-components/CpnProductCard/types.d.ts +109 -0
- package/dist/esm/cpn-components/CpnProductCard/types.js +1 -0
- package/dist/esm/cpn-components/CpnProductCard/types.js.map +7 -0
- package/dist/esm/cpn-components/CpnTitle/index.d.ts +3 -0
- package/dist/esm/cpn-components/CpnTitle/index.js +2 -0
- package/dist/esm/cpn-components/CpnTitle/index.js.map +7 -0
- package/dist/esm/cpn-components/CpnTitle/types.d.ts +10 -0
- package/dist/esm/cpn-components/CpnTitle/types.js +1 -0
- package/dist/esm/cpn-components/CpnTitle/types.js.map +7 -0
- package/dist/esm/cpn-components/index.d.ts +5 -0
- package/dist/esm/cpn-components/index.js +2 -0
- package/dist/esm/cpn-components/index.js.map +7 -0
- package/dist/esm/hooks/useCountDown.d.ts +10 -0
- package/dist/esm/hooks/useCountDown.js +2 -0
- package/dist/esm/hooks/useCountDown.js.map +7 -0
- package/dist/esm/hooks/useEXposure.d.ts +13 -0
- package/dist/esm/hooks/useEXposure.js +2 -0
- package/dist/esm/hooks/useEXposure.js.map +7 -0
- package/dist/esm/hooks/useIntersectionObserver.d.ts +17 -0
- package/dist/esm/hooks/useIntersectionObserver.js +2 -0
- package/dist/esm/hooks/useIntersectionObserver.js.map +7 -0
- package/dist/esm/shared/Styles.d.ts +5 -9
- package/dist/esm/shared/Styles.js +1 -1
- package/dist/esm/shared/Styles.js.map +3 -3
- package/dist/esm/shared/getKeyPropsString.d.ts +4 -0
- package/dist/esm/shared/getKeyPropsString.js +2 -0
- package/dist/esm/shared/getKeyPropsString.js.map +7 -0
- package/dist/esm/shared/mimeType.d.ts +1 -0
- package/dist/esm/shared/mimeType.js +2 -0
- package/dist/esm/shared/mimeType.js.map +7 -0
- package/dist/esm/shared/simpleHash.d.ts +1 -0
- package/dist/esm/shared/simpleHash.js +2 -0
- package/dist/esm/shared/simpleHash.js.map +7 -0
- package/dist/esm/shared/track.d.ts +1 -0
- package/dist/esm/shared/track.js +2 -0
- package/dist/esm/shared/track.js.map +7 -0
- package/dist/esm/shared/trackUrlRef.d.ts +7 -0
- package/dist/esm/shared/trackUrlRef.js +2 -0
- package/dist/esm/shared/trackUrlRef.js.map +7 -0
- package/dist/esm/stories/HeroBanner.stories.d.ts +4 -6
- package/dist/esm/stories/HeroBanner.stories.js +2 -2
- package/dist/esm/stories/HeroBanner.stories.js.map +3 -3
- package/dist/esm/stories/MemberEquity.stories.d.ts +1 -1
- package/dist/esm/stories/MemberEquity.stories.js +3 -3
- package/dist/esm/stories/MemberEquity.stories.js.map +2 -2
- package/dist/esm/stories/MultiLayoutGraphicBlock.stories.d.ts +8 -0
- package/dist/esm/stories/MultiLayoutGraphicBlock.stories.js +2 -0
- package/dist/esm/stories/MultiLayoutGraphicBlock.stories.js.map +7 -0
- package/dist/esm/stories/accordionCards.stories.d.ts +22 -13
- package/dist/esm/stories/accordionCards.stories.js +1 -1
- package/dist/esm/stories/accordionCards.stories.js.map +2 -2
- package/dist/esm/stories/alert.stories.d.ts +1 -1
- package/dist/esm/stories/avatar.stories.d.ts +1 -2
- package/dist/esm/stories/avatar.stories.js +1 -1
- package/dist/esm/stories/avatar.stories.js.map +3 -3
- package/dist/esm/stories/badge.stories.js.map +1 -1
- package/dist/esm/stories/bizTabs.stories.d.ts +7 -0
- package/dist/esm/stories/bizTabs.stories.js +2 -0
- package/dist/esm/stories/bizTabs.stories.js.map +7 -0
- package/dist/esm/stories/brandEquity.stories.d.ts +4 -6
- package/dist/esm/stories/brandEquity.stories.js +1 -1
- package/dist/esm/stories/brandEquity.stories.js.map +3 -3
- package/dist/esm/stories/button.stories.d.ts +0 -9
- package/dist/esm/stories/button.stories.js +1 -1
- package/dist/esm/stories/button.stories.js.map +2 -2
- package/dist/esm/stories/carousel.stories.d.ts +3 -3
- package/dist/esm/stories/carousel.stories.js +1 -1
- package/dist/esm/stories/carousel.stories.js.map +2 -2
- package/dist/esm/stories/category.stories.d.ts +4 -1
- package/dist/esm/stories/category.stories.js +1 -1
- package/dist/esm/stories/category.stories.js.map +3 -3
- package/dist/esm/stories/checkbox.stories.d.ts +1 -1
- package/dist/esm/stories/checkbox.stories.js.map +1 -1
- package/dist/esm/stories/container.stories.d.ts +4 -0
- package/dist/esm/stories/container.stories.js +1 -1
- package/dist/esm/stories/container.stories.js.map +2 -2
- package/dist/esm/stories/cpnBanner.stories.d.ts +14 -0
- package/dist/esm/stories/cpnBanner.stories.js +2 -0
- package/dist/esm/stories/cpnBanner.stories.js.map +7 -0
- package/dist/esm/stories/cpnCountdown.stories.d.ts +12 -0
- package/dist/esm/stories/cpnCountdown.stories.js +2 -0
- package/dist/esm/stories/cpnCountdown.stories.js.map +7 -0
- package/dist/esm/stories/cpnNavigation.stories.d.ts +14 -0
- package/dist/esm/stories/cpnNavigation.stories.js +2 -0
- package/dist/esm/stories/cpnNavigation.stories.js.map +7 -0
- package/dist/esm/stories/cpnProductcard.stories.d.ts +14 -0
- package/dist/esm/stories/cpnProductcard.stories.js +2 -0
- package/dist/esm/stories/cpnProductcard.stories.js.map +7 -0
- package/dist/esm/stories/cpnTitle.stories.d.ts +14 -0
- package/dist/esm/stories/cpnTitle.stories.js +2 -0
- package/dist/esm/stories/cpnTitle.stories.js.map +7 -0
- package/dist/esm/stories/dialog.stories.d.ts +1 -1
- package/dist/esm/stories/dialog.stories.js.map +1 -1
- package/dist/esm/stories/drawer.stories.js +1 -1
- package/dist/esm/stories/drawer.stories.js.map +3 -3
- package/dist/esm/stories/drop-down.stories.js +1 -1
- package/dist/esm/stories/drop-down.stories.js.map +2 -2
- package/dist/esm/stories/evaluate.stories.d.ts +4 -1
- package/dist/esm/stories/evaluate.stories.js +1 -1
- package/dist/esm/stories/evaluate.stories.js.map +2 -2
- package/dist/esm/stories/graphic.stories.d.ts +22 -29
- package/dist/esm/stories/graphic.stories.js +1 -1
- package/dist/esm/stories/graphic.stories.js.map +2 -2
- package/dist/esm/stories/graphicAttractionBlock.stories.d.ts +6 -0
- package/dist/esm/stories/graphicAttractionBlock.stories.js +2 -0
- package/dist/esm/stories/graphicAttractionBlock.stories.js.map +7 -0
- package/dist/esm/stories/grid.stories.d.ts +3 -3
- package/dist/esm/stories/grid.stories.js.map +2 -2
- package/dist/esm/stories/heading.stories.d.ts +3 -2
- package/dist/esm/stories/heading.stories.js +12 -1
- package/dist/esm/stories/heading.stories.js.map +3 -3
- package/dist/esm/stories/input-number.stories.d.ts +1 -1
- package/dist/esm/stories/link.stories.d.ts +4 -17
- package/dist/esm/stories/link.stories.js +1 -1
- package/dist/esm/stories/link.stories.js.map +3 -3
- package/dist/esm/stories/marquee.stories.d.ts +6 -25
- package/dist/esm/stories/marquee.stories.js +1 -1
- package/dist/esm/stories/marquee.stories.js.map +3 -3
- package/dist/esm/stories/mediaplayerBase.stories.d.ts +6 -0
- package/dist/esm/stories/mediaplayerBase.stories.js +2 -0
- package/dist/esm/stories/mediaplayerBase.stories.js.map +7 -0
- package/dist/esm/stories/mediaplayerMulti.stories.d.ts +16 -0
- package/dist/esm/stories/mediaplayerMulti.stories.js +2 -0
- package/dist/esm/stories/mediaplayerMulti.stories.js.map +7 -0
- package/dist/esm/stories/picture.stories.d.ts +1 -1
- package/dist/esm/stories/popover.stories.js.map +1 -1
- package/dist/esm/stories/radio.stories.d.ts +2 -2
- package/dist/esm/stories/radio.stories.js.map +1 -1
- package/dist/esm/stories/shelfDisplay.stories.d.ts +4 -1
- package/dist/esm/stories/shelfDisplay.stories.js +1 -1
- package/dist/esm/stories/shelfDisplay.stories.js.map +2 -2
- package/dist/esm/stories/skeleton.stories.js +1 -1
- package/dist/esm/stories/skeleton.stories.js.map +2 -2
- package/dist/esm/stories/slogan.stories.d.ts +4 -7
- package/dist/esm/stories/slogan.stories.js +3 -23
- package/dist/esm/stories/slogan.stories.js.map +2 -2
- package/dist/esm/stories/tabs.stories.d.ts +20 -7
- package/dist/esm/stories/tabs.stories.js +1 -1
- package/dist/esm/stories/tabs.stories.js.map +3 -3
- package/dist/esm/stories/text.stories.d.ts +4 -3
- package/dist/esm/stories/text.stories.js +11 -2
- package/dist/esm/stories/text.stories.js.map +3 -3
- package/dist/esm/types/props.d.ts +38 -0
- package/dist/tokens/anker.css +22 -0
- package/dist/tokens/base.css +164 -0
- package/dist/tokens/eufy.css +19 -0
- package/dist/tokens/eufyMake.css +10 -0
- package/dist/tokens/solix.css +9 -0
- package/dist/tokens/soundcore.css +16 -0
- package/package.json +45 -14
- package/style.css +307 -147
- package/tailwind.config.d.ts +2 -0
- package/{tailwind.config.ts → tailwind.config.js} +25 -67
- package/dist/cjs/biz-components/Shelf/Shelf.d.ts +0 -8
- package/dist/cjs/biz-components/Shelf/Shelf.js +0 -2
- package/dist/cjs/biz-components/Shelf/Shelf.js.map +0 -7
- package/dist/cjs/biz-components/Shelf/index.d.ts +0 -1
- package/dist/cjs/biz-components/Shelf/index.js.map +0 -7
- package/dist/cjs/biz-components/Shelf/types.d.ts +0 -6
- package/dist/cjs/biz-components/Shelf/types.js +0 -2
- package/dist/cjs/biz-components/Shelf/types.js.map +0 -7
- package/dist/cjs/stories/shelf.stories.d.ts +0 -17
- package/dist/cjs/stories/shelf.stories.js +0 -2
- package/dist/cjs/stories/shelf.stories.js.map +0 -7
- package/dist/esm/biz-components/Shelf/Shelf.d.ts +0 -8
- package/dist/esm/biz-components/Shelf/Shelf.js +0 -2
- package/dist/esm/biz-components/Shelf/Shelf.js.map +0 -7
- package/dist/esm/biz-components/Shelf/index.d.ts +0 -1
- package/dist/esm/biz-components/Shelf/index.js +0 -2
- package/dist/esm/biz-components/Shelf/index.js.map +0 -7
- package/dist/esm/biz-components/Shelf/types.d.ts +0 -6
- package/dist/esm/stories/shelf.stories.d.ts +0 -17
- package/dist/esm/stories/shelf.stories.js +0 -2
- package/dist/esm/stories/shelf.stories.js.map +0 -7
- /package/dist/esm/biz-components/{Shelf → BrandEquity}/types.js +0 -0
- /package/dist/esm/biz-components/{Shelf → BrandEquity}/types.js.map +0 -0
|
@@ -1,25 +1,30 @@
|
|
|
1
|
-
import type { ComponentCommonProps } from '../../types/props.js';
|
|
1
|
+
import type { ComponentCommonProps, Media, Shape, Theme } from '../../types/props.js';
|
|
2
2
|
export interface MemberEquityProps extends ComponentCommonProps {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
3
|
+
data: {
|
|
4
|
+
/** 标题 */
|
|
5
|
+
title: string;
|
|
6
|
+
/** 描述文本 */
|
|
7
|
+
description: string;
|
|
8
|
+
/** 背景图片/视频 URL */
|
|
9
|
+
backgroundImage?: Media;
|
|
10
|
+
mobileBackgroundImage?: Media;
|
|
11
|
+
/** 主按钮配置 */
|
|
12
|
+
primaryButton: {
|
|
13
|
+
text: string;
|
|
14
|
+
link?: string;
|
|
15
|
+
};
|
|
16
|
+
primaryButtonHandler?: () => void;
|
|
17
|
+
/** 副按钮配置 */
|
|
18
|
+
secondaryButton: {
|
|
19
|
+
text: string;
|
|
20
|
+
link?: string;
|
|
21
|
+
};
|
|
22
|
+
secondaryButtonHandler?: () => void;
|
|
23
|
+
/** 形状 */
|
|
24
|
+
shape?: Shape;
|
|
25
|
+
/** 主题 */
|
|
26
|
+
theme?: Theme;
|
|
13
27
|
};
|
|
14
|
-
/** 副按钮配置 */
|
|
15
|
-
secondaryButton: {
|
|
16
|
-
text: string;
|
|
17
|
-
href: string;
|
|
18
|
-
};
|
|
19
|
-
/** 形状 */
|
|
20
|
-
shape?: 'round' | 'square';
|
|
21
|
-
/** 主题 */
|
|
22
|
-
theme?: 'light' | 'dark';
|
|
23
28
|
/** 自定义类名 */
|
|
24
29
|
className?: string;
|
|
25
30
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var r=Object.defineProperty;var a=Object.getOwnPropertyDescriptor;var s=Object.getOwnPropertyNames;var m=Object.prototype.hasOwnProperty;var p=(t,e,i,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of s(e))!m.call(t,n)&&n!==i&&r(t,n,{get:()=>e[n],enumerable:!(o=a(e,n))||o.enumerable});return t};var d=t=>p(r({},"__esModule",{value:!0}),t);var g={};module.exports=d(g);
|
|
2
2
|
//# sourceMappingURL=types.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/biz-components/MemberEquity/types.ts"],
|
|
4
|
-
"sourcesContent": ["import type { ComponentCommonProps } from '../../types/props.js'\n\nexport interface MemberEquityProps extends ComponentCommonProps {\n /** \u6807\u9898 */\n
|
|
4
|
+
"sourcesContent": ["import type { ComponentCommonProps, Media, Shape, Theme } from '../../types/props.js'\n\nexport interface MemberEquityProps extends ComponentCommonProps {\n data: {\n /** \u6807\u9898 */\n title: string\n /** \u63CF\u8FF0\u6587\u672C */\n description: string\n /** \u80CC\u666F\u56FE\u7247/\u89C6\u9891 URL */\n backgroundImage?: Media\n mobileBackgroundImage?: Media\n /** \u4E3B\u6309\u94AE\u914D\u7F6E */\n primaryButton: {\n text: string\n link?: string\n }\n primaryButtonHandler?: () => void\n /** \u526F\u6309\u94AE\u914D\u7F6E */\n secondaryButton: {\n text: string\n link?: string\n }\n secondaryButtonHandler?: () => void\n /** \u5F62\u72B6 */\n shape?: Shape\n /** \u4E3B\u9898 */\n theme?: Theme\n }\n /** \u81EA\u5B9A\u4E49\u7C7B\u540D */\n className?: string\n}\n"],
|
|
5
5
|
"mappings": "+WAAA,IAAAA,EAAA,kBAAAC,EAAAD",
|
|
6
6
|
"names": ["types_exports", "__toCommonJS"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { MultiLayoutGraphicBlockProps } from './types';
|
|
3
|
+
declare const _default: React.ForwardRefExoticComponent<Omit<Omit<MultiLayoutGraphicBlockProps & React.RefAttributes<HTMLDivElement>, keyof import("../../shared/Styles.js").StylesProps> & Partial<import("../../shared/Styles.js").StylesProps> & {
|
|
4
|
+
className?: string;
|
|
5
|
+
data?: Record<string, any>;
|
|
6
|
+
}, "ref"> & React.RefAttributes<any>>;
|
|
7
|
+
export default _default;
|
|
8
|
+
export type { MultiLayoutGraphicBlockProps };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var E=Object.create;var k=Object.defineProperty;var H=Object.getOwnPropertyDescriptor;var j=Object.getOwnPropertyNames;var z=Object.getPrototypeOf,Q=Object.prototype.hasOwnProperty;var U=(s,i)=>{for(var o in i)k(s,o,{get:i[o],enumerable:!0})},_=(s,i,o,l)=>{if(i&&typeof i=="object"||typeof i=="function")for(let r of j(i))!Q.call(s,r)&&r!==o&&k(s,r,{get:()=>i[r],enumerable:!(l=H(i,r))||l.enumerable});return s};var u=(s,i,o)=>(o=s!=null?E(z(s)):{},_(i||!s||!s.__esModule?k(o,"default",{value:s,enumerable:!0}):o,s)),q=s=>_(k({},"__esModule",{value:!0}),s);var J={};U(J,{default:()=>F});module.exports=q(J);var e=require("react/jsx-runtime"),n=u(require("react")),$=require("react-responsive"),G=require("../../shared/Styles.js"),I=u(require("../../components/picture.js")),T=u(require("../../components/button.js")),L=require("../../components/heading.js"),S=require("../../components/text.js"),w=require("../../components/gird.js"),R=u(require("../Title/index.js")),A=require("../../helpers/utils.js"),y=u(require("../SwiperBox/index.js")),c=require("../../components/tabs.js"),C=require("../../hooks/useEXposure.js"),P=require("../AiuiProvider/index.js"),N=require("../../shared/trackUrlRef.js"),D=require("../../shared/track");const b="image",x="p1_banner",h=({data:s,configuration:i,jIndex:o})=>{const[l,r]=(0,n.useState)(!1),m=(0,$.useMediaQuery)({query:"(max-width: 1024px)"}),{trackingData:p}=(0,P.useAiuiContext)(),{profileActivated:B}=p,v=(0,n.useRef)(null);(0,C.useExposure)(v,{componentType:b,componentName:x,position:o,componentTitle:s.title,componentDescription:s.description,memberActiveStatus:B?"active":"not active",navigation:i?.activeTab}),(0,n.useEffect)(()=>{r(m)},[m]);const{theme:g="light",title:d,description:M,imageUrl:t,primaryButton:a,secondaryButton:f}=s,V="lg-desktop:px-7 lg-desktop:pb-[14px] lg-desktop:pt-[15px] lg-desktop:text-[16px]";return(0,e.jsxs)("div",{className:(0,A.cn)("item-wrapper text-info-primary group relative box-border w-full overflow-hidden",i?.isTab?"laptop:aspect-[288/384] desktop:aspect-[427/512] lg-desktop:aspect-[544/640]":"laptop:aspect-[440/384] desktop:aspect-[648/512] lg-desktop:aspect-[824/640]",{"rounded-2xl":i?.shape==="rounded","aiui-dark":g==="dark","h-[480px]":l&&!i?.isTab,"h-[400px]":l&&i?.isTab},"text-info-primary"),ref:v,children:[(0,e.jsx)(I.default,{source:t?.url,className:"inset-0 h-full overflow-hidden",imgClassName:"h-full transition-all duration-300 tablet:group-hover:scale-105 object-cover",style:{aspectRatio:`${t?.width}/${t?.height}`}}),(0,e.jsxs)("div",{className:"laptop:p-6 desktop:p-[32px] absolute inset-x-0 bottom-0 flex flex-col gap-6 p-3",children:[(0,e.jsxs)("div",{children:[(0,e.jsx)(L.Heading,{size:3,className:"item-title",html:d}),(0,e.jsx)(S.Text,{size:3,className:"item-description desktop:mt-1 text-text-2 desktop:text-text-4",html:M})]}),(0,e.jsxs)("div",{className:"flex gap-[16px]",children:[f&&f.text&&(0,e.jsx)("a",{href:(0,N.trackUrlRef)(f.link,`$${b}_$${x}`),children:(0,e.jsx)(T.default,{className:V,variant:"secondary",children:f.text})}),a&&a.text&&(0,e.jsx)("a",{href:(0,N.trackUrlRef)(a.link,`$${b}_$${x}`),children:(0,e.jsx)(T.default,{className:V,variant:"primary",children:a.text})})]})]})]})},O=n.default.forwardRef((s,i)=>{const{shape:o,sectionTitle:l,groupByTab:r=!1,items:m=[],carousel:p}=s.data,{trackingData:B}=(0,P.useAiuiContext)(),{profileActivated:v}=B,g=t=>{switch(t){case"full":return 12;case"half":return 6;case"one-third":return 4}},d=m.map(t=>t.tabName).filter(Boolean).filter((t,a,f)=>f.indexOf(t)===a),M=d.map(t=>({tabName:t,items:m.filter(a=>a.tabName===t)})).reduce((t,a)=>(t[a.tabName]=a.items,t),{});return(0,e.jsxs)("section",{"data-ui-component-id":"MultiLayoutGraphicBlock",ref:i,className:"text-info-primary",children:[l&&(0,e.jsx)(R.default,{data:{title:l},className:"section-title"}),r?(0,e.jsxs)(c.Tabs,{shape:o,align:"left",defaultValue:d[0],children:[(0,e.jsx)(c.TabsList,{children:d.map((t,a)=>(0,e.jsx)(c.TabsTrigger,{value:t,onClick:()=>{(0,D.gaTrack)({event:"ga4Event",event_name:"component_click",member_active_status:v?"active":"not active",event_parameters:{page_group:"Activity Page_Home Page",component_type:b,component_name:x,component_title:l,component_position:1,navigation:t}})},children:t},a))}),d.map((t,a)=>(0,e.jsx)(c.TabsContent,{value:t,className:"desktop:mt-[36px] mt-[24px] w-full",children:(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(y.default,{className:"!overflow-visible",id:"MultiLayoutGraphicBlock1",data:{list:M?.[t]||[],configuration:{shape:o,isTab:r,activeTab:t}},Slide:h,breakpoints:{0:{spaceBetween:12,freeMode:!1,slidesPerView:1},374:{spaceBetween:12,freeMode:!1,slidesPerView:1.1},768:{spaceBetween:16,freeMode:!1,slidesPerView:2.3},1024:{spaceBetween:16,freeMode:!1,slidesPerView:3}}}),p&&p?.items.length>0?(0,e.jsx)(y.default,{className:"!overflow-visible",id:"MultiLayoutGraphicBlock2",data:{list:p?.items||[],configuration:{shape:o,isTab:r}},Slide:h,breakpoints:{0:{spaceBetween:12,freeMode:!1,slidesPerView:1},374:{spaceBetween:12,freeMode:!1,slidesPerView:1.1},768:{spaceBetween:16,freeMode:!1,slidesPerView:2.3},1024:{spaceBetween:16,freeMode:!1,slidesPerView:3.1},1440:{spaceBetween:16,freeMode:!1,slidesPerView:4}}}):null]})},a))]}):(0,e.jsxs)(e.Fragment,{children:[(0,e.jsxs)(w.Grid,{className:"w-full",children:[m.map((t,a)=>(0,e.jsx)(w.GridItem,{span:g(t.width??"full"),className:"laptop:block hidden",children:(0,e.jsx)(h,{data:t,configuration:{shape:o},jIndex:a})},`${t?.title||""}${a}`)),m.map((t,a)=>(0,e.jsx)(w.GridItem,{span:g("full"),className:"laptop:hidden block",children:(0,e.jsx)(h,{data:t,configuration:{shape:o},jIndex:a})},`${t?.title||""}${a}`))]}),p&&p?.items.length>0?(0,e.jsx)(y.default,{className:"!overflow-visible",id:"MultiLayoutGraphicBlock3",data:{list:p?.items||[],configuration:{shape:o}},Slide:h,breakpoints:{0:{spaceBetween:12,freeMode:!1,slidesPerView:1},374:{spaceBetween:12,freeMode:!1,slidesPerView:1.1},768:{spaceBetween:16,freeMode:!1,slidesPerView:2.3},1024:{spaceBetween:16,freeMode:!1,slidesPerView:3.1},1440:{spaceBetween:16,freeMode:!1,slidesPerView:4}}}):null]})]})});var F=(0,G.withStyles)(O);
|
|
2
|
+
//# sourceMappingURL=MultiLayoutGraphicBlock.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.tsx"],
|
|
4
|
+
"sourcesContent": ["import React, { useState, useEffect, useRef } from 'react'\nimport { useMediaQuery } from 'react-responsive'\nimport type { MultiLayoutGraphicBlockProps, Item } from './types'\nimport { withStyles } from '../../shared/Styles.js'\nimport Picture from '../../components/picture.js'\nimport Button from '../../components/button.js'\nimport { Heading } from '../../components/heading.js'\nimport { Text } from '../../components/text.js'\nimport { Grid, GridItem } from '../../components/gird.js'\nimport Title from '../Title/index.js'\nimport { cn } from '../../helpers/utils.js'\nimport SwiperBox from '../SwiperBox/index.js'\nimport { Tabs, TabsList, TabsTrigger, TabsContent } from '../../components/tabs.js'\nimport { useExposure } from '../../hooks/useEXposure.js'\nimport { useAiuiContext } from '../AiuiProvider/index.js'\nimport { trackUrlRef } from '../../shared/trackUrlRef.js'\nimport { gaTrack } from '../../shared/track'\n\nconst componentType = 'image'\nconst componentName = 'p1_banner'\n\nconst ItemBlock = ({ data: item, configuration, jIndex }: { data: Item; configuration?: any; jIndex?: number }) => {\n const [isMobile, setIsMobile] = useState(false)\n const mediaQuery = useMediaQuery({ query: '(max-width: 1024px)' })\n\n const { trackingData } = useAiuiContext()\n const { profileActivated } = trackingData\n\n const ref = useRef<HTMLDivElement>(null)\n\n useExposure(ref, {\n componentType: componentType,\n componentName: componentName,\n position: jIndex,\n componentTitle: item.title,\n componentDescription: item.description,\n memberActiveStatus: profileActivated ? 'active' : 'not active',\n navigation: configuration?.activeTab,\n })\n\n useEffect(() => {\n setIsMobile(mediaQuery)\n }, [mediaQuery])\n\n const { theme = 'light', title, description, imageUrl, primaryButton, secondaryButton } = item\n const lgButtonSize = 'lg-desktop:px-7 lg-desktop:pb-[14px] lg-desktop:pt-[15px] lg-desktop:text-[16px]'\n\n return (\n <div\n className={cn(\n 'item-wrapper text-info-primary group relative box-border w-full overflow-hidden',\n configuration?.isTab\n ? 'laptop:aspect-[288/384] desktop:aspect-[427/512] lg-desktop:aspect-[544/640]'\n : 'laptop:aspect-[440/384] desktop:aspect-[648/512] lg-desktop:aspect-[824/640]',\n {\n 'rounded-2xl': configuration?.shape === 'rounded',\n 'aiui-dark': theme === 'dark',\n 'h-[480px]': isMobile && !configuration?.isTab,\n 'h-[400px]': isMobile && configuration?.isTab,\n },\n `text-info-primary`\n )}\n ref={ref}\n >\n <Picture\n source={imageUrl?.url}\n className=\"inset-0 h-full overflow-hidden\"\n imgClassName=\"h-full transition-all duration-300 tablet:group-hover:scale-105 object-cover\"\n style={{ aspectRatio: `${imageUrl?.width}/${imageUrl?.height}` }}\n />\n <div className=\"laptop:p-6 desktop:p-[32px] absolute inset-x-0 bottom-0 flex flex-col gap-6 p-3\">\n <div>\n <Heading size={3} className=\"item-title\" html={title} />\n <Text size={3} className=\"item-description desktop:mt-1 text-text-2 desktop:text-text-4\" html={description} />\n </div>\n <div className=\"flex gap-[16px]\">\n {secondaryButton && secondaryButton.text && (\n <a href={trackUrlRef(secondaryButton.link, `$${componentType}_$${componentName}`)}>\n <Button className={lgButtonSize} variant=\"secondary\">\n {secondaryButton.text}\n </Button>\n </a>\n )}\n {primaryButton && primaryButton.text && (\n <a href={trackUrlRef(primaryButton.link, `$${componentType}_$${componentName}`)}>\n <Button className={lgButtonSize} variant=\"primary\">\n {primaryButton.text}\n </Button>\n </a>\n )}\n </div>\n </div>\n </div>\n )\n}\n\nconst MultiLayoutGraphicBlock = React.forwardRef<HTMLDivElement, MultiLayoutGraphicBlockProps>((props, ref) => {\n const { shape, sectionTitle, groupByTab = false, items = [], carousel } = props.data\n const { trackingData } = useAiuiContext()\n const { profileActivated } = trackingData\n\n const getSpan = (width: 'full' | 'half' | 'one-third') => {\n switch (width) {\n case 'full':\n return 12\n case 'half':\n return 6\n case 'one-third':\n return 4\n }\n }\n\n const tabNames = items\n .map(item => item.tabName)\n .filter(Boolean)\n .filter((item, index, arr) => arr.indexOf(item) === index) as string[]\n\n const tabItemsMaps = tabNames\n .map(tabName => ({\n tabName,\n items: items.filter(item => item.tabName === tabName),\n }))\n .reduce(\n (acc, cur) => {\n acc[cur.tabName] = cur.items\n return acc\n },\n {} as Record<string, (Item & { width?: 'full' | 'half' | 'one-third' })[]>\n )\n\n return (\n <section data-ui-component-id=\"MultiLayoutGraphicBlock\" ref={ref} className=\"text-info-primary\">\n {sectionTitle && <Title data={{ title: sectionTitle }} className=\"section-title\" />}\n\n {groupByTab ? (\n <Tabs shape={shape} align=\"left\" defaultValue={tabNames[0]!}>\n <TabsList>\n {tabNames.map((tabName, index) => (\n <TabsTrigger\n key={index}\n value={tabName!}\n onClick={() => {\n gaTrack({\n event: 'ga4Event',\n event_name: 'component_click',\n member_active_status: profileActivated ? 'active' : 'not active',\n event_parameters: {\n page_group: 'Activity Page_Home Page',\n component_type: componentType,\n component_name: componentName,\n component_title: sectionTitle,\n component_position: 1,\n navigation: tabName,\n },\n })\n }}\n >\n {tabName}\n </TabsTrigger>\n ))}\n </TabsList>\n {tabNames.map((tabName, index) => (\n <TabsContent key={index} value={tabName!} className=\"desktop:mt-[36px] mt-[24px] w-full\">\n <>\n <SwiperBox\n className=\"!overflow-visible\"\n id={'MultiLayoutGraphicBlock1'}\n data={{\n list: tabItemsMaps?.[tabName] || [],\n configuration: { shape: shape, isTab: groupByTab, activeTab: tabName },\n }}\n Slide={ItemBlock}\n breakpoints={{\n 0: {\n spaceBetween: 12,\n freeMode: false,\n slidesPerView: 1,\n },\n 374: {\n spaceBetween: 12,\n freeMode: false,\n slidesPerView: 1.1,\n },\n 768: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: 2.3,\n },\n 1024: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: 3,\n },\n }}\n />\n {carousel && carousel?.items.length > 0 ? (\n <SwiperBox\n className=\"!overflow-visible\"\n id={'MultiLayoutGraphicBlock2'}\n data={{ list: carousel?.items || [], configuration: { shape: shape, isTab: groupByTab } }}\n Slide={ItemBlock}\n breakpoints={{\n 0: {\n spaceBetween: 12,\n freeMode: false,\n slidesPerView: 1,\n },\n 374: {\n spaceBetween: 12,\n freeMode: false,\n slidesPerView: 1.1,\n },\n 768: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: 2.3,\n },\n 1024: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: 3.1,\n },\n 1440: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: 4,\n },\n }}\n />\n ) : null}\n </>\n </TabsContent>\n ))}\n </Tabs>\n ) : (\n <>\n <Grid className=\"w-full\">\n {items.map((item, index) => (\n <GridItem\n key={`${item?.title || ''}${index}`}\n span={getSpan(item.width ?? 'full')}\n className=\"laptop:block hidden\"\n >\n <ItemBlock data={item} configuration={{ shape: shape }} jIndex={index} />\n </GridItem>\n ))}\n {items.map((item, index) => (\n <GridItem key={`${item?.title || ''}${index}`} span={getSpan('full')} className=\"laptop:hidden block\">\n <ItemBlock data={item} configuration={{ shape: shape }} jIndex={index} />\n </GridItem>\n ))}\n </Grid>\n {carousel && carousel?.items.length > 0 ? (\n // <Carousel className=\"laptop:mt-4 mt-3\">\n // <CarouselContent className=\"flex\">\n // {carousel.items.map((item, index) => (\n // <CarouselItem\n // key={`${item?.title || ''}${index}`}\n // className=\"tablet:basis-2/5 laptop:basis-[32%] flex basis-4/5\"\n // >\n // <ItemBlock item={item} shape={shape} />\n // </CarouselItem>\n // ))}\n // </CarouselContent>\n // </Carousel>\n <SwiperBox\n className=\"!overflow-visible\"\n id={'MultiLayoutGraphicBlock3'}\n data={{ list: carousel?.items || [], configuration: { shape: shape } }}\n Slide={ItemBlock}\n breakpoints={{\n 0: {\n spaceBetween: 12,\n freeMode: false,\n slidesPerView: 1,\n },\n 374: {\n spaceBetween: 12,\n freeMode: false,\n slidesPerView: 1.1,\n },\n 768: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: 2.3,\n },\n 1024: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: 3.1,\n },\n 1440: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: 4,\n },\n }}\n />\n ) : null}\n </>\n )}\n </section>\n )\n})\n\nexport default withStyles(MultiLayoutGraphicBlock)\nexport type { MultiLayoutGraphicBlockProps }\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["MultiLayoutGraphicBlock_exports", "__export", "MultiLayoutGraphicBlock_default", "__toCommonJS", "import_jsx_runtime", "import_react", "import_react_responsive", "import_Styles", "import_picture", "import_button", "import_heading", "import_text", "import_gird", "import_Title", "import_utils", "import_SwiperBox", "import_tabs", "import_useEXposure", "import_AiuiProvider", "import_trackUrlRef", "import_track", "componentType", "componentName", "ItemBlock", "item", "configuration", "jIndex", "isMobile", "setIsMobile", "mediaQuery", "trackingData", "profileActivated", "ref", "theme", "title", "description", "imageUrl", "primaryButton", "secondaryButton", "lgButtonSize", "Picture", "Button", "MultiLayoutGraphicBlock", "React", "props", "shape", "sectionTitle", "groupByTab", "items", "carousel", "getSpan", "width", "tabNames", "index", "arr", "tabItemsMaps", "tabName", "acc", "cur", "Title", "SwiperBox"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var s=Object.create;var e=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var c=Object.getPrototypeOf,i=Object.prototype.hasOwnProperty;var m=(o,t)=>{for(var p in t)e(o,p,{get:t[p],enumerable:!0})},f=(o,t,p,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of y(t))!i.call(o,r)&&r!==p&&e(o,r,{get:()=>t[r],enumerable:!(a=u(t,r))||a.enumerable});return o};var x=(o,t,p)=>(p=o!=null?s(c(o)):{},f(t||!o||!o.__esModule?e(p,"default",{value:o,enumerable:!0}):p,o)),d=o=>f(e({},"__esModule",{value:!0}),o);var h={};m(h,{default:()=>l.default});module.exports=d(h);var l=x(require("./MultiLayoutGraphicBlock.js"));
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/biz-components/MultiLayoutGraphicBlock/index.tsx"],
|
|
4
|
+
"sourcesContent": ["export { default } from './MultiLayoutGraphicBlock.js'\nexport type { MultiLayoutGraphicBlockProps } from './types.js'\n"],
|
|
5
|
+
"mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,wCAAAE,EAAAF,GAAA,IAAAG,EAAwB",
|
|
6
|
+
"names": ["MultiLayoutGraphicBlock_exports", "__export", "__toCommonJS", "import_MultiLayoutGraphicBlock"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { Media, Shape, Theme } from '../../types/props';
|
|
2
|
+
export type Item = {
|
|
3
|
+
theme?: Theme;
|
|
4
|
+
title: string;
|
|
5
|
+
description: string;
|
|
6
|
+
imageUrl: Media;
|
|
7
|
+
tabName?: string;
|
|
8
|
+
primaryButton: {
|
|
9
|
+
text: string;
|
|
10
|
+
link: string;
|
|
11
|
+
};
|
|
12
|
+
secondaryButton: {
|
|
13
|
+
text: string;
|
|
14
|
+
link: string;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
export type MultiLayoutGraphicBlockProps = {
|
|
18
|
+
data: {
|
|
19
|
+
shape?: Shape;
|
|
20
|
+
sectionTitle?: string;
|
|
21
|
+
groupByTab?: boolean;
|
|
22
|
+
items: ({
|
|
23
|
+
width?: 'full' | 'half' | 'one-third';
|
|
24
|
+
} & Item)[];
|
|
25
|
+
carousel?: {
|
|
26
|
+
items: Item[];
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
className?: string;
|
|
30
|
+
};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var s=Object.defineProperty;var n=Object.getOwnPropertyDescriptor;var o=Object.getOwnPropertyNames;var p=Object.prototype.hasOwnProperty;var m=(e,t,a,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of o(t))!p.call(e,i)&&i!==a&&s(e,i,{get:()=>t[i],enumerable:!(r=n(t,i))||r.enumerable});return e};var l=e=>m(s({},"__esModule",{value:!0}),e);var g={};module.exports=l(g);
|
|
2
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/biz-components/MultiLayoutGraphicBlock/types.tsx"],
|
|
4
|
+
"sourcesContent": ["import type { Media, Shape, Theme } from '../../types/props'\n\nexport type Item = {\n theme?: Theme\n title: string\n description: string\n imageUrl: Media\n tabName?: string\n primaryButton: {\n text: string\n link: string\n }\n secondaryButton: {\n text: string\n link: string\n }\n}\n\nexport type MultiLayoutGraphicBlockProps = {\n data: {\n shape?: Shape\n sectionTitle?: string\n groupByTab?: boolean\n items: ({\n width?: 'full' | 'half' | 'one-third'\n } & Item)[]\n carousel?: {\n items: Item[]\n }\n }\n className?: string\n}\n"],
|
|
5
|
+
"mappings": "+WAAA,IAAAA,EAAA,kBAAAC,EAAAD",
|
|
6
|
+
"names": ["types_exports", "__toCommonJS"]
|
|
7
|
+
}
|
|
@@ -1,38 +1,58 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
export interface ShelfDisplayItem {
|
|
3
|
+
id?: string;
|
|
3
4
|
/** 产品图片*/
|
|
4
|
-
img
|
|
5
|
+
img?: {
|
|
6
|
+
url: string;
|
|
7
|
+
};
|
|
8
|
+
handle?: string;
|
|
9
|
+
sku?: string;
|
|
5
10
|
/** 折扣后价格*/
|
|
6
|
-
price
|
|
7
|
-
title
|
|
11
|
+
price?: string;
|
|
12
|
+
title?: string;
|
|
8
13
|
/** 折扣前价格*/
|
|
9
|
-
basePrice
|
|
10
|
-
subTitle
|
|
14
|
+
basePrice?: string;
|
|
15
|
+
subTitle?: string;
|
|
11
16
|
/** 标签*/
|
|
12
|
-
tagItems
|
|
17
|
+
tagItems?: string[];
|
|
18
|
+
tab?: string;
|
|
19
|
+
data?: ShelfDisplayItem[];
|
|
13
20
|
}
|
|
21
|
+
type EventType = {
|
|
22
|
+
primaryButton?: (v: any, index: number) => void;
|
|
23
|
+
secondaryButton?: (v: any, index: number) => void;
|
|
24
|
+
};
|
|
14
25
|
export interface ShelfDisplayProps {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
primaryButton?:
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
26
|
+
data: {
|
|
27
|
+
title?: string;
|
|
28
|
+
isShowTab?: boolean;
|
|
29
|
+
direction?: 'horizontal' | 'vertical';
|
|
30
|
+
align?: 'left' | 'center' | 'right';
|
|
31
|
+
productsTab?: any;
|
|
32
|
+
productsCard?: any;
|
|
33
|
+
/** 卡片形状 */
|
|
34
|
+
itemShape?: 'round' | 'square';
|
|
35
|
+
/** 按钮形状 */
|
|
36
|
+
shape?: 'round' | 'square';
|
|
37
|
+
/** 标签页形状*/
|
|
38
|
+
tabShape?: 'rounded' | 'square';
|
|
39
|
+
/** 主按钮配置 */
|
|
40
|
+
primaryButton?: string;
|
|
41
|
+
/** 副按钮配置 */
|
|
42
|
+
secondaryButton?: string;
|
|
43
|
+
theme?: 'light' | 'dark';
|
|
44
|
+
};
|
|
45
|
+
buildData?: {
|
|
46
|
+
categories: any[];
|
|
47
|
+
products: any[];
|
|
35
48
|
};
|
|
49
|
+
/** 按钮事件*/
|
|
50
|
+
event?: EventType;
|
|
51
|
+
className?: string;
|
|
52
|
+
key?: string;
|
|
36
53
|
}
|
|
37
|
-
declare const
|
|
38
|
-
|
|
54
|
+
declare const _default: React.ForwardRefExoticComponent<Omit<Omit<ShelfDisplayProps & React.RefAttributes<HTMLDivElement>, keyof import("../../shared/Styles.js").StylesProps> & Partial<import("../../shared/Styles.js").StylesProps> & {
|
|
55
|
+
className?: string;
|
|
56
|
+
data?: Record<string, any>;
|
|
57
|
+
}, "ref"> & React.RefAttributes<any>>;
|
|
58
|
+
export default _default;
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
"use strict";var
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
${o==="round"?"rounded-[20px] desktop:rounded-3xl":""}
|
|
9
|
-
`,children:u||""})]})]},b))})})})})};var S=C;
|
|
1
|
+
"use strict";"use client";var G=Object.create;var x=Object.defineProperty;var J=Object.getOwnPropertyDescriptor;var K=Object.getOwnPropertyNames;var O=Object.getPrototypeOf,W=Object.prototype.hasOwnProperty;var X=(e,t)=>{for(var n in t)x(e,n,{get:t[n],enumerable:!0})},P=(e,t,n,m)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of K(t))!W.call(e,s)&&s!==n&&x(e,s,{get:()=>t[s],enumerable:!(m=J(t,s))||m.enumerable});return e};var u=(e,t,n)=>(n=e!=null?G(O(e)):{},P(t||!e||!e.__esModule?x(n,"default",{value:e,enumerable:!0}):n,e)),Y=e=>P(x({},"__esModule",{value:!0}),e);var re={};X(re,{default:()=>te});module.exports=Y(re);var r=require("react/jsx-runtime"),i=u(require("react")),f=require("../../helpers/utils.js"),C=u(require("../../components/picture.js")),p=require("../../components/tabs.js"),w=u(require("../../components/button.js")),M=u(require("../Title/index.js")),E=u(require("../SwiperBox/index.js")),A=require("../../shared/Styles.js"),V=require("./shelfDisplay.js"),q=require("react-responsive"),H=require("../AiuiProvider/index.js"),L=require("../../hooks/useEXposure.js"),R=require("../../shared/track.js");const I="image",_="product_shelf",Z=({data:e,configuration:t})=>{const n=(a,o)=>t?.event?.primaryButton?.(a,o+1),m=(a,o)=>t?.event?.secondaryButton?.(a,o+1),{price:s,basePrice:y}=(0,V.formatVariantPrice)({locale:"us",amount:e?.price.amount||0,baseAmount:e?.compareAtPrice?.amount||e?.price.amount||0,currencyCode:e?.price.currencyCode||"USD"}),b=()=>{const a=e?.sku,o=e?.variants;return o?.find(h=>h?.sku===a)?.image?.url||o?.[0]?.image?.url||""};return(0,r.jsxs)("div",{className:(0,f.cn)("laptop:pt-4 laptop:px-6 laptop:pb-6 bg-container-secondary-1 hover:bg-info-white flex size-full cursor-pointer flex-col overflow-hidden p-4 duration-300",t?.itemShape==="round"?"rounded-2xl":"rounded-none"),children:[(0,r.jsx)("div",{className:(0,f.cn)("lg-desktop:mb-3 lg-desktop:h-[195px] relative mb-2 inline-block h-[140px] overflow-hidden"),children:(0,r.jsx)(C.default,{source:b(),className:"flex h-full justify-center object-cover [&_img]:w-auto"})}),(0,r.jsx)("div",{className:"mb-1 box-border flex h-8 flex-wrap gap-1 overflow-hidden",children:e?.tags?.slice(0,1)?.map?.((a,o)=>(0,r.jsx)("div",{className:"tablet:text-base border-info-secondary text-info-primary box-border h-full rounded-2xl border-2 px-2 pt-1 text-sm font-bold",children:a},o))}),(0,r.jsx)("p",{title:e?.title||"",className:"desktop:text-2xl desktop:leading-7 text-info-primary line-clamp-2 max-h-[48px] flex-1 text-xl font-bold",children:e?.title||""}),(0,r.jsx)("h3",{title:e?.description||"",className:"tablet:mt-2 tablet:mb-3 desktop:text-lg text-info-primary mb-2 mt-1 h-6 truncate text-sm font-semibold",children:e?.description||""}),(0,r.jsxs)("div",{className:"mb-2 flex items-center",children:[(0,r.jsx)("div",{className:"tablet:text-2xl text-info-primary text-xl font-bold",children:s||""}),(0,r.jsx)("div",{className:"tablet:text-2xl text-info-secondary ml-1 text-xl font-bold",children:y||""})]}),(0,r.jsxs)("div",{className:(0,f.cn)("flex items-center gap-3",t.direction==="vertical"?"flex-col":""),children:[(0,r.jsx)(w.default,{variant:"primary",onClick:()=>n(e,t?.index),className:`
|
|
2
|
+
laptop:text-sm desktop:text-base text-xs
|
|
3
|
+
${t.direction==="vertical"?"w-full":""}
|
|
4
|
+
`,children:t?.primaryButton||""}),(0,r.jsx)(w.default,{variant:"secondary",onClick:()=>m(e,t?.index),className:`
|
|
5
|
+
laptop:text-sm desktop:text-base text-xs
|
|
6
|
+
${t.direction==="vertical"?"w-full":""}
|
|
7
|
+
`,children:t?.secondaryButton||""})]})]},e?.id||e?.handle)},ee=i.default.forwardRef(({data:e,buildData:t,className:n="",key:m,event:s},y)=>{const[b,a]=(0,i.useState)(""),[o,S]=(0,i.useState)([]),h=(0,q.useMediaQuery)({query:"(max-width: 768px)"}),g=(0,i.useRef)(null);(0,i.useImperativeHandle)(y,()=>g.current);const{trackingData:$}=(0,H.useAiuiContext)(),{profileActivated:T}=$;(0,L.useExposure)(g,{componentType:I,componentName:_,memberActiveStatus:T?"active":"not active",componentTitle:e?.title,navigation:b});const{productsTab:v=[],productsCard:z=[],title:D,align:U="left",isShowTab:N=!0,tabShape:j="square",...Q}=e,k=l=>{const d=l?.map(c=>{const B=t?.products?.find(F=>F?.handle===c?.handle);if(B)return{sku:c.sku,...B}})?.filter(c=>c);S(d)};return(0,i.useEffect)(()=>{if(N){a(v?.[0]?.tab||""),k(v?.[0]?.data||[]);return}k(z)},[]),(0,r.jsxs)("div",{ref:g,className:(0,f.cn)("min-h-[400px] w-full",n,{"aiui-dark":e?.theme==="dark"}),children:[D&&(0,r.jsx)(M.default,{data:{title:D}}),N&&(0,r.jsx)("div",{className:`${h?"w-full overflow-hidden":""}`,children:(0,r.jsx)(p.Tabs,{shape:j,align:U,value:b,onValueChange:l=>{a(l);const d=v?.find(c=>c?.tab===l);k(d?.data||[]),(0,R.gaTrack)({event:"ga4Event",event_name:"component_click",member_active_status:T?"active":"not active",event_parameters:{page_group:"Activity Page_Home Page",component_type:I,component_name:_,component_title:e?.title,component_position:1,navigation:l}})},className:"mb-8",children:(0,r.jsx)(p.TabsList,{children:v?.map((l,d)=>(0,r.jsx)(p.TabsTrigger,{value:l?.tab||"",children:l?.tab},d))})})}),(0,r.jsx)(E.default,{className:"!overflow-visible",id:"ShelfDisplay"+m,data:{list:o,configuration:{...Q,event:s}},Slide:Z,breakpoints:{0:{spaceBetween:12,freeMode:!1,slidesPerView:1},374:{spaceBetween:12,freeMode:!1,slidesPerView:1.1},768:{spaceBetween:16,freeMode:!1,slidesPerView:2},1024:{spaceBetween:16,freeMode:!1,slidesPerView:3},1440:{spaceBetween:16,freeMode:!1,slidesPerView:4}}})]})});var te=(0,A.withStyles)(ee);
|
|
10
8
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/biz-components/ShelfDisplay/index.tsx"],
|
|
4
|
-
"sourcesContent": ["import React from 'react'\nimport { cn } from '../../helpers/utils.js'\nimport Picture from '../../components/picture.js'\nimport Button from '../../components/button.js'\nexport interface ShelfDisplayItem {\n /** \u4EA7\u54C1\u56FE\u7247*/\n img: string\n /** \u6298\u6263\u540E\u4EF7\u683C*/\n price: string\n title: string\n /** \u6298\u6263\u524D\u4EF7\u683C*/\n basePrice: string\n subTitle: string\n /** \u6807\u7B7E*/\n tagItems: string[]\n}\n\nexport interface ShelfDisplayProps {\n products: ShelfDisplayItem[]\n /** \u5361\u7247\u5F62\u72B6 */\n itemShape?: 'round' | 'square'\n className?: string\n /** \u4E3B\u9898\u8272*/\n theme?: 'light' | 'dark'\n /** \u6309\u94AE\u5F62\u72B6 */\n shape?: 'round' | 'square'\n /** \u4E3B\u6309\u94AE\u914D\u7F6E */\n primaryButton?: string\n /** \u526F\u6309\u94AE\u914D\u7F6E */\n secondaryButton?: string\n /** \u6309\u94AE\u4E8B\u4EF6*/\n event?: {\n primaryButton?: {\n onClick: (v: any) => void\n },\n secondaryButton?: {\n onClick: (v: any) => void\n }\n },\n}\n\nconst ShelfDisplay: React.FC<ShelfDisplayProps> = ({\n className = '',\n shape = 'square',\n itemShape = 'square',\n products = [],\n primaryButton,\n secondaryButton,\n event\n}) => {\n\n const onPrimaryButton = (params: ShelfDisplayItem) => {\n event?.primaryButton?.onClick?.(params)\n }\n\n const onSecondaryButton = (params: ShelfDisplayItem) => {\n event?.secondaryButton?.onClick(params)\n }\n\n return (\n <>\n <div className={cn('w-full', className)}>\n <div className={cn('flex overflow-hidden')}>\n <div className={cn('w-full flex', 'gap-3 laptop:gap-4 overflow-x-auto overflow-y-hidden')}>\n {products?.map((item, index) => {\n return (\n <div\n key={index}\n className={cn(\n 'bg-[#EAEAEC] p-4 flex flex-col min-w-[288px] max-w-[288px]',\n 'laptop:min-w-[316px] laptop:max-w-[316px] desktop:min-w-[404px] desktop:max-w-[404px] desktop:pt-4 desktop:px-6 desktop:pb-6',\n itemShape === 'round' ? 'rounded-2xl' : 'rounded-none'\n )}\n >\n <div className={cn('h-[137px] overflow-hidden relative inline-block mb-2', 'desktop:mb-3 desktop:h-[195px]')}>\n <Picture\n source={item?.img || ''}\n className=\"h-full [&_img]:w-auto object-cover flex justify-center\"\n />\n </div>\n <div className=\"mb-1 flex gap-1 flex-wrap desktop:mb-2\">\n {item?.tagItems?.map((tag, index) => {\n return (\n <div\n key={index}\n className=\"border-2 border-[#00BEFA] px-2 py-1 text-sm font-bold rounded-3xl text-[#00BEFA] desktop:text-base\"\n >\n {tag}\n </div>\n )\n })}\n </div>\n <p className=\"flex-1 font-bold text-xl text-[#1D1D1F] leading-[1.2] tracking-[-0.04em] desktop:text-2xl\">\n {item?.title || ''}\n </p>\n <h3 className=\"mt-1 mb-5 text-sm font-semibold text-[#1D1D1F] leading-[1.2] tracking-[-0.02em] desktop:mt-2 desktop:mb-6 desktop:text-lg\">\n {item?.subTitle || ''}\n </h3>\n <div className=\"mb-2 flex items-center\">\n <div className=\"font-bold text-xl text-[#1D1D1F] desktop:text-2xl\">\n {item?.price || ''}\n </div>\n <div className=\"ml-1 font-bold text-xl text-[#86868C] desktop:text-2xl\">\n {item?.basePrice || ''}\n </div>\n </div>\n {/* \u6309\u94AE\u7EC4 */}\n <div className=\"flex items-center gap-3\">\n <Button\n variant=\"primary\"\n onClick={() => onPrimaryButton(item)}\n className={`\n flex-1 bg-transparent border-[#1D1D1F] border box-border text-[#1D1D1F] text-xs laptop:text-sm desktop:text-base\n px-4 laptop:px-6 desktop:px-7 hover:bg-transparent hover:text-black py-2 laptop:py-2.5 desktop:py-3 tracking-[-0.04em]\n ${shape === 'round' ? 'rounded-[20px] desktop:rounded-3xl' : ''}\n `}\n >\n {primaryButton || ''}\n </Button>\n <Button\n variant=\"secondary\"\n onClick={() => onSecondaryButton(item)}\n className={`\n flex-1 bg-[#1D1D1F] border-[#1D1D1F] border text-white box-border text-xs laptop:text-sm desktop:text-base\n px-4 laptop:px-6 desktop:px-7 py-2 laptop:py-2.5 desktop:py-3 tracking-[-0.04em]\n ${shape === 'round' ? 'rounded-[20px] desktop:rounded-3xl' : ''}\n `}\n >\n {secondaryButton || ''}\n </Button>\n </div>\n </div>\n )\n })}\n </div>\n </div>\n </div>\n </>\n )\n}\n\nexport default ShelfDisplay\n"],
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": ["ShelfDisplay_exports", "__export", "ShelfDisplay_default", "__toCommonJS", "import_jsx_runtime", "import_react", "import_utils", "import_picture", "import_button", "
|
|
4
|
+
"sourcesContent": ["'use client'\nimport React, { useState, useEffect, useRef, useImperativeHandle } from 'react'\nimport { cn } from '../../helpers/utils.js'\nimport Picture from '../../components/picture.js'\nimport { Tabs, TabsList, TabsTrigger } from '../../components/tabs.js'\nimport Button from '../../components/button.js'\nimport Title from '../Title/index.js'\nimport SwiperBox from '../SwiperBox/index.js'\nimport { withStyles } from '../../shared/Styles.js'\nimport { formatVariantPrice } from './shelfDisplay.js'\nimport { useMediaQuery } from 'react-responsive'\nimport { useAiuiContext } from '../AiuiProvider/index.js'\nimport { useExposure } from '../../hooks/useEXposure.js'\nimport { gaTrack } from '../../shared/track.js'\n\nconst componentType = 'image'\nconst componentName = 'product_shelf'\n\nexport interface ShelfDisplayItem {\n id?: string\n /** \u4EA7\u54C1\u56FE\u7247*/\n img?: {\n url: string\n }\n handle?: string\n sku?: string\n /** \u6298\u6263\u540E\u4EF7\u683C*/\n price?: string\n title?: string\n /** \u6298\u6263\u524D\u4EF7\u683C*/\n basePrice?: string\n subTitle?: string\n /** \u6807\u7B7E*/\n tagItems?: string[]\n tab?: string\n data?: ShelfDisplayItem[]\n}\n\ntype EventType = {\n primaryButton?: (v: any, index: number) => void\n secondaryButton?: (v: any, index: number) => void\n}\n\nexport interface ShelfDisplayProps {\n data: {\n title?: string\n isShowTab?: boolean\n direction?: 'horizontal' | 'vertical'\n align?: 'left' | 'center' | 'right'\n productsTab?: any\n productsCard?: any\n /** \u5361\u7247\u5F62\u72B6 */\n itemShape?: 'round' | 'square'\n /** \u6309\u94AE\u5F62\u72B6 */\n shape?: 'round' | 'square'\n /** \u6807\u7B7E\u9875\u5F62\u72B6*/\n tabShape?: 'rounded' | 'square'\n /** \u4E3B\u6309\u94AE\u914D\u7F6E */\n primaryButton?: string\n /** \u526F\u6309\u94AE\u914D\u7F6E */\n secondaryButton?: string\n theme?: 'light' | 'dark'\n }\n buildData?: {\n categories: any[]\n products: any[]\n }\n /** \u6309\u94AE\u4E8B\u4EF6*/\n event?: EventType\n className?: string\n key?: string\n}\n\nconst ShelfDisplayItem = ({ data, configuration }: { data: any; configuration?: any }) => {\n const onPrimaryButton = (params: ShelfDisplayItem, index: number) =>\n configuration?.event?.primaryButton?.(params, index + 1)\n\n const onSecondaryButton = (params: ShelfDisplayItem, index: number) =>\n configuration?.event?.secondaryButton?.(params, index + 1)\n\n const { price, basePrice } = formatVariantPrice({\n locale: 'us',\n amount: data?.price.amount || 0,\n baseAmount: data?.compareAtPrice?.amount || data?.price.amount || 0,\n currencyCode: data?.price.currencyCode || 'USD',\n })\n\n const handleUrl = () => {\n const sku = data?.sku\n const skuArray = data?.variants\n const findSku = skuArray?.find((item: any) => item?.sku === sku)\n return findSku?.image?.url || skuArray?.[0]?.image?.url || ''\n }\n\n return (\n <div\n key={data?.id || data?.handle}\n className={cn(\n 'laptop:pt-4 laptop:px-6 laptop:pb-6 bg-container-secondary-1 hover:bg-info-white flex size-full cursor-pointer flex-col overflow-hidden p-4 duration-300',\n configuration?.itemShape === 'round' ? 'rounded-2xl' : 'rounded-none'\n )}\n >\n <div className={cn('lg-desktop:mb-3 lg-desktop:h-[195px] relative mb-2 inline-block h-[140px] overflow-hidden')}>\n <Picture source={handleUrl()} className=\"flex h-full justify-center object-cover [&_img]:w-auto\" />\n </div>\n <div className=\"mb-1 box-border flex h-8 flex-wrap gap-1 overflow-hidden\">\n {data?.tags?.slice(0, 1)?.map?.((item: any, index: number) => {\n return (\n <div\n key={index}\n className=\"tablet:text-base border-info-secondary text-info-primary box-border h-full rounded-2xl border-2 px-2 pt-1 text-sm font-bold\"\n >\n {item}\n </div>\n )\n })}\n </div>\n <p\n title={data?.title || ''}\n className=\"desktop:text-2xl desktop:leading-7 text-info-primary line-clamp-2 max-h-[48px] flex-1 text-xl font-bold\"\n >\n {data?.title || ''}\n </p>\n <h3\n title={data?.description || ''}\n className=\"tablet:mt-2 tablet:mb-3 desktop:text-lg text-info-primary mb-2 mt-1 h-6 truncate text-sm font-semibold\"\n >\n {data?.description || ''}\n </h3>\n <div className=\"mb-2 flex items-center\">\n <div className=\"tablet:text-2xl text-info-primary text-xl font-bold\">{price || ''}</div>\n <div className=\"tablet:text-2xl text-info-secondary ml-1 text-xl font-bold\">{basePrice || ''}</div>\n </div>\n {/* \u6309\u94AE\u7EC4 */}\n <div className={cn('flex items-center gap-3', configuration.direction === 'vertical' ? 'flex-col' : '')}>\n <Button\n variant=\"primary\"\n onClick={() => onPrimaryButton(data, configuration?.index)}\n className={`\n laptop:text-sm desktop:text-base text-xs\n ${configuration.direction === 'vertical' ? 'w-full' : ''}\n `}\n >\n {configuration?.primaryButton || ''}\n </Button>\n <Button\n variant=\"secondary\"\n onClick={() => onSecondaryButton(data, configuration?.index)}\n className={`\n laptop:text-sm desktop:text-base text-xs\n ${configuration.direction === 'vertical' ? 'w-full' : ''}\n `}\n >\n {configuration?.secondaryButton || ''}\n </Button>\n </div>\n </div>\n )\n}\n\nconst ShelfDisplay = React.forwardRef<HTMLDivElement, ShelfDisplayProps>(\n ({ data, buildData, className = '', key, event }, ref) => {\n const [tabId, setTabId] = useState<string>('')\n const [currentItems, setCurrentItems] = useState<ShelfDisplayItem[]>([])\n\n const isMobile = useMediaQuery({ query: '(max-width: 768px)' })\n\n const innerRef = useRef<HTMLDivElement>(null)\n useImperativeHandle(ref, () => innerRef.current as HTMLDivElement)\n const { trackingData } = useAiuiContext()\n const { profileActivated } = trackingData\n\n useExposure(innerRef, {\n componentType: componentType,\n componentName: componentName,\n memberActiveStatus: profileActivated ? 'active' : 'not active',\n componentTitle: data?.title,\n navigation: tabId,\n })\n\n const {\n productsTab = [],\n productsCard = [],\n title,\n align = 'left',\n isShowTab = true,\n tabShape = 'square',\n ...other\n } = data\n\n const handleCurrentTab = (currentData: ShelfDisplayItem[]) => {\n const newCurrentData = currentData\n ?.map(item => {\n const findData = buildData?.products?.find(params => params?.handle === item?.handle)\n if (findData) {\n return {\n sku: item.sku,\n ...findData,\n }\n }\n })\n ?.filter(item => item)\n setCurrentItems(newCurrentData)\n }\n\n useEffect(() => {\n if (isShowTab) {\n setTabId(productsTab?.[0]?.tab || '')\n handleCurrentTab(productsTab?.[0]?.data || [])\n return\n }\n handleCurrentTab(productsCard)\n }, [])\n\n return (\n <div ref={innerRef} className={cn('min-h-[400px] w-full', className, { 'aiui-dark': data?.theme === 'dark' })}>\n {title && <Title data={{ title: title }} />}\n {isShowTab && (\n <div className={`${isMobile ? 'w-full overflow-hidden' : ''}`}>\n <Tabs\n shape={tabShape}\n align={align}\n value={tabId}\n onValueChange={v => {\n setTabId(v)\n const findData = productsTab?.find((item: any) => item?.tab === v)\n handleCurrentTab(findData?.data || [])\n gaTrack({\n event: 'ga4Event',\n event_name: 'component_click',\n member_active_status: profileActivated ? 'active' : 'not active',\n event_parameters: {\n page_group: 'Activity Page_Home Page',\n component_type: componentType,\n component_name: componentName,\n component_title: data?.title,\n component_position: 1,\n navigation: v,\n },\n })\n }}\n className=\"mb-8\"\n >\n <TabsList>\n {productsTab?.map((item: any, index: number) => {\n return (\n <TabsTrigger key={index} value={item?.tab || ''}>\n {item?.tab}\n </TabsTrigger>\n )\n })}\n </TabsList>\n </Tabs>\n </div>\n )}\n <SwiperBox\n className=\"!overflow-visible\"\n id={'ShelfDisplay' + key}\n data={{ list: currentItems, configuration: { ...other, event: event } }}\n Slide={ShelfDisplayItem}\n breakpoints={{\n 0: {\n spaceBetween: 12,\n freeMode: false,\n slidesPerView: 1,\n },\n 374: {\n spaceBetween: 12,\n freeMode: false,\n slidesPerView: 1.1,\n },\n 768: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: 2,\n },\n 1024: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: 3,\n },\n 1440: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: 4,\n },\n }}\n />\n </div>\n )\n }\n)\n\nexport default withStyles(ShelfDisplay)\n"],
|
|
5
|
+
"mappings": "ukBAAA,IAAAA,GAAA,GAAAC,EAAAD,GAAA,aAAAE,KAAA,eAAAC,EAAAH,IAuGQ,IAAAI,EAAA,6BAtGRC,EAAwE,oBACxEC,EAAmB,kCACnBC,EAAoB,0CACpBC,EAA4C,oCAC5CC,EAAmB,yCACnBC,EAAkB,gCAClBC,EAAsB,oCACtBC,EAA2B,kCAC3BC,EAAmC,6BACnCC,EAA8B,4BAC9BC,EAA+B,oCAC/BC,EAA4B,sCAC5BC,EAAwB,iCAExB,MAAMC,EAAgB,QAChBC,EAAgB,gBAyDhBC,EAAmB,CAAC,CAAE,KAAAC,EAAM,cAAAC,CAAc,IAA0C,CACxF,MAAMC,EAAkB,CAACC,EAA0BC,IACjDH,GAAe,OAAO,gBAAgBE,EAAQC,EAAQ,CAAC,EAEnDC,EAAoB,CAACF,EAA0BC,IACnDH,GAAe,OAAO,kBAAkBE,EAAQC,EAAQ,CAAC,EAErD,CAAE,MAAAE,EAAO,UAAAC,CAAU,KAAI,sBAAmB,CAC9C,OAAQ,KACR,OAAQP,GAAM,MAAM,QAAU,EAC9B,WAAYA,GAAM,gBAAgB,QAAUA,GAAM,MAAM,QAAU,EAClE,aAAcA,GAAM,MAAM,cAAgB,KAC5C,CAAC,EAEKQ,EAAY,IAAM,CACtB,MAAMC,EAAMT,GAAM,IACZU,EAAWV,GAAM,SAEvB,OADgBU,GAAU,KAAMC,GAAcA,GAAM,MAAQF,CAAG,GAC/C,OAAO,KAAOC,IAAW,CAAC,GAAG,OAAO,KAAO,EAC7D,EAEA,SACE,QAAC,OAEC,aAAW,MACT,2JACAT,GAAe,YAAc,QAAU,cAAgB,cACzD,EAEA,oBAAC,OAAI,aAAW,MAAG,2FAA2F,EAC5G,mBAAC,EAAAW,QAAA,CAAQ,OAAQJ,EAAU,EAAG,UAAU,yDAAyD,EACnG,KACA,OAAC,OAAI,UAAU,2DACZ,SAAAR,GAAM,MAAM,MAAM,EAAG,CAAC,GAAG,MAAM,CAACW,EAAWP,OAExC,OAAC,OAEC,UAAU,8HAET,SAAAO,GAHIP,CAIP,CAEH,EACH,KACA,OAAC,KACC,MAAOJ,GAAM,OAAS,GACtB,UAAU,0GAET,SAAAA,GAAM,OAAS,GAClB,KACA,OAAC,MACC,MAAOA,GAAM,aAAe,GAC5B,UAAU,yGAET,SAAAA,GAAM,aAAe,GACxB,KACA,QAAC,OAAI,UAAU,yBACb,oBAAC,OAAI,UAAU,sDAAuD,SAAAM,GAAS,GAAG,KAClF,OAAC,OAAI,UAAU,6DAA8D,SAAAC,GAAa,GAAG,GAC/F,KAEA,QAAC,OAAI,aAAW,MAAG,0BAA2BN,EAAc,YAAc,WAAa,WAAa,EAAE,EACpG,oBAAC,EAAAY,QAAA,CACC,QAAQ,UACR,QAAS,IAAMX,EAAgBF,EAAMC,GAAe,KAAK,EACzD,UAAW;AAAA;AAAA,cAEPA,EAAc,YAAc,WAAa,SAAW,EAAE;AAAA,YAGzD,SAAAA,GAAe,eAAiB,GACnC,KACA,OAAC,EAAAY,QAAA,CACC,QAAQ,YACR,QAAS,IAAMR,EAAkBL,EAAMC,GAAe,KAAK,EAC3D,UAAW;AAAA;AAAA,cAEPA,EAAc,YAAc,WAAa,SAAW,EAAE;AAAA,YAGzD,SAAAA,GAAe,iBAAmB,GACrC,GACF,IA3DKD,GAAM,IAAMA,GAAM,MA4DzB,CAEJ,EAEMc,GAAe,EAAAC,QAAM,WACzB,CAAC,CAAE,KAAAf,EAAM,UAAAgB,EAAW,UAAAC,EAAY,GAAI,IAAAC,EAAK,MAAAC,CAAM,EAAGC,IAAQ,CACxD,KAAM,CAACC,EAAOC,CAAQ,KAAI,YAAiB,EAAE,EACvC,CAACC,EAAcC,CAAe,KAAI,YAA6B,CAAC,CAAC,EAEjEC,KAAW,iBAAc,CAAE,MAAO,oBAAqB,CAAC,EAExDC,KAAW,UAAuB,IAAI,KAC5C,uBAAoBN,EAAK,IAAMM,EAAS,OAAyB,EACjE,KAAM,CAAE,aAAAC,CAAa,KAAI,kBAAe,EAClC,CAAE,iBAAAC,CAAiB,EAAID,KAE7B,eAAYD,EAAU,CACpB,cAAe7B,EACf,cAAeC,EACf,mBAAoB8B,EAAmB,SAAW,aAClD,eAAgB5B,GAAM,MACtB,WAAYqB,CACd,CAAC,EAED,KAAM,CACJ,YAAAQ,EAAc,CAAC,EACf,aAAAC,EAAe,CAAC,EAChB,MAAAC,EACA,MAAAC,EAAQ,OACR,UAAAC,EAAY,GACZ,SAAAC,EAAW,SACX,GAAGC,CACL,EAAInC,EAEEoC,EAAoBC,GAAoC,CAC5D,MAAMC,EAAiBD,GACnB,IAAI1B,GAAQ,CACZ,MAAM4B,EAAWvB,GAAW,UAAU,KAAKb,GAAUA,GAAQ,SAAWQ,GAAM,MAAM,EACpF,GAAI4B,EACF,MAAO,CACL,IAAK5B,EAAK,IACV,GAAG4B,CACL,CAEJ,CAAC,GACC,OAAO5B,GAAQA,CAAI,EACvBa,EAAgBc,CAAc,CAChC,EAEA,sBAAU,IAAM,CACd,GAAIL,EAAW,CACbX,EAASO,IAAc,CAAC,GAAG,KAAO,EAAE,EACpCO,EAAiBP,IAAc,CAAC,GAAG,MAAQ,CAAC,CAAC,EAC7C,MACF,CACAO,EAAiBN,CAAY,CAC/B,EAAG,CAAC,CAAC,KAGH,QAAC,OAAI,IAAKJ,EAAU,aAAW,MAAG,uBAAwBT,EAAW,CAAE,YAAajB,GAAM,QAAU,MAAO,CAAC,EACzG,UAAA+B,MAAS,OAAC,EAAAS,QAAA,CAAM,KAAM,CAAE,MAAOT,CAAM,EAAG,EACxCE,MACC,OAAC,OAAI,UAAW,GAAGR,EAAW,yBAA2B,EAAE,GACzD,mBAAC,QACC,MAAOS,EACP,MAAOF,EACP,MAAOX,EACP,cAAeoB,GAAK,CAClBnB,EAASmB,CAAC,EACV,MAAMF,EAAWV,GAAa,KAAMlB,GAAcA,GAAM,MAAQ8B,CAAC,EACjEL,EAAiBG,GAAU,MAAQ,CAAC,CAAC,KACrC,WAAQ,CACN,MAAO,WACP,WAAY,kBACZ,qBAAsBX,EAAmB,SAAW,aACpD,iBAAkB,CAChB,WAAY,0BACZ,eAAgB/B,EAChB,eAAgBC,EAChB,gBAAiBE,GAAM,MACvB,mBAAoB,EACpB,WAAYyC,CACd,CACF,CAAC,CACH,EACA,UAAU,OAEV,mBAAC,YACE,SAAAZ,GAAa,IAAI,CAAClB,EAAWP,OAE1B,OAAC,eAAwB,MAAOO,GAAM,KAAO,GAC1C,SAAAA,GAAM,KADSP,CAElB,CAEH,EACH,EACF,EACF,KAEF,OAAC,EAAAsC,QAAA,CACC,UAAU,oBACV,GAAI,eAAiBxB,EACrB,KAAM,CAAE,KAAMK,EAAc,cAAe,CAAE,GAAGY,EAAO,MAAOhB,CAAM,CAAE,EACtE,MAAOpB,EACP,YAAa,CACX,EAAG,CACD,aAAc,GACd,SAAU,GACV,cAAe,CACjB,EACA,IAAK,CACH,aAAc,GACd,SAAU,GACV,cAAe,GACjB,EACA,IAAK,CACH,aAAc,GACd,SAAU,GACV,cAAe,CACjB,EACA,KAAM,CACJ,aAAc,GACd,SAAU,GACV,cAAe,CACjB,EACA,KAAM,CACJ,aAAc,GACd,SAAU,GACV,cAAe,CACjB,CACF,EACF,GACF,CAEJ,CACF,EAEA,IAAOlB,MAAQ,cAAWiC,EAAY",
|
|
6
|
+
"names": ["ShelfDisplay_exports", "__export", "ShelfDisplay_default", "__toCommonJS", "import_jsx_runtime", "import_react", "import_utils", "import_picture", "import_tabs", "import_button", "import_Title", "import_SwiperBox", "import_Styles", "import_shelfDisplay", "import_react_responsive", "import_AiuiProvider", "import_useEXposure", "import_track", "componentType", "componentName", "ShelfDisplayItem", "data", "configuration", "onPrimaryButton", "params", "index", "onSecondaryButton", "price", "basePrice", "handleUrl", "sku", "skuArray", "item", "Picture", "Button", "ShelfDisplay", "React", "buildData", "className", "key", "event", "ref", "tabId", "setTabId", "currentItems", "setCurrentItems", "isMobile", "innerRef", "trackingData", "profileActivated", "productsTab", "productsCard", "title", "align", "isShowTab", "tabShape", "other", "handleCurrentTab", "currentData", "newCurrentData", "findData", "Title", "v", "SwiperBox"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export declare const PRICE_SYMBOL: any;
|
|
2
|
+
export declare const languageTerritory: (locale: string) => string;
|
|
3
|
+
export declare function formatPrice({ amount, currencyCode, locale, maximumFractionDigits, minimumFractionDigits, removeTrailingZeros, }: {
|
|
4
|
+
amount: number;
|
|
5
|
+
currencyCode: string;
|
|
6
|
+
locale: string;
|
|
7
|
+
maximumFractionDigits?: number;
|
|
8
|
+
minimumFractionDigits?: number;
|
|
9
|
+
removeTrailingZeros?: boolean;
|
|
10
|
+
}): string;
|
|
11
|
+
export declare function formatVariantPrice({ amount, baseAmount, currencyCode, locale, maximumFractionDigits, minimumFractionDigits, removeTrailingZeros, }: {
|
|
12
|
+
baseAmount: number;
|
|
13
|
+
amount: number;
|
|
14
|
+
currencyCode: string;
|
|
15
|
+
locale: string;
|
|
16
|
+
maximumFractionDigits?: number;
|
|
17
|
+
minimumFractionDigits?: number;
|
|
18
|
+
removeTrailingZeros?: boolean;
|
|
19
|
+
}): {
|
|
20
|
+
price: string;
|
|
21
|
+
basePrice: string | undefined;
|
|
22
|
+
discount: string | null;
|
|
23
|
+
};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var o=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var $=Object.getOwnPropertyNames;var y=Object.prototype.hasOwnProperty;var D=(r,e)=>{for(var t in e)o(r,t,{get:e[t],enumerable:!0})},F=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of $(e))!y.call(r,i)&&i!==t&&o(r,i,{get:()=>e[i],enumerable:!(n=p(e,i))||n.enumerable});return r};var v=r=>F(o({},"__esModule",{value:!0}),r);var P={};D(P,{PRICE_SYMBOL:()=>c,formatPrice:()=>f,formatVariantPrice:()=>x,languageTerritory:()=>m});module.exports=v(P);const c={us:"$",uk:"\xA3",ca:"$",eu:"\u20AC",fr:"\u20AC",de:"\u20AC",vn:"\u20AB",cl:"$",sg:"$",ae:"AED"},m=r=>({us:"en-us",uk:"en-gb",ca:"en-ca",au:"en-au",eu:"en",fr:"fr-fr",de:"de-de",vn:"vi-vn",sg:"en-sg","ae-en":"ae-en",plus:"en-us",cl:"es-cl"})[r]||"";function f({amount:r,currencyCode:e,locale:t,maximumFractionDigits:n,minimumFractionDigits:i,removeTrailingZeros:s=!1}){let u=new Intl.NumberFormat(m(t),{style:"currency",currency:e||"USD",minimumFractionDigits:n===0?0:i,maximumFractionDigits:n}).format(r);return["eu-de","eu-en","de","eu"].includes(t)&&(u=u?.toString()?.replace(/[\s]/g,"")),s&&(u=u.replace(/(\.\d*?[1-9])0+\b/,"$1").replace(/\.0+\b/,"").replace(/(\,\d*?[1-9])0+\b/,"$1").replace(/\,0+\b/,"")),u}function x({amount:r,baseAmount:e,currencyCode:t,locale:n,maximumFractionDigits:i,minimumFractionDigits:s,removeTrailingZeros:a}){if(typeof Intl>"u")return{price:`${c[n]}${r}`,basePrice:`${c[n]}${e}`,discount:`${c[n]}${e-r||0}`};const u=e>r,g=new Intl.NumberFormat(m(n),{style:"percent"}),d=u?g.format((e-r)/e):null,l=f({amount:r,currencyCode:t,locale:n,removeTrailingZeros:a}),b=u?f({amount:e,currencyCode:t,locale:n,maximumFractionDigits:i,minimumFractionDigits:s,removeTrailingZeros:a}):void 0;return{price:l,basePrice:b,discount:d}}
|
|
2
|
+
//# sourceMappingURL=shelfDisplay.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/biz-components/ShelfDisplay/shelfDisplay.ts"],
|
|
4
|
+
"sourcesContent": ["/* eslint-disable no-useless-escape */\nexport const PRICE_SYMBOL = {\n us: '$',\n uk: '\u00A3',\n ca: '$',\n eu: '\u20AC',\n fr: '\u20AC',\n de: '\u20AC',\n vn: '\u20AB',\n cl: '$',\n sg: '$',\n ae: 'AED',\n} as any\n\nexport const languageTerritory = (locale: string) =>\n // https://unicode-org.github.io/cldr-staging/charts/37/supplemental/language_territory_information.html\n ({\n us: 'en-us',\n uk: 'en-gb',\n ca: 'en-ca',\n au: 'en-au',\n eu: 'en',\n fr: 'fr-fr',\n de: 'de-de',\n vn: 'vi-vn',\n sg: 'en-sg',\n 'ae-en': 'ae-en',\n plus: 'en-us',\n cl: 'es-cl',\n })[locale] || ''\n\nexport function formatPrice({\n amount,\n currencyCode,\n locale,\n maximumFractionDigits,\n minimumFractionDigits,\n removeTrailingZeros = false,\n}: {\n amount: number\n currencyCode: string\n locale: string\n maximumFractionDigits?: number\n minimumFractionDigits?: number\n removeTrailingZeros?: boolean\n}) {\n const formatCurrency = new Intl.NumberFormat(languageTerritory(locale), {\n style: 'currency',\n currency: currencyCode || 'USD',\n minimumFractionDigits: maximumFractionDigits === 0 ? 0 : minimumFractionDigits,\n maximumFractionDigits,\n })\n\n let formattedValue = formatCurrency.format(amount)\n\n if (['eu-de', 'eu-en', 'de', 'eu'].includes(locale)) {\n formattedValue = formattedValue?.toString()?.replace(/[\\s]/g, '')\n }\n\n if (removeTrailingZeros) {\n // Adjust the regex to match comma as decimal separator\n formattedValue = formattedValue\n .replace(/(\\.\\d*?[1-9])0+\\b/, '$1')\n .replace(/\\.0+\\b/, '')\n .replace(/(\\,\\d*?[1-9])0+\\b/, '$1')\n .replace(/\\,0+\\b/, '')\n }\n\n return formattedValue\n}\n\nexport function formatVariantPrice({\n amount,\n baseAmount,\n currencyCode,\n locale,\n maximumFractionDigits,\n minimumFractionDigits,\n removeTrailingZeros,\n}: {\n baseAmount: number\n amount: number\n currencyCode: string\n locale: string\n maximumFractionDigits?: number\n minimumFractionDigits?: number\n removeTrailingZeros?: boolean\n}) {\n if (typeof Intl === 'undefined') {\n return {\n price: `${PRICE_SYMBOL[locale]}${amount}`,\n basePrice: `${PRICE_SYMBOL[locale]}${baseAmount}`,\n discount: `${PRICE_SYMBOL[locale]}${baseAmount - amount || 0}`,\n }\n }\n\n const hasDiscount = baseAmount > amount\n const formatDiscount = new Intl.NumberFormat(languageTerritory(locale), {\n style: 'percent',\n })\n const discount = hasDiscount ? formatDiscount.format((baseAmount - amount) / baseAmount) : null\n\n const price = formatPrice({ amount, currencyCode, locale, removeTrailingZeros })\n const basePrice = hasDiscount\n ? formatPrice({\n amount: baseAmount,\n currencyCode,\n locale,\n maximumFractionDigits,\n minimumFractionDigits,\n removeTrailingZeros,\n })\n : undefined\n\n return { price, basePrice, discount }\n}\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,kBAAAE,EAAA,gBAAAC,EAAA,uBAAAC,EAAA,sBAAAC,IAAA,eAAAC,EAAAN,GACO,MAAME,EAAe,CAC1B,GAAI,IACJ,GAAI,OACJ,GAAI,IACJ,GAAI,SACJ,GAAI,SACJ,GAAI,SACJ,GAAI,SACJ,GAAI,IACJ,GAAI,IACJ,GAAI,KACN,EAEaG,EAAqBE,IAE/B,CACC,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,KACJ,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,QAAS,QACT,KAAM,QACN,GAAI,OACN,GAAGA,CAAM,GAAK,GAET,SAASJ,EAAY,CAC1B,OAAAK,EACA,aAAAC,EACA,OAAAF,EACA,sBAAAG,EACA,sBAAAC,EACA,oBAAAC,EAAsB,EACxB,EAOG,CAQD,IAAIC,EAPmB,IAAI,KAAK,aAAaR,EAAkBE,CAAM,EAAG,CACtE,MAAO,WACP,SAAUE,GAAgB,MAC1B,sBAAuBC,IAA0B,EAAI,EAAIC,EACzD,sBAAAD,CACF,CAAC,EAEmC,OAAOF,CAAM,EAEjD,MAAI,CAAC,QAAS,QAAS,KAAM,IAAI,EAAE,SAASD,CAAM,IAChDM,EAAiBA,GAAgB,SAAS,GAAG,QAAQ,QAAS,EAAE,GAG9DD,IAEFC,EAAiBA,EACd,QAAQ,oBAAqB,IAAI,EACjC,QAAQ,SAAU,EAAE,EACpB,QAAQ,oBAAqB,IAAI,EACjC,QAAQ,SAAU,EAAE,GAGlBA,CACT,CAEO,SAAST,EAAmB,CACjC,OAAAI,EACA,WAAAM,EACA,aAAAL,EACA,OAAAF,EACA,sBAAAG,EACA,sBAAAC,EACA,oBAAAC,CACF,EAQG,CACD,GAAI,OAAO,KAAS,IAClB,MAAO,CACL,MAAO,GAAGV,EAAaK,CAAM,CAAC,GAAGC,CAAM,GACvC,UAAW,GAAGN,EAAaK,CAAM,CAAC,GAAGO,CAAU,GAC/C,SAAU,GAAGZ,EAAaK,CAAM,CAAC,GAAGO,EAAaN,GAAU,CAAC,EAC9D,EAGF,MAAMO,EAAcD,EAAaN,EAC3BQ,EAAiB,IAAI,KAAK,aAAaX,EAAkBE,CAAM,EAAG,CACtE,MAAO,SACT,CAAC,EACKU,EAAWF,EAAcC,EAAe,QAAQF,EAAaN,GAAUM,CAAU,EAAI,KAErFI,EAAQf,EAAY,CAAE,OAAAK,EAAQ,aAAAC,EAAc,OAAAF,EAAQ,oBAAAK,CAAoB,CAAC,EACzEO,EAAYJ,EACdZ,EAAY,CACV,OAAQW,EACR,aAAAL,EACA,OAAAF,EACA,sBAAAG,EACA,sBAAAC,EACA,oBAAAC,CACF,CAAC,EACD,OAEJ,MAAO,CAAE,MAAAM,EAAO,UAAAC,EAAW,SAAAF,CAAS,CACtC",
|
|
6
|
+
"names": ["shelfDisplay_exports", "__export", "PRICE_SYMBOL", "formatPrice", "formatVariantPrice", "languageTerritory", "__toCommonJS", "locale", "amount", "currencyCode", "maximumFractionDigits", "minimumFractionDigits", "removeTrailingZeros", "formattedValue", "baseAmount", "hasDiscount", "formatDiscount", "discount", "price", "basePrice"]
|
|
7
|
+
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { SloganProps } from './types.js';
|
|
3
|
-
declare const
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
}
|
|
3
|
+
export declare const componentType = "copy";
|
|
4
|
+
export declare const componentName = "brand_slogan";
|
|
5
|
+
declare const _default: React.ForwardRefExoticComponent<Omit<Omit<SloganProps & React.RefAttributes<HTMLDivElement>, keyof import("../../shared/Styles.js").StylesProps> & Partial<import("../../shared/Styles.js").StylesProps> & {
|
|
6
|
+
className?: string;
|
|
7
|
+
data?: Record<string, any>;
|
|
8
|
+
}, "ref"> & React.RefAttributes<any>>;
|
|
9
9
|
export default _default;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";"use client";var Q=Object.create;var v=Object.defineProperty;var V=Object.getOwnPropertyDescriptor;var W=Object.getOwnPropertyNames;var X=Object.getPrototypeOf,Z=Object.prototype.hasOwnProperty;var tt=(t,e)=>{for(var o in e)v(t,o,{get:e[o],enumerable:!0})},$=(t,e,o,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of W(e))!Z.call(t,n)&&n!==o&&v(t,n,{get:()=>e[n],enumerable:!(s=V(e,n))||s.enumerable});return t};var et=(t,e,o)=>(o=t!=null?Q(X(t)):{},$(e||!t||!t.__esModule?v(o,"default",{value:t,enumerable:!0}):o,t)),rt=t=>$(v({},"__esModule",{value:!0}),t);var st={};tt(st,{componentName:()=>j,componentType:()=>z,default:()=>nt});module.exports=rt(st);var a=require("react/jsx-runtime"),r=et(require("react")),G=require("@gsap/react"),f=require("gsap"),N=require("gsap/dist/SplitText"),g=require("gsap/dist/ScrollTrigger"),p=require("../../helpers/utils.js"),b=require("../../components/index.js"),L=require("../../shared/Styles.js"),C=require("../../hooks/useEXposure.js"),P=require("../AiuiProvider/index.js");const z="copy",j="brand_slogan";function ot(t=[],e=3){const o=[];for(let s=0;s<t.length;s+=e)o.push(t.slice(s,s+e));return o}const D=r.default.forwardRef(({data:t,className:e=""},o)=>{const{title:s,features:n=[],featureChunkSize:k=3}=t,[y,I]=r.default.useState(0),[F,w]=r.default.useState(!0),T=(0,r.useRef)(null),d=ot(n,k),E=d.length,u=n.length>k,U=u?[...d,d[0]]:d,S=40;(0,r.useImperativeHandle)(o,()=>T.current);const{trackingData:Y}=(0,P.useAiuiContext)(),{profileActivated:_}=Y;(0,C.useExposure)(T,{componentType:z,componentName:j,componentTitle:s,memberActiveStatus:_?"active":"not active"}),r.default.useEffect(()=>{if(!u)return;const l=setInterval(()=>{I(i=>i+1),w(!0)},3e3);return()=>clearInterval(l)},[E,u]),r.default.useEffect(()=>{if(u)if(y===E){const l=setTimeout(()=>{w(!1),I(0)},500);return()=>clearTimeout(l)}else w(!0)},[y,E,u]);const m=(0,r.useRef)(null),M=(0,r.useRef)(null),x=(0,r.useRef)(null);return(0,G.useGSAP)(()=>{if(f.gsap.registerPlugin(g.ScrollTrigger,N.SplitText),!m.current)return;x.current=new N.SplitText(m.current,{type:"words",wordsClass:"word"});const l=m.current?.clientHeight||100,i=x.current.words;return f.gsap.set(i,{opacity:0}),g.ScrollTrigger.create({trigger:m.current,start:"bottom bottom-=6%",end:`bottom+=${l*2+80}px bottom-=6%`,scrub:!0,onUpdate:c=>{const h=c.progress,R=i.length,q=1/R,A=.5;i.forEach((B,J)=>{const K=J/R*(1-A),O=q*(1+A);let H=(h-K)/O;H=Math.max(0,Math.min(H,1)),f.gsap.set(B,{opacity:H})})}}),n&&n.length>0&&g.ScrollTrigger.create({trigger:M.current,start:`bottom+=${l*2}px bottom-=6%`,end:`bottom+=${l*2+100}px bottom-=6%`,onUpdate:c=>{f.gsap.set(M.current,{opacity:c.progress})}}),()=>{x.current&&x.current.revert(),g.ScrollTrigger.getAll().forEach(c=>c.kill())}},[]),(0,a.jsxs)("div",{ref:T,className:(0,p.cn)("slogan-container laptop:flex-row laptop:items-end laptop:justify-between text-info-primary flex h-auto w-full flex-col items-start justify-center gap-[24px] text-center",e),children:[(0,a.jsx)(b.Heading,{ref:m,as:"h2",size:2,weight:"bold",align:"left",className:(0,p.cn)("slogan-title laptop:text-[40px] desktop:text-[48px] lg-desktop:text-[64px] text-[40px] !leading-none"),html:s}),n&&n.length>0&&(0,a.jsx)("div",{className:(0,p.cn)("relative w-full max-w-[500px] overflow-hidden",`tablet:h-[${S}px]`),children:(0,a.jsx)("div",{className:(0,p.cn)(["flex flex-col",F?"transition-transform duration-500 ease-[cubic-bezier(.4,0,.2,1)]":"!transition-none"]),style:{transform:`translateY(-${y*S}px)`},children:U.map((l,i)=>(0,a.jsx)("div",{className:(0,p.cn)("flex w-full flex-row items-stretch gap-3 overflow-hidden",`tablet:h-[${S}px]`),children:l.map((c,h)=>(0,a.jsxs)(r.default.Fragment,{children:[h>0&&(0,a.jsx)("div",{className:"slogan-feature-divider w-px self-stretch bg-[#E4E5E6]"}),(0,a.jsx)(b.Text,{size:3,align:"left",as:"p",className:"slogan-feature-text tablet:text-[13px] laptop:text-[14px] line-clamp-3 text-[12px] leading-[1.4]",html:c.title})]},h))},i))})})]})});D.displayName="Slogan";var nt=(0,L.withStyles)(D);
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/biz-components/Slogan/index.tsx"],
|
|
4
|
-
"sourcesContent": ["
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": ["Slogan_exports", "__export", "Slogan_default", "__toCommonJS", "import_jsx_runtime", "import_react", "import_utils", "import_components", "import_Styles", "Slogan", "React", "title", "features", "
|
|
4
|
+
"sourcesContent": ["'use client'\nimport React, { useImperativeHandle, useRef } from 'react'\nimport { useGSAP } from '@gsap/react'\nimport { gsap } from 'gsap'\nimport { SplitText } from 'gsap/dist/SplitText'\nimport { ScrollTrigger } from 'gsap/dist/ScrollTrigger'\nimport { cn } from '../../helpers/utils.js'\nimport { Heading, Text } from '../../components/index.js'\nimport { withStyles } from '../../shared/Styles.js'\nimport type { SloganProps } from './types.js'\nimport { useExposure } from '../../hooks/useEXposure.js'\nimport { useAiuiContext } from '../AiuiProvider/index.js'\n\nexport const componentType = 'copy'\nexport const componentName = 'brand_slogan'\n\nfunction chunkArray(array: { title: string }[] = [], size: number = 3) {\n const result = []\n for (let i = 0; i < array.length; i += size) {\n result.push(array.slice(i, i + size))\n }\n return result\n}\n\nconst Slogan = React.forwardRef<HTMLDivElement, SloganProps>(({ data, className = '' }, ref) => {\n const { title, features = [], featureChunkSize = 3 } = data\n const [groupIndex, setGroupIndex] = React.useState(0)\n const [isTransitioning, setIsTransitioning] = React.useState(true)\n const innerRef = useRef<HTMLDivElement>(null)\n const featuresGroups = chunkArray(features, featureChunkSize)\n const totalGroups = featuresGroups.length\n const needCarousel = features.length > featureChunkSize\n const displayGroups = needCarousel ? [...featuresGroups, featuresGroups[0]] : featuresGroups\n const groupHeight = 40\n\n useImperativeHandle(ref, () => innerRef.current as HTMLDivElement)\n\n const { trackingData } = useAiuiContext()\n const { profileActivated } = trackingData\n useExposure(innerRef, {\n componentType,\n componentName,\n componentTitle: title,\n memberActiveStatus: profileActivated ? 'active' : 'not active',\n })\n\n // \u53EA\u5728\u9700\u8981\u8F6E\u64AD\u65F6\u542F\u7528\u5B9A\u65F6\u5668\n React.useEffect(() => {\n if (!needCarousel) return\n const timer = setInterval(() => {\n setGroupIndex(i => i + 1)\n setIsTransitioning(true)\n }, 3000)\n return () => clearInterval(timer)\n }, [totalGroups, needCarousel])\n\n // \u53EA\u5728\u9700\u8981\u8F6E\u64AD\u65F6\u5904\u7406\u65E0\u7F1D\u8DF3\u8F6C\n React.useEffect(() => {\n if (!needCarousel) return\n if (groupIndex === totalGroups) {\n const handle = setTimeout(() => {\n setIsTransitioning(false)\n setGroupIndex(0)\n }, 500) // 500ms\u7B49\u4E8E\u52A8\u753B\u65F6\u957F\n return () => clearTimeout(handle)\n } else {\n setIsTransitioning(true)\n }\n }, [groupIndex, totalGroups, needCarousel])\n\n // \u6807\u9898\u52A8\u753B\u903B\u8F91\u4FDD\u6301\u4E0D\u53D8\n const titleRef = useRef<HTMLHeadingElement>(null)\n const featuresRef = useRef<HTMLDivElement>(null)\n const splitTextInstance = useRef<SplitText | null>(null)\n useGSAP(() => {\n gsap.registerPlugin(ScrollTrigger, SplitText)\n if (!titleRef.current) return\n splitTextInstance.current = new SplitText(titleRef.current, {\n type: 'words',\n wordsClass: 'word',\n })\n const height = titleRef.current?.clientHeight || 100\n\n const words = splitTextInstance.current.words\n gsap.set(words, { opacity: 0 })\n ScrollTrigger.create({\n trigger: titleRef.current,\n start: 'bottom bottom-=6%',\n end: `bottom+=${height * 2 + 80}px bottom-=6%`,\n scrub: true,\n onUpdate: (self: any) => {\n const progress = self.progress\n const total = words.length\n const interval = 1 / total\n const overlap = 0.5\n words.forEach((word: any, i: number) => {\n const start = (i / total) * (1 - overlap)\n const width = interval * (1 + overlap)\n let opacity = (progress - start) / width\n opacity = Math.max(0, Math.min(opacity, 1))\n gsap.set(word, { opacity })\n })\n },\n })\n\n if (features && features.length > 0) {\n ScrollTrigger.create({\n trigger: featuresRef.current,\n start: `bottom+=${height * 2}px bottom-=6%`,\n end: `bottom+=${height * 2 + 100}px bottom-=6%`,\n onUpdate: (self: any) => {\n gsap.set(featuresRef.current, { opacity: self.progress })\n },\n })\n }\n\n return () => {\n splitTextInstance.current && splitTextInstance.current.revert()\n ScrollTrigger.getAll().forEach((t: any) => t.kill())\n }\n }, [])\n\n return (\n <div\n ref={innerRef}\n className={cn(\n 'slogan-container laptop:flex-row laptop:items-end laptop:justify-between text-info-primary flex h-auto w-full flex-col items-start justify-center gap-[24px] text-center',\n className\n )}\n >\n <Heading\n ref={titleRef}\n as=\"h2\"\n size={2}\n weight={'bold'}\n align={'left'}\n className={cn(\n 'slogan-title laptop:text-[40px] desktop:text-[48px] lg-desktop:text-[64px] text-[40px] !leading-none'\n )}\n html={title}\n />\n {features && features.length > 0 && (\n <div className={cn('relative w-full max-w-[500px] overflow-hidden', `tablet:h-[${groupHeight}px]`)}>\n <div\n className={cn([\n 'flex flex-col',\n isTransitioning ? 'transition-transform duration-500 ease-[cubic-bezier(.4,0,.2,1)]' : '!transition-none',\n ])}\n style={{\n transform: `translateY(-${groupIndex * groupHeight}px)`,\n }}\n >\n {displayGroups.map((group, idx) => (\n <div\n className={cn(\n 'flex w-full flex-row items-stretch gap-3 overflow-hidden',\n `tablet:h-[${groupHeight}px]`\n )}\n key={idx}\n >\n {group.map((feature, index) => (\n <React.Fragment key={index}>\n {index > 0 && <div className=\"slogan-feature-divider w-px self-stretch bg-[#E4E5E6]\" />}\n <Text\n size={3}\n align=\"left\"\n as=\"p\"\n className=\"slogan-feature-text tablet:text-[13px] laptop:text-[14px] line-clamp-3 text-[12px] leading-[1.4]\"\n html={feature.title}\n />\n </React.Fragment>\n ))}\n </div>\n ))}\n </div>\n </div>\n )}\n </div>\n )\n})\n\nSlogan.displayName = 'Slogan'\n\nexport default withStyles(Slogan)\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Slogan_exports", "__export", "componentName", "componentType", "Slogan_default", "__toCommonJS", "import_jsx_runtime", "import_react", "import_gsap", "import_SplitText", "import_ScrollTrigger", "import_utils", "import_components", "import_Styles", "import_useEXposure", "import_AiuiProvider", "chunkArray", "array", "size", "result", "i", "Slogan", "React", "data", "className", "ref", "title", "features", "featureChunkSize", "groupIndex", "setGroupIndex", "isTransitioning", "setIsTransitioning", "innerRef", "featuresGroups", "totalGroups", "needCarousel", "displayGroups", "groupHeight", "trackingData", "profileActivated", "timer", "handle", "titleRef", "featuresRef", "splitTextInstance", "height", "words", "self", "progress", "total", "interval", "overlap", "word", "start", "width", "opacity", "t", "group", "idx", "feature", "index"]
|
|
7
7
|
}
|