@tanstack/pacer-devtools 1.1.3 → 1.1.4
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/README.md +7 -7
- package/dist/PacerDevtools-C_K6wJJQ.js +1315 -0
- package/dist/PacerDevtools-DMClGMZE.js +1147 -0
- package/dist/index.d.ts +6 -8
- package/dist/index.js +5 -6
- package/dist/production/index.d.ts +19 -0
- package/dist/{core.js → production/index.js} +3 -6
- package/dist/production/server.js +6 -0
- package/dist/server.js +9 -0
- package/package.json +38 -5
- package/src/PacerDevtools.tsx +13 -4
- package/src/core.tsx +3 -4
- package/dist/PacerContextProvider.js +0 -142
- package/dist/PacerContextProvider.js.map +0 -1
- package/dist/PacerDevtools.js +0 -14
- package/dist/PacerDevtools.js.map +0 -1
- package/dist/components/ActionButtons.js +0 -154
- package/dist/components/ActionButtons.js.map +0 -1
- package/dist/components/DetailsPanel.js +0 -76
- package/dist/components/DetailsPanel.js.map +0 -1
- package/dist/components/Shell.js +0 -107
- package/dist/components/Shell.js.map +0 -1
- package/dist/components/StateHeader.js +0 -85
- package/dist/components/StateHeader.js.map +0 -1
- package/dist/components/UtilList.js +0 -72
- package/dist/components/UtilList.js.map +0 -1
- package/dist/components/util-groups.js +0 -57
- package/dist/components/util-groups.js.map +0 -1
- package/dist/core.d.ts +0 -24
- package/dist/core.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/production.d.ts +0 -2
- package/dist/production.js +0 -5
- package/dist/styles/tokens.js +0 -301
- package/dist/styles/tokens.js.map +0 -1
- package/dist/styles/use-styles.js +0 -364
- package/dist/styles/use-styles.js.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,16 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
//#region src/core.d.ts
|
|
2
|
+
interface PacerDevtoolsInit {}
|
|
3
|
+
//#endregion
|
|
3
4
|
//#region src/index.d.ts
|
|
4
5
|
declare const PacerDevtoolsCore: new () => {
|
|
5
6
|
"__#private@#isMounted": boolean;
|
|
6
7
|
"__#private@#isMounting": boolean;
|
|
7
|
-
"__#private@#
|
|
8
|
+
"__#private@#abortMount": boolean;
|
|
8
9
|
"__#private@#dispose"?: () => void;
|
|
9
|
-
|
|
10
|
-
"__#private@#ThemeProvider": any;
|
|
11
|
-
mount<T extends HTMLElement>(el: T, theme: "light" | "dark"): Promise<void>;
|
|
10
|
+
mount<T extends HTMLElement>(el: T, props: TanStackDevtoolsPluginProps): Promise<void>;
|
|
12
11
|
unmount(): void;
|
|
13
12
|
};
|
|
14
13
|
//#endregion
|
|
15
|
-
export { PacerDevtoolsCore, type PacerDevtoolsInit };
|
|
16
|
-
//# sourceMappingURL=index.d.ts.map
|
|
14
|
+
export { PacerDevtoolsCore, type PacerDevtoolsInit };
|
package/dist/index.js
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
"use client";
|
|
2
|
+
import { constructCoreClass } from "@tanstack/devtools-utils/solid";
|
|
3
|
+
//#region src/core.tsx
|
|
4
|
+
const [PacerDevtoolsCore$1, PacerDevtoolsCoreNoOp] = constructCoreClass(() => import("./PacerDevtools-C_K6wJJQ.js"));
|
|
5
|
+
//#endregion
|
|
5
6
|
//#region src/index.ts
|
|
6
7
|
const PacerDevtoolsCore = process.env.NODE_ENV !== "development" ? PacerDevtoolsCoreNoOp : PacerDevtoolsCore$1;
|
|
7
|
-
|
|
8
8
|
//#endregion
|
|
9
9
|
export { PacerDevtoolsCore };
|
|
10
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
//#region src/core.d.ts
|
|
2
|
+
interface PacerDevtoolsInit {}
|
|
3
|
+
declare const PacerDevtoolsCore: new () => {
|
|
4
|
+
"__#private@#isMounted": boolean;
|
|
5
|
+
"__#private@#isMounting": boolean;
|
|
6
|
+
"__#private@#abortMount": boolean;
|
|
7
|
+
"__#private@#dispose"?: () => void;
|
|
8
|
+
mount<T extends HTMLElement>(el: T, props: TanStackDevtoolsPluginProps): Promise<void>;
|
|
9
|
+
unmount(): void;
|
|
10
|
+
}, PacerDevtoolsCoreNoOp: new () => {
|
|
11
|
+
mount<T extends HTMLElement>(_el: T, _props: TanStackDevtoolsPluginProps): Promise<void>;
|
|
12
|
+
unmount(): void;
|
|
13
|
+
"__#private@#isMounted": boolean;
|
|
14
|
+
"__#private@#isMounting": boolean;
|
|
15
|
+
"__#private@#abortMount": boolean;
|
|
16
|
+
"__#private@#dispose"?: () => void;
|
|
17
|
+
};
|
|
18
|
+
//#endregion
|
|
19
|
+
export { PacerDevtoolsCore, type PacerDevtoolsInit };
|
|
@@ -1,9 +1,6 @@
|
|
|
1
|
+
"use client";
|
|
1
2
|
import { constructCoreClass } from "@tanstack/devtools-utils/solid";
|
|
2
|
-
import { lazy } from "solid-js";
|
|
3
|
-
|
|
4
3
|
//#region src/core.tsx
|
|
5
|
-
const [PacerDevtoolsCore, PacerDevtoolsCoreNoOp] = constructCoreClass(
|
|
6
|
-
|
|
4
|
+
const [PacerDevtoolsCore, PacerDevtoolsCoreNoOp] = constructCoreClass(() => import("../PacerDevtools-C_K6wJJQ.js"));
|
|
7
5
|
//#endregion
|
|
8
|
-
export { PacerDevtoolsCore
|
|
9
|
-
//# sourceMappingURL=core.js.map
|
|
6
|
+
export { PacerDevtoolsCore };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { constructCoreClass } from "@tanstack/devtools-utils/solid";
|
|
3
|
+
//#region src/core.tsx
|
|
4
|
+
const [PacerDevtoolsCore, PacerDevtoolsCoreNoOp] = constructCoreClass(() => import("../PacerDevtools-DMClGMZE.js"));
|
|
5
|
+
//#endregion
|
|
6
|
+
export { PacerDevtoolsCore };
|
package/dist/server.js
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { constructCoreClass } from "@tanstack/devtools-utils/solid";
|
|
3
|
+
//#region src/core.tsx
|
|
4
|
+
const [PacerDevtoolsCore$1, PacerDevtoolsCoreNoOp] = constructCoreClass(() => import("./PacerDevtools-DMClGMZE.js"));
|
|
5
|
+
//#endregion
|
|
6
|
+
//#region src/index.ts
|
|
7
|
+
const PacerDevtoolsCore = process.env.NODE_ENV !== "development" ? PacerDevtoolsCoreNoOp : PacerDevtoolsCore$1;
|
|
8
|
+
//#endregion
|
|
9
|
+
export { PacerDevtoolsCore };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tanstack/pacer-devtools",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.4",
|
|
4
4
|
"description": "Devtools for Pacer.",
|
|
5
5
|
"author": "Tanner Linsley",
|
|
6
6
|
"license": "MIT",
|
|
@@ -25,8 +25,38 @@
|
|
|
25
25
|
"type": "module",
|
|
26
26
|
"types": "./dist/index.d.ts",
|
|
27
27
|
"exports": {
|
|
28
|
-
".":
|
|
29
|
-
|
|
28
|
+
".": {
|
|
29
|
+
"workerd": {
|
|
30
|
+
"types": "./dist/index.d.ts",
|
|
31
|
+
"import": "./dist/server.js"
|
|
32
|
+
},
|
|
33
|
+
"browser": {
|
|
34
|
+
"types": "./dist/index.d.ts",
|
|
35
|
+
"import": "./dist/index.js"
|
|
36
|
+
},
|
|
37
|
+
"node": {
|
|
38
|
+
"types": "./dist/index.d.ts",
|
|
39
|
+
"import": "./dist/server.js"
|
|
40
|
+
},
|
|
41
|
+
"types": "./dist/index.d.ts",
|
|
42
|
+
"import": "./dist/index.js"
|
|
43
|
+
},
|
|
44
|
+
"./production": {
|
|
45
|
+
"workerd": {
|
|
46
|
+
"types": "./dist/production/index.d.ts",
|
|
47
|
+
"import": "./dist/production/server.js"
|
|
48
|
+
},
|
|
49
|
+
"browser": {
|
|
50
|
+
"types": "./dist/production/index.d.ts",
|
|
51
|
+
"import": "./dist/production/index.js"
|
|
52
|
+
},
|
|
53
|
+
"node": {
|
|
54
|
+
"types": "./dist/production/index.d.ts",
|
|
55
|
+
"import": "./dist/production/server.js"
|
|
56
|
+
},
|
|
57
|
+
"types": "./dist/production/index.d.ts",
|
|
58
|
+
"import": "./dist/production/index.js"
|
|
59
|
+
},
|
|
30
60
|
"./package.json": "./package.json"
|
|
31
61
|
},
|
|
32
62
|
"sideEffects": false,
|
|
@@ -41,15 +71,18 @@
|
|
|
41
71
|
"@tanstack/pacer": ">=0.16.4"
|
|
42
72
|
},
|
|
43
73
|
"dependencies": {
|
|
44
|
-
"@tanstack/devtools-ui": "
|
|
45
|
-
"@tanstack/devtools-utils": "^0.
|
|
74
|
+
"@tanstack/devtools-ui": "0.5.1",
|
|
75
|
+
"@tanstack/devtools-utils": "^0.4.0",
|
|
46
76
|
"@tanstack/solid-store": "^0.8.1",
|
|
47
77
|
"clsx": "^2.1.1",
|
|
78
|
+
"csstype": "^3.0.10",
|
|
48
79
|
"dayjs": "^1.11.19",
|
|
49
80
|
"goober": "^2.1.18",
|
|
50
81
|
"solid-js": "^1.9.11"
|
|
51
82
|
},
|
|
52
83
|
"devDependencies": {
|
|
84
|
+
"rolldown-plugin-solid": "^0.2.1",
|
|
85
|
+
"tsdown": "^0.21.1",
|
|
53
86
|
"vite-plugin-solid": "^2.11.10"
|
|
54
87
|
},
|
|
55
88
|
"scripts": {
|
package/src/PacerDevtools.tsx
CHANGED
|
@@ -1,10 +1,19 @@
|
|
|
1
|
+
import { ThemeContextProvider } from '@tanstack/devtools-ui'
|
|
1
2
|
import { PacerContextProvider } from './PacerContextProvider'
|
|
2
3
|
import { Shell } from './components/Shell'
|
|
3
4
|
|
|
4
|
-
|
|
5
|
+
import type { TanStackDevtoolsTheme } from '@tanstack/devtools-ui'
|
|
6
|
+
|
|
7
|
+
interface PacerDevtools {
|
|
8
|
+
theme: TanStackDevtoolsTheme
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export default function PacerDevtools(props: PacerDevtools) {
|
|
5
12
|
return (
|
|
6
|
-
<
|
|
7
|
-
<
|
|
8
|
-
|
|
13
|
+
<ThemeContextProvider theme={props.theme}>
|
|
14
|
+
<PacerContextProvider>
|
|
15
|
+
<Shell />
|
|
16
|
+
</PacerContextProvider>
|
|
17
|
+
</ThemeContextProvider>
|
|
9
18
|
)
|
|
10
19
|
}
|
package/src/core.tsx
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { constructCoreClass } from '@tanstack/devtools-utils/solid'
|
|
2
|
-
import { lazy } from 'solid-js'
|
|
3
|
-
|
|
4
|
-
const Component = lazy(() => import('./PacerDevtools'))
|
|
5
2
|
|
|
6
3
|
export interface PacerDevtoolsInit {}
|
|
7
4
|
|
|
8
|
-
const [PacerDevtoolsCore, PacerDevtoolsCoreNoOp] = constructCoreClass(
|
|
5
|
+
const [PacerDevtoolsCore, PacerDevtoolsCoreNoOp] = constructCoreClass(
|
|
6
|
+
() => import('./PacerDevtools'),
|
|
7
|
+
)
|
|
9
8
|
|
|
10
9
|
export { PacerDevtoolsCore, PacerDevtoolsCoreNoOp }
|
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
import { createContext, createEffect, onCleanup, useContext } from "solid-js";
|
|
2
|
-
import { createComponent } from "solid-js/web";
|
|
3
|
-
import { createStore } from "solid-js/store";
|
|
4
|
-
import { pacerEventClient } from "@tanstack/pacer/event-client";
|
|
5
|
-
|
|
6
|
-
//#region src/PacerContextProvider.tsx
|
|
7
|
-
const initialPacerDevtoolsStore = {
|
|
8
|
-
asyncBatchers: [],
|
|
9
|
-
asyncDebouncers: [],
|
|
10
|
-
asyncQueuers: [],
|
|
11
|
-
asyncRateLimiters: [],
|
|
12
|
-
asyncThrottlers: [],
|
|
13
|
-
batchers: [],
|
|
14
|
-
debouncers: [],
|
|
15
|
-
queuers: [],
|
|
16
|
-
rateLimiters: [],
|
|
17
|
-
throttlers: [],
|
|
18
|
-
lastUpdatedByKey: {}
|
|
19
|
-
};
|
|
20
|
-
const PacerDevtoolsContext = createContext([initialPacerDevtoolsStore, () => {}]);
|
|
21
|
-
const updateOrAddToArray = (oldArray, newItem) => {
|
|
22
|
-
const index = oldArray.findIndex((item) => item.key === newItem.key);
|
|
23
|
-
if (index !== -1) return oldArray.map((item, i) => i === index ? newItem : item);
|
|
24
|
-
return [...oldArray, newItem];
|
|
25
|
-
};
|
|
26
|
-
function PacerContextProvider(props) {
|
|
27
|
-
const [store, setStore] = createStore(initialPacerDevtoolsStore);
|
|
28
|
-
createEffect(() => {
|
|
29
|
-
onCleanup(pacerEventClient.onAllPluginEvents((_e) => {
|
|
30
|
-
const e = _e;
|
|
31
|
-
switch (e.type) {
|
|
32
|
-
case "pacer:AsyncBatcher":
|
|
33
|
-
setStore({
|
|
34
|
-
asyncBatchers: updateOrAddToArray(store.asyncBatchers, e.payload),
|
|
35
|
-
lastUpdatedByKey: {
|
|
36
|
-
...store.lastUpdatedByKey,
|
|
37
|
-
[e.payload.key]: Date.now()
|
|
38
|
-
}
|
|
39
|
-
});
|
|
40
|
-
break;
|
|
41
|
-
case "pacer:AsyncDebouncer":
|
|
42
|
-
setStore({
|
|
43
|
-
asyncDebouncers: updateOrAddToArray(store.asyncDebouncers, e.payload),
|
|
44
|
-
lastUpdatedByKey: {
|
|
45
|
-
...store.lastUpdatedByKey,
|
|
46
|
-
[e.payload.key]: Date.now()
|
|
47
|
-
}
|
|
48
|
-
});
|
|
49
|
-
break;
|
|
50
|
-
case "pacer:AsyncQueuer":
|
|
51
|
-
setStore({
|
|
52
|
-
asyncQueuers: updateOrAddToArray(store.asyncQueuers, e.payload),
|
|
53
|
-
lastUpdatedByKey: {
|
|
54
|
-
...store.lastUpdatedByKey,
|
|
55
|
-
[e.payload.key]: Date.now()
|
|
56
|
-
}
|
|
57
|
-
});
|
|
58
|
-
break;
|
|
59
|
-
case "pacer:AsyncRateLimiter":
|
|
60
|
-
setStore({
|
|
61
|
-
asyncRateLimiters: updateOrAddToArray(store.asyncRateLimiters, e.payload),
|
|
62
|
-
lastUpdatedByKey: {
|
|
63
|
-
...store.lastUpdatedByKey,
|
|
64
|
-
[e.payload.key]: Date.now()
|
|
65
|
-
}
|
|
66
|
-
});
|
|
67
|
-
break;
|
|
68
|
-
case "pacer:AsyncThrottler":
|
|
69
|
-
setStore({
|
|
70
|
-
asyncThrottlers: updateOrAddToArray(store.asyncThrottlers, e.payload),
|
|
71
|
-
lastUpdatedByKey: {
|
|
72
|
-
...store.lastUpdatedByKey,
|
|
73
|
-
[e.payload.key]: Date.now()
|
|
74
|
-
}
|
|
75
|
-
});
|
|
76
|
-
break;
|
|
77
|
-
case "pacer:Batcher":
|
|
78
|
-
setStore({
|
|
79
|
-
batchers: updateOrAddToArray(store.batchers, e.payload),
|
|
80
|
-
lastUpdatedByKey: {
|
|
81
|
-
...store.lastUpdatedByKey,
|
|
82
|
-
[e.payload.key]: Date.now()
|
|
83
|
-
}
|
|
84
|
-
});
|
|
85
|
-
break;
|
|
86
|
-
case "pacer:Debouncer":
|
|
87
|
-
setStore({
|
|
88
|
-
debouncers: updateOrAddToArray(store.debouncers, e.payload),
|
|
89
|
-
lastUpdatedByKey: {
|
|
90
|
-
...store.lastUpdatedByKey,
|
|
91
|
-
[e.payload.key]: Date.now()
|
|
92
|
-
}
|
|
93
|
-
});
|
|
94
|
-
break;
|
|
95
|
-
case "pacer:Queuer":
|
|
96
|
-
setStore({
|
|
97
|
-
queuers: updateOrAddToArray(store.queuers, e.payload),
|
|
98
|
-
lastUpdatedByKey: {
|
|
99
|
-
...store.lastUpdatedByKey,
|
|
100
|
-
[e.payload.key]: Date.now()
|
|
101
|
-
}
|
|
102
|
-
});
|
|
103
|
-
break;
|
|
104
|
-
case "pacer:RateLimiter":
|
|
105
|
-
setStore({
|
|
106
|
-
rateLimiters: updateOrAddToArray(store.rateLimiters, e.payload),
|
|
107
|
-
lastUpdatedByKey: {
|
|
108
|
-
...store.lastUpdatedByKey,
|
|
109
|
-
[e.payload.key]: Date.now()
|
|
110
|
-
}
|
|
111
|
-
});
|
|
112
|
-
break;
|
|
113
|
-
case "pacer:Throttler":
|
|
114
|
-
setStore({
|
|
115
|
-
throttlers: updateOrAddToArray(store.throttlers, e.payload),
|
|
116
|
-
lastUpdatedByKey: {
|
|
117
|
-
...store.lastUpdatedByKey,
|
|
118
|
-
[e.payload.key]: Date.now()
|
|
119
|
-
}
|
|
120
|
-
});
|
|
121
|
-
break;
|
|
122
|
-
}
|
|
123
|
-
}));
|
|
124
|
-
});
|
|
125
|
-
return createComponent(PacerDevtoolsContext.Provider, {
|
|
126
|
-
value: [store, setStore],
|
|
127
|
-
get children() {
|
|
128
|
-
return props.children;
|
|
129
|
-
}
|
|
130
|
-
});
|
|
131
|
-
}
|
|
132
|
-
const usePacerDevtoolsContext = () => {
|
|
133
|
-
return useContext(PacerDevtoolsContext);
|
|
134
|
-
};
|
|
135
|
-
const usePacerDevtoolsState = () => {
|
|
136
|
-
const [state] = usePacerDevtoolsContext();
|
|
137
|
-
return state;
|
|
138
|
-
};
|
|
139
|
-
|
|
140
|
-
//#endregion
|
|
141
|
-
export { PacerContextProvider, usePacerDevtoolsState };
|
|
142
|
-
//# sourceMappingURL=PacerContextProvider.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PacerContextProvider.js","names":["createStore","createContext","createEffect","onCleanup","useContext","pacerEventClient","AsyncBatcher","AsyncDebouncer","AsyncQueuer","AsyncRateLimiter","AsyncThrottler","Batcher","Debouncer","Queuer","RateLimiter","Throttler","PacerDevtoolsContextType","asyncBatchers","Array","asyncDebouncers","asyncQueuers","asyncRateLimiters","asyncThrottlers","batchers","debouncers","queuers","rateLimiters","throttlers","lastUpdatedByKey","Record","initialPacerDevtoolsStore","PacerDevtoolsContext","newState","Partial","updateOrAddToArray","key","oldArray","T","newItem","index","findIndex","item","map","i","PacerContextProvider","props","children","store","setStore","cleanup","onAllPluginEvents","_e","e","type","payload","Date","now","_$createComponent","Provider","value","usePacerDevtoolsContext","context","usePacerDevtoolsState","state"],"sources":["../src/PacerContextProvider.tsx"],"sourcesContent":["import { createStore } from 'solid-js/store'\nimport { createContext, createEffect, onCleanup, useContext } from 'solid-js'\nimport { pacerEventClient } from '@tanstack/pacer/event-client'\nimport type {\n AsyncBatcher,\n AsyncDebouncer,\n AsyncQueuer,\n AsyncRateLimiter,\n AsyncThrottler,\n Batcher,\n Debouncer,\n Queuer,\n RateLimiter,\n Throttler,\n} from '@tanstack/pacer'\n\ninterface PacerDevtoolsContextType {\n asyncBatchers: Array<AsyncBatcher<any>>\n asyncDebouncers: Array<AsyncDebouncer<any>>\n asyncQueuers: Array<AsyncQueuer<any>>\n asyncRateLimiters: Array<AsyncRateLimiter<any>>\n asyncThrottlers: Array<AsyncThrottler<any>>\n batchers: Array<Batcher<any>>\n debouncers: Array<Debouncer<any>>\n queuers: Array<Queuer<any>>\n rateLimiters: Array<RateLimiter<any>>\n throttlers: Array<Throttler<any>>\n lastUpdatedByKey: Record<string, number>\n}\n\nconst initialPacerDevtoolsStore = {\n asyncBatchers: [],\n asyncDebouncers: [],\n asyncQueuers: [],\n asyncRateLimiters: [],\n asyncThrottlers: [],\n batchers: [],\n debouncers: [],\n queuers: [],\n rateLimiters: [],\n throttlers: [],\n lastUpdatedByKey: {},\n}\n\nconst PacerDevtoolsContext = createContext<\n [\n PacerDevtoolsContextType,\n (newState: Partial<PacerDevtoolsContextType>) => void,\n ]\n>([initialPacerDevtoolsStore, () => {}])\n\nconst updateOrAddToArray = <T extends { key: string }>(\n oldArray: Array<T>,\n newItem: T,\n) => {\n const index = oldArray.findIndex((item) => item.key === newItem.key)\n if (index !== -1) {\n // Update existing item\n return oldArray.map((item, i) => (i === index ? newItem : item))\n }\n // Add new item\n return [...oldArray, newItem]\n}\n\nexport function PacerContextProvider(props: { children: any }) {\n const [store, setStore] = createStore<PacerDevtoolsContextType>(\n initialPacerDevtoolsStore,\n )\n\n createEffect(() => {\n const cleanup = pacerEventClient.onAllPluginEvents((_e) => {\n const e = _e as unknown as { type: string; payload: any }\n switch (e.type) {\n case 'pacer:AsyncBatcher': {\n setStore({\n asyncBatchers: updateOrAddToArray(store.asyncBatchers, e.payload),\n lastUpdatedByKey: {\n ...store.lastUpdatedByKey,\n [e.payload.key]: Date.now(),\n },\n })\n break\n }\n case 'pacer:AsyncDebouncer': {\n setStore({\n asyncDebouncers: updateOrAddToArray(\n store.asyncDebouncers,\n e.payload,\n ),\n lastUpdatedByKey: {\n ...store.lastUpdatedByKey,\n [e.payload.key]: Date.now(),\n },\n })\n break\n }\n case 'pacer:AsyncQueuer': {\n setStore({\n asyncQueuers: updateOrAddToArray(store.asyncQueuers, e.payload),\n lastUpdatedByKey: {\n ...store.lastUpdatedByKey,\n [e.payload.key]: Date.now(),\n },\n })\n break\n }\n case 'pacer:AsyncRateLimiter': {\n setStore({\n asyncRateLimiters: updateOrAddToArray(\n store.asyncRateLimiters,\n e.payload,\n ),\n lastUpdatedByKey: {\n ...store.lastUpdatedByKey,\n [e.payload.key]: Date.now(),\n },\n })\n break\n }\n case 'pacer:AsyncThrottler': {\n setStore({\n asyncThrottlers: updateOrAddToArray(\n store.asyncThrottlers,\n e.payload,\n ),\n lastUpdatedByKey: {\n ...store.lastUpdatedByKey,\n [e.payload.key]: Date.now(),\n },\n })\n break\n }\n case 'pacer:Batcher': {\n setStore({\n batchers: updateOrAddToArray(store.batchers, e.payload),\n lastUpdatedByKey: {\n ...store.lastUpdatedByKey,\n [e.payload.key]: Date.now(),\n },\n })\n break\n }\n case 'pacer:Debouncer': {\n setStore({\n debouncers: updateOrAddToArray(store.debouncers, e.payload),\n lastUpdatedByKey: {\n ...store.lastUpdatedByKey,\n [e.payload.key]: Date.now(),\n },\n })\n break\n }\n case 'pacer:Queuer': {\n setStore({\n queuers: updateOrAddToArray(store.queuers, e.payload),\n lastUpdatedByKey: {\n ...store.lastUpdatedByKey,\n [e.payload.key]: Date.now(),\n },\n })\n break\n }\n case 'pacer:RateLimiter': {\n setStore({\n rateLimiters: updateOrAddToArray(store.rateLimiters, e.payload),\n lastUpdatedByKey: {\n ...store.lastUpdatedByKey,\n [e.payload.key]: Date.now(),\n },\n })\n break\n }\n case 'pacer:Throttler': {\n setStore({\n throttlers: updateOrAddToArray(store.throttlers, e.payload),\n lastUpdatedByKey: {\n ...store.lastUpdatedByKey,\n [e.payload.key]: Date.now(),\n },\n })\n break\n }\n }\n })\n onCleanup(cleanup)\n })\n return (\n <PacerDevtoolsContext.Provider value={[store, setStore]}>\n {props.children}\n </PacerDevtoolsContext.Provider>\n )\n}\n\nconst usePacerDevtoolsContext = () => {\n const context = useContext(PacerDevtoolsContext)\n\n return context\n}\n\nexport const usePacerDevtoolsState = () => {\n const [state] = usePacerDevtoolsContext()\n return state\n}\n"],"mappings":"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"}
|
package/dist/PacerDevtools.js
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { PacerContextProvider } from "./PacerContextProvider.js";
|
|
2
|
-
import { Shell } from "./components/Shell.js";
|
|
3
|
-
import { createComponent } from "solid-js/web";
|
|
4
|
-
|
|
5
|
-
//#region src/PacerDevtools.tsx
|
|
6
|
-
function PacerDevtools() {
|
|
7
|
-
return createComponent(PacerContextProvider, { get children() {
|
|
8
|
-
return createComponent(Shell, {});
|
|
9
|
-
} });
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
//#endregion
|
|
13
|
-
export { PacerDevtools as default };
|
|
14
|
-
//# sourceMappingURL=PacerDevtools.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PacerDevtools.js","names":["PacerContextProvider","Shell","PacerDevtools","_$createComponent","children"],"sources":["../src/PacerDevtools.tsx"],"sourcesContent":["import { PacerContextProvider } from './PacerContextProvider'\nimport { Shell } from './components/Shell'\n\nexport default function PacerDevtools() {\n return (\n <PacerContextProvider>\n <Shell />\n </PacerContextProvider>\n )\n}\n"],"mappings":";;;;;AAGA,SAAwBE,gBAAgB;AACtC,QAAAC,gBACGH,sBAAoB,EAAA,IAAAI,WAAA;AAAA,SAAAD,gBAClBF,OAAK,EAAA,CAAA;IAAA,CAAA"}
|
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
import { useStyles } from "../styles/use-styles.js";
|
|
2
|
-
import { className, delegateEvents, effect, insert, template } from "solid-js/web";
|
|
3
|
-
import { pacerEventClient } from "@tanstack/pacer";
|
|
4
|
-
|
|
5
|
-
//#region src/components/ActionButtons.tsx
|
|
6
|
-
var _tmpl$ = /* @__PURE__ */ template(`<div>No actions available for this util`), _tmpl$2 = /* @__PURE__ */ template(`<div>`), _tmpl$3 = /* @__PURE__ */ template(`<button><span>`), _tmpl$4 = /* @__PURE__ */ template(`<button><span></span>Flush`), _tmpl$5 = /* @__PURE__ */ template(`<button><span></span>Cancel`), _tmpl$6 = /* @__PURE__ */ template(`<button><span></span>Reset`), _tmpl$7 = /* @__PURE__ */ template(`<button><span></span>Clear`);
|
|
7
|
-
function ActionButtons(props) {
|
|
8
|
-
const styles = useStyles();
|
|
9
|
-
const utilInstance = props.instance;
|
|
10
|
-
const utilState = utilInstance?.store?.state;
|
|
11
|
-
const hasPending = utilState && "isPending" in utilState;
|
|
12
|
-
const hasEmpty = utilState && "isEmpty" in utilState;
|
|
13
|
-
const isPending = hasPending ? !!utilState.isPending : false;
|
|
14
|
-
const isEmpty = hasEmpty ? utilState.isEmpty : void 0;
|
|
15
|
-
const hasFlush = typeof utilInstance.flush === "function";
|
|
16
|
-
const hasCancel = typeof utilInstance.cancel === "function";
|
|
17
|
-
const hasReset = typeof utilInstance.reset === "function";
|
|
18
|
-
const hasClear = typeof utilInstance.clear === "function";
|
|
19
|
-
const hasStart = typeof utilInstance.start === "function";
|
|
20
|
-
const hasStop = typeof utilInstance.stop === "function";
|
|
21
|
-
const hasStartStop = hasStart && hasStop;
|
|
22
|
-
const isRunning = utilState?.isRunning ?? true;
|
|
23
|
-
if (!hasPending && !hasFlush && !hasCancel && !hasReset && !hasClear) return (() => {
|
|
24
|
-
var _el$ = _tmpl$();
|
|
25
|
-
effect(() => className(_el$, styles().sectionEmpty));
|
|
26
|
-
return _el$;
|
|
27
|
-
})();
|
|
28
|
-
const emitName = `d-${props.utilName}`;
|
|
29
|
-
return (() => {
|
|
30
|
-
var _el$2 = _tmpl$2();
|
|
31
|
-
insert(_el$2, hasPending && (() => {
|
|
32
|
-
var _el$3 = _tmpl$3(), _el$4 = _el$3.firstChild;
|
|
33
|
-
_el$3.$$mousedown = () => {
|
|
34
|
-
const next = !isPending;
|
|
35
|
-
utilInstance.store.setState((prev) => ({
|
|
36
|
-
...prev,
|
|
37
|
-
isPending: next
|
|
38
|
-
}));
|
|
39
|
-
pacerEventClient.emit(emitName, utilInstance);
|
|
40
|
-
};
|
|
41
|
-
insert(_el$3, isPending ? "Restore Pending" : "Trigger Pending", null);
|
|
42
|
-
effect((_p$) => {
|
|
43
|
-
var _v$ = styles().actionButton, _v$2 = styles().actionDotBlue;
|
|
44
|
-
_v$ !== _p$.e && className(_el$3, _p$.e = _v$);
|
|
45
|
-
_v$2 !== _p$.t && className(_el$4, _p$.t = _v$2);
|
|
46
|
-
return _p$;
|
|
47
|
-
}, {
|
|
48
|
-
e: void 0,
|
|
49
|
-
t: void 0
|
|
50
|
-
});
|
|
51
|
-
return _el$3;
|
|
52
|
-
})(), null);
|
|
53
|
-
insert(_el$2, hasFlush && (() => {
|
|
54
|
-
var _el$5 = _tmpl$4(), _el$6 = _el$5.firstChild;
|
|
55
|
-
_el$5.$$mousedown = () => {
|
|
56
|
-
utilInstance.flush();
|
|
57
|
-
pacerEventClient.emit(emitName, utilInstance);
|
|
58
|
-
};
|
|
59
|
-
effect((_p$) => {
|
|
60
|
-
var _v$3 = styles().actionButton, _v$4 = props.utilName.toLowerCase().includes("debouncer") && !isPending || props.utilName.toLowerCase().includes("throttler") && !isPending || props.utilName.toLowerCase().includes("batcher") && isEmpty || props.utilName.toLowerCase().includes("queuer") && isEmpty, _v$5 = styles().actionDotGreen;
|
|
61
|
-
_v$3 !== _p$.e && className(_el$5, _p$.e = _v$3);
|
|
62
|
-
_v$4 !== _p$.t && (_el$5.disabled = _p$.t = _v$4);
|
|
63
|
-
_v$5 !== _p$.a && className(_el$6, _p$.a = _v$5);
|
|
64
|
-
return _p$;
|
|
65
|
-
}, {
|
|
66
|
-
e: void 0,
|
|
67
|
-
t: void 0,
|
|
68
|
-
a: void 0
|
|
69
|
-
});
|
|
70
|
-
return _el$5;
|
|
71
|
-
})(), null);
|
|
72
|
-
insert(_el$2, hasCancel && (() => {
|
|
73
|
-
var _el$7 = _tmpl$5(), _el$8 = _el$7.firstChild;
|
|
74
|
-
_el$7.$$mousedown = () => {
|
|
75
|
-
utilInstance.cancel();
|
|
76
|
-
pacerEventClient.emit(emitName, utilInstance);
|
|
77
|
-
};
|
|
78
|
-
effect((_p$) => {
|
|
79
|
-
var _v$6 = styles().actionButton, _v$7 = props.utilName.toLowerCase().includes("debouncer") && !isPending || props.utilName.toLowerCase().includes("throttler") && !isPending || props.utilName.toLowerCase().includes("batcher") && isEmpty || props.utilName.toLowerCase().includes("queuer") && isEmpty, _v$8 = styles().actionDotRed;
|
|
80
|
-
_v$6 !== _p$.e && className(_el$7, _p$.e = _v$6);
|
|
81
|
-
_v$7 !== _p$.t && (_el$7.disabled = _p$.t = _v$7);
|
|
82
|
-
_v$8 !== _p$.a && className(_el$8, _p$.a = _v$8);
|
|
83
|
-
return _p$;
|
|
84
|
-
}, {
|
|
85
|
-
e: void 0,
|
|
86
|
-
t: void 0,
|
|
87
|
-
a: void 0
|
|
88
|
-
});
|
|
89
|
-
return _el$7;
|
|
90
|
-
})(), null);
|
|
91
|
-
insert(_el$2, hasReset && (() => {
|
|
92
|
-
var _el$9 = _tmpl$6(), _el$0 = _el$9.firstChild;
|
|
93
|
-
_el$9.$$mousedown = () => {
|
|
94
|
-
utilInstance.reset();
|
|
95
|
-
pacerEventClient.emit(emitName, utilInstance);
|
|
96
|
-
};
|
|
97
|
-
effect((_p$) => {
|
|
98
|
-
var _v$9 = styles().actionButton, _v$0 = styles().actionDotYellow;
|
|
99
|
-
_v$9 !== _p$.e && className(_el$9, _p$.e = _v$9);
|
|
100
|
-
_v$0 !== _p$.t && className(_el$0, _p$.t = _v$0);
|
|
101
|
-
return _p$;
|
|
102
|
-
}, {
|
|
103
|
-
e: void 0,
|
|
104
|
-
t: void 0
|
|
105
|
-
});
|
|
106
|
-
return _el$9;
|
|
107
|
-
})(), null);
|
|
108
|
-
insert(_el$2, hasClear && (() => {
|
|
109
|
-
var _el$1 = _tmpl$7(), _el$10 = _el$1.firstChild;
|
|
110
|
-
_el$1.$$mousedown = () => {
|
|
111
|
-
utilInstance.clear();
|
|
112
|
-
pacerEventClient.emit(emitName, utilInstance);
|
|
113
|
-
};
|
|
114
|
-
effect((_p$) => {
|
|
115
|
-
var _v$1 = styles().actionButton, _v$10 = props.utilName.toLowerCase().includes("batcher") && isEmpty || props.utilName.toLowerCase().includes("queuer") && isEmpty, _v$11 = styles().actionDotOrange;
|
|
116
|
-
_v$1 !== _p$.e && className(_el$1, _p$.e = _v$1);
|
|
117
|
-
_v$10 !== _p$.t && (_el$1.disabled = _p$.t = _v$10);
|
|
118
|
-
_v$11 !== _p$.a && className(_el$10, _p$.a = _v$11);
|
|
119
|
-
return _p$;
|
|
120
|
-
}, {
|
|
121
|
-
e: void 0,
|
|
122
|
-
t: void 0,
|
|
123
|
-
a: void 0
|
|
124
|
-
});
|
|
125
|
-
return _el$1;
|
|
126
|
-
})(), null);
|
|
127
|
-
insert(_el$2, hasStartStop && (() => {
|
|
128
|
-
var _el$11 = _tmpl$3(), _el$12 = _el$11.firstChild;
|
|
129
|
-
_el$11.$$mousedown = () => {
|
|
130
|
-
if (isRunning) utilInstance.stop();
|
|
131
|
-
else utilInstance.start();
|
|
132
|
-
pacerEventClient.emit(emitName, utilInstance);
|
|
133
|
-
};
|
|
134
|
-
insert(_el$11, isRunning ? "Stop" : "Start", null);
|
|
135
|
-
effect((_p$) => {
|
|
136
|
-
var _v$12 = styles().actionButton, _v$13 = styles().actionDotPurple;
|
|
137
|
-
_v$12 !== _p$.e && className(_el$11, _p$.e = _v$12);
|
|
138
|
-
_v$13 !== _p$.t && className(_el$12, _p$.t = _v$13);
|
|
139
|
-
return _p$;
|
|
140
|
-
}, {
|
|
141
|
-
e: void 0,
|
|
142
|
-
t: void 0
|
|
143
|
-
});
|
|
144
|
-
return _el$11;
|
|
145
|
-
})(), null);
|
|
146
|
-
effect(() => className(_el$2, styles().actionsRow));
|
|
147
|
-
return _el$2;
|
|
148
|
-
})();
|
|
149
|
-
}
|
|
150
|
-
delegateEvents(["mousedown"]);
|
|
151
|
-
|
|
152
|
-
//#endregion
|
|
153
|
-
export { ActionButtons };
|
|
154
|
-
//# sourceMappingURL=ActionButtons.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ActionButtons.js","names":["pacerEventClient","useStyles","PacerEventName","ActionButtonsProps","instance","utilName","ActionButtons","props","styles","utilInstance","utilState","store","state","hasPending","hasEmpty","isPending","isEmpty","undefined","hasFlush","flush","hasCancel","cancel","hasReset","reset","hasClear","clear","hasStart","start","hasStop","stop","hasStartStop","isRunning","_el$","_tmpl$","_$effect","_$className","sectionEmpty","emitName","_el$2","_tmpl$2","_$insert","_el$3","_tmpl$3","_el$4","firstChild","$$mousedown","next","setState","prev","emit","_p$","_v$","actionButton","_v$2","actionDotBlue","e","t","_el$5","_tmpl$4","_el$6","_v$3","_v$4","toLowerCase","includes","_v$5","actionDotGreen","disabled","a","_el$7","_tmpl$5","_el$8","_v$6","_v$7","_v$8","actionDotRed","_el$9","_tmpl$6","_el$0","_v$9","_v$0","actionDotYellow","_el$1","_tmpl$7","_el$10","_v$1","_v$10","_v$11","actionDotOrange","_el$11","_el$12","_v$12","_v$13","actionDotPurple","actionsRow","_$delegateEvents"],"sources":["../../src/components/ActionButtons.tsx"],"sourcesContent":["import { pacerEventClient } from '@tanstack/pacer'\nimport { useStyles } from '../styles/use-styles'\nimport type { PacerEventName } from '@tanstack/pacer'\n\ntype ActionButtonsProps = {\n instance: any\n utilName: string\n}\n\nexport function ActionButtons(props: ActionButtonsProps) {\n const styles = useStyles()\n const utilInstance = props.instance\n const utilState = utilInstance?.store?.state\n const hasPending = utilState && 'isPending' in utilState\n const hasEmpty = utilState && 'isEmpty' in utilState\n const isPending = hasPending ? !!utilState.isPending : false\n const isEmpty = hasEmpty ? utilState.isEmpty : undefined\n\n const hasFlush = typeof utilInstance.flush === 'function'\n const hasCancel = typeof utilInstance.cancel === 'function'\n const hasReset = typeof utilInstance.reset === 'function'\n const hasClear = typeof utilInstance.clear === 'function'\n const hasStart = typeof utilInstance.start === 'function'\n const hasStop = typeof utilInstance.stop === 'function'\n const hasStartStop = hasStart && hasStop\n\n const isRunning = utilState?.isRunning ?? true\n\n if (!hasPending && !hasFlush && !hasCancel && !hasReset && !hasClear) {\n return (\n <div class={styles().sectionEmpty}>\n No actions available for this util\n </div>\n )\n }\n\n const emitName = `d-${props.utilName}` as PacerEventName\n\n return (\n <div class={styles().actionsRow}>\n {hasPending && (\n <button\n class={styles().actionButton}\n onMouseDown={() => {\n const next = !isPending\n utilInstance.store.setState((prev: any) => ({\n ...prev,\n isPending: next,\n }))\n pacerEventClient.emit(emitName, utilInstance)\n }}\n >\n <span class={styles().actionDotBlue} />\n {isPending ? 'Restore Pending' : 'Trigger Pending'}\n </button>\n )}\n {hasFlush && (\n <button\n class={styles().actionButton}\n onMouseDown={() => {\n utilInstance.flush()\n pacerEventClient.emit(emitName, utilInstance)\n }}\n disabled={\n (props.utilName.toLowerCase().includes('debouncer') &&\n !isPending) ||\n (props.utilName.toLowerCase().includes('throttler') &&\n !isPending) ||\n (props.utilName.toLowerCase().includes('batcher') && isEmpty) ||\n (props.utilName.toLowerCase().includes('queuer') && isEmpty)\n }\n >\n <span class={styles().actionDotGreen} />\n Flush\n </button>\n )}\n {hasCancel && (\n <button\n class={styles().actionButton}\n onMouseDown={() => {\n utilInstance.cancel()\n pacerEventClient.emit(emitName, utilInstance)\n }}\n disabled={\n (props.utilName.toLowerCase().includes('debouncer') &&\n !isPending) ||\n (props.utilName.toLowerCase().includes('throttler') &&\n !isPending) ||\n (props.utilName.toLowerCase().includes('batcher') && isEmpty) ||\n (props.utilName.toLowerCase().includes('queuer') && isEmpty)\n }\n >\n <span class={styles().actionDotRed} />\n Cancel\n </button>\n )}\n {hasReset && (\n <button\n class={styles().actionButton}\n onMouseDown={() => {\n utilInstance.reset()\n pacerEventClient.emit(emitName, utilInstance)\n }}\n >\n <span class={styles().actionDotYellow} />\n Reset\n </button>\n )}\n {hasClear && (\n <button\n class={styles().actionButton}\n onMouseDown={() => {\n utilInstance.clear()\n pacerEventClient.emit(emitName, utilInstance)\n }}\n disabled={\n (props.utilName.toLowerCase().includes('batcher') && isEmpty) ||\n (props.utilName.toLowerCase().includes('queuer') && isEmpty)\n }\n >\n <span class={styles().actionDotOrange} />\n Clear\n </button>\n )}\n {hasStartStop && (\n <button\n class={styles().actionButton}\n onMouseDown={() => {\n if (isRunning) {\n utilInstance.stop()\n } else {\n utilInstance.start()\n }\n pacerEventClient.emit(emitName, utilInstance)\n }}\n >\n <span class={styles().actionDotPurple} />\n {isRunning ? 'Stop' : 'Start'}\n </button>\n )}\n </div>\n )\n}\n"],"mappings":"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"}
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import { useStyles } from "../styles/use-styles.js";
|
|
2
|
-
import { ActionButtons } from "./ActionButtons.js";
|
|
3
|
-
import { StateHeader } from "./StateHeader.js";
|
|
4
|
-
import { className, createComponent, effect, insert, template } from "solid-js/web";
|
|
5
|
-
import { JsonTree } from "@tanstack/devtools-ui";
|
|
6
|
-
|
|
7
|
-
//#region src/components/DetailsPanel.tsx
|
|
8
|
-
var _tmpl$ = /* @__PURE__ */ template(`<div>`), _tmpl$2 = /* @__PURE__ */ template(`<div>Select a util from the left panel to view its state`), _tmpl$3 = /* @__PURE__ */ template(`<div><div><div>Actions</div></div><div><div>State</div><div></div></div><div><div>Options</div><div>`);
|
|
9
|
-
function DetailsPanel(props) {
|
|
10
|
-
const styles = useStyles();
|
|
11
|
-
return (() => {
|
|
12
|
-
var _el$ = _tmpl$();
|
|
13
|
-
insert(_el$, () => {
|
|
14
|
-
const entry = props.selectedInstance();
|
|
15
|
-
if (!entry) return (() => {
|
|
16
|
-
var _el$2 = _tmpl$2();
|
|
17
|
-
effect(() => className(_el$2, styles().noSelection));
|
|
18
|
-
return _el$2;
|
|
19
|
-
})();
|
|
20
|
-
return [createComponent(StateHeader, {
|
|
21
|
-
get selectedInstance() {
|
|
22
|
-
return props.selectedInstance;
|
|
23
|
-
},
|
|
24
|
-
get utilState() {
|
|
25
|
-
return props.utilState;
|
|
26
|
-
}
|
|
27
|
-
}), (() => {
|
|
28
|
-
var _el$3 = _tmpl$3(), _el$4 = _el$3.firstChild, _el$5 = _el$4.firstChild, _el$6 = _el$4.nextSibling, _el$7 = _el$6.firstChild, _el$8 = _el$7.nextSibling, _el$9 = _el$6.nextSibling, _el$0 = _el$9.firstChild, _el$1 = _el$0.nextSibling;
|
|
29
|
-
insert(_el$4, createComponent(ActionButtons, {
|
|
30
|
-
get instance() {
|
|
31
|
-
return entry.instance;
|
|
32
|
-
},
|
|
33
|
-
get utilName() {
|
|
34
|
-
return entry.type;
|
|
35
|
-
}
|
|
36
|
-
}), null);
|
|
37
|
-
insert(_el$8, createComponent(JsonTree, { get value() {
|
|
38
|
-
return entry.instance.store?.state;
|
|
39
|
-
} }));
|
|
40
|
-
insert(_el$1, createComponent(JsonTree, { get value() {
|
|
41
|
-
return entry.instance.options;
|
|
42
|
-
} }));
|
|
43
|
-
effect((_p$) => {
|
|
44
|
-
var _v$ = styles().detailsGrid, _v$2 = styles().detailSection, _v$3 = styles().detailSectionHeader, _v$4 = styles().detailSection, _v$5 = styles().detailSectionHeader, _v$6 = styles().stateContent, _v$7 = styles().detailSection, _v$8 = styles().detailSectionHeader, _v$9 = styles().stateContent;
|
|
45
|
-
_v$ !== _p$.e && className(_el$3, _p$.e = _v$);
|
|
46
|
-
_v$2 !== _p$.t && className(_el$4, _p$.t = _v$2);
|
|
47
|
-
_v$3 !== _p$.a && className(_el$5, _p$.a = _v$3);
|
|
48
|
-
_v$4 !== _p$.o && className(_el$6, _p$.o = _v$4);
|
|
49
|
-
_v$5 !== _p$.i && className(_el$7, _p$.i = _v$5);
|
|
50
|
-
_v$6 !== _p$.n && className(_el$8, _p$.n = _v$6);
|
|
51
|
-
_v$7 !== _p$.s && className(_el$9, _p$.s = _v$7);
|
|
52
|
-
_v$8 !== _p$.h && className(_el$0, _p$.h = _v$8);
|
|
53
|
-
_v$9 !== _p$.r && className(_el$1, _p$.r = _v$9);
|
|
54
|
-
return _p$;
|
|
55
|
-
}, {
|
|
56
|
-
e: void 0,
|
|
57
|
-
t: void 0,
|
|
58
|
-
a: void 0,
|
|
59
|
-
o: void 0,
|
|
60
|
-
i: void 0,
|
|
61
|
-
n: void 0,
|
|
62
|
-
s: void 0,
|
|
63
|
-
h: void 0,
|
|
64
|
-
r: void 0
|
|
65
|
-
});
|
|
66
|
-
return _el$3;
|
|
67
|
-
})()];
|
|
68
|
-
});
|
|
69
|
-
effect(() => className(_el$, styles().stateDetails));
|
|
70
|
-
return _el$;
|
|
71
|
-
})();
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
//#endregion
|
|
75
|
-
export { DetailsPanel };
|
|
76
|
-
//# sourceMappingURL=DetailsPanel.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DetailsPanel.js","names":["JsonTree","useStyles","ActionButtons","StateHeader","DetailsPanelProps","selectedInstance","instance","type","utilState","lastUpdatedByKey","Record","DetailsPanel","props","styles","_el$","_tmpl$","_$insert","entry","_el$2","_tmpl$2","_$effect","_$className","noSelection","_$createComponent","_el$3","_tmpl$3","_el$4","firstChild","_el$5","_el$6","nextSibling","_el$7","_el$8","_el$9","_el$0","_el$1","utilName","value","store","state","options","_p$","_v$","detailsGrid","_v$2","detailSection","_v$3","detailSectionHeader","_v$4","_v$5","_v$6","stateContent","_v$7","_v$8","_v$9","e","t","a","o","i","n","s","h","r","undefined","stateDetails"],"sources":["../../src/components/DetailsPanel.tsx"],"sourcesContent":["import { JsonTree } from '@tanstack/devtools-ui'\nimport { useStyles } from '../styles/use-styles'\nimport { ActionButtons } from './ActionButtons'\nimport { StateHeader } from './StateHeader'\n\ntype DetailsPanelProps = {\n selectedInstance: () => { instance: any; type: string } | null\n utilState: () => { lastUpdatedByKey: Record<string, number> }\n}\n\nexport function DetailsPanel(props: DetailsPanelProps) {\n const styles = useStyles()\n\n return (\n <div class={styles().stateDetails}>\n {(() => {\n const entry = props.selectedInstance()\n if (!entry) {\n return (\n <div class={styles().noSelection}>\n Select a util from the left panel to view its state\n </div>\n )\n }\n\n return (\n <>\n <StateHeader\n selectedInstance={props.selectedInstance}\n utilState={props.utilState}\n />\n\n <div class={styles().detailsGrid}>\n <div class={styles().detailSection}>\n <div class={styles().detailSectionHeader}>Actions</div>\n <ActionButtons\n instance={entry.instance}\n utilName={entry.type}\n />\n </div>\n\n <div class={styles().detailSection}>\n <div class={styles().detailSectionHeader}>State</div>\n <div class={styles().stateContent}>\n <JsonTree value={entry.instance.store?.state as unknown} />\n </div>\n </div>\n\n <div class={styles().detailSection}>\n <div class={styles().detailSectionHeader}>Options</div>\n <div class={styles().stateContent}>\n <JsonTree value={entry.instance.options as unknown} />\n </div>\n </div>\n </div>\n </>\n )\n })()}\n </div>\n )\n}\n"],"mappings":";;;;;;;;AAUA,SAAgBW,aAAaC,OAA0B;CACrD,MAAMC,SAASZ,WAAW;AAE1B,eAAA;EAAA,IAAAa,OAAAC,QAAA;AAAAC,SAAAF,YAEY;GACN,MAAMG,QAAQL,MAAMP,kBAAkB;AACtC,OAAI,CAACY,MACH,eAAA;IAAA,IAAAC,QAAAC,SAAA;AAAAC,iBAAAC,UAAAH,OACcL,QAAQ,CAACS,YAAW,CAAA;AAAA,WAAAJ;OAAA;AAMpC,UAAA,CAAAK,gBAEKpB,aAAW;IAAA,IACVE,mBAAgB;AAAA,YAAEO,MAAMP;;IAAgB,IACxCG,YAAS;AAAA,YAAEI,MAAMJ;;IAAS,CAAA,SAAA;IAAA,IAAAgB,QAAAC,SAAA,EAAAC,QAAAF,MAAAG,YAAAC,QAAAF,MAAAC,YAAAE,QAAAH,MAAAI,aAAAC,QAAAF,MAAAF,YAAAK,QAAAD,MAAAD,aAAAG,QAAAJ,MAAAC,aAAAI,QAAAD,MAAAN,YAAAQ,QAAAD,MAAAJ;AAAAd,WAAAU,OAAAH,gBAMvBrB,eAAa;KAAA,IACZI,WAAQ;AAAA,aAAEW,MAAMX;;KAAQ,IACxB8B,WAAQ;AAAA,aAAEnB,MAAMV;;KAAI,CAAA,EAAA,KAAA;AAAAS,WAAAgB,OAAAT,gBAOnBvB,UAAQ,EAAA,IAACqC,QAAK;AAAA,YAAEpB,MAAMX,SAASgC,OAAOC;OAAgB,CAAA,CAAA;AAAAvB,WAAAmB,OAAAZ,gBAOtDvB,UAAQ,EAAA,IAACqC,QAAK;AAAA,YAAEpB,MAAMX,SAASkC;OAAkB,CAAA,CAAA;AAAApB,YAAAqB,QAAA;KAAA,IAAAC,MAnB5C7B,QAAQ,CAAC8B,aAAWC,OAClB/B,QAAQ,CAACgC,eAAaC,OACpBjC,QAAQ,CAACkC,qBAAmBC,OAO9BnC,QAAQ,CAACgC,eAAaI,OACpBpC,QAAQ,CAACkC,qBAAmBG,OAC5BrC,QAAQ,CAACsC,cAAYC,OAKvBvC,QAAQ,CAACgC,eAAaQ,OACpBxC,QAAQ,CAACkC,qBAAmBO,OAC5BzC,QAAQ,CAACsC;AAAYT,aAAAD,IAAAc,KAAAlC,UAAAG,OAAAiB,IAAAc,IAAAb,IAAA;AAAAE,cAAAH,IAAAe,KAAAnC,UAAAK,OAAAe,IAAAe,IAAAZ,KAAA;AAAAE,cAAAL,IAAAgB,KAAApC,UAAAO,OAAAa,IAAAgB,IAAAX,KAAA;AAAAE,cAAAP,IAAAiB,KAAArC,UAAAQ,OAAAY,IAAAiB,IAAAV,KAAA;AAAAC,cAAAR,IAAAkB,KAAAtC,UAAAU,OAAAU,IAAAkB,IAAAV,KAAA;AAAAC,cAAAT,IAAAmB,KAAAvC,UAAAW,OAAAS,IAAAmB,IAAAV,KAAA;AAAAE,cAAAX,IAAAoB,KAAAxC,UAAAY,OAAAQ,IAAAoB,IAAAT,KAAA;AAAAC,cAAAZ,IAAAqB,KAAAzC,UAAAa,OAAAO,IAAAqB,IAAAT,KAAA;AAAAC,cAAAb,IAAAsB,KAAA1C,UAAAc,OAAAM,IAAAsB,IAAAT,KAAA;AAAA,YAAAb;OAAA;KAAAc,GAAAS;KAAAR,GAAAQ;KAAAP,GAAAO;KAAAN,GAAAM;KAAAL,GAAAK;KAAAJ,GAAAI;KAAAH,GAAAG;KAAAF,GAAAE;KAAAD,GAAAC;KAAA,CAAA;AAAA,WAAAxC;OAAA,CAAA;IAO1C;AAAAJ,eAAAC,UAAAP,MA3CSD,QAAQ,CAACoD,aAAY,CAAA;AAAA,SAAAnD;KAAA"}
|