@lanaco/lnc-react-ui
Version:
React component library
2 lines (1 loc) • 1.2 kB
JavaScript
;const i=require("react/jsx-runtime"),o=require("react"),q=require("./useDetectMobile-DYV6V1yw.cjs"),_=require("./index-msAq1Q_a.cjs"),f=require("./Button.cjs"),j=require("./style-DIWAdlai.cjs"),w=o.memo(_.ShopCard),M=o.forwardRef(({buttonText:u,buttonLink:a,items:r,onButtonAction:c=()=>{},onSelectCard:s=()=>{},isLoading:v=!1,limit:R=4,getImage:n=()=>{},isHighlight:l=!1,componentName:d},p)=>{const h=q.useDetectMobile(),m=o.useMemo(()=>{var t;return(t=r==null?void 0:r.slice(0,4))==null?void 0:t.map((e,g)=>i.jsx(w,{uuid:e==null?void 0:e.uuid,title:e==null?void 0:e.name,subtitle:e==null?void 0:e.shortDescription,rating:e==null?void 0:e.rating,reviewCount:e==null?void 0:e.reviewCount,onSelectCard:(C,b)=>s==null?void 0:s(e==null?void 0:e.uuid,b),image:n(e==null?void 0:e.profileImage,e==null?void 0:e.uuid)||null,hideProducts:!0,metadata:{name:d,accessor:e==null?void 0:e.accessor}},`shop-card__${g+1}`))},[r]);return i.jsxs(j.Wrapper,{ref:p,className:l?"highlight":"",children:[i.jsx("div",{className:"wrapper__grid",children:m}),i.jsx(f,{text:u,borderRadius:"curved",btnType:h?"basic":"outline",color:"neutral",className:"wrapper__action",onClick:()=>c(a)})]})});module.exports=M;