@tanstack/pacer-devtools 0.1.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/dist/esm/components/Shell.js +51 -40
  2. package/dist/esm/components/Shell.js.map +1 -1
  3. package/dist/esm/core.d.ts +1 -1
  4. package/dist/esm/core.js +12 -2
  5. package/dist/esm/core.js.map +1 -1
  6. package/dist/esm/styles/tokens.js +9 -5
  7. package/dist/esm/styles/tokens.js.map +1 -1
  8. package/dist/esm/styles/use-styles.d.ts +0 -2
  9. package/dist/esm/styles/use-styles.js +65 -80
  10. package/dist/esm/styles/use-styles.js.map +1 -1
  11. package/package.json +2 -11
  12. package/src/components/Shell.tsx +8 -3
  13. package/src/core.tsx +11 -2
  14. package/src/styles/use-styles.ts +65 -80
  15. package/dist/cjs/PacerContextProvider.cjs +0 -156
  16. package/dist/cjs/PacerContextProvider.cjs.map +0 -1
  17. package/dist/cjs/PacerContextProvider.d.cts +0 -19
  18. package/dist/cjs/PacerDevtools.cjs +0 -13
  19. package/dist/cjs/PacerDevtools.cjs.map +0 -1
  20. package/dist/cjs/PacerDevtools.d.cts +0 -1
  21. package/dist/cjs/components/ActionButtons.cjs +0 -157
  22. package/dist/cjs/components/ActionButtons.cjs.map +0 -1
  23. package/dist/cjs/components/ActionButtons.d.cts +0 -6
  24. package/dist/cjs/components/DetailsPanel.cjs +0 -80
  25. package/dist/cjs/components/DetailsPanel.cjs.map +0 -1
  26. package/dist/cjs/components/DetailsPanel.d.cts +0 -11
  27. package/dist/cjs/components/Shell.cjs +0 -102
  28. package/dist/cjs/components/Shell.cjs.map +0 -1
  29. package/dist/cjs/components/Shell.d.cts +0 -1
  30. package/dist/cjs/components/StateHeader.cjs +0 -95
  31. package/dist/cjs/components/StateHeader.cjs.map +0 -1
  32. package/dist/cjs/components/StateHeader.d.cts +0 -11
  33. package/dist/cjs/components/UtilList.cjs +0 -70
  34. package/dist/cjs/components/UtilList.cjs.map +0 -1
  35. package/dist/cjs/components/UtilList.d.cts +0 -8
  36. package/dist/cjs/components/util-groups.cjs +0 -40
  37. package/dist/cjs/components/util-groups.cjs.map +0 -1
  38. package/dist/cjs/components/util-groups.d.cts +0 -8
  39. package/dist/cjs/core.cjs +0 -43
  40. package/dist/cjs/core.cjs.map +0 -1
  41. package/dist/cjs/core.d.cts +0 -8
  42. package/dist/cjs/index.cjs +0 -15
  43. package/dist/cjs/index.cjs.map +0 -1
  44. package/dist/cjs/index.d.cts +0 -3
  45. package/dist/cjs/production.cjs +0 -7
  46. package/dist/cjs/production.cjs.map +0 -1
  47. package/dist/cjs/production.d.cts +0 -3
  48. package/dist/cjs/styles/tokens.cjs +0 -90
  49. package/dist/cjs/styles/tokens.cjs.map +0 -1
  50. package/dist/cjs/styles/tokens.d.cts +0 -298
  51. package/dist/cjs/styles/use-styles.cjs +0 -397
  52. package/dist/cjs/styles/use-styles.cjs.map +0 -1
  53. package/dist/cjs/styles/use-styles.d.cts +0 -42
@@ -1,38 +1,13 @@
1
1
  import * as goober from "goober";
2
- import { createSignal } from "solid-js";
2
+ import { createSignal, createEffect } from "solid-js";
3
+ import { useTheme } from "@tanstack/devtools-ui";
3
4
  import { tokens } from "./tokens.js";
4
- const stylesFactory = () => {
5
+ const stylesFactory = (theme) => {
5
6
  const { colors, font, size, alpha, border } = tokens;
6
7
  const { fontFamily, size: fontSize } = font;
7
8
  const css = goober.css;
9
+ const t = (light, dark) => theme === "light" ? light : dark;
8
10
  return {
9
- devtoolsPanel: css`
10
- background: ${colors.darkGray[900]};
11
- color: ${colors.gray[100]};
12
- font-family: ${fontFamily.sans};
13
- font-size: ${fontSize.sm};
14
- box-sizing: border-box;
15
- display: flex;
16
- flex-direction: column;
17
- width: 100%;
18
- height: 100%;
19
- overflow: hidden;
20
- `,
21
- stickyHeader: css`
22
- position: sticky;
23
- top: 0;
24
- z-index: 10;
25
- background: ${colors.darkGray[900]};
26
- padding: ${size[2]};
27
- font-size: ${fontSize.lg};
28
- font-weight: ${font.weight.bold};
29
- color: #84cc16;
30
- letter-spacing: 0.04em;
31
- text-transform: uppercase;
32
- border-bottom: 1px solid ${colors.darkGray[700]};
33
- box-shadow: 0 2px 8px 0 ${colors.black + alpha[40]};
34
- flex-shrink: 0;
35
- `,
36
11
  mainContainer: css`
37
12
  display: flex;
38
13
  flex: 1;
@@ -40,10 +15,11 @@ const stylesFactory = () => {
40
15
  overflow: hidden;
41
16
  padding: ${size[2]};
42
17
  padding-top: 0;
18
+ margin-top: ${size[2]};
43
19
  `,
44
20
  dragHandle: css`
45
21
  width: 8px;
46
- background: ${colors.darkGray[600]};
22
+ background: ${t(colors.gray[300], colors.darkGray[600])};
47
23
  cursor: col-resize;
48
24
  position: relative;
49
25
  transition: all 0.2s ease;
@@ -53,12 +29,12 @@ const stylesFactory = () => {
53
29
  border-radius: 2px;
54
30
 
55
31
  &:hover {
56
- background: ${colors.blue[500]};
32
+ background: ${t(colors.blue[600], colors.blue[500])};
57
33
  margin: 0 ${size[1]};
58
34
  }
59
35
 
60
36
  &.dragging {
61
- background: ${colors.blue[600]};
37
+ background: ${t(colors.blue[700], colors.blue[600])};
62
38
  margin: 0 ${size[1]};
63
39
  }
64
40
 
@@ -70,20 +46,20 @@ const stylesFactory = () => {
70
46
  transform: translate(-50%, -50%);
71
47
  width: 2px;
72
48
  height: 20px;
73
- background: ${colors.darkGray[400]};
49
+ background: ${t(colors.gray[400], colors.darkGray[400])};
74
50
  border-radius: 1px;
75
51
  pointer-events: none;
76
52
  }
77
53
 
78
54
  &:hover::after,
79
55
  &.dragging::after {
80
- background: ${colors.blue[300]};
56
+ background: ${t(colors.blue[500], colors.blue[300])};
81
57
  }
82
58
  `,
83
59
  leftPanel: css`
84
- background: ${colors.darkGray[800]};
60
+ background: ${t(colors.gray[100], colors.darkGray[800])};
85
61
  border-radius: ${border.radius.lg};
86
- border: 1px solid ${colors.darkGray[700]};
62
+ border: 1px solid ${t(colors.gray[200], colors.darkGray[700])};
87
63
  display: flex;
88
64
  flex-direction: column;
89
65
  overflow: hidden;
@@ -91,9 +67,9 @@ const stylesFactory = () => {
91
67
  flex-shrink: 0;
92
68
  `,
93
69
  rightPanel: css`
94
- background: ${colors.darkGray[800]};
70
+ background: ${t(colors.gray[100], colors.darkGray[800])};
95
71
  border-radius: ${border.radius.lg};
96
- border: 1px solid ${colors.darkGray[700]};
72
+ border: 1px solid ${t(colors.gray[200], colors.darkGray[700])};
97
73
  display: flex;
98
74
  flex-direction: column;
99
75
  overflow: hidden;
@@ -103,10 +79,10 @@ const stylesFactory = () => {
103
79
  panelHeader: css`
104
80
  font-size: ${fontSize.md};
105
81
  font-weight: ${font.weight.bold};
106
- color: ${colors.blue[400]};
82
+ color: ${t(colors.blue[700], colors.blue[400])};
107
83
  padding: ${size[2]};
108
- border-bottom: 1px solid ${colors.darkGray[700]};
109
- background: ${colors.darkGray[800]};
84
+ border-bottom: 1px solid ${t(colors.gray[200], colors.darkGray[700])};
85
+ background: ${t(colors.gray[100], colors.darkGray[800])};
110
86
  flex-shrink: 0;
111
87
  `,
112
88
  utilList: css`
@@ -121,12 +97,12 @@ const stylesFactory = () => {
121
97
  utilGroupHeader: css`
122
98
  font-size: ${fontSize.xs};
123
99
  font-weight: ${font.weight.semibold};
124
- color: ${colors.gray[400]};
100
+ color: ${t(colors.gray[600], colors.gray[400])};
125
101
  text-transform: uppercase;
126
102
  letter-spacing: 0.05em;
127
103
  margin-bottom: ${size[1]};
128
104
  padding: ${size[1]} ${size[2]};
129
- background: ${colors.darkGray[700]};
105
+ background: ${t(colors.gray[200], colors.darkGray[700])};
130
106
  border-radius: ${border.radius.md};
131
107
  `,
132
108
  utilRow: css`
@@ -135,26 +111,27 @@ const stylesFactory = () => {
135
111
  align-items: center;
136
112
  padding: ${size[2]};
137
113
  margin-bottom: ${size[1]};
138
- background: ${colors.darkGray[700]};
114
+ background: ${t(colors.gray[200], colors.darkGray[700])};
139
115
  border-radius: ${border.radius.md};
140
116
  cursor: pointer;
141
117
  transition: all 0.2s ease;
142
118
  border: 1px solid transparent;
143
119
 
144
120
  &:hover {
145
- background: ${colors.darkGray[600]};
146
- border-color: ${colors.darkGray[500]};
121
+ background: ${t(colors.gray[300], colors.darkGray[600])};
122
+ border-color: ${t(colors.gray[400], colors.darkGray[500])};
147
123
  }
148
124
  `,
149
125
  utilRowSelected: css`
150
- background: ${colors.blue[900] + alpha[20]};
151
- border-color: ${colors.blue[500]};
152
- box-shadow: 0 0 0 1px ${colors.blue[500] + alpha[30]};
126
+ background: ${t(colors.blue[100], colors.blue[900] + alpha[20])};
127
+ border-color: ${t(colors.blue[600], colors.blue[500])};
128
+ box-shadow: 0 0 0 1px
129
+ ${t(colors.blue[600] + alpha[30], colors.blue[500] + alpha[30])};
153
130
  `,
154
131
  utilKey: css`
155
132
  font-family: ${fontFamily.mono};
156
133
  font-size: ${fontSize.xs};
157
- color: ${colors.gray[100]};
134
+ color: ${t(colors.gray[900], colors.gray[100])};
158
135
  flex: 1;
159
136
  overflow: hidden;
160
137
  text-overflow: ellipsis;
@@ -162,11 +139,11 @@ const stylesFactory = () => {
162
139
  `,
163
140
  utilStatus: css`
164
141
  font-size: ${fontSize.xs};
165
- color: ${colors.gray[400]};
142
+ color: ${t(colors.gray[600], colors.gray[400])};
166
143
  text-transform: uppercase;
167
144
  letter-spacing: 0.05em;
168
145
  padding: ${size[1]} ${size[1]};
169
- background: ${colors.darkGray[600]};
146
+ background: ${t(colors.gray[300], colors.darkGray[600])};
170
147
  border-radius: ${border.radius.sm};
171
148
  margin-left: ${size[1]};
172
149
  `,
@@ -179,25 +156,25 @@ const stylesFactory = () => {
179
156
  stateHeader: css`
180
157
  margin-bottom: ${size[2]};
181
158
  padding-bottom: ${size[2]};
182
- border-bottom: 1px solid ${colors.darkGray[700]};
159
+ border-bottom: 1px solid ${t(colors.gray[200], colors.darkGray[700])};
183
160
  `,
184
161
  stateTitle: css`
185
162
  font-size: ${fontSize.md};
186
163
  font-weight: ${font.weight.bold};
187
- color: ${colors.blue[400]};
164
+ color: ${t(colors.blue[700], colors.blue[400])};
188
165
  margin-bottom: ${size[1]};
189
166
  `,
190
167
  stateKey: css`
191
168
  font-family: ${fontFamily.mono};
192
169
  font-size: ${fontSize.xs};
193
- color: ${colors.gray[400]};
170
+ color: ${t(colors.gray[600], colors.gray[400])};
194
171
  word-break: break-all;
195
172
  `,
196
173
  stateContent: css`
197
- background: ${colors.darkGray[700]};
174
+ background: ${t(colors.gray[100], colors.darkGray[700])};
198
175
  border-radius: ${border.radius.md};
199
176
  padding: ${size[2]};
200
- border: 1px solid ${colors.darkGray[600]};
177
+ border: 1px solid ${t(colors.gray[300], colors.darkGray[600])};
201
178
  `,
202
179
  detailsGrid: css`
203
180
  display: grid;
@@ -206,15 +183,15 @@ const stylesFactory = () => {
206
183
  align-items: start;
207
184
  `,
208
185
  detailSection: css`
209
- background: ${colors.darkGray[700]};
210
- border: 1px solid ${colors.darkGray[600]};
186
+ background: ${t(colors.white, colors.darkGray[700])};
187
+ border: 1px solid ${t(colors.gray[300], colors.darkGray[600])};
211
188
  border-radius: ${border.radius.md};
212
189
  padding: ${size[2]};
213
190
  `,
214
191
  detailSectionHeader: css`
215
192
  font-size: ${fontSize.sm};
216
193
  font-weight: ${font.weight.bold};
217
- color: ${colors.gray[200]};
194
+ color: ${t(colors.gray[800], colors.gray[200])};
218
195
  margin-bottom: ${size[1]};
219
196
  text-transform: uppercase;
220
197
  letter-spacing: 0.04em;
@@ -230,9 +207,9 @@ const stylesFactory = () => {
230
207
  gap: ${size[1]};
231
208
  padding: ${size[1]} ${size[2]};
232
209
  border-radius: ${border.radius.md};
233
- border: 1px solid ${colors.darkGray[500]};
234
- background: ${colors.darkGray[600]};
235
- color: ${colors.gray[100]};
210
+ border: 1px solid ${t(colors.gray[300], colors.darkGray[500])};
211
+ background: ${t(colors.gray[200], colors.darkGray[600])};
212
+ color: ${t(colors.gray[900], colors.gray[100])};
236
213
  font-size: ${fontSize.xs};
237
214
  cursor: pointer;
238
215
  user-select: none;
@@ -240,15 +217,15 @@ const stylesFactory = () => {
240
217
  background 0.15s,
241
218
  border-color 0.15s;
242
219
  &:hover {
243
- background: ${colors.darkGray[500]};
244
- border-color: ${colors.darkGray[400]};
220
+ background: ${t(colors.gray[300], colors.darkGray[500])};
221
+ border-color: ${t(colors.gray[400], colors.darkGray[400])};
245
222
  }
246
223
  &:disabled {
247
224
  opacity: 0.5;
248
225
  cursor: not-allowed;
249
226
  &:hover {
250
- background: ${colors.darkGray[600]};
251
- border-color: ${colors.darkGray[500]};
227
+ background: ${t(colors.gray[200], colors.darkGray[600])};
228
+ border-color: ${t(colors.gray[300], colors.darkGray[500])};
252
229
  }
253
230
  }
254
231
  `,
@@ -296,7 +273,7 @@ const stylesFactory = () => {
296
273
  align-items: center;
297
274
  `,
298
275
  infoLabel: css`
299
- color: ${colors.gray[400]};
276
+ color: ${t(colors.gray[600], colors.gray[400])};
300
277
  font-size: ${fontSize.xs};
301
278
  text-transform: uppercase;
302
279
  letter-spacing: 0.05em;
@@ -304,7 +281,7 @@ const stylesFactory = () => {
304
281
  infoValueMono: css`
305
282
  font-family: ${fontFamily.mono};
306
283
  font-size: ${fontSize.xs};
307
- color: ${colors.gray[100]};
284
+ color: ${t(colors.gray[900], colors.gray[100])};
308
285
  word-break: break-all;
309
286
  `,
310
287
  noSelection: css`
@@ -312,7 +289,7 @@ const stylesFactory = () => {
312
289
  display: flex;
313
290
  align-items: center;
314
291
  justify-content: center;
315
- color: ${colors.gray[500]};
292
+ color: ${t(colors.gray[500], colors.gray[500])};
316
293
  font-style: italic;
317
294
  text-align: center;
318
295
  padding: ${size[4]};
@@ -324,12 +301,14 @@ const stylesFactory = () => {
324
301
  gap: ${size[4]};
325
302
  `,
326
303
  section: css`
327
- background: ${colors.darkGray[800]};
304
+ background: ${t(colors.gray[100], colors.darkGray[800])};
328
305
  border-radius: ${border.radius.lg};
329
- box-shadow: ${tokens.shadow.md(colors.black + alpha[80])};
306
+ box-shadow: ${tokens.shadow.md(
307
+ t(colors.gray[400] + alpha[80], colors.black + alpha[80])
308
+ )};
330
309
  padding: ${size[4]};
331
310
  margin-bottom: ${size[4]};
332
- border: 1px solid ${colors.darkGray[700]};
311
+ border: 1px solid ${t(colors.gray[200], colors.darkGray[700])};
333
312
  min-width: 0;
334
313
  max-width: 33%;
335
314
  max-height: fit-content;
@@ -338,14 +317,14 @@ const stylesFactory = () => {
338
317
  font-size: ${fontSize.lg};
339
318
  font-weight: ${font.weight.bold};
340
319
  margin-bottom: ${size[2]};
341
- color: ${colors.blue[400]};
320
+ color: ${t(colors.blue[600], colors.blue[400])};
342
321
  letter-spacing: 0.01em;
343
322
  display: flex;
344
323
  align-items: center;
345
324
  gap: ${size[2]};
346
325
  `,
347
326
  sectionEmpty: css`
348
- color: ${colors.gray[500]};
327
+ color: ${t(colors.gray[500], colors.gray[500])};
349
328
  font-size: ${fontSize.sm};
350
329
  font-style: italic;
351
330
  margin: ${size[2]} 0;
@@ -354,14 +333,16 @@ const stylesFactory = () => {
354
333
  display: flex;
355
334
  flex-direction: column;
356
335
  gap: ${size[2]};
336
+ background: ${t(colors.gray[200], colors.darkGray[700])};
337
+ border: 1px solid ${t(colors.gray[300], colors.darkGray[600])};
357
338
  `,
358
339
  instanceCard: css`
359
- background: ${colors.darkGray[700]};
340
+ background: ${t(colors.gray[200], colors.darkGray[700])};
360
341
  border-radius: ${border.radius.md};
361
342
  padding: ${size[3]};
362
- border: 1px solid ${colors.darkGray[600]};
343
+ border: 1px solid ${t(colors.gray[300], colors.darkGray[600])};
363
344
  font-size: ${fontSize.sm};
364
- color: ${colors.gray[100]};
345
+ color: ${t(colors.gray[900], colors.gray[100])};
365
346
  font-family: ${fontFamily.mono};
366
347
  overflow-x: auto;
367
348
  transition:
@@ -371,8 +352,12 @@ const stylesFactory = () => {
371
352
  };
372
353
  };
373
354
  function useStyles() {
374
- const [_styles] = createSignal(stylesFactory());
375
- return _styles;
355
+ const { theme } = useTheme();
356
+ const [styles, setStyles] = createSignal(stylesFactory(theme()));
357
+ createEffect(() => {
358
+ setStyles(stylesFactory(theme()));
359
+ });
360
+ return styles;
376
361
  }
377
362
  export {
378
363
  useStyles
@@ -1 +1 @@
1
- {"version":3,"file":"use-styles.js","sources":["../../../src/styles/use-styles.ts"],"sourcesContent":["import * as goober from 'goober'\nimport { createSignal } from 'solid-js'\nimport { tokens } from './tokens'\n\nconst stylesFactory = () => {\n const { colors, font, size, alpha, border } = tokens\n const { fontFamily, size: fontSize } = font\n const css = goober.css\n\n return {\n devtoolsPanel: css`\n background: ${colors.darkGray[900]};\n color: ${colors.gray[100]};\n font-family: ${fontFamily.sans};\n font-size: ${fontSize.sm};\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n overflow: hidden;\n `,\n stickyHeader: css`\n position: sticky;\n top: 0;\n z-index: 10;\n background: ${colors.darkGray[900]};\n padding: ${size[2]};\n font-size: ${fontSize.lg};\n font-weight: ${font.weight.bold};\n color: #84cc16;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n border-bottom: 1px solid ${colors.darkGray[700]};\n box-shadow: 0 2px 8px 0 ${colors.black + alpha[40]};\n flex-shrink: 0;\n `,\n mainContainer: css`\n display: flex;\n flex: 1;\n min-height: 0;\n overflow: hidden;\n padding: ${size[2]};\n padding-top: 0;\n `,\n dragHandle: css`\n width: 8px;\n background: ${colors.darkGray[600]};\n cursor: col-resize;\n position: relative;\n transition: all 0.2s ease;\n user-select: none;\n pointer-events: all;\n margin: 0 ${size[1]};\n border-radius: 2px;\n\n &:hover {\n background: ${colors.blue[500]};\n margin: 0 ${size[1]};\n }\n\n &.dragging {\n background: ${colors.blue[600]};\n margin: 0 ${size[1]};\n }\n\n &::after {\n content: '';\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 2px;\n height: 20px;\n background: ${colors.darkGray[400]};\n border-radius: 1px;\n pointer-events: none;\n }\n\n &:hover::after,\n &.dragging::after {\n background: ${colors.blue[300]};\n }\n `,\n leftPanel: css`\n background: ${colors.darkGray[800]};\n border-radius: ${border.radius.lg};\n border: 1px solid ${colors.darkGray[700]};\n display: flex;\n flex-direction: column;\n overflow: hidden;\n min-height: 0;\n flex-shrink: 0;\n `,\n rightPanel: css`\n background: ${colors.darkGray[800]};\n border-radius: ${border.radius.lg};\n border: 1px solid ${colors.darkGray[700]};\n display: flex;\n flex-direction: column;\n overflow: hidden;\n min-height: 0;\n flex: 1;\n `,\n panelHeader: css`\n font-size: ${fontSize.md};\n font-weight: ${font.weight.bold};\n color: ${colors.blue[400]};\n padding: ${size[2]};\n border-bottom: 1px solid ${colors.darkGray[700]};\n background: ${colors.darkGray[800]};\n flex-shrink: 0;\n `,\n utilList: css`\n flex: 1;\n overflow-y: auto;\n padding: ${size[1]};\n min-height: 0;\n `,\n utilGroup: css`\n margin-bottom: ${size[2]};\n `,\n utilGroupHeader: css`\n font-size: ${fontSize.xs};\n font-weight: ${font.weight.semibold};\n color: ${colors.gray[400]};\n text-transform: uppercase;\n letter-spacing: 0.05em;\n margin-bottom: ${size[1]};\n padding: ${size[1]} ${size[2]};\n background: ${colors.darkGray[700]};\n border-radius: ${border.radius.md};\n `,\n utilRow: css`\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: ${size[2]};\n margin-bottom: ${size[1]};\n background: ${colors.darkGray[700]};\n border-radius: ${border.radius.md};\n cursor: pointer;\n transition: all 0.2s ease;\n border: 1px solid transparent;\n\n &:hover {\n background: ${colors.darkGray[600]};\n border-color: ${colors.darkGray[500]};\n }\n `,\n utilRowSelected: css`\n background: ${colors.blue[900] + alpha[20]};\n border-color: ${colors.blue[500]};\n box-shadow: 0 0 0 1px ${colors.blue[500] + alpha[30]};\n `,\n utilKey: css`\n font-family: ${fontFamily.mono};\n font-size: ${fontSize.xs};\n color: ${colors.gray[100]};\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n `,\n utilStatus: css`\n font-size: ${fontSize.xs};\n color: ${colors.gray[400]};\n text-transform: uppercase;\n letter-spacing: 0.05em;\n padding: ${size[1]} ${size[1]};\n background: ${colors.darkGray[600]};\n border-radius: ${border.radius.sm};\n margin-left: ${size[1]};\n `,\n stateDetails: css`\n flex: 1;\n overflow-y: auto;\n padding: ${size[2]};\n min-height: 0;\n `,\n stateHeader: css`\n margin-bottom: ${size[2]};\n padding-bottom: ${size[2]};\n border-bottom: 1px solid ${colors.darkGray[700]};\n `,\n stateTitle: css`\n font-size: ${fontSize.md};\n font-weight: ${font.weight.bold};\n color: ${colors.blue[400]};\n margin-bottom: ${size[1]};\n `,\n stateKey: css`\n font-family: ${fontFamily.mono};\n font-size: ${fontSize.xs};\n color: ${colors.gray[400]};\n word-break: break-all;\n `,\n stateContent: css`\n background: ${colors.darkGray[700]};\n border-radius: ${border.radius.md};\n padding: ${size[2]};\n border: 1px solid ${colors.darkGray[600]};\n `,\n detailsGrid: css`\n display: grid;\n grid-template-columns: 1fr;\n gap: ${size[2]};\n align-items: start;\n `,\n detailSection: css`\n background: ${colors.darkGray[700]};\n border: 1px solid ${colors.darkGray[600]};\n border-radius: ${border.radius.md};\n padding: ${size[2]};\n `,\n detailSectionHeader: css`\n font-size: ${fontSize.sm};\n font-weight: ${font.weight.bold};\n color: ${colors.gray[200]};\n margin-bottom: ${size[1]};\n text-transform: uppercase;\n letter-spacing: 0.04em;\n `,\n actionsRow: css`\n display: flex;\n flex-wrap: wrap;\n gap: ${size[2]};\n `,\n actionButton: css`\n display: inline-flex;\n align-items: center;\n gap: ${size[1]};\n padding: ${size[1]} ${size[2]};\n border-radius: ${border.radius.md};\n border: 1px solid ${colors.darkGray[500]};\n background: ${colors.darkGray[600]};\n color: ${colors.gray[100]};\n font-size: ${fontSize.xs};\n cursor: pointer;\n user-select: none;\n transition:\n background 0.15s,\n border-color 0.15s;\n &:hover {\n background: ${colors.darkGray[500]};\n border-color: ${colors.darkGray[400]};\n }\n &:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n &:hover {\n background: ${colors.darkGray[600]};\n border-color: ${colors.darkGray[500]};\n }\n }\n `,\n actionDotBlue: css`\n width: 6px;\n height: 6px;\n border-radius: 9999px;\n background: ${colors.blue[400]};\n `,\n actionDotGreen: css`\n width: 6px;\n height: 6px;\n border-radius: 9999px;\n background: ${colors.green[400]};\n `,\n actionDotRed: css`\n width: 6px;\n height: 6px;\n border-radius: 9999px;\n background: ${colors.red[400]};\n `,\n actionDotYellow: css`\n width: 6px;\n height: 6px;\n border-radius: 9999px;\n background: ${colors.yellow[400]};\n `,\n actionDotOrange: css`\n width: 6px;\n height: 6px;\n border-radius: 9999px;\n background: ${colors.pink[400]};\n `,\n actionDotPurple: css`\n width: 6px;\n height: 6px;\n border-radius: 9999px;\n background: ${colors.purple[400]};\n `,\n infoGrid: css`\n display: grid;\n grid-template-columns: auto 1fr;\n gap: ${size[1]};\n row-gap: ${size[1]};\n align-items: center;\n `,\n infoLabel: css`\n color: ${colors.gray[400]};\n font-size: ${fontSize.xs};\n text-transform: uppercase;\n letter-spacing: 0.05em;\n `,\n infoValueMono: css`\n font-family: ${fontFamily.mono};\n font-size: ${fontSize.xs};\n color: ${colors.gray[100]};\n word-break: break-all;\n `,\n noSelection: css`\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n color: ${colors.gray[500]};\n font-style: italic;\n text-align: center;\n padding: ${size[4]};\n `,\n // Keep existing styles for backward compatibility\n sectionContainer: css`\n display: flex;\n flex-wrap: wrap;\n gap: ${size[4]};\n `,\n section: css`\n background: ${colors.darkGray[800]};\n border-radius: ${border.radius.lg};\n box-shadow: ${tokens.shadow.md(colors.black + alpha[80])};\n padding: ${size[4]};\n margin-bottom: ${size[4]};\n border: 1px solid ${colors.darkGray[700]};\n min-width: 0;\n max-width: 33%;\n max-height: fit-content;\n `,\n sectionHeader: css`\n font-size: ${fontSize.lg};\n font-weight: ${font.weight.bold};\n margin-bottom: ${size[2]};\n color: ${colors.blue[400]};\n letter-spacing: 0.01em;\n display: flex;\n align-items: center;\n gap: ${size[2]};\n `,\n sectionEmpty: css`\n color: ${colors.gray[500]};\n font-size: ${fontSize.sm};\n font-style: italic;\n margin: ${size[2]} 0;\n `,\n instanceList: css`\n display: flex;\n flex-direction: column;\n gap: ${size[2]};\n `,\n instanceCard: css`\n background: ${colors.darkGray[700]};\n border-radius: ${border.radius.md};\n padding: ${size[3]};\n border: 1px solid ${colors.darkGray[600]};\n font-size: ${fontSize.sm};\n color: ${colors.gray[100]};\n font-family: ${fontFamily.mono};\n overflow-x: auto;\n transition:\n box-shadow 0.3s,\n background 0.3s;\n `,\n }\n}\n\nexport function useStyles() {\n const [_styles] = createSignal(stylesFactory())\n return _styles\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-styles.js","sources":["../../../src/styles/use-styles.ts"],"sourcesContent":["import * as goober from 'goober'\nimport { createEffect, createSignal } from 'solid-js'\nimport { useTheme } from '@tanstack/devtools-ui'\nimport { tokens } from './tokens'\n\nconst stylesFactory = (theme: 'light' | 'dark') => {\n const { colors, font, size, alpha, border } = tokens\n const { fontFamily, size: fontSize } = font\n const css = goober.css\n const t = (light: string, dark: string) => (theme === 'light' ? light : dark)\n\n return {\n mainContainer: css`\n display: flex;\n flex: 1;\n min-height: 0;\n overflow: hidden;\n padding: ${size[2]};\n padding-top: 0;\n margin-top: ${size[2]};\n `,\n dragHandle: css`\n width: 8px;\n background: ${t(colors.gray[300], colors.darkGray[600])};\n cursor: col-resize;\n position: relative;\n transition: all 0.2s ease;\n user-select: none;\n pointer-events: all;\n margin: 0 ${size[1]};\n border-radius: 2px;\n\n &:hover {\n background: ${t(colors.blue[600], colors.blue[500])};\n margin: 0 ${size[1]};\n }\n\n &.dragging {\n background: ${t(colors.blue[700], colors.blue[600])};\n margin: 0 ${size[1]};\n }\n\n &::after {\n content: '';\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 2px;\n height: 20px;\n background: ${t(colors.gray[400], colors.darkGray[400])};\n border-radius: 1px;\n pointer-events: none;\n }\n\n &:hover::after,\n &.dragging::after {\n background: ${t(colors.blue[500], colors.blue[300])};\n }\n `,\n leftPanel: css`\n background: ${t(colors.gray[100], colors.darkGray[800])};\n border-radius: ${border.radius.lg};\n border: 1px solid ${t(colors.gray[200], colors.darkGray[700])};\n display: flex;\n flex-direction: column;\n overflow: hidden;\n min-height: 0;\n flex-shrink: 0;\n `,\n rightPanel: css`\n background: ${t(colors.gray[100], colors.darkGray[800])};\n border-radius: ${border.radius.lg};\n border: 1px solid ${t(colors.gray[200], colors.darkGray[700])};\n display: flex;\n flex-direction: column;\n overflow: hidden;\n min-height: 0;\n flex: 1;\n `,\n panelHeader: css`\n font-size: ${fontSize.md};\n font-weight: ${font.weight.bold};\n color: ${t(colors.blue[700], colors.blue[400])};\n padding: ${size[2]};\n border-bottom: 1px solid ${t(colors.gray[200], colors.darkGray[700])};\n background: ${t(colors.gray[100], colors.darkGray[800])};\n flex-shrink: 0;\n `,\n utilList: css`\n flex: 1;\n overflow-y: auto;\n padding: ${size[1]};\n min-height: 0;\n `,\n utilGroup: css`\n margin-bottom: ${size[2]};\n `,\n utilGroupHeader: css`\n font-size: ${fontSize.xs};\n font-weight: ${font.weight.semibold};\n color: ${t(colors.gray[600], colors.gray[400])};\n text-transform: uppercase;\n letter-spacing: 0.05em;\n margin-bottom: ${size[1]};\n padding: ${size[1]} ${size[2]};\n background: ${t(colors.gray[200], colors.darkGray[700])};\n border-radius: ${border.radius.md};\n `,\n utilRow: css`\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: ${size[2]};\n margin-bottom: ${size[1]};\n background: ${t(colors.gray[200], colors.darkGray[700])};\n border-radius: ${border.radius.md};\n cursor: pointer;\n transition: all 0.2s ease;\n border: 1px solid transparent;\n\n &:hover {\n background: ${t(colors.gray[300], colors.darkGray[600])};\n border-color: ${t(colors.gray[400], colors.darkGray[500])};\n }\n `,\n utilRowSelected: css`\n background: ${t(colors.blue[100], colors.blue[900] + alpha[20])};\n border-color: ${t(colors.blue[600], colors.blue[500])};\n box-shadow: 0 0 0 1px\n ${t(colors.blue[600] + alpha[30], colors.blue[500] + alpha[30])};\n `,\n utilKey: css`\n font-family: ${fontFamily.mono};\n font-size: ${fontSize.xs};\n color: ${t(colors.gray[900], colors.gray[100])};\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n `,\n utilStatus: css`\n font-size: ${fontSize.xs};\n color: ${t(colors.gray[600], colors.gray[400])};\n text-transform: uppercase;\n letter-spacing: 0.05em;\n padding: ${size[1]} ${size[1]};\n background: ${t(colors.gray[300], colors.darkGray[600])};\n border-radius: ${border.radius.sm};\n margin-left: ${size[1]};\n `,\n stateDetails: css`\n flex: 1;\n overflow-y: auto;\n padding: ${size[2]};\n min-height: 0;\n `,\n stateHeader: css`\n margin-bottom: ${size[2]};\n padding-bottom: ${size[2]};\n border-bottom: 1px solid ${t(colors.gray[200], colors.darkGray[700])};\n `,\n stateTitle: css`\n font-size: ${fontSize.md};\n font-weight: ${font.weight.bold};\n color: ${t(colors.blue[700], colors.blue[400])};\n margin-bottom: ${size[1]};\n `,\n stateKey: css`\n font-family: ${fontFamily.mono};\n font-size: ${fontSize.xs};\n color: ${t(colors.gray[600], colors.gray[400])};\n word-break: break-all;\n `,\n stateContent: css`\n background: ${t(colors.gray[100], colors.darkGray[700])};\n border-radius: ${border.radius.md};\n padding: ${size[2]};\n border: 1px solid ${t(colors.gray[300], colors.darkGray[600])};\n `,\n detailsGrid: css`\n display: grid;\n grid-template-columns: 1fr;\n gap: ${size[2]};\n align-items: start;\n `,\n detailSection: css`\n background: ${t(colors.white, colors.darkGray[700])};\n border: 1px solid ${t(colors.gray[300], colors.darkGray[600])};\n border-radius: ${border.radius.md};\n padding: ${size[2]};\n `,\n detailSectionHeader: css`\n font-size: ${fontSize.sm};\n font-weight: ${font.weight.bold};\n color: ${t(colors.gray[800], colors.gray[200])};\n margin-bottom: ${size[1]};\n text-transform: uppercase;\n letter-spacing: 0.04em;\n `,\n actionsRow: css`\n display: flex;\n flex-wrap: wrap;\n gap: ${size[2]};\n `,\n actionButton: css`\n display: inline-flex;\n align-items: center;\n gap: ${size[1]};\n padding: ${size[1]} ${size[2]};\n border-radius: ${border.radius.md};\n border: 1px solid ${t(colors.gray[300], colors.darkGray[500])};\n background: ${t(colors.gray[200], colors.darkGray[600])};\n color: ${t(colors.gray[900], colors.gray[100])};\n font-size: ${fontSize.xs};\n cursor: pointer;\n user-select: none;\n transition:\n background 0.15s,\n border-color 0.15s;\n &:hover {\n background: ${t(colors.gray[300], colors.darkGray[500])};\n border-color: ${t(colors.gray[400], colors.darkGray[400])};\n }\n &:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n &:hover {\n background: ${t(colors.gray[200], colors.darkGray[600])};\n border-color: ${t(colors.gray[300], colors.darkGray[500])};\n }\n }\n `,\n actionDotBlue: css`\n width: 6px;\n height: 6px;\n border-radius: 9999px;\n background: ${colors.blue[400]};\n `,\n actionDotGreen: css`\n width: 6px;\n height: 6px;\n border-radius: 9999px;\n background: ${colors.green[400]};\n `,\n actionDotRed: css`\n width: 6px;\n height: 6px;\n border-radius: 9999px;\n background: ${colors.red[400]};\n `,\n actionDotYellow: css`\n width: 6px;\n height: 6px;\n border-radius: 9999px;\n background: ${colors.yellow[400]};\n `,\n actionDotOrange: css`\n width: 6px;\n height: 6px;\n border-radius: 9999px;\n background: ${colors.pink[400]};\n `,\n actionDotPurple: css`\n width: 6px;\n height: 6px;\n border-radius: 9999px;\n background: ${colors.purple[400]};\n `,\n infoGrid: css`\n display: grid;\n grid-template-columns: auto 1fr;\n gap: ${size[1]};\n row-gap: ${size[1]};\n align-items: center;\n `,\n infoLabel: css`\n color: ${t(colors.gray[600], colors.gray[400])};\n font-size: ${fontSize.xs};\n text-transform: uppercase;\n letter-spacing: 0.05em;\n `,\n infoValueMono: css`\n font-family: ${fontFamily.mono};\n font-size: ${fontSize.xs};\n color: ${t(colors.gray[900], colors.gray[100])};\n word-break: break-all;\n `,\n noSelection: css`\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n color: ${t(colors.gray[500], colors.gray[500])};\n font-style: italic;\n text-align: center;\n padding: ${size[4]};\n `,\n // Keep existing styles for backward compatibility\n sectionContainer: css`\n display: flex;\n flex-wrap: wrap;\n gap: ${size[4]};\n `,\n section: css`\n background: ${t(colors.gray[100], colors.darkGray[800])};\n border-radius: ${border.radius.lg};\n box-shadow: ${tokens.shadow.md(\n t(colors.gray[400] + alpha[80], colors.black + alpha[80]),\n )};\n padding: ${size[4]};\n margin-bottom: ${size[4]};\n border: 1px solid ${t(colors.gray[200], colors.darkGray[700])};\n min-width: 0;\n max-width: 33%;\n max-height: fit-content;\n `,\n sectionHeader: css`\n font-size: ${fontSize.lg};\n font-weight: ${font.weight.bold};\n margin-bottom: ${size[2]};\n color: ${t(colors.blue[600], colors.blue[400])};\n letter-spacing: 0.01em;\n display: flex;\n align-items: center;\n gap: ${size[2]};\n `,\n sectionEmpty: css`\n color: ${t(colors.gray[500], colors.gray[500])};\n font-size: ${fontSize.sm};\n font-style: italic;\n margin: ${size[2]} 0;\n `,\n instanceList: css`\n display: flex;\n flex-direction: column;\n gap: ${size[2]};\n background: ${t(colors.gray[200], colors.darkGray[700])};\n border: 1px solid ${t(colors.gray[300], colors.darkGray[600])};\n `,\n instanceCard: css`\n background: ${t(colors.gray[200], colors.darkGray[700])};\n border-radius: ${border.radius.md};\n padding: ${size[3]};\n border: 1px solid ${t(colors.gray[300], colors.darkGray[600])};\n font-size: ${fontSize.sm};\n color: ${t(colors.gray[900], colors.gray[100])};\n font-family: ${fontFamily.mono};\n overflow-x: auto;\n transition:\n box-shadow 0.3s,\n background 0.3s;\n `,\n }\n}\n\nexport function useStyles() {\n const { theme } = useTheme()\n const [styles, setStyles] = createSignal(stylesFactory(theme()))\n createEffect(() => {\n setStyles(stylesFactory(theme()))\n })\n return styles\n}\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tanstack/pacer-devtools",
3
- "version": "0.1.0",
3
+ "version": "0.3.0",
4
4
  "description": "Devtools for Pacer.",
5
5
  "author": "Tanner Linsley",
6
6
  "license": "MIT",
@@ -24,27 +24,18 @@
24
24
  ],
25
25
  "type": "module",
26
26
  "types": "dist/esm/index.d.ts",
27
- "main": "dist/cjs/index.cjs",
28
27
  "module": "dist/esm/index.js",
29
28
  "exports": {
30
29
  ".": {
31
30
  "import": {
32
31
  "types": "./dist/esm/index.d.ts",
33
32
  "default": "./dist/esm/index.js"
34
- },
35
- "require": {
36
- "types": "./dist/cjs/index.d.cts",
37
- "default": "./dist/cjs/index.cjs"
38
33
  }
39
34
  },
40
35
  "./production": {
41
36
  "import": {
42
37
  "types": "./dist/esm/production.d.ts",
43
38
  "default": "./dist/esm/production.js"
44
- },
45
- "require": {
46
- "types": "./dist/cjs/production.d.cts",
47
- "default": "./dist/cjs/production.cjs"
48
39
  }
49
40
  },
50
41
  "./package.json": "./package.json"
@@ -61,7 +52,7 @@
61
52
  "@tanstack/pacer": ">=0.15.0"
62
53
  },
63
54
  "dependencies": {
64
- "@tanstack/devtools-ui": "^0.3.1",
55
+ "@tanstack/devtools-ui": "^0.3.4",
65
56
  "@tanstack/solid-store": "^0.7.3",
66
57
  "clsx": "^2.1.1",
67
58
  "dayjs": "^1.11.13",
@@ -1,4 +1,5 @@
1
1
  import { createMemo, createSignal, onCleanup, onMount } from 'solid-js'
2
+ import { Header, HeaderLogo, MainPanel } from '@tanstack/devtools-ui'
2
3
  import { useStyles } from '../styles/use-styles'
3
4
  import { usePacerDevtoolsState } from '../PacerContextProvider'
4
5
  import { UTIL_GROUPS } from './util-groups'
@@ -65,8 +66,12 @@ export function Shell() {
65
66
  })
66
67
 
67
68
  return (
68
- <div class={styles().devtoolsPanel}>
69
- <div class={styles().stickyHeader}>TanStack Pacer</div>
69
+ <MainPanel>
70
+ <Header>
71
+ <HeaderLogo flavor={{ light: '#84cc16', dark: '#84cc16' }}>
72
+ TanStack Pacer
73
+ </HeaderLogo>
74
+ </Header>
70
75
 
71
76
  <div class={styles().mainContainer}>
72
77
  <div
@@ -97,6 +102,6 @@ export function Shell() {
97
102
  />
98
103
  </div>
99
104
  </div>
100
- </div>
105
+ </MainPanel>
101
106
  )
102
107
  }
package/src/core.tsx CHANGED
@@ -7,10 +7,11 @@ export class PacerDevtoolsCore {
7
7
  #isMounted = false
8
8
  #dispose?: () => void
9
9
  #Component: any
10
+ #ThemeProvider: any
10
11
 
11
12
  constructor(_init?: PacerDevtoolsInit | undefined) {}
12
13
 
13
- mount<T extends HTMLElement>(el: T) {
14
+ mount<T extends HTMLElement>(el: T, theme: 'light' | 'dark') {
14
15
  if (this.#isMounted) {
15
16
  throw new Error('Devtools is already mounted')
16
17
  }
@@ -18,11 +19,19 @@ export class PacerDevtoolsCore {
18
19
  const dispose = render(() => {
19
20
  this.#Component = lazy(() => import('./PacerDevtools'))
20
21
  const Devtools = this.#Component
22
+ this.#ThemeProvider = lazy(() =>
23
+ import('@tanstack/devtools-ui').then((mod) => ({
24
+ default: mod.ThemeContextProvider,
25
+ })),
26
+ )
27
+ const ThemeProvider = this.#ThemeProvider
21
28
 
22
29
  return (
23
30
  <Portal mount={mountTo}>
24
31
  <div style={{ height: '100%' }}>
25
- <Devtools />
32
+ <ThemeProvider theme={theme}>
33
+ <Devtools />
34
+ </ThemeProvider>
26
35
  </div>
27
36
  </Portal>
28
37
  )