@nuxt/devtools 0.6.3 → 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 (114) hide show
  1. package/dist/chunks/module-main.mjs +8 -5
  2. package/dist/client/200.html +2 -2
  3. package/dist/client/404.html +2 -2
  4. package/dist/client/__blank/index.html +2 -2
  5. package/dist/client/_nuxt/AuthRequiredPanel.vue.fa96c108.js +1 -0
  6. package/dist/client/_nuxt/Badge.6957c09f.js +1 -0
  7. package/dist/client/_nuxt/CodeSnippets.vue.c709c5db.js +1 -0
  8. package/dist/client/_nuxt/DrawerRight.vue.1af2d3b5.js +1 -0
  9. package/dist/client/_nuxt/{DurationDisplay.vue.c206edd8.js → DurationDisplay.vue.5ef8c229.js} +1 -1
  10. package/dist/client/_nuxt/FilepathItem.vue.b9c2f241.js +1 -0
  11. package/dist/client/_nuxt/HelpFab.vue.517eb06f.js +1 -0
  12. package/dist/client/_nuxt/{LaunchPage.vue.610fcc27.js → LaunchPage.vue.f67f57a2.js} +1 -1
  13. package/dist/client/_nuxt/NCheckbox.vue.1647e69d.js +1 -0
  14. package/dist/client/_nuxt/{NCodeBlock.vue.bdc8bfdc.js → NCodeBlock.vue.09bc830f.js} +1 -1
  15. package/dist/client/_nuxt/NIconButton.vue.ac0edffe.js +1 -0
  16. package/dist/client/_nuxt/NIconTitle.vue.c43a6ad4.js +1 -0
  17. package/dist/client/_nuxt/NLink.vue.cd078056.js +1 -0
  18. package/dist/client/_nuxt/{NMarkdown.vue.3224fbc4.js → NMarkdown.vue.7e390ca1.js} +1 -1
  19. package/dist/client/_nuxt/NPanelGrids.017932a3.js +1 -0
  20. package/dist/client/_nuxt/NSectionBlock.82d7dd64.js +1 -0
  21. package/dist/client/_nuxt/NSelect.vue.bf162e70.js +1 -0
  22. package/dist/client/_nuxt/NSwitch.vue.27d90ab4.js +1 -0
  23. package/dist/client/_nuxt/NTip.vue.b3e13fa6.js +1 -0
  24. package/dist/client/_nuxt/Navbar.vue.73274a4d.js +1 -0
  25. package/dist/client/_nuxt/PanelLeftRight.vue.747d389a.js +1 -0
  26. package/dist/client/_nuxt/StateEditor.vue.e676b88f.js +1 -0
  27. package/dist/client/_nuxt/{__blank.9ffea4ef.js → __blank.a90b7fd4.js} +1 -1
  28. package/dist/client/_nuxt/analyze-build.3e750a33.js +1 -0
  29. package/dist/client/_nuxt/{assets.36239ace.js → assets.a88c9236.js} +3 -3
  30. package/dist/client/_nuxt/{client.495918a8.js → client.0c1ac957.js} +1 -1
  31. package/dist/client/_nuxt/{components.c4c5e473.js → components.55400a43.js} +2 -2
  32. package/dist/client/_nuxt/{custom-_name_.3e45940d.js → custom-_name_.00651de5.js} +1 -1
  33. package/dist/client/_nuxt/default.c2fcd4ff.js +1 -0
  34. package/dist/client/_nuxt/{entry.fbf2c464.js → entry.51f9b393.js} +9 -9
  35. package/dist/client/_nuxt/{error-404.37bdd0cf.js → error-404.1de0812a.js} +1 -1
  36. package/dist/client/_nuxt/{error-500.f09b55ae.js → error-500.33274ff0.js} +1 -1
  37. package/dist/client/_nuxt/full.cc6d1947.js +1 -0
  38. package/dist/client/_nuxt/{hooks.9f8f251f.js → hooks.2e0543da.js} +1 -1
  39. package/dist/client/_nuxt/imports.93e9a9ad.js +1 -0
  40. package/dist/client/_nuxt/{index.b31d0db0.js → index.7921977f.js} +1 -1
  41. package/dist/client/_nuxt/{index.2421127a.js → index.e3bac72d.js} +1 -1
  42. package/dist/client/_nuxt/{json-editor-vue.d5db52dc.js → json-editor-vue.63210eab.js} +1 -1
  43. package/dist/client/_nuxt/{middleware.bc94adc0.js → middleware.22e645cd.js} +1 -1
  44. package/dist/client/_nuxt/{modules.b661d7e8.js → modules.0d588e7f.js} +4 -4
  45. package/dist/client/_nuxt/none.d965e114.js +1 -0
  46. package/dist/client/_nuxt/{open-graph.d11fab80.js → open-graph.015a8911.js} +2 -2
  47. package/dist/client/_nuxt/{overview.82760181.js → overview.87a2d84e.js} +1 -1
  48. package/dist/client/_nuxt/pages.22e71687.js +1 -0
  49. package/dist/client/_nuxt/payload.e7e17f38.js +1 -0
  50. package/dist/client/_nuxt/plugins.c012cd51.js +1 -0
  51. package/dist/client/_nuxt/{runtime-configs.834452b2.js → runtime-configs.dcd39c80.js} +1 -1
  52. package/dist/client/_nuxt/server-routes.b7bff39c.js +9 -0
  53. package/dist/client/_nuxt/{settings.ef38f4f9.js → settings.8cd632fb.js} +1 -1
  54. package/dist/client/_nuxt/{state-components.20943c6b.js → state-components.2e9cbedc.js} +1 -1
  55. package/dist/client/_nuxt/state-modules.c1d4a518.js +1 -0
  56. package/dist/client/_nuxt/storage.2e3e1567.js +1 -0
  57. package/dist/client/_nuxt/{terminals.e4fb811f.js → terminals.5d5e540d.js} +1 -1
  58. package/dist/client/_nuxt/{unocss-runtime.73092d93.js → unocss-runtime.9b1d4e8a.js} +1 -1
  59. package/dist/client/_nuxt/{virtual-files.071a4a48.js → virtual-files.e4f10f72.js} +1 -1
  60. package/dist/client/index.html +2 -2
  61. package/dist/client/modules/analyze-build/index.html +2 -2
  62. package/dist/client/modules/assets/index.html +2 -2
  63. package/dist/client/modules/components/index.html +2 -2
  64. package/dist/client/modules/hooks/index.html +2 -2
  65. package/dist/client/modules/imports/index.html +2 -2
  66. package/dist/client/modules/middleware/index.html +2 -2
  67. package/dist/client/modules/modules/index.html +2 -2
  68. package/dist/client/modules/open-graph/index.html +2 -2
  69. package/dist/client/modules/overview/index.html +2 -2
  70. package/dist/client/modules/pages/index.html +2 -2
  71. package/dist/client/modules/payload/index.html +2 -2
  72. package/dist/client/modules/plugins/index.html +2 -2
  73. package/dist/client/modules/runtime-configs/index.html +2 -2
  74. package/dist/client/modules/server-routes/index.html +2 -2
  75. package/dist/client/modules/storage/index.html +2 -2
  76. package/dist/client/modules/terminals/index.html +2 -2
  77. package/dist/client/modules/virtual-files/index.html +2 -2
  78. package/dist/client/settings/index.html +2 -2
  79. package/dist/module.json +1 -1
  80. package/dist/runtime/plugins/view/FrameBox.vue +19 -18
  81. package/dist/runtime/plugins/view/Main.vue +63 -26
  82. package/dist/runtime/plugins/view/utils.d.ts +12 -0
  83. package/dist/runtime/plugins/view/utils.mjs +32 -0
  84. package/package.json +13 -13
  85. package/dist/client/_nuxt/AuthRequiredPanel.vue.e75f9e70.js +0 -1
  86. package/dist/client/_nuxt/Badge.d9d2b649.js +0 -1
  87. package/dist/client/_nuxt/CodeSnippets.vue.b63711e4.js +0 -1
  88. package/dist/client/_nuxt/DrawerRight.vue.e21669fa.js +0 -1
  89. package/dist/client/_nuxt/FilepathItem.vue.a47beb58.js +0 -1
  90. package/dist/client/_nuxt/HelpFab.vue.e5d23c98.js +0 -1
  91. package/dist/client/_nuxt/NCheckbox.vue.f4134b6b.js +0 -1
  92. package/dist/client/_nuxt/NIconButton.vue.24522062.js +0 -1
  93. package/dist/client/_nuxt/NIconTitle.vue.dc58a435.js +0 -1
  94. package/dist/client/_nuxt/NLink.vue.393c859e.js +0 -1
  95. package/dist/client/_nuxt/NPanelGrids.eec702e8.js +0 -1
  96. package/dist/client/_nuxt/NSectionBlock.8c2cc0df.js +0 -1
  97. package/dist/client/_nuxt/NSelect.vue.8ff29308.js +0 -1
  98. package/dist/client/_nuxt/NSwitch.vue.840840dc.js +0 -1
  99. package/dist/client/_nuxt/NTip.vue.79345a6a.js +0 -1
  100. package/dist/client/_nuxt/Navbar.vue.82295224.js +0 -1
  101. package/dist/client/_nuxt/PanelLeftRight.vue.5871de72.js +0 -1
  102. package/dist/client/_nuxt/StateEditor.vue.d48421f9.js +0 -1
  103. package/dist/client/_nuxt/analyze-build.67bd8db6.js +0 -1
  104. package/dist/client/_nuxt/default.0d72ce4e.js +0 -1
  105. package/dist/client/_nuxt/editor.a4d83539.js +0 -1
  106. package/dist/client/_nuxt/full.7e6e1e52.js +0 -1
  107. package/dist/client/_nuxt/imports.55b5830a.js +0 -1
  108. package/dist/client/_nuxt/none.3d1d9cce.js +0 -1
  109. package/dist/client/_nuxt/pages.fbb1f607.js +0 -1
  110. package/dist/client/_nuxt/payload.5e745a21.js +0 -1
  111. package/dist/client/_nuxt/plugins.736cbd71.js +0 -1
  112. package/dist/client/_nuxt/server-routes.20327313.js +0 -9
  113. package/dist/client/_nuxt/state-modules.7230fab3.js +0 -1
  114. package/dist/client/_nuxt/storage.40229c6e.js +0 -1
@@ -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.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"}})();
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"><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/payload",{},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>
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/payload",{},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.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"}})();
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"><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>
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.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.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"}})();
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"><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>
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.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"}})();
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"><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>
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.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"}})();
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"><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>
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.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"}})();
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"><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>
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.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"}})();
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"><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>
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.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"}})();
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"><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>
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>
package/dist/module.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@nuxt/devtools",
3
3
  "configKey": "devtools",
4
- "version": "0.6.3"
4
+ "version": "0.6.4"
5
5
  }
@@ -6,10 +6,11 @@ import { useEventListener } from './utils'
6
6
 
7
7
  const props = defineProps<{
8
8
  client: NuxtDevtoolsHostClient
9
+ isDragging: boolean
9
10
  }>()
10
11
 
11
12
  const container = ref<HTMLElement>()
12
- const isDragging = ref<false | { top?: boolean; left?: boolean; right?: boolean; bottom?: boolean }>(false)
13
+ const isResizing = ref<false | { top?: boolean; left?: boolean; right?: boolean; bottom?: boolean }>(false)
13
14
 
14
15
  watchEffect(() => {
15
16
  if (!container.value)
@@ -17,7 +18,7 @@ watchEffect(() => {
17
18
 
18
19
  if (state.value.open) {
19
20
  const iframe = props.client.getIframe()
20
- iframe.style.pointerEvents = isDragging.value ? 'none' : 'auto'
21
+ iframe.style.pointerEvents = isResizing.value || props.isDragging ? 'none' : 'auto'
21
22
 
22
23
  if (!popupWindow.value) {
23
24
  if (Array.from(container.value.children).every(el => el !== iframe))
@@ -40,7 +41,7 @@ useEventListener(window, 'mousedown', (e: MouseEvent) => {
40
41
  return
41
42
  if (popupWindow.value)
42
43
  return
43
- if (!state.value.open || isDragging.value || props.client.inspector?.isEnabled.value)
44
+ if (!state.value.open || isResizing.value || props.client.inspector?.isEnabled.value)
44
45
  return
45
46
 
46
47
  const matched = e.composedPath().find((_el) => {
@@ -54,7 +55,7 @@ useEventListener(window, 'mousedown', (e: MouseEvent) => {
54
55
  })
55
56
 
56
57
  useEventListener(window, 'mousemove', (e: MouseEvent) => {
57
- if (!isDragging.value)
58
+ if (!isResizing.value)
58
59
  return
59
60
  if (!state.value.open)
60
61
  return
@@ -62,23 +63,23 @@ useEventListener(window, 'mousemove', (e: MouseEvent) => {
62
63
  const iframe = props.client.getIframe()
63
64
  const box = iframe.getBoundingClientRect()
64
65
 
65
- if (isDragging.value.right) {
66
+ if (isResizing.value.right) {
66
67
  const widthPx = Math.abs(e.clientX - (box?.left || 0))
67
68
  const width = widthPx / window.innerWidth * 100
68
69
  state.value.width = Math.min(PANEL_MAX, Math.max(PANEL_MIN, width))
69
70
  }
70
- else if (isDragging.value.left) {
71
+ else if (isResizing.value.left) {
71
72
  const widthPx = Math.abs((box?.right || 0) - e.clientX)
72
73
  const width = widthPx / window.innerWidth * 100
73
74
  state.value.width = Math.min(PANEL_MAX, Math.max(PANEL_MIN, width))
74
75
  }
75
76
 
76
- if (isDragging.value.top) {
77
+ if (isResizing.value.top) {
77
78
  const heightPx = Math.abs((box?.bottom || 0) - e.clientY)
78
79
  const height = heightPx / window.innerHeight * 100
79
80
  state.value.height = Math.min(PANEL_MAX, Math.max(PANEL_MIN, height))
80
81
  }
81
- else if (isDragging.value.bottom) {
82
+ else if (isResizing.value.bottom) {
82
83
  const heightPx = Math.abs(e.clientY - (box?.top || 0))
83
84
  const height = heightPx / window.innerHeight * 100
84
85
  state.value.height = Math.min(PANEL_MAX, Math.max(PANEL_MIN, height))
@@ -86,11 +87,11 @@ useEventListener(window, 'mousemove', (e: MouseEvent) => {
86
87
  })
87
88
 
88
89
  useEventListener(window, 'mouseup', () => {
89
- isDragging.value = false
90
+ isResizing.value = false
90
91
  })
91
92
 
92
93
  useEventListener(window, 'mouseleave', () => {
93
- isDragging.value = false
94
+ isResizing.value = false
94
95
  })
95
96
  </script>
96
97
 
@@ -105,49 +106,49 @@ useEventListener(window, 'mouseleave', () => {
105
106
  v-show="state.position !== 'top'"
106
107
  class="nuxt-devtools-resize-handle nuxt-devtools-resize-handle-horizontal"
107
108
  :style="{ top: 0 }"
108
- @mousedown.prevent="() => isDragging = { top: true }"
109
+ @mousedown.prevent="() => isResizing = { top: true }"
109
110
  />
110
111
  <div
111
112
  v-show="state.position !== 'bottom'"
112
113
  class="nuxt-devtools-resize-handle nuxt-devtools-resize-handle-horizontal"
113
114
  :style="{ bottom: 0 }"
114
- @mousedown.prevent="() => isDragging = { bottom: true }"
115
+ @mousedown.prevent="() => isResizing = { bottom: true }"
115
116
  />
116
117
  <div
117
118
  v-show="state.position !== 'left'"
118
119
  class="nuxt-devtools-resize-handle nuxt-devtools-resize-handle-vertical"
119
120
  :style="{ left: 0 }"
120
- @mousedown.prevent="() => isDragging = { left: true }"
121
+ @mousedown.prevent="() => isResizing = { left: true }"
121
122
  />
122
123
  <div
123
124
  v-show="state.position !== 'right'"
124
125
  class="nuxt-devtools-resize-handle nuxt-devtools-resize-handle-vertical"
125
126
  :style="{ right: 0 }"
126
- @mousedown.prevent="() => isDragging = { right: true }"
127
+ @mousedown.prevent="() => isResizing = { right: true }"
127
128
  />
128
129
  <div
129
130
  v-show="state.position !== 'top' && state.position !== 'left'"
130
131
  class="nuxt-devtools-resize-handle nuxt-devtools-resize-handle-corner"
131
132
  :style="{ top: 0, left: 0, cursor: 'nwse-resize' }"
132
- @mousedown.prevent="() => isDragging = { top: true, left: true }"
133
+ @mousedown.prevent="() => isResizing = { top: true, left: true }"
133
134
  />
134
135
  <div
135
136
  v-show="state.position !== 'top' && state.position !== 'right'"
136
137
  class="nuxt-devtools-resize-handle nuxt-devtools-resize-handle-corner"
137
138
  :style="{ top: 0, right: 0, cursor: 'nesw-resize' }"
138
- @mousedown.prevent="() => isDragging = { top: true, right: true }"
139
+ @mousedown.prevent="() => isResizing = { top: true, right: true }"
139
140
  />
140
141
  <div
141
142
  v-show="state.position !== 'bottom' && state.position !== 'left'"
142
143
  class="nuxt-devtools-resize-handle nuxt-devtools-resize-handle-corner"
143
144
  :style="{ bottom: 0, left: 0, cursor: 'nesw-resize' }"
144
- @mousedown.prevent="() => isDragging = { bottom: true, left: true }"
145
+ @mousedown.prevent="() => isResizing = { bottom: true, left: true }"
145
146
  />
146
147
  <div
147
148
  v-show="state.position !== 'bottom' && state.position !== 'right'"
148
149
  class="nuxt-devtools-resize-handle nuxt-devtools-resize-handle-corner"
149
150
  :style="{ bottom: 0, right: 0, cursor: 'nwse-resize' }"
150
- @mousedown.prevent="() => isDragging = { bottom: true, right: true }"
151
+ @mousedown.prevent="() => isResizing = { bottom: true, right: true }"
151
152
  />
152
153
  </div>
153
154
  </template>
@@ -1,17 +1,33 @@
1
1
  <script setup lang="ts">
2
2
  import type { CSSProperties } from 'vue'
3
- import { computed, onMounted, reactive, ref } from 'vue'
3
+ import { computed, onMounted, reactive, ref, watchEffect } from 'vue'
4
4
  import type { NuxtDevtoolsHostClient } from '../../../types'
5
5
  import { state } from './state'
6
- import { millisecondToHumanreadable, useEventListener } from './utils'
6
+ import { millisecondToHumanreadable, useEventListener, useScreenSafeArea } from './utils'
7
7
  import FrameBox from './FrameBox.vue'
8
8
 
9
9
  const props = defineProps<{
10
10
  client: NuxtDevtoolsHostClient
11
11
  }>()
12
12
 
13
- const PANEL_MARGIN = 10
14
- const FRAME_MARGIN = 24
13
+ const panelMargins = reactive({
14
+ left: 10,
15
+ top: 10,
16
+ right: 10,
17
+ bottom: 10,
18
+ })
19
+
20
+ const safeArea = useScreenSafeArea()
21
+
22
+ const isSafari = navigator.userAgent.includes('Safari') && !navigator.userAgent.includes('Chrome')
23
+
24
+ watchEffect(() => {
25
+ panelMargins.left = safeArea.left.value + 10
26
+ panelMargins.top = safeArea.top.value + 10
27
+ panelMargins.right = safeArea.right.value + 10
28
+ panelMargins.bottom = safeArea.bottom.value + 10
29
+ })
30
+
15
31
  const SNAP_THRESHOLD = 2
16
32
 
17
33
  const vars = computed(() => {
@@ -99,6 +115,10 @@ function snapToPoints(value: number) {
99
115
  return value
100
116
  }
101
117
 
118
+ function clamp(value: number, min: number, max: number) {
119
+ return Math.min(Math.max(value, min), max)
120
+ }
121
+
102
122
  const isVertical = computed(() => state.value.position === 'left' || state.value.position === 'right')
103
123
 
104
124
  const anchorPos = computed(() => {
@@ -111,24 +131,24 @@ const anchorPos = computed(() => {
111
131
  switch (state.value.position) {
112
132
  case 'top':
113
133
  return {
114
- left: Math.min(Math.max(left, halfWidth + PANEL_MARGIN), windowSize.width - halfWidth - PANEL_MARGIN),
115
- top: PANEL_MARGIN + halfHeight,
134
+ left: clamp(left, halfWidth + panelMargins.left, windowSize.width - halfWidth - panelMargins.right),
135
+ top: panelMargins.top + halfHeight,
116
136
  }
117
137
  case 'right':
118
138
  return {
119
- left: windowSize.width - PANEL_MARGIN - halfHeight,
120
- top,
139
+ left: windowSize.width - panelMargins.right - halfHeight,
140
+ top: clamp(top, halfWidth + panelMargins.top, windowSize.height - halfWidth - panelMargins.bottom),
121
141
  }
122
142
  case 'left':
123
143
  return {
124
- left: PANEL_MARGIN + halfHeight,
125
- top,
144
+ left: panelMargins.left + halfHeight,
145
+ top: clamp(top, halfWidth + panelMargins.top, windowSize.height - halfWidth - panelMargins.bottom),
126
146
  }
127
147
  case 'bottom':
128
148
  default:
129
149
  return {
130
- left: Math.min(Math.max(left, halfWidth + PANEL_MARGIN), windowSize.width - halfWidth - PANEL_MARGIN),
131
- top: windowSize.height - PANEL_MARGIN - halfHeight,
150
+ left: clamp(left, halfWidth + panelMargins.left, windowSize.width - halfWidth - panelMargins.right),
151
+ top: windowSize.height - panelMargins.bottom - halfHeight,
132
152
  }
133
153
  }
134
154
  })
@@ -139,14 +159,26 @@ const iframeStyle = computed(() => {
139
159
  // eslint-disable-next-line no-unused-expressions, no-sequences
140
160
  mousePosition.x, mousePosition.y
141
161
 
142
- const maxWidth = windowSize.width - FRAME_MARGIN * 2
143
- const maxHeight = windowSize.height - FRAME_MARGIN * 2
162
+ const halfHeight = (panelEl.value?.clientHeight || 0) / 2
163
+
164
+ const frameMargin = {
165
+ left: panelMargins.left + halfHeight,
166
+ top: panelMargins.top + halfHeight,
167
+ right: panelMargins.right + halfHeight,
168
+ bottom: panelMargins.bottom + halfHeight,
169
+ }
170
+
171
+ const marginHorizontal = frameMargin.left + frameMargin.right
172
+ const marginVertical = frameMargin.top + frameMargin.bottom
173
+
174
+ const maxWidth = windowSize.width - marginHorizontal
175
+ const maxHeight = windowSize.height - marginVertical
144
176
 
145
177
  const style: CSSProperties = {
146
178
  zIndex: -1,
147
179
  pointerEvents: isDragging.value ? 'none' : 'auto',
148
- width: `min(${state.value.width}vw, calc(100vw - ${FRAME_MARGIN * 2}px))`,
149
- height: `min(${state.value.height}vh, calc(100vh - ${FRAME_MARGIN * 2}px))`,
180
+ width: `min(${state.value.width}vw, calc(100vw - ${marginHorizontal}px))`,
181
+ height: `min(${state.value.height}vh, calc(100vh - ${marginVertical}px))`,
150
182
  }
151
183
 
152
184
  const anchor = anchorPos.value
@@ -161,19 +193,19 @@ const iframeStyle = computed(() => {
161
193
  case 'bottom':
162
194
  style.left = 0
163
195
  style.transform = 'translate(-50%, 0)'
164
- if ((anchorX - FRAME_MARGIN) < width / 2)
165
- style.left = `${width / 2 - anchorX + FRAME_MARGIN}px`
166
- else if ((windowSize.width - anchorX - FRAME_MARGIN) < width / 2)
167
- style.left = `${windowSize.width - anchorX - width / 2 - FRAME_MARGIN}px`
196
+ if ((anchorX - frameMargin.left) < width / 2)
197
+ style.left = `${width / 2 - anchorX + frameMargin.left}px`
198
+ else if ((windowSize.width - anchorX - frameMargin.right) < width / 2)
199
+ style.left = `${windowSize.width - anchorX - width / 2 - frameMargin.right}px`
168
200
  break
169
201
  case 'right':
170
202
  case 'left':
171
203
  style.top = 0
172
204
  style.transform = 'translate(0, -50%)'
173
- if ((anchorY - FRAME_MARGIN) < height / 2)
174
- style.top = `${height / 2 - anchorY + FRAME_MARGIN}px`
175
- else if ((windowSize.height - anchorY - FRAME_MARGIN) < height / 2)
176
- style.top = `${windowSize.height - anchorY - height / 2 - FRAME_MARGIN}px`
205
+ if ((anchorY - frameMargin.top) < height / 2)
206
+ style.top = `${height / 2 - anchorY + frameMargin.top}px`
207
+ else if ((windowSize.height - anchorY - frameMargin.bottom) < height / 2)
208
+ style.top = `${windowSize.height - anchorY - height / 2 - frameMargin.bottom}px`
177
209
  break
178
210
  }
179
211
 
@@ -221,7 +253,7 @@ const time = computed(() => {
221
253
  :style="[anchorStyle, vars]"
222
254
  :class="{ 'nuxt-devtools-vertical': isVertical }"
223
255
  >
224
- <div class="nuxt-devtools-glowing" :style="isDragging ? 'opacity: 0.6 !important' : ''" />
256
+ <div v-if="!isSafari" class="nuxt-devtools-glowing" :style="isDragging ? 'opacity: 0.6 !important' : ''" />
225
257
  <div ref="panelEl" class="nuxt-devtools-panel" @pointerdown="onPointerDown">
226
258
  <button
227
259
  class="nuxt-devtools-icon-button nuxt-devtools-nuxt-button"
@@ -259,7 +291,12 @@ const time = computed(() => {
259
291
  </button>
260
292
  </template>
261
293
  </div>
262
- <FrameBox ref="frameBox" :client="client" :style="iframeStyle" />
294
+ <FrameBox
295
+ ref="frameBox"
296
+ :client="client"
297
+ :style="iframeStyle"
298
+ :is-dragging="isDragging"
299
+ />
263
300
  </div>
264
301
  </template>
265
302
 
@@ -3,3 +3,15 @@ export declare function useObjectStorage<T>(key: string, initial: T, readonly?:
3
3
  export declare function useTransform<F, T>(data: Ref<F>, to: (data: F) => T, from: (data: T) => F): Ref<T>;
4
4
  export declare function useEventListener(target: EventTarget, type: string, listener: any, options?: boolean | AddEventListenerOptions): void;
5
5
  export declare function millisecondToHumanreadable(ms: number): [number, string];
6
+ /**
7
+ * Reactive `env(safe-area-inset-*)`
8
+ *
9
+ * @see https://vueuse.org/useScreenSafeArea
10
+ */
11
+ export declare function useScreenSafeArea(): {
12
+ top: Ref<number>;
13
+ right: Ref<number>;
14
+ bottom: Ref<number>;
15
+ left: Ref<number>;
16
+ update: () => void;
17
+ };
@@ -48,3 +48,35 @@ export function millisecondToHumanreadable(ms) {
48
48
  return [+(ms / 1e3 / 60).toFixed(1), "min"];
49
49
  return [+(ms / 1e3 / 60 / 60).toFixed(1), "hour"];
50
50
  }
51
+ const topVarName = "--nuxt-devtools-safe-area-top";
52
+ const rightVarName = "--nuxt-devtools-safe-area-right";
53
+ const bottomVarName = "--nuxt-devtools-safe-area-bottom";
54
+ const leftVarName = "--nuxt-devtools-safe-area-left";
55
+ export function useScreenSafeArea() {
56
+ const top = ref(0);
57
+ const right = ref(0);
58
+ const bottom = ref(0);
59
+ const left = ref(0);
60
+ document.documentElement.style.setProperty(topVarName, "env(safe-area-inset-top, 0px)");
61
+ document.documentElement.style.setProperty(rightVarName, "env(safe-area-inset-right, 0px)");
62
+ document.documentElement.style.setProperty(bottomVarName, "env(safe-area-inset-bottom, 0px)");
63
+ document.documentElement.style.setProperty(leftVarName, "env(safe-area-inset-left, 0px)");
64
+ update();
65
+ useEventListener(window, "resize", update);
66
+ function getValue(position) {
67
+ return Number.parseFloat(getComputedStyle(document.documentElement).getPropertyValue(position)) || 0;
68
+ }
69
+ function update() {
70
+ top.value = getValue(topVarName);
71
+ right.value = getValue(rightVarName);
72
+ bottom.value = getValue(bottomVarName);
73
+ left.value = getValue(leftVarName);
74
+ }
75
+ return {
76
+ top,
77
+ right,
78
+ bottom,
79
+ left,
80
+ update
81
+ };
82
+ }