@anker-in/headless-ui 0.0.27-alpha.87 → 0.0.27-alpha.88

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 (134) hide show
  1. package/dist/cjs/biz-components/AccordionCards/index.d.ts +1 -2
  2. package/dist/cjs/biz-components/AccordionCards/index.js +1 -1
  3. package/dist/cjs/biz-components/AccordionCards/index.js.map +3 -3
  4. package/dist/cjs/biz-components/Category/index.d.ts +0 -1
  5. package/dist/cjs/biz-components/Category/index.js +1 -1
  6. package/dist/cjs/biz-components/Category/index.js.map +3 -3
  7. package/dist/cjs/biz-components/Evaluate/index.d.ts +0 -1
  8. package/dist/cjs/biz-components/Evaluate/index.js +1 -1
  9. package/dist/cjs/biz-components/Evaluate/index.js.map +3 -3
  10. package/dist/cjs/biz-components/Graphic/index.d.ts +0 -1
  11. package/dist/cjs/biz-components/Graphic/index.js +1 -1
  12. package/dist/cjs/biz-components/Graphic/index.js.map +3 -3
  13. package/dist/cjs/biz-components/GraphicAttractionBlock/index.d.ts +0 -1
  14. package/dist/cjs/biz-components/GraphicAttractionBlock/index.js +1 -1
  15. package/dist/cjs/biz-components/GraphicAttractionBlock/index.js.map +3 -3
  16. package/dist/cjs/biz-components/HeroBanner/HeroBanner.js +1 -1
  17. package/dist/cjs/biz-components/HeroBanner/HeroBanner.js.map +3 -3
  18. package/dist/cjs/biz-components/MediaPlayerBase/index.js +1 -1
  19. package/dist/cjs/biz-components/MediaPlayerBase/index.js.map +3 -3
  20. package/dist/cjs/biz-components/MediaPlayerMulti/index.js +1 -1
  21. package/dist/cjs/biz-components/MediaPlayerMulti/index.js.map +3 -3
  22. package/dist/cjs/biz-components/MediaPlayerMulti/types.d.ts +0 -1
  23. package/dist/cjs/biz-components/MediaPlayerMulti/types.js +1 -1
  24. package/dist/cjs/biz-components/MediaPlayerMulti/types.js.map +1 -1
  25. package/dist/cjs/biz-components/MediaPlayerSticky/index.js +1 -1
  26. package/dist/cjs/biz-components/MediaPlayerSticky/index.js.map +3 -3
  27. package/dist/cjs/biz-components/MediaPlayerSticky/types.d.ts +0 -1
  28. package/dist/cjs/biz-components/MediaPlayerSticky/types.js.map +1 -1
  29. package/dist/cjs/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js +1 -1
  30. package/dist/cjs/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js.map +3 -3
  31. package/dist/cjs/biz-components/MultiLayoutGraphicBlock/types.d.ts +0 -1
  32. package/dist/cjs/biz-components/MultiLayoutGraphicBlock/types.js +1 -1
  33. package/dist/cjs/biz-components/MultiLayoutGraphicBlock/types.js.map +1 -1
  34. package/dist/cjs/biz-components/ShelfDisplay/index.d.ts +0 -1
  35. package/dist/cjs/biz-components/ShelfDisplay/index.js +3 -3
  36. package/dist/cjs/biz-components/ShelfDisplay/index.js.map +3 -3
  37. package/dist/cjs/biz-components/Slogan/index.js +1 -1
  38. package/dist/cjs/biz-components/Slogan/index.js.map +3 -3
  39. package/dist/cjs/biz-components/Slogan/types.d.ts +0 -1
  40. package/dist/cjs/biz-components/Slogan/types.js.map +1 -1
  41. package/dist/cjs/biz-components/Tabs/Tabs.js +1 -1
  42. package/dist/cjs/biz-components/Tabs/Tabs.js.map +3 -3
  43. package/dist/cjs/biz-components/Tabs/types.d.ts +0 -1
  44. package/dist/cjs/biz-components/Tabs/types.js.map +1 -1
  45. package/dist/cjs/biz-components/Title/index.js +1 -1
  46. package/dist/cjs/biz-components/Title/index.js.map +3 -3
  47. package/dist/cjs/biz-components/Title/types.d.ts +0 -1
  48. package/dist/cjs/biz-components/Title/types.js +1 -1
  49. package/dist/cjs/biz-components/Title/types.js.map +1 -1
  50. package/dist/cjs/stories/HeroBanner.stories.js +1 -1
  51. package/dist/cjs/stories/HeroBanner.stories.js.map +3 -3
  52. package/dist/cjs/stories/MultiLayoutGraphicBlock.stories.js +1 -1
  53. package/dist/cjs/stories/MultiLayoutGraphicBlock.stories.js.map +2 -2
  54. package/dist/cjs/stories/accordionCards.stories.d.ts +1 -2
  55. package/dist/cjs/stories/accordionCards.stories.js +1 -1
  56. package/dist/cjs/stories/accordionCards.stories.js.map +2 -2
  57. package/dist/cjs/stories/category.stories.js +1 -1
  58. package/dist/cjs/stories/category.stories.js.map +2 -2
  59. package/dist/cjs/stories/evaluate.stories.js +1 -1
  60. package/dist/cjs/stories/evaluate.stories.js.map +3 -3
  61. package/dist/cjs/stories/graphic.stories.d.ts +0 -1
  62. package/dist/cjs/stories/graphic.stories.js +1 -1
  63. package/dist/cjs/stories/graphic.stories.js.map +2 -2
  64. package/dist/cjs/stories/graphicAttractionBlock.stories.js +1 -1
  65. package/dist/cjs/stories/graphicAttractionBlock.stories.js.map +2 -2
  66. package/dist/cjs/stories/mediaplayerMulti.stories.js +1 -1
  67. package/dist/cjs/stories/mediaplayerMulti.stories.js.map +2 -2
  68. package/dist/cjs/stories/shelfDisplay.stories.js +1 -1
  69. package/dist/cjs/stories/shelfDisplay.stories.js.map +2 -2
  70. package/dist/cjs/stories/slogan.stories.js +1 -1
  71. package/dist/cjs/stories/slogan.stories.js.map +3 -3
  72. package/dist/esm/biz-components/AccordionCards/index.d.ts +1 -2
  73. package/dist/esm/biz-components/AccordionCards/index.js +1 -1
  74. package/dist/esm/biz-components/AccordionCards/index.js.map +3 -3
  75. package/dist/esm/biz-components/Category/index.d.ts +0 -1
  76. package/dist/esm/biz-components/Category/index.js +1 -1
  77. package/dist/esm/biz-components/Category/index.js.map +3 -3
  78. package/dist/esm/biz-components/Evaluate/index.d.ts +0 -1
  79. package/dist/esm/biz-components/Evaluate/index.js +1 -1
  80. package/dist/esm/biz-components/Evaluate/index.js.map +3 -3
  81. package/dist/esm/biz-components/Graphic/index.d.ts +0 -1
  82. package/dist/esm/biz-components/Graphic/index.js +1 -1
  83. package/dist/esm/biz-components/Graphic/index.js.map +3 -3
  84. package/dist/esm/biz-components/GraphicAttractionBlock/index.d.ts +0 -1
  85. package/dist/esm/biz-components/GraphicAttractionBlock/index.js +1 -1
  86. package/dist/esm/biz-components/GraphicAttractionBlock/index.js.map +3 -3
  87. package/dist/esm/biz-components/HeroBanner/HeroBanner.js +1 -1
  88. package/dist/esm/biz-components/HeroBanner/HeroBanner.js.map +3 -3
  89. package/dist/esm/biz-components/MediaPlayerBase/index.js +1 -1
  90. package/dist/esm/biz-components/MediaPlayerBase/index.js.map +3 -3
  91. package/dist/esm/biz-components/MediaPlayerMulti/index.js +1 -1
  92. package/dist/esm/biz-components/MediaPlayerMulti/index.js.map +3 -3
  93. package/dist/esm/biz-components/MediaPlayerMulti/types.d.ts +0 -1
  94. package/dist/esm/biz-components/MediaPlayerSticky/index.js +1 -1
  95. package/dist/esm/biz-components/MediaPlayerSticky/index.js.map +3 -3
  96. package/dist/esm/biz-components/MediaPlayerSticky/types.d.ts +0 -1
  97. package/dist/esm/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js +1 -1
  98. package/dist/esm/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js.map +3 -3
  99. package/dist/esm/biz-components/MultiLayoutGraphicBlock/types.d.ts +0 -1
  100. package/dist/esm/biz-components/ShelfDisplay/index.d.ts +0 -1
  101. package/dist/esm/biz-components/ShelfDisplay/index.js +3 -3
  102. package/dist/esm/biz-components/ShelfDisplay/index.js.map +3 -3
  103. package/dist/esm/biz-components/Slogan/index.js +1 -1
  104. package/dist/esm/biz-components/Slogan/index.js.map +3 -3
  105. package/dist/esm/biz-components/Slogan/types.d.ts +0 -1
  106. package/dist/esm/biz-components/Tabs/Tabs.js +1 -1
  107. package/dist/esm/biz-components/Tabs/Tabs.js.map +3 -3
  108. package/dist/esm/biz-components/Tabs/types.d.ts +0 -1
  109. package/dist/esm/biz-components/Title/index.js +1 -1
  110. package/dist/esm/biz-components/Title/index.js.map +3 -3
  111. package/dist/esm/biz-components/Title/types.d.ts +0 -1
  112. package/dist/esm/stories/HeroBanner.stories.js +2 -2
  113. package/dist/esm/stories/HeroBanner.stories.js.map +2 -2
  114. package/dist/esm/stories/MultiLayoutGraphicBlock.stories.js +1 -1
  115. package/dist/esm/stories/MultiLayoutGraphicBlock.stories.js.map +3 -3
  116. package/dist/esm/stories/accordionCards.stories.d.ts +1 -2
  117. package/dist/esm/stories/accordionCards.stories.js +1 -1
  118. package/dist/esm/stories/accordionCards.stories.js.map +3 -3
  119. package/dist/esm/stories/category.stories.js +1 -1
  120. package/dist/esm/stories/category.stories.js.map +3 -3
  121. package/dist/esm/stories/evaluate.stories.js +1 -1
  122. package/dist/esm/stories/evaluate.stories.js.map +3 -3
  123. package/dist/esm/stories/graphic.stories.d.ts +0 -1
  124. package/dist/esm/stories/graphic.stories.js +1 -1
  125. package/dist/esm/stories/graphic.stories.js.map +3 -3
  126. package/dist/esm/stories/graphicAttractionBlock.stories.js +1 -1
  127. package/dist/esm/stories/graphicAttractionBlock.stories.js.map +3 -3
  128. package/dist/esm/stories/mediaplayerMulti.stories.js +1 -1
  129. package/dist/esm/stories/mediaplayerMulti.stories.js.map +3 -3
  130. package/dist/esm/stories/shelfDisplay.stories.js +1 -1
  131. package/dist/esm/stories/shelfDisplay.stories.js.map +3 -3
  132. package/dist/esm/stories/slogan.stories.js +2 -2
  133. package/dist/esm/stories/slogan.stories.js.map +3 -3
  134. package/package.json +4 -3
@@ -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 } from 'react'\nimport { cn } from '../../helpers/utils.js'\nimport Picture from '../../components/picture.js'\nimport { Tabs, TabsList, TabsTrigger } from '../../components/tabs.js'\nimport Button from '../../components/button.js'\nimport Title from '../Title/index.js'\nimport SwiperBox from '../SwiperBox/index.js'\nimport { withStyles } from '../../shared/Styles.js'\nimport { formatVariantPrice } from './shelfDisplay.js'\nimport { useMediaQuery } from 'react-responsive'\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) => void\n secondaryButton?: (v: any) => void\n}\n\nexport interface ShelfDisplayProps {\n data: {\n title?: string\n isShowTab?: boolean\n direction?: 'horizontal' | 'vertical'\n align?: 'left' | 'center' | 'right'\n productsTab?: any\n productsCard?: any\n /** \u5361\u7247\u5F62\u72B6 */\n itemShape?: 'round' | 'square'\n /** \u6309\u94AE\u5F62\u72B6 */\n shape?: 'round' | 'square'\n /** \u6807\u7B7E\u9875\u5F62\u72B6*/\n tabShape?: 'rounded' | 'square'\n /** \u4E3B\u6309\u94AE\u914D\u7F6E */\n primaryButton?: string\n /** \u526F\u6309\u94AE\u914D\u7F6E */\n secondaryButton?: string\n }\n buildData?: {\n categories: any[]\n products: any[]\n }\n /** \u6309\u94AE\u4E8B\u4EF6*/\n event?: EventType\n /** \u4E3B\u9898\u8272*/\n theme?: 'light' | 'dark'\n className?: string\n key?: string\n GSAP?: any\n}\n\nconst ShelfDisplayItem = ({ data, configuration }: { data: any; configuration?: any }) => {\n const onPrimaryButton = (params: ShelfDisplayItem) => configuration?.event?.primaryButton?.(params)\n\n const onSecondaryButton = (params: ShelfDisplayItem) => configuration?.event?.secondaryButton?.(params)\n\n const { price, basePrice } = formatVariantPrice({\n locale: 'us',\n amount: data?.price.amount || 0,\n baseAmount: data?.compareAtPrice?.amount || data?.price.amount || 0,\n currencyCode: data?.price.currencyCode || 'USD',\n })\n\n const handleUrl = () => {\n const sku = data?.sku\n const skuArray = data?.variants\n const findSku = skuArray?.find((item: any) => item?.sku === sku)\n return findSku?.image?.url || skuArray?.[0]?.image?.url || ''\n }\n\n return (\n <div\n key={data?.id || data?.handle}\n className={cn(\n 'laptop:pt-4 laptop:px-6 laptop:pb-6 flex size-full cursor-pointer flex-col overflow-hidden bg-[#EAEAEC] p-4 duration-300 hover:bg-[#FFFFFF]',\n configuration?.itemShape === 'round' ? 'rounded-2xl' : 'rounded-none'\n )}\n >\n <div className={cn('lg-desktop:mb-3 lg-desktop:h-[195px] relative mb-2 inline-block h-[140px] overflow-hidden')}>\n <Picture source={handleUrl()} className=\"flex h-full justify-center object-cover [&_img]:w-auto\" />\n </div>\n <div className=\"mb-1 box-border flex h-8 flex-wrap gap-1 overflow-hidden\">\n {data?.tags?.slice(0, 1)?.map?.((item: any, index: number) => {\n return (\n <div\n key={index}\n className=\"tablet:text-base box-border h-full rounded-2xl border-2 border-[#86868C] px-2 pt-1 text-sm font-bold text-[#1D1D1F]\"\n >\n {item}\n </div>\n )\n })}\n </div>\n <p\n title={data?.title || ''}\n className=\"desktop:text-2xl desktop:leading-7 line-clamp-2 max-h-[48px] flex-1 text-xl font-bold text-[#1D1D1F]\"\n >\n {data?.title || ''}\n </p>\n <h3\n title={data?.description || ''}\n className=\"tablet:mt-2 tablet:mb-3 desktop:text-lg mb-2 mt-1 h-6 truncate text-sm font-semibold text-[#1D1D1F]\"\n >\n {data?.description || ''}\n </h3>\n <div className=\"mb-2 flex items-center\">\n <div className=\"tablet:text-2xl text-xl font-bold text-[#1D1D1F]\">{price || ''}</div>\n <div className=\"tablet:text-2xl ml-1 text-xl font-bold text-[#86868C]\">{basePrice || ''}</div>\n </div>\n {/* \u6309\u94AE\u7EC4 */}\n <div className={cn('flex items-center gap-3', configuration.direction === 'vertical' ? 'flex-col' : '')}>\n <Button\n variant=\"primary\"\n onClick={() => onPrimaryButton(data)}\n className={`\n laptop:text-sm jus desktop:text-base laptop:px-6 desktop:px-7 laptop:py-2.5 desktop:py-3 box-border flex-1 border\n border-[#1D1D1F] bg-transparent px-4 py-2 text-xs text-[#1D1D1F] hover:bg-transparent hover:text-black\n ${configuration?.shape === 'round' ? 'desktop:rounded-3xl rounded-[20px]' : ''}\n ${configuration.direction === 'vertical' ? 'w-full' : ''}\n `}\n >\n {configuration?.primaryButton || ''}\n </Button>\n <Button\n variant=\"secondary\"\n onClick={() => onSecondaryButton(data)}\n className={`\n laptop:text-sm desktop:text-base laptop:px-6 desktop:px-7 laptop:py-2.5 desktop:py-3 box-border flex-1 border\n border-[#1D1D1F] bg-[#1D1D1F] px-4 py-2 text-xs tracking-[-0.04em] text-white\n ${configuration?.shape === 'round' ? 'desktop:rounded-3xl rounded-[20px]' : ''}\n ${configuration.direction === 'vertical' ? 'w-full' : ''}\n `}\n >\n {configuration?.secondaryButton || ''}\n </Button>\n </div>\n </div>\n )\n}\n\nconst ShelfDisplay: React.FC<ShelfDisplayProps> = ({ data, buildData, className = '', key, event, GSAP }) => {\n const [tabId, setTabId] = useState<string>('')\n const [currentItems, setCurrentItems] = useState<ShelfDisplayItem[]>([])\n\n const isMobile = useMediaQuery({ query: '(max-width: 768px)' })\n\n const {\n productsTab = [],\n productsCard = [],\n title,\n align = 'left',\n isShowTab = true,\n tabShape = 'square',\n ...other\n } = data\n\n const handleCurrentTab = (currentData: ShelfDisplayItem[]) => {\n const newCurrentData = currentData\n ?.map(item => {\n const findData = buildData?.products?.find(params => params?.handle === item?.handle)\n if (findData) {\n return {\n sku: item.sku,\n ...findData,\n }\n }\n })\n ?.filter(item => item)\n setCurrentItems(newCurrentData)\n }\n\n useEffect(() => {\n if (isShowTab) {\n setTabId(productsTab?.[0]?.tab || '')\n handleCurrentTab(productsTab?.[0]?.data || [])\n return\n }\n handleCurrentTab(productsCard)\n }, [])\n\n return (\n <div className={cn('w-full', className)}>\n {title && <Title data={{ title: title }} GSAP={GSAP} />}\n {isShowTab && (\n <div className={`${isMobile ? 'w-full overflow-hidden' : ''}`}>\n <Tabs\n shape={tabShape}\n align={align}\n value={tabId}\n onValueChange={v => {\n setTabId(v)\n const findData = productsTab?.find((item: any) => item?.tab === v)\n handleCurrentTab(findData?.data || [])\n }}\n className=\"mb-8\"\n >\n <TabsList>\n {productsTab?.map((item: any, index: number) => {\n return (\n <TabsTrigger key={index} value={item?.tab || ''}>\n {item?.tab}\n </TabsTrigger>\n )\n })}\n </TabsList>\n </Tabs>\n </div>\n )}\n <SwiperBox\n className=\"!overflow-visible\"\n id={'ShelfDisplay' + key}\n data={{ list: currentItems, configuration: { ...other, event: event } }}\n Slide={ShelfDisplayItem}\n breakpoints={{\n 0: {\n spaceBetween: 12,\n freeMode: false,\n slidesPerView: 1,\n },\n 374: {\n spaceBetween: 12,\n freeMode: false,\n slidesPerView: 1.1,\n },\n 768: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: 2,\n },\n 1024: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: 3,\n },\n 1440: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: 4,\n },\n }}\n />\n </div>\n )\n}\n\nexport default withStyles(ShelfDisplay)\n"],
5
- "mappings": "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",
6
- "names": ["jsx", "jsxs", "useState", "useEffect", "cn", "Picture", "Tabs", "TabsList", "TabsTrigger", "Button", "Title", "SwiperBox", "withStyles", "formatVariantPrice", "useMediaQuery", "ShelfDisplayItem", "data", "configuration", "onPrimaryButton", "params", "onSecondaryButton", "price", "basePrice", "handleUrl", "sku", "skuArray", "item", "index", "ShelfDisplay", "buildData", "className", "key", "event", "GSAP", "tabId", "setTabId", "currentItems", "setCurrentItems", "isMobile", "productsTab", "productsCard", "title", "align", "isShowTab", "tabShape", "other", "handleCurrentTab", "currentData", "newCurrentData", "findData", "v", "ShelfDisplay_default"]
4
+ "sourcesContent": ["'use client'\nimport React, { useState, useEffect } from 'react'\nimport { cn } from '../../helpers/utils.js'\nimport Picture from '../../components/picture.js'\nimport { Tabs, TabsList, TabsTrigger } from '../../components/tabs.js'\nimport Button from '../../components/button.js'\nimport Title from '../Title/index.js'\nimport SwiperBox from '../SwiperBox/index.js'\nimport { withStyles } from '../../shared/Styles.js'\nimport { formatVariantPrice } from './shelfDisplay.js'\nimport { useMediaQuery } from 'react-responsive'\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) => void\n secondaryButton?: (v: any) => void\n}\n\nexport interface ShelfDisplayProps {\n data: {\n title?: string\n isShowTab?: boolean\n direction?: 'horizontal' | 'vertical'\n align?: 'left' | 'center' | 'right'\n productsTab?: any\n productsCard?: any\n /** \u5361\u7247\u5F62\u72B6 */\n itemShape?: 'round' | 'square'\n /** \u6309\u94AE\u5F62\u72B6 */\n shape?: 'round' | 'square'\n /** \u6807\u7B7E\u9875\u5F62\u72B6*/\n tabShape?: 'rounded' | 'square'\n /** \u4E3B\u6309\u94AE\u914D\u7F6E */\n primaryButton?: string\n /** \u526F\u6309\u94AE\u914D\u7F6E */\n secondaryButton?: string\n }\n buildData?: {\n categories: any[]\n products: any[]\n }\n /** \u6309\u94AE\u4E8B\u4EF6*/\n event?: EventType\n /** \u4E3B\u9898\u8272*/\n theme?: 'light' | 'dark'\n className?: string\n key?: string\n}\n\nconst ShelfDisplayItem = ({ data, configuration }: { data: any; configuration?: any }) => {\n const onPrimaryButton = (params: ShelfDisplayItem) => configuration?.event?.primaryButton?.(params)\n\n const onSecondaryButton = (params: ShelfDisplayItem) => configuration?.event?.secondaryButton?.(params)\n\n const { price, basePrice } = formatVariantPrice({\n locale: 'us',\n amount: data?.price.amount || 0,\n baseAmount: data?.compareAtPrice?.amount || data?.price.amount || 0,\n currencyCode: data?.price.currencyCode || 'USD',\n })\n\n const handleUrl = () => {\n const sku = data?.sku\n const skuArray = data?.variants\n const findSku = skuArray?.find((item: any) => item?.sku === sku)\n return findSku?.image?.url || skuArray?.[0]?.image?.url || ''\n }\n\n return (\n <div\n key={data?.id || data?.handle}\n className={cn(\n 'laptop:pt-4 laptop:px-6 laptop:pb-6 flex size-full cursor-pointer flex-col overflow-hidden bg-[#EAEAEC] p-4 duration-300 hover:bg-[#FFFFFF]',\n configuration?.itemShape === 'round' ? 'rounded-2xl' : 'rounded-none'\n )}\n >\n <div className={cn('lg-desktop:mb-3 lg-desktop:h-[195px] relative mb-2 inline-block h-[140px] overflow-hidden')}>\n <Picture source={handleUrl()} className=\"flex h-full justify-center object-cover [&_img]:w-auto\" />\n </div>\n <div className=\"mb-1 box-border flex h-8 flex-wrap gap-1 overflow-hidden\">\n {data?.tags?.slice(0, 1)?.map?.((item: any, index: number) => {\n return (\n <div\n key={index}\n className=\"tablet:text-base box-border h-full rounded-2xl border-2 border-[#86868C] px-2 pt-1 text-sm font-bold text-[#1D1D1F]\"\n >\n {item}\n </div>\n )\n })}\n </div>\n <p\n title={data?.title || ''}\n className=\"desktop:text-2xl desktop:leading-7 line-clamp-2 max-h-[48px] flex-1 text-xl font-bold text-[#1D1D1F]\"\n >\n {data?.title || ''}\n </p>\n <h3\n title={data?.description || ''}\n className=\"tablet:mt-2 tablet:mb-3 desktop:text-lg mb-2 mt-1 h-6 truncate text-sm font-semibold text-[#1D1D1F]\"\n >\n {data?.description || ''}\n </h3>\n <div className=\"mb-2 flex items-center\">\n <div className=\"tablet:text-2xl text-xl font-bold text-[#1D1D1F]\">{price || ''}</div>\n <div className=\"tablet:text-2xl ml-1 text-xl font-bold text-[#86868C]\">{basePrice || ''}</div>\n </div>\n {/* \u6309\u94AE\u7EC4 */}\n <div className={cn('flex items-center gap-3', configuration.direction === 'vertical' ? 'flex-col' : '')}>\n <Button\n variant=\"primary\"\n onClick={() => onPrimaryButton(data)}\n className={`\n laptop:text-sm jus desktop:text-base laptop:px-6 desktop:px-7 laptop:py-2.5 desktop:py-3 box-border flex-1 border\n border-[#1D1D1F] bg-transparent px-4 py-2 text-xs text-[#1D1D1F] hover:bg-transparent hover:text-black\n ${configuration?.shape === 'round' ? 'desktop:rounded-3xl rounded-[20px]' : ''}\n ${configuration.direction === 'vertical' ? 'w-full' : ''}\n `}\n >\n {configuration?.primaryButton || ''}\n </Button>\n <Button\n variant=\"secondary\"\n onClick={() => onSecondaryButton(data)}\n className={`\n laptop:text-sm desktop:text-base laptop:px-6 desktop:px-7 laptop:py-2.5 desktop:py-3 box-border flex-1 border\n border-[#1D1D1F] bg-[#1D1D1F] px-4 py-2 text-xs tracking-[-0.04em] text-white\n ${configuration?.shape === 'round' ? 'desktop:rounded-3xl rounded-[20px]' : ''}\n ${configuration.direction === 'vertical' ? 'w-full' : ''}\n `}\n >\n {configuration?.secondaryButton || ''}\n </Button>\n </div>\n </div>\n )\n}\n\nconst ShelfDisplay: React.FC<ShelfDisplayProps> = ({ data, buildData, className = '', key, event }) => {\n const [tabId, setTabId] = useState<string>('')\n const [currentItems, setCurrentItems] = useState<ShelfDisplayItem[]>([])\n\n const isMobile = useMediaQuery({ query: '(max-width: 768px)' })\n\n const {\n productsTab = [],\n productsCard = [],\n title,\n align = 'left',\n isShowTab = true,\n tabShape = 'square',\n ...other\n } = data\n\n const handleCurrentTab = (currentData: ShelfDisplayItem[]) => {\n const newCurrentData = currentData\n ?.map(item => {\n const findData = buildData?.products?.find(params => params?.handle === item?.handle)\n if (findData) {\n return {\n sku: item.sku,\n ...findData,\n }\n }\n })\n ?.filter(item => item)\n setCurrentItems(newCurrentData)\n }\n\n useEffect(() => {\n if (isShowTab) {\n setTabId(productsTab?.[0]?.tab || '')\n handleCurrentTab(productsTab?.[0]?.data || [])\n return\n }\n handleCurrentTab(productsCard)\n }, [])\n\n return (\n <div className={cn('w-full', className)}>\n {title && <Title data={{ title: title }} />}\n {isShowTab && (\n <div className={`${isMobile ? 'w-full overflow-hidden' : ''}`}>\n <Tabs\n shape={tabShape}\n align={align}\n value={tabId}\n onValueChange={v => {\n setTabId(v)\n const findData = productsTab?.find((item: any) => item?.tab === v)\n handleCurrentTab(findData?.data || [])\n }}\n className=\"mb-8\"\n >\n <TabsList>\n {productsTab?.map((item: any, index: number) => {\n return (\n <TabsTrigger key={index} value={item?.tab || ''}>\n {item?.tab}\n </TabsTrigger>\n )\n })}\n </TabsList>\n </Tabs>\n </div>\n )}\n <SwiperBox\n className=\"!overflow-visible\"\n id={'ShelfDisplay' + key}\n data={{ list: currentItems, configuration: { ...other, event: event } }}\n Slide={ShelfDisplayItem}\n breakpoints={{\n 0: {\n spaceBetween: 12,\n freeMode: false,\n slidesPerView: 1,\n },\n 374: {\n spaceBetween: 12,\n freeMode: false,\n slidesPerView: 1.1,\n },\n 768: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: 2,\n },\n 1024: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: 3,\n },\n 1440: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: 4,\n },\n }}\n />\n </div>\n )\n}\n\nexport default withStyles(ShelfDisplay)\n"],
5
+ "mappings": "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",
6
+ "names": ["jsx", "jsxs", "useState", "useEffect", "cn", "Picture", "Tabs", "TabsList", "TabsTrigger", "Button", "Title", "SwiperBox", "withStyles", "formatVariantPrice", "useMediaQuery", "ShelfDisplayItem", "data", "configuration", "onPrimaryButton", "params", "onSecondaryButton", "price", "basePrice", "handleUrl", "sku", "skuArray", "item", "index", "ShelfDisplay", "buildData", "className", "key", "event", "tabId", "setTabId", "currentItems", "setCurrentItems", "isMobile", "productsTab", "productsCard", "title", "align", "isShowTab", "tabShape", "other", "handleCurrentTab", "currentData", "newCurrentData", "findData", "v", "ShelfDisplay_default"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use client";import{jsx as l,jsxs as R}from"react/jsx-runtime";import s,{useRef as y}from"react";import{useGSAP as z}from"@gsap/react";import{gsap as S}from"gsap";import{SplitText as U}from"gsap/dist/SplitText";import{ScrollTrigger as T}from"gsap/dist/ScrollTrigger";import{cn as c}from"../../helpers/utils.js";import{Heading as Y,Text as q}from"../../components/index.js";import{withStyles as B}from"../../shared/Styles.js";function J(u=[],f=3){const x=[];for(let o=0;o<u.length;o+=f)x.push(u.slice(o,o+f));return x}const G=s.forwardRef(({data:u,className:f="",GSAP:x},o)=>{const{title:$,features:n=[],featureChunkSize:k=3,theme:D}=u,[d,H]=s.useState(0),[M,h]=s.useState(!0),m=J(n,k),v=m.length,a=n.length>k,A=a?[...m,m[0]]:m,w=40;s.useEffect(()=>{if(!a)return;const t=setInterval(()=>{H(e=>e+1),h(!0)},3e3);return()=>clearInterval(t)},[v,a]),s.useEffect(()=>{if(a)if(d===v){const t=setTimeout(()=>{h(!1),H(0)},500);return()=>clearTimeout(t)}else h(!0)},[d,v,a]);const i=y(null),N=y(null),p=y(null);return z(()=>{if(!i.current)return;p.current=new U(i.current,{type:"words",wordsClass:"word"});const t=i.current?.clientHeight||100;console.log("splitTextInstance",p);const e=p.current.words;return S.set(e,{opacity:0}),T.create({trigger:i.current,start:"bottom bottom-=10%",end:`bottom+=${t*2+80}px bottom-=10%`,scrub:!0,onUpdate:r=>{const g=r.progress,E=e.length,F=1/E,I=.5;e.forEach((P,C)=>{const L=C/E*(1-I),j=F*(1+I);let b=(g-L)/j;b=Math.max(0,Math.min(b,1)),S.set(P,{opacity:b})})}}),n&&n.length>0&&T.create({trigger:N.current,start:`bottom+=${t*2}px bottom-=10%`,end:`bottom+=${t*2+100}px bottom-=10%`,onUpdate:r=>{S.set(N.current,{opacity:r.progress})}}),()=>{p.current&&p.current.revert(),T.getAll().forEach(r=>r.kill())}},[]),R("div",{ref:o,className:c("laptop:flex-row laptop:items-end laptop:justify-between text-info-primary laptop:min-h-[64px] lg-desktop:min-h-[128px] flex h-auto w-full flex-col items-start justify-center gap-[24px] text-center",f),children:[l(Y,{ref:i,as:"h2",size:2,weight:"bold",align:"left",className:c("slogan-title laptop:text-[40px] desktop:text-[48px] lg-desktop:text-[64px] text-[40px] !leading-none",{"text-[#1D1D1F]":D!=="dark","text-[#fff]":D==="dark"}),children:$}),n&&n.length>0&&l("div",{className:c("relative h-12 w-full max-w-[500px] overflow-hidden",`tablet:h-[${w}px]`),children:l("div",{className:c(["flex flex-col",M?"transition-transform duration-500 ease-[cubic-bezier(.4,0,.2,1)]":"!transition-none"]),style:{transform:`translateY(-${d*w}px)`},children:A.map((t,e)=>l("div",{className:c("flex h-12 w-full flex-row items-stretch gap-3 overflow-hidden",`tablet:h-[${w}px]`),children:t.map((r,g)=>R(s.Fragment,{children:[g>0&&l("div",{className:"slogan-feature-divider w-px self-stretch bg-[#D9D9D9]"}),l(q,{align:"left",as:"p",className:"slogan-feature-text tablet:text-[13px] laptop:text-[14px] line-clamp-2 text-[12px] leading-[1.4] text-[#1D1D1F]",html:r.title})]},g))},e))})})]})});G.displayName="Slogan";var tt=B(G);export{tt as default};
1
+ "use client";import{jsx as l,jsxs as $}from"react/jsx-runtime";import s,{useRef as y}from"react";import{useGSAP as j}from"@gsap/react";import{gsap as T}from"gsap";import{SplitText as z}from"gsap/dist/SplitText";import{ScrollTrigger as S}from"gsap/dist/ScrollTrigger";import{cn as c}from"../../helpers/utils.js";import{Heading as U,Text as Y}from"../../components/index.js";import{withStyles as q}from"../../shared/Styles.js";function B(u=[],f=3){const m=[];for(let o=0;o<u.length;o+=f)m.push(u.slice(o,o+f));return m}const R=s.forwardRef(({data:u,className:f=""},m)=>{const{title:o,features:n=[],featureChunkSize:k=3,theme:D}=u,[d,H]=s.useState(0),[G,h]=s.useState(!0),g=B(n,k),v=g.length,a=n.length>k,M=a?[...g,g[0]]:g,w=40;s.useEffect(()=>{if(!a)return;const t=setInterval(()=>{H(e=>e+1),h(!0)},3e3);return()=>clearInterval(t)},[v,a]),s.useEffect(()=>{if(a)if(d===v){const t=setTimeout(()=>{h(!1),H(0)},500);return()=>clearTimeout(t)}else h(!0)},[d,v,a]);const i=y(null),N=y(null),p=y(null);return j(()=>{if(!i.current)return;p.current=new z(i.current,{type:"words",wordsClass:"word"});const t=i.current?.clientHeight||100;console.log("splitTextInstance",p);const e=p.current.words;return T.set(e,{opacity:0}),S.create({trigger:i.current,start:"bottom bottom-=6%",end:`bottom+=${t*2+80}px bottom-=6%`,scrub:!0,onUpdate:r=>{const x=r.progress,E=e.length,F=1/E,I=.5;e.forEach((A,C)=>{const L=C/E*(1-I),P=F*(1+I);let b=(x-L)/P;b=Math.max(0,Math.min(b,1)),T.set(A,{opacity:b})})}}),n&&n.length>0&&S.create({trigger:N.current,start:`bottom+=${t*2}px bottom-=6%`,end:`bottom+=${t*2+100}px bottom-=6%`,onUpdate:r=>{T.set(N.current,{opacity:r.progress})}}),()=>{p.current&&p.current.revert(),S.getAll().forEach(r=>r.kill())}},[]),$("div",{ref:m,className:c("laptop:flex-row laptop:items-end laptop:justify-between text-info-primary laptop:min-h-[64px] lg-desktop:min-h-[128px] flex h-auto w-full flex-col items-start justify-center gap-[24px] text-center",f),children:[l(U,{ref:i,as:"h2",size:2,weight:"bold",align:"left",className:c("slogan-title laptop:text-[40px] desktop:text-[48px] lg-desktop:text-[64px] text-[40px] !leading-none",{"text-[#1D1D1F]":D!=="dark","text-[#fff]":D==="dark"}),children:o}),n&&n.length>0&&l("div",{className:c("relative h-12 w-full max-w-[500px] overflow-hidden",`tablet:h-[${w}px]`),children:l("div",{className:c(["flex flex-col",G?"transition-transform duration-500 ease-[cubic-bezier(.4,0,.2,1)]":"!transition-none"]),style:{transform:`translateY(-${d*w}px)`},children:M.map((t,e)=>l("div",{className:c("flex h-12 w-full flex-row items-stretch gap-3 overflow-hidden",`tablet:h-[${w}px]`),children:t.map((r,x)=>$(s.Fragment,{children:[x>0&&l("div",{className:"slogan-feature-divider w-px self-stretch bg-[#D9D9D9]"}),l(Y,{align:"left",as:"p",className:"slogan-feature-text tablet:text-[13px] laptop:text-[14px] line-clamp-2 text-[12px] leading-[1.4] text-[#1D1D1F]",html:r.title})]},x))},e))})})]})});R.displayName="Slogan";var _=q(R);export{_ as default};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/biz-components/Slogan/index.tsx"],
4
- "sourcesContent": ["'use client'\nimport React, { useRef } from 'react'\nimport { useGSAP } from '@gsap/react'\nimport { gsap } from 'gsap'\nimport { SplitText } from 'gsap/dist/SplitText'\nimport { ScrollTrigger } from 'gsap/dist/ScrollTrigger'\nimport { cn } from '../../helpers/utils.js'\nimport { Heading, Text } from '../../components/index.js'\nimport { withStyles } from '../../shared/Styles.js'\nimport type { SloganProps } from './types.js'\n\nfunction chunkArray(array: { title: string }[] = [], size: number = 3) {\n const result = []\n for (let i = 0; i < array.length; i += size) {\n result.push(array.slice(i, i + size))\n }\n return result\n}\n\nconst Slogan = React.forwardRef<HTMLDivElement, SloganProps>(({ data, className = '', GSAP }, ref) => {\n // const { gsap, ScrollTrigger, SplitText, useGSAP } = GSAP\n const { title, features = [], featureChunkSize = 3, theme } = data\n const [groupIndex, setGroupIndex] = React.useState(0)\n const [isTransitioning, setIsTransitioning] = React.useState(true)\n const featuresGroups = chunkArray(features, featureChunkSize)\n const totalGroups = featuresGroups.length\n const needCarousel = features.length > featureChunkSize\n const displayGroups = needCarousel ? [...featuresGroups, featuresGroups[0]] : featuresGroups\n const groupHeight = 40\n\n // \u53EA\u5728\u9700\u8981\u8F6E\u64AD\u65F6\u542F\u7528\u5B9A\u65F6\u5668\n React.useEffect(() => {\n if (!needCarousel) return\n const timer = setInterval(() => {\n setGroupIndex(i => i + 1)\n setIsTransitioning(true)\n }, 3000)\n return () => clearInterval(timer)\n }, [totalGroups, needCarousel])\n\n // \u53EA\u5728\u9700\u8981\u8F6E\u64AD\u65F6\u5904\u7406\u65E0\u7F1D\u8DF3\u8F6C\n React.useEffect(() => {\n if (!needCarousel) return\n if (groupIndex === totalGroups) {\n const handle = setTimeout(() => {\n setIsTransitioning(false)\n setGroupIndex(0)\n }, 500) // 500ms\u7B49\u4E8E\u52A8\u753B\u65F6\u957F\n return () => clearTimeout(handle)\n } else {\n setIsTransitioning(true)\n }\n }, [groupIndex, totalGroups, needCarousel])\n\n // \u6807\u9898\u52A8\u753B\u903B\u8F91\u4FDD\u6301\u4E0D\u53D8\n const titleRef = useRef<HTMLHeadingElement>(null)\n const featuresRef = useRef<HTMLDivElement>(null)\n const splitTextInstance = useRef<SplitText | null>(null)\n useGSAP(() => {\n if (!titleRef.current) return\n splitTextInstance.current = new SplitText(titleRef.current, {\n type: 'words',\n wordsClass: 'word',\n })\n const height = titleRef.current?.clientHeight || 100\n\n console.log('splitTextInstance', splitTextInstance)\n\n const words = splitTextInstance.current.words\n gsap.set(words, { opacity: 0 })\n ScrollTrigger.create({\n trigger: titleRef.current,\n start: 'bottom bottom-=10%',\n end: `bottom+=${height * 2 + 80}px bottom-=10%`,\n scrub: true,\n onUpdate: (self: any) => {\n const progress = self.progress\n const total = words.length\n const interval = 1 / total\n const overlap = 0.5\n words.forEach((word: any, i: number) => {\n const start = (i / total) * (1 - overlap)\n const width = interval * (1 + overlap)\n let opacity = (progress - start) / width\n opacity = Math.max(0, Math.min(opacity, 1))\n gsap.set(word, { opacity })\n })\n },\n })\n\n if (features && features.length > 0) {\n ScrollTrigger.create({\n trigger: featuresRef.current,\n start: `bottom+=${height * 2}px bottom-=10%`,\n end: `bottom+=${height * 2 + 100}px bottom-=10%`,\n onUpdate: (self: any) => {\n gsap.set(featuresRef.current, { opacity: self.progress })\n },\n })\n }\n\n return () => {\n splitTextInstance.current && splitTextInstance.current.revert()\n ScrollTrigger.getAll().forEach((t: any) => t.kill())\n }\n }, [])\n\n return (\n <div\n ref={ref}\n className={cn(\n 'laptop:flex-row laptop:items-end laptop:justify-between text-info-primary laptop:min-h-[64px] lg-desktop:min-h-[128px] flex h-auto w-full flex-col items-start justify-center gap-[24px] text-center',\n className\n )}\n >\n <Heading\n ref={titleRef}\n as=\"h2\"\n size={2}\n weight={'bold'}\n align={'left'}\n className={cn(\n 'slogan-title laptop:text-[40px] desktop:text-[48px] lg-desktop:text-[64px] text-[40px] !leading-none',\n {\n 'text-[#1D1D1F]': theme !== 'dark',\n 'text-[#fff]': theme === 'dark',\n }\n )}\n >\n {title}\n </Heading>\n {features && features.length > 0 && (\n <div className={cn('relative h-12 w-full max-w-[500px] overflow-hidden', `tablet:h-[${groupHeight}px]`)}>\n <div\n className={cn([\n 'flex flex-col',\n isTransitioning ? 'transition-transform duration-500 ease-[cubic-bezier(.4,0,.2,1)]' : '!transition-none',\n ])}\n style={{\n transform: `translateY(-${groupIndex * groupHeight}px)`,\n }}\n >\n {displayGroups.map((group, idx) => (\n <div\n className={cn(\n 'flex h-12 w-full flex-row items-stretch gap-3 overflow-hidden',\n `tablet:h-[${groupHeight}px]`\n )}\n key={idx}\n >\n {group.map((feature, index) => (\n <React.Fragment key={index}>\n {index > 0 && <div className=\"slogan-feature-divider w-px self-stretch bg-[#D9D9D9]\" />}\n <Text\n align=\"left\"\n as=\"p\"\n className=\"slogan-feature-text tablet:text-[13px] laptop:text-[14px] line-clamp-2 text-[12px] leading-[1.4] text-[#1D1D1F]\"\n html={feature.title}\n />\n </React.Fragment>\n ))}\n </div>\n ))}\n </div>\n </div>\n )}\n </div>\n )\n})\n\nSlogan.displayName = 'Slogan'\n\nexport default withStyles(Slogan)\n"],
5
- "mappings": "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",
6
- "names": ["jsx", "jsxs", "React", "useRef", "useGSAP", "gsap", "SplitText", "ScrollTrigger", "cn", "Heading", "Text", "withStyles", "chunkArray", "array", "size", "result", "i", "Slogan", "data", "className", "GSAP", "ref", "title", "features", "featureChunkSize", "theme", "groupIndex", "setGroupIndex", "isTransitioning", "setIsTransitioning", "featuresGroups", "totalGroups", "needCarousel", "displayGroups", "groupHeight", "timer", "handle", "titleRef", "featuresRef", "splitTextInstance", "height", "words", "self", "progress", "total", "interval", "overlap", "word", "start", "width", "opacity", "t", "group", "idx", "feature", "index", "Slogan_default"]
4
+ "sourcesContent": ["'use client'\nimport React, { useRef } from 'react'\nimport { useGSAP } from '@gsap/react'\nimport { gsap } from 'gsap'\nimport { SplitText } from 'gsap/dist/SplitText'\nimport { ScrollTrigger } from 'gsap/dist/ScrollTrigger'\nimport { cn } from '../../helpers/utils.js'\nimport { Heading, Text } from '../../components/index.js'\nimport { withStyles } from '../../shared/Styles.js'\nimport type { SloganProps } from './types.js'\n\nfunction chunkArray(array: { title: string }[] = [], size: number = 3) {\n const result = []\n for (let i = 0; i < array.length; i += size) {\n result.push(array.slice(i, i + size))\n }\n return result\n}\n\nconst Slogan = React.forwardRef<HTMLDivElement, SloganProps>(({ data, className = '' }, ref) => {\n const { title, features = [], featureChunkSize = 3, theme } = data\n const [groupIndex, setGroupIndex] = React.useState(0)\n const [isTransitioning, setIsTransitioning] = React.useState(true)\n const featuresGroups = chunkArray(features, featureChunkSize)\n const totalGroups = featuresGroups.length\n const needCarousel = features.length > featureChunkSize\n const displayGroups = needCarousel ? [...featuresGroups, featuresGroups[0]] : featuresGroups\n const groupHeight = 40\n\n // \u53EA\u5728\u9700\u8981\u8F6E\u64AD\u65F6\u542F\u7528\u5B9A\u65F6\u5668\n React.useEffect(() => {\n if (!needCarousel) return\n const timer = setInterval(() => {\n setGroupIndex(i => i + 1)\n setIsTransitioning(true)\n }, 3000)\n return () => clearInterval(timer)\n }, [totalGroups, needCarousel])\n\n // \u53EA\u5728\u9700\u8981\u8F6E\u64AD\u65F6\u5904\u7406\u65E0\u7F1D\u8DF3\u8F6C\n React.useEffect(() => {\n if (!needCarousel) return\n if (groupIndex === totalGroups) {\n const handle = setTimeout(() => {\n setIsTransitioning(false)\n setGroupIndex(0)\n }, 500) // 500ms\u7B49\u4E8E\u52A8\u753B\u65F6\u957F\n return () => clearTimeout(handle)\n } else {\n setIsTransitioning(true)\n }\n }, [groupIndex, totalGroups, needCarousel])\n\n // \u6807\u9898\u52A8\u753B\u903B\u8F91\u4FDD\u6301\u4E0D\u53D8\n const titleRef = useRef<HTMLHeadingElement>(null)\n const featuresRef = useRef<HTMLDivElement>(null)\n const splitTextInstance = useRef<SplitText | null>(null)\n useGSAP(() => {\n if (!titleRef.current) return\n splitTextInstance.current = new SplitText(titleRef.current, {\n type: 'words',\n wordsClass: 'word',\n })\n const height = titleRef.current?.clientHeight || 100\n\n console.log('splitTextInstance', splitTextInstance)\n\n const words = splitTextInstance.current.words\n gsap.set(words, { opacity: 0 })\n ScrollTrigger.create({\n trigger: titleRef.current,\n start: 'bottom bottom-=6%',\n end: `bottom+=${height * 2 + 80}px bottom-=6%`,\n scrub: true,\n onUpdate: (self: any) => {\n const progress = self.progress\n const total = words.length\n const interval = 1 / total\n const overlap = 0.5\n words.forEach((word: any, i: number) => {\n const start = (i / total) * (1 - overlap)\n const width = interval * (1 + overlap)\n let opacity = (progress - start) / width\n opacity = Math.max(0, Math.min(opacity, 1))\n gsap.set(word, { opacity })\n })\n },\n })\n\n if (features && features.length > 0) {\n ScrollTrigger.create({\n trigger: featuresRef.current,\n start: `bottom+=${height * 2}px bottom-=6%`,\n end: `bottom+=${height * 2 + 100}px bottom-=6%`,\n onUpdate: (self: any) => {\n gsap.set(featuresRef.current, { opacity: self.progress })\n },\n })\n }\n\n return () => {\n splitTextInstance.current && splitTextInstance.current.revert()\n ScrollTrigger.getAll().forEach((t: any) => t.kill())\n }\n }, [])\n\n return (\n <div\n ref={ref}\n className={cn(\n 'laptop:flex-row laptop:items-end laptop:justify-between text-info-primary laptop:min-h-[64px] lg-desktop:min-h-[128px] flex h-auto w-full flex-col items-start justify-center gap-[24px] text-center',\n className\n )}\n >\n <Heading\n ref={titleRef}\n as=\"h2\"\n size={2}\n weight={'bold'}\n align={'left'}\n className={cn(\n 'slogan-title laptop:text-[40px] desktop:text-[48px] lg-desktop:text-[64px] text-[40px] !leading-none',\n {\n 'text-[#1D1D1F]': theme !== 'dark',\n 'text-[#fff]': theme === 'dark',\n }\n )}\n >\n {title}\n </Heading>\n {features && features.length > 0 && (\n <div className={cn('relative h-12 w-full max-w-[500px] overflow-hidden', `tablet:h-[${groupHeight}px]`)}>\n <div\n className={cn([\n 'flex flex-col',\n isTransitioning ? 'transition-transform duration-500 ease-[cubic-bezier(.4,0,.2,1)]' : '!transition-none',\n ])}\n style={{\n transform: `translateY(-${groupIndex * groupHeight}px)`,\n }}\n >\n {displayGroups.map((group, idx) => (\n <div\n className={cn(\n 'flex h-12 w-full flex-row items-stretch gap-3 overflow-hidden',\n `tablet:h-[${groupHeight}px]`\n )}\n key={idx}\n >\n {group.map((feature, index) => (\n <React.Fragment key={index}>\n {index > 0 && <div className=\"slogan-feature-divider w-px self-stretch bg-[#D9D9D9]\" />}\n <Text\n align=\"left\"\n as=\"p\"\n className=\"slogan-feature-text tablet:text-[13px] laptop:text-[14px] line-clamp-2 text-[12px] leading-[1.4] text-[#1D1D1F]\"\n html={feature.title}\n />\n </React.Fragment>\n ))}\n </div>\n ))}\n </div>\n </div>\n )}\n </div>\n )\n})\n\nSlogan.displayName = 'Slogan'\n\nexport default withStyles(Slogan)\n"],
5
+ "mappings": "aAkHM,cAAAA,EAoCY,QAAAC,MApCZ,oBAjHN,OAAOC,GAAS,UAAAC,MAAc,QAC9B,OAAS,WAAAC,MAAe,cACxB,OAAS,QAAAC,MAAY,OACrB,OAAS,aAAAC,MAAiB,sBAC1B,OAAS,iBAAAC,MAAqB,0BAC9B,OAAS,MAAAC,MAAU,yBACnB,OAAS,WAAAC,EAAS,QAAAC,MAAY,4BAC9B,OAAS,cAAAC,MAAkB,yBAG3B,SAASC,EAAWC,EAA6B,CAAC,EAAGC,EAAe,EAAG,CACrE,MAAMC,EAAS,CAAC,EAChB,QAASC,EAAI,EAAGA,EAAIH,EAAM,OAAQG,GAAKF,EACrCC,EAAO,KAAKF,EAAM,MAAMG,EAAGA,EAAIF,CAAI,CAAC,EAEtC,OAAOC,CACT,CAEA,MAAME,EAASf,EAAM,WAAwC,CAAC,CAAE,KAAAgB,EAAM,UAAAC,EAAY,EAAG,EAAGC,IAAQ,CAC9F,KAAM,CAAE,MAAAC,EAAO,SAAAC,EAAW,CAAC,EAAG,iBAAAC,EAAmB,EAAG,MAAAC,CAAM,EAAIN,EACxD,CAACO,EAAYC,CAAa,EAAIxB,EAAM,SAAS,CAAC,EAC9C,CAACyB,EAAiBC,CAAkB,EAAI1B,EAAM,SAAS,EAAI,EAC3D2B,EAAiBjB,EAAWU,EAAUC,CAAgB,EACtDO,EAAcD,EAAe,OAC7BE,EAAeT,EAAS,OAASC,EACjCS,EAAgBD,EAAe,CAAC,GAAGF,EAAgBA,EAAe,CAAC,CAAC,EAAIA,EACxEI,EAAc,GAGpB/B,EAAM,UAAU,IAAM,CACpB,GAAI,CAAC6B,EAAc,OACnB,MAAMG,EAAQ,YAAY,IAAM,CAC9BR,EAAcV,GAAKA,EAAI,CAAC,EACxBY,EAAmB,EAAI,CACzB,EAAG,GAAI,EACP,MAAO,IAAM,cAAcM,CAAK,CAClC,EAAG,CAACJ,EAAaC,CAAY,CAAC,EAG9B7B,EAAM,UAAU,IAAM,CACpB,GAAK6B,EACL,GAAIN,IAAeK,EAAa,CAC9B,MAAMK,EAAS,WAAW,IAAM,CAC9BP,EAAmB,EAAK,EACxBF,EAAc,CAAC,CACjB,EAAG,GAAG,EACN,MAAO,IAAM,aAAaS,CAAM,CAClC,MACEP,EAAmB,EAAI,CAE3B,EAAG,CAACH,EAAYK,EAAaC,CAAY,CAAC,EAG1C,MAAMK,EAAWjC,EAA2B,IAAI,EAC1CkC,EAAclC,EAAuB,IAAI,EACzCmC,EAAoBnC,EAAyB,IAAI,EACvD,OAAAC,EAAQ,IAAM,CACZ,GAAI,CAACgC,EAAS,QAAS,OACvBE,EAAkB,QAAU,IAAIhC,EAAU8B,EAAS,QAAS,CAC1D,KAAM,QACN,WAAY,MACd,CAAC,EACD,MAAMG,EAASH,EAAS,SAAS,cAAgB,IAEjD,QAAQ,IAAI,oBAAqBE,CAAiB,EAElD,MAAME,EAAQF,EAAkB,QAAQ,MACxC,OAAAjC,EAAK,IAAImC,EAAO,CAAE,QAAS,CAAE,CAAC,EAC9BjC,EAAc,OAAO,CACnB,QAAS6B,EAAS,QAClB,MAAO,oBACP,IAAK,WAAWG,EAAS,EAAI,EAAE,gBAC/B,MAAO,GACP,SAAWE,GAAc,CACvB,MAAMC,EAAWD,EAAK,SAChBE,EAAQH,EAAM,OACdI,EAAW,EAAID,EACfE,EAAU,GAChBL,EAAM,QAAQ,CAACM,EAAW9B,IAAc,CACtC,MAAM+B,EAAS/B,EAAI2B,GAAU,EAAIE,GAC3BG,EAAQJ,GAAY,EAAIC,GAC9B,IAAII,GAAWP,EAAWK,GAASC,EACnCC,EAAU,KAAK,IAAI,EAAG,KAAK,IAAIA,EAAS,CAAC,CAAC,EAC1C5C,EAAK,IAAIyC,EAAM,CAAE,QAAAG,CAAQ,CAAC,CAC5B,CAAC,CACH,CACF,CAAC,EAEG3B,GAAYA,EAAS,OAAS,GAChCf,EAAc,OAAO,CACnB,QAAS8B,EAAY,QACrB,MAAO,WAAWE,EAAS,CAAC,gBAC5B,IAAK,WAAWA,EAAS,EAAI,GAAG,gBAChC,SAAWE,GAAc,CACvBpC,EAAK,IAAIgC,EAAY,QAAS,CAAE,QAASI,EAAK,QAAS,CAAC,CAC1D,CACF,CAAC,EAGI,IAAM,CACXH,EAAkB,SAAWA,EAAkB,QAAQ,OAAO,EAC9D/B,EAAc,OAAO,EAAE,QAAS2C,GAAWA,EAAE,KAAK,CAAC,CACrD,CACF,EAAG,CAAC,CAAC,EAGHjD,EAAC,OACC,IAAKmB,EACL,UAAWZ,EACT,uMACAW,CACF,EAEA,UAAAnB,EAACS,EAAA,CACC,IAAK2B,EACL,GAAG,KACH,KAAM,EACN,OAAQ,OACR,MAAO,OACP,UAAW5B,EACT,uGACA,CACE,iBAAkBgB,IAAU,OAC5B,cAAeA,IAAU,MAC3B,CACF,EAEC,SAAAH,EACH,EACCC,GAAYA,EAAS,OAAS,GAC7BtB,EAAC,OAAI,UAAWQ,EAAG,qDAAsD,aAAayB,CAAW,KAAK,EACpG,SAAAjC,EAAC,OACC,UAAWQ,EAAG,CACZ,gBACAmB,EAAkB,mEAAqE,kBACzF,CAAC,EACD,MAAO,CACL,UAAW,eAAeF,EAAaQ,CAAW,KACpD,EAEC,SAAAD,EAAc,IAAI,CAACmB,EAAOC,IACzBpD,EAAC,OACC,UAAWQ,EACT,gEACA,aAAayB,CAAW,KAC1B,EAGC,SAAAkB,EAAM,IAAI,CAACE,EAASC,IACnBrD,EAACC,EAAM,SAAN,CACE,UAAAoD,EAAQ,GAAKtD,EAAC,OAAI,UAAU,wDAAwD,EACrFA,EAACU,EAAA,CACC,MAAM,OACN,GAAG,IACH,UAAU,kHACV,KAAM2C,EAAQ,MAChB,IAPmBC,CAQrB,CACD,GAZIF,CAaP,CACD,EACH,EACF,GAEJ,CAEJ,CAAC,EAEDnC,EAAO,YAAc,SAErB,IAAOsC,EAAQ5C,EAAWM,CAAM",
6
+ "names": ["jsx", "jsxs", "React", "useRef", "useGSAP", "gsap", "SplitText", "ScrollTrigger", "cn", "Heading", "Text", "withStyles", "chunkArray", "array", "size", "result", "i", "Slogan", "data", "className", "ref", "title", "features", "featureChunkSize", "theme", "groupIndex", "setGroupIndex", "isTransitioning", "setIsTransitioning", "featuresGroups", "totalGroups", "needCarousel", "displayGroups", "groupHeight", "timer", "handle", "titleRef", "featuresRef", "splitTextInstance", "height", "words", "self", "progress", "total", "interval", "overlap", "word", "start", "width", "opacity", "t", "group", "idx", "feature", "index", "Slogan_default"]
7
7
  }
@@ -6,7 +6,6 @@ export interface Feature {
6
6
  title: string;
7
7
  }
8
8
  export interface SloganProps {
9
- GSAP?: any;
10
9
  data: {
11
10
  /**
12
11
  * 主标题
@@ -1,2 +1,2 @@
1
- "use client";import{jsx as e,jsxs as m}from"react/jsx-runtime";import{withStyles as f}from"../../shared/Styles.js";import*as t from"../../components/tabs.js";import{cn as u}from"../../helpers/index.js";import d from"react";import y from"../ShelfDisplay/index.js";import N from"../MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js";import P from"../Title/index.js";const g=d.forwardRef(({data:o,className:l,GSAP:s},b)=>{const{theme:p,shape:n,align:T,tabs:i,sectionTitle:r}=o,c=a=>a.blockType==="ipc-shelfdisplay"?e(y,{data:a,GSAP:s}):a.blockType==="ipc-multiLayoutGraphicBlock"?e(N,{data:a,GSAP:s}):null;return m("section",{ref:b,className:u(p==="dark"?"aiui-dark":"",l),children:[r&&e(P,{className:"section-title",data:{title:r},GSAP:s}),m(t.Tabs,{shape:n,align:T,defaultValue:i[0].tabName,children:[e(t.TabsList,{className:"tabs-list",children:i.map(a=>e(t.TabsTrigger,{value:a.tabName,className:"tabs-trigger",children:a.tabName},a.tabName))}),i.map(a=>e(t.TabsContent,{value:a.tabName,className:"tabs-content",children:c(a.tabContent?.[0])},a.tabName))]})]})});var w=f(g);export{w as default};
1
+ "use client";import{jsx as e,jsxs as r}from"react/jsx-runtime";import{withStyles as c}from"../../shared/Styles.js";import*as t from"../../components/tabs.js";import{cn as f}from"../../helpers/index.js";import u from"react";import d from"../ShelfDisplay/index.js";import y from"../MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js";import N from"../Title/index.js";const g=u.forwardRef(({data:m,className:o},l)=>{const{theme:b,shape:p,align:n,tabs:s,sectionTitle:i}=m,T=a=>a.blockType==="ipc-shelfdisplay"?e(d,{data:a}):a.blockType==="ipc-multiLayoutGraphicBlock"?e(y,{data:a}):null;return r("section",{ref:l,className:f(b==="dark"?"aiui-dark":"",o),children:[i&&e(N,{className:"section-title",data:{title:i}}),r(t.Tabs,{shape:p,align:n,defaultValue:s[0].tabName,children:[e(t.TabsList,{className:"tabs-list",children:s.map(a=>e(t.TabsTrigger,{value:a.tabName,className:"tabs-trigger",children:a.tabName},a.tabName))}),s.map(a=>e(t.TabsContent,{value:a.tabName,className:"tabs-content",children:T(a.tabContent?.[0])},a.tabName))]})]})});var B=c(g);export{B as default};
2
2
  //# sourceMappingURL=Tabs.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/biz-components/Tabs/Tabs.tsx"],
4
- "sourcesContent": ["'use client'\nimport { withStyles } from '../../shared/Styles.js'\nimport * as TabsPrimitive from '../../components/tabs.js'\nimport { cn } from '../../helpers/index.js'\nimport type { TabsProps } from './types.js'\nimport React from 'react'\nimport ShelfDisplay from '../ShelfDisplay/index.js'\nimport MultiLayoutGraphicBlock from '../MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js'\nimport Title from '../Title/index.js'\n\nconst Tabs = React.forwardRef<HTMLDivElement, TabsProps>(({ data, className, GSAP }, forwardedRef) => {\n const { theme, shape, align, tabs, sectionTitle } = data\n\n const renderTabContent = (tabContent: TabsProps['data']['tabs'][number]['tabContent'][number]) => {\n if (tabContent.blockType === 'ipc-shelfdisplay') {\n return <ShelfDisplay data={tabContent} GSAP={GSAP} />\n } else if (tabContent.blockType === 'ipc-multiLayoutGraphicBlock') {\n return <MultiLayoutGraphicBlock data={tabContent} GSAP={GSAP} />\n } else {\n return null\n }\n }\n\n return (\n <section ref={forwardedRef} className={cn(theme === 'dark' ? 'aiui-dark' : '', className)}>\n {sectionTitle && <Title className=\"section-title\" data={{ title: sectionTitle }} GSAP={GSAP} />}\n <TabsPrimitive.Tabs shape={shape} align={align} defaultValue={tabs[0].tabName}>\n <TabsPrimitive.TabsList className=\"tabs-list\">\n {tabs.map(tab => (\n <TabsPrimitive.TabsTrigger key={tab.tabName} value={tab.tabName} className=\"tabs-trigger\">\n {tab.tabName}\n </TabsPrimitive.TabsTrigger>\n ))}\n </TabsPrimitive.TabsList>\n {tabs.map(tab => (\n <TabsPrimitive.TabsContent key={tab.tabName} value={tab.tabName} className=\"tabs-content\">\n {renderTabContent(tab.tabContent?.[0])}\n </TabsPrimitive.TabsContent>\n ))}\n </TabsPrimitive.Tabs>\n </section>\n )\n})\n\nexport default withStyles(Tabs)\n"],
5
- "mappings": "aAea,cAAAA,EAWP,QAAAC,MAXO,oBAdb,OAAS,cAAAC,MAAkB,yBAC3B,UAAYC,MAAmB,2BAC/B,OAAS,MAAAC,MAAU,yBAEnB,OAAOC,MAAW,QAClB,OAAOC,MAAkB,2BACzB,OAAOC,MAA6B,wDACpC,OAAOC,MAAW,oBAElB,MAAMC,EAAOJ,EAAM,WAAsC,CAAC,CAAE,KAAAK,EAAM,UAAAC,EAAW,KAAAC,CAAK,EAAGC,IAAiB,CACpG,KAAM,CAAE,MAAAC,EAAO,MAAAC,EAAO,MAAAC,EAAO,KAAAC,EAAM,aAAAC,CAAa,EAAIR,EAE9CS,EAAoBC,GACpBA,EAAW,YAAc,mBACpBpB,EAACM,EAAA,CAAa,KAAMc,EAAY,KAAMR,EAAM,EAC1CQ,EAAW,YAAc,8BAC3BpB,EAACO,EAAA,CAAwB,KAAMa,EAAY,KAAMR,EAAM,EAEvD,KAIX,OACEX,EAAC,WAAQ,IAAKY,EAAc,UAAWT,EAAGU,IAAU,OAAS,YAAc,GAAIH,CAAS,EACrF,UAAAO,GAAgBlB,EAACQ,EAAA,CAAM,UAAU,gBAAgB,KAAM,CAAE,MAAOU,CAAa,EAAG,KAAMN,EAAM,EAC7FX,EAACE,EAAc,KAAd,CAAmB,MAAOY,EAAO,MAAOC,EAAO,aAAcC,EAAK,CAAC,EAAE,QACpE,UAAAjB,EAACG,EAAc,SAAd,CAAuB,UAAU,YAC/B,SAAAc,EAAK,IAAII,GACRrB,EAACG,EAAc,YAAd,CAA4C,MAAOkB,EAAI,QAAS,UAAU,eACxE,SAAAA,EAAI,SADyBA,EAAI,OAEpC,CACD,EACH,EACCJ,EAAK,IAAII,GACRrB,EAACG,EAAc,YAAd,CAA4C,MAAOkB,EAAI,QAAS,UAAU,eACxE,SAAAF,EAAiBE,EAAI,aAAa,CAAC,CAAC,GADPA,EAAI,OAEpC,CACD,GACH,GACF,CAEJ,CAAC,EAED,IAAOC,EAAQpB,EAAWO,CAAI",
6
- "names": ["jsx", "jsxs", "withStyles", "TabsPrimitive", "cn", "React", "ShelfDisplay", "MultiLayoutGraphicBlock", "Title", "Tabs", "data", "className", "GSAP", "forwardedRef", "theme", "shape", "align", "tabs", "sectionTitle", "renderTabContent", "tabContent", "tab", "Tabs_default"]
4
+ "sourcesContent": ["'use client'\nimport { withStyles } from '../../shared/Styles.js'\nimport * as TabsPrimitive from '../../components/tabs.js'\nimport { cn } from '../../helpers/index.js'\nimport type { TabsProps } from './types.js'\nimport React from 'react'\nimport ShelfDisplay from '../ShelfDisplay/index.js'\nimport MultiLayoutGraphicBlock from '../MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js'\nimport Title from '../Title/index.js'\n\nconst Tabs = React.forwardRef<HTMLDivElement, TabsProps>(({ data, className }, forwardedRef) => {\n const { theme, shape, align, tabs, sectionTitle } = data\n\n const renderTabContent = (tabContent: TabsProps['data']['tabs'][number]['tabContent'][number]) => {\n if (tabContent.blockType === 'ipc-shelfdisplay') {\n return <ShelfDisplay data={tabContent} />\n } else if (tabContent.blockType === 'ipc-multiLayoutGraphicBlock') {\n return <MultiLayoutGraphicBlock data={tabContent} />\n } else {\n return null\n }\n }\n\n return (\n <section ref={forwardedRef} className={cn(theme === 'dark' ? 'aiui-dark' : '', className)}>\n {sectionTitle && <Title className=\"section-title\" data={{ title: sectionTitle }} />}\n <TabsPrimitive.Tabs shape={shape} align={align} defaultValue={tabs[0].tabName}>\n <TabsPrimitive.TabsList className=\"tabs-list\">\n {tabs.map(tab => (\n <TabsPrimitive.TabsTrigger key={tab.tabName} value={tab.tabName} className=\"tabs-trigger\">\n {tab.tabName}\n </TabsPrimitive.TabsTrigger>\n ))}\n </TabsPrimitive.TabsList>\n {tabs.map(tab => (\n <TabsPrimitive.TabsContent key={tab.tabName} value={tab.tabName} className=\"tabs-content\">\n {renderTabContent(tab.tabContent?.[0])}\n </TabsPrimitive.TabsContent>\n ))}\n </TabsPrimitive.Tabs>\n </section>\n )\n})\n\nexport default withStyles(Tabs)\n"],
5
+ "mappings": "aAea,cAAAA,EAWP,QAAAC,MAXO,oBAdb,OAAS,cAAAC,MAAkB,yBAC3B,UAAYC,MAAmB,2BAC/B,OAAS,MAAAC,MAAU,yBAEnB,OAAOC,MAAW,QAClB,OAAOC,MAAkB,2BACzB,OAAOC,MAA6B,wDACpC,OAAOC,MAAW,oBAElB,MAAMC,EAAOJ,EAAM,WAAsC,CAAC,CAAE,KAAAK,EAAM,UAAAC,CAAU,EAAGC,IAAiB,CAC9F,KAAM,CAAE,MAAAC,EAAO,MAAAC,EAAO,MAAAC,EAAO,KAAAC,EAAM,aAAAC,CAAa,EAAIP,EAE9CQ,EAAoBC,GACpBA,EAAW,YAAc,mBACpBnB,EAACM,EAAA,CAAa,KAAMa,EAAY,EAC9BA,EAAW,YAAc,8BAC3BnB,EAACO,EAAA,CAAwB,KAAMY,EAAY,EAE3C,KAIX,OACElB,EAAC,WAAQ,IAAKW,EAAc,UAAWR,EAAGS,IAAU,OAAS,YAAc,GAAIF,CAAS,EACrF,UAAAM,GAAgBjB,EAACQ,EAAA,CAAM,UAAU,gBAAgB,KAAM,CAAE,MAAOS,CAAa,EAAG,EACjFhB,EAACE,EAAc,KAAd,CAAmB,MAAOW,EAAO,MAAOC,EAAO,aAAcC,EAAK,CAAC,EAAE,QACpE,UAAAhB,EAACG,EAAc,SAAd,CAAuB,UAAU,YAC/B,SAAAa,EAAK,IAAII,GACRpB,EAACG,EAAc,YAAd,CAA4C,MAAOiB,EAAI,QAAS,UAAU,eACxE,SAAAA,EAAI,SADyBA,EAAI,OAEpC,CACD,EACH,EACCJ,EAAK,IAAII,GACRpB,EAACG,EAAc,YAAd,CAA4C,MAAOiB,EAAI,QAAS,UAAU,eACxE,SAAAF,EAAiBE,EAAI,aAAa,CAAC,CAAC,GADPA,EAAI,OAEpC,CACD,GACH,GACF,CAEJ,CAAC,EAED,IAAOC,EAAQnB,EAAWO,CAAI",
6
+ "names": ["jsx", "jsxs", "withStyles", "TabsPrimitive", "cn", "React", "ShelfDisplay", "MultiLayoutGraphicBlock", "Title", "Tabs", "data", "className", "forwardedRef", "theme", "shape", "align", "tabs", "sectionTitle", "renderTabContent", "tabContent", "tab", "Tabs_default"]
7
7
  }
@@ -2,7 +2,6 @@ import type { Align, Shape, Theme } from '../../types/props.js';
2
2
  import type { MultiLayoutGraphicBlockProps } from '../MultiLayoutGraphicBlock/types.js';
3
3
  import type { ShelfDisplayProps } from '../ShelfDisplay/index.js';
4
4
  export type TabsProps = {
5
- GSAP?: any;
6
5
  data: {
7
6
  sectionTitle?: string;
8
7
  theme: Theme;
@@ -1,2 +1,2 @@
1
- "use client";import{jsx as u}from"react/jsx-runtime";import S,{useRef as a}from"react";import{useGSAP as H}from"@gsap/react";import{gsap as c}from"gsap";import{SplitText as k}from"gsap/dist/SplitText";import{ScrollTrigger as m}from"gsap/dist/ScrollTrigger";import{cn as E}from"../../helpers/utils.js";import{Heading as M}from"../../components/index.js";import{withStyles as P}from"../../shared/Styles.js";const p=S.forwardRef(({data:f,className:d,GSAP:R})=>{const{title:s,theme:g}=f,t=a(null),r=a(null);return H(()=>{if(!t.current)return;const h=t.current?.clientHeight||80;r.current=new k(t.current,{type:"words",wordsClass:"word"});const e=r.current.words;return c.set(e,{opacity:0}),m.create({trigger:t.current,start:"bottom bottom-=10%",end:`bottom+=${h*2+40}px bottom-=10%`,scrub:!0,onUpdate:o=>{const y=o.progress,i=e.length,T=1/i,l=.5;e.forEach((b,w)=>{const x=w/i*(1-l),v=T*(1+l);let n=(y-x)/v;n=Math.max(0,Math.min(n,1)),c.set(b,{opacity:n})})}}),()=>{r.current&&r.current.revert(),m.getAll().forEach(o=>o.kill())}},[]),s&&u("div",{className:E("tablet:mb-[32px] mb-[24px] space-y-4",d,{"aiui-dark":g==="dark"}),children:u(M,{ref:t,as:"h2",size:5,html:s})})});p.displayName="Title";var U=P(p);export{U as default};
1
+ "use client";import{jsx as u}from"react/jsx-runtime";import H,{useRef as a}from"react";import{useGSAP as S}from"@gsap/react";import{gsap as c}from"gsap";import{SplitText as k}from"gsap/dist/SplitText";import{ScrollTrigger as m}from"gsap/dist/ScrollTrigger";import{cn as E}from"../../helpers/utils.js";import{Heading as M}from"../../components/index.js";import{withStyles as R}from"../../shared/Styles.js";const p=H.forwardRef(({data:f,className:d})=>{const{title:s,theme:g}=f,t=a(null),r=a(null);return S(()=>{if(!t.current)return;const h=t.current?.clientHeight||80;r.current=new k(t.current,{type:"words",wordsClass:"word"});const e=r.current.words;return c.set(e,{opacity:0}),m.create({trigger:t.current,start:"bottom bottom-=6%",end:`bottom+=${h*2+40}px bottom-=6%`,scrub:!0,onUpdate:o=>{const y=o.progress,i=e.length,T=1/i,l=.5;e.forEach((b,w)=>{const x=w/i*(1-l),v=T*(1+l);let n=(y-x)/v;n=Math.max(0,Math.min(n,1)),c.set(b,{opacity:n})})}}),()=>{r.current&&r.current.revert(),m.getAll().forEach(o=>o.kill())}},[]),s&&u("div",{className:E("tablet:mb-[32px] mb-[24px] space-y-4",d,{"aiui-dark":g==="dark"}),children:u(M,{ref:t,as:"h2",size:5,html:s})})});p.displayName="Title";var I=R(p);export{I as default};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/biz-components/Title/index.tsx"],
4
- "sourcesContent": ["'use client'\nimport React, { useRef } from 'react'\nimport { useGSAP } from '@gsap/react'\nimport { gsap } from 'gsap'\nimport { SplitText } from 'gsap/dist/SplitText'\nimport { ScrollTrigger } from 'gsap/dist/ScrollTrigger'\nimport { cn } from '../../helpers/utils.js'\nimport { Heading } from '../../components/index.js'\nimport { withStyles } from '../../shared/Styles.js'\nimport type { TitleProps } from './types.js'\n\nconst Title = React.forwardRef<HTMLDivElement, TitleProps>(({ data, className, GSAP }) => {\n const { title, theme } = data\n // const { gsap, ScrollTrigger, SplitText, useGSAP } = GSAP\n const titleRef = useRef<HTMLHeadingElement>(null)\n const splitTextInstance = useRef<SplitText | null>(null)\n useGSAP(() => {\n if (!titleRef.current) return\n const height = titleRef.current?.clientHeight || 80\n splitTextInstance.current = new SplitText(titleRef.current, {\n type: 'words',\n wordsClass: 'word',\n })\n const words = splitTextInstance.current.words\n gsap.set(words, { opacity: 0 })\n ScrollTrigger.create({\n trigger: titleRef.current,\n start: 'bottom bottom-=10%',\n end: `bottom+=${height * 2 + 40}px bottom-=10%`,\n scrub: true,\n onUpdate: (self: any) => {\n const progress = self.progress\n const total = words.length\n const interval = 1 / total\n const overlap = 0.5\n words.forEach((word: any, i: number) => {\n const start = (i / total) * (1 - overlap)\n const width = interval * (1 + overlap)\n let opacity = (progress - start) / width\n opacity = Math.max(0, Math.min(opacity, 1))\n gsap.set(word, { opacity })\n })\n },\n })\n return () => {\n splitTextInstance.current && splitTextInstance.current.revert()\n ScrollTrigger.getAll().forEach((t: { kill: () => any }) => t.kill())\n }\n }, [])\n\n return (\n title && (\n <div className={cn('tablet:mb-[32px] mb-[24px] space-y-4', className, { 'aiui-dark': theme === 'dark' })}>\n <Heading ref={titleRef} as=\"h2\" size={5} html={title} />\n </div>\n )\n )\n})\n\nTitle.displayName = 'Title'\n\nexport default withStyles(Title)\n"],
5
- "mappings": "aAqDQ,cAAAA,MAAA,oBApDR,OAAOC,GAAS,UAAAC,MAAc,QAC9B,OAAS,WAAAC,MAAe,cACxB,OAAS,QAAAC,MAAY,OACrB,OAAS,aAAAC,MAAiB,sBAC1B,OAAS,iBAAAC,MAAqB,0BAC9B,OAAS,MAAAC,MAAU,yBACnB,OAAS,WAAAC,MAAe,4BACxB,OAAS,cAAAC,MAAkB,yBAG3B,MAAMC,EAAQT,EAAM,WAAuC,CAAC,CAAE,KAAAU,EAAM,UAAAC,EAAW,KAAAC,CAAK,IAAM,CACxF,KAAM,CAAE,MAAAC,EAAO,MAAAC,CAAM,EAAIJ,EAEnBK,EAAWd,EAA2B,IAAI,EAC1Ce,EAAoBf,EAAyB,IAAI,EACvD,OAAAC,EAAQ,IAAM,CACZ,GAAI,CAACa,EAAS,QAAS,OACvB,MAAME,EAASF,EAAS,SAAS,cAAgB,GACjDC,EAAkB,QAAU,IAAIZ,EAAUW,EAAS,QAAS,CAC1D,KAAM,QACN,WAAY,MACd,CAAC,EACD,MAAMG,EAAQF,EAAkB,QAAQ,MACxC,OAAAb,EAAK,IAAIe,EAAO,CAAE,QAAS,CAAE,CAAC,EAC9Bb,EAAc,OAAO,CACnB,QAASU,EAAS,QAClB,MAAO,qBACP,IAAK,WAAWE,EAAS,EAAI,EAAE,iBAC/B,MAAO,GACP,SAAWE,GAAc,CACvB,MAAMC,EAAWD,EAAK,SAChBE,EAAQH,EAAM,OACdI,EAAW,EAAID,EACfE,EAAU,GAChBL,EAAM,QAAQ,CAACM,EAAWC,IAAc,CACtC,MAAMC,EAASD,EAAIJ,GAAU,EAAIE,GAC3BI,EAAQL,GAAY,EAAIC,GAC9B,IAAIK,GAAWR,EAAWM,GAASC,EACnCC,EAAU,KAAK,IAAI,EAAG,KAAK,IAAIA,EAAS,CAAC,CAAC,EAC1CzB,EAAK,IAAIqB,EAAM,CAAE,QAAAI,CAAQ,CAAC,CAC5B,CAAC,CACH,CACF,CAAC,EACM,IAAM,CACXZ,EAAkB,SAAWA,EAAkB,QAAQ,OAAO,EAC9DX,EAAc,OAAO,EAAE,QAASwB,GAA2BA,EAAE,KAAK,CAAC,CACrE,CACF,EAAG,CAAC,CAAC,EAGHhB,GACEd,EAAC,OAAI,UAAWO,EAAG,uCAAwCK,EAAW,CAAE,YAAaG,IAAU,MAAO,CAAC,EACrG,SAAAf,EAACQ,EAAA,CAAQ,IAAKQ,EAAU,GAAG,KAAK,KAAM,EAAG,KAAMF,EAAO,EACxD,CAGN,CAAC,EAEDJ,EAAM,YAAc,QAEpB,IAAOqB,EAAQtB,EAAWC,CAAK",
6
- "names": ["jsx", "React", "useRef", "useGSAP", "gsap", "SplitText", "ScrollTrigger", "cn", "Heading", "withStyles", "Title", "data", "className", "GSAP", "title", "theme", "titleRef", "splitTextInstance", "height", "words", "self", "progress", "total", "interval", "overlap", "word", "i", "start", "width", "opacity", "t", "Title_default"]
4
+ "sourcesContent": ["'use client'\nimport React, { useRef } from 'react'\nimport { useGSAP } from '@gsap/react'\nimport { gsap } from 'gsap'\nimport { SplitText } from 'gsap/dist/SplitText'\nimport { ScrollTrigger } from 'gsap/dist/ScrollTrigger'\nimport { cn } from '../../helpers/utils.js'\nimport { Heading } from '../../components/index.js'\nimport { withStyles } from '../../shared/Styles.js'\nimport type { TitleProps } from './types.js'\n\nconst Title = React.forwardRef<HTMLDivElement, TitleProps>(({ data, className }) => {\n const { title, theme } = data\n const titleRef = useRef<HTMLHeadingElement>(null)\n const splitTextInstance = useRef<SplitText | null>(null)\n useGSAP(() => {\n if (!titleRef.current) return\n const height = titleRef.current?.clientHeight || 80\n splitTextInstance.current = new SplitText(titleRef.current, {\n type: 'words',\n wordsClass: 'word',\n })\n const words = splitTextInstance.current.words\n gsap.set(words, { opacity: 0 })\n ScrollTrigger.create({\n trigger: titleRef.current,\n start: 'bottom bottom-=6%',\n end: `bottom+=${height * 2 + 40}px bottom-=6%`,\n scrub: true,\n onUpdate: (self: any) => {\n const progress = self.progress\n const total = words.length\n const interval = 1 / total\n const overlap = 0.5\n words.forEach((word: any, i: number) => {\n const start = (i / total) * (1 - overlap)\n const width = interval * (1 + overlap)\n let opacity = (progress - start) / width\n opacity = Math.max(0, Math.min(opacity, 1))\n gsap.set(word, { opacity })\n })\n },\n })\n return () => {\n splitTextInstance.current && splitTextInstance.current.revert()\n ScrollTrigger.getAll().forEach((t: { kill: () => any }) => t.kill())\n }\n }, [])\n\n return (\n title && (\n <div className={cn('tablet:mb-[32px] mb-[24px] space-y-4', className, { 'aiui-dark': theme === 'dark' })}>\n <Heading ref={titleRef} as=\"h2\" size={5} html={title} />\n </div>\n )\n )\n})\n\nTitle.displayName = 'Title'\n\nexport default withStyles(Title)\n"],
5
+ "mappings": "aAoDQ,cAAAA,MAAA,oBAnDR,OAAOC,GAAS,UAAAC,MAAc,QAC9B,OAAS,WAAAC,MAAe,cACxB,OAAS,QAAAC,MAAY,OACrB,OAAS,aAAAC,MAAiB,sBAC1B,OAAS,iBAAAC,MAAqB,0BAC9B,OAAS,MAAAC,MAAU,yBACnB,OAAS,WAAAC,MAAe,4BACxB,OAAS,cAAAC,MAAkB,yBAG3B,MAAMC,EAAQT,EAAM,WAAuC,CAAC,CAAE,KAAAU,EAAM,UAAAC,CAAU,IAAM,CAClF,KAAM,CAAE,MAAAC,EAAO,MAAAC,CAAM,EAAIH,EACnBI,EAAWb,EAA2B,IAAI,EAC1Cc,EAAoBd,EAAyB,IAAI,EACvD,OAAAC,EAAQ,IAAM,CACZ,GAAI,CAACY,EAAS,QAAS,OACvB,MAAME,EAASF,EAAS,SAAS,cAAgB,GACjDC,EAAkB,QAAU,IAAIX,EAAUU,EAAS,QAAS,CAC1D,KAAM,QACN,WAAY,MACd,CAAC,EACD,MAAMG,EAAQF,EAAkB,QAAQ,MACxC,OAAAZ,EAAK,IAAIc,EAAO,CAAE,QAAS,CAAE,CAAC,EAC9BZ,EAAc,OAAO,CACnB,QAASS,EAAS,QAClB,MAAO,oBACP,IAAK,WAAWE,EAAS,EAAI,EAAE,gBAC/B,MAAO,GACP,SAAWE,GAAc,CACvB,MAAMC,EAAWD,EAAK,SAChBE,EAAQH,EAAM,OACdI,EAAW,EAAID,EACfE,EAAU,GAChBL,EAAM,QAAQ,CAACM,EAAWC,IAAc,CACtC,MAAMC,EAASD,EAAIJ,GAAU,EAAIE,GAC3BI,EAAQL,GAAY,EAAIC,GAC9B,IAAIK,GAAWR,EAAWM,GAASC,EACnCC,EAAU,KAAK,IAAI,EAAG,KAAK,IAAIA,EAAS,CAAC,CAAC,EAC1CxB,EAAK,IAAIoB,EAAM,CAAE,QAAAI,CAAQ,CAAC,CAC5B,CAAC,CACH,CACF,CAAC,EACM,IAAM,CACXZ,EAAkB,SAAWA,EAAkB,QAAQ,OAAO,EAC9DV,EAAc,OAAO,EAAE,QAASuB,GAA2BA,EAAE,KAAK,CAAC,CACrE,CACF,EAAG,CAAC,CAAC,EAGHhB,GACEb,EAAC,OAAI,UAAWO,EAAG,uCAAwCK,EAAW,CAAE,YAAaE,IAAU,MAAO,CAAC,EACrG,SAAAd,EAACQ,EAAA,CAAQ,IAAKO,EAAU,GAAG,KAAK,KAAM,EAAG,KAAMF,EAAO,EACxD,CAGN,CAAC,EAEDH,EAAM,YAAc,QAEpB,IAAOoB,EAAQrB,EAAWC,CAAK",
6
+ "names": ["jsx", "React", "useRef", "useGSAP", "gsap", "SplitText", "ScrollTrigger", "cn", "Heading", "withStyles", "Title", "data", "className", "title", "theme", "titleRef", "splitTextInstance", "height", "words", "self", "progress", "total", "interval", "overlap", "word", "i", "start", "width", "opacity", "t", "Title_default"]
7
7
  }
@@ -6,7 +6,6 @@ export interface Feature {
6
6
  title: string;
7
7
  }
8
8
  export interface TitleProps {
9
- GSAP?: any;
10
9
  data: {
11
10
  /**
12
11
  * 主标题
@@ -1,4 +1,4 @@
1
- import r from"../biz-components/HeroBanner/HeroBanner.js";const o={title:"Biz-Components/HeroBanner",component:r,parameters:{layout:"fullscreen",docs:{description:{component:`
1
+ import r from"../biz-components/HeroBanner/HeroBanner.js";import"gsap";import"@gsap/react";import"gsap/dist/ScrollTrigger";import"gsap/dist/SplitText";const o={title:"Biz-Components/HeroBanner",component:r,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
@@ -6,5 +6,5 @@ HeroBanner \u7EC4\u4EF6\u7528\u4E8E\u5C55\u793A\u7F51\u7AD9\u7684\u4E3B\u8981\u5
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
8
  - \u652F\u6301\u5E95\u90E8\u4EA7\u54C1\u5217\u8868
9
- `}}},tags:["autodocs"]};var i=o;const e="https://cdn.shopify.com/s/files/1/0521/9411/5753/files/aee13b30b2c77fc8d0a46e4f19fa48cb_6a25debf-f95e-4ca6-990b-babcad65216c.png?v=1745468206",t="https://cdn.shopify.com/s/files/1/0517/6767/3016/files/87e32d61fc407d5e6c8aff00f3453072.jpg?v=1745999899",n={args:{data:{title:"Anker Laptop Power",subtitle:"Anker Prime 240W GaN Desktop Charger (4 Ports)",pcImage:{url:e,alt:"default background",thumbnailURL:e,mimeType:"image/jpeg"},mobileImage:{url:e,alt:"default background",thumbnailURL:e,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)"}]}}},m={args:{data:{title:"Power Your Life",subtitle:"Experience the next generation of charging technology with our innovative solutions designed for modern life.",pcImage:{url:t,alt:"dark background",thumbnailURL:t,mimeType:"image/jpeg"},mobileImage:{url:t,alt:"dark background",thumbnailURL:t,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)"}]}}},l={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:e,alt:"default background",thumbnailURL:e,mimeType:"image/jpeg"},mobileImage:{url:e,alt:"default background",thumbnailURL:e,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)"}]}}};export{m as DarkTheme,n as LightTheme,l as WithoutSecondaryButton,i as default};
9
+ `}}},tags:["autodocs"]};var c=o;const e="https://cdn.shopify.com/s/files/1/0521/9411/5753/files/aee13b30b2c77fc8d0a46e4f19fa48cb_6a25debf-f95e-4ca6-990b-babcad65216c.png?v=1745468206",t="https://cdn.shopify.com/s/files/1/0517/6767/3016/files/87e32d61fc407d5e6c8aff00f3453072.jpg?v=1745999899",h={args:{data:{title:"Anker Laptop Power",subtitle:"Anker Prime 240W GaN Desktop Charger (4 Ports)",pcImage:{url:e,alt:"default background",thumbnailURL:e,mimeType:"image/jpeg"},mobileImage:{url:e,alt:"default background",thumbnailURL:e,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)"}]}}},d={args:{data:{title:"Power Your Life",subtitle:"Experience the next generation of charging technology with our innovative solutions designed for modern life.",pcImage:{url:t,alt:"dark background",thumbnailURL:t,mimeType:"image/jpeg"},mobileImage:{url:t,alt:"dark background",thumbnailURL:t,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)"}]}}},f={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:e,alt:"default background",thumbnailURL:e,mimeType:"image/jpeg"},mobileImage:{url:e,alt:"default background",thumbnailURL:e,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)"}]}}};export{d as DarkTheme,h as LightTheme,f as WithoutSecondaryButton,c as default};
10
10
  //# 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'\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": "AACA,OAAOA,MAAgB,6CAEvB,MAAMC,EAAO,CACX,MAAO,4BACP,UAAWD,EACX,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,IAAOE,EAAQD,EAGf,MAAME,EACJ,gJAEIC,EACJ,2GAEWC,EAAoB,CAC/B,KAAM,CACJ,KAAM,CACJ,MAAO,qBACP,SAAU,iDACV,QAAS,CACP,IAAKF,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,EAEaG,EAAmB,CAC9B,KAAM,CACJ,KAAM,CACJ,MAAO,kBACP,SACE,gHACF,QAAS,CACP,IAAKF,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,EAEaG,EAAgC,CAC3C,KAAM,CACJ,KAAM,CACJ,MAAO,qBACP,SACE,+GACF,QAAS,CACP,IAAKJ,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",
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": "AACA,OAAOA,MAAgB,6CACvB,MAAqB,OACrB,MAAwB,cACxB,MAA8B,0BAC9B,MAA0B,sBAE1B,MAAMC,EAAO,CACX,MAAO,4BACP,UAAWD,EACX,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,IAAOE,EAAQD,EAGf,MAAME,EACJ,gJAEIC,EACJ,2GAEWC,EAAoB,CAC/B,KAAM,CACJ,KAAM,CACJ,MAAO,qBACP,SAAU,iDACV,QAAS,CACP,IAAKF,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,EAEaG,EAAmB,CAC9B,KAAM,CACJ,KAAM,CACJ,MAAO,kBACP,SACE,gHACF,QAAS,CACP,IAAKF,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,EAEaG,EAAgC,CAC3C,KAAM,CACJ,KAAM,CACJ,MAAO,qBACP,SACE,+GACF,QAAS,CACP,IAAKJ,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
6
  "names": ["HeroBanner", "meta", "HeroBanner_stories_default", "defaultBackground", "darkBackground", "LightTheme", "DarkTheme", "WithoutSecondaryButton"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import"react";import e from"../biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js";import{gsap as o}from"gsap";import{useGSAP as l}from"@gsap/react";import{ScrollTrigger as a}from"gsap/dist/ScrollTrigger";import{SplitText as i}from"gsap/dist/SplitText";const r={title:"Biz-Components/MultiLayoutGraphicBlock",component:e,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 d=r;const t=[{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"}],p=[{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:"#"}}],g={args:{GSAP:{gsap:o,ScrollTrigger:a,SplitText:i,useGSAP:l},data:{items:t,carousel:{items:[]}}}},y={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"}]}}},k={args:{data:{items:t.slice(0,1),carousel:{items:p}}}};export{g as Default,y as ThirdWidth,k as WithCarousel,d as default};
1
+ import"react";import e from"../biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js";import"gsap";import"@gsap/react";import"gsap/dist/ScrollTrigger";import"gsap/dist/SplitText";const o={title:"Biz-Components/MultiLayoutGraphicBlock",component:e,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 d=o;const t=[{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"}],l=[{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:"#"}}],g={args:{data:{items:t,carousel:{items:[]}}}},y={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"}]}}},k={args:{data:{items:t.slice(0,1),carousel:{items:l}}}};export{g as Default,y as ThirdWidth,k as WithCarousel,d as default};
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 GSAP: { gsap, ScrollTrigger, SplitText, useGSAP },\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", "gsap", "useGSAP", "ScrollTrigger", "SplitText", "meta", "MultiLayoutGraphicBlock_stories_default", "baseItems", "carouselItems", "Default", "ThirdWidth", "WithCarousel"]
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": "AACA,MAAkB,QAClB,OAAOA,MAA6B,uEAEpC,MAAqB,OACrB,MAAwB,cACxB,MAA8B,0BAC9B,MAA0B,sBAE1B,MAAMC,EAA6C,CACjD,MAAO,yCACP,UAAWD,EACX,KAAM,CAAC,UAAU,EACjB,WAAY,CACV,OAAQ,aACR,KAAM,CACJ,YAAa,CACX,UAAW,gIACb,CACF,CACF,CACF,EAEA,IAAOE,EAAQD,EAIf,MAAME,EAAY,CAChB,CACE,MAAO,QACP,MAAO,gBACP,YAAa,+DACb,SAAU,6CACV,cAAe,CAAE,KAAM,qBAAO,KAAM,GAAI,EACxC,gBAAiB,CAAE,KAAM,qBAAO,KAAM,GAAI,EAC1C,MAAO,MACT,EACA,CACE,MAAO,OACP,MAAO,gBACP,YAAa,+DACb,SAAU,2CACV,cAAe,CAAE,KAAM,qBAAO,KAAM,GAAI,EACxC,gBAAiB,CAAE,KAAM,qBAAO,KAAM,GAAI,EAC1C,MAAO,MACT,EACA,CACE,MAAO,QACP,MAAO,gBACP,YAAa,+DACb,SAAU,CACR,IAAK,2CACL,IAAK,SACL,aAAc,2CACd,SAAU,WACZ,EACA,cAAe,CAAE,KAAM,qBAAO,KAAM,GAAI,EACxC,gBAAiB,CAAE,KAAM,qBAAO,KAAM,GAAI,EAC1C,MAAO,MACT,CACF,EAEMC,EAAgB,CACpB,CACE,MAAO,OACP,MAAO,gBACP,YAAa,4BACb,SAAU,CACR,IAAK,8CACL,IAAK,YACL,aAAc,8CACd,SAAU,WACZ,EACA,cAAe,CAAE,KAAM,qBAAO,KAAM,GAAI,EACxC,gBAAiB,CAAE,KAAM,qBAAO,KAAM,GAAI,CAC5C,EACA,CACE,MAAO,QACP,MAAO,gBACP,YAAa,4BACb,SAAU,CACR,IAAK,8CACL,IAAK,YACL,aAAc,8CACd,SAAU,WACZ,EACA,cAAe,CAAE,KAAM,qBAAO,KAAM,GAAI,EACxC,gBAAiB,CAAE,KAAM,qBAAO,KAAM,GAAI,CAC5C,EACA,CACE,MAAO,QACP,MAAO,gBACP,YAAa,4BACb,SAAU,8CACV,cAAe,CAAE,KAAM,qBAAO,KAAM,GAAI,EACxC,gBAAiB,CAAE,KAAM,qBAAO,KAAM,GAAI,CAC5C,EACA,CACE,MAAO,QACP,MAAO,gBACP,YAAa,4BACb,SAAU,CACR,IAAK,8CACL,IAAK,YACL,aAAc,8CACd,SAAU,WACZ,EACA,cAAe,CAAE,KAAM,qBAAO,KAAM,GAAI,EACxC,gBAAiB,CAAE,KAAM,qBAAO,KAAM,GAAI,CAC5C,EACA,CACE,MAAO,QACP,MAAO,gBACP,YAAa,4BACb,SAAU,CACR,IAAK,8CACL,IAAK,YACL,aAAc,8CACd,SAAU,WACZ,EACA,cAAe,CAAE,KAAM,qBAAO,KAAM,GAAI,EACxC,gBAAiB,CAAE,KAAM,qBAAO,KAAM,GAAI,CAC5C,CACF,EAEaC,EAAiB,CAC5B,KAAM,CACJ,KAAM,CACJ,MAAOF,EACP,SAAU,CAAE,MAAO,CAAC,CAAE,CACxB,CACF,CACF,EAEaG,EAAoB,CAC/B,KAAM,CACJ,KAAM,CACJ,MAAO,CACL,CACE,MAAO,QACP,MAAO,gBACP,YAAa,+DACb,SAAU,CACR,IAAK,6CACL,IAAK,SACL,aAAc,6CACd,SAAU,WACZ,EACA,cAAe,CAAE,KAAM,qBAAO,KAAM,GAAI,EACxC,gBAAiB,CAAE,KAAM,qBAAO,KAAM,GAAI,EAC1C,MAAO,MACT,EACA,CACE,MAAO,OACP,MAAO,gBACP,YAAa,+DACb,SAAU,CACR,IAAK,2CACL,IAAK,SACL,aAAc,2CACd,SAAU,WACZ,EACA,cAAe,CAAE,KAAM,qBAAO,KAAM,GAAI,EACxC,gBAAiB,CAAE,KAAM,qBAAO,KAAM,GAAI,EAC1C,MAAO,WACT,EACA,CACE,MAAO,QACP,MAAO,gBACP,YAAa,+DACb,SAAU,CACR,IAAK,2CACL,IAAK,SACL,aAAc,2CACd,SAAU,WACZ,EACA,cAAe,CAAE,KAAM,qBAAO,KAAM,GAAI,EACxC,gBAAiB,CAAE,KAAM,qBAAO,KAAM,GAAI,EAC1C,MAAO,WACT,EACA,CACE,MAAO,QACP,MAAO,gBACP,YAAa,0DACb,SAAU,CACR,IAAK,2CACL,IAAK,SACL,aAAc,2CACd,SAAU,WACZ,EACA,cAAe,CAAE,KAAM,qBAAO,KAAM,GAAI,EACxC,gBAAiB,CAAE,KAAM,qBAAO,KAAM,GAAI,EAC1C,MAAO,WACT,CACF,CACF,CACF,CACF,EAEaC,EAAsB,CACjC,KAAM,CACJ,KAAM,CACJ,MAAOJ,EAAU,MAAM,EAAG,CAAC,EAC3B,SAAU,CAAE,MAAOC,CAAc,CACnC,CACF,CACF",
6
+ "names": ["MultiLayoutGraphicBlock", "meta", "MultiLayoutGraphicBlock_stories_default", "baseItems", "carouselItems", "Default", "ThirdWidth", "WithCarousel"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  import type { StoryObj } from '@storybook/react';
2
2
  declare const meta: {
3
3
  title: string;
4
- component: ({ data, className, GSAP }: {
4
+ component: ({ data, className }: {
5
5
  className?: string;
6
6
  data: {
7
7
  key?: string;
@@ -18,7 +18,6 @@ declare const meta: {
18
18
  itemShape?: "round" | "square";
19
19
  primaryButton?: string;
20
20
  };
21
- GSAP?: any;
22
21
  }) => import("react/jsx-runtime").JSX.Element;
23
22
  parameters: {
24
23
  layout: string;
@@ -1,2 +1,2 @@
1
- import p from"../biz-components/AccordionCards/index.js";import{gsap as e}from"gsap";import{useGSAP as o}from"@gsap/react";import{ScrollTrigger as t}from"gsap/dist/ScrollTrigger";import{SplitText as s}from"gsap/dist/SplitText";const i={title:"Biz-Components/AccordionCards",component:p,parameters:{layout:"fullscreen"},tags:["autodocs"]};var f=i;const r=[{title:"Apple Charging Solutions",img:{url:"https://cdn.shopify.com/s/files/1/0521/9411/5753/files/Mask_group_3_f2d0041d-7b54-4d6a-a504-1dbe6c2de6ee.png?v=1718245219, https://cdn.shopify.com/s/files/1/0521/9411/5753/files/1_c67da28a-50c5-4821-8712-330259ea6039.png?v=1718245627 768"},subTitle:"Dependable Charging for Your Entire Apple Ecosystem."},{title:"Apple Charging Solutions",img:{url:"https://cdn.shopify.com/s/files/1/0521/9411/5753/files/Mask_group_3_f2d0041d-7b54-4d6a-a504-1dbe6c2de6ee.png?v=1718245219, https://cdn.shopify.com/s/files/1/0521/9411/5753/files/1_c67da28a-50c5-4821-8712-330259ea6039.png?v=1718245627 768"},subTitle:"Dependable Charging for Your Entire Apple Ecosystem."},{title:"Apple Charging Solutions",img:{url:"https://cdn.shopify.com/s/files/1/0521/9411/5753/files/Mask_group_3_f2d0041d-7b54-4d6a-a504-1dbe6c2de6ee.png?v=1718245219, https://cdn.shopify.com/s/files/1/0521/9411/5753/files/1_c67da28a-50c5-4821-8712-330259ea6039.png?v=1718245627 768"},subTitle:"Dependable Charging for Your Entire Apple Ecosystem."},{title:"Apple Charging Solutions",img:{url:"https://cdn.shopify.com/s/files/1/0521/9411/5753/files/Mask_group_3_f2d0041d-7b54-4d6a-a504-1dbe6c2de6ee.png?v=1718245219, https://cdn.shopify.com/s/files/1/0521/9411/5753/files/1_c67da28a-50c5-4821-8712-330259ea6039.png?v=1718245627 768"},subTitle:"Dependable Charging for Your Entire Apple Ecosystem."}],g={args:{GSAP:{gsap:e,ScrollTrigger:t,SplitText:s,useGSAP:o},data:{products:r,primaryButton:"Learn More"}}},m={args:{GSAP:{gsap:e,ScrollTrigger:t,SplitText:s,useGSAP:o},data:{products:r,shape:"round",itemShape:"round",primaryButton:"Learn More"}}};export{g as Default,m as Round,f as default};
1
+ import o from"../biz-components/AccordionCards/index.js";import"gsap";import"@gsap/react";import"gsap/dist/ScrollTrigger";import"gsap/dist/SplitText";const t={title:"Biz-Components/AccordionCards",component:o,parameters:{layout:"fullscreen"},tags:["autodocs"]};var f=t;const e=[{title:"Apple Charging Solutions",img:{url:"https://cdn.shopify.com/s/files/1/0521/9411/5753/files/Mask_group_3_f2d0041d-7b54-4d6a-a504-1dbe6c2de6ee.png?v=1718245219, https://cdn.shopify.com/s/files/1/0521/9411/5753/files/1_c67da28a-50c5-4821-8712-330259ea6039.png?v=1718245627 768"},subTitle:"Dependable Charging for Your Entire Apple Ecosystem."},{title:"Apple Charging Solutions",img:{url:"https://cdn.shopify.com/s/files/1/0521/9411/5753/files/Mask_group_3_f2d0041d-7b54-4d6a-a504-1dbe6c2de6ee.png?v=1718245219, https://cdn.shopify.com/s/files/1/0521/9411/5753/files/1_c67da28a-50c5-4821-8712-330259ea6039.png?v=1718245627 768"},subTitle:"Dependable Charging for Your Entire Apple Ecosystem."},{title:"Apple Charging Solutions",img:{url:"https://cdn.shopify.com/s/files/1/0521/9411/5753/files/Mask_group_3_f2d0041d-7b54-4d6a-a504-1dbe6c2de6ee.png?v=1718245219, https://cdn.shopify.com/s/files/1/0521/9411/5753/files/1_c67da28a-50c5-4821-8712-330259ea6039.png?v=1718245627 768"},subTitle:"Dependable Charging for Your Entire Apple Ecosystem."},{title:"Apple Charging Solutions",img:{url:"https://cdn.shopify.com/s/files/1/0521/9411/5753/files/Mask_group_3_f2d0041d-7b54-4d6a-a504-1dbe6c2de6ee.png?v=1718245219, https://cdn.shopify.com/s/files/1/0521/9411/5753/files/1_c67da28a-50c5-4821-8712-330259ea6039.png?v=1718245627 768"},subTitle:"Dependable Charging for Your Entire Apple Ecosystem."}],g={args:{data:{products:e,primaryButton:"Learn More"}}},m={args:{data:{products:e,shape:"round",itemShape:"round",primaryButton:"Learn More"}}};export{g as Default,m as Round,f as default};
2
2
  //# sourceMappingURL=accordionCards.stories.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/stories/accordionCards.stories.tsx"],
4
- "sourcesContent": ["import type { Meta, StoryObj } from '@storybook/react'\nimport AccordionCards from '../biz-components/AccordionCards/index.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/AccordionCards',\n component: AccordionCards,\n parameters: {\n layout: 'fullscreen',\n },\n tags: ['autodocs'],\n} satisfies Meta<typeof AccordionCards>\n\nexport default meta\ntype Story = StoryObj<typeof meta>\n\nconst mock = [\n {\n title: 'Apple Charging Solutions',\n img: {\n url: 'https://cdn.shopify.com/s/files/1/0521/9411/5753/files/Mask_group_3_f2d0041d-7b54-4d6a-a504-1dbe6c2de6ee.png?v=1718245219, https://cdn.shopify.com/s/files/1/0521/9411/5753/files/1_c67da28a-50c5-4821-8712-330259ea6039.png?v=1718245627 768',\n },\n subTitle: 'Dependable Charging for Your Entire Apple Ecosystem.',\n },\n {\n title: 'Apple Charging Solutions',\n img: {\n url: 'https://cdn.shopify.com/s/files/1/0521/9411/5753/files/Mask_group_3_f2d0041d-7b54-4d6a-a504-1dbe6c2de6ee.png?v=1718245219, https://cdn.shopify.com/s/files/1/0521/9411/5753/files/1_c67da28a-50c5-4821-8712-330259ea6039.png?v=1718245627 768',\n },\n subTitle: 'Dependable Charging for Your Entire Apple Ecosystem.',\n },\n {\n title: 'Apple Charging Solutions',\n img: {\n url: 'https://cdn.shopify.com/s/files/1/0521/9411/5753/files/Mask_group_3_f2d0041d-7b54-4d6a-a504-1dbe6c2de6ee.png?v=1718245219, https://cdn.shopify.com/s/files/1/0521/9411/5753/files/1_c67da28a-50c5-4821-8712-330259ea6039.png?v=1718245627 768',\n },\n subTitle: 'Dependable Charging for Your Entire Apple Ecosystem.',\n },\n {\n title: 'Apple Charging Solutions',\n img: {\n url: 'https://cdn.shopify.com/s/files/1/0521/9411/5753/files/Mask_group_3_f2d0041d-7b54-4d6a-a504-1dbe6c2de6ee.png?v=1718245219, https://cdn.shopify.com/s/files/1/0521/9411/5753/files/1_c67da28a-50c5-4821-8712-330259ea6039.png?v=1718245627 768',\n },\n subTitle: 'Dependable Charging for Your Entire Apple Ecosystem.',\n },\n]\n\nexport const Default: Story = {\n args: {\n GSAP: { gsap, ScrollTrigger, SplitText, useGSAP },\n data: {\n products: mock,\n primaryButton: 'Learn More',\n },\n },\n}\n\nexport const Round: Story = {\n args: {\n GSAP: { gsap, ScrollTrigger, SplitText, useGSAP },\n data: {\n products: mock,\n shape: 'round',\n itemShape: 'round',\n primaryButton: 'Learn More',\n },\n },\n}\n"],
5
- "mappings": "AACA,OAAOA,MAAoB,4CAC3B,OAAS,QAAAC,MAAY,OACrB,OAAS,WAAAC,MAAe,cACxB,OAAS,iBAAAC,MAAqB,0BAC9B,OAAS,aAAAC,MAAiB,sBAE1B,MAAMC,EAAO,CACX,MAAO,gCACP,UAAWL,EACX,WAAY,CACV,OAAQ,YACV,EACA,KAAM,CAAC,UAAU,CACnB,EAEA,IAAOM,EAAQD,EAGf,MAAME,EAAO,CACX,CACE,MAAO,2BACP,IAAK,CACH,IAAK,+OACP,EACA,SAAU,sDACZ,EACA,CACE,MAAO,2BACP,IAAK,CACH,IAAK,+OACP,EACA,SAAU,sDACZ,EACA,CACE,MAAO,2BACP,IAAK,CACH,IAAK,+OACP,EACA,SAAU,sDACZ,EACA,CACE,MAAO,2BACP,IAAK,CACH,IAAK,+OACP,EACA,SAAU,sDACZ,CACF,EAEaC,EAAiB,CAC5B,KAAM,CACJ,KAAM,CAAE,KAAAP,EAAM,cAAAE,EAAe,UAAAC,EAAW,QAAAF,CAAQ,EAChD,KAAM,CACJ,SAAUK,EACV,cAAe,YACjB,CACF,CACF,EAEaE,EAAe,CAC1B,KAAM,CACJ,KAAM,CAAE,KAAAR,EAAM,cAAAE,EAAe,UAAAC,EAAW,QAAAF,CAAQ,EAChD,KAAM,CACJ,SAAUK,EACV,MAAO,QACP,UAAW,QACX,cAAe,YACjB,CACF,CACF",
6
- "names": ["AccordionCards", "gsap", "useGSAP", "ScrollTrigger", "SplitText", "meta", "accordionCards_stories_default", "mock", "Default", "Round"]
4
+ "sourcesContent": ["import type { Meta, StoryObj } from '@storybook/react'\nimport AccordionCards from '../biz-components/AccordionCards/index.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/AccordionCards',\n component: AccordionCards,\n parameters: {\n layout: 'fullscreen',\n },\n tags: ['autodocs'],\n} satisfies Meta<typeof AccordionCards>\n\nexport default meta\ntype Story = StoryObj<typeof meta>\n\nconst mock = [\n {\n title: 'Apple Charging Solutions',\n img: {\n url: 'https://cdn.shopify.com/s/files/1/0521/9411/5753/files/Mask_group_3_f2d0041d-7b54-4d6a-a504-1dbe6c2de6ee.png?v=1718245219, https://cdn.shopify.com/s/files/1/0521/9411/5753/files/1_c67da28a-50c5-4821-8712-330259ea6039.png?v=1718245627 768',\n },\n subTitle: 'Dependable Charging for Your Entire Apple Ecosystem.',\n },\n {\n title: 'Apple Charging Solutions',\n img: {\n url: 'https://cdn.shopify.com/s/files/1/0521/9411/5753/files/Mask_group_3_f2d0041d-7b54-4d6a-a504-1dbe6c2de6ee.png?v=1718245219, https://cdn.shopify.com/s/files/1/0521/9411/5753/files/1_c67da28a-50c5-4821-8712-330259ea6039.png?v=1718245627 768',\n },\n subTitle: 'Dependable Charging for Your Entire Apple Ecosystem.',\n },\n {\n title: 'Apple Charging Solutions',\n img: {\n url: 'https://cdn.shopify.com/s/files/1/0521/9411/5753/files/Mask_group_3_f2d0041d-7b54-4d6a-a504-1dbe6c2de6ee.png?v=1718245219, https://cdn.shopify.com/s/files/1/0521/9411/5753/files/1_c67da28a-50c5-4821-8712-330259ea6039.png?v=1718245627 768',\n },\n subTitle: 'Dependable Charging for Your Entire Apple Ecosystem.',\n },\n {\n title: 'Apple Charging Solutions',\n img: {\n url: 'https://cdn.shopify.com/s/files/1/0521/9411/5753/files/Mask_group_3_f2d0041d-7b54-4d6a-a504-1dbe6c2de6ee.png?v=1718245219, https://cdn.shopify.com/s/files/1/0521/9411/5753/files/1_c67da28a-50c5-4821-8712-330259ea6039.png?v=1718245627 768',\n },\n subTitle: 'Dependable Charging for Your Entire Apple Ecosystem.',\n },\n]\n\nexport const Default: Story = {\n args: {\n data: {\n products: mock,\n primaryButton: 'Learn More',\n },\n },\n}\n\nexport const Round: Story = {\n args: {\n data: {\n products: mock,\n shape: 'round',\n itemShape: 'round',\n primaryButton: 'Learn More',\n },\n },\n}\n"],
5
+ "mappings": "AACA,OAAOA,MAAoB,4CAC3B,MAAqB,OACrB,MAAwB,cACxB,MAA8B,0BAC9B,MAA0B,sBAE1B,MAAMC,EAAO,CACX,MAAO,gCACP,UAAWD,EACX,WAAY,CACV,OAAQ,YACV,EACA,KAAM,CAAC,UAAU,CACnB,EAEA,IAAOE,EAAQD,EAGf,MAAME,EAAO,CACX,CACE,MAAO,2BACP,IAAK,CACH,IAAK,+OACP,EACA,SAAU,sDACZ,EACA,CACE,MAAO,2BACP,IAAK,CACH,IAAK,+OACP,EACA,SAAU,sDACZ,EACA,CACE,MAAO,2BACP,IAAK,CACH,IAAK,+OACP,EACA,SAAU,sDACZ,EACA,CACE,MAAO,2BACP,IAAK,CACH,IAAK,+OACP,EACA,SAAU,sDACZ,CACF,EAEaC,EAAiB,CAC5B,KAAM,CACJ,KAAM,CACJ,SAAUD,EACV,cAAe,YACjB,CACF,CACF,EAEaE,EAAe,CAC1B,KAAM,CACJ,KAAM,CACJ,SAAUF,EACV,MAAO,QACP,UAAW,QACX,cAAe,YACjB,CACF,CACF",
6
+ "names": ["AccordionCards", "meta", "accordionCards_stories_default", "mock", "Default", "Round"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import s from"../biz-components/Category/index.js";import{gsap as t}from"gsap";import{useGSAP as e}from"@gsap/react";import{ScrollTrigger as o}from"gsap/dist/ScrollTrigger";import{SplitText as r}from"gsap/dist/SplitText";const m={title:"Biz-Components/Category",component:s,parameters:{layout:"fullscreen"},tags:["autodocs"]};var l=m;const a=[{name:"Anker Prime 27",image:"https://cdn.shopify.com/s/files/1/0517/6767/3016/files/e7be0a68-29b9-431c-8c0f-21bf968b1545_Product_Image_2.png?v=1744274554"},{name:"Anker Prime 27",image:"https://cdn.shopify.com/s/files/1/0517/6767/3016/files/e7be0a68-29b9-431c-8c0f-21bf968b1545_Product_Image_2.png?v=1744274554"},{name:"Anker Prime 27",image:"https://cdn.shopify.com/s/files/1/0517/6767/3016/files/e7be0a68-29b9-431c-8c0f-21bf968b1545_Product_Image_2.png?v=1744274554"}],g={args:{GSAP:{gsap:t,ScrollTrigger:o,SplitText:r,useGSAP:e},data:{isShowSelect:!0,productData:[],products:a},className:"p-4"}},u={args:{GSAP:{gsap:t,ScrollTrigger:o,SplitText:r,useGSAP:e},data:{isShowSelect:!0,productData:[],shape:"round",products:a},className:"p-4"}};export{g as Default,u as Round,l as default};
1
+ import e from"../biz-components/Category/index.js";import"gsap";import"@gsap/react";import"gsap/dist/ScrollTrigger";import"gsap/dist/SplitText";const o={title:"Biz-Components/Category",component:e,parameters:{layout:"fullscreen"},tags:["autodocs"]};var l=o;const t=[{name:"Anker Prime 27",image:"https://cdn.shopify.com/s/files/1/0517/6767/3016/files/e7be0a68-29b9-431c-8c0f-21bf968b1545_Product_Image_2.png?v=1744274554"},{name:"Anker Prime 27",image:"https://cdn.shopify.com/s/files/1/0517/6767/3016/files/e7be0a68-29b9-431c-8c0f-21bf968b1545_Product_Image_2.png?v=1744274554"},{name:"Anker Prime 27",image:"https://cdn.shopify.com/s/files/1/0517/6767/3016/files/e7be0a68-29b9-431c-8c0f-21bf968b1545_Product_Image_2.png?v=1744274554"}],g={args:{data:{isShowSelect:!0,productData:[],products:t},className:"p-4"}},u={args:{data:{isShowSelect:!0,productData:[],shape:"round",products:t},className:"p-4"}};export{g as Default,u as Round,l as default};
2
2
  //# sourceMappingURL=category.stories.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/stories/category.stories.tsx"],
4
- "sourcesContent": ["import type { Meta, StoryObj } from '@storybook/react'\nimport Category from '../biz-components/Category/index.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/Category',\n component: Category,\n parameters: {\n layout: 'fullscreen',\n },\n tags: ['autodocs'],\n} satisfies Meta<typeof Category>\n\nexport default meta\ntype Story = StoryObj<typeof meta>\n\nconst mock = [\n {\n name: 'Anker Prime 27',\n image:\n 'https://cdn.shopify.com/s/files/1/0517/6767/3016/files/e7be0a68-29b9-431c-8c0f-21bf968b1545_Product_Image_2.png?v=1744274554',\n },\n {\n name: 'Anker Prime 27',\n image:\n 'https://cdn.shopify.com/s/files/1/0517/6767/3016/files/e7be0a68-29b9-431c-8c0f-21bf968b1545_Product_Image_2.png?v=1744274554',\n },\n {\n name: 'Anker Prime 27',\n image:\n 'https://cdn.shopify.com/s/files/1/0517/6767/3016/files/e7be0a68-29b9-431c-8c0f-21bf968b1545_Product_Image_2.png?v=1744274554',\n },\n]\n\nexport const Default: Story = {\n args: {\n GSAP: { gsap, ScrollTrigger, SplitText, useGSAP },\n data: {\n isShowSelect: true,\n productData: [],\n products: mock,\n },\n className: 'p-4',\n },\n}\n\nexport const Round: Story = {\n args: {\n GSAP: { gsap, ScrollTrigger, SplitText, useGSAP },\n data: {\n isShowSelect: true,\n productData: [],\n shape: 'round',\n products: mock,\n },\n className: 'p-4',\n },\n}\n"],
5
- "mappings": "AACA,OAAOA,MAAc,sCACrB,OAAS,QAAAC,MAAY,OACrB,OAAS,WAAAC,MAAe,cACxB,OAAS,iBAAAC,MAAqB,0BAC9B,OAAS,aAAAC,MAAiB,sBAE1B,MAAMC,EAAO,CACX,MAAO,0BACP,UAAWL,EACX,WAAY,CACV,OAAQ,YACV,EACA,KAAM,CAAC,UAAU,CACnB,EAEA,IAAOM,EAAQD,EAGf,MAAME,EAAO,CACX,CACE,KAAM,iBACN,MACE,8HACJ,EACA,CACE,KAAM,iBACN,MACE,8HACJ,EACA,CACE,KAAM,iBACN,MACE,8HACJ,CACF,EAEaC,EAAiB,CAC5B,KAAM,CACJ,KAAM,CAAE,KAAAP,EAAM,cAAAE,EAAe,UAAAC,EAAW,QAAAF,CAAQ,EAChD,KAAM,CACJ,aAAc,GACd,YAAa,CAAC,EACd,SAAUK,CACZ,EACA,UAAW,KACb,CACF,EAEaE,EAAe,CAC1B,KAAM,CACJ,KAAM,CAAE,KAAAR,EAAM,cAAAE,EAAe,UAAAC,EAAW,QAAAF,CAAQ,EAChD,KAAM,CACJ,aAAc,GACd,YAAa,CAAC,EACd,MAAO,QACP,SAAUK,CACZ,EACA,UAAW,KACb,CACF",
6
- "names": ["Category", "gsap", "useGSAP", "ScrollTrigger", "SplitText", "meta", "category_stories_default", "mock", "Default", "Round"]
4
+ "sourcesContent": ["import type { Meta, StoryObj } from '@storybook/react'\nimport Category from '../biz-components/Category/index.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/Category',\n component: Category,\n parameters: {\n layout: 'fullscreen',\n },\n tags: ['autodocs'],\n} satisfies Meta<typeof Category>\n\nexport default meta\ntype Story = StoryObj<typeof meta>\n\nconst mock = [\n {\n name: 'Anker Prime 27',\n image:\n 'https://cdn.shopify.com/s/files/1/0517/6767/3016/files/e7be0a68-29b9-431c-8c0f-21bf968b1545_Product_Image_2.png?v=1744274554',\n },\n {\n name: 'Anker Prime 27',\n image:\n 'https://cdn.shopify.com/s/files/1/0517/6767/3016/files/e7be0a68-29b9-431c-8c0f-21bf968b1545_Product_Image_2.png?v=1744274554',\n },\n {\n name: 'Anker Prime 27',\n image:\n 'https://cdn.shopify.com/s/files/1/0517/6767/3016/files/e7be0a68-29b9-431c-8c0f-21bf968b1545_Product_Image_2.png?v=1744274554',\n },\n]\n\nexport const Default: Story = {\n args: {\n data: {\n isShowSelect: true,\n productData: [],\n products: mock,\n },\n className: 'p-4',\n },\n}\n\nexport const Round: Story = {\n args: {\n data: {\n isShowSelect: true,\n productData: [],\n shape: 'round',\n products: mock,\n },\n className: 'p-4',\n },\n}\n"],
5
+ "mappings": "AACA,OAAOA,MAAc,sCACrB,MAAqB,OACrB,MAAwB,cACxB,MAA8B,0BAC9B,MAA0B,sBAE1B,MAAMC,EAAO,CACX,MAAO,0BACP,UAAWD,EACX,WAAY,CACV,OAAQ,YACV,EACA,KAAM,CAAC,UAAU,CACnB,EAEA,IAAOE,EAAQD,EAGf,MAAME,EAAO,CACX,CACE,KAAM,iBACN,MACE,8HACJ,EACA,CACE,KAAM,iBACN,MACE,8HACJ,EACA,CACE,KAAM,iBACN,MACE,8HACJ,CACF,EAEaC,EAAiB,CAC5B,KAAM,CACJ,KAAM,CACJ,aAAc,GACd,YAAa,CAAC,EACd,SAAUD,CACZ,EACA,UAAW,KACb,CACF,EAEaE,EAAe,CAC1B,KAAM,CACJ,KAAM,CACJ,aAAc,GACd,YAAa,CAAC,EACd,MAAO,QACP,SAAUF,CACZ,EACA,UAAW,KACb,CACF",
6
+ "names": ["Category", "meta", "category_stories_default", "mock", "Default", "Round"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import s from"../biz-components/Evaluate/index.js";import{gsap as e}from"gsap";import{useGSAP as t}from"@gsap/react";import{ScrollTrigger as r}from"gsap/dist/ScrollTrigger";import{SplitText as o}from"gsap/dist/SplitText";const i={title:"Biz-Components/Evaluate",component:s,parameters:{layout:"fullscreen"},tags:["autodocs"]};var f=i;const a=[{rating:4,title:"Theoldpiggery",subTitle:"Fast Charging for 3 Devices",description:"Anker Prime 27,650mAh Power Bank (250W)",avatar:{url:"https://cdn.shopify.com/s/files/1/0521/9411/5753/files/85087c9c0ec8c86b481eaea247812c3e.png?v=1744612102"},img:{url:"https://cdn.shopify.com/s/files/1/0517/6767/3016/files/e7be0a68-29b9-431c-8c0f-21bf968b1545_Product_Image_2.png?v=1744274554"}},{rating:3,title:"Theoldpiggery",subTitle:"Fast Charging for 3 Devices",description:"Anker Prime 27,650mAh Power Bank (250W)",avatar:{url:"https://cdn.shopify.com/s/files/1/0521/9411/5753/files/85087c9c0ec8c86b481eaea247812c3e.png?v=1744612102"},img:{url:"https://cdn.shopify.com/s/files/1/0517/6767/3016/files/e7be0a68-29b9-431c-8c0f-21bf968b1545_Product_Image_2.png?v=1744274554"}},{rating:5,title:"Theoldpiggery",subTitle:"Fast Charging for 3 Devices",description:"Anker Prime 27,650mAh Power Bank (250W)Anker Prime 27,650mAh Power Bank (250W)Anker Prime 27,650mAh Power Bank (250W)650mAh Power Bank (250W)650mAh Power Bank (250W)",avatar:{url:"https://cdn.shopify.com/s/files/1/0521/9411/5753/files/85087c9c0ec8c86b481eaea247812c3e.png?v=1744612102"},img:{url:"https://cdn.shopify.com/s/files/1/0517/6767/3016/files/e7be0a68-29b9-431c-8c0f-21bf968b1545_Product_Image_2.png?v=1744274554"}}],g={args:{GSAP:{gsap:e,ScrollTrigger:r,SplitText:o,useGSAP:t},data:{products:a},className:"p-4"}},h={args:{GSAP:{gsap:e,ScrollTrigger:r,SplitText:o,useGSAP:t},data:{products:a,shape:"round"},className:"p-4"}};export{g as Default,h as Round,f as default};
1
+ import t from"../biz-components/Evaluate/index.js";const a={title:"Biz-Components/Evaluate",component:t,parameters:{layout:"fullscreen"},tags:["autodocs"]};var s=a;const e=[{rating:4,title:"Theoldpiggery",subTitle:"Fast Charging for 3 Devices",description:"Anker Prime 27,650mAh Power Bank (250W)",avatar:{url:"https://cdn.shopify.com/s/files/1/0521/9411/5753/files/85087c9c0ec8c86b481eaea247812c3e.png?v=1744612102"},img:{url:"https://cdn.shopify.com/s/files/1/0517/6767/3016/files/e7be0a68-29b9-431c-8c0f-21bf968b1545_Product_Image_2.png?v=1744274554"}},{rating:3,title:"Theoldpiggery",subTitle:"Fast Charging for 3 Devices",description:"Anker Prime 27,650mAh Power Bank (250W)",avatar:{url:"https://cdn.shopify.com/s/files/1/0521/9411/5753/files/85087c9c0ec8c86b481eaea247812c3e.png?v=1744612102"},img:{url:"https://cdn.shopify.com/s/files/1/0517/6767/3016/files/e7be0a68-29b9-431c-8c0f-21bf968b1545_Product_Image_2.png?v=1744274554"}},{rating:5,title:"Theoldpiggery",subTitle:"Fast Charging for 3 Devices",description:"Anker Prime 27,650mAh Power Bank (250W)Anker Prime 27,650mAh Power Bank (250W)Anker Prime 27,650mAh Power Bank (250W)650mAh Power Bank (250W)650mAh Power Bank (250W)",avatar:{url:"https://cdn.shopify.com/s/files/1/0521/9411/5753/files/85087c9c0ec8c86b481eaea247812c3e.png?v=1744612102"},img:{url:"https://cdn.shopify.com/s/files/1/0517/6767/3016/files/e7be0a68-29b9-431c-8c0f-21bf968b1545_Product_Image_2.png?v=1744274554"}}],o={args:{data:{products:e},className:"p-4"}},i={args:{data:{products:e,shape:"round"},className:"p-4"}};export{o as Default,i as Round,s as default};
2
2
  //# sourceMappingURL=evaluate.stories.js.map