@preact/signals-devtools-ui 0.2.0 → 0.4.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.
- package/CHANGELOG.md +24 -0
- package/dist/devtools-ui.js +1 -1
- package/dist/devtools-ui.js.map +1 -1
- package/dist/devtools-ui.min.js +1 -1
- package/dist/devtools-ui.min.js.map +1 -1
- package/dist/devtools-ui.mjs +1 -1
- package/dist/devtools-ui.mjs.map +1 -1
- package/dist/devtools-ui.module.js +1 -1
- package/dist/devtools-ui.module.js.map +1 -1
- package/dist/styles.css +66 -30
- package/package.json +4 -3
- package/src/DevToolsPanel.tsx +1 -1
- package/src/components/Graph.tsx +216 -39
- package/src/components/UpdateItem.tsx +5 -2
- package/src/context.ts +5 -2
- package/src/styles.css +66 -30
- package/src/types.ts +2 -1
package/src/styles.css
CHANGED
|
@@ -7,7 +7,8 @@
|
|
|
7
7
|
}
|
|
8
8
|
|
|
9
9
|
body {
|
|
10
|
-
font-family:
|
|
10
|
+
font-family:
|
|
11
|
+
-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
|
|
11
12
|
font-size: 13px;
|
|
12
13
|
line-height: 1.4;
|
|
13
14
|
color: #333;
|
|
@@ -54,10 +55,10 @@ body {
|
|
|
54
55
|
}
|
|
55
56
|
|
|
56
57
|
.divider {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
58
|
+
width: 100%;
|
|
59
|
+
height: 2px;
|
|
60
|
+
background: #e0e0e0;
|
|
61
|
+
margin: 8px 0;
|
|
61
62
|
}
|
|
62
63
|
|
|
63
64
|
.status-indicator {
|
|
@@ -86,8 +87,13 @@ body {
|
|
|
86
87
|
}
|
|
87
88
|
|
|
88
89
|
@keyframes pulse {
|
|
89
|
-
0%,
|
|
90
|
-
|
|
90
|
+
0%,
|
|
91
|
+
100% {
|
|
92
|
+
opacity: 1;
|
|
93
|
+
}
|
|
94
|
+
50% {
|
|
95
|
+
opacity: 0.5;
|
|
96
|
+
}
|
|
91
97
|
}
|
|
92
98
|
|
|
93
99
|
.header-controls {
|
|
@@ -151,9 +157,8 @@ body {
|
|
|
151
157
|
background: white;
|
|
152
158
|
border: 1px solid #d0d0d0;
|
|
153
159
|
border-radius: 8px;
|
|
154
|
-
box-shadow: 0 4px 16px rgba(0,0,0,0.15);
|
|
160
|
+
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
|
|
155
161
|
z-index: 1000;
|
|
156
|
-
max-height: 400px;
|
|
157
162
|
overflow-y: auto;
|
|
158
163
|
}
|
|
159
164
|
|
|
@@ -315,16 +320,40 @@ body {
|
|
|
315
320
|
border-left: 4px solid #ff9800;
|
|
316
321
|
}
|
|
317
322
|
|
|
323
|
+
.update-item.component {
|
|
324
|
+
border-left: 4px solid #4caf50;
|
|
325
|
+
background-color: #f8fff8;
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
.update-type-badge {
|
|
329
|
+
font-size: 10px;
|
|
330
|
+
padding: 2px 6px;
|
|
331
|
+
border-radius: 3px;
|
|
332
|
+
background: #e0e0e0;
|
|
333
|
+
color: #666;
|
|
334
|
+
margin-left: 8px;
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
.update-item.component .update-type-badge {
|
|
338
|
+
background: #e8f5e9;
|
|
339
|
+
color: #2e7d32;
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
.update-item.effect .update-type-badge {
|
|
343
|
+
background: #fff3e0;
|
|
344
|
+
color: #e65100;
|
|
345
|
+
}
|
|
346
|
+
|
|
318
347
|
.component-name-header {
|
|
319
|
-
|
|
348
|
+
margin-right: 8px;
|
|
320
349
|
}
|
|
321
350
|
|
|
322
351
|
.component-list {
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
352
|
+
list-style: none;
|
|
353
|
+
display: flex;
|
|
354
|
+
padding: 0;
|
|
355
|
+
margin: 0;
|
|
356
|
+
font-family: monospace;
|
|
328
357
|
background: #f8f9fa;
|
|
329
358
|
padding: 4px 6px;
|
|
330
359
|
border-radius: 3px;
|
|
@@ -346,6 +375,10 @@ body {
|
|
|
346
375
|
margin-bottom: 4px;
|
|
347
376
|
}
|
|
348
377
|
|
|
378
|
+
.signals-devtools {
|
|
379
|
+
position: relative;
|
|
380
|
+
}
|
|
381
|
+
|
|
349
382
|
.update-count {
|
|
350
383
|
display: inline-block;
|
|
351
384
|
padding: 0 6px;
|
|
@@ -436,8 +469,7 @@ body {
|
|
|
436
469
|
position: relative;
|
|
437
470
|
background:
|
|
438
471
|
linear-gradient(90deg, #e5e7eb 1px, transparent 1px),
|
|
439
|
-
linear-gradient(180deg, #e5e7eb 1px, transparent 1px),
|
|
440
|
-
#f8fafc;
|
|
472
|
+
linear-gradient(180deg, #e5e7eb 1px, transparent 1px), #f8fafc;
|
|
441
473
|
background-size: 40px 40px;
|
|
442
474
|
overflow: hidden;
|
|
443
475
|
user-select: none;
|
|
@@ -469,7 +501,7 @@ body {
|
|
|
469
501
|
font-size: 12px;
|
|
470
502
|
font-weight: 500;
|
|
471
503
|
cursor: pointer;
|
|
472
|
-
box-shadow: 0 2px 6px rgba(0,0,0,0.08);
|
|
504
|
+
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
|
|
473
505
|
transition: all 0.15s ease;
|
|
474
506
|
}
|
|
475
507
|
|
|
@@ -477,7 +509,7 @@ body {
|
|
|
477
509
|
.graph-export-button:hover {
|
|
478
510
|
background: #fff;
|
|
479
511
|
border-color: #cbd5e1;
|
|
480
|
-
box-shadow: 0 4px 8px rgba(0,0,0,0.12);
|
|
512
|
+
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.12);
|
|
481
513
|
transform: translateY(-1px);
|
|
482
514
|
}
|
|
483
515
|
|
|
@@ -499,7 +531,7 @@ body {
|
|
|
499
531
|
background: white;
|
|
500
532
|
border: 1px solid #e0e0e0;
|
|
501
533
|
border-radius: 4px;
|
|
502
|
-
box-shadow: 0 4px 8px rgba(0,0,0,0.15);
|
|
534
|
+
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
|
|
503
535
|
overflow: hidden;
|
|
504
536
|
min-width: 180px;
|
|
505
537
|
}
|
|
@@ -539,21 +571,23 @@ body {
|
|
|
539
571
|
font-size: 11px;
|
|
540
572
|
font-weight: 600;
|
|
541
573
|
font-family: monospace;
|
|
542
|
-
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
|
|
574
|
+
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
|
|
543
575
|
min-width: 48px;
|
|
544
576
|
text-align: center;
|
|
545
577
|
}
|
|
546
578
|
|
|
547
579
|
.graph-node {
|
|
548
580
|
cursor: pointer;
|
|
549
|
-
transition:
|
|
581
|
+
transition:
|
|
582
|
+
transform 0.15s ease,
|
|
583
|
+
filter 0.15s ease;
|
|
550
584
|
stroke: #fff;
|
|
551
585
|
stroke-width: 2.5;
|
|
552
|
-
filter: drop-shadow(0 3px 6px rgba(0,0,0,0.15));
|
|
586
|
+
filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.15));
|
|
553
587
|
}
|
|
554
588
|
|
|
555
589
|
.graph-node-group.hovered .graph-node {
|
|
556
|
-
filter: brightness(1.15) drop-shadow(0 4px 12px rgba(0,0,0,0.25));
|
|
590
|
+
filter: brightness(1.15) drop-shadow(0 4px 12px rgba(0, 0, 0, 0.25));
|
|
557
591
|
stroke-width: 3;
|
|
558
592
|
}
|
|
559
593
|
|
|
@@ -577,7 +611,9 @@ body {
|
|
|
577
611
|
stroke: #94a3b8;
|
|
578
612
|
stroke-width: 2;
|
|
579
613
|
fill: none;
|
|
580
|
-
transition:
|
|
614
|
+
transition:
|
|
615
|
+
stroke 0.2s,
|
|
616
|
+
stroke-width 0.2s;
|
|
581
617
|
}
|
|
582
618
|
|
|
583
619
|
.graph-link.highlighted {
|
|
@@ -592,7 +628,7 @@ body {
|
|
|
592
628
|
font-size: 12px;
|
|
593
629
|
font-weight: 600;
|
|
594
630
|
pointer-events: none;
|
|
595
|
-
text-shadow: 0 1px 3px rgba(0,0,0,0.4);
|
|
631
|
+
text-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
|
|
596
632
|
letter-spacing: 0.2px;
|
|
597
633
|
}
|
|
598
634
|
|
|
@@ -604,7 +640,7 @@ body {
|
|
|
604
640
|
padding: 10px 14px;
|
|
605
641
|
border-radius: 8px;
|
|
606
642
|
font-size: 12px;
|
|
607
|
-
box-shadow: 0 8px 24px rgba(0,0,0,0.25);
|
|
643
|
+
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
|
|
608
644
|
z-index: 1000;
|
|
609
645
|
pointer-events: none;
|
|
610
646
|
transform: translateY(-50%);
|
|
@@ -676,7 +712,7 @@ body {
|
|
|
676
712
|
border-radius: 8px;
|
|
677
713
|
padding: 14px 16px;
|
|
678
714
|
font-size: 12px;
|
|
679
|
-
box-shadow: 0 4px 12px rgba(0,0,0,0.08);
|
|
715
|
+
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
|
|
680
716
|
}
|
|
681
717
|
|
|
682
718
|
.legend-item {
|
|
@@ -694,7 +730,7 @@ body {
|
|
|
694
730
|
width: 14px;
|
|
695
731
|
height: 14px;
|
|
696
732
|
border-radius: 50%;
|
|
697
|
-
box-shadow: 0 2px 4px rgba(0,0,0,0.15);
|
|
733
|
+
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
|
|
698
734
|
}
|
|
699
735
|
|
|
700
736
|
.component-boundary {
|
|
@@ -730,7 +766,7 @@ body {
|
|
|
730
766
|
border-radius: 4px;
|
|
731
767
|
font-size: 13px;
|
|
732
768
|
font-weight: 500;
|
|
733
|
-
box-shadow: 0 4px 12px rgba(0,0,0,0.3);
|
|
769
|
+
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
|
|
734
770
|
z-index: 1000;
|
|
735
771
|
animation: slideInFade 0.3s ease-out;
|
|
736
772
|
}
|
package/src/types.ts
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
export type {
|
|
5
5
|
SignalUpdate,
|
|
6
6
|
SignalDisposed,
|
|
7
|
+
DependencyInfo,
|
|
7
8
|
Settings,
|
|
8
9
|
ConnectionStatus,
|
|
9
10
|
ConnectionStatusType,
|
|
@@ -16,7 +17,7 @@ export type {
|
|
|
16
17
|
export interface GraphNode {
|
|
17
18
|
id: string;
|
|
18
19
|
name: string;
|
|
19
|
-
type: "signal" | "computed" | "effect";
|
|
20
|
+
type: "signal" | "computed" | "effect" | "component";
|
|
20
21
|
x: number;
|
|
21
22
|
y: number;
|
|
22
23
|
depth: number;
|