@lanaco/lnc-react-ui
Version:
React component library
25 lines (20 loc) • 2.19 kB
JavaScript
;const t=require("react/jsx-runtime"),s=require("react"),b=require("./emotion-styled.browser.esm-DwHBgTPn.cjs"),l=require("./breakpoints-CcVm-gVm.cjs"),h=require("./useDetectMobile-DYV6V1yw.cjs"),$=require("./index-Fnc5qY9b.cjs"),j=require("./style-17Ie7d9D.cjs"),q=b.styled.div`
display: grid;
grid-template-columns: ${i=>`repeat(${i.limit}, minmax(0, 1fr))`};
gap: 1.25rem;
@media ${l.down("M")} {
grid-template-columns: repeat(2, 1fr);
}
@media ${l.down("S")} {
grid-template-columns: repeat(2, 1fr);
}
@media ${l.down("XS")} {
grid-template-columns: repeat(1, 1fr);
}
`,w=b.styled(j.SkeletonAnimationContainer)`
@media ${l.down("S")} {
flex-direction: column;
& > div {
}
}
`,y=({keyPrefix:i})=>t.jsx(w,{children:[1,2].map(n=>t.jsx(j.SkeletonRect,{width:"100%",height:"11.25rem"},`${i}-${n}`))}),L=({keyPrefix:i,isLoading:n=!1,fallbackComponent:r=t.jsx(t.Fragment,{}),children:o})=>t.jsx(s.Suspense,{fallbackComponent:r,children:n===!0?t.jsx(y,{keyPrefix:i}):o}),S=s.memo($.BlogCardLarge),M=s.forwardRef((i,n)=>{const{items:r,onSelectCard:o=()=>{},limit:a=2,isLoading:f=!1,getImage:m=()=>{},componentName:u,LinkComponent:g}=i,p=h.useDetectMobile(),C=s.useMemo(()=>t.jsx(t.Fragment,{children:p===!0?r==null?void 0:r.map((e,c)=>t.jsx(S,{title:e==null?void 0:e.title,imageUrl:m(e==null?void 0:e.imageUrl,e==null?void 0:e.uuid)||null,text:e==null?void 0:e.description,titleSlug:e==null?void 0:e.titleSlug,buttonText:e==null?void 0:e.buttonText,onCardClick:(k,d)=>o(e==null?void 0:e.titleSlug,d),metadata:{name:u,accessor:e==null?void 0:e.accessor},LinkComponent:g},c)):r==null?void 0:r.slice(0,a).map((e,c)=>t.jsx(S,{title:e==null?void 0:e.title,imageUrl:m(e==null?void 0:e.imageUrl,e==null?void 0:e.uuid)||null,text:e==null?void 0:e.description,titleSlug:e==null?void 0:e.titleSlug,buttonText:e==null?void 0:e.buttonText,onCardClick:(k,d)=>o(e==null?void 0:e.titleSlug,d),metadata:{name:u,accessor:e==null?void 0:e.accessor},LinkComponent:g},c))}),[r,p,a]);return t.jsx(L,{isLoading:f,keyPrefix:"blogs-large-skeleton",children:t.jsx(q,{ref:n,limit:a,className:"lp-section lp-blogs-section-large",children:C})})});module.exports=M;