@nuxt/devtools 0.6.2 → 0.6.4

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 (143) hide show
  1. package/README.md +2 -4
  2. package/dist/chunks/module-main.mjs +32 -137
  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.fa96c108.js +1 -0
  7. package/dist/client/_nuxt/Badge.6957c09f.js +1 -0
  8. package/dist/client/_nuxt/CodeSnippets.vue.c709c5db.js +1 -0
  9. package/dist/client/_nuxt/DrawerRight.vue.1af2d3b5.js +1 -0
  10. package/dist/client/_nuxt/DurationDisplay.vue.5ef8c229.js +1 -0
  11. package/dist/client/_nuxt/FilepathItem.vue.b9c2f241.js +1 -0
  12. package/dist/client/_nuxt/HelpFab.vue.517eb06f.js +1 -0
  13. package/dist/client/_nuxt/{LaunchPage.vue.b85270dd.js → LaunchPage.vue.f67f57a2.js} +1 -1
  14. package/dist/client/_nuxt/NCheckbox.vue.1647e69d.js +1 -0
  15. package/dist/client/_nuxt/{NCodeBlock.vue.de2cd5a6.js → NCodeBlock.vue.09bc830f.js} +1 -1
  16. package/dist/client/_nuxt/NIconButton.vue.ac0edffe.js +1 -0
  17. package/dist/client/_nuxt/NIconTitle.vue.c43a6ad4.js +1 -0
  18. package/dist/client/_nuxt/NLink.vue.cd078056.js +1 -0
  19. package/dist/client/_nuxt/NMarkdown.vue.7e390ca1.js +1 -0
  20. package/dist/client/_nuxt/{NPanelGrids.fc7166ff.js → NPanelGrids.017932a3.js} +1 -1
  21. package/dist/client/_nuxt/NSectionBlock.82d7dd64.js +1 -0
  22. package/dist/client/_nuxt/NSelect.vue.bf162e70.js +1 -0
  23. package/dist/client/_nuxt/NSwitch.vue.27d90ab4.js +1 -0
  24. package/dist/client/_nuxt/NTip.vue.b3e13fa6.js +1 -0
  25. package/dist/client/_nuxt/Navbar.vue.73274a4d.js +1 -0
  26. package/dist/client/_nuxt/PanelLeftRight.vue.747d389a.js +1 -0
  27. package/dist/client/_nuxt/StateEditor.vue.e676b88f.js +1 -0
  28. package/dist/client/_nuxt/__blank.a90b7fd4.js +1 -0
  29. package/dist/client/_nuxt/analyze-build.3e750a33.js +1 -0
  30. package/dist/client/_nuxt/{assets.cea82447.js → assets.a88c9236.js} +3 -3
  31. package/dist/client/_nuxt/{client.aa60153e.js → client.0c1ac957.js} +1 -1
  32. package/dist/client/_nuxt/{components.67be79c1.js → components.55400a43.js} +27 -27
  33. package/dist/client/_nuxt/custom-_name_.00651de5.js +1 -0
  34. package/dist/client/_nuxt/default.c2fcd4ff.js +1 -0
  35. package/dist/client/_nuxt/entry.51f9b393.js +21 -0
  36. package/dist/client/_nuxt/entry.eeaf510e.css +1 -0
  37. package/dist/client/_nuxt/error-404.1de0812a.js +1 -0
  38. package/dist/client/_nuxt/error-404.91003ceb.css +1 -0
  39. package/dist/client/_nuxt/error-500.33274ff0.js +1 -0
  40. package/dist/client/_nuxt/error-500.7e02f53c.css +1 -0
  41. package/dist/client/_nuxt/full.cc6d1947.js +1 -0
  42. package/dist/client/_nuxt/hooks.2e0543da.js +1 -0
  43. package/dist/client/_nuxt/imports.93e9a9ad.js +1 -0
  44. package/dist/client/_nuxt/index.7921977f.js +1 -0
  45. package/dist/client/_nuxt/{index.31423b81.js → index.e3bac72d.js} +1 -1
  46. package/dist/client/_nuxt/{json-editor-vue.0e484aeb.js → json-editor-vue.63210eab.js} +1 -1
  47. package/dist/client/_nuxt/middleware.22e645cd.js +1 -0
  48. package/dist/client/_nuxt/{modules.b435656d.js → modules.0d588e7f.js} +3 -3
  49. package/dist/client/_nuxt/{none.548277ee.js → none.d965e114.js} +1 -1
  50. package/dist/client/_nuxt/open-graph.015a8911.js +3 -0
  51. package/dist/client/_nuxt/overview.87a2d84e.js +1 -0
  52. package/dist/client/_nuxt/pages.22e71687.js +1 -0
  53. package/dist/client/_nuxt/payload.e7e17f38.js +1 -0
  54. package/dist/client/_nuxt/plugins.c012cd51.js +1 -0
  55. package/dist/client/_nuxt/{runtime-configs.c19cf62e.js → runtime-configs.dcd39c80.js} +1 -1
  56. package/dist/client/_nuxt/server-routes.b7bff39c.js +9 -0
  57. package/dist/client/_nuxt/{settings.223347c0.js → settings.8cd632fb.js} +1 -1
  58. package/dist/client/_nuxt/{state-components.7a725a3e.js → state-components.2e9cbedc.js} +1 -1
  59. package/dist/client/_nuxt/state-modules.c1d4a518.js +1 -0
  60. package/dist/client/_nuxt/storage.2e3e1567.js +1 -0
  61. package/dist/client/_nuxt/{terminals.838c617b.js → terminals.5d5e540d.js} +2 -2
  62. package/dist/client/_nuxt/{unocss-runtime.8cb4743c.js → unocss-runtime.9b1d4e8a.js} +1 -1
  63. package/dist/client/_nuxt/virtual-files.e4f10f72.js +1 -0
  64. package/dist/client/index.html +2 -2
  65. package/dist/client/modules/analyze-build/index.html +2 -2
  66. package/dist/client/modules/assets/index.html +2 -2
  67. package/dist/client/modules/components/index.html +2 -2
  68. package/dist/client/modules/hooks/index.html +2 -2
  69. package/dist/client/modules/imports/index.html +2 -2
  70. package/dist/client/modules/middleware/index.html +2 -2
  71. package/dist/client/modules/modules/index.html +2 -2
  72. package/dist/client/modules/open-graph/index.html +2 -2
  73. package/dist/client/modules/overview/index.html +2 -2
  74. package/dist/client/modules/pages/index.html +2 -2
  75. package/dist/client/modules/payload/index.html +2 -2
  76. package/dist/client/modules/plugins/index.html +2 -2
  77. package/dist/client/modules/runtime-configs/index.html +2 -2
  78. package/dist/client/modules/server-routes/index.html +2 -2
  79. package/dist/client/modules/storage/index.html +2 -2
  80. package/dist/client/modules/terminals/index.html +2 -2
  81. package/dist/client/modules/virtual-files/index.html +2 -2
  82. package/dist/client/settings/index.html +2 -2
  83. package/dist/global-20ccb74c.d.ts +52 -0
  84. package/dist/module.d.ts +2 -0
  85. package/dist/module.json +1 -1
  86. package/dist/runtime/plugins/devtools.client.d.ts +0 -8
  87. package/dist/runtime/plugins/devtools.client.mjs +10 -84
  88. package/dist/runtime/plugins/view/FrameBox.vue +80 -48
  89. package/dist/runtime/plugins/view/Main.vue +82 -28
  90. package/dist/runtime/plugins/view/client.d.ts +8 -0
  91. package/dist/runtime/plugins/view/client.mjs +209 -1
  92. package/dist/runtime/plugins/view/state.d.ts +1 -4
  93. package/dist/runtime/plugins/view/state.mjs +2 -20
  94. package/dist/runtime/plugins/view/utils.d.ts +12 -0
  95. package/dist/runtime/plugins/view/utils.mjs +32 -0
  96. package/dist/types.d.ts +2 -0
  97. package/package.json +18 -18
  98. package/dist/client/_nuxt/AuthRequiredPanel.vue.4f66b5dd.js +0 -1
  99. package/dist/client/_nuxt/Badge.2cc4687e.js +0 -1
  100. package/dist/client/_nuxt/CodeSnippets.vue.1e158b8f.js +0 -1
  101. package/dist/client/_nuxt/DrawerRight.vue.d80827fd.js +0 -1
  102. package/dist/client/_nuxt/DurationDisplay.vue.a48b74dd.js +0 -1
  103. package/dist/client/_nuxt/FilepathItem.vue.df9b46ef.js +0 -1
  104. package/dist/client/_nuxt/HelpFab.vue.49173e4b.js +0 -1
  105. package/dist/client/_nuxt/NCheckbox.vue.df53e265.js +0 -1
  106. package/dist/client/_nuxt/NIconButton.vue.e211c1b6.js +0 -1
  107. package/dist/client/_nuxt/NIconTitle.vue.4e3340eb.js +0 -1
  108. package/dist/client/_nuxt/NLink.vue.53529111.js +0 -1
  109. package/dist/client/_nuxt/NMarkdown.vue.26c114a8.js +0 -1
  110. package/dist/client/_nuxt/NSectionBlock.0eaaa956.js +0 -1
  111. package/dist/client/_nuxt/NSelect.vue.94ec8f3c.js +0 -1
  112. package/dist/client/_nuxt/NSwitch.vue.7f4e43b3.js +0 -1
  113. package/dist/client/_nuxt/NTip.vue.c99855ad.js +0 -1
  114. package/dist/client/_nuxt/Navbar.vue.a50c38bf.js +0 -1
  115. package/dist/client/_nuxt/NpmVersionCheck.vue.029b0cde.js +0 -1
  116. package/dist/client/_nuxt/PanelLeftRight.vue.1e85c7f2.js +0 -1
  117. package/dist/client/_nuxt/StateEditor.vue.4e5aa888.js +0 -1
  118. package/dist/client/_nuxt/__blank.8e143dfc.js +0 -1
  119. package/dist/client/_nuxt/analyze-build.d94a4835.js +0 -1
  120. package/dist/client/_nuxt/custom-_name_.ed0df2f5.js +0 -1
  121. package/dist/client/_nuxt/default.29185309.js +0 -1
  122. package/dist/client/_nuxt/editor.24e006dd.js +0 -1
  123. package/dist/client/_nuxt/entry.ea777320.css +0 -1
  124. package/dist/client/_nuxt/entry.f3de3eb8.js +0 -19
  125. package/dist/client/_nuxt/error-404.09e25f4a.js +0 -1
  126. package/dist/client/_nuxt/error-404.2618a69f.css +0 -1
  127. package/dist/client/_nuxt/error-500.0bde1cc6.js +0 -1
  128. package/dist/client/_nuxt/error-500.12a2683b.css +0 -1
  129. package/dist/client/_nuxt/error-component.753dcd89.js +0 -3
  130. package/dist/client/_nuxt/full.e7e50a56.js +0 -1
  131. package/dist/client/_nuxt/hooks.c5f385b4.js +0 -1
  132. package/dist/client/_nuxt/imports.ab8bf33a.js +0 -1
  133. package/dist/client/_nuxt/index.686c37b5.js +0 -1
  134. package/dist/client/_nuxt/middleware.08e999fd.js +0 -1
  135. package/dist/client/_nuxt/open-graph.a806949f.js +0 -3
  136. package/dist/client/_nuxt/overview.08fa2255.js +0 -1
  137. package/dist/client/_nuxt/pages.9797a06b.js +0 -1
  138. package/dist/client/_nuxt/payload.f6049d4c.js +0 -1
  139. package/dist/client/_nuxt/plugins.7ff70558.js +0 -1
  140. package/dist/client/_nuxt/server-routes.34b80486.js +0 -9
  141. package/dist/client/_nuxt/storage.446005cc.js +0 -1
  142. package/dist/client/_nuxt/virtual-files.0f8a6122.js +0 -1
  143. 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.f3de3eb8.js"><link rel="preload" as="style" href="/__nuxt_devtools__/client/_nuxt/entry.ea777320.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/index.31423b81.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/default.29185309.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/full.e7e50a56.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/none.548277ee.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.8cb4743c.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/error-component.753dcd89.js"><link rel="stylesheet" href="/__nuxt_devtools__/client/_nuxt/entry.ea777320.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.51f9b393.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.e3bac72d.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/default.c2fcd4ff.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/full.cc6d1947.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/none.d965e114.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.9b1d4e8a.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.1de0812a.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.33274ff0.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.f3de3eb8.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.51f9b393.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.f3de3eb8.js"><link rel="preload" as="style" href="/__nuxt_devtools__/client/_nuxt/entry.ea777320.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/index.31423b81.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/default.29185309.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/full.e7e50a56.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/none.548277ee.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.8cb4743c.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/error-component.753dcd89.js"><link rel="stylesheet" href="/__nuxt_devtools__/client/_nuxt/entry.ea777320.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.51f9b393.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.e3bac72d.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/default.c2fcd4ff.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/full.cc6d1947.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/none.d965e114.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.9b1d4e8a.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.1de0812a.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.33274ff0.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.f3de3eb8.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.51f9b393.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.f3de3eb8.js"><link rel="preload" as="style" href="/__nuxt_devtools__/client/_nuxt/entry.ea777320.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/index.31423b81.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/default.29185309.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/full.e7e50a56.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/none.548277ee.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.8cb4743c.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/error-component.753dcd89.js"><link rel="stylesheet" href="/__nuxt_devtools__/client/_nuxt/entry.ea777320.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.51f9b393.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.e3bac72d.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/default.c2fcd4ff.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/full.cc6d1947.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/none.d965e114.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.9b1d4e8a.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.1de0812a.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.33274ff0.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.f3de3eb8.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.51f9b393.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.f3de3eb8.js"><link rel="preload" as="style" href="/__nuxt_devtools__/client/_nuxt/entry.ea777320.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/index.31423b81.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/default.29185309.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/full.e7e50a56.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/none.548277ee.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.8cb4743c.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/error-component.753dcd89.js"><link rel="stylesheet" href="/__nuxt_devtools__/client/_nuxt/entry.ea777320.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.51f9b393.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.e3bac72d.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/default.c2fcd4ff.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/full.cc6d1947.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/none.d965e114.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.9b1d4e8a.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.1de0812a.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.33274ff0.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.f3de3eb8.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.51f9b393.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.f3de3eb8.js"><link rel="preload" as="style" href="/__nuxt_devtools__/client/_nuxt/entry.ea777320.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/index.31423b81.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/default.29185309.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/full.e7e50a56.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/none.548277ee.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.8cb4743c.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/error-component.753dcd89.js"><link rel="stylesheet" href="/__nuxt_devtools__/client/_nuxt/entry.ea777320.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.51f9b393.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.e3bac72d.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/default.c2fcd4ff.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/full.cc6d1947.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/none.d965e114.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.9b1d4e8a.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.1de0812a.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.33274ff0.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.f3de3eb8.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.51f9b393.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.f3de3eb8.js"><link rel="preload" as="style" href="/__nuxt_devtools__/client/_nuxt/entry.ea777320.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/index.31423b81.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/default.29185309.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/full.e7e50a56.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/none.548277ee.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.8cb4743c.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/error-component.753dcd89.js"><link rel="stylesheet" href="/__nuxt_devtools__/client/_nuxt/entry.ea777320.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.51f9b393.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.e3bac72d.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/default.c2fcd4ff.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/full.cc6d1947.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/none.d965e114.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.9b1d4e8a.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.1de0812a.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.33274ff0.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.f3de3eb8.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.51f9b393.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.2"
4
+ "version": "0.6.4"
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,24 +1,47 @@
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
9
+ isDragging: boolean
11
10
  }>()
12
11
 
13
- const frame = ref<InstanceType<typeof Frame>>()
14
- const frameEl = computed(() => frame.value?.$el as HTMLElement | undefined)
15
- const isDragging = ref<false | { top?: boolean; left?: boolean; right?: boolean; bottom?: boolean }>(false)
12
+ const container = ref<HTMLElement>()
13
+ const isResizing = ref<false | { top?: boolean; left?: boolean; right?: boolean; bottom?: boolean }>(false)
14
+
15
+ watchEffect(() => {
16
+ if (!container.value)
17
+ return
18
+
19
+ if (state.value.open) {
20
+ const iframe = props.client.getIframe()
21
+ iframe.style.pointerEvents = isResizing.value || props.isDragging ? 'none' : 'auto'
22
+
23
+ if (!popupWindow.value) {
24
+ if (Array.from(container.value.children).every(el => el !== iframe))
25
+ container.value.appendChild(iframe)
26
+ }
27
+ }
28
+ })
29
+
30
+ useEventListener(window, 'keydown', (e: KeyboardEvent) => {
31
+ if (e.key === 'Escape' && props.client.inspector?.isEnabled.value) {
32
+ e.preventDefault()
33
+ props.client.inspector?.disable()
34
+ props.client.close()
35
+ }
36
+ })
16
37
 
17
38
  // Close panel on outside click (when enabled)
18
39
  useEventListener(window, 'mousedown', (e: MouseEvent) => {
19
40
  if (!state.value.closeOnOutsideClick)
20
41
  return
21
- if (!state.value.open || isDragging.value || props.client.inspector?.isEnabled.value)
42
+ if (popupWindow.value)
43
+ return
44
+ if (!state.value.open || isResizing.value || props.client.inspector?.isEnabled.value)
22
45
  return
23
46
 
24
47
  const matched = e.composedPath().find((_el) => {
@@ -32,28 +55,31 @@ useEventListener(window, 'mousedown', (e: MouseEvent) => {
32
55
  })
33
56
 
34
57
  useEventListener(window, 'mousemove', (e: MouseEvent) => {
35
- if (!isDragging.value)
58
+ if (!isResizing.value)
59
+ return
60
+ if (!state.value.open)
36
61
  return
37
62
 
38
- const box = frameEl.value?.getBoundingClientRect()
63
+ const iframe = props.client.getIframe()
64
+ const box = iframe.getBoundingClientRect()
39
65
 
40
- if (isDragging.value.right) {
66
+ if (isResizing.value.right) {
41
67
  const widthPx = Math.abs(e.clientX - (box?.left || 0))
42
68
  const width = widthPx / window.innerWidth * 100
43
69
  state.value.width = Math.min(PANEL_MAX, Math.max(PANEL_MIN, width))
44
70
  }
45
- else if (isDragging.value.left) {
71
+ else if (isResizing.value.left) {
46
72
  const widthPx = Math.abs((box?.right || 0) - e.clientX)
47
73
  const width = widthPx / window.innerWidth * 100
48
74
  state.value.width = Math.min(PANEL_MAX, Math.max(PANEL_MIN, width))
49
75
  }
50
76
 
51
- if (isDragging.value.top) {
77
+ if (isResizing.value.top) {
52
78
  const heightPx = Math.abs((box?.bottom || 0) - e.clientY)
53
79
  const height = heightPx / window.innerHeight * 100
54
80
  state.value.height = Math.min(PANEL_MAX, Math.max(PANEL_MIN, height))
55
81
  }
56
- else if (isDragging.value.bottom) {
82
+ else if (isResizing.value.bottom) {
57
83
  const heightPx = Math.abs(e.clientY - (box?.top || 0))
58
84
  const height = heightPx / window.innerHeight * 100
59
85
  state.value.height = Math.min(PANEL_MAX, Math.max(PANEL_MIN, height))
@@ -61,62 +87,68 @@ useEventListener(window, 'mousemove', (e: MouseEvent) => {
61
87
  })
62
88
 
63
89
  useEventListener(window, 'mouseup', () => {
64
- isDragging.value = false
90
+ isResizing.value = false
65
91
  })
66
92
 
67
93
  useEventListener(window, 'mouseleave', () => {
68
- isDragging.value = false
94
+ isResizing.value = false
69
95
  })
70
96
  </script>
71
97
 
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
98
  <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
- />
99
+ <div
100
+ v-show="state.open && !client.inspector?.isEnabled.value && !popupWindow"
101
+ ref="container"
102
+ class="nuxt-devtools-frame"
103
+ >
92
104
  <!-- 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
105
  <div
98
- v-if="state.position !== 'top' && state.position !== 'left'"
106
+ v-show="state.position !== 'top'"
107
+ class="nuxt-devtools-resize-handle nuxt-devtools-resize-handle-horizontal"
108
+ :style="{ top: 0 }"
109
+ @mousedown.prevent="() => isResizing = { top: true }"
110
+ />
111
+ <div
112
+ v-show="state.position !== 'bottom'"
113
+ class="nuxt-devtools-resize-handle nuxt-devtools-resize-handle-horizontal"
114
+ :style="{ bottom: 0 }"
115
+ @mousedown.prevent="() => isResizing = { bottom: true }"
116
+ />
117
+ <div
118
+ v-show="state.position !== 'left'"
119
+ class="nuxt-devtools-resize-handle nuxt-devtools-resize-handle-vertical"
120
+ :style="{ left: 0 }"
121
+ @mousedown.prevent="() => isResizing = { left: true }"
122
+ />
123
+ <div
124
+ v-show="state.position !== 'right'"
125
+ class="nuxt-devtools-resize-handle nuxt-devtools-resize-handle-vertical"
126
+ :style="{ right: 0 }"
127
+ @mousedown.prevent="() => isResizing = { right: true }"
128
+ />
129
+ <div
130
+ v-show="state.position !== 'top' && state.position !== 'left'"
99
131
  class="nuxt-devtools-resize-handle nuxt-devtools-resize-handle-corner"
100
132
  :style="{ top: 0, left: 0, cursor: 'nwse-resize' }"
101
- @mousedown.prevent="() => isDragging = { top: true, left: true }"
133
+ @mousedown.prevent="() => isResizing = { top: true, left: true }"
102
134
  />
103
135
  <div
104
- v-if="state.position !== 'top' && state.position !== 'right'"
136
+ v-show="state.position !== 'top' && state.position !== 'right'"
105
137
  class="nuxt-devtools-resize-handle nuxt-devtools-resize-handle-corner"
106
138
  :style="{ top: 0, right: 0, cursor: 'nesw-resize' }"
107
- @mousedown.prevent="() => isDragging = { top: true, right: true }"
139
+ @mousedown.prevent="() => isResizing = { top: true, right: true }"
108
140
  />
109
141
  <div
110
- v-if="state.position !== 'bottom' && state.position !== 'left'"
142
+ v-show="state.position !== 'bottom' && state.position !== 'left'"
111
143
  class="nuxt-devtools-resize-handle nuxt-devtools-resize-handle-corner"
112
144
  :style="{ bottom: 0, left: 0, cursor: 'nesw-resize' }"
113
- @mousedown.prevent="() => isDragging = { bottom: true, left: true }"
145
+ @mousedown.prevent="() => isResizing = { bottom: true, left: true }"
114
146
  />
115
147
  <div
116
- v-if="state.position !== 'bottom' && state.position !== 'right'"
148
+ v-show="state.position !== 'bottom' && state.position !== 'right'"
117
149
  class="nuxt-devtools-resize-handle nuxt-devtools-resize-handle-corner"
118
150
  :style="{ bottom: 0, right: 0, cursor: 'nwse-resize' }"
119
- @mousedown.prevent="() => isDragging = { bottom: true, right: true }"
151
+ @mousedown.prevent="() => isResizing = { bottom: true, right: true }"
120
152
  />
121
153
  </div>
122
154
  </template>