tinybase 4.6.2 → 5.0.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 (280) hide show
  1. package/bin/cli.js +1 -1
  2. package/lib/checkpoints.js +1 -1
  3. package/lib/checkpoints.js.gz +0 -0
  4. package/lib/cjs/checkpoints.cjs +1 -1
  5. package/lib/cjs/checkpoints.cjs.gz +0 -0
  6. package/lib/cjs/indexes.cjs +1 -1
  7. package/lib/cjs/indexes.cjs.gz +0 -0
  8. package/lib/cjs/metrics.cjs +1 -1
  9. package/lib/cjs/metrics.cjs.gz +0 -0
  10. package/lib/cjs/persisters/persister-automerge.cjs +1 -1
  11. package/lib/cjs/persisters/persister-automerge.cjs.gz +0 -0
  12. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  13. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  14. package/lib/cjs/persisters/persister-electric-sql.cjs +1 -1
  15. package/lib/cjs/persisters/persister-electric-sql.cjs.gz +0 -0
  16. package/lib/cjs/persisters/persister-expo-sqlite-next.cjs +1 -1
  17. package/lib/cjs/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  18. package/lib/cjs/persisters/persister-expo-sqlite.cjs +1 -1
  19. package/lib/cjs/persisters/persister-expo-sqlite.cjs.gz +0 -0
  20. package/lib/cjs/persisters/persister-indexed-db.cjs +1 -1
  21. package/lib/cjs/persisters/persister-indexed-db.cjs.gz +0 -0
  22. package/lib/cjs/persisters/persister-partykit-server.cjs +1 -1
  23. package/lib/cjs/persisters/persister-partykit-server.cjs.gz +0 -0
  24. package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -1
  25. package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  26. package/lib/cjs/persisters/persister-sqlite3.cjs +1 -1
  27. package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
  28. package/lib/cjs/persisters/persister-yjs.cjs +1 -1
  29. package/lib/cjs/persisters/persister-yjs.cjs.gz +0 -0
  30. package/lib/cjs/queries.cjs +1 -1
  31. package/lib/cjs/queries.cjs.gz +0 -0
  32. package/lib/cjs/relationships.cjs +1 -1
  33. package/lib/cjs/relationships.cjs.gz +0 -0
  34. package/lib/cjs/store.cjs +1 -1
  35. package/lib/cjs/store.cjs.gz +0 -0
  36. package/lib/cjs/tinybase.cjs +1 -1
  37. package/lib/cjs/tinybase.cjs.gz +0 -0
  38. package/lib/cjs/tools.cjs +1 -1
  39. package/lib/cjs/tools.cjs.gz +0 -0
  40. package/lib/cjs/ui-react-dom-debug.cjs +1 -1
  41. package/lib/cjs/ui-react-dom-debug.cjs.gz +0 -0
  42. package/lib/cjs/ui-react-dom.cjs +1 -1
  43. package/lib/cjs/ui-react-dom.cjs.gz +0 -0
  44. package/lib/cjs/ui-react.cjs +1 -1
  45. package/lib/cjs/ui-react.cjs.gz +0 -0
  46. package/lib/cjs-es6/checkpoints.cjs +1 -1
  47. package/lib/cjs-es6/checkpoints.cjs.gz +0 -0
  48. package/lib/cjs-es6/indexes.cjs +1 -1
  49. package/lib/cjs-es6/indexes.cjs.gz +0 -0
  50. package/lib/cjs-es6/metrics.cjs +1 -1
  51. package/lib/cjs-es6/metrics.cjs.gz +0 -0
  52. package/lib/cjs-es6/persisters/persister-automerge.cjs +1 -1
  53. package/lib/cjs-es6/persisters/persister-automerge.cjs.gz +0 -0
  54. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  55. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  56. package/lib/cjs-es6/persisters/persister-electric-sql.cjs +1 -1
  57. package/lib/cjs-es6/persisters/persister-electric-sql.cjs.gz +0 -0
  58. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs +1 -1
  59. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  60. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs +1 -1
  61. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs.gz +0 -0
  62. package/lib/cjs-es6/persisters/persister-indexed-db.cjs +1 -1
  63. package/lib/cjs-es6/persisters/persister-indexed-db.cjs.gz +0 -0
  64. package/lib/cjs-es6/persisters/persister-partykit-server.cjs +1 -1
  65. package/lib/cjs-es6/persisters/persister-partykit-server.cjs.gz +0 -0
  66. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
  67. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  68. package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
  69. package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
  70. package/lib/cjs-es6/persisters/persister-yjs.cjs +1 -1
  71. package/lib/cjs-es6/persisters/persister-yjs.cjs.gz +0 -0
  72. package/lib/cjs-es6/queries.cjs +1 -1
  73. package/lib/cjs-es6/queries.cjs.gz +0 -0
  74. package/lib/cjs-es6/relationships.cjs +1 -1
  75. package/lib/cjs-es6/relationships.cjs.gz +0 -0
  76. package/lib/cjs-es6/store.cjs +1 -1
  77. package/lib/cjs-es6/store.cjs.gz +0 -0
  78. package/lib/cjs-es6/tinybase.cjs +1 -1
  79. package/lib/cjs-es6/tinybase.cjs.gz +0 -0
  80. package/lib/cjs-es6/tools.cjs +1 -1
  81. package/lib/cjs-es6/tools.cjs.gz +0 -0
  82. package/lib/cjs-es6/ui-react-dom-debug.cjs +1 -1
  83. package/lib/cjs-es6/ui-react-dom-debug.cjs.gz +0 -0
  84. package/lib/cjs-es6/ui-react-dom.cjs +1 -1
  85. package/lib/cjs-es6/ui-react-dom.cjs.gz +0 -0
  86. package/lib/cjs-es6/ui-react.cjs +1 -1
  87. package/lib/cjs-es6/ui-react.cjs.gz +0 -0
  88. package/lib/debug/checkpoints.js +251 -234
  89. package/lib/debug/indexes.js +7 -5
  90. package/lib/debug/metrics.js +7 -5
  91. package/lib/debug/persisters/persister-automerge.js +3 -1
  92. package/lib/debug/persisters/persister-browser.js +1 -0
  93. package/lib/debug/persisters/persister-cr-sqlite-wasm.js +3 -1
  94. package/lib/debug/persisters/persister-electric-sql.js +3 -1
  95. package/lib/debug/persisters/persister-expo-sqlite-next.js +3 -1
  96. package/lib/debug/persisters/persister-expo-sqlite.js +3 -1
  97. package/lib/debug/persisters/persister-file.js +1 -0
  98. package/lib/debug/persisters/persister-indexed-db.js +3 -1
  99. package/lib/debug/persisters/persister-partykit-client.js +1 -0
  100. package/lib/debug/persisters/persister-partykit-server.js +2 -1
  101. package/lib/debug/persisters/persister-remote.js +1 -0
  102. package/lib/debug/persisters/persister-sqlite-wasm.js +3 -1
  103. package/lib/debug/persisters/persister-sqlite3.js +3 -1
  104. package/lib/debug/persisters/persister-yjs.js +3 -1
  105. package/lib/debug/persisters.js +1 -0
  106. package/lib/debug/queries.js +9 -6
  107. package/lib/debug/relationships.js +7 -5
  108. package/lib/debug/store.js +3 -1
  109. package/lib/debug/tinybase.js +254 -235
  110. package/lib/debug/tools.js +10 -6
  111. package/lib/debug/ui-react-dom.js +3 -1
  112. package/lib/debug/ui-react.js +166 -200
  113. package/lib/es6/checkpoints.js +1 -1
  114. package/lib/es6/checkpoints.js.gz +0 -0
  115. package/lib/es6/indexes.js +1 -1
  116. package/lib/es6/indexes.js.gz +0 -0
  117. package/lib/es6/metrics.js +1 -1
  118. package/lib/es6/metrics.js.gz +0 -0
  119. package/lib/es6/persisters/persister-automerge.js +1 -1
  120. package/lib/es6/persisters/persister-automerge.js.gz +0 -0
  121. package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  122. package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  123. package/lib/es6/persisters/persister-electric-sql.js +1 -1
  124. package/lib/es6/persisters/persister-electric-sql.js.gz +0 -0
  125. package/lib/es6/persisters/persister-expo-sqlite-next.js +1 -1
  126. package/lib/es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  127. package/lib/es6/persisters/persister-expo-sqlite.js +1 -1
  128. package/lib/es6/persisters/persister-expo-sqlite.js.gz +0 -0
  129. package/lib/es6/persisters/persister-indexed-db.js +1 -1
  130. package/lib/es6/persisters/persister-indexed-db.js.gz +0 -0
  131. package/lib/es6/persisters/persister-partykit-server.js +1 -1
  132. package/lib/es6/persisters/persister-partykit-server.js.gz +0 -0
  133. package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
  134. package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  135. package/lib/es6/persisters/persister-sqlite3.js +1 -1
  136. package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
  137. package/lib/es6/persisters/persister-yjs.js +1 -1
  138. package/lib/es6/persisters/persister-yjs.js.gz +0 -0
  139. package/lib/es6/queries.js +1 -1
  140. package/lib/es6/queries.js.gz +0 -0
  141. package/lib/es6/relationships.js +1 -1
  142. package/lib/es6/relationships.js.gz +0 -0
  143. package/lib/es6/store.js +1 -1
  144. package/lib/es6/store.js.gz +0 -0
  145. package/lib/es6/tinybase.js +1 -1
  146. package/lib/es6/tinybase.js.gz +0 -0
  147. package/lib/es6/tools.js +1 -1
  148. package/lib/es6/tools.js.gz +0 -0
  149. package/lib/es6/ui-react-dom-debug.js +1 -1
  150. package/lib/es6/ui-react-dom-debug.js.gz +0 -0
  151. package/lib/es6/ui-react-dom.js +1 -1
  152. package/lib/es6/ui-react-dom.js.gz +0 -0
  153. package/lib/es6/ui-react.js +1 -1
  154. package/lib/es6/ui-react.js.gz +0 -0
  155. package/lib/indexes.js +1 -1
  156. package/lib/indexes.js.gz +0 -0
  157. package/lib/metrics.js +1 -1
  158. package/lib/metrics.js.gz +0 -0
  159. package/lib/persisters/persister-automerge.js +1 -1
  160. package/lib/persisters/persister-automerge.js.gz +0 -0
  161. package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
  162. package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  163. package/lib/persisters/persister-electric-sql.js +1 -1
  164. package/lib/persisters/persister-electric-sql.js.gz +0 -0
  165. package/lib/persisters/persister-expo-sqlite-next.js +1 -1
  166. package/lib/persisters/persister-expo-sqlite-next.js.gz +0 -0
  167. package/lib/persisters/persister-expo-sqlite.js +1 -1
  168. package/lib/persisters/persister-expo-sqlite.js.gz +0 -0
  169. package/lib/persisters/persister-indexed-db.js +1 -1
  170. package/lib/persisters/persister-indexed-db.js.gz +0 -0
  171. package/lib/persisters/persister-partykit-server.js +1 -1
  172. package/lib/persisters/persister-partykit-server.js.gz +0 -0
  173. package/lib/persisters/persister-sqlite-wasm.js +1 -1
  174. package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
  175. package/lib/persisters/persister-sqlite3.js +1 -1
  176. package/lib/persisters/persister-sqlite3.js.gz +0 -0
  177. package/lib/persisters/persister-yjs.js +1 -1
  178. package/lib/persisters/persister-yjs.js.gz +0 -0
  179. package/lib/queries.js +1 -1
  180. package/lib/queries.js.gz +0 -0
  181. package/lib/relationships.js +1 -1
  182. package/lib/relationships.js.gz +0 -0
  183. package/lib/store.js +1 -1
  184. package/lib/store.js.gz +0 -0
  185. package/lib/tinybase.js +1 -1
  186. package/lib/tinybase.js.gz +0 -0
  187. package/lib/tools.js +1 -1
  188. package/lib/tools.js.gz +0 -0
  189. package/lib/types/ui-react.d.ts +77 -88
  190. package/lib/types/with-schemas/ui-react.d.ts +84 -95
  191. package/lib/ui-react-dom.js +1 -1
  192. package/lib/ui-react-dom.js.gz +0 -0
  193. package/lib/ui-react.js +1 -1
  194. package/lib/ui-react.js.gz +0 -0
  195. package/lib/umd/checkpoints.js +1 -1
  196. package/lib/umd/checkpoints.js.gz +0 -0
  197. package/lib/umd/indexes.js +1 -1
  198. package/lib/umd/indexes.js.gz +0 -0
  199. package/lib/umd/metrics.js +1 -1
  200. package/lib/umd/metrics.js.gz +0 -0
  201. package/lib/umd/persisters/persister-automerge.js +1 -1
  202. package/lib/umd/persisters/persister-automerge.js.gz +0 -0
  203. package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
  204. package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  205. package/lib/umd/persisters/persister-electric-sql.js +1 -1
  206. package/lib/umd/persisters/persister-electric-sql.js.gz +0 -0
  207. package/lib/umd/persisters/persister-expo-sqlite-next.js +1 -1
  208. package/lib/umd/persisters/persister-expo-sqlite-next.js.gz +0 -0
  209. package/lib/umd/persisters/persister-expo-sqlite.js +1 -1
  210. package/lib/umd/persisters/persister-expo-sqlite.js.gz +0 -0
  211. package/lib/umd/persisters/persister-indexed-db.js +1 -1
  212. package/lib/umd/persisters/persister-indexed-db.js.gz +0 -0
  213. package/lib/umd/persisters/persister-partykit-server.js +1 -1
  214. package/lib/umd/persisters/persister-partykit-server.js.gz +0 -0
  215. package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
  216. package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
  217. package/lib/umd/persisters/persister-sqlite3.js +1 -1
  218. package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
  219. package/lib/umd/persisters/persister-yjs.js +1 -1
  220. package/lib/umd/persisters/persister-yjs.js.gz +0 -0
  221. package/lib/umd/queries.js +1 -1
  222. package/lib/umd/queries.js.gz +0 -0
  223. package/lib/umd/relationships.js +1 -1
  224. package/lib/umd/relationships.js.gz +0 -0
  225. package/lib/umd/store.js +1 -1
  226. package/lib/umd/store.js.gz +0 -0
  227. package/lib/umd/tinybase.js +1 -1
  228. package/lib/umd/tinybase.js.gz +0 -0
  229. package/lib/umd/tools.js +1 -1
  230. package/lib/umd/tools.js.gz +0 -0
  231. package/lib/umd/ui-react-dom-debug.js +1 -1
  232. package/lib/umd/ui-react-dom-debug.js.gz +0 -0
  233. package/lib/umd/ui-react-dom.js +1 -1
  234. package/lib/umd/ui-react-dom.js.gz +0 -0
  235. package/lib/umd/ui-react.js +1 -1
  236. package/lib/umd/ui-react.js.gz +0 -0
  237. package/lib/umd-es6/checkpoints.js +1 -1
  238. package/lib/umd-es6/checkpoints.js.gz +0 -0
  239. package/lib/umd-es6/indexes.js +1 -1
  240. package/lib/umd-es6/indexes.js.gz +0 -0
  241. package/lib/umd-es6/metrics.js +1 -1
  242. package/lib/umd-es6/metrics.js.gz +0 -0
  243. package/lib/umd-es6/persisters/persister-automerge.js +1 -1
  244. package/lib/umd-es6/persisters/persister-automerge.js.gz +0 -0
  245. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  246. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  247. package/lib/umd-es6/persisters/persister-electric-sql.js +1 -1
  248. package/lib/umd-es6/persisters/persister-electric-sql.js.gz +0 -0
  249. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js +1 -1
  250. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  251. package/lib/umd-es6/persisters/persister-expo-sqlite.js +1 -1
  252. package/lib/umd-es6/persisters/persister-expo-sqlite.js.gz +0 -0
  253. package/lib/umd-es6/persisters/persister-indexed-db.js +1 -1
  254. package/lib/umd-es6/persisters/persister-indexed-db.js.gz +0 -0
  255. package/lib/umd-es6/persisters/persister-partykit-server.js +1 -1
  256. package/lib/umd-es6/persisters/persister-partykit-server.js.gz +0 -0
  257. package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
  258. package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  259. package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
  260. package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
  261. package/lib/umd-es6/persisters/persister-yjs.js +1 -1
  262. package/lib/umd-es6/persisters/persister-yjs.js.gz +0 -0
  263. package/lib/umd-es6/queries.js +1 -1
  264. package/lib/umd-es6/queries.js.gz +0 -0
  265. package/lib/umd-es6/relationships.js +1 -1
  266. package/lib/umd-es6/relationships.js.gz +0 -0
  267. package/lib/umd-es6/store.js +1 -1
  268. package/lib/umd-es6/store.js.gz +0 -0
  269. package/lib/umd-es6/tinybase.js +1 -1
  270. package/lib/umd-es6/tinybase.js.gz +0 -0
  271. package/lib/umd-es6/tools.js +1 -1
  272. package/lib/umd-es6/tools.js.gz +0 -0
  273. package/lib/umd-es6/ui-react-dom-debug.js +1 -1
  274. package/lib/umd-es6/ui-react-dom-debug.js.gz +0 -0
  275. package/lib/umd-es6/ui-react-dom.js +1 -1
  276. package/lib/umd-es6/ui-react-dom.js.gz +0 -0
  277. package/lib/umd-es6/ui-react.js +1 -1
  278. package/lib/umd-es6/ui-react.js.gz +0 -0
  279. package/package.json +4 -4
  280. package/readme.md +13 -13
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,s="",n=t(s),a=t(!0),o=t(0),r=t(t),i="type",l="default",c="Listener",d="Result",u="add",h="Has",g="Ids",f="Table",L=f+"s",w=f+g,v="Row",I=v+"Count",S=v+g,y="Sorted"+v+g,T="Cell",R=T+g,p="Value",C=p+"s",b=p+g,m=e=>s+e,V=Math.max,E=Math.min,k=isFinite,M=e=>null==e,x=(e,t,s)=>M(e)?s?.():t(e),D=e=>e==n||e==a,J=e=>t(e)==r,A=e=>Array.isArray(e),F=(e,t,s)=>e.slice(t,s),Q=e=>e.length,z=()=>{},N=(e,t)=>e.includes(t),O=(e,t)=>e.every(t),P=(e,t)=>Q(e)===Q(t)&&O(e,((e,s)=>t[s]===e)),j=(e,t)=>O(e,((s,n)=>0==n||t(e[n-1],s)<=0)),B=(e,t)=>e.sort(t),W=(e,t)=>e.forEach(t),H=(e,t)=>e.map(t),$=e=>G(e,((e,t)=>e+t),0),q=e=>0==Q(e),G=(e,t,s)=>e.reduce(t,s),K=(e,...t)=>e.push(...t),U=e=>e.pop(),X=e=>e.shift(),Y=Object,Z=e=>Y.getPrototypeOf(e),_=Y.keys,ee=Y.isFrozen,te=Y.freeze,se=e=>!M(e)&&x(Z(e),(e=>e==Y.prototype||M(Z(e))),(()=>!0)),ne=(e,t)=>!M(((e,t)=>x(e,(e=>e[t])))(e,t)),ae=(e,t)=>(delete e[t],e),oe=(e,t)=>H(Y.entries(e),(([e,s])=>t(s,e))),re=e=>se(e)&&0==(e=>Q(_(e)))(e),ie=e=>e?.size??0,le=(e,t)=>e?.has(t)??!1,ce=e=>M(e)||0==ie(e),de=e=>[...e?.values()??[]],ue=e=>e.clear(),he=(e,t)=>e?.forEach(t),ge=(e,t)=>e?.delete(t),fe=e=>new Map(e),Le=e=>[...e?.keys()??[]],we=(e,t)=>e?.get(t),ve=(e,t)=>he(e,((e,s)=>t(s,e))),Ie=(e,t,s)=>M(s)?(ge(e,t),e):e?.set(t,s),Se=(e,t,s)=>(le(e,t)||Ie(e,t,s()),we(e,t)),ye=(e,t,s,n=Ie)=>(oe(t,((t,n)=>s(e,n,t))),ve(e,(s=>ne(t,s)?0:n(e,s))),e),Te=(e,t,s)=>{const n={};return he(e,((e,a)=>{const o=t?t(e,a):e;!s?.(o,e)&&(n[a]=o)})),n},Re=(e,t,s)=>Te(e,(e=>Te(e,t,s)),re),pe=(e,t,s)=>Te(e,(e=>Re(e,t,s)),re),Ce=(e,t)=>{const s=fe();return he(e,((e,n)=>s.set(n,t?.(e)??e))),s},be=e=>Ce(e,Ce),me=e=>Ce(e,be),Ve=(e,t,s,n,a=0)=>x((s?Se:we)(e,t[a],a>Q(t)-2?s:fe),(o=>{if(a>Q(t)-2)return n?.(o)&&Ie(e,t[a]),o;const r=Ve(o,t,s,n,a+1);return ce(o)&&Ie(e,t[a]),r})),Ee=e=>{const s=t(e);return D(s)||s==o&&k(e)?s:void 0},ke=(e,t,s,n,a)=>M(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),Me=(e,t,s)=>M(s)?e.delValue(t):e.setValue(t,s),xe=e=>new Set(A(e)||M(e)?e:[e]),De=(e,t)=>e?.add(t),Je=(e,t,s,n,a)=>{const o=e.hasRow,r=fe(),i=fe(),l=fe(),c=fe(),d=fe(),u=fe(),h=(t,s,...n)=>{const a=Se(u,t,xe);return W(n,(t=>De(a,t)&&s&&e.callListener(t))),n},g=(t,...s)=>x(we(u,t),(n=>{W(q(s)?de(n):s,(t=>{e.delListener(t),ge(n,t)})),ce(n)&&Ie(u,t)})),f=(e,s)=>{Ie(r,e,s),le(i,e)||(Ie(i,e,t()),Ie(c,e,fe()),Ie(d,e,fe()),a(l))},L=e=>{Ie(r,e),Ie(i,e),Ie(c,e),Ie(d,e),g(e),a(l)};return[()=>e,()=>Le(r),e=>ve(i,e),e=>le(i,e),e=>we(r,e),e=>we(i,e),(e,t)=>Ie(i,e,t),f,(t,n,a,r,i)=>{f(t,n);const l=fe(),u=fe(),L=we(c,t),w=we(d,t),v=t=>{const a=s=>e.getCell(n,t,s),c=we(L,t),d=o(n,t)?s(r(a,t)):void 0;if(c===d||A(c)&&A(d)&&P(c,d)||Ie(l,t,[c,d]),!M(i)){const e=we(w,t),s=o(n,t)?i(a,t):void 0;e!=s&&Ie(u,t,s)}},I=e=>{a((()=>{he(l,(([,e],t)=>Ie(L,t,e))),he(u,((e,t)=>Ie(w,t,e)))}),l,u,L,w,e),ue(l),ue(u)};ve(L,v),e.hasTable(n)&&W(e.getRowIds(n),(e=>{le(L,e)||v(e)})),I(!0),g(t),h(t,0,e.addRowListener(n,null,((e,t,s)=>v(s))),e.addTableListener(n,(()=>I())))},L,e=>n(e,l),()=>ve(u,L),h,g]},Ae=(e,a)=>t(e)==n?t=>t(e):e??(()=>a??s),Fe=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},Qe=/^\d+$/,ze=()=>{const e=[];let t=0;return[n=>(n?X(e):null)??s+t++,t=>{Qe.test(t)&&Q(e)<1e3&&K(e,t)}]},Ne=e=>{let t;const[n,a]=ze(),o=fe();return[(a,r,i,l=[],c=(()=>[]))=>{t??=e();const d=n(1);return Ie(o,d,[a,r,i,l,c]),De(Ve(r,i??[s],xe),d),d},(e,n,...a)=>W(((e,t=[s])=>{const n=[],a=(e,s)=>s==Q(t)?K(n,e):null===t[s]?he(e,(e=>a(e,s+1))):W([t[s],null],(t=>a(we(e,t),s+1)));return a(e,0),n})(e,n),(e=>he(e,(e=>we(o,e)[0](t,...n??[],...a))))),e=>x(we(o,e),(([,t,n])=>(Ve(t,n??[s],void 0,(t=>(ge(t,e),ce(t)?1:0))),Ie(o,e),a(e),n))),e=>x(we(o,e),(([e,,s=[],n,a])=>{const o=(...r)=>{const i=Q(r);i==Q(s)?e(t,...r,...a(r)):M(s[i])?W(n[i]?.(...r)??[],(e=>o(...r,e))):o(...r,s[i])};o()}))]},Oe=Fe((e=>{let t,n,a,o=100,r=fe(),i=fe(),l=1;const c=fe(),d=fe(),[u,h,g]=Ne((()=>F)),f=fe(),L=fe(),w=[],v=[],I=(t,s)=>{l=0,e.transaction((()=>{const[n,a]=we(f,s);he(n,((s,n)=>he(s,((s,a)=>he(s,((s,o)=>ke(e,n,a,o,s[t]))))))),he(a,((s,n)=>Me(e,n,s[t])))})),l=1},S=e=>{Ie(f,e),Ie(L,e),h(d,[e])},y=(e,t)=>W(((e,t)=>e.splice(0,t))(e,t??Q(e)),S),T=()=>y(w,Q(w)-o),R=()=>x(t,(()=>{K(w,t),T(),y(v),t=void 0,a=1})),p=()=>{t=U(w),a=1},C=e.addCellListener(null,null,null,((e,t,s,n,a,o)=>{if(l){R();const e=Se(r,t,fe),i=Se(e,s,fe),l=Se(i,n,(()=>[o,void 0]));l[1]=a,l[0]===a&&ce(Ie(i,n))&&ce(Ie(e,s))&&ce(Ie(r,t))&&p(),k()}})),b=e.addValueListener(null,((e,t,s,n)=>{if(l){R();const e=Se(i,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&ce(Ie(i,t))&&p(),k()}})),m=(e="")=>(M(t)&&(t=s+n++,Ie(f,t,[r,i]),J(t,e),r=fe(),i=fe(),a=1),t),V=()=>{q(w)||(((e,...t)=>{e.unshift(...t)})(v,m()),I(0,t),t=U(w),a=1)},E=()=>{q(v)||(K(w,t),t=X(v),I(1,t),a=1)},k=()=>{a&&(h(c),a=0)},D=e=>{const t=m(e);return k(),t},J=(e,t)=>(A(e)&&we(L,e)!==t&&(Ie(L,e,t),h(d,[e])),F),A=e=>le(f,e),F={setSize:e=>(o=e,T(),F),addCheckpoint:D,setCheckpoint:J,getStore:()=>e,getCheckpointIds:()=>[[...w],t,[...v]],forEachCheckpoint:e=>ve(L,e),hasCheckpoint:A,getCheckpoint:e=>we(L,e),goBackward:()=>(V(),k(),F),goForward:()=>(E(),k(),F),goTo:e=>{const s=N(w,e)?V:N(v,e)?E:null;for(;!M(s)&&e!=t;)s();return k(),F},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(g(e),F),clear:()=>(y(w),y(v),M(t)||S(t),t=void 0,n=0,D(),F),clearForward:()=>(q(v)||(y(v),h(c)),F),destroy:()=>{e.delListener(C),e.delListener(b)},getListenerStats:()=>({})};return te(F.clear())})),Pe=(e,t)=>(e??0)<(t??0)?-1:1,je=Fe((e=>{const t=fe(),n=fe(),[a,o,r]=Ne((()=>S)),[i,l,c,d,u,h,g,,f,L,w,v]=Je(e,fe,(e=>M(e)?s:A(e)?H(e,m):m(e)),a,o),I=(t,s,n)=>{const a=u(t);he(n,((t,n)=>s(n,(s=>he(t,(t=>s(t,(s=>e.forEachCell(a,t,s)))))))))},S={setIndexDefinition:(e,s,a,r,i,l=Pe)=>{const c=M(i)?void 0:([e],[t])=>i(e,t);return f(e,s,((s,a,i,d,u,f)=>{let L=0;const w=xe(),v=xe(),I=h(e);if(he(a,(([e,t],s)=>{const n=xe(e),a=xe(t);he(n,(e=>ge(a,e)?ge(n,e):0)),he(n,(e=>{De(w,e),x(we(I,e),(t=>{ge(t,s),ce(t)&&(Ie(I,e),L=1)}))})),he(a,(e=>{De(w,e),le(I,e)||(Ie(I,e,xe()),L=1),De(we(I,e),s),M(r)||De(v,e)}))})),s(),ce(u)||(f?ve(I,(e=>De(v,e))):ve(i,(e=>x(we(d,e),(e=>De(v,e))))),he(v,(e=>{const t=(t,s)=>l(we(u,t),we(u,s),e),s=[...we(I,e)];j(s,t)||(Ie(I,e,xe(B(s,t))),De(w,e))}))),(L||f)&&!M(c)){const t=[...I];j(t,c)||(g(e,fe(B(t,c))),L=1)}L&&o(t,[e]),he(w,(t=>o(n,[e,t])))}),Ae(a),x(r,Ae)),S},delIndexDefinition:e=>(L(e),S),getStore:i,getIndexIds:l,forEachIndex:e=>c(((t,s)=>e(t,(e=>I(t,e,s))))),forEachSlice:(e,t)=>I(e,t,h(e)),hasIndex:d,hasSlice:(e,t)=>le(h(e),t),getTableId:u,getSliceIds:e=>Le(h(e)),getSliceRowIds:(e,t)=>de(we(h(e),t)),addIndexIdsListener:w,addSliceIdsListener:(e,s)=>a(s,t,[e]),addSliceRowIdsListener:(e,t,s)=>a(s,n,[e,t]),delListener:e=>(r(e),S),destroy:v,getListenerStats:()=>({})};return te(S)})),Be=fe([["avg",[(e,t)=>$(e)/t,(e,t,s)=>e+(t-e)/(s+1),(e,t,s)=>e+(e-t)/(s-1),(e,t,s,n)=>e+(t-s)/n]],["max",[e=>V(...e),(e,t)=>V(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:V(t,e)]],["min",[e=>E(...e),(e,t)=>E(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:E(t,e)]],["sum",[e=>$(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),We=(e,t,s,n,a,o=!1)=>{if(ce(s))return;const[r,i,l,c]=a;return o||=M(e),he(n,(([s,n])=>{o||(e=M(s)?i?.(e,n,t++):M(n)?l?.(e,s,t--):c?.(e,n,s,t),o||=M(e))})),o?r(de(s),ie(s)):e},He=Fe((e=>{const t=fe(),[n,a,o]=Ne((()=>v)),[r,i,l,c,d,u,h,,g,f,L,w]=Je(e,z,(e=>isNaN(e)||M(e)||!0===e||!1===e||e===s?void 0:1*e),n,a),v={setMetricDefinition:(e,s,n,o,r,i,l)=>{const c=J(n)?[n,r,i,l]:we(Be,n)??we(Be,"sum");return g(e,s,((s,n,o,r,i,l)=>{const d=u(e),g=ie(r);l||=M(d),s();let f=We(d,g,r,n,c,l);k(f)||(f=void 0),f!=d&&(h(e,f),a(t,[e],f,d))}),Ae(o,1)),v},delMetricDefinition:e=>(f(e),v),getStore:r,getMetricIds:i,forEachMetric:l,hasMetric:c,getTableId:d,getMetric:u,addMetricIdsListener:L,addMetricListener:(e,s)=>n(s,t,[e]),delListener:e=>(o(e),v),destroy:w,getListenerStats:()=>({})};return te(v)})),$e=fe(),qe=fe(),Ge=Fe((e=>{const t=e.createStore,n=t(),a=t(),o=fe(),{addListener:r,callListeners:i,delListener:l}=a,[h,g,L,w,p,,,C,,b,m,V,E,k]=Je(e,(()=>!0),z,r,i),D=(e,t,...s)=>W(s,(s=>De(Se(Se(o,t,fe),e,xe),s))),A=e=>{x(we(o,e),(e=>{ve(e,((e,t)=>he(t,(t=>e.delListener(t))))),ue(e)})),W([a,n],(t=>t.delTable(e)))},N=(e,t,s)=>D(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),P={setQueryDefinition:(t,o,r)=>{C(t,o),A(t);const i=[],l=[[null,[o,null,null,[],fe()]]],c=[],d=[],u=[];r({select:(e,t)=>{const n=J(e)?[Q(i)+s,e]:[M(t)?e:t,s=>s(e,t)];return K(i,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=M(s)||J(t)?null:t,a=M(n)?t:s,o=[e,[e,n,J(a)?a:e=>e(a),[],fe()]];return K(l,o),{as:e=>o[0]=e}},where:(e,t,s)=>K(c,J(e)?e:M(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,a)=>{const o=[e,[e,J(t)?[t,s,n,a]:we(Be,t)??[(e,t)=>t]]];return K(d,o),{as:e=>o[0]=e}},having:(e,t)=>K(u,J(e)?e:s=>s(e)===t)});const h=fe(i);if(ce(h))return P;const g=fe(l);ve(g,((e,[,t])=>x(we(g,t),(({3:t})=>M(e)?0:K(t,e)))));const f=fe(d);let L=n;if(ce(f)&&q(u))L=a;else{N(t,L,a);const e=fe();ve(f,((t,[s,n])=>De(Se(e,s,xe),[t,n])));const s=xe();ve(h,(t=>le(e,t)?0:De(s,t)));const n=fe(),o=(s,n,o,r)=>x(s,(([i,l,c,d])=>{ve(n,((t,[s])=>{const n=Se(i,t,fe),a=we(n,o),l=r?void 0:s;if(a!==l){const s=xe([[a,l]]),r=ie(n);Ie(n,o,l),he(we(e,t),(([e,t])=>{const a=We(d[e],r,n,s,t);d[e]=M(Ee(a))?null:a}))}})),ce(l)||!O(u,(e=>e((e=>d[e]))))?a.delRow(t,c):M(c)?s[2]=a.addRow(t,d):a.setRow(t,c,d)}));D(L,t,L.addRowListener(t,null,((a,r,i,l)=>{const c=[],d=[],u=fe(),h=L.hasRow(t,i);let g=!h;he(s,(e=>{const[s,n,a]=l(t,i,e);K(c,n),K(d,a),g||=s})),ve(e,(e=>{const[s,,n]=l(t,i,e);(g||s)&&Ie(u,e,[n])})),g&&o(Ve(n,c,void 0,(([,e])=>(ge(e,i),ce(e)))),u,i,1),h&&o(Ve(n,d,(()=>{const e={};return he(s,(s=>e[s]=L.getCell(t,i,s))),[fe(),xe(),void 0,e]}),(([,e])=>{De(e,i)})),u,i)})))}N(t,e,L);const w=(s,n,a,r)=>{const i=t=>e.getCell(n,a,t);W(r,(n=>{const[a,,o,r,l]=we(g,n),c=o?.(i,s),[d,u]=we(l,s)??[];c!=d&&(M(u)||k(t,u),Ie(l,s,M(c)?null:[c,...E(t,1,e.addRowListener(a,c,(()=>w(s,a,c,r))))]))})),(s=>{const n=(t,n)=>e.getCell(...M(n)?[o,s,t]:t===o?[o,s,n]:[we(g,t)?.[0],we(we(g,t)?.[4],s)?.[0],n]);L.transaction((()=>O(c,(e=>e(n)))?ve(h,((e,a)=>ke(L,t,s,e,a(n,s)))):L.delRow(t,s)))})(s)},{3:v}=we(g,null);return L.transaction((()=>E(t,1,e.addRowListener(o,null,((s,n,a)=>{e.hasRow(o,a)?w(a,o,a,v):(L.delRow(t,a),he(g,(({4:e})=>x(we(e,a),(([,s])=>{k(t,s),Ie(e,a)})))))}))))),P},delQueryDefinition:e=>(A(e),b(e),P),getStore:h,getQueryIds:g,forEachQuery:L,hasQuery:w,getTableId:p,addQueryIdsListener:e=>m((()=>e(P))),delListener:e=>(l(e),P),destroy:V,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=a.getListenerStats();return n}};return oe({[f]:[1,1],[f+R]:[0,1],[I]:[0,1],[S]:[0,1],[y]:[0,5],[v]:[1,2],[R]:[0,2],[T]:[1,3]},(([e,t],s)=>{W(e?["get","has","forEach"]:["get"],(e=>P[e+d+s]=(...t)=>a[e+s](...t))),P[u+d+s+c]=(...e)=>a[u+s+c](...F(e,0,t),((s,...n)=>e[t](P,...n)),!0)})),te(P)})),Ke=Fe((e=>{const t=fe(),n=fe(),a=fe(),o=fe(),[r,i,l]=Ne((()=>R)),[c,d,u,h,g,f,,,L,w,v,I]=Je(e,(()=>[fe(),fe(),fe(),fe()]),(e=>M(e)?void 0:e+s),r,i),S=(e,t,s)=>x(f(e),(([n,,a])=>{if(!le(a,t)){const o=xe();if(g(e)!=T(e))De(o,t);else{let e=t;for(;!M(e)&&!le(o,e);)De(o,e),e=we(n,e)}if(s)return o;Ie(a,t,o)}return we(a,t)})),y=(e,t)=>x(f(e),(([,,e])=>Ie(e,t))),T=e=>we(t,e),R={setRelationshipDefinition:(e,s,r,l)=>(Ie(t,e,r),L(e,s,((t,s)=>{const r=xe(),l=xe(),c=xe(),[d,u]=f(e);he(s,(([t,s],n)=>{M(t)||(De(l,t),x(we(u,t),(e=>{ge(e,n),ce(e)&&Ie(u,t)}))),M(s)||(De(l,s),le(u,s)||Ie(u,s,xe()),De(we(u,s),n)),De(r,n),Ie(d,n,s),ve(we(o,e),(t=>{le(S(e,t),n)&&De(c,t)}))})),t(),he(r,(t=>i(n,[e,t]))),he(l,(t=>i(a,[e,t]))),he(c,(t=>{y(e,t),i(o,[e,t])}))}),Ae(l)),R),delRelationshipDefinition:e=>(Ie(t,e),w(e),R),getStore:c,getRelationshipIds:d,forEachRelationship:t=>u((s=>t(s,(t=>e.forEachRow(g(s),t))))),hasRelationship:h,getLocalTableId:g,getRemoteTableId:T,getRemoteRowId:(e,t)=>we(f(e)?.[0],t),getLocalRowIds:(e,t)=>de(we(f(e)?.[1],t)),getLinkedRowIds:(e,t)=>M(f(e))?[t]:de(S(e,t,!0)),addRelationshipIdsListener:v,addRemoteRowIdListener:(e,t,s)=>r(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>r(s,a,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(S(e,t),r(s,o,[e,t])),delListener:e=>(y(...l(e)??[]),R),destroy:I,getListenerStats:()=>({})};return te(R)})),Ue=e=>[e,e],Xe=()=>[fe(),fe()],Ye=e=>[...e],Ze=([e,t])=>e===t,_e=e=>JSON.stringify(e,((e,t)=>t instanceof Map?Y.fromEntries([...t]):t)),et=JSON.parse,tt=(e,t,s)=>M(e)||!se(e)||re(e)||ee(e)?(s?.(),!1):(oe(e,((s,n)=>{t(s,n)||ae(e,n)})),!re(e)),st=(e,t,s)=>Ie(e,t,we(e,t)==-s?void 0:s),nt=()=>{let e,t,s=!1,n=!1,a=!1,r=!1,d=0;const g=fe(),y=fe(),V=fe(),E=fe(),k=fe(),A=fe(),Q=fe(),z=fe(),O=fe(),j=fe(),$=fe(),q=fe(),G=fe(),U=fe(),X=xe(),Y=fe(),Z=fe(),_=fe(),ee=fe(),se=Xe(),de=Xe(),Ve=Xe(),Je=Xe(),Ae=Xe(),Fe=Xe(),Qe=Xe(),Oe=Xe(),je=Xe(),Be=Xe(),We=Xe(),He=Xe(),$e=Xe(),qe=Xe(),Ge=Xe(),Ke=Xe(),at=Xe(),ot=Xe(),rt=Xe(),it=Xe(),lt=Xe(),ct=Xe(),dt=fe(),ut=Xe(),[ht,gt,ft,Lt]=Ne((()=>zs)),wt=e=>{if(!tt(e,((e,t)=>N([i,l],t))))return!1;const t=e[i];return!(!D(t)&&t!=o||(Ee(e[l])!=t&&ae(e,l),0))},vt=(t,s)=>(!e||le($,s)||Gt(s))&&tt(t,((e,t)=>It(s,t,e)),(()=>Gt(s))),It=(e,t,s,n)=>tt(n?s:Rt(s,e,t),((n,a)=>x(St(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>Gt(e,t))),St=(t,s,n,a)=>e?x(we(we($,t),n),(e=>Ee(a)!=e[i]?Gt(t,s,n,a,e[l]):a),(()=>Gt(t,s,n,a))):M(Ee(a))?Gt(t,s,n,a):a,yt=(e,t)=>tt(t?e:pt(e),((t,s)=>x(Tt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Kt())),Tt=(e,s)=>t?x(we(G,e),(t=>Ee(s)!=t[i]?Kt(e,s,t[l]):s),(()=>Kt(e,s))):M(Ee(s))?Kt(e,s):s,Rt=(e,t,s)=>(x(we(q,t),(([n,a])=>{he(n,((t,s)=>{ne(e,s)||(e[s]=t)})),he(a,(n=>{ne(e,n)||Gt(t,s,n)}))})),e),pt=e=>(t&&(he(U,((t,s)=>{ne(e,s)||(e[s]=t)})),he(X,(t=>{ne(e,t)||Kt(t)}))),e),Ct=e=>ye($,e,((e,t,s)=>{const n=fe(),a=xe();ye(Se($,t,fe),s,((e,t,s)=>{Ie(e,t,s),x(s[l],(e=>Ie(n,t,e)),(()=>De(a,t)))})),Ie(q,t,[n,a])}),((e,t)=>{Ie($,t),Ie(q,t)})),bt=e=>ye(G,e,((e,t,s)=>{Ie(G,t,s),x(s[l],(e=>Ie(U,t,e)),(()=>De(X,t)))}),((e,t)=>{Ie(G,t),Ie(U,t),ge(X,t)})),mt=e=>re(e)?Es():ps(e),Vt=e=>ye(_,e,((e,t,s)=>Et(t,s)),((e,t)=>zt(t))),Et=(e,t)=>ye(Se(_,e,(()=>(jt(e,1),Ie(Y,e,ze()),Ie(Z,e,fe()),fe()))),t,((t,s,n)=>kt(e,t,s,n)),((t,s)=>Nt(e,t,s))),kt=(e,t,s,n,a)=>ye(Se(t,s,(()=>(Bt(e,s,1),fe()))),n,((t,n,a)=>Mt(e,s,t,n,a)),((n,o)=>Ot(e,t,s,n,o,a))),Mt=(e,t,s,n,a)=>{le(s,n)||Wt(e,t,n,1);const o=we(s,n);a!==o&&(Ht(e,t,n,o,a),Ie(s,n,a))},xt=(e,t,s,n,a)=>x(we(t,s),(t=>Mt(e,s,t,n,a)),(()=>kt(e,t,s,Rt({[n]:a},e,s)))),Dt=e=>re(e)?xs():Cs(e),Jt=e=>ye(ee,e,((e,t,s)=>At(t,s)),((e,t)=>Pt(t))),At=(e,t)=>{le(ee,e)||$t(e,1);const s=we(ee,e);t!==s&&(qt(e,s,t),Ie(ee,e,t))},Ft=(e,t)=>{const[s]=we(Y,e),n=s(t);return le(we(_,e),n)?Ft(e,t):n},Qt=e=>we(_,e)??Et(e,{}),zt=e=>Et(e,{}),Nt=(e,t,s)=>{const[,n]=we(Y,e);n(s),kt(e,t,s,{},!0)},Ot=(e,t,s,n,a,o)=>{const r=we(we(q,e)?.[0],a);if(!M(r)&&!o)return Mt(e,s,n,a,r);const i=t=>{Ht(e,s,t,we(n,t)),Wt(e,s,t,-1),Ie(n,t)};M(r)?i(a):ve(n,i),ce(n)&&(Bt(e,s,-1),ce(Ie(t,s))&&(jt(e,-1),Ie(_,e),Ie(Y,e),Ie(Z,e)))},Pt=e=>{const t=we(U,e);if(!M(t))return At(e,t);qt(e,we(ee,e)),$t(e,-1),Ie(ee,e)},jt=(e,t)=>st(g,e,t),Bt=(e,t,s)=>st(Se(E,e,fe),t,s)&&Ie(V,e,Se(V,e,(()=>0))+s),Wt=(e,t,s,n)=>{const a=we(Z,e),o=we(a,s)??0;(0==o&&1==n||1==o&&-1==n)&&st(Se(y,e,fe),s,n),Ie(a,s,o!=-n?o+n:null),st(Se(Se(k,e,fe),t,fe),s,n)},Ht=(e,t,s,n,a)=>Se(Se(Se(A,e,fe),t,fe),s,(()=>[n,0]))[1]=a,$t=(e,t)=>st(Q,e,t),qt=(e,t,s)=>Se(z,e,(()=>[t,0]))[1]=s,Gt=(e,t,s,n,a)=>(K(Se(Se(Se(O,e,fe),t,fe),s,(()=>[])),n),a),Kt=(e,t,s)=>(K(Se(j,e,(()=>[])),t),s),Ut=(e,t,s)=>x(we(we(we(A,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Ue(hs(e,t,s))])),Xt=e=>x(we(z,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ue(Ls(e))])),Yt=e=>ce(O)||ce(Ke[e])?0:he(e?me(O):O,((t,s)=>he(t,((t,n)=>he(t,((t,a)=>gt(Ke[e],[s,n,a],t))))))),Zt=e=>ce(j)||ce(at[e])?0:he(e?Ce(j):j,((t,s)=>gt(at[e],[s],t))),_t=(e,t,s,n)=>{if(!ce(e))return gt(t,n,(()=>Te(e))),ve(e,((e,t)=>gt(s,[...n??[],e],1==t))),1},es=e=>{const t=ws();t!=a&&gt(se[e],void 0,t);const s=ce(Be[e]),n=ce($e[e])&&ce(qe[e])&&ce(je[e])&&ce(We[e])&&ce(Fe[e])&&ce(Qe[e])&&ce(Oe[e])&&s&&ce(Ve[e])&&ce(Je[e]),o=ce(Ge[e])&&ce(He[e])&&ce(Ae[e])&&ce(de[e]);if(!n||!o){const t=e?[Ce(g),be(y),Ce(V),be(E),me(k),me(A)]:[g,y,V,E,k,A];if(!n){_t(t[0],Ve[e],Je[e]),he(t[1],((t,s)=>_t(t,Fe[e],Qe[e],[s]))),he(t[2],((t,s)=>{0!=t&&gt(Oe[e],[s],ls(s))}));const n=xe();he(t[3],((t,a)=>{_t(t,je[e],We[e],[a])&&!s&&(gt(Be[e],[a,null]),De(n,a))})),s||he(t[5],((t,s)=>{if(!le(n,s)){const n=xe();he(t,(e=>he(e,(([t,s],a)=>s!==t?De(n,a):ge(e,a))))),he(n,(t=>gt(Be[e],[s,t])))}})),he(t[4],((t,s)=>he(t,((t,n)=>_t(t,$e[e],qe[e],[s,n])))))}if(!o){let s;he(t[5],((t,n)=>{let a;he(t,((t,o)=>{let r;he(t,(([t,i],l)=>{i!==t&&(gt(Ge[e],[n,o,l],i,t,Ut),s=a=r=1)})),r&&gt(He[e],[n,o],Ut)})),a&&gt(Ae[e],[n],Ut)})),s&&gt(de[e],void 0,Ut)}}},ts=e=>{const t=Ts();t!=r&&gt(ot[e],void 0,t);const s=ce(it[e])&&ce(lt[e]),n=ce(ct[e])&&ce(rt[e]);if(!s||!n){const t=e?[Ce(Q),Ce(z)]:[Q,z];if(s||_t(t[0],it[e],lt[e]),!n){let s;he(t[1],(([t,n],a)=>{n!==t&&(gt(ct[e],[a],n,t,Xt),s=1)})),s&&gt(rt[e],void 0,Xt)}}},ss=(e,...t)=>(As((()=>e(...H(t,m)))),zs),ns=()=>[Te(A,((e,t)=>-1===we(g,t)?null:Te(e,((e,s)=>-1===we(we(E,t),s)?null:Te(e,(([,e])=>e??null),((e,t)=>Ze(t)))),re)),re),Te(z,(([,e])=>e??null),((e,t)=>Ze(t)))],as=()=>({cellsTouched:s,valuesTouched:n,changedCells:pe(A,Ye,Ze),invalidCells:pe(O),changedValues:Te(z,Ye,Ze),invalidValues:Te(j),changedTableIds:Te(g),changedRowIds:Re(E),changedCellIds:pe(k),changedValueIds:Te(Q)}),os=()=>pe(_),rs=()=>Le(_),is=e=>Le(we(Z,m(e))),ls=e=>ie(we(_,m(e))),cs=e=>Le(we(_,m(e))),ds=(e,t,s,n=0,a)=>{return H(F(B((o=we(_,m(e)),r=(e,s)=>[M(t)?s:we(e,m(t)),s],H([...o?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>Pe(e,t)*(s?-1:1))),n,M(a)?a:n+a),(([,e])=>e));var o,r},us=(e,t)=>Le(we(we(_,m(e)),m(t))),hs=(e,t,s)=>we(we(we(_,m(e)),m(t)),m(s)),gs=()=>Te(ee),fs=()=>Le(ee),Ls=e=>we(ee,m(e)),ws=()=>!ce(_),vs=e=>le(_,m(e)),Is=(e,t)=>le(we(Z,m(e)),m(t)),Ss=(e,t)=>le(we(_,m(e)),m(t)),ys=(e,t,s)=>le(we(we(_,m(e)),m(t)),m(s)),Ts=()=>!ce(ee),Rs=e=>le(ee,m(e)),ps=e=>ss((()=>(e=>tt(e,vt,Gt))(e)?Vt(e):0)),Cs=e=>ss((()=>yt(e)?Jt(e):0)),bs=e=>{try{mt(et(e))}catch{}return zs},ms=t=>ss((()=>{if((e=tt(t,(e=>tt(e,wt))))&&(Ct(t),!ce(_))){const e=os();Es(),ps(e)}})),Vs=e=>ss((()=>{if(t=(e=>tt(e,wt))(e)){const s=gs();Js(),xs(),t=!0,bt(e),Cs(s)}})),Es=()=>ss((()=>Vt({}))),ks=e=>ss((e=>le(_,e)?zt(e):0),e),Ms=(e,t)=>ss(((e,t)=>x(we(_,e),(s=>le(s,t)?Nt(e,s,t):0))),e,t),xs=()=>ss((()=>Jt({}))),Ds=()=>ss((()=>{Ct({}),e=!1})),Js=()=>ss((()=>{bt({}),t=!1})),As=(e,t)=>{if(-1!=d){Fs();const s=e();return Qs(t),s}},Fs=()=>(-1!=d&&d++,1==d&&gt(dt,void 0,ns,as),zs),Qs=e=>(d>0&&(d--,0==d&&(s=!ce(A),n=!ce(z),d=1,Yt(1),s&&es(1),Zt(1),n&&ts(1),e?.(ns,as)&&(he(A,((e,t)=>he(e,((e,s)=>he(e,(([e],n)=>ke(zs,t,s,n,e))))))),he(z,(([e],t)=>Me(zs,t,e))),s=n=!1),gt(ut[0],void 0,ns,as),d=-1,Yt(0),s&&es(0),Zt(0),n&&ts(0),gt(ut[1],void 0,ns,as),d=0,s=n=!1,a=ws(),r=Ts(),W([g,y,V,E,k,A,O,Q,z,j],ue))),zs),zs={getContent:()=>[os(),gs()],getTables:os,getTableIds:rs,getTable:e=>Re(we(_,m(e))),getTableCellIds:is,getRowCount:ls,getRowIds:cs,getSortedRowIds:ds,getRow:(e,t)=>Te(we(we(_,m(e)),m(t))),getCellIds:us,getCell:hs,getValues:gs,getValueIds:fs,getValue:Ls,hasTables:ws,hasTable:vs,hasTableCell:Is,hasRow:Ss,hasCell:ys,hasValues:Ts,hasValue:Rs,getTablesJson:()=>_e(_),getValuesJson:()=>_e(ee),getJson:()=>_e([_,ee]),getTablesSchemaJson:()=>_e($),getValuesSchemaJson:()=>_e(G),getSchemaJson:()=>_e([$,G]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>ss((()=>{(re(e)?Es:ps)(e),(re(t)?xs:Cs)(t)})),setTables:ps,setTable:(e,t)=>ss((e=>vt(t,e)?Et(e,t):0),e),setRow:(e,t,s)=>ss(((e,t)=>It(e,t,s)?kt(e,Qt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>As((()=>{let n;return It(e,n,t)&&(e=m(e),kt(e,Qt(e),n=Ft(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>ss(((e,t)=>{if(It(e,t,s,1)){const n=Qt(e);oe(s,((s,a)=>xt(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>ss(((e,t,s)=>x(St(e,t,s,J(n)?n(hs(e,t,s)):n),(n=>xt(e,Qt(e),t,s,n)))),e,t,s),setValues:Cs,setPartialValues:e=>ss((()=>yt(e,1)?oe(e,((e,t)=>At(t,e))):0)),setValue:(e,t)=>ss((e=>x(Tt(e,J(t)?t(Ls(e)):t),(t=>At(e,t)))),e),setTransactionChanges:e=>ss((()=>{oe(e[0],((e,t)=>M(e)?ks(t):oe(e,((e,s)=>M(e)?Ms(t,s):oe(e,((e,n)=>ke(zs,t,s,n,e))))))),oe(e[1],((e,t)=>Me(zs,t,e)))})),setTablesJson:bs,setValuesJson:e=>{try{Dt(et(e))}catch{}return zs},setJson:e=>ss((()=>{try{const[t,s]=et(e);mt(t),Dt(s)}catch{bs(e)}})),setTablesSchema:ms,setValuesSchema:Vs,setSchema:(e,t)=>ss((()=>{ms(e),Vs(t)})),delTables:Es,delTable:ks,delRow:Ms,delCell:(e,t,s,n)=>ss(((e,t,s)=>x(we(_,e),(a=>x(we(a,t),(o=>le(o,s)?Ot(e,a,t,o,s,n):0))))),e,t,s),delValues:xs,delValue:e=>ss((e=>le(ee,e)?Pt(e):0),e),delTablesSchema:Ds,delValuesSchema:Js,delSchema:()=>ss((()=>{Ds(),Js()})),transaction:As,startTransaction:Fs,finishTransaction:Qs,forEachTable:e=>he(_,((t,s)=>e(s,(e=>he(t,((t,s)=>e(s,(e=>ve(t,e))))))))),forEachTableCell:(e,t)=>ve(we(Z,m(e)),t),forEachRow:(e,t)=>he(we(_,m(e)),((e,s)=>t(s,(t=>ve(e,t))))),forEachCell:(e,t,s)=>ve(we(we(_,m(e)),m(t)),s),forEachValue:e=>ve(ee,e),addSortedRowIdsListener:(e,t,s,n,a,o,r)=>{let i=ds(e,t,s,n,a);return ht((()=>{const r=ds(e,t,s,n,a);P(r,i)||(i=r,o(zs,e,t,s,n,a,i))}),Be[r?1:0],[e,t],[rs])},addStartTransactionListener:e=>ht(e,dt),addWillFinishTransactionListener:e=>ht(e,ut[0]),addDidFinishTransactionListener:e=>ht(e,ut[1]),callListener:e=>(Lt(e),zs),delListener:e=>(ft(e),zs),getListenerStats:()=>({}),createStore:nt,addListener:ht,callListeners:gt};return oe({[h+L]:[0,se,[],()=>[ws()]],[L]:[0,de],[w]:[0,Ve],[h+f]:[1,Je,[rs],e=>[vs(...e)]],[f]:[1,Ae,[rs]],[f+R]:[1,Fe,[rs]],[h+f+T]:[2,Qe,[rs,is],e=>[Is(...e)]],[I]:[1,Oe,[rs]],[S]:[1,je,[rs]],[h+v]:[2,We,[rs,cs],e=>[Ss(...e)]],[v]:[2,He,[rs,cs]],[R]:[2,$e,[rs,cs]],[h+T]:[3,qe,[rs,cs,us],e=>[ys(...e)]],[T]:[3,Ge,[rs,cs,us],e=>Ue(hs(...e))],InvalidCell:[3,Ke],[h+C]:[0,ot,[],()=>[Ts()]],[C]:[0,rt],[b]:[0,it],[h+p]:[1,lt,[fs],e=>[Rs(...e)]],[p]:[1,ct,[fs],e=>Ue(Ls(e[0]))],InvalidValue:[1,at]},(([e,t,s,n],a)=>{zs[u+a+c]=(...a)=>ht(a[e],t[a[e+1]?1:0],e>0?F(a,0,e):void 0,s,n)})),te(zs)};e.createCheckpoints=Oe,e.createCustomPersister=(e,t,s,n,a,o,[r,i]=[],l=[])=>{let c,d,u,h=0,g=0;Se($e,l,(()=>0)),Se(qe,l,(()=>[]));const f=async e=>(2!=h&&(h=1,await L.schedule((async()=>{await e(),h=0}))),L),L={load:async(s,n)=>await f((async()=>{try{e.setContent(await t())}catch{e.setContent([s,n])}})),startAutoLoad:async(s={},a={})=>(L.stopAutoLoad(),await L.load(s,a),g=1,u=n((async(s,n)=>{if(n){const t=n();await f((async()=>e.setTransactionChanges(t)))}else await f((async()=>{try{e.setContent(s?.()??await t())}catch(e){o?.(e)}}))})),L),stopAutoLoad:()=>(g&&(a(u),u=void 0,g=0),L),save:async t=>(1!=h&&(h=2,await L.schedule((async()=>{try{await s(e.getContent,t)}catch(e){o?.(e)}h=0}))),L),startAutoSave:async()=>(await L.stopAutoSave().save(),c=e.addDidFinishTransactionListener(((e,t)=>{const[s,n]=t();re(s)&&re(n)||L.save((()=>[s,n]))})),L),stopAutoSave:()=>(x(c,e.delListener),c=void 0,L),schedule:async(...e)=>(K(we(qe,l),...e),await(async()=>{if(!we($e,l)){for(Ie($e,l,1);!M(d=X(we(qe,l)));)try{await d()}catch(e){o?.(e)}Ie($e,l,0)}})(),L),getStore:()=>e,destroy:()=>L.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return r&&(L[r]=()=>i),te(L)},e.createIndexes=je,e.createMetrics=He,e.createQueries=Ge,e.createRelationships=Ke,e.createStore=nt,e.defaultSorter=Pe},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBase={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,s="",n=t(s),a=t(!0),o=t(0),r=t(t),i="type",l="default",c="Listener",d="Result",u="add",h="Has",g="Ids",f="Table",L=f+"s",w=f+g,v="Row",I=v+"Count",S=v+g,y="Sorted"+v+g,T="Cell",R=T+g,p="Value",C=p+"s",b=p+g,m=e=>s+e,V=Math.max,E=Math.min,k=isFinite,M=e=>null==e,x=(e,t,s)=>M(e)?s?.():t(e),D=e=>e==n||e==a,J=e=>t(e)==r,A=e=>Array.isArray(e),F=(e,t,s)=>e.slice(t,s),Q=e=>e.length,z=()=>{},N=(e,t)=>e.includes(t),O=(e,t)=>e.every(t),P=(e,t)=>Q(e)===Q(t)&&O(e,((e,s)=>t[s]===e)),j=(e,t)=>O(e,((s,n)=>0==n||t(e[n-1],s)<=0)),B=(e,t)=>e.sort(t),W=(e,t)=>e.forEach(t),_=(e,t)=>e.map(t),H=e=>q(e,((e,t)=>e+t),0),$=e=>0==Q(e),q=(e,t,s)=>e.reduce(t,s),G=(e,...t)=>e.push(...t),K=e=>e.pop(),U=e=>e.shift(),X=Object,Y=e=>X.getPrototypeOf(e),Z=X.entries,ee=X.keys,te=X.isFrozen,se=X.freeze,ne=e=>!M(e)&&x(Y(e),(e=>e==X.prototype||M(Y(e))),(()=>!0)),ae=(e,t)=>!M(((e,t)=>x(e,(e=>e[t])))(e,t)),oe=(e,t)=>(delete e[t],e),re=(e,t)=>_(Z(e),(([e,s])=>t(s,e))),ie=e=>ne(e)&&0==(e=>Q(ee(e)))(e),le=e=>e?.size??0,ce=(e,t)=>e?.has(t)??!1,de=e=>M(e)||0==le(e),ue=e=>[...e?.values()??[]],he=e=>e.clear(),ge=(e,t)=>e?.forEach(t),fe=(e,t)=>e?.delete(t),Le=e=>new Map(e),we=e=>[...e?.keys()??[]],ve=(e,t)=>e?.get(t),Ie=(e,t)=>ge(e,((e,s)=>t(s,e))),Se=(e,t,s)=>M(s)?(fe(e,t),e):e?.set(t,s),ye=(e,t,s)=>(ce(e,t)||Se(e,t,s()),ve(e,t)),Te=(e,t,s,n=Se)=>(re(t,((t,n)=>s(e,n,t))),Ie(e,(s=>ae(t,s)?0:n(e,s))),e),Re=(e,t,s)=>{const n={};return ge(e,((e,a)=>{const o=t?t(e,a):e;!s?.(o,e)&&(n[a]=o)})),n},pe=(e,t,s)=>Re(e,(e=>Re(e,t,s)),ie),Ce=(e,t,s)=>Re(e,(e=>pe(e,t,s)),ie),be=(e,t)=>{const s=Le();return ge(e,((e,n)=>s.set(n,t?.(e)??e))),s},me=e=>be(e,be),Ve=e=>be(e,me),Ee=(e,t,s,n,a=0)=>x((s?ye:ve)(e,t[a],a>Q(t)-2?s:Le),(o=>{if(a>Q(t)-2)return n?.(o)&&Se(e,t[a]),o;const r=Ee(o,t,s,n,a+1);return de(o)&&Se(e,t[a]),r})),ke=e=>{const s=t(e);return D(s)||s==o&&k(e)?s:void 0},Me=(e,t,s,n,a)=>M(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),xe=(e,t,s)=>M(s)?e.delValue(t):e.setValue(t,s),De=e=>new Set(A(e)||M(e)?e:[e]),Je=(e,t)=>e?.add(t),Ae=(e,t,s,n,a)=>{const o=e.hasRow,r=Le(),i=Le(),l=Le(),c=Le(),d=Le(),u=Le(),h=(t,s,...n)=>{const a=ye(u,t,De);return W(n,(t=>Je(a,t)&&s&&e.callListener(t))),n},g=(t,...s)=>x(ve(u,t),(n=>{W($(s)?ue(n):s,(t=>{e.delListener(t),fe(n,t)})),de(n)&&Se(u,t)})),f=(e,s)=>{Se(r,e,s),ce(i,e)||(Se(i,e,t()),Se(c,e,Le()),Se(d,e,Le()),a(l))},L=e=>{Se(r,e),Se(i,e),Se(c,e),Se(d,e),g(e),a(l)};return[()=>e,()=>we(r),e=>Ie(i,e),e=>ce(i,e),e=>ve(r,e),e=>ve(i,e),(e,t)=>Se(i,e,t),f,(t,n,a,r,i)=>{f(t,n);const l=Le(),u=Le(),L=ve(c,t),w=ve(d,t),v=t=>{const a=s=>e.getCell(n,t,s),c=ve(L,t),d=o(n,t)?s(r(a,t)):void 0;if(c===d||A(c)&&A(d)&&P(c,d)||Se(l,t,[c,d]),!M(i)){const e=ve(w,t),s=o(n,t)?i(a,t):void 0;e!=s&&Se(u,t,s)}},I=e=>{a((()=>{ge(l,(([,e],t)=>Se(L,t,e))),ge(u,((e,t)=>Se(w,t,e)))}),l,u,L,w,e),he(l),he(u)};Ie(L,v),e.hasTable(n)&&W(e.getRowIds(n),(e=>{ce(L,e)||v(e)})),I(!0),g(t),h(t,0,e.addRowListener(n,null,((e,t,s)=>v(s))),e.addTableListener(n,(()=>I())))},L,e=>n(e,l),()=>Ie(u,L),h,g]},Fe=(e,a)=>t(e)==n?t=>t(e):e??(()=>a??s),Qe=(e,t)=>{const s=new WeakMap;return n=>{s.has(n)||s.set(n,e(n));const a=s.get(n);return t?.(a),a}},ze=/^\d+$/,Ne=()=>{const e=[];let t=0;return[n=>(n?U(e):null)??s+t++,t=>{ze.test(t)&&Q(e)<1e3&&G(e,t)}]},Oe=e=>{let t;const[n,a]=Ne(),o=Le();return[(a,r,i,l=[],c=(()=>[]))=>{t??=e();const d=n(1);return Se(o,d,[a,r,i,l,c]),Je(Ee(r,i??[s],De),d),d},(e,n,...a)=>W(((e,t=[s])=>{const n=[],a=(e,s)=>s==Q(t)?G(n,e):null===t[s]?ge(e,(e=>a(e,s+1))):W([t[s],null],(t=>a(ve(e,t),s+1)));return a(e,0),n})(e,n),(e=>ge(e,(e=>ve(o,e)[0](t,...n??[],...a))))),e=>x(ve(o,e),(([,t,n])=>(Ee(t,n??[s],void 0,(t=>(fe(t,e),de(t)?1:0))),Se(o,e),a(e),n))),e=>x(ve(o,e),(([e,,s=[],n,a])=>{const o=(...r)=>{const i=Q(r);i==Q(s)?e(t,...r,...a(r)):M(s[i])?W(n[i]?.(...r)??[],(e=>o(...r,e))):o(...r,s[i])};o()}))]},Pe=Qe((e=>{let t,n,a,o=100,r=Le(),i=Le(),l=1;const c=Le(),d=Le(),[u,h,g]=Oe((()=>F)),f=Le(),L=Le(),w=[],v=[],I=(t,s)=>{l=0,e.transaction((()=>{const[n,a]=ve(f,s);ge(n,((s,n)=>ge(s,((s,a)=>ge(s,((s,o)=>Me(e,n,a,o,s[t]))))))),ge(a,((s,n)=>xe(e,n,s[t])))})),l=1},S=e=>{Se(f,e),Se(L,e),h(d,[e])},y=(e,t)=>W(((e,t)=>e.splice(0,t))(e,t??Q(e)),S),T=()=>y(w,Q(w)-o),R=()=>x(t,(()=>{G(w,t),T(),y(v),t=void 0,a=1})),p=()=>{t=K(w),a=1};let C,b;const m=(e="")=>(M(t)&&(t=s+n++,Se(f,t,[r,i]),J(t,e),r=Le(),i=Le(),a=1),t),V=()=>{$(w)||(((e,...t)=>{e.unshift(...t)})(v,m()),I(0,t),t=K(w),a=1)},E=()=>{$(v)||(G(w,t),t=U(v),I(1,t),a=1)},k=()=>{a&&(h(c),a=0)},D=e=>{const t=m(e);return k(),t},J=(e,t)=>(A(e)&&ve(L,e)!==t&&(Se(L,e,t),h(d,[e])),F),A=e=>ce(f,e),F={setSize:e=>(o=e,T(),F),addCheckpoint:D,setCheckpoint:J,getStore:()=>e,getCheckpointIds:()=>[[...w],t,[...v]],forEachCheckpoint:e=>Ie(L,e),hasCheckpoint:A,getCheckpoint:e=>ve(L,e),goBackward:()=>(V(),k(),F),goForward:()=>(E(),k(),F),goTo:e=>{const s=N(w,e)?V:N(v,e)?E:null;for(;!M(s)&&e!=t;)s();return k(),F},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(g(e),F),clear:()=>(y(w),y(v),M(t)||S(t),t=void 0,n=0,D(),F),clearForward:()=>($(v)||(y(v),h(c)),F),destroy:()=>{e.delListener(C),e.delListener(b)},getListenerStats:()=>({}),_registerListeners:()=>{C=e.addCellListener(null,null,null,((e,t,s,n,a,o)=>{if(l){R();const e=ye(r,t,Le),i=ye(e,s,Le),l=ye(i,n,(()=>[o,void 0]));l[1]=a,l[0]===a&&de(Se(i,n))&&de(Se(e,s))&&de(Se(r,t))&&p(),k()}})),b=e.addValueListener(null,((e,t,s,n)=>{if(l){R();const e=ye(i,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&de(Se(i,t))&&p(),k()}}))}};return se(F.clear())}),(e=>e._registerListeners())),je=(e,t)=>(e??0)<(t??0)?-1:1,Be=Qe((e=>{const t=Le(),n=Le(),[a,o,r]=Oe((()=>S)),[i,l,c,d,u,h,g,,f,L,w,v]=Ae(e,Le,(e=>M(e)?s:A(e)?_(e,m):m(e)),a,o),I=(t,s,n)=>{const a=u(t);ge(n,((t,n)=>s(n,(s=>ge(t,(t=>s(t,(s=>e.forEachCell(a,t,s)))))))))},S={setIndexDefinition:(e,s,a,r,i,l=je)=>{const c=M(i)?void 0:([e],[t])=>i(e,t);return f(e,s,((s,a,i,d,u,f)=>{let L=0;const w=De(),v=De(),I=h(e);if(ge(a,(([e,t],s)=>{const n=De(e),a=De(t);ge(n,(e=>fe(a,e)?fe(n,e):0)),ge(n,(e=>{Je(w,e),x(ve(I,e),(t=>{fe(t,s),de(t)&&(Se(I,e),L=1)}))})),ge(a,(e=>{Je(w,e),ce(I,e)||(Se(I,e,De()),L=1),Je(ve(I,e),s),M(r)||Je(v,e)}))})),s(),de(u)||(f?Ie(I,(e=>Je(v,e))):Ie(i,(e=>x(ve(d,e),(e=>Je(v,e))))),ge(v,(e=>{const t=(t,s)=>l(ve(u,t),ve(u,s),e),s=[...ve(I,e)];j(s,t)||(Se(I,e,De(B(s,t))),Je(w,e))}))),(L||f)&&!M(c)){const t=[...I];j(t,c)||(g(e,Le(B(t,c))),L=1)}L&&o(t,[e]),ge(w,(t=>o(n,[e,t])))}),Fe(a),x(r,Fe)),S},delIndexDefinition:e=>(L(e),S),getStore:i,getIndexIds:l,forEachIndex:e=>c(((t,s)=>e(t,(e=>I(t,e,s))))),forEachSlice:(e,t)=>I(e,t,h(e)),hasIndex:d,hasSlice:(e,t)=>ce(h(e),t),getTableId:u,getSliceIds:e=>we(h(e)),getSliceRowIds:(e,t)=>ue(ve(h(e),t)),addIndexIdsListener:w,addSliceIdsListener:(e,s)=>a(s,t,[e]),addSliceRowIdsListener:(e,t,s)=>a(s,n,[e,t]),delListener:e=>(r(e),S),destroy:v,getListenerStats:()=>({})};return se(S)})),We=Le([["avg",[(e,t)=>H(e)/t,(e,t,s)=>e+(t-e)/(s+1),(e,t,s)=>e+(e-t)/(s-1),(e,t,s,n)=>e+(t-s)/n]],["max",[e=>V(...e),(e,t)=>V(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:V(t,e)]],["min",[e=>E(...e),(e,t)=>E(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:E(t,e)]],["sum",[e=>H(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),_e=(e,t,s,n,a,o=!1)=>{if(de(s))return;const[r,i,l,c]=a;return o||=M(e),ge(n,(([s,n])=>{o||(e=M(s)?i?.(e,n,t++):M(n)?l?.(e,s,t--):c?.(e,n,s,t),o||=M(e))})),o?r(ue(s),le(s)):e},He=Qe((e=>{const t=Le(),[n,a,o]=Oe((()=>v)),[r,i,l,c,d,u,h,,g,f,L,w]=Ae(e,z,(e=>isNaN(e)||M(e)||!0===e||!1===e||e===s?void 0:1*e),n,a),v={setMetricDefinition:(e,s,n,o,r,i,l)=>{const c=J(n)?[n,r,i,l]:ve(We,n)??ve(We,"sum");return g(e,s,((s,n,o,r,i,l)=>{const d=u(e),g=le(r);l||=M(d),s();let f=_e(d,g,r,n,c,l);k(f)||(f=void 0),f!=d&&(h(e,f),a(t,[e],f,d))}),Fe(o,1)),v},delMetricDefinition:e=>(f(e),v),getStore:r,getMetricIds:i,forEachMetric:l,hasMetric:c,getTableId:d,getMetric:u,addMetricIdsListener:L,addMetricListener:(e,s)=>n(s,t,[e]),delListener:e=>(o(e),v),destroy:w,getListenerStats:()=>({})};return se(v)})),$e=Le(),qe=Le(),Ge=Qe((e=>{const t=e.createStore,n=t(),a=t(),o=Le(),{addListener:r,callListeners:i,delListener:l}=a,[h,g,L,w,p,,,C,,b,m,V,E,k]=Ae(e,(()=>!0),z,r,i),D=(e,t,...s)=>W(s,(s=>Je(ye(ye(o,t,Le),e,De),s))),A=e=>{x(ve(o,e),(e=>{Ie(e,((e,t)=>ge(t,(t=>e.delListener(t))))),he(e)})),W([a,n],(t=>t.delTable(e)))},N=(e,t,s)=>D(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),P={setQueryDefinition:(t,o,r)=>{C(t,o),A(t);const i=[],l=[[null,[o,null,null,[],Le()]]],c=[],d=[],u=[];r({select:(e,t)=>{const n=J(e)?[Q(i)+s,e]:[M(t)?e:t,s=>s(e,t)];return G(i,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=M(s)||J(t)?null:t,a=M(n)?t:s,o=[e,[e,n,J(a)?a:e=>e(a),[],Le()]];return G(l,o),{as:e=>o[0]=e}},where:(e,t,s)=>G(c,J(e)?e:M(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,a)=>{const o=[e,[e,J(t)?[t,s,n,a]:ve(We,t)??[(e,t)=>t]]];return G(d,o),{as:e=>o[0]=e}},having:(e,t)=>G(u,J(e)?e:s=>s(e)===t)});const h=Le(i);if(de(h))return P;const g=Le(l);Ie(g,((e,[,t])=>x(ve(g,t),(({3:t})=>M(e)?0:G(t,e)))));const f=Le(d);let L=n;if(de(f)&&$(u))L=a;else{N(t,L,a);const e=Le();Ie(f,((t,[s,n])=>Je(ye(e,s,De),[t,n])));const s=De();Ie(h,(t=>ce(e,t)?0:Je(s,t)));const n=Le(),o=(s,n,o,r)=>x(s,(([i,l,c,d])=>{Ie(n,((t,[s])=>{const n=ye(i,t,Le),a=ve(n,o),l=r?void 0:s;if(a!==l){const s=De([[a,l]]),r=le(n);Se(n,o,l),ge(ve(e,t),(([e,t])=>{const a=_e(d[e],r,n,s,t);d[e]=M(ke(a))?null:a}))}})),de(l)||!O(u,(e=>e((e=>d[e]))))?a.delRow(t,c):M(c)?s[2]=a.addRow(t,d):a.setRow(t,c,d)}));D(L,t,L.addRowListener(t,null,((a,r,i,l)=>{const c=[],d=[],u=Le(),h=L.hasRow(t,i);let g=!h;ge(s,(e=>{const[s,n,a]=l(t,i,e);G(c,n),G(d,a),g||=s})),Ie(e,(e=>{const[s,,n]=l(t,i,e);(g||s)&&Se(u,e,[n])})),g&&o(Ee(n,c,void 0,(([,e])=>(fe(e,i),de(e)))),u,i,1),h&&o(Ee(n,d,(()=>{const e={};return ge(s,(s=>e[s]=L.getCell(t,i,s))),[Le(),De(),void 0,e]}),(([,e])=>{Je(e,i)})),u,i)})))}N(t,e,L);const w=(s,n,a,r)=>{const i=t=>e.getCell(n,a,t);W(r,(n=>{const[a,,o,r,l]=ve(g,n),c=o?.(i,s),[d,u]=ve(l,s)??[];c!=d&&(M(u)||k(t,u),Se(l,s,M(c)?null:[c,...E(t,1,e.addRowListener(a,c,(()=>w(s,a,c,r))))]))})),(s=>{const n=(t,n)=>e.getCell(...M(n)?[o,s,t]:t===o?[o,s,n]:[ve(g,t)?.[0],ve(ve(g,t)?.[4],s)?.[0],n]);L.transaction((()=>O(c,(e=>e(n)))?Ie(h,((e,a)=>Me(L,t,s,e,a(n,s)))):L.delRow(t,s)))})(s)},{3:v}=ve(g,null);return L.transaction((()=>E(t,1,e.addRowListener(o,null,((s,n,a)=>{e.hasRow(o,a)?w(a,o,a,v):(L.delRow(t,a),ge(g,(({4:e})=>x(ve(e,a),(([,s])=>{k(t,s),Se(e,a)})))))}))))),P},delQueryDefinition:e=>(A(e),b(e),P),getStore:h,getQueryIds:g,forEachQuery:L,hasQuery:w,getTableId:p,addQueryIdsListener:e=>m((()=>e(P))),delListener:e=>(l(e),P),destroy:V,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=a.getListenerStats();return n}};return re({[f]:[1,1],[f+R]:[0,1],[I]:[0,1],[S]:[0,1],[y]:[0,5],[v]:[1,2],[R]:[0,2],[T]:[1,3]},(([e,t],s)=>{W(e?["get","has","forEach"]:["get"],(e=>P[e+d+s]=(...t)=>a[e+s](...t))),P[u+d+s+c]=(...e)=>a[u+s+c](...F(e,0,t),((s,...n)=>e[t](P,...n)),!0)})),se(P)})),Ke=Qe((e=>{const t=Le(),n=Le(),a=Le(),o=Le(),[r,i,l]=Oe((()=>R)),[c,d,u,h,g,f,,,L,w,v,I]=Ae(e,(()=>[Le(),Le(),Le(),Le()]),(e=>M(e)?void 0:e+s),r,i),S=(e,t,s)=>x(f(e),(([n,,a])=>{if(!ce(a,t)){const o=De();if(g(e)!=T(e))Je(o,t);else{let e=t;for(;!M(e)&&!ce(o,e);)Je(o,e),e=ve(n,e)}if(s)return o;Se(a,t,o)}return ve(a,t)})),y=(e,t)=>x(f(e),(([,,e])=>Se(e,t))),T=e=>ve(t,e),R={setRelationshipDefinition:(e,s,r,l)=>(Se(t,e,r),L(e,s,((t,s)=>{const r=De(),l=De(),c=De(),[d,u]=f(e);ge(s,(([t,s],n)=>{M(t)||(Je(l,t),x(ve(u,t),(e=>{fe(e,n),de(e)&&Se(u,t)}))),M(s)||(Je(l,s),ce(u,s)||Se(u,s,De()),Je(ve(u,s),n)),Je(r,n),Se(d,n,s),Ie(ve(o,e),(t=>{ce(S(e,t),n)&&Je(c,t)}))})),t(),ge(r,(t=>i(n,[e,t]))),ge(l,(t=>i(a,[e,t]))),ge(c,(t=>{y(e,t),i(o,[e,t])}))}),Fe(l)),R),delRelationshipDefinition:e=>(Se(t,e),w(e),R),getStore:c,getRelationshipIds:d,forEachRelationship:t=>u((s=>t(s,(t=>e.forEachRow(g(s),t))))),hasRelationship:h,getLocalTableId:g,getRemoteTableId:T,getRemoteRowId:(e,t)=>ve(f(e)?.[0],t),getLocalRowIds:(e,t)=>ue(ve(f(e)?.[1],t)),getLinkedRowIds:(e,t)=>M(f(e))?[t]:ue(S(e,t,!0)),addRelationshipIdsListener:v,addRemoteRowIdListener:(e,t,s)=>r(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>r(s,a,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(S(e,t),r(s,o,[e,t])),delListener:e=>(y(...l(e)??[]),R),destroy:I,getListenerStats:()=>({})};return se(R)})),Ue=e=>[e,e],Xe=()=>[Le(),Le()],Ye=e=>[...e],Ze=([e,t])=>e===t,et=e=>JSON.stringify(e,((e,t)=>t instanceof Map?X.fromEntries([...t]):t)),tt=JSON.parse,st=(e,t,s)=>M(e)||!ne(e)||ie(e)||te(e)?(s?.(),!1):(re(e,((s,n)=>{t(s,n)||oe(e,n)})),!ie(e)),nt=(e,t,s)=>Se(e,t,ve(e,t)==-s?void 0:s),at=()=>{let e,t,s=!1,n=!1,a=!1,r=!1,d=0;const g=Le(),y=Le(),V=Le(),E=Le(),k=Le(),A=Le(),Q=Le(),z=Le(),O=Le(),j=Le(),H=Le(),$=Le(),q=Le(),K=Le(),U=De(),X=Le(),Y=Le(),Z=Le(),ee=Le(),te=Xe(),ne=Xe(),ue=Xe(),Ee=Xe(),Ae=Xe(),Fe=Xe(),Qe=Xe(),ze=Xe(),Pe=Xe(),Be=Xe(),We=Xe(),_e=Xe(),He=Xe(),$e=Xe(),qe=Xe(),Ge=Xe(),Ke=Xe(),ot=Xe(),rt=Xe(),it=Xe(),lt=Xe(),ct=Xe(),dt=Le(),ut=Xe(),[ht,gt,ft,Lt]=Oe((()=>zs)),wt=e=>{if(!st(e,((e,t)=>N([i,l],t))))return!1;const t=e[i];return!(!D(t)&&t!=o||(ke(e[l])!=t&&oe(e,l),0))},vt=(t,s)=>(!e||ce(H,s)||qt(s))&&st(t,((e,t)=>It(s,t,e)),(()=>qt(s))),It=(e,t,s,n)=>st(n?s:Rt(s,e,t),((n,a)=>x(St(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>qt(e,t))),St=(t,s,n,a)=>e?x(ve(ve(H,t),n),(e=>ke(a)!=e[i]?qt(t,s,n,a,e[l]):a),(()=>qt(t,s,n,a))):M(ke(a))?qt(t,s,n,a):a,yt=(e,t)=>st(t?e:pt(e),((t,s)=>x(Tt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Gt())),Tt=(e,s)=>t?x(ve(q,e),(t=>ke(s)!=t[i]?Gt(e,s,t[l]):s),(()=>Gt(e,s))):M(ke(s))?Gt(e,s):s,Rt=(e,t,s)=>(x(ve($,t),(([n,a])=>{ge(n,((t,s)=>{ae(e,s)||(e[s]=t)})),ge(a,(n=>{ae(e,n)||qt(t,s,n)}))})),e),pt=e=>(t&&(ge(K,((t,s)=>{ae(e,s)||(e[s]=t)})),ge(U,(t=>{ae(e,t)||Gt(t)}))),e),Ct=e=>Te(H,e,((e,t,s)=>{const n=Le(),a=De();Te(ye(H,t,Le),s,((e,t,s)=>{Se(e,t,s),x(s[l],(e=>Se(n,t,e)),(()=>Je(a,t)))})),Se($,t,[n,a])}),((e,t)=>{Se(H,t),Se($,t)})),bt=e=>Te(q,e,((e,t,s)=>{Se(q,t,s),x(s[l],(e=>Se(K,t,e)),(()=>Je(U,t)))}),((e,t)=>{Se(q,t),Se(K,t),fe(U,t)})),mt=e=>ie(e)?Es():ps(e),Vt=e=>Te(Z,e,((e,t,s)=>Et(t,s)),((e,t)=>zt(t))),Et=(e,t)=>Te(ye(Z,e,(()=>(jt(e,1),Se(X,e,Ne()),Se(Y,e,Le()),Le()))),t,((t,s,n)=>kt(e,t,s,n)),((t,s)=>Nt(e,t,s))),kt=(e,t,s,n,a)=>Te(ye(t,s,(()=>(Bt(e,s,1),Le()))),n,((t,n,a)=>Mt(e,s,t,n,a)),((n,o)=>Ot(e,t,s,n,o,a))),Mt=(e,t,s,n,a)=>{ce(s,n)||Wt(e,t,n,1);const o=ve(s,n);a!==o&&(_t(e,t,n,o,a),Se(s,n,a))},xt=(e,t,s,n,a)=>x(ve(t,s),(t=>Mt(e,s,t,n,a)),(()=>kt(e,t,s,Rt({[n]:a},e,s)))),Dt=e=>ie(e)?xs():Cs(e),Jt=e=>Te(ee,e,((e,t,s)=>At(t,s)),((e,t)=>Pt(t))),At=(e,t)=>{ce(ee,e)||Ht(e,1);const s=ve(ee,e);t!==s&&($t(e,s,t),Se(ee,e,t))},Ft=(e,t)=>{const[s]=ve(X,e),n=s(t);return ce(ve(Z,e),n)?Ft(e,t):n},Qt=e=>ve(Z,e)??Et(e,{}),zt=e=>Et(e,{}),Nt=(e,t,s)=>{const[,n]=ve(X,e);n(s),kt(e,t,s,{},!0)},Ot=(e,t,s,n,a,o)=>{const r=ve(ve($,e)?.[0],a);if(!M(r)&&!o)return Mt(e,s,n,a,r);const i=t=>{_t(e,s,t,ve(n,t)),Wt(e,s,t,-1),Se(n,t)};M(r)?i(a):Ie(n,i),de(n)&&(Bt(e,s,-1),de(Se(t,s))&&(jt(e,-1),Se(Z,e),Se(X,e),Se(Y,e)))},Pt=e=>{const t=ve(K,e);if(!M(t))return At(e,t);$t(e,ve(ee,e)),Ht(e,-1),Se(ee,e)},jt=(e,t)=>nt(g,e,t),Bt=(e,t,s)=>nt(ye(E,e,Le),t,s)&&Se(V,e,ye(V,e,(()=>0))+s),Wt=(e,t,s,n)=>{const a=ve(Y,e),o=ve(a,s)??0;(0==o&&1==n||1==o&&-1==n)&&nt(ye(y,e,Le),s,n),Se(a,s,o!=-n?o+n:null),nt(ye(ye(k,e,Le),t,Le),s,n)},_t=(e,t,s,n,a)=>ye(ye(ye(A,e,Le),t,Le),s,(()=>[n,0]))[1]=a,Ht=(e,t)=>nt(Q,e,t),$t=(e,t,s)=>ye(z,e,(()=>[t,0]))[1]=s,qt=(e,t,s,n,a)=>(G(ye(ye(ye(O,e,Le),t,Le),s,(()=>[])),n),a),Gt=(e,t,s)=>(G(ye(j,e,(()=>[])),t),s),Kt=(e,t,s)=>x(ve(ve(ve(A,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Ue(hs(e,t,s))])),Ut=e=>x(ve(z,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ue(Ls(e))])),Xt=e=>de(O)||de(Ge[e])?0:ge(e?Ve(O):O,((t,s)=>ge(t,((t,n)=>ge(t,((t,a)=>gt(Ge[e],[s,n,a],t))))))),Yt=e=>de(j)||de(Ke[e])?0:ge(e?be(j):j,((t,s)=>gt(Ke[e],[s],t))),Zt=(e,t,s,n)=>{if(!de(e))return gt(t,n,(()=>Re(e))),Ie(e,((e,t)=>gt(s,[...n??[],e],1==t))),1},es=e=>{const t=ws();t!=a&&gt(te[e],void 0,t);const s=de(Be[e]),n=de(He[e])&&de($e[e])&&de(Pe[e])&&de(We[e])&&de(Fe[e])&&de(Qe[e])&&de(ze[e])&&s&&de(ue[e])&&de(Ee[e]),o=de(qe[e])&&de(_e[e])&&de(Ae[e])&&de(ne[e]);if(!n||!o){const t=e?[be(g),me(y),be(V),me(E),Ve(k),Ve(A)]:[g,y,V,E,k,A];if(!n){Zt(t[0],ue[e],Ee[e]),ge(t[1],((t,s)=>Zt(t,Fe[e],Qe[e],[s]))),ge(t[2],((t,s)=>{0!=t&&gt(ze[e],[s],ls(s))}));const n=De();ge(t[3],((t,a)=>{Zt(t,Pe[e],We[e],[a])&&!s&&(gt(Be[e],[a,null]),Je(n,a))})),s||ge(t[5],((t,s)=>{if(!ce(n,s)){const n=De();ge(t,(e=>ge(e,(([t,s],a)=>s!==t?Je(n,a):fe(e,a))))),ge(n,(t=>gt(Be[e],[s,t])))}})),ge(t[4],((t,s)=>ge(t,((t,n)=>Zt(t,He[e],$e[e],[s,n])))))}if(!o){let s;ge(t[5],((t,n)=>{let a;ge(t,((t,o)=>{let r;ge(t,(([t,i],l)=>{i!==t&&(gt(qe[e],[n,o,l],i,t,Kt),s=a=r=1)})),r&&gt(_e[e],[n,o],Kt)})),a&&gt(Ae[e],[n],Kt)})),s&&gt(ne[e],void 0,Kt)}}},ts=e=>{const t=Ts();t!=r&&gt(ot[e],void 0,t);const s=de(it[e])&&de(lt[e]),n=de(ct[e])&&de(rt[e]);if(!s||!n){const t=e?[be(Q),be(z)]:[Q,z];if(s||Zt(t[0],it[e],lt[e]),!n){let s;ge(t[1],(([t,n],a)=>{n!==t&&(gt(ct[e],[a],n,t,Ut),s=1)})),s&&gt(rt[e],void 0,Ut)}}},ss=(e,...t)=>(As((()=>e(..._(t,m)))),zs),ns=()=>[Re(A,((e,t)=>-1===ve(g,t)?null:Re(e,((e,s)=>-1===ve(ve(E,t),s)?null:Re(e,(([,e])=>e??null),((e,t)=>Ze(t)))),ie)),ie),Re(z,(([,e])=>e??null),((e,t)=>Ze(t)))],as=()=>({cellsTouched:s,valuesTouched:n,changedCells:Ce(A,Ye,Ze),invalidCells:Ce(O),changedValues:Re(z,Ye,Ze),invalidValues:Re(j),changedTableIds:Re(g),changedRowIds:pe(E),changedCellIds:Ce(k),changedValueIds:Re(Q)}),os=()=>Ce(Z),rs=()=>we(Z),is=e=>we(ve(Y,m(e))),ls=e=>le(ve(Z,m(e))),cs=e=>we(ve(Z,m(e))),ds=(e,t,s,n=0,a)=>{return _(F(B((o=ve(Z,m(e)),r=(e,s)=>[M(t)?s:ve(e,m(t)),s],_([...o?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>je(e,t)*(s?-1:1))),n,M(a)?a:n+a),(([,e])=>e));var o,r},us=(e,t)=>we(ve(ve(Z,m(e)),m(t))),hs=(e,t,s)=>ve(ve(ve(Z,m(e)),m(t)),m(s)),gs=()=>Re(ee),fs=()=>we(ee),Ls=e=>ve(ee,m(e)),ws=()=>!de(Z),vs=e=>ce(Z,m(e)),Is=(e,t)=>ce(ve(Y,m(e)),m(t)),Ss=(e,t)=>ce(ve(Z,m(e)),m(t)),ys=(e,t,s)=>ce(ve(ve(Z,m(e)),m(t)),m(s)),Ts=()=>!de(ee),Rs=e=>ce(ee,m(e)),ps=e=>ss((()=>(e=>st(e,vt,qt))(e)?Vt(e):0)),Cs=e=>ss((()=>yt(e)?Jt(e):0)),bs=e=>{try{mt(tt(e))}catch{}return zs},ms=t=>ss((()=>{if((e=st(t,(e=>st(e,wt))))&&(Ct(t),!de(Z))){const e=os();Es(),ps(e)}})),Vs=e=>ss((()=>{if(t=(e=>st(e,wt))(e)){const s=gs();Js(),xs(),t=!0,bt(e),Cs(s)}})),Es=()=>ss((()=>Vt({}))),ks=e=>ss((e=>ce(Z,e)?zt(e):0),e),Ms=(e,t)=>ss(((e,t)=>x(ve(Z,e),(s=>ce(s,t)?Nt(e,s,t):0))),e,t),xs=()=>ss((()=>Jt({}))),Ds=()=>ss((()=>{Ct({}),e=!1})),Js=()=>ss((()=>{bt({}),t=!1})),As=(e,t)=>{if(-1!=d){Fs();const s=e();return Qs(t),s}},Fs=()=>(-1!=d&&d++,1==d&&gt(dt,void 0,ns,as),zs),Qs=e=>(d>0&&(d--,0==d&&(s=!de(A),n=!de(z),d=1,Xt(1),s&&es(1),Yt(1),n&&ts(1),e?.(ns,as)&&(ge(A,((e,t)=>ge(e,((e,s)=>ge(e,(([e],n)=>Me(zs,t,s,n,e))))))),ge(z,(([e],t)=>xe(zs,t,e))),s=n=!1),gt(ut[0],void 0,ns,as),d=-1,Xt(0),s&&es(0),Yt(0),n&&ts(0),gt(ut[1],void 0,ns,as),d=0,s=n=!1,a=ws(),r=Ts(),W([g,y,V,E,k,A,O,Q,z,j],he))),zs),zs={getContent:()=>[os(),gs()],getTables:os,getTableIds:rs,getTable:e=>pe(ve(Z,m(e))),getTableCellIds:is,getRowCount:ls,getRowIds:cs,getSortedRowIds:ds,getRow:(e,t)=>Re(ve(ve(Z,m(e)),m(t))),getCellIds:us,getCell:hs,getValues:gs,getValueIds:fs,getValue:Ls,hasTables:ws,hasTable:vs,hasTableCell:Is,hasRow:Ss,hasCell:ys,hasValues:Ts,hasValue:Rs,getTablesJson:()=>et(Z),getValuesJson:()=>et(ee),getJson:()=>et([Z,ee]),getTablesSchemaJson:()=>et(H),getValuesSchemaJson:()=>et(q),getSchemaJson:()=>et([H,q]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>ss((()=>{(ie(e)?Es:ps)(e),(ie(t)?xs:Cs)(t)})),setTables:ps,setTable:(e,t)=>ss((e=>vt(t,e)?Et(e,t):0),e),setRow:(e,t,s)=>ss(((e,t)=>It(e,t,s)?kt(e,Qt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>As((()=>{let n;return It(e,n,t)&&(e=m(e),kt(e,Qt(e),n=Ft(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>ss(((e,t)=>{if(It(e,t,s,1)){const n=Qt(e);re(s,((s,a)=>xt(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>ss(((e,t,s)=>x(St(e,t,s,J(n)?n(hs(e,t,s)):n),(n=>xt(e,Qt(e),t,s,n)))),e,t,s),setValues:Cs,setPartialValues:e=>ss((()=>yt(e,1)?re(e,((e,t)=>At(t,e))):0)),setValue:(e,t)=>ss((e=>x(Tt(e,J(t)?t(Ls(e)):t),(t=>At(e,t)))),e),setTransactionChanges:e=>ss((()=>{re(e[0],((e,t)=>M(e)?ks(t):re(e,((e,s)=>M(e)?Ms(t,s):re(e,((e,n)=>Me(zs,t,s,n,e))))))),re(e[1],((e,t)=>xe(zs,t,e)))})),setTablesJson:bs,setValuesJson:e=>{try{Dt(tt(e))}catch{}return zs},setJson:e=>ss((()=>{try{const[t,s]=tt(e);mt(t),Dt(s)}catch{bs(e)}})),setTablesSchema:ms,setValuesSchema:Vs,setSchema:(e,t)=>ss((()=>{ms(e),Vs(t)})),delTables:Es,delTable:ks,delRow:Ms,delCell:(e,t,s,n)=>ss(((e,t,s)=>x(ve(Z,e),(a=>x(ve(a,t),(o=>ce(o,s)?Ot(e,a,t,o,s,n):0))))),e,t,s),delValues:xs,delValue:e=>ss((e=>ce(ee,e)?Pt(e):0),e),delTablesSchema:Ds,delValuesSchema:Js,delSchema:()=>ss((()=>{Ds(),Js()})),transaction:As,startTransaction:Fs,finishTransaction:Qs,forEachTable:e=>ge(Z,((t,s)=>e(s,(e=>ge(t,((t,s)=>e(s,(e=>Ie(t,e))))))))),forEachTableCell:(e,t)=>Ie(ve(Y,m(e)),t),forEachRow:(e,t)=>ge(ve(Z,m(e)),((e,s)=>t(s,(t=>Ie(e,t))))),forEachCell:(e,t,s)=>Ie(ve(ve(Z,m(e)),m(t)),s),forEachValue:e=>Ie(ee,e),addSortedRowIdsListener:(e,t,s,n,a,o,r)=>{let i=ds(e,t,s,n,a);return ht((()=>{const r=ds(e,t,s,n,a);P(r,i)||(i=r,o(zs,e,t,s,n,a,i))}),Be[r?1:0],[e,t],[rs])},addStartTransactionListener:e=>ht(e,dt),addWillFinishTransactionListener:e=>ht(e,ut[0]),addDidFinishTransactionListener:e=>ht(e,ut[1]),callListener:e=>(Lt(e),zs),delListener:e=>(ft(e),zs),getListenerStats:()=>({}),createStore:at,addListener:ht,callListeners:gt};return re({[h+L]:[0,te,[],()=>[ws()]],[L]:[0,ne],[w]:[0,ue],[h+f]:[1,Ee,[rs],e=>[vs(...e)]],[f]:[1,Ae,[rs]],[f+R]:[1,Fe,[rs]],[h+f+T]:[2,Qe,[rs,is],e=>[Is(...e)]],[I]:[1,ze,[rs]],[S]:[1,Pe,[rs]],[h+v]:[2,We,[rs,cs],e=>[Ss(...e)]],[v]:[2,_e,[rs,cs]],[R]:[2,He,[rs,cs]],[h+T]:[3,$e,[rs,cs,us],e=>[ys(...e)]],[T]:[3,qe,[rs,cs,us],e=>Ue(hs(...e))],InvalidCell:[3,Ge],[h+C]:[0,ot,[],()=>[Ts()]],[C]:[0,rt],[b]:[0,it],[h+p]:[1,lt,[fs],e=>[Rs(...e)]],[p]:[1,ct,[fs],e=>Ue(Ls(e[0]))],InvalidValue:[1,Ke]},(([e,t,s,n],a)=>{zs[u+a+c]=(...a)=>ht(a[e],t[a[e+1]?1:0],e>0?F(a,0,e):void 0,s,n)})),se(zs)};e.createCheckpoints=Pe,e.createCustomPersister=(e,t,s,n,a,o,[r,i]=[],l=[])=>{let c,d,u,h=0,g=0;ye($e,l,(()=>0)),ye(qe,l,(()=>[]));const f=async e=>(2!=h&&(h=1,await L.schedule((async()=>{await e(),h=0}))),L),L={load:async(s,n)=>await f((async()=>{try{e.setContent(await t())}catch{e.setContent([s,n])}})),startAutoLoad:async(s={},a={})=>(L.stopAutoLoad(),await L.load(s,a),g=1,u=n((async(s,n)=>{if(n){const t=n();await f((async()=>e.setTransactionChanges(t)))}else await f((async()=>{try{e.setContent(s?.()??await t())}catch(e){o?.(e)}}))})),L),stopAutoLoad:()=>(g&&(a(u),u=void 0,g=0),L),save:async t=>(1!=h&&(h=2,await L.schedule((async()=>{try{await s(e.getContent,t)}catch(e){o?.(e)}h=0}))),L),startAutoSave:async()=>(await L.stopAutoSave().save(),c=e.addDidFinishTransactionListener(((e,t)=>{const[s,n]=t();ie(s)&&ie(n)||L.save((()=>[s,n]))})),L),stopAutoSave:()=>(x(c,e.delListener),c=void 0,L),schedule:async(...e)=>(G(ve(qe,l),...e),await(async()=>{if(!ve($e,l)){for(Se($e,l,1);!M(d=U(ve(qe,l)));)try{await d()}catch(e){o?.(e)}Se($e,l,0)}})(),L),getStore:()=>e,destroy:()=>L.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return r&&(L[r]=()=>i),se(L)},e.createIndexes=Be,e.createMetrics=He,e.createQueries=Ge,e.createRelationships=Ke,e.createStore=at,e.defaultSorter=je},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBase={});
Binary file
package/lib/umd/tools.js CHANGED
@@ -1 +1 @@
1
- var e,l;e=this,l=function(e){"use strict";const l=e=>typeof e,t="tinybase",a="",n=",",d=l(a),o=l(!0),s=l(0),r="type",I="default",$="Listener",c="get",u="add",i="Has",b="Ids",p="Table",C=p+"s",h=p+b,g="Row",m=g+b,f="Sorted"+g+b,w="Cell",T=w+b,y="Value",v=y+"s",x=y+b,V=Promise,R=isFinite,A=e=>null==e,k=(e,l,t)=>A(e)?t?.():l(e),S=e=>e==d||e==o,P=e=>l(e)==d,O=e=>Array.isArray(e),E=(e,l,t)=>e.slice(l,t),L=e=>e.length,N=async e=>V.all(e),D=e=>{const t=l(e);return S(t)||t==s&&R(e)?t:void 0},G=(e,l)=>e.every(l),j=(e,l)=>e.sort(l),H=(e,l)=>e.forEach(l),M=(e,l=a)=>e.join(l),J=(e,l)=>e.map(l),z=(e,l)=>e.filter(l),W=(e,...l)=>e.push(...l),B=e=>e.pop(),F=(e,...l)=>e.unshift(...l),U=e=>e.shift(),_=Object,Z=e=>_.getPrototypeOf(e),Q=_.keys,q=_.freeze,K=e=>!A(e)&&k(Z(e),(e=>e==_.prototype||A(Z(e))),(()=>!0)),X=(e,l)=>J(_.entries(e),(([e,t])=>l(t,e))),Y=e=>L(Q(e)),ee=e=>K(e)&&0==Y(e),le=(e,l)=>e?.has(l)??!1,te=e=>[...e?.values()??[]],ae=(e,l)=>e?.forEach(l),ne=(e,l)=>e?.delete(l),de=e=>new Map(e),oe=(e,l)=>e?.get(l),se=(e,l)=>ae(e,((e,t)=>l(t,e))),re=(e,l)=>J([...e?.entries()??[]],(([e,t])=>l(t,e))),Ie=(e,l,t)=>A(t)?(ne(e,l),e):e?.set(l,t),$e=(e,l,t)=>(le(e,l)||Ie(e,l,t()),oe(e,l)),ce=e=>e.toUpperCase(),ue=e=>e.toLowerCase(),ie="a ",be="A function for",pe=", and registers a listener so that any changes to that result will cause a re-render",Ce="Callback",he="Count",ge="Del",me="Deps",fe=me+"?: React.DependencyList",we="doRollback?: DoRollback",Te="actions: () => Return, "+we,ye="export",ve="Id",xe="Invalid",Ve="Json",Re=ue($),Ae="?: ",ke=" | undefined",Se="NonNullable",Pe="Partial",Oe="Props",Ee="Provider",Le=`Registers a ${Re} that will be called`,Ne="Represents",De="rowId: "+ve,Ge="Schema",je="Set",He=", descending?: boolean, offset?: number, limit?: number",Me="[]",Je="the Store",ze="Transaction",We=ze+"Changes",Be=ue(ze),Fe="Execute a "+Be+" to make multiple mutations",Ue="Explicitly starts a "+Be,_e="Explicitly finishes a "+Be,Ze="the end of the "+Be,Qe="void",qe=" => "+Qe,Ke="WhenSet",Xe=" when setting it",Ye=ie+"string serialization of",el=" ",ll="Gets a callback that can ",tl="the ",al=" the schema for",nl=(e=0)=>e?"the existence of ":"",dl=(e=0,l=0,t=0)=>nl(t)+`the ${yl[e]}content of`+(l?el+Je:a),ol=(e=0,l,t=0,n=0)=>fl[l]+el+nl(n)+dl(e,1)+(t?" when setting it":a),sl=(e,l=0)=>Ne+` a Row when ${l?"s":"g"}etting ${dl()} the '${e}' `+p,rl=(e,l,t=0)=>`Gets ${t?"sorted, paginated":"the"} Ids of the ${e}s in `+l,Il=(e,l)=>`Calls a function for each ${e} in `+l,$l=e=>"The props passed to a component that renders "+e,cl=e=>"A function that takes "+e,ul=(e,l=0,t=0)=>be+" listening to changes to "+nl(t)+Tl[e]+" in "+Tl[l],il=(e,l,t=0,n=0)=>Le+" whenever "+nl(n)+Tl[e]+" in "+Tl[l]+" change"+(t?a:"s"),bl=e=>`the '${e}' `+p,pl=e=>"the specified Row in "+bl(e),Cl=(e,l=0,t=0)=>fl[l]+el+dl(0,0,t)+el+bl(e),hl=(e,l=0,t=0)=>fl[l]+` ${dl(0,0,t)} `+pl(e),gl=(e,l,t=0,a=0)=>fl[t]+el+nl(a)+`the '${l}' Cell for `+pl(e),ml=(e,l=0,t=0)=>fl[l]+el+nl(t)+`the '${e}' Value`,fl=["Gets","Checks existence of","Sets","Deletes","Sets part of",Ne,"Gets "+Ye,"Sets "+Ye,Le+" whenever",ll+"set",ll+"add",ll+"set part of",ll+"delete","Renders","Gets "+Ye+al,"Sets"+al,"Deletes"+al],wl=[c,"has","set","del","set","forEach",u,a],Tl=[Je,C,tl+p+el+b,ie+p,tl+g+el+b,ie+g,tl+w+el+b,ie+w,"invalid Cell changes",v,tl+y+el+b,ie+y,"invalid Value changes",tl+"sorted "+g+el+b,tl+w+el+b+" anywhere",tl+"number of Rows",ie+w+" anywhere"],yl=[a,"tabular ","keyed value "],vl=e=>new Set(O(e)||A(e)?e:[e]),xl=(e,l)=>e?.add(l),Vl=/[^A-Za-z]+/,Rl=/[^A-Za-z0-9]+/,Al=/^( *)\/\*\* *(.*?) *\*\/$/gm,kl=e=>e.includes(n),Sl=(e,l,t,a=1)=>{const n=`${l}${1==a?"":a}`;return le(e,n)?Sl(e,l,t,a+1):(Ie(e,n,t),n)},Pl=e=>e.replace(Al,((e,l,t)=>{const a=77-L(l);return`${l}/**\n${t.replace(RegExp(`([^\\n]{1,${a}})(\\s|$)`,"g"),l+" * $1\n")}${l} */`})),Ol=e=>e.flat(1e3),El=(e,l=0)=>M(J(e.split(Rl),((e,t)=>(t>0||l?ce:ue)(E(e,0,1))+E(e,1)))),Ll=e=>ce(M((e&&!Vl.test(e[0])?e:" "+e).split(Rl),"_")),Nl=e=>`/** ${e}. */`,Dl=(...e)=>M(z(e,(e=>e)),", "),Gl=(...e)=>"{"+M(e,"; ")+"}",jl=(...e)=>Gl(...J(e,(e=>"readonly "+e))),Hl=()=>{const e=[de(),de(),de(),de()],l=de(),t=de(),n=e=>{const l=e.indexOf(" as ");return-1!=l?E(e,l+4):e};return[(...e)=>M(Ol(e),"\n"),(l,t,...a)=>H(a,(a=>H([0,1],(n=>(l??n)==n?xl($e(e[n],t,vl),a):0)))),(e,t,n,d=a,o=1)=>Sl(l,e,[t,n,d,o]),(e,l,a)=>Sl(t,e,O(a)?[`(${l}) => {`,a,"}"]:[`(${l}) => ${a}`]),(e,l)=>oe(t,e)===l?e:Sl(t,e,l),(l=0)=>J([...j(re(e[l],((e,l)=>`import {${M(j(te(e),((e,l)=>n(e)>n(l)?1:-1)),", ")}} from '${l}';`)),((e,l)=>kl(e)!=kl(l)?kl(e)?-1:1:e>l?1:-1)),a],(e=>e.replace("{React}","React"))),()=>re(l,(([e,l,t,n],d)=>[Nl(l),`${n?ye+" ":a}type ${d}${t} = ${e};`,a])),()=>re(t,((e,l)=>(e=O(e)?e:[e],W(e,B(e)+";"),[`const ${l} = ${U(e)}`,e,a])))]},Ml=e=>{const l=new WeakMap;return t=>(l.has(t)||l.set(t,e(t)),l.get(t))},Jl=(e,l,t)=>[l=>X(e,((e,a)=>l(a,El(a,1),t(Ll(a),`'${a}'`)))),(l,a)=>X(e[l],((e,l)=>a(l,e[r],e[I],t(Ll(l),`'${l}'`),El(l,1)))),e=>X(l,((l,a)=>e(a,l[r],l[I],t(Ll(a),`'${a}'`),El(a,1))))],zl=(e,l,t,n)=>[(n,d)=>{const o=n+": "+d,s=e(C,Gl(...l((e=>`'${e}'?: {[rowId: Id]: `+Gl(...t(e,((e,l,t)=>`'${e}'${A(t)?"?":a}: ${l}`)))+"}"))),ol(1,5)),r=e(C+Ke,Gl(...l((e=>`'${e}'?: {[rowId: Id]: `+Gl(...t(e,((e,l)=>`'${e}'?: ${l}`)))+"}"))),ol(1,5,1)),I=e(p+ve,"keyof "+s,"A "+p+" Id in "+Je),c=`<TId extends ${I}>`,u=e(p,Se+`<${s}[TId]>`,"A "+p+" in "+Je,c),b=e(p+Ke,Se+`<${r}[TId]>`,"A "+p+" in "+Je+Xe,c),y=e(g,u+"<TId>[Id]","A "+g+" in a "+p,c),v=e(g+Ke,b+"<TId>[Id]","A "+g+" in a "+p+Xe,c),x=e(w+ve,`Extract<keyof ${y}<TId>, Id>`,"A "+w+" Id in a "+g,c),V=e(w,Se+`<${s}[TId]>[Id][CId]`,"A "+w+" in a "+g,`<TId extends ${I}, CId extends ${x}<TId>>`),R=e("CellIdCellArray",`CId extends ${x}<TId> ? [cellId: CId, cell: ${V}<TId, CId>] : never`,w+" Ids and types in a "+g,`<TId extends ${I}, CId = ${x}<TId>>`,0),k=e(w+Ce,`(...[cellId, cell]: ${R}<TId>)`+qe,cl(ie+w+" Id, and "+w),c),S=e(g+Ce,"(rowId: Id, forEachCell: (cellCallback: CellCallback<TId>) "+qe+") "+qe,cl(ie+g+" Id, and a "+w+" iterator"),c),P=e(p+w+Ce,`(cellId: ${x}<TId>, count: number) `+qe,cl(ie+w+" Id, and count of how many times it appears"),c),O=e("TableIdForEachRowArray",`TId extends ${I} ? [tableId: TId, forEachRow: (rowCallback: ${S}<TId>)${qe}] : never`,p+" Ids and callback types",`<TId = ${I}>`,0),E=e(p+Ce,`(...[tableId, forEachRow]: ${O})`+qe,cl(ie+p+" Id, and a "+g+" iterator"),a),L=e("TableIdRowIdCellIdArray",`TId extends ${I} ? [tableId: TId, rowId: Id, cellId: ${x}<TId>] : never`,"Ids for GetCellChange",`<TId = ${I}>`,0),N=e("GetCellChange",`(...[tableId, rowId, cellId]: ${L}) => CellChange`,be+" returning information about any Cell's changes during a "+Be),D=e(i+C+$,`(${o}, hasTables: boolean)`+qe,ul(1,0,1)),G=e(C+$,`(${o}, getCellChange: ${N}${ke})`+qe,ul(1)),j=e(h+$,`(${o})`+qe,ul(2)),H=e(i+p+$,`(${o}, tableId: ${I}, hasTable: boolean)`+qe,ul(3,0,1)),M=e(p+$,`(${o}, tableId: ${I}, getCellChange: ${N}${ke})`+qe,ul(3)),J=e(p+T+$,`(${o}, tableId: ${I})`+qe,ul(14,3)),z=e("HasTableCellListenerArgsArrayInner",`CId extends ${x}<TId> ? [${o}, tableId: TId, cellId: CId, hasTableCell: boolean] : never`,"Cell args for HasTableCellListener",`<TId extends ${I}, CId = ${x}<TId>>`,0),W=e("HasTableCellListenerArgsArrayOuter",`TId extends ${I} ? `+z+"<TId> : never","Table args for HasTableCellListener",`<TId = ${I}>`,0),B=e(i+p+w+$,`(...[${n}, tableId, cellId, hasTableCell]: `+W+")"+qe,ul(16,3,1)),F=e(g+"Count"+$,`(${o}, tableId: ${I})`+qe,ul(15,3)),U=e(m+$,`(${o}, tableId: ${I})`+qe,ul(4,3)),_=e(f+$,"("+Dl(o,"tableId: "+I,"cellId: Id"+ke,"descending: boolean","offset: number","limit: number"+ke,"sortedRowIds: Ids")+")"+qe,ul(13,3)),Z=e(i+g+$,"("+Dl(""+o,"tableId: "+I,De,"hasRow: boolean")+")"+qe,ul(5,3,1)),Q=e(g+$,"("+Dl(""+o,"tableId: "+I,De,`getCellChange: ${N}${ke}`)+")"+qe,ul(5,3)),q=e(T+$,"("+Dl(""+o,"tableId: "+I,De)+")"+qe,ul(6,5)),K=e("HasCellListenerArgsArrayInner",`CId extends ${x}<TId> ? [${o}, tableId: TId, ${De}, cellId: CId, hasCell: boolean] : never`,"Cell args for HasCellListener",`<TId extends ${I}, CId = ${x}<TId>>`,0),X=e("HasCellListenerArgsArrayOuter",`TId extends ${I} ? `+K+"<TId> : never","Table args for HasCellListener",`<TId = ${I}>`,0),Y=e(i+w+$,`(...[${n}, tableId, rowId, cellId, hasCell]: `+X+")"+qe,ul(7,5,1)),ee=e("CellListenerArgsArrayInner",`CId extends ${x}<TId> ? [${o}, tableId: TId, ${De}, cellId: CId, newCell: ${V}<TId, CId> ${ke}, oldCell: ${V}<TId, CId> ${ke}, getCellChange: ${N} ${ke}] : never`,"Cell args for CellListener",`<TId extends ${I}, CId = ${x}<TId>>`,0),le=e("CellListenerArgsArrayOuter",`TId extends ${I} ? `+ee+"<TId> : never","Table args for CellListener",`<TId = ${I}>`,0);return[s,r,I,u,b,y,v,x,V,k,S,P,E,D,G,j,H,M,J,B,F,U,_,Z,Q,q,Y,e(w+$,`(...[${n}, tableId, rowId, cellId, newCell, oldCell, getCellChange]: ${le})`+qe,ul(7,5)),e(xe+w+$,`(${o}, tableId: Id, ${De}, cellId: Id, invalidCells: any[])`+qe,ul(8))]},(l,t)=>{const d=l+": "+t,o=e(v,Gl(...n(((e,l,t)=>`'${e}'${A(t)?"?":a}: ${l}`))),ol(2,5)),s=e(v+Ke,Gl(...n(((e,l)=>`'${e}'?: ${l}`))),ol(2,5,1)),r=e(y+ve,"keyof "+o,"A "+y+" Id in "+Je),I=e(y,Se+`<${o}[VId]>`,"A "+y+" Id in "+Je,`<VId extends ${r}>`),c=e("ValueIdValueArray",`VId extends ${r} ? [valueId: VId, value: ${I}<VId>] : never`,y+" Ids and types in "+Je,`<VId = ${r}>`,0),u=e(y+Ce,`(...[valueId, value]: ${c})`+qe,cl(ie+y+" Id, and "+y)),b=e("GetValueChange",`(valueId: ${r}) => ValueChange`,be+" returning information about any Value's changes during a "+Be),p=e(i+v+$,`(${d}, hasValues: boolean)`+qe,ul(9,0,1)),C=e(v+$,`(${d}, getValueChange: ${b}${ke})`+qe,ul(9)),h=e(x+$,`(${d})`+qe,ul(10)),g=e(i+y+$,`(${d}, valueId: ValueId, hasValue: boolean)`+qe,ul(11,0,1)),m=e("ValueListenerArgsArray",`VId extends ${r} ? [${d}, valueId: VId, newValue: ${I}<VId> ${ke}, oldValue: ${I}<VId> ${ke}, getValueChange: ${b} ${ke}] : never`,"Value args for ValueListener",`<VId = ${r}>`,0);return[o,s,r,I,u,p,C,h,g,e(y+$,`(...[${l}, valueId, newValue, oldValue, getValueChange]: `+m+")"+qe,ul(11)),e(xe+y+$,`(${d}, valueId: Id, invalidValues: any[])`+qe,ul(12))]},(l,t)=>e(ze+$,`(${l}: ${t}, getTransactionChanges: GetTransactionChanges, getTransactionLog: GetTransactionLog)`+qe,be+" listening to the completion of a "+Be)],Wl=(e,l=a,t=a)=>`store.${e}(${l})`+(t?" as "+t:a),Bl=(e,l=a)=>`fluent(() => ${Wl(e,l)})`,Fl=(e,l=a,t=a)=>`store.${e}(${l?l+", ":a}proxy(listener)${t?", "+t:a})`,Ul=(e,l,n)=>{const[d,s,c,V,R,k,S,O]=Hl(),[E,L,N]=Jl(e,l,R),[D,G,j]=zl(c,E,L,N),J=de(),z=(e=0)=>re(J,(([l,t,n,d,o],s)=>{const r=e?[s+`: ${o}(${l}): ${t} => ${n},`]:[s+o+`(${l}): ${t};`];return e||F(r,Nl(d)),W(r,a),r})),B=(e,l,t,n,d,o=a)=>Sl(J,e,[l,t,n,d,o]),U=(e,l,t,n,d,o=a,s=a,r=a)=>B(wl[e]+l+(4==e?Pe:a)+t,o,n,(n==Q?Bl:Wl)(wl[e]+(4==e?Pe:a)+t,s,e?void 0:n),d,r),_=(e,l,t,n=a,d=a,o=1,s=a)=>B(u+e+$,(n?n+", ":a)+Re+": "+l+(o?", mutator?: boolean":a),ve,Fl(u+e+$,d,o?"mutator":a),t,s),Z=`./${El(n)}.d`,Q=El(n,1),q=El(Q),K=[],X=de();let Y=[],le=[];if(s(1,Z,Q,`create${Q} as create${Q}Decl`),ee(e))s(null,t,C);else{s(0,t,"CellChange"),s(null,t,b);const[e,l,n,d,$,u,y,v,x,V,k,S,O,N,G,j,J,z,B,F,ee,le,ae,ne,se,re,$e,ce,ue]=D(q,Q),ie=de();E(((e,l)=>{const t=`<'${e}'>`,a=[c(l+p,d+t,Ne+` the '${e}' `+p),c(l+p+Ke,$+t,Ne+` the '${e}' `+p+Xe),c(l+g,u+t,sl(e)),c(l+g+Ke,y+t,sl(e,1)),c(l+w+ve,v+t,`A Cell Id for the '${e}' `+p),c(l+w+Ce,V+t,cl(`a Cell Id and value from a Row in the '${e}' `+p)),c(l+g+Ce,k+t,cl(`a Row Id from the '${e}' Table, and a Cell iterator`)),c(l+p+w+Ce,S+t,cl(`a Cell Id from anywhere in the '${e}' Table, and a count of how many times it appears`))];Ie(ie,e,a),s(1,Z,...a)})),s(1,Z,e,l,n,v,O,N,G,j,J,z,B,F,ee,le,ae,ne,se,re,$e,ce,ue),Y=[e,l,n,v,N,G,j,J,z,B,F,ee,le,ae,ne,se,re,$e,ce,ie],H([[e],[o],[Q,"tables: "+l,"tables"],[Q]],(([e,l,t],n)=>U(n,a,C,e,ol(1,n),l,t))),U(0,a,h,n+Me,rl(p,Je)),U(5,a,p,Qe,Il(p,Je),"tableCallback: "+O,"tableCallback as any"),E(((e,l,t)=>{const[n,d,s,r,I,$,c,u]=oe(ie,e);H([[n],[o],[Q,"table: "+d,", table"],[Q]],(([n,d,o=a],s)=>U(s,l,p,n,Cl(e,s),d,t+o))),U(0,l,p+T,b,rl(w,"the whole of "+bl(e)),a,t),U(5,l,p+w,Qe,Il(p+w,"the whole of "+bl(e)),"tableCellCallback: "+u,t+", tableCellCallback as any"),U(0,l,g+he,"number","Gets the number of Rows in the "+bl(e),a,t),U(0,l,m,b,rl(g,bl(e)),a,t),U(0,l,f,b,rl(g,bl(e),1),"cellId?: "+I+He,t+", cellId, descending, offset, limit"),U(5,l,g,Qe,Il(g,bl(e)),"rowCallback: "+c,t+", rowCallback as any"),H([[s],[o],[Q,", row: "+r,", row"],[Q],[Q,", partialRow: "+r,", partialRow"]],(([n,d=a,o=a],s)=>U(s,l,g,n,hl(e,s),De+d,t+", rowId"+o))),U(6,l,g,ve+ke,"Add a new Row to "+bl(e),"row: "+r+", reuseIds?: boolean",t+", row, reuseIds"),U(0,l,T,I+Me,rl(w,pl(e)),De,t+", rowId"),U(5,l,w,Qe,Il(w,pl(e)),De+", cellCallback: "+$,t+", rowId, cellCallback as any"),L(e,((n,d,s,r,I)=>{const $="Map"+El(d,1);Ie(X,d,$);const c=d+(A(s)?ke:a);H([[c],[o],[Q,`, cell: ${d} | `+$,", cell as any"],[Q]],(([d,o=a,s=a],$)=>U($,l+I,w,d,gl(e,n,$),De+o,t+", rowId, "+r+s))),U(1,l+I,p+w,o,fl[1]+` the '${n}' Cell anywhere in `+bl(e),a,t+", "+r)}))})),U(0,a,C+Ve,Ve,ol(1,6)),U(2,a,C+Ve,Q,ol(1,7),"tablesJson: "+Ve,"tables"+Ve),_(i+C,N,ol(1,8,0,1)+" changes"),_(C,G,ol(1,8)+" changes"),_(h,j,il(2,0,1)),_(i+p,J,il(3,0,0,1),`tableId: ${n} | null`,"tableId"),_(p,z,il(3,0),`tableId: ${n} | null`,"tableId"),_(p+T,B,il(14,3,1),`tableId: ${n} | null`,"tableId"),_(i+p+w,F,il(16,3,0,1),`tableId: ${n} | null, cellId: ${M(E((e=>oe(ie,e)?.[4]??a))," | ")} | null`,"tableId, cellId"),_(g+he,ee,il(15,3),`tableId: ${n} | null`,"tableId"),_(m,le,il(4,3,1),`tableId: ${n} | null`,"tableId"),_(f,ae,il(13,3,1),Dl("tableId: TId",`cellId: ${v}<TId>`+ke,"descending: boolean","offset: number","limit: number"+ke),Dl("tableId","cellId","descending","offset","limit"),1,"<TId extends TableId>"),_(i+g,ne,il(5,3,0,1),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(g,se,il(5,3),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(T,re,il(6,5,1),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(i+w,$e,il(7,5,0,1),`tableId: ${n} | null, rowId: IdOrNull, cellId: ${M(E((e=>oe(ie,e)?.[4]??a))," | ")} | null`,"tableId, rowId, cellId"),_(w,ce,il(7,5),`tableId: ${n} | null, rowId: IdOrNull, cellId: ${M(E((e=>oe(ie,e)?.[4]??a))," | ")} | null`,"tableId, rowId, cellId"),_(xe+w,ue,Le+" whenever an invalid Cell change was attempted","tableId: IdOrNull, rowId: IdOrNull, cellId: IdOrNull","tableId, rowId, cellId"),s(1,Z,...te(X)),W(K,".set"+C+Ge+"({",Ol(E(((e,l,t)=>[`[${t}]: {`,...L(e,((e,l,t,n)=>`[${n}]: {[${R(Ll(r),`'${r}'`)}]: ${R(Ll(l),`'${l}'`)}${A(t)?a:`, [${R(Ll(I),`'${I}'`)}]: `+(P(t)?R(Ll(t),`'${t}'`):t)}},`)),"},"]))),"})")}if(ee(l))s(null,t,v);else{const[e,l,n,d,$,c,u,b,p,C,h]=G(q,Q);s(1,Z,e,l,n,$,c,u,b,p,C,h),le=[e,l,n,c,u,b,p,C],H([[e],[o],[Q,"values: "+l,"values"],[Q],[Q,"partialValues: "+l,"partialValues"]],(([e,l,t],n)=>U(n,a,v,e,ol(2,n),l,t))),U(0,a,x,n+Me,rl(y,Je)),U(5,a,y,"void",Il(y,Je),"valueCallback: "+$,"valueCallback as any"),N(((e,l,t,n,d)=>{const s="Map"+El(l,1);Ie(X,l,s),H([[l],[o],[Q,`value: ${l} | `+s,", value as any"],[Q]],(([l,t,o=a],s)=>U(s,d,y,l,ml(e,s),t,n+o)))})),U(0,a,v+Ve,Ve,ol(2,6)),U(2,a,v+Ve,Q,ol(2,7),"valuesJson: "+Ve,"values"+Ve),_(i+v,c,ol(2,8,0,1)+" changes"),_(v,u,ol(2,8)+" changes"),_(x,b,il(10,0,1)),_(i+y,p,il(11,0,0,1),`valueId: ${n} | null`,"valueId"),_(y,C,il(11,0),`valueId: ${n} | null`,"valueId"),_(xe+y,h,Le+" whenever an invalid Value change was attempted","valueId: IdOrNull","valueId"),s(1,Z,...te(X)),s(0,t,"ValueChange"),W(K,".set"+v+Ge+"({",N(((e,l,t,n)=>[`[${n}]: {[${R(Ll(r),`'${r}'`)}]: ${R(Ll(l),`'${l}'`)}${A(t)?a:`, [${R(Ll(I),`'${I}'`)}]: `+(P(t)?R(Ll(t),`'${t}'`):t)}},`])),"})")}U(0,a,"Content",`[${C}, ${v}]`,ol(0,0)),U(2,a,"Content",Q,ol(0,2),`[tables, values]: [${C}, ${v}]`,"[tables, values]"),U(2,a,We,Q,`Applies a set of ${We} to the Store`,"transactionChanges: "+We,"transactionChanges"),se(X,((e,l)=>c(l,`(cell: ${e}${ke}) => `+e,`Takes a ${e} Cell value and returns another`))),s(null,t,"DoRollback",ve,"IdOrNull",Ve,"Store",We),s(0,t,"Get"+We,"GetTransactionLog"),U(0,a,Ve,Ve,ol(0,6)),U(2,a,Ve,Q,ol(0,7),"tablesAndValuesJson: "+Ve,"tablesAndValuesJson"),U(7,a,Be,"Return",Fe,Te,"actions, doRollback","<Return>"),U(7,a,"start"+ze,Q,Ue),U(7,a,"finish"+ze,Q,_e,we,"doRollback");const ae=j(q,Q);return _("Start"+ze,ae,Le+" just before the start of the "+Be,a,a,0),_("WillFinish"+ze,ae,Le+" just before "+Ze,a,a,0),_("DidFinish"+ze,ae,Le+" just after "+Ze,a,a,0),U(7,a,"call"+$,Q,"Manually provoke a listener to be called","listenerId: Id","listenerId"),U(3,a,$,Q,"Remove a listener that was previously added to "+Je,"listenerId: Id","listenerId"),B("getStore",a,"Store","store",fl[0]+" the underlying Store object"),s(1,t,"createStore"),s(1,Z,Q,`create${Q} as create${Q}Decl`,ae),R("store",["createStore()",...K]),V("fluent","actions: () => Store",["actions();",`return ${q};`]),V("proxy","listener: any",`(_: Store, ...params: any[]) => listener(${q}, ...params)`),R(q,["{",...z(1),"}"]),[d(...k(0),...S(),ye+" interface "+Q+" {",...z(0),"}",a,Nl(`Creates a ${Q} object`),ye+" function create"+Q+"(): "+Q+";"),d(...k(1),ye+" const create"+Q+": typeof create"+Q+"Decl = () => {",...O(),`return Object.freeze(${q});`,"};"),Y,le]},_l=e=>c+e,Zl=e=>Dl(_l(e),_l(e)+me),Ql="debugIds?: boolean",ql="debugIds={debugIds}",Kl="then"+fe,Xl="Parameter",Yl=": (parameter: "+Xl+", store: Store) => ",et="const contextValue = useContext(Context);",lt=", based on a parameter",tt=": ",at="<"+Xl+",>",nt=Xl+"ized"+Ce+"<"+Xl+">",dt="rowId",ot="rowId={rowId}",st=", separator, debugIds",rt="separator?: ReactElement | string",It="then?: (store: Store",$t=Dl(It+")"+qe,Kl),ct="then, then"+me,ut=dt+tt+ve,it="View",bt=(e,...l)=>Dl(...l,Re+": "+e,Re+fe,"mutator?: boolean"),pt=(...e)=>Dl(...e,Re,Re+me,"mutator"),Ct=(e,l,n,d,r)=>{const[I,c,u,V,R,k,S,P]=Hl(),[O,E,L]=Jl(e,l,R),N=`./${El(n)}.d`,D=`./${El(n)}-ui-react.d`,G="tinybase/ui-react",j=El(n,1),H=El(j),J=j+"Or"+j+ve,z=H+"Or"+j+ve,B=H+`={${H}}`,U=de(),_=(e,l,t,n,d,o=a)=>(c(1,D,e+" as "+e+"Decl"),Sl(U,e,[l,t,n,d,o])),Z=(e,l,t,n,d,o=a)=>_("use"+e,l,t,n,d,o),Q=(e,l,t,n,d=a,o=a,s=a,r=a,I=a)=>(c(1,G,`use${l} as use${l}Core`),Z(e,Dl(d,le,r),t,ae+`(${z}, use${l}Core, [`+(o||a)+(I?"], ["+I:a)+"]);",n,s)),q=(e,l,t,a)=>_(e,l,1,t,a),K=(e=0)=>re(U,(([l,t,n,d,o],s)=>{const r=e?[ye+` const ${s}: typeof ${s}Decl = ${o}(${l}): ${1==t?"any":t} =>`,n]:[ye+` function ${s}${o}(${l}): ${1==t?"ComponentReturnType":t};`];return e||F(r,Nl(d)),W(r,a),r}));c(null,t,ve,"Store",Ce,Xl+"ized"+Ce),c(0,G,"ComponentReturnType"),c(1,G,"useCellIds"),c(null,G,"ExtraProps"),c(0,N,j);const X=u(J,j+" | "+ve,`Used when you need to refer to a ${j} in a React hook or component`),Y=u(Ee+Oe,jl(H+Ae+j,H+`ById?: {[${H}Id: Id]: ${j}}`),`Used with the ${Ee} component, so that a `+j+" can be passed into the context of an application");c(0,"react","ReactElement","ComponentType"),c(1,"react","React"),c(1,D,X,Y);const le=z+Ae+X;R("{createContext, useContext, useMemo}","React"),R("Context",`createContext<[${j}?, {[${H}Id: Id]: ${j}}?]>([])`),Z("Create"+j,`create: () => ${j}, create`+fe,j,"\n// eslint-disable-next-line react-hooks/exhaustive-deps\nuseMemo(create, createDeps)",`Create a ${j} within a React application with convenient memoization`);const te=Z(j,"id?: Id",j+ke,["{",et,"return id == null ? contextValue[0] : contextValue[1]?.[id];","}"],`Get a reference to a ${j} from within a ${Ee} component context`),ae=V("useHook",z+`: ${X} | undefined, hook: (...params: any[]) => any, preParams: any[], postParams: any[] = []`,[`const ${H} = ${te}(${z} as Id);`,`return hook(...preParams, ((${z} == null || typeof ${z} == 'string')`,`? ${H} : ${z})?.getStore(), ...postParams)`]),ne=V("getProps","getProps: ((id: any) => ExtraProps) | undefined, id: Id","(getProps == null) ? ({} as ExtraProps) : getProps(id)"),se=V("wrap",Dl("children: any","separator?: any","encloseWithId?: boolean","id?: Id"),["const separated = separator==null || !Array.isArray(children)"," ? children"," : children.map((child, c) => (c > 0 ? [separator, child] : child));","return encloseWithId ? [id, ':{', separated, '}'] : separated;"]),Ie=V("useCustomOrDefaultCellIds",Dl("customCellIds: Ids | undefined","tableId: Id","rowId: Id",`${z}?: ${X} | undefined`),[`const defaultCellIds = ${ae}(${z}, useCellIds, [tableId, rowId]);`,"return customCellIds ?? defaultCellIds;"]),$e=R("NullComponent","() => null");if(!ee(e)){const[e,l,n,r,I,y,v,x,R,k,S,P,L,G,J,z,W,F,U,_]=d;c(null,N,e,l,n,I,y,v,x,R,k,S,P,L,G,J,z,W,U,F),c(0,N,r),c(1,N,j),c(null,t,b,"IdOrNull");const Z=V("tableView",`{${H}, rowComponent, getRowComponentProps, customCellIds`+st+"}: any, rowIds: Ids, tableId: Id, defaultRowComponent: React.ComponentType<any>",["const Row = rowComponent ?? defaultRowComponent;",`return ${se}(rowIds.map((rowId) => (`,"<Row","{..."+ne+"(getRowComponentProps, rowId)}","key={rowId}","tableId={tableId}",ot,"customCellIds={customCellIds}",B,ql,"/>","))",st,", tableId,",");"]),K=V("getDefaultTableComponent","tableId: Id",M(O(((e,l,t)=>`tableId == ${t} ? ${l}TableView : `)))+$e),X=V("getDefaultCellComponent","tableId: Id, cellId: Id",M(O(((e,l,t)=>`tableId == ${t} ? ${M(E(e,((e,t,a,n,d)=>`cellId == ${n} ? `+l+d+"CellView : ")))+$e} : `)))+$e);Q(i+C,i+C,o,ol(1,0,0,1)+pe),Q(C,C,e,ol(1,0)+pe);const Y=Q(h,h,n+Me,rl(p,Je)+pe);Q(je+C+Ce,je+C+Ce,nt,ol(1,9)+lt,Dl(_l(C)+Yl+l,_l(C)+fe),Zl(C),at,Dl(It,`tables: ${l})`+qe,Kl),ct),Q(ge+C+Ce,ge+C+Ce,Ce,ol(1,12),a,a,a,$t,ct);const ee=u(w+Oe,jl("tableId?: TId","rowId: Id","cellId?: CId",H+Ae+j,Ql),$l(ie+w),`<TId extends ${n}, CId extends ${r}<TId>>`),le=u(g+Oe,jl("tableId?: TId","rowId: Id",H+Ae+j,"cellComponents?: {readonly [CId in "+r+`<TId>]?: ComponentType<${ee}<TId, CId>>;}`,`getCellComponentProps?: (cellId: ${r}<TId>) => ExtraProps`,`customCellIds?: ${r}<TId>[]`,rt,Ql),$l(ie+g),`<TId extends ${n}>`),te=u(p+Oe,jl("tableId?: TId",H+Ae+j,`rowComponent?: ComponentType<${le}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps","customCellIds?: CellId<TId>[]",rt,Ql),$l(ie+p),`<TId extends ${n}>`),ae=u("Sorted"+p+Oe,jl("tableId?: TId","cellId?: "+r+"<TId>","descending?: boolean","offset?: number","limit?: number",H+Ae+j,`rowComponent?: ComponentType<${le}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps","customCellIds?: CellId<TId>[]",rt,Ql),$l(ie+"sorted "+p),`<TId extends ${n}>`),de=u(C+Oe,jl(H+Ae+j,"tableComponents?: {readonly [TId in "+n+`]?: ComponentType<${te}<TId>>;}`,`getTableComponentProps?: (tableId: ${n}) => ExtraProps`,rt,Ql),$l(dl(1,1)));c(1,D,de,te,ae,le,ee),q(C+it,"{"+H+", tableComponents, getTableComponentProps"+st+"}: "+de,[se+`(${Y}(${H}).map((tableId) => {`,"const Table = (tableComponents?.[tableId] ?? "+K+"(tableId)) as React.ComponentType<TableProps<typeof tableId>>;","return <Table",`{...${ne}(getTableComponentProps, tableId)}`,"tableId={tableId}","key={tableId}",B,ql,"/>;","}), separator)"],ol(1,13)+pe),O(((e,l,t)=>{const[n,d,r,I,$]=oe(_,e);c(null,N,n,d,r,I,$),Q(i+l+p,i+p,o,Cl(e,0,1)+pe,a,t),Q(l+p,p,n,Cl(e)+pe,a,t),Q(l+p+T,p+T,b,rl(w,"the whole of "+bl(e))+pe,a,t),Q(l+g+he,g+he,s,"Gets the number of Rows in "+bl(e)+pe,a,t);const u=Q(l+m,m,b,rl(g,bl(e))+pe,a,t),C=Q(l+f,f,b,rl(g,bl(e),1)+pe,"cellId?: "+$+", descending?: boolean, offset?: number, limit?: number",t+", cellId, descending, offset, limit");Q(i+l+g,i+g,o,hl(e,0,1)+pe,ut,Dl(t,dt)),Q(l+g,g,r,hl(e)+pe,ut,Dl(t,dt)),Q(l+T,T,$+Me,rl(w,pl(e))+pe,ut,Dl(t,dt)),Q(je+l+p+Ce,je+p+Ce,nt,Cl(e,9)+lt,Dl(_l(p)+Yl+d,_l(p)+fe),Dl(t,Zl(p)),at,Dl(It,`table: ${d})`+qe,Kl),ct),Q(ge+l+p+Ce,ge+p+Ce,Ce,Cl(e,12),a,t,a,$t,ct),Q(je+l+g+Ce,je+g+Ce,nt,hl(e,9)+lt,Dl(ut,_l(g)+Yl+I,_l(g)+fe),Dl(t,dt,Zl(g)),at,Dl(It,`row: ${I})`+qe,Kl),ct),Q("Add"+l+g+Ce,"Add"+g+Ce,nt,hl(e,10)+lt,Dl(_l(g)+Yl+I,_l(g)+fe),Dl(t,Zl(g)),at,"then?: ("+Dl(ut+ke,"store: Store","row: "+I+")"+qe,"then"+fe)+", reuseRowIds?: boolean",ct+", reuseRowIds"),Q(je+l+Pe+g+Ce,je+Pe+g+Ce,nt,hl(e,11)+lt,Dl(ut,_l(Pe+g)+Yl+I,_l(Pe+g)+fe),Dl(t,dt,Zl(Pe+g)),at,Dl(It,`partialRow: ${I})`+qe,Kl),ct),Q(ge+l+g+Ce,ge+g+Ce,Ce,hl(e,12),ut,Dl(t,dt),a,$t,ct);const h=q(l+g+it,"{rowId, "+H+", cellComponents, getCellComponentProps, customCellIds"+st+`}: ${le}<'${e}'>`,[se+`(${Ie}(customCellIds, `+t+`, rowId, ${H}).map((cellId: ${$}) => {`,"const Cell = (cellComponents?.[cellId] ?? "+X+`(${t}, cellId)) as React.ComponentType<CellProps<typeof `+t+", typeof cellId>>;","return <Cell",`{...${ne}(getCellComponentProps, cellId)} `,"key={cellId}",`tableId={${t}}`,ot,"cellId={cellId}",B,ql,"/>;","})"+st+", rowId)"],hl(e,13)+pe);q(l+"Sorted"+p+it,"{cellId, descending, offset, limit, ...props}: "+ae+`<'${e}'>`,Z+"(props, "+C+`(cellId, descending, offset, limit, props.${H}), ${t}, ${h});`,Cl(e,13)+", sorted"+pe),q(l+p+it,`props: ${te}<'${e}'>`,Z+"(props, "+u+`(props.${H}), ${t}, ${h});`,Cl(e,13)+pe),E(e,((n,d,s,r,I)=>{const $="Map"+El(d,1);c(0,N,$),c(1,N,$),Q(i+l+I+p+w,i+p+w,o,`Gets ${nl(1)}the '${n}' Cell anywhere in `+bl(e)+pe,a,Dl(t,r)),Q(i+l+I+w,i+w,o,gl(e,n,0,1)+pe,ut,Dl(t,dt,r));const u=Q(l+I+w,w,d+(A(s)?ke:a),gl(e,n)+pe,ut,Dl(t,dt,r));Q(je+l+I+w+Ce,je+w+Ce,nt,gl(e,n,9)+lt,Dl(ut,_l(w)+Yl+d+" | "+$,_l(w)+fe),Dl(t,dt,r,Zl(w)),at,Dl(It,`cell: ${d} | ${$})`+qe,Kl),ct),Q(ge+l+I+w+Ce,ge+w+Ce,Ce,gl(e,n,12),Dl(ut,"forceDel?: boolean"),Dl(t,dt,r,"forceDel"),a,$t,ct),q(l+I+w+it,`{rowId, ${H}, debugIds}: `+ee+`<'${e}', '${n}'>`,[se+`('' + ${u}(rowId, `+H+`) ?? '', undefined, debugIds, ${r})`],gl(e,n,13)+pe)}))}));const re=M(O((e=>oe(_,e)?.[4]??a))," | ");Q(i+C+$,i+C+$,Qe,ol(1,8,0,1)+" changes",bt(I),pt()),Q(C+$,C+$,Qe,ol(1,8)+" changes",bt(y),pt()),Q(h+$,h+$,Qe,il(2,0,1),bt(v),pt()),Q(i+p+$,i+p+$,Qe,il(3,0,0,1),bt(x,`tableId: ${n} | null`),pt("tableId")),Q(p+$,p+$,Qe,il(3,0),bt(R,`tableId: ${n} | null`),pt("tableId")),Q(p+T+$,p+T+$,Qe,il(14,3,1),bt(k,`tableId: ${n} | null`),pt("tableId")),Q(i+p+w+$,i+p+w+$,Qe,il(16,3,0,1),bt(S,`tableId: ${n} | null`,`cellId: ${re} | null`),pt("tableId","cellId")),Q(g+he+$,g+he+$,Qe,il(15,3),bt(P,`tableId: ${n} | null`),pt("tableId")),Q(m+$,m+$,Qe,il(4,3,1),bt(L,`tableId: ${n} | null`),pt("tableId")),Q(f+$,f+$,Qe,il(13,3,1),bt(G,`tableId: ${n} | null`,"cellId: "+re+ke,"descending: boolean","offset: number","limit: number"+ke),pt("tableId","cellId","descending","offset","limit")),Q(i+g+$,i+g+$,Qe,il(5,3,0,1),bt(J,`tableId: ${n} | null`,dt+": IdOrNull"),pt("tableId",dt)),Q(g+$,g+$,Qe,il(5,3),bt(z,`tableId: ${n} | null`,dt+": IdOrNull"),pt("tableId",dt)),Q(T+$,T+$,Qe,il(6,5,1),bt(W,`tableId: ${n} | null`,dt+": IdOrNull"),pt("tableId",dt)),Q(i+w+$,i+w+$,Qe,il(7,5,0,1),bt(F,`tableId: ${n} | null`,dt+": IdOrNull",`cellId: ${re} | null`),pt("tableId",dt,"cellId")),Q(w+$,w+$,Qe,il(7,5),bt(U,`tableId: ${n} | null`,dt+": IdOrNull",`cellId: ${re} | null`),pt("tableId",dt,"cellId"))}if(!ee(l)){const[e,l,t,n,d,s,I,b]=r;c(null,N,...r),c(1,N,j);const p=V("getDefaultValueComponent","valueId: Id",M(L(((e,l,t,a,n)=>`valueId == ${a} ? `+n+"ValueView : ")))+$e);Q(i+v,i+v,o,ol(2,0,0,1)+pe),Q(v,v,e,ol(2,0)+pe);const C=Q(x,x,t+Me,rl(y,Je)+pe);Q(je+v+Ce,je+v+Ce,nt,ol(2,9)+lt,Dl(_l(v)+Yl+l,_l(v)+fe),Zl(v),at,Dl(It,`values: ${l})`+qe,Kl),ct),Q(je+Pe+v+Ce,je+Pe+v+Ce,nt,ol(2,11)+lt,Dl(_l(Pe+v)+Yl+l,_l(Pe+v)+fe),Zl(Pe+v),at,Dl(It,`partialValues: ${l})`+qe,Kl),ct),Q(ge+v+Ce,ge+v+Ce,Ce,ol(2,12),a,a,a,$t,ct);const h=u(y+Oe,jl("valueId?: VId",H+Ae+j,Ql),$l("a Value"),`<VId extends ${t}>`),g=u(v+Oe,jl(H+Ae+j,"valueComponents?: {readonly [VId in "+t+`]?: ComponentType<${h}<VId>>;}`,`getValueComponentProps?: (valueId: ${t}) => ExtraProps`,rt,Ql),$l(dl(2,1)));c(1,D,g,h),q(v+it,"{"+H+", valueComponents, getValueComponentProps"+st+"}: "+g,[se+`(${C}(${H}).map((valueId) => {`,"const Value = valueComponents?.[valueId] ?? "+p+"(valueId);","return <Value",`{...${ne}(getValueComponentProps, valueId)}`,"key={valueId}",B,ql,"/>;","}), separator)"],ol(2,13)+pe),L(((e,l,t,n,d)=>{const s="Map"+El(l,1);c(0,N,s),c(1,N,s),Q(i+d+y,i+y,o,ml(e,0,1)+pe,a,n);const r=Q(d+y,y,l,ml(e)+pe,a,n);Q(je+d+y+Ce,je+y+Ce,nt,ml(e,9)+lt,Dl(_l(y)+Yl+l+" | "+s,_l(y)+fe),Dl(n,Zl(y)),at,Dl(It,`value: ${l} | ${s})`+qe,Kl),ct),Q(ge+d+y+Ce,ge+y+Ce,Ce,ml(e,12),a,n,a,$t,ct),q(d+y+it,`{${H}, debugIds}: ${h}<'${e}'>`,[se+`('' + ${r}(`+H+`) ?? '', undefined, debugIds, ${n})`],ml(e,13)+pe)})),Q(i+v+$,i+v+$,Qe,ol(2,8,0,1)+" changes",bt(n),pt()),Q(v+$,v+$,Qe,ol(2,8)+" changes",bt(d),pt()),Q(x+$,x+$,Qe,il(10,0,1),bt(s),pt()),Q(i+y+$,i+y+$,Qe,il(11,0,0,1),bt(I,`valueId: ${t} | null`),pt("valueId")),Q(y+$,y+$,Qe,il(11,0),bt(b,`valueId: ${t} | null`),pt("valueId"))}return q(Ee,`{${H}, ${H}ById, children}: `+Y+" & {children: React.ReactNode}",["{",et,"return (","<Context."+Ee,"value={useMemo(",`() => [${H} ?? contextValue[0], {...contextValue[1], ...${H}ById}],`,`[${H}, ${H}ById, contextValue],`,")}>","{children}",`</Context.${Ee}>`,");","}"],"Wraps part of an application in a context that provides default objects to be used by hooks and components within"),[I(...k(0),...S(),...K(0)),I(...k(1),...P(),...K(1))]},ht=(e,l,t)=>{if(ee(e)&&ee(l))return[a,a,a,a];const[n,d,o,s]=Ul(e,l,t);return[n,d,...Ct(e,l,t,o,s)]},gt=JSON.parse,mt="prettier/",ft=mt+"plugins/",wt={parser:"typescript",singleQuote:!0,trailingComma:"all",bracketSpacing:!1,jsdocSingleLineComment:!1},Tt=Ml((e=>{const l=()=>{const l=gt(e.getTablesSchemaJson());return!ee(l)||G(e.getTableIds(),(t=>{const a=e.getRowIds(t),n=de();if(G(a,(l=>G(e.getCellIds(t,l),(a=>{const d=e.getCell(t,l,a),o=$e(n,a,(()=>[D(d),de(),[0],0])),[s,r,[I]]=o,$=$e(r,d,(()=>0))+1;return $>I&&(o[2]=[$,d]),Ie(r,d,$),o[3]++,s==D(d)})))))return l[t]={},ae(n,(([e,,[,n],d],o)=>{l[t][o]={[r]:e,...d==L(a)?{[I]:n}:{}}})),1}))?l:{}},t=()=>{const l=gt(e.getValuesSchemaJson());return ee(l)&&e.forEachValue(((e,t)=>{l[e]={[r]:D(t)}})),l},a=e=>ht(l(),t(),e),n=async e=>{const l=["d.ts","ts","d.ts","tsx"],t=[];let n;try{n=(await import(mt+"standalone")).format,W(t,await import(ft+"estree"),await import(ft+"typescript"))}catch(e){n=async e=>e}return await N(J(a(e),(async(e,a)=>Pl(await n(e,{...wt,plugins:t,filepath:"_."+l[a]})))))};return q({getStoreStats:l=>{let t=0,a=0,n=0;const d={};return e.forEachTable(((e,o)=>{t++;let s=0,r=0;const I={};o(((e,t)=>{s++;let a=0;t((()=>a++)),r+=a,l&&(I[e]={rowCells:a})})),a+=s,n+=r,l&&(d[e]={tableRows:s,tableCells:r,rows:I})})),{totalTables:t,totalRows:a,totalCells:n,totalValues:L(e.getValueIds()),jsonLength:L(e.getJson()),...l?{detail:{tables:d}}:{}}},getStoreTablesSchema:l,getStoreValuesSchema:t,getStoreApi:a,getPrettyStoreApi:n,getStore:()=>e})}));e.createTools=Tt},"object"==typeof exports&&"undefined"!=typeof module?l(exports):"function"==typeof define&&define.amd?define(["exports"],l):l((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseTools={});
1
+ var e,l;e=this,l=function(e){"use strict";const l=e=>typeof e,t="tinybase",a="",n=",",d=l(a),o=l(!0),s=l(0),r="type",I="default",$="Listener",c="get",u="add",i="Has",b="Ids",p="Table",C=p+"s",h=p+b,g="Row",m=g+b,f="Sorted"+g+b,w="Cell",T=w+b,y="Value",v=y+"s",x=y+b,V=Promise,R=isFinite,A=e=>null==e,k=(e,l,t)=>A(e)?t?.():l(e),S=e=>e==d||e==o,P=e=>l(e)==d,O=e=>Array.isArray(e),E=(e,l,t)=>e.slice(l,t),L=e=>e.length,N=async e=>V.all(e),D=e=>{const t=l(e);return S(t)||t==s&&R(e)?t:void 0},G=(e,l)=>e.every(l),j=(e,l)=>e.sort(l),H=(e,l)=>e.forEach(l),M=(e,l=a)=>e.join(l),J=(e,l)=>e.map(l),z=(e,l)=>e.filter(l),W=(e,...l)=>e.push(...l),B=e=>e.pop(),F=(e,...l)=>e.unshift(...l),U=e=>e.shift(),_=Object,Z=e=>_.getPrototypeOf(e),Q=_.entries,q=_.keys,K=_.freeze,X=e=>!A(e)&&k(Z(e),(e=>e==_.prototype||A(Z(e))),(()=>!0)),Y=(e,l)=>J(Q(e),(([e,t])=>l(t,e))),ee=e=>L(q(e)),le=e=>X(e)&&0==ee(e),te=(e,l)=>e?.has(l)??!1,ae=e=>[...e?.values()??[]],ne=(e,l)=>e?.forEach(l),de=(e,l)=>e?.delete(l),oe=e=>new Map(e),se=(e,l)=>e?.get(l),re=(e,l)=>ne(e,((e,t)=>l(t,e))),Ie=(e,l)=>J([...e?.entries()??[]],(([e,t])=>l(t,e))),$e=(e,l,t)=>A(t)?(de(e,l),e):e?.set(l,t),ce=(e,l,t)=>(te(e,l)||$e(e,l,t()),se(e,l)),ue=e=>e.toUpperCase(),ie=e=>e.toLowerCase(),be="a ",pe="A function for",Ce=", and registers a listener so that any changes to that result will cause a re-render",he="Callback",ge="Count",me="Del",fe="Deps",we=fe+"?: React.DependencyList",Te="doRollback?: DoRollback",ye="actions: () => Return, "+Te,ve="export",xe="Id",Ve="Invalid",Re="Json",Ae=ie($),ke="?: ",Se=" | undefined",Pe="NonNullable",Oe="Partial",Ee="Props",Le="Provider",Ne=`Registers a ${Ae} that will be called`,De="Represents",Ge="rowId: "+xe,je="Schema",He="Set",Me=", descending?: boolean, offset?: number, limit?: number",Je="[]",ze="the Store",We="Transaction",Be=We+"Changes",Fe=ie(We),Ue="Execute a "+Fe+" to make multiple mutations",_e="Explicitly starts a "+Fe,Ze="Explicitly finishes a "+Fe,Qe="the end of the "+Fe,qe="void",Ke=" => "+qe,Xe="WhenSet",Ye=" when setting it",el=be+"string serialization of",ll=" ",tl="Gets a callback that can ",al="the ",nl=" the schema for",dl=(e=0)=>e?"the existence of ":"",ol=(e=0,l=0,t=0)=>dl(t)+`the ${vl[e]}content of`+(l?ll+ze:a),sl=(e=0,l,t=0,n=0)=>wl[l]+ll+dl(n)+ol(e,1)+(t?" when setting it":a),rl=(e,l=0)=>De+` a Row when ${l?"s":"g"}etting ${ol()} the '${e}' `+p,Il=(e,l,t=0)=>`Gets ${t?"sorted, paginated":"the"} Ids of the ${e}s in `+l,$l=(e,l)=>`Calls a function for each ${e} in `+l,cl=e=>"The props passed to a component that renders "+e,ul=e=>"A function that takes "+e,il=(e,l=0,t=0)=>pe+" listening to changes to "+dl(t)+yl[e]+" in "+yl[l],bl=(e,l,t=0,n=0)=>Ne+" whenever "+dl(n)+yl[e]+" in "+yl[l]+" change"+(t?a:"s"),pl=e=>`the '${e}' `+p,Cl=e=>"the specified Row in "+pl(e),hl=(e,l=0,t=0)=>wl[l]+ll+ol(0,0,t)+ll+pl(e),gl=(e,l=0,t=0)=>wl[l]+` ${ol(0,0,t)} `+Cl(e),ml=(e,l,t=0,a=0)=>wl[t]+ll+dl(a)+`the '${l}' Cell for `+Cl(e),fl=(e,l=0,t=0)=>wl[l]+ll+dl(t)+`the '${e}' Value`,wl=["Gets","Checks existence of","Sets","Deletes","Sets part of",De,"Gets "+el,"Sets "+el,Ne+" whenever",tl+"set",tl+"add",tl+"set part of",tl+"delete","Renders","Gets "+el+nl,"Sets"+nl,"Deletes"+nl],Tl=[c,"has","set","del","set","forEach",u,a],yl=[ze,C,al+p+ll+b,be+p,al+g+ll+b,be+g,al+w+ll+b,be+w,"invalid Cell changes",v,al+y+ll+b,be+y,"invalid Value changes",al+"sorted "+g+ll+b,al+w+ll+b+" anywhere",al+"number of Rows",be+w+" anywhere"],vl=[a,"tabular ","keyed value "],xl=e=>new Set(O(e)||A(e)?e:[e]),Vl=(e,l)=>e?.add(l),Rl=/[^A-Za-z]+/,Al=/[^A-Za-z0-9]+/,kl=/^( *)\/\*\* *(.*?) *\*\/$/gm,Sl=e=>e.includes(n),Pl=(e,l,t,a=1)=>{const n=`${l}${1==a?"":a}`;return te(e,n)?Pl(e,l,t,a+1):($e(e,n,t),n)},Ol=e=>e.replace(kl,((e,l,t)=>{const a=77-L(l);return`${l}/**\n${t.replace(RegExp(`([^\\n]{1,${a}})(\\s|$)`,"g"),l+" * $1\n")}${l} */`})),El=e=>e.flat(1e3),Ll=(e,l=0)=>M(J(e.split(Al),((e,t)=>(t>0||l?ue:ie)(E(e,0,1))+E(e,1)))),Nl=e=>ue(M((e&&!Rl.test(e[0])?e:" "+e).split(Al),"_")),Dl=e=>`/** ${e}. */`,Gl=(...e)=>M(z(e,(e=>e)),", "),jl=(...e)=>"{"+M(e,"; ")+"}",Hl=(...e)=>jl(...J(e,(e=>"readonly "+e))),Ml=()=>{const e=[oe(),oe(),oe(),oe()],l=oe(),t=oe(),n=e=>{const l=e.indexOf(" as ");return-1!=l?E(e,l+4):e};return[(...e)=>M(El(e),"\n"),(l,t,...a)=>H(a,(a=>H([0,1],(n=>(l??n)==n?Vl(ce(e[n],t,xl),a):0)))),(e,t,n,d=a,o=1)=>Pl(l,e,[t,n,d,o]),(e,l,a)=>Pl(t,e,O(a)?[`(${l}) => {`,a,"}"]:[`(${l}) => ${a}`]),(e,l)=>se(t,e)===l?e:Pl(t,e,l),(l=0)=>J([...j(Ie(e[l],((e,l)=>`import {${M(j(ae(e),((e,l)=>n(e)>n(l)?1:-1)),", ")}} from '${l}';`)),((e,l)=>Sl(e)!=Sl(l)?Sl(e)?-1:1:e>l?1:-1)),a],(e=>e.replace("{React}","React"))),()=>Ie(l,(([e,l,t,n],d)=>[Dl(l),`${n?ve+" ":a}type ${d}${t} = ${e};`,a])),()=>Ie(t,((e,l)=>(e=O(e)?e:[e],W(e,B(e)+";"),[`const ${l} = ${U(e)}`,e,a])))]},Jl=(e,l)=>{const t=new WeakMap;return a=>{t.has(a)||t.set(a,e(a));const n=t.get(a);return l?.(n),n}},zl=(e,l,t)=>[l=>Y(e,((e,a)=>l(a,Ll(a,1),t(Nl(a),`'${a}'`)))),(l,a)=>Y(e[l],((e,l)=>a(l,e[r],e[I],t(Nl(l),`'${l}'`),Ll(l,1)))),e=>Y(l,((l,a)=>e(a,l[r],l[I],t(Nl(a),`'${a}'`),Ll(a,1))))],Wl=(e,l,t,n)=>[(n,d)=>{const o=n+": "+d,s=e(C,jl(...l((e=>`'${e}'?: {[rowId: Id]: `+jl(...t(e,((e,l,t)=>`'${e}'${A(t)?"?":a}: ${l}`)))+"}"))),sl(1,5)),r=e(C+Xe,jl(...l((e=>`'${e}'?: {[rowId: Id]: `+jl(...t(e,((e,l)=>`'${e}'?: ${l}`)))+"}"))),sl(1,5,1)),I=e(p+xe,"keyof "+s,"A "+p+" Id in "+ze),c=`<TId extends ${I}>`,u=e(p,Pe+`<${s}[TId]>`,"A "+p+" in "+ze,c),b=e(p+Xe,Pe+`<${r}[TId]>`,"A "+p+" in "+ze+Ye,c),y=e(g,u+"<TId>[Id]","A "+g+" in a "+p,c),v=e(g+Xe,b+"<TId>[Id]","A "+g+" in a "+p+Ye,c),x=e(w+xe,`Extract<keyof ${y}<TId>, Id>`,"A "+w+" Id in a "+g,c),V=e(w,Pe+`<${s}[TId]>[Id][CId]`,"A "+w+" in a "+g,`<TId extends ${I}, CId extends ${x}<TId>>`),R=e("CellIdCellArray",`CId extends ${x}<TId> ? [cellId: CId, cell: ${V}<TId, CId>] : never`,w+" Ids and types in a "+g,`<TId extends ${I}, CId = ${x}<TId>>`,0),k=e(w+he,`(...[cellId, cell]: ${R}<TId>)`+Ke,ul(be+w+" Id, and "+w),c),S=e(g+he,"(rowId: Id, forEachCell: (cellCallback: CellCallback<TId>) "+Ke+") "+Ke,ul(be+g+" Id, and a "+w+" iterator"),c),P=e(p+w+he,`(cellId: ${x}<TId>, count: number) `+Ke,ul(be+w+" Id, and count of how many times it appears"),c),O=e("TableIdForEachRowArray",`TId extends ${I} ? [tableId: TId, forEachRow: (rowCallback: ${S}<TId>)${Ke}] : never`,p+" Ids and callback types",`<TId = ${I}>`,0),E=e(p+he,`(...[tableId, forEachRow]: ${O})`+Ke,ul(be+p+" Id, and a "+g+" iterator"),a),L=e("TableIdRowIdCellIdArray",`TId extends ${I} ? [tableId: TId, rowId: Id, cellId: ${x}<TId>] : never`,"Ids for GetCellChange",`<TId = ${I}>`,0),N=e("GetCellChange",`(...[tableId, rowId, cellId]: ${L}) => CellChange`,pe+" returning information about any Cell's changes during a "+Fe),D=e(i+C+$,`(${o}, hasTables: boolean)`+Ke,il(1,0,1)),G=e(C+$,`(${o}, getCellChange: ${N}${Se})`+Ke,il(1)),j=e(h+$,`(${o})`+Ke,il(2)),H=e(i+p+$,`(${o}, tableId: ${I}, hasTable: boolean)`+Ke,il(3,0,1)),M=e(p+$,`(${o}, tableId: ${I}, getCellChange: ${N}${Se})`+Ke,il(3)),J=e(p+T+$,`(${o}, tableId: ${I})`+Ke,il(14,3)),z=e("HasTableCellListenerArgsArrayInner",`CId extends ${x}<TId> ? [${o}, tableId: TId, cellId: CId, hasTableCell: boolean] : never`,"Cell args for HasTableCellListener",`<TId extends ${I}, CId = ${x}<TId>>`,0),W=e("HasTableCellListenerArgsArrayOuter",`TId extends ${I} ? `+z+"<TId> : never","Table args for HasTableCellListener",`<TId = ${I}>`,0),B=e(i+p+w+$,`(...[${n}, tableId, cellId, hasTableCell]: `+W+")"+Ke,il(16,3,1)),F=e(g+"Count"+$,`(${o}, tableId: ${I})`+Ke,il(15,3)),U=e(m+$,`(${o}, tableId: ${I})`+Ke,il(4,3)),_=e(f+$,"("+Gl(o,"tableId: "+I,"cellId: Id"+Se,"descending: boolean","offset: number","limit: number"+Se,"sortedRowIds: Ids")+")"+Ke,il(13,3)),Z=e(i+g+$,"("+Gl(""+o,"tableId: "+I,Ge,"hasRow: boolean")+")"+Ke,il(5,3,1)),Q=e(g+$,"("+Gl(""+o,"tableId: "+I,Ge,`getCellChange: ${N}${Se}`)+")"+Ke,il(5,3)),q=e(T+$,"("+Gl(""+o,"tableId: "+I,Ge)+")"+Ke,il(6,5)),K=e("HasCellListenerArgsArrayInner",`CId extends ${x}<TId> ? [${o}, tableId: TId, ${Ge}, cellId: CId, hasCell: boolean] : never`,"Cell args for HasCellListener",`<TId extends ${I}, CId = ${x}<TId>>`,0),X=e("HasCellListenerArgsArrayOuter",`TId extends ${I} ? `+K+"<TId> : never","Table args for HasCellListener",`<TId = ${I}>`,0),Y=e(i+w+$,`(...[${n}, tableId, rowId, cellId, hasCell]: `+X+")"+Ke,il(7,5,1)),ee=e("CellListenerArgsArrayInner",`CId extends ${x}<TId> ? [${o}, tableId: TId, ${Ge}, cellId: CId, newCell: ${V}<TId, CId> ${Se}, oldCell: ${V}<TId, CId> ${Se}, getCellChange: ${N} ${Se}] : never`,"Cell args for CellListener",`<TId extends ${I}, CId = ${x}<TId>>`,0),le=e("CellListenerArgsArrayOuter",`TId extends ${I} ? `+ee+"<TId> : never","Table args for CellListener",`<TId = ${I}>`,0);return[s,r,I,u,b,y,v,x,V,k,S,P,E,D,G,j,H,M,J,B,F,U,_,Z,Q,q,Y,e(w+$,`(...[${n}, tableId, rowId, cellId, newCell, oldCell, getCellChange]: ${le})`+Ke,il(7,5)),e(Ve+w+$,`(${o}, tableId: Id, ${Ge}, cellId: Id, invalidCells: any[])`+Ke,il(8))]},(l,t)=>{const d=l+": "+t,o=e(v,jl(...n(((e,l,t)=>`'${e}'${A(t)?"?":a}: ${l}`))),sl(2,5)),s=e(v+Xe,jl(...n(((e,l)=>`'${e}'?: ${l}`))),sl(2,5,1)),r=e(y+xe,"keyof "+o,"A "+y+" Id in "+ze),I=e(y,Pe+`<${o}[VId]>`,"A "+y+" Id in "+ze,`<VId extends ${r}>`),c=e("ValueIdValueArray",`VId extends ${r} ? [valueId: VId, value: ${I}<VId>] : never`,y+" Ids and types in "+ze,`<VId = ${r}>`,0),u=e(y+he,`(...[valueId, value]: ${c})`+Ke,ul(be+y+" Id, and "+y)),b=e("GetValueChange",`(valueId: ${r}) => ValueChange`,pe+" returning information about any Value's changes during a "+Fe),p=e(i+v+$,`(${d}, hasValues: boolean)`+Ke,il(9,0,1)),C=e(v+$,`(${d}, getValueChange: ${b}${Se})`+Ke,il(9)),h=e(x+$,`(${d})`+Ke,il(10)),g=e(i+y+$,`(${d}, valueId: ValueId, hasValue: boolean)`+Ke,il(11,0,1)),m=e("ValueListenerArgsArray",`VId extends ${r} ? [${d}, valueId: VId, newValue: ${I}<VId> ${Se}, oldValue: ${I}<VId> ${Se}, getValueChange: ${b} ${Se}] : never`,"Value args for ValueListener",`<VId = ${r}>`,0);return[o,s,r,I,u,p,C,h,g,e(y+$,`(...[${l}, valueId, newValue, oldValue, getValueChange]: `+m+")"+Ke,il(11)),e(Ve+y+$,`(${d}, valueId: Id, invalidValues: any[])`+Ke,il(12))]},(l,t)=>e(We+$,`(${l}: ${t}, getTransactionChanges: GetTransactionChanges, getTransactionLog: GetTransactionLog)`+Ke,pe+" listening to the completion of a "+Fe)],Bl=(e,l=a,t=a)=>`store.${e}(${l})`+(t?" as "+t:a),Fl=(e,l=a)=>`fluent(() => ${Bl(e,l)})`,Ul=(e,l=a,t=a)=>`store.${e}(${l?l+", ":a}proxy(listener)${t?", "+t:a})`,_l=(e,l,n)=>{const[d,s,c,V,R,k,S,O]=Ml(),[E,L,N]=zl(e,l,R),[D,G,j]=Wl(c,E,L,N),J=oe(),z=(e=0)=>Ie(J,(([l,t,n,d,o],s)=>{const r=e?[s+`: ${o}(${l}): ${t} => ${n},`]:[s+o+`(${l}): ${t};`];return e||F(r,Dl(d)),W(r,a),r})),B=(e,l,t,n,d,o=a)=>Pl(J,e,[l,t,n,d,o]),U=(e,l,t,n,d,o=a,s=a,r=a)=>B(Tl[e]+l+(4==e?Oe:a)+t,o,n,(n==Q?Fl:Bl)(Tl[e]+(4==e?Oe:a)+t,s,e?void 0:n),d,r),_=(e,l,t,n=a,d=a,o=1,s=a)=>B(u+e+$,(n?n+", ":a)+Ae+": "+l+(o?", mutator?: boolean":a),xe,Ul(u+e+$,d,o?"mutator":a),t,s),Z=`./${Ll(n)}.d`,Q=Ll(n,1),q=Ll(Q),K=[],X=oe();let Y=[],ee=[];if(s(1,Z,Q,`create${Q} as create${Q}Decl`),le(e))s(null,t,C);else{s(0,t,"CellChange"),s(null,t,b);const[e,l,n,d,$,u,y,v,x,V,k,S,O,N,G,j,J,z,B,F,ee,le,te,ne,de,re,Ie,ce,ue]=D(q,Q),ie=oe();E(((e,l)=>{const t=`<'${e}'>`,a=[c(l+p,d+t,De+` the '${e}' `+p),c(l+p+Xe,$+t,De+` the '${e}' `+p+Ye),c(l+g,u+t,rl(e)),c(l+g+Xe,y+t,rl(e,1)),c(l+w+xe,v+t,`A Cell Id for the '${e}' `+p),c(l+w+he,V+t,ul(`a Cell Id and value from a Row in the '${e}' `+p)),c(l+g+he,k+t,ul(`a Row Id from the '${e}' Table, and a Cell iterator`)),c(l+p+w+he,S+t,ul(`a Cell Id from anywhere in the '${e}' Table, and a count of how many times it appears`))];$e(ie,e,a),s(1,Z,...a)})),s(1,Z,e,l,n,v,O,N,G,j,J,z,B,F,ee,le,te,ne,de,re,Ie,ce,ue),Y=[e,l,n,v,N,G,j,J,z,B,F,ee,le,te,ne,de,re,Ie,ce,ie],H([[e],[o],[Q,"tables: "+l,"tables"],[Q]],(([e,l,t],n)=>U(n,a,C,e,sl(1,n),l,t))),U(0,a,h,n+Je,Il(p,ze)),U(5,a,p,qe,$l(p,ze),"tableCallback: "+O,"tableCallback as any"),E(((e,l,t)=>{const[n,d,s,r,I,$,c,u]=se(ie,e);H([[n],[o],[Q,"table: "+d,", table"],[Q]],(([n,d,o=a],s)=>U(s,l,p,n,hl(e,s),d,t+o))),U(0,l,p+T,b,Il(w,"the whole of "+pl(e)),a,t),U(5,l,p+w,qe,$l(p+w,"the whole of "+pl(e)),"tableCellCallback: "+u,t+", tableCellCallback as any"),U(0,l,g+ge,"number","Gets the number of Rows in the "+pl(e),a,t),U(0,l,m,b,Il(g,pl(e)),a,t),U(0,l,f,b,Il(g,pl(e),1),"cellId?: "+I+Me,t+", cellId, descending, offset, limit"),U(5,l,g,qe,$l(g,pl(e)),"rowCallback: "+c,t+", rowCallback as any"),H([[s],[o],[Q,", row: "+r,", row"],[Q],[Q,", partialRow: "+r,", partialRow"]],(([n,d=a,o=a],s)=>U(s,l,g,n,gl(e,s),Ge+d,t+", rowId"+o))),U(6,l,g,xe+Se,"Add a new Row to "+pl(e),"row: "+r+", reuseIds?: boolean",t+", row, reuseIds"),U(0,l,T,I+Je,Il(w,Cl(e)),Ge,t+", rowId"),U(5,l,w,qe,$l(w,Cl(e)),Ge+", cellCallback: "+$,t+", rowId, cellCallback as any"),L(e,((n,d,s,r,I)=>{const $="Map"+Ll(d,1);$e(X,d,$);const c=d+(A(s)?Se:a);H([[c],[o],[Q,`, cell: ${d} | `+$,", cell as any"],[Q]],(([d,o=a,s=a],$)=>U($,l+I,w,d,ml(e,n,$),Ge+o,t+", rowId, "+r+s))),U(1,l+I,p+w,o,wl[1]+` the '${n}' Cell anywhere in `+pl(e),a,t+", "+r)}))})),U(0,a,C+Re,Re,sl(1,6)),U(2,a,C+Re,Q,sl(1,7),"tablesJson: "+Re,"tables"+Re),_(i+C,N,sl(1,8,0,1)+" changes"),_(C,G,sl(1,8)+" changes"),_(h,j,bl(2,0,1)),_(i+p,J,bl(3,0,0,1),`tableId: ${n} | null`,"tableId"),_(p,z,bl(3,0),`tableId: ${n} | null`,"tableId"),_(p+T,B,bl(14,3,1),`tableId: ${n} | null`,"tableId"),_(i+p+w,F,bl(16,3,0,1),`tableId: ${n} | null, cellId: ${M(E((e=>se(ie,e)?.[4]??a))," | ")} | null`,"tableId, cellId"),_(g+ge,ee,bl(15,3),`tableId: ${n} | null`,"tableId"),_(m,le,bl(4,3,1),`tableId: ${n} | null`,"tableId"),_(f,te,bl(13,3,1),Gl("tableId: TId",`cellId: ${v}<TId>`+Se,"descending: boolean","offset: number","limit: number"+Se),Gl("tableId","cellId","descending","offset","limit"),1,"<TId extends TableId>"),_(i+g,ne,bl(5,3,0,1),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(g,de,bl(5,3),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(T,re,bl(6,5,1),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(i+w,Ie,bl(7,5,0,1),`tableId: ${n} | null, rowId: IdOrNull, cellId: ${M(E((e=>se(ie,e)?.[4]??a))," | ")} | null`,"tableId, rowId, cellId"),_(w,ce,bl(7,5),`tableId: ${n} | null, rowId: IdOrNull, cellId: ${M(E((e=>se(ie,e)?.[4]??a))," | ")} | null`,"tableId, rowId, cellId"),_(Ve+w,ue,Ne+" whenever an invalid Cell change was attempted","tableId: IdOrNull, rowId: IdOrNull, cellId: IdOrNull","tableId, rowId, cellId"),s(1,Z,...ae(X)),W(K,".set"+C+je+"({",El(E(((e,l,t)=>[`[${t}]: {`,...L(e,((e,l,t,n)=>`[${n}]: {[${R(Nl(r),`'${r}'`)}]: ${R(Nl(l),`'${l}'`)}${A(t)?a:`, [${R(Nl(I),`'${I}'`)}]: `+(P(t)?R(Nl(t),`'${t}'`):t)}},`)),"},"]))),"})")}if(le(l))s(null,t,v);else{const[e,l,n,d,$,c,u,b,p,C,h]=G(q,Q);s(1,Z,e,l,n,$,c,u,b,p,C,h),ee=[e,l,n,c,u,b,p,C],H([[e],[o],[Q,"values: "+l,"values"],[Q],[Q,"partialValues: "+l,"partialValues"]],(([e,l,t],n)=>U(n,a,v,e,sl(2,n),l,t))),U(0,a,x,n+Je,Il(y,ze)),U(5,a,y,"void",$l(y,ze),"valueCallback: "+$,"valueCallback as any"),N(((e,l,t,n,d)=>{const s="Map"+Ll(l,1);$e(X,l,s),H([[l],[o],[Q,`value: ${l} | `+s,", value as any"],[Q]],(([l,t,o=a],s)=>U(s,d,y,l,fl(e,s),t,n+o)))})),U(0,a,v+Re,Re,sl(2,6)),U(2,a,v+Re,Q,sl(2,7),"valuesJson: "+Re,"values"+Re),_(i+v,c,sl(2,8,0,1)+" changes"),_(v,u,sl(2,8)+" changes"),_(x,b,bl(10,0,1)),_(i+y,p,bl(11,0,0,1),`valueId: ${n} | null`,"valueId"),_(y,C,bl(11,0),`valueId: ${n} | null`,"valueId"),_(Ve+y,h,Ne+" whenever an invalid Value change was attempted","valueId: IdOrNull","valueId"),s(1,Z,...ae(X)),s(0,t,"ValueChange"),W(K,".set"+v+je+"({",N(((e,l,t,n)=>[`[${n}]: {[${R(Nl(r),`'${r}'`)}]: ${R(Nl(l),`'${l}'`)}${A(t)?a:`, [${R(Nl(I),`'${I}'`)}]: `+(P(t)?R(Nl(t),`'${t}'`):t)}},`])),"})")}U(0,a,"Content",`[${C}, ${v}]`,sl(0,0)),U(2,a,"Content",Q,sl(0,2),`[tables, values]: [${C}, ${v}]`,"[tables, values]"),U(2,a,Be,Q,`Applies a set of ${Be} to the Store`,"transactionChanges: "+Be,"transactionChanges"),re(X,((e,l)=>c(l,`(cell: ${e}${Se}) => `+e,`Takes a ${e} Cell value and returns another`))),s(null,t,"DoRollback",xe,"IdOrNull",Re,"Store",Be),s(0,t,"Get"+Be,"GetTransactionLog"),U(0,a,Re,Re,sl(0,6)),U(2,a,Re,Q,sl(0,7),"tablesAndValuesJson: "+Re,"tablesAndValuesJson"),U(7,a,Fe,"Return",Ue,ye,"actions, doRollback","<Return>"),U(7,a,"start"+We,Q,_e),U(7,a,"finish"+We,Q,Ze,Te,"doRollback");const te=j(q,Q);return _("Start"+We,te,Ne+" just before the start of the "+Fe,a,a,0),_("WillFinish"+We,te,Ne+" just before "+Qe,a,a,0),_("DidFinish"+We,te,Ne+" just after "+Qe,a,a,0),U(7,a,"call"+$,Q,"Manually provoke a listener to be called","listenerId: Id","listenerId"),U(3,a,$,Q,"Remove a listener that was previously added to "+ze,"listenerId: Id","listenerId"),B("getStore",a,"Store","store",wl[0]+" the underlying Store object"),s(1,t,"createStore"),s(1,Z,Q,`create${Q} as create${Q}Decl`,te),R("store",["createStore()",...K]),V("fluent","actions: () => Store",["actions();",`return ${q};`]),V("proxy","listener: any",`(_: Store, ...params: any[]) => listener(${q}, ...params)`),R(q,["{",...z(1),"}"]),[d(...k(0),...S(),ve+" interface "+Q+" {",...z(0),"}",a,Dl(`Creates a ${Q} object`),ve+" function create"+Q+"(): "+Q+";"),d(...k(1),ve+" const create"+Q+": typeof create"+Q+"Decl = () => {",...O(),`return Object.freeze(${q});`,"};"),Y,ee]},Zl=e=>c+e,Ql=e=>Gl(Zl(e),Zl(e)+fe),ql="debugIds?: boolean",Kl="debugIds={debugIds}",Xl="then"+we,Yl="Parameter",et=": (parameter: "+Yl+", store: Store) => ",lt="const contextValue = useContext(Context);",tt=", based on a parameter",at=": ",nt="<"+Yl+",>",dt=Yl+"ized"+he+"<"+Yl+">",ot="rowId",st="rowId={rowId}",rt=", separator, debugIds",It="separator?: ReactElement | string",$t="then?: (store: Store",ct=Gl($t+")"+Ke,Xl),ut="then, then"+fe,it=ot+at+xe,bt="View",pt=(e,...l)=>Gl(...l,Ae+": "+e,Ae+we,"mutator?: boolean"),Ct=(...e)=>Gl(...e,Ae,Ae+fe,"mutator"),ht=(e,l,n,d,r)=>{const[I,c,u,V,R,k,S,P]=Ml(),[O,E,L]=zl(e,l,R),N=`./${Ll(n)}.d`,D=`./${Ll(n)}-ui-react.d`,G="tinybase/ui-react",j=Ll(n,1),H=Ll(j),J=j+"Or"+j+xe,z=H+"Or"+j+xe,B=H+`={${H}}`,U=oe(),_=(e,l,t,n,d,o=a)=>(c(1,D,e+" as "+e+"Decl"),Pl(U,e,[l,t,n,d,o])),Z=(e,l,t,n,d,o=a)=>_("use"+e,l,t,n,d,o),Q=(e,l,t,n,d=a,o=a,s=a,r=a,I=a)=>(c(1,G,`use${l} as use${l}Core`),Z(e,Gl(d,ee,r),t,ae+`(${z}, use${l}Core, [`+(o||a)+(I?"], ["+I:a)+"]);",n,s)),q=(e,l,t,a)=>_(e,l,1,t,a),K=(e=0)=>Ie(U,(([l,t,n,d,o],s)=>{const r=e?[ve+` const ${s}: typeof ${s}Decl = ${o}(${l}): ${1==t?"any":t} =>`,n]:[ve+` function ${s}${o}(${l}): ${1==t?"ComponentReturnType":t};`];return e||F(r,Dl(d)),W(r,a),r}));c(null,t,xe,"Store",he,Yl+"ized"+he),c(0,G,"ComponentReturnType"),c(1,G,"useCellIds"),c(null,G,"ExtraProps"),c(0,N,j);const X=u(J,j+" | "+xe,`Used when you need to refer to a ${j} in a React hook or component`),Y=u(Le+Ee,Hl(H+ke+j,H+`ById?: {[${H}Id: Id]: ${j}}`),`Used with the ${Le} component, so that a `+j+" can be passed into the context of an application");c(0,"react","ReactElement","ComponentType"),c(1,"react","React"),c(1,D,X,Y);const ee=z+ke+X;R("{createContext, useContext, useMemo}","React"),R("Context",`createContext<[${j}?, {[${H}Id: Id]: ${j}}?]>([])`),Z("Create"+j,`create: () => ${j}, create`+we,j,"\n// eslint-disable-next-line react-hooks/exhaustive-deps\nuseMemo(create, createDeps)",`Create a ${j} within a React application with convenient memoization`);const te=Z(j,"id?: Id",j+Se,["{",lt,"return id == null ? contextValue[0] : contextValue[1]?.[id];","}"],`Get a reference to a ${j} from within a ${Le} component context`),ae=V("useHook",z+`: ${X} | undefined, hook: (...params: any[]) => any, preParams: any[], postParams: any[] = []`,[`const ${H} = ${te}(${z} as Id);`,`return hook(...preParams, ((${z} == null || typeof ${z} == 'string')`,`? ${H} : ${z})?.getStore(), ...postParams)`]),ne=V("getProps","getProps: ((id: any) => ExtraProps) | undefined, id: Id","(getProps == null) ? ({} as ExtraProps) : getProps(id)"),de=V("wrap",Gl("children: any","separator?: any","encloseWithId?: boolean","id?: Id"),["const separated = separator==null || !Array.isArray(children)"," ? children"," : children.map((child, c) => (c > 0 ? [separator, child] : child));","return encloseWithId ? [id, ':{', separated, '}'] : separated;"]),re=V("useCustomOrDefaultCellIds",Gl("customCellIds: Ids | undefined","tableId: Id","rowId: Id",`${z}?: ${X} | undefined`),[`const defaultCellIds = ${ae}(${z}, useCellIds, [tableId, rowId]);`,"return customCellIds ?? defaultCellIds;"]),$e=R("NullComponent","() => null");if(!le(e)){const[e,l,n,r,I,y,v,x,R,k,S,P,L,G,J,z,W,F,U,_]=d;c(null,N,e,l,n,I,y,v,x,R,k,S,P,L,G,J,z,W,U,F),c(0,N,r),c(1,N,j),c(null,t,b,"IdOrNull");const Z=V("tableView",`{${H}, rowComponent, getRowComponentProps, customCellIds`+rt+"}: any, rowIds: Ids, tableId: Id, defaultRowComponent: React.ComponentType<any>",["const Row = rowComponent ?? defaultRowComponent;",`return ${de}(rowIds.map((rowId) => (`,"<Row","{..."+ne+"(getRowComponentProps, rowId)}","key={rowId}","tableId={tableId}",st,"customCellIds={customCellIds}",B,Kl,"/>","))",rt,", tableId,",");"]),K=V("getDefaultTableComponent","tableId: Id",M(O(((e,l,t)=>`tableId == ${t} ? ${l}TableView : `)))+$e),X=V("getDefaultCellComponent","tableId: Id, cellId: Id",M(O(((e,l,t)=>`tableId == ${t} ? ${M(E(e,((e,t,a,n,d)=>`cellId == ${n} ? `+l+d+"CellView : ")))+$e} : `)))+$e);Q(i+C,i+C,o,sl(1,0,0,1)+Ce),Q(C,C,e,sl(1,0)+Ce);const Y=Q(h,h,n+Je,Il(p,ze)+Ce);Q(He+C+he,He+C+he,dt,sl(1,9)+tt,Gl(Zl(C)+et+l,Zl(C)+we),Ql(C),nt,Gl($t,`tables: ${l})`+Ke,Xl),ut),Q(me+C+he,me+C+he,he,sl(1,12),a,a,a,ct,ut);const ee=u(w+Ee,Hl("tableId?: TId","rowId: Id","cellId?: CId",H+ke+j,ql),cl(be+w),`<TId extends ${n}, CId extends ${r}<TId>>`),le=u(g+Ee,Hl("tableId?: TId","rowId: Id",H+ke+j,"cellComponents?: {readonly [CId in "+r+`<TId>]?: ComponentType<${ee}<TId, CId>>;}`,`getCellComponentProps?: (cellId: ${r}<TId>) => ExtraProps`,`customCellIds?: ${r}<TId>[]`,It,ql),cl(be+g),`<TId extends ${n}>`),te=u(p+Ee,Hl("tableId?: TId",H+ke+j,`rowComponent?: ComponentType<${le}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps","customCellIds?: CellId<TId>[]",It,ql),cl(be+p),`<TId extends ${n}>`),ae=u("Sorted"+p+Ee,Hl("tableId?: TId","cellId?: "+r+"<TId>","descending?: boolean","offset?: number","limit?: number",H+ke+j,`rowComponent?: ComponentType<${le}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps","customCellIds?: CellId<TId>[]",It,ql),cl(be+"sorted "+p),`<TId extends ${n}>`),oe=u(C+Ee,Hl(H+ke+j,"tableComponents?: {readonly [TId in "+n+`]?: ComponentType<${te}<TId>>;}`,`getTableComponentProps?: (tableId: ${n}) => ExtraProps`,It,ql),cl(ol(1,1)));c(1,D,oe,te,ae,le,ee),q(C+bt,"{"+H+", tableComponents, getTableComponentProps"+rt+"}: "+oe,[de+`(${Y}(${H}).map((tableId) => {`,"const Table = (tableComponents?.[tableId] ?? "+K+"(tableId)) as React.ComponentType<TableProps<typeof tableId>>;","return <Table",`{...${ne}(getTableComponentProps, tableId)}`,"tableId={tableId}","key={tableId}",B,Kl,"/>;","}), separator)"],sl(1,13)+Ce),O(((e,l,t)=>{const[n,d,r,I,$]=se(_,e);c(null,N,n,d,r,I,$),Q(i+l+p,i+p,o,hl(e,0,1)+Ce,a,t),Q(l+p,p,n,hl(e)+Ce,a,t),Q(l+p+T,p+T,b,Il(w,"the whole of "+pl(e))+Ce,a,t),Q(l+g+ge,g+ge,s,"Gets the number of Rows in "+pl(e)+Ce,a,t);const u=Q(l+m,m,b,Il(g,pl(e))+Ce,a,t),C=Q(l+f,f,b,Il(g,pl(e),1)+Ce,"cellId?: "+$+", descending?: boolean, offset?: number, limit?: number",t+", cellId, descending, offset, limit");Q(i+l+g,i+g,o,gl(e,0,1)+Ce,it,Gl(t,ot)),Q(l+g,g,r,gl(e)+Ce,it,Gl(t,ot)),Q(l+T,T,$+Je,Il(w,Cl(e))+Ce,it,Gl(t,ot)),Q(He+l+p+he,He+p+he,dt,hl(e,9)+tt,Gl(Zl(p)+et+d,Zl(p)+we),Gl(t,Ql(p)),nt,Gl($t,`table: ${d})`+Ke,Xl),ut),Q(me+l+p+he,me+p+he,he,hl(e,12),a,t,a,ct,ut),Q(He+l+g+he,He+g+he,dt,gl(e,9)+tt,Gl(it,Zl(g)+et+I,Zl(g)+we),Gl(t,ot,Ql(g)),nt,Gl($t,`row: ${I})`+Ke,Xl),ut),Q("Add"+l+g+he,"Add"+g+he,dt,gl(e,10)+tt,Gl(Zl(g)+et+I,Zl(g)+we),Gl(t,Ql(g)),nt,"then?: ("+Gl(it+Se,"store: Store","row: "+I+")"+Ke,"then"+we)+", reuseRowIds?: boolean",ut+", reuseRowIds"),Q(He+l+Oe+g+he,He+Oe+g+he,dt,gl(e,11)+tt,Gl(it,Zl(Oe+g)+et+I,Zl(Oe+g)+we),Gl(t,ot,Ql(Oe+g)),nt,Gl($t,`partialRow: ${I})`+Ke,Xl),ut),Q(me+l+g+he,me+g+he,he,gl(e,12),it,Gl(t,ot),a,ct,ut);const h=q(l+g+bt,"{rowId, "+H+", cellComponents, getCellComponentProps, customCellIds"+rt+`}: ${le}<'${e}'>`,[de+`(${re}(customCellIds, `+t+`, rowId, ${H}).map((cellId: ${$}) => {`,"const Cell = (cellComponents?.[cellId] ?? "+X+`(${t}, cellId)) as React.ComponentType<CellProps<typeof `+t+", typeof cellId>>;","return <Cell",`{...${ne}(getCellComponentProps, cellId)} `,"key={cellId}",`tableId={${t}}`,st,"cellId={cellId}",B,Kl,"/>;","})"+rt+", rowId)"],gl(e,13)+Ce);q(l+"Sorted"+p+bt,"{cellId, descending, offset, limit, ...props}: "+ae+`<'${e}'>`,Z+"(props, "+C+`(cellId, descending, offset, limit, props.${H}), ${t}, ${h});`,hl(e,13)+", sorted"+Ce),q(l+p+bt,`props: ${te}<'${e}'>`,Z+"(props, "+u+`(props.${H}), ${t}, ${h});`,hl(e,13)+Ce),E(e,((n,d,s,r,I)=>{const $="Map"+Ll(d,1);c(0,N,$),c(1,N,$),Q(i+l+I+p+w,i+p+w,o,`Gets ${dl(1)}the '${n}' Cell anywhere in `+pl(e)+Ce,a,Gl(t,r)),Q(i+l+I+w,i+w,o,ml(e,n,0,1)+Ce,it,Gl(t,ot,r));const u=Q(l+I+w,w,d+(A(s)?Se:a),ml(e,n)+Ce,it,Gl(t,ot,r));Q(He+l+I+w+he,He+w+he,dt,ml(e,n,9)+tt,Gl(it,Zl(w)+et+d+" | "+$,Zl(w)+we),Gl(t,ot,r,Ql(w)),nt,Gl($t,`cell: ${d} | ${$})`+Ke,Xl),ut),Q(me+l+I+w+he,me+w+he,he,ml(e,n,12),Gl(it,"forceDel?: boolean"),Gl(t,ot,r,"forceDel"),a,ct,ut),q(l+I+w+bt,`{rowId, ${H}, debugIds}: `+ee+`<'${e}', '${n}'>`,[de+`('' + ${u}(rowId, `+H+`) ?? '', undefined, debugIds, ${r})`],ml(e,n,13)+Ce)}))}));const Ie=M(O((e=>se(_,e)?.[4]??a))," | ");Q(i+C+$,i+C+$,qe,sl(1,8,0,1)+" changes",pt(I),Ct()),Q(C+$,C+$,qe,sl(1,8)+" changes",pt(y),Ct()),Q(h+$,h+$,qe,bl(2,0,1),pt(v),Ct()),Q(i+p+$,i+p+$,qe,bl(3,0,0,1),pt(x,`tableId: ${n} | null`),Ct("tableId")),Q(p+$,p+$,qe,bl(3,0),pt(R,`tableId: ${n} | null`),Ct("tableId")),Q(p+T+$,p+T+$,qe,bl(14,3,1),pt(k,`tableId: ${n} | null`),Ct("tableId")),Q(i+p+w+$,i+p+w+$,qe,bl(16,3,0,1),pt(S,`tableId: ${n} | null`,`cellId: ${Ie} | null`),Ct("tableId","cellId")),Q(g+ge+$,g+ge+$,qe,bl(15,3),pt(P,`tableId: ${n} | null`),Ct("tableId")),Q(m+$,m+$,qe,bl(4,3,1),pt(L,`tableId: ${n} | null`),Ct("tableId")),Q(f+$,f+$,qe,bl(13,3,1),pt(G,`tableId: ${n} | null`,"cellId: "+Ie+Se,"descending: boolean","offset: number","limit: number"+Se),Ct("tableId","cellId","descending","offset","limit")),Q(i+g+$,i+g+$,qe,bl(5,3,0,1),pt(J,`tableId: ${n} | null`,ot+": IdOrNull"),Ct("tableId",ot)),Q(g+$,g+$,qe,bl(5,3),pt(z,`tableId: ${n} | null`,ot+": IdOrNull"),Ct("tableId",ot)),Q(T+$,T+$,qe,bl(6,5,1),pt(W,`tableId: ${n} | null`,ot+": IdOrNull"),Ct("tableId",ot)),Q(i+w+$,i+w+$,qe,bl(7,5,0,1),pt(F,`tableId: ${n} | null`,ot+": IdOrNull",`cellId: ${Ie} | null`),Ct("tableId",ot,"cellId")),Q(w+$,w+$,qe,bl(7,5),pt(U,`tableId: ${n} | null`,ot+": IdOrNull",`cellId: ${Ie} | null`),Ct("tableId",ot,"cellId"))}if(!le(l)){const[e,l,t,n,d,s,I,b]=r;c(null,N,...r),c(1,N,j);const p=V("getDefaultValueComponent","valueId: Id",M(L(((e,l,t,a,n)=>`valueId == ${a} ? `+n+"ValueView : ")))+$e);Q(i+v,i+v,o,sl(2,0,0,1)+Ce),Q(v,v,e,sl(2,0)+Ce);const C=Q(x,x,t+Je,Il(y,ze)+Ce);Q(He+v+he,He+v+he,dt,sl(2,9)+tt,Gl(Zl(v)+et+l,Zl(v)+we),Ql(v),nt,Gl($t,`values: ${l})`+Ke,Xl),ut),Q(He+Oe+v+he,He+Oe+v+he,dt,sl(2,11)+tt,Gl(Zl(Oe+v)+et+l,Zl(Oe+v)+we),Ql(Oe+v),nt,Gl($t,`partialValues: ${l})`+Ke,Xl),ut),Q(me+v+he,me+v+he,he,sl(2,12),a,a,a,ct,ut);const h=u(y+Ee,Hl("valueId?: VId",H+ke+j,ql),cl("a Value"),`<VId extends ${t}>`),g=u(v+Ee,Hl(H+ke+j,"valueComponents?: {readonly [VId in "+t+`]?: ComponentType<${h}<VId>>;}`,`getValueComponentProps?: (valueId: ${t}) => ExtraProps`,It,ql),cl(ol(2,1)));c(1,D,g,h),q(v+bt,"{"+H+", valueComponents, getValueComponentProps"+rt+"}: "+g,[de+`(${C}(${H}).map((valueId) => {`,"const Value = valueComponents?.[valueId] ?? "+p+"(valueId);","return <Value",`{...${ne}(getValueComponentProps, valueId)}`,"key={valueId}",B,Kl,"/>;","}), separator)"],sl(2,13)+Ce),L(((e,l,t,n,d)=>{const s="Map"+Ll(l,1);c(0,N,s),c(1,N,s),Q(i+d+y,i+y,o,fl(e,0,1)+Ce,a,n);const r=Q(d+y,y,l,fl(e)+Ce,a,n);Q(He+d+y+he,He+y+he,dt,fl(e,9)+tt,Gl(Zl(y)+et+l+" | "+s,Zl(y)+we),Gl(n,Ql(y)),nt,Gl($t,`value: ${l} | ${s})`+Ke,Xl),ut),Q(me+d+y+he,me+y+he,he,fl(e,12),a,n,a,ct,ut),q(d+y+bt,`{${H}, debugIds}: ${h}<'${e}'>`,[de+`('' + ${r}(`+H+`) ?? '', undefined, debugIds, ${n})`],fl(e,13)+Ce)})),Q(i+v+$,i+v+$,qe,sl(2,8,0,1)+" changes",pt(n),Ct()),Q(v+$,v+$,qe,sl(2,8)+" changes",pt(d),Ct()),Q(x+$,x+$,qe,bl(10,0,1),pt(s),Ct()),Q(i+y+$,i+y+$,qe,bl(11,0,0,1),pt(I,`valueId: ${t} | null`),Ct("valueId")),Q(y+$,y+$,qe,bl(11,0),pt(b,`valueId: ${t} | null`),Ct("valueId"))}return q(Le,`{${H}, ${H}ById, children}: `+Y+" & {children: React.ReactNode}",["{",lt,"return (","<Context."+Le,"value={useMemo(",`() => [${H} ?? contextValue[0], {...contextValue[1], ...${H}ById}],`,`[${H}, ${H}ById, contextValue],`,")}>","{children}",`</Context.${Le}>`,");","}"],"Wraps part of an application in a context that provides default objects to be used by hooks and components within"),[I(...k(0),...S(),...K(0)),I(...k(1),...P(),...K(1))]},gt=(e,l,t)=>{if(le(e)&&le(l))return[a,a,a,a];const[n,d,o,s]=_l(e,l,t);return[n,d,...ht(e,l,t,o,s)]},mt=JSON.parse,ft="prettier/",wt=ft+"plugins/",Tt={parser:"typescript",singleQuote:!0,trailingComma:"all",bracketSpacing:!1,jsdocSingleLineComment:!1},yt=Jl((e=>{const l=()=>{const l=mt(e.getTablesSchemaJson());return!le(l)||G(e.getTableIds(),(t=>{const a=e.getRowIds(t),n=oe();if(G(a,(l=>G(e.getCellIds(t,l),(a=>{const d=e.getCell(t,l,a),o=ce(n,a,(()=>[D(d),oe(),[0],0])),[s,r,[I]]=o,$=ce(r,d,(()=>0))+1;return $>I&&(o[2]=[$,d]),$e(r,d,$),o[3]++,s==D(d)})))))return l[t]={},ne(n,(([e,,[,n],d],o)=>{l[t][o]={[r]:e,...d==L(a)?{[I]:n}:{}}})),1}))?l:{}},t=()=>{const l=mt(e.getValuesSchemaJson());return le(l)&&e.forEachValue(((e,t)=>{l[e]={[r]:D(t)}})),l},a=e=>gt(l(),t(),e),n=async e=>{const l=["d.ts","ts","d.ts","tsx"],t=[];let n;try{n=(await import(ft+"standalone")).format,W(t,await import(wt+"estree"),await import(wt+"typescript"))}catch(e){n=async e=>e}return await N(J(a(e),(async(e,a)=>Ol(await n(e,{...Tt,plugins:t,filepath:"_."+l[a]})))))};return K({getStoreStats:l=>{let t=0,a=0,n=0;const d={};return e.forEachTable(((e,o)=>{t++;let s=0,r=0;const I={};o(((e,t)=>{s++;let a=0;t((()=>a++)),r+=a,l&&(I[e]={rowCells:a})})),a+=s,n+=r,l&&(d[e]={tableRows:s,tableCells:r,rows:I})})),{totalTables:t,totalRows:a,totalCells:n,totalValues:L(e.getValueIds()),jsonLength:L(e.getJson()),...l?{detail:{tables:d}}:{}}},getStoreTablesSchema:l,getStoreValuesSchema:t,getStoreApi:a,getPrettyStoreApi:n,getStore:()=>e})}));e.createTools=yt},"object"==typeof exports&&"undefined"!=typeof module?l(exports):"function"==typeof define&&define.amd?define(["exports"],l):l((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseTools={});
Binary file
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e,t,s){"use strict";const l=e=>typeof e,a="",n=l(a),o=l(!0),r=l(0),i=l(l),d="type",u="default",c="Has",h="Ids",m="Table",b=m+"s",g=m+h,p="Row",I=p+"Count",f=p+h,w="Cell",y=w+h,C="Value",v=C+"s",T=C+h,k="currentTarget",S="value",x=e=>a+e,V=Math.floor,R=isFinite,q=e=>null==e,N=(e,t,s)=>q(e)?s?.():t(e),L=e=>e==n||e==o,M=e=>l(e)==i,E=e=>Array.isArray(e),z=(e,t,s)=>e.slice(t,s),$=e=>e.length,{PureComponent:O,Fragment:A,createElement:F,useCallback:J,useLayoutEffect:P,useRef:H,useState:B}=t,D=(e,...t)=>q(e)?{}:e(...t),Q=(e,t)=>e.sort(t),j=(e,t)=>e.forEach(t),W=(e,t)=>e.map(t),U=e=>0==$(e),G=(e,...t)=>e.push(...t),K=e=>e.shift(),X=Object,Y=e=>X.getPrototypeOf(e),Z=X.keys,_=X.isFrozen,ee=X.freeze,te=e=>!q(e)&&N(Y(e),(e=>e==X.prototype||q(Y(e))),(()=>!0)),se=(e=[])=>X.fromEntries(e),le=(e,t)=>!q(((e,t)=>N(e,(e=>e[t])))(e,t)),ae=(e,t)=>(delete e[t],e),ne=(e,t)=>W(X.entries(e),(([e,s])=>t(s,e))),oe=e=>te(e)&&0==(e=>$(Z(e)))(e),re=e=>JSON.stringify(e,((e,t)=>t instanceof Map?X.fromEntries([...t]):t)),ie=JSON.parse,de="tinybaseStoreInspector",ue="TinyBase Store Inspector",ce=["left","top","bottom","right","full"],he="state",me="sort",be="open",ge="position",pe=be,Ie="editable",fe=(...e)=>re(e),we=(e,t)=>W(Q(e),t),ye=(e,t)=>[!!s.useCell(he,e,Ie,t),J((s=>{t.setCell(he,e,Ie,(e=>!e)),s.preventDefault()}),[t,e])],Ce="M20 80l5-15l40-40l10 10l-40 40l-15 5m5-15l10 10",ve='content:url("',Te=ve+"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' stroke-width='4' stroke='white' fill='none'>",ke='</svg>")',Se=ve+"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=W([[20,20,20,60],[20,20,60,20],[20,60,60,20],[60,20,20,60],[30,30,40,40]],(([e,t,s,l])=>Te+`<rect x='20' y='20' width='60' height='60' fill='grey'/><rect x='${e}' y='${t}' width='${s}' height='${l}' fill='white'/>`+ke)),Ve=Te+"<path d='M20 20l60 60M20 80l60-60' />"+ke,Re=Te+`<path d='${Ce}' />`+ke,qe=Te+`<path d='${Ce}M20 20l60 60' />`+ke,Ne="*::-webkit-scrollbar",Le=((e,t="")=>e.join(t))(ne({"":"all:initial;font-family:sans-serif;font-size:0.75rem;position:fixed;z-index:999999","*":"all:revert","*::before":"all:revert","*::after":"all:revert",[Ne]:"width:0.5rem;height:0.5rem;",[Ne+"-track"]:"background:#111",[Ne+"-thumb"]:"background:#999;border:1px solid #111",[Ne+"-thumb:hover"]:"background:#fff",[Ne+"-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;"+Se,...se(W(["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;",...se(W(["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)":Se,"header>img:nth-of-type(6)":Ve,...se(W(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":Re,"details[open]>summary img.done":qe,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,#${de} 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?`#${de} ${t}{${e}}`:""))),Me=({s:e})=>{const t=s.useValue(ge,e)??1,l=s.useSetValueCallback(pe,(()=>!0),[],e);return s.useValue(pe,e)?null:F("img",{onClick:l,title:ue,"data-position":t})},Ee=({uniqueId:e,summary:t,editable:l,handleEditable:a,children:n,s:o})=>{const r=!!s.useCell(he,e,be,o),i=s.useSetCellCallback(he,e,be,(e=>e[k].open),[],o);return F("details",{open:r,onToggle:i},F("summary",null,t,a?F("img",{onClick:a,className:l?"done":"edit"}):null),n)},ze=e=>{const t=l(e);return L(t)||t==r&&R(e)?t:void 0},$e=(e,t,s,l,a)=>q(a)?e.delCell(t,s,l,!0):e.setCell(t,s,l,a),Oe=(e,t,s)=>q(s)?e.delValue(t):e.setValue(t,s),Ae=(e,t,s,l)=>e==n?t:e==r?s:l,{useCallback:Fe,useMemo:Je,useState:Pe}=t,He="editable",Be=(e,t)=>W(s.useTableCellIds(e,t),(t=>e+"."+t)),De=(e,t,s)=>{const l=Fe(e,t);return s?l:void 0},Qe=(...e)=>Je((()=>e),e),je=(e,t)=>Je((()=>({store:e,tableId:t})),[e,t]),We=(e,t)=>Je((()=>({queries:e,queryId:t})),[e,t]),Ue=(e,t=!1,s,l=0,a,n,o,r)=>{const[[i,d,u],c]=Pe([e,t,l]),h=Fe((e=>{c(e),r?.(e)}),[r]),m=De((e=>h([e,e==i&&!d,u])),[h,i,d,u],s),b=Fe((e=>h([i,d,e])),[h,i,d]),g=!0===o?ot:o;return[[i,d,u],m,Je((()=>!1===o?null:F(g,{offset:u,limit:a,total:n,onChange:b})),[o,g,u,a,n,b])]},Ge=(e,t,s)=>Je((()=>{const a=t??e;return se(ne(E(a)?se(W(a,(e=>[e,e]))):a,((e,t)=>{return[t,{label:t,component:s,...(a=e,l(a)==n?{label:e}:e)}];var a})))}),[t,s,e]),Ke=({className:e,headerRow:t,idColumn:s,params:[l,a,n,o,r,i]})=>F("table",{className:e},i?F("caption",null,i):null,!1===t?null:F("thead",null,F("tr",null,!1===s?null:F(Xe,{sort:o??[],label:"Id",onClick:r}),ne(l,(({label:e},t)=>F(Xe,{key:t,cellId:t,label:e,sort:o??[],onClick:r}))))),F("tbody",null,W(n,(e=>F("tr",{key:e},!1===s?null:F("th",null,e),ne(l,(({component:t,getComponentProps:s},l)=>F("td",{key:l},F(t,{...D(s,e,l),...a,rowId:e,cellId:l}))))))))),Xe=({cellId:e,sort:[t,s],label:l=e??a,onClick:n})=>F("th",{onClick:De((()=>n?.(e)),[n,e],n),className:q(s)||t!=e?void 0:`sorted ${s?"de":"a"}scending`},q(s)||t!=e?null:(s?"↓":"↑")+" ",l),Ye=({localRowId:e,params:[l,a,n,o,r,i,d]})=>{const u=s.useRemoteRowId(r,e,i);return F("tr",null,!1===l?null:F(t.Fragment,null,F("th",null,e),F("th",null,u)),ne(a,(({component:t,getComponentProps:s},l)=>{const[a,r]=l.split(".",2),i=a===n?e:a===o?u:null;return q(i)?null:F("td",{key:l},F(t,{...D(s,i,r),store:d,tableId:a,rowId:i,cellId:r}))})))},Ze=({thing:e,onThingChange:t,className:s,hasSchema:l,showType:a=!0})=>{const[i,d]=Pe(),[u,c]=Pe(),[h,m]=Pe(),[b,g]=Pe(),[p,I]=Pe();u!==e&&(d(ze(e)),c(e),m(e+""),g(Number(e)||0),I(!!e));const f=Fe(((e,s)=>{s(e),c(e),t(e)}),[t]),w=Fe((()=>{if(!l?.()){const e=Ae(i,r,o,n),s=Ae(e,h,b,p);d(e),c(s),t(s)}}),[l,t,h,b,p,i]);return F("div",{className:s},a?F("button",{className:i,onClick:w},i):null,Ae(i,F("input",{key:i,value:h,onChange:Fe((e=>f(e[k][S]+"",m)),[f])}),F("input",{key:i,type:"number",value:b,onChange:Fe((e=>f(Number(e[k][S]||0),g)),[f])}),F("input",{key:i,type:"checkbox",checked:p,onChange:Fe((e=>f(!!e[k].checked,I)),[f])})))},_e=({tableId:e,cellId:t,descending:l,offset:a,limit:n,store:o,editable:r,sortOnClick:i,paginator:d=!1,onChange:u,customCells:c,...h})=>{const[m,b,g]=Ue(t,l,i,a,n,s.useRowCount(e,o),d,u);return F(Ke,{...h,params:Qe(Ge(s.useTableCellIds(e,o),c,r?at:s.CellView),je(o,e),s.useSortedRowIds(e,...m,n,o),m,b,g)})},et=({store:e,editable:t=!1,valueComponent:l=(t?nt:s.ValueView),getValueComponentProps:a,className:n,headerRow:o,idColumn:r})=>F("table",{className:n},!1===o?null:F("thead",null,F("tr",null,!1===r?null:F("th",null,"Id"),F("th",null,C))),F("tbody",null,W(s.useValueIds(e),(t=>F("tr",{key:t},!1===r?null:F("th",null,t),F("td",null,F(l,{...D(a,t),valueId:t,store:e}))))))),tt=({indexId:e,sliceId:t,indexes:l,editable:a,customCells:n,...o})=>{const[r,i,d]=((e,t)=>[e,e?.getStore(),e?.getTableId(t)])(s.useIndexesOrIndexesById(l),e);return F(Ke,{...o,params:Qe(Ge(s.useTableCellIds(d,i),n,a?at:s.CellView),je(i,d),s.useSliceRowIds(e,t,r))})},st=({relationshipId:e,relationships:l,editable:a,customCells:n,className:o,headerRow:r,idColumn:i=!0})=>{const[d,u,c,h]=((e,t)=>[e,e?.getStore(),e?.getLocalTableId(t),e?.getRemoteTableId(t)])(s.useRelationshipsOrRelationshipsById(l),e),m=Ge([...Be(c,u),...Be(h,u)],n,a?at:s.CellView),b=Qe(i,m,c,h,e,d,u);return F("table",{className:o},!1===r?null:F("thead",null,F("tr",null,!1===i?null:F(t.Fragment,null,F("th",null,c,".Id"),F("th",null,h,".Id")),ne(m,(({label:e},t)=>F("th",{key:t},e))))),F("tbody",null,W(s.useRowIds(c,u),(e=>F(Ye,{key:e,localRowId:e,params:b})))))},lt=({queryId:e,cellId:t,descending:l,offset:a,limit:n,queries:o,sortOnClick:r,paginator:i=!1,customCells:d,onChange:u,...c})=>{const[h,m,b]=Ue(t,l,r,a,n,s.useResultRowCount(e,o),i,u);return F(Ke,{...c,params:Qe(Ge(s.useResultTableCellIds(e,o),d,s.ResultCellView),We(o,e),s.useResultSortedRowIds(e,...h,n,o),h,m,b)})},at=({tableId:e,rowId:t,cellId:l,store:a,className:n,showType:o})=>F(Ze,{thing:s.useCell(e,t,l,a),onThingChange:s.useSetCellCallback(e,t,l,(e=>e),[],a),className:n??He+w,showType:o,hasSchema:s.useStoreOrStoreById(a)?.hasTablesSchema}),nt=({valueId:e,store:t,className:l,showType:a})=>F(Ze,{thing:s.useValue(e,t),onThingChange:s.useSetValueCallback(e,(e=>e),[],t),className:l??He+C,showType:a,hasSchema:s.useStoreOrStoreById(t)?.hasValuesSchema}),ot=({onChange:e,total:s,offset:l=0,limit:a=s,singular:n="row",plural:o=n+"s"})=>{(l>s||l<0)&&(l=0,e(0));const r=De((()=>e(l-a)),[e,l,a],l>0),i=De((()=>e(l+a)),[e,l,a],l+a<s);return F(t.Fragment,null,s>a&&F(t.Fragment,null,F("button",{className:"previous",disabled:0==l,onClick:r},"←"),F("button",{className:"next",disabled:l+a>=s,onClick:i},"→"),l+1," to ",Math.min(s,l+a)," of "),s," ",1!=s?o:n)},rt=({indexes:e,indexesId:t,indexId:l,s:a})=>F(Ee,{uniqueId:fe("i",t,l),summary:"Index: "+l,s:a},W(s.useSliceIds(l,e),(s=>F(it,{indexes:e,indexesId:t,indexId:l,sliceId:s,s:a,key:s})))),it=({indexes:e,indexesId:t,indexId:s,sliceId:l,s:a})=>{const n=fe("i",t,s,l),[o,r]=ye(n,a);return F(Ee,{uniqueId:n,summary:"Slice: "+l,editable:o,handleEditable:r,s:a},F(tt,{sliceId:l,indexId:s,indexes:e,editable:o}))},dt=({indexesId:e,s:t})=>{const l=s.useIndexes(e),a=s.useIndexIds(l);return q(l)?null:F(Ee,{uniqueId:fe("i",e),summary:"Indexes: "+(e??u),s:t},U(a)?"No indexes defined":we(a,(s=>F(rt,{indexes:l,indexesId:e,indexId:s,s:t,key:s}))))},ut=({metrics:e,metricId:t})=>F("tr",null,F("th",null,t),F("td",null,e?.getTableId(t)),F("td",null,s.useMetric(t,e))),ct=({metricsId:e,s:t})=>{const l=s.useMetrics(e),a=s.useMetricIds(l);return q(l)?null:F(Ee,{uniqueId:fe("m",e),summary:"Metrics: "+(e??u),s:t},U(a)?"No metrics defined":F("table",null,F("thead",null,F("th",null,"Metric Id"),F("th",null,"Table Id"),F("th",null,"Metric")),F("tbody",null,W(a,(e=>F(ut,{metrics:l,metricId:e,key:e}))))))},ht=({queries:e,queriesId:t,queryId:l,s:a})=>{const n=fe("q",t,l),[o,r,i]=ie(s.useCell(he,n,me,a)??"[]"),d=s.useSetCellCallback(he,n,me,re,[],a);return F(Ee,{uniqueId:n,summary:"Query: "+l,s:a},F(lt,{queryId:l,queries:e,cellId:o,descending:r,offset:i,limit:10,paginator:!0,sortOnClick:!0,onChange:d}))},mt=({queriesId:e,s:t})=>{const l=s.useQueries(e),a=s.useQueryIds(l);return q(l)?null:F(Ee,{uniqueId:fe("q",e),summary:"Queries: "+(e??u),s:t},U(a)?"No queries defined":we(a,(s=>F(ht,{queries:l,queriesId:e,queryId:s,s:t,key:s}))))},bt=({relationships:e,relationshipsId:t,relationshipId:s,s:l})=>{const a=fe("r",t,s),[n,o]=ye(a,l);return F(Ee,{uniqueId:a,summary:"Relationship: "+s,editable:n,handleEditable:o,s:l},F(st,{relationshipId:s,relationships:e,editable:n}))},gt=({relationshipsId:e,s:t})=>{const l=s.useRelationships(e),a=s.useRelationshipIds(l);return q(l)?null:F(Ee,{uniqueId:fe("r",e),summary:"Relationships: "+(e??u),s:t},U(a)?"No relationships defined":we(a,(s=>F(bt,{relationships:l,relationshipsId:e,relationshipId:s,s:t,key:s}))))},pt=({tableId:e,store:t,storeId:l,s:a})=>{const n=fe("t",l,e),[o,r,i]=ie(s.useCell(he,n,me,a)??"[]"),d=s.useSetCellCallback(he,n,me,re,[],a),[u,c]=ye(n,a);return F(Ee,{uniqueId:n,summary:m+": "+e,editable:u,handleEditable:c,s:a},F(_e,{tableId:e,store:t,cellId:o,descending:r,offset:i,limit:10,paginator:!0,sortOnClick:!0,onChange:d,editable:u}))},It=({store:e,storeId:t,s:l})=>{const a=fe("v",t),[n,o]=ye(a,l);return U(s.useValueIds(e))?null:F(Ee,{uniqueId:a,summary:v,editable:n,handleEditable:o,s:l},F(et,{store:e,editable:n}))},ft=({storeId:e,s:t})=>{const l=s.useStore(e),a=s.useTableIds(l);return q(l)?null:F(Ee,{uniqueId:fe("s",e),summary:"Store: "+(e??u),s:t},F(It,{storeId:e,store:l,s:t}),we(a,(s=>F(pt,{store:l,storeId:e,tableId:s,s:t,key:s}))))},wt=({s:e})=>{const t=H(null),l=H(0),[a,n]=B(!1),{scrollLeft:o,scrollTop:r}=s.useValues(e);P((()=>{const e=t.current;if(e&&!a){const t=new MutationObserver((()=>{e.scrollWidth>=V(o)+e.clientWidth&&e.scrollHeight>=V(r)+e.clientHeight&&e.scrollTo(o,r)}));return t.observe(e,{childList:!0,subtree:!0}),()=>t.disconnect()}}),[a,o,r]);const i=J((t=>{const{scrollLeft:s,scrollTop:a}=t[k];cancelIdleCallback(l.current),l.current=requestIdleCallback((()=>{n(!0),e.setPartialValues({scrollLeft:s,scrollTop:a})}))}),[e]),d=s.useStore(),u=s.useStoreIds(),c=s.useMetrics(),h=s.useMetricsIds(),m=s.useIndexes(),b=s.useIndexesIds(),g=s.useRelationships(),p=s.useRelationshipsIds(),I=s.useQueries(),f=s.useQueriesIds();return q(d)&&U(u)&&q(c)&&U(h)&&q(m)&&U(b)&&q(g)&&U(p)&&q(I)&&U(f)?F("span",{className:"warn"},"There are no Stores or other objects to inspect. Make sure you placed the StoreInspector inside a Provider component."):F("article",{ref:t,onScroll:i},F(ft,{s:e}),W(u,(t=>F(ft,{storeId:t,s:e,key:t}))),F(ct,{s:e}),W(h,(t=>F(ct,{metricsId:t,s:e,key:t}))),F(dt,{s:e}),W(b,(t=>F(dt,{indexesId:t,s:e,key:t}))),F(gt,{s:e}),W(p,(t=>F(gt,{relationshipsId:t,s:e,key:t}))),F(mt,{s:e}),W(f,(t=>F(mt,{queriesId:t,s:e,key:t}))))};class yt extends O{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?F("span",{className:"warn"},"Inspector error: please see console for details."):this.props.children}}const Ct=({s:e})=>{const t=s.useValue(ge,e)??1,l=s.useSetValueCallback(pe,(()=>!1),[],e),a=s.useSetValueCallback(ge,(e=>Number(e[k].dataset.id)),[],e);return F("header",null,F("img",{title:ue}),F("span",null,ue),W(ce,((e,s)=>s==t?null:F("img",{onClick:a,"data-id":s,title:"Dock to "+e,key:s}))),F("img",{onClick:l,title:"Close"}))},vt=({s:e})=>{const t=s.useValue(ge,e)??1;return s.useValue(pe,e)?F("main",{"data-position":t},F(Ct,{s:e}),F(yt,null,F(wt,{s:e}))):null},Tt=e=>t=>{return s=(t,s)=>t+e(s),Nt(t).reduce(s,0);var s},kt=e=>e?.size??0,St=Tt(kt),xt=Tt(St),Vt=Tt(xt),Rt=(e,t)=>e?.has(t)??!1,qt=e=>q(e)||0==kt(e),Nt=e=>[...e?.values()??[]],Lt=e=>e.clear(),Mt=(e,t)=>e?.forEach(t),Et=(e,t)=>e?.delete(t),zt=e=>new Map(e),$t=e=>[...e?.keys()??[]],Ot=(e,t)=>e?.get(t),At=(e,t)=>Mt(e,((e,s)=>t(s,e))),Ft=(e,t,s)=>q(s)?(Et(e,t),e):e?.set(t,s),Jt=(e,t,s)=>(Rt(e,t)||Ft(e,t,s()),Ot(e,t)),Pt=(e,t,s,l=Ft)=>(ne(t,((t,l)=>s(e,l,t))),At(e,(s=>le(t,s)?0:l(e,s))),e),Ht=(e,t,s)=>{const l={};return Mt(e,((e,a)=>{const n=t?t(e,a):e;!s?.(n,e)&&(l[a]=n)})),l},Bt=(e,t,s)=>Ht(e,(e=>Ht(e,t,s)),oe),Dt=(e,t,s)=>Ht(e,(e=>Bt(e,t,s)),oe),Qt=(e,t)=>{const s=zt();return Mt(e,((e,l)=>s.set(l,t?.(e)??e))),s},jt=e=>Qt(e,Qt),Wt=e=>Qt(e,jt),Ut=(e,t,s,l,a=0)=>N((s?Jt:Ot)(e,t[a],a>$(t)-2?s:zt),(n=>{if(a>$(t)-2)return l?.(n)&&Ft(e,t[a]),n;const o=Ut(n,t,s,l,a+1);return qt(n)&&Ft(e,t[a]),o})),Gt=zt(),Kt=zt(),Xt="storage",Yt=globalThis.window,Zt=e=>new Set(E(e)||q(e)?e:[e]),_t=(e,t)=>e?.add(t),es=/^\d+$/,ts=()=>{const e=[];let t=0;return[s=>(s?K(e):null)??a+t++,t=>{es.test(t)&&$(e)<1e3&&G(e,t)}]},ss=e=>[e,e],ls=(e,t=St)=>t(e[0])+t(e[1]),as=()=>[zt(),zt()],ns=e=>[...e],os=([e,t])=>e===t,rs=(e,t,s)=>q(e)||!te(e)||oe(e)||_(e)?(s?.(),!1):(ne(e,((s,l)=>{t(s,l)||ae(e,l)})),!oe(e)),is=(e,t,s)=>Ft(e,t,Ot(e,t)==-s?void 0:s),ds=()=>{let e,t,s=!1,l=!1,n=!1,o=!1,i=0;const h=zt(),k=zt(),S=zt(),V=zt(),R=zt(),E=zt(),O=zt(),A=zt(),F=zt(),J=zt(),P=zt(),H=zt(),B=zt(),D=zt(),U=Zt(),K=zt(),X=zt(),Y=zt(),Z=zt(),_=as(),te=as(),se=as(),de=as(),ue=as(),ce=as(),he=as(),me=as(),be=as(),ge=as(),pe=as(),Ie=as(),fe=as(),we=as(),ye=as(),Ce=as(),ve=as(),Te=as(),ke=as(),Se=as(),xe=as(),Ve=as(),Re=zt(),qe=as(),[Ne,Le,Me,Ee]=(e=>{let t;const[s,l]=ts(),n=zt();return[(e,l,o,r=[],i=(()=>[]))=>{t??=Fs;const d=s(1);return Ft(n,d,[e,l,o,r,i]),_t(Ut(l,o??[a],Zt),d),d},(e,s,...l)=>j(((e,t=[a])=>{const s=[],l=(e,a)=>a==$(t)?G(s,e):null===t[a]?Mt(e,(e=>l(e,a+1))):j([t[a],null],(t=>l(Ot(e,t),a+1)));return l(e,0),s})(e,s),(e=>Mt(e,(e=>Ot(n,e)[0](t,...s??[],...l))))),e=>N(Ot(n,e),(([,t,s])=>(Ut(t,s??[a],void 0,(t=>(Et(t,e),qt(t)?1:0))),Ft(n,e),l(e),s))),e=>N(Ot(n,e),(([e,,s=[],l,a])=>{const n=(...o)=>{const r=$(o);r==$(s)?e(t,...o,...a(o)):q(s[r])?j(l[r]?.(...o)??[],(e=>n(...o,e))):n(...o,s[r])};n()}))]})(),Ae=e=>{if(!rs(e,((e,t)=>[d,u].includes(t))))return!1;const t=e[d];return!(!L(t)&&t!=r||(ze(e[u])!=t&&ae(e,u),0))},Fe=(t,s)=>(!e||Rt(P,s)||bt(s))&&rs(t,((e,t)=>Je(s,t,e)),(()=>bt(s))),Je=(e,t,s,l)=>rs(l?s:De(s,e,t),((l,a)=>N(Pe(e,t,a,l),(e=>(s[a]=e,!0)),(()=>!1))),(()=>bt(e,t))),Pe=(t,s,l,a)=>e?N(Ot(Ot(P,t),l),(e=>ze(a)!=e[d]?bt(t,s,l,a,e[u]):a),(()=>bt(t,s,l,a))):q(ze(a))?bt(t,s,l,a):a,He=(e,t)=>rs(t?e:Qe(e),((t,s)=>N(Be(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>gt())),Be=(e,s)=>t?N(Ot(B,e),(t=>ze(s)!=t[d]?gt(e,s,t[u]):s),(()=>gt(e,s))):q(ze(s))?gt(e,s):s,De=(e,t,s)=>(N(Ot(H,t),(([l,a])=>{Mt(l,((t,s)=>{le(e,s)||(e[s]=t)})),Mt(a,(l=>{le(e,l)||bt(t,s,l)}))})),e),Qe=e=>(t&&(Mt(D,((t,s)=>{le(e,s)||(e[s]=t)})),Mt(U,(t=>{le(e,t)||gt(t)}))),e),je=e=>Pt(P,e,((e,t,s)=>{const l=zt(),a=Zt();Pt(Jt(P,t,zt),s,((e,t,s)=>{Ft(e,t,s),N(s[u],(e=>Ft(l,t,e)),(()=>_t(a,t)))})),Ft(H,t,[l,a])}),((e,t)=>{Ft(P,t),Ft(H,t)})),We=e=>Pt(B,e,((e,t,s)=>{Ft(B,t,s),N(s[u],(e=>Ft(D,t,e)),(()=>_t(U,t)))}),((e,t)=>{Ft(B,t),Ft(D,t),Et(U,t)})),Ue=e=>oe(e)?qs():ks(e),Ge=e=>Pt(Y,e,((e,t,s)=>Ke(t,s)),((e,t)=>at(t))),Ke=(e,t)=>Pt(Jt(Y,e,(()=>(it(e,1),Ft(K,e,ts()),Ft(X,e,zt()),zt()))),t,((t,s,l)=>Xe(e,t,s,l)),((t,s)=>nt(e,t,s))),Xe=(e,t,s,l,a)=>Pt(Jt(t,s,(()=>(dt(e,s,1),zt()))),l,((t,l,a)=>Ye(e,s,t,l,a)),((l,n)=>ot(e,t,s,l,n,a))),Ye=(e,t,s,l,a)=>{Rt(s,l)||ut(e,t,l,1);const n=Ot(s,l);a!==n&&(ct(e,t,l,n,a),Ft(s,l,a))},Ze=(e,t,s,l,a)=>N(Ot(t,s),(t=>Ye(e,s,t,l,a)),(()=>Xe(e,t,s,De({[l]:a},e,s)))),_e=e=>oe(e)?Ms():Ss(e),et=e=>Pt(Z,e,((e,t,s)=>tt(t,s)),((e,t)=>rt(t))),tt=(e,t)=>{Rt(Z,e)||ht(e,1);const s=Ot(Z,e);t!==s&&(mt(e,s,t),Ft(Z,e,t))},st=(e,t)=>{const[s]=Ot(K,e),l=s(t);return Rt(Ot(Y,e),l)?st(e,t):l},lt=e=>Ot(Y,e)??Ke(e,{}),at=e=>Ke(e,{}),nt=(e,t,s)=>{const[,l]=Ot(K,e);l(s),Xe(e,t,s,{},!0)},ot=(e,t,s,l,a,n)=>{const o=Ot(Ot(H,e)?.[0],a);if(!q(o)&&!n)return Ye(e,s,l,a,o);const r=t=>{ct(e,s,t,Ot(l,t)),ut(e,s,t,-1),Ft(l,t)};q(o)?r(a):At(l,r),qt(l)&&(dt(e,s,-1),qt(Ft(t,s))&&(it(e,-1),Ft(Y,e),Ft(K,e),Ft(X,e)))},rt=e=>{const t=Ot(D,e);if(!q(t))return tt(e,t);mt(e,Ot(Z,e)),ht(e,-1),Ft(Z,e)},it=(e,t)=>is(h,e,t),dt=(e,t,s)=>is(Jt(V,e,zt),t,s)&&Ft(S,e,Jt(S,e,(()=>0))+s),ut=(e,t,s,l)=>{const a=Ot(X,e),n=Ot(a,s)??0;(0==n&&1==l||1==n&&-1==l)&&is(Jt(k,e,zt),s,l),Ft(a,s,n!=-l?n+l:null),is(Jt(Jt(R,e,zt),t,zt),s,l)},ct=(e,t,s,l,a)=>Jt(Jt(Jt(E,e,zt),t,zt),s,(()=>[l,0]))[1]=a,ht=(e,t)=>is(O,e,t),mt=(e,t,s)=>Jt(A,e,(()=>[t,0]))[1]=s,bt=(e,t,s,l,a)=>(G(Jt(Jt(Jt(F,e,zt),t,zt),s,(()=>[])),l),a),gt=(e,t,s)=>(G(Jt(J,e,(()=>[])),t),s),pt=(e,t,s)=>N(Ot(Ot(Ot(E,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...ss(ms(e,t,s))])),It=e=>N(Ot(A,e),(([e,t])=>[!0,e,t]),(()=>[!1,...ss(ps(e))])),ft=e=>qt(F)||qt(Ce[e])?0:Mt(e?Wt(F):F,((t,s)=>Mt(t,((t,l)=>Mt(t,((t,a)=>Le(Ce[e],[s,l,a],t))))))),wt=e=>qt(J)||qt(ve[e])?0:Mt(e?Qt(J):J,((t,s)=>Le(ve[e],[s],t))),yt=(e,t,s,l)=>{if(!qt(e))return Le(t,l,(()=>Ht(e))),At(e,((e,t)=>Le(s,[...l??[],e],1==t))),1},Ct=e=>{const t=Is();t!=n&&Le(_[e],void 0,t);const s=qt(ge[e]),l=qt(fe[e])&&qt(we[e])&&qt(be[e])&&qt(pe[e])&&qt(ce[e])&&qt(he[e])&&qt(me[e])&&s&&qt(se[e])&&qt(de[e]),a=qt(ye[e])&&qt(Ie[e])&&qt(ue[e])&&qt(te[e]);if(!l||!a){const t=e?[Qt(h),jt(k),Qt(S),jt(V),Wt(R),Wt(E)]:[h,k,S,V,R,E];if(!l){yt(t[0],se[e],de[e]),Mt(t[1],((t,s)=>yt(t,ce[e],he[e],[s]))),Mt(t[2],((t,s)=>{0!=t&&Le(me[e],[s],es(s))}));const l=Zt();Mt(t[3],((t,a)=>{yt(t,be[e],pe[e],[a])&&!s&&(Le(ge[e],[a,null]),_t(l,a))})),s||Mt(t[5],((t,s)=>{if(!Rt(l,s)){const l=Zt();Mt(t,(e=>Mt(e,(([t,s],a)=>s!==t?_t(l,a):Et(e,a))))),Mt(l,(t=>Le(ge[e],[s,t])))}})),Mt(t[4],((t,s)=>Mt(t,((t,l)=>yt(t,fe[e],we[e],[s,l])))))}if(!a){let s;Mt(t[5],((t,l)=>{let a;Mt(t,((t,n)=>{let o;Mt(t,(([t,r],i)=>{r!==t&&(Le(ye[e],[l,n,i],r,t,pt),s=a=o=1)})),o&&Le(Ie[e],[l,n],pt)})),a&&Le(ue[e],[l],pt)})),s&&Le(te[e],void 0,pt)}}},vt=e=>{const t=vs();t!=o&&Le(Te[e],void 0,t);const s=qt(Se[e])&&qt(xe[e]),l=qt(Ve[e])&&qt(ke[e]);if(!s||!l){const t=e?[Qt(O),Qt(A)]:[O,A];if(s||yt(t[0],Se[e],xe[e]),!l){let s;Mt(t[1],(([t,l],a)=>{l!==t&&(Le(Ve[e],[a],l,t,It),s=1)})),s&&Le(ke[e],void 0,It)}}},Tt=(e,...t)=>($s((()=>e(...W(t,x)))),Fs),Nt=()=>[Ht(E,((e,t)=>-1===Ot(h,t)?null:Ht(e,((e,s)=>-1===Ot(Ot(V,t),s)?null:Ht(e,(([,e])=>e??null),((e,t)=>os(t)))),oe)),oe),Ht(A,(([,e])=>e??null),((e,t)=>os(t)))],Gt=()=>({cellsTouched:s,valuesTouched:l,changedCells:Dt(E,ns,os),invalidCells:Dt(F),changedValues:Ht(A,ns,os),invalidValues:Ht(J),changedTableIds:Ht(h),changedRowIds:Bt(V),changedCellIds:Dt(R),changedValueIds:Ht(O)}),Kt=()=>Dt(Y),Xt=()=>$t(Y),Yt=e=>$t(Ot(X,x(e))),es=e=>kt(Ot(Y,x(e))),us=e=>$t(Ot(Y,x(e))),cs=(e,t,s,l=0,a)=>{return W(z(Q((n=Ot(Y,x(e)),o=(e,s)=>[q(t)?s:Ot(e,x(t)),s],W([...n?.entries()??[]],(([e,t])=>o(t,e)))),(([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1))),l,q(a)?a:l+a),(([,e])=>e));var n,o},hs=(e,t)=>$t(Ot(Ot(Y,x(e)),x(t))),ms=(e,t,s)=>Ot(Ot(Ot(Y,x(e)),x(t)),x(s)),bs=()=>Ht(Z),gs=()=>$t(Z),ps=e=>Ot(Z,x(e)),Is=()=>!qt(Y),fs=e=>Rt(Y,x(e)),ws=(e,t)=>Rt(Ot(X,x(e)),x(t)),ys=(e,t)=>Rt(Ot(Y,x(e)),x(t)),Cs=(e,t,s)=>Rt(Ot(Ot(Y,x(e)),x(t)),x(s)),vs=()=>!qt(Z),Ts=e=>Rt(Z,x(e)),ks=e=>Tt((()=>(e=>rs(e,Fe,bt))(e)?Ge(e):0)),Ss=e=>Tt((()=>He(e)?et(e):0)),xs=e=>{try{Ue(ie(e))}catch{}return Fs},Vs=t=>Tt((()=>{if((e=rs(t,(e=>rs(e,Ae))))&&(je(t),!qt(Y))){const e=Kt();qs(),ks(e)}})),Rs=e=>Tt((()=>{if(t=(e=>rs(e,Ae))(e)){const s=bs();zs(),Ms(),t=!0,We(e),Ss(s)}})),qs=()=>Tt((()=>Ge({}))),Ns=e=>Tt((e=>Rt(Y,e)?at(e):0),e),Ls=(e,t)=>Tt(((e,t)=>N(Ot(Y,e),(s=>Rt(s,t)?nt(e,s,t):0))),e,t),Ms=()=>Tt((()=>et({}))),Es=()=>Tt((()=>{je({}),e=!1})),zs=()=>Tt((()=>{We({}),t=!1})),$s=(e,t)=>{if(-1!=i){Os();const s=e();return As(t),s}},Os=()=>(-1!=i&&i++,1==i&&Le(Re,void 0,Nt,Gt),Fs),As=e=>(i>0&&(i--,0==i&&(s=!qt(E),l=!qt(A),i=1,ft(1),s&&Ct(1),wt(1),l&&vt(1),e?.(Nt,Gt)&&(Mt(E,((e,t)=>Mt(e,((e,s)=>Mt(e,(([e],l)=>$e(Fs,t,s,l,e))))))),Mt(A,(([e],t)=>Oe(Fs,t,e))),s=l=!1),Le(qe[0],void 0,Nt,Gt),i=-1,ft(0),s&&Ct(0),wt(0),l&&vt(0),Le(qe[1],void 0,Nt,Gt),i=0,s=l=!1,n=Is(),o=vs(),j([h,k,S,V,R,E,F,O,A,J],Lt))),Fs),Fs={getContent:()=>[Kt(),bs()],getTables:Kt,getTableIds:Xt,getTable:e=>Bt(Ot(Y,x(e))),getTableCellIds:Yt,getRowCount:es,getRowIds:us,getSortedRowIds:cs,getRow:(e,t)=>Ht(Ot(Ot(Y,x(e)),x(t))),getCellIds:hs,getCell:ms,getValues:bs,getValueIds:gs,getValue:ps,hasTables:Is,hasTable:fs,hasTableCell:ws,hasRow:ys,hasCell:Cs,hasValues:vs,hasValue:Ts,getTablesJson:()=>re(Y),getValuesJson:()=>re(Z),getJson:()=>re([Y,Z]),getTablesSchemaJson:()=>re(P),getValuesSchemaJson:()=>re(B),getSchemaJson:()=>re([P,B]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>Tt((()=>{(oe(e)?qs:ks)(e),(oe(t)?Ms:Ss)(t)})),setTables:ks,setTable:(e,t)=>Tt((e=>Fe(t,e)?Ke(e,t):0),e),setRow:(e,t,s)=>Tt(((e,t)=>Je(e,t,s)?Xe(e,lt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>$s((()=>{let l;return Je(e,l,t)&&(e=x(e),Xe(e,lt(e),l=st(e,s?1:0),t)),l})),setPartialRow:(e,t,s)=>Tt(((e,t)=>{if(Je(e,t,s,1)){const l=lt(e);ne(s,((s,a)=>Ze(e,l,t,a,s)))}}),e,t),setCell:(e,t,s,l)=>Tt(((e,t,s)=>N(Pe(e,t,s,M(l)?l(ms(e,t,s)):l),(l=>Ze(e,lt(e),t,s,l)))),e,t,s),setValues:Ss,setPartialValues:e=>Tt((()=>He(e,1)?ne(e,((e,t)=>tt(t,e))):0)),setValue:(e,t)=>Tt((e=>N(Be(e,M(t)?t(ps(e)):t),(t=>tt(e,t)))),e),setTransactionChanges:e=>Tt((()=>{ne(e[0],((e,t)=>q(e)?Ns(t):ne(e,((e,s)=>q(e)?Ls(t,s):ne(e,((e,l)=>$e(Fs,t,s,l,e))))))),ne(e[1],((e,t)=>Oe(Fs,t,e)))})),setTablesJson:xs,setValuesJson:e=>{try{_e(ie(e))}catch{}return Fs},setJson:e=>Tt((()=>{try{const[t,s]=ie(e);Ue(t),_e(s)}catch{xs(e)}})),setTablesSchema:Vs,setValuesSchema:Rs,setSchema:(e,t)=>Tt((()=>{Vs(e),Rs(t)})),delTables:qs,delTable:Ns,delRow:Ls,delCell:(e,t,s,l)=>Tt(((e,t,s)=>N(Ot(Y,e),(a=>N(Ot(a,t),(n=>Rt(n,s)?ot(e,a,t,n,s,l):0))))),e,t,s),delValues:Ms,delValue:e=>Tt((e=>Rt(Z,e)?rt(e):0),e),delTablesSchema:Es,delValuesSchema:zs,delSchema:()=>Tt((()=>{Es(),zs()})),transaction:$s,startTransaction:Os,finishTransaction:As,forEachTable:e=>Mt(Y,((t,s)=>e(s,(e=>Mt(t,((t,s)=>e(s,(e=>At(t,e))))))))),forEachTableCell:(e,t)=>At(Ot(X,x(e)),t),forEachRow:(e,t)=>Mt(Ot(Y,x(e)),((e,s)=>t(s,(t=>At(e,t))))),forEachCell:(e,t,s)=>At(Ot(Ot(Y,x(e)),x(t)),s),forEachValue:e=>At(Z,e),addSortedRowIdsListener:(e,t,s,l,a,n,o)=>{let r=cs(e,t,s,l,a);return Ne((()=>{const o=cs(e,t,s,l,a);var i,d,u;d=r,$(i=o)===$(d)&&(u=(e,t)=>d[t]===e,i.every(u))||(r=o,n(Fs,e,t,s,l,a,r))}),ge[o?1:0],[e,t],[Xt])},addStartTransactionListener:e=>Ne(e,Re),addWillFinishTransactionListener:e=>Ne(e,qe[0]),addDidFinishTransactionListener:e=>Ne(e,qe[1]),callListener:e=>(Ee(e),Fs),delListener:e=>(Me(e),Fs),getListenerStats:()=>({hasTables:ls(_),tables:ls(te),tableIds:ls(se),hasTable:ls(de),table:ls(ue),tableCellIds:ls(ce),hasTableCell:ls(he,xt),rowCount:ls(me),rowIds:ls(be),sortedRowIds:ls(ge),hasRow:ls(pe,xt),row:ls(Ie,xt),cellIds:ls(fe,xt),hasCell:ls(we,Vt),cell:ls(ye,Vt),invalidCell:ls(Ce,Vt),hasValues:ls(Te),values:ls(ke),valueIds:ls(Se),hasValue:ls(xe),value:ls(Ve),invalidValue:ls(ve),transaction:St(Re)+ls(qe)}),createStore:ds,addListener:Ne,callListeners:Le};return ne({[c+b]:[0,_,[],()=>[Is()]],[b]:[0,te],[g]:[0,se],[c+m]:[1,de,[Xt],e=>[fs(...e)]],[m]:[1,ue,[Xt]],[m+y]:[1,ce,[Xt]],[c+m+w]:[2,he,[Xt,Yt],e=>[ws(...e)]],[I]:[1,me,[Xt]],[f]:[1,be,[Xt]],[c+p]:[2,pe,[Xt,us],e=>[ys(...e)]],[p]:[2,Ie,[Xt,us]],[y]:[2,fe,[Xt,us]],[c+w]:[3,we,[Xt,us,hs],e=>[Cs(...e)]],[w]:[3,ye,[Xt,us,hs],e=>ss(ms(...e))],InvalidCell:[3,Ce],[c+v]:[0,Te,[],()=>[vs()]],[v]:[0,ke],[T]:[0,Se],[c+C]:[1,xe,[gs],e=>[Ts(...e)]],[C]:[1,Ve,[gs],e=>ss(ps(e[0]))],InvalidValue:[1,ve]},(([e,t,s,l],a)=>{Fs["add"+a+"Listener"]=(...a)=>Ne(a[e],t[a[e+1]?1:0],e>0?z(a,0,e):void 0,s,l)})),ee(Fs)},us=({position:e="right",open:t=!1})=>{const l=s.useCreateStore(ds),a=ce.indexOf(e);return s.useCreatePersister(l,(e=>{return((e,t,s,l)=>((e,t,s,l,a,n,[o,r]=[],i=[])=>{let d,u,c,h=0,m=0,b=0,g=0;Jt(Gt,i,(()=>0)),Jt(Kt,i,(()=>[]));const p=async e=>(2!=h&&(h=1,m++,await I.schedule((async()=>{await e(),h=0}))),I),I={load:async(s,l)=>await p((async()=>{try{e.setContent(await t())}catch{e.setContent([s,l])}})),startAutoLoad:async(s={},a={})=>(I.stopAutoLoad(),await I.load(s,a),g=1,c=l((async(s,l)=>{if(l){const t=l();await p((async()=>e.setTransactionChanges(t)))}else await p((async()=>{try{e.setContent(s?.()??await t())}catch(e){n?.(e)}}))})),I),stopAutoLoad:()=>(g&&(a(c),c=void 0,g=0),I),save:async t=>(1!=h&&(h=2,b++,await I.schedule((async()=>{try{await s(e.getContent,t)}catch(e){n?.(e)}h=0}))),I),startAutoSave:async()=>(await I.stopAutoSave().save(),d=e.addDidFinishTransactionListener(((e,t)=>{const[s,l]=t();oe(s)&&oe(l)||I.save((()=>[s,l]))})),I),stopAutoSave:()=>(N(d,e.delListener),d=void 0,I),schedule:async(...e)=>(G(Ot(Kt,i),...e),await(async()=>{if(!Ot(Gt,i)){for(Ft(Gt,i,1);!q(u=K(Ot(Kt,i)));)try{await u()}catch(e){n?.(e)}Ft(Gt,i,0)}})(),I),getStore:()=>e,destroy:()=>I.stopAutoLoad().stopAutoSave(),getStats:()=>({loads:m,saves:b})};return o&&(I[o]=()=>r),ee(I)})(e,(async()=>ie(s.getItem(t))),(async e=>s.setItem(t,re(e()))),(e=>{const l=l=>{l.storageArea===s&&l.key===t&&e((()=>ie(l.newValue)))};return Yt.addEventListener(Xt,l),l}),(e=>Yt.removeEventListener(Xt,e)),l,["getStorageName",t]))(e,de,sessionStorage,t);var t}),void 0,(async e=>{await e.load(void 0,{position:-1==a?1:a,open:!!t}),await e.startAutoSave()})),F(A,null,F("aside",{id:de},F(Me,{s:l}),F(vt,{s:l})),F("style",null,Le))};e.EditableCellView=at,e.EditableValueView=nt,e.RelationshipInHtmlTable=st,e.ResultSortedTableInHtmlTable=lt,e.ResultTableInHtmlTable=({queryId:e,queries:t,customCells:l,...a})=>F(Ke,{...a,params:Qe(Ge(s.useResultTableCellIds(e,t),l,s.ResultCellView),We(t,e),s.useResultRowIds(e,t))}),e.SliceInHtmlTable=tt,e.SortedTableInHtmlTable=_e,e.SortedTablePaginator=ot,e.StoreInspector=e=>F(us,{...e}),e.TableInHtmlTable=({tableId:e,store:t,editable:l,customCells:a,...n})=>F(Ke,{...n,params:Qe(Ge(s.useTableCellIds(e,t),a,l?at:s.CellView),je(t,e),s.useRowIds(e,t))}),e.ValuesInHtmlTable=et},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("./ui-react")):"function"==typeof define&&define.amd?define(["exports","react","./ui-react"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseUiReactDomDebug={},e.React,e.TinyBaseUiReact);
1
+ var e,t;e=this,t=function(e,t,s){"use strict";const l=e=>typeof e,a="",n=l(a),o=l(!0),r=l(0),i=l(l),d="type",u="default",c="Has",h="Ids",m="Table",b=m+"s",g=m+h,p="Row",I=p+"Count",f=p+h,w="Cell",y=w+h,C="Value",v=C+"s",T=C+h,k="currentTarget",S="value",x=e=>a+e,V=Math.floor,R=isFinite,q=e=>null==e,N=(e,t,s)=>q(e)?s?.():t(e),L=e=>e==n||e==o,M=e=>l(e)==i,E=e=>Array.isArray(e),z=(e,t,s)=>e.slice(t,s),$=e=>e.length,{PureComponent:O,Fragment:A,createElement:F,useCallback:J,useLayoutEffect:P,useRef:H,useState:B}=t,D=(e,...t)=>q(e)?{}:e(...t),Q=(e,t)=>e.sort(t),j=(e,t)=>e.forEach(t),W=(e,t)=>e.map(t),U=e=>0==$(e),G=(e,...t)=>e.push(...t),K=e=>e.shift(),X=Object,Y=e=>X.getPrototypeOf(e),Z=X.entries,_=X.keys,ee=X.isFrozen,te=X.freeze,se=e=>!q(e)&&N(Y(e),(e=>e==X.prototype||q(Y(e))),(()=>!0)),le=(e=[])=>X.fromEntries(e),ae=(e,t)=>!q(((e,t)=>N(e,(e=>e[t])))(e,t)),ne=(e,t)=>(delete e[t],e),oe=(e,t)=>W(Z(e),(([e,s])=>t(s,e))),re=e=>se(e)&&0==(e=>$(_(e)))(e),ie=e=>JSON.stringify(e,((e,t)=>t instanceof Map?X.fromEntries([...t]):t)),de=JSON.parse,ue="tinybaseStoreInspector",ce="TinyBase Store Inspector",he=["left","top","bottom","right","full"],me="state",be="sort",ge="open",pe="position",Ie=ge,fe="editable",we=(...e)=>ie(e),ye=(e,t)=>W(Q(e),t),Ce=(e,t)=>[!!s.useCell(me,e,fe,t),J((s=>{t.setCell(me,e,fe,(e=>!e)),s.preventDefault()}),[t,e])],ve="M20 80l5-15l40-40l10 10l-40 40l-15 5m5-15l10 10",Te='content:url("',ke=Te+"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' stroke-width='4' stroke='white' fill='none'>",Se='</svg>")',xe=Te+"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\")",Ve=W([[20,20,20,60],[20,20,60,20],[20,60,60,20],[60,20,20,60],[30,30,40,40]],(([e,t,s,l])=>ke+`<rect x='20' y='20' width='60' height='60' fill='grey'/><rect x='${e}' y='${t}' width='${s}' height='${l}' fill='white'/>`+Se)),Re=ke+"<path d='M20 20l60 60M20 80l60-60' />"+Se,qe=ke+`<path d='${ve}' />`+Se,Ne=ke+`<path d='${ve}M20 20l60 60' />`+Se,Le="*::-webkit-scrollbar",Me=((e,t="")=>e.join(t))(oe({"":"all:initial;font-family:sans-serif;font-size:0.75rem;position:fixed;z-index:999999","*":"all:revert","*::before":"all:revert","*::after":"all:revert",[Le]:"width:0.5rem;height:0.5rem;",[Le+"-track"]:"background:#111",[Le+"-thumb"]:"background:#999;border:1px solid #111",[Le+"-thumb:hover"]:"background:#fff",[Le+"-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,...le(W(["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;",...le(W(["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)":xe,"header>img:nth-of-type(6)":Re,...le(W(Ve,((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":qe,"details[open]>summary img.done":Ne,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,#${ue} 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?`#${ue} ${t}{${e}}`:""))),Ee=({s:e})=>{const t=s.useValue(pe,e)??1,l=s.useSetValueCallback(Ie,(()=>!0),[],e);return s.useValue(Ie,e)?null:F("img",{onClick:l,title:ce,"data-position":t})},ze=({uniqueId:e,summary:t,editable:l,handleEditable:a,children:n,s:o})=>{const r=!!s.useCell(me,e,ge,o),i=s.useSetCellCallback(me,e,ge,(e=>e[k].open),[],o);return F("details",{open:r,onToggle:i},F("summary",null,t,a?F("img",{onClick:a,className:l?"done":"edit"}):null),n)},$e=e=>{const t=l(e);return L(t)||t==r&&R(e)?t:void 0},Oe=(e,t,s,l,a)=>q(a)?e.delCell(t,s,l,!0):e.setCell(t,s,l,a),Ae=(e,t,s)=>q(s)?e.delValue(t):e.setValue(t,s),Fe=(e,t,s,l)=>e==n?t:e==r?s:l,{useCallback:Je,useMemo:Pe,useState:He}=t,Be="editable",De=(e,t)=>W(s.useTableCellIds(e,t),(t=>e+"."+t)),Qe=(e,t,s)=>{const l=Je(e,t);return s?l:void 0},je=(...e)=>Pe((()=>e),e),We=(e,t)=>Pe((()=>({store:e,tableId:t})),[e,t]),Ue=(e,t)=>Pe((()=>({queries:e,queryId:t})),[e,t]),Ge=(e,t=!1,s,l=0,a,n,o,r)=>{const[[i,d,u],c]=He([e,t,l]),h=Je((e=>{c(e),r?.(e)}),[r]),m=Qe((e=>h([e,e==i&&!d,u])),[h,i,d,u],s),b=Je((e=>h([i,d,e])),[h,i,d]),g=!0===o?rt:o;return[[i,d,u],m,Pe((()=>!1===o?null:F(g,{offset:u,limit:a,total:n,onChange:b})),[o,g,u,a,n,b])]},Ke=(e,t,s)=>Pe((()=>{const a=t??e;return le(oe(E(a)?le(W(a,(e=>[e,e]))):a,((e,t)=>{return[t,{label:t,component:s,...(a=e,l(a)==n?{label:e}:e)}];var a})))}),[t,s,e]),Xe=({className:e,headerRow:t,idColumn:s,params:[l,a,n,o,r,i]})=>F("table",{className:e},i?F("caption",null,i):null,!1===t?null:F("thead",null,F("tr",null,!1===s?null:F(Ye,{sort:o??[],label:"Id",onClick:r}),oe(l,(({label:e},t)=>F(Ye,{key:t,cellId:t,label:e,sort:o??[],onClick:r}))))),F("tbody",null,W(n,(e=>F("tr",{key:e},!1===s?null:F("th",null,e),oe(l,(({component:t,getComponentProps:s},l)=>F("td",{key:l},F(t,{...D(s,e,l),...a,rowId:e,cellId:l}))))))))),Ye=({cellId:e,sort:[t,s],label:l=e??a,onClick:n})=>F("th",{onClick:Qe((()=>n?.(e)),[n,e],n),className:q(s)||t!=e?void 0:`sorted ${s?"de":"a"}scending`},q(s)||t!=e?null:(s?"↓":"↑")+" ",l),Ze=({localRowId:e,params:[l,a,n,o,r,i,d]})=>{const u=s.useRemoteRowId(r,e,i);return F("tr",null,!1===l?null:F(t.Fragment,null,F("th",null,e),F("th",null,u)),oe(a,(({component:t,getComponentProps:s},l)=>{const[a,r]=l.split(".",2),i=a===n?e:a===o?u:null;return q(i)?null:F("td",{key:l},F(t,{...D(s,i,r),store:d,tableId:a,rowId:i,cellId:r}))})))},_e=({thing:e,onThingChange:t,className:s,hasSchema:l,showType:a=!0})=>{const[i,d]=He(),[u,c]=He(),[h,m]=He(),[b,g]=He(),[p,I]=He();u!==e&&(d($e(e)),c(e),m(e+""),g(Number(e)||0),I(!!e));const f=Je(((e,s)=>{s(e),c(e),t(e)}),[t]),w=Je((()=>{if(!l?.()){const e=Fe(i,r,o,n),s=Fe(e,h,b,p);d(e),c(s),t(s)}}),[l,t,h,b,p,i]);return F("div",{className:s},a?F("button",{className:i,onClick:w},i):null,Fe(i,F("input",{key:i,value:h,onChange:Je((e=>f(e[k][S]+"",m)),[f])}),F("input",{key:i,type:"number",value:b,onChange:Je((e=>f(Number(e[k][S]||0),g)),[f])}),F("input",{key:i,type:"checkbox",checked:p,onChange:Je((e=>f(!!e[k].checked,I)),[f])})))},et=({tableId:e,cellId:t,descending:l,offset:a,limit:n,store:o,editable:r,sortOnClick:i,paginator:d=!1,onChange:u,customCells:c,...h})=>{const[m,b,g]=Ge(t,l,i,a,n,s.useRowCount(e,o),d,u);return F(Xe,{...h,params:je(Ke(s.useTableCellIds(e,o),c,r?nt:s.CellView),We(o,e),s.useSortedRowIds(e,...m,n,o),m,b,g)})},tt=({store:e,editable:t=!1,valueComponent:l=(t?ot:s.ValueView),getValueComponentProps:a,className:n,headerRow:o,idColumn:r})=>F("table",{className:n},!1===o?null:F("thead",null,F("tr",null,!1===r?null:F("th",null,"Id"),F("th",null,C))),F("tbody",null,W(s.useValueIds(e),(t=>F("tr",{key:t},!1===r?null:F("th",null,t),F("td",null,F(l,{...D(a,t),valueId:t,store:e}))))))),st=({indexId:e,sliceId:t,indexes:l,editable:a,customCells:n,...o})=>{const[r,i,d]=((e,t)=>[e,e?.getStore(),e?.getTableId(t)])(s.useIndexesOrIndexesById(l),e);return F(Xe,{...o,params:je(Ke(s.useTableCellIds(d,i),n,a?nt:s.CellView),We(i,d),s.useSliceRowIds(e,t,r))})},lt=({relationshipId:e,relationships:l,editable:a,customCells:n,className:o,headerRow:r,idColumn:i=!0})=>{const[d,u,c,h]=((e,t)=>[e,e?.getStore(),e?.getLocalTableId(t),e?.getRemoteTableId(t)])(s.useRelationshipsOrRelationshipsById(l),e),m=Ke([...De(c,u),...De(h,u)],n,a?nt:s.CellView),b=je(i,m,c,h,e,d,u);return F("table",{className:o},!1===r?null:F("thead",null,F("tr",null,!1===i?null:F(t.Fragment,null,F("th",null,c,".Id"),F("th",null,h,".Id")),oe(m,(({label:e},t)=>F("th",{key:t},e))))),F("tbody",null,W(s.useRowIds(c,u),(e=>F(Ze,{key:e,localRowId:e,params:b})))))},at=({queryId:e,cellId:t,descending:l,offset:a,limit:n,queries:o,sortOnClick:r,paginator:i=!1,customCells:d,onChange:u,...c})=>{const[h,m,b]=Ge(t,l,r,a,n,s.useResultRowCount(e,o),i,u);return F(Xe,{...c,params:je(Ke(s.useResultTableCellIds(e,o),d,s.ResultCellView),Ue(o,e),s.useResultSortedRowIds(e,...h,n,o),h,m,b)})},nt=({tableId:e,rowId:t,cellId:l,store:a,className:n,showType:o})=>F(_e,{thing:s.useCell(e,t,l,a),onThingChange:s.useSetCellCallback(e,t,l,(e=>e),[],a),className:n??Be+w,showType:o,hasSchema:s.useStoreOrStoreById(a)?.hasTablesSchema}),ot=({valueId:e,store:t,className:l,showType:a})=>F(_e,{thing:s.useValue(e,t),onThingChange:s.useSetValueCallback(e,(e=>e),[],t),className:l??Be+C,showType:a,hasSchema:s.useStoreOrStoreById(t)?.hasValuesSchema}),rt=({onChange:e,total:s,offset:l=0,limit:a=s,singular:n="row",plural:o=n+"s"})=>{(l>s||l<0)&&(l=0,e(0));const r=Qe((()=>e(l-a)),[e,l,a],l>0),i=Qe((()=>e(l+a)),[e,l,a],l+a<s);return F(t.Fragment,null,s>a&&F(t.Fragment,null,F("button",{className:"previous",disabled:0==l,onClick:r},"←"),F("button",{className:"next",disabled:l+a>=s,onClick:i},"→"),l+1," to ",Math.min(s,l+a)," of "),s," ",1!=s?o:n)},it=({indexes:e,indexesId:t,indexId:l,s:a})=>F(ze,{uniqueId:we("i",t,l),summary:"Index: "+l,s:a},W(s.useSliceIds(l,e),(s=>F(dt,{indexes:e,indexesId:t,indexId:l,sliceId:s,s:a,key:s})))),dt=({indexes:e,indexesId:t,indexId:s,sliceId:l,s:a})=>{const n=we("i",t,s,l),[o,r]=Ce(n,a);return F(ze,{uniqueId:n,summary:"Slice: "+l,editable:o,handleEditable:r,s:a},F(st,{sliceId:l,indexId:s,indexes:e,editable:o}))},ut=({indexesId:e,s:t})=>{const l=s.useIndexes(e),a=s.useIndexIds(l);return q(l)?null:F(ze,{uniqueId:we("i",e),summary:"Indexes: "+(e??u),s:t},U(a)?"No indexes defined":ye(a,(s=>F(it,{indexes:l,indexesId:e,indexId:s,s:t,key:s}))))},ct=({metrics:e,metricId:t})=>F("tr",null,F("th",null,t),F("td",null,e?.getTableId(t)),F("td",null,s.useMetric(t,e))),ht=({metricsId:e,s:t})=>{const l=s.useMetrics(e),a=s.useMetricIds(l);return q(l)?null:F(ze,{uniqueId:we("m",e),summary:"Metrics: "+(e??u),s:t},U(a)?"No metrics defined":F("table",null,F("thead",null,F("th",null,"Metric Id"),F("th",null,"Table Id"),F("th",null,"Metric")),F("tbody",null,W(a,(e=>F(ct,{metrics:l,metricId:e,key:e}))))))},mt=({queries:e,queriesId:t,queryId:l,s:a})=>{const n=we("q",t,l),[o,r,i]=de(s.useCell(me,n,be,a)??"[]"),d=s.useSetCellCallback(me,n,be,ie,[],a);return F(ze,{uniqueId:n,summary:"Query: "+l,s:a},F(at,{queryId:l,queries:e,cellId:o,descending:r,offset:i,limit:10,paginator:!0,sortOnClick:!0,onChange:d}))},bt=({queriesId:e,s:t})=>{const l=s.useQueries(e),a=s.useQueryIds(l);return q(l)?null:F(ze,{uniqueId:we("q",e),summary:"Queries: "+(e??u),s:t},U(a)?"No queries defined":ye(a,(s=>F(mt,{queries:l,queriesId:e,queryId:s,s:t,key:s}))))},gt=({relationships:e,relationshipsId:t,relationshipId:s,s:l})=>{const a=we("r",t,s),[n,o]=Ce(a,l);return F(ze,{uniqueId:a,summary:"Relationship: "+s,editable:n,handleEditable:o,s:l},F(lt,{relationshipId:s,relationships:e,editable:n}))},pt=({relationshipsId:e,s:t})=>{const l=s.useRelationships(e),a=s.useRelationshipIds(l);return q(l)?null:F(ze,{uniqueId:we("r",e),summary:"Relationships: "+(e??u),s:t},U(a)?"No relationships defined":ye(a,(s=>F(gt,{relationships:l,relationshipsId:e,relationshipId:s,s:t,key:s}))))},It=({tableId:e,store:t,storeId:l,s:a})=>{const n=we("t",l,e),[o,r,i]=de(s.useCell(me,n,be,a)??"[]"),d=s.useSetCellCallback(me,n,be,ie,[],a),[u,c]=Ce(n,a);return F(ze,{uniqueId:n,summary:m+": "+e,editable:u,handleEditable:c,s:a},F(et,{tableId:e,store:t,cellId:o,descending:r,offset:i,limit:10,paginator:!0,sortOnClick:!0,onChange:d,editable:u}))},ft=({store:e,storeId:t,s:l})=>{const a=we("v",t),[n,o]=Ce(a,l);return U(s.useValueIds(e))?null:F(ze,{uniqueId:a,summary:v,editable:n,handleEditable:o,s:l},F(tt,{store:e,editable:n}))},wt=({storeId:e,s:t})=>{const l=s.useStore(e),a=s.useTableIds(l);return q(l)?null:F(ze,{uniqueId:we("s",e),summary:"Store: "+(e??u),s:t},F(ft,{storeId:e,store:l,s:t}),ye(a,(s=>F(It,{store:l,storeId:e,tableId:s,s:t,key:s}))))},yt=({s:e})=>{const t=H(null),l=H(0),[a,n]=B(!1),{scrollLeft:o,scrollTop:r}=s.useValues(e);P((()=>{const e=t.current;if(e&&!a){const t=new MutationObserver((()=>{e.scrollWidth>=V(o)+e.clientWidth&&e.scrollHeight>=V(r)+e.clientHeight&&e.scrollTo(o,r)}));return t.observe(e,{childList:!0,subtree:!0}),()=>t.disconnect()}}),[a,o,r]);const i=J((t=>{const{scrollLeft:s,scrollTop:a}=t[k];cancelIdleCallback(l.current),l.current=requestIdleCallback((()=>{n(!0),e.setPartialValues({scrollLeft:s,scrollTop:a})}))}),[e]),d=s.useStore(),u=s.useStoreIds(),c=s.useMetrics(),h=s.useMetricsIds(),m=s.useIndexes(),b=s.useIndexesIds(),g=s.useRelationships(),p=s.useRelationshipsIds(),I=s.useQueries(),f=s.useQueriesIds();return q(d)&&U(u)&&q(c)&&U(h)&&q(m)&&U(b)&&q(g)&&U(p)&&q(I)&&U(f)?F("span",{className:"warn"},"There are no Stores or other objects to inspect. Make sure you placed the StoreInspector inside a Provider component."):F("article",{ref:t,onScroll:i},F(wt,{s:e}),W(u,(t=>F(wt,{storeId:t,s:e,key:t}))),F(ht,{s:e}),W(h,(t=>F(ht,{metricsId:t,s:e,key:t}))),F(ut,{s:e}),W(b,(t=>F(ut,{indexesId:t,s:e,key:t}))),F(pt,{s:e}),W(p,(t=>F(pt,{relationshipsId:t,s:e,key:t}))),F(bt,{s:e}),W(f,(t=>F(bt,{queriesId:t,s:e,key:t}))))};class Ct extends O{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?F("span",{className:"warn"},"Inspector error: please see console for details."):this.props.children}}const vt=({s:e})=>{const t=s.useValue(pe,e)??1,l=s.useSetValueCallback(Ie,(()=>!1),[],e),a=s.useSetValueCallback(pe,(e=>Number(e[k].dataset.id)),[],e);return F("header",null,F("img",{title:ce}),F("span",null,ce),W(he,((e,s)=>s==t?null:F("img",{onClick:a,"data-id":s,title:"Dock to "+e,key:s}))),F("img",{onClick:l,title:"Close"}))},Tt=({s:e})=>{const t=s.useValue(pe,e)??1;return s.useValue(Ie,e)?F("main",{"data-position":t},F(vt,{s:e}),F(Ct,null,F(yt,{s:e}))):null},kt=e=>t=>{return s=(t,s)=>t+e(s),Lt(t).reduce(s,0);var s},St=e=>e?.size??0,xt=kt(St),Vt=kt(xt),Rt=kt(Vt),qt=(e,t)=>e?.has(t)??!1,Nt=e=>q(e)||0==St(e),Lt=e=>[...e?.values()??[]],Mt=e=>e.clear(),Et=(e,t)=>e?.forEach(t),zt=(e,t)=>e?.delete(t),$t=e=>new Map(e),Ot=e=>[...e?.keys()??[]],At=(e,t)=>e?.get(t),Ft=(e,t)=>Et(e,((e,s)=>t(s,e))),Jt=(e,t,s)=>q(s)?(zt(e,t),e):e?.set(t,s),Pt=(e,t,s)=>(qt(e,t)||Jt(e,t,s()),At(e,t)),Ht=(e,t,s,l=Jt)=>(oe(t,((t,l)=>s(e,l,t))),Ft(e,(s=>ae(t,s)?0:l(e,s))),e),Bt=(e,t,s)=>{const l={};return Et(e,((e,a)=>{const n=t?t(e,a):e;!s?.(n,e)&&(l[a]=n)})),l},Dt=(e,t,s)=>Bt(e,(e=>Bt(e,t,s)),re),Qt=(e,t,s)=>Bt(e,(e=>Dt(e,t,s)),re),jt=(e,t)=>{const s=$t();return Et(e,((e,l)=>s.set(l,t?.(e)??e))),s},Wt=e=>jt(e,jt),Ut=e=>jt(e,Wt),Gt=(e,t,s,l,a=0)=>N((s?Pt:At)(e,t[a],a>$(t)-2?s:$t),(n=>{if(a>$(t)-2)return l?.(n)&&Jt(e,t[a]),n;const o=Gt(n,t,s,l,a+1);return Nt(n)&&Jt(e,t[a]),o})),Kt=$t(),Xt=$t(),Yt="storage",Zt=globalThis.window,_t=e=>new Set(E(e)||q(e)?e:[e]),es=(e,t)=>e?.add(t),ts=/^\d+$/,ss=()=>{const e=[];let t=0;return[s=>(s?K(e):null)??a+t++,t=>{ts.test(t)&&$(e)<1e3&&G(e,t)}]},ls=e=>[e,e],as=(e,t=xt)=>t(e[0])+t(e[1]),ns=()=>[$t(),$t()],os=e=>[...e],rs=([e,t])=>e===t,is=(e,t,s)=>q(e)||!se(e)||re(e)||ee(e)?(s?.(),!1):(oe(e,((s,l)=>{t(s,l)||ne(e,l)})),!re(e)),ds=(e,t,s)=>Jt(e,t,At(e,t)==-s?void 0:s),us=()=>{let e,t,s=!1,l=!1,n=!1,o=!1,i=0;const h=$t(),k=$t(),S=$t(),V=$t(),R=$t(),E=$t(),O=$t(),A=$t(),F=$t(),J=$t(),P=$t(),H=$t(),B=$t(),D=$t(),U=_t(),K=$t(),X=$t(),Y=$t(),Z=$t(),_=ns(),ee=ns(),se=ns(),le=ns(),ue=ns(),ce=ns(),he=ns(),me=ns(),be=ns(),ge=ns(),pe=ns(),Ie=ns(),fe=ns(),we=ns(),ye=ns(),Ce=ns(),ve=ns(),Te=ns(),ke=ns(),Se=ns(),xe=ns(),Ve=ns(),Re=$t(),qe=ns(),[Ne,Le,Me,Ee]=(e=>{let t;const[s,l]=ss(),n=$t();return[(e,l,o,r=[],i=(()=>[]))=>{t??=Fs;const d=s(1);return Jt(n,d,[e,l,o,r,i]),es(Gt(l,o??[a],_t),d),d},(e,s,...l)=>j(((e,t=[a])=>{const s=[],l=(e,a)=>a==$(t)?G(s,e):null===t[a]?Et(e,(e=>l(e,a+1))):j([t[a],null],(t=>l(At(e,t),a+1)));return l(e,0),s})(e,s),(e=>Et(e,(e=>At(n,e)[0](t,...s??[],...l))))),e=>N(At(n,e),(([,t,s])=>(Gt(t,s??[a],void 0,(t=>(zt(t,e),Nt(t)?1:0))),Jt(n,e),l(e),s))),e=>N(At(n,e),(([e,,s=[],l,a])=>{const n=(...o)=>{const r=$(o);r==$(s)?e(t,...o,...a(o)):q(s[r])?j(l[r]?.(...o)??[],(e=>n(...o,e))):n(...o,s[r])};n()}))]})(),ze=e=>{if(!is(e,((e,t)=>[d,u].includes(t))))return!1;const t=e[d];return!(!L(t)&&t!=r||($e(e[u])!=t&&ne(e,u),0))},Fe=(t,s)=>(!e||qt(P,s)||bt(s))&&is(t,((e,t)=>Je(s,t,e)),(()=>bt(s))),Je=(e,t,s,l)=>is(l?s:De(s,e,t),((l,a)=>N(Pe(e,t,a,l),(e=>(s[a]=e,!0)),(()=>!1))),(()=>bt(e,t))),Pe=(t,s,l,a)=>e?N(At(At(P,t),l),(e=>$e(a)!=e[d]?bt(t,s,l,a,e[u]):a),(()=>bt(t,s,l,a))):q($e(a))?bt(t,s,l,a):a,He=(e,t)=>is(t?e:Qe(e),((t,s)=>N(Be(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>gt())),Be=(e,s)=>t?N(At(B,e),(t=>$e(s)!=t[d]?gt(e,s,t[u]):s),(()=>gt(e,s))):q($e(s))?gt(e,s):s,De=(e,t,s)=>(N(At(H,t),(([l,a])=>{Et(l,((t,s)=>{ae(e,s)||(e[s]=t)})),Et(a,(l=>{ae(e,l)||bt(t,s,l)}))})),e),Qe=e=>(t&&(Et(D,((t,s)=>{ae(e,s)||(e[s]=t)})),Et(U,(t=>{ae(e,t)||gt(t)}))),e),je=e=>Ht(P,e,((e,t,s)=>{const l=$t(),a=_t();Ht(Pt(P,t,$t),s,((e,t,s)=>{Jt(e,t,s),N(s[u],(e=>Jt(l,t,e)),(()=>es(a,t)))})),Jt(H,t,[l,a])}),((e,t)=>{Jt(P,t),Jt(H,t)})),We=e=>Ht(B,e,((e,t,s)=>{Jt(B,t,s),N(s[u],(e=>Jt(D,t,e)),(()=>es(U,t)))}),((e,t)=>{Jt(B,t),Jt(D,t),zt(U,t)})),Ue=e=>re(e)?qs():ks(e),Ge=e=>Ht(Y,e,((e,t,s)=>Ke(t,s)),((e,t)=>at(t))),Ke=(e,t)=>Ht(Pt(Y,e,(()=>(it(e,1),Jt(K,e,ss()),Jt(X,e,$t()),$t()))),t,((t,s,l)=>Xe(e,t,s,l)),((t,s)=>nt(e,t,s))),Xe=(e,t,s,l,a)=>Ht(Pt(t,s,(()=>(dt(e,s,1),$t()))),l,((t,l,a)=>Ye(e,s,t,l,a)),((l,n)=>ot(e,t,s,l,n,a))),Ye=(e,t,s,l,a)=>{qt(s,l)||ut(e,t,l,1);const n=At(s,l);a!==n&&(ct(e,t,l,n,a),Jt(s,l,a))},Ze=(e,t,s,l,a)=>N(At(t,s),(t=>Ye(e,s,t,l,a)),(()=>Xe(e,t,s,De({[l]:a},e,s)))),_e=e=>re(e)?Ms():Ss(e),et=e=>Ht(Z,e,((e,t,s)=>tt(t,s)),((e,t)=>rt(t))),tt=(e,t)=>{qt(Z,e)||ht(e,1);const s=At(Z,e);t!==s&&(mt(e,s,t),Jt(Z,e,t))},st=(e,t)=>{const[s]=At(K,e),l=s(t);return qt(At(Y,e),l)?st(e,t):l},lt=e=>At(Y,e)??Ke(e,{}),at=e=>Ke(e,{}),nt=(e,t,s)=>{const[,l]=At(K,e);l(s),Xe(e,t,s,{},!0)},ot=(e,t,s,l,a,n)=>{const o=At(At(H,e)?.[0],a);if(!q(o)&&!n)return Ye(e,s,l,a,o);const r=t=>{ct(e,s,t,At(l,t)),ut(e,s,t,-1),Jt(l,t)};q(o)?r(a):Ft(l,r),Nt(l)&&(dt(e,s,-1),Nt(Jt(t,s))&&(it(e,-1),Jt(Y,e),Jt(K,e),Jt(X,e)))},rt=e=>{const t=At(D,e);if(!q(t))return tt(e,t);mt(e,At(Z,e)),ht(e,-1),Jt(Z,e)},it=(e,t)=>ds(h,e,t),dt=(e,t,s)=>ds(Pt(V,e,$t),t,s)&&Jt(S,e,Pt(S,e,(()=>0))+s),ut=(e,t,s,l)=>{const a=At(X,e),n=At(a,s)??0;(0==n&&1==l||1==n&&-1==l)&&ds(Pt(k,e,$t),s,l),Jt(a,s,n!=-l?n+l:null),ds(Pt(Pt(R,e,$t),t,$t),s,l)},ct=(e,t,s,l,a)=>Pt(Pt(Pt(E,e,$t),t,$t),s,(()=>[l,0]))[1]=a,ht=(e,t)=>ds(O,e,t),mt=(e,t,s)=>Pt(A,e,(()=>[t,0]))[1]=s,bt=(e,t,s,l,a)=>(G(Pt(Pt(Pt(F,e,$t),t,$t),s,(()=>[])),l),a),gt=(e,t,s)=>(G(Pt(J,e,(()=>[])),t),s),pt=(e,t,s)=>N(At(At(At(E,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...ls(ms(e,t,s))])),It=e=>N(At(A,e),(([e,t])=>[!0,e,t]),(()=>[!1,...ls(ps(e))])),ft=e=>Nt(F)||Nt(Ce[e])?0:Et(e?Ut(F):F,((t,s)=>Et(t,((t,l)=>Et(t,((t,a)=>Le(Ce[e],[s,l,a],t))))))),wt=e=>Nt(J)||Nt(ve[e])?0:Et(e?jt(J):J,((t,s)=>Le(ve[e],[s],t))),yt=(e,t,s,l)=>{if(!Nt(e))return Le(t,l,(()=>Bt(e))),Ft(e,((e,t)=>Le(s,[...l??[],e],1==t))),1},Ct=e=>{const t=Is();t!=n&&Le(_[e],void 0,t);const s=Nt(ge[e]),l=Nt(fe[e])&&Nt(we[e])&&Nt(be[e])&&Nt(pe[e])&&Nt(ce[e])&&Nt(he[e])&&Nt(me[e])&&s&&Nt(se[e])&&Nt(le[e]),a=Nt(ye[e])&&Nt(Ie[e])&&Nt(ue[e])&&Nt(ee[e]);if(!l||!a){const t=e?[jt(h),Wt(k),jt(S),Wt(V),Ut(R),Ut(E)]:[h,k,S,V,R,E];if(!l){yt(t[0],se[e],le[e]),Et(t[1],((t,s)=>yt(t,ce[e],he[e],[s]))),Et(t[2],((t,s)=>{0!=t&&Le(me[e],[s],Zt(s))}));const l=_t();Et(t[3],((t,a)=>{yt(t,be[e],pe[e],[a])&&!s&&(Le(ge[e],[a,null]),es(l,a))})),s||Et(t[5],((t,s)=>{if(!qt(l,s)){const l=_t();Et(t,(e=>Et(e,(([t,s],a)=>s!==t?es(l,a):zt(e,a))))),Et(l,(t=>Le(ge[e],[s,t])))}})),Et(t[4],((t,s)=>Et(t,((t,l)=>yt(t,fe[e],we[e],[s,l])))))}if(!a){let s;Et(t[5],((t,l)=>{let a;Et(t,((t,n)=>{let o;Et(t,(([t,r],i)=>{r!==t&&(Le(ye[e],[l,n,i],r,t,pt),s=a=o=1)})),o&&Le(Ie[e],[l,n],pt)})),a&&Le(ue[e],[l],pt)})),s&&Le(ee[e],void 0,pt)}}},vt=e=>{const t=vs();t!=o&&Le(Te[e],void 0,t);const s=Nt(Se[e])&&Nt(xe[e]),l=Nt(Ve[e])&&Nt(ke[e]);if(!s||!l){const t=e?[jt(O),jt(A)]:[O,A];if(s||yt(t[0],Se[e],xe[e]),!l){let s;Et(t[1],(([t,l],a)=>{l!==t&&(Le(Ve[e],[a],l,t,It),s=1)})),s&&Le(ke[e],void 0,It)}}},Tt=(e,...t)=>($s((()=>e(...W(t,x)))),Fs),kt=()=>[Bt(E,((e,t)=>-1===At(h,t)?null:Bt(e,((e,s)=>-1===At(At(V,t),s)?null:Bt(e,(([,e])=>e??null),((e,t)=>rs(t)))),re)),re),Bt(A,(([,e])=>e??null),((e,t)=>rs(t)))],Lt=()=>({cellsTouched:s,valuesTouched:l,changedCells:Qt(E,os,rs),invalidCells:Qt(F),changedValues:Bt(A,os,rs),invalidValues:Bt(J),changedTableIds:Bt(h),changedRowIds:Dt(V),changedCellIds:Qt(R),changedValueIds:Bt(O)}),Kt=()=>Qt(Y),Xt=()=>Ot(Y),Yt=e=>Ot(At(X,x(e))),Zt=e=>St(At(Y,x(e))),ts=e=>Ot(At(Y,x(e))),cs=(e,t,s,l=0,a)=>{return W(z(Q((n=At(Y,x(e)),o=(e,s)=>[q(t)?s:At(e,x(t)),s],W([...n?.entries()??[]],(([e,t])=>o(t,e)))),(([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1))),l,q(a)?a:l+a),(([,e])=>e));var n,o},hs=(e,t)=>Ot(At(At(Y,x(e)),x(t))),ms=(e,t,s)=>At(At(At(Y,x(e)),x(t)),x(s)),bs=()=>Bt(Z),gs=()=>Ot(Z),ps=e=>At(Z,x(e)),Is=()=>!Nt(Y),fs=e=>qt(Y,x(e)),ws=(e,t)=>qt(At(X,x(e)),x(t)),ys=(e,t)=>qt(At(Y,x(e)),x(t)),Cs=(e,t,s)=>qt(At(At(Y,x(e)),x(t)),x(s)),vs=()=>!Nt(Z),Ts=e=>qt(Z,x(e)),ks=e=>Tt((()=>(e=>is(e,Fe,bt))(e)?Ge(e):0)),Ss=e=>Tt((()=>He(e)?et(e):0)),xs=e=>{try{Ue(de(e))}catch{}return Fs},Vs=t=>Tt((()=>{if((e=is(t,(e=>is(e,ze))))&&(je(t),!Nt(Y))){const e=Kt();qs(),ks(e)}})),Rs=e=>Tt((()=>{if(t=(e=>is(e,ze))(e)){const s=bs();zs(),Ms(),t=!0,We(e),Ss(s)}})),qs=()=>Tt((()=>Ge({}))),Ns=e=>Tt((e=>qt(Y,e)?at(e):0),e),Ls=(e,t)=>Tt(((e,t)=>N(At(Y,e),(s=>qt(s,t)?nt(e,s,t):0))),e,t),Ms=()=>Tt((()=>et({}))),Es=()=>Tt((()=>{je({}),e=!1})),zs=()=>Tt((()=>{We({}),t=!1})),$s=(e,t)=>{if(-1!=i){Os();const s=e();return As(t),s}},Os=()=>(-1!=i&&i++,1==i&&Le(Re,void 0,kt,Lt),Fs),As=e=>(i>0&&(i--,0==i&&(s=!Nt(E),l=!Nt(A),i=1,ft(1),s&&Ct(1),wt(1),l&&vt(1),e?.(kt,Lt)&&(Et(E,((e,t)=>Et(e,((e,s)=>Et(e,(([e],l)=>Oe(Fs,t,s,l,e))))))),Et(A,(([e],t)=>Ae(Fs,t,e))),s=l=!1),Le(qe[0],void 0,kt,Lt),i=-1,ft(0),s&&Ct(0),wt(0),l&&vt(0),Le(qe[1],void 0,kt,Lt),i=0,s=l=!1,n=Is(),o=vs(),j([h,k,S,V,R,E,F,O,A,J],Mt))),Fs),Fs={getContent:()=>[Kt(),bs()],getTables:Kt,getTableIds:Xt,getTable:e=>Dt(At(Y,x(e))),getTableCellIds:Yt,getRowCount:Zt,getRowIds:ts,getSortedRowIds:cs,getRow:(e,t)=>Bt(At(At(Y,x(e)),x(t))),getCellIds:hs,getCell:ms,getValues:bs,getValueIds:gs,getValue:ps,hasTables:Is,hasTable:fs,hasTableCell:ws,hasRow:ys,hasCell:Cs,hasValues:vs,hasValue:Ts,getTablesJson:()=>ie(Y),getValuesJson:()=>ie(Z),getJson:()=>ie([Y,Z]),getTablesSchemaJson:()=>ie(P),getValuesSchemaJson:()=>ie(B),getSchemaJson:()=>ie([P,B]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>Tt((()=>{(re(e)?qs:ks)(e),(re(t)?Ms:Ss)(t)})),setTables:ks,setTable:(e,t)=>Tt((e=>Fe(t,e)?Ke(e,t):0),e),setRow:(e,t,s)=>Tt(((e,t)=>Je(e,t,s)?Xe(e,lt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>$s((()=>{let l;return Je(e,l,t)&&(e=x(e),Xe(e,lt(e),l=st(e,s?1:0),t)),l})),setPartialRow:(e,t,s)=>Tt(((e,t)=>{if(Je(e,t,s,1)){const l=lt(e);oe(s,((s,a)=>Ze(e,l,t,a,s)))}}),e,t),setCell:(e,t,s,l)=>Tt(((e,t,s)=>N(Pe(e,t,s,M(l)?l(ms(e,t,s)):l),(l=>Ze(e,lt(e),t,s,l)))),e,t,s),setValues:Ss,setPartialValues:e=>Tt((()=>He(e,1)?oe(e,((e,t)=>tt(t,e))):0)),setValue:(e,t)=>Tt((e=>N(Be(e,M(t)?t(ps(e)):t),(t=>tt(e,t)))),e),setTransactionChanges:e=>Tt((()=>{oe(e[0],((e,t)=>q(e)?Ns(t):oe(e,((e,s)=>q(e)?Ls(t,s):oe(e,((e,l)=>Oe(Fs,t,s,l,e))))))),oe(e[1],((e,t)=>Ae(Fs,t,e)))})),setTablesJson:xs,setValuesJson:e=>{try{_e(de(e))}catch{}return Fs},setJson:e=>Tt((()=>{try{const[t,s]=de(e);Ue(t),_e(s)}catch{xs(e)}})),setTablesSchema:Vs,setValuesSchema:Rs,setSchema:(e,t)=>Tt((()=>{Vs(e),Rs(t)})),delTables:qs,delTable:Ns,delRow:Ls,delCell:(e,t,s,l)=>Tt(((e,t,s)=>N(At(Y,e),(a=>N(At(a,t),(n=>qt(n,s)?ot(e,a,t,n,s,l):0))))),e,t,s),delValues:Ms,delValue:e=>Tt((e=>qt(Z,e)?rt(e):0),e),delTablesSchema:Es,delValuesSchema:zs,delSchema:()=>Tt((()=>{Es(),zs()})),transaction:$s,startTransaction:Os,finishTransaction:As,forEachTable:e=>Et(Y,((t,s)=>e(s,(e=>Et(t,((t,s)=>e(s,(e=>Ft(t,e))))))))),forEachTableCell:(e,t)=>Ft(At(X,x(e)),t),forEachRow:(e,t)=>Et(At(Y,x(e)),((e,s)=>t(s,(t=>Ft(e,t))))),forEachCell:(e,t,s)=>Ft(At(At(Y,x(e)),x(t)),s),forEachValue:e=>Ft(Z,e),addSortedRowIdsListener:(e,t,s,l,a,n,o)=>{let r=cs(e,t,s,l,a);return Ne((()=>{const o=cs(e,t,s,l,a);var i,d,u;d=r,$(i=o)===$(d)&&(u=(e,t)=>d[t]===e,i.every(u))||(r=o,n(Fs,e,t,s,l,a,r))}),ge[o?1:0],[e,t],[Xt])},addStartTransactionListener:e=>Ne(e,Re),addWillFinishTransactionListener:e=>Ne(e,qe[0]),addDidFinishTransactionListener:e=>Ne(e,qe[1]),callListener:e=>(Ee(e),Fs),delListener:e=>(Me(e),Fs),getListenerStats:()=>({hasTables:as(_),tables:as(ee),tableIds:as(se),hasTable:as(le),table:as(ue),tableCellIds:as(ce),hasTableCell:as(he,Vt),rowCount:as(me),rowIds:as(be),sortedRowIds:as(ge),hasRow:as(pe,Vt),row:as(Ie,Vt),cellIds:as(fe,Vt),hasCell:as(we,Rt),cell:as(ye,Rt),invalidCell:as(Ce,Rt),hasValues:as(Te),values:as(ke),valueIds:as(Se),hasValue:as(xe),value:as(Ve),invalidValue:as(ve),transaction:xt(Re)+as(qe)}),createStore:us,addListener:Ne,callListeners:Le};return oe({[c+b]:[0,_,[],()=>[Is()]],[b]:[0,ee],[g]:[0,se],[c+m]:[1,le,[Xt],e=>[fs(...e)]],[m]:[1,ue,[Xt]],[m+y]:[1,ce,[Xt]],[c+m+w]:[2,he,[Xt,Yt],e=>[ws(...e)]],[I]:[1,me,[Xt]],[f]:[1,be,[Xt]],[c+p]:[2,pe,[Xt,ts],e=>[ys(...e)]],[p]:[2,Ie,[Xt,ts]],[y]:[2,fe,[Xt,ts]],[c+w]:[3,we,[Xt,ts,hs],e=>[Cs(...e)]],[w]:[3,ye,[Xt,ts,hs],e=>ls(ms(...e))],InvalidCell:[3,Ce],[c+v]:[0,Te,[],()=>[vs()]],[v]:[0,ke],[T]:[0,Se],[c+C]:[1,xe,[gs],e=>[Ts(...e)]],[C]:[1,Ve,[gs],e=>ls(ps(e[0]))],InvalidValue:[1,ve]},(([e,t,s,l],a)=>{Fs["add"+a+"Listener"]=(...a)=>Ne(a[e],t[a[e+1]?1:0],e>0?z(a,0,e):void 0,s,l)})),te(Fs)},cs=({position:e="right",open:t=!1})=>{const l=s.useCreateStore(us),a=he.indexOf(e);return s.useCreatePersister(l,(e=>{return((e,t,s,l)=>((e,t,s,l,a,n,[o,r]=[],i=[])=>{let d,u,c,h=0,m=0,b=0,g=0;Pt(Kt,i,(()=>0)),Pt(Xt,i,(()=>[]));const p=async e=>(2!=h&&(h=1,m++,await I.schedule((async()=>{await e(),h=0}))),I),I={load:async(s,l)=>await p((async()=>{try{e.setContent(await t())}catch{e.setContent([s,l])}})),startAutoLoad:async(s={},a={})=>(I.stopAutoLoad(),await I.load(s,a),g=1,c=l((async(s,l)=>{if(l){const t=l();await p((async()=>e.setTransactionChanges(t)))}else await p((async()=>{try{e.setContent(s?.()??await t())}catch(e){n?.(e)}}))})),I),stopAutoLoad:()=>(g&&(a(c),c=void 0,g=0),I),save:async t=>(1!=h&&(h=2,b++,await I.schedule((async()=>{try{await s(e.getContent,t)}catch(e){n?.(e)}h=0}))),I),startAutoSave:async()=>(await I.stopAutoSave().save(),d=e.addDidFinishTransactionListener(((e,t)=>{const[s,l]=t();re(s)&&re(l)||I.save((()=>[s,l]))})),I),stopAutoSave:()=>(N(d,e.delListener),d=void 0,I),schedule:async(...e)=>(G(At(Xt,i),...e),await(async()=>{if(!At(Kt,i)){for(Jt(Kt,i,1);!q(u=K(At(Xt,i)));)try{await u()}catch(e){n?.(e)}Jt(Kt,i,0)}})(),I),getStore:()=>e,destroy:()=>I.stopAutoLoad().stopAutoSave(),getStats:()=>({loads:m,saves:b})};return o&&(I[o]=()=>r),te(I)})(e,(async()=>de(s.getItem(t))),(async e=>s.setItem(t,ie(e()))),(e=>{const l=l=>{l.storageArea===s&&l.key===t&&e((()=>de(l.newValue)))};return Zt.addEventListener(Yt,l),l}),(e=>Zt.removeEventListener(Yt,e)),l,["getStorageName",t]))(e,ue,sessionStorage,t);var t}),void 0,(async e=>{await e.load(void 0,{position:-1==a?1:a,open:!!t}),await e.startAutoSave()})),F(A,null,F("aside",{id:ue},F(Ee,{s:l}),F(Tt,{s:l})),F("style",null,Me))};e.EditableCellView=nt,e.EditableValueView=ot,e.RelationshipInHtmlTable=lt,e.ResultSortedTableInHtmlTable=at,e.ResultTableInHtmlTable=({queryId:e,queries:t,customCells:l,...a})=>F(Xe,{...a,params:je(Ke(s.useResultTableCellIds(e,t),l,s.ResultCellView),Ue(t,e),s.useResultRowIds(e,t))}),e.SliceInHtmlTable=st,e.SortedTableInHtmlTable=et,e.SortedTablePaginator=rt,e.StoreInspector=e=>F(cs,{...e}),e.TableInHtmlTable=({tableId:e,store:t,editable:l,customCells:a,...n})=>F(Xe,{...n,params:je(Ke(s.useTableCellIds(e,t),a,l?nt:s.CellView),We(t,e),s.useRowIds(e,t))}),e.ValuesInHtmlTable=tt},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("./ui-react")):"function"==typeof define&&define.amd?define(["exports","react","./ui-react"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseUiReactDomDebug={},e.React,e.TinyBaseUiReact);
Binary file
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e,t,l){"use strict";const a=e=>typeof e,n=a(""),o=a(!0),r=a(0),s="Value",i="currentTarget",d="value",u=isFinite,m=e=>null==e,{PureComponent:c,Fragment:h,createElement:b,useCallback:g,useLayoutEffect:p,useRef:w,useState:f}=t,I=(e,...t)=>m(e)?{}:e(...t),y=(e,t)=>e.map(t),C=Object,k=(e=[])=>C.fromEntries(e),v=(e,t)=>y(C.entries(e),(([e,l])=>t(l,e))),x="tinybaseStoreInspector",T="M20 80l5-15l40-40l10 10l-40 40l-15 5m5-15l10 10",R='content:url("',S=R+"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' stroke-width='4' stroke='white' fill='none'>",N='</svg>")',V=R+"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\")",z=y([[20,20,20,60],[20,20,60,20],[20,60,60,20],[60,20,20,60],[30,30,40,40]],(([e,t,l,a])=>S+`<rect x='20' y='20' width='60' height='60' fill='grey'/><rect x='${e}' y='${t}' width='${l}' height='${a}' fill='white'/>`+N)),$=S+"<path d='M20 20l60 60M20 80l60-60' />"+N,M=S+`<path d='${T}' />`+N,q=S+`<path d='${T}M20 20l60 60' />`+N,B="*::-webkit-scrollbar";((e,t="")=>{e.join(t)})(v({"":"all:initial;font-family:sans-serif;font-size:0.75rem;position:fixed;z-index:999999","*":"all:revert","*::before":"all:revert","*::after":"all:revert",[B]:"width:0.5rem;height:0.5rem;",[B+"-track"]:"background:#111",[B+"-thumb"]:"background:#999;border:1px solid #111",[B+"-thumb:hover"]:"background:#fff",[B+"-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;"+V,...k(y(["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;",...k(y(["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)":V,"header>img:nth-of-type(6)":$,...k(y(z,((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":M,"details[open]>summary img.done":q,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,#${x} 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?`#${x} ${t}{${e}}`:"")));const H=(e,t,l,a)=>e==n?t:e==r?l:a,{useCallback:O,useMemo:F,useState:E}=t,P="editable",j=(e,t)=>y(l.useTableCellIds(e,t),(t=>e+"."+t)),A=(e,t,l)=>{const a=O(e,t);return l?a:void 0},L=(...e)=>F((()=>e),e),U=(e,t)=>F((()=>({store:e,tableId:t})),[e,t]),D=(e,t)=>F((()=>({queries:e,queryId:t})),[e,t]),G=(e,t=!1,l,a=0,n,o,r,s)=>{const[[i,d,u],m]=E([e,t,a]),c=O((e=>{m(e),s?.(e)}),[s]),h=A((e=>c([e,e==i&&!d,u])),[c,i,d,u],l),g=O((e=>c([i,d,e])),[c,i,d]),p=!0===r?_:r;return[[i,d,u],h,F((()=>!1===r?null:b(p,{offset:u,limit:n,total:o,onChange:g})),[r,p,u,n,o,g])]},J=(e,t,l)=>F((()=>{const o=t??e;return k(v(Array.isArray(o)?k(y(o,(e=>[e,e]))):o,((e,t)=>{return[t,{label:t,component:l,...(o=e,a(o)==n?{label:e}:e)}];var o})))}),[t,l,e]),K=({className:e,headerRow:t,idColumn:l,params:[a,n,o,r,s,i]})=>b("table",{className:e},i?b("caption",null,i):null,!1===t?null:b("thead",null,b("tr",null,!1===l?null:b(Q,{sort:r??[],label:"Id",onClick:s}),v(a,(({label:e},t)=>b(Q,{key:t,cellId:t,label:e,sort:r??[],onClick:s}))))),b("tbody",null,y(o,(e=>b("tr",{key:e},!1===l?null:b("th",null,e),v(a,(({component:t,getComponentProps:l},a)=>b("td",{key:a},b(t,{...I(l,e,a),...n,rowId:e,cellId:a}))))))))),Q=({cellId:e,sort:[t,l],label:a=e??"",onClick:n})=>b("th",{onClick:A((()=>n?.(e)),[n,e],n),className:m(l)||t!=e?void 0:`sorted ${l?"de":"a"}scending`},m(l)||t!=e?null:(l?"↓":"↑")+" ",a),W=({localRowId:e,params:[a,n,o,r,s,i,d]})=>{const u=l.useRemoteRowId(s,e,i);return b("tr",null,!1===a?null:b(t.Fragment,null,b("th",null,e),b("th",null,u)),v(n,(({component:t,getComponentProps:l},a)=>{const[n,s]=a.split(".",2),i=n===o?e:n===r?u:null;return m(i)?null:b("td",{key:a},b(t,{...I(l,i,s),store:d,tableId:n,rowId:i,cellId:s}))})))},X=({thing:e,onThingChange:t,className:l,hasSchema:s,showType:m=!0})=>{const[c,h]=E(),[g,p]=E(),[w,f]=E(),[I,y]=E(),[C,k]=E();g!==e&&(h((e=>{const t=a(e);return(e=>e==n||e==o)(t)||t==r&&u(e)?t:void 0})(e)),p(e),f(e+""),y(Number(e)||0),k(!!e));const v=O(((e,l)=>{l(e),p(e),t(e)}),[t]),x=O((()=>{if(!s?.()){const e=H(c,r,o,n),l=H(e,w,I,C);h(e),p(l),t(l)}}),[s,t,w,I,C,c]);return b("div",{className:l},m?b("button",{className:c,onClick:x},c):null,H(c,b("input",{key:c,value:w,onChange:O((e=>v(e[i][d]+"",f)),[v])}),b("input",{key:c,type:"number",value:I,onChange:O((e=>v(Number(e[i][d]||0),y)),[v])}),b("input",{key:c,type:"checkbox",checked:C,onChange:O((e=>v(!!e[i].checked,k)),[v])})))},Y=({tableId:e,rowId:t,cellId:a,store:n,className:o,showType:r})=>b(X,{thing:l.useCell(e,t,a,n),onThingChange:l.useSetCellCallback(e,t,a,(e=>e),[],n),className:o??P+"Cell",showType:r,hasSchema:l.useStoreOrStoreById(n)?.hasTablesSchema}),Z=({valueId:e,store:t,className:a,showType:n})=>b(X,{thing:l.useValue(e,t),onThingChange:l.useSetValueCallback(e,(e=>e),[],t),className:a??P+s,showType:n,hasSchema:l.useStoreOrStoreById(t)?.hasValuesSchema}),_=({onChange:e,total:l,offset:a=0,limit:n=l,singular:o="row",plural:r=o+"s"})=>{(a>l||a<0)&&(a=0,e(0));const s=A((()=>e(a-n)),[e,a,n],a>0),i=A((()=>e(a+n)),[e,a,n],a+n<l);return b(t.Fragment,null,l>n&&b(t.Fragment,null,b("button",{className:"previous",disabled:0==a,onClick:s},"←"),b("button",{className:"next",disabled:a+n>=l,onClick:i},"→"),a+1," to ",Math.min(l,a+n)," of "),l," ",1!=l?r:o)},ee=e=>new Map(e);ee(),ee(),e.EditableCellView=Y,e.EditableValueView=Z,e.RelationshipInHtmlTable=({relationshipId:e,relationships:a,editable:n,customCells:o,className:r,headerRow:s,idColumn:i=!0})=>{const[d,u,m,c]=((e,t)=>[e,e?.getStore(),e?.getLocalTableId(t),e?.getRemoteTableId(t)])(l.useRelationshipsOrRelationshipsById(a),e),h=J([...j(m,u),...j(c,u)],o,n?Y:l.CellView),g=L(i,h,m,c,e,d,u);return b("table",{className:r},!1===s?null:b("thead",null,b("tr",null,!1===i?null:b(t.Fragment,null,b("th",null,m,".Id"),b("th",null,c,".Id")),v(h,(({label:e},t)=>b("th",{key:t},e))))),b("tbody",null,y(l.useRowIds(m,u),(e=>b(W,{key:e,localRowId:e,params:g})))))},e.ResultSortedTableInHtmlTable=({queryId:e,cellId:t,descending:a,offset:n,limit:o,queries:r,sortOnClick:s,paginator:i=!1,customCells:d,onChange:u,...m})=>{const[c,h,g]=G(t,a,s,n,o,l.useResultRowCount(e,r),i,u);return b(K,{...m,params:L(J(l.useResultTableCellIds(e,r),d,l.ResultCellView),D(r,e),l.useResultSortedRowIds(e,...c,o,r),c,h,g)})},e.ResultTableInHtmlTable=({queryId:e,queries:t,customCells:a,...n})=>b(K,{...n,params:L(J(l.useResultTableCellIds(e,t),a,l.ResultCellView),D(t,e),l.useResultRowIds(e,t))}),e.SliceInHtmlTable=({indexId:e,sliceId:t,indexes:a,editable:n,customCells:o,...r})=>{const[s,i,d]=((e,t)=>[e,e?.getStore(),e?.getTableId(t)])(l.useIndexesOrIndexesById(a),e);return b(K,{...r,params:L(J(l.useTableCellIds(d,i),o,n?Y:l.CellView),U(i,d),l.useSliceRowIds(e,t,s))})},e.SortedTableInHtmlTable=({tableId:e,cellId:t,descending:a,offset:n,limit:o,store:r,editable:s,sortOnClick:i,paginator:d=!1,onChange:u,customCells:m,...c})=>{const[h,g,p]=G(t,a,i,n,o,l.useRowCount(e,r),d,u);return b(K,{...c,params:L(J(l.useTableCellIds(e,r),m,s?Y:l.CellView),U(r,e),l.useSortedRowIds(e,...h,o,r),h,g,p)})},e.SortedTablePaginator=_,e.StoreInspector=e=>null,e.TableInHtmlTable=({tableId:e,store:t,editable:a,customCells:n,...o})=>b(K,{...o,params:L(J(l.useTableCellIds(e,t),n,a?Y:l.CellView),U(t,e),l.useRowIds(e,t))}),e.ValuesInHtmlTable=({store:e,editable:t=!1,valueComponent:a=(t?Z:l.ValueView),getValueComponentProps:n,className:o,headerRow:r,idColumn:i})=>b("table",{className:o},!1===r?null:b("thead",null,b("tr",null,!1===i?null:b("th",null,"Id"),b("th",null,s))),b("tbody",null,y(l.useValueIds(e),(t=>b("tr",{key:t},!1===i?null:b("th",null,t),b("td",null,b(a,{...I(n,t),valueId:t,store:e})))))))},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("./ui-react")):"function"==typeof define&&define.amd?define(["exports","react","./ui-react"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseUiReactDom={},e.React,e.TinyBaseUiReact);
1
+ var e,t;e=this,t=function(e,t,l){"use strict";const a=e=>typeof e,n=a(""),o=a(!0),r=a(0),s="Value",i="currentTarget",d="value",u=isFinite,m=e=>null==e,{PureComponent:c,Fragment:h,createElement:b,useCallback:g,useLayoutEffect:p,useRef:w,useState:f}=t,I=(e,...t)=>m(e)?{}:e(...t),y=(e,t)=>e.map(t),C=Object,k=C.entries,v=(e=[])=>C.fromEntries(e),x=(e,t)=>y(k(e),(([e,l])=>t(l,e))),T="tinybaseStoreInspector",R="M20 80l5-15l40-40l10 10l-40 40l-15 5m5-15l10 10",S='content:url("',N=S+"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' stroke-width='4' stroke='white' fill='none'>",V='</svg>")',z=S+"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\")",$=y([[20,20,20,60],[20,20,60,20],[20,60,60,20],[60,20,20,60],[30,30,40,40]],(([e,t,l,a])=>N+`<rect x='20' y='20' width='60' height='60' fill='grey'/><rect x='${e}' y='${t}' width='${l}' height='${a}' fill='white'/>`+V)),M=N+"<path d='M20 20l60 60M20 80l60-60' />"+V,q=N+`<path d='${R}' />`+V,B=N+`<path d='${R}M20 20l60 60' />`+V,H="*::-webkit-scrollbar";((e,t="")=>{e.join(t)})(x({"":"all:initial;font-family:sans-serif;font-size:0.75rem;position:fixed;z-index:999999","*":"all:revert","*::before":"all:revert","*::after":"all:revert",[H]:"width:0.5rem;height:0.5rem;",[H+"-track"]:"background:#111",[H+"-thumb"]:"background:#999;border:1px solid #111",[H+"-thumb:hover"]:"background:#fff",[H+"-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;"+z,...v(y(["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;",...v(y(["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)":z,"header>img:nth-of-type(6)":M,...v(y($,((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":q,"details[open]>summary img.done":B,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,#${T} 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?`#${T} ${t}{${e}}`:"")));const O=(e,t,l,a)=>e==n?t:e==r?l:a,{useCallback:F,useMemo:E,useState:P}=t,j="editable",A=(e,t)=>y(l.useTableCellIds(e,t),(t=>e+"."+t)),L=(e,t,l)=>{const a=F(e,t);return l?a:void 0},U=(...e)=>E((()=>e),e),D=(e,t)=>E((()=>({store:e,tableId:t})),[e,t]),G=(e,t)=>E((()=>({queries:e,queryId:t})),[e,t]),J=(e,t=!1,l,a=0,n,o,r,s)=>{const[[i,d,u],m]=P([e,t,a]),c=F((e=>{m(e),s?.(e)}),[s]),h=L((e=>c([e,e==i&&!d,u])),[c,i,d,u],l),g=F((e=>c([i,d,e])),[c,i,d]),p=!0===r?ee:r;return[[i,d,u],h,E((()=>!1===r?null:b(p,{offset:u,limit:n,total:o,onChange:g})),[r,p,u,n,o,g])]},K=(e,t,l)=>E((()=>{const o=t??e;return v(x(Array.isArray(o)?v(y(o,(e=>[e,e]))):o,((e,t)=>{return[t,{label:t,component:l,...(o=e,a(o)==n?{label:e}:e)}];var o})))}),[t,l,e]),Q=({className:e,headerRow:t,idColumn:l,params:[a,n,o,r,s,i]})=>b("table",{className:e},i?b("caption",null,i):null,!1===t?null:b("thead",null,b("tr",null,!1===l?null:b(W,{sort:r??[],label:"Id",onClick:s}),x(a,(({label:e},t)=>b(W,{key:t,cellId:t,label:e,sort:r??[],onClick:s}))))),b("tbody",null,y(o,(e=>b("tr",{key:e},!1===l?null:b("th",null,e),x(a,(({component:t,getComponentProps:l},a)=>b("td",{key:a},b(t,{...I(l,e,a),...n,rowId:e,cellId:a}))))))))),W=({cellId:e,sort:[t,l],label:a=e??"",onClick:n})=>b("th",{onClick:L((()=>n?.(e)),[n,e],n),className:m(l)||t!=e?void 0:`sorted ${l?"de":"a"}scending`},m(l)||t!=e?null:(l?"↓":"↑")+" ",a),X=({localRowId:e,params:[a,n,o,r,s,i,d]})=>{const u=l.useRemoteRowId(s,e,i);return b("tr",null,!1===a?null:b(t.Fragment,null,b("th",null,e),b("th",null,u)),x(n,(({component:t,getComponentProps:l},a)=>{const[n,s]=a.split(".",2),i=n===o?e:n===r?u:null;return m(i)?null:b("td",{key:a},b(t,{...I(l,i,s),store:d,tableId:n,rowId:i,cellId:s}))})))},Y=({thing:e,onThingChange:t,className:l,hasSchema:s,showType:m=!0})=>{const[c,h]=P(),[g,p]=P(),[w,f]=P(),[I,y]=P(),[C,k]=P();g!==e&&(h((e=>{const t=a(e);return(e=>e==n||e==o)(t)||t==r&&u(e)?t:void 0})(e)),p(e),f(e+""),y(Number(e)||0),k(!!e));const v=F(((e,l)=>{l(e),p(e),t(e)}),[t]),x=F((()=>{if(!s?.()){const e=O(c,r,o,n),l=O(e,w,I,C);h(e),p(l),t(l)}}),[s,t,w,I,C,c]);return b("div",{className:l},m?b("button",{className:c,onClick:x},c):null,O(c,b("input",{key:c,value:w,onChange:F((e=>v(e[i][d]+"",f)),[v])}),b("input",{key:c,type:"number",value:I,onChange:F((e=>v(Number(e[i][d]||0),y)),[v])}),b("input",{key:c,type:"checkbox",checked:C,onChange:F((e=>v(!!e[i].checked,k)),[v])})))},Z=({tableId:e,rowId:t,cellId:a,store:n,className:o,showType:r})=>b(Y,{thing:l.useCell(e,t,a,n),onThingChange:l.useSetCellCallback(e,t,a,(e=>e),[],n),className:o??j+"Cell",showType:r,hasSchema:l.useStoreOrStoreById(n)?.hasTablesSchema}),_=({valueId:e,store:t,className:a,showType:n})=>b(Y,{thing:l.useValue(e,t),onThingChange:l.useSetValueCallback(e,(e=>e),[],t),className:a??j+s,showType:n,hasSchema:l.useStoreOrStoreById(t)?.hasValuesSchema}),ee=({onChange:e,total:l,offset:a=0,limit:n=l,singular:o="row",plural:r=o+"s"})=>{(a>l||a<0)&&(a=0,e(0));const s=L((()=>e(a-n)),[e,a,n],a>0),i=L((()=>e(a+n)),[e,a,n],a+n<l);return b(t.Fragment,null,l>n&&b(t.Fragment,null,b("button",{className:"previous",disabled:0==a,onClick:s},"←"),b("button",{className:"next",disabled:a+n>=l,onClick:i},"→"),a+1," to ",Math.min(l,a+n)," of "),l," ",1!=l?r:o)},te=e=>new Map(e);te(),te(),e.EditableCellView=Z,e.EditableValueView=_,e.RelationshipInHtmlTable=({relationshipId:e,relationships:a,editable:n,customCells:o,className:r,headerRow:s,idColumn:i=!0})=>{const[d,u,m,c]=((e,t)=>[e,e?.getStore(),e?.getLocalTableId(t),e?.getRemoteTableId(t)])(l.useRelationshipsOrRelationshipsById(a),e),h=K([...A(m,u),...A(c,u)],o,n?Z:l.CellView),g=U(i,h,m,c,e,d,u);return b("table",{className:r},!1===s?null:b("thead",null,b("tr",null,!1===i?null:b(t.Fragment,null,b("th",null,m,".Id"),b("th",null,c,".Id")),x(h,(({label:e},t)=>b("th",{key:t},e))))),b("tbody",null,y(l.useRowIds(m,u),(e=>b(X,{key:e,localRowId:e,params:g})))))},e.ResultSortedTableInHtmlTable=({queryId:e,cellId:t,descending:a,offset:n,limit:o,queries:r,sortOnClick:s,paginator:i=!1,customCells:d,onChange:u,...m})=>{const[c,h,g]=J(t,a,s,n,o,l.useResultRowCount(e,r),i,u);return b(Q,{...m,params:U(K(l.useResultTableCellIds(e,r),d,l.ResultCellView),G(r,e),l.useResultSortedRowIds(e,...c,o,r),c,h,g)})},e.ResultTableInHtmlTable=({queryId:e,queries:t,customCells:a,...n})=>b(Q,{...n,params:U(K(l.useResultTableCellIds(e,t),a,l.ResultCellView),G(t,e),l.useResultRowIds(e,t))}),e.SliceInHtmlTable=({indexId:e,sliceId:t,indexes:a,editable:n,customCells:o,...r})=>{const[s,i,d]=((e,t)=>[e,e?.getStore(),e?.getTableId(t)])(l.useIndexesOrIndexesById(a),e);return b(Q,{...r,params:U(K(l.useTableCellIds(d,i),o,n?Z:l.CellView),D(i,d),l.useSliceRowIds(e,t,s))})},e.SortedTableInHtmlTable=({tableId:e,cellId:t,descending:a,offset:n,limit:o,store:r,editable:s,sortOnClick:i,paginator:d=!1,onChange:u,customCells:m,...c})=>{const[h,g,p]=J(t,a,i,n,o,l.useRowCount(e,r),d,u);return b(Q,{...c,params:U(K(l.useTableCellIds(e,r),m,s?Z:l.CellView),D(r,e),l.useSortedRowIds(e,...h,o,r),h,g,p)})},e.SortedTablePaginator=ee,e.StoreInspector=e=>null,e.TableInHtmlTable=({tableId:e,store:t,editable:a,customCells:n,...o})=>b(Q,{...o,params:U(K(l.useTableCellIds(e,t),n,a?Z:l.CellView),D(t,e),l.useRowIds(e,t))}),e.ValuesInHtmlTable=({store:e,editable:t=!1,valueComponent:a=(t?_:l.ValueView),getValueComponentProps:n,className:o,headerRow:r,idColumn:i})=>b("table",{className:o},!1===r?null:b("thead",null,b("tr",null,!1===i?null:b("th",null,"Id"),b("th",null,s))),b("tbody",null,y(l.useValueIds(e),(t=>b("tr",{key:t},!1===i?null:b("th",null,t),b("td",null,b(a,{...I(n,t),valueId:t,store:e})))))))},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("./ui-react")):"function"==typeof define&&define.amd?define(["exports","react","./ui-react"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseUiReactDom={},e.React,e.TinyBaseUiReact);
Binary file