1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[581],{2024:function(e,t,n){Promise.resolve().then(n.bind(n,4722))},4722:function(e,t,n){"use strict";n.d(t,{SpotlightCard:function(){return c}});var r=n(3890),o=n(8496),l=n(6060),a=n(3373),i=n(5330),s=o.forwardRef((e,t)=>{let{ratio:n=1,style:o,...l}=e;return(0,r.jsx)("div",{style:{position:"relative",width:"100%",paddingBottom:`${100/n}%`},"data-radix-aspect-ratio-wrapper":"",children:(0,r.jsx)(i.WV.div,{...l,ref:t,style:{...o,position:"absolute",top:0,right:0,bottom:0,left:0}})})});s.displayName="AspectRatio";let c=e=>{let{title:t,description:n,mediaSrc:i,mediaType:c,href:u}=e,{theme:d}=(0,a.F)(),m=(0,o.useRef)(null),[f,p]=(0,o.useState)(!1),[h,y]=(0,o.useState)({x:0,y:0}),[g,b]=(0,o.useState)(0);return(0,r.jsxs)("div",{ref:m,onClick:()=>window.open(u,"_blank"),onMouseMove:e=>{if(!m.current||f)return;let t=m.current.getBoundingClientRect();y({x:e.clientX-t.left,y:e.clientY-t.top})},onFocus:()=>{p(!0),b(1)},onBlur:()=>{p(!1),b(0)},onMouseEnter:()=>{b(1)},onMouseLeave:()=>{b(0)},className:"relative flex cursor-pointer flex-col justify-start overflow-hidden rounded-md border border-slate-200 bg-gradient-to-r from-slate-100 to-slate-50 shadow-md dark:border-slate-800 dark:from-slate-900 dark:to-slate-950",children:[(0,r.jsx)("div",{className:"pointer-events-none absolute -inset-px opacity-0 transition duration-300",style:{opacity:g,background:"radial-gradient(500px circle at ".concat(h.x,"px ").concat(h.y,"px, ").concat("dark"!==d?"hsla(0,0%,60%,.1)":"hsla(360,100%,100%,.06)",", transparent 40%)")}}),(0,r.jsx)(s,{ratio:16/9,children:"video"===c?(0,r.jsxs)("video",{autoPlay:!0,loop:!0,muted:!0,playsInline:!0,className:"m-0 p-0",children:[(0,r.jsx)("source",{src:"/project-garden.webm",type:"video/webm"}),(0,r.jsx)("source",{src:"/project-garden.mp4",type:"video/mp4"})]}):(0,r.jsx)(l.default,{src:i,alt:t,width:960,height:540,className:"m-0 p-0"})}),(0,r.jsxs)("div",{className:"p-6",children:[(0,r.jsx)("h2",{className:"mb-2 line-clamp-1 font-medium tracking-tight text-foreground",children:t}),(0,r.jsx)("p",{className:"text-sm text-muted-foreground",children:n})]})]})}},6060:function(e,t,n){"use strict";n.d(t,{default:function(){return o.a}});var r=n(9915),o=n.n(r)},9915:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{default:function(){return s},getImageProps:function(){return i}});let r=n(6651),o=n(9171),l=n(4663),a=r._(n(3235));function i(e){let{props:t}=(0,o.getImgProps)(e,{defaultLoader:a.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1}});for(let[e,n]of Object.entries(t))void 0===n&&delete t[e];return{props:t}}let s=l.Image},7152:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"RouterContext",{enumerable:!0,get:function(){return r}});let r=n(6651)._(n(8496)).default.createContext(null)},2930:function(e,t,n){"use strict";n.d(t,{F:function(){return l},e:function(){return a}});var r=n(8496);function o(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function l(...e){return t=>{let n=!1,r=e.map(e=>{let r=o(e,t);return n||"function"!=typeof r||(n=!0),r});if(n)return()=>{for(let t=0;t<r.length;t++){let n=r[t];"function"==typeof n?n():o(e[t],null)}}}}function a(...e){return r.useCallback(l(...e),e)}},7336:function(e,t,n){"use strict";n.d(t,{Z8:function(){return u},g7:function(){return d}});var r,o=n(8496),l=n(2930),a=n(3890),i=Symbol.for("react.lazy"),s=(r||(r=n.t(o,2)))[" use ".trim().toString()];function c(e){var t;return null!=e&&"object"==typeof e&&"$$typeof"in e&&e.$$typeof===i&&"_payload"in e&&"object"==typeof(t=e._payload)&&null!==t&&"then"in t}function u(e){let t=function(e){let t=o.forwardRef((e,t)=>{let{children:n,...r}=e;if(c(n)&&"function"==typeof s&&(n=s(n._payload)),o.isValidElement(n)){var a;let e,i;let s=(a=n,(e=Object.getOwnPropertyDescriptor(a.props,"ref")?.get)&&"isReactWarning"in e&&e.
1isReactWarning?a.ref:(e=Object.getOwnPropertyDescriptor(a,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning?a.props.ref:a.props.ref||a.ref),c=function(e,t){let n={...t};for(let r in t){let o=e[r],l=t[r];/^on[A-Z]/.test(r)?o&&l?n[r]=(...e)=>{let t=l(...e);return o(...e),t}:o&&(n[r]=o):"style"===r?n[r]={...o,...l}:"className"===r&&(n[r]=[o,l].filter(Boolean).join(" "))}return{...e,...n}}(r,n.props);return n.type!==o.Fragment&&(c.ref=t?(0,l.F)(t,s):s),o.cloneElement(n,c)}return o.Children.count(n)>1?o.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}(e),n=o.forwardRef((e,n)=>{let{children:r,...l}=e;c(r)&&"function"==typeof s&&(r=s(r._payload));let i=o.Children.toArray(r),u=i.find(f);if(u){let e=u.props.children,r=i.map(t=>t!==u?t:o.Children.count(e)>1?o.Children.only(null):o.isValidElement(e)?e.props.children:null);return(0,a.jsx)(t,{...l,ref:n,children:o.isValidElement(e)?o.cloneElement(e,void 0,r):null})}return(0,a.jsx)(t,{...l,ref:n,children:r})});return n.displayName=`${e}.Slot`,n}var d=u("Slot"),m=Symbol("radix.slottable");function f(e){return o.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===m}},3373:function(e,t,n){"use strict";n.d(t,{F:function(){return u},f:function(){return d}});var r=n(8496),o=(e,t,n,r,o,l,a,i)=>{let s=document.documentElement,c=["light","dark"];function u(t){(Array.isArray(e)?e:[e]).forEach(e=>{let n="class"===e,r=n&&l?o.map(e=>l[e]||e):o;n?(s.classList.remove(...r),s.classList.add(l&&l[t]?l[t]:t)):s.setAttribute(e,t)}),i&&c.includes(t)&&(s.style.colorScheme=t)}if(r)u(r);else try{let e=localStorage.getItem(t)||n,r=a&&"system"===e?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":e;u(r)}catch(e){}},l=["light","dark"],a="(prefers-color-scheme: dark)",i="undefined"==typeof window,s=r.createContext(void 0),c={setTheme:e=>{},themes:[]},u=()=>{var e;return null!=(e=r.useContext(s))?e:c},d=e=>r.useContext(s)?r.createElement(r.Fragment,null,e.children):r.createElement(f,{...e}),m=["light","dark"],f=e=>{let{forcedTheme:t,disableTransitionOnChange:n=!1,enableSystem:o=!0,enableColorScheme:i=!0,storageKey:c="theme",themes:u=m,defaultTheme:d=o?"system":"light",attribute:f="data-theme",value:b,children:v,nonce:x,scriptProps:w}=e,[S,C]=r.useState(()=>h(c,d)),[j,k]=r.useState(()=>"system"===S?g():S),E=b?Object.values(b):u,_=r.useCallback(e=>{let t=e;if(!t)return;"system"===e&&o&&(t=g());let r=b?b[t]:t,a=n?y(x):null,s=document.documentElement,c=e=>{"class"===e?(s.classList.remove(...E),r&&s.classList.add(r)):e.startsWith("data-")&&(r?s.setAttribute(e,r):s.removeAttribute(e))};if(Array.isArray(f)?f.forEach(c):c(f),i){let e=l.includes(d)?d:null,n=l.includes(t)?t:e;s.style.colorScheme=n}null==a||a()},[x]),N=r.useCallback(e=>{let t="function"==typeof e?e(S):e;C(t);try{localStorage.setItem(c,t)}catch(e){}},[S]),T=r.useCallback(e=>{k(g(e)),"system"===S&&o&&!t&&_("system")},[S,t]);r.useEffect(()=>{let e=window.matchMedia(a);return e.addListener(T),T(e),()=>e.removeListener(T)},[T]),r.useEffect(()=>{let e=e=>{e.key===c&&(e.newValue?C(e.newValue):N(d))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)},[N]),r.useEffect(()=>{_(null!=t?t:S)},[t,S]);let O=r.useMemo(()=>({theme:S,setTheme:N,forcedTheme:t,resolvedTheme:"system"===S?j:S,themes:o?[...u,"system"]:u,systemTheme:o?j:void 0}),[S,N,t,j,o,u]);return r.createElement(s.Provider,{value:O},r.createElement(p,{forcedTheme:t,storageKey:c,attribute:f,enableSystem:o,enableColorScheme:i,defaultTheme:d,value:b,themes:u,nonce:x,scriptProps:w}),v)},p=r.memo(e=>{let{forcedTheme:t,storageKey:n,attribute:l,enableSystem:a,enableColorScheme:i,defaultTheme:s,value:c,themes:u,nonce:d,scriptProps:m}=e,f=JSON.stringify([l,n,s,t,u,c,a,i]).slice(1,-1);return r.createElement("script",{...m,suppressHydrationWarning:!0,nonce:"undefined"==typeof window?d:"",dangerouslySetInnerHTML:{__html:"(".concat(o.toString(),")(").concat(f,")")}})}),h=(e,t)=>{let n;if(!i){try{n=localStorage.getItem(e)||void 0}catch(e){}return n||t}},y=e=>{let t=document.createElement("style");return e&&t.setAttribute("nonce",e),t.appendChild(document.createTextNode("*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),document.head.appendChild(t),()=>{window.getComputedStyle(document.body),setTimeout(()=>{document.head.removeChild(t)},1)}},g=e=>
1(e||(e=window.matchMedia(a)),e.matches?"dark":"light")}},function(e){e.O(0,[633,649,945,744],function(){return e(e.s=2024)}),_N_E=e.O()}]);
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.