1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[28455,33657,38152,45863,65819,69935,81427],{14585:(e,t,r)=>{"use strict";r.d(t,{default:()=>i});var l=r(49675),s={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"},a=r(20069);let n=(0,l.createContext)({}),i=(0,l.forwardRef)((e,t)=>{var r,i,c;let{color:o,size:d,strokeWidth:u,absoluteStrokeWidth:h,className:x="",children:m,iconNode:p,...f}=e,{size:g=24,strokeWidth:v=2,absoluteStrokeWidth:b=!1,color:j="currentColor",className:y=""}=null!=(r=(0,l.useContext)(n))?r:{},k=(null!=h?h:b)?24*Number(null!=u?u:v)/Number(null!=d?d:g):null!=u?u:v;return(0,l.createElement)("svg",{ref:t,...s,width:null!=(i=null!=d?d:g)?i:s.width,height:null!=(c=null!=d?d:g)?c:s.height,stroke:null!=o?o:j,strokeWidth:k,className:(0,a.z)("lucide",y,x),...!m&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1})(f)&&{"aria-hidden":"true"},...f},[...p.map(e=>{let[t,r]=e;return(0,l.createElement)(t,r)}),...Array.isArray(m)?m:[m]])})},20069:(e,t,r)=>{"use strict";r.d(t,{z:()=>l});let l=function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return t.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim()}},28455:(e,t,r)=>{"use strict";r.r(t),r.d(t,{__iconNode:()=>s,default:()=>a});var l=r(40604);let s=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],a=(0,l.A)("check",s)},32886:(e,t,r)=>{"use strict";r.d(t,{BlogArchiveFilters:()=>m});var l=r(34075),s=r(49675),a=r(644),n=r(40808),i=r(81427),c=r(33657),o=r(28455),d=r(45863),u=r(65819),h=r(69935);let x=[{id:"newest",label:"newest"},{id:"oldest",label:"oldest"},{id:"title",label:"title (aâz)"},{id:"quickest",label:"quickest read"}],m=e=>{let{categories:t,tags:r,current:s}=e;return(0,l.jsxs)("div",{className:"archive-controls",children:[(0,l.jsxs)("div",{className:"archive-row head",children:[(0,l.jsx)("span",{className:"label",children:"filter"}),(0,l.jsx)(g,{items:t,value:s.category}),(0,l.jsxs)("div",{className:"control-cluster",children:[(0,l.jsx)(v,{value:s.sort}),(0,l.jsx)(b,{allTags:r,selected:s.tags}),(0,l.jsx)(j,{value:s.q})]})]}),(s.category||s.tags.length>0||s.q)&&(0,l.jsx)(y,{category:s.category,tags:s.tags,query:s.q,categories:t,tagList:r})]})};function p(){var e;let t=(0,a.useRouter)(),r=null!=(e=(0,a.usePathname)())?e:"/blog",l=(0,a.useSearchParams)(),{startRouteTransition:s}=(0,n.useRouteTransition)();return{set:e=>{var a;let n=new URLSearchParams(null!=(a=null==l?void 0:l.toString())?a:"");e(n),n.delete("page");let i=n.toString();s(()=>t.push(i?"".concat(r,"?").concat(i):r))}}}function f(e,t){(0,s.useEffect)(()=>{let r=r=>{e.current&&!e.current.contains(r.target)&&t()};return document.addEventListener("mousedown",r),()=>document.removeEventListener("mousedown",r)},[e,t])}function g(e){var t;let{items:r,value:a}=e,n=function(){let[e,t]=(0,s.useState)(3);return(0,s.useEffect)(()=>{let e=()=>{let e=window.innerWidth;e<420?t(1):e<640?t(2):e<1024?t(3):t(5)};return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]),e}(),{set:o}=p(),[d,u]=(0,s.useState)(!1),h=(0,s.useRef)(null);f(h,()=>u(!1));let x=[...r].sort((e,t)=>{var r,l;return(null!=(r=t.count)?r:0)-(null!=(l=e.count)?l:0)}),m=x.slice(0,n);if(a&&!m.find(e=>e.slug===a)){let e=r.find(e=>e.slug===a);e&&(m=[e,...m.slice(0,n-1)])}let g=x.filter(e=>!m.find(t=>t.slug===e.slug)),v=a&&!m.find(e=>e.slug===a),b=r.reduce((e,t)=>{var r;return e+(null!=(r=t.count)?r:0)},0),j=e=>o(t=>e?t.set("category",e):t.delete("category"));return(0,l.jsxs)("div",{className:"chip-strip",children:[(0,l.jsxs)("button",{className:"chip ".concat(a?"":"active"),onClick:()=>j(null),type:"button",children:["all",(0,l.jsx)("span",{className:"ct",children:b})]}),m.map(e=>{var t;return(0,l.jsxs)("button",{className:"chip ".concat(a===e.slug?"active":""),onClick:()=>j(e.slug),type:"button",children:[e.title,(0,l.jsx)("span",{className:"ct",children:null!=(t=e.count)?t:0})]},e.slug)}),g.length>0&&(0,l.jsxs)("div",{className:"relative",ref:h,children:[(0,l.jsxs)("button",{className:"chip ".concat(v?"active":""),style:{borderStyle:v?"solid":"dashed"},onClick:()=>u(e=>!e),type:"button","aria-expanded":d,children:[(0,l.jsx)(i.default,{size:11}),v?null==(t=r.find(e=>
1e.slug===a))?void 0:t.title:"more",(0,l.jsxs)("span",{className:"ct",children:["+",g.length]}),(0,l.jsx)(c.default,{size:11})]}),d&&(0,l.jsxs)(N,{style:{width:260},children:[(0,l.jsx)(w,{title:"more categories",action:v?{label:"clear",onClick:()=>j(null)}:void 0}),(0,l.jsx)("div",{className:"grid gap-1 max-h-72 overflow-y-auto",children:g.map(e=>{var t;return(0,l.jsxs)("button",{onClick:()=>{j(e.slug),u(!1)},className:"flex items-center justify-between gap-2 px-3 py-2 rounded-md font-mono text-[0.82rem] text-left bg-transparent border-0 cursor-pointer text-fg-muted hover:bg-surface-hi hover:text-fg",type:"button",children:[(0,l.jsx)("span",{children:e.title}),(0,l.jsx)("span",{className:"text-[0.7rem] text-fg-dim",children:null!=(t=e.count)?t:0})]},e.slug)})})]})]})]})}function v(e){var t;let{value:r}=e,{set:a}=p(),[n,i]=(0,s.useState)(!1),d=(0,s.useRef)(null);f(d,()=>i(!1));let u=null!=(t=x.find(e=>e.id===r))?t:x[0];return(0,l.jsxs)("div",{className:"relative",ref:d,children:[(0,l.jsxs)("button",{className:"ctrl","aria-expanded":n,onClick:()=>i(e=>!e),type:"button",children:[(0,l.jsx)("span",{className:"key",children:"sort:"})," ",u.label,(0,l.jsx)(c.default,{size:12})]}),n&&(0,l.jsxs)(N,{style:{width:200},children:[(0,l.jsx)(w,{title:"Sort by"}),(0,l.jsx)("div",{className:"grid gap-1",children:x.map(e=>(0,l.jsxs)("button",{onClick:()=>{let t;t=e.id,a(e=>"newest"===t?e.delete("sort"):e.set("sort",t)),i(!1)},className:"flex items-center justify-between px-3 py-2 rounded-md font-mono text-[0.82rem] text-left border-0 cursor-pointer ".concat(r===e.id?"bg-surface-hi text-brand-secondary":"bg-transparent text-fg-muted"),type:"button",children:[(0,l.jsx)("span",{children:e.label}),r===e.id&&(0,l.jsx)(o.default,{size:13})]},e.id))})]})]})}function b(e){let{allTags:t,selected:r}=e,{set:a}=p(),[n,i]=(0,s.useState)(!1),o=(0,s.useRef)(null);return f(o,()=>i(!1)),(0,l.jsxs)("div",{className:"relative",ref:o,children:[(0,l.jsxs)("button",{className:"ctrl ".concat(r.length?"active":""),"aria-expanded":n,onClick:()=>i(e=>!e),type:"button",children:[(0,l.jsx)(d.default,{size:12}),(0,l.jsx)("span",{className:"key",children:"tags"}),r.length>0&&(0,l.jsx)("span",{className:"font-mono text-[0.65rem] px-2 py-0.5 rounded-full text-white",style:{background:"var(--primary)"},children:r.length}),(0,l.jsx)(c.default,{size:12})]}),n&&(0,l.jsxs)(N,{children:[(0,l.jsx)(w,{title:"filter by tag",action:r.length>0?{label:"clear",onClick:()=>a(e=>e.delete("tag"))}:void 0}),(0,l.jsx)("div",{className:"flex flex-wrap gap-1 max-h-60 overflow-y-auto pr-1",children:t.map(e=>{let t=r.includes(e.slug);return(0,l.jsx)("span",{className:"tag cursor-pointer select-none ".concat(t?"on":""),onClick:()=>{let t;return t=e.slug,a(e=>{var r;let l=(null!=(r=e.get("tag"))?r:"").split(",").filter(Boolean),s=l.includes(t)?l.filter(e=>e!==t):[...l,t];0===s.length?e.delete("tag"):e.set("tag",s.join(","))})},style:t?{background:"linear-gradient(135deg, var(--primary), var(--secondary))",color:"white",borderColor:"transparent"}:void 0,children:e.title},e.slug)})})]})]})}function j(e){let{value:t}=e,{set:r}=p(),[a,n]=(0,s.useState)(t);return(0,s.useEffect)(()=>n(t),[t]),(0,s.useEffect)(()=>{if(a===t)return;let e=setTimeout(()=>r(e=>a?e.set("q",a):e.delete("q")),250);return()=>clearTimeout(e)},[a,t,r]),(0,l.jsxs)("div",{className:"search-box",children:[(0,l.jsx)(u.default,{size:14}),(0,l.jsx)("input",{type:"search",value:a,onChange:e=>n(e.target.value),placeholder:"search articlesâ¦","aria-label":"search articles"}),a&&(0,l.jsx)("button",{type:"button",onClick:()=>{n(""),r(e=>e.delete("q"))},className:"text-fg-dim hover:text-fg","aria-label":"clear search",children:(0,l.jsx)(h.default,{size:13})})]})}function y(e){var t,r;let{category:s,tags:a,query:n,categories:i,tagList:c}=e,{set:o}=p(),d=s?null!=(r=null==(t=i.find(e=>e.slug===s))?void 0:t.title)?r:s:null,u=a.map(e=>{var t,r;return null!=(r=null==(t=c.find(t=>t.slug===e))?void 0:t.title)?r:e});return(0,l.jsx)("div",{className:"archive-row",children:(0,l.jsxs)("div",{className:"flex flex-wrap items-center gap-2 font-mono text-[0.72rem]",children:[(0,l.jsx)("span",{className:"text-fg-dim uppercase tracking-widest",children:"active:"}),d&&(0,l.jsx)(k,{color:"secondary",onClear:()=>
1o(e=>e.delete("category")),children:d}),u.map((e,t)=>{let r=a[t];return(0,l.jsxs)(k,{color:"primary",onClear:()=>o(e=>{let t=a.filter(e=>e!==r);0===t.length?e.delete("tag"):e.set("tag",t.join(","))}),children:["#",e]},r)}),n&&(0,l.jsxs)(k,{color:"secondary",onClear:()=>o(e=>e.delete("q")),children:["â",n,"â"]}),(0,l.jsx)("button",{type:"button",onClick:()=>o(e=>{e.delete("category"),e.delete("tag"),e.delete("q")}),className:"text-fg-dim uppercase tracking-widest hover:text-[var(--primary)] bg-transparent border-0 cursor-pointer",children:"clear all"})]})})}function k(e){let{children:t,color:r,onClear:s}=e;return(0,l.jsxs)("span",{className:"inline-flex items-center gap-1 px-2 py-0.5 rounded-full border",style:"primary"===r?{background:"hsla(350, 80%, 55%, 0.12)",borderColor:"hsla(350, 80%, 55%, 0.3)",color:"var(--primary-soft)"}:{background:"hsla(217, 91%, 60%, 0.12)",borderColor:"hsla(217, 91%, 60%, 0.3)",color:"var(--secondary)"},children:[t,(0,l.jsx)("button",{type:"button",onClick:s,className:"opacity-70 hover:opacity-100","aria-label":"clear filter",children:(0,l.jsx)(h.default,{size:11})})]})}function N(e){let{children:t,style:r}=e;return(0,l.jsx)("div",{className:"absolute right-0 z-30 p-4 rounded-md w-80",style:{top:"calc(100% + 8px)",background:"var(--bg-elev)",border:"1px solid var(--border-hi)",boxShadow:"0 12px 32px -12px rgba(0,0,0,0.5), 0 0 0 1px var(--border)",animation:"pop-in 0.18s ease",...r},children:t})}function w(e){let{title:t,action:r}=e;return(0,l.jsxs)("h5",{className:"font-mono text-[0.7rem] tracking-widest uppercase text-fg-dim font-medium mb-3 flex justify-between m-0",children:[(0,l.jsx)("span",{children:t}),r&&(0,l.jsx)("button",{onClick:r.onClick,className:"bg-transparent border-0 p-0 text-[var(--secondary)] font-inherit text-inherit tracking-inherit normal-case cursor-pointer",type:"button",children:r.label})]})}},33657:(e,t,r)=>{"use strict";r.r(t),r.d(t,{__iconNode:()=>s,default:()=>a});var l=r(40604);let s=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],a=(0,l.A)("chevron-down",s)},40604:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var l=r(49675),s=r(20069);let a=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)};var n=r(14585);let i=(e,t)=>{let r=(0,l.forwardRef)((r,i)=>{let{className:c,...o}=r;return(0,l.createElement)(n.default,{ref:i,iconNode:t,className:(0,s.z)("lucide-".concat(a(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()),"lucide-".concat(e),c),...o})});return r.displayName=a(e),r}},45863:(e,t,r)=>{"use strict";r.r(t),r.d(t,{__iconNode:()=>s,default:()=>a});var l=r(40604);let s=[["path",{d:"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",key:"vktsd0"}],["circle",{cx:"7.5",cy:"7.5",r:".5",fill:"currentColor",key:"kqv944"}]],a=(0,l.A)("tag",s)},65819:(e,t,r)=>{"use strict";r.r(t),r.d(t,{__iconNode:()=>s,default:()=>a});var l=r(40604);let s=[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]],a=(0,l.A)("search",s)},69935:(e,t,r)=>{"use strict";r.r(t),r.d(t,{__iconNode:()=>s,default:()=>a});var l=r(40604);let s=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],a=(0,l.A)("x",s)},81427:(e,t,r)=>{"use strict";r.r(t),r.d(t,{__iconNode:()=>s,default:()=>a});var l=r(40604);let s=[["path",{d:"M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z",key:"sc7q7i"}]],a=(0,l.A)("funnel",s)},86607:(e,t,r)=>{Promise.resolve().then(r.bind(r,40808)),Promise.resolve().then(r.bind(r,14585)),Promise.resolve().then(r.t.bind(r,79892,23)),Promise.resolve().then(r.bind(r,32886))}},e=>{e.O(0,[11916,27815,37209,13843,70827,79892,3008,91827,77358],()=>e(e.s=86607)),_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.