@vtbag/inspection-chamber 1.0.13 → 1.0.15
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 +6 -3
- package/lib/index.js +15 -15
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
[⭐️ Please star to support this work! ⭐️](https://github.com/vtbag/inspection-chamber)
|
|
2
|
-
# The Inspection Chamber
|
|
2
|
+
# 🔬 The Inspection Chamber
|
|
3
3
|
|
|
4
4
|
Put your view transitions through their paces in the Inspection Chamber!
|
|
5
5
|
|
|
@@ -11,12 +11,15 @@ The @vtbag website can be found at https://vtbag.pages.dev/
|
|
|
11
11
|
|
|
12
12
|
## !!! News !!!
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
In addition to CSS animations of pseudo-elements, the Chamber can now also handle animations of pseudo-elements started using the Web Animation API.
|
|
15
15
|
|
|
16
|
-
For
|
|
16
|
+
For latest changes, see the [CHANGELOG](https://github.com/vtbag/inspection-chamber/blob/main/CHANGELOG.md)
|
|
17
17
|
|
|
18
18
|
## What happened so far:
|
|
19
19
|
|
|
20
|
+
> Improved error handling
|
|
21
|
+
|
|
22
|
+
> Names in the Animation Groups panel are now shown in the order in which the transition groups appear as children of the `::view-transition` pseudo-element. This makes it easier to understand how the individual groups overlap during rendering.
|
|
20
23
|
|
|
21
24
|
> You can now observe in real-time how CSS properties are updated by animations and easily see which other properties are applied to the pseudo-elements created by the View Transition API.
|
|
22
25
|
|
package/lib/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";(()=>{var
|
|
1
|
+
"use strict";(()=>{var K=`<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" />
|
|
@@ -834,10 +834,10 @@
|
|
|
834
834
|
}
|
|
835
835
|
</style>
|
|
836
836
|
</body>
|
|
837
|
-
`;function K(t,e){t.forEach(n=>{try{$([...n.cssRules],e)}catch{}})}function $(t,e){t.forEach(n=>{n.constructor.name==="CSSStyleRule"?e(n):"cssRules"in n?$([...n.cssRules],e):"styleSheet"in n&&K([n.styleSheet],e)})}function V(){let t=new Map,e=top.__vtbag.inspectionChamber.frameDocument;i(e.documentElement,"root"),K([...e.styleSheets],o=>{let a=o.style.getPropertyValue("view-transition-name");a&&e.querySelectorAll(o.selectorText).forEach(l=>i(l,a))}),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,a){a=="none"?o.removeAttribute("data-vtbag-transition-name"):o.dataset.vtbagTransitionName=a,t.set(o,a)}}var x=null;function w(t,e,n){let i=top.document.documentElement,o,a,l=r=>r<0?0:r>innerWidth-16?innerWidth-16:r,d=r=>r<0?0:r>innerHeight-16?innerHeight-16:r,s=(r,p=0)=>l((r instanceof TouchEvent?r.touches[0]?.clientX:r.clientX)??0)-p,c=(r,p=0)=>d((r instanceof TouchEvent?r.touches[0]?.clientY:r.clientY)??0)-p,u=(r,p)=>{x=p;let A=s(r),b=c(r);o=A-p.getBoundingClientRect().x,a=b-p.getBoundingClientRect().y,i.classList.add("dragging");let C=i.querySelector("#vtbag-main-frame");C&&(C.style.pointerEvents="none"),n&&n(A-o,b-a),r.cancelable&&r.preventDefault()},g=r=>{i.classList.contains("dragging")&&e(s(r,o),c(r,a))},I=()=>{if(i.classList.contains("dragging")){i.classList.remove("dragging");let r=i.querySelector("#vtbag-main-frame");r&&(r.style.pointerEvents="auto")}x=null};t.addEventListener("mousedown",r=>u(r,t),{passive:!1}),t.addEventListener("touchstart",r=>u(r,t),{passive:!1}),t.ownerDocument.addEventListener("mousemove",r=>x===t&&g(r),{passive:!0}),t.ownerDocument.addEventListener("touchmove",r=>x===t&&g(r),{passive:!0}),t.ownerDocument.addEventListener("mouseup",r=>x===t&&I(),{passive:!0}),t.ownerDocument.addEventListener("touchend",r=>x===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 j="vtbag-ui-standby",tt="vtbag-ui-reopener-position";function et(){let{reopenerLeft:t,reopenerTop:e}=JSON.parse(top.sessionStorage.getItem(tt)??'{"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%;
|
|
837
|
+
`;function $(t,e){t.forEach(n=>{try{_([...n.cssRules],e)}catch{}})}function _(t,e){t.forEach(n=>{n.constructor.name==="CSSStyleRule"?e(n):"cssRules"in n?_([...n.cssRules],e):"styleSheet"in n&&$([n.styleSheet],e)})}function Q(){let t=new Map,e=top.__vtbag.inspectionChamber.frameDocument;i(e.documentElement,"root"),$([...e.styleSheets],o=>{let a=o.style.getPropertyValue("view-transition-name");a&&e.querySelectorAll(o.selectorText).forEach(r=>i(r,a))}),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,a){a=="none"?o.removeAttribute("data-vtbag-transition-name"):o.dataset.vtbagTransitionName=a,t.set(o,a)}}var N=null;function T(t,e,n){let i=top.document.documentElement,o,a,r=g=>g<0?0:g>innerWidth-16?innerWidth-16:g,m=g=>g<0?0:g>innerHeight-16?innerHeight-16:g,u=(g,A=0)=>r((g instanceof TouchEvent?g.touches[0]?.clientX:g.clientX)??0)-A,s=(g,A=0)=>m((g instanceof TouchEvent?g.touches[0]?.clientY:g.clientY)??0)-A,l=(g,A)=>{N=A;let p=u(g),v=s(g);o=p-A.getBoundingClientRect().x,a=v-A.getBoundingClientRect().y,i.classList.add("dragging");let C=i.querySelector("#vtbag-main-frame");C&&(C.style.pointerEvents="none"),n&&n(p-o,v-a),g.cancelable&&g.preventDefault()},c=g=>{i.classList.contains("dragging")&&e(u(g,o),s(g,a))},d=()=>{if(i.classList.contains("dragging")){i.classList.remove("dragging");let g=i.querySelector("#vtbag-main-frame");g&&(g.style.pointerEvents="auto")}N=null};t.addEventListener("mousedown",g=>l(g,t),{passive:!1}),t.addEventListener("touchstart",g=>l(g,t),{passive:!1}),t.ownerDocument.addEventListener("mousemove",g=>N===t&&c(g),{passive:!0}),t.ownerDocument.addEventListener("touchmove",g=>N===t&&c(g),{passive:!0}),t.ownerDocument.addEventListener("mouseup",g=>N===t&&d(),{passive:!0}),t.ownerDocument.addEventListener("touchend",g=>N===t&&d(),{passive:!0})}var tt="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 z="vtbag-ui-standby",et="vtbag-ui-reopener-position";function nt(){let{reopenerLeft:t,reopenerTop:e}=JSON.parse(top.sessionStorage.getItem(et)??'{"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%;
|
|
838
838
|
border: 8px dashed #8888;
|
|
839
839
|
mask-image: radial-gradient(ellipse at center, white 35%, transparent 71%);
|
|
840
|
-
" src=${
|
|
840
|
+
" src=${tt} alt="Reactivate the inspection chamber" /><div>
|
|
841
841
|
|
|
842
842
|
<style>
|
|
843
843
|
#vtbag-ui-reopen g {
|
|
@@ -857,7 +857,7 @@
|
|
|
857
857
|
stroke: #a97
|
|
858
858
|
}
|
|
859
859
|
</style>
|
|
860
|
-
`),
|
|
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),T(t,(o,a)=>{t.style.left=`${o}px`,t.style.top=`${a}px`,e={x:o,y:a},$t(t)},(o,a)=>(e={x:-1,y:-1},n={x:o,y:a}));function i(){(e.x===-1||Math.pow(n.x-e.x,2)+Math.pow(n.y-e.y,2)<=16)&&(top.sessionStorage.removeItem(z),top.location.reload())}}function $t(t){top.sessionStorage.setItem(et,JSON.stringify({reopenerLeft:t.style.left,reopenerTop:t.style.top}))}var b=()=>top.document.documentElement.classList.contains("vtbag-vt-active"),it=()=>top.document.documentElement.classList.add("vtbag-vt-active"),ot=()=>top.document.documentElement.classList.remove("vtbag-vt-active"),R,W;function h(t,e,n=!1){let i=b();n||i||R||!top.document.startViewTransition?(!1,t()):(W=e,R=top.document.startViewTransition(t),R.finished.finally(()=>R=W=void 0))}function k(){top.__vtbag.inspectionChamber.viewTransition?.skipTransition()}var Z=2,_t=5,I;function at(){ct(),t(),top.document.querySelector("#vtbag-ui-light-dark").addEventListener("click",t);function t(){let n=top.document.documentElement.style.colorScheme.startsWith("dark");I.innerPanel.style.backgroundColor=n?"#000":"#fff",I.innerPanel.style.color=n?"#fff":"#000"}T(I.innerPanel.children[0],(n,i)=>{I.innerPanel.style.left=`${n}px`,I.innerPanel.style.top=`${i}px`}),T(I.innerPanel.children[I.innerPanel.children.length-1],(n,i)=>{let o=I.innerPanel.getBoundingClientRect();I.innerPanel.style.width=`${Math.max(200,n-o.x+32)}px`,I.innerPanel.style.height=`${Math.max(200,i-o.y+32)}px`});let e=I.innerPanel.querySelector("#vtbag-ui-opacity");I.innerPanel.style.opacity=`${parseInt(e.value,10)/100}`,e.addEventListener("input",n=>{I.innerPanel.style.opacity=`${parseInt(n.target.value,10)/100}`}),I.innerPanel.querySelector("#vtbag-ui-inner-panel-close").addEventListener("click",lt),I.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");st(),n?(I.pushBack=n.nextElementSibling,I.innerPanel.insertBefore(n,I.innerPanel.children[Z]),I.innerPanel.style.display="block"):I.innerPanel.style.display="none"},"inner panel")})}function gt(){let t=I.innerPanel.children[Z].id;(t==="vtbag-ui-slow-motion"||t==="vtbag-ui-control")&&(I.mainPanel.insertBefore(I.innerPanel.children[Z],I.pushBack??null),I.innerPanel.style.display="none")}function rt(){top.setTimeout(()=>{let t=top.document.querySelector(`#vtbag-ui-inner-panel:has( > div:nth-of-type(${Z+1}):empty)`);t&&(t.style.display="none",lt())},100)}function lt(){ct(),h(()=>{st(),I.innerPanel.style.display="none"},"close inner panel")}function st(){I.innerPanel.children.length===_t&&I.mainPanel.insertBefore(I.innerPanel.children[Z],I.pushBack??null),I.pushBack=null}function ct(){I??=top.__vtbag.inspectionChamber,I.mainPanel??=top.document.querySelector("#vtbag-ui-panel"),I.innerPanel??=top.document.querySelector("#vtbag-ui-inner-panel")}var ut=!0;function G(t){top.document.documentElement.dataset.vtbagModus=t||""}function y(){let t=top.document.documentElement.dataset.vtbagModus;return t||void 0}function dt(t){let e=top.document.querySelector("#vtbag-ui-messages");e.innerHTML=te[t],S(e);let n=top.document.querySelector("#vtbag-ui-modi");ut&&n.parentElement?.id==="vtbag-ui-panel"&&e.parentElement?.id==="vtbag-ui-panel"&&(ut=!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 L(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 j(t,e){t?ne(e):ee()}function ee(){L("")}function ne(t=!1){L(`
|
|
861
861
|
${t?`
|
|
862
862
|
* {
|
|
863
863
|
pointer-events: none;
|
|
@@ -899,10 +899,10 @@
|
|
|
899
899
|
[data-vtbag-transition-name] {
|
|
900
900
|
cursor: help;
|
|
901
901
|
}
|
|
902
|
-
`)}function
|
|
903
|
-
`),"image-visibility"),f()}function
|
|
904
|
-
<p>DevTools selector '<b><code>${
|
|
905
|
-
<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>"}`}
|
|
902
|
+
`)}function mt(){At(),It()}function It(){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 pt(){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)}`,It()}})}function At(){let t=top.__vtbag.inspectionChamber,e=t.longestAnimation;e&&(top.document.querySelector("#vtbag-ui-slo-mo-progress").innerText=` ${~~(e.currentTime??0)} / ${t.animationEndTime} ms`,b()&&top.setTimeout(At,20))}var Ct=[],ie=["top","left","right","bottom"];var vt;function bt(t){vt??=oe();let e=[];return e.push("inset"),Ct.forEach(n=>{t.getPropertyValue(n)!==vt[n]&&e.push(n)}),e.filter(n=>!(n.startsWith("inset-")||n.startsWith("animation-")||ie.includes(n)))}function oe(){let t=top.document.createElement("div");top.document.body.appendChild(t);let e=top.getComputedStyle(t),n={};for(let i=0;i<e.length;i++){let o=e.item(i);Ct.push(o),n[o]=e.getPropertyValue(o)}return top.document.body.removeChild(t),n}function Mt(t,e,n,i,o){let a=e.createElement("vtbag-pseudo-twin");m(a,t,"::view-transition","");let r=top.__vtbag.inspectionChamber.twin=a.firstElementChild;n.forEach(u=>{let s=m(r,t,"group",u),l=m(s,t,"image-pair",u);m(l,t,"old",u)&&i.add(u),m(l,t,"new",u)&&o.add(u)}),e.body.insertAdjacentElement("beforeend",r);function m(u,s,l,c){if(!u){console.error("[inspection chamber] Works not as expected ;-)");return}let d=top.__vtbag.inspectionChamber,g=u.ownerDocument,A=s.defaultView,p=c?`::view-transition-${l}(${c})`:l,v=A.getComputedStyle(s.documentElement,p);if(!v.height.endsWith("px"))return;d?.styleMap.set(c?`${l}-${c}`:l,v);let C=g.createElement("vtbag-pseudo-twin");return C.id=ae(c,l),C.dataset.vtbagTransitionName=c,C.dataset.vtbagTransitionPseudo=l,u.insertAdjacentElement("beforeend",C),ht(v,C.style),C.style.visibility="hidden",C}}function ae(t,e){return t?`vtbag-twin--view-transition-${e}-${t}`:"vtbag-twin--view-transition"}async function yt(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)||(P(i,o),P(i.children[0],o),P(i.children[0].children[0],o),P(i.children[0].children[1],o),await new Promise(a=>self.setTimeout(a)))}top.document.documentElement.classList.remove("vtbag-twin-sync")}function P(t,e){if(!t)return;let n=t.dataset.vtbagTransitionPseudo,i=top.__vtbag.inspectionChamber.styleMap.get(`${n}-${e}`),o=t.style;ht(i,o)}function ht(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 ft(t){if(b()){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:a}=t,{top:r,bottom:m,left:u,right:s,width:l,height:c}=i.getBoundingClientRect(),d=i.dataset.vtbagTransitionName,g=i.dataset.vtbagTransitionPseudo;if(l&&c&&l*c<n&&r<=a&&a<=m&&u<=o&&o<=s){let A=!0,p;window.top.document.querySelectorAll("#vtbag-ui-names li").forEach(v=>{v.innerText===d&&(p=v,v.classList.contains(`${g}-hidden`)&&(A=!1))}),A&&(n=l*c,e=p)}}),e?.click()}}function O(){top.document.querySelector('#vtbag-ui-filter input[type="text"]').value="",top.document.querySelector("#vtbag-ui-filter ul input").click(),Y()}function Lt(){top.document.querySelectorAll("#vtbag-ui-names li").forEach(t=>t.classList.remove("selected","old-hidden","new-hidden")),x(),Tt(),V()}function wt(){top.document.querySelector("#vtbag-ui-filter ul").addEventListener("change",Y),top.document.querySelector('#vtbag-ui-filter input[type="text"]').addEventListener("input",Y),top.document.querySelector("#vtbag-ui-filter button").addEventListener("click",O)}var Nt=500;function H(t,e,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");(e?n:[...t].sort()).forEach((o,a)=>{let r=top.document.createElement("li");r.innerText=o,e&&t.has(o)&&r.classList.add("old"),e?.has(o)&&r.classList.add("new"),r.style.viewTransitionName=`vtbag-name-${a}`,i.appendChild(r)}),top.document.querySelector("#vtbag-ui-filter ul").style.display=e?"block":"none",Y()},"update names"),n}function Y(){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,a=i.classList,r=i.innerText;o.display=(n===""||r.includes(n))&&(e==="all"||e==="both"&&a.contains("new")&&a.contains("old")||e==="old-only"&&a.contains("old")&&!a.contains("new")||e==="new-only"&&a.contains("new")&&!a.contains("old")||e==="old"&&a.contains("old")||e==="new"&&a.contains("new"))?"list-item":"none"})},"refresh names")}async function B(){if(!b())return;let e=top.__vtbag.inspectionChamber.twin.ownerDocument,n=top.document,i=top.getComputedStyle(n.documentElement),o=n.documentElement.classList.contains("vtbag-ui-column"),a=o?parseFloat(i.getPropertyValue("--vtbag-panel-width")||"0"):0,r=o?0:parseFloat(i.getPropertyValue("--vtbag-panel-height")||"0"),m=n.querySelectorAll("#vtbag-ui-names li"),u=new Set;m.forEach(s=>{s.classList.contains("old-hidden")&&s.classList.contains("new-hidden")&&u.add(s.innerText)}),await yt(u),m.forEach(s=>{let l=s.innerText,c=s.classList;c[c.contains("old")&&St(e.querySelector(`#vtbag-twin--view-transition-old-${l}`),a,r)===!1?"add":"remove"]("old-invisible"),c[c.contains("new")&&St(e.querySelector(`#vtbag-twin--view-transition-new-${l}`),a,r)===!1?"add":"remove"]("new-invisible"),c[(!c.contains("old")||c.contains("old-invisible"))&&(!c.contains("new")||c.contains("new-invisible"))?"add":"remove"]("invisible")})}function St(t,e=0,n=0){if(!t)return;let{top:i,right:o,bottom:a,left:r,width:m,height:u}=t.getBoundingClientRect();return!1,m>0&&u>0&&i<window.top.innerHeight-n&&a>0&&r<window.top.innerWidth-e&&o>0}function x(){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; }`))}),L(t.join(`
|
|
903
|
+
`),"image-visibility"),f()}function ge(t){let e=y()==="full-control"&&b(),n=top.document.querySelectorAll("#vtbag-ui-names li"),i,o=top.document.querySelector("#vtbag-ui-controller"),a=top.document.querySelector("#vtbag-ui-progress"),r=top.document.querySelector("#vtbag-ui-controller2"),m=top.document.querySelector("#vtbag-ui-progress2");n.forEach(u=>{u.innerText===t?(u.classList.contains("selected")?(r.value=o.value,m.innerText=a.innerText):(o.value=r.value,a.innerText=m.innerText),u.classList[e?"toggle":"add"]("selected"),i=u,u.style.display==="none"&&O()):e||u.classList.remove("selected")}),i&&i.scrollIntoView({behavior:"instant",block:"nearest",inline:"nearest"})}function re(t){let e=top.document.querySelector("#vtbag-ui-info");if(t&&!b())navigator.clipboard.writeText(`inspect(top.document.querySelector("#vtbag-main-frame").contentDocument.querySelector("${xt(t)}"))`),e.innerHTML=`<h4>Info</h4>
|
|
904
|
+
<p>DevTools selector '<b><code>${xt(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>
|
|
905
|
+
<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 xt(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,a=1;for(;o=o.previousElementSibling;)o.nodeName.toLowerCase()===i&&a++;a!==1&&(i+=":nth-of-type("+a+")")}n.unshift(i),t=t.parentNode}return n.join(" > ")}function Dt(){let t=e=>{let n=e+"-hidden",o=[...top.document.querySelectorAll("#vtbag-ui-names li")].filter(r=>r.classList.contains(e)),a=o.length>0&&o[0].classList.contains(n)?"remove":"add";o.forEach(r=>r.classList[a](n)),x()};top.document.querySelector("#vtbag-ui-names button").addEventListener("click",()=>Lt()),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"&&O();let o=y();h(()=>{let{left:a,width:r}=i.getBoundingClientRect(),m=e.clientX-a,u=!n&&m>=0&&m<=20,s=!n&&m>=r-20&&m<=r,l=i.classList;if(u&&l.contains("old")){l.toggle("old-hidden"),x();return}if(s&&l.contains("new")){l.toggle("new-hidden"),x();return}let c=i.innerText;!n&&le(c),ge(c);let d=window.top.__vtbag.inspectionChamber?.frameDocument.querySelector(`[data-vtbag-transition-name="${c}"]`);o&&o!=="bypass"&&re(d),b()&&q(c)},"names",!0)}}V()})}var Et=[{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 le(t){if(b())se(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;Et[3].display=i.includes("block")?i:"inline-block",e.glow=n.animate(Et,{duration:500,iterations:1}),self.setTimeout(()=>e.glow=void 0,500)}}}function se(t){L(`
|
|
906
906
|
::view-transition-old(*),
|
|
907
907
|
::view-transition-new(*),
|
|
908
908
|
::view-transition-group(*) {
|
|
@@ -919,18 +919,18 @@
|
|
|
919
919
|
::view-transition-new(${t}) {
|
|
920
920
|
opacity: 1;
|
|
921
921
|
outline: 2px dashed darkolivegreen;
|
|
922
|
-
}`,"glow"),self.setTimeout(()=>L("","glow"),300)}function
|
|
922
|
+
}`,"glow"),self.setTimeout(()=>L("","glow"),300)}function zt(){L(`
|
|
923
923
|
@keyframes vtbag-twin-noop {
|
|
924
924
|
from { opacity: 1; } to { opacity: 1; }
|
|
925
925
|
}
|
|
926
926
|
::view-transition-image-pair(*) {
|
|
927
927
|
animation: vtbag-twin-noop forwards;
|
|
928
928
|
animation-duration: inherit;
|
|
929
|
-
}`,"catch",void 0,!0)}async function
|
|
929
|
+
}`,"catch",void 0,!0)}async function kt(){let t=top.__vtbag.inspectionChamber,e=t.frameDocument,n=t.animations=[],i=t.keyframesMap=new Map,o=new Set;t.styleMap=new Map;let a=new WeakSet,r=!0,m=!1,u=0;for(;r;)r=!1,e.getAnimations().forEach(d=>{if(d.effect?.pseudoElement?.startsWith("::view-transition")){let{pseudoName:g,viewTransitionName:A}=F(d);if(!a.has(d)){let p=d instanceof CSSAnimation?d.animationName:d.id||=`vtbag-js-animation-${++u}`,v=d instanceof CSSTransition?d.transitionProperty:void 0;v?console.warn("[inspection-chamber] Unhandled transition:",A,g,v):p?(d.pause(),d.currentTime=0,A&&g==="image-pair"&&o.add(A),!A&&g==="::view-transition"&&(m=!0),p==="vtbag-twin-noop"?d.cancel():(n.push(d),i.set(p,d.effect?.getKeyframes()))):console.warn("[inspection-chamber] Unhandled animation:",A,g,d.constructor.name),r=!0}a.add(d)}}),r&&await new Promise(d=>e.defaultView.setTimeout(d)),m&&console.warn("[inspection-chamber] Root root animation detected");let s=d=>d.effect?.getComputedTiming().endTime?.valueOf()??0;n.length>0?(t.longestAnimation=n.reduce((d,g)=>s(g)>s(d)?g:d),t.animationEndTime=~~s(t.longestAnimation)):(t.longestAnimation=void 0,t.animationEndTime=0);let l=new Set,c=new Set;Mt(e,e,o,l,c),H(l,c,o)}function Zt(){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())}})}var U=(t,e)=>e?`<tr><td style="text-align:right">${t}</td><td><tt><b>${e}</b></tt></td><tr>`:"";function q(t){let e=new Set,n=["offset","computedOffset","easing","composite"],i=top.__vtbag.inspectionChamber,o=i.styleMap,a=top.document.querySelector("#vtbag-ui-animations");a.innerHTML=b()?`<h4 data-vtbag-name=${t}>Animations of ${t}:</h4>`+r("group")+r("image-pair")+r("old")+r("new"):"",a.querySelectorAll('input[type="checkbox"]').forEach(s=>{let l=JSON.parse(s.dataset.vtbagContext);s.removeAttribute("data-vtbag-context"),s.checked=Yt(t,l.pseudo,l.idx,l.id)?.playState==="paused",s.addEventListener("change",()=>{ce(t,l.pseudo,l.idx,l.id,s.checked)||(s.checked=!s.checked)})}),a.querySelectorAll("[data-vtbag-snapshot]").forEach(s=>s.addEventListener("toggle",jt)),J(),jt(),S(a);function r(s){let l=[],c=o.get(`${s}-${t}`),d=c?.animation,g=c?.animationName;if(e.clear(),g&&g!=="vtbag-twin-noop"&&g!=="none"){let p=g.split(", "),v=0;d.split(/,(?![^(]*\))/).forEach((C,w)=>{i.keyframesMap?.get(p[w])?l.push(`<details><summary><input type="checkbox" data-vtbag-context='{"pseudo":"${s}","idx":${w-v},"id":""}'/> ${s}: <tt>${p[w]}</tt></summary>${A(p[w],C.endsWith(g)?C.slice(0,-g.length):C)}</details>`):(l.push(`<span style="padding-right: 0.25ex; width: 4.75ex; display: inline-block; text-align:right">\u26A0\uFE0F</span> ${s}: error in animation: <tt>${C}</tt>.<br>`),++v)})}return i.animations?.filter(p=>!("animationName"in p)&&p.effect?.pseudoElement===`::view-transition-${s}(${t})`).forEach((p,v)=>{let C=w=>{let E=w.effect?.getTiming();return`${E?.duration||"0"}ms ${E?.easing??""} ${E?.delay??"0"}ms ${E?.iterations??""} ${E?.direction??""} ${E?.fill??""} ${w.playState}`};l.push(`<details><summary><input type="checkbox" data-vtbag-context='{"pseudo":"${s}","idx":-1,"id":"${p.id}"}'/> ${s}: <tt>${p.id}</tt></summary>${A(p.id,C(p))}</details>`)}),e.size>0&&l.push(`<details data-vtbag-live-values="${s+","+[...e].sort().join(",")}"><summary> \u{1F300}  ${s}: live values</summary></details>`),c&&l.push(`<details data-vtbag-snapshot="${s}"><summary> \u{1F4F8} ${s}: CSS snapshot</summary></details>`),l.length>0?l.join("")+"<hr>":"";function A(p,v){let C=m(p)||"\u26A0\uFE0F no properties? ";return`
|
|
930
930
|
<table>
|
|
931
|
-
${
|
|
932
|
-
${
|
|
933
|
-
${
|
|
934
|
-
</table>`}}function
|
|
931
|
+
${U("animation:",v)}
|
|
932
|
+
${U("animates:",C)}
|
|
933
|
+
${u(p)}
|
|
934
|
+
</table>`}}function m(s){let l=new Set;i.keyframesMap?.get(s)?.forEach(d=>Object.keys(d).forEach(g=>l.add(g)));let c=[...l].filter(d=>!n.includes(d)).sort();return c.forEach(d=>e.add(d)),c.join(", ")}function u(s){return i.keyframesMap?.get(s)?.map(l=>U(+(l.computedOffset??0)*100+"% :",Object.keys(l).sort().filter(c=>!n.includes(c)).map(c=>l[c]).join(", "))).join("")}}function Tt(){top.__vtbag.inspectionChamber.animations?.forEach(t=>{t instanceof CSSAnimation&&t.animationName!=="vtbag-twin-noop"&&t.playState==="idle"&&t.pause()}),q(top.document.querySelector("#vtbag-ui-animations h4").dataset.vtbagName),f()}function ce(t,e,n,i,o){let a=Yt(t,e,n,i);return a?(o?(a.pause(),y()==="full-control"&&f()):a.cancel(),!0):!1}function Yt(t,e,n,i){let o=`::view-transition-${e}(${t})`,a=top.__vtbag.inspectionChamber,r=a.animations;if(i){let c=r.filter(d=>d.id===i&&d.effect?.pseudoElement===o);if(c.length===1)return c[0];console.error(`[injection chamber] found ${c.length} animations for ${o} when looking for animation with id ${i} `);return}let u=a.styleMap.get(`${e}-${t}`).animationName.split(", ")[n],s=r.filter(c=>c.effect?.pseudoElement===o);if(n>=s.length){console.error(`[injection chamber] found ${s.length} animations for ${o} when looking for animation with index ${n} called ${t}`);return}let l=s[n];if(l instanceof CSSAnimation&&l.animationName!==u){console.error(`[injection chamber] found an animation called ${l.animationName} for ${o} when looking for animation at index ${n} with expected name ${t}`);return}return l}function J(){let t=top.document.querySelector("h4[data-vtbag-name]")?.dataset.vtbagName,n=top.__vtbag.inspectionChamber.styleMap;top.document.querySelectorAll("[data-vtbag-live-values]").forEach(i=>{let[o,...a]=i.dataset.vtbagLiveValues.split(","),r=n.get(`${o}-${t}`),m=a.map(u=>U(u+":",r.getPropertyValue(u)));i.innerHTML=`<summary> \u{1F300}  ${o}: live values</summary><table>`+m.join("")+"</table>"})}function jt(){let t=top.document.querySelector("h4[data-vtbag-name]")?.dataset.vtbagName,n=top.__vtbag.inspectionChamber.styleMap;top.document.querySelectorAll("[data-vtbag-snapshot]").forEach(i=>{if(i.open){let o=i.dataset.vtbagSnapshot,a=i.previousElementSibling?.dataset.vtbagLiveValues?.split(",").slice(1)??[""],r=n.get(`${o}-${t}`),m=bt(r).filter(u=>!a.includes(u)).sort().map(u=>U(u+":",r.getPropertyValue(u)));i.innerHTML=`<summary> \u{1F4F8} ${o}: CSS snapshot</summary><table>`+m.join("")+"</table>"}})}function Ht(){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,f(),B()}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(B,Nt),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(a=>o.add(a.innerText)),e.forEach(a=>{if(a.playState==="paused"){let{viewTransitionName:r}=F(a);a.currentTime=r&&o.has(r)?n:i}})}J()}function F(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 Ut(){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(){b()&&y()==="full-control"&&f()}var Pt="vtbag-ui-panel-orientation",Ot="vtbag-ui-framed",Vt="named_only",Qt="\u{1F52C}";top.__vtbag??={};top.__vtbag.inspectionChamber??={};var M=top.__vtbag.inspectionChamber;top===self?top.setTimeout(pe,500):self.parent===top&&ue();function ue(){let t=M.frameDocument=self.document;self.addEventListener("pageswap",Rt,{once:!0}),self.addEventListener("pagereveal",de,{once:!0}),e();function e(){let n=top.document.startViewTransition;n&&(t.startViewTransition=i=>{"@vtbag";return Rt(),M.viewTransition=n.call(t,async()=>{await Promise.resolve(),i&&await i(),Gt()}),M.viewTransition})}}function Rt(){!1,M.glow?.cancel(),j(!1,!1)}function de(t){M.viewTransition="viewTransition"in t&&t.viewTransition||void 0,Gt()}function Gt(){!1,M.viewTransition&&(zt(),me())}function me(){it();let t=top.document.documentElement,e=M.viewTransition,n={bypass:()=>{},"slow-motion":mt,"full-control":Ht,compare:()=>{}},i=y();e.updateCallbackDone.catch(()=>{}),e.ready.then(async()=>{if(i&&i!=="bypass"){try{await kt(),j(!!top.document.querySelector("#vtbag-ui-framed")?.checked,!!top.document.querySelector("#vtbag-ui-named-only")?.checked),M.twin.ownerDocument.addEventListener("click",ft)}finally{}n[i]()}top.history.replaceState(history.state,"",self.location.href),top.document.title=Qt+" "+self.document.title}).finally(()=>{}),e.finished.finally(()=>{ot(),M.viewTransition=void 0,M.frameDocument?.querySelector("#vtbag-twin--view-transition")?.remove(),Zt(),M.animations=void 0,M.longestAnimation=void 0,j(!!top.document.querySelector("#vtbag-ui-framed")?.checked,!!top.document.querySelector("#vtbag-ui-named-only")?.checked),H(Q()),x(),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",qt),rt()})}function Bt(){let t=top.document.documentElement;t.style.setProperty("--vtbag-background-accent",t.style.colorScheme.startsWith("dark")?"#4E545D":"#c6d1d7")}function Ie(){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 pe(){if(top.document.querySelector("#vtbag-ui-panel"))return;let t=top.document.documentElement;if(top.sessionStorage.getItem(z)==="true"){nt();return}let e=top.getComputedStyle(t).colorScheme,n=top.document.title,i=top.document.querySelector('link[rel="icon"]')?.outerHTML??"",o=K.replace('<iframe id="vtbag-main-frame" src="/"></iframe>',`<iframe id="vtbag-main-frame" style="opacity: 0;" src="${location.href}"></iframe>`).replace("<title></title>",`<title>${Qt} ${n}</title>`).replace('<link rel="icon"/>',i);top.addEventListener("resize",Wt),t.innerHTML=o,t.style.colorScheme=e,Wt(),Bt(),Ie(),G();let a=top.document.querySelector("#vtbag-main-frame");if(await new Promise(m=>a.onload=m),!top.document.startViewTransition){top.document.querySelector("#vtbag-ui-messages").innerHTML=`
|
|
935
935
|
<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>
|
|
936
|
-
<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(
|
|
936
|
+
<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(m=>m.remove());return}H(Q()),Ae();let r=top.document.querySelector("#divider");T(r,(m,u)=>{t.classList.contains("vtbag-ui-column")?t.classList.contains("vtbag-ui-tl")?t.style.setProperty("--vtbag-panel-width",`calc(max(216px, ${Math.min(innerWidth-100,m)}px))`):t.style.setProperty("--vtbag-panel-width",`calc(max(216px, 100vw - ${Math.max(100,m+1)}px))`):t.classList.contains("vtbag-ui-tl")?t.style.setProperty("--vtbag-panel-height",`calc(max(245px, ${Math.min(innerHeight-100,u)}px))`):t.style.setProperty("--vtbag-panel-height",`calc(max(245px, 100vh - ${Math.max(100,u+1)}px))`)}),localStorage.getItem("vtbag-tutorial-mode")!=="false"&&top.document.querySelector("#vtbag-ui-messages h4").click(),a.animate([{opacity:0,transform:"translateY(100vh)"},{opacity:1}],{duration:500,fill:"forwards"}),a.contentDocument.addEventListener("click",qt)}function qt(t){if(b())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 Wt(){let t=top.document.documentElement,e=top.localStorage.getItem(Pt)??"";e?(e.split(" ").forEach(n=>t.classList.add(n)),Ft()):top.matchMedia("(orientation: landscape)").matches!==t.classList.contains("vtbag-ui-column")&&Jt()}function Jt(){h(()=>{let t=top.document.documentElement.classList;k(),t.toggle("vtbag-ui-column"),t.contains("vtbag-ui-column")&&t.toggle("vtbag-ui-tl"),top.localStorage.setItem(Pt,[...t].filter(e=>e.startsWith("vtbag-ui-")).join(" ")),Ft()},"switch orientation")}function Ft(){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 Ae(){top.document.querySelector("#vtbag-ui-turn").addEventListener("click",()=>Jt()),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",Bt()}),at(),top.document.querySelector("#vtbag-ui-standby").addEventListener("click",()=>{top.sessionStorage.setItem(z,"true"),top.location.reload()}),top.document.querySelector("#vtbag-ui-modi ul").addEventListener("change",ve),wt(),Dt();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,a=n.checked;top.sessionStorage.setItem(Ot,o?"X":""),top.sessionStorage.setItem(Vt,a?"X":""),j(o,a)}pt(),Ut(),top.document.querySelectorAll("#vtbag-ui-control-exit, #vtbag-ui-control-play").forEach(o=>o.addEventListener("click",k)),top.addEventListener("keyup",function(o){o.key==="Escape"&&(b()?k():(top.sessionStorage.setItem(z,"true"),top.location.reload()))})}function ve(){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),k(),top.document.querySelector("#vtbag-ui-filter ul input").click(),e==="slow-motion"&&X("#vtbag-ui-slow-motion"),e==="full-control"&&X("#vtbag-ui-control"),e==="bypass"&&X("#vtbag-ui-modi"),dt(e),gt()},"update-modus")}}function X(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(Ot),n.checked=!!top.sessionStorage.getItem(Vt),j(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.15",
|
|
4
4
|
"main": "lib/index.js",
|
|
5
5
|
"description": "The Inspection Chamber is an in-browser development tool that gives you all the knobs and dials to interactively put your view transitions through their paces.",
|
|
6
6
|
"files": [
|
|
@@ -38,10 +38,10 @@
|
|
|
38
38
|
"url": "https://github.com/sponsors/martrapp"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
|
-
"@changesets/cli": "^2.27.
|
|
42
|
-
"@eslint/js": "^9.
|
|
41
|
+
"@changesets/cli": "^2.27.9",
|
|
42
|
+
"@eslint/js": "^9.12.0",
|
|
43
43
|
"@types/dom-view-transitions": "^1.0.5",
|
|
44
|
-
"esbuild": "^0.
|
|
44
|
+
"esbuild": "^0.24.0",
|
|
45
45
|
"prettier": "^3.3.3",
|
|
46
46
|
"typescript": "^5.6.2"
|
|
47
47
|
}
|