@anker-in/headless-ui 1.0.16-temp-091815 → 1.0.16-temp-091817

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.
@@ -1,6 +1,6 @@
1
- "use strict";var H=Object.create;var v=Object.defineProperty;var W=Object.getOwnPropertyDescriptor;var M=Object.getOwnPropertyNames;var R=Object.getPrototypeOf,V=Object.prototype.hasOwnProperty;var q=(e,t)=>{for(var o in t)v(e,o,{get:t[o],enumerable:!0})},S=(e,t,o,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let c of M(t))!V.call(e,c)&&c!==o&&v(e,c,{get:()=>t[c],enumerable:!(n=W(t,c))||n.enumerable});return e};var x=(e,t,o)=>(o=e!=null?H(R(e)):{},S(t||!e||!e.__esModule?v(o,"default",{value:e,enumerable:!0}):o,e)),G=e=>S(v({},"__esModule",{value:!0}),e);var Y={};q(Y,{CollectionShelvesWrapItem:()=>X});module.exports=G(Y);var l=require("react/jsx-runtime"),m=require("../../helpers/utils.js"),w=x(require("../../components/badge.js")),_=require("../../components/text.js"),h=x(require("../../components/button.js")),N=require("../../shared/track.js"),p=require("react"),y=x(require("../../components/picture.js")),T=require("../../components/heading.js"),B=require("../AiuiProvider/index.js"),C=require("../../shared/trackUrlRef.js"),D=require("../ShelfDisplay/shelfDisplay.js");const J="image",K="collectio_shelves",Q=999999999e-2,X=({data:e,configuration:t})=>{const{itemShape:o}=t||{},{locale:n="us",copyWriting:c}=(0,B.useAiuiContext)(),F=(s,r,a)=>t?.event?.primaryButton?.(s,r+1,a),P=(s,r,a)=>t?.event?.secondaryButton?.(s,r+1,a),i=e?.variants?.find(s=>s?.sku===e?.sku)||e?.variants?.[0]||{},$=!i?.availableForSale&&i?.price?.amount===Q,E=t?.isShowTag,b=t?.isShowOriginalPrice,[I,O]=(0,p.useState)([]),[j,g]=(0,p.useState)(!1),f=i?.coupons?.[0],{price:A,basePrice:z,discount:d}=(0,D.formatVariantPrice)({locale:n,amount:b&&f?f.variant_price4wscode:i.price,baseAmount:b&&f?i.price:0,currencyCode:e?.price?.currencyCode||"USD"}),L=()=>{const s=e?.sku,r=e?.variants;return r?.find(U=>U?.sku===s)?.image?.url||r?.[0]?.image?.url||""},u=e?.custom_name||e?.title||e?.name,k=e?.custom_description||e?.description;return(0,p.useEffect)(()=>{let s=[];if(d){const a=`${d}${t?.discounts?.off}`;s.push(a)}const r=e?.tags?.filter?.(a=>a?.startsWith?.("CLtag"))?.map?.(a=>a?.replace?.("CLtag:",""))?.slice?.(0,d?1:2);O(s.concat(r))},[d,t?.discounts,e?.tags]),(0,l.jsx)("div",{className:(0,m.cn)(o==="round"?"rounded-2xl":"rounded-none","tablet:aspect-h-[360] tablet:aspect-w-[296] laptop:aspect-h-[560] laptop:aspect-w-[544] relative","bg-[#EAEAEC] tablet:hover:bg-[#FFFFFF] box-border w-full cursor-pointer overflow-hidden duration-300","md-tablet:h-[360px]",{"aiui-dark":e?.custom_theme==="dark"}),children:(0,l.jsxs)("div",{className:"absolute inset-0 box-border flex flex-col justify-between overflow-hidden",children:[(0,l.jsx)("div",{onMouseEnter:()=>g(!0),onMouseLeave:()=>g(!1),className:(0,m.cn)("desktop:px-6 px-4 lg-desktop:mb-3 relative mb-2 inline-block w-full flex-1 overflow-hidden cursor-pointer"),children:(0,l.jsxs)("a",{"aria-label":u,target:t?.target,href:(0,C.trackUrlRef)(`${n==="us"||!n?"":`/${n}`}/products/${e?.handle}`,`${J}_${K}`),onClick:()=>{(0,N.gaTrack)({event:"ga4Event",event_name:"select_item",event_parameters:{page_group:"Home Page",item_list_name:"Home_Page_Bundle",items:[{item_id:e?.sku||i?.sku,item_name:e?.name,item_variant:i?.name,price:i?.price,index:t?.index+1}]}})},children:[(0,l.jsx)(y.default,{alt:"",source:L(),className:"desktop:mt-6 mt-4 flex h-full justify-center object-cover [&_img]:w-auto"}),(0,l.jsx)(y.default,{alt:"",source:e?.custom_image,className:(0,m.cn)(j?"opacity-100":"opacity-0","absolute inset-x-0 top-0 size-full object-cover [&_img]:size-full transition-all duration-300")})]})}),(0,l.jsxs)("div",{className:"flex flex-col justify-end desktop:pb-6 pb-4 desktop:px-6 px-4 flex-1 collection-shelves-product-content",children:[E?(0,l.jsx)("div",{className:"mb-1 box-border flex h-8 flex-wrap gap-1 overflow-hidden",children:I?.map?.((s,r)=>(0,l.jsx)(w.default,{children:s},r))}):null,u?(0,l.jsx)(T.Heading,{as:"h3",size:2,title:u||"",html:u||"",className:"collection-shelves-product-title mb-1 line-clamp-2 text-info-primary"}):null,k?(0,l.jsx)(_.Text,{size:2,className:"lg-desktop:text-lg lg-desktop:h-[26px] desktop:text-base desktop:h-6 collection-shelves-product-description line-clamp-1 h-5 text-sm text-info-primary",html:k||""}):null,(0,l.jsx)("div",{className:"mb-2 mt-5 flex items-center",children:$?(0,l.jsx)("div",{className:"tablet:text-2xl text-info-primary text-xl font-bold",children:c?.soldOutText}):(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("div",{className:"final-price tablet:text-2xl text-info-primary text-xl font-bold",children:i?.availableForSale&&A||""}),(0,l.jsx)("div",{className:"origin-price tablet:text-xl text-info-secondary ml-1 text-lg font-bold line-through",children:i?.availableForSale&&z||""})]})}),(0,l.jsxs)("div",{className:(0,m.cn)("shelf-flex-button-group","lg-desktop:gap-3 flex items-center gap-2",t.direction==="vertical"?"flex-col":""),children:[t?.secondaryButton?(0,l.jsx)(h.default,{variant:"secondary",onClick:()=>P(e,t?.index,t),className:`
1
+ "use strict";var H=Object.create;var v=Object.defineProperty;var W=Object.getOwnPropertyDescriptor;var M=Object.getOwnPropertyNames;var R=Object.getPrototypeOf,V=Object.prototype.hasOwnProperty;var q=(e,t)=>{for(var o in t)v(e,o,{get:t[o],enumerable:!0})},w=(e,t,o,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let c of M(t))!V.call(e,c)&&c!==o&&v(e,c,{get:()=>t[c],enumerable:!(n=W(t,c))||n.enumerable});return e};var h=(e,t,o)=>(o=e!=null?H(R(e)):{},w(t||!e||!e.__esModule?v(o,"default",{value:e,enumerable:!0}):o,e)),G=e=>w(v({},"__esModule",{value:!0}),e);var Y={};q(Y,{CollectionShelvesWrapItem:()=>X});module.exports=G(Y);var l=require("react/jsx-runtime"),m=require("../../helpers/utils.js"),_=h(require("../../components/badge.js")),N=require("../../components/text.js"),x=h(require("../../components/button.js")),T=require("../../shared/track.js"),p=require("react"),y=h(require("../../components/picture.js")),B=require("../../components/heading.js"),C=require("../AiuiProvider/index.js"),D=require("../../shared/trackUrlRef.js"),F=require("../ShelfDisplay/shelfDisplay.js");const J="image",K="collectio_shelves",Q=999999999e-2,X=({data:e,configuration:t})=>{const{itemShape:o}=t||{},{locale:n="us",copyWriting:c}=(0,C.useAiuiContext)(),P=(s,r,a)=>t?.event?.primaryButton?.(s,r+1,a),$=(s,r,a)=>t?.event?.secondaryButton?.(s,r+1,a),i=e?.variants?.find(s=>s?.sku===e?.sku)||e?.variants?.[0]||{},E=!i?.availableForSale&&i?.price?.amount===Q,I=t?.isShowTag,b=t?.isShowOriginalPrice,[g,O]=(0,p.useState)([]),[j,k]=(0,p.useState)(!1),f=i?.coupons?.[0],{price:A,basePrice:z,discount:d}=(0,F.formatVariantPrice)({locale:n,amount:b&&f?f.variant_price4wscode:i.price,baseAmount:b&&f?i.price:0,currencyCode:e?.price?.currencyCode||"USD"}),L=()=>{const s=e?.sku,r=e?.variants;return r?.find(U=>U?.sku===s)?.image?.url||r?.[0]?.image?.url||""},u=e?.custom_name||e?.title||e?.name,S=e?.custom_description||e?.description;return(0,p.useEffect)(()=>{let s=[];if(d){const a=`${d}${t?.discounts?.off}`;s.push(a)}const r=e?.tags?.filter?.(a=>a?.startsWith?.("CLtag"))?.map?.(a=>a?.replace?.("CLtag:",""))?.slice?.(0,d?1:2);O(s.concat(r))},[d,t?.discounts,e?.tags]),(0,l.jsx)("div",{className:(0,m.cn)(o==="round"?"rounded-2xl":"rounded-none","tablet:aspect-h-[360] tablet:aspect-w-[296] laptop:aspect-h-[560] laptop:aspect-w-[544] relative","bg-[#EAEAEC] tablet:hover:bg-[#FFFFFF] box-border w-full cursor-pointer overflow-hidden duration-300","md-tablet:h-[360px]",{"aiui-dark":e?.custom_theme==="dark"}),children:(0,l.jsxs)("div",{className:"absolute inset-0 box-border flex flex-col justify-between overflow-hidden",children:[(0,l.jsx)("div",{onMouseEnter:()=>k(!0),onMouseLeave:()=>k(!1),className:(0,m.cn)("desktop:px-6 px-4 lg-desktop:mb-3 relative mb-2 inline-block w-full flex-1 overflow-hidden cursor-pointer"),children:(0,l.jsxs)("a",{"aria-label":u,target:t?.target,href:(0,D.trackUrlRef)(`${n==="us"||!n?"":`/${n}`}/products/${e?.handle}`,`${J}_${K}`),onClick:()=>{(0,T.gaTrack)({event:"ga4Event",event_name:"select_item",event_parameters:{page_group:"Home Page",item_list_name:"Home_Page_Bundle",items:[{item_id:e?.sku||i?.sku,item_name:e?.name,item_variant:i?.name,price:i?.price,index:t?.index+1}]}})},children:[(0,l.jsx)(y.default,{alt:"",source:L(),className:"desktop:mt-6 mt-4 flex h-full justify-center object-cover [&_img]:w-auto"}),(0,l.jsx)(y.default,{alt:"",source:e?.custom_image,className:(0,m.cn)(j?"opacity-100":"opacity-0","absolute inset-x-0 top-0 size-full object-cover [&_img]:size-full transition-all duration-300")})]})}),(0,l.jsxs)("div",{className:"flex flex-col justify-end desktop:pb-6 pb-4 desktop:px-6 px-4 flex-1 collection-shelves-product-content",children:[I&&g?.length?(0,l.jsx)("div",{className:"mb-1 box-border flex h-6 flex-wrap gap-1 overflow-hidden",children:g?.map?.((s,r)=>(0,l.jsx)(_.default,{children:s},r))}):null,u?(0,l.jsx)(B.Heading,{as:"h3",size:2,title:u||"",html:u||"",className:"collection-shelves-product-title mb-1 line-clamp-2 text-info-primary"}):null,S?(0,l.jsx)(N.Text,{size:2,className:"lg-desktop:text-lg lg-desktop:h-[26px] desktop:text-base desktop:h-6 collection-shelves-product-description line-clamp-1 h-5 text-sm text-info-primary",html:S||""}):null,(0,l.jsx)("div",{className:"mb-2 mt-4 flex items-center",children:E?(0,l.jsx)("div",{className:"tablet:text-2xl text-info-primary text-xl font-bold",children:c?.soldOutText}):(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("div",{className:"final-price tablet:text-2xl text-info-primary text-xl font-bold",children:i?.availableForSale&&A||""}),(0,l.jsx)("div",{className:"origin-price tablet:text-xl text-info-secondary ml-1 text-lg font-bold line-through",children:i?.availableForSale&&z||""})]})}),(0,l.jsxs)("div",{className:(0,m.cn)("shelf-flex-button-group","lg-desktop:gap-3 flex items-center gap-2",t.direction==="vertical"?"flex-col":""),children:[t?.secondaryButton?(0,l.jsx)(x.default,{variant:"secondary",onClick:()=>$(e,t?.index,t),className:`
2
2
  ${t.direction==="vertical"?"w-full":""}
3
- `,children:t?.secondaryButton||""}):null,t?.primaryButton?(0,l.jsx)(h.default,{variant:"primary",onClick:()=>F(e,t?.index,t),className:`
3
+ `,children:t?.secondaryButton||""}):null,t?.primaryButton?(0,l.jsx)(x.default,{variant:"primary",onClick:()=>P(e,t?.index,t),className:`
4
4
  ${t.direction==="vertical"?"w-full":""}
5
5
  `,children:t?.primaryButton||""}):null]})]})]})},e?.id||e?.handle)};
6
6
  //# sourceMappingURL=CollectionShelvesItem.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/biz-components/CollectionShelves/CollectionShelvesItem.tsx"],
4
- "sourcesContent": ["import { cn } from '../../helpers/utils.js'\nimport Badge from '../../components/badge.js'\nimport { Text } from '../../components/text.js'\nimport Button from '../../components/button.js'\nimport { gaTrack } from '../../shared/track.js'\nimport { useState, useEffect } from 'react'\nimport Picture from '../../components/picture.js'\nimport { Heading } from '../../components/heading.js'\nimport { useAiuiContext } from '../AiuiProvider/index.js'\nimport { trackUrlRef } from '../../shared/trackUrlRef.js'\nimport { formatVariantPrice } from '../ShelfDisplay/shelfDisplay.js'\nimport type { ShelfDisplayItem, ShelfDisplayType } from '../ShelfDisplay/shelfDisplay.js'\n\nconst componentType = 'image'\nconst componentName = 'collectio_shelves'\n\nconst SOLD_OUT_PRICE = 9999999.99\n\nexport const CollectionShelvesWrapItem = ({ data, configuration }: { data: any; configuration?: any }) => {\n const { itemShape } = configuration || {}\n const { locale = 'us', copyWriting } = useAiuiContext()\n\n const onPrimaryButton = (params: ShelfDisplayItem, index: number, data: ShelfDisplayType) =>\n configuration?.event?.primaryButton?.(params, index + 1, data)\n\n const onSecondaryButton = (params: ShelfDisplayItem, index: number, data: ShelfDisplayType) =>\n configuration?.event?.secondaryButton?.(params, index + 1, data)\n\n const variant = data?.variants?.find((item: any) => item?.sku === data?.sku) || data?.variants?.[0] || {}\n\n const isSoldOut = !variant?.availableForSale && variant?.price?.amount === SOLD_OUT_PRICE\n const isShowTag = configuration?.isShowTag\n const isShowOriginalPrice = configuration?.isShowOriginalPrice\n\n const [showTags, setShowTags] = useState<string[]>([])\n const [showImage, setShowImage] = useState<boolean>(false)\n\n // active \u7684 \u901A\u7528\u6298\u6263\n const coupon = variant?.coupons?.[0]\n\n const { price, basePrice, discount } = formatVariantPrice({\n locale: locale,\n amount: isShowOriginalPrice && coupon ? coupon.variant_price4wscode : variant.price,\n baseAmount: isShowOriginalPrice && coupon ? variant.price : 0,\n currencyCode: data?.price?.currencyCode || 'USD',\n })\n\n const handleUrl = () => {\n const sku = data?.sku\n const skuArray = data?.variants\n const findSku = skuArray?.find((item: any) => item?.sku === sku)\n return findSku?.image?.url || skuArray?.[0]?.image?.url || ''\n }\n\n const displayTitle = data?.custom_name || data?.title || data?.name\n const displayDescription = data?.custom_description || data?.description\n\n useEffect(() => {\n let handleTags: string[] = []\n if (discount) {\n const discountTag = `${discount}${configuration?.discounts?.off}`\n handleTags.push(discountTag)\n }\n const newTags = data?.tags\n ?.filter?.((item: string) => item?.startsWith?.('CLtag'))\n ?.map?.((item: string) => item?.replace?.('CLtag:', ''))\n ?.slice?.(0, discount ? 1 : 2)\n setShowTags(handleTags.concat(newTags))\n }, [discount, configuration?.discounts, data?.tags])\n\n return (\n <div\n key={data?.id || data?.handle}\n className={cn(\n itemShape === 'round' ? 'rounded-2xl' : 'rounded-none',\n 'tablet:aspect-h-[360] tablet:aspect-w-[296] laptop:aspect-h-[560] laptop:aspect-w-[544] relative',\n 'bg-[#EAEAEC] tablet:hover:bg-[#FFFFFF] box-border w-full cursor-pointer overflow-hidden duration-300',\n 'md-tablet:h-[360px]',\n {\n 'aiui-dark': data?.custom_theme === 'dark',\n }\n )}\n >\n <div className=\"absolute inset-0 box-border flex flex-col justify-between overflow-hidden\">\n <div\n onMouseEnter={() => setShowImage(true)}\n onMouseLeave={() => setShowImage(false)}\n className={cn(\n 'desktop:px-6 px-4 lg-desktop:mb-3 relative mb-2 inline-block w-full flex-1 overflow-hidden cursor-pointer'\n )}\n >\n <a\n aria-label={displayTitle}\n target={configuration?.target}\n href={trackUrlRef(\n `${locale === 'us' || !locale ? '' : `/${locale}`}/products/${data?.handle}`,\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 alt=\"\"\n source={handleUrl()}\n className=\"desktop:mt-6 mt-4 flex h-full justify-center object-cover [&_img]:w-auto\"\n />\n <Picture\n alt=\"\"\n source={data?.custom_image}\n className={cn(\n showImage ? 'opacity-100' : 'opacity-0',\n 'absolute inset-x-0 top-0 size-full object-cover [&_img]:size-full transition-all duration-300'\n )}\n />\n </a>\n </div>\n <div className=\"flex flex-col justify-end desktop:pb-6 pb-4 desktop:px-6 px-4 flex-1 collection-shelves-product-content\">\n {isShowTag ? (\n <div className=\"mb-1 box-border flex h-8 flex-wrap gap-1 overflow-hidden\">\n {showTags?.map?.((item: any, index: number) => <Badge key={index}>{item}</Badge>)}\n </div>\n ) : null}\n {displayTitle ? (\n <Heading\n as=\"h3\"\n size={2}\n title={displayTitle || ''}\n html={displayTitle || ''}\n className=\"collection-shelves-product-title mb-1 line-clamp-2 text-info-primary\"\n />\n ) : null}\n {displayDescription ? (\n <Text\n size={2}\n className=\"lg-desktop:text-lg lg-desktop:h-[26px] desktop:text-base desktop:h-6 collection-shelves-product-description line-clamp-1 h-5 text-sm text-info-primary\"\n html={displayDescription || ''}\n />\n ) : null}\n <div className=\"mb-2 mt-5 flex items-center\">\n {isSoldOut ? (\n <div className=\"tablet:text-2xl text-info-primary text-xl font-bold\">{copyWriting?.soldOutText}</div>\n ) : (\n <>\n <div className=\"final-price tablet:text-2xl text-info-primary text-xl font-bold\">\n {variant?.availableForSale ? price || '' : ''}\n </div>\n <div className=\"origin-price tablet:text-xl text-info-secondary ml-1 text-lg font-bold line-through\">\n {variant?.availableForSale ? basePrice || '' : ''}\n </div>\n </>\n )}\n </div>\n {/* \u6309\u94AE\u7EC4 */}\n <div\n className={cn(\n 'shelf-flex-button-group',\n 'lg-desktop:gap-3 flex items-center gap-2',\n configuration.direction === 'vertical' ? 'flex-col' : ''\n )}\n >\n {configuration?.secondaryButton ? (\n <Button\n variant=\"secondary\"\n onClick={() => onSecondaryButton(data, configuration?.index, configuration)}\n className={`\n ${configuration.direction === 'vertical' ? 'w-full' : ''}\n `}\n >\n {configuration?.secondaryButton || ''}\n </Button>\n ) : null}\n {configuration?.primaryButton ? (\n <Button\n variant=\"primary\"\n onClick={() => onPrimaryButton(data, configuration?.index, configuration)}\n className={`\n ${configuration.direction === 'vertical' ? 'w-full' : ''}\n `}\n >\n {configuration?.primaryButton || ''}\n </Button>\n ) : null}\n </div>\n </div>\n </div>\n </div>\n )\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { cn } from '../../helpers/utils.js'\nimport Badge from '../../components/badge.js'\nimport { Text } from '../../components/text.js'\nimport Button from '../../components/button.js'\nimport { gaTrack } from '../../shared/track.js'\nimport { useState, useEffect } from 'react'\nimport Picture from '../../components/picture.js'\nimport { Heading } from '../../components/heading.js'\nimport { useAiuiContext } from '../AiuiProvider/index.js'\nimport { trackUrlRef } from '../../shared/trackUrlRef.js'\nimport { formatVariantPrice } from '../ShelfDisplay/shelfDisplay.js'\nimport type { ShelfDisplayItem, ShelfDisplayType } from '../ShelfDisplay/shelfDisplay.js'\n\nconst componentType = 'image'\nconst componentName = 'collectio_shelves'\n\nconst SOLD_OUT_PRICE = 9999999.99\n\nexport const CollectionShelvesWrapItem = ({ data, configuration }: { data: any; configuration?: any }) => {\n const { itemShape } = configuration || {}\n const { locale = 'us', copyWriting } = useAiuiContext()\n\n const onPrimaryButton = (params: ShelfDisplayItem, index: number, data: ShelfDisplayType) =>\n configuration?.event?.primaryButton?.(params, index + 1, data)\n\n const onSecondaryButton = (params: ShelfDisplayItem, index: number, data: ShelfDisplayType) =>\n configuration?.event?.secondaryButton?.(params, index + 1, data)\n\n const variant = data?.variants?.find((item: any) => item?.sku === data?.sku) || data?.variants?.[0] || {}\n\n const isSoldOut = !variant?.availableForSale && variant?.price?.amount === SOLD_OUT_PRICE\n const isShowTag = configuration?.isShowTag\n const isShowOriginalPrice = configuration?.isShowOriginalPrice\n\n const [showTags, setShowTags] = useState<string[]>([])\n const [showImage, setShowImage] = useState<boolean>(false)\n\n // active \u7684 \u901A\u7528\u6298\u6263\n const coupon = variant?.coupons?.[0]\n\n const { price, basePrice, discount } = formatVariantPrice({\n locale: locale,\n amount: isShowOriginalPrice && coupon ? coupon.variant_price4wscode : variant.price,\n baseAmount: isShowOriginalPrice && coupon ? variant.price : 0,\n currencyCode: data?.price?.currencyCode || 'USD',\n })\n\n const handleUrl = () => {\n const sku = data?.sku\n const skuArray = data?.variants\n const findSku = skuArray?.find((item: any) => item?.sku === sku)\n return findSku?.image?.url || skuArray?.[0]?.image?.url || ''\n }\n\n const displayTitle = data?.custom_name || data?.title || data?.name\n const displayDescription = data?.custom_description || data?.description\n\n useEffect(() => {\n let handleTags: string[] = []\n if (discount) {\n const discountTag = `${discount}${configuration?.discounts?.off}`\n handleTags.push(discountTag)\n }\n const newTags = data?.tags\n ?.filter?.((item: string) => item?.startsWith?.('CLtag'))\n ?.map?.((item: string) => item?.replace?.('CLtag:', ''))\n ?.slice?.(0, discount ? 1 : 2)\n setShowTags(handleTags.concat(newTags))\n }, [discount, configuration?.discounts, data?.tags])\n\n return (\n <div\n key={data?.id || data?.handle}\n className={cn(\n itemShape === 'round' ? 'rounded-2xl' : 'rounded-none',\n 'tablet:aspect-h-[360] tablet:aspect-w-[296] laptop:aspect-h-[560] laptop:aspect-w-[544] relative',\n 'bg-[#EAEAEC] tablet:hover:bg-[#FFFFFF] box-border w-full cursor-pointer overflow-hidden duration-300',\n 'md-tablet:h-[360px]',\n {\n 'aiui-dark': data?.custom_theme === 'dark',\n }\n )}\n >\n <div className=\"absolute inset-0 box-border flex flex-col justify-between overflow-hidden\">\n <div\n onMouseEnter={() => setShowImage(true)}\n onMouseLeave={() => setShowImage(false)}\n className={cn(\n 'desktop:px-6 px-4 lg-desktop:mb-3 relative mb-2 inline-block w-full flex-1 overflow-hidden cursor-pointer'\n )}\n >\n <a\n aria-label={displayTitle}\n target={configuration?.target}\n href={trackUrlRef(\n `${locale === 'us' || !locale ? '' : `/${locale}`}/products/${data?.handle}`,\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 alt=\"\"\n source={handleUrl()}\n className=\"desktop:mt-6 mt-4 flex h-full justify-center object-cover [&_img]:w-auto\"\n />\n <Picture\n alt=\"\"\n source={data?.custom_image}\n className={cn(\n showImage ? 'opacity-100' : 'opacity-0',\n 'absolute inset-x-0 top-0 size-full object-cover [&_img]:size-full transition-all duration-300'\n )}\n />\n </a>\n </div>\n <div className=\"flex flex-col justify-end desktop:pb-6 pb-4 desktop:px-6 px-4 flex-1 collection-shelves-product-content\">\n {isShowTag && showTags?.length ? (\n <div className=\"mb-1 box-border flex h-6 flex-wrap gap-1 overflow-hidden\">\n {showTags?.map?.((item: any, index: number) => <Badge key={index}>{item}</Badge>)}\n </div>\n ) : null}\n {displayTitle ? (\n <Heading\n as=\"h3\"\n size={2}\n title={displayTitle || ''}\n html={displayTitle || ''}\n className=\"collection-shelves-product-title mb-1 line-clamp-2 text-info-primary\"\n />\n ) : null}\n {displayDescription ? (\n <Text\n size={2}\n className=\"lg-desktop:text-lg lg-desktop:h-[26px] desktop:text-base desktop:h-6 collection-shelves-product-description line-clamp-1 h-5 text-sm text-info-primary\"\n html={displayDescription || ''}\n />\n ) : null}\n <div className=\"mb-2 mt-4 flex items-center\">\n {isSoldOut ? (\n <div className=\"tablet:text-2xl text-info-primary text-xl font-bold\">{copyWriting?.soldOutText}</div>\n ) : (\n <>\n <div className=\"final-price tablet:text-2xl text-info-primary text-xl font-bold\">\n {variant?.availableForSale ? price || '' : ''}\n </div>\n <div className=\"origin-price tablet:text-xl text-info-secondary ml-1 text-lg font-bold line-through\">\n {variant?.availableForSale ? basePrice || '' : ''}\n </div>\n </>\n )}\n </div>\n {/* \u6309\u94AE\u7EC4 */}\n <div\n className={cn(\n 'shelf-flex-button-group',\n 'lg-desktop:gap-3 flex items-center gap-2',\n configuration.direction === 'vertical' ? 'flex-col' : ''\n )}\n >\n {configuration?.secondaryButton ? (\n <Button\n variant=\"secondary\"\n onClick={() => onSecondaryButton(data, configuration?.index, configuration)}\n className={`\n ${configuration.direction === 'vertical' ? 'w-full' : ''}\n `}\n >\n {configuration?.secondaryButton || ''}\n </Button>\n ) : null}\n {configuration?.primaryButton ? (\n <Button\n variant=\"primary\"\n onClick={() => onPrimaryButton(data, configuration?.index, configuration)}\n className={`\n ${configuration.direction === 'vertical' ? 'w-full' : ''}\n `}\n >\n {configuration?.primaryButton || ''}\n </Button>\n ) : null}\n </div>\n </div>\n </div>\n </div>\n )\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["CollectionShelvesItem_exports", "__export", "CollectionShelvesWrapItem", "__toCommonJS", "import_jsx_runtime", "import_utils", "import_badge", "import_text", "import_button", "import_track", "import_react", "import_picture", "import_heading", "import_AiuiProvider", "import_trackUrlRef", "import_shelfDisplay", "componentType", "componentName", "SOLD_OUT_PRICE", "data", "configuration", "itemShape", "locale", "copyWriting", "onPrimaryButton", "params", "index", "onSecondaryButton", "variant", "item", "isSoldOut", "isShowTag", "isShowOriginalPrice", "showTags", "setShowTags", "showImage", "setShowImage", "coupon", "price", "basePrice", "discount", "handleUrl", "sku", "skuArray", "displayTitle", "displayDescription", "handleTags", "discountTag", "newTags", "Picture", "Badge", "Button"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var z=Object.create;var v=Object.defineProperty;var W=Object.getOwnPropertyDescriptor;var B=Object.getOwnPropertyNames;var A=Object.getPrototypeOf,T=Object.prototype.hasOwnProperty;var q=(t,n)=>{for(var s in n)v(t,s,{get:n[s],enumerable:!0})},P=(t,n,s,o)=>{if(n&&typeof n=="object"||typeof n=="function")for(let i of B(n))!T.call(t,i)&&i!==s&&v(t,i,{get:()=>n[i],enumerable:!(o=W(n,i))||o.enumerable});return t};var E=(t,n,s)=>(s=t!=null?z(A(t)):{},P(n||!t||!t.__esModule?v(s,"default",{value:t,enumerable:!0}):s,t)),O=t=>P(v({},"__esModule",{value:!0}),t);var Q={};q(Q,{default:()=>I});module.exports=O(Q);var e=require("react/jsx-runtime"),C=require("../../helpers/utils.js"),F=require("react-responsive"),G=require("../Paginator/index.js"),S=E(require("./FilterCardWrapItem")),m=require("react"),D=require("es-toolkit");function I(t){const{shopifyData:n={},total:s,result:o,closeFilter:i,page:f,metafields:b,onPrimaryChange:N,onSecondaryChange:M,onNextPage:w,onPrevPage:L}=t,{advertisingSpace:y}=b,{buttonText:j}=n,c=y||n?.advertisingSpace,[h,x]=(0,m.useState)([]),l=(0,F.useMediaQuery)({query:"(max-width: 768px)"}),k=g=>{const a=(0,D.cloneDeep)(g||[]);if(c){const r=a.findIndex(p=>p.mImage);if(r===-1){const p=Math.min(i?c?.maxLocation||7:c?.minLocation||5,a.length);a.splice(p,0,c)}else{a.splice(r,1);const p=Math.min(i?c?.maxLocation||7:c?.minLocation||5,a.length);a.splice(p,0,c)}}return a};return(0,m.useEffect)(()=>{(o?.slug||o?.id)&&((f===1||!l)&&x([]),o?.products&&x(g=>{const a=o.products?.filter?.(d=>!g.some(u=>u.id===d.id));let r=[...g,...a];const p=r.filter(d=>!(!d?.metafields?.seoSetting?.noindex&&d.availableForSale&&d?.variants?.some(u=>u.availableForSale)));return r=r.filter(d=>!d?.metafields?.seoSetting?.noindex&&d.availableForSale&&d?.variants?.some(u=>u.availableForSale)),r.push(...p),(f===1&&!l||l)&&(r=k(r)),r}))},[o?.products,f,l,y]),(0,m.useEffect)(()=>{h?.length&&f===1&&!l&&x(k(h))},[i]),(0,e.jsxs)("div",{className:"filter-card-wrap-container",children:[(0,e.jsx)("div",{className:(0,C.cn)("min-h-[60vh] w-full grid gap-3 grid-cols-2",{"laptop:grid-cols-4 tablet:grid-cols-3":i&&!l,"laptop:grid-cols-3 tablet:grid-cols-2":!i&&!l},"filter-card-wrap"),children:h?.map?.(g=>(0,e.jsx)(S.default,{data:g,buttonText:j,metafields:b,onPrimaryChange:(a,r)=>N?.(a,r),onSecondaryChange:(a,r)=>M?.(a,r)},g.id))}),l?(0,e.jsxs)("div",{onClick:()=>{w?.(o?.pageInfo?.endCursor)},className:"mt-6 text-base font-bold cursor-pointer flex items-center justify-center gap-1 filter-card-wrap-more",children:[(0,e.jsx)("span",{children:"View More"}),(0,e.jsx)("div",{className:"size-[18px]",children:(0,e.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon",children:(0,e.jsx)("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m19.5 8.25-7.5 7.5-7.5-7.5"})})})]}):null,!l&&s>18?(0,e.jsxs)("div",{className:"mt-6 flex items-center justify-end gap-4 cursor-pointer",children:[(0,e.jsx)("button",{name:"perv page",disabled:!o?.pageInfo?.hasPreviousPage,className:"flex items-center justify-center lg-desktop:size-14 size-10 rounded-full leading-tight overflow-hidden bg-transparent border-[1.5px] border-[#3D3D3F]",onClick:()=>{L?.(o?.pageInfo?.startCursor)},children:(0,e.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",children:(0,e.jsx)("path",{d:"M12 5L7 10L12 15",stroke:"#3D3D3F","stroke-width":"1.66667","stroke-linecap":"round","stroke-linejoin":"round"})})}),(0,e.jsx)("button",{name:"next page",className:"flex items-center justify-center lg-desktop:size-14 size-10 rounded-full leading-tight overflow-hidden bg-transparent border-[1.5px] border-[#3D3D3F]",disabled:!o?.pageInfo?.hasNextPage,onClick:()=>{w?.(o?.pageInfo?.endCursor)},children:(0,e.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",children:(0,e.jsx)("path",{d:"M7.5 5L12.5 10L7.5 15",stroke:"#3D3D3F","stroke-width":"1.66667","stroke-linecap":"round","stroke-linejoin":"round"})})})]}):null]})}
1
+ "use strict";var W=Object.create;var v=Object.defineProperty;var B=Object.getOwnPropertyDescriptor;var T=Object.getOwnPropertyNames;var A=Object.getPrototypeOf,q=Object.prototype.hasOwnProperty;var E=(t,n)=>{for(var s in n)v(t,s,{get:n[s],enumerable:!0})},P=(t,n,s,r)=>{if(n&&typeof n=="object"||typeof n=="function")for(let i of T(n))!q.call(t,i)&&i!==s&&v(t,i,{get:()=>n[i],enumerable:!(r=B(n,i))||r.enumerable});return t};var O=(t,n,s)=>(s=t!=null?W(A(t)):{},P(n||!t||!t.__esModule?v(s,"default",{value:t,enumerable:!0}):s,t)),Q=t=>P(v({},"__esModule",{value:!0}),t);var V={};E(V,{default:()=>I});module.exports=Q(V);var e=require("react/jsx-runtime"),C=require("../../helpers/utils.js"),F=require("react-responsive"),H=require("../Paginator/index.js"),S=O(require("./FilterCardWrapItem")),m=require("react"),D=require("es-toolkit");function I(t){const{shopifyData:n={},total:s,result:r,closeFilter:i,page:f,metafields:b,onPrimaryChange:M,onSecondaryChange:N,onNextPage:w,onPrevPage:L}=t,{advertisingSpace:y}=b,{buttonText:j,loadMoreText:z}=n,c=y||n?.advertisingSpace,[h,x]=(0,m.useState)([]),l=(0,F.useMediaQuery)({query:"(max-width: 768px)"}),k=g=>{const a=(0,D.cloneDeep)(g||[]);if(c){const o=a.findIndex(p=>p.mImage);if(o===-1){const p=Math.min(i?c?.maxLocation||7:c?.minLocation||5,a.length);a.splice(p,0,c)}else{a.splice(o,1);const p=Math.min(i?c?.maxLocation||7:c?.minLocation||5,a.length);a.splice(p,0,c)}}return a};return(0,m.useEffect)(()=>{(r?.slug||r?.id)&&((f===1||!l)&&x([]),r?.products&&x(g=>{const a=r.products?.filter?.(d=>!g.some(u=>u.id===d.id));let o=[...g,...a];const p=o.filter(d=>!(!d?.metafields?.seoSetting?.noindex&&d.availableForSale&&d?.variants?.some(u=>u.availableForSale)));return o=o.filter(d=>!d?.metafields?.seoSetting?.noindex&&d.availableForSale&&d?.variants?.some(u=>u.availableForSale)),o.push(...p),(f===1&&!l||l)&&(o=k(o)),o}))},[r?.products,f,l,y]),(0,m.useEffect)(()=>{h?.length&&f===1&&!l&&x(k(h))},[i]),(0,e.jsxs)("div",{className:"filter-card-wrap-container",children:[(0,e.jsx)("div",{className:(0,C.cn)("min-h-[60vh] w-full grid gap-3 grid-cols-2",{"laptop:grid-cols-4 tablet:grid-cols-3":i&&!l,"laptop:grid-cols-3 tablet:grid-cols-2":!i&&!l},"filter-card-wrap"),children:h?.map?.(g=>(0,e.jsx)(S.default,{data:g,buttonText:j,metafields:b,onPrimaryChange:(a,o)=>M?.(a,o),onSecondaryChange:(a,o)=>N?.(a,o)},g.id))}),l?(0,e.jsxs)("div",{onClick:()=>{w?.(r?.pageInfo?.endCursor)},className:"mt-6 text-base font-bold cursor-pointer flex items-center justify-center gap-1 filter-card-wrap-more",children:[(0,e.jsx)("span",{children:z||"View More"}),(0,e.jsx)("div",{className:"size-[18px]",children:(0,e.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon",children:(0,e.jsx)("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m19.5 8.25-7.5 7.5-7.5-7.5"})})})]}):null,!l&&s>18?(0,e.jsxs)("div",{className:"mt-6 flex items-center justify-end gap-4 cursor-pointer",children:[(0,e.jsx)("button",{name:"perv page",disabled:!r?.pageInfo?.hasPreviousPage,className:"flex items-center justify-center lg-desktop:size-14 size-10 rounded-full leading-tight overflow-hidden bg-transparent border-[1.5px] border-[#3D3D3F]",onClick:()=>{L?.(r?.pageInfo?.startCursor)},children:(0,e.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",children:(0,e.jsx)("path",{d:"M12 5L7 10L12 15",stroke:"#3D3D3F","stroke-width":"1.66667","stroke-linecap":"round","stroke-linejoin":"round"})})}),(0,e.jsx)("button",{name:"next page",className:"flex items-center justify-center lg-desktop:size-14 size-10 rounded-full leading-tight overflow-hidden bg-transparent border-[1.5px] border-[#3D3D3F]",disabled:!r?.pageInfo?.hasNextPage,onClick:()=>{w?.(r?.pageInfo?.endCursor)},children:(0,e.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",children:(0,e.jsx)("path",{d:"M7.5 5L12.5 10L7.5 15",stroke:"#3D3D3F","stroke-width":"1.66667","stroke-linecap":"round","stroke-linejoin":"round"})})})]}):null]})}
2
2
  //# sourceMappingURL=FilterCardWrap.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/biz-components/CollectionsFilters/FilterCardWrap.tsx"],
4
- "sourcesContent": ["import { cn } from '../../helpers/utils.js'\nimport { useMediaQuery } from 'react-responsive'\nimport Paginator from '../Paginator/index.js'\nimport FilterCardWrapItem from './FilterCardWrapItem'\nimport { useState, useEffect } from 'react'\nimport { cloneDeep } from 'es-toolkit';\n\ntype FilterCardWrapProps = {\n result?: any\n total: number\n shopifyData?: any\n currentPage?: number\n closeFilter: boolean\n page: number\n metafields: any\n onPrimaryChange?: (item: any, sku: string) => void\n onSecondaryChange?: (item: any, sku: string) => void\n onNextPage?: (v: string) => void\n onPrevPage?: (v: string) => void\n}\n\nexport default function FilterCardWrap(props: FilterCardWrapProps) {\n const { shopifyData = {}, total, result, closeFilter, page, metafields, onPrimaryChange, onSecondaryChange, onNextPage, onPrevPage } = props\n const { advertisingSpace } = metafields\n const { buttonText } = shopifyData\n\n const currentAdvertisingSpace = advertisingSpace || shopifyData?.advertisingSpace\n\n const [data, setData] = useState<any[]>([])\n\n const isMobile = useMediaQuery({ query: '(max-width: 768px)' })\n\n const handleAdvertisingSpace = (products: any[]) => {\n const updatedProducts = cloneDeep(products || [])\n if (currentAdvertisingSpace) {\n const findIndex = updatedProducts.findIndex(item => item.mImage)\n if (findIndex === -1) {\n const insertIndex = closeFilter\n ? Math.min(currentAdvertisingSpace?.maxLocation || 7, updatedProducts.length)\n : Math.min(currentAdvertisingSpace?.minLocation || 5, updatedProducts.length)\n updatedProducts.splice(insertIndex, 0, currentAdvertisingSpace)\n } else {\n updatedProducts.splice(findIndex, 1)\n const insertIndex = closeFilter\n ? Math.min(currentAdvertisingSpace?.maxLocation || 7, updatedProducts.length)\n : Math.min(currentAdvertisingSpace?.minLocation || 5, updatedProducts.length)\n updatedProducts.splice(insertIndex, 0, currentAdvertisingSpace)\n }\n }\n return updatedProducts\n }\n\n // \u5904\u7406\u4EA7\u54C1\u6570\u636E\n useEffect(() => {\n if (result?.slug || result?.id) {\n (page === 1 || !isMobile) && setData([])\n if (result?.products) {\n setData(prevProducts => {\n // \u68C0\u67E5\u662F\u5426\u5DF2\u7ECF\u5B58\u5728\u4E8E prevProducts \u4E2D\uFF0C\u907F\u514D\u91CD\u590D\u6DFB\u52A0\n const newProducts = result.products?.filter?.(\n (product: { id: any }) => !prevProducts.some(prev => prev.id === product.id)\n )\n let updatedProducts = [...prevProducts, ...newProducts]\n /** \u5DF2\u552E\u5B8C\u7684\u4EA7\u54C1 */\n const soldOutProducts = updatedProducts.filter(\n item =>\n !(\n !item?.metafields?.seoSetting?.noindex &&\n item.availableForSale &&\n item?.variants?.some((item: { availableForSale: any }) => item.availableForSale)\n )\n )\n // \u8FC7\u6EE4\u6389 availableForSale \u4E3A false \u7684\u4EA7\u54C1\n updatedProducts = updatedProducts.filter(\n item =>\n !item?.metafields?.seoSetting?.noindex &&\n item.availableForSale &&\n item?.variants?.some((item: { availableForSale: any }) => item.availableForSale)\n )\n // \u5C06\u5DF2\u552E\u5B8C\u7684\u4EA7\u54C1\u6DFB\u52A0\u5230\u6700\u540E\n updatedProducts.push(...soldOutProducts)\n // \u5982\u679C advertisingSpace \u5B58\u5728\u4E14\u5C1A\u672A\u6DFB\u52A0\u5230\u6570\u7EC4\u4E2D\n if ((page === 1 && !isMobile) || isMobile) {\n updatedProducts = handleAdvertisingSpace(updatedProducts)\n }\n return updatedProducts\n })\n }\n }\n }, [result?.products, page, isMobile, advertisingSpace])\n\n useEffect(() => {\n if(!data?.length) return\n if(page === 1 && !isMobile) {\n setData(handleAdvertisingSpace(data))\n }\n }, [closeFilter])\n\n return (\n <div className=\"filter-card-wrap-container\">\n <div\n className={cn(\n 'min-h-[60vh] w-full grid gap-3 grid-cols-2',\n {\n 'laptop:grid-cols-4 tablet:grid-cols-3': closeFilter && !isMobile,\n 'laptop:grid-cols-3 tablet:grid-cols-2': !closeFilter && !isMobile,\n },\n 'filter-card-wrap'\n )}\n >\n {data?.map?.(item => (\n <FilterCardWrapItem\n key={item.id}\n data={item}\n buttonText={buttonText}\n metafields={metafields}\n onPrimaryChange={(e, data) => onPrimaryChange?.(e, data)}\n onSecondaryChange={(e, data) => onSecondaryChange?.(e, data)}\n />\n ))}\n </div>\n {isMobile ? (\n <div\n onClick={() => {\n onNextPage?.(result?.pageInfo?.endCursor)\n }}\n className=\"mt-6 text-base font-bold cursor-pointer flex items-center justify-center gap-1 filter-card-wrap-more\"\n >\n <span>View More</span>\n <div className=\"size-[18px]\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke-width=\"1.5\"\n stroke=\"currentColor\"\n aria-hidden=\"true\"\n data-slot=\"icon\"\n >\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"m19.5 8.25-7.5 7.5-7.5-7.5\" />\n </svg>\n </div>\n </div>\n ) : null}\n {!isMobile && total > 18 ? (\n <div className=\"mt-6 flex items-center justify-end gap-4 cursor-pointer\">\n <button\n name=\"perv page\"\n disabled={!result?.pageInfo?.hasPreviousPage}\n className=\"flex items-center justify-center lg-desktop:size-14 size-10 rounded-full leading-tight overflow-hidden bg-transparent border-[1.5px] border-[#3D3D3F]\"\n onClick={() => {\n onPrevPage?.(result?.pageInfo?.startCursor)\n }}\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\n <path\n d=\"M12 5L7 10L12 15\"\n stroke=\"#3D3D3F\"\n stroke-width=\"1.66667\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </button>\n <button\n name=\"next page\"\n className=\"flex items-center justify-center lg-desktop:size-14 size-10 rounded-full leading-tight overflow-hidden bg-transparent border-[1.5px] border-[#3D3D3F]\"\n disabled={!result?.pageInfo?.hasNextPage}\n onClick={() => {\n onNextPage?.(result?.pageInfo?.endCursor)\n }}\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\n <path\n d=\"M7.5 5L12.5 10L7.5 15\"\n stroke=\"#3D3D3F\"\n stroke-width=\"1.66667\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </button>\n </div>\n ) : // <Paginator\n // className=\"mt-6\"\n // currentPage={currentPage}\n // onPageChange={(v: number) => {\n // setData([])\n // if(v > currentPage) {\n // onNextPage?.(result?.pageInfo?.endCursor)\n // } else {\n // onPrevPage?.(result?.pageInfo?.startCursor)\n // }\n // setCurrentPage(v)\n // }}\n // total={100}\n // />\n null}\n </div>\n )\n}"],
5
- "mappings": "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",
6
- "names": ["FilterCardWrap_exports", "__export", "FilterCardWrap", "__toCommonJS", "import_jsx_runtime", "import_utils", "import_react_responsive", "import_Paginator", "import_FilterCardWrapItem", "import_react", "import_es_toolkit", "props", "shopifyData", "total", "result", "closeFilter", "page", "metafields", "onPrimaryChange", "onSecondaryChange", "onNextPage", "onPrevPage", "advertisingSpace", "buttonText", "currentAdvertisingSpace", "data", "setData", "isMobile", "handleAdvertisingSpace", "products", "updatedProducts", "findIndex", "item", "insertIndex", "prevProducts", "newProducts", "product", "prev", "soldOutProducts", "FilterCardWrapItem", "e"]
4
+ "sourcesContent": ["import { cn } from '../../helpers/utils.js'\nimport { useMediaQuery } from 'react-responsive'\nimport Paginator from '../Paginator/index.js'\nimport FilterCardWrapItem from './FilterCardWrapItem'\nimport { useState, useEffect } from 'react'\nimport { cloneDeep } from 'es-toolkit';\n\ntype FilterCardWrapProps = {\n result?: any\n total: number\n shopifyData?: any\n currentPage?: number\n closeFilter: boolean\n page: number\n metafields: any\n onPrimaryChange?: (item: any, sku: string) => void\n onSecondaryChange?: (item: any, sku: string) => void\n onNextPage?: (v: string) => void\n onPrevPage?: (v: string) => void\n}\n\nexport default function FilterCardWrap(props: FilterCardWrapProps) {\n const { shopifyData = {}, total, result, closeFilter, page, metafields, onPrimaryChange, onSecondaryChange, onNextPage, onPrevPage } = props\n const { advertisingSpace } = metafields\n const { buttonText, loadMoreText } = shopifyData\n\n const currentAdvertisingSpace = advertisingSpace || shopifyData?.advertisingSpace\n\n const [data, setData] = useState<any[]>([])\n\n const isMobile = useMediaQuery({ query: '(max-width: 768px)' })\n\n const handleAdvertisingSpace = (products: any[]) => {\n const updatedProducts = cloneDeep(products || [])\n if (currentAdvertisingSpace) {\n const findIndex = updatedProducts.findIndex(item => item.mImage)\n if (findIndex === -1) {\n const insertIndex = closeFilter\n ? Math.min(currentAdvertisingSpace?.maxLocation || 7, updatedProducts.length)\n : Math.min(currentAdvertisingSpace?.minLocation || 5, updatedProducts.length)\n updatedProducts.splice(insertIndex, 0, currentAdvertisingSpace)\n } else {\n updatedProducts.splice(findIndex, 1)\n const insertIndex = closeFilter\n ? Math.min(currentAdvertisingSpace?.maxLocation || 7, updatedProducts.length)\n : Math.min(currentAdvertisingSpace?.minLocation || 5, updatedProducts.length)\n updatedProducts.splice(insertIndex, 0, currentAdvertisingSpace)\n }\n }\n return updatedProducts\n }\n\n // \u5904\u7406\u4EA7\u54C1\u6570\u636E\n useEffect(() => {\n if (result?.slug || result?.id) {\n (page === 1 || !isMobile) && setData([])\n if (result?.products) {\n setData(prevProducts => {\n // \u68C0\u67E5\u662F\u5426\u5DF2\u7ECF\u5B58\u5728\u4E8E prevProducts \u4E2D\uFF0C\u907F\u514D\u91CD\u590D\u6DFB\u52A0\n const newProducts = result.products?.filter?.(\n (product: { id: any }) => !prevProducts.some(prev => prev.id === product.id)\n )\n let updatedProducts = [...prevProducts, ...newProducts]\n /** \u5DF2\u552E\u5B8C\u7684\u4EA7\u54C1 */\n const soldOutProducts = updatedProducts.filter(\n item =>\n !(\n !item?.metafields?.seoSetting?.noindex &&\n item.availableForSale &&\n item?.variants?.some((item: { availableForSale: any }) => item.availableForSale)\n )\n )\n // \u8FC7\u6EE4\u6389 availableForSale \u4E3A false \u7684\u4EA7\u54C1\n updatedProducts = updatedProducts.filter(\n item =>\n !item?.metafields?.seoSetting?.noindex &&\n item.availableForSale &&\n item?.variants?.some((item: { availableForSale: any }) => item.availableForSale)\n )\n // \u5C06\u5DF2\u552E\u5B8C\u7684\u4EA7\u54C1\u6DFB\u52A0\u5230\u6700\u540E\n updatedProducts.push(...soldOutProducts)\n // \u5982\u679C advertisingSpace \u5B58\u5728\u4E14\u5C1A\u672A\u6DFB\u52A0\u5230\u6570\u7EC4\u4E2D\n if ((page === 1 && !isMobile) || isMobile) {\n updatedProducts = handleAdvertisingSpace(updatedProducts)\n }\n return updatedProducts\n })\n }\n }\n }, [result?.products, page, isMobile, advertisingSpace])\n\n useEffect(() => {\n if(!data?.length) return\n if(page === 1 && !isMobile) {\n setData(handleAdvertisingSpace(data))\n }\n }, [closeFilter])\n\n return (\n <div className=\"filter-card-wrap-container\">\n <div\n className={cn(\n 'min-h-[60vh] w-full grid gap-3 grid-cols-2',\n {\n 'laptop:grid-cols-4 tablet:grid-cols-3': closeFilter && !isMobile,\n 'laptop:grid-cols-3 tablet:grid-cols-2': !closeFilter && !isMobile,\n },\n 'filter-card-wrap'\n )}\n >\n {data?.map?.(item => (\n <FilterCardWrapItem\n key={item.id}\n data={item}\n buttonText={buttonText}\n metafields={metafields}\n onPrimaryChange={(e, data) => onPrimaryChange?.(e, data)}\n onSecondaryChange={(e, data) => onSecondaryChange?.(e, data)}\n />\n ))}\n </div>\n {isMobile ? (\n <div\n onClick={() => {\n onNextPage?.(result?.pageInfo?.endCursor)\n }}\n className=\"mt-6 text-base font-bold cursor-pointer flex items-center justify-center gap-1 filter-card-wrap-more\"\n >\n <span>{loadMoreText || 'View More'}</span>\n <div className=\"size-[18px]\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke-width=\"1.5\"\n stroke=\"currentColor\"\n aria-hidden=\"true\"\n data-slot=\"icon\"\n >\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"m19.5 8.25-7.5 7.5-7.5-7.5\" />\n </svg>\n </div>\n </div>\n ) : null}\n {!isMobile && total > 18 ? (\n <div className=\"mt-6 flex items-center justify-end gap-4 cursor-pointer\">\n <button\n name=\"perv page\"\n disabled={!result?.pageInfo?.hasPreviousPage}\n className=\"flex items-center justify-center lg-desktop:size-14 size-10 rounded-full leading-tight overflow-hidden bg-transparent border-[1.5px] border-[#3D3D3F]\"\n onClick={() => {\n onPrevPage?.(result?.pageInfo?.startCursor)\n }}\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\n <path\n d=\"M12 5L7 10L12 15\"\n stroke=\"#3D3D3F\"\n stroke-width=\"1.66667\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </button>\n <button\n name=\"next page\"\n className=\"flex items-center justify-center lg-desktop:size-14 size-10 rounded-full leading-tight overflow-hidden bg-transparent border-[1.5px] border-[#3D3D3F]\"\n disabled={!result?.pageInfo?.hasNextPage}\n onClick={() => {\n onNextPage?.(result?.pageInfo?.endCursor)\n }}\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\n <path\n d=\"M7.5 5L12.5 10L7.5 15\"\n stroke=\"#3D3D3F\"\n stroke-width=\"1.66667\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </button>\n </div>\n ) : // <Paginator\n // className=\"mt-6\"\n // currentPage={currentPage}\n // onPageChange={(v: number) => {\n // setData([])\n // if(v > currentPage) {\n // onNextPage?.(result?.pageInfo?.endCursor)\n // } else {\n // onPrevPage?.(result?.pageInfo?.startCursor)\n // }\n // setCurrentPage(v)\n // }}\n // total={100}\n // />\n null}\n </div>\n )\n}"],
5
+ "mappings": "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",
6
+ "names": ["FilterCardWrap_exports", "__export", "FilterCardWrap", "__toCommonJS", "import_jsx_runtime", "import_utils", "import_react_responsive", "import_Paginator", "import_FilterCardWrapItem", "import_react", "import_es_toolkit", "props", "shopifyData", "total", "result", "closeFilter", "page", "metafields", "onPrimaryChange", "onSecondaryChange", "onNextPage", "onPrevPage", "advertisingSpace", "buttonText", "loadMoreText", "currentAdvertisingSpace", "data", "setData", "isMobile", "handleAdvertisingSpace", "products", "updatedProducts", "findIndex", "item", "insertIndex", "prevProducts", "newProducts", "product", "prev", "soldOutProducts", "FilterCardWrapItem", "e"]
7
7
  }
@@ -1,6 +1,6 @@
1
- import{Fragment as M,jsx as l,jsxs as a}from"react/jsx-runtime";import{cn as p}from"../../helpers/utils.js";import $ from"../../components/badge.js";import{Text as E}from"../../components/text.js";import x from"../../components/button.js";import{gaTrack as I}from"../../shared/track.js";import{useState as h,useEffect as O}from"react";import y from"../../components/picture.js";import{Heading as j}from"../../components/heading.js";import{useAiuiContext as A}from"../AiuiProvider/index.js";import{trackUrlRef as z}from"../../shared/trackUrlRef.js";import{formatVariantPrice as L}from"../ShelfDisplay/shelfDisplay.js";const U="image",H="collectio_shelves",W=999999999e-2,te=({data:e,configuration:t})=>{const{itemShape:b}=t||{},{locale:n="us",copyWriting:g}=A(),k=(s,i,r)=>t?.event?.primaryButton?.(s,i+1,r),S=(s,i,r)=>t?.event?.secondaryButton?.(s,i+1,r),o=e?.variants?.find(s=>s?.sku===e?.sku)||e?.variants?.[0]||{},w=!o?.availableForSale&&o?.price?.amount===W,_=t?.isShowTag,u=t?.isShowOriginalPrice,[N,T]=h([]),[B,v]=h(!1),d=o?.coupons?.[0],{price:C,basePrice:D,discount:c}=L({locale:n,amount:u&&d?d.variant_price4wscode:o.price,baseAmount:u&&d?o.price:0,currencyCode:e?.price?.currencyCode||"USD"}),F=()=>{const s=e?.sku,i=e?.variants;return i?.find(P=>P?.sku===s)?.image?.url||i?.[0]?.image?.url||""},m=e?.custom_name||e?.title||e?.name,f=e?.custom_description||e?.description;return O(()=>{let s=[];if(c){const r=`${c}${t?.discounts?.off}`;s.push(r)}const i=e?.tags?.filter?.(r=>r?.startsWith?.("CLtag"))?.map?.(r=>r?.replace?.("CLtag:",""))?.slice?.(0,c?1:2);T(s.concat(i))},[c,t?.discounts,e?.tags]),l("div",{className:p(b==="round"?"rounded-2xl":"rounded-none","tablet:aspect-h-[360] tablet:aspect-w-[296] laptop:aspect-h-[560] laptop:aspect-w-[544] relative","bg-[#EAEAEC] tablet:hover:bg-[#FFFFFF] box-border w-full cursor-pointer overflow-hidden duration-300","md-tablet:h-[360px]",{"aiui-dark":e?.custom_theme==="dark"}),children:a("div",{className:"absolute inset-0 box-border flex flex-col justify-between overflow-hidden",children:[l("div",{onMouseEnter:()=>v(!0),onMouseLeave:()=>v(!1),className:p("desktop:px-6 px-4 lg-desktop:mb-3 relative mb-2 inline-block w-full flex-1 overflow-hidden cursor-pointer"),children:a("a",{"aria-label":m,target:t?.target,href:z(`${n==="us"||!n?"":`/${n}`}/products/${e?.handle}`,`${U}_${H}`),onClick:()=>{I({event:"ga4Event",event_name:"select_item",event_parameters:{page_group:"Home Page",item_list_name:"Home_Page_Bundle",items:[{item_id:e?.sku||o?.sku,item_name:e?.name,item_variant:o?.name,price:o?.price,index:t?.index+1}]}})},children:[l(y,{alt:"",source:F(),className:"desktop:mt-6 mt-4 flex h-full justify-center object-cover [&_img]:w-auto"}),l(y,{alt:"",source:e?.custom_image,className:p(B?"opacity-100":"opacity-0","absolute inset-x-0 top-0 size-full object-cover [&_img]:size-full transition-all duration-300")})]})}),a("div",{className:"flex flex-col justify-end desktop:pb-6 pb-4 desktop:px-6 px-4 flex-1 collection-shelves-product-content",children:[_?l("div",{className:"mb-1 box-border flex h-8 flex-wrap gap-1 overflow-hidden",children:N?.map?.((s,i)=>l($,{children:s},i))}):null,m?l(j,{as:"h3",size:2,title:m||"",html:m||"",className:"collection-shelves-product-title mb-1 line-clamp-2 text-info-primary"}):null,f?l(E,{size:2,className:"lg-desktop:text-lg lg-desktop:h-[26px] desktop:text-base desktop:h-6 collection-shelves-product-description line-clamp-1 h-5 text-sm text-info-primary",html:f||""}):null,l("div",{className:"mb-2 mt-5 flex items-center",children:w?l("div",{className:"tablet:text-2xl text-info-primary text-xl font-bold",children:g?.soldOutText}):a(M,{children:[l("div",{className:"final-price tablet:text-2xl text-info-primary text-xl font-bold",children:o?.availableForSale&&C||""}),l("div",{className:"origin-price tablet:text-xl text-info-secondary ml-1 text-lg font-bold line-through",children:o?.availableForSale&&D||""})]})}),a("div",{className:p("shelf-flex-button-group","lg-desktop:gap-3 flex items-center gap-2",t.direction==="vertical"?"flex-col":""),children:[t?.secondaryButton?l(x,{variant:"secondary",onClick:()=>S(e,t?.index,t),className:`
1
+ import{Fragment as M,jsx as l,jsxs as a}from"react/jsx-runtime";import{cn as p}from"../../helpers/utils.js";import $ from"../../components/badge.js";import{Text as E}from"../../components/text.js";import x from"../../components/button.js";import{gaTrack as I}from"../../shared/track.js";import{useState as y,useEffect as O}from"react";import b from"../../components/picture.js";import{Heading as j}from"../../components/heading.js";import{useAiuiContext as A}from"../AiuiProvider/index.js";import{trackUrlRef as z}from"../../shared/trackUrlRef.js";import{formatVariantPrice as L}from"../ShelfDisplay/shelfDisplay.js";const U="image",H="collectio_shelves",W=999999999e-2,te=({data:e,configuration:t})=>{const{itemShape:g}=t||{},{locale:n="us",copyWriting:k}=A(),S=(s,i,r)=>t?.event?.primaryButton?.(s,i+1,r),w=(s,i,r)=>t?.event?.secondaryButton?.(s,i+1,r),o=e?.variants?.find(s=>s?.sku===e?.sku)||e?.variants?.[0]||{},_=!o?.availableForSale&&o?.price?.amount===W,N=t?.isShowTag,u=t?.isShowOriginalPrice,[v,T]=y([]),[B,f]=y(!1),d=o?.coupons?.[0],{price:C,basePrice:D,discount:c}=L({locale:n,amount:u&&d?d.variant_price4wscode:o.price,baseAmount:u&&d?o.price:0,currencyCode:e?.price?.currencyCode||"USD"}),F=()=>{const s=e?.sku,i=e?.variants;return i?.find(P=>P?.sku===s)?.image?.url||i?.[0]?.image?.url||""},m=e?.custom_name||e?.title||e?.name,h=e?.custom_description||e?.description;return O(()=>{let s=[];if(c){const r=`${c}${t?.discounts?.off}`;s.push(r)}const i=e?.tags?.filter?.(r=>r?.startsWith?.("CLtag"))?.map?.(r=>r?.replace?.("CLtag:",""))?.slice?.(0,c?1:2);T(s.concat(i))},[c,t?.discounts,e?.tags]),l("div",{className:p(g==="round"?"rounded-2xl":"rounded-none","tablet:aspect-h-[360] tablet:aspect-w-[296] laptop:aspect-h-[560] laptop:aspect-w-[544] relative","bg-[#EAEAEC] tablet:hover:bg-[#FFFFFF] box-border w-full cursor-pointer overflow-hidden duration-300","md-tablet:h-[360px]",{"aiui-dark":e?.custom_theme==="dark"}),children:a("div",{className:"absolute inset-0 box-border flex flex-col justify-between overflow-hidden",children:[l("div",{onMouseEnter:()=>f(!0),onMouseLeave:()=>f(!1),className:p("desktop:px-6 px-4 lg-desktop:mb-3 relative mb-2 inline-block w-full flex-1 overflow-hidden cursor-pointer"),children:a("a",{"aria-label":m,target:t?.target,href:z(`${n==="us"||!n?"":`/${n}`}/products/${e?.handle}`,`${U}_${H}`),onClick:()=>{I({event:"ga4Event",event_name:"select_item",event_parameters:{page_group:"Home Page",item_list_name:"Home_Page_Bundle",items:[{item_id:e?.sku||o?.sku,item_name:e?.name,item_variant:o?.name,price:o?.price,index:t?.index+1}]}})},children:[l(b,{alt:"",source:F(),className:"desktop:mt-6 mt-4 flex h-full justify-center object-cover [&_img]:w-auto"}),l(b,{alt:"",source:e?.custom_image,className:p(B?"opacity-100":"opacity-0","absolute inset-x-0 top-0 size-full object-cover [&_img]:size-full transition-all duration-300")})]})}),a("div",{className:"flex flex-col justify-end desktop:pb-6 pb-4 desktop:px-6 px-4 flex-1 collection-shelves-product-content",children:[N&&v?.length?l("div",{className:"mb-1 box-border flex h-6 flex-wrap gap-1 overflow-hidden",children:v?.map?.((s,i)=>l($,{children:s},i))}):null,m?l(j,{as:"h3",size:2,title:m||"",html:m||"",className:"collection-shelves-product-title mb-1 line-clamp-2 text-info-primary"}):null,h?l(E,{size:2,className:"lg-desktop:text-lg lg-desktop:h-[26px] desktop:text-base desktop:h-6 collection-shelves-product-description line-clamp-1 h-5 text-sm text-info-primary",html:h||""}):null,l("div",{className:"mb-2 mt-4 flex items-center",children:_?l("div",{className:"tablet:text-2xl text-info-primary text-xl font-bold",children:k?.soldOutText}):a(M,{children:[l("div",{className:"final-price tablet:text-2xl text-info-primary text-xl font-bold",children:o?.availableForSale&&C||""}),l("div",{className:"origin-price tablet:text-xl text-info-secondary ml-1 text-lg font-bold line-through",children:o?.availableForSale&&D||""})]})}),a("div",{className:p("shelf-flex-button-group","lg-desktop:gap-3 flex items-center gap-2",t.direction==="vertical"?"flex-col":""),children:[t?.secondaryButton?l(x,{variant:"secondary",onClick:()=>w(e,t?.index,t),className:`
2
2
  ${t.direction==="vertical"?"w-full":""}
3
- `,children:t?.secondaryButton||""}):null,t?.primaryButton?l(x,{variant:"primary",onClick:()=>k(e,t?.index,t),className:`
3
+ `,children:t?.secondaryButton||""}):null,t?.primaryButton?l(x,{variant:"primary",onClick:()=>S(e,t?.index,t),className:`
4
4
  ${t.direction==="vertical"?"w-full":""}
5
5
  `,children:t?.primaryButton||""}):null]})]})]})},e?.id||e?.handle)};export{te as CollectionShelvesWrapItem};
6
6
  //# sourceMappingURL=CollectionShelvesItem.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/biz-components/CollectionShelves/CollectionShelvesItem.tsx"],
4
- "sourcesContent": ["import { cn } from '../../helpers/utils.js'\nimport Badge from '../../components/badge.js'\nimport { Text } from '../../components/text.js'\nimport Button from '../../components/button.js'\nimport { gaTrack } from '../../shared/track.js'\nimport { useState, useEffect } from 'react'\nimport Picture from '../../components/picture.js'\nimport { Heading } from '../../components/heading.js'\nimport { useAiuiContext } from '../AiuiProvider/index.js'\nimport { trackUrlRef } from '../../shared/trackUrlRef.js'\nimport { formatVariantPrice } from '../ShelfDisplay/shelfDisplay.js'\nimport type { ShelfDisplayItem, ShelfDisplayType } from '../ShelfDisplay/shelfDisplay.js'\n\nconst componentType = 'image'\nconst componentName = 'collectio_shelves'\n\nconst SOLD_OUT_PRICE = 9999999.99\n\nexport const CollectionShelvesWrapItem = ({ data, configuration }: { data: any; configuration?: any }) => {\n const { itemShape } = configuration || {}\n const { locale = 'us', copyWriting } = useAiuiContext()\n\n const onPrimaryButton = (params: ShelfDisplayItem, index: number, data: ShelfDisplayType) =>\n configuration?.event?.primaryButton?.(params, index + 1, data)\n\n const onSecondaryButton = (params: ShelfDisplayItem, index: number, data: ShelfDisplayType) =>\n configuration?.event?.secondaryButton?.(params, index + 1, data)\n\n const variant = data?.variants?.find((item: any) => item?.sku === data?.sku) || data?.variants?.[0] || {}\n\n const isSoldOut = !variant?.availableForSale && variant?.price?.amount === SOLD_OUT_PRICE\n const isShowTag = configuration?.isShowTag\n const isShowOriginalPrice = configuration?.isShowOriginalPrice\n\n const [showTags, setShowTags] = useState<string[]>([])\n const [showImage, setShowImage] = useState<boolean>(false)\n\n // active \u7684 \u901A\u7528\u6298\u6263\n const coupon = variant?.coupons?.[0]\n\n const { price, basePrice, discount } = formatVariantPrice({\n locale: locale,\n amount: isShowOriginalPrice && coupon ? coupon.variant_price4wscode : variant.price,\n baseAmount: isShowOriginalPrice && coupon ? variant.price : 0,\n currencyCode: data?.price?.currencyCode || 'USD',\n })\n\n const handleUrl = () => {\n const sku = data?.sku\n const skuArray = data?.variants\n const findSku = skuArray?.find((item: any) => item?.sku === sku)\n return findSku?.image?.url || skuArray?.[0]?.image?.url || ''\n }\n\n const displayTitle = data?.custom_name || data?.title || data?.name\n const displayDescription = data?.custom_description || data?.description\n\n useEffect(() => {\n let handleTags: string[] = []\n if (discount) {\n const discountTag = `${discount}${configuration?.discounts?.off}`\n handleTags.push(discountTag)\n }\n const newTags = data?.tags\n ?.filter?.((item: string) => item?.startsWith?.('CLtag'))\n ?.map?.((item: string) => item?.replace?.('CLtag:', ''))\n ?.slice?.(0, discount ? 1 : 2)\n setShowTags(handleTags.concat(newTags))\n }, [discount, configuration?.discounts, data?.tags])\n\n return (\n <div\n key={data?.id || data?.handle}\n className={cn(\n itemShape === 'round' ? 'rounded-2xl' : 'rounded-none',\n 'tablet:aspect-h-[360] tablet:aspect-w-[296] laptop:aspect-h-[560] laptop:aspect-w-[544] relative',\n 'bg-[#EAEAEC] tablet:hover:bg-[#FFFFFF] box-border w-full cursor-pointer overflow-hidden duration-300',\n 'md-tablet:h-[360px]',\n {\n 'aiui-dark': data?.custom_theme === 'dark',\n }\n )}\n >\n <div className=\"absolute inset-0 box-border flex flex-col justify-between overflow-hidden\">\n <div\n onMouseEnter={() => setShowImage(true)}\n onMouseLeave={() => setShowImage(false)}\n className={cn(\n 'desktop:px-6 px-4 lg-desktop:mb-3 relative mb-2 inline-block w-full flex-1 overflow-hidden cursor-pointer'\n )}\n >\n <a\n aria-label={displayTitle}\n target={configuration?.target}\n href={trackUrlRef(\n `${locale === 'us' || !locale ? '' : `/${locale}`}/products/${data?.handle}`,\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 alt=\"\"\n source={handleUrl()}\n className=\"desktop:mt-6 mt-4 flex h-full justify-center object-cover [&_img]:w-auto\"\n />\n <Picture\n alt=\"\"\n source={data?.custom_image}\n className={cn(\n showImage ? 'opacity-100' : 'opacity-0',\n 'absolute inset-x-0 top-0 size-full object-cover [&_img]:size-full transition-all duration-300'\n )}\n />\n </a>\n </div>\n <div className=\"flex flex-col justify-end desktop:pb-6 pb-4 desktop:px-6 px-4 flex-1 collection-shelves-product-content\">\n {isShowTag ? (\n <div className=\"mb-1 box-border flex h-8 flex-wrap gap-1 overflow-hidden\">\n {showTags?.map?.((item: any, index: number) => <Badge key={index}>{item}</Badge>)}\n </div>\n ) : null}\n {displayTitle ? (\n <Heading\n as=\"h3\"\n size={2}\n title={displayTitle || ''}\n html={displayTitle || ''}\n className=\"collection-shelves-product-title mb-1 line-clamp-2 text-info-primary\"\n />\n ) : null}\n {displayDescription ? (\n <Text\n size={2}\n className=\"lg-desktop:text-lg lg-desktop:h-[26px] desktop:text-base desktop:h-6 collection-shelves-product-description line-clamp-1 h-5 text-sm text-info-primary\"\n html={displayDescription || ''}\n />\n ) : null}\n <div className=\"mb-2 mt-5 flex items-center\">\n {isSoldOut ? (\n <div className=\"tablet:text-2xl text-info-primary text-xl font-bold\">{copyWriting?.soldOutText}</div>\n ) : (\n <>\n <div className=\"final-price tablet:text-2xl text-info-primary text-xl font-bold\">\n {variant?.availableForSale ? price || '' : ''}\n </div>\n <div className=\"origin-price tablet:text-xl text-info-secondary ml-1 text-lg font-bold line-through\">\n {variant?.availableForSale ? basePrice || '' : ''}\n </div>\n </>\n )}\n </div>\n {/* \u6309\u94AE\u7EC4 */}\n <div\n className={cn(\n 'shelf-flex-button-group',\n 'lg-desktop:gap-3 flex items-center gap-2',\n configuration.direction === 'vertical' ? 'flex-col' : ''\n )}\n >\n {configuration?.secondaryButton ? (\n <Button\n variant=\"secondary\"\n onClick={() => onSecondaryButton(data, configuration?.index, configuration)}\n className={`\n ${configuration.direction === 'vertical' ? 'w-full' : ''}\n `}\n >\n {configuration?.secondaryButton || ''}\n </Button>\n ) : null}\n {configuration?.primaryButton ? (\n <Button\n variant=\"primary\"\n onClick={() => onPrimaryButton(data, configuration?.index, configuration)}\n className={`\n ${configuration.direction === 'vertical' ? 'w-full' : ''}\n `}\n >\n {configuration?.primaryButton || ''}\n </Button>\n ) : null}\n </div>\n </div>\n </div>\n </div>\n )\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { cn } from '../../helpers/utils.js'\nimport Badge from '../../components/badge.js'\nimport { Text } from '../../components/text.js'\nimport Button from '../../components/button.js'\nimport { gaTrack } from '../../shared/track.js'\nimport { useState, useEffect } from 'react'\nimport Picture from '../../components/picture.js'\nimport { Heading } from '../../components/heading.js'\nimport { useAiuiContext } from '../AiuiProvider/index.js'\nimport { trackUrlRef } from '../../shared/trackUrlRef.js'\nimport { formatVariantPrice } from '../ShelfDisplay/shelfDisplay.js'\nimport type { ShelfDisplayItem, ShelfDisplayType } from '../ShelfDisplay/shelfDisplay.js'\n\nconst componentType = 'image'\nconst componentName = 'collectio_shelves'\n\nconst SOLD_OUT_PRICE = 9999999.99\n\nexport const CollectionShelvesWrapItem = ({ data, configuration }: { data: any; configuration?: any }) => {\n const { itemShape } = configuration || {}\n const { locale = 'us', copyWriting } = useAiuiContext()\n\n const onPrimaryButton = (params: ShelfDisplayItem, index: number, data: ShelfDisplayType) =>\n configuration?.event?.primaryButton?.(params, index + 1, data)\n\n const onSecondaryButton = (params: ShelfDisplayItem, index: number, data: ShelfDisplayType) =>\n configuration?.event?.secondaryButton?.(params, index + 1, data)\n\n const variant = data?.variants?.find((item: any) => item?.sku === data?.sku) || data?.variants?.[0] || {}\n\n const isSoldOut = !variant?.availableForSale && variant?.price?.amount === SOLD_OUT_PRICE\n const isShowTag = configuration?.isShowTag\n const isShowOriginalPrice = configuration?.isShowOriginalPrice\n\n const [showTags, setShowTags] = useState<string[]>([])\n const [showImage, setShowImage] = useState<boolean>(false)\n\n // active \u7684 \u901A\u7528\u6298\u6263\n const coupon = variant?.coupons?.[0]\n\n const { price, basePrice, discount } = formatVariantPrice({\n locale: locale,\n amount: isShowOriginalPrice && coupon ? coupon.variant_price4wscode : variant.price,\n baseAmount: isShowOriginalPrice && coupon ? variant.price : 0,\n currencyCode: data?.price?.currencyCode || 'USD',\n })\n\n const handleUrl = () => {\n const sku = data?.sku\n const skuArray = data?.variants\n const findSku = skuArray?.find((item: any) => item?.sku === sku)\n return findSku?.image?.url || skuArray?.[0]?.image?.url || ''\n }\n\n const displayTitle = data?.custom_name || data?.title || data?.name\n const displayDescription = data?.custom_description || data?.description\n\n useEffect(() => {\n let handleTags: string[] = []\n if (discount) {\n const discountTag = `${discount}${configuration?.discounts?.off}`\n handleTags.push(discountTag)\n }\n const newTags = data?.tags\n ?.filter?.((item: string) => item?.startsWith?.('CLtag'))\n ?.map?.((item: string) => item?.replace?.('CLtag:', ''))\n ?.slice?.(0, discount ? 1 : 2)\n setShowTags(handleTags.concat(newTags))\n }, [discount, configuration?.discounts, data?.tags])\n\n return (\n <div\n key={data?.id || data?.handle}\n className={cn(\n itemShape === 'round' ? 'rounded-2xl' : 'rounded-none',\n 'tablet:aspect-h-[360] tablet:aspect-w-[296] laptop:aspect-h-[560] laptop:aspect-w-[544] relative',\n 'bg-[#EAEAEC] tablet:hover:bg-[#FFFFFF] box-border w-full cursor-pointer overflow-hidden duration-300',\n 'md-tablet:h-[360px]',\n {\n 'aiui-dark': data?.custom_theme === 'dark',\n }\n )}\n >\n <div className=\"absolute inset-0 box-border flex flex-col justify-between overflow-hidden\">\n <div\n onMouseEnter={() => setShowImage(true)}\n onMouseLeave={() => setShowImage(false)}\n className={cn(\n 'desktop:px-6 px-4 lg-desktop:mb-3 relative mb-2 inline-block w-full flex-1 overflow-hidden cursor-pointer'\n )}\n >\n <a\n aria-label={displayTitle}\n target={configuration?.target}\n href={trackUrlRef(\n `${locale === 'us' || !locale ? '' : `/${locale}`}/products/${data?.handle}`,\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 alt=\"\"\n source={handleUrl()}\n className=\"desktop:mt-6 mt-4 flex h-full justify-center object-cover [&_img]:w-auto\"\n />\n <Picture\n alt=\"\"\n source={data?.custom_image}\n className={cn(\n showImage ? 'opacity-100' : 'opacity-0',\n 'absolute inset-x-0 top-0 size-full object-cover [&_img]:size-full transition-all duration-300'\n )}\n />\n </a>\n </div>\n <div className=\"flex flex-col justify-end desktop:pb-6 pb-4 desktop:px-6 px-4 flex-1 collection-shelves-product-content\">\n {isShowTag && showTags?.length ? (\n <div className=\"mb-1 box-border flex h-6 flex-wrap gap-1 overflow-hidden\">\n {showTags?.map?.((item: any, index: number) => <Badge key={index}>{item}</Badge>)}\n </div>\n ) : null}\n {displayTitle ? (\n <Heading\n as=\"h3\"\n size={2}\n title={displayTitle || ''}\n html={displayTitle || ''}\n className=\"collection-shelves-product-title mb-1 line-clamp-2 text-info-primary\"\n />\n ) : null}\n {displayDescription ? (\n <Text\n size={2}\n className=\"lg-desktop:text-lg lg-desktop:h-[26px] desktop:text-base desktop:h-6 collection-shelves-product-description line-clamp-1 h-5 text-sm text-info-primary\"\n html={displayDescription || ''}\n />\n ) : null}\n <div className=\"mb-2 mt-4 flex items-center\">\n {isSoldOut ? (\n <div className=\"tablet:text-2xl text-info-primary text-xl font-bold\">{copyWriting?.soldOutText}</div>\n ) : (\n <>\n <div className=\"final-price tablet:text-2xl text-info-primary text-xl font-bold\">\n {variant?.availableForSale ? price || '' : ''}\n </div>\n <div className=\"origin-price tablet:text-xl text-info-secondary ml-1 text-lg font-bold line-through\">\n {variant?.availableForSale ? basePrice || '' : ''}\n </div>\n </>\n )}\n </div>\n {/* \u6309\u94AE\u7EC4 */}\n <div\n className={cn(\n 'shelf-flex-button-group',\n 'lg-desktop:gap-3 flex items-center gap-2',\n configuration.direction === 'vertical' ? 'flex-col' : ''\n )}\n >\n {configuration?.secondaryButton ? (\n <Button\n variant=\"secondary\"\n onClick={() => onSecondaryButton(data, configuration?.index, configuration)}\n className={`\n ${configuration.direction === 'vertical' ? 'w-full' : ''}\n `}\n >\n {configuration?.secondaryButton || ''}\n </Button>\n ) : null}\n {configuration?.primaryButton ? (\n <Button\n variant=\"primary\"\n onClick={() => onPrimaryButton(data, configuration?.index, configuration)}\n className={`\n ${configuration.direction === 'vertical' ? 'w-full' : ''}\n `}\n >\n {configuration?.primaryButton || ''}\n </Button>\n ) : null}\n </div>\n </div>\n </div>\n </div>\n )\n}\n"],
5
+ "mappings": "AA2FU,OAoEI,YAAAA,EAzCF,OAAAC,EA3BF,QAAAC,MAAA,oBA3FV,OAAS,MAAAC,MAAU,yBACnB,OAAOC,MAAW,4BAClB,OAAS,QAAAC,MAAY,2BACrB,OAAOC,MAAY,6BACnB,OAAS,WAAAC,MAAe,wBACxB,OAAS,YAAAC,EAAU,aAAAC,MAAiB,QACpC,OAAOC,MAAa,8BACpB,OAAS,WAAAC,MAAe,8BACxB,OAAS,kBAAAC,MAAsB,2BAC/B,OAAS,eAAAC,MAAmB,8BAC5B,OAAS,sBAAAC,MAA0B,kCAGnC,MAAMC,EAAgB,QAChBC,EAAgB,oBAEhBC,EAAiB,aAEVC,GAA4B,CAAC,CAAE,KAAAC,EAAM,cAAAC,CAAc,IAA0C,CACxG,KAAM,CAAE,UAAAC,CAAU,EAAID,GAAiB,CAAC,EAClC,CAAE,OAAAE,EAAS,KAAM,YAAAC,CAAY,EAAIX,EAAe,EAEhDY,EAAkB,CAACC,EAA0BC,EAAeP,IAChEC,GAAe,OAAO,gBAAgBK,EAAQC,EAAQ,EAAGP,CAAI,EAEzDQ,EAAoB,CAACF,EAA0BC,EAAeP,IAClEC,GAAe,OAAO,kBAAkBK,EAAQC,EAAQ,EAAGP,CAAI,EAE3DS,EAAUT,GAAM,UAAU,KAAMU,GAAcA,GAAM,MAAQV,GAAM,GAAG,GAAKA,GAAM,WAAW,CAAC,GAAK,CAAC,EAElGW,EAAY,CAACF,GAAS,kBAAoBA,GAAS,OAAO,SAAWX,EACrEc,EAAYX,GAAe,UAC3BY,EAAsBZ,GAAe,oBAErC,CAACa,EAAUC,CAAW,EAAI1B,EAAmB,CAAC,CAAC,EAC/C,CAAC2B,EAAWC,CAAY,EAAI5B,EAAkB,EAAK,EAGnD6B,EAAST,GAAS,UAAU,CAAC,EAE7B,CAAE,MAAAU,EAAO,UAAAC,EAAW,SAAAC,CAAS,EAAI1B,EAAmB,CACxD,OAAQQ,EACR,OAAQU,GAAuBK,EAASA,EAAO,qBAAuBT,EAAQ,MAC9E,WAAYI,GAAuBK,EAAST,EAAQ,MAAQ,EAC5D,aAAcT,GAAM,OAAO,cAAgB,KAC7C,CAAC,EAEKsB,EAAY,IAAM,CACtB,MAAMC,EAAMvB,GAAM,IACZwB,EAAWxB,GAAM,SAEvB,OADgBwB,GAAU,KAAMd,GAAcA,GAAM,MAAQa,CAAG,GAC/C,OAAO,KAAOC,IAAW,CAAC,GAAG,OAAO,KAAO,EAC7D,EAEMC,EAAezB,GAAM,aAAeA,GAAM,OAASA,GAAM,KACzD0B,EAAqB1B,GAAM,oBAAsBA,GAAM,YAE7D,OAAAV,EAAU,IAAM,CACd,IAAIqC,EAAuB,CAAC,EAC5B,GAAIN,EAAU,CACZ,MAAMO,EAAc,GAAGP,CAAQ,GAAGpB,GAAe,WAAW,GAAG,GAC/D0B,EAAW,KAAKC,CAAW,CAC7B,CACA,MAAMC,EAAU7B,GAAM,MAClB,SAAUU,GAAiBA,GAAM,aAAa,OAAO,CAAC,GACtD,MAAOA,GAAiBA,GAAM,UAAU,SAAU,EAAE,CAAC,GACrD,QAAQ,EAAGW,EAAW,EAAI,CAAC,EAC/BN,EAAYY,EAAW,OAAOE,CAAO,CAAC,CACxC,EAAG,CAACR,EAAUpB,GAAe,UAAWD,GAAM,IAAI,CAAC,EAGjDlB,EAAC,OAEC,UAAWE,EACTkB,IAAc,QAAU,cAAgB,eACxC,mGACA,uGACA,sBACA,CACE,YAAaF,GAAM,eAAiB,MACtC,CACF,EAEA,SAAAjB,EAAC,OAAI,UAAU,4EACb,UAAAD,EAAC,OACC,aAAc,IAAMmC,EAAa,EAAI,EACrC,aAAc,IAAMA,EAAa,EAAK,EACtC,UAAWjC,EACT,2GACF,EAEA,SAAAD,EAAC,KACC,aAAY0C,EACZ,OAAQxB,GAAe,OACvB,KAAMP,EACJ,GAAGS,IAAW,MAAQ,CAACA,EAAS,GAAK,IAAIA,CAAM,EAAE,aAAaH,GAAM,MAAM,GAC1E,GAAGJ,CAAa,IAAIC,CAAa,EACnC,EACA,QAAS,IAAM,CACbT,EAAQ,CACN,MAAO,WACP,WAAY,cACZ,iBAAkB,CAChB,WAAY,YACZ,eAAgB,mBAChB,MAAO,CACL,CACE,QAASY,GAAM,KAAOS,GAAS,IAC/B,UAAWT,GAAM,KACjB,aAAcS,GAAS,KACvB,MAAOA,GAAS,MAChB,MAAOR,GAAe,MAAQ,CAChC,CACF,CACF,CACF,CAAC,CACH,EAEA,UAAAnB,EAACS,EAAA,CACC,IAAI,GACJ,OAAQ+B,EAAU,EAClB,UAAU,2EACZ,EACAxC,EAACS,EAAA,CACC,IAAI,GACJ,OAAQS,GAAM,aACd,UAAWhB,EACTgC,EAAY,cAAgB,YAC5B,+FACF,EACF,GACF,EACF,EACAjC,EAAC,OAAI,UAAU,0GACZ,UAAA6B,GAAaE,GAAU,OACtBhC,EAAC,OAAI,UAAU,2DACZ,SAAAgC,GAAU,MAAM,CAACJ,EAAWH,IAAkBzB,EAACG,EAAA,CAAmB,SAAAyB,GAARH,CAAa,CAAQ,EAClF,EACE,KACHkB,EACC3C,EAACU,EAAA,CACC,GAAG,KACH,KAAM,EACN,MAAOiC,GAAgB,GACvB,KAAMA,GAAgB,GACtB,UAAU,uEACZ,EACE,KACHC,EACC5C,EAACI,EAAA,CACC,KAAM,EACN,UAAU,yJACV,KAAMwC,GAAsB,GAC9B,EACE,KACJ5C,EAAC,OAAI,UAAU,8BACZ,SAAA6B,EACC7B,EAAC,OAAI,UAAU,sDAAuD,SAAAsB,GAAa,YAAY,EAE/FrB,EAAAF,EAAA,CACE,UAAAC,EAAC,OAAI,UAAU,kEACZ,SAAA2B,GAAS,kBAAmBU,GAAS,GACxC,EACArC,EAAC,OAAI,UAAU,sFACZ,SAAA2B,GAAS,kBAAmBW,GAAa,GAC5C,GACF,EAEJ,EAEArC,EAAC,OACC,UAAWC,EACT,0BACA,2CACAiB,EAAc,YAAc,WAAa,WAAa,EACxD,EAEC,UAAAA,GAAe,gBACdnB,EAACK,EAAA,CACC,QAAQ,YACR,QAAS,IAAMqB,EAAkBR,EAAMC,GAAe,MAAOA,CAAa,EAC1E,UAAW;AAAA,kBACTA,EAAc,YAAc,WAAa,SAAW,EAAE;AAAA,gBAGvD,SAAAA,GAAe,iBAAmB,GACrC,EACE,KACHA,GAAe,cACdnB,EAACK,EAAA,CACC,QAAQ,UACR,QAAS,IAAMkB,EAAgBL,EAAMC,GAAe,MAAOA,CAAa,EACxE,UAAW;AAAA,gBACXA,EAAc,YAAc,WAAa,SAAW,EAAE;AAAA,cAGrD,SAAAA,GAAe,eAAiB,GACnC,EACE,MACN,GACF,GACF,GAjIKD,GAAM,IAAMA,GAAM,MAkIzB,CAEJ",
6
6
  "names": ["Fragment", "jsx", "jsxs", "cn", "Badge", "Text", "Button", "gaTrack", "useState", "useEffect", "Picture", "Heading", "useAiuiContext", "trackUrlRef", "formatVariantPrice", "componentType", "componentName", "SOLD_OUT_PRICE", "CollectionShelvesWrapItem", "data", "configuration", "itemShape", "locale", "copyWriting", "onPrimaryButton", "params", "index", "onSecondaryButton", "variant", "item", "isSoldOut", "isShowTag", "isShowOriginalPrice", "showTags", "setShowTags", "showImage", "setShowImage", "coupon", "price", "basePrice", "discount", "handleUrl", "sku", "skuArray", "displayTitle", "displayDescription", "handleTags", "discountTag", "newTags"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{jsx as a,jsxs as m}from"react/jsx-runtime";import{cn as D}from"../../helpers/utils.js";import{useMediaQuery as I}from"react-responsive";import"../Paginator/index.js";import N from"./FilterCardWrapItem";import{useState as M,useEffect as w}from"react";import{cloneDeep as L}from"es-toolkit";function j(y){const{shopifyData:f={},total:k,result:n,closeFilter:d,page:g,metafields:v,onPrimaryChange:P,onSecondaryChange:C,onNextPage:h,onPrevPage:F}=y,{advertisingSpace:x}=v,{buttonText:S}=f,i=x||f?.advertisingSpace,[p,u]=M([]),r=I({query:"(max-width: 768px)"}),b=s=>{const e=L(s||[]);if(i){const t=e.findIndex(l=>l.mImage);if(t===-1){const l=Math.min(d?i?.maxLocation||7:i?.minLocation||5,e.length);e.splice(l,0,i)}else{e.splice(t,1);const l=Math.min(d?i?.maxLocation||7:i?.minLocation||5,e.length);e.splice(l,0,i)}}return e};return w(()=>{(n?.slug||n?.id)&&((g===1||!r)&&u([]),n?.products&&u(s=>{const e=n.products?.filter?.(o=>!s.some(c=>c.id===o.id));let t=[...s,...e];const l=t.filter(o=>!(!o?.metafields?.seoSetting?.noindex&&o.availableForSale&&o?.variants?.some(c=>c.availableForSale)));return t=t.filter(o=>!o?.metafields?.seoSetting?.noindex&&o.availableForSale&&o?.variants?.some(c=>c.availableForSale)),t.push(...l),(g===1&&!r||r)&&(t=b(t)),t}))},[n?.products,g,r,x]),w(()=>{p?.length&&g===1&&!r&&u(b(p))},[d]),m("div",{className:"filter-card-wrap-container",children:[a("div",{className:D("min-h-[60vh] w-full grid gap-3 grid-cols-2",{"laptop:grid-cols-4 tablet:grid-cols-3":d&&!r,"laptop:grid-cols-3 tablet:grid-cols-2":!d&&!r},"filter-card-wrap"),children:p?.map?.(s=>a(N,{data:s,buttonText:S,metafields:v,onPrimaryChange:(e,t)=>P?.(e,t),onSecondaryChange:(e,t)=>C?.(e,t)},s.id))}),r?m("div",{onClick:()=>{h?.(n?.pageInfo?.endCursor)},className:"mt-6 text-base font-bold cursor-pointer flex items-center justify-center gap-1 filter-card-wrap-more",children:[a("span",{children:"View More"}),a("div",{className:"size-[18px]",children:a("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon",children:a("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m19.5 8.25-7.5 7.5-7.5-7.5"})})})]}):null,!r&&k>18?m("div",{className:"mt-6 flex items-center justify-end gap-4 cursor-pointer",children:[a("button",{name:"perv page",disabled:!n?.pageInfo?.hasPreviousPage,className:"flex items-center justify-center lg-desktop:size-14 size-10 rounded-full leading-tight overflow-hidden bg-transparent border-[1.5px] border-[#3D3D3F]",onClick:()=>{F?.(n?.pageInfo?.startCursor)},children:a("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",children:a("path",{d:"M12 5L7 10L12 15",stroke:"#3D3D3F","stroke-width":"1.66667","stroke-linecap":"round","stroke-linejoin":"round"})})}),a("button",{name:"next page",className:"flex items-center justify-center lg-desktop:size-14 size-10 rounded-full leading-tight overflow-hidden bg-transparent border-[1.5px] border-[#3D3D3F]",disabled:!n?.pageInfo?.hasNextPage,onClick:()=>{h?.(n?.pageInfo?.endCursor)},children:a("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",children:a("path",{d:"M7.5 5L12.5 10L7.5 15",stroke:"#3D3D3F","stroke-width":"1.66667","stroke-linecap":"round","stroke-linejoin":"round"})})})]}):null]})}export{j as default};
1
+ import{jsx as a,jsxs as m}from"react/jsx-runtime";import{cn as I}from"../../helpers/utils.js";import{useMediaQuery as M}from"react-responsive";import"../Paginator/index.js";import N from"./FilterCardWrapItem";import{useState as L,useEffect as w}from"react";import{cloneDeep as j}from"es-toolkit";function z(y){const{shopifyData:f={},total:k,result:n,closeFilter:d,page:g,metafields:v,onPrimaryChange:P,onSecondaryChange:C,onNextPage:h,onPrevPage:F}=y,{advertisingSpace:x}=v,{buttonText:S,loadMoreText:D}=f,i=x||f?.advertisingSpace,[p,u]=L([]),o=M({query:"(max-width: 768px)"}),b=s=>{const e=j(s||[]);if(i){const t=e.findIndex(l=>l.mImage);if(t===-1){const l=Math.min(d?i?.maxLocation||7:i?.minLocation||5,e.length);e.splice(l,0,i)}else{e.splice(t,1);const l=Math.min(d?i?.maxLocation||7:i?.minLocation||5,e.length);e.splice(l,0,i)}}return e};return w(()=>{(n?.slug||n?.id)&&((g===1||!o)&&u([]),n?.products&&u(s=>{const e=n.products?.filter?.(r=>!s.some(c=>c.id===r.id));let t=[...s,...e];const l=t.filter(r=>!(!r?.metafields?.seoSetting?.noindex&&r.availableForSale&&r?.variants?.some(c=>c.availableForSale)));return t=t.filter(r=>!r?.metafields?.seoSetting?.noindex&&r.availableForSale&&r?.variants?.some(c=>c.availableForSale)),t.push(...l),(g===1&&!o||o)&&(t=b(t)),t}))},[n?.products,g,o,x]),w(()=>{p?.length&&g===1&&!o&&u(b(p))},[d]),m("div",{className:"filter-card-wrap-container",children:[a("div",{className:I("min-h-[60vh] w-full grid gap-3 grid-cols-2",{"laptop:grid-cols-4 tablet:grid-cols-3":d&&!o,"laptop:grid-cols-3 tablet:grid-cols-2":!d&&!o},"filter-card-wrap"),children:p?.map?.(s=>a(N,{data:s,buttonText:S,metafields:v,onPrimaryChange:(e,t)=>P?.(e,t),onSecondaryChange:(e,t)=>C?.(e,t)},s.id))}),o?m("div",{onClick:()=>{h?.(n?.pageInfo?.endCursor)},className:"mt-6 text-base font-bold cursor-pointer flex items-center justify-center gap-1 filter-card-wrap-more",children:[a("span",{children:D||"View More"}),a("div",{className:"size-[18px]",children:a("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon",children:a("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m19.5 8.25-7.5 7.5-7.5-7.5"})})})]}):null,!o&&k>18?m("div",{className:"mt-6 flex items-center justify-end gap-4 cursor-pointer",children:[a("button",{name:"perv page",disabled:!n?.pageInfo?.hasPreviousPage,className:"flex items-center justify-center lg-desktop:size-14 size-10 rounded-full leading-tight overflow-hidden bg-transparent border-[1.5px] border-[#3D3D3F]",onClick:()=>{F?.(n?.pageInfo?.startCursor)},children:a("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",children:a("path",{d:"M12 5L7 10L12 15",stroke:"#3D3D3F","stroke-width":"1.66667","stroke-linecap":"round","stroke-linejoin":"round"})})}),a("button",{name:"next page",className:"flex items-center justify-center lg-desktop:size-14 size-10 rounded-full leading-tight overflow-hidden bg-transparent border-[1.5px] border-[#3D3D3F]",disabled:!n?.pageInfo?.hasNextPage,onClick:()=>{h?.(n?.pageInfo?.endCursor)},children:a("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",children:a("path",{d:"M7.5 5L12.5 10L7.5 15",stroke:"#3D3D3F","stroke-width":"1.66667","stroke-linecap":"round","stroke-linejoin":"round"})})})]}):null]})}export{z as default};
2
2
  //# sourceMappingURL=FilterCardWrap.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/biz-components/CollectionsFilters/FilterCardWrap.tsx"],
4
- "sourcesContent": ["import { cn } from '../../helpers/utils.js'\nimport { useMediaQuery } from 'react-responsive'\nimport Paginator from '../Paginator/index.js'\nimport FilterCardWrapItem from './FilterCardWrapItem'\nimport { useState, useEffect } from 'react'\nimport { cloneDeep } from 'es-toolkit';\n\ntype FilterCardWrapProps = {\n result?: any\n total: number\n shopifyData?: any\n currentPage?: number\n closeFilter: boolean\n page: number\n metafields: any\n onPrimaryChange?: (item: any, sku: string) => void\n onSecondaryChange?: (item: any, sku: string) => void\n onNextPage?: (v: string) => void\n onPrevPage?: (v: string) => void\n}\n\nexport default function FilterCardWrap(props: FilterCardWrapProps) {\n const { shopifyData = {}, total, result, closeFilter, page, metafields, onPrimaryChange, onSecondaryChange, onNextPage, onPrevPage } = props\n const { advertisingSpace } = metafields\n const { buttonText } = shopifyData\n\n const currentAdvertisingSpace = advertisingSpace || shopifyData?.advertisingSpace\n\n const [data, setData] = useState<any[]>([])\n\n const isMobile = useMediaQuery({ query: '(max-width: 768px)' })\n\n const handleAdvertisingSpace = (products: any[]) => {\n const updatedProducts = cloneDeep(products || [])\n if (currentAdvertisingSpace) {\n const findIndex = updatedProducts.findIndex(item => item.mImage)\n if (findIndex === -1) {\n const insertIndex = closeFilter\n ? Math.min(currentAdvertisingSpace?.maxLocation || 7, updatedProducts.length)\n : Math.min(currentAdvertisingSpace?.minLocation || 5, updatedProducts.length)\n updatedProducts.splice(insertIndex, 0, currentAdvertisingSpace)\n } else {\n updatedProducts.splice(findIndex, 1)\n const insertIndex = closeFilter\n ? Math.min(currentAdvertisingSpace?.maxLocation || 7, updatedProducts.length)\n : Math.min(currentAdvertisingSpace?.minLocation || 5, updatedProducts.length)\n updatedProducts.splice(insertIndex, 0, currentAdvertisingSpace)\n }\n }\n return updatedProducts\n }\n\n // \u5904\u7406\u4EA7\u54C1\u6570\u636E\n useEffect(() => {\n if (result?.slug || result?.id) {\n (page === 1 || !isMobile) && setData([])\n if (result?.products) {\n setData(prevProducts => {\n // \u68C0\u67E5\u662F\u5426\u5DF2\u7ECF\u5B58\u5728\u4E8E prevProducts \u4E2D\uFF0C\u907F\u514D\u91CD\u590D\u6DFB\u52A0\n const newProducts = result.products?.filter?.(\n (product: { id: any }) => !prevProducts.some(prev => prev.id === product.id)\n )\n let updatedProducts = [...prevProducts, ...newProducts]\n /** \u5DF2\u552E\u5B8C\u7684\u4EA7\u54C1 */\n const soldOutProducts = updatedProducts.filter(\n item =>\n !(\n !item?.metafields?.seoSetting?.noindex &&\n item.availableForSale &&\n item?.variants?.some((item: { availableForSale: any }) => item.availableForSale)\n )\n )\n // \u8FC7\u6EE4\u6389 availableForSale \u4E3A false \u7684\u4EA7\u54C1\n updatedProducts = updatedProducts.filter(\n item =>\n !item?.metafields?.seoSetting?.noindex &&\n item.availableForSale &&\n item?.variants?.some((item: { availableForSale: any }) => item.availableForSale)\n )\n // \u5C06\u5DF2\u552E\u5B8C\u7684\u4EA7\u54C1\u6DFB\u52A0\u5230\u6700\u540E\n updatedProducts.push(...soldOutProducts)\n // \u5982\u679C advertisingSpace \u5B58\u5728\u4E14\u5C1A\u672A\u6DFB\u52A0\u5230\u6570\u7EC4\u4E2D\n if ((page === 1 && !isMobile) || isMobile) {\n updatedProducts = handleAdvertisingSpace(updatedProducts)\n }\n return updatedProducts\n })\n }\n }\n }, [result?.products, page, isMobile, advertisingSpace])\n\n useEffect(() => {\n if(!data?.length) return\n if(page === 1 && !isMobile) {\n setData(handleAdvertisingSpace(data))\n }\n }, [closeFilter])\n\n return (\n <div className=\"filter-card-wrap-container\">\n <div\n className={cn(\n 'min-h-[60vh] w-full grid gap-3 grid-cols-2',\n {\n 'laptop:grid-cols-4 tablet:grid-cols-3': closeFilter && !isMobile,\n 'laptop:grid-cols-3 tablet:grid-cols-2': !closeFilter && !isMobile,\n },\n 'filter-card-wrap'\n )}\n >\n {data?.map?.(item => (\n <FilterCardWrapItem\n key={item.id}\n data={item}\n buttonText={buttonText}\n metafields={metafields}\n onPrimaryChange={(e, data) => onPrimaryChange?.(e, data)}\n onSecondaryChange={(e, data) => onSecondaryChange?.(e, data)}\n />\n ))}\n </div>\n {isMobile ? (\n <div\n onClick={() => {\n onNextPage?.(result?.pageInfo?.endCursor)\n }}\n className=\"mt-6 text-base font-bold cursor-pointer flex items-center justify-center gap-1 filter-card-wrap-more\"\n >\n <span>View More</span>\n <div className=\"size-[18px]\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke-width=\"1.5\"\n stroke=\"currentColor\"\n aria-hidden=\"true\"\n data-slot=\"icon\"\n >\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"m19.5 8.25-7.5 7.5-7.5-7.5\" />\n </svg>\n </div>\n </div>\n ) : null}\n {!isMobile && total > 18 ? (\n <div className=\"mt-6 flex items-center justify-end gap-4 cursor-pointer\">\n <button\n name=\"perv page\"\n disabled={!result?.pageInfo?.hasPreviousPage}\n className=\"flex items-center justify-center lg-desktop:size-14 size-10 rounded-full leading-tight overflow-hidden bg-transparent border-[1.5px] border-[#3D3D3F]\"\n onClick={() => {\n onPrevPage?.(result?.pageInfo?.startCursor)\n }}\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\n <path\n d=\"M12 5L7 10L12 15\"\n stroke=\"#3D3D3F\"\n stroke-width=\"1.66667\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </button>\n <button\n name=\"next page\"\n className=\"flex items-center justify-center lg-desktop:size-14 size-10 rounded-full leading-tight overflow-hidden bg-transparent border-[1.5px] border-[#3D3D3F]\"\n disabled={!result?.pageInfo?.hasNextPage}\n onClick={() => {\n onNextPage?.(result?.pageInfo?.endCursor)\n }}\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\n <path\n d=\"M7.5 5L12.5 10L7.5 15\"\n stroke=\"#3D3D3F\"\n stroke-width=\"1.66667\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </button>\n </div>\n ) : // <Paginator\n // className=\"mt-6\"\n // currentPage={currentPage}\n // onPageChange={(v: number) => {\n // setData([])\n // if(v > currentPage) {\n // onNextPage?.(result?.pageInfo?.endCursor)\n // } else {\n // onPrevPage?.(result?.pageInfo?.startCursor)\n // }\n // setCurrentPage(v)\n // }}\n // total={100}\n // />\n null}\n </div>\n )\n}"],
5
- "mappings": "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",
6
- "names": ["jsx", "jsxs", "cn", "useMediaQuery", "FilterCardWrapItem", "useState", "useEffect", "cloneDeep", "FilterCardWrap", "props", "shopifyData", "total", "result", "closeFilter", "page", "metafields", "onPrimaryChange", "onSecondaryChange", "onNextPage", "onPrevPage", "advertisingSpace", "buttonText", "currentAdvertisingSpace", "data", "setData", "isMobile", "handleAdvertisingSpace", "products", "updatedProducts", "findIndex", "item", "insertIndex", "prevProducts", "newProducts", "product", "prev", "soldOutProducts"]
4
+ "sourcesContent": ["import { cn } from '../../helpers/utils.js'\nimport { useMediaQuery } from 'react-responsive'\nimport Paginator from '../Paginator/index.js'\nimport FilterCardWrapItem from './FilterCardWrapItem'\nimport { useState, useEffect } from 'react'\nimport { cloneDeep } from 'es-toolkit';\n\ntype FilterCardWrapProps = {\n result?: any\n total: number\n shopifyData?: any\n currentPage?: number\n closeFilter: boolean\n page: number\n metafields: any\n onPrimaryChange?: (item: any, sku: string) => void\n onSecondaryChange?: (item: any, sku: string) => void\n onNextPage?: (v: string) => void\n onPrevPage?: (v: string) => void\n}\n\nexport default function FilterCardWrap(props: FilterCardWrapProps) {\n const { shopifyData = {}, total, result, closeFilter, page, metafields, onPrimaryChange, onSecondaryChange, onNextPage, onPrevPage } = props\n const { advertisingSpace } = metafields\n const { buttonText, loadMoreText } = shopifyData\n\n const currentAdvertisingSpace = advertisingSpace || shopifyData?.advertisingSpace\n\n const [data, setData] = useState<any[]>([])\n\n const isMobile = useMediaQuery({ query: '(max-width: 768px)' })\n\n const handleAdvertisingSpace = (products: any[]) => {\n const updatedProducts = cloneDeep(products || [])\n if (currentAdvertisingSpace) {\n const findIndex = updatedProducts.findIndex(item => item.mImage)\n if (findIndex === -1) {\n const insertIndex = closeFilter\n ? Math.min(currentAdvertisingSpace?.maxLocation || 7, updatedProducts.length)\n : Math.min(currentAdvertisingSpace?.minLocation || 5, updatedProducts.length)\n updatedProducts.splice(insertIndex, 0, currentAdvertisingSpace)\n } else {\n updatedProducts.splice(findIndex, 1)\n const insertIndex = closeFilter\n ? Math.min(currentAdvertisingSpace?.maxLocation || 7, updatedProducts.length)\n : Math.min(currentAdvertisingSpace?.minLocation || 5, updatedProducts.length)\n updatedProducts.splice(insertIndex, 0, currentAdvertisingSpace)\n }\n }\n return updatedProducts\n }\n\n // \u5904\u7406\u4EA7\u54C1\u6570\u636E\n useEffect(() => {\n if (result?.slug || result?.id) {\n (page === 1 || !isMobile) && setData([])\n if (result?.products) {\n setData(prevProducts => {\n // \u68C0\u67E5\u662F\u5426\u5DF2\u7ECF\u5B58\u5728\u4E8E prevProducts \u4E2D\uFF0C\u907F\u514D\u91CD\u590D\u6DFB\u52A0\n const newProducts = result.products?.filter?.(\n (product: { id: any }) => !prevProducts.some(prev => prev.id === product.id)\n )\n let updatedProducts = [...prevProducts, ...newProducts]\n /** \u5DF2\u552E\u5B8C\u7684\u4EA7\u54C1 */\n const soldOutProducts = updatedProducts.filter(\n item =>\n !(\n !item?.metafields?.seoSetting?.noindex &&\n item.availableForSale &&\n item?.variants?.some((item: { availableForSale: any }) => item.availableForSale)\n )\n )\n // \u8FC7\u6EE4\u6389 availableForSale \u4E3A false \u7684\u4EA7\u54C1\n updatedProducts = updatedProducts.filter(\n item =>\n !item?.metafields?.seoSetting?.noindex &&\n item.availableForSale &&\n item?.variants?.some((item: { availableForSale: any }) => item.availableForSale)\n )\n // \u5C06\u5DF2\u552E\u5B8C\u7684\u4EA7\u54C1\u6DFB\u52A0\u5230\u6700\u540E\n updatedProducts.push(...soldOutProducts)\n // \u5982\u679C advertisingSpace \u5B58\u5728\u4E14\u5C1A\u672A\u6DFB\u52A0\u5230\u6570\u7EC4\u4E2D\n if ((page === 1 && !isMobile) || isMobile) {\n updatedProducts = handleAdvertisingSpace(updatedProducts)\n }\n return updatedProducts\n })\n }\n }\n }, [result?.products, page, isMobile, advertisingSpace])\n\n useEffect(() => {\n if(!data?.length) return\n if(page === 1 && !isMobile) {\n setData(handleAdvertisingSpace(data))\n }\n }, [closeFilter])\n\n return (\n <div className=\"filter-card-wrap-container\">\n <div\n className={cn(\n 'min-h-[60vh] w-full grid gap-3 grid-cols-2',\n {\n 'laptop:grid-cols-4 tablet:grid-cols-3': closeFilter && !isMobile,\n 'laptop:grid-cols-3 tablet:grid-cols-2': !closeFilter && !isMobile,\n },\n 'filter-card-wrap'\n )}\n >\n {data?.map?.(item => (\n <FilterCardWrapItem\n key={item.id}\n data={item}\n buttonText={buttonText}\n metafields={metafields}\n onPrimaryChange={(e, data) => onPrimaryChange?.(e, data)}\n onSecondaryChange={(e, data) => onSecondaryChange?.(e, data)}\n />\n ))}\n </div>\n {isMobile ? (\n <div\n onClick={() => {\n onNextPage?.(result?.pageInfo?.endCursor)\n }}\n className=\"mt-6 text-base font-bold cursor-pointer flex items-center justify-center gap-1 filter-card-wrap-more\"\n >\n <span>{loadMoreText || 'View More'}</span>\n <div className=\"size-[18px]\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke-width=\"1.5\"\n stroke=\"currentColor\"\n aria-hidden=\"true\"\n data-slot=\"icon\"\n >\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"m19.5 8.25-7.5 7.5-7.5-7.5\" />\n </svg>\n </div>\n </div>\n ) : null}\n {!isMobile && total > 18 ? (\n <div className=\"mt-6 flex items-center justify-end gap-4 cursor-pointer\">\n <button\n name=\"perv page\"\n disabled={!result?.pageInfo?.hasPreviousPage}\n className=\"flex items-center justify-center lg-desktop:size-14 size-10 rounded-full leading-tight overflow-hidden bg-transparent border-[1.5px] border-[#3D3D3F]\"\n onClick={() => {\n onPrevPage?.(result?.pageInfo?.startCursor)\n }}\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\n <path\n d=\"M12 5L7 10L12 15\"\n stroke=\"#3D3D3F\"\n stroke-width=\"1.66667\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </button>\n <button\n name=\"next page\"\n className=\"flex items-center justify-center lg-desktop:size-14 size-10 rounded-full leading-tight overflow-hidden bg-transparent border-[1.5px] border-[#3D3D3F]\"\n disabled={!result?.pageInfo?.hasNextPage}\n onClick={() => {\n onNextPage?.(result?.pageInfo?.endCursor)\n }}\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\n <path\n d=\"M7.5 5L12.5 10L7.5 15\"\n stroke=\"#3D3D3F\"\n stroke-width=\"1.66667\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </button>\n </div>\n ) : // <Paginator\n // className=\"mt-6\"\n // currentPage={currentPage}\n // onPageChange={(v: number) => {\n // setData([])\n // if(v > currentPage) {\n // onNextPage?.(result?.pageInfo?.endCursor)\n // } else {\n // onPrevPage?.(result?.pageInfo?.startCursor)\n // }\n // setCurrentPage(v)\n // }}\n // total={100}\n // />\n null}\n </div>\n )\n}"],
5
+ "mappings": "AA+GU,cAAAA,EAWF,QAAAC,MAXE,oBA/GV,OAAS,MAAAC,MAAU,yBACnB,OAAS,iBAAAC,MAAqB,mBAC9B,MAAsB,wBACtB,OAAOC,MAAwB,uBAC/B,OAAS,YAAAC,EAAU,aAAAC,MAAiB,QACpC,OAAS,aAAAC,MAAiB,aAgBX,SAARC,EAAgCC,EAA4B,CACjE,KAAM,CAAE,YAAAC,EAAc,CAAC,EAAG,MAAAC,EAAO,OAAAC,EAAQ,YAAAC,EAAa,KAAAC,EAAM,WAAAC,EAAY,gBAAAC,EAAiB,kBAAAC,EAAmB,WAAAC,EAAY,WAAAC,CAAW,EAAIV,EACjI,CAAE,iBAAAW,CAAiB,EAAIL,EACvB,CAAE,WAAAM,EAAY,aAAAC,CAAa,EAAIZ,EAE/Ba,EAA0BH,GAAoBV,GAAa,iBAE3D,CAACc,EAAMC,CAAO,EAAIpB,EAAgB,CAAC,CAAC,EAEpCqB,EAAWvB,EAAc,CAAE,MAAO,oBAAqB,CAAC,EAExDwB,EAA0BC,GAAoB,CAClD,MAAMC,EAAkBtB,EAAUqB,GAAY,CAAC,CAAC,EAChD,GAAIL,EAAyB,CAC3B,MAAMO,EAAYD,EAAgB,UAAUE,GAAQA,EAAK,MAAM,EAC/D,GAAID,IAAc,GAAI,CACpB,MAAME,EACF,KAAK,IADWnB,EACPU,GAAyB,aAAe,EACxCA,GAAyB,aAAe,EADGM,EAAgB,MAAM,EAE9EA,EAAgB,OAAOG,EAAa,EAAGT,CAAuB,CAChE,KAAO,CACLM,EAAgB,OAAOC,EAAW,CAAC,EACnC,MAAME,EACF,KAAK,IADWnB,EACPU,GAAyB,aAAe,EACxCA,GAAyB,aAAe,EADGM,EAAgB,MAAM,EAE9EA,EAAgB,OAAOG,EAAa,EAAGT,CAAuB,CAChE,CACF,CACA,OAAOM,CACT,EAGA,OAAAvB,EAAU,IAAM,EACVM,GAAQ,MAAQA,GAAQ,OACzBE,IAAS,GAAK,CAACY,IAAaD,EAAQ,CAAC,CAAC,EACnCb,GAAQ,UACVa,EAAQQ,GAAgB,CAEtB,MAAMC,EAActB,EAAO,UAAU,SAClCuB,GAAyB,CAACF,EAAa,KAAKG,GAAQA,EAAK,KAAOD,EAAQ,EAAE,CAC7E,EACA,IAAIN,EAAkB,CAAC,GAAGI,EAAc,GAAGC,CAAW,EAEtD,MAAMG,EAAkBR,EAAgB,OACtCE,GACE,EACE,CAACA,GAAM,YAAY,YAAY,SAC/BA,EAAK,kBACLA,GAAM,UAAU,KAAMA,GAAoCA,EAAK,gBAAgB,EAErF,EAEA,OAAAF,EAAkBA,EAAgB,OAChCE,GACE,CAACA,GAAM,YAAY,YAAY,SAC/BA,EAAK,kBACLA,GAAM,UAAU,KAAMA,GAAoCA,EAAK,gBAAgB,CACnF,EAEAF,EAAgB,KAAK,GAAGQ,CAAe,GAElCvB,IAAS,GAAK,CAACY,GAAaA,KAC/BG,EAAkBF,EAAuBE,CAAe,GAEnDA,CACT,CAAC,EAGP,EAAG,CAACjB,GAAQ,SAAUE,EAAMY,EAAUN,CAAgB,CAAC,EAEvDd,EAAU,IAAM,CACVkB,GAAM,QACPV,IAAS,GAAK,CAACY,GAChBD,EAAQE,EAAuBH,CAAI,CAAC,CAExC,EAAG,CAACX,CAAW,CAAC,EAGdZ,EAAC,OAAI,UAAU,6BACb,UAAAD,EAAC,OACC,UAAWE,EACT,6CACA,CACE,wCAAyCW,GAAe,CAACa,EACzD,wCAAyC,CAACb,GAAe,CAACa,CAC5D,EACA,kBACF,EAEC,SAAAF,GAAM,MAAMO,GACX/B,EAACI,EAAA,CAEC,KAAM2B,EACN,WAAYV,EACZ,WAAYN,EACZ,gBAAiB,CAAC,EAAGS,IAASR,IAAkB,EAAGQ,CAAI,EACvD,kBAAmB,CAAC,EAAGA,IAASP,IAAoB,EAAGO,CAAI,GALtDO,EAAK,EAMZ,CACD,EACH,EACCL,EACCzB,EAAC,OACC,QAAS,IAAM,CACbiB,IAAaN,GAAQ,UAAU,SAAS,CAC1C,EACA,UAAU,uGAEV,UAAAZ,EAAC,QAAM,SAAAsB,GAAgB,YAAY,EACnCtB,EAAC,OAAI,UAAU,cACb,SAAAA,EAAC,OACC,MAAM,6BACN,KAAK,OACL,QAAQ,YACR,eAAa,MACb,OAAO,eACP,cAAY,OACZ,YAAU,OAEV,SAAAA,EAAC,QAAK,iBAAe,QAAQ,kBAAgB,QAAQ,EAAE,6BAA6B,EACtF,EACF,GACF,EACE,KACH,CAAC0B,GAAYf,EAAQ,GACpBV,EAAC,OAAI,UAAU,0DACb,UAAAD,EAAC,UACC,KAAK,YACL,SAAU,CAACY,GAAQ,UAAU,gBAC7B,UAAU,wJACV,QAAS,IAAM,CACbO,IAAaP,GAAQ,UAAU,WAAW,CAC5C,EAEA,SAAAZ,EAAC,OAAI,MAAM,6BAA6B,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OACtF,SAAAA,EAAC,QACC,EAAE,mBACF,OAAO,UACP,eAAa,UACb,iBAAe,QACf,kBAAgB,QAClB,EACF,EACF,EACAA,EAAC,UACC,KAAK,YACL,UAAU,wJACV,SAAU,CAACY,GAAQ,UAAU,YAC7B,QAAS,IAAM,CACbM,IAAaN,GAAQ,UAAU,SAAS,CAC1C,EAEA,SAAAZ,EAAC,OAAI,MAAM,6BAA6B,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OACtF,SAAAA,EAAC,QACC,EAAE,wBACF,OAAO,UACP,eAAa,UACb,iBAAe,QACf,kBAAgB,QAClB,EACF,EACF,GACF,EAeF,MACF,CAEJ",
6
+ "names": ["jsx", "jsxs", "cn", "useMediaQuery", "FilterCardWrapItem", "useState", "useEffect", "cloneDeep", "FilterCardWrap", "props", "shopifyData", "total", "result", "closeFilter", "page", "metafields", "onPrimaryChange", "onSecondaryChange", "onNextPage", "onPrevPage", "advertisingSpace", "buttonText", "loadMoreText", "currentAdvertisingSpace", "data", "setData", "isMobile", "handleAdvertisingSpace", "products", "updatedProducts", "findIndex", "item", "insertIndex", "prevProducts", "newProducts", "product", "prev", "soldOutProducts"]
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anker-in/headless-ui",
3
- "version": "1.0.16-temp-091815",
3
+ "version": "1.0.16-temp-091817",
4
4
  "type": "commonjs",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "types": "./dist/cjs/index.d.ts",