1import{u as h,r as d,b5 as j,j as s,Z as p,a2 as k,Y as w,a5 as C,aX as x}from"./index-CF9CrRCQ.js";import{l as z,k as v,m as B}from"./portfolio-matt-full-3TlKKuPF.js";import{b as L,c as D,a as S,l as F,n as M,s as P}from"./PortfolioStage-B-YTgt_s.js";import{C as R}from"./chevron-left-DlZN6WDc.js";import{C as A}from"./chevron-right-q9MGNpw4.js";const N="/assets/eva-trifold-AT34ef2U.jpg",E="/assets/novaparcel-mock-DwJptunK.png",H="/assets/ladnykubek-trifold-CLVZ-YA0.jpg",K="/assets/tk-driveways-poster-aiDs-FmD.jpg",T="/assets/novaparcel-social-Dxl08dLp.jpg",O="/assets/damian-removals-cards-BzMbSQZW.jpg",Z="/assets/erss-trifold-1-C1M5CzWd.jpg",I="/assets/kubiakconstruction-mock-BIBc6JBa.png",V="/assets/erss-trifold-2-Da1isWaF.jpg",W="/assets/kzus-mock-EXKVtHeY.png",X="/assets/debata-oksfordzka-LeN9bzqE.jpeg",G="/assets/fun-little-education-DsRGwxtq.jpeg",U="/assets/jrr-mock-DoVMx9C7.png",Y="/assets/mugs-catalog-BFTSPVsU.jpg",q="/assets/dagas-logo-CxHJGo1u.jpg",J="/assets/dogs-forever-flyer-B8pxGZXI.jpeg",Q="/assets/es-cleaning-social-Clj0nWQ5.jpg",_="/assets/shiny-cloths-hoodie-DEldZYrC.jpg",$="/assets/imperial-sofas-mock-Ba7nin__.png",ss="/assets/mgl-landscaping-mock-DUQYBHbh.png",as="/assets/jrr-banner-D7jZUmS0.jpg",es="/assets/beauty-salon-banner-ClKtnzsj.jpg",ts="/assets/crazy-cactus-logo-Ct85IJM5.jpg",os="/assets/noc-zakochanych-poster-BkhaIveg.jpg",rs="/assets/puppy-classes-flyer-DH3kyiBL.jpeg",ns="/assets/ladnykubek-trifold-CLVZ-YA0.jpg",ls="/assets/vip-xpress-brochure-CFZxI-oW.jpg",is="/assets/ladny-kubek-trifold-2-CLl-Ai_Q.jpeg",cs="/assets/dogs-forever-flyer-2-Cop0R983.jpeg",us="/assets/lk-design-construction-TvM5MM1i.jpg",ds="/assets/kays-timber-banner-CjhkdifX.jpg",ps="/assets/piaty-kruk-logo-CkY6W2ZH.jpg",gs="/assets/andalmaloft-banner-UAYMhRDl.jpg",ks="/assets/thistle-cards-tA6Cj-Lm.jpg",fs="/assets/zapiekanki-logo-eCh_wFEU.jpg",ys="/assets/zapiekanki-menu-CDLp794l.jpg",ms="/assets/strefa-mass-logo-ByxQInqE.jpg",bs="/assets/coffee-house-oasis-1-Ll23us3i.jpg",hs="/assets/coffee-house-oasis-2-IUhuIXKr.jpg",js="/assets/baby-bank-flyer-B4oyZCTS.jpg",ws="/assets/chiroclinic-cards-SBSvnTY4.jpg",Cs="/assets/shiny-cloths-logo-_KaI3FR5.jpg",xs="/assets/kays-timber-banner-2-DzMT9kLb.jpg",zs="/assets/debata-oksfordzka-logo-DquPTp5i.jpg",vs="/assets/coffee-house-menu-en-C0ge2_pG.jpeg",Bs="/assets/fun-little-education-ankieta-D8eobRaR.jpg",Ls="/assets/coffee-house-menu-pl-Ju9a2sR5.jpeg",Ds="/assets/smokey-dog-parachuter-BhuOUPOq.jpeg",Ss="/assets/lider-banner-CwSCM2Nu.jpg",Fs="/assets/ladny-kubek-bestsellery-caa2tArd.png",Ms="/assets/fun-little-hiszpanski-aQDtmD0t.jpeg",Ps="/assets/debata-oksfordzka-banner-CYuuf8z5.jpg",Rs="/assets/hbot-billboard-zbh-2S1l.jpg",As="/assets/fun-little-francuski-DAVqzcVX.jpeg",Ns="/assets/damian-removals-quote-lwnEL6-W.jpeg",Es="/assets/beauty-by-alex-logo-BkdmbqUb.jpg",Hs="/assets/chiroclinic-ulotka-1HYmI4t5.jpg",Ks="/assets/crazy-cactus-services-D2GJ4z_2.jpeg",Ts="/assets/damian-removals-logo-Dml0d8qj.jpg",Os="/assets/andalmacloft-cards-pcAubp9t.jpg",Zs="/assets/crazy-cactus-logo-bw-CzXjuO2B.jpg",Is="/assets/fun-little-dni-otwarte-CBE-j2MC.jpg",Vs="/assets/coffee-house-trifold-1-Bk4j8wRA.jpeg",Ws="/assets/amberfield-cards-BM5FlZ50.jpg",Xs="/assets/coffee-house-trifold-2-DMdXqqxd.jpeg",Gs="/assets/crazy-cactus-logo-color-DpqB-YWV.jpg",Us="/assets/vip-xpress-brochure-2-rs-bixZV.jpg",Ys="/assets/wee-bite-logo-BXc7cuNo.jpg",qs="/assets/fun-little-christmas-1-DRTA0ctK.png",Js="/assets/fun-little-christmas-2-C0ZVA_8C.png",Qs="/assets/fun-little-logopeda-9uoKWCnw.jpeg",_s="/assets/foodie-menu-stoly-rCWFzi8l.jpg",$s="/assets/eduia-rollup-Cf7rgLHn.jpg",sa="/assets/fun-little-rollup-JHuMAJHZ.jpg",aa="/assets/foodie-trifold-mock-wQh-cZX6.jpeg",ea="/assets/foodie-ulotka-dl-1-BnP3uwr6.jpg",ta="/assets/foodie-ulotka-dl-2--6NYw2li.jpg",oa="/assets/ad-roofing-flyer-D6o8RBRL.png",ra="/assets/fun-little-nursery-a5-B4MxipPh.jpg",na="/assets/ad-roofing-cards-8n_Aa-ms.jpg",f=[.22,1,.36,1],c=[{src:Qs,alt:"Fun Little Education - ulotka zajÄÄ logopedycznych"},{src:_s,alt:"Foodie Bistro & Cafe - menu na stoÅy"},{src:$s,alt:"Eduia Virtual Polish Language Academy - rollup"},{src:sa,alt:"Polska SzkoÅa im. Marii Montessori - rollup"},{src:aa,alt:"Foodie Bistro & Cafe - ulotka trifold"},{src:ea,alt:"Foodie Bistro & Cafe - ulotka DL (strona 1)"},{src:ta,alt:"Foodie Bistro & Cafe - ulotka DL (strona 2)"},{src:oa,alt:"AD Roofing - ulotka reklamowa"},{src:ra,alt:"Polska SzkoÅa im. Marii Montessori - ulotka A5"},{src:na,alt:"AD Roofing - wizytówki"},{src:Ys,alt:"The Wee Bite - logo restauracji"},{src:Ws,alt:"Amberfield Projects - wizytówki"},{src:Is,alt:"Fun Little Education - plakat Dni Otwarte"},{src:qs,alt:"Fun Little Education Nursery - kartka ÅwiÄ
teczna"},{src:Js,alt:"Fun Little Education Nursery - kartka ÅwiÄ
teczna (wariant 2)"},{src:Vs,alt:"Coffee House Doris - ulotka trifold (Årodek)"},{src:Xs,alt:"Coffee House Doris - ulotka trifold (okÅadka)"},{src:Us,alt:"VIP Xpress - broszura z cennikiem"},{src:Gs,alt:"Crazy Cactus Garden Services - logo kolorowe"},{src:Zs,alt:"Crazy Cactus Garden Services - logo czarno-biaÅe"},{src:Rs,alt:"HBOT - billboard reklamowy terapii tlenowej"},{src:Ks,alt:"Crazy Cactus - ulotka usÅug ogrodniczych"},{src:Hs,alt:"ChiroClinic - ulotka usÅug"},{src:Ms,alt:"Fun Little Education - lekcje hiszpaÅskiego"},{src:As,alt:"Fun Little Education - lekcje francuskiego"},{src:Ps,alt:"Debata Oksfordzka - baner wydarzenia"},{src:Ns,alt:"Damian Removals - ulotka Free Quote"},{src:Ts,alt:"Damian Removals Man Plus Van - logo"},{src:Es,alt:"Beauty by Alex - logo"},{src:Os,alt:"Andal Macloft - wizytówki"},{src:ws,alt:"ChiroClinic - wizytówki"},{src:Ss,alt:"Lider - baner reklamowy kursów prawa jazdy"},{src:Ds,alt:"Smokey Dog Parachuter - plakat warsztatów artystycznych"},{src:vs,alt:"Coffee House Oasis - menu angielskie"},{src:Ls,alt:"Coffee House Oasis - menu polskie"},{src:Bs,alt:"Fun Little Education - ulotka ankiety"},{src:zs,alt:"Debata Oksfordzka - logo"},{src:Cs,alt:"Shiny Cloths - logo"},{src:xs,alt:"Kay's Timber - baner reklamowy (wariant 2)"},{src:Fs,alt:"Åadny Kubek - kreacja bestsellery"},{src:ds,alt:"Kay's Timber - baner reklamowy"},{src:gs,alt:"Andalmaloft - baner reklamowy"},{src:ys,alt:"Zapiekanki Polska Kuchnia - menu"},{src:js,alt:"Baby Bank Scotland - ulotka charytatywna"},{src:ks,alt:"Thistle Home Renovations - wizytówki"},{src:bs,alt:"Coffee House Oasis - menu trifold"},{src:hs,alt:"Coffee House Oasis - menu Åniadaniowe"},{src:fs,alt:"Zapiekanki Polska Kuchnia - logo"},{src:ps,alt:"PiÄ
ty Kruk - logo"},{src:ms,alt:"Strefa Mass - logo"},{src:as,alt:"JRR Heating, Plumbing & Electrical - baner reklamowy"},{src:os,alt:"Noc Zakochanych - plakat balu karnawaÅowego"},{src:us,alt:"LK Design Construction - materiaÅy reklamowe"},{src:rs,alt:"Dogs Forever Puppy Classes - ulotka"},{src:ls,alt:"VIP Xpress - broszura usÅug kurierskich"},{src:es,alt:"Beauty Salon - baner reklamowy"},{src:ns,alt:"Åadny Kubek - broszura produktowa"},{src:is,alt:"Åadny Kubek - ulotka trifold"},{src:cs,alt:"Dogs Forever - ulotka dwustronna"},{src:ts,alt:"Crazy Cactus Garden Services - logo"},{src:E,alt:"Nova Parcel - strona internetowa"},{src:I,alt:"Kubiak Construction - strona internetowa"},{src:W,alt:"KZUS - strona internetowa"},{src:$,alt:"Imperial Sofas - sklep internetowy"},{src:ss,alt:"MGL Groundworks & Landscaping - strona internetowa"},{src:U,alt:"JRR Boilers - strona internetowa"},{src:j,alt:"JRR Boilers - realizacja"},{src:z,alt:"Leather Centre - strona internetowa"},{src:v,alt:"Åadny Kubek - strona internetowa"},{src:B,alt:"Matt Precision Paint - strona internetowa"},{src:X,alt:"Debata Oksfordzka - plakat wydarzenia"},{src:G,alt:"Fun Little Education - kreacja social media"},{src:J,alt:"Dogs Forever - ulotka reklamowa"},{src:Q,alt:"ES Cleaning Service - kreacja social media"},{src:q,alt:"DA-Gas Heating & Plumbing - logo"},{src:_,alt:"Shiny Cloths Domestic - branding na odzieży"},{src:Y,alt:"Åadny Kubek - katalog produktowy"},{src:N,alt:"Eva Holistic Therapy - ulotka trifold"},{src:H,alt:"Åadny Kubek - ulotka trifold"},{src:K,alt:"TK Driveways - plakat reklamowy"},{src:T,alt:"Nova Parcel - kreacja social media"},{src:O,alt:"Damian Removals - wizytówki"},{src:Z,alt:"ERSS Scotland - ulotka trifold (przód)"},{src:V,alt:"ERSS Scotland - ulotka trifold (Årodek)"},{src:L,alt:"Beauty Salon - realizacja"},{src:D,alt:"Vintage Cafe - realizacja"},{src:S,alt:"BuildPro - realizacja"},{src:F,alt:"Law Office - realizacja"},{src:M,alt:"Nextdoor Events - realizacja"},{src:P,alt:"Sklep Online - realizacja"}],la=12,ia=8;
1function ka(){const t=h(),[u,y]=d.useState(la),[n,l]=d.useState(null),e=c.length,m=u<e,b=c.slice(0,u),o={eyebrow:t==="en"?"Gallery":"Galeria",title:t==="en"?"All projects in one place":"Wszystkie realizacje w jednym miejscu",desc:t==="en"?"Websites, branding, print and social media. Click any image to enlarge.":"Strony, branding, druk i social media. Kliknij w dowolne zdjÄcie, aby powiÄkszyÄ.",loadMore:t==="en"?"Show more":"Pokaż wiÄcej",counter:t==="en"?`${Math.min(u,e)} of ${e}`:`${Math.min(u,e)} z ${e}`,close:t==="en"?"Close":"Zamknij",prev:t==="en"?"Previous":"Poprzednie",next:t==="en"?"Next":"NastÄpne"},i=d.useCallback(a=>{l(r=>r===null?r:(r+a+e)%e)},[e]);return d.useEffect(()=>{if(n===null)return;const a=g=>{g.key==="Escape"&&l(null),g.key==="ArrowRight"&&i(1),g.key==="ArrowLeft"&&i(-1)};document.addEventListener("keydown",a);const r=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.removeEventListener("keydown",a),document.body.style.overflow=r}},[n,i]),s.jsxs("section",{className:"bg-white py-20 lg:py-28",children:[s.jsxs("div",{className:"mx-auto max-w-[1400px] px-6 lg:px-10",children:[s.jsxs("div",{className:"mb-12 max-w-3xl",children:[s.jsx("span",{className:"ds-eyebrow",style:{color:"#6B6B7B"},children:o.eyebrow}),s.jsx("h2",{className:"mt-3 text-[#0A0A1F]",style:{fontFamily:p.fonts.display,fontWeight:600,fontSize:"clamp(28px, 4vw, 44px)",lineHeight:1.1,letterSpacing:"-0.02em"},children:o.title}),s.jsx("p",{className:"mt-4 text-[#4A4A5C]",style:{fontFamily:p.fonts.body,fontSize:16,lineHeight:1.6},children:o.desc})]}),s.jsxs("div",{className:"relative",children:[s.jsx("div",{className:"grid grid-cols-2 gap-3 sm:gap-4 md:grid-cols-3 lg:grid-cols-4",children:b.map((a,r)=>s.jsxs(k.button,{type:"button",onClick:()=>l(r),initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0,margin:"-40px"},transition:{duration:.5,delay:r%8*.04,ease:f},whileHover:{y:-4},className:"group relative block overflow-hidden bg-[#F4F4F8]",style:{aspectRatio:"4 / 3",borderRadius:14,boxShadow:"0 10px 30px -18px rgba(10,10,31,0.25)"},children:[s.jsx("img",{src:a.src,alt:a.alt,loading:"lazy",decoding:"async",className:"h-full w-full object-cover transition-transform duration-500 group-hover:scale-[1.05]"}),s.jsx("div",{className:"pointer-events-none absolute inset-0 opacity-0 transition-opacity duration-300 group-hover:opacity-100",style:{background:"linear-gradient(to top, rgba(10,10,31,0.45) 0%, rgba(10,10,31,0) 55%)"}})]},a.src))}),m&&s.jsxs("div",{className:"relative mt-8",children:[s.jsx("div",{className:"pointer-events-none absolute inset-x-0 -top-40 h-40",style:{background:"linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,0.85) 65%, #fff 100%)",backdropFilter:"blur(2px)",WebkitBackdropFilter:"blur(2px)"}}),s.jsxs("div",{className:"flex flex-col items-center gap-3",children:[s.jsx("button",{type:"button",onClick:()=>y(a=>Math.min(a+ia,e)),className:"ds-grad-bg inline-flex items-center gap-2 rounded-full px-7 py-3 text-white shadow-lg transition-transform hover:scale-[1.02]",style:{fontFamily:p.fonts.display,fontWeight:600,fontSize:14,boxShadow:"0 18px 40px -12px rgba(156,50,140,0.45)",background:w.brand.gradient},children:o.loadMore}),s.jsx("span",{className:"text-[#6B6B7B]",style:{fontFamily:p.fonts.body,fontSize:12.5},children:o.counter})]})]})]})]}),s.jsx(C,{children:n!==null&&s.jsxs(k.div,{initial:{opacity:0}
1,animate:{opacity:1},exit:{opacity:0},transition:{duration:.2},className:"fixed inset-0 z-[300] flex items-center justify-center p-4 sm:p-8",style:{background:"rgba(3,6,15,0.88)",backdropFilter:"blur(18px)",WebkitBackdropFilter:"blur(18px)"},onClick:()=>l(null),children:[s.jsx("button",{type:"button","aria-label":o.close,onClick:()=>l(null),className:"absolute right-4 top-4 grid h-11 w-11 place-items-center rounded-full bg-white/10 text-white ring-1 ring-white/20 backdrop-blur transition-colors hover:bg-white/20",children:s.jsx(x,{size:20})}),s.jsx("button",{type:"button","aria-label":o.prev,onClick:a=>{a.stopPropagation(),i(-1)},className:"absolute left-3 top-1/2 grid h-12 w-12 -translate-y-1/2 place-items-center rounded-full bg-white/10 text-white ring-1 ring-white/20 backdrop-blur transition-colors hover:bg-white/20 sm:left-6",children:s.jsx(R,{size:22})}),s.jsx("button",{type:"button","aria-label":o.next,onClick:a=>{a.stopPropagation(),i(1)},className:"absolute right-3 top-1/2 grid h-12 w-12 -translate-y-1/2 place-items-center rounded-full bg-white/10 text-white ring-1 ring-white/20 backdrop-blur transition-colors hover:bg-white/20 sm:right-6",children:s.jsx(A,{size:22})}),s.jsx(k.img,{src:c[n].src,alt:c[n].alt,initial:{opacity:0,scale:.96},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.98},transition:{duration:.25,ease:f},onClick:a=>a.stopPropagation(),loading:"lazy",decoding:"async",className:"max-h-[88vh] max-w-[92vw] select-none rounded-xl object-contain shadow-2xl",draggable:!1},c[n].src)]})})]})}export{ka as P};
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.