tinybase 8.2.0-beta.0 → 8.2.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/@types/persisters/index.d.ts +1 -1
- package/@types/persisters/persister-durable-object-sql-storage/index.d.ts +6 -6
- package/@types/persisters/persister-durable-object-sql-storage/with-schemas/index.d.ts +6 -6
- package/@types/persisters/persister-durable-object-storage/index.d.ts +2 -2
- package/@types/persisters/persister-durable-object-storage/with-schemas/index.d.ts +2 -2
- package/@types/persisters/persister-electric-sql/index.d.ts +3 -3
- package/@types/persisters/persister-electric-sql/with-schemas/index.d.ts +3 -3
- package/@types/persisters/persister-expo-sqlite/index.d.ts +3 -3
- package/@types/persisters/persister-expo-sqlite/with-schemas/index.d.ts +3 -3
- package/@types/persisters/persister-file/index.d.ts +1 -1
- package/@types/persisters/persister-file/with-schemas/index.d.ts +1 -1
- package/@types/persisters/persister-libsql/index.d.ts +3 -3
- package/@types/persisters/persister-libsql/with-schemas/index.d.ts +3 -3
- package/@types/persisters/persister-partykit-client/index.d.ts +2 -2
- package/@types/persisters/persister-partykit-client/with-schemas/index.d.ts +2 -2
- package/@types/persisters/persister-powersync/index.d.ts +3 -3
- package/@types/persisters/persister-powersync/with-schemas/index.d.ts +3 -3
- package/@types/persisters/persister-react-native-mmkv/index.d.ts +2 -2
- package/@types/persisters/persister-react-native-mmkv/with-schemas/index.d.ts +2 -2
- package/@types/persisters/persister-react-native-sqlite/index.d.ts +3 -3
- package/@types/persisters/persister-react-native-sqlite/with-schemas/index.d.ts +3 -3
- package/@types/persisters/persister-remote/index.d.ts +1 -1
- package/@types/persisters/persister-remote/with-schemas/index.d.ts +1 -1
- package/@types/persisters/with-schemas/index.d.ts +1 -1
- package/@types/synchronizers/synchronizer-ws-server-durable-object/index.d.ts +7 -7
- package/@types/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.d.ts +7 -7
- package/@types/ui-react/index.d.ts +3 -3
- package/@types/ui-react/with-schemas/index.d.ts +3 -3
- package/@types/ui-react-dom/index.d.ts +52 -13
- package/@types/ui-react-dom/with-schemas/index.d.ts +52 -13
- package/@types/ui-react-inspector/index.d.ts +7 -4
- package/@types/ui-react-inspector/with-schemas/index.d.ts +7 -4
- package/@types/ui-svelte-dom/index.d.ts +2139 -0
- package/@types/ui-svelte-dom/with-schemas/index.d.ts +2186 -0
- package/@types/ui-svelte-inspector/index.d.ts +73 -0
- package/@types/ui-svelte-inspector/with-schemas/index.d.ts +73 -0
- package/agents.md +23 -12
- package/min/ui-react-inspector/index.js +1 -1
- package/min/ui-react-inspector/index.js.gz +0 -0
- package/min/ui-react-inspector/with-schemas/index.js +1 -1
- package/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
- package/min/ui-svelte-dom/index.js +1 -0
- package/min/ui-svelte-dom/index.js.gz +0 -0
- package/min/ui-svelte-dom/with-schemas/index.js +1 -0
- package/min/ui-svelte-dom/with-schemas/index.js.gz +0 -0
- package/min/ui-svelte-inspector/index.js +1 -0
- package/min/ui-svelte-inspector/index.js.gz +0 -0
- package/min/ui-svelte-inspector/with-schemas/index.js +1 -0
- package/min/ui-svelte-inspector/with-schemas/index.js.gz +0 -0
- package/package.json +85 -13
- package/readme.md +14 -14
- package/releases.md +101 -67
- package/ui-react-inspector/index.js +4676 -4657
- package/ui-react-inspector/with-schemas/index.js +4676 -4657
- package/ui-svelte/index.js +1 -1
- package/ui-svelte/with-schemas/index.js +1 -1
- package/ui-svelte-dom/index.js +2441 -0
- package/ui-svelte-dom/with-schemas/index.js +2441 -0
- package/ui-svelte-inspector/index.js +7680 -0
- package/ui-svelte-inspector/with-schemas/index.js +7680 -0
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The ui-svelte-inspector module of the TinyBase project provides a component
|
|
3
|
+
* to help debug the state of your TinyBase stores and other objects.
|
|
4
|
+
*
|
|
5
|
+
* The component in this module uses the Svelte DOM runtime and so is not
|
|
6
|
+
* appropriate for non-DOM environments.
|
|
7
|
+
* @see <Inspector /> (Svelte) demo
|
|
8
|
+
* @packageDocumentation
|
|
9
|
+
* @module ui-svelte-inspector
|
|
10
|
+
* @since v8.2.0
|
|
11
|
+
*/
|
|
12
|
+
import type {Component} from 'svelte';
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* InspectorProps props are used to configure the Inspector component.
|
|
16
|
+
* @category Props
|
|
17
|
+
* @since v8.2.0
|
|
18
|
+
*/
|
|
19
|
+
export type InspectorProps = {
|
|
20
|
+
/**
|
|
21
|
+
* An optional string to indicate where you want the inspector to first
|
|
22
|
+
* appear.
|
|
23
|
+
* @category Prop
|
|
24
|
+
* @since v8.2.0
|
|
25
|
+
*/
|
|
26
|
+
readonly position?: 'top' | 'right' | 'bottom' | 'left' | 'full';
|
|
27
|
+
/**
|
|
28
|
+
* An optional boolean to indicate whether the inspector should start in the
|
|
29
|
+
* opened state.
|
|
30
|
+
* @category Prop
|
|
31
|
+
* @since v8.2.0
|
|
32
|
+
*/
|
|
33
|
+
readonly open?: boolean;
|
|
34
|
+
/**
|
|
35
|
+
* An optional number to indicate the hue of the inspector's UI, defaulting to
|
|
36
|
+
* 270.
|
|
37
|
+
* @category Prop
|
|
38
|
+
* @since v8.2.0
|
|
39
|
+
*/
|
|
40
|
+
readonly hue?: number;
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* The Inspector component renders a tool which allows you to view and edit the
|
|
45
|
+
* content of a Store in a debug web environment.
|
|
46
|
+
*
|
|
47
|
+
* See the <Inspector /> (Svelte) demo for this component in action:
|
|
48
|
+
*
|
|
49
|
+
* 
|
|
51
|
+
*
|
|
52
|
+
* The component displays a nub in the corner of the screen which you may then
|
|
53
|
+
* click to interact with all the Store objects in the Provider component
|
|
54
|
+
* context.
|
|
55
|
+
*
|
|
56
|
+
* The component's props identify the nub's initial location and panel state,
|
|
57
|
+
* though subsequent user changes to that will be preserved on each reload.
|
|
58
|
+
* @param props The props for this component.
|
|
59
|
+
* @returns The rendering of the inspector tool.
|
|
60
|
+
* @example
|
|
61
|
+
* This example imports the Inspector component from the module.
|
|
62
|
+
*
|
|
63
|
+
* ```js
|
|
64
|
+
* import {Inspector} from 'tinybase/ui-svelte-inspector';
|
|
65
|
+
*
|
|
66
|
+
* console.log(typeof Inspector);
|
|
67
|
+
* // -> 'function'
|
|
68
|
+
* ```
|
|
69
|
+
* @category Development components
|
|
70
|
+
* @essential Using Svelte
|
|
71
|
+
* @since v8.2.0
|
|
72
|
+
*/
|
|
73
|
+
export const Inspector: Component<InspectorProps>;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The ui-svelte-inspector module of the TinyBase project provides a component
|
|
3
|
+
* to help debug the state of your TinyBase stores and other objects.
|
|
4
|
+
*
|
|
5
|
+
* The component in this module uses the Svelte DOM runtime and so is not
|
|
6
|
+
* appropriate for non-DOM environments.
|
|
7
|
+
* @see <Inspector /> (Svelte) demo
|
|
8
|
+
* @packageDocumentation
|
|
9
|
+
* @module ui-svelte-inspector
|
|
10
|
+
* @since v8.2.0
|
|
11
|
+
*/
|
|
12
|
+
import type {Component} from 'svelte';
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* InspectorProps props are used to configure the Inspector component.
|
|
16
|
+
* @category Props
|
|
17
|
+
* @since v8.2.0
|
|
18
|
+
*/
|
|
19
|
+
export type InspectorProps = {
|
|
20
|
+
/**
|
|
21
|
+
* An optional string to indicate where you want the inspector to first
|
|
22
|
+
* appear.
|
|
23
|
+
* @category Prop
|
|
24
|
+
* @since v8.2.0
|
|
25
|
+
*/
|
|
26
|
+
readonly position?: 'top' | 'right' | 'bottom' | 'left' | 'full';
|
|
27
|
+
/**
|
|
28
|
+
* An optional boolean to indicate whether the inspector should start in the
|
|
29
|
+
* opened state.
|
|
30
|
+
* @category Prop
|
|
31
|
+
* @since v8.2.0
|
|
32
|
+
*/
|
|
33
|
+
readonly open?: boolean;
|
|
34
|
+
/**
|
|
35
|
+
* An optional number to indicate the hue of the inspector's UI, defaulting to
|
|
36
|
+
* 270.
|
|
37
|
+
* @category Prop
|
|
38
|
+
* @since v8.2.0
|
|
39
|
+
*/
|
|
40
|
+
readonly hue?: number;
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* The Inspector component renders a tool which allows you to view and edit the
|
|
45
|
+
* content of a Store in a debug web environment.
|
|
46
|
+
*
|
|
47
|
+
* See the <Inspector /> (Svelte) demo for this component in action:
|
|
48
|
+
*
|
|
49
|
+
* 
|
|
51
|
+
*
|
|
52
|
+
* The component displays a nub in the corner of the screen which you may then
|
|
53
|
+
* click to interact with all the Store objects in the Provider component
|
|
54
|
+
* context.
|
|
55
|
+
*
|
|
56
|
+
* The component's props identify the nub's initial location and panel state,
|
|
57
|
+
* though subsequent user changes to that will be preserved on each reload.
|
|
58
|
+
* @param props The props for this component.
|
|
59
|
+
* @returns The rendering of the inspector tool.
|
|
60
|
+
* @example
|
|
61
|
+
* This example imports the Inspector component from the module.
|
|
62
|
+
*
|
|
63
|
+
* ```js
|
|
64
|
+
* import {Inspector} from 'tinybase/ui-svelte-inspector';
|
|
65
|
+
*
|
|
66
|
+
* console.log(typeof Inspector);
|
|
67
|
+
* // -> 'function'
|
|
68
|
+
* ```
|
|
69
|
+
* @category Development components
|
|
70
|
+
* @essential Using Svelte
|
|
71
|
+
* @since v8.2.0
|
|
72
|
+
*/
|
|
73
|
+
export const Inspector: Component<InspectorProps>;
|
package/agents.md
CHANGED
|
@@ -84,15 +84,18 @@ Synchronizers enable real-time data sync:
|
|
|
84
84
|
- Local (in-memory for testing)
|
|
85
85
|
- Custom transports (extensible)
|
|
86
86
|
|
|
87
|
-
###
|
|
87
|
+
### UI Integration
|
|
88
88
|
|
|
89
|
-
Optional
|
|
89
|
+
Optional UI modules provide:
|
|
90
90
|
|
|
91
|
-
- **Hooks**: `
|
|
92
|
-
|
|
93
|
-
- **
|
|
94
|
-
- **
|
|
95
|
-
- **
|
|
91
|
+
- **React Hooks & Components**: `ui-react` with hooks like `useCell`,
|
|
92
|
+
`useRow`, `useTable`, `useTables`, `useValue`, and component/context support
|
|
93
|
+
- **React DOM Components**: `ui-react-dom` with interactive tables
|
|
94
|
+
- **React Inspector**: `ui-react-inspector` for debugging and editing data
|
|
95
|
+
- **Svelte Reactivity & Components**: `ui-svelte` with reactive functions,
|
|
96
|
+
components, and context support
|
|
97
|
+
- **Svelte DOM Components**: `ui-svelte-dom` with interactive tables
|
|
98
|
+
- **Svelte Inspector**: `ui-svelte-inspector` for debugging and editing data
|
|
96
99
|
|
|
97
100
|
## Architecture
|
|
98
101
|
|
|
@@ -114,6 +117,9 @@ tinybase/synchronizers/synchronizer-* # Sync transports
|
|
|
114
117
|
tinybase/ui-react # React hooks
|
|
115
118
|
tinybase/ui-react-dom # React DOM components
|
|
116
119
|
tinybase/ui-react-inspector # DevTools
|
|
120
|
+
tinybase/ui-svelte # Svelte reactivity & components
|
|
121
|
+
tinybase/ui-svelte-dom # Svelte DOM components
|
|
122
|
+
tinybase/ui-svelte-inspector # DevTools
|
|
117
123
|
```
|
|
118
124
|
|
|
119
125
|
### Type System
|
|
@@ -194,6 +200,9 @@ tinybase/
|
|
|
194
200
|
│ ├── ui-react/ # React hooks
|
|
195
201
|
│ ├── ui-react-dom/ # React DOM components
|
|
196
202
|
│ ├── ui-react-inspector/ # DevTools
|
|
203
|
+
│ ├── ui-svelte/ # Svelte reactivity & components
|
|
204
|
+
│ ├── ui-svelte-dom/ # Svelte DOM components
|
|
205
|
+
│ ├── ui-svelte-inspector/ # DevTools
|
|
197
206
|
│ └── common/ # Shared utilities
|
|
198
207
|
├── test/ # Tests
|
|
199
208
|
│ ├── unit/ # Unit tests
|
|
@@ -300,9 +309,13 @@ from source code and markdown files.
|
|
|
300
309
|
source files for guides on the website.
|
|
301
310
|
|
|
302
311
|
4. **Generated Files**: `/releases.md` and `/readme.md` in the root are
|
|
303
|
-
**GENERATED** from `/site/guides/
|
|
312
|
+
**GENERATED** from `/site/guides/18_releases.md` and `/site/home/index.md`.
|
|
304
313
|
**Never edit the generated files directly**.
|
|
305
314
|
|
|
315
|
+
5. **Guide Redirects**: To preserve old guide URLs, leave a markdown stub at the
|
|
316
|
+
old path whose summary is just `-> /new-url`. The site generator hides these
|
|
317
|
+
from navigation and renders them as meta-refresh redirect pages.
|
|
318
|
+
|
|
306
319
|
### Documentation Testing
|
|
307
320
|
|
|
308
321
|
TinyBase has automated tests that validate all inline code examples in
|
|
@@ -352,7 +365,7 @@ npx vitest run ./test/unit/documentation.test.ts --retry=0
|
|
|
352
365
|
|
|
353
366
|
1. **API Documentation**: Edit `docs.js` file next to the type definition
|
|
354
367
|
2. **Guide Content**: Edit markdown files in `/site/guides/`
|
|
355
|
-
3. **Release Notes**: Edit `/site/guides/
|
|
368
|
+
3. **Release Notes**: Edit `/site/guides/18_releases.md` (not `/releases.md`)
|
|
356
369
|
4. **Always run documentation tests** after changes to verify examples work
|
|
357
370
|
|
|
358
371
|
## Creating New Schematizers
|
|
@@ -485,7 +498,7 @@ All code examples in a guide file are concatenated and executed as a test:
|
|
|
485
498
|
|
|
486
499
|
When adding a new feature:
|
|
487
500
|
|
|
488
|
-
1. **Update `/site/guides/
|
|
501
|
+
1. **Update `/site/guides/18_releases.md`** (NOT `/releases.md`):
|
|
489
502
|
- Add new version section at the top
|
|
490
503
|
- Include working code example that will be tested
|
|
491
504
|
- Link to relevant guide if applicable
|
|
@@ -539,5 +552,3 @@ At the end of each major project or task, add any new **general** learnings to
|
|
|
539
552
|
this file. This ensures future agents benefit from discoveries about the
|
|
540
553
|
codebase, build system, testing patterns, or documentation conventions. Only add
|
|
541
554
|
broadly applicable insights — not project-specific implementation details.
|
|
542
|
-
|
|
543
|
-
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e,jsxs as t,Fragment as n}from"react/jsx-runtime";import{useCell as l,useValue as s,useSetValueCallback as r,CellView as o,ResultCellView as a,ValueView as i,useSetCellCallback as d,useIndexes as c,useIndexIds as u,useSliceIds as h,useMetrics as m,useMetricIds as b,useMetric as p,useQueries as g,useQueryIds as v,useRelationships as I,useRelationshipIds as f,useTableIds as C,useTableCellIds as w,useHasCell as y,useValueIds as T,useStore as q,useValues as x,useStoreIds as k,useMetricsIds as D,useIndexesIds as S,useRelationshipsIds as Z,useQueriesIds as M,useCreateStore as N,useCreatePersister as L}from"../ui-react/index.js";import V from"react";const E=e=>typeof e,R="",A=E(R),$=E(!0),H=E(0),z=E(E),P="object",J="array",O="type",_="default",j="allowNull",B="Listener",F="Result",W="Has",Q="Ids",K="Table",G=K+"s",U=K+Q,X="Row",Y=X+"Count",ee=X+Q,te="Sorted"+X+Q,ne="Cell",le=ne+Q,se="Value",re=se+"s",oe=se+Q,ae="currentTarget",ie="value",de="extra",ce=e=>R+e,ue=e=>(t,n,l)=>e(t)?l?.():n(t),he=globalThis,me=he.window,be=Math,pe=be.min,ge=be.floor,ve=isFinite,Ie=e=>null==e,fe=e=>void 0===e,Ce=e=>null===e,we=e=>!1===e,ye=ue(Ie),Te=ue(fe),qe=e=>e==A||e==$,xe=e=>E(e)==A,ke=e=>E(e)==z,De=e=>Array.isArray(e),Se=(e,t,n)=>e.slice(t,n),Ze=e=>e.length,Me=()=>{},Ne=e=>e,Le=he.structuredClone,Ve=e=>{throw Error(e)},Ee=(e,t)=>{try{return e()}catch{return t}},Re=async(e,t,n)=>{try{return await e()}catch(e){t?.(e)}},Ae=(e,t)=>e.every(t),$e=(e,t)=>Ze(e)===Ze(t)&&Ae(e,(e,n)=>t[n]===e),He=(e,t)=>De(e)&&De(t)?$e(e,t):e===t,ze=(e,t)=>e.sort(t),Pe=(e,t)=>e.forEach(t),Je=(e,t="")=>e.join(t),Oe=(e,t)=>e.map(t),_e=e=>0==Ze(e),je=(e,...t)=>e.push(...t),Be=e=>e.shift(),Fe=Object,We=e=>Fe.getPrototypeOf(e),Qe=Fe.isFrozen,Ke=Fe.entries,Ge=e=>!Ie(e)&&ye(We(e),e=>e==Fe.prototype||Ie(We(e)),()=>!0),Ue=Fe.keys,Xe=Fe.freeze,Ye=(e=[])=>Fe.fromEntries(e),et=(e,t)=>t in e,tt=(e,t)=>(delete e[t],e),nt=(e,t)=>Oe(Ke(e),([e,n])=>t(n,e)),lt=(e,t)=>Ye(nt(e,(e,n)=>[n,t(e,n)])),st=e=>Ze(Ue(e)),rt=e=>Ge(e)&&0==st(e),ot=(e,t,n=(e,t)=>e===t)=>{const l=Ke(e);return Ze(l)===st(t)&&Ae(l,([e,l])=>Ge(l)?!!Ge(t[e])&&ot(t[e],l,n):n(l,t[e]))},at=(e,t,n,l=0)=>Ie(e)||!Ge(e)||!l&&rt(e)||Qe(e)?(n?.(),!1):(((e,t)=>{Pe(Ke(e),([e,n])=>t(n,e))})(e,(n,l)=>{t(n,l)||tt(e,l)}),!!l||!rt(e)),it=JSON.stringify,dt=JSON.parse,ct=e=>it(e,(e,t)=>t instanceof Map?Fe.fromEntries([...t]):t),ut=e=>ht(dt(e)),ht=e=>""===e?void 0:De(e)?Oe(e,ht):Ge(e)?lt(e,ht):e,mt=e=>t=>{return n=(t,n)=>t+e(n),Ct(t).reduce(n,0);var n},bt=e=>e?.size??0,pt=mt(bt),gt=mt(pt),vt=mt(gt),It=(e,t)=>e?.has(t)??!1,ft=e=>fe(e)||0==bt(e),Ct=e=>[...e?.values()??[]],wt=e=>e.clear(),yt=(e,t)=>e?.forEach(t),Tt=(e,t)=>e?.delete(t),qt=Map,xt=e=>new qt(e),kt=e=>[...e?.keys()??[]],Dt=(e,t)=>e?.get(t),St=(e,t)=>yt(e,(e,n)=>t(n,e)),Zt=(e,t,n)=>fe(n)?(Tt(e,t),e):e?.set(t,n),Mt=(e,t,n,l)=>(It(e,t)?l?.(Dt(e,t)):Zt(e,t,n()),Dt(e,t)),Nt=(e,t,n,l=Zt)=>(lt(t,(t,l)=>n(e,l,t)),St(e,n=>et(t,n)?0:l(e,n)),e),Lt=(e,t,n,l)=>{const s={};return yt(e,(e,r)=>{if(!n?.(e,r)){const n=t?t(e,r):e;l?.(n)||(s[r]=n)}}),s},Vt=(e,t,n)=>Lt(e,e=>Lt(e,t,n),ft,rt),Et=(e,t,n)=>Lt(e,e=>Vt(e,t,n),ft,rt),Rt=(e,t)=>{const n=xt();return yt(e,(e,l)=>n.set(l,t?.(e)??e)),n},At=e=>Rt(e,Rt),$t=e=>Rt(e,At),Ht=(e,t,n,l,s=0)=>Te((n?Mt:Dt)(e,t[s],s>Ze(t)-2?n:xt),r=>{if(s>Ze(t)-2)return l?.(r)&&Zt(e,t[s]),r;const o=Ht(r,t,n,l,s+1);return ft(r)&&Zt(e,t[s]),o}),zt=/^\d+$/,Pt=()=>{const e=[];let t=0;return[n=>(n?Be(e):null)??R+t++,t=>{zt.test(t)&&Ze(e)<1e3&&je(e,t)}]},Jt=e=>new Set(De(e)||fe(e)?e:[e]),Ot=(e,t)=>e?.add(t),_t=e=>{let t;const[n,l]=Pt(),s=xt();return[(l,r,o,a=[],i=()=>[])=>{t??=e();const d=n(1);return Zt(s,d,[l,r,o,a,i]),Ot(Ht(r,o??[R],Jt),d),d},(e,n,...l)=>Pe(((e,t=[R])=>{const n=[],l=(e,s)=>s==Ze(t)?je(n,e):Ce(t[s])?yt(e,e=>l(e,s+1)):Pe([t[s],null],t=>l(Dt(e,t),s+1));return l(e,0),n})(e,n),e=>yt(e,e=>Dt(s,e)[0](t,...n??[],...l))),e=>Te(Dt(s,e),([,t,n])=>(Ht(t,n??[R],void 0,t=>(Tt(t,e),ft(t)?1:0)),Zt(s,e),l(e),n)),e=>Te(Dt(s,e),([e,,n=[],l,s])=>{const r=(...o)=>{const a=Ze(o);a==Ze(n)?e(t,...o,...s(o)):Ce(n[a])?Pe(l[a]?.(...o)??[],e=>r(...o,e)):r(...o,n[a])};r()})]},jt=xt(),Bt=xt(),Ft="storage",Wt=e=>{if(Ce(e))return"null";if(De(e))return J;if(Ge(e))return P;const t=E(e);return qe(t)||t==H&&ve(e)?t:void 0},Qt=e=>e==P||e==J,Kt=e=>Ge(e)||De(e)?"�"+it(e):e,Gt=e=>xe(e)&&"�"==e[0],Ut=(e,t,n)=>!n&&Gt(e)?dt(Se(e,1)):e,Xt=(e,t,n,l,s,r)=>e==A?t:e==H?n:e==$?l:e==P?s:e==J?r:null,Yt=e=>[e,e],en=(e,t=pt)=>t(e[0])+t(e[1]),tn=()=>[xt(),xt()],nn=e=>[...e],ln=([e,t])=>e===t,sn=(e,t,n)=>Zt(e,t,Dt(e,t)==-n?void 0:n),rn=([e,t],[n,l])=>ot(e,n)&&ot(t,l),on=()=>{let e,t,n=!1,l=!1,s=0,r=[],o=[],a=0;const i=xt(),d=xt(),c=xt(),u=xt(),h=xt(),m=xt(),b=xt(),p=xt(),g=xt(),v=xt(),I=xt(),f=xt(),C=xt(),w=xt(),y=Jt(),T=xt(),q=xt(),x=xt(),k=xt(),D=tn(),S=tn(),Z=tn(),M=tn(),N=tn(),L=tn(),V=tn(),E=tn(),R=tn(),A=tn(),$=tn(),z=tn(),P=tn(),J=tn(),F=tn(),Q=tn(),te=tn(),ae=tn(),ie=tn(),de=tn(),ue=tn(),he=tn(),me=xt(),be=tn(),[pe,ge,ve,Ie]=_t(()=>sl),we=e=>{const t=a;a=1;const n=e();return a=t,n},ye=(e,t,n,l=Object.is)=>Te(t(),t=>e===t||l(e,t)?n(t):we(()=>n(t))),xe=e=>{if(!at(e,(e,t)=>[O,_,j].includes(t)))return!1;const t=e[O];if(!qe(t)&&t!=H&&!Qt(t))return!1;const n=e[_];return!(Ce(n)&&!e[j]||(Ce(n)||(Wt(n)!=t?tt(e,_):e[_]=Kt(n)),0))},Ze=De,Me=(t,n)=>(!e||It(I,n)||cn(n))&&at(t,(e,t)=>Ne(n,t,e),()=>cn(n)),Ne=(e,t,n,l)=>at(l?n:He(n,e,t),(l,s)=>Te(Ve(e,t,s,l),e=>(n[s]=e,!0),()=>!1),()=>cn(e,t)),Ve=(t,n,l,s)=>e?Te(Dt(Dt(I,t),l),e=>Ce(s)?e[j]?s:cn(t,n,l,s,e[_]):Wt(s)===e[O]?Kt(s):Qt(e[O])&&Gt(s)?s:cn(t,n,l,s,e[_]),()=>cn(t,n,l,s)):fe(Wt(s))?cn(t,n,l,s):Kt(s),Ee=(e,t)=>at(t?e:Je(e),(t,n)=>Te(Ae(n,t),t=>(e[n]=t,!0),()=>!1),()=>un()),Ae=(e,n)=>t?Te(Dt(C,e),t=>Ce(n)?t[j]?n:un(e,n,t[_]):Wt(n)===t[O]?Kt(n):Qt(t[O])&&Gt(n)?n:un(e,n,t[_]),()=>un(e,n)):fe(Wt(n))?un(e,n):Kt(n),He=(e,t,n)=>(Te(Dt(f,t),([l,s])=>{yt(l,(t,n)=>{et(e,n)||(e[n]=t)}),yt(s,l=>{et(e,l)||cn(t,n,l)})}),e),Je=e=>(t&&(yt(w,(t,n)=>{et(e,n)||(e[n]=t)}),yt(y,t=>{et(e,t)||un(t)})),e),_e=e=>Nt(I,e,(e,t,n)=>{const l=xt(),s=Jt();Nt(Mt(I,t,xt),n,(e,t,n)=>{Zt(e,t,n),Te(n[_],e=>Zt(l,t,e),()=>Ot(s,t))}),Zt(f,t,[l,s])},(e,t)=>{Zt(I,t),Zt(f,t)}),Be=e=>Nt(C,e,(e,t,n)=>{Zt(C,t,n),Te(n[_],e=>Zt(w,t,e),()=>Ot(y,t))},(e,t)=>{Zt(C,t),Zt(w,t),Tt(y,t)}),Fe=e=>rt(e)?Wn():Pn(e),We=(e,t,n,l,s,r)=>fe(l)?Gn(e,t,n,!0,s):Jn(e,t,n,l,s,r),Qe=e=>rt(e)?Un():On(e),Ke=(e,t,n)=>fe(t)?Xn(e,n):_n(e,t,n),Ue=(e,t)=>ye(e,()=>t?e:Te(r[1],t=>we(()=>t(Le(e))),()=>e),e=>Nt(x,e,(e,t,n)=>Ye(t,n),(e,t)=>Ct(t)),ot),Ye=(e,t,n)=>ye(t,()=>n?t:Te(r[2],n=>we(()=>n(e,Le(t))),()=>t),t=>Nt(Mt(x,e,()=>(jt(e,1),Zt(T,e,Pt()),Zt(q,e,xt()),xt())),t,(t,n,l)=>nt(e,t,n,l),(t,n)=>qt(e,t,n)),ot),nt=(e,t,n,l,s)=>ye(l,()=>s?l:Te(r[3],t=>we(()=>t(e,n,Le(l))),()=>l),l=>Nt(Mt(t,n,()=>(Bt(e,n,1),xt())),l,(t,l,s)=>st(e,n,t,l,s),(l,r)=>Ht(e,t,n,l,r,s)),ot),st=(e,t,n,l,s,o)=>ye(s,()=>Te(o?void 0:r[4],n=>we(()=>n(e,t,l,s)),()=>s),s=>{It(n,l)||Ft(e,t,l,1);const r=Dt(n,l);s!==r&&(Xt(e,t,l,r,s),Zt(n,l,s))}),it=(e,t,n,l,s,r)=>Te(Dt(t,n),t=>st(e,n,t,l,s,r),()=>{const o=xt();Zt(t,n,o),Bt(e,n,1),lt(He({[l]:s},e,n),(t,l)=>st(e,n,o,l,t,r))}),ut=(e,t)=>ye(e,()=>t?e:Te(r[5],t=>we(()=>t(Le(e))),()=>e),e=>Nt(k,e,(e,t,n)=>ht(t,n),(e,t)=>zt(t)),ot),ht=(e,t,n)=>ye(t,()=>Te(n?void 0:r[6],n=>we(()=>n(e,t)),()=>t),t=>{It(k,e)||an(e,1);const n=Dt(k,e);t!==n&&(dn(e,n,t),Zt(k,e,t))}),mt=e=>Mt(x,e,()=>(jt(e,1),Zt(T,e,Pt()),Zt(q,e,xt()),xt())),Ct=e=>we(()=>r[8]?.(e))??1?Ye(e,{},!0):Dt(x,e),qt=(e,t,n)=>{if(we(()=>r[9]?.(e,n))??1){const[,l]=Dt(T,e);l(n),nt(e,t,n,{},!0)}},Ht=(e,t,n,l,s,o,a)=>{const i=Dt(Dt(f,e)?.[0],s);if(!fe(i)&&!o)return st(e,n,l,s,i);if(a||(we(()=>r[10]?.(e,n,s))??1)){const r=t=>{Xt(e,n,t,Dt(l,t)),Ft(e,n,t,-1),Zt(l,t)};fe(i)?r(s):St(l,r),ft(l)&&(Bt(e,n,-1),ft(Zt(t,n))&&(jt(e,-1),Zt(x,e),Zt(T,e),Zt(q,e)))}},zt=(e,t)=>{const n=Dt(w,e);if(!fe(n))return ht(e,n);(t||(we(()=>r[12]?.(e))??1))&&(dn(e,Dt(k,e)),an(e,-1),Zt(k,e))},jt=(e,t)=>sn(i,e,t),Bt=(e,t,n)=>sn(Mt(u,e,xt),t,n)&&Zt(c,e,Mt(c,e,()=>0)+n),Ft=(e,t,n,l)=>{const s=Dt(q,e),r=Dt(s,n)??0;(0==r&&1==l||1==r&&-1==l)&&sn(Mt(d,e,xt),n,l),Zt(s,n,r!=-l?r+l:void 0),sn(Mt(Mt(h,e,xt),t,xt),n,l)},Xt=(e,t,n,l,s)=>{Mt(Mt(Mt(m,e,xt),t,xt),n,()=>[l,0])[1]=s,o[3]?.(e,t,n,s,a)},an=(e,t)=>sn(b,e,t),dn=(e,t,n)=>{Mt(p,e,()=>[t,0])[1]=n,o[4]?.(e,n,a)},cn=(e,t,n,l,s)=>(je(Mt(Mt(Mt(g,e,xt),t,xt),n,()=>[]),l),s),un=(e,t,n)=>(je(Mt(v,e,()=>[]),t),n),hn=(e,t,n)=>Te(Dt(Dt(Dt(m,e),t),n),([e,t])=>[!0,Ut(e),Ut(t)],()=>[!1,...Yt(Zn(e,t,n))]),mn=e=>Te(Dt(p,e),([e,t])=>[!0,Ut(e),Ut(t)],()=>[!1,...Yt(Ln(e))]),bn=e=>ft(g)||ft(Q[e])?0:yt(e?$t(g):g,(t,n)=>yt(t,(t,l)=>yt(t,(t,s)=>ge(Q[e],[n,l,s],t)))),pn=e=>ft(v)||ft(te[e])?0:yt(e?Rt(v):v,(t,n)=>ge(te[e],[n],t)),gn=(e,t,n,l)=>{if(!ft(e))return ge(t,l,()=>Lt(e)),St(e,(e,t)=>ge(n,[...l??[],e],1==t)),1},vn=e=>{const t=!ft(D[e]),l=!ft(A[e]),s=!(ft(P[e])&&ft(J[e])&&ft(R[e])&&ft($[e])&&ft(L[e])&&ft(V[e])&&ft(E[e])&&!l&&ft(Z[e])&&ft(M[e])),r=!(ft(F[e])&&ft(z[e])&&ft(N[e])&&ft(S[e]));if(t||s||r){const a=e?[Rt(i),At(d),Rt(c),At(u),$t(h),(o=m,Rt(o,e=>Rt(e,e=>Rt(e,nn))))]:[i,d,c,u,h,m];if(t){const t=Vn();t!=n&&ge(D[e],void 0,t)}if(s){gn(a[0],Z[e],M[e]),yt(a[1],(t,n)=>gn(t,L[e],V[e],[n])),yt(a[2],(t,n)=>{0!=t&&ge(E[e],[n],xn(n))});const t=Jt();yt(a[3],(n,s)=>{gn(n,R[e],$[e],[s])&&l&&(ge(A[e],[s,null]),Ot(t,s))}),l&&yt(a[5],(n,l)=>{if(!It(t,l)){const t=Jt();yt(n,e=>yt(e,([n,l],s)=>l!==n?Ot(t,s):Tt(e,s))),yt(t,t=>ge(A[e],[l,t]))}}),yt(a[4],(t,n)=>yt(t,(t,l)=>gn(t,P[e],J[e],[n,l])))}if(r){let t;yt(a[5],(n,l)=>{let s;yt(n,(n,r)=>{let o;yt(n,([n,a],i)=>{a!==n&&(ge(F[e],[l,r,i],Ut(a),Ut(n),hn),t=s=o=1)}),o&&ge(z[e],[l,r],hn)}),s&&ge(N[e],[l],hn)}),t&&ge(S[e],void 0,hn)}}var o},In=e=>{const t=!ft(ae[e]),n=!ft(de[e])||!ft(ue[e]),s=!ft(he[e])||!ft(ie[e]);if(t||n||s){const r=e?[Rt(b),Rt(p,nn)]:[b,p];if(t){const t=Hn();t!=l&&ge(ae[e],void 0,t)}if(n&&gn(r[0],de[e],ue[e]),s){let t;yt(r[1],([n,l],s)=>{l!==n&&(ge(he[e],[s],Ut(l),Ut(n),mn),t=1)}),t&&ge(ie[e],void 0,mn)}}},fn=(e,...t)=>(tl(()=>e(...Oe(t,ce))),sl),Cn=(e,t,n,l,s)=>{let r=Dn(e,t,...n);return pe(()=>{const s=Dn(e,t,...n);$e(s,r)||(r=s,l(sl,e,t,...n,r))},A[s?1:0],[e,t],[Tn])},wn=(e=!1)=>[Lt(m,(t,n)=>-1===Dt(i,n)?void 0:Lt(t,(t,l)=>-1===Dt(Dt(u,n),l)?void 0:Lt(t,([,t])=>Ut(t,0,e),e=>ln(e)),ft,rt),ft,rt),Lt(p,([,t])=>Ut(t,0,e),e=>ln(e)),1],yn=()=>Et(x,Ut),Tn=()=>kt(x),qn=e=>kt(Dt(q,ce(e))),xn=e=>bt(Dt(x,ce(e))),kn=e=>kt(Dt(x,ce(e))),Dn=(e,t,n,l=0,s)=>{return Ge(e)?Dn(e.tableId,e.cellId,e.descending,e.offset,e.limit):Oe(Se(ze((r=Dt(x,ce(e)),o=(e,n)=>[fe(t)?n:Dt(e,ce(t)),n],Oe([...r?.entries()??[]],([e,t])=>o(t,e))),([e],[t])=>((e??0)<(t??0)?-1:1)*(n?-1:1)),l,fe(s)?s:l+s),([,e])=>e);var r,o},Sn=(e,t)=>kt(Dt(Dt(x,ce(e)),ce(t))),Zn=(e,t,n)=>Ut(Dt(Dt(Dt(x,ce(e)),ce(t)),ce(n))),Mn=()=>Lt(k,Ut),Nn=()=>kt(k),Ln=e=>Ut(Dt(k,ce(e))),Vn=()=>!ft(x),En=e=>It(x,ce(e)),Rn=(e,t)=>It(Dt(q,ce(e)),ce(t)),An=(e,t)=>It(Dt(x,ce(e)),ce(t)),$n=(e,t,n)=>It(Dt(Dt(x,ce(e)),ce(t)),ce(n)),Hn=()=>!ft(k),zn=e=>It(k,ce(e)),Pn=e=>fn(()=>(e=>at(e,Me,cn))(e)?Ue(e):0),Jn=(e,t,n,l,s,o)=>fn((e,t,n)=>Te(Ve(e,t,n,ke(l)?l(Zn(e,t,n)):l),l=>{const a=mt(e);Te(s||o||!r[14]?.()?void 0:r[3],r=>{const o=Dt(a,t),i={...o?Lt(o):{},[n]:l};Te(we(()=>r(e,t,Le(i))),n=>((e,t,n,l,s)=>{Nt(Mt(t,n,()=>(Bt(e,n,1),xt())),l,(t,l,r)=>Te(Ve(e,n,l,r),r=>st(e,n,t,l,r,s)),(l,s)=>Ht(e,t,n,l,s,!0))})(e,a,t,n,s))},()=>it(e,a,t,n,l,s))}),e,t,n),On=e=>fn(()=>Ee(e)?ut(e):0),_n=(e,t,n)=>fn(e=>Te(Ae(e,ke(t)?t(Ln(e)):t),t=>ht(e,t,n)),e),jn=e=>(Re(()=>Fe(dt(e))),sl),Bn=t=>fn(()=>{if((e=at(t,e=>at(e,xe)))&&(_e(t),!ft(x))){const e=yn();Wn(),Pn(e)}}),Fn=e=>fn(()=>{if(t=(e=>at(e,xe))(e)){const n=Mn();el(),Un(),t=!0,Be(e),On(n)}}),Wn=()=>fn(()=>we(()=>r[7]?.())??1?Ue({},!0):0),Qn=e=>fn(e=>It(x,e)?Ct(e):0,e),Kn=(e,t)=>fn((e,t)=>Te(Dt(x,e),n=>It(n,t)?qt(e,n,t):0),e,t),Gn=(e,t,n,l,s)=>fn((e,t,n)=>Te(Dt(x,e),r=>Te(Dt(r,t),o=>It(o,n)?Ht(e,r,t,o,n,l,s):0)),e,t,n),Un=()=>fn(()=>we(()=>r[11]?.())??1?ut({},!0):0),Xn=(e,t)=>fn(e=>It(k,e)?zt(e,t):0,e),Yn=()=>fn(()=>{_e({}),e=!1}),el=()=>fn(()=>{Be({}),t=!1}),tl=(e,t)=>{if(-1!=s){nl();const n=e();return ll(t),n}},nl=()=>(-1!=s&&s++,1==s&&(o[0]?.(),ge(me)),sl),ll=e=>(s>0&&(s--,0==s&&(s=1,we(()=>{bn(1),ft(m)||vn(1),pn(1),ft(p)||In(1)}),e?.(sl)&&(yt(m,(e,t)=>yt(e,(e,n)=>yt(e,([e],l)=>We(t,n,l,e,!0)))),wt(m),yt(p,([e],t)=>Ke(t,e,!0)),wt(p)),ge(be[0],void 0),s=-1,bn(0),ft(m)||vn(0),pn(0),ft(p)||In(0),o[1]?.(),ge(be[1],void 0),o[2]?.(),s=0,n=Vn(),l=Hn(),Pe([i,d,c,u,h,m,g,b,p,v],wt))),sl),sl={getContent:()=>[yn(),Mn()],getTables:yn,getTableIds:Tn,getTable:e=>Vt(Dt(x,ce(e)),Ut),getTableCellIds:qn,getRowCount:xn,getRowIds:kn,getSortedRowIds:Dn,getRow:(e,t)=>Lt(Dt(Dt(x,ce(e)),ce(t)),Ut),getCellIds:Sn,getCell:Zn,getValues:Mn,getValueIds:Nn,getValue:Ln,hasTables:Vn,hasTable:En,hasTableCell:Rn,hasRow:An,hasCell:$n,hasValues:Hn,hasValue:zn,getTablesJson:()=>ct(x),getValuesJson:()=>ct(k),getJson:()=>ct([x,k]),getTablesSchemaJson:()=>ct(I),getValuesSchemaJson:()=>ct(C),getSchemaJson:()=>ct([I,C]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:e=>fn(()=>{const t=ke(e)?e():e;Ze(t)&&(e=>{ye(e,()=>Te(r[0],t=>we(()=>t(Le(e))),()=>e),([e,t])=>{(rt(e)?Wn:Pn)(e),(rt(t)?Un:On)(t)},rn)})(t)}),setTables:Pn,setTable:(e,t)=>fn(e=>Me(t,e)?Ye(e,t):0,e),setRow:(e,t,n)=>fn((e,t)=>Ne(e,t,n)?nt(e,mt(e),t,n):0,e,t),addRow:(e,t,n=!0)=>tl(()=>{let l;return Ne(e,l,t)&&(e=ce(e),nt(e,mt(e),l=((e,t)=>{const[n]=Dt(T,e);let l;do{l=n(t)}while(It(Dt(x,e),l));return l})(e,n?1:0),t)),l}),setPartialRow:(e,t,n)=>fn((e,t)=>{if(Ne(e,t,n,1)){const l=mt(e);lt(n,(n,s)=>it(e,l,t,s,n))}},e,t),setCell:Jn,setValues:On,setPartialValues:e=>fn(()=>Ee(e,1)?lt(e,(e,t)=>ht(t,e)):0),setValue:_n,applyChanges:e=>fn(()=>ye(e,()=>Te(r[13],t=>we(()=>t(Le(e))),()=>e),e=>{lt(e[0],(e,t)=>fe(e)?Qn(t):lt(e,(e,n)=>fe(e)?Kn(t,n):lt(e,(e,l)=>We(t,n,l,e,void 0,!0)))),lt(e[1],(e,t)=>Ke(t,e))},rn)),setTablesJson:jn,setValuesJson:e=>(Re(()=>Qe(dt(e))),sl),setJson:e=>fn(()=>Re(()=>{const[t,n]=dt(e);Fe(t),Qe(n)},()=>jn(e))),setTablesSchema:Bn,setValuesSchema:Fn,setSchema:(e,t)=>fn(()=>{Bn(e),Fn(t)}),delTables:Wn,delTable:Qn,delRow:Kn,delCell:Gn,delValues:Un,delValue:Xn,delTablesSchema:Yn,delValuesSchema:el,delSchema:()=>fn(()=>{Yn(),el()}),transaction:tl,startTransaction:nl,getTransactionChanges:()=>wn(),getTransactionLog:()=>[!ft(m),!ft(p),Et(m,nn,ln),Et(g),Lt(p,nn,ln),Lt(v),Lt(i),Vt(u),Et(h),Lt(b)],finishTransaction:ll,forEachTable:e=>yt(x,(t,n)=>e(n,e=>yt(t,(t,n)=>e(n,e=>St(t,(t,n)=>e(t,Ut(n))))))),forEachTableCell:(e,t)=>St(Dt(q,ce(e)),t),forEachRow:(e,t)=>yt(Dt(x,ce(e)),(e,n)=>t(n,t=>St(e,(e,n)=>t(e,Ut(n))))),forEachCell:(e,t,n)=>St(Dt(Dt(x,ce(e)),ce(t)),(e,t)=>n(e,Ut(t))),forEachValue:e=>St(k,(t,n)=>e(t,Ut(n))),addSortedRowIdsListener:(e,t,n,l,s,r,o)=>Ge(e)?Cn(e.tableId,e.cellId,[e.descending??!1,e.offset??0,e.limit],t,n):Cn(e,t,[n,l,s],r,o),addStartTransactionListener:e=>pe(e,me),addWillFinishTransactionListener:e=>pe(e,be[0]),addDidFinishTransactionListener:e=>pe(e,be[1]),callListener:e=>(Ie(e),sl),delListener:e=>(ve(e),sl),getListenerStats:()=>({hasTables:en(D),tables:en(S),tableIds:en(Z),hasTable:en(M),table:en(N),tableCellIds:en(L),hasTableCell:en(V,gt),rowCount:en(E),rowIds:en(R),sortedRowIds:en(A),hasRow:en($,gt),row:en(z,gt),cellIds:en(P,gt),hasCell:en(J,vt),cell:en(F,vt),invalidCell:en(Q,vt),hasValues:en(ae),values:en(ie),valueIds:en(de),hasValue:en(ue),value:en(he),invalidValue:en(te),transaction:pt(me)+en(be)}),isMergeable:()=>!1,_:[on,pe,ge,(e,t,n,l,s)=>o=[e,t,n,l,s],(e,t,n,l,s,o,a,i,d,c,u,h,m,b,p)=>r=[e,t,n,l,s,o,a,i,d,c,u,h,m,b,p],We,Ke,()=>[Et(x),Lt(k)],()=>wn(!0)]};return lt({[W+G]:[0,D,[],()=>[Vn()]],[G]:[0,S],[U]:[0,Z],[W+K]:[1,M,[Tn],e=>[En(...e)]],[K]:[1,N,[Tn]],[K+le]:[1,L,[Tn]],[W+K+ne]:[2,V,[Tn,qn],e=>[Rn(...e)]],[Y]:[1,E,[Tn]],[ee]:[1,R,[Tn]],[W+X]:[2,$,[Tn,kn],e=>[An(...e)]],[X]:[2,z,[Tn,kn]],[le]:[2,P,[Tn,kn]],[W+ne]:[3,J,[Tn,kn,Sn],e=>[$n(...e)]],[ne]:[3,F,[Tn,kn,Sn],e=>Yt(Zn(...e))],InvalidCell:[3,Q],[W+re]:[0,ae,[],()=>[Hn()]],[re]:[0,ie],[oe]:[0,de],[W+se]:[1,ue,[Nn],e=>[zn(...e)]],[se]:[1,he,[Nn],e=>Yt(Ln(e[0]))],InvalidValue:[1,te]},([e,t,n,l],s)=>{sl["add"+s+B]=(...s)=>pe(s[e],t[s[e+1]?1:0],e>0?Se(s,0,e):void 0,n,l)}),Xe(sl)},{PureComponent:an,createContext:dn,useCallback:cn,useContext:un,useEffect:hn,useLayoutEffect:mn,useMemo:bn,useRef:pn,useState:gn,useSyncExternalStore:vn}=V,In=(e,...t)=>fe(e)?{}:e(...t),fn="tinybaseInspector",Cn="TinyBase Inspector",wn=["left","top","bottom","right","full"],yn="state",Tn="sort",qn="open",xn="position",kn=qn,Dn="editable",Sn=(...e)=>ct(e),Zn=(e,t)=>Oe(ze([...e]),t),Mn=(e,t)=>[!!l(yn,e,Dn,t),cn(n=>{t.setCell(yn,e,Dn,e=>!e),n.preventDefault()},[t,e])],Nn=({s:t})=>{const n=s(xn,t)??1,l=r(kn,()=>!0,[],t);return s(kn,t)?null:e("img",{onClick:l,title:Cn,"data-position":n})},Ln="tinybase_uirc",Vn=he[Ln]?he[Ln]:he[Ln]=dn([]),En=(e,t)=>{const n=((e,t)=>{const n=un(Vn);return fe(e)?n[2*t]:xe(e)?((e,t)=>Te(e,e=>e[t]))(n[2*t+1],e):e})(e,t);return fe(e)||xe(e)?n:e},Rn=[],An=[{},[],[Rn,void 0,Rn],{},void 0,void 0,!1,0],$n=(e,t)=>e===t||(Ge(e)||De(e))&&it(e)===it(t),Hn=[(e,t)=>ot(e,t,$n),$e,([e,t,n],[l,s,r])=>t===s&&$e(e,l)&&$e(n,r),(e,t)=>ot(e,t,He),He,$n],zn=(e,t)=>e===t,Pn=(e,t,n,l=Rn)=>{const s=pn(An[n]),r=cn(()=>{const r=t?.[(6==n?"has":"get")+e]?.(...l)??An[n];return(Hn[n]??zn)(r,s.current)?s.current:s.current=r},[t,n,e,...l]),o=cn(s=>((e,t,...n)=>{const l=e?.["add"+t+B]?.(...n);return()=>e?.delListener?.(l)})(t,(6==n?W:R)+e,...l,s),[t,n,e,...l]);return vn(o,r,r)},Jn=(e,t,n,l,s,r,...o)=>((e,t,n,l=Rn,s=Me,r=Rn,o,...a)=>cn(l=>Te(e,e=>Te(n(l,e),n=>s(e[o+t](...On(a,e,l),n),n))),[e,t,...l,...r,o,..._n(a)]))(Bn(e),t,n,l,s,r,"set",...o),On=(e,t,n)=>Oe(e,e=>ke(e)?e(n,t):e),_n=e=>{return t=e=>!ke(e),e.filter(t);var t},jn=(e,t,n=Me,l=Rn,...s)=>{const r=Bn(e);return cn(e=>n(r?.["del"+t](...On(s,r,e))),[r,t,...l,..._n(s)])},Bn=e=>En(e,0),Fn=(e,t)=>Pn(K+le,Bn(t),1,[e]),Wn=(e,t,n,l,s,r)=>((e,t,n,l,s,r)=>Pn(te,Bn(r),1,[e,t,n,l,s]))(...Ge(e)?[e.tableId,e.cellId,e.descending??!1,e.offset??0,e.limit,t]:[e,t,n,l,s,r]),Qn=(e,t,n,l)=>Pn(ne,Bn(l),5,[e,t,n]),Kn=(e,t)=>Pn(se,Bn(t),5,[e]),Gn=(e,t,n,l,s,r)=>Jn(l,K,t,n,s,r,e),Un=(e,t,n,l,s,r,o)=>Jn(s,X,n,l,r,o,e,t),Xn=(e,t,n,l,s,r,o,a)=>Jn(r,ne,l,s,o,a,e,t,n),Yn=(e,t,n,l,s,r)=>Jn(l,se,t,n,s,r,e),el=(e,t,n,l)=>jn(t,K,n,l,e),tl=(e,t,n,l,s)=>jn(n,X,l,s,e,t),nl=(e,t,n,l,s,r,o)=>jn(s,ne,r,o,e,t,n,l),ll=(e,t,n,l)=>jn(t,se,n,l,e),sl=e=>En(e,2),rl=(e,t,n)=>Pn("Slice"+ee,sl(n),1,[e,t]),ol=e=>En(e,3),al=e=>En(e,4),il=(e,t)=>Pn(F+K+le,al(t),1,[e]),dl=(e,t,n,l=0,s,r)=>Pn(F+te,al(r),1,[e,t,n,l,s]),cl=(e,t)=>bn(()=>({store:e,tableId:t}),[e,t]),ul=(e,t)=>bn(()=>({queries:e,queryId:t}),[e,t]),hl=(e,t,n)=>{const l=cn(e,t);return n?l:void 0},ml=(...e)=>bn(()=>e,e),bl=(e,t,n)=>bn(()=>{const l=t??e;return lt(De(l)?Ye(Oe(l,e=>[e,e])):l,(e,t)=>({label:t,component:n,...xe(e)?{label:e}:e}))},[t,n,e]),pl="editable",gl=(t=[],n,l=0)=>Oe(t,({component:t},s)=>e("td",{className:de,children:e(t,{...n})},vl(s,l))),vl=(e,t)=>(t?">":"<")+e,Il=(t=[],n=0)=>Oe(t,({label:t},l)=>e("th",{className:de,children:t},vl(l,n))),fl=({cellId:e,sort:[n,l],label:s=e??R,onClick:r})=>t("th",{onClick:hl(()=>r?.(e),[r,e],r),className:fe(l)||n!=e?void 0:`sorted ${l?"de":"a"}scending`,children:[fe(l)||n!=e?null:(l?"↓":"↑")+" ",s]}),Cl=({className:n,headerRow:l,idColumn:s,params:[r,o,a,i,d,c,u,h]})=>t("table",{className:n,children:[h?e("caption",{children:h}):null,!1===l?null:e("thead",{children:t("tr",{children:[Il(i),!1===s?null:e(fl,{sort:c??[],label:"Id",onClick:u}),nt(r,({label:t},n)=>e(fl,{cellId:n,label:t,sort:c??[],onClick:u},n)),Il(d,1)]})}),e("tbody",{children:Oe(a,n=>{const l={...o,rowId:n};return t("tr",{children:[gl(i,l),we(s)?null:e("th",{title:n,children:n}),nt(r,({component:t,getComponentProps:s},r)=>e("td",{children:e(t,{...In(s,n,r),...l,cellId:r})},r)),gl(d,l,1)]},n)})})]}),wl=({thing:n,onThingChange:l,className:s,hasSchema:r,showType:o=!0})=>{const[a,i]=gn(),[d,c]=gn(),[u,h]=gn(),[m,b]=gn(),[p,g]=gn(),[v,I]=gn("{}"),[f,C]=gn("[]"),[w,y]=gn(""),[T,q]=gn("");d!==n&&(i(Wt(n)),c(n),Ge(n)?I(it(n)):De(n)?C(it(n)):(h(n+""),b(Number(n)||0),g(!!n)));const x=cn((e,t)=>{t(e),c(e),l(e)},[l]),k=cn((e,t,n,s)=>{t(e);try{const t=dt(e);n(t)&&(c(t),l(t),s(""))}catch{s("invalid")}},[l]),D=cn(()=>{if(!r?.()){const e=Xt(a,H,$,P,J,A),t=Xt(e,u,m,p,Ee(()=>dt(v),{}),Ee(()=>dt(f),[]));i(e),c(t),l(t)}},[r,l,u,m,p,v,f,a]),S=Xt(a,e("input",{value:u,onChange:cn(e=>x(e[ae][ie]+"",h),[x])},a),e("input",{type:"number",value:m,onChange:cn(e=>x(Number(e[ae][ie]||0),b),[x])},a),e("input",{type:"checkbox",checked:p,onChange:cn(e=>x(!!e[ae].checked,g),[x])},a),e("input",{value:v,className:w,onChange:cn(e=>k(e[ae][ie],I,Ge,y),[k])},a),e("input",{value:f,className:T,onChange:cn(e=>k(e[ae][ie],C,De,q),[k])},a));return t("div",{className:s,children:[o&&S?e("button",{title:a,className:a,onClick:D,children:a}):null,S]})},yl=({tableId:t,rowId:n,cellId:l,store:s,className:r,showType:o})=>{const[a,i]=((e,t,n,l)=>[Qn(e,t,n,l),Xn(e,t,n,Ne,[],l)])(t,n,l,s);return e(wl,{thing:a,onThingChange:i,className:r??pl+ne,showType:o,hasSchema:Bn(s)?.hasTablesSchema})},Tl=({valueId:t,store:n,className:l,showType:s})=>{const[r,o]=((e,t)=>[Kn(e,t),Yn(e,Ne,[],t)])(t,n);return e(wl,{thing:r,onThingChange:o,className:l??pl+se,showType:s,hasSchema:Bn(n)?.hasValuesSchema})},ql=(e,t)=>Oe(Fn(e,t),t=>e+"."+t),xl=({localRowId:l,params:[s,r,o,a,i,d,c,u,h]})=>{const m=((e,t,n)=>Pn("RemoteRowId",ol(n),5,[e,t]))(i,l,d),b={tableId:o??"",rowId:l,store:c};return t("tr",{children:[gl(u,b),we(s)?null:t(n,{children:[e("th",{title:l,children:l}),e("th",{title:m,children:m})]}),nt(r,({component:t,getComponentProps:n},s)=>{const[r,i]=((e,t="",n)=>e.split(t,n))(s,".",2),d=r===o?l:r===a?m:void 0;return fe(d)?null:e("td",{children:e(t,{...In(n,d,i),store:c,tableId:r,rowId:d,cellId:i})},s)}),gl(h,b,1)]})},kl=({relationshipId:l,relationships:s,editable:r,customCells:a,extraCellsBefore:i,extraCellsAfter:d,className:c,headerRow:u,idColumn:h=!0})=>{const[m,b,p,g]=((e,t)=>[e,e?.getStore(),e?.getLocalTableId(t),e?.getRemoteTableId(t)])(ol(s),l),v=bl([...ql(p,b),...ql(g,b)],a,r?yl:o),I=ml(h,v,p,g,l,m,b,i,d);return t("table",{className:c,children:[we(u)?null:e("thead",{children:t("tr",{children:[Il(i),we(h)?null:t(n,{children:[t("th",{children:[p,".Id"]}),t("th",{children:[g,".Id"]})]}),nt(v,({label:t},n)=>e("th",{children:t},n)),Il(d,1)]})}),e("tbody",{children:Oe((f=p,C=b,Pn(ee,Bn(C),1,[f])),t=>e(xl,{localRowId:t,params:I},t))})]});var f,C},Dl=(t,n=!1,l,s=0,r,o,a,i)=>{const[[d,c,u],h]=gn([t,n,s]),m=cn(e=>{h(e),i?.(e)},[i]),b=hl(e=>m([e,e==d&&!c,u]),[m,d,c,u],l),p=cn(e=>m([d,c,e]),[m,d,c]),g=!0===a?Sl:a;return[[d,c,u],b,bn(()=>we(a)?null:e(g,{offset:u,limit:r,total:o,onChange:p}),[a,g,u,r,o,p])]},Sl=({onChange:l,total:s,offset:r=0,limit:o=s,singular:a="row",plural:i=a+"s"})=>{(r>s||r<0)&&(r=0,l(0));const d=hl(()=>l(r-o),[l,r,o],r>0),c=hl(()=>l(r+o),[l,r,o],r+o<s);return t(n,{children:[s>o&&t(n,{children:[e("button",{className:"previous",disabled:0==r,onClick:d,children:"←"}),e("button",{className:"next",disabled:r+o>=s,onClick:c,children:"→"}),r+1," to ",pe(s,r+o)," of "]}),s," ",1!=s?i:a]})},Zl=({queryId:t,cellId:n,descending:l,offset:s,limit:r,queries:o,sortOnClick:i,paginator:d=!1,customCells:c,extraCellsBefore:u,extraCellsAfter:h,onChange:m,...b})=>{const[p,g,v]=Dl(n,l,i,s,r,((e,t)=>Pn(F+Y,al(t),7,[e]))(t,o),d,m);return e(Cl,{...b,params:ml(bl(il(t,o),c,a),ul(o,t),dl(t,...p,r,o),u,h,p,g,v)})},Ml=({indexId:t,sliceId:n,indexes:l,editable:s,customCells:r,extraCellsBefore:a,extraCellsAfter:i,...d})=>{const[c,u,h]=((e,t)=>[e,e?.getStore(),e?.getTableId(t)])(sl(l),t);return e(Cl,{...d,params:ml(bl(Fn(h,u),r,s?yl:o),cl(u,h),rl(t,n,c),a,i)})},Nl=({tableId:t,cellId:n,descending:l,offset:s,limit:r,store:a,editable:i,sortOnClick:d,paginator:c=!1,onChange:u,customCells:h,extraCellsBefore:m,extraCellsAfter:b,...p})=>{const[g,v,I]=Dl(n,l,d,s,r,((e,t)=>Pn(Y,Bn(t),7,[e]))(t,a),c,u);return e(Cl,{...p,params:ml(bl(Fn(t,a),h,i?yl:o),cl(a,t),Wn(t,...g,r,a),m,b,g,v,I)})},Ll=(t=[],n,l=0)=>Oe(t,({component:t},s)=>e("td",{className:de,children:e(t,{...n})},vl(s,l))),Vl=({store:n,editable:l=!1,valueComponent:s=(l?Tl:i),getValueComponentProps:r,extraCellsBefore:o,extraCellsAfter:a,className:d,headerRow:c,idColumn:u})=>{return t("table",{className:d,children:[!1===c?null:e("thead",{children:t("tr",{children:[Il(o),!1===u?null:e("th",{children:"Id"}),e("th",{children:se}),Il(a,1)]})}),e("tbody",{children:Oe((h=n,Pn(oe,Bn(h),1)),l=>{const i={valueId:l,store:n};return t("tr",{children:[Ll(o,i),we(u)?null:e("th",{title:l,children:l}),e("td",{children:e(s,{...In(r,l),...i})}),Ll(a,i,1)]},l)})})]});var h},El=({uniqueId:n,title:s,editable:r,handleEditable:o,children:a,s:i})=>{const c=!!l(yn,n,qn,i),u=d(yn,n,qn,e=>e[ae].open,[],i);return t("details",{open:c,onToggle:u,children:[t("summary",{children:[e("span",{children:s}),o?e("img",{onClick:o,className:r?"done":"edit",title:r?"Done editing":"Edit"}):null]}),e("div",{children:a})]})},Rl=({indexes:t,indexesId:n,indexId:l,s:s})=>e(El,{uniqueId:Sn("i",n,l),title:"Index: "+l,s:s,children:Oe(h(l,t),r=>e(Al,{indexes:t,indexesId:n,indexId:l,sliceId:r,s:s},r))}),Al=({indexes:t,indexesId:n,indexId:l,sliceId:s,s:r})=>{const o=Sn("i",n,l,s),[a,i]=Mn(o,r);return e(El,{uniqueId:o,title:"Slice: "+s,editable:a,handleEditable:i,s:r,children:e(Ml,{sliceId:s,indexId:l,indexes:t,editable:a})})},$l=({indexesId:t,s:n})=>{const l=c(t),s=u(l);return fe(l)?null:e(El,{uniqueId:Sn("i",t),title:"Indexes: "+(t??_),s:n,children:_e(s)?"No indexes defined":Zn(s,s=>e(Rl,{indexes:l,indexesId:t,indexId:s,s:n},s))})},Hl=({metrics:n,metricId:l})=>t("tr",{children:[e("th",{title:l,children:l}),e("td",{children:n?.getTableId(l)}),e("td",{children:p(l,n)})]}),zl=({metricsId:n,s:l})=>{const s=m(n),r=b(s);return fe(s)?null:e(El,{uniqueId:Sn("m",n),title:"Metrics: "+(n??_),s:l,children:_e(r)?"No metrics defined":t("table",{children:[t("thead",{children:[e("th",{children:"Metric Id"}),e("th",{children:"Table Id"}),e("th",{children:"Metric"})]}),e("tbody",{children:Oe(r,t=>e(Hl,{metrics:s,metricId:t},t))})]})})},Pl=({queries:t,queriesId:n,queryId:s,s:r})=>{const o=Sn("q",n,s),[a,i,c]=dt(l(yn,o,Tn,r)??"[]"),u=d(yn,o,Tn,ct,[],r);return e(El,{uniqueId:o,title:"Query: "+s,s:r,children:e(Zl,{queryId:s,queries:t,cellId:a,descending:i,offset:c,limit:10,paginator:!0,sortOnClick:!0,onChange:u})})},Jl=({queriesId:t,s:n})=>{const l=g(t),s=v(l);return fe(l)?null:e(El,{uniqueId:Sn("q",t),title:"Queries: "+(t??_),s:n,children:_e(s)?"No queries defined":Zn(s,s=>e(Pl,{queries:l,queriesId:t,queryId:s,s:n},s))})},Ol=({relationships:t,relationshipsId:n,relationshipId:l,s:s})=>{const r=Sn("r",n,l),[o,a]=Mn(r,s);return e(El,{uniqueId:r,title:"Relationship: "+l,editable:o,handleEditable:a,s:s,children:e(kl,{relationshipId:l,relationships:t,editable:o})})},_l=({relationshipsId:t,s:n})=>{const l=I(t),s=f(l);return fe(l)?null:e(El,{uniqueId:Sn("r",t),title:"Relationships: "+(t??_),s:n,children:_e(s)?"No relationships defined":Zn(s,s=>e(Ol,{relationships:l,relationshipsId:t,relationshipId:s,s:n},s))})},jl=(e,t)=>{let n,l=0;for(;t(n=e+(l>0?" (copy"+(l>1?" "+l:"")+")":""));)l++;return n},Bl=({actions:l,...s})=>{const[r,o]=gn(),a=cn(()=>o(void 0),[]);if(hn(()=>{if(!fe(r)){const e=e=>{fe(r)||"Escape"!==e.key||(e.preventDefault(),a())};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)}},[r,a]),fe(r))return l.map(([t,n],l)=>e("img",{title:n,className:t,onClick:()=>o(l)},l));{const[,,o]=l[r];return t(n,{children:[e(o,{onDone:a,...s}),e("img",{onClick:a,title:"Cancel",className:"cancel"})]})}},Fl=({onDone:l,suggestedId:s,has:r,set:o,prompt:a="New Id"})=>{const[i,d]=gn(s),[c,u]=gn(!0),[h,m]=gn(s),b=cn(()=>{r(i)?u(!1):(o(i),l())},[l,u,r,o,i]),p=cn(e=>{"Enter"===e.key&&(e.preventDefault(),b())},[b]);return s!=h&&(d(s),m(s)),t(n,{children:[a+": ",e("input",{type:"text",value:i,onChange:e=>{d(e.target.value),u(!r(e.target.value))},onKeyDown:p,autoFocus:!0})," ",e("img",{onClick:b,title:c?"Confirm":"Id already exists",className:c?"ok":"okDis"})]})},Wl=({onClick:l,prompt:s="Delete"})=>{const r=cn(e=>{"Enter"===e.key&&(e.preventDefault(),l())},[l]);return hn(()=>(document.addEventListener("keydown",r),()=>document.removeEventListener("keydown",r)),[r]),t(n,{children:[s,"? ",e("img",{onClick:l,title:"Confirm",className:"ok"})]})},Ql=({left:n,right:l})=>t("div",{className:"actions",children:[e("div",{children:n}),e("div",{children:l})]}),Kl=e=>{const t=Bn(e);return cn(e=>t?.hasTable(e)??!1,[t])},Gl=({onDone:t,store:n})=>{const l=Kl(n);return e(Fl,{onDone:t,suggestedId:jl("table",l),has:l,set:Gn(e=>e,()=>({row:{cell:""}}),[],n),prompt:"Add table"})},Ul=({onDone:t,store:n})=>{return e(Wl,{onClick:(l=n,s=t,jn(l,G,s,void 0)),prompt:"Delete all tables"});var l,s},Xl=({store:t})=>{return e(Ql,{left:e(Bl,{actions:[["add","Add table",Gl]],store:t}),right:(n=t,Pn(G,Bn(n),6,[])?e(Bl,{actions:[["delete","Delete all tables",Ul]],store:t}):null)});var n},Yl=({onDone:t,tableId:n,store:l})=>{const s=ss(l,n);return e(Fl,{onDone:t,suggestedId:jl("row",s),has:s,set:Un(n,e=>e,(e,t)=>Ye(Oe(t.getTableCellIds(n),e=>[e,""]))),prompt:"Add row"})},es=({onDone:t,tableId:n,store:l})=>{const s=Bn(l),r=Kl(s);return e(Fl,{onDone:t,suggestedId:jl(n,r),has:r,set:Gn(e=>e,(e,t)=>t.getTable(n)),prompt:"Clone table to"})},ts=({onDone:t,tableId:n,store:l})=>e(Wl,{onClick:el(n,l,t),prompt:"Delete table"}),ns=({tableId:t,store:n})=>e(Bl,{actions:[["add","Add row",Yl]],store:n,tableId:t}),ls=({tableId:t,store:n})=>e(Bl,{actions:[["clone","Clone table",es],["delete","Delete table",ts]],store:n,tableId:t}),ss=(e,t)=>{const n=Bn(e);return cn(e=>n?.hasRow(t,e)??!1,[n,t])},rs=({onDone:t,tableId:n,rowId:l,store:s})=>{const r=Bn(s),o=cn(e=>r.hasCell(n,l,e),[r,n,l]);return e(Fl,{onDone:t,suggestedId:jl("cell",o),has:o,set:Xn(n,l,e=>e,()=>"",[],r),prompt:"Add cell"})},os=({onDone:t,tableId:n,rowId:l,store:s})=>{const r=Bn(s),o=ss(r,n);return e(Fl,{onDone:t,suggestedId:jl(l,o),has:o,set:Un(n,e=>e,(e,t)=>t.getRow(n,l),[l]),prompt:"Clone row to"})},as=({onDone:t,tableId:n,rowId:l,store:s})=>e(Wl,{onClick:tl(n,l,s,t),prompt:"Delete row"}),is=({onDone:t,tableId:n,rowId:l,cellId:s,store:r})=>e(Wl,{onClick:nl(n,l,s,!0,r,t),prompt:"Delete cell"}),ds=({tableId:t,rowId:n,cellId:l,store:s})=>e(Bl,{actions:[["delete","Delete cell",is]],store:s,tableId:t,rowId:n,cellId:l}),cs=[{label:"",component:({tableId:t,rowId:n,store:l})=>e(Bl,{actions:[["add","Add cell",rs],["clone","Clone row",os],["delete","Delete row",as]],store:l,tableId:t,rowId:n})}],us=l=>t(n,{children:[e(yl,{...l}),y(l.tableId,l.rowId,l.cellId,l.store)&&e(ds,{...l})]}),hs=({tableId:n,store:s,storeId:r,s:a})=>{const i=Sn("t",r,n),[c,u,h]=dt(l(yn,i,Tn,a)??"[]"),m=d(yn,i,Tn,ct,[],a),[b,p]=Mn(i,a),g=b?us:o;return t(El,{uniqueId:i,title:K+": "+n,editable:b,handleEditable:p,s:a,children:[e(Nl,{tableId:n,store:s,cellId:c,descending:u,offset:h,limit:10,paginator:!0,sortOnClick:!0,onChange:m,editable:b,extraCellsAfter:b?cs:[],customCells:Ye(Oe(w(n,s),e=>[e,{label:e,component:g}]))}),b?t("div",{className:"actions",children:[e("div",{children:e(ns,{tableId:n,store:s})}),e("div",{children:e(ls,{tableId:n,store:s})})]}):null]})},ms=({store:n,storeId:l,s:s})=>{const r=Sn("ts",l),[o,a]=Mn(r,s),i=C(n);return t(El,{uniqueId:r,title:G,editable:o,handleEditable:a,s:s,children:[_e(i)?e("p",{children:"No tables."}):Zn(i,t=>e(hs,{store:n,storeId:l,tableId:t,s:s},t)),o?e(Xl,{store:n}):null]})},bs=e=>{const t=Bn(e);return cn(e=>t?.hasValue(e)??!1,[t])},ps=({onDone:t,store:n})=>{const l=bs(n);return e(Fl,{onDone:t,suggestedId:jl("value",l),has:l,set:Yn(e=>e,()=>"",[],n),prompt:"Add value"})},gs=({onDone:t,store:n})=>{return e(Wl,{onClick:(l=n,s=t,jn(l,re,s,void 0)),prompt:"Delete all values"});var l,s},vs=({store:t})=>{return e(Ql,{left:e(Bl,{actions:[["add","Add value",ps]],store:t}),right:(n=t,Pn(re,Bn(n),6,[])?e(Bl,{actions:[["delete","Delete all values",gs]],store:t}):null)});var n},Is=({onDone:t,valueId:n,store:l})=>{const s=bs(l);return e(Fl,{onDone:t,suggestedId:jl(n,s),has:s,set:Yn(e=>e,(e,t)=>t.getValue(n)??"",[n],l),prompt:"Clone value to"})},fs=({onDone:t,valueId:n,store:l})=>e(Wl,{onClick:ll(n,l,t),prompt:"Delete value"}),Cs=[{label:"",component:({valueId:t,store:n})=>e(Bl,{actions:[["clone","Clone value",Is],["delete","Delete value",fs]],store:n,valueId:t})}],ws=({store:n,storeId:l,s:s})=>{const r=Sn("v",l),[o,a]=Mn(r,s);return t(El,{uniqueId:r,title:re,editable:o,handleEditable:a,s:s,children:[_e(T(n))?e("p",{children:"No values."}):e(Vl,{store:n,editable:o,extraCellsAfter:o?Cs:[]}),o?e(vs,{store:n}):null]})},ys=({storeId:n,s:l})=>{const s=q(n);return fe(s)?null:t(El,{uniqueId:Sn("s",n),title:(s.isMergeable()?"Mergeable":"")+"Store: "+(n??_),s:l,children:[e(ws,{storeId:n,store:s,s:l}),e(ms,{storeId:n,store:s,s:l})]})},Ts=({s:n})=>{const l=pn(null),s=pn(0),[r,o]=gn(!1),{scrollLeft:a,scrollTop:i}=x(n);mn(()=>{const e=l.current;if(e&&!r){const t=new MutationObserver(()=>{e.scrollWidth>=ge(a)+e.clientWidth&&e.scrollHeight>=ge(i)+e.clientHeight&&e.scrollTo(a,i)});return t.observe(e,{childList:!0,subtree:!0}),()=>t.disconnect()}},[r,a,i]);const d=cn(e=>{const{scrollLeft:t,scrollTop:l}=e[ae];cancelIdleCallback(s.current),s.current=requestIdleCallback(()=>{o(!0),n.setPartialValues({scrollLeft:t,scrollTop:l})})},[n]),u=q(),h=k(),b=m(),p=D(),v=c(),f=S(),C=I(),w=Z(),y=g(),T=M();return fe(u)&&_e(h)&&fe(b)&&_e(p)&&fe(v)&&_e(f)&&fe(C)&&_e(w)&&fe(y)&&_e(T)?e("span",{className:"warn",children:"There are no Stores or other objects to inspect. Make sure you placed the Inspector inside a Provider component."}):t("article",{ref:l,onScroll:d,children:[e(ys,{s:n}),Oe(h,t=>e(ys,{storeId:t,s:n},t)),e(zl,{s:n}),Oe(p,t=>e(zl,{metricsId:t,s:n},t)),e($l,{s:n}),Oe(f,t=>e($l,{indexesId:t,s:n},t)),e(_l,{s:n}),Oe(w,t=>e(_l,{relationshipsId:t,s:n},t)),e(Jl,{s:n}),Oe(T,t=>e(Jl,{queriesId:t,s:n},t))]})};class qs extends an{constructor(e){super(e),this.state={e:0}}static getDerivedStateFromError(){return{e:1}}componentDidCatch=(e,t)=>console.error(e,t.componentStack);render(){return this.state.e?e("span",{className:"warn",children:"Inspector error: please see console for details."}):this.props.children}}const xs=({s:n})=>{const l=s(xn,n)??1,o=r(kn,()=>!1,[],n),a=r(xn,e=>Number(e[ae].dataset.id),[],n);return t("header",{children:[e("img",{className:"flat",title:Cn,onClick:()=>open("https://tinybase.org","_blank")}),e("span",{children:Cn}),Oe(wn,(t,n)=>n==l?null:e("img",{onClick:a,"data-id":n,title:"Dock to "+t},n)),e("img",{className:"flat",onClick:o,title:"Close"})]})},ks=({s:n})=>{const l=s(xn,n)??1;return s(kn,n)?t("main",{"data-position":l,children:[e(xs,{s:n}),e(qs,{children:e(Ts,{s:n})})]}):null},Ds='url("',Ss=(e,t="white")=>({content:Ds+`data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960' fill='${t}'><path d='${e}' /></svg>")`}),Zs="v560h120v-560h-120Z",Ms="v560h360v-560h-360Z",Ns="v120h560v-120h-560Z",Ls="v360h560v-360h-560Z",Vs={content:Ds+"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\")"},Es=Oe([`M200-760${Zs} M400-760${Ms}`,`M200-760${Ns} M200-560${Ls}`,`M200-760${Ls} M200-320${Ns}`,`M200-760${Ms} M640-760${Zs}`],e=>Ss("M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Z"+e));je(Es,Ss("M120-120v-200h80v120h120v80H120Zm520 0v-80h120v-120h80v200H640ZM120-640v-200h200v80H200v120h-80Zm640 0v-120H640v-80h200v200h-80Z"));const Rs=Ss("m336-280-56-56 144-144-144-143 56-56 144 144 143-144 56 56-144 143 144 144-56 56-143-144-144 144Z"),As=Ss("M200-200h57l391-391-57-57-391 391v57Zm-80 80v-170l528-527q12-11 26.5-17t30.5-6q16 0 31 6t26 18l55 56q12 11 17.5 26t5.5 30q0 16-5.5 30.5T817-647L290-120H120Zm640-584-56-56 56 56Zm-141 85-28-29 57 57-29-28Z"),$s=Ss("m622-453-56-56 82-82-57-57-82 82-56-56 195-195q12-12 26.5-17.5T705-840q16 0 31 6t26 18l55 56q12 11 17.5 26t5.5 30q0 16-5.5 30.5T817-647L622-453ZM200-200h57l195-195-28-29-29-28-195 195v57ZM792-56 509-338 290-120H120v-169l219-219L56-792l57-57 736 736-57 57Zm-32-648-56-56 56 56Zm-169 56 57 57-57-57ZM424-424l-29-28 57 57-28-29Z"),Hs=Ss("M440-280h80v-160h160v-80H520v-160h-80v160H280v80h160v160ZM200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm0-80h560v-560H200v560Zm0-560v560-560Z"),zs=Ss("M520-400h80v-120h120v-80H600v-120h-80v120H400v80h120v120ZM320-240q-33 0-56.5-23.5T240-320v-480q0-33 23.5-56.5T320-880h480q33 0 56.5 23.5T880-800v480q0 33-23.5 56.5T800-240H320Zm0-80h480v-480H320v480ZM160-80q-33 0-56.5-23.5T80-160v-560h80v560h560v80H160Zm160-720v480-480Z"),Ps=Ss("M280-120q-33 0-56.5-23.5T200-200v-520h-40v-80h200v-40h240v40h200v80h-40v520q0 33-23.5 56.5T680-120H280Zm400-600H280v520h400v-520ZM360-280h80v-360h-80v360Zm160 0h80v-360h-80v360ZM280-720v520-520Z"),Js=Ss("m424-296 282-282-56-56-226 226-114-114-56 56 170 170Zm56 216q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z","rgb(127,255,127)"),Os=Ss("m40-120 440-760 440 760H40Zm138-80h604L480-720 178-200Zm302-40q17 0 28.5-11.5T520-280q0-17-11.5-28.5T480-320q-17 0-28.5 11.5T440-280q0 17 11.5 28.5T480-240Zm-40-120h80v-200h-80v200Zm40-100Z","rgb(255,255,127)"),_s=Ss("m336-280 144-144 144 144 56-56-144-144 144-144-56-56-144 144-144-144-56 56 144 144-144 144 56 56ZM480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z","rgb(255,127,127)"),js=Ss("M480-344 240-584l56-56 184 184 184-184 56 56-240 240Z"),Bs=Ss("M504-480 320-664l56-56 240 240-240 240-56-56 184-184Z"),Fs="*::-webkit-scrollbar",Ws="background",Qs="width",Ks="max-"+Qs,Gs="min-"+Qs,Us="height",Xs="border",Ys="radius",er=Xs+"-"+Ys,tr="padding",nr="margin",lr="top",sr="bottom",rr="left",or="right",ar="color",ir="position",dr="box-shadow",cr="font-size",ur="display",hr="overflow",mr="cursor",br="vertical-align",pr="text-align",gr="justify-content",vr="white-space",Ir="text-overflow",fr="align-items",Cr="backdrop-filter",wr=nr+"-"+or,yr="fixed",Tr="revert",qr="unset",xr="none",kr="flex",Dr="pointer",Sr="auto",Zr="hidden",Mr="nowrap",Nr=(e,t="% 0.01 "+Lr("hue"))=>`oklch(${e}${t})`,Lr=e=>`var(--${e})`,Vr=(...e)=>e.join("rem ")+"rem",Er=(...e)=>e.join("px ")+"px",Rr=(e=100)=>e+"vw",Ar=(e=100)=>e+"vh",$r=Je(nt({"":{all:"initial",[cr]:Vr(.75),[ir]:yr,"font-family":"inter,sans-serif","z-index":999999,"--bg":Nr(20),"--bg2":Nr(15),"--bg3":Nr(25),"--bg4":Nr(30),"--fg":Nr(85),"--fg2":Nr(60),["--"+Xs]:Er(1)+" solid "+Lr("bg4"),["--"+dr]:Er(0,1,2,0)+" #0007"},"*":{all:Tr},"*::before":{all:Tr},"*::after":{all:Tr},[Fs]:{[Qs]:Vr(.5),[Us]:Vr(.5)},[Fs+"-thumb"]:{[Ws]:Lr("bg4")},[Fs+"-thumb:hover"]:{[Ws]:Lr("bg4")},[Fs+"-corner"]:{[Ws]:xr},[Fs+"-track"]:{[Ws]:xr},img:{[Qs]:Vr(.8),[Us]:Vr(.8),[br]:"text-"+sr,[mr]:Dr,[nr]:Er(-2.5,2,-2.5,0),[tr]:Er(2),[Xs]:Lr(Xs),[Ws]:Lr("bg3"),[dr]:Lr(dr),[er]:Vr(.25)},"img.flat":{[Xs]:xr,[Ws]:xr,[dr]:xr},">img":{[tr]:Vr(.25),[sr]:0,[or]:0,[ir]:yr,[Us]:qr,[nr]:0,...Vs},...Ye(Oe([{[sr]:0,[rr]:0},{[lr]:0,[or]:0}],(e,t)=>[`>img[data-position='${t}']`,e])),main:{[ur]:kr,[ar]:Lr("fg"),[Ws]:Lr("bg"),[hr]:Zr,[ir]:yr,[dr]:Lr(dr),"flex-direction":"column"},...Ye(Oe([{[sr]:0,[rr]:0,[Qs]:Rr(35),[Us]:Ar(),[Xs+"-"+or]:Lr(Xs)},{[lr]:0,[or]:0,[Qs]:Rr(),[Us]:Ar(30),[Xs+"-"+sr]:Lr(Xs)},{[sr]:0,[rr]:0,[Qs]:Rr(),[Us]:Ar(30),[Xs+"-"+lr]:Lr(Xs)},{[lr]:0,[or]:0,[Qs]:Rr(35),[Us]:Ar(),[Xs+"-"+rr]:Lr(Xs)},{[lr]:0,[or]:0,[Qs]:Rr(),[Us]:Ar()}],(e,t)=>[`main[data-position='${t}']`,e])),header:{[ur]:kr,[tr]:Vr(.5),[dr]:Lr(dr),[Ws]:Nr(30,"% 0.008 var(--hue) / .5"),[Qs]:"calc(100% - .5rem)",[ir]:"absolute",[Xs+"-"+sr]:Lr(Xs),[fr]:"center",[Cr]:"blur(4px)"},"header>img:nth-of-type(1)":{[Us]:Vr(1),[Qs]:Vr(1),...Vs},"header>img:nth-of-type(6)":Rs,...Ye(Oe(Es,(e,t)=>[`header>img[data-id='${t}']`,e])),"header>span":{[hr]:Zr,[kr]:1,"font-weight":800,[vr]:Mr,[Ir]:"ellipsis"},article:{[hr]:Sr,[kr]:1,[tr+"-"+lr]:Vr(2)},details:{[nr]:Vr(.5),[Xs]:Lr(Xs),[er]:Vr(.25)},summary:{[Ws]:Lr("bg3"),[nr]:Er(-1),[Xs]:Lr(Xs),[tr]:Vr(.25,.125),[ur]:kr,[er]:Vr(.25),"user-select":xr,[gr]:"space-between",[fr]:"center",[Cr]:"blur(4px)"},"summary>span::before":{[ur]:"inline-block",[br]:"sub",[nr]:Er(2),[Qs]:Vr(1),[Us]:Vr(1),...Bs},"details[open]>summary":{[Xs+"-"+sr+"-"+rr+"-"+Ys]:0,[Xs+"-"+sr+"-"+or+"-"+Ys]:0,[nr+"-"+sr]:0},"details[open]>summary>span::before":js,"details>summary img":{[ur]:xr},"details[open]>summary img":{[ur]:qr,[nr+"-"+rr]:Vr(.25)},"details>div":{[hr]:Sr},[`caption,#${fn} p`]:{[ar]:Lr("fg2"),[tr]:Vr(.25,.5),[pr]:rr,[nr]:0,[vr]:Mr},"caption button":{[Qs]:Vr(1.5),[Xs]:xr,[Ws]:xr,[ar]:Lr("fg"),[tr]:0,[mr]:Dr},"caption button[disabled]":{[ar]:Lr("fg2")},".actions":{[tr]:Vr(.75,.5),[nr]:0,[ur]:kr,[Xs+"-"+lr]:Lr(Xs),[gr]:"space-between"},table:{[Gs]:"100%","border-collapse":"collapse","table-layout":yr},thead:{[Ws]:Lr("bg")},[`th,#${fn} td`]:{[hr]:Zr,[tr]:Vr(.25,.5),[Ks]:Vr(20),[Xs]:Lr(Xs),[Ir]:"ellipsis",[vr]:Mr,"border-width":Er(1,0,0),[pr]:rr},"th:first-child":{[Qs]:Vr(3),[Gs]:Vr(3),[Ks]:Vr(3)},"th.sorted":{[Ws]:Lr("bg3")},"td.extra":{[pr]:or},"tbody button":{[Ws]:xr,[Xs]:xr,[cr]:0,[Qs]:Vr(.8),[Us]:Vr(.8),[ar]:Lr("fg2"),[nr]:Vr(0,.25,0,-.25),"line-height":Vr(.8)},"tbody button:first-letter":{[cr]:Vr(.8)},input:{[Ws]:Lr("bg2"),[ar]:qr,[tr]:Er(4),[Xs]:0,[nr]:Er(-4,0),[cr]:qr,[Ks]:Vr(6)},"input:focus":{"outline-width":0},'input[type="number"]':{[Qs]:Vr(3)},'input[type="checkbox"]':{[br]:Er(-2)},".editableCell":{[ur]:"inline-block",[wr]:Er(2)},"button.next":{[wr]:Vr(.5)},"img.edit":As,"img.done":$s,"img.add":Hs,"img.clone":zs,"img.delete":Ps,"img.ok":Js,"img.okDis":Os,"img.cancel":_s,"span.warn":{[nr]:Vr(2,.25),[ar]:"#d81b60"}},(e,t)=>`#${fn} ${t}{${Je(nt(e,(e,t)=>`${t}:${e};`))}}`)),Hr=({position:l="right",open:s=!1,hue:r=270})=>{const o=N(on),a=wn.indexOf(l);return L(o,e=>{return t=fn,n=sessionStorage,((e,t,n,l,s,r,o,a={},i=0,d=[])=>{let c,u,h,m=0,b=0,p=0;Mt(jt,d,()=>0),Mt(Bt,d,()=>[]);const g=xt(),[v,I,f,C,w]=((e=1,t,n)=>1!=e&&t.isMergeable()?[1,t.__[1],()=>t.__[2](!n),([[e],[t]])=>!rt(e)||!rt(t),t.setDefaultContent]:2!=e?[0,t._[7],t._[8],([e,t])=>!rt(e)||!rt(t),t.setContent]:Ve("Store type not supported by this Persister"))(o,e,i),[y,T,q]=_t(()=>$),x=e=>{e!=m&&(m=e,T(g,void 0,m))},k=t=>{(v&&De(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},D=async()=>{E()&&e.__?.[0]?.()&&await N()},S=async e=>(2!=m&&(x(1),b++,await A(async()=>{await Re(async()=>{const n=await t();De(n)?k(n):e?w(e):Ve("Content is not an array: "+n)},()=>{e&&w(e)}),x(0),await D()})),$),Z=async e=>(M(),await S(e),await Re(async()=>u=await l(async(e,t)=>{t||e?2!=m&&(x(1),b++,k(t??e),x(0),await D()):await S()}),r),$),M=async()=>(u&&(await Re(()=>s(u),r),u=void 0),$),N=async e=>(1!=m&&(x(2),p++,await A(async()=>{await Re(()=>n(I,e),r),x(0)})),$),L=async()=>(V(),await N(),h=e.addDidFinishTransactionListener(()=>{const e=f();C(e)&&N(e)}),$),V=async()=>(h&&(e.delListener(h),h=void 0),$),E=()=>!fe(h),R=async(e=!1)=>{const[t,n]=e?[V,M]:[M,V];return await t(),await n(),$},A=async(...e)=>(je(Dt(Bt,d),...e),await(async()=>{if(!Dt(jt,d)){for(Zt(jt,d,1);!fe(c=Be(Dt(Bt,d)));)await Re(c,r);Zt(jt,d,0)}})(),$),$={load:S,startAutoLoad:Z,stopAutoLoad:M,isAutoLoading:()=>!fe(u),save:N,startAutoSave:L,stopAutoSave:V,isAutoSaving:E,startAutoPersisting:async(e,t=!1)=>{const[n,l]=t?[L,Z]:[Z,L];return await n(e),await l(e),$},stopAutoPersisting:R,getStatus:()=>m,addStatusListener:e=>y(e,g),delListener:t=>(q(t),e),schedule:A,getStore:()=>e,destroy:()=>(Dt(Bt,d).splice(0,void 0),R()),getStats:()=>({loads:b,saves:p}),...a};return Xe($)})(e,async()=>ut(n.getItem(t)),async e=>{return n.setItem(t,(l=e(),it(l,(e,t)=>fe(t)?"":t)));var l},e=>{const l=l=>{l.storageArea===n&&l.key===t&&Re(()=>e(ut(l.newValue)),e)};return me.addEventListener(Ft,l),l},e=>me.removeEventListener(Ft,e),void 0,3,{getStorageName:()=>t});var t,n},void 0,async e=>{await e.load([{},{position:-1==a?1:a,open:!!s}]),await e.startAutoSave()}),t(n,{children:[t("aside",{id:fn,children:[e(Nn,{s:o}),e(ks,{s:o})]}),t("style",{children:[`#${fn}{--hue:${r}}`,$r]})]})};export{Hr as Inspector};
|
|
1
|
+
import{jsx as e,jsxs as t,Fragment as n}from"react/jsx-runtime";import{useValue as l,useSetValueCallback as s,CellView as r,ResultCellView as o,ValueView as a,useCell as i,useSetCellCallback as d,useIndexes as c,useIndexIds as u,useSliceIds as h,useMetrics as m,useMetricIds as b,useMetric as g,useQueries as p,useQueryIds as v,useRelationships as I,useRelationshipIds as f,useTableIds as C,useTableCellIds as w,useHasCell as T,useValueIds as y,useStore as q,useValues as x,useStoreIds as k,useMetricsIds as D,useIndexesIds as S,useRelationshipsIds as Z,useQueriesIds as M,useCreateStore as N,useCreatePersister as L}from"../ui-react/index.js";import V from"react";const E=e=>typeof e,R="",A=E(R),$=E(!0),H=E(0),z=E(E),P="object",J="array",O="type",_="default",j="allowNull",B="Listener",F="Result",W="Has",Q="Ids",K="Table",G=K+"s",U=K+Q,X="Row",Y=X+"Count",ee=X+Q,te="Sorted"+X+Q,ne="Cell",le=ne+Q,se="Value",re=se+"s",oe=se+Q,ae="currentTarget",ie="value",de="extra",ce=e=>R+e,ue=e=>(t,n,l)=>e(t)?l?.():n(t),he=globalThis,me=he.window,be=Math,ge=be.min,pe=be.floor,ve=isFinite,Ie=e=>null==e,fe=e=>void 0===e,Ce=e=>null===e,we=e=>!1===e,Te=ue(Ie),ye=ue(fe),qe=e=>e==A||e==$,xe=e=>E(e)==A,ke=e=>E(e)==z,De=e=>Array.isArray(e),Se=(e,t,n)=>e.slice(t,n),Ze=e=>e.length,Me=()=>{},Ne=e=>e,Le=he.structuredClone,Ve=e=>{throw Error(e)},Ee=(e,t)=>{try{return e()}catch{return t}},Re=async(e,t,n)=>{try{return await e()}catch(e){t?.(e)}},Ae=(e,t)=>e.every(t),$e=(e,t)=>Ze(e)===Ze(t)&&Ae(e,(e,n)=>t[n]===e),He=(e,t)=>De(e)&&De(t)?$e(e,t):e===t,ze=(e,t)=>e.sort(t),Pe=(e,t)=>e.forEach(t),Je=(e,t="")=>e.join(t),Oe=(e,t)=>e.map(t),_e=e=>0==Ze(e),je=(e,...t)=>e.push(...t),Be=e=>e.shift(),Fe=Object,We=e=>Fe.getPrototypeOf(e),Qe=Fe.isFrozen,Ke=Fe.entries,Ge=e=>!Ie(e)&&Te(We(e),e=>e==Fe.prototype||Ie(We(e)),()=>!0),Ue=Fe.keys,Xe=Fe.freeze,Ye=(e=[])=>Fe.fromEntries(e),et=(e,t)=>t in e,tt=(e,t)=>(delete e[t],e),nt=(e,t)=>Oe(Ke(e),([e,n])=>t(n,e)),lt=(e,t)=>Ye(nt(e,(e,n)=>[n,t(e,n)])),st=e=>Ze(Ue(e)),rt=e=>Ge(e)&&0==st(e),ot=(e,t,n=(e,t)=>e===t)=>{const l=Ke(e);return Ze(l)===st(t)&&Ae(l,([e,l])=>Ge(l)?!!Ge(t[e])&&ot(t[e],l,n):n(l,t[e]))},at=(e,t,n,l=0)=>Ie(e)||!Ge(e)||!l&&rt(e)||Qe(e)?(n?.(),!1):(((e,t)=>{Pe(Ke(e),([e,n])=>t(n,e))})(e,(n,l)=>{t(n,l)||tt(e,l)}),!!l||!rt(e)),it=JSON.stringify,dt=JSON.parse,ct=e=>it(e,(e,t)=>t instanceof Map?Fe.fromEntries([...t]):t),ut=e=>ht(dt(e)),ht=e=>""===e?void 0:De(e)?Oe(e,ht):Ge(e)?lt(e,ht):e,mt="tinybaseInspector",bt="TinyBase Inspector",gt=["left","top","bottom","right","full"],pt="state",vt="sort",It="open",ft="editable",Ct="position",wt=It,Tt=e=>{const t=gt.indexOf(e);return-1==t?1:t},yt=(...e)=>ct(e),qt=(e,t)=>Oe(ze([...e]),t),xt='url("',kt=(e,t="white")=>({content:xt+`data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960' fill='${t}'><path d='${e}' /></svg>")`}),Dt="v560h120v-560h-120Z",St="v560h360v-560h-360Z",Zt="v120h560v-120h-560Z",Mt="v360h560v-360h-560Z",Nt={content:xt+"data:image/svg+xml,%3csvg viewBox='0 0 680 680' xmlns='http://www.w3.org/2000/svg' style='width:680px%3bheight:680px'%3e %3cpath stroke='white' stroke-width='80' fill='none' d='M340 617a84 241 90 11.01 0zM131 475a94 254 70 10428-124 114 286 70 01-428 124zm0-140a94 254 70 10428-124 114 286 70 01-428 124zm-12-127a94 254 70 00306 38 90 260 90 01-306-38zm221 3a74 241 90 11.01 0z' /%3e %3cpath fill='%23d81b60' d='M131 475a94 254 70 10428-124 114 286 70 01-428 124zm0-140a94 254 70 10428-124 114 286 70 01-428 124z' /%3e %3cpath d='M249 619a94 240 90 00308-128 114 289 70 01-308 128zM119 208a94 254 70 00306 38 90 260 90 01-306-38zm221 3a74 241 90 11.01 0z' /%3e%3c/svg%3e\")"},Lt=Oe([`M200-760${Dt} M400-760${St}`,`M200-760${Zt} M200-560${Mt}`,`M200-760${Mt} M200-320${Zt}`,`M200-760${St} M640-760${Dt}`],e=>kt("M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Z"+e));je(Lt,kt("M120-120v-200h80v120h120v80H120Zm520 0v-80h120v-120h80v200H640ZM120-640v-200h200v80H200v120h-80Zm640 0v-120H640v-80h200v200h-80Z"));const Vt=kt("m336-280-56-56 144-144-144-143 56-56 144 144 143-144 56 56-144 143 144 144-56 56-143-144-144 144Z"),Et=kt("M200-200h57l391-391-57-57-391 391v57Zm-80 80v-170l528-527q12-11 26.5-17t30.5-6q16 0 31 6t26 18l55 56q12 11 17.5 26t5.5 30q0 16-5.5 30.5T817-647L290-120H120Zm640-584-56-56 56 56Zm-141 85-28-29 57 57-29-28Z"),Rt=kt("m622-453-56-56 82-82-57-57-82 82-56-56 195-195q12-12 26.5-17.5T705-840q16 0 31 6t26 18l55 56q12 11 17.5 26t5.5 30q0 16-5.5 30.5T817-647L622-453ZM200-200h57l195-195-28-29-29-28-195 195v57ZM792-56 509-338 290-120H120v-169l219-219L56-792l57-57 736 736-57 57Zm-32-648-56-56 56 56Zm-169 56 57 57-57-57ZM424-424l-29-28 57 57-28-29Z"),At=kt("M440-280h80v-160h160v-80H520v-160h-80v160H280v80h160v160ZM200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm0-80h560v-560H200v560Zm0-560v560-560Z"),$t=kt("M520-400h80v-120h120v-80H600v-120h-80v120H400v80h120v120ZM320-240q-33 0-56.5-23.5T240-320v-480q0-33 23.5-56.5T320-880h480q33 0 56.5 23.5T880-800v480q0 33-23.5 56.5T800-240H320Zm0-80h480v-480H320v480ZM160-80q-33 0-56.5-23.5T80-160v-560h80v560h560v80H160Zm160-720v480-480Z"),Ht=kt("M280-120q-33 0-56.5-23.5T200-200v-520h-40v-80h200v-40h240v40h200v80h-40v520q0 33-23.5 56.5T680-120H280Zm400-600H280v520h400v-520ZM360-280h80v-360h-80v360Zm160 0h80v-360h-80v360ZM280-720v520-520Z"),zt=kt("m424-296 282-282-56-56-226 226-114-114-56 56 170 170Zm56 216q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z","rgb(127,255,127)"),Pt=kt("m40-120 440-760 440 760H40Zm138-80h604L480-720 178-200Zm302-40q17 0 28.5-11.5T520-280q0-17-11.5-28.5T480-320q-17 0-28.5 11.5T440-280q0 17 11.5 28.5T480-240Zm-40-120h80v-200h-80v200Zm40-100Z","rgb(255,255,127)"),Jt=kt("m336-280 144-144 144 144 56-56-144-144 144-144-56-56-144 144-144-144-56 56 144 144-144 144 56 56ZM480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z","rgb(255,127,127)"),Ot=kt("M480-344 240-584l56-56 184 184 184-184 56 56-240 240Z"),_t=kt("M504-480 320-664l56-56 240 240-240 240-56-56 184-184Z"),jt="*::-webkit-scrollbar",Bt="background",Ft="width",Wt="max-"+Ft,Qt="min-"+Ft,Kt="height",Gt="border",Ut="radius",Xt=Gt+"-"+Ut,Yt="padding",en="margin",tn="top",nn="bottom",ln="left",sn="right",rn="color",on="position",an="box-shadow",dn="font-size",cn="display",un="overflow",hn="cursor",mn="vertical-align",bn="text-align",gn="justify-content",pn="white-space",vn="text-overflow",In="align-items",fn="backdrop-filter",Cn=en+"-"+sn,wn="fixed",Tn="revert",yn="unset",qn="none",xn="flex",kn="pointer",Dn="auto",Sn="hidden",Zn="nowrap",Mn=(e,t="% 0.01 "+Nn("hue"))=>`oklch(${e}${t})`,Nn=e=>`var(--${e})`,Ln=(...e)=>e.join("rem ")+"rem",Vn=(...e)=>e.join("px ")+"px",En=(e=100)=>e+"vw",Rn=(e=100)=>e+"vh",An=Je(nt({"":{all:"initial",[dn]:Ln(.75),[on]:wn,"font-family":"inter,sans-serif","z-index":999999,"--bg":Mn(20),"--bg2":Mn(15),"--bg3":Mn(25),"--bg4":Mn(30),"--fg":Mn(85),"--fg2":Mn(60),["--"+Gt]:Vn(1)+" solid "+Nn("bg4"),["--"+an]:Vn(0,1,2,0)+" #0007"},"*":{all:Tn},"*::before":{all:Tn},"*::after":{all:Tn},[jt]:{[Ft]:Ln(.5),[Kt]:Ln(.5)},[jt+"-thumb"]:{[Bt]:Nn("bg4")},[jt+"-thumb:hover"]:{[Bt]:Nn("bg4")},[jt+"-corner"]:{[Bt]:qn},[jt+"-track"]:{[Bt]:qn},img:{[Ft]:Ln(.8),[Kt]:Ln(.8),[mn]:"text-"+nn,[hn]:kn,[en]:Vn(-2.5,2,-2.5,0),[Yt]:Vn(2),[Gt]:Nn(Gt),[Bt]:Nn("bg3"),[an]:Nn(an),[Xt]:Ln(.25)},"img.flat":{[Gt]:qn,[Bt]:qn,[an]:qn},">img":{[Yt]:Ln(.25),[nn]:0,[sn]:0,[on]:wn,[Kt]:yn,[en]:0,...Nt},...Ye(Oe([{[nn]:0,[ln]:0},{[tn]:0,[sn]:0}],(e,t)=>[`>img[data-position='${t}']`,e])),main:{[cn]:xn,[rn]:Nn("fg"),[Bt]:Nn("bg"),[un]:Sn,[on]:wn,[an]:Nn(an),"flex-direction":"column"},...Ye(Oe([{[nn]:0,[ln]:0,[Ft]:En(35),[Kt]:Rn(),[Gt+"-"+sn]:Nn(Gt)},{[tn]:0,[sn]:0,[Ft]:En(),[Kt]:Rn(30),[Gt+"-"+nn]:Nn(Gt)},{[nn]:0,[ln]:0,[Ft]:En(),[Kt]:Rn(30),[Gt+"-"+tn]:Nn(Gt)},{[tn]:0,[sn]:0,[Ft]:En(35),[Kt]:Rn(),[Gt+"-"+ln]:Nn(Gt)},{[tn]:0,[sn]:0,[Ft]:En(),[Kt]:Rn()}],(e,t)=>[`main[data-position='${t}']`,e])),header:{[cn]:xn,[Yt]:Ln(.5),[an]:Nn(an),[Bt]:Mn(30,"% 0.008 var(--hue) / .5"),[Ft]:"calc(100% - .5rem)",[on]:"absolute",[Gt+"-"+nn]:Nn(Gt),[In]:"center",[fn]:"blur(4px)"},"header>img:nth-of-type(1)":{[Kt]:Ln(1),[Ft]:Ln(1),...Nt},"header>img:nth-of-type(6)":Vt,...Ye(Oe(Lt,(e,t)=>[`header>img[data-id='${t}']`,e])),"header>span":{[un]:Sn,[xn]:1,"font-weight":800,[pn]:Zn,[vn]:"ellipsis"},article:{[un]:Dn,[xn]:1,[Yt+"-"+tn]:Ln(2)},details:{[en]:Ln(.5),[Gt]:Nn(Gt),[Xt]:Ln(.25)},summary:{[Bt]:Nn("bg3"),[en]:Vn(-1),[Gt]:Nn(Gt),[Yt]:Ln(.25,.125),[cn]:xn,[Xt]:Ln(.25),"user-select":qn,[gn]:"space-between",[In]:"center",[fn]:"blur(4px)"},"summary>span::before":{[cn]:"inline-block",[mn]:"sub",[en]:Vn(2),[Ft]:Ln(1),[Kt]:Ln(1),..._t},"details[open]>summary":{[Gt+"-"+nn+"-"+ln+"-"+Ut]:0,[Gt+"-"+nn+"-"+sn+"-"+Ut]:0,[en+"-"+nn]:0},"details[open]>summary>span::before":Ot,"details>summary img":{[cn]:qn},"details[open]>summary img":{[cn]:yn,[en+"-"+ln]:Ln(.25)},"details>div":{[un]:Dn},[`caption,#${mt} p`]:{[rn]:Nn("fg2"),[Yt]:Ln(.25,.5),[bn]:ln,[en]:0,[pn]:Zn},"caption button":{[Ft]:Ln(1.5),[Gt]:qn,[Bt]:qn,[rn]:Nn("fg"),[Yt]:0,[hn]:kn},"caption button[disabled]":{[rn]:Nn("fg2")},".actions":{[Yt]:Ln(.75,.5),[en]:0,[cn]:xn,[Gt+"-"+tn]:Nn(Gt),[gn]:"space-between"},table:{[Qt]:"100%","border-collapse":"collapse","table-layout":wn},thead:{[Bt]:Nn("bg")},[`th,#${mt} td`]:{[un]:Sn,[Yt]:Ln(.25,.5),[Wt]:Ln(20),[Gt]:Nn(Gt),[vn]:"ellipsis",[pn]:Zn,"border-width":Vn(1,0,0),[bn]:ln},"th:first-child":{[Ft]:Ln(3),[Qt]:Ln(3),[Wt]:Ln(3)},"th.sorted":{[Bt]:Nn("bg3")},"td.extra":{[bn]:sn},"tbody button":{[Bt]:qn,[Gt]:qn,[dn]:0,[Ft]:Ln(.8),[Kt]:Ln(.8),[rn]:Nn("fg2"),[en]:Ln(0,.25,0,-.25),"line-height":Ln(.8)},"tbody button:first-letter":{[dn]:Ln(.8)},input:{[Bt]:Nn("bg2"),[rn]:yn,[Yt]:Vn(4),[Gt]:0,[en]:Vn(-4,0),[dn]:yn,[Wt]:Ln(6)},"input:focus":{"outline-width":0},'input[type="number"]':{[Ft]:Ln(3)},'input[type="checkbox"]':{[mn]:Vn(-2)},".editableCell":{[cn]:"inline-block",[Cn]:Vn(2)},"button.next":{[Cn]:Ln(.5)},"img.add":At,"img.clone":$t,"img.delete":Ht,"img.done":Rt,"img.edit":Et,"img.ok":zt,"img.okDis":Pt,"img.cancel":Jt,"span.warn":{[en]:Ln(2,.25),[rn]:"#d81b60"}},(e,t)=>`#${mt} ${t}{${Je(nt(e,(e,t)=>`${t}:${e};`))}}`)),$n=e=>t=>{return n=(t,n)=>t+e(n),jn(t).reduce(n,0);var n},Hn=e=>e?.size??0,zn=$n(Hn),Pn=$n(zn),Jn=$n(Pn),On=(e,t)=>e?.has(t)??!1,_n=e=>fe(e)||0==Hn(e),jn=e=>[...e?.values()??[]],Bn=e=>e.clear(),Fn=(e,t)=>e?.forEach(t),Wn=(e,t)=>e?.delete(t),Qn=Map,Kn=e=>new Qn(e),Gn=e=>[...e?.keys()??[]],Un=(e,t)=>e?.get(t),Xn=(e,t)=>Fn(e,(e,n)=>t(n,e)),Yn=(e,t,n)=>fe(n)?(Wn(e,t),e):e?.set(t,n),el=(e,t,n,l)=>(On(e,t)?l?.(Un(e,t)):Yn(e,t,n()),Un(e,t)),tl=(e,t,n,l=Yn)=>(lt(t,(t,l)=>n(e,l,t)),Xn(e,n=>et(t,n)?0:l(e,n)),e),nl=(e,t,n,l)=>{const s={};return Fn(e,(e,r)=>{if(!n?.(e,r)){const n=t?t(e,r):e;l?.(n)||(s[r]=n)}}),s},ll=(e,t,n)=>nl(e,e=>nl(e,t,n),_n,rt),sl=(e,t,n)=>nl(e,e=>ll(e,t,n),_n,rt),rl=(e,t)=>{const n=Kn();return Fn(e,(e,l)=>n.set(l,t?.(e)??e)),n},ol=e=>rl(e,rl),al=e=>rl(e,ol),il=(e,t,n,l,s=0)=>ye((n?el:Un)(e,t[s],s>Ze(t)-2?n:Kn),r=>{if(s>Ze(t)-2)return l?.(r)&&Yn(e,t[s]),r;const o=il(r,t,n,l,s+1);return _n(r)&&Yn(e,t[s]),o}),dl=/^\d+$/,cl=()=>{const e=[];let t=0;return[n=>(n?Be(e):null)??R+t++,t=>{dl.test(t)&&Ze(e)<1e3&&je(e,t)}]},ul=e=>new Set(De(e)||fe(e)?e:[e]),hl=(e,t)=>e?.add(t),ml=e=>{let t;const[n,l]=cl(),s=Kn();return[(l,r,o,a=[],i=()=>[])=>{t??=e();const d=n(1);return Yn(s,d,[l,r,o,a,i]),hl(il(r,o??[R],ul),d),d},(e,n,...l)=>Pe(((e,t=[R])=>{const n=[],l=(e,s)=>s==Ze(t)?je(n,e):Ce(t[s])?Fn(e,e=>l(e,s+1)):Pe([t[s],null],t=>l(Un(e,t),s+1));return l(e,0),n})(e,n),e=>Fn(e,e=>Un(s,e)[0](t,...n??[],...l))),e=>ye(Un(s,e),([,t,n])=>(il(t,n??[R],void 0,t=>(Wn(t,e),_n(t)?1:0)),Yn(s,e),l(e),n)),e=>ye(Un(s,e),([e,,n=[],l,s])=>{const r=(...o)=>{const a=Ze(o);a==Ze(n)?e(t,...o,...s(o)):Ce(n[a])?Pe(l[a]?.(...o)??[],e=>r(...o,e)):r(...o,n[a])};r()})]},bl=Kn(),gl=Kn(),pl="storage",vl=e=>{if(Ce(e))return"null";if(De(e))return J;if(Ge(e))return P;const t=E(e);return qe(t)||t==H&&ve(e)?t:void 0},Il=e=>e==P||e==J,fl=e=>Ge(e)||De(e)?"�"+it(e):e,Cl=e=>xe(e)&&"�"==e[0],wl=(e,t,n)=>!n&&Cl(e)?dt(Se(e,1)):e,Tl=(e,t,n,l,s,r)=>e==A?t:e==H?n:e==$?l:e==P?s:e==J?r:null,yl=e=>[e,e],ql=(e,t=zn)=>t(e[0])+t(e[1]),xl=()=>[Kn(),Kn()],kl=e=>[...e],Dl=([e,t])=>e===t,Sl=(e,t,n)=>Yn(e,t,Un(e,t)==-n?void 0:n),Zl=([e,t],[n,l])=>ot(e,n)&&ot(t,l),Ml=()=>{let e,t,n=!1,l=!1,s=0,r=[],o=[],a=0;const i=Kn(),d=Kn(),c=Kn(),u=Kn(),h=Kn(),m=Kn(),b=Kn(),g=Kn(),p=Kn(),v=Kn(),I=Kn(),f=Kn(),C=Kn(),w=Kn(),T=ul(),y=Kn(),q=Kn(),x=Kn(),k=Kn(),D=xl(),S=xl(),Z=xl(),M=xl(),N=xl(),L=xl(),V=xl(),E=xl(),R=xl(),A=xl(),$=xl(),z=xl(),P=xl(),J=xl(),F=xl(),Q=xl(),te=xl(),ae=xl(),ie=xl(),de=xl(),ue=xl(),he=xl(),me=Kn(),be=xl(),[ge,pe,ve,Ie]=ml(()=>fn),we=e=>{const t=a;a=1;const n=e();return a=t,n},Te=(e,t,n,l=Object.is)=>ye(t(),t=>e===t||l(e,t)?n(t):we(()=>n(t))),xe=e=>{if(!at(e,(e,t)=>[O,_,j].includes(t)))return!1;const t=e[O];if(!qe(t)&&t!=H&&!Il(t))return!1;const n=e[_];return!(Ce(n)&&!e[j]||(Ce(n)||(vl(n)!=t?tt(e,_):e[_]=fl(n)),0))},Ze=De,Me=(t,n)=>(!e||On(I,n)||qt(n))&&at(t,(e,t)=>Ne(n,t,e),()=>qt(n)),Ne=(e,t,n,l)=>at(l?n:He(n,e,t),(l,s)=>ye(Ve(e,t,s,l),e=>(n[s]=e,!0),()=>!1),()=>qt(e,t)),Ve=(t,n,l,s)=>e?ye(Un(Un(I,t),l),e=>Ce(s)?e[j]?s:qt(t,n,l,s,e[_]):vl(s)===e[O]?fl(s):Il(e[O])&&Cl(s)?s:qt(t,n,l,s,e[_]),()=>qt(t,n,l,s)):fe(vl(s))?qt(t,n,l,s):fl(s),Ee=(e,t)=>at(t?e:Je(e),(t,n)=>ye(Ae(n,t),t=>(e[n]=t,!0),()=>!1),()=>xt()),Ae=(e,n)=>t?ye(Un(C,e),t=>Ce(n)?t[j]?n:xt(e,n,t[_]):vl(n)===t[O]?fl(n):Il(t[O])&&Cl(n)?n:xt(e,n,t[_]),()=>xt(e,n)):fe(vl(n))?xt(e,n):fl(n),He=(e,t,n)=>(ye(Un(f,t),([l,s])=>{Fn(l,(t,n)=>{et(e,n)||(e[n]=t)}),Fn(s,l=>{et(e,l)||qt(t,n,l)})}),e),Je=e=>(t&&(Fn(w,(t,n)=>{et(e,n)||(e[n]=t)}),Fn(T,t=>{et(e,t)||xt(t)})),e),_e=e=>tl(I,e,(e,t,n)=>{const l=Kn(),s=ul();tl(el(I,t,Kn),n,(e,t,n)=>{Yn(e,t,n),ye(n[_],e=>Yn(l,t,e),()=>hl(s,t))}),Yn(f,t,[l,s])},(e,t)=>{Yn(I,t),Yn(f,t)}),Be=e=>tl(C,e,(e,t,n)=>{Yn(C,t,n),ye(n[_],e=>Yn(w,t,e),()=>hl(T,t))},(e,t)=>{Yn(C,t),Yn(w,t),Wn(T,t)}),Fe=e=>rt(e)?an():en(e),We=(e,t,n,l,s,r)=>fe(l)?un(e,t,n,!0,s):tn(e,t,n,l,s,r),Qe=e=>rt(e)?hn():nn(e),Ke=(e,t,n)=>fe(t)?mn(e,n):ln(e,t,n),Ue=(e,t)=>Te(e,()=>t?e:ye(r[1],t=>we(()=>t(Le(e))),()=>e),e=>tl(x,e,(e,t,n)=>Ye(t,n),(e,t)=>bt(t)),ot),Ye=(e,t,n)=>Te(t,()=>n?t:ye(r[2],n=>we(()=>n(e,Le(t))),()=>t),t=>tl(el(x,e,()=>(It(e,1),Yn(y,e,cl()),Yn(q,e,Kn()),Kn())),t,(t,n,l)=>nt(e,t,n,l),(t,n)=>gt(e,t,n)),ot),nt=(e,t,n,l,s)=>Te(l,()=>s?l:ye(r[3],t=>we(()=>t(e,n,Le(l))),()=>l),l=>tl(el(t,n,()=>(ft(e,n,1),Kn())),l,(t,l,s)=>st(e,n,t,l,s),(l,r)=>pt(e,t,n,l,r,s)),ot),st=(e,t,n,l,s,o)=>Te(s,()=>ye(o?void 0:r[4],n=>we(()=>n(e,t,l,s)),()=>s),s=>{On(n,l)||Ct(e,t,l,1);const r=Un(n,l);s!==r&&(wt(e,t,l,r,s),Yn(n,l,s))}),it=(e,t,n,l,s,r)=>ye(Un(t,n),t=>st(e,n,t,l,s,r),()=>{const o=Kn();Yn(t,n,o),ft(e,n,1),lt(He({[l]:s},e,n),(t,l)=>st(e,n,o,l,t,r))}),ut=(e,t)=>Te(e,()=>t?e:ye(r[5],t=>we(()=>t(Le(e))),()=>e),e=>tl(k,e,(e,t,n)=>ht(t,n),(e,t)=>vt(t)),ot),ht=(e,t,n)=>Te(t,()=>ye(n?void 0:r[6],n=>we(()=>n(e,t)),()=>t),t=>{On(k,e)||Tt(e,1);const n=Un(k,e);t!==n&&(yt(e,n,t),Yn(k,e,t))}),mt=e=>el(x,e,()=>(It(e,1),Yn(y,e,cl()),Yn(q,e,Kn()),Kn())),bt=e=>we(()=>r[8]?.(e))??1?Ye(e,{},!0):Un(x,e),gt=(e,t,n)=>{if(we(()=>r[9]?.(e,n))??1){const[,l]=Un(y,e);l(n),nt(e,t,n,{},!0)}},pt=(e,t,n,l,s,o,a)=>{const i=Un(Un(f,e)?.[0],s);if(!fe(i)&&!o)return st(e,n,l,s,i);if(a||(we(()=>r[10]?.(e,n,s))??1)){const r=t=>{wt(e,n,t,Un(l,t)),Ct(e,n,t,-1),Yn(l,t)};fe(i)?r(s):Xn(l,r),_n(l)&&(ft(e,n,-1),_n(Yn(t,n))&&(It(e,-1),Yn(x,e),Yn(y,e),Yn(q,e)))}},vt=(e,t)=>{const n=Un(w,e);if(!fe(n))return ht(e,n);(t||(we(()=>r[12]?.(e))??1))&&(yt(e,Un(k,e)),Tt(e,-1),Yn(k,e))},It=(e,t)=>Sl(i,e,t),ft=(e,t,n)=>Sl(el(u,e,Kn),t,n)&&Yn(c,e,el(c,e,()=>0)+n),Ct=(e,t,n,l)=>{const s=Un(q,e),r=Un(s,n)??0;(0==r&&1==l||1==r&&-1==l)&&Sl(el(d,e,Kn),n,l),Yn(s,n,r!=-l?r+l:void 0),Sl(el(el(h,e,Kn),t,Kn),n,l)},wt=(e,t,n,l,s)=>{el(el(el(m,e,Kn),t,Kn),n,()=>[l,0])[1]=s,o[3]?.(e,t,n,s,a)},Tt=(e,t)=>Sl(b,e,t),yt=(e,t,n)=>{el(g,e,()=>[t,0])[1]=n,o[4]?.(e,n,a)},qt=(e,t,n,l,s)=>(je(el(el(el(p,e,Kn),t,Kn),n,()=>[]),l),s),xt=(e,t,n)=>(je(el(v,e,()=>[]),t),n),kt=(e,t,n)=>ye(Un(Un(Un(m,e),t),n),([e,t])=>[!0,wl(e),wl(t)],()=>[!1,...yl(_t(e,t,n))]),Dt=e=>ye(Un(g,e),([e,t])=>[!0,wl(e),wl(t)],()=>[!1,...yl(Ft(e))]),St=e=>_n(p)||_n(Q[e])?0:Fn(e?al(p):p,(t,n)=>Fn(t,(t,l)=>Fn(t,(t,s)=>pe(Q[e],[n,l,s],t)))),Zt=e=>_n(v)||_n(te[e])?0:Fn(e?rl(v):v,(t,n)=>pe(te[e],[n],t)),Mt=(e,t,n,l)=>{if(!_n(e))return pe(t,l,()=>nl(e)),Xn(e,(e,t)=>pe(n,[...l??[],e],1==t)),1},Nt=e=>{const t=!_n(D[e]),l=!_n(A[e]),s=!(_n(P[e])&&_n(J[e])&&_n(R[e])&&_n($[e])&&_n(L[e])&&_n(V[e])&&_n(E[e])&&!l&&_n(Z[e])&&_n(M[e])),r=!(_n(F[e])&&_n(z[e])&&_n(N[e])&&_n(S[e]));if(t||s||r){const a=e?[rl(i),ol(d),rl(c),ol(u),al(h),(o=m,rl(o,e=>rl(e,e=>rl(e,kl))))]:[i,d,c,u,h,m];if(t){const t=Wt();t!=n&&pe(D[e],void 0,t)}if(s){Mt(a[0],Z[e],M[e]),Fn(a[1],(t,n)=>Mt(t,L[e],V[e],[n])),Fn(a[2],(t,n)=>{0!=t&&pe(E[e],[n],zt(n))});const t=ul();Fn(a[3],(n,s)=>{Mt(n,R[e],$[e],[s])&&l&&(pe(A[e],[s,null]),hl(t,s))}),l&&Fn(a[5],(n,l)=>{if(!On(t,l)){const t=ul();Fn(n,e=>Fn(e,([n,l],s)=>l!==n?hl(t,s):Wn(e,s))),Fn(t,t=>pe(A[e],[l,t]))}}),Fn(a[4],(t,n)=>Fn(t,(t,l)=>Mt(t,P[e],J[e],[n,l])))}if(r){let t;Fn(a[5],(n,l)=>{let s;Fn(n,(n,r)=>{let o;Fn(n,([n,a],i)=>{a!==n&&(pe(F[e],[l,r,i],wl(a),wl(n),kt),t=s=o=1)}),o&&pe(z[e],[l,r],kt)}),s&&pe(N[e],[l],kt)}),t&&pe(S[e],void 0,kt)}}var o},Lt=e=>{const t=!_n(ae[e]),n=!_n(de[e])||!_n(ue[e]),s=!_n(he[e])||!_n(ie[e]);if(t||n||s){const r=e?[rl(b),rl(g,kl)]:[b,g];if(t){const t=Xt();t!=l&&pe(ae[e],void 0,t)}if(n&&Mt(r[0],de[e],ue[e]),s){let t;Fn(r[1],([n,l],s)=>{l!==n&&(pe(he[e],[s],wl(l),wl(n),Dt),t=1)}),t&&pe(ie[e],void 0,Dt)}}},Vt=(e,...t)=>(pn(()=>e(...Oe(t,ce))),fn),Et=(e,t,n,l,s)=>{let r=Jt(e,t,...n);return ge(()=>{const s=Jt(e,t,...n);$e(s,r)||(r=s,l(fn,e,t,...n,r))},A[s?1:0],[e,t],[$t])},Rt=(e=!1)=>[nl(m,(t,n)=>-1===Un(i,n)?void 0:nl(t,(t,l)=>-1===Un(Un(u,n),l)?void 0:nl(t,([,t])=>wl(t,0,e),e=>Dl(e)),_n,rt),_n,rt),nl(g,([,t])=>wl(t,0,e),e=>Dl(e)),1],At=()=>sl(x,wl),$t=()=>Gn(x),Ht=e=>Gn(Un(q,ce(e))),zt=e=>Hn(Un(x,ce(e))),Pt=e=>Gn(Un(x,ce(e))),Jt=(e,t,n,l=0,s)=>{return Ge(e)?Jt(e.tableId,e.cellId,e.descending,e.offset,e.limit):Oe(Se(ze((r=Un(x,ce(e)),o=(e,n)=>[fe(t)?n:Un(e,ce(t)),n],Oe([...r?.entries()??[]],([e,t])=>o(t,e))),([e],[t])=>((e??0)<(t??0)?-1:1)*(n?-1:1)),l,fe(s)?s:l+s),([,e])=>e);var r,o},Ot=(e,t)=>Gn(Un(Un(x,ce(e)),ce(t))),_t=(e,t,n)=>wl(Un(Un(Un(x,ce(e)),ce(t)),ce(n))),jt=()=>nl(k,wl),Bt=()=>Gn(k),Ft=e=>wl(Un(k,ce(e))),Wt=()=>!_n(x),Qt=e=>On(x,ce(e)),Kt=(e,t)=>On(Un(q,ce(e)),ce(t)),Gt=(e,t)=>On(Un(x,ce(e)),ce(t)),Ut=(e,t,n)=>On(Un(Un(x,ce(e)),ce(t)),ce(n)),Xt=()=>!_n(k),Yt=e=>On(k,ce(e)),en=e=>Vt(()=>(e=>at(e,Me,qt))(e)?Ue(e):0),tn=(e,t,n,l,s,o)=>Vt((e,t,n)=>ye(Ve(e,t,n,ke(l)?l(_t(e,t,n)):l),l=>{const a=mt(e);ye(s||o||!r[14]?.()?void 0:r[3],r=>{const o=Un(a,t),i={...o?nl(o):{},[n]:l};ye(we(()=>r(e,t,Le(i))),n=>((e,t,n,l,s)=>{tl(el(t,n,()=>(ft(e,n,1),Kn())),l,(t,l,r)=>ye(Ve(e,n,l,r),r=>st(e,n,t,l,r,s)),(l,s)=>pt(e,t,n,l,s,!0))})(e,a,t,n,s))},()=>it(e,a,t,n,l,s))}),e,t,n),nn=e=>Vt(()=>Ee(e)?ut(e):0),ln=(e,t,n)=>Vt(e=>ye(Ae(e,ke(t)?t(Ft(e)):t),t=>ht(e,t,n)),e),sn=e=>(Re(()=>Fe(dt(e))),fn),rn=t=>Vt(()=>{if((e=at(t,e=>at(e,xe)))&&(_e(t),!_n(x))){const e=At();an(),en(e)}}),on=e=>Vt(()=>{if(t=(e=>at(e,xe))(e)){const n=jt();gn(),hn(),t=!0,Be(e),nn(n)}}),an=()=>Vt(()=>we(()=>r[7]?.())??1?Ue({},!0):0),dn=e=>Vt(e=>On(x,e)?bt(e):0,e),cn=(e,t)=>Vt((e,t)=>ye(Un(x,e),n=>On(n,t)?gt(e,n,t):0),e,t),un=(e,t,n,l,s)=>Vt((e,t,n)=>ye(Un(x,e),r=>ye(Un(r,t),o=>On(o,n)?pt(e,r,t,o,n,l,s):0)),e,t,n),hn=()=>Vt(()=>we(()=>r[11]?.())??1?ut({},!0):0),mn=(e,t)=>Vt(e=>On(k,e)?vt(e,t):0,e),bn=()=>Vt(()=>{_e({}),e=!1}),gn=()=>Vt(()=>{Be({}),t=!1}),pn=(e,t)=>{if(-1!=s){vn();const n=e();return In(t),n}},vn=()=>(-1!=s&&s++,1==s&&(o[0]?.(),pe(me)),fn),In=e=>(s>0&&(s--,0==s&&(s=1,we(()=>{St(1),_n(m)||Nt(1),Zt(1),_n(g)||Lt(1)}),e?.(fn)&&(Fn(m,(e,t)=>Fn(e,(e,n)=>Fn(e,([e],l)=>We(t,n,l,e,!0)))),Bn(m),Fn(g,([e],t)=>Ke(t,e,!0)),Bn(g)),pe(be[0],void 0),s=-1,St(0),_n(m)||Nt(0),Zt(0),_n(g)||Lt(0),o[1]?.(),pe(be[1],void 0),o[2]?.(),s=0,n=Wt(),l=Xt(),Pe([i,d,c,u,h,m,p,b,g,v],Bn))),fn),fn={getContent:()=>[At(),jt()],getTables:At,getTableIds:$t,getTable:e=>ll(Un(x,ce(e)),wl),getTableCellIds:Ht,getRowCount:zt,getRowIds:Pt,getSortedRowIds:Jt,getRow:(e,t)=>nl(Un(Un(x,ce(e)),ce(t)),wl),getCellIds:Ot,getCell:_t,getValues:jt,getValueIds:Bt,getValue:Ft,hasTables:Wt,hasTable:Qt,hasTableCell:Kt,hasRow:Gt,hasCell:Ut,hasValues:Xt,hasValue:Yt,getTablesJson:()=>ct(x),getValuesJson:()=>ct(k),getJson:()=>ct([x,k]),getTablesSchemaJson:()=>ct(I),getValuesSchemaJson:()=>ct(C),getSchemaJson:()=>ct([I,C]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:e=>Vt(()=>{const t=ke(e)?e():e;Ze(t)&&(e=>{Te(e,()=>ye(r[0],t=>we(()=>t(Le(e))),()=>e),([e,t])=>{(rt(e)?an:en)(e),(rt(t)?hn:nn)(t)},Zl)})(t)}),setTables:en,setTable:(e,t)=>Vt(e=>Me(t,e)?Ye(e,t):0,e),setRow:(e,t,n)=>Vt((e,t)=>Ne(e,t,n)?nt(e,mt(e),t,n):0,e,t),addRow:(e,t,n=!0)=>pn(()=>{let l;return Ne(e,l,t)&&(e=ce(e),nt(e,mt(e),l=((e,t)=>{const[n]=Un(y,e);let l;do{l=n(t)}while(On(Un(x,e),l));return l})(e,n?1:0),t)),l}),setPartialRow:(e,t,n)=>Vt((e,t)=>{if(Ne(e,t,n,1)){const l=mt(e);lt(n,(n,s)=>it(e,l,t,s,n))}},e,t),setCell:tn,setValues:nn,setPartialValues:e=>Vt(()=>Ee(e,1)?lt(e,(e,t)=>ht(t,e)):0),setValue:ln,applyChanges:e=>Vt(()=>Te(e,()=>ye(r[13],t=>we(()=>t(Le(e))),()=>e),e=>{lt(e[0],(e,t)=>fe(e)?dn(t):lt(e,(e,n)=>fe(e)?cn(t,n):lt(e,(e,l)=>We(t,n,l,e,void 0,!0)))),lt(e[1],(e,t)=>Ke(t,e))},Zl)),setTablesJson:sn,setValuesJson:e=>(Re(()=>Qe(dt(e))),fn),setJson:e=>Vt(()=>Re(()=>{const[t,n]=dt(e);Fe(t),Qe(n)},()=>sn(e))),setTablesSchema:rn,setValuesSchema:on,setSchema:(e,t)=>Vt(()=>{rn(e),on(t)}),delTables:an,delTable:dn,delRow:cn,delCell:un,delValues:hn,delValue:mn,delTablesSchema:bn,delValuesSchema:gn,delSchema:()=>Vt(()=>{bn(),gn()}),transaction:pn,startTransaction:vn,getTransactionChanges:()=>Rt(),getTransactionLog:()=>[!_n(m),!_n(g),sl(m,kl,Dl),sl(p),nl(g,kl,Dl),nl(v),nl(i),ll(u),sl(h),nl(b)],finishTransaction:In,forEachTable:e=>Fn(x,(t,n)=>e(n,e=>Fn(t,(t,n)=>e(n,e=>Xn(t,(t,n)=>e(t,wl(n))))))),forEachTableCell:(e,t)=>Xn(Un(q,ce(e)),t),forEachRow:(e,t)=>Fn(Un(x,ce(e)),(e,n)=>t(n,t=>Xn(e,(e,n)=>t(e,wl(n))))),forEachCell:(e,t,n)=>Xn(Un(Un(x,ce(e)),ce(t)),(e,t)=>n(e,wl(t))),forEachValue:e=>Xn(k,(t,n)=>e(t,wl(n))),addSortedRowIdsListener:(e,t,n,l,s,r,o)=>Ge(e)?Et(e.tableId,e.cellId,[e.descending??!1,e.offset??0,e.limit],t,n):Et(e,t,[n,l,s],r,o),addStartTransactionListener:e=>ge(e,me),addWillFinishTransactionListener:e=>ge(e,be[0]),addDidFinishTransactionListener:e=>ge(e,be[1]),callListener:e=>(Ie(e),fn),delListener:e=>(ve(e),fn),getListenerStats:()=>({hasTables:ql(D),tables:ql(S),tableIds:ql(Z),hasTable:ql(M),table:ql(N),tableCellIds:ql(L),hasTableCell:ql(V,Pn),rowCount:ql(E),rowIds:ql(R),sortedRowIds:ql(A),hasRow:ql($,Pn),row:ql(z,Pn),cellIds:ql(P,Pn),hasCell:ql(J,Jn),cell:ql(F,Jn),invalidCell:ql(Q,Jn),hasValues:ql(ae),values:ql(ie),valueIds:ql(de),hasValue:ql(ue),value:ql(he),invalidValue:ql(te),transaction:zn(me)+ql(be)}),isMergeable:()=>!1,_:[Ml,ge,pe,(e,t,n,l,s)=>o=[e,t,n,l,s],(e,t,n,l,s,o,a,i,d,c,u,h,m,b,g)=>r=[e,t,n,l,s,o,a,i,d,c,u,h,m,b,g],We,Ke,()=>[sl(x),nl(k)],()=>Rt(!0)]};return lt({[W+G]:[0,D,[],()=>[Wt()]],[G]:[0,S],[U]:[0,Z],[W+K]:[1,M,[$t],e=>[Qt(...e)]],[K]:[1,N,[$t]],[K+le]:[1,L,[$t]],[W+K+ne]:[2,V,[$t,Ht],e=>[Kt(...e)]],[Y]:[1,E,[$t]],[ee]:[1,R,[$t]],[W+X]:[2,$,[$t,Pt],e=>[Gt(...e)]],[X]:[2,z,[$t,Pt]],[le]:[2,P,[$t,Pt]],[W+ne]:[3,J,[$t,Pt,Ot],e=>[Ut(...e)]],[ne]:[3,F,[$t,Pt,Ot],e=>yl(_t(...e))],InvalidCell:[3,Q],[W+re]:[0,ae,[],()=>[Xt()]],[re]:[0,ie],[oe]:[0,de],[W+se]:[1,ue,[Bt],e=>[Yt(...e)]],[se]:[1,he,[Bt],e=>yl(Ft(e[0]))],InvalidValue:[1,te]},([e,t,n,l],s)=>{fn["add"+s+B]=(...s)=>ge(s[e],t[s[e+1]?1:0],e>0?Se(s,0,e):void 0,n,l)}),Xe(fn)},Nl=({s:t})=>{const n=l(Ct,t)??1,r=s(wt,()=>!0,[],t);return l(wt,t)?null:e("img",{onClick:r,title:bt,"data-position":n})},{PureComponent:Ll,createContext:Vl,useCallback:El,useContext:Rl,useEffect:Al,useLayoutEffect:$l,useMemo:Hl,useRef:zl,useState:Pl,useSyncExternalStore:Jl}=V,Ol=(e,...t)=>fe(e)?{}:e(...t),_l="tinybase_uirc",jl=he[_l]?he[_l]:he[_l]=Vl([]),Bl=(e,t)=>{const n=((e,t)=>{const n=Rl(jl);return fe(e)?n[2*t]:xe(e)?((e,t)=>ye(e,e=>e[t]))(n[2*t+1],e):e})(e,t);return fe(e)||xe(e)?n:e},Fl=[],Wl=[{},[],[Fl,void 0,Fl],{},void 0,void 0,!1,0],Ql=(e,t)=>e===t||(Ge(e)||De(e))&&it(e)===it(t),Kl=[(e,t)=>ot(e,t,Ql),$e,([e,t,n],[l,s,r])=>t===s&&$e(e,l)&&$e(n,r),(e,t)=>ot(e,t,He),He,Ql],Gl=(e,t)=>e===t,Ul=(e,t,n,l=Fl)=>{const s=zl(Wl[n]),r=El(()=>{const r=t?.[(6==n?"has":"get")+e]?.(...l)??Wl[n];return(Kl[n]??Gl)(r,s.current)?s.current:s.current=r},[t,n,e,...l]),o=El(s=>((e,t,...n)=>{const l=e?.["add"+t+B]?.(...n);return()=>e?.delListener?.(l)})(t,(6==n?W:R)+e,...l,s),[t,n,e,...l]);return Jl(o,r,r)},Xl=(e,t,n,l,s,r,...o)=>((e,t,n,l=Fl,s=Me,r=Fl,o,...a)=>El(l=>ye(e,e=>ye(n(l,e),n=>s(e[o+t](...Yl(a,e,l),n),n))),[e,t,...l,...r,o,...es(a)]))(ns(e),t,n,l,s,r,"set",...o),Yl=(e,t,n)=>Oe(e,e=>ke(e)?e(n,t):e),es=e=>{return t=e=>!ke(e),e.filter(t);var t},ts=(e,t,n=Me,l=Fl,...s)=>{const r=ns(e);return El(e=>n(r?.["del"+t](...Yl(s,r,e))),[r,t,...l,...es(s)])},ns=e=>Bl(e,0),ls=(e,t)=>Ul(K+le,ns(t),1,[e]),ss=(e,t,n,l,s,r)=>((e,t,n,l,s,r)=>Ul(te,ns(r),1,[e,t,n,l,s]))(...Ge(e)?[e.tableId,e.cellId,e.descending??!1,e.offset??0,e.limit,t]:[e,t,n,l,s,r]),rs=(e,t,n,l)=>Ul(ne,ns(l),5,[e,t,n]),os=(e,t)=>Ul(se,ns(t),5,[e]),as=(e,t,n,l,s,r)=>Xl(l,K,t,n,s,r,e),is=(e,t,n,l,s,r,o)=>Xl(s,X,n,l,r,o,e,t),ds=(e,t,n,l,s,r,o,a)=>Xl(r,ne,l,s,o,a,e,t,n),cs=(e,t,n,l,s,r)=>Xl(l,se,t,n,s,r,e),us=(e,t,n,l)=>ts(t,K,n,l,e),hs=(e,t,n,l,s)=>ts(n,X,l,s,e,t),ms=(e,t,n,l,s,r,o)=>ts(s,ne,r,o,e,t,n,l),bs=(e,t,n,l)=>ts(t,se,n,l,e),gs=e=>Bl(e,2),ps=(e,t,n)=>Ul("Slice"+ee,gs(n),1,[e,t]),vs=e=>Bl(e,3),Is=e=>Bl(e,4),fs=(e,t)=>Ul(F+K+le,Is(t),1,[e]),Cs=(e,t,n,l=0,s,r)=>Ul(F+te,Is(r),1,[e,t,n,l,s]),ws=(e,t)=>Hl(()=>({store:e,tableId:t}),[e,t]),Ts=(e,t)=>Hl(()=>({queries:e,queryId:t}),[e,t]),ys=(e,t,n)=>{const l=El(e,t);return n?l:void 0},qs=(...e)=>Hl(()=>e,e),xs=(e,t,n)=>Hl(()=>{const l=t??e;return lt(De(l)?Ye(Oe(l,e=>[e,e])):l,(e,t)=>({label:t,component:n,...xe(e)?{label:e}:e}))},[t,n,e]),ks="editable",Ds=(t=[],n,l=0)=>Oe(t,({component:t},s)=>e("td",{className:de,children:e(t,{...n})},Ss(s,l))),Ss=(e,t)=>(t?">":"<")+e,Zs=(t=[],n=0)=>Oe(t,({label:t},l)=>e("th",{className:de,children:t},Ss(l,n))),Ms=({cellId:e,sort:[n,l],label:s=e??R,onClick:r})=>t("th",{onClick:ys(()=>r?.(e),[r,e],r),className:fe(l)||n!=e?void 0:`sorted ${l?"de":"a"}scending`,children:[fe(l)||n!=e?null:(l?"↓":"↑")+" ",s]}),Ns=({className:n,headerRow:l,idColumn:s,params:[r,o,a,i,d,c,u,h]})=>t("table",{className:n,children:[h?e("caption",{children:h}):null,!1===l?null:e("thead",{children:t("tr",{children:[Zs(i),!1===s?null:e(Ms,{sort:c??[],label:"Id",onClick:u}),nt(r,({label:t},n)=>e(Ms,{cellId:n,label:t,sort:c??[],onClick:u},n)),Zs(d,1)]})}),e("tbody",{children:Oe(a,n=>{const l={...o,rowId:n};return t("tr",{children:[Ds(i,l),we(s)?null:e("th",{title:n,children:n}),nt(r,({component:t,getComponentProps:s},r)=>e("td",{children:e(t,{...Ol(s,n,r),...l,cellId:r})},r)),Ds(d,l,1)]},n)})})]}),Ls=({thing:n,onThingChange:l,className:s,hasSchema:r,showType:o=!0})=>{const[a,i]=Pl(),[d,c]=Pl(),[u,h]=Pl(),[m,b]=Pl(),[g,p]=Pl(),[v,I]=Pl("{}"),[f,C]=Pl("[]"),[w,T]=Pl(""),[y,q]=Pl("");d!==n&&(i(vl(n)),c(n),Ge(n)?I(it(n)):De(n)?C(it(n)):(h(n+""),b(Number(n)||0),p(!!n)));const x=El((e,t)=>{t(e),c(e),l(e)},[l]),k=El((e,t,n,s)=>{t(e);try{const t=dt(e);n(t)&&(c(t),l(t),s(""))}catch{s("invalid")}},[l]),D=El(()=>{if(!r?.()){const e=Tl(a,H,$,P,J,A),t=Tl(e,u,m,g,Ee(()=>dt(v),{}),Ee(()=>dt(f),[]));i(e),c(t),l(t)}},[r,l,u,m,g,v,f,a]),S=Tl(a,e("input",{value:u,onChange:El(e=>x(e[ae][ie]+"",h),[x])},a),e("input",{type:"number",value:m,onChange:El(e=>x(Number(e[ae][ie]||0),b),[x])},a),e("input",{type:"checkbox",checked:g,onChange:El(e=>x(!!e[ae].checked,p),[x])},a),e("input",{value:v,className:w,onChange:El(e=>k(e[ae][ie],I,Ge,T),[k])},a),e("input",{value:f,className:y,onChange:El(e=>k(e[ae][ie],C,De,q),[k])},a));return t("div",{className:s,children:[o&&S?e("button",{title:a,className:a,onClick:D,children:a}):null,S]})},Vs=({tableId:t,rowId:n,cellId:l,store:s,className:r,showType:o})=>{const[a,i]=((e,t,n,l)=>[rs(e,t,n,l),ds(e,t,n,Ne,[],l)])(t,n,l,s);return e(Ls,{thing:a,onThingChange:i,className:r??ks+ne,showType:o,hasSchema:ns(s)?.hasTablesSchema})},Es=({valueId:t,store:n,className:l,showType:s})=>{const[r,o]=((e,t)=>[os(e,t),cs(e,Ne,[],t)])(t,n);return e(Ls,{thing:r,onThingChange:o,className:l??ks+se,showType:s,hasSchema:ns(n)?.hasValuesSchema})},Rs=(e,t)=>Oe(ls(e,t),t=>e+"."+t),As=({localRowId:l,params:[s,r,o,a,i,d,c,u,h]})=>{const m=((e,t,n)=>Ul("RemoteRowId",vs(n),5,[e,t]))(i,l,d),b={tableId:o??"",rowId:l,store:c};return t("tr",{children:[Ds(u,b),we(s)?null:t(n,{children:[e("th",{title:l,children:l}),e("th",{title:m,children:m})]}),nt(r,({component:t,getComponentProps:n},s)=>{const[r,i]=((e,t="",n)=>e.split(t,n))(s,".",2),d=r===o?l:r===a?m:void 0;return fe(d)?null:e("td",{children:e(t,{...Ol(n,d,i),store:c,tableId:r,rowId:d,cellId:i})},s)}),Ds(h,b,1)]})},$s=({relationshipId:l,relationships:s,editable:o,customCells:a,extraCellsBefore:i,extraCellsAfter:d,className:c,headerRow:u,idColumn:h=!0})=>{const[m,b,g,p]=((e,t)=>[e,e?.getStore(),e?.getLocalTableId(t),e?.getRemoteTableId(t)])(vs(s),l),v=xs([...Rs(g,b),...Rs(p,b)],a,o?Vs:r),I=qs(h,v,g,p,l,m,b,i,d);return t("table",{className:c,children:[we(u)?null:e("thead",{children:t("tr",{children:[Zs(i),we(h)?null:t(n,{children:[t("th",{children:[g,".Id"]}),t("th",{children:[p,".Id"]})]}),nt(v,({label:t},n)=>e("th",{children:t},n)),Zs(d,1)]})}),e("tbody",{children:Oe((f=g,C=b,Ul(ee,ns(C),1,[f])),t=>e(As,{localRowId:t,params:I},t))})]});var f,C},Hs=(t,n=!1,l,s=0,r,o,a,i)=>{const[[d,c,u],h]=Pl([t,n,s]),m=El(e=>{h(e),i?.(e)},[i]),b=ys(e=>m([e,e==d&&!c,u]),[m,d,c,u],l),g=El(e=>m([d,c,e]),[m,d,c]),p=!0===a?zs:a;return[[d,c,u],b,Hl(()=>we(a)?null:e(p,{offset:u,limit:r,total:o,onChange:g}),[a,p,u,r,o,g])]},zs=({onChange:l,total:s,offset:r=0,limit:o=s,singular:a="row",plural:i=a+"s"})=>{(r>s||r<0)&&(r=0,l(0));const d=ys(()=>l(r-o),[l,r,o],r>0),c=ys(()=>l(r+o),[l,r,o],r+o<s);return t(n,{children:[s>o&&t(n,{children:[e("button",{className:"previous",disabled:0==r,onClick:d,children:"←"}),e("button",{className:"next",disabled:r+o>=s,onClick:c,children:"→"}),r+1," to ",ge(s,r+o)," of "]}),s," ",1!=s?i:a]})},Ps=({queryId:t,cellId:n,descending:l,offset:s,limit:r,queries:a,sortOnClick:i,paginator:d=!1,customCells:c,extraCellsBefore:u,extraCellsAfter:h,onChange:m,...b})=>{const[g,p,v]=Hs(n,l,i,s,r,((e,t)=>Ul(F+Y,Is(t),7,[e]))(t,a),d,m);return e(Ns,{...b,params:qs(xs(fs(t,a),c,o),Ts(a,t),Cs(t,...g,r,a),u,h,g,p,v)})},Js=({indexId:t,sliceId:n,indexes:l,editable:s,customCells:o,extraCellsBefore:a,extraCellsAfter:i,...d})=>{const[c,u,h]=((e,t)=>[e,e?.getStore(),e?.getTableId(t)])(gs(l),t);return e(Ns,{...d,params:qs(xs(ls(h,u),o,s?Vs:r),ws(u,h),ps(t,n,c),a,i)})},Os=({tableId:t,cellId:n,descending:l,offset:s,limit:o,store:a,editable:i,sortOnClick:d,paginator:c=!1,onChange:u,customCells:h,extraCellsBefore:m,extraCellsAfter:b,...g})=>{const[p,v,I]=Hs(n,l,d,s,o,((e,t)=>Ul(Y,ns(t),7,[e]))(t,a),c,u);return e(Ns,{...g,params:qs(xs(ls(t,a),h,i?Vs:r),ws(a,t),ss(t,...p,o,a),m,b,p,v,I)})},_s=(t=[],n,l=0)=>Oe(t,({component:t},s)=>e("td",{className:de,children:e(t,{...n})},Ss(s,l))),js=({store:n,editable:l=!1,valueComponent:s=(l?Es:a),getValueComponentProps:r,extraCellsBefore:o,extraCellsAfter:i,className:d,headerRow:c,idColumn:u})=>{return t("table",{className:d,children:[!1===c?null:e("thead",{children:t("tr",{children:[Zs(o),!1===u?null:e("th",{children:"Id"}),e("th",{children:se}),Zs(i,1)]})}),e("tbody",{children:Oe((h=n,Ul(oe,ns(h),1)),l=>{const a={valueId:l,store:n};return t("tr",{children:[_s(o,a),we(u)?null:e("th",{title:l,children:l}),e("td",{children:e(s,{...Ol(r,l),...a})}),_s(i,a,1)]},l)})})]});var h},Bs=({uniqueId:n,title:l,editable:s,handleEditable:r,children:o,s:a})=>{const c=!!i(pt,n,It,a),u=d(pt,n,It,e=>e[ae].open,[],a);return t("details",{open:c,onToggle:u,children:[t("summary",{children:[e("span",{children:l}),r?e("img",{onClick:r,className:s?"done":"edit",title:s?"Done editing":"Edit"}):null]}),e("div",{children:o})]})},Fs=(e,t)=>[!!i(pt,e,ft,t),El(n=>{t.setCell(pt,e,ft,e=>!e),n.preventDefault()},[t,e])],Ws=({indexes:t,indexesId:n,indexId:l,s:s})=>e(Bs,{uniqueId:yt("i",n,l),title:"Index: "+l,s:s,children:Oe(h(l,t),r=>e(Qs,{indexes:t,indexesId:n,indexId:l,sliceId:r,s:s},r))}),Qs=({indexes:t,indexesId:n,indexId:l,sliceId:s,s:r})=>{const o=yt("i",n,l,s),[a,i]=Fs(o,r);return e(Bs,{uniqueId:o,title:"Slice: "+s,editable:a,handleEditable:i,s:r,children:e(Js,{sliceId:s,indexId:l,indexes:t,editable:a})})},Ks=({indexesId:t,s:n})=>{const l=c(t),s=u(l);return fe(l)?null:e(Bs,{uniqueId:yt("i",t),title:"Indexes: "+(t??_),s:n,children:_e(s)?"No indexes defined":qt(s,s=>e(Ws,{indexes:l,indexesId:t,indexId:s,s:n},s))})},Gs=({metrics:n,metricId:l})=>t("tr",{children:[e("th",{title:l,children:l}),e("td",{children:n?.getTableId(l)}),e("td",{children:g(l,n)})]}),Us=({metricsId:n,s:l})=>{const s=m(n),r=b(s);return fe(s)?null:e(Bs,{uniqueId:yt("m",n),title:"Metrics: "+(n??_),s:l,children:_e(r)?"No metrics defined":t("table",{children:[t("thead",{children:[e("th",{children:"Metric Id"}),e("th",{children:"Table Id"}),e("th",{children:"Metric"})]}),e("tbody",{children:Oe(r,t=>e(Gs,{metrics:s,metricId:t},t))})]})})},Xs=({queries:t,queriesId:n,queryId:l,s:s})=>{const r=yt("q",n,l),[o,a,c]=dt(i(pt,r,vt,s)??"[]"),u=d(pt,r,vt,ct,[],s);return e(Bs,{uniqueId:r,title:"Query: "+l,s:s,children:e(Ps,{queryId:l,queries:t,cellId:o,descending:a,offset:c,limit:10,paginator:!0,sortOnClick:!0,onChange:u})})},Ys=({queriesId:t,s:n})=>{const l=p(t),s=v(l);return fe(l)?null:e(Bs,{uniqueId:yt("q",t),title:"Queries: "+(t??_),s:n,children:_e(s)?"No queries defined":qt(s,s=>e(Xs,{queries:l,queriesId:t,queryId:s,s:n},s))})},er=({relationships:t,relationshipsId:n,relationshipId:l,s:s})=>{const r=yt("r",n,l),[o,a]=Fs(r,s);return e(Bs,{uniqueId:r,title:"Relationship: "+l,editable:o,handleEditable:a,s:s,children:e($s,{relationshipId:l,relationships:t,editable:o})})},tr=({relationshipsId:t,s:n})=>{const l=I(t),s=f(l);return fe(l)?null:e(Bs,{uniqueId:yt("r",t),title:"Relationships: "+(t??_),s:n,children:_e(s)?"No relationships defined":qt(s,s=>e(er,{relationships:l,relationshipsId:t,relationshipId:s,s:n},s))})},nr=(e,t)=>{let n,l=0;for(;t(n=e+(l>0?" (copy"+(l>1?" "+l:"")+")":""));)l++;return n},lr=({actions:l,...s})=>{const[r,o]=Pl(),a=El(()=>o(void 0),[]);if(Al(()=>{if(!fe(r)){const e=e=>{fe(r)||"Escape"!==e.key||(e.preventDefault(),a())};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)}},[r,a]),fe(r))return l.map(([t,n],l)=>e("img",{title:n,className:t,onClick:()=>o(l)},l));{const[,,o]=l[r];return t(n,{children:[e(o,{onDone:a,...s}),e("img",{onClick:a,title:"Cancel",className:"cancel"})]})}},sr=({onDone:l,suggestedId:s,has:r,set:o,prompt:a="New Id"})=>{const[i,d]=Pl(s),[c,u]=Pl(!0),[h,m]=Pl(s),b=El(()=>{r(i)?u(!1):(o(i),l())},[l,u,r,o,i]),g=El(e=>{"Enter"===e.key&&(e.preventDefault(),b())},[b]);return s!=h&&(d(s),m(s)),t(n,{children:[a+": ",e("input",{type:"text",value:i,onChange:e=>{d(e.target.value),u(!r(e.target.value))},onKeyDown:g,autoFocus:!0})," ",e("img",{onClick:b,title:c?"Confirm":"Id already exists",className:c?"ok":"okDis"})]})},rr=({onClick:l,prompt:s="Delete"})=>{const r=El(e=>{"Enter"===e.key&&(e.preventDefault(),l())},[l]);return Al(()=>(document.addEventListener("keydown",r),()=>document.removeEventListener("keydown",r)),[r]),t(n,{children:[s,"? ",e("img",{onClick:l,title:"Confirm",className:"ok"})]})},or=({left:n,right:l})=>t("div",{className:"actions",children:[e("div",{children:n}),e("div",{children:l})]}),ar=e=>{const t=ns(e);return El(e=>t?.hasTable(e)??!1,[t])},ir=({onDone:t,store:n})=>{const l=ar(n);return e(sr,{onDone:t,suggestedId:nr("table",l),has:l,set:as(e=>e,()=>({row:{cell:""}}),[],n),prompt:"Add table"})},dr=({onDone:t,store:n})=>{return e(rr,{onClick:(l=n,s=t,ts(l,G,s,void 0)),prompt:"Delete all tables"});var l,s},cr=({store:t})=>{return e(or,{left:e(lr,{actions:[["add","Add table",ir]],store:t}),right:(n=t,Ul(G,ns(n),6,[])?e(lr,{actions:[["delete","Delete all tables",dr]],store:t}):null)});var n},ur=({onDone:t,tableId:n,store:l})=>{const s=pr(l,n);return e(sr,{onDone:t,suggestedId:nr("row",s),has:s,set:is(n,e=>e,(e,t)=>Ye(Oe(t.getTableCellIds(n),e=>[e,""]))),prompt:"Add row"})},hr=({onDone:t,tableId:n,store:l})=>{const s=ns(l),r=ar(s);return e(sr,{onDone:t,suggestedId:nr(n,r),has:r,set:as(e=>e,(e,t)=>t.getTable(n)),prompt:"Clone table to"})},mr=({onDone:t,tableId:n,store:l})=>e(rr,{onClick:us(n,l,t),prompt:"Delete table"}),br=({tableId:t,store:n})=>e(lr,{actions:[["add","Add row",ur]],store:n,tableId:t}),gr=({tableId:t,store:n})=>e(lr,{actions:[["clone","Clone table",hr],["delete","Delete table",mr]],store:n,tableId:t}),pr=(e,t)=>{const n=ns(e);return El(e=>n?.hasRow(t,e)??!1,[n,t])},vr=({onDone:t,tableId:n,rowId:l,store:s})=>{const r=ns(s),o=El(e=>r.hasCell(n,l,e),[r,n,l]);return e(sr,{onDone:t,suggestedId:nr("cell",o),has:o,set:ds(n,l,e=>e,()=>"",[],r),prompt:"Add cell"})},Ir=({onDone:t,tableId:n,rowId:l,store:s})=>{const r=ns(s),o=pr(r,n);return e(sr,{onDone:t,suggestedId:nr(l,o),has:o,set:is(n,e=>e,(e,t)=>t.getRow(n,l),[l]),prompt:"Clone row to"})},fr=({onDone:t,tableId:n,rowId:l,store:s})=>e(rr,{onClick:hs(n,l,s,t),prompt:"Delete row"}),Cr=({onDone:t,tableId:n,rowId:l,cellId:s,store:r})=>e(rr,{onClick:ms(n,l,s,!0,r,t),prompt:"Delete cell"}),wr=({tableId:t,rowId:n,cellId:l,store:s})=>e(lr,{actions:[["delete","Delete cell",Cr]],store:s,tableId:t,rowId:n,cellId:l}),Tr=[{label:"",component:({tableId:t,rowId:n,store:l})=>e(lr,{actions:[["add","Add cell",vr],["clone","Clone row",Ir],["delete","Delete row",fr]],store:l,tableId:t,rowId:n})}],yr=l=>t(n,{children:[e(Vs,{...l}),T(l.tableId,l.rowId,l.cellId,l.store)&&e(wr,{...l})]}),qr=({tableId:n,store:l,storeId:s,s:o})=>{const a=yt("t",s,n),[c,u,h]=dt(i(pt,a,vt,o)??"[]"),m=d(pt,a,vt,ct,[],o),[b,g]=Fs(a,o),p=b?yr:r;return t(Bs,{uniqueId:a,title:K+": "+n,editable:b,handleEditable:g,s:o,children:[e(Os,{tableId:n,store:l,cellId:c,descending:u,offset:h,limit:10,paginator:!0,sortOnClick:!0,onChange:m,editable:b,extraCellsAfter:b?Tr:[],customCells:Ye(Oe(w(n,l),e=>[e,{label:e,component:p}]))}),b?t("div",{className:"actions",children:[e("div",{children:e(br,{tableId:n,store:l})}),e("div",{children:e(gr,{tableId:n,store:l})})]}):null]})},xr=({store:n,storeId:l,s:s})=>{const r=yt("ts",l),[o,a]=Fs(r,s),i=C(n);return t(Bs,{uniqueId:r,title:G,editable:o,handleEditable:a,s:s,children:[_e(i)?e("p",{children:"No tables."}):qt(i,t=>e(qr,{store:n,storeId:l,tableId:t,s:s},t)),o?e(cr,{store:n}):null]})},kr=e=>{const t=ns(e);return El(e=>t?.hasValue(e)??!1,[t])},Dr=({onDone:t,store:n})=>{const l=kr(n);return e(sr,{onDone:t,suggestedId:nr("value",l),has:l,set:cs(e=>e,()=>"",[],n),prompt:"Add value"})},Sr=({onDone:t,store:n})=>{return e(rr,{onClick:(l=n,s=t,ts(l,re,s,void 0)),prompt:"Delete all values"});var l,s},Zr=({store:t})=>{return e(or,{left:e(lr,{actions:[["add","Add value",Dr]],store:t}),right:(n=t,Ul(re,ns(n),6,[])?e(lr,{actions:[["delete","Delete all values",Sr]],store:t}):null)});var n},Mr=({onDone:t,valueId:n,store:l})=>{const s=kr(l);return e(sr,{onDone:t,suggestedId:nr(n,s),has:s,set:cs(e=>e,(e,t)=>t.getValue(n)??"",[n],l),prompt:"Clone value to"})},Nr=({onDone:t,valueId:n,store:l})=>e(rr,{onClick:bs(n,l,t),prompt:"Delete value"}),Lr=[{label:"",component:({valueId:t,store:n})=>e(lr,{actions:[["clone","Clone value",Mr],["delete","Delete value",Nr]],store:n,valueId:t})}],Vr=({store:n,storeId:l,s:s})=>{const r=yt("v",l),[o,a]=Fs(r,s);return t(Bs,{uniqueId:r,title:re,editable:o,handleEditable:a,s:s,children:[_e(y(n))?e("p",{children:"No values."}):e(js,{store:n,editable:o,extraCellsAfter:o?Lr:[]}),o?e(Zr,{store:n}):null]})},Er=({storeId:n,s:l})=>{const s=q(n);return fe(s)?null:t(Bs,{uniqueId:yt("s",n),title:(s.isMergeable()?"Mergeable":"")+"Store: "+(n??_),s:l,children:[e(Vr,{storeId:n,store:s,s:l}),e(xr,{storeId:n,store:s,s:l})]})},Rr=({s:n})=>{const l=zl(null),s=zl(0),[r,o]=Pl(!1),{scrollLeft:a,scrollTop:i}=x(n);$l(()=>{const e=l.current;if(e&&!r){const t=new MutationObserver(()=>{e.scrollWidth>=pe(a)+e.clientWidth&&e.scrollHeight>=pe(i)+e.clientHeight&&e.scrollTo(a,i)});return t.observe(e,{childList:!0,subtree:!0}),()=>t.disconnect()}},[r,a,i]);const d=El(e=>{const{scrollLeft:t,scrollTop:l}=e[ae];var r;(e=>{globalThis.cancelIdleCallback?.(e)??clearTimeout(e)})(s.current),s.current=(r=()=>{o(!0),n.setPartialValues({scrollLeft:t,scrollTop:l})},globalThis.requestIdleCallback?.(r)??setTimeout(()=>r(),0))},[n]),u=q(),h=k(),b=m(),g=D(),v=c(),f=S(),C=I(),w=Z(),T=p(),y=M();return fe(u)&&_e(h)&&fe(b)&&_e(g)&&fe(v)&&_e(f)&&fe(C)&&_e(w)&&fe(T)&&_e(y)?e("span",{className:"warn",children:"There are no Stores or other objects to inspect. Make sure you placed the Inspector inside a Provider component."}):t("article",{ref:l,onScroll:d,children:[e(Er,{s:n}),Oe(h,t=>e(Er,{storeId:t,s:n},t)),e(Us,{s:n}),Oe(g,t=>e(Us,{metricsId:t,s:n},t)),e(Ks,{s:n}),Oe(f,t=>e(Ks,{indexesId:t,s:n},t)),e(tr,{s:n}),Oe(w,t=>e(tr,{relationshipsId:t,s:n},t)),e(Ys,{s:n}),Oe(y,t=>e(Ys,{queriesId:t,s:n},t))]})};class Ar extends Ll{constructor(e){super(e),this.state={e:0}}static getDerivedStateFromError(){return{e:1}}componentDidCatch=(e,t)=>console.error(e,t.componentStack);render(){return this.state.e?e("span",{className:"warn",children:"Inspector error: please see console for details."}):this.props.children}}const $r=({s:n})=>{const r=l(Ct,n)??1,o=s(wt,()=>!1,[],n),a=s(Ct,e=>Number(e[ae].dataset.id),[],n);return t("header",{children:[e("img",{className:"flat",title:bt,onClick:()=>open("https://tinybase.org","_blank")}),e("span",{children:bt}),Oe(gt,(t,n)=>n==r?null:e("img",{onClick:a,"data-id":n,title:"Dock to "+t},n)),e("img",{className:"flat",onClick:o,title:"Close"})]})},Hr=({s:n})=>{const s=l(Ct,n)??1;return l(wt,n)?t("main",{"data-position":s,children:[e($r,{s:n}),e(Ar,{children:e(Rr,{s:n})})]}):null},zr=({position:l="right",open:s=!1,hue:r=270})=>{const o=N(Ml);return L(o,e=>{return t=mt,n=sessionStorage,((e,t,n,l,s,r,o,a={},i=0,d=[])=>{let c,u,h,m=0,b=0,g=0;el(bl,d,()=>0),el(gl,d,()=>[]);const p=Kn(),[v,I,f,C,w]=((e=1,t,n)=>1!=e&&t.isMergeable()?[1,t.__[1],()=>t.__[2](!n),([[e],[t]])=>!rt(e)||!rt(t),t.setDefaultContent]:2!=e?[0,t._[7],t._[8],([e,t])=>!rt(e)||!rt(t),t.setContent]:Ve("Store type not supported by this Persister"))(o,e,i),[T,y,q]=ml(()=>$),x=e=>{e!=m&&(m=e,y(p,void 0,m))},k=t=>{(v&&De(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},D=async()=>{E()&&e.__?.[0]?.()&&await N()},S=async e=>(2!=m&&(x(1),b++,await A(async()=>{await Re(async()=>{const n=await t();De(n)?k(n):e?w(e):Ve("Content is not an array: "+n)},()=>{e&&w(e)}),x(0),await D()})),$),Z=async e=>(M(),await S(e),await Re(async()=>u=await l(async(e,t)=>{t||e?2!=m&&(x(1),b++,k(t??e),x(0),await D()):await S()}),r),$),M=async()=>(u&&(await Re(()=>s(u),r),u=void 0),$),N=async e=>(1!=m&&(x(2),g++,await A(async()=>{await Re(()=>n(I,e),r),x(0)})),$),L=async()=>(V(),await N(),h=e.addDidFinishTransactionListener(()=>{const e=f();C(e)&&N(e)}),$),V=async()=>(h&&(e.delListener(h),h=void 0),$),E=()=>!fe(h),R=async(e=!1)=>{const[t,n]=e?[V,M]:[M,V];return await t(),await n(),$},A=async(...e)=>(je(Un(gl,d),...e),await(async()=>{if(!Un(bl,d)){for(Yn(bl,d,1);!fe(c=Be(Un(gl,d)));)await Re(c,r);Yn(bl,d,0)}})(),$),$={load:S,startAutoLoad:Z,stopAutoLoad:M,isAutoLoading:()=>!fe(u),save:N,startAutoSave:L,stopAutoSave:V,isAutoSaving:E,startAutoPersisting:async(e,t=!1)=>{const[n,l]=t?[L,Z]:[Z,L];return await n(e),await l(e),$},stopAutoPersisting:R,getStatus:()=>m,addStatusListener:e=>T(e,p),delListener:t=>(q(t),e),schedule:A,getStore:()=>e,destroy:()=>(Un(gl,d).splice(0,void 0),R()),getStats:()=>({loads:b,saves:g}),...a};return Xe($)})(e,async()=>ut(n.getItem(t)),async e=>{return n.setItem(t,(l=e(),it(l,(e,t)=>fe(t)?"":t)));var l},e=>{const l=l=>{l.storageArea===n&&l.key===t&&Re(()=>e(ut(l.newValue)),e)};return me.addEventListener(pl,l),l},e=>me.removeEventListener(pl,e),void 0,3,{getStorageName:()=>t});var t,n},void 0,async e=>{await e.load([{},{position:Tt(l),open:!!s}]),await e.startAutoSave()}),t(n,{children:[t("aside",{id:mt,style:{"--hue":r},children:[e(Nl,{s:o}),e(Hr,{s:o})]}),e("style",{children:An})]})};export{zr as Inspector};
|
|
Binary file
|