"use client"; 'use strict';var chunkRADZEJMQ_cjs=require('./chunk-RADZEJMQ.cjs'),react=require('react'),jsxRuntime=require('react/jsx-runtime'),shiki=require('shiki'),javascript=require('shiki/engine/javascript');var v=chunkRADZEJMQ_cjs.a("block","before:content-[counter(line)]","before:inline-block","before:[counter-increment:line]","before:w-4","before:mr-4","before:text-[13px]","before:text-right","before:text-muted-foreground/50","before:font-mono","before:select-none"),b=react.memo(({children:e,result:t,language:o,className:r,...s})=>{let n=react.useMemo(()=>({backgroundColor:t.bg,color:t.fg}),[t.bg,t.fg]);return jsxRuntime.jsx("pre",{className:chunkRADZEJMQ_cjs.a(r,"p-4 text-sm dark:bg-(--shiki-dark-bg)!"),"data-language":o,"data-streamdown":"code-block-body",style:n,...s,children:jsxRuntime.jsx("code",{className:"[counter-increment:line_0] [counter-reset:line]",children:t.tokens.map((l,d)=>jsxRuntime.jsx("span",{className:v,children:l.map((a,i)=>jsxRuntime.jsx("span",{className:"dark:bg-(--shiki-dark-bg)! dark:text-(--shiki-dark)!",style:{color:a.color,backgroundColor:a.bgColor,...a.htmlStyle},...a.htmlAttrs,children:a.content},i))},d))})})},(e,t)=>e.result===t.result&&e.language===t.language&&e.className===t.className);var y=({className:e,language:t,style:o,...r})=>jsxRuntime.jsx("div",{className:chunkRADZEJMQ_cjs.a("my-4 w-full overflow-hidden rounded-xl border border-border",e),"data-language":t,"data-streamdown":"code-block",style:{contentVisibility:"auto",containIntrinsicSize:"auto 200px",...o},...r});var L=({language:e,children:t})=>jsxRuntime.jsxs("div",{className:"flex items-center justify-between bg-muted/80 p-3 text-muted-foreground text-xs","data-language":e,"data-streamdown":"code-block-header",children:[jsxRuntime.jsx("span",{className:"ml-1 font-mono lowercase",children:e}),jsxRuntime.jsx("div",{className:"flex items-center gap-2",children:t})]});var $=javascript.createJavaScriptRegexEngine({forgiving:true}),m=new Map,p=new Map,g=new Map,E=(e,t)=>`${e}-${t[0]}-${t[1]}`,A=(e,t,o)=>{let r=e.slice(0,100),s=e.length>100?e.slice(-100):"";return `${t}:${o[0]}:${o[1]}:${e.length}:${r}:${s}`},T=e=>Object.hasOwn(shiki.bundledLanguages,e),K=(e,t)=>{let o=T(e)?e:"text",r=E(o,t);if(m.has(r))return m.get(r);let s=shiki.createHighlighter({themes:t,langs:[o],engine:$});return m.set(r,s),s},h=(e,t,o,r)=>{let s=T(t)?t:"text",n=A(e,s,o);return p.has(n)?p.get(n):(r&&(g.has(n)||g.set(n,new Set),g.get(n).add(r)),K(s,o).then(l=>{let d=l.codeToTokens(e,{lang:s,themes:{light:o[0],dark:o[1]}});p.set(n,d);let a=g.get(n);if(a){for(let i of a)i(d);g.delete(n);}}).catch(l=>{console.error("Failed to highlight code:",l),g.delete(n);}),null)};var le=({code:e,language:t,className:o,children:r,...s})=>{let{shikiTheme:n}=react.useContext(chunkRADZEJMQ_cjs.g),l=react.useMemo(()=>({bg:"transparent",fg:"inherit",tokens:e.split(` `).map(i=>[{content:i,color:"inherit",bgColor:"transparent",htmlStyle:{},offset:0}])}),[e]),[d,a]=react.useState(l);return react.useEffect(()=>{let i=h(e,t,n);if(i){a(i);return}h(e,t,n,x=>{a(x);});},[e,t,n]),jsxRuntime.jsx(chunkRADZEJMQ_cjs.b.Provider,{value:{code:e},children:jsxRuntime.jsxs(y,{language:t,children:[jsxRuntime.jsx(L,{language:t,children:r}),jsxRuntime.jsx(b,{className:o,language:t,result:d,...s})]})})};exports.CodeBlock=le;