@nuxt/devtools 0.6.1 → 0.6.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/README.md +2 -4
  2. package/dist/chunks/module-main.mjs +29 -134
  3. package/dist/client/200.html +2 -2
  4. package/dist/client/404.html +2 -2
  5. package/dist/client/__blank/index.html +2 -2
  6. package/dist/client/_nuxt/AuthRequiredPanel.vue.e75f9e70.js +1 -0
  7. package/dist/client/_nuxt/Badge.d9d2b649.js +1 -0
  8. package/dist/client/_nuxt/CodeSnippets.vue.b63711e4.js +1 -0
  9. package/dist/client/_nuxt/{DrawerRight.vue.aa1fd47b.js → DrawerRight.vue.e21669fa.js} +1 -1
  10. package/dist/client/_nuxt/DurationDisplay.vue.c206edd8.js +1 -0
  11. package/dist/client/_nuxt/FilepathItem.vue.a47beb58.js +1 -0
  12. package/dist/client/_nuxt/HelpFab.vue.e5d23c98.js +1 -0
  13. package/dist/client/_nuxt/{LaunchPage.vue.f137554e.js → LaunchPage.vue.610fcc27.js} +1 -1
  14. package/dist/client/_nuxt/NCheckbox.vue.f4134b6b.js +1 -0
  15. package/dist/client/_nuxt/{NCodeBlock.vue.e44529a6.js → NCodeBlock.vue.bdc8bfdc.js} +1 -1
  16. package/dist/client/_nuxt/NIconButton.vue.24522062.js +1 -0
  17. package/dist/client/_nuxt/NIconTitle.vue.dc58a435.js +1 -0
  18. package/dist/client/_nuxt/{NLink.vue.372e1ca0.js → NLink.vue.393c859e.js} +1 -1
  19. package/dist/client/_nuxt/NMarkdown.vue.3224fbc4.js +1 -0
  20. package/dist/client/_nuxt/NPanelGrids.eec702e8.js +1 -0
  21. package/dist/client/_nuxt/NSectionBlock.8c2cc0df.js +1 -0
  22. package/dist/client/_nuxt/{NSelect.vue.3956d7b1.js → NSelect.vue.8ff29308.js} +1 -1
  23. package/dist/client/_nuxt/{NSwitch.vue.f0f70131.js → NSwitch.vue.840840dc.js} +1 -1
  24. package/dist/client/_nuxt/{NTip.vue.f50fcd60.js → NTip.vue.79345a6a.js} +1 -1
  25. package/dist/client/_nuxt/Navbar.vue.82295224.js +1 -0
  26. package/dist/client/_nuxt/{PanelLeftRight.vue.8031c7d4.js → PanelLeftRight.vue.5871de72.js} +1 -1
  27. package/dist/client/_nuxt/StateEditor.vue.d48421f9.js +1 -0
  28. package/dist/client/_nuxt/__blank.9ffea4ef.js +1 -0
  29. package/dist/client/_nuxt/analyze-build.67bd8db6.js +1 -0
  30. package/dist/client/_nuxt/{assets.f876e2b9.js → assets.36239ace.js} +3 -3
  31. package/dist/client/_nuxt/{client.d6464981.js → client.495918a8.js} +1 -1
  32. package/dist/client/_nuxt/{components.d23cd7b8.js → components.c4c5e473.js} +27 -27
  33. package/dist/client/_nuxt/custom-_name_.3e45940d.js +1 -0
  34. package/dist/client/_nuxt/default.0d72ce4e.js +1 -0
  35. package/dist/client/_nuxt/{editor.aee50e2c.js → editor.a4d83539.js} +1 -1
  36. package/dist/client/_nuxt/entry.eeaf510e.css +1 -0
  37. package/dist/client/_nuxt/entry.fbf2c464.js +21 -0
  38. package/dist/client/_nuxt/error-404.37bdd0cf.js +1 -0
  39. package/dist/client/_nuxt/error-404.91003ceb.css +1 -0
  40. package/dist/client/_nuxt/error-500.7e02f53c.css +1 -0
  41. package/dist/client/_nuxt/error-500.f09b55ae.js +1 -0
  42. package/dist/client/_nuxt/full.7e6e1e52.js +1 -0
  43. package/dist/client/_nuxt/hooks.9f8f251f.js +1 -0
  44. package/dist/client/_nuxt/{imports.e0b9437d.js → imports.55b5830a.js} +1 -1
  45. package/dist/client/_nuxt/{index.25d3cd66.js → index.2421127a.js} +1 -1
  46. package/dist/client/_nuxt/index.b31d0db0.js +1 -0
  47. package/dist/client/_nuxt/{json-editor-vue.b8dc29b2.js → json-editor-vue.d5db52dc.js} +61 -61
  48. package/dist/client/_nuxt/middleware.bc94adc0.js +1 -0
  49. package/dist/client/_nuxt/modules.b661d7e8.js +4 -0
  50. package/dist/client/_nuxt/none.3d1d9cce.js +1 -0
  51. package/dist/client/_nuxt/{open-graph.3563ee56.js → open-graph.d11fab80.js} +2 -2
  52. package/dist/client/_nuxt/overview.82760181.js +1 -0
  53. package/dist/client/_nuxt/{pages.e4cfc065.js → pages.fbb1f607.js} +1 -1
  54. package/dist/client/_nuxt/payload.5e745a21.js +1 -0
  55. package/dist/client/_nuxt/plugins.736cbd71.js +1 -0
  56. package/dist/client/_nuxt/{runtime-configs.7810c90a.js → runtime-configs.834452b2.js} +1 -1
  57. package/dist/client/_nuxt/server-routes.20327313.js +9 -0
  58. package/dist/client/_nuxt/{settings.80338150.js → settings.ef38f4f9.js} +1 -1
  59. package/dist/client/_nuxt/{state-components.3e562e84.js → state-components.20943c6b.js} +1 -1
  60. package/dist/client/_nuxt/state-modules.7230fab3.js +1 -0
  61. package/dist/client/_nuxt/storage.40229c6e.js +1 -0
  62. package/dist/client/_nuxt/terminals.ae8c3544.css +32 -0
  63. package/dist/client/_nuxt/terminals.e4fb811f.js +9 -0
  64. package/dist/client/_nuxt/{unocss-runtime.9d0d2556.js → unocss-runtime.73092d93.js} +1 -1
  65. package/dist/client/_nuxt/{virtual-files.ae241a9c.js → virtual-files.071a4a48.js} +1 -1
  66. package/dist/client/index.html +2 -2
  67. package/dist/client/modules/analyze-build/index.html +2 -2
  68. package/dist/client/modules/assets/index.html +2 -2
  69. package/dist/client/modules/components/index.html +2 -2
  70. package/dist/client/modules/hooks/index.html +2 -2
  71. package/dist/client/modules/imports/index.html +2 -2
  72. package/dist/client/modules/middleware/index.html +2 -2
  73. package/dist/client/modules/modules/index.html +2 -2
  74. package/dist/client/modules/open-graph/index.html +2 -2
  75. package/dist/client/modules/overview/index.html +2 -2
  76. package/dist/client/modules/pages/index.html +2 -2
  77. package/dist/client/modules/payload/index.html +2 -2
  78. package/dist/client/modules/plugins/index.html +2 -2
  79. package/dist/client/modules/runtime-configs/index.html +2 -2
  80. package/dist/client/modules/server-routes/index.html +2 -2
  81. package/dist/client/modules/storage/index.html +2 -2
  82. package/dist/client/modules/terminals/index.html +2 -2
  83. package/dist/client/modules/virtual-files/index.html +2 -2
  84. package/dist/client/settings/index.html +2 -2
  85. package/dist/global-20ccb74c.d.ts +52 -0
  86. package/dist/module.d.ts +2 -0
  87. package/dist/module.json +1 -1
  88. package/dist/runtime/plugins/devtools.client.d.ts +0 -8
  89. package/dist/runtime/plugins/devtools.client.mjs +10 -84
  90. package/dist/runtime/plugins/view/FrameBox.vue +66 -35
  91. package/dist/runtime/plugins/view/Main.vue +21 -3
  92. package/dist/runtime/plugins/view/client.d.ts +8 -0
  93. package/dist/runtime/plugins/view/client.mjs +209 -1
  94. package/dist/runtime/plugins/view/state.d.ts +1 -4
  95. package/dist/runtime/plugins/view/state.mjs +2 -20
  96. package/dist/runtime/plugins/view/utils.mjs +1 -1
  97. package/dist/types.d.ts +2 -0
  98. package/package.json +24 -24
  99. package/dist/client/_nuxt/AuthRequiredPanel.vue.19da182f.js +0 -1
  100. package/dist/client/_nuxt/Badge.067326d6.js +0 -1
  101. package/dist/client/_nuxt/CodeSnippets.vue.2f33c6d1.js +0 -1
  102. package/dist/client/_nuxt/DurationDisplay.vue.4afc40a4.js +0 -1
  103. package/dist/client/_nuxt/FilepathItem.vue.3587ec1f.js +0 -1
  104. package/dist/client/_nuxt/HelpFab.vue.dbb954dd.js +0 -1
  105. package/dist/client/_nuxt/NCheckbox.vue.060051ad.js +0 -1
  106. package/dist/client/_nuxt/NIconButton.vue.ac7efd0c.js +0 -1
  107. package/dist/client/_nuxt/NIconTitle.vue.ace3a05a.js +0 -1
  108. package/dist/client/_nuxt/NMarkdown.vue.9f252ec4.js +0 -1
  109. package/dist/client/_nuxt/NPanelGrids.54ee09bc.js +0 -1
  110. package/dist/client/_nuxt/NSectionBlock.9cbe0175.js +0 -1
  111. package/dist/client/_nuxt/Navbar.vue.bd98686f.js +0 -1
  112. package/dist/client/_nuxt/NpmVersionCheck.vue.78bff2df.js +0 -1
  113. package/dist/client/_nuxt/StateEditor.vue.4439d43c.js +0 -1
  114. package/dist/client/_nuxt/__blank.944beb26.js +0 -1
  115. package/dist/client/_nuxt/analyze-build.fd781999.js +0 -1
  116. package/dist/client/_nuxt/custom-_name_.3701152b.js +0 -1
  117. package/dist/client/_nuxt/default.809c6e7c.js +0 -1
  118. package/dist/client/_nuxt/entry.717f6486.css +0 -1
  119. package/dist/client/_nuxt/entry.a0dd6aac.js +0 -19
  120. package/dist/client/_nuxt/error-404.2618a69f.css +0 -1
  121. package/dist/client/_nuxt/error-404.d560629e.js +0 -1
  122. package/dist/client/_nuxt/error-500.12a2683b.css +0 -1
  123. package/dist/client/_nuxt/error-500.d7ca8dd1.js +0 -1
  124. package/dist/client/_nuxt/error-component.15e0d602.js +0 -3
  125. package/dist/client/_nuxt/full.76363f3f.js +0 -1
  126. package/dist/client/_nuxt/hooks.3a3b761d.js +0 -1
  127. package/dist/client/_nuxt/index.d7252ef5.js +0 -1
  128. package/dist/client/_nuxt/middleware.cbbbe53d.js +0 -1
  129. package/dist/client/_nuxt/modules.092674af.js +0 -4
  130. package/dist/client/_nuxt/none.0a084ac9.js +0 -1
  131. package/dist/client/_nuxt/overview.e4073f57.js +0 -1
  132. package/dist/client/_nuxt/payload.0be0c356.js +0 -1
  133. package/dist/client/_nuxt/plugins.88ff2e07.js +0 -1
  134. package/dist/client/_nuxt/server-routes.911ca1ca.js +0 -9
  135. package/dist/client/_nuxt/storage.4d3f94ab.js +0 -1
  136. package/dist/client/_nuxt/terminals.e433a70a.js +0 -1
  137. package/dist/runtime/plugins/view/Frame.vue +0 -105
@@ -1,7 +1,7 @@
1
1
  <!DOCTYPE html>
2
2
  <html >
3
3
  <head><meta charset="utf-8">
4
- <meta name="viewport" content="width=device-width, initial-scale=1"><link rel="modulepreload" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/entry.a0dd6aac.js"><link rel="preload" as="style" href="/__nuxt_devtools__/client/_nuxt/entry.717f6486.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/index.25d3cd66.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/default.809c6e7c.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/full.76363f3f.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/none.0a084ac9.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/nuxt-docs.100caa70.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/unocss-runtime.9d0d2556.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/error-component.15e0d602.js"><link rel="stylesheet" href="/__nuxt_devtools__/client/_nuxt/entry.717f6486.css"><script>"use strict";const w=window,de=document.documentElement,knownColorSchemes=["dark","light"],preference=window.localStorage.getItem("nuxt-color-mode")||"system";let value=preference==="system"?getColorScheme():preference;const forcedColorMode=de.getAttribute("data-color-mode-forced");forcedColorMode&&(value=forcedColorMode),addColorScheme(value),w["__NUXT_COLOR_MODE__"]={preference,value,getColorScheme,addColorScheme,removeColorScheme};function addColorScheme(e){const o=""+e+"",t="";de.classList?de.classList.add(o):de.className+=" "+o,t&&de.setAttribute("data-"+t,e)}function removeColorScheme(e){const o=""+e+"",t="";de.classList?de.classList.remove(o):de.className=de.className.replace(new RegExp(o,"g"),""),t&&de.removeAttribute("data-"+t)}function prefersColorScheme(e){return w.matchMedia("(prefers-color-scheme"+e+")")}function getColorScheme(){if(w.matchMedia&&prefersColorScheme("").media!=="not all"){for(const e of knownColorSchemes)if(prefersColorScheme(":"+e).matches)return e}return"light"}
4
+ <meta name="viewport" content="width=device-width, initial-scale=1"><link rel="modulepreload" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/entry.fbf2c464.js"><link rel="preload" as="style" href="/__nuxt_devtools__/client/_nuxt/entry.eeaf510e.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/index.2421127a.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/default.0d72ce4e.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/full.7e6e1e52.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/none.3d1d9cce.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/nuxt-docs.100caa70.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/unocss-runtime.73092d93.js"><link rel="prefetch" as="style" href="/__nuxt_devtools__/client/_nuxt/error-404.91003ceb.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/error-404.37bdd0cf.js"><link rel="prefetch" as="style" href="/__nuxt_devtools__/client/_nuxt/error-500.7e02f53c.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/error-500.f09b55ae.js"><link rel="stylesheet" href="/__nuxt_devtools__/client/_nuxt/entry.eeaf510e.css"><script>"use strict";(()=>{const a=window,e=document.documentElement,m=["dark","light"],c=window.localStorage.getItem("nuxt-color-mode")||"system";let n=c==="system"?f():c;const l=e.getAttribute("data-color-mode-forced");l&&(n=l),i(n),a["__NUXT_COLOR_MODE__"]={preference:c,value:n,getColorScheme:f,addColorScheme:i,removeColorScheme:d};function i(o){const t=""+o+"",s="";e.classList?e.classList.add(t):e.className+=" "+t,s&&e.setAttribute("data-"+s,o)}function d(o){const t=""+o+"",s="";e.classList?e.classList.remove(t):e.className=e.className.replace(new RegExp(t,"g"),""),s&&e.removeAttribute("data-"+s)}function r(o){return a.matchMedia("(prefers-color-scheme"+o+")")}function f(){if(a.matchMedia&&r("").media!=="not all"){for(const o of m)if(r(":"+o).matches)return o}return"light"}})();
5
5
  </script></head>
6
- <body ><div id="__nuxt"></div><script type="application/json" id="__NUXT_DATA__" data-ssr="false">[{"_errors":1,"serverRendered":2,"data":3,"state":4},{},false,{},{}]</script><script>window.__NUXT__={};window.__NUXT__.config={public:{fixture4:"public runtime config from nuxt.config.ts"},app:{baseURL:"/__nuxt_devtools__/client",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="module" src="/__nuxt_devtools__/client/_nuxt/entry.a0dd6aac.js" crossorigin></script></body>
6
+ <body ><div id="__nuxt"><svg class="nuxt-spa-loading" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 37 25" fill="none" width="80"><path d="M24.236 22.006h10.742L25.563 5.822l-8.979 14.31a4 4 0 0 1-3.388 1.874H2.978l11.631-20 5.897 10.567"></path></svg><style>.nuxt-spa-loading{position:fixed;top:50%;left:50%;transform:translate(-50%, -50%)}.nuxt-spa-loading>path{fill:none;stroke:#00DC82;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:128;stroke-dashoffset:128;animation:nuxt-spa-loading-move 3s linear infinite}@keyframes nuxt-spa-loading-move{100%{stroke-dashoffset:-128}}</style></div><script type="application/json" id="__NUXT_DATA__" data-ssr="false">[{"path":1,"_errors":2,"serverRendered":3,"data":4,"state":5},"/modules/plugins",{},false,{},{}]</script><script>window.__NUXT__={};window.__NUXT__.config={public:{fixture4:"public runtime config from nuxt.config.ts"},app:{baseURL:"/__nuxt_devtools__/client",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="module" src="/__nuxt_devtools__/client/_nuxt/entry.fbf2c464.js" crossorigin></script></body>
7
7
  </html>
@@ -1,7 +1,7 @@
1
1
  <!DOCTYPE html>
2
2
  <html >
3
3
  <head><meta charset="utf-8">
4
- <meta name="viewport" content="width=device-width, initial-scale=1"><link rel="modulepreload" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/entry.a0dd6aac.js"><link rel="preload" as="style" href="/__nuxt_devtools__/client/_nuxt/entry.717f6486.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/index.25d3cd66.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/default.809c6e7c.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/full.76363f3f.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/none.0a084ac9.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/nuxt-docs.100caa70.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/unocss-runtime.9d0d2556.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/error-component.15e0d602.js"><link rel="stylesheet" href="/__nuxt_devtools__/client/_nuxt/entry.717f6486.css"><script>"use strict";const w=window,de=document.documentElement,knownColorSchemes=["dark","light"],preference=window.localStorage.getItem("nuxt-color-mode")||"system";let value=preference==="system"?getColorScheme():preference;const forcedColorMode=de.getAttribute("data-color-mode-forced");forcedColorMode&&(value=forcedColorMode),addColorScheme(value),w["__NUXT_COLOR_MODE__"]={preference,value,getColorScheme,addColorScheme,removeColorScheme};function addColorScheme(e){const o=""+e+"",t="";de.classList?de.classList.add(o):de.className+=" "+o,t&&de.setAttribute("data-"+t,e)}function removeColorScheme(e){const o=""+e+"",t="";de.classList?de.classList.remove(o):de.className=de.className.replace(new RegExp(o,"g"),""),t&&de.removeAttribute("data-"+t)}function prefersColorScheme(e){return w.matchMedia("(prefers-color-scheme"+e+")")}function getColorScheme(){if(w.matchMedia&&prefersColorScheme("").media!=="not all"){for(const e of knownColorSchemes)if(prefersColorScheme(":"+e).matches)return e}return"light"}
4
+ <meta name="viewport" content="width=device-width, initial-scale=1"><link rel="modulepreload" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/entry.fbf2c464.js"><link rel="preload" as="style" href="/__nuxt_devtools__/client/_nuxt/entry.eeaf510e.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/index.2421127a.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/default.0d72ce4e.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/full.7e6e1e52.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/none.3d1d9cce.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/nuxt-docs.100caa70.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/unocss-runtime.73092d93.js"><link rel="prefetch" as="style" href="/__nuxt_devtools__/client/_nuxt/error-404.91003ceb.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/error-404.37bdd0cf.js"><link rel="prefetch" as="style" href="/__nuxt_devtools__/client/_nuxt/error-500.7e02f53c.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/error-500.f09b55ae.js"><link rel="stylesheet" href="/__nuxt_devtools__/client/_nuxt/entry.eeaf510e.css"><script>"use strict";(()=>{const a=window,e=document.documentElement,m=["dark","light"],c=window.localStorage.getItem("nuxt-color-mode")||"system";let n=c==="system"?f():c;const l=e.getAttribute("data-color-mode-forced");l&&(n=l),i(n),a["__NUXT_COLOR_MODE__"]={preference:c,value:n,getColorScheme:f,addColorScheme:i,removeColorScheme:d};function i(o){const t=""+o+"",s="";e.classList?e.classList.add(t):e.className+=" "+t,s&&e.setAttribute("data-"+s,o)}function d(o){const t=""+o+"",s="";e.classList?e.classList.remove(t):e.className=e.className.replace(new RegExp(t,"g"),""),s&&e.removeAttribute("data-"+s)}function r(o){return a.matchMedia("(prefers-color-scheme"+o+")")}function f(){if(a.matchMedia&&r("").media!=="not all"){for(const o of m)if(r(":"+o).matches)return o}return"light"}})();
5
5
  </script></head>
6
- <body ><div id="__nuxt"></div><script type="application/json" id="__NUXT_DATA__" data-ssr="false">[{"_errors":1,"serverRendered":2,"data":3,"state":4},{},false,{},{}]</script><script>window.__NUXT__={};window.__NUXT__.config={public:{fixture4:"public runtime config from nuxt.config.ts"},app:{baseURL:"/__nuxt_devtools__/client",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="module" src="/__nuxt_devtools__/client/_nuxt/entry.a0dd6aac.js" crossorigin></script></body>
6
+ <body ><div id="__nuxt"><svg class="nuxt-spa-loading" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 37 25" fill="none" width="80"><path d="M24.236 22.006h10.742L25.563 5.822l-8.979 14.31a4 4 0 0 1-3.388 1.874H2.978l11.631-20 5.897 10.567"></path></svg><style>.nuxt-spa-loading{position:fixed;top:50%;left:50%;transform:translate(-50%, -50%)}.nuxt-spa-loading>path{fill:none;stroke:#00DC82;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:128;stroke-dashoffset:128;animation:nuxt-spa-loading-move 3s linear infinite}@keyframes nuxt-spa-loading-move{100%{stroke-dashoffset:-128}}</style></div><script type="application/json" id="__NUXT_DATA__" data-ssr="false">[{"path":1,"_errors":2,"serverRendered":3,"data":4,"state":5},"/modules/runtime-configs",{},false,{},{}]</script><script>window.__NUXT__={};window.__NUXT__.config={public:{fixture4:"public runtime config from nuxt.config.ts"},app:{baseURL:"/__nuxt_devtools__/client",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="module" src="/__nuxt_devtools__/client/_nuxt/entry.fbf2c464.js" crossorigin></script></body>
7
7
  </html>
@@ -1,7 +1,7 @@
1
1
  <!DOCTYPE html>
2
2
  <html >
3
3
  <head><meta charset="utf-8">
4
- <meta name="viewport" content="width=device-width, initial-scale=1"><link rel="modulepreload" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/entry.a0dd6aac.js"><link rel="preload" as="style" href="/__nuxt_devtools__/client/_nuxt/entry.717f6486.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/index.25d3cd66.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/default.809c6e7c.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/full.76363f3f.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/none.0a084ac9.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/nuxt-docs.100caa70.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/unocss-runtime.9d0d2556.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/error-component.15e0d602.js"><link rel="stylesheet" href="/__nuxt_devtools__/client/_nuxt/entry.717f6486.css"><script>"use strict";const w=window,de=document.documentElement,knownColorSchemes=["dark","light"],preference=window.localStorage.getItem("nuxt-color-mode")||"system";let value=preference==="system"?getColorScheme():preference;const forcedColorMode=de.getAttribute("data-color-mode-forced");forcedColorMode&&(value=forcedColorMode),addColorScheme(value),w["__NUXT_COLOR_MODE__"]={preference,value,getColorScheme,addColorScheme,removeColorScheme};function addColorScheme(e){const o=""+e+"",t="";de.classList?de.classList.add(o):de.className+=" "+o,t&&de.setAttribute("data-"+t,e)}function removeColorScheme(e){const o=""+e+"",t="";de.classList?de.classList.remove(o):de.className=de.className.replace(new RegExp(o,"g"),""),t&&de.removeAttribute("data-"+t)}function prefersColorScheme(e){return w.matchMedia("(prefers-color-scheme"+e+")")}function getColorScheme(){if(w.matchMedia&&prefersColorScheme("").media!=="not all"){for(const e of knownColorSchemes)if(prefersColorScheme(":"+e).matches)return e}return"light"}
4
+ <meta name="viewport" content="width=device-width, initial-scale=1"><link rel="modulepreload" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/entry.fbf2c464.js"><link rel="preload" as="style" href="/__nuxt_devtools__/client/_nuxt/entry.eeaf510e.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/index.2421127a.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/default.0d72ce4e.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/full.7e6e1e52.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/none.3d1d9cce.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/nuxt-docs.100caa70.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/unocss-runtime.73092d93.js"><link rel="prefetch" as="style" href="/__nuxt_devtools__/client/_nuxt/error-404.91003ceb.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/error-404.37bdd0cf.js"><link rel="prefetch" as="style" href="/__nuxt_devtools__/client/_nuxt/error-500.7e02f53c.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/error-500.f09b55ae.js"><link rel="stylesheet" href="/__nuxt_devtools__/client/_nuxt/entry.eeaf510e.css"><script>"use strict";(()=>{const a=window,e=document.documentElement,m=["dark","light"],c=window.localStorage.getItem("nuxt-color-mode")||"system";let n=c==="system"?f():c;const l=e.getAttribute("data-color-mode-forced");l&&(n=l),i(n),a["__NUXT_COLOR_MODE__"]={preference:c,value:n,getColorScheme:f,addColorScheme:i,removeColorScheme:d};function i(o){const t=""+o+"",s="";e.classList?e.classList.add(t):e.className+=" "+t,s&&e.setAttribute("data-"+s,o)}function d(o){const t=""+o+"",s="";e.classList?e.classList.remove(t):e.className=e.className.replace(new RegExp(t,"g"),""),s&&e.removeAttribute("data-"+s)}function r(o){return a.matchMedia("(prefers-color-scheme"+o+")")}function f(){if(a.matchMedia&&r("").media!=="not all"){for(const o of m)if(r(":"+o).matches)return o}return"light"}})();
5
5
  </script></head>
6
- <body ><div id="__nuxt"></div><script type="application/json" id="__NUXT_DATA__" data-ssr="false">[{"_errors":1,"serverRendered":2,"data":3,"state":4},{},false,{},{}]</script><script>window.__NUXT__={};window.__NUXT__.config={public:{fixture4:"public runtime config from nuxt.config.ts"},app:{baseURL:"/__nuxt_devtools__/client",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="module" src="/__nuxt_devtools__/client/_nuxt/entry.a0dd6aac.js" crossorigin></script></body>
6
+ <body ><div id="__nuxt"><svg class="nuxt-spa-loading" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 37 25" fill="none" width="80"><path d="M24.236 22.006h10.742L25.563 5.822l-8.979 14.31a4 4 0 0 1-3.388 1.874H2.978l11.631-20 5.897 10.567"></path></svg><style>.nuxt-spa-loading{position:fixed;top:50%;left:50%;transform:translate(-50%, -50%)}.nuxt-spa-loading>path{fill:none;stroke:#00DC82;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:128;stroke-dashoffset:128;animation:nuxt-spa-loading-move 3s linear infinite}@keyframes nuxt-spa-loading-move{100%{stroke-dashoffset:-128}}</style></div><script type="application/json" id="__NUXT_DATA__" data-ssr="false">[{"path":1,"_errors":2,"serverRendered":3,"data":4,"state":5},"/modules/server-routes",{},false,{},{}]</script><script>window.__NUXT__={};window.__NUXT__.config={public:{fixture4:"public runtime config from nuxt.config.ts"},app:{baseURL:"/__nuxt_devtools__/client",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="module" src="/__nuxt_devtools__/client/_nuxt/entry.fbf2c464.js" crossorigin></script></body>
7
7
  </html>
@@ -1,7 +1,7 @@
1
1
  <!DOCTYPE html>
2
2
  <html >
3
3
  <head><meta charset="utf-8">
4
- <meta name="viewport" content="width=device-width, initial-scale=1"><link rel="modulepreload" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/entry.a0dd6aac.js"><link rel="preload" as="style" href="/__nuxt_devtools__/client/_nuxt/entry.717f6486.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/index.25d3cd66.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/default.809c6e7c.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/full.76363f3f.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/none.0a084ac9.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/nuxt-docs.100caa70.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/unocss-runtime.9d0d2556.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/error-component.15e0d602.js"><link rel="stylesheet" href="/__nuxt_devtools__/client/_nuxt/entry.717f6486.css"><script>"use strict";const w=window,de=document.documentElement,knownColorSchemes=["dark","light"],preference=window.localStorage.getItem("nuxt-color-mode")||"system";let value=preference==="system"?getColorScheme():preference;const forcedColorMode=de.getAttribute("data-color-mode-forced");forcedColorMode&&(value=forcedColorMode),addColorScheme(value),w["__NUXT_COLOR_MODE__"]={preference,value,getColorScheme,addColorScheme,removeColorScheme};function addColorScheme(e){const o=""+e+"",t="";de.classList?de.classList.add(o):de.className+=" "+o,t&&de.setAttribute("data-"+t,e)}function removeColorScheme(e){const o=""+e+"",t="";de.classList?de.classList.remove(o):de.className=de.className.replace(new RegExp(o,"g"),""),t&&de.removeAttribute("data-"+t)}function prefersColorScheme(e){return w.matchMedia("(prefers-color-scheme"+e+")")}function getColorScheme(){if(w.matchMedia&&prefersColorScheme("").media!=="not all"){for(const e of knownColorSchemes)if(prefersColorScheme(":"+e).matches)return e}return"light"}
4
+ <meta name="viewport" content="width=device-width, initial-scale=1"><link rel="modulepreload" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/entry.fbf2c464.js"><link rel="preload" as="style" href="/__nuxt_devtools__/client/_nuxt/entry.eeaf510e.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/index.2421127a.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/default.0d72ce4e.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/full.7e6e1e52.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/none.3d1d9cce.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/nuxt-docs.100caa70.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/unocss-runtime.73092d93.js"><link rel="prefetch" as="style" href="/__nuxt_devtools__/client/_nuxt/error-404.91003ceb.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/error-404.37bdd0cf.js"><link rel="prefetch" as="style" href="/__nuxt_devtools__/client/_nuxt/error-500.7e02f53c.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/error-500.f09b55ae.js"><link rel="stylesheet" href="/__nuxt_devtools__/client/_nuxt/entry.eeaf510e.css"><script>"use strict";(()=>{const a=window,e=document.documentElement,m=["dark","light"],c=window.localStorage.getItem("nuxt-color-mode")||"system";let n=c==="system"?f():c;const l=e.getAttribute("data-color-mode-forced");l&&(n=l),i(n),a["__NUXT_COLOR_MODE__"]={preference:c,value:n,getColorScheme:f,addColorScheme:i,removeColorScheme:d};function i(o){const t=""+o+"",s="";e.classList?e.classList.add(t):e.className+=" "+t,s&&e.setAttribute("data-"+s,o)}function d(o){const t=""+o+"",s="";e.classList?e.classList.remove(t):e.className=e.className.replace(new RegExp(t,"g"),""),s&&e.removeAttribute("data-"+s)}function r(o){return a.matchMedia("(prefers-color-scheme"+o+")")}function f(){if(a.matchMedia&&r("").media!=="not all"){for(const o of m)if(r(":"+o).matches)return o}return"light"}})();
5
5
  </script></head>
6
- <body ><div id="__nuxt"></div><script type="application/json" id="__NUXT_DATA__" data-ssr="false">[{"_errors":1,"serverRendered":2,"data":3,"state":4},{},false,{},{}]</script><script>window.__NUXT__={};window.__NUXT__.config={public:{fixture4:"public runtime config from nuxt.config.ts"},app:{baseURL:"/__nuxt_devtools__/client",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="module" src="/__nuxt_devtools__/client/_nuxt/entry.a0dd6aac.js" crossorigin></script></body>
6
+ <body ><div id="__nuxt"><svg class="nuxt-spa-loading" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 37 25" fill="none" width="80"><path d="M24.236 22.006h10.742L25.563 5.822l-8.979 14.31a4 4 0 0 1-3.388 1.874H2.978l11.631-20 5.897 10.567"></path></svg><style>.nuxt-spa-loading{position:fixed;top:50%;left:50%;transform:translate(-50%, -50%)}.nuxt-spa-loading>path{fill:none;stroke:#00DC82;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:128;stroke-dashoffset:128;animation:nuxt-spa-loading-move 3s linear infinite}@keyframes nuxt-spa-loading-move{100%{stroke-dashoffset:-128}}</style></div><script type="application/json" id="__NUXT_DATA__" data-ssr="false">[{"path":1,"_errors":2,"serverRendered":3,"data":4,"state":5},"/modules/storage",{},false,{},{}]</script><script>window.__NUXT__={};window.__NUXT__.config={public:{fixture4:"public runtime config from nuxt.config.ts"},app:{baseURL:"/__nuxt_devtools__/client",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="module" src="/__nuxt_devtools__/client/_nuxt/entry.fbf2c464.js" crossorigin></script></body>
7
7
  </html>
@@ -1,7 +1,7 @@
1
1
  <!DOCTYPE html>
2
2
  <html >
3
3
  <head><meta charset="utf-8">
4
- <meta name="viewport" content="width=device-width, initial-scale=1"><link rel="modulepreload" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/entry.a0dd6aac.js"><link rel="preload" as="style" href="/__nuxt_devtools__/client/_nuxt/entry.717f6486.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/index.25d3cd66.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/default.809c6e7c.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/full.76363f3f.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/none.0a084ac9.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/nuxt-docs.100caa70.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/unocss-runtime.9d0d2556.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/error-component.15e0d602.js"><link rel="stylesheet" href="/__nuxt_devtools__/client/_nuxt/entry.717f6486.css"><script>"use strict";const w=window,de=document.documentElement,knownColorSchemes=["dark","light"],preference=window.localStorage.getItem("nuxt-color-mode")||"system";let value=preference==="system"?getColorScheme():preference;const forcedColorMode=de.getAttribute("data-color-mode-forced");forcedColorMode&&(value=forcedColorMode),addColorScheme(value),w["__NUXT_COLOR_MODE__"]={preference,value,getColorScheme,addColorScheme,removeColorScheme};function addColorScheme(e){const o=""+e+"",t="";de.classList?de.classList.add(o):de.className+=" "+o,t&&de.setAttribute("data-"+t,e)}function removeColorScheme(e){const o=""+e+"",t="";de.classList?de.classList.remove(o):de.className=de.className.replace(new RegExp(o,"g"),""),t&&de.removeAttribute("data-"+t)}function prefersColorScheme(e){return w.matchMedia("(prefers-color-scheme"+e+")")}function getColorScheme(){if(w.matchMedia&&prefersColorScheme("").media!=="not all"){for(const e of knownColorSchemes)if(prefersColorScheme(":"+e).matches)return e}return"light"}
4
+ <meta name="viewport" content="width=device-width, initial-scale=1"><link rel="modulepreload" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/entry.fbf2c464.js"><link rel="preload" as="style" href="/__nuxt_devtools__/client/_nuxt/entry.eeaf510e.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/index.2421127a.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/default.0d72ce4e.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/full.7e6e1e52.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/none.3d1d9cce.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/nuxt-docs.100caa70.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/unocss-runtime.73092d93.js"><link rel="prefetch" as="style" href="/__nuxt_devtools__/client/_nuxt/error-404.91003ceb.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/error-404.37bdd0cf.js"><link rel="prefetch" as="style" href="/__nuxt_devtools__/client/_nuxt/error-500.7e02f53c.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/error-500.f09b55ae.js"><link rel="stylesheet" href="/__nuxt_devtools__/client/_nuxt/entry.eeaf510e.css"><script>"use strict";(()=>{const a=window,e=document.documentElement,m=["dark","light"],c=window.localStorage.getItem("nuxt-color-mode")||"system";let n=c==="system"?f():c;const l=e.getAttribute("data-color-mode-forced");l&&(n=l),i(n),a["__NUXT_COLOR_MODE__"]={preference:c,value:n,getColorScheme:f,addColorScheme:i,removeColorScheme:d};function i(o){const t=""+o+"",s="";e.classList?e.classList.add(t):e.className+=" "+t,s&&e.setAttribute("data-"+s,o)}function d(o){const t=""+o+"",s="";e.classList?e.classList.remove(t):e.className=e.className.replace(new RegExp(t,"g"),""),s&&e.removeAttribute("data-"+s)}function r(o){return a.matchMedia("(prefers-color-scheme"+o+")")}function f(){if(a.matchMedia&&r("").media!=="not all"){for(const o of m)if(r(":"+o).matches)return o}return"light"}})();
5
5
  </script></head>
6
- <body ><div id="__nuxt"></div><script type="application/json" id="__NUXT_DATA__" data-ssr="false">[{"_errors":1,"serverRendered":2,"data":3,"state":4},{},false,{},{}]</script><script>window.__NUXT__={};window.__NUXT__.config={public:{fixture4:"public runtime config from nuxt.config.ts"},app:{baseURL:"/__nuxt_devtools__/client",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="module" src="/__nuxt_devtools__/client/_nuxt/entry.a0dd6aac.js" crossorigin></script></body>
6
+ <body ><div id="__nuxt"><svg class="nuxt-spa-loading" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 37 25" fill="none" width="80"><path d="M24.236 22.006h10.742L25.563 5.822l-8.979 14.31a4 4 0 0 1-3.388 1.874H2.978l11.631-20 5.897 10.567"></path></svg><style>.nuxt-spa-loading{position:fixed;top:50%;left:50%;transform:translate(-50%, -50%)}.nuxt-spa-loading>path{fill:none;stroke:#00DC82;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:128;stroke-dashoffset:128;animation:nuxt-spa-loading-move 3s linear infinite}@keyframes nuxt-spa-loading-move{100%{stroke-dashoffset:-128}}</style></div><script type="application/json" id="__NUXT_DATA__" data-ssr="false">[{"path":1,"_errors":2,"serverRendered":3,"data":4,"state":5},"/modules/terminals",{},false,{},{}]</script><script>window.__NUXT__={};window.__NUXT__.config={public:{fixture4:"public runtime config from nuxt.config.ts"},app:{baseURL:"/__nuxt_devtools__/client",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="module" src="/__nuxt_devtools__/client/_nuxt/entry.fbf2c464.js" crossorigin></script></body>
7
7
  </html>
@@ -1,7 +1,7 @@
1
1
  <!DOCTYPE html>
2
2
  <html >
3
3
  <head><meta charset="utf-8">
4
- <meta name="viewport" content="width=device-width, initial-scale=1"><link rel="modulepreload" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/entry.a0dd6aac.js"><link rel="preload" as="style" href="/__nuxt_devtools__/client/_nuxt/entry.717f6486.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/index.25d3cd66.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/default.809c6e7c.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/full.76363f3f.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/none.0a084ac9.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/nuxt-docs.100caa70.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/unocss-runtime.9d0d2556.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/error-component.15e0d602.js"><link rel="stylesheet" href="/__nuxt_devtools__/client/_nuxt/entry.717f6486.css"><script>"use strict";const w=window,de=document.documentElement,knownColorSchemes=["dark","light"],preference=window.localStorage.getItem("nuxt-color-mode")||"system";let value=preference==="system"?getColorScheme():preference;const forcedColorMode=de.getAttribute("data-color-mode-forced");forcedColorMode&&(value=forcedColorMode),addColorScheme(value),w["__NUXT_COLOR_MODE__"]={preference,value,getColorScheme,addColorScheme,removeColorScheme};function addColorScheme(e){const o=""+e+"",t="";de.classList?de.classList.add(o):de.className+=" "+o,t&&de.setAttribute("data-"+t,e)}function removeColorScheme(e){const o=""+e+"",t="";de.classList?de.classList.remove(o):de.className=de.className.replace(new RegExp(o,"g"),""),t&&de.removeAttribute("data-"+t)}function prefersColorScheme(e){return w.matchMedia("(prefers-color-scheme"+e+")")}function getColorScheme(){if(w.matchMedia&&prefersColorScheme("").media!=="not all"){for(const e of knownColorSchemes)if(prefersColorScheme(":"+e).matches)return e}return"light"}
4
+ <meta name="viewport" content="width=device-width, initial-scale=1"><link rel="modulepreload" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/entry.fbf2c464.js"><link rel="preload" as="style" href="/__nuxt_devtools__/client/_nuxt/entry.eeaf510e.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/index.2421127a.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/default.0d72ce4e.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/full.7e6e1e52.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/none.3d1d9cce.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/nuxt-docs.100caa70.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/unocss-runtime.73092d93.js"><link rel="prefetch" as="style" href="/__nuxt_devtools__/client/_nuxt/error-404.91003ceb.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/error-404.37bdd0cf.js"><link rel="prefetch" as="style" href="/__nuxt_devtools__/client/_nuxt/error-500.7e02f53c.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/error-500.f09b55ae.js"><link rel="stylesheet" href="/__nuxt_devtools__/client/_nuxt/entry.eeaf510e.css"><script>"use strict";(()=>{const a=window,e=document.documentElement,m=["dark","light"],c=window.localStorage.getItem("nuxt-color-mode")||"system";let n=c==="system"?f():c;const l=e.getAttribute("data-color-mode-forced");l&&(n=l),i(n),a["__NUXT_COLOR_MODE__"]={preference:c,value:n,getColorScheme:f,addColorScheme:i,removeColorScheme:d};function i(o){const t=""+o+"",s="";e.classList?e.classList.add(t):e.className+=" "+t,s&&e.setAttribute("data-"+s,o)}function d(o){const t=""+o+"",s="";e.classList?e.classList.remove(t):e.className=e.className.replace(new RegExp(t,"g"),""),s&&e.removeAttribute("data-"+s)}function r(o){return a.matchMedia("(prefers-color-scheme"+o+")")}function f(){if(a.matchMedia&&r("").media!=="not all"){for(const o of m)if(r(":"+o).matches)return o}return"light"}})();
5
5
  </script></head>
6
- <body ><div id="__nuxt"></div><script type="application/json" id="__NUXT_DATA__" data-ssr="false">[{"_errors":1,"serverRendered":2,"data":3,"state":4},{},false,{},{}]</script><script>window.__NUXT__={};window.__NUXT__.config={public:{fixture4:"public runtime config from nuxt.config.ts"},app:{baseURL:"/__nuxt_devtools__/client",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="module" src="/__nuxt_devtools__/client/_nuxt/entry.a0dd6aac.js" crossorigin></script></body>
6
+ <body ><div id="__nuxt"><svg class="nuxt-spa-loading" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 37 25" fill="none" width="80"><path d="M24.236 22.006h10.742L25.563 5.822l-8.979 14.31a4 4 0 0 1-3.388 1.874H2.978l11.631-20 5.897 10.567"></path></svg><style>.nuxt-spa-loading{position:fixed;top:50%;left:50%;transform:translate(-50%, -50%)}.nuxt-spa-loading>path{fill:none;stroke:#00DC82;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:128;stroke-dashoffset:128;animation:nuxt-spa-loading-move 3s linear infinite}@keyframes nuxt-spa-loading-move{100%{stroke-dashoffset:-128}}</style></div><script type="application/json" id="__NUXT_DATA__" data-ssr="false">[{"path":1,"_errors":2,"serverRendered":3,"data":4,"state":5},"/modules/virtual-files",{},false,{},{}]</script><script>window.__NUXT__={};window.__NUXT__.config={public:{fixture4:"public runtime config from nuxt.config.ts"},app:{baseURL:"/__nuxt_devtools__/client",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="module" src="/__nuxt_devtools__/client/_nuxt/entry.fbf2c464.js" crossorigin></script></body>
7
7
  </html>
@@ -1,7 +1,7 @@
1
1
  <!DOCTYPE html>
2
2
  <html >
3
3
  <head><meta charset="utf-8">
4
- <meta name="viewport" content="width=device-width, initial-scale=1"><link rel="modulepreload" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/entry.a0dd6aac.js"><link rel="preload" as="style" href="/__nuxt_devtools__/client/_nuxt/entry.717f6486.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/index.25d3cd66.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/default.809c6e7c.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/full.76363f3f.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/none.0a084ac9.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/nuxt-docs.100caa70.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/unocss-runtime.9d0d2556.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/error-component.15e0d602.js"><link rel="stylesheet" href="/__nuxt_devtools__/client/_nuxt/entry.717f6486.css"><script>"use strict";const w=window,de=document.documentElement,knownColorSchemes=["dark","light"],preference=window.localStorage.getItem("nuxt-color-mode")||"system";let value=preference==="system"?getColorScheme():preference;const forcedColorMode=de.getAttribute("data-color-mode-forced");forcedColorMode&&(value=forcedColorMode),addColorScheme(value),w["__NUXT_COLOR_MODE__"]={preference,value,getColorScheme,addColorScheme,removeColorScheme};function addColorScheme(e){const o=""+e+"",t="";de.classList?de.classList.add(o):de.className+=" "+o,t&&de.setAttribute("data-"+t,e)}function removeColorScheme(e){const o=""+e+"",t="";de.classList?de.classList.remove(o):de.className=de.className.replace(new RegExp(o,"g"),""),t&&de.removeAttribute("data-"+t)}function prefersColorScheme(e){return w.matchMedia("(prefers-color-scheme"+e+")")}function getColorScheme(){if(w.matchMedia&&prefersColorScheme("").media!=="not all"){for(const e of knownColorSchemes)if(prefersColorScheme(":"+e).matches)return e}return"light"}
4
+ <meta name="viewport" content="width=device-width, initial-scale=1"><link rel="modulepreload" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/entry.fbf2c464.js"><link rel="preload" as="style" href="/__nuxt_devtools__/client/_nuxt/entry.eeaf510e.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/index.2421127a.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/default.0d72ce4e.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/full.7e6e1e52.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/none.3d1d9cce.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/nuxt-docs.100caa70.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/unocss-runtime.73092d93.js"><link rel="prefetch" as="style" href="/__nuxt_devtools__/client/_nuxt/error-404.91003ceb.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/error-404.37bdd0cf.js"><link rel="prefetch" as="style" href="/__nuxt_devtools__/client/_nuxt/error-500.7e02f53c.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/error-500.f09b55ae.js"><link rel="stylesheet" href="/__nuxt_devtools__/client/_nuxt/entry.eeaf510e.css"><script>"use strict";(()=>{const a=window,e=document.documentElement,m=["dark","light"],c=window.localStorage.getItem("nuxt-color-mode")||"system";let n=c==="system"?f():c;const l=e.getAttribute("data-color-mode-forced");l&&(n=l),i(n),a["__NUXT_COLOR_MODE__"]={preference:c,value:n,getColorScheme:f,addColorScheme:i,removeColorScheme:d};function i(o){const t=""+o+"",s="";e.classList?e.classList.add(t):e.className+=" "+t,s&&e.setAttribute("data-"+s,o)}function d(o){const t=""+o+"",s="";e.classList?e.classList.remove(t):e.className=e.className.replace(new RegExp(t,"g"),""),s&&e.removeAttribute("data-"+s)}function r(o){return a.matchMedia("(prefers-color-scheme"+o+")")}function f(){if(a.matchMedia&&r("").media!=="not all"){for(const o of m)if(r(":"+o).matches)return o}return"light"}})();
5
5
  </script></head>
6
- <body ><div id="__nuxt"></div><script type="application/json" id="__NUXT_DATA__" data-ssr="false">[{"_errors":1,"serverRendered":2,"data":3,"state":4},{},false,{},{}]</script><script>window.__NUXT__={};window.__NUXT__.config={public:{fixture4:"public runtime config from nuxt.config.ts"},app:{baseURL:"/__nuxt_devtools__/client",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="module" src="/__nuxt_devtools__/client/_nuxt/entry.a0dd6aac.js" crossorigin></script></body>
6
+ <body ><div id="__nuxt"><svg class="nuxt-spa-loading" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 37 25" fill="none" width="80"><path d="M24.236 22.006h10.742L25.563 5.822l-8.979 14.31a4 4 0 0 1-3.388 1.874H2.978l11.631-20 5.897 10.567"></path></svg><style>.nuxt-spa-loading{position:fixed;top:50%;left:50%;transform:translate(-50%, -50%)}.nuxt-spa-loading>path{fill:none;stroke:#00DC82;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:128;stroke-dashoffset:128;animation:nuxt-spa-loading-move 3s linear infinite}@keyframes nuxt-spa-loading-move{100%{stroke-dashoffset:-128}}</style></div><script type="application/json" id="__NUXT_DATA__" data-ssr="false">[{"path":1,"_errors":2,"serverRendered":3,"data":4,"state":5},"/settings",{},false,{},{}]</script><script>window.__NUXT__={};window.__NUXT__.config={public:{fixture4:"public runtime config from nuxt.config.ts"},app:{baseURL:"/__nuxt_devtools__/client",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="module" src="/__nuxt_devtools__/client/_nuxt/entry.fbf2c464.js" crossorigin></script></body>
7
7
  </html>
@@ -0,0 +1,52 @@
1
+ import { VueInspectorClient } from 'vite-plugin-vue-inspector';
2
+ import { NuxtDevtoolsIframeClient, NuxtDevtoolsGlobal, PluginMetric, LoadingTimeMetric } from '@nuxt/devtools-kit/types';
3
+
4
+ declare global {
5
+ interface Window {
6
+ /**
7
+ * API for module integration
8
+ */
9
+ __NUXT_DEVTOOLS__?: NuxtDevtoolsIframeClient;
10
+ /**
11
+ * Nuxt DevTools for receiving host client
12
+ *
13
+ * @internal
14
+ */
15
+ __NUXT_DEVTOOLS_VIEW__?: NuxtDevtoolsGlobal;
16
+ /**
17
+ * Metrics for plugin loading time
18
+ *
19
+ * @internal
20
+ */
21
+ __NUXT_DEVTOOLS_PLUGINS_METRIC__?: PluginMetric[];
22
+ /**
23
+ * Metrics for page / route loading time
24
+ *
25
+ * @internal
26
+ */
27
+ __NUXT_DEVTOOLS_TIME_METRIC__?: LoadingTimeMetric;
28
+ /**
29
+ * Manually disable Nuxt DevTools embedding.
30
+ * Used for popup mode.
31
+ *
32
+ * @internal
33
+ */
34
+ __NUXT_DEVTOOLS_DISABLE__?: boolean;
35
+ /**
36
+ * Is popup mode
37
+ *
38
+ * @internal
39
+ */
40
+ __NUXT_DEVTOOLS_IS_POPUP__?: boolean;
41
+ /**
42
+ * Vue Inspector client
43
+ */
44
+ __VUE_INSPECTOR__?: VueInspectorClient;
45
+ /**
46
+ * Experimental API: Picture-in-Picture mode
47
+ *
48
+ * @see https://developer.chrome.com/docs/web-platform/document-picture-in-picture/
49
+ */
50
+ documentPictureInPicture?: any;
51
+ }
52
+ }
package/dist/module.d.ts CHANGED
@@ -1,6 +1,8 @@
1
1
  import * as _nuxt_schema from '@nuxt/schema';
2
+ import './global-20ccb74c.js';
2
3
  import { ModuleOptions } from '@nuxt/devtools-kit/types';
3
4
  export { ModuleOptions } from '@nuxt/devtools-kit/types';
5
+ import 'vite-plugin-vue-inspector';
4
6
 
5
7
  declare const _default: _nuxt_schema.NuxtModule<ModuleOptions>;
6
8
 
package/dist/module.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@nuxt/devtools",
3
3
  "configKey": "devtools",
4
- "version": "0.6.1"
4
+ "version": "0.6.3"
5
5
  }
@@ -1,10 +1,2 @@
1
- import type { LoadingTimeMetric, PluginMetric, VueInspectorClient } from '../../types';
2
1
  declare const _default: any;
3
2
  export default _default;
4
- declare global {
5
- interface Window {
6
- __NUXT_DEVTOOLS_PLUGINS_METRIC__?: PluginMetric[];
7
- __NUXT_DEVTOOLS_TIME_METRIC__?: LoadingTimeMetric;
8
- __VUE_INSPECTOR__?: VueInspectorClient;
9
- }
10
- }
@@ -1,8 +1,9 @@
1
- import { createApp, h, markRaw, ref, shallowReactive, watchEffect } from "vue";
1
+ import { shallowReactive, watchEffect } from "vue";
2
2
  import { setupHooksDebug } from "../shared/hooks.mjs";
3
- import { useClientColorMode } from "./view/client.mjs";
4
- import { defineNuxtPlugin, useAppConfig, useRouter, useState } from "#imports";
3
+ import { defineNuxtPlugin, useRouter, useState } from "#imports";
5
4
  export default defineNuxtPlugin((nuxt) => {
5
+ if (window.__NUXT_DEVTOOLS_DISABLE__ || window.parent?.__NUXT_DEVTOOLS_DISABLE__)
6
+ return;
6
7
  if (typeof document === "undefined" || typeof window === "undefined")
7
8
  return;
8
9
  if (window.parent && window.self !== window.parent) {
@@ -30,86 +31,11 @@ export default defineNuxtPlugin((nuxt) => {
30
31
  if (ssrState.value.timeSsrStart)
31
32
  timeMetric.ssrStart = ssrState.value.timeSsrStart;
32
33
  });
33
- async function init() {
34
- const { closePanel, togglePanel } = await import("./view/state");
35
- const { createHooks } = await import("hookable");
36
- const { default: Main } = await import("./view/Main.vue");
37
- const isInspecting = ref(false);
38
- const colorMode = useClientColorMode();
39
- const client = shallowReactive({
40
- nuxt: markRaw(nuxt),
41
- appConfig: useAppConfig(),
42
- hooks: createHooks(),
43
- getClientHooksMetrics: () => Object.values(clientHooks),
44
- getClientPluginMetrics: () => {
45
- return window.__NUXT_DEVTOOLS_PLUGINS_METRIC__ || [];
46
- },
47
- loadingTimeMetrics: timeMetric,
48
- reloadPage() {
49
- location.reload();
50
- },
51
- closeDevTools: closePanel,
52
- inspector: getInspectorInstance(),
53
- colorMode,
54
- refreshState() {
55
- if (!client.inspector)
56
- client.inspector = getInspectorInstance();
57
- return client;
58
- }
34
+ import("./view/client").then(({ setupDevToolsClient }) => {
35
+ setupDevToolsClient({
36
+ nuxt,
37
+ clientHooks,
38
+ timeMetric
59
39
  });
60
- function enableComponentInspector() {
61
- window.__VUE_INSPECTOR__?.enable();
62
- isInspecting.value = true;
63
- }
64
- function disableComponentInspector() {
65
- if (!window.__VUE_INSPECTOR__?.enabled)
66
- return;
67
- window.__VUE_INSPECTOR__?.disable();
68
- client?.hooks.callHook("host:inspector:close");
69
- isInspecting.value = false;
70
- }
71
- function getInspectorInstance() {
72
- const componentInspector = window.__VUE_INSPECTOR__;
73
- if (componentInspector) {
74
- componentInspector.openInEditor = async (baseUrl, file, line, column) => {
75
- disableComponentInspector();
76
- await client.hooks.callHook("host:inspector:click", baseUrl, file, line, column);
77
- };
78
- componentInspector.onUpdated = () => {
79
- client.hooks.callHook("host:inspector:update", {
80
- ...componentInspector.linkParams,
81
- ...componentInspector.position
82
- });
83
- };
84
- }
85
- return markRaw({
86
- isEnabled: isInspecting,
87
- enable: enableComponentInspector,
88
- disable: disableComponentInspector,
89
- toggle: () => {
90
- if (window.__VUE_INSPECTOR__?.enabled)
91
- disableComponentInspector();
92
- else
93
- enableComponentInspector();
94
- },
95
- instance: componentInspector
96
- });
97
- }
98
- const holder = document.createElement("div");
99
- holder.id = "nuxt-devtools-container";
100
- holder.setAttribute("data-v-inspector-ignore", "true");
101
- document.body.appendChild(holder);
102
- addEventListener("keydown", (e) => {
103
- if (e.code === "KeyD" && e.altKey && e.shiftKey)
104
- togglePanel();
105
- });
106
- const app = createApp({
107
- render: () => h(Main, { client }),
108
- devtools: {
109
- hide: true
110
- }
111
- });
112
- app.mount(holder);
113
- }
114
- setTimeout(init, 1);
40
+ });
115
41
  });
@@ -1,23 +1,45 @@
1
1
  <script setup lang="ts">
2
- import type { VueInspectorClient } from 'vite-plugin-vue-inspector'
3
- import { computed, ref } from 'vue'
4
- import type { NuxtDevtoolsHostClient, NuxtDevtoolsIframeClient, NuxtDevtoolsGlobal as NuxtDevtoolsViewGlobal } from '../../../types'
5
- import { PANEL_MAX, PANEL_MIN, isInitialized, state } from './state'
2
+ import { ref, watchEffect } from 'vue'
3
+ import type { NuxtDevtoolsHostClient } from '../../../types'
4
+ import { PANEL_MAX, PANEL_MIN, popupWindow, state } from './state'
6
5
  import { useEventListener } from './utils'
7
- import Frame from './Frame.vue'
8
6
 
9
7
  const props = defineProps<{
10
8
  client: NuxtDevtoolsHostClient
11
9
  }>()
12
10
 
13
- const frame = ref<InstanceType<typeof Frame>>()
14
- const frameEl = computed(() => frame.value?.$el as HTMLElement | undefined)
11
+ const container = ref<HTMLElement>()
15
12
  const isDragging = ref<false | { top?: boolean; left?: boolean; right?: boolean; bottom?: boolean }>(false)
16
13
 
14
+ watchEffect(() => {
15
+ if (!container.value)
16
+ return
17
+
18
+ if (state.value.open) {
19
+ const iframe = props.client.getIframe()
20
+ iframe.style.pointerEvents = isDragging.value ? 'none' : 'auto'
21
+
22
+ if (!popupWindow.value) {
23
+ if (Array.from(container.value.children).every(el => el !== iframe))
24
+ container.value.appendChild(iframe)
25
+ }
26
+ }
27
+ })
28
+
29
+ useEventListener(window, 'keydown', (e: KeyboardEvent) => {
30
+ if (e.key === 'Escape' && props.client.inspector?.isEnabled.value) {
31
+ e.preventDefault()
32
+ props.client.inspector?.disable()
33
+ props.client.close()
34
+ }
35
+ })
36
+
17
37
  // Close panel on outside click (when enabled)
18
38
  useEventListener(window, 'mousedown', (e: MouseEvent) => {
19
39
  if (!state.value.closeOnOutsideClick)
20
40
  return
41
+ if (popupWindow.value)
42
+ return
21
43
  if (!state.value.open || isDragging.value || props.client.inspector?.isEnabled.value)
22
44
  return
23
45
 
@@ -34,8 +56,11 @@ useEventListener(window, 'mousedown', (e: MouseEvent) => {
34
56
  useEventListener(window, 'mousemove', (e: MouseEvent) => {
35
57
  if (!isDragging.value)
36
58
  return
59
+ if (!state.value.open)
60
+ return
37
61
 
38
- const box = frameEl.value?.getBoundingClientRect()
62
+ const iframe = props.client.getIframe()
63
+ const box = iframe.getBoundingClientRect()
39
64
 
40
65
  if (isDragging.value.right) {
41
66
  const widthPx = Math.abs(e.clientX - (box?.left || 0))
@@ -69,51 +94,57 @@ useEventListener(window, 'mouseleave', () => {
69
94
  })
70
95
  </script>
71
96
 
72
- <script lang="ts">
73
- declare global {
74
- interface Window {
75
- __NUXT_DEVTOOLS_VIEW__?: NuxtDevtoolsViewGlobal
76
- __NUXT_DEVTOOLS__?: NuxtDevtoolsIframeClient
77
- __VUE_INSPECTOR__?: VueInspectorClient
78
- }
79
- }
80
- </script>
81
-
82
97
  <template>
83
- <div v-show="state.open && !client.inspector?.isEnabled.value" class="nuxt-devtools-frame">
84
- <Frame
85
- v-if="isInitialized"
86
- ref="frame"
87
- :client="client"
88
- :style="{
89
- pointerEvents: isDragging ? 'none' : undefined,
90
- }"
91
- />
98
+ <div
99
+ v-show="state.open && !client.inspector?.isEnabled.value && !popupWindow"
100
+ ref="container"
101
+ class="nuxt-devtools-frame"
102
+ >
92
103
  <!-- Handlers -->
93
- <div v-if="state.position !== 'top'" class="nuxt-devtools-resize-handle nuxt-devtools-resize-handle-horizontal" :style="{ top: 0 }" @mousedown.prevent="() => isDragging = { top: true }" />
94
- <div v-if="state.position !== 'bottom'" class="nuxt-devtools-resize-handle nuxt-devtools-resize-handle-horizontal" :style="{ bottom: 0 }" @mousedown.prevent="() => isDragging = { bottom: true }" />
95
- <div v-if="state.position !== 'left'" class="nuxt-devtools-resize-handle nuxt-devtools-resize-handle-vertical" :style="{ left: 0 }" @mousedown.prevent="() => isDragging = { left: true }" />
96
- <div v-if="state.position !== 'right'" class="nuxt-devtools-resize-handle nuxt-devtools-resize-handle-vertical" :style="{ right: 0 }" @mousedown.prevent="() => isDragging = { right: true }" />
97
104
  <div
98
- v-if="state.position !== 'top' && state.position !== 'left'"
105
+ v-show="state.position !== 'top'"
106
+ class="nuxt-devtools-resize-handle nuxt-devtools-resize-handle-horizontal"
107
+ :style="{ top: 0 }"
108
+ @mousedown.prevent="() => isDragging = { top: true }"
109
+ />
110
+ <div
111
+ v-show="state.position !== 'bottom'"
112
+ class="nuxt-devtools-resize-handle nuxt-devtools-resize-handle-horizontal"
113
+ :style="{ bottom: 0 }"
114
+ @mousedown.prevent="() => isDragging = { bottom: true }"
115
+ />
116
+ <div
117
+ v-show="state.position !== 'left'"
118
+ class="nuxt-devtools-resize-handle nuxt-devtools-resize-handle-vertical"
119
+ :style="{ left: 0 }"
120
+ @mousedown.prevent="() => isDragging = { left: true }"
121
+ />
122
+ <div
123
+ v-show="state.position !== 'right'"
124
+ class="nuxt-devtools-resize-handle nuxt-devtools-resize-handle-vertical"
125
+ :style="{ right: 0 }"
126
+ @mousedown.prevent="() => isDragging = { right: true }"
127
+ />
128
+ <div
129
+ v-show="state.position !== 'top' && state.position !== 'left'"
99
130
  class="nuxt-devtools-resize-handle nuxt-devtools-resize-handle-corner"
100
131
  :style="{ top: 0, left: 0, cursor: 'nwse-resize' }"
101
132
  @mousedown.prevent="() => isDragging = { top: true, left: true }"
102
133
  />
103
134
  <div
104
- v-if="state.position !== 'top' && state.position !== 'right'"
135
+ v-show="state.position !== 'top' && state.position !== 'right'"
105
136
  class="nuxt-devtools-resize-handle nuxt-devtools-resize-handle-corner"
106
137
  :style="{ top: 0, right: 0, cursor: 'nesw-resize' }"
107
138
  @mousedown.prevent="() => isDragging = { top: true, right: true }"
108
139
  />
109
140
  <div
110
- v-if="state.position !== 'bottom' && state.position !== 'left'"
141
+ v-show="state.position !== 'bottom' && state.position !== 'left'"
111
142
  class="nuxt-devtools-resize-handle nuxt-devtools-resize-handle-corner"
112
143
  :style="{ bottom: 0, left: 0, cursor: 'nesw-resize' }"
113
144
  @mousedown.prevent="() => isDragging = { bottom: true, left: true }"
114
145
  />
115
146
  <div
116
- v-if="state.position !== 'bottom' && state.position !== 'right'"
147
+ v-show="state.position !== 'bottom' && state.position !== 'right'"
117
148
  class="nuxt-devtools-resize-handle nuxt-devtools-resize-handle-corner"
118
149
  :style="{ bottom: 0, right: 0, cursor: 'nwse-resize' }"
119
150
  @mousedown.prevent="() => isDragging = { bottom: true, right: true }"
@@ -2,7 +2,7 @@
2
2
  import type { CSSProperties } from 'vue'
3
3
  import { computed, onMounted, reactive, ref } from 'vue'
4
4
  import type { NuxtDevtoolsHostClient } from '../../../types'
5
- import { state, togglePanel } from './state'
5
+ import { state } from './state'
6
6
  import { millisecondToHumanreadable, useEventListener } from './utils'
7
7
  import FrameBox from './FrameBox.vue'
8
8
 
@@ -223,7 +223,12 @@ const time = computed(() => {
223
223
  >
224
224
  <div class="nuxt-devtools-glowing" :style="isDragging ? 'opacity: 0.6 !important' : ''" />
225
225
  <div ref="panelEl" class="nuxt-devtools-panel" @pointerdown="onPointerDown">
226
- <button class="nuxt-devtools-icon-button nuxt-devtools-nuxt-button" title="Toggle Nuxt DevTools" @click="togglePanel">
226
+ <button
227
+ class="nuxt-devtools-icon-button nuxt-devtools-nuxt-button"
228
+ title="Toggle Nuxt DevTools"
229
+ :style="state.open ? '' : 'filter:saturate(0)'"
230
+ @click="client.toggle()"
231
+ >
227
232
  <svg
228
233
  viewBox="0 0 324 324" fill="none" xmlns="http://www.w3.org/2000/svg"
229
234
  style="margin-top:-1px; height: 1.2em; width: 1.2em;"
@@ -265,6 +270,18 @@ const time = computed(() => {
265
270
  position: fixed;
266
271
  transform-origin: center center;
267
272
  transform: translate(-50%, -50%) rotate(0);
273
+ font-family: Arial, Helvetica, sans-serif;
274
+ font-size: 15px !important;
275
+ }
276
+
277
+ #nuxt-devtools-anchor button {
278
+ border: none;
279
+ background: none;
280
+ padding: 0;
281
+ margin: 0;
282
+ cursor: pointer;
283
+ outline: none;
284
+ color: inherit;
268
285
  }
269
286
 
270
287
  #nuxt-devtools-anchor .nuxt-devtools-label {
@@ -308,7 +325,7 @@ const time = computed(() => {
308
325
  align-items: center;
309
326
  gap: 2px;
310
327
  height: 30px;
311
- padding: 2px 2px 2px 4px;
328
+ padding: 2px 2px 2px 2.5px;
312
329
  border: 1px solid var(--nuxt-devtools-widget-border);
313
330
  border-radius: 100px;
314
331
  background-color: var(--nuxt-devtools-widget-bg);
@@ -326,6 +343,7 @@ const time = computed(() => {
326
343
 
327
344
  #nuxt-devtools-anchor .nuxt-devtools-icon-button {
328
345
  border-radius: 100%;
346
+ border-width: 0;
329
347
  width: 30px;
330
348
  height: 30px;
331
349
  display: flex;
@@ -1,3 +1,11 @@
1
1
  import type { Ref } from 'vue';
2
+ import type { NuxtDevtoolsHostClient } from '../../../types';
3
+ declare const clientRef: import("vue").ShallowRef<NuxtDevtoolsHostClient | undefined>;
4
+ export { clientRef as client };
2
5
  export type ColorScheme = 'dark' | 'light';
6
+ export declare function setupDevToolsClient({ nuxt, clientHooks, timeMetric, }: {
7
+ nuxt: any;
8
+ clientHooks: any;
9
+ timeMetric: any;
10
+ }): Promise<void>;
3
11
  export declare function useClientColorMode(): Ref<ColorScheme>;