@vtbag/inspection-chamber 1.0.3 → 1.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -3
- package/lib/index.js +87 -50
- package/package.json +2 -3
package/README.md
CHANGED
|
@@ -9,12 +9,20 @@ Put your view transitions through their paces in the Inspection Chamber!
|
|
|
9
9
|
The @vtbag website can be found at https://vtbag.pages.dev/
|
|
10
10
|
|
|
11
11
|
## !!! News !!!
|
|
12
|
+
v1.0.5 introduces the ability to switch single animations on and off as you navigate through the timeline of view transitions. For example, you can temporarily disable fades while investigating a morph animation or disable morphing to focus on other features of your transition.
|
|
13
|
+
|
|
14
|
+
This version also includes numerous smaller improvements, moving the Chamber closer to becoming a stable product rather than just a prototype.
|
|
15
|
+
|
|
16
|
+
For details, see the [CHANGELOG](https://github.com/vtbag/inspection-chamber/blob/main/CHANGELOG.md)
|
|
17
|
+
|
|
18
|
+
## What happened so far:
|
|
19
|
+
|
|
20
|
+
v1.0.4 improves opening the Chamber on mobiles, adds an explicit close button to the inner panel and fixes some styling issues.
|
|
21
|
+
|
|
12
22
|
v1.0.3 fixes some teething issues. The main areas affected are:
|
|
13
23
|
* Better integration into same-document and cross-document transitions.
|
|
14
24
|
* Further optimizations for identifying transition elements on the screen.
|
|
15
25
|
|
|
16
|
-
For details, see the [CHANGELOG](https://github.com/vtbag/inspection-chamber/blob/main/CHANGELOG.md)
|
|
17
|
-
|
|
18
26
|
## What is it?
|
|
19
27
|
|
|
20
28
|
The Inspection Chamber is your ultimate playground for experimenting with the View Transition API. Whether you're working with same-document or cross-document transitions, this test bench has got you covered.
|
|
@@ -31,4 +39,4 @@ When Chrome introduced the (same-document) View Transition API, Astro quickly be
|
|
|
31
39
|
|
|
32
40
|
With the View Transition API now being adopted by more browsers and even supporting cross-document navigation, vtbot has evolved. Meet its framework-independent sibling: `@vtbag`
|
|
33
41
|
|
|
34
|
-
`@vtbag/*` is set to provide a treasure trove of useful tools, tips (and of course tricks!) to enhance your experience with View Transitions, no matter which framework you're using, or even if you're using none at all.
|
|
42
|
+
`@vtbag/*` is set to provide a treasure trove of useful tools, tips (and of course tricks!) to enhance your experience with View Transitions, no matter which framework you're using, or even if you're using none at all.
|
package/lib/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";(()=>{var
|
|
1
|
+
"use strict";(()=>{var _=`<head>
|
|
2
2
|
<meta name="vtbag-inspection-chamber" content="true" />
|
|
3
3
|
<meta charset="utf-8" />
|
|
4
4
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
@@ -34,15 +34,16 @@
|
|
|
34
34
|
for pasting into the console of the browser's Developer tools.
|
|
35
35
|
</p>
|
|
36
36
|
<p>
|
|
37
|
-
Active view transitions show a <i>play indicator</i> ([>])
|
|
38
|
-
|
|
37
|
+
Active view transitions show a <i>play indicator</i> ([>]) in the top left corner of the
|
|
38
|
+
viewport. Clicking it ends the transition.
|
|
39
39
|
</p>
|
|
40
40
|
<p>
|
|
41
41
|
View transitions are also canceled when the
|
|
42
42
|
<a href="https://github.com/w3c/csswg-drafts/issues/8045">size or orientation</a> of the
|
|
43
43
|
window changes.
|
|
44
44
|
</p>
|
|
45
|
-
<p
|
|
45
|
+
<p>You can resize the side panel by dragging the border.</p>
|
|
46
|
+
<p style="margin-bottom: 0">You can click the heading of a sub-panel to enlarge or shrink it.</p>
|
|
46
47
|
</div>
|
|
47
48
|
<div id="vtbag-ui-modi" style="view-transition-name: vtbag-div-modi">
|
|
48
49
|
<h4>Select Mode:</h4>
|
|
@@ -67,7 +68,8 @@
|
|
|
67
68
|
/></label>
|
|
68
69
|
</li>
|
|
69
70
|
<li>
|
|
70
|
-
<input type="radio" name="vtbag-m-rg" id="vtbag-m-control" /><label
|
|
71
|
+
<input type="radio" name="vtbag-m-rg" id="vtbag-m-full-control" /><label
|
|
72
|
+
for="vtbag-m-full-control"
|
|
71
73
|
><span style="display: inline-block; width: 6.7em; padding-left: 0.7em">
|
|
72
74
|
Full Control</span
|
|
73
75
|
>
|
|
@@ -97,6 +99,13 @@
|
|
|
97
99
|
/></label>
|
|
98
100
|
</li>
|
|
99
101
|
</ul>
|
|
102
|
+
<div>
|
|
103
|
+
<hr/>
|
|
104
|
+
<input style="padding-left:4ex" id="vtbag-tutorial-mode" type="checkbox" />
|
|
105
|
+
<label for="vtbag-tutorial-mode" title="Display usage instructions prominently in the enlarged inner sub-panel."
|
|
106
|
+
>Tutorial Mode</label
|
|
107
|
+
>
|
|
108
|
+
</div>
|
|
100
109
|
</div>
|
|
101
110
|
<div id="vtbag-ui-slow-motion" style="view-transition-name: vtbag-div-slo-mo">
|
|
102
111
|
<h4>Slow Motion:<span id="vtbag-ui-slo-mo-progress"></span></h4>
|
|
@@ -112,8 +121,11 @@
|
|
|
112
121
|
/>
|
|
113
122
|
<div style="view-transition-name: vtbag-checkbox-styled">
|
|
114
123
|
<input id="vtbag-ui-framed" type="checkbox" />
|
|
115
|
-
<label
|
|
116
|
-
|
|
124
|
+
<label
|
|
125
|
+
for="vtbag-ui-framed"
|
|
126
|
+
title="Highlight the outline of elements with view transition names or their pseudo elements during view transitions."
|
|
127
|
+
>Frame elements</label
|
|
128
|
+
><br />
|
|
117
129
|
<input id="vtbag-ui-named-only" type="checkbox" />
|
|
118
130
|
<label
|
|
119
131
|
for="vtbag-ui-named-only"
|
|
@@ -147,14 +159,11 @@
|
|
|
147
159
|
<div style="display: none; justify-content: space-between">
|
|
148
160
|
<span id="vtbag-ui-names-old" class="button">old</span
|
|
149
161
|
><span
|
|
150
|
-
><input id="vtbag-ui-visible-only" type="checkbox" checked
|
|
151
|
-
|
|
152
|
-
>in viewport</label
|
|
153
|
-
></span
|
|
162
|
+
><input id="vtbag-ui-visible-only" type="checkbox" checked />
|
|
163
|
+
<label for="vtbag-ui-visible-only">in viewport</label></span
|
|
154
164
|
><span id="vtbag-ui-names-new" class="button">new</span>
|
|
155
165
|
</div>
|
|
156
166
|
<ol>
|
|
157
|
-
<li>Name 1</li>
|
|
158
167
|
</ol>
|
|
159
168
|
<button title="Reset selection">Reset</button>
|
|
160
169
|
</div>
|
|
@@ -223,7 +232,7 @@
|
|
|
223
232
|
<button
|
|
224
233
|
id="vtbag-ui-turn"
|
|
225
234
|
title="Switch panel orientation
|
|
226
|
-
(also
|
|
235
|
+
(may also cancel view transitions)"
|
|
227
236
|
style="view-transition-name: vtbag-button-turn"
|
|
228
237
|
>
|
|
229
238
|
\u292A
|
|
@@ -241,6 +250,7 @@
|
|
|
241
250
|
top: 25vh;
|
|
242
251
|
width: 50vw;
|
|
243
252
|
height: 50vh;
|
|
253
|
+
overflow: hidden;
|
|
244
254
|
background-color: #0000;
|
|
245
255
|
padding: 0.5em;
|
|
246
256
|
scrollbar-gutter: unset;
|
|
@@ -249,19 +259,32 @@
|
|
|
249
259
|
<div
|
|
250
260
|
id="vtbag-ui-move"
|
|
251
261
|
style="
|
|
252
|
-
width: 100
|
|
262
|
+
width: calc(100% - 3ex);
|
|
253
263
|
height: 1ex;
|
|
254
264
|
background-image: repeating-linear-gradient(180deg, #aaa, #0000 2px, #666 2px, #0000 4px);
|
|
255
265
|
cursor: move;
|
|
256
266
|
"
|
|
257
267
|
></div>
|
|
268
|
+
<div
|
|
269
|
+
id="vtbag-ui-inner-panel-close"
|
|
270
|
+
style="position: absolute; right: 1ex; top: 1ex; height: 1ex; width: 3ex"
|
|
271
|
+
>
|
|
272
|
+
<div style="position: relative; border: none; transform: translate(-0.9ex, -1.5ex)">\u2796</div>
|
|
273
|
+
</div>
|
|
274
|
+
<!--Content will be inserted here-->
|
|
258
275
|
<div style="width: calc(100% - 2ex); height: 3ex; position: absolute; left: 1ex">
|
|
259
|
-
<input
|
|
276
|
+
<input
|
|
277
|
+
type="range"
|
|
278
|
+
id="vtbag-ui-opacity"
|
|
279
|
+
style="height: 1ex; width: calc(100% - 5ex); padding: 0; margin: 0"
|
|
280
|
+
value="97"
|
|
281
|
+
min="20"
|
|
282
|
+
/>
|
|
260
283
|
</div>
|
|
261
284
|
<div
|
|
262
285
|
id="vtbag-ui-resize"
|
|
263
286
|
style="
|
|
264
|
-
width:
|
|
287
|
+
width: 3ex;
|
|
265
288
|
height: 3ex;
|
|
266
289
|
background-image: repeating-linear-gradient(
|
|
267
290
|
-35deg,
|
|
@@ -388,7 +411,8 @@
|
|
|
388
411
|
#vtbag-ui-panel > div > h4 {
|
|
389
412
|
cursor: zoom-in;
|
|
390
413
|
}
|
|
391
|
-
#vtbag-ui-inner-panel > div > h4
|
|
414
|
+
#vtbag-ui-inner-panel > div > h4,
|
|
415
|
+
#vtbag-ui-inner-panel-close {
|
|
392
416
|
cursor: zoom-out;
|
|
393
417
|
}
|
|
394
418
|
#vtbag-ui-inner-panel > div {
|
|
@@ -396,10 +420,11 @@
|
|
|
396
420
|
margin: 0px;
|
|
397
421
|
border: 1px solid #888;
|
|
398
422
|
}
|
|
399
|
-
#vtbag-ui-inner-panel > div:nth-of-type(
|
|
423
|
+
#vtbag-ui-inner-panel > div:nth-of-type(3) {
|
|
400
424
|
padding: 8px;
|
|
401
425
|
min-width: 100%;
|
|
402
|
-
|
|
426
|
+
height: calc(100% - 6ex);
|
|
427
|
+
overflow: auto;
|
|
403
428
|
}
|
|
404
429
|
#vtbag-ui-opacity {
|
|
405
430
|
transform: translate(8px, -5px);
|
|
@@ -473,6 +498,9 @@
|
|
|
473
498
|
padding-left: 16pt;
|
|
474
499
|
}
|
|
475
500
|
|
|
501
|
+
#vtbag-ui-messages li {
|
|
502
|
+
padding: 4px 0
|
|
503
|
+
}
|
|
476
504
|
#vtbag-ui-names {
|
|
477
505
|
display: flex;
|
|
478
506
|
flex-direction: column;
|
|
@@ -488,7 +516,8 @@
|
|
|
488
516
|
flex-grow: 1;
|
|
489
517
|
list-style-type: none;
|
|
490
518
|
}
|
|
491
|
-
#vtbag-ui-panel li
|
|
519
|
+
#vtbag-ui-panel li,
|
|
520
|
+
#vtbag-ui-inner-panel li {
|
|
492
521
|
margin-bottom: 8px;
|
|
493
522
|
}
|
|
494
523
|
|
|
@@ -624,7 +653,7 @@
|
|
|
624
653
|
:root:not([data-vtbag-modus='slow-motion']) #vtbag-ui-slow-motion {
|
|
625
654
|
display: none;
|
|
626
655
|
}
|
|
627
|
-
:root:not([data-vtbag-modus='control']) #vtbag-ui-control {
|
|
656
|
+
:root:not([data-vtbag-modus='full-control']) #vtbag-ui-control {
|
|
628
657
|
display: none;
|
|
629
658
|
}
|
|
630
659
|
|
|
@@ -666,6 +695,8 @@
|
|
|
666
695
|
--vtbag-panel-width: 200px;
|
|
667
696
|
}
|
|
668
697
|
#canvas {
|
|
698
|
+
cursor: wait;
|
|
699
|
+
background-color: rgba(71, 61, 139, 0.33);
|
|
669
700
|
position: absolute;
|
|
670
701
|
top: 0;
|
|
671
702
|
left: 0;
|
|
@@ -798,12 +829,15 @@
|
|
|
798
829
|
hr {
|
|
799
830
|
border-color: #888;
|
|
800
831
|
}
|
|
832
|
+
input[type='checkbox'] {
|
|
833
|
+
transform: translateY(0.4ex);
|
|
834
|
+
}
|
|
801
835
|
</style>
|
|
802
836
|
</body>
|
|
803
|
-
`;function K(t,e){t.forEach(i=>{try{$([...i.cssRules],e)}catch{}})}function $(t,e){t.forEach(i=>{i.constructor.name==="CSSStyleRule"?e(i):"cssRules"in i?$([...i.cssRules],e):"styleSheet"in i&&K([i.styleSheet],e)})}function P(){let t=new Map,e=top.__vtbag.inspectionChamber.frameDocument;o(e.documentElement,"root"),K([...e.styleSheets],n=>{let a=n.style.getPropertyValue("view-transition-name");a&&e.querySelectorAll(n.selectorText).forEach(g=>o(g,a))}),e.querySelectorAll('[style*="view-transition-name"').forEach(n=>o(n,n.style.viewTransitionName));let i=new Set(t.values());return i.delete("none"),i;function o(n,a){a=="none"?n.removeAttribute("data-vtbag-transition-name"):n.dataset.vtbagTransitionName=a,t.set(n,a)}}var f=null;function w(t,e,i){let o=top.document.documentElement,n,a,g=(r,u=0)=>((r instanceof TouchEvent?r.touches[0]?.clientX:r.clientX)??0)-u,c=(r,u=0)=>((r instanceof TouchEvent?r.touches[0]?.clientY:r.clientY)??0)-u,l=(r,u)=>{f=u,n=g(r)-u.getBoundingClientRect().x,a=c(r)-u.getBoundingClientRect().y,o.classList.add("dragging");let A=o.querySelector("#vtbag-main-frame");A&&(A.style.pointerEvents="none"),i&&i(),r.cancelable&&r.preventDefault()},s=r=>{o.classList.contains("dragging")&&e(g(r,n),c(r,a))},I=()=>{if(o.classList.contains("dragging")){o.classList.remove("dragging");let r=o.querySelector("#vtbag-main-frame");r&&(r.style.pointerEvents="auto")}f=null};t.addEventListener("mousedown",r=>l(r,t),{passive:!1}),t.addEventListener("touchstart",r=>l(r,t),{passive:!1}),t.ownerDocument.addEventListener("mousemove",r=>f===t&&s(r),{passive:!0}),t.ownerDocument.addEventListener("touchmove",r=>f===t&&s(r),{passive:!0}),t.ownerDocument.addEventListener("mouseup",r=>f===t&&I(),{passive:!0}),t.ownerDocument.addEventListener("touchend",r=>f===t&&I(),{passive:!0})}var _="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAIAAAAlC+aJAAAAxXpUWHRSYXcgcHJvZmlsZSB0eXBlIGV4aWYAAHjabVDbDcMgDPz3FB0BP3iNQ5pU6gYdvwc4URLlJA7bZx3GtP2+H3p1CBtZzCXVlAJg1ao0BCVMtMEcbPCAuYT8UqdDEJQUt860JO/f63wYzKshiiej8nZhuQrVX5ByM/KHtE8kCFY3qm6kMgV2gza/FVIt+fyFZQtXlHmok+bhfZjcc8vY3hpRVJFNWQNY1eYA2o+RNgQZzMq9EQ29wuCo4pNgIU972kF/4htZE32iZC4AAAGDaUNDUElDQyBwcm9maWxlAAB4nH2RPUjDQBzFX1OlohUHK4g4ZKhOdtEijqWKRbBQ2gqtOphc+gVNGpIUF0fBteDgx2LVwcVZVwdXQRD8AHF2cFJ0kRL/lxRaxHhw3I939x537wChWWWq2RMDVM0y0om4mMuvioFXBDCAEQBRiZl6MrOYhef4uoePr3cRnuV97s8xqBRMBvhE4hjTDYt4g3h209I57xOHWFlSiM+Jpwy6IPEj12WX3ziXHBZ4ZsjIpueJQ8RiqYvlLmZlQyWOEocVVaN8IeeywnmLs1qts/Y9+QuDBW0lw3Wa40hgCUmkIEJGHRVUYSFCq0aKiTTtxz38Y44/RS6ZXBUwciygBhWS4wf/g9/dmsWZaTcpGAd6X2z7YwII7AKthm1/H9t26wTwPwNXWsdfawJzn6Q3Olr4CBjaBi6uO5q8B1zuAKNPumRIjuSnKRSLwPsZfVMeGL4F+tfc3tr7OH0AstTV8g1wcAhMlih73ePdfd29/Xum3d8PoPlyuXZhFhMAAA5VaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJYTVAgQ29yZSA0LjQuMC1FeGl2MiI+CiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiCiAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgICB4bWxuczpHSU1QPSJodHRwOi8vd3d3LmdpbXAub3JnL3htcC8iCiAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIKICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgeG1wTU06RG9jdW1lbnRJRD0iZ2ltcDpkb2NpZDpnaW1wOmMyOWNiMDgzLWMxOTktNDQ0ZC1iMjc4LTZlZDk0OGUwZDIyYSIKICAgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2MDcxY2NkZC1kM2QxLTRmZTktYmVlNS01NWRmMzhmM2JlZmQiCiAgIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpjOTdmMWJlYi00N2E5LTRhMmMtYTcyNS0zOGZjMTZiNjI0YzEiCiAgIGRjOkZvcm1hdD0iaW1hZ2UvcG5nIgogICBHSU1QOkFQST0iMi4wIgogICBHSU1QOlBsYXRmb3JtPSJXaW5kb3dzIgogICBHSU1QOlRpbWVTdGFtcD0iMTcyMDczMTcxNTgzMjY0MiIKICAgR0lNUDpWZXJzaW9uPSIyLjEwLjM0IgogICB0aWZmOk9yaWVudGF0aW9uPSIxIgogICB4bXA6Q3JlYXRvclRvb2w9IkdJTVAgMi4xMCIKICAgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyNDowNzoxMVQyMzowMTo1MiswMjowMCIKICAgeG1wOk1vZGlmeURhdGU9IjIwMjQ6MDc6MTFUMjM6MDE6NTIrMDI6MDAiPgogICA8eG1wTU06SGlzdG9yeT4KICAgIDxyZGY6U2VxPgogICAgIDxyZGY6bGkKICAgICAgc3RFdnQ6YWN0aW9uPSJzYXZlZCIKICAgICAgc3RFdnQ6Y2hhbmdlZD0iLyIKICAgICAgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDozNTMxMTg4NS00MWU5LTQ5OTktOTJkZC1mZTU0ODBjYmQ3NGUiCiAgICAgIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkdpbXAgMi4xMCAoV2luZG93cykiCiAgICAgIHN0RXZ0OndoZW49IjIwMjQtMDYtMjlUMTU6NTM6MzQiLz4KICAgICA8cmRmOmxpCiAgICAgIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiCiAgICAgIHN0RXZ0OmNoYW5nZWQ9Ii8iCiAgICAgIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6OWY2NjUyZmYtZTdmYS00NGMyLTliMDktYmJiNjBlMzlhNTMwIgogICAgICBzdEV2dDpzb2Z0d2FyZUFnZW50PSJHaW1wIDIuMTAgKFdpbmRvd3MpIgogICAgICBzdEV2dDp3aGVuPSIyMDI0LTA3LTExVDIzOjAxOjU1Ii8+CiAgICA8L3JkZjpTZXE+CiAgIDwveG1wTU06SGlzdG9yeT4KICA8L3JkZjpEZXNjcmlwdGlvbj4KIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/PgVo1ZkAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfoBwsVATfoqZ2LAAAdpElEQVRo3mV6WYxkaXbWWf7/bhGZkVtl7Ut3VXVP9TbtHs90z2aPZwZZsmwzssAGbMQggYEXXpB4QcATvCEekEBICBAPYCMe4MGyB2G8DDO0Z+me7umtumvvrKzMyozMyMiIuPf+/3/O4eFGZJXFzRuhyBvLPf9/tu985+C1r3zDMSGCmmkM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";var x="vtbag-ui-standby",tt="vtbag-ui-reopener-position";function et(){top.addEventListener("resize",()=>{});let{reopenerLeft:t,reopenerTop:e}=JSON.parse(top.sessionStorage.getItem(tt)??'{"reopenerLeft": "0px", "reopenerTop": "0px"}');top.document.body.insertAdjacentHTML("beforeend",`<div title="Reactivate the inspection chamber" id="vtbag-ui-reopen" style="position: fixed; z-index:1100; left: ${t}; top: ${e}"><img style=" border-radius: 50%;
|
|
837
|
+
`;function tt(t,e){t.forEach(n=>{try{et([...n.cssRules],e)}catch{}})}function et(t,e){t.forEach(n=>{n.constructor.name==="CSSStyleRule"?e(n):"cssRules"in n?et([...n.cssRules],e):"styleSheet"in n&&tt([n.styleSheet],e)})}function Q(){let t=new Map,e=top.__vtbag.inspectionChamber.frameDocument;i(e.documentElement,"root"),tt([...e.styleSheets],o=>{let g=o.style.getPropertyValue("view-transition-name");g&&e.querySelectorAll(o.selectorText).forEach(l=>i(l,g))}),e.querySelectorAll('[style*="view-transition-name"').forEach(o=>i(o,o.style.viewTransitionName));let n=new Set(t.values());return n.delete("none"),n;function i(o,g){g=="none"?o.removeAttribute("data-vtbag-transition-name"):o.dataset.vtbagTransitionName=g,t.set(o,g)}}var D=null;function x(t,e,n){let i=top.document.documentElement,o,g,l=(a,c=0)=>((a instanceof TouchEvent?a.touches[0]?.clientX:a.clientX)??0)-c,d=(a,c=0)=>((a instanceof TouchEvent?a.touches[0]?.clientY:a.clientY)??0)-c,s=(a,c)=>{D=c;let m=l(a),A=d(a);o=m-c.getBoundingClientRect().x,g=A-c.getBoundingClientRect().y,i.classList.add("dragging");let b=i.querySelector("#vtbag-main-frame");b&&(b.style.pointerEvents="none"),n&&n(m-o,A-g),a.cancelable&&a.preventDefault()},I=a=>{i.classList.contains("dragging")&&e(l(a,o),d(a,g))},r=()=>{if(i.classList.contains("dragging")){i.classList.remove("dragging");let a=i.querySelector("#vtbag-main-frame");a&&(a.style.pointerEvents="auto")}D=null};t.addEventListener("mousedown",a=>s(a,t),{passive:!1}),t.addEventListener("touchstart",a=>s(a,t),{passive:!1}),t.ownerDocument.addEventListener("mousemove",a=>D===t&&I(a),{passive:!0}),t.ownerDocument.addEventListener("touchmove",a=>D===t&&I(a),{passive:!0}),t.ownerDocument.addEventListener("mouseup",a=>D===t&&r(),{passive:!0}),t.ownerDocument.addEventListener("touchend",a=>D===t&&r(),{passive:!0})}var nt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAIAAAAlC+aJAAAAxXpUWHRSYXcgcHJvZmlsZSB0eXBlIGV4aWYAAHjabVDbDcMgDPz3FB0BP3iNQ5pU6gYdvwc4URLlJA7bZx3GtP2+H3p1CBtZzCXVlAJg1ao0BCVMtMEcbPCAuYT8UqdDEJQUt860JO/f63wYzKshiiej8nZhuQrVX5ByM/KHtE8kCFY3qm6kMgV2gza/FVIt+fyFZQtXlHmok+bhfZjcc8vY3hpRVJFNWQNY1eYA2o+RNgQZzMq9EQ29wuCo4pNgIU972kF/4htZE32iZC4AAAGDaUNDUElDQyBwcm9maWxlAAB4nH2RPUjDQBzFX1OlohUHK4g4ZKhOdtEijqWKRbBQ2gqtOphc+gVNGpIUF0fBteDgx2LVwcVZVwdXQRD8AHF2cFJ0kRL/lxRaxHhw3I939x537wChWWWq2RMDVM0y0om4mMuvioFXBDCAEQBRiZl6MrOYhef4uoePr3cRnuV97s8xqBRMBvhE4hjTDYt4g3h209I57xOHWFlSiM+Jpwy6IPEj12WX3ziXHBZ4ZsjIpueJQ8RiqYvlLmZlQyWOEocVVaN8IeeywnmLs1qts/Y9+QuDBW0lw3Wa40hgCUmkIEJGHRVUYSFCq0aKiTTtxz38Y44/RS6ZXBUwciygBhWS4wf/g9/dmsWZaTcpGAd6X2z7YwII7AKthm1/H9t26wTwPwNXWsdfawJzn6Q3Olr4CBjaBi6uO5q8B1zuAKNPumRIjuSnKRSLwPsZfVMeGL4F+tfc3tr7OH0AstTV8g1wcAhMlih73ePdfd29/Xum3d8PoPlyuXZhFhMAAA5VaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJYTVAgQ29yZSA0LjQuMC1FeGl2MiI+CiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiCiAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgICB4bWxuczpHSU1QPSJodHRwOi8vd3d3LmdpbXAub3JnL3htcC8iCiAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIKICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgeG1wTU06RG9jdW1lbnRJRD0iZ2ltcDpkb2NpZDpnaW1wOmMyOWNiMDgzLWMxOTktNDQ0ZC1iMjc4LTZlZDk0OGUwZDIyYSIKICAgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2MDcxY2NkZC1kM2QxLTRmZTktYmVlNS01NWRmMzhmM2JlZmQiCiAgIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpjOTdmMWJlYi00N2E5LTRhMmMtYTcyNS0zOGZjMTZiNjI0YzEiCiAgIGRjOkZvcm1hdD0iaW1hZ2UvcG5nIgogICBHSU1QOkFQST0iMi4wIgogICBHSU1QOlBsYXRmb3JtPSJXaW5kb3dzIgogICBHSU1QOlRpbWVTdGFtcD0iMTcyMDczMTcxNTgzMjY0MiIKICAgR0lNUDpWZXJzaW9uPSIyLjEwLjM0IgogICB0aWZmOk9yaWVudGF0aW9uPSIxIgogICB4bXA6Q3JlYXRvclRvb2w9IkdJTVAgMi4xMCIKICAgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyNDowNzoxMVQyMzowMTo1MiswMjowMCIKICAgeG1wOk1vZGlmeURhdGU9IjIwMjQ6MDc6MTFUMjM6MDE6NTIrMDI6MDAiPgogICA8eG1wTU06SGlzdG9yeT4KICAgIDxyZGY6U2VxPgogICAgIDxyZGY6bGkKICAgICAgc3RFdnQ6YWN0aW9uPSJzYXZlZCIKICAgICAgc3RFdnQ6Y2hhbmdlZD0iLyIKICAgICAgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDozNTMxMTg4NS00MWU5LTQ5OTktOTJkZC1mZTU0ODBjYmQ3NGUiCiAgICAgIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkdpbXAgMi4xMCAoV2luZG93cykiCiAgICAgIHN0RXZ0OndoZW49IjIwMjQtMDYtMjlUMTU6NTM6MzQiLz4KICAgICA8cmRmOmxpCiAgICAgIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiCiAgICAgIHN0RXZ0OmNoYW5nZWQ9Ii8iCiAgICAgIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6OWY2NjUyZmYtZTdmYS00NGMyLTliMDktYmJiNjBlMzlhNTMwIgogICAgICBzdEV2dDpzb2Z0d2FyZUFnZW50PSJHaW1wIDIuMTAgKFdpbmRvd3MpIgogICAgICBzdEV2dDp3aGVuPSIyMDI0LTA3LTExVDIzOjAxOjU1Ii8+CiAgICA8L3JkZjpTZXE+CiAgIDwveG1wTU06SGlzdG9yeT4KICA8L3JkZjpEZXNjcmlwdGlvbj4KIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/PgVo1ZkAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfoBwsVATfoqZ2LAAAdpElEQVRo3mV6WYxkaXbWWf7/bhGZkVtl7Ut3VXVP9TbtHs90z2aPZwZZsmwzssAGbMQggYEXXpB4QcATvCEekEBICBAPYCMe4MGyB2G8DDO0Z+me7umtumvvrKzMyozMyMiIuPf+/3/O4eFGZJXFzRuhyBvLPf9/tu985+C1r3zDMSGCmmkM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";var k="vtbag-ui-standby",it="vtbag-ui-reopener-position";function ot(){let{reopenerLeft:t,reopenerTop:e}=JSON.parse(top.sessionStorage.getItem(it)??'{"reopenerLeft": "0px", "reopenerTop": "0px"}');top.document.querySelector("#vtbag-ui-reopen")?.remove(),top.document.body.insertAdjacentHTML("beforeend",`<div title="Reactivate the inspection chamber" id="vtbag-ui-reopen" style="position: fixed; z-index:1100; left: ${t}; top: ${e}"><img style=" border-radius: 50%;
|
|
804
838
|
border: 8px dashed #8888;
|
|
805
839
|
mask-image: radial-gradient(ellipse at center, white 35%, transparent 71%);
|
|
806
|
-
" src=${
|
|
840
|
+
" src=${nt} alt="Reactivate the inspection chamber" /><div>
|
|
807
841
|
|
|
808
842
|
<style>
|
|
809
843
|
#vtbag-ui-reopen g {
|
|
@@ -823,7 +857,7 @@
|
|
|
823
857
|
stroke: #a97
|
|
824
858
|
}
|
|
825
859
|
</style>
|
|
826
|
-
`),
|
|
860
|
+
`),Kt()}function Kt(){let t=top.document.querySelector("#vtbag-ui-reopen"),e={x:-1,y:-1},n={x:-1,y:-1};t.addEventListener("click",i),t.addEventListener("touchend",i),x(t,(o,g)=>{t.style.left=`${o}px`,t.style.top=`${g}px`,e={x:o,y:g},$t(t)},(o,g)=>(e={x:-1,y:-1},n={x:o,y:g}));function i(){(e.x===-1||Math.pow(n.x-e.x,2)+Math.pow(n.y-e.y,2)<=16)&&(top.sessionStorage.removeItem(k),top.location.reload())}}function $t(t){top.sessionStorage.setItem(it,JSON.stringify({reopenerLeft:t.style.left,reopenerTop:t.style.top}))}var p=()=>top.document.documentElement.classList.contains("vtbag-vt-active"),at=()=>top.document.documentElement.classList.add("vtbag-vt-active"),gt=()=>top.document.documentElement.classList.remove("vtbag-vt-active"),R,O;function h(t,e,n=!1){let i=p();n||i||R||!top.document.startViewTransition?(!1,t()):(O=e,R=top.document.startViewTransition(t),R.finished.finally(()=>R=O=void 0))}function Z(){top.__vtbag.inspectionChamber.viewTransition?.skipTransition()}var Y=2,_t=5,u;function rt(){dt(),t(),top.document.querySelector("#vtbag-ui-light-dark").addEventListener("click",t);function t(){let n=top.document.documentElement.style.colorScheme.startsWith("dark");u.innerPanel.style.backgroundColor=n?"#000":"#fff",u.innerPanel.style.color=n?"#fff":"#000"}x(u.innerPanel.children[0],(n,i)=>{u.innerPanel.style.left=`${n}px`,u.innerPanel.style.top=`${i}px`}),x(u.innerPanel.children[u.innerPanel.children.length-1],(n,i)=>{let o=u.innerPanel.getBoundingClientRect();u.innerPanel.style.width=`${Math.max(200,n-o.x+32)}px`,u.innerPanel.style.height=`${Math.max(200,i-o.y+32)}px`});let e=u.innerPanel.querySelector("#vtbag-ui-opacity");u.innerPanel.style.opacity=`${parseInt(e.value,10)/100}`,e.addEventListener("input",n=>{u.innerPanel.style.opacity=`${parseInt(n.target.value,10)/100}`}),u.innerPanel.querySelector("#vtbag-ui-inner-panel-close").addEventListener("click",ct),u.mainPanel.querySelectorAll(":scope > div").forEach(n=>S(n))}function S(t){t.querySelector(":scope > h4")?.addEventListener("click",e=>{h(()=>{let n=e.target.closest("#vtbag-ui-panel > div");ut(),n?(u.pushBack=n.nextElementSibling,u.innerPanel.insertBefore(n,u.innerPanel.children[Y]),u.innerPanel.style.display="block"):u.innerPanel.style.display="none"},"inner panel")})}function lt(){let t=u.innerPanel.children[Y].id;(t==="vtbag-ui-slow-motion"||t==="vtbag-ui-control")&&(u.mainPanel.insertBefore(u.innerPanel.children[Y],u.pushBack??null),u.innerPanel.style.display="none")}function st(){top.setTimeout(()=>{let t=top.document.querySelector(`#vtbag-ui-inner-panel:has( > div:nth-of-type(${Y+1}):empty)`);t&&(t.style.display="none",ct())},100)}function ct(){dt(),h(()=>{ut(),u.innerPanel.style.display="none"},"close inner panel")}function ut(){u.innerPanel.children.length===_t&&u.mainPanel.insertBefore(u.innerPanel.children[Y],u.pushBack??null),u.pushBack=null}function dt(){u??=top.__vtbag.inspectionChamber,u.mainPanel??=top.document.querySelector("#vtbag-ui-panel"),u.innerPanel??=top.document.querySelector("#vtbag-ui-inner-panel")}var It=!0;function G(t){top.document.documentElement.dataset.vtbagModus=t||""}function y(){let t=top.document.documentElement.dataset.vtbagModus;return t||void 0}function mt(t){let e=top.document.querySelector("#vtbag-ui-messages");e.innerHTML=te[t],S(e);let n=top.document.querySelector("#vtbag-ui-modi");It&&n.parentElement?.id==="vtbag-ui-panel"&&e.parentElement?.id==="vtbag-ui-panel"&&(It=!1,top.document.querySelector("#vtbag-ui-panel")?.insertAdjacentElement("afterbegin",top.document.querySelector("#vtbag-ui-modi")));let i=top.document.querySelector("#vtbag-ui-panel #vtbag-ui-messages h4");i&&localStorage.getItem("vtbag-tutorial-mode")!=="false"&&i.click()}var te={bypass:"<h4>How to Bypass</h4><p>Navigation is <b>not intercepted</b>.</p><ol><li>Optional: Examine elements by selecting from the View Transition Name list</li><li>Navigate your page as usual</li></ol>","slow-motion":"<h4>View in Slow Motion</h4><ol><li>Use the slider to set a <b>time stretch factor</b></li><li>Press a link on your page to start a view transition and study the <b>slowed down animations!</li></ol>","full-control":"<h4>Take Full Control</h4><ol><li>Start a transition</li><li>Optional: Select animations from the name list</li><li>Travel back and forth through the timeline of selected elements, check the single animations, hide old and new images or even animations to get a better view.</li><li>To end the inspection, click the [Exit] button in the Full Control panel or the <i>play indicator</i> ([>]) in the top left corner of the viewport.</li></ol>",compare:"<h4>Compare Side-by-side</h4><p>Sometimes you need a clear view of where you're coming from and where you're going!</p><p>Compare the <b>old and new pages side by side</b> and see what morphs where.</p>"};function w(t,e="",n=top.__vtbag.inspectionChamber.frameDocument,i=!1){let o="vtbag-adopted-sheet"+(e?"-"+e:"");n.getElementById(o)?.remove(),t&&n.head.insertAdjacentHTML(i?"afterbegin":"beforeend",`<style id="${o}">${t}</style>`)}function z(t,e){t?ne(e):ee()}function ee(){w("")}function ne(t=!1){w(`
|
|
827
861
|
${t?`
|
|
828
862
|
* {
|
|
829
863
|
pointer-events: none;
|
|
@@ -850,44 +884,47 @@
|
|
|
850
884
|
[data-vtbag-transition-name] {
|
|
851
885
|
cursor: help;
|
|
852
886
|
}
|
|
853
|
-
|
|
854
|
-
position: absolute;
|
|
855
|
-
inset: 0;
|
|
856
|
-
}
|
|
857
|
-
`)}var it={bypass:"<h4>How to Bypass</h4><p>Navigation is <b>not intercepted</b>.</p><ol><li>Optional: Examine elements by selecting from the View Transition Name list</li><li>Navigate your page as usual</li></ol>","slow-motion":"<h4>Use Slow Motion</h4><ol><li>Use the slider to set a <b>time stretch factor</b></li><li>Press a link on your page to start a view transition and study the <b>slowed down animations!</li></ol>",control:"<h4>Take Full Control</h4><ol><li>Start a transition</li><li>Optional: Select animations from the list below</li><li>Move freely through the timeline by moving the sliders and concentrate on selected elements and groups.</li><li>To end the inspection, click the [Exit] button in the Full Control panel or the <i>play indicator</i> ([>]) in the top left corner of the viewport.</li></ol>",compare:"<h4>Compare Side-by-side</h4><p>Sometimes you need a clear view of where you're coming from and where you're going!</p><p>Compare the <b>old and new pages side by side</b> and see what morphs where.</p>"};var m=()=>top.document.documentElement.classList.contains("vtbag-vt-active"),nt=()=>top.document.documentElement.classList.add("vtbag-vt-active"),ot=()=>top.document.documentElement.classList.remove("vtbag-vt-active"),z,k;function b(t,e,i=!1){let o=m();i||o||z||!top.document.startViewTransition?(!1,t()):(k=e,z=top.document.startViewTransition(t),z.finished.finally(()=>z=k=void 0))}function S(){top.__vtbag.inspectionChamber.viewTransition?.skipTransition()}function at(){lt(),gt()}function gt(){let t=1/Math.max(1e-6,parseFloat(top.document.querySelector("#vtbag-ui-tsf")?.innerText??"1.0"));top.__vtbag.inspectionChamber.animations?.forEach(e=>{e.playbackRate=t,e.playState==="paused"&&e.play()})}function rt(){let t=top.document.querySelector("#vtbag-ui-slo-mo"),e=top.document.querySelector("#vtbag-ui-tsf");t.addEventListener("input",i=>{if(i.target instanceof HTMLInputElement){let o=(Math.exp(parseInt(i.target.value,10)/100)-100)/100+1-.14;e.innerText=`${o.toFixed(1)}`,gt()}})}function lt(){let t=top.__vtbag.inspectionChamber,e=t.longestAnimation;e&&(top.document.querySelector("#vtbag-ui-slo-mo-progress").innerText=` ${~~(e.currentTime??0)} / ${t.animationEndTime} ms`,m()&&setTimeout(lt,20))}var H,d,Y=null;function st(){H=top.document.querySelector("#vtbag-ui-panel"),d=top.document.querySelector("#vtbag-ui-inner-panel"),t(),top.document.querySelector("#vtbag-ui-light-dark").addEventListener("click",t);function t(){let i=top.document.documentElement.style.colorScheme.startsWith("dark");d.style.backgroundColor=i?"#000":"#fff",d.style.color=i?"#fff":"#000"}w(d.children[0],(i,o)=>{d.style.left=`${i}px`,d.style.top=`${o}px`}),w(d.children[2],(i,o)=>{let n=d.getBoundingClientRect();d.style.width=`${Math.max(200,i-n.x+32)}px`,d.style.height=`${Math.max(200,o-n.y+32)}px`});let e=d.querySelector("#vtbag-ui-opacity");d.style.opacity=`${parseInt(e.value,10)/100}`,e.addEventListener("input",i=>{d.style.opacity=`${parseInt(i.target.value,10)/100}`}),H.querySelectorAll(":scope > div").forEach(i=>T(i))}function T(t){t.querySelector(":scope > h4")?.addEventListener("click",e=>{b(()=>{let i=e.target.closest("#vtbag-ui-panel > div");d.children.length>3&&H.insertBefore(d.children[1],Y),Y=null,i?(Y=i.nextElementSibling,d.insertBefore(i,d.children[1]),d.style.display="block"):d.style.display="none"},"inner panel")})}function ct(){let t=d.children[1].id;(t==="vtbag-ui-slow-motion"||t==="vtbag-ui-control")&&(H.insertBefore(d.children[1],Y),d.style.display="none")}function ut(t,e,i,o,n){let a=e.createElement("vtbag-pseudo-twin");c(a,t,"","");let g=top.__vtbag.inspectionChamber.twin=a.firstElementChild;i.forEach(l=>{let s=c(g,t,"group",l),I=c(s,t,"image-pair",l);c(I,t,"old",l)&&o.add(l),c(I,t,"new",l)&&n.add(l)}),e.body.insertAdjacentElement("beforeend",g);function c(l,s,I,r){if(!l)return;let u=top.__vtbag.inspectionChamber,A=l.ownerDocument,v=s.defaultView.getComputedStyle(s.documentElement,I?`::view-transition-${I}(${r})`:"::view-transition");if(!v.height.endsWith("px"))return;u?.styleMap?.set(`${I}-${r}`,v);let p=A.createElement("vtbag-pseudo-twin");return p.id=I?`vtbag-twin--view-transition-${I}-${r}`:"vtbag-twin--view-transition",p.dataset.vtbagTransitionName=r,p.dataset.vtbagTransitionPseudo=I,l.insertAdjacentElement("beforeend",p),dt(v,p.style),p.style.visibility="hidden",p}}function It(){top.document.documentElement.classList.add("vtbag-twin-sync"),setTimeout(()=>{let t=top.__vtbag.inspectionChamber,e=t.frameDocument.documentElement;[...t.twin.children].forEach(async i=>{let o=i.dataset.vtbagTransitionName;U(e,i,o),U(e,i.children[0],o),U(e,i.children[0].children[0],o),U(e,i.children[0].children[1],o),await new Promise(n=>setTimeout(n))}),top.document.documentElement.classList.remove("vtbag-twin-sync")})}function U(t,e,i){if(!e)return;let o=e.dataset.vtbagTransitionPseudo,a=e.ownerDocument.defaultView.getComputedStyle(t,`::view-transition-${o}(${i})`),g=e.style;dt(a,g)}function dt(t,e){e.position=t.position,e.inset=t.inset,e.height=t.height,e.width=t.width,e.transform=t.transform,e.zIndex=t.zIndex,e.transformOrigin=t.transformOrigin,e.perspective=t.perspective}function mt(t){if(m()){let e,i=1/0;top.__vtbag.inspectionChamber.twin.querySelectorAll("vtbag-pseudo-twin > vtbag-pseudo-twin > vtbag-pseudo-twin").forEach(o=>{let{clientX:n,clientY:a}=t,{top:g,bottom:c,left:l,right:s,width:I,height:r}=o.getBoundingClientRect(),u=o.dataset.vtbagTransitionName,A=o.dataset.vtbagTransitionPseudo;if(I*r<i&&g<=a&&a<=c&&l<=n&&n<=s){let M=!0,v;window.top.document.querySelectorAll("#vtbag-ui-names li").forEach(p=>{p.innerText===u&&(v=p,p.classList.contains(`${A}-hidden`)&&(M=!1))}),M&&(i=I*r,e=v)}}),e?.click()}}function At(){h(`
|
|
887
|
+
`)}function At(){vt(),pt()}function pt(){let t=1/Math.max(1e-6,parseFloat(top.document.querySelector("#vtbag-ui-tsf")?.innerText??"1.0"));top.__vtbag.inspectionChamber.animations?.forEach(e=>{e.playbackRate=t,e.playState==="paused"&&e.play()})}function Ct(){let t=top.document.querySelector("#vtbag-ui-slo-mo"),e=top.document.querySelector("#vtbag-ui-tsf");t.addEventListener("input",n=>{if(n.target instanceof HTMLInputElement){let i=(Math.exp(parseInt(n.target.value,10)/100)-100)/100+1-.14;e.innerText=`${i.toFixed(1)}`,pt()}})}function vt(){let t=top.__vtbag.inspectionChamber,e=t.longestAnimation;e&&(top.document.querySelector("#vtbag-ui-slo-mo-progress").innerText=` ${~~(e.currentTime??0)} / ${t.animationEndTime} ms`,p()&&top.setTimeout(vt,20))}function bt(t,e,n,i,o){let g=e.createElement("vtbag-pseudo-twin");d(g,t,"::view-transition","");let l=top.__vtbag.inspectionChamber.twin=g.firstElementChild;n.forEach(s=>{let I=d(l,t,"group",s),r=d(I,t,"image-pair",s);d(r,t,"old",s)&&i.add(s),d(r,t,"new",s)&&o.add(s)}),e.body.insertAdjacentElement("beforeend",l);function d(s,I,r,a){if(!s){console.error("[inspection chamber] Works not as expected ;-)");return}let c=top.__vtbag.inspectionChamber,m=s.ownerDocument,A=I.defaultView,b=a?`::view-transition-${r}(${a})`:r,C=A.getComputedStyle(I.documentElement,b);if(!C.height.endsWith("px"))return;c?.styleMap.set(a?`${r}-${a}`:r,C);let v=m.createElement("vtbag-pseudo-twin");return v.id=ie(a,r),v.dataset.vtbagTransitionName=a,v.dataset.vtbagTransitionPseudo=r,s.insertAdjacentElement("beforeend",v),yt(C,v.style),v.style.visibility="hidden",v}}function ie(t,e){return e?`vtbag-twin--view-transition-${e}-${t}`:"vtbag-twin--view-transition"}async function Mt(t){top.document.documentElement.classList.add("vtbag-twin-sync");let e=top.__vtbag.inspectionChamber,n=e.frameDocument.documentElement;for(let i of[...e.twin.children]){let o=i.dataset.vtbagTransitionName;t.has(o)||(W(n,i,o),W(n,i.children[0],o),W(n,i.children[0].children[0],o),W(n,i.children[0].children[1],o),await new Promise(g=>self.setTimeout(g)))}top.document.documentElement.classList.remove("vtbag-twin-sync")}function W(t,e,n){if(!e)return;let i=e.dataset.vtbagTransitionPseudo,o=top.__vtbag.inspectionChamber.styleMap.get(`${i}-${n}`),g=e.style;yt(o,g)}function yt(t,e){e.position=t.position,e.inset=t.inset,e.height=t.height,e.width=t.width,e.transform=t.transform,e.zIndex=t.zIndex,e.transformOrigin=t.transformOrigin,e.perspective=t.perspective}function ht(t){if(p()){let e,n=1/0;top.__vtbag.inspectionChamber.twin.querySelectorAll("vtbag-pseudo-twin > vtbag-pseudo-twin > vtbag-pseudo-twin > vtbag-pseudo-twin").forEach(i=>{let{clientX:o,clientY:g}=t,{top:l,bottom:d,left:s,right:I,width:r,height:a}=i.getBoundingClientRect(),c=i.dataset.vtbagTransitionName,m=i.dataset.vtbagTransitionPseudo;if(r&&a&&r*a<n&&l<=g&&g<=d&&s<=o&&o<=I){let A=!0,b;console.log("test",c,m),window.top.document.querySelectorAll("#vtbag-ui-names li").forEach(C=>{C.innerText===c&&(b=C,C.classList.contains(`${m}-hidden`)&&(A=!1))}),A&&(n=r*a,e=b)}}),e?.click()}}function ft(){let t=top.__vtbag.inspectionChamber.frameDocument.body;w(`
|
|
858
888
|
@keyframes vtbag-twin-noop {
|
|
859
889
|
from { opacity: 1; } to { opacity: 1; }
|
|
860
890
|
}
|
|
861
891
|
::view-transition-image-pair(*) {
|
|
862
892
|
animation: vtbag-twin-noop forwards;
|
|
863
893
|
animation-duration: inherit;
|
|
864
|
-
}`,"catch",void 0,!0)}async function
|
|
894
|
+
}`,"catch",void 0,!0)}async function Lt(){let t=top.__vtbag.inspectionChamber,e=t.frameDocument,n=t.animations=[],i=t.keyframesMap=new Map,o=new Set;t.styleMap=new Map;let g=new WeakSet,l=!0,d=!1;for(;l;)l=!1,e.getAnimations().forEach(a=>{if(a.effect?.pseudoElement?.startsWith("::view-transition")){let{pseudoName:c,viewTransitionName:m}=q(a);if(!g.has(a)){let A=a instanceof CSSAnimation?a.animationName:void 0,b=a instanceof CSSTransition?a.transitionProperty:void 0;b?console.warn("[inspection-chamber] Unhandled transition:",m,c,b):A?(a.pause(),a.currentTime=0,m&&c==="image-pair"&&o.add(m),!m&&c==="::view-transition"&&(d=!0),A==="vtbag-twin-noop"?a.cancel():(n.push(a),i.set(A,a.effect?.getKeyframes()))):console.warn("[inspection-chamber] Unhandled animation:",m,c,a.constructor.name),l=!0}g.add(a)}}),l&&await new Promise(a=>e.defaultView.setTimeout(a)),d&&console.warn("[inspection-chamber] Root root animation detected");let s=a=>a.effect?.getComputedTiming().endTime?.valueOf()??0;t.longestAnimation=n.reduce((a,c)=>s(c)>s(a)?c:a),t.animationEndTime=~~s(t.longestAnimation);let I=new Set,r=new Set;bt(e,e,o,I,r),H(I,r)}function wt(){let t=top.__vtbag.inspectionChamber;t.frameDocument.querySelector("#vtbag-adopted-sheet")?.remove(),t.animations?.forEach(n=>{try{n.finish()}catch(i){console.error(i,n,n.effect?.getComputedTiming())}})}function B(t){let e=(r,a)=>a?`<tr><td style="text-align:right">${r}</td><td><tt><b>${a}</b></tt></td><tr>`:"",n=["offset","computedOffset","easing","composite"],i=top.__vtbag.inspectionChamber,o=i.styleMap,g=top.document.querySelector("#vtbag-ui-animations");g.innerHTML=p()?`<h4 data-vtbag-name=${t}>Animations of ${t}:</h4>`+l("group")+l("image-pair")+l("old")+l("new"):"",g.querySelectorAll('input[type="checkbox"]').forEach(r=>{let a=JSON.parse(r.dataset.vtbagContext);r.removeAttribute("data-vtbag-context"),r.checked=xt(t,a.pseudo,a.idx)?.playState==="paused",r.addEventListener("change",c=>{oe(t,a.pseudo,a.idx,r.checked)||(r.checked=!r.checked)})}),S(g);function l(r){let a=[],c=o.get(`${r}-${t}`),m=c?.animation,A=c?.animationName;if(A&&A!=="vtbag-twin-noop"&&A!=="none"){let C=c.animationName.split(", ");m.split(/,(?![^(]*\))/).forEach((v,E)=>{a.push(`<details><summary><input type="checkbox" data-vtbag-context='{"pseudo":"${r}","idx":${E}}'/> ${r}: <tt>${C[E]}</tt></summary>${b(C[E],v.endsWith(A)?v.slice(0,-A.length):v)}</details>`)})}return a.length>0?a.join("")+"<hr>":"";function b(C,v){return`
|
|
865
895
|
<table>
|
|
866
|
-
${e("
|
|
867
|
-
${e("
|
|
868
|
-
${
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
${e("
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
896
|
+
${e("animation:",v)}
|
|
897
|
+
${e("animates:",s(C))}
|
|
898
|
+
${I(C)}
|
|
899
|
+
</table>`}}function d(r){let a=o.get(`${r}-${t}`),c=a?.animationName;if(!a||!c||c==="vtbag-twin-noop"||c==="none")return"";let m=c.split(", "),A=a.animationDelay.split(", "),b=a.animationDuration.split(", "),C=a.animationDirection.split(", "),v=a.animationFillMode.split(", "),E=a.animationIterationCount.split(", "),X=a.animationTimingFunction.split(/,(?![^(]*\))/),K="animationTimeline"in a?a.animationTimeline.split(", "):[],$=[];return m.forEach((L,T)=>{$.push(`<details><summary><input type="checkbox" data-vtbag-context='{"pseudo":"${r}","idx":${T}}'/> ${r}: <tt>${L}(${b[T%b.length]}, ${A[T%A.length]})</tt></summary>${Ft(T,L)}</details>`)}),$.join("")+"<hr>";function Ft(L,T){return`
|
|
900
|
+
<table>
|
|
901
|
+
${e("direction:",C[L%C.length])}
|
|
902
|
+
${e("fill-mode:",v[L%v.length])}
|
|
903
|
+
${e("iteration-count:",E[L%E.length])}
|
|
904
|
+
${e("timing-function:",X[L%X.length])}
|
|
905
|
+
${e("timeline:",K[L%K.length])}
|
|
906
|
+
${e("animates:",s(T))}
|
|
907
|
+
${I(T)}
|
|
908
|
+
</table>`}}function s(r){let a=new Set;i.keyframesMap?.get(r)?.forEach(m=>Object.keys(m).forEach(A=>a.add(A)));let c=["offset","computedOffset","easing","composite"];return[...a].filter(m=>!c.includes(m)).sort().join(", ")}function I(r){return i.keyframesMap?.get(r)?.map((a,c)=>e(+(a.computedOffset??0)*100+"% :",Object.keys(a).sort().filter(m=>!n.includes(m)).map(m=>a[m]).join(", "))).join("")}}function Tt(){top.__vtbag.inspectionChamber.animations?.forEach(t=>{t instanceof CSSAnimation&&t.animationName!=="vtbag-twin-noop"&&t.playState==="idle"&&t.pause()}),B(top.document.querySelector("#vtbag-ui-animations h4").dataset.vtbagName),f()}function oe(t,e,n,i){let o=xt(t,e,n);return o?(i?(o.pause(),y()==="full-control"&&f()):o.cancel(),!0):!1}function xt(t,e,n){let i=top.__vtbag.inspectionChamber,g=i.styleMap.get(`${e}-${t}`).animationName.split(", ")[n],l=i.animations,d=`::view-transition-${e}(${t})`,s=l.filter(r=>r.effect?.pseudoElement===d);if(n>=s.length){console.error("[injection chamber] no animation found with idx",n);return}let I=s[n];if(I instanceof CSSAnimation&&I.animationName!==g){console.error("[injection chamber] animation name mismatch",g,I.animationName);return}return I}function P(){top.document.querySelector('#vtbag-ui-filter input[type="text"]').value="",top.document.querySelector("#vtbag-ui-filter ul input").click(),U()}function St(){top.document.querySelectorAll("#vtbag-ui-names li").forEach(t=>t.classList.remove("selected","old-hidden","new-hidden")),N(),Tt(),V()}function Nt(){top.document.querySelector("#vtbag-ui-filter ul").addEventListener("change",U),top.document.querySelector('#vtbag-ui-filter input[type="text"]').addEventListener("input",U),top.document.querySelector("#vtbag-ui-filter button").addEventListener("click",P)}var zt=500;function H(t,e){let n;return h(()=>{top.document.querySelector("#vtbag-ui-info").innerHTML="",top.document.querySelectorAll("#vtbag-ui-names li").forEach(o=>o.remove()),top.document.querySelector("#vtbag-ui-names h4").innerText=e?"Animation Groups":"Elements w/ View Transition Names",top.document.querySelector("#vtbag-ui-names div").style.display=e?"flex":"none";let i=top.document.querySelector("#vtbag-ui-names > ol");n=[...new Set([...t,...e??[]])].sort(),n.forEach((o,g)=>{let l=top.document.createElement("li");l.innerText=o,e&&t.has(o)&&l.classList.add("old"),e?.has(o)&&l.classList.add("new"),l.style.viewTransitionName=`vtbag-name-${g}`,i.appendChild(l)}),top.document.querySelector("#vtbag-ui-filter ul").style.display=e?"block":"none",U()},"update names"),n}function U(){let t=top.document.querySelectorAll("#vtbag-ui-names li"),e=top.document.querySelector("#vtbag-ui-filter ul input:checked").id.replace("vtbag-c-",""),n=top.document.querySelector('#vtbag-ui-filter input[type="text"]').value;h(()=>{t.forEach(i=>{let o=i.style,g=i.classList,l=i.innerText;o.display=(n===""||l.includes(n))&&(e==="all"||e==="both"&&g.contains("new")&&g.contains("old")||e==="old-only"&&g.contains("old")&&!g.contains("new")||e==="new-only"&&g.contains("new")&&!g.contains("old")||e==="old"&&g.contains("old")||e==="new"&&g.contains("new"))?"list-item":"none"})},"refresh names")}async function J(){if(!p())return;let e=top.__vtbag.inspectionChamber.twin.ownerDocument,n=top.document,i=top.getComputedStyle(n.documentElement),o=n.documentElement.classList.contains("vtbag-ui-column"),g=o?parseFloat(i.getPropertyValue("--vtbag-panel-width")||"0"):0,l=o?0:parseFloat(i.getPropertyValue("--vtbag-panel-height")||"0"),d=n.querySelectorAll("#vtbag-ui-names li"),s=new Set;d.forEach(I=>{I.classList.contains("old-hidden")&&I.classList.contains("new-hidden")&&s.add(I.innerText)}),await Mt(s),d.forEach(I=>{let r=I.innerText,a=I.classList;a[a.contains("old")&&Et(e.querySelector(`#vtbag-twin--view-transition-old-${r}`),g,l)===!1?"add":"remove"]("old-invisible"),a[a.contains("new")&&Et(e.querySelector(`#vtbag-twin--view-transition-new-${r}`),g,l)===!1?"add":"remove"]("new-invisible"),a[(!a.contains("old")||a.contains("old-invisible"))&&(!a.contains("new")||a.contains("new-invisible"))?"add":"remove"]("invisible")})}function Et(t,e=0,n=0){if(!t)return;let{top:i,right:o,bottom:g,left:l,width:d,height:s}=t.getBoundingClientRect();return!1,d>0&&s>0&&i<window.top.innerHeight-n&&g>0&&l<window.top.innerWidth-e&&o>0}function N(){let t=[];top.document.querySelectorAll("#vtbag-ui-names li").forEach(e=>{let n=e.innerText,i=e.classList,o=!1;i.contains("old-hidden")&&(o=!0,t.push(`::view-transition-old(${n}) { visibility: hidden; }`)),i.contains("new-hidden")&&(t.push(`::view-transition-new(${n}) { visibility: hidden; }`),o&&t.push(`::view-transition-group(${n}) { visibility: hidden; }`))}),w(t.join(`
|
|
909
|
+
`),"image-visibility"),f()}function ae(t){let e=y()==="full-control"&&p(),n=top.document.querySelectorAll("#vtbag-ui-names li"),i,o=top.document.querySelector("#vtbag-ui-controller"),g=top.document.querySelector("#vtbag-ui-progress"),l=top.document.querySelector("#vtbag-ui-controller2"),d=top.document.querySelector("#vtbag-ui-progress2");n.forEach(s=>{s.innerText===t?(s.classList.contains("selected")?(l.value=o.value,d.innerText=g.innerText):(o.value=l.value,g.innerText=d.innerText),s.classList[e?"toggle":"add"]("selected"),i=s,s.style.display==="none"&&P()):e||s.classList.remove("selected")}),i&&i.scrollIntoView({behavior:"instant",block:"nearest",inline:"nearest"})}function ge(t){let e=top.document.querySelector("#vtbag-ui-info");if(t&&!p())navigator.clipboard.writeText(`inspect(top.document.querySelector("#vtbag-main-frame").contentDocument.querySelector("${Dt(t)}"))`),e.innerHTML=`<h4>Info</h4>
|
|
910
|
+
<p>DevTools selector '<b><code>${Dt(t)}</code></b>' copied to clipboard. Paste to DevTools console to further inspect the element.</p>`;else{navigator.clipboard.writeText('inspect(top.document.querySelector("#vtbag-main-frame").contentDocument.querySelector(":root"))');let n=t&&t.dataset.vtbagTransitionName;e.innerHTML=`<h4>Info</h4>
|
|
911
|
+
<p>DevTools selector '<b><code>:root</code></b>' copied to clipboard. Paste to DevTools console, then expand the <code><html></code> element and its <code>::view-transition</code> pseudo element.</p>${n&&"<p>Look for the <code>::view-transition-group("+n+")</code> pseudo element and its children.</p>"}`}S(e)}function Dt(t,e=!0){let n=[];for(;t&&t.nodeType===Node.ELEMENT_NODE;){let i=t.nodeName.toLowerCase();if(e&&t.id){i="#"+t.id,n.unshift(i);break}else{let o=t,g=1;for(;o=o.previousElementSibling;)o.nodeName.toLowerCase()===i&&g++;g!==1&&(i+=":nth-of-type("+g+")")}n.unshift(i),t=t.parentNode}return n.join(" > ")}function kt(){let t=e=>{let n=e+"-hidden",o=[...top.document.querySelectorAll("#vtbag-ui-names li")].filter(l=>l.classList.contains(e)),g=o.length>0&&o[0].classList.contains(n)?"remove":"add";o.forEach(l=>l.classList[g](n)),N()};top.document.querySelector("#vtbag-ui-names button").addEventListener("click",()=>St()),top.document.querySelector("#vtbag-ui-names-old").addEventListener("click",()=>t("old")),top.document.querySelector("#vtbag-ui-names-new").addEventListener("click",()=>t("new")),top.document.querySelector("#vtbag-ui-names ol").addEventListener("click",e=>{let n=!e.isTrusted;if(e.target instanceof HTMLElement){let i=e.target.closest("li");if(i&&e instanceof PointerEvent){i.style.display==="none"&&P();let o=y();h(()=>{let{left:g,width:l}=i.getBoundingClientRect(),d=e.clientX-g,s=!n&&d>=0&&d<=20,I=!n&&d>=l-20&&d<=l,r=i.classList;if(s&&r.contains("old")){r.toggle("old-hidden"),N();return}if(I&&r.contains("new")){r.toggle("new-hidden"),N();return}let a=i.innerText;!n&&re(a),ae(a);let c=window.top.__vtbag.inspectionChamber?.frameDocument.querySelector(`[data-vtbag-transition-name="${a}"]`);o&&o!=="bypass"&&ge(c),p()&&B(a)},"names",!0)}}V()})}var jt=[{boxShadow:"inset 0 0 50px darkslateblue"},{boxShadow:"inset 0 0 0px darkslateblue"},{boxShadow:"0 0 50px darkslateblue"},{boxShadow:"0 0 100px darkslateblue",display:"inline-block",minWidth:"20px",minHeight:"20px",backgroundColor:"darkslateblue",opacity:"0.5"},{boxShadow:"0 0 50px darkslateblue"},{boxShadow:"0 0 0px darkslateblue"},{boxShadow:"inset 0 0 50px darkslateblue"}];function re(t){if(p())le(t);else{let e=top.__vtbag.inspectionChamber,n=e.frameDocument.querySelector(`[data-vtbag-transition-name="${t}"]`);if(n){n.scrollIntoView({behavior:"instant",block:"nearest",inline:"nearest"});let i=self.getComputedStyle(n).display;jt[3].display=i.includes("block")?i:"inline-block",e.glow=n.animate(jt,{duration:500,iterations:1}),self.setTimeout(()=>e.glow=void 0,500)}}}function le(t){w(`
|
|
876
912
|
::view-transition-old(*),
|
|
877
|
-
::view-transition-new(*)
|
|
913
|
+
::view-transition-new(*),
|
|
914
|
+
::view-transition-group(*) {
|
|
878
915
|
opacity: 0;
|
|
879
916
|
}
|
|
917
|
+
::view-transition-group(${t}) {
|
|
918
|
+
opacity: 1;
|
|
919
|
+
outline: 2px dashed darkgoldenrod;
|
|
920
|
+
}
|
|
880
921
|
::view-transition-old(${t}) {
|
|
881
|
-
box-shadow: 0 0 100px blue;
|
|
882
|
-
background-color: darkslateblue;
|
|
883
922
|
opacity: 1;
|
|
884
|
-
|
|
923
|
+
outline: 2px dashed darkslateblue;
|
|
885
924
|
}
|
|
886
925
|
::view-transition-new(${t}) {
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
transition: all 0.5s;
|
|
891
|
-
}`,"glow"),setTimeout(()=>h("","glow"),500)}var V=-2,q=-1;function ft(){q=-1,V=-2;let t=top.__vtbag.inspectionChamber.animationEndTime;top.document.querySelector("#vtbag-ui-controller-max").innerText=t+" ms",top.document.querySelector("#vtbag-ui-progress").innerText="0";let e=top.document.querySelector("#vtbag-ui-controller");e.max=""+t,e.value="0",e.disabled=!1,top.document.querySelector("#vtbag-ui-progress2").innerText="0";let i=top.document.querySelector("#vtbag-ui-controller2");i.max=""+t,i.value="0",i.disabled=!1,R(),Q()}function Tt(){let t=q!==V;return q=V,t}function Q(){let t=top.__vtbag.inspectionChamber,e=t.animations;if(e){let i=parseInt(top.document.querySelector("#vtbag-ui-progress").innerText),o=parseInt(top.document.querySelector("#vtbag-ui-progress2").innerText);V=i+o;let n=new Set;top.document.querySelectorAll("#vtbag-ui-names li.selected").forEach(a=>n.add(a.innerText)),e.forEach(a=>{let{viewTransitionName:g}=B(a);a.currentTime=g&&n.has(g)?i:o})}t.updateNameVisibilityTimeout&&(top.clearTimeout(t.updateNameVisibilityTimeout),t.updateNameVisibilityTimeout=void 0,m()&&(t.updateNameVisibilityTimeout=top.setTimeout(R,1e3)))}function B(t){let e=t.effect?.pseudoElement?.replace(/::view-transition-(new|old|group|image-pair)\((.*)\)/,"$1 $2").split(" ");return{pseudoName:e[0],viewTransitionName:e[1]}}function Et(){let t=top.document.querySelector("#vtbag-ui-controller"),e=top.document.querySelector("#vtbag-ui-progress");t.addEventListener("input",n=>{n.target instanceof HTMLInputElement&&(e.innerText=""+~~n.target.value,Q())});let i=top.document.querySelector("#vtbag-ui-controller2"),o=top.document.querySelector("#vtbag-ui-progress2");i.addEventListener("input",n=>{n.target instanceof HTMLInputElement&&(o.innerText=""+~~n.target.value,Q())})}function W(){m()&&top.document.documentElement.dataset.vtbagModus==="control"&&Q()}var Dt="vtbag-ui-panel-orientation",jt="vtbag-ui-framed",zt="named_only",kt="\u{1F52C}";top.__vtbag??={};top.__vtbag.inspectionChamber??={};var C=top.__vtbag.inspectionChamber,Nt=!0;top===self?top.setTimeout(ne,500):te();function te(){let t=C.frameDocument=self.document;self.addEventListener("pageswap",xt,{once:!0}),self.addEventListener("pagereveal",ee,{once:!0}),t.head.dataset.vtbagStartViewTransitionPatched||(t.head.dataset.vtbagStartViewTransitionPatched="true",e());function e(){let i=t.startViewTransition;t.startViewTransition=o=>(xt(),C.viewTransition=i.call(t,async()=>{await Promise.resolve(),await o(),Zt()}),C.viewTransition)}}function xt(){!1,C.glow?.cancel(),E(!1,!1)}function ee(t){C.viewTransition="viewTransition"in t&&t.viewTransition||void 0,Zt()}function Zt(){!1,C.viewTransition&&(At(),ie())}function ie(){nt();let t=top.document.documentElement,e=C.viewTransition,i={bypass:()=>{},"slow-motion":at,control:ft,compare:()=>{}},o=t.dataset.vtbagModus;e.updateCallbackDone.catch(()=>{}),e.ready.then(async()=>{if(o&&o!=="bypass"){let n=top.document.querySelector("#canvas");n&&(n.style.zIndex="1000",n.style.cursor="wait"),await pt(),E(!!top.document.querySelector("#vtbag-ui-framed")?.checked,!!top.document.querySelector("#vtbag-ui-named-only")?.checked),C.twin.ownerDocument.addEventListener("click",mt),i[o]()}top.history.replaceState(history.state,"",self.location.href),top.document.title=kt+" "+self.document.title}).finally(()=>{}),e.finished.finally(()=>{ot(),C.viewTransition=void 0,C.frameDocument?.querySelector("#vtbag-twin--view-transition")?.remove(),Ct(),C.animations=void 0,C.longestAnimation=void 0,E(!!top.document.querySelector("#vtbag-ui-framed")?.checked,!!top.document.querySelector("#vtbag-ui-named-only")?.checked),D(P()),L(),top.document.querySelector("#vtbag-ui-slo-mo-progress").innerText="",top.document.querySelector("#vtbag-ui-animations").innerText="",!t.dataset.vtbagModus&&top.document.querySelector("#vtbag-ui-modi li input")?.click(),C.frameDocument.addEventListener("click",Ht),setTimeout(()=>{let n=top.document.querySelector("#vtbag-ui-inner-panel:has( > div:nth-of-type(2):empty)");n&&(n.style.display="none")},100)})}function Yt(){let t=top.document.documentElement;t.style.setProperty("--vtbag-background-accent",t.style.colorScheme.startsWith("dark")?"#4E545D":"#c6d1d7")}async function ne(){if(top.document.querySelector("#vtbag-ui-panel"))return;let t=top.document.documentElement;if(top.sessionStorage.getItem(x)==="true"){et();return}let e=top.getComputedStyle(t).colorScheme,i=top.document.title,o=top.document.querySelector('link[rel="icon"]')?.outerHTML??"",n=X.replace('<iframe id="vtbag-main-frame" src="/"></iframe>',`<iframe id="vtbag-main-frame" style="opacity: 0;" src="${location.href}"></iframe>`).replace("<title></title>",`<title>${kt} ${i}</title>`).replace('<link rel="icon"/>',o);top.addEventListener("resize",St),t.innerHTML=n,t.style.colorScheme=e,St(),Yt(),t.dataset.vtbagModus="";let a=top.document.querySelector("#vtbag-main-frame");if(await new Promise(l=>a.onload=l),!top.document.startViewTransition){top.document.querySelector("#vtbag-ui-messages").innerHTML=`
|
|
926
|
+
opacity: 1;
|
|
927
|
+
outline: 2px dashed darkolivegreen;
|
|
928
|
+
}`,"glow"),self.setTimeout(()=>w("","glow"),300)}function Zt(){let t=top.document.querySelector("#vtbag-ui-names li");t?.click(),t?.click()}function Yt(){let t=top.__vtbag.inspectionChamber.animationEndTime;top.document.querySelector("#vtbag-ui-controller-max").innerText=t+" ms",top.document.querySelector("#vtbag-ui-progress").innerText="0";let e=top.document.querySelector("#vtbag-ui-controller");e.max=""+t,e.value="0",e.disabled=!1,top.document.querySelector("#vtbag-ui-progress2").innerText="0";let n=top.document.querySelector("#vtbag-ui-controller2");n.max=""+t,n.value="0",n.disabled=!1,Zt(),f(),J()}function f(){let t=top.__vtbag.inspectionChamber,e=t.animations;if(t.updateNameVisibilityTimeout&&(top.clearTimeout(t.updateNameVisibilityTimeout),t.updateNameVisibilityTimeout=void 0),t.updateNameVisibilityTimeout=top.setTimeout(J,zt),e){let n=parseInt(top.document.querySelector("#vtbag-ui-progress").innerText,10),i=parseInt(top.document.querySelector("#vtbag-ui-progress2").innerText,10),o=new Set;top.document.querySelectorAll("#vtbag-ui-names li.selected").forEach(g=>o.add(g.innerText)),e.forEach(g=>{if(g.playState==="paused"){let{viewTransitionName:l}=q(g);g.currentTime=l&&o.has(l)?n:i}})}}function q(t){let e=t.effect?.pseudoElement?.replace(/::view-transition-(new|old|group|image-pair)\((.*)\)/,"$1 $2").split(" ");return{pseudoName:e?.[0],viewTransitionName:e?.[1]}}function Ht(){let t=top.document.querySelector("#vtbag-ui-controller"),e=top.document.querySelector("#vtbag-ui-progress");t.addEventListener("input",o=>{o.target instanceof HTMLInputElement&&(e.innerText=""+~~o.target.value,f())});let n=top.document.querySelector("#vtbag-ui-controller2"),i=top.document.querySelector("#vtbag-ui-progress2");n.addEventListener("input",o=>{o.target instanceof HTMLInputElement&&(i.innerText=""+~~o.target.value,f())})}function V(){p()&&y()==="full-control"&&f()}var Ot="vtbag-ui-panel-orientation",Wt="vtbag-ui-framed",Pt="named_only",Vt="\u{1F52C}";top.__vtbag??={};top.__vtbag.inspectionChamber??={};var M=top.__vtbag.inspectionChamber;top===self?top.setTimeout(Ie,500):se();function se(){let t=M.frameDocument=self.document;self.addEventListener("pageswap",Ut,{once:!0}),self.addEventListener("pagereveal",ce,{once:!0}),e();function e(){let n=t.startViewTransition;n.toString()==="function startViewTransition() { [native code] }"&&(t.startViewTransition=i=>{"@vtbag";return Ut(),M.viewTransition=n.call(t,async()=>{await Promise.resolve(),await i(),Qt()}),M.viewTransition})}}function Ut(){!1,M.glow?.cancel(),z(!1,!1)}function ce(t){M.viewTransition="viewTransition"in t&&t.viewTransition||void 0,Qt()}function Qt(){!1,M.viewTransition&&(ft(),ue())}function ue(){at();let t=top.document.documentElement,e=M.viewTransition,n={bypass:()=>{},"slow-motion":At,"full-control":Yt,compare:()=>{}},i=y();e.updateCallbackDone.catch(()=>{}),e.ready.then(async()=>{if(i&&i!=="bypass"){let o=top.document.querySelector("#canvas"),g=top.setTimeout(()=>o.style.zIndex="1000",300);try{await Lt(),z(!!top.document.querySelector("#vtbag-ui-framed")?.checked,!!top.document.querySelector("#vtbag-ui-named-only")?.checked),M.twin.ownerDocument.addEventListener("click",ht)}finally{top.clearTimeout(g),top.document.querySelector("#canvas").style.zIndex=""}n[i]()}top.history.replaceState(history.state,"",self.location.href),top.document.title=Vt+" "+self.document.title}).finally(()=>{}),e.finished.finally(()=>{gt(),M.viewTransition=void 0,M.frameDocument?.querySelector("#vtbag-twin--view-transition")?.remove(),wt(),M.animations=void 0,M.longestAnimation=void 0,z(!!top.document.querySelector("#vtbag-ui-framed")?.checked,!!top.document.querySelector("#vtbag-ui-named-only")?.checked),H(Q()),N(),top.document.querySelector("#vtbag-ui-slo-mo-progress").innerText="",top.document.querySelector("#vtbag-ui-animations").innerText="",!y()&&top.document.querySelector("#vtbag-ui-modi li input")?.click(),M.frameDocument.addEventListener("click",Bt),st()})}function Gt(){let t=top.document.documentElement;t.style.setProperty("--vtbag-background-accent",t.style.colorScheme.startsWith("dark")?"#4E545D":"#c6d1d7")}function de(){let t=top.document.querySelector("#vtbag-tutorial-mode");t.checked=localStorage.getItem("vtbag-tutorial-mode")!=="false",t.addEventListener("change",()=>{localStorage.setItem("vtbag-tutorial-mode",""+t.checked);let e=top.document.querySelector("#vtbag-ui-inner-panel #vtbag-ui-messages h4"),n=top.document.querySelector("#vtbag-ui-panel #vtbag-ui-messages h4");!t.checked&&e&&e.click(),t.checked&&n&&n.click()})}async function Ie(){if(top.document.querySelector("#vtbag-ui-panel"))return;let t=top.document.documentElement;if(top.sessionStorage.getItem(k)==="true"){ot();return}let e=top.getComputedStyle(t).colorScheme,n=top.document.title,i=top.document.querySelector('link[rel="icon"]')?.outerHTML??"",o=_.replace('<iframe id="vtbag-main-frame" src="/"></iframe>',`<iframe id="vtbag-main-frame" style="opacity: 0;" src="${location.href}"></iframe>`).replace("<title></title>",`<title>${Vt} ${n}</title>`).replace('<link rel="icon"/>',i);top.addEventListener("resize",Rt),t.innerHTML=o,t.style.colorScheme=e,Rt(),Gt(),de(),G();let g=top.document.querySelector("#vtbag-main-frame");if(await new Promise(s=>g.onload=s),!top.document.startViewTransition){top.document.querySelector("#vtbag-ui-messages").innerHTML=`
|
|
892
929
|
<p>I'm sorry!</p><p>Native view transitions are required to make the \u{1F52C} Inspection Chamber work, but they are not supported by this browser.</p>
|
|
893
|
-
<p>Sadly have to give up.</p>`,top.document.querySelectorAll("#vtbag-ui-modi, #vtbag-ui-filter, #vtbag-ui-names, #vtbag-ui-animations, #vtbag-ui-info").forEach(
|
|
930
|
+
<p>Sadly have to give up.</p>`,top.document.querySelectorAll("#vtbag-ui-modi, #vtbag-ui-filter, #vtbag-ui-names, #vtbag-ui-animations, #vtbag-ui-info").forEach(s=>s.remove());return}let l=top.__vtbag.inspectionChamber.frameDocument=g.contentDocument;H(Q()),me();let d=top.document.querySelector("#divider");x(d,(s,I)=>{t.classList.contains("vtbag-ui-column")?t.classList.contains("vtbag-ui-tl")?t.style.setProperty("--vtbag-panel-width",`calc(max(200px, ${Math.min(innerWidth-100,s)}px))`):t.style.setProperty("--vtbag-panel-width",`calc(max(200px, 100vw - ${Math.max(100,s+1)}px))`):t.classList.contains("vtbag-ui-tl")?t.style.setProperty("--vtbag-panel-height",`calc(max(212px, ${Math.min(innerHeight-100,I)}px))`):t.style.setProperty("--vtbag-panel-height",`calc(max(212px, 100vh - ${Math.max(100,I+1)}px))`)}),localStorage.getItem("vtbag-tutorial-mode")!=="false"&&top.document.querySelector("#vtbag-ui-messages h4").click(),g.animate([{opacity:0,transform:"translateY(100vh)"},{opacity:1}],{duration:500,fill:"forwards"}),l.addEventListener("click",Bt)}function Bt(t){if(p())return;let n=t.target.closest("[data-vtbag-transition-name]");if(n){let i=n.dataset.vtbagTransitionName;top.document.querySelectorAll("#vtbag-ui-names li").forEach(o=>{o.innerText===i&&(o.click(),t.ctrlKey&&t.shiftKey&&t.preventDefault())})}}function Rt(){let t=top.document.documentElement,e=top.localStorage.getItem(Ot)??"";e?(e.split(" ").forEach(n=>t.classList.add(n)),Jt()):top.matchMedia("(orientation: landscape)").matches!==t.classList.contains("vtbag-ui-column")&&qt()}function qt(){h(()=>{let t=top.document.documentElement.classList;Z(),t.toggle("vtbag-ui-column"),t.contains("vtbag-ui-column")&&t.toggle("vtbag-ui-tl"),top.localStorage.setItem(Ot,[...t].filter(e=>e.startsWith("vtbag-ui-")).join(" ")),Jt()},"switch orientation")}function Jt(){let t=top.document.querySelector("#vtbag-ui-turn"),e=top.document.documentElement.classList;t.innerText="\u292A\u2928\u2929\u2927"[(e.contains("vtbag-ui-column")?2:0)+(e.contains("vtbag-ui-tl")?1:0)]}function me(){top.document.querySelector("#vtbag-ui-turn").addEventListener("click",()=>qt()),top.document.querySelector("#vtbag-ui-light-dark").addEventListener("click",()=>{let o=top.document.documentElement.style;top.document.querySelector("#vtbag-main-frame").contentDocument.documentElement.style.colorScheme=o.colorScheme=o.colorScheme.startsWith("dark")?"light":"dark",Gt()}),rt(),top.document.querySelector("#vtbag-ui-standby").addEventListener("click",()=>{top.sessionStorage.setItem(k,"true"),top.location.reload()}),top.document.querySelector("#vtbag-ui-modi ul").addEventListener("change",Ae),Nt(),kt();let e=top.document.querySelector("#vtbag-ui-framed"),n=top.document.querySelector("#vtbag-ui-named-only");e.addEventListener("change",i),n.addEventListener("change",i);function i(){let o=e.checked,g=n.checked;top.sessionStorage.setItem(Wt,o?"X":""),top.sessionStorage.setItem(Pt,g?"X":""),z(o,g)}Ct(),Ht(),top.document.querySelectorAll("#vtbag-ui-control-exit, #vtbag-ui-control-play").forEach(o=>o.addEventListener("click",Z)),top.addEventListener("keyup",function(o){o.key==="Escape"&&(p()?Z():(top.sessionStorage.setItem(k,"true"),top.location.reload()))})}function Ae(){let t=top.document.querySelector("#vtbag-ui-modi ul input:checked");if(t){let e=t.id.replace("vtbag-m-","");e!==y()&&h(()=>{G(e),Z(),top.document.querySelector("#vtbag-ui-filter ul input").click(),e==="slow-motion"&&F("#vtbag-ui-slow-motion"),e==="full-control"&&F("#vtbag-ui-control"),e==="bypass"&&F("#vtbag-ui-modi"),mt(e),lt()},"update-modus")}}function F(t){let e=top.document.querySelector("#vtbag-ui-framed"),n=top.document.querySelector("#vtbag-ui-named-only"),i=e.parentElement,o=top.document.querySelector(t);e.checked=!!top.sessionStorage.getItem(Wt),n.checked=!!top.sessionStorage.getItem(Pt),z(e.checked,n.checked),i&&o&&i.parentElement!==o&&o.insertAdjacentElement("beforeend",i)}})();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vtbag/inspection-chamber",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.5",
|
|
4
4
|
"main": "lib/index.js",
|
|
5
5
|
"description": "The Inspection Chamber gives you all the knobs and dials to interactively put your view transitions through their paces.",
|
|
6
6
|
"files": [
|
|
@@ -36,10 +36,9 @@
|
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"@changesets/cli": "^2.27.7",
|
|
39
|
-
"@eslint/js": "^9.
|
|
39
|
+
"@eslint/js": "^9.9.0",
|
|
40
40
|
"@types/dom-view-transitions": "^1.0.5",
|
|
41
41
|
"esbuild": "^0.23.0",
|
|
42
|
-
"globals": "^15.8.0",
|
|
43
42
|
"prettier": "^3.3.3",
|
|
44
43
|
"typescript": "^5.5.4"
|
|
45
44
|
}
|