1import{D as e,G as t,H as n,K as r,L as i,M as a,R as o,Y as s,_ as c,h as l,l as u,s as d,v as f,x as p,y as m,z as h}from"../chunks/xfE-XCam.js";import"../chunks/xihTtKlq.js";import{t as g}from"../chunks/ByK75BNJ.js";import{a as _,i as v,n as y,r as b}from"../chunks/BgtfHIiO.js";var x=p(`<span aria-hidden="true"></span>`),S=p(`<li class="rounded-full border border-line px-2 py-0.5 font-mono text-[0.7rem] text-fg-faint"> </li>`),C=p(`<a target="_blank" rel="noopener"> </a>`),w=p(`<article><div class="flex items-start justify-between gap-3"><h3 class="section-title text-fg"><a class="after:absolute after:inset-0"> </a></h3> <span><!> </span></div> <p> </p> <p class="mt-3 flex-1 text-sm leading-relaxed text-fg-dim"> </p> <ul class="mt-4 flex flex-wrap gap-1.5"></ul> <div class="relative z-10 mt-4 flex flex-wrap gap-x-4 gap-y-1 font-mono text-sm"></div></article>`);function T(o,p){r(p,!0);let g=n(()=>b[p.project.group]);var _=w(),v=i(_),y=i(v),T=i(y),E=i(T,!0);s(T),s(y);var D=h(y,2),O=i(D),k=t=>{var n=x();a(()=>u(n,1,`size-1.5 rounded-full ${e(g).dot??``}`)),m(t,n)};c(O,e=>{p.project.status===`Live`&&e(k)});var A=h(O);s(D),s(v);var j=h(v,2),M=i(j,!0);s(j);var N=h(j,2),P=i(N,!0);s(N);var F=h(N,2);l(F,20,()=>p.project.tech,e=>e,(e,t)=>{var n=S(),r=i(n,!0);s(n),a(()=>f(r,t)),m(e,n)}),s(F);var I=h(F,2);l(I,21,()=>p.project.links,e=>e.href,(t,r)=>{let o=n(()=>e(r).label===`Live`);var c=C(),l=i(c);s(c),a(()=>{d(c,`href`,e(r).href),u(c,1,`link-anim ${e(o)?`font-medium`:``}`),f(l,`${e(r).label??``} â`)}),m(t,c)}),s(I),s(_),a(()=>{u(_,1,`group relative flex h-full flex-col rounded-pillow border border-line/80 bg-surface p-6 shadow-soft transition-all duration-300 hover:-translate-y-1 hover:shadow-lift ${e(g).hoverBorder??``}`),d(_,`data-group`,p.project.group),d(T,`href`,`/work/${p.project.slug??``}`),f(E,p.project.name),u(D,1,`mt-0.5 inline-flex shrink-0 items-center gap-1.5 rounded-full border px-2 py-0.5 font-mono text-[0.7rem] font-medium ${e(g).pill??``}`),f(A,` ${p.project.status??``}`),u(j,1,`mt-1.5 text-sm font-medium ${e(g).text??``}`),f(M,p.project.tagline),f(P,p.project.description)}),m(o,_),t()}var E=p(`<a><span aria-hidden="true"></span> <span class="text-fg-faint"> </span></a>`),D=p(`<section class="mt-14 scroll-mt-24 border-t border-line/80 pt-8"><div class="flex flex-col gap-2 sm:flex-row sm:items-baseline sm:justify-between"><h2> </h2> <p class="text-sm text-fg-faint"> </p></div> <div class="mt-6 grid gap-6 md:grid-cols-2 lg:gap-8"></div></section>`),O=p(`<!> <section class="mx-auto max-w-5xl px-5 py-12 sm:px-6 sm:py-16 lg:px-8 lg:py-20"><p class="prompt reveal">ls ~/work</p> <h1 class="reveal page-title mt-3">Things I've built.</h1> <p class="reveal mt-4 max-w-2xl text-lg text-pretty text-fg-dim">Most of it started as âI wish this existedâ and ended up on the internet anyway. Each kind of 2 work has its own color.</p> <nav class="reveal mt-6 flex flex-wrap gap-2 font-mono text-sm" aria-label="Kinds of work"></nav> <!></section>`,1);function k(n,c){r(c,!0);let p=v.map(e=>({group:e,style:b[e],items:y.filter(t=>t.group===e).sort(_)}));var x=O(),S=o(x);g(S,{title:`Work`,description:`Projects by Will Mitchell: AI experiments and essays, games and tools, and shared Warhammer 40K community data.`});var C=h(S,2),w=h(i(C),6);l(w,21,()=>p,e=>e.group,(t,n)=>{var r=E(),o=i(r),c=h(o),l=h(c),p=i(l,!0);s(l),s(r),a(()=>{d(r,`href`,`#${e(n).group??``}`),u(r,1,`inline-flex items-center gap-2 rounded-full border border-line px-3 py-1 text-fg-dim transition-colors hover:text-fg ${e(n).style.hoverBorder??``}`),u(o,1,`size-2 rounded-full ${e(n).style.dot??``}`),f(c,` ${e(n).style.label??``} `),f(p,e(n).items.length)}),m(t,r)}),s(w),l(h(w,2),17,()=>p,e=>e.group,(t,n)=>{var r=D(),o=i(r),c=i(o),p=i(c,!0);s(c);var g=h(c,2),_=i(g,!0);s(g),s(o);var v=h(o,2);l(v,21,()=>e(n).items,e=>e.slug,(t,n)=>{T(t,{get project(){return e(n)}})}),s(v),s(r),a(()=>{d(r,`id`,e(n).group),d(r,`aria-labelledby`,`${e(n).group??``}-heading`),d(c,`id`,`${e(n).group??``}-heading`),u(c,1,`kicker ${e(n).style.text??``}`),f(p,e(n).style.kicker),f(_,e(n).style.blurb)}),m(t,r)}),s(C),m(n,x),t()}export{k 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.