import{C as e,Ct as t,Mt as n,T as r,W as i,Y as a,_ as o,ct as s,dt as c,g as l,h as u,m as d,p as f,s as p,tn as m,u as h}from"./vendor/json-editor-vue-9tyg6b65.js";import{D as g}from"./client-kfvz1zfh.js";import{t as _}from"./nbutton-g8ropw1z.js";import{r as v,u as y}from"#entry";import{t as b}from"./nselect-06235qpq.js";import{t as x}from"./nswitch-fd6nlga8.js";import{t as S}from"./ndropdown-jzrbrnq5.js";import{t as C}from"./ncode-block-cfw508sn.js";import{t as w}from"./ndrawer-hxlw4o37.js";import{n as T,t as E}from"./vendor/quicktype-core-gh0wtize.js";var D=E(),O=T(),k={border:`b base`,flex:`~ items-center gap-2`,sticky:``,"left-0":``,"right-0":``,"top-0":``,"z-1":``,"bg-base":``,p3:``},A={key:0,flex:`~ items-center justify-center`,absolute:``,"bottom--1":``,"right--2":``,"h-4":``,"w-4":``,"rounded-full":``,"bg-lime:30":``,"text-8px":``},j={flex:`~ col`,"w-100":``,"of-auto":``,py2:``},M={"text-xs":``,capitalize:``,op75:``},N=Object.assign(r({__name:`DataSchemaDrawer`,setup(r){let T=v(),E=t(0),N=t(`TypeScript`),P=f(()=>O.all.find(e=>e.displayName===N.value)),F=t(P.value?.optionDefinitions.filter(e=>typeof e.defaultValue==`boolean`)),I=g(async()=>{if(E.value,!T.value)return``;let e=(0,D.jsonInputForTargetLanguage)(N.value);await e.addSource({name:T.value.name??`Data`,samples:[T.value.input]});let t=new D.InputData;return t.addInput(e),(await(0,D.quicktype)({inputData:t,lang:N.value,rendererOptions:F.value?.reduce((e,t)=>(e[t.name]=t.defaultValue,e),{})})).lines.join(` `)}),L=f(()=>{let e=N.value.toLocaleLowerCase();return e.startsWith(`javascript`)?`javascript`:e.startsWith(`json`)?`json`:e.startsWith(`typescript`)?`typescript`:e});s(F,()=>{E.value++},{deep:!0}),s(N,()=>{F.value=P.value?.optionDefinitions.filter(e=>typeof e.defaultValue==`boolean`)});let R=y();function z(){R(I.value||``)}return(t,r)=>{let s=b,f=_,g=x,v=S,y=C,E=w;return P.value?(i(),u(h,{key:0,to:`body`},[e(E,{"model-value":!!n(T)?.input,"auto-close":``,"max-w-screen":``,"w-2xl":``,"n-code-block":``,onClose:r[2]||=e=>T.value=null},{default:c(()=>[d(`div`,k,[r[3]||=d(`p`,{"mr-2":``},` Schema `,-1),e(s,{modelValue:N.value,"onUpdate:modelValue":r[0]||=e=>N.value=e,n:`xs primary`},{default:c(()=>[(i(!0),o(p,null,a(n(O.all),e=>(i(),o(`option`,{key:e.displayName},m(e.displayName),1))),128))]),_:1},8,[`modelValue`]),F.value?.length?(i(),u(v,{key:0,n:`sm lime`},{trigger:c(({click:t})=>[e(f,{icon:`carbon-settings`,"h-full":``,onClick:e=>t()},null,8,[`onClick`]),F.value?(i(),o(`span`,A,m(F.value.length),1)):l(``,!0)]),default:c(()=>[d(`div`,j,[(i(!0),o(p,null,a(F.value,(e,t)=>(i(),u(g,{key:e.name,modelValue:F.value[t].defaultValue,"onUpdate:modelValue":e=>F.value[t].defaultValue=e,flex:`~ gap-2`,rounded:``,px2:``,py2:``},{default:c(()=>[d(`span`,M,m(e.description),1)]),_:2},1032,[`modelValue`,`onUpdate:modelValue`]))),128))])]),_:1})):l(``,!0),r[4]||=d(`div`,{"flex-auto":``},null,-1),e(f,{icon:`carbon-copy`,"mr-6":``,"h-full":``,onClick:r[1]||=e=>z()})]),n(I)?(i(),u(y,{key:0,lang:L.value,code:n(I)},null,8,[`lang`,`code`])):l(``,!0)]),_:1},8,[`model-value`])])):l(``,!0)}}}),{__name:`DataSchemaDrawer`});export{N as default};