tinybase 7.2.0 → 7.3.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- import{jsx as e,jsxs as t,Fragment as l}from"react/jsx-runtime";import{useCell as n,useValue as s,useSetValueCallback as r,CellView as o,ResultCellView as a,ValueView as i,useSetCellCallback as d,useIndexes as c,useIndexIds as u,useSliceIds as h,useMetrics as m,useMetricIds as g,useMetric as b,useQueries as p,useQueryIds as v,useRelationships as I,useRelationshipIds as f,useTableIds as C,useTableCellIds as w,useHasCell as T,useValueIds as y,useStore as q,useValues as x,useStoreIds as k,useMetricsIds as S,useIndexesIds as D,useRelationshipsIds as Z,useQueriesIds as M,useCreateStore as N,useCreatePersister as L}from"../../ui-react/with-schemas/index.js";import V from"react";const E=e=>typeof e,R="",A=E(R),$=E(!0),H=E(0),z=E(E),P="type",J="default",O="allowNull",B="Listener",j="Result",F="Has",W="Ids",Q="Table",_=Q+"s",K=Q+W,G="Row",U=G+"Count",X=G+W,Y="Sorted"+G+W,ee="Cell",te=ee+W,le="Value",ne=le+"s",se=le+W,re="currentTarget",oe="value",ae="extra",ie=e=>R+e,de=e=>(t,l,n)=>e(t)?n?.():l(t),ce=globalThis,ue=ce.window,he=Math,me=he.min,ge=he.floor,be=isFinite,pe=e=>null==e,ve=e=>void 0===e,Ie=e=>null===e,fe=e=>!1===e,Ce=de(pe),we=de(ve),Te=e=>e==A||e==$,ye=e=>E(e)==A,qe=e=>E(e)==z,xe=e=>Array.isArray(e),ke=(e,t,l)=>e.slice(t,l),Se=e=>e.length,De=()=>{},Ze=e=>{throw Error(e)},Me=async(e,t,l)=>{try{return await e()}catch(e){t?.(e)}},Ne=(e,t)=>e.every(t),Le=(e,t)=>Se(e)===Se(t)&&Ne(e,(e,l)=>t[l]===e),Ve=(e,t)=>xe(e)&&xe(t)?Le(e,t):e===t,Ee=(e,t)=>e.sort(t),Re=(e,t)=>e.forEach(t),Ae=(e,t="")=>e.join(t),$e=(e,t)=>e.map(t),He=e=>0==Se(e),ze=(e,...t)=>e.push(...t),Pe=e=>e.shift(),Je=Object,Oe=e=>Je.getPrototypeOf(e),Be=Je.isFrozen,je=Je.entries,Fe=e=>!pe(e)&&Ce(Oe(e),e=>e==Je.prototype||pe(Oe(e)),()=>!0),We=Je.keys,Qe=Je.freeze,_e=(e=[])=>Je.fromEntries(e),Ke=(e,t)=>t in e,Ge=(e,t)=>(delete e[t],e),Ue=(e,t)=>$e(je(e),([e,l])=>t(l,e)),Xe=(e,t)=>_e(Ue(e,(e,l)=>[l,t(e,l)])),Ye=e=>Se(We(e)),et=e=>Fe(e)&&0==Ye(e),tt=(e,t,l=(e,t)=>e===t)=>{const n=je(e);return Se(n)===Ye(t)&&Ne(n,([e,n])=>Fe(n)?!!Fe(t[e])&&tt(t[e],n):l(n,t[e]))},lt=(e,t,l,n=0)=>pe(e)||!Fe(e)||!n&&et(e)||Be(e)?(l?.(),!1):(((e,t)=>{Re(je(e),([e,l])=>t(l,e))})(e,(l,n)=>{t(l,n)||Ge(e,n)}),!!n||!et(e)),nt=JSON.stringify,st=JSON.parse,rt=e=>nt(e,(e,t)=>t instanceof Map?Je.fromEntries([...t]):t),ot=e=>st(e,(e,t)=>""===t?void 0:t),at=e=>t=>{return l=(t,l)=>t+e(l),gt(t).reduce(l,0);var l},it=e=>e?.size??0,dt=at(it),ct=at(dt),ut=at(ct),ht=(e,t)=>e?.has(t)??!1,mt=e=>ve(e)||0==it(e),gt=e=>[...e?.values()??[]],bt=e=>e.clear(),pt=(e,t)=>e?.forEach(t),vt=(e,t)=>e?.delete(t),It=e=>new Map(e),ft=e=>[...e?.keys()??[]],Ct=(e,t)=>e?.get(t),wt=(e,t)=>pt(e,(e,l)=>t(l,e)),Tt=(e,t,l)=>ve(l)?(vt(e,t),e):e?.set(t,l),yt=(e,t,l,n)=>(ht(e,t)?n?.(Ct(e,t)):Tt(e,t,l()),Ct(e,t)),qt=(e,t,l,n=Tt)=>(Xe(t,(t,n)=>l(e,n,t)),wt(e,l=>Ke(t,l)?0:n(e,l)),e),xt=(e,t,l,n)=>{const s={};return pt(e,(e,r)=>{if(!l?.(e,r)){const l=t?t(e,r):e;n?.(l)||(s[r]=l)}}),s},kt=(e,t,l)=>xt(e,e=>xt(e,t,l),mt,et),St=(e,t,l)=>xt(e,e=>kt(e,t,l),mt,et),Dt=(e,t)=>{const l=It();return pt(e,(e,n)=>l.set(n,t?.(e)??e)),l},Zt=e=>Dt(e,Dt),Mt=e=>Dt(e,Zt),Nt=(e,t,l,n,s=0)=>we((l?yt:Ct)(e,t[s],s>Se(t)-2?l:It),r=>{if(s>Se(t)-2)return n?.(r)&&Tt(e,t[s]),r;const o=Nt(r,t,l,n,s+1);return mt(r)&&Tt(e,t[s]),o}),Lt=/^\d+$/,Vt=()=>{const e=[];let t=0;return[l=>(l?Pe(e):null)??R+t++,t=>{Lt.test(t)&&Se(e)<1e3&&ze(e,t)}]},Et=e=>new Set(xe(e)||ve(e)?e:[e]),Rt=(e,t)=>e?.add(t),At=e=>{let t;const[l,n]=Vt(),s=It();return[(n,r,o,a=[],i=()=>[])=>{t??=e();const d=l(1);return Tt(s,d,[n,r,o,a,i]),Rt(Nt(r,o??[R],Et),d),d},(e,l,...n)=>Re(((e,t=[R])=>{const l=[],n=(e,s)=>s==Se(t)?ze(l,e):Ie(t[s])?pt(e,e=>n(e,s+1)):Re([t[s],null],t=>n(Ct(e,t),s+1));return n(e,0),l})(e,l),e=>pt(e,e=>Ct(s,e)[0](t,...l??[],...n))),e=>we(Ct(s,e),([,t,l])=>(Nt(t,l??[R],void 0,t=>(vt(t,e),mt(t)?1:0)),Tt(s,e),n(e),l)),e=>we(Ct(s,e),([e,,l=[],n,s])=>{const r=(...o)=>{const a=Se(o);a==Se(l)?e(t,...o,...s(o)):Ie(l[a])?Re(n[a]?.(...o)??[],e=>r(...o,e)):r(...o,l[a])};r()})]},$t=It(),Ht=It(),zt="storage",Pt=e=>{if(Ie(e))return"null";const t=E(e);return Te(t)||t==H&&be(e)?t:void 0},Jt=(e,t,l,n,s)=>ve(s)?e.delCell(t,l,n,!0):e.setCell(t,l,n,s),Ot=(e,t,l)=>ve(l)?e.delValue(t):e.setValue(t,l),Bt=(e,t,l,n)=>e==A?t:e==H?l:e==$?n:null,jt=e=>[e,e],Ft=(e,t=dt)=>t(e[0])+t(e[1]),Wt=()=>[It(),It()],Qt=e=>[...e],_t=([e,t])=>e===t,Kt=(e,t,l)=>Tt(e,t,Ct(e,t)==-l?void 0:l),Gt=()=>{let e,t,l=!1,n=!1,s=0,r=[];const o=It(),a=It(),i=It(),d=It(),c=It(),u=It(),h=It(),m=It(),g=It(),b=It(),p=It(),v=It(),I=It(),f=It(),C=Et(),w=It(),T=It(),y=It(),q=It(),x=Wt(),k=Wt(),S=Wt(),D=Wt(),Z=Wt(),M=Wt(),N=Wt(),L=Wt(),V=Wt(),E=Wt(),R=Wt(),A=Wt(),$=Wt(),z=Wt(),j=Wt(),W=Wt(),Y=Wt(),re=Wt(),oe=Wt(),ae=Wt(),de=Wt(),ce=Wt(),ue=It(),he=Wt(),[me,ge,be,pe]=At(()=>Jl),fe=e=>{if(!lt(e,(e,t)=>[P,J,O].includes(t)))return!1;const t=e[P];if(!Te(t)&&t!=H)return!1;const l=e[J];return!(Ie(l)&&!e[O]||(Ie(l)||Pt(l)==t||Ge(e,J),0))},Ce=xe,ye=(t,l)=>(!e||ht(p,l)||Xt(l))&&lt(t,(e,t)=>Se(l,t,e),()=>Xt(l)),Se=(e,t,l,n)=>lt(n?l:Ve(l,e,t),(n,s)=>we(De(e,t,s,n),e=>(l[s]=e,!0),()=>!1),()=>Xt(e,t)),De=(t,l,n,s)=>e?we(Ct(Ct(p,t),n),e=>Ie(s)?e[O]?s:Xt(t,l,n,s,e[J]):Pt(s)==e[P]?s:Xt(t,l,n,s,e[J]),()=>Xt(t,l,n,s)):ve(Pt(s))?Xt(t,l,n,s):s,Ze=(e,t)=>lt(t?e:Ae(e),(t,l)=>we(Ne(l,t),t=>(e[l]=t,!0),()=>!1),()=>Yt()),Ne=(e,l)=>t?we(Ct(I,e),t=>Ie(l)?t[O]?l:Yt(e,l,t[J]):Pt(l)==t[P]?l:Yt(e,l,t[J]),()=>Yt(e,l)):ve(Pt(l))?Yt(e,l):l,Ve=(e,t,l)=>(we(Ct(v,t),([n,s])=>{pt(n,(t,l)=>{Ke(e,l)||(e[l]=t)}),pt(s,n=>{Ke(e,n)||Xt(t,l,n)})}),e),Ae=e=>(t&&(pt(f,(t,l)=>{Ke(e,l)||(e[l]=t)}),pt(C,t=>{Ke(e,t)||Yt(t)})),e),He=e=>qt(p,e,(e,t,l)=>{const n=It(),s=Et();qt(yt(p,t,It),l,(e,t,l)=>{Tt(e,t,l),we(l[J],e=>Tt(n,t,e),()=>Rt(s,t))}),Tt(v,t,[n,s])},(e,t)=>{Tt(p,t),Tt(v,t)}),Pe=e=>qt(I,e,(e,t,l)=>{Tt(I,t,l),we(l[J],e=>Tt(f,t,e),()=>Rt(C,t))},(e,t)=>{Tt(I,t),Tt(f,t),vt(C,t)}),Je=e=>et(e)?Ll():Sl(e),Oe=e=>qt(y,e,(e,t,l)=>Be(t,l),(e,t)=>ot(t)),Be=(e,t)=>qt(yt(y,e,()=>(Lt(e,1),Tt(w,e,Vt()),Tt(T,e,It()),It())),t,(t,l,n)=>je(e,t,l,n),(t,l)=>at(e,t,l)),je=(e,t,l,n,s)=>qt(yt(t,l,()=>($t(e,l,1),It())),n,(t,n,s)=>We(e,l,t,n,s),(n,r)=>gt(e,t,l,n,r,s)),We=(e,t,l,n,s)=>{ht(l,n)||Ht(e,t,n,1);const r=Ct(l,n);s!==r&&(zt(e,t,n,r,s),Tt(l,n,s))},_e=(e,t,l,n,s)=>we(Ct(t,l),t=>We(e,l,t,n,s),()=>je(e,t,l,Ve({[n]:s},e,l))),Ue=e=>et(e)?Rl():Dl(e),Ye=e=>qt(q,e,(e,t,l)=>tt(t,l),(e,t)=>Nt(t)),tt=(e,t)=>{ht(q,e)||Bt(e,1);const l=Ct(q,e);t!==l&&(Ut(e,l,t),Tt(q,e,t))},nt=e=>Ct(y,e)??Be(e,{}),ot=e=>Be(e,{}),at=(e,t,l)=>{const[,n]=Ct(w,e);n(l),je(e,t,l,{},!0)},gt=(e,t,l,n,s,r)=>{const o=Ct(Ct(v,e)?.[0],s);if(!ve(o)&&!r)return We(e,l,n,s,o);const a=t=>{zt(e,l,t,Ct(n,t)),Ht(e,l,t,-1),Tt(n,t)};ve(o)?a(s):wt(n,a),mt(n)&&($t(e,l,-1),mt(Tt(t,l))&&(Lt(e,-1),Tt(y,e),Tt(w,e),Tt(T,e)))},Nt=e=>{const t=Ct(f,e);if(!ve(t))return tt(e,t);Ut(e,Ct(q,e)),Bt(e,-1),Tt(q,e)},Lt=(e,t)=>Kt(o,e,t),$t=(e,t,l)=>Kt(yt(d,e,It),t,l)&&Tt(i,e,yt(i,e,()=>0)+l),Ht=(e,t,l,n)=>{const s=Ct(T,e),r=Ct(s,l)??0;(0==r&&1==n||1==r&&-1==n)&&Kt(yt(a,e,It),l,n),Tt(s,l,r!=-n?r+n:void 0),Kt(yt(yt(c,e,It),t,It),l,n)},zt=(e,t,l,n,s)=>{yt(yt(yt(u,e,It),t,It),l,()=>[n,0])[1]=s,r[3]?.(e,t,l,s)},Bt=(e,t)=>Kt(h,e,t),Ut=(e,t,l)=>{yt(m,e,()=>[t,0])[1]=l,r[4]?.(e,l)},Xt=(e,t,l,n,s)=>(ze(yt(yt(yt(g,e,It),t,It),l,()=>[]),n),s),Yt=(e,t,l)=>(ze(yt(b,e,()=>[]),t),l),el=(e,t,l)=>we(Ct(Ct(Ct(u,e),t),l),([e,t])=>[!0,e,t],()=>[!1,...jt(pl(e,t,l))]),tl=e=>we(Ct(m,e),([e,t])=>[!0,e,t],()=>[!1,...jt(fl(e))]),ll=e=>mt(g)||mt(W[e])?0:pt(e?Mt(g):g,(t,l)=>pt(t,(t,n)=>pt(t,(t,s)=>ge(W[e],[l,n,s],t)))),nl=e=>mt(b)||mt(Y[e])?0:pt(e?Dt(b):b,(t,l)=>ge(Y[e],[l],t)),sl=(e,t,l,n)=>{if(!mt(e))return ge(t,n,()=>xt(e)),wt(e,(e,t)=>ge(l,[...n??[],e],1==t)),1},rl=e=>{const t=Cl();t!=l&&ge(x[e],void 0,t);const n=mt(E[e]),s=mt($[e])&&mt(z[e])&&mt(V[e])&&mt(R[e])&&mt(M[e])&&mt(N[e])&&mt(L[e])&&n&&mt(S[e])&&mt(D[e]),r=mt(j[e])&&mt(A[e])&&mt(Z[e])&&mt(k[e]);if(!s||!r){const t=e?[Dt(o),Zt(a),Dt(i),Zt(d),Mt(c),Mt(u)]:[o,a,i,d,c,u];if(!s){sl(t[0],S[e],D[e]),pt(t[1],(t,l)=>sl(t,M[e],N[e],[l])),pt(t[2],(t,l)=>{0!=t&&ge(L[e],[l],hl(l))});const l=Et();pt(t[3],(t,s)=>{sl(t,V[e],R[e],[s])&&!n&&(ge(E[e],[s,null]),Rt(l,s))}),n||pt(t[5],(t,n)=>{if(!ht(l,n)){const l=Et();pt(t,e=>pt(e,([t,n],s)=>n!==t?Rt(l,s):vt(e,s))),pt(l,t=>ge(E[e],[n,t]))}}),pt(t[4],(t,l)=>pt(t,(t,n)=>sl(t,$[e],z[e],[l,n])))}if(!r){let l;pt(t[5],(t,n)=>{let s;pt(t,(t,r)=>{let o;pt(t,([t,a],i)=>{a!==t&&(ge(j[e],[n,r,i],a,t,el),l=s=o=1)}),o&&ge(A[e],[n,r],el)}),s&&ge(Z[e],[n],el)}),l&&ge(k[e],void 0,el)}}},ol=e=>{const t=xl();t!=n&&ge(re[e],void 0,t);const l=mt(ae[e])&&mt(de[e]),s=mt(ce[e])&&mt(oe[e]);if(!l||!s){const t=e?[Dt(h),Dt(m)]:[h,m];if(l||sl(t[0],ae[e],de[e]),!s){let l;pt(t[1],([t,n],s)=>{n!==t&&(ge(ce[e],[s],n,t,tl),l=1)}),l&&ge(oe[e],void 0,tl)}}},al=(e,...t)=>(Hl(()=>e(...$e(t,ie))),Jl),il=(e,t,l,n,s)=>{let r=gl(e,t,...l);return me(()=>{const s=gl(e,t,...l);Le(s,r)||(r=s,n(Jl,e,t,...l,r))},E[s?1:0],[e,t],[cl])},dl=()=>St(y),cl=()=>ft(y),ul=e=>ft(Ct(T,ie(e))),hl=e=>it(Ct(y,ie(e))),ml=e=>ft(Ct(y,ie(e))),gl=(e,t,l,n=0,s)=>{return Fe(e)?gl(e.tableId,e.cellId,e.descending,e.offset,e.limit):$e(ke(Ee((r=Ct(y,ie(e)),o=(e,l)=>[ve(t)?l:Ct(e,ie(t)),l],$e([...r?.entries()??[]],([e,t])=>o(t,e))),([e],[t])=>((e??0)<(t??0)?-1:1)*(l?-1:1)),n,ve(s)?s:n+s),([,e])=>e);var r,o},bl=(e,t)=>ft(Ct(Ct(y,ie(e)),ie(t))),pl=(e,t,l)=>Ct(Ct(Ct(y,ie(e)),ie(t)),ie(l)),vl=()=>xt(q),Il=()=>ft(q),fl=e=>Ct(q,ie(e)),Cl=()=>!mt(y),wl=e=>ht(y,ie(e)),Tl=(e,t)=>ht(Ct(T,ie(e)),ie(t)),yl=(e,t)=>ht(Ct(y,ie(e)),ie(t)),ql=(e,t,l)=>ht(Ct(Ct(y,ie(e)),ie(t)),ie(l)),xl=()=>!mt(q),kl=e=>ht(q,ie(e)),Sl=e=>al(()=>(e=>lt(e,ye,Xt))(e)?Oe(e):0),Dl=e=>al(()=>Ze(e)?Ye(e):0),Zl=e=>(Me(()=>Je(st(e))),Jl),Ml=t=>al(()=>{if((e=lt(t,e=>lt(e,fe)))&&(He(t),!mt(y))){const e=dl();Ll(),Sl(e)}}),Nl=e=>al(()=>{if(t=(e=>lt(e,fe))(e)){const l=vl();$l(),Rl(),t=!0,Pe(e),Dl(l)}}),Ll=()=>al(()=>Oe({})),Vl=e=>al(e=>ht(y,e)?ot(e):0,e),El=(e,t)=>al((e,t)=>we(Ct(y,e),l=>ht(l,t)?at(e,l,t):0),e,t),Rl=()=>al(()=>Ye({})),Al=()=>al(()=>{He({}),e=!1}),$l=()=>al(()=>{Pe({}),t=!1}),Hl=(e,t)=>{if(-1!=s){zl();const l=e();return Pl(t),l}},zl=()=>(-1!=s&&s++,1==s&&(r[0]?.(),ge(ue)),Jl),Pl=e=>(s>0&&(s--,0==s&&(s=1,ll(1),mt(u)||rl(1),nl(1),mt(m)||ol(1),e?.(Jl)&&(pt(u,(e,t)=>pt(e,(e,l)=>pt(e,([e],n)=>Jt(Jl,t,l,n,e)))),bt(u),pt(m,([e],t)=>Ot(Jl,t,e)),bt(m)),ge(he[0],void 0),s=-1,ll(0),mt(u)||rl(0),nl(0),mt(m)||ol(0),r[1]?.(),ge(he[1],void 0),r[2]?.(),s=0,l=Cl(),n=xl(),Re([o,a,i,d,c,u,g,h,m,b],bt))),Jl),Jl={getContent:()=>[dl(),vl()],getTables:dl,getTableIds:cl,getTable:e=>kt(Ct(y,ie(e))),getTableCellIds:ul,getRowCount:hl,getRowIds:ml,getSortedRowIds:gl,getRow:(e,t)=>xt(Ct(Ct(y,ie(e)),ie(t))),getCellIds:bl,getCell:pl,getValues:vl,getValueIds:Il,getValue:fl,hasTables:Cl,hasTable:wl,hasTableCell:Tl,hasRow:yl,hasCell:ql,hasValues:xl,hasValue:kl,getTablesJson:()=>rt(y),getValuesJson:()=>rt(q),getJson:()=>rt([y,q]),getTablesSchemaJson:()=>rt(p),getValuesSchemaJson:()=>rt(I),getSchemaJson:()=>rt([p,I]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:e=>al(()=>{const t=qe(e)?e():e;Ce(t)&&(([e,t])=>{(et(e)?Ll:Sl)(e),(et(t)?Rl:Dl)(t)})(t)}),setTables:Sl,setTable:(e,t)=>al(e=>ye(t,e)?Be(e,t):0,e),setRow:(e,t,l)=>al((e,t)=>Se(e,t,l)?je(e,nt(e),t,l):0,e,t),addRow:(e,t,l=!0)=>Hl(()=>{let n;return Se(e,n,t)&&(e=ie(e),je(e,nt(e),n=((e,t)=>{const[l]=Ct(w,e);let n;do{n=l(t)}while(ht(Ct(y,e),n));return n})(e,l?1:0),t)),n}),setPartialRow:(e,t,l)=>al((e,t)=>{if(Se(e,t,l,1)){const n=nt(e);Xe(l,(l,s)=>_e(e,n,t,s,l))}},e,t),setCell:(e,t,l,n)=>al((e,t,l)=>we(De(e,t,l,qe(n)?n(pl(e,t,l)):n),n=>_e(e,nt(e),t,l,n)),e,t,l),setValues:Dl,setPartialValues:e=>al(()=>Ze(e,1)?Xe(e,(e,t)=>tt(t,e)):0),setValue:(e,t)=>al(e=>we(Ne(e,qe(t)?t(fl(e)):t),t=>tt(e,t)),e),applyChanges:e=>al(()=>{Xe(e[0],(e,t)=>ve(e)?Vl(t):Xe(e,(e,l)=>ve(e)?El(t,l):Xe(e,(e,n)=>Jt(Jl,t,l,n,e)))),Xe(e[1],(e,t)=>Ot(Jl,t,e))}),setTablesJson:Zl,setValuesJson:e=>(Me(()=>Ue(st(e))),Jl),setJson:e=>al(()=>Me(()=>{const[t,l]=st(e);Je(t),Ue(l)},()=>Zl(e))),setTablesSchema:Ml,setValuesSchema:Nl,setSchema:(e,t)=>al(()=>{Ml(e),Nl(t)}),delTables:Ll,delTable:Vl,delRow:El,delCell:(e,t,l,n)=>al((e,t,l)=>we(Ct(y,e),s=>we(Ct(s,t),r=>ht(r,l)?gt(e,s,t,r,l,n):0)),e,t,l),delValues:Rl,delValue:e=>al(e=>ht(q,e)?Nt(e):0,e),delTablesSchema:Al,delValuesSchema:$l,delSchema:()=>al(()=>{Al(),$l()}),transaction:Hl,startTransaction:zl,getTransactionChanges:()=>[xt(u,(e,t)=>-1===Ct(o,t)?void 0:xt(e,(e,l)=>-1===Ct(Ct(d,t),l)?void 0:xt(e,([,e])=>e,e=>_t(e)),mt,et),mt,et),xt(m,([,e])=>e,e=>_t(e)),1],getTransactionLog:()=>[!mt(u),!mt(m),St(u,Qt,_t),St(g),xt(m,Qt,_t),xt(b),xt(o),kt(d),St(c),xt(h)],finishTransaction:Pl,forEachTable:e=>pt(y,(t,l)=>e(l,e=>pt(t,(t,l)=>e(l,e=>wt(t,e))))),forEachTableCell:(e,t)=>wt(Ct(T,ie(e)),t),forEachRow:(e,t)=>pt(Ct(y,ie(e)),(e,l)=>t(l,t=>wt(e,t))),forEachCell:(e,t,l)=>wt(Ct(Ct(y,ie(e)),ie(t)),l),forEachValue:e=>wt(q,e),addSortedRowIdsListener:(e,t,l,n,s,r,o)=>Fe(e)?il(e.tableId,e.cellId,[e.descending??!1,e.offset??0,e.limit],t,l):il(e,t,[l,n,s],r,o),addStartTransactionListener:e=>me(e,ue),addWillFinishTransactionListener:e=>me(e,he[0]),addDidFinishTransactionListener:e=>me(e,he[1]),callListener:e=>(pe(e),Jl),delListener:e=>(be(e),Jl),getListenerStats:()=>({hasTables:Ft(x),tables:Ft(k),tableIds:Ft(S),hasTable:Ft(D),table:Ft(Z),tableCellIds:Ft(M),hasTableCell:Ft(N,ct),rowCount:Ft(L),rowIds:Ft(V),sortedRowIds:Ft(E),hasRow:Ft(R,ct),row:Ft(A,ct),cellIds:Ft($,ct),hasCell:Ft(z,ut),cell:Ft(j,ut),invalidCell:Ft(W,ut),hasValues:Ft(re),values:Ft(oe),valueIds:Ft(ae),hasValue:Ft(de),value:Ft(ce),invalidValue:Ft(Y),transaction:dt(ue)+Ft(he)}),isMergeable:()=>!1,createStore:Gt,addListener:me,callListeners:ge,setInternalListeners:(e,t,l,n,s)=>r=[e,t,l,n,s]};return Xe({[F+_]:[0,x,[],()=>[Cl()]],[_]:[0,k],[K]:[0,S],[F+Q]:[1,D,[cl],e=>[wl(...e)]],[Q]:[1,Z,[cl]],[Q+te]:[1,M,[cl]],[F+Q+ee]:[2,N,[cl,ul],e=>[Tl(...e)]],[U]:[1,L,[cl]],[X]:[1,V,[cl]],[F+G]:[2,R,[cl,ml],e=>[yl(...e)]],[G]:[2,A,[cl,ml]],[te]:[2,$,[cl,ml]],[F+ee]:[3,z,[cl,ml,bl],e=>[ql(...e)]],[ee]:[3,j,[cl,ml,bl],e=>jt(pl(...e))],InvalidCell:[3,W],[F+ne]:[0,re,[],()=>[xl()]],[ne]:[0,oe],[se]:[0,ae],[F+le]:[1,de,[Il],e=>[kl(...e)]],[le]:[1,ce,[Il],e=>jt(fl(e[0]))],InvalidValue:[1,Y]},([e,t,l,n],s)=>{Jl["add"+s+B]=(...s)=>me(s[e],t[s[e+1]?1:0],e>0?ke(s,0,e):void 0,l,n)}),Qe(Jl)},{PureComponent:Ut,createContext:Xt,useCallback:Yt,useContext:el,useEffect:tl,useLayoutEffect:ll,useMemo:nl,useRef:sl,useState:rl,useSyncExternalStore:ol}=V,al=(e,...t)=>ve(e)?{}:e(...t),il="tinybaseInspector",dl="TinyBase Inspector",cl=["left","top","bottom","right","full"],ul="state",hl="sort",ml="open",gl="position",bl=ml,pl="editable",vl=(...e)=>rt(e),Il=(e,t)=>$e(Ee([...e]),t),fl=(e,t)=>[!!n(ul,e,pl,t),Yt(l=>{t.setCell(ul,e,pl,e=>!e),l.preventDefault()},[t,e])],Cl=({s:t})=>{const l=s(gl,t)??1,n=r(bl,()=>!0,[],t);return s(bl,t)?null:e("img",{onClick:n,title:dl,"data-position":l})},wl="tinybase_uirc",Tl=ce[wl]?ce[wl]:ce[wl]=Xt([]),yl=(e,t)=>{const l=((e,t)=>{const l=el(Tl);return ve(e)?l[2*t]:ye(e)?((e,t)=>we(e,e=>e[t]))(l[2*t+1],e):e})(e,t);return ve(e)||ye(e)?l:e},ql=[],xl=[{},[],[ql,void 0,ql],{},void 0,void 0,!1,0],kl=[tt,Le,([e,t,l],[n,s,r])=>t===s&&Le(e,n)&&Le(l,r),(e,t)=>tt(e,t,Ve),Ve],Sl=(e,t)=>e===t,Dl=(e,t,l,n=ql)=>{const s=sl(xl[l]),r=Yt(()=>{const r=t?.[(6==l?"has":"get")+e]?.(...n)??xl[l];return(kl[l]??Sl)(r,s.current)?s.current:s.current=r},[t,l,e,...n]),o=Yt(s=>((e,t,...l)=>{const n=e?.["add"+t+B]?.(...l);return()=>e?.delListener?.(n)})(t,(6==l?F:R)+e,...n,s),[t,l,e,...n]);return ol(o,r,r)},Zl=(e,t,l,n,s,r,...o)=>((e,t,l,n=ql,s=De,r=ql,o,...a)=>Yt(n=>we(e,e=>we(l(n,e),l=>s(e[o+t](...Ml(a,e,n),l),l))),[e,t,...n,...r,o,...Nl(a)]))(Vl(e),t,l,n,s,r,"set",...o),Ml=(e,t,l)=>$e(e,e=>qe(e)?e(l,t):e),Nl=e=>{return t=e=>!qe(e),e.filter(t);var t},Ll=(e,t,l=De,n=ql,...s)=>{const r=Vl(e);return Yt(e=>l(r?.["del"+t](...Ml(s,r,e))),[r,t,...n,...Nl(s)])},Vl=e=>yl(e,0),El=(e,t)=>Dl(Q+te,Vl(t),1,[e]),Rl=(e,t,l,n,s,r)=>((e,t,l,n,s,r)=>Dl(Y,Vl(r),1,[e,t,l,n,s]))(...Fe(e)?[e.tableId,e.cellId,e.descending??!1,e.offset??0,e.limit,t]:[e,t,l,n,s,r]),Al=(e,t,l,n)=>Dl(ee,Vl(n),5,[e,t,l]),$l=(e,t)=>Dl(le,Vl(t),5,[e]),Hl=(e,t,l,n,s,r)=>Zl(n,Q,t,l,s,r,e),zl=(e,t,l,n,s,r,o)=>Zl(s,G,l,n,r,o,e,t),Pl=(e,t,l,n,s,r,o,a)=>Zl(r,ee,n,s,o,a,e,t,l),Jl=(e,t,l,n,s,r)=>Zl(n,le,t,l,s,r,e),Ol=(e,t,l,n)=>Ll(t,Q,l,n,e),Bl=(e,t,l,n,s)=>Ll(l,G,n,s,e,t),jl=(e,t,l,n,s,r,o)=>Ll(s,ee,r,o,e,t,l,n),Fl=(e,t,l,n)=>Ll(t,le,l,n,e),Wl=e=>yl(e,2),Ql=(e,t,l)=>Dl("Slice"+X,Wl(l),1,[e,t]),_l=e=>yl(e,3),Kl=e=>yl(e,4),Gl=(e,t)=>Dl(j+Q+te,Kl(t),1,[e]),Ul=(e,t,l,n=0,s,r)=>Dl(j+Y,Kl(r),1,[e,t,l,n,s]),Xl=(e,t)=>nl(()=>({store:e,tableId:t}),[e,t]),Yl=(e,t)=>nl(()=>({queries:e,queryId:t}),[e,t]),en=(e,t,l)=>{const n=Yt(e,t);return l?n:void 0},tn=(...e)=>nl(()=>e,e),ln=(e,t,l)=>nl(()=>{const n=t??e;return Xe(xe(n)?_e($e(n,e=>[e,e])):n,(e,t)=>({label:t,component:l,...ye(e)?{label:e}:e}))},[t,l,e]),nn="editable",sn=(t=[],l,n=0)=>$e(t,({component:t},s)=>e("td",{className:ae,children:e(t,{...l})},rn(s,n))),rn=(e,t)=>(t?">":"<")+e,on=(t=[],l=0)=>$e(t,({label:t},n)=>e("th",{className:ae,children:t},rn(n,l))),an=({cellId:e,sort:[l,n],label:s=e??R,onClick:r})=>t("th",{onClick:en(()=>r?.(e),[r,e],r),className:ve(n)||l!=e?void 0:`sorted ${n?"de":"a"}scending`,children:[ve(n)||l!=e?null:(n?"↓":"↑")+" ",s]}),dn=({className:l,headerRow:n,idColumn:s,params:[r,o,a,i,d,c,u,h]})=>t("table",{className:l,children:[h?e("caption",{children:h}):null,!1===n?null:e("thead",{children:t("tr",{children:[on(i),!1===s?null:e(an,{sort:c??[],label:"Id",onClick:u}),Ue(r,({label:t},l)=>e(an,{cellId:l,label:t,sort:c??[],onClick:u},l)),on(d,1)]})}),e("tbody",{children:$e(a,l=>{const n={...o,rowId:l};return t("tr",{children:[sn(i,n),fe(s)?null:e("th",{title:l,children:l}),Ue(r,({component:t,getComponentProps:s},r)=>e("td",{children:e(t,{...al(s,l,r),...n,cellId:r})},r)),sn(d,n,1)]},l)})})]}),cn=({thing:l,onThingChange:n,className:s,hasSchema:r,showType:o=!0})=>{const[a,i]=rl(),[d,c]=rl(),[u,h]=rl(),[m,g]=rl(),[b,p]=rl();d!==l&&(i(Pt(l)),c(l),h(l+""),g(Number(l)||0),p(!!l));const v=Yt((e,t)=>{t(e),c(e),n(e)},[n]),I=Yt(()=>{if(!r?.()){const e=Bt(a,H,$,A),t=Bt(e,u,m,b);i(e),c(t),n(t)}},[r,n,u,m,b,a]),f=Bt(a,e("input",{value:u,onChange:Yt(e=>v(e[re][oe]+"",h),[v])},a),e("input",{type:"number",value:m,onChange:Yt(e=>v(Number(e[re][oe]||0),g),[v])},a),e("input",{type:"checkbox",checked:b,onChange:Yt(e=>v(!!e[re].checked,p),[v])},a));return t("div",{className:s,children:[o&&f?e("button",{title:a,className:a,onClick:I,children:a}):null,f]})},un=({tableId:t,rowId:l,cellId:n,store:s,className:r,showType:o})=>e(cn,{thing:Al(t,l,n,s),onThingChange:Pl(t,l,n,e=>e,[],s),className:r??nn+ee,showType:o,hasSchema:Vl(s)?.hasTablesSchema}),hn=({valueId:t,store:l,className:n,showType:s})=>e(cn,{thing:$l(t,l),onThingChange:Jl(t,e=>e,[],l),className:n??nn+le,showType:s,hasSchema:Vl(l)?.hasValuesSchema}),mn=(e,t)=>$e(El(e,t),t=>e+"."+t),gn=({localRowId:n,params:[s,r,o,a,i,d,c,u,h]})=>{const m=((e,t,l)=>Dl("RemoteRowId",_l(l),5,[e,t]))(i,n,d),g={tableId:o??"",rowId:n,store:c};return t("tr",{children:[sn(u,g),fe(s)?null:t(l,{children:[e("th",{title:n,children:n}),e("th",{title:m,children:m})]}),Ue(r,({component:t,getComponentProps:l},s)=>{const[r,i]=((e,t="",l)=>e.split(t,l))(s,".",2),d=r===o?n:r===a?m:void 0;return ve(d)?null:e("td",{children:e(t,{...al(l,d,i),store:c,tableId:r,rowId:d,cellId:i})},s)}),sn(h,g,1)]})},bn=({relationshipId:n,relationships:s,editable:r,customCells:a,extraCellsBefore:i,extraCellsAfter:d,className:c,headerRow:u,idColumn:h=!0})=>{const[m,g,b,p]=((e,t)=>[e,e?.getStore(),e?.getLocalTableId(t),e?.getRemoteTableId(t)])(_l(s),n),v=ln([...mn(b,g),...mn(p,g)],a,r?un:o),I=tn(h,v,b,p,n,m,g,i,d);return t("table",{className:c,children:[fe(u)?null:e("thead",{children:t("tr",{children:[on(i),fe(h)?null:t(l,{children:[t("th",{children:[b,".Id"]}),t("th",{children:[p,".Id"]})]}),Ue(v,({label:t},l)=>e("th",{children:t},l)),on(d,1)]})}),e("tbody",{children:$e((f=b,C=g,Dl(X,Vl(C),1,[f])),t=>e(gn,{localRowId:t,params:I},t))})]});var f,C},pn=(t,l=!1,n,s=0,r,o,a,i)=>{const[[d,c,u],h]=rl([t,l,s]),m=Yt(e=>{h(e),i?.(e)},[i]),g=en(e=>m([e,e==d&&!c,u]),[m,d,c,u],n),b=Yt(e=>m([d,c,e]),[m,d,c]),p=!0===a?vn:a;return[[d,c,u],g,nl(()=>fe(a)?null:e(p,{offset:u,limit:r,total:o,onChange:b}),[a,p,u,r,o,b])]},vn=({onChange:n,total:s,offset:r=0,limit:o=s,singular:a="row",plural:i=a+"s"})=>{(r>s||r<0)&&(r=0,n(0));const d=en(()=>n(r-o),[n,r,o],r>0),c=en(()=>n(r+o),[n,r,o],r+o<s);return t(l,{children:[s>o&&t(l,{children:[e("button",{className:"previous",disabled:0==r,onClick:d,children:"←"}),e("button",{className:"next",disabled:r+o>=s,onClick:c,children:"→"}),r+1," to ",me(s,r+o)," of "]}),s," ",1!=s?i:a]})},In=({queryId:t,cellId:l,descending:n,offset:s,limit:r,queries:o,sortOnClick:i,paginator:d=!1,customCells:c,extraCellsBefore:u,extraCellsAfter:h,onChange:m,...g})=>{const[b,p,v]=pn(l,n,i,s,r,((e,t)=>Dl(j+U,Kl(t),7,[e]))(t,o),d,m);return e(dn,{...g,params:tn(ln(Gl(t,o),c,a),Yl(o,t),Ul(t,...b,r,o),u,h,b,p,v)})},fn=({indexId:t,sliceId:l,indexes:n,editable:s,customCells:r,extraCellsBefore:a,extraCellsAfter:i,...d})=>{const[c,u,h]=((e,t)=>[e,e?.getStore(),e?.getTableId(t)])(Wl(n),t);return e(dn,{...d,params:tn(ln(El(h,u),r,s?un:o),Xl(u,h),Ql(t,l,c),a,i)})},Cn=({tableId:t,cellId:l,descending:n,offset:s,limit:r,store:a,editable:i,sortOnClick:d,paginator:c=!1,onChange:u,customCells:h,extraCellsBefore:m,extraCellsAfter:g,...b})=>{const[p,v,I]=pn(l,n,d,s,r,((e,t)=>Dl(U,Vl(t),7,[e]))(t,a),c,u);return e(dn,{...b,params:tn(ln(El(t,a),h,i?un:o),Xl(a,t),Rl(t,...p,r,a),m,g,p,v,I)})},wn=(t=[],l,n=0)=>$e(t,({component:t},s)=>e("td",{className:ae,children:e(t,{...l})},rn(s,n))),Tn=({store:l,editable:n=!1,valueComponent:s=(n?hn:i),getValueComponentProps:r,extraCellsBefore:o,extraCellsAfter:a,className:d,headerRow:c,idColumn:u})=>{return t("table",{className:d,children:[!1===c?null:e("thead",{children:t("tr",{children:[on(o),!1===u?null:e("th",{children:"Id"}),e("th",{children:le}),on(a,1)]})}),e("tbody",{children:$e((h=l,Dl(se,Vl(h),1)),n=>{const i={valueId:n,store:l};return t("tr",{children:[wn(o,i),fe(u)?null:e("th",{title:n,children:n}),e("td",{children:e(s,{...al(r,n),...i})}),wn(a,i,1)]},n)})})]});var h},yn=({uniqueId:l,title:s,editable:r,handleEditable:o,children:a,s:i})=>{const c=!!n(ul,l,ml,i),u=d(ul,l,ml,e=>e[re].open,[],i);return t("details",{open:c,onToggle:u,children:[t("summary",{children:[e("span",{children:s}),o?e("img",{onClick:o,className:r?"done":"edit",title:r?"Done editing":"Edit"}):null]}),e("div",{children:a})]})},qn=({indexes:t,indexesId:l,indexId:n,s:s})=>e(yn,{uniqueId:vl("i",l,n),title:"Index: "+n,s:s,children:$e(h(n,t),r=>e(xn,{indexes:t,indexesId:l,indexId:n,sliceId:r,s:s},r))}),xn=({indexes:t,indexesId:l,indexId:n,sliceId:s,s:r})=>{const o=vl("i",l,n,s),[a,i]=fl(o,r);return e(yn,{uniqueId:o,title:"Slice: "+s,editable:a,handleEditable:i,s:r,children:e(fn,{sliceId:s,indexId:n,indexes:t,editable:a})})},kn=({indexesId:t,s:l})=>{const n=c(t),s=u(n);return ve(n)?null:e(yn,{uniqueId:vl("i",t),title:"Indexes: "+(t??J),s:l,children:He(s)?"No indexes defined":Il(s,s=>e(qn,{indexes:n,indexesId:t,indexId:s,s:l},s))})},Sn=({metrics:l,metricId:n})=>t("tr",{children:[e("th",{title:n,children:n}),e("td",{children:l?.getTableId(n)}),e("td",{children:b(n,l)})]}),Dn=({metricsId:l,s:n})=>{const s=m(l),r=g(s);return ve(s)?null:e(yn,{uniqueId:vl("m",l),title:"Metrics: "+(l??J),s:n,children:He(r)?"No metrics defined":t("table",{children:[t("thead",{children:[e("th",{children:"Metric Id"}),e("th",{children:"Table Id"}),e("th",{children:"Metric"})]}),e("tbody",{children:$e(r,t=>e(Sn,{metrics:s,metricId:t},t))})]})})},Zn=({queries:t,queriesId:l,queryId:s,s:r})=>{const o=vl("q",l,s),[a,i,c]=st(n(ul,o,hl,r)??"[]"),u=d(ul,o,hl,rt,[],r);return e(yn,{uniqueId:o,title:"Query: "+s,s:r,children:e(In,{queryId:s,queries:t,cellId:a,descending:i,offset:c,limit:10,paginator:!0,sortOnClick:!0,onChange:u})})},Mn=({queriesId:t,s:l})=>{const n=p(t),s=v(n);return ve(n)?null:e(yn,{uniqueId:vl("q",t),title:"Queries: "+(t??J),s:l,children:He(s)?"No queries defined":Il(s,s=>e(Zn,{queries:n,queriesId:t,queryId:s,s:l},s))})},Nn=({relationships:t,relationshipsId:l,relationshipId:n,s:s})=>{const r=vl("r",l,n),[o,a]=fl(r,s);return e(yn,{uniqueId:r,title:"Relationship: "+n,editable:o,handleEditable:a,s:s,children:e(bn,{relationshipId:n,relationships:t,editable:o})})},Ln=({relationshipsId:t,s:l})=>{const n=I(t),s=f(n);return ve(n)?null:e(yn,{uniqueId:vl("r",t),title:"Relationships: "+(t??J),s:l,children:He(s)?"No relationships defined":Il(s,s=>e(Nn,{relationships:n,relationshipsId:t,relationshipId:s,s:l},s))})},Vn=(e,t)=>{let l,n=0;for(;t(l=e+(n>0?" (copy"+(n>1?" "+n:"")+")":""));)n++;return l},En=({actions:n,...s})=>{const[r,o]=rl(),a=Yt(()=>o(void 0),[]);if(tl(()=>{if(!ve(r)){const e=e=>{ve(r)||"Escape"!==e.key||(e.preventDefault(),a())};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)}},[r,a]),ve(r))return n.map(([t,l],n)=>e("img",{title:l,className:t,onClick:()=>o(n)},n));{const[,,o]=n[r];return t(l,{children:[e(o,{onDone:a,...s}),e("img",{onClick:a,title:"Cancel",className:"cancel"})]})}},Rn=({onDone:n,suggestedId:s,has:r,set:o,prompt:a="New Id"})=>{const[i,d]=rl(s),[c,u]=rl(!0),[h,m]=rl(s),g=Yt(()=>{r(i)?u(!1):(o(i),n())},[n,u,r,o,i]),b=Yt(e=>{"Enter"===e.key&&(e.preventDefault(),g())},[g]);return s!=h&&(d(s),m(s)),t(l,{children:[a+": ",e("input",{type:"text",value:i,onChange:e=>{d(e.target.value),u(!r(e.target.value))},onKeyDown:b,autoFocus:!0})," ",e("img",{onClick:g,title:c?"Confirm":"Id already exists",className:c?"ok":"okDis"})]})},An=({onClick:n,prompt:s="Delete"})=>{const r=Yt(e=>{"Enter"===e.key&&(e.preventDefault(),n())},[n]);return tl(()=>(document.addEventListener("keydown",r),()=>document.removeEventListener("keydown",r)),[r]),t(l,{children:[s,"? ",e("img",{onClick:n,title:"Confirm",className:"ok"})]})},$n=({left:l,right:n})=>t("div",{className:"actions",children:[e("div",{children:l}),e("div",{children:n})]}),Hn=e=>{const t=Vl(e);return Yt(e=>t?.hasTable(e)??!1,[t])},zn=({onDone:t,store:l})=>{const n=Hn(l);return e(Rn,{onDone:t,suggestedId:Vn("table",n),has:n,set:Hl(e=>e,()=>({row:{cell:""}}),[],l),prompt:"Add table"})},Pn=({onDone:t,store:l})=>{return e(An,{onClick:(n=l,s=t,Ll(n,_,s,void 0)),prompt:"Delete all tables"});var n,s},Jn=({store:t})=>{return e($n,{left:e(En,{actions:[["add","Add table",zn]],store:t}),right:(l=t,Dl(_,Vl(l),6,[])?e(En,{actions:[["delete","Delete all tables",Pn]],store:t}):null)});var l},On=({onDone:t,tableId:l,store:n})=>{const s=Qn(n,l);return e(Rn,{onDone:t,suggestedId:Vn("row",s),has:s,set:zl(l,e=>e,(e,t)=>_e($e(t.getTableCellIds(l),e=>[e,""]))),prompt:"Add row"})},Bn=({onDone:t,tableId:l,store:n})=>{const s=Vl(n),r=Hn(s);return e(Rn,{onDone:t,suggestedId:Vn(l,r),has:r,set:Hl(e=>e,(e,t)=>t.getTable(l)),prompt:"Clone table to"})},jn=({onDone:t,tableId:l,store:n})=>e(An,{onClick:Ol(l,n,t),prompt:"Delete table"}),Fn=({tableId:t,store:l})=>e(En,{actions:[["add","Add row",On]],store:l,tableId:t}),Wn=({tableId:t,store:l})=>e(En,{actions:[["clone","Clone table",Bn],["delete","Delete table",jn]],store:l,tableId:t}),Qn=(e,t)=>{const l=Vl(e);return Yt(e=>l?.hasRow(t,e)??!1,[l,t])},_n=({onDone:t,tableId:l,rowId:n,store:s})=>{const r=Vl(s),o=Yt(e=>r.hasCell(l,n,e),[r,l,n]);return e(Rn,{onDone:t,suggestedId:Vn("cell",o),has:o,set:Pl(l,n,e=>e,()=>"",[],r),prompt:"Add cell"})},Kn=({onDone:t,tableId:l,rowId:n,store:s})=>{const r=Vl(s),o=Qn(r,l);return e(Rn,{onDone:t,suggestedId:Vn(n,o),has:o,set:zl(l,e=>e,(e,t)=>t.getRow(l,n),[n]),prompt:"Clone row to"})},Gn=({onDone:t,tableId:l,rowId:n,store:s})=>e(An,{onClick:Bl(l,n,s,t),prompt:"Delete row"}),Un=({onDone:t,tableId:l,rowId:n,cellId:s,store:r})=>e(An,{onClick:jl(l,n,s,!0,r,t),prompt:"Delete cell"}),Xn=({tableId:t,rowId:l,cellId:n,store:s})=>e(En,{actions:[["delete","Delete cell",Un]],store:s,tableId:t,rowId:l,cellId:n}),Yn=[{label:"",component:({tableId:t,rowId:l,store:n})=>e(En,{actions:[["add","Add cell",_n],["clone","Clone row",Kn],["delete","Delete row",Gn]],store:n,tableId:t,rowId:l})}],es=n=>t(l,{children:[e(un,{...n}),T(n.tableId,n.rowId,n.cellId,n.store)&&e(Xn,{...n})]}),ts=({tableId:l,store:s,storeId:r,s:a})=>{const i=vl("t",r,l),[c,u,h]=st(n(ul,i,hl,a)??"[]"),m=d(ul,i,hl,rt,[],a),[g,b]=fl(i,a),p=g?es:o;return t(yn,{uniqueId:i,title:Q+": "+l,editable:g,handleEditable:b,s:a,children:[e(Cn,{tableId:l,store:s,cellId:c,descending:u,offset:h,limit:10,paginator:!0,sortOnClick:!0,onChange:m,editable:g,extraCellsAfter:g?Yn:[],customCells:_e($e(w(l,s),e=>[e,{label:e,component:p}]))}),g?t("div",{className:"actions",children:[e("div",{children:e(Fn,{tableId:l,store:s})}),e("div",{children:e(Wn,{tableId:l,store:s})})]}):null]})},ls=({store:l,storeId:n,s:s})=>{const r=vl("ts",n),[o,a]=fl(r,s),i=C(l);return t(yn,{uniqueId:r,title:_,editable:o,handleEditable:a,s:s,children:[He(i)?e("caption",{children:"No tables."}):Il(i,t=>e(ts,{store:l,storeId:n,tableId:t,s:s},t)),o?e(Jn,{store:l}):null]})},ns=e=>{const t=Vl(e);return Yt(e=>t?.hasValue(e)??!1,[t])},ss=({onDone:t,store:l})=>{const n=ns(l);return e(Rn,{onDone:t,suggestedId:Vn("value",n),has:n,set:Jl(e=>e,()=>"",[],l),prompt:"Add value"})},rs=({onDone:t,store:l})=>{return e(An,{onClick:(n=l,s=t,Ll(n,ne,s,void 0)),prompt:"Delete all values"});var n,s},os=({store:t})=>{return e($n,{left:e(En,{actions:[["add","Add value",ss]],store:t}),right:(l=t,Dl(ne,Vl(l),6,[])?e(En,{actions:[["delete","Delete all values",rs]],store:t}):null)});var l},as=({onDone:t,valueId:l,store:n})=>{const s=ns(n);return e(Rn,{onDone:t,suggestedId:Vn(l,s),has:s,set:Jl(e=>e,(e,t)=>t.getValue(l)??"",[l],n),prompt:"Clone value to"})},is=({onDone:t,valueId:l,store:n})=>e(An,{onClick:Fl(l,n,t),prompt:"Delete value"}),ds=[{label:"",component:({valueId:t,store:l})=>e(En,{actions:[["clone","Clone value",as],["delete","Delete value",is]],store:l,valueId:t})}],cs=({store:l,storeId:n,s:s})=>{const r=vl("v",n),[o,a]=fl(r,s);return t(yn,{uniqueId:r,title:ne,editable:o,handleEditable:a,s:s,children:[He(y(l))?e("caption",{children:"No values."}):e(Tn,{store:l,editable:o,extraCellsAfter:o?ds:[]}),o?e(os,{store:l}):null]})},us=({storeId:l,s:n})=>{const s=q(l);return ve(s)?null:t(yn,{uniqueId:vl("s",l),title:(s.isMergeable()?"Mergeable":"")+"Store: "+(l??J),s:n,children:[e(cs,{storeId:l,store:s,s:n}),e(ls,{storeId:l,store:s,s:n})]})},hs=({s:l})=>{const n=sl(null),s=sl(0),[r,o]=rl(!1),{scrollLeft:a,scrollTop:i}=x(l);ll(()=>{const e=n.current;if(e&&!r){const t=new MutationObserver(()=>{e.scrollWidth>=ge(a)+e.clientWidth&&e.scrollHeight>=ge(i)+e.clientHeight&&e.scrollTo(a,i)});return t.observe(e,{childList:!0,subtree:!0}),()=>t.disconnect()}},[r,a,i]);const d=Yt(e=>{const{scrollLeft:t,scrollTop:n}=e[re];cancelIdleCallback(s.current),s.current=requestIdleCallback(()=>{o(!0),l.setPartialValues({scrollLeft:t,scrollTop:n})})},[l]),u=q(),h=k(),g=m(),b=S(),v=c(),f=D(),C=I(),w=Z(),T=p(),y=M();return ve(u)&&He(h)&&ve(g)&&He(b)&&ve(v)&&He(f)&&ve(C)&&He(w)&&ve(T)&&He(y)?e("span",{className:"warn",children:"There are no Stores or other objects to inspect. Make sure you placed the Inspector inside a Provider component."}):t("article",{ref:n,onScroll:d,children:[e(us,{s:l}),$e(h,t=>e(us,{storeId:t,s:l},t)),e(Dn,{s:l}),$e(b,t=>e(Dn,{metricsId:t,s:l},t)),e(kn,{s:l}),$e(f,t=>e(kn,{indexesId:t,s:l},t)),e(Ln,{s:l}),$e(w,t=>e(Ln,{relationshipsId:t,s:l},t)),e(Mn,{s:l}),$e(y,t=>e(Mn,{queriesId:t,s:l},t))]})};class ms extends Ut{constructor(e){super(e),this.state={e:0}}static getDerivedStateFromError(){return{e:1}}componentDidCatch=(e,t)=>console.error(e,t.componentStack);render(){return this.state.e?e("span",{className:"warn",children:"Inspector error: please see console for details."}):this.props.children}}const gs=({s:l})=>{const n=s(gl,l)??1,o=r(bl,()=>!1,[],l),a=r(gl,e=>Number(e[re].dataset.id),[],l);return t("header",{children:[e("img",{className:"flat",title:dl,onClick:()=>open("https://tinybase.org","_blank")}),e("span",{children:dl}),$e(cl,(t,l)=>l==n?null:e("img",{onClick:a,"data-id":l,title:"Dock to "+t},l)),e("img",{className:"flat",onClick:o,title:"Close"})]})},bs=({s:l})=>{const n=s(gl,l)??1;return s(bl,l)?t("main",{"data-position":n,children:[e(gs,{s:l}),e(ms,{children:e(hs,{s:l})})]}):null},ps='url("',vs=(e,t="white")=>({content:ps+`data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960' fill='${t}'><path d='${e}' /></svg>")`}),Is="v560h120v-560h-120Z",fs="v560h360v-560h-360Z",Cs="v120h560v-120h-560Z",ws="v360h560v-360h-560Z",Ts={content:ps+"data:image/svg+xml,%3csvg viewBox='0 0 680 680' xmlns='http://www.w3.org/2000/svg' style='width:680px%3bheight:680px'%3e %3cpath stroke='white' stroke-width='80' fill='none' d='M340 617a84 241 90 11.01 0zM131 475a94 254 70 10428-124 114 286 70 01-428 124zm0-140a94 254 70 10428-124 114 286 70 01-428 124zm-12-127a94 254 70 00306 38 90 260 90 01-306-38zm221 3a74 241 90 11.01 0z' /%3e %3cpath fill='%23d81b60' d='M131 475a94 254 70 10428-124 114 286 70 01-428 124zm0-140a94 254 70 10428-124 114 286 70 01-428 124z' /%3e %3cpath d='M249 619a94 240 90 00308-128 114 289 70 01-308 128zM119 208a94 254 70 00306 38 90 260 90 01-306-38zm221 3a74 241 90 11.01 0z' /%3e%3c/svg%3e\")"},ys=$e([`M200-760${Is} M400-760${fs}`,`M200-760${Cs} M200-560${ws}`,`M200-760${ws} M200-320${Cs}`,`M200-760${fs} M640-760${Is}`],e=>vs("M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Z"+e));ze(ys,vs("M120-120v-200h80v120h120v80H120Zm520 0v-80h120v-120h80v200H640ZM120-640v-200h200v80H200v120h-80Zm640 0v-120H640v-80h200v200h-80Z"));const qs=vs("m336-280-56-56 144-144-144-143 56-56 144 144 143-144 56 56-144 143 144 144-56 56-143-144-144 144Z"),xs=vs("M200-200h57l391-391-57-57-391 391v57Zm-80 80v-170l528-527q12-11 26.5-17t30.5-6q16 0 31 6t26 18l55 56q12 11 17.5 26t5.5 30q0 16-5.5 30.5T817-647L290-120H120Zm640-584-56-56 56 56Zm-141 85-28-29 57 57-29-28Z"),ks=vs("m622-453-56-56 82-82-57-57-82 82-56-56 195-195q12-12 26.5-17.5T705-840q16 0 31 6t26 18l55 56q12 11 17.5 26t5.5 30q0 16-5.5 30.5T817-647L622-453ZM200-200h57l195-195-28-29-29-28-195 195v57ZM792-56 509-338 290-120H120v-169l219-219L56-792l57-57 736 736-57 57Zm-32-648-56-56 56 56Zm-169 56 57 57-57-57ZM424-424l-29-28 57 57-28-29Z"),Ss=vs("M440-280h80v-160h160v-80H520v-160h-80v160H280v80h160v160ZM200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm0-80h560v-560H200v560Zm0-560v560-560Z"),Ds=vs("M520-400h80v-120h120v-80H600v-120h-80v120H400v80h120v120ZM320-240q-33 0-56.5-23.5T240-320v-480q0-33 23.5-56.5T320-880h480q33 0 56.5 23.5T880-800v480q0 33-23.5 56.5T800-240H320Zm0-80h480v-480H320v480ZM160-80q-33 0-56.5-23.5T80-160v-560h80v560h560v80H160Zm160-720v480-480Z"),Zs=vs("M280-120q-33 0-56.5-23.5T200-200v-520h-40v-80h200v-40h240v40h200v80h-40v520q0 33-23.5 56.5T680-120H280Zm400-600H280v520h400v-520ZM360-280h80v-360h-80v360Zm160 0h80v-360h-80v360ZM280-720v520-520Z"),Ms=vs("m424-296 282-282-56-56-226 226-114-114-56 56 170 170Zm56 216q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z","rgb(127,255,127)"),Ns=vs("m40-120 440-760 440 760H40Zm138-80h604L480-720 178-200Zm302-40q17 0 28.5-11.5T520-280q0-17-11.5-28.5T480-320q-17 0-28.5 11.5T440-280q0 17 11.5 28.5T480-240Zm-40-120h80v-200h-80v200Zm40-100Z","rgb(255,255,127)"),Ls=vs("m336-280 144-144 144 144 56-56-144-144 144-144-56-56-144 144-144-144-56 56 144 144-144 144 56 56ZM480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z","rgb(255,127,127)"),Vs=vs("M480-344 240-584l56-56 184 184 184-184 56 56-240 240Z"),Es=vs("M504-480 320-664l56-56 240 240-240 240-56-56 184-184Z"),Rs="*::-webkit-scrollbar",As="background",$s="width",Hs="max-"+$s,zs="min-"+$s,Ps="height",Js="border",Os=Js+"-radius",Bs="padding",js="margin",Fs=js+"-right",Ws="top",Qs="bottom",_s="left",Ks="right",Gs="color",Us="position",Xs="box-shadow",Ys="font-size",er="display",tr="overflow",lr="cursor",nr="vertical-align",sr="text-align",rr="justify-content",or="fixed",ar="revert",ir="unset",dr="none",cr="flex",ur="pointer",hr="auto",mr="hidden",gr="nowrap",br=(e,t="% 0.01 "+pr("hue"))=>`oklch(${e}${t})`,pr=e=>`var(--${e})`,vr=(...e)=>e.join("rem ")+"rem",Ir=(...e)=>e.join("px ")+"px",fr=(e=100)=>e+"vw",Cr=(e=100)=>e+"vh",wr=Ae(Ue({"":{all:"initial",[Ys]:vr(.75),[Us]:or,"font-family":"inter,sans-serif","z-index":999999,"--bg":br(20),"--bg2":br(15),"--bg3":br(25),"--bg4":br(30),"--fg":br(85),"--fg2":br(60),["--"+Js]:Ir(1)+" solid "+pr("bg4"),["--"+Xs]:Ir(0,1,2,0)+" #0007"},"*":{all:ar},"*::before":{all:ar},"*::after":{all:ar},[Rs]:{[$s]:vr(.5),[Ps]:vr(.5)},[Rs+"-thumb"]:{[As]:pr("bg4")},[Rs+"-thumb:hover"]:{[As]:pr("bg4")},[Rs+"-corner"]:{[As]:dr},[Rs+"-track"]:{[As]:dr},img:{[$s]:vr(.8),[Ps]:vr(.8),[nr]:"text-"+Qs,[lr]:ur,[js]:Ir(-2.5,2,-2.5,0),[Bs]:Ir(2),[Js]:pr(Js),[As]:pr("bg3"),[Xs]:pr(Xs),[Os]:vr(.25)},"img.flat":{[Js]:dr,[As]:dr,[Xs]:dr},">img":{[Bs]:vr(.25),[Qs]:0,[Ks]:0,[Us]:or,[Ps]:ir,[js]:0,...Ts},..._e($e([{[Qs]:0,[_s]:0},{[Ws]:0,[Ks]:0}],(e,t)=>[`>img[data-position='${t}']`,e])),main:{[er]:cr,[Gs]:pr("fg"),[As]:pr("bg"),[tr]:mr,[Us]:or,[Xs]:pr(Xs),"flex-direction":"column"},..._e($e([{[Qs]:0,[_s]:0,[$s]:fr(35),[Ps]:Cr(),[Js+"-"+Ks]:pr(Js)},{[Ws]:0,[Ks]:0,[$s]:fr(),[Ps]:Cr(30),[Js+"-"+Qs]:pr(Js)},{[Qs]:0,[_s]:0,[$s]:fr(),[Ps]:Cr(30),[Js+"-"+Ws]:pr(Js)},{[Ws]:0,[Ks]:0,[$s]:fr(35),[Ps]:Cr(),[Js+"-"+_s]:pr(Js)},{[Ws]:0,[Ks]:0,[$s]:fr(),[Ps]:Cr()}],(e,t)=>[`main[data-position='${t}']`,e])),header:{[er]:cr,[Bs]:vr(.5),[Xs]:pr(Xs),[As]:br(30,"% 0.008 var(--hue) / .5"),[$s]:"calc(100% - .5rem)",[Us]:"absolute",[Js+"-"+Qs]:pr(Js),"align-items":"center","backdrop-filter":"blur(4px)"},"header>img:nth-of-type(1)":{[Ps]:vr(1),[$s]:vr(1),...Ts},"header>img:nth-of-type(6)":qs,..._e($e(ys,(e,t)=>[`header>img[data-id='${t}']`,e])),"header>span":{[tr]:mr,[cr]:1,"font-weight":800,"white-space":gr,"text-overflow":"ellipsis"},article:{[tr]:hr,[cr]:1,[Bs+"-"+Ws]:vr(2)},details:{[js]:vr(.5),[Js]:pr(Js),[Os]:vr(.25)},summary:{[As]:pr("bg3"),[js]:Ir(-1),[Js]:pr(Js),[Bs]:vr(.25,.125),[er]:cr,[Os]:vr(.25),"user-select":dr,[rr]:"space-between","align-items":"center"},"summary>span::before":{[er]:"inline-block",[nr]:"sub",[js]:Ir(2),[$s]:vr(1),[Ps]:vr(1),...Es},"details[open]>summary":{"border-bottom-left-radius":0,"border-bottom-right-radius":0,[js+"-"+Qs]:0},"details[open]>summary>span::before":Vs,"details>summary img":{[er]:dr},"details[open]>summary img":{[er]:ir,[js+"-"+_s]:vr(.25)},"details>div":{[tr]:hr},caption:{[Gs]:pr("fg2"),[Bs]:vr(.25,.5),[sr]:_s,"white-space":gr},"caption button":{[$s]:vr(1.5),[Js]:dr,[As]:dr,[Gs]:pr("fg"),[Bs]:0,[lr]:ur},"caption button[disabled]":{[Gs]:pr("fg2")},".actions":{[Bs]:vr(.75,.5),[js]:0,[er]:cr,[Js+"-"+Ws]:pr(Js),[rr]:"space-between"},table:{[zs]:"100%","border-collapse":"collapse","table-layout":or},thead:{[As]:pr("bg")},[`th,#${il} td`]:{[tr]:mr,[Bs]:vr(.25,.5),[Hs]:vr(20),[Js]:pr(Js),"text-overflow":"ellipsis","white-space":gr,"border-width":Ir(1,0,0),[sr]:_s},"th:first-child":{[$s]:vr(3),[zs]:vr(3),[Hs]:vr(3)},"th.sorted":{[As]:pr("bg3")},"td.extra":{[sr]:Ks},"tbody button":{[As]:dr,[Js]:dr,[Ys]:0,[$s]:vr(.8),[Ps]:vr(.8),[Gs]:pr("fg2"),[js]:vr(0,.25,0,-.25),"line-height":vr(.8)},"tbody button:first-letter":{[Ys]:vr(.8)},input:{[As]:pr("bg2"),[Gs]:ir,[Bs]:Ir(4),[Js]:0,[js]:Ir(-4,0),[Ys]:ir,[Hs]:vr(6)},"input:focus":{"outline-width":0},'input[type="number"]':{[$s]:vr(3)},'input[type="checkbox"]':{[nr]:Ir(-2)},".editableCell":{[er]:"inline-block",[Fs]:Ir(2)},"button.next":{[Fs]:vr(.5)},"img.edit":xs,"img.done":ks,"img.add":Ss,"img.clone":Ds,"img.delete":Zs,"img.ok":Ms,"img.okDis":Ns,"img.cancel":Ls,"span.warn":{[js]:vr(2,.25),[Gs]:"#d81b60"}},(e,t)=>`#${il} ${t}{${Ae(Ue(e,(e,t)=>`${t}:${e};`))}}`)),Tr=({position:n="right",open:s=!1,hue:r=270})=>{const o=N(Gt),a=cl.indexOf(n);return L(o,e=>{return t=il,l=sessionStorage,((e,t,l,n,s,r,o,a={},i=0,d=[])=>{let c,u,h,m=0,g=0,b=0;yt($t,d,()=>0),yt(Ht,d,()=>[]);const p=It(),[v,I,f,C,w]=((e=1,t,l)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!l),([[e],[t]])=>!et(e)||!et(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!et(e)||!et(t),t.setContent]:Ze("Store type not supported by this Persister"))(o,e,i),[T,y,q]=At(()=>R),x=e=>{e!=m&&(m=e,y(p,void 0,m))},k=t=>{(v&&xe(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},S=async e=>(2!=m&&(x(1),g++,await E(async()=>{await Me(async()=>{const l=await t();xe(l)?k(l):e?w(e):Ze("Content is not an array: "+l)},()=>{e&&w(e)}),x(0)})),R),D=async e=>(Z(),await S(e),await Me(async()=>u=await n(async(e,t)=>{t||e?2!=m&&(x(1),g++,k(t??e),x(0)):await S()}),r),R),Z=async()=>(u&&(await Me(()=>s(u),r),u=void 0),R),M=async e=>(1!=m&&(x(2),b++,await E(async()=>{await Me(()=>l(I,e),r),x(0)})),R),N=async()=>(L(),await M(),h=e.addDidFinishTransactionListener(()=>{const e=f();C(e)&&M(e)}),R),L=async()=>(h&&(e.delListener(h),h=void 0),R),V=async(e=!1)=>{const[t,l]=e?[L,Z]:[Z,L];return await t(),await l(),R},E=async(...e)=>(ze(Ct(Ht,d),...e),await(async()=>{if(!Ct($t,d)){for(Tt($t,d,1);!ve(c=Pe(Ct(Ht,d)));)await Me(c,r);Tt($t,d,0)}})(),R),R={load:S,startAutoLoad:D,stopAutoLoad:Z,isAutoLoading:()=>!ve(u),save:M,startAutoSave:N,stopAutoSave:L,isAutoSaving:()=>!ve(h),startAutoPersisting:async(e,t=!1)=>{const[l,n]=t?[N,D]:[D,N];return await l(e),await n(e),R},stopAutoPersisting:V,getStatus:()=>m,addStatusListener:e=>T(e,p),delListener:t=>(q(t),e),schedule:E,getStore:()=>e,destroy:()=>(Ct(Ht,d).splice(0,void 0),V()),getStats:()=>({loads:g,saves:b}),...a};return Qe(R)})(e,async()=>ot(l.getItem(t)),async e=>{return l.setItem(t,(n=e(),nt(n,(e,t)=>ve(t)?"":t)));var n},e=>{const n=n=>{n.storageArea===l&&n.key===t&&Me(()=>e(ot(n.newValue)),e)};return ue.addEventListener(zt,n),n},e=>ue.removeEventListener(zt,e),void 0,3,{getStorageName:()=>t});var t,l},void 0,async e=>{await e.load([{},{position:-1==a?1:a,open:!!s}]),await e.startAutoSave()}),t(l,{children:[t("aside",{id:il,children:[e(Cl,{s:o}),e(bs,{s:o})]}),t("style",{children:[`#${il}{--hue:${r}}`,wr]})]})};export{Tr as Inspector};
1
+ import{jsx as e,jsxs as t,Fragment as n}from"react/jsx-runtime";import{useCell as l,useValue as s,useSetValueCallback as r,CellView as o,ResultCellView as a,ValueView as i,useSetCellCallback as d,useIndexes as c,useIndexIds as u,useSliceIds as h,useMetrics as m,useMetricIds as g,useMetric as b,useQueries as p,useQueryIds as v,useRelationships as I,useRelationshipIds as f,useTableIds as C,useTableCellIds as w,useHasCell as T,useValueIds as y,useStore as q,useValues as x,useStoreIds as k,useMetricsIds as S,useIndexesIds as D,useRelationshipsIds as Z,useQueriesIds as M,useCreateStore as N,useCreatePersister as L}from"../../ui-react/with-schemas/index.js";import V from"react";const E=e=>typeof e,R="",A=E(R),$=E(!0),H=E(0),z=E(E),P="type",J="default",O="allowNull",B="Listener",j="Result",F="Has",W="Ids",Q="Table",_=Q+"s",K=Q+W,G="Row",U=G+"Count",X=G+W,Y="Sorted"+G+W,ee="Cell",te=ee+W,ne="Value",le=ne+"s",se=ne+W,re="currentTarget",oe="value",ae="extra",ie=e=>R+e,de=e=>(t,n,l)=>e(t)?l?.():n(t),ce=globalThis,ue=ce.window,he=Math,me=he.min,ge=he.floor,be=isFinite,pe=e=>null==e,ve=e=>void 0===e,Ie=e=>null===e,fe=e=>!1===e,Ce=de(pe),we=de(ve),Te=e=>e==A||e==$,ye=e=>E(e)==A,qe=e=>E(e)==z,xe=e=>Array.isArray(e),ke=(e,t,n)=>e.slice(t,n),Se=e=>e.length,De=()=>{},Ze=e=>e,Me=e=>{throw Error(e)},Ne=async(e,t,n)=>{try{return await e()}catch(e){t?.(e)}},Le=(e,t)=>e.every(t),Ve=(e,t)=>Se(e)===Se(t)&&Le(e,(e,n)=>t[n]===e),Ee=(e,t)=>xe(e)&&xe(t)?Ve(e,t):e===t,Re=(e,t)=>e.sort(t),Ae=(e,t)=>e.forEach(t),$e=(e,t="")=>e.join(t),He=(e,t)=>e.map(t),ze=e=>0==Se(e),Pe=(e,...t)=>e.push(...t),Je=e=>e.shift(),Oe=Object,Be=e=>Oe.getPrototypeOf(e),je=Oe.isFrozen,Fe=Oe.entries,We=e=>!pe(e)&&Ce(Be(e),e=>e==Oe.prototype||pe(Be(e)),()=>!0),Qe=Oe.keys,_e=Oe.freeze,Ke=(e=[])=>Oe.fromEntries(e),Ge=(e,t)=>t in e,Ue=(e,t)=>(delete e[t],e),Xe=(e,t)=>He(Fe(e),([e,n])=>t(n,e)),Ye=(e,t)=>Ke(Xe(e,(e,n)=>[n,t(e,n)])),et=e=>Se(Qe(e)),tt=e=>We(e)&&0==et(e),nt=(e,t,n=(e,t)=>e===t)=>{const l=Fe(e);return Se(l)===et(t)&&Le(l,([e,l])=>We(l)?!!We(t[e])&&nt(t[e],l):n(l,t[e]))},lt=(e,t,n,l=0)=>pe(e)||!We(e)||!l&&tt(e)||je(e)?(n?.(),!1):(((e,t)=>{Ae(Fe(e),([e,n])=>t(n,e))})(e,(n,l)=>{t(n,l)||Ue(e,l)}),!!l||!tt(e)),st=JSON.stringify,rt=JSON.parse,ot=e=>st(e,(e,t)=>t instanceof Map?Oe.fromEntries([...t]):t),at=e=>rt(e,(e,t)=>""===t?void 0:t),it=e=>t=>{return n=(t,n)=>t+e(n),bt(t).reduce(n,0);var n},dt=e=>e?.size??0,ct=it(dt),ut=it(ct),ht=it(ut),mt=(e,t)=>e?.has(t)??!1,gt=e=>ve(e)||0==dt(e),bt=e=>[...e?.values()??[]],pt=e=>e.clear(),vt=(e,t)=>e?.forEach(t),It=(e,t)=>e?.delete(t),ft=e=>new Map(e),Ct=e=>[...e?.keys()??[]],wt=(e,t)=>e?.get(t),Tt=(e,t)=>vt(e,(e,n)=>t(n,e)),yt=(e,t,n)=>ve(n)?(It(e,t),e):e?.set(t,n),qt=(e,t,n,l)=>(mt(e,t)?l?.(wt(e,t)):yt(e,t,n()),wt(e,t)),xt=(e,t,n,l=yt)=>(Ye(t,(t,l)=>n(e,l,t)),Tt(e,n=>Ge(t,n)?0:l(e,n)),e),kt=(e,t,n,l)=>{const s={};return vt(e,(e,r)=>{if(!n?.(e,r)){const n=t?t(e,r):e;l?.(n)||(s[r]=n)}}),s},St=(e,t,n)=>kt(e,e=>kt(e,t,n),gt,tt),Dt=(e,t,n)=>kt(e,e=>St(e,t,n),gt,tt),Zt=(e,t)=>{const n=ft();return vt(e,(e,l)=>n.set(l,t?.(e)??e)),n},Mt=e=>Zt(e,Zt),Nt=e=>Zt(e,Mt),Lt=(e,t,n,l,s=0)=>we((n?qt:wt)(e,t[s],s>Se(t)-2?n:ft),r=>{if(s>Se(t)-2)return l?.(r)&&yt(e,t[s]),r;const o=Lt(r,t,n,l,s+1);return gt(r)&&yt(e,t[s]),o}),Vt=/^\d+$/,Et=()=>{const e=[];let t=0;return[n=>(n?Je(e):null)??R+t++,t=>{Vt.test(t)&&Se(e)<1e3&&Pe(e,t)}]},Rt=e=>new Set(xe(e)||ve(e)?e:[e]),At=(e,t)=>e?.add(t),$t=e=>{let t;const[n,l]=Et(),s=ft();return[(l,r,o,a=[],i=()=>[])=>{t??=e();const d=n(1);return yt(s,d,[l,r,o,a,i]),At(Lt(r,o??[R],Rt),d),d},(e,n,...l)=>Ae(((e,t=[R])=>{const n=[],l=(e,s)=>s==Se(t)?Pe(n,e):Ie(t[s])?vt(e,e=>l(e,s+1)):Ae([t[s],null],t=>l(wt(e,t),s+1));return l(e,0),n})(e,n),e=>vt(e,e=>wt(s,e)[0](t,...n??[],...l))),e=>we(wt(s,e),([,t,n])=>(Lt(t,n??[R],void 0,t=>(It(t,e),gt(t)?1:0)),yt(s,e),l(e),n)),e=>we(wt(s,e),([e,,n=[],l,s])=>{const r=(...o)=>{const a=Se(o);a==Se(n)?e(t,...o,...s(o)):Ie(n[a])?Ae(l[a]?.(...o)??[],e=>r(...o,e)):r(...o,n[a])};r()})]},Ht=ft(),zt=ft(),Pt="storage",Jt=e=>{if(Ie(e))return"null";const t=E(e);return Te(t)||t==H&&be(e)?t:void 0},Ot=(e,t,n,l,s)=>ve(s)?e.delCell(t,n,l,!0):e.setCell(t,n,l,s),Bt=(e,t,n)=>ve(n)?e.delValue(t):e.setValue(t,n),jt=(e,t,n,l)=>e==A?t:e==H?n:e==$?l:null,Ft=e=>[e,e],Wt=(e,t=ct)=>t(e[0])+t(e[1]),Qt=()=>[ft(),ft()],_t=e=>[...e],Kt=([e,t])=>e===t,Gt=(e,t,n)=>yt(e,t,wt(e,t)==-n?void 0:n),Ut=()=>{let e,t,n=!1,l=!1,s=0,r=[];const o=ft(),a=ft(),i=ft(),d=ft(),c=ft(),u=ft(),h=ft(),m=ft(),g=ft(),b=ft(),p=ft(),v=ft(),I=ft(),f=ft(),C=Rt(),w=ft(),T=ft(),y=ft(),q=ft(),x=Qt(),k=Qt(),S=Qt(),D=Qt(),Z=Qt(),M=Qt(),N=Qt(),L=Qt(),V=Qt(),E=Qt(),R=Qt(),A=Qt(),$=Qt(),z=Qt(),j=Qt(),W=Qt(),Y=Qt(),re=Qt(),oe=Qt(),ae=Qt(),de=Qt(),ce=Qt(),ue=ft(),he=Qt(),[me,ge,be,pe]=$t(()=>On),fe=e=>{if(!lt(e,(e,t)=>[P,J,O].includes(t)))return!1;const t=e[P];if(!Te(t)&&t!=H)return!1;const n=e[J];return!(Ie(n)&&!e[O]||(Ie(n)||Jt(n)==t||Ue(e,J),0))},Ce=xe,ye=(t,n)=>(!e||mt(p,n)||Xt(n))&&lt(t,(e,t)=>Se(n,t,e),()=>Xt(n)),Se=(e,t,n,l)=>lt(l?n:Le(n,e,t),(l,s)=>we(De(e,t,s,l),e=>(n[s]=e,!0),()=>!1),()=>Xt(e,t)),De=(t,n,l,s)=>e?we(wt(wt(p,t),l),e=>Ie(s)?e[O]?s:Xt(t,n,l,s,e[J]):Jt(s)==e[P]?s:Xt(t,n,l,s,e[J]),()=>Xt(t,n,l,s)):ve(Jt(s))?Xt(t,n,l,s):s,Ze=(e,t)=>lt(t?e:Ee(e),(t,n)=>we(Me(n,t),t=>(e[n]=t,!0),()=>!1),()=>Yt()),Me=(e,n)=>t?we(wt(I,e),t=>Ie(n)?t[O]?n:Yt(e,n,t[J]):Jt(n)==t[P]?n:Yt(e,n,t[J]),()=>Yt(e,n)):ve(Jt(n))?Yt(e,n):n,Le=(e,t,n)=>(we(wt(v,t),([l,s])=>{vt(l,(t,n)=>{Ge(e,n)||(e[n]=t)}),vt(s,l=>{Ge(e,l)||Xt(t,n,l)})}),e),Ee=e=>(t&&(vt(f,(t,n)=>{Ge(e,n)||(e[n]=t)}),vt(C,t=>{Ge(e,t)||Yt(t)})),e),$e=e=>xt(p,e,(e,t,n)=>{const l=ft(),s=Rt();xt(qt(p,t,ft),n,(e,t,n)=>{yt(e,t,n),we(n[J],e=>yt(l,t,e),()=>At(s,t))}),yt(v,t,[l,s])},(e,t)=>{yt(p,t),yt(v,t)}),ze=e=>xt(I,e,(e,t,n)=>{yt(I,t,n),we(n[J],e=>yt(f,t,e),()=>At(C,t))},(e,t)=>{yt(I,t),yt(f,t),It(C,t)}),Je=e=>tt(e)?Vn():Dn(e),Oe=e=>xt(y,e,(e,t,n)=>Be(t,n),(e,t)=>st(t)),Be=(e,t)=>xt(qt(y,e,()=>(Lt(e,1),yt(w,e,Et()),yt(T,e,ft()),ft())),t,(t,n,l)=>je(e,t,n,l),(t,n)=>at(e,t,n)),je=(e,t,n,l,s)=>xt(qt(t,n,()=>(Vt(e,n,1),ft())),l,(t,l,s)=>Fe(e,n,t,l,s),(l,r)=>it(e,t,n,l,r,s)),Fe=(e,t,n,l,s)=>{mt(n,l)||Ht(e,t,l,1);const r=wt(n,l);s!==r&&(zt(e,t,l,r,s),yt(n,l,s))},Qe=(e,t,n,l,s)=>we(wt(t,n),t=>Fe(e,n,t,l,s),()=>je(e,t,n,Le({[l]:s},e,n))),Ke=e=>tt(e)?An():Zn(e),Xe=e=>xt(q,e,(e,t,n)=>et(t,n),(e,t)=>bt(t)),et=(e,t)=>{mt(q,e)||Pt(e,1);const n=wt(q,e);t!==n&&(jt(e,n,t),yt(q,e,t))},nt=e=>wt(y,e)??Be(e,{}),st=e=>Be(e,{}),at=(e,t,n)=>{const[,l]=wt(w,e);l(n),je(e,t,n,{},!0)},it=(e,t,n,l,s,r)=>{const o=wt(wt(v,e)?.[0],s);if(!ve(o)&&!r)return Fe(e,n,l,s,o);const a=t=>{zt(e,n,t,wt(l,t)),Ht(e,n,t,-1),yt(l,t)};ve(o)?a(s):Tt(l,a),gt(l)&&(Vt(e,n,-1),gt(yt(t,n))&&(Lt(e,-1),yt(y,e),yt(w,e),yt(T,e)))},bt=e=>{const t=wt(f,e);if(!ve(t))return et(e,t);jt(e,wt(q,e)),Pt(e,-1),yt(q,e)},Lt=(e,t)=>Gt(o,e,t),Vt=(e,t,n)=>Gt(qt(d,e,ft),t,n)&&yt(i,e,qt(i,e,()=>0)+n),Ht=(e,t,n,l)=>{const s=wt(T,e),r=wt(s,n)??0;(0==r&&1==l||1==r&&-1==l)&&Gt(qt(a,e,ft),n,l),yt(s,n,r!=-l?r+l:void 0),Gt(qt(qt(c,e,ft),t,ft),n,l)},zt=(e,t,n,l,s)=>{qt(qt(qt(u,e,ft),t,ft),n,()=>[l,0])[1]=s,r[3]?.(e,t,n,s)},Pt=(e,t)=>Gt(h,e,t),jt=(e,t,n)=>{qt(m,e,()=>[t,0])[1]=n,r[4]?.(e,n)},Xt=(e,t,n,l,s)=>(Pe(qt(qt(qt(g,e,ft),t,ft),n,()=>[]),l),s),Yt=(e,t,n)=>(Pe(qt(b,e,()=>[]),t),n),en=(e,t,n)=>we(wt(wt(wt(u,e),t),n),([e,t])=>[!0,e,t],()=>[!1,...Ft(vn(e,t,n))]),tn=e=>we(wt(m,e),([e,t])=>[!0,e,t],()=>[!1,...Ft(Cn(e))]),nn=e=>gt(g)||gt(W[e])?0:vt(e?Nt(g):g,(t,n)=>vt(t,(t,l)=>vt(t,(t,s)=>ge(W[e],[n,l,s],t)))),ln=e=>gt(b)||gt(Y[e])?0:vt(e?Zt(b):b,(t,n)=>ge(Y[e],[n],t)),sn=(e,t,n,l)=>{if(!gt(e))return ge(t,l,()=>kt(e)),Tt(e,(e,t)=>ge(n,[...l??[],e],1==t)),1},rn=e=>{const t=wn();t!=n&&ge(x[e],void 0,t);const l=gt(E[e]),s=gt($[e])&&gt(z[e])&&gt(V[e])&&gt(R[e])&&gt(M[e])&&gt(N[e])&&gt(L[e])&&l&&gt(S[e])&&gt(D[e]),r=gt(j[e])&&gt(A[e])&&gt(Z[e])&&gt(k[e]);if(!s||!r){const t=e?[Zt(o),Mt(a),Zt(i),Mt(d),Nt(c),Nt(u)]:[o,a,i,d,c,u];if(!s){sn(t[0],S[e],D[e]),vt(t[1],(t,n)=>sn(t,M[e],N[e],[n])),vt(t[2],(t,n)=>{0!=t&&ge(L[e],[n],mn(n))});const n=Rt();vt(t[3],(t,s)=>{sn(t,V[e],R[e],[s])&&!l&&(ge(E[e],[s,null]),At(n,s))}),l||vt(t[5],(t,l)=>{if(!mt(n,l)){const n=Rt();vt(t,e=>vt(e,([t,l],s)=>l!==t?At(n,s):It(e,s))),vt(n,t=>ge(E[e],[l,t]))}}),vt(t[4],(t,n)=>vt(t,(t,l)=>sn(t,$[e],z[e],[n,l])))}if(!r){let n;vt(t[5],(t,l)=>{let s;vt(t,(t,r)=>{let o;vt(t,([t,a],i)=>{a!==t&&(ge(j[e],[l,r,i],a,t,en),n=s=o=1)}),o&&ge(A[e],[l,r],en)}),s&&ge(Z[e],[l],en)}),n&&ge(k[e],void 0,en)}}},on=e=>{const t=kn();t!=l&&ge(re[e],void 0,t);const n=gt(ae[e])&&gt(de[e]),s=gt(ce[e])&&gt(oe[e]);if(!n||!s){const t=e?[Zt(h),Zt(m)]:[h,m];if(n||sn(t[0],ae[e],de[e]),!s){let n;vt(t[1],([t,l],s)=>{l!==t&&(ge(ce[e],[s],l,t,tn),n=1)}),n&&ge(oe[e],void 0,tn)}}},an=(e,...t)=>(zn(()=>e(...He(t,ie))),On),dn=(e,t,n,l,s)=>{let r=bn(e,t,...n);return me(()=>{const s=bn(e,t,...n);Ve(s,r)||(r=s,l(On,e,t,...n,r))},E[s?1:0],[e,t],[un])},cn=()=>Dt(y),un=()=>Ct(y),hn=e=>Ct(wt(T,ie(e))),mn=e=>dt(wt(y,ie(e))),gn=e=>Ct(wt(y,ie(e))),bn=(e,t,n,l=0,s)=>{return We(e)?bn(e.tableId,e.cellId,e.descending,e.offset,e.limit):He(ke(Re((r=wt(y,ie(e)),o=(e,n)=>[ve(t)?n:wt(e,ie(t)),n],He([...r?.entries()??[]],([e,t])=>o(t,e))),([e],[t])=>((e??0)<(t??0)?-1:1)*(n?-1:1)),l,ve(s)?s:l+s),([,e])=>e);var r,o},pn=(e,t)=>Ct(wt(wt(y,ie(e)),ie(t))),vn=(e,t,n)=>wt(wt(wt(y,ie(e)),ie(t)),ie(n)),In=()=>kt(q),fn=()=>Ct(q),Cn=e=>wt(q,ie(e)),wn=()=>!gt(y),Tn=e=>mt(y,ie(e)),yn=(e,t)=>mt(wt(T,ie(e)),ie(t)),qn=(e,t)=>mt(wt(y,ie(e)),ie(t)),xn=(e,t,n)=>mt(wt(wt(y,ie(e)),ie(t)),ie(n)),kn=()=>!gt(q),Sn=e=>mt(q,ie(e)),Dn=e=>an(()=>(e=>lt(e,ye,Xt))(e)?Oe(e):0),Zn=e=>an(()=>Ze(e)?Xe(e):0),Mn=e=>(Ne(()=>Je(rt(e))),On),Nn=t=>an(()=>{if((e=lt(t,e=>lt(e,fe)))&&($e(t),!gt(y))){const e=cn();Vn(),Dn(e)}}),Ln=e=>an(()=>{if(t=(e=>lt(e,fe))(e)){const n=In();Hn(),An(),t=!0,ze(e),Zn(n)}}),Vn=()=>an(()=>Oe({})),En=e=>an(e=>mt(y,e)?st(e):0,e),Rn=(e,t)=>an((e,t)=>we(wt(y,e),n=>mt(n,t)?at(e,n,t):0),e,t),An=()=>an(()=>Xe({})),$n=()=>an(()=>{$e({}),e=!1}),Hn=()=>an(()=>{ze({}),t=!1}),zn=(e,t)=>{if(-1!=s){Pn();const n=e();return Jn(t),n}},Pn=()=>(-1!=s&&s++,1==s&&(r[0]?.(),ge(ue)),On),Jn=e=>(s>0&&(s--,0==s&&(s=1,nn(1),gt(u)||rn(1),ln(1),gt(m)||on(1),e?.(On)&&(vt(u,(e,t)=>vt(e,(e,n)=>vt(e,([e],l)=>Ot(On,t,n,l,e)))),pt(u),vt(m,([e],t)=>Bt(On,t,e)),pt(m)),ge(he[0],void 0),s=-1,nn(0),gt(u)||rn(0),ln(0),gt(m)||on(0),r[1]?.(),ge(he[1],void 0),r[2]?.(),s=0,n=wn(),l=kn(),Ae([o,a,i,d,c,u,g,h,m,b],pt))),On),On={getContent:()=>[cn(),In()],getTables:cn,getTableIds:un,getTable:e=>St(wt(y,ie(e))),getTableCellIds:hn,getRowCount:mn,getRowIds:gn,getSortedRowIds:bn,getRow:(e,t)=>kt(wt(wt(y,ie(e)),ie(t))),getCellIds:pn,getCell:vn,getValues:In,getValueIds:fn,getValue:Cn,hasTables:wn,hasTable:Tn,hasTableCell:yn,hasRow:qn,hasCell:xn,hasValues:kn,hasValue:Sn,getTablesJson:()=>ot(y),getValuesJson:()=>ot(q),getJson:()=>ot([y,q]),getTablesSchemaJson:()=>ot(p),getValuesSchemaJson:()=>ot(I),getSchemaJson:()=>ot([p,I]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:e=>an(()=>{const t=qe(e)?e():e;Ce(t)&&(([e,t])=>{(tt(e)?Vn:Dn)(e),(tt(t)?An:Zn)(t)})(t)}),setTables:Dn,setTable:(e,t)=>an(e=>ye(t,e)?Be(e,t):0,e),setRow:(e,t,n)=>an((e,t)=>Se(e,t,n)?je(e,nt(e),t,n):0,e,t),addRow:(e,t,n=!0)=>zn(()=>{let l;return Se(e,l,t)&&(e=ie(e),je(e,nt(e),l=((e,t)=>{const[n]=wt(w,e);let l;do{l=n(t)}while(mt(wt(y,e),l));return l})(e,n?1:0),t)),l}),setPartialRow:(e,t,n)=>an((e,t)=>{if(Se(e,t,n,1)){const l=nt(e);Ye(n,(n,s)=>Qe(e,l,t,s,n))}},e,t),setCell:(e,t,n,l)=>an((e,t,n)=>we(De(e,t,n,qe(l)?l(vn(e,t,n)):l),l=>Qe(e,nt(e),t,n,l)),e,t,n),setValues:Zn,setPartialValues:e=>an(()=>Ze(e,1)?Ye(e,(e,t)=>et(t,e)):0),setValue:(e,t)=>an(e=>we(Me(e,qe(t)?t(Cn(e)):t),t=>et(e,t)),e),applyChanges:e=>an(()=>{Ye(e[0],(e,t)=>ve(e)?En(t):Ye(e,(e,n)=>ve(e)?Rn(t,n):Ye(e,(e,l)=>Ot(On,t,n,l,e)))),Ye(e[1],(e,t)=>Bt(On,t,e))}),setTablesJson:Mn,setValuesJson:e=>(Ne(()=>Ke(rt(e))),On),setJson:e=>an(()=>Ne(()=>{const[t,n]=rt(e);Je(t),Ke(n)},()=>Mn(e))),setTablesSchema:Nn,setValuesSchema:Ln,setSchema:(e,t)=>an(()=>{Nn(e),Ln(t)}),delTables:Vn,delTable:En,delRow:Rn,delCell:(e,t,n,l)=>an((e,t,n)=>we(wt(y,e),s=>we(wt(s,t),r=>mt(r,n)?it(e,s,t,r,n,l):0)),e,t,n),delValues:An,delValue:e=>an(e=>mt(q,e)?bt(e):0,e),delTablesSchema:$n,delValuesSchema:Hn,delSchema:()=>an(()=>{$n(),Hn()}),transaction:zn,startTransaction:Pn,getTransactionChanges:()=>[kt(u,(e,t)=>-1===wt(o,t)?void 0:kt(e,(e,n)=>-1===wt(wt(d,t),n)?void 0:kt(e,([,e])=>e,e=>Kt(e)),gt,tt),gt,tt),kt(m,([,e])=>e,e=>Kt(e)),1],getTransactionLog:()=>[!gt(u),!gt(m),Dt(u,_t,Kt),Dt(g),kt(m,_t,Kt),kt(b),kt(o),St(d),Dt(c),kt(h)],finishTransaction:Jn,forEachTable:e=>vt(y,(t,n)=>e(n,e=>vt(t,(t,n)=>e(n,e=>Tt(t,e))))),forEachTableCell:(e,t)=>Tt(wt(T,ie(e)),t),forEachRow:(e,t)=>vt(wt(y,ie(e)),(e,n)=>t(n,t=>Tt(e,t))),forEachCell:(e,t,n)=>Tt(wt(wt(y,ie(e)),ie(t)),n),forEachValue:e=>Tt(q,e),addSortedRowIdsListener:(e,t,n,l,s,r,o)=>We(e)?dn(e.tableId,e.cellId,[e.descending??!1,e.offset??0,e.limit],t,n):dn(e,t,[n,l,s],r,o),addStartTransactionListener:e=>me(e,ue),addWillFinishTransactionListener:e=>me(e,he[0]),addDidFinishTransactionListener:e=>me(e,he[1]),callListener:e=>(pe(e),On),delListener:e=>(be(e),On),getListenerStats:()=>({hasTables:Wt(x),tables:Wt(k),tableIds:Wt(S),hasTable:Wt(D),table:Wt(Z),tableCellIds:Wt(M),hasTableCell:Wt(N,ut),rowCount:Wt(L),rowIds:Wt(V),sortedRowIds:Wt(E),hasRow:Wt(R,ut),row:Wt(A,ut),cellIds:Wt($,ut),hasCell:Wt(z,ht),cell:Wt(j,ht),invalidCell:Wt(W,ht),hasValues:Wt(re),values:Wt(oe),valueIds:Wt(ae),hasValue:Wt(de),value:Wt(ce),invalidValue:Wt(Y),transaction:ct(ue)+Wt(he)}),isMergeable:()=>!1,createStore:Ut,addListener:me,callListeners:ge,setInternalListeners:(e,t,n,l,s)=>r=[e,t,n,l,s]};return Ye({[F+_]:[0,x,[],()=>[wn()]],[_]:[0,k],[K]:[0,S],[F+Q]:[1,D,[un],e=>[Tn(...e)]],[Q]:[1,Z,[un]],[Q+te]:[1,M,[un]],[F+Q+ee]:[2,N,[un,hn],e=>[yn(...e)]],[U]:[1,L,[un]],[X]:[1,V,[un]],[F+G]:[2,R,[un,gn],e=>[qn(...e)]],[G]:[2,A,[un,gn]],[te]:[2,$,[un,gn]],[F+ee]:[3,z,[un,gn,pn],e=>[xn(...e)]],[ee]:[3,j,[un,gn,pn],e=>Ft(vn(...e))],InvalidCell:[3,W],[F+le]:[0,re,[],()=>[kn()]],[le]:[0,oe],[se]:[0,ae],[F+ne]:[1,de,[fn],e=>[Sn(...e)]],[ne]:[1,ce,[fn],e=>Ft(Cn(e[0]))],InvalidValue:[1,Y]},([e,t,n,l],s)=>{On["add"+s+B]=(...s)=>me(s[e],t[s[e+1]?1:0],e>0?ke(s,0,e):void 0,n,l)}),_e(On)},{PureComponent:Xt,createContext:Yt,useCallback:en,useContext:tn,useEffect:nn,useLayoutEffect:ln,useMemo:sn,useRef:rn,useState:on,useSyncExternalStore:an}=V,dn=(e,...t)=>ve(e)?{}:e(...t),cn="tinybaseInspector",un="TinyBase Inspector",hn=["left","top","bottom","right","full"],mn="state",gn="sort",bn="open",pn="position",vn=bn,In="editable",fn=(...e)=>ot(e),Cn=(e,t)=>He(Re([...e]),t),wn=(e,t)=>[!!l(mn,e,In,t),en(n=>{t.setCell(mn,e,In,e=>!e),n.preventDefault()},[t,e])],Tn=({s:t})=>{const n=s(pn,t)??1,l=r(vn,()=>!0,[],t);return s(vn,t)?null:e("img",{onClick:l,title:un,"data-position":n})},yn="tinybase_uirc",qn=ce[yn]?ce[yn]:ce[yn]=Yt([]),xn=(e,t)=>{const n=((e,t)=>{const n=tn(qn);return ve(e)?n[2*t]:ye(e)?((e,t)=>we(e,e=>e[t]))(n[2*t+1],e):e})(e,t);return ve(e)||ye(e)?n:e},kn=[],Sn=[{},[],[kn,void 0,kn],{},void 0,void 0,!1,0],Dn=[nt,Ve,([e,t,n],[l,s,r])=>t===s&&Ve(e,l)&&Ve(n,r),(e,t)=>nt(e,t,Ee),Ee],Zn=(e,t)=>e===t,Mn=(e,t,n,l=kn)=>{const s=rn(Sn[n]),r=en(()=>{const r=t?.[(6==n?"has":"get")+e]?.(...l)??Sn[n];return(Dn[n]??Zn)(r,s.current)?s.current:s.current=r},[t,n,e,...l]),o=en(s=>((e,t,...n)=>{const l=e?.["add"+t+B]?.(...n);return()=>e?.delListener?.(l)})(t,(6==n?F:R)+e,...l,s),[t,n,e,...l]);return an(o,r,r)},Nn=(e,t,n,l,s,r,...o)=>((e,t,n,l=kn,s=De,r=kn,o,...a)=>en(l=>we(e,e=>we(n(l,e),n=>s(e[o+t](...Ln(a,e,l),n),n))),[e,t,...l,...r,o,...Vn(a)]))(Rn(e),t,n,l,s,r,"set",...o),Ln=(e,t,n)=>He(e,e=>qe(e)?e(n,t):e),Vn=e=>{return t=e=>!qe(e),e.filter(t);var t},En=(e,t,n=De,l=kn,...s)=>{const r=Rn(e);return en(e=>n(r?.["del"+t](...Ln(s,r,e))),[r,t,...l,...Vn(s)])},Rn=e=>xn(e,0),An=(e,t)=>Mn(Q+te,Rn(t),1,[e]),$n=(e,t,n,l,s,r)=>((e,t,n,l,s,r)=>Mn(Y,Rn(r),1,[e,t,n,l,s]))(...We(e)?[e.tableId,e.cellId,e.descending??!1,e.offset??0,e.limit,t]:[e,t,n,l,s,r]),Hn=(e,t,n,l)=>Mn(ee,Rn(l),5,[e,t,n]),zn=(e,t)=>Mn(ne,Rn(t),5,[e]),Pn=(e,t,n,l,s,r)=>Nn(l,Q,t,n,s,r,e),Jn=(e,t,n,l,s,r,o)=>Nn(s,G,n,l,r,o,e,t),On=(e,t,n,l,s,r,o,a)=>Nn(r,ee,l,s,o,a,e,t,n),Bn=(e,t,n,l,s,r)=>Nn(l,ne,t,n,s,r,e),jn=(e,t,n,l)=>En(t,Q,n,l,e),Fn=(e,t,n,l,s)=>En(n,G,l,s,e,t),Wn=(e,t,n,l,s,r,o)=>En(s,ee,r,o,e,t,n,l),Qn=(e,t,n,l)=>En(t,ne,n,l,e),_n=e=>xn(e,2),Kn=(e,t,n)=>Mn("Slice"+X,_n(n),1,[e,t]),Gn=e=>xn(e,3),Un=e=>xn(e,4),Xn=(e,t)=>Mn(j+Q+te,Un(t),1,[e]),Yn=(e,t,n,l=0,s,r)=>Mn(j+Y,Un(r),1,[e,t,n,l,s]),el=(e,t)=>sn(()=>({store:e,tableId:t}),[e,t]),tl=(e,t)=>sn(()=>({queries:e,queryId:t}),[e,t]),nl=(e,t,n)=>{const l=en(e,t);return n?l:void 0},ll=(...e)=>sn(()=>e,e),sl=(e,t,n)=>sn(()=>{const l=t??e;return Ye(xe(l)?Ke(He(l,e=>[e,e])):l,(e,t)=>({label:t,component:n,...ye(e)?{label:e}:e}))},[t,n,e]),rl="editable",ol=(t=[],n,l=0)=>He(t,({component:t},s)=>e("td",{className:ae,children:e(t,{...n})},al(s,l))),al=(e,t)=>(t?">":"<")+e,il=(t=[],n=0)=>He(t,({label:t},l)=>e("th",{className:ae,children:t},al(l,n))),dl=({cellId:e,sort:[n,l],label:s=e??R,onClick:r})=>t("th",{onClick:nl(()=>r?.(e),[r,e],r),className:ve(l)||n!=e?void 0:`sorted ${l?"de":"a"}scending`,children:[ve(l)||n!=e?null:(l?"↓":"↑")+" ",s]}),cl=({className:n,headerRow:l,idColumn:s,params:[r,o,a,i,d,c,u,h]})=>t("table",{className:n,children:[h?e("caption",{children:h}):null,!1===l?null:e("thead",{children:t("tr",{children:[il(i),!1===s?null:e(dl,{sort:c??[],label:"Id",onClick:u}),Xe(r,({label:t},n)=>e(dl,{cellId:n,label:t,sort:c??[],onClick:u},n)),il(d,1)]})}),e("tbody",{children:He(a,n=>{const l={...o,rowId:n};return t("tr",{children:[ol(i,l),fe(s)?null:e("th",{title:n,children:n}),Xe(r,({component:t,getComponentProps:s},r)=>e("td",{children:e(t,{...dn(s,n,r),...l,cellId:r})},r)),ol(d,l,1)]},n)})})]}),ul=({thing:n,onThingChange:l,className:s,hasSchema:r,showType:o=!0})=>{const[a,i]=on(),[d,c]=on(),[u,h]=on(),[m,g]=on(),[b,p]=on();d!==n&&(i(Jt(n)),c(n),h(n+""),g(Number(n)||0),p(!!n));const v=en((e,t)=>{t(e),c(e),l(e)},[l]),I=en(()=>{if(!r?.()){const e=jt(a,H,$,A),t=jt(e,u,m,b);i(e),c(t),l(t)}},[r,l,u,m,b,a]),f=jt(a,e("input",{value:u,onChange:en(e=>v(e[re][oe]+"",h),[v])},a),e("input",{type:"number",value:m,onChange:en(e=>v(Number(e[re][oe]||0),g),[v])},a),e("input",{type:"checkbox",checked:b,onChange:en(e=>v(!!e[re].checked,p),[v])},a));return t("div",{className:s,children:[o&&f?e("button",{title:a,className:a,onClick:I,children:a}):null,f]})},hl=({tableId:t,rowId:n,cellId:l,store:s,className:r,showType:o})=>{const[a,i]=((e,t,n,l)=>[Hn(e,t,n,l),On(e,t,n,Ze,[],l)])(t,n,l,s);return e(ul,{thing:a,onThingChange:i,className:r??rl+ee,showType:o,hasSchema:Rn(s)?.hasTablesSchema})},ml=({valueId:t,store:n,className:l,showType:s})=>{const[r,o]=((e,t)=>[zn(e,t),Bn(e,Ze,[],t)])(t,n);return e(ul,{thing:r,onThingChange:o,className:l??rl+ne,showType:s,hasSchema:Rn(n)?.hasValuesSchema})},gl=(e,t)=>He(An(e,t),t=>e+"."+t),bl=({localRowId:l,params:[s,r,o,a,i,d,c,u,h]})=>{const m=((e,t,n)=>Mn("RemoteRowId",Gn(n),5,[e,t]))(i,l,d),g={tableId:o??"",rowId:l,store:c};return t("tr",{children:[ol(u,g),fe(s)?null:t(n,{children:[e("th",{title:l,children:l}),e("th",{title:m,children:m})]}),Xe(r,({component:t,getComponentProps:n},s)=>{const[r,i]=((e,t="",n)=>e.split(t,n))(s,".",2),d=r===o?l:r===a?m:void 0;return ve(d)?null:e("td",{children:e(t,{...dn(n,d,i),store:c,tableId:r,rowId:d,cellId:i})},s)}),ol(h,g,1)]})},pl=({relationshipId:l,relationships:s,editable:r,customCells:a,extraCellsBefore:i,extraCellsAfter:d,className:c,headerRow:u,idColumn:h=!0})=>{const[m,g,b,p]=((e,t)=>[e,e?.getStore(),e?.getLocalTableId(t),e?.getRemoteTableId(t)])(Gn(s),l),v=sl([...gl(b,g),...gl(p,g)],a,r?hl:o),I=ll(h,v,b,p,l,m,g,i,d);return t("table",{className:c,children:[fe(u)?null:e("thead",{children:t("tr",{children:[il(i),fe(h)?null:t(n,{children:[t("th",{children:[b,".Id"]}),t("th",{children:[p,".Id"]})]}),Xe(v,({label:t},n)=>e("th",{children:t},n)),il(d,1)]})}),e("tbody",{children:He((f=b,C=g,Mn(X,Rn(C),1,[f])),t=>e(bl,{localRowId:t,params:I},t))})]});var f,C},vl=(t,n=!1,l,s=0,r,o,a,i)=>{const[[d,c,u],h]=on([t,n,s]),m=en(e=>{h(e),i?.(e)},[i]),g=nl(e=>m([e,e==d&&!c,u]),[m,d,c,u],l),b=en(e=>m([d,c,e]),[m,d,c]),p=!0===a?Il:a;return[[d,c,u],g,sn(()=>fe(a)?null:e(p,{offset:u,limit:r,total:o,onChange:b}),[a,p,u,r,o,b])]},Il=({onChange:l,total:s,offset:r=0,limit:o=s,singular:a="row",plural:i=a+"s"})=>{(r>s||r<0)&&(r=0,l(0));const d=nl(()=>l(r-o),[l,r,o],r>0),c=nl(()=>l(r+o),[l,r,o],r+o<s);return t(n,{children:[s>o&&t(n,{children:[e("button",{className:"previous",disabled:0==r,onClick:d,children:"←"}),e("button",{className:"next",disabled:r+o>=s,onClick:c,children:"→"}),r+1," to ",me(s,r+o)," of "]}),s," ",1!=s?i:a]})},fl=({queryId:t,cellId:n,descending:l,offset:s,limit:r,queries:o,sortOnClick:i,paginator:d=!1,customCells:c,extraCellsBefore:u,extraCellsAfter:h,onChange:m,...g})=>{const[b,p,v]=vl(n,l,i,s,r,((e,t)=>Mn(j+U,Un(t),7,[e]))(t,o),d,m);return e(cl,{...g,params:ll(sl(Xn(t,o),c,a),tl(o,t),Yn(t,...b,r,o),u,h,b,p,v)})},Cl=({indexId:t,sliceId:n,indexes:l,editable:s,customCells:r,extraCellsBefore:a,extraCellsAfter:i,...d})=>{const[c,u,h]=((e,t)=>[e,e?.getStore(),e?.getTableId(t)])(_n(l),t);return e(cl,{...d,params:ll(sl(An(h,u),r,s?hl:o),el(u,h),Kn(t,n,c),a,i)})},wl=({tableId:t,cellId:n,descending:l,offset:s,limit:r,store:a,editable:i,sortOnClick:d,paginator:c=!1,onChange:u,customCells:h,extraCellsBefore:m,extraCellsAfter:g,...b})=>{const[p,v,I]=vl(n,l,d,s,r,((e,t)=>Mn(U,Rn(t),7,[e]))(t,a),c,u);return e(cl,{...b,params:ll(sl(An(t,a),h,i?hl:o),el(a,t),$n(t,...p,r,a),m,g,p,v,I)})},Tl=(t=[],n,l=0)=>He(t,({component:t},s)=>e("td",{className:ae,children:e(t,{...n})},al(s,l))),yl=({store:n,editable:l=!1,valueComponent:s=(l?ml:i),getValueComponentProps:r,extraCellsBefore:o,extraCellsAfter:a,className:d,headerRow:c,idColumn:u})=>{return t("table",{className:d,children:[!1===c?null:e("thead",{children:t("tr",{children:[il(o),!1===u?null:e("th",{children:"Id"}),e("th",{children:ne}),il(a,1)]})}),e("tbody",{children:He((h=n,Mn(se,Rn(h),1)),l=>{const i={valueId:l,store:n};return t("tr",{children:[Tl(o,i),fe(u)?null:e("th",{title:l,children:l}),e("td",{children:e(s,{...dn(r,l),...i})}),Tl(a,i,1)]},l)})})]});var h},ql=({uniqueId:n,title:s,editable:r,handleEditable:o,children:a,s:i})=>{const c=!!l(mn,n,bn,i),u=d(mn,n,bn,e=>e[re].open,[],i);return t("details",{open:c,onToggle:u,children:[t("summary",{children:[e("span",{children:s}),o?e("img",{onClick:o,className:r?"done":"edit",title:r?"Done editing":"Edit"}):null]}),e("div",{children:a})]})},xl=({indexes:t,indexesId:n,indexId:l,s:s})=>e(ql,{uniqueId:fn("i",n,l),title:"Index: "+l,s:s,children:He(h(l,t),r=>e(kl,{indexes:t,indexesId:n,indexId:l,sliceId:r,s:s},r))}),kl=({indexes:t,indexesId:n,indexId:l,sliceId:s,s:r})=>{const o=fn("i",n,l,s),[a,i]=wn(o,r);return e(ql,{uniqueId:o,title:"Slice: "+s,editable:a,handleEditable:i,s:r,children:e(Cl,{sliceId:s,indexId:l,indexes:t,editable:a})})},Sl=({indexesId:t,s:n})=>{const l=c(t),s=u(l);return ve(l)?null:e(ql,{uniqueId:fn("i",t),title:"Indexes: "+(t??J),s:n,children:ze(s)?"No indexes defined":Cn(s,s=>e(xl,{indexes:l,indexesId:t,indexId:s,s:n},s))})},Dl=({metrics:n,metricId:l})=>t("tr",{children:[e("th",{title:l,children:l}),e("td",{children:n?.getTableId(l)}),e("td",{children:b(l,n)})]}),Zl=({metricsId:n,s:l})=>{const s=m(n),r=g(s);return ve(s)?null:e(ql,{uniqueId:fn("m",n),title:"Metrics: "+(n??J),s:l,children:ze(r)?"No metrics defined":t("table",{children:[t("thead",{children:[e("th",{children:"Metric Id"}),e("th",{children:"Table Id"}),e("th",{children:"Metric"})]}),e("tbody",{children:He(r,t=>e(Dl,{metrics:s,metricId:t},t))})]})})},Ml=({queries:t,queriesId:n,queryId:s,s:r})=>{const o=fn("q",n,s),[a,i,c]=rt(l(mn,o,gn,r)??"[]"),u=d(mn,o,gn,ot,[],r);return e(ql,{uniqueId:o,title:"Query: "+s,s:r,children:e(fl,{queryId:s,queries:t,cellId:a,descending:i,offset:c,limit:10,paginator:!0,sortOnClick:!0,onChange:u})})},Nl=({queriesId:t,s:n})=>{const l=p(t),s=v(l);return ve(l)?null:e(ql,{uniqueId:fn("q",t),title:"Queries: "+(t??J),s:n,children:ze(s)?"No queries defined":Cn(s,s=>e(Ml,{queries:l,queriesId:t,queryId:s,s:n},s))})},Ll=({relationships:t,relationshipsId:n,relationshipId:l,s:s})=>{const r=fn("r",n,l),[o,a]=wn(r,s);return e(ql,{uniqueId:r,title:"Relationship: "+l,editable:o,handleEditable:a,s:s,children:e(pl,{relationshipId:l,relationships:t,editable:o})})},Vl=({relationshipsId:t,s:n})=>{const l=I(t),s=f(l);return ve(l)?null:e(ql,{uniqueId:fn("r",t),title:"Relationships: "+(t??J),s:n,children:ze(s)?"No relationships defined":Cn(s,s=>e(Ll,{relationships:l,relationshipsId:t,relationshipId:s,s:n},s))})},El=(e,t)=>{let n,l=0;for(;t(n=e+(l>0?" (copy"+(l>1?" "+l:"")+")":""));)l++;return n},Rl=({actions:l,...s})=>{const[r,o]=on(),a=en(()=>o(void 0),[]);if(nn(()=>{if(!ve(r)){const e=e=>{ve(r)||"Escape"!==e.key||(e.preventDefault(),a())};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)}},[r,a]),ve(r))return l.map(([t,n],l)=>e("img",{title:n,className:t,onClick:()=>o(l)},l));{const[,,o]=l[r];return t(n,{children:[e(o,{onDone:a,...s}),e("img",{onClick:a,title:"Cancel",className:"cancel"})]})}},Al=({onDone:l,suggestedId:s,has:r,set:o,prompt:a="New Id"})=>{const[i,d]=on(s),[c,u]=on(!0),[h,m]=on(s),g=en(()=>{r(i)?u(!1):(o(i),l())},[l,u,r,o,i]),b=en(e=>{"Enter"===e.key&&(e.preventDefault(),g())},[g]);return s!=h&&(d(s),m(s)),t(n,{children:[a+": ",e("input",{type:"text",value:i,onChange:e=>{d(e.target.value),u(!r(e.target.value))},onKeyDown:b,autoFocus:!0})," ",e("img",{onClick:g,title:c?"Confirm":"Id already exists",className:c?"ok":"okDis"})]})},$l=({onClick:l,prompt:s="Delete"})=>{const r=en(e=>{"Enter"===e.key&&(e.preventDefault(),l())},[l]);return nn(()=>(document.addEventListener("keydown",r),()=>document.removeEventListener("keydown",r)),[r]),t(n,{children:[s,"? ",e("img",{onClick:l,title:"Confirm",className:"ok"})]})},Hl=({left:n,right:l})=>t("div",{className:"actions",children:[e("div",{children:n}),e("div",{children:l})]}),zl=e=>{const t=Rn(e);return en(e=>t?.hasTable(e)??!1,[t])},Pl=({onDone:t,store:n})=>{const l=zl(n);return e(Al,{onDone:t,suggestedId:El("table",l),has:l,set:Pn(e=>e,()=>({row:{cell:""}}),[],n),prompt:"Add table"})},Jl=({onDone:t,store:n})=>{return e($l,{onClick:(l=n,s=t,En(l,_,s,void 0)),prompt:"Delete all tables"});var l,s},Ol=({store:t})=>{return e(Hl,{left:e(Rl,{actions:[["add","Add table",Pl]],store:t}),right:(n=t,Mn(_,Rn(n),6,[])?e(Rl,{actions:[["delete","Delete all tables",Jl]],store:t}):null)});var n},Bl=({onDone:t,tableId:n,store:l})=>{const s=_l(l,n);return e(Al,{onDone:t,suggestedId:El("row",s),has:s,set:Jn(n,e=>e,(e,t)=>Ke(He(t.getTableCellIds(n),e=>[e,""]))),prompt:"Add row"})},jl=({onDone:t,tableId:n,store:l})=>{const s=Rn(l),r=zl(s);return e(Al,{onDone:t,suggestedId:El(n,r),has:r,set:Pn(e=>e,(e,t)=>t.getTable(n)),prompt:"Clone table to"})},Fl=({onDone:t,tableId:n,store:l})=>e($l,{onClick:jn(n,l,t),prompt:"Delete table"}),Wl=({tableId:t,store:n})=>e(Rl,{actions:[["add","Add row",Bl]],store:n,tableId:t}),Ql=({tableId:t,store:n})=>e(Rl,{actions:[["clone","Clone table",jl],["delete","Delete table",Fl]],store:n,tableId:t}),_l=(e,t)=>{const n=Rn(e);return en(e=>n?.hasRow(t,e)??!1,[n,t])},Kl=({onDone:t,tableId:n,rowId:l,store:s})=>{const r=Rn(s),o=en(e=>r.hasCell(n,l,e),[r,n,l]);return e(Al,{onDone:t,suggestedId:El("cell",o),has:o,set:On(n,l,e=>e,()=>"",[],r),prompt:"Add cell"})},Gl=({onDone:t,tableId:n,rowId:l,store:s})=>{const r=Rn(s),o=_l(r,n);return e(Al,{onDone:t,suggestedId:El(l,o),has:o,set:Jn(n,e=>e,(e,t)=>t.getRow(n,l),[l]),prompt:"Clone row to"})},Ul=({onDone:t,tableId:n,rowId:l,store:s})=>e($l,{onClick:Fn(n,l,s,t),prompt:"Delete row"}),Xl=({onDone:t,tableId:n,rowId:l,cellId:s,store:r})=>e($l,{onClick:Wn(n,l,s,!0,r,t),prompt:"Delete cell"}),Yl=({tableId:t,rowId:n,cellId:l,store:s})=>e(Rl,{actions:[["delete","Delete cell",Xl]],store:s,tableId:t,rowId:n,cellId:l}),es=[{label:"",component:({tableId:t,rowId:n,store:l})=>e(Rl,{actions:[["add","Add cell",Kl],["clone","Clone row",Gl],["delete","Delete row",Ul]],store:l,tableId:t,rowId:n})}],ts=l=>t(n,{children:[e(hl,{...l}),T(l.tableId,l.rowId,l.cellId,l.store)&&e(Yl,{...l})]}),ns=({tableId:n,store:s,storeId:r,s:a})=>{const i=fn("t",r,n),[c,u,h]=rt(l(mn,i,gn,a)??"[]"),m=d(mn,i,gn,ot,[],a),[g,b]=wn(i,a),p=g?ts:o;return t(ql,{uniqueId:i,title:Q+": "+n,editable:g,handleEditable:b,s:a,children:[e(wl,{tableId:n,store:s,cellId:c,descending:u,offset:h,limit:10,paginator:!0,sortOnClick:!0,onChange:m,editable:g,extraCellsAfter:g?es:[],customCells:Ke(He(w(n,s),e=>[e,{label:e,component:p}]))}),g?t("div",{className:"actions",children:[e("div",{children:e(Wl,{tableId:n,store:s})}),e("div",{children:e(Ql,{tableId:n,store:s})})]}):null]})},ls=({store:n,storeId:l,s:s})=>{const r=fn("ts",l),[o,a]=wn(r,s),i=C(n);return t(ql,{uniqueId:r,title:_,editable:o,handleEditable:a,s:s,children:[ze(i)?e("caption",{children:"No tables."}):Cn(i,t=>e(ns,{store:n,storeId:l,tableId:t,s:s},t)),o?e(Ol,{store:n}):null]})},ss=e=>{const t=Rn(e);return en(e=>t?.hasValue(e)??!1,[t])},rs=({onDone:t,store:n})=>{const l=ss(n);return e(Al,{onDone:t,suggestedId:El("value",l),has:l,set:Bn(e=>e,()=>"",[],n),prompt:"Add value"})},os=({onDone:t,store:n})=>{return e($l,{onClick:(l=n,s=t,En(l,le,s,void 0)),prompt:"Delete all values"});var l,s},as=({store:t})=>{return e(Hl,{left:e(Rl,{actions:[["add","Add value",rs]],store:t}),right:(n=t,Mn(le,Rn(n),6,[])?e(Rl,{actions:[["delete","Delete all values",os]],store:t}):null)});var n},is=({onDone:t,valueId:n,store:l})=>{const s=ss(l);return e(Al,{onDone:t,suggestedId:El(n,s),has:s,set:Bn(e=>e,(e,t)=>t.getValue(n)??"",[n],l),prompt:"Clone value to"})},ds=({onDone:t,valueId:n,store:l})=>e($l,{onClick:Qn(n,l,t),prompt:"Delete value"}),cs=[{label:"",component:({valueId:t,store:n})=>e(Rl,{actions:[["clone","Clone value",is],["delete","Delete value",ds]],store:n,valueId:t})}],us=({store:n,storeId:l,s:s})=>{const r=fn("v",l),[o,a]=wn(r,s);return t(ql,{uniqueId:r,title:le,editable:o,handleEditable:a,s:s,children:[ze(y(n))?e("caption",{children:"No values."}):e(yl,{store:n,editable:o,extraCellsAfter:o?cs:[]}),o?e(as,{store:n}):null]})},hs=({storeId:n,s:l})=>{const s=q(n);return ve(s)?null:t(ql,{uniqueId:fn("s",n),title:(s.isMergeable()?"Mergeable":"")+"Store: "+(n??J),s:l,children:[e(us,{storeId:n,store:s,s:l}),e(ls,{storeId:n,store:s,s:l})]})},ms=({s:n})=>{const l=rn(null),s=rn(0),[r,o]=on(!1),{scrollLeft:a,scrollTop:i}=x(n);ln(()=>{const e=l.current;if(e&&!r){const t=new MutationObserver(()=>{e.scrollWidth>=ge(a)+e.clientWidth&&e.scrollHeight>=ge(i)+e.clientHeight&&e.scrollTo(a,i)});return t.observe(e,{childList:!0,subtree:!0}),()=>t.disconnect()}},[r,a,i]);const d=en(e=>{const{scrollLeft:t,scrollTop:l}=e[re];cancelIdleCallback(s.current),s.current=requestIdleCallback(()=>{o(!0),n.setPartialValues({scrollLeft:t,scrollTop:l})})},[n]),u=q(),h=k(),g=m(),b=S(),v=c(),f=D(),C=I(),w=Z(),T=p(),y=M();return ve(u)&&ze(h)&&ve(g)&&ze(b)&&ve(v)&&ze(f)&&ve(C)&&ze(w)&&ve(T)&&ze(y)?e("span",{className:"warn",children:"There are no Stores or other objects to inspect. Make sure you placed the Inspector inside a Provider component."}):t("article",{ref:l,onScroll:d,children:[e(hs,{s:n}),He(h,t=>e(hs,{storeId:t,s:n},t)),e(Zl,{s:n}),He(b,t=>e(Zl,{metricsId:t,s:n},t)),e(Sl,{s:n}),He(f,t=>e(Sl,{indexesId:t,s:n},t)),e(Vl,{s:n}),He(w,t=>e(Vl,{relationshipsId:t,s:n},t)),e(Nl,{s:n}),He(y,t=>e(Nl,{queriesId:t,s:n},t))]})};class gs extends Xt{constructor(e){super(e),this.state={e:0}}static getDerivedStateFromError(){return{e:1}}componentDidCatch=(e,t)=>console.error(e,t.componentStack);render(){return this.state.e?e("span",{className:"warn",children:"Inspector error: please see console for details."}):this.props.children}}const bs=({s:n})=>{const l=s(pn,n)??1,o=r(vn,()=>!1,[],n),a=r(pn,e=>Number(e[re].dataset.id),[],n);return t("header",{children:[e("img",{className:"flat",title:un,onClick:()=>open("https://tinybase.org","_blank")}),e("span",{children:un}),He(hn,(t,n)=>n==l?null:e("img",{onClick:a,"data-id":n,title:"Dock to "+t},n)),e("img",{className:"flat",onClick:o,title:"Close"})]})},ps=({s:n})=>{const l=s(pn,n)??1;return s(vn,n)?t("main",{"data-position":l,children:[e(bs,{s:n}),e(gs,{children:e(ms,{s:n})})]}):null},vs='url("',Is=(e,t="white")=>({content:vs+`data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960' fill='${t}'><path d='${e}' /></svg>")`}),fs="v560h120v-560h-120Z",Cs="v560h360v-560h-360Z",ws="v120h560v-120h-560Z",Ts="v360h560v-360h-560Z",ys={content:vs+"data:image/svg+xml,%3csvg viewBox='0 0 680 680' xmlns='http://www.w3.org/2000/svg' style='width:680px%3bheight:680px'%3e %3cpath stroke='white' stroke-width='80' fill='none' d='M340 617a84 241 90 11.01 0zM131 475a94 254 70 10428-124 114 286 70 01-428 124zm0-140a94 254 70 10428-124 114 286 70 01-428 124zm-12-127a94 254 70 00306 38 90 260 90 01-306-38zm221 3a74 241 90 11.01 0z' /%3e %3cpath fill='%23d81b60' d='M131 475a94 254 70 10428-124 114 286 70 01-428 124zm0-140a94 254 70 10428-124 114 286 70 01-428 124z' /%3e %3cpath d='M249 619a94 240 90 00308-128 114 289 70 01-308 128zM119 208a94 254 70 00306 38 90 260 90 01-306-38zm221 3a74 241 90 11.01 0z' /%3e%3c/svg%3e\")"},qs=He([`M200-760${fs} M400-760${Cs}`,`M200-760${ws} M200-560${Ts}`,`M200-760${Ts} M200-320${ws}`,`M200-760${Cs} M640-760${fs}`],e=>Is("M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Z"+e));Pe(qs,Is("M120-120v-200h80v120h120v80H120Zm520 0v-80h120v-120h80v200H640ZM120-640v-200h200v80H200v120h-80Zm640 0v-120H640v-80h200v200h-80Z"));const xs=Is("m336-280-56-56 144-144-144-143 56-56 144 144 143-144 56 56-144 143 144 144-56 56-143-144-144 144Z"),ks=Is("M200-200h57l391-391-57-57-391 391v57Zm-80 80v-170l528-527q12-11 26.5-17t30.5-6q16 0 31 6t26 18l55 56q12 11 17.5 26t5.5 30q0 16-5.5 30.5T817-647L290-120H120Zm640-584-56-56 56 56Zm-141 85-28-29 57 57-29-28Z"),Ss=Is("m622-453-56-56 82-82-57-57-82 82-56-56 195-195q12-12 26.5-17.5T705-840q16 0 31 6t26 18l55 56q12 11 17.5 26t5.5 30q0 16-5.5 30.5T817-647L622-453ZM200-200h57l195-195-28-29-29-28-195 195v57ZM792-56 509-338 290-120H120v-169l219-219L56-792l57-57 736 736-57 57Zm-32-648-56-56 56 56Zm-169 56 57 57-57-57ZM424-424l-29-28 57 57-28-29Z"),Ds=Is("M440-280h80v-160h160v-80H520v-160h-80v160H280v80h160v160ZM200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm0-80h560v-560H200v560Zm0-560v560-560Z"),Zs=Is("M520-400h80v-120h120v-80H600v-120h-80v120H400v80h120v120ZM320-240q-33 0-56.5-23.5T240-320v-480q0-33 23.5-56.5T320-880h480q33 0 56.5 23.5T880-800v480q0 33-23.5 56.5T800-240H320Zm0-80h480v-480H320v480ZM160-80q-33 0-56.5-23.5T80-160v-560h80v560h560v80H160Zm160-720v480-480Z"),Ms=Is("M280-120q-33 0-56.5-23.5T200-200v-520h-40v-80h200v-40h240v40h200v80h-40v520q0 33-23.5 56.5T680-120H280Zm400-600H280v520h400v-520ZM360-280h80v-360h-80v360Zm160 0h80v-360h-80v360ZM280-720v520-520Z"),Ns=Is("m424-296 282-282-56-56-226 226-114-114-56 56 170 170Zm56 216q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z","rgb(127,255,127)"),Ls=Is("m40-120 440-760 440 760H40Zm138-80h604L480-720 178-200Zm302-40q17 0 28.5-11.5T520-280q0-17-11.5-28.5T480-320q-17 0-28.5 11.5T440-280q0 17 11.5 28.5T480-240Zm-40-120h80v-200h-80v200Zm40-100Z","rgb(255,255,127)"),Vs=Is("m336-280 144-144 144 144 56-56-144-144 144-144-56-56-144 144-144-144-56 56 144 144-144 144 56 56ZM480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z","rgb(255,127,127)"),Es=Is("M480-344 240-584l56-56 184 184 184-184 56 56-240 240Z"),Rs=Is("M504-480 320-664l56-56 240 240-240 240-56-56 184-184Z"),As="*::-webkit-scrollbar",$s="background",Hs="width",zs="max-"+Hs,Ps="min-"+Hs,Js="height",Os="border",Bs=Os+"-radius",js="padding",Fs="margin",Ws=Fs+"-right",Qs="top",_s="bottom",Ks="left",Gs="right",Us="color",Xs="position",Ys="box-shadow",er="font-size",tr="display",nr="overflow",lr="cursor",sr="vertical-align",rr="text-align",or="justify-content",ar="fixed",ir="revert",dr="unset",cr="none",ur="flex",hr="pointer",mr="auto",gr="hidden",br="nowrap",pr=(e,t="% 0.01 "+vr("hue"))=>`oklch(${e}${t})`,vr=e=>`var(--${e})`,Ir=(...e)=>e.join("rem ")+"rem",fr=(...e)=>e.join("px ")+"px",Cr=(e=100)=>e+"vw",wr=(e=100)=>e+"vh",Tr=$e(Xe({"":{all:"initial",[er]:Ir(.75),[Xs]:ar,"font-family":"inter,sans-serif","z-index":999999,"--bg":pr(20),"--bg2":pr(15),"--bg3":pr(25),"--bg4":pr(30),"--fg":pr(85),"--fg2":pr(60),["--"+Os]:fr(1)+" solid "+vr("bg4"),["--"+Ys]:fr(0,1,2,0)+" #0007"},"*":{all:ir},"*::before":{all:ir},"*::after":{all:ir},[As]:{[Hs]:Ir(.5),[Js]:Ir(.5)},[As+"-thumb"]:{[$s]:vr("bg4")},[As+"-thumb:hover"]:{[$s]:vr("bg4")},[As+"-corner"]:{[$s]:cr},[As+"-track"]:{[$s]:cr},img:{[Hs]:Ir(.8),[Js]:Ir(.8),[sr]:"text-"+_s,[lr]:hr,[Fs]:fr(-2.5,2,-2.5,0),[js]:fr(2),[Os]:vr(Os),[$s]:vr("bg3"),[Ys]:vr(Ys),[Bs]:Ir(.25)},"img.flat":{[Os]:cr,[$s]:cr,[Ys]:cr},">img":{[js]:Ir(.25),[_s]:0,[Gs]:0,[Xs]:ar,[Js]:dr,[Fs]:0,...ys},...Ke(He([{[_s]:0,[Ks]:0},{[Qs]:0,[Gs]:0}],(e,t)=>[`>img[data-position='${t}']`,e])),main:{[tr]:ur,[Us]:vr("fg"),[$s]:vr("bg"),[nr]:gr,[Xs]:ar,[Ys]:vr(Ys),"flex-direction":"column"},...Ke(He([{[_s]:0,[Ks]:0,[Hs]:Cr(35),[Js]:wr(),[Os+"-"+Gs]:vr(Os)},{[Qs]:0,[Gs]:0,[Hs]:Cr(),[Js]:wr(30),[Os+"-"+_s]:vr(Os)},{[_s]:0,[Ks]:0,[Hs]:Cr(),[Js]:wr(30),[Os+"-"+Qs]:vr(Os)},{[Qs]:0,[Gs]:0,[Hs]:Cr(35),[Js]:wr(),[Os+"-"+Ks]:vr(Os)},{[Qs]:0,[Gs]:0,[Hs]:Cr(),[Js]:wr()}],(e,t)=>[`main[data-position='${t}']`,e])),header:{[tr]:ur,[js]:Ir(.5),[Ys]:vr(Ys),[$s]:pr(30,"% 0.008 var(--hue) / .5"),[Hs]:"calc(100% - .5rem)",[Xs]:"absolute",[Os+"-"+_s]:vr(Os),"align-items":"center","backdrop-filter":"blur(4px)"},"header>img:nth-of-type(1)":{[Js]:Ir(1),[Hs]:Ir(1),...ys},"header>img:nth-of-type(6)":xs,...Ke(He(qs,(e,t)=>[`header>img[data-id='${t}']`,e])),"header>span":{[nr]:gr,[ur]:1,"font-weight":800,"white-space":br,"text-overflow":"ellipsis"},article:{[nr]:mr,[ur]:1,[js+"-"+Qs]:Ir(2)},details:{[Fs]:Ir(.5),[Os]:vr(Os),[Bs]:Ir(.25)},summary:{[$s]:vr("bg3"),[Fs]:fr(-1),[Os]:vr(Os),[js]:Ir(.25,.125),[tr]:ur,[Bs]:Ir(.25),"user-select":cr,[or]:"space-between","align-items":"center"},"summary>span::before":{[tr]:"inline-block",[sr]:"sub",[Fs]:fr(2),[Hs]:Ir(1),[Js]:Ir(1),...Rs},"details[open]>summary":{"border-bottom-left-radius":0,"border-bottom-right-radius":0,[Fs+"-"+_s]:0},"details[open]>summary>span::before":Es,"details>summary img":{[tr]:cr},"details[open]>summary img":{[tr]:dr,[Fs+"-"+Ks]:Ir(.25)},"details>div":{[nr]:mr},caption:{[Us]:vr("fg2"),[js]:Ir(.25,.5),[rr]:Ks,"white-space":br},"caption button":{[Hs]:Ir(1.5),[Os]:cr,[$s]:cr,[Us]:vr("fg"),[js]:0,[lr]:hr},"caption button[disabled]":{[Us]:vr("fg2")},".actions":{[js]:Ir(.75,.5),[Fs]:0,[tr]:ur,[Os+"-"+Qs]:vr(Os),[or]:"space-between"},table:{[Ps]:"100%","border-collapse":"collapse","table-layout":ar},thead:{[$s]:vr("bg")},[`th,#${cn} td`]:{[nr]:gr,[js]:Ir(.25,.5),[zs]:Ir(20),[Os]:vr(Os),"text-overflow":"ellipsis","white-space":br,"border-width":fr(1,0,0),[rr]:Ks},"th:first-child":{[Hs]:Ir(3),[Ps]:Ir(3),[zs]:Ir(3)},"th.sorted":{[$s]:vr("bg3")},"td.extra":{[rr]:Gs},"tbody button":{[$s]:cr,[Os]:cr,[er]:0,[Hs]:Ir(.8),[Js]:Ir(.8),[Us]:vr("fg2"),[Fs]:Ir(0,.25,0,-.25),"line-height":Ir(.8)},"tbody button:first-letter":{[er]:Ir(.8)},input:{[$s]:vr("bg2"),[Us]:dr,[js]:fr(4),[Os]:0,[Fs]:fr(-4,0),[er]:dr,[zs]:Ir(6)},"input:focus":{"outline-width":0},'input[type="number"]':{[Hs]:Ir(3)},'input[type="checkbox"]':{[sr]:fr(-2)},".editableCell":{[tr]:"inline-block",[Ws]:fr(2)},"button.next":{[Ws]:Ir(.5)},"img.edit":ks,"img.done":Ss,"img.add":Ds,"img.clone":Zs,"img.delete":Ms,"img.ok":Ns,"img.okDis":Ls,"img.cancel":Vs,"span.warn":{[Fs]:Ir(2,.25),[Us]:"#d81b60"}},(e,t)=>`#${cn} ${t}{${$e(Xe(e,(e,t)=>`${t}:${e};`))}}`)),yr=({position:l="right",open:s=!1,hue:r=270})=>{const o=N(Ut),a=hn.indexOf(l);return L(o,e=>{return t=cn,n=sessionStorage,((e,t,n,l,s,r,o,a={},i=0,d=[])=>{let c,u,h,m=0,g=0,b=0;qt(Ht,d,()=>0),qt(zt,d,()=>[]);const p=ft(),[v,I,f,C,w]=((e=1,t,n)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!n),([[e],[t]])=>!tt(e)||!tt(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!tt(e)||!tt(t),t.setContent]:Me("Store type not supported by this Persister"))(o,e,i),[T,y,q]=$t(()=>R),x=e=>{e!=m&&(m=e,y(p,void 0,m))},k=t=>{(v&&xe(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},S=async e=>(2!=m&&(x(1),g++,await E(async()=>{await Ne(async()=>{const n=await t();xe(n)?k(n):e?w(e):Me("Content is not an array: "+n)},()=>{e&&w(e)}),x(0)})),R),D=async e=>(Z(),await S(e),await Ne(async()=>u=await l(async(e,t)=>{t||e?2!=m&&(x(1),g++,k(t??e),x(0)):await S()}),r),R),Z=async()=>(u&&(await Ne(()=>s(u),r),u=void 0),R),M=async e=>(1!=m&&(x(2),b++,await E(async()=>{await Ne(()=>n(I,e),r),x(0)})),R),N=async()=>(L(),await M(),h=e.addDidFinishTransactionListener(()=>{const e=f();C(e)&&M(e)}),R),L=async()=>(h&&(e.delListener(h),h=void 0),R),V=async(e=!1)=>{const[t,n]=e?[L,Z]:[Z,L];return await t(),await n(),R},E=async(...e)=>(Pe(wt(zt,d),...e),await(async()=>{if(!wt(Ht,d)){for(yt(Ht,d,1);!ve(c=Je(wt(zt,d)));)await Ne(c,r);yt(Ht,d,0)}})(),R),R={load:S,startAutoLoad:D,stopAutoLoad:Z,isAutoLoading:()=>!ve(u),save:M,startAutoSave:N,stopAutoSave:L,isAutoSaving:()=>!ve(h),startAutoPersisting:async(e,t=!1)=>{const[n,l]=t?[N,D]:[D,N];return await n(e),await l(e),R},stopAutoPersisting:V,getStatus:()=>m,addStatusListener:e=>T(e,p),delListener:t=>(q(t),e),schedule:E,getStore:()=>e,destroy:()=>(wt(zt,d).splice(0,void 0),V()),getStats:()=>({loads:g,saves:b}),...a};return _e(R)})(e,async()=>at(n.getItem(t)),async e=>{return n.setItem(t,(l=e(),st(l,(e,t)=>ve(t)?"":t)));var l},e=>{const l=l=>{l.storageArea===n&&l.key===t&&Ne(()=>e(at(l.newValue)),e)};return ue.addEventListener(Pt,l),l},e=>ue.removeEventListener(Pt,e),void 0,3,{getStorageName:()=>t});var t,n},void 0,async e=>{await e.load([{},{position:-1==a?1:a,open:!!s}]),await e.startAutoSave()}),t(n,{children:[t("aside",{id:cn,children:[e(Tn,{s:o}),e(ps,{s:o})]}),t("style",{children:[`#${cn}{--hue:${r}}`,Tr]})]})};export{yr as Inspector};
package/omni/index.js CHANGED
@@ -111,6 +111,7 @@ const size = (arrayOrString) => arrayOrString.length;
111
111
  const test = (regex, subject) => regex.test(subject);
112
112
  const getUndefined = () => void 0;
113
113
  const noop = () => {};
114
+ const getArg = (value) => value;
114
115
  const promiseNew = (resolver) => new promise(resolver);
115
116
  const promiseAll = async (promises) => promise.all(promises);
116
117
  const errorNew = (message) => {
@@ -7674,6 +7675,10 @@ const useHasTables = (storeOrStoreId) =>
7674
7675
  );
7675
7676
  const useTables = (storeOrStoreId) =>
7676
7677
  useListenable(TABLES, useStoreOrStoreById(storeOrStoreId), 0 /* Object */);
7678
+ const useTablesState = (storeOrStoreId) => [
7679
+ useTables(storeOrStoreId),
7680
+ useSetTablesCallback(getArg, [], storeOrStoreId),
7681
+ ];
7677
7682
  const useTableIds = (storeOrStoreId) =>
7678
7683
  useListenable(TABLE_IDS, useStoreOrStoreById(storeOrStoreId), 1 /* Array */);
7679
7684
  const useHasTable = (tableId, storeOrStoreId) =>
@@ -7684,6 +7689,10 @@ const useTable = (tableId, storeOrStoreId) =>
7684
7689
  useListenable(TABLE$1, useStoreOrStoreById(storeOrStoreId), 0 /* Object */, [
7685
7690
  tableId,
7686
7691
  ]);
7692
+ const useTableState = (tableId, storeOrStoreId) => [
7693
+ useTable(tableId, storeOrStoreId),
7694
+ useSetTableCallback(tableId, getArg, [], storeOrStoreId),
7695
+ ];
7687
7696
  const useTableCellIds = (tableId, storeOrStoreId) =>
7688
7697
  useListenable(
7689
7698
  TABLE$1 + CELL_IDS,
@@ -7746,6 +7755,10 @@ const useRow = (tableId, rowId, storeOrStoreId) =>
7746
7755
  tableId,
7747
7756
  rowId,
7748
7757
  ]);
7758
+ const useRowState = (tableId, rowId, storeOrStoreId) => [
7759
+ useRow(tableId, rowId, storeOrStoreId),
7760
+ useSetRowCallback(tableId, rowId, getArg, [], storeOrStoreId),
7761
+ ];
7749
7762
  const useCellIds = (tableId, rowId, storeOrStoreId) =>
7750
7763
  useListenable(CELL_IDS, useStoreOrStoreById(storeOrStoreId), 1 /* Array */, [
7751
7764
  tableId,
@@ -7764,6 +7777,10 @@ const useCell = (tableId, rowId, cellId, storeOrStoreId) =>
7764
7777
  5 /* CellOrValue */,
7765
7778
  [tableId, rowId, cellId],
7766
7779
  );
7780
+ const useCellState = (tableId, rowId, cellId, storeOrStoreId) => [
7781
+ useCell(tableId, rowId, cellId, storeOrStoreId),
7782
+ useSetCellCallback(tableId, rowId, cellId, getArg, [], storeOrStoreId),
7783
+ ];
7767
7784
  const useHasValues = (storeOrStoreId) =>
7768
7785
  useListenable(
7769
7786
  VALUES,
@@ -7773,6 +7790,10 @@ const useHasValues = (storeOrStoreId) =>
7773
7790
  );
7774
7791
  const useValues = (storeOrStoreId) =>
7775
7792
  useListenable(VALUES, useStoreOrStoreById(storeOrStoreId), 0 /* Object */);
7793
+ const useValuesState = (storeOrStoreId) => [
7794
+ useValues(storeOrStoreId),
7795
+ useSetValuesCallback(getArg, [], storeOrStoreId),
7796
+ ];
7776
7797
  const useValueIds = (storeOrStoreId) =>
7777
7798
  useListenable(VALUE_IDS, useStoreOrStoreById(storeOrStoreId), 1 /* Array */);
7778
7799
  const useHasValue = (valueId, storeOrStoreId) =>
@@ -7786,6 +7807,10 @@ const useValue = (valueId, storeOrStoreId) =>
7786
7807
  5 /* CellOrValue */,
7787
7808
  [valueId],
7788
7809
  );
7810
+ const useValueState = (valueId, storeOrStoreId) => [
7811
+ useValue(valueId, storeOrStoreId),
7812
+ useSetValueCallback(valueId, getArg, [], storeOrStoreId),
7813
+ ];
7789
7814
  const useSetTablesCallback = (
7790
7815
  getTables,
7791
7816
  getTablesDeps,
@@ -8688,6 +8713,10 @@ const useParamValues = (queryId, queriesOrQueriesId) =>
8688
8713
  3 /* ParamValues */,
8689
8714
  [queryId],
8690
8715
  );
8716
+ const useParamValuesState = (queryId, queriesOrQueriesId) => [
8717
+ useParamValues(queryId, queriesOrQueriesId),
8718
+ useSetParamValuesCallback(queryId, getArg, [], queriesOrQueriesId),
8719
+ ];
8691
8720
  const useParamValue = (queryId, paramId, queriesOrQueriesId) =>
8692
8721
  useListenable(
8693
8722
  'ParamValue',
@@ -8695,6 +8724,10 @@ const useParamValue = (queryId, paramId, queriesOrQueriesId) =>
8695
8724
  4 /* ParamValue */,
8696
8725
  [queryId, paramId],
8697
8726
  );
8727
+ const useParamValueState = (queryId, paramId, queriesOrQueriesId) => [
8728
+ useParamValue(queryId, paramId, queriesOrQueriesId),
8729
+ useSetParamValueCallback(queryId, paramId, getArg, [], queriesOrQueriesId),
8730
+ ];
8698
8731
  const useParamValuesListener = (
8699
8732
  queryId,
8700
8733
  listener,
@@ -9277,30 +9310,27 @@ const EditableCellView = ({
9277
9310
  store,
9278
9311
  className,
9279
9312
  showType,
9280
- }) =>
9281
- /* @__PURE__ */ jsx(EditableThing, {
9282
- thing: useCell(tableId, rowId, cellId, store),
9283
- onThingChange: useSetCellCallback(
9284
- tableId,
9285
- rowId,
9286
- cellId,
9287
- (cell) => cell,
9288
- [],
9289
- store,
9290
- ),
9313
+ }) => {
9314
+ const [cell, setCell] = useCellState(tableId, rowId, cellId, store);
9315
+ return /* @__PURE__ */ jsx(EditableThing, {
9316
+ thing: cell,
9317
+ onThingChange: setCell,
9291
9318
  className: className ?? EDITABLE + CELL,
9292
9319
  showType,
9293
9320
  hasSchema: useStoreOrStoreById(store)?.hasTablesSchema,
9294
9321
  });
9322
+ };
9295
9323
 
9296
- const EditableValueView = ({valueId, store, className, showType}) =>
9297
- /* @__PURE__ */ jsx(EditableThing, {
9298
- thing: useValue(valueId, store),
9299
- onThingChange: useSetValueCallback(valueId, (value) => value, [], store),
9324
+ const EditableValueView = ({valueId, store, className, showType}) => {
9325
+ const [value, setValue] = useValueState(valueId, store);
9326
+ return /* @__PURE__ */ jsx(EditableThing, {
9327
+ thing: value,
9328
+ onThingChange: setValue,
9300
9329
  className: className ?? EDITABLE + VALUE,
9301
9330
  showType,
9302
9331
  hasSchema: useStoreOrStoreById(store)?.hasValuesSchema,
9303
9332
  });
9333
+ };
9304
9334
 
9305
9335
  const wrap = (children, separator, encloseWithId, id) => {
9306
9336
  const separated =
@@ -11699,6 +11729,7 @@ export {
11699
11729
  useCellIds,
11700
11730
  useCellIdsListener,
11701
11731
  useCellListener,
11732
+ useCellState,
11702
11733
  useCheckpoint,
11703
11734
  useCheckpointIds,
11704
11735
  useCheckpointIdsListener,
@@ -11757,6 +11788,8 @@ export {
11757
11788
  useParamValueListener,
11758
11789
  useParamValues,
11759
11790
  useParamValuesListener,
11791
+ useParamValuesState,
11792
+ useParamValueState,
11760
11793
  usePersister,
11761
11794
  usePersisterIds,
11762
11795
  usePersisterOrPersisterById,
@@ -11803,6 +11836,7 @@ export {
11803
11836
  useRowIds,
11804
11837
  useRowIdsListener,
11805
11838
  useRowListener,
11839
+ useRowState,
11806
11840
  useSetCellCallback,
11807
11841
  useSetCheckpointCallback,
11808
11842
  useSetParamValueCallback,
@@ -11840,6 +11874,8 @@ export {
11840
11874
  useTableListener,
11841
11875
  useTables,
11842
11876
  useTablesListener,
11877
+ useTablesState,
11878
+ useTableState,
11843
11879
  useUndoInformation,
11844
11880
  useValue,
11845
11881
  useValueIds,
@@ -11847,6 +11883,8 @@ export {
11847
11883
  useValueListener,
11848
11884
  useValues,
11849
11885
  useValuesListener,
11886
+ useValuesState,
11887
+ useValueState,
11850
11888
  useWillFinishTransactionListener,
11851
11889
  ValuesInHtmlTable,
11852
11890
  ValuesView$1 as ValuesView,
@@ -111,6 +111,7 @@ const size = (arrayOrString) => arrayOrString.length;
111
111
  const test = (regex, subject) => regex.test(subject);
112
112
  const getUndefined = () => void 0;
113
113
  const noop = () => {};
114
+ const getArg = (value) => value;
114
115
  const promiseNew = (resolver) => new promise(resolver);
115
116
  const promiseAll = async (promises) => promise.all(promises);
116
117
  const errorNew = (message) => {
@@ -7674,6 +7675,10 @@ const useHasTables = (storeOrStoreId) =>
7674
7675
  );
7675
7676
  const useTables = (storeOrStoreId) =>
7676
7677
  useListenable(TABLES, useStoreOrStoreById(storeOrStoreId), 0 /* Object */);
7678
+ const useTablesState = (storeOrStoreId) => [
7679
+ useTables(storeOrStoreId),
7680
+ useSetTablesCallback(getArg, [], storeOrStoreId),
7681
+ ];
7677
7682
  const useTableIds = (storeOrStoreId) =>
7678
7683
  useListenable(TABLE_IDS, useStoreOrStoreById(storeOrStoreId), 1 /* Array */);
7679
7684
  const useHasTable = (tableId, storeOrStoreId) =>
@@ -7684,6 +7689,10 @@ const useTable = (tableId, storeOrStoreId) =>
7684
7689
  useListenable(TABLE$1, useStoreOrStoreById(storeOrStoreId), 0 /* Object */, [
7685
7690
  tableId,
7686
7691
  ]);
7692
+ const useTableState = (tableId, storeOrStoreId) => [
7693
+ useTable(tableId, storeOrStoreId),
7694
+ useSetTableCallback(tableId, getArg, [], storeOrStoreId),
7695
+ ];
7687
7696
  const useTableCellIds = (tableId, storeOrStoreId) =>
7688
7697
  useListenable(
7689
7698
  TABLE$1 + CELL_IDS,
@@ -7746,6 +7755,10 @@ const useRow = (tableId, rowId, storeOrStoreId) =>
7746
7755
  tableId,
7747
7756
  rowId,
7748
7757
  ]);
7758
+ const useRowState = (tableId, rowId, storeOrStoreId) => [
7759
+ useRow(tableId, rowId, storeOrStoreId),
7760
+ useSetRowCallback(tableId, rowId, getArg, [], storeOrStoreId),
7761
+ ];
7749
7762
  const useCellIds = (tableId, rowId, storeOrStoreId) =>
7750
7763
  useListenable(CELL_IDS, useStoreOrStoreById(storeOrStoreId), 1 /* Array */, [
7751
7764
  tableId,
@@ -7764,6 +7777,10 @@ const useCell = (tableId, rowId, cellId, storeOrStoreId) =>
7764
7777
  5 /* CellOrValue */,
7765
7778
  [tableId, rowId, cellId],
7766
7779
  );
7780
+ const useCellState = (tableId, rowId, cellId, storeOrStoreId) => [
7781
+ useCell(tableId, rowId, cellId, storeOrStoreId),
7782
+ useSetCellCallback(tableId, rowId, cellId, getArg, [], storeOrStoreId),
7783
+ ];
7767
7784
  const useHasValues = (storeOrStoreId) =>
7768
7785
  useListenable(
7769
7786
  VALUES,
@@ -7773,6 +7790,10 @@ const useHasValues = (storeOrStoreId) =>
7773
7790
  );
7774
7791
  const useValues = (storeOrStoreId) =>
7775
7792
  useListenable(VALUES, useStoreOrStoreById(storeOrStoreId), 0 /* Object */);
7793
+ const useValuesState = (storeOrStoreId) => [
7794
+ useValues(storeOrStoreId),
7795
+ useSetValuesCallback(getArg, [], storeOrStoreId),
7796
+ ];
7776
7797
  const useValueIds = (storeOrStoreId) =>
7777
7798
  useListenable(VALUE_IDS, useStoreOrStoreById(storeOrStoreId), 1 /* Array */);
7778
7799
  const useHasValue = (valueId, storeOrStoreId) =>
@@ -7786,6 +7807,10 @@ const useValue = (valueId, storeOrStoreId) =>
7786
7807
  5 /* CellOrValue */,
7787
7808
  [valueId],
7788
7809
  );
7810
+ const useValueState = (valueId, storeOrStoreId) => [
7811
+ useValue(valueId, storeOrStoreId),
7812
+ useSetValueCallback(valueId, getArg, [], storeOrStoreId),
7813
+ ];
7789
7814
  const useSetTablesCallback = (
7790
7815
  getTables,
7791
7816
  getTablesDeps,
@@ -8688,6 +8713,10 @@ const useParamValues = (queryId, queriesOrQueriesId) =>
8688
8713
  3 /* ParamValues */,
8689
8714
  [queryId],
8690
8715
  );
8716
+ const useParamValuesState = (queryId, queriesOrQueriesId) => [
8717
+ useParamValues(queryId, queriesOrQueriesId),
8718
+ useSetParamValuesCallback(queryId, getArg, [], queriesOrQueriesId),
8719
+ ];
8691
8720
  const useParamValue = (queryId, paramId, queriesOrQueriesId) =>
8692
8721
  useListenable(
8693
8722
  'ParamValue',
@@ -8695,6 +8724,10 @@ const useParamValue = (queryId, paramId, queriesOrQueriesId) =>
8695
8724
  4 /* ParamValue */,
8696
8725
  [queryId, paramId],
8697
8726
  );
8727
+ const useParamValueState = (queryId, paramId, queriesOrQueriesId) => [
8728
+ useParamValue(queryId, paramId, queriesOrQueriesId),
8729
+ useSetParamValueCallback(queryId, paramId, getArg, [], queriesOrQueriesId),
8730
+ ];
8698
8731
  const useParamValuesListener = (
8699
8732
  queryId,
8700
8733
  listener,
@@ -9277,30 +9310,27 @@ const EditableCellView = ({
9277
9310
  store,
9278
9311
  className,
9279
9312
  showType,
9280
- }) =>
9281
- /* @__PURE__ */ jsx(EditableThing, {
9282
- thing: useCell(tableId, rowId, cellId, store),
9283
- onThingChange: useSetCellCallback(
9284
- tableId,
9285
- rowId,
9286
- cellId,
9287
- (cell) => cell,
9288
- [],
9289
- store,
9290
- ),
9313
+ }) => {
9314
+ const [cell, setCell] = useCellState(tableId, rowId, cellId, store);
9315
+ return /* @__PURE__ */ jsx(EditableThing, {
9316
+ thing: cell,
9317
+ onThingChange: setCell,
9291
9318
  className: className ?? EDITABLE + CELL,
9292
9319
  showType,
9293
9320
  hasSchema: useStoreOrStoreById(store)?.hasTablesSchema,
9294
9321
  });
9322
+ };
9295
9323
 
9296
- const EditableValueView = ({valueId, store, className, showType}) =>
9297
- /* @__PURE__ */ jsx(EditableThing, {
9298
- thing: useValue(valueId, store),
9299
- onThingChange: useSetValueCallback(valueId, (value) => value, [], store),
9324
+ const EditableValueView = ({valueId, store, className, showType}) => {
9325
+ const [value, setValue] = useValueState(valueId, store);
9326
+ return /* @__PURE__ */ jsx(EditableThing, {
9327
+ thing: value,
9328
+ onThingChange: setValue,
9300
9329
  className: className ?? EDITABLE + VALUE,
9301
9330
  showType,
9302
9331
  hasSchema: useStoreOrStoreById(store)?.hasValuesSchema,
9303
9332
  });
9333
+ };
9304
9334
 
9305
9335
  const wrap = (children, separator, encloseWithId, id) => {
9306
9336
  const separated =
@@ -11699,6 +11729,7 @@ export {
11699
11729
  useCellIds,
11700
11730
  useCellIdsListener,
11701
11731
  useCellListener,
11732
+ useCellState,
11702
11733
  useCheckpoint,
11703
11734
  useCheckpointIds,
11704
11735
  useCheckpointIdsListener,
@@ -11757,6 +11788,8 @@ export {
11757
11788
  useParamValueListener,
11758
11789
  useParamValues,
11759
11790
  useParamValuesListener,
11791
+ useParamValuesState,
11792
+ useParamValueState,
11760
11793
  usePersister,
11761
11794
  usePersisterIds,
11762
11795
  usePersisterOrPersisterById,
@@ -11803,6 +11836,7 @@ export {
11803
11836
  useRowIds,
11804
11837
  useRowIdsListener,
11805
11838
  useRowListener,
11839
+ useRowState,
11806
11840
  useSetCellCallback,
11807
11841
  useSetCheckpointCallback,
11808
11842
  useSetParamValueCallback,
@@ -11840,6 +11874,8 @@ export {
11840
11874
  useTableListener,
11841
11875
  useTables,
11842
11876
  useTablesListener,
11877
+ useTablesState,
11878
+ useTableState,
11843
11879
  useUndoInformation,
11844
11880
  useValue,
11845
11881
  useValueIds,
@@ -11847,6 +11883,8 @@ export {
11847
11883
  useValueListener,
11848
11884
  useValues,
11849
11885
  useValuesListener,
11886
+ useValuesState,
11887
+ useValueState,
11850
11888
  useWillFinishTransactionListener,
11851
11889
  ValuesInHtmlTable,
11852
11890
  ValuesView$1 as ValuesView,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tinybase",
3
- "version": "7.2.0",
3
+ "version": "7.3.0-beta.1",
4
4
  "author": "jamesgpearce",
5
5
  "repository": "github:tinyplex/tinybase",
6
6
  "license": "MIT",
@@ -22,16 +22,16 @@
22
22
  "sideEffects": false,
23
23
  "peerDependencies": {
24
24
  "@automerge/automerge-repo": "^2.5.1",
25
- "@cloudflare/workers-types": "^4.20251212.0",
25
+ "@cloudflare/workers-types": "^4.20251213.0",
26
26
  "@electric-sql/pglite": "^0.3.14",
27
27
  "@libsql/client": "^0.15.15",
28
28
  "@powersync/common": "^1.44.0",
29
29
  "@sinclair/typebox": "^0.34.41",
30
30
  "@sqlite.org/sqlite-wasm": "^3.50.4-build1",
31
31
  "@vlcn.io/crsqlite-wasm": "^0.16.0",
32
- "arktype": "^2.1.28",
32
+ "arktype": "^2.1.29",
33
33
  "bun": "^1.3.3",
34
- "effect": "^3.19.11",
34
+ "effect": "^3.19.12",
35
35
  "electric-sql": "^0.12.1",
36
36
  "expo": "^54.0.10",
37
37
  "expo-sqlite": "^16.0.10",