tinybase 5.3.0-beta.0 → 5.3.0-beta.2

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 (87) hide show
  1. package/@types/index.d.cts +0 -2
  2. package/@types/index.d.ts +0 -2
  3. package/@types/persisters/persister-partykit-client/index.d.cts +2 -2
  4. package/@types/persisters/persister-partykit-client/index.d.ts +2 -2
  5. package/@types/persisters/persister-partykit-client/with-schemas/index.d.cts +2 -2
  6. package/@types/persisters/persister-partykit-client/with-schemas/index.d.ts +2 -2
  7. package/@types/ui-react/index.d.cts +88 -0
  8. package/@types/ui-react/index.d.ts +88 -0
  9. package/@types/ui-react/with-schemas/index.d.cts +21 -0
  10. package/@types/ui-react/with-schemas/index.d.ts +21 -0
  11. package/@types/with-schemas/index.d.cts +0 -2
  12. package/@types/with-schemas/index.d.ts +0 -2
  13. package/cjs/es6/min/ui-react/index.cjs +1 -1
  14. package/cjs/es6/min/ui-react/index.cjs.gz +0 -0
  15. package/cjs/es6/min/ui-react/with-schemas/index.cjs +1 -1
  16. package/cjs/es6/min/ui-react/with-schemas/index.cjs.gz +0 -0
  17. package/cjs/es6/min/ui-react-inspector/index.cjs +1 -1
  18. package/cjs/es6/min/ui-react-inspector/index.cjs.gz +0 -0
  19. package/cjs/es6/min/ui-react-inspector/with-schemas/index.cjs +1 -1
  20. package/cjs/es6/min/ui-react-inspector/with-schemas/index.cjs.gz +0 -0
  21. package/cjs/es6/ui-react/index.cjs +99 -30
  22. package/cjs/es6/ui-react/with-schemas/index.cjs +99 -30
  23. package/cjs/es6/ui-react-inspector/index.cjs +1 -1
  24. package/cjs/es6/ui-react-inspector/with-schemas/index.cjs +1 -1
  25. package/cjs/min/ui-react/index.cjs +1 -1
  26. package/cjs/min/ui-react/index.cjs.gz +0 -0
  27. package/cjs/min/ui-react/with-schemas/index.cjs +1 -1
  28. package/cjs/min/ui-react/with-schemas/index.cjs.gz +0 -0
  29. package/cjs/min/ui-react-inspector/index.cjs +1 -1
  30. package/cjs/min/ui-react-inspector/index.cjs.gz +0 -0
  31. package/cjs/min/ui-react-inspector/with-schemas/index.cjs +1 -1
  32. package/cjs/min/ui-react-inspector/with-schemas/index.cjs.gz +0 -0
  33. package/cjs/ui-react/index.cjs +73 -31
  34. package/cjs/ui-react/with-schemas/index.cjs +73 -31
  35. package/cjs/ui-react-inspector/index.cjs +1 -1
  36. package/cjs/ui-react-inspector/with-schemas/index.cjs +1 -1
  37. package/es6/min/ui-react/index.js +1 -1
  38. package/es6/min/ui-react/index.js.gz +0 -0
  39. package/es6/min/ui-react/with-schemas/index.js +1 -1
  40. package/es6/min/ui-react/with-schemas/index.js.gz +0 -0
  41. package/es6/min/ui-react-inspector/index.js +1 -1
  42. package/es6/min/ui-react-inspector/index.js.gz +0 -0
  43. package/es6/min/ui-react-inspector/with-schemas/index.js +1 -1
  44. package/es6/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  45. package/es6/ui-react/index.js +99 -30
  46. package/es6/ui-react/with-schemas/index.js +99 -30
  47. package/es6/ui-react-inspector/index.js +1 -1
  48. package/es6/ui-react-inspector/with-schemas/index.js +1 -1
  49. package/min/ui-react/index.js +1 -1
  50. package/min/ui-react/index.js.gz +0 -0
  51. package/min/ui-react/with-schemas/index.js +1 -1
  52. package/min/ui-react/with-schemas/index.js.gz +0 -0
  53. package/min/ui-react-inspector/index.js +1 -1
  54. package/min/ui-react-inspector/index.js.gz +0 -0
  55. package/min/ui-react-inspector/with-schemas/index.js +1 -1
  56. package/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  57. package/package.json +2 -2
  58. package/readme.md +14 -14
  59. package/releases.md +24 -24
  60. package/ui-react/index.js +73 -31
  61. package/ui-react/with-schemas/index.js +73 -31
  62. package/ui-react-inspector/index.js +1 -1
  63. package/ui-react-inspector/with-schemas/index.js +1 -1
  64. package/umd/es6/min/ui-react/index.js +1 -1
  65. package/umd/es6/min/ui-react/index.js.gz +0 -0
  66. package/umd/es6/min/ui-react/with-schemas/index.js +1 -1
  67. package/umd/es6/min/ui-react/with-schemas/index.js.gz +0 -0
  68. package/umd/es6/min/ui-react-inspector/index.js +1 -1
  69. package/umd/es6/min/ui-react-inspector/index.js.gz +0 -0
  70. package/umd/es6/min/ui-react-inspector/with-schemas/index.js +1 -1
  71. package/umd/es6/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  72. package/umd/es6/ui-react/index.js +102 -34
  73. package/umd/es6/ui-react/with-schemas/index.js +102 -34
  74. package/umd/es6/ui-react-inspector/index.js +2 -1
  75. package/umd/es6/ui-react-inspector/with-schemas/index.js +2 -1
  76. package/umd/min/ui-react/index.js +1 -1
  77. package/umd/min/ui-react/index.js.gz +0 -0
  78. package/umd/min/ui-react/with-schemas/index.js +1 -1
  79. package/umd/min/ui-react/with-schemas/index.js.gz +0 -0
  80. package/umd/min/ui-react-inspector/index.js +1 -1
  81. package/umd/min/ui-react-inspector/index.js.gz +0 -0
  82. package/umd/min/ui-react-inspector/with-schemas/index.js +1 -1
  83. package/umd/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  84. package/umd/ui-react/index.js +77 -31
  85. package/umd/ui-react/with-schemas/index.js +77 -31
  86. package/umd/ui-react-inspector/index.js +2 -1
  87. package/umd/ui-react-inspector/with-schemas/index.js +2 -1
@@ -1 +1 @@
1
- "use strict";var e=require("react"),t=require("../../ui-react/with-schemas/index.cjs");const s=e=>typeof e,l="",a=s(l),n=s(!0),r=s(0),o=s(s),i="type",d="default",u="Has",c="Ids",h="Table",m=h+"s",g=h+c,b="Row",p=b+"Count",I=b+c,f="Cell",y=f+c,w="Value",C=w+"s",v=w+c,k="currentTarget",S="value",x=e=>l+e,T=globalThis.window,V=Math,R=V.min,q=V.floor,M=isFinite,N=e=>null==e,L=(e,t,s)=>N(e)?s?.():t(e),E=e=>e==a||e==n,z=e=>s(e)==o,O=e=>Array.isArray(e),$=(e,t,s)=>e.slice(t,s),A=e=>e.length,F=e=>{throw Error(e)},{PureComponent:J,Fragment:P,createElement:B,useCallback:D,useLayoutEffect:Q,useRef:j,useState:H}=e,W=(e,...t)=>N(e)?{}:e(...t),G=(e,t)=>e.sort(t),K=(e,t)=>e.forEach(t),U=(e,t)=>e.map(t),X=e=>0==A(e),Y=(e,...t)=>e.push(...t),Z=e=>e.shift(),_=Object,ee=e=>_.getPrototypeOf(e),te=_.entries,se=_.isFrozen,le=e=>!N(e)&&L(ee(e),(e=>e==_.prototype||N(ee(e))),(()=>!0)),ae=_.keys,ne=_.freeze,re=(e=[])=>_.fromEntries(e),oe=(e,t)=>t in e,ie=(e,t)=>(delete e[t],e),de=(e,t)=>U(te(e),(([e,s])=>t(s,e))),ue=e=>le(e)&&0==(e=>A(ae(e)))(e),ce=(e,t,s,l=0)=>N(e)||!le(e)||!l&&ue(e)||se(e)?(s?.(),!1):(de(e,((s,l)=>{t(s,l)||ie(e,l)})),!!l||!ue(e)),he=JSON.stringify,me=JSON.parse,ge=e=>he(e,((e,t)=>t instanceof Map?_.fromEntries([...t]):t)),be="tinybaseInspector",pe="TinyBase Inspector",Ie=["left","top","bottom","right","full"],fe="state",ye="sort",we="open",Ce="position",ve=we,ke="editable",Se=(...e)=>ge(e),xe=(e,t)=>U(G(e),t),Te=(e,s)=>[!!t.useCell(fe,e,ke,s),D((t=>{s.setCell(fe,e,ke,(e=>!e)),t.preventDefault()}),[s,e])],Ve="M20 80l5-15l40-40l10 10l-40 40l-15 5m5-15l10 10",Re='content:url("',qe=Re+"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' stroke-width='4' stroke='white' fill='none'>",Me='</svg>")',Ne=Re+"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\")",Le=U([[20,20,20,60],[20,20,60,20],[20,60,60,20],[60,20,20,60],[30,30,40,40]],(([e,t,s,l])=>qe+`<rect x='20' y='20' width='60' height='60' fill='grey'/><rect x='${e}' y='${t}' width='${s}' height='${l}' fill='white'/>`+Me)),Ee=qe+"<path d='M20 20l60 60M20 80l60-60' />"+Me,ze=qe+`<path d='${Ve}' />`+Me,Oe=qe+`<path d='${Ve}M20 20l60 60' />`+Me,$e="*::-webkit-scrollbar",Ae=((e,t="")=>e.join(t))(de({"":"all:initial;font-family:sans-serif;font-size:0.75rem;position:fixed;z-index:999999","*":"all:revert","*::before":"all:revert","*::after":"all:revert",[$e]:"width:0.5rem;height:0.5rem;",[$e+"-track"]:"background:#111",[$e+"-thumb"]:"background:#999;border:1px solid #111",[$e+"-thumb:hover"]:"background:#fff",[$e+"-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;"+Ne,...re(U(["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;",...re(U(["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)":Ne,"header>img:nth-of-type(6)":Ee,...re(U(Le,((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":ze,"details[open]>summary img.done":Oe,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,#${be} 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?`#${be} ${t}{${e}}`:""))),Fe=({s:e})=>{const s=t.useValue(Ce,e)??1,l=t.useSetValueCallback(ve,(()=>!0),[],e);return t.useValue(ve,e)?null:B("img",{onClick:l,title:pe,"data-position":s})},Je=({uniqueId:e,summary:s,editable:l,handleEditable:a,children:n,s:r})=>{const o=!!t.useCell(fe,e,we,r),i=t.useSetCellCallback(fe,e,we,(e=>e[k].open),[],r);return B("details",{open:o,onToggle:i},B("summary",null,s,a?B("img",{onClick:a,className:l?"done":"edit"}):null),n)},Pe=e=>{const t=s(e);return E(t)||t==r&&M(e)?t:void 0},Be=(e,t,s,l,a)=>N(a)?e.delCell(t,s,l,!0):e.setCell(t,s,l,a),De=(e,t,s)=>N(s)?e.delValue(t):e.setValue(t,s),Qe=(e,t,s,l)=>e==a?t:e==r?s:l,{useCallback:je,useMemo:He,useState:We}=e,Ge="editable",Ke=(e,s)=>U(t.useTableCellIds(e,s),(t=>e+"."+t)),Ue=(e,t,s)=>{const l=je(e,t);return s?l:void 0},Xe=(...e)=>He((()=>e),e),Ye=(e,t)=>He((()=>({store:e,tableId:t})),[e,t]),Ze=(e,t)=>He((()=>({queries:e,queryId:t})),[e,t]),_e=(e,t=!1,s,l=0,a,n,r,o)=>{const[[i,d,u],c]=We([e,t,l]),h=je((e=>{c(e),o?.(e)}),[o]),m=Ue((e=>h([e,e==i&&!d,u])),[h,i,d,u],s),g=je((e=>h([i,d,e])),[h,i,d]),b=!0===r?ht:r;return[[i,d,u],m,He((()=>!1===r?null:B(b,{offset:u,limit:a,total:n,onChange:g})),[r,b,u,a,n,g])]},et=(e,t,l)=>He((()=>{const n=t??e;return r=O(n)?re(U(n,(e=>[e,e]))):n,o=(e,t)=>{return{label:t,component:l,...(n=e,s(n)==a?{label:e}:e)};var n},re(de(r,((e,t)=>[t,o(e,t)])));var r,o}),[t,l,e]),tt=({className:e,headerRow:t,idColumn:s,params:[l,a,n,r,o,i]})=>B("table",{className:e},i?B("caption",null,i):null,!1===t?null:B("thead",null,B("tr",null,!1===s?null:B(st,{sort:r??[],label:"Id",onClick:o}),de(l,(({label:e},t)=>B(st,{key:t,cellId:t,label:e,sort:r??[],onClick:o}))))),B("tbody",null,U(n,(e=>B("tr",{key:e},!1===s?null:B("th",null,e),de(l,(({component:t,getComponentProps:s},l)=>B("td",{key:l},B(t,{...W(s,e,l),...a,rowId:e,cellId:l}))))))))),st=({cellId:e,sort:[t,s],label:a=e??l,onClick:n})=>B("th",{onClick:Ue((()=>n?.(e)),[n,e],n),className:N(s)||t!=e?void 0:`sorted ${s?"de":"a"}scending`},N(s)||t!=e?null:(s?"↓":"↑")+" ",a),lt=({localRowId:s,params:[l,a,n,r,o,i,d]})=>{const u=t.useRemoteRowId(o,s,i);return B("tr",null,!1===l?null:B(e.Fragment,null,B("th",null,s),B("th",null,u)),de(a,(({component:e,getComponentProps:t},l)=>{const[a,o]=l.split(".",2),i=a===n?s:a===r?u:null;return N(i)?null:B("td",{key:l},B(e,{...W(t,i,o),store:d,tableId:a,rowId:i,cellId:o}))})))},at=({thing:e,onThingChange:t,className:s,hasSchema:l,showType:o=!0})=>{const[i,d]=We(),[u,c]=We(),[h,m]=We(),[g,b]=We(),[p,I]=We();u!==e&&(d(Pe(e)),c(e),m(e+""),b(Number(e)||0),I(!!e));const f=je(((e,s)=>{s(e),c(e),t(e)}),[t]),y=je((()=>{if(!l?.()){const e=Qe(i,r,n,a),s=Qe(e,h,g,p);d(e),c(s),t(s)}}),[l,t,h,g,p,i]);return B("div",{className:s},o?B("button",{className:i,onClick:y},i):null,Qe(i,B("input",{key:i,value:h,onChange:je((e=>f(e[k][S]+"",m)),[f])}),B("input",{key:i,type:"number",value:g,onChange:je((e=>f(Number(e[k][S]||0),b)),[f])}),B("input",{key:i,type:"checkbox",checked:p,onChange:je((e=>f(!!e[k].checked,I)),[f])})))},nt=({tableId:e,cellId:s,descending:l,offset:a,limit:n,store:r,editable:o,sortOnClick:i,paginator:d=!1,onChange:u,customCells:c,...h})=>{const[m,g,b]=_e(s,l,i,a,n,t.useRowCount(e,r),d,u);return B(tt,{...h,params:Xe(et(t.useTableCellIds(e,r),c,o?ut:t.CellView),Ye(r,e),t.useSortedRowIds(e,...m,n,r),m,g,b)})},rt=({store:e,editable:s=!1,valueComponent:l=(s?ct:t.ValueView),getValueComponentProps:a,className:n,headerRow:r,idColumn:o})=>B("table",{className:n},!1===r?null:B("thead",null,B("tr",null,!1===o?null:B("th",null,"Id"),B("th",null,w))),B("tbody",null,U(t.useValueIds(e),(t=>B("tr",{key:t},!1===o?null:B("th",null,t),B("td",null,B(l,{...W(a,t),valueId:t,store:e}))))))),ot=({indexId:e,sliceId:s,indexes:l,editable:a,customCells:n,...r})=>{const[o,i,d]=((e,t)=>[e,e?.getStore(),e?.getTableId(t)])(t.useIndexesOrIndexesById(l),e);return B(tt,{...r,params:Xe(et(t.useTableCellIds(d,i),n,a?ut:t.CellView),Ye(i,d),t.useSliceRowIds(e,s,o))})},it=({relationshipId:s,relationships:l,editable:a,customCells:n,className:r,headerRow:o,idColumn:i=!0})=>{const[d,u,c,h]=((e,t)=>[e,e?.getStore(),e?.getLocalTableId(t),e?.getRemoteTableId(t)])(t.useRelationshipsOrRelationshipsById(l),s),m=et([...Ke(c,u),...Ke(h,u)],n,a?ut:t.CellView),g=Xe(i,m,c,h,s,d,u);return B("table",{className:r},!1===o?null:B("thead",null,B("tr",null,!1===i?null:B(e.Fragment,null,B("th",null,c,".Id"),B("th",null,h,".Id")),de(m,(({label:e},t)=>B("th",{key:t},e))))),B("tbody",null,U(t.useRowIds(c,u),(e=>B(lt,{key:e,localRowId:e,params:g})))))},dt=({queryId:e,cellId:s,descending:l,offset:a,limit:n,queries:r,sortOnClick:o,paginator:i=!1,customCells:d,onChange:u,...c})=>{const[h,m,g]=_e(s,l,o,a,n,t.useResultRowCount(e,r),i,u);return B(tt,{...c,params:Xe(et(t.useResultTableCellIds(e,r),d,t.ResultCellView),Ze(r,e),t.useResultSortedRowIds(e,...h,n,r),h,m,g)})},ut=({tableId:e,rowId:s,cellId:l,store:a,className:n,showType:r})=>B(at,{thing:t.useCell(e,s,l,a),onThingChange:t.useSetCellCallback(e,s,l,(e=>e),[],a),className:n??Ge+f,showType:r,hasSchema:t.useStoreOrStoreById(a)?.hasTablesSchema}),ct=({valueId:e,store:s,className:l,showType:a})=>B(at,{thing:t.useValue(e,s),onThingChange:t.useSetValueCallback(e,(e=>e),[],s),className:l??Ge+w,showType:a,hasSchema:t.useStoreOrStoreById(s)?.hasValuesSchema}),ht=({onChange:t,total:s,offset:l=0,limit:a=s,singular:n="row",plural:r=n+"s"})=>{(l>s||l<0)&&(l=0,t(0));const o=Ue((()=>t(l-a)),[t,l,a],l>0),i=Ue((()=>t(l+a)),[t,l,a],l+a<s);return B(e.Fragment,null,s>a&&B(e.Fragment,null,B("button",{className:"previous",disabled:0==l,onClick:o},"←"),B("button",{className:"next",disabled:l+a>=s,onClick:i},"→"),l+1," to ",R(s,l+a)," of "),s," ",1!=s?r:n)},mt=({indexes:e,indexesId:s,indexId:l,s:a})=>B(Je,{uniqueId:Se("i",s,l),summary:"Index: "+l,s:a},U(t.useSliceIds(l,e),(t=>B(gt,{indexes:e,indexesId:s,indexId:l,sliceId:t,s:a,key:t})))),gt=({indexes:e,indexesId:t,indexId:s,sliceId:l,s:a})=>{const n=Se("i",t,s,l),[r,o]=Te(n,a);return B(Je,{uniqueId:n,summary:"Slice: "+l,editable:r,handleEditable:o,s:a},B(ot,{sliceId:l,indexId:s,indexes:e,editable:r}))},bt=({indexesId:e,s:s})=>{const l=t.useIndexes(e),a=t.useIndexIds(l);return N(l)?null:B(Je,{uniqueId:Se("i",e),summary:"Indexes: "+(e??d),s:s},X(a)?"No indexes defined":xe(a,(t=>B(mt,{indexes:l,indexesId:e,indexId:t,s:s,key:t}))))},pt=({metrics:e,metricId:s})=>B("tr",null,B("th",null,s),B("td",null,e?.getTableId(s)),B("td",null,t.useMetric(s,e))),It=({metricsId:e,s:s})=>{const l=t.useMetrics(e),a=t.useMetricIds(l);return N(l)?null:B(Je,{uniqueId:Se("m",e),summary:"Metrics: "+(e??d),s:s},X(a)?"No metrics defined":B("table",null,B("thead",null,B("th",null,"Metric Id"),B("th",null,"Table Id"),B("th",null,"Metric")),B("tbody",null,U(a,(e=>B(pt,{metrics:l,metricId:e,key:e}))))))},ft=({queries:e,queriesId:s,queryId:l,s:a})=>{const n=Se("q",s,l),[r,o,i]=me(t.useCell(fe,n,ye,a)??"[]"),d=t.useSetCellCallback(fe,n,ye,ge,[],a);return B(Je,{uniqueId:n,summary:"Query: "+l,s:a},B(dt,{queryId:l,queries:e,cellId:r,descending:o,offset:i,limit:10,paginator:!0,sortOnClick:!0,onChange:d}))},yt=({queriesId:e,s:s})=>{const l=t.useQueries(e),a=t.useQueryIds(l);return N(l)?null:B(Je,{uniqueId:Se("q",e),summary:"Queries: "+(e??d),s:s},X(a)?"No queries defined":xe(a,(t=>B(ft,{queries:l,queriesId:e,queryId:t,s:s,key:t}))))},wt=({relationships:e,relationshipsId:t,relationshipId:s,s:l})=>{const a=Se("r",t,s),[n,r]=Te(a,l);return B(Je,{uniqueId:a,summary:"Relationship: "+s,editable:n,handleEditable:r,s:l},B(it,{relationshipId:s,relationships:e,editable:n}))},Ct=({relationshipsId:e,s:s})=>{const l=t.useRelationships(e),a=t.useRelationshipIds(l);return N(l)?null:B(Je,{uniqueId:Se("r",e),summary:"Relationships: "+(e??d),s:s},X(a)?"No relationships defined":xe(a,(t=>B(wt,{relationships:l,relationshipsId:e,relationshipId:t,s:s,key:t}))))},vt=({tableId:e,store:s,storeId:l,s:a})=>{const n=Se("t",l,e),[r,o,i]=me(t.useCell(fe,n,ye,a)??"[]"),d=t.useSetCellCallback(fe,n,ye,ge,[],a),[u,c]=Te(n,a);return B(Je,{uniqueId:n,summary:h+": "+e,editable:u,handleEditable:c,s:a},B(nt,{tableId:e,store:s,cellId:r,descending:o,offset:i,limit:10,paginator:!0,sortOnClick:!0,onChange:d,editable:u}))},kt=({store:e,storeId:s,s:l})=>{const a=Se("v",s),[n,r]=Te(a,l);return X(t.useValueIds(e))?null:B(Je,{uniqueId:a,summary:C,editable:n,handleEditable:r,s:l},B(rt,{store:e,editable:n}))},St=({storeId:e,s:s})=>{const l=t.useStore(e),a=t.useTableIds(l);return N(l)?null:B(Je,{uniqueId:Se("s",e),summary:(l.isMergeable()?"Mergeable":"")+"Store: "+(e??d),s:s},B(kt,{storeId:e,store:l,s:s}),xe(a,(t=>B(vt,{store:l,storeId:e,tableId:t,s:s,key:t}))))},xt=({s:e})=>{const s=j(null),l=j(0),[a,n]=H(!1),{scrollLeft:r,scrollTop:o}=t.useValues(e);Q((()=>{const e=s.current;if(e&&!a){const t=new MutationObserver((()=>{e.scrollWidth>=q(r)+e.clientWidth&&e.scrollHeight>=q(o)+e.clientHeight&&e.scrollTo(r,o)}));return t.observe(e,{childList:!0,subtree:!0}),()=>t.disconnect()}}),[a,r,o]);const i=D((t=>{const{scrollLeft:s,scrollTop:a}=t[k];cancelIdleCallback(l.current),l.current=requestIdleCallback((()=>{n(!0),e.setPartialValues({scrollLeft:s,scrollTop:a})}))}),[e]),d=t.useStore(),u=t.useStoreIds(),c=t.useMetrics(),h=t.useMetricsIds(),m=t.useIndexes(),g=t.useIndexesIds(),b=t.useRelationships(),p=t.useRelationshipsIds(),I=t.useQueries(),f=t.useQueriesIds();return N(d)&&X(u)&&N(c)&&X(h)&&N(m)&&X(g)&&N(b)&&X(p)&&N(I)&&X(f)?B("span",{className:"warn"},"There are no Stores or other objects to inspect. Make sure you placed the Inspector inside a Provider component."):B("article",{ref:s,onScroll:i},B(St,{s:e}),U(u,(t=>B(St,{storeId:t,s:e,key:t}))),B(It,{s:e}),U(h,(t=>B(It,{metricsId:t,s:e,key:t}))),B(bt,{s:e}),U(g,(t=>B(bt,{indexesId:t,s:e,key:t}))),B(Ct,{s:e}),U(p,(t=>B(Ct,{relationshipsId:t,s:e,key:t}))),B(yt,{s:e}),U(f,(t=>B(yt,{queriesId:t,s:e,key:t}))))};class Tt extends J{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?B("span",{className:"warn"},"Inspector error: please see console for details."):this.props.children}}const Vt=({s:e})=>{const s=t.useValue(Ce,e)??1,l=t.useSetValueCallback(ve,(()=>!1),[],e),a=t.useSetValueCallback(Ce,(e=>Number(e[k].dataset.id)),[],e);return B("header",null,B("img",{title:pe}),B("span",null,pe),U(Ie,((e,t)=>t==s?null:B("img",{onClick:a,"data-id":t,title:"Dock to "+e,key:t}))),B("img",{onClick:l,title:"Close"}))},Rt=({s:e})=>{const s=t.useValue(Ce,e)??1;return t.useValue(ve,e)?B("main",{"data-position":s},B(Vt,{s:e}),B(Tt,null,B(xt,{s:e}))):null},qt=e=>t=>{return s=(t,s)=>t+e(s),$t(t).reduce(s,0);var s},Mt=e=>e?.size??0,Nt=qt(Mt),Lt=qt(Nt),Et=qt(Lt),zt=(e,t)=>e?.has(t)??!1,Ot=e=>N(e)||0==Mt(e),$t=e=>[...e?.values()??[]],At=e=>e.clear(),Ft=(e,t)=>e?.forEach(t),Jt=(e,t)=>e?.delete(t),Pt=e=>new Map(e),Bt=e=>[...e?.keys()??[]],Dt=(e,t)=>e?.get(t),Qt=(e,t)=>Ft(e,((e,s)=>t(s,e))),jt=(e,t,s)=>N(s)?(Jt(e,t),e):e?.set(t,s),Ht=(e,t,s,l)=>(zt(e,t)?l?.(Dt(e,t)):jt(e,t,s()),Dt(e,t)),Wt=(e,t,s,l=jt)=>(de(t,((t,l)=>s(e,l,t))),Qt(e,(s=>oe(t,s)?0:l(e,s))),e),Gt=(e,t,s,l)=>{const a={};return Ft(e,((e,n)=>{if(!s?.(e,n)){const s=t?t(e,n):e;l?.(s)||(a[n]=s)}})),a},Kt=(e,t,s)=>Gt(e,(e=>Gt(e,t,s)),Ot,ue),Ut=(e,t,s)=>Gt(e,(e=>Kt(e,t,s)),Ot,ue),Xt=(e,t)=>{const s=Pt();return Ft(e,((e,l)=>s.set(l,t?.(e)??e))),s},Yt=e=>Xt(e,Xt),Zt=e=>Xt(e,Yt),_t=(e,t,s,l,a=0)=>L((s?Ht:Dt)(e,t[a],a>A(t)-2?s:Pt),(n=>{if(a>A(t)-2)return l?.(n)&&jt(e,t[a]),n;const r=_t(n,t,s,l,a+1);return Ot(n)&&jt(e,t[a]),r})),es=Pt(),ts=Pt(),ss="storage",ls=e=>new Set(O(e)||N(e)?e:[e]),as=(e,t)=>e?.add(t),ns=/^\d+$/,rs=()=>{const e=[];let t=0;return[s=>(s?Z(e):null)??l+t++,t=>{ns.test(t)&&A(e)<1e3&&Y(e,t)}]},os=e=>[e,e],is=(e,t=Nt)=>t(e[0])+t(e[1]),ds=()=>[Pt(),Pt()],us=e=>[...e],cs=([e,t])=>e===t;Pt(U("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split(l),((e,t)=>[e,t])));const hs=(e,t,s)=>jt(e,t,Dt(e,t)==-s?void 0:s),ms=()=>{let e,t,s=!1,a=!1,n=0,o=[];const c=Pt(),k=Pt(),S=Pt(),T=Pt(),V=Pt(),R=Pt(),q=Pt(),M=Pt(),F=Pt(),J=Pt(),P=Pt(),B=Pt(),D=Pt(),Q=Pt(),j=ls(),H=Pt(),W=Pt(),X=Pt(),Z=Pt(),_=ds(),ee=ds(),te=ds(),se=ds(),le=ds(),ae=ds(),re=ds(),he=ds(),be=ds(),pe=ds(),Ie=ds(),fe=ds(),ye=ds(),we=ds(),Ce=ds(),ve=ds(),ke=ds(),Se=ds(),xe=ds(),Te=ds(),Ve=ds(),Re=ds(),qe=Pt(),Me=ds(),[Ne,Le,Ee,ze]=(()=>{let e;const[t,s]=rs(),a=Pt();return[(s,n,r,o=[],i=()=>[])=>{e??=As;const d=t(1);return jt(a,d,[s,n,r,o,i]),as(_t(n,r??[l],ls),d),d},(t,s,...n)=>K(((e,t=[l])=>{const s=[],a=(e,l)=>l==A(t)?Y(s,e):null===t[l]?Ft(e,(e=>a(e,l+1))):K([t[l],null],(t=>a(Dt(e,t),l+1)));return a(e,0),s})(t,s),(t=>Ft(t,(t=>Dt(a,t)[0](e,...s??[],...n))))),e=>L(Dt(a,e),(([,t,n])=>(_t(t,n??[l],void 0,(t=>(Jt(t,e),Ot(t)?1:0))),jt(a,e),s(e),n))),t=>L(Dt(a,t),(([t,,s=[],l,a])=>{const n=(...r)=>{const o=A(r);o==A(s)?t(e,...r,...a(r)):N(s[o])?K(l[o]?.(...r)??[],(e=>n(...r,e))):n(...r,s[o])};n()}))]})(),Oe=e=>{if(!ce(e,((e,t)=>[i,d].includes(t))))return!1;const t=e[i];return!(!E(t)&&t!=r||(Pe(e[d])!=t&&ie(e,d),0))},$e=O,Ae=(t,s)=>(!e||zt(P,s)||pt(s))&&ce(t,((e,t)=>Fe(s,t,e)),(()=>pt(s))),Fe=(e,t,s,l)=>ce(l?s:He(s,e,t),((l,a)=>L(Je(e,t,a,l),(e=>(s[a]=e,!0)),(()=>!1))),(()=>pt(e,t))),Je=(t,s,l,a)=>e?L(Dt(Dt(P,t),l),(e=>Pe(a)!=e[i]?pt(t,s,l,a,e[d]):a),(()=>pt(t,s,l,a))):N(Pe(a))?pt(t,s,l,a):a,Qe=(e,t)=>ce(t?e:We(e),((t,s)=>L(je(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>It())),je=(e,s)=>t?L(Dt(D,e),(t=>Pe(s)!=t[i]?It(e,s,t[d]):s),(()=>It(e,s))):N(Pe(s))?It(e,s):s,He=(e,t,s)=>(L(Dt(B,t),(([l,a])=>{Ft(l,((t,s)=>{oe(e,s)||(e[s]=t)})),Ft(a,(l=>{oe(e,l)||pt(t,s,l)}))})),e),We=e=>(t&&(Ft(Q,((t,s)=>{oe(e,s)||(e[s]=t)})),Ft(j,(t=>{oe(e,t)||It(t)}))),e),Ge=e=>Wt(P,e,((e,t,s)=>{const l=Pt(),a=ls();Wt(Ht(P,t,Pt),s,((e,t,s)=>{jt(e,t,s),L(s[d],(e=>jt(l,t,e)),(()=>as(a,t)))})),jt(B,t,[l,a])}),((e,t)=>{jt(P,t),jt(B,t)})),Ke=e=>Wt(D,e,((e,t,s)=>{jt(D,t,s),L(s[d],(e=>jt(Q,t,e)),(()=>as(j,t)))}),((e,t)=>{jt(D,t),jt(Q,t),Jt(j,t)})),Ue=e=>ue(e)?Rs():ks(e),Xe=e=>Wt(X,e,((e,t,s)=>Ye(t,s)),((e,t)=>rt(t))),Ye=(e,t)=>Wt(Ht(X,e,(()=>(ut(e,1),jt(H,e,rs()),jt(W,e,Pt()),Pt()))),t,((t,s,l)=>Ze(e,t,s,l)),((t,s)=>ot(e,t,s))),Ze=(e,t,s,l,a)=>Wt(Ht(t,s,(()=>(ct(e,s,1),Pt()))),l,((t,l,a)=>_e(e,s,t,l,a)),((l,n)=>it(e,t,s,l,n,a))),_e=(e,t,s,l,a)=>{zt(s,l)||ht(e,t,l,1);const n=Dt(s,l);a!==n&&(mt(e,t,l,n,a),jt(s,l,a))},et=(e,t,s,l,a)=>L(Dt(t,s),(t=>_e(e,s,t,l,a)),(()=>Ze(e,t,s,He({[l]:a},e,s)))),tt=e=>ue(e)?Ns():Ss(e),st=e=>Wt(Z,e,((e,t,s)=>lt(t,s)),((e,t)=>dt(t))),lt=(e,t)=>{zt(Z,e)||gt(e,1);const s=Dt(Z,e);t!==s&&(bt(e,s,t),jt(Z,e,t))},at=(e,t)=>{const[s]=Dt(H,e),l=s(t);return zt(Dt(X,e),l)?at(e,t):l},nt=e=>Dt(X,e)??Ye(e,{}),rt=e=>Ye(e,{}),ot=(e,t,s)=>{const[,l]=Dt(H,e);l(s),Ze(e,t,s,{},!0)},it=(e,t,s,l,a,n)=>{const r=Dt(Dt(B,e)?.[0],a);if(!N(r)&&!n)return _e(e,s,l,a,r);const o=t=>{mt(e,s,t,Dt(l,t)),ht(e,s,t,-1),jt(l,t)};N(r)?o(a):Qt(l,o),Ot(l)&&(ct(e,s,-1),Ot(jt(t,s))&&(ut(e,-1),jt(X,e),jt(H,e),jt(W,e)))},dt=e=>{const t=Dt(Q,e);if(!N(t))return lt(e,t);bt(e,Dt(Z,e)),gt(e,-1),jt(Z,e)},ut=(e,t)=>hs(c,e,t),ct=(e,t,s)=>hs(Ht(T,e,Pt),t,s)&&jt(S,e,Ht(S,e,(()=>0))+s),ht=(e,t,s,l)=>{const a=Dt(W,e),n=Dt(a,s)??0;(0==n&&1==l||1==n&&-1==l)&&hs(Ht(k,e,Pt),s,l),jt(a,s,n!=-l?n+l:null),hs(Ht(Ht(V,e,Pt),t,Pt),s,l)},mt=(e,t,s,l,a)=>{Ht(Ht(Ht(R,e,Pt),t,Pt),s,(()=>[l,0]))[1]=a,o[3]?.(e,t,s,a)},gt=(e,t)=>hs(q,e,t),bt=(e,t,s)=>{Ht(M,e,(()=>[t,0]))[1]=s,o[4]?.(e,s)},pt=(e,t,s,l,a)=>(Y(Ht(Ht(Ht(F,e,Pt),t,Pt),s,(()=>[])),l),a),It=(e,t,s)=>(Y(Ht(J,e,(()=>[])),t),s),ft=(e,t,s)=>L(Dt(Dt(Dt(R,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...os(ss(e,t,s))])),yt=e=>L(Dt(M,e),(([e,t])=>[!0,e,t]),(()=>[!1,...os(bs(e))])),wt=e=>Ot(F)||Ot(ve[e])?0:Ft(e?Zt(F):F,((t,s)=>Ft(t,((t,l)=>Ft(t,((t,a)=>Le(ve[e],[s,l,a],t))))))),Ct=e=>Ot(J)||Ot(ke[e])?0:Ft(e?Xt(J):J,((t,s)=>Le(ke[e],[s],t))),vt=(e,t,s,l)=>{if(!Ot(e))return Le(t,l,(()=>Gt(e))),Qt(e,((e,t)=>Le(s,[...l??[],e],1==t))),1},kt=e=>{const t=ps();t!=s&&Le(_[e],void 0,t);const l=Ot(pe[e]),a=Ot(ye[e])&&Ot(we[e])&&Ot(be[e])&&Ot(Ie[e])&&Ot(ae[e])&&Ot(re[e])&&Ot(he[e])&&l&&Ot(te[e])&&Ot(se[e]),n=Ot(Ce[e])&&Ot(fe[e])&&Ot(le[e])&&Ot(ee[e]);if(!a||!n){const t=e?[Xt(c),Yt(k),Xt(S),Yt(T),Zt(V),Zt(R)]:[c,k,S,T,V,R];if(!a){vt(t[0],te[e],se[e]),Ft(t[1],((t,s)=>vt(t,ae[e],re[e],[s]))),Ft(t[2],((t,s)=>{0!=t&&Le(he[e],[s],qt(s))}));const s=ls();Ft(t[3],((t,a)=>{vt(t,be[e],Ie[e],[a])&&!l&&(Le(pe[e],[a,null]),as(s,a))})),l||Ft(t[5],((t,l)=>{if(!zt(s,l)){const s=ls();Ft(t,(e=>Ft(e,(([t,l],a)=>l!==t?as(s,a):Jt(e,a))))),Ft(s,(t=>Le(pe[e],[l,t])))}})),Ft(t[4],((t,s)=>Ft(t,((t,l)=>vt(t,ye[e],we[e],[s,l])))))}if(!n){let s;Ft(t[5],((t,l)=>{let a;Ft(t,((t,n)=>{let r;Ft(t,(([t,o],i)=>{o!==t&&(Le(Ce[e],[l,n,i],o,t,ft),s=a=r=1)})),r&&Le(fe[e],[l,n],ft)})),a&&Le(le[e],[l],ft)})),s&&Le(ee[e],void 0,ft)}}},St=e=>{const t=Cs();t!=a&&Le(Se[e],void 0,t);const s=Ot(Te[e])&&Ot(Ve[e]),l=Ot(Re[e])&&Ot(xe[e]);if(!s||!l){const t=e?[Xt(q),Xt(M)]:[q,M];if(s||vt(t[0],Te[e],Ve[e]),!l){let s;Ft(t[1],(([t,l],a)=>{l!==t&&(Le(Re[e],[a],l,t,yt),s=1)})),s&&Le(xe[e],void 0,yt)}}},xt=(e,...t)=>(zs((()=>e(...U(t,x)))),As),Tt=()=>Ut(X),Vt=()=>Bt(X),Rt=e=>Bt(Dt(W,x(e))),qt=e=>Mt(Dt(X,x(e))),$t=e=>Bt(Dt(X,x(e))),es=(e,t,s,l=0,a)=>{return U($(G((n=Dt(X,x(e)),r=(e,s)=>[N(t)?s:Dt(e,x(t)),s],U([...n?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1))),l,N(a)?a:l+a),(([,e])=>e));var n,r},ts=(e,t)=>Bt(Dt(Dt(X,x(e)),x(t))),ss=(e,t,s)=>Dt(Dt(Dt(X,x(e)),x(t)),x(s)),ns=()=>Gt(Z),gs=()=>Bt(Z),bs=e=>Dt(Z,x(e)),ps=()=>!Ot(X),Is=e=>zt(X,x(e)),fs=(e,t)=>zt(Dt(W,x(e)),x(t)),ys=(e,t)=>zt(Dt(X,x(e)),x(t)),ws=(e,t,s)=>zt(Dt(Dt(X,x(e)),x(t)),x(s)),Cs=()=>!Ot(Z),vs=e=>zt(Z,x(e)),ks=e=>xt((()=>(e=>ce(e,Ae,pt))(e)?Xe(e):0)),Ss=e=>xt((()=>Qe(e)?st(e):0)),xs=e=>{try{Ue(me(e))}catch{}return As},Ts=t=>xt((()=>{if((e=ce(t,(e=>ce(e,Oe))))&&(Ge(t),!Ot(X))){const e=Tt();Rs(),ks(e)}})),Vs=e=>xt((()=>{if(t=(e=>ce(e,Oe))(e)){const s=ns();Es(),Ns(),t=!0,Ke(e),Ss(s)}})),Rs=()=>xt((()=>Xe({}))),qs=e=>xt((e=>zt(X,e)?rt(e):0),e),Ms=(e,t)=>xt(((e,t)=>L(Dt(X,e),(s=>zt(s,t)?ot(e,s,t):0))),e,t),Ns=()=>xt((()=>st({}))),Ls=()=>xt((()=>{Ge({}),e=!1})),Es=()=>xt((()=>{Ke({}),t=!1})),zs=(e,t)=>{if(-1!=n){Os();const s=e();return $s(t),s}},Os=()=>(-1!=n&&n++,1==n&&(o[0]?.(),Le(qe)),As),$s=e=>(n>0&&(n--,0==n&&(n=1,wt(1),Ot(R)||kt(1),Ct(1),Ot(M)||St(1),e?.(As)&&(Ft(R,((e,t)=>Ft(e,((e,s)=>Ft(e,(([e],l)=>Be(As,t,s,l,e))))))),At(R),Ft(M,(([e],t)=>De(As,t,e))),At(M)),Le(Me[0],void 0),n=-1,wt(0),Ot(R)||kt(0),Ct(0),Ot(M)||St(0),o[1]?.(),Le(Me[1],void 0),o[2]?.(),n=0,s=ps(),a=Cs(),K([c,k,S,T,V,R,F,q,M,J],At))),As),As={getContent:()=>[Tt(),ns()],getTables:Tt,getTableIds:Vt,getTable:e=>Kt(Dt(X,x(e))),getTableCellIds:Rt,getRowCount:qt,getRowIds:$t,getSortedRowIds:es,getRow:(e,t)=>Gt(Dt(Dt(X,x(e)),x(t))),getCellIds:ts,getCell:ss,getValues:ns,getValueIds:gs,getValue:bs,hasTables:ps,hasTable:Is,hasTableCell:fs,hasRow:ys,hasCell:ws,hasValues:Cs,hasValue:vs,getTablesJson:()=>ge(X),getValuesJson:()=>ge(Z),getJson:()=>ge([X,Z]),getTablesSchemaJson:()=>ge(P),getValuesSchemaJson:()=>ge(D),getSchemaJson:()=>ge([P,D]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:e=>xt((()=>$e(e)?(([e,t])=>{(ue(e)?Rs:ks)(e),(ue(t)?Ns:Ss)(t)})(e):0)),setTables:ks,setTable:(e,t)=>xt((e=>Ae(t,e)?Ye(e,t):0),e),setRow:(e,t,s)=>xt(((e,t)=>Fe(e,t,s)?Ze(e,nt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>zs((()=>{let l;return Fe(e,l,t)&&(e=x(e),Ze(e,nt(e),l=at(e,s?1:0),t)),l})),setPartialRow:(e,t,s)=>xt(((e,t)=>{if(Fe(e,t,s,1)){const l=nt(e);de(s,((s,a)=>et(e,l,t,a,s)))}}),e,t),setCell:(e,t,s,l)=>xt(((e,t,s)=>L(Je(e,t,s,z(l)?l(ss(e,t,s)):l),(l=>et(e,nt(e),t,s,l)))),e,t,s),setValues:Ss,setPartialValues:e=>xt((()=>Qe(e,1)?de(e,((e,t)=>lt(t,e))):0)),setValue:(e,t)=>xt((e=>L(je(e,z(t)?t(bs(e)):t),(t=>lt(e,t)))),e),applyChanges:e=>xt((()=>{de(e[0],((e,t)=>N(e)?qs(t):de(e,((e,s)=>N(e)?Ms(t,s):de(e,((e,l)=>Be(As,t,s,l,e))))))),de(e[1],((e,t)=>De(As,t,e)))})),setTablesJson:xs,setValuesJson:e=>{try{tt(me(e))}catch{}return As},setJson:e=>xt((()=>{try{const[t,s]=me(e);Ue(t),tt(s)}catch{xs(e)}})),setTablesSchema:Ts,setValuesSchema:Vs,setSchema:(e,t)=>xt((()=>{Ts(e),Vs(t)})),delTables:Rs,delTable:qs,delRow:Ms,delCell:(e,t,s,l)=>xt(((e,t,s)=>L(Dt(X,e),(a=>L(Dt(a,t),(n=>zt(n,s)?it(e,a,t,n,s,l):0))))),e,t,s),delValues:Ns,delValue:e=>xt((e=>zt(Z,e)?dt(e):0),e),delTablesSchema:Ls,delValuesSchema:Es,delSchema:()=>xt((()=>{Ls(),Es()})),transaction:zs,startTransaction:Os,getTransactionChanges:()=>[Gt(R,((e,t)=>-1===Dt(c,t)?void 0:Gt(e,((e,s)=>-1===Dt(Dt(T,t),s)?void 0:Gt(e,(([,e])=>e),(e=>cs(e)))),Ot,ue)),Ot,ue),Gt(M,(([,e])=>e),(e=>cs(e))),1],getTransactionLog:()=>[!Ot(R),!Ot(M),Ut(R,us,cs),Ut(F),Gt(M,us,cs),Gt(J),Gt(c),Kt(T),Ut(V),Gt(q)],finishTransaction:$s,forEachTable:e=>Ft(X,((t,s)=>e(s,(e=>Ft(t,((t,s)=>e(s,(e=>Qt(t,e))))))))),forEachTableCell:(e,t)=>Qt(Dt(W,x(e)),t),forEachRow:(e,t)=>Ft(Dt(X,x(e)),((e,s)=>t(s,(t=>Qt(e,t))))),forEachCell:(e,t,s)=>Qt(Dt(Dt(X,x(e)),x(t)),s),forEachValue:e=>Qt(Z,e),addSortedRowIdsListener:(e,t,s,l,a,n,r)=>{let o=es(e,t,s,l,a);return Ne((()=>{const r=es(e,t,s,l,a);var i,d,u;d=o,A(i=r)===A(d)&&(u=(e,t)=>d[t]===e,i.every(u))||(o=r,n(As,e,t,s,l,a,o))}),pe[r?1:0],[e,t],[Vt])},addStartTransactionListener:e=>Ne(e,qe),addWillFinishTransactionListener:e=>Ne(e,Me[0]),addDidFinishTransactionListener:e=>Ne(e,Me[1]),callListener:e=>(ze(e),As),delListener:e=>(Ee(e),As),getListenerStats:()=>({hasTables:is(_),tables:is(ee),tableIds:is(te),hasTable:is(se),table:is(le),tableCellIds:is(ae),hasTableCell:is(re,Lt),rowCount:is(he),rowIds:is(be),sortedRowIds:is(pe),hasRow:is(Ie,Lt),row:is(fe,Lt),cellIds:is(ye,Lt),hasCell:is(we,Et),cell:is(Ce,Et),invalidCell:is(ve,Et),hasValues:is(Se),values:is(xe),valueIds:is(Te),hasValue:is(Ve),value:is(Re),invalidValue:is(ke),transaction:Nt(qe)+is(Me)}),isMergeable:()=>!1,createStore:ms,addListener:Ne,callListeners:Le,setInternalListeners:(e,t,s,l,a)=>o=[e,t,s,l,a]};return de({[u+m]:[0,_,[],()=>[ps()]],[m]:[0,ee],[g]:[0,te],[u+h]:[1,se,[Vt],e=>[Is(...e)]],[h]:[1,le,[Vt]],[h+y]:[1,ae,[Vt]],[u+h+f]:[2,re,[Vt,Rt],e=>[fs(...e)]],[p]:[1,he,[Vt]],[I]:[1,be,[Vt]],[u+b]:[2,Ie,[Vt,$t],e=>[ys(...e)]],[b]:[2,fe,[Vt,$t]],[y]:[2,ye,[Vt,$t]],[u+f]:[3,we,[Vt,$t,ts],e=>[ws(...e)]],[f]:[3,Ce,[Vt,$t,ts],e=>os(ss(...e))],InvalidCell:[3,ve],[u+C]:[0,Se,[],()=>[Cs()]],[C]:[0,xe],[v]:[0,Te],[u+w]:[1,Ve,[gs],e=>[vs(...e)]],[w]:[1,Re,[gs],e=>os(bs(e[0]))],InvalidValue:[1,ke]},(([e,t,s,l],a)=>{As["add"+a+"Listener"]=(...a)=>Ne(a[e],t[a[e+1]?1:0],e>0?$(a,0,e):void 0,s,l)})),ne(As)};exports.Inspector=({position:e="right",open:s=!1})=>{const l=t.useCreateStore(ms),a=Ie.indexOf(e);return t.useCreatePersister(l,(e=>{return t=be,s=sessionStorage,((e,t,s,l,a,n,r,o={},i=[])=>{let d,u,c,h=0,m=0,g=0;Ht(es,i,(()=>0)),Ht(ts,i,(()=>[]));const[b,p,I,f,y]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!ue(e)||!ue(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!ue(e)||!ue(t),t.setContent]:F("Store type not supported by this Persister"))(r,e),w=t=>{(b&&O(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},C=async e=>(2!=h&&(h=1,m++,await x((async()=>{try{const e=await t();O(e)?w(e):F("Content is not an array "+e)}catch(t){e&&y(e)}h=0}))),T),v=()=>(u&&(a(u),u=void 0),T),k=async e=>(1!=h&&(h=2,g++,await x((async()=>{try{await s(p,e)}catch(e){}h=0}))),T),S=()=>(L(c,e.delListener),c=void 0,T),x=async(...e)=>(Y(Dt(ts,i),...e),await(async()=>{if(!Dt(es,i)){for(jt(es,i,1);!N(d=Z(Dt(ts,i)));)try{await d()}catch(e){}jt(es,i,0)}})(),T),T={load:C,startAutoLoad:async e=>{await v().load(e);try{u=await l((async(e,t)=>{t||e?2!=h&&(h=1,m++,w(t??e),h=0):await C()}))}catch(e){}return T},stopAutoLoad:v,isAutoLoading:()=>!N(u),save:k,startAutoSave:async()=>(await S().save(),c=e.addDidFinishTransactionListener((()=>{const e=I();f(e)&&k(e)})),T),stopAutoSave:S,isAutoSaving:()=>!N(c),schedule:x,getStore:()=>e,destroy:()=>(Dt(ts,i).splice(0,void 0),v().stopAutoSave()),getStats:()=>({loads:m,saves:g}),...o};return ne(T)})(e,(async()=>{return e=s.getItem(t),me(e,((e,t)=>""===t?void 0:t));var e}),(async e=>{return s.setItem(t,(l=e(),he(l,((e,t)=>void 0===t?"":t))));var l}),(e=>{const l=l=>{if(l.storageArea===s&&l.key===t)try{e(me(l.newValue))}catch{e()}};return T.addEventListener(ss,l),l}),(e=>T.removeEventListener(ss,e)),0,3,{getStorageName:()=>t});var t,s}),void 0,(async e=>{await e.load([{},{position:-1==a?1:a,open:!!s}]),await e.startAutoSave()})),B(P,null,B("aside",{id:be},B(Fe,{s:l}),B(Rt,{s:l})),B("style",null,Ae))};
1
+ "use strict";var e=require("react"),t=require("../../ui-react/with-schemas/index.cjs");const s=e=>typeof e,l="",a=s(l),n=s(!0),r=s(0),o=s(s),i="type",d="default",u="Has",c="Ids",h="Table",m=h+"s",g=h+c,b="Row",p=b+"Count",I=b+c,f="Cell",y=f+c,w="Value",C=w+"s",v=w+c,k="currentTarget",S="value",x=e=>l+e,T=globalThis.window,V=Math,R=V.min,q=V.floor,M=isFinite,N=e=>null==e,L=(e,t,s)=>N(e)?s?.():t(e),E=e=>e==a||e==n,z=e=>s(e)==o,O=e=>Array.isArray(e),$=(e,t,s)=>e.slice(t,s),A=e=>e.length,F=e=>{throw Error(e)},{PureComponent:J,Fragment:P,createElement:B,useCallback:D,useLayoutEffect:Q,useRef:j,useState:H}=e,W=(e,...t)=>N(e)?{}:e(...t),G=(e,t)=>e.sort(t),K=(e,t)=>e.forEach(t),U=(e,t)=>e.map(t),X=e=>0==A(e),Y=(e,...t)=>e.push(...t),Z=e=>e.shift(),_=Object,ee=e=>_.getPrototypeOf(e),te=_.entries,se=_.isFrozen,le=e=>!N(e)&&L(ee(e),(e=>e==_.prototype||N(ee(e))),(()=>!0)),ae=_.keys,ne=_.freeze,re=(e=[])=>_.fromEntries(e),oe=(e,t)=>t in e,ie=(e,t)=>(delete e[t],e),de=(e,t)=>U(te(e),(([e,s])=>t(s,e))),ue=e=>le(e)&&0==(e=>A(ae(e)))(e),ce=(e,t,s,l=0)=>N(e)||!le(e)||!l&&ue(e)||se(e)?(s?.(),!1):(de(e,((s,l)=>{t(s,l)||ie(e,l)})),!!l||!ue(e)),he=JSON.stringify,me=JSON.parse,ge=e=>he(e,((e,t)=>t instanceof Map?_.fromEntries([...t]):t)),be="tinybaseInspector",pe="TinyBase Inspector",Ie=["left","top","bottom","right","full"],fe="state",ye="sort",we="open",Ce="position",ve=we,ke="editable",Se=(...e)=>ge(e),xe=(e,t)=>U(G([...e]),t),Te=(e,s)=>[!!t.useCell(fe,e,ke,s),D((t=>{s.setCell(fe,e,ke,(e=>!e)),t.preventDefault()}),[s,e])],Ve="M20 80l5-15l40-40l10 10l-40 40l-15 5m5-15l10 10",Re='content:url("',qe=Re+"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' stroke-width='4' stroke='white' fill='none'>",Me='</svg>")',Ne=Re+"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\")",Le=U([[20,20,20,60],[20,20,60,20],[20,60,60,20],[60,20,20,60],[30,30,40,40]],(([e,t,s,l])=>qe+`<rect x='20' y='20' width='60' height='60' fill='grey'/><rect x='${e}' y='${t}' width='${s}' height='${l}' fill='white'/>`+Me)),Ee=qe+"<path d='M20 20l60 60M20 80l60-60' />"+Me,ze=qe+`<path d='${Ve}' />`+Me,Oe=qe+`<path d='${Ve}M20 20l60 60' />`+Me,$e="*::-webkit-scrollbar",Ae=((e,t="")=>e.join(t))(de({"":"all:initial;font-family:sans-serif;font-size:0.75rem;position:fixed;z-index:999999","*":"all:revert","*::before":"all:revert","*::after":"all:revert",[$e]:"width:0.5rem;height:0.5rem;",[$e+"-track"]:"background:#111",[$e+"-thumb"]:"background:#999;border:1px solid #111",[$e+"-thumb:hover"]:"background:#fff",[$e+"-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;"+Ne,...re(U(["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;",...re(U(["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)":Ne,"header>img:nth-of-type(6)":Ee,...re(U(Le,((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":ze,"details[open]>summary img.done":Oe,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,#${be} 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?`#${be} ${t}{${e}}`:""))),Fe=({s:e})=>{const s=t.useValue(Ce,e)??1,l=t.useSetValueCallback(ve,(()=>!0),[],e);return t.useValue(ve,e)?null:B("img",{onClick:l,title:pe,"data-position":s})},Je=({uniqueId:e,summary:s,editable:l,handleEditable:a,children:n,s:r})=>{const o=!!t.useCell(fe,e,we,r),i=t.useSetCellCallback(fe,e,we,(e=>e[k].open),[],r);return B("details",{open:o,onToggle:i},B("summary",null,s,a?B("img",{onClick:a,className:l?"done":"edit"}):null),n)},Pe=e=>{const t=s(e);return E(t)||t==r&&M(e)?t:void 0},Be=(e,t,s,l,a)=>N(a)?e.delCell(t,s,l,!0):e.setCell(t,s,l,a),De=(e,t,s)=>N(s)?e.delValue(t):e.setValue(t,s),Qe=(e,t,s,l)=>e==a?t:e==r?s:l,{useCallback:je,useMemo:He,useState:We}=e,Ge="editable",Ke=(e,s)=>U(t.useTableCellIds(e,s),(t=>e+"."+t)),Ue=(e,t,s)=>{const l=je(e,t);return s?l:void 0},Xe=(...e)=>He((()=>e),e),Ye=(e,t)=>He((()=>({store:e,tableId:t})),[e,t]),Ze=(e,t)=>He((()=>({queries:e,queryId:t})),[e,t]),_e=(e,t=!1,s,l=0,a,n,r,o)=>{const[[i,d,u],c]=We([e,t,l]),h=je((e=>{c(e),o?.(e)}),[o]),m=Ue((e=>h([e,e==i&&!d,u])),[h,i,d,u],s),g=je((e=>h([i,d,e])),[h,i,d]),b=!0===r?ht:r;return[[i,d,u],m,He((()=>!1===r?null:B(b,{offset:u,limit:a,total:n,onChange:g})),[r,b,u,a,n,g])]},et=(e,t,l)=>He((()=>{const n=t??e;return r=O(n)?re(U(n,(e=>[e,e]))):n,o=(e,t)=>{return{label:t,component:l,...(n=e,s(n)==a?{label:e}:e)};var n},re(de(r,((e,t)=>[t,o(e,t)])));var r,o}),[t,l,e]),tt=({className:e,headerRow:t,idColumn:s,params:[l,a,n,r,o,i]})=>B("table",{className:e},i?B("caption",null,i):null,!1===t?null:B("thead",null,B("tr",null,!1===s?null:B(st,{sort:r??[],label:"Id",onClick:o}),de(l,(({label:e},t)=>B(st,{key:t,cellId:t,label:e,sort:r??[],onClick:o}))))),B("tbody",null,U(n,(e=>B("tr",{key:e},!1===s?null:B("th",null,e),de(l,(({component:t,getComponentProps:s},l)=>B("td",{key:l},B(t,{...W(s,e,l),...a,rowId:e,cellId:l}))))))))),st=({cellId:e,sort:[t,s],label:a=e??l,onClick:n})=>B("th",{onClick:Ue((()=>n?.(e)),[n,e],n),className:N(s)||t!=e?void 0:`sorted ${s?"de":"a"}scending`},N(s)||t!=e?null:(s?"↓":"↑")+" ",a),lt=({localRowId:s,params:[l,a,n,r,o,i,d]})=>{const u=t.useRemoteRowId(o,s,i);return B("tr",null,!1===l?null:B(e.Fragment,null,B("th",null,s),B("th",null,u)),de(a,(({component:e,getComponentProps:t},l)=>{const[a,o]=l.split(".",2),i=a===n?s:a===r?u:null;return N(i)?null:B("td",{key:l},B(e,{...W(t,i,o),store:d,tableId:a,rowId:i,cellId:o}))})))},at=({thing:e,onThingChange:t,className:s,hasSchema:l,showType:o=!0})=>{const[i,d]=We(),[u,c]=We(),[h,m]=We(),[g,b]=We(),[p,I]=We();u!==e&&(d(Pe(e)),c(e),m(e+""),b(Number(e)||0),I(!!e));const f=je(((e,s)=>{s(e),c(e),t(e)}),[t]),y=je((()=>{if(!l?.()){const e=Qe(i,r,n,a),s=Qe(e,h,g,p);d(e),c(s),t(s)}}),[l,t,h,g,p,i]);return B("div",{className:s},o?B("button",{className:i,onClick:y},i):null,Qe(i,B("input",{key:i,value:h,onChange:je((e=>f(e[k][S]+"",m)),[f])}),B("input",{key:i,type:"number",value:g,onChange:je((e=>f(Number(e[k][S]||0),b)),[f])}),B("input",{key:i,type:"checkbox",checked:p,onChange:je((e=>f(!!e[k].checked,I)),[f])})))},nt=({tableId:e,cellId:s,descending:l,offset:a,limit:n,store:r,editable:o,sortOnClick:i,paginator:d=!1,onChange:u,customCells:c,...h})=>{const[m,g,b]=_e(s,l,i,a,n,t.useRowCount(e,r),d,u);return B(tt,{...h,params:Xe(et(t.useTableCellIds(e,r),c,o?ut:t.CellView),Ye(r,e),t.useSortedRowIds(e,...m,n,r),m,g,b)})},rt=({store:e,editable:s=!1,valueComponent:l=(s?ct:t.ValueView),getValueComponentProps:a,className:n,headerRow:r,idColumn:o})=>B("table",{className:n},!1===r?null:B("thead",null,B("tr",null,!1===o?null:B("th",null,"Id"),B("th",null,w))),B("tbody",null,U(t.useValueIds(e),(t=>B("tr",{key:t},!1===o?null:B("th",null,t),B("td",null,B(l,{...W(a,t),valueId:t,store:e}))))))),ot=({indexId:e,sliceId:s,indexes:l,editable:a,customCells:n,...r})=>{const[o,i,d]=((e,t)=>[e,e?.getStore(),e?.getTableId(t)])(t.useIndexesOrIndexesById(l),e);return B(tt,{...r,params:Xe(et(t.useTableCellIds(d,i),n,a?ut:t.CellView),Ye(i,d),t.useSliceRowIds(e,s,o))})},it=({relationshipId:s,relationships:l,editable:a,customCells:n,className:r,headerRow:o,idColumn:i=!0})=>{const[d,u,c,h]=((e,t)=>[e,e?.getStore(),e?.getLocalTableId(t),e?.getRemoteTableId(t)])(t.useRelationshipsOrRelationshipsById(l),s),m=et([...Ke(c,u),...Ke(h,u)],n,a?ut:t.CellView),g=Xe(i,m,c,h,s,d,u);return B("table",{className:r},!1===o?null:B("thead",null,B("tr",null,!1===i?null:B(e.Fragment,null,B("th",null,c,".Id"),B("th",null,h,".Id")),de(m,(({label:e},t)=>B("th",{key:t},e))))),B("tbody",null,U(t.useRowIds(c,u),(e=>B(lt,{key:e,localRowId:e,params:g})))))},dt=({queryId:e,cellId:s,descending:l,offset:a,limit:n,queries:r,sortOnClick:o,paginator:i=!1,customCells:d,onChange:u,...c})=>{const[h,m,g]=_e(s,l,o,a,n,t.useResultRowCount(e,r),i,u);return B(tt,{...c,params:Xe(et(t.useResultTableCellIds(e,r),d,t.ResultCellView),Ze(r,e),t.useResultSortedRowIds(e,...h,n,r),h,m,g)})},ut=({tableId:e,rowId:s,cellId:l,store:a,className:n,showType:r})=>B(at,{thing:t.useCell(e,s,l,a),onThingChange:t.useSetCellCallback(e,s,l,(e=>e),[],a),className:n??Ge+f,showType:r,hasSchema:t.useStoreOrStoreById(a)?.hasTablesSchema}),ct=({valueId:e,store:s,className:l,showType:a})=>B(at,{thing:t.useValue(e,s),onThingChange:t.useSetValueCallback(e,(e=>e),[],s),className:l??Ge+w,showType:a,hasSchema:t.useStoreOrStoreById(s)?.hasValuesSchema}),ht=({onChange:t,total:s,offset:l=0,limit:a=s,singular:n="row",plural:r=n+"s"})=>{(l>s||l<0)&&(l=0,t(0));const o=Ue((()=>t(l-a)),[t,l,a],l>0),i=Ue((()=>t(l+a)),[t,l,a],l+a<s);return B(e.Fragment,null,s>a&&B(e.Fragment,null,B("button",{className:"previous",disabled:0==l,onClick:o},"←"),B("button",{className:"next",disabled:l+a>=s,onClick:i},"→"),l+1," to ",R(s,l+a)," of "),s," ",1!=s?r:n)},mt=({indexes:e,indexesId:s,indexId:l,s:a})=>B(Je,{uniqueId:Se("i",s,l),summary:"Index: "+l,s:a},U(t.useSliceIds(l,e),(t=>B(gt,{indexes:e,indexesId:s,indexId:l,sliceId:t,s:a,key:t})))),gt=({indexes:e,indexesId:t,indexId:s,sliceId:l,s:a})=>{const n=Se("i",t,s,l),[r,o]=Te(n,a);return B(Je,{uniqueId:n,summary:"Slice: "+l,editable:r,handleEditable:o,s:a},B(ot,{sliceId:l,indexId:s,indexes:e,editable:r}))},bt=({indexesId:e,s:s})=>{const l=t.useIndexes(e),a=t.useIndexIds(l);return N(l)?null:B(Je,{uniqueId:Se("i",e),summary:"Indexes: "+(e??d),s:s},X(a)?"No indexes defined":xe(a,(t=>B(mt,{indexes:l,indexesId:e,indexId:t,s:s,key:t}))))},pt=({metrics:e,metricId:s})=>B("tr",null,B("th",null,s),B("td",null,e?.getTableId(s)),B("td",null,t.useMetric(s,e))),It=({metricsId:e,s:s})=>{const l=t.useMetrics(e),a=t.useMetricIds(l);return N(l)?null:B(Je,{uniqueId:Se("m",e),summary:"Metrics: "+(e??d),s:s},X(a)?"No metrics defined":B("table",null,B("thead",null,B("th",null,"Metric Id"),B("th",null,"Table Id"),B("th",null,"Metric")),B("tbody",null,U(a,(e=>B(pt,{metrics:l,metricId:e,key:e}))))))},ft=({queries:e,queriesId:s,queryId:l,s:a})=>{const n=Se("q",s,l),[r,o,i]=me(t.useCell(fe,n,ye,a)??"[]"),d=t.useSetCellCallback(fe,n,ye,ge,[],a);return B(Je,{uniqueId:n,summary:"Query: "+l,s:a},B(dt,{queryId:l,queries:e,cellId:r,descending:o,offset:i,limit:10,paginator:!0,sortOnClick:!0,onChange:d}))},yt=({queriesId:e,s:s})=>{const l=t.useQueries(e),a=t.useQueryIds(l);return N(l)?null:B(Je,{uniqueId:Se("q",e),summary:"Queries: "+(e??d),s:s},X(a)?"No queries defined":xe(a,(t=>B(ft,{queries:l,queriesId:e,queryId:t,s:s,key:t}))))},wt=({relationships:e,relationshipsId:t,relationshipId:s,s:l})=>{const a=Se("r",t,s),[n,r]=Te(a,l);return B(Je,{uniqueId:a,summary:"Relationship: "+s,editable:n,handleEditable:r,s:l},B(it,{relationshipId:s,relationships:e,editable:n}))},Ct=({relationshipsId:e,s:s})=>{const l=t.useRelationships(e),a=t.useRelationshipIds(l);return N(l)?null:B(Je,{uniqueId:Se("r",e),summary:"Relationships: "+(e??d),s:s},X(a)?"No relationships defined":xe(a,(t=>B(wt,{relationships:l,relationshipsId:e,relationshipId:t,s:s,key:t}))))},vt=({tableId:e,store:s,storeId:l,s:a})=>{const n=Se("t",l,e),[r,o,i]=me(t.useCell(fe,n,ye,a)??"[]"),d=t.useSetCellCallback(fe,n,ye,ge,[],a),[u,c]=Te(n,a);return B(Je,{uniqueId:n,summary:h+": "+e,editable:u,handleEditable:c,s:a},B(nt,{tableId:e,store:s,cellId:r,descending:o,offset:i,limit:10,paginator:!0,sortOnClick:!0,onChange:d,editable:u}))},kt=({store:e,storeId:s,s:l})=>{const a=Se("v",s),[n,r]=Te(a,l);return X(t.useValueIds(e))?null:B(Je,{uniqueId:a,summary:C,editable:n,handleEditable:r,s:l},B(rt,{store:e,editable:n}))},St=({storeId:e,s:s})=>{const l=t.useStore(e),a=t.useTableIds(l);return N(l)?null:B(Je,{uniqueId:Se("s",e),summary:(l.isMergeable()?"Mergeable":"")+"Store: "+(e??d),s:s},B(kt,{storeId:e,store:l,s:s}),xe(a,(t=>B(vt,{store:l,storeId:e,tableId:t,s:s,key:t}))))},xt=({s:e})=>{const s=j(null),l=j(0),[a,n]=H(!1),{scrollLeft:r,scrollTop:o}=t.useValues(e);Q((()=>{const e=s.current;if(e&&!a){const t=new MutationObserver((()=>{e.scrollWidth>=q(r)+e.clientWidth&&e.scrollHeight>=q(o)+e.clientHeight&&e.scrollTo(r,o)}));return t.observe(e,{childList:!0,subtree:!0}),()=>t.disconnect()}}),[a,r,o]);const i=D((t=>{const{scrollLeft:s,scrollTop:a}=t[k];cancelIdleCallback(l.current),l.current=requestIdleCallback((()=>{n(!0),e.setPartialValues({scrollLeft:s,scrollTop:a})}))}),[e]),d=t.useStore(),u=t.useStoreIds(),c=t.useMetrics(),h=t.useMetricsIds(),m=t.useIndexes(),g=t.useIndexesIds(),b=t.useRelationships(),p=t.useRelationshipsIds(),I=t.useQueries(),f=t.useQueriesIds();return N(d)&&X(u)&&N(c)&&X(h)&&N(m)&&X(g)&&N(b)&&X(p)&&N(I)&&X(f)?B("span",{className:"warn"},"There are no Stores or other objects to inspect. Make sure you placed the Inspector inside a Provider component."):B("article",{ref:s,onScroll:i},B(St,{s:e}),U(u,(t=>B(St,{storeId:t,s:e,key:t}))),B(It,{s:e}),U(h,(t=>B(It,{metricsId:t,s:e,key:t}))),B(bt,{s:e}),U(g,(t=>B(bt,{indexesId:t,s:e,key:t}))),B(Ct,{s:e}),U(p,(t=>B(Ct,{relationshipsId:t,s:e,key:t}))),B(yt,{s:e}),U(f,(t=>B(yt,{queriesId:t,s:e,key:t}))))};class Tt extends J{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?B("span",{className:"warn"},"Inspector error: please see console for details."):this.props.children}}const Vt=({s:e})=>{const s=t.useValue(Ce,e)??1,l=t.useSetValueCallback(ve,(()=>!1),[],e),a=t.useSetValueCallback(Ce,(e=>Number(e[k].dataset.id)),[],e);return B("header",null,B("img",{title:pe}),B("span",null,pe),U(Ie,((e,t)=>t==s?null:B("img",{onClick:a,"data-id":t,title:"Dock to "+e,key:t}))),B("img",{onClick:l,title:"Close"}))},Rt=({s:e})=>{const s=t.useValue(Ce,e)??1;return t.useValue(ve,e)?B("main",{"data-position":s},B(Vt,{s:e}),B(Tt,null,B(xt,{s:e}))):null},qt=e=>t=>{return s=(t,s)=>t+e(s),$t(t).reduce(s,0);var s},Mt=e=>e?.size??0,Nt=qt(Mt),Lt=qt(Nt),Et=qt(Lt),zt=(e,t)=>e?.has(t)??!1,Ot=e=>N(e)||0==Mt(e),$t=e=>[...e?.values()??[]],At=e=>e.clear(),Ft=(e,t)=>e?.forEach(t),Jt=(e,t)=>e?.delete(t),Pt=e=>new Map(e),Bt=e=>[...e?.keys()??[]],Dt=(e,t)=>e?.get(t),Qt=(e,t)=>Ft(e,((e,s)=>t(s,e))),jt=(e,t,s)=>N(s)?(Jt(e,t),e):e?.set(t,s),Ht=(e,t,s,l)=>(zt(e,t)?l?.(Dt(e,t)):jt(e,t,s()),Dt(e,t)),Wt=(e,t,s,l=jt)=>(de(t,((t,l)=>s(e,l,t))),Qt(e,(s=>oe(t,s)?0:l(e,s))),e),Gt=(e,t,s,l)=>{const a={};return Ft(e,((e,n)=>{if(!s?.(e,n)){const s=t?t(e,n):e;l?.(s)||(a[n]=s)}})),a},Kt=(e,t,s)=>Gt(e,(e=>Gt(e,t,s)),Ot,ue),Ut=(e,t,s)=>Gt(e,(e=>Kt(e,t,s)),Ot,ue),Xt=(e,t)=>{const s=Pt();return Ft(e,((e,l)=>s.set(l,t?.(e)??e))),s},Yt=e=>Xt(e,Xt),Zt=e=>Xt(e,Yt),_t=(e,t,s,l,a=0)=>L((s?Ht:Dt)(e,t[a],a>A(t)-2?s:Pt),(n=>{if(a>A(t)-2)return l?.(n)&&jt(e,t[a]),n;const r=_t(n,t,s,l,a+1);return Ot(n)&&jt(e,t[a]),r})),es=Pt(),ts=Pt(),ss="storage",ls=e=>new Set(O(e)||N(e)?e:[e]),as=(e,t)=>e?.add(t),ns=/^\d+$/,rs=()=>{const e=[];let t=0;return[s=>(s?Z(e):null)??l+t++,t=>{ns.test(t)&&A(e)<1e3&&Y(e,t)}]},os=e=>[e,e],is=(e,t=Nt)=>t(e[0])+t(e[1]),ds=()=>[Pt(),Pt()],us=e=>[...e],cs=([e,t])=>e===t;Pt(U("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split(l),((e,t)=>[e,t])));const hs=(e,t,s)=>jt(e,t,Dt(e,t)==-s?void 0:s),ms=()=>{let e,t,s=!1,a=!1,n=0,o=[];const c=Pt(),k=Pt(),S=Pt(),T=Pt(),V=Pt(),R=Pt(),q=Pt(),M=Pt(),F=Pt(),J=Pt(),P=Pt(),B=Pt(),D=Pt(),Q=Pt(),j=ls(),H=Pt(),W=Pt(),X=Pt(),Z=Pt(),_=ds(),ee=ds(),te=ds(),se=ds(),le=ds(),ae=ds(),re=ds(),he=ds(),be=ds(),pe=ds(),Ie=ds(),fe=ds(),ye=ds(),we=ds(),Ce=ds(),ve=ds(),ke=ds(),Se=ds(),xe=ds(),Te=ds(),Ve=ds(),Re=ds(),qe=Pt(),Me=ds(),[Ne,Le,Ee,ze]=(()=>{let e;const[t,s]=rs(),a=Pt();return[(s,n,r,o=[],i=()=>[])=>{e??=As;const d=t(1);return jt(a,d,[s,n,r,o,i]),as(_t(n,r??[l],ls),d),d},(t,s,...n)=>K(((e,t=[l])=>{const s=[],a=(e,l)=>l==A(t)?Y(s,e):null===t[l]?Ft(e,(e=>a(e,l+1))):K([t[l],null],(t=>a(Dt(e,t),l+1)));return a(e,0),s})(t,s),(t=>Ft(t,(t=>Dt(a,t)[0](e,...s??[],...n))))),e=>L(Dt(a,e),(([,t,n])=>(_t(t,n??[l],void 0,(t=>(Jt(t,e),Ot(t)?1:0))),jt(a,e),s(e),n))),t=>L(Dt(a,t),(([t,,s=[],l,a])=>{const n=(...r)=>{const o=A(r);o==A(s)?t(e,...r,...a(r)):N(s[o])?K(l[o]?.(...r)??[],(e=>n(...r,e))):n(...r,s[o])};n()}))]})(),Oe=e=>{if(!ce(e,((e,t)=>[i,d].includes(t))))return!1;const t=e[i];return!(!E(t)&&t!=r||(Pe(e[d])!=t&&ie(e,d),0))},$e=O,Ae=(t,s)=>(!e||zt(P,s)||pt(s))&&ce(t,((e,t)=>Fe(s,t,e)),(()=>pt(s))),Fe=(e,t,s,l)=>ce(l?s:He(s,e,t),((l,a)=>L(Je(e,t,a,l),(e=>(s[a]=e,!0)),(()=>!1))),(()=>pt(e,t))),Je=(t,s,l,a)=>e?L(Dt(Dt(P,t),l),(e=>Pe(a)!=e[i]?pt(t,s,l,a,e[d]):a),(()=>pt(t,s,l,a))):N(Pe(a))?pt(t,s,l,a):a,Qe=(e,t)=>ce(t?e:We(e),((t,s)=>L(je(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>It())),je=(e,s)=>t?L(Dt(D,e),(t=>Pe(s)!=t[i]?It(e,s,t[d]):s),(()=>It(e,s))):N(Pe(s))?It(e,s):s,He=(e,t,s)=>(L(Dt(B,t),(([l,a])=>{Ft(l,((t,s)=>{oe(e,s)||(e[s]=t)})),Ft(a,(l=>{oe(e,l)||pt(t,s,l)}))})),e),We=e=>(t&&(Ft(Q,((t,s)=>{oe(e,s)||(e[s]=t)})),Ft(j,(t=>{oe(e,t)||It(t)}))),e),Ge=e=>Wt(P,e,((e,t,s)=>{const l=Pt(),a=ls();Wt(Ht(P,t,Pt),s,((e,t,s)=>{jt(e,t,s),L(s[d],(e=>jt(l,t,e)),(()=>as(a,t)))})),jt(B,t,[l,a])}),((e,t)=>{jt(P,t),jt(B,t)})),Ke=e=>Wt(D,e,((e,t,s)=>{jt(D,t,s),L(s[d],(e=>jt(Q,t,e)),(()=>as(j,t)))}),((e,t)=>{jt(D,t),jt(Q,t),Jt(j,t)})),Ue=e=>ue(e)?Rs():ks(e),Xe=e=>Wt(X,e,((e,t,s)=>Ye(t,s)),((e,t)=>rt(t))),Ye=(e,t)=>Wt(Ht(X,e,(()=>(ut(e,1),jt(H,e,rs()),jt(W,e,Pt()),Pt()))),t,((t,s,l)=>Ze(e,t,s,l)),((t,s)=>ot(e,t,s))),Ze=(e,t,s,l,a)=>Wt(Ht(t,s,(()=>(ct(e,s,1),Pt()))),l,((t,l,a)=>_e(e,s,t,l,a)),((l,n)=>it(e,t,s,l,n,a))),_e=(e,t,s,l,a)=>{zt(s,l)||ht(e,t,l,1);const n=Dt(s,l);a!==n&&(mt(e,t,l,n,a),jt(s,l,a))},et=(e,t,s,l,a)=>L(Dt(t,s),(t=>_e(e,s,t,l,a)),(()=>Ze(e,t,s,He({[l]:a},e,s)))),tt=e=>ue(e)?Ns():Ss(e),st=e=>Wt(Z,e,((e,t,s)=>lt(t,s)),((e,t)=>dt(t))),lt=(e,t)=>{zt(Z,e)||gt(e,1);const s=Dt(Z,e);t!==s&&(bt(e,s,t),jt(Z,e,t))},at=(e,t)=>{const[s]=Dt(H,e),l=s(t);return zt(Dt(X,e),l)?at(e,t):l},nt=e=>Dt(X,e)??Ye(e,{}),rt=e=>Ye(e,{}),ot=(e,t,s)=>{const[,l]=Dt(H,e);l(s),Ze(e,t,s,{},!0)},it=(e,t,s,l,a,n)=>{const r=Dt(Dt(B,e)?.[0],a);if(!N(r)&&!n)return _e(e,s,l,a,r);const o=t=>{mt(e,s,t,Dt(l,t)),ht(e,s,t,-1),jt(l,t)};N(r)?o(a):Qt(l,o),Ot(l)&&(ct(e,s,-1),Ot(jt(t,s))&&(ut(e,-1),jt(X,e),jt(H,e),jt(W,e)))},dt=e=>{const t=Dt(Q,e);if(!N(t))return lt(e,t);bt(e,Dt(Z,e)),gt(e,-1),jt(Z,e)},ut=(e,t)=>hs(c,e,t),ct=(e,t,s)=>hs(Ht(T,e,Pt),t,s)&&jt(S,e,Ht(S,e,(()=>0))+s),ht=(e,t,s,l)=>{const a=Dt(W,e),n=Dt(a,s)??0;(0==n&&1==l||1==n&&-1==l)&&hs(Ht(k,e,Pt),s,l),jt(a,s,n!=-l?n+l:null),hs(Ht(Ht(V,e,Pt),t,Pt),s,l)},mt=(e,t,s,l,a)=>{Ht(Ht(Ht(R,e,Pt),t,Pt),s,(()=>[l,0]))[1]=a,o[3]?.(e,t,s,a)},gt=(e,t)=>hs(q,e,t),bt=(e,t,s)=>{Ht(M,e,(()=>[t,0]))[1]=s,o[4]?.(e,s)},pt=(e,t,s,l,a)=>(Y(Ht(Ht(Ht(F,e,Pt),t,Pt),s,(()=>[])),l),a),It=(e,t,s)=>(Y(Ht(J,e,(()=>[])),t),s),ft=(e,t,s)=>L(Dt(Dt(Dt(R,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...os(ss(e,t,s))])),yt=e=>L(Dt(M,e),(([e,t])=>[!0,e,t]),(()=>[!1,...os(bs(e))])),wt=e=>Ot(F)||Ot(ve[e])?0:Ft(e?Zt(F):F,((t,s)=>Ft(t,((t,l)=>Ft(t,((t,a)=>Le(ve[e],[s,l,a],t))))))),Ct=e=>Ot(J)||Ot(ke[e])?0:Ft(e?Xt(J):J,((t,s)=>Le(ke[e],[s],t))),vt=(e,t,s,l)=>{if(!Ot(e))return Le(t,l,(()=>Gt(e))),Qt(e,((e,t)=>Le(s,[...l??[],e],1==t))),1},kt=e=>{const t=ps();t!=s&&Le(_[e],void 0,t);const l=Ot(pe[e]),a=Ot(ye[e])&&Ot(we[e])&&Ot(be[e])&&Ot(Ie[e])&&Ot(ae[e])&&Ot(re[e])&&Ot(he[e])&&l&&Ot(te[e])&&Ot(se[e]),n=Ot(Ce[e])&&Ot(fe[e])&&Ot(le[e])&&Ot(ee[e]);if(!a||!n){const t=e?[Xt(c),Yt(k),Xt(S),Yt(T),Zt(V),Zt(R)]:[c,k,S,T,V,R];if(!a){vt(t[0],te[e],se[e]),Ft(t[1],((t,s)=>vt(t,ae[e],re[e],[s]))),Ft(t[2],((t,s)=>{0!=t&&Le(he[e],[s],qt(s))}));const s=ls();Ft(t[3],((t,a)=>{vt(t,be[e],Ie[e],[a])&&!l&&(Le(pe[e],[a,null]),as(s,a))})),l||Ft(t[5],((t,l)=>{if(!zt(s,l)){const s=ls();Ft(t,(e=>Ft(e,(([t,l],a)=>l!==t?as(s,a):Jt(e,a))))),Ft(s,(t=>Le(pe[e],[l,t])))}})),Ft(t[4],((t,s)=>Ft(t,((t,l)=>vt(t,ye[e],we[e],[s,l])))))}if(!n){let s;Ft(t[5],((t,l)=>{let a;Ft(t,((t,n)=>{let r;Ft(t,(([t,o],i)=>{o!==t&&(Le(Ce[e],[l,n,i],o,t,ft),s=a=r=1)})),r&&Le(fe[e],[l,n],ft)})),a&&Le(le[e],[l],ft)})),s&&Le(ee[e],void 0,ft)}}},St=e=>{const t=Cs();t!=a&&Le(Se[e],void 0,t);const s=Ot(Te[e])&&Ot(Ve[e]),l=Ot(Re[e])&&Ot(xe[e]);if(!s||!l){const t=e?[Xt(q),Xt(M)]:[q,M];if(s||vt(t[0],Te[e],Ve[e]),!l){let s;Ft(t[1],(([t,l],a)=>{l!==t&&(Le(Re[e],[a],l,t,yt),s=1)})),s&&Le(xe[e],void 0,yt)}}},xt=(e,...t)=>(zs((()=>e(...U(t,x)))),As),Tt=()=>Ut(X),Vt=()=>Bt(X),Rt=e=>Bt(Dt(W,x(e))),qt=e=>Mt(Dt(X,x(e))),$t=e=>Bt(Dt(X,x(e))),es=(e,t,s,l=0,a)=>{return U($(G((n=Dt(X,x(e)),r=(e,s)=>[N(t)?s:Dt(e,x(t)),s],U([...n?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1))),l,N(a)?a:l+a),(([,e])=>e));var n,r},ts=(e,t)=>Bt(Dt(Dt(X,x(e)),x(t))),ss=(e,t,s)=>Dt(Dt(Dt(X,x(e)),x(t)),x(s)),ns=()=>Gt(Z),gs=()=>Bt(Z),bs=e=>Dt(Z,x(e)),ps=()=>!Ot(X),Is=e=>zt(X,x(e)),fs=(e,t)=>zt(Dt(W,x(e)),x(t)),ys=(e,t)=>zt(Dt(X,x(e)),x(t)),ws=(e,t,s)=>zt(Dt(Dt(X,x(e)),x(t)),x(s)),Cs=()=>!Ot(Z),vs=e=>zt(Z,x(e)),ks=e=>xt((()=>(e=>ce(e,Ae,pt))(e)?Xe(e):0)),Ss=e=>xt((()=>Qe(e)?st(e):0)),xs=e=>{try{Ue(me(e))}catch{}return As},Ts=t=>xt((()=>{if((e=ce(t,(e=>ce(e,Oe))))&&(Ge(t),!Ot(X))){const e=Tt();Rs(),ks(e)}})),Vs=e=>xt((()=>{if(t=(e=>ce(e,Oe))(e)){const s=ns();Es(),Ns(),t=!0,Ke(e),Ss(s)}})),Rs=()=>xt((()=>Xe({}))),qs=e=>xt((e=>zt(X,e)?rt(e):0),e),Ms=(e,t)=>xt(((e,t)=>L(Dt(X,e),(s=>zt(s,t)?ot(e,s,t):0))),e,t),Ns=()=>xt((()=>st({}))),Ls=()=>xt((()=>{Ge({}),e=!1})),Es=()=>xt((()=>{Ke({}),t=!1})),zs=(e,t)=>{if(-1!=n){Os();const s=e();return $s(t),s}},Os=()=>(-1!=n&&n++,1==n&&(o[0]?.(),Le(qe)),As),$s=e=>(n>0&&(n--,0==n&&(n=1,wt(1),Ot(R)||kt(1),Ct(1),Ot(M)||St(1),e?.(As)&&(Ft(R,((e,t)=>Ft(e,((e,s)=>Ft(e,(([e],l)=>Be(As,t,s,l,e))))))),At(R),Ft(M,(([e],t)=>De(As,t,e))),At(M)),Le(Me[0],void 0),n=-1,wt(0),Ot(R)||kt(0),Ct(0),Ot(M)||St(0),o[1]?.(),Le(Me[1],void 0),o[2]?.(),n=0,s=ps(),a=Cs(),K([c,k,S,T,V,R,F,q,M,J],At))),As),As={getContent:()=>[Tt(),ns()],getTables:Tt,getTableIds:Vt,getTable:e=>Kt(Dt(X,x(e))),getTableCellIds:Rt,getRowCount:qt,getRowIds:$t,getSortedRowIds:es,getRow:(e,t)=>Gt(Dt(Dt(X,x(e)),x(t))),getCellIds:ts,getCell:ss,getValues:ns,getValueIds:gs,getValue:bs,hasTables:ps,hasTable:Is,hasTableCell:fs,hasRow:ys,hasCell:ws,hasValues:Cs,hasValue:vs,getTablesJson:()=>ge(X),getValuesJson:()=>ge(Z),getJson:()=>ge([X,Z]),getTablesSchemaJson:()=>ge(P),getValuesSchemaJson:()=>ge(D),getSchemaJson:()=>ge([P,D]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:e=>xt((()=>$e(e)?(([e,t])=>{(ue(e)?Rs:ks)(e),(ue(t)?Ns:Ss)(t)})(e):0)),setTables:ks,setTable:(e,t)=>xt((e=>Ae(t,e)?Ye(e,t):0),e),setRow:(e,t,s)=>xt(((e,t)=>Fe(e,t,s)?Ze(e,nt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>zs((()=>{let l;return Fe(e,l,t)&&(e=x(e),Ze(e,nt(e),l=at(e,s?1:0),t)),l})),setPartialRow:(e,t,s)=>xt(((e,t)=>{if(Fe(e,t,s,1)){const l=nt(e);de(s,((s,a)=>et(e,l,t,a,s)))}}),e,t),setCell:(e,t,s,l)=>xt(((e,t,s)=>L(Je(e,t,s,z(l)?l(ss(e,t,s)):l),(l=>et(e,nt(e),t,s,l)))),e,t,s),setValues:Ss,setPartialValues:e=>xt((()=>Qe(e,1)?de(e,((e,t)=>lt(t,e))):0)),setValue:(e,t)=>xt((e=>L(je(e,z(t)?t(bs(e)):t),(t=>lt(e,t)))),e),applyChanges:e=>xt((()=>{de(e[0],((e,t)=>N(e)?qs(t):de(e,((e,s)=>N(e)?Ms(t,s):de(e,((e,l)=>Be(As,t,s,l,e))))))),de(e[1],((e,t)=>De(As,t,e)))})),setTablesJson:xs,setValuesJson:e=>{try{tt(me(e))}catch{}return As},setJson:e=>xt((()=>{try{const[t,s]=me(e);Ue(t),tt(s)}catch{xs(e)}})),setTablesSchema:Ts,setValuesSchema:Vs,setSchema:(e,t)=>xt((()=>{Ts(e),Vs(t)})),delTables:Rs,delTable:qs,delRow:Ms,delCell:(e,t,s,l)=>xt(((e,t,s)=>L(Dt(X,e),(a=>L(Dt(a,t),(n=>zt(n,s)?it(e,a,t,n,s,l):0))))),e,t,s),delValues:Ns,delValue:e=>xt((e=>zt(Z,e)?dt(e):0),e),delTablesSchema:Ls,delValuesSchema:Es,delSchema:()=>xt((()=>{Ls(),Es()})),transaction:zs,startTransaction:Os,getTransactionChanges:()=>[Gt(R,((e,t)=>-1===Dt(c,t)?void 0:Gt(e,((e,s)=>-1===Dt(Dt(T,t),s)?void 0:Gt(e,(([,e])=>e),(e=>cs(e)))),Ot,ue)),Ot,ue),Gt(M,(([,e])=>e),(e=>cs(e))),1],getTransactionLog:()=>[!Ot(R),!Ot(M),Ut(R,us,cs),Ut(F),Gt(M,us,cs),Gt(J),Gt(c),Kt(T),Ut(V),Gt(q)],finishTransaction:$s,forEachTable:e=>Ft(X,((t,s)=>e(s,(e=>Ft(t,((t,s)=>e(s,(e=>Qt(t,e))))))))),forEachTableCell:(e,t)=>Qt(Dt(W,x(e)),t),forEachRow:(e,t)=>Ft(Dt(X,x(e)),((e,s)=>t(s,(t=>Qt(e,t))))),forEachCell:(e,t,s)=>Qt(Dt(Dt(X,x(e)),x(t)),s),forEachValue:e=>Qt(Z,e),addSortedRowIdsListener:(e,t,s,l,a,n,r)=>{let o=es(e,t,s,l,a);return Ne((()=>{const r=es(e,t,s,l,a);var i,d,u;d=o,A(i=r)===A(d)&&(u=(e,t)=>d[t]===e,i.every(u))||(o=r,n(As,e,t,s,l,a,o))}),pe[r?1:0],[e,t],[Vt])},addStartTransactionListener:e=>Ne(e,qe),addWillFinishTransactionListener:e=>Ne(e,Me[0]),addDidFinishTransactionListener:e=>Ne(e,Me[1]),callListener:e=>(ze(e),As),delListener:e=>(Ee(e),As),getListenerStats:()=>({hasTables:is(_),tables:is(ee),tableIds:is(te),hasTable:is(se),table:is(le),tableCellIds:is(ae),hasTableCell:is(re,Lt),rowCount:is(he),rowIds:is(be),sortedRowIds:is(pe),hasRow:is(Ie,Lt),row:is(fe,Lt),cellIds:is(ye,Lt),hasCell:is(we,Et),cell:is(Ce,Et),invalidCell:is(ve,Et),hasValues:is(Se),values:is(xe),valueIds:is(Te),hasValue:is(Ve),value:is(Re),invalidValue:is(ke),transaction:Nt(qe)+is(Me)}),isMergeable:()=>!1,createStore:ms,addListener:Ne,callListeners:Le,setInternalListeners:(e,t,s,l,a)=>o=[e,t,s,l,a]};return de({[u+m]:[0,_,[],()=>[ps()]],[m]:[0,ee],[g]:[0,te],[u+h]:[1,se,[Vt],e=>[Is(...e)]],[h]:[1,le,[Vt]],[h+y]:[1,ae,[Vt]],[u+h+f]:[2,re,[Vt,Rt],e=>[fs(...e)]],[p]:[1,he,[Vt]],[I]:[1,be,[Vt]],[u+b]:[2,Ie,[Vt,$t],e=>[ys(...e)]],[b]:[2,fe,[Vt,$t]],[y]:[2,ye,[Vt,$t]],[u+f]:[3,we,[Vt,$t,ts],e=>[ws(...e)]],[f]:[3,Ce,[Vt,$t,ts],e=>os(ss(...e))],InvalidCell:[3,ve],[u+C]:[0,Se,[],()=>[Cs()]],[C]:[0,xe],[v]:[0,Te],[u+w]:[1,Ve,[gs],e=>[vs(...e)]],[w]:[1,Re,[gs],e=>os(bs(e[0]))],InvalidValue:[1,ke]},(([e,t,s,l],a)=>{As["add"+a+"Listener"]=(...a)=>Ne(a[e],t[a[e+1]?1:0],e>0?$(a,0,e):void 0,s,l)})),ne(As)};exports.Inspector=({position:e="right",open:s=!1})=>{const l=t.useCreateStore(ms),a=Ie.indexOf(e);return t.useCreatePersister(l,(e=>{return t=be,s=sessionStorage,((e,t,s,l,a,n,r,o={},i=[])=>{let d,u,c,h=0,m=0,g=0;Ht(es,i,(()=>0)),Ht(ts,i,(()=>[]));const[b,p,I,f,y]=((e=1,t)=>1!=e&&t.isMergeable()?[1,t.getMergeableContent,t.getTransactionMergeableChanges,([[e],[t]])=>!ue(e)||!ue(t),t.setDefaultContent]:2!=e?[0,t.getContent,t.getTransactionChanges,([e,t])=>!ue(e)||!ue(t),t.setContent]:F("Store type not supported by this Persister"))(r,e),w=t=>{(b&&O(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},C=async e=>(2!=h&&(h=1,m++,await x((async()=>{try{const e=await t();O(e)?w(e):F("Content is not an array "+e)}catch(t){e&&y(e)}h=0}))),T),v=()=>(u&&(a(u),u=void 0),T),k=async e=>(1!=h&&(h=2,g++,await x((async()=>{try{await s(p,e)}catch(e){}h=0}))),T),S=()=>(L(c,e.delListener),c=void 0,T),x=async(...e)=>(Y(Dt(ts,i),...e),await(async()=>{if(!Dt(es,i)){for(jt(es,i,1);!N(d=Z(Dt(ts,i)));)try{await d()}catch(e){}jt(es,i,0)}})(),T),T={load:C,startAutoLoad:async e=>{await v().load(e);try{u=await l((async(e,t)=>{t||e?2!=h&&(h=1,m++,w(t??e),h=0):await C()}))}catch(e){}return T},stopAutoLoad:v,isAutoLoading:()=>!N(u),save:k,startAutoSave:async()=>(await S().save(),c=e.addDidFinishTransactionListener((()=>{const e=I();f(e)&&k(e)})),T),stopAutoSave:S,isAutoSaving:()=>!N(c),schedule:x,getStore:()=>e,destroy:()=>(Dt(ts,i).splice(0,void 0),v().stopAutoSave()),getStats:()=>({loads:m,saves:g}),...o};return ne(T)})(e,(async()=>{return e=s.getItem(t),me(e,((e,t)=>""===t?void 0:t));var e}),(async e=>{return s.setItem(t,(l=e(),he(l,((e,t)=>void 0===t?"":t))));var l}),(e=>{const l=l=>{if(l.storageArea===s&&l.key===t)try{e(me(l.newValue))}catch{e()}};return T.addEventListener(ss,l),l}),(e=>T.removeEventListener(ss,e)),0,3,{getStorageName:()=>t});var t,s}),void 0,(async e=>{await e.load([{},{position:-1==a?1:a,open:!!s}]),await e.startAutoSave()})),B(P,null,B("aside",{id:be},B(Fe,{s:l}),B(Rt,{s:l})),B("style",null,Ae))};
@@ -3,6 +3,7 @@
3
3
  var React = require('react');
4
4
 
5
5
  const getTypeOf = (thing) => typeof thing;
6
+ const TINYBASE = 'tinybase';
6
7
  const EMPTY_STRING = '';
7
8
  const STRING = getTypeOf(EMPTY_STRING);
8
9
  const FUNCTION = getTypeOf(getTypeOf);
@@ -26,6 +27,7 @@ const VALUE = 'Value';
26
27
  const VALUES = VALUE + 's';
27
28
  const VALUE_IDS = VALUE + IDS;
28
29
 
30
+ const GLOBAL = globalThis;
29
31
  const isUndefined = (thing) => thing == void 0;
30
32
  const ifNotUndefined = (value, then, otherwise) =>
31
33
  isUndefined(value) ? otherwise?.() : then(value);
@@ -42,6 +44,7 @@ const arrayIsEqual = (array1, array2) =>
42
44
  const arrayMap = (array, cb) => array.map(cb);
43
45
  const arrayIsEmpty = (array) => size(array) == 0;
44
46
  const arrayFilter = (array, cb) => array.filter(cb);
47
+ const arrayWith = (array, index, value) => array.with(index, value);
45
48
 
46
49
  const object = Object;
47
50
  const getPrototypeOf = (obj) => object.getPrototypeOf(obj);
@@ -59,6 +62,7 @@ const isObject = (obj) =>
59
62
  );
60
63
  const objIds = object.keys;
61
64
  const objGet = (obj, id) => ifNotUndefined(obj, (obj2) => obj2[id]);
65
+ const objHas = (obj, id) => id in obj;
62
66
  const objDel = (obj, id) => {
63
67
  delete obj[id];
64
68
  return obj;
@@ -77,9 +81,15 @@ const objIsEqual = (obj1, obj2) => {
77
81
  )
78
82
  );
79
83
  };
84
+ const objEnsure = (obj, id, getDefaultValue) => {
85
+ if (!objHas(obj, id)) {
86
+ obj[id] = getDefaultValue();
87
+ }
88
+ return obj[id];
89
+ };
80
90
 
81
91
  const {createContext, useContext: useContext$1, useEffect: useEffect$1} = React;
82
- const Context = createContext([]);
92
+ const Context = objEnsure(GLOBAL, TINYBASE + '_uirc', () => createContext([]));
83
93
  const useThing = (id, offset) => {
84
94
  const contextValue = useContext$1(Context);
85
95
  return isUndefined(id)
@@ -94,32 +104,43 @@ const useThingOrThingById = (thingOrThingId, offset) => {
94
104
  ? thing
95
105
  : thingOrThingId;
96
106
  };
107
+ const useProvideThing = (thingId, thing, offset) => {
108
+ const {12: addExtraThingById, 13: delExtraThingById} = useContext$1(Context);
109
+ useEffect$1(() => {
110
+ addExtraThingById?.(offset, thingId, thing);
111
+ return () => delExtraThingById?.(offset, thingId);
112
+ }, [addExtraThingById, thingId, thing, offset, delExtraThingById]);
113
+ };
97
114
  const useThingIds = (offset) => objIds(useContext$1(Context)[offset] ?? {});
98
115
  const useStore = (id) => useThing(id, 0);
99
116
  const useStoreOrStoreById = (storeOrStoreId) =>
100
117
  useThingOrThingById(storeOrStoreId, 0);
101
- const useProvideStore = (storeId, store) => {
102
- const {12: addExtraStore, 13: delExtraStore} = useContext$1(Context);
103
- useEffect$1(() => {
104
- addExtraStore?.(storeId, store);
105
- return () => delExtraStore?.(storeId);
106
- }, [addExtraStore, storeId, store, delExtraStore]);
107
- };
118
+ const useProvideStore = (storeId, store) => useProvideThing(storeId, store, 0);
108
119
  const useMetrics = (id) => useThing(id, 2);
109
120
  const useMetricsOrMetricsById = (metricsOrMetricsId) =>
110
121
  useThingOrThingById(metricsOrMetricsId, 2);
122
+ const useProvideMetrics = (metricsId, metrics) =>
123
+ useProvideThing(metricsId, metrics, 1);
111
124
  const useIndexes = (id) => useThing(id, 4);
112
125
  const useIndexesOrIndexesById = (indexesOrIndexesId) =>
113
126
  useThingOrThingById(indexesOrIndexesId, 4);
127
+ const useProvideIndexes = (indexesId, indexes) =>
128
+ useProvideThing(indexesId, indexes, 2);
114
129
  const useRelationships = (id) => useThing(id, 6);
115
130
  const useRelationshipsOrRelationshipsById = (relationshipsOrRelationshipsId) =>
116
131
  useThingOrThingById(relationshipsOrRelationshipsId, 6);
132
+ const useProvideRelationships = (relationshipsId, relationships) =>
133
+ useProvideThing(relationshipsId, relationships, 3);
117
134
  const useQueries = (id) => useThing(id, 8);
118
135
  const useQueriesOrQueriesById = (queriesOrQueriesId) =>
119
136
  useThingOrThingById(queriesOrQueriesId, 8);
137
+ const useProvideQueries = (queriesId, queries) =>
138
+ useProvideThing(queriesId, queries, 4);
120
139
  const useCheckpoints = (id) => useThing(id, 10);
121
140
  const useCheckpointsOrCheckpointsById = (checkpointsOrCheckpointsId) =>
122
141
  useThingOrThingById(checkpointsOrCheckpointsId, 10);
142
+ const useProvideCheckpoints = (checkpointsId, checkpoints) =>
143
+ useProvideThing(checkpointsId, checkpoints, 5);
123
144
 
124
145
  const lower = (str) => str.toLowerCase();
125
146
  lower(LISTENER);
@@ -1572,21 +1593,37 @@ const Provider = ({
1572
1593
  children,
1573
1594
  }) => {
1574
1595
  const parentValue = useContext(Context);
1575
- const [extraStoresById, setExtraStoresById] = useState({});
1576
- const addExtraStore = useCallback(
1577
- (id, store2) =>
1578
- setExtraStoresById((extraStoresById2) =>
1579
- objGet(extraStoresById2, id) == store2
1580
- ? extraStoresById2
1581
- : {...extraStoresById2, [id]: store2},
1596
+ const [extraThingsById, setExtraThingsById] = useState([
1597
+ {},
1598
+ {},
1599
+ {},
1600
+ {},
1601
+ {},
1602
+ {},
1603
+ ]);
1604
+ const addExtraThingById = useCallback(
1605
+ (thingOffset, id, thing) =>
1606
+ setExtraThingsById((extraThingsById2) =>
1607
+ objGet(extraThingsById2[thingOffset], id) == thing
1608
+ ? extraThingsById2
1609
+ : arrayWith(extraThingsById2, thingOffset, {
1610
+ ...extraThingsById2[thingOffset],
1611
+ [id]: thing,
1612
+ }),
1582
1613
  ),
1583
1614
  [],
1584
1615
  );
1585
- const delExtraStore = useCallback(
1586
- (id) =>
1587
- setExtraStoresById((extraStoresById2) => ({
1588
- ...objDel(extraStoresById2, id),
1589
- })),
1616
+ const delExtraThingById = useCallback(
1617
+ (thingOffset, id) =>
1618
+ setExtraThingsById((extraThingsById2) =>
1619
+ !objHas(extraThingsById2[thingOffset], id)
1620
+ ? extraThingsById2
1621
+ : arrayWith(
1622
+ extraThingsById2,
1623
+ thingOffset,
1624
+ objDel(extraThingsById2[thingOffset], id),
1625
+ ),
1626
+ ),
1590
1627
  [],
1591
1628
  );
1592
1629
  return /* @__PURE__ */ createElement(
@@ -1595,24 +1632,24 @@ const Provider = ({
1595
1632
  value: useMemo(
1596
1633
  () => [
1597
1634
  store ?? parentValue[0],
1598
- {...parentValue[1], ...storesById, ...extraStoresById},
1635
+ {...parentValue[1], ...storesById, ...extraThingsById[0]},
1599
1636
  metrics ?? parentValue[2],
1600
- {...parentValue[3], ...metricsById},
1637
+ {...parentValue[3], ...metricsById, ...extraThingsById[1]},
1601
1638
  indexes ?? parentValue[4],
1602
- {...parentValue[5], ...indexesById},
1639
+ {...parentValue[5], ...indexesById, ...extraThingsById[2]},
1603
1640
  relationships ?? parentValue[6],
1604
- {...parentValue[7], ...relationshipsById},
1641
+ {...parentValue[7], ...relationshipsById, ...extraThingsById[3]},
1605
1642
  queries ?? parentValue[8],
1606
- {...parentValue[9], ...queriesById},
1643
+ {...parentValue[9], ...queriesById, ...extraThingsById[4]},
1607
1644
  checkpoints ?? parentValue[10],
1608
- {...parentValue[11], ...checkpointsById},
1609
- addExtraStore,
1610
- delExtraStore,
1645
+ {...parentValue[11], ...checkpointsById, ...extraThingsById[5]},
1646
+ addExtraThingById,
1647
+ delExtraThingById,
1611
1648
  ],
1612
1649
  [
1613
1650
  store,
1614
1651
  storesById,
1615
- extraStoresById,
1652
+ extraThingsById,
1616
1653
  metrics,
1617
1654
  metricsById,
1618
1655
  indexes,
@@ -1624,8 +1661,8 @@ const Provider = ({
1624
1661
  checkpoints,
1625
1662
  checkpointsById,
1626
1663
  parentValue,
1627
- addExtraStore,
1628
- delExtraStore,
1664
+ addExtraThingById,
1665
+ delExtraThingById,
1629
1666
  ],
1630
1667
  ),
1631
1668
  },
@@ -1980,6 +2017,11 @@ exports.useMetricListener = useMetricListener;
1980
2017
  exports.useMetrics = useMetrics;
1981
2018
  exports.useMetricsIds = useMetricsIds;
1982
2019
  exports.useMetricsOrMetricsById = useMetricsOrMetricsById;
2020
+ exports.useProvideCheckpoints = useProvideCheckpoints;
2021
+ exports.useProvideIndexes = useProvideIndexes;
2022
+ exports.useProvideMetrics = useProvideMetrics;
2023
+ exports.useProvideQueries = useProvideQueries;
2024
+ exports.useProvideRelationships = useProvideRelationships;
1983
2025
  exports.useProvideStore = useProvideStore;
1984
2026
  exports.useQueries = useQueries;
1985
2027
  exports.useQueriesIds = useQueriesIds;
@@ -3,6 +3,7 @@
3
3
  var React = require('react');
4
4
 
5
5
  const getTypeOf = (thing) => typeof thing;
6
+ const TINYBASE = 'tinybase';
6
7
  const EMPTY_STRING = '';
7
8
  const STRING = getTypeOf(EMPTY_STRING);
8
9
  const FUNCTION = getTypeOf(getTypeOf);
@@ -26,6 +27,7 @@ const VALUE = 'Value';
26
27
  const VALUES = VALUE + 's';
27
28
  const VALUE_IDS = VALUE + IDS;
28
29
 
30
+ const GLOBAL = globalThis;
29
31
  const isUndefined = (thing) => thing == void 0;
30
32
  const ifNotUndefined = (value, then, otherwise) =>
31
33
  isUndefined(value) ? otherwise?.() : then(value);
@@ -42,6 +44,7 @@ const arrayIsEqual = (array1, array2) =>
42
44
  const arrayMap = (array, cb) => array.map(cb);
43
45
  const arrayIsEmpty = (array) => size(array) == 0;
44
46
  const arrayFilter = (array, cb) => array.filter(cb);
47
+ const arrayWith = (array, index, value) => array.with(index, value);
45
48
 
46
49
  const object = Object;
47
50
  const getPrototypeOf = (obj) => object.getPrototypeOf(obj);
@@ -59,6 +62,7 @@ const isObject = (obj) =>
59
62
  );
60
63
  const objIds = object.keys;
61
64
  const objGet = (obj, id) => ifNotUndefined(obj, (obj2) => obj2[id]);
65
+ const objHas = (obj, id) => id in obj;
62
66
  const objDel = (obj, id) => {
63
67
  delete obj[id];
64
68
  return obj;
@@ -77,9 +81,15 @@ const objIsEqual = (obj1, obj2) => {
77
81
  )
78
82
  );
79
83
  };
84
+ const objEnsure = (obj, id, getDefaultValue) => {
85
+ if (!objHas(obj, id)) {
86
+ obj[id] = getDefaultValue();
87
+ }
88
+ return obj[id];
89
+ };
80
90
 
81
91
  const {createContext, useContext: useContext$1, useEffect: useEffect$1} = React;
82
- const Context = createContext([]);
92
+ const Context = objEnsure(GLOBAL, TINYBASE + '_uirc', () => createContext([]));
83
93
  const useThing = (id, offset) => {
84
94
  const contextValue = useContext$1(Context);
85
95
  return isUndefined(id)
@@ -94,32 +104,43 @@ const useThingOrThingById = (thingOrThingId, offset) => {
94
104
  ? thing
95
105
  : thingOrThingId;
96
106
  };
107
+ const useProvideThing = (thingId, thing, offset) => {
108
+ const {12: addExtraThingById, 13: delExtraThingById} = useContext$1(Context);
109
+ useEffect$1(() => {
110
+ addExtraThingById?.(offset, thingId, thing);
111
+ return () => delExtraThingById?.(offset, thingId);
112
+ }, [addExtraThingById, thingId, thing, offset, delExtraThingById]);
113
+ };
97
114
  const useThingIds = (offset) => objIds(useContext$1(Context)[offset] ?? {});
98
115
  const useStore = (id) => useThing(id, 0);
99
116
  const useStoreOrStoreById = (storeOrStoreId) =>
100
117
  useThingOrThingById(storeOrStoreId, 0);
101
- const useProvideStore = (storeId, store) => {
102
- const {12: addExtraStore, 13: delExtraStore} = useContext$1(Context);
103
- useEffect$1(() => {
104
- addExtraStore?.(storeId, store);
105
- return () => delExtraStore?.(storeId);
106
- }, [addExtraStore, storeId, store, delExtraStore]);
107
- };
118
+ const useProvideStore = (storeId, store) => useProvideThing(storeId, store, 0);
108
119
  const useMetrics = (id) => useThing(id, 2);
109
120
  const useMetricsOrMetricsById = (metricsOrMetricsId) =>
110
121
  useThingOrThingById(metricsOrMetricsId, 2);
122
+ const useProvideMetrics = (metricsId, metrics) =>
123
+ useProvideThing(metricsId, metrics, 1);
111
124
  const useIndexes = (id) => useThing(id, 4);
112
125
  const useIndexesOrIndexesById = (indexesOrIndexesId) =>
113
126
  useThingOrThingById(indexesOrIndexesId, 4);
127
+ const useProvideIndexes = (indexesId, indexes) =>
128
+ useProvideThing(indexesId, indexes, 2);
114
129
  const useRelationships = (id) => useThing(id, 6);
115
130
  const useRelationshipsOrRelationshipsById = (relationshipsOrRelationshipsId) =>
116
131
  useThingOrThingById(relationshipsOrRelationshipsId, 6);
132
+ const useProvideRelationships = (relationshipsId, relationships) =>
133
+ useProvideThing(relationshipsId, relationships, 3);
117
134
  const useQueries = (id) => useThing(id, 8);
118
135
  const useQueriesOrQueriesById = (queriesOrQueriesId) =>
119
136
  useThingOrThingById(queriesOrQueriesId, 8);
137
+ const useProvideQueries = (queriesId, queries) =>
138
+ useProvideThing(queriesId, queries, 4);
120
139
  const useCheckpoints = (id) => useThing(id, 10);
121
140
  const useCheckpointsOrCheckpointsById = (checkpointsOrCheckpointsId) =>
122
141
  useThingOrThingById(checkpointsOrCheckpointsId, 10);
142
+ const useProvideCheckpoints = (checkpointsId, checkpoints) =>
143
+ useProvideThing(checkpointsId, checkpoints, 5);
123
144
 
124
145
  const lower = (str) => str.toLowerCase();
125
146
  lower(LISTENER);
@@ -1572,21 +1593,37 @@ const Provider = ({
1572
1593
  children,
1573
1594
  }) => {
1574
1595
  const parentValue = useContext(Context);
1575
- const [extraStoresById, setExtraStoresById] = useState({});
1576
- const addExtraStore = useCallback(
1577
- (id, store2) =>
1578
- setExtraStoresById((extraStoresById2) =>
1579
- objGet(extraStoresById2, id) == store2
1580
- ? extraStoresById2
1581
- : {...extraStoresById2, [id]: store2},
1596
+ const [extraThingsById, setExtraThingsById] = useState([
1597
+ {},
1598
+ {},
1599
+ {},
1600
+ {},
1601
+ {},
1602
+ {},
1603
+ ]);
1604
+ const addExtraThingById = useCallback(
1605
+ (thingOffset, id, thing) =>
1606
+ setExtraThingsById((extraThingsById2) =>
1607
+ objGet(extraThingsById2[thingOffset], id) == thing
1608
+ ? extraThingsById2
1609
+ : arrayWith(extraThingsById2, thingOffset, {
1610
+ ...extraThingsById2[thingOffset],
1611
+ [id]: thing,
1612
+ }),
1582
1613
  ),
1583
1614
  [],
1584
1615
  );
1585
- const delExtraStore = useCallback(
1586
- (id) =>
1587
- setExtraStoresById((extraStoresById2) => ({
1588
- ...objDel(extraStoresById2, id),
1589
- })),
1616
+ const delExtraThingById = useCallback(
1617
+ (thingOffset, id) =>
1618
+ setExtraThingsById((extraThingsById2) =>
1619
+ !objHas(extraThingsById2[thingOffset], id)
1620
+ ? extraThingsById2
1621
+ : arrayWith(
1622
+ extraThingsById2,
1623
+ thingOffset,
1624
+ objDel(extraThingsById2[thingOffset], id),
1625
+ ),
1626
+ ),
1590
1627
  [],
1591
1628
  );
1592
1629
  return /* @__PURE__ */ createElement(
@@ -1595,24 +1632,24 @@ const Provider = ({
1595
1632
  value: useMemo(
1596
1633
  () => [
1597
1634
  store ?? parentValue[0],
1598
- {...parentValue[1], ...storesById, ...extraStoresById},
1635
+ {...parentValue[1], ...storesById, ...extraThingsById[0]},
1599
1636
  metrics ?? parentValue[2],
1600
- {...parentValue[3], ...metricsById},
1637
+ {...parentValue[3], ...metricsById, ...extraThingsById[1]},
1601
1638
  indexes ?? parentValue[4],
1602
- {...parentValue[5], ...indexesById},
1639
+ {...parentValue[5], ...indexesById, ...extraThingsById[2]},
1603
1640
  relationships ?? parentValue[6],
1604
- {...parentValue[7], ...relationshipsById},
1641
+ {...parentValue[7], ...relationshipsById, ...extraThingsById[3]},
1605
1642
  queries ?? parentValue[8],
1606
- {...parentValue[9], ...queriesById},
1643
+ {...parentValue[9], ...queriesById, ...extraThingsById[4]},
1607
1644
  checkpoints ?? parentValue[10],
1608
- {...parentValue[11], ...checkpointsById},
1609
- addExtraStore,
1610
- delExtraStore,
1645
+ {...parentValue[11], ...checkpointsById, ...extraThingsById[5]},
1646
+ addExtraThingById,
1647
+ delExtraThingById,
1611
1648
  ],
1612
1649
  [
1613
1650
  store,
1614
1651
  storesById,
1615
- extraStoresById,
1652
+ extraThingsById,
1616
1653
  metrics,
1617
1654
  metricsById,
1618
1655
  indexes,
@@ -1624,8 +1661,8 @@ const Provider = ({
1624
1661
  checkpoints,
1625
1662
  checkpointsById,
1626
1663
  parentValue,
1627
- addExtraStore,
1628
- delExtraStore,
1664
+ addExtraThingById,
1665
+ delExtraThingById,
1629
1666
  ],
1630
1667
  ),
1631
1668
  },
@@ -1980,6 +2017,11 @@ exports.useMetricListener = useMetricListener;
1980
2017
  exports.useMetrics = useMetrics;
1981
2018
  exports.useMetricsIds = useMetricsIds;
1982
2019
  exports.useMetricsOrMetricsById = useMetricsOrMetricsById;
2020
+ exports.useProvideCheckpoints = useProvideCheckpoints;
2021
+ exports.useProvideIndexes = useProvideIndexes;
2022
+ exports.useProvideMetrics = useProvideMetrics;
2023
+ exports.useProvideQueries = useProvideQueries;
2024
+ exports.useProvideRelationships = useProvideRelationships;
1983
2025
  exports.useProvideStore = useProvideStore;
1984
2026
  exports.useQueries = useQueries;
1985
2027
  exports.useQueriesIds = useQueriesIds;
@@ -158,7 +158,7 @@ const POSITION_VALUE = 'position';
158
158
  const OPEN_VALUE = OPEN_CELL;
159
159
  const EDITABLE_CELL = 'editable';
160
160
  const getUniqueId = (...args) => jsonStringWithMap(args);
161
- const sortedIdsMap = (ids, callback) => arrayMap(arraySort(ids), callback);
161
+ const sortedIdsMap = (ids, callback) => arrayMap(arraySort([...ids]), callback);
162
162
  const useEditable = (uniqueId, s) => [
163
163
  !!uiReact.useCell(STATE_TABLE, uniqueId, EDITABLE_CELL, s),
164
164
  useCallback$1(
@@ -158,7 +158,7 @@ const POSITION_VALUE = 'position';
158
158
  const OPEN_VALUE = OPEN_CELL;
159
159
  const EDITABLE_CELL = 'editable';
160
160
  const getUniqueId = (...args) => jsonStringWithMap(args);
161
- const sortedIdsMap = (ids, callback) => arrayMap(arraySort(ids), callback);
161
+ const sortedIdsMap = (ids, callback) => arrayMap(arraySort([...ids]), callback);
162
162
  const useEditable = (uniqueId, s) => [
163
163
  !!uiReact.useCell(STATE_TABLE, uniqueId, EDITABLE_CELL, s),
164
164
  useCallback$1(