1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9404],{3581:function(e,t,s){Promise.resolve().then(s.bind(s,2170)),Promise.resolve().then(s.bind(s,7802)),Promise.resolve().then(s.t.bind(s,8173,23)),Promise.resolve().then(s.t.bind(s,231,23))},2170:function(e,t,s){"use strict";s.d(t,{BlogList:function(){return r}});var n=s(7437),i=s(2265),l=s(7138),a=s(1976);function r(e){let{articles:t,categories:s}=e,[r,o]=(0,i.useState)("all"),c=t.filter(e=>"all"===r||e.category===r);return(0,n.jsxs)("div",{className:"max-w-full-content mx-auto px-6 grid grid-cols-1 md:grid-cols-[220px_1fr] gap-12",children:[(0,n.jsxs)("div",{className:"flex flex-col gap-1 pt-1",children:[(0,n.jsx)("p",{className:"text-[11px] text-ink-3 uppercase tracking-wider mb-3",style:{fontFamily:"var(--font-jetbrains-mono), monospace"},children:"Cat\xe9gories"}),s.map(e=>(0,n.jsxs)("button",{onClick:()=>o(e.id),className:`flex items-center justify-between px-3 py-2.5 rounded-lg text-[14px] text-left transition-colors ${r===e.id?"bg-ink text-white font-medium":"text-ink-2 hover:bg-black/[0.04]"}`,children:[(0,n.jsx)("span",{children:e.label}),(0,n.jsx)("span",{className:`text-[11px] ml-2 shrink-0 ${r===e.id?"text-white/50":"text-ink-4"}`,children:e.count})]},e.id))]}),(0,n.jsxs)("div",{children:[(0,n.jsxs)("p",{className:"text-[11px] text-ink-3 uppercase tracking-wider mb-3 pt-1",style:{fontFamily:"var(--font-jetbrains-mono), monospace"},children:[c.length," article",c.length>1?"s":""]}),(0,n.jsx)("div",{className:"flex flex-col divide-y divide-stroke-subtle",children:c.map(e=>(0,n.jsxs)(l.default,{href:`/blog/${e.slug}`,className:"group flex flex-col sm:flex-row items-start justify-between gap-3 sm:gap-6 py-5 hover:bg-black/[0.02] transition-colors -mx-3 px-3 rounded-lg",children:[(0,n.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,n.jsx)("h3",{className:"text-[17px] font-semibold text-ink mb-1 group-hover:text-forest transition-colors leading-snug",style:{fontFeatureSettings:'"ss03" on'},children:e.title}),(0,n.jsx)("p",{className:"text-[13px] text-ink-2 leading-relaxed line-clamp-2",children:e.excerpt})]}),(0,n.jsxs)("div",{className:"flex flex-col items-end gap-2 shrink-0 pt-0.5",children:[(0,n.jsx)("span",{className:"text-[10px] text-ink-3",style:{fontFamily:"var(--font-jetbrains-mono), monospace"},children:e.date}),(0,n.jsx)("span",{className:"text-[10px] font-medium text-forest px-1.5 py-0.5 rounded bg-[#EBF5E8]",style:{fontFamily:"var(--font-jetbrains-mono), monospace"},children:e.categoryLabel}),(0,n.jsx)(a.Z,{size:13,className:"text-ink-3 group-hover:text-forest group-hover:translate-x-0.5 transition-all mt-1"})]})]},e.slug))})]})]})}},1976:function(e,t,s){"use strict";s.d(t,{Z:function(){return n}});/** 2 * @license lucide-react v0.378.0 - ISC 3 * 4 * This source code is licensed under the ISC license. 5 * See the LICENSE file in the root directory of this source tree. 6 */let n=(0,s(8030).Z)("ArrowRight",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]])},7138:function(e,t,s){"use strict";s.d(t,{default:function(){return i.a}});var n=s(231),i=s.n(n)}},function(e){e.O(0,[7598,231,8173,7802,2971,7023,1744],function(){return e(e.s=3581)}),_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.