one 1.2.65 → 1.2.66
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/dist/cjs/vite/DevHead.cjs +74 -5
- package/dist/cjs/vite/DevHead.js +74 -5
- package/dist/cjs/vite/DevHead.js.map +1 -1
- package/dist/cjs/vite/DevHead.native.js +74 -5
- package/dist/cjs/vite/DevHead.native.js.map +1 -1
- package/dist/esm/vite/DevHead.js +74 -5
- package/dist/esm/vite/DevHead.js.map +1 -1
- package/dist/esm/vite/DevHead.mjs +74 -5
- package/dist/esm/vite/DevHead.mjs.map +1 -1
- package/dist/esm/vite/DevHead.native.js +74 -5
- package/dist/esm/vite/DevHead.native.js.map +1 -1
- package/package.json +9 -9
- package/src/vite/DevHead.tsx +74 -5
- package/types/vite/DevHead.d.ts.map +1 -1
|
@@ -40,6 +40,7 @@ const ROUTE_HMR_SCRIPT = 'import { createHotContext } from "/@vite/client"; cons
|
|
|
40
40
|
var dragOffset = { x: 0, y: 0 };
|
|
41
41
|
var panelPos = { x: 20, y: 20 };
|
|
42
42
|
var snappedEdge = { h: null, v: null };
|
|
43
|
+
var removalObserver = null;
|
|
43
44
|
|
|
44
45
|
var LOGO_SVG = '<svg width="24" height="24" viewBox="0 0 100 100"><circle cx="50" cy="50" r="48" fill="#FCD34D" stroke="#222" stroke-width="2"/><circle cx="50" cy="35" r="16" fill="white"/><text x="50" y="41" text-anchor="middle" font-family="system-ui" font-size="16" font-weight="bold" fill="#222">1</text></svg>';
|
|
45
46
|
|
|
@@ -258,6 +259,32 @@ const ROUTE_HMR_SCRIPT = 'import { createHotContext } from "/@vite/client"; cons
|
|
|
258
259
|
setupSpotlight();
|
|
259
260
|
setupPanel();
|
|
260
261
|
setupKeyboard();
|
|
262
|
+
setupRemovalObserver();
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
// watch for React hydration removing our element and re-create it
|
|
266
|
+
function setupRemovalObserver() {
|
|
267
|
+
if (removalObserver) return;
|
|
268
|
+
removalObserver = new MutationObserver(function(mutations) {
|
|
269
|
+
for (var i = 0; i < mutations.length; i++) {
|
|
270
|
+
var mutation = mutations[i];
|
|
271
|
+
if (mutation.type === 'childList') {
|
|
272
|
+
for (var j = 0; j < mutation.removedNodes.length; j++) {
|
|
273
|
+
var node = mutation.removedNodes[j];
|
|
274
|
+
if (node === host) {
|
|
275
|
+
// our element was removed (likely by React hydration), re-create it
|
|
276
|
+
host = null;
|
|
277
|
+
shadow = null;
|
|
278
|
+
spotlight = null;
|
|
279
|
+
panel = null;
|
|
280
|
+
setTimeout(createHost, 0);
|
|
281
|
+
return;
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
});
|
|
287
|
+
removalObserver.observe(document.body, { childList: true });
|
|
261
288
|
}
|
|
262
289
|
|
|
263
290
|
function setupSpotlight() {
|
|
@@ -377,7 +404,10 @@ const ROUTE_HMR_SCRIPT = 'import { createHotContext } from "/@vite/client"; cons
|
|
|
377
404
|
});
|
|
378
405
|
}
|
|
379
406
|
|
|
407
|
+
var keyboardSetup = false;
|
|
380
408
|
function setupKeyboard() {
|
|
409
|
+
if (keyboardSetup) return;
|
|
410
|
+
keyboardSetup = true;
|
|
381
411
|
document.addEventListener('keydown', function(e) {
|
|
382
412
|
if (e.altKey && e.code === 'Space') {
|
|
383
413
|
e.preventDefault();
|
|
@@ -392,14 +422,14 @@ const ROUTE_HMR_SCRIPT = 'import { createHotContext } from "/@vite/client"; cons
|
|
|
392
422
|
showPanel();
|
|
393
423
|
}
|
|
394
424
|
} else if (e.code === 'Escape') {
|
|
395
|
-
if (spotlight.classList.contains('visible')) hideSpotlight();
|
|
396
|
-
else if (panel.classList.contains('visible')) hidePanel();
|
|
425
|
+
if (spotlight && spotlight.classList.contains('visible')) hideSpotlight();
|
|
426
|
+
else if (panel && panel.classList.contains('visible')) hidePanel();
|
|
397
427
|
}
|
|
398
428
|
});
|
|
399
429
|
}
|
|
400
430
|
|
|
401
431
|
function toggleSpotlight() {
|
|
402
|
-
if (spotlight.classList.contains('visible')) hideSpotlight();
|
|
432
|
+
if (spotlight && spotlight.classList.contains('visible')) hideSpotlight();
|
|
403
433
|
else showSpotlight();
|
|
404
434
|
}
|
|
405
435
|
|
|
@@ -588,8 +618,21 @@ const ROUTE_HMR_SCRIPT = 'import { createHotContext } from "/@vite/client"; cons
|
|
|
588
618
|
return html;
|
|
589
619
|
}
|
|
590
620
|
|
|
591
|
-
// Initialize
|
|
592
|
-
|
|
621
|
+
// Initialize after React hydration completes
|
|
622
|
+
// use requestIdleCallback to wait for the browser to be idle (after hydration)
|
|
623
|
+
function initAfterHydration() {
|
|
624
|
+
if (typeof requestIdleCallback !== 'undefined') {
|
|
625
|
+
requestIdleCallback(createHost, { timeout: 3000 });
|
|
626
|
+
} else {
|
|
627
|
+
setTimeout(createHost, 100);
|
|
628
|
+
}
|
|
629
|
+
}
|
|
630
|
+
|
|
631
|
+
if (document.readyState === 'complete') {
|
|
632
|
+
initAfterHydration();
|
|
633
|
+
} else {
|
|
634
|
+
window.addEventListener('load', initAfterHydration);
|
|
635
|
+
}
|
|
593
636
|
|
|
594
637
|
// Listen for events
|
|
595
638
|
window.addEventListener('one-loader-timing', function() {
|
|
@@ -637,6 +680,7 @@ const ROUTE_HMR_SCRIPT = 'import { createHotContext } from "/@vite/client"; cons
|
|
|
637
680
|
var holdTimer = null;
|
|
638
681
|
var holdDelay = 500;
|
|
639
682
|
var mousePos = { x: 0, y: 0 };
|
|
683
|
+
var removalObserver = null;
|
|
640
684
|
|
|
641
685
|
function createHost() {
|
|
642
686
|
if (host) return;
|
|
@@ -677,6 +721,31 @@ const ROUTE_HMR_SCRIPT = 'import { createHotContext } from "/@vite/client"; cons
|
|
|
677
721
|
document.body.appendChild(host);
|
|
678
722
|
overlay = shadow.querySelector('.overlay');
|
|
679
723
|
tag = shadow.querySelector('.tag');
|
|
724
|
+
setupRemovalObserver();
|
|
725
|
+
}
|
|
726
|
+
|
|
727
|
+
// watch for React hydration removing our element and re-create it
|
|
728
|
+
function setupRemovalObserver() {
|
|
729
|
+
if (removalObserver) return;
|
|
730
|
+
removalObserver = new MutationObserver(function(mutations) {
|
|
731
|
+
for (var i = 0; i < mutations.length; i++) {
|
|
732
|
+
var mutation = mutations[i];
|
|
733
|
+
if (mutation.type === 'childList') {
|
|
734
|
+
for (var j = 0; j < mutation.removedNodes.length; j++) {
|
|
735
|
+
var node = mutation.removedNodes[j];
|
|
736
|
+
if (node === host) {
|
|
737
|
+
host = null;
|
|
738
|
+
shadow = null;
|
|
739
|
+
overlay = null;
|
|
740
|
+
tag = null;
|
|
741
|
+
// don't auto-recreate - will be created on next hover
|
|
742
|
+
return;
|
|
743
|
+
}
|
|
744
|
+
}
|
|
745
|
+
}
|
|
746
|
+
}
|
|
747
|
+
});
|
|
748
|
+
removalObserver.observe(document.body, { childList: true });
|
|
680
749
|
}
|
|
681
750
|
|
|
682
751
|
function hideOverlay() {
|
package/dist/cjs/vite/DevHead.js
CHANGED
|
@@ -30,6 +30,7 @@ const ROUTE_HMR_SCRIPT = 'import { createHotContext } from "/@vite/client"; cons
|
|
|
30
30
|
var dragOffset = { x: 0, y: 0 };
|
|
31
31
|
var panelPos = { x: 20, y: 20 };
|
|
32
32
|
var snappedEdge = { h: null, v: null };
|
|
33
|
+
var removalObserver = null;
|
|
33
34
|
|
|
34
35
|
var LOGO_SVG = '<svg width="24" height="24" viewBox="0 0 100 100"><circle cx="50" cy="50" r="48" fill="#FCD34D" stroke="#222" stroke-width="2"/><circle cx="50" cy="35" r="16" fill="white"/><text x="50" y="41" text-anchor="middle" font-family="system-ui" font-size="16" font-weight="bold" fill="#222">1</text></svg>';
|
|
35
36
|
|
|
@@ -248,6 +249,32 @@ const ROUTE_HMR_SCRIPT = 'import { createHotContext } from "/@vite/client"; cons
|
|
|
248
249
|
setupSpotlight();
|
|
249
250
|
setupPanel();
|
|
250
251
|
setupKeyboard();
|
|
252
|
+
setupRemovalObserver();
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
// watch for React hydration removing our element and re-create it
|
|
256
|
+
function setupRemovalObserver() {
|
|
257
|
+
if (removalObserver) return;
|
|
258
|
+
removalObserver = new MutationObserver(function(mutations) {
|
|
259
|
+
for (var i = 0; i < mutations.length; i++) {
|
|
260
|
+
var mutation = mutations[i];
|
|
261
|
+
if (mutation.type === 'childList') {
|
|
262
|
+
for (var j = 0; j < mutation.removedNodes.length; j++) {
|
|
263
|
+
var node = mutation.removedNodes[j];
|
|
264
|
+
if (node === host) {
|
|
265
|
+
// our element was removed (likely by React hydration), re-create it
|
|
266
|
+
host = null;
|
|
267
|
+
shadow = null;
|
|
268
|
+
spotlight = null;
|
|
269
|
+
panel = null;
|
|
270
|
+
setTimeout(createHost, 0);
|
|
271
|
+
return;
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
});
|
|
277
|
+
removalObserver.observe(document.body, { childList: true });
|
|
251
278
|
}
|
|
252
279
|
|
|
253
280
|
function setupSpotlight() {
|
|
@@ -367,7 +394,10 @@ const ROUTE_HMR_SCRIPT = 'import { createHotContext } from "/@vite/client"; cons
|
|
|
367
394
|
});
|
|
368
395
|
}
|
|
369
396
|
|
|
397
|
+
var keyboardSetup = false;
|
|
370
398
|
function setupKeyboard() {
|
|
399
|
+
if (keyboardSetup) return;
|
|
400
|
+
keyboardSetup = true;
|
|
371
401
|
document.addEventListener('keydown', function(e) {
|
|
372
402
|
if (e.altKey && e.code === 'Space') {
|
|
373
403
|
e.preventDefault();
|
|
@@ -382,14 +412,14 @@ const ROUTE_HMR_SCRIPT = 'import { createHotContext } from "/@vite/client"; cons
|
|
|
382
412
|
showPanel();
|
|
383
413
|
}
|
|
384
414
|
} else if (e.code === 'Escape') {
|
|
385
|
-
if (spotlight.classList.contains('visible')) hideSpotlight();
|
|
386
|
-
else if (panel.classList.contains('visible')) hidePanel();
|
|
415
|
+
if (spotlight && spotlight.classList.contains('visible')) hideSpotlight();
|
|
416
|
+
else if (panel && panel.classList.contains('visible')) hidePanel();
|
|
387
417
|
}
|
|
388
418
|
});
|
|
389
419
|
}
|
|
390
420
|
|
|
391
421
|
function toggleSpotlight() {
|
|
392
|
-
if (spotlight.classList.contains('visible')) hideSpotlight();
|
|
422
|
+
if (spotlight && spotlight.classList.contains('visible')) hideSpotlight();
|
|
393
423
|
else showSpotlight();
|
|
394
424
|
}
|
|
395
425
|
|
|
@@ -578,8 +608,21 @@ const ROUTE_HMR_SCRIPT = 'import { createHotContext } from "/@vite/client"; cons
|
|
|
578
608
|
return html;
|
|
579
609
|
}
|
|
580
610
|
|
|
581
|
-
// Initialize
|
|
582
|
-
|
|
611
|
+
// Initialize after React hydration completes
|
|
612
|
+
// use requestIdleCallback to wait for the browser to be idle (after hydration)
|
|
613
|
+
function initAfterHydration() {
|
|
614
|
+
if (typeof requestIdleCallback !== 'undefined') {
|
|
615
|
+
requestIdleCallback(createHost, { timeout: 3000 });
|
|
616
|
+
} else {
|
|
617
|
+
setTimeout(createHost, 100);
|
|
618
|
+
}
|
|
619
|
+
}
|
|
620
|
+
|
|
621
|
+
if (document.readyState === 'complete') {
|
|
622
|
+
initAfterHydration();
|
|
623
|
+
} else {
|
|
624
|
+
window.addEventListener('load', initAfterHydration);
|
|
625
|
+
}
|
|
583
626
|
|
|
584
627
|
// Listen for events
|
|
585
628
|
window.addEventListener('one-loader-timing', function() {
|
|
@@ -626,6 +669,7 @@ const ROUTE_HMR_SCRIPT = 'import { createHotContext } from "/@vite/client"; cons
|
|
|
626
669
|
var holdTimer = null;
|
|
627
670
|
var holdDelay = 500;
|
|
628
671
|
var mousePos = { x: 0, y: 0 };
|
|
672
|
+
var removalObserver = null;
|
|
629
673
|
|
|
630
674
|
function createHost() {
|
|
631
675
|
if (host) return;
|
|
@@ -666,6 +710,31 @@ const ROUTE_HMR_SCRIPT = 'import { createHotContext } from "/@vite/client"; cons
|
|
|
666
710
|
document.body.appendChild(host);
|
|
667
711
|
overlay = shadow.querySelector('.overlay');
|
|
668
712
|
tag = shadow.querySelector('.tag');
|
|
713
|
+
setupRemovalObserver();
|
|
714
|
+
}
|
|
715
|
+
|
|
716
|
+
// watch for React hydration removing our element and re-create it
|
|
717
|
+
function setupRemovalObserver() {
|
|
718
|
+
if (removalObserver) return;
|
|
719
|
+
removalObserver = new MutationObserver(function(mutations) {
|
|
720
|
+
for (var i = 0; i < mutations.length; i++) {
|
|
721
|
+
var mutation = mutations[i];
|
|
722
|
+
if (mutation.type === 'childList') {
|
|
723
|
+
for (var j = 0; j < mutation.removedNodes.length; j++) {
|
|
724
|
+
var node = mutation.removedNodes[j];
|
|
725
|
+
if (node === host) {
|
|
726
|
+
host = null;
|
|
727
|
+
shadow = null;
|
|
728
|
+
overlay = null;
|
|
729
|
+
tag = null;
|
|
730
|
+
// don't auto-recreate - will be created on next hover
|
|
731
|
+
return;
|
|
732
|
+
}
|
|
733
|
+
}
|
|
734
|
+
}
|
|
735
|
+
}
|
|
736
|
+
});
|
|
737
|
+
removalObserver.observe(document.body, { childList: true });
|
|
669
738
|
}
|
|
670
739
|
|
|
671
740
|
function hideOverlay() {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/vite/DevHead.tsx"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,uBAAqC,
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,uBAAqC,yBA02B/B;AAv2BN,MAAM,mBACJ,qVAGI,oBACJ,yeAGI,uBACJ,qKAII,sBAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAooBtB,0BAA0B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAgNzB,SAAS,UAAU;AAIxB,SAAI,QAAQ,IAAI,aAAa,gBAEzB,4EACE;AAAA,gDAAC,UAAK,KAAI,WAAU,MAAM,uCAAsB,IAAG,SAAQ;AAAA,IAC3D;AAAA,MAAC;AAAA;AAAA,QACC,KAAI;AAAA,QACJ,MAAM;AAAA,QACN,gBAAY;AAAA,QACZ,0BAAwB;AAAA;AAAA,IAC1B;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,0BAAwB;AAAA,QACxB,yBAAyB,EAAE,QAAQ,iBAAiB;AAAA;AAAA,IACtD;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,0BAAwB;AAAA,QACxB,yBAAyB,EAAE,QAAQ,kBAAkB;AAAA;AAAA,IACvD;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,0BAAwB;AAAA,QACxB,yBAAyB,EAAE,QAAQ,qBAAqB;AAAA;AAAA,IAC1D;AAAA,IAEA;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,0BAAwB;AAAA,QACxB,yBAAyB,EAAE,QAAQ,oBAAoB;AAAA;AAAA,IACzD;AAAA,IAEA;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,0BAAwB;AAAA,QACxB,yBAAyB,EAAE,QAAQ,wBAAwB;AAAA;AAAA,IAC7D;AAAA,KACF,IAGG;AACT;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -42,6 +42,7 @@ var import_jsx_runtime = require("react/jsx-runtime"),
|
|
|
42
42
|
var dragOffset = { x: 0, y: 0 };
|
|
43
43
|
var panelPos = { x: 20, y: 20 };
|
|
44
44
|
var snappedEdge = { h: null, v: null };
|
|
45
|
+
var removalObserver = null;
|
|
45
46
|
|
|
46
47
|
var LOGO_SVG = '<svg width="24" height="24" viewBox="0 0 100 100"><circle cx="50" cy="50" r="48" fill="#FCD34D" stroke="#222" stroke-width="2"/><circle cx="50" cy="35" r="16" fill="white"/><text x="50" y="41" text-anchor="middle" font-family="system-ui" font-size="16" font-weight="bold" fill="#222">1</text></svg>';
|
|
47
48
|
|
|
@@ -260,6 +261,32 @@ var import_jsx_runtime = require("react/jsx-runtime"),
|
|
|
260
261
|
setupSpotlight();
|
|
261
262
|
setupPanel();
|
|
262
263
|
setupKeyboard();
|
|
264
|
+
setupRemovalObserver();
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
// watch for React hydration removing our element and re-create it
|
|
268
|
+
function setupRemovalObserver() {
|
|
269
|
+
if (removalObserver) return;
|
|
270
|
+
removalObserver = new MutationObserver(function(mutations) {
|
|
271
|
+
for (var i = 0; i < mutations.length; i++) {
|
|
272
|
+
var mutation = mutations[i];
|
|
273
|
+
if (mutation.type === 'childList') {
|
|
274
|
+
for (var j = 0; j < mutation.removedNodes.length; j++) {
|
|
275
|
+
var node = mutation.removedNodes[j];
|
|
276
|
+
if (node === host) {
|
|
277
|
+
// our element was removed (likely by React hydration), re-create it
|
|
278
|
+
host = null;
|
|
279
|
+
shadow = null;
|
|
280
|
+
spotlight = null;
|
|
281
|
+
panel = null;
|
|
282
|
+
setTimeout(createHost, 0);
|
|
283
|
+
return;
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
});
|
|
289
|
+
removalObserver.observe(document.body, { childList: true });
|
|
263
290
|
}
|
|
264
291
|
|
|
265
292
|
function setupSpotlight() {
|
|
@@ -379,7 +406,10 @@ var import_jsx_runtime = require("react/jsx-runtime"),
|
|
|
379
406
|
});
|
|
380
407
|
}
|
|
381
408
|
|
|
409
|
+
var keyboardSetup = false;
|
|
382
410
|
function setupKeyboard() {
|
|
411
|
+
if (keyboardSetup) return;
|
|
412
|
+
keyboardSetup = true;
|
|
383
413
|
document.addEventListener('keydown', function(e) {
|
|
384
414
|
if (e.altKey && e.code === 'Space') {
|
|
385
415
|
e.preventDefault();
|
|
@@ -394,14 +424,14 @@ var import_jsx_runtime = require("react/jsx-runtime"),
|
|
|
394
424
|
showPanel();
|
|
395
425
|
}
|
|
396
426
|
} else if (e.code === 'Escape') {
|
|
397
|
-
if (spotlight.classList.contains('visible')) hideSpotlight();
|
|
398
|
-
else if (panel.classList.contains('visible')) hidePanel();
|
|
427
|
+
if (spotlight && spotlight.classList.contains('visible')) hideSpotlight();
|
|
428
|
+
else if (panel && panel.classList.contains('visible')) hidePanel();
|
|
399
429
|
}
|
|
400
430
|
});
|
|
401
431
|
}
|
|
402
432
|
|
|
403
433
|
function toggleSpotlight() {
|
|
404
|
-
if (spotlight.classList.contains('visible')) hideSpotlight();
|
|
434
|
+
if (spotlight && spotlight.classList.contains('visible')) hideSpotlight();
|
|
405
435
|
else showSpotlight();
|
|
406
436
|
}
|
|
407
437
|
|
|
@@ -590,8 +620,21 @@ var import_jsx_runtime = require("react/jsx-runtime"),
|
|
|
590
620
|
return html;
|
|
591
621
|
}
|
|
592
622
|
|
|
593
|
-
// Initialize
|
|
594
|
-
|
|
623
|
+
// Initialize after React hydration completes
|
|
624
|
+
// use requestIdleCallback to wait for the browser to be idle (after hydration)
|
|
625
|
+
function initAfterHydration() {
|
|
626
|
+
if (typeof requestIdleCallback !== 'undefined') {
|
|
627
|
+
requestIdleCallback(createHost, { timeout: 3000 });
|
|
628
|
+
} else {
|
|
629
|
+
setTimeout(createHost, 100);
|
|
630
|
+
}
|
|
631
|
+
}
|
|
632
|
+
|
|
633
|
+
if (document.readyState === 'complete') {
|
|
634
|
+
initAfterHydration();
|
|
635
|
+
} else {
|
|
636
|
+
window.addEventListener('load', initAfterHydration);
|
|
637
|
+
}
|
|
595
638
|
|
|
596
639
|
// Listen for events
|
|
597
640
|
window.addEventListener('one-loader-timing', function() {
|
|
@@ -639,6 +682,7 @@ var import_jsx_runtime = require("react/jsx-runtime"),
|
|
|
639
682
|
var holdTimer = null;
|
|
640
683
|
var holdDelay = 500;
|
|
641
684
|
var mousePos = { x: 0, y: 0 };
|
|
685
|
+
var removalObserver = null;
|
|
642
686
|
|
|
643
687
|
function createHost() {
|
|
644
688
|
if (host) return;
|
|
@@ -679,6 +723,31 @@ var import_jsx_runtime = require("react/jsx-runtime"),
|
|
|
679
723
|
document.body.appendChild(host);
|
|
680
724
|
overlay = shadow.querySelector('.overlay');
|
|
681
725
|
tag = shadow.querySelector('.tag');
|
|
726
|
+
setupRemovalObserver();
|
|
727
|
+
}
|
|
728
|
+
|
|
729
|
+
// watch for React hydration removing our element and re-create it
|
|
730
|
+
function setupRemovalObserver() {
|
|
731
|
+
if (removalObserver) return;
|
|
732
|
+
removalObserver = new MutationObserver(function(mutations) {
|
|
733
|
+
for (var i = 0; i < mutations.length; i++) {
|
|
734
|
+
var mutation = mutations[i];
|
|
735
|
+
if (mutation.type === 'childList') {
|
|
736
|
+
for (var j = 0; j < mutation.removedNodes.length; j++) {
|
|
737
|
+
var node = mutation.removedNodes[j];
|
|
738
|
+
if (node === host) {
|
|
739
|
+
host = null;
|
|
740
|
+
shadow = null;
|
|
741
|
+
overlay = null;
|
|
742
|
+
tag = null;
|
|
743
|
+
// don't auto-recreate - will be created on next hover
|
|
744
|
+
return;
|
|
745
|
+
}
|
|
746
|
+
}
|
|
747
|
+
}
|
|
748
|
+
}
|
|
749
|
+
});
|
|
750
|
+
removalObserver.observe(document.body, { childList: true });
|
|
682
751
|
}
|
|
683
752
|
|
|
684
753
|
function hideOverlay() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","DevHead_exports","__export","DevHead","module","exports","import_jsx_runtime","require","import_constants","ROUTE_HMR_SCRIPT","LOADER_HMR_SCRIPT","REACT_REFRESH_SCRIPT","ONE_DEVTOOLS_SCRIPT","SOURCE_INSPECTOR_SCRIPT"],"sources":["../../../src/vite/DevHead.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,eAAA;AAAAC,QAAA,CAAAD,eAAA;EAAAE,OAAA,EAAAA,CAAA,KAAAA;AAAA;AACAC,MAAA,CAAAC,OAAA,GAAAT,YAAqC,CAAAK,eAAA;AAGrC,IAAAK,kBAAM,GACJC,OAAA;EAAAC,gBAAA,GAAAD,OAAA;EAAAE,gBAAA,sVAIA;EAAAC,iBAAA,0eAIA;EAAAC,oBAAA,sKAI0B;EAAAC,mBAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","DevHead_exports","__export","DevHead","module","exports","import_jsx_runtime","require","import_constants","ROUTE_HMR_SCRIPT","LOADER_HMR_SCRIPT","REACT_REFRESH_SCRIPT","ONE_DEVTOOLS_SCRIPT","SOURCE_INSPECTOR_SCRIPT"],"sources":["../../../src/vite/DevHead.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,eAAA;AAAAC,QAAA,CAAAD,eAAA;EAAAE,OAAA,EAAAA,CAAA,KAAAA;AAAA;AACAC,MAAA,CAAAC,OAAA,GAAAT,YAAqC,CAAAK,eAAA;AAGrC,IAAAK,kBAAM,GACJC,OAAA;EAAAC,gBAAA,GAAAD,OAAA;EAAAE,gBAAA,sVAIA;EAAAC,iBAAA,0eAIA;EAAAC,oBAAA,sKAI0B;EAAAC,mBAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAooBtBC,uBAAA,GAA0B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAgNzB,SAASV,QAAA,EAAU;EAIxB,OAAI;AAGE","ignoreList":[]}
|
package/dist/esm/vite/DevHead.js
CHANGED
|
@@ -12,6 +12,7 @@ const ROUTE_HMR_SCRIPT = 'import { createHotContext } from "/@vite/client"; cons
|
|
|
12
12
|
var dragOffset = { x: 0, y: 0 };
|
|
13
13
|
var panelPos = { x: 20, y: 20 };
|
|
14
14
|
var snappedEdge = { h: null, v: null };
|
|
15
|
+
var removalObserver = null;
|
|
15
16
|
|
|
16
17
|
var LOGO_SVG = '<svg width="24" height="24" viewBox="0 0 100 100"><circle cx="50" cy="50" r="48" fill="#FCD34D" stroke="#222" stroke-width="2"/><circle cx="50" cy="35" r="16" fill="white"/><text x="50" y="41" text-anchor="middle" font-family="system-ui" font-size="16" font-weight="bold" fill="#222">1</text></svg>';
|
|
17
18
|
|
|
@@ -230,6 +231,32 @@ const ROUTE_HMR_SCRIPT = 'import { createHotContext } from "/@vite/client"; cons
|
|
|
230
231
|
setupSpotlight();
|
|
231
232
|
setupPanel();
|
|
232
233
|
setupKeyboard();
|
|
234
|
+
setupRemovalObserver();
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
// watch for React hydration removing our element and re-create it
|
|
238
|
+
function setupRemovalObserver() {
|
|
239
|
+
if (removalObserver) return;
|
|
240
|
+
removalObserver = new MutationObserver(function(mutations) {
|
|
241
|
+
for (var i = 0; i < mutations.length; i++) {
|
|
242
|
+
var mutation = mutations[i];
|
|
243
|
+
if (mutation.type === 'childList') {
|
|
244
|
+
for (var j = 0; j < mutation.removedNodes.length; j++) {
|
|
245
|
+
var node = mutation.removedNodes[j];
|
|
246
|
+
if (node === host) {
|
|
247
|
+
// our element was removed (likely by React hydration), re-create it
|
|
248
|
+
host = null;
|
|
249
|
+
shadow = null;
|
|
250
|
+
spotlight = null;
|
|
251
|
+
panel = null;
|
|
252
|
+
setTimeout(createHost, 0);
|
|
253
|
+
return;
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
});
|
|
259
|
+
removalObserver.observe(document.body, { childList: true });
|
|
233
260
|
}
|
|
234
261
|
|
|
235
262
|
function setupSpotlight() {
|
|
@@ -349,7 +376,10 @@ const ROUTE_HMR_SCRIPT = 'import { createHotContext } from "/@vite/client"; cons
|
|
|
349
376
|
});
|
|
350
377
|
}
|
|
351
378
|
|
|
379
|
+
var keyboardSetup = false;
|
|
352
380
|
function setupKeyboard() {
|
|
381
|
+
if (keyboardSetup) return;
|
|
382
|
+
keyboardSetup = true;
|
|
353
383
|
document.addEventListener('keydown', function(e) {
|
|
354
384
|
if (e.altKey && e.code === 'Space') {
|
|
355
385
|
e.preventDefault();
|
|
@@ -364,14 +394,14 @@ const ROUTE_HMR_SCRIPT = 'import { createHotContext } from "/@vite/client"; cons
|
|
|
364
394
|
showPanel();
|
|
365
395
|
}
|
|
366
396
|
} else if (e.code === 'Escape') {
|
|
367
|
-
if (spotlight.classList.contains('visible')) hideSpotlight();
|
|
368
|
-
else if (panel.classList.contains('visible')) hidePanel();
|
|
397
|
+
if (spotlight && spotlight.classList.contains('visible')) hideSpotlight();
|
|
398
|
+
else if (panel && panel.classList.contains('visible')) hidePanel();
|
|
369
399
|
}
|
|
370
400
|
});
|
|
371
401
|
}
|
|
372
402
|
|
|
373
403
|
function toggleSpotlight() {
|
|
374
|
-
if (spotlight.classList.contains('visible')) hideSpotlight();
|
|
404
|
+
if (spotlight && spotlight.classList.contains('visible')) hideSpotlight();
|
|
375
405
|
else showSpotlight();
|
|
376
406
|
}
|
|
377
407
|
|
|
@@ -560,8 +590,21 @@ const ROUTE_HMR_SCRIPT = 'import { createHotContext } from "/@vite/client"; cons
|
|
|
560
590
|
return html;
|
|
561
591
|
}
|
|
562
592
|
|
|
563
|
-
// Initialize
|
|
564
|
-
|
|
593
|
+
// Initialize after React hydration completes
|
|
594
|
+
// use requestIdleCallback to wait for the browser to be idle (after hydration)
|
|
595
|
+
function initAfterHydration() {
|
|
596
|
+
if (typeof requestIdleCallback !== 'undefined') {
|
|
597
|
+
requestIdleCallback(createHost, { timeout: 3000 });
|
|
598
|
+
} else {
|
|
599
|
+
setTimeout(createHost, 100);
|
|
600
|
+
}
|
|
601
|
+
}
|
|
602
|
+
|
|
603
|
+
if (document.readyState === 'complete') {
|
|
604
|
+
initAfterHydration();
|
|
605
|
+
} else {
|
|
606
|
+
window.addEventListener('load', initAfterHydration);
|
|
607
|
+
}
|
|
565
608
|
|
|
566
609
|
// Listen for events
|
|
567
610
|
window.addEventListener('one-loader-timing', function() {
|
|
@@ -608,6 +651,7 @@ const ROUTE_HMR_SCRIPT = 'import { createHotContext } from "/@vite/client"; cons
|
|
|
608
651
|
var holdTimer = null;
|
|
609
652
|
var holdDelay = 500;
|
|
610
653
|
var mousePos = { x: 0, y: 0 };
|
|
654
|
+
var removalObserver = null;
|
|
611
655
|
|
|
612
656
|
function createHost() {
|
|
613
657
|
if (host) return;
|
|
@@ -648,6 +692,31 @@ const ROUTE_HMR_SCRIPT = 'import { createHotContext } from "/@vite/client"; cons
|
|
|
648
692
|
document.body.appendChild(host);
|
|
649
693
|
overlay = shadow.querySelector('.overlay');
|
|
650
694
|
tag = shadow.querySelector('.tag');
|
|
695
|
+
setupRemovalObserver();
|
|
696
|
+
}
|
|
697
|
+
|
|
698
|
+
// watch for React hydration removing our element and re-create it
|
|
699
|
+
function setupRemovalObserver() {
|
|
700
|
+
if (removalObserver) return;
|
|
701
|
+
removalObserver = new MutationObserver(function(mutations) {
|
|
702
|
+
for (var i = 0; i < mutations.length; i++) {
|
|
703
|
+
var mutation = mutations[i];
|
|
704
|
+
if (mutation.type === 'childList') {
|
|
705
|
+
for (var j = 0; j < mutation.removedNodes.length; j++) {
|
|
706
|
+
var node = mutation.removedNodes[j];
|
|
707
|
+
if (node === host) {
|
|
708
|
+
host = null;
|
|
709
|
+
shadow = null;
|
|
710
|
+
overlay = null;
|
|
711
|
+
tag = null;
|
|
712
|
+
// don't auto-recreate - will be created on next hover
|
|
713
|
+
return;
|
|
714
|
+
}
|
|
715
|
+
}
|
|
716
|
+
}
|
|
717
|
+
}
|
|
718
|
+
});
|
|
719
|
+
removalObserver.observe(document.body, { childList: true });
|
|
651
720
|
}
|
|
652
721
|
|
|
653
722
|
function hideOverlay() {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/vite/DevHead.tsx"],
|
|
4
|
-
"mappings": "AACA,SAAS,4BAA4B;
|
|
4
|
+
"mappings": "AACA,SAAS,4BAA4B;AA02B/B,mBACE,KADF;AAv2BN,MAAM,mBACJ,qVAGI,oBACJ,yeAGI,uBACJ,qKAII,sBAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAooBtB,0BAA0B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAgNzB,SAAS,UAAU;AAIxB,SAAI,QAAQ,IAAI,aAAa,gBAEzB,iCACE;AAAA,wBAAC,UAAK,KAAI,WAAU,MAAM,sBAAsB,IAAG,SAAQ;AAAA,IAC3D;AAAA,MAAC;AAAA;AAAA,QACC,KAAI;AAAA,QACJ,MAAM;AAAA,QACN,gBAAY;AAAA,QACZ,0BAAwB;AAAA;AAAA,IAC1B;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,0BAAwB;AAAA,QACxB,yBAAyB,EAAE,QAAQ,iBAAiB;AAAA;AAAA,IACtD;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,0BAAwB;AAAA,QACxB,yBAAyB,EAAE,QAAQ,kBAAkB;AAAA;AAAA,IACvD;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,0BAAwB;AAAA,QACxB,yBAAyB,EAAE,QAAQ,qBAAqB;AAAA;AAAA,IAC1D;AAAA,IAEA;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,0BAAwB;AAAA,QACxB,yBAAyB,EAAE,QAAQ,oBAAoB;AAAA;AAAA,IACzD;AAAA,IAEA;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,0BAAwB;AAAA,QACxB,yBAAyB,EAAE,QAAQ,wBAAwB;AAAA;AAAA,IAC7D;AAAA,KACF,IAGG;AACT;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -15,6 +15,7 @@ const ROUTE_HMR_SCRIPT = 'import { createHotContext } from "/@vite/client"; cons
|
|
|
15
15
|
var dragOffset = { x: 0, y: 0 };
|
|
16
16
|
var panelPos = { x: 20, y: 20 };
|
|
17
17
|
var snappedEdge = { h: null, v: null };
|
|
18
|
+
var removalObserver = null;
|
|
18
19
|
|
|
19
20
|
var LOGO_SVG = '<svg width="24" height="24" viewBox="0 0 100 100"><circle cx="50" cy="50" r="48" fill="#FCD34D" stroke="#222" stroke-width="2"/><circle cx="50" cy="35" r="16" fill="white"/><text x="50" y="41" text-anchor="middle" font-family="system-ui" font-size="16" font-weight="bold" fill="#222">1</text></svg>';
|
|
20
21
|
|
|
@@ -233,6 +234,32 @@ const ROUTE_HMR_SCRIPT = 'import { createHotContext } from "/@vite/client"; cons
|
|
|
233
234
|
setupSpotlight();
|
|
234
235
|
setupPanel();
|
|
235
236
|
setupKeyboard();
|
|
237
|
+
setupRemovalObserver();
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
// watch for React hydration removing our element and re-create it
|
|
241
|
+
function setupRemovalObserver() {
|
|
242
|
+
if (removalObserver) return;
|
|
243
|
+
removalObserver = new MutationObserver(function(mutations) {
|
|
244
|
+
for (var i = 0; i < mutations.length; i++) {
|
|
245
|
+
var mutation = mutations[i];
|
|
246
|
+
if (mutation.type === 'childList') {
|
|
247
|
+
for (var j = 0; j < mutation.removedNodes.length; j++) {
|
|
248
|
+
var node = mutation.removedNodes[j];
|
|
249
|
+
if (node === host) {
|
|
250
|
+
// our element was removed (likely by React hydration), re-create it
|
|
251
|
+
host = null;
|
|
252
|
+
shadow = null;
|
|
253
|
+
spotlight = null;
|
|
254
|
+
panel = null;
|
|
255
|
+
setTimeout(createHost, 0);
|
|
256
|
+
return;
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
});
|
|
262
|
+
removalObserver.observe(document.body, { childList: true });
|
|
236
263
|
}
|
|
237
264
|
|
|
238
265
|
function setupSpotlight() {
|
|
@@ -352,7 +379,10 @@ const ROUTE_HMR_SCRIPT = 'import { createHotContext } from "/@vite/client"; cons
|
|
|
352
379
|
});
|
|
353
380
|
}
|
|
354
381
|
|
|
382
|
+
var keyboardSetup = false;
|
|
355
383
|
function setupKeyboard() {
|
|
384
|
+
if (keyboardSetup) return;
|
|
385
|
+
keyboardSetup = true;
|
|
356
386
|
document.addEventListener('keydown', function(e) {
|
|
357
387
|
if (e.altKey && e.code === 'Space') {
|
|
358
388
|
e.preventDefault();
|
|
@@ -367,14 +397,14 @@ const ROUTE_HMR_SCRIPT = 'import { createHotContext } from "/@vite/client"; cons
|
|
|
367
397
|
showPanel();
|
|
368
398
|
}
|
|
369
399
|
} else if (e.code === 'Escape') {
|
|
370
|
-
if (spotlight.classList.contains('visible')) hideSpotlight();
|
|
371
|
-
else if (panel.classList.contains('visible')) hidePanel();
|
|
400
|
+
if (spotlight && spotlight.classList.contains('visible')) hideSpotlight();
|
|
401
|
+
else if (panel && panel.classList.contains('visible')) hidePanel();
|
|
372
402
|
}
|
|
373
403
|
});
|
|
374
404
|
}
|
|
375
405
|
|
|
376
406
|
function toggleSpotlight() {
|
|
377
|
-
if (spotlight.classList.contains('visible')) hideSpotlight();
|
|
407
|
+
if (spotlight && spotlight.classList.contains('visible')) hideSpotlight();
|
|
378
408
|
else showSpotlight();
|
|
379
409
|
}
|
|
380
410
|
|
|
@@ -563,8 +593,21 @@ const ROUTE_HMR_SCRIPT = 'import { createHotContext } from "/@vite/client"; cons
|
|
|
563
593
|
return html;
|
|
564
594
|
}
|
|
565
595
|
|
|
566
|
-
// Initialize
|
|
567
|
-
|
|
596
|
+
// Initialize after React hydration completes
|
|
597
|
+
// use requestIdleCallback to wait for the browser to be idle (after hydration)
|
|
598
|
+
function initAfterHydration() {
|
|
599
|
+
if (typeof requestIdleCallback !== 'undefined') {
|
|
600
|
+
requestIdleCallback(createHost, { timeout: 3000 });
|
|
601
|
+
} else {
|
|
602
|
+
setTimeout(createHost, 100);
|
|
603
|
+
}
|
|
604
|
+
}
|
|
605
|
+
|
|
606
|
+
if (document.readyState === 'complete') {
|
|
607
|
+
initAfterHydration();
|
|
608
|
+
} else {
|
|
609
|
+
window.addEventListener('load', initAfterHydration);
|
|
610
|
+
}
|
|
568
611
|
|
|
569
612
|
// Listen for events
|
|
570
613
|
window.addEventListener('one-loader-timing', function() {
|
|
@@ -612,6 +655,7 @@ const ROUTE_HMR_SCRIPT = 'import { createHotContext } from "/@vite/client"; cons
|
|
|
612
655
|
var holdTimer = null;
|
|
613
656
|
var holdDelay = 500;
|
|
614
657
|
var mousePos = { x: 0, y: 0 };
|
|
658
|
+
var removalObserver = null;
|
|
615
659
|
|
|
616
660
|
function createHost() {
|
|
617
661
|
if (host) return;
|
|
@@ -652,6 +696,31 @@ const ROUTE_HMR_SCRIPT = 'import { createHotContext } from "/@vite/client"; cons
|
|
|
652
696
|
document.body.appendChild(host);
|
|
653
697
|
overlay = shadow.querySelector('.overlay');
|
|
654
698
|
tag = shadow.querySelector('.tag');
|
|
699
|
+
setupRemovalObserver();
|
|
700
|
+
}
|
|
701
|
+
|
|
702
|
+
// watch for React hydration removing our element and re-create it
|
|
703
|
+
function setupRemovalObserver() {
|
|
704
|
+
if (removalObserver) return;
|
|
705
|
+
removalObserver = new MutationObserver(function(mutations) {
|
|
706
|
+
for (var i = 0; i < mutations.length; i++) {
|
|
707
|
+
var mutation = mutations[i];
|
|
708
|
+
if (mutation.type === 'childList') {
|
|
709
|
+
for (var j = 0; j < mutation.removedNodes.length; j++) {
|
|
710
|
+
var node = mutation.removedNodes[j];
|
|
711
|
+
if (node === host) {
|
|
712
|
+
host = null;
|
|
713
|
+
shadow = null;
|
|
714
|
+
overlay = null;
|
|
715
|
+
tag = null;
|
|
716
|
+
// don't auto-recreate - will be created on next hover
|
|
717
|
+
return;
|
|
718
|
+
}
|
|
719
|
+
}
|
|
720
|
+
}
|
|
721
|
+
}
|
|
722
|
+
});
|
|
723
|
+
removalObserver.observe(document.body, { childList: true });
|
|
655
724
|
}
|
|
656
725
|
|
|
657
726
|
function hideOverlay() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["VIRTUAL_SSR_CSS_HREF","Fragment","jsx","jsxs","ROUTE_HMR_SCRIPT","LOADER_HMR_SCRIPT","REACT_REFRESH_SCRIPT","ONE_DEVTOOLS_SCRIPT","SOURCE_INSPECTOR_SCRIPT","DevHead","process","env","NODE_ENV","children","rel","href","as","suppressHydrationWarning","type","dangerouslySetInnerHTML","__html"],"sources":["../../../src/vite/DevHead.tsx"],"sourcesContent":[null],"mappings":"AACA,SAASA,oBAAA,QAA4B;
|
|
1
|
+
{"version":3,"names":["VIRTUAL_SSR_CSS_HREF","Fragment","jsx","jsxs","ROUTE_HMR_SCRIPT","LOADER_HMR_SCRIPT","REACT_REFRESH_SCRIPT","ONE_DEVTOOLS_SCRIPT","SOURCE_INSPECTOR_SCRIPT","DevHead","process","env","NODE_ENV","children","rel","href","as","suppressHydrationWarning","type","dangerouslySetInnerHTML","__html"],"sources":["../../../src/vite/DevHead.tsx"],"sourcesContent":[null],"mappings":"AACA,SAASA,oBAAA,QAA4B;AA02B/B,SAAAC,QAAA,EACEC,GAAA,EADFC,IAAA;AAv2BN,MAAMC,gBAAA,GACJ;EAGIC,iBAAA,GACJ;EAGIC,oBAAA,GACJ;EAIIC,mBAAA,GAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAooBtBC,uBAAA,GAA0B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAgNzB,SAASC,QAAA,EAAU;EAIxB,OAAIC,OAAA,CAAQC,GAAA,CAAIC,QAAA,KAAa,gBAEzB,eAAAT,IAAA,CAAAF,QAAA;IACEY,QAAA,kBAAAX,GAAA,CAAC;MAAKY,GAAA,EAAI;MAAUC,IAAA,EAAMf,oBAAA;MAAsBgB,EAAA,EAAG;IAAA,CAAQ,GAC3D,eAAAd,GAAA,CAAC;MACCY,GAAA,EAAI;MACJC,IAAA,EAAMf,oBAAA;MACN,gBAAY;MACZiB,wBAAA,EAAwB;IAAA,CAC1B,GACA,eAAAf,GAAA,CAAC;MACCgB,IAAA,EAAK;MACLD,wBAAA,EAAwB;MACxBE,uBAAA,EAAyB;QAAEC,MAAA,EAAQhB;MAAiB;IAAA,CACtD,GACA,eAAAF,GAAA,CAAC;MACCgB,IAAA,EAAK;MACLD,wBAAA,EAAwB;MACxBE,uBAAA,EAAyB;QAAEC,MAAA,EAAQf;MAAkB;IAAA,CACvD,GACA,eAAAH,GAAA,CAAC;MACCgB,IAAA,EAAK;MACLD,wBAAA,EAAwB;MACxBE,uBAAA,EAAyB;QAAEC,MAAA,EAAQd;MAAqB;IAAA,CAC1D,GAEA,eAAAJ,GAAA,CAAC;MACCgB,IAAA,EAAK;MACLD,wBAAA,EAAwB;MACxBE,uBAAA,EAAyB;QAAEC,MAAA,EAAQb;MAAoB;IAAA,CACzD,GAEA,eAAAL,GAAA,CAAC;MACCgB,IAAA,EAAK;MACLD,wBAAA,EAAwB;MACxBE,uBAAA,EAAyB;QAAEC,MAAA,EAAQZ;MAAwB;IAAA,CAC7D;EAAA,CACF,IAGG;AACT","ignoreList":[]}
|
|
@@ -15,6 +15,7 @@ var ROUTE_HMR_SCRIPT = 'import { createHotContext } from "/@vite/client"; const
|
|
|
15
15
|
var dragOffset = { x: 0, y: 0 };
|
|
16
16
|
var panelPos = { x: 20, y: 20 };
|
|
17
17
|
var snappedEdge = { h: null, v: null };
|
|
18
|
+
var removalObserver = null;
|
|
18
19
|
|
|
19
20
|
var LOGO_SVG = '<svg width="24" height="24" viewBox="0 0 100 100"><circle cx="50" cy="50" r="48" fill="#FCD34D" stroke="#222" stroke-width="2"/><circle cx="50" cy="35" r="16" fill="white"/><text x="50" y="41" text-anchor="middle" font-family="system-ui" font-size="16" font-weight="bold" fill="#222">1</text></svg>';
|
|
20
21
|
|
|
@@ -233,6 +234,32 @@ var ROUTE_HMR_SCRIPT = 'import { createHotContext } from "/@vite/client"; const
|
|
|
233
234
|
setupSpotlight();
|
|
234
235
|
setupPanel();
|
|
235
236
|
setupKeyboard();
|
|
237
|
+
setupRemovalObserver();
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
// watch for React hydration removing our element and re-create it
|
|
241
|
+
function setupRemovalObserver() {
|
|
242
|
+
if (removalObserver) return;
|
|
243
|
+
removalObserver = new MutationObserver(function(mutations) {
|
|
244
|
+
for (var i = 0; i < mutations.length; i++) {
|
|
245
|
+
var mutation = mutations[i];
|
|
246
|
+
if (mutation.type === 'childList') {
|
|
247
|
+
for (var j = 0; j < mutation.removedNodes.length; j++) {
|
|
248
|
+
var node = mutation.removedNodes[j];
|
|
249
|
+
if (node === host) {
|
|
250
|
+
// our element was removed (likely by React hydration), re-create it
|
|
251
|
+
host = null;
|
|
252
|
+
shadow = null;
|
|
253
|
+
spotlight = null;
|
|
254
|
+
panel = null;
|
|
255
|
+
setTimeout(createHost, 0);
|
|
256
|
+
return;
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
});
|
|
262
|
+
removalObserver.observe(document.body, { childList: true });
|
|
236
263
|
}
|
|
237
264
|
|
|
238
265
|
function setupSpotlight() {
|
|
@@ -352,7 +379,10 @@ var ROUTE_HMR_SCRIPT = 'import { createHotContext } from "/@vite/client"; const
|
|
|
352
379
|
});
|
|
353
380
|
}
|
|
354
381
|
|
|
382
|
+
var keyboardSetup = false;
|
|
355
383
|
function setupKeyboard() {
|
|
384
|
+
if (keyboardSetup) return;
|
|
385
|
+
keyboardSetup = true;
|
|
356
386
|
document.addEventListener('keydown', function(e) {
|
|
357
387
|
if (e.altKey && e.code === 'Space') {
|
|
358
388
|
e.preventDefault();
|
|
@@ -367,14 +397,14 @@ var ROUTE_HMR_SCRIPT = 'import { createHotContext } from "/@vite/client"; const
|
|
|
367
397
|
showPanel();
|
|
368
398
|
}
|
|
369
399
|
} else if (e.code === 'Escape') {
|
|
370
|
-
if (spotlight.classList.contains('visible')) hideSpotlight();
|
|
371
|
-
else if (panel.classList.contains('visible')) hidePanel();
|
|
400
|
+
if (spotlight && spotlight.classList.contains('visible')) hideSpotlight();
|
|
401
|
+
else if (panel && panel.classList.contains('visible')) hidePanel();
|
|
372
402
|
}
|
|
373
403
|
});
|
|
374
404
|
}
|
|
375
405
|
|
|
376
406
|
function toggleSpotlight() {
|
|
377
|
-
if (spotlight.classList.contains('visible')) hideSpotlight();
|
|
407
|
+
if (spotlight && spotlight.classList.contains('visible')) hideSpotlight();
|
|
378
408
|
else showSpotlight();
|
|
379
409
|
}
|
|
380
410
|
|
|
@@ -563,8 +593,21 @@ var ROUTE_HMR_SCRIPT = 'import { createHotContext } from "/@vite/client"; const
|
|
|
563
593
|
return html;
|
|
564
594
|
}
|
|
565
595
|
|
|
566
|
-
// Initialize
|
|
567
|
-
|
|
596
|
+
// Initialize after React hydration completes
|
|
597
|
+
// use requestIdleCallback to wait for the browser to be idle (after hydration)
|
|
598
|
+
function initAfterHydration() {
|
|
599
|
+
if (typeof requestIdleCallback !== 'undefined') {
|
|
600
|
+
requestIdleCallback(createHost, { timeout: 3000 });
|
|
601
|
+
} else {
|
|
602
|
+
setTimeout(createHost, 100);
|
|
603
|
+
}
|
|
604
|
+
}
|
|
605
|
+
|
|
606
|
+
if (document.readyState === 'complete') {
|
|
607
|
+
initAfterHydration();
|
|
608
|
+
} else {
|
|
609
|
+
window.addEventListener('load', initAfterHydration);
|
|
610
|
+
}
|
|
568
611
|
|
|
569
612
|
// Listen for events
|
|
570
613
|
window.addEventListener('one-loader-timing', function() {
|
|
@@ -612,6 +655,7 @@ var ROUTE_HMR_SCRIPT = 'import { createHotContext } from "/@vite/client"; const
|
|
|
612
655
|
var holdTimer = null;
|
|
613
656
|
var holdDelay = 500;
|
|
614
657
|
var mousePos = { x: 0, y: 0 };
|
|
658
|
+
var removalObserver = null;
|
|
615
659
|
|
|
616
660
|
function createHost() {
|
|
617
661
|
if (host) return;
|
|
@@ -652,6 +696,31 @@ var ROUTE_HMR_SCRIPT = 'import { createHotContext } from "/@vite/client"; const
|
|
|
652
696
|
document.body.appendChild(host);
|
|
653
697
|
overlay = shadow.querySelector('.overlay');
|
|
654
698
|
tag = shadow.querySelector('.tag');
|
|
699
|
+
setupRemovalObserver();
|
|
700
|
+
}
|
|
701
|
+
|
|
702
|
+
// watch for React hydration removing our element and re-create it
|
|
703
|
+
function setupRemovalObserver() {
|
|
704
|
+
if (removalObserver) return;
|
|
705
|
+
removalObserver = new MutationObserver(function(mutations) {
|
|
706
|
+
for (var i = 0; i < mutations.length; i++) {
|
|
707
|
+
var mutation = mutations[i];
|
|
708
|
+
if (mutation.type === 'childList') {
|
|
709
|
+
for (var j = 0; j < mutation.removedNodes.length; j++) {
|
|
710
|
+
var node = mutation.removedNodes[j];
|
|
711
|
+
if (node === host) {
|
|
712
|
+
host = null;
|
|
713
|
+
shadow = null;
|
|
714
|
+
overlay = null;
|
|
715
|
+
tag = null;
|
|
716
|
+
// don't auto-recreate - will be created on next hover
|
|
717
|
+
return;
|
|
718
|
+
}
|
|
719
|
+
}
|
|
720
|
+
}
|
|
721
|
+
}
|
|
722
|
+
});
|
|
723
|
+
removalObserver.observe(document.body, { childList: true });
|
|
655
724
|
}
|
|
656
725
|
|
|
657
726
|
function hideOverlay() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","VIRTUAL_SSR_CSS_HREF","ROUTE_HMR_SCRIPT","LOADER_HMR_SCRIPT","REACT_REFRESH_SCRIPT","ONE_DEVTOOLS_SCRIPT","SOURCE_INSPECTOR_SCRIPT","DevHead"],"sources":["../../../src/vite/DevHead.tsx"],"sourcesContent":[null],"mappings":"AACA,SAASA,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAA4BC,QAAA,IAAAC,SAAA;
|
|
1
|
+
{"version":3,"names":["jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","VIRTUAL_SSR_CSS_HREF","ROUTE_HMR_SCRIPT","LOADER_HMR_SCRIPT","REACT_REFRESH_SCRIPT","ONE_DEVTOOLS_SCRIPT","SOURCE_INSPECTOR_SCRIPT","DevHead"],"sources":["../../../src/vite/DevHead.tsx"],"sourcesContent":[null],"mappings":"AACA,SAASA,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAA4BC,QAAA,IAAAC,SAAA;AA02B/B,SAAAC,oBAAA;AAv2BN,IAAAC,gBAAM,sVACJ;EAAAC,iBAGI,0eACJ;EAAAC,oBAGI,sKACJ;EAAAC,mBAII;AAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAooBtBC,uBAAA,GAA0B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAgNzB,SAASC,QAAA,EAAU;EAIxB,OAAI;AAGE;AAA2D,SAC3DA,OAAC","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "one",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.66",
|
|
4
4
|
"license": "BSD-3-Clause",
|
|
5
5
|
"sideEffects": [
|
|
6
6
|
"setup.mjs",
|
|
@@ -139,17 +139,17 @@
|
|
|
139
139
|
"@react-navigation/routers": "~7.5.1",
|
|
140
140
|
"@swc/core": "^1.14.0",
|
|
141
141
|
"@ungap/structured-clone": "^1.2.0",
|
|
142
|
-
"@vxrn/color-scheme": "1.2.
|
|
143
|
-
"@vxrn/compiler": "1.2.
|
|
144
|
-
"@vxrn/resolve": "1.2.
|
|
145
|
-
"@vxrn/tslib-lite": "1.2.
|
|
146
|
-
"@vxrn/use-isomorphic-layout-effect": "1.2.
|
|
147
|
-
"@vxrn/vite-plugin-metro": "1.2.
|
|
142
|
+
"@vxrn/color-scheme": "1.2.66",
|
|
143
|
+
"@vxrn/compiler": "1.2.66",
|
|
144
|
+
"@vxrn/resolve": "1.2.66",
|
|
145
|
+
"@vxrn/tslib-lite": "1.2.66",
|
|
146
|
+
"@vxrn/use-isomorphic-layout-effect": "1.2.66",
|
|
147
|
+
"@vxrn/vite-plugin-metro": "1.2.66",
|
|
148
148
|
"babel-dead-code-elimination": "1.0.10",
|
|
149
149
|
"babel-plugin-module-resolver": "^5.0.2",
|
|
150
150
|
"citty": "^0.1.6",
|
|
151
151
|
"core-js": "^3.38.1",
|
|
152
|
-
"create-vxrn": "1.2.
|
|
152
|
+
"create-vxrn": "1.2.66",
|
|
153
153
|
"escape-string-regexp": "^5.0.0",
|
|
154
154
|
"expo-linking": "~8.0.8",
|
|
155
155
|
"expo-modules-core": "~3.0.24",
|
|
@@ -177,7 +177,7 @@
|
|
|
177
177
|
"vite": "^7.1.12",
|
|
178
178
|
"vite-plugin-barrel": "^0.4.1",
|
|
179
179
|
"vite-tsconfig-paths": "^5.1.4",
|
|
180
|
-
"vxrn": "1.2.
|
|
180
|
+
"vxrn": "1.2.66",
|
|
181
181
|
"ws": "^8.18.0",
|
|
182
182
|
"xxhashjs": "^0.2.2"
|
|
183
183
|
},
|
package/src/vite/DevHead.tsx
CHANGED
|
@@ -27,6 +27,7 @@ const ONE_DEVTOOLS_SCRIPT = `
|
|
|
27
27
|
var dragOffset = { x: 0, y: 0 };
|
|
28
28
|
var panelPos = { x: 20, y: 20 };
|
|
29
29
|
var snappedEdge = { h: null, v: null };
|
|
30
|
+
var removalObserver = null;
|
|
30
31
|
|
|
31
32
|
var LOGO_SVG = '<svg width="24" height="24" viewBox="0 0 100 100"><circle cx="50" cy="50" r="48" fill="#FCD34D" stroke="#222" stroke-width="2"/><circle cx="50" cy="35" r="16" fill="white"/><text x="50" y="41" text-anchor="middle" font-family="system-ui" font-size="16" font-weight="bold" fill="#222">1</text></svg>';
|
|
32
33
|
|
|
@@ -245,6 +246,32 @@ const ONE_DEVTOOLS_SCRIPT = `
|
|
|
245
246
|
setupSpotlight();
|
|
246
247
|
setupPanel();
|
|
247
248
|
setupKeyboard();
|
|
249
|
+
setupRemovalObserver();
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
// watch for React hydration removing our element and re-create it
|
|
253
|
+
function setupRemovalObserver() {
|
|
254
|
+
if (removalObserver) return;
|
|
255
|
+
removalObserver = new MutationObserver(function(mutations) {
|
|
256
|
+
for (var i = 0; i < mutations.length; i++) {
|
|
257
|
+
var mutation = mutations[i];
|
|
258
|
+
if (mutation.type === 'childList') {
|
|
259
|
+
for (var j = 0; j < mutation.removedNodes.length; j++) {
|
|
260
|
+
var node = mutation.removedNodes[j];
|
|
261
|
+
if (node === host) {
|
|
262
|
+
// our element was removed (likely by React hydration), re-create it
|
|
263
|
+
host = null;
|
|
264
|
+
shadow = null;
|
|
265
|
+
spotlight = null;
|
|
266
|
+
panel = null;
|
|
267
|
+
setTimeout(createHost, 0);
|
|
268
|
+
return;
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
});
|
|
274
|
+
removalObserver.observe(document.body, { childList: true });
|
|
248
275
|
}
|
|
249
276
|
|
|
250
277
|
function setupSpotlight() {
|
|
@@ -364,7 +391,10 @@ const ONE_DEVTOOLS_SCRIPT = `
|
|
|
364
391
|
});
|
|
365
392
|
}
|
|
366
393
|
|
|
394
|
+
var keyboardSetup = false;
|
|
367
395
|
function setupKeyboard() {
|
|
396
|
+
if (keyboardSetup) return;
|
|
397
|
+
keyboardSetup = true;
|
|
368
398
|
document.addEventListener('keydown', function(e) {
|
|
369
399
|
if (e.altKey && e.code === 'Space') {
|
|
370
400
|
e.preventDefault();
|
|
@@ -379,14 +409,14 @@ const ONE_DEVTOOLS_SCRIPT = `
|
|
|
379
409
|
showPanel();
|
|
380
410
|
}
|
|
381
411
|
} else if (e.code === 'Escape') {
|
|
382
|
-
if (spotlight.classList.contains('visible')) hideSpotlight();
|
|
383
|
-
else if (panel.classList.contains('visible')) hidePanel();
|
|
412
|
+
if (spotlight && spotlight.classList.contains('visible')) hideSpotlight();
|
|
413
|
+
else if (panel && panel.classList.contains('visible')) hidePanel();
|
|
384
414
|
}
|
|
385
415
|
});
|
|
386
416
|
}
|
|
387
417
|
|
|
388
418
|
function toggleSpotlight() {
|
|
389
|
-
if (spotlight.classList.contains('visible')) hideSpotlight();
|
|
419
|
+
if (spotlight && spotlight.classList.contains('visible')) hideSpotlight();
|
|
390
420
|
else showSpotlight();
|
|
391
421
|
}
|
|
392
422
|
|
|
@@ -575,8 +605,21 @@ const ONE_DEVTOOLS_SCRIPT = `
|
|
|
575
605
|
return html;
|
|
576
606
|
}
|
|
577
607
|
|
|
578
|
-
// Initialize
|
|
579
|
-
|
|
608
|
+
// Initialize after React hydration completes
|
|
609
|
+
// use requestIdleCallback to wait for the browser to be idle (after hydration)
|
|
610
|
+
function initAfterHydration() {
|
|
611
|
+
if (typeof requestIdleCallback !== 'undefined') {
|
|
612
|
+
requestIdleCallback(createHost, { timeout: 3000 });
|
|
613
|
+
} else {
|
|
614
|
+
setTimeout(createHost, 100);
|
|
615
|
+
}
|
|
616
|
+
}
|
|
617
|
+
|
|
618
|
+
if (document.readyState === 'complete') {
|
|
619
|
+
initAfterHydration();
|
|
620
|
+
} else {
|
|
621
|
+
window.addEventListener('load', initAfterHydration);
|
|
622
|
+
}
|
|
580
623
|
|
|
581
624
|
// Listen for events
|
|
582
625
|
window.addEventListener('one-loader-timing', function() {
|
|
@@ -627,6 +670,7 @@ const SOURCE_INSPECTOR_SCRIPT = `
|
|
|
627
670
|
var holdTimer = null;
|
|
628
671
|
var holdDelay = 500;
|
|
629
672
|
var mousePos = { x: 0, y: 0 };
|
|
673
|
+
var removalObserver = null;
|
|
630
674
|
|
|
631
675
|
function createHost() {
|
|
632
676
|
if (host) return;
|
|
@@ -667,6 +711,31 @@ const SOURCE_INSPECTOR_SCRIPT = `
|
|
|
667
711
|
document.body.appendChild(host);
|
|
668
712
|
overlay = shadow.querySelector('.overlay');
|
|
669
713
|
tag = shadow.querySelector('.tag');
|
|
714
|
+
setupRemovalObserver();
|
|
715
|
+
}
|
|
716
|
+
|
|
717
|
+
// watch for React hydration removing our element and re-create it
|
|
718
|
+
function setupRemovalObserver() {
|
|
719
|
+
if (removalObserver) return;
|
|
720
|
+
removalObserver = new MutationObserver(function(mutations) {
|
|
721
|
+
for (var i = 0; i < mutations.length; i++) {
|
|
722
|
+
var mutation = mutations[i];
|
|
723
|
+
if (mutation.type === 'childList') {
|
|
724
|
+
for (var j = 0; j < mutation.removedNodes.length; j++) {
|
|
725
|
+
var node = mutation.removedNodes[j];
|
|
726
|
+
if (node === host) {
|
|
727
|
+
host = null;
|
|
728
|
+
shadow = null;
|
|
729
|
+
overlay = null;
|
|
730
|
+
tag = null;
|
|
731
|
+
// don't auto-recreate - will be created on next hover
|
|
732
|
+
return;
|
|
733
|
+
}
|
|
734
|
+
}
|
|
735
|
+
}
|
|
736
|
+
}
|
|
737
|
+
});
|
|
738
|
+
removalObserver.observe(document.body, { childList: true });
|
|
670
739
|
}
|
|
671
740
|
|
|
672
741
|
function hideOverlay() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DevHead.d.ts","sourceRoot":"","sources":["../../src/vite/DevHead.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DevHead.d.ts","sourceRoot":"","sources":["../../src/vite/DevHead.tsx"],"names":[],"mappings":"AAq2BA,wBAAgB,OAAO,mDA6CtB"}
|