1import{a as e,n as t,t as n}from"./jsx-runtime-n5LQ9ujS.js";import{t as r}from"./link-qe6j5Rby.js";import{n as i}from"./runtime-DkwBZ0pj.js";import{t as a}from"./compiler-runtime-ClOnpRnu.js";import{t as o}from"./button-Di92aaCz.js";import{t as s}from"./utils-B6KiDbIe.js";import{a as c,c as l,i as u,n as d,o as f,r as p,s as m,t as h}from"./hero_plant_alt-B1AYZP6C.js";import{a as g,i as _,n as v,o as y,r as b,t as x}from"./resources_italic_title-DNxpwrAC.js";import{n as S,t as C}from"./contacts_description-05Zu6GWn.js";import{A as w,Ct as T,Rn as E,wt as D}from"./index-B445oGFd.js";var O=a(),k=e(t(),1);function A(){let e=(0,O.c)(4),t=(0,k.useRef)(null),[n,r]=(0,k.useState)(!1),i,a;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=()=>{let e=t.current;if(!e)return;let n=window.matchMedia(`(prefers-reduced-motion: reduce)`),i=!1,a=()=>r(i&&!n.matches&&!document.hidden),o=new IntersectionObserver(e=>{let[t]=e;i=t.isIntersecting,a()});return o.observe(e),n.addEventListener(`change`,a),document.addEventListener(`visibilitychange`,a),()=>{o.disconnect(),n.removeEventListener(`change`,a),document.removeEventListener(`visibilitychange`,a)}},a=[],e[0]=i,e[1]=a):(i=e[0],a=e[1]),(0,k.useEffect)(i,a);let o;return e[2]===n?o=e[3]:(o={ref:t,running:n},e[2]=n,e[3]=o),o}var j=n(),M=[{name:_,image:`/images/sites/floritalylogo.webp`,href:`https://floritaly.plantdata.it`,x:125,y:90,path:`M 252 200 V 118 Q 252 90 224 90 H 125`,color:`#36b783`,delay:`0s`,duration:`4s`},{name:v,image:`/images/sites/wpb.webp`,href:`https://bot.biologia.unipi.it/wpb/italia`,x:475,y:90,path:`M 348 200 V 118 Q 348 90 376 90 H 475`,showLabel:!0,color:`#77a6f5`,delay:`-1.4s`,duration:`4.6s`},{name:x,image:`/images/sites/italic.webp`,href:`https://italic.units.it`,x:125,y:390,path:`M 252 280 V 362 Q 252 390 224 390 H 125`,color:`#dbab56`,delay:`-2.1s`,duration:`4.8s`},{name:b,image:`/images/sites/herbaria.webp`,href:`/herbaria`,internal:!0,card:!0,x:475,y:390,path:`M 348 280 V 362 Q 348 390 376 390 H 475`,color:`#29a36a`,delay:`-.8s`,duration:`4.3s`}];function N(){let e=(0,O.c)(11),{ref:t,running:n}=A(),r,i;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,j.jsx)(`circle`,{className:`network-halo`,cx:`300`,cy:`240`,r:`85`}),i=(0,j.jsx)(`circle`,{className:`network-halo`,cx:`300`,cy:`240`,r:`95`}),e[0]=r,e[1]=i):(r=e[0],i=e[1]);let a;e[2]===n?a=e[3]:(a=M.map(e=>(0,j.jsxs)(`g`,{children:[(0,j.jsx)(`path`,{d:e.path,className:`network-wire`}),n&&(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(`circle`,{r:`10`,fill:e.color,opacity:`.09`,children:(0,j.jsx)(`animateMotion`,{path:e.path,dur:e.duration,begin:e.delay,repeatCount:`indefinite`})}),(0,j.jsx)(`circle`,{r:`5.5`,fill:e.color,opacity:`.2`,children:(0,j.jsx)(`animateMotion`,{path:e.path,dur:e.duration,begin:e.delay,repeatCount:`indefinite`})}),(0,j.jsx)(`circle`,{r:`2.5`,fill:e.color,children:(0,j.jsx)(`animateMotion`,{path:e.path,dur:e.duration,begin:e.delay,repeatCount:`indefinite`})}),(0,j.jsx)(`circle`,{r:`2`,fill:e.color,opacity:`.8`,children:(0,j.jsx)(`animateMotion`,{path:e.path,dur:e.duration,begin:e.delay,repeatCount:`indefinite`,keyPoints:`1;0`,keyTimes:`0;1`,calcMode:`linear`})})]})]},e.href)),e[2]=n,e[3]=a);let o;e[4]===a?o=e[5]:(o=(0,j.jsxs)(`svg`,{className:`resource-connections`,viewBox:`0 0 600 480`,fill:`none`,"aria-hidden":`true`,children:[r,i,a]}),e[4]=a,e[5]=o);let s,c;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,j.jsx)(`div`,{className:`network-core`,children:(0,j.jsx)(`img`,{className:`official-logo`,src:`/images/other/plantdata-logo.webp`,alt:`PlantData`,width:`150`,height:`108`,loading:`lazy`})}),c=M.map(P),e[6]=s,e[7]=c):(s=e[6],c=e[7]);let l;return e[8]!==t||e[9]!==o?(l=(0,j.jsxs)(`div`,{ref:t,className:`resource-network`,children:[o,s,c]}),e[8]=t,e[9]=o,e[10]=l):l=e[10],l}function P(e){let t={left:`${e.x/6}%`,top:`${e.y/4.8}%`,"--node-color":e.color},n=(0,j.jsxs)(`span`,{className:s(`resource-node-disc`,e.showLabel&&`resource-node-wiki`,e.card&&`resource-node-card`),children:[(0,j.jsx)(`img`,{src:e.image,alt:``,width:`48`,height:`48`,loading:`lazy`}),e.showLabel&&(0,j.jsx)(`span`,{className:`resource-wiki-label`,children:e.name()})]});return e.internal?(0,j.jsx)(r,{to:e.href,className:`resource-node`,"aria-label":e.name(),style:t,children:n},e.href):(0,j.jsx)(`a`,{href:e.href,className:`resource-node`,"aria-label":e.name(),style:t,target:`_blank`,rel:`noopener noreferrer`,children:n},e.href)}var F=[{radius:80,duration:`19.7s`,startAngle:23,reverse:!1},{radius:112,duration:`28.3s`,startAngle:137,reverse:!0},{radius:144,duration:`37.1s`,startAngle:281,reverse:!1}];function I(){let e=(0,O.c)(2),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,j.jsx)(`svg`,{viewB
1ox:`0 0 400 340`,fill:`none`,className:`contact-signal-art`,children:F.map(L)}),e[0]=t):t=e[0];let n;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,j.jsxs)(`div`,{className:`contact-signal`,"aria-hidden":`true`,children:[t,(0,j.jsx)(`div`,{className:`network-core`,children:(0,j.jsx)(`img`,{className:`official-logo`,src:`/images/other/plantdata-logo.webp`,alt:``,width:`150`,height:`108`,loading:`lazy`})})]}),e[1]=n):n=e[1],n}function L(e){let{radius:t,duration:n,startAngle:r,reverse:i}=e;return(0,j.jsxs)(`g`,{children:[(0,j.jsx)(`circle`,{className:`signal-orbit`,cx:`200`,cy:`170`,r:t}),(0,j.jsx)(`g`,{transform:`rotate(${r} 200 170)`,children:(0,j.jsx)(`g`,{className:s(`signal-rotor`,i&&`signal-rotor-reverse`),style:{animationDuration:n},children:[170-t,170+t].map(R)})})]},t)}function R(e){return(0,j.jsxs)(`g`,{transform:`translate(200 ${e})`,children:[(0,j.jsx)(`circle`,{r:`9`,className:`signal-point-halo`}),(0,j.jsx)(`circle`,{r:`3`,className:`signal-point`})]},e)}var z=[{id:`unibo`,image:`/images/loghi/unibo.webp`},{id:`unicam`,image:`/images/loghi/cam-full-2.webp`},{id:`unipg`,image:`/images/loghi/perugia-full.webp`},{id:`unipi`,image:`/images/loghi/pisa-full.webp`},{id:`uniroma1`,image:`/images/loghi/sap-full.webp`},{id:`units`,image:`/images/loghi/units.webp`}].map(({id:e,image:t})=>({...w(e),image:t}));function B(){let e=(0,O.c)(9),t,n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,j.jsx)(`h2`,{id:`centre-title`,children:D()}),n=(0,j.jsx)(`p`,{children:T()}),e[0]=t,e[1]=n):(t=e[0],n=e[1]);let i;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,j.jsxs)(`div`,{className:`section-copy`,children:[t,n,(0,j.jsxs)(o,{className:`home-button`,nativeButton:!1,render:(0,j.jsx)(r,{to:`/who-are-we`}),children:[p(),(0,j.jsx)(E,{size:17})]})]}),e[2]=i):i=e[2];let a;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,j.jsxs)(`section`,{id:`discover`,className:`home-section home-centre`,"aria-labelledby":`centre-title`,children:[i,(0,j.jsx)(`div`,{className:`university-network`,children:z.map(V)})]}),e[3]=a):a=e[3];let s;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,j.jsx)(N,{}),e[4]=s):s=e[4];let c,l;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,j.jsx)(`h2`,{id:`resources-title`,children:y()}),l=(0,j.jsx)(`p`,{children:g()}),e[5]=c,e[6]=l):(c=e[5],l=e[6]);let u;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,j.jsxs)(`section`,{className:`home-section home-resources`,"aria-labelledby":`resources-title`,children:[s,(0,j.jsxs)(`div`,{className:`section-copy`,children:[c,l,(0,j.jsxs)(o,{className:`home-button`,nativeButton:!1,render:(0,j.jsx)(r,{to:`/resources`}),children:[d(),(0,j.jsx)(E,{size:17})]})]})]}),e[7]=u):u=e[7];let f;return e[8]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,j.jsxs)(j.Fragment,{children:[a,u,(0,j.jsxs)(`section`,{className:`home-section home-contacts`,"aria-labelledby":`contacts-title`,children:[(0,j.jsxs)(`div`,{className:`section-copy`,children:[(0,j.jsx)(`h2`,{id:`contacts-title`,children:S()}),(0,j.jsx)(`p`,{children:C()})]}),(0,j.jsx)(I,{})]})]}),e[8]=f):f=e[8],f}function V(e,t){return(0,j.jsxs)(`a`,{href:e.url,className:`network-member`,target:`_blank`,rel:`noopener noreferrer`,children:[(0,j.jsxs)(`span`,{className:`network-index`,children:[`0`,t+1,(0,j.jsx)(E,{size:13})]}),(0,j.jsx)(`img`,{src:e.image,alt:``,loading:`lazy`,width:`140`,height:`65`}),(0,j.jsx)(`span`,{children:e.short})]},e.id)}var H=12,U=3,W=110,G=2e3,K=1e4,q=3200,J=2500,Y=.25;function X(){return Math.random()<.5?`0`:`1`}function Z(e,t,n){return Math.round(e+(t-e)*n)}function Q(e){if(typeof window.requestIdleCallback==`function`){let t=window.requestIdleCallback(e,{timeout:2500});return()=>window.cancelIdleCallback(t)}let t=window.setTimeout(e,600);return()=>window.clearTimeout(t)}function $({src:e,alt:t=``,width:n,height:r,className:i}){let a=(0,k.useRef)(null),o=(0,k.useRef)(null),c=(0,k.useRef)(null),[l,u]=(0,k.useState)(!1),d=(0,k.useRef)(!1);return(0,k.useEffect)(()=>{d.current=window.matchMedia(`(hover: hover) and (pointer: fine)`).matches;let e=window.matchMedia(`(prefers-reduced-motion: reduce)`),t=()=>u(!e.matches);return t(),e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)},[]),(0,k.useEffect)(()=>
1{if(!l)return;let e=a.current,t=o.current,n=c.current;if(!e||!t||!n)return;let r=n.getContext(`2d`);if(!r)return;let i=Math.min(window.devicePixelRatio||1,2),s=Math.round(H*i),u=document.createElement(`canvas`),f=[],p=0,m=0,h=0,g=0,_,v=!0,y=!1,b=!1,x=-1e4,S=-1e4,C=0,w=1/0,T=0,E=()=>{if(!t.complete||t.naturalWidth===0)return;let e=t.getBoundingClientRect();if(e.width<10||e.height<10)return;let a=Math.round(e.width*i),o=Math.round(e.height*i);n.width=a,n.height=o,u.width=a,u.height=o;let c=u.getContext(`2d`);if(!c)return;c.drawImage(t,0,0,a,o);let l=Math.max(1,Math.floor(a/U)),d=Math.max(1,Math.floor(o/U)),h=document.createElement(`canvas`);h.width=l,h.height=d;let g=h.getContext(`2d`,{willReadFrequently:!0});if(!g)return;g.drawImage(t,0,0,l,d);let _;try{_=g.getImageData(0,0,l,d).data}catch{return}let v=(e,t)=>(t*l+e)*4,b=[v(1,1),v(l-2,1),v(1,d-2),v(l-2,d-2)],x=[0,1,2].map(e=>b.reduce((t,n)=>t+_[n+e],0)/4),S=b.every(e=>_[e+3]<50),C=Math.max(1,Math.round(s/U));f=[];for(let e=0;e<Math.floor(o/s);e++)for(let t=0;t<Math.floor(a/s);t++){let n=0,r=0,i=0,c=0,u=0;for(let a=0;a<C;a++){let o=e*C+a;if(o>=d)break;for(let e=0;e<C;e++){let a=t*C+e;if(a>=l)break;let s=(o*l+a)*4;if(u++,_[s+3]<50)continue;let d=Math.hypot(_[s]-x[0],_[s+1]-x[1],_[s+2]-x[2]);!S&&d<30||(c++,n+=_[s],r+=_[s+1],i+=_[s+2])}}if(c<u*.12)continue;n/=c,r/=c,i/=c;let p=(n+r+i)/3,m=n,h=r,g=i;p>210&&(m=Z(n,0,.35),h=Z(r,0,.35),g=Z(i,0,.35));let v=n,y=r,b=i;p<95&&(v=Z(n,255,.45),y=Z(r,255,.45),b=Z(i,255,.45)),f.push({x:t*s,y:e*s,d:(t*s+e*s)/(a+o),colorLight:`rgb(${Math.round(m)},${Math.round(h)},${Math.round(g)})`,colorDark:`rgb(${Math.round(v)},${Math.round(y)},${Math.round(b)})`,t:0,digit:X()})}p=a*.16,m=a*.33,r.setTransform(1,0,0,1,0,0),r.font=`bold ${Math.round(s*.92)}px ui-monospace, SFMono-Regular, Menlo, monospace`,y||(w=performance.now()+G),y=!0,t.style.opacity=`0`,k()},D=()=>{_?.(),_=Q(E)},O=e=>{if(h=0,!y||!v||document.hidden)return;let t=n.width,i=n.height;!b&&!C&&e>=w&&(C=e);let a=-1,o=!1,c=!1;if(!b&&C){let t=e-C;t<q?a=t/q:t<5700?c=!0:t<8900?(a=(t-q-J)/q,o=!0):(C=0,w=e+K)}let l=e-T>W;l&&(T=e);let d=document.documentElement.classList.contains(`dark`);r.clearRect(0,0,t,i),r.drawImage(u,0,0);let _=s/2,E=!1;for(let e of f){let t=0;if(b){let n=Math.hypot(e.x+_-x,e.y+_-S);t=n<p?1:n>m?0:1-(n-p)/(m-p)}else if(c)t=1;else if(a>=0){let n=Math.min(1,Math.max(0,(a*1.25-e.d)/Y));t=o?1-n:n}if(e.t+=(t-e.t)*(t>e.t?.3:.05),e.t<.02){e.t=0;continue}E=!0,l&&e.t>.25&&Math.random()<.3&&(e.digit=X()),r.clearRect(e.x,e.y,s,s),r.globalAlpha=1-e.t,r.drawImage(u,e.x,e.y,s,s,e.x,e.y,s,s),r.globalAlpha=e.t,r.fillStyle=d?e.colorDark:e.colorLight,r.fillText(e.digit,e.x+s*.15,e.y+s*.85),r.globalAlpha=1}if(!b&&!C&&!E){g=window.setTimeout(k,Math.max(16,w-performance.now()));return}h=requestAnimationFrame(O)},k=()=>{window.clearTimeout(g),!h&&y&&v&&!document.hidden&&(h=requestAnimationFrame(O))},A=e=>{let t=n.getBoundingClientRect();x=(e.clientX-t.left)*n.width/t.width,S=(e.clientY-t.top)*n.height/t.height,b=!0,C=0,w=1/0,k()},j=()=>{b=!1,w=performance.now()+K};d.current&&(e.addEventListener(`pointermove`,A),e.addEventListener(`pointerleave`,j));let M=new IntersectionObserver(([e])=>{v=e.isIntersecting,v&&k()});M.observe(e),document.addEventListener(`visibilitychange`,k);let N=0,P=new ResizeObserver(()=>{window.clearTimeout(N),N=window.setTimeout(()=>{let e=t.getBoundingClientRect();Math.round(e.width*i)!==n.width&&D()},150)});return P.observe(t),t.complete&&t.naturalWidth>0?D():t.addEventListener(`load`,D,{once:!0}),()=>{h&&cancelAnimationFrame(h),_?.(),window.clearTimeout(g),window.clearTimeout(N),M.disconnect(),document.removeEventListener(`visibilitychange`,k),P.disconnect(),e.removeEventListener(`pointermove`,A),e.removeEventListener(`pointerleave`,j),t.removeEventListener(`load`,D),t.style.opacity=``}},[l,e]),(0,j.jsxs)(`div`,{ref:a,className:s(`relative`,i),children:[(0,j.jsx)(`img`,{ref:o,className:`block h-auto w-full`,src:e,alt:t,width:n,height:r,fetchPriority:`high`}),l&&(0,j.jsx)(`canvas`,{ref:c,className:`absolute inset-0 h-full w-full`,"aria-hidden":`true`})]})}function ee(){let e=(0,O.c)(8),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=i(),e[0]=t):t=e[0];let n=t,a;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,j.jsxs)(`h1`,{id:`home-title`,className:`hero-title`,children:[n===`en`&&(0,j.jsx)(`span`,{className:`plantdata-type`,children:l()}),(0,j.jsx)(`span`,{children:m()}),(0,j.jsx)(`span`,{children:f()}),n===`it`&&(0,j.jsx)(`span`,{className:`plantdata-type`,children:l()})]}),e[1]=a):a=e[1];let s;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,j.jsx)(`p`,{className:`hero-description`,children:c()}),e[2]=s):s=e[2];let d;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,j.jsxs)(`div`,{className:`hero-intro`,children:[a,s,(0,j.jsxs)(o,{className:`home-button`,nativeButton:!1,render:(0,j.jsx)(r,{to:`/resources`}),children:[u(),(0,j.jsx)(E,{size:17})]})]}),e[3]=d):d=e[3];let p,g,_;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,j.jsx)(`div`,{className:`specimen-orbit`,"aria-hidden":`true`}),g=(0,j.jsx)(`div`,{className:`specimen-orbit-marker marker-one`,"aria-hidden":`true`,children:`0`}),_=(0,j.jsx)(`div`,{className:`specimen-orbit-marker marker-two`,"aria-hidden":`true`,children:`1`}),e[4]=p,e[5]=g,e[6]=_):(p=e[4],g=e[5],_=e[6]);let v;return e[7]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,j.jsxs)(`section`,{className:`home-hero`,"aria-labelledby":`home-title`,children:[d,(0,j.jsx)(`div`,{className:`hero-specimen`,children:(0,j.jsxs)(`div`,{className:`specimen-stage`,children:[p,g,_,(0,j.jsx)($,{src:`/images/other/planthero.webp`,alt:h(),width:500,height:773,className:`hero-plant`})]})})]}),e[7]=v):v=e[7],v}function te(){let e=(0,O.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,j.jsxs)(`div`,{className:`home-page`,children:[(0,j.jsx)(ee,{}),(0,j.jsx)(B,{})]}),e[0]=t):t=e[0],t}export{te as component};
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.