tinybase 8.4.2 → 8.5.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.
Files changed (141) hide show
  1. package/@types/ui-react-dom/index.d.ts +10 -10
  2. package/@types/ui-react-dom/with-schemas/index.d.ts +10 -10
  3. package/@types/ui-react-dom-charts/index.d.ts +242 -0
  4. package/@types/ui-react-dom-charts/with-schemas/index.d.ts +296 -0
  5. package/@types/ui-react-inspector/index.d.ts +1 -1
  6. package/@types/ui-react-inspector/with-schemas/index.d.ts +1 -1
  7. package/@types/ui-solid-dom/index.d.ts +10 -10
  8. package/@types/ui-solid-dom/with-schemas/index.d.ts +10 -10
  9. package/@types/ui-solid-inspector/index.d.ts +1 -1
  10. package/@types/ui-solid-inspector/with-schemas/index.d.ts +1 -1
  11. package/@types/ui-svelte-dom/index.d.ts +10 -10
  12. package/@types/ui-svelte-dom/with-schemas/index.d.ts +10 -10
  13. package/@types/ui-svelte-inspector/index.d.ts +1 -1
  14. package/@types/ui-svelte-inspector/with-schemas/index.d.ts +1 -1
  15. package/common/index.js +3 -2
  16. package/common/with-schemas/index.js +3 -2
  17. package/index.js +5 -3
  18. package/mergeable-store/index.js +5 -3
  19. package/mergeable-store/with-schemas/index.js +5 -3
  20. package/metrics/index.js +1 -1
  21. package/metrics/with-schemas/index.js +1 -1
  22. package/min/common/index.js +1 -1
  23. package/min/common/index.js.gz +0 -0
  24. package/min/common/with-schemas/index.js +1 -1
  25. package/min/common/with-schemas/index.js.gz +0 -0
  26. package/min/index.js +1 -1
  27. package/min/index.js.gz +0 -0
  28. package/min/mergeable-store/index.js +1 -1
  29. package/min/mergeable-store/index.js.gz +0 -0
  30. package/min/mergeable-store/with-schemas/index.js +1 -1
  31. package/min/mergeable-store/with-schemas/index.js.gz +0 -0
  32. package/min/omni/index.js +1 -1
  33. package/min/omni/index.js.gz +0 -0
  34. package/min/omni/with-schemas/index.js +1 -1
  35. package/min/omni/with-schemas/index.js.gz +0 -0
  36. package/min/persisters/persister-durable-object-sql-storage/index.js +1 -1
  37. package/min/persisters/persister-durable-object-sql-storage/index.js.gz +0 -0
  38. package/min/persisters/persister-durable-object-sql-storage/with-schemas/index.js +1 -1
  39. package/min/persisters/persister-durable-object-sql-storage/with-schemas/index.js.gz +0 -0
  40. package/min/persisters/persister-partykit-server/index.js +1 -1
  41. package/min/persisters/persister-partykit-server/index.js.gz +0 -0
  42. package/min/persisters/persister-partykit-server/with-schemas/index.js +1 -1
  43. package/min/persisters/persister-partykit-server/with-schemas/index.js.gz +0 -0
  44. package/min/queries/index.js +1 -1
  45. package/min/queries/index.js.gz +0 -0
  46. package/min/queries/with-schemas/index.js +1 -1
  47. package/min/queries/with-schemas/index.js.gz +0 -0
  48. package/min/synchronizers/index.js +1 -1
  49. package/min/synchronizers/index.js.gz +0 -0
  50. package/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
  51. package/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  52. package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
  53. package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  54. package/min/synchronizers/synchronizer-local/index.js +1 -1
  55. package/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  56. package/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  57. package/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  58. package/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  59. package/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  60. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  61. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  62. package/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  63. package/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  64. package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  65. package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  66. package/min/synchronizers/synchronizer-ws-server-durable-object/index.js +1 -1
  67. package/min/synchronizers/synchronizer-ws-server-durable-object/index.js.gz +0 -0
  68. package/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +1 -1
  69. package/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js.gz +0 -0
  70. package/min/synchronizers/with-schemas/index.js +1 -1
  71. package/min/synchronizers/with-schemas/index.js.gz +0 -0
  72. package/min/ui-react-dom/index.js +1 -1
  73. package/min/ui-react-dom/index.js.gz +0 -0
  74. package/min/ui-react-dom/with-schemas/index.js +1 -1
  75. package/min/ui-react-dom/with-schemas/index.js.gz +0 -0
  76. package/min/ui-react-dom-charts/index.js +1 -0
  77. package/min/ui-react-dom-charts/index.js.gz +0 -0
  78. package/min/ui-react-dom-charts/with-schemas/index.js +1 -0
  79. package/min/ui-react-dom-charts/with-schemas/index.js.gz +0 -0
  80. package/min/ui-react-inspector/index.js +1 -1
  81. package/min/ui-react-inspector/index.js.gz +0 -0
  82. package/min/ui-react-inspector/with-schemas/index.js +1 -1
  83. package/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  84. package/min/ui-solid-dom/index.js +1 -1
  85. package/min/ui-solid-dom/index.js.gz +0 -0
  86. package/min/ui-solid-dom/with-schemas/index.js +1 -1
  87. package/min/ui-solid-dom/with-schemas/index.js.gz +0 -0
  88. package/min/ui-solid-inspector/index.js +1 -1
  89. package/min/ui-solid-inspector/index.js.gz +0 -0
  90. package/min/ui-solid-inspector/with-schemas/index.js +1 -1
  91. package/min/ui-solid-inspector/with-schemas/index.js.gz +0 -0
  92. package/min/ui-svelte-dom/index.js +1 -1
  93. package/min/ui-svelte-dom/index.js.gz +0 -0
  94. package/min/ui-svelte-dom/with-schemas/index.js +1 -1
  95. package/min/ui-svelte-dom/with-schemas/index.js.gz +0 -0
  96. package/min/ui-svelte-inspector/index.js +1 -1
  97. package/min/ui-svelte-inspector/index.js.gz +0 -0
  98. package/min/ui-svelte-inspector/with-schemas/index.js +1 -1
  99. package/min/ui-svelte-inspector/with-schemas/index.js.gz +0 -0
  100. package/min/with-schemas/index.js +1 -1
  101. package/min/with-schemas/index.js.gz +0 -0
  102. package/omni/index.js +7 -4
  103. package/omni/with-schemas/index.js +7 -4
  104. package/package.json +38 -2
  105. package/persisters/persister-durable-object-sql-storage/index.js +13 -11
  106. package/persisters/persister-durable-object-sql-storage/with-schemas/index.js +13 -11
  107. package/persisters/persister-partykit-client/index.js +2 -1
  108. package/persisters/persister-partykit-client/with-schemas/index.js +2 -1
  109. package/persisters/persister-partykit-server/index.js +2 -1
  110. package/persisters/persister-partykit-server/with-schemas/index.js +2 -1
  111. package/queries/index.js +1 -1
  112. package/queries/with-schemas/index.js +1 -1
  113. package/readme.md +18 -14
  114. package/releases.md +91 -58
  115. package/synchronizers/index.js +3 -2
  116. package/synchronizers/synchronizer-broadcast-channel/index.js +3 -2
  117. package/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +3 -2
  118. package/synchronizers/synchronizer-local/index.js +3 -2
  119. package/synchronizers/synchronizer-local/with-schemas/index.js +3 -2
  120. package/synchronizers/synchronizer-ws-client/index.js +3 -2
  121. package/synchronizers/synchronizer-ws-client/with-schemas/index.js +3 -2
  122. package/synchronizers/synchronizer-ws-server/index.js +3 -2
  123. package/synchronizers/synchronizer-ws-server/with-schemas/index.js +3 -2
  124. package/synchronizers/synchronizer-ws-server-durable-object/index.js +3 -2
  125. package/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +3 -2
  126. package/synchronizers/with-schemas/index.js +3 -2
  127. package/ui-react-dom/index.js +10 -7
  128. package/ui-react-dom/with-schemas/index.js +10 -7
  129. package/ui-react-dom-charts/index.js +1229 -0
  130. package/ui-react-dom-charts/with-schemas/index.js +1229 -0
  131. package/ui-react-inspector/index.js +13 -9
  132. package/ui-react-inspector/with-schemas/index.js +13 -9
  133. package/ui-solid-dom/index.js +10 -7
  134. package/ui-solid-dom/with-schemas/index.js +10 -7
  135. package/ui-solid-inspector/index.js +13 -9
  136. package/ui-solid-inspector/with-schemas/index.js +13 -9
  137. package/ui-svelte-dom/index.js +11 -8
  138. package/ui-svelte-dom/with-schemas/index.js +11 -8
  139. package/ui-svelte-inspector/index.js +17 -13
  140. package/ui-svelte-inspector/with-schemas/index.js +17 -13
  141. package/with-schemas/index.js +5 -3
@@ -1 +1 @@
1
- import{DurableObject as t}from"cloudflare:workers";const e="",s=(t,e="",s)=>t.split(e,s),a=Promise,n=t=>(e,s,a)=>t(e)?a?.():s(e),r=globalThis,i=(t,e=0)=>setTimeout(t,1e3*e),o=Math,c=o.floor,l=t=>null==t,g=t=>void 0===t,u=t=>null===t,d=n(l),h=n(g),w=t=>Array.isArray(t),y=(t,e,s)=>t.slice(e,s),p=t=>t.length,S=t=>{throw Error(t)},v=async(t,e,s)=>{try{return await t()}catch(t){e?.(t)}},C=(t,e)=>t.forEach(e),f=(t,e)=>t.map(e),b=(t,...e)=>t.push(...e),M=t=>t.shift(),A=Object,m=t=>A.getPrototypeOf(t),P=A.entries,k=t=>!l(t)&&d(m(t),t=>t==A.prototype||l(m(t)),()=>!0),x=A.keys,L=A.freeze,T=(t=[])=>A.fromEntries(t),I=(t,e)=>C(P(t),([t,s])=>e(s,t)),_=t=>k(t)&&0==(t=>p(x(t)))(t),H=(t,e,s)=>(((t,e)=>e in t)(t,e)||(t[e]=s()),t[e]),D=JSON.stringify,O=JSON.parse,R=t=>""===t?void 0:w(t)?f(t,R):k(t)?((t,e)=>T(((t,e)=>f(P(t),([t,s])=>e(s,t)))(t,(t,s)=>[s,e(t,s)])))(t,R):t,E=(t,e)=>{const s=t.indexOf("\n");-1!==s&&e(y(t,0,s),y(t,s+1))},N=(t,...s)=>W(t??e,D(s,(t,e)=>g(e)?"":e)),W=(t,e)=>t+"\n"+e,z=t=>g(t)||0==(t=>t?.size??0)(t),U=(t,e)=>t?.forEach(e),V=(t,e)=>t?.delete(e),F=Map,J=t=>new F(t),$=(t,e)=>t?.get(e),j=(t,e,s)=>g(s)?(V(t,e),t):t?.set(e,s),q=(t,e,s,a)=>{var n,r;return n=t,r=e,n?.has(r)?a?.($(t,e)):j(t,e,s()),$(t,e)},B=(t,e,s,a,n=0)=>h((s?q:$)(t,e[n],n>p(e)-2?s:J),r=>{if(n>p(e)-2)return a?.(r)&&j(t,e[n]),r;const i=B(r,e,s,a,n+1);return z(r)&&j(t,e[n]),i}),G=s("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),K=r.crypto?t=>r.crypto.getRandomValues(t):t=>f(t,()=>c(256*o.random())),Q=(t=16)=>{return e=(t,e)=>t+G[63&e],K(new Uint8Array(t)).reduce(e,"");var e},X=(t,e)=>e?[t,e]:[t],Y=(t,e)=>((t??"")>(e??"")?t:e)??"",Z=(t="")=>X(T(),t),tt=/^\d+$/,et=t=>new Set(w(t)||g(t)?t:[t]),st=J(),at=J(),nt=(t,s,a,n,r,i,o,c={},l=0,d=[])=>{let y,f,A,m=0,P=0,k=0;q(st,d,()=>0),q(at,d,()=>[]);const x=J(),[T,I,H,D,O]=((t=1,e,s)=>1!=t&&e.isMergeable()?[1,e.__[1],()=>e.__[2](!s),([[t],[e]])=>!_(t)||!_(e),e.setDefaultContent]:2!=t?[0,e._[7],e._[8],([t,e])=>!_(t)||!_(e),e.setContent]:S("Store type not supported by this Persister"))(o,t,l),[R,E,N]=(()=>{let t;const[s,a]=(()=>{const t=[];let s=0;return[a=>(a?M(t):null)??e+s++,e=>{tt.test(e)&&p(t)<1e3&&b(t,e)}]})(),n=J();return[(a,r,i,o=[],c=()=>[])=>{t??=ct;const l=s(1);var g,u;return j(n,l,[a,r,i,o,c]),g=B(r,i??[e],et),u=l,g?.add(u),l},(s,a,...r)=>C(((t,s=[e])=>{const a=[],n=(t,e)=>e==p(s)?b(a,t):u(s[e])?U(t,t=>n(t,e+1)):C([s[e],null],s=>n($(t,s),e+1));return n(t,0),a})(s,a),e=>U(e,e=>$(n,e)[0](t,...a??[],...r))),t=>h($(n,t),([,s,r])=>(B(s,r??[e],void 0,e=>(V(e,t),z(e)?1:0)),j(n,t),a(t),r)),e=>h($(n,e),([e,,s=[],a,n])=>{const r=(...i)=>{const o=p(i);o==p(s)?e(t,...i,...n(i)):u(s[o])?C(a[o]?.(...i)??[],t=>r(...i,t)):r(...i,s[o])};r()})]})(),W=t=>{t!=m&&(m=t,E(x,void 0,m))},F=e=>{(T&&w(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},G=async()=>{rt()&&t.__?.[0]?.()&&await Y()},K=async t=>(2!=m&&(W(1),P++,await ot(async()=>{await v(async()=>{const e=await s();w(e)?F(e):t?O(t):S("Content is not an array: "+e)},()=>{t&&O(t)}),W(0),await G()})),ct),Q=async t=>(X(),await K(t),await v(async()=>f=await n(async(t,e)=>{e||t?2!=m&&(W(1),P++,F(e??t),W(0),await G()):await K()}),i),ct),X=async()=>(f&&(await v(()=>r(f),i),f=void 0),ct),Y=async t=>(1!=m&&(W(2),k++,await ot(async()=>{await v(()=>a(I,t),i),W(0)})),ct),Z=async()=>(nt(),await Y(),A=t.addDidFinishTransactionListener(()=>{const t=H();D(t)&&Y(t)}),ct),nt=async()=>(A&&(t.delListener(A),A=void 0),ct),rt=()=>!g(A),it=async(t=!1)=>{const[e,s]=t?[nt,X]:[X,nt];return await e(),await s(),ct},ot=async(...t)=>(b($(at,d),...t),await(async()=>{if(!$(st,d)){for(j(st,d,1);!g(y=M($(at,d)));)await v(y,i);j(st,d,0)}})(),ct),ct={load:K,startAutoLoad:Q,stopAutoLoad:X,isAutoLoading:()=>!g(f),save:Y,startAutoSave:Z,stopAutoSave:nt,isAutoSaving:rt,startAutoPersisting:async(t,e=!1)=>{const[s,a]=e?[Z,Q]:[Q,Z];return await s(t),await a(t),ct},stopAutoPersisting:it,getStatus:()=>m,addStatusListener:t=>R(t,x),delListener:e=>(N(e),t),schedule:ot,getStore:()=>t,destroy:()=>($(at,d).splice(0,void 0),it()),getStats:()=>({loads:P,saves:k}),...c};return L(ct)},rt=/\/([^?]*)/,it="S",ot=t=>{return(s=new URL(t.url).pathname,a=rt,s?.match(a))?.[1]??e;var s,a},ct=t=>"websocket"==t.headers.get("upgrade")?.toLowerCase()?t.headers.get("sec-websocket-key"):null,lt=(t,e=null,s=null)=>new Response(s,{status:t,webSocket:e}),gt=()=>lt(426,null,"Upgrade required");class ut extends t{#t;constructor(t,s){super(t,s),this.ctx.blockConcurrencyWhile(async()=>await h(await this.createPersister(),async t=>{const s=((t,s,n,r,o,c,l,d,w={})=>{let y,p=0,S=0,C=0;const f=J(),b=()=>Q(11),M=(t,e,a,n)=>{S++,s(t,e,a,n)},A=async(t,e,s,n)=>new a((a,r)=>{const c=n+"."+Q(4),l=i(()=>{V(f,c),r(`No response from ${t??"anyone"} to ${c}, `+e)},o);j(f,c,[t,(t,e)=>{clearTimeout(l),V(f,c),a([t,e,n])}]),M(t,c,e,s)}),m=(t,[e,s])=>{I(e,([e,s],a)=>{const n=H(t[0],a,Z);I(e,([t,e],s)=>{const a=H(n[0],s,Z);I(t,([t,e],s)=>a[0][s]=X(t,e)),a[1]=Y(a[1],e)}),n[1]=Y(n[1],s)}),t[1]=Y(t[1],s)},P=(s=null,a,n=b())=>v(async()=>{g(a)&&([a,s,n]=await A(null,1,e,n));const[r,i]=a,[o,c]=t.getMergeableContentHashes();let l=Z();if(o!=r){const[e,a]=(await A(s,4,t.getMergeableTableHashes(),n))[0];if(l=e,!_(a)){const[e,r]=(await A(s,5,t.getMergeableRowHashes(a),n))[0];if(m(l,e),!_(r)){const e=(await A(s,6,t.getMergeableCellHashes(r),n))[0];m(l,e)}}}return[l,c==i?Z():(await A(s,7,t.getMergeableValueHashes(),n))[0],1]},d),k=nt(t,async()=>{const t=await P();return!t||_(t[0][0])&&_(t[1][0])?void 0:t},async(e,s)=>s?M(null,b(),3,s):M(null,b(),2,t.getMergeableContentHashes()),t=>y=t,()=>y=void 0,d,2,{startSync:async t=>(p=1,await k.startAutoPersisting(t)),stopSync:async()=>(p=0,await k.stopAutoPersisting(),k),destroy:async()=>(await k.stopSync(),k),getSynchronizerStats:()=>({sends:S,receives:C}),...w},1);return n((e,s,a,n)=>{const r=p||k.isAutoLoading();C++,0==a?h($(f,s),([t,s])=>u(t)||t==e?s(n,e):0):2==a&&r?P(e,n,s??void 0).then(t=>{y?.(void 0,t)}).catch(d):3==a&&r?y?.(void 0,n):h(1==a&&(p||k.isAutoSaving())?t.getMergeableContentHashes():4==a?t.getMergeableTableDiff(n):5==a?t.getMergeableRowDiff(n):6==a?t.getMergeableCellDiff(n):7==a?t.getMergeableValueDiff(n):void 0,t=>{M(e,s,0,t)})}),k})(t.getStore(),(t,e,s,a)=>this.#e(it,N(t,e,s,a)),t=>this.#t=e=>((t,e)=>E(t,(t,s)=>{return e(t,...(a=s,R(O(a))));var a}))(e,t),0,1);await t.load(),await t.startAutoSave(),i(s.startSync)}))}fetch(t){const s=ot(t);return h(ct(t),t=>{const[a,n]=(r=new WebSocketPair,A.values(r));var r,i;return i=this.#s(),0==p(i)&&this.onPathId(s,1),this.ctx.acceptWebSocket(n,[t,s]),this.onClientId(s,t,1),n.send(N(it,null,1,e)),lt(101,a)},gt)}webSocketMessage(t,e){h(this.ctx.getTags(t)[0],s=>this.#e(s,e.toString(),t))}webSocketClose(t){const[e,s]=this.ctx.getTags(t);this.onClientId(s,e,-1),1==p(this.#s())&&this.onPathId(s,-1)}#e(t,s,a){E(s.toString(),(s,n)=>{const r=W(t,n);this.onMessage(t,s,n),s==e?(t!=it&&this.#t?.(r),C(this.#s(),t=>{t!=a&&t.send(r)})):s==it?this.#t?.(r):s!=t&&this.#s(s)[0]?.send(r)})}#s(t){return this.ctx.getWebSockets(t)}createPersister(){}getPathId(){return this.ctx.getTags(this.#s()[0])?.[1]}getClientIds(){return f(this.#s(),t=>this.ctx.getTags(t)[0])}onPathId(t,e){}onClientId(t,e,s){}onMessage(t,e,s){}}const dt=t=>(e,s)=>ct(e)?s[t].get(s[t].idFromName(ot(e))).fetch(e):gt();export{ut as WsServerDurableObject,dt as getWsServerDurableObjectFetch};
1
+ import{DurableObject as t}from"cloudflare:workers";const e="",s=(t,e="",s)=>t.split(e,s),a=Promise,n=Math,r=t=>(e,s,a)=>t(e)?a?.():s(e),i=globalThis,o=(t,e=0)=>setTimeout(t,1e3*e),c=n.floor,l=n.random,g=t=>null==t,u=t=>void 0===t,d=t=>null===t,h=r(g),w=r(u),y=t=>Array.isArray(t),p=(t,e,s)=>t.slice(e,s),S=t=>t.length,v=t=>{throw Error(t)},C=async(t,e,s)=>{try{return await t()}catch(t){e?.(t)}},f=(t,e)=>t.forEach(e),b=(t,e)=>t.map(e),M=(t,...e)=>t.push(...e),A=t=>t.shift(),m=Object,P=t=>m.getPrototypeOf(t),k=m.entries,x=t=>!g(t)&&h(P(t),t=>t==m.prototype||g(P(t)),()=>!0),L=m.keys,T=m.freeze,I=(t=[])=>m.fromEntries(t),_=(t,e)=>f(k(t),([t,s])=>e(s,t)),H=t=>x(t)&&0==(t=>S(L(t)))(t),D=(t,e,s)=>(((t,e)=>e in t)(t,e)||(t[e]=s()),t[e]),O=JSON.stringify,R=JSON.parse,E=t=>""===t?void 0:y(t)?b(t,E):x(t)?((t,e)=>I(((t,e)=>b(k(t),([t,s])=>e(s,t)))(t,(t,s)=>[s,e(t,s)])))(t,E):t,N=(t,e)=>{const s=t.indexOf("\n");-1!==s&&e(p(t,0,s),p(t,s+1))},W=(t,...s)=>z(t??e,O(s,(t,e)=>u(e)?"":e)),z=(t,e)=>t+"\n"+e,U=t=>u(t)||0==(t=>t?.size??0)(t),V=(t,e)=>t?.forEach(e),F=(t,e)=>t?.delete(e),J=Map,$=t=>new J(t),j=(t,e)=>t?.get(e),q=(t,e,s)=>u(s)?(F(t,e),t):t?.set(e,s),B=(t,e,s,a)=>{var n,r;return n=t,r=e,n?.has(r)?a?.(j(t,e)):q(t,e,s()),j(t,e)},G=(t,e,s,a,n=0)=>w((s?B:j)(t,e[n],n>S(e)-2?s:$),r=>{if(n>S(e)-2)return a?.(r)&&q(t,e[n]),r;const i=G(r,e,s,a,n+1);return U(r)&&q(t,e[n]),i}),K=s("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),Q=i.crypto?t=>i.crypto.getRandomValues(t):t=>b(t,()=>c(256*l())),X=(t=16)=>{return e=(t,e)=>t+K[63&e],Q(new Uint8Array(t)).reduce(e,"");var e},Y=(t,e)=>e?[t,e]:[t],Z=(t,e)=>((t??"")>(e??"")?t:e)??"",tt=(t="")=>Y(I(),t),et=/^\d+$/,st=t=>new Set(y(t)||u(t)?t:[t]),at=$(),nt=$(),rt=(t,s,a,n,r,i,o,c={},l=0,g=[])=>{let h,p,b,m=0,P=0,k=0;B(at,g,()=>0),B(nt,g,()=>[]);const x=$(),[L,I,_,D,O]=((t=1,e,s)=>1!=t&&e.isMergeable()?[1,e.__[1],()=>e.__[2](!s),([[t],[e]])=>!H(t)||!H(e),e.setDefaultContent]:2!=t?[0,e._[7],e._[8],([t,e])=>!H(t)||!H(e),e.setContent]:v("Store type not supported by this Persister"))(o,t,l),[R,E,N]=(()=>{let t;const[s,a]=(()=>{const t=[];let s=0;return[a=>(a?A(t):null)??e+s++,e=>{et.test(e)&&S(t)<1e3&&M(t,e)}]})(),n=$();return[(a,r,i,o=[],c=()=>[])=>{t??=ct;const l=s(1);var g,u;return q(n,l,[a,r,i,o,c]),g=G(r,i??[e],st),u=l,g?.add(u),l},(s,a,...r)=>f(((t,s=[e])=>{const a=[],n=(t,e)=>e==S(s)?M(a,t):d(s[e])?V(t,t=>n(t,e+1)):f([s[e],null],s=>n(j(t,s),e+1));return n(t,0),a})(s,a),e=>V(e,e=>j(n,e)[0](t,...a??[],...r))),t=>w(j(n,t),([,s,r])=>(G(s,r??[e],void 0,e=>(F(e,t),U(e)?1:0)),q(n,t),a(t),r)),e=>w(j(n,e),([e,,s=[],a,n])=>{const r=(...i)=>{const o=S(i);o==S(s)?e(t,...i,...n(i)):d(s[o])?f(a[o]?.(...i)??[],t=>r(...i,t)):r(...i,s[o])};r()})]})(),W=t=>{t!=m&&(m=t,E(x,void 0,m))},z=e=>{(L&&y(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},J=async()=>{rt()&&t.__?.[0]?.()&&await Y()},K=async t=>(2!=m&&(W(1),P++,await ot(async()=>{await C(async()=>{const e=await s();y(e)?z(e):t?O(t):v("Content is not an array: "+e)},()=>{t&&O(t)}),W(0),await J()})),ct),Q=async t=>(X(),await K(t),await C(async()=>p=await n(async(t,e)=>{e||t?2!=m&&(W(1),P++,z(e??t),W(0),await J()):await K()}),i),ct),X=async()=>(p&&(await C(()=>r(p),i),p=void 0),ct),Y=async t=>(1!=m&&(W(2),k++,await ot(async()=>{await C(()=>a(I,t),i),W(0)})),ct),Z=async()=>(tt(),await Y(),b=t.addDidFinishTransactionListener(()=>{const t=_();D(t)&&Y(t)}),ct),tt=async()=>(b&&(t.delListener(b),b=void 0),ct),rt=()=>!u(b),it=async(t=!1)=>{const[e,s]=t?[tt,X]:[X,tt];return await e(),await s(),ct},ot=async(...t)=>(M(j(nt,g),...t),await(async()=>{if(!j(at,g)){for(q(at,g,1);!u(h=A(j(nt,g)));)await C(h,i);q(at,g,0)}})(),ct),ct={load:K,startAutoLoad:Q,stopAutoLoad:X,isAutoLoading:()=>!u(p),save:Y,startAutoSave:Z,stopAutoSave:tt,isAutoSaving:rt,startAutoPersisting:async(t,e=!1)=>{const[s,a]=e?[Z,Q]:[Q,Z];return await s(t),await a(t),ct},stopAutoPersisting:it,getStatus:()=>m,addStatusListener:t=>R(t,x),delListener:e=>(N(e),t),schedule:ot,getStore:()=>t,destroy:()=>(j(nt,g).splice(0,void 0),it()),getStats:()=>({loads:P,saves:k}),...c};return T(ct)},it=/\/([^?]*)/,ot="S",ct=t=>{return(s=new URL(t.url).pathname,a=it,s?.match(a))?.[1]??e;var s,a},lt=t=>"websocket"==t.headers.get("upgrade")?.toLowerCase()?t.headers.get("sec-websocket-key"):null,gt=(t,e=null,s=null)=>new Response(s,{status:t,webSocket:e}),ut=()=>gt(426,null,"Upgrade required");class dt extends t{#t;constructor(t,s){super(t,s),this.ctx.blockConcurrencyWhile(async()=>await w(await this.createPersister(),async t=>{const s=((t,s,n,r,i,c,l,g,h={})=>{let y,p=0,S=0,v=0;const f=$(),b=()=>X(11),M=(t,e,a,n)=>{S++,s(t,e,a,n)},A=async(t,e,s,n)=>new a((a,r)=>{const c=n+"."+X(4),l=o(()=>{F(f,c),r(`No response from ${t??"anyone"} to ${c}, `+e)},i);q(f,c,[t,(t,e)=>{clearTimeout(l),F(f,c),a([t,e,n])}]),M(t,c,e,s)}),m=(t,[e,s])=>{_(e,([e,s],a)=>{const n=D(t[0],a,tt);_(e,([t,e],s)=>{const a=D(n[0],s,tt);_(t,([t,e],s)=>a[0][s]=Y(t,e)),a[1]=Z(a[1],e)}),n[1]=Z(n[1],s)}),t[1]=Z(t[1],s)},P=(s=null,a,n=b())=>C(async()=>{u(a)&&([a,s,n]=await A(null,1,e,n));const[r,i]=a,[o,c]=t.getMergeableContentHashes();let l=tt();if(o!=r){const[e,a]=(await A(s,4,t.getMergeableTableHashes(),n))[0];if(l=e,!H(a)){const[e,r]=(await A(s,5,t.getMergeableRowHashes(a),n))[0];if(m(l,e),!H(r)){const e=(await A(s,6,t.getMergeableCellHashes(r),n))[0];m(l,e)}}}return[l,c==i?tt():(await A(s,7,t.getMergeableValueHashes(),n))[0],1]},g),k=rt(t,async()=>{const t=await P();return!t||H(t[0][0])&&H(t[1][0])?void 0:t},async(e,s)=>s?M(null,b(),3,s):M(null,b(),2,t.getMergeableContentHashes()),t=>y=t,()=>y=void 0,g,2,{startSync:async t=>(p=1,await k.startAutoPersisting(t)),stopSync:async()=>(p=0,await k.stopAutoPersisting(),k),destroy:async()=>(await k.stopSync(),k),getSynchronizerStats:()=>({sends:S,receives:v}),...h},1);return n((e,s,a,n)=>{const r=p||k.isAutoLoading();v++,0==a?w(j(f,s),([t,s])=>d(t)||t==e?s(n,e):0):2==a&&r?P(e,n,s??void 0).then(t=>{y?.(void 0,t)}).catch(g):3==a&&r?y?.(void 0,n):w(1==a&&(p||k.isAutoSaving())?t.getMergeableContentHashes():4==a?t.getMergeableTableDiff(n):5==a?t.getMergeableRowDiff(n):6==a?t.getMergeableCellDiff(n):7==a?t.getMergeableValueDiff(n):void 0,t=>{M(e,s,0,t)})}),k})(t.getStore(),(t,e,s,a)=>this.#e(ot,W(t,e,s,a)),t=>this.#t=e=>((t,e)=>N(t,(t,s)=>{return e(t,...(a=s,E(R(a))));var a}))(e,t),0,1);await t.load(),await t.startAutoSave(),o(s.startSync)}))}fetch(t){const s=ct(t);return w(lt(t),t=>{const[a,n]=(r=new WebSocketPair,m.values(r));var r,i;return i=this.#s(),0==S(i)&&this.onPathId(s,1),this.ctx.acceptWebSocket(n,[t,s]),this.onClientId(s,t,1),n.send(W(ot,null,1,e)),gt(101,a)},ut)}webSocketMessage(t,e){w(this.ctx.getTags(t)[0],s=>this.#e(s,e.toString(),t))}webSocketClose(t){const[e,s]=this.ctx.getTags(t);this.onClientId(s,e,-1),1==S(this.#s())&&this.onPathId(s,-1)}#e(t,s,a){N(s.toString(),(s,n)=>{const r=z(t,n);this.onMessage(t,s,n),s==e?(t!=ot&&this.#t?.(r),f(this.#s(),t=>{t!=a&&t.send(r)})):s==ot?this.#t?.(r):s!=t&&this.#s(s)[0]?.send(r)})}#s(t){return this.ctx.getWebSockets(t)}createPersister(){}getPathId(){return this.ctx.getTags(this.#s()[0])?.[1]}getClientIds(){return b(this.#s(),t=>this.ctx.getTags(t)[0])}onPathId(t,e){}onClientId(t,e,s){}onMessage(t,e,s){}}const ht=t=>(e,s)=>lt(e)?s[t].get(s[t].idFromName(ct(e))).fetch(e):ut();export{dt as WsServerDurableObject,ht as getWsServerDurableObjectFetch};
@@ -1 +1 @@
1
- const t=(t,e="",a)=>t.split(e,a),e=Promise,a=t=>(e,a,s)=>t(e)?s?.():a(e),s=globalThis,n=Math,o=n.floor,r=t=>null==t,i=t=>void 0===t,c=t=>null===t,l=a(r),u=a(i),y=t=>Array.isArray(t),g=t=>t.length,w=t=>{throw Error(t)},d=async(t,e,a)=>{try{return await t()}catch(t){e?.(t)}},f=(t,e)=>t.forEach(e),h=(t,...e)=>t.push(...e),p=t=>t.shift(),v=t=>i(t)||0==(t=>t?.size??0)(t),b=(t,e)=>t?.forEach(e),C=(t,e)=>t?.delete(e),M=Object,A=t=>M.getPrototypeOf(t),S=M.entries,D=M.keys,H=M.freeze,m=(t,e)=>f(S(t),([t,a])=>e(a,t)),L=t=>(t=>!r(t)&&l(A(t),t=>t==M.prototype||r(A(t)),()=>!0))(t)&&0==(t=>g(D(t)))(t),_=(t,e,a)=>(((t,e)=>e in t)(t,e)||(t[e]=a()),t[e]),P=Map,T=t=>new P(t),G=(t,e)=>t?.get(e),R=(t,e,a)=>i(a)?(C(t,e),t):t?.set(e,a),E=(t,e,a,s)=>{var n,o;return n=t,o=e,n?.has(o)?s?.(G(t,e)):R(t,e,a()),G(t,e)},V=(t,e,a,s,n=0)=>u((a?E:G)(t,e[n],n>g(e)-2?a:T),o=>{if(n>g(e)-2)return s?.(o)&&R(t,e[n]),o;const r=V(o,e,a,s,n+1);return v(o)&&R(t,e[n]),r}),z=t("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),O=s.crypto?t=>s.crypto.getRandomValues(t):t=>(t=>t.map(()=>o(256*n.random())))(t),$=(t=16)=>{return e=(t,e)=>t+z[63&e],O(new Uint8Array(t)).reduce(e,"");var e},j=(t,e)=>e?[t,e]:[t],k=(t,e)=>((t??"")>(e??"")?t:e)??"",x=(t="")=>j(((t=[])=>M.fromEntries(t))(),t),F=/^\d+$/,N=t=>new Set(y(t)||i(t)?t:[t]),U=T(),q=T(),B=(t,e,a,s,n,o,r,l={},M=0,A=[])=>{let S,D,m,_=0,P=0,z=0;E(U,A,()=>0),E(q,A,()=>[]);const O=T(),[$,j,k,x,B]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.__[1],()=>e.__[2](!a),([[t],[e]])=>!L(t)||!L(e),e.setDefaultContent]:2!=t?[0,e._[7],e._[8],([t,e])=>!L(t)||!L(e),e.setContent]:w("Store type not supported by this Persister"))(r,t,M),[I,J,K]=(()=>{let t;const[e,a]=(()=>{const t=[];let e=0;return[a=>(a?p(t):null)??""+e++,e=>{F.test(e)&&g(t)<1e3&&h(t,e)}]})(),s=T();return[(a,n,o,r=[],i=()=>[])=>{t??=it;const c=e(1);var l,u;return R(s,c,[a,n,o,r,i]),l=V(n,o??[""],N),u=c,l?.add(u),c},(e,a,...n)=>f(((t,e=[""])=>{const a=[],s=(t,n)=>n==g(e)?h(a,t):c(e[n])?b(t,t=>s(t,n+1)):f([e[n],null],e=>s(G(t,e),n+1));return s(t,0),a})(e,a),e=>b(e,e=>G(s,e)[0](t,...a??[],...n))),t=>u(G(s,t),([,e,n])=>(V(e,n??[""],void 0,e=>(C(e,t),v(e)?1:0)),R(s,t),a(t),n)),e=>u(G(s,e),([e,,a=[],s,n])=>{const o=(...r)=>{const i=g(r);i==g(a)?e(t,...r,...n(r)):c(a[i])?f(s[i]?.(...r)??[],t=>o(...r,t)):o(...r,a[i])};o()})]})(),Q=t=>{t!=_&&(_=t,J(O,void 0,_))},W=e=>{($&&y(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},X=async()=>{nt()&&t.__?.[0]?.()&&await et()},Y=async t=>(2!=_&&(Q(1),P++,await rt(async()=>{await d(async()=>{const a=await e();y(a)?W(a):t?B(t):w("Content is not an array: "+a)},()=>{t&&B(t)}),Q(0),await X()})),it),Z=async t=>(tt(),await Y(t),await d(async()=>D=await s(async(t,e)=>{e||t?2!=_&&(Q(1),P++,W(e??t),Q(0),await X()):await Y()}),o),it),tt=async()=>(D&&(await d(()=>n(D),o),D=void 0),it),et=async t=>(1!=_&&(Q(2),z++,await rt(async()=>{await d(()=>a(j,t),o),Q(0)})),it),at=async()=>(st(),await et(),m=t.addDidFinishTransactionListener(()=>{const t=k();x(t)&&et(t)}),it),st=async()=>(m&&(t.delListener(m),m=void 0),it),nt=()=>!i(m),ot=async(t=!1)=>{const[e,a]=t?[st,tt]:[tt,st];return await e(),await a(),it},rt=async(...t)=>(h(G(q,A),...t),await(async()=>{if(!G(U,A)){for(R(U,A,1);!i(S=p(G(q,A)));)await d(S,o);R(U,A,0)}})(),it),it={load:Y,startAutoLoad:Z,stopAutoLoad:tt,isAutoLoading:()=>!i(D),save:et,startAutoSave:at,stopAutoSave:st,isAutoSaving:nt,startAutoPersisting:async(t,e=!1)=>{const[a,s]=e?[at,Z]:[Z,at];return await a(t),await s(t),it},stopAutoPersisting:ot,getStatus:()=>_,addStatusListener:t=>I(t,O),delListener:e=>(K(e),t),schedule:rt,getStore:()=>t,destroy:()=>(G(q,A).splice(0,void 0),ot()),getStats:()=>({loads:P,saves:z}),...l};return H(it)},I={Response:0,GetContentHashes:1,ContentHashes:2,ContentDiff:3,GetTableDiff:4,GetRowDiff:5,GetCellDiff:6,GetValueDiff:7},J=(t,a,s,n,o,r,l,y,g={})=>{let w,f=0,h=0,p=0;const v=T(),b=()=>$(11),M=(t,e,s,n)=>{h++,r?.(t,e,s,n),a(t,e,s,n)},A=async(t,a,s,n)=>new e((e,r)=>{const i=n+"."+$(4),c=((t,e=0)=>setTimeout(t,1e3*e))(()=>{C(v,i),r(`No response from ${t??"anyone"} to ${i}, `+a)},o);R(v,i,[t,(t,a)=>{clearTimeout(c),C(v,i),e([t,a,n])}]),M(t,i,a,s)}),S=(t,[e,a])=>{m(e,([e,a],s)=>{const n=_(t[0],s,x);m(e,([t,e],a)=>{const s=_(n[0],a,x);m(t,([t,e],a)=>s[0][a]=j(t,e)),s[1]=k(s[1],e)}),n[1]=k(n[1],a)}),t[1]=k(t[1],a)},D=(e=null,a,s=b())=>d(async()=>{i(a)&&([a,e,s]=await A(null,1,"",s));const[n,o]=a,[r,c]=t.getMergeableContentHashes();let l=x();if(r!=n){const[a,n]=(await A(e,4,t.getMergeableTableHashes(),s))[0];if(l=a,!L(n)){const[a,o]=(await A(e,5,t.getMergeableRowHashes(n),s))[0];if(S(l,a),!L(o)){const a=(await A(e,6,t.getMergeableCellHashes(o),s))[0];S(l,a)}}}return[l,c==o?x():(await A(e,7,t.getMergeableValueHashes(),s))[0],1]},y),H=B(t,async()=>{const t=await D();return!t||L(t[0][0])&&L(t[1][0])?void 0:t},async(e,a)=>a?M(null,b(),3,a):M(null,b(),2,t.getMergeableContentHashes()),t=>w=t,()=>w=void 0,y,2,{startSync:async t=>(f=1,await H.startAutoPersisting(t)),stopSync:async()=>(f=0,await H.stopAutoPersisting(),H),destroy:async()=>(await H.stopSync(),n(),H),getSynchronizerStats:()=>({sends:h,receives:p}),...g},1);return s((e,a,s,n)=>{const o=f||H.isAutoLoading();p++,l?.(e,a,s,n),0==s?u(G(v,a),([t,a])=>c(t)||t==e?a(n,e):0):2==s&&o?D(e,n,a??void 0).then(t=>{w?.(void 0,t)}).catch(y):3==s&&o?w?.(void 0,n):u(1==s&&(f||H.isAutoSaving())?t.getMergeableContentHashes():4==s?t.getMergeableTableDiff(n):5==s?t.getMergeableRowDiff(n):6==s?t.getMergeableCellDiff(n):7==s?t.getMergeableValueDiff(n):void 0,t=>{M(e,a,0,t)})}),H};export{I as Message,J as createCustomSynchronizer};
1
+ const t=(t,e="",a)=>t.split(e,a),e=Promise,a=Math,s=t=>(e,a,s)=>t(e)?s?.():a(e),n=globalThis,o=a.floor,r=a.random,i=t=>null==t,c=t=>void 0===t,l=t=>null===t,u=s(i),y=s(c),g=t=>Array.isArray(t),w=t=>t.length,d=t=>{throw Error(t)},f=async(t,e,a)=>{try{return await t()}catch(t){e?.(t)}},h=(t,e)=>t.forEach(e),p=(t,...e)=>t.push(...e),v=t=>t.shift(),b=t=>c(t)||0==(t=>t?.size??0)(t),C=(t,e)=>t?.forEach(e),M=(t,e)=>t?.delete(e),A=Object,S=t=>A.getPrototypeOf(t),D=A.entries,H=A.keys,m=A.freeze,L=(t,e)=>h(D(t),([t,a])=>e(a,t)),_=t=>(t=>!i(t)&&u(S(t),t=>t==A.prototype||i(S(t)),()=>!0))(t)&&0==(t=>w(H(t)))(t),P=(t,e,a)=>(((t,e)=>e in t)(t,e)||(t[e]=a()),t[e]),T=Map,G=t=>new T(t),R=(t,e)=>t?.get(e),E=(t,e,a)=>c(a)?(M(t,e),t):t?.set(e,a),V=(t,e,a,s)=>{var n,o;return n=t,o=e,n?.has(o)?s?.(R(t,e)):E(t,e,a()),R(t,e)},z=(t,e,a,s,n=0)=>y((a?V:R)(t,e[n],n>w(e)-2?a:G),o=>{if(n>w(e)-2)return s?.(o)&&E(t,e[n]),o;const r=z(o,e,a,s,n+1);return b(o)&&E(t,e[n]),r}),O=t("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),$=n.crypto?t=>n.crypto.getRandomValues(t):t=>(t=>t.map(()=>o(256*r())))(t),j=(t=16)=>{return e=(t,e)=>t+O[63&e],$(new Uint8Array(t)).reduce(e,"");var e},k=(t,e)=>e?[t,e]:[t],x=(t,e)=>((t??"")>(e??"")?t:e)??"",F=(t="")=>k(((t=[])=>A.fromEntries(t))(),t),N=/^\d+$/,U=t=>new Set(g(t)||c(t)?t:[t]),q=G(),B=G(),I=(t,e,a,s,n,o,r,i={},u=0,A=[])=>{let S,D,H,L=0,P=0,T=0;V(q,A,()=>0),V(B,A,()=>[]);const O=G(),[$,j,k,x,F]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.__[1],()=>e.__[2](!a),([[t],[e]])=>!_(t)||!_(e),e.setDefaultContent]:2!=t?[0,e._[7],e._[8],([t,e])=>!_(t)||!_(e),e.setContent]:d("Store type not supported by this Persister"))(r,t,u),[I,J,K]=(()=>{let t;const[e,a]=(()=>{const t=[];let e=0;return[a=>(a?v(t):null)??""+e++,e=>{N.test(e)&&w(t)<1e3&&p(t,e)}]})(),s=G();return[(a,n,o,r=[],i=()=>[])=>{t??=it;const c=e(1);var l,u;return E(s,c,[a,n,o,r,i]),l=z(n,o??[""],U),u=c,l?.add(u),c},(e,a,...n)=>h(((t,e=[""])=>{const a=[],s=(t,n)=>n==w(e)?p(a,t):l(e[n])?C(t,t=>s(t,n+1)):h([e[n],null],e=>s(R(t,e),n+1));return s(t,0),a})(e,a),e=>C(e,e=>R(s,e)[0](t,...a??[],...n))),t=>y(R(s,t),([,e,n])=>(z(e,n??[""],void 0,e=>(M(e,t),b(e)?1:0)),E(s,t),a(t),n)),e=>y(R(s,e),([e,,a=[],s,n])=>{const o=(...r)=>{const i=w(r);i==w(a)?e(t,...r,...n(r)):l(a[i])?h(s[i]?.(...r)??[],t=>o(...r,t)):o(...r,a[i])};o()})]})(),Q=t=>{t!=L&&(L=t,J(O,void 0,L))},W=e=>{($&&g(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},X=async()=>{nt()&&t.__?.[0]?.()&&await et()},Y=async t=>(2!=L&&(Q(1),P++,await rt(async()=>{await f(async()=>{const a=await e();g(a)?W(a):t?F(t):d("Content is not an array: "+a)},()=>{t&&F(t)}),Q(0),await X()})),it),Z=async t=>(tt(),await Y(t),await f(async()=>D=await s(async(t,e)=>{e||t?2!=L&&(Q(1),P++,W(e??t),Q(0),await X()):await Y()}),o),it),tt=async()=>(D&&(await f(()=>n(D),o),D=void 0),it),et=async t=>(1!=L&&(Q(2),T++,await rt(async()=>{await f(()=>a(j,t),o),Q(0)})),it),at=async()=>(st(),await et(),H=t.addDidFinishTransactionListener(()=>{const t=k();x(t)&&et(t)}),it),st=async()=>(H&&(t.delListener(H),H=void 0),it),nt=()=>!c(H),ot=async(t=!1)=>{const[e,a]=t?[st,tt]:[tt,st];return await e(),await a(),it},rt=async(...t)=>(p(R(B,A),...t),await(async()=>{if(!R(q,A)){for(E(q,A,1);!c(S=v(R(B,A)));)await f(S,o);E(q,A,0)}})(),it),it={load:Y,startAutoLoad:Z,stopAutoLoad:tt,isAutoLoading:()=>!c(D),save:et,startAutoSave:at,stopAutoSave:st,isAutoSaving:nt,startAutoPersisting:async(t,e=!1)=>{const[a,s]=e?[at,Z]:[Z,at];return await a(t),await s(t),it},stopAutoPersisting:ot,getStatus:()=>L,addStatusListener:t=>I(t,O),delListener:e=>(K(e),t),schedule:rt,getStore:()=>t,destroy:()=>(R(B,A).splice(0,void 0),ot()),getStats:()=>({loads:P,saves:T}),...i};return m(it)},J={Response:0,GetContentHashes:1,ContentHashes:2,ContentDiff:3,GetTableDiff:4,GetRowDiff:5,GetCellDiff:6,GetValueDiff:7},K=(t,a,s,n,o,r,i,u,g={})=>{let w,d=0,h=0,p=0;const v=G(),b=()=>j(11),C=(t,e,s,n)=>{h++,r?.(t,e,s,n),a(t,e,s,n)},A=async(t,a,s,n)=>new e((e,r)=>{const i=n+"."+j(4),c=((t,e=0)=>setTimeout(t,1e3*e))(()=>{M(v,i),r(`No response from ${t??"anyone"} to ${i}, `+a)},o);E(v,i,[t,(t,a)=>{clearTimeout(c),M(v,i),e([t,a,n])}]),C(t,i,a,s)}),S=(t,[e,a])=>{L(e,([e,a],s)=>{const n=P(t[0],s,F);L(e,([t,e],a)=>{const s=P(n[0],a,F);L(t,([t,e],a)=>s[0][a]=k(t,e)),s[1]=x(s[1],e)}),n[1]=x(n[1],a)}),t[1]=x(t[1],a)},D=(e=null,a,s=b())=>f(async()=>{c(a)&&([a,e,s]=await A(null,1,"",s));const[n,o]=a,[r,i]=t.getMergeableContentHashes();let l=F();if(r!=n){const[a,n]=(await A(e,4,t.getMergeableTableHashes(),s))[0];if(l=a,!_(n)){const[a,o]=(await A(e,5,t.getMergeableRowHashes(n),s))[0];if(S(l,a),!_(o)){const a=(await A(e,6,t.getMergeableCellHashes(o),s))[0];S(l,a)}}}return[l,i==o?F():(await A(e,7,t.getMergeableValueHashes(),s))[0],1]},u),H=I(t,async()=>{const t=await D();return!t||_(t[0][0])&&_(t[1][0])?void 0:t},async(e,a)=>a?C(null,b(),3,a):C(null,b(),2,t.getMergeableContentHashes()),t=>w=t,()=>w=void 0,u,2,{startSync:async t=>(d=1,await H.startAutoPersisting(t)),stopSync:async()=>(d=0,await H.stopAutoPersisting(),H),destroy:async()=>(await H.stopSync(),n(),H),getSynchronizerStats:()=>({sends:h,receives:p}),...g},1);return s((e,a,s,n)=>{const o=d||H.isAutoLoading();p++,i?.(e,a,s,n),0==s?y(R(v,a),([t,a])=>l(t)||t==e?a(n,e):0):2==s&&o?D(e,n,a??void 0).then(t=>{w?.(void 0,t)}).catch(u):3==s&&o?w?.(void 0,n):y(1==s&&(d||H.isAutoSaving())?t.getMergeableContentHashes():4==s?t.getMergeableTableDiff(n):5==s?t.getMergeableRowDiff(n):6==s?t.getMergeableCellDiff(n):7==s?t.getMergeableValueDiff(n):void 0,t=>{C(e,a,0,t)})}),H};export{J as Message,K as createCustomSynchronizer};
@@ -1 +1 @@
1
- import{jsx as e,jsxs as t,Fragment as l}from"react/jsx-runtime";import r from"react";import{CellView as n,ResultCellView as a,ValueView as s}from"../ui-react/index.js";const o=e=>typeof e,c=o(""),i=o(!0),d=o(0),u=o(o),h="object",m="array",C="Result",p="Ids",b="Table",f="Row",g=f+"Count",I=f+p,y="Sorted"+f+p,N="Cell",x=N+p,v="Value",w=v+p,T="currentTarget",k="value",S="extra",R=e=>(t,l,r)=>e(t)?r?.():l(t),A=globalThis,B=Math.min,q=isFinite,O=e=>null==e,P=e=>void 0===e,E=e=>!1===e,L=R(O),j=R(P),V=e=>o(e)==c,J=e=>o(e)==u,M=e=>Array.isArray(e),F=e=>e.length,H=()=>{},$=e=>e,_=(e,t)=>{try{return e()}catch{return t}},z=(e,t)=>e.every(t),D=(e,t)=>F(e)===F(t)&&z(e,(e,l)=>t[l]===e),G=(e,t)=>M(e)&&M(t)?D(e,t):e===t,K=(e,t)=>e.map(t),Q=Object,U=e=>Q.getPrototypeOf(e),W=Q.entries,X=e=>!O(e)&&L(U(e),e=>e==Q.prototype||O(U(e)),()=>!0),Y=Q.keys,Z=(e=[])=>Q.fromEntries(e),ee=(e,t)=>K(W(e),([e,l])=>t(l,e)),te=(e,t,l=(e,t)=>e===t)=>{const r=W(e);return F(r)===F(Y(t))&&z(r,([e,r])=>X(r)?!!X(t[e])&&te(t[e],r,l):l(r,t[e]))},le=JSON.stringify,re=JSON.parse,{PureComponent:ne,createContext:ae,useCallback:se,useContext:oe,useEffect:ce,useLayoutEffect:ie,useMemo:de,useRef:ue,useState:he,useSyncExternalStore:me}=r,Ce=(e,...t)=>P(e)?{}:e(...t),pe="tinybase_uirc",be=A[pe]?A[pe]:A[pe]=ae([]),fe=(e,t)=>{const l=((e,t)=>{const l=oe(be);return P(e)?l[2*t]:V(e)?((e,t)=>j(e,e=>e[t]))(l[2*t+1],e):e})(e,t);return P(e)||V(e)?l:e},ge=[],Ie=[{},[],[ge,void 0,ge],{},void 0,void 0,!1,0],ye=(e,t)=>e===t||(X(e)||M(e))&&le(e)===le(t),Ne=[(e,t)=>te(e,t,ye),D,([e,t,l],[r,n,a])=>t===n&&D(e,r)&&D(l,a),(e,t)=>te(e,t,G),G,ye],xe=(e,t)=>e===t,ve=(e,t,l,r=ge)=>{const n=ue(Ie[l]),a=se(()=>{const a=t?.[(6==l?"has":"get")+e]?.(...r)??Ie[l];return(Ne[l]??xe)(a,n.current)?n.current:n.current=a},[t,l,e,...r]),s=se(n=>((e,t,...l)=>{const r=e?.["add"+t+"Listener"]?.(...l);return()=>e?.delListener?.(r)})(t,(6==l?"Has":"")+e,...r,n),[t,l,e,...r]);return me(s,a,a)},we=(e,t,l,r,n,a,...s)=>((e,t,l,r=ge,n=H,a=ge,s,...o)=>se(r=>j(e,e=>j(l(r,e),l=>n(e[s+t](...Te(o,e,r),l),l))),[e,t,...r,...a,s,...ke(o)]))(Se(e),t,l,r,n,a,"set",...s),Te=(e,t,l)=>K(e,e=>J(e)?e(l,t):e),ke=e=>{return t=e=>!J(e),e.filter(t);var t},Se=e=>fe(e,0),Re=(e,t)=>ve(b+x,Se(t),1,[e]),Ae=(e,t)=>ve(I,Se(t),1,[e]),Be=(e,t,l,r,n,a)=>((e,t,l,r,n,a)=>ve(y,Se(a),1,[e,t,l,r,n]))(...X(e)?[e.tableId,e.cellId,e.descending??!1,e.offset??0,e.limit,t]:[e,t,l,r,n,a]),qe=(e,t,l,r)=>ve(N,Se(r),5,[e,t,l]),Oe=(e,t)=>ve(v,Se(t),5,[e]),Pe=(e,t,l,r,n,a,s,o)=>we(a,N,r,n,s,o,e,t,l),Ee=(e,t,l,r,n,a)=>we(r,v,t,l,n,a,e),Le=e=>fe(e,2),je=(e,t,l)=>ve("Slice"+I,Le(l),1,[e,t]),Ve=e=>fe(e,3),Je=e=>fe(e,4),Me=(e,t)=>ve(C+b+x,Je(t),1,[e]),Fe=(e,t)=>ve(C+I,Je(t),1,[e]),He=(e,t,l,r=0,n,a)=>ve(C+y,Je(a),1,[e,t,l,r,n]),$e=(e,t,l,r,n,a)=>e==c?t:e==d?l:e==i?r:e==h?n:e==m?a:null,_e=(e,t)=>de(()=>({store:e,tableId:t}),[e,t]),ze=(e,t)=>de(()=>({queries:e,queryId:t}),[e,t]),De=(e,t,l)=>{const r=se(e,t);return l?r:void 0},Ge=(...e)=>de(()=>e,e),Ke=(e,t,l)=>de(()=>{const r=t??e;return n=M(r)?Z(K(r,e=>[e,e])):r,a=(e,t)=>({label:t,component:l,...V(e)?{label:e}:e}),Z(ee(n,(e,t)=>[t,a(e,t)]));var n,a},[t,l,e]),Qe="editable",Ue=(t=[],l,r=0)=>K(t,({component:t},n)=>e("td",{className:S,children:e(t,{...l})},We(n,r))),We=(e,t)=>(t?">":"<")+e,Xe=(t=[],l=0)=>K(t,({label:t},r)=>e("th",{className:S,children:t},We(r,l))),Ye=({cellId:e,sort:[l,r],label:n=e??"",onClick:a})=>t("th",{onClick:De(()=>a?.(e),[a,e],a),className:P(r)||l!=e?void 0:`sorted ${r?"de":"a"}scending`,children:[P(r)||l!=e?null:(r?"↓":"↑")+" ",n]}),Ze=({className:l,headerRow:r,idColumn:n,params:[a,s,o,c,i,d,u,h]})=>t("table",{className:l,children:[h?e("caption",{children:h}):null,!1===r?null:e("thead",{children:t("tr",{children:[Xe(c),!1===n?null:e(Ye,{sort:d??[],label:"Id",onClick:u}),ee(a,({label:t},l)=>e(Ye,{cellId:l,label:t,sort:d??[],onClick:u},l)),Xe(i,1)]})}),e("tbody",{children:K(o,l=>{const r={...s,rowId:l};return t("tr",{children:[Ue(c,r),E(n)?null:e("th",{title:l,children:l}),ee(a,({component:t,getComponentProps:n},a)=>e("td",{children:e(t,{...Ce(n,l,a),...r,cellId:a})},a)),Ue(i,r,1)]},l)})})]}),et=({thing:l,onThingChange:r,className:n,hasSchema:a,showType:s=!0})=>{const[u,C]=he(),[p,b]=he(),[f,g]=he(),[I,y]=he(),[N,x]=he(),[v,w]=he("{}"),[S,R]=he("[]"),[A,B]=he(""),[O,P]=he("");p!==l&&(C((e=>{if(null===e)return"null";if(M(e))return m;if(X(e))return h;const t=o(e);return(e=>e==c||e==i)(t)||t==d&&q(e)?t:void 0})(l)),b(l),X(l)?w(le(l)):M(l)?R(le(l)):(g(l+""),y(Number(l)||0),x(!!l)));const E=se((e,t)=>{t(e),b(e),r(e)},[r]),L=se((e,t,l,n)=>{t(e);try{const t=re(e);l(t)&&(b(t),r(t),n(""))}catch{n("invalid")}},[r]),j=se(()=>{if(!a?.()){const e=$e(u,d,i,h,m,c),t=$e(e,f,I,N,_(()=>re(v),{}),_(()=>re(S),[]));C(e),b(t),r(t)}},[a,r,f,I,N,v,S,u]),V=$e(u,e("input",{value:f,onChange:se(e=>E(e[T][k]+"",g),[E])},u),e("input",{type:"number",value:I,onChange:se(e=>E(Number(e[T][k]||0),y),[E])},u),e("input",{type:"checkbox",checked:N,onChange:se(e=>E(!!e[T].checked,x),[E])},u),e("input",{value:v,className:A,onChange:se(e=>L(e[T][k],w,X,B),[L])},u),e("input",{value:S,className:O,onChange:se(e=>L(e[T][k],R,M,P),[L])},u));return t("div",{className:n,children:[s&&V?e("button",{title:u,className:u,onClick:j,children:u}):null,V]})},tt=({tableId:t,rowId:l,cellId:r,store:n,className:a,showType:s})=>{const[o,c]=((e,t,l,r)=>[qe(e,t,l,r),Pe(e,t,l,$,[],r)])(t,l,r,n);return e(et,{thing:o,onThingChange:c,className:a??Qe+N,showType:s,hasSchema:Se(n)?.hasTablesSchema})},lt=({valueId:t,store:l,className:r,showType:n})=>{const[a,s]=((e,t)=>[Oe(e,t),Ee(e,$,[],t)])(t,l);return e(et,{thing:a,onThingChange:s,className:r??Qe+v,showType:n,hasSchema:Se(l)?.hasValuesSchema})},rt=(e,t)=>K(Re(e,t),t=>e+"."+t),nt=({localRowId:r,params:[n,a,s,o,c,i,d,u,h]})=>{const m=((e,t,l)=>ve("RemoteRowId",Ve(l),5,[e,t]))(c,r,i),C={tableId:s??"",rowId:r,store:d};return t("tr",{children:[Ue(u,C),E(n)?null:t(l,{children:[e("th",{title:r,children:r}),e("th",{title:m,children:m})]}),ee(a,({component:t,getComponentProps:l},n)=>{const[a,c]=((e,t="",l)=>e.split(t,l))(n,".",2),i=a===s?r:a===o?m:void 0;return P(i)?null:e("td",{children:e(t,{...Ce(l,i,c),store:d,tableId:a,rowId:i,cellId:c})},n)}),Ue(h,C,1)]})},at=({relationshipId:r,relationships:a,editable:s,customCells:o,extraCellsBefore:c,extraCellsAfter:i,className:d,headerRow:u,idColumn:h=!0})=>{const[m,C,p,b]=((e,t)=>[e,e?.getStore(),e?.getLocalTableId(t),e?.getRemoteTableId(t)])(Ve(a),r),f=Ke([...rt(p,C),...rt(b,C)],o,s?tt:n),g=Ge(h,f,p,b,r,m,C,c,i);return t("table",{className:d,children:[E(u)?null:e("thead",{children:t("tr",{children:[Xe(c),E(h)?null:t(l,{children:[t("th",{children:[p,".Id"]}),t("th",{children:[b,".Id"]})]}),ee(f,({label:t},l)=>e("th",{children:t},l)),Xe(i,1)]})}),e("tbody",{children:K(Ae(p,C),t=>e(nt,{localRowId:t,params:g},t))})]})},st=(t,l=!1,r,n=0,a,s,o,c)=>{const[[i,d,u],h]=he([t,l,n]),m=se(e=>{h(e),c?.(e)},[c]),C=De(e=>m([e,e==i&&!d,u]),[m,i,d,u],r),p=se(e=>m([i,d,e]),[m,i,d]),b=!0===o?ot:o;return[[i,d,u],C,de(()=>E(o)?null:e(b,{offset:u,limit:a,total:s,onChange:p}),[o,b,u,a,s,p])]},ot=({onChange:r,total:n,offset:a=0,limit:s=n,singular:o="row",plural:c=o+"s"})=>{(a>n||a<0)&&(a=0,r(0));const i=De(()=>r(a-s),[r,a,s],a>0),d=De(()=>r(a+s),[r,a,s],a+s<n);return t(l,{children:[n>s&&t(l,{children:[e("button",{className:"previous",disabled:0==a,onClick:i,children:"←"}),e("button",{className:"next",disabled:a+s>=n,onClick:d,children:"→"}),a+1," to ",B(n,a+s)," of "]}),n," ",1!=n?c:o]})},ct=({queryId:t,cellId:l,descending:r,offset:n,limit:s,queries:o,sortOnClick:c,paginator:i=!1,customCells:d,extraCellsBefore:u,extraCellsAfter:h,onChange:m,...p})=>{const[b,f,I]=st(l,r,c,n,s,((e,t)=>ve(C+g,Je(t),7,[e]))(t,o),i,m);return e(Ze,{...p,params:Ge(Ke(Me(t,o),d,a),ze(o,t),He(t,...b,s,o),u,h,b,f,I)})},it=({queryId:t,queries:l,customCells:r,extraCellsBefore:n,extraCellsAfter:s,...o})=>e(Ze,{...o,params:Ge(Ke(Me(t,l),r,a),ze(l,t),Fe(t,l),n,s)}),dt=({indexId:t,sliceId:l,indexes:r,editable:a,customCells:s,extraCellsBefore:o,extraCellsAfter:c,...i})=>{const[d,u,h]=((e,t)=>[e,e?.getStore(),e?.getTableId(t)])(Le(r),t);return e(Ze,{...i,params:Ge(Ke(Re(h,u),s,a?tt:n),_e(u,h),je(t,l,d),o,c)})},ut=({tableId:t,cellId:l,descending:r,offset:a,limit:s,store:o,editable:c,sortOnClick:i,paginator:d=!1,onChange:u,customCells:h,extraCellsBefore:m,extraCellsAfter:C,...p})=>{const[b,f,I]=st(l,r,i,a,s,((e,t)=>ve(g,Se(t),7,[e]))(t,o),d,u);return e(Ze,{...p,params:Ge(Ke(Re(t,o),h,c?tt:n),_e(o,t),Be(t,...b,s,o),m,C,b,f,I)})},ht=({tableId:t,store:l,editable:r,customCells:a,extraCellsBefore:s,extraCellsAfter:o,...c})=>e(Ze,{...c,params:Ge(Ke(Re(t,l),a,r?tt:n),_e(l,t),Ae(t,l),s,o)}),mt=(t=[],l,r=0)=>K(t,({component:t},n)=>e("td",{className:S,children:e(t,{...l})},We(n,r))),Ct=({store:l,editable:r=!1,valueComponent:n=(r?lt:s),getValueComponentProps:a,extraCellsBefore:o,extraCellsAfter:c,className:i,headerRow:d,idColumn:u})=>{return t("table",{className:i,children:[!1===d?null:e("thead",{children:t("tr",{children:[Xe(o),!1===u?null:e("th",{children:"Id"}),e("th",{children:v}),Xe(c,1)]})}),e("tbody",{children:K((h=l,ve(w,Se(h),1)),r=>{const s={valueId:r,store:l};return t("tr",{children:[mt(o,s),E(u)?null:e("th",{title:r,children:r}),e("td",{children:e(n,{...Ce(a,r),...s})}),mt(c,s,1)]},r)})})]});var h};export{tt as EditableCellView,lt as EditableValueView,nt as RelationshipInHtmlRow,at as RelationshipInHtmlTable,ct as ResultSortedTableInHtmlTable,it as ResultTableInHtmlTable,dt as SliceInHtmlTable,ut as SortedTableInHtmlTable,ot as SortedTablePaginator,ht as TableInHtmlTable,Ct as ValuesInHtmlTable,st as useSortingAndPagination};
1
+ import{jsx as e,jsxs as t,Fragment as l}from"react/jsx-runtime";import r from"react";import{CellView as n,ResultCellView as a,ValueView as s}from"../ui-react/index.js";const o=e=>typeof e,c=o(""),i=o(!0),d=o(0),u=o(o),h="object",m="array",C="Result",p="Ids",b="Table",f="Row",g=f+"Count",I=f+p,y="Sorted"+f+p,x="Cell",N=x+p,v="Value",w=v+p,S="currentTarget",T="value",k="extra",R=e=>(t,l,r)=>e(t)?r?.():l(t),A=globalThis,B=Number,q=String,O=Boolean,P=Math.min,E=isFinite,L=e=>null==e,j=e=>void 0===e,V=e=>!1===e,J=R(L),M=R(j),F=e=>o(e)==c,H=e=>o(e)==u,$=e=>Array.isArray(e),_=e=>e.length,z=()=>{},D=e=>e,G=(e,t)=>{try{return e()}catch{return t}},K=(e,t)=>e.every(t),Q=(e,t)=>_(e)===_(t)&&K(e,(e,l)=>t[l]===e),U=(e,t)=>$(e)&&$(t)?Q(e,t):e===t,W=(e,t)=>e.map(t),X=Object,Y=e=>X.getPrototypeOf(e),Z=X.entries,ee=e=>!L(e)&&J(Y(e),e=>e==X.prototype||L(Y(e)),()=>!0),te=X.keys,le=(e=[])=>X.fromEntries(e),re=(e,t)=>W(Z(e),([e,l])=>t(l,e)),ne=(e,t,l=(e,t)=>e===t)=>{const r=Z(e);return _(r)===_(te(t))&&K(r,([e,r])=>ee(r)?!!ee(t[e])&&ne(t[e],r,l):l(r,t[e]))},ae=JSON.stringify,se=JSON.parse,{PureComponent:oe,createContext:ce,useCallback:ie,useContext:de,useEffect:ue,useLayoutEffect:he,useMemo:me,useRef:Ce,useState:pe,useSyncExternalStore:be}=r,fe=(e,...t)=>j(e)?{}:e(...t),ge="tinybase_uirc",Ie=A[ge]?A[ge]:A[ge]=ce([]),ye=(e,t)=>{const l=((e,t)=>{const l=de(Ie);return j(e)?l[2*t]:F(e)?((e,t)=>M(e,e=>e[t]))(l[2*t+1],e):e})(e,t);return j(e)||F(e)?l:e},xe=[],Ne=[{},[],[xe,void 0,xe],{},void 0,void 0,!1,0],ve=(e,t)=>e===t||(ee(e)||$(e))&&ae(e)===ae(t),we=[(e,t)=>ne(e,t,ve),Q,([e,t,l],[r,n,a])=>t===n&&Q(e,r)&&Q(l,a),(e,t)=>ne(e,t,U),U,ve],Se=(e,t)=>e===t,Te=(e,t,l,r=xe)=>{const n=Ce(Ne[l]),a=ie(()=>{const a=t?.[(6==l?"has":"get")+e]?.(...r)??Ne[l];return(we[l]??Se)(a,n.current)?n.current:n.current=a},[t,l,e,...r]),s=ie(n=>((e,t,...l)=>{const r=e?.["add"+t+"Listener"]?.(...l);return()=>e?.delListener?.(r)})(t,(6==l?"Has":"")+e,...r,n),[t,l,e,...r]);return be(s,a,a)},ke=(e,t,l,r,n,a,...s)=>((e,t,l,r=xe,n=z,a=xe,s,...o)=>ie(r=>M(e,e=>M(l(r,e),l=>n(e[s+t](...Re(o,e,r),l),l))),[e,t,...r,...a,s,...Ae(o)]))(Be(e),t,l,r,n,a,"set",...s),Re=(e,t,l)=>W(e,e=>H(e)?e(l,t):e),Ae=e=>{return t=e=>!H(e),e.filter(t);var t},Be=e=>ye(e,0),qe=(e,t)=>Te(b+N,Be(t),1,[e]),Oe=(e,t)=>Te(I,Be(t),1,[e]),Pe=(e,t,l,r,n,a)=>((e,t,l,r,n,a)=>Te(y,Be(a),1,[e,t,l,r,n]))(...ee(e)?[e.tableId,e.cellId,e.descending??!1,e.offset??0,e.limit,t]:[e,t,l,r,n,a]),Ee=(e,t,l,r)=>Te(x,Be(r),5,[e,t,l]),Le=(e,t)=>Te(v,Be(t),5,[e]),je=(e,t,l,r,n,a,s,o)=>ke(a,x,r,n,s,o,e,t,l),Ve=(e,t,l,r,n,a)=>ke(r,v,t,l,n,a,e),Je=e=>ye(e,2),Me=(e,t,l)=>Te("Slice"+I,Je(l),1,[e,t]),Fe=e=>ye(e,3),He=e=>ye(e,4),$e=(e,t)=>Te(C+b+N,He(t),1,[e]),_e=(e,t)=>Te(C+I,He(t),1,[e]),ze=(e,t,l,r=0,n,a)=>Te(C+y,He(a),1,[e,t,l,r,n]),De=(e,t,l,r,n,a)=>e==c?t:e==d?l:e==i?r:e==h?n:e==m?a:null,Ge=(e,t)=>me(()=>({store:e,tableId:t}),[e,t]),Ke=(e,t)=>me(()=>({queries:e,queryId:t}),[e,t]),Qe=(e,t,l)=>{const r=ie(e,t);return l?r:void 0},Ue=(...e)=>me(()=>e,e),We=(e,t,l)=>me(()=>{const r=t??e;return n=$(r)?le(W(r,e=>[e,e])):r,a=(e,t)=>({label:t,component:l,...F(e)?{label:e}:e}),le(re(n,(e,t)=>[t,a(e,t)]));var n,a},[t,l,e]),Xe="editable",Ye=(t=[],l,r=0)=>W(t,({component:t},n)=>e("td",{className:k,children:e(t,{...l})},Ze(n,r))),Ze=(e,t)=>(t?">":"<")+e,et=(t=[],l=0)=>W(t,({label:t},r)=>e("th",{className:k,children:t},Ze(r,l))),tt=({cellId:e,sort:[l,r],label:n=e??"",onClick:a})=>t("th",{onClick:Qe(()=>a?.(e),[a,e],a),className:j(r)||l!=e?void 0:`sorted ${r?"de":"a"}scending`,children:[j(r)||l!=e?null:(r?"↓":"↑")+" ",n]}),lt=({className:l,headerRow:r,idColumn:n,params:[a,s,o,c,i,d,u,h]})=>t("table",{className:l,children:[h?e("caption",{children:h}):null,!1===r?null:e("thead",{children:t("tr",{children:[et(c),!1===n?null:e(tt,{sort:d??[],label:"Id",onClick:u}),re(a,({label:t},l)=>e(tt,{cellId:l,label:t,sort:d??[],onClick:u},l)),et(i,1)]})}),e("tbody",{children:W(o,l=>{const r={...s,rowId:l};return t("tr",{children:[Ye(c,r),V(n)?null:e("th",{title:l,children:l}),re(a,({component:t,getComponentProps:n},a)=>e("td",{children:e(t,{...fe(n,l,a),...r,cellId:a})},a)),Ye(i,r,1)]},l)})})]}),rt=({thing:l,onThingChange:r,className:n,hasSchema:a,showType:s=!0})=>{const[u,C]=pe(),[p,b]=pe(),[f,g]=pe(),[I,y]=pe(),[x,N]=pe(),[v,w]=pe("{}"),[k,R]=pe("[]"),[A,P]=pe(""),[L,j]=pe("");p!==l&&(C((e=>{if(null===e)return"null";if($(e))return m;if(ee(e))return h;const t=o(e);return(e=>e==c||e==i)(t)||t==d&&E(e)?t:void 0})(l)),b(l),ee(l)?w(ae(l)):$(l)?R(ae(l)):(g(q(l)),y(B(l)||0),N(O(l))));const V=ie((e,t)=>{t(e),b(e),r(e)},[r]),J=ie((e,t,l,n)=>{t(e);try{const t=se(e);l(t)&&(b(t),r(t),n(""))}catch{n("invalid")}},[r]),M=ie(()=>{if(!a?.()){const e=De(u,d,i,h,m,c),t=De(e,f,I,x,G(()=>se(v),{}),G(()=>se(k),[]));C(e),b(t),r(t)}},[a,r,f,I,x,v,k,u]),F=De(u,e("input",{value:f,onChange:ie(e=>V(q(e[S][T]),g),[V])},u),e("input",{type:"number",value:I,onChange:ie(e=>V(B(e[S][T]||0),y),[V])},u),e("input",{type:"checkbox",checked:x,onChange:ie(e=>V(O(e[S].checked),N),[V])},u),e("input",{value:v,className:A,onChange:ie(e=>J(e[S][T],w,ee,P),[J])},u),e("input",{value:k,className:L,onChange:ie(e=>J(e[S][T],R,$,j),[J])},u));return t("div",{className:n,children:[s&&F?e("button",{title:u,className:u,onClick:M,children:u}):null,F]})},nt=({tableId:t,rowId:l,cellId:r,store:n,className:a,showType:s})=>{const[o,c]=((e,t,l,r)=>[Ee(e,t,l,r),je(e,t,l,D,[],r)])(t,l,r,n);return e(rt,{thing:o,onThingChange:c,className:a??Xe+x,showType:s,hasSchema:Be(n)?.hasTablesSchema})},at=({valueId:t,store:l,className:r,showType:n})=>{const[a,s]=((e,t)=>[Le(e,t),Ve(e,D,[],t)])(t,l);return e(rt,{thing:a,onThingChange:s,className:r??Xe+v,showType:n,hasSchema:Be(l)?.hasValuesSchema})},st=(e,t)=>W(qe(e,t),t=>e+"."+t),ot=({localRowId:r,params:[n,a,s,o,c,i,d,u,h]})=>{const m=((e,t,l)=>Te("RemoteRowId",Fe(l),5,[e,t]))(c,r,i),C={tableId:s??"",rowId:r,store:d};return t("tr",{children:[Ye(u,C),V(n)?null:t(l,{children:[e("th",{title:r,children:r}),e("th",{title:m,children:m})]}),re(a,({component:t,getComponentProps:l},n)=>{const[a,c]=((e,t="",l)=>e.split(t,l))(n,".",2),i=a===s?r:a===o?m:void 0;return j(i)?null:e("td",{children:e(t,{...fe(l,i,c),store:d,tableId:a,rowId:i,cellId:c})},n)}),Ye(h,C,1)]})},ct=({relationshipId:r,relationships:a,editable:s,customCells:o,extraCellsBefore:c,extraCellsAfter:i,className:d,headerRow:u,idColumn:h=!0})=>{const[m,C,p,b]=((e,t)=>[e,e?.getStore(),e?.getLocalTableId(t),e?.getRemoteTableId(t)])(Fe(a),r),f=We([...st(p,C),...st(b,C)],o,s?nt:n),g=Ue(h,f,p,b,r,m,C,c,i);return t("table",{className:d,children:[V(u)?null:e("thead",{children:t("tr",{children:[et(c),V(h)?null:t(l,{children:[t("th",{children:[p,".Id"]}),t("th",{children:[b,".Id"]})]}),re(f,({label:t},l)=>e("th",{children:t},l)),et(i,1)]})}),e("tbody",{children:W(Oe(p,C),t=>e(ot,{localRowId:t,params:g},t))})]})},it=(t,l=!1,r,n=0,a,s,o,c)=>{const[[i,d,u],h]=pe([t,l,n]),m=ie(e=>{h(e),c?.(e)},[c]),C=Qe(e=>m([e,e==i&&!d,u]),[m,i,d,u],r),p=ie(e=>m([i,d,e]),[m,i,d]),b=!0===o?dt:o;return[[i,d,u],C,me(()=>V(o)?null:e(b,{offset:u,limit:a,total:s,onChange:p}),[o,b,u,a,s,p])]},dt=({onChange:r,total:n,offset:a=0,limit:s=n,singular:o="row",plural:c=o+"s"})=>{(a>n||a<0)&&(a=0,r(0));const i=Qe(()=>r(a-s),[r,a,s],a>0),d=Qe(()=>r(a+s),[r,a,s],a+s<n);return t(l,{children:[n>s&&t(l,{children:[e("button",{className:"previous",disabled:0==a,onClick:i,children:"←"}),e("button",{className:"next",disabled:a+s>=n,onClick:d,children:"→"}),a+1," to ",P(n,a+s)," of "]}),n," ",1!=n?c:o]})},ut=({queryId:t,cellId:l,descending:r,offset:n,limit:s,queries:o,sortOnClick:c,paginator:i=!1,customCells:d,extraCellsBefore:u,extraCellsAfter:h,onChange:m,...p})=>{const[b,f,I]=it(l,r,c,n,s,((e,t)=>Te(C+g,He(t),7,[e]))(t,o),i,m);return e(lt,{...p,params:Ue(We($e(t,o),d,a),Ke(o,t),ze(t,...b,s,o),u,h,b,f,I)})},ht=({queryId:t,queries:l,customCells:r,extraCellsBefore:n,extraCellsAfter:s,...o})=>e(lt,{...o,params:Ue(We($e(t,l),r,a),Ke(l,t),_e(t,l),n,s)}),mt=({indexId:t,sliceId:l,indexes:r,editable:a,customCells:s,extraCellsBefore:o,extraCellsAfter:c,...i})=>{const[d,u,h]=((e,t)=>[e,e?.getStore(),e?.getTableId(t)])(Je(r),t);return e(lt,{...i,params:Ue(We(qe(h,u),s,a?nt:n),Ge(u,h),Me(t,l,d),o,c)})},Ct=({tableId:t,cellId:l,descending:r,offset:a,limit:s,store:o,editable:c,sortOnClick:i,paginator:d=!1,onChange:u,customCells:h,extraCellsBefore:m,extraCellsAfter:C,...p})=>{const[b,f,I]=it(l,r,i,a,s,((e,t)=>Te(g,Be(t),7,[e]))(t,o),d,u);return e(lt,{...p,params:Ue(We(qe(t,o),h,c?nt:n),Ge(o,t),Pe(t,...b,s,o),m,C,b,f,I)})},pt=({tableId:t,store:l,editable:r,customCells:a,extraCellsBefore:s,extraCellsAfter:o,...c})=>e(lt,{...c,params:Ue(We(qe(t,l),a,r?nt:n),Ge(l,t),Oe(t,l),s,o)}),bt=(t=[],l,r=0)=>W(t,({component:t},n)=>e("td",{className:k,children:e(t,{...l})},Ze(n,r))),ft=({store:l,editable:r=!1,valueComponent:n=(r?at:s),getValueComponentProps:a,extraCellsBefore:o,extraCellsAfter:c,className:i,headerRow:d,idColumn:u})=>{return t("table",{className:i,children:[!1===d?null:e("thead",{children:t("tr",{children:[et(o),!1===u?null:e("th",{children:"Id"}),e("th",{children:v}),et(c,1)]})}),e("tbody",{children:W((h=l,Te(w,Be(h),1)),r=>{const s={valueId:r,store:l};return t("tr",{children:[bt(o,s),V(u)?null:e("th",{title:r,children:r}),e("td",{children:e(n,{...fe(a,r),...s})}),bt(c,s,1)]},r)})})]});var h};export{nt as EditableCellView,at as EditableValueView,ot as RelationshipInHtmlRow,ct as RelationshipInHtmlTable,ut as ResultSortedTableInHtmlTable,ht as ResultTableInHtmlTable,mt as SliceInHtmlTable,Ct as SortedTableInHtmlTable,dt as SortedTablePaginator,pt as TableInHtmlTable,ft as ValuesInHtmlTable,it as useSortingAndPagination};
Binary file
@@ -1 +1 @@
1
- import{jsx as e,jsxs as t,Fragment as l}from"react/jsx-runtime";import r from"react";import{CellView as n,ResultCellView as a,ValueView as s}from"../../ui-react/with-schemas/index.js";const o=e=>typeof e,c=o(""),i=o(!0),d=o(0),u=o(o),h="object",m="array",C="Result",p="Ids",b="Table",f="Row",g=f+"Count",I=f+p,y="Sorted"+f+p,N="Cell",x=N+p,v="Value",w=v+p,T="currentTarget",k="value",S="extra",R=e=>(t,l,r)=>e(t)?r?.():l(t),A=globalThis,B=Math.min,q=isFinite,O=e=>null==e,P=e=>void 0===e,E=e=>!1===e,L=R(O),j=R(P),V=e=>o(e)==c,J=e=>o(e)==u,M=e=>Array.isArray(e),F=e=>e.length,H=()=>{},$=e=>e,_=(e,t)=>{try{return e()}catch{return t}},z=(e,t)=>e.every(t),D=(e,t)=>F(e)===F(t)&&z(e,(e,l)=>t[l]===e),G=(e,t)=>M(e)&&M(t)?D(e,t):e===t,K=(e,t)=>e.map(t),Q=Object,U=e=>Q.getPrototypeOf(e),W=Q.entries,X=e=>!O(e)&&L(U(e),e=>e==Q.prototype||O(U(e)),()=>!0),Y=Q.keys,Z=(e=[])=>Q.fromEntries(e),ee=(e,t)=>K(W(e),([e,l])=>t(l,e)),te=(e,t,l=(e,t)=>e===t)=>{const r=W(e);return F(r)===F(Y(t))&&z(r,([e,r])=>X(r)?!!X(t[e])&&te(t[e],r,l):l(r,t[e]))},le=JSON.stringify,re=JSON.parse,{PureComponent:ne,createContext:ae,useCallback:se,useContext:oe,useEffect:ce,useLayoutEffect:ie,useMemo:de,useRef:ue,useState:he,useSyncExternalStore:me}=r,Ce=(e,...t)=>P(e)?{}:e(...t),pe="tinybase_uirc",be=A[pe]?A[pe]:A[pe]=ae([]),fe=(e,t)=>{const l=((e,t)=>{const l=oe(be);return P(e)?l[2*t]:V(e)?((e,t)=>j(e,e=>e[t]))(l[2*t+1],e):e})(e,t);return P(e)||V(e)?l:e},ge=[],Ie=[{},[],[ge,void 0,ge],{},void 0,void 0,!1,0],ye=(e,t)=>e===t||(X(e)||M(e))&&le(e)===le(t),Ne=[(e,t)=>te(e,t,ye),D,([e,t,l],[r,n,a])=>t===n&&D(e,r)&&D(l,a),(e,t)=>te(e,t,G),G,ye],xe=(e,t)=>e===t,ve=(e,t,l,r=ge)=>{const n=ue(Ie[l]),a=se(()=>{const a=t?.[(6==l?"has":"get")+e]?.(...r)??Ie[l];return(Ne[l]??xe)(a,n.current)?n.current:n.current=a},[t,l,e,...r]),s=se(n=>((e,t,...l)=>{const r=e?.["add"+t+"Listener"]?.(...l);return()=>e?.delListener?.(r)})(t,(6==l?"Has":"")+e,...r,n),[t,l,e,...r]);return me(s,a,a)},we=(e,t,l,r,n,a,...s)=>((e,t,l,r=ge,n=H,a=ge,s,...o)=>se(r=>j(e,e=>j(l(r,e),l=>n(e[s+t](...Te(o,e,r),l),l))),[e,t,...r,...a,s,...ke(o)]))(Se(e),t,l,r,n,a,"set",...s),Te=(e,t,l)=>K(e,e=>J(e)?e(l,t):e),ke=e=>{return t=e=>!J(e),e.filter(t);var t},Se=e=>fe(e,0),Re=(e,t)=>ve(b+x,Se(t),1,[e]),Ae=(e,t)=>ve(I,Se(t),1,[e]),Be=(e,t,l,r,n,a)=>((e,t,l,r,n,a)=>ve(y,Se(a),1,[e,t,l,r,n]))(...X(e)?[e.tableId,e.cellId,e.descending??!1,e.offset??0,e.limit,t]:[e,t,l,r,n,a]),qe=(e,t,l,r)=>ve(N,Se(r),5,[e,t,l]),Oe=(e,t)=>ve(v,Se(t),5,[e]),Pe=(e,t,l,r,n,a,s,o)=>we(a,N,r,n,s,o,e,t,l),Ee=(e,t,l,r,n,a)=>we(r,v,t,l,n,a,e),Le=e=>fe(e,2),je=(e,t,l)=>ve("Slice"+I,Le(l),1,[e,t]),Ve=e=>fe(e,3),Je=e=>fe(e,4),Me=(e,t)=>ve(C+b+x,Je(t),1,[e]),Fe=(e,t)=>ve(C+I,Je(t),1,[e]),He=(e,t,l,r=0,n,a)=>ve(C+y,Je(a),1,[e,t,l,r,n]),$e=(e,t,l,r,n,a)=>e==c?t:e==d?l:e==i?r:e==h?n:e==m?a:null,_e=(e,t)=>de(()=>({store:e,tableId:t}),[e,t]),ze=(e,t)=>de(()=>({queries:e,queryId:t}),[e,t]),De=(e,t,l)=>{const r=se(e,t);return l?r:void 0},Ge=(...e)=>de(()=>e,e),Ke=(e,t,l)=>de(()=>{const r=t??e;return n=M(r)?Z(K(r,e=>[e,e])):r,a=(e,t)=>({label:t,component:l,...V(e)?{label:e}:e}),Z(ee(n,(e,t)=>[t,a(e,t)]));var n,a},[t,l,e]),Qe="editable",Ue=(t=[],l,r=0)=>K(t,({component:t},n)=>e("td",{className:S,children:e(t,{...l})},We(n,r))),We=(e,t)=>(t?">":"<")+e,Xe=(t=[],l=0)=>K(t,({label:t},r)=>e("th",{className:S,children:t},We(r,l))),Ye=({cellId:e,sort:[l,r],label:n=e??"",onClick:a})=>t("th",{onClick:De(()=>a?.(e),[a,e],a),className:P(r)||l!=e?void 0:`sorted ${r?"de":"a"}scending`,children:[P(r)||l!=e?null:(r?"↓":"↑")+" ",n]}),Ze=({className:l,headerRow:r,idColumn:n,params:[a,s,o,c,i,d,u,h]})=>t("table",{className:l,children:[h?e("caption",{children:h}):null,!1===r?null:e("thead",{children:t("tr",{children:[Xe(c),!1===n?null:e(Ye,{sort:d??[],label:"Id",onClick:u}),ee(a,({label:t},l)=>e(Ye,{cellId:l,label:t,sort:d??[],onClick:u},l)),Xe(i,1)]})}),e("tbody",{children:K(o,l=>{const r={...s,rowId:l};return t("tr",{children:[Ue(c,r),E(n)?null:e("th",{title:l,children:l}),ee(a,({component:t,getComponentProps:n},a)=>e("td",{children:e(t,{...Ce(n,l,a),...r,cellId:a})},a)),Ue(i,r,1)]},l)})})]}),et=({thing:l,onThingChange:r,className:n,hasSchema:a,showType:s=!0})=>{const[u,C]=he(),[p,b]=he(),[f,g]=he(),[I,y]=he(),[N,x]=he(),[v,w]=he("{}"),[S,R]=he("[]"),[A,B]=he(""),[O,P]=he("");p!==l&&(C((e=>{if(null===e)return"null";if(M(e))return m;if(X(e))return h;const t=o(e);return(e=>e==c||e==i)(t)||t==d&&q(e)?t:void 0})(l)),b(l),X(l)?w(le(l)):M(l)?R(le(l)):(g(l+""),y(Number(l)||0),x(!!l)));const E=se((e,t)=>{t(e),b(e),r(e)},[r]),L=se((e,t,l,n)=>{t(e);try{const t=re(e);l(t)&&(b(t),r(t),n(""))}catch{n("invalid")}},[r]),j=se(()=>{if(!a?.()){const e=$e(u,d,i,h,m,c),t=$e(e,f,I,N,_(()=>re(v),{}),_(()=>re(S),[]));C(e),b(t),r(t)}},[a,r,f,I,N,v,S,u]),V=$e(u,e("input",{value:f,onChange:se(e=>E(e[T][k]+"",g),[E])},u),e("input",{type:"number",value:I,onChange:se(e=>E(Number(e[T][k]||0),y),[E])},u),e("input",{type:"checkbox",checked:N,onChange:se(e=>E(!!e[T].checked,x),[E])},u),e("input",{value:v,className:A,onChange:se(e=>L(e[T][k],w,X,B),[L])},u),e("input",{value:S,className:O,onChange:se(e=>L(e[T][k],R,M,P),[L])},u));return t("div",{className:n,children:[s&&V?e("button",{title:u,className:u,onClick:j,children:u}):null,V]})},tt=({tableId:t,rowId:l,cellId:r,store:n,className:a,showType:s})=>{const[o,c]=((e,t,l,r)=>[qe(e,t,l,r),Pe(e,t,l,$,[],r)])(t,l,r,n);return e(et,{thing:o,onThingChange:c,className:a??Qe+N,showType:s,hasSchema:Se(n)?.hasTablesSchema})},lt=({valueId:t,store:l,className:r,showType:n})=>{const[a,s]=((e,t)=>[Oe(e,t),Ee(e,$,[],t)])(t,l);return e(et,{thing:a,onThingChange:s,className:r??Qe+v,showType:n,hasSchema:Se(l)?.hasValuesSchema})},rt=(e,t)=>K(Re(e,t),t=>e+"."+t),nt=({localRowId:r,params:[n,a,s,o,c,i,d,u,h]})=>{const m=((e,t,l)=>ve("RemoteRowId",Ve(l),5,[e,t]))(c,r,i),C={tableId:s??"",rowId:r,store:d};return t("tr",{children:[Ue(u,C),E(n)?null:t(l,{children:[e("th",{title:r,children:r}),e("th",{title:m,children:m})]}),ee(a,({component:t,getComponentProps:l},n)=>{const[a,c]=((e,t="",l)=>e.split(t,l))(n,".",2),i=a===s?r:a===o?m:void 0;return P(i)?null:e("td",{children:e(t,{...Ce(l,i,c),store:d,tableId:a,rowId:i,cellId:c})},n)}),Ue(h,C,1)]})},at=({relationshipId:r,relationships:a,editable:s,customCells:o,extraCellsBefore:c,extraCellsAfter:i,className:d,headerRow:u,idColumn:h=!0})=>{const[m,C,p,b]=((e,t)=>[e,e?.getStore(),e?.getLocalTableId(t),e?.getRemoteTableId(t)])(Ve(a),r),f=Ke([...rt(p,C),...rt(b,C)],o,s?tt:n),g=Ge(h,f,p,b,r,m,C,c,i);return t("table",{className:d,children:[E(u)?null:e("thead",{children:t("tr",{children:[Xe(c),E(h)?null:t(l,{children:[t("th",{children:[p,".Id"]}),t("th",{children:[b,".Id"]})]}),ee(f,({label:t},l)=>e("th",{children:t},l)),Xe(i,1)]})}),e("tbody",{children:K(Ae(p,C),t=>e(nt,{localRowId:t,params:g},t))})]})},st=(t,l=!1,r,n=0,a,s,o,c)=>{const[[i,d,u],h]=he([t,l,n]),m=se(e=>{h(e),c?.(e)},[c]),C=De(e=>m([e,e==i&&!d,u]),[m,i,d,u],r),p=se(e=>m([i,d,e]),[m,i,d]),b=!0===o?ot:o;return[[i,d,u],C,de(()=>E(o)?null:e(b,{offset:u,limit:a,total:s,onChange:p}),[o,b,u,a,s,p])]},ot=({onChange:r,total:n,offset:a=0,limit:s=n,singular:o="row",plural:c=o+"s"})=>{(a>n||a<0)&&(a=0,r(0));const i=De(()=>r(a-s),[r,a,s],a>0),d=De(()=>r(a+s),[r,a,s],a+s<n);return t(l,{children:[n>s&&t(l,{children:[e("button",{className:"previous",disabled:0==a,onClick:i,children:"←"}),e("button",{className:"next",disabled:a+s>=n,onClick:d,children:"→"}),a+1," to ",B(n,a+s)," of "]}),n," ",1!=n?c:o]})},ct=({queryId:t,cellId:l,descending:r,offset:n,limit:s,queries:o,sortOnClick:c,paginator:i=!1,customCells:d,extraCellsBefore:u,extraCellsAfter:h,onChange:m,...p})=>{const[b,f,I]=st(l,r,c,n,s,((e,t)=>ve(C+g,Je(t),7,[e]))(t,o),i,m);return e(Ze,{...p,params:Ge(Ke(Me(t,o),d,a),ze(o,t),He(t,...b,s,o),u,h,b,f,I)})},it=({queryId:t,queries:l,customCells:r,extraCellsBefore:n,extraCellsAfter:s,...o})=>e(Ze,{...o,params:Ge(Ke(Me(t,l),r,a),ze(l,t),Fe(t,l),n,s)}),dt=({indexId:t,sliceId:l,indexes:r,editable:a,customCells:s,extraCellsBefore:o,extraCellsAfter:c,...i})=>{const[d,u,h]=((e,t)=>[e,e?.getStore(),e?.getTableId(t)])(Le(r),t);return e(Ze,{...i,params:Ge(Ke(Re(h,u),s,a?tt:n),_e(u,h),je(t,l,d),o,c)})},ut=({tableId:t,cellId:l,descending:r,offset:a,limit:s,store:o,editable:c,sortOnClick:i,paginator:d=!1,onChange:u,customCells:h,extraCellsBefore:m,extraCellsAfter:C,...p})=>{const[b,f,I]=st(l,r,i,a,s,((e,t)=>ve(g,Se(t),7,[e]))(t,o),d,u);return e(Ze,{...p,params:Ge(Ke(Re(t,o),h,c?tt:n),_e(o,t),Be(t,...b,s,o),m,C,b,f,I)})},ht=({tableId:t,store:l,editable:r,customCells:a,extraCellsBefore:s,extraCellsAfter:o,...c})=>e(Ze,{...c,params:Ge(Ke(Re(t,l),a,r?tt:n),_e(l,t),Ae(t,l),s,o)}),mt=(t=[],l,r=0)=>K(t,({component:t},n)=>e("td",{className:S,children:e(t,{...l})},We(n,r))),Ct=({store:l,editable:r=!1,valueComponent:n=(r?lt:s),getValueComponentProps:a,extraCellsBefore:o,extraCellsAfter:c,className:i,headerRow:d,idColumn:u})=>{return t("table",{className:i,children:[!1===d?null:e("thead",{children:t("tr",{children:[Xe(o),!1===u?null:e("th",{children:"Id"}),e("th",{children:v}),Xe(c,1)]})}),e("tbody",{children:K((h=l,ve(w,Se(h),1)),r=>{const s={valueId:r,store:l};return t("tr",{children:[mt(o,s),E(u)?null:e("th",{title:r,children:r}),e("td",{children:e(n,{...Ce(a,r),...s})}),mt(c,s,1)]},r)})})]});var h};export{tt as EditableCellView,lt as EditableValueView,nt as RelationshipInHtmlRow,at as RelationshipInHtmlTable,ct as ResultSortedTableInHtmlTable,it as ResultTableInHtmlTable,dt as SliceInHtmlTable,ut as SortedTableInHtmlTable,ot as SortedTablePaginator,ht as TableInHtmlTable,Ct as ValuesInHtmlTable,st as useSortingAndPagination};
1
+ import{jsx as e,jsxs as t,Fragment as l}from"react/jsx-runtime";import r from"react";import{CellView as n,ResultCellView as a,ValueView as s}from"../../ui-react/with-schemas/index.js";const o=e=>typeof e,c=o(""),i=o(!0),d=o(0),u=o(o),h="object",m="array",C="Result",p="Ids",b="Table",f="Row",g=f+"Count",I=f+p,y="Sorted"+f+p,x="Cell",N=x+p,v="Value",w=v+p,S="currentTarget",T="value",k="extra",R=e=>(t,l,r)=>e(t)?r?.():l(t),A=globalThis,B=Number,q=String,O=Boolean,P=Math.min,E=isFinite,L=e=>null==e,j=e=>void 0===e,V=e=>!1===e,J=R(L),M=R(j),F=e=>o(e)==c,H=e=>o(e)==u,$=e=>Array.isArray(e),_=e=>e.length,z=()=>{},D=e=>e,G=(e,t)=>{try{return e()}catch{return t}},K=(e,t)=>e.every(t),Q=(e,t)=>_(e)===_(t)&&K(e,(e,l)=>t[l]===e),U=(e,t)=>$(e)&&$(t)?Q(e,t):e===t,W=(e,t)=>e.map(t),X=Object,Y=e=>X.getPrototypeOf(e),Z=X.entries,ee=e=>!L(e)&&J(Y(e),e=>e==X.prototype||L(Y(e)),()=>!0),te=X.keys,le=(e=[])=>X.fromEntries(e),re=(e,t)=>W(Z(e),([e,l])=>t(l,e)),ne=(e,t,l=(e,t)=>e===t)=>{const r=Z(e);return _(r)===_(te(t))&&K(r,([e,r])=>ee(r)?!!ee(t[e])&&ne(t[e],r,l):l(r,t[e]))},ae=JSON.stringify,se=JSON.parse,{PureComponent:oe,createContext:ce,useCallback:ie,useContext:de,useEffect:ue,useLayoutEffect:he,useMemo:me,useRef:Ce,useState:pe,useSyncExternalStore:be}=r,fe=(e,...t)=>j(e)?{}:e(...t),ge="tinybase_uirc",Ie=A[ge]?A[ge]:A[ge]=ce([]),ye=(e,t)=>{const l=((e,t)=>{const l=de(Ie);return j(e)?l[2*t]:F(e)?((e,t)=>M(e,e=>e[t]))(l[2*t+1],e):e})(e,t);return j(e)||F(e)?l:e},xe=[],Ne=[{},[],[xe,void 0,xe],{},void 0,void 0,!1,0],ve=(e,t)=>e===t||(ee(e)||$(e))&&ae(e)===ae(t),we=[(e,t)=>ne(e,t,ve),Q,([e,t,l],[r,n,a])=>t===n&&Q(e,r)&&Q(l,a),(e,t)=>ne(e,t,U),U,ve],Se=(e,t)=>e===t,Te=(e,t,l,r=xe)=>{const n=Ce(Ne[l]),a=ie(()=>{const a=t?.[(6==l?"has":"get")+e]?.(...r)??Ne[l];return(we[l]??Se)(a,n.current)?n.current:n.current=a},[t,l,e,...r]),s=ie(n=>((e,t,...l)=>{const r=e?.["add"+t+"Listener"]?.(...l);return()=>e?.delListener?.(r)})(t,(6==l?"Has":"")+e,...r,n),[t,l,e,...r]);return be(s,a,a)},ke=(e,t,l,r,n,a,...s)=>((e,t,l,r=xe,n=z,a=xe,s,...o)=>ie(r=>M(e,e=>M(l(r,e),l=>n(e[s+t](...Re(o,e,r),l),l))),[e,t,...r,...a,s,...Ae(o)]))(Be(e),t,l,r,n,a,"set",...s),Re=(e,t,l)=>W(e,e=>H(e)?e(l,t):e),Ae=e=>{return t=e=>!H(e),e.filter(t);var t},Be=e=>ye(e,0),qe=(e,t)=>Te(b+N,Be(t),1,[e]),Oe=(e,t)=>Te(I,Be(t),1,[e]),Pe=(e,t,l,r,n,a)=>((e,t,l,r,n,a)=>Te(y,Be(a),1,[e,t,l,r,n]))(...ee(e)?[e.tableId,e.cellId,e.descending??!1,e.offset??0,e.limit,t]:[e,t,l,r,n,a]),Ee=(e,t,l,r)=>Te(x,Be(r),5,[e,t,l]),Le=(e,t)=>Te(v,Be(t),5,[e]),je=(e,t,l,r,n,a,s,o)=>ke(a,x,r,n,s,o,e,t,l),Ve=(e,t,l,r,n,a)=>ke(r,v,t,l,n,a,e),Je=e=>ye(e,2),Me=(e,t,l)=>Te("Slice"+I,Je(l),1,[e,t]),Fe=e=>ye(e,3),He=e=>ye(e,4),$e=(e,t)=>Te(C+b+N,He(t),1,[e]),_e=(e,t)=>Te(C+I,He(t),1,[e]),ze=(e,t,l,r=0,n,a)=>Te(C+y,He(a),1,[e,t,l,r,n]),De=(e,t,l,r,n,a)=>e==c?t:e==d?l:e==i?r:e==h?n:e==m?a:null,Ge=(e,t)=>me(()=>({store:e,tableId:t}),[e,t]),Ke=(e,t)=>me(()=>({queries:e,queryId:t}),[e,t]),Qe=(e,t,l)=>{const r=ie(e,t);return l?r:void 0},Ue=(...e)=>me(()=>e,e),We=(e,t,l)=>me(()=>{const r=t??e;return n=$(r)?le(W(r,e=>[e,e])):r,a=(e,t)=>({label:t,component:l,...F(e)?{label:e}:e}),le(re(n,(e,t)=>[t,a(e,t)]));var n,a},[t,l,e]),Xe="editable",Ye=(t=[],l,r=0)=>W(t,({component:t},n)=>e("td",{className:k,children:e(t,{...l})},Ze(n,r))),Ze=(e,t)=>(t?">":"<")+e,et=(t=[],l=0)=>W(t,({label:t},r)=>e("th",{className:k,children:t},Ze(r,l))),tt=({cellId:e,sort:[l,r],label:n=e??"",onClick:a})=>t("th",{onClick:Qe(()=>a?.(e),[a,e],a),className:j(r)||l!=e?void 0:`sorted ${r?"de":"a"}scending`,children:[j(r)||l!=e?null:(r?"↓":"↑")+" ",n]}),lt=({className:l,headerRow:r,idColumn:n,params:[a,s,o,c,i,d,u,h]})=>t("table",{className:l,children:[h?e("caption",{children:h}):null,!1===r?null:e("thead",{children:t("tr",{children:[et(c),!1===n?null:e(tt,{sort:d??[],label:"Id",onClick:u}),re(a,({label:t},l)=>e(tt,{cellId:l,label:t,sort:d??[],onClick:u},l)),et(i,1)]})}),e("tbody",{children:W(o,l=>{const r={...s,rowId:l};return t("tr",{children:[Ye(c,r),V(n)?null:e("th",{title:l,children:l}),re(a,({component:t,getComponentProps:n},a)=>e("td",{children:e(t,{...fe(n,l,a),...r,cellId:a})},a)),Ye(i,r,1)]},l)})})]}),rt=({thing:l,onThingChange:r,className:n,hasSchema:a,showType:s=!0})=>{const[u,C]=pe(),[p,b]=pe(),[f,g]=pe(),[I,y]=pe(),[x,N]=pe(),[v,w]=pe("{}"),[k,R]=pe("[]"),[A,P]=pe(""),[L,j]=pe("");p!==l&&(C((e=>{if(null===e)return"null";if($(e))return m;if(ee(e))return h;const t=o(e);return(e=>e==c||e==i)(t)||t==d&&E(e)?t:void 0})(l)),b(l),ee(l)?w(ae(l)):$(l)?R(ae(l)):(g(q(l)),y(B(l)||0),N(O(l))));const V=ie((e,t)=>{t(e),b(e),r(e)},[r]),J=ie((e,t,l,n)=>{t(e);try{const t=se(e);l(t)&&(b(t),r(t),n(""))}catch{n("invalid")}},[r]),M=ie(()=>{if(!a?.()){const e=De(u,d,i,h,m,c),t=De(e,f,I,x,G(()=>se(v),{}),G(()=>se(k),[]));C(e),b(t),r(t)}},[a,r,f,I,x,v,k,u]),F=De(u,e("input",{value:f,onChange:ie(e=>V(q(e[S][T]),g),[V])},u),e("input",{type:"number",value:I,onChange:ie(e=>V(B(e[S][T]||0),y),[V])},u),e("input",{type:"checkbox",checked:x,onChange:ie(e=>V(O(e[S].checked),N),[V])},u),e("input",{value:v,className:A,onChange:ie(e=>J(e[S][T],w,ee,P),[J])},u),e("input",{value:k,className:L,onChange:ie(e=>J(e[S][T],R,$,j),[J])},u));return t("div",{className:n,children:[s&&F?e("button",{title:u,className:u,onClick:M,children:u}):null,F]})},nt=({tableId:t,rowId:l,cellId:r,store:n,className:a,showType:s})=>{const[o,c]=((e,t,l,r)=>[Ee(e,t,l,r),je(e,t,l,D,[],r)])(t,l,r,n);return e(rt,{thing:o,onThingChange:c,className:a??Xe+x,showType:s,hasSchema:Be(n)?.hasTablesSchema})},at=({valueId:t,store:l,className:r,showType:n})=>{const[a,s]=((e,t)=>[Le(e,t),Ve(e,D,[],t)])(t,l);return e(rt,{thing:a,onThingChange:s,className:r??Xe+v,showType:n,hasSchema:Be(l)?.hasValuesSchema})},st=(e,t)=>W(qe(e,t),t=>e+"."+t),ot=({localRowId:r,params:[n,a,s,o,c,i,d,u,h]})=>{const m=((e,t,l)=>Te("RemoteRowId",Fe(l),5,[e,t]))(c,r,i),C={tableId:s??"",rowId:r,store:d};return t("tr",{children:[Ye(u,C),V(n)?null:t(l,{children:[e("th",{title:r,children:r}),e("th",{title:m,children:m})]}),re(a,({component:t,getComponentProps:l},n)=>{const[a,c]=((e,t="",l)=>e.split(t,l))(n,".",2),i=a===s?r:a===o?m:void 0;return j(i)?null:e("td",{children:e(t,{...fe(l,i,c),store:d,tableId:a,rowId:i,cellId:c})},n)}),Ye(h,C,1)]})},ct=({relationshipId:r,relationships:a,editable:s,customCells:o,extraCellsBefore:c,extraCellsAfter:i,className:d,headerRow:u,idColumn:h=!0})=>{const[m,C,p,b]=((e,t)=>[e,e?.getStore(),e?.getLocalTableId(t),e?.getRemoteTableId(t)])(Fe(a),r),f=We([...st(p,C),...st(b,C)],o,s?nt:n),g=Ue(h,f,p,b,r,m,C,c,i);return t("table",{className:d,children:[V(u)?null:e("thead",{children:t("tr",{children:[et(c),V(h)?null:t(l,{children:[t("th",{children:[p,".Id"]}),t("th",{children:[b,".Id"]})]}),re(f,({label:t},l)=>e("th",{children:t},l)),et(i,1)]})}),e("tbody",{children:W(Oe(p,C),t=>e(ot,{localRowId:t,params:g},t))})]})},it=(t,l=!1,r,n=0,a,s,o,c)=>{const[[i,d,u],h]=pe([t,l,n]),m=ie(e=>{h(e),c?.(e)},[c]),C=Qe(e=>m([e,e==i&&!d,u]),[m,i,d,u],r),p=ie(e=>m([i,d,e]),[m,i,d]),b=!0===o?dt:o;return[[i,d,u],C,me(()=>V(o)?null:e(b,{offset:u,limit:a,total:s,onChange:p}),[o,b,u,a,s,p])]},dt=({onChange:r,total:n,offset:a=0,limit:s=n,singular:o="row",plural:c=o+"s"})=>{(a>n||a<0)&&(a=0,r(0));const i=Qe(()=>r(a-s),[r,a,s],a>0),d=Qe(()=>r(a+s),[r,a,s],a+s<n);return t(l,{children:[n>s&&t(l,{children:[e("button",{className:"previous",disabled:0==a,onClick:i,children:"←"}),e("button",{className:"next",disabled:a+s>=n,onClick:d,children:"→"}),a+1," to ",P(n,a+s)," of "]}),n," ",1!=n?c:o]})},ut=({queryId:t,cellId:l,descending:r,offset:n,limit:s,queries:o,sortOnClick:c,paginator:i=!1,customCells:d,extraCellsBefore:u,extraCellsAfter:h,onChange:m,...p})=>{const[b,f,I]=it(l,r,c,n,s,((e,t)=>Te(C+g,He(t),7,[e]))(t,o),i,m);return e(lt,{...p,params:Ue(We($e(t,o),d,a),Ke(o,t),ze(t,...b,s,o),u,h,b,f,I)})},ht=({queryId:t,queries:l,customCells:r,extraCellsBefore:n,extraCellsAfter:s,...o})=>e(lt,{...o,params:Ue(We($e(t,l),r,a),Ke(l,t),_e(t,l),n,s)}),mt=({indexId:t,sliceId:l,indexes:r,editable:a,customCells:s,extraCellsBefore:o,extraCellsAfter:c,...i})=>{const[d,u,h]=((e,t)=>[e,e?.getStore(),e?.getTableId(t)])(Je(r),t);return e(lt,{...i,params:Ue(We(qe(h,u),s,a?nt:n),Ge(u,h),Me(t,l,d),o,c)})},Ct=({tableId:t,cellId:l,descending:r,offset:a,limit:s,store:o,editable:c,sortOnClick:i,paginator:d=!1,onChange:u,customCells:h,extraCellsBefore:m,extraCellsAfter:C,...p})=>{const[b,f,I]=it(l,r,i,a,s,((e,t)=>Te(g,Be(t),7,[e]))(t,o),d,u);return e(lt,{...p,params:Ue(We(qe(t,o),h,c?nt:n),Ge(o,t),Pe(t,...b,s,o),m,C,b,f,I)})},pt=({tableId:t,store:l,editable:r,customCells:a,extraCellsBefore:s,extraCellsAfter:o,...c})=>e(lt,{...c,params:Ue(We(qe(t,l),a,r?nt:n),Ge(l,t),Oe(t,l),s,o)}),bt=(t=[],l,r=0)=>W(t,({component:t},n)=>e("td",{className:k,children:e(t,{...l})},Ze(n,r))),ft=({store:l,editable:r=!1,valueComponent:n=(r?at:s),getValueComponentProps:a,extraCellsBefore:o,extraCellsAfter:c,className:i,headerRow:d,idColumn:u})=>{return t("table",{className:i,children:[!1===d?null:e("thead",{children:t("tr",{children:[et(o),!1===u?null:e("th",{children:"Id"}),e("th",{children:v}),et(c,1)]})}),e("tbody",{children:W((h=l,Te(w,Be(h),1)),r=>{const s={valueId:r,store:l};return t("tr",{children:[bt(o,s),V(u)?null:e("th",{title:r,children:r}),e("td",{children:e(n,{...fe(a,r),...s})}),bt(c,s,1)]},r)})})]});var h};export{nt as EditableCellView,at as EditableValueView,ot as RelationshipInHtmlRow,ct as RelationshipInHtmlTable,ut as ResultSortedTableInHtmlTable,ht as ResultTableInHtmlTable,mt as SliceInHtmlTable,Ct as SortedTableInHtmlTable,dt as SortedTablePaginator,pt as TableInHtmlTable,ft as ValuesInHtmlTable,it as useSortingAndPagination};
@@ -0,0 +1 @@
1
+ import{jsxs as e,jsx as t,Fragment as i}from"react/jsx-runtime";import n from"react";const s=e=>typeof e,r=s(""),o=s(0),l="Result",a="SortedRowIds",c="Cell",d=Math,u=e=>(t,i,n)=>e(t)?n?.():i(t),p=globalThis,h=d.max,m=d.min,x=d.ceil,y=d.floor,k=d.pow,f=d.round,g=d.abs,N=d.log10,$=1/0,b=Number.EPSILON,T=isFinite,M=Number.isInteger,v=e=>null==e,I=e=>void 0===e,C=u(v),S=u(I),O=e=>s(e)==r,P=e=>s(e)==o,F=e=>Array.isArray(e),w=e=>e.length,z=(e,t)=>q(Array(e).fill(0),(e,i)=>t(i)),A=(e,t)=>e.indexOf(t),L=(e,t)=>e.every(t),W=(e,t)=>w(e)===w(t)&&L(e,(e,i)=>t[i]===e),E=(e,t)=>F(e)&&F(t)?W(e,t):e===t,R=(e,t)=>e.forEach(t),G=(e,t="")=>e.join(t),q=(e,t)=>e.map(t),B=e=>0==w(e),H=(e,t)=>e.filter(t),{PureComponent:j,createContext:Q,useCallback:D,useContext:J,useEffect:V,useLayoutEffect:Z,useMemo:_,useRef:K,useState:U,useSyncExternalStore:X}=n,Y=[1e3,1e3],ee=[.5,.5,.25,3.5,4,1,1],te=()=>{const e=K(null),[t,i]=U([Y,re(12)]);return Z(()=>{const t=e.current;if(null===t)return;const n=new ResizeObserver(([e])=>(({contentRect:e})=>{const n=t.ownerDocument.defaultView?.getComputedStyle(t),s=[le(e),oe(n)];i(e=>ae(e,s)?e:s)})(e));return n.observe(t),()=>n.disconnect()},[]),[e,...t]},ie=([,e,t])=>{const[,,i,n]=se(e,t);return[i,n]},ne=([,,e])=>e[6],se=([e,t],[,,,i,n,s,r])=>{const o=s+h(m(n,e/2-2*s),0),l=s+r/2,a=s+r/2,c=h(t-l-h(m(i,t/2-l-s),0)-s,0);return[o,l,h(e-o-a,0),c]},re=e=>q(ee,t=>t*e),oe=e=>{const t=parseFloat(e?.fontSize??"");return re(T(t)?t:12)},le=({width:e,height:t})=>[f(e)||Y[0],f(t)||Y[1]],ae=([e,t],[i,n])=>W(e,i)&&W(t,n),ce="currentColor",de=e=>e?.size??0,ue=[1,5,2,2.5,4,3],pe=(e,t,i,n,s,r)=>{let o=[e,t],l=-2;const a=t-e;for(let c=1;c<$;c++)for(const d of ue){const u=1-A(ue,d)/h(w(ue)-1,1)-c+1;if(.25*u+.2+.5+.05<l)return o;for(let p=2;p<$;p++){const T=p>=i?2-(p-1)/(i-1):1;if(.25*u+.2+.5*T+.05<l)break;for(let M=x(N(a/(p+1)/c/d));M<$;M++){const a=c*d*k(10,M);if(.25*u+.2*(a*(p-1)<=t-e?1:1-k((a*(p-1)-(t-e))/2,2)/k(.1*(t-e),2))+.5*T+.05<l)break;const N=y(t/a)*c-(p-1)*c,$=x(e/a)*c;N<=$&&R(z($-N+1,e=>N+e),u=>{const x=u*(a/c),N=x+a*(p-1),$=(p-1)/(N-x),T=(i-1)/(h(N,t)-m(e,x)),M=s/(p-1),v=.25*(1-A(ue,d)/h(w(ue)-1,1)-c+(g(x/a-f(x/a))<100*b&&x<=0&&N>=0?1:0))+.2*(1-(k(t-N,2)+k(e-x,2))/(2*k(.1*(t-e),2)))+.5*(2-h($/T,T/$))+.05*(M<1.2*n?-1/0:m(M,1))+(r&&(g(a-f(a))>100*b||g(x-f(x))>100*b)?-1:0);v>l&&(o=z(y((N-x)/a+.5)+1,e=>f(1e6*(x+e*a))/1e6),l=v)})}}}return o},he=(e,t,[i,n,s,r],[o,l])=>{const a="line"==e&&B(H(t,([,e])=>!P(e))),c=a?[i,n]:[0,0],d=[s??0,r??0],u=new Map;return R(t,([,e])=>{u.has(e)||u.set(e,de(u))}),q(t,([t,i,n])=>[t,i,n,me(i,a,c,u,o,e),xe(n,d,l)])},me=(e,t,[i,n],s,r,o)=>t?ye(e,i,n,r):"bar"==o?r*((s.get(e)??0)+.5)/de(s):ye(s.get(e)??0,0,de(s)-1,r),xe=(e,[t,i],n)=>n-ye(e,t,i,n),ye=(e,t,i,n)=>t==i?n/2:fe(n*(e-t)/(i-t)),ke=e=>{const t=m(...e);return t==$?[0,0]:[t,h(...e)]},fe=e=>f(1e6*e)/1e6,ge=({points:i,xTicks:n,xMin:s,xMax:r,xTitle:o,plotFrame:l,tickSize:a,tickGap:c,axisHeight:d,fontSize:u})=>{const[p,m,x,y]=l,k=h(d-a-c-2*u,0);return e("g",{className:"x",dominantBaseline:"hanging",textAnchor:"middle",children:[t("path",{className:"line",d:`M${p},${m+y}h${x}`,fill:"none",stroke:ce,strokeOpacity:.5,strokeWidth:1}),t("g",{className:"ticks",children:!B(n)&&P(s)&&P(r)?q(n,e=>{const i=ye(e,s,r,x);return t("text",{x:p+i,y:m+y+a+c,children:e},e)}):q(i,([e,i,,n])=>t("text",{x:p+n,y:m+y+a+c,children:i},e))}),t("text",{className:"title",x:p+x/2,y:m+y+a+c+u+k,children:o})]})},Ne=({yTicks:i,yMin:n,yMax:s,yTitle:r,plotFrame:o,tickSize:l,tickGap:a,axisWidth:c})=>{const[d,u,,p]=o;return v(n)||v(s)?null:e("g",{className:"y",children:[t("path",{className:"line",d:`M${d},${u}v${p}`,fill:"none",stroke:ce,strokeOpacity:.5,strokeWidth:1}),t("g",{className:"ticks",dominantBaseline:"middle",textAnchor:"end",children:q(i,e=>{const i=p-ye(e,n,s,p);return t("text",{x:d-l-a,y:u+i,children:e},e)})}),t("text",{className:"title",dominantBaseline:"text-before-edge",textAnchor:"middle",transform:`translate(${d-c} ${o[1]+o[3]/2}) rotate(-90)`,children:r})]})},$e=({points:i,xTicks:n,yTicks:s,bounds:[r,o,l,a],titles:[c,d],xAxisHeight:u,yAxisWidth:p,fontSize:h,...m})=>e("g",{className:"axes",fill:ce,fillOpacity:.75,children:[t(Ne,{...m,yTicks:s,yMin:l,yMax:a,yTitle:d,axisWidth:p}),t(ge,{...m,points:i,xTicks:n,xMin:r,xMax:o,xTitle:c,axisHeight:u,fontSize:h})]}),be=({points:i,xTicks:n,yTicks:s,bounds:[r,o,l,a],plotFrame:c,tickSize:d})=>{const[u,p,h,m]=c;return e("g",{className:"grid",stroke:ce,strokeOpacity:.75,strokeWidth:.5,children:[v(l)||v(a)?null:t("path",{className:"y",d:G(q(H(s,e=>0!=ye(e,l,a,m)),e=>`M${u-d},${p+m-ye(e,l,a,m)}h${h+d}`)," ")}),!B(n)&&P(r)&&P(o)?t("path",{className:"x",d:G(q(H(n,e=>0!=ye(e,r,o,h)),e=>`M${u+ye(e,r,o,h)},${p}v${m+d}`)," ")}):t("path",{className:"x",d:G(q(H(i,([,,,e])=>0!=e),([,,,e])=>`M${u+e},${p}v${m+d}`)," ")})]})},Te=({getMark:e,points:i,setTooltipPoint:n})=>q(i,(i,s)=>{const[r]=i;return t("g",{onPointerEnter:()=>n(i),onPointerLeave:()=>n(void 0),children:e(i,s)},r)}),Me=({points:e,plotFrame:i,barGap:n,setTooltipPoint:s,yMin:r=0,yMax:o=0})=>{const[l,a,c,d]=i,u=d-ye(0,r,o,d),p=w(e),x=B(e)?0:c/p,y=B(e)?0:h(x-n,0);return t(Te,{points:e,getMark:([,,,e,i])=>{const n=m(i,u);return t("rect",{className:"bar",fill:ce,x:l+e-y/2,y:a+n,width:y,height:g(u-i)})},setTooltipPoint:s})},ve=({plotFrame:n,points:s,setTooltipPoint:r})=>{const[o,l,,a]=n;return e(i,{children:[t("path",{className:"area",d:Ce(s,o,l,a),fill:ce,fillOpacity:.25,stroke:"none"}),t("path",{className:"line",d:Ie(s,o,l),fill:"none",stroke:ce,strokeOpacity:.75,strokeWidth:2}),t("g",{className:"points",fill:ce,children:q(s,e=>{const[i,,,n,s]=e;return t("circle",{cx:o+n,cy:l+s,onPointerEnter:()=>r(e),onPointerLeave:()=>r(void 0),r:5},i)})})]})},Ie=(e,t,i)=>G(q(e,([,,,e,n],s)=>`${0==s?"M":"L"}${t+e},${i+n}`)," "),Ce=(e,t,i,n)=>B(e)?"":`${Ie(e,t,i)} L${t+e[w(e)-1][3]},${i+n} L${t+e[0][3]},${i+n} Z`,Se=({kind:e,points:i,plotFrame:n,barGap:s,setTooltipPoint:r,bounds:[,,o,l]})=>{const a={points:i,setTooltipPoint:r};return t("g",{className:"plot",children:"line"==e?t(ve,{...a,plotFrame:n}):t(Me,{...a,plotFrame:n,barGap:s,yMin:o,yMax:l})})},Oe=({point:n,width:s,height:r,plotFrame:o,titles:[l,a]})=>{if(v(n))return null;const[,c,d,u,p]=n,[x,y]=o,k=u+12+160>s?u-12-160:u+12,f=h(m(p-12-60,r-60),0);return e(i,{children:[t("path",{className:"tooltip-lines",pointerEvents:"none",stroke:ce,strokeOpacity:.25,strokeWidth:1,d:`M${x+u},${y}v${r}M${x},${y+p}h${s}`}),e("g",{className:"tooltip",transform:`translate(${x+k} ${y+f})`,fill:ce,children:[t("rect",{fillOpacity:.25,width:160,height:60,rx:4}),e("text",{x:12,y:22,children:[l,": ",c]}),e("text",{x:12,y:46,children:[a,": ",d]})]})]})},Pe=({className:i,kind:n,titles:s,layout:[r,o,l],...a})=>{const[c,d]=o,u=se(o,l),[,,p,h]=u,[m,x,y,k,f,,g]=l,[N,$]=U(),b={...a,plotFrame:u};return e("svg",{className:i,preserveAspectRatio:"none",ref:r,viewBox:`0 0 ${c} ${d}`,children:[t(be,{...b,tickSize:m}),t($e,{...b,titles:s,tickSize:m,tickGap:x,xAxisHeight:k,yAxisWidth:f,fontSize:g}),t(Se,{...b,kind:n,barGap:y,setTooltipPoint:$}),t(Oe,{point:N,width:p,height:h,plotFrame:u,titles:s})]})},Fe=({className:e,kind:i,xCellId:n,yCellId:s})=>{const r=te();return t(Pe,{className:e,kind:i,points:[],bounds:[],titles:[n,s],xTicks:[],yTicks:[],layout:r})},we=Object,ze=e=>we.getPrototypeOf(e),Ae=we.entries,Le=e=>!v(e)&&C(ze(e),e=>e==we.prototype||v(ze(e)),()=>!0),We=we.keys,Ee=(e,t,i=(e,t)=>e===t)=>{const n=Ae(e);return w(n)===w(We(t))&&L(n,([e,n])=>Le(n)?!!Le(t[e])&&Ee(t[e],n,i):i(n,t[e]))},Re=JSON.stringify,Ge="tinybase_uirc",qe=p[Ge]?p[Ge]:p[Ge]=Q([]),Be=(e,t)=>{const i=((e,t)=>{const i=J(qe);return I(e)?i[2*t]:O(e)?((e,t)=>S(e,e=>e[t]))(i[2*t+1],e):e})(e,t);return I(e)||O(e)?i:e},He=[],je=[{},[],[He,void 0,He],{},void 0,void 0,!1,0],Qe=(e,t)=>e===t||(Le(e)||F(e))&&Re(e)===Re(t),De=[(e,t)=>Ee(e,t,Qe),W,([e,t,i],[n,s,r])=>t===s&&W(e,n)&&W(i,r),(e,t)=>Ee(e,t,E),E,Qe],Je=(e,t)=>e===t,Ve=(e,t,...i)=>{const n=e?.["add"+t+"Listener"]?.(...i);return()=>e?.delListener?.(n)},Ze=(e,t,i,n=He)=>{const s=K(je[i]),r=D(()=>{const r=t?.["get"+e]?.(...n)??je[i];return(De[i]??Je)(r,s.current)?s.current:s.current=r},[t,i,e,...n]),o=D(i=>Ve(t,""+e,...n,i),[t,i,e,...n]);return X(o,r,r)},_e=(e,t,i,n=He,s=He,...r)=>Z(()=>Ve(t,e,...s,i,...r),[t,e,...s,...n,...r]),Ke=e=>Be(e,0),Ue=(e,t,i,n,s,r,o)=>_e(c,Ke(o),n,s,[e,t,i],r),Xe=e=>Be(e,4),Ye=(e,t,i,n,s,r)=>_e(l+c,Xe(r),n,s,[e,t,i]),et=(e,t,i,n,s,r)=>{const[,o]=U(),l=D(()=>o([]),[o]),a=(e=>H(q(e,e=>((e,t,i)=>{const n=P(r=t)?T(r)?r:void 0:O(r)?r:void 0,s=(e=>P(e)&&T(e)?e:void 0)(i);var r;return I(n)||I(s)?void 0:[e,n,s]})(e,s(e),r(e))),e=>!I(e)))(t),c=((e,t)=>{if(B(t))return[];const[i,n]=((e,t="bar")=>ke([..."bar"==t?[0]:[],...q(e,([,,e])=>e)]))(t,e);if(B(H(t,([,e])=>!P(e)))){const[e,s]=ke(q(t,([,e])=>e));return[e,s,i,n]}return[t[0]?.[1],t[w(t)-1]?.[1],i,n]})(e,a),d=((e,[t,i],[n],s)=>"line"==e&&P(t)&&P(i)&&t!=i?pe(t,i,10,s,n,M(t)&&M(i)):[])(e,c,i,n),u=(([,,e,t],[,i],n)=>I(e)||I(t)?[]:e==t?[e]:pe(e,t,10,n,i,M(e)&&M(t)))(c,i,n),p=(([e,t,i,n],s,r)=>[B(s)?e:m(e,s[0]),B(s)?t:h(t,s[w(s)-1]),B(r)?i:m(i??$,r[0]),B(r)?n:h(n??-1/0,r[w(r)-1])])(c,d,u);return[l,he(e,a,p,i),p,d,u]},tt=({descending:e,className:i,kind:n,limit:s,offset:r,queriesOrQueriesId:o,queryId:c,sortCellId:d,xCellId:u,yCellId:p})=>{const h=te(),m=Xe(o),x=((e,t,i,n=0,s,r)=>Ze(l+a,Xe(r),1,[e,t,i,n,s]))(c,d??u,e,r,s,o),[y,k,f,g,N]=et(n,x,ie(h),ne(h),e=>m?.getResultCell(c,e,u),e=>m?.getResultCell(c,e,p));return Ye(c,null,u,y,[y],m),Ye(c,null,p,y,[y],m),t(Pe,{className:i,kind:n,points:k,bounds:f,titles:[u,p],xTicks:g,yTicks:N,layout:h})},it=({descending:e,className:i,kind:n,limit:s,offset:r,sortCellId:o,storeOrStoreId:l,tableId:c,xCellId:d,yCellId:u})=>{const p=te(),h=Ke(l),m=((e,t,i,n,s,r)=>((e,t,i,n,s,r)=>Ze(a,Ke(r),1,[e,t,i,n,s]))(...Le(e)?[e.tableId,e.cellId,e.descending??!1,e.offset??0,e.limit,t]:[e,t,i,n,s,r]))(c,o??d,e,r,s,l),[x,y,k,f,g]=et(n,m,ie(p),ne(p),e=>h?.getCell(c,e,d),e=>h?.getCell(c,e,u));return Ue(c,null,d,x,[x],!1,l),Ue(c,null,u,x,[x],!1,l),t(Pe,{className:i,kind:n,points:y,bounds:k,titles:[d,u],xTicks:f,yTicks:g,layout:p})},nt=({className:e,store:i,tableId:n,queries:s,queryId:r,...o})=>I(n)?I(r)?t(Fe,{...o,className:e}):t(tt,{...o,className:e,queriesOrQueriesId:s,queryId:r}):t(it,{...o,className:e,storeOrStoreId:i,tableId:n}),st=e=>t(nt,{...e,kind:"bar"}),rt=e=>t(nt,{...e,kind:"line"});export{st as BarChart,rt as LineChart};
@@ -0,0 +1 @@
1
+ import{jsxs as e,jsx as t,Fragment as i}from"react/jsx-runtime";import n from"react";const s=e=>typeof e,r=s(""),o=s(0),l="Result",a="SortedRowIds",c="Cell",d=Math,u=e=>(t,i,n)=>e(t)?n?.():i(t),p=globalThis,h=d.max,m=d.min,x=d.ceil,y=d.floor,k=d.pow,f=d.round,g=d.abs,N=d.log10,$=1/0,b=Number.EPSILON,T=isFinite,M=Number.isInteger,v=e=>null==e,I=e=>void 0===e,C=u(v),S=u(I),O=e=>s(e)==r,P=e=>s(e)==o,F=e=>Array.isArray(e),w=e=>e.length,z=(e,t)=>q(Array(e).fill(0),(e,i)=>t(i)),A=(e,t)=>e.indexOf(t),L=(e,t)=>e.every(t),W=(e,t)=>w(e)===w(t)&&L(e,(e,i)=>t[i]===e),E=(e,t)=>F(e)&&F(t)?W(e,t):e===t,R=(e,t)=>e.forEach(t),G=(e,t="")=>e.join(t),q=(e,t)=>e.map(t),B=e=>0==w(e),H=(e,t)=>e.filter(t),{PureComponent:j,createContext:Q,useCallback:D,useContext:J,useEffect:V,useLayoutEffect:Z,useMemo:_,useRef:K,useState:U,useSyncExternalStore:X}=n,Y=[1e3,1e3],ee=[.5,.5,.25,3.5,4,1,1],te=()=>{const e=K(null),[t,i]=U([Y,re(12)]);return Z(()=>{const t=e.current;if(null===t)return;const n=new ResizeObserver(([e])=>(({contentRect:e})=>{const n=t.ownerDocument.defaultView?.getComputedStyle(t),s=[le(e),oe(n)];i(e=>ae(e,s)?e:s)})(e));return n.observe(t),()=>n.disconnect()},[]),[e,...t]},ie=([,e,t])=>{const[,,i,n]=se(e,t);return[i,n]},ne=([,,e])=>e[6],se=([e,t],[,,,i,n,s,r])=>{const o=s+h(m(n,e/2-2*s),0),l=s+r/2,a=s+r/2,c=h(t-l-h(m(i,t/2-l-s),0)-s,0);return[o,l,h(e-o-a,0),c]},re=e=>q(ee,t=>t*e),oe=e=>{const t=parseFloat(e?.fontSize??"");return re(T(t)?t:12)},le=({width:e,height:t})=>[f(e)||Y[0],f(t)||Y[1]],ae=([e,t],[i,n])=>W(e,i)&&W(t,n),ce="currentColor",de=e=>e?.size??0,ue=[1,5,2,2.5,4,3],pe=(e,t,i,n,s,r)=>{let o=[e,t],l=-2;const a=t-e;for(let c=1;c<$;c++)for(const d of ue){const u=1-A(ue,d)/h(w(ue)-1,1)-c+1;if(.25*u+.2+.5+.05<l)return o;for(let p=2;p<$;p++){const T=p>=i?2-(p-1)/(i-1):1;if(.25*u+.2+.5*T+.05<l)break;for(let M=x(N(a/(p+1)/c/d));M<$;M++){const a=c*d*k(10,M);if(.25*u+.2*(a*(p-1)<=t-e?1:1-k((a*(p-1)-(t-e))/2,2)/k(.1*(t-e),2))+.5*T+.05<l)break;const N=y(t/a)*c-(p-1)*c,$=x(e/a)*c;N<=$&&R(z($-N+1,e=>N+e),u=>{const x=u*(a/c),N=x+a*(p-1),$=(p-1)/(N-x),T=(i-1)/(h(N,t)-m(e,x)),M=s/(p-1),v=.25*(1-A(ue,d)/h(w(ue)-1,1)-c+(g(x/a-f(x/a))<100*b&&x<=0&&N>=0?1:0))+.2*(1-(k(t-N,2)+k(e-x,2))/(2*k(.1*(t-e),2)))+.5*(2-h($/T,T/$))+.05*(M<1.2*n?-1/0:m(M,1))+(r&&(g(a-f(a))>100*b||g(x-f(x))>100*b)?-1:0);v>l&&(o=z(y((N-x)/a+.5)+1,e=>f(1e6*(x+e*a))/1e6),l=v)})}}}return o},he=(e,t,[i,n,s,r],[o,l])=>{const a="line"==e&&B(H(t,([,e])=>!P(e))),c=a?[i,n]:[0,0],d=[s??0,r??0],u=new Map;return R(t,([,e])=>{u.has(e)||u.set(e,de(u))}),q(t,([t,i,n])=>[t,i,n,me(i,a,c,u,o,e),xe(n,d,l)])},me=(e,t,[i,n],s,r,o)=>t?ye(e,i,n,r):"bar"==o?r*((s.get(e)??0)+.5)/de(s):ye(s.get(e)??0,0,de(s)-1,r),xe=(e,[t,i],n)=>n-ye(e,t,i,n),ye=(e,t,i,n)=>t==i?n/2:fe(n*(e-t)/(i-t)),ke=e=>{const t=m(...e);return t==$?[0,0]:[t,h(...e)]},fe=e=>f(1e6*e)/1e6,ge=({points:i,xTicks:n,xMin:s,xMax:r,xTitle:o,plotFrame:l,tickSize:a,tickGap:c,axisHeight:d,fontSize:u})=>{const[p,m,x,y]=l,k=h(d-a-c-2*u,0);return e("g",{className:"x",dominantBaseline:"hanging",textAnchor:"middle",children:[t("path",{className:"line",d:`M${p},${m+y}h${x}`,fill:"none",stroke:ce,strokeOpacity:.5,strokeWidth:1}),t("g",{className:"ticks",children:!B(n)&&P(s)&&P(r)?q(n,e=>{const i=ye(e,s,r,x);return t("text",{x:p+i,y:m+y+a+c,children:e},e)}):q(i,([e,i,,n])=>t("text",{x:p+n,y:m+y+a+c,children:i},e))}),t("text",{className:"title",x:p+x/2,y:m+y+a+c+u+k,children:o})]})},Ne=({yTicks:i,yMin:n,yMax:s,yTitle:r,plotFrame:o,tickSize:l,tickGap:a,axisWidth:c})=>{const[d,u,,p]=o;return v(n)||v(s)?null:e("g",{className:"y",children:[t("path",{className:"line",d:`M${d},${u}v${p}`,fill:"none",stroke:ce,strokeOpacity:.5,strokeWidth:1}),t("g",{className:"ticks",dominantBaseline:"middle",textAnchor:"end",children:q(i,e=>{const i=p-ye(e,n,s,p);return t("text",{x:d-l-a,y:u+i,children:e},e)})}),t("text",{className:"title",dominantBaseline:"text-before-edge",textAnchor:"middle",transform:`translate(${d-c} ${o[1]+o[3]/2}) rotate(-90)`,children:r})]})},$e=({points:i,xTicks:n,yTicks:s,bounds:[r,o,l,a],titles:[c,d],xAxisHeight:u,yAxisWidth:p,fontSize:h,...m})=>e("g",{className:"axes",fill:ce,fillOpacity:.75,children:[t(Ne,{...m,yTicks:s,yMin:l,yMax:a,yTitle:d,axisWidth:p}),t(ge,{...m,points:i,xTicks:n,xMin:r,xMax:o,xTitle:c,axisHeight:u,fontSize:h})]}),be=({points:i,xTicks:n,yTicks:s,bounds:[r,o,l,a],plotFrame:c,tickSize:d})=>{const[u,p,h,m]=c;return e("g",{className:"grid",stroke:ce,strokeOpacity:.75,strokeWidth:.5,children:[v(l)||v(a)?null:t("path",{className:"y",d:G(q(H(s,e=>0!=ye(e,l,a,m)),e=>`M${u-d},${p+m-ye(e,l,a,m)}h${h+d}`)," ")}),!B(n)&&P(r)&&P(o)?t("path",{className:"x",d:G(q(H(n,e=>0!=ye(e,r,o,h)),e=>`M${u+ye(e,r,o,h)},${p}v${m+d}`)," ")}):t("path",{className:"x",d:G(q(H(i,([,,,e])=>0!=e),([,,,e])=>`M${u+e},${p}v${m+d}`)," ")})]})},Te=({getMark:e,points:i,setTooltipPoint:n})=>q(i,(i,s)=>{const[r]=i;return t("g",{onPointerEnter:()=>n(i),onPointerLeave:()=>n(void 0),children:e(i,s)},r)}),Me=({points:e,plotFrame:i,barGap:n,setTooltipPoint:s,yMin:r=0,yMax:o=0})=>{const[l,a,c,d]=i,u=d-ye(0,r,o,d),p=w(e),x=B(e)?0:c/p,y=B(e)?0:h(x-n,0);return t(Te,{points:e,getMark:([,,,e,i])=>{const n=m(i,u);return t("rect",{className:"bar",fill:ce,x:l+e-y/2,y:a+n,width:y,height:g(u-i)})},setTooltipPoint:s})},ve=({plotFrame:n,points:s,setTooltipPoint:r})=>{const[o,l,,a]=n;return e(i,{children:[t("path",{className:"area",d:Ce(s,o,l,a),fill:ce,fillOpacity:.25,stroke:"none"}),t("path",{className:"line",d:Ie(s,o,l),fill:"none",stroke:ce,strokeOpacity:.75,strokeWidth:2}),t("g",{className:"points",fill:ce,children:q(s,e=>{const[i,,,n,s]=e;return t("circle",{cx:o+n,cy:l+s,onPointerEnter:()=>r(e),onPointerLeave:()=>r(void 0),r:5},i)})})]})},Ie=(e,t,i)=>G(q(e,([,,,e,n],s)=>`${0==s?"M":"L"}${t+e},${i+n}`)," "),Ce=(e,t,i,n)=>B(e)?"":`${Ie(e,t,i)} L${t+e[w(e)-1][3]},${i+n} L${t+e[0][3]},${i+n} Z`,Se=({kind:e,points:i,plotFrame:n,barGap:s,setTooltipPoint:r,bounds:[,,o,l]})=>{const a={points:i,setTooltipPoint:r};return t("g",{className:"plot",children:"line"==e?t(ve,{...a,plotFrame:n}):t(Me,{...a,plotFrame:n,barGap:s,yMin:o,yMax:l})})},Oe=({point:n,width:s,height:r,plotFrame:o,titles:[l,a]})=>{if(v(n))return null;const[,c,d,u,p]=n,[x,y]=o,k=u+12+160>s?u-12-160:u+12,f=h(m(p-12-60,r-60),0);return e(i,{children:[t("path",{className:"tooltip-lines",pointerEvents:"none",stroke:ce,strokeOpacity:.25,strokeWidth:1,d:`M${x+u},${y}v${r}M${x},${y+p}h${s}`}),e("g",{className:"tooltip",transform:`translate(${x+k} ${y+f})`,fill:ce,children:[t("rect",{fillOpacity:.25,width:160,height:60,rx:4}),e("text",{x:12,y:22,children:[l,": ",c]}),e("text",{x:12,y:46,children:[a,": ",d]})]})]})},Pe=({className:i,kind:n,titles:s,layout:[r,o,l],...a})=>{const[c,d]=o,u=se(o,l),[,,p,h]=u,[m,x,y,k,f,,g]=l,[N,$]=U(),b={...a,plotFrame:u};return e("svg",{className:i,preserveAspectRatio:"none",ref:r,viewBox:`0 0 ${c} ${d}`,children:[t(be,{...b,tickSize:m}),t($e,{...b,titles:s,tickSize:m,tickGap:x,xAxisHeight:k,yAxisWidth:f,fontSize:g}),t(Se,{...b,kind:n,barGap:y,setTooltipPoint:$}),t(Oe,{point:N,width:p,height:h,plotFrame:u,titles:s})]})},Fe=({className:e,kind:i,xCellId:n,yCellId:s})=>{const r=te();return t(Pe,{className:e,kind:i,points:[],bounds:[],titles:[n,s],xTicks:[],yTicks:[],layout:r})},we=Object,ze=e=>we.getPrototypeOf(e),Ae=we.entries,Le=e=>!v(e)&&C(ze(e),e=>e==we.prototype||v(ze(e)),()=>!0),We=we.keys,Ee=(e,t,i=(e,t)=>e===t)=>{const n=Ae(e);return w(n)===w(We(t))&&L(n,([e,n])=>Le(n)?!!Le(t[e])&&Ee(t[e],n,i):i(n,t[e]))},Re=JSON.stringify,Ge="tinybase_uirc",qe=p[Ge]?p[Ge]:p[Ge]=Q([]),Be=(e,t)=>{const i=((e,t)=>{const i=J(qe);return I(e)?i[2*t]:O(e)?((e,t)=>S(e,e=>e[t]))(i[2*t+1],e):e})(e,t);return I(e)||O(e)?i:e},He=[],je=[{},[],[He,void 0,He],{},void 0,void 0,!1,0],Qe=(e,t)=>e===t||(Le(e)||F(e))&&Re(e)===Re(t),De=[(e,t)=>Ee(e,t,Qe),W,([e,t,i],[n,s,r])=>t===s&&W(e,n)&&W(i,r),(e,t)=>Ee(e,t,E),E,Qe],Je=(e,t)=>e===t,Ve=(e,t,...i)=>{const n=e?.["add"+t+"Listener"]?.(...i);return()=>e?.delListener?.(n)},Ze=(e,t,i,n=He)=>{const s=K(je[i]),r=D(()=>{const r=t?.["get"+e]?.(...n)??je[i];return(De[i]??Je)(r,s.current)?s.current:s.current=r},[t,i,e,...n]),o=D(i=>Ve(t,""+e,...n,i),[t,i,e,...n]);return X(o,r,r)},_e=(e,t,i,n=He,s=He,...r)=>Z(()=>Ve(t,e,...s,i,...r),[t,e,...s,...n,...r]),Ke=e=>Be(e,0),Ue=(e,t,i,n,s,r,o)=>_e(c,Ke(o),n,s,[e,t,i],r),Xe=e=>Be(e,4),Ye=(e,t,i,n,s,r)=>_e(l+c,Xe(r),n,s,[e,t,i]),et=(e,t,i,n,s,r)=>{const[,o]=U(),l=D(()=>o([]),[o]),a=(e=>H(q(e,e=>((e,t,i)=>{const n=P(r=t)?T(r)?r:void 0:O(r)?r:void 0,s=(e=>P(e)&&T(e)?e:void 0)(i);var r;return I(n)||I(s)?void 0:[e,n,s]})(e,s(e),r(e))),e=>!I(e)))(t),c=((e,t)=>{if(B(t))return[];const[i,n]=((e,t="bar")=>ke([..."bar"==t?[0]:[],...q(e,([,,e])=>e)]))(t,e);if(B(H(t,([,e])=>!P(e)))){const[e,s]=ke(q(t,([,e])=>e));return[e,s,i,n]}return[t[0]?.[1],t[w(t)-1]?.[1],i,n]})(e,a),d=((e,[t,i],[n],s)=>"line"==e&&P(t)&&P(i)&&t!=i?pe(t,i,10,s,n,M(t)&&M(i)):[])(e,c,i,n),u=(([,,e,t],[,i],n)=>I(e)||I(t)?[]:e==t?[e]:pe(e,t,10,n,i,M(e)&&M(t)))(c,i,n),p=(([e,t,i,n],s,r)=>[B(s)?e:m(e,s[0]),B(s)?t:h(t,s[w(s)-1]),B(r)?i:m(i??$,r[0]),B(r)?n:h(n??-1/0,r[w(r)-1])])(c,d,u);return[l,he(e,a,p,i),p,d,u]},tt=({descending:e,className:i,kind:n,limit:s,offset:r,queriesOrQueriesId:o,queryId:c,sortCellId:d,xCellId:u,yCellId:p})=>{const h=te(),m=Xe(o),x=((e,t,i,n=0,s,r)=>Ze(l+a,Xe(r),1,[e,t,i,n,s]))(c,d??u,e,r,s,o),[y,k,f,g,N]=et(n,x,ie(h),ne(h),e=>m?.getResultCell(c,e,u),e=>m?.getResultCell(c,e,p));return Ye(c,null,u,y,[y],m),Ye(c,null,p,y,[y],m),t(Pe,{className:i,kind:n,points:k,bounds:f,titles:[u,p],xTicks:g,yTicks:N,layout:h})},it=({descending:e,className:i,kind:n,limit:s,offset:r,sortCellId:o,storeOrStoreId:l,tableId:c,xCellId:d,yCellId:u})=>{const p=te(),h=Ke(l),m=((e,t,i,n,s,r)=>((e,t,i,n,s,r)=>Ze(a,Ke(r),1,[e,t,i,n,s]))(...Le(e)?[e.tableId,e.cellId,e.descending??!1,e.offset??0,e.limit,t]:[e,t,i,n,s,r]))(c,o??d,e,r,s,l),[x,y,k,f,g]=et(n,m,ie(p),ne(p),e=>h?.getCell(c,e,d),e=>h?.getCell(c,e,u));return Ue(c,null,d,x,[x],!1,l),Ue(c,null,u,x,[x],!1,l),t(Pe,{className:i,kind:n,points:y,bounds:k,titles:[d,u],xTicks:f,yTicks:g,layout:p})},nt=({className:e,store:i,tableId:n,queries:s,queryId:r,...o})=>I(n)?I(r)?t(Fe,{...o,className:e}):t(tt,{...o,className:e,queriesOrQueriesId:s,queryId:r}):t(it,{...o,className:e,storeOrStoreId:i,tableId:n}),st=e=>t(nt,{...e,kind:"bar"}),rt=e=>t(nt,{...e,kind:"line"});export{st as BarChart,rt as LineChart};
@@ -1 +1 @@
1
- import{jsx as e,jsxs as t,Fragment as n}from"react/jsx-runtime";import{useValue as l,useSetValueCallback as s,CellView as r,ResultCellView as o,ValueView as a,useCell as i,useSetCellCallback as d,useIndexes as c,useIndexIds as u,useSliceIds as h,useMetrics as m,useMetricIds as b,useMetric as g,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 D,useIndexesIds as S,useRelationshipsIds as Z,useQueriesIds as M,useCreateStore as N,useCreatePersister as L}from"../ui-react/index.js";import V from"react";const E=e=>typeof e,R="",A=E(R),$=E(!0),H=E(0),z=E(E),P="object",J="array",O="type",_="default",j="allowNull",B="Listener",F="Result",W="Has",Q="Ids",K="Table",G=K+"s",U=K+Q,X="Row",Y=X+"Count",ee=X+Q,te="Sorted"+X+Q,ne="Cell",le=ne+Q,se="Value",re=se+"s",oe=se+Q,ae="currentTarget",ie="value",de="extra",ce=e=>R+e,ue=e=>(t,n,l)=>e(t)?l?.():n(t),he=globalThis,me=he.window,be=Math,ge=be.min,pe=be.floor,ve=isFinite,Ie=e=>null==e,fe=e=>void 0===e,Ce=e=>null===e,we=e=>!1===e,Te=ue(Ie),ye=ue(fe),qe=e=>e==A||e==$,xe=e=>E(e)==A,ke=e=>E(e)==z,De=e=>Array.isArray(e),Se=(e,t,n)=>e.slice(t,n),Ze=e=>e.length,Me=()=>{},Ne=e=>e,Le=he.structuredClone,Ve=e=>{throw Error(e)},Ee=(e,t)=>{try{return e()}catch{return t}},Re=async(e,t,n)=>{try{return await e()}catch(e){t?.(e)}},Ae=(e,t)=>e.every(t),$e=(e,t)=>Ze(e)===Ze(t)&&Ae(e,(e,n)=>t[n]===e),He=(e,t)=>De(e)&&De(t)?$e(e,t):e===t,ze=(e,t)=>e.sort(t),Pe=(e,t)=>e.forEach(t),Je=(e,t="")=>e.join(t),Oe=(e,t)=>e.map(t),_e=e=>0==Ze(e),je=(e,...t)=>e.push(...t),Be=e=>e.shift(),Fe=Object,We=e=>Fe.getPrototypeOf(e),Qe=Fe.isFrozen,Ke=Fe.entries,Ge=e=>!Ie(e)&&Te(We(e),e=>e==Fe.prototype||Ie(We(e)),()=>!0),Ue=Fe.keys,Xe=Fe.freeze,Ye=(e=[])=>Fe.fromEntries(e),et=(e,t)=>t in e,tt=(e,t)=>(delete e[t],e),nt=(e,t)=>Oe(Ke(e),([e,n])=>t(n,e)),lt=(e,t)=>Ye(nt(e,(e,n)=>[n,t(e,n)])),st=e=>Ze(Ue(e)),rt=e=>Ge(e)&&0==st(e),ot=(e,t,n=(e,t)=>e===t)=>{const l=Ke(e);return Ze(l)===st(t)&&Ae(l,([e,l])=>Ge(l)?!!Ge(t[e])&&ot(t[e],l,n):n(l,t[e]))},at=(e,t,n,l=0)=>Ie(e)||!Ge(e)||!l&&rt(e)||Qe(e)?(n?.(),!1):(((e,t)=>{Pe(Ke(e),([e,n])=>t(n,e))})(e,(n,l)=>{t(n,l)||tt(e,l)}),!!l||!rt(e)),it=JSON.stringify,dt=JSON.parse,ct=e=>it(e,(e,t)=>t instanceof Map?Fe.fromEntries([...t]):t),ut=e=>ht(dt(e)),ht=e=>""===e?void 0:De(e)?Oe(e,ht):Ge(e)?lt(e,ht):e,mt="tinybaseInspector",bt="TinyBase Inspector",gt=["left","top","bottom","right","full"],pt="state",vt="sort",It="open",ft="editable",Ct="position",wt=It,Tt=e=>{const t=gt.indexOf(e);return-1==t?1:t},yt=(...e)=>ct(e),qt=(e,t)=>Oe(ze([...e]),t),xt='url("',kt=(e,t="white")=>({content:xt+`data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960' fill='${t}'><path d='${e}' /></svg>")`}),Dt="v560h120v-560h-120Z",St="v560h360v-560h-360Z",Zt="v120h560v-120h-560Z",Mt="v360h560v-360h-560Z",Nt={content:xt+"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\")"},Lt=Oe([`M200-760${Dt} M400-760${St}`,`M200-760${Zt} M200-560${Mt}`,`M200-760${Mt} M200-320${Zt}`,`M200-760${St} M640-760${Dt}`],e=>kt("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));je(Lt,kt("M120-120v-200h80v120h120v80H120Zm520 0v-80h120v-120h80v200H640ZM120-640v-200h200v80H200v120h-80Zm640 0v-120H640v-80h200v200h-80Z"));const Vt=kt("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"),Et=kt("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"),Rt=kt("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"),At=kt("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"),$t=kt("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"),Ht=kt("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"),zt=kt("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)"),Pt=kt("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)"),Jt=kt("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)"),Ot=kt("M480-344 240-584l56-56 184 184 184-184 56 56-240 240Z"),_t=kt("M504-480 320-664l56-56 240 240-240 240-56-56 184-184Z"),jt="*::-webkit-scrollbar",Bt="background",Ft="width",Wt="max-"+Ft,Qt="min-"+Ft,Kt="height",Gt="border",Ut="radius",Xt=Gt+"-"+Ut,Yt="padding",en="margin",tn="top",nn="bottom",ln="left",sn="right",rn="color",on="position",an="box-shadow",dn="font-size",cn="display",un="overflow",hn="cursor",mn="vertical-align",bn="text-align",gn="justify-content",pn="white-space",vn="text-overflow",In="align-items",fn="backdrop-filter",Cn=en+"-"+sn,wn="z-index",Tn="fixed",yn="revert",qn="unset",xn="none",kn="flex",Dn="pointer",Sn="auto",Zn="hidden",Mn="nowrap",Nn=(e,t="% 0.01 "+Ln("hue"))=>`oklch(${e}${t})`,Ln=e=>`var(--${e})`,Vn=(...e)=>e.join("rem ")+"rem",En=(...e)=>e.join("px ")+"px",Rn=(e=100)=>e+"vw",An=(e=100)=>e+"vh",$n=Je(nt({"":{all:"initial",[dn]:Vn(.75),[on]:Tn,[wn]:999999,"font-family":"inter,sans-serif","--bg":Nn(20),"--bg2":Nn(15),"--bg3":Nn(25),"--bg4":Nn(30),"--fg":Nn(85),"--fg2":Nn(60),["--"+Gt]:En(1)+" solid "+Ln("bg4"),["--"+an]:En(0,1,2,0)+" #0007"},"*":{all:yn},"*::before":{all:yn},"*::after":{all:yn},[jt]:{[Ft]:Vn(.5),[Kt]:Vn(.5)},[jt+"-thumb"]:{[Bt]:Ln("bg4")},[jt+"-thumb:hover"]:{[Bt]:Ln("bg4")},[jt+"-corner"]:{[Bt]:xn},[jt+"-track"]:{[Bt]:xn},img:{[Ft]:Vn(.8),[Kt]:Vn(.8),[mn]:"text-"+nn,[hn]:Dn,[en]:En(-2.5,2,-2.5,0),[Yt]:En(2),[Gt]:Ln(Gt),[Bt]:Ln("bg3"),[an]:Ln(an),[Xt]:Vn(.25)},"img.flat":{[Gt]:xn,[Bt]:xn,[an]:xn},">img":{[Yt]:Vn(.25),[nn]:0,[sn]:0,[on]:Tn,[Kt]:qn,[en]:0,...Nt},...Ye(Oe([{[nn]:0,[ln]:0},{[tn]:0,[sn]:0}],(e,t)=>[`>img[data-position='${t}']`,e])),main:{[cn]:kn,[rn]:Ln("fg"),[Bt]:Ln("bg"),[un]:Zn,[on]:Tn,[an]:Ln(an),"flex-direction":"column"},...Ye(Oe([{[nn]:0,[ln]:0,[Ft]:Rn(35),[Kt]:An(),[Gt+"-"+sn]:Ln(Gt)},{[tn]:0,[sn]:0,[Ft]:Rn(),[Kt]:An(30),[Gt+"-"+nn]:Ln(Gt)},{[nn]:0,[ln]:0,[Ft]:Rn(),[Kt]:An(30),[Gt+"-"+tn]:Ln(Gt)},{[tn]:0,[sn]:0,[Ft]:Rn(35),[Kt]:An(),[Gt+"-"+ln]:Ln(Gt)},{[tn]:0,[sn]:0,[Ft]:Rn(),[Kt]:An()}],(e,t)=>[`main[data-position='${t}']`,e])),header:{[cn]:kn,[Yt]:Vn(.5),[an]:Ln(an),[Bt]:Nn(30,"% 0.008 var(--hue) / .5"),[Ft]:"calc(100% - .5rem)",[on]:"absolute",[wn]:1,[Gt+"-"+nn]:Ln(Gt),[In]:"center",[fn]:"blur(4px)"},"header>img:nth-of-type(1)":{[Kt]:Vn(1),[Ft]:Vn(1),...Nt},"header>img:nth-of-type(6)":Vt,...Ye(Oe(Lt,(e,t)=>[`header>img[data-id='${t}']`,e])),"header>span":{[un]:Zn,[kn]:1,"font-weight":800,[pn]:Mn,[vn]:"ellipsis"},article:{[un]:Sn,[kn]:1,[Yt+"-"+tn]:Vn(2)},details:{[en]:Vn(.5),[Gt]:Ln(Gt),[Xt]:Vn(.25)},summary:{[Bt]:Ln("bg3"),[en]:En(-1),[Gt]:Ln(Gt),[Yt]:Vn(.25,.125),[cn]:kn,[Xt]:Vn(.25),"user-select":xn,[gn]:"space-between",[In]:"center",[fn]:"blur(4px)"},"summary>span::before":{[cn]:"inline-block",[mn]:"sub",[en]:En(2),[Ft]:Vn(1),[Kt]:Vn(1),..._t},"details[open]>summary":{[Gt+"-"+nn+"-"+ln+"-"+Ut]:0,[Gt+"-"+nn+"-"+sn+"-"+Ut]:0,[en+"-"+nn]:0},"details[open]>summary>span::before":Ot,"details>summary img":{[cn]:xn},"details[open]>summary img":{[cn]:qn,[en+"-"+ln]:Vn(.25)},"details>div":{[un]:Sn},[`caption,#${mt} p`]:{[rn]:Ln("fg2"),[Yt]:Vn(.25,.5),[bn]:ln,[en]:0,[pn]:Mn},"caption button":{[Ft]:Vn(1.5),[Gt]:xn,[Bt]:xn,[rn]:Ln("fg"),[Yt]:0,[hn]:Dn},"caption button[disabled]":{[rn]:Ln("fg2")},".actions":{[Yt]:Vn(.75,.5),[en]:0,[cn]:kn,[Gt+"-"+tn]:Ln(Gt),[gn]:"space-between"},table:{[Qt]:"100%","border-collapse":"collapse","table-layout":Tn},thead:{[Bt]:Ln("bg")},[`th,#${mt} td`]:{[un]:Zn,[Yt]:Vn(.25,.5),[Wt]:Vn(20),[Gt]:Ln(Gt),[vn]:"ellipsis",[pn]:Mn,"border-width":En(1,0,0),[bn]:ln},"th:first-child":{[Ft]:Vn(3),[Qt]:Vn(3),[Wt]:Vn(3)},"th.sorted":{[Bt]:Ln("bg3")},"td.extra":{[bn]:sn},"tbody button":{[Bt]:xn,[Gt]:xn,[dn]:0,[Ft]:Vn(.8),[Kt]:Vn(.8),[rn]:Ln("fg2"),[en]:Vn(0,.25,0,-.25),"line-height":Vn(.8)},"tbody button:first-letter":{[dn]:Vn(.8)},input:{[Bt]:Ln("bg2"),[rn]:qn,[Yt]:En(4),[Gt]:0,[en]:En(-4,0),[dn]:qn,[Wt]:Vn(6)},"input:focus":{"outline-width":0},'input[type="number"]':{[Ft]:Vn(3)},'input[type="checkbox"]':{[mn]:En(-2)},".editableCell":{[cn]:"inline-block",[Cn]:En(2)},"button.next":{[Cn]:Vn(.5)},"img.add":At,"img.clone":$t,"img.delete":Ht,"img.done":Rt,"img.edit":Et,"img.ok":zt,"img.okDis":Pt,"img.cancel":Jt,"span.warn":{[en]:Vn(2,.25),[rn]:"#d81b60"}},(e,t)=>`#${mt} ${t}{${Je(nt(e,(e,t)=>`${t}:${e};`))}}`)),Hn=e=>t=>{return n=(t,n)=>t+e(n),Bn(t).reduce(n,0);var n},zn=e=>e?.size??0,Pn=Hn(zn),Jn=Hn(Pn),On=Hn(Jn),_n=(e,t)=>e?.has(t)??!1,jn=e=>fe(e)||0==zn(e),Bn=e=>[...e?.values()??[]],Fn=e=>e.clear(),Wn=(e,t)=>e?.forEach(t),Qn=(e,t)=>e?.delete(t),Kn=Map,Gn=e=>new Kn(e),Un=e=>[...e?.keys()??[]],Xn=(e,t)=>e?.get(t),Yn=(e,t)=>Wn(e,(e,n)=>t(n,e)),el=(e,t,n)=>fe(n)?(Qn(e,t),e):e?.set(t,n),tl=(e,t,n,l)=>(_n(e,t)?l?.(Xn(e,t)):el(e,t,n()),Xn(e,t)),nl=(e,t,n,l=el)=>(lt(t,(t,l)=>n(e,l,t)),Yn(e,n=>et(t,n)?0:l(e,n)),e),ll=(e,t,n,l)=>{const s={};return Wn(e,(e,r)=>{if(!n?.(e,r)){const n=t?t(e,r):e;l?.(n)||(s[r]=n)}}),s},sl=(e,t,n)=>ll(e,e=>ll(e,t,n),jn,rt),rl=(e,t,n)=>ll(e,e=>sl(e,t,n),jn,rt),ol=(e,t)=>{const n=Gn();return Wn(e,(e,l)=>n.set(l,t?.(e)??e)),n},al=e=>ol(e,ol),il=e=>ol(e,al),dl=(e,t,n,l,s=0)=>ye((n?tl:Xn)(e,t[s],s>Ze(t)-2?n:Gn),r=>{if(s>Ze(t)-2)return l?.(r)&&el(e,t[s]),r;const o=dl(r,t,n,l,s+1);return jn(r)&&el(e,t[s]),o}),cl=/^\d+$/,ul=()=>{const e=[];let t=0;return[n=>(n?Be(e):null)??R+t++,t=>{cl.test(t)&&Ze(e)<1e3&&je(e,t)}]},hl=e=>new Set(De(e)||fe(e)?e:[e]),ml=(e,t)=>e?.add(t),bl=e=>{let t;const[n,l]=ul(),s=Gn();return[(l,r,o,a=[],i=()=>[])=>{t??=e();const d=n(1);return el(s,d,[l,r,o,a,i]),ml(dl(r,o??[R],hl),d),d},(e,n,...l)=>Pe(((e,t=[R])=>{const n=[],l=(e,s)=>s==Ze(t)?je(n,e):Ce(t[s])?Wn(e,e=>l(e,s+1)):Pe([t[s],null],t=>l(Xn(e,t),s+1));return l(e,0),n})(e,n),e=>Wn(e,e=>Xn(s,e)[0](t,...n??[],...l))),e=>ye(Xn(s,e),([,t,n])=>(dl(t,n??[R],void 0,t=>(Qn(t,e),jn(t)?1:0)),el(s,e),l(e),n)),e=>ye(Xn(s,e),([e,,n=[],l,s])=>{const r=(...o)=>{const a=Ze(o);a==Ze(n)?e(t,...o,...s(o)):Ce(n[a])?Pe(l[a]?.(...o)??[],e=>r(...o,e)):r(...o,n[a])};r()})]},gl=Gn(),pl=Gn(),vl="storage",Il=e=>{if(Ce(e))return"null";if(De(e))return J;if(Ge(e))return P;const t=E(e);return qe(t)||t==H&&ve(e)?t:void 0},fl=e=>e==P||e==J,Cl=e=>Ge(e)||De(e)?"�"+it(e):e,wl=e=>xe(e)&&"�"==e[0],Tl=(e,t,n)=>!n&&wl(e)?dt(Se(e,1)):e,yl=(e,t,n,l,s,r)=>e==A?t:e==H?n:e==$?l:e==P?s:e==J?r:null,ql=e=>[e,e],xl=(e,t=Pn)=>t(e[0])+t(e[1]),kl=()=>[Gn(),Gn()],Dl=e=>[...e],Sl=([e,t])=>e===t,Zl=(e,t,n)=>el(e,t,Xn(e,t)==-n?void 0:n),Ml=([e,t],[n,l])=>ot(e,n)&&ot(t,l),Nl=()=>{let e,t,n=!1,l=!1,s=0,r=[],o=[],a=0;const i=Gn(),d=Gn(),c=Gn(),u=Gn(),h=Gn(),m=Gn(),b=Gn(),g=Gn(),p=Gn(),v=Gn(),I=Gn(),f=Gn(),C=Gn(),w=Gn(),T=hl(),y=Gn(),q=Gn(),x=Gn(),k=Gn(),D=kl(),S=kl(),Z=kl(),M=kl(),N=kl(),L=kl(),V=kl(),E=kl(),R=kl(),A=kl(),$=kl(),z=kl(),P=kl(),J=kl(),F=kl(),Q=kl(),te=kl(),ae=kl(),ie=kl(),de=kl(),ue=kl(),he=kl(),me=Gn(),be=kl(),[ge,pe,ve,Ie]=bl(()=>fn),we=e=>{const t=a;a=1;const n=e();return a=t,n},Te=(e,t,n,l=Object.is)=>ye(t(),t=>e===t||l(e,t)?n(t):we(()=>n(t))),xe=e=>{if(!at(e,(e,t)=>[O,_,j].includes(t)))return!1;const t=e[O];if(!qe(t)&&t!=H&&!fl(t))return!1;const n=e[_];return!(Ce(n)&&!e[j]||(Ce(n)||(Il(n)!=t?tt(e,_):e[_]=Cl(n)),0))},Ze=De,Me=(t,n)=>(!e||_n(I,n)||qt(n))&&at(t,(e,t)=>Ne(n,t,e),()=>qt(n)),Ne=(e,t,n,l)=>at(l?n:He(n,e,t),(l,s)=>ye(Ve(e,t,s,l),e=>(n[s]=e,!0),()=>!1),()=>qt(e,t)),Ve=(t,n,l,s)=>e?ye(Xn(Xn(I,t),l),e=>Ce(s)?e[j]?s:qt(t,n,l,s,e[_]):Il(s)===e[O]?Cl(s):fl(e[O])&&wl(s)?s:qt(t,n,l,s,e[_]),()=>qt(t,n,l,s)):fe(Il(s))?qt(t,n,l,s):Cl(s),Ee=(e,t)=>at(t?e:Je(e),(t,n)=>ye(Ae(n,t),t=>(e[n]=t,!0),()=>!1),()=>xt()),Ae=(e,n)=>t?ye(Xn(C,e),t=>Ce(n)?t[j]?n:xt(e,n,t[_]):Il(n)===t[O]?Cl(n):fl(t[O])&&wl(n)?n:xt(e,n,t[_]),()=>xt(e,n)):fe(Il(n))?xt(e,n):Cl(n),He=(e,t,n)=>(ye(Xn(f,t),([l,s])=>{Wn(l,(t,n)=>{et(e,n)||(e[n]=t)}),Wn(s,l=>{et(e,l)||qt(t,n,l)})}),e),Je=e=>(t&&(Wn(w,(t,n)=>{et(e,n)||(e[n]=t)}),Wn(T,t=>{et(e,t)||xt(t)})),e),_e=e=>nl(I,e,(e,t,n)=>{const l=Gn(),s=hl();nl(tl(I,t,Gn),n,(e,t,n)=>{el(e,t,n),ye(n[_],e=>el(l,t,e),()=>ml(s,t))}),el(f,t,[l,s])},(e,t)=>{el(I,t),el(f,t)}),Be=e=>nl(C,e,(e,t,n)=>{el(C,t,n),ye(n[_],e=>el(w,t,e),()=>ml(T,t))},(e,t)=>{el(C,t),el(w,t),Qn(T,t)}),Fe=e=>rt(e)?an():en(e),We=(e,t,n,l,s,r)=>fe(l)?un(e,t,n,!0,s):tn(e,t,n,l,s,r),Qe=e=>rt(e)?hn():nn(e),Ke=(e,t,n)=>fe(t)?mn(e,n):ln(e,t,n),Ue=(e,t)=>Te(e,()=>t?e:ye(r[1],t=>we(()=>t(Le(e))),()=>e),e=>nl(x,e,(e,t,n)=>Ye(t,n),(e,t)=>bt(t)),ot),Ye=(e,t,n)=>Te(t,()=>n?t:ye(r[2],n=>we(()=>n(e,Le(t))),()=>t),t=>nl(tl(x,e,()=>(It(e,1),el(y,e,ul()),el(q,e,Gn()),Gn())),t,(t,n,l)=>nt(e,t,n,l),(t,n)=>gt(e,t,n)),ot),nt=(e,t,n,l,s)=>Te(l,()=>s?l:ye(r[3],t=>we(()=>t(e,n,Le(l))),()=>l),l=>nl(tl(t,n,()=>(ft(e,n,1),Gn())),l,(t,l,s)=>st(e,n,t,l,s),(l,r)=>pt(e,t,n,l,r,s)),ot),st=(e,t,n,l,s,o)=>Te(s,()=>ye(o?void 0:r[4],n=>we(()=>n(e,t,l,s)),()=>s),s=>{_n(n,l)||Ct(e,t,l,1);const r=Xn(n,l);s!==r&&(wt(e,t,l,r,s),el(n,l,s))}),it=(e,t,n,l,s,r)=>ye(Xn(t,n),t=>st(e,n,t,l,s,r),()=>{const o=Gn();el(t,n,o),ft(e,n,1),lt(He({[l]:s},e,n),(t,l)=>st(e,n,o,l,t,r))}),ut=(e,t)=>Te(e,()=>t?e:ye(r[5],t=>we(()=>t(Le(e))),()=>e),e=>nl(k,e,(e,t,n)=>ht(t,n),(e,t)=>vt(t)),ot),ht=(e,t,n)=>Te(t,()=>ye(n?void 0:r[6],n=>we(()=>n(e,t)),()=>t),t=>{_n(k,e)||Tt(e,1);const n=Xn(k,e);t!==n&&(yt(e,n,t),el(k,e,t))}),mt=e=>tl(x,e,()=>(It(e,1),el(y,e,ul()),el(q,e,Gn()),Gn())),bt=e=>we(()=>r[8]?.(e))??1?Ye(e,{},!0):Xn(x,e),gt=(e,t,n)=>{if(we(()=>r[9]?.(e,n))??1){const[,l]=Xn(y,e);l(n),nt(e,t,n,{},!0)}},pt=(e,t,n,l,s,o,a)=>{const i=Xn(Xn(f,e)?.[0],s);if(!fe(i)&&!o)return st(e,n,l,s,i);if(a||(we(()=>r[10]?.(e,n,s))??1)){const r=t=>{wt(e,n,t,Xn(l,t)),Ct(e,n,t,-1),el(l,t)};fe(i)?r(s):Yn(l,r),jn(l)&&(ft(e,n,-1),jn(el(t,n))&&(It(e,-1),el(x,e),el(y,e),el(q,e)))}},vt=(e,t)=>{const n=Xn(w,e);if(!fe(n))return ht(e,n);(t||(we(()=>r[12]?.(e))??1))&&(yt(e,Xn(k,e)),Tt(e,-1),el(k,e))},It=(e,t)=>Zl(i,e,t),ft=(e,t,n)=>Zl(tl(u,e,Gn),t,n)&&el(c,e,tl(c,e,()=>0)+n),Ct=(e,t,n,l)=>{const s=Xn(q,e),r=Xn(s,n)??0;(0==r&&1==l||1==r&&-1==l)&&Zl(tl(d,e,Gn),n,l),el(s,n,r!=-l?r+l:void 0),Zl(tl(tl(h,e,Gn),t,Gn),n,l)},wt=(e,t,n,l,s)=>{tl(tl(tl(m,e,Gn),t,Gn),n,()=>[l,0])[1]=s,o[3]?.(e,t,n,s,a)},Tt=(e,t)=>Zl(b,e,t),yt=(e,t,n)=>{tl(g,e,()=>[t,0])[1]=n,o[4]?.(e,n,a)},qt=(e,t,n,l,s)=>(je(tl(tl(tl(p,e,Gn),t,Gn),n,()=>[]),l),s),xt=(e,t,n)=>(je(tl(v,e,()=>[]),t),n),kt=(e,t,n)=>ye(Xn(Xn(Xn(m,e),t),n),([e,t])=>[!0,Tl(e),Tl(t)],()=>[!1,...ql(_t(e,t,n))]),Dt=e=>ye(Xn(g,e),([e,t])=>[!0,Tl(e),Tl(t)],()=>[!1,...ql(Ft(e))]),St=e=>jn(p)||jn(Q[e])?0:Wn(e?il(p):p,(t,n)=>Wn(t,(t,l)=>Wn(t,(t,s)=>pe(Q[e],[n,l,s],t)))),Zt=e=>jn(v)||jn(te[e])?0:Wn(e?ol(v):v,(t,n)=>pe(te[e],[n],t)),Mt=(e,t,n,l)=>{if(!jn(e))return pe(t,l,()=>ll(e)),Yn(e,(e,t)=>pe(n,[...l??[],e],1==t)),1},Nt=e=>{const t=!jn(D[e]),l=!jn(A[e]),s=!(jn(P[e])&&jn(J[e])&&jn(R[e])&&jn($[e])&&jn(L[e])&&jn(V[e])&&jn(E[e])&&!l&&jn(Z[e])&&jn(M[e])),r=!(jn(F[e])&&jn(z[e])&&jn(N[e])&&jn(S[e]));if(t||s||r){const a=e?[ol(i),al(d),ol(c),al(u),il(h),(o=m,ol(o,e=>ol(e,e=>ol(e,Dl))))]:[i,d,c,u,h,m];if(t){const t=Wt();t!=n&&pe(D[e],void 0,t)}if(s){Mt(a[0],Z[e],M[e]),Wn(a[1],(t,n)=>Mt(t,L[e],V[e],[n])),Wn(a[2],(t,n)=>{0!=t&&pe(E[e],[n],zt(n))});const t=hl();Wn(a[3],(n,s)=>{Mt(n,R[e],$[e],[s])&&l&&(pe(A[e],[s,null]),ml(t,s))}),l&&Wn(a[5],(n,l)=>{if(!_n(t,l)){const t=hl();Wn(n,e=>Wn(e,([n,l],s)=>l!==n?ml(t,s):Qn(e,s))),Wn(t,t=>pe(A[e],[l,t]))}}),Wn(a[4],(t,n)=>Wn(t,(t,l)=>Mt(t,P[e],J[e],[n,l])))}if(r){let t;Wn(a[5],(n,l)=>{let s;Wn(n,(n,r)=>{let o;Wn(n,([n,a],i)=>{a!==n&&(pe(F[e],[l,r,i],Tl(a),Tl(n),kt),t=s=o=1)}),o&&pe(z[e],[l,r],kt)}),s&&pe(N[e],[l],kt)}),t&&pe(S[e],void 0,kt)}}var o},Lt=e=>{const t=!jn(ae[e]),n=!jn(de[e])||!jn(ue[e]),s=!jn(he[e])||!jn(ie[e]);if(t||n||s){const r=e?[ol(b),ol(g,Dl)]:[b,g];if(t){const t=Xt();t!=l&&pe(ae[e],void 0,t)}if(n&&Mt(r[0],de[e],ue[e]),s){let t;Wn(r[1],([n,l],s)=>{l!==n&&(pe(he[e],[s],Tl(l),Tl(n),Dt),t=1)}),t&&pe(ie[e],void 0,Dt)}}},Vt=(e,...t)=>(pn(()=>e(...Oe(t,ce))),fn),Et=(e,t,n,l,s)=>{let r=Jt(e,t,...n);return ge(()=>{const s=Jt(e,t,...n);$e(s,r)||(r=s,l(fn,e,t,...n,r))},A[s?1:0],[e,t],[$t])},Rt=(e=!1)=>[ll(m,(t,n)=>-1===Xn(i,n)?void 0:ll(t,(t,l)=>-1===Xn(Xn(u,n),l)?void 0:ll(t,([,t])=>Tl(t,0,e),e=>Sl(e)),jn,rt),jn,rt),ll(g,([,t])=>Tl(t,0,e),e=>Sl(e)),1],At=()=>rl(x,Tl),$t=()=>Un(x),Ht=e=>Un(Xn(q,ce(e))),zt=e=>zn(Xn(x,ce(e))),Pt=e=>Un(Xn(x,ce(e))),Jt=(e,t,n,l=0,s)=>{return Ge(e)?Jt(e.tableId,e.cellId,e.descending,e.offset,e.limit):Oe(Se(ze((r=Xn(x,ce(e)),o=(e,n)=>[fe(t)?n:Xn(e,ce(t)),n],Oe([...r?.entries()??[]],([e,t])=>o(t,e))),([e],[t])=>((e??0)<(t??0)?-1:1)*(n?-1:1)),l,fe(s)?s:l+s),([,e])=>e);var r,o},Ot=(e,t)=>Un(Xn(Xn(x,ce(e)),ce(t))),_t=(e,t,n)=>Tl(Xn(Xn(Xn(x,ce(e)),ce(t)),ce(n))),jt=()=>ll(k,Tl),Bt=()=>Un(k),Ft=e=>Tl(Xn(k,ce(e))),Wt=()=>!jn(x),Qt=e=>_n(x,ce(e)),Kt=(e,t)=>_n(Xn(q,ce(e)),ce(t)),Gt=(e,t)=>_n(Xn(x,ce(e)),ce(t)),Ut=(e,t,n)=>_n(Xn(Xn(x,ce(e)),ce(t)),ce(n)),Xt=()=>!jn(k),Yt=e=>_n(k,ce(e)),en=e=>Vt(()=>(e=>at(e,Me,qt))(e)?Ue(e):0),tn=(e,t,n,l,s,o)=>Vt((e,t,n)=>ye(Ve(e,t,n,ke(l)?l(_t(e,t,n)):l),l=>{const a=mt(e);ye(s||o||!r[14]?.()?void 0:r[3],r=>{const o=Xn(a,t),i={...o?ll(o):{},[n]:l};ye(we(()=>r(e,t,Le(i))),n=>((e,t,n,l,s)=>{nl(tl(t,n,()=>(ft(e,n,1),Gn())),l,(t,l,r)=>ye(Ve(e,n,l,r),r=>st(e,n,t,l,r,s)),(l,s)=>pt(e,t,n,l,s,!0))})(e,a,t,n,s))},()=>it(e,a,t,n,l,s))}),e,t,n),nn=e=>Vt(()=>Ee(e)?ut(e):0),ln=(e,t,n)=>Vt(e=>ye(Ae(e,ke(t)?t(Ft(e)):t),t=>ht(e,t,n)),e),sn=e=>(Re(()=>Fe(dt(e))),fn),rn=t=>Vt(()=>{if((e=at(t,e=>at(e,xe)))&&(_e(t),!jn(x))){const e=At();an(),en(e)}}),on=e=>Vt(()=>{if(t=(e=>at(e,xe))(e)){const n=jt();gn(),hn(),t=!0,Be(e),nn(n)}}),an=()=>Vt(()=>we(()=>r[7]?.())??1?Ue({},!0):0),dn=e=>Vt(e=>_n(x,e)?bt(e):0,e),cn=(e,t)=>Vt((e,t)=>ye(Xn(x,e),n=>_n(n,t)?gt(e,n,t):0),e,t),un=(e,t,n,l,s)=>Vt((e,t,n)=>ye(Xn(x,e),r=>ye(Xn(r,t),o=>_n(o,n)?pt(e,r,t,o,n,l,s):0)),e,t,n),hn=()=>Vt(()=>we(()=>r[11]?.())??1?ut({},!0):0),mn=(e,t)=>Vt(e=>_n(k,e)?vt(e,t):0,e),bn=()=>Vt(()=>{_e({}),e=!1}),gn=()=>Vt(()=>{Be({}),t=!1}),pn=(e,t)=>{if(-1!=s){vn();const n=e();return In(t),n}},vn=()=>(-1!=s&&s++,1==s&&(o[0]?.(),pe(me)),fn),In=e=>(s>0&&(s--,0==s&&(s=1,we(()=>{St(1),jn(m)||Nt(1),Zt(1),jn(g)||Lt(1)}),e?.(fn)&&(Wn(m,(e,t)=>Wn(e,(e,n)=>Wn(e,([e],l)=>We(t,n,l,e,!0)))),Fn(m),Wn(g,([e],t)=>Ke(t,e,!0)),Fn(g)),pe(be[0],void 0),s=-1,St(0),jn(m)||Nt(0),Zt(0),jn(g)||Lt(0),o[1]?.(),pe(be[1],void 0),o[2]?.(),s=0,n=Wt(),l=Xt(),Pe([i,d,c,u,h,m,p,b,g,v],Fn))),fn),fn={getContent:()=>[At(),jt()],getTables:At,getTableIds:$t,getTable:e=>sl(Xn(x,ce(e)),Tl),getTableCellIds:Ht,getRowCount:zt,getRowIds:Pt,getSortedRowIds:Jt,getRow:(e,t)=>ll(Xn(Xn(x,ce(e)),ce(t)),Tl),getCellIds:Ot,getCell:_t,getValues:jt,getValueIds:Bt,getValue:Ft,hasTables:Wt,hasTable:Qt,hasTableCell:Kt,hasRow:Gt,hasCell:Ut,hasValues:Xt,hasValue:Yt,getTablesJson:()=>ct(x),getValuesJson:()=>ct(k),getJson:()=>ct([x,k]),getTablesSchemaJson:()=>ct(I),getValuesSchemaJson:()=>ct(C),getSchemaJson:()=>ct([I,C]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:e=>Vt(()=>{const t=ke(e)?e():e;Ze(t)&&(e=>{Te(e,()=>ye(r[0],t=>we(()=>t(Le(e))),()=>e),([e,t])=>{(rt(e)?an:en)(e),(rt(t)?hn:nn)(t)},Ml)})(t)}),setTables:en,setTable:(e,t)=>Vt(e=>Me(t,e)?Ye(e,t):0,e),setRow:(e,t,n)=>Vt((e,t)=>Ne(e,t,n)?nt(e,mt(e),t,n):0,e,t),addRow:(e,t,n=!0)=>pn(()=>{let l;return Ne(e,l,t)&&(e=ce(e),nt(e,mt(e),l=((e,t)=>{const[n]=Xn(y,e);let l;do{l=n(t)}while(_n(Xn(x,e),l));return l})(e,n?1:0),t)),l}),setPartialRow:(e,t,n)=>Vt((e,t)=>{if(Ne(e,t,n,1)){const l=mt(e);lt(n,(n,s)=>it(e,l,t,s,n))}},e,t),setCell:tn,setValues:nn,setPartialValues:e=>Vt(()=>Ee(e,1)?lt(e,(e,t)=>ht(t,e)):0),setValue:ln,applyChanges:e=>Vt(()=>Te(e,()=>ye(r[13],t=>we(()=>t(Le(e))),()=>e),e=>{lt(e[0],(e,t)=>fe(e)?dn(t):lt(e,(e,n)=>fe(e)?cn(t,n):lt(e,(e,l)=>We(t,n,l,e,void 0,!0)))),lt(e[1],(e,t)=>Ke(t,e))},Ml)),setTablesJson:sn,setValuesJson:e=>(Re(()=>Qe(dt(e))),fn),setJson:e=>Vt(()=>Re(()=>{const[t,n]=dt(e);Fe(t),Qe(n)},()=>sn(e))),setTablesSchema:rn,setValuesSchema:on,setSchema:(e,t)=>Vt(()=>{rn(e),on(t)}),delTables:an,delTable:dn,delRow:cn,delCell:un,delValues:hn,delValue:mn,delTablesSchema:bn,delValuesSchema:gn,delSchema:()=>Vt(()=>{bn(),gn()}),transaction:pn,startTransaction:vn,getTransactionChanges:()=>Rt(),getTransactionLog:()=>[!jn(m),!jn(g),rl(m,Dl,Sl),rl(p),ll(g,Dl,Sl),ll(v),ll(i),sl(u),rl(h),ll(b)],finishTransaction:In,forEachTable:e=>Wn(x,(t,n)=>e(n,e=>Wn(t,(t,n)=>e(n,e=>Yn(t,(t,n)=>e(t,Tl(n))))))),forEachTableCell:(e,t)=>Yn(Xn(q,ce(e)),t),forEachRow:(e,t)=>Wn(Xn(x,ce(e)),(e,n)=>t(n,t=>Yn(e,(e,n)=>t(e,Tl(n))))),forEachCell:(e,t,n)=>Yn(Xn(Xn(x,ce(e)),ce(t)),(e,t)=>n(e,Tl(t))),forEachValue:e=>Yn(k,(t,n)=>e(t,Tl(n))),addSortedRowIdsListener:(e,t,n,l,s,r,o)=>Ge(e)?Et(e.tableId,e.cellId,[e.descending??!1,e.offset??0,e.limit],t,n):Et(e,t,[n,l,s],r,o),addStartTransactionListener:e=>ge(e,me),addWillFinishTransactionListener:e=>ge(e,be[0]),addDidFinishTransactionListener:e=>ge(e,be[1]),callListener:e=>(Ie(e),fn),delListener:e=>(ve(e),fn),getListenerStats:()=>({hasTables:xl(D),tables:xl(S),tableIds:xl(Z),hasTable:xl(M),table:xl(N),tableCellIds:xl(L),hasTableCell:xl(V,Jn),rowCount:xl(E),rowIds:xl(R),sortedRowIds:xl(A),hasRow:xl($,Jn),row:xl(z,Jn),cellIds:xl(P,Jn),hasCell:xl(J,On),cell:xl(F,On),invalidCell:xl(Q,On),hasValues:xl(ae),values:xl(ie),valueIds:xl(de),hasValue:xl(ue),value:xl(he),invalidValue:xl(te),transaction:Pn(me)+xl(be)}),isMergeable:()=>!1,_:[Nl,ge,pe,(e,t,n,l,s)=>o=[e,t,n,l,s],(e,t,n,l,s,o,a,i,d,c,u,h,m,b,g)=>r=[e,t,n,l,s,o,a,i,d,c,u,h,m,b,g],We,Ke,()=>[rl(x),ll(k)],()=>Rt(!0)]};return lt({[W+G]:[0,D,[],()=>[Wt()]],[G]:[0,S],[U]:[0,Z],[W+K]:[1,M,[$t],e=>[Qt(...e)]],[K]:[1,N,[$t]],[K+le]:[1,L,[$t]],[W+K+ne]:[2,V,[$t,Ht],e=>[Kt(...e)]],[Y]:[1,E,[$t]],[ee]:[1,R,[$t]],[W+X]:[2,$,[$t,Pt],e=>[Gt(...e)]],[X]:[2,z,[$t,Pt]],[le]:[2,P,[$t,Pt]],[W+ne]:[3,J,[$t,Pt,Ot],e=>[Ut(...e)]],[ne]:[3,F,[$t,Pt,Ot],e=>ql(_t(...e))],InvalidCell:[3,Q],[W+re]:[0,ae,[],()=>[Xt()]],[re]:[0,ie],[oe]:[0,de],[W+se]:[1,ue,[Bt],e=>[Yt(...e)]],[se]:[1,he,[Bt],e=>ql(Ft(e[0]))],InvalidValue:[1,te]},([e,t,n,l],s)=>{fn["add"+s+B]=(...s)=>ge(s[e],t[s[e+1]?1:0],e>0?Se(s,0,e):void 0,n,l)}),Xe(fn)},Ll=({s:t})=>{const n=l(Ct,t)??1,r=s(wt,()=>!0,[],t);return l(wt,t)?null:e("img",{onClick:r,title:bt,"data-position":n})},{PureComponent:Vl,createContext:El,useCallback:Rl,useContext:Al,useEffect:$l,useLayoutEffect:Hl,useMemo:zl,useRef:Pl,useState:Jl,useSyncExternalStore:Ol}=V,_l=(e,...t)=>fe(e)?{}:e(...t),jl="tinybase_uirc",Bl=he[jl]?he[jl]:he[jl]=El([]),Fl=(e,t)=>{const n=((e,t)=>{const n=Al(Bl);return fe(e)?n[2*t]:xe(e)?((e,t)=>ye(e,e=>e[t]))(n[2*t+1],e):e})(e,t);return fe(e)||xe(e)?n:e},Wl=[],Ql=[{},[],[Wl,void 0,Wl],{},void 0,void 0,!1,0],Kl=(e,t)=>e===t||(Ge(e)||De(e))&&it(e)===it(t),Gl=[(e,t)=>ot(e,t,Kl),$e,([e,t,n],[l,s,r])=>t===s&&$e(e,l)&&$e(n,r),(e,t)=>ot(e,t,He),He,Kl],Ul=(e,t)=>e===t,Xl=(e,t,n,l=Wl)=>{const s=Pl(Ql[n]),r=Rl(()=>{const r=t?.[(6==n?"has":"get")+e]?.(...l)??Ql[n];return(Gl[n]??Ul)(r,s.current)?s.current:s.current=r},[t,n,e,...l]),o=Rl(s=>((e,t,...n)=>{const l=e?.["add"+t+B]?.(...n);return()=>e?.delListener?.(l)})(t,(6==n?W:R)+e,...l,s),[t,n,e,...l]);return Ol(o,r,r)},Yl=(e,t,n,l,s,r,...o)=>((e,t,n,l=Wl,s=Me,r=Wl,o,...a)=>Rl(l=>ye(e,e=>ye(n(l,e),n=>s(e[o+t](...es(a,e,l),n),n))),[e,t,...l,...r,o,...ts(a)]))(ls(e),t,n,l,s,r,"set",...o),es=(e,t,n)=>Oe(e,e=>ke(e)?e(n,t):e),ts=e=>{return t=e=>!ke(e),e.filter(t);var t},ns=(e,t,n=Me,l=Wl,...s)=>{const r=ls(e);return Rl(e=>n(r?.["del"+t](...es(s,r,e))),[r,t,...l,...ts(s)])},ls=e=>Fl(e,0),ss=(e,t)=>Xl(K+le,ls(t),1,[e]),rs=(e,t,n,l,s,r)=>((e,t,n,l,s,r)=>Xl(te,ls(r),1,[e,t,n,l,s]))(...Ge(e)?[e.tableId,e.cellId,e.descending??!1,e.offset??0,e.limit,t]:[e,t,n,l,s,r]),os=(e,t,n,l)=>Xl(ne,ls(l),5,[e,t,n]),as=(e,t)=>Xl(se,ls(t),5,[e]),is=(e,t,n,l,s,r)=>Yl(l,K,t,n,s,r,e),ds=(e,t,n,l,s,r,o)=>Yl(s,X,n,l,r,o,e,t),cs=(e,t,n,l,s,r,o,a)=>Yl(r,ne,l,s,o,a,e,t,n),us=(e,t,n,l,s,r)=>Yl(l,se,t,n,s,r,e),hs=(e,t,n,l)=>ns(t,K,n,l,e),ms=(e,t,n,l,s)=>ns(n,X,l,s,e,t),bs=(e,t,n,l,s,r,o)=>ns(s,ne,r,o,e,t,n,l),gs=(e,t,n,l)=>ns(t,se,n,l,e),ps=e=>Fl(e,2),vs=(e,t,n)=>Xl("Slice"+ee,ps(n),1,[e,t]),Is=e=>Fl(e,3),fs=e=>Fl(e,4),Cs=(e,t)=>Xl(F+K+le,fs(t),1,[e]),ws=(e,t,n,l=0,s,r)=>Xl(F+te,fs(r),1,[e,t,n,l,s]),Ts=(e,t)=>zl(()=>({store:e,tableId:t}),[e,t]),ys=(e,t)=>zl(()=>({queries:e,queryId:t}),[e,t]),qs=(e,t,n)=>{const l=Rl(e,t);return n?l:void 0},xs=(...e)=>zl(()=>e,e),ks=(e,t,n)=>zl(()=>{const l=t??e;return lt(De(l)?Ye(Oe(l,e=>[e,e])):l,(e,t)=>({label:t,component:n,...xe(e)?{label:e}:e}))},[t,n,e]),Ds="editable",Ss=(t=[],n,l=0)=>Oe(t,({component:t},s)=>e("td",{className:de,children:e(t,{...n})},Zs(s,l))),Zs=(e,t)=>(t?">":"<")+e,Ms=(t=[],n=0)=>Oe(t,({label:t},l)=>e("th",{className:de,children:t},Zs(l,n))),Ns=({cellId:e,sort:[n,l],label:s=e??R,onClick:r})=>t("th",{onClick:qs(()=>r?.(e),[r,e],r),className:fe(l)||n!=e?void 0:`sorted ${l?"de":"a"}scending`,children:[fe(l)||n!=e?null:(l?"↓":"↑")+" ",s]}),Ls=({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:[Ms(i),!1===s?null:e(Ns,{sort:c??[],label:"Id",onClick:u}),nt(r,({label:t},n)=>e(Ns,{cellId:n,label:t,sort:c??[],onClick:u},n)),Ms(d,1)]})}),e("tbody",{children:Oe(a,n=>{const l={...o,rowId:n};return t("tr",{children:[Ss(i,l),we(s)?null:e("th",{title:n,children:n}),nt(r,({component:t,getComponentProps:s},r)=>e("td",{children:e(t,{..._l(s,n,r),...l,cellId:r})},r)),Ss(d,l,1)]},n)})})]}),Vs=({thing:n,onThingChange:l,className:s,hasSchema:r,showType:o=!0})=>{const[a,i]=Jl(),[d,c]=Jl(),[u,h]=Jl(),[m,b]=Jl(),[g,p]=Jl(),[v,I]=Jl("{}"),[f,C]=Jl("[]"),[w,T]=Jl(""),[y,q]=Jl("");d!==n&&(i(Il(n)),c(n),Ge(n)?I(it(n)):De(n)?C(it(n)):(h(n+""),b(Number(n)||0),p(!!n)));const x=Rl((e,t)=>{t(e),c(e),l(e)},[l]),k=Rl((e,t,n,s)=>{t(e);try{const t=dt(e);n(t)&&(c(t),l(t),s(""))}catch{s("invalid")}},[l]),D=Rl(()=>{if(!r?.()){const e=yl(a,H,$,P,J,A),t=yl(e,u,m,g,Ee(()=>dt(v),{}),Ee(()=>dt(f),[]));i(e),c(t),l(t)}},[r,l,u,m,g,v,f,a]),S=yl(a,e("input",{value:u,onChange:Rl(e=>x(e[ae][ie]+"",h),[x])},a),e("input",{type:"number",value:m,onChange:Rl(e=>x(Number(e[ae][ie]||0),b),[x])},a),e("input",{type:"checkbox",checked:g,onChange:Rl(e=>x(!!e[ae].checked,p),[x])},a),e("input",{value:v,className:w,onChange:Rl(e=>k(e[ae][ie],I,Ge,T),[k])},a),e("input",{value:f,className:y,onChange:Rl(e=>k(e[ae][ie],C,De,q),[k])},a));return t("div",{className:s,children:[o&&S?e("button",{title:a,className:a,onClick:D,children:a}):null,S]})},Es=({tableId:t,rowId:n,cellId:l,store:s,className:r,showType:o})=>{const[a,i]=((e,t,n,l)=>[os(e,t,n,l),cs(e,t,n,Ne,[],l)])(t,n,l,s);return e(Vs,{thing:a,onThingChange:i,className:r??Ds+ne,showType:o,hasSchema:ls(s)?.hasTablesSchema})},Rs=({valueId:t,store:n,className:l,showType:s})=>{const[r,o]=((e,t)=>[as(e,t),us(e,Ne,[],t)])(t,n);return e(Vs,{thing:r,onThingChange:o,className:l??Ds+se,showType:s,hasSchema:ls(n)?.hasValuesSchema})},As=(e,t)=>Oe(ss(e,t),t=>e+"."+t),$s=({localRowId:l,params:[s,r,o,a,i,d,c,u,h]})=>{const m=((e,t,n)=>Xl("RemoteRowId",Is(n),5,[e,t]))(i,l,d),b={tableId:o??"",rowId:l,store:c};return t("tr",{children:[Ss(u,b),we(s)?null:t(n,{children:[e("th",{title:l,children:l}),e("th",{title:m,children:m})]}),nt(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 fe(d)?null:e("td",{children:e(t,{..._l(n,d,i),store:c,tableId:r,rowId:d,cellId:i})},s)}),Ss(h,b,1)]})},Hs=({relationshipId:l,relationships:s,editable:o,customCells:a,extraCellsBefore:i,extraCellsAfter:d,className:c,headerRow:u,idColumn:h=!0})=>{const[m,b,g,p]=((e,t)=>[e,e?.getStore(),e?.getLocalTableId(t),e?.getRemoteTableId(t)])(Is(s),l),v=ks([...As(g,b),...As(p,b)],a,o?Es:r),I=xs(h,v,g,p,l,m,b,i,d);return t("table",{className:c,children:[we(u)?null:e("thead",{children:t("tr",{children:[Ms(i),we(h)?null:t(n,{children:[t("th",{children:[g,".Id"]}),t("th",{children:[p,".Id"]})]}),nt(v,({label:t},n)=>e("th",{children:t},n)),Ms(d,1)]})}),e("tbody",{children:Oe((f=g,C=b,Xl(ee,ls(C),1,[f])),t=>e($s,{localRowId:t,params:I},t))})]});var f,C},zs=(t,n=!1,l,s=0,r,o,a,i)=>{const[[d,c,u],h]=Jl([t,n,s]),m=Rl(e=>{h(e),i?.(e)},[i]),b=qs(e=>m([e,e==d&&!c,u]),[m,d,c,u],l),g=Rl(e=>m([d,c,e]),[m,d,c]),p=!0===a?Ps:a;return[[d,c,u],b,zl(()=>we(a)?null:e(p,{offset:u,limit:r,total:o,onChange:g}),[a,p,u,r,o,g])]},Ps=({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=qs(()=>l(r-o),[l,r,o],r>0),c=qs(()=>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 ",ge(s,r+o)," of "]}),s," ",1!=s?i:a]})},Js=({queryId:t,cellId:n,descending:l,offset:s,limit:r,queries:a,sortOnClick:i,paginator:d=!1,customCells:c,extraCellsBefore:u,extraCellsAfter:h,onChange:m,...b})=>{const[g,p,v]=zs(n,l,i,s,r,((e,t)=>Xl(F+Y,fs(t),7,[e]))(t,a),d,m);return e(Ls,{...b,params:xs(ks(Cs(t,a),c,o),ys(a,t),ws(t,...g,r,a),u,h,g,p,v)})},Os=({indexId:t,sliceId:n,indexes:l,editable:s,customCells:o,extraCellsBefore:a,extraCellsAfter:i,...d})=>{const[c,u,h]=((e,t)=>[e,e?.getStore(),e?.getTableId(t)])(ps(l),t);return e(Ls,{...d,params:xs(ks(ss(h,u),o,s?Es:r),Ts(u,h),vs(t,n,c),a,i)})},_s=({tableId:t,cellId:n,descending:l,offset:s,limit:o,store:a,editable:i,sortOnClick:d,paginator:c=!1,onChange:u,customCells:h,extraCellsBefore:m,extraCellsAfter:b,...g})=>{const[p,v,I]=zs(n,l,d,s,o,((e,t)=>Xl(Y,ls(t),7,[e]))(t,a),c,u);return e(Ls,{...g,params:xs(ks(ss(t,a),h,i?Es:r),Ts(a,t),rs(t,...p,o,a),m,b,p,v,I)})},js=(t=[],n,l=0)=>Oe(t,({component:t},s)=>e("td",{className:de,children:e(t,{...n})},Zs(s,l))),Bs=({store:n,editable:l=!1,valueComponent:s=(l?Rs:a),getValueComponentProps:r,extraCellsBefore:o,extraCellsAfter:i,className:d,headerRow:c,idColumn:u})=>{return t("table",{className:d,children:[!1===c?null:e("thead",{children:t("tr",{children:[Ms(o),!1===u?null:e("th",{children:"Id"}),e("th",{children:se}),Ms(i,1)]})}),e("tbody",{children:Oe((h=n,Xl(oe,ls(h),1)),l=>{const a={valueId:l,store:n};return t("tr",{children:[js(o,a),we(u)?null:e("th",{title:l,children:l}),e("td",{children:e(s,{..._l(r,l),...a})}),js(i,a,1)]},l)})})]});var h},Fs=({uniqueId:n,title:l,editable:s,handleEditable:r,children:o,s:a})=>{const c=!!i(pt,n,It,a),u=d(pt,n,It,e=>e[ae].open,[],a);return t("details",{open:c,onToggle:u,children:[t("summary",{children:[e("span",{children:l}),r?e("img",{onClick:r,className:s?"done":"edit",title:s?"Done editing":"Edit"}):null]}),e("div",{children:o})]})},Ws=(e,t)=>[!!i(pt,e,ft,t),Rl(n=>{t.setCell(pt,e,ft,e=>!e),n.preventDefault()},[t,e])],Qs=({indexes:t,indexesId:n,indexId:l,s:s})=>e(Fs,{uniqueId:yt("i",n,l),title:"Index: "+l,s:s,children:Oe(h(l,t),r=>e(Ks,{indexes:t,indexesId:n,indexId:l,sliceId:r,s:s},r))}),Ks=({indexes:t,indexesId:n,indexId:l,sliceId:s,s:r})=>{const o=yt("i",n,l,s),[a,i]=Ws(o,r);return e(Fs,{uniqueId:o,title:"Slice: "+s,editable:a,handleEditable:i,s:r,children:e(Os,{sliceId:s,indexId:l,indexes:t,editable:a})})},Gs=({indexesId:t,s:n})=>{const l=c(t),s=u(l);return fe(l)?null:e(Fs,{uniqueId:yt("i",t),title:"Indexes: "+(t??_),s:n,children:_e(s)?"No indexes defined":qt(s,s=>e(Qs,{indexes:l,indexesId:t,indexId:s,s:n},s))})},Us=({metrics:n,metricId:l})=>t("tr",{children:[e("th",{title:l,children:l}),e("td",{children:n?.getTableId(l)}),e("td",{children:g(l,n)})]}),Xs=({metricsId:n,s:l})=>{const s=m(n),r=b(s);return fe(s)?null:e(Fs,{uniqueId:yt("m",n),title:"Metrics: "+(n??_),s:l,children:_e(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:Oe(r,t=>e(Us,{metrics:s,metricId:t},t))})]})})},Ys=({queries:t,queriesId:n,queryId:l,s:s})=>{const r=yt("q",n,l),[o,a,c]=dt(i(pt,r,vt,s)??"[]"),u=d(pt,r,vt,ct,[],s);return e(Fs,{uniqueId:r,title:"Query: "+l,s:s,children:e(Js,{queryId:l,queries:t,cellId:o,descending:a,offset:c,limit:10,paginator:!0,sortOnClick:!0,onChange:u})})},er=({queriesId:t,s:n})=>{const l=p(t),s=v(l);return fe(l)?null:e(Fs,{uniqueId:yt("q",t),title:"Queries: "+(t??_),s:n,children:_e(s)?"No queries defined":qt(s,s=>e(Ys,{queries:l,queriesId:t,queryId:s,s:n},s))})},tr=({relationships:t,relationshipsId:n,relationshipId:l,s:s})=>{const r=yt("r",n,l),[o,a]=Ws(r,s);return e(Fs,{uniqueId:r,title:"Relationship: "+l,editable:o,handleEditable:a,s:s,children:e(Hs,{relationshipId:l,relationships:t,editable:o})})},nr=({relationshipsId:t,s:n})=>{const l=I(t),s=f(l);return fe(l)?null:e(Fs,{uniqueId:yt("r",t),title:"Relationships: "+(t??_),s:n,children:_e(s)?"No relationships defined":qt(s,s=>e(tr,{relationships:l,relationshipsId:t,relationshipId:s,s:n},s))})},lr=(e,t)=>{let n,l=0;for(;t(n=e+(l>0?" (copy"+(l>1?" "+l:"")+")":""));)l++;return n},sr=({actions:l,...s})=>{const[r,o]=Jl(),a=Rl(()=>o(void 0),[]);if($l(()=>{if(!fe(r)){const e=e=>{fe(r)||"Escape"!==e.key||(e.preventDefault(),a())};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)}},[r,a]),fe(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"})]})}},rr=({onDone:l,suggestedId:s,has:r,set:o,prompt:a="New Id"})=>{const[i,d]=Jl(s),[c,u]=Jl(!0),[h,m]=Jl(s),b=Rl(()=>{r(i)?u(!1):(o(i),l())},[l,u,r,o,i]),g=Rl(e=>{"Enter"===e.key&&(e.preventDefault(),b())},[b]);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:g,autoFocus:!0})," ",e("img",{onClick:b,title:c?"Confirm":"Id already exists",className:c?"ok":"okDis"})]})},or=({onClick:l,prompt:s="Delete"})=>{const r=Rl(e=>{"Enter"===e.key&&(e.preventDefault(),l())},[l]);return $l(()=>(document.addEventListener("keydown",r),()=>document.removeEventListener("keydown",r)),[r]),t(n,{children:[s,"? ",e("img",{onClick:l,title:"Confirm",className:"ok"})]})},ar=({left:n,right:l})=>t("div",{className:"actions",children:[e("div",{children:n}),e("div",{children:l})]}),ir=e=>{const t=ls(e);return Rl(e=>t?.hasTable(e)??!1,[t])},dr=({onDone:t,store:n})=>{const l=ir(n);return e(rr,{onDone:t,suggestedId:lr("table",l),has:l,set:is(e=>e,()=>({row:{cell:""}}),[],n),prompt:"Add table"})},cr=({onDone:t,store:n})=>{return e(or,{onClick:(l=n,s=t,ns(l,G,s,void 0)),prompt:"Delete all tables"});var l,s},ur=({store:t})=>{return e(ar,{left:e(sr,{actions:[["add","Add table",dr]],store:t}),right:(n=t,Xl(G,ls(n),6,[])?e(sr,{actions:[["delete","Delete all tables",cr]],store:t}):null)});var n},hr=({onDone:t,tableId:n,store:l})=>{const s=vr(l,n);return e(rr,{onDone:t,suggestedId:lr("row",s),has:s,set:ds(n,e=>e,(e,t)=>Ye(Oe(t.getTableCellIds(n),e=>[e,""]))),prompt:"Add row"})},mr=({onDone:t,tableId:n,store:l})=>{const s=ls(l),r=ir(s);return e(rr,{onDone:t,suggestedId:lr(n,r),has:r,set:is(e=>e,(e,t)=>t.getTable(n)),prompt:"Clone table to"})},br=({onDone:t,tableId:n,store:l})=>e(or,{onClick:hs(n,l,t),prompt:"Delete table"}),gr=({tableId:t,store:n})=>e(sr,{actions:[["add","Add row",hr]],store:n,tableId:t}),pr=({tableId:t,store:n})=>e(sr,{actions:[["clone","Clone table",mr],["delete","Delete table",br]],store:n,tableId:t}),vr=(e,t)=>{const n=ls(e);return Rl(e=>n?.hasRow(t,e)??!1,[n,t])},Ir=({onDone:t,tableId:n,rowId:l,store:s})=>{const r=ls(s),o=Rl(e=>r.hasCell(n,l,e),[r,n,l]);return e(rr,{onDone:t,suggestedId:lr("cell",o),has:o,set:cs(n,l,e=>e,()=>"",[],r),prompt:"Add cell"})},fr=({onDone:t,tableId:n,rowId:l,store:s})=>{const r=ls(s),o=vr(r,n);return e(rr,{onDone:t,suggestedId:lr(l,o),has:o,set:ds(n,e=>e,(e,t)=>t.getRow(n,l),[l]),prompt:"Clone row to"})},Cr=({onDone:t,tableId:n,rowId:l,store:s})=>e(or,{onClick:ms(n,l,s,t),prompt:"Delete row"}),wr=({onDone:t,tableId:n,rowId:l,cellId:s,store:r})=>e(or,{onClick:bs(n,l,s,!0,r,t),prompt:"Delete cell"}),Tr=({tableId:t,rowId:n,cellId:l,store:s})=>e(sr,{actions:[["delete","Delete cell",wr]],store:s,tableId:t,rowId:n,cellId:l}),yr=[{label:"",component:({tableId:t,rowId:n,store:l})=>e(sr,{actions:[["add","Add cell",Ir],["clone","Clone row",fr],["delete","Delete row",Cr]],store:l,tableId:t,rowId:n})}],qr=l=>t(n,{children:[e(Es,{...l}),T(l.tableId,l.rowId,l.cellId,l.store)&&e(Tr,{...l})]}),xr=({tableId:n,store:l,storeId:s,s:o})=>{const a=yt("t",s,n),[c,u,h]=dt(i(pt,a,vt,o)??"[]"),m=d(pt,a,vt,ct,[],o),[b,g]=Ws(a,o),p=b?qr:r;return t(Fs,{uniqueId:a,title:K+": "+n,editable:b,handleEditable:g,s:o,children:[e(_s,{tableId:n,store:l,cellId:c,descending:u,offset:h,limit:10,paginator:!0,sortOnClick:!0,onChange:m,editable:b,extraCellsAfter:b?yr:[],customCells:Ye(Oe(w(n,l),e=>[e,{label:e,component:p}]))}),b?t("div",{className:"actions",children:[e("div",{children:e(gr,{tableId:n,store:l})}),e("div",{children:e(pr,{tableId:n,store:l})})]}):null]})},kr=({store:n,storeId:l,s:s})=>{const r=yt("ts",l),[o,a]=Ws(r,s),i=C(n);return t(Fs,{uniqueId:r,title:G,editable:o,handleEditable:a,s:s,children:[_e(i)?e("p",{children:"No tables."}):qt(i,t=>e(xr,{store:n,storeId:l,tableId:t,s:s},t)),o?e(ur,{store:n}):null]})},Dr=e=>{const t=ls(e);return Rl(e=>t?.hasValue(e)??!1,[t])},Sr=({onDone:t,store:n})=>{const l=Dr(n);return e(rr,{onDone:t,suggestedId:lr("value",l),has:l,set:us(e=>e,()=>"",[],n),prompt:"Add value"})},Zr=({onDone:t,store:n})=>{return e(or,{onClick:(l=n,s=t,ns(l,re,s,void 0)),prompt:"Delete all values"});var l,s},Mr=({store:t})=>{return e(ar,{left:e(sr,{actions:[["add","Add value",Sr]],store:t}),right:(n=t,Xl(re,ls(n),6,[])?e(sr,{actions:[["delete","Delete all values",Zr]],store:t}):null)});var n},Nr=({onDone:t,valueId:n,store:l})=>{const s=Dr(l);return e(rr,{onDone:t,suggestedId:lr(n,s),has:s,set:us(e=>e,(e,t)=>t.getValue(n)??"",[n],l),prompt:"Clone value to"})},Lr=({onDone:t,valueId:n,store:l})=>e(or,{onClick:gs(n,l,t),prompt:"Delete value"}),Vr=[{label:"",component:({valueId:t,store:n})=>e(sr,{actions:[["clone","Clone value",Nr],["delete","Delete value",Lr]],store:n,valueId:t})}],Er=({store:n,storeId:l,s:s})=>{const r=yt("v",l),[o,a]=Ws(r,s);return t(Fs,{uniqueId:r,title:re,editable:o,handleEditable:a,s:s,children:[_e(y(n))?e("p",{children:"No values."}):e(Bs,{store:n,editable:o,extraCellsAfter:o?Vr:[]}),o?e(Mr,{store:n}):null]})},Rr=({storeId:n,s:l})=>{const s=q(n);return fe(s)?null:t(Fs,{uniqueId:yt("s",n),title:(s.isMergeable()?"Mergeable":"")+"Store: "+(n??_),s:l,children:[e(Er,{storeId:n,store:s,s:l}),e(kr,{storeId:n,store:s,s:l})]})},Ar=({s:n})=>{const l=Pl(null),s=Pl(0),[r,o]=Jl(!1),{scrollLeft:a,scrollTop:i}=x(n);Hl(()=>{const e=l.current;if(e&&!r){const t=new MutationObserver(()=>{e.scrollWidth>=pe(a)+e.clientWidth&&e.scrollHeight>=pe(i)+e.clientHeight&&e.scrollTo(a,i)});return t.observe(e,{childList:!0,subtree:!0}),()=>t.disconnect()}},[r,a,i]);const d=Rl(e=>{const{scrollLeft:t,scrollTop:l}=e[ae];var r;(e=>{globalThis.cancelIdleCallback?.(e)??clearTimeout(e)})(s.current),s.current=(r=()=>{o(!0),n.setPartialValues({scrollLeft:t,scrollTop:l})},globalThis.requestIdleCallback?.(r)??setTimeout(()=>r(),0))},[n]),u=q(),h=k(),b=m(),g=D(),v=c(),f=S(),C=I(),w=Z(),T=p(),y=M();return fe(u)&&_e(h)&&fe(b)&&_e(g)&&fe(v)&&_e(f)&&fe(C)&&_e(w)&&fe(T)&&_e(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(Rr,{s:n}),Oe(h,t=>e(Rr,{storeId:t,s:n},t)),e(Xs,{s:n}),Oe(g,t=>e(Xs,{metricsId:t,s:n},t)),e(Gs,{s:n}),Oe(f,t=>e(Gs,{indexesId:t,s:n},t)),e(nr,{s:n}),Oe(w,t=>e(nr,{relationshipsId:t,s:n},t)),e(er,{s:n}),Oe(y,t=>e(er,{queriesId:t,s:n},t))]})};class $r extends Vl{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 Hr=({s:n})=>{const r=l(Ct,n)??1,o=s(wt,()=>!1,[],n),a=s(Ct,e=>Number(e[ae].dataset.id),[],n);return t("header",{children:[e("img",{className:"flat",title:bt,onClick:()=>open("https://tinybase.org","_blank")}),e("span",{children:bt}),Oe(gt,(t,n)=>n==r?null:e("img",{onClick:a,"data-id":n,title:"Dock to "+t},n)),e("img",{className:"flat",onClick:o,title:"Close"})]})},zr=({s:n})=>{const s=l(Ct,n)??1;return l(wt,n)?t("main",{"data-position":s,children:[e(Hr,{s:n}),e($r,{children:e(Ar,{s:n})})]}):null},Pr=({position:l="right",open:s=!1,hue:r=270})=>{const o=N(Nl);return L(o,e=>{return t=mt,n=sessionStorage,((e,t,n,l,s,r,o,a={},i=0,d=[])=>{let c,u,h,m=0,b=0,g=0;tl(gl,d,()=>0),tl(pl,d,()=>[]);const p=Gn(),[v,I,f,C,w]=((e=1,t,n)=>1!=e&&t.isMergeable()?[1,t.__[1],()=>t.__[2](!n),([[e],[t]])=>!rt(e)||!rt(t),t.setDefaultContent]:2!=e?[0,t._[7],t._[8],([e,t])=>!rt(e)||!rt(t),t.setContent]:Ve("Store type not supported by this Persister"))(o,e,i),[T,y,q]=bl(()=>$),x=e=>{e!=m&&(m=e,y(p,void 0,m))},k=t=>{(v&&De(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},D=async()=>{E()&&e.__?.[0]?.()&&await N()},S=async e=>(2!=m&&(x(1),b++,await A(async()=>{await Re(async()=>{const n=await t();De(n)?k(n):e?w(e):Ve("Content is not an array: "+n)},()=>{e&&w(e)}),x(0),await D()})),$),Z=async e=>(M(),await S(e),await Re(async()=>u=await l(async(e,t)=>{t||e?2!=m&&(x(1),b++,k(t??e),x(0),await D()):await S()}),r),$),M=async()=>(u&&(await Re(()=>s(u),r),u=void 0),$),N=async e=>(1!=m&&(x(2),g++,await A(async()=>{await Re(()=>n(I,e),r),x(0)})),$),L=async()=>(V(),await N(),h=e.addDidFinishTransactionListener(()=>{const e=f();C(e)&&N(e)}),$),V=async()=>(h&&(e.delListener(h),h=void 0),$),E=()=>!fe(h),R=async(e=!1)=>{const[t,n]=e?[V,M]:[M,V];return await t(),await n(),$},A=async(...e)=>(je(Xn(pl,d),...e),await(async()=>{if(!Xn(gl,d)){for(el(gl,d,1);!fe(c=Be(Xn(pl,d)));)await Re(c,r);el(gl,d,0)}})(),$),$={load:S,startAutoLoad:Z,stopAutoLoad:M,isAutoLoading:()=>!fe(u),save:N,startAutoSave:L,stopAutoSave:V,isAutoSaving:E,startAutoPersisting:async(e,t=!1)=>{const[n,l]=t?[L,Z]:[Z,L];return await n(e),await l(e),$},stopAutoPersisting:R,getStatus:()=>m,addStatusListener:e=>T(e,p),delListener:t=>(q(t),e),schedule:A,getStore:()=>e,destroy:()=>(Xn(pl,d).splice(0,void 0),R()),getStats:()=>({loads:b,saves:g}),...a};return Xe($)})(e,async()=>ut(n.getItem(t)),async e=>{return n.setItem(t,(l=e(),it(l,(e,t)=>fe(t)?"":t)));var l},e=>{const l=l=>{l.storageArea===n&&l.key===t&&Re(()=>e(ut(l.newValue)),e)};return me.addEventListener(vl,l),l},e=>me.removeEventListener(vl,e),void 0,3,{getStorageName:()=>t});var t,n},void 0,async e=>{await e.load([{},{position:Tt(l),open:!!s}]),await e.startAutoSave()}),t(n,{children:[t("aside",{id:mt,style:{"--hue":r},children:[e(Ll,{s:o}),e(zr,{s:o})]}),e("style",{children:$n})]})};export{Pr as Inspector};
1
+ import{jsx as e,jsxs as t,Fragment as n}from"react/jsx-runtime";import{useValue as l,useSetValueCallback as s,CellView as r,ResultCellView as o,ValueView as a,useCell as i,useSetCellCallback as d,useIndexes as c,useIndexIds as u,useSliceIds as h,useMetrics as m,useMetricIds as b,useMetric as g,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/index.js";import V from"react";const E=e=>typeof e,R="",A=E(R),$=E(!0),H=E(0),z=E(E),P="object",J="array",O="type",_="default",j="allowNull",B="Listener",F="Result",W="Has",Q="Ids",K="Table",G=K+"s",U=K+Q,X="Row",Y=X+"Count",ee=X+Q,te="Sorted"+X+Q,ne="Cell",le=ne+Q,se="Value",re=se+"s",oe=se+Q,ae="currentTarget",ie="value",de="extra",ce=e=>R+e,ue=Math,he=e=>(t,n,l)=>e(t)?l?.():n(t),me=globalThis,be=me.window,ge=Number,pe=String,ve=Boolean,Ie=ue.min,fe=ue.floor,Ce=isFinite,we=e=>null==e,Te=e=>void 0===e,ye=e=>null===e,qe=e=>!1===e,xe=he(we),ke=he(Te),Se=e=>e==A||e==$,De=e=>E(e)==A,Ze=e=>E(e)==z,Me=e=>Array.isArray(e),Ne=(e,t,n)=>e.slice(t,n),Le=e=>e.length,Ve=()=>{},Ee=e=>e,Re=me.structuredClone,Ae=e=>{throw Error(e)},$e=(e,t)=>{try{return e()}catch{return t}},He=async(e,t,n)=>{try{return await e()}catch(e){t?.(e)}},ze=(e,t)=>e.every(t),Pe=(e,t)=>Le(e)===Le(t)&&ze(e,(e,n)=>t[n]===e),Je=(e,t)=>Me(e)&&Me(t)?Pe(e,t):e===t,Oe=(e,t)=>e.sort(t),_e=(e,t)=>e.forEach(t),je=(e,t="")=>e.join(t),Be=(e,t)=>e.map(t),Fe=e=>0==Le(e),We=(e,...t)=>e.push(...t),Qe=e=>e.shift(),Ke=Object,Ge=e=>Ke.getPrototypeOf(e),Ue=Ke.isFrozen,Xe=Ke.entries,Ye=e=>!we(e)&&xe(Ge(e),e=>e==Ke.prototype||we(Ge(e)),()=>!0),et=Ke.keys,tt=Ke.freeze,nt=(e=[])=>Ke.fromEntries(e),lt=(e,t)=>t in e,st=(e,t)=>(delete e[t],e),rt=(e,t)=>Be(Xe(e),([e,n])=>t(n,e)),ot=(e,t)=>nt(rt(e,(e,n)=>[n,t(e,n)])),at=e=>Le(et(e)),it=e=>Ye(e)&&0==at(e),dt=(e,t,n=(e,t)=>e===t)=>{const l=Xe(e);return Le(l)===at(t)&&ze(l,([e,l])=>Ye(l)?!!Ye(t[e])&&dt(t[e],l,n):n(l,t[e]))},ct=(e,t,n,l=0)=>we(e)||!Ye(e)||!l&&it(e)||Ue(e)?(n?.(),!1):(((e,t)=>{_e(Xe(e),([e,n])=>t(n,e))})(e,(n,l)=>{t(n,l)||st(e,l)}),!!l||!it(e)),ut=JSON.stringify,ht=JSON.parse,mt=e=>ut(e,(e,t)=>t instanceof Map?Ke.fromEntries([...t]):t),bt=e=>gt(ht(e)),gt=e=>""===e?void 0:Me(e)?Be(e,gt):Ye(e)?ot(e,gt):e,pt="tinybaseInspector",vt="TinyBase Inspector",It=["left","top","bottom","right","full"],ft="state",Ct="sort",wt="open",Tt="editable",yt="position",qt=wt,xt=e=>{const t=It.indexOf(e);return-1==t?1:t},kt=(...e)=>mt(e),St=(e,t)=>Be(Oe([...e]),t),Dt='url("',Zt=(e,t="white")=>({content:Dt+`data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960' fill='${t}'><path d='${e}' /></svg>")`}),Mt="v560h120v-560h-120Z",Nt="v560h360v-560h-360Z",Lt="v120h560v-120h-560Z",Vt="v360h560v-360h-560Z",Et={content:Dt+"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\")"},Rt=Be([`M200-760${Mt} M400-760${Nt}`,`M200-760${Lt} M200-560${Vt}`,`M200-760${Vt} M200-320${Lt}`,`M200-760${Nt} M640-760${Mt}`],e=>Zt("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));We(Rt,Zt("M120-120v-200h80v120h120v80H120Zm520 0v-80h120v-120h80v200H640ZM120-640v-200h200v80H200v120h-80Zm640 0v-120H640v-80h200v200h-80Z"));const At=Zt("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"),$t=Zt("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"),Ht=Zt("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"),zt=Zt("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"),Pt=Zt("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"),Jt=Zt("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"),Ot=Zt("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)"),_t=Zt("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)"),jt=Zt("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)"),Bt=Zt("M480-344 240-584l56-56 184 184 184-184 56 56-240 240Z"),Ft=Zt("M504-480 320-664l56-56 240 240-240 240-56-56 184-184Z"),Wt="*::-webkit-scrollbar",Qt="background",Kt="width",Gt="max-"+Kt,Ut="min-"+Kt,Xt="height",Yt="border",en="radius",tn=Yt+"-"+en,nn="padding",ln="margin",sn="top",rn="bottom",on="left",an="right",dn="color",cn="position",un="box-shadow",hn="font-size",mn="display",bn="overflow",gn="cursor",pn="vertical-align",vn="text-align",In="justify-content",fn="white-space",Cn="text-overflow",wn="align-items",Tn="backdrop-filter",yn=ln+"-"+an,qn="z-index",xn="fixed",kn="revert",Sn="unset",Dn="none",Zn="flex",Mn="pointer",Nn="auto",Ln="hidden",Vn="nowrap",En=(e,t="% 0.01 "+Rn("hue"))=>`oklch(${e}${t})`,Rn=e=>`var(--${e})`,An=(...e)=>e.join("rem ")+"rem",$n=(...e)=>e.join("px ")+"px",Hn=(e=100)=>e+"vw",zn=(e=100)=>e+"vh",Pn=je(rt({"":{all:"initial",[hn]:An(.75),[cn]:xn,[qn]:999999,"font-family":"inter,sans-serif","--bg":En(20),"--bg2":En(15),"--bg3":En(25),"--bg4":En(30),"--fg":En(85),"--fg2":En(60),["--"+Yt]:$n(1)+" solid "+Rn("bg4"),["--"+un]:$n(0,1,2,0)+" #0007"},"*":{all:kn},"*::before":{all:kn},"*::after":{all:kn},[Wt]:{[Kt]:An(.5),[Xt]:An(.5)},[Wt+"-thumb"]:{[Qt]:Rn("bg4")},[Wt+"-thumb:hover"]:{[Qt]:Rn("bg4")},[Wt+"-corner"]:{[Qt]:Dn},[Wt+"-track"]:{[Qt]:Dn},img:{[Kt]:An(.8),[Xt]:An(.8),[pn]:"text-"+rn,[gn]:Mn,[ln]:$n(-2.5,2,-2.5,0),[nn]:$n(2),[Yt]:Rn(Yt),[Qt]:Rn("bg3"),[un]:Rn(un),[tn]:An(.25)},"img.flat":{[Yt]:Dn,[Qt]:Dn,[un]:Dn},">img":{[nn]:An(.25),[rn]:0,[an]:0,[cn]:xn,[Xt]:Sn,[ln]:0,...Et},...nt(Be([{[rn]:0,[on]:0},{[sn]:0,[an]:0}],(e,t)=>[`>img[data-position='${t}']`,e])),main:{[mn]:Zn,[dn]:Rn("fg"),[Qt]:Rn("bg"),[bn]:Ln,[cn]:xn,[un]:Rn(un),"flex-direction":"column"},...nt(Be([{[rn]:0,[on]:0,[Kt]:Hn(35),[Xt]:zn(),[Yt+"-"+an]:Rn(Yt)},{[sn]:0,[an]:0,[Kt]:Hn(),[Xt]:zn(30),[Yt+"-"+rn]:Rn(Yt)},{[rn]:0,[on]:0,[Kt]:Hn(),[Xt]:zn(30),[Yt+"-"+sn]:Rn(Yt)},{[sn]:0,[an]:0,[Kt]:Hn(35),[Xt]:zn(),[Yt+"-"+on]:Rn(Yt)},{[sn]:0,[an]:0,[Kt]:Hn(),[Xt]:zn()}],(e,t)=>[`main[data-position='${t}']`,e])),header:{[mn]:Zn,[nn]:An(.5),[un]:Rn(un),[Qt]:En(30,"% 0.008 var(--hue) / .5"),[Kt]:"calc(100% - .5rem)",[cn]:"absolute",[qn]:1,[Yt+"-"+rn]:Rn(Yt),[wn]:"center",[Tn]:"blur(4px)"},"header>img:nth-of-type(1)":{[Xt]:An(1),[Kt]:An(1),...Et},"header>img:nth-of-type(6)":At,...nt(Be(Rt,(e,t)=>[`header>img[data-id='${t}']`,e])),"header>span":{[bn]:Ln,[Zn]:1,"font-weight":800,[fn]:Vn,[Cn]:"ellipsis"},article:{[bn]:Nn,[Zn]:1,[nn+"-"+sn]:An(2)},details:{[ln]:An(.5),[Yt]:Rn(Yt),[tn]:An(.25)},summary:{[Qt]:Rn("bg3"),[ln]:$n(-1),[Yt]:Rn(Yt),[nn]:An(.25,.125),[mn]:Zn,[tn]:An(.25),"user-select":Dn,[In]:"space-between",[wn]:"center",[Tn]:"blur(4px)"},"summary>span::before":{[mn]:"inline-block",[pn]:"sub",[ln]:$n(2),[Kt]:An(1),[Xt]:An(1),...Ft},"details[open]>summary":{[Yt+"-"+rn+"-"+on+"-"+en]:0,[Yt+"-"+rn+"-"+an+"-"+en]:0,[ln+"-"+rn]:0},"details[open]>summary>span::before":Bt,"details>summary img":{[mn]:Dn},"details[open]>summary img":{[mn]:Sn,[ln+"-"+on]:An(.25)},"details>div":{[bn]:Nn},[`caption,#${pt} p`]:{[dn]:Rn("fg2"),[nn]:An(.25,.5),[vn]:on,[ln]:0,[fn]:Vn},"caption button":{[Kt]:An(1.5),[Yt]:Dn,[Qt]:Dn,[dn]:Rn("fg"),[nn]:0,[gn]:Mn},"caption button[disabled]":{[dn]:Rn("fg2")},".actions":{[nn]:An(.75,.5),[ln]:0,[mn]:Zn,[Yt+"-"+sn]:Rn(Yt),[In]:"space-between"},table:{[Ut]:"100%","border-collapse":"collapse","table-layout":xn},thead:{[Qt]:Rn("bg")},[`th,#${pt} td`]:{[bn]:Ln,[nn]:An(.25,.5),[Gt]:An(20),[Yt]:Rn(Yt),[Cn]:"ellipsis",[fn]:Vn,"border-width":$n(1,0,0),[vn]:on},"th:first-child":{[Kt]:An(3),[Ut]:An(3),[Gt]:An(3)},"th.sorted":{[Qt]:Rn("bg3")},"td.extra":{[vn]:an},"tbody button":{[Qt]:Dn,[Yt]:Dn,[hn]:0,[Kt]:An(.8),[Xt]:An(.8),[dn]:Rn("fg2"),[ln]:An(0,.25,0,-.25),"line-height":An(.8)},"tbody button:first-letter":{[hn]:An(.8)},input:{[Qt]:Rn("bg2"),[dn]:Sn,[nn]:$n(4),[Yt]:0,[ln]:$n(-4,0),[hn]:Sn,[Gt]:An(6)},"input:focus":{"outline-width":0},'input[type="number"]':{[Kt]:An(3)},'input[type="checkbox"]':{[pn]:$n(-2)},".editableCell":{[mn]:"inline-block",[yn]:$n(2)},"button.next":{[yn]:An(.5)},"img.add":zt,"img.clone":Pt,"img.delete":Jt,"img.done":Ht,"img.edit":$t,"img.ok":Ot,"img.okDis":_t,"img.cancel":jt,"span.warn":{[ln]:An(2,.25),[dn]:"#d81b60"}},(e,t)=>`#${pt} ${t}{${je(rt(e,(e,t)=>`${t}:${e};`))}}`)),Jn=e=>t=>{return n=(t,n)=>t+e(n),Qn(t).reduce(n,0);var n},On=e=>e?.size??0,_n=Jn(On),jn=Jn(_n),Bn=Jn(jn),Fn=(e,t)=>e?.has(t)??!1,Wn=e=>Te(e)||0==On(e),Qn=e=>[...e?.values()??[]],Kn=e=>e.clear(),Gn=(e,t)=>e?.forEach(t),Un=(e,t)=>e?.delete(t),Xn=Map,Yn=e=>new Xn(e),el=e=>[...e?.keys()??[]],tl=(e,t)=>e?.get(t),nl=(e,t)=>Gn(e,(e,n)=>t(n,e)),ll=(e,t,n)=>Te(n)?(Un(e,t),e):e?.set(t,n),sl=(e,t,n,l)=>(Fn(e,t)?l?.(tl(e,t)):ll(e,t,n()),tl(e,t)),rl=(e,t,n,l=ll)=>(ot(t,(t,l)=>n(e,l,t)),nl(e,n=>lt(t,n)?0:l(e,n)),e),ol=(e,t,n,l)=>{const s={};return Gn(e,(e,r)=>{if(!n?.(e,r)){const n=t?t(e,r):e;l?.(n)||(s[r]=n)}}),s},al=(e,t,n)=>ol(e,e=>ol(e,t,n),Wn,it),il=(e,t,n)=>ol(e,e=>al(e,t,n),Wn,it),dl=(e,t)=>{const n=Yn();return Gn(e,(e,l)=>n.set(l,t?.(e)??e)),n},cl=e=>dl(e,dl),ul=e=>dl(e,cl),hl=(e,t,n,l,s=0)=>ke((n?sl:tl)(e,t[s],s>Le(t)-2?n:Yn),r=>{if(s>Le(t)-2)return l?.(r)&&ll(e,t[s]),r;const o=hl(r,t,n,l,s+1);return Wn(r)&&ll(e,t[s]),o}),ml=/^\d+$/,bl=()=>{const e=[];let t=0;return[n=>(n?Qe(e):null)??R+t++,t=>{ml.test(t)&&Le(e)<1e3&&We(e,t)}]},gl=e=>new Set(Me(e)||Te(e)?e:[e]),pl=(e,t)=>e?.add(t),vl=e=>{let t;const[n,l]=bl(),s=Yn();return[(l,r,o,a=[],i=()=>[])=>{t??=e();const d=n(1);return ll(s,d,[l,r,o,a,i]),pl(hl(r,o??[R],gl),d),d},(e,n,...l)=>_e(((e,t=[R])=>{const n=[],l=(e,s)=>s==Le(t)?We(n,e):ye(t[s])?Gn(e,e=>l(e,s+1)):_e([t[s],null],t=>l(tl(e,t),s+1));return l(e,0),n})(e,n),e=>Gn(e,e=>tl(s,e)[0](t,...n??[],...l))),e=>ke(tl(s,e),([,t,n])=>(hl(t,n??[R],void 0,t=>(Un(t,e),Wn(t)?1:0)),ll(s,e),l(e),n)),e=>ke(tl(s,e),([e,,n=[],l,s])=>{const r=(...o)=>{const a=Le(o);a==Le(n)?e(t,...o,...s(o)):ye(n[a])?_e(l[a]?.(...o)??[],e=>r(...o,e)):r(...o,n[a])};r()})]},Il=Yn(),fl=Yn(),Cl="storage",wl=e=>{if(ye(e))return"null";if(Me(e))return J;if(Ye(e))return P;const t=E(e);return Se(t)||t==H&&Ce(e)?t:void 0},Tl=e=>e==P||e==J,yl=e=>Ye(e)||Me(e)?"�"+ut(e):e,ql=e=>De(e)&&"�"==e[0],xl=(e,t,n)=>!n&&ql(e)?ht(Ne(e,1)):e,kl=(e,t,n,l,s,r)=>e==A?t:e==H?n:e==$?l:e==P?s:e==J?r:null,Sl=e=>[e,e],Dl=(e,t=_n)=>t(e[0])+t(e[1]),Zl=()=>[Yn(),Yn()],Ml=e=>[...e],Nl=([e,t])=>e===t,Ll=(e,t,n)=>ll(e,t,tl(e,t)==-n?void 0:n),Vl=([e,t],[n,l])=>dt(e,n)&&dt(t,l),El=()=>{let e,t,n=!1,l=!1,s=0,r=[],o=[],a=0;const i=Yn(),d=Yn(),c=Yn(),u=Yn(),h=Yn(),m=Yn(),b=Yn(),g=Yn(),p=Yn(),v=Yn(),I=Yn(),f=Yn(),C=Yn(),w=Yn(),T=gl(),y=Yn(),q=Yn(),x=Yn(),k=Yn(),S=Zl(),D=Zl(),Z=Zl(),M=Zl(),N=Zl(),L=Zl(),V=Zl(),E=Zl(),R=Zl(),A=Zl(),$=Zl(),z=Zl(),P=Zl(),J=Zl(),F=Zl(),Q=Zl(),te=Zl(),ae=Zl(),ie=Zl(),de=Zl(),ue=Zl(),he=Zl(),me=Yn(),be=Zl(),[ge,pe,ve,Ie]=vl(()=>fn),fe=e=>{const t=a;a=1;const n=e();return a=t,n},Ce=(e,t,n,l=Object.is)=>ke(t(),t=>e===t||l(e,t)?n(t):fe(()=>n(t))),we=e=>{if(!ct(e,(e,t)=>[O,_,j].includes(t)))return!1;const t=e[O];if(!Se(t)&&t!=H&&!Tl(t))return!1;const n=e[_];return!(ye(n)&&!e[j]||(ye(n)||(wl(n)!=t?st(e,_):e[_]=yl(n)),0))},qe=Me,xe=(t,n)=>(!e||Fn(I,n)||qt(n))&&ct(t,(e,t)=>De(n,t,e),()=>qt(n)),De=(e,t,n,l)=>ct(l?n:Ae(n,e,t),(l,s)=>ke(Le(e,t,s,l),e=>(n[s]=e,!0),()=>!1),()=>qt(e,t)),Le=(t,n,l,s)=>e?ke(tl(tl(I,t),l),e=>ye(s)?e[j]?s:qt(t,n,l,s,e[_]):wl(s)===e[O]?yl(s):Tl(e[O])&&ql(s)?s:qt(t,n,l,s,e[_]),()=>qt(t,n,l,s)):Te(wl(s))?qt(t,n,l,s):yl(s),Ve=(e,t)=>ct(t?e:$e(e),(t,n)=>ke(Ee(n,t),t=>(e[n]=t,!0),()=>!1),()=>xt()),Ee=(e,n)=>t?ke(tl(C,e),t=>ye(n)?t[j]?n:xt(e,n,t[_]):wl(n)===t[O]?yl(n):Tl(t[O])&&ql(n)?n:xt(e,n,t[_]),()=>xt(e,n)):Te(wl(n))?xt(e,n):yl(n),Ae=(e,t,n)=>(ke(tl(f,t),([l,s])=>{Gn(l,(t,n)=>{lt(e,n)||(e[n]=t)}),Gn(s,l=>{lt(e,l)||qt(t,n,l)})}),e),$e=e=>(t&&(Gn(w,(t,n)=>{lt(e,n)||(e[n]=t)}),Gn(T,t=>{lt(e,t)||xt(t)})),e),ze=e=>rl(I,e,(e,t,n)=>{const l=Yn(),s=gl();rl(sl(I,t,Yn),n,(e,t,n)=>{ll(e,t,n),ke(n[_],e=>ll(l,t,e),()=>pl(s,t))}),ll(f,t,[l,s])},(e,t)=>{ll(I,t),ll(f,t)}),Je=e=>rl(C,e,(e,t,n)=>{ll(C,t,n),ke(n[_],e=>ll(w,t,e),()=>pl(T,t))},(e,t)=>{ll(C,t),ll(w,t),Un(T,t)}),je=e=>it(e)?an():en(e),Fe=(e,t,n,l,s,r)=>Te(l)?un(e,t,n,!0,s):tn(e,t,n,l,s,r),Qe=e=>it(e)?hn():nn(e),Ke=(e,t,n)=>Te(t)?mn(e,n):ln(e,t,n),Ge=(e,t)=>Ce(e,()=>t?e:ke(r[1],t=>fe(()=>t(Re(e))),()=>e),e=>rl(x,e,(e,t,n)=>Ue(t,n),(e,t)=>bt(t)),dt),Ue=(e,t,n)=>Ce(t,()=>n?t:ke(r[2],n=>fe(()=>n(e,Re(t))),()=>t),t=>rl(sl(x,e,()=>(It(e,1),ll(y,e,bl()),ll(q,e,Yn()),Yn())),t,(t,n,l)=>Xe(e,t,n,l),(t,n)=>gt(e,t,n)),dt),Xe=(e,t,n,l,s)=>Ce(l,()=>s?l:ke(r[3],t=>fe(()=>t(e,n,Re(l))),()=>l),l=>rl(sl(t,n,()=>(ft(e,n,1),Yn())),l,(t,l,s)=>et(e,n,t,l,s),(l,r)=>pt(e,t,n,l,r,s)),dt),et=(e,t,n,l,s,o)=>Ce(s,()=>ke(o?void 0:r[4],n=>fe(()=>n(e,t,l,s)),()=>s),s=>{Fn(n,l)||Ct(e,t,l,1);const r=tl(n,l);s!==r&&(wt(e,t,l,r,s),ll(n,l,s))}),nt=(e,t,n,l,s,r)=>ke(tl(t,n),t=>et(e,n,t,l,s,r),()=>{const o=Yn();ll(t,n,o),ft(e,n,1),ot(Ae({[l]:s},e,n),(t,l)=>et(e,n,o,l,t,r))}),rt=(e,t)=>Ce(e,()=>t?e:ke(r[5],t=>fe(()=>t(Re(e))),()=>e),e=>rl(k,e,(e,t,n)=>at(t,n),(e,t)=>vt(t)),dt),at=(e,t,n)=>Ce(t,()=>ke(n?void 0:r[6],n=>fe(()=>n(e,t)),()=>t),t=>{Fn(k,e)||Tt(e,1);const n=tl(k,e);t!==n&&(yt(e,n,t),ll(k,e,t))}),ut=e=>sl(x,e,()=>(It(e,1),ll(y,e,bl()),ll(q,e,Yn()),Yn())),bt=e=>fe(()=>r[8]?.(e))??1?Ue(e,{},!0):tl(x,e),gt=(e,t,n)=>{if(fe(()=>r[9]?.(e,n))??1){const[,l]=tl(y,e);l(n),Xe(e,t,n,{},!0)}},pt=(e,t,n,l,s,o,a)=>{const i=tl(tl(f,e)?.[0],s);if(!Te(i)&&!o)return et(e,n,l,s,i);if(a||(fe(()=>r[10]?.(e,n,s))??1)){const r=t=>{wt(e,n,t,tl(l,t)),Ct(e,n,t,-1),ll(l,t)};Te(i)?r(s):nl(l,r),Wn(l)&&(ft(e,n,-1),Wn(ll(t,n))&&(It(e,-1),ll(x,e),ll(y,e),ll(q,e)))}},vt=(e,t)=>{const n=tl(w,e);if(!Te(n))return at(e,n);(t||(fe(()=>r[12]?.(e))??1))&&(yt(e,tl(k,e)),Tt(e,-1),ll(k,e))},It=(e,t)=>Ll(i,e,t),ft=(e,t,n)=>Ll(sl(u,e,Yn),t,n)&&ll(c,e,sl(c,e,()=>0)+n),Ct=(e,t,n,l)=>{const s=tl(q,e),r=tl(s,n)??0;(0==r&&1==l||1==r&&-1==l)&&Ll(sl(d,e,Yn),n,l),ll(s,n,r!=-l?r+l:void 0),Ll(sl(sl(h,e,Yn),t,Yn),n,l)},wt=(e,t,n,l,s)=>{sl(sl(sl(m,e,Yn),t,Yn),n,()=>[l,0])[1]=s,o[3]?.(e,t,n,s,a)},Tt=(e,t)=>Ll(b,e,t),yt=(e,t,n)=>{sl(g,e,()=>[t,0])[1]=n,o[4]?.(e,n,a)},qt=(e,t,n,l,s)=>(We(sl(sl(sl(p,e,Yn),t,Yn),n,()=>[]),l),s),xt=(e,t,n)=>(We(sl(v,e,()=>[]),t),n),kt=(e,t,n)=>ke(tl(tl(tl(m,e),t),n),([e,t])=>[!0,xl(e),xl(t)],()=>[!1,...Sl(_t(e,t,n))]),St=e=>ke(tl(g,e),([e,t])=>[!0,xl(e),xl(t)],()=>[!1,...Sl(Ft(e))]),Dt=e=>Wn(p)||Wn(Q[e])?0:Gn(e?ul(p):p,(t,n)=>Gn(t,(t,l)=>Gn(t,(t,s)=>pe(Q[e],[n,l,s],t)))),Zt=e=>Wn(v)||Wn(te[e])?0:Gn(e?dl(v):v,(t,n)=>pe(te[e],[n],t)),Mt=(e,t,n,l)=>{if(!Wn(e))return pe(t,l,()=>ol(e)),nl(e,(e,t)=>pe(n,[...l??[],e],1==t)),1},Nt=e=>{const t=!Wn(S[e]),l=!Wn(A[e]),s=!(Wn(P[e])&&Wn(J[e])&&Wn(R[e])&&Wn($[e])&&Wn(L[e])&&Wn(V[e])&&Wn(E[e])&&!l&&Wn(Z[e])&&Wn(M[e])),r=!(Wn(F[e])&&Wn(z[e])&&Wn(N[e])&&Wn(D[e]));if(t||s||r){const a=e?[dl(i),cl(d),dl(c),cl(u),ul(h),(o=m,dl(o,e=>dl(e,e=>dl(e,Ml))))]:[i,d,c,u,h,m];if(t){const t=Wt();t!=n&&pe(S[e],void 0,t)}if(s){Mt(a[0],Z[e],M[e]),Gn(a[1],(t,n)=>Mt(t,L[e],V[e],[n])),Gn(a[2],(t,n)=>{0!=t&&pe(E[e],[n],zt(n))});const t=gl();Gn(a[3],(n,s)=>{Mt(n,R[e],$[e],[s])&&l&&(pe(A[e],[s,null]),pl(t,s))}),l&&Gn(a[5],(n,l)=>{if(!Fn(t,l)){const t=gl();Gn(n,e=>Gn(e,([n,l],s)=>l!==n?pl(t,s):Un(e,s))),Gn(t,t=>pe(A[e],[l,t]))}}),Gn(a[4],(t,n)=>Gn(t,(t,l)=>Mt(t,P[e],J[e],[n,l])))}if(r){let t;Gn(a[5],(n,l)=>{let s;Gn(n,(n,r)=>{let o;Gn(n,([n,a],i)=>{a!==n&&(pe(F[e],[l,r,i],xl(a),xl(n),kt),t=s=o=1)}),o&&pe(z[e],[l,r],kt)}),s&&pe(N[e],[l],kt)}),t&&pe(D[e],void 0,kt)}}var o},Lt=e=>{const t=!Wn(ae[e]),n=!Wn(de[e])||!Wn(ue[e]),s=!Wn(he[e])||!Wn(ie[e]);if(t||n||s){const r=e?[dl(b),dl(g,Ml)]:[b,g];if(t){const t=Xt();t!=l&&pe(ae[e],void 0,t)}if(n&&Mt(r[0],de[e],ue[e]),s){let t;Gn(r[1],([n,l],s)=>{l!==n&&(pe(he[e],[s],xl(l),xl(n),St),t=1)}),t&&pe(ie[e],void 0,St)}}},Vt=(e,...t)=>(pn(()=>e(...Be(t,ce))),fn),Et=(e,t,n,l,s)=>{let r=Jt(e,t,...n);return ge(()=>{const s=Jt(e,t,...n);Pe(s,r)||(r=s,l(fn,e,t,...n,r))},A[s?1:0],[e,t],[$t])},Rt=(e=!1)=>[ol(m,(t,n)=>-1===tl(i,n)?void 0:ol(t,(t,l)=>-1===tl(tl(u,n),l)?void 0:ol(t,([,t])=>xl(t,0,e),e=>Nl(e)),Wn,it),Wn,it),ol(g,([,t])=>xl(t,0,e),e=>Nl(e)),1],At=()=>il(x,xl),$t=()=>el(x),Ht=e=>el(tl(q,ce(e))),zt=e=>On(tl(x,ce(e))),Pt=e=>el(tl(x,ce(e))),Jt=(e,t,n,l=0,s)=>{return Ye(e)?Jt(e.tableId,e.cellId,e.descending,e.offset,e.limit):Be(Ne(Oe((r=tl(x,ce(e)),o=(e,n)=>[Te(t)?n:tl(e,ce(t)),n],Be([...r?.entries()??[]],([e,t])=>o(t,e))),([e],[t])=>((e??0)<(t??0)?-1:1)*(n?-1:1)),l,Te(s)?s:l+s),([,e])=>e);var r,o},Ot=(e,t)=>el(tl(tl(x,ce(e)),ce(t))),_t=(e,t,n)=>xl(tl(tl(tl(x,ce(e)),ce(t)),ce(n))),jt=()=>ol(k,xl),Bt=()=>el(k),Ft=e=>xl(tl(k,ce(e))),Wt=()=>!Wn(x),Qt=e=>Fn(x,ce(e)),Kt=(e,t)=>Fn(tl(q,ce(e)),ce(t)),Gt=(e,t)=>Fn(tl(x,ce(e)),ce(t)),Ut=(e,t,n)=>Fn(tl(tl(x,ce(e)),ce(t)),ce(n)),Xt=()=>!Wn(k),Yt=e=>Fn(k,ce(e)),en=e=>Vt(()=>(e=>ct(e,xe,qt))(e)?Ge(e):0),tn=(e,t,n,l,s,o)=>Vt((e,t,n)=>ke(Le(e,t,n,Ze(l)?l(_t(e,t,n)):l),l=>{const a=ut(e);ke(s||o||!r[14]?.()?void 0:r[3],r=>{const o=tl(a,t),i={...o?ol(o):{},[n]:l};ke(fe(()=>r(e,t,Re(i))),n=>((e,t,n,l,s)=>{rl(sl(t,n,()=>(ft(e,n,1),Yn())),l,(t,l,r)=>ke(Le(e,n,l,r),r=>et(e,n,t,l,r,s)),(l,s)=>pt(e,t,n,l,s,!0))})(e,a,t,n,s))},()=>nt(e,a,t,n,l,s))}),e,t,n),nn=e=>Vt(()=>Ve(e)?rt(e):0),ln=(e,t,n)=>Vt(e=>ke(Ee(e,Ze(t)?t(Ft(e)):t),t=>at(e,t,n)),e),sn=e=>(He(()=>je(ht(e))),fn),rn=t=>Vt(()=>{if((e=ct(t,e=>ct(e,we)))&&(ze(t),!Wn(x))){const e=At();an(),en(e)}}),on=e=>Vt(()=>{if(t=(e=>ct(e,we))(e)){const n=jt();gn(),hn(),t=!0,Je(e),nn(n)}}),an=()=>Vt(()=>fe(()=>r[7]?.())??1?Ge({},!0):0),dn=e=>Vt(e=>Fn(x,e)?bt(e):0,e),cn=(e,t)=>Vt((e,t)=>ke(tl(x,e),n=>Fn(n,t)?gt(e,n,t):0),e,t),un=(e,t,n,l,s)=>Vt((e,t,n)=>ke(tl(x,e),r=>ke(tl(r,t),o=>Fn(o,n)?pt(e,r,t,o,n,l,s):0)),e,t,n),hn=()=>Vt(()=>fe(()=>r[11]?.())??1?rt({},!0):0),mn=(e,t)=>Vt(e=>Fn(k,e)?vt(e,t):0,e),bn=()=>Vt(()=>{ze({}),e=!1}),gn=()=>Vt(()=>{Je({}),t=!1}),pn=(e,t)=>{if(-1!=s){vn();const n=e();return In(t),n}},vn=()=>(-1!=s&&s++,1==s&&(o[0]?.(),pe(me)),fn),In=e=>(s>0&&(s--,0==s&&(s=1,fe(()=>{Dt(1),Wn(m)||Nt(1),Zt(1),Wn(g)||Lt(1)}),e?.(fn)&&(Gn(m,(e,t)=>Gn(e,(e,n)=>Gn(e,([e],l)=>Fe(t,n,l,e,!0)))),Kn(m),Gn(g,([e],t)=>Ke(t,e,!0)),Kn(g)),pe(be[0],void 0),s=-1,Dt(0),Wn(m)||Nt(0),Zt(0),Wn(g)||Lt(0),o[1]?.(),pe(be[1],void 0),o[2]?.(),s=0,n=Wt(),l=Xt(),_e([i,d,c,u,h,m,p,b,g,v],Kn))),fn),fn={getContent:()=>[At(),jt()],getTables:At,getTableIds:$t,getTable:e=>al(tl(x,ce(e)),xl),getTableCellIds:Ht,getRowCount:zt,getRowIds:Pt,getSortedRowIds:Jt,getRow:(e,t)=>ol(tl(tl(x,ce(e)),ce(t)),xl),getCellIds:Ot,getCell:_t,getValues:jt,getValueIds:Bt,getValue:Ft,hasTables:Wt,hasTable:Qt,hasTableCell:Kt,hasRow:Gt,hasCell:Ut,hasValues:Xt,hasValue:Yt,getTablesJson:()=>mt(x),getValuesJson:()=>mt(k),getJson:()=>mt([x,k]),getTablesSchemaJson:()=>mt(I),getValuesSchemaJson:()=>mt(C),getSchemaJson:()=>mt([I,C]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:e=>Vt(()=>{const t=Ze(e)?e():e;qe(t)&&(e=>{Ce(e,()=>ke(r[0],t=>fe(()=>t(Re(e))),()=>e),([e,t])=>{(it(e)?an:en)(e),(it(t)?hn:nn)(t)},Vl)})(t)}),setTables:en,setTable:(e,t)=>Vt(e=>xe(t,e)?Ue(e,t):0,e),setRow:(e,t,n)=>Vt((e,t)=>De(e,t,n)?Xe(e,ut(e),t,n):0,e,t),addRow:(e,t,n=!0)=>pn(()=>{let l;return De(e,l,t)&&(e=ce(e),Xe(e,ut(e),l=((e,t)=>{const[n]=tl(y,e);let l;do{l=n(t)}while(Fn(tl(x,e),l));return l})(e,n?1:0),t)),l}),setPartialRow:(e,t,n)=>Vt((e,t)=>{if(De(e,t,n,1)){const l=ut(e);ot(n,(n,s)=>nt(e,l,t,s,n))}},e,t),setCell:tn,setValues:nn,setPartialValues:e=>Vt(()=>Ve(e,1)?ot(e,(e,t)=>at(t,e)):0),setValue:ln,applyChanges:e=>Vt(()=>Ce(e,()=>ke(r[13],t=>fe(()=>t(Re(e))),()=>e),e=>{ot(e[0],(e,t)=>Te(e)?dn(t):ot(e,(e,n)=>Te(e)?cn(t,n):ot(e,(e,l)=>Fe(t,n,l,e,void 0,!0)))),ot(e[1],(e,t)=>Ke(t,e))},Vl)),setTablesJson:sn,setValuesJson:e=>(He(()=>Qe(ht(e))),fn),setJson:e=>Vt(()=>He(()=>{const[t,n]=ht(e);je(t),Qe(n)},()=>sn(e))),setTablesSchema:rn,setValuesSchema:on,setSchema:(e,t)=>Vt(()=>{rn(e),on(t)}),delTables:an,delTable:dn,delRow:cn,delCell:un,delValues:hn,delValue:mn,delTablesSchema:bn,delValuesSchema:gn,delSchema:()=>Vt(()=>{bn(),gn()}),transaction:pn,startTransaction:vn,getTransactionChanges:()=>Rt(),getTransactionLog:()=>[!Wn(m),!Wn(g),il(m,Ml,Nl),il(p),ol(g,Ml,Nl),ol(v),ol(i),al(u),il(h),ol(b)],finishTransaction:In,forEachTable:e=>Gn(x,(t,n)=>e(n,e=>Gn(t,(t,n)=>e(n,e=>nl(t,(t,n)=>e(t,xl(n))))))),forEachTableCell:(e,t)=>nl(tl(q,ce(e)),t),forEachRow:(e,t)=>Gn(tl(x,ce(e)),(e,n)=>t(n,t=>nl(e,(e,n)=>t(e,xl(n))))),forEachCell:(e,t,n)=>nl(tl(tl(x,ce(e)),ce(t)),(e,t)=>n(e,xl(t))),forEachValue:e=>nl(k,(t,n)=>e(t,xl(n))),addSortedRowIdsListener:(e,t,n,l,s,r,o)=>Ye(e)?Et(e.tableId,e.cellId,[e.descending??!1,e.offset??0,e.limit],t,n):Et(e,t,[n,l,s],r,o),addStartTransactionListener:e=>ge(e,me),addWillFinishTransactionListener:e=>ge(e,be[0]),addDidFinishTransactionListener:e=>ge(e,be[1]),callListener:e=>(Ie(e),fn),delListener:e=>(ve(e),fn),getListenerStats:()=>({hasTables:Dl(S),tables:Dl(D),tableIds:Dl(Z),hasTable:Dl(M),table:Dl(N),tableCellIds:Dl(L),hasTableCell:Dl(V,jn),rowCount:Dl(E),rowIds:Dl(R),sortedRowIds:Dl(A),hasRow:Dl($,jn),row:Dl(z,jn),cellIds:Dl(P,jn),hasCell:Dl(J,Bn),cell:Dl(F,Bn),invalidCell:Dl(Q,Bn),hasValues:Dl(ae),values:Dl(ie),valueIds:Dl(de),hasValue:Dl(ue),value:Dl(he),invalidValue:Dl(te),transaction:_n(me)+Dl(be)}),isMergeable:()=>!1,_:[El,ge,pe,(e,t,n,l,s)=>o=[e,t,n,l,s],(e,t,n,l,s,o,a,i,d,c,u,h,m,b,g)=>r=[e,t,n,l,s,o,a,i,d,c,u,h,m,b,g],Fe,Ke,()=>[il(x),ol(k)],()=>Rt(!0)]};return ot({[W+G]:[0,S,[],()=>[Wt()]],[G]:[0,D],[U]:[0,Z],[W+K]:[1,M,[$t],e=>[Qt(...e)]],[K]:[1,N,[$t]],[K+le]:[1,L,[$t]],[W+K+ne]:[2,V,[$t,Ht],e=>[Kt(...e)]],[Y]:[1,E,[$t]],[ee]:[1,R,[$t]],[W+X]:[2,$,[$t,Pt],e=>[Gt(...e)]],[X]:[2,z,[$t,Pt]],[le]:[2,P,[$t,Pt]],[W+ne]:[3,J,[$t,Pt,Ot],e=>[Ut(...e)]],[ne]:[3,F,[$t,Pt,Ot],e=>Sl(_t(...e))],InvalidCell:[3,Q],[W+re]:[0,ae,[],()=>[Xt()]],[re]:[0,ie],[oe]:[0,de],[W+se]:[1,ue,[Bt],e=>[Yt(...e)]],[se]:[1,he,[Bt],e=>Sl(Ft(e[0]))],InvalidValue:[1,te]},([e,t,n,l],s)=>{fn["add"+s+B]=(...s)=>ge(s[e],t[s[e+1]?1:0],e>0?Ne(s,0,e):void 0,n,l)}),tt(fn)},Rl=({s:t})=>{const n=l(yt,t)??1,r=s(qt,()=>!0,[],t);return l(qt,t)?null:e("img",{onClick:r,title:vt,"data-position":n})},{PureComponent:Al,createContext:$l,useCallback:Hl,useContext:zl,useEffect:Pl,useLayoutEffect:Jl,useMemo:Ol,useRef:_l,useState:jl,useSyncExternalStore:Bl}=V,Fl=(e,...t)=>Te(e)?{}:e(...t),Wl="tinybase_uirc",Ql=me[Wl]?me[Wl]:me[Wl]=$l([]),Kl=(e,t)=>{const n=((e,t)=>{const n=zl(Ql);return Te(e)?n[2*t]:De(e)?((e,t)=>ke(e,e=>e[t]))(n[2*t+1],e):e})(e,t);return Te(e)||De(e)?n:e},Gl=[],Ul=[{},[],[Gl,void 0,Gl],{},void 0,void 0,!1,0],Xl=(e,t)=>e===t||(Ye(e)||Me(e))&&ut(e)===ut(t),Yl=[(e,t)=>dt(e,t,Xl),Pe,([e,t,n],[l,s,r])=>t===s&&Pe(e,l)&&Pe(n,r),(e,t)=>dt(e,t,Je),Je,Xl],es=(e,t)=>e===t,ts=(e,t,n,l=Gl)=>{const s=_l(Ul[n]),r=Hl(()=>{const r=t?.[(6==n?"has":"get")+e]?.(...l)??Ul[n];return(Yl[n]??es)(r,s.current)?s.current:s.current=r},[t,n,e,...l]),o=Hl(s=>((e,t,...n)=>{const l=e?.["add"+t+B]?.(...n);return()=>e?.delListener?.(l)})(t,(6==n?W:R)+e,...l,s),[t,n,e,...l]);return Bl(o,r,r)},ns=(e,t,n,l,s,r,...o)=>((e,t,n,l=Gl,s=Ve,r=Gl,o,...a)=>Hl(l=>ke(e,e=>ke(n(l,e),n=>s(e[o+t](...ls(a,e,l),n),n))),[e,t,...l,...r,o,...ss(a)]))(os(e),t,n,l,s,r,"set",...o),ls=(e,t,n)=>Be(e,e=>Ze(e)?e(n,t):e),ss=e=>{return t=e=>!Ze(e),e.filter(t);var t},rs=(e,t,n=Ve,l=Gl,...s)=>{const r=os(e);return Hl(e=>n(r?.["del"+t](...ls(s,r,e))),[r,t,...l,...ss(s)])},os=e=>Kl(e,0),as=(e,t)=>ts(K+le,os(t),1,[e]),is=(e,t,n,l,s,r)=>((e,t,n,l,s,r)=>ts(te,os(r),1,[e,t,n,l,s]))(...Ye(e)?[e.tableId,e.cellId,e.descending??!1,e.offset??0,e.limit,t]:[e,t,n,l,s,r]),ds=(e,t,n,l)=>ts(ne,os(l),5,[e,t,n]),cs=(e,t)=>ts(se,os(t),5,[e]),us=(e,t,n,l,s,r)=>ns(l,K,t,n,s,r,e),hs=(e,t,n,l,s,r,o)=>ns(s,X,n,l,r,o,e,t),ms=(e,t,n,l,s,r,o,a)=>ns(r,ne,l,s,o,a,e,t,n),bs=(e,t,n,l,s,r)=>ns(l,se,t,n,s,r,e),gs=(e,t,n,l)=>rs(t,K,n,l,e),ps=(e,t,n,l,s)=>rs(n,X,l,s,e,t),vs=(e,t,n,l,s,r,o)=>rs(s,ne,r,o,e,t,n,l),Is=(e,t,n,l)=>rs(t,se,n,l,e),fs=e=>Kl(e,2),Cs=(e,t,n)=>ts("Slice"+ee,fs(n),1,[e,t]),ws=e=>Kl(e,3),Ts=e=>Kl(e,4),ys=(e,t)=>ts(F+K+le,Ts(t),1,[e]),qs=(e,t,n,l=0,s,r)=>ts(F+te,Ts(r),1,[e,t,n,l,s]),xs=(e,t)=>Ol(()=>({store:e,tableId:t}),[e,t]),ks=(e,t)=>Ol(()=>({queries:e,queryId:t}),[e,t]),Ss=(e,t,n)=>{const l=Hl(e,t);return n?l:void 0},Ds=(...e)=>Ol(()=>e,e),Zs=(e,t,n)=>Ol(()=>{const l=t??e;return ot(Me(l)?nt(Be(l,e=>[e,e])):l,(e,t)=>({label:t,component:n,...De(e)?{label:e}:e}))},[t,n,e]),Ms="editable",Ns=(t=[],n,l=0)=>Be(t,({component:t},s)=>e("td",{className:de,children:e(t,{...n})},Ls(s,l))),Ls=(e,t)=>(t?">":"<")+e,Vs=(t=[],n=0)=>Be(t,({label:t},l)=>e("th",{className:de,children:t},Ls(l,n))),Es=({cellId:e,sort:[n,l],label:s=e??R,onClick:r})=>t("th",{onClick:Ss(()=>r?.(e),[r,e],r),className:Te(l)||n!=e?void 0:`sorted ${l?"de":"a"}scending`,children:[Te(l)||n!=e?null:(l?"↓":"↑")+" ",s]}),Rs=({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:[Vs(i),!1===s?null:e(Es,{sort:c??[],label:"Id",onClick:u}),rt(r,({label:t},n)=>e(Es,{cellId:n,label:t,sort:c??[],onClick:u},n)),Vs(d,1)]})}),e("tbody",{children:Be(a,n=>{const l={...o,rowId:n};return t("tr",{children:[Ns(i,l),qe(s)?null:e("th",{title:n,children:n}),rt(r,({component:t,getComponentProps:s},r)=>e("td",{children:e(t,{...Fl(s,n,r),...l,cellId:r})},r)),Ns(d,l,1)]},n)})})]}),As=({thing:n,onThingChange:l,className:s,hasSchema:r,showType:o=!0})=>{const[a,i]=jl(),[d,c]=jl(),[u,h]=jl(),[m,b]=jl(),[g,p]=jl(),[v,I]=jl("{}"),[f,C]=jl("[]"),[w,T]=jl(""),[y,q]=jl("");d!==n&&(i(wl(n)),c(n),Ye(n)?I(ut(n)):Me(n)?C(ut(n)):(h(pe(n)),b(ge(n)||0),p(ve(n))));const x=Hl((e,t)=>{t(e),c(e),l(e)},[l]),k=Hl((e,t,n,s)=>{t(e);try{const t=ht(e);n(t)&&(c(t),l(t),s(""))}catch{s("invalid")}},[l]),S=Hl(()=>{if(!r?.()){const e=kl(a,H,$,P,J,A),t=kl(e,u,m,g,$e(()=>ht(v),{}),$e(()=>ht(f),[]));i(e),c(t),l(t)}},[r,l,u,m,g,v,f,a]),D=kl(a,e("input",{value:u,onChange:Hl(e=>x(pe(e[ae][ie]),h),[x])},a),e("input",{type:"number",value:m,onChange:Hl(e=>x(ge(e[ae][ie]||0),b),[x])},a),e("input",{type:"checkbox",checked:g,onChange:Hl(e=>x(ve(e[ae].checked),p),[x])},a),e("input",{value:v,className:w,onChange:Hl(e=>k(e[ae][ie],I,Ye,T),[k])},a),e("input",{value:f,className:y,onChange:Hl(e=>k(e[ae][ie],C,Me,q),[k])},a));return t("div",{className:s,children:[o&&D?e("button",{title:a,className:a,onClick:S,children:a}):null,D]})},$s=({tableId:t,rowId:n,cellId:l,store:s,className:r,showType:o})=>{const[a,i]=((e,t,n,l)=>[ds(e,t,n,l),ms(e,t,n,Ee,[],l)])(t,n,l,s);return e(As,{thing:a,onThingChange:i,className:r??Ms+ne,showType:o,hasSchema:os(s)?.hasTablesSchema})},Hs=({valueId:t,store:n,className:l,showType:s})=>{const[r,o]=((e,t)=>[cs(e,t),bs(e,Ee,[],t)])(t,n);return e(As,{thing:r,onThingChange:o,className:l??Ms+se,showType:s,hasSchema:os(n)?.hasValuesSchema})},zs=(e,t)=>Be(as(e,t),t=>e+"."+t),Ps=({localRowId:l,params:[s,r,o,a,i,d,c,u,h]})=>{const m=((e,t,n)=>ts("RemoteRowId",ws(n),5,[e,t]))(i,l,d),b={tableId:o??"",rowId:l,store:c};return t("tr",{children:[Ns(u,b),qe(s)?null:t(n,{children:[e("th",{title:l,children:l}),e("th",{title:m,children:m})]}),rt(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 Te(d)?null:e("td",{children:e(t,{...Fl(n,d,i),store:c,tableId:r,rowId:d,cellId:i})},s)}),Ns(h,b,1)]})},Js=({relationshipId:l,relationships:s,editable:o,customCells:a,extraCellsBefore:i,extraCellsAfter:d,className:c,headerRow:u,idColumn:h=!0})=>{const[m,b,g,p]=((e,t)=>[e,e?.getStore(),e?.getLocalTableId(t),e?.getRemoteTableId(t)])(ws(s),l),v=Zs([...zs(g,b),...zs(p,b)],a,o?$s:r),I=Ds(h,v,g,p,l,m,b,i,d);return t("table",{className:c,children:[qe(u)?null:e("thead",{children:t("tr",{children:[Vs(i),qe(h)?null:t(n,{children:[t("th",{children:[g,".Id"]}),t("th",{children:[p,".Id"]})]}),rt(v,({label:t},n)=>e("th",{children:t},n)),Vs(d,1)]})}),e("tbody",{children:Be((f=g,C=b,ts(ee,os(C),1,[f])),t=>e(Ps,{localRowId:t,params:I},t))})]});var f,C},Os=(t,n=!1,l,s=0,r,o,a,i)=>{const[[d,c,u],h]=jl([t,n,s]),m=Hl(e=>{h(e),i?.(e)},[i]),b=Ss(e=>m([e,e==d&&!c,u]),[m,d,c,u],l),g=Hl(e=>m([d,c,e]),[m,d,c]),p=!0===a?_s:a;return[[d,c,u],b,Ol(()=>qe(a)?null:e(p,{offset:u,limit:r,total:o,onChange:g}),[a,p,u,r,o,g])]},_s=({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=Ss(()=>l(r-o),[l,r,o],r>0),c=Ss(()=>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 ",Ie(s,r+o)," of "]}),s," ",1!=s?i:a]})},js=({queryId:t,cellId:n,descending:l,offset:s,limit:r,queries:a,sortOnClick:i,paginator:d=!1,customCells:c,extraCellsBefore:u,extraCellsAfter:h,onChange:m,...b})=>{const[g,p,v]=Os(n,l,i,s,r,((e,t)=>ts(F+Y,Ts(t),7,[e]))(t,a),d,m);return e(Rs,{...b,params:Ds(Zs(ys(t,a),c,o),ks(a,t),qs(t,...g,r,a),u,h,g,p,v)})},Bs=({indexId:t,sliceId:n,indexes:l,editable:s,customCells:o,extraCellsBefore:a,extraCellsAfter:i,...d})=>{const[c,u,h]=((e,t)=>[e,e?.getStore(),e?.getTableId(t)])(fs(l),t);return e(Rs,{...d,params:Ds(Zs(as(h,u),o,s?$s:r),xs(u,h),Cs(t,n,c),a,i)})},Fs=({tableId:t,cellId:n,descending:l,offset:s,limit:o,store:a,editable:i,sortOnClick:d,paginator:c=!1,onChange:u,customCells:h,extraCellsBefore:m,extraCellsAfter:b,...g})=>{const[p,v,I]=Os(n,l,d,s,o,((e,t)=>ts(Y,os(t),7,[e]))(t,a),c,u);return e(Rs,{...g,params:Ds(Zs(as(t,a),h,i?$s:r),xs(a,t),is(t,...p,o,a),m,b,p,v,I)})},Ws=(t=[],n,l=0)=>Be(t,({component:t},s)=>e("td",{className:de,children:e(t,{...n})},Ls(s,l))),Qs=({store:n,editable:l=!1,valueComponent:s=(l?Hs:a),getValueComponentProps:r,extraCellsBefore:o,extraCellsAfter:i,className:d,headerRow:c,idColumn:u})=>{return t("table",{className:d,children:[!1===c?null:e("thead",{children:t("tr",{children:[Vs(o),!1===u?null:e("th",{children:"Id"}),e("th",{children:se}),Vs(i,1)]})}),e("tbody",{children:Be((h=n,ts(oe,os(h),1)),l=>{const a={valueId:l,store:n};return t("tr",{children:[Ws(o,a),qe(u)?null:e("th",{title:l,children:l}),e("td",{children:e(s,{...Fl(r,l),...a})}),Ws(i,a,1)]},l)})})]});var h},Ks=({uniqueId:n,title:l,editable:s,handleEditable:r,children:o,s:a})=>{const c=!!i(ft,n,wt,a),u=d(ft,n,wt,e=>e[ae].open,[],a);return t("details",{open:c,onToggle:u,children:[t("summary",{children:[e("span",{children:l}),r?e("img",{onClick:r,className:s?"done":"edit",title:s?"Done editing":"Edit"}):null]}),e("div",{children:o})]})},Gs=(e,t)=>[!!i(ft,e,Tt,t),Hl(n=>{t.setCell(ft,e,Tt,e=>!e),n.preventDefault()},[t,e])],Us=({indexes:t,indexesId:n,indexId:l,s:s})=>e(Ks,{uniqueId:kt("i",n,l),title:"Index: "+l,s:s,children:Be(h(l,t),r=>e(Xs,{indexes:t,indexesId:n,indexId:l,sliceId:r,s:s},r))}),Xs=({indexes:t,indexesId:n,indexId:l,sliceId:s,s:r})=>{const o=kt("i",n,l,s),[a,i]=Gs(o,r);return e(Ks,{uniqueId:o,title:"Slice: "+s,editable:a,handleEditable:i,s:r,children:e(Bs,{sliceId:s,indexId:l,indexes:t,editable:a})})},Ys=({indexesId:t,s:n})=>{const l=c(t),s=u(l);return Te(l)?null:e(Ks,{uniqueId:kt("i",t),title:"Indexes: "+(t??_),s:n,children:Fe(s)?"No indexes defined":St(s,s=>e(Us,{indexes:l,indexesId:t,indexId:s,s:n},s))})},er=({metrics:n,metricId:l})=>t("tr",{children:[e("th",{title:l,children:l}),e("td",{children:n?.getTableId(l)}),e("td",{children:g(l,n)})]}),tr=({metricsId:n,s:l})=>{const s=m(n),r=b(s);return Te(s)?null:e(Ks,{uniqueId:kt("m",n),title:"Metrics: "+(n??_),s:l,children:Fe(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:Be(r,t=>e(er,{metrics:s,metricId:t},t))})]})})},nr=({queries:t,queriesId:n,queryId:l,s:s})=>{const r=kt("q",n,l),[o,a,c]=ht(i(ft,r,Ct,s)??"[]"),u=d(ft,r,Ct,mt,[],s);return e(Ks,{uniqueId:r,title:"Query: "+l,s:s,children:e(js,{queryId:l,queries:t,cellId:o,descending:a,offset:c,limit:10,paginator:!0,sortOnClick:!0,onChange:u})})},lr=({queriesId:t,s:n})=>{const l=p(t),s=v(l);return Te(l)?null:e(Ks,{uniqueId:kt("q",t),title:"Queries: "+(t??_),s:n,children:Fe(s)?"No queries defined":St(s,s=>e(nr,{queries:l,queriesId:t,queryId:s,s:n},s))})},sr=({relationships:t,relationshipsId:n,relationshipId:l,s:s})=>{const r=kt("r",n,l),[o,a]=Gs(r,s);return e(Ks,{uniqueId:r,title:"Relationship: "+l,editable:o,handleEditable:a,s:s,children:e(Js,{relationshipId:l,relationships:t,editable:o})})},rr=({relationshipsId:t,s:n})=>{const l=I(t),s=f(l);return Te(l)?null:e(Ks,{uniqueId:kt("r",t),title:"Relationships: "+(t??_),s:n,children:Fe(s)?"No relationships defined":St(s,s=>e(sr,{relationships:l,relationshipsId:t,relationshipId:s,s:n},s))})},or=(e,t)=>{let n,l=0;for(;t(n=e+(l>0?" (copy"+(l>1?" "+l:"")+")":""));)l++;return n},ar=({actions:l,...s})=>{const[r,o]=jl(),a=Hl(()=>o(void 0),[]);if(Pl(()=>{if(!Te(r)){const e=e=>{Te(r)||"Escape"!==e.key||(e.preventDefault(),a())};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)}},[r,a]),Te(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"})]})}},ir=({onDone:l,suggestedId:s,has:r,set:o,prompt:a="New Id"})=>{const[i,d]=jl(s),[c,u]=jl(!0),[h,m]=jl(s),b=Hl(()=>{r(i)?u(!1):(o(i),l())},[l,u,r,o,i]),g=Hl(e=>{"Enter"===e.key&&(e.preventDefault(),b())},[b]);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:g,autoFocus:!0})," ",e("img",{onClick:b,title:c?"Confirm":"Id already exists",className:c?"ok":"okDis"})]})},dr=({onClick:l,prompt:s="Delete"})=>{const r=Hl(e=>{"Enter"===e.key&&(e.preventDefault(),l())},[l]);return Pl(()=>(document.addEventListener("keydown",r),()=>document.removeEventListener("keydown",r)),[r]),t(n,{children:[s,"? ",e("img",{onClick:l,title:"Confirm",className:"ok"})]})},cr=({left:n,right:l})=>t("div",{className:"actions",children:[e("div",{children:n}),e("div",{children:l})]}),ur=e=>{const t=os(e);return Hl(e=>t?.hasTable(e)??!1,[t])},hr=({onDone:t,store:n})=>{const l=ur(n);return e(ir,{onDone:t,suggestedId:or("table",l),has:l,set:us(e=>e,()=>({row:{cell:""}}),[],n),prompt:"Add table"})},mr=({onDone:t,store:n})=>{return e(dr,{onClick:(l=n,s=t,rs(l,G,s,void 0)),prompt:"Delete all tables"});var l,s},br=({store:t})=>{return e(cr,{left:e(ar,{actions:[["add","Add table",hr]],store:t}),right:(n=t,ts(G,os(n),6,[])?e(ar,{actions:[["delete","Delete all tables",mr]],store:t}):null)});var n},gr=({onDone:t,tableId:n,store:l})=>{const s=Cr(l,n);return e(ir,{onDone:t,suggestedId:or("row",s),has:s,set:hs(n,e=>e,(e,t)=>nt(Be(t.getTableCellIds(n),e=>[e,""]))),prompt:"Add row"})},pr=({onDone:t,tableId:n,store:l})=>{const s=os(l),r=ur(s);return e(ir,{onDone:t,suggestedId:or(n,r),has:r,set:us(e=>e,(e,t)=>t.getTable(n)),prompt:"Clone table to"})},vr=({onDone:t,tableId:n,store:l})=>e(dr,{onClick:gs(n,l,t),prompt:"Delete table"}),Ir=({tableId:t,store:n})=>e(ar,{actions:[["add","Add row",gr]],store:n,tableId:t}),fr=({tableId:t,store:n})=>e(ar,{actions:[["clone","Clone table",pr],["delete","Delete table",vr]],store:n,tableId:t}),Cr=(e,t)=>{const n=os(e);return Hl(e=>n?.hasRow(t,e)??!1,[n,t])},wr=({onDone:t,tableId:n,rowId:l,store:s})=>{const r=os(s),o=Hl(e=>r.hasCell(n,l,e),[r,n,l]);return e(ir,{onDone:t,suggestedId:or("cell",o),has:o,set:ms(n,l,e=>e,()=>"",[],r),prompt:"Add cell"})},Tr=({onDone:t,tableId:n,rowId:l,store:s})=>{const r=os(s),o=Cr(r,n);return e(ir,{onDone:t,suggestedId:or(l,o),has:o,set:hs(n,e=>e,(e,t)=>t.getRow(n,l),[l]),prompt:"Clone row to"})},yr=({onDone:t,tableId:n,rowId:l,store:s})=>e(dr,{onClick:ps(n,l,s,t),prompt:"Delete row"}),qr=({onDone:t,tableId:n,rowId:l,cellId:s,store:r})=>e(dr,{onClick:vs(n,l,s,!0,r,t),prompt:"Delete cell"}),xr=({tableId:t,rowId:n,cellId:l,store:s})=>e(ar,{actions:[["delete","Delete cell",qr]],store:s,tableId:t,rowId:n,cellId:l}),kr=[{label:"",component:({tableId:t,rowId:n,store:l})=>e(ar,{actions:[["add","Add cell",wr],["clone","Clone row",Tr],["delete","Delete row",yr]],store:l,tableId:t,rowId:n})}],Sr=l=>t(n,{children:[e($s,{...l}),T(l.tableId,l.rowId,l.cellId,l.store)&&e(xr,{...l})]}),Dr=({tableId:n,store:l,storeId:s,s:o})=>{const a=kt("t",s,n),[c,u,h]=ht(i(ft,a,Ct,o)??"[]"),m=d(ft,a,Ct,mt,[],o),[b,g]=Gs(a,o),p=b?Sr:r;return t(Ks,{uniqueId:a,title:K+": "+n,editable:b,handleEditable:g,s:o,children:[e(Fs,{tableId:n,store:l,cellId:c,descending:u,offset:h,limit:10,paginator:!0,sortOnClick:!0,onChange:m,editable:b,extraCellsAfter:b?kr:[],customCells:nt(Be(w(n,l),e=>[e,{label:e,component:p}]))}),b?t("div",{className:"actions",children:[e("div",{children:e(Ir,{tableId:n,store:l})}),e("div",{children:e(fr,{tableId:n,store:l})})]}):null]})},Zr=({store:n,storeId:l,s:s})=>{const r=kt("ts",l),[o,a]=Gs(r,s),i=C(n);return t(Ks,{uniqueId:r,title:G,editable:o,handleEditable:a,s:s,children:[Fe(i)?e("p",{children:"No tables."}):St(i,t=>e(Dr,{store:n,storeId:l,tableId:t,s:s},t)),o?e(br,{store:n}):null]})},Mr=e=>{const t=os(e);return Hl(e=>t?.hasValue(e)??!1,[t])},Nr=({onDone:t,store:n})=>{const l=Mr(n);return e(ir,{onDone:t,suggestedId:or("value",l),has:l,set:bs(e=>e,()=>"",[],n),prompt:"Add value"})},Lr=({onDone:t,store:n})=>{return e(dr,{onClick:(l=n,s=t,rs(l,re,s,void 0)),prompt:"Delete all values"});var l,s},Vr=({store:t})=>{return e(cr,{left:e(ar,{actions:[["add","Add value",Nr]],store:t}),right:(n=t,ts(re,os(n),6,[])?e(ar,{actions:[["delete","Delete all values",Lr]],store:t}):null)});var n},Er=({onDone:t,valueId:n,store:l})=>{const s=Mr(l);return e(ir,{onDone:t,suggestedId:or(n,s),has:s,set:bs(e=>e,(e,t)=>t.getValue(n)??"",[n],l),prompt:"Clone value to"})},Rr=({onDone:t,valueId:n,store:l})=>e(dr,{onClick:Is(n,l,t),prompt:"Delete value"}),Ar=[{label:"",component:({valueId:t,store:n})=>e(ar,{actions:[["clone","Clone value",Er],["delete","Delete value",Rr]],store:n,valueId:t})}],$r=({store:n,storeId:l,s:s})=>{const r=kt("v",l),[o,a]=Gs(r,s);return t(Ks,{uniqueId:r,title:re,editable:o,handleEditable:a,s:s,children:[Fe(y(n))?e("p",{children:"No values."}):e(Qs,{store:n,editable:o,extraCellsAfter:o?Ar:[]}),o?e(Vr,{store:n}):null]})},Hr=({storeId:n,s:l})=>{const s=q(n);return Te(s)?null:t(Ks,{uniqueId:kt("s",n),title:(s.isMergeable()?"Mergeable":"")+"Store: "+(n??_),s:l,children:[e($r,{storeId:n,store:s,s:l}),e(Zr,{storeId:n,store:s,s:l})]})},zr=({s:n})=>{const l=_l(null),s=_l(0),[r,o]=jl(!1),{scrollLeft:a,scrollTop:i}=x(n);Jl(()=>{const e=l.current;if(e&&!r){const t=new MutationObserver(()=>{e.scrollWidth>=fe(a)+e.clientWidth&&e.scrollHeight>=fe(i)+e.clientHeight&&e.scrollTo(a,i)});return t.observe(e,{childList:!0,subtree:!0}),()=>t.disconnect()}},[r,a,i]);const d=Hl(e=>{const{scrollLeft:t,scrollTop:l}=e[ae];var r;(e=>{globalThis.cancelIdleCallback?.(e)??clearTimeout(e)})(s.current),s.current=(r=()=>{o(!0),n.setPartialValues({scrollLeft:t,scrollTop:l})},globalThis.requestIdleCallback?.(r)??setTimeout(()=>r(),0))},[n]),u=q(),h=k(),b=m(),g=S(),v=c(),f=D(),C=I(),w=Z(),T=p(),y=M();return Te(u)&&Fe(h)&&Te(b)&&Fe(g)&&Te(v)&&Fe(f)&&Te(C)&&Fe(w)&&Te(T)&&Fe(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(Hr,{s:n}),Be(h,t=>e(Hr,{storeId:t,s:n},t)),e(tr,{s:n}),Be(g,t=>e(tr,{metricsId:t,s:n},t)),e(Ys,{s:n}),Be(f,t=>e(Ys,{indexesId:t,s:n},t)),e(rr,{s:n}),Be(w,t=>e(rr,{relationshipsId:t,s:n},t)),e(lr,{s:n}),Be(y,t=>e(lr,{queriesId:t,s:n},t))]})};class Pr extends Al{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 Jr=({s:n})=>{const r=l(yt,n)??1,o=s(qt,()=>!1,[],n),a=s(yt,e=>ge(e[ae].dataset.id),[],n);return t("header",{children:[e("img",{className:"flat",title:vt,onClick:()=>open("https://tinybase.org","_blank")}),e("span",{children:vt}),Be(It,(t,n)=>n==r?null:e("img",{onClick:a,"data-id":n,title:"Dock to "+t},n)),e("img",{className:"flat",onClick:o,title:"Close"})]})},Or=({s:n})=>{const s=l(yt,n)??1;return l(qt,n)?t("main",{"data-position":s,children:[e(Jr,{s:n}),e(Pr,{children:e(zr,{s:n})})]}):null},_r=({position:l="right",open:s=!1,hue:r=270})=>{const o=N(El);return L(o,e=>{return t=pt,n=sessionStorage,((e,t,n,l,s,r,o,a={},i=0,d=[])=>{let c,u,h,m=0,b=0,g=0;sl(Il,d,()=>0),sl(fl,d,()=>[]);const p=Yn(),[v,I,f,C,w]=((e=1,t,n)=>1!=e&&t.isMergeable()?[1,t.__[1],()=>t.__[2](!n),([[e],[t]])=>!it(e)||!it(t),t.setDefaultContent]:2!=e?[0,t._[7],t._[8],([e,t])=>!it(e)||!it(t),t.setContent]:Ae("Store type not supported by this Persister"))(o,e,i),[T,y,q]=vl(()=>$),x=e=>{e!=m&&(m=e,y(p,void 0,m))},k=t=>{(v&&Me(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},S=async()=>{E()&&e.__?.[0]?.()&&await N()},D=async e=>(2!=m&&(x(1),b++,await A(async()=>{await He(async()=>{const n=await t();Me(n)?k(n):e?w(e):Ae("Content is not an array: "+n)},()=>{e&&w(e)}),x(0),await S()})),$),Z=async e=>(M(),await D(e),await He(async()=>u=await l(async(e,t)=>{t||e?2!=m&&(x(1),b++,k(t??e),x(0),await S()):await D()}),r),$),M=async()=>(u&&(await He(()=>s(u),r),u=void 0),$),N=async e=>(1!=m&&(x(2),g++,await A(async()=>{await He(()=>n(I,e),r),x(0)})),$),L=async()=>(V(),await N(),h=e.addDidFinishTransactionListener(()=>{const e=f();C(e)&&N(e)}),$),V=async()=>(h&&(e.delListener(h),h=void 0),$),E=()=>!Te(h),R=async(e=!1)=>{const[t,n]=e?[V,M]:[M,V];return await t(),await n(),$},A=async(...e)=>(We(tl(fl,d),...e),await(async()=>{if(!tl(Il,d)){for(ll(Il,d,1);!Te(c=Qe(tl(fl,d)));)await He(c,r);ll(Il,d,0)}})(),$),$={load:D,startAutoLoad:Z,stopAutoLoad:M,isAutoLoading:()=>!Te(u),save:N,startAutoSave:L,stopAutoSave:V,isAutoSaving:E,startAutoPersisting:async(e,t=!1)=>{const[n,l]=t?[L,Z]:[Z,L];return await n(e),await l(e),$},stopAutoPersisting:R,getStatus:()=>m,addStatusListener:e=>T(e,p),delListener:t=>(q(t),e),schedule:A,getStore:()=>e,destroy:()=>(tl(fl,d).splice(0,void 0),R()),getStats:()=>({loads:b,saves:g}),...a};return tt($)})(e,async()=>bt(n.getItem(t)),async e=>{return n.setItem(t,(l=e(),ut(l,(e,t)=>Te(t)?"":t)));var l},e=>{const l=l=>{l.storageArea===n&&l.key===t&&He(()=>e(bt(l.newValue)),e)};return be.addEventListener(Cl,l),l},e=>be.removeEventListener(Cl,e),void 0,3,{getStorageName:()=>t});var t,n},void 0,async e=>{await e.load([{},{position:xt(l),open:!!s}]),await e.startAutoSave()}),t(n,{children:[t("aside",{id:pt,style:{"--hue":r},children:[e(Rl,{s:o}),e(Or,{s:o})]}),e("style",{children:Pn})]})};export{_r as Inspector};
Binary file