import{$t as e,C as t,Et as n,Mt as r,O as i,P as a,Q as o,Qt as s,T as c,V as l,W as u,X as d,_ as f,ft as p,g as m,h,m as g,p as _,s as v,t as y,tn as b}from"./vendor/json-editor-vue-9tyg6b65.js";import{K as x,b as S,t as C,tt as w}from"./client-kfvz1zfh.js";import{t as T}from"./nbutton-g8ropw1z.js";import{t as E}from"./data-schema-button-b1hh0bpu.js";var D=[`open`],O={flex:`~ gap2`,"select-none":``,"items-center":``,px4:``},k={key:0,class:`bg-red:10 px5 py3 text-red`},A=Object.assign(c({__name:`StateEditor`,props:{name:{},open:{type:Boolean},revision:{},state:{},readonly:{type:Boolean}},emits:[`update:open`],setup(c,{emit:A}){let j=c,M=x(j,`open`,A,{passive:!0}),N=C(),P=n(),F=n(),I=_(()=>!j.name||!!M.value);function L(e){return[`number`,`bigint`,`string`,`boolean`].includes(typeof e)}function R(){if(F.value=void 0,I.value)try{P.value=L(j.state)?j.state:S(j.state??{},{lossy:!0})}catch(e){console.error(e),F.value=e}}l(R),w(()=>[j.revision,j.state,I.value],R,{debounce:100,maxWait:500});function z(){R()}return(n,l)=>{let _=T,x=E,S=o(`tooltip`);return u(),f(`div`,{class:`state-editor-details`,open:!c.name||r(M)},[g(`div`,O,[c.name?(u(),f(`button`,{key:0,flex:`~`,"cursor-pointer":``,"items-center":``,class:s(r(M)?``:`op50`),onClick:l[0]||=e=>M.value=!r(M)},[g(`div`,{"i-carbon-chevron-right":``,transition:``,class:s(r(M)?`rotate-90 op0`:``)},null,2),g(`code`,{px3:``,py1:``,"font-mono":``,class:s(r(M)?`bg-[#8881] rounded-t`:`rounded hover:bg-active`)},b(c.name),3)],2)):m(``,!0),d(n.$slots,`actions`,e(i({isOpen:r(M),name:c.name,state:c.state}))),r(M)?(u(),f(v,{key:1},[p(t(_,{title:`Refresh View`,icon:`carbon-renew`,border:!1,onClick:z},null,512),[[S,`Refresh View`,void 0,{bottom:!0}]]),P.value&&!F.value?(u(),h(x,{key:0,getter:()=>({name:c.name,input:JSON.stringify(P.value)})},null,8,[`getter`])):m(``,!0)],64)):m(``,!0)]),r(M)||!c.name?(u(),f(v,{key:0},[F.value?(u(),f(`div`,k,` Error: `+b(F.value),1)):(u(),h(r(y),a({key:1,modelValue:P.value,"onUpdate:modelValue":l[1]||=e=>P.value=e},n.$attrs,{class:[`json-editor-vue`,[r(N)===`dark`?`jse-theme-dark`:``,(c.name,``)]],"main-menu-bar":!1,"navigation-bar":!1,"status-bar":!1,"read-only":j.readonly,indentation:2,"tab-size":2}),null,16,[`modelValue`,`class`,`read-only`]))],64)):m(``,!0)],8,D)}}}),{__name:`StateEditor`});export{A as t};