@lanaco/lnc-react-ui
Version:
React component library
63 lines (52 loc) • 2.77 kB
JavaScript
"use strict";const r=require("react/jsx-runtime"),g=require("react"),_=require("./index-DeS-oqJB.cjs"),p=require("./Button.cjs"),u=require("./useDetectMobile-DYV6V1yw.cjs"),d=require("./breakpoints-CcVm-gVm.cjs"),b=require("./style-cJUZrJoG.cjs"),f=require("./emotion-styled.browser.esm-DwHBgTPn.cjs"),m=f.styled.div`
display: flex;
flex-direction: column;
gap: 1.5rem;
& .section__slider {
position: relative;
}
& .slider__gradient {
position: absolute;
width: 7.5rem;
height: 100%;
pointer-events: none;
z-index: 1;
opacity: 0.4;
top: 0;
&.left {
left: 0;
background: linear-gradient(to left, transparent, white);
}
&.right {
right: 0;
background: linear-gradient(to right, transparent, white);
}
}
.slider__container {
width: 100%;
}
.slider__item {
padding-right: 1rem;
}
& .section__item {
width: 100%;
height: 100%;
max-height: 3.75rem;
border-radius: 0.5rem;
border: 1px solid var(--gray-200, #e4e9f0);
overflow: hidden;
& img {
object-fit: cover;
width: 100%;
height: 100%;
filter: grayscale(100%);
transition: filter 0.3s ease;
&:hover {
filter: grayscale(0%);
}
}
&:hover {
cursor: pointer;
}
}
`,x=g.forwardRef(({title:n,buttonText:l,buttonLink:o,items:e,onSelectCard:c=()=>{},onButtonAction:t=()=>{}},v)=>{const h=u.useDetectMobile()?2:7,s=(e==null?void 0:e.length)>h;return r.jsxs(m,{className:"lp-section lp-partner-brands-section",children:[r.jsxs(b.SectionHeadingContainer,{children:[n&&r.jsx("div",{className:"heading__title",children:n}),l&&o&&r.jsx(p,{text:l,borderRadius:"curved",btnType:"tinted",className:"heading__action",color:"neutral",onClick:i=>{var a;(a=i==null?void 0:i.target)==null||a.blur(),t==null||t(o)}})]}),e&&(e==null?void 0:e.length)>0&&r.jsxs("div",{className:"section__slider",children:[s&&r.jsx("div",{className:"slider__gradient left"}),r.jsx(_.Carousel,{responsive:{desktop:{breakpoint:{max:9999,min:d.screenSizes.M.min},items:7,slidesToSlide:1,partialVisibilityGutter:10},mobile:{breakpoint:{max:d.screenSizes.S.max,min:0},items:2,slidesToSlide:1,partialVisibilityGutter:20}},draggable:!1,swipeable:!1,arrows:!1,infinite:s,autoPlay:s,autoPlaySpeed:2e3,partialVisible:s,customTransition:"transform 500ms linear",transitionDuration:500,containerClass:"slider__container",itemClass:"slider__item",children:e==null?void 0:e.map((i,a)=>r.jsx("div",{className:"section__item",onClick:()=>c(i),children:r.jsx("img",{src:i==null?void 0:i.imageUrl,alt:`Partner brand image ${a+1}`,loading:"lazy"})},`partner-brands-section-item__${a+1}`))}),s&&r.jsx("div",{className:"slider__gradient right"})]})]})});module.exports=x;