@anker-in/headless-ui 1.1.16 → 1.1.17-alpha-1765978730
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/biz-components/AccordionCards/index.d.ts +17 -0
- 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/AnchorNavigation/index.d.ts +22 -0
- package/dist/cjs/biz-components/AnchorNavigation/index.js +2 -0
- package/dist/cjs/biz-components/AnchorNavigation/index.js.map +7 -0
- package/dist/cjs/biz-components/AnchorNavigation/useAnchorPosition.d.ts +2 -0
- package/dist/cjs/biz-components/AnchorNavigation/useAnchorPosition.js +2 -0
- package/dist/cjs/biz-components/AnchorNavigation/useAnchorPosition.js.map +7 -0
- package/dist/cjs/biz-components/BrandEquity/BrandEquity.js +1 -1
- package/dist/cjs/biz-components/BrandEquity/BrandEquity.js.map +2 -2
- package/dist/cjs/biz-components/BuyOneGetOneShelf/ProductCard.d.ts +83 -0
- package/dist/cjs/biz-components/BuyOneGetOneShelf/ProductCard.js +2 -0
- package/dist/cjs/biz-components/BuyOneGetOneShelf/ProductCard.js.map +7 -0
- package/dist/cjs/biz-components/BuyOneGetOneShelf/index.d.ts +40 -0
- package/dist/cjs/biz-components/BuyOneGetOneShelf/index.js +2 -0
- package/dist/cjs/biz-components/BuyOneGetOneShelf/index.js.map +7 -0
- package/dist/cjs/biz-components/Category/index.js +1 -1
- package/dist/cjs/biz-components/Category/index.js.map +2 -2
- package/dist/cjs/biz-components/Evaluate/index.js +1 -1
- package/dist/cjs/biz-components/Evaluate/index.js.map +2 -2
- package/dist/cjs/biz-components/EventSchedule/index.d.ts +39 -0
- package/dist/cjs/biz-components/EventSchedule/index.js +2 -0
- package/dist/cjs/biz-components/EventSchedule/index.js.map +7 -0
- package/dist/cjs/biz-components/FooterNavigation/icons/Subtract.js +1 -1
- package/dist/cjs/biz-components/FooterNavigation/icons/Subtract.js.map +2 -2
- package/dist/cjs/biz-components/FooterNavigation/index.js +1 -1
- package/dist/cjs/biz-components/FooterNavigation/index.js.map +2 -2
- package/dist/cjs/biz-components/GraphicAttractionBlock/index.js +1 -1
- package/dist/cjs/biz-components/GraphicAttractionBlock/index.js.map +2 -2
- package/dist/cjs/biz-components/HeaderNavigation/icons/Close.js +1 -1
- package/dist/cjs/biz-components/HeaderNavigation/icons/Close.js.map +2 -2
- package/dist/cjs/biz-components/HeaderNavigation/icons/DownArrow.js +1 -1
- package/dist/cjs/biz-components/HeaderNavigation/icons/DownArrow.js.map +2 -2
- package/dist/cjs/biz-components/HeaderNavigation/icons/LeftArrow.js +1 -1
- package/dist/cjs/biz-components/HeaderNavigation/icons/LeftArrow.js.map +2 -2
- package/dist/cjs/biz-components/HeaderNavigation/icons/RightArrow.js +1 -1
- package/dist/cjs/biz-components/HeaderNavigation/icons/RightArrow.js.map +2 -2
- package/dist/cjs/biz-components/HeaderNavigation/index.js +1 -1
- package/dist/cjs/biz-components/HeaderNavigation/index.js.map +3 -3
- package/dist/cjs/biz-components/HeroBanner/Countdown.js +1 -1
- package/dist/cjs/biz-components/HeroBanner/Countdown.js.map +2 -2
- package/dist/cjs/biz-components/HeroBanner/HeroBanner.d.ts +4 -1
- 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/Listing/components/ProductCard/ProductDetail/BenefitsTab.js.map +2 -2
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.js +1 -1
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.js.map +2 -2
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js +3 -3
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js.map +2 -2
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/index.js +1 -1
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/index.js.map +2 -2
- package/dist/cjs/biz-components/Media/index.d.ts +32 -0
- package/dist/cjs/biz-components/Media/index.js +2 -0
- package/dist/cjs/biz-components/Media/index.js.map +7 -0
- package/dist/cjs/biz-components/MediaPlayerMulti/index.js +1 -1
- package/dist/cjs/biz-components/MediaPlayerMulti/index.js.map +2 -2
- package/dist/cjs/biz-components/MediaPlayerSticky/index.js +1 -1
- package/dist/cjs/biz-components/MediaPlayerSticky/index.js.map +3 -3
- package/dist/cjs/biz-components/MemberEquity/index.js +2 -2
- package/dist/cjs/biz-components/MemberEquity/index.js.map +2 -2
- package/dist/cjs/biz-components/NavigationSearch/index.js +2 -2
- package/dist/cjs/biz-components/NavigationSearch/index.js.map +2 -2
- package/dist/cjs/biz-components/PromotionalBar/index.d.ts +35 -0
- package/dist/cjs/biz-components/PromotionalBar/index.js +2 -0
- package/dist/cjs/biz-components/PromotionalBar/index.js.map +7 -0
- package/dist/cjs/biz-components/SearchPage/index.js +1 -1
- package/dist/cjs/biz-components/SearchPage/index.js.map +3 -3
- package/dist/cjs/biz-components/SecondaryBanner/index.d.ts +61 -0
- package/dist/cjs/biz-components/SecondaryBanner/index.js +2 -0
- package/dist/cjs/biz-components/SecondaryBanner/index.js.map +7 -0
- package/dist/cjs/biz-components/ShelfDisplay/index.js +1 -1
- package/dist/cjs/biz-components/ShelfDisplay/index.js.map +2 -2
- package/dist/cjs/biz-components/Specs/index.js +1 -1
- package/dist/cjs/biz-components/Specs/index.js.map +2 -2
- package/dist/cjs/biz-components/StockShelf/index.d.ts +21 -0
- package/dist/cjs/biz-components/StockShelf/index.js +2 -0
- package/dist/cjs/biz-components/StockShelf/index.js.map +7 -0
- package/dist/cjs/biz-components/Subscribe/index.js.map +2 -2
- package/dist/cjs/biz-components/Tabs/Tabs.js +1 -1
- package/dist/cjs/biz-components/Tabs/Tabs.js.map +2 -2
- package/dist/cjs/biz-components/TabsGroup/index.js +1 -1
- package/dist/cjs/biz-components/TabsGroup/index.js.map +2 -2
- package/dist/cjs/biz-components/TextModal/index.js +1 -1
- package/dist/cjs/biz-components/TextModal/index.js.map +2 -2
- package/dist/cjs/biz-components/VideoModal/index.js +1 -1
- package/dist/cjs/biz-components/VideoModal/index.js.map +2 -2
- package/dist/cjs/biz-components/index.d.ts +5 -0
- package/dist/cjs/biz-components/index.js +1 -1
- package/dist/cjs/biz-components/index.js.map +3 -3
- package/dist/cjs/components/container.js +1 -1
- package/dist/cjs/components/container.js.map +2 -2
- package/dist/cjs/components/drop-down.js +1 -1
- package/dist/cjs/components/drop-down.js.map +2 -2
- package/dist/cjs/components/picture.d.ts +2 -0
- package/dist/cjs/components/picture.js +1 -1
- package/dist/cjs/components/picture.js.map +3 -3
- package/dist/cjs/helpers/ScrollLoadVideo.d.ts +5 -1
- package/dist/cjs/helpers/ScrollLoadVideo.js +1 -1
- package/dist/cjs/helpers/ScrollLoadVideo.js.map +3 -3
- package/dist/cjs/stories/HeroBanner.stories.d.ts +4 -1
- package/dist/cjs/stories/HeroBanner.stories.js +2 -2
- package/dist/cjs/stories/HeroBanner.stories.js.map +3 -3
- package/dist/cjs/stories/accordionCards.stories.d.ts +21 -0
- package/dist/cjs/stories/accordionCards.stories.js +1 -1
- package/dist/cjs/stories/accordionCards.stories.js.map +3 -3
- package/dist/cjs/stories/anchorNavigation.stories.d.ts +27 -0
- package/dist/cjs/stories/anchorNavigation.stories.js +2 -0
- package/dist/cjs/stories/anchorNavigation.stories.js.map +7 -0
- package/dist/cjs/stories/buyOneGetOneShelf.stories.d.ts +56 -0
- package/dist/cjs/stories/buyOneGetOneShelf.stories.js +2 -0
- package/dist/cjs/stories/buyOneGetOneShelf.stories.js.map +7 -0
- package/dist/cjs/stories/eventSchedule.stories.d.ts +47 -0
- package/dist/cjs/stories/eventSchedule.stories.js +2 -0
- package/dist/cjs/stories/eventSchedule.stories.js.map +7 -0
- package/dist/cjs/stories/promotionalBar.stories.d.ts +26 -0
- package/dist/cjs/stories/promotionalBar.stories.js +2 -0
- package/dist/cjs/stories/promotionalBar.stories.js.map +7 -0
- package/dist/cjs/stories/secondaryBanner.stories.d.ts +47 -0
- package/dist/cjs/stories/secondaryBanner.stories.js +2 -0
- package/dist/cjs/stories/secondaryBanner.stories.js.map +7 -0
- package/dist/cjs/stories/stockShelf.stories.d.ts +27 -0
- package/dist/cjs/stories/stockShelf.stories.js +2 -0
- package/dist/cjs/stories/stockShelf.stories.js.map +7 -0
- package/dist/esm/biz-components/AccordionCards/index.d.ts +17 -0
- 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/AnchorNavigation/index.d.ts +22 -0
- package/dist/esm/biz-components/AnchorNavigation/index.js +2 -0
- package/dist/esm/biz-components/AnchorNavigation/index.js.map +7 -0
- package/dist/esm/biz-components/AnchorNavigation/useAnchorPosition.d.ts +2 -0
- package/dist/esm/biz-components/AnchorNavigation/useAnchorPosition.js +2 -0
- package/dist/esm/biz-components/AnchorNavigation/useAnchorPosition.js.map +7 -0
- package/dist/esm/biz-components/BrandEquity/BrandEquity.js +1 -1
- package/dist/esm/biz-components/BrandEquity/BrandEquity.js.map +2 -2
- package/dist/esm/biz-components/BuyOneGetOneShelf/ProductCard.d.ts +83 -0
- package/dist/esm/biz-components/BuyOneGetOneShelf/ProductCard.js +2 -0
- package/dist/esm/biz-components/BuyOneGetOneShelf/ProductCard.js.map +7 -0
- package/dist/esm/biz-components/BuyOneGetOneShelf/index.d.ts +40 -0
- package/dist/esm/biz-components/BuyOneGetOneShelf/index.js +2 -0
- package/dist/esm/biz-components/BuyOneGetOneShelf/index.js.map +7 -0
- package/dist/esm/biz-components/Category/index.js +1 -1
- package/dist/esm/biz-components/Category/index.js.map +2 -2
- package/dist/esm/biz-components/Evaluate/index.js +1 -1
- package/dist/esm/biz-components/Evaluate/index.js.map +2 -2
- package/dist/esm/biz-components/EventSchedule/index.d.ts +39 -0
- package/dist/esm/biz-components/EventSchedule/index.js +2 -0
- package/dist/esm/biz-components/EventSchedule/index.js.map +7 -0
- package/dist/esm/biz-components/FooterNavigation/icons/Subtract.js +1 -1
- package/dist/esm/biz-components/FooterNavigation/icons/Subtract.js.map +2 -2
- package/dist/esm/biz-components/FooterNavigation/index.js +1 -1
- package/dist/esm/biz-components/FooterNavigation/index.js.map +2 -2
- package/dist/esm/biz-components/GraphicAttractionBlock/index.js +1 -1
- package/dist/esm/biz-components/GraphicAttractionBlock/index.js.map +2 -2
- package/dist/esm/biz-components/HeaderNavigation/icons/Close.js +1 -1
- package/dist/esm/biz-components/HeaderNavigation/icons/Close.js.map +2 -2
- package/dist/esm/biz-components/HeaderNavigation/icons/DownArrow.js +1 -1
- package/dist/esm/biz-components/HeaderNavigation/icons/DownArrow.js.map +2 -2
- package/dist/esm/biz-components/HeaderNavigation/icons/LeftArrow.js +1 -1
- package/dist/esm/biz-components/HeaderNavigation/icons/LeftArrow.js.map +2 -2
- package/dist/esm/biz-components/HeaderNavigation/icons/RightArrow.js +1 -1
- package/dist/esm/biz-components/HeaderNavigation/icons/RightArrow.js.map +2 -2
- package/dist/esm/biz-components/HeaderNavigation/index.js +1 -1
- package/dist/esm/biz-components/HeaderNavigation/index.js.map +2 -2
- package/dist/esm/biz-components/HeroBanner/Countdown.js +1 -1
- package/dist/esm/biz-components/HeroBanner/Countdown.js.map +2 -2
- package/dist/esm/biz-components/HeroBanner/HeroBanner.d.ts +4 -1
- 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/Listing/components/ProductCard/ProductDetail/BenefitsTab.js.map +2 -2
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.js +1 -1
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.js.map +2 -2
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js +2 -2
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js.map +2 -2
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/index.js +1 -1
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/index.js.map +2 -2
- package/dist/esm/biz-components/Media/index.d.ts +32 -0
- package/dist/esm/biz-components/Media/index.js +2 -0
- package/dist/esm/biz-components/Media/index.js.map +7 -0
- package/dist/esm/biz-components/MediaPlayerMulti/index.js +1 -1
- package/dist/esm/biz-components/MediaPlayerMulti/index.js.map +2 -2
- package/dist/esm/biz-components/MediaPlayerSticky/index.js +1 -1
- package/dist/esm/biz-components/MediaPlayerSticky/index.js.map +3 -3
- package/dist/esm/biz-components/MemberEquity/index.js +2 -2
- package/dist/esm/biz-components/MemberEquity/index.js.map +2 -2
- package/dist/esm/biz-components/NavigationSearch/index.js +2 -2
- package/dist/esm/biz-components/NavigationSearch/index.js.map +2 -2
- package/dist/esm/biz-components/PromotionalBar/index.d.ts +35 -0
- package/dist/esm/biz-components/PromotionalBar/index.js +2 -0
- package/dist/esm/biz-components/PromotionalBar/index.js.map +7 -0
- package/dist/esm/biz-components/SearchPage/index.js +1 -1
- package/dist/esm/biz-components/SearchPage/index.js.map +3 -3
- package/dist/esm/biz-components/SecondaryBanner/index.d.ts +61 -0
- package/dist/esm/biz-components/SecondaryBanner/index.js +2 -0
- package/dist/esm/biz-components/SecondaryBanner/index.js.map +7 -0
- package/dist/esm/biz-components/ShelfDisplay/index.js +1 -1
- package/dist/esm/biz-components/ShelfDisplay/index.js.map +2 -2
- package/dist/esm/biz-components/Specs/index.js +1 -1
- package/dist/esm/biz-components/Specs/index.js.map +2 -2
- package/dist/esm/biz-components/StockShelf/index.d.ts +21 -0
- package/dist/esm/biz-components/StockShelf/index.js +2 -0
- package/dist/esm/biz-components/StockShelf/index.js.map +7 -0
- package/dist/esm/biz-components/Subscribe/index.js.map +2 -2
- package/dist/esm/biz-components/Tabs/Tabs.js +1 -1
- package/dist/esm/biz-components/Tabs/Tabs.js.map +2 -2
- package/dist/esm/biz-components/TabsGroup/index.js +1 -1
- package/dist/esm/biz-components/TabsGroup/index.js.map +2 -2
- package/dist/esm/biz-components/TextModal/index.js +1 -1
- package/dist/esm/biz-components/TextModal/index.js.map +2 -2
- package/dist/esm/biz-components/VideoModal/index.js +1 -1
- package/dist/esm/biz-components/VideoModal/index.js.map +2 -2
- package/dist/esm/biz-components/index.d.ts +5 -0
- package/dist/esm/biz-components/index.js +1 -1
- package/dist/esm/biz-components/index.js.map +2 -2
- package/dist/esm/components/container.js +1 -1
- package/dist/esm/components/container.js.map +2 -2
- package/dist/esm/components/drop-down.js +1 -1
- package/dist/esm/components/drop-down.js.map +2 -2
- package/dist/esm/components/picture.d.ts +2 -0
- package/dist/esm/components/picture.js +1 -1
- package/dist/esm/components/picture.js.map +3 -3
- package/dist/esm/helpers/ScrollLoadVideo.d.ts +5 -1
- package/dist/esm/helpers/ScrollLoadVideo.js +1 -1
- package/dist/esm/helpers/ScrollLoadVideo.js.map +3 -3
- package/dist/esm/stories/HeroBanner.stories.d.ts +4 -1
- package/dist/esm/stories/HeroBanner.stories.js +2 -2
- package/dist/esm/stories/HeroBanner.stories.js.map +3 -3
- package/dist/esm/stories/accordionCards.stories.d.ts +21 -0
- package/dist/esm/stories/accordionCards.stories.js +1 -1
- package/dist/esm/stories/accordionCards.stories.js.map +3 -3
- package/dist/esm/stories/anchorNavigation.stories.d.ts +27 -0
- package/dist/esm/stories/anchorNavigation.stories.js +2 -0
- package/dist/esm/stories/anchorNavigation.stories.js.map +7 -0
- package/dist/esm/stories/buyOneGetOneShelf.stories.d.ts +56 -0
- package/dist/esm/stories/buyOneGetOneShelf.stories.js +2 -0
- package/dist/esm/stories/buyOneGetOneShelf.stories.js.map +7 -0
- package/dist/esm/stories/eventSchedule.stories.d.ts +47 -0
- package/dist/esm/stories/eventSchedule.stories.js +2 -0
- package/dist/esm/stories/eventSchedule.stories.js.map +7 -0
- package/dist/esm/stories/promotionalBar.stories.d.ts +26 -0
- package/dist/esm/stories/promotionalBar.stories.js +2 -0
- package/dist/esm/stories/promotionalBar.stories.js.map +7 -0
- package/dist/esm/stories/secondaryBanner.stories.d.ts +47 -0
- package/dist/esm/stories/secondaryBanner.stories.js +2 -0
- package/dist/esm/stories/secondaryBanner.stories.js.map +7 -0
- package/dist/esm/stories/stockShelf.stories.d.ts +27 -0
- package/dist/esm/stories/stockShelf.stories.js +2 -0
- package/dist/esm/stories/stockShelf.stories.js.map +7 -0
- package/package.json +2 -1
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/stories/buyOneGetOneShelf.stories.tsx"],
|
|
4
|
+
"sourcesContent": ["import type { Meta, StoryObj } from '@storybook/react'\nimport React from 'react'\n\nimport BuyOneGetOneShelf, { type BuyOneGetOneShelfData } from '../biz-components/BuyOneGetOneShelf/index.js'\n\n// \u57FA\u7840\u6570\u636E\u914D\u7F6E\nconst basicShelfData: BuyOneGetOneShelfData = {\n title: '\u4E70\u8D60\u6D3B\u52A8\u4E13\u533A',\n description: '\u7CBE\u9009\u4F18\u8D28\u4EA7\u54C1\uFF0C\u4E70\u4E3B\u5546\u54C1\u5373\u53EF\u83B7\u5F97\u8D85\u503C\u8D60\u54C1',\n layout: 'single',\n products: [\n {\n image: 'https://images.unsplash.com/photo-1556742049-0cfed4f6a45d?ixlib=rb-4.0.3&auto=format&fit=crop&w=964&h=560&q=80',\n tags: [\n { text: '20% OFF', type: 'discount', variant: 'filled' },\n { text: 'New', type: 'new', variant: 'outlined' },\n ],\n name: 'eufyCam 3 Security Camera System',\n description: '4K Ultra HD wireless security camera with advanced AI detection',\n freeGiftLabel: '\u514D\u8D39\u8D60\u54C1',\n freeGifts: [\n {\n id: 'gift-1',\n image: 'https://images.unsplash.com/photo-1558618666-fcd25c85cd64?ixlib=rb-4.0.3&auto=format&fit=crop&w=56&h=56&q=80',\n name: 'eufyCam Solar Panel Charger',\n currentPrice: 'Free',\n originalPrice: '$199.00',\n isNew: true,\n selected: true,\n },\n {\n id: 'gift-2',\n image: 'https://images.unsplash.com/photo-1572569511254-d8f925fe2cbb?ixlib=rb-4.0.3&auto=format&fit=crop&w=56&h=56&q=80',\n name: 'eufy HomeBase 3 Hub',\n currentPrice: 'Free',\n originalPrice: '$149.00',\n isNew: true,\n selected: false,\n },\n ],\n giftSelectionMode: 'multiple',\n currentPrice: '$1,999.00',\n originalPrice: '$2,999.00',\n learnMoreText: 'Learn More',\n shopNowText: 'Shop Now',\n },\n ],\n}\n\n// \u53CC\u5217\u5E03\u5C40\u6570\u636E\nconst doubleLayoutData: BuyOneGetOneShelfData = {\n ...basicShelfData,\n layout: 'double',\n products: [\n {\n ...basicShelfData.products![0],\n image: 'https://images.unsplash.com/photo-1556742049-0cfed4f6a45d?ixlib=rb-4.0.3&auto=format&fit=crop&w=482&h=560&q=80',\n },\n {\n image: 'https://images.unsplash.com/photo-1560472354-b33ff0c44a43?ixlib=rb-4.0.3&auto=format&fit=crop&w=482&h=560&q=80',\n tags: [\n { text: '30% OFF', type: 'discount', variant: 'filled' },\n ],\n name: 'Anker PowerCore Portable Charger',\n description: 'High-capacity portable charger with fast charging technology',\n freeGiftLabel: '\u514D\u8D39\u8D60\u54C1',\n freeGifts: [\n {\n id: 'gift-3',\n image: 'https://images.unsplash.com/photo-1583394838336-acd977736f90?ixlib=rb-4.0.3&auto=format&fit=crop&w=56&h=56&q=80',\n name: 'USB-C Cable Premium',\n currentPrice: 'Free',\n originalPrice: '$29.00',\n isNew: false,\n selected: true,\n },\n ],\n giftSelectionMode: 'single',\n currentPrice: '$79.99',\n originalPrice: '$119.99',\n learnMoreText: 'Learn More',\n shopNowText: 'Shop Now',\n },\n ],\n}\n\nconst meta = {\n title: 'Biz Components/BuyOneGetOneShelf',\n component: BuyOneGetOneShelf,\n parameters: {\n layout: 'fullscreen',\n docs: {\n description: {\n component: '\u4E70\u8D60\u8D27\u67B6 - \u5C55\u793A\u4E70\u4E00\u8D60\u4E00\u6D3B\u52A8\u7684\u4EA7\u54C1\u7EC4\u4EF6\uFF0C\u652F\u6301\u5355\u5217\u548C\u53CC\u5217\u5E03\u5C40\uFF0C\u5305\u542B\u4EA7\u54C1\u4FE1\u606F\u3001\u6807\u7B7E\u3001\u8D60\u54C1\u5217\u8868\u548C\u8D2D\u4E70\u6309\u94AE',\n },\n },\n },\n tags: ['autodocs'],\n argTypes: {\n data: {\n control: 'object',\n description: '\u4E70\u8D60\u8D27\u67B6\u6570\u636E\u914D\u7F6E',\n },\n onProductClick: {\n action: 'product-clicked',\n description: '\u4EA7\u54C1\u5361\u7247\u70B9\u51FB\u4E8B\u4EF6',\n },\n onProductImageClick: {\n action: 'product-image-clicked',\n description: '\u4EA7\u54C1\u56FE\u7247\u70B9\u51FB\u4E8B\u4EF6',\n },\n onLearnMore: {\n action: 'learn-more-clicked',\n description: 'Learn More\u6309\u94AE\u70B9\u51FB\u4E8B\u4EF6',\n },\n onShopNow: {\n action: 'shop-now-clicked',\n description: 'Shop Now\u6309\u94AE\u70B9\u51FB\u4E8B\u4EF6',\n },\n onGiftClick: {\n action: 'gift-clicked',\n description: '\u8D60\u54C1\u70B9\u51FB\u4E8B\u4EF6',\n },\n onGiftSelectionChange: {\n action: 'gift-selection-changed',\n description: '\u8D60\u54C1\u9009\u62E9\u53D8\u5316\u4E8B\u4EF6',\n },\n },\n} satisfies Meta<typeof BuyOneGetOneShelf>\n\nexport default meta\ntype Story = StoryObj<typeof meta>\n\nexport const Default: Story = {\n args: {\n data: basicShelfData,\n onProductClick: (product) => console.log('Product clicked:', product.name),\n onProductImageClick: (product) => console.log('Product image clicked:', product.name),\n onLearnMore: (product) => console.log('Learn More clicked:', product.name),\n onShopNow: (product) => console.log('Shop Now clicked:', product.name),\n onGiftClick: (gift, product) => console.log('Gift clicked:', gift.name, 'for product:', product.name),\n onGiftSelectionChange: (selectedGifts, product) => console.log('Gift selection changed:', selectedGifts.length, 'gifts selected for', product.name),\n },\n}\n\nexport const SingleLayout: Story = {\n args: {\n data: basicShelfData,\n },\n parameters: {\n docs: {\n description: {\n story: '\u5355\u5217\u5E03\u5C40\uFF1A\u4E00\u6392\u663E\u793A\u4E00\u4E2A\u4EA7\u54C1\uFF0C\u9002\u5408\u91CD\u70B9\u63A8\u8350\u5355\u4E2A\u4EA7\u54C1\u7684\u573A\u666F\u3002',\n },\n },\n },\n}\n\nexport const DoubleLayout: Story = {\n args: {\n data: doubleLayoutData,\n },\n parameters: {\n docs: {\n description: {\n story: '\u53CC\u5217\u5E03\u5C40\uFF1A\u4E00\u6392\u663E\u793A\u4E24\u4E2A\u4EA7\u54C1\uFF0C\u9002\u5408\u5C55\u793A\u591A\u4E2A\u4EA7\u54C1\u7684\u5BF9\u6BD4\u573A\u666F\u3002',\n },\n },\n },\n}\n\nexport const NoHeader: Story = {\n args: {\n data: {\n layout: 'single',\n products: [basicShelfData.products![0]],\n },\n },\n parameters: {\n docs: {\n description: {\n story: '\u65E0\u6807\u9898\u63CF\u8FF0\u7248\u672C\uFF1A\u53EA\u663E\u793A\u4EA7\u54C1\u5361\u7247\uFF0C\u9002\u5408\u5D4C\u5165\u5230\u5176\u4ED6\u9875\u9762\u4E2D\u7684\u573A\u666F\u3002',\n },\n },\n },\n}\n\nexport const MinimalProduct: Story = {\n args: {\n data: {\n layout: 'single',\n products: [\n {\n image: 'https://images.unsplash.com/photo-1511707171634-5f897ff02aa9?ixlib=rb-4.0.3&auto=format&fit=crop&w=964&h=560&q=80',\n tags: [\n { text: 'Limited', type: 'new', variant: 'filled' },\n ],\n name: 'Smart Home Device Collection',\n description: 'Complete smart home automation solution',\n currentPrice: '$599.00',\n originalPrice: '$799.00',\n },\n ],\n },\n },\n parameters: {\n docs: {\n description: {\n story: '\u6700\u5C0F\u5316\u4EA7\u54C1\uFF1A\u65E0\u8D60\u54C1\u5217\u8868\uFF0C\u53EA\u663E\u793A\u57FA\u672C\u4EA7\u54C1\u4FE1\u606F\u548C\u4EF7\u683C\u3002',\n },\n },\n },\n}\n\nexport const WithCustomActions: Story = {\n args: {\n data: {\n ...basicShelfData,\n products: [\n {\n ...basicShelfData.products![0],\n learnMoreText: '\u4E86\u89E3\u8BE6\u60C5',\n shopNowText: '\u7ACB\u5373\u8D2D\u4E70',\n },\n ],\n },\n onLearnMore: (product) => alert(`\u8DF3\u8F6C\u5230\u4EA7\u54C1\u8BE6\u60C5\u9875\u9762: ${product.name}`),\n onShopNow: (product) => alert(`\u6DFB\u52A0\u5230\u8D2D\u7269\u8F66: ${product.name}`),\n onGiftClick: (gift, product) => alert(`\u9009\u62E9\u8D60\u54C1: ${gift.name}`),\n },\n parameters: {\n docs: {\n description: {\n story: '\u81EA\u5B9A\u4E49\u6309\u94AE\u6587\u6848\u548C\u70B9\u51FB\u4E8B\u4EF6\uFF1A\u53EF\u4EE5\u81EA\u5B9A\u4E49\u6309\u94AE\u6587\u5B57\u548C\u5904\u7406\u51FD\u6570\u3002',\n },\n },\n },\n}\n\nexport const SingleGiftSelection: Story = {\n args: {\n data: {\n ...basicShelfData,\n products: [\n {\n ...basicShelfData.products![0],\n giftSelectionMode: 'single',\n freeGifts: [\n {\n id: 'gift-a',\n image: 'https://images.unsplash.com/photo-1558618666-fcd25c85cd64?ixlib=rb-4.0.3&auto=format&fit=crop&w=56&h=56&q=80',\n name: 'eufyCam Solar Panel Charger',\n currentPrice: 'Free',\n originalPrice: '$199.00',\n isNew: true,\n selected: false,\n },\n {\n id: 'gift-b',\n image: 'https://images.unsplash.com/photo-1572569511254-d8f925fe2cbb?ixlib=rb-4.0.3&auto=format&fit=crop&w=56&h=56&q=80',\n name: 'eufy HomeBase 3 Hub',\n currentPrice: 'Free',\n originalPrice: '$149.00',\n isNew: true,\n selected: true,\n },\n {\n id: 'gift-c',\n image: 'https://images.unsplash.com/photo-1583394838336-acd977736f90?ixlib=rb-4.0.3&auto=format&fit=crop&w=56&h=56&q=80',\n name: 'USB-C Cable Premium',\n currentPrice: 'Free',\n originalPrice: '$29.00',\n isNew: false,\n selected: false,\n },\n ],\n },\n ],\n },\n onGiftClick: (gift, product) => console.log('Single gift selection:', gift.name),\n onGiftSelectionChange: (selectedGifts, product) => console.log('Single selection changed:', selectedGifts),\n },\n parameters: {\n docs: {\n description: {\n story: '\u5355\u9009\u6A21\u5F0F\uFF1A\u7528\u6237\u53EA\u80FD\u9009\u62E9\u4E00\u4E2A\u8D60\u54C1\uFF0C\u4F7F\u7528Radio\u6309\u94AE\u3002',\n },\n },\n },\n}\n\nexport const MultipleGiftSelection: Story = {\n args: {\n data: {\n ...basicShelfData,\n products: [\n {\n ...basicShelfData.products![0],\n giftSelectionMode: 'multiple',\n },\n ],\n },\n onGiftClick: (gift, product) => console.log('Multiple gift selection:', gift.name, 'for', product.name),\n onGiftSelectionChange: (selectedGifts, product) => console.log('Multiple selection changed:', selectedGifts.map(g => g.name), 'for', product.name),\n },\n parameters: {\n docs: {\n description: {\n story: '\u591A\u9009\u6A21\u5F0F\uFF1A\u7528\u6237\u53EF\u4EE5\u9009\u62E9\u591A\u4E2A\u8D60\u54C1\uFF0C\u4F7F\u7528Checkbox\u3002',\n },\n },\n },\n}\n\nexport const ComposableDesign: Story = {\n args: {\n data: basicShelfData,\n onProductClick: (product) => {\n console.log('\uD83C\uDFAF Product card clicked:', product.name)\n },\n onProductImageClick: (product) => {\n console.log('\uD83D\uDDBC\uFE0F Product image clicked - opening gallery for:', product.name)\n },\n onLearnMore: (product) => {\n console.log('\uD83D\uDCDA Learn More - navigating to product details:', product.name)\n },\n onShopNow: (product) => {\n console.log('\uD83D\uDED2 Shop Now - adding to cart:', product.name)\n },\n onGiftClick: (gift, product) => {\n console.log('\uD83C\uDF81 Gift clicked:', gift.name, 'for product:', product.name)\n },\n onGiftSelectionChange: (selectedGifts, product) => {\n console.log('\u2705 Gift selection changed for', product.name + ':', selectedGifts.map(g => g.name).join(', '))\n },\n },\n parameters: {\n docs: {\n description: {\n story: '\u7EC4\u5408\u5F0F\u8BBE\u8BA1\u793A\u4F8B\uFF1A\u6240\u6709\u4E8B\u4EF6\u90FD\u901A\u8FC7 props \u900F\u4F20\uFF0C\u5916\u90E8\u53EF\u4EE5\u5B8C\u5168\u63A7\u5236\u4EA4\u4E92\u903B\u8F91\u3002\u6253\u5F00\u6D4F\u89C8\u5668\u63A7\u5236\u53F0\u67E5\u770B\u4E8B\u4EF6\u65E5\u5FD7\u3002',\n },\n },\n },\n}"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["buyOneGetOneShelf_stories_exports", "__export", "ComposableDesign", "Default", "DoubleLayout", "MinimalProduct", "MultipleGiftSelection", "NoHeader", "SingleGiftSelection", "SingleLayout", "WithCustomActions", "buyOneGetOneShelf_stories_default", "__toCommonJS", "import_react", "import_BuyOneGetOneShelf", "basicShelfData", "doubleLayoutData", "meta", "BuyOneGetOneShelf", "product", "gift", "selectedGifts", "g"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { StoryObj } from '@storybook/react';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
declare const meta: {
|
|
4
|
+
title: string;
|
|
5
|
+
component: React.ForwardRefExoticComponent<import("../biz-components/EventSchedule/index.js").EventScheduleProps & React.RefAttributes<HTMLDivElement>>;
|
|
6
|
+
parameters: {
|
|
7
|
+
layout: string;
|
|
8
|
+
docs: {
|
|
9
|
+
description: {
|
|
10
|
+
component: string;
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
tags: string[];
|
|
15
|
+
argTypes: {
|
|
16
|
+
data: {
|
|
17
|
+
description: string;
|
|
18
|
+
control: {
|
|
19
|
+
type: "object";
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
className: {
|
|
23
|
+
description: string;
|
|
24
|
+
control: {
|
|
25
|
+
type: "text";
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
export default meta;
|
|
31
|
+
type Story = StoryObj<typeof meta>;
|
|
32
|
+
/**
|
|
33
|
+
* 默认展示 - 两个活动
|
|
34
|
+
*/
|
|
35
|
+
export declare const Default: Story;
|
|
36
|
+
/**
|
|
37
|
+
* 三个活动展示
|
|
38
|
+
*/
|
|
39
|
+
export declare const ThreeEvents: Story;
|
|
40
|
+
/**
|
|
41
|
+
* 单个活动
|
|
42
|
+
*/
|
|
43
|
+
export declare const SingleEvent: Story;
|
|
44
|
+
/**
|
|
45
|
+
* 无背景图片
|
|
46
|
+
*/
|
|
47
|
+
export declare const WithoutBackgroundImage: Story;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var p=Object.create;var s=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var g=Object.getPrototypeOf,b=Object.prototype.hasOwnProperty;var k=(e,o)=>{for(var a in o)s(e,a,{get:o[a],enumerable:!0})},d=(e,o,a,l)=>{if(o&&typeof o=="object"||typeof o=="function")for(let r of m(o))!b.call(e,r)&&r!==a&&s(e,r,{get:()=>o[r],enumerable:!(l=u(o,r))||l.enumerable});return e};var v=(e,o,a)=>(a=e!=null?p(g(e)):{},d(o||!e||!e.__esModule?s(a,"default",{value:e,enumerable:!0}):a,e)),f=e=>d(s({},"__esModule",{value:!0}),e);var j={};k(j,{Default:()=>M,SingleEvent:()=>x,ThreeEvents:()=>C,WithoutBackgroundImage:()=>I,default:()=>S});module.exports=f(j);var t=require("react/jsx-runtime"),W=require("react"),h=v(require("../biz-components/EventSchedule/index.js"));const n=()=>(0,t.jsxs)("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,t.jsx)("path",{d:"M15.833 3.333h-11.666c-.92 0-1.667.746-1.667 1.667v11.667c0 .92.746 1.666 1.667 1.666h11.666c.92 0 1.667-.746 1.667-1.666V5c0-.921-.746-1.667-1.667-1.667z",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),(0,t.jsx)("path",{d:"M13.333 1.667V5M6.667 1.667V5M2.5 8.333h15",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]}),i=()=>(0,t.jsxs)("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,t.jsx)("path",{d:"M10 18.333a8.333 8.333 0 100-16.666 8.333 8.333 0 000 16.666z",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),(0,t.jsx)("path",{d:"M10 5v5l3.333 1.667",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]}),c=()=>(0,t.jsxs)("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,t.jsx)("path",{d:"M16.667 10v6.667c0 .442-.176.866-.489 1.179-.313.312-.737.488-1.178.488H5c-.442 0-.866-.176-1.179-.488A1.667 1.667 0 013.333 16.667V10",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),(0,t.jsx)("path",{d:"M18.333 5.833v4.167H1.667V5.833c0-.442.175-.866.488-1.178.313-.313.737-.489 1.179-.489h13.333c.441 0 .865.176 1.178.489.313.312.489.736.489 1.178zM10 18.333V4.167",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),(0,t.jsx)("path",{d:"M10 4.167H6.25A2.083 2.083 0 014.167 2.083c0-1.15.933-2.083 2.083-2.083C8.333 0 10 4.167 10 4.167zM10 4.167h3.75a2.083 2.083 0 002.083-2.084c0-1.15-.933-2.083-2.083-2.083C11.667 0 10 4.167 10 4.167z",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]}),w={scheduleList:[{title:"\u65E9\u9E1F\u4E13\u5C5E\u798F\u5229",date:"2024-12-01",active:!0,backgroundImage:"https://images.unsplash.com/photo-1549465220-1a8b9238cd48?w=200&h=150&fit=crop",items:[{icon:(0,t.jsx)(n,{}),label:"12\u67081\u65E5 - 12\u670815\u65E5"},{icon:(0,t.jsx)(i,{}),label:"\u9650\u65F6\u4F18\u60E0 48 \u5C0F\u65F6"},{icon:(0,t.jsx)(c,{}),label:"\u8D2D\u4E70\u5373\u9001\u7CBE\u7F8E\u793C\u54C1"}]},{title:"\u5723\u8BDE\u7279\u60E0\u6D3B\u52A8",date:"2024-12-16",active:!1,backgroundImage:"https://images.unsplash.com/photo-1512909006721-3d6018887383?w=200&h=150&fit=crop",items:[{icon:(0,t.jsx)(n,{}),label:"12\u670816\u65E5 - 12\u670831\u65E5"},{icon:(0,t.jsx)(i,{}),label:"\u5168\u5929\u5019\u4F18\u60E0"},{icon:(0,t.jsx)(c,{}),label:"\u6EE1\u989D\u8D60\u9001\u5723\u8BDE\u793C\u76D2"}]}]},L={scheduleList:[{title:"\u65B0\u5E74\u9884\u70ED\u6D3B\u52A8",date:"2024-12-01",active:!0,backgroundImage:"https://images.unsplash.com/photo-1549465220-1a8b9238cd48?w=200&h=150&fit=crop",items:[{icon:(0,t.jsx)(n,{}),label:"12\u67081\u65E5 - 12\u670810\u65E5"},{icon:(0,t.jsx)(i,{}),label:"\u6BCF\u65E5\u4E0A\u534810\u70B9\u5F00\u62A2"},{icon:(0,t.jsx)(c,{}),label:"\u524D100\u540D\u9001\u795E\u79D8\u793C\u7269"}]},{title:"\u5723\u8BDE\u72C2\u6B22",date:"2024-12-11",active:!1,backgroundImage:"https://images.unsplash.com/photo-1512909006721-3d6018887383?w=200&h=150&fit=crop",items:[{icon:(0,t.jsx)(n,{}),label:"12\u670811\u65E5 - 12\u670825\u65E5"},{icon:(0,t.jsx)(i,{}),label:"\u5168\u5929\u4F18\u60E0\u4E0D\u95F4\u65AD"},{icon:(0,t.jsx)(c,{}),label:"\u6EE1\u51CF\u6D3B\u52A8\u6700\u9AD8\u7701500"}]},{title:"\u8DE8\u5E74\u7279\u60E0",date:"2024-12-26",active:!1,backgroundImage:"https://images.unsplash.com/photo-1467810563316-b5476525c0f9?w=200&h=150&fit=crop",items:[{icon:(0,t.jsx)(n,{}),label:"12\u670826\u65E5 - 1\u67081\u65E5"},{icon:(0,t.jsx)(i,{}),label:"\u5012\u8BA1\u65F6\u7279\u60E0"},{icon:(0,t.jsx)(c,{}),label:"\u65B0\u5E74\u793C\u5305\u9650\u91CF\u62A2\u8D2D"}]}]},y={title:"Biz Components/EventSchedule",component:h.default,parameters:{layout:"fullscreen",docs:{description:{component:"\u6D3B\u52A8\u65E5\u7A0B\u7EC4\u4EF6 - \u5C55\u793A\u6D3B\u52A8\u65F6\u95F4\u8F74\u548C\u8BE6\u7EC6\u4FE1\u606F\u5361\u7247\uFF0C\u652F\u6301\u591A\u4E2A\u6D3B\u52A8\u540C\u65F6\u5C55\u793A\uFF0C\u5E26\u6709\u6FC0\u6D3B\u72B6\u6001\u6307\u793A"}}},tags:["autodocs"],argTypes:{data:{description:"\u4E1A\u52A1\u6570\u636E\uFF0C\u5305\u542B\u65E5\u7A0B\u5217\u8868",control:{type:"object"}},className:{description:"\u81EA\u5B9A\u4E49\u6837\u5F0F\u7C7B\u540D",control:{type:"text"}}}};var S=y;const M={args:{data:w}},C={args:{data:L}},x={args:{data:{scheduleList:[{title:"\u9650\u65F6\u79D2\u6740\u6D3B\u52A8",date:"2024-12-01",active:!0,backgroundImage:"https://images.unsplash.com/photo-1549465220-1a8b9238cd48?w=200&h=150&fit=crop",items:[{icon:(0,t.jsx)(n,{}),label:"12\u67081\u65E5\u5168\u5929"},{icon:(0,t.jsx)(i,{}),label:"\u6BCF\u5C0F\u65F6\u6574\u70B9\u5F00\u62A2"},{icon:(0,t.jsx)(c,{}),label:"\u79D2\u6740\u4EF7\u4F4E\u81F33\u6298"}]}]}}},I={args:{data:{scheduleList:[{title:"\u590F\u5B63\u6E05\u4ED3\u7279\u5356",date:"2024-06-01",active:!0,items:[{icon:(0,t.jsx)(n,{}),label:"6\u67081\u65E5 - 6\u670830\u65E5"},{icon:(0,t.jsx)(i,{}),label:"\u5168\u5929\u5019\u4F18\u60E0"},{icon:(0,t.jsx)(c,{}),label:"\u4E70\u4E00\u9001\u4E00"}]},{title:"\u65B0\u54C1\u4E0A\u5E02",date:"2024-07-01",active:!1,items:[{icon:(0,t.jsx)(n,{}),label:"7\u67081\u65E5\u8D77"},{icon:(0,t.jsx)(i,{}),label:"\u6301\u7EED\u4E00\u4E2A\u6708"},{icon:(0,t.jsx)(c,{}),label:"\u65B0\u54C1\u5C1D\u9C9C\u4EF7"}]}]}}};
|
|
2
|
+
//# sourceMappingURL=eventSchedule.stories.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/stories/eventSchedule.stories.tsx"],
|
|
4
|
+
"sourcesContent": ["import type { Meta, StoryObj } from '@storybook/react'\nimport React from 'react'\n\nimport EventSchedule, { type EventScheduleData } from '../biz-components/EventSchedule/index.js'\n\n// \u6A21\u62DF\u56FE\u6807\u7EC4\u4EF6\nconst CalendarIcon = () => (\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M15.833 3.333h-11.666c-.92 0-1.667.746-1.667 1.667v11.667c0 .92.746 1.666 1.667 1.666h11.666c.92 0 1.667-.746 1.667-1.666V5c0-.921-.746-1.667-1.667-1.667z\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M13.333 1.667V5M6.667 1.667V5M2.5 8.333h15\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n)\n\nconst ClockIcon = () => (\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M10 18.333a8.333 8.333 0 100-16.666 8.333 8.333 0 000 16.666z\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M10 5v5l3.333 1.667\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n)\n\nconst GiftIcon = () => (\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M16.667 10v6.667c0 .442-.176.866-.489 1.179-.313.312-.737.488-1.178.488H5c-.442 0-.866-.176-1.179-.488A1.667 1.667 0 013.333 16.667V10\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M18.333 5.833v4.167H1.667V5.833c0-.442.175-.866.488-1.178.313-.313.737-.489 1.179-.489h13.333c.441 0 .865.176 1.178.489.313.312.489.736.489 1.178zM10 18.333V4.167\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M10 4.167H6.25A2.083 2.083 0 014.167 2.083c0-1.15.933-2.083 2.083-2.083C8.333 0 10 4.167 10 4.167zM10 4.167h3.75a2.083 2.083 0 002.083-2.084c0-1.15-.933-2.083-2.083-2.083C11.667 0 10 4.167 10 4.167z\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n)\n\n// \u6A21\u62DF\u4E1A\u52A1\u6570\u636E\nconst mockData: EventScheduleData = {\n scheduleList: [\n {\n title: '\u65E9\u9E1F\u4E13\u5C5E\u798F\u5229',\n date: '2024-12-01',\n active: true,\n backgroundImage: 'https://images.unsplash.com/photo-1549465220-1a8b9238cd48?w=200&h=150&fit=crop',\n items: [\n {\n icon: <CalendarIcon />,\n label: '12\u67081\u65E5 - 12\u670815\u65E5',\n },\n {\n icon: <ClockIcon />,\n label: '\u9650\u65F6\u4F18\u60E0 48 \u5C0F\u65F6',\n },\n {\n icon: <GiftIcon />,\n label: '\u8D2D\u4E70\u5373\u9001\u7CBE\u7F8E\u793C\u54C1',\n },\n ],\n },\n {\n title: '\u5723\u8BDE\u7279\u60E0\u6D3B\u52A8',\n date: '2024-12-16',\n active: false,\n backgroundImage: 'https://images.unsplash.com/photo-1512909006721-3d6018887383?w=200&h=150&fit=crop',\n items: [\n {\n icon: <CalendarIcon />,\n label: '12\u670816\u65E5 - 12\u670831\u65E5',\n },\n {\n icon: <ClockIcon />,\n label: '\u5168\u5929\u5019\u4F18\u60E0',\n },\n {\n icon: <GiftIcon />,\n label: '\u6EE1\u989D\u8D60\u9001\u5723\u8BDE\u793C\u76D2',\n },\n ],\n },\n ],\n}\n\n// \u4E09\u4E2A\u6D3B\u52A8\u7684\u6570\u636E\nconst threeEventsData: EventScheduleData = {\n scheduleList: [\n {\n title: '\u65B0\u5E74\u9884\u70ED\u6D3B\u52A8',\n date: '2024-12-01',\n active: true,\n backgroundImage: 'https://images.unsplash.com/photo-1549465220-1a8b9238cd48?w=200&h=150&fit=crop',\n items: [\n {\n icon: <CalendarIcon />,\n label: '12\u67081\u65E5 - 12\u670810\u65E5',\n },\n {\n icon: <ClockIcon />,\n label: '\u6BCF\u65E5\u4E0A\u534810\u70B9\u5F00\u62A2',\n },\n {\n icon: <GiftIcon />,\n label: '\u524D100\u540D\u9001\u795E\u79D8\u793C\u7269',\n },\n ],\n },\n {\n title: '\u5723\u8BDE\u72C2\u6B22',\n date: '2024-12-11',\n active: false,\n backgroundImage: 'https://images.unsplash.com/photo-1512909006721-3d6018887383?w=200&h=150&fit=crop',\n items: [\n {\n icon: <CalendarIcon />,\n label: '12\u670811\u65E5 - 12\u670825\u65E5',\n },\n {\n icon: <ClockIcon />,\n label: '\u5168\u5929\u4F18\u60E0\u4E0D\u95F4\u65AD',\n },\n {\n icon: <GiftIcon />,\n label: '\u6EE1\u51CF\u6D3B\u52A8\u6700\u9AD8\u7701500',\n },\n ],\n },\n {\n title: '\u8DE8\u5E74\u7279\u60E0',\n date: '2024-12-26',\n active: false,\n backgroundImage: 'https://images.unsplash.com/photo-1467810563316-b5476525c0f9?w=200&h=150&fit=crop',\n items: [\n {\n icon: <CalendarIcon />,\n label: '12\u670826\u65E5 - 1\u67081\u65E5',\n },\n {\n icon: <ClockIcon />,\n label: '\u5012\u8BA1\u65F6\u7279\u60E0',\n },\n {\n icon: <GiftIcon />,\n label: '\u65B0\u5E74\u793C\u5305\u9650\u91CF\u62A2\u8D2D',\n },\n ],\n },\n ],\n}\n\nconst meta = {\n title: 'Biz Components/EventSchedule',\n component: EventSchedule,\n parameters: {\n layout: 'fullscreen',\n docs: {\n description: {\n component: '\u6D3B\u52A8\u65E5\u7A0B\u7EC4\u4EF6 - \u5C55\u793A\u6D3B\u52A8\u65F6\u95F4\u8F74\u548C\u8BE6\u7EC6\u4FE1\u606F\u5361\u7247\uFF0C\u652F\u6301\u591A\u4E2A\u6D3B\u52A8\u540C\u65F6\u5C55\u793A\uFF0C\u5E26\u6709\u6FC0\u6D3B\u72B6\u6001\u6307\u793A',\n },\n },\n },\n tags: ['autodocs'],\n argTypes: {\n data: {\n description: '\u4E1A\u52A1\u6570\u636E\uFF0C\u5305\u542B\u65E5\u7A0B\u5217\u8868',\n control: { type: 'object' },\n },\n className: {\n description: '\u81EA\u5B9A\u4E49\u6837\u5F0F\u7C7B\u540D',\n control: { type: 'text' },\n },\n },\n} satisfies Meta<typeof EventSchedule>\n\nexport default meta\ntype Story = StoryObj<typeof meta>\n\n/**\n * \u9ED8\u8BA4\u5C55\u793A - \u4E24\u4E2A\u6D3B\u52A8\n */\nexport const Default: Story = {\n args: {\n data: mockData,\n },\n}\n\n/**\n * \u4E09\u4E2A\u6D3B\u52A8\u5C55\u793A\n */\nexport const ThreeEvents: Story = {\n args: {\n data: threeEventsData,\n },\n}\n\n/**\n * \u5355\u4E2A\u6D3B\u52A8\n */\nexport const SingleEvent: Story = {\n args: {\n data: {\n scheduleList: [\n {\n title: '\u9650\u65F6\u79D2\u6740\u6D3B\u52A8',\n date: '2024-12-01',\n active: true,\n backgroundImage: 'https://images.unsplash.com/photo-1549465220-1a8b9238cd48?w=200&h=150&fit=crop',\n items: [\n {\n icon: <CalendarIcon />,\n label: '12\u67081\u65E5\u5168\u5929',\n },\n {\n icon: <ClockIcon />,\n label: '\u6BCF\u5C0F\u65F6\u6574\u70B9\u5F00\u62A2',\n },\n {\n icon: <GiftIcon />,\n label: '\u79D2\u6740\u4EF7\u4F4E\u81F33\u6298',\n },\n ],\n },\n ],\n },\n },\n}\n\n/**\n * \u65E0\u80CC\u666F\u56FE\u7247\n */\nexport const WithoutBackgroundImage: Story = {\n args: {\n data: {\n scheduleList: [\n {\n title: '\u590F\u5B63\u6E05\u4ED3\u7279\u5356',\n date: '2024-06-01',\n active: true,\n items: [\n {\n icon: <CalendarIcon />,\n label: '6\u67081\u65E5 - 6\u670830\u65E5',\n },\n {\n icon: <ClockIcon />,\n label: '\u5168\u5929\u5019\u4F18\u60E0',\n },\n {\n icon: <GiftIcon />,\n label: '\u4E70\u4E00\u9001\u4E00',\n },\n ],\n },\n {\n title: '\u65B0\u54C1\u4E0A\u5E02',\n date: '2024-07-01',\n active: false,\n items: [\n {\n icon: <CalendarIcon />,\n label: '7\u67081\u65E5\u8D77',\n },\n {\n icon: <ClockIcon />,\n label: '\u6301\u7EED\u4E00\u4E2A\u6708',\n },\n {\n icon: <GiftIcon />,\n label: '\u65B0\u54C1\u5C1D\u9C9C\u4EF7',\n },\n ],\n },\n ],\n },\n },\n}\n"],
|
|
5
|
+
"mappings": "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,CACZ,CACE,MAAO,uCACP,KAAM,aACN,OAAQ,GACR,gBAAiB,iFACjB,MAAO,CACL,CACE,QAAM,OAACQ,EAAA,EAAa,EACpB,MAAO,6BACT,EACA,CACE,QAAM,OAACC,EAAA,EAAU,EACjB,MAAO,4CACT,EACA,CACE,QAAM,OAACC,EAAA,EAAS,EAChB,MAAO,uCACT,CACF,CACF,CACF,CACF,CACF,CACF,EAKaR,EAAgC,CAC3C,KAAM,CACJ,KAAM,CACJ,aAAc,CACZ,CACE,MAAO,uCACP,KAAM,aACN,OAAQ,GACR,MAAO,CACL,CACE,QAAM,OAACM,EAAA,EAAa,EACpB,MAAO,kCACT,EACA,CACE,QAAM,OAACC,EAAA,EAAU,EACjB,MAAO,gCACT,EACA,CACE,QAAM,OAACC,EAAA,EAAS,EAChB,MAAO,0BACT,CACF,CACF,EACA,CACE,MAAO,2BACP,KAAM,aACN,OAAQ,GACR,MAAO,CACL,CACE,QAAM,OAACF,EAAA,EAAa,EACpB,MAAO,sBACT,EACA,CACE,QAAM,OAACC,EAAA,EAAU,EACjB,MAAO,gCACT,EACA,CACE,QAAM,OAACC,EAAA,EAAS,EAChB,MAAO,gCACT,CACF,CACF,CACF,CACF,CACF,CACF",
|
|
6
|
+
"names": ["eventSchedule_stories_exports", "__export", "Default", "SingleEvent", "ThreeEvents", "WithoutBackgroundImage", "eventSchedule_stories_default", "__toCommonJS", "import_jsx_runtime", "import_react", "import_EventSchedule", "CalendarIcon", "ClockIcon", "GiftIcon", "mockData", "threeEventsData", "meta", "EventSchedule"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { StoryObj } from '@storybook/react';
|
|
2
|
+
import { type PromotionalBarData } from '../biz-components/PromotionalBar/index.js';
|
|
3
|
+
declare const meta: {
|
|
4
|
+
title: string;
|
|
5
|
+
component: import("react").ForwardRefExoticComponent<import("../biz-components/PromotionalBar/index.js").PromotionalBarProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
6
|
+
parameters: {
|
|
7
|
+
layout: string;
|
|
8
|
+
docs: {
|
|
9
|
+
description: {
|
|
10
|
+
component: string;
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
tags: string[];
|
|
15
|
+
argTypes: {
|
|
16
|
+
data: {
|
|
17
|
+
description: string;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
args: {
|
|
21
|
+
data: PromotionalBarData;
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
export default meta;
|
|
25
|
+
type Story = StoryObj<typeof meta>;
|
|
26
|
+
export declare const Default: Story;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var m=Object.create;var e=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var y=Object.getPrototypeOf,l=Object.prototype.hasOwnProperty;var d=(t,o)=>{for(var a in o)e(t,a,{get:o[a],enumerable:!0})},s=(t,o,a,n)=>{if(o&&typeof o=="object"||typeof o=="function")for(let r of c(o))!l.call(t,r)&&r!==a&&e(t,r,{get:()=>o[r],enumerable:!(n=p(o,r))||n.enumerable});return t};var f=(t,o,a)=>(a=t!=null?m(y(t)):{},s(o||!t||!t.__esModule?e(a,"default",{value:t,enumerable:!0}):a,t)),B=t=>s(e({},"__esModule",{value:!0}),t);var S={};d(S,{Default:()=>D,default:()=>u});module.exports=B(S);var i=f(require("../biz-components/PromotionalBar/index.js"));const P={title:"\u63A8\u5E7F\u680F"},g={title:"Biz Components/PromotionalBar",component:i.default,parameters:{layout:"centered",docs:{description:{component:"\u63A8\u5E7F\u680F - \u63A8\u5E7F\u680F"}}},tags:["autodocs"],argTypes:{data:{description:"\u4E1A\u52A1\u6570\u636E"}},args:{data:P}};var u=g;const D={args:{}};
|
|
2
|
+
//# sourceMappingURL=promotionalBar.stories.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/stories/promotionalBar.stories.tsx"],
|
|
4
|
+
"sourcesContent": ["import type { Meta, StoryObj } from '@storybook/react'\n\nimport PromotionalBar, { type PromotionalBarData } from '../biz-components/PromotionalBar/index.js'\n\n// \u6A21\u62DF\u4E1A\u52A1\u6570\u636E\nconst mockData: PromotionalBarData = {\n title: '\u63A8\u5E7F\u680F',\n // \u6839\u636E\u5B9E\u9645\u4E1A\u52A1\u9700\u6C42\u6DFB\u52A0\u66F4\u591A\u6570\u636E\u5B57\u6BB5\n}\n\nconst meta = {\n title: 'Biz Components/PromotionalBar',\n component: PromotionalBar,\n parameters: {\n layout: 'centered',\n docs: {\n description: {\n component: '\u63A8\u5E7F\u680F - \u63A8\u5E7F\u680F',\n },\n },\n },\n tags: ['autodocs'],\n argTypes: {\n data: {\n description: '\u4E1A\u52A1\u6570\u636E',\n },\n },\n args: {\n data: mockData,\n },\n} satisfies Meta<typeof PromotionalBar>\n\nexport default meta\ntype Story = StoryObj<typeof meta>\n\nexport const Default: Story = {\n args: {},\n}\n"],
|
|
5
|
+
"mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,EAAA,YAAAC,IAAA,eAAAC,EAAAJ,GAEA,IAAAK,EAAwD,wDAGxD,MAAMC,EAA+B,CACnC,MAAO,oBAET,EAEMC,EAAO,CACX,MAAO,gCACP,UAAW,EAAAC,QACX,WAAY,CACV,OAAQ,WACR,KAAM,CACJ,YAAa,CACX,UAAW,yCACb,CACF,CACF,EACA,KAAM,CAAC,UAAU,EACjB,SAAU,CACR,KAAM,CACJ,YAAa,0BACf,CACF,EACA,KAAM,CACJ,KAAMF,CACR,CACF,EAEA,IAAOH,EAAQI,EAGR,MAAML,EAAiB,CAC5B,KAAM,CAAC,CACT",
|
|
6
|
+
"names": ["promotionalBar_stories_exports", "__export", "Default", "promotionalBar_stories_default", "__toCommonJS", "import_PromotionalBar", "mockData", "meta", "PromotionalBar"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { StoryObj } from '@storybook/react';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { type SecondaryBannerData } from '../biz-components/SecondaryBanner/index.js';
|
|
4
|
+
declare const meta: {
|
|
5
|
+
title: string;
|
|
6
|
+
component: React.ForwardRefExoticComponent<Omit<Omit<import("../biz-components/SecondaryBanner/index.js").SecondaryBannerProps & React.RefAttributes<HTMLElement>, keyof import("../shared/Styles.js").StylesProps> & Partial<import("../shared/Styles.js").StylesProps & import("../shared/Styles.js").ContainerProps> & {
|
|
7
|
+
className?: string;
|
|
8
|
+
data?: Record<string, any>;
|
|
9
|
+
}, "ref"> & React.RefAttributes<any>>;
|
|
10
|
+
parameters: {
|
|
11
|
+
layout: string;
|
|
12
|
+
docs: {
|
|
13
|
+
description: {
|
|
14
|
+
component: string;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
tags: string[];
|
|
19
|
+
argTypes: {
|
|
20
|
+
data: {
|
|
21
|
+
description: string;
|
|
22
|
+
control: "object";
|
|
23
|
+
};
|
|
24
|
+
className: {
|
|
25
|
+
description: string;
|
|
26
|
+
control: "text";
|
|
27
|
+
};
|
|
28
|
+
classNames: {
|
|
29
|
+
description: string;
|
|
30
|
+
control: "object";
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
args: {
|
|
34
|
+
data: SecondaryBannerData;
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
export default meta;
|
|
38
|
+
type Story = StoryObj<typeof meta>;
|
|
39
|
+
export declare const Default: Story;
|
|
40
|
+
export declare const SmallSize: Story;
|
|
41
|
+
export declare const LargeSize: Story;
|
|
42
|
+
export declare const ExtraLargeSize: Story;
|
|
43
|
+
export declare const WithButton: Story;
|
|
44
|
+
export declare const TitleOnly: Story;
|
|
45
|
+
export declare const FullContent: Story;
|
|
46
|
+
export declare const DarkTheme: Story;
|
|
47
|
+
export declare const WithVideosBackground: Story;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var l=Object.create;var m=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var n=Object.getOwnPropertyNames;var u=Object.getPrototypeOf,g=Object.prototype.hasOwnProperty;var b=(t,e)=>{for(var o in e)m(t,o,{get:e[o],enumerable:!0})},s=(t,e,o,p)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of n(e))!g.call(t,i)&&i!==o&&m(t,i,{get:()=>e[i],enumerable:!(p=c(e,i))||p.enumerable});return t};var h=(t,e,o)=>(o=t!=null?l(u(t)):{},s(e||!t||!t.__esModule?m(o,"default",{value:t,enumerable:!0}):o,t)),f=t=>s(m({},"__esModule",{value:!0}),t);var j={};b(j,{DarkTheme:()=>L,Default:()=>x,ExtraLargeSize:()=>q,FullContent:()=>S,LargeSize:()=>w,SmallSize:()=>T,TitleOnly:()=>v,WithButton:()=>k,WithVideosBackground:()=>R,default:()=>y});module.exports=f(j);var I=require("react"),r=h(require("../biz-components/SecondaryBanner/index.js"));const a={title:"Explore Endless Possibilities",superTitle:"New Experience",subtitle:"Discover more exciting content and start your digital journey",size:"base",theme:"light",primaryButton:{text:"Get Started",onClick:()=>alert("Button clicked!"),link:"#start"},secondaryButton:{text:"Learn More",onClick:()=>alert("Learn More clicked!"),link:"#learn-more"},endDate:"2025-12-31T23:59:59",endDate_tz:"America/Los_Angeles",dateFormat:"Day, Hour, Minute, Second",pcImage:{url:"https://cdn.shopify.com/s/files/1/0501/7678/6607/files/banner_pc.png?v=1765779947",alt:"PC background image",thumbnailURL:"https://cdn.shopify.com/s/files/1/0501/7678/6607/files/banner_pc.png?v=1765779947",mimeType:"image/jpeg"},padImage:{url:"https://cdn.shopify.com/s/files/1/0501/7678/6607/files/Secondary_Banner_public_mobile.png?v=1765780165",alt:"Tablet background image",thumbnailURL:"https://cdn.shopify.com/s/files/1/0501/7678/6607/files/Secondary_Banner_public_mobile.png?v=1765780165",mimeType:"image/jpeg"},mobileImage:{url:"https://cdn.shopify.com/s/files/1/0501/7678/6607/files/Secondary_Banner_public_mobile_2.png?v=1765780255",alt:"Mobile background image",thumbnailURL:"https://cdn.shopify.com/s/files/1/0501/7678/6607/files/Secondary_Banner_public_mobile_2.png?v=1765780255",mimeType:"image/jpeg"},iconArray:[{url:"https://cdn.shopify.com/s/files/1/0501/7678/6607/files/icon_endorsement_2.png?v=1765765485",alt:"icon1",thumbnailURL:"https://cdn.shopify.com/s/files/1/0501/7678/6607/files/icon_endorsement_2.png?v=1765765485",mimeType:"image/png"},{url:"https://cdn.shopify.com/s/files/1/0501/7678/6607/files/icon_endorsement.png?v=1765765486",alt:"icon2",thumbnailURL:"https://cdn.shopify.com/s/files/1/0501/7678/6607/files/icon_endorsement.png?v=1765765486",mimeType:"image/png"}]},d={title:"Biz Components/SecondaryBanner",component:r.default,parameters:{layout:"fullscreen",docs:{description:{component:'\u6B21\u7EA7\u6A2A\u5E45banner - \u662F\u6307\u7528\u6237\u8FDB\u5165\u4E8C\u7EA7\u9875\u9762\u540E\uFF0C\u65E0\u9700\u6EDA\u52A8\u9875\u9762\u5C31\u80FD\u5728\u7B2C\u4E00\u5C4F\uFF08\u5373"\u9996\u5C4F"\uFF09\u770B\u5230\u7684\u3001\u901A\u5E38\u6A2A\u8DE8\u6574\u4E2A\u6D4F\u89C8\u5668\u7A97\u53E3\u5BBD\u5EA6\u7684\u6838\u5FC3\u89C6\u89C9\u533A\u57DF\u3002\u652F\u6301\u54CD\u5E94\u5F0F\u8BBE\u8BA1\uFF0C\u9002\u914D\u4E0D\u540C\u5C4F\u5E55\u5C3A\u5BF8\u3002'}}},tags:["autodocs"],argTypes:{data:{description:"\u4E1A\u52A1\u6570\u636E",control:"object"},className:{description:"\u81EA\u5B9A\u4E49CSS\u7C7B\u540D",control:"text"},classNames:{description:"\u8BED\u4E49\u5316\u7C7B\u540D\u6620\u5C04",control:"object"}},args:{data:a}};var y=d;const x={args:{}},T={args:{data:{...a,title:"Filter Page Title",superTitle:"Product Filter",subtitle:"Find the products that suit you best",size:"sm",pcImage:{url:"https://images.unsplash.com/photo-1441986300917-64674bd600d8?ixlib=rb-4.0.3&auto=format&fit=crop&w=1920&q=80",alt:"Filter page background image",thumbnailURL:"https://images.unsplash.com/photo-1441986300917-64674bd600d8?ixlib=rb-4.0.3&auto=format&fit=crop&w=400&q=80",mimeType:"image/jpeg"},padImage:{url:"https://images.unsplash.com/photo-1441986300917-64674bd600d8?ixlib=rb-4.0.3&auto=format&fit=crop&w=1024&q=80",alt:"Filter page background image",thumbnailURL:"https://images.unsplash.com/photo-1441986300917-64674bd600d8?ixlib=rb-4.0.3&auto=format&fit=crop&w=400&q=80",mimeType:"image/jpeg"},mobileImage:{url:"https://images.unsplash.com/photo-1441986300917-64674bd600d8?ixlib=rb-4.0.3&auto=format&fit=crop&w=768&q=80",alt:"Filter page background image",thumbnailURL:"https://images.unsplash.com/photo-1441986300917-64674bd600d8?ixlib=rb-4.0.3&auto=format&fit=crop&w=400&q=80",mimeType:"image/jpeg"}}}},w={args:{data:{...a,title:"Exciting Topic Page Content",superTitle:"Special Topic",subtitle:"Deep exploration, discover more value",size:"lg",pcImage:{url:"https://images.unsplash.com/photo-1460925895917-afdab827c52f?ixlib=rb-4.0.3&auto=format&fit=crop&w=1920&q=80",alt:"Topic page background image",thumbnailURL:"https://images.unsplash.com/photo-1460925895917-afdab827c52f?ixlib=rb-4.0.3&auto=format&fit=crop&w=400&q=80",mimeType:"image/jpeg"},padImage:{url:"https://images.unsplash.com/photo-1460925895917-afdab827c52f?ixlib=rb-4.0.3&auto=format&fit=crop&w=1024&q=80",alt:"Topic page background image",thumbnailURL:"https://images.unsplash.com/photo-1460925895917-afdab827c52f?ixlib=rb-4.0.3&auto=format&fit=crop&w=400&q=80",mimeType:"image/jpeg"},mobileImage:{url:"https://images.unsplash.com/photo-1460925895917-afdab827c52f?ixlib=rb-4.0.3&auto=format&fit=crop&w=768&q=80",alt:"Topic page background image",thumbnailURL:"https://images.unsplash.com/photo-1460925895917-afdab827c52f?ixlib=rb-4.0.3&auto=format&fit=crop&w=400&q=80",mimeType:"image/jpeg"}}}},q={args:{data:{...a,title:"Exciting Events in Progress",superTitle:"Limited Time Event",subtitle:"Don't miss out, join now to get exclusive offers",size:"xlg",pcImage:{url:"https://images.unsplash.com/photo-1542744173-8e7e53415bb0?ixlib=rb-4.0.3&auto=format&fit=crop&w=1920&q=80",alt:"Event page background image",thumbnailURL:"https://images.unsplash.com/photo-1542744173-8e7e53415bb0?ixlib=rb-4.0.3&auto=format&fit=crop&w=400&q=80",mimeType:"image/jpeg"},padImage:{url:"https://images.unsplash.com/photo-1542744173-8e7e53415bb0?ixlib=rb-4.0.3&auto=format&fit=crop&w=1024&q=80",alt:"Event page background image",thumbnailURL:"https://images.unsplash.com/photo-1542744173-8e7e53415bb0?ixlib=rb-4.0.3&auto=format&fit=crop&w=400&q=80",mimeType:"image/jpeg"},mobileImage:{url:"https://images.unsplash.com/photo-1542744173-8e7e53415bb0?ixlib=rb-4.0.3&auto=format&fit=crop&w=768&q=80",alt:"Event page background image",thumbnailURL:"https://images.unsplash.com/photo-1542744173-8e7e53415bb0?ixlib=rb-4.0.3&auto=format&fit=crop&w=400&q=80",mimeType:"image/jpeg"}}}},k={args:{data:{...a,title:"Start Your Journey Now",superTitle:"Welcome Experience",subtitle:"Click the button below to explore more exciting content",pcImage:{url:"https://images.unsplash.com/photo-1551434678-e076c223a692?ixlib=rb-4.0.3&auto=format&fit=crop&w=1920&q=80",alt:"Background image with button",thumbnailURL:"https://images.unsplash.com/photo-1551434678-e076c223a692?ixlib=rb-4.0.3&auto=format&fit=crop&w=400&q=80",mimeType:"image/jpeg"},padImage:{url:"https://images.unsplash.com/photo-1551434678-e076c223a692?ixlib=rb-4.0.3&auto=format&fit=crop&w=1024&q=80",alt:"Background image with button",thumbnailURL:"https://images.unsplash.com/photo-1551434678-e076c223a692?ixlib=rb-4.0.3&auto=format&fit=crop&w=400&q=80",mimeType:"image/jpeg"},mobileImage:{url:"https://images.unsplash.com/photo-1551434678-e076c223a692?ixlib=rb-4.0.3&auto=format&fit=crop&w=768&q=80",alt:"Background image with button",thumbnailURL:"https://images.unsplash.com/photo-1551434678-e076c223a692?ixlib=rb-4.0.3&auto=format&fit=crop&w=400&q=80",mimeType:"image/jpeg"}}}},v={args:{data:{...a,title:"Clear and Concise Main Title",superTitle:void 0,subtitle:void 0,pcImage:{url:"https://images.unsplash.com/photo-1497486751825-1233686d5d80?ixlib=rb-4.0.3&auto=format&fit=crop&w=1920&q=80",alt:"Simple title background image",thumbnailURL:"https://images.unsplash.com/photo-1497486751825-1233686d5d80?ixlib=rb-4.0.3&auto=format&fit=crop&w=400&q=80",mimeType:"image/jpeg"},padImage:{url:"https://images.unsplash.com/photo-1497486751825-1233686d5d80?ixlib=rb-4.0.3&auto=format&fit=crop&w=1024&q=80",alt:"Simple title background image",thumbnailURL:"https://images.unsplash.com/photo-1497486751825-1233686d5d80?ixlib=rb-4.0.3&auto=format&fit=crop&w=400&q=80",mimeType:"image/jpeg"},mobileImage:{url:"https://images.unsplash.com/photo-1497486751825-1233686d5d80?ixlib=rb-4.0.3&auto=format&fit=crop&w=768&q=80",alt:"Simple title background image",thumbnailURL:"https://images.unsplash.com/photo-1497486751825-1233686d5d80?ixlib=rb-4.0.3&auto=format&fit=crop&w=400&q=80",mimeType:"image/jpeg"}}}},S={args:{data:{...a,title:"Complete Banner Content Display",superTitle:"Full Example",subtitle:"This showcases all available text fields, including main title, subtitle and description text, plus action button",size:"lg",pcImage:{url:"https://images.unsplash.com/photo-1522071820081-009f0129c71c?ixlib=rb-4.0.3&auto=format&fit=crop&w=1920&q=80",alt:"Full content background image",thumbnailURL:"https://images.unsplash.com/photo-1522071820081-009f0129c71c?ixlib=rb-4.0.3&auto=format&fit=crop&w=400&q=80",mimeType:"image/jpeg"},padImage:{url:"https://images.unsplash.com/photo-1522071820081-009f0129c71c?ixlib=rb-4.0.3&auto=format&fit=crop&w=1024&q=80",alt:"Full content background image",thumbnailURL:"https://images.unsplash.com/photo-1522071820081-009f0129c71c?ixlib=rb-4.0.3&auto=format&fit=crop&w=400&q=80",mimeType:"image/jpeg"},mobileImage:{url:"https://images.unsplash.com/photo-1522071820081-009f0129c71c?ixlib=rb-4.0.3&auto=format&fit=crop&w=768&q=80",alt:"Full content background image",thumbnailURL:"https://images.unsplash.com/photo-1522071820081-009f0129c71c?ixlib=rb-4.0.3&auto=format&fit=crop&w=400&q=80",mimeType:"image/jpeg"}}}},L={args:{data:{...a,title:"Dark Theme Display",superTitle:"Theme Style",subtitle:"Showcasing banner effects under dark theme",theme:"dark",pcImage:{url:"https://images.unsplash.com/photo-1451187580459-43490279c0fa?ixlib=rb-4.0.3&auto=format&fit=crop&w=1920&q=80",alt:"Dark theme background image",thumbnailURL:"https://images.unsplash.com/photo-1451187580459-43490279c0fa?ixlib=rb-4.0.3&auto=format&fit=crop&w=400&q=80",mimeType:"image/jpeg"},padImage:{url:"https://images.unsplash.com/photo-1451187580459-43490279c0fa?ixlib=rb-4.0.3&auto=format&fit=crop&w=1024&q=80",alt:"Dark theme background image",thumbnailURL:"https://images.unsplash.com/photo-1451187580459-43490279c0fa?ixlib=rb-4.0.3&auto=format&fit=crop&w=400&q=80",mimeType:"image/jpeg"},mobileImage:{url:"https://images.unsplash.com/photo-1451187580459-43490279c0fa?ixlib=rb-4.0.3&auto=format&fit=crop&w=768&q=80",alt:"Dark theme background image",thumbnailURL:"https://images.unsplash.com/photo-1451187580459-43490279c0fa?ixlib=rb-4.0.3&auto=format&fit=crop&w=400&q=80",mimeType:"image/jpeg"}}}},R={args:{data:{...a,theme:"dark",title:"Multi-Device Video Display",superTitle:"Responsive Video",subtitle:"Different video content optimized for each device size",size:"base",pcImage:{url:"https://cdn.shopify.com/videos/c/o/v/159d37d62cef485fa14bf2491b6e8725.mp4",alt:"PC background video",thumbnailURL:"https://images.unsplash.com/photo-1518709268805-4e9042af2176?ixlib=rb-4.0.3&auto=format&fit=crop&w=400&q=80",mimeType:"video/mp4"},padImage:{url:"https://cdn.shopify.com/videos/c/o/v/159d37d62cef485fa14bf2491b6e8725.mp4",alt:"Tablet background video",thumbnailURL:"https://images.unsplash.com/photo-1518709268805-4e9042af2176?ixlib=rb-4.0.3&auto=format&fit=crop&w=400&q=80",mimeType:"video/mp4"},mobileImage:{url:"https://cdn.shopify.com/videos/c/o/v/50981dfe2910408fa76436ca394cbc6f.mp4",alt:"Mobile background video",thumbnailURL:"https://images.unsplash.com/photo-1518709268805-4e9042af2176?ixlib=rb-4.0.3&auto=format&fit=crop&w=400&q=80",mimeType:"video/mp4"},iconArray:void 0}}};
|
|
2
|
+
//# sourceMappingURL=secondaryBanner.stories.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/stories/secondaryBanner.stories.tsx"],
|
|
4
|
+
"sourcesContent": ["import type { Meta, StoryObj } from '@storybook/react'\nimport React from 'react'\n\nimport SecondaryBanner, { type SecondaryBannerData } from '../biz-components/SecondaryBanner/index.js'\n\n// \u57FA\u7840\u6A21\u62DF\u6570\u636E\nconst baseData: SecondaryBannerData = {\n title: 'Explore Endless Possibilities',\n superTitle: 'New Experience',\n subtitle: 'Discover more exciting content and start your digital journey',\n size: 'base',\n theme: 'light',\n primaryButton: {\n text: 'Get Started',\n onClick: () => alert('Button clicked!'),\n link: '#start',\n },\n secondaryButton: {\n text: 'Learn More',\n onClick: () => alert('Learn More clicked!'),\n link: '#learn-more',\n },\n endDate: '2025-12-31T23:59:59',\n endDate_tz: 'America/Los_Angeles',\n dateFormat: 'Day, Hour, Minute, Second',\n pcImage: {\n url: 'https://cdn.shopify.com/s/files/1/0501/7678/6607/files/banner_pc.png?v=1765779947',\n alt: 'PC background image',\n thumbnailURL: 'https://cdn.shopify.com/s/files/1/0501/7678/6607/files/banner_pc.png?v=1765779947',\n mimeType: 'image/jpeg',\n },\n padImage: {\n url: 'https://cdn.shopify.com/s/files/1/0501/7678/6607/files/Secondary_Banner_public_mobile.png?v=1765780165',\n alt: 'Tablet background image',\n thumbnailURL:\n 'https://cdn.shopify.com/s/files/1/0501/7678/6607/files/Secondary_Banner_public_mobile.png?v=1765780165',\n mimeType: 'image/jpeg',\n },\n mobileImage: {\n url: 'https://cdn.shopify.com/s/files/1/0501/7678/6607/files/Secondary_Banner_public_mobile_2.png?v=1765780255',\n alt: 'Mobile background image',\n thumbnailURL:\n 'https://cdn.shopify.com/s/files/1/0501/7678/6607/files/Secondary_Banner_public_mobile_2.png?v=1765780255',\n mimeType: 'image/jpeg',\n },\n iconArray: [\n {\n url: 'https://cdn.shopify.com/s/files/1/0501/7678/6607/files/icon_endorsement_2.png?v=1765765485',\n alt: 'icon1',\n thumbnailURL: 'https://cdn.shopify.com/s/files/1/0501/7678/6607/files/icon_endorsement_2.png?v=1765765485',\n mimeType: 'image/png',\n },\n {\n url: 'https://cdn.shopify.com/s/files/1/0501/7678/6607/files/icon_endorsement.png?v=1765765486',\n alt: 'icon2',\n thumbnailURL: 'https://cdn.shopify.com/s/files/1/0501/7678/6607/files/icon_endorsement.png?v=1765765486',\n mimeType: 'image/png',\n },\n ],\n}\n\nconst meta = {\n title: 'Biz Components/SecondaryBanner',\n component: SecondaryBanner,\n parameters: {\n layout: 'fullscreen',\n docs: {\n description: {\n component: '\u6B21\u7EA7\u6A2A\u5E45banner - \u662F\u6307\u7528\u6237\u8FDB\u5165\u4E8C\u7EA7\u9875\u9762\u540E\uFF0C\u65E0\u9700\u6EDA\u52A8\u9875\u9762\u5C31\u80FD\u5728\u7B2C\u4E00\u5C4F\uFF08\u5373\"\u9996\u5C4F\"\uFF09\u770B\u5230\u7684\u3001\u901A\u5E38\u6A2A\u8DE8\u6574\u4E2A\u6D4F\u89C8\u5668\u7A97\u53E3\u5BBD\u5EA6\u7684\u6838\u5FC3\u89C6\u89C9\u533A\u57DF\u3002\u652F\u6301\u54CD\u5E94\u5F0F\u8BBE\u8BA1\uFF0C\u9002\u914D\u4E0D\u540C\u5C4F\u5E55\u5C3A\u5BF8\u3002',\n },\n },\n },\n tags: ['autodocs'],\n argTypes: {\n data: {\n description: '\u4E1A\u52A1\u6570\u636E',\n control: 'object',\n },\n className: {\n description: '\u81EA\u5B9A\u4E49CSS\u7C7B\u540D',\n control: 'text',\n },\n classNames: {\n description: '\u8BED\u4E49\u5316\u7C7B\u540D\u6620\u5C04',\n control: 'object',\n },\n },\n args: {\n data: baseData,\n },\n} satisfies Meta<typeof SecondaryBanner>\n\nexport default meta\ntype Story = StoryObj<typeof meta>\n\n// Default state\nexport const Default: Story = {\n args: {},\n}\n\n// Small size variant (suitable for filter pages)\nexport const SmallSize: Story = {\n args: {\n data: {\n ...baseData,\n title: 'Filter Page Title',\n superTitle: 'Product Filter',\n subtitle: 'Find the products that suit you best',\n size: 'sm',\n pcImage: {\n url: 'https://images.unsplash.com/photo-1441986300917-64674bd600d8?ixlib=rb-4.0.3&auto=format&fit=crop&w=1920&q=80',\n alt: 'Filter page background image',\n thumbnailURL: 'https://images.unsplash.com/photo-1441986300917-64674bd600d8?ixlib=rb-4.0.3&auto=format&fit=crop&w=400&q=80',\n mimeType: 'image/jpeg'\n },\n padImage: {\n url: 'https://images.unsplash.com/photo-1441986300917-64674bd600d8?ixlib=rb-4.0.3&auto=format&fit=crop&w=1024&q=80',\n alt: 'Filter page background image',\n thumbnailURL: 'https://images.unsplash.com/photo-1441986300917-64674bd600d8?ixlib=rb-4.0.3&auto=format&fit=crop&w=400&q=80',\n mimeType: 'image/jpeg'\n },\n mobileImage: {\n url: 'https://images.unsplash.com/photo-1441986300917-64674bd600d8?ixlib=rb-4.0.3&auto=format&fit=crop&w=768&q=80',\n alt: 'Filter page background image',\n thumbnailURL: 'https://images.unsplash.com/photo-1441986300917-64674bd600d8?ixlib=rb-4.0.3&auto=format&fit=crop&w=400&q=80',\n mimeType: 'image/jpeg'\n },\n },\n },\n}\n\n// Large size variant (suitable for topic pages)\nexport const LargeSize: Story = {\n args: {\n data: {\n ...baseData,\n title: 'Exciting Topic Page Content',\n superTitle: 'Special Topic',\n subtitle: 'Deep exploration, discover more value',\n size: 'lg',\n pcImage: {\n url: 'https://images.unsplash.com/photo-1460925895917-afdab827c52f?ixlib=rb-4.0.3&auto=format&fit=crop&w=1920&q=80',\n alt: 'Topic page background image',\n thumbnailURL: 'https://images.unsplash.com/photo-1460925895917-afdab827c52f?ixlib=rb-4.0.3&auto=format&fit=crop&w=400&q=80',\n mimeType: 'image/jpeg'\n },\n padImage: {\n url: 'https://images.unsplash.com/photo-1460925895917-afdab827c52f?ixlib=rb-4.0.3&auto=format&fit=crop&w=1024&q=80',\n alt: 'Topic page background image',\n thumbnailURL: 'https://images.unsplash.com/photo-1460925895917-afdab827c52f?ixlib=rb-4.0.3&auto=format&fit=crop&w=400&q=80',\n mimeType: 'image/jpeg'\n },\n mobileImage: {\n url: 'https://images.unsplash.com/photo-1460925895917-afdab827c52f?ixlib=rb-4.0.3&auto=format&fit=crop&w=768&q=80',\n alt: 'Topic page background image',\n thumbnailURL: 'https://images.unsplash.com/photo-1460925895917-afdab827c52f?ixlib=rb-4.0.3&auto=format&fit=crop&w=400&q=80',\n mimeType: 'image/jpeg'\n },\n },\n },\n}\n\n// Extra large size variant (suitable for event page banner)\nexport const ExtraLargeSize: Story = {\n args: {\n data: {\n ...baseData,\n title: 'Exciting Events in Progress',\n superTitle: 'Limited Time Event',\n subtitle: 'Don\\'t miss out, join now to get exclusive offers',\n size: 'xlg',\n pcImage: {\n url: 'https://images.unsplash.com/photo-1542744173-8e7e53415bb0?ixlib=rb-4.0.3&auto=format&fit=crop&w=1920&q=80',\n alt: 'Event page background image',\n thumbnailURL: 'https://images.unsplash.com/photo-1542744173-8e7e53415bb0?ixlib=rb-4.0.3&auto=format&fit=crop&w=400&q=80',\n mimeType: 'image/jpeg'\n },\n padImage: {\n url: 'https://images.unsplash.com/photo-1542744173-8e7e53415bb0?ixlib=rb-4.0.3&auto=format&fit=crop&w=1024&q=80',\n alt: 'Event page background image',\n thumbnailURL: 'https://images.unsplash.com/photo-1542744173-8e7e53415bb0?ixlib=rb-4.0.3&auto=format&fit=crop&w=400&q=80',\n mimeType: 'image/jpeg'\n },\n mobileImage: {\n url: 'https://images.unsplash.com/photo-1542744173-8e7e53415bb0?ixlib=rb-4.0.3&auto=format&fit=crop&w=768&q=80',\n alt: 'Event page background image',\n thumbnailURL: 'https://images.unsplash.com/photo-1542744173-8e7e53415bb0?ixlib=rb-4.0.3&auto=format&fit=crop&w=400&q=80',\n mimeType: 'image/jpeg'\n },\n },\n },\n}\n\n// Variant with button\nexport const WithButton: Story = {\n args: {\n data: {\n ...baseData,\n title: 'Start Your Journey Now',\n superTitle: 'Welcome Experience',\n subtitle: 'Click the button below to explore more exciting content',\n\n pcImage: {\n url: 'https://images.unsplash.com/photo-1551434678-e076c223a692?ixlib=rb-4.0.3&auto=format&fit=crop&w=1920&q=80',\n alt: 'Background image with button',\n thumbnailURL: 'https://images.unsplash.com/photo-1551434678-e076c223a692?ixlib=rb-4.0.3&auto=format&fit=crop&w=400&q=80',\n mimeType: 'image/jpeg'\n },\n padImage: {\n url: 'https://images.unsplash.com/photo-1551434678-e076c223a692?ixlib=rb-4.0.3&auto=format&fit=crop&w=1024&q=80',\n alt: 'Background image with button',\n thumbnailURL: 'https://images.unsplash.com/photo-1551434678-e076c223a692?ixlib=rb-4.0.3&auto=format&fit=crop&w=400&q=80',\n mimeType: 'image/jpeg'\n },\n mobileImage: {\n url: 'https://images.unsplash.com/photo-1551434678-e076c223a692?ixlib=rb-4.0.3&auto=format&fit=crop&w=768&q=80',\n alt: 'Background image with button',\n thumbnailURL: 'https://images.unsplash.com/photo-1551434678-e076c223a692?ixlib=rb-4.0.3&auto=format&fit=crop&w=400&q=80',\n mimeType: 'image/jpeg'\n },\n },\n },\n}\n\n// Simplified version (title only)\nexport const TitleOnly: Story = {\n args: {\n data: {\n ...baseData,\n title: 'Clear and Concise Main Title',\n superTitle: undefined,\n subtitle: undefined,\n pcImage: {\n url: 'https://images.unsplash.com/photo-1497486751825-1233686d5d80?ixlib=rb-4.0.3&auto=format&fit=crop&w=1920&q=80',\n alt: 'Simple title background image',\n thumbnailURL: 'https://images.unsplash.com/photo-1497486751825-1233686d5d80?ixlib=rb-4.0.3&auto=format&fit=crop&w=400&q=80',\n mimeType: 'image/jpeg'\n },\n padImage: {\n url: 'https://images.unsplash.com/photo-1497486751825-1233686d5d80?ixlib=rb-4.0.3&auto=format&fit=crop&w=1024&q=80',\n alt: 'Simple title background image',\n thumbnailURL: 'https://images.unsplash.com/photo-1497486751825-1233686d5d80?ixlib=rb-4.0.3&auto=format&fit=crop&w=400&q=80',\n mimeType: 'image/jpeg'\n },\n mobileImage: {\n url: 'https://images.unsplash.com/photo-1497486751825-1233686d5d80?ixlib=rb-4.0.3&auto=format&fit=crop&w=768&q=80',\n alt: 'Simple title background image',\n thumbnailURL: 'https://images.unsplash.com/photo-1497486751825-1233686d5d80?ixlib=rb-4.0.3&auto=format&fit=crop&w=400&q=80',\n mimeType: 'image/jpeg'\n },\n },\n },\n}\n\n// Full content version (includes all text and button)\nexport const FullContent: Story = {\n args: {\n data: {\n ...baseData,\n title: 'Complete Banner Content Display',\n superTitle: 'Full Example',\n subtitle: 'This showcases all available text fields, including main title, subtitle and description text, plus action button',\n \n size: 'lg',\n pcImage: {\n url: 'https://images.unsplash.com/photo-1522071820081-009f0129c71c?ixlib=rb-4.0.3&auto=format&fit=crop&w=1920&q=80',\n alt: 'Full content background image',\n thumbnailURL: 'https://images.unsplash.com/photo-1522071820081-009f0129c71c?ixlib=rb-4.0.3&auto=format&fit=crop&w=400&q=80',\n mimeType: 'image/jpeg'\n },\n padImage: {\n url: 'https://images.unsplash.com/photo-1522071820081-009f0129c71c?ixlib=rb-4.0.3&auto=format&fit=crop&w=1024&q=80',\n alt: 'Full content background image',\n thumbnailURL: 'https://images.unsplash.com/photo-1522071820081-009f0129c71c?ixlib=rb-4.0.3&auto=format&fit=crop&w=400&q=80',\n mimeType: 'image/jpeg'\n },\n mobileImage: {\n url: 'https://images.unsplash.com/photo-1522071820081-009f0129c71c?ixlib=rb-4.0.3&auto=format&fit=crop&w=768&q=80',\n alt: 'Full content background image',\n thumbnailURL: 'https://images.unsplash.com/photo-1522071820081-009f0129c71c?ixlib=rb-4.0.3&auto=format&fit=crop&w=400&q=80',\n mimeType: 'image/jpeg'\n },\n },\n },\n}\n\n// Dark theme variant\nexport const DarkTheme: Story = {\n args: {\n data: {\n ...baseData,\n title: 'Dark Theme Display',\n superTitle: 'Theme Style',\n subtitle: 'Showcasing banner effects under dark theme',\n theme: 'dark',\n pcImage: {\n url: 'https://images.unsplash.com/photo-1451187580459-43490279c0fa?ixlib=rb-4.0.3&auto=format&fit=crop&w=1920&q=80',\n alt: 'Dark theme background image',\n thumbnailURL: 'https://images.unsplash.com/photo-1451187580459-43490279c0fa?ixlib=rb-4.0.3&auto=format&fit=crop&w=400&q=80',\n mimeType: 'image/jpeg'\n },\n padImage: {\n url: 'https://images.unsplash.com/photo-1451187580459-43490279c0fa?ixlib=rb-4.0.3&auto=format&fit=crop&w=1024&q=80',\n alt: 'Dark theme background image',\n thumbnailURL: 'https://images.unsplash.com/photo-1451187580459-43490279c0fa?ixlib=rb-4.0.3&auto=format&fit=crop&w=400&q=80',\n mimeType: 'image/jpeg'\n },\n mobileImage: {\n url: 'https://images.unsplash.com/photo-1451187580459-43490279c0fa?ixlib=rb-4.0.3&auto=format&fit=crop&w=768&q=80',\n alt: 'Dark theme background image',\n thumbnailURL: 'https://images.unsplash.com/photo-1451187580459-43490279c0fa?ixlib=rb-4.0.3&auto=format&fit=crop&w=400&q=80',\n mimeType: 'image/jpeg'\n },\n },\n },\n}\n\n\n// Multiple video sources variant\nexport const WithVideosBackground: Story = {\n args: {\n data: {\n ...baseData,\n theme: 'dark',\n title: 'Multi-Device Video Display',\n superTitle: 'Responsive Video',\n subtitle: 'Different video content optimized for each device size',\n size: 'base',\n pcImage: {\n url: 'https://cdn.shopify.com/videos/c/o/v/159d37d62cef485fa14bf2491b6e8725.mp4',\n alt: 'PC background video',\n thumbnailURL:\n 'https://images.unsplash.com/photo-1518709268805-4e9042af2176?ixlib=rb-4.0.3&auto=format&fit=crop&w=400&q=80',\n mimeType: 'video/mp4',\n },\n padImage: {\n url: 'https://cdn.shopify.com/videos/c/o/v/159d37d62cef485fa14bf2491b6e8725.mp4',\n alt: 'Tablet background video',\n thumbnailURL:\n 'https://images.unsplash.com/photo-1518709268805-4e9042af2176?ixlib=rb-4.0.3&auto=format&fit=crop&w=400&q=80',\n mimeType: 'video/mp4',\n },\n mobileImage: {\n url: 'https://cdn.shopify.com/videos/c/o/v/50981dfe2910408fa76436ca394cbc6f.mp4',\n alt: 'Mobile background video',\n thumbnailURL:\n 'https://images.unsplash.com/photo-1518709268805-4e9042af2176?ixlib=rb-4.0.3&auto=format&fit=crop&w=400&q=80',\n mimeType: 'video/mp4',\n },\n iconArray: undefined,\n },\n },\n}"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["secondaryBanner_stories_exports", "__export", "DarkTheme", "Default", "ExtraLargeSize", "FullContent", "LargeSize", "SmallSize", "TitleOnly", "WithButton", "WithVideosBackground", "secondaryBanner_stories_default", "__toCommonJS", "import_react", "import_SecondaryBanner", "baseData", "meta", "SecondaryBanner"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { StoryObj } from '@storybook/react';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { type StockShelfData } from '../biz-components/StockShelf/index.js';
|
|
4
|
+
declare const meta: {
|
|
5
|
+
title: string;
|
|
6
|
+
component: React.ForwardRefExoticComponent<import("../biz-components/StockShelf/index.js").StockShelfProps & React.RefAttributes<HTMLDivElement>>;
|
|
7
|
+
parameters: {
|
|
8
|
+
layout: string;
|
|
9
|
+
docs: {
|
|
10
|
+
description: {
|
|
11
|
+
component: string;
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
tags: string[];
|
|
16
|
+
argTypes: {
|
|
17
|
+
data: {
|
|
18
|
+
description: string;
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
args: {
|
|
22
|
+
data: StockShelfData;
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
export default meta;
|
|
26
|
+
type Story = StoryObj<typeof meta>;
|
|
27
|
+
export declare const Default: Story;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var i=Object.create;var r=Object.defineProperty;var S=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var m=Object.getPrototypeOf,n=Object.prototype.hasOwnProperty;var y=(t,o)=>{for(var e in o)r(t,e,{get:o[e],enumerable:!0})},p=(t,o,e,c)=>{if(o&&typeof o=="object"||typeof o=="function")for(let a of f(o))!n.call(t,a)&&a!==e&&r(t,a,{get:()=>o[a],enumerable:!(c=S(o,a))||c.enumerable});return t};var l=(t,o,e)=>(e=t!=null?i(m(t)):{},p(o||!t||!t.__esModule?r(e,"default",{value:t,enumerable:!0}):e,t)),d=t=>p(r({},"__esModule",{value:!0}),t);var D={};y(D,{Default:()=>u,default:()=>g});module.exports=d(D);var j=require("react"),s=l(require("../biz-components/StockShelf/index.js"));const k={title:"\u5E93\u5B58\u8D27\u67B6",description:"\u80FD\u591F\u5B9E\u65F6\u663E\u793A\u5546\u54C1\u5E93\u5B58\u4FE1\u606F\u548C\u4F1A\u5458\u4EF7\u7684\u8D27\u67B6"},h={title:"Biz Components/StockShelf",component:s.default,parameters:{layout:"centered",docs:{description:{component:"\u5E93\u5B58\u8D27\u67B6 - \u80FD\u591F\u5B9E\u65F6\u663E\u793A\u5546\u54C1\u5E93\u5B58\u4FE1\u606F\u548C\u4F1A\u5458\u4EF7\u7684\u8D27\u67B6"}}},tags:["autodocs"],argTypes:{data:{description:"\u4E1A\u52A1\u6570\u636E"}},args:{data:k}};var g=h;const u={args:{}};
|
|
2
|
+
//# sourceMappingURL=stockShelf.stories.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/stories/stockShelf.stories.tsx"],
|
|
4
|
+
"sourcesContent": ["import type { Meta, StoryObj } from '@storybook/react'\nimport React from 'react'\n\nimport StockShelf, { type StockShelfData } from '../biz-components/StockShelf/index.js'\n\n// \u6A21\u62DF\u4E1A\u52A1\u6570\u636E\nconst mockData: StockShelfData = {\n title: '\u5E93\u5B58\u8D27\u67B6',\n description: '\u80FD\u591F\u5B9E\u65F6\u663E\u793A\u5546\u54C1\u5E93\u5B58\u4FE1\u606F\u548C\u4F1A\u5458\u4EF7\u7684\u8D27\u67B6',\n // \u6839\u636E\u5B9E\u9645\u4E1A\u52A1\u9700\u6C42\u6DFB\u52A0\u66F4\u591A\u6570\u636E\u5B57\u6BB5\n}\n\nconst meta = {\n title: 'Biz Components/StockShelf',\n component: StockShelf,\n parameters: {\n layout: 'centered',\n docs: {\n description: {\n component: '\u5E93\u5B58\u8D27\u67B6 - \u80FD\u591F\u5B9E\u65F6\u663E\u793A\u5546\u54C1\u5E93\u5B58\u4FE1\u606F\u548C\u4F1A\u5458\u4EF7\u7684\u8D27\u67B6',\n },\n },\n },\n tags: ['autodocs'],\n argTypes: {\n data: {\n description: '\u4E1A\u52A1\u6570\u636E',\n },\n },\n args: {\n data: mockData,\n },\n} satisfies Meta<typeof StockShelf>\n\nexport default meta\ntype Story = StoryObj<typeof meta>\n\nexport const Default: Story = {\n args: {},\n}"],
|
|
5
|
+
"mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,EAAA,YAAAC,IAAA,eAAAC,EAAAJ,GACA,IAAAK,EAAkB,iBAElBC,EAAgD,oDAGhD,MAAMC,EAA2B,CAC/B,MAAO,2BACP,YAAa,oHAEf,EAEMC,EAAO,CACX,MAAO,4BACP,UAAW,EAAAC,QACX,WAAY,CACV,OAAQ,WACR,KAAM,CACJ,YAAa,CACX,UAAW,+IACb,CACF,CACF,EACA,KAAM,CAAC,UAAU,EACjB,SAAU,CACR,KAAM,CACJ,YAAa,0BACf,CACF,EACA,KAAM,CACJ,KAAMF,CACR,CACF,EAEA,IAAOJ,EAAQK,EAGR,MAAMN,EAAiB,CAC5B,KAAM,CAAC,CACT",
|
|
6
|
+
"names": ["stockShelf_stories_exports", "__export", "Default", "stockShelf_stories_default", "__toCommonJS", "import_react", "import_StockShelf", "mockData", "meta", "StockShelf"]
|
|
7
|
+
}
|
|
@@ -26,6 +26,23 @@ export type AccordionCardsType = {
|
|
|
26
26
|
primaryButton?: string;
|
|
27
27
|
theme?: 'light' | 'dark';
|
|
28
28
|
};
|
|
29
|
+
/**
|
|
30
|
+
* 自动播放配置
|
|
31
|
+
*/
|
|
32
|
+
autoplay?: {
|
|
33
|
+
/**
|
|
34
|
+
* 是否开启自动播放
|
|
35
|
+
*/
|
|
36
|
+
enabled: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* 是否循环播放
|
|
39
|
+
*/
|
|
40
|
+
loop?: boolean;
|
|
41
|
+
/**
|
|
42
|
+
* 自动播放间隔时间,单位毫秒
|
|
43
|
+
*/
|
|
44
|
+
interval?: number;
|
|
45
|
+
};
|
|
29
46
|
/** 按钮事件*/
|
|
30
47
|
event?: {
|
|
31
48
|
primaryButton?: (_v: any, _index: number) => void;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use client";import{Fragment as
|
|
1
|
+
"use client";import{Fragment as V,jsx as r,jsxs as d}from"react/jsx-runtime";import M from"../Title/index.js";import{cn as o}from"../../helpers/utils.js";import I from"../../components/picture.js";import N from"../../components/button.js";import H from"../SwiperBox/index.js";import{withLayout as C}from"../../shared/Styles.js";import S,{useState as _,useRef as y,useCallback as D,useImperativeHandle as j,useEffect as R}from"react";import{useExposure as B}from"../../hooks/useExposure.js";import{trackUrlRef as x}from"../../shared/trackUrlRef.js";import A from"../../shared/throttle.js";import{Heading as E}from"../../components/heading.js";const l="image",s="scene_banner",z=({item:e,idx:t,itemShape:m,hoverIndex:h,getRef:g,handleSwiperItemClick:c,contentWidth:f,primaryButton:a,event:p,data:T,accordionRef:w})=>{const b=h===t,k=b?8:1;return B({current:w.current[t]},{componentType:l,componentName:s,componentTitle:e?.title,position:t+1,componentDescription:e?.subTitle}),d("div",{style:{flex:`${k} 1 0%`,transition:"all 0.6s"},ref:v=>{v&&g(t,v)},className:o("relative cursor-pointer overflow-hidden",m==="round"?"rounded-2xl":""),onMouseEnter:()=>c(t),onClick:()=>{c(t)},children:[r("a",{href:x(e?.imgLink,`${l}_${s}`),"data-headless-type-name":`${l}#${s}`,"data-headless-title-desc-button":`${e?.title}#${e?.subTitle}`,children:r(I,{source:e?.img?.url,className:"size-full object-cover [&_img]:h-full [&_img]:object-cover",alt:e?.img?.alt||""})}),d("div",{style:{width:f},className:o("absolute inset-x-0 bottom-0 flex w-full items-end justify-between overflow-hidden px-8 pb-8 opacity-0 transition-opacity duration-[600ms] ease-in",b&&f?"opacity-100":"opacity-0"),children:[d("div",{className:"mr-16 flex-1 overflow-hidden",children:[r(E,{as:"h3",className:"laptop:text-2xl desktop:text-[32px] text-info-primary mb-1 text-xl font-bold",children:e?.title}),r(E,{as:"h4",className:"lg-desktop:text-[18px] desktop:text-[16px] text-info-primary line-clamp-2 text-[14px] font-[700]",children:e?.subTitle})]}),a&&d(N,{className:o("mb-1.5 font-bold"),as:"a",href:x(e?.link,`${l}_${s}`),"data-headless-type-name":`${l}#${s}`,"data-headless-title-desc-button":`${e?.title}#${e?.subTitle}#${a}`,onClick:()=>p?.primaryButton?.(T,t),children:[a,r("span",{className:"sr-only",children:e?.title??e?.subTitle})]})]})]},t)},P=({data:e,configuration:t})=>{const m=y(null);return B(m,{componentType:l,componentName:s,componentTitle:e?.title,position:t?.index+1,componentDescription:e?.subTitle}),d("div",{ref:m,className:o("bg-container-secondary-1 relative w-full shrink-0 grow-0 overflow-hidden border border-solid",t?.itemShape==="round"?"rounded-2xl":""),children:[r("a",{href:x(e?.imgLink,`${l}_${s}`),"data-headless-type-name":`${l}#${s}`,"data-headless-title-desc-button":`${e?.title}@${e?.subTitle}`,"data-headless-nav-postion":`''#${t?.index+1}`,children:r(I,{className:"size-full object-cover [&_img]:h-full [&_img]:object-cover",source:e?.mobileImg?.url||"",alt:e?.mobileImg?.alt||""})}),d("div",{className:o("absolute inset-x-0 bottom-0 overflow-hidden px-4 pb-4"),children:[d("div",{className:"tablet:mb-6 mb-4 flex-1 overflow-hidden",children:[r("p",{className:"text-info-primary text-2xl font-bold leading-[1.2]",children:e?.title}),r("h3",{className:"text-info-primary line-clamp-2 text-sm font-semibold",children:e?.subTitle})]}),t?.primaryButton&&r(N,{as:"a",variant:"secondary","aria-label":e?.title??e?.subTitle,className:o("text-info-primary text-sm font-bold"),href:x(e.link,`${l}_${s}`),"data-headless-type-name":`${l}#${s}`,"data-headless-nav-postion":`''#${t?.index+1}`,"data-headless-title-desc-button":`${e?.title}#${e?.subTitle}#${t?.primaryButton}`,children:t?.primaryButton})]})]})},L=S.forwardRef(({data:e,autoplay:t={enabled:!1,loop:!1,interval:1500},className:m="",event:h},g)=>{const[c,f]=_(0),a=y(0),p=y([]),[T,w]=_(0),b=y(null);j(g,()=>b.current);const k=(n,i)=>{i&&(p.current[n]=i)};R(()=>{const n=()=>{p.current[a.current]&&w(p.current[a.current].offsetWidth)};n();const i=A(n,300);return window.addEventListener("resize",i),()=>window.removeEventListener("resize",i)},[]);const v=D(n=>{c!==n&&(f(n),a.current=n)},[e?.products,c]);return R(()=>{let n;return t?.enabled&&(n=setInterval(()=>{f(i=>{const $=i??0;let u;if(t.loop!==!1)u=($+1)%e?.products?.length;else if(u=$+1,u>=e?.products?.length)return u=e?.products?.length-1,n&&clearInterval(n),$;return a.current=u,u})},t?.interval)),()=>{n&&clearInterval(n)}},[t?.enabled,t?.interval,t?.loop,e?.products?.length,v]),d(V,{children:[e?.title&&r(M,{data:{title:e?.title}}),r("div",{ref:b,className:o("laptop:block hidden",{"aiui-dark":e?.theme==="dark"}),children:r("div",{className:o("lg-desktop:h-[calc(560_/_1920*100vw)] desktop:h-[calc(448_/_1440*100vw)] laptop:h-[calc(336_/_1025*100vw)] flex max-h-[560px] min-h-[336px] w-full gap-4 overflow-hidden",m),children:e?.products?.map((n,i)=>r(z,{item:n,idx:i,itemShape:e?.itemShape,hoverIndex:c,getRef:k,handleSwiperItemClick:v,contentWidth:T,primaryButton:e?.primaryButton,event:h,data:e,accordionRef:p},i))})}),r("div",{className:o("laptop:hidden block",{"aiui-dark":e?.theme==="dark"}),children:r(H,{className:o("h-[400px] !overflow-visible",m),id:"AccordionCards"+e?.key,data:{list:e?.products,configuration:{shape:e?.shape,itemShape:e?.itemShape,primaryButton:e?.primaryButton,event:h,title:e?.title}},Slide:P,breakpoints:{0:{spaceBetween:12,freeMode:!1,slidesPerView:1},374:{spaceBetween:12,freeMode:!1,slidesPerView:1.2},768:{spaceBetween:16,freeMode:!1,slidesPerView:2.3}}})})]})});L.displayName="AccordionCards";var Z=C(L);export{Z as default};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/biz-components/AccordionCards/index.tsx"],
|
|
4
|
-
"sourcesContent": ["'use client'\nimport Title from '../Title/index.js'\nimport { cn } from '../../helpers/utils.js'\nimport Picture from '../../components/picture.js'\nimport Button from '../../components/button.js'\nimport SwiperBox from '../SwiperBox/index.js'\nimport { withLayout } from '../../shared/Styles.js'\nimport React, { useState, useRef, useCallback, useImperativeHandle, useEffect, type RefObject } from 'react'\nimport { useExposure } from '../../hooks/useExposure.js'\nimport { trackUrlRef } from '../../shared/trackUrlRef.js'\nimport type { Img } from '../../types/props.js'\nimport throttle from '../../shared/throttle.js'\nimport { Heading } from '../../components/heading.js'\n\nconst componentType = 'image'\nconst componentName = 'scene_banner'\n\n/** Hook\uFF1A\u76D1\u542C\u7A97\u53E3\u5BBD\u5EA6 */\ntype ItemType = {\n /** \u6807\u9898\u6587\u672C */\n title: string\n /** \u56FE\u7247*/\n img: Img\n mobileImg?: Img\n /** \u5185\u5BB9\u8282\u70B9 */\n subTitle: string\n link?: string\n imgLink?: string\n}\n\nexport type AccordionCardsType = {\n className?: string\n data: {\n key?: string\n title?: string\n products: Array<ItemType>\n /** \u6309\u94AE\u5F62\u72B6 */\n shape?: 'round' | 'square'\n /** \u5361\u7247\u5F62\u72B6 */\n itemShape?: 'round' | 'square'\n /** \u4E3B\u6309\u94AE\u914D\u7F6E */\n primaryButton?: string\n theme?: 'light' | 'dark'\n }\n /** \u6309\u94AE\u4E8B\u4EF6*/\n event?: {\n primaryButton?: (_v: any, _index: number) => void\n }\n}\n\nconst AccordionCardsPcItem = ({\n item,\n idx,\n itemShape,\n hoverIndex,\n getRef,\n handleSwiperItemClick,\n isAnimation,\n contentWidth,\n primaryButton,\n event,\n data,\n accordionRef,\n}: {\n item: ItemType\n idx: number\n itemShape: 'round' | 'square' | undefined\n hoverIndex: number | null\n getRef: (_idx: number, _el: HTMLDivElement) => void\n handleSwiperItemClick: (_idx: number) => void\n isAnimation: any\n contentWidth: number\n primaryButton: string | undefined\n event: any\n data: AccordionCardsType['data']\n accordionRef: React.MutableRefObject<HTMLDivElement[]>\n}) => {\n const isExpanded = hoverIndex === idx\n const flexValue = isExpanded ? 8 : 1\n\n useExposure({ current: accordionRef.current[idx] } as RefObject<HTMLDivElement>, {\n componentType,\n componentName,\n componentTitle: item?.title,\n position: idx + 1,\n componentDescription: item?.subTitle,\n })\n\n return (\n <div\n key={idx}\n style={{\n flex: `${flexValue} 1 0%`,\n transition: 'all 0.6s',\n }}\n ref={(el: HTMLDivElement | null) => {\n if (el) getRef(idx, el)\n }}\n className={cn('relative cursor-pointer overflow-hidden', itemShape === 'round' ? 'rounded-2xl' : '')}\n onMouseEnter={() => handleSwiperItemClick(idx)}\n onMouseLeave={() => {\n isAnimation.current = false\n }}\n onClick={() => {\n handleSwiperItemClick(idx)\n }}\n >\n <a\n href={trackUrlRef(item?.imgLink, `${componentType}_${componentName}`)}\n data-headless-type-name={`${componentType}#${componentName}`}\n data-headless-title-desc-button={`${item?.title}#${item?.subTitle}`}\n >\n <Picture\n source={item?.img?.url}\n className=\"size-full object-cover [&_img]:h-full [&_img]:object-cover\"\n alt={item?.img?.alt || ''}\n />\n </a>\n <div\n style={{\n width: contentWidth,\n }}\n className={cn(\n 'absolute inset-x-0 bottom-0 flex w-full items-end justify-between overflow-hidden px-8 pb-8 opacity-0 transition-opacity duration-[600ms] ease-in',\n isExpanded && contentWidth ? 'opacity-100' : 'opacity-0'\n )}\n >\n <div className=\"mr-16 flex-1 overflow-hidden\">\n <Heading as=\"h3\" className=\"laptop:text-2xl desktop:text-[32px] text-info-primary mb-1 text-xl font-bold\">\n {item?.title}\n </Heading>\n <Heading\n as=\"h4\"\n className=\"lg-desktop:text-[18px] desktop:text-[16px] text-info-primary line-clamp-2 text-[14px] font-[700]\"\n >\n {item?.subTitle}\n </Heading>\n </div>\n <Button\n className={cn('mb-1.5 font-bold')}\n as=\"a\"\n href={trackUrlRef(item?.link, `${componentType}_${componentName}`)}\n data-headless-type-name={`${componentType}#${componentName}`}\n data-headless-title-desc-button={`${item?.title}#${item?.subTitle}#${primaryButton}`}\n onClick={() => event?.primaryButton?.(data, idx)}\n >\n {primaryButton}\n <span className=\"sr-only\">{item?.title ?? item?.subTitle}</span>\n </Button>\n </div>\n </div>\n )\n}\n\nconst MobileItem = ({ data, configuration }: { data: ItemType; configuration?: any }) => {\n const ref = useRef<HTMLDivElement>(null)\n\n useExposure(ref, {\n componentType,\n componentName,\n componentTitle: data?.title,\n position: configuration?.index + 1,\n componentDescription: data?.subTitle,\n })\n\n return (\n <div\n ref={ref}\n className={cn(\n 'bg-container-secondary-1 relative w-full shrink-0 grow-0 overflow-hidden border border-solid',\n configuration?.itemShape === 'round' ? 'rounded-2xl' : ''\n )}\n >\n <a\n href={trackUrlRef(data?.imgLink, `${componentType}_${componentName}`)}\n data-headless-type-name={`${componentType}#${componentName}`}\n data-headless-title-desc-button={`${data?.title}@${data?.subTitle}`}\n data-headless-nav-postion={`''#${configuration?.index + 1}`}\n >\n <Picture\n className=\"size-full object-cover [&_img]:h-full [&_img]:object-cover\"\n source={data?.mobileImg?.url || ''}\n alt={data?.mobileImg?.alt || ''}\n />\n </a>\n <div className={cn('absolute inset-x-0 bottom-0 overflow-hidden px-4 pb-4')}>\n <div className=\"tablet:mb-6 mb-4 flex-1 overflow-hidden\">\n <p className=\"text-info-primary text-2xl font-bold leading-[1.2]\">{data?.title}</p>\n <h3 className=\"text-info-primary line-clamp-2 text-sm font-semibold\">{data?.subTitle}</h3>\n </div>\n\n <Button\n as=\"a\"\n variant=\"secondary\"\n aria-label={data?.title ?? data?.subTitle}\n className={cn('text-info-primary text-sm font-bold')}\n href={trackUrlRef(data.link, `${componentType}_${componentName}`)}\n data-headless-type-name={`${componentType}#${componentName}`}\n data-headless-nav-postion={`''#${configuration?.index + 1}`}\n data-headless-title-desc-button={`${data?.title}#${data?.subTitle}#${configuration?.primaryButton}`}\n >\n {configuration?.primaryButton}\n </Button>\n </div>\n </div>\n )\n}\n\nconst AccordionCards = React.forwardRef<HTMLDivElement, AccordionCardsType>(({ data, className = '', event }, ref) => {\n const [hoverIndex, setHoverIndex] = useState<number | null>(0)\n\n const hoverIndexRef = useRef<number>(0)\n const accordionRef = useRef<HTMLDivElement[]>([])\n const isAnimation = useRef<boolean>(false)\n const [contentWidth, setContentWidth] = useState<number>(0)\n\n const innerRef = useRef<HTMLDivElement>(null)\n useImperativeHandle(ref, () => innerRef.current as HTMLDivElement)\n\n const getRef = (index: number, el: HTMLDivElement) => {\n if (el) {\n accordionRef.current[index] = el\n }\n }\n\n useEffect(() => {\n const handleResize = () => {\n if (accordionRef.current[hoverIndexRef.current]) {\n setContentWidth(accordionRef.current[hoverIndexRef.current].offsetWidth)\n }\n }\n handleResize()\n const throttleResize = throttle(handleResize, 300)\n window.addEventListener('resize', throttleResize)\n return () => window.removeEventListener('resize', throttleResize)\n }, [])\n\n const handleSwiperItemClick = useCallback(\n (idx: number) => {\n if (hoverIndex === idx || isAnimation.current) return\n isAnimation.current = true\n // \u66F4\u65B0\u5BBD\u5EA6\u76F8\u5173\u72B6\u6001\n setHoverIndex(idx)\n hoverIndexRef.current = idx\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [data?.products, hoverIndex]\n )\n\n return (\n <>\n {data?.title && <Title data={{ title: data?.title }} />}\n <div ref={innerRef} className={cn('laptop:block hidden', { 'aiui-dark': data?.theme === 'dark' })}>\n <div\n className={cn(\n 'lg-desktop:h-[calc(560_/_1920*100vw)] desktop:h-[calc(448_/_1440*100vw)] laptop:h-[calc(336_/_1025*100vw)] flex max-h-[560px] min-h-[336px] w-full gap-4 overflow-hidden',\n className\n )}\n >\n {data?.products?.map((item, idx) => (\n <AccordionCardsPcItem\n key={idx}\n item={item}\n idx={idx}\n itemShape={data?.itemShape}\n hoverIndex={hoverIndex}\n getRef={getRef}\n handleSwiperItemClick={handleSwiperItemClick}\n isAnimation={isAnimation}\n contentWidth={contentWidth}\n primaryButton={data?.primaryButton}\n event={event}\n data={data}\n accordionRef={accordionRef}\n />\n ))}\n </div>\n </div>\n <div className={cn('laptop:hidden block', { 'aiui-dark': data?.theme === 'dark' })}>\n <SwiperBox\n className={cn('h-[400px] !overflow-visible', className)}\n id={'AccordionCards' + data?.key}\n data={{\n list: data?.products,\n configuration: {\n shape: data?.shape,\n itemShape: data?.itemShape,\n primaryButton: data?.primaryButton,\n event: event,\n title: data?.title,\n },\n }}\n Slide={MobileItem}\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.2,\n },\n 768: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: 2.3,\n },\n }}\n />\n </div>\n </>\n )\n})\nexport default withLayout(AccordionCards)\n"],
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": ["Fragment", "jsx", "jsxs", "Title", "cn", "Picture", "Button", "SwiperBox", "withLayout", "React", "useState", "useRef", "useCallback", "useImperativeHandle", "useEffect", "useExposure", "trackUrlRef", "throttle", "Heading", "componentType", "componentName", "AccordionCardsPcItem", "item", "idx", "itemShape", "hoverIndex", "getRef", "handleSwiperItemClick", "
|
|
4
|
+
"sourcesContent": ["'use client'\nimport Title from '../Title/index.js'\nimport { cn } from '../../helpers/utils.js'\nimport Picture from '../../components/picture.js'\nimport Button from '../../components/button.js'\nimport SwiperBox from '../SwiperBox/index.js'\nimport { withLayout } from '../../shared/Styles.js'\nimport React, { useState, useRef, useCallback, useImperativeHandle, useEffect, type RefObject } from 'react'\nimport { useExposure } from '../../hooks/useExposure.js'\nimport { trackUrlRef } from '../../shared/trackUrlRef.js'\nimport type { Img } from '../../types/props.js'\nimport throttle from '../../shared/throttle.js'\nimport { Heading } from '../../components/heading.js'\n\nconst componentType = 'image'\nconst componentName = 'scene_banner'\n\n/** Hook\uFF1A\u76D1\u542C\u7A97\u53E3\u5BBD\u5EA6 */\ntype ItemType = {\n /** \u6807\u9898\u6587\u672C */\n title: string\n /** \u56FE\u7247*/\n img: Img\n mobileImg?: Img\n /** \u5185\u5BB9\u8282\u70B9 */\n subTitle: string\n link?: string\n imgLink?: string\n}\n\nexport type AccordionCardsType = {\n className?: string\n data: {\n key?: string\n title?: string\n products: Array<ItemType>\n /** \u6309\u94AE\u5F62\u72B6 */\n shape?: 'round' | 'square'\n /** \u5361\u7247\u5F62\u72B6 */\n itemShape?: 'round' | 'square'\n /** \u4E3B\u6309\u94AE\u914D\u7F6E */\n primaryButton?: string\n theme?: 'light' | 'dark'\n }\n /**\n * \u81EA\u52A8\u64AD\u653E\u914D\u7F6E\n */\n autoplay?: {\n /**\n * \u662F\u5426\u5F00\u542F\u81EA\u52A8\u64AD\u653E\n */\n enabled: boolean\n /**\n * \u662F\u5426\u5FAA\u73AF\u64AD\u653E\n */\n loop?: boolean\n /**\n * \u81EA\u52A8\u64AD\u653E\u95F4\u9694\u65F6\u95F4\uFF0C\u5355\u4F4D\u6BEB\u79D2\n */\n interval?: number\n }\n /** \u6309\u94AE\u4E8B\u4EF6*/\n event?: {\n primaryButton?: (_v: any, _index: number) => void\n }\n}\n\nconst AccordionCardsPcItem = ({\n item,\n idx,\n itemShape,\n hoverIndex,\n getRef,\n handleSwiperItemClick,\n contentWidth,\n primaryButton,\n event,\n data,\n accordionRef,\n}: {\n item: ItemType\n idx: number\n itemShape: 'round' | 'square' | undefined\n hoverIndex: number | null\n getRef: (_idx: number, _el: HTMLDivElement) => void\n handleSwiperItemClick: (_idx: number) => void\n contentWidth: number\n primaryButton: string | undefined\n event: any\n data: AccordionCardsType['data']\n accordionRef: React.MutableRefObject<HTMLDivElement[]>\n}) => {\n const isExpanded = hoverIndex === idx\n const flexValue = isExpanded ? 8 : 1\n\n useExposure({ current: accordionRef.current[idx] } as RefObject<HTMLDivElement>, {\n componentType,\n componentName,\n componentTitle: item?.title,\n position: idx + 1,\n componentDescription: item?.subTitle,\n })\n\n return (\n <div\n key={idx}\n style={{\n flex: `${flexValue} 1 0%`,\n transition: 'all 0.6s',\n }}\n ref={(el: HTMLDivElement | null) => {\n if (el) getRef(idx, el)\n }}\n className={cn('relative cursor-pointer overflow-hidden', itemShape === 'round' ? 'rounded-2xl' : '')}\n onMouseEnter={() => handleSwiperItemClick(idx)}\n onClick={() => {\n handleSwiperItemClick(idx)\n }}\n >\n <a\n href={trackUrlRef(item?.imgLink, `${componentType}_${componentName}`)}\n data-headless-type-name={`${componentType}#${componentName}`}\n data-headless-title-desc-button={`${item?.title}#${item?.subTitle}`}\n >\n <Picture\n source={item?.img?.url}\n className=\"size-full object-cover [&_img]:h-full [&_img]:object-cover\"\n alt={item?.img?.alt || ''}\n />\n </a>\n <div\n style={{\n width: contentWidth,\n }}\n className={cn(\n 'absolute inset-x-0 bottom-0 flex w-full items-end justify-between overflow-hidden px-8 pb-8 opacity-0 transition-opacity duration-[600ms] ease-in',\n isExpanded && contentWidth ? 'opacity-100' : 'opacity-0'\n )}\n >\n <div className=\"mr-16 flex-1 overflow-hidden\">\n <Heading as=\"h3\" className=\"laptop:text-2xl desktop:text-[32px] text-info-primary mb-1 text-xl font-bold\">\n {item?.title}\n </Heading>\n <Heading\n as=\"h4\"\n className=\"lg-desktop:text-[18px] desktop:text-[16px] text-info-primary line-clamp-2 text-[14px] font-[700]\"\n >\n {item?.subTitle}\n </Heading>\n </div>\n {primaryButton && (\n <Button\n className={cn('mb-1.5 font-bold')}\n as=\"a\"\n href={trackUrlRef(item?.link, `${componentType}_${componentName}`)}\n data-headless-type-name={`${componentType}#${componentName}`}\n data-headless-title-desc-button={`${item?.title}#${item?.subTitle}#${primaryButton}`}\n onClick={() => event?.primaryButton?.(data, idx)}\n >\n {primaryButton}\n <span className=\"sr-only\">{item?.title ?? item?.subTitle}</span>\n </Button>\n )}\n </div>\n </div>\n )\n}\n\nconst MobileItem = ({ data, configuration }: { data: ItemType; configuration?: any }) => {\n const ref = useRef<HTMLDivElement>(null)\n\n useExposure(ref, {\n componentType,\n componentName,\n componentTitle: data?.title,\n position: configuration?.index + 1,\n componentDescription: data?.subTitle,\n })\n\n return (\n <div\n ref={ref}\n className={cn(\n 'bg-container-secondary-1 relative w-full shrink-0 grow-0 overflow-hidden border border-solid',\n configuration?.itemShape === 'round' ? 'rounded-2xl' : ''\n )}\n >\n <a\n href={trackUrlRef(data?.imgLink, `${componentType}_${componentName}`)}\n data-headless-type-name={`${componentType}#${componentName}`}\n data-headless-title-desc-button={`${data?.title}@${data?.subTitle}`}\n data-headless-nav-postion={`''#${configuration?.index + 1}`}\n >\n <Picture\n className=\"size-full object-cover [&_img]:h-full [&_img]:object-cover\"\n source={data?.mobileImg?.url || ''}\n alt={data?.mobileImg?.alt || ''}\n />\n </a>\n <div className={cn('absolute inset-x-0 bottom-0 overflow-hidden px-4 pb-4')}>\n <div className=\"tablet:mb-6 mb-4 flex-1 overflow-hidden\">\n <p className=\"text-info-primary text-2xl font-bold leading-[1.2]\">{data?.title}</p>\n <h3 className=\"text-info-primary line-clamp-2 text-sm font-semibold\">{data?.subTitle}</h3>\n </div>\n\n {configuration?.primaryButton && (\n <Button\n as=\"a\"\n variant=\"secondary\"\n aria-label={data?.title ?? data?.subTitle}\n className={cn('text-info-primary text-sm font-bold')}\n href={trackUrlRef(data.link, `${componentType}_${componentName}`)}\n data-headless-type-name={`${componentType}#${componentName}`}\n data-headless-nav-postion={`''#${configuration?.index + 1}`}\n data-headless-title-desc-button={`${data?.title}#${data?.subTitle}#${configuration?.primaryButton}`}\n >\n {configuration?.primaryButton}\n </Button>\n )}\n </div>\n </div>\n )\n}\n\nconst AccordionCards = React.forwardRef<HTMLDivElement, AccordionCardsType>(\n ({ data, autoplay = { enabled: false, loop: false, interval: 1500 }, className = '', event }, ref) => {\n const [hoverIndex, setHoverIndex] = useState<number | null>(0)\n\n const hoverIndexRef = useRef<number>(0)\n const accordionRef = useRef<HTMLDivElement[]>([])\n const [contentWidth, setContentWidth] = useState<number>(0)\n\n const innerRef = useRef<HTMLDivElement>(null)\n useImperativeHandle(ref, () => innerRef.current as HTMLDivElement)\n\n const getRef = (index: number, el: HTMLDivElement) => {\n if (el) {\n accordionRef.current[index] = el\n }\n }\n\n useEffect(() => {\n const handleResize = () => {\n if (accordionRef.current[hoverIndexRef.current]) {\n setContentWidth(accordionRef.current[hoverIndexRef.current].offsetWidth)\n }\n }\n handleResize()\n const throttleResize = throttle(handleResize, 300)\n window.addEventListener('resize', throttleResize)\n return () => window.removeEventListener('resize', throttleResize)\n }, [])\n\n const handleSwiperItemClick = useCallback(\n (idx: number) => {\n if (hoverIndex === idx) return\n // \u66F4\u65B0\u5BBD\u5EA6\u76F8\u5173\u72B6\u6001\n setHoverIndex(idx)\n hoverIndexRef.current = idx\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [data?.products, hoverIndex]\n )\n\n useEffect(() => {\n let autoPlayTimer: NodeJS.Timeout\n if (autoplay?.enabled) {\n autoPlayTimer = setInterval(() => {\n setHoverIndex(prev => {\n const currentIndex = prev ?? 0\n let nextIndex: number\n\n if (autoplay.loop !== false) {\n // \u9ED8\u8BA4\u5FAA\u73AF\u64AD\u653E\n nextIndex = (currentIndex + 1) % data?.products?.length\n } else {\n // \u4E0D\u5FAA\u73AF\uFF1A\u64AD\u653E\u5230\u6700\u540E\u4E00\u4E2A\u540E\u505C\u6B62\n nextIndex = currentIndex + 1\n if (nextIndex >= data?.products?.length) {\n nextIndex = data?.products?.length - 1\n // \u505C\u6B62\u81EA\u52A8\u64AD\u653E\n if (autoPlayTimer) {\n clearInterval(autoPlayTimer)\n }\n return currentIndex // \u4FDD\u6301\u5728\u6700\u540E\u4E00\u4E2A\n }\n }\n\n hoverIndexRef.current = nextIndex\n return nextIndex\n })\n }, autoplay?.interval)\n }\n return () => {\n if (autoPlayTimer) {\n clearInterval(autoPlayTimer)\n }\n }\n }, [autoplay?.enabled, autoplay?.interval, autoplay?.loop, data?.products?.length, handleSwiperItemClick])\n\n return (\n <>\n {data?.title && <Title data={{ title: data?.title }} />}\n <div ref={innerRef} className={cn('laptop:block hidden', { 'aiui-dark': data?.theme === 'dark' })}>\n <div\n className={cn(\n 'lg-desktop:h-[calc(560_/_1920*100vw)] desktop:h-[calc(448_/_1440*100vw)] laptop:h-[calc(336_/_1025*100vw)] flex max-h-[560px] min-h-[336px] w-full gap-4 overflow-hidden',\n className\n )}\n >\n {data?.products?.map((item, idx) => (\n <AccordionCardsPcItem\n key={idx}\n item={item}\n idx={idx}\n itemShape={data?.itemShape}\n hoverIndex={hoverIndex}\n getRef={getRef}\n handleSwiperItemClick={handleSwiperItemClick}\n contentWidth={contentWidth}\n primaryButton={data?.primaryButton}\n event={event}\n data={data}\n accordionRef={accordionRef}\n />\n ))}\n </div>\n </div>\n <div className={cn('laptop:hidden block', { 'aiui-dark': data?.theme === 'dark' })}>\n <SwiperBox\n className={cn('h-[400px] !overflow-visible', className)}\n id={'AccordionCards' + data?.key}\n data={{\n list: data?.products,\n configuration: {\n shape: data?.shape,\n itemShape: data?.itemShape,\n primaryButton: data?.primaryButton,\n event: event,\n title: data?.title,\n },\n }}\n Slide={MobileItem}\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.2,\n },\n 768: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: 2.3,\n },\n }}\n />\n </div>\n </>\n )\n }\n)\n\nAccordionCards.displayName = 'AccordionCards'\nexport default withLayout(AccordionCards)\n"],
|
|
5
|
+
"mappings": "aA4HQ,OAiLF,YAAAA,EAjLE,OAAAC,EAeA,QAAAC,MAfA,oBA3HR,OAAOC,MAAW,oBAClB,OAAS,MAAAC,MAAU,yBACnB,OAAOC,MAAa,8BACpB,OAAOC,MAAY,6BACnB,OAAOC,MAAe,wBACtB,OAAS,cAAAC,MAAkB,yBAC3B,OAAOC,GAAS,YAAAC,EAAU,UAAAC,EAAQ,eAAAC,EAAa,uBAAAC,EAAqB,aAAAC,MAAiC,QACrG,OAAS,eAAAC,MAAmB,6BAC5B,OAAS,eAAAC,MAAmB,8BAE5B,OAAOC,MAAc,2BACrB,OAAS,WAAAC,MAAe,8BAExB,MAAMC,EAAgB,QAChBC,EAAgB,eAoDhBC,EAAuB,CAAC,CAC5B,KAAAC,EACA,IAAAC,EACA,UAAAC,EACA,WAAAC,EACA,OAAAC,EACA,sBAAAC,EACA,aAAAC,EACA,cAAAC,EACA,MAAAC,EACA,KAAAC,EACA,aAAAC,CACF,IAYM,CACJ,MAAMC,EAAaR,IAAeF,EAC5BW,EAAYD,EAAa,EAAI,EAEnC,OAAAlB,EAAY,CAAE,QAASiB,EAAa,QAAQT,CAAG,CAAE,EAAgC,CAC/E,cAAAJ,EACA,cAAAC,EACA,eAAgBE,GAAM,MACtB,SAAUC,EAAM,EAChB,qBAAsBD,GAAM,QAC9B,CAAC,EAGCpB,EAAC,OAEC,MAAO,CACL,KAAM,GAAGgC,CAAS,QAClB,WAAY,UACd,EACA,IAAMC,GAA8B,CAC9BA,GAAIT,EAAOH,EAAKY,CAAE,CACxB,EACA,UAAW/B,EAAG,0CAA2CoB,IAAc,QAAU,cAAgB,EAAE,EACnG,aAAc,IAAMG,EAAsBJ,CAAG,EAC7C,QAAS,IAAM,CACbI,EAAsBJ,CAAG,CAC3B,EAEA,UAAAtB,EAAC,KACC,KAAMe,EAAYM,GAAM,QAAS,GAAGH,CAAa,IAAIC,CAAa,EAAE,EACpE,0BAAyB,GAAGD,CAAa,IAAIC,CAAa,GAC1D,kCAAiC,GAAGE,GAAM,KAAK,IAAIA,GAAM,QAAQ,GAEjE,SAAArB,EAACI,EAAA,CACC,OAAQiB,GAAM,KAAK,IACnB,UAAU,6DACV,IAAKA,GAAM,KAAK,KAAO,GACzB,EACF,EACApB,EAAC,OACC,MAAO,CACL,MAAO0B,CACT,EACA,UAAWxB,EACT,oJACA6B,GAAcL,EAAe,cAAgB,WAC/C,EAEA,UAAA1B,EAAC,OAAI,UAAU,+BACb,UAAAD,EAACiB,EAAA,CAAQ,GAAG,KAAK,UAAU,+EACxB,SAAAI,GAAM,MACT,EACArB,EAACiB,EAAA,CACC,GAAG,KACH,UAAU,mGAET,SAAAI,GAAM,SACT,GACF,EACCO,GACC3B,EAACI,EAAA,CACC,UAAWF,EAAG,kBAAkB,EAChC,GAAG,IACH,KAAMY,EAAYM,GAAM,KAAM,GAAGH,CAAa,IAAIC,CAAa,EAAE,EACjE,0BAAyB,GAAGD,CAAa,IAAIC,CAAa,GAC1D,kCAAiC,GAAGE,GAAM,KAAK,IAAIA,GAAM,QAAQ,IAAIO,CAAa,GAClF,QAAS,IAAMC,GAAO,gBAAgBC,EAAMR,CAAG,EAE9C,UAAAM,EACD5B,EAAC,QAAK,UAAU,UAAW,SAAAqB,GAAM,OAASA,GAAM,SAAS,GAC3D,GAEJ,IA1DKC,CA2DP,CAEJ,EAEMa,EAAa,CAAC,CAAE,KAAAL,EAAM,cAAAM,CAAc,IAA+C,CACvF,MAAMC,EAAM3B,EAAuB,IAAI,EAEvC,OAAAI,EAAYuB,EAAK,CACf,cAAAnB,EACA,cAAAC,EACA,eAAgBW,GAAM,MACtB,SAAUM,GAAe,MAAQ,EACjC,qBAAsBN,GAAM,QAC9B,CAAC,EAGC7B,EAAC,OACC,IAAKoC,EACL,UAAWlC,EACT,+FACAiC,GAAe,YAAc,QAAU,cAAgB,EACzD,EAEA,UAAApC,EAAC,KACC,KAAMe,EAAYe,GAAM,QAAS,GAAGZ,CAAa,IAAIC,CAAa,EAAE,EACpE,0BAAyB,GAAGD,CAAa,IAAIC,CAAa,GAC1D,kCAAiC,GAAGW,GAAM,KAAK,IAAIA,GAAM,QAAQ,GACjE,4BAA2B,MAAMM,GAAe,MAAQ,CAAC,GAEzD,SAAApC,EAACI,EAAA,CACC,UAAU,6DACV,OAAQ0B,GAAM,WAAW,KAAO,GAChC,IAAKA,GAAM,WAAW,KAAO,GAC/B,EACF,EACA7B,EAAC,OAAI,UAAWE,EAAG,uDAAuD,EACxE,UAAAF,EAAC,OAAI,UAAU,0CACb,UAAAD,EAAC,KAAE,UAAU,qDAAsD,SAAA8B,GAAM,MAAM,EAC/E9B,EAAC,MAAG,UAAU,uDAAwD,SAAA8B,GAAM,SAAS,GACvF,EAECM,GAAe,eACdpC,EAACK,EAAA,CACC,GAAG,IACH,QAAQ,YACR,aAAYyB,GAAM,OAASA,GAAM,SACjC,UAAW3B,EAAG,qCAAqC,EACnD,KAAMY,EAAYe,EAAK,KAAM,GAAGZ,CAAa,IAAIC,CAAa,EAAE,EAChE,0BAAyB,GAAGD,CAAa,IAAIC,CAAa,GAC1D,4BAA2B,MAAMiB,GAAe,MAAQ,CAAC,GACzD,kCAAiC,GAAGN,GAAM,KAAK,IAAIA,GAAM,QAAQ,IAAIM,GAAe,aAAa,GAEhG,SAAAA,GAAe,cAClB,GAEJ,GACF,CAEJ,EAEME,EAAiB9B,EAAM,WAC3B,CAAC,CAAE,KAAAsB,EAAM,SAAAS,EAAW,CAAE,QAAS,GAAO,KAAM,GAAO,SAAU,IAAK,EAAG,UAAAC,EAAY,GAAI,MAAAX,CAAM,EAAGQ,IAAQ,CACpG,KAAM,CAACb,EAAYiB,CAAa,EAAIhC,EAAwB,CAAC,EAEvDiC,EAAgBhC,EAAe,CAAC,EAChCqB,EAAerB,EAAyB,CAAC,CAAC,EAC1C,CAACiB,EAAcgB,CAAe,EAAIlC,EAAiB,CAAC,EAEpDmC,EAAWlC,EAAuB,IAAI,EAC5CE,EAAoByB,EAAK,IAAMO,EAAS,OAAyB,EAEjE,MAAMnB,EAAS,CAACoB,EAAeX,IAAuB,CAChDA,IACFH,EAAa,QAAQc,CAAK,EAAIX,EAElC,EAEArB,EAAU,IAAM,CACd,MAAMiC,EAAe,IAAM,CACrBf,EAAa,QAAQW,EAAc,OAAO,GAC5CC,EAAgBZ,EAAa,QAAQW,EAAc,OAAO,EAAE,WAAW,CAE3E,EACAI,EAAa,EACb,MAAMC,EAAiB/B,EAAS8B,EAAc,GAAG,EACjD,cAAO,iBAAiB,SAAUC,CAAc,EACzC,IAAM,OAAO,oBAAoB,SAAUA,CAAc,CAClE,EAAG,CAAC,CAAC,EAEL,MAAMrB,EAAwBf,EAC3BW,GAAgB,CACXE,IAAeF,IAEnBmB,EAAcnB,CAAG,EACjBoB,EAAc,QAAUpB,EAC1B,EAEA,CAACQ,GAAM,SAAUN,CAAU,CAC7B,EAEA,OAAAX,EAAU,IAAM,CACd,IAAImC,EACJ,OAAIT,GAAU,UACZS,EAAgB,YAAY,IAAM,CAChCP,EAAcQ,GAAQ,CACpB,MAAMC,EAAeD,GAAQ,EAC7B,IAAIE,EAEJ,GAAIZ,EAAS,OAAS,GAEpBY,GAAaD,EAAe,GAAKpB,GAAM,UAAU,eAGjDqB,EAAYD,EAAe,EACvBC,GAAarB,GAAM,UAAU,OAC/B,OAAAqB,EAAYrB,GAAM,UAAU,OAAS,EAEjCkB,GACF,cAAcA,CAAa,EAEtBE,EAIX,OAAAR,EAAc,QAAUS,EACjBA,CACT,CAAC,CACH,EAAGZ,GAAU,QAAQ,GAEhB,IAAM,CACPS,GACF,cAAcA,CAAa,CAE/B,CACF,EAAG,CAACT,GAAU,QAASA,GAAU,SAAUA,GAAU,KAAMT,GAAM,UAAU,OAAQJ,CAAqB,CAAC,EAGvGzB,EAAAF,EAAA,CACG,UAAA+B,GAAM,OAAS9B,EAACE,EAAA,CAAM,KAAM,CAAE,MAAO4B,GAAM,KAAM,EAAG,EACrD9B,EAAC,OAAI,IAAK4C,EAAU,UAAWzC,EAAG,sBAAuB,CAAE,YAAa2B,GAAM,QAAU,MAAO,CAAC,EAC9F,SAAA9B,EAAC,OACC,UAAWG,EACT,2KACAqC,CACF,EAEC,SAAAV,GAAM,UAAU,IAAI,CAACT,EAAMC,IAC1BtB,EAACoB,EAAA,CAEC,KAAMC,EACN,IAAKC,EACL,UAAWQ,GAAM,UACjB,WAAYN,EACZ,OAAQC,EACR,sBAAuBC,EACvB,aAAcC,EACd,cAAeG,GAAM,cACrB,MAAOD,EACP,KAAMC,EACN,aAAcC,GAXTT,CAYP,CACD,EACH,EACF,EACAtB,EAAC,OAAI,UAAWG,EAAG,sBAAuB,CAAE,YAAa2B,GAAM,QAAU,MAAO,CAAC,EAC/E,SAAA9B,EAACM,EAAA,CACC,UAAWH,EAAG,8BAA+BqC,CAAS,EACtD,GAAI,iBAAmBV,GAAM,IAC7B,KAAM,CACJ,KAAMA,GAAM,SACZ,cAAe,CACb,MAAOA,GAAM,MACb,UAAWA,GAAM,UACjB,cAAeA,GAAM,cACrB,MAAOD,EACP,MAAOC,GAAM,KACf,CACF,EACA,MAAOK,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,GACjB,CACF,EACF,EACF,GACF,CAEJ,CACF,EAEAG,EAAe,YAAc,iBAC7B,IAAOc,EAAQ7C,EAAW+B,CAAc",
|
|
6
|
+
"names": ["Fragment", "jsx", "jsxs", "Title", "cn", "Picture", "Button", "SwiperBox", "withLayout", "React", "useState", "useRef", "useCallback", "useImperativeHandle", "useEffect", "useExposure", "trackUrlRef", "throttle", "Heading", "componentType", "componentName", "AccordionCardsPcItem", "item", "idx", "itemShape", "hoverIndex", "getRef", "handleSwiperItemClick", "contentWidth", "primaryButton", "event", "data", "accordionRef", "isExpanded", "flexValue", "el", "MobileItem", "configuration", "ref", "AccordionCards", "autoplay", "className", "setHoverIndex", "hoverIndexRef", "setContentWidth", "innerRef", "index", "handleResize", "throttleResize", "autoPlayTimer", "prev", "currentIndex", "nextIndex", "AccordionCards_default"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* AnchorNavigation 业务组件数据接口
|
|
4
|
+
*/
|
|
5
|
+
export interface AnchorNavigationData {
|
|
6
|
+
/** 锚点列表 */
|
|
7
|
+
sectionIds: {
|
|
8
|
+
id: string;
|
|
9
|
+
label: string;
|
|
10
|
+
}[];
|
|
11
|
+
}
|
|
12
|
+
export interface AnchorNavigationProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
13
|
+
/** 业务数据 */
|
|
14
|
+
data: AnchorNavigationData;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* AnchorNavigation - 锚点导航
|
|
18
|
+
*
|
|
19
|
+
* @description 锚点导航
|
|
20
|
+
*/
|
|
21
|
+
declare const AnchorNavigation: React.ForwardRefExoticComponent<AnchorNavigationProps & React.RefAttributes<HTMLDivElement>>;
|
|
22
|
+
export default AnchorNavigation;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use client";import{jsx as r}from"react/jsx-runtime";import*as n from"react";import{cn as l}from"../../helpers/utils.js";import{Container as h}from"../../components/container.js";import g from"./useAnchorPosition.js";const f=n.forwardRef(({className:d,data:a,...b},m)=>{const u=g(a.sectionIds?.map(t=>t.id)||[]),i=n.useRef(null),s=n.useRef([]),p=n.useCallback(t=>{const e=s.current[t];if(e&&i.current){const o=i.current,c=e,v=c.offsetLeft-o.offsetWidth/2+c.offsetWidth/2;o.scrollTo({left:v,behavior:"smooth"})}},[]);return r("div",{ref:m,className:l("sticky top-0 z-10 w-full bg-white",d),...b,children:r(h,{children:r("div",{ref:i,className:"anchor-navigation-content desktop:gap-6 flex items-center gap-4 overflow-x-auto [&::-webkit-scrollbar]:hidden",children:a.sectionIds?.map((t,e)=>r("button",{ref:o=>{o&&(s.current[e]=o)},onClick:()=>{p(e),document.getElementById(t.id)?.scrollIntoView({behavior:"smooth"})},className:l("anchor-navigation-item desktop:py-4 shrink-0 border-b-4 border-b-transparent py-3 text-base font-bold text-[#4A4C56]",{"border-b-brand text-[#080A0F]":u===t.id}),children:t.label},t.id))})})})});f.displayName="AnchorNavigation";var R=f;export{R as default};
|
|
2
|
+
//# sourceMappingURL=index.js.map
|