import{b as g,c as k,d as w,a as M,u as O,f as y,h as W}from"./light-Cua7cqmF.js";import{a as F}from"./context-KbjOeZY_.js";import{i as I,c as d,d as q,s as V,v as D,t as j,O as C,G as x}from"./index-bVOhw2NF.js";import{c as G}from"./light-BrVOPY0a.js";function K(n,e){const l=I(F,null);return d(()=>n.hljs||(l==null?void 0:l.mergedHljsRef.value))}const U=g([k("code",` font-size: var(--n-font-size); font-family: var(--n-font-family); `,[w("show-line-numbers",` display: flex; `),M("line-numbers",` user-select: none; padding-right: 12px; text-align: right; transition: color .3s var(--n-bezier); color: var(--n-line-number-text-color); `),w("word-wrap",[g("pre",` white-space: pre-wrap; word-break: break-all; `)]),g("pre",` margin: 0; line-height: inherit; font-size: inherit; font-family: inherit; `),g("[class^=hljs]",` color: var(--n-text-color); transition: color .3s var(--n-bezier), background-color .3s var(--n-bezier); `)]),({props:n})=>{const e=`${n.bPrefix}code`;return[`${e} .hljs-comment, ${e} .hljs-quote { color: var(--n-mono-3); font-style: italic; }`,`${e} .hljs-doctag, ${e} .hljs-keyword, ${e} .hljs-formula { color: var(--n-hue-3); }`,`${e} .hljs-section, ${e} .hljs-name, ${e} .hljs-selector-tag, ${e} .hljs-deletion, ${e} .hljs-subst { color: var(--n-hue-5); }`,`${e} .hljs-literal { color: var(--n-hue-1); }`,`${e} .hljs-string, ${e} .hljs-regexp, ${e} .hljs-addition, ${e} .hljs-attribute, ${e} .hljs-meta-string { color: var(--n-hue-4); }`,`${e} .hljs-built_in, ${e} .hljs-class .hljs-title { color: var(--n-hue-6-2); }`,`${e} .hljs-attr, ${e} .hljs-variable, ${e} .hljs-template-variable, ${e} .hljs-type, ${e} .hljs-selector-class, ${e} .hljs-selector-attr, ${e} .hljs-selector-pseudo, ${e} .hljs-number { color: var(--n-hue-6); }`,`${e} .hljs-symbol, ${e} .hljs-bullet, ${e} .hljs-link, ${e} .hljs-meta, ${e} .hljs-selector-id, ${e} .hljs-title { color: var(--n-hue-2); }`,`${e} .hljs-emphasis { font-style: italic; }`,`${e} .hljs-strong { font-weight: var(--n-font-weight-strong); }`,`${e} .hljs-link { text-decoration: underline; }`]}]),A=Object.assign(Object.assign({},y.props),{language:String,code:{type:String,default:""},trim:{type:Boolean,default:!0},hljs:Object,uri:Boolean,inline:Boolean,wordWrap:Boolean,showLineNumbers:Boolean,internalFontSize:Number,internalNoHighlight:Boolean}),Z=q({name:"Code",props:A,setup(n,{slots:e}){const{internalNoHighlight:l}=n,{mergedClsPrefixRef:m,inlineThemeDisabled:h}=O(),a=V(null),b=l?{value:void 0}:K(n),p=(t,r,o)=>{const{value:s}=b;return!s||!(t&&s.getLanguage(t))?null:s.highlight(o?r.trim():r,{language:t}).value},N=d(()=>n.inline||n.wordWrap?!1:n.showLineNumbers),f=()=>{if(e.default)return;const{value:t}=a;if(!t)return;const{language:r}=n,o=n.uri?window.decodeURIComponent(n.code):n.code;if(r){const i=p(r,o,n.trim);if(i!==null){if(n.inline)t.innerHTML=i;else{const $=t.querySelector(".__code__");$&&t.removeChild($);const u=document.createElement("pre");u.className="__code__",u.innerHTML=i,t.appendChild(u)}return}}if(n.inline){t.textContent=o;return}const s=t.querySelector(".__code__");if(s)s.textContent=o;else{const i=document.createElement("pre");i.className="__code__",i.textContent=o,t.innerHTML="",t.appendChild(i)}};D(f),j(C(n,"language"),f),j(C(n,"code"),f),l||j(b,f);const R=y("Code","-code",U,G,n,m),v=d(()=>{const{common:{cubicBezierEaseInOut:t,fontFamilyMono:r},self:{textColor:o,fontSize:s,fontWeightStrong:i,lineNumberTextColor:$,"mono-3":u,"hue-1":z,"hue-2":S,"hue-3":L,"hue-4":H,"hue-5":P,"hue-5-2":B,"hue-6":E,"hue-6-2":T}}=R.value,{internalFontSize:_}=n;return{"--n-font-size":_?`${_}px`:s,"--n-font-family":r,"--n-font-weight-strong":i,"--n-bezier":t,"--n-text-color":o,"--n-mono-3":u,"--n-hue-1":z,"--n-hue-2":S,"--n-hue-3":L,"--n-hue-4":H,"--n-hue-5":P,"--n-hue-5-2":B,"--n-hue-6":E,"--n-hue-6-2":T,"--n-line-number-text-color":$}}),c=h?W("code",d(()=>`${n.internalFontSize||"a"}`),v,n):void 0;return{mergedClsPrefix:m,codeRef:a,mergedShowLineNumbers:N,lineNumbers:d(()=>{let t=1;const r=[];let o=!1;for(const s of n.code)s===` `?(o=!0,r.push(t++)):o=!1;return o||r.push(t++),r.join(` `)}),cssVars:h?void 0:v,themeClass:c==null?void 0:c.themeClass,onRender:c==null?void 0:c.onRender}},render(){var n,e;const{mergedClsPrefix:l,wordWrap:m,mergedShowLineNumbers:h,onRender:a}=this;return a==null||a(),x("code",{class:[`${l}-code`,this.themeClass,m&&`${l}-code--word-wrap`,h&&`${l}-code--show-line-numbers`],style:this.cssVars,ref:"codeRef"},h?x("pre",{class:`${l}-code__line-numbers`},this.lineNumbers):null,(e=(n=this.$slots).default)===null||e===void 0?void 0:e.call(n))}});export{Z as _};