@anker-in/headless-ui 0.0.49 → 0.0.51

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.
Files changed (55) hide show
  1. package/dist/cjs/biz-components/AccordionCards/index.js +1 -1
  2. package/dist/cjs/biz-components/AccordionCards/index.js.map +1 -1
  3. package/dist/cjs/biz-components/Evaluate/index.js +1 -1
  4. package/dist/cjs/biz-components/Evaluate/index.js.map +1 -1
  5. package/dist/cjs/biz-components/HeroBanner/HeroBanner.js +1 -1
  6. package/dist/cjs/biz-components/HeroBanner/HeroBanner.js.map +3 -3
  7. package/dist/cjs/biz-components/HeroBanner/types.d.ts +3 -0
  8. package/dist/cjs/biz-components/HeroBanner/types.js +1 -1
  9. package/dist/cjs/biz-components/HeroBanner/types.js.map +1 -1
  10. package/dist/cjs/biz-components/MediaPlayerMulti/index.js +1 -1
  11. package/dist/cjs/biz-components/MediaPlayerMulti/index.js.map +1 -1
  12. package/dist/cjs/biz-components/MediaPlayerSticky/index.js +1 -1
  13. package/dist/cjs/biz-components/MediaPlayerSticky/index.js.map +2 -2
  14. package/dist/cjs/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js +1 -1
  15. package/dist/cjs/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js.map +3 -3
  16. package/dist/cjs/biz-components/MultiLayoutGraphicBlock/types.d.ts +1 -0
  17. package/dist/cjs/biz-components/MultiLayoutGraphicBlock/types.js +1 -1
  18. package/dist/cjs/biz-components/MultiLayoutGraphicBlock/types.js.map +1 -1
  19. package/dist/cjs/biz-components/ShelfDisplay/index.js +1 -1
  20. package/dist/cjs/biz-components/ShelfDisplay/index.js.map +1 -1
  21. package/dist/cjs/biz-components/SwiperBox/index.js +1 -1
  22. package/dist/cjs/biz-components/SwiperBox/index.js.map +1 -1
  23. package/dist/cjs/stories/HeroBanner.stories.d.ts +1 -0
  24. package/dist/cjs/stories/HeroBanner.stories.js +4 -3
  25. package/dist/cjs/stories/HeroBanner.stories.js.map +3 -3
  26. package/dist/cjs/stories/MemberEquity.stories.js +2 -2
  27. package/dist/cjs/stories/MemberEquity.stories.js.map +2 -2
  28. package/dist/cjs/stories/MultiLayoutGraphicBlock.stories.js +1 -1
  29. package/dist/cjs/stories/MultiLayoutGraphicBlock.stories.js.map +3 -3
  30. package/dist/esm/biz-components/AccordionCards/index.js +1 -1
  31. package/dist/esm/biz-components/AccordionCards/index.js.map +1 -1
  32. package/dist/esm/biz-components/Evaluate/index.js +1 -1
  33. package/dist/esm/biz-components/Evaluate/index.js.map +1 -1
  34. package/dist/esm/biz-components/HeroBanner/HeroBanner.js +1 -1
  35. package/dist/esm/biz-components/HeroBanner/HeroBanner.js.map +3 -3
  36. package/dist/esm/biz-components/HeroBanner/types.d.ts +3 -0
  37. package/dist/esm/biz-components/MediaPlayerMulti/index.js +1 -1
  38. package/dist/esm/biz-components/MediaPlayerMulti/index.js.map +1 -1
  39. package/dist/esm/biz-components/MediaPlayerSticky/index.js +1 -1
  40. package/dist/esm/biz-components/MediaPlayerSticky/index.js.map +2 -2
  41. package/dist/esm/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js +1 -1
  42. package/dist/esm/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js.map +3 -3
  43. package/dist/esm/biz-components/MultiLayoutGraphicBlock/types.d.ts +1 -0
  44. package/dist/esm/biz-components/ShelfDisplay/index.js +1 -1
  45. package/dist/esm/biz-components/ShelfDisplay/index.js.map +1 -1
  46. package/dist/esm/biz-components/SwiperBox/index.js +1 -1
  47. package/dist/esm/biz-components/SwiperBox/index.js.map +1 -1
  48. package/dist/esm/stories/HeroBanner.stories.d.ts +1 -0
  49. package/dist/esm/stories/HeroBanner.stories.js +4 -3
  50. package/dist/esm/stories/HeroBanner.stories.js.map +3 -3
  51. package/dist/esm/stories/MemberEquity.stories.js +2 -2
  52. package/dist/esm/stories/MemberEquity.stories.js.map +2 -2
  53. package/dist/esm/stories/MultiLayoutGraphicBlock.stories.js +1 -1
  54. package/dist/esm/stories/MultiLayoutGraphicBlock.stories.js.map +2 -2
  55. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.tsx"],
4
- "sourcesContent": ["import React, { useState, useEffect, useRef } from 'react'\nimport { useMediaQuery } from 'react-responsive'\nimport type { MultiLayoutGraphicBlockProps, Item } from './types'\nimport { withStyles } from '../../shared/Styles.js'\nimport Picture from '../../components/picture.js'\nimport Button from '../../components/button.js'\nimport { Heading } from '../../components/heading.js'\nimport { Text } from '../../components/text.js'\nimport { Grid, GridItem } from '../../components/gird.js'\nimport Title from '../Title/index.js'\nimport { cn } from '../../helpers/utils.js'\nimport SwiperBox from '../SwiperBox/index.js'\nimport { isVideo } from '../../shared/mimeType.js'\nimport { Tabs, TabsList, TabsTrigger, TabsContent } from '../../components/tabs.js'\nimport { useExposure } from '../../hooks/useExposure.js'\nimport { trackUrlRef } from '../../shared/trackUrlRef.js'\nimport { gaTrack } from '../../shared/track.js'\n\nconst componentType = 'image'\nconst componentName = 'p1_banner'\n\nconst ItemBlock = ({\n data: item,\n configuration,\n jIndex,\n spanType,\n}: {\n data: Item\n configuration?: any\n jIndex?: number\n spanType?: string\n}) => {\n const [isMobile, setIsMobile] = useState<boolean>(false)\n const mediaQuery = useMediaQuery({ query: '(max-width: 768px)' })\n\n const ref = useRef<HTMLDivElement>(null)\n\n const handleAspect = () => {\n if (spanType) {\n switch (spanType) {\n case 'full':\n return 'tablet:aspect-w-[704] tablet:aspect-h-[400] laptop:aspect-w-[896] laptop:aspect-h-[384] desktop:aspect-w-[1312] desktop:aspect-h-[512] lg-desktop:aspect-w-[1664] lg-desktop:aspect-h-[640]'\n case 'half':\n return 'tablet:aspect-w-[704] tablet:aspect-h-[480] laptop:aspect-w-[440] laptop:aspect-h-[384] desktop:aspect-w-[648] desktop:aspect-h-[512] lg-desktop:aspect-w-[824] lg-desktop:aspect-h-[640]'\n case 'one-third':\n return 'tablet:aspect-w-[296] tablet:aspect-h-[400] laptop:aspect-w-[288] laptop:aspect-h-[384] desktop:aspect-w-[427] desktop:aspect-h-[512] lg-desktop:aspect-w-[544] lg-desktop:aspect-h-[640]'\n default:\n return 'tablet:aspect-w-[296] tablet:aspect-h-[400] laptop:aspect-w-[288] laptop:aspect-h-[384] desktop:aspect-w-[427] desktop:aspect-h-[512] lg-desktop:aspect-w-[544] lg-desktop:aspect-h-[640]'\n }\n } else {\n switch (configuration?.num) {\n case 1:\n return 'tablet:aspect-w-[704] tablet:aspect-h-[400] laptop:aspect-w-[896] laptop:aspect-h-[384] desktop:aspect-w-[1312] desktop:aspect-h-[512] lg-desktop:aspect-w-[1664] lg-desktop:aspect-h-[640]'\n case 2:\n return 'tablet:aspect-w-[704] tablet:aspect-h-[480] laptop:aspect-w-[440] laptop:aspect-h-[384] desktop:aspect-w-[648] desktop:aspect-h-[512] lg-desktop:aspect-w-[824] lg-desktop:aspect-h-[640]'\n case 3:\n return 'tablet:aspect-w-[296] tablet:aspect-h-[400] laptop:aspect-w-[288] laptop:aspect-h-[384] desktop:aspect-w-[427] desktop:aspect-h-[512] lg-desktop:aspect-w-[544] lg-desktop:aspect-h-[640]'\n default:\n return 'tablet:aspect-w-[296] tablet:aspect-h-[400] laptop:aspect-w-[288] laptop:aspect-h-[384] desktop:aspect-w-[427] desktop:aspect-h-[512] lg-desktop:aspect-w-[544] lg-desktop:aspect-h-[640]'\n }\n }\n }\n\n useExposure(ref, {\n componentType: componentType,\n componentName: componentName,\n position: jIndex,\n componentTitle: item.title,\n componentDescription: item.description,\n navigation: configuration?.activeTab,\n })\n\n useEffect(() => {\n setIsMobile(mediaQuery)\n }, [mediaQuery])\n\n const { theme = 'light', title, description, imageUrl, primaryButton, secondaryButton, imageMobileUrl } = item\n const lgButtonSize = 'lg-desktop:px-7 lg-desktop:pb-[14px] lg-desktop:pt-[15px] lg-desktop:text-[16px]'\n\n return (\n <div\n className={cn(\n 'item-wrapper text-info-primary group relative box-border w-full overflow-hidden',\n handleAspect(),\n {\n 'rounded-2xl': configuration?.shape === 'rounded',\n 'aiui-dark': theme === 'dark',\n 'h-[480px]': isMobile && !configuration?.isTab,\n 'h-[400px]': isMobile && configuration?.isTab,\n },\n `text-info-primary`\n )}\n ref={ref}\n >\n <div className=\"absolute inset-0\">\n {isVideo(imageUrl?.mimeType) ? (\n <video autoPlay muted playsInline loop className=\"tablet:block hidden h-full overflow-hidden\">\n <source src={imageUrl?.url} type=\"video/mp4\" />\n </video>\n ) : (\n <Picture\n source={imageUrl?.url}\n alt={imageUrl?.alt || ''}\n className=\"tablet:block hidden h-full overflow-hidden\"\n imgClassName=\"h-full transition-all duration-300 group-hover:scale-105 object-cover\"\n style={{ aspectRatio: `${imageUrl?.width}/${imageUrl?.height}` }}\n />\n )}\n {isVideo(imageMobileUrl?.mimeType) ? (\n <video autoPlay muted playsInline loop className=\"tablet:hidden block h-full overflow-hidden\">\n <source src={imageMobileUrl?.url} type=\"video/mp4\" />\n </video>\n ) : (\n <Picture\n source={imageMobileUrl?.url || imageUrl?.url}\n alt={imageMobileUrl?.alt || imageUrl?.alt || ''}\n className=\"tablet:hidden block h-full overflow-hidden\"\n imgClassName=\"h-full transition-all duration-300 object-cover\"\n />\n )}\n <div\n className={cn(\n 'laptop:p-6 desktop:p-[32px] laptop:gap-4 desktop:gap-6 absolute inset-x-0 bottom-0 flex flex-col gap-6 p-3',\n {\n 'laptop:top-1/2 laptop:-translate-y-1/2 laptop:bottom-auto': item?.width === 'full',\n }\n )}\n >\n <div>\n <Heading size={3} className=\"item-title\" html={title} />\n <Text\n size={2}\n className=\"item-description desktop:text-[16px] lg-desktop:text-[18px] line-clamp-1 text-[14px]\"\n html={description}\n />\n </div>\n <div className=\"lg-desktop:gap-3 flex gap-2\">\n {secondaryButton && secondaryButton.text && (\n <a href={trackUrlRef(secondaryButton.link, `${componentType}_${componentName}`)}>\n <Button className={lgButtonSize} variant=\"secondary\">\n {secondaryButton.text}\n </Button>\n </a>\n )}\n {primaryButton && primaryButton.text && (\n <a href={trackUrlRef(primaryButton.link, `${componentType}_${componentName}`)}>\n <Button className={lgButtonSize} variant=\"primary\">\n {primaryButton.text}\n </Button>\n </a>\n )}\n </div>\n </div>\n </div>\n </div>\n )\n}\n\nconst MultiLayoutGraphicBlock = React.forwardRef<HTMLDivElement, MultiLayoutGraphicBlockProps>((props, ref) => {\n const { shape, sectionTitle, groupByTab = false, items = [], carousel } = props.data\n\n const getSpan = (width: 'full' | 'half' | 'one-third') => {\n switch (width) {\n case 'full':\n return 12\n case 'half':\n return 6\n case 'one-third':\n return 4\n }\n }\n\n const tabNames = items\n .map(item => item.tabName)\n .filter(Boolean)\n .filter((item, index, arr) => arr.indexOf(item) === index) as string[]\n\n const handleTabNumber = (num: Number, flag?: boolean) => {\n switch (num) {\n case 1:\n return 1\n case 2:\n return 2\n default:\n return flag ? 2.3 : 3\n }\n }\n\n const tabItemsMaps = tabNames\n .map(tabName => ({\n tabName,\n items: items.filter(item => item.tabName === tabName),\n }))\n .reduce(\n (acc, cur) => {\n acc[cur.tabName] = cur.items\n return acc\n },\n {} as Record<string, (Item & { width?: 'full' | 'half' | 'one-third' })[]>\n )\n\n return (\n <section data-ui-component-id=\"MultiLayoutGraphicBlock\" ref={ref} className=\"text-info-primary\">\n {sectionTitle && <Title data={{ title: sectionTitle }} className=\"section-title\" />}\n\n {groupByTab ? (\n <Tabs shape={shape} align=\"left\" defaultValue={tabNames[0]!}>\n <TabsList>\n {tabNames.map((tabName, index) => (\n <TabsTrigger\n key={index}\n value={tabName!}\n onClick={() => {\n gaTrack({\n event: 'ga4Event',\n event_name: 'component_click',\n event_parameters: {\n page_group: 'Home Page',\n component_type: componentType,\n component_name: componentName,\n component_title: sectionTitle,\n component_position: 1,\n navigation: tabName,\n button_name: tabName,\n },\n })\n }}\n >\n {tabName}\n </TabsTrigger>\n ))}\n </TabsList>\n {tabNames.map((tabName, index) => (\n <TabsContent key={index} value={tabName!} className=\"desktop:mt-[36px] mt-[24px] w-full\">\n <>\n <SwiperBox\n className=\"!overflow-visible\"\n id={'MultiLayoutGraphicBlock1'}\n data={{\n list: tabItemsMaps?.[tabName] || [],\n configuration: {\n shape: shape,\n isTab: groupByTab,\n activeTab: tabName,\n num: tabItemsMaps?.[tabName]?.length || 0,\n },\n }}\n Slide={ItemBlock}\n breakpoints={{\n 0: {\n spaceBetween: 12,\n freeMode: false,\n slidesPerView: 1,\n },\n 374: {\n spaceBetween: 12,\n freeMode: false,\n slidesPerView: 1.1,\n },\n 768: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: handleTabNumber(tabItemsMaps?.[tabName]?.length || 0, true),\n },\n 1024: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: handleTabNumber(tabItemsMaps?.[tabName]?.length || 0),\n },\n }}\n />\n {carousel && carousel?.items.length > 0 ? (\n <SwiperBox\n className=\"!overflow-visible\"\n id={'MultiLayoutGraphicBlock2'}\n data={{ list: carousel?.items || [], configuration: { shape: shape, isTab: groupByTab } }}\n Slide={ItemBlock}\n breakpoints={{\n 0: {\n spaceBetween: 12,\n freeMode: false,\n slidesPerView: 1,\n },\n 374: {\n spaceBetween: 12,\n freeMode: false,\n slidesPerView: 1.1,\n },\n 768: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: 2.3,\n },\n 1024: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: 3.1,\n },\n 1440: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: 4,\n },\n }}\n />\n ) : null}\n </>\n </TabsContent>\n ))}\n </Tabs>\n ) : (\n <>\n <Grid className=\"w-full\">\n {items.map((item, index) => {\n return (\n <GridItem\n key={`${item?.title || ''}${index}`}\n span={getSpan(item.width ?? 'full')}\n className=\"laptop:block hidden\"\n >\n <ItemBlock data={item} configuration={{ shape: shape }} jIndex={index} spanType={item.width} />\n </GridItem>\n )\n })}\n {items.map((item, index) => (\n <GridItem key={`${item?.title || ''}${index}`} span={getSpan('full')} className=\"laptop:hidden block\">\n <ItemBlock data={item} configuration={{ shape: shape }} jIndex={index} spanType={'full'} />\n </GridItem>\n ))}\n </Grid>\n {carousel && carousel?.items.length > 0 ? (\n // <Carousel className=\"laptop:mt-4 mt-3\">\n // <CarouselContent className=\"flex\">\n // {carousel.items.map((item, index) => (\n // <CarouselItem\n // key={`${item?.title || ''}${index}`}\n // className=\"tablet:basis-2/5 laptop:basis-[32%] flex basis-4/5\"\n // >\n // <ItemBlock item={item} shape={shape} />\n // </CarouselItem>\n // ))}\n // </CarouselContent>\n // </Carousel>\n <SwiperBox\n className=\"!overflow-visible\"\n id={'MultiLayoutGraphicBlock3'}\n data={{ list: carousel?.items || [], configuration: { shape: shape } }}\n Slide={ItemBlock}\n breakpoints={{\n 0: {\n spaceBetween: 12,\n freeMode: false,\n slidesPerView: 1,\n },\n 374: {\n spaceBetween: 12,\n freeMode: false,\n slidesPerView: 1.1,\n },\n 768: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: 2.3,\n },\n 1024: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: 3.1,\n },\n 1440: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: 4,\n },\n }}\n />\n ) : null}\n </>\n )}\n </section>\n )\n})\n\nexport default withStyles(MultiLayoutGraphicBlock)\nexport type { MultiLayoutGraphicBlockProps }\n"],
5
- "mappings": "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",
6
- "names": ["MultiLayoutGraphicBlock_exports", "__export", "MultiLayoutGraphicBlock_default", "__toCommonJS", "import_jsx_runtime", "import_react", "import_react_responsive", "import_Styles", "import_picture", "import_button", "import_heading", "import_text", "import_gird", "import_Title", "import_utils", "import_SwiperBox", "import_mimeType", "import_tabs", "import_useExposure", "import_trackUrlRef", "import_track", "componentType", "componentName", "ItemBlock", "item", "configuration", "jIndex", "spanType", "isMobile", "setIsMobile", "mediaQuery", "ref", "handleAspect", "theme", "title", "description", "imageUrl", "primaryButton", "secondaryButton", "imageMobileUrl", "lgButtonSize", "Picture", "Button", "MultiLayoutGraphicBlock", "React", "props", "shape", "sectionTitle", "groupByTab", "items", "carousel", "getSpan", "width", "tabNames", "index", "arr", "handleTabNumber", "num", "flag", "tabItemsMaps", "tabName", "acc", "cur", "Title", "SwiperBox"]
4
+ "sourcesContent": ["import React, { useState, useEffect, useRef } from 'react'\nimport { useMediaQuery } from 'react-responsive'\nimport type { MultiLayoutGraphicBlockProps, Item } from './types'\nimport { withStyles } from '../../shared/Styles.js'\nimport Picture from '../../components/picture.js'\nimport Button from '../../components/button.js'\nimport { Heading } from '../../components/heading.js'\nimport { Text } from '../../components/text.js'\nimport { Grid, GridItem } from '../../components/gird.js'\nimport Title from '../Title/index.js'\nimport { cn } from '../../helpers/utils.js'\nimport SwiperBox from '../SwiperBox/index.js'\nimport { isVideo } from '../../shared/mimeType.js'\nimport { Tabs, TabsList, TabsTrigger, TabsContent } from '../../components/tabs.js'\nimport { useExposure } from '../../hooks/useExposure.js'\nimport { trackUrlRef } from '../../shared/trackUrlRef.js'\nimport { gaTrack } from '../../shared/track.js'\n\nconst componentType = 'image'\nconst componentName = 'p1_banner'\n\nconst ItemBlock = ({\n data: item,\n configuration,\n jIndex,\n spanType,\n}: {\n data: Item\n configuration?: any\n jIndex?: number\n spanType?: string\n}) => {\n const [isMobile, setIsMobile] = useState<boolean>(false)\n const mediaQuery = useMediaQuery({ query: '(max-width: 768px)' })\n\n const ref = useRef<HTMLDivElement>(null)\n\n const handleAspect = () => {\n if (spanType) {\n switch (spanType) {\n case 'full':\n return 'tablet:aspect-w-[704] tablet:aspect-h-[400] laptop:aspect-w-[896] laptop:aspect-h-[384] desktop:aspect-w-[1312] desktop:aspect-h-[512] lg-desktop:aspect-w-[1664] lg-desktop:aspect-h-[640]'\n case 'half':\n return 'tablet:aspect-w-[704] tablet:aspect-h-[480] laptop:aspect-w-[440] laptop:aspect-h-[384] desktop:aspect-w-[648] desktop:aspect-h-[512] lg-desktop:aspect-w-[824] lg-desktop:aspect-h-[640]'\n case 'one-third':\n return 'tablet:aspect-w-[296] tablet:aspect-h-[400] laptop:aspect-w-[288] laptop:aspect-h-[384] desktop:aspect-w-[427] desktop:aspect-h-[512] lg-desktop:aspect-w-[544] lg-desktop:aspect-h-[640]'\n default:\n return 'tablet:aspect-w-[296] tablet:aspect-h-[400] laptop:aspect-w-[288] laptop:aspect-h-[384] desktop:aspect-w-[427] desktop:aspect-h-[512] lg-desktop:aspect-w-[544] lg-desktop:aspect-h-[640]'\n }\n } else {\n switch (configuration?.num) {\n case 1:\n return 'tablet:aspect-w-[704] tablet:aspect-h-[400] laptop:aspect-w-[896] laptop:aspect-h-[384] desktop:aspect-w-[1312] desktop:aspect-h-[512] lg-desktop:aspect-w-[1664] lg-desktop:aspect-h-[640]'\n case 2:\n return 'tablet:aspect-w-[704] tablet:aspect-h-[480] laptop:aspect-w-[440] laptop:aspect-h-[384] desktop:aspect-w-[648] desktop:aspect-h-[512] lg-desktop:aspect-w-[824] lg-desktop:aspect-h-[640]'\n case 3:\n return 'tablet:aspect-w-[296] tablet:aspect-h-[400] laptop:aspect-w-[288] laptop:aspect-h-[384] desktop:aspect-w-[427] desktop:aspect-h-[512] lg-desktop:aspect-w-[544] lg-desktop:aspect-h-[640]'\n default:\n return 'tablet:aspect-w-[296] tablet:aspect-h-[400] laptop:aspect-w-[288] laptop:aspect-h-[384] desktop:aspect-w-[427] desktop:aspect-h-[512] lg-desktop:aspect-w-[544] lg-desktop:aspect-h-[640]'\n }\n }\n }\n\n useExposure(ref, {\n componentType: componentType,\n componentName: componentName,\n position: jIndex,\n componentTitle: item.title,\n componentDescription: item.description,\n navigation: configuration?.activeTab,\n })\n\n useEffect(() => {\n setIsMobile(mediaQuery)\n }, [mediaQuery])\n\n const {\n theme = 'light',\n title,\n description,\n imageUrl,\n primaryButton,\n secondaryButton,\n imageMobileUrl,\n blockLink,\n } = item\n const lgButtonSize = 'lg-desktop:px-7 lg-desktop:pb-[14px] lg-desktop:pt-[15px] lg-desktop:text-[16px]'\n\n return (\n <div\n className={cn(\n 'item-wrapper text-info-primary group relative box-border w-full overflow-hidden',\n handleAspect(),\n {\n 'rounded-2xl': configuration?.shape === 'rounded',\n 'aiui-dark': theme === 'dark',\n 'h-[480px]': isMobile && !configuration?.isTab,\n 'h-[400px]': isMobile && configuration?.isTab,\n },\n `text-info-primary`\n )}\n ref={ref}\n >\n {blockLink && (\n <a\n className=\"absolute inset-0 z-10\"\n href={trackUrlRef(blockLink, `${componentType}_${componentName}`)}\n aria-hidden=\"true\"\n tabIndex={-1}\n ></a>\n )}\n <div className=\"absolute inset-0\">\n {isVideo(imageUrl?.mimeType) ? (\n <video autoPlay muted playsInline loop className=\"tablet:block hidden h-full overflow-hidden\">\n <source src={imageUrl?.url} type=\"video/mp4\" />\n </video>\n ) : (\n <Picture\n source={imageUrl?.url}\n alt={imageUrl?.alt || ''}\n className=\"tablet:block hidden h-full overflow-hidden\"\n imgClassName=\"h-full transition-all duration-300 group-hover:scale-105 object-cover\"\n style={{ aspectRatio: `${imageUrl?.width}/${imageUrl?.height}` }}\n />\n )}\n {isVideo(imageMobileUrl?.mimeType) ? (\n <video autoPlay muted playsInline loop className=\"tablet:hidden block h-full overflow-hidden\">\n <source src={imageMobileUrl?.url} type=\"video/mp4\" />\n </video>\n ) : (\n <Picture\n source={imageMobileUrl?.url || imageUrl?.url}\n alt={imageMobileUrl?.alt || imageUrl?.alt || ''}\n className=\"tablet:hidden block h-full overflow-hidden\"\n imgClassName=\"h-full transition-all duration-300 object-cover\"\n />\n )}\n <div\n className={cn(\n 'laptop:p-6 desktop:p-[32px] laptop:gap-4 desktop:gap-6 absolute inset-x-0 bottom-0 z-20 flex w-fit flex-col gap-6 p-3',\n {\n 'laptop:top-1/2 laptop:-translate-y-1/2 laptop:bottom-auto': item?.width === 'full',\n }\n )}\n >\n <div>\n <Heading size={3} className=\"item-title\" html={title} />\n <Text\n size={2}\n className=\"item-description desktop:text-[16px] lg-desktop:text-[18px] line-clamp-1 text-[14px]\"\n html={description}\n />\n </div>\n <div className=\"lg-desktop:gap-3 flex gap-2\">\n {secondaryButton && secondaryButton.text && (\n <a href={trackUrlRef(secondaryButton.link, `${componentType}_${componentName}`)}>\n <Button className={lgButtonSize} variant=\"secondary\">\n {secondaryButton.text}\n </Button>\n </a>\n )}\n {primaryButton && primaryButton.text && (\n <a href={trackUrlRef(primaryButton.link, `${componentType}_${componentName}`)}>\n <Button className={lgButtonSize} variant=\"primary\">\n {primaryButton.text}\n </Button>\n </a>\n )}\n </div>\n </div>\n </div>\n </div>\n )\n}\n\nconst MultiLayoutGraphicBlock = React.forwardRef<HTMLDivElement, MultiLayoutGraphicBlockProps>((props, ref) => {\n const { shape, sectionTitle, groupByTab = false, items = [], carousel } = props.data\n\n const getSpan = (width: 'full' | 'half' | 'one-third') => {\n switch (width) {\n case 'full':\n return 12\n case 'half':\n return 6\n case 'one-third':\n return 4\n }\n }\n\n const tabNames = items\n .map(item => item.tabName)\n .filter(Boolean)\n .filter((item, index, arr) => arr.indexOf(item) === index) as string[]\n\n const handleTabNumber = (num: Number, flag?: boolean) => {\n switch (num) {\n case 1:\n return 1\n case 2:\n return 2\n default:\n return flag ? 2.3 : 3\n }\n }\n\n const tabItemsMaps = tabNames\n .map(tabName => ({\n tabName,\n items: items.filter(item => item.tabName === tabName),\n }))\n .reduce(\n (acc, cur) => {\n acc[cur.tabName] = cur.items\n return acc\n },\n {} as Record<string, (Item & { width?: 'full' | 'half' | 'one-third' })[]>\n )\n\n return (\n <section data-ui-component-id=\"MultiLayoutGraphicBlock\" ref={ref} className=\"text-info-primary\">\n {sectionTitle && <Title data={{ title: sectionTitle }} className=\"section-title\" />}\n\n {groupByTab ? (\n <Tabs shape={shape} align=\"left\" defaultValue={tabNames[0]!}>\n <TabsList>\n {tabNames.map((tabName, index) => (\n <TabsTrigger\n key={index}\n value={tabName!}\n onClick={() => {\n gaTrack({\n event: 'ga4Event',\n event_name: 'component_click',\n event_parameters: {\n page_group: 'Home Page',\n component_type: componentType,\n component_name: componentName,\n component_title: sectionTitle,\n component_position: 1,\n navigation: tabName,\n button_name: tabName,\n },\n })\n }}\n >\n {tabName}\n </TabsTrigger>\n ))}\n </TabsList>\n {tabNames.map((tabName, index) => (\n <TabsContent key={index} value={tabName!} className=\"desktop:mt-[36px] mt-[24px] w-full\">\n <>\n <SwiperBox\n className=\"!overflow-visible\"\n id={'MultiLayoutGraphicBlock1'}\n data={{\n list: tabItemsMaps?.[tabName] || [],\n configuration: {\n shape: shape,\n isTab: groupByTab,\n activeTab: tabName,\n num: tabItemsMaps?.[tabName]?.length || 0,\n },\n }}\n Slide={ItemBlock}\n breakpoints={{\n 0: {\n spaceBetween: 12,\n freeMode: false,\n slidesPerView: 1,\n },\n 374: {\n spaceBetween: 12,\n freeMode: false,\n slidesPerView: 1.1,\n },\n 768: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: handleTabNumber(tabItemsMaps?.[tabName]?.length || 0, true),\n },\n 1024: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: handleTabNumber(tabItemsMaps?.[tabName]?.length || 0),\n },\n }}\n />\n {carousel && carousel?.items.length > 0 ? (\n <SwiperBox\n className=\"!overflow-visible\"\n id={'MultiLayoutGraphicBlock2'}\n data={{ list: carousel?.items || [], configuration: { shape: shape, isTab: groupByTab } }}\n Slide={ItemBlock}\n breakpoints={{\n 0: {\n spaceBetween: 12,\n freeMode: false,\n slidesPerView: 1,\n },\n 374: {\n spaceBetween: 12,\n freeMode: false,\n slidesPerView: 1.1,\n },\n 768: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: 2.3,\n },\n 1024: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: 3.1,\n },\n 1440: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: 4,\n },\n }}\n />\n ) : null}\n </>\n </TabsContent>\n ))}\n </Tabs>\n ) : (\n <>\n <Grid className=\"w-full\">\n {items.map((item, index) => {\n return (\n <GridItem\n key={`${item?.title || ''}${index}`}\n span={getSpan(item.width ?? 'full')}\n className=\"laptop:block hidden\"\n >\n <ItemBlock data={item} configuration={{ shape: shape }} jIndex={index} spanType={item.width} />\n </GridItem>\n )\n })}\n {items.map((item, index) => (\n <GridItem key={`${item?.title || ''}${index}`} span={getSpan('full')} className=\"laptop:hidden block\">\n <ItemBlock data={item} configuration={{ shape: shape }} jIndex={index} spanType={'full'} />\n </GridItem>\n ))}\n </Grid>\n {carousel && carousel?.items.length > 0 ? (\n // <Carousel className=\"laptop:mt-4 mt-3\">\n // <CarouselContent className=\"flex\">\n // {carousel.items.map((item, index) => (\n // <CarouselItem\n // key={`${item?.title || ''}${index}`}\n // className=\"tablet:basis-2/5 laptop:basis-[32%] flex basis-4/5\"\n // >\n // <ItemBlock item={item} shape={shape} />\n // </CarouselItem>\n // ))}\n // </CarouselContent>\n // </Carousel>\n <SwiperBox\n className=\"!overflow-visible\"\n id={'MultiLayoutGraphicBlock3'}\n data={{ list: carousel?.items || [], configuration: { shape: shape } }}\n Slide={ItemBlock}\n breakpoints={{\n 0: {\n spaceBetween: 12,\n freeMode: false,\n slidesPerView: 1,\n },\n 374: {\n spaceBetween: 12,\n freeMode: false,\n slidesPerView: 1.1,\n },\n 768: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: 2.3,\n },\n 1024: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: 3.1,\n },\n 1440: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: 4,\n },\n }}\n />\n ) : null}\n </>\n )}\n </section>\n )\n})\n\nMultiLayoutGraphicBlock.displayName = 'MultiLayoutGraphicBlock'\n\nexport default withStyles(MultiLayoutGraphicBlock)\nexport type { MultiLayoutGraphicBlockProps }\n"],
5
+ "mappings": "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",
6
+ "names": ["MultiLayoutGraphicBlock_exports", "__export", "MultiLayoutGraphicBlock_default", "__toCommonJS", "import_jsx_runtime", "import_react", "import_react_responsive", "import_Styles", "import_picture", "import_button", "import_heading", "import_text", "import_gird", "import_Title", "import_utils", "import_SwiperBox", "import_mimeType", "import_tabs", "import_useExposure", "import_trackUrlRef", "import_track", "componentType", "componentName", "ItemBlock", "item", "configuration", "jIndex", "spanType", "isMobile", "setIsMobile", "mediaQuery", "ref", "handleAspect", "theme", "title", "description", "imageUrl", "primaryButton", "secondaryButton", "imageMobileUrl", "blockLink", "lgButtonSize", "Picture", "Button", "MultiLayoutGraphicBlock", "React", "props", "shape", "sectionTitle", "groupByTab", "items", "carousel", "getSpan", "width", "tabNames", "index", "arr", "handleTabNumber", "num", "flag", "tabItemsMaps", "tabName", "acc", "cur", "Title", "SwiperBox"]
7
7
  }
@@ -7,6 +7,7 @@ export type Item = {
7
7
  imageMobileUrl?: Media;
8
8
  tabName?: string;
9
9
  width?: 'full' | 'half' | 'one-third';
10
+ blockLink?: string;
10
11
  primaryButton: {
11
12
  text: string;
12
13
  link: string;
@@ -1,2 +1,2 @@
1
- "use strict";var a=Object.defineProperty;var o=Object.getOwnPropertyDescriptor;var n=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var p=(e,t,s,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of n(t))!l.call(e,i)&&i!==s&&a(e,i,{get:()=>t[i],enumerable:!(r=o(t,i))||r.enumerable});return e};var m=e=>p(a({},"__esModule",{value:!0}),e);var h={};module.exports=m(h);
1
+ "use strict";var a=Object.defineProperty;var n=Object.getOwnPropertyDescriptor;var o=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var p=(e,t,s,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of o(t))!l.call(e,i)&&i!==s&&a(e,i,{get:()=>t[i],enumerable:!(r=n(t,i))||r.enumerable});return e};var m=e=>p(a({},"__esModule",{value:!0}),e);var g={};module.exports=m(g);
2
2
  //# sourceMappingURL=types.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/biz-components/MultiLayoutGraphicBlock/types.tsx"],
4
- "sourcesContent": ["import type { Media, Shape, Theme } from '../../types/props'\n\nexport type Item = {\n theme?: Theme\n title: string\n description: string\n imageUrl: Media\n imageMobileUrl?: Media\n tabName?: string\n width?: 'full' | 'half' | 'one-third'\n primaryButton: {\n text: string\n link: string\n }\n secondaryButton: {\n text: string\n link: string\n }\n}\n\nexport type MultiLayoutGraphicBlockProps = {\n data: {\n shape?: Shape\n sectionTitle?: string\n groupByTab?: boolean\n items: ({\n width?: 'full' | 'half' | 'one-third'\n } & Item)[]\n carousel?: {\n items: Item[]\n }\n }\n className?: string\n}\n"],
4
+ "sourcesContent": ["import type { Media, Shape, Theme } from '../../types/props'\n\nexport type Item = {\n theme?: Theme\n title: string\n description: string\n imageUrl: Media\n imageMobileUrl?: Media\n tabName?: string\n width?: 'full' | 'half' | 'one-third'\n blockLink?: string\n primaryButton: {\n text: string\n link: string\n }\n secondaryButton: {\n text: string\n link: string\n }\n}\n\nexport type MultiLayoutGraphicBlockProps = {\n data: {\n shape?: Shape\n sectionTitle?: string\n groupByTab?: boolean\n items: ({\n width?: 'full' | 'half' | 'one-third'\n } & Item)[]\n carousel?: {\n items: Item[]\n }\n }\n className?: string\n}\n"],
5
5
  "mappings": "+WAAA,IAAAA,EAAA,kBAAAC,EAAAD",
6
6
  "names": ["types_exports", "__toCommonJS"]
7
7
  }
@@ -2,5 +2,5 @@
2
2
  ${t.direction==="vertical"?"w-full":""}
3
3
  `,children:t?.secondaryButton||""}):null,t?.primaryButton?(0,r.jsx)(N.default,{variant:"primary",onClick:()=>b(e,t?.index),className:`
4
4
  ${t.direction==="vertical"?"w-full":""}
5
- `,children:t?.primaryButton||""}):null]})]})},e?.id||e?.handle)},oe=n.default.forwardRef(({data:e,buildData:t,className:i="",key:p,event:a},b)=>{const[m,c]=(0,n.useState)(""),[g,w]=(0,n.useState)([]),k=(0,D.useMediaQuery)({query:"(max-width: 768px)"}),d=(0,n.useRef)(null);(0,n.useImperativeHandle)(b,()=>d.current),(0,q.useExposure)(d,{componentType:T,componentName:B,componentTitle:e?.title,navigation:m});const{productsTab:u=[],productsCard:o=[],title:s,align:j="left",isShowTab:v=!0,tabShape:z="square",isShowTag:W=!1,...F}=e,S=f=>{const Q=f?.map(y=>{const P=t?.products?.find(G=>G?.handle===y?.handle);if(P)return{sku:y.sku,...P}})?.filter(y=>y);w(Q)};return(0,n.useEffect)(()=>{if(v){c(u?.[0]?.tab||""),S(u?.[0]?.data||[]);return}S(o)},[]),(0,r.jsxs)("div",{ref:d,className:(0,h.cn)("w-full",i,{"aiui-dark":e?.theme==="dark"}),children:[s&&(0,r.jsx)(M.default,{data:{title:s}}),v&&(0,r.jsx)("div",{className:`${k?"w-full overflow-hidden":""}`,children:(0,r.jsx)(_.default,{value:m,tabs:u,tabShape:z,onTabClick:f=>{c(f?.tab),S(f?.data||[]),(0,L.gaTrack)({event:"ga4Event",event_name:"component_click",event_parameters:{page_group:"Home Page",component_type:T,component_name:B,component_title:e?.title,component_position:1,navigation:f?.tab}})}})}),(0,r.jsx)("div",{className:"tablet:min-h-[393px] laptop:min-h-[425px] desktop:min-h-[405px] lg-desktop:min-h-[409px]",children:(0,r.jsx)($.default,{className:"mt-6 !overflow-visible",id:`ShelfDisplay${p}${m}`,data:{list:g,configuration:{...F,event:a,isShowTag:W}},Slide:ie,breakpoints:{0:{spaceBetween:12,freeMode:!1,slidesPerView:1},374:{spaceBetween:12,freeMode:!1,slidesPerView:1.1},768:{spaceBetween:16,freeMode:!1,slidesPerView:2.3},1024:{spaceBetween:16,freeMode:!1,slidesPerView:3},1440:{spaceBetween:16,freeMode:!1,slidesPerView:4}}})})]})});var se=(0,E.withStyles)(oe);
5
+ `,children:t?.primaryButton||""}):null]})]})},e?.id||e?.handle)},oe=n.default.forwardRef(({data:e,buildData:t,className:i="",key:p,event:a},b)=>{const[m,c]=(0,n.useState)(""),[g,w]=(0,n.useState)([]),k=(0,D.useMediaQuery)({query:"(max-width: 768px)"}),d=(0,n.useRef)(null);(0,n.useImperativeHandle)(b,()=>d.current),(0,q.useExposure)(d,{componentType:T,componentName:B,componentTitle:e?.title,navigation:m});const{productsTab:u=[],productsCard:o=[],title:s,align:j="left",isShowTab:v=!0,tabShape:z="square",isShowTag:W=!1,...F}=e,S=f=>{const Q=f?.map(y=>{const P=t?.products?.find(G=>G?.handle===y?.handle);if(P)return{sku:y.sku,...P}})?.filter(y=>y);w(Q)};return(0,n.useEffect)(()=>{if(v){c(u?.[0]?.tab||""),S(u?.[0]?.data||[]);return}S(o)},[]),(0,r.jsxs)("div",{ref:d,className:(0,h.cn)("w-full",i,{"aiui-dark":e?.theme==="dark"}),children:[s&&(0,r.jsx)(M.default,{data:{title:s}}),v&&(0,r.jsx)("div",{className:`${k?"w-full overflow-hidden":""}`,children:(0,r.jsx)(_.default,{value:m,tabs:u,tabShape:z,onTabClick:f=>{c(f?.tab),S(f?.data||[]),(0,L.gaTrack)({event:"ga4Event",event_name:"component_click",event_parameters:{page_group:"Home Page",component_type:T,component_name:B,component_title:e?.title,component_position:1,navigation:f?.tab}})}})}),(0,r.jsx)("div",{className:"tablet:min-h-[393px] laptop:min-h-[425px] desktop:min-h-[405px] lg-desktop:min-h-[409px]",children:(0,r.jsx)($.default,{className:"mt-6 !overflow-visible",id:`ShelfDisplay${p}${m}`,data:{list:g,configuration:{...F,event:a,isShowTag:W}},Slide:ie,breakpoints:{0:{spaceBetween:12,freeMode:!1,slidesPerView:1},374:{spaceBetween:12,freeMode:!1,slidesPerView:1.2},768:{spaceBetween:16,freeMode:!1,slidesPerView:2.3},1024:{spaceBetween:16,freeMode:!1,slidesPerView:3},1440:{spaceBetween:16,freeMode:!1,slidesPerView:4}}})})]})});var se=(0,E.withStyles)(oe);
6
6
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/biz-components/ShelfDisplay/index.tsx"],
4
- "sourcesContent": ["'use client'\nimport React, { useState, useEffect, useRef, useImperativeHandle } from 'react'\nimport { cn } from '../../helpers/utils.js'\nimport Picture from '../../components/picture.js'\nimport TabSwitch from './tabSwitch.js'\nimport Button from '../../components/button.js'\nimport Title from '../Title/index.js'\nimport SwiperBox from '../SwiperBox/index.js'\nimport { withStyles } from '../../shared/Styles.js'\nimport { formatVariantPrice } from './shelfDisplay.js'\nimport { Container } from '../../components/container.js'\nimport { useMediaQuery } from 'react-responsive'\nimport { useExposure } from '../../hooks/useExposure.js'\nimport { gaTrack } from '../../shared/track.js'\nimport { useAiuiContext } from '../AiuiProvider/index.js'\nimport Badge from '../../components/badge.js'\nimport { Heading } from '../../components/heading.js'\nimport { Text } from '../../components/text.js'\nimport type { ContainerProps } from '../../types/props.js'\nimport { trackUrlRef } from '../../shared/trackUrlRef.js'\n\nconst componentType = 'image'\nconst componentName = 'product_shelf'\n\nconst SOLD_OUT_PRICE = 9999999.99\n\nexport interface ShelfDisplayItem {\n id?: string\n /** \u4EA7\u54C1\u56FE\u7247*/\n img?: {\n url: string\n }\n handle?: string\n sku?: string\n /** \u6298\u6263\u540E\u4EF7\u683C*/\n price?: string\n title?: string\n /** \u6298\u6263\u524D\u4EF7\u683C*/\n basePrice?: string\n subTitle?: string\n /** \u6807\u7B7E*/\n tagItems?: string[]\n tab?: string\n data?: ShelfDisplayItem[]\n}\n\ntype EventType = {\n primaryButton?: (v: any, index: number) => void\n secondaryButton?: (v: any, index: number) => void\n}\n\nexport interface ShelfDisplayProps {\n data: {\n title?: string\n isShowTab?: boolean\n isShowTag?: boolean\n direction?: 'horizontal' | 'vertical'\n align?: 'left' | 'center' | 'right'\n productsTab?: any\n productsCard?: any\n /** \u5361\u7247\u5F62\u72B6 */\n itemShape?: 'round' | 'square'\n /** \u6309\u94AE\u5F62\u72B6 */\n shape?: 'round' | 'square'\n /** \u6807\u7B7E\u9875\u5F62\u72B6*/\n tabShape?: 'rounded' | 'square'\n /** \u4E3B\u6309\u94AE\u914D\u7F6E */\n primaryButton?: string\n /** \u526F\u6309\u94AE\u914D\u7F6E */\n secondaryButton?: string\n theme?: 'light' | 'dark'\n containerProps?: ContainerProps\n }\n buildData?: {\n categories: any[]\n products: any[]\n }\n /** \u6309\u94AE\u4E8B\u4EF6*/\n event?: EventType\n className?: string\n key?: string\n}\n\nconst ShelfDisplayItem = ({ data, configuration }: { data: any; configuration?: any }) => {\n const { locale = 'us', copyWriting } = useAiuiContext()\n const isMobile = useMediaQuery({ query: '(max-width: 768px)' })\n\n const onPrimaryButton = (params: ShelfDisplayItem, index: number) =>\n configuration?.event?.primaryButton?.(params, index + 1)\n\n const onSecondaryButton = (params: ShelfDisplayItem, index: number) =>\n configuration?.event?.secondaryButton?.(params, index + 1)\n\n const variant = data?.variants?.find((item: any) => item?.sku === data?.sku) || data?.variants?.[0] || {}\n\n const isSoldOut = !variant?.availableForSale && variant?.price?.amount === SOLD_OUT_PRICE\n const isShowTag = configuration?.isShowTag\n\n const { price, basePrice } = formatVariantPrice({\n locale: locale,\n amount: variant?.price?.amount || 0,\n baseAmount: data?.compareAtPrice?.amount || data?.price?.amount || 0,\n currencyCode: data?.price?.currencyCode || 'USD',\n })\n\n const handleUrl = () => {\n const sku = data?.sku\n const skuArray = data?.variants\n const findSku = skuArray?.find((item: any) => item?.sku === sku)\n return findSku?.image?.url || skuArray?.[0]?.image?.url || ''\n }\n\n return (\n <div\n key={data?.id || data?.handle}\n className={cn(\n 'bg-container-secondary-1 tablet:hover:bg-info-white box-border w-full cursor-pointer overflow-hidden duration-300',\n configuration?.shape === 'round' ? 'rounded-2xl' : 'rounded-none',\n 'lg-desktop:aspect-w-[404] lg-desktop:aspect-h-[480] desktop:aspect-w-[316] desktop:aspect-h-[384]',\n 'laptop:aspect-w-[288] laptop:aspect-h-[360] aspect-w-[296] aspect-h-[360] relative',\n {\n 'h-[360px]': isMobile,\n }\n )}\n >\n <div className=\"absolute inset-0 box-border flex flex-col justify-between overflow-hidden p-4\">\n <div\n className={cn(\n 'lg-desktop:mb-3 lg-desktop:h-[195px] relative mb-2 inline-block h-[140px] w-full flex-1 overflow-hidden'\n )}\n >\n <a\n href={trackUrlRef(\n `${locale === 'us' || !locale ? '' : `/${locale}`}/products/${data?.handle}`,\n `${componentType}_${componentName}`\n )}\n >\n <Picture source={handleUrl()} alt=\"\" className=\"flex h-full justify-center object-cover [&_img]:w-auto\" />\n </a>\n </div>\n {isShowTag ? (\n <div className=\"mb-1 box-border flex h-8 flex-wrap gap-1 overflow-hidden\">\n {data?.tags\n ?.filter((item: any) => item.startsWith('CLtag'))\n ?.map((item: any) => item.replace('CLtag:', ''))\n ?.slice(0, 2)\n ?.map?.((item: any, index: number) => <Badge key={index}>{item}</Badge>)}\n </div>\n ) : null}\n {data?.title ? (\n <Heading\n title={data?.title || ''}\n size={2}\n className=\"shelf-display-product-title lg-desktop:h-[58px] mb-1 line-clamp-2 h-[48px]\"\n >\n {data?.title || ''}\n </Heading>\n ) : null}\n {data?.description ? (\n <Text\n size={2}\n className=\"shelf-display-product-description lg-desktop:text-[18px] lg-desktop:h-[26px] desktop:text-[16px] desktop:h-[24px] line-clamp-1 h-[20px] text-[14px]\"\n >\n {data?.description || ''}\n </Text>\n ) : null}\n <div className=\"mb-2 mt-[20px] flex items-center\">\n {isSoldOut ? (\n <div className=\"tablet:text-2xl text-info-primary text-xl font-bold\">{copyWriting?.soldOutText}</div>\n ) : (\n <>\n <div className=\"tablet:text-2xl text-info-primary text-xl font-bold\">{price || ''}</div>\n <div className=\"tablet:text-2xl text-info-secondary ml-1 text-xl font-bold\">{basePrice || ''}</div>\n </>\n )}\n </div>\n {/* \u6309\u94AE\u7EC4 */}\n <div\n className={cn(\n 'lg-desktop:gap-3 flex items-center gap-2',\n configuration.direction === 'vertical' ? 'flex-col' : ''\n )}\n >\n {configuration?.secondaryButton ? (\n <Button\n variant=\"secondary\"\n onClick={() => onSecondaryButton(data, configuration?.index)}\n className={`\n ${configuration.direction === 'vertical' ? 'w-full' : ''}\n `}\n >\n {configuration?.secondaryButton || ''}\n </Button>\n ) : null}\n {configuration?.primaryButton ? (\n <Button\n variant=\"primary\"\n onClick={() => onPrimaryButton(data, configuration?.index)}\n className={`\n ${configuration.direction === 'vertical' ? 'w-full' : ''}\n `}\n >\n {configuration?.primaryButton || ''}\n </Button>\n ) : null}\n </div>\n </div>\n </div>\n )\n}\n\nconst ShelfDisplay = React.forwardRef<HTMLDivElement, ShelfDisplayProps>(\n ({ data, buildData, className = '', key, event }, ref) => {\n const [tabId, setTabId] = useState<string>('')\n const [currentItems, setCurrentItems] = useState<ShelfDisplayItem[]>([])\n\n const isMobile = useMediaQuery({ query: '(max-width: 768px)' })\n\n const innerRef = useRef<HTMLDivElement>(null)\n useImperativeHandle(ref, () => innerRef.current as HTMLDivElement)\n\n useExposure(innerRef, {\n componentType: componentType,\n componentName: componentName,\n componentTitle: data?.title,\n navigation: tabId,\n })\n\n const {\n productsTab = [],\n productsCard = [],\n title,\n align = 'left',\n isShowTab = true,\n tabShape = 'square',\n isShowTag = false,\n ...other\n } = data\n\n const handleCurrentTab = (currentData: ShelfDisplayItem[]) => {\n const newCurrentData = currentData\n ?.map(item => {\n const findData = buildData?.products?.find(params => params?.handle === item?.handle)\n if (findData) {\n return {\n sku: item.sku,\n ...findData,\n }\n }\n })\n ?.filter(item => item)\n setCurrentItems(newCurrentData)\n }\n\n useEffect(() => {\n if (isShowTab) {\n setTabId(productsTab?.[0]?.tab || '')\n handleCurrentTab(productsTab?.[0]?.data || [])\n return\n }\n handleCurrentTab(productsCard)\n }, [])\n\n return (\n <div ref={innerRef} className={cn('w-full', className, { 'aiui-dark': data?.theme === 'dark' })}>\n {title && <Title data={{ title: title }} />}\n {isShowTab && (\n <div className={`${isMobile ? 'w-full overflow-hidden' : ''}`}>\n <TabSwitch\n value={tabId}\n tabs={productsTab}\n tabShape={tabShape}\n onTabClick={v => {\n setTabId(v?.tab)\n handleCurrentTab(v?.data || [])\n gaTrack({\n event: 'ga4Event',\n event_name: 'component_click',\n event_parameters: {\n page_group: 'Home Page',\n component_type: componentType,\n component_name: componentName,\n component_title: data?.title,\n component_position: 1,\n navigation: v?.tab,\n },\n })\n }}\n />\n </div>\n )}\n <div className=\"tablet:min-h-[393px] laptop:min-h-[425px] desktop:min-h-[405px] lg-desktop:min-h-[409px]\">\n <SwiperBox\n className=\"mt-6 !overflow-visible\"\n id={`ShelfDisplay${key}${tabId}`}\n data={{ list: currentItems, configuration: { ...other, event: event, isShowTag } }}\n Slide={ShelfDisplayItem}\n breakpoints={{\n 0: {\n spaceBetween: 12,\n freeMode: false,\n slidesPerView: 1,\n },\n 374: {\n spaceBetween: 12,\n freeMode: false,\n slidesPerView: 1.1,\n },\n 768: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: 2.3,\n },\n 1024: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: 3,\n },\n 1440: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: 4,\n },\n }}\n />\n </div>\n </div>\n )\n }\n)\n\nexport default withStyles(ShelfDisplay)\n"],
4
+ "sourcesContent": ["'use client'\nimport React, { useState, useEffect, useRef, useImperativeHandle } from 'react'\nimport { cn } from '../../helpers/utils.js'\nimport Picture from '../../components/picture.js'\nimport TabSwitch from './tabSwitch.js'\nimport Button from '../../components/button.js'\nimport Title from '../Title/index.js'\nimport SwiperBox from '../SwiperBox/index.js'\nimport { withStyles } from '../../shared/Styles.js'\nimport { formatVariantPrice } from './shelfDisplay.js'\nimport { Container } from '../../components/container.js'\nimport { useMediaQuery } from 'react-responsive'\nimport { useExposure } from '../../hooks/useExposure.js'\nimport { gaTrack } from '../../shared/track.js'\nimport { useAiuiContext } from '../AiuiProvider/index.js'\nimport Badge from '../../components/badge.js'\nimport { Heading } from '../../components/heading.js'\nimport { Text } from '../../components/text.js'\nimport type { ContainerProps } from '../../types/props.js'\nimport { trackUrlRef } from '../../shared/trackUrlRef.js'\n\nconst componentType = 'image'\nconst componentName = 'product_shelf'\n\nconst SOLD_OUT_PRICE = 9999999.99\n\nexport interface ShelfDisplayItem {\n id?: string\n /** \u4EA7\u54C1\u56FE\u7247*/\n img?: {\n url: string\n }\n handle?: string\n sku?: string\n /** \u6298\u6263\u540E\u4EF7\u683C*/\n price?: string\n title?: string\n /** \u6298\u6263\u524D\u4EF7\u683C*/\n basePrice?: string\n subTitle?: string\n /** \u6807\u7B7E*/\n tagItems?: string[]\n tab?: string\n data?: ShelfDisplayItem[]\n}\n\ntype EventType = {\n primaryButton?: (v: any, index: number) => void\n secondaryButton?: (v: any, index: number) => void\n}\n\nexport interface ShelfDisplayProps {\n data: {\n title?: string\n isShowTab?: boolean\n isShowTag?: boolean\n direction?: 'horizontal' | 'vertical'\n align?: 'left' | 'center' | 'right'\n productsTab?: any\n productsCard?: any\n /** \u5361\u7247\u5F62\u72B6 */\n itemShape?: 'round' | 'square'\n /** \u6309\u94AE\u5F62\u72B6 */\n shape?: 'round' | 'square'\n /** \u6807\u7B7E\u9875\u5F62\u72B6*/\n tabShape?: 'rounded' | 'square'\n /** \u4E3B\u6309\u94AE\u914D\u7F6E */\n primaryButton?: string\n /** \u526F\u6309\u94AE\u914D\u7F6E */\n secondaryButton?: string\n theme?: 'light' | 'dark'\n containerProps?: ContainerProps\n }\n buildData?: {\n categories: any[]\n products: any[]\n }\n /** \u6309\u94AE\u4E8B\u4EF6*/\n event?: EventType\n className?: string\n key?: string\n}\n\nconst ShelfDisplayItem = ({ data, configuration }: { data: any; configuration?: any }) => {\n const { locale = 'us', copyWriting } = useAiuiContext()\n const isMobile = useMediaQuery({ query: '(max-width: 768px)' })\n\n const onPrimaryButton = (params: ShelfDisplayItem, index: number) =>\n configuration?.event?.primaryButton?.(params, index + 1)\n\n const onSecondaryButton = (params: ShelfDisplayItem, index: number) =>\n configuration?.event?.secondaryButton?.(params, index + 1)\n\n const variant = data?.variants?.find((item: any) => item?.sku === data?.sku) || data?.variants?.[0] || {}\n\n const isSoldOut = !variant?.availableForSale && variant?.price?.amount === SOLD_OUT_PRICE\n const isShowTag = configuration?.isShowTag\n\n const { price, basePrice } = formatVariantPrice({\n locale: locale,\n amount: variant?.price?.amount || 0,\n baseAmount: data?.compareAtPrice?.amount || data?.price?.amount || 0,\n currencyCode: data?.price?.currencyCode || 'USD',\n })\n\n const handleUrl = () => {\n const sku = data?.sku\n const skuArray = data?.variants\n const findSku = skuArray?.find((item: any) => item?.sku === sku)\n return findSku?.image?.url || skuArray?.[0]?.image?.url || ''\n }\n\n return (\n <div\n key={data?.id || data?.handle}\n className={cn(\n 'bg-container-secondary-1 tablet:hover:bg-info-white box-border w-full cursor-pointer overflow-hidden duration-300',\n configuration?.shape === 'round' ? 'rounded-2xl' : 'rounded-none',\n 'lg-desktop:aspect-w-[404] lg-desktop:aspect-h-[480] desktop:aspect-w-[316] desktop:aspect-h-[384]',\n 'laptop:aspect-w-[288] laptop:aspect-h-[360] aspect-w-[296] aspect-h-[360] relative',\n {\n 'h-[360px]': isMobile,\n }\n )}\n >\n <div className=\"absolute inset-0 box-border flex flex-col justify-between overflow-hidden p-4\">\n <div\n className={cn(\n 'lg-desktop:mb-3 lg-desktop:h-[195px] relative mb-2 inline-block h-[140px] w-full flex-1 overflow-hidden'\n )}\n >\n <a\n href={trackUrlRef(\n `${locale === 'us' || !locale ? '' : `/${locale}`}/products/${data?.handle}`,\n `${componentType}_${componentName}`\n )}\n >\n <Picture source={handleUrl()} alt=\"\" className=\"flex h-full justify-center object-cover [&_img]:w-auto\" />\n </a>\n </div>\n {isShowTag ? (\n <div className=\"mb-1 box-border flex h-8 flex-wrap gap-1 overflow-hidden\">\n {data?.tags\n ?.filter((item: any) => item.startsWith('CLtag'))\n ?.map((item: any) => item.replace('CLtag:', ''))\n ?.slice(0, 2)\n ?.map?.((item: any, index: number) => <Badge key={index}>{item}</Badge>)}\n </div>\n ) : null}\n {data?.title ? (\n <Heading\n title={data?.title || ''}\n size={2}\n className=\"shelf-display-product-title lg-desktop:h-[58px] mb-1 line-clamp-2 h-[48px]\"\n >\n {data?.title || ''}\n </Heading>\n ) : null}\n {data?.description ? (\n <Text\n size={2}\n className=\"shelf-display-product-description lg-desktop:text-[18px] lg-desktop:h-[26px] desktop:text-[16px] desktop:h-[24px] line-clamp-1 h-[20px] text-[14px]\"\n >\n {data?.description || ''}\n </Text>\n ) : null}\n <div className=\"mb-2 mt-[20px] flex items-center\">\n {isSoldOut ? (\n <div className=\"tablet:text-2xl text-info-primary text-xl font-bold\">{copyWriting?.soldOutText}</div>\n ) : (\n <>\n <div className=\"tablet:text-2xl text-info-primary text-xl font-bold\">{price || ''}</div>\n <div className=\"tablet:text-2xl text-info-secondary ml-1 text-xl font-bold\">{basePrice || ''}</div>\n </>\n )}\n </div>\n {/* \u6309\u94AE\u7EC4 */}\n <div\n className={cn(\n 'lg-desktop:gap-3 flex items-center gap-2',\n configuration.direction === 'vertical' ? 'flex-col' : ''\n )}\n >\n {configuration?.secondaryButton ? (\n <Button\n variant=\"secondary\"\n onClick={() => onSecondaryButton(data, configuration?.index)}\n className={`\n ${configuration.direction === 'vertical' ? 'w-full' : ''}\n `}\n >\n {configuration?.secondaryButton || ''}\n </Button>\n ) : null}\n {configuration?.primaryButton ? (\n <Button\n variant=\"primary\"\n onClick={() => onPrimaryButton(data, configuration?.index)}\n className={`\n ${configuration.direction === 'vertical' ? 'w-full' : ''}\n `}\n >\n {configuration?.primaryButton || ''}\n </Button>\n ) : null}\n </div>\n </div>\n </div>\n )\n}\n\nconst ShelfDisplay = React.forwardRef<HTMLDivElement, ShelfDisplayProps>(\n ({ data, buildData, className = '', key, event }, ref) => {\n const [tabId, setTabId] = useState<string>('')\n const [currentItems, setCurrentItems] = useState<ShelfDisplayItem[]>([])\n\n const isMobile = useMediaQuery({ query: '(max-width: 768px)' })\n\n const innerRef = useRef<HTMLDivElement>(null)\n useImperativeHandle(ref, () => innerRef.current as HTMLDivElement)\n\n useExposure(innerRef, {\n componentType: componentType,\n componentName: componentName,\n componentTitle: data?.title,\n navigation: tabId,\n })\n\n const {\n productsTab = [],\n productsCard = [],\n title,\n align = 'left',\n isShowTab = true,\n tabShape = 'square',\n isShowTag = false,\n ...other\n } = data\n\n const handleCurrentTab = (currentData: ShelfDisplayItem[]) => {\n const newCurrentData = currentData\n ?.map(item => {\n const findData = buildData?.products?.find(params => params?.handle === item?.handle)\n if (findData) {\n return {\n sku: item.sku,\n ...findData,\n }\n }\n })\n ?.filter(item => item)\n setCurrentItems(newCurrentData)\n }\n\n useEffect(() => {\n if (isShowTab) {\n setTabId(productsTab?.[0]?.tab || '')\n handleCurrentTab(productsTab?.[0]?.data || [])\n return\n }\n handleCurrentTab(productsCard)\n }, [])\n\n return (\n <div ref={innerRef} className={cn('w-full', className, { 'aiui-dark': data?.theme === 'dark' })}>\n {title && <Title data={{ title: title }} />}\n {isShowTab && (\n <div className={`${isMobile ? 'w-full overflow-hidden' : ''}`}>\n <TabSwitch\n value={tabId}\n tabs={productsTab}\n tabShape={tabShape}\n onTabClick={v => {\n setTabId(v?.tab)\n handleCurrentTab(v?.data || [])\n gaTrack({\n event: 'ga4Event',\n event_name: 'component_click',\n event_parameters: {\n page_group: 'Home Page',\n component_type: componentType,\n component_name: componentName,\n component_title: data?.title,\n component_position: 1,\n navigation: v?.tab,\n },\n })\n }}\n />\n </div>\n )}\n <div className=\"tablet:min-h-[393px] laptop:min-h-[425px] desktop:min-h-[405px] lg-desktop:min-h-[409px]\">\n <SwiperBox\n className=\"mt-6 !overflow-visible\"\n id={`ShelfDisplay${key}${tabId}`}\n data={{ list: currentItems, configuration: { ...other, event: event, isShowTag } }}\n Slide={ShelfDisplayItem}\n breakpoints={{\n 0: {\n spaceBetween: 12,\n freeMode: false,\n slidesPerView: 1,\n },\n 374: {\n spaceBetween: 12,\n freeMode: false,\n slidesPerView: 1.2,\n },\n 768: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: 2.3,\n },\n 1024: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: 3,\n },\n 1440: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: 4,\n },\n }}\n />\n </div>\n </div>\n )\n }\n)\n\nexport default withStyles(ShelfDisplay)\n"],
5
5
  "mappings": "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",
6
6
  "names": ["ShelfDisplay_exports", "__export", "ShelfDisplay_default", "__toCommonJS", "import_jsx_runtime", "import_react", "import_utils", "import_picture", "import_tabSwitch", "import_button", "import_Title", "import_SwiperBox", "import_Styles", "import_shelfDisplay", "import_container", "import_react_responsive", "import_useExposure", "import_track", "import_AiuiProvider", "import_badge", "import_heading", "import_text", "import_trackUrlRef", "componentType", "componentName", "SOLD_OUT_PRICE", "ShelfDisplayItem", "data", "configuration", "locale", "copyWriting", "isMobile", "onPrimaryButton", "params", "index", "onSecondaryButton", "variant", "item", "isSoldOut", "isShowTag", "price", "basePrice", "handleUrl", "sku", "skuArray", "Picture", "Badge", "Button", "ShelfDisplay", "React", "buildData", "className", "key", "event", "ref", "tabId", "setTabId", "currentItems", "setCurrentItems", "innerRef", "productsTab", "productsCard", "title", "align", "isShowTab", "tabShape", "other", "handleCurrentTab", "currentData", "newCurrentData", "findData", "Title", "TabSwitch", "v", "SwiperBox"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";"use client";var g=Object.create;var l=Object.defineProperty;var x=Object.getOwnPropertyDescriptor;var B=Object.getOwnPropertyNames;var M=Object.getPrototypeOf,E=Object.prototype.hasOwnProperty;var P=(e,r)=>{for(var o in r)l(e,o,{get:r[o],enumerable:!0})},m=(e,r,o,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let i of B(r))!E.call(e,i)&&i!==o&&l(e,i,{get:()=>r[i],enumerable:!(n=x(r,i))||n.enumerable});return e};var v=(e,r,o)=>(o=e!=null?g(M(e)):{},m(r||!e||!e.__esModule?l(o,"default",{value:e,enumerable:!0}):o,e)),y=e=>m(l({},"__esModule",{value:!0}),e);var b={};P(b,{default:()=>N});module.exports=y(b);var f=require("react/jsx-runtime"),t=v(require("react")),c=require("../../helpers/utils.js"),w=require("swiper/react"),s=require("swiper/modules");const u=t.default.forwardRef(({data:e,breakpoints:r,Slide:o,className:n,id:i})=>{const[h,d]=(0,t.useState)(!0),[V,S]=(0,t.useState)(!1);return(0,f.jsx)(w.Swiper,{className:(0,c.cn)(n),navigation:{nextEl:`.${i}-custom-swiper-button-next`,prevEl:`.${i}-custom-swiper-button-prev`},onProgress:p=>{d(p.isBeginning),S(p.isEnd)},modules:[s.Navigation,s.FreeMode,s.Mousewheel],freeMode:!0,mousewheel:{forceToAxis:!0},breakpoints:r||{0:{spaceBetween:12,slidesPerView:1,freeMode:!1},374:{spaceBetween:12,slidesPerView:1.1,freeMode:!1},768:{spaceBetween:16,slidesPerView:2,freeMode:!1}},children:e?.list?.map((p,a)=>(0,f.jsx)(w.SwiperSlide,{className:"!flex !h-[unset]",children:(0,f.jsx)(o,{data:p,configuration:e?.configuration?{...e?.configuration,index:a}:{index:a},jIndex:a})},i+"SwiperSlide"+a))})});u.displayName="SwiperBox";var N=u;
1
+ "use strict";"use client";var g=Object.create;var l=Object.defineProperty;var x=Object.getOwnPropertyDescriptor;var B=Object.getOwnPropertyNames;var M=Object.getPrototypeOf,E=Object.prototype.hasOwnProperty;var P=(e,r)=>{for(var o in r)l(e,o,{get:r[o],enumerable:!0})},m=(e,r,o,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let i of B(r))!E.call(e,i)&&i!==o&&l(e,i,{get:()=>r[i],enumerable:!(n=x(r,i))||n.enumerable});return e};var v=(e,r,o)=>(o=e!=null?g(M(e)):{},m(r||!e||!e.__esModule?l(o,"default",{value:e,enumerable:!0}):o,e)),y=e=>m(l({},"__esModule",{value:!0}),e);var b={};P(b,{default:()=>N});module.exports=y(b);var f=require("react/jsx-runtime"),t=v(require("react")),c=require("../../helpers/utils.js"),w=require("swiper/react"),s=require("swiper/modules");const u=t.default.forwardRef(({data:e,breakpoints:r,Slide:o,className:n,id:i})=>{const[h,d]=(0,t.useState)(!0),[V,S]=(0,t.useState)(!1);return(0,f.jsx)(w.Swiper,{className:(0,c.cn)(n),navigation:{nextEl:`.${i}-custom-swiper-button-next`,prevEl:`.${i}-custom-swiper-button-prev`},onProgress:p=>{d(p.isBeginning),S(p.isEnd)},modules:[s.Navigation,s.FreeMode,s.Mousewheel],freeMode:!0,mousewheel:{forceToAxis:!0},breakpoints:r||{0:{spaceBetween:12,slidesPerView:1,freeMode:!1},374:{spaceBetween:12,slidesPerView:1.2,freeMode:!1},768:{spaceBetween:16,slidesPerView:2,freeMode:!1}},children:e?.list?.map((p,a)=>(0,f.jsx)(w.SwiperSlide,{className:"!flex !h-[unset]",children:(0,f.jsx)(o,{data:p,configuration:e?.configuration?{...e?.configuration,index:a}:{index:a},jIndex:a})},i+"SwiperSlide"+a))})});u.displayName="SwiperBox";var N=u;
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/biz-components/SwiperBox/index.tsx"],
4
- "sourcesContent": ["'use client'\nimport React, { useState } from 'react'\nimport { cn } from '../../helpers/utils.js'\n// import 'swiper/css'\n// import 'swiper/css/free-mode'\nimport { Swiper, SwiperSlide } from 'swiper/react'\nimport { Navigation, FreeMode, Mousewheel } from 'swiper/modules'\nimport type { SwiperBoxProps } from './types.js'\n\nconst SwiperBox = React.forwardRef<HTMLDivElement, SwiperBoxProps>(({ data, breakpoints, Slide, className, id }) => {\n const [isStart, setStart] = useState(true)\n const [isEnd, setEnd] = useState(false)\n\n return (\n <Swiper\n className={cn(className)}\n navigation={{\n nextEl: `.${id}-custom-swiper-button-next`,\n prevEl: `.${id}-custom-swiper-button-prev`,\n }}\n onProgress={swiper => {\n setStart(swiper.isBeginning)\n setEnd(swiper.isEnd)\n }}\n modules={[Navigation, FreeMode, Mousewheel]}\n freeMode={true}\n mousewheel={{\n forceToAxis: true,\n }}\n breakpoints={\n breakpoints || {\n 0: {\n spaceBetween: 12,\n slidesPerView: 1,\n freeMode: false,\n },\n 374: {\n spaceBetween: 12,\n slidesPerView: 1.1,\n freeMode: false,\n },\n 768: {\n spaceBetween: 16,\n slidesPerView: 2,\n freeMode: false,\n },\n }\n }\n >\n {data?.list?.map((item, jIndex) => (\n <SwiperSlide key={id + 'SwiperSlide' + jIndex} className=\"!flex !h-[unset]\">\n <Slide\n data={item}\n configuration={data?.configuration ? { ...data?.configuration, index: jIndex } : { index: jIndex }}\n jIndex={jIndex}\n />\n </SwiperSlide>\n ))}\n </Swiper>\n )\n})\n\nSwiperBox.displayName = 'SwiperBox'\n\nexport default SwiperBox\n"],
4
+ "sourcesContent": ["'use client'\nimport React, { useState } from 'react'\nimport { cn } from '../../helpers/utils.js'\n// import 'swiper/css'\n// import 'swiper/css/free-mode'\nimport { Swiper, SwiperSlide } from 'swiper/react'\nimport { Navigation, FreeMode, Mousewheel } from 'swiper/modules'\nimport type { SwiperBoxProps } from './types.js'\n\nconst SwiperBox = React.forwardRef<HTMLDivElement, SwiperBoxProps>(({ data, breakpoints, Slide, className, id }) => {\n const [isStart, setStart] = useState(true)\n const [isEnd, setEnd] = useState(false)\n\n return (\n <Swiper\n className={cn(className)}\n navigation={{\n nextEl: `.${id}-custom-swiper-button-next`,\n prevEl: `.${id}-custom-swiper-button-prev`,\n }}\n onProgress={swiper => {\n setStart(swiper.isBeginning)\n setEnd(swiper.isEnd)\n }}\n modules={[Navigation, FreeMode, Mousewheel]}\n freeMode={true}\n mousewheel={{\n forceToAxis: true,\n }}\n breakpoints={\n breakpoints || {\n 0: {\n spaceBetween: 12,\n slidesPerView: 1,\n freeMode: false,\n },\n 374: {\n spaceBetween: 12,\n slidesPerView: 1.2,\n freeMode: false,\n },\n 768: {\n spaceBetween: 16,\n slidesPerView: 2,\n freeMode: false,\n },\n }\n }\n >\n {data?.list?.map((item, jIndex) => (\n <SwiperSlide key={id + 'SwiperSlide' + jIndex} className=\"!flex !h-[unset]\">\n <Slide\n data={item}\n configuration={data?.configuration ? { ...data?.configuration, index: jIndex } : { index: jIndex }}\n jIndex={jIndex}\n />\n </SwiperSlide>\n ))}\n </Swiper>\n )\n})\n\nSwiperBox.displayName = 'SwiperBox'\n\nexport default SwiperBox\n"],
5
5
  "mappings": "ukBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GAmDU,IAAAI,EAAA,6BAlDVC,EAAgC,oBAChCC,EAAmB,kCAGnBD,EAAoC,wBACpCE,EAAiD,0BAGjD,MAAMC,EAAY,EAAAC,QAAM,WAA2C,CAAC,CAAE,KAAAC,EAAM,YAAAC,EAAa,MAAAC,EAAO,UAAAC,EAAW,GAAAC,CAAG,IAAM,CAClH,KAAM,CAACC,EAASC,CAAQ,KAAI,YAAS,EAAI,EACnC,CAACC,EAAOC,CAAM,KAAI,YAAS,EAAK,EAEtC,SACE,OAAC,UACC,aAAW,MAAGL,CAAS,EACvB,WAAY,CACV,OAAQ,IAAIC,CAAE,6BACd,OAAQ,IAAIA,CAAE,4BAChB,EACA,WAAYK,GAAU,CACpBH,EAASG,EAAO,WAAW,EAC3BD,EAAOC,EAAO,KAAK,CACrB,EACA,QAAS,CAAC,aAAY,WAAU,YAAU,EAC1C,SAAU,GACV,WAAY,CACV,YAAa,EACf,EACA,YACER,GAAe,CACb,EAAG,CACD,aAAc,GACd,cAAe,EACf,SAAU,EACZ,EACA,IAAK,CACH,aAAc,GACd,cAAe,IACf,SAAU,EACZ,EACA,IAAK,CACH,aAAc,GACd,cAAe,EACf,SAAU,EACZ,CACF,EAGD,SAAAD,GAAM,MAAM,IAAI,CAACU,EAAMC,OACtB,OAAC,eAA8C,UAAU,mBACvD,mBAACT,EAAA,CACC,KAAMQ,EACN,cAAeV,GAAM,cAAgB,CAAE,GAAGA,GAAM,cAAe,MAAOW,CAAO,EAAI,CAAE,MAAOA,CAAO,EACjG,OAAQA,EACV,GALgBP,EAAK,cAAgBO,CAMvC,CACD,EACH,CAEJ,CAAC,EAEDb,EAAU,YAAc,YAExB,IAAON,EAAQM",
6
6
  "names": ["SwiperBox_exports", "__export", "SwiperBox_default", "__toCommonJS", "import_jsx_runtime", "import_react", "import_utils", "import_modules", "SwiperBox", "React", "data", "breakpoints", "Slide", "className", "id", "isStart", "setStart", "isEnd", "setEnd", "swiper", "item", "jIndex"]
7
7
  }
@@ -20,4 +20,5 @@ export default meta;
20
20
  type Story = StoryObj<typeof HeroBanner>;
21
21
  export declare const LightTheme: Story;
22
22
  export declare const DarkTheme: Story;
23
+ export declare const MultiBanner: () => import("react/jsx-runtime").JSX.Element;
23
24
  export declare const WithoutSecondaryButton: Story;
@@ -1,10 +1,11 @@
1
- "use strict";var s=Object.create;var i=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var c=Object.getPrototypeOf,h=Object.prototype.hasOwnProperty;var d=(e,t)=>{for(var r in t)i(e,r,{get:t[r],enumerable:!0})},p=(e,t,r,m)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of u(t))!h.call(e,a)&&a!==r&&i(e,a,{get:()=>t[a],enumerable:!(m=g(t,a))||m.enumerable});return e};var f=(e,t,r)=>(r=e!=null?s(c(e)):{},p(t||!e||!e.__esModule?i(r,"default",{value:e,enumerable:!0}):r,e)),k=e=>p(i({},"__esModule",{value:!0}),e);var S={};d(S,{DarkTheme:()=>B,LightTheme:()=>P,WithoutSecondaryButton:()=>A,default:()=>b});module.exports=k(S);var l=f(require("../biz-components/HeroBanner/HeroBanner.js")),x=require("gsap"),W=require("@gsap/react"),T=require("gsap/dist/ScrollTrigger"),C=require("gsap/dist/SplitText");const y={title:"Biz-Components/HeroBanner",component:l.default,parameters:{layout:"fullscreen",docs:{description:{component:`
1
+ "use strict";var c=Object.create;var n=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var d=Object.getOwnPropertyNames;var k=Object.getPrototypeOf,f=Object.prototype.hasOwnProperty;var y=(e,t)=>{for(var r in t)n(e,r,{get:t[r],enumerable:!0})},p=(e,t,r,m)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of d(t))!f.call(e,a)&&a!==r&&n(e,a,{get:()=>t[a],enumerable:!(m=h(t,a))||m.enumerable});return e};var b=(e,t,r)=>(r=e!=null?c(k(e)):{},p(t||!e||!e.__esModule?n(r,"default",{value:e,enumerable:!0}):r,e)),P=e=>p(n({},"__esModule",{value:!0}),e);var L={};y(L,{DarkTheme:()=>u,LightTheme:()=>g,MultiBanner:()=>w,WithoutSecondaryButton:()=>x,default:()=>A});module.exports=P(L);var i=require("react/jsx-runtime"),s=b(require("../biz-components/HeroBanner/HeroBanner.js"));const B={title:"Biz-Components/HeroBanner",component:s.default,parameters:{layout:"fullscreen",docs:{description:{component:`
2
2
  HeroBanner \u7EC4\u4EF6\u7528\u4E8E\u5C55\u793A\u7F51\u7AD9\u7684\u4E3B\u8981\u5185\u5BB9\u533A\u57DF\uFF0C\u901A\u5E38\u5305\u542B\u6807\u9898\u3001\u526F\u6807\u9898\u548C\u884C\u52A8\u6309\u94AE\u3002
3
3
 
4
4
  ### \u7279\u70B9
5
5
  - \u652F\u6301\u4EAE\u8272\u548C\u6697\u8272\u4E3B\u9898
6
6
  - \u4F7F\u7528 Mont For Anker \u5B57\u4F53\u4F5C\u4E3A\u6807\u9898
7
7
  - \u53EF\u914D\u7F6E\u4E3B\u6309\u94AE\u548C\u6B21\u8981\u6309\u94AE
8
- - \u652F\u6301\u5E95\u90E8\u4EA7\u54C1\u5217\u8868
9
- `}}},tags:["autodocs"]};var b=y;const o="https://cdn.shopify.com/s/files/1/0521/9411/5753/files/aee13b30b2c77fc8d0a46e4f19fa48cb_6a25debf-f95e-4ca6-990b-babcad65216c.png?v=1745468206",n="https://cdn.shopify.com/s/files/1/0517/6767/3016/files/87e32d61fc407d5e6c8aff00f3453072.jpg?v=1745999899",P={args:{data:{title:"Anker Laptop Power",subtitle:"Anker Prime 240W GaN Desktop Charger (4 Ports)",pcImage:{url:o,alt:"default background",thumbnailURL:o,mimeType:"image/jpeg"},mobileImage:{url:o,alt:"default background",thumbnailURL:o,mimeType:"image/jpeg"},theme:"light",primaryButton:{text:"Shop Now"},secondaryButton:{text:"Learn More"},caption:[{title:"Anker Prime 240W GaN Desktop Charger (4 Ports)"},{title:"Anker Prime 27,650mAh Power Bank (250W)"},{title:"Anker Prime 240W GaN Desktop Charger (4 Ports)"}]}}},B={args:{data:{title:"Power Your Life",subtitle:"Experience the next generation of charging technology with our innovative solutions designed for modern life.",pcImage:{url:n,alt:"dark background",thumbnailURL:n,mimeType:"image/jpeg"},mobileImage:{url:n,alt:"dark background",thumbnailURL:n,mimeType:"image/jpeg"},theme:"dark",primaryButton:{text:"Shop Now"},secondaryButton:{text:"Learn More"},caption:[{title:"Anker Prime 240W GaN Desktop Charger (4 Ports)"},{title:"Anker Prime 27,650mAh Power Bank (250W)"},{title:"Anker Prime 240W GaN Desktop Charger (4 Ports)"}]}}},A={args:{data:{title:"Future of Charging",subtitle:"Step into the future with our revolutionary charging solutions that redefine the way you power your devices.",pcImage:{url:o,alt:"default background",thumbnailURL:o,mimeType:"image/jpeg"},mobileImage:{url:o,alt:"default background",thumbnailURL:o,mimeType:"image/jpeg"},theme:"light",primaryButton:{text:"Shop Now"},caption:[{title:"Anker Prime 240W GaN Desktop Charger (4 Ports)"},{title:"Anker Prime 27,650mAh Power Bank (250W)"},{title:"Anker Prime 240W GaN Desktop Charger (4 Ports)"}]}}};
8
+ - \u53EF\u914D\u7F6E\u6A21\u5757\u8DF3\u8F6C\u94FE\u63A5
9
+ - \u652F\u6301\u5E95\u90E8\u7279\u6027\u5217\u8868
10
+ `}}},tags:["autodocs"]};var A=B;const o="https://cdn.shopify.com/s/files/1/0521/9411/5753/files/aee13b30b2c77fc8d0a46e4f19fa48cb_6a25debf-f95e-4ca6-990b-babcad65216c.png?v=1745468206",l="https://cdn.shopify.com/s/files/1/0517/6767/3016/files/87e32d61fc407d5e6c8aff00f3453072.jpg?v=1745999899",g={args:{data:{title:"Anker Laptop Power",subtitle:"Anker Prime 240W GaN Desktop Charger (4 Ports)",pcImage:{url:o,alt:"default background",thumbnailURL:o,mimeType:"image/jpeg"},mobileImage:{url:o,alt:"default background",thumbnailURL:o,mimeType:"image/jpeg"},theme:"light",blockLink:"/this-is-block-link",primaryButton:{text:"Shop Now",link:"/this-is-shop-now-link"},secondaryButton:{text:"Learn More",link:"/this-is-learn-more-link"},caption:[{title:"Anker Prime 240W GaN Desktop Charger (4 Ports)"},{title:"Anker Prime 27,650mAh Power Bank (250W)"},{title:"Anker Prime 240W GaN Desktop Charger (4 Ports)"}]}}},u={args:{data:{title:"Power Your Life",subtitle:"Experience the next generation of charging technology with our innovative solutions designed for modern life.",pcImage:{url:l,alt:"dark background",thumbnailURL:l,mimeType:"image/jpeg"},mobileImage:{url:l,alt:"dark background",thumbnailURL:l,mimeType:"image/jpeg"},theme:"dark",primaryButton:{text:"Shop Now"},secondaryButton:{text:"Learn More"},caption:[{title:"Anker Prime 240W GaN Desktop Charger (4 Ports)"},{title:"Anker Prime 27,650mAh Power Bank (250W)"},{title:"Anker Prime 240W GaN Desktop Charger (4 Ports)"}]}}},w=()=>(0,i.jsxs)("div",{className:"flex flex-col",children:[(0,i.jsx)(s.default,{data:{...g.args.data,size:"sm"}}),(0,i.jsx)(s.default,{data:{...u.args.data,size:"sm"}})]}),x={args:{data:{title:"Future of Charging",subtitle:"Step into the future with our revolutionary charging solutions that redefine the way you power your devices.",pcImage:{url:o,alt:"default background",thumbnailURL:o,mimeType:"image/jpeg"},mobileImage:{url:o,alt:"default background",thumbnailURL:o,mimeType:"image/jpeg"},theme:"light",primaryButton:{text:"Shop Now"},caption:[{title:"Anker Prime 240W GaN Desktop Charger (4 Ports)"},{title:"Anker Prime 27,650mAh Power Bank (250W)"},{title:"Anker Prime 240W GaN Desktop Charger (4 Ports)"}]}}};
10
11
  //# sourceMappingURL=HeroBanner.stories.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/stories/HeroBanner.stories.tsx"],
4
- "sourcesContent": ["import type { Meta, StoryObj } from '@storybook/react'\nimport HeroBanner from '../biz-components/HeroBanner/HeroBanner.js'\nimport { gsap } from 'gsap'\nimport { useGSAP } from '@gsap/react'\nimport { ScrollTrigger } from 'gsap/dist/ScrollTrigger'\nimport { SplitText } from 'gsap/dist/SplitText'\n\nconst meta = {\n title: 'Biz-Components/HeroBanner',\n component: HeroBanner,\n parameters: {\n layout: 'fullscreen',\n docs: {\n description: {\n component: `\nHeroBanner \u7EC4\u4EF6\u7528\u4E8E\u5C55\u793A\u7F51\u7AD9\u7684\u4E3B\u8981\u5185\u5BB9\u533A\u57DF\uFF0C\u901A\u5E38\u5305\u542B\u6807\u9898\u3001\u526F\u6807\u9898\u548C\u884C\u52A8\u6309\u94AE\u3002\n\n### \u7279\u70B9\n- \u652F\u6301\u4EAE\u8272\u548C\u6697\u8272\u4E3B\u9898\n- \u4F7F\u7528 Mont For Anker \u5B57\u4F53\u4F5C\u4E3A\u6807\u9898\n- \u53EF\u914D\u7F6E\u4E3B\u6309\u94AE\u548C\u6B21\u8981\u6309\u94AE\n- \u652F\u6301\u5E95\u90E8\u4EA7\u54C1\u5217\u8868\n `,\n },\n },\n },\n tags: ['autodocs'],\n} satisfies Meta<typeof HeroBanner>\n\nexport default meta\ntype Story = StoryObj<typeof HeroBanner>\n\nconst defaultBackground =\n 'https://cdn.shopify.com/s/files/1/0521/9411/5753/files/aee13b30b2c77fc8d0a46e4f19fa48cb_6a25debf-f95e-4ca6-990b-babcad65216c.png?v=1745468206'\n\nconst darkBackground =\n 'https://cdn.shopify.com/s/files/1/0517/6767/3016/files/87e32d61fc407d5e6c8aff00f3453072.jpg?v=1745999899'\n\nexport const LightTheme: Story = {\n args: {\n data: {\n title: 'Anker Laptop Power',\n subtitle: 'Anker Prime 240W GaN Desktop Charger (4 Ports)',\n pcImage: {\n url: defaultBackground,\n alt: 'default background',\n thumbnailURL: defaultBackground,\n mimeType: 'image/jpeg',\n },\n mobileImage: {\n url: defaultBackground,\n alt: 'default background',\n thumbnailURL: defaultBackground,\n mimeType: 'image/jpeg',\n },\n theme: 'light',\n primaryButton: {\n text: 'Shop Now',\n },\n secondaryButton: {\n text: 'Learn More',\n },\n caption: [\n { title: 'Anker Prime 240W GaN Desktop Charger (4 Ports)' },\n { title: 'Anker Prime 27,650mAh Power Bank (250W)' },\n { title: 'Anker Prime 240W GaN Desktop Charger (4 Ports)' },\n ],\n },\n },\n}\n\nexport const DarkTheme: Story = {\n args: {\n data: {\n title: 'Power Your Life',\n subtitle:\n 'Experience the next generation of charging technology with our innovative solutions designed for modern life.',\n pcImage: {\n url: darkBackground,\n alt: 'dark background',\n thumbnailURL: darkBackground,\n mimeType: 'image/jpeg',\n },\n mobileImage: {\n url: darkBackground,\n alt: 'dark background',\n thumbnailURL: darkBackground,\n mimeType: 'image/jpeg',\n },\n theme: 'dark',\n primaryButton: {\n text: 'Shop Now',\n },\n secondaryButton: {\n text: 'Learn More',\n },\n caption: [\n { title: 'Anker Prime 240W GaN Desktop Charger (4 Ports)' },\n { title: 'Anker Prime 27,650mAh Power Bank (250W)' },\n { title: 'Anker Prime 240W GaN Desktop Charger (4 Ports)' },\n ],\n },\n },\n}\n\nexport const WithoutSecondaryButton: Story = {\n args: {\n data: {\n title: 'Future of Charging',\n subtitle:\n 'Step into the future with our revolutionary charging solutions that redefine the way you power your devices.',\n pcImage: {\n url: defaultBackground,\n alt: 'default background',\n thumbnailURL: defaultBackground,\n mimeType: 'image/jpeg',\n },\n mobileImage: {\n url: defaultBackground,\n alt: 'default background',\n thumbnailURL: defaultBackground,\n mimeType: 'image/jpeg',\n },\n theme: 'light',\n primaryButton: {\n text: 'Shop Now',\n },\n caption: [\n { title: 'Anker Prime 240W GaN Desktop Charger (4 Ports)' },\n { title: 'Anker Prime 27,650mAh Power Bank (250W)' },\n { title: 'Anker Prime 240W GaN Desktop Charger (4 Ports)' },\n ],\n },\n },\n}\n"],
5
- "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,eAAAE,EAAA,eAAAC,EAAA,2BAAAC,EAAA,YAAAC,IAAA,eAAAC,EAAAN,GACA,IAAAO,EAAuB,yDACvBC,EAAqB,gBACrBC,EAAwB,uBACxBC,EAA8B,mCAC9BC,EAA0B,+BAE1B,MAAMC,EAAO,CACX,MAAO,4BACP,UAAW,EAAAC,QACX,WAAY,CACV,OAAQ,aACR,KAAM,CACJ,YAAa,CACX,UAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SASb,CACF,CACF,EACA,KAAM,CAAC,UAAU,CACnB,EAEA,IAAOR,EAAQO,EAGf,MAAME,EACJ,gJAEIC,EACJ,2GAEWZ,EAAoB,CAC/B,KAAM,CACJ,KAAM,CACJ,MAAO,qBACP,SAAU,iDACV,QAAS,CACP,IAAKW,EACL,IAAK,qBACL,aAAcA,EACd,SAAU,YACZ,EACA,YAAa,CACX,IAAKA,EACL,IAAK,qBACL,aAAcA,EACd,SAAU,YACZ,EACA,MAAO,QACP,cAAe,CACb,KAAM,UACR,EACA,gBAAiB,CACf,KAAM,YACR,EACA,QAAS,CACP,CAAE,MAAO,gDAAiD,EAC1D,CAAE,MAAO,yCAA0C,EACnD,CAAE,MAAO,gDAAiD,CAC5D,CACF,CACF,CACF,EAEaZ,EAAmB,CAC9B,KAAM,CACJ,KAAM,CACJ,MAAO,kBACP,SACE,gHACF,QAAS,CACP,IAAKa,EACL,IAAK,kBACL,aAAcA,EACd,SAAU,YACZ,EACA,YAAa,CACX,IAAKA,EACL,IAAK,kBACL,aAAcA,EACd,SAAU,YACZ,EACA,MAAO,OACP,cAAe,CACb,KAAM,UACR,EACA,gBAAiB,CACf,KAAM,YACR,EACA,QAAS,CACP,CAAE,MAAO,gDAAiD,EAC1D,CAAE,MAAO,yCAA0C,EACnD,CAAE,MAAO,gDAAiD,CAC5D,CACF,CACF,CACF,EAEaX,EAAgC,CAC3C,KAAM,CACJ,KAAM,CACJ,MAAO,qBACP,SACE,+GACF,QAAS,CACP,IAAKU,EACL,IAAK,qBACL,aAAcA,EACd,SAAU,YACZ,EACA,YAAa,CACX,IAAKA,EACL,IAAK,qBACL,aAAcA,EACd,SAAU,YACZ,EACA,MAAO,QACP,cAAe,CACb,KAAM,UACR,EACA,QAAS,CACP,CAAE,MAAO,gDAAiD,EAC1D,CAAE,MAAO,yCAA0C,EACnD,CAAE,MAAO,gDAAiD,CAC5D,CACF,CACF,CACF",
6
- "names": ["HeroBanner_stories_exports", "__export", "DarkTheme", "LightTheme", "WithoutSecondaryButton", "HeroBanner_stories_default", "__toCommonJS", "import_HeroBanner", "import_gsap", "import_react", "import_ScrollTrigger", "import_SplitText", "meta", "HeroBanner", "defaultBackground", "darkBackground"]
4
+ "sourcesContent": ["import type { Meta, StoryObj } from '@storybook/react'\nimport HeroBanner from '../biz-components/HeroBanner/HeroBanner.js'\n\nconst meta = {\n title: 'Biz-Components/HeroBanner',\n component: HeroBanner,\n parameters: {\n layout: 'fullscreen',\n docs: {\n description: {\n component: `\nHeroBanner \u7EC4\u4EF6\u7528\u4E8E\u5C55\u793A\u7F51\u7AD9\u7684\u4E3B\u8981\u5185\u5BB9\u533A\u57DF\uFF0C\u901A\u5E38\u5305\u542B\u6807\u9898\u3001\u526F\u6807\u9898\u548C\u884C\u52A8\u6309\u94AE\u3002\n\n### \u7279\u70B9\n- \u652F\u6301\u4EAE\u8272\u548C\u6697\u8272\u4E3B\u9898\n- \u4F7F\u7528 Mont For Anker \u5B57\u4F53\u4F5C\u4E3A\u6807\u9898\n- \u53EF\u914D\u7F6E\u4E3B\u6309\u94AE\u548C\u6B21\u8981\u6309\u94AE\n- \u53EF\u914D\u7F6E\u6A21\u5757\u8DF3\u8F6C\u94FE\u63A5\n- \u652F\u6301\u5E95\u90E8\u7279\u6027\u5217\u8868\n `,\n },\n },\n },\n tags: ['autodocs'],\n} satisfies Meta<typeof HeroBanner>\n\nexport default meta\ntype Story = StoryObj<typeof HeroBanner>\n\nconst defaultBackground =\n 'https://cdn.shopify.com/s/files/1/0521/9411/5753/files/aee13b30b2c77fc8d0a46e4f19fa48cb_6a25debf-f95e-4ca6-990b-babcad65216c.png?v=1745468206'\n\nconst darkBackground =\n 'https://cdn.shopify.com/s/files/1/0517/6767/3016/files/87e32d61fc407d5e6c8aff00f3453072.jpg?v=1745999899'\n\nexport const LightTheme: Story = {\n args: {\n data: {\n title: 'Anker Laptop Power',\n subtitle: 'Anker Prime 240W GaN Desktop Charger (4 Ports)',\n pcImage: {\n url: defaultBackground,\n alt: 'default background',\n thumbnailURL: defaultBackground,\n mimeType: 'image/jpeg',\n },\n mobileImage: {\n url: defaultBackground,\n alt: 'default background',\n thumbnailURL: defaultBackground,\n mimeType: 'image/jpeg',\n },\n theme: 'light',\n blockLink: '/this-is-block-link',\n primaryButton: {\n text: 'Shop Now',\n link: '/this-is-shop-now-link',\n },\n secondaryButton: {\n text: 'Learn More',\n link: '/this-is-learn-more-link',\n },\n caption: [\n { title: 'Anker Prime 240W GaN Desktop Charger (4 Ports)' },\n { title: 'Anker Prime 27,650mAh Power Bank (250W)' },\n { title: 'Anker Prime 240W GaN Desktop Charger (4 Ports)' },\n ],\n },\n },\n}\n\nexport const DarkTheme: Story = {\n args: {\n data: {\n title: 'Power Your Life',\n subtitle:\n 'Experience the next generation of charging technology with our innovative solutions designed for modern life.',\n pcImage: {\n url: darkBackground,\n alt: 'dark background',\n thumbnailURL: darkBackground,\n mimeType: 'image/jpeg',\n },\n mobileImage: {\n url: darkBackground,\n alt: 'dark background',\n thumbnailURL: darkBackground,\n mimeType: 'image/jpeg',\n },\n theme: 'dark',\n primaryButton: {\n text: 'Shop Now',\n },\n secondaryButton: {\n text: 'Learn More',\n },\n caption: [\n { title: 'Anker Prime 240W GaN Desktop Charger (4 Ports)' },\n { title: 'Anker Prime 27,650mAh Power Bank (250W)' },\n { title: 'Anker Prime 240W GaN Desktop Charger (4 Ports)' },\n ],\n },\n },\n}\n\nexport const MultiBanner = () => {\n return (\n <div className=\"flex flex-col\">\n {/* @ts-ignore */}\n <HeroBanner data={{ ...LightTheme!.args!.data, size: 'sm' }} />\n {/* @ts-ignore */}\n <HeroBanner data={{ ...DarkTheme!.args!.data, size: 'sm' }} />\n </div>\n )\n}\n\nexport const WithoutSecondaryButton: Story = {\n args: {\n data: {\n title: 'Future of Charging',\n subtitle:\n 'Step into the future with our revolutionary charging solutions that redefine the way you power your devices.',\n pcImage: {\n url: defaultBackground,\n alt: 'default background',\n thumbnailURL: defaultBackground,\n mimeType: 'image/jpeg',\n },\n mobileImage: {\n url: defaultBackground,\n alt: 'default background',\n thumbnailURL: defaultBackground,\n mimeType: 'image/jpeg',\n },\n theme: 'light',\n primaryButton: {\n text: 'Shop Now',\n },\n caption: [\n { title: 'Anker Prime 240W GaN Desktop Charger (4 Ports)' },\n { title: 'Anker Prime 27,650mAh Power Bank (250W)' },\n { title: 'Anker Prime 240W GaN Desktop Charger (4 Ports)' },\n ],\n },\n },\n}\n"],
5
+ "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,eAAAE,EAAA,eAAAC,EAAA,gBAAAC,EAAA,2BAAAC,EAAA,YAAAC,IAAA,eAAAC,EAAAP,GA2GI,IAAAQ,EAAA,6BA1GJC,EAAuB,yDAEvB,MAAMC,EAAO,CACX,MAAO,4BACP,UAAW,EAAAC,QACX,WAAY,CACV,OAAQ,aACR,KAAM,CACJ,YAAa,CACX,UAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAUb,CACF,CACF,EACA,KAAM,CAAC,UAAU,CACnB,EAEA,IAAOL,EAAQI,EAGf,MAAME,EACJ,gJAEIC,EACJ,2GAEWV,EAAoB,CAC/B,KAAM,CACJ,KAAM,CACJ,MAAO,qBACP,SAAU,iDACV,QAAS,CACP,IAAKS,EACL,IAAK,qBACL,aAAcA,EACd,SAAU,YACZ,EACA,YAAa,CACX,IAAKA,EACL,IAAK,qBACL,aAAcA,EACd,SAAU,YACZ,EACA,MAAO,QACP,UAAW,sBACX,cAAe,CACb,KAAM,WACN,KAAM,wBACR,EACA,gBAAiB,CACf,KAAM,aACN,KAAM,0BACR,EACA,QAAS,CACP,CAAE,MAAO,gDAAiD,EAC1D,CAAE,MAAO,yCAA0C,EACnD,CAAE,MAAO,gDAAiD,CAC5D,CACF,CACF,CACF,EAEaV,EAAmB,CAC9B,KAAM,CACJ,KAAM,CACJ,MAAO,kBACP,SACE,gHACF,QAAS,CACP,IAAKW,EACL,IAAK,kBACL,aAAcA,EACd,SAAU,YACZ,EACA,YAAa,CACX,IAAKA,EACL,IAAK,kBACL,aAAcA,EACd,SAAU,YACZ,EACA,MAAO,OACP,cAAe,CACb,KAAM,UACR,EACA,gBAAiB,CACf,KAAM,YACR,EACA,QAAS,CACP,CAAE,MAAO,gDAAiD,EAC1D,CAAE,MAAO,yCAA0C,EACnD,CAAE,MAAO,gDAAiD,CAC5D,CACF,CACF,CACF,EAEaT,EAAc,OAEvB,QAAC,OAAI,UAAU,gBAEb,oBAAC,EAAAO,QAAA,CAAW,KAAM,CAAE,GAAGR,EAAY,KAAM,KAAM,KAAM,IAAK,EAAG,KAE7D,OAAC,EAAAQ,QAAA,CAAW,KAAM,CAAE,GAAGT,EAAW,KAAM,KAAM,KAAM,IAAK,EAAG,GAC9D,EAISG,EAAgC,CAC3C,KAAM,CACJ,KAAM,CACJ,MAAO,qBACP,SACE,+GACF,QAAS,CACP,IAAKO,EACL,IAAK,qBACL,aAAcA,EACd,SAAU,YACZ,EACA,YAAa,CACX,IAAKA,EACL,IAAK,qBACL,aAAcA,EACd,SAAU,YACZ,EACA,MAAO,QACP,cAAe,CACb,KAAM,UACR,EACA,QAAS,CACP,CAAE,MAAO,gDAAiD,EAC1D,CAAE,MAAO,yCAA0C,EACnD,CAAE,MAAO,gDAAiD,CAC5D,CACF,CACF,CACF",
6
+ "names": ["HeroBanner_stories_exports", "__export", "DarkTheme", "LightTheme", "MultiBanner", "WithoutSecondaryButton", "HeroBanner_stories_default", "__toCommonJS", "import_jsx_runtime", "import_HeroBanner", "meta", "HeroBanner", "defaultBackground", "darkBackground"]
7
7
  }
@@ -1,4 +1,4 @@
1
- "use strict";var p=Object.create;var r=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var l=Object.getPrototypeOf,g=Object.prototype.hasOwnProperty;var d=(e,t)=>{for(var o in t)r(e,o,{get:t[o],enumerable:!0})},m=(e,t,o,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of u(t))!g.call(e,a)&&a!==o&&r(e,a,{get:()=>t[a],enumerable:!(s=c(t,a))||s.enumerable});return e};var h=(e,t,o)=>(o=e!=null?p(l(e)):{},m(t||!e||!e.__esModule?r(o,"default",{value:e,enumerable:!0}):o,e)),y=e=>m(r({},"__esModule",{value:!0}),e);var q={};d(q,{CustomButtons:()=>B,CustomStyles:()=>f,Default:()=>n,Round:()=>x,default:()=>k});module.exports=y(q);var i=h(require("../biz-components/MemberEquity/index.js"));const b={title:"Biz-Components/MemberEquity",component:i.default,parameters:{layout:"fullscreen",docs:{description:{component:`
1
+ "use strict";var p=Object.create;var r=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var l=Object.getPrototypeOf,g=Object.prototype.hasOwnProperty;var d=(e,t)=>{for(var o in t)r(e,o,{get:t[o],enumerable:!0})},n=(e,t,o,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of u(t))!g.call(e,a)&&a!==o&&r(e,a,{get:()=>t[a],enumerable:!(s=c(t,a))||s.enumerable});return e};var y=(e,t,o)=>(o=e!=null?p(l(e)):{},n(t||!e||!e.__esModule?r(o,"default",{value:e,enumerable:!0}):o,e)),h=e=>n(r({},"__esModule",{value:!0}),e);var q={};d(q,{CustomButtons:()=>x,CustomStyles:()=>f,Default:()=>m,Round:()=>B,default:()=>k});module.exports=h(q);var i=y(require("../biz-components/MemberEquity/index.js"));const b={title:"Biz-Components/MemberEquity",component:i.default,parameters:{layout:"fullscreen",docs:{description:{component:`
2
2
  MemberEquity \u7EC4\u4EF6\u662F\u7528\u4E8E\u5C55\u793A\u4F1A\u5458\u6743\u76CA\u7684\u7EC4\u4EF6\u3002
3
3
 
4
4
 
@@ -7,7 +7,7 @@ MemberEquity \u7EC4\u4EF6\u662F\u7528\u4E8E\u5C55\u793A\u4F1A\u5458\u6743\u76CA\
7
7
  .member-equity-description
8
8
  .member-equity-button-primary
9
9
  .member-equity-button-secondary
10
- `}}},tags:["autodocs"]};var k=b;const n={args:{data:{title:"Become a Member Today",description:"Gain early access to new products, exclusive deals, and opportunities to try our products for free.",backgroundImage:{alt:"backgroundImage",url:"https://images.unsplash.com/photo-1484807352052-23338990c6c6",thumbnailURL:"https://images.unsplash.com/photo-1484807352052-23338990c6c6",mimeType:"image/jpeg"},mobileBackgroundImage:{alt:"mobileBackgroundImage",url:"https://images.unsplash.com/photo-1484807352052-23338990c6c6",thumbnailURL:"https://images.unsplash.com/photo-1484807352052-23338990c6c6",mimeType:"image/jpeg"},primaryButton:{text:"Shop Now",link:"/shop"},secondaryButton:{text:"Learn More",link:"/learn"},shape:"square"}}},x={args:{data:{title:"Become a Member Today",description:"Gain early access to new products, exclusive deals, and opportunities to try our products for free.",backgroundImage:{url:"https://images.unsplash.com/photo-1484807352052-23338990c6c6",alt:"backgroundImage",thumbnailURL:"https://images.unsplash.com/photo-1484807352052-23338990c6c6",mimeType:"image/jpeg"},primaryButton:{text:"Shop Now",link:"/shop"},secondaryButton:{text:"Learn More",link:"/learn"},shape:"rounded"}}},B={args:{data:{...n.args?.data,title:"Premium Experience",description:"Join our community to get early access to new products and exclusive member benefits.",backgroundImage:{alt:"backgroundImage",url:"https://images.unsplash.com/photo-1505740420928-5e560c06d30e",thumbnailURL:"https://images.unsplash.com/photo-1505740420928-5e560c06d30e",mimeType:"image/jpeg"},mobileBackgroundImage:{alt:"mobileBackgroundImage",url:"https://images.unsplash.com/photo-1505740420928-5e560c06d30e",thumbnailURL:"https://images.unsplash.com/photo-1505740420928-5e560c06d30e",mimeType:"image/jpeg"},primaryButton:{text:"Join Now",link:"/join"},secondaryButton:{text:"Explore Benefits",link:"/benefits"}}}},f={args:{data:{title:"Become a Member Today and opportunities",description:"Gain early access to new products, exclusive deals, and opportunities to try our products for free.",backgroundImage:{alt:"backgroundImage",url:"https://images.unsplash.com/photo-1484807352052-23338990c6c6",thumbnailURL:"https://images.unsplash.com/photo-1484807352052-23338990c6c6",mimeType:"image/jpeg"},mobileBackgroundImage:{alt:"mobileBackgroundImage",url:"https://images.unsplash.com/photo-1484807352052-23338990c6c6",thumbnailURL:"https://images.unsplash.com/photo-1484807352052-23338990c6c6",mimeType:"image/jpeg"},primaryButton:{text:"Shop Now",link:"/shop"},secondaryButton:{text:"Learn More",link:"/learn"},shape:"square"},style:`
10
+ `}}},tags:["autodocs"]};var k=b;const m={args:{data:{title:"Become a Member Today",description:"Gain early access to new products, exclusive deals, and opportunities to try our products for free.",backgroundImage:{alt:"backgroundImage",url:"https://images.unsplash.com/photo-1484807352052-23338990c6c6",thumbnailURL:"https://images.unsplash.com/photo-1484807352052-23338990c6c6",mimeType:"image/jpeg"},mobileBackgroundImage:{alt:"mobileBackgroundImage",url:"https://images.unsplash.com/photo-1484807352052-23338990c6c6",thumbnailURL:"https://images.unsplash.com/photo-1484807352052-23338990c6c6",mimeType:"image/jpeg"},primaryButton:{text:"Shop Now",link:"/shop"},secondaryButton:{text:"Learn More",link:"/learn"},primaryButtonHandler:()=>{alert("primaryButtonHandler is triggered")},secondaryButtonHandler:()=>{console.log("secondaryButtonHandler")},shape:"square"}}},B={args:{data:{title:"Become a Member Today",description:"Gain early access to new products, exclusive deals, and opportunities to try our products for free.",backgroundImage:{url:"https://images.unsplash.com/photo-1484807352052-23338990c6c6",alt:"backgroundImage",thumbnailURL:"https://images.unsplash.com/photo-1484807352052-23338990c6c6",mimeType:"image/jpeg"},primaryButton:{text:"Shop Now",link:"/shop"},secondaryButton:{text:"Learn More",link:"/learn"},shape:"rounded"}}},x={args:{data:{...m.args?.data,title:"Premium Experience",description:"Join our community to get early access to new products and exclusive member benefits.",backgroundImage:{alt:"backgroundImage",url:"https://images.unsplash.com/photo-1505740420928-5e560c06d30e",thumbnailURL:"https://images.unsplash.com/photo-1505740420928-5e560c06d30e",mimeType:"image/jpeg"},mobileBackgroundImage:{alt:"mobileBackgroundImage",url:"https://images.unsplash.com/photo-1505740420928-5e560c06d30e",thumbnailURL:"https://images.unsplash.com/photo-1505740420928-5e560c06d30e",mimeType:"image/jpeg"},primaryButton:{text:"Join Now",link:"/join"},secondaryButton:{text:"Explore Benefits",link:"/benefits"}}}},f={args:{data:{title:"Become a Member Today and opportunities",description:"Gain early access to new products, exclusive deals, and opportunities to try our products for free.",backgroundImage:{alt:"backgroundImage",url:"https://images.unsplash.com/photo-1484807352052-23338990c6c6",thumbnailURL:"https://images.unsplash.com/photo-1484807352052-23338990c6c6",mimeType:"image/jpeg"},mobileBackgroundImage:{alt:"mobileBackgroundImage",url:"https://images.unsplash.com/photo-1484807352052-23338990c6c6",thumbnailURL:"https://images.unsplash.com/photo-1484807352052-23338990c6c6",mimeType:"image/jpeg"},primaryButton:{text:"Shop Now",link:"/shop"},secondaryButton:{text:"Learn More",link:"/learn"},shape:"square"},style:`
11
11
  .member-equity-title {
12
12
  background: linear-gradient(
13
13
  90deg,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/stories/MemberEquity.stories.tsx"],
4
- "sourcesContent": ["import type { Meta, StoryObj } from '@storybook/react'\nimport MemberEquity from '../biz-components/MemberEquity/index.js'\n\nconst meta: Meta<typeof MemberEquity> = {\n title: 'Biz-Components/MemberEquity',\n component: MemberEquity,\n parameters: {\n layout: 'fullscreen',\n docs: {\n description: {\n component: ` \nMemberEquity \u7EC4\u4EF6\u662F\u7528\u4E8E\u5C55\u793A\u4F1A\u5458\u6743\u76CA\u7684\u7EC4\u4EF6\u3002 \n\n\n### \u81EA\u5B9A\u4E49style \u53EF\u7528class \n.member-equity-title \n.member-equity-description \n.member-equity-button-primary \n.member-equity-button-secondary \n `,\n },\n },\n },\n tags: ['autodocs'],\n}\n\nexport default meta\ntype Story = StoryObj<typeof MemberEquity>\n\n// \u9ED8\u8BA4\u6837\u5F0F - \u65B9\u5F62\nexport const Default: Story = {\n args: {\n data: {\n title: 'Become a Member Today',\n description:\n 'Gain early access to new products, exclusive deals, and opportunities to try our products for free.',\n backgroundImage: {\n alt: 'backgroundImage',\n url: 'https://images.unsplash.com/photo-1484807352052-23338990c6c6',\n thumbnailURL: 'https://images.unsplash.com/photo-1484807352052-23338990c6c6',\n mimeType: 'image/jpeg',\n },\n mobileBackgroundImage: {\n alt: 'mobileBackgroundImage',\n url: 'https://images.unsplash.com/photo-1484807352052-23338990c6c6',\n thumbnailURL: 'https://images.unsplash.com/photo-1484807352052-23338990c6c6',\n mimeType: 'image/jpeg',\n },\n primaryButton: {\n text: 'Shop Now',\n link: '/shop',\n },\n secondaryButton: {\n text: 'Learn More',\n link: '/learn',\n },\n shape: 'square',\n },\n },\n}\n\n// \u5706\u89D2\u98CE\u683C\nexport const Round: Story = {\n args: {\n data: {\n title: 'Become a Member Today',\n description:\n 'Gain early access to new products, exclusive deals, and opportunities to try our products for free.',\n backgroundImage: {\n url: 'https://images.unsplash.com/photo-1484807352052-23338990c6c6',\n alt: 'backgroundImage',\n thumbnailURL: 'https://images.unsplash.com/photo-1484807352052-23338990c6c6',\n mimeType: 'image/jpeg',\n },\n primaryButton: {\n text: 'Shop Now',\n link: '/shop',\n },\n secondaryButton: {\n text: 'Learn More',\n link: '/learn',\n },\n shape: 'rounded',\n },\n },\n}\n\n// \u81EA\u5B9A\u4E49\u6309\u94AE\nexport const CustomButtons: Story = {\n args: {\n data: {\n ...Default.args?.data,\n title: 'Premium Experience',\n description: 'Join our community to get early access to new products and exclusive member benefits.',\n backgroundImage: {\n alt: 'backgroundImage',\n url: 'https://images.unsplash.com/photo-1505740420928-5e560c06d30e',\n thumbnailURL: 'https://images.unsplash.com/photo-1505740420928-5e560c06d30e',\n mimeType: 'image/jpeg',\n },\n mobileBackgroundImage: {\n alt: 'mobileBackgroundImage',\n url: 'https://images.unsplash.com/photo-1505740420928-5e560c06d30e',\n thumbnailURL: 'https://images.unsplash.com/photo-1505740420928-5e560c06d30e',\n mimeType: 'image/jpeg',\n },\n primaryButton: {\n text: 'Join Now',\n link: '/join',\n },\n secondaryButton: {\n text: 'Explore Benefits',\n link: '/benefits',\n },\n },\n },\n}\n\n// \u81EA\u5B9A\u4E49\u6837\u5F0F\nexport const CustomStyles: Story = {\n args: {\n data: {\n title: 'Become a Member Today and opportunities',\n description:\n 'Gain early access to new products, exclusive deals, and opportunities to try our products for free.',\n backgroundImage: {\n alt: 'backgroundImage',\n url: 'https://images.unsplash.com/photo-1484807352052-23338990c6c6',\n thumbnailURL: 'https://images.unsplash.com/photo-1484807352052-23338990c6c6',\n mimeType: 'image/jpeg',\n },\n mobileBackgroundImage: {\n alt: 'mobileBackgroundImage',\n url: 'https://images.unsplash.com/photo-1484807352052-23338990c6c6',\n thumbnailURL: 'https://images.unsplash.com/photo-1484807352052-23338990c6c6',\n mimeType: 'image/jpeg',\n },\n primaryButton: {\n text: 'Shop Now',\n link: '/shop',\n },\n secondaryButton: {\n text: 'Learn More',\n link: '/learn',\n },\n shape: 'square',\n },\n style: `\n .member-equity-title {\n background: linear-gradient(\n 90deg,\n #FFD700, /* \u91D1\u8272 (Gold) */\n #FFC000, /* \u4EAE\u91D1\u8272 (Light Gold) */\n #FFA500, /* \u6A59\u8272 (Orange) */\n #FF8C00, /* \u6DF1\u6A59\u8272 (Dark Orange) */\n #FF6B00 /* \u6A59\u7EA2\u8272 (Red-Orange) */\n );\n -webkit-background-clip: text; /* \u517C\u5BB9 WebKit \u6D4F\u89C8\u5668 */\n background-clip: text;\n color: transparent; /* \u9690\u85CF\u539F\u59CB\u6587\u5B57\u989C\u8272 */\n }\n .member-equity-description {\n color: blue;\n }\n .member-equity-button-primary {\n color: green;\n }\n `,\n },\n}\n"],
5
- "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,mBAAAE,EAAA,iBAAAC,EAAA,YAAAC,EAAA,UAAAC,EAAA,YAAAC,IAAA,eAAAC,EAAAP,GACA,IAAAQ,EAAyB,sDAEzB,MAAMC,EAAkC,CACtC,MAAO,8BACP,UAAW,EAAAC,QACX,WAAY,CACV,OAAQ,aACR,KAAM,CACJ,YAAa,CACX,UAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAUb,CACF,CACF,EACA,KAAM,CAAC,UAAU,CACnB,EAEA,IAAOJ,EAAQG,EAIR,MAAML,EAAiB,CAC5B,KAAM,CACJ,KAAM,CACJ,MAAO,wBACP,YACE,sGACF,gBAAiB,CACf,IAAK,kBACL,IAAK,+DACL,aAAc,+DACd,SAAU,YACZ,EACA,sBAAuB,CACrB,IAAK,wBACL,IAAK,+DACL,aAAc,+DACd,SAAU,YACZ,EACA,cAAe,CACb,KAAM,WACN,KAAM,OACR,EACA,gBAAiB,CACf,KAAM,aACN,KAAM,QACR,EACA,MAAO,QACT,CACF,CACF,EAGaC,EAAe,CAC1B,KAAM,CACJ,KAAM,CACJ,MAAO,wBACP,YACE,sGACF,gBAAiB,CACf,IAAK,+DACL,IAAK,kBACL,aAAc,+DACd,SAAU,YACZ,EACA,cAAe,CACb,KAAM,WACN,KAAM,OACR,EACA,gBAAiB,CACf,KAAM,aACN,KAAM,QACR,EACA,MAAO,SACT,CACF,CACF,EAGaH,EAAuB,CAClC,KAAM,CACJ,KAAM,CACJ,GAAGE,EAAQ,MAAM,KACjB,MAAO,qBACP,YAAa,wFACb,gBAAiB,CACf,IAAK,kBACL,IAAK,+DACL,aAAc,+DACd,SAAU,YACZ,EACA,sBAAuB,CACrB,IAAK,wBACL,IAAK,+DACL,aAAc,+DACd,SAAU,YACZ,EACA,cAAe,CACb,KAAM,WACN,KAAM,OACR,EACA,gBAAiB,CACf,KAAM,mBACN,KAAM,WACR,CACF,CACF,CACF,EAGaD,EAAsB,CACjC,KAAM,CACJ,KAAM,CACJ,MAAO,0CACP,YACE,sGACF,gBAAiB,CACf,IAAK,kBACL,IAAK,+DACL,aAAc,+DACd,SAAU,YACZ,EACA,sBAAuB,CACrB,IAAK,wBACL,IAAK,+DACL,aAAc,+DACd,SAAU,YACZ,EACA,cAAe,CACb,KAAM,WACN,KAAM,OACR,EACA,gBAAiB,CACf,KAAM,aACN,KAAM,QACR,EACA,MAAO,QACT,EACA,MAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAqBT,CACF",
4
+ "sourcesContent": ["import type { Meta, StoryObj } from '@storybook/react'\nimport MemberEquity from '../biz-components/MemberEquity/index.js'\n\nconst meta: Meta<typeof MemberEquity> = {\n title: 'Biz-Components/MemberEquity',\n component: MemberEquity,\n parameters: {\n layout: 'fullscreen',\n docs: {\n description: {\n component: ` \nMemberEquity \u7EC4\u4EF6\u662F\u7528\u4E8E\u5C55\u793A\u4F1A\u5458\u6743\u76CA\u7684\u7EC4\u4EF6\u3002 \n\n\n### \u81EA\u5B9A\u4E49style \u53EF\u7528class \n.member-equity-title \n.member-equity-description \n.member-equity-button-primary \n.member-equity-button-secondary \n `,\n },\n },\n },\n tags: ['autodocs'],\n}\n\nexport default meta\ntype Story = StoryObj<typeof MemberEquity>\n\n// \u9ED8\u8BA4\u6837\u5F0F - \u65B9\u5F62\nexport const Default: Story = {\n args: {\n data: {\n title: 'Become a Member Today',\n description:\n 'Gain early access to new products, exclusive deals, and opportunities to try our products for free.',\n backgroundImage: {\n alt: 'backgroundImage',\n url: 'https://images.unsplash.com/photo-1484807352052-23338990c6c6',\n thumbnailURL: 'https://images.unsplash.com/photo-1484807352052-23338990c6c6',\n mimeType: 'image/jpeg',\n },\n mobileBackgroundImage: {\n alt: 'mobileBackgroundImage',\n url: 'https://images.unsplash.com/photo-1484807352052-23338990c6c6',\n thumbnailURL: 'https://images.unsplash.com/photo-1484807352052-23338990c6c6',\n mimeType: 'image/jpeg',\n },\n primaryButton: {\n text: 'Shop Now',\n link: '/shop',\n },\n secondaryButton: {\n text: 'Learn More',\n link: '/learn',\n },\n primaryButtonHandler: () => {\n alert('primaryButtonHandler is triggered')\n },\n secondaryButtonHandler: () => {\n console.log('secondaryButtonHandler')\n },\n shape: 'square',\n },\n },\n}\n\n// \u5706\u89D2\u98CE\u683C\nexport const Round: Story = {\n args: {\n data: {\n title: 'Become a Member Today',\n description:\n 'Gain early access to new products, exclusive deals, and opportunities to try our products for free.',\n backgroundImage: {\n url: 'https://images.unsplash.com/photo-1484807352052-23338990c6c6',\n alt: 'backgroundImage',\n thumbnailURL: 'https://images.unsplash.com/photo-1484807352052-23338990c6c6',\n mimeType: 'image/jpeg',\n },\n primaryButton: {\n text: 'Shop Now',\n link: '/shop',\n },\n secondaryButton: {\n text: 'Learn More',\n link: '/learn',\n },\n shape: 'rounded',\n },\n },\n}\n\n// \u81EA\u5B9A\u4E49\u6309\u94AE\nexport const CustomButtons: Story = {\n args: {\n data: {\n ...Default.args?.data,\n title: 'Premium Experience',\n description: 'Join our community to get early access to new products and exclusive member benefits.',\n backgroundImage: {\n alt: 'backgroundImage',\n url: 'https://images.unsplash.com/photo-1505740420928-5e560c06d30e',\n thumbnailURL: 'https://images.unsplash.com/photo-1505740420928-5e560c06d30e',\n mimeType: 'image/jpeg',\n },\n mobileBackgroundImage: {\n alt: 'mobileBackgroundImage',\n url: 'https://images.unsplash.com/photo-1505740420928-5e560c06d30e',\n thumbnailURL: 'https://images.unsplash.com/photo-1505740420928-5e560c06d30e',\n mimeType: 'image/jpeg',\n },\n primaryButton: {\n text: 'Join Now',\n link: '/join',\n },\n secondaryButton: {\n text: 'Explore Benefits',\n link: '/benefits',\n },\n },\n },\n}\n\n// \u81EA\u5B9A\u4E49\u6837\u5F0F\nexport const CustomStyles: Story = {\n args: {\n data: {\n title: 'Become a Member Today and opportunities',\n description:\n 'Gain early access to new products, exclusive deals, and opportunities to try our products for free.',\n backgroundImage: {\n alt: 'backgroundImage',\n url: 'https://images.unsplash.com/photo-1484807352052-23338990c6c6',\n thumbnailURL: 'https://images.unsplash.com/photo-1484807352052-23338990c6c6',\n mimeType: 'image/jpeg',\n },\n mobileBackgroundImage: {\n alt: 'mobileBackgroundImage',\n url: 'https://images.unsplash.com/photo-1484807352052-23338990c6c6',\n thumbnailURL: 'https://images.unsplash.com/photo-1484807352052-23338990c6c6',\n mimeType: 'image/jpeg',\n },\n primaryButton: {\n text: 'Shop Now',\n link: '/shop',\n },\n secondaryButton: {\n text: 'Learn More',\n link: '/learn',\n },\n shape: 'square',\n },\n style: `\n .member-equity-title {\n background: linear-gradient(\n 90deg,\n #FFD700, /* \u91D1\u8272 (Gold) */\n #FFC000, /* \u4EAE\u91D1\u8272 (Light Gold) */\n #FFA500, /* \u6A59\u8272 (Orange) */\n #FF8C00, /* \u6DF1\u6A59\u8272 (Dark Orange) */\n #FF6B00 /* \u6A59\u7EA2\u8272 (Red-Orange) */\n );\n -webkit-background-clip: text; /* \u517C\u5BB9 WebKit \u6D4F\u89C8\u5668 */\n background-clip: text;\n color: transparent; /* \u9690\u85CF\u539F\u59CB\u6587\u5B57\u989C\u8272 */\n }\n .member-equity-description {\n color: blue;\n }\n .member-equity-button-primary {\n color: green;\n }\n `,\n },\n}\n"],
5
+ "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,mBAAAE,EAAA,iBAAAC,EAAA,YAAAC,EAAA,UAAAC,EAAA,YAAAC,IAAA,eAAAC,EAAAP,GACA,IAAAQ,EAAyB,sDAEzB,MAAMC,EAAkC,CACtC,MAAO,8BACP,UAAW,EAAAC,QACX,WAAY,CACV,OAAQ,aACR,KAAM,CACJ,YAAa,CACX,UAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAUb,CACF,CACF,EACA,KAAM,CAAC,UAAU,CACnB,EAEA,IAAOJ,EAAQG,EAIR,MAAML,EAAiB,CAC5B,KAAM,CACJ,KAAM,CACJ,MAAO,wBACP,YACE,sGACF,gBAAiB,CACf,IAAK,kBACL,IAAK,+DACL,aAAc,+DACd,SAAU,YACZ,EACA,sBAAuB,CACrB,IAAK,wBACL,IAAK,+DACL,aAAc,+DACd,SAAU,YACZ,EACA,cAAe,CACb,KAAM,WACN,KAAM,OACR,EACA,gBAAiB,CACf,KAAM,aACN,KAAM,QACR,EACA,qBAAsB,IAAM,CAC1B,MAAM,mCAAmC,CAC3C,EACA,uBAAwB,IAAM,CAC5B,QAAQ,IAAI,wBAAwB,CACtC,EACA,MAAO,QACT,CACF,CACF,EAGaC,EAAe,CAC1B,KAAM,CACJ,KAAM,CACJ,MAAO,wBACP,YACE,sGACF,gBAAiB,CACf,IAAK,+DACL,IAAK,kBACL,aAAc,+DACd,SAAU,YACZ,EACA,cAAe,CACb,KAAM,WACN,KAAM,OACR,EACA,gBAAiB,CACf,KAAM,aACN,KAAM,QACR,EACA,MAAO,SACT,CACF,CACF,EAGaH,EAAuB,CAClC,KAAM,CACJ,KAAM,CACJ,GAAGE,EAAQ,MAAM,KACjB,MAAO,qBACP,YAAa,wFACb,gBAAiB,CACf,IAAK,kBACL,IAAK,+DACL,aAAc,+DACd,SAAU,YACZ,EACA,sBAAuB,CACrB,IAAK,wBACL,IAAK,+DACL,aAAc,+DACd,SAAU,YACZ,EACA,cAAe,CACb,KAAM,WACN,KAAM,OACR,EACA,gBAAiB,CACf,KAAM,mBACN,KAAM,WACR,CACF,CACF,CACF,EAGaD,EAAsB,CACjC,KAAM,CACJ,KAAM,CACJ,MAAO,0CACP,YACE,sGACF,gBAAiB,CACf,IAAK,kBACL,IAAK,+DACL,aAAc,+DACd,SAAU,YACZ,EACA,sBAAuB,CACrB,IAAK,wBACL,IAAK,+DACL,aAAc,+DACd,SAAU,YACZ,EACA,cAAe,CACb,KAAM,WACN,KAAM,OACR,EACA,gBAAiB,CACf,KAAM,aACN,KAAM,QACR,EACA,MAAO,QACT,EACA,MAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAqBT,CACF",
6
6
  "names": ["MemberEquity_stories_exports", "__export", "CustomButtons", "CustomStyles", "Default", "Round", "MemberEquity_stories_default", "__toCommonJS", "import_MemberEquity", "meta", "MemberEquity"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var n=Object.create;var a=Object.defineProperty;var s=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var h=Object.getPrototypeOf,u=Object.prototype.hasOwnProperty;var x=(t,e)=>{for(var o in e)a(t,o,{get:e[o],enumerable:!0})},r=(t,e,o,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let l of c(e))!u.call(t,l)&&l!==o&&a(t,l,{get:()=>e[l],enumerable:!(i=s(e,l))||i.enumerable});return t};var d=(t,e,o)=>(o=t!=null?n(h(t)):{},r(e||!t||!t.__esModule?a(o,"default",{value:t,enumerable:!0}):o,t)),g=t=>r(a({},"__esModule",{value:!0}),t);var f={};x(f,{Default:()=>U,ThirdWidth:()=>I,WithCarousel:()=>L,default:()=>k});module.exports=g(f);var b=require("react"),m=d(require("../biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js")),M=require("gsap"),R=require("@gsap/react"),w=require("gsap/dist/ScrollTrigger"),j=require("gsap/dist/SplitText");const y={title:"Biz-Components/MultiLayoutGraphicBlock",component:m.default,tags:["autodocs"],parameters:{layout:"fullscreen",docs:{description:{component:"\u591A\u5E03\u5C40\u56FE\u6587\u533A\u5757\uFF0C\u652F\u6301\u4E0D\u540C\u5BBD\u5EA6\u3001\u4E3B\u9898\u548C\u8F6E\u64AD\u3002"}}}};var k=y;const p=[{theme:"light",title:"\u6807\u98981",description:"\u8FD9\u662F\u7B2C\u4E00\u4E2A\u533A\u5757\u7684\u63CF\u8FF0",imageUrl:"https://placehold.co/1920x1080?text=Image1",primaryButton:{text:"\u4E3B\u6309\u94AE",link:"#"},secondaryButton:{text:"\u6B21\u6309\u94AE",link:"#"},width:"full"},{theme:"dark",title:"\u6807\u98982",description:"\u8FD9\u662F\u7B2C\u4E8C\u4E2A\u533A\u5757\u7684\u63CF\u8FF0",imageUrl:"https://placehold.co/200x240?text=Image2",primaryButton:{text:"\u4E3B\u6309\u94AE",link:"#"},secondaryButton:{text:"\u6B21\u6309\u94AE",link:"#"},width:"half"},{theme:"light",title:"\u6807\u98983",description:"\u8FD9\u662F\u7B2C\u4E09\u4E2A\u533A\u5757\u7684\u63CF\u8FF0",imageUrl:{url:"https://placehold.co/200x240?text=Image3",alt:"Image3",thumbnailURL:"https://placehold.co/200x240?text=Image3",mimeType:"image/png"},primaryButton:{text:"\u4E3B\u6309\u94AE",link:"#"},secondaryButton:{text:"\u6B21\u6309\u94AE",link:"#"},width:"half"}],B=[{theme:"dark",title:"\u8F6E\u64AD1",description:"\u8F6E\u64AD\u533A\u57571",imageUrl:{url:"https://placehold.co/200x240?text=Carousel1",alt:"Carousel1",thumbnailURL:"https://placehold.co/200x240?text=Carousel1",mimeType:"image/png"},primaryButton:{text:"\u4E3B\u6309\u94AE",link:"#"},secondaryButton:{text:"\u6B21\u6309\u94AE",link:"#"}},{theme:"light",title:"\u8F6E\u64AD2",description:"\u8F6E\u64AD\u533A\u57572",imageUrl:{url:"https://placehold.co/200x240?text=Carousel2",alt:"Carousel2",thumbnailURL:"https://placehold.co/200x240?text=Carousel2",mimeType:"image/png"},primaryButton:{text:"\u4E3B\u6309\u94AE",link:"#"},secondaryButton:{text:"\u6B21\u6309\u94AE",link:"#"}},{theme:"light",title:"\u8F6E\u64AD3",description:"\u8F6E\u64AD\u533A\u57573",imageUrl:"https://placehold.co/200x240?text=Carousel2",primaryButton:{text:"\u4E3B\u6309\u94AE",link:"#"},secondaryButton:{text:"\u6B21\u6309\u94AE",link:"#"}},{theme:"light",title:"\u8F6E\u64AD4",description:"\u8F6E\u64AD\u533A\u57574",imageUrl:{url:"https://placehold.co/200x240?text=Carousel2",alt:"Carousel2",thumbnailURL:"https://placehold.co/200x240?text=Carousel2",mimeType:"image/png"},primaryButton:{text:"\u4E3B\u6309\u94AE",link:"#"},secondaryButton:{text:"\u6B21\u6309\u94AE",link:"#"}},{theme:"light",title:"\u8F6E\u64AD5",description:"\u8F6E\u64AD\u533A\u57575",imageUrl:{url:"https://placehold.co/200x240?text=Carousel2",alt:"Carousel2",thumbnailURL:"https://placehold.co/200x240?text=Carousel2",mimeType:"image/png"},primaryButton:{text:"\u4E3B\u6309\u94AE",link:"#"},secondaryButton:{text:"\u6B21\u6309\u94AE",link:"#"}}],U={args:{data:{items:p,carousel:{items:[]}}}},I={args:{data:{items:[{theme:"light",title:"\u6807\u98981",description:"\u8FD9\u662F\u7B2C\u4E00\u4E2A\u533A\u5757\u7684\u63CF\u8FF0",imageUrl:{url:"https://placehold.co/1920x1080?text=Image1",alt:"Image1",thumbnailURL:"https://placehold.co/1920x1080?text=Image1",mimeType:"image/png"},primaryButton:{text:"\u4E3B\u6309\u94AE",link:"#"},secondaryButton:{text:"\u6B21\u6309\u94AE",link:"#"},width:"full"},{theme:"dark",title:"\u6807\u98982",description:"\u8FD9\u662F\u7B2C\u4E8C\u4E2A\u533A\u5757\u7684\u63CF\u8FF0",imageUrl:{url:"https://placehold.co/200x240?text=Image2",alt:"Image2",thumbnailURL:"https://placehold.co/200x240?text=Image2",mimeType:"image/png"},primaryButton:{text:"\u4E3B\u6309\u94AE",link:"#"},secondaryButton:{text:"\u6B21\u6309\u94AE",link:"#"},width:"one-third"},{theme:"light",title:"\u6807\u98983",description:"\u8FD9\u662F\u7B2C\u4E09\u4E2A\u533A\u5757\u7684\u63CF\u8FF0",imageUrl:{url:"https://placehold.co/200x240?text=Image3",alt:"Image3",thumbnailURL:"https://placehold.co/200x240?text=Image3",mimeType:"image/png"},primaryButton:{text:"\u4E3B\u6309\u94AE",link:"#"},secondaryButton:{text:"\u6B21\u6309\u94AE",link:"#"},width:"one-third"},{theme:"light",title:"\u6807\u98984",description:"\u8FD9\u662F\u7B2C4\u4E2A\u533A\u5757\u7684\u63CF\u8FF0",imageUrl:{url:"https://placehold.co/200x240?text=Image3",alt:"Image3",thumbnailURL:"https://placehold.co/200x240?text=Image3",mimeType:"image/png"},primaryButton:{text:"\u4E3B\u6309\u94AE",link:"#"},secondaryButton:{text:"\u6B21\u6309\u94AE",link:"#"},width:"one-third"}]}}},L={args:{data:{items:p.slice(0,1),carousel:{items:B}}}};
1
+ "use strict";var n=Object.create;var o=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var s=Object.getOwnPropertyNames;var h=Object.getPrototypeOf,u=Object.prototype.hasOwnProperty;var g=(t,e)=>{for(var l in e)o(t,l,{get:e[l],enumerable:!0})},m=(t,e,l,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of s(e))!u.call(t,a)&&a!==l&&o(t,a,{get:()=>e[a],enumerable:!(i=c(e,a))||i.enumerable});return t};var x=(t,e,l)=>(l=t!=null?n(h(t)):{},m(e||!t||!t.__esModule?o(l,"default",{value:t,enumerable:!0}):l,t)),d=t=>m(o({},"__esModule",{value:!0}),t);var b={};g(b,{Default:()=>I,ThirdWidth:()=>U,WithCarousel:()=>L,default:()=>k});module.exports=d(b);var r=x(require("../biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js"));const y={title:"Biz-Components/MultiLayoutGraphicBlock",component:r.default,tags:["autodocs"],parameters:{layout:"fullscreen",docs:{description:{component:"\u591A\u5E03\u5C40\u56FE\u6587\u533A\u5757\uFF0C\u652F\u6301\u4E0D\u540C\u5BBD\u5EA6\u3001\u4E3B\u9898\u548C\u8F6E\u64AD\u3002"}}}};var k=y;const p=[{theme:"light",title:"\u6807\u98981",description:"\u8FD9\u662F\u7B2C\u4E00\u4E2A\u533A\u5757\u7684\u63CF\u8FF0",imageUrl:{url:"https://placehold.co/1920x1080?text=Image1",alt:"Image1",thumbnailURL:"https://placehold.co/1920x1080?text=Image1",mimeType:"image/png"},imageMobileUrl:{url:"https://placehold.co/1920x1080?text=Image1",alt:"Image1",thumbnailURL:"https://placehold.co/1920x1080?text=Image1",mimeType:"image/png"},primaryButton:{text:"\u4E3B\u6309\u94AE",link:"#"},secondaryButton:{text:"\u6B21\u6309\u94AE",link:"#"},width:"full",blockLink:"/this-is-a-link"},{theme:"dark",title:"\u6807\u98982",description:"\u8FD9\u662F\u7B2C\u4E8C\u4E2A\u533A\u5757\u7684\u63CF\u8FF0",imageUrl:{url:"https://placehold.co/200x240?text=Image2",alt:"Image2",thumbnailURL:"https://placehold.co/200x240?text=Image2",mimeType:"image/png"},imageMobileUrl:{url:"https://placehold.co/200x240?text=Image2",alt:"Image2",thumbnailURL:"https://placehold.co/200x240?text=Image2",mimeType:"image/png"},primaryButton:{text:"\u4E3B\u6309\u94AE",link:"#"},secondaryButton:{text:"\u6B21\u6309\u94AE",link:"#"},width:"half"},{theme:"light",title:"\u6807\u98983",description:"\u8FD9\u662F\u7B2C\u4E09\u4E2A\u533A\u5757\u7684\u63CF\u8FF0",imageUrl:{url:"https://placehold.co/200x240?text=Image3",alt:"Image3",thumbnailURL:"https://placehold.co/200x240?text=Image3",mimeType:"image/png"},imageMobileUrl:{url:"https://placehold.co/200x240?text=Image2",alt:"Image2",thumbnailURL:"https://placehold.co/200x240?text=Image2",mimeType:"image/png"},primaryButton:{text:"\u4E3B\u6309\u94AE",link:"#"},secondaryButton:{text:"\u6B21\u6309\u94AE",link:"#"},width:"half"}],B=[{theme:"dark",title:"\u8F6E\u64AD1",description:"\u8F6E\u64AD\u533A\u57571",imageUrl:{url:"https://placehold.co/200x240?text=Carousel1",alt:"Carousel1",thumbnailURL:"https://placehold.co/200x240?text=Carousel1",mimeType:"image/png"},primaryButton:{text:"\u4E3B\u6309\u94AE",link:"#"},secondaryButton:{text:"\u6B21\u6309\u94AE",link:"#"}},{theme:"light",title:"\u8F6E\u64AD2",description:"\u8F6E\u64AD\u533A\u57572",imageUrl:{url:"https://placehold.co/200x240?text=Carousel2",alt:"Carousel2",thumbnailURL:"https://placehold.co/200x240?text=Carousel2",mimeType:"image/png"},primaryButton:{text:"\u4E3B\u6309\u94AE",link:"#"},secondaryButton:{text:"\u6B21\u6309\u94AE",link:"#"}},{theme:"light",title:"\u8F6E\u64AD3",description:"\u8F6E\u64AD\u533A\u57573",imageUrl:"https://placehold.co/200x240?text=Carousel2",primaryButton:{text:"\u4E3B\u6309\u94AE",link:"#"},secondaryButton:{text:"\u6B21\u6309\u94AE",link:"#"}},{theme:"light",title:"\u8F6E\u64AD4",description:"\u8F6E\u64AD\u533A\u57574",imageUrl:{url:"https://placehold.co/200x240?text=Carousel2",alt:"Carousel2",thumbnailURL:"https://placehold.co/200x240?text=Carousel2",mimeType:"image/png"},primaryButton:{text:"\u4E3B\u6309\u94AE",link:"#"},secondaryButton:{text:"\u6B21\u6309\u94AE",link:"#"}},{theme:"light",title:"\u8F6E\u64AD5",description:"\u8F6E\u64AD\u533A\u57575",imageUrl:{url:"https://placehold.co/200x240?text=Carousel2",alt:"Carousel2",thumbnailURL:"https://placehold.co/200x240?text=Carousel2",mimeType:"image/png"},primaryButton:{text:"\u4E3B\u6309\u94AE",link:"#"},secondaryButton:{text:"\u6B21\u6309\u94AE",link:"#"}}],I={args:{data:{items:p,carousel:{items:[]}}}},U={args:{data:{items:[{theme:"light",title:"\u6807\u98981",description:"\u8FD9\u662F\u7B2C\u4E00\u4E2A\u533A\u5757\u7684\u63CF\u8FF0",imageUrl:{url:"https://placehold.co/1920x1080?text=Image1",alt:"Image1",thumbnailURL:"https://placehold.co/1920x1080?text=Image1",mimeType:"image/png"},primaryButton:{text:"\u4E3B\u6309\u94AE",link:"#"},secondaryButton:{text:"\u6B21\u6309\u94AE",link:"#"},width:"full"},{theme:"dark",title:"\u6807\u98982",description:"\u8FD9\u662F\u7B2C\u4E8C\u4E2A\u533A\u5757\u7684\u63CF\u8FF0",imageUrl:{url:"https://placehold.co/200x240?text=Image2",alt:"Image2",thumbnailURL:"https://placehold.co/200x240?text=Image2",mimeType:"image/png"},primaryButton:{text:"\u4E3B\u6309\u94AE",link:"#"},secondaryButton:{text:"\u6B21\u6309\u94AE",link:"#"},width:"one-third"},{theme:"light",title:"\u6807\u98983",description:"\u8FD9\u662F\u7B2C\u4E09\u4E2A\u533A\u5757\u7684\u63CF\u8FF0",imageUrl:{url:"https://placehold.co/200x240?text=Image3",alt:"Image3",thumbnailURL:"https://placehold.co/200x240?text=Image3",mimeType:"image/png"},primaryButton:{text:"\u4E3B\u6309\u94AE",link:"#"},secondaryButton:{text:"\u6B21\u6309\u94AE",link:"#"},width:"one-third"},{theme:"light",title:"\u6807\u98984",description:"\u8FD9\u662F\u7B2C4\u4E2A\u533A\u5757\u7684\u63CF\u8FF0",imageUrl:{url:"https://placehold.co/200x240?text=Image3",alt:"Image3",thumbnailURL:"https://placehold.co/200x240?text=Image3",mimeType:"image/png"},primaryButton:{text:"\u4E3B\u6309\u94AE",link:"#"},secondaryButton:{text:"\u6B21\u6309\u94AE",link:"#"},width:"one-third"}]}}},L={args:{data:{items:p.slice(0,1),carousel:{items:B}}}};
2
2
  //# sourceMappingURL=MultiLayoutGraphicBlock.stories.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/stories/MultiLayoutGraphicBlock.stories.tsx"],
4
- "sourcesContent": ["import type { Meta, StoryObj } from '@storybook/react'\nimport React from 'react'\nimport MultiLayoutGraphicBlock from '../biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js'\nimport type { MultiLayoutGraphicBlockProps } from '../biz-components/MultiLayoutGraphicBlock/types.js'\nimport { gsap } from 'gsap'\nimport { useGSAP } from '@gsap/react'\nimport { ScrollTrigger } from 'gsap/dist/ScrollTrigger'\nimport { SplitText } from 'gsap/dist/SplitText'\n\nconst meta: Meta<typeof MultiLayoutGraphicBlock> = {\n title: 'Biz-Components/MultiLayoutGraphicBlock',\n component: MultiLayoutGraphicBlock,\n tags: ['autodocs'],\n parameters: {\n layout: 'fullscreen',\n docs: {\n description: {\n component: '\u591A\u5E03\u5C40\u56FE\u6587\u533A\u5757\uFF0C\u652F\u6301\u4E0D\u540C\u5BBD\u5EA6\u3001\u4E3B\u9898\u548C\u8F6E\u64AD\u3002',\n },\n },\n },\n}\n\nexport default meta\n\ntype Story = StoryObj<typeof MultiLayoutGraphicBlock>\n\nconst baseItems = [\n {\n theme: 'light',\n title: '\u6807\u98981',\n description: '\u8FD9\u662F\u7B2C\u4E00\u4E2A\u533A\u5757\u7684\u63CF\u8FF0',\n imageUrl: 'https://placehold.co/1920x1080?text=Image1',\n primaryButton: { text: '\u4E3B\u6309\u94AE', link: '#' },\n secondaryButton: { text: '\u6B21\u6309\u94AE', link: '#' },\n width: 'full' as const,\n },\n {\n theme: 'dark',\n title: '\u6807\u98982',\n description: '\u8FD9\u662F\u7B2C\u4E8C\u4E2A\u533A\u5757\u7684\u63CF\u8FF0',\n imageUrl: 'https://placehold.co/200x240?text=Image2',\n primaryButton: { text: '\u4E3B\u6309\u94AE', link: '#' },\n secondaryButton: { text: '\u6B21\u6309\u94AE', link: '#' },\n width: 'half' as const,\n },\n {\n theme: 'light',\n title: '\u6807\u98983',\n description: '\u8FD9\u662F\u7B2C\u4E09\u4E2A\u533A\u5757\u7684\u63CF\u8FF0',\n imageUrl: {\n url: 'https://placehold.co/200x240?text=Image3',\n alt: 'Image3',\n thumbnailURL: 'https://placehold.co/200x240?text=Image3',\n mimeType: 'image/png',\n },\n primaryButton: { text: '\u4E3B\u6309\u94AE', link: '#' },\n secondaryButton: { text: '\u6B21\u6309\u94AE', link: '#' },\n width: 'half' as const,\n },\n]\n\nconst carouselItems = [\n {\n theme: 'dark',\n title: '\u8F6E\u64AD1',\n description: '\u8F6E\u64AD\u533A\u57571',\n imageUrl: {\n url: 'https://placehold.co/200x240?text=Carousel1',\n alt: 'Carousel1',\n thumbnailURL: 'https://placehold.co/200x240?text=Carousel1',\n mimeType: 'image/png',\n },\n primaryButton: { text: '\u4E3B\u6309\u94AE', link: '#' },\n secondaryButton: { text: '\u6B21\u6309\u94AE', link: '#' },\n },\n {\n theme: 'light',\n title: '\u8F6E\u64AD2',\n description: '\u8F6E\u64AD\u533A\u57572',\n imageUrl: {\n url: 'https://placehold.co/200x240?text=Carousel2',\n alt: 'Carousel2',\n thumbnailURL: 'https://placehold.co/200x240?text=Carousel2',\n mimeType: 'image/png',\n },\n primaryButton: { text: '\u4E3B\u6309\u94AE', link: '#' },\n secondaryButton: { text: '\u6B21\u6309\u94AE', link: '#' },\n },\n {\n theme: 'light',\n title: '\u8F6E\u64AD3',\n description: '\u8F6E\u64AD\u533A\u57573',\n imageUrl: 'https://placehold.co/200x240?text=Carousel2',\n primaryButton: { text: '\u4E3B\u6309\u94AE', link: '#' },\n secondaryButton: { text: '\u6B21\u6309\u94AE', link: '#' },\n },\n {\n theme: 'light',\n title: '\u8F6E\u64AD4',\n description: '\u8F6E\u64AD\u533A\u57574',\n imageUrl: {\n url: 'https://placehold.co/200x240?text=Carousel2',\n alt: 'Carousel2',\n thumbnailURL: 'https://placehold.co/200x240?text=Carousel2',\n mimeType: 'image/png',\n },\n primaryButton: { text: '\u4E3B\u6309\u94AE', link: '#' },\n secondaryButton: { text: '\u6B21\u6309\u94AE', link: '#' },\n },\n {\n theme: 'light',\n title: '\u8F6E\u64AD5',\n description: '\u8F6E\u64AD\u533A\u57575',\n imageUrl: {\n url: 'https://placehold.co/200x240?text=Carousel2',\n alt: 'Carousel2',\n thumbnailURL: 'https://placehold.co/200x240?text=Carousel2',\n mimeType: 'image/png',\n },\n primaryButton: { text: '\u4E3B\u6309\u94AE', link: '#' },\n secondaryButton: { text: '\u6B21\u6309\u94AE', link: '#' },\n },\n]\n\nexport const Default: Story = {\n args: {\n data: {\n items: baseItems,\n carousel: { items: [] },\n },\n } as MultiLayoutGraphicBlockProps,\n}\n\nexport const ThirdWidth: Story = {\n args: {\n data: {\n items: [\n {\n theme: 'light',\n title: '\u6807\u98981',\n description: '\u8FD9\u662F\u7B2C\u4E00\u4E2A\u533A\u5757\u7684\u63CF\u8FF0',\n imageUrl: {\n url: 'https://placehold.co/1920x1080?text=Image1',\n alt: 'Image1',\n thumbnailURL: 'https://placehold.co/1920x1080?text=Image1',\n mimeType: 'image/png',\n },\n primaryButton: { text: '\u4E3B\u6309\u94AE', link: '#' },\n secondaryButton: { text: '\u6B21\u6309\u94AE', link: '#' },\n width: 'full' as const,\n },\n {\n theme: 'dark',\n title: '\u6807\u98982',\n description: '\u8FD9\u662F\u7B2C\u4E8C\u4E2A\u533A\u5757\u7684\u63CF\u8FF0',\n imageUrl: {\n url: 'https://placehold.co/200x240?text=Image2',\n alt: 'Image2',\n thumbnailURL: 'https://placehold.co/200x240?text=Image2',\n mimeType: 'image/png',\n },\n primaryButton: { text: '\u4E3B\u6309\u94AE', link: '#' },\n secondaryButton: { text: '\u6B21\u6309\u94AE', link: '#' },\n width: 'one-third' as const,\n },\n {\n theme: 'light',\n title: '\u6807\u98983',\n description: '\u8FD9\u662F\u7B2C\u4E09\u4E2A\u533A\u5757\u7684\u63CF\u8FF0',\n imageUrl: {\n url: 'https://placehold.co/200x240?text=Image3',\n alt: 'Image3',\n thumbnailURL: 'https://placehold.co/200x240?text=Image3',\n mimeType: 'image/png',\n },\n primaryButton: { text: '\u4E3B\u6309\u94AE', link: '#' },\n secondaryButton: { text: '\u6B21\u6309\u94AE', link: '#' },\n width: 'one-third' as const,\n },\n {\n theme: 'light',\n title: '\u6807\u98984',\n description: '\u8FD9\u662F\u7B2C4\u4E2A\u533A\u5757\u7684\u63CF\u8FF0',\n imageUrl: {\n url: 'https://placehold.co/200x240?text=Image3',\n alt: 'Image3',\n thumbnailURL: 'https://placehold.co/200x240?text=Image3',\n mimeType: 'image/png',\n },\n primaryButton: { text: '\u4E3B\u6309\u94AE', link: '#' },\n secondaryButton: { text: '\u6B21\u6309\u94AE', link: '#' },\n width: 'one-third' as const,\n },\n ],\n },\n } as MultiLayoutGraphicBlockProps,\n}\n\nexport const WithCarousel: Story = {\n args: {\n data: {\n items: baseItems.slice(0, 1),\n carousel: { items: carouselItems },\n },\n } as MultiLayoutGraphicBlockProps,\n}\n"],
5
- "mappings": "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",
6
- "names": ["MultiLayoutGraphicBlock_stories_exports", "__export", "Default", "ThirdWidth", "WithCarousel", "MultiLayoutGraphicBlock_stories_default", "__toCommonJS", "import_react", "import_MultiLayoutGraphicBlock", "import_gsap", "import_ScrollTrigger", "import_SplitText", "meta", "MultiLayoutGraphicBlock", "baseItems", "carouselItems"]
4
+ "sourcesContent": ["import type { Meta, StoryObj } from '@storybook/react'\nimport MultiLayoutGraphicBlock from '../biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js'\nimport type { MultiLayoutGraphicBlockProps } from '../biz-components/MultiLayoutGraphicBlock/types.js'\n\nconst meta: Meta<typeof MultiLayoutGraphicBlock> = {\n title: 'Biz-Components/MultiLayoutGraphicBlock',\n component: MultiLayoutGraphicBlock,\n tags: ['autodocs'],\n parameters: {\n layout: 'fullscreen',\n docs: {\n description: {\n component: '\u591A\u5E03\u5C40\u56FE\u6587\u533A\u5757\uFF0C\u652F\u6301\u4E0D\u540C\u5BBD\u5EA6\u3001\u4E3B\u9898\u548C\u8F6E\u64AD\u3002',\n },\n },\n },\n}\n\nexport default meta\n\ntype Story = StoryObj<typeof MultiLayoutGraphicBlock>\n\nconst baseItems = [\n {\n theme: 'light',\n title: '\u6807\u98981',\n description: '\u8FD9\u662F\u7B2C\u4E00\u4E2A\u533A\u5757\u7684\u63CF\u8FF0',\n imageUrl: {\n url: 'https://placehold.co/1920x1080?text=Image1',\n alt: 'Image1',\n thumbnailURL: 'https://placehold.co/1920x1080?text=Image1',\n mimeType: 'image/png',\n },\n imageMobileUrl: {\n url: 'https://placehold.co/1920x1080?text=Image1',\n alt: 'Image1',\n thumbnailURL: 'https://placehold.co/1920x1080?text=Image1',\n mimeType: 'image/png',\n },\n primaryButton: { text: '\u4E3B\u6309\u94AE', link: '#' },\n secondaryButton: { text: '\u6B21\u6309\u94AE', link: '#' },\n width: 'full' as const,\n blockLink: '/this-is-a-link',\n },\n {\n theme: 'dark',\n title: '\u6807\u98982',\n description: '\u8FD9\u662F\u7B2C\u4E8C\u4E2A\u533A\u5757\u7684\u63CF\u8FF0',\n imageUrl: {\n url: 'https://placehold.co/200x240?text=Image2',\n alt: 'Image2',\n thumbnailURL: 'https://placehold.co/200x240?text=Image2',\n mimeType: 'image/png',\n },\n imageMobileUrl: {\n url: 'https://placehold.co/200x240?text=Image2',\n alt: 'Image2',\n thumbnailURL: 'https://placehold.co/200x240?text=Image2',\n mimeType: 'image/png',\n },\n primaryButton: { text: '\u4E3B\u6309\u94AE', link: '#' },\n secondaryButton: { text: '\u6B21\u6309\u94AE', link: '#' },\n width: 'half' as const,\n },\n {\n theme: 'light',\n title: '\u6807\u98983',\n description: '\u8FD9\u662F\u7B2C\u4E09\u4E2A\u533A\u5757\u7684\u63CF\u8FF0',\n imageUrl: {\n url: 'https://placehold.co/200x240?text=Image3',\n alt: 'Image3',\n thumbnailURL: 'https://placehold.co/200x240?text=Image3',\n mimeType: 'image/png',\n },\n imageMobileUrl: {\n url: 'https://placehold.co/200x240?text=Image2',\n alt: 'Image2',\n thumbnailURL: 'https://placehold.co/200x240?text=Image2',\n mimeType: 'image/png',\n },\n primaryButton: { text: '\u4E3B\u6309\u94AE', link: '#' },\n secondaryButton: { text: '\u6B21\u6309\u94AE', link: '#' },\n width: 'half' as const,\n },\n]\n\nconst carouselItems = [\n {\n theme: 'dark',\n title: '\u8F6E\u64AD1',\n description: '\u8F6E\u64AD\u533A\u57571',\n imageUrl: {\n url: 'https://placehold.co/200x240?text=Carousel1',\n alt: 'Carousel1',\n thumbnailURL: 'https://placehold.co/200x240?text=Carousel1',\n mimeType: 'image/png',\n },\n primaryButton: { text: '\u4E3B\u6309\u94AE', link: '#' },\n secondaryButton: { text: '\u6B21\u6309\u94AE', link: '#' },\n },\n {\n theme: 'light',\n title: '\u8F6E\u64AD2',\n description: '\u8F6E\u64AD\u533A\u57572',\n imageUrl: {\n url: 'https://placehold.co/200x240?text=Carousel2',\n alt: 'Carousel2',\n thumbnailURL: 'https://placehold.co/200x240?text=Carousel2',\n mimeType: 'image/png',\n },\n primaryButton: { text: '\u4E3B\u6309\u94AE', link: '#' },\n secondaryButton: { text: '\u6B21\u6309\u94AE', link: '#' },\n },\n {\n theme: 'light',\n title: '\u8F6E\u64AD3',\n description: '\u8F6E\u64AD\u533A\u57573',\n imageUrl: 'https://placehold.co/200x240?text=Carousel2',\n primaryButton: { text: '\u4E3B\u6309\u94AE', link: '#' },\n secondaryButton: { text: '\u6B21\u6309\u94AE', link: '#' },\n },\n {\n theme: 'light',\n title: '\u8F6E\u64AD4',\n description: '\u8F6E\u64AD\u533A\u57574',\n imageUrl: {\n url: 'https://placehold.co/200x240?text=Carousel2',\n alt: 'Carousel2',\n thumbnailURL: 'https://placehold.co/200x240?text=Carousel2',\n mimeType: 'image/png',\n },\n primaryButton: { text: '\u4E3B\u6309\u94AE', link: '#' },\n secondaryButton: { text: '\u6B21\u6309\u94AE', link: '#' },\n },\n {\n theme: 'light',\n title: '\u8F6E\u64AD5',\n description: '\u8F6E\u64AD\u533A\u57575',\n imageUrl: {\n url: 'https://placehold.co/200x240?text=Carousel2',\n alt: 'Carousel2',\n thumbnailURL: 'https://placehold.co/200x240?text=Carousel2',\n mimeType: 'image/png',\n },\n primaryButton: { text: '\u4E3B\u6309\u94AE', link: '#' },\n secondaryButton: { text: '\u6B21\u6309\u94AE', link: '#' },\n },\n]\n\nexport const Default: Story = {\n args: {\n data: {\n items: baseItems,\n carousel: { items: [] },\n },\n } as MultiLayoutGraphicBlockProps,\n}\n\nexport const ThirdWidth: Story = {\n args: {\n data: {\n items: [\n {\n theme: 'light',\n title: '\u6807\u98981',\n description: '\u8FD9\u662F\u7B2C\u4E00\u4E2A\u533A\u5757\u7684\u63CF\u8FF0',\n imageUrl: {\n url: 'https://placehold.co/1920x1080?text=Image1',\n alt: 'Image1',\n thumbnailURL: 'https://placehold.co/1920x1080?text=Image1',\n mimeType: 'image/png',\n },\n primaryButton: { text: '\u4E3B\u6309\u94AE', link: '#' },\n secondaryButton: { text: '\u6B21\u6309\u94AE', link: '#' },\n width: 'full' as const,\n },\n {\n theme: 'dark',\n title: '\u6807\u98982',\n description: '\u8FD9\u662F\u7B2C\u4E8C\u4E2A\u533A\u5757\u7684\u63CF\u8FF0',\n imageUrl: {\n url: 'https://placehold.co/200x240?text=Image2',\n alt: 'Image2',\n thumbnailURL: 'https://placehold.co/200x240?text=Image2',\n mimeType: 'image/png',\n },\n primaryButton: { text: '\u4E3B\u6309\u94AE', link: '#' },\n secondaryButton: { text: '\u6B21\u6309\u94AE', link: '#' },\n width: 'one-third' as const,\n },\n {\n theme: 'light',\n title: '\u6807\u98983',\n description: '\u8FD9\u662F\u7B2C\u4E09\u4E2A\u533A\u5757\u7684\u63CF\u8FF0',\n imageUrl: {\n url: 'https://placehold.co/200x240?text=Image3',\n alt: 'Image3',\n thumbnailURL: 'https://placehold.co/200x240?text=Image3',\n mimeType: 'image/png',\n },\n primaryButton: { text: '\u4E3B\u6309\u94AE', link: '#' },\n secondaryButton: { text: '\u6B21\u6309\u94AE', link: '#' },\n width: 'one-third' as const,\n },\n {\n theme: 'light',\n title: '\u6807\u98984',\n description: '\u8FD9\u662F\u7B2C4\u4E2A\u533A\u5757\u7684\u63CF\u8FF0',\n imageUrl: {\n url: 'https://placehold.co/200x240?text=Image3',\n alt: 'Image3',\n thumbnailURL: 'https://placehold.co/200x240?text=Image3',\n mimeType: 'image/png',\n },\n primaryButton: { text: '\u4E3B\u6309\u94AE', link: '#' },\n secondaryButton: { text: '\u6B21\u6309\u94AE', link: '#' },\n width: 'one-third' as const,\n },\n ],\n },\n } as MultiLayoutGraphicBlockProps,\n}\n\nexport const WithCarousel: Story = {\n args: {\n data: {\n items: baseItems.slice(0, 1),\n carousel: { items: carouselItems },\n },\n } as MultiLayoutGraphicBlockProps,\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["MultiLayoutGraphicBlock_stories_exports", "__export", "Default", "ThirdWidth", "WithCarousel", "MultiLayoutGraphicBlock_stories_default", "__toCommonJS", "import_MultiLayoutGraphicBlock", "meta", "MultiLayoutGraphicBlock", "baseItems", "carouselItems"]
7
7
  }