@anker-in/headless-ui 1.3.60 → 1.3.61

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 (50) hide show
  1. package/dist/cjs/biz-components/ShelfDisplay/index.js +1 -1
  2. package/dist/cjs/biz-components/ShelfDisplay/index.js.map +3 -3
  3. package/dist/cjs/biz-components/ShelfDisplay/shelfDisplay.d.ts +25 -0
  4. package/dist/cjs/biz-components/ShelfDisplay/shelfDisplay.js +1 -1
  5. package/dist/cjs/biz-components/ShelfDisplay/shelfDisplay.js.map +1 -1
  6. package/dist/cjs/biz-components/ShelfDisplay/shelfDisplayItem.js +1 -1
  7. package/dist/cjs/biz-components/ShelfDisplay/shelfDisplayItem.js.map +3 -3
  8. package/dist/cjs/biz-components/ShelfDisplayHorizontal/index.d.ts +7 -0
  9. package/dist/cjs/biz-components/ShelfDisplayHorizontal/index.js +2 -0
  10. package/dist/cjs/biz-components/ShelfDisplayHorizontal/index.js.map +7 -0
  11. package/dist/cjs/biz-components/ShelfDisplayHorizontal/shelfDisplayHorizontalItem.d.ts +8 -0
  12. package/dist/cjs/biz-components/ShelfDisplayHorizontal/shelfDisplayHorizontalItem.js +2 -0
  13. package/dist/cjs/biz-components/ShelfDisplayHorizontal/shelfDisplayHorizontalItem.js.map +7 -0
  14. package/dist/cjs/biz-components/SwiperBox/index.js +1 -1
  15. package/dist/cjs/biz-components/SwiperBox/index.js.map +3 -3
  16. package/dist/cjs/biz-components/SwiperBox/types.d.ts +6 -0
  17. package/dist/cjs/biz-components/SwiperBox/types.js +1 -1
  18. package/dist/cjs/biz-components/SwiperBox/types.js.map +1 -1
  19. package/dist/cjs/biz-components/index.d.ts +3 -0
  20. package/dist/cjs/biz-components/index.js +1 -1
  21. package/dist/cjs/biz-components/index.js.map +3 -3
  22. package/dist/esm/biz-components/ShelfDisplay/index.js +1 -1
  23. package/dist/esm/biz-components/ShelfDisplay/index.js.map +3 -3
  24. package/dist/esm/biz-components/ShelfDisplay/shelfDisplay.d.ts +25 -0
  25. package/dist/esm/biz-components/ShelfDisplay/shelfDisplay.js +1 -1
  26. package/dist/esm/biz-components/ShelfDisplay/shelfDisplay.js.map +1 -1
  27. package/dist/esm/biz-components/ShelfDisplay/shelfDisplayItem.js +1 -1
  28. package/dist/esm/biz-components/ShelfDisplay/shelfDisplayItem.js.map +3 -3
  29. package/dist/esm/biz-components/ShelfDisplayHorizontal/index.d.ts +7 -0
  30. package/dist/esm/biz-components/ShelfDisplayHorizontal/index.js +2 -0
  31. package/dist/esm/biz-components/ShelfDisplayHorizontal/index.js.map +7 -0
  32. package/dist/esm/biz-components/ShelfDisplayHorizontal/shelfDisplayHorizontalItem.d.ts +8 -0
  33. package/dist/esm/biz-components/ShelfDisplayHorizontal/shelfDisplayHorizontalItem.js +2 -0
  34. package/dist/esm/biz-components/ShelfDisplayHorizontal/shelfDisplayHorizontalItem.js.map +7 -0
  35. package/dist/esm/biz-components/SwiperBox/index.js +1 -1
  36. package/dist/esm/biz-components/SwiperBox/index.js.map +3 -3
  37. package/dist/esm/biz-components/SwiperBox/types.d.ts +6 -0
  38. package/dist/esm/biz-components/SwiperBox/types.js.map +1 -1
  39. package/dist/esm/biz-components/index.d.ts +3 -0
  40. package/dist/esm/biz-components/index.js +1 -1
  41. package/dist/esm/biz-components/index.js.map +2 -2
  42. package/dist/tokens/anker.css +2 -1
  43. package/dist/tokens/base.css +2 -1
  44. package/dist/tokens/eufy.css +2 -1
  45. package/dist/tokens/eufyMake.css +2 -1
  46. package/dist/tokens/oneAnker.css +4 -2
  47. package/dist/tokens/solix.css +2 -1
  48. package/dist/tokens/soundcore.css +4 -2
  49. package/package.json +1 -1
  50. package/style.css +105 -9
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/biz-components/ShelfDisplayHorizontal/index.tsx"],
4
+ "sourcesContent": ["'use client'\nimport React, { useEffect, useRef, useImperativeHandle, useId, useState } from 'react'\nimport { cn } from '../../helpers/utils.js'\nimport { Tabs, TabsList, TabsTrigger, TabsContent } from '../../components/tabs.js'\nimport Title from '../Title/index.js'\nimport SwiperBox from '../SwiperBox/index.js'\nimport { withLayout } from '../../shared/Styles.js'\nimport { gaTrack } from '../../shared/track.js'\nimport { useMediaQuery } from 'react-responsive'\nimport { useRollout } from '../../hooks/useRollout.js'\nimport { ShelfDisplayWrapItem } from '../ShelfDisplay/shelfDisplayItem.js'\nimport { ShelfDisplayHorizontalCardItem } from './shelfDisplayHorizontalItem.js'\nimport type { ShelfDisplayProps, ShelfDisplayItem } from '../ShelfDisplay/shelfDisplay.js'\n\nconst componentType = 'image'\nconst componentName = 'product_shelf'\n\nconst sanitizeCssSelector = (value?: string | number) => {\n if (value === undefined || value === null) return 'default'\n const sanitized = String(value).replace(/[^a-zA-Z0-9_-]/g, '')\n return sanitized || 'default'\n}\n\n// \u4E24\u4E2A Swiper \u5206\u652F\u8FD0\u884C\u65F6\u4E92\u65A5\uFF08<1025 \u547D\u4E2D 0/374/768 \u952E\uFF0C\u22651025 \u547D\u4E2D 1024/1440/1920 \u952E\uFF09\uFF0C\u5171\u7528\u540C\u4E00\u4EFD\u9ED8\u8BA4\u65AD\u70B9\nconst defaultBreakpoints: ShelfDisplayProps['breakpoints'] = {\n 0: { spaceBetween: 12, freeMode: false, slidesPerView: 1 },\n 374: { spaceBetween: 12, freeMode: false, slidesPerView: 1.2 },\n 768: { spaceBetween: 16, freeMode: false, slidesPerView: 2.3 },\n 1025: { spaceBetween: 16, freeMode: false, slidesPerView: 2 },\n}\n\nexport type ShelfDisplayHorizontalProps = Omit<ShelfDisplayProps, 'isDisplayGudgments'>\n\nconst ShelfDisplayHorizontal = React.forwardRef<HTMLDivElement, ShelfDisplayHorizontalProps>((props, ref) => {\n // isDisplayGudgments \u4E0D\u5728\u672C\u7EC4\u4EF6\u652F\u6301\u8303\u56F4\u5185\uFF0C\u8FD0\u884C\u65F6\u5265\u79BB\u4EE5\u514D\u900F\u4F20 DOM\n const { isDisplayGudgments: _isDisplayGudgments, ...restProps } = props as ShelfDisplayProps\n const {\n data,\n event,\n buildData,\n breakpoints,\n className = '',\n recommendedData,\n target = '_self',\n metafields,\n isDisplayBackImage = false,\n renderOriginalPrice,\n renderPriceLabel,\n renderPrice,\n onAddCart,\n onBuyNow,\n onLearnMore,\n formatPrice,\n ...rest\n } = restProps\n const {\n productsTab = [],\n productsCard = [],\n title,\n isShowTab = true,\n tabShape = 'square',\n isShowTag = false,\n isShowOriginalPrice = true,\n isShowRecommendedCard = false,\n isTile = false,\n tileMaxRows,\n tileExpandText = 'Show more',\n tileCollapseText = 'Show less',\n ...other\n } = data\n\n const isView = useRef<boolean>(false)\n const innerRef = useRef<HTMLDivElement>(null)\n const instanceId = useId()\n\n const [mounted, setMounted] = useState(false)\n useEffect(() => {\n setMounted(true)\n }, [])\n\n const isLaptop = useMediaQuery({ query: '(min-width: 1025px)' })\n const [tileExpanded, setTileExpanded] = useState(false)\n const [viewRef, inView] = useRollout<HTMLDivElement>({ threshold: 0 })\n\n useImperativeHandle(ref, () => innerRef.current as HTMLDivElement)\n\n const gackViewEvent = () => {\n gaTrack({\n event: 'ga4Event',\n event_name: 'view_item_list',\n event_parameters: {\n page_group: 'Home Page',\n item_list_name: 'Home_Page_Bundle',\n items: recommendedData?.map((item, index) => {\n const findData = item?.variants?.find((v: any) => v?.sku === item?.sku)\n const variant = findData || item?.variants?.[0]\n return {\n item_id: item?.sku || variant?.sku,\n item_name: item?.name,\n item_variant: variant?.name,\n price: variant?.price,\n index: index + 1,\n }\n }),\n },\n })\n }\n\n useEffect(() => {\n if (inView && recommendedData?.length && !isView.current) {\n isView.current = true\n gackViewEvent()\n }\n }, [inView, recommendedData])\n\n const getItems = (currentData: ShelfDisplayItem[], flag: boolean): ShelfDisplayItem[] => {\n if (flag) {\n const newCurrentData = recommendedData?.map?.(item => ({ ...item, isShowRecommended: true }))\n return newCurrentData?.length ? newCurrentData : []\n }\n if (!Array.isArray(currentData)) return []\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 isShowRecommended: false,\n custom_name: item.custom_name,\n custom_description: item.custom_description,\n custom_image: item.custom_image,\n custom_theme: item.custom_theme,\n custom_primary_link: item?.custom_primary_link || '',\n custom_secondary_link: item?.custom_secondary_link || '',\n custom_bg_image: item?.custom_bg_image || '',\n ...findData,\n }\n }\n })\n ?.filter(item => item)\n return newCurrentData?.length ? (newCurrentData as ShelfDisplayItem[]) : []\n }\n\n const safeInstanceId = sanitizeCssSelector(instanceId)\n\n const renderSwiperBox = (items: ShelfDisplayItem[], tabValue?: string) => {\n const configuration = {\n ...other,\n event,\n isShowTag,\n isShowOriginalPrice,\n target,\n metafields,\n itemLength: items.length,\n isDisplayBackImage,\n renderOriginalPrice,\n renderPriceLabel,\n renderPrice,\n onAddCart,\n onBuyNow,\n onLearnMore,\n formatPrice,\n }\n\n if (isTile && mounted && isLaptop) {\n // \u5E73\u94FA\u5E03\u5C40\uFF1AtileMaxRows \u8BBE\u7F6E\u540E\uFF0C\u8D85\u8FC7\u884C\u6570\u6298\u53E0\u6536\u8D77\uFF08\u6A2A\u7248\u5E73\u94FA\u4E00\u884C 2 \u5217\uFF09\n const colsPerRow = 2\n const hasRowLimit = typeof tileMaxRows === 'number' && tileMaxRows > 0\n const maxVisibleItems = hasRowLimit ? tileMaxRows * colsPerRow : items.length\n const shouldCollapse = hasRowLimit && items.length > maxVisibleItems\n const visibleItems = shouldCollapse && !tileExpanded ? items.slice(0, maxVisibleItems) : items\n\n return (\n <div>\n <div className={cn('shelf-display-horizontal-tile grid grid-cols-2 gap-4', isShowTab ? 'mt-6' : '')}>\n {visibleItems.map((item, index) => (\n <ShelfDisplayHorizontalCardItem\n key={item?.id || item?.handle || index}\n data={item}\n configuration={{ ...configuration, index }}\n />\n ))}\n </div>\n {shouldCollapse && (\n <div className=\"hover:text-brand-0 text-info-primary mt-6 flex items-center justify-center\">\n <button className=\"laptop:text-base text-sm font-bold\" onClick={() => setTileExpanded(prev => !prev)}>\n {tileExpanded ? tileCollapseText : tileExpandText}\n </button>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n className={cn('laptop:size-5 size-4', tileExpanded && 'rotate-180')}\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n >\n <path\n d=\"M17.2929 8.29302C17.6834 7.90249 18.3164 7.90249 18.707 8.29302C19.0975 8.68354 19.0975 9.31655 18.707 9.70708L12.707 15.7071C12.3164 16.0976 11.6834 16.0976 11.2929 15.7071L5.29289 9.70708C4.90237 9.31655 4.90237 8.68354 5.29289 8.29302C5.68342 7.90249 6.31643 7.90249 6.70696 8.29302L11.9999 13.586L17.2929 8.29302Z\"\n fill=\"currentColor\"\n />\n </svg>\n </div>\n )}\n </div>\n )\n }\n\n if (mounted && isLaptop) {\n const swiperInstanceId = tabValue ? `${safeInstanceId}-${sanitizeCssSelector(tabValue)}` : safeInstanceId\n return (\n <SwiperBox\n key={swiperInstanceId}\n data={{ list: items, configuration }}\n id={swiperInstanceId}\n className={`${isShowTab ? 'mt-6' : ''} shelf-display-horizontal-swiper-box !overflow-visible`}\n Slide={ShelfDisplayHorizontalCardItem}\n showNavigation\n navigationPrevClassName=\"left-4 desktop:left-6\"\n navigationNextClassName=\"right-4 desktop:right-6\"\n breakpoints={breakpoints || defaultBreakpoints}\n />\n )\n }\n\n const swiperInstanceId = tabValue ? `${safeInstanceId}-${sanitizeCssSelector(tabValue)}` : safeInstanceId\n\n return (\n <SwiperBox\n key={swiperInstanceId}\n data={{ list: items, configuration }}\n id={swiperInstanceId}\n className={`${isShowTab ? 'mt-6' : ''} shelf-display-swiper-box !overflow-visible`}\n Slide={ShelfDisplayWrapItem}\n showNavigation\n navigationPrevClassName=\"left-4 desktop:left-6\"\n navigationNextClassName=\"right-4 desktop:right-6\"\n breakpoints={breakpoints || defaultBreakpoints}\n />\n )\n }\n\n return (\n <div\n ref={innerRef}\n {...rest}\n className={cn('shelf-display-horizontal-wrap text-info-primary w-full', className, {\n 'aiui-dark': data?.theme === 'dark',\n })}\n >\n {title && <Title data={{ title: title }} />}\n <div\n ref={viewRef as any}\n className=\"tablet:min-h-[393px] laptop:min-h-[320px] desktop:min-h-[300px] lg-desktop:min-h-[309px]\"\n >\n {isShowTab && productsTab?.length > 0 ? (\n <Tabs\n defaultValue={productsTab?.[0]?.tab}\n onValueChange={value => {\n const currentTab = productsTab?.find(item => item?.tab === value)\n if (!currentTab) return\n if (!currentTab.isShowRecommendedTab) {\n gaTrack({\n event: 'ga4Event',\n event_name: 'component_click',\n event_parameters: {\n page_group: 'Home Page',\n component_type: componentType,\n component_name: componentName,\n component_title: data?.title,\n component_position: 1,\n navigation: value,\n },\n })\n return\n }\n gackViewEvent()\n }}\n shape={tabShape === 'rounded' ? 'rounded' : 'square'}\n >\n <TabsList>\n {productsTab.map(item => (\n <TabsTrigger key={item?.id || item?.tab} value={item?.tab}>\n {item?.tab || ''}\n </TabsTrigger>\n ))}\n </TabsList>\n {productsTab.map(tab => (\n <TabsContent key={tab?.id || tab?.tab} value={tab?.tab}>\n {renderSwiperBox(getItems(tab?.data || [], tab?.isShowRecommendedTab), tab?.tab)}\n </TabsContent>\n ))}\n </Tabs>\n ) : (\n renderSwiperBox(getItems(productsCard, isShowRecommendedCard))\n )}\n </div>\n </div>\n )\n})\n\nShelfDisplayHorizontal.displayName = 'ShelfDisplayHorizontal'\nexport default withLayout(ShelfDisplayHorizontal)\n"],
5
+ "mappings": "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",
6
+ "names": ["jsx", "jsxs", "React", "useEffect", "useRef", "useImperativeHandle", "useId", "useState", "cn", "Tabs", "TabsList", "TabsTrigger", "TabsContent", "Title", "SwiperBox", "withLayout", "gaTrack", "useMediaQuery", "useRollout", "ShelfDisplayWrapItem", "ShelfDisplayHorizontalCardItem", "componentType", "componentName", "sanitizeCssSelector", "value", "defaultBreakpoints", "ShelfDisplayHorizontal", "props", "ref", "_isDisplayGudgments", "restProps", "data", "event", "buildData", "breakpoints", "className", "recommendedData", "target", "metafields", "isDisplayBackImage", "renderOriginalPrice", "renderPriceLabel", "renderPrice", "onAddCart", "onBuyNow", "onLearnMore", "formatPrice", "rest", "productsTab", "productsCard", "title", "isShowTab", "tabShape", "isShowTag", "isShowOriginalPrice", "isShowRecommendedCard", "isTile", "tileMaxRows", "tileExpandText", "tileCollapseText", "other", "isView", "innerRef", "instanceId", "mounted", "setMounted", "isLaptop", "tileExpanded", "setTileExpanded", "viewRef", "inView", "gackViewEvent", "item", "index", "variant", "v", "getItems", "currentData", "flag", "newCurrentData", "findData", "params", "safeInstanceId", "renderSwiperBox", "items", "tabValue", "configuration", "hasRowLimit", "maxVisibleItems", "shouldCollapse", "visibleItems", "prev", "swiperInstanceId", "currentTab", "tab", "ShelfDisplayHorizontal_default"]
7
+ }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * 横版产品货架卡片(≥1025px 使用)
3
+ * 逻辑与 ShelfDisplayWrapItem 保持一致,仅布局为横向(图左、内容右)
4
+ */
5
+ export declare const ShelfDisplayHorizontalCardItem: ({ data, configuration }: {
6
+ data: any;
7
+ configuration?: any;
8
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import{Fragment as $e,jsx as s,jsxs as m}from"react/jsx-runtime";import{useAiuiContext as _e}from"../AiuiProvider/index.js";import{formatVariantPrice as Se}from"../ShelfDisplay/shelfDisplay.js";import{getProductImage as Te}from"../ShelfDisplay/shelfDisplayItem.js";import we from"../../components/picture.js";import Q from"../../components/badge.js";import{cn as _}from"../../helpers/utils.js";import{Text as X}from"../../components/text.js";import Y from"../../components/button.js";import{gaTrack as Ce}from"../../shared/track.js";import{trackUrlRef as Ne}from"../../shared/trackUrlRef.js";import{Heading as Pe}from"../../components/heading.js";import{useExposure as Be}from"../../hooks/useExposure.js";import{useRef as ze,useEffect as De,useMemo as Z,useState as S}from"react";const ee="image",te="product_shelf",oe=999999999e-2,Le=({items:e})=>e?.length?s("div",{className:"shelf-display-horizontal-social-endorsements desktop:gap-2 desktop:top-2 absolute right-0 top-0 flex flex-none flex-col items-center gap-1 self-center",children:e.map((t,T)=>typeof t.icon=="string"?s("img",{src:t.icon,alt:t.label||"",loading:"lazy",className:"desktop:size-10 lg-desktop:size-12 size-8 object-contain"},T):s(X,{"aria-label":t.label,className:"desktop:size-10 lg-desktop:size-12 size-8 [&_img]:size-full [&_svg]:size-full",children:t.icon},T))}):null,Ke=({data:e,configuration:t})=>{const{isDisplayBackImage:T=!1,itemShape:Ie,metafields:$,isTopTag:Ee=!1,isShowTag:se,isShowOriginalPrice:re,isShowShortTitle:ie=!1,isShowPricesTag:w=!1,pricesTagTextColor:C,pricesTagBgColor:N,itemsTagTextColor:v,itemsTagBgColor:P,formatPrice:I,renderOriginalPrice:E,renderPriceLabel:le,renderPrice:B}=t||{},{locale:f="es",copyWriting:ne,currencyDisplay:A}=_e(),{discounts:F,discountsCopy:M}=$||{},H=ze(null),[O,ae]=S([]),[j,ce]=S(""),[U,W]=S(!1),[R,q]=S(!1),pe=(o,r,i,n)=>{const{primaryFun:a,onAddCart:c,onBuyNow:y,onLearnMore:h,event:L}=t||{};if(a){if(a==="AddCart"&&c)return c(o,r+1,i,n);if(a==="BuyNow"&&y)return y(o,r+1,i,n);if(a==="LearnMore"&&h)return h(o,r+1,i,n)}L?.primaryButton?.(o,r+1,i,n)},me=(o,r,i,n)=>{const{secondaryFun:a,onAddCart:c,onBuyNow:y,onLearnMore:h,event:L}=t||{};if(a){if(a==="AddCart"&&c)return c(o,r+1,i,n);if(a==="BuyNow"&&y)return y(o,r+1,i,n);if(a==="LearnMore"&&h)return h(o,r+1,i,n)}L?.secondaryButton?.(o,r+1,i,n)},l=Z(()=>{const o=e?.variants||[];if(o.length)return e?.sku?o?.find?.(r=>r?.sku===e?.sku)||o[0]:o?.[0]},[e?.sku,e?.variants]),V=l?.id?.split?.("/")||[],de=V?.[V?.length-1],u=!l?.availableForSale||l?.price?.amount===oe||l?.price===oe,p=l?.coupons?.[0],G=e?.price?.currencyCode||"USD",fe=Z(()=>Se({locale:f,amount:p?p?.variant_price4wscode:l?.price,baseAmount:p?l?.price:0,currencyCode:G,currencyDisplay:A,customFormatPrice:I}),[G,f,A,p,l,I]),{price:z,basePrice:k,discount:d,discountAmount:g}=fe,{imageUrl:ue,altText:ge}=Te(e),x=e?.custom_name||e?.title,D=ie&&l?.metafields?.infos?.page_short_title||x,J=e?.custom_description||e?.description,ye=()=>{if(p?.value_type==="fixed_amount"){const o=g||"",r=o.match(/^(.*?)(\d[\d.,]*)(.*)$/);if(r){const[,i,n,a]=r;let c=n;return n.endsWith(".00")?c=n.replace(/\.00$/,""):n.endsWith(",00")&&(c=n.replace(/,00$/,"")),`${i}${c}${a}`}return o}return d||""};De(()=>{let o=[];if(d||g){const i=`${ye()} ${F?.off||M?.off||""}`;ce(i)}const r=e?.tags?.filter?.(i=>i?.startsWith?.("CLtag"))?.map?.(i=>i?.replace?.("CLtag:",""))?.slice?.(0,d&&w?1:2)||[];ae(o.concat(r))},[e?.tags,d,g,F?.off,M?.off,w]),Be(H,{componentType:ee,componentName:te,componentTitle:x,componentDescription:J,position:t?.index+1});const he=async()=>{if(!U&&!e?.custom_primary_link){W(!0);try{await pe(e,t?.index,t,p)}finally{W(!1)}}},ve=async()=>{if(!R&&!e?.custom_secondary_link){q(!0);try{await me(e,t?.index,t,p)}finally{q(!1)}}},ke={...C?{color:C}:{},...N?{backgroundColor:N,backgroundImage:"none"}:{},...C||N?{outline:"none"}:{}},xe={...v?{color:v}:{},...P?{backgroundColor:P,backgroundImage:"none"}:{},...v||P?{outlineColor:v}:{}},be=()=>m("div",{className:"lg-desktop:h-[28px] absolute left-0 top-0 z-10 box-border flex h-6 flex-wrap gap-1 overflow-hidden",children:[w&&j&&s(Q,{className:"shelf-prices-tag",variant:"fill",style:ke,children:j||""}),se&&O?.length>0&&O?.map?.((o,r)=>s(Q,{className:"shelf-items-tag",variant:"outline",style:xe,children:o},r))]}),b=e?.custom_bg_image,K=e?.custom_theme;return s("div",{ref:H,className:_("box-border w-full cursor-pointer overflow-hidden duration-300","rounded-box","shelf-display-horizontal-item","lg-desktop:aspect-[824/269] desktop:aspect-[648/238] laptop:aspect-[440/256] relative",b?"bg-cover bg-center bg-no-repeat":"bg-background tablet:hover:bg-info-white",{"aiui-dark":K==="dark","aiui-light":K==="light"}),style:b?{backgroundImage:`url(${b})`}:void 0,children:m("div",{className:"desktop:p-6 desktop:pt-4 absolute inset-0 box-border flex overflow-hidden p-4",children:[m("div",{className:"shelf-display-horizontal-left laptop:flex-[196] desktop:flex-[292] lg-desktop:flex-[380] relative flex h-full flex-none flex-col items-center justify-center gap-2",children:[s(be,{}),s("div",{className:_("shelf-display-horizontal-item-image desktop:h-[92.3%] lg-desktop:h-[89.5%] relative inline-block aspect-[1] h-[63.6%] min-h-0 overflow-hidden",{"opacity-0":b}),children:s("a",{"aria-label":x,target:t?.target,href:Ne(`${f==="us"||!f?"":`/${f}`}/products/${e?.handle}?variant=${de}`,`${ee}_${te}`),onClick:()=>{Ce({event:"ga4Event",event_name:"select_item",event_parameters:{page_group:"Home Page",item_list_name:"Home_Page_Bundle",items:[{item_id:e?.sku||l?.sku,item_name:e?.name,item_variant:l?.name,price:l?.price,index:t?.index+1}]}})},children:s(we,{source:ue,alt:ge,className:"flex h-full justify-center object-cover [&_img]:w-auto"})})}),s(Le,{items:e?.socialEndorsements||$?.socialEndorsements})]}),m("div",{className:"shelf-display-horizontal-content desktop:flex-[332] desktop:pl-6 desktop:pt-2 lg-desktop:flex-[420] desktop:gap-6 flex min-w-0 flex-[224] flex-col justify-between gap-4 pl-4",children:[m("div",{className:"shelf-display-horizontal-content-title-desc",children:[D?s(Pe,{as:"h3",title:D||"",size:2,className:"shelf-display-product-title text-info-primary mb-1 line-clamp-2",html:D||""}):null,s(X,{size:2,className:_("lg-desktop:text-lg desktop:text-base shelf-display-product-description text-info-primary line-clamp-2 text-sm !leading-[1.4]"),html:J||""})]}),m("div",{className:"shelf-display-horizontal-content-price-button",children:[s("div",{className:"mb-2 flex items-center",children:B?B(e,{price:z,basePrice:k,discount:d,discountAmount:g,variant:l,coupon:p,isSoldOut:u}):u?s("div",{className:"lg-desktop:text-2xl text-info-primary text-xl font-bold",children:ne?.soldOutText}):m($e,{children:[s("div",{className:"final-price lg-desktop:text-2xl text-info-primary text-xl font-bold !leading-[1.2]",children:l?.availableForSale&&z||""}),E?E(e,{price:z,basePrice:k,discount:d,discountAmount:g}):k&&re&&s("div",{className:"origin-price lg-desktop:text-2xl text-info-quaternary ml-1 text-xl font-bold !leading-[1.2] line-through",children:l?.availableForSale&&k||""})]})}),!B&&le?.(e,l),m("div",{className:_("shelf-flex-button-group","lg-desktop:gap-3 desktop:flex-row flex flex-col items-center gap-2",t.direction==="vertical"?"flex-col":""),children:[t?.secondaryButton&&!u?s(Y,{disabled:u&&t?.secondaryFun!=="LearnMore",variant:"secondary",href:e?.custom_secondary_link,as:e?.custom_secondary_link?"a":"button",onClick:ve,loading:R,className:"laptop:w-full desktop:w-auto",children:t?.secondaryButton||""}):null,t?.primaryButton?s(Y,{disabled:u&&t?.primaryFun!=="LearnMore",variant:"primary",href:e?.custom_primary_link,as:e?.custom_primary_link?"a":"button",onClick:he,loading:U,className:"laptop:w-full desktop:w-auto",children:t?.primaryButton||""}):null]})]})]})]})},e?.id||e?.handle)};export{Ke as ShelfDisplayHorizontalCardItem};
2
+ //# sourceMappingURL=shelfDisplayHorizontalItem.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/biz-components/ShelfDisplayHorizontal/shelfDisplayHorizontalItem.tsx"],
4
+ "sourcesContent": ["import { useAiuiContext } from '../AiuiProvider/index.js'\nimport { formatVariantPrice } from '../ShelfDisplay/shelfDisplay.js'\nimport { getProductImage } from '../ShelfDisplay/shelfDisplayItem.js'\nimport Picture from '../../components/picture.js'\nimport Badge from '../../components/badge.js'\nimport { cn } from '../../helpers/utils.js'\nimport { Text } from '../../components/text.js'\nimport Button from '../../components/button.js'\nimport { gaTrack } from '../../shared/track.js'\nimport { trackUrlRef } from '../../shared/trackUrlRef.js'\nimport { Heading } from '../../components/heading.js'\nimport type { ShelfDisplayItem, ShelfDisplayType, SocialEndorsementItem } from '../ShelfDisplay/shelfDisplay.js'\nimport { useExposure } from '../../hooks/useExposure.js'\nimport { useRef, useEffect, useMemo, useState, type CSSProperties } from 'react'\n\nconst componentType = 'image'\nconst componentName = 'product_shelf'\n\nconst SOLD_OUT_PRICE = 9999999.99\n\nconst ShelfDisplayHorizontalEndorsements = ({ items }: { items?: SocialEndorsementItem[] }) => {\n if (!items?.length) {\n return null\n }\n return (\n <div className=\"shelf-display-horizontal-social-endorsements desktop:gap-2 desktop:top-2 absolute right-0 top-0 flex flex-none flex-col items-center gap-1 self-center\">\n {items.map((item, index) =>\n typeof item.icon === 'string' ? (\n <img\n key={index}\n src={item.icon}\n alt={item.label || ''}\n loading=\"lazy\"\n className=\"desktop:size-10 lg-desktop:size-12 size-8 object-contain\"\n />\n ) : (\n <Text\n key={index}\n aria-label={item.label}\n className=\"desktop:size-10 lg-desktop:size-12 size-8 [&_img]:size-full [&_svg]:size-full\"\n >\n {item.icon}\n </Text>\n )\n )}\n </div>\n )\n}\n\n/**\n * \u6A2A\u7248\u4EA7\u54C1\u8D27\u67B6\u5361\u7247\uFF08\u22651025px \u4F7F\u7528\uFF09\n * \u903B\u8F91\u4E0E ShelfDisplayWrapItem \u4FDD\u6301\u4E00\u81F4\uFF0C\u4EC5\u5E03\u5C40\u4E3A\u6A2A\u5411\uFF08\u56FE\u5DE6\u3001\u5185\u5BB9\u53F3\uFF09\n */\nexport const ShelfDisplayHorizontalCardItem = ({ data, configuration }: { data: any; configuration?: any }) => {\n const {\n isDisplayBackImage = false,\n itemShape,\n metafields,\n isTopTag = false,\n isShowTag,\n isShowOriginalPrice,\n isShowShortTitle = false,\n isShowPricesTag = false,\n pricesTagTextColor,\n pricesTagBgColor,\n itemsTagTextColor,\n itemsTagBgColor,\n formatPrice,\n renderOriginalPrice,\n renderPriceLabel,\n renderPrice,\n } = configuration || {}\n const { locale = 'es', copyWriting, currencyDisplay } = useAiuiContext()\n const { discounts, discountsCopy } = metafields || {}\n const ref = useRef<HTMLDivElement>(null)\n const [showTags, setShowTags] = useState<string[]>([])\n const [currentPriceTag, setCurrentPriceTag] = useState<string>('')\n const [primaryLoading, setPrimaryLoading] = useState(false)\n const [secondaryLoading, setSecondaryLoading] = useState(false)\n\n const onPrimaryButton = (params: ShelfDisplayItem, index: number, data: ShelfDisplayType, coupon: any) => {\n const { primaryFun, onAddCart, onBuyNow, onLearnMore, event } = configuration || {}\n\n // \u4F18\u5148\u4F7F\u7528 function props\uFF08\u6839\u636E primaryFun \u503C\uFF09\n if (primaryFun) {\n if (primaryFun === 'AddCart' && onAddCart) {\n return onAddCart(params, index + 1, data, coupon)\n }\n if (primaryFun === 'BuyNow' && onBuyNow) {\n return onBuyNow(params, index + 1, data, coupon)\n }\n if (primaryFun === 'LearnMore' && onLearnMore) {\n return onLearnMore(params, index + 1, data, coupon)\n }\n }\n\n // \u517C\u5BB9\u65E7\u7684 event \u903B\u8F91\n event?.primaryButton?.(params, index + 1, data, coupon)\n }\n\n const onSecondaryButton = (params: ShelfDisplayItem, index: number, data: ShelfDisplayType, coupon: any) => {\n const { secondaryFun, onAddCart, onBuyNow, onLearnMore, event } = configuration || {}\n\n // \u4F18\u5148\u4F7F\u7528 function props\uFF08\u6839\u636E secondaryFun \u503C\uFF09\n if (secondaryFun) {\n if (secondaryFun === 'AddCart' && onAddCart) {\n return onAddCart(params, index + 1, data, coupon)\n }\n if (secondaryFun === 'BuyNow' && onBuyNow) {\n return onBuyNow(params, index + 1, data, coupon)\n }\n if (secondaryFun === 'LearnMore' && onLearnMore) {\n return onLearnMore(params, index + 1, data, coupon)\n }\n }\n\n // \u517C\u5BB9\u65E7\u7684 event \u903B\u8F91\n event?.secondaryButton?.(params, index + 1, data, coupon)\n }\n\n const variant = useMemo(() => {\n const variants = data?.variants || []\n if (!variants.length) {\n return undefined\n }\n if (!data?.sku) {\n return variants?.[0]\n }\n return variants?.find?.((item: any) => item?.sku === data?.sku) || variants[0]\n }, [data?.sku, data?.variants])\n\n const variantArr = variant?.id?.split?.('/') || []\n const variantId = variantArr?.[variantArr?.length - 1]\n\n const isSoldOut =\n !variant?.availableForSale || variant?.price?.amount === SOLD_OUT_PRICE || variant?.price === SOLD_OUT_PRICE\n\n // active \u7684 \u901A\u7528\u6298\u6263\n const coupon = variant?.coupons?.[0]\n\n const currencyCode = data?.price?.currencyCode || 'USD'\n\n const priceInfo = useMemo(\n () =>\n formatVariantPrice({\n locale,\n amount: coupon ? coupon?.variant_price4wscode : variant?.price,\n baseAmount: coupon ? variant?.price : 0,\n currencyCode,\n currencyDisplay,\n customFormatPrice: formatPrice,\n }),\n [currencyCode, locale, currencyDisplay, coupon, variant, formatPrice]\n )\n\n const { price, basePrice, discount, discountAmount } = priceInfo\n\n const { imageUrl, altText } = getProductImage(data)\n\n const displayTitle = data?.custom_name || data?.title\n const currentDisplayTitle = isShowShortTitle\n ? variant?.metafields?.infos?.page_short_title || displayTitle\n : displayTitle\n const displayDescription = data?.custom_description || data?.description\n\n const showPrice = () => {\n if (coupon?.value_type === 'fixed_amount') {\n const amountStr = discountAmount || ''\n const match = amountStr.match(/^(.*?)(\\d[\\d.,]*)(.*)$/)\n if (match) {\n const [, prefix, numeric, suffix] = match\n let updatedNumeric = numeric\n if (numeric.endsWith('.00')) {\n updatedNumeric = numeric.replace(/\\.00$/, '')\n } else if (numeric.endsWith(',00')) {\n updatedNumeric = numeric.replace(/,00$/, '')\n }\n return `${prefix}${updatedNumeric}${suffix}`\n }\n return amountStr\n }\n return discount || ''\n }\n\n // \u5904\u7406\u6807\u7B7E\n useEffect(() => {\n let handleTags: string[] = []\n if (discount || discountAmount) {\n const discountTag = `${showPrice()} ${discounts?.off || discountsCopy?.off || ''}`\n setCurrentPriceTag(discountTag)\n }\n const newTags =\n data?.tags\n ?.filter?.((item: string) => item?.startsWith?.('CLtag'))\n ?.map?.((item: string) => item?.replace?.('CLtag:', ''))\n ?.slice?.(0, discount && isShowPricesTag ? 1 : 2) || []\n setShowTags(handleTags.concat(newTags))\n }, [data?.tags, discount, discountAmount, discounts?.off, discountsCopy?.off, isShowPricesTag])\n\n useExposure(ref, {\n componentType,\n componentName,\n componentTitle: displayTitle,\n componentDescription: displayDescription,\n position: configuration?.index + 1,\n })\n\n const handlePrimaryClick = async () => {\n if (primaryLoading) return\n if (data?.custom_primary_link) return\n setPrimaryLoading(true)\n try {\n await onPrimaryButton(data, configuration?.index, configuration, coupon)\n } finally {\n setPrimaryLoading(false)\n }\n }\n\n const handleSecondaryClick = async () => {\n if (secondaryLoading) return\n if (data?.custom_secondary_link) return\n setSecondaryLoading(true)\n try {\n await onSecondaryButton(data, configuration?.index, configuration, coupon)\n } finally {\n setSecondaryLoading(false)\n }\n }\n\n const pricesTagStyle: CSSProperties = {\n ...(pricesTagTextColor ? { color: pricesTagTextColor } : {}),\n ...(pricesTagBgColor ? { backgroundColor: pricesTagBgColor, backgroundImage: 'none' } : {}),\n ...(pricesTagTextColor || pricesTagBgColor ? { outline: 'none' } : {}),\n }\n const itemsTagStyle: CSSProperties = {\n ...(itemsTagTextColor ? { color: itemsTagTextColor } : {}),\n ...(itemsTagBgColor ? { backgroundColor: itemsTagBgColor, backgroundImage: 'none' } : {}),\n ...(itemsTagTextColor || itemsTagBgColor ? { outlineColor: itemsTagTextColor } : {}),\n }\n\n const TagsComp = () => {\n return (\n <div className=\"lg-desktop:h-[28px] absolute left-0 top-0 z-10 box-border flex h-6 flex-wrap gap-1 overflow-hidden\">\n {isShowPricesTag && currentPriceTag && (\n <Badge className=\"shelf-prices-tag\" variant=\"fill\" style={pricesTagStyle}>\n {currentPriceTag || ''}\n </Badge>\n )}\n {isShowTag &&\n showTags?.length > 0 &&\n showTags?.map?.((item: any, index: number) => (\n <Badge key={index} className=\"shelf-items-tag\" variant=\"outline\" style={itemsTagStyle}>\n {item}\n </Badge>\n ))}\n </div>\n )\n }\n\n const custom_bg_image = data?.custom_bg_image\n const custom_theme = data?.custom_theme\n\n return (\n <div\n ref={ref}\n key={data?.id || data?.handle}\n className={cn(\n 'box-border w-full cursor-pointer overflow-hidden duration-300',\n 'rounded-box',\n 'shelf-display-horizontal-item',\n 'lg-desktop:aspect-[824/269] desktop:aspect-[648/238] laptop:aspect-[440/256] relative',\n custom_bg_image ? 'bg-cover bg-center bg-no-repeat' : 'bg-background tablet:hover:bg-info-white',\n { 'aiui-dark': custom_theme === 'dark', 'aiui-light': custom_theme === 'light' }\n )}\n style={custom_bg_image ? { backgroundImage: `url(${custom_bg_image})` } : undefined}\n >\n <div className=\"desktop:p-6 desktop:pt-4 absolute inset-0 box-border flex overflow-hidden p-4\">\n <div className=\"shelf-display-horizontal-left laptop:flex-[196] desktop:flex-[292] lg-desktop:flex-[380] relative flex h-full flex-none flex-col items-center justify-center gap-2\">\n <TagsComp />\n <div\n className={cn(\n 'shelf-display-horizontal-item-image desktop:h-[92.3%] lg-desktop:h-[89.5%] relative inline-block aspect-[1] h-[63.6%] min-h-0 overflow-hidden',\n {\n 'opacity-0': custom_bg_image,\n }\n )}\n >\n <a\n aria-label={displayTitle}\n target={configuration?.target}\n href={trackUrlRef(\n `${locale === 'us' || !locale ? '' : `/${locale}`}/products/${data?.handle}?variant=${variantId}`,\n `${componentType}_${componentName}`\n )}\n onClick={() => {\n gaTrack({\n event: 'ga4Event',\n event_name: 'select_item',\n event_parameters: {\n page_group: 'Home Page',\n item_list_name: 'Home_Page_Bundle',\n items: [\n {\n item_id: data?.sku || variant?.sku,\n item_name: data?.name,\n item_variant: variant?.name,\n price: variant?.price,\n index: configuration?.index + 1,\n },\n ],\n },\n })\n }}\n >\n <Picture\n source={imageUrl}\n alt={altText}\n className=\"flex h-full justify-center object-cover [&_img]:w-auto\"\n />\n </a>\n </div>\n <ShelfDisplayHorizontalEndorsements items={data?.socialEndorsements || metafields?.socialEndorsements} />\n </div>\n <div className=\"shelf-display-horizontal-content desktop:flex-[332] desktop:pl-6 desktop:pt-2 lg-desktop:flex-[420] desktop:gap-6 flex min-w-0 flex-[224] flex-col justify-between gap-4 pl-4\">\n <div className=\"shelf-display-horizontal-content-title-desc\">\n {currentDisplayTitle ? (\n <Heading\n as=\"h3\"\n title={currentDisplayTitle || ''}\n size={2}\n className=\"shelf-display-product-title text-info-primary mb-1 line-clamp-2\"\n html={currentDisplayTitle || ''}\n />\n ) : null}\n <Text\n size={2}\n className={cn(\n 'lg-desktop:text-lg desktop:text-base shelf-display-product-description text-info-primary line-clamp-2 text-sm !leading-[1.4]'\n )}\n html={displayDescription || ''}\n />\n </div>\n <div className=\"shelf-display-horizontal-content-price-button\">\n <div className=\"mb-2 flex items-center\">\n {renderPrice ? (\n renderPrice(data, { price, basePrice, discount, discountAmount, variant, coupon, isSoldOut })\n ) : isSoldOut ? (\n <div className=\"lg-desktop:text-2xl text-info-primary text-xl font-bold\">\n {copyWriting?.soldOutText}\n </div>\n ) : (\n <>\n <div className=\"final-price lg-desktop:text-2xl text-info-primary text-xl font-bold !leading-[1.2]\">\n {variant?.availableForSale ? price || '' : ''}\n </div>\n {renderOriginalPrice\n ? renderOriginalPrice(data, { price, basePrice, discount, discountAmount })\n : basePrice &&\n isShowOriginalPrice && (\n <div className=\"origin-price lg-desktop:text-2xl text-info-quaternary ml-1 text-xl font-bold !leading-[1.2] line-through\">\n {variant?.availableForSale ? basePrice || '' : ''}\n </div>\n )}\n </>\n )}\n </div>\n {!renderPrice && renderPriceLabel?.(data, variant)}\n <div\n className={cn(\n 'shelf-flex-button-group',\n 'lg-desktop:gap-3 desktop:flex-row flex flex-col items-center gap-2',\n configuration.direction === 'vertical' ? 'flex-col' : ''\n )}\n >\n {configuration?.secondaryButton && !isSoldOut ? (\n <Button\n disabled={isSoldOut && configuration?.secondaryFun !== 'LearnMore'}\n variant=\"secondary\"\n href={data?.custom_secondary_link}\n as={data?.custom_secondary_link ? 'a' : 'button'}\n onClick={handleSecondaryClick}\n loading={secondaryLoading}\n className=\"laptop:w-full desktop:w-auto\"\n >\n {configuration?.secondaryButton || ''}\n </Button>\n ) : null}\n {configuration?.primaryButton ? (\n <Button\n disabled={isSoldOut && configuration?.primaryFun !== 'LearnMore'}\n variant=\"primary\"\n href={data?.custom_primary_link}\n as={data?.custom_primary_link ? 'a' : 'button'}\n onClick={handlePrimaryClick}\n loading={primaryLoading}\n className=\"laptop:w-full desktop:w-auto\"\n >\n {configuration?.primaryButton || ''}\n </Button>\n ) : null}\n </div>\n </div>\n </div>\n </div>\n </div>\n )\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["Fragment", "jsx", "jsxs", "useAiuiContext", "formatVariantPrice", "getProductImage", "Picture", "Badge", "cn", "Text", "Button", "gaTrack", "trackUrlRef", "Heading", "useExposure", "useRef", "useEffect", "useMemo", "useState", "componentType", "componentName", "SOLD_OUT_PRICE", "ShelfDisplayHorizontalEndorsements", "items", "item", "index", "ShelfDisplayHorizontalCardItem", "data", "configuration", "isDisplayBackImage", "itemShape", "metafields", "isTopTag", "isShowTag", "isShowOriginalPrice", "isShowShortTitle", "isShowPricesTag", "pricesTagTextColor", "pricesTagBgColor", "itemsTagTextColor", "itemsTagBgColor", "formatPrice", "renderOriginalPrice", "renderPriceLabel", "renderPrice", "locale", "copyWriting", "currencyDisplay", "discounts", "discountsCopy", "ref", "showTags", "setShowTags", "currentPriceTag", "setCurrentPriceTag", "primaryLoading", "setPrimaryLoading", "secondaryLoading", "setSecondaryLoading", "onPrimaryButton", "params", "coupon", "primaryFun", "onAddCart", "onBuyNow", "onLearnMore", "event", "onSecondaryButton", "secondaryFun", "variant", "variants", "variantArr", "variantId", "isSoldOut", "currencyCode", "priceInfo", "price", "basePrice", "discount", "discountAmount", "imageUrl", "altText", "displayTitle", "currentDisplayTitle", "displayDescription", "showPrice", "amountStr", "match", "prefix", "numeric", "suffix", "updatedNumeric", "handleTags", "discountTag", "newTags", "handlePrimaryClick", "handleSecondaryClick", "pricesTagStyle", "itemsTagStyle", "TagsComp", "custom_bg_image", "custom_theme"]
7
+ }
@@ -1,2 +1,2 @@
1
- "use client";import{jsx as i}from"react/jsx-runtime";import S,{useState as t}from"react";import{cn as n}from"../../helpers/utils.js";import{Swiper as g,SwiperSlide as x}from"swiper/react";import{Navigation as B,FreeMode as v,Mousewheel as M}from"swiper/modules";const p=S.forwardRef(({data:o,breakpoints:a,Slide:l,className:f,id:s,itemClassName:w,...m},d)=>{const[E,u]=t(!0),[P,c]=t(!1);return i("div",{...m,ref:d,children:i(g,{className:n(f),navigation:{nextEl:`.${s}-custom-swiper-button-next`,prevEl:`.${s}-custom-swiper-button-prev`},onProgress:e=>{u(e.isBeginning),c(e.isEnd)},modules:[B,v,M],freeMode:!0,mousewheel:{forceToAxis:!0},breakpoints:a||{0:{spaceBetween:12,slidesPerView:1,freeMode:!1},374:{spaceBetween:12,slidesPerView:1.2,freeMode:!1},768:{spaceBetween:16,slidesPerView:2,freeMode:!1}},children:o?.list?.map((e,r)=>i(x,{className:n("!flex !h-[unset]",w),children:i(l,{data:e,configuration:o?.configuration?{...o?.configuration,index:r}:{index:r},jIndex:r})},s+"SwiperSlide"+r))})})});p.displayName="SwiperBox";var V=p;export{V as default};
1
+ "use client";import{Fragment as j,jsx as e,jsxs as r}from"react/jsx-runtime";import N,{useState as p}from"react";import{cn as t}from"../../helpers/utils.js";import{Swiper as B,SwiperSlide as y}from"swiper/react";import{Navigation as z,FreeMode as L,Mousewheel as M}from"swiper/modules";const P=()=>r("span",{className:"lg-desktop:size-14 relative flex size-10 items-center justify-center",children:[e("span",{className:"bg-masks-0 group-hover:bg-masks-1 absolute inset-0 rounded-full transition-colors"}),e("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",className:"lg-desktop:size-6 relative size-5",children:e("path",{d:"M15 6L9 12L15 18",stroke:"white",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})]}),E=()=>r("span",{className:"lg-desktop:size-14 relative flex size-10 items-center justify-center",children:[e("span",{className:"bg-masks-0 group-hover:bg-masks-1 absolute inset-0 rounded-full transition-colors"}),e("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",className:"lg-desktop:size-6 relative size-5",children:e("path",{d:"M9 6L15 12L9 18",stroke:"white",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})]}),u=N.forwardRef(({data:n,breakpoints:c,Slide:d,className:m,id:s,itemClassName:f,showNavigation:a=!1,navigationPrevClassName:w,navigationNextClassName:g,...v},b)=>{const[h,x]=p(!0),[k,S]=p(!1),l=o=>{x(o.isBeginning),S(o.isEnd)};return r("div",{...v,ref:b,className:t(a&&"relative"),children:[e(B,{className:t(m),navigation:a?{nextEl:`.${s}-custom-swiper-button-next`,prevEl:`.${s}-custom-swiper-button-prev`}:!1,onProgress:l,onSlideChange:l,modules:[z,L,M],freeMode:!0,mousewheel:{forceToAxis:!0},breakpoints:c||{0:{spaceBetween:12,slidesPerView:1,freeMode:!1},374:{spaceBetween:12,slidesPerView:1.2,freeMode:!1},768:{spaceBetween:16,slidesPerView:2,freeMode:!1}},children:n?.list?.map((o,i)=>e(y,{className:t("!flex !h-[unset]",f),children:e(d,{data:o,configuration:n?.configuration?{...n?.configuration,index:i}:{index:i},jIndex:i})},s+"SwiperSlide"+i))}),a&&r(j,{children:[e("button",{className:t(`${s}-custom-swiper-button-prev`,"group absolute top-1/2 z-10 hidden -translate-y-1/2 items-center justify-center",!h&&"laptop:flex",w),"aria-label":"Previous slide",children:e(P,{})}),e("button",{className:t(`${s}-custom-swiper-button-next`,"group absolute top-1/2 z-10 hidden -translate-y-1/2 items-center justify-center",!k&&"laptop:flex",g),"aria-label":"Next slide",children:e(E,{})})]})]})});u.displayName="SwiperBox";var W=u;export{W as default};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/biz-components/SwiperBox/index.tsx"],
4
- "sourcesContent": ["'use client'\nimport React, { useState } from 'react'\nimport { cn } from '../../helpers/utils.js'\n// import 'swiper/css'\n// import 'swiper/css/free-mode'\nimport { Swiper, SwiperSlide } from 'swiper/react'\nimport { Navigation, FreeMode, Mousewheel } from 'swiper/modules'\nimport type { SwiperBoxProps } from './types.js'\n\nconst SwiperBox = React.forwardRef<HTMLDivElement, SwiperBoxProps>(\n ({ data, breakpoints, Slide, className, id, itemClassName, ...rest }, ref) => {\n const [isStart, setStart] = useState(true)\n const [isEnd, setEnd] = useState(false)\n\n return (\n <div {...rest} ref={ref}>\n <Swiper\n className={cn(className)}\n navigation={{\n nextEl: `.${id}-custom-swiper-button-next`,\n prevEl: `.${id}-custom-swiper-button-prev`,\n }}\n onProgress={swiper => {\n setStart(swiper.isBeginning)\n setEnd(swiper.isEnd)\n }}\n modules={[Navigation, FreeMode, Mousewheel]}\n freeMode={true}\n mousewheel={{\n forceToAxis: true,\n }}\n breakpoints={\n breakpoints || {\n 0: {\n spaceBetween: 12,\n slidesPerView: 1,\n freeMode: false,\n },\n 374: {\n spaceBetween: 12,\n slidesPerView: 1.2,\n freeMode: false,\n },\n 768: {\n spaceBetween: 16,\n slidesPerView: 2,\n freeMode: false,\n },\n }\n }\n >\n {data?.list?.map((item, jIndex) => (\n <SwiperSlide key={id + 'SwiperSlide' + jIndex} className={cn('!flex !h-[unset]', itemClassName)}>\n <Slide\n data={item}\n configuration={data?.configuration ? { ...data?.configuration, index: jIndex } : { index: jIndex }}\n jIndex={jIndex}\n />\n </SwiperSlide>\n ))}\n </Swiper>\n </div>\n )\n }\n)\n\nSwiperBox.displayName = 'SwiperBox'\n\nexport default SwiperBox\n"],
5
- "mappings": "aAqDc,cAAAA,MAAA,oBApDd,OAAOC,GAAS,YAAAC,MAAgB,QAChC,OAAS,MAAAC,MAAU,yBAGnB,OAAS,UAAAC,EAAQ,eAAAC,MAAmB,eACpC,OAAS,cAAAC,EAAY,YAAAC,EAAU,cAAAC,MAAkB,iBAGjD,MAAMC,EAAYR,EAAM,WACtB,CAAC,CAAE,KAAAS,EAAM,YAAAC,EAAa,MAAAC,EAAO,UAAAC,EAAW,GAAAC,EAAI,cAAAC,EAAe,GAAGC,CAAK,EAAGC,IAAQ,CAC5E,KAAM,CAACC,EAASC,CAAQ,EAAIjB,EAAS,EAAI,EACnC,CAACkB,EAAOC,CAAM,EAAInB,EAAS,EAAK,EAEtC,OACEF,EAAC,OAAK,GAAGgB,EAAM,IAAKC,EAClB,SAAAjB,EAACI,EAAA,CACC,UAAWD,EAAGU,CAAS,EACvB,WAAY,CACV,OAAQ,IAAIC,CAAE,6BACd,OAAQ,IAAIA,CAAE,4BAChB,EACA,WAAYQ,GAAU,CACpBH,EAASG,EAAO,WAAW,EAC3BD,EAAOC,EAAO,KAAK,CACrB,EACA,QAAS,CAAChB,EAAYC,EAAUC,CAAU,EAC1C,SAAU,GACV,WAAY,CACV,YAAa,EACf,EACA,YACEG,GAAe,CACb,EAAG,CACD,aAAc,GACd,cAAe,EACf,SAAU,EACZ,EACA,IAAK,CACH,aAAc,GACd,cAAe,IACf,SAAU,EACZ,EACA,IAAK,CACH,aAAc,GACd,cAAe,EACf,SAAU,EACZ,CACF,EAGD,SAAAD,GAAM,MAAM,IAAI,CAACa,EAAMC,IACtBxB,EAACK,EAAA,CAA8C,UAAWF,EAAG,mBAAoBY,CAAa,EAC5F,SAAAf,EAACY,EAAA,CACC,KAAMW,EACN,cAAeb,GAAM,cAAgB,CAAE,GAAGA,GAAM,cAAe,MAAOc,CAAO,EAAI,CAAE,MAAOA,CAAO,EACjG,OAAQA,EACV,GALgBV,EAAK,cAAgBU,CAMvC,CACD,EACH,EACF,CAEJ,CACF,EAEAf,EAAU,YAAc,YAExB,IAAOgB,EAAQhB",
6
- "names": ["jsx", "React", "useState", "cn", "Swiper", "SwiperSlide", "Navigation", "FreeMode", "Mousewheel", "SwiperBox", "data", "breakpoints", "Slide", "className", "id", "itemClassName", "rest", "ref", "isStart", "setStart", "isEnd", "setEnd", "swiper", "item", "jIndex", "SwiperBox_default"]
4
+ "sourcesContent": ["'use client'\nimport React, { useState } from 'react'\nimport { cn } from '../../helpers/utils.js'\n// import 'swiper/css'\n// import 'swiper/css/free-mode'\nimport { Swiper, SwiperSlide } from 'swiper/react'\nimport { Navigation, FreeMode, Mousewheel } from 'swiper/modules'\nimport type { SwiperBoxProps } from './types.js'\n\nconst PrevIcon = () => (\n <span className=\"lg-desktop:size-14 relative flex size-10 items-center justify-center\">\n <span className=\"bg-masks-0 group-hover:bg-masks-1 absolute inset-0 rounded-full transition-colors\" />\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n className=\"lg-desktop:size-6 relative size-5\"\n >\n <path d=\"M15 6L9 12L15 18\" stroke=\"white\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n </span>\n)\n\nconst NextIcon = () => (\n <span className=\"lg-desktop:size-14 relative flex size-10 items-center justify-center\">\n <span className=\"bg-masks-0 group-hover:bg-masks-1 absolute inset-0 rounded-full transition-colors\" />\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n className=\"lg-desktop:size-6 relative size-5\"\n >\n <path d=\"M9 6L15 12L9 18\" stroke=\"white\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n </span>\n)\n\nconst SwiperBox = React.forwardRef<HTMLDivElement, SwiperBoxProps>(\n (\n {\n data,\n breakpoints,\n Slide,\n className,\n id,\n itemClassName,\n showNavigation = false,\n navigationPrevClassName,\n navigationNextClassName,\n ...rest\n },\n ref\n ) => {\n const [isStart, setStart] = useState(true)\n const [isEnd, setEnd] = useState(false)\n\n const updateState = (swiper: { isBeginning: boolean; isEnd: boolean }) => {\n setStart(swiper.isBeginning)\n setEnd(swiper.isEnd)\n }\n\n return (\n <div {...rest} ref={ref} className={cn(showNavigation && 'relative')}>\n <Swiper\n className={cn(className)}\n navigation={\n showNavigation\n ? {\n nextEl: `.${id}-custom-swiper-button-next`,\n prevEl: `.${id}-custom-swiper-button-prev`,\n }\n : false\n }\n onProgress={updateState}\n onSlideChange={updateState}\n modules={[Navigation, FreeMode, Mousewheel]}\n freeMode={true}\n mousewheel={{\n forceToAxis: true,\n }}\n breakpoints={\n breakpoints || {\n 0: {\n spaceBetween: 12,\n slidesPerView: 1,\n freeMode: false,\n },\n 374: {\n spaceBetween: 12,\n slidesPerView: 1.2,\n freeMode: false,\n },\n 768: {\n spaceBetween: 16,\n slidesPerView: 2,\n freeMode: false,\n },\n }\n }\n >\n {data?.list?.map((item, jIndex) => (\n <SwiperSlide key={id + 'SwiperSlide' + jIndex} className={cn('!flex !h-[unset]', itemClassName)}>\n <Slide\n data={item}\n configuration={data?.configuration ? { ...data?.configuration, index: jIndex } : { index: jIndex }}\n jIndex={jIndex}\n />\n </SwiperSlide>\n ))}\n </Swiper>\n\n {showNavigation && (\n <>\n <button\n className={cn(\n `${id}-custom-swiper-button-prev`,\n 'group absolute top-1/2 z-10 hidden -translate-y-1/2 items-center justify-center',\n !isStart && 'laptop:flex',\n navigationPrevClassName\n )}\n aria-label=\"Previous slide\"\n >\n <PrevIcon />\n </button>\n <button\n className={cn(\n `${id}-custom-swiper-button-next`,\n 'group absolute top-1/2 z-10 hidden -translate-y-1/2 items-center justify-center',\n !isEnd && 'laptop:flex',\n navigationNextClassName\n )}\n aria-label=\"Next slide\"\n >\n <NextIcon />\n </button>\n </>\n )}\n </div>\n )\n }\n)\n\nSwiperBox.displayName = 'SwiperBox'\n\nexport default SwiperBox\n"],
5
+ "mappings": "aAUE,OA0GQ,YAAAA,EAzGN,OAAAC,EADF,QAAAC,MAAA,oBATF,OAAOC,GAAS,YAAAC,MAAgB,QAChC,OAAS,MAAAC,MAAU,yBAGnB,OAAS,UAAAC,EAAQ,eAAAC,MAAmB,eACpC,OAAS,cAAAC,EAAY,YAAAC,EAAU,cAAAC,MAAkB,iBAGjD,MAAMC,EAAW,IACfT,EAAC,QAAK,UAAU,uEACd,UAAAD,EAAC,QAAK,UAAU,oFAAoF,EACpGA,EAAC,OACC,MAAM,6BACN,MAAM,KACN,OAAO,KACP,QAAQ,YACR,KAAK,OACL,UAAU,oCAEV,SAAAA,EAAC,QAAK,EAAE,mBAAmB,OAAO,QAAQ,YAAY,IAAI,cAAc,QAAQ,eAAe,QAAQ,EACzG,GACF,EAGIW,EAAW,IACfV,EAAC,QAAK,UAAU,uEACd,UAAAD,EAAC,QAAK,UAAU,oFAAoF,EACpGA,EAAC,OACC,MAAM,6BACN,MAAM,KACN,OAAO,KACP,QAAQ,YACR,KAAK,OACL,UAAU,oCAEV,SAAAA,EAAC,QAAK,EAAE,kBAAkB,OAAO,QAAQ,YAAY,IAAI,cAAc,QAAQ,eAAe,QAAQ,EACxG,GACF,EAGIY,EAAYV,EAAM,WACtB,CACE,CACE,KAAAW,EACA,YAAAC,EACA,MAAAC,EACA,UAAAC,EACA,GAAAC,EACA,cAAAC,EACA,eAAAC,EAAiB,GACjB,wBAAAC,EACA,wBAAAC,EACA,GAAGC,CACL,EACAC,IACG,CACH,KAAM,CAACC,EAASC,CAAQ,EAAItB,EAAS,EAAI,EACnC,CAACuB,EAAOC,CAAM,EAAIxB,EAAS,EAAK,EAEhCyB,EAAeC,GAAqD,CACxEJ,EAASI,EAAO,WAAW,EAC3BF,EAAOE,EAAO,KAAK,CACrB,EAEA,OACE5B,EAAC,OAAK,GAAGqB,EAAM,IAAKC,EAAK,UAAWnB,EAAGe,GAAkB,UAAU,EACjE,UAAAnB,EAACK,EAAA,CACC,UAAWD,EAAGY,CAAS,EACvB,WACEG,EACI,CACE,OAAQ,IAAIF,CAAE,6BACd,OAAQ,IAAIA,CAAE,4BAChB,EACA,GAEN,WAAYW,EACZ,cAAeA,EACf,QAAS,CAACrB,EAAYC,EAAUC,CAAU,EAC1C,SAAU,GACV,WAAY,CACV,YAAa,EACf,EACA,YACEK,GAAe,CACb,EAAG,CACD,aAAc,GACd,cAAe,EACf,SAAU,EACZ,EACA,IAAK,CACH,aAAc,GACd,cAAe,IACf,SAAU,EACZ,EACA,IAAK,CACH,aAAc,GACd,cAAe,EACf,SAAU,EACZ,CACF,EAGD,SAAAD,GAAM,MAAM,IAAI,CAACiB,EAAMC,IACtB/B,EAACM,EAAA,CAA8C,UAAWF,EAAG,mBAAoBc,CAAa,EAC5F,SAAAlB,EAACe,EAAA,CACC,KAAMe,EACN,cAAejB,GAAM,cAAgB,CAAE,GAAGA,GAAM,cAAe,MAAOkB,CAAO,EAAI,CAAE,MAAOA,CAAO,EACjG,OAAQA,EACV,GALgBd,EAAK,cAAgBc,CAMvC,CACD,EACH,EAECZ,GACClB,EAAAF,EAAA,CACE,UAAAC,EAAC,UACC,UAAWI,EACT,GAAGa,CAAE,6BACL,kFACA,CAACO,GAAW,cACZJ,CACF,EACA,aAAW,iBAEX,SAAApB,EAACU,EAAA,EAAS,EACZ,EACAV,EAAC,UACC,UAAWI,EACT,GAAGa,CAAE,6BACL,kFACA,CAACS,GAAS,cACVL,CACF,EACA,aAAW,aAEX,SAAArB,EAACW,EAAA,EAAS,EACZ,GACF,GAEJ,CAEJ,CACF,EAEAC,EAAU,YAAc,YAExB,IAAOoB,EAAQpB",
6
+ "names": ["Fragment", "jsx", "jsxs", "React", "useState", "cn", "Swiper", "SwiperSlide", "Navigation", "FreeMode", "Mousewheel", "PrevIcon", "NextIcon", "SwiperBox", "data", "breakpoints", "Slide", "className", "id", "itemClassName", "showNavigation", "navigationPrevClassName", "navigationNextClassName", "rest", "ref", "isStart", "setStart", "isEnd", "setEnd", "updateState", "swiper", "item", "jIndex", "SwiperBox_default"]
7
7
  }
@@ -13,4 +13,10 @@ export interface SwiperBoxProps extends React.HTMLAttributes<HTMLDivElement> {
13
13
  configuration?: any;
14
14
  jIndex?: number;
15
15
  }>;
16
+ /** 是否显示左右轮播箭头。默认 false。显示断点与左右间距由调用方通过 navigationPrevClassName / navigationNextClassName 控制 */
17
+ showNavigation?: boolean;
18
+ /** 左箭头按钮追加的 className(用于控制显示断点、左右间距等,由调用方决定) */
19
+ navigationPrevClassName?: string;
20
+ /** 右箭头按钮追加的 className */
21
+ navigationNextClassName?: string;
16
22
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/biz-components/SwiperBox/types.ts"],
4
- "sourcesContent": ["import React from 'react'\n\nexport interface SwiperBoxProps extends React.HTMLAttributes<HTMLDivElement> {\n data: {\n list: any[]\n configuration?: any\n onVideoPlayBtnClick?: (jIndex: number) => void\n }\n id: string\n itemClassName?: string\n breakpoints?: Record<number, Object>\n Slide: React.ComponentType<{ data: any; configuration?: any; jIndex?: number }>\n}\n"],
4
+ "sourcesContent": ["import React from 'react'\n\nexport interface SwiperBoxProps extends React.HTMLAttributes<HTMLDivElement> {\n data: {\n list: any[]\n configuration?: any\n onVideoPlayBtnClick?: (jIndex: number) => void\n }\n id: string\n itemClassName?: string\n breakpoints?: Record<number, Object>\n Slide: React.ComponentType<{ data: any; configuration?: any; jIndex?: number }>\n /** \u662F\u5426\u663E\u793A\u5DE6\u53F3\u8F6E\u64AD\u7BAD\u5934\u3002\u9ED8\u8BA4 false\u3002\u663E\u793A\u65AD\u70B9\u4E0E\u5DE6\u53F3\u95F4\u8DDD\u7531\u8C03\u7528\u65B9\u901A\u8FC7 navigationPrevClassName / navigationNextClassName \u63A7\u5236 */\n showNavigation?: boolean\n /** \u5DE6\u7BAD\u5934\u6309\u94AE\u8FFD\u52A0\u7684 className\uFF08\u7528\u4E8E\u63A7\u5236\u663E\u793A\u65AD\u70B9\u3001\u5DE6\u53F3\u95F4\u8DDD\u7B49\uFF0C\u7531\u8C03\u7528\u65B9\u51B3\u5B9A\uFF09 */\n navigationPrevClassName?: string\n /** \u53F3\u7BAD\u5934\u6309\u94AE\u8FFD\u52A0\u7684 className */\n navigationNextClassName?: string\n}\n"],
5
5
  "mappings": "AAAA,MAAkB",
6
6
  "names": []
7
7
  }
@@ -14,6 +14,8 @@ export { default as Slogan } from './Slogan/index.js';
14
14
  export { default as Title } from './Title/index.js';
15
15
  export { default as Spacer } from './Spacer/index.js';
16
16
  export { default as ShelfDisplay } from './ShelfDisplay/index.js';
17
+ export { default as ShelfDisplayHorizontal } from './ShelfDisplayHorizontal/index.js';
18
+ export type { ShelfDisplayProps, ShelfDisplayType, ShelfDisplayItem, SocialEndorsementItem, } from './ShelfDisplay/shelfDisplay.js';
17
19
  export { default as Evaluate } from './Evaluate/index.js';
18
20
  export { default as Category } from './Category/index.js';
19
21
  export { default as HeroBanner } from './HeroBanner/index.js';
@@ -190,6 +192,7 @@ export declare const PAYLOAD_COMPONENT_MAP: {
190
192
  'ipc-search-page-tabs': string;
191
193
  'ipc-selectstore': string;
192
194
  'ipc-shelfdisplay': string;
195
+ 'ipc-shelfdisplay-horizontal': string;
193
196
  'ipc-slogan': string;
194
197
  'ipc-spacer': string;
195
198
  'ipc-specs': string;
@@ -1,2 +1,2 @@
1
- import{AccessoriesProductGrid as o,SectionHeader as a,PromoBanner as i,MainProductArea as s,AddToCartSuccessPopover as p}from"./AccessoriesShelf/index.js";import{default as d}from"./ActivitySchedule/index.js";import{default as n}from"./GiftShelf/index.js";import{default as m}from"./GiftTierShelf/index.js";import{default as x}from"./ActivityMechanism/index.js";import{default as P}from"./BrandEquity/index.js";import{default as h}from"./MemberEquity/index.js";import{default as g}from"./Slogan/index.js";import{default as B}from"./Title/index.js";import{default as T}from"./Spacer/index.js";import{default as A}from"./ShelfDisplay/index.js";import{default as b}from"./Evaluate/index.js";import{default as F}from"./Category/index.js";import{default as k}from"./HeroBanner/index.js";import{default as w}from"./AccordionCards/index.js";import{default as O}from"./Graphic/index.js";import{default as W}from"./MediaPlayerBase/index.js";import{default as q}from"./MediaPlayerSticky/index.js";import{default as H}from"./MediaPlayerMulti/index.js";import{default as U}from"./Marquee/index.js";import{default as z}from"./MarqueeReview/index.js";import{default as J}from"./WhyChoose/index.js";import{default as X}from"./Faq/index.js";import{MarqueeItem as $,MarqueeImageContent as ee,MarqueeTextContent as te}from"./Marquee/index.js";import{default as oe}from"./MultiLayoutGraphicBlock/index.js";import{default as ie}from"./GraphicAttractionBlock/index.js";import{default as pe}from"./HeaderNavigation/index.js";import{default as de}from"./FooterNavigation/index.js";import{default as ne}from"./SearchPage/index.js";import{IPC_SEARCH_PAGE as me,SearchPageTabType as le}from"./SearchPage/types.js";import{withLayout as ye}from"../shared/Styles.js";import{default as Se}from"./AiuiProvider/index.js";import{default as Ce}from"./Tabs/index.js";import{default as Me}from"./SwiperBox/index.js";import{VideoModal as ve}from"./VideoModal/index.js";import{default as Ie}from"./CreativeModule/index.js";import{default as je}from"./GraphicOverlay/index.js";import{default as De}from"./Specs/index.js";import{default as Ge}from"./TabsGroup/index.js";import{default as Le,useBizProductContext as we}from"./Listing/BizProductProvider.js";import{default as Oe}from"./Listing/components/PurchaseBar/index.js";import{default as We}from"./Listing/components/PurchaseBar/ProductActions/index.js";import{default as qe}from"./Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.js";import{default as He}from"./Listing/components/ProductCard/ProductDetail/ProductBenefits/index.js";import{default as Ue}from"./Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js";import{default as ze}from"./Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.js";import{default as Je}from"./Listing/components/ProductCard/ProductDetail/ProductFunctionFreeGift/index.js";import{default as Xe}from"./Listing/components/ProductCard/ProductDetail/ProductOptions/index.js";import{default as $e}from"./Listing/components/ProductCard/ProductDetail/ProductBundle/index.js";import{default as tt}from"./Listing/components/ProductCard/ProductDetail/ProductCoupon/index.js";import{default as ot}from"./Listing/components/ProductCard/ProductDetail/ProductBanner/index.js";import{default as it}from"./Listing/components/ProductCard/ProductGridBox.js";import{default as pt}from"./Listing/components/ProductCard/ProductGallery/index.js";import{default as dt}from"./Listing/components/ProductCard/ProductSummary/index.js";import{default as nt}from"./Listing/components/ProductCard/ProductDetail/BenefitsTab.js";import{default as mt}from"./Listing/components/PaidShipping/index.js";import{default as xt}from"./Listing/components/CartActionButtons/index.js";import{NotifyMeDialog as Pt}from"./NotifyMeDialog/index.js";import{default as ht}from"./Listing/components/ProductCard/ProductDetail/ProductServiceBenefits/index.js";import{default as gt}from"./Listing/components/ProductCard/ProductPaidShipping/index.js";import{default as Bt}from"./GraphicMore/index.js";import{default as Tt}from"./Features/index.js";import{default as At}from"./AplusDesc/index.js";import{default as bt}from"./GiftBox/index.js";import{default as Ft}from"./SelectStore/index.js";import{default as kt}from"./DownLoad/index.js";import{default as wt}from"./FootCharger/index.js";import{default as Ot}from"./BrandCardLink/index.js";import*as Nt from"./IPRedirect/index.js";import{default as Et}from"./WheelLottery/index.js";import{default as Rt}from"./ProductLottery/index.js";import{default as Kt}from"./ProductCompare/index.js";import{default as _t}from"./Ksp/index.js";import{default as Yt}from"./ImageTextFeature/index.js";import{default as Qt}from"./FeatureCards/index.js";import{default as Zt}from"./FeaturedBlogPosts/index.js";import{default as er}from"./ImageWithText/index.js";import{default as rr}from"./VideoFeature/index.js";import{default as ar}from"./TabsWithMedia/index.js";import{default as sr}from"./TabWithImage/index.js";import{default as fr}from"./FeatureShowcase/index.js";import{default as cr}from"./ProductHero/index.js";import{default as ur}from"./SpecsComparison/index.js";import{default as lr}from"./MediaSceneSwitcher/index.js";import{default as yr}from"./MediaSceneSwitcherV2/index.js";import{default as Sr}from"./ThreeDCarousel/index.js";import{default as Cr}from"./ProductNav/index.js";import{default as Mr}from"./AnchorNavigation/index.js";import{default as vr}from"./PromotionalBar/index.js";import{default as Ir}from"./EventSchedule/index.js";import{default as jr}from"./SecondaryBanner/index.js";import{default as Dr}from"./BuyOneGetOneShelf/index.js";import{default as Gr}from"./ActiveShelf/index.js";import{default as Lr}from"./MediaShelf/index.js";import{default as Vr,CreditsProductCard as Or}from"./CreditsShelf/index.js";import{default as Wr,SceneProductCard as Er}from"./SceneShelf/index.js";import{default as Rr,SceneShelfV2ProductCard as Hr}from"./SceneShelfV2/index.js";import{default as Ur}from"./SceneShelfV3/index.js";import{default as zr}from"./MediaEndorsement/index.js";import{default as Jr}from"./MediaTextOverlay/index.js";import{default as Xr}from"./ImageOverlayShelf/index.js";import{default as $r,AccessoryProductCard as eo}from"./AccessoriesShelf/components/AccessoryShelf/index.js";import{default as ro}from"./ImageTextOverlay/index.js";import{default as ao}from"./MiniCart/index.js";import{default as so}from"./MiniCart/CircleProgress.js";import{default as fo,MiniCartDialog as co}from"./MiniCart/MiniCartDialog.js";import{default as uo}from"./WebPushPopup/index.js";import{useEmarsysWebPush as lo}from"../hooks/useEmarsysWebPush.js";const e={"ipc-accordioncards":"AccordionCards","ipc-aplusdesc":"AplusDesc","ipc-banner":"HeroBanner","ipc-brand-equity":"BrandEquity","ipc-category":"Category","ipc-collection-banner":"CollectionBanner","ipc-collection-shelves":"CollectionShelves","ipc-creativemodule":"CreativeModule","ipc-download":"DownLoad","ipc-evaluate":"Evaluate","ipc-faq":"Faq","ipc-features":"Features","ipc-footcharger":"FootCharger","ipc-ga-block":"GraphicAttractionBlock","ipc-giftbox":"GiftBox","ipc-giftshelf":"GiftShelf","ipc-graphic":"Graphic","ipc-graphicmore":"GraphicMore","ipc-graphicoverlay":"GraphicOverlay","ipc-marquee":"Marquee","ipc-mediaplayerbase":"MediaPlayerBase","ipc-mediaplayermulti":"MediaPlayerMulti","ipc-mediaplayersticky":"MediaPlayerSticky","ipc-member-equity":"MemberEquity","ipc-mlg-block":"MultiLayoutGraphicBlock","ipc-search-page-tabs":"SearchPageBlock","ipc-selectstore":"SelectStore","ipc-shelfdisplay":"ShelfDisplay","ipc-slogan":"Slogan","ipc-spacer":"Spacer","ipc-specs":"Specs","ipc-tabs":"Tabs","ipc-text-marquee":"TextMarquee","ipc-title":"Title","ipc-whychoose":"WhyChoose","ipc-product-nav":"ProductNav","ipc-brand-card-link":"BrandCardLink","ipc-ipredirect":"IPRedirect",ksp:"Ksp","ipc-secondary-banner":"SecondaryBanner","ipc-media-endorsement":"MediaEndorsement","ipc-media-scene-switcher-v2":"MediaSceneSwitcherV2","ipc-featured-blog-posts":"FeaturedBlogPosts","ipc-media-text-overlay":"MediaTextOverlay",ProductCompare:"ProductCompare"};import{CartSummaryHeader as yo,CartItemRow as Po,CartGiftSection as So,CartPerksSection as ho,CartThirdPartyBanner as Co,CartPriceSummary as go}from"./CartDetail/index.js";import{useAiuiContext as Bo}from"./AiuiProvider/index.js";import{default as To}from"./ModalRegisterSubscribe/index.js";import{default as Ao}from"./ModalSubscribeConfirm/index.js";import{default as bo}from"./ModalCoupon/index.js";import{default as Fo}from"./ModalSmsSubscribe/index.js";import{default as ko}from"./ModalVerify/index.js";export{o as AccessoriesProductGrid,eo as AccessoryProductCard,$r as AccessoryShelf,w as AccordionCards,Gr as ActiveShelf,x as ActivityMechanism,d as ActivitySchedule,p as AddToCartSuccessPopover,Se as AiuiProvider,Mr as AnchorNavigation,At as AplusDesc,nt as BenefitsTab,Le as BizProductProvider,Ot as BrandCardLink,P as BrandEquity,Dr as BuyOneGetOneShelf,xt as CartActionButtons,So as CartGiftSection,Po as CartItemRow,ho as CartPerksSection,go as CartPriceSummary,yo as CartSummaryHeader,Co as CartThirdPartyBanner,F as Category,Ie as CreativeModule,Or as CreditsProductCard,Vr as CreditsShelf,kt as DownLoad,b as Evaluate,Ir as EventSchedule,X as Faq,Qt as FeatureCards,fr as FeatureShowcase,Zt as FeaturedBlogPosts,Tt as Features,wt as FootCharger,de as FooterNavigation,bt as GiftBox,n as GiftShelf,m as GiftTierShelf,O as Graphic,ie as GraphicAttractionBlock,Bt as GraphicMore,je as GraphicOverlay,pe as HeaderNavigation,k as HeroBanner,me as IPC_SEARCH_PAGE,Nt as IPRedirect,Xr as ImageOverlayShelf,Yt as ImageTextFeature,ro as ImageTextOverlay,er as ImageWithText,_t as Ksp,s as MainProductArea,U as Marquee,ee as MarqueeImageContent,$ as MarqueeItem,z as MarqueeReview,te as MarqueeTextContent,zr as MediaEndorsement,W as MediaPlayerBase,H as MediaPlayerMulti,q as MediaPlayerSticky,lr as MediaSceneSwitcher,yr as MediaSceneSwitcherV2,Lr as MediaShelf,Jr as MediaTextOverlay,h as MemberEquity,ao as MiniCart,so as MiniCartCircleProgress,fo as MiniCartDialog,co as MiniCartDialogComponent,bo as ModalCoupon,To as ModalRegisterSubscribe,Fo as ModalSmsSubscribe,Ao as ModalSubscribeConfirm,ko as ModalVerify,oe as MultiLayoutGraphicBlock,Pt as NotifyMeDialog,e as PAYLOAD_COMPONENT_MAP,mt as PaidShipping,We as ProductActions,ot as ProductBanner,He as ProductBenefits,qe as ProductBenefitsTabs,$e as ProductBundle,Kt as ProductCompare,tt as ProductCoupon,ze as ProductFreeGift,Je as ProductFunctionFreeGift,pt as ProductGallery,it as ProductGridBox,cr as ProductHero,Ue as ProductHighlight,Rt as ProductLottery,Cr as ProductNav,Xe as ProductOptions,gt as ProductPaidShipping,ht as ProductServiceBenefits,dt as ProductSummary,i as PromoBanner,vr as PromotionalBar,Oe as PurchaseBar,Er as SceneProductCard,Wr as SceneShelf,Rr as SceneShelfV2,Hr as SceneShelfV2ProductCard,Ur as SceneShelfV3,ne as SearchPage,le as SearchPageTabType,jr as SecondaryBanner,a as SectionHeader,Ft as SelectStore,A as ShelfDisplay,g as Slogan,T as Spacer,De as Specs,ur as SpecsComparison,Me as SwiperBox,Ge as TabGroup,sr as TabWithImage,Ce as Tabs,ar as TabsWithMedia,Sr as ThreeDCarousel,B as Title,rr as VideoFeature,ve as VideoModal,uo as WebPushPopup,Et as WheelLottery,J as WhyChoose,Bo as useAiuiContext,we as useBizProductContext,lo as useEmarsysWebPush,ye as withLayout};
1
+ import{AccessoriesProductGrid as o,SectionHeader as a,PromoBanner as i,MainProductArea as s,AddToCartSuccessPopover as p}from"./AccessoriesShelf/index.js";import{default as d}from"./ActivitySchedule/index.js";import{default as n}from"./GiftShelf/index.js";import{default as l}from"./GiftTierShelf/index.js";import{default as x}from"./ActivityMechanism/index.js";import{default as P}from"./BrandEquity/index.js";import{default as h}from"./MemberEquity/index.js";import{default as g}from"./Slogan/index.js";import{default as B}from"./Title/index.js";import{default as v}from"./Spacer/index.js";import{default as A}from"./ShelfDisplay/index.js";import{default as j}from"./ShelfDisplayHorizontal/index.js";import{default as F}from"./Evaluate/index.js";import{default as k}from"./Category/index.js";import{default as w}from"./HeroBanner/index.js";import{default as O}from"./AccordionCards/index.js";import{default as N}from"./Graphic/index.js";import{default as q}from"./MediaPlayerBase/index.js";import{default as H}from"./MediaPlayerSticky/index.js";import{default as K}from"./MediaPlayerMulti/index.js";import{default as _}from"./Marquee/index.js";import{default as J}from"./MarqueeReview/index.js";import{default as X}from"./WhyChoose/index.js";import{default as $}from"./Faq/index.js";import{MarqueeItem as te,MarqueeImageContent as re,MarqueeTextContent as oe}from"./Marquee/index.js";import{default as ie}from"./MultiLayoutGraphicBlock/index.js";import{default as pe}from"./GraphicAttractionBlock/index.js";import{default as de}from"./HeaderNavigation/index.js";import{default as ne}from"./FooterNavigation/index.js";import{default as le}from"./SearchPage/index.js";import{IPC_SEARCH_PAGE as xe,SearchPageTabType as ye}from"./SearchPage/types.js";import{withLayout as Se}from"../shared/Styles.js";import{default as Ce}from"./AiuiProvider/index.js";import{default as Me}from"./Tabs/index.js";import{default as Te}from"./SwiperBox/index.js";import{VideoModal as Ie}from"./VideoModal/index.js";import{default as De}from"./CreativeModule/index.js";import{default as be}from"./GraphicOverlay/index.js";import{default as Ge}from"./Specs/index.js";import{default as Le}from"./TabsGroup/index.js";import{default as Ve,useBizProductContext as Oe}from"./Listing/BizProductProvider.js";import{default as Ne}from"./Listing/components/PurchaseBar/index.js";import{default as qe}from"./Listing/components/PurchaseBar/ProductActions/index.js";import{default as He}from"./Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.js";import{default as Ke}from"./Listing/components/ProductCard/ProductDetail/ProductBenefits/index.js";import{default as _e}from"./Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js";import{default as Je}from"./Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.js";import{default as Xe}from"./Listing/components/ProductCard/ProductDetail/ProductFunctionFreeGift/index.js";import{default as $e}from"./Listing/components/ProductCard/ProductDetail/ProductOptions/index.js";import{default as tt}from"./Listing/components/ProductCard/ProductDetail/ProductBundle/index.js";import{default as ot}from"./Listing/components/ProductCard/ProductDetail/ProductCoupon/index.js";import{default as it}from"./Listing/components/ProductCard/ProductDetail/ProductBanner/index.js";import{default as pt}from"./Listing/components/ProductCard/ProductGridBox.js";import{default as dt}from"./Listing/components/ProductCard/ProductGallery/index.js";import{default as nt}from"./Listing/components/ProductCard/ProductSummary/index.js";import{default as lt}from"./Listing/components/ProductCard/ProductDetail/BenefitsTab.js";import{default as xt}from"./Listing/components/PaidShipping/index.js";import{default as Pt}from"./Listing/components/CartActionButtons/index.js";import{NotifyMeDialog as ht}from"./NotifyMeDialog/index.js";import{default as gt}from"./Listing/components/ProductCard/ProductDetail/ProductServiceBenefits/index.js";import{default as Bt}from"./Listing/components/ProductCard/ProductPaidShipping/index.js";import{default as vt}from"./GraphicMore/index.js";import{default as At}from"./Features/index.js";import{default as jt}from"./AplusDesc/index.js";import{default as Ft}from"./GiftBox/index.js";import{default as kt}from"./SelectStore/index.js";import{default as wt}from"./DownLoad/index.js";import{default as Ot}from"./FootCharger/index.js";import{default as Nt}from"./BrandCardLink/index.js";import*as Wt from"./IPRedirect/index.js";import{default as Rt}from"./WheelLottery/index.js";import{default as zt}from"./ProductLottery/index.js";import{default as Ut}from"./ProductCompare/index.js";import{default as Yt}from"./Ksp/index.js";import{default as Qt}from"./ImageTextFeature/index.js";import{default as Zt}from"./FeatureCards/index.js";import{default as er}from"./FeaturedBlogPosts/index.js";import{default as rr}from"./ImageWithText/index.js";import{default as ar}from"./VideoFeature/index.js";import{default as sr}from"./TabsWithMedia/index.js";import{default as fr}from"./TabWithImage/index.js";import{default as cr}from"./FeatureShowcase/index.js";import{default as ur}from"./ProductHero/index.js";import{default as mr}from"./SpecsComparison/index.js";import{default as yr}from"./MediaSceneSwitcher/index.js";import{default as Sr}from"./MediaSceneSwitcherV2/index.js";import{default as Cr}from"./ThreeDCarousel/index.js";import{default as Mr}from"./ProductNav/index.js";import{default as Tr}from"./AnchorNavigation/index.js";import{default as Ir}from"./PromotionalBar/index.js";import{default as Dr}from"./EventSchedule/index.js";import{default as br}from"./SecondaryBanner/index.js";import{default as Gr}from"./BuyOneGetOneShelf/index.js";import{default as Lr}from"./ActiveShelf/index.js";import{default as Vr}from"./MediaShelf/index.js";import{default as Er,CreditsProductCard as Nr}from"./CreditsShelf/index.js";import{default as qr,SceneProductCard as Rr}from"./SceneShelf/index.js";import{default as zr,SceneShelfV2ProductCard as Kr}from"./SceneShelfV2/index.js";import{default as _r}from"./SceneShelfV3/index.js";import{default as Jr}from"./MediaEndorsement/index.js";import{default as Xr}from"./MediaTextOverlay/index.js";import{default as $r}from"./ImageOverlayShelf/index.js";import{default as to,AccessoryProductCard as ro}from"./AccessoriesShelf/components/AccessoryShelf/index.js";import{default as ao}from"./ImageTextOverlay/index.js";import{default as so}from"./MiniCart/index.js";import{default as fo}from"./MiniCart/CircleProgress.js";import{default as no,MiniCartDialog as uo}from"./MiniCart/MiniCartDialog.js";import{default as mo}from"./WebPushPopup/index.js";import{useEmarsysWebPush as yo}from"../hooks/useEmarsysWebPush.js";const e={"ipc-accordioncards":"AccordionCards","ipc-aplusdesc":"AplusDesc","ipc-banner":"HeroBanner","ipc-brand-equity":"BrandEquity","ipc-category":"Category","ipc-collection-banner":"CollectionBanner","ipc-collection-shelves":"CollectionShelves","ipc-creativemodule":"CreativeModule","ipc-download":"DownLoad","ipc-evaluate":"Evaluate","ipc-faq":"Faq","ipc-features":"Features","ipc-footcharger":"FootCharger","ipc-ga-block":"GraphicAttractionBlock","ipc-giftbox":"GiftBox","ipc-giftshelf":"GiftShelf","ipc-graphic":"Graphic","ipc-graphicmore":"GraphicMore","ipc-graphicoverlay":"GraphicOverlay","ipc-marquee":"Marquee","ipc-mediaplayerbase":"MediaPlayerBase","ipc-mediaplayermulti":"MediaPlayerMulti","ipc-mediaplayersticky":"MediaPlayerSticky","ipc-member-equity":"MemberEquity","ipc-mlg-block":"MultiLayoutGraphicBlock","ipc-search-page-tabs":"SearchPageBlock","ipc-selectstore":"SelectStore","ipc-shelfdisplay":"ShelfDisplay","ipc-shelfdisplay-horizontal":"ShelfDisplayHorizontal","ipc-slogan":"Slogan","ipc-spacer":"Spacer","ipc-specs":"Specs","ipc-tabs":"Tabs","ipc-text-marquee":"TextMarquee","ipc-title":"Title","ipc-whychoose":"WhyChoose","ipc-product-nav":"ProductNav","ipc-brand-card-link":"BrandCardLink","ipc-ipredirect":"IPRedirect",ksp:"Ksp","ipc-secondary-banner":"SecondaryBanner","ipc-media-endorsement":"MediaEndorsement","ipc-media-scene-switcher-v2":"MediaSceneSwitcherV2","ipc-featured-blog-posts":"FeaturedBlogPosts","ipc-media-text-overlay":"MediaTextOverlay",ProductCompare:"ProductCompare"};import{CartSummaryHeader as So,CartItemRow as ho,CartGiftSection as Co,CartPerksSection as go,CartThirdPartyBanner as Mo,CartPriceSummary as Bo}from"./CartDetail/index.js";import{useAiuiContext as vo}from"./AiuiProvider/index.js";import{default as Ao}from"./ModalRegisterSubscribe/index.js";import{default as jo}from"./ModalSubscribeConfirm/index.js";import{default as Fo}from"./ModalCoupon/index.js";import{default as ko}from"./ModalSmsSubscribe/index.js";import{default as wo}from"./ModalVerify/index.js";export{o as AccessoriesProductGrid,ro as AccessoryProductCard,to as AccessoryShelf,O as AccordionCards,Lr as ActiveShelf,x as ActivityMechanism,d as ActivitySchedule,p as AddToCartSuccessPopover,Ce as AiuiProvider,Tr as AnchorNavigation,jt as AplusDesc,lt as BenefitsTab,Ve as BizProductProvider,Nt as BrandCardLink,P as BrandEquity,Gr as BuyOneGetOneShelf,Pt as CartActionButtons,Co as CartGiftSection,ho as CartItemRow,go as CartPerksSection,Bo as CartPriceSummary,So as CartSummaryHeader,Mo as CartThirdPartyBanner,k as Category,De as CreativeModule,Nr as CreditsProductCard,Er as CreditsShelf,wt as DownLoad,F as Evaluate,Dr as EventSchedule,$ as Faq,Zt as FeatureCards,cr as FeatureShowcase,er as FeaturedBlogPosts,At as Features,Ot as FootCharger,ne as FooterNavigation,Ft as GiftBox,n as GiftShelf,l as GiftTierShelf,N as Graphic,pe as GraphicAttractionBlock,vt as GraphicMore,be as GraphicOverlay,de as HeaderNavigation,w as HeroBanner,xe as IPC_SEARCH_PAGE,Wt as IPRedirect,$r as ImageOverlayShelf,Qt as ImageTextFeature,ao as ImageTextOverlay,rr as ImageWithText,Yt as Ksp,s as MainProductArea,_ as Marquee,re as MarqueeImageContent,te as MarqueeItem,J as MarqueeReview,oe as MarqueeTextContent,Jr as MediaEndorsement,q as MediaPlayerBase,K as MediaPlayerMulti,H as MediaPlayerSticky,yr as MediaSceneSwitcher,Sr as MediaSceneSwitcherV2,Vr as MediaShelf,Xr as MediaTextOverlay,h as MemberEquity,so as MiniCart,fo as MiniCartCircleProgress,no as MiniCartDialog,uo as MiniCartDialogComponent,Fo as ModalCoupon,Ao as ModalRegisterSubscribe,ko as ModalSmsSubscribe,jo as ModalSubscribeConfirm,wo as ModalVerify,ie as MultiLayoutGraphicBlock,ht as NotifyMeDialog,e as PAYLOAD_COMPONENT_MAP,xt as PaidShipping,qe as ProductActions,it as ProductBanner,Ke as ProductBenefits,He as ProductBenefitsTabs,tt as ProductBundle,Ut as ProductCompare,ot as ProductCoupon,Je as ProductFreeGift,Xe as ProductFunctionFreeGift,dt as ProductGallery,pt as ProductGridBox,ur as ProductHero,_e as ProductHighlight,zt as ProductLottery,Mr as ProductNav,$e as ProductOptions,Bt as ProductPaidShipping,gt as ProductServiceBenefits,nt as ProductSummary,i as PromoBanner,Ir as PromotionalBar,Ne as PurchaseBar,Rr as SceneProductCard,qr as SceneShelf,zr as SceneShelfV2,Kr as SceneShelfV2ProductCard,_r as SceneShelfV3,le as SearchPage,ye as SearchPageTabType,br as SecondaryBanner,a as SectionHeader,kt as SelectStore,A as ShelfDisplay,j as ShelfDisplayHorizontal,g as Slogan,v as Spacer,Ge as Specs,mr as SpecsComparison,Te as SwiperBox,Le as TabGroup,fr as TabWithImage,Me as Tabs,sr as TabsWithMedia,Cr as ThreeDCarousel,B as Title,ar as VideoFeature,Ie as VideoModal,mo as WebPushPopup,Rt as WheelLottery,X as WhyChoose,vo as useAiuiContext,Oe as useBizProductContext,yo as useEmarsysWebPush,Se as withLayout};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/biz-components/index.ts"],
4
- "sourcesContent": ["export {\n AccessoriesProductGrid,\n SectionHeader,\n PromoBanner,\n MainProductArea,\n AddToCartSuccessPopover,\n} from './AccessoriesShelf/index.js'\nexport type {\n UserType,\n BannerConfig,\n BannerAction,\n AddToCartSuccessPopoverProps,\n AddToCartSuccessCopyConfig,\n AddToCartSuccessSemanticName,\n} from './AccessoriesShelf/index.js'\nexport { default as ActivitySchedule } from './ActivitySchedule/index.js'\nexport type { ActivityScheduleProps, ActivityScheduleData, ActivityScheduleItem } from './ActivitySchedule/types.js'\nexport { default as GiftShelf } from './GiftShelf/index.js'\nexport type {\n GiftShelfProps,\n GiftShelfData,\n GiftShelfItem,\n CountdownConfig,\n ResponsiveBackgroundImage as GiftShelfResponsiveBackgroundImage,\n} from './GiftShelf/types.js'\nexport { default as GiftTierShelf } from './GiftTierShelf/index.js'\nexport type { GiftTierShelfProps, GiftTierShelfData, GiftTierItem, GiftTierProduct } from './GiftTierShelf/types.js'\nexport { default as ActivityMechanism } from './ActivityMechanism/index.js'\nexport type {\n ActivityMechanismProps,\n ActivityMechanismItem,\n ActivityMechanismSemanticName,\n ResponsiveBackgroundImage,\n} from './ActivityMechanism/types.js'\nexport { default as BrandEquity } from './BrandEquity/index.js'\nexport { default as MemberEquity } from './MemberEquity/index.js'\nexport { default as Slogan } from './Slogan/index.js'\nexport { default as Title } from './Title/index.js'\nexport { default as Spacer } from './Spacer/index.js'\nexport { default as ShelfDisplay } from './ShelfDisplay/index.js'\nexport { default as Evaluate } from './Evaluate/index.js'\nexport { default as Category } from './Category/index.js'\nexport { default as HeroBanner } from './HeroBanner/index.js'\nexport { default as AccordionCards } from './AccordionCards/index.js'\nexport { default as Graphic } from './Graphic/index.js'\nexport { default as MediaPlayerBase } from './MediaPlayerBase/index.js'\nexport { default as MediaPlayerSticky } from './MediaPlayerSticky/index.js'\nexport { default as MediaPlayerMulti } from './MediaPlayerMulti/index.js'\nexport { default as Marquee } from './Marquee/index.js'\nexport { default as MarqueeReview } from './MarqueeReview/index.js'\nexport type { MarqueeReviewProps, MarqueeReviewData, ReviewItem } from './MarqueeReview/index.js'\nexport { default as WhyChoose } from './WhyChoose/index.js'\nexport { default as Faq } from './Faq/index.js'\nexport { MarqueeItem, MarqueeImageContent, MarqueeTextContent } from './Marquee/index.js'\nexport { default as MultiLayoutGraphicBlock } from './MultiLayoutGraphicBlock/index.js'\nexport type { MultiLayoutGraphicBlockProps } from './MultiLayoutGraphicBlock/index.js'\nexport { default as GraphicAttractionBlock } from './GraphicAttractionBlock/index.js'\nexport type { GraphicAttractionBlockProps } from './GraphicAttractionBlock/index.js'\nexport { default as HeaderNavigation } from './HeaderNavigation/index.js'\nexport { default as FooterNavigation } from './FooterNavigation/index.js'\nexport { default as SearchPage } from './SearchPage/index.js'\nexport type { SearchPageProps } from './SearchPage/types.js'\nexport { IPC_SEARCH_PAGE, SearchPageTabType } from './SearchPage/types.js'\n\nexport { withLayout } from '../shared/Styles.js'\nexport { default as AiuiProvider } from './AiuiProvider/index.js'\nexport { default as Tabs } from './Tabs/index.js'\nexport { default as SwiperBox } from './SwiperBox/index.js'\nexport { VideoModal } from './VideoModal/index.js'\nexport { default as CreativeModule } from './CreativeModule/index.js'\nexport { default as GraphicOverlay } from './GraphicOverlay/index.js'\nexport { default as Specs } from './Specs/index.js'\nexport { default as TabGroup } from './TabsGroup/index.js'\n\nexport { default as BizProductProvider, useBizProductContext } from './Listing/BizProductProvider.js'\nexport { default as PurchaseBar } from './Listing/components/PurchaseBar/index.js'\nexport { default as ProductActions } from './Listing/components/PurchaseBar/ProductActions/index.js'\nexport type { ProductActionsProps } from './Listing/components/PurchaseBar/ProductActions/index.js'\nexport { default as ProductBenefitsTabs } from './Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.js'\nexport { default as ProductBenefits } from './Listing/components/ProductCard/ProductDetail/ProductBenefits/index.js'\nexport { default as ProductHighlight } from './Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js'\nexport { default as ProductFreeGift } from './Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.js'\nexport { default as ProductFunctionFreeGift } from './Listing/components/ProductCard/ProductDetail/ProductFunctionFreeGift/index.js'\nexport type {\n ProductFunctionFreeGiftProps,\n FunctionFreeGiftItem,\n} from './Listing/components/ProductCard/ProductDetail/ProductFunctionFreeGift'\n// export { default as ProductExchangePurchase } from './Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.js'\nexport { default as ProductOptions } from './Listing/components/ProductCard/ProductDetail/ProductOptions/index.js'\nexport { default as ProductBundle } from './Listing/components/ProductCard/ProductDetail/ProductBundle/index.js'\nexport type {\n ProductBundleProps,\n BundleOption,\n BundleVariantItem,\n} from './Listing/components/ProductCard/ProductDetail/ProductBundle/index.js'\nexport { default as ProductCoupon } from './Listing/components/ProductCard/ProductDetail/ProductCoupon/index.js'\nexport { default as ProductBanner } from './Listing/components/ProductCard/ProductDetail/ProductBanner/index.js'\nexport { default as ProductGridBox } from './Listing/components/ProductCard/ProductGridBox.js'\nexport { default as ProductGallery } from './Listing/components/ProductCard/ProductGallery/index.js'\nexport { default as ProductSummary } from './Listing/components/ProductCard/ProductSummary/index.js'\nexport { default as BenefitsTab } from './Listing/components/ProductCard/ProductDetail/BenefitsTab.js'\nexport { default as PaidShipping } from './Listing/components/PaidShipping/index.js'\nexport { default as CartActionButtons } from './Listing/components/CartActionButtons/index.js'\nexport type { CartActionButtonsProps } from './Listing/components/CartActionButtons/index.js'\nexport { NotifyMeDialog } from './NotifyMeDialog/index.js'\nexport type { NotifyMeDialogProps, CheckboxConfig, SubscriptionMeta } from './NotifyMeDialog/types.js'\nexport { default as ProductServiceBenefits } from './Listing/components/ProductCard/ProductDetail/ProductServiceBenefits/index.js'\nexport type {\n ProductServiceBenefitsProps,\n ServiceBenefitItem,\n} from './Listing/components/ProductCard/ProductDetail/ProductServiceBenefits/index.js'\nexport { default as ProductPaidShipping } from './Listing/components/ProductCard/ProductPaidShipping/index.js'\n\nexport { default as GraphicMore } from './GraphicMore/index.js'\nexport { default as Features } from './Features/index.js'\nexport { default as AplusDesc } from './AplusDesc/index.js'\nexport { default as GiftBox } from './GiftBox/index.js'\nexport { default as SelectStore } from './SelectStore/index.js'\nexport { default as DownLoad } from './DownLoad/index.js'\nexport { default as FootCharger } from './FootCharger/index.js'\nexport { default as BrandCardLink } from './BrandCardLink/index.js'\nexport type { BrandCardLinkProps, BrandCardLinkItemProps } from './BrandCardLink/types.js'\n\nexport * as IPRedirect from './IPRedirect/index.js'\n\nexport { default as WheelLottery } from './WheelLottery/index.js'\nexport type {\n WheelLotteryProps,\n WheelLotteryHandle,\n Prize,\n ChanceMethod,\n WinningInfo,\n UserData,\n} from './WheelLottery/types.js'\nexport { default as ProductLottery } from './ProductLottery/index.js'\nexport type { ProductLotteryProps, ProductLotteryHandle, MediaConfig, CtaButtonConfig } from './ProductLottery/types.js'\nexport { default as ProductCompare } from './ProductCompare/index.js'\nexport type { ProductCompareProps, ProductItemData } from './ProductCompare/index.js'\nexport { default as Ksp } from './Ksp/index.js'\nexport type { KspProps, KspData, KspCardItem } from './Ksp/index.js'\nexport { default as ImageTextFeature } from './ImageTextFeature/index.js'\nexport type { ImageTextFeatureProps, ImageTextFeatureItem } from './ImageTextFeature/index.js'\nexport { default as FeatureCards } from './FeatureCards/index.js'\nexport type { FeatureCardsProps, FeatureCardItem } from './FeatureCards/index.js'\nexport { default as FeaturedBlogPosts } from './FeaturedBlogPosts/index.js'\nexport type {\n FeaturedBlogPostsProps,\n FeaturedBlogPostsData,\n FeaturedBlogPostItem,\n FeaturedBlogPostSpan,\n} from './FeaturedBlogPosts/index.js'\nexport { default as ImageWithText } from './ImageWithText/index.js'\nexport type { ImageWithTextProps } from './ImageWithText/index.js'\nexport { default as VideoFeature } from './VideoFeature/index.js'\nexport type { VideoFeatureProps } from './VideoFeature/index.js'\nexport { default as TabsWithMedia } from './TabsWithMedia/index.js'\nexport type { TabsWithMediaProps, TabItem, TimeIndex } from './TabsWithMedia/index.js'\nexport { default as TabWithImage } from './TabWithImage/index.js'\nexport type { TabWithImageProps, TabWithImageDataItem } from './TabWithImage/index.js'\nexport { default as FeatureShowcase } from './FeatureShowcase/index.js'\nexport type { FeatureShowcaseProps, FeatureShowcaseItem } from './FeatureShowcase/index.js'\nexport { default as ProductHero } from './ProductHero/index.js'\nexport type { ProductHeroProps } from './ProductHero/index.js'\nexport { default as SpecsComparison } from './SpecsComparison/index.js'\nexport type {\n SpecsComparisonProps,\n SpecsComparisonMenuItem,\n SpecsComparisonLeftMenuItem,\n} from './SpecsComparison/index.js'\nexport { default as MediaSceneSwitcher } from './MediaSceneSwitcher/index.js'\nexport type { MediaSceneSwitcherProps } from './MediaSceneSwitcher/types.js'\nexport { default as MediaSceneSwitcherV2 } from './MediaSceneSwitcherV2/index.js'\nexport type {\n MediaSceneSwitcherV2Props,\n MediaSceneSwitcherV2Data,\n MediaSceneSwitcherV2Item,\n MediaSceneSwitcherV2Layout,\n} from './MediaSceneSwitcherV2/index.js'\nexport { default as ThreeDCarousel } from './ThreeDCarousel/index.js'\nexport type { ThreeDCarouselProps } from './ThreeDCarousel/index.js'\nexport { default as ProductNav } from './ProductNav/index.js'\nexport type { ProductNavProps, TabLink, AnchorItem, BuyButton } from './ProductNav/index.js'\nexport { default as AnchorNavigation } from './AnchorNavigation/index.js'\nexport { default as PromotionalBar } from './PromotionalBar/index.js'\nexport { default as EventSchedule } from './EventSchedule/index.js'\nexport { default as SecondaryBanner } from './SecondaryBanner/index.js'\nexport { default as BuyOneGetOneShelf } from './BuyOneGetOneShelf/index.js'\nexport { default as ActiveShelf } from './ActiveShelf/index.js'\nexport { default as MediaShelf } from './MediaShelf/index.js'\nexport { default as CreditsShelf, CreditsProductCard } from './CreditsShelf/index.js'\nexport type {\n CreditsShelfSemanticName,\n CreditsProductCardData,\n CopyConfig as CreditsShelfCopyConfig,\n ButtonFunctionType as CreditsShelfButtonFunctionType,\n} from './CreditsShelf/index.js'\nexport { default as SceneShelf, SceneProductCard } from './SceneShelf/index.js'\nexport type { SceneShelfSemanticName, SceneProductCardData, SceneProductCardSemanticName } from './SceneShelf/index.js'\nexport { default as SceneShelfV2, SceneShelfV2ProductCard } from './SceneShelfV2/index.js'\nexport type {\n SceneShelfV2SemanticName,\n SceneShelfV2Data,\n SceneShelfV2Product,\n SceneShelfV2Props,\n} from './SceneShelfV2/index.js'\nexport { default as SceneShelfV3 } from './SceneShelfV3/index.js'\nexport type { SceneShelfV3Data, SceneShelfV3Props, ProductTab as SceneShelfV3ProductTab } from './SceneShelfV3/index.js'\nexport type {\n SceneShelfV3SemanticName,\n ProductCardData as SceneShelfV3ProductCardData,\n} from './SceneShelfV3/ProductCard.js'\n\nexport { default as MediaEndorsement } from './MediaEndorsement/index.js'\nexport type {\n MediaEndorsementProps,\n MediaEndorsementData,\n MediaEndorsementItem,\n MediaEndorsementSemanticName,\n} from './MediaEndorsement/index.js'\n\nexport { default as MediaTextOverlay } from './MediaTextOverlay/index.js'\nexport type {\n MediaTextOverlayProps,\n MediaTextOverlayData,\n MediaTextOverlayItem,\n MediaTextOverlaySemanticName,\n ResponsiveMedia,\n} from './MediaTextOverlay/index.js'\n\n// Copy configuration types and defaults\nexport type {\n CopyConfig as MediaShelfCopyConfig,\n ButtonFunctionType as MediaShelfButtonFunctionType,\n} from './MediaShelf/types.js'\nexport type { CopyConfig as ActiveShelfCopyConfig, ButtonFunctionType } from './ActiveShelf/types.js'\n\nexport {\n default as ImageOverlayShelf,\n type ButtonFunctionType as ImageOverlayShelfButtonFunctionType,\n} from './ImageOverlayShelf/index.js'\n\nexport { default as AccessoryShelf, AccessoryProductCard } from './AccessoriesShelf/components/AccessoryShelf/index.js'\nexport type {\n AccessoryShelfProps,\n AccessoryProductData,\n AccessoryCardSemanticName,\n AccessoryCopyConfig,\n AccessoryProductCardProps,\n} from './AccessoriesShelf/components/AccessoryShelf'\n\nexport { default as ImageTextOverlay } from './ImageTextOverlay/index.js'\nexport type {\n ImageTextOverlayProps,\n ImageTextOverlayData,\n ImageTextOverlayItem,\n ImageTextOverlaySemanticName,\n ImageTextOverlayBackgroundImage,\n} from './ImageTextOverlay/types.js'\n\n// MiniCart \u7EC4\u4EF6\u53CA\u7C7B\u578B\u5BFC\u51FA\nexport { default as MiniCart } from './MiniCart/index.js'\nexport type { Cart, CartLineItem, MiniCartData, MiniCartProps, CircleProgressConfig } from './MiniCart/index.js'\nexport { default as MiniCartCircleProgress } from './MiniCart/CircleProgress.js'\nexport type { CircleProgressProps as MiniCartCircleProgressProps } from './MiniCart/CircleProgress.js'\nexport { default as MiniCartDialog, MiniCartDialog as MiniCartDialogComponent } from './MiniCart/MiniCartDialog.js'\nexport type {\n MiniCartDialogProps,\n MiniCartDialogCopy,\n MiniCartDialogSemanticName,\n CartData,\n} from './MiniCart/MiniCartDialog.js'\n\n// \u2500\u2500\u2500 Web Push \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nexport { default as WebPushPopup } from './WebPushPopup/index.js'\nexport type { WebPushPopupProps } from './WebPushPopup/index.js'\nexport { useEmarsysWebPush } from '../hooks/useEmarsysWebPush.js'\nexport type {\n UseEmarsysWebPushOptions,\n UseEmarsysWebPushReturn,\n EmarsysContactInfo,\n EmarsysInitConfig,\n} from '../hooks/useEmarsysWebPush.js'\n\n/**\n * \u7EC4\u4EF6\u6620\u5C04\u5BF9\u8C61\n * \u5C06 CMS block type \u6620\u5C04\u5230\u53EF\u76F4\u63A5\u6E32\u67D3\u7684\u9759\u6001\u7EC4\u4EF6\u540D\u79F0\u3002\n * \u53EA\u6709\u5F00\u7BB1\u5373\u7528\u3001\u65E0\u9700\u6D88\u8D39\u8005\u4E8C\u6B21\u5C01\u88C5\u7684\u7EC4\u4EF6\u624D\u5E94\u52A0\u5165\u6B64\u6620\u5C04\u3002\n */\nexport const PAYLOAD_COMPONENT_MAP = {\n 'ipc-accordioncards': 'AccordionCards',\n 'ipc-aplusdesc': 'AplusDesc',\n 'ipc-banner': 'HeroBanner',\n 'ipc-brand-equity': 'BrandEquity',\n 'ipc-category': 'Category',\n 'ipc-collection-banner': 'CollectionBanner',\n 'ipc-collection-shelves': 'CollectionShelves',\n 'ipc-creativemodule': 'CreativeModule',\n 'ipc-download': 'DownLoad',\n 'ipc-evaluate': 'Evaluate',\n 'ipc-faq': 'Faq',\n 'ipc-features': 'Features',\n 'ipc-footcharger': 'FootCharger',\n 'ipc-ga-block': 'GraphicAttractionBlock',\n 'ipc-giftbox': 'GiftBox',\n 'ipc-giftshelf': 'GiftShelf',\n 'ipc-graphic': 'Graphic',\n 'ipc-graphicmore': 'GraphicMore',\n 'ipc-graphicoverlay': 'GraphicOverlay',\n 'ipc-marquee': 'Marquee',\n 'ipc-mediaplayerbase': 'MediaPlayerBase',\n 'ipc-mediaplayermulti': 'MediaPlayerMulti',\n 'ipc-mediaplayersticky': 'MediaPlayerSticky',\n 'ipc-member-equity': 'MemberEquity',\n 'ipc-mlg-block': 'MultiLayoutGraphicBlock',\n 'ipc-search-page-tabs': 'SearchPageBlock',\n 'ipc-selectstore': 'SelectStore',\n 'ipc-shelfdisplay': 'ShelfDisplay',\n 'ipc-slogan': 'Slogan',\n 'ipc-spacer': 'Spacer',\n 'ipc-specs': 'Specs',\n 'ipc-tabs': 'Tabs',\n 'ipc-text-marquee': 'TextMarquee',\n 'ipc-title': 'Title',\n 'ipc-whychoose': 'WhyChoose',\n 'ipc-product-nav': 'ProductNav',\n 'ipc-brand-card-link': 'BrandCardLink',\n 'ipc-ipredirect': 'IPRedirect',\n ksp: 'Ksp',\n 'ipc-secondary-banner': 'SecondaryBanner',\n 'ipc-media-endorsement': 'MediaEndorsement',\n 'ipc-media-scene-switcher-v2': 'MediaSceneSwitcherV2',\n 'ipc-featured-blog-posts': 'FeaturedBlogPosts',\n 'ipc-media-text-overlay': 'MediaTextOverlay',\n ProductCompare: 'ProductCompare',\n}\n\n// Cart Components\nexport {\n CartSummaryHeader,\n CartItemRow,\n CartGiftSection,\n CartPerksSection,\n CartThirdPartyBanner,\n CartPriceSummary,\n} from './CartDetail/index.js'\nexport type {\n CartSummaryHeaderProps,\n CartItemRowProps,\n CartGiftSectionProps,\n CartPerksSectionProps,\n CartPerk,\n CartThirdPartyProps,\n GiftOption,\n GiftSlotConfig,\n CartPriceSummaryProps,\n} from './CartDetail/index.js'\n// \u516C\u5F00\u5BFC\u51FA useAiuiContext hook\uFF08\u4F9B Registry \u5206\u53D1\u7684 biz-components \u6D88\u8D39\u8005\u4F7F\u7528\uFF09\nexport { useAiuiContext } from './AiuiProvider/index.js'\n\n// \u516C\u5F00\u5BFC\u51FA ContainerProps\uFF08\u4F9B Registry \u5206\u53D1\u7684 biz-components \u4F7F\u7528\uFF09\nexport type { ContainerProps } from '../shared/Styles.js'\n\n// Modal components\nexport { default as ModalRegisterSubscribe } from './ModalRegisterSubscribe/index.js'\nexport { default as ModalSubscribeConfirm } from './ModalSubscribeConfirm/index.js'\nexport { default as ModalCoupon } from './ModalCoupon/index.js'\nexport { default as ModalSmsSubscribe } from './ModalSmsSubscribe/index.js'\nexport { default as ModalVerify } from './ModalVerify/index.js'\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["export {\n AccessoriesProductGrid,\n SectionHeader,\n PromoBanner,\n MainProductArea,\n AddToCartSuccessPopover,\n} from './AccessoriesShelf/index.js'\nexport type {\n UserType,\n BannerConfig,\n BannerAction,\n AddToCartSuccessPopoverProps,\n AddToCartSuccessCopyConfig,\n AddToCartSuccessSemanticName,\n} from './AccessoriesShelf/index.js'\nexport { default as ActivitySchedule } from './ActivitySchedule/index.js'\nexport type { ActivityScheduleProps, ActivityScheduleData, ActivityScheduleItem } from './ActivitySchedule/types.js'\nexport { default as GiftShelf } from './GiftShelf/index.js'\nexport type {\n GiftShelfProps,\n GiftShelfData,\n GiftShelfItem,\n CountdownConfig,\n ResponsiveBackgroundImage as GiftShelfResponsiveBackgroundImage,\n} from './GiftShelf/types.js'\nexport { default as GiftTierShelf } from './GiftTierShelf/index.js'\nexport type { GiftTierShelfProps, GiftTierShelfData, GiftTierItem, GiftTierProduct } from './GiftTierShelf/types.js'\nexport { default as ActivityMechanism } from './ActivityMechanism/index.js'\nexport type {\n ActivityMechanismProps,\n ActivityMechanismItem,\n ActivityMechanismSemanticName,\n ResponsiveBackgroundImage,\n} from './ActivityMechanism/types.js'\nexport { default as BrandEquity } from './BrandEquity/index.js'\nexport { default as MemberEquity } from './MemberEquity/index.js'\nexport { default as Slogan } from './Slogan/index.js'\nexport { default as Title } from './Title/index.js'\nexport { default as Spacer } from './Spacer/index.js'\nexport { default as ShelfDisplay } from './ShelfDisplay/index.js'\nexport { default as ShelfDisplayHorizontal } from './ShelfDisplayHorizontal/index.js'\nexport type {\n ShelfDisplayProps,\n ShelfDisplayType,\n ShelfDisplayItem,\n SocialEndorsementItem,\n} from './ShelfDisplay/shelfDisplay.js'\nexport { default as Evaluate } from './Evaluate/index.js'\nexport { default as Category } from './Category/index.js'\nexport { default as HeroBanner } from './HeroBanner/index.js'\nexport { default as AccordionCards } from './AccordionCards/index.js'\nexport { default as Graphic } from './Graphic/index.js'\nexport { default as MediaPlayerBase } from './MediaPlayerBase/index.js'\nexport { default as MediaPlayerSticky } from './MediaPlayerSticky/index.js'\nexport { default as MediaPlayerMulti } from './MediaPlayerMulti/index.js'\nexport { default as Marquee } from './Marquee/index.js'\nexport { default as MarqueeReview } from './MarqueeReview/index.js'\nexport type { MarqueeReviewProps, MarqueeReviewData, ReviewItem } from './MarqueeReview/index.js'\nexport { default as WhyChoose } from './WhyChoose/index.js'\nexport { default as Faq } from './Faq/index.js'\nexport { MarqueeItem, MarqueeImageContent, MarqueeTextContent } from './Marquee/index.js'\nexport { default as MultiLayoutGraphicBlock } from './MultiLayoutGraphicBlock/index.js'\nexport type { MultiLayoutGraphicBlockProps } from './MultiLayoutGraphicBlock/index.js'\nexport { default as GraphicAttractionBlock } from './GraphicAttractionBlock/index.js'\nexport type { GraphicAttractionBlockProps } from './GraphicAttractionBlock/index.js'\nexport { default as HeaderNavigation } from './HeaderNavigation/index.js'\nexport { default as FooterNavigation } from './FooterNavigation/index.js'\nexport { default as SearchPage } from './SearchPage/index.js'\nexport type { SearchPageProps } from './SearchPage/types.js'\nexport { IPC_SEARCH_PAGE, SearchPageTabType } from './SearchPage/types.js'\n\nexport { withLayout } from '../shared/Styles.js'\nexport { default as AiuiProvider } from './AiuiProvider/index.js'\nexport { default as Tabs } from './Tabs/index.js'\nexport { default as SwiperBox } from './SwiperBox/index.js'\nexport { VideoModal } from './VideoModal/index.js'\nexport { default as CreativeModule } from './CreativeModule/index.js'\nexport { default as GraphicOverlay } from './GraphicOverlay/index.js'\nexport { default as Specs } from './Specs/index.js'\nexport { default as TabGroup } from './TabsGroup/index.js'\n\nexport { default as BizProductProvider, useBizProductContext } from './Listing/BizProductProvider.js'\nexport { default as PurchaseBar } from './Listing/components/PurchaseBar/index.js'\nexport { default as ProductActions } from './Listing/components/PurchaseBar/ProductActions/index.js'\nexport type { ProductActionsProps } from './Listing/components/PurchaseBar/ProductActions/index.js'\nexport { default as ProductBenefitsTabs } from './Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.js'\nexport { default as ProductBenefits } from './Listing/components/ProductCard/ProductDetail/ProductBenefits/index.js'\nexport { default as ProductHighlight } from './Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js'\nexport { default as ProductFreeGift } from './Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.js'\nexport { default as ProductFunctionFreeGift } from './Listing/components/ProductCard/ProductDetail/ProductFunctionFreeGift/index.js'\nexport type {\n ProductFunctionFreeGiftProps,\n FunctionFreeGiftItem,\n} from './Listing/components/ProductCard/ProductDetail/ProductFunctionFreeGift'\n// export { default as ProductExchangePurchase } from './Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.js'\nexport { default as ProductOptions } from './Listing/components/ProductCard/ProductDetail/ProductOptions/index.js'\nexport { default as ProductBundle } from './Listing/components/ProductCard/ProductDetail/ProductBundle/index.js'\nexport type {\n ProductBundleProps,\n BundleOption,\n BundleVariantItem,\n} from './Listing/components/ProductCard/ProductDetail/ProductBundle/index.js'\nexport { default as ProductCoupon } from './Listing/components/ProductCard/ProductDetail/ProductCoupon/index.js'\nexport { default as ProductBanner } from './Listing/components/ProductCard/ProductDetail/ProductBanner/index.js'\nexport { default as ProductGridBox } from './Listing/components/ProductCard/ProductGridBox.js'\nexport { default as ProductGallery } from './Listing/components/ProductCard/ProductGallery/index.js'\nexport { default as ProductSummary } from './Listing/components/ProductCard/ProductSummary/index.js'\nexport { default as BenefitsTab } from './Listing/components/ProductCard/ProductDetail/BenefitsTab.js'\nexport { default as PaidShipping } from './Listing/components/PaidShipping/index.js'\nexport { default as CartActionButtons } from './Listing/components/CartActionButtons/index.js'\nexport type { CartActionButtonsProps } from './Listing/components/CartActionButtons/index.js'\nexport { NotifyMeDialog } from './NotifyMeDialog/index.js'\nexport type { NotifyMeDialogProps, CheckboxConfig, SubscriptionMeta } from './NotifyMeDialog/types.js'\nexport { default as ProductServiceBenefits } from './Listing/components/ProductCard/ProductDetail/ProductServiceBenefits/index.js'\nexport type {\n ProductServiceBenefitsProps,\n ServiceBenefitItem,\n} from './Listing/components/ProductCard/ProductDetail/ProductServiceBenefits/index.js'\nexport { default as ProductPaidShipping } from './Listing/components/ProductCard/ProductPaidShipping/index.js'\n\nexport { default as GraphicMore } from './GraphicMore/index.js'\nexport { default as Features } from './Features/index.js'\nexport { default as AplusDesc } from './AplusDesc/index.js'\nexport { default as GiftBox } from './GiftBox/index.js'\nexport { default as SelectStore } from './SelectStore/index.js'\nexport { default as DownLoad } from './DownLoad/index.js'\nexport { default as FootCharger } from './FootCharger/index.js'\nexport { default as BrandCardLink } from './BrandCardLink/index.js'\nexport type { BrandCardLinkProps, BrandCardLinkItemProps } from './BrandCardLink/types.js'\n\nexport * as IPRedirect from './IPRedirect/index.js'\n\nexport { default as WheelLottery } from './WheelLottery/index.js'\nexport type {\n WheelLotteryProps,\n WheelLotteryHandle,\n Prize,\n ChanceMethod,\n WinningInfo,\n UserData,\n} from './WheelLottery/types.js'\nexport { default as ProductLottery } from './ProductLottery/index.js'\nexport type { ProductLotteryProps, ProductLotteryHandle, MediaConfig, CtaButtonConfig } from './ProductLottery/types.js'\nexport { default as ProductCompare } from './ProductCompare/index.js'\nexport type { ProductCompareProps, ProductItemData } from './ProductCompare/index.js'\nexport { default as Ksp } from './Ksp/index.js'\nexport type { KspProps, KspData, KspCardItem } from './Ksp/index.js'\nexport { default as ImageTextFeature } from './ImageTextFeature/index.js'\nexport type { ImageTextFeatureProps, ImageTextFeatureItem } from './ImageTextFeature/index.js'\nexport { default as FeatureCards } from './FeatureCards/index.js'\nexport type { FeatureCardsProps, FeatureCardItem } from './FeatureCards/index.js'\nexport { default as FeaturedBlogPosts } from './FeaturedBlogPosts/index.js'\nexport type {\n FeaturedBlogPostsProps,\n FeaturedBlogPostsData,\n FeaturedBlogPostItem,\n FeaturedBlogPostSpan,\n} from './FeaturedBlogPosts/index.js'\nexport { default as ImageWithText } from './ImageWithText/index.js'\nexport type { ImageWithTextProps } from './ImageWithText/index.js'\nexport { default as VideoFeature } from './VideoFeature/index.js'\nexport type { VideoFeatureProps } from './VideoFeature/index.js'\nexport { default as TabsWithMedia } from './TabsWithMedia/index.js'\nexport type { TabsWithMediaProps, TabItem, TimeIndex } from './TabsWithMedia/index.js'\nexport { default as TabWithImage } from './TabWithImage/index.js'\nexport type { TabWithImageProps, TabWithImageDataItem } from './TabWithImage/index.js'\nexport { default as FeatureShowcase } from './FeatureShowcase/index.js'\nexport type { FeatureShowcaseProps, FeatureShowcaseItem } from './FeatureShowcase/index.js'\nexport { default as ProductHero } from './ProductHero/index.js'\nexport type { ProductHeroProps } from './ProductHero/index.js'\nexport { default as SpecsComparison } from './SpecsComparison/index.js'\nexport type {\n SpecsComparisonProps,\n SpecsComparisonMenuItem,\n SpecsComparisonLeftMenuItem,\n} from './SpecsComparison/index.js'\nexport { default as MediaSceneSwitcher } from './MediaSceneSwitcher/index.js'\nexport type { MediaSceneSwitcherProps } from './MediaSceneSwitcher/types.js'\nexport { default as MediaSceneSwitcherV2 } from './MediaSceneSwitcherV2/index.js'\nexport type {\n MediaSceneSwitcherV2Props,\n MediaSceneSwitcherV2Data,\n MediaSceneSwitcherV2Item,\n MediaSceneSwitcherV2Layout,\n} from './MediaSceneSwitcherV2/index.js'\nexport { default as ThreeDCarousel } from './ThreeDCarousel/index.js'\nexport type { ThreeDCarouselProps } from './ThreeDCarousel/index.js'\nexport { default as ProductNav } from './ProductNav/index.js'\nexport type { ProductNavProps, TabLink, AnchorItem, BuyButton } from './ProductNav/index.js'\nexport { default as AnchorNavigation } from './AnchorNavigation/index.js'\nexport { default as PromotionalBar } from './PromotionalBar/index.js'\nexport { default as EventSchedule } from './EventSchedule/index.js'\nexport { default as SecondaryBanner } from './SecondaryBanner/index.js'\nexport { default as BuyOneGetOneShelf } from './BuyOneGetOneShelf/index.js'\nexport { default as ActiveShelf } from './ActiveShelf/index.js'\nexport { default as MediaShelf } from './MediaShelf/index.js'\nexport { default as CreditsShelf, CreditsProductCard } from './CreditsShelf/index.js'\nexport type {\n CreditsShelfSemanticName,\n CreditsProductCardData,\n CopyConfig as CreditsShelfCopyConfig,\n ButtonFunctionType as CreditsShelfButtonFunctionType,\n} from './CreditsShelf/index.js'\nexport { default as SceneShelf, SceneProductCard } from './SceneShelf/index.js'\nexport type { SceneShelfSemanticName, SceneProductCardData, SceneProductCardSemanticName } from './SceneShelf/index.js'\nexport { default as SceneShelfV2, SceneShelfV2ProductCard } from './SceneShelfV2/index.js'\nexport type {\n SceneShelfV2SemanticName,\n SceneShelfV2Data,\n SceneShelfV2Product,\n SceneShelfV2Props,\n} from './SceneShelfV2/index.js'\nexport { default as SceneShelfV3 } from './SceneShelfV3/index.js'\nexport type { SceneShelfV3Data, SceneShelfV3Props, ProductTab as SceneShelfV3ProductTab } from './SceneShelfV3/index.js'\nexport type {\n SceneShelfV3SemanticName,\n ProductCardData as SceneShelfV3ProductCardData,\n} from './SceneShelfV3/ProductCard.js'\n\nexport { default as MediaEndorsement } from './MediaEndorsement/index.js'\nexport type {\n MediaEndorsementProps,\n MediaEndorsementData,\n MediaEndorsementItem,\n MediaEndorsementSemanticName,\n} from './MediaEndorsement/index.js'\n\nexport { default as MediaTextOverlay } from './MediaTextOverlay/index.js'\nexport type {\n MediaTextOverlayProps,\n MediaTextOverlayData,\n MediaTextOverlayItem,\n MediaTextOverlaySemanticName,\n ResponsiveMedia,\n} from './MediaTextOverlay/index.js'\n\n// Copy configuration types and defaults\nexport type {\n CopyConfig as MediaShelfCopyConfig,\n ButtonFunctionType as MediaShelfButtonFunctionType,\n} from './MediaShelf/types.js'\nexport type { CopyConfig as ActiveShelfCopyConfig, ButtonFunctionType } from './ActiveShelf/types.js'\n\nexport {\n default as ImageOverlayShelf,\n type ButtonFunctionType as ImageOverlayShelfButtonFunctionType,\n} from './ImageOverlayShelf/index.js'\n\nexport { default as AccessoryShelf, AccessoryProductCard } from './AccessoriesShelf/components/AccessoryShelf/index.js'\nexport type {\n AccessoryShelfProps,\n AccessoryProductData,\n AccessoryCardSemanticName,\n AccessoryCopyConfig,\n AccessoryProductCardProps,\n} from './AccessoriesShelf/components/AccessoryShelf'\n\nexport { default as ImageTextOverlay } from './ImageTextOverlay/index.js'\nexport type {\n ImageTextOverlayProps,\n ImageTextOverlayData,\n ImageTextOverlayItem,\n ImageTextOverlaySemanticName,\n ImageTextOverlayBackgroundImage,\n} from './ImageTextOverlay/types.js'\n\n// MiniCart \u7EC4\u4EF6\u53CA\u7C7B\u578B\u5BFC\u51FA\nexport { default as MiniCart } from './MiniCart/index.js'\nexport type { Cart, CartLineItem, MiniCartData, MiniCartProps, CircleProgressConfig } from './MiniCart/index.js'\nexport { default as MiniCartCircleProgress } from './MiniCart/CircleProgress.js'\nexport type { CircleProgressProps as MiniCartCircleProgressProps } from './MiniCart/CircleProgress.js'\nexport { default as MiniCartDialog, MiniCartDialog as MiniCartDialogComponent } from './MiniCart/MiniCartDialog.js'\nexport type {\n MiniCartDialogProps,\n MiniCartDialogCopy,\n MiniCartDialogSemanticName,\n CartData,\n} from './MiniCart/MiniCartDialog.js'\n\n// \u2500\u2500\u2500 Web Push \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nexport { default as WebPushPopup } from './WebPushPopup/index.js'\nexport type { WebPushPopupProps } from './WebPushPopup/index.js'\nexport { useEmarsysWebPush } from '../hooks/useEmarsysWebPush.js'\nexport type {\n UseEmarsysWebPushOptions,\n UseEmarsysWebPushReturn,\n EmarsysContactInfo,\n EmarsysInitConfig,\n} from '../hooks/useEmarsysWebPush.js'\n\n/**\n * \u7EC4\u4EF6\u6620\u5C04\u5BF9\u8C61\n * \u5C06 CMS block type \u6620\u5C04\u5230\u53EF\u76F4\u63A5\u6E32\u67D3\u7684\u9759\u6001\u7EC4\u4EF6\u540D\u79F0\u3002\n * \u53EA\u6709\u5F00\u7BB1\u5373\u7528\u3001\u65E0\u9700\u6D88\u8D39\u8005\u4E8C\u6B21\u5C01\u88C5\u7684\u7EC4\u4EF6\u624D\u5E94\u52A0\u5165\u6B64\u6620\u5C04\u3002\n */\nexport const PAYLOAD_COMPONENT_MAP = {\n 'ipc-accordioncards': 'AccordionCards',\n 'ipc-aplusdesc': 'AplusDesc',\n 'ipc-banner': 'HeroBanner',\n 'ipc-brand-equity': 'BrandEquity',\n 'ipc-category': 'Category',\n 'ipc-collection-banner': 'CollectionBanner',\n 'ipc-collection-shelves': 'CollectionShelves',\n 'ipc-creativemodule': 'CreativeModule',\n 'ipc-download': 'DownLoad',\n 'ipc-evaluate': 'Evaluate',\n 'ipc-faq': 'Faq',\n 'ipc-features': 'Features',\n 'ipc-footcharger': 'FootCharger',\n 'ipc-ga-block': 'GraphicAttractionBlock',\n 'ipc-giftbox': 'GiftBox',\n 'ipc-giftshelf': 'GiftShelf',\n 'ipc-graphic': 'Graphic',\n 'ipc-graphicmore': 'GraphicMore',\n 'ipc-graphicoverlay': 'GraphicOverlay',\n 'ipc-marquee': 'Marquee',\n 'ipc-mediaplayerbase': 'MediaPlayerBase',\n 'ipc-mediaplayermulti': 'MediaPlayerMulti',\n 'ipc-mediaplayersticky': 'MediaPlayerSticky',\n 'ipc-member-equity': 'MemberEquity',\n 'ipc-mlg-block': 'MultiLayoutGraphicBlock',\n 'ipc-search-page-tabs': 'SearchPageBlock',\n 'ipc-selectstore': 'SelectStore',\n 'ipc-shelfdisplay': 'ShelfDisplay',\n 'ipc-shelfdisplay-horizontal': 'ShelfDisplayHorizontal',\n 'ipc-slogan': 'Slogan',\n 'ipc-spacer': 'Spacer',\n 'ipc-specs': 'Specs',\n 'ipc-tabs': 'Tabs',\n 'ipc-text-marquee': 'TextMarquee',\n 'ipc-title': 'Title',\n 'ipc-whychoose': 'WhyChoose',\n 'ipc-product-nav': 'ProductNav',\n 'ipc-brand-card-link': 'BrandCardLink',\n 'ipc-ipredirect': 'IPRedirect',\n ksp: 'Ksp',\n 'ipc-secondary-banner': 'SecondaryBanner',\n 'ipc-media-endorsement': 'MediaEndorsement',\n 'ipc-media-scene-switcher-v2': 'MediaSceneSwitcherV2',\n 'ipc-featured-blog-posts': 'FeaturedBlogPosts',\n 'ipc-media-text-overlay': 'MediaTextOverlay',\n ProductCompare: 'ProductCompare',\n}\n\n// Cart Components\nexport {\n CartSummaryHeader,\n CartItemRow,\n CartGiftSection,\n CartPerksSection,\n CartThirdPartyBanner,\n CartPriceSummary,\n} from './CartDetail/index.js'\nexport type {\n CartSummaryHeaderProps,\n CartItemRowProps,\n CartGiftSectionProps,\n CartPerksSectionProps,\n CartPerk,\n CartThirdPartyProps,\n GiftOption,\n GiftSlotConfig,\n CartPriceSummaryProps,\n} from './CartDetail/index.js'\n// \u516C\u5F00\u5BFC\u51FA useAiuiContext hook\uFF08\u4F9B Registry \u5206\u53D1\u7684 biz-components \u6D88\u8D39\u8005\u4F7F\u7528\uFF09\nexport { useAiuiContext } from './AiuiProvider/index.js'\n\n// \u516C\u5F00\u5BFC\u51FA ContainerProps\uFF08\u4F9B Registry \u5206\u53D1\u7684 biz-components \u4F7F\u7528\uFF09\nexport type { ContainerProps } from '../shared/Styles.js'\n\n// Modal components\nexport { default as ModalRegisterSubscribe } from './ModalRegisterSubscribe/index.js'\nexport { default as ModalSubscribeConfirm } from './ModalSubscribeConfirm/index.js'\nexport { default as ModalCoupon } from './ModalCoupon/index.js'\nexport { default as ModalSmsSubscribe } from './ModalSmsSubscribe/index.js'\nexport { default as ModalVerify } from './ModalVerify/index.js'\n"],
5
+ "mappings": "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",
6
6
  "names": ["AccessoriesProductGrid", "SectionHeader", "PromoBanner", "MainProductArea", "AddToCartSuccessPopover", "default", "MarqueeItem", "MarqueeImageContent", "MarqueeTextContent", "IPC_SEARCH_PAGE", "SearchPageTabType", "withLayout", "VideoModal", "useBizProductContext", "NotifyMeDialog", "IPRedirect", "CreditsProductCard", "SceneProductCard", "SceneShelfV2ProductCard", "AccessoryProductCard", "MiniCartDialog", "useEmarsysWebPush", "PAYLOAD_COMPONENT_MAP", "CartSummaryHeader", "CartItemRow", "CartGiftSection", "CartPerksSection", "CartThirdPartyBanner", "CartPriceSummary", "useAiuiContext"]
7
7
  }
@@ -1,4 +1,5 @@
1
- :root {
1
+ :root,
2
+ .aiui-light {
2
3
  --btn-bg-active-color: var(--brand-color-0);
3
4
 
4
5
  --btn-radius: 0;
@@ -1,4 +1,5 @@
1
- :root {
1
+ :root,
2
+ .aiui-light {
2
3
  --btn-bg-active-color: #00a7e1;
3
4
  --btn-bg-disabled-color: #ccdfe850;
4
5
  --btn-text-active-color: #ffffff;
@@ -1,4 +1,5 @@
1
- :root {
1
+ :root,
2
+ .aiui-light {
2
3
  --btn-bg-active-color: var(--brand-color-0);
3
4
 
4
5
  --brand-gradient-color-0: linear-gradient(90deg, var(--brand-color-0) 0%, var(--brand-color-0) 100%);
@@ -1,4 +1,5 @@
1
- :root {
1
+ :root,
2
+ .aiui-light {
2
3
  --btn-bg-active-color: var(--brand-color-0);
3
4
 
4
5
  --brand-gradient-color-0: linear-gradient(90deg, var(--brand-color-0) 0%, var(--brand-color-0) 100%);
@@ -1,4 +1,5 @@
1
- :root {
1
+ :root,
2
+ .aiui-light {
2
3
  --btn-bg-active-color: var(--brand-color-0);
3
4
 
4
5
  --brand-gradient-color-0: linear-gradient(90deg, var(--brand-color-0) 0%, var(--brand-color-0) 100%);
@@ -21,7 +22,8 @@
21
22
  /* 侧边栏选中状态和货架组件圆角:>1024px 为 8px */
22
23
  /* 图文圆角:>1024px 为 16px */
23
24
  @media (min-width: 1025px) {
24
- :root {
25
+ :root,
26
+ .aiui-light {
25
27
  --sidebar-shelf-radius: 8px;
26
28
  --image-text-radius: 16px;
27
29
  }
@@ -1,4 +1,5 @@
1
- :root {
1
+ :root,
2
+ .aiui-light {
2
3
  --btn-bg-active-color: var(--brand-color-0);
3
4
  --brand-gradient-color-0: linear-gradient(90deg, #2C7ED0 0%, #00A9E1 43%, #00DB84 100%);
4
5
 
@@ -1,4 +1,5 @@
1
- :root {
1
+ :root,
2
+ .aiui-light {
2
3
  --btn-bg-active-color: var(--brand-color-0);
3
4
 
4
5
  --brand-gradient-color-0: linear-gradient(90deg, var(--brand-color-0) 0%, var(--brand-color-0) 100%);
@@ -23,7 +24,8 @@
23
24
  /* 侧边栏选中状态和货架组件圆角:>1024px 为 8px */
24
25
  /* 图文圆角:>1024px 为 16px */
25
26
  @media (min-width: 1025px) {
26
- :root {
27
+ :root,
28
+ .aiui-light {
27
29
  --sidebar-shelf-radius: 8px;
28
30
  --image-text-radius: 16px;
29
31
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anker-in/headless-ui",
3
- "version": "1.3.60",
3
+ "version": "1.3.61",
4
4
  "type": "commonjs",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "types": "./dist/cjs/index.d.ts",