1import{r as t,j as e,L as N}from"./react-Cyy6GMNm.js";import{S as v}from"./SliderLinien-BmiTPAGP.js";import{u as k}from"./embla-carousel-react.esm-DGD1QcrG.js";import{S}from"./ScrollReveal-b0b0CClv.js";import{C as y}from"./CaseZeiger-BIQX4_c1.js";import{p as w}from"./projectSlugs-CFFjgiPq.js";import{u as C}from"./useLang-wmb2i-7D.js";import"./index-B64tgm8X.js";import"./supabase-dSTJ1T4q.js";import"./framer-Ds2XojZQ.js";const V=({kicker:n,heading:x,intro:c,items:p,icon:P,tone:l="white"})=>{const o=C(),[u,a]=k({align:"start",loop:!1,containScroll:"trimSnaps"}),[f,h]=t.useState(0),[L,g]=t.useState(!1),[$,b]=t.useState(!1),[d,j]=t.useState(0),r=t.useCallback(()=>{a&&(h(a.selectedScrollSnap()),g(a.canScrollPrev()),b(a.canScrollNext()),j(a.scrollSnapList().length))},[a]);return t.useEffect(()=>{if(a)return r(),a.on("select",r),a.on("reInit",r),()=>{a.off("select",r),a.off("reInit",r)}},[a,r]),e.jsxs("section",{className:`${l==="gray"?"section-gray":"section-white"} py-16 md:py-28 overflow-hidden`,children:[e.jsx("div",{className:"max-w-6xl mx-auto px-5 md:px-8",children:e.jsx(S,{animation:"fadeUp",children:e.jsxs("div",{className:"max-w-2xl mx-auto text-center mb-10 md:mb-14",children:[n&&e.jsx("div",{className:`${l==="gray"?"kicker-on-gray":"kicker-on-white"} mb-3 md:mb-4 inline-flex`,children:n}),e.jsx("h2",{className:"text-h2 mb-3 md:mb-4 text-balance",children:x}),c&&e.jsx("p",{className:"text-body-muted text-pretty",children:c})]})})}),e.jsx("div",{className:"mx-auto max-w-6xl px-0 md:px-8",children:e.jsx("div",{className:"overflow-hidden",ref:u,children:e.jsx("div",{className:"flex items-stretch gap-0 md:gap-6 [justify-content:safe_center]",children:p.map(s=>{const i=s.image??null,m=e.jsxs("article",{className:`rundung-apple h-full flex flex-col rounded-[30px] p-3.5 md:rounded-[32px] md:p-4 transition-transform duration-300 group-hover:scale-[1.01] ${l==="gray"?"bg-background":"bg-muted"}`,children:[e.jsx(y,{label:o==="en"?"View project":"Projekt ansehen",children:e.jsxs("div",{className:`rundung-apple relative overflow-hidden rounded-[16px] aspect-[4/3] ${l==="gray"?"bg-muted":"bg-background"}`,children:[i?e.jsx("img",{src:i,alt:`${s.name}, Website-Mockup`,className:"w-full h-full object-cover object-center transform-gpu transition-transform duration-700 ease-[cubic-bezier(0.22,1,0.36,1)] group-hover:scale-[1.04]",loading:"lazy",decoding:"async"}):e.jsx("div",{className:"w-full h-full grid place-items-center text-muted-foreground/50 text-sm",children:s.name}),s.badge&&e.jsx("span",{className:"absolute left-3 top-3 rounded-full bg-background/90 backdrop-blur-sm px-2.5 py-1 text-[10px] font-medium uppercase tracking-[0.12em] text-foreground/70",children:s.badge})]})}),e.jsxs("div",{className:"flex flex-col flex-1 px-2 pt-5 pb-1.5",children:[e.jsx("p",{className:"text-[11px] uppercase tracking-[0.14em] text-muted-foreground mb-1.5",children:s.industry}),e.jsx("h3",{className:"text-h4 mb-2.5",children:s.name}),e.jsx("p",{className:"text-body-muted text-[14px] md:text-[15px] leading-relaxed mb-5",children:s.text})]})]});return e.jsx("div",{className:"min-w-0 shrink-0 basis-full sm:basis-[62%] lg:basis-[calc((100%-3rem)/3)]",children:s.id?e.jsx(N,{to:w(s.id,o),className:"group block h-full",children:m}):e.jsx("a",{href:s.href,target:"_blank",rel:"noopener noreferrer",className:"group block h-full",children:m})},s.name)})})})}),d>1&&e.jsx("div",{className:"max-w-6xl mx-auto px-5 md:px-8",children:e.jsx(v,{className:"mt-6 md:mt-8",anzahl:d,aktiv:f,aufWechsel:s=>a?.scrollTo(s),beschriftung:"Projekt"})})]})};export{V as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.