tinybase 4.3.23 → 4.4.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 (41) hide show
  1. package/lib/cjs/store.cjs +1 -1
  2. package/lib/cjs/store.cjs.gz +0 -0
  3. package/lib/cjs/tinybase.cjs +1 -1
  4. package/lib/cjs/tinybase.cjs.gz +0 -0
  5. package/lib/cjs/ui-react-dom-debug.cjs +1 -1
  6. package/lib/cjs/ui-react-dom-debug.cjs.gz +0 -0
  7. package/lib/cjs-es6/store.cjs +1 -1
  8. package/lib/cjs-es6/store.cjs.gz +0 -0
  9. package/lib/cjs-es6/tinybase.cjs +1 -1
  10. package/lib/cjs-es6/tinybase.cjs.gz +0 -0
  11. package/lib/cjs-es6/ui-react-dom-debug.cjs +1 -1
  12. package/lib/cjs-es6/ui-react-dom-debug.cjs.gz +0 -0
  13. package/lib/debug/store.js +112 -25
  14. package/lib/debug/tinybase.js +112 -25
  15. package/lib/debug/ui-react-dom.js +112 -25
  16. package/lib/es6/store.js +1 -1
  17. package/lib/es6/store.js.gz +0 -0
  18. package/lib/es6/tinybase.js +1 -1
  19. package/lib/es6/tinybase.js.gz +0 -0
  20. package/lib/es6/ui-react-dom-debug.js +1 -1
  21. package/lib/es6/ui-react-dom-debug.js.gz +0 -0
  22. package/lib/store.js +1 -1
  23. package/lib/store.js.gz +0 -0
  24. package/lib/tinybase.js +1 -1
  25. package/lib/tinybase.js.gz +0 -0
  26. package/lib/types/store.d.ts +911 -31
  27. package/lib/types/with-schemas/store.d.ts +1179 -35
  28. package/lib/umd/store.js +1 -1
  29. package/lib/umd/store.js.gz +0 -0
  30. package/lib/umd/tinybase.js +1 -1
  31. package/lib/umd/tinybase.js.gz +0 -0
  32. package/lib/umd/ui-react-dom-debug.js +1 -1
  33. package/lib/umd/ui-react-dom-debug.js.gz +0 -0
  34. package/lib/umd-es6/store.js +1 -1
  35. package/lib/umd-es6/store.js.gz +0 -0
  36. package/lib/umd-es6/tinybase.js +1 -1
  37. package/lib/umd-es6/tinybase.js.gz +0 -0
  38. package/lib/umd-es6/ui-react-dom-debug.js +1 -1
  39. package/lib/umd-es6/ui-react-dom-debug.js.gz +0 -0
  40. package/package.json +4 -4
  41. package/readme.md +13 -13
@@ -1 +1 @@
1
- "use strict";var e=require("react"),t=require("./ui-react");const l=e=>typeof e,n="",s=l(n),r=l(!0),o=l(0),a=l(l),i="type",u="default",d="Ids",c="Table",h=c+"s",m=c+d,b="Row",p=b+"Count",v=b+d,g="Cell",I=g+d,f="Value",y=f+"s",w=f+d,C="currentTarget",x="value",k=e=>n+e,S=Math.floor,T=isFinite,V=e=>null==e,R=(e,t,l)=>V(e)?null==l?void 0:l():t(e),O=e=>e==s||e==r,q=e=>l(e)==a,P=e=>Array.isArray(e),N=(e,t,l)=>e.slice(t,l),E=e=>e.length,{PureComponent:L,Fragment:M,createElement:j,useCallback:z,useLayoutEffect:$,useRef:A,useState:F}=e,J=(e,...t)=>V(e)?{}:e(...t),H=(e,t)=>e.forEach(t),D=(e,t)=>e.map(t),B=e=>0==E(e),Q=(e,...t)=>e.push(...t),W=e=>e.shift(),G=Object,K=e=>G.getPrototypeOf(e),U=G.keys,X=G.isFrozen,Y=G.freeze,Z=e=>!V(e)&&R(K(e),(e=>e==G.prototype||V(K(e))),(()=>!0)),_=(e=[])=>G.fromEntries(e),ee=(e,t)=>!V(((e,t)=>R(e,(e=>e[t])))(e,t)),te=(e,t)=>(delete e[t],e),le=(e,t)=>D(G.entries(e),(([e,l])=>t(l,e))),ne=e=>Z(e)&&0==(e=>E(U(e)))(e),se=e=>JSON.stringify(e,((e,t)=>t instanceof Map?G.fromEntries([...t]):t)),re=JSON.parse,oe="tinybaseStoreInspector",ae="TinyBase Store Inspector",ie=["left","top","bottom","right","full"],ue="state",de="sort",ce="open",he="position",me=ce,be="editable",pe=(...e)=>se(e),ve=(e,t)=>D(e.sort(),t),ge=(e,l)=>[!!t.useCell(ue,e,be,l),z((t=>{l.setCell(ue,e,be,(e=>!e)),t.preventDefault()}),[l,e])],Ie="M20 80l5-15l40-40l10 10l-40 40l-15 5m5-15l10 10",fe='content:url("',ye=fe+"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' stroke-width='4' stroke='white' fill='none'>",we='</svg>")',Ce=fe+"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\")",xe=D([[20,20,20,60],[20,20,60,20],[20,60,60,20],[60,20,20,60],[30,30,40,40]],(([e,t,l,n])=>ye+`<rect x='20' y='20' width='60' height='60' fill='grey'/><rect x='${e}' y='${t}' width='${l}' height='${n}' fill='white'/>`+we)),ke=ye+"<path d='M20 20l60 60M20 80l60-60' />"+we,Se=ye+`<path d='${Ie}' />`+we,Te=ye+`<path d='${Ie}M20 20l60 60' />`+we;var Ve=Object.defineProperty,Re=Object.defineProperties,Oe=Object.getOwnPropertyDescriptors,qe=Object.getOwnPropertySymbols,Pe=Object.prototype.hasOwnProperty,Ne=Object.prototype.propertyIsEnumerable,Ee=(e,t,l)=>t in e?Ve(e,t,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[t]=l,Le=(e,t)=>{for(var l in t||(t={}))Pe.call(t,l)&&Ee(e,l,t[l]);if(qe)for(var l of qe(t))Ne.call(t,l)&&Ee(e,l,t[l]);return e},Me=(e,t)=>Re(e,Oe(t));const je="*::-webkit-scrollbar",ze=((e,t="")=>e.join(t))(le(Me(Le(Me(Le(Me(Le({"":"all:initial;font-family:sans-serif;font-size:0.75rem;position:fixed;z-index:999999","*":"all:revert","*::before":"all:revert","*::after":"all:revert",[je]:"width:0.5rem;height:0.5rem;",[je+"-track"]:"background:#111",[je+"-thumb"]:"background:#999;border:1px solid #111",[je+"-thumb:hover"]:"background:#fff",[je+"-corner"]:"background:#111",img:"width:1rem;height:1rem;background:#111;border:0;vertical-align:text-bottom",">img":"padding:0.25rem;bottom:0;right:0;position:fixed;"+Ce},_(D(["bottom:0;left:0","top:0;right:0"],((e,t)=>[`>img[data-position='${t}']`,e])))),{main:"display:flex;flex-direction:column;background:#111d;color:#fff;position:fixed;"}),_(D(["bottom:0;left:0;width:35vw;height:100vh","top:0;right:0;width:100vw;height:30vh","bottom:0;left:0;width:100vw;height:30vh","top:0;right:0;width:35vw;height:100vh","top:0;right:0;width:100vw;height:100vh"],((e,t)=>[`main[data-position='${t}']`,e])))),{header:"display:flex;padding:0.25rem;background:#000;align-items:center","header>img:nth-of-type(1)":Ce,"header>img:nth-of-type(6)":ke}),_(D(xe,((e,t)=>[`header>img[data-id='${t}']`,e])))),{"header>span":"flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-left:0.25rem",article:"padding:0.25rem 0.25rem 0.25rem 0.5rem;overflow:auto;flex:1",details:"margin-left:0.75rem;width:fit-content;","details img":"display:none","details[open]>summary img":"display:unset;background:none;margin-left:0.25rem","details[open]>summary img.edit":Se,"details[open]>summary img.done":Te,summary:"margin-left:-0.75rem;line-height:1.25rem;user-select:none;width:fit-content",table:"border-collapse:collapse;table-layout:fixed;margin-bottom:0.5rem","table input":"background:#111;color:unset;padding:0 0.25rem;border:0;font-size:unset;vertical-align:top;margin:0",'table input[type="number"]':"width:4rem","table tbody button":"font-size:0;background:#fff;border-radius:50%;margin:0 0.125rem 0 0;width:0.85rem;color:#111","table button:first-letter":"font-size:0.75rem",thead:"background:#222","th:nth-of-type(1)":"min-width:2rem;","th.sorted":"background:#000","table caption":"text-align:left;white-space:nowrap;line-height:1.25rem",button:"width:1.5rem;border:none;background:none;color:#fff;padding:0","button[disabled]":"color:#777","button.next":"margin-right:0.5rem",[`th,#${oe} td`]:"overflow:hidden;text-overflow:ellipsis;padding:0.25rem 0.5rem;max-width:12rem;white-space:nowrap;border-width:1px 0;border-style:solid;border-color:#777;text-align:left","span.warn":"margin:0.25rem;color:#d81b60"}),((e,t)=>e?`#${oe} ${t}{${e}}`:""))),$e=({s:e})=>{var l;const n=null!=(l=t.useValue(he,e))?l:1,s=t.useSetValueCallback(me,(()=>!0),[],e);return t.useValue(me,e)?null:j("img",{onClick:s,title:ae,"data-position":n})},Ae=({uniqueId:e,summary:l,editable:n,handleEditable:s,children:r,s:o})=>{const a=!!t.useCell(ue,e,ce,o),i=t.useSetCellCallback(ue,e,ce,(e=>e[C].open),[],o);return j("details",{open:a,onToggle:i},j("summary",null,l,s?j("img",{onClick:s,className:n?"done":"edit"}):null),r)},Fe=e=>{const t=l(e);return O(t)||t==o&&T(e)?t:void 0},Je=(e,t,l,n,s)=>V(s)?e.delCell(t,l,n,!0):e.setCell(t,l,n,s),He=(e,t,l)=>V(l)?e.delValue(t):e.setValue(t,l),De=(e,t,l,n)=>e==s?t:e==o?l:n;var Be=Object.defineProperty,Qe=Object.defineProperties,We=Object.getOwnPropertyDescriptors,Ge=Object.getOwnPropertySymbols,Ke=Object.prototype.hasOwnProperty,Ue=Object.prototype.propertyIsEnumerable,Xe=(e,t,l)=>t in e?Be(e,t,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[t]=l,Ye=(e,t)=>{for(var l in t||(t={}))Ke.call(t,l)&&Xe(e,l,t[l]);if(Ge)for(var l of Ge(t))Ue.call(t,l)&&Xe(e,l,t[l]);return e},Ze=(e,t)=>Qe(e,We(t)),_e=(e,t)=>{var l={};for(var n in e)Ke.call(e,n)&&t.indexOf(n)<0&&(l[n]=e[n]);if(null!=e&&Ge)for(var n of Ge(e))t.indexOf(n)<0&&Ue.call(e,n)&&(l[n]=e[n]);return l};const{useCallback:et,useMemo:tt,useState:lt}=e,nt="editable",st=(e,l)=>D(t.useTableCellIds(e,l),(t=>e+"."+t)),rt=(e,t,l)=>{const n=et(e,t);return l?n:void 0},ot=(...e)=>tt((()=>e),e),at=(e,t)=>tt((()=>({store:e,tableId:t})),[e,t]),it=(e,t)=>tt((()=>({queries:e,queryId:t})),[e,t]),ut=(e,t=!1,l,n=0,s,r,o,a)=>{const[[i,u,d],c]=lt([e,t,n]),h=et((e=>{c(e),null==a||a(e)}),[a]),m=rt((e=>h([e,e==i&&!u,d])),[h,i,u,d],l),b=et((e=>h([i,u,e])),[h,i,u]),p=!0===o?Ct:o;return[[i,u,d],m,tt((()=>!1===o?null:j(p,{offset:d,limit:s,total:r,onChange:b})),[o,p,d,s,r,b])]},dt=(e,t,n)=>tt((()=>{const r=null!=t?t:e;return _(le(P(r)?_(D(r,(e=>[e,e]))):r,((e,t)=>{return[t,Ye(Ye({},{label:t,component:n}),(r=e,l(r)==s?{label:e}:e))];var r})))}),[t,n,e]),ct=({className:e,headerRow:t,idColumn:l,params:[n,s,r,o,a,i]})=>j("table",{className:e},i?j("caption",null,i):null,!1===t?null:j("thead",null,j("tr",null,!1===l?null:j(ht,{sort:null!=o?o:[],label:"Id",onClick:a}),le(n,(({label:e},t)=>j(ht,{key:t,cellId:t,label:e,sort:null!=o?o:[],onClick:a}))))),j("tbody",null,D(r,(e=>j("tr",{key:e},!1===l?null:j("th",null,e),le(n,(({component:t,getComponentProps:l},n)=>j("td",{key:n},j(t,Ze(Ye(Ye({},J(l,e,n)),s),{rowId:e,cellId:n})))))))))),ht=({cellId:e,sort:[t,l],label:s=(null!=e?e:n),onClick:r})=>j("th",{onClick:rt((()=>null==r?void 0:r(e)),[r,e],r),className:V(l)||t!=e?void 0:`sorted ${l?"de":"a"}scending`},V(l)||t!=e?null:(l?"↓":"↑")+" ",s),mt=({localRowId:l,params:[n,s,r,o,a,i,u]})=>{const d=t.useRemoteRowId(a,l,i);return j("tr",null,!1===n?null:j(e.Fragment,null,j("th",null,l),j("th",null,d)),le(s,(({component:e,getComponentProps:t},n)=>{const[s,a]=n.split(".",2),i=s===r?l:s===o?d:null;return V(i)?null:j("td",{key:n},j(e,Ze(Ye({},J(t,i,a)),{store:u,tableId:s,rowId:i,cellId:a})))})))},bt=({thing:e,onThingChange:t,className:l,hasSchema:n,showType:a=!0})=>{const[i,u]=lt(),[d,c]=lt(),[h,m]=lt(),[b,p]=lt(),[v,g]=lt();d!==e&&(u(Fe(e)),c(e),m(e+""),p(Number(e)||0),g(!!e));const I=et(((e,l)=>{l(e),c(e),t(e)}),[t]),f=et((()=>{if(!(null==n?void 0:n())){const e=De(i,o,r,s),l=De(e,h,b,v);u(e),c(l),t(l)}}),[n,t,h,b,v,i]);return j("div",{className:l},a?j("button",{className:i,onClick:f},i):null,De(i,j("input",{key:i,value:h,onChange:et((e=>I(e[C][x]+"",m)),[I])}),j("input",{key:i,type:"number",value:b,onChange:et((e=>I(Number(e[C][x]||0),p)),[I])}),j("input",{key:i,type:"checkbox",checked:v,onChange:et((e=>I(!!e[C].checked,g)),[I])})))},pt=e=>{var l=e,{tableId:n,cellId:s,descending:r,offset:o,limit:a,store:i,editable:u,sortOnClick:d,paginator:c=!1,onChange:h,customCells:m}=l,b=_e(l,["tableId","cellId","descending","offset","limit","store","editable","sortOnClick","paginator","onChange","customCells"]);const[p,v,g]=ut(s,r,d,o,a,t.useRowCount(n,i),c,h);return j(ct,Ze(Ye({},b),{params:ot(dt(t.useTableCellIds(n,i),m,u?yt:t.CellView),at(i,n),t.useSortedRowIds(n,...p,a,i),p,v,g)}))},vt=({store:e,editable:l=!1,valueComponent:n=(l?wt:t.ValueView),getValueComponentProps:s,className:r,headerRow:o,idColumn:a})=>j("table",{className:r},!1===o?null:j("thead",null,j("tr",null,!1===a?null:j("th",null,"Id"),j("th",null,f))),j("tbody",null,D(t.useValueIds(e),(t=>j("tr",{key:t},!1===a?null:j("th",null,t),j("td",null,j(n,Ze(Ye({},J(s,t)),{valueId:t,store:e})))))))),gt=e=>{var l=e,{indexId:n,sliceId:s,indexes:r,editable:o,customCells:a}=l,i=_e(l,["indexId","sliceId","indexes","editable","customCells"]);const[u,d,c]=((e,t)=>[e,null==e?void 0:e.getStore(),null==e?void 0:e.getTableId(t)])(t.useIndexesOrIndexesById(r),n);return j(ct,Ze(Ye({},i),{params:ot(dt(t.useTableCellIds(c,d),a,o?yt:t.CellView),at(d,c),t.useSliceRowIds(n,s,u))}))},It=({relationshipId:l,relationships:n,editable:s,customCells:r,className:o,headerRow:a,idColumn:i=!0})=>{const[u,d,c,h]=((e,t)=>[e,null==e?void 0:e.getStore(),null==e?void 0:e.getLocalTableId(t),null==e?void 0:e.getRemoteTableId(t)])(t.useRelationshipsOrRelationshipsById(n),l),m=dt([...st(c,d),...st(h,d)],r,s?yt:t.CellView),b=ot(i,m,c,h,l,u,d);return j("table",{className:o},!1===a?null:j("thead",null,j("tr",null,!1===i?null:j(e.Fragment,null,j("th",null,c,".Id"),j("th",null,h,".Id")),le(m,(({label:e},t)=>j("th",{key:t},e))))),j("tbody",null,D(t.useRowIds(c,d),(e=>j(mt,{key:e,localRowId:e,params:b})))))},ft=e=>{var l=e,{queryId:n,cellId:s,descending:r,offset:o,limit:a,queries:i,sortOnClick:u,paginator:d=!1,customCells:c,onChange:h}=l,m=_e(l,["queryId","cellId","descending","offset","limit","queries","sortOnClick","paginator","customCells","onChange"]);const[b,p,v]=ut(s,r,u,o,a,t.useResultRowCount(n,i),d,h);return j(ct,Ze(Ye({},m),{params:ot(dt(t.useResultTableCellIds(n,i),c,t.ResultCellView),it(i,n),t.useResultSortedRowIds(n,...b,a,i),b,p,v)}))},yt=({tableId:e,rowId:l,cellId:n,store:s,className:r,showType:o})=>{var a;return j(bt,{thing:t.useCell(e,l,n,s),onThingChange:t.useSetCellCallback(e,l,n,(e=>e),[],s),className:null!=r?r:nt+g,showType:o,hasSchema:null==(a=t.useStoreOrStoreById(s))?void 0:a.hasTablesSchema})},wt=({valueId:e,store:l,className:n,showType:s})=>{var r;return j(bt,{thing:t.useValue(e,l),onThingChange:t.useSetValueCallback(e,(e=>e),[],l),className:null!=n?n:nt+f,showType:s,hasSchema:null==(r=t.useStoreOrStoreById(l))?void 0:r.hasValuesSchema})},Ct=({onChange:t,total:l,offset:n=0,limit:s=l,singular:r="row",plural:o=r+"s"})=>{(n>l||n<0)&&(n=0,t(0));const a=rt((()=>t(n-s)),[t,n,s],n>0),i=rt((()=>t(n+s)),[t,n,s],n+s<l);return j(e.Fragment,null,l>s&&j(e.Fragment,null,j("button",{className:"previous",disabled:0==n,onClick:a},"←"),j("button",{className:"next",disabled:n+s>=l,onClick:i},"→"),n+1," to ",Math.min(l,n+s)," of "),l," ",1!=l?o:r)},xt=({indexes:e,indexesId:l,indexId:n,s:s})=>j(Ae,{uniqueId:pe("i",l,n),summary:"Index: "+n,s:s},D(t.useSliceIds(n,e),(t=>j(kt,{indexes:e,indexesId:l,indexId:n,sliceId:t,s:s,key:t})))),kt=({indexes:e,indexesId:t,indexId:l,sliceId:n,s:s})=>{const r=pe("i",t,l,n),[o,a]=ge(r,s);return j(Ae,{uniqueId:r,summary:"Slice: "+n,editable:o,handleEditable:a,s:s},j(gt,{sliceId:n,indexId:l,indexes:e,editable:o}))},St=({indexesId:e,s:l})=>{const n=t.useIndexes(e),s=t.useIndexIds(n);return V(n)?null:j(Ae,{uniqueId:pe("i",e),summary:"Indexes: "+(null!=e?e:u),s:l},B(s)?"No indexes defined":ve(s,(t=>j(xt,{indexes:n,indexesId:e,indexId:t,s:l,key:t}))))},Tt=({metrics:e,metricId:l})=>j("tr",null,j("th",null,l),j("td",null,null==e?void 0:e.getTableId(l)),j("td",null,t.useMetric(l,e))),Vt=({metricsId:e,s:l})=>{const n=t.useMetrics(e),s=t.useMetricIds(n);return V(n)?null:j(Ae,{uniqueId:pe("m",e),summary:"Metrics: "+(null!=e?e:u),s:l},B(s)?"No metrics defined":j("table",null,j("thead",null,j("th",null,"Metric Id"),j("th",null,"Table Id"),j("th",null,"Metric")),j("tbody",null,D(s,(e=>j(Tt,{metrics:n,metricId:e,key:e}))))))},Rt=({queries:e,queriesId:l,queryId:n,s:s})=>{var r;const o=pe("q",l,n),[a,i,u]=re(null!=(r=t.useCell(ue,o,de,s))?r:"[]"),d=t.useSetCellCallback(ue,o,de,se,[],s);return j(Ae,{uniqueId:o,summary:"Query: "+n,s:s},j(ft,{queryId:n,queries:e,cellId:a,descending:i,offset:u,limit:10,paginator:!0,sortOnClick:!0,onChange:d}))},Ot=({queriesId:e,s:l})=>{const n=t.useQueries(e),s=t.useQueryIds(n);return V(n)?null:j(Ae,{uniqueId:pe("q",e),summary:"Queries: "+(null!=e?e:u),s:l},B(s)?"No queries defined":ve(s,(t=>j(Rt,{queries:n,queriesId:e,queryId:t,s:l,key:t}))))},qt=({relationships:e,relationshipsId:t,relationshipId:l,s:n})=>{const s=pe("r",t,l),[r,o]=ge(s,n);return j(Ae,{uniqueId:s,summary:"Relationship: "+l,editable:r,handleEditable:o,s:n},j(It,{relationshipId:l,relationships:e,editable:r}))},Pt=({relationshipsId:e,s:l})=>{const n=t.useRelationships(e),s=t.useRelationshipIds(n);return V(n)?null:j(Ae,{uniqueId:pe("r",e),summary:"Relationships: "+(null!=e?e:u),s:l},B(s)?"No relationships defined":ve(s,(t=>j(qt,{relationships:n,relationshipsId:e,relationshipId:t,s:l,key:t}))))},Nt=({tableId:e,store:l,storeId:n,s:s})=>{var r;const o=pe("t",n,e),[a,i,u]=re(null!=(r=t.useCell(ue,o,de,s))?r:"[]"),d=t.useSetCellCallback(ue,o,de,se,[],s),[h,m]=ge(o,s);return j(Ae,{uniqueId:o,summary:c+": "+e,editable:h,handleEditable:m,s:s},j(pt,{tableId:e,store:l,cellId:a,descending:i,offset:u,limit:10,paginator:!0,sortOnClick:!0,onChange:d,editable:h}))},Et=({store:e,storeId:l,s:n})=>{const s=pe("v",l),[r,o]=ge(s,n);return B(t.useValueIds(e))?null:j(Ae,{uniqueId:s,summary:y,editable:r,handleEditable:o,s:n},j(vt,{store:e,editable:r}))},Lt=({storeId:e,s:l})=>{const n=t.useStore(e),s=t.useTableIds(n);return V(n)?null:j(Ae,{uniqueId:pe("s",e),summary:"Store: "+(null!=e?e:u),s:l},j(Et,{storeId:e,store:n,s:l}),ve(s,(t=>j(Nt,{store:n,storeId:e,tableId:t,s:l,key:t}))))},Mt=({s:e})=>{const l=A(null),n=A(0),[s,r]=F(!1),{scrollLeft:o,scrollTop:a}=t.useValues(e);$((()=>{const e=l.current;if(e&&!s){const t=new MutationObserver((()=>{e.scrollWidth>=S(o)+e.clientWidth&&e.scrollHeight>=S(a)+e.clientHeight&&e.scrollTo(o,a)}));return t.observe(e,{childList:!0,subtree:!0}),()=>t.disconnect()}}),[s,o,a]);const i=z((t=>{const{scrollLeft:l,scrollTop:s}=t[C];cancelIdleCallback(n.current),n.current=requestIdleCallback((()=>{r(!0),e.setPartialValues({scrollLeft:l,scrollTop:s})}))}),[e]),u=t.useStore(),d=t.useStoreIds(),c=t.useMetrics(),h=t.useMetricsIds(),m=t.useIndexes(),b=t.useIndexesIds(),p=t.useRelationships(),v=t.useRelationshipsIds(),g=t.useQueries(),I=t.useQueriesIds();return V(u)&&B(d)&&V(c)&&B(h)&&V(m)&&B(b)&&V(p)&&B(v)&&V(g)&&B(I)?j("span",{className:"warn"},"There are no Stores or other objects to inspect. Make sure you placed the StoreInspector inside a Provider component."):j("article",{ref:l,onScroll:i},j(Lt,{s:e}),D(d,(t=>j(Lt,{storeId:t,s:e,key:t}))),j(Vt,{s:e}),D(h,(t=>j(Vt,{metricsId:t,s:e,key:t}))),j(St,{s:e}),D(b,(t=>j(St,{indexesId:t,s:e,key:t}))),j(Pt,{s:e}),D(v,(t=>j(Pt,{relationshipsId:t,s:e,key:t}))),j(Ot,{s:e}),D(I,(t=>j(Ot,{queriesId:t,s:e,key:t}))))};class jt extends L{constructor(e){super(e),this.componentDidCatch=(e,t)=>console.error(e,t.componentStack),this.state={e:0}}static getDerivedStateFromError(){return{e:1}}render(){return this.state.e?j("span",{className:"warn"},"Inspector error: please see console for details."):this.props.children}}const zt=({s:e})=>{var l;const n=null!=(l=t.useValue(he,e))?l:1,s=t.useSetValueCallback(me,(()=>!1),[],e),r=t.useSetValueCallback(he,(e=>Number(e[C].dataset.id)),[],e);return j("header",null,j("img",{title:ae}),j("span",null,ae),D(ie,((e,t)=>t==n?null:j("img",{onClick:r,"data-id":t,title:"Dock to "+e,key:t}))),j("img",{onClick:s,title:"Close"}))},$t=({s:e})=>{var l;const n=null!=(l=t.useValue(he,e))?l:1;return t.useValue(me,e)?j("main",{"data-position":n},j(zt,{s:e}),j(jt,null,j(Mt,{s:e}))):null},At=e=>t=>{return l=(t,l)=>t+e(l),Wt(t).reduce(l,0);var l},Ft=e=>{var t;return null!=(t=null==e?void 0:e.size)?t:0},Jt=At(Ft),Ht=At(Jt),Dt=At(Ht),Bt=(e,t)=>{var l;return null!=(l=null==e?void 0:e.has(t))&&l},Qt=e=>V(e)||0==Ft(e),Wt=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},Gt=e=>e.clear(),Kt=(e,t)=>null==e?void 0:e.forEach(t),Ut=(e,t)=>null==e?void 0:e.delete(t),Xt=e=>new Map(e),Yt=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},Zt=(e,t)=>null==e?void 0:e.get(t),_t=(e,t)=>Kt(e,((e,l)=>t(l,e))),el=(e,t,l)=>V(l)?(Ut(e,t),e):null==e?void 0:e.set(t,l),tl=(e,t,l)=>(Bt(e,t)||el(e,t,l()),Zt(e,t)),ll=(e,t,l,n=el)=>(le(t,((t,n)=>l(e,n,t))),_t(e,(l=>ee(t,l)?0:n(e,l))),e),nl=(e,t,l)=>{const n={};return Kt(e,((e,s)=>{const r=t?t(e,s):e;!(null==l?void 0:l(r,e))&&(n[s]=r)})),n},sl=(e,t,l)=>nl(e,(e=>nl(e,t,l)),ne),rl=(e,t,l)=>nl(e,(e=>sl(e,t,l)),ne),ol=(e,t)=>{const l=Xt();return Kt(e,((e,n)=>{var s;return l.set(n,null!=(s=null==t?void 0:t(e))?s:e)})),l},al=e=>ol(e,ol),il=e=>ol(e,al),ul=(e,t,l,n,s=0)=>R((l?tl:Zt)(e,t[s],s>E(t)-2?l:Xt),(r=>{if(s>E(t)-2)return(null==n?void 0:n(r))&&el(e,t[s]),r;const o=ul(r,t,l,n,s+1);return Qt(r)&&el(e,t[s]),o}));var dl=(e,t,l)=>new Promise(((n,s)=>{var r=e=>{try{a(l.next(e))}catch(e){s(e)}},o=e=>{try{a(l.throw(e))}catch(e){s(e)}},a=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,o);a((l=l.apply(e,t)).next())}));const cl=Xt(),hl=Xt();var ml=(e,t,l)=>new Promise(((n,s)=>{var r=e=>{try{a(l.next(e))}catch(e){s(e)}},o=e=>{try{a(l.throw(e))}catch(e){s(e)}},a=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,o);a((l=l.apply(e,t)).next())}));const bl="storage",pl=globalThis.window,vl=e=>new Set(P(e)||V(e)?e:[e]),gl=(e,t)=>null==e?void 0:e.add(t),Il=/^\d+$/,fl=()=>{const e=[];let t=0;return[l=>{var s;return null!=(s=l?W(e):null)?s:n+t++},t=>{Il.test(t)&&E(e)<1e3&&Q(e,t)}]},yl=e=>[e,e],wl=(e,t=Jt)=>t(e[0])+t(e[1]),Cl=()=>[Xt(),Xt()],xl=e=>[...e],kl=([e,t])=>e===t,Sl=(e,t,l)=>V(e)||!Z(e)||ne(e)||X(e)?(null==l||l(),!1):(le(e,((l,n)=>{t(l,n)||te(e,n)})),!ne(e)),Tl=(e,t,l)=>el(e,t,Zt(e,t)==-l?void 0:l),Vl=()=>{let e,t,l=!1,s=!1,r=0;const a=Xt(),d=Xt(),C=Xt(),x=Xt(),S=Xt(),T=Xt(),P=Xt(),L=Xt(),M=Xt(),j=Xt(),z=Xt(),$=Xt(),A=Xt(),F=Xt(),J=vl(),B=Xt(),W=Xt(),G=Xt(),K=Xt(),U=Cl(),X=Cl(),Z=Cl(),_=Cl(),oe=Cl(),ae=Cl(),ie=Cl(),ue=Cl(),de=Cl(),ce=Cl(),he=Cl(),me=Cl(),be=Cl(),pe=Cl(),ve=Cl(),ge=Xt(),Ie=Cl(),[fe,ye,we,Ce]=(e=>{let t;const[l,s]=fl(),r=Xt();return[(e,s,o,a=[],i=(()=>[]))=>{null!=t||(t=At);const u=l(1);return el(r,u,[e,s,o,a,i]),gl(ul(s,null!=o?o:[n],vl),u),u},(e,l,...s)=>H(((e,t=[n])=>{const l=[],s=(e,n)=>n==E(t)?Q(l,e):null===t[n]?Kt(e,(e=>s(e,n+1))):H([t[n],null],(t=>s(Zt(e,t),n+1)));return s(e,0),l})(e,l),(e=>Kt(e,(e=>Zt(r,e)[0](t,...null!=l?l:[],...s))))),e=>R(Zt(r,e),(([,t,l])=>(ul(t,null!=l?l:[n],void 0,(t=>(Ut(t,e),Qt(t)?1:0))),el(r,e),s(e),l))),e=>R(Zt(r,e),(([e,,l=[],n,s])=>{const r=(...o)=>{var a,i;const u=E(o);u==E(l)?e(t,...o,...s(o)):V(l[u])?H(null!=(i=null==(a=n[u])?void 0:a.call(n,...o))?i:[],(e=>r(...o,e))):r(...o,l[u])};r()}))]})(),xe=e=>{if(!Sl(e,((e,t)=>[i,u].includes(t))))return!1;const t=e[i];return!(!O(t)&&t!=o||(Fe(e[u])!=t&&te(e,u),0))},ke=(t,l)=>(!e||Bt(z,l)||nt(l))&&Sl(t,((e,t)=>Se(l,t,e)),(()=>nt(l))),Se=(e,t,l,n)=>Sl(n?l:Oe(l,e,t),((n,s)=>R(Te(e,t,s,n),(e=>(l[s]=e,!0)),(()=>!1))),(()=>nt(e,t))),Te=(t,l,n,s)=>e?R(Zt(Zt(z,t),n),(e=>Fe(s)!=e[i]?nt(t,l,n,s,e[u]):s),(()=>nt(t,l,n,s))):V(Fe(s))?nt(t,l,n,s):s,Ve=(e,t)=>Sl(t?e:qe(e),((t,l)=>R(Re(l,t),(t=>(e[l]=t,!0)),(()=>!1))),(()=>st())),Re=(e,l)=>t?R(Zt(A,e),(t=>Fe(l)!=t[i]?st(e,l,t[u]):l),(()=>st(e,l))):V(Fe(l))?st(e,l):l,Oe=(e,t,l)=>(R(Zt($,t),(([n,s])=>{Kt(n,((t,l)=>{ee(e,l)||(e[l]=t)})),Kt(s,(n=>{ee(e,n)||nt(t,l,n)}))})),e),qe=e=>(t&&(Kt(F,((t,l)=>{ee(e,l)||(e[l]=t)})),Kt(J,(t=>{ee(e,t)||st(t)}))),e),Pe=e=>ll(z,e,((e,t,l)=>{const n=Xt(),s=vl();ll(tl(z,t,Xt),l,((e,t,l)=>{el(e,t,l),R(l[u],(e=>el(n,t,e)),(()=>gl(s,t)))})),el($,t,[n,s])}),((e,t)=>{el(z,t),el($,t)})),Ne=e=>ll(A,e,((e,t,l)=>{el(A,t,l),R(l[u],(e=>el(F,t,e)),(()=>gl(J,t)))}),((e,t)=>{el(A,t),el(F,t),Ut(J,t)})),Ee=e=>ne(e)?qt():St(e),Le=e=>ll(G,e,((e,t,l)=>Me(t,l)),((e,t)=>Ge(t))),Me=(e,t)=>ll(tl(G,e,(()=>(Ye(e,1),el(B,e,fl()),el(W,e,Xt()),Xt()))),t,((t,l,n)=>je(e,t,l,n)),((t,l)=>Ke(e,t,l))),je=(e,t,l,n,s)=>ll(tl(t,l,(()=>(Ze(e,l,1),Xt()))),n,((t,n,s)=>ze(e,l,t,n,s)),((n,r)=>Ue(e,t,l,n,r,s))),ze=(e,t,l,n,s)=>{Bt(l,n)||_e(e,t,n,1);const r=Zt(l,n);s!==r&&(et(e,t,n,r,s),el(l,n,s))},$e=(e,t,l,n,s)=>R(Zt(t,l),(t=>ze(e,l,t,n,s)),(()=>je(e,t,l,Oe({[n]:s},e,l)))),Ae=e=>ne(e)?Et():Tt(e),De=e=>ll(K,e,((e,t,l)=>Be(t,l)),((e,t)=>Xe(t))),Be=(e,t)=>{Bt(K,e)||tt(e,1);const l=Zt(K,e);t!==l&&(lt(e,l,t),el(K,e,t))},Qe=(e,t)=>{const[l]=Zt(B,e),n=l(t);return Bt(Zt(G,e),n)?Qe(e,t):n},We=e=>{var t;return null!=(t=Zt(G,e))?t:Me(e,{})},Ge=e=>Me(e,{}),Ke=(e,t,l)=>{const[,n]=Zt(B,e);n(l),je(e,t,l,{},!0)},Ue=(e,t,l,n,s,r)=>{var o;const a=Zt(null==(o=Zt($,e))?void 0:o[0],s);if(!V(a)&&!r)return ze(e,l,n,s,a);const i=t=>{et(e,l,t,Zt(n,t)),_e(e,l,t,-1),el(n,t)};V(a)?i(s):_t(n,i),Qt(n)&&(Ze(e,l,-1),Qt(el(t,l))&&(Ye(e,-1),el(G,e),el(B,e),el(W,e)))},Xe=e=>{const t=Zt(F,e);if(!V(t))return Be(e,t);lt(e,Zt(K,e)),tt(e,-1),el(K,e)},Ye=(e,t)=>Tl(a,e,t),Ze=(e,t,l)=>Tl(tl(x,e,Xt),t,l)&&el(C,e,tl(C,e,(()=>0))+l),_e=(e,t,l,n)=>{var s;const r=Zt(W,e),o=null!=(s=Zt(r,l))?s:0;(0==o&&1==n||1==o&&-1==n)&&Tl(tl(d,e,Xt),l,n),el(r,l,o!=-n?o+n:null),Tl(tl(tl(S,e,Xt),t,Xt),l,n)},et=(e,t,l,n,s)=>tl(tl(tl(T,e,Xt),t,Xt),l,(()=>[n,0]))[1]=s,tt=(e,t)=>Tl(P,e,t),lt=(e,t,l)=>tl(L,e,(()=>[t,0]))[1]=l,nt=(e,t,l,n,s)=>(Q(tl(tl(tl(M,e,Xt),t,Xt),l,(()=>[])),n),s),st=(e,t,l)=>(Q(tl(j,e,(()=>[])),t),l),rt=(e,t,l)=>R(Zt(Zt(Zt(T,e),t),l),(([e,t])=>[!0,e,t]),(()=>[!1,...yl(wt(e,t,l))])),ot=e=>R(Zt(L,e),(([e,t])=>[!0,e,t]),(()=>[!1,...yl(kt(e))])),at=e=>Qt(M)||Qt(he[e])?0:Kt(e?il(M):M,((t,l)=>Kt(t,((t,n)=>Kt(t,((t,s)=>ye(he[e],[l,n,s],t))))))),it=e=>Qt(j)||Qt(me[e])?0:Kt(e?ol(j):j,((t,l)=>ye(me[e],[l],t))),ut=(e,t,l)=>{if(!Qt(t))return ye(e,l,(()=>nl(t))),1},dt=e=>{const t=Qt(ie[e]),l=Qt(de[e])&&Qt(_[e])&&Qt(oe[e])&&Qt(ae[e])&&t&&Qt(X[e]),n=Qt(ce[e])&&Qt(ue[e])&&Qt(Z[e])&&Qt(U[e]);if(!l||!n){const s=e?[ol(a),al(d),ol(C),al(x),il(S),il(T)]:[a,d,C,x,S,T];if(!l){ut(X[e],s[0]),Kt(s[1],((t,l)=>ut(_[e],t,[l]))),Kt(s[2],((t,l)=>{0!=t&&ye(oe[e],[l],gt(l))}));const l=vl();Kt(s[3],((n,s)=>{ut(ae[e],n,[s])&&!t&&(ye(ie[e],[s,null]),gl(l,s))})),t||Kt(s[5],((t,n)=>{if(!Bt(l,n)){const l=vl();Kt(t,(e=>Kt(e,(([t,n],s)=>n!==t?gl(l,s):Ut(e,s))))),Kt(l,(t=>ye(ie[e],[n,t])))}})),Kt(s[4],((t,l)=>Kt(t,((t,n)=>ut(de[e],t,[l,n])))))}if(!n){let t;Kt(s[5],((l,n)=>{let s;Kt(l,((l,r)=>{let o;Kt(l,(([l,a],i)=>{a!==l&&(ye(ce[e],[n,r,i],a,l,rt),t=s=o=1)})),o&&ye(ue[e],[n,r],rt)})),s&&ye(Z[e],[n],rt)})),t&&ye(U[e],void 0,rt)}}},ct=e=>{const t=Qt(pe[e]),l=Qt(ve[e])&&Qt(be[e]);if(!t||!l){const n=e?[ol(P),ol(L)]:[P,L];if(t||ut(pe[e],n[0]),!l){let t;Kt(n[1],(([l,n],s)=>{n!==l&&(ye(ve[e],[s],n,l,ot),t=1)})),t&&ye(be[e],void 0,ot)}}},ht=(e,...t)=>(jt((()=>e(...D(t,k)))),At),mt=()=>[nl(T,((e,t)=>-1===Zt(a,t)?null:nl(e,((e,l)=>-1===Zt(Zt(x,t),l)?null:nl(e,(([,e])=>null!=e?e:null),((e,t)=>kl(t)))),ne)),ne),nl(L,(([,e])=>null!=e?e:null),((e,t)=>kl(t)))],bt=()=>({cellsTouched:l,valuesTouched:s,changedCells:rl(T,xl,kl),invalidCells:rl(M),changedValues:nl(L,xl,kl),invalidValues:nl(j),changedTableIds:nl(a),changedRowIds:sl(x),changedCellIds:rl(S),changedValueIds:nl(P)}),pt=()=>rl(G),vt=()=>Yt(G),gt=e=>Ft(Zt(G,k(e))),It=e=>Yt(Zt(G,k(e))),ft=(e,t,l,n=0,s)=>{return D(N((o=Zt(G,k(e)),a=(e,l)=>[V(t)?l:Zt(e,k(t)),l],r=([e],[t])=>{return((null!=(n=e)?n:0)<(null!=(s=t)?s:0)?-1:1)*(l?-1:1);var n,s},D([...null!=(i=null==o?void 0:o.entries())?i:[]],(([e,t])=>a(t,e))).sort(r)),n,V(s)?s:n+s),(([,e])=>e));var r,o,a,i},yt=(e,t)=>Yt(Zt(Zt(G,k(e)),k(t))),wt=(e,t,l)=>Zt(Zt(Zt(G,k(e)),k(t)),k(l)),Ct=()=>nl(K),xt=()=>Yt(K),kt=e=>Zt(K,k(e)),St=e=>ht((()=>(e=>Sl(e,ke,nt))(e)?Le(e):0)),Tt=e=>ht((()=>Ve(e)?De(e):0)),Vt=e=>{try{Ee(re(e))}catch(e){}return At},Rt=t=>ht((()=>{if((e=Sl(t,(e=>Sl(e,xe))))&&(Pe(t),!Qt(G))){const e=pt();qt(),St(e)}})),Ot=e=>ht((()=>{if(t=(e=>Sl(e,xe))(e)){const l=Ct();Mt(),Et(),t=!0,Ne(e),Tt(l)}})),qt=()=>ht((()=>Le({}))),Pt=e=>ht((e=>Bt(G,e)?Ge(e):0),e),Nt=(e,t)=>ht(((e,t)=>R(Zt(G,e),(l=>Bt(l,t)?Ke(e,l,t):0))),e,t),Et=()=>ht((()=>De({}))),Lt=()=>ht((()=>{Pe({}),e=!1})),Mt=()=>ht((()=>{Ne({}),t=!1})),jt=(e,t)=>{if(-1!=r){zt();const l=e();return $t(t),l}},zt=()=>(-1!=r&&r++,1==r&&ye(ge,void 0,mt,bt),At),$t=e=>(r>0&&(r--,0==r&&(l=!Qt(T),s=!Qt(L),r=1,at(1),l&&dt(1),it(1),s&&ct(1),(null==e?void 0:e(mt,bt))&&(Kt(T,((e,t)=>Kt(e,((e,l)=>Kt(e,(([e],n)=>Je(At,t,l,n,e))))))),Kt(L,(([e],t)=>He(At,t,e))),l=s=!1),ye(Ie[0],void 0,mt,bt),r=-1,at(0),l&&dt(0),it(0),s&&ct(0),ye(Ie[1],void 0,mt,bt),r=0,l=s=!1,H([a,d,C,x,S,T,M,P,L,j],Gt))),At),At={getContent:()=>[pt(),Ct()],getTables:pt,getTableIds:vt,getTable:e=>sl(Zt(G,k(e))),getTableCellIds:e=>Yt(Zt(W,k(e))),getRowCount:gt,getRowIds:It,getSortedRowIds:ft,getRow:(e,t)=>nl(Zt(Zt(G,k(e)),k(t))),getCellIds:yt,getCell:wt,getValues:Ct,getValueIds:xt,getValue:kt,hasTables:()=>!Qt(G),hasTable:e=>Bt(G,k(e)),hasTableCell:(e,t)=>Bt(Zt(W,k(e)),k(t)),hasRow:(e,t)=>Bt(Zt(G,k(e)),k(t)),hasCell:(e,t,l)=>Bt(Zt(Zt(G,k(e)),k(t)),k(l)),hasValues:()=>!Qt(K),hasValue:e=>Bt(K,k(e)),getTablesJson:()=>se(G),getValuesJson:()=>se(K),getJson:()=>se([G,K]),getTablesSchemaJson:()=>se(z),getValuesSchemaJson:()=>se(A),getSchemaJson:()=>se([z,A]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>ht((()=>{(ne(e)?qt:St)(e),(ne(t)?Et:Tt)(t)})),setTables:St,setTable:(e,t)=>ht((e=>ke(t,e)?Me(e,t):0),e),setRow:(e,t,l)=>ht(((e,t)=>Se(e,t,l)?je(e,We(e),t,l):0),e,t),addRow:(e,t,l=!0)=>jt((()=>{let n;return Se(e,n,t)&&(e=k(e),je(e,We(e),n=Qe(e,l?1:0),t)),n})),setPartialRow:(e,t,l)=>ht(((e,t)=>{if(Se(e,t,l,1)){const n=We(e);le(l,((l,s)=>$e(e,n,t,s,l)))}}),e,t),setCell:(e,t,l,n)=>ht(((e,t,l)=>R(Te(e,t,l,q(n)?n(wt(e,t,l)):n),(n=>$e(e,We(e),t,l,n)))),e,t,l),setValues:Tt,setPartialValues:e=>ht((()=>Ve(e,1)?le(e,((e,t)=>Be(t,e))):0)),setValue:(e,t)=>ht((e=>R(Re(e,q(t)?t(kt(e)):t),(t=>Be(e,t)))),e),setTransactionChanges:e=>ht((()=>{le(e[0],((e,t)=>V(e)?Pt(t):le(e,((e,l)=>V(e)?Nt(t,l):le(e,((e,n)=>Je(At,t,l,n,e))))))),le(e[1],((e,t)=>He(At,t,e)))})),setTablesJson:Vt,setValuesJson:e=>{try{Ae(re(e))}catch(e){}return At},setJson:e=>ht((()=>{try{const[t,l]=re(e);Ee(t),Ae(l)}catch(t){Vt(e)}})),setTablesSchema:Rt,setValuesSchema:Ot,setSchema:(e,t)=>ht((()=>{Rt(e),Ot(t)})),delTables:qt,delTable:Pt,delRow:Nt,delCell:(e,t,l,n)=>ht(((e,t,l)=>R(Zt(G,e),(s=>R(Zt(s,t),(r=>Bt(r,l)?Ue(e,s,t,r,l,n):0))))),e,t,l),delValues:Et,delValue:e=>ht((e=>Bt(K,e)?Xe(e):0),e),delTablesSchema:Lt,delValuesSchema:Mt,delSchema:()=>ht((()=>{Lt(),Mt()})),transaction:jt,startTransaction:zt,finishTransaction:$t,forEachTable:e=>Kt(G,((t,l)=>e(l,(e=>Kt(t,((t,l)=>e(l,(e=>_t(t,e))))))))),forEachTableCell:(e,t)=>_t(Zt(W,k(e)),t),forEachRow:(e,t)=>Kt(Zt(G,k(e)),((e,l)=>t(l,(t=>_t(e,t))))),forEachCell:(e,t,l)=>_t(Zt(Zt(G,k(e)),k(t)),l),forEachValue:e=>_t(K,e),addSortedRowIdsListener:(e,t,l,n,s,r,o)=>{let a=ft(e,t,l,n,s);return fe((()=>{const o=ft(e,t,l,n,s);var i,u,d;u=a,E(i=o)===E(u)&&(d=(e,t)=>u[t]===e,i.every(d))||(a=o,r(At,e,t,l,n,s,a))}),ie[o?1:0],[e,t],[vt])},addStartTransactionListener:e=>fe(e,ge),addWillFinishTransactionListener:e=>fe(e,Ie[0]),addDidFinishTransactionListener:e=>fe(e,Ie[1]),callListener:e=>(Ce(e),At),delListener:e=>(we(e),At),getListenerStats:()=>({tables:wl(U),tableIds:wl(X),tableCellIds:wl(_),table:wl(Z),rowCount:wl(oe),rowIds:wl(ae),sortedRowIds:wl(ie),row:wl(ue,Ht),cellIds:wl(de,Ht),cell:wl(ce,Dt),invalidCell:wl(he,Dt),values:wl(be),valueIds:wl(pe),value:wl(ve),invalidValue:wl(me),transaction:Jt(ge)+wl(Ie)}),createStore:Vl,addListener:fe,callListeners:ye};return le({[h]:[0,U],[m]:[0,X],[c]:[1,Z,[vt]],[c+I]:[1,_,[vt]],[p]:[1,oe,[vt]],[v]:[1,ae,[vt]],[b]:[2,ue,[vt,It]],[I]:[2,de,[vt,It]],[g]:[3,ce,[vt,It,yt],e=>yl(wt(...e))],InvalidCell:[3,he],[y]:[0,be],[w]:[0,pe],[f]:[1,ve,[xt],e=>yl(kt(e[0]))],InvalidValue:[1,me]},(([e,t,l,n],s)=>{At["add"+s+"Listener"]=(...s)=>fe(s[e],t[s[e+1]?1:0],e>0?N(s,0,e):void 0,l,n)})),Y(At)},Rl=({position:e="right",open:l=!1})=>{const n=t.useCreateStore(Vl),s=ie.indexOf(e);return t.useCreatePersister(n,(e=>{return((e,t,l,n)=>((e,t,l,n,s,r,[o,a]=[],i=[])=>{let u,d,c,h=0,m=0,b=0,p=0;tl(cl,i,(()=>0)),tl(hl,i,(()=>[]));const v=e=>dl(void 0,null,(function*(){return 2!=h&&(h=1,m++,yield g.schedule((()=>dl(void 0,null,(function*(){yield e(),h=0}))))),g})),g={load:(l,n)=>dl(void 0,null,(function*(){return yield v((()=>dl(void 0,null,(function*(){try{e.setContent(yield t())}catch(t){e.setContent([l,n])}}))))})),startAutoLoad:(...l)=>dl(void 0,[...l],(function*(l={},s={}){return g.stopAutoLoad(),yield g.load(l,s),p=1,c=n(((l,n)=>dl(void 0,null,(function*(){if(n){const t=n();yield v((()=>dl(void 0,null,(function*(){return e.setTransactionChanges(t)}))))}else yield v((()=>dl(void 0,null,(function*(){var n;try{e.setContent(null!=(n=null==l?void 0:l())?n:yield t())}catch(e){null==r||r(e)}}))))})))),g})),stopAutoLoad:()=>(p&&(s(c),c=void 0,p=0),g),save:t=>dl(void 0,null,(function*(){return 1!=h&&(h=2,b++,yield g.schedule((()=>dl(void 0,null,(function*(){try{yield l(e.getContent,t)}catch(e){null==r||r(e)}h=0}))))),g})),startAutoSave:()=>dl(void 0,null,(function*(){return yield g.stopAutoSave().save(),u=e.addDidFinishTransactionListener(((e,t)=>{const[l,n]=t();ne(l)&&ne(n)||g.save((()=>[l,n]))})),g})),stopAutoSave:()=>(R(u,e.delListener),u=void 0,g),schedule:(...e)=>dl(void 0,null,(function*(){return Q(Zt(hl,i),...e),yield dl(void 0,null,(function*(){if(!Zt(cl,i)){for(el(cl,i,1);!V(d=W(Zt(hl,i)));)try{yield d()}catch(e){null==r||r(e)}el(cl,i,0)}})),g})),getStore:()=>e,destroy:()=>g.stopAutoLoad().stopAutoSave(),getStats:()=>({loads:m,saves:b})};return o&&(g[o]=()=>a),Y(g)})(e,(()=>ml(void 0,null,(function*(){return re(l.getItem(t))}))),(e=>ml(void 0,null,(function*(){return l.setItem(t,se(e()))}))),(e=>{const n=n=>{n.storageArea===l&&n.key===t&&e((()=>re(n.newValue)))};return pl.addEventListener(bl,n),n}),(e=>pl.removeEventListener(bl,e)),n,["getStorageName",t]))(e,oe,sessionStorage,t);var t}),void 0,(e=>{return t=function*(){yield e.load(void 0,{position:-1==s?1:s,open:!!l}),yield e.startAutoSave()},new Promise(((e,l)=>{var n=e=>{try{r(t.next(e))}catch(e){l(e)}},s=e=>{try{r(t.throw(e))}catch(e){l(e)}},r=t=>t.done?e(t.value):Promise.resolve(t.value).then(n,s);r((t=t.apply(void 0,null)).next())}));var t})),j(M,null,j("aside",{id:oe},j($e,{s:n}),j($t,{s:n})),j("style",null,ze))};var Ol=Object.defineProperty,ql=Object.getOwnPropertySymbols,Pl=Object.prototype.hasOwnProperty,Nl=Object.prototype.propertyIsEnumerable,El=(e,t,l)=>t in e?Ol(e,t,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[t]=l;exports.EditableCellView=yt,exports.EditableValueView=wt,exports.RelationshipInHtmlTable=It,exports.ResultSortedTableInHtmlTable=ft,exports.ResultTableInHtmlTable=e=>{var l=e,{queryId:n,queries:s,customCells:r}=l,o=_e(l,["queryId","queries","customCells"]);return j(ct,Ze(Ye({},o),{params:ot(dt(t.useResultTableCellIds(n,s),r,t.ResultCellView),it(s,n),t.useResultRowIds(n,s))}))},exports.SliceInHtmlTable=gt,exports.SortedTableInHtmlTable=pt,exports.SortedTablePaginator=Ct,exports.StoreInspector=e=>j(Rl,((e,t)=>{for(var l in t||(t={}))Pl.call(t,l)&&El(e,l,t[l]);if(ql)for(var l of ql(t))Nl.call(t,l)&&El(e,l,t[l]);return e})({},e)),exports.TableInHtmlTable=e=>{var l=e,{tableId:n,store:s,editable:r,customCells:o}=l,a=_e(l,["tableId","store","editable","customCells"]);return j(ct,Ze(Ye({},a),{params:ot(dt(t.useTableCellIds(n,s),o,r?yt:t.CellView),at(s,n),t.useRowIds(n,s))}))},exports.ValuesInHtmlTable=vt;
1
+ "use strict";var e=require("react"),l=require("./ui-react");const t=e=>typeof e,n="",s=t(n),r=t(!0),o=t(0),a=t(t),i="type",u="default",d="Ids",c="Table",h=c+"s",m=c+d,b="Row",p=b+"Count",v=b+d,g="Cell",I=g+d,f="Value",y=f+"s",w=f+d,C="Has",x="currentTarget",k="value",T=e=>n+e,S=Math.floor,V=isFinite,R=e=>null==e,O=(e,l,t)=>R(e)?null==t?void 0:t():l(e),q=e=>e==s||e==r,P=e=>t(e)==a,N=e=>Array.isArray(e),E=(e,l,t)=>e.slice(l,t),L=e=>e.length,{PureComponent:M,Fragment:j,createElement:z,useCallback:$,useLayoutEffect:A,useRef:F,useState:J}=e,H=(e,...l)=>R(e)?{}:e(...l),D=(e,l)=>e.forEach(l),B=(e,l)=>e.map(l),Q=e=>0==L(e),W=(e,...l)=>e.push(...l),G=e=>e.shift(),K=Object,U=e=>K.getPrototypeOf(e),X=K.keys,Y=K.isFrozen,Z=K.freeze,_=e=>!R(e)&&O(U(e),(e=>e==K.prototype||R(U(e))),(()=>!0)),ee=(e=[])=>K.fromEntries(e),le=(e,l)=>!R(((e,l)=>O(e,(e=>e[l])))(e,l)),te=(e,l)=>(delete e[l],e),ne=(e,l)=>B(K.entries(e),(([e,t])=>l(t,e))),se=e=>_(e)&&0==(e=>L(X(e)))(e),re=e=>JSON.stringify(e,((e,l)=>l instanceof Map?K.fromEntries([...l]):l)),oe=JSON.parse,ae="tinybaseStoreInspector",ie="TinyBase Store Inspector",ue=["left","top","bottom","right","full"],de="state",ce="sort",he="open",me="position",be=he,pe="editable",ve=(...e)=>re(e),ge=(e,l)=>B(e.sort(),l),Ie=(e,t)=>[!!l.useCell(de,e,pe,t),$((l=>{t.setCell(de,e,pe,(e=>!e)),l.preventDefault()}),[t,e])],fe="M20 80l5-15l40-40l10 10l-40 40l-15 5m5-15l10 10",ye='content:url("',we=ye+"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' stroke-width='4' stroke='white' fill='none'>",Ce='</svg>")',xe=ye+"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\")",ke=B([[20,20,20,60],[20,20,60,20],[20,60,60,20],[60,20,20,60],[30,30,40,40]],(([e,l,t,n])=>we+`<rect x='20' y='20' width='60' height='60' fill='grey'/><rect x='${e}' y='${l}' width='${t}' height='${n}' fill='white'/>`+Ce)),Te=we+"<path d='M20 20l60 60M20 80l60-60' />"+Ce,Se=we+`<path d='${fe}' />`+Ce,Ve=we+`<path d='${fe}M20 20l60 60' />`+Ce;var Re=Object.defineProperty,Oe=Object.defineProperties,qe=Object.getOwnPropertyDescriptors,Pe=Object.getOwnPropertySymbols,Ne=Object.prototype.hasOwnProperty,Ee=Object.prototype.propertyIsEnumerable,Le=(e,l,t)=>l in e?Re(e,l,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[l]=t,Me=(e,l)=>{for(var t in l||(l={}))Ne.call(l,t)&&Le(e,t,l[t]);if(Pe)for(var t of Pe(l))Ee.call(l,t)&&Le(e,t,l[t]);return e},je=(e,l)=>Oe(e,qe(l));const ze="*::-webkit-scrollbar",$e=((e,l="")=>e.join(l))(ne(je(Me(je(Me(je(Me({"":"all:initial;font-family:sans-serif;font-size:0.75rem;position:fixed;z-index:999999","*":"all:revert","*::before":"all:revert","*::after":"all:revert",[ze]:"width:0.5rem;height:0.5rem;",[ze+"-track"]:"background:#111",[ze+"-thumb"]:"background:#999;border:1px solid #111",[ze+"-thumb:hover"]:"background:#fff",[ze+"-corner"]:"background:#111",img:"width:1rem;height:1rem;background:#111;border:0;vertical-align:text-bottom",">img":"padding:0.25rem;bottom:0;right:0;position:fixed;"+xe},ee(B(["bottom:0;left:0","top:0;right:0"],((e,l)=>[`>img[data-position='${l}']`,e])))),{main:"display:flex;flex-direction:column;background:#111d;color:#fff;position:fixed;"}),ee(B(["bottom:0;left:0;width:35vw;height:100vh","top:0;right:0;width:100vw;height:30vh","bottom:0;left:0;width:100vw;height:30vh","top:0;right:0;width:35vw;height:100vh","top:0;right:0;width:100vw;height:100vh"],((e,l)=>[`main[data-position='${l}']`,e])))),{header:"display:flex;padding:0.25rem;background:#000;align-items:center","header>img:nth-of-type(1)":xe,"header>img:nth-of-type(6)":Te}),ee(B(ke,((e,l)=>[`header>img[data-id='${l}']`,e])))),{"header>span":"flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-left:0.25rem",article:"padding:0.25rem 0.25rem 0.25rem 0.5rem;overflow:auto;flex:1",details:"margin-left:0.75rem;width:fit-content;","details img":"display:none","details[open]>summary img":"display:unset;background:none;margin-left:0.25rem","details[open]>summary img.edit":Se,"details[open]>summary img.done":Ve,summary:"margin-left:-0.75rem;line-height:1.25rem;user-select:none;width:fit-content",table:"border-collapse:collapse;table-layout:fixed;margin-bottom:0.5rem","table input":"background:#111;color:unset;padding:0 0.25rem;border:0;font-size:unset;vertical-align:top;margin:0",'table input[type="number"]':"width:4rem","table tbody button":"font-size:0;background:#fff;border-radius:50%;margin:0 0.125rem 0 0;width:0.85rem;color:#111","table button:first-letter":"font-size:0.75rem",thead:"background:#222","th:nth-of-type(1)":"min-width:2rem;","th.sorted":"background:#000","table caption":"text-align:left;white-space:nowrap;line-height:1.25rem",button:"width:1.5rem;border:none;background:none;color:#fff;padding:0","button[disabled]":"color:#777","button.next":"margin-right:0.5rem",[`th,#${ae} td`]:"overflow:hidden;text-overflow:ellipsis;padding:0.25rem 0.5rem;max-width:12rem;white-space:nowrap;border-width:1px 0;border-style:solid;border-color:#777;text-align:left","span.warn":"margin:0.25rem;color:#d81b60"}),((e,l)=>e?`#${ae} ${l}{${e}}`:""))),Ae=({s:e})=>{var t;const n=null!=(t=l.useValue(me,e))?t:1,s=l.useSetValueCallback(be,(()=>!0),[],e);return l.useValue(be,e)?null:z("img",{onClick:s,title:ie,"data-position":n})},Fe=({uniqueId:e,summary:t,editable:n,handleEditable:s,children:r,s:o})=>{const a=!!l.useCell(de,e,he,o),i=l.useSetCellCallback(de,e,he,(e=>e[x].open),[],o);return z("details",{open:a,onToggle:i},z("summary",null,t,s?z("img",{onClick:s,className:n?"done":"edit"}):null),r)},Je=e=>{const l=t(e);return q(l)||l==o&&V(e)?l:void 0},He=(e,l,t,n,s)=>R(s)?e.delCell(l,t,n,!0):e.setCell(l,t,n,s),De=(e,l,t)=>R(t)?e.delValue(l):e.setValue(l,t),Be=(e,l,t,n)=>e==s?l:e==o?t:n;var Qe=Object.defineProperty,We=Object.defineProperties,Ge=Object.getOwnPropertyDescriptors,Ke=Object.getOwnPropertySymbols,Ue=Object.prototype.hasOwnProperty,Xe=Object.prototype.propertyIsEnumerable,Ye=(e,l,t)=>l in e?Qe(e,l,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[l]=t,Ze=(e,l)=>{for(var t in l||(l={}))Ue.call(l,t)&&Ye(e,t,l[t]);if(Ke)for(var t of Ke(l))Xe.call(l,t)&&Ye(e,t,l[t]);return e},_e=(e,l)=>We(e,Ge(l)),el=(e,l)=>{var t={};for(var n in e)Ue.call(e,n)&&l.indexOf(n)<0&&(t[n]=e[n]);if(null!=e&&Ke)for(var n of Ke(e))l.indexOf(n)<0&&Xe.call(e,n)&&(t[n]=e[n]);return t};const{useCallback:ll,useMemo:tl,useState:nl}=e,sl="editable",rl=(e,t)=>B(l.useTableCellIds(e,t),(l=>e+"."+l)),ol=(e,l,t)=>{const n=ll(e,l);return t?n:void 0},al=(...e)=>tl((()=>e),e),il=(e,l)=>tl((()=>({store:e,tableId:l})),[e,l]),ul=(e,l)=>tl((()=>({queries:e,queryId:l})),[e,l]),dl=(e,l=!1,t,n=0,s,r,o,a)=>{const[[i,u,d],c]=nl([e,l,n]),h=ll((e=>{c(e),null==a||a(e)}),[a]),m=ol((e=>h([e,e==i&&!u,d])),[h,i,u,d],t),b=ll((e=>h([i,u,e])),[h,i,u]),p=!0===o?xl:o;return[[i,u,d],m,tl((()=>!1===o?null:z(p,{offset:d,limit:s,total:r,onChange:b})),[o,p,d,s,r,b])]},cl=(e,l,n)=>tl((()=>{const r=null!=l?l:e;return ee(ne(N(r)?ee(B(r,(e=>[e,e]))):r,((e,l)=>{return[l,Ze(Ze({},{label:l,component:n}),(r=e,t(r)==s?{label:e}:e))];var r})))}),[l,n,e]),hl=({className:e,headerRow:l,idColumn:t,params:[n,s,r,o,a,i]})=>z("table",{className:e},i?z("caption",null,i):null,!1===l?null:z("thead",null,z("tr",null,!1===t?null:z(ml,{sort:null!=o?o:[],label:"Id",onClick:a}),ne(n,(({label:e},l)=>z(ml,{key:l,cellId:l,label:e,sort:null!=o?o:[],onClick:a}))))),z("tbody",null,B(r,(e=>z("tr",{key:e},!1===t?null:z("th",null,e),ne(n,(({component:l,getComponentProps:t},n)=>z("td",{key:n},z(l,_e(Ze(Ze({},H(t,e,n)),s),{rowId:e,cellId:n})))))))))),ml=({cellId:e,sort:[l,t],label:s=(null!=e?e:n),onClick:r})=>z("th",{onClick:ol((()=>null==r?void 0:r(e)),[r,e],r),className:R(t)||l!=e?void 0:`sorted ${t?"de":"a"}scending`},R(t)||l!=e?null:(t?"↓":"↑")+" ",s),bl=({localRowId:t,params:[n,s,r,o,a,i,u]})=>{const d=l.useRemoteRowId(a,t,i);return z("tr",null,!1===n?null:z(e.Fragment,null,z("th",null,t),z("th",null,d)),ne(s,(({component:e,getComponentProps:l},n)=>{const[s,a]=n.split(".",2),i=s===r?t:s===o?d:null;return R(i)?null:z("td",{key:n},z(e,_e(Ze({},H(l,i,a)),{store:u,tableId:s,rowId:i,cellId:a})))})))},pl=({thing:e,onThingChange:l,className:t,hasSchema:n,showType:a=!0})=>{const[i,u]=nl(),[d,c]=nl(),[h,m]=nl(),[b,p]=nl(),[v,g]=nl();d!==e&&(u(Je(e)),c(e),m(e+""),p(Number(e)||0),g(!!e));const I=ll(((e,t)=>{t(e),c(e),l(e)}),[l]),f=ll((()=>{if(!(null==n?void 0:n())){const e=Be(i,o,r,s),t=Be(e,h,b,v);u(e),c(t),l(t)}}),[n,l,h,b,v,i]);return z("div",{className:t},a?z("button",{className:i,onClick:f},i):null,Be(i,z("input",{key:i,value:h,onChange:ll((e=>I(e[x][k]+"",m)),[I])}),z("input",{key:i,type:"number",value:b,onChange:ll((e=>I(Number(e[x][k]||0),p)),[I])}),z("input",{key:i,type:"checkbox",checked:v,onChange:ll((e=>I(!!e[x].checked,g)),[I])})))},vl=e=>{var t=e,{tableId:n,cellId:s,descending:r,offset:o,limit:a,store:i,editable:u,sortOnClick:d,paginator:c=!1,onChange:h,customCells:m}=t,b=el(t,["tableId","cellId","descending","offset","limit","store","editable","sortOnClick","paginator","onChange","customCells"]);const[p,v,g]=dl(s,r,d,o,a,l.useRowCount(n,i),c,h);return z(hl,_e(Ze({},b),{params:al(cl(l.useTableCellIds(n,i),m,u?wl:l.CellView),il(i,n),l.useSortedRowIds(n,...p,a,i),p,v,g)}))},gl=({store:e,editable:t=!1,valueComponent:n=(t?Cl:l.ValueView),getValueComponentProps:s,className:r,headerRow:o,idColumn:a})=>z("table",{className:r},!1===o?null:z("thead",null,z("tr",null,!1===a?null:z("th",null,"Id"),z("th",null,f))),z("tbody",null,B(l.useValueIds(e),(l=>z("tr",{key:l},!1===a?null:z("th",null,l),z("td",null,z(n,_e(Ze({},H(s,l)),{valueId:l,store:e})))))))),Il=e=>{var t=e,{indexId:n,sliceId:s,indexes:r,editable:o,customCells:a}=t,i=el(t,["indexId","sliceId","indexes","editable","customCells"]);const[u,d,c]=((e,l)=>[e,null==e?void 0:e.getStore(),null==e?void 0:e.getTableId(l)])(l.useIndexesOrIndexesById(r),n);return z(hl,_e(Ze({},i),{params:al(cl(l.useTableCellIds(c,d),a,o?wl:l.CellView),il(d,c),l.useSliceRowIds(n,s,u))}))},fl=({relationshipId:t,relationships:n,editable:s,customCells:r,className:o,headerRow:a,idColumn:i=!0})=>{const[u,d,c,h]=((e,l)=>[e,null==e?void 0:e.getStore(),null==e?void 0:e.getLocalTableId(l),null==e?void 0:e.getRemoteTableId(l)])(l.useRelationshipsOrRelationshipsById(n),t),m=cl([...rl(c,d),...rl(h,d)],r,s?wl:l.CellView),b=al(i,m,c,h,t,u,d);return z("table",{className:o},!1===a?null:z("thead",null,z("tr",null,!1===i?null:z(e.Fragment,null,z("th",null,c,".Id"),z("th",null,h,".Id")),ne(m,(({label:e},l)=>z("th",{key:l},e))))),z("tbody",null,B(l.useRowIds(c,d),(e=>z(bl,{key:e,localRowId:e,params:b})))))},yl=e=>{var t=e,{queryId:n,cellId:s,descending:r,offset:o,limit:a,queries:i,sortOnClick:u,paginator:d=!1,customCells:c,onChange:h}=t,m=el(t,["queryId","cellId","descending","offset","limit","queries","sortOnClick","paginator","customCells","onChange"]);const[b,p,v]=dl(s,r,u,o,a,l.useResultRowCount(n,i),d,h);return z(hl,_e(Ze({},m),{params:al(cl(l.useResultTableCellIds(n,i),c,l.ResultCellView),ul(i,n),l.useResultSortedRowIds(n,...b,a,i),b,p,v)}))},wl=({tableId:e,rowId:t,cellId:n,store:s,className:r,showType:o})=>{var a;return z(pl,{thing:l.useCell(e,t,n,s),onThingChange:l.useSetCellCallback(e,t,n,(e=>e),[],s),className:null!=r?r:sl+g,showType:o,hasSchema:null==(a=l.useStoreOrStoreById(s))?void 0:a.hasTablesSchema})},Cl=({valueId:e,store:t,className:n,showType:s})=>{var r;return z(pl,{thing:l.useValue(e,t),onThingChange:l.useSetValueCallback(e,(e=>e),[],t),className:null!=n?n:sl+f,showType:s,hasSchema:null==(r=l.useStoreOrStoreById(t))?void 0:r.hasValuesSchema})},xl=({onChange:l,total:t,offset:n=0,limit:s=t,singular:r="row",plural:o=r+"s"})=>{(n>t||n<0)&&(n=0,l(0));const a=ol((()=>l(n-s)),[l,n,s],n>0),i=ol((()=>l(n+s)),[l,n,s],n+s<t);return z(e.Fragment,null,t>s&&z(e.Fragment,null,z("button",{className:"previous",disabled:0==n,onClick:a},"←"),z("button",{className:"next",disabled:n+s>=t,onClick:i},"→"),n+1," to ",Math.min(t,n+s)," of "),t," ",1!=t?o:r)},kl=({indexes:e,indexesId:t,indexId:n,s:s})=>z(Fe,{uniqueId:ve("i",t,n),summary:"Index: "+n,s:s},B(l.useSliceIds(n,e),(l=>z(Tl,{indexes:e,indexesId:t,indexId:n,sliceId:l,s:s,key:l})))),Tl=({indexes:e,indexesId:l,indexId:t,sliceId:n,s:s})=>{const r=ve("i",l,t,n),[o,a]=Ie(r,s);return z(Fe,{uniqueId:r,summary:"Slice: "+n,editable:o,handleEditable:a,s:s},z(Il,{sliceId:n,indexId:t,indexes:e,editable:o}))},Sl=({indexesId:e,s:t})=>{const n=l.useIndexes(e),s=l.useIndexIds(n);return R(n)?null:z(Fe,{uniqueId:ve("i",e),summary:"Indexes: "+(null!=e?e:u),s:t},Q(s)?"No indexes defined":ge(s,(l=>z(kl,{indexes:n,indexesId:e,indexId:l,s:t,key:l}))))},Vl=({metrics:e,metricId:t})=>z("tr",null,z("th",null,t),z("td",null,null==e?void 0:e.getTableId(t)),z("td",null,l.useMetric(t,e))),Rl=({metricsId:e,s:t})=>{const n=l.useMetrics(e),s=l.useMetricIds(n);return R(n)?null:z(Fe,{uniqueId:ve("m",e),summary:"Metrics: "+(null!=e?e:u),s:t},Q(s)?"No metrics defined":z("table",null,z("thead",null,z("th",null,"Metric Id"),z("th",null,"Table Id"),z("th",null,"Metric")),z("tbody",null,B(s,(e=>z(Vl,{metrics:n,metricId:e,key:e}))))))},Ol=({queries:e,queriesId:t,queryId:n,s:s})=>{var r;const o=ve("q",t,n),[a,i,u]=oe(null!=(r=l.useCell(de,o,ce,s))?r:"[]"),d=l.useSetCellCallback(de,o,ce,re,[],s);return z(Fe,{uniqueId:o,summary:"Query: "+n,s:s},z(yl,{queryId:n,queries:e,cellId:a,descending:i,offset:u,limit:10,paginator:!0,sortOnClick:!0,onChange:d}))},ql=({queriesId:e,s:t})=>{const n=l.useQueries(e),s=l.useQueryIds(n);return R(n)?null:z(Fe,{uniqueId:ve("q",e),summary:"Queries: "+(null!=e?e:u),s:t},Q(s)?"No queries defined":ge(s,(l=>z(Ol,{queries:n,queriesId:e,queryId:l,s:t,key:l}))))},Pl=({relationships:e,relationshipsId:l,relationshipId:t,s:n})=>{const s=ve("r",l,t),[r,o]=Ie(s,n);return z(Fe,{uniqueId:s,summary:"Relationship: "+t,editable:r,handleEditable:o,s:n},z(fl,{relationshipId:t,relationships:e,editable:r}))},Nl=({relationshipsId:e,s:t})=>{const n=l.useRelationships(e),s=l.useRelationshipIds(n);return R(n)?null:z(Fe,{uniqueId:ve("r",e),summary:"Relationships: "+(null!=e?e:u),s:t},Q(s)?"No relationships defined":ge(s,(l=>z(Pl,{relationships:n,relationshipsId:e,relationshipId:l,s:t,key:l}))))},El=({tableId:e,store:t,storeId:n,s:s})=>{var r;const o=ve("t",n,e),[a,i,u]=oe(null!=(r=l.useCell(de,o,ce,s))?r:"[]"),d=l.useSetCellCallback(de,o,ce,re,[],s),[h,m]=Ie(o,s);return z(Fe,{uniqueId:o,summary:c+": "+e,editable:h,handleEditable:m,s:s},z(vl,{tableId:e,store:t,cellId:a,descending:i,offset:u,limit:10,paginator:!0,sortOnClick:!0,onChange:d,editable:h}))},Ll=({store:e,storeId:t,s:n})=>{const s=ve("v",t),[r,o]=Ie(s,n);return Q(l.useValueIds(e))?null:z(Fe,{uniqueId:s,summary:y,editable:r,handleEditable:o,s:n},z(gl,{store:e,editable:r}))},Ml=({storeId:e,s:t})=>{const n=l.useStore(e),s=l.useTableIds(n);return R(n)?null:z(Fe,{uniqueId:ve("s",e),summary:"Store: "+(null!=e?e:u),s:t},z(Ll,{storeId:e,store:n,s:t}),ge(s,(l=>z(El,{store:n,storeId:e,tableId:l,s:t,key:l}))))},jl=({s:e})=>{const t=F(null),n=F(0),[s,r]=J(!1),{scrollLeft:o,scrollTop:a}=l.useValues(e);A((()=>{const e=t.current;if(e&&!s){const l=new MutationObserver((()=>{e.scrollWidth>=S(o)+e.clientWidth&&e.scrollHeight>=S(a)+e.clientHeight&&e.scrollTo(o,a)}));return l.observe(e,{childList:!0,subtree:!0}),()=>l.disconnect()}}),[s,o,a]);const i=$((l=>{const{scrollLeft:t,scrollTop:s}=l[x];cancelIdleCallback(n.current),n.current=requestIdleCallback((()=>{r(!0),e.setPartialValues({scrollLeft:t,scrollTop:s})}))}),[e]),u=l.useStore(),d=l.useStoreIds(),c=l.useMetrics(),h=l.useMetricsIds(),m=l.useIndexes(),b=l.useIndexesIds(),p=l.useRelationships(),v=l.useRelationshipsIds(),g=l.useQueries(),I=l.useQueriesIds();return R(u)&&Q(d)&&R(c)&&Q(h)&&R(m)&&Q(b)&&R(p)&&Q(v)&&R(g)&&Q(I)?z("span",{className:"warn"},"There are no Stores or other objects to inspect. Make sure you placed the StoreInspector inside a Provider component."):z("article",{ref:t,onScroll:i},z(Ml,{s:e}),B(d,(l=>z(Ml,{storeId:l,s:e,key:l}))),z(Rl,{s:e}),B(h,(l=>z(Rl,{metricsId:l,s:e,key:l}))),z(Sl,{s:e}),B(b,(l=>z(Sl,{indexesId:l,s:e,key:l}))),z(Nl,{s:e}),B(v,(l=>z(Nl,{relationshipsId:l,s:e,key:l}))),z(ql,{s:e}),B(I,(l=>z(ql,{queriesId:l,s:e,key:l}))))};class zl extends M{constructor(e){super(e),this.componentDidCatch=(e,l)=>console.error(e,l.componentStack),this.state={e:0}}static getDerivedStateFromError(){return{e:1}}render(){return this.state.e?z("span",{className:"warn"},"Inspector error: please see console for details."):this.props.children}}const $l=({s:e})=>{var t;const n=null!=(t=l.useValue(me,e))?t:1,s=l.useSetValueCallback(be,(()=>!1),[],e),r=l.useSetValueCallback(me,(e=>Number(e[x].dataset.id)),[],e);return z("header",null,z("img",{title:ie}),z("span",null,ie),B(ue,((e,l)=>l==n?null:z("img",{onClick:r,"data-id":l,title:"Dock to "+e,key:l}))),z("img",{onClick:s,title:"Close"}))},Al=({s:e})=>{var t;const n=null!=(t=l.useValue(me,e))?t:1;return l.useValue(be,e)?z("main",{"data-position":n},z($l,{s:e}),z(zl,null,z(jl,{s:e}))):null},Fl=e=>l=>{return t=(l,t)=>l+e(t),Gl(l).reduce(t,0);var t},Jl=e=>{var l;return null!=(l=null==e?void 0:e.size)?l:0},Hl=Fl(Jl),Dl=Fl(Hl),Bl=Fl(Dl),Ql=(e,l)=>{var t;return null!=(t=null==e?void 0:e.has(l))&&t},Wl=e=>R(e)||0==Jl(e),Gl=e=>{var l;return[...null!=(l=null==e?void 0:e.values())?l:[]]},Kl=e=>e.clear(),Ul=(e,l)=>null==e?void 0:e.forEach(l),Xl=(e,l)=>null==e?void 0:e.delete(l),Yl=e=>new Map(e),Zl=e=>{var l;return[...null!=(l=null==e?void 0:e.keys())?l:[]]},_l=(e,l)=>null==e?void 0:e.get(l),et=(e,l)=>Ul(e,((e,t)=>l(t,e))),lt=(e,l,t)=>R(t)?(Xl(e,l),e):null==e?void 0:e.set(l,t),tt=(e,l,t)=>(Ql(e,l)||lt(e,l,t()),_l(e,l)),nt=(e,l,t,n=lt)=>(ne(l,((l,n)=>t(e,n,l))),et(e,(t=>le(l,t)?0:n(e,t))),e),st=(e,l,t)=>{const n={};return Ul(e,((e,s)=>{const r=l?l(e,s):e;!(null==t?void 0:t(r,e))&&(n[s]=r)})),n},rt=(e,l,t)=>st(e,(e=>st(e,l,t)),se),ot=(e,l,t)=>st(e,(e=>rt(e,l,t)),se),at=(e,l)=>{const t=Yl();return Ul(e,((e,n)=>{var s;return t.set(n,null!=(s=null==l?void 0:l(e))?s:e)})),t},it=e=>at(e,at),ut=e=>at(e,it),dt=(e,l,t,n,s=0)=>O((t?tt:_l)(e,l[s],s>L(l)-2?t:Yl),(r=>{if(s>L(l)-2)return(null==n?void 0:n(r))&&lt(e,l[s]),r;const o=dt(r,l,t,n,s+1);return Wl(r)&&lt(e,l[s]),o}));var ct=(e,l,t)=>new Promise(((n,s)=>{var r=e=>{try{a(t.next(e))}catch(e){s(e)}},o=e=>{try{a(t.throw(e))}catch(e){s(e)}},a=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,o);a((t=t.apply(e,l)).next())}));const ht=Yl(),mt=Yl();var bt=(e,l,t)=>new Promise(((n,s)=>{var r=e=>{try{a(t.next(e))}catch(e){s(e)}},o=e=>{try{a(t.throw(e))}catch(e){s(e)}},a=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,o);a((t=t.apply(e,l)).next())}));const pt="storage",vt=globalThis.window,gt=e=>new Set(N(e)||R(e)?e:[e]),It=(e,l)=>null==e?void 0:e.add(l),ft=/^\d+$/,yt=()=>{const e=[];let l=0;return[t=>{var s;return null!=(s=t?G(e):null)?s:n+l++},l=>{ft.test(l)&&L(e)<1e3&&W(e,l)}]},wt=e=>[e,e],Ct=(e,l=Hl)=>l(e[0])+l(e[1]),xt=()=>[Yl(),Yl()],kt=e=>[...e],Tt=([e,l])=>e===l,St=(e,l,t)=>R(e)||!_(e)||se(e)||Y(e)?(null==t||t(),!1):(ne(e,((t,n)=>{l(t,n)||te(e,n)})),!se(e)),Vt=(e,l,t)=>lt(e,l,_l(e,l)==-t?void 0:t),Rt=()=>{let e,l,t=!1,s=!1,r=!1,a=!1,d=0;const x=Yl(),k=Yl(),S=Yl(),V=Yl(),N=Yl(),M=Yl(),j=Yl(),z=Yl(),$=Yl(),A=Yl(),F=Yl(),J=Yl(),H=Yl(),Q=Yl(),G=gt(),K=Yl(),U=Yl(),X=Yl(),Y=Yl(),_=xt(),ee=xt(),ae=xt(),ie=xt(),ue=xt(),de=xt(),ce=xt(),he=xt(),me=xt(),be=xt(),pe=xt(),ve=xt(),ge=xt(),Ie=xt(),fe=xt(),ye=xt(),we=xt(),Ce=xt(),xe=xt(),ke=xt(),Te=xt(),Se=xt(),Ve=Yl(),Re=xt(),[Oe,qe,Pe,Ne]=(e=>{let l;const[t,s]=yt(),r=Yl();return[(e,s,o,a=[],i=(()=>[]))=>{null!=l||(l=zt);const u=t(1);return lt(r,u,[e,s,o,a,i]),It(dt(s,null!=o?o:[n],gt),u),u},(e,t,...s)=>D(((e,l=[n])=>{const t=[],s=(e,n)=>n==L(l)?W(t,e):null===l[n]?Ul(e,(e=>s(e,n+1))):D([l[n],null],(l=>s(_l(e,l),n+1)));return s(e,0),t})(e,t),(e=>Ul(e,(e=>_l(r,e)[0](l,...null!=t?t:[],...s))))),e=>O(_l(r,e),(([,l,t])=>(dt(l,null!=t?t:[n],void 0,(l=>(Xl(l,e),Wl(l)?1:0))),lt(r,e),s(e),t))),e=>O(_l(r,e),(([e,,t=[],n,s])=>{const r=(...o)=>{var a,i;const u=L(o);u==L(t)?e(l,...o,...s(o)):R(t[u])?D(null!=(i=null==(a=n[u])?void 0:a.call(n,...o))?i:[],(e=>r(...o,e))):r(...o,t[u])};r()}))]})(),Ee=e=>{if(!St(e,((e,l)=>[i,u].includes(l))))return!1;const l=e[i];return!(!q(l)&&l!=o||(Je(e[u])!=l&&te(e,u),0))},Le=(l,t)=>(!e||Ql(F,t)||ml(t))&&St(l,((e,l)=>Me(t,l,e)),(()=>ml(t))),Me=(e,l,t,n)=>St(n?t:Ae(t,e,l),((n,s)=>O(je(e,l,s,n),(e=>(t[s]=e,!0)),(()=>!1))),(()=>ml(e,l))),je=(l,t,n,s)=>e?O(_l(_l(F,l),n),(e=>Je(s)!=e[i]?ml(l,t,n,s,e[u]):s),(()=>ml(l,t,n,s))):R(Je(s))?ml(l,t,n,s):s,ze=(e,l)=>St(l?e:Fe(e),((l,t)=>O($e(t,l),(l=>(e[t]=l,!0)),(()=>!1))),(()=>bl())),$e=(e,t)=>l?O(_l(H,e),(l=>Je(t)!=l[i]?bl(e,t,l[u]):t),(()=>bl(e,t))):R(Je(t))?bl(e,t):t,Ae=(e,l,t)=>(O(_l(J,l),(([n,s])=>{Ul(n,((l,t)=>{le(e,t)||(e[t]=l)})),Ul(s,(n=>{le(e,n)||ml(l,t,n)}))})),e),Fe=e=>(l&&(Ul(Q,((l,t)=>{le(e,t)||(e[t]=l)})),Ul(G,(l=>{le(e,l)||bl(l)}))),e),Be=e=>nt(F,e,((e,l,t)=>{const n=Yl(),s=gt();nt(tt(F,l,Yl),t,((e,l,t)=>{lt(e,l,t),O(t[u],(e=>lt(n,l,e)),(()=>It(s,l)))})),lt(J,l,[n,s])}),((e,l)=>{lt(F,l),lt(J,l)})),Qe=e=>nt(H,e,((e,l,t)=>{lt(H,l,t),O(t[u],(e=>lt(Q,l,e)),(()=>It(G,l)))}),((e,l)=>{lt(H,l),lt(Q,l),Xl(G,l)})),We=e=>se(e)?ft():ht(e),Ge=e=>nt(X,e,((e,l,t)=>Ke(l,t)),((e,l)=>nl(l))),Ke=(e,l)=>nt(tt(X,e,(()=>(al(e,1),lt(K,e,yt()),lt(U,e,Yl()),Yl()))),l,((l,t,n)=>Ue(e,l,t,n)),((l,t)=>sl(e,l,t))),Ue=(e,l,t,n,s)=>nt(tt(l,t,(()=>(il(e,t,1),Yl()))),n,((l,n,s)=>Xe(e,t,l,n,s)),((n,r)=>rl(e,l,t,n,r,s))),Xe=(e,l,t,n,s)=>{Ql(t,n)||ul(e,l,n,1);const r=_l(t,n);s!==r&&(dl(e,l,n,r,s),lt(t,n,s))},Ye=(e,l,t,n,s)=>O(_l(l,t),(l=>Xe(e,t,l,n,s)),(()=>Ue(e,l,t,Ae({[n]:s},e,t)))),Ze=e=>se(e)?Pt():mt(e),_e=e=>nt(Y,e,((e,l,t)=>el(l,t)),((e,l)=>ol(l))),el=(e,l)=>{Ql(Y,e)||cl(e,1);const t=_l(Y,e);l!==t&&(hl(e,t,l),lt(Y,e,l))},ll=(e,l)=>{const[t]=_l(K,e),n=t(l);return Ql(_l(X,e),n)?ll(e,l):n},tl=e=>{var l;return null!=(l=_l(X,e))?l:Ke(e,{})},nl=e=>Ke(e,{}),sl=(e,l,t)=>{const[,n]=_l(K,e);n(t),Ue(e,l,t,{},!0)},rl=(e,l,t,n,s,r)=>{var o;const a=_l(null==(o=_l(J,e))?void 0:o[0],s);if(!R(a)&&!r)return Xe(e,t,n,s,a);const i=l=>{dl(e,t,l,_l(n,l)),ul(e,t,l,-1),lt(n,l)};R(a)?i(s):et(n,i),Wl(n)&&(il(e,t,-1),Wl(lt(l,t))&&(al(e,-1),lt(X,e),lt(K,e),lt(U,e)))},ol=e=>{const l=_l(Q,e);if(!R(l))return el(e,l);hl(e,_l(Y,e)),cl(e,-1),lt(Y,e)},al=(e,l)=>Vt(x,e,l),il=(e,l,t)=>Vt(tt(V,e,Yl),l,t)&&lt(S,e,tt(S,e,(()=>0))+t),ul=(e,l,t,n)=>{var s;const r=_l(U,e),o=null!=(s=_l(r,t))?s:0;(0==o&&1==n||1==o&&-1==n)&&Vt(tt(k,e,Yl),t,n),lt(r,t,o!=-n?o+n:null),Vt(tt(tt(N,e,Yl),l,Yl),t,n)},dl=(e,l,t,n,s)=>tt(tt(tt(M,e,Yl),l,Yl),t,(()=>[n,0]))[1]=s,cl=(e,l)=>Vt(j,e,l),hl=(e,l,t)=>tt(z,e,(()=>[l,0]))[1]=t,ml=(e,l,t,n,s)=>(W(tt(tt(tt($,e,Yl),l,Yl),t,(()=>[])),n),s),bl=(e,l,t)=>(W(tt(A,e,(()=>[])),l),t),pl=(e,l,t)=>O(_l(_l(_l(M,e),l),t),(([e,l])=>[!0,e,l]),(()=>[!1,...wt(Nl(e,l,t))])),vl=e=>O(_l(z,e),(([e,l])=>[!0,e,l]),(()=>[!1,...wt(Ml(e))])),gl=e=>Wl($)||Wl(ye[e])?0:Ul(e?ut($):$,((l,t)=>Ul(l,((l,n)=>Ul(l,((l,s)=>qe(ye[e],[t,n,s],l))))))),Il=e=>Wl(A)||Wl(we[e])?0:Ul(e?at(A):A,((l,t)=>qe(we[e],[t],l))),fl=(e,l,t,n)=>{if(!Wl(e))return qe(l,n,(()=>st(e))),et(e,((e,l)=>qe(t,[...null!=n?n:[],e],1==l))),1},yl=e=>{const l=jl();l!=r&&qe(_[e],void 0,l);const t=Wl(be[e]),n=Wl(ge[e])&&Wl(Ie[e])&&Wl(me[e])&&Wl(pe[e])&&Wl(de[e])&&Wl(ce[e])&&Wl(he[e])&&t&&Wl(ae[e])&&Wl(ie[e]),s=Wl(fe[e])&&Wl(ve[e])&&Wl(ue[e])&&Wl(ee[e]);if(!n||!s){const l=e?[at(x),it(k),at(S),it(V),ut(N),ut(M)]:[x,k,S,V,N,M];if(!n){fl(l[0],ae[e],ie[e]),Ul(l[1],((l,t)=>fl(l,de[e],ce[e],[t]))),Ul(l[2],((l,t)=>{0!=l&&qe(he[e],[t],Rl(t))}));const n=gt();Ul(l[3],((l,s)=>{fl(l,me[e],pe[e],[s])&&!t&&(qe(be[e],[s,null]),It(n,s))})),t||Ul(l[5],((l,t)=>{if(!Ql(n,t)){const n=gt();Ul(l,(e=>Ul(e,(([l,t],s)=>t!==l?It(n,s):Xl(e,s))))),Ul(n,(l=>qe(be[e],[t,l])))}})),Ul(l[4],((l,t)=>Ul(l,((l,n)=>fl(l,ge[e],Ie[e],[t,n])))))}if(!s){let t;Ul(l[5],((l,n)=>{let s;Ul(l,((l,r)=>{let o;Ul(l,(([l,a],i)=>{a!==l&&(qe(fe[e],[n,r,i],a,l,pl),t=s=o=1)})),o&&qe(ve[e],[n,r],pl)})),s&&qe(ue[e],[n],pl)})),t&&qe(ee[e],void 0,pl)}}},wl=e=>{const l=Gl();l!=a&&qe(Ce[e],void 0,l);const t=Wl(ke[e])&&Wl(Te[e]),n=Wl(Se[e])&&Wl(xe[e]);if(!t||!n){const l=e?[at(j),at(z)]:[j,z];if(t||fl(l[0],ke[e],Te[e]),!n){let t;Ul(l[1],(([l,n],s)=>{n!==l&&(qe(Se[e],[s],n,l,vl),t=1)})),t&&qe(xe[e],void 0,vl)}}},Cl=(e,...l)=>(Lt((()=>e(...B(l,T)))),zt),xl=()=>[st(M,((e,l)=>-1===_l(x,l)?null:st(e,((e,t)=>-1===_l(_l(V,l),t)?null:st(e,(([,e])=>null!=e?e:null),((e,l)=>Tt(l)))),se)),se),st(z,(([,e])=>null!=e?e:null),((e,l)=>Tt(l)))],kl=()=>({cellsTouched:t,valuesTouched:s,changedCells:ot(M,kt,Tt),invalidCells:ot($),changedValues:st(z,kt,Tt),invalidValues:st(A),changedTableIds:st(x),changedRowIds:rt(V),changedCellIds:ot(N),changedValueIds:st(j)}),Tl=()=>ot(X),Sl=()=>Zl(X),Vl=e=>Zl(_l(U,T(e))),Rl=e=>Jl(_l(X,T(e))),Ol=e=>Zl(_l(X,T(e))),ql=(e,l,t,n=0,s)=>{return B(E((o=_l(X,T(e)),a=(e,t)=>[R(l)?t:_l(e,T(l)),t],r=([e],[l])=>{return((null!=(n=e)?n:0)<(null!=(s=l)?s:0)?-1:1)*(t?-1:1);var n,s},B([...null!=(i=null==o?void 0:o.entries())?i:[]],(([e,l])=>a(l,e))).sort(r)),n,R(s)?s:n+s),(([,e])=>e));var r,o,a,i},Pl=(e,l)=>Zl(_l(_l(X,T(e)),T(l))),Nl=(e,l,t)=>_l(_l(_l(X,T(e)),T(l)),T(t)),El=()=>st(Y),Ll=()=>Zl(Y),Ml=e=>_l(Y,T(e)),jl=()=>!Wl(X),zl=e=>Ql(X,T(e)),$l=(e,l)=>Ql(_l(U,T(e)),T(l)),Al=(e,l)=>Ql(_l(X,T(e)),T(l)),Fl=(e,l,t)=>Ql(_l(_l(X,T(e)),T(l)),T(t)),Gl=()=>!Wl(Y),ct=e=>Ql(Y,T(e)),ht=e=>Cl((()=>(e=>St(e,Le,ml))(e)?Ge(e):0)),mt=e=>Cl((()=>ze(e)?_e(e):0)),bt=e=>{try{We(oe(e))}catch(e){}return zt},pt=l=>Cl((()=>{if((e=St(l,(e=>St(e,Ee))))&&(Be(l),!Wl(X))){const e=Tl();ft(),ht(e)}})),vt=e=>Cl((()=>{if(l=(e=>St(e,Ee))(e)){const t=El();Et(),Pt(),l=!0,Qe(e),mt(t)}})),ft=()=>Cl((()=>Ge({}))),Ot=e=>Cl((e=>Ql(X,e)?nl(e):0),e),qt=(e,l)=>Cl(((e,l)=>O(_l(X,e),(t=>Ql(t,l)?sl(e,t,l):0))),e,l),Pt=()=>Cl((()=>_e({}))),Nt=()=>Cl((()=>{Be({}),e=!1})),Et=()=>Cl((()=>{Qe({}),l=!1})),Lt=(e,l)=>{if(-1!=d){Mt();const t=e();return jt(l),t}},Mt=()=>(-1!=d&&d++,1==d&&qe(Ve,void 0,xl,kl),zt),jt=e=>(d>0&&(d--,0==d&&(t=!Wl(M),s=!Wl(z),d=1,gl(1),t&&yl(1),Il(1),s&&wl(1),(null==e?void 0:e(xl,kl))&&(Ul(M,((e,l)=>Ul(e,((e,t)=>Ul(e,(([e],n)=>He(zt,l,t,n,e))))))),Ul(z,(([e],l)=>De(zt,l,e))),t=s=!1),qe(Re[0],void 0,xl,kl),d=-1,gl(0),t&&yl(0),Il(0),s&&wl(0),qe(Re[1],void 0,xl,kl),d=0,t=s=!1,r=jl(),a=Gl(),D([x,k,S,V,N,M,$,j,z,A],Kl))),zt),zt={getContent:()=>[Tl(),El()],getTables:Tl,getTableIds:Sl,getTable:e=>rt(_l(X,T(e))),getTableCellIds:Vl,getRowCount:Rl,getRowIds:Ol,getSortedRowIds:ql,getRow:(e,l)=>st(_l(_l(X,T(e)),T(l))),getCellIds:Pl,getCell:Nl,getValues:El,getValueIds:Ll,getValue:Ml,hasTables:jl,hasTable:zl,hasTableCell:$l,hasRow:Al,hasCell:Fl,hasValues:Gl,hasValue:ct,getTablesJson:()=>re(X),getValuesJson:()=>re(Y),getJson:()=>re([X,Y]),getTablesSchemaJson:()=>re(F),getValuesSchemaJson:()=>re(H),getSchemaJson:()=>re([F,H]),hasTablesSchema:()=>e,hasValuesSchema:()=>l,setContent:([e,l])=>Cl((()=>{(se(e)?ft:ht)(e),(se(l)?Pt:mt)(l)})),setTables:ht,setTable:(e,l)=>Cl((e=>Le(l,e)?Ke(e,l):0),e),setRow:(e,l,t)=>Cl(((e,l)=>Me(e,l,t)?Ue(e,tl(e),l,t):0),e,l),addRow:(e,l,t=!0)=>Lt((()=>{let n;return Me(e,n,l)&&(e=T(e),Ue(e,tl(e),n=ll(e,t?1:0),l)),n})),setPartialRow:(e,l,t)=>Cl(((e,l)=>{if(Me(e,l,t,1)){const n=tl(e);ne(t,((t,s)=>Ye(e,n,l,s,t)))}}),e,l),setCell:(e,l,t,n)=>Cl(((e,l,t)=>O(je(e,l,t,P(n)?n(Nl(e,l,t)):n),(n=>Ye(e,tl(e),l,t,n)))),e,l,t),setValues:mt,setPartialValues:e=>Cl((()=>ze(e,1)?ne(e,((e,l)=>el(l,e))):0)),setValue:(e,l)=>Cl((e=>O($e(e,P(l)?l(Ml(e)):l),(l=>el(e,l)))),e),setTransactionChanges:e=>Cl((()=>{ne(e[0],((e,l)=>R(e)?Ot(l):ne(e,((e,t)=>R(e)?qt(l,t):ne(e,((e,n)=>He(zt,l,t,n,e))))))),ne(e[1],((e,l)=>De(zt,l,e)))})),setTablesJson:bt,setValuesJson:e=>{try{Ze(oe(e))}catch(e){}return zt},setJson:e=>Cl((()=>{try{const[l,t]=oe(e);We(l),Ze(t)}catch(l){bt(e)}})),setTablesSchema:pt,setValuesSchema:vt,setSchema:(e,l)=>Cl((()=>{pt(e),vt(l)})),delTables:ft,delTable:Ot,delRow:qt,delCell:(e,l,t,n)=>Cl(((e,l,t)=>O(_l(X,e),(s=>O(_l(s,l),(r=>Ql(r,t)?rl(e,s,l,r,t,n):0))))),e,l,t),delValues:Pt,delValue:e=>Cl((e=>Ql(Y,e)?ol(e):0),e),delTablesSchema:Nt,delValuesSchema:Et,delSchema:()=>Cl((()=>{Nt(),Et()})),transaction:Lt,startTransaction:Mt,finishTransaction:jt,forEachTable:e=>Ul(X,((l,t)=>e(t,(e=>Ul(l,((l,t)=>e(t,(e=>et(l,e))))))))),forEachTableCell:(e,l)=>et(_l(U,T(e)),l),forEachRow:(e,l)=>Ul(_l(X,T(e)),((e,t)=>l(t,(l=>et(e,l))))),forEachCell:(e,l,t)=>et(_l(_l(X,T(e)),T(l)),t),forEachValue:e=>et(Y,e),addSortedRowIdsListener:(e,l,t,n,s,r,o)=>{let a=ql(e,l,t,n,s);return Oe((()=>{const o=ql(e,l,t,n,s);var i,u,d;u=a,L(i=o)===L(u)&&(d=(e,l)=>u[l]===e,i.every(d))||(a=o,r(zt,e,l,t,n,s,a))}),be[o?1:0],[e,l],[Sl])},addStartTransactionListener:e=>Oe(e,Ve),addWillFinishTransactionListener:e=>Oe(e,Re[0]),addDidFinishTransactionListener:e=>Oe(e,Re[1]),callListener:e=>(Ne(e),zt),delListener:e=>(Pe(e),zt),getListenerStats:()=>({hasTables:Ct(_),tables:Ct(ee),tableIds:Ct(ae),hasTable:Ct(ie),table:Ct(ue),tableCellIds:Ct(de),hasTableCell:Ct(ce,Dl),rowCount:Ct(he),rowIds:Ct(me),sortedRowIds:Ct(be),hasRow:Ct(pe,Dl),row:Ct(ve,Dl),cellIds:Ct(ge,Dl),hasCell:Ct(Ie,Bl),cell:Ct(fe,Bl),invalidCell:Ct(ye,Bl),hasValues:Ct(Ce),values:Ct(xe),valueIds:Ct(ke),hasValue:Ct(Te),value:Ct(Se),invalidValue:Ct(we),transaction:Hl(Ve)+Ct(Re)}),createStore:Rt,addListener:Oe,callListeners:qe};return ne({[C+h]:[0,_,[],()=>[jl()]],[h]:[0,ee],[m]:[0,ae],[C+c]:[1,ie,[Sl],e=>[zl(...e)]],[c]:[1,ue,[Sl]],[c+I]:[1,de,[Sl]],[C+c+g]:[2,ce,[Sl,Vl],e=>[$l(...e)]],[p]:[1,he,[Sl]],[v]:[1,me,[Sl]],[C+b]:[2,pe,[Sl,Ol],e=>[Al(...e)]],[b]:[2,ve,[Sl,Ol]],[I]:[2,ge,[Sl,Ol]],[C+g]:[3,Ie,[Sl,Ol,Pl],e=>[Fl(...e)]],[g]:[3,fe,[Sl,Ol,Pl],e=>wt(Nl(...e))],InvalidCell:[3,ye],[C+y]:[0,Ce,[],()=>[Gl()]],[y]:[0,xe],[w]:[0,ke],[C+f]:[1,Te,[Ll],e=>[ct(...e)]],[f]:[1,Se,[Ll],e=>wt(Ml(e[0]))],InvalidValue:[1,we]},(([e,l,t,n],s)=>{zt["add"+s+"Listener"]=(...s)=>Oe(s[e],l[s[e+1]?1:0],e>0?E(s,0,e):void 0,t,n)})),Z(zt)},Ot=({position:e="right",open:t=!1})=>{const n=l.useCreateStore(Rt),s=ue.indexOf(e);return l.useCreatePersister(n,(e=>{return((e,l,t,n)=>((e,l,t,n,s,r,[o,a]=[],i=[])=>{let u,d,c,h=0,m=0,b=0,p=0;tt(ht,i,(()=>0)),tt(mt,i,(()=>[]));const v=e=>ct(void 0,null,(function*(){return 2!=h&&(h=1,m++,yield g.schedule((()=>ct(void 0,null,(function*(){yield e(),h=0}))))),g})),g={load:(t,n)=>ct(void 0,null,(function*(){return yield v((()=>ct(void 0,null,(function*(){try{e.setContent(yield l())}catch(l){e.setContent([t,n])}}))))})),startAutoLoad:(...t)=>ct(void 0,[...t],(function*(t={},s={}){return g.stopAutoLoad(),yield g.load(t,s),p=1,c=n(((t,n)=>ct(void 0,null,(function*(){if(n){const l=n();yield v((()=>ct(void 0,null,(function*(){return e.setTransactionChanges(l)}))))}else yield v((()=>ct(void 0,null,(function*(){var n;try{e.setContent(null!=(n=null==t?void 0:t())?n:yield l())}catch(e){null==r||r(e)}}))))})))),g})),stopAutoLoad:()=>(p&&(s(c),c=void 0,p=0),g),save:l=>ct(void 0,null,(function*(){return 1!=h&&(h=2,b++,yield g.schedule((()=>ct(void 0,null,(function*(){try{yield t(e.getContent,l)}catch(e){null==r||r(e)}h=0}))))),g})),startAutoSave:()=>ct(void 0,null,(function*(){return yield g.stopAutoSave().save(),u=e.addDidFinishTransactionListener(((e,l)=>{const[t,n]=l();se(t)&&se(n)||g.save((()=>[t,n]))})),g})),stopAutoSave:()=>(O(u,e.delListener),u=void 0,g),schedule:(...e)=>ct(void 0,null,(function*(){return W(_l(mt,i),...e),yield ct(void 0,null,(function*(){if(!_l(ht,i)){for(lt(ht,i,1);!R(d=G(_l(mt,i)));)try{yield d()}catch(e){null==r||r(e)}lt(ht,i,0)}})),g})),getStore:()=>e,destroy:()=>g.stopAutoLoad().stopAutoSave(),getStats:()=>({loads:m,saves:b})};return o&&(g[o]=()=>a),Z(g)})(e,(()=>bt(void 0,null,(function*(){return oe(t.getItem(l))}))),(e=>bt(void 0,null,(function*(){return t.setItem(l,re(e()))}))),(e=>{const n=n=>{n.storageArea===t&&n.key===l&&e((()=>oe(n.newValue)))};return vt.addEventListener(pt,n),n}),(e=>vt.removeEventListener(pt,e)),n,["getStorageName",l]))(e,ae,sessionStorage,l);var l}),void 0,(e=>{return l=function*(){yield e.load(void 0,{position:-1==s?1:s,open:!!t}),yield e.startAutoSave()},new Promise(((e,t)=>{var n=e=>{try{r(l.next(e))}catch(e){t(e)}},s=e=>{try{r(l.throw(e))}catch(e){t(e)}},r=l=>l.done?e(l.value):Promise.resolve(l.value).then(n,s);r((l=l.apply(void 0,null)).next())}));var l})),z(j,null,z("aside",{id:ae},z(Ae,{s:n}),z(Al,{s:n})),z("style",null,$e))};var qt=Object.defineProperty,Pt=Object.getOwnPropertySymbols,Nt=Object.prototype.hasOwnProperty,Et=Object.prototype.propertyIsEnumerable,Lt=(e,l,t)=>l in e?qt(e,l,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[l]=t;exports.EditableCellView=wl,exports.EditableValueView=Cl,exports.RelationshipInHtmlTable=fl,exports.ResultSortedTableInHtmlTable=yl,exports.ResultTableInHtmlTable=e=>{var t=e,{queryId:n,queries:s,customCells:r}=t,o=el(t,["queryId","queries","customCells"]);return z(hl,_e(Ze({},o),{params:al(cl(l.useResultTableCellIds(n,s),r,l.ResultCellView),ul(s,n),l.useResultRowIds(n,s))}))},exports.SliceInHtmlTable=Il,exports.SortedTableInHtmlTable=vl,exports.SortedTablePaginator=xl,exports.StoreInspector=e=>z(Ot,((e,l)=>{for(var t in l||(l={}))Nt.call(l,t)&&Lt(e,t,l[t]);if(Pt)for(var t of Pt(l))Et.call(l,t)&&Lt(e,t,l[t]);return e})({},e)),exports.TableInHtmlTable=e=>{var t=e,{tableId:n,store:s,editable:r,customCells:o}=t,a=el(t,["tableId","store","editable","customCells"]);return z(hl,_e(Ze({},a),{params:al(cl(l.useTableCellIds(n,s),o,r?wl:l.CellView),il(s,n),l.useRowIds(n,s))}))},exports.ValuesInHtmlTable=gl;
@@ -20,6 +20,7 @@ const CELL_IDS = CELL + IDS;
20
20
  const VALUE = 'Value';
21
21
  const VALUES = VALUE + 's';
22
22
  const VALUE_IDS = VALUE + IDS;
23
+ const HAS = 'Has';
23
24
  const id = (key) => EMPTY_STRING + key;
24
25
 
25
26
  const isFiniteNumber = isFinite;
@@ -296,6 +297,8 @@ const createStore = () => {
296
297
  let hasValuesSchema;
297
298
  let cellsTouched = false;
298
299
  let valuesTouched = false;
300
+ let hadTables = false;
301
+ let hadValues = false;
299
302
  let transactions = 0;
300
303
  const changedTableIds = mapNew();
301
304
  const changedTableCellIds = mapNew();
@@ -316,20 +319,27 @@ const createStore = () => {
316
319
  const tableCellIds = mapNew();
317
320
  const tablesMap = mapNew();
318
321
  const valuesMap = mapNew();
322
+ const hasTablesListeners = pairNewMap();
319
323
  const tablesListeners = pairNewMap();
320
324
  const tableIdsListeners = pairNewMap();
325
+ const hasTableListeners = pairNewMap();
321
326
  const tableListeners = pairNewMap();
322
327
  const tableCellIdsListeners = pairNewMap();
328
+ const hasTableCellListeners = pairNewMap();
323
329
  const rowCountListeners = pairNewMap();
324
330
  const rowIdsListeners = pairNewMap();
325
331
  const sortedRowIdsListeners = pairNewMap();
332
+ const hasRowListeners = pairNewMap();
326
333
  const rowListeners = pairNewMap();
327
334
  const cellIdsListeners = pairNewMap();
335
+ const hasCellListeners = pairNewMap();
328
336
  const cellListeners = pairNewMap();
329
337
  const invalidCellListeners = pairNewMap();
330
338
  const invalidValueListeners = pairNewMap();
339
+ const hasValuesListeners = pairNewMap();
331
340
  const valuesListeners = pairNewMap();
332
341
  const valueIdsListeners = pairNewMap();
342
+ const hasValueListeners = pairNewMap();
333
343
  const valueListeners = pairNewMap();
334
344
  const startTransactionListeners = mapNew();
335
345
  const finishTransactionListeners = pairNewMap();
@@ -724,29 +734,45 @@ const createStore = () => {
724
734
  ),
725
735
  )
726
736
  : 0;
727
- const callIdsListenersIfChanged = (listeners, changedIds, ids) => {
737
+ const callIdsAndHasListenersIfChanged = (
738
+ changedIds,
739
+ idListeners,
740
+ hasListeners,
741
+ ids,
742
+ ) => {
728
743
  if (!collIsEmpty(changedIds)) {
729
- callListeners(listeners, ids, () => mapToObj(changedIds));
744
+ callListeners(idListeners, ids, () => mapToObj(changedIds));
745
+ mapForEach(changedIds, (changedId, changed) =>
746
+ callListeners(hasListeners, [...(ids ?? []), changedId], changed == 1),
747
+ );
730
748
  return 1;
731
749
  }
732
750
  };
733
751
  const callTabularListenersForChanges = (mutator) => {
752
+ const hasTablesNow = hasTables();
753
+ if (hasTablesNow != hadTables) {
754
+ callListeners(hasTablesListeners[mutator], void 0, hasTablesNow);
755
+ }
734
756
  const emptySortedRowIdListeners = collIsEmpty(
735
757
  sortedRowIdsListeners[mutator],
736
758
  );
737
- const emptyIdListeners =
759
+ const emptyIdAndHasListeners =
738
760
  collIsEmpty(cellIdsListeners[mutator]) &&
761
+ collIsEmpty(hasCellListeners[mutator]) &&
762
+ collIsEmpty(rowIdsListeners[mutator]) &&
763
+ collIsEmpty(hasRowListeners[mutator]) &&
739
764
  collIsEmpty(tableCellIdsListeners[mutator]) &&
765
+ collIsEmpty(hasTableCellListeners[mutator]) &&
740
766
  collIsEmpty(rowCountListeners[mutator]) &&
741
- collIsEmpty(rowIdsListeners[mutator]) &&
742
767
  emptySortedRowIdListeners &&
743
- collIsEmpty(tableIdsListeners[mutator]);
768
+ collIsEmpty(tableIdsListeners[mutator]) &&
769
+ collIsEmpty(hasTableListeners[mutator]);
744
770
  const emptyOtherListeners =
745
771
  collIsEmpty(cellListeners[mutator]) &&
746
772
  collIsEmpty(rowListeners[mutator]) &&
747
773
  collIsEmpty(tableListeners[mutator]) &&
748
774
  collIsEmpty(tablesListeners[mutator]);
749
- if (!emptyIdListeners || !emptyOtherListeners) {
775
+ if (!emptyIdAndHasListeners || !emptyOtherListeners) {
750
776
  const changes = mutator
751
777
  ? [
752
778
  mapClone(changedTableIds),
@@ -764,12 +790,17 @@ const createStore = () => {
764
790
  changedCellIds,
765
791
  changedCells,
766
792
  ];
767
- if (!emptyIdListeners) {
768
- callIdsListenersIfChanged(tableIdsListeners[mutator], changes[0]);
793
+ if (!emptyIdAndHasListeners) {
794
+ callIdsAndHasListenersIfChanged(
795
+ changes[0],
796
+ tableIdsListeners[mutator],
797
+ hasTableListeners[mutator],
798
+ );
769
799
  collForEach(changes[1], (changedIds, tableId) =>
770
- callIdsListenersIfChanged(
771
- tableCellIdsListeners[mutator],
800
+ callIdsAndHasListenersIfChanged(
772
801
  changedIds,
802
+ tableCellIdsListeners[mutator],
803
+ hasTableCellListeners[mutator],
773
804
  [tableId],
774
805
  ),
775
806
  );
@@ -785,9 +816,12 @@ const createStore = () => {
785
816
  const calledSortableTableIds = setNew();
786
817
  collForEach(changes[3], (changedIds, tableId) => {
787
818
  if (
788
- callIdsListenersIfChanged(rowIdsListeners[mutator], changedIds, [
789
- tableId,
790
- ]) &&
819
+ callIdsAndHasListenersIfChanged(
820
+ changedIds,
821
+ rowIdsListeners[mutator],
822
+ hasRowListeners[mutator],
823
+ [tableId],
824
+ ) &&
791
825
  !emptySortedRowIdListeners
792
826
  ) {
793
827
  callListeners(sortedRowIdsListeners[mutator], [tableId, null]);
@@ -816,10 +850,12 @@ const createStore = () => {
816
850
  }
817
851
  collForEach(changes[4], (rowCellIds, tableId) =>
818
852
  collForEach(rowCellIds, (changedIds, rowId) =>
819
- callIdsListenersIfChanged(cellIdsListeners[mutator], changedIds, [
820
- tableId,
821
- rowId,
822
- ]),
853
+ callIdsAndHasListenersIfChanged(
854
+ changedIds,
855
+ cellIdsListeners[mutator],
856
+ hasCellListeners[mutator],
857
+ [tableId, rowId],
858
+ ),
823
859
  ),
824
860
  );
825
861
  }
@@ -859,17 +895,27 @@ const createStore = () => {
859
895
  }
860
896
  }
861
897
  };
862
- const callKeyedValuesListenersForChanges = (mutator) => {
863
- const emptyIdListeners = collIsEmpty(valueIdsListeners[mutator]);
898
+ const callValuesListenersForChanges = (mutator) => {
899
+ const hasValuesNow = hasValues();
900
+ if (hasValuesNow != hadValues) {
901
+ callListeners(hasValuesListeners[mutator], void 0, hasValuesNow);
902
+ }
903
+ const emptyIdAndHasListeners =
904
+ collIsEmpty(valueIdsListeners[mutator]) &&
905
+ collIsEmpty(hasValueListeners[mutator]);
864
906
  const emptyOtherListeners =
865
907
  collIsEmpty(valueListeners[mutator]) &&
866
908
  collIsEmpty(valuesListeners[mutator]);
867
- if (!emptyIdListeners || !emptyOtherListeners) {
909
+ if (!emptyIdAndHasListeners || !emptyOtherListeners) {
868
910
  const changes = mutator
869
911
  ? [mapClone(changedValueIds), mapClone(changedValues)]
870
912
  : [changedValueIds, changedValues];
871
- if (!emptyIdListeners) {
872
- callIdsListenersIfChanged(valueIdsListeners[mutator], changes[0]);
913
+ if (!emptyIdAndHasListeners) {
914
+ callIdsAndHasListenersIfChanged(
915
+ changes[0],
916
+ valueIdsListeners[mutator],
917
+ hasValueListeners[mutator],
918
+ );
873
919
  }
874
920
  if (!emptyOtherListeners) {
875
921
  let valuesChanged;
@@ -1242,7 +1288,7 @@ const createStore = () => {
1242
1288
  }
1243
1289
  callInvalidValueListeners(1);
1244
1290
  if (valuesTouched) {
1245
- callKeyedValuesListenersForChanges(1);
1291
+ callValuesListenersForChanges(1);
1246
1292
  }
1247
1293
  if (doRollback?.(getTransactionChanges, getTransactionLog)) {
1248
1294
  collForEach(changedCells, (table, tableId) =>
@@ -1270,7 +1316,7 @@ const createStore = () => {
1270
1316
  }
1271
1317
  callInvalidValueListeners(0);
1272
1318
  if (valuesTouched) {
1273
- callKeyedValuesListenersForChanges(0);
1319
+ callValuesListenersForChanges(0);
1274
1320
  }
1275
1321
  callListeners(
1276
1322
  finishTransactionListeners[1],
@@ -1280,6 +1326,8 @@ const createStore = () => {
1280
1326
  );
1281
1327
  transactions = 0;
1282
1328
  cellsTouched = valuesTouched = false;
1329
+ hadTables = hasTables();
1330
+ hadValues = hasValues();
1283
1331
  arrayForEach(
1284
1332
  [
1285
1333
  changedTableIds,
@@ -1376,19 +1424,26 @@ const createStore = () => {
1376
1424
  return store;
1377
1425
  };
1378
1426
  const getListenerStats = () => ({
1427
+ hasTables: pairCollSize2(hasTablesListeners),
1379
1428
  tables: pairCollSize2(tablesListeners),
1380
1429
  tableIds: pairCollSize2(tableIdsListeners),
1381
- tableCellIds: pairCollSize2(tableCellIdsListeners),
1430
+ hasTable: pairCollSize2(hasTableListeners),
1382
1431
  table: pairCollSize2(tableListeners),
1432
+ tableCellIds: pairCollSize2(tableCellIdsListeners),
1433
+ hasTableCell: pairCollSize2(hasTableCellListeners, collSize3),
1383
1434
  rowCount: pairCollSize2(rowCountListeners),
1384
1435
  rowIds: pairCollSize2(rowIdsListeners),
1385
1436
  sortedRowIds: pairCollSize2(sortedRowIdsListeners),
1437
+ hasRow: pairCollSize2(hasRowListeners, collSize3),
1386
1438
  row: pairCollSize2(rowListeners, collSize3),
1387
1439
  cellIds: pairCollSize2(cellIdsListeners, collSize3),
1440
+ hasCell: pairCollSize2(hasCellListeners, collSize4),
1388
1441
  cell: pairCollSize2(cellListeners, collSize4),
1389
1442
  invalidCell: pairCollSize2(invalidCellListeners, collSize4),
1443
+ hasValues: pairCollSize2(hasValuesListeners),
1390
1444
  values: pairCollSize2(valuesListeners),
1391
1445
  valueIds: pairCollSize2(valueIdsListeners),
1446
+ hasValue: pairCollSize2(hasValueListeners),
1392
1447
  value: pairCollSize2(valueListeners),
1393
1448
  invalidValue: pairCollSize2(invalidValueListeners),
1394
1449
  transaction:
@@ -1473,14 +1528,39 @@ const createStore = () => {
1473
1528
  };
1474
1529
  objMap(
1475
1530
  {
1531
+ [HAS + TABLES]: [0, hasTablesListeners, [], () => [hasTables()]],
1476
1532
  [TABLES]: [0, tablesListeners],
1477
1533
  [TABLE_IDS]: [0, tableIdsListeners],
1534
+ [HAS + TABLE]: [
1535
+ 1,
1536
+ hasTableListeners,
1537
+ [getTableIds],
1538
+ (ids) => [hasTable(...ids)],
1539
+ ],
1478
1540
  [TABLE]: [1, tableListeners, [getTableIds]],
1479
1541
  [TABLE + CELL_IDS]: [1, tableCellIdsListeners, [getTableIds]],
1542
+ [HAS + TABLE + CELL]: [
1543
+ 2,
1544
+ hasTableCellListeners,
1545
+ [getTableIds, getTableCellIds],
1546
+ (ids) => [hasTableCell(...ids)],
1547
+ ],
1480
1548
  [ROW_COUNT]: [1, rowCountListeners, [getTableIds]],
1481
1549
  [ROW_IDS]: [1, rowIdsListeners, [getTableIds]],
1550
+ [HAS + ROW]: [
1551
+ 2,
1552
+ hasRowListeners,
1553
+ [getTableIds, getRowIds],
1554
+ (ids) => [hasRow(...ids)],
1555
+ ],
1482
1556
  [ROW]: [2, rowListeners, [getTableIds, getRowIds]],
1483
1557
  [CELL_IDS]: [2, cellIdsListeners, [getTableIds, getRowIds]],
1558
+ [HAS + CELL]: [
1559
+ 3,
1560
+ hasCellListeners,
1561
+ [getTableIds, getRowIds, getCellIds],
1562
+ (ids) => [hasCell(...ids)],
1563
+ ],
1484
1564
  [CELL]: [
1485
1565
  3,
1486
1566
  cellListeners,
@@ -1488,8 +1568,15 @@ const createStore = () => {
1488
1568
  (ids) => pairNew(getCell(...ids)),
1489
1569
  ],
1490
1570
  InvalidCell: [3, invalidCellListeners],
1571
+ [HAS + VALUES]: [0, hasValuesListeners, [], () => [hasValues()]],
1491
1572
  [VALUES]: [0, valuesListeners],
1492
1573
  [VALUE_IDS]: [0, valueIdsListeners],
1574
+ [HAS + VALUE]: [
1575
+ 1,
1576
+ hasValueListeners,
1577
+ [getValueIds],
1578
+ (ids) => [hasValue(...ids)],
1579
+ ],
1493
1580
  [VALUE]: [
1494
1581
  1,
1495
1582
  valueListeners,