@nuxt/devtools 0.6.2 → 0.6.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/README.md +2 -4
  2. package/dist/chunks/module-main.mjs +25 -133
  3. package/dist/client/200.html +2 -2
  4. package/dist/client/404.html +2 -2
  5. package/dist/client/__blank/index.html +2 -2
  6. package/dist/client/_nuxt/AuthRequiredPanel.vue.e75f9e70.js +1 -0
  7. package/dist/client/_nuxt/Badge.d9d2b649.js +1 -0
  8. package/dist/client/_nuxt/CodeSnippets.vue.b63711e4.js +1 -0
  9. package/dist/client/_nuxt/{DrawerRight.vue.d80827fd.js → DrawerRight.vue.e21669fa.js} +1 -1
  10. package/dist/client/_nuxt/DurationDisplay.vue.c206edd8.js +1 -0
  11. package/dist/client/_nuxt/FilepathItem.vue.a47beb58.js +1 -0
  12. package/dist/client/_nuxt/HelpFab.vue.e5d23c98.js +1 -0
  13. package/dist/client/_nuxt/{LaunchPage.vue.b85270dd.js → LaunchPage.vue.610fcc27.js} +1 -1
  14. package/dist/client/_nuxt/NCheckbox.vue.f4134b6b.js +1 -0
  15. package/dist/client/_nuxt/{NCodeBlock.vue.de2cd5a6.js → NCodeBlock.vue.bdc8bfdc.js} +1 -1
  16. package/dist/client/_nuxt/NIconButton.vue.24522062.js +1 -0
  17. package/dist/client/_nuxt/NIconTitle.vue.dc58a435.js +1 -0
  18. package/dist/client/_nuxt/{NLink.vue.53529111.js → NLink.vue.393c859e.js} +1 -1
  19. package/dist/client/_nuxt/NMarkdown.vue.3224fbc4.js +1 -0
  20. package/dist/client/_nuxt/NPanelGrids.eec702e8.js +1 -0
  21. package/dist/client/_nuxt/NSectionBlock.8c2cc0df.js +1 -0
  22. package/dist/client/_nuxt/NSelect.vue.8ff29308.js +1 -0
  23. package/dist/client/_nuxt/{NSwitch.vue.7f4e43b3.js → NSwitch.vue.840840dc.js} +1 -1
  24. package/dist/client/_nuxt/{NTip.vue.c99855ad.js → NTip.vue.79345a6a.js} +1 -1
  25. package/dist/client/_nuxt/Navbar.vue.82295224.js +1 -0
  26. package/dist/client/_nuxt/{PanelLeftRight.vue.1e85c7f2.js → PanelLeftRight.vue.5871de72.js} +1 -1
  27. package/dist/client/_nuxt/StateEditor.vue.d48421f9.js +1 -0
  28. package/dist/client/_nuxt/__blank.9ffea4ef.js +1 -0
  29. package/dist/client/_nuxt/{analyze-build.d94a4835.js → analyze-build.67bd8db6.js} +1 -1
  30. package/dist/client/_nuxt/{assets.cea82447.js → assets.36239ace.js} +3 -3
  31. package/dist/client/_nuxt/{client.aa60153e.js → client.495918a8.js} +1 -1
  32. package/dist/client/_nuxt/{components.67be79c1.js → components.c4c5e473.js} +27 -27
  33. package/dist/client/_nuxt/custom-_name_.3e45940d.js +1 -0
  34. package/dist/client/_nuxt/default.0d72ce4e.js +1 -0
  35. package/dist/client/_nuxt/{editor.24e006dd.js → editor.a4d83539.js} +1 -1
  36. package/dist/client/_nuxt/entry.eeaf510e.css +1 -0
  37. package/dist/client/_nuxt/entry.fbf2c464.js +21 -0
  38. package/dist/client/_nuxt/error-404.37bdd0cf.js +1 -0
  39. package/dist/client/_nuxt/error-404.91003ceb.css +1 -0
  40. package/dist/client/_nuxt/error-500.7e02f53c.css +1 -0
  41. package/dist/client/_nuxt/error-500.f09b55ae.js +1 -0
  42. package/dist/client/_nuxt/full.7e6e1e52.js +1 -0
  43. package/dist/client/_nuxt/hooks.9f8f251f.js +1 -0
  44. package/dist/client/_nuxt/{imports.ab8bf33a.js → imports.55b5830a.js} +1 -1
  45. package/dist/client/_nuxt/{index.31423b81.js → index.2421127a.js} +1 -1
  46. package/dist/client/_nuxt/index.b31d0db0.js +1 -0
  47. package/dist/client/_nuxt/{json-editor-vue.0e484aeb.js → json-editor-vue.d5db52dc.js} +1 -1
  48. package/dist/client/_nuxt/middleware.bc94adc0.js +1 -0
  49. package/dist/client/_nuxt/modules.b661d7e8.js +4 -0
  50. package/dist/client/_nuxt/none.3d1d9cce.js +1 -0
  51. package/dist/client/_nuxt/{open-graph.a806949f.js → open-graph.d11fab80.js} +2 -2
  52. package/dist/client/_nuxt/overview.82760181.js +1 -0
  53. package/dist/client/_nuxt/{pages.9797a06b.js → pages.fbb1f607.js} +1 -1
  54. package/dist/client/_nuxt/payload.5e745a21.js +1 -0
  55. package/dist/client/_nuxt/plugins.736cbd71.js +1 -0
  56. package/dist/client/_nuxt/{runtime-configs.c19cf62e.js → runtime-configs.834452b2.js} +1 -1
  57. package/dist/client/_nuxt/server-routes.20327313.js +9 -0
  58. package/dist/client/_nuxt/{settings.223347c0.js → settings.ef38f4f9.js} +1 -1
  59. package/dist/client/_nuxt/{state-components.7a725a3e.js → state-components.20943c6b.js} +1 -1
  60. package/dist/client/_nuxt/state-modules.7230fab3.js +1 -0
  61. package/dist/client/_nuxt/storage.40229c6e.js +1 -0
  62. package/dist/client/_nuxt/{terminals.838c617b.js → terminals.e4fb811f.js} +2 -2
  63. package/dist/client/_nuxt/{unocss-runtime.8cb4743c.js → unocss-runtime.73092d93.js} +1 -1
  64. package/dist/client/_nuxt/{virtual-files.0f8a6122.js → virtual-files.071a4a48.js} +1 -1
  65. package/dist/client/index.html +2 -2
  66. package/dist/client/modules/analyze-build/index.html +2 -2
  67. package/dist/client/modules/assets/index.html +2 -2
  68. package/dist/client/modules/components/index.html +2 -2
  69. package/dist/client/modules/hooks/index.html +2 -2
  70. package/dist/client/modules/imports/index.html +2 -2
  71. package/dist/client/modules/middleware/index.html +2 -2
  72. package/dist/client/modules/modules/index.html +2 -2
  73. package/dist/client/modules/open-graph/index.html +2 -2
  74. package/dist/client/modules/overview/index.html +2 -2
  75. package/dist/client/modules/pages/index.html +2 -2
  76. package/dist/client/modules/payload/index.html +2 -2
  77. package/dist/client/modules/plugins/index.html +2 -2
  78. package/dist/client/modules/runtime-configs/index.html +2 -2
  79. package/dist/client/modules/server-routes/index.html +2 -2
  80. package/dist/client/modules/storage/index.html +2 -2
  81. package/dist/client/modules/terminals/index.html +2 -2
  82. package/dist/client/modules/virtual-files/index.html +2 -2
  83. package/dist/client/settings/index.html +2 -2
  84. package/dist/global-20ccb74c.d.ts +52 -0
  85. package/dist/module.d.ts +2 -0
  86. package/dist/module.json +1 -1
  87. package/dist/runtime/plugins/devtools.client.d.ts +0 -8
  88. package/dist/runtime/plugins/devtools.client.mjs +10 -84
  89. package/dist/runtime/plugins/view/FrameBox.vue +66 -35
  90. package/dist/runtime/plugins/view/Main.vue +19 -2
  91. package/dist/runtime/plugins/view/client.d.ts +8 -0
  92. package/dist/runtime/plugins/view/client.mjs +209 -1
  93. package/dist/runtime/plugins/view/state.d.ts +1 -4
  94. package/dist/runtime/plugins/view/state.mjs +2 -20
  95. package/dist/types.d.ts +2 -0
  96. package/package.json +14 -14
  97. package/dist/client/_nuxt/AuthRequiredPanel.vue.4f66b5dd.js +0 -1
  98. package/dist/client/_nuxt/Badge.2cc4687e.js +0 -1
  99. package/dist/client/_nuxt/CodeSnippets.vue.1e158b8f.js +0 -1
  100. package/dist/client/_nuxt/DurationDisplay.vue.a48b74dd.js +0 -1
  101. package/dist/client/_nuxt/FilepathItem.vue.df9b46ef.js +0 -1
  102. package/dist/client/_nuxt/HelpFab.vue.49173e4b.js +0 -1
  103. package/dist/client/_nuxt/NCheckbox.vue.df53e265.js +0 -1
  104. package/dist/client/_nuxt/NIconButton.vue.e211c1b6.js +0 -1
  105. package/dist/client/_nuxt/NIconTitle.vue.4e3340eb.js +0 -1
  106. package/dist/client/_nuxt/NMarkdown.vue.26c114a8.js +0 -1
  107. package/dist/client/_nuxt/NPanelGrids.fc7166ff.js +0 -1
  108. package/dist/client/_nuxt/NSectionBlock.0eaaa956.js +0 -1
  109. package/dist/client/_nuxt/NSelect.vue.94ec8f3c.js +0 -1
  110. package/dist/client/_nuxt/Navbar.vue.a50c38bf.js +0 -1
  111. package/dist/client/_nuxt/NpmVersionCheck.vue.029b0cde.js +0 -1
  112. package/dist/client/_nuxt/StateEditor.vue.4e5aa888.js +0 -1
  113. package/dist/client/_nuxt/__blank.8e143dfc.js +0 -1
  114. package/dist/client/_nuxt/custom-_name_.ed0df2f5.js +0 -1
  115. package/dist/client/_nuxt/default.29185309.js +0 -1
  116. package/dist/client/_nuxt/entry.ea777320.css +0 -1
  117. package/dist/client/_nuxt/entry.f3de3eb8.js +0 -19
  118. package/dist/client/_nuxt/error-404.09e25f4a.js +0 -1
  119. package/dist/client/_nuxt/error-404.2618a69f.css +0 -1
  120. package/dist/client/_nuxt/error-500.0bde1cc6.js +0 -1
  121. package/dist/client/_nuxt/error-500.12a2683b.css +0 -1
  122. package/dist/client/_nuxt/error-component.753dcd89.js +0 -3
  123. package/dist/client/_nuxt/full.e7e50a56.js +0 -1
  124. package/dist/client/_nuxt/hooks.c5f385b4.js +0 -1
  125. package/dist/client/_nuxt/index.686c37b5.js +0 -1
  126. package/dist/client/_nuxt/middleware.08e999fd.js +0 -1
  127. package/dist/client/_nuxt/modules.b435656d.js +0 -4
  128. package/dist/client/_nuxt/none.548277ee.js +0 -1
  129. package/dist/client/_nuxt/overview.08fa2255.js +0 -1
  130. package/dist/client/_nuxt/payload.f6049d4c.js +0 -1
  131. package/dist/client/_nuxt/plugins.7ff70558.js +0 -1
  132. package/dist/client/_nuxt/server-routes.34b80486.js +0 -9
  133. package/dist/client/_nuxt/storage.446005cc.js +0 -1
  134. package/dist/runtime/plugins/view/Frame.vue +0 -105
package/README.md CHANGED
@@ -31,7 +31,7 @@ Unleash Nuxt Developer Experience.
31
31
 
32
32
  > Nuxt DevTools requires **Nuxt v3.1.0 or higher**.
33
33
 
34
- You can opt-in Nuxt DevTools per-project by going to the project root and run:
34
+ You can opt-in Nuxt DevTools per project by going to the project root and run:
35
35
 
36
36
  ```bash
37
37
  npx nuxi@latest devtools enable
@@ -41,9 +41,7 @@ Restart your Nuxt server and open your app in browser. Click the Nuxt icon on th
41
41
 
42
42
  > **Note**: If you using `nvm` or other Node version managers, we suggest to run the enable command again after switching Node version.
43
43
 
44
- When you run `nuxi devtools enable`, Nuxt DevTools will be installed as a global module and only activated for the projects you enabled. The configuration will be saved in your local `~/.nuxtrc` file, so it doesn't affect your team unless they also opt-in.
45
-
46
- Similarly, you can disable it per-project by running:
44
+ Similarly, you can disable it per project by running:
47
45
 
48
46
  ```bash
49
47
  npx nuxi@latest devtools disable
@@ -30,7 +30,7 @@ import require$$0 from 'os';
30
30
  import { spawn } from 'child_process';
31
31
  import { runtimeDir, clientDir, packageDir, isGlobalInstall } from '../dirs.mjs';
32
32
 
33
- const version = "0.6.2";
33
+ const version = "0.6.3";
34
34
 
35
35
  /*! (c) 2020 Andrea Giammarchi */
36
36
 
@@ -815,162 +815,53 @@ function setupTerminalRPC({ nuxt, rpc, refresh }) {
815
815
  };
816
816
  }
817
817
 
818
- const PROTOCOL_STRICT_REGEX = /^\w{2,}:([/\\]{1,2})/;
819
- const PROTOCOL_REGEX = /^\w{2,}:([/\\]{2})?/;
820
- const PROTOCOL_RELATIVE_REGEX = /^([/\\]\s*){2,}[^/\\]/;
821
- function hasProtocol(inputString, opts = {}) {
822
- if (typeof opts === "boolean") {
823
- opts = { acceptRelative: opts };
824
- }
825
- if (opts.strict) {
826
- return PROTOCOL_STRICT_REGEX.test(inputString);
827
- }
828
- return PROTOCOL_REGEX.test(inputString) || (opts.acceptRelative ? PROTOCOL_RELATIVE_REGEX.test(inputString) : false);
829
- }
830
- const TRAILING_SLASH_RE = /\/$|\/\?/;
831
- function hasTrailingSlash(input = "", queryParameters = false) {
832
- if (!queryParameters) {
833
- return input.endsWith("/");
834
- }
835
- return TRAILING_SLASH_RE.test(input);
836
- }
837
- function withoutTrailingSlash(input = "", queryParameters = false) {
838
- if (!queryParameters) {
839
- return (hasTrailingSlash(input) ? input.slice(0, -1) : input) || "/";
840
- }
841
- if (!hasTrailingSlash(input, true)) {
842
- return input || "/";
843
- }
844
- const [s0, ...s] = input.split("?");
845
- return (s0.slice(0, -1) || "/") + (s.length > 0 ? `?${s.join("?")}` : "");
846
- }
847
- function withTrailingSlash(input = "", queryParameters = false) {
848
- if (!queryParameters) {
849
- return input.endsWith("/") ? input : input + "/";
850
- }
851
- if (hasTrailingSlash(input, true)) {
852
- return input || "/";
853
- }
854
- const [s0, ...s] = input.split("?");
855
- return s0 + "/" + (s.length > 0 ? `?${s.join("?")}` : "");
856
- }
857
- function hasLeadingSlash(input = "") {
858
- return input.startsWith("/");
859
- }
860
- function withoutLeadingSlash(input = "") {
861
- return (hasLeadingSlash(input) ? input.slice(1) : input) || "/";
862
- }
863
- function withLeadingSlash(input = "") {
864
- return hasLeadingSlash(input) ? input : "/" + input;
865
- }
866
- function withBase(input, base) {
867
- if (isEmptyURL(base) || hasProtocol(input)) {
868
- return input;
869
- }
870
- const _base = withoutTrailingSlash(base);
871
- if (input.startsWith(_base)) {
872
- return input;
873
- }
874
- return joinURL(_base, input);
875
- }
876
- function isEmptyURL(url) {
877
- return !url || url === "/";
878
- }
879
- function isNonEmptyURL(url) {
880
- return url && url !== "/";
881
- }
882
- function joinURL(base, ...input) {
883
- let url = base || "";
884
- for (const index of input.filter((url2) => isNonEmptyURL(url2))) {
885
- url = url ? withTrailingSlash(url) + withoutLeadingSlash(index) : index;
886
- }
887
- return url;
888
- }
889
-
890
818
  function setupServerRoutesRPC({ nuxt, refresh }) {
891
819
  let nitro;
892
- let promiseCache = null;
820
+ let cache = null;
893
821
  const refreshDebounced = debounce(() => {
894
- promiseCache = null;
822
+ cache = null;
895
823
  refresh("getServerRoutes");
896
824
  }, 500);
897
825
  nuxt.hook("nitro:init", (_) => {
898
826
  nitro = _;
899
- promiseCache = null;
827
+ cache = null;
900
828
  refresh("getServerRoutes");
901
829
  });
902
830
  nuxt.hook("ready", () => {
903
831
  nitro?.storage.watch((event, key) => {
904
- if (key.startsWith("src:api:"))
832
+ if (key.startsWith("src:api:") || key.startsWith("src:routes:"))
905
833
  refreshDebounced();
906
834
  });
907
835
  });
908
836
  function scan() {
909
- if (promiseCache)
910
- return promiseCache;
911
- promiseCache = (async () => {
837
+ if (cache)
838
+ return cache;
839
+ cache = (() => {
912
840
  if (!nitro)
913
841
  return [];
914
- const files = await Promise.all([
915
- scanServerDir(nitro, "api", scanFileHandler("api")),
916
- scanServerDir(nitro, "routes", scanFileHandler("route"))
917
- ]).then((r) => r.flat());
918
- return files;
842
+ return [
843
+ ...nitro.scannedHandlers.map((item) => ({
844
+ route: item.route,
845
+ filepath: item.handler,
846
+ method: item.method,
847
+ type: item.route?.startsWith("/api") ? "api" : "route"
848
+ })),
849
+ ...nitro.options.handlers.filter((item) => !item.route?.startsWith("/_nitro") && !item.route?.startsWith("/__nuxt") && !item.middleware).map((item) => ({
850
+ route: item.route,
851
+ filepath: item.handler,
852
+ method: item.method,
853
+ type: "runtime"
854
+ }))
855
+ ];
919
856
  })();
920
- return promiseCache;
857
+ return cache;
921
858
  }
922
859
  return {
923
- async getServerRoutes() {
860
+ getServerRoutes() {
924
861
  return scan();
925
862
  }
926
863
  };
927
864
  }
928
- const GLOB_SCAN_PATTERN = "**/*.{ts,mjs,js,cjs}";
929
- const httpMethodRegex = /\.(connect|delete|get|head|options|patch|post|put|trace)/;
930
- function scanFileHandler(type, prefix = "/") {
931
- return (file) => {
932
- let route = file.path.replace(/\.[A-Za-z]+$/, "").replace(/\[\.{3}]/g, "**").replace(/\[\.{3}(\w+)]/g, "**:$1").replace(/\[(\w+)]/g, ":$1");
933
- route = withLeadingSlash(withoutTrailingSlash(withBase(route, prefix)));
934
- let method;
935
- const methodMatch = route.match(httpMethodRegex);
936
- if (methodMatch) {
937
- route = route.slice(0, Math.max(0, methodMatch.index));
938
- method = methodMatch[1];
939
- }
940
- route = route.replace(/\/index$/, "") || "/";
941
- if (type === "api")
942
- route = `/api${route}`;
943
- return {
944
- filepath: file.fullPath,
945
- path: file.path,
946
- route,
947
- type,
948
- method
949
- };
950
- };
951
- }
952
- async function scanServerDir(nitro, name, mapper) {
953
- const dirs = nitro.options.scanDirs.map((dir) => join$1(dir, name));
954
- const files = await scanDirs(dirs);
955
- return files.map((f) => mapper(f));
956
- }
957
- function scanDirs(dirs) {
958
- return Promise.all(
959
- dirs.map(async (dir) => {
960
- const fileNames = await fg(GLOB_SCAN_PATTERN, {
961
- cwd: dir,
962
- dot: true
963
- });
964
- return fileNames.map((fileName) => {
965
- return {
966
- dir,
967
- path: fileName,
968
- fullPath: resolve(dir, fileName)
969
- };
970
- }).sort((a, b) => a.path.localeCompare(b.path));
971
- })
972
- ).then((r) => r.flat());
973
- }
974
865
 
975
866
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
976
867
 
@@ -6945,6 +6836,7 @@ function hash(object, options = {}) {
6945
6836
  const defaults = {
6946
6837
  componentsView: "list",
6947
6838
  componentsGraphShowNodeModules: false,
6839
+ componentsGraphShowGlobalComponents: true,
6948
6840
  componentsGraphShowPages: false,
6949
6841
  componentsGraphShowLayouts: false,
6950
6842
  componentsGraphShowWorkspace: true,
@@ -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.fbf2c464.js"><link rel="preload" as="style" href="/__nuxt_devtools__/client/_nuxt/entry.eeaf510e.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/index.2421127a.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/default.0d72ce4e.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/full.7e6e1e52.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/none.3d1d9cce.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/nuxt-docs.100caa70.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/unocss-runtime.73092d93.js"><link rel="prefetch" as="style" href="/__nuxt_devtools__/client/_nuxt/error-404.91003ceb.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/error-404.37bdd0cf.js"><link rel="prefetch" as="style" href="/__nuxt_devtools__/client/_nuxt/error-500.7e02f53c.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/error-500.f09b55ae.js"><link rel="stylesheet" href="/__nuxt_devtools__/client/_nuxt/entry.eeaf510e.css"><script>"use strict";(()=>{const a=window,e=document.documentElement,m=["dark","light"],c=window.localStorage.getItem("nuxt-color-mode")||"system";let n=c==="system"?f():c;const l=e.getAttribute("data-color-mode-forced");l&&(n=l),i(n),a["__NUXT_COLOR_MODE__"]={preference:c,value:n,getColorScheme:f,addColorScheme:i,removeColorScheme:d};function i(o){const t=""+o+"",s="";e.classList?e.classList.add(t):e.className+=" "+t,s&&e.setAttribute("data-"+s,o)}function d(o){const t=""+o+"",s="";e.classList?e.classList.remove(t):e.className=e.className.replace(new RegExp(t,"g"),""),s&&e.removeAttribute("data-"+s)}function r(o){return a.matchMedia("(prefers-color-scheme"+o+")")}function f(){if(a.matchMedia&&r("").media!=="not all"){for(const o of m)if(r(":"+o).matches)return o}return"light"}})();
5
5
  </script></head>
6
- <body ><div id="__nuxt"></div><script type="application/json" id="__NUXT_DATA__" data-ssr="false">[{"_errors":1,"serverRendered":2,"data":3,"state":4},{},false,{},{}]</script><script>window.__NUXT__={};window.__NUXT__.config={public:{fixture4:"public runtime config from nuxt.config.ts"},app:{baseURL:"/__nuxt_devtools__/client",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="module" src="/__nuxt_devtools__/client/_nuxt/entry.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},"/200.html",{},false,{},{}]</script><script>window.__NUXT__={};window.__NUXT__.config={public:{fixture4:"public runtime config from nuxt.config.ts"},app:{baseURL:"/__nuxt_devtools__/client",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="module" src="/__nuxt_devtools__/client/_nuxt/entry.fbf2c464.js" crossorigin></script></body>
7
7
  </html>
@@ -1,7 +1,7 @@
1
1
  <!DOCTYPE html>
2
2
  <html >
3
3
  <head><meta charset="utf-8">
4
- <meta name="viewport" content="width=device-width, initial-scale=1"><link rel="modulepreload" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/entry.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.fbf2c464.js"><link rel="preload" as="style" href="/__nuxt_devtools__/client/_nuxt/entry.eeaf510e.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/index.2421127a.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/default.0d72ce4e.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/full.7e6e1e52.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/none.3d1d9cce.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/nuxt-docs.100caa70.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/unocss-runtime.73092d93.js"><link rel="prefetch" as="style" href="/__nuxt_devtools__/client/_nuxt/error-404.91003ceb.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/error-404.37bdd0cf.js"><link rel="prefetch" as="style" href="/__nuxt_devtools__/client/_nuxt/error-500.7e02f53c.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/error-500.f09b55ae.js"><link rel="stylesheet" href="/__nuxt_devtools__/client/_nuxt/entry.eeaf510e.css"><script>"use strict";(()=>{const a=window,e=document.documentElement,m=["dark","light"],c=window.localStorage.getItem("nuxt-color-mode")||"system";let n=c==="system"?f():c;const l=e.getAttribute("data-color-mode-forced");l&&(n=l),i(n),a["__NUXT_COLOR_MODE__"]={preference:c,value:n,getColorScheme:f,addColorScheme:i,removeColorScheme:d};function i(o){const t=""+o+"",s="";e.classList?e.classList.add(t):e.className+=" "+t,s&&e.setAttribute("data-"+s,o)}function d(o){const t=""+o+"",s="";e.classList?e.classList.remove(t):e.className=e.className.replace(new RegExp(t,"g"),""),s&&e.removeAttribute("data-"+s)}function r(o){return a.matchMedia("(prefers-color-scheme"+o+")")}function f(){if(a.matchMedia&&r("").media!=="not all"){for(const o of m)if(r(":"+o).matches)return o}return"light"}})();
5
5
  </script></head>
6
- <body ><div id="__nuxt"></div><script type="application/json" id="__NUXT_DATA__" data-ssr="false">[{"_errors":1,"serverRendered":2,"data":3,"state":4},{},false,{},{}]</script><script>window.__NUXT__={};window.__NUXT__.config={public:{fixture4:"public runtime config from nuxt.config.ts"},app:{baseURL:"/__nuxt_devtools__/client",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="module" src="/__nuxt_devtools__/client/_nuxt/entry.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},"/404.html",{},false,{},{}]</script><script>window.__NUXT__={};window.__NUXT__.config={public:{fixture4:"public runtime config from nuxt.config.ts"},app:{baseURL:"/__nuxt_devtools__/client",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="module" src="/__nuxt_devtools__/client/_nuxt/entry.fbf2c464.js" crossorigin></script></body>
7
7
  </html>
@@ -1,7 +1,7 @@
1
1
  <!DOCTYPE html>
2
2
  <html >
3
3
  <head><meta charset="utf-8">
4
- <meta name="viewport" content="width=device-width, initial-scale=1"><link rel="modulepreload" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/entry.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.fbf2c464.js"><link rel="preload" as="style" href="/__nuxt_devtools__/client/_nuxt/entry.eeaf510e.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/index.2421127a.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/default.0d72ce4e.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/full.7e6e1e52.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/none.3d1d9cce.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/nuxt-docs.100caa70.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/unocss-runtime.73092d93.js"><link rel="prefetch" as="style" href="/__nuxt_devtools__/client/_nuxt/error-404.91003ceb.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/error-404.37bdd0cf.js"><link rel="prefetch" as="style" href="/__nuxt_devtools__/client/_nuxt/error-500.7e02f53c.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt_devtools__/client/_nuxt/error-500.f09b55ae.js"><link rel="stylesheet" href="/__nuxt_devtools__/client/_nuxt/entry.eeaf510e.css"><script>"use strict";(()=>{const a=window,e=document.documentElement,m=["dark","light"],c=window.localStorage.getItem("nuxt-color-mode")||"system";let n=c==="system"?f():c;const l=e.getAttribute("data-color-mode-forced");l&&(n=l),i(n),a["__NUXT_COLOR_MODE__"]={preference:c,value:n,getColorScheme:f,addColorScheme:i,removeColorScheme:d};function i(o){const t=""+o+"",s="";e.classList?e.classList.add(t):e.className+=" "+t,s&&e.setAttribute("data-"+s,o)}function d(o){const t=""+o+"",s="";e.classList?e.classList.remove(t):e.className=e.className.replace(new RegExp(t,"g"),""),s&&e.removeAttribute("data-"+s)}function r(o){return a.matchMedia("(prefers-color-scheme"+o+")")}function f(){if(a.matchMedia&&r("").media!=="not all"){for(const o of m)if(r(":"+o).matches)return o}return"light"}})();
5
5
  </script></head>
6
- <body ><div id="__nuxt"></div><script type="application/json" id="__NUXT_DATA__" data-ssr="false">[{"_errors":1,"serverRendered":2,"data":3,"state":4},{},false,{},{}]</script><script>window.__NUXT__={};window.__NUXT__.config={public:{fixture4:"public runtime config from nuxt.config.ts"},app:{baseURL:"/__nuxt_devtools__/client",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="module" src="/__nuxt_devtools__/client/_nuxt/entry.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},"/__blank",{},false,{},{}]</script><script>window.__NUXT__={};window.__NUXT__.config={public:{fixture4:"public runtime config from nuxt.config.ts"},app:{baseURL:"/__nuxt_devtools__/client",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="module" src="/__nuxt_devtools__/client/_nuxt/entry.fbf2c464.js" crossorigin></script></body>
7
7
  </html>
@@ -0,0 +1 @@
1
+ import{g as y,a3 as x,an as n,bc as _,z as l,r as m,q as c,h as g,w as d,Z as w,o as A,b as s,a as e,d as i,I as N,aL as q,aV as T,bd as V,j as B,J as C,a6 as D}from"./entry.fbf2c464.js";import{_ as I}from"./NIconButton.vue.24522062.js";import{_ as P}from"./NPanelGrids.eec702e8.js";const $=e("h3",{class:"mb2 text-lg font-medium leading-6",flex:"~ items-center gap-1","text-orange":""},[e("span",{class:"i-carbon-information-square"}),i(" Permissions required ")],-1),K=e("p",null," This operation requires permissions for running command and access files from the browser. ",-1),S=e("p",null,[i(" A request is sent to the server."),e("br"),i(" Please check your terminal for the instructions and then come back. ")],-1),j={flex:"~ gap-3",mt2:"","justify-end":""},z=e("p",null,"Or you can manually paste the token here:",-1),F=["onSubmit"],J=y({__name:"AuthRequiredPanel",setup(M){x(async()=>{n.value||_.value&&await l.verifyAuthToken(_.value)&&(n.value=!0),n.value||l.requestForAuth()});const o=m(""),r=m(!1);async function u(){const t=o.value.trim();r.value=!1,await l.verifyAuthToken(t).then(a=>{a?(n.value=!0,V(t)):r.value=!0})}return(t,a)=>{const f=B,p=C,h=I,v=D,k=P;return("isDevAuthed"in t?t.isDevAuthed:c(n))?w(t.$slots,"default",{key:1}):(A(),g(k,{key:0},{default:d(()=>[s(v,{flex:"~ col gap-2",mxa:"","items-center":"",p6:"","text-center":""},{default:d(()=>[$,K,S,e("div",j,[s(f,{disabled:"",icon:"i-carbon-time"},{default:d(()=>[i(" Waiting for authorization... ")]),_:1})]),z,e("form",{flex:"~ inline gap-2 items-center",onSubmit:T(u,["prevent"])},[s(p,{modelValue:c(o),"onUpdate:modelValue":a[0]||(a[0]=b=>N(o)?o.value=b:null),placeholder:"Enter token here",n:c(r)?"red":void 0,onKeydown:q(u,["enter"])},null,8,["modelValue","n","onKeydown"]),s(h,{icon:"i-carbon-arrow-right",onClick:u})],40,F)]),_:1})]),_:1}))}}});export{J as _};
@@ -0,0 +1 @@
1
+ import{_ as n,o,c as s,Z as t}from"./entry.fbf2c464.js";const c={},r={class:"mx-0.5 select-none whitespace-nowrap rounded px-1.5 py-0.5 text-xs"};function _(e,a){return o(),s("span",r,[t(e.$slots,"default")])}const l=n(c,[["render",_]]);export{l as _};
@@ -0,0 +1 @@
1
+ import{_ as y}from"./NCodeBlock.vue.bdc8bfdc.js";import{g as C,b2 as h,aj as S,o as s,c as n,a,F as d,m as w,n as u,q as o,t as x,b as _,w as m,d as f,h as B,s as r,j as N}from"./entry.fbf2c464.js";import{a as V}from"./editor.a4d83539.js";const $={key:0,relative:"","n-code-block":""},j={flex:"~ wrap","w-full":""},D=["onClick"],E=a("div",{border:"b base","flex-auto":""},null,-1),F={flex:"~ gap-2",px3:"",pb3:"",n:"sm primary"},T=C({__name:"CodeSnippets",props:{codeSnippets:{}},setup(b){const c=b,e=h(c.codeSnippets[0]),k=V();return S(()=>{c.codeSnippets.includes(e.value)||(e.value=c.codeSnippets[0])}),(l,p)=>{const v=y,i=N;return l.codeSnippets.length?(s(),n("div",$,[a("div",j,[(s(!0),n(d,null,w(l.codeSnippets,(t,g)=>(s(),n("button",{key:g,px4:"",py2:"",border:"r base",hover:"bg-active",class:u(t===o(e)?"":"border-b"),onClick:q=>e.value=t},[a("div",{class:u(t===o(e)?"":"op30"),"font-mono":""},x(t.name),3)],10,D))),128)),E]),o(e)?(s(),n(d,{key:0},[_(v,{code:o(e).code,lang:o(e).lang,lines:!1,"w-full":"","of-auto":"",p3:""},null,8,["code","lang"]),a("div",F,[_(i,{icon:"carbon-copy",onClick:p[0]||(p[0]=t=>o(k)(o(e).code))},{default:m(()=>[f(" Copy ")]),_:1}),o(e)?.docs?(s(),B(i,{key:0,to:o(e).docs,target:"_blank",icon:"carbon-catalog"},{default:m(()=>[f(" Docs ")]),_:1},8,["to"])):r("",!0)])],64)):r("",!0)])):r("",!0)}}});export{T as _};
@@ -1 +1 @@
1
- import{_ as i}from"./NIconButton.vue.e211c1b6.js";import{a as u,r as f,ac as m,ad as d,c as p,w as _,ae as b,o as s,e as v,f as g,b as h,Z as x,af as y,u as k,q as B}from"./entry.f3de3eb8.js";const C={relative:"","h-full":"","w-full":"","of-auto":""},V={inheritAttrs:!1},N=u({...V,__name:"DrawerRight",props:{modelValue:{type:Boolean},navbar:{},autoClose:{type:Boolean}},emits:["close"],setup(r,{emit:l}){const t=r,o=f(),{height:n}=m(()=>t.navbar,void 0,{box:"border-box"});return d(o,()=>{t.modelValue&&t.autoClose&&l("close")},{ignore:["a","button","summary"]}),(e,a)=>{const c=i;return s(),p(b,{"enter-active-class":"duration-200 ease-in","enter-from-class":"transform translate-x-1/1","enter-to-class":"opacity-100","leave-active-class":"duration-200 ease-out","leave-from-class":"opacity-100","leave-to-class":"transform translate-x-1/1"},{default:_(()=>[e.modelValue?(s(),v("div",y({key:0,ref_key:"el",ref:o,border:"l base",flex:"~ col gap-1",absolute:"","bottom-0":"","right-0":"","z-10":"","z-20":"","of-auto":"","text-sm":"","glass-effect":"",style:{top:`${k(n)}px`}},e.$attrs),[g(c,{absolute:"","right-2":"","top-2":"","z-20":"","text-xl":"",icon:"carbon-close",onClick:a[0]||(a[0]=$=>e.$emit("close"))}),h("div",C,[x(e.$slots,"default")])],16)):B("",!0)]),_:3})}}});export{N as _};
1
+ import{_ as i}from"./NIconButton.vue.24522062.js";import{g as m,r as u,ac as f,ad as d,h as p,w as _,ae as b,o as s,c as v,b as g,a as h,Z as x,af as y,q as k,s as B}from"./entry.fbf2c464.js";const C={relative:"","h-full":"","w-full":"","of-auto":""},V={inheritAttrs:!1},N=m({...V,__name:"DrawerRight",props:{modelValue:{type:Boolean},navbar:{},autoClose:{type:Boolean}},emits:["close"],setup(r,{emit:l}){const t=r,o=u(),{height:n}=f(()=>t.navbar,void 0,{box:"border-box"});return d(o,()=>{t.modelValue&&t.autoClose&&l("close")},{ignore:["a","button","summary"]}),(e,a)=>{const c=i;return s(),p(b,{"enter-active-class":"duration-200 ease-in","enter-from-class":"transform translate-x-1/1","enter-to-class":"opacity-100","leave-active-class":"duration-200 ease-out","leave-from-class":"opacity-100","leave-to-class":"transform translate-x-1/1"},{default:_(()=>[e.modelValue?(s(),v("div",y({key:0,ref_key:"el",ref:o,border:"l base",flex:"~ col gap-1",absolute:"","bottom-0":"","right-0":"","z-10":"","z-20":"","of-auto":"","text-sm":"","glass-effect":"",style:{top:`${k(n)}px`}},e.$attrs),[g(c,{absolute:"","right-2":"","top-2":"","z-20":"","text-xl":"",icon:"carbon-close",onClick:a[0]||(a[0]=$=>e.$emit("close"))}),h("div",C,[x(e.$slots,"default")])],16)):B("",!0)]),_:3})}}});export{N as _};
@@ -0,0 +1 @@
1
+ import{g as a,o as s,c as i,d as u,t as f,n as p,a as c}from"./entry.fbf2c464.js";const d=c("span",{"ml-1":"","text-xs":"",op50:""},"ms",-1),l=a({__name:"DurationDisplay",props:{duration:{},factor:{default:1}},setup(r){const e=r;function o(t){return t?(t=t*e.factor,t<.5?"text-gray:50":t>1e3?"text-red-400":t>500?"text-orange-400":t>200?"text-yellow-400":""):"text-gray-400"}function n(t){return t?t<1?"<1":t.toFixed(2):"-"}return(t,m)=>(s(),i("div",{class:p(o(t.duration))},[u(f(n(t.duration)),1),d],2))}});export{l as _};
@@ -0,0 +1 @@
1
+ import{u}from"./editor.a4d83539.js";import{g as f,U as c,l as k,aU as v,o as t,h as y,w as B,c as s,F as l,d as m,t as n,q as a,a as C,s as g,n as N,ab as b}from"./entry.fbf2c464.js";const w={key:0,op50:""},I=f({__name:"FilepathItem",props:{filepath:{},lineBreak:{type:Boolean},subpath:{type:Boolean},override:{}},setup(d){const r=d,h=u(),p=c(),o=k(()=>r.filepath&&p.value?v(r.filepath,p.value.rootDir):{path:r.filepath||""});return(e,i)=>(t(),y(b(e.filepath?"button":"span"),{class:N([e.filepath?"hover:underline":"",e.lineBreak?"":"ws-nowrap of-hidden truncate"]),"font-mono":"",title:e.override||e.filepath,onClick:i[0]||(i[0]=D=>e.filepath&&a(h)(e.filepath))},{default:B(()=>[e.override?(t(),s(l,{key:0},[m(n(e.override),1)],64)):a(o).moduleName?(t(),s(l,{key:1},[C("span",null,n(a(o).moduleName),1),e.subpath?(t(),s("span",w,n(a(o).path.slice(a(o).moduleName.length)),1)):g("",!0)],64)):(t(),s(l,{key:2},[m(n(a(o).path),1)],64))]),_:1},8,["class","title"]))}});export{I as _};
@@ -0,0 +1 @@
1
+ import{_}from"./NIconButton.vue.24522062.js";import{g as f,r as m,q as o,c as s,a as d,b as a,w as i,ae as u,F as v,s as n,o as l,Z as g,a5 as k}from"./entry.fbf2c464.js";const x=d("div",{"i-ri:question-mark":""},null,-1),h=[x],y={key:0,border:"l base",class:"prose",pos:"fixed bottom-0 right-0 top-0","z-200":"","w-150":"",px8:"",py4:"","bg-base":""},$=f({__name:"HelpFab",setup(w){const e=m(!1),{showHelpButtons:p}=k();return(b,t)=>{const c=_;return o(p)?(l(),s(v,{key:0},[d("button",{pos:"absolute bottom-5 right-5",border:"~ base rounded-full ",flex:"~ items-center justify-center","z-110":"","h-11":"","w-11":"","backdrop-blur-8":"",bg:"bg-base op50!","light:shadow":"",hover:"bg-active",title:"Help",onClick:t[0]||(t[0]=r=>e.value=!o(e))},h),a(u,{name:"fade-in"},{default:i(()=>[o(e)?(l(),s("div",{key:0,class:"fixed bottom-0 left-0 right-0 top-0 z-100","bg-black:20":"","backdrop-blur-2":"",onClick:t[1]||(t[1]=r=>e.value=!1)})):n("",!0)]),_:1}),a(u,{name:"slide-in"},{default:i(()=>[o(e)?(l(),s("div",y,[g(b.$slots,"default"),a(c,{icon:"carbon-close",pos:"absolute top-3 right-3","rounded-full":"","text-xl":"",onClick:t[2]||(t[2]=r=>e.value=!1)})])):n("",!0)]),_:3})],64)):n("",!0)}}});export{$ as _};
@@ -1 +1 @@
1
- import{a as k,c as o,w as a,o as n,f as r,b as c,t as i,q as m,e as b,m as g,af as h,j as N,F as w,aX as x,P as C,h as y,a6 as B}from"./entry.f3de3eb8.js";import{_ as $}from"./NMarkdown.vue.26c114a8.js";import{_ as P}from"./NPanelGrids.fc7166ff.js";const V={"text-xl":""},v={flex:"~ gap2 wrap"},q=k({__name:"LaunchPage",props:{icon:{},title:{},description:{},actions:{}},emits:["action"],setup(F){return(e,I)=>{const _=x,l=$,p=C,d=y,u=B,f=P;return n(),o(f,null,{default:a(()=>[r(u,{flex:"~ col gap2",mxa:"","min-w-100":"","items-center":"",p6:""},{default:a(()=>[r(_,{mb2:"","text-5xl":"",icon:e.icon||e.icon,title:e.title},null,8,["icon","title"]),c("h1",V,i(e.title),1),e.description?(n(),o(l,{key:0,mb2:"","mt--1":"","text-center":"","text-base":"",op50:"",markdown:e.description},null,8,["markdown"])):m("",!0),c("div",v,[(n(!0),b(w,null,g(e.actions,(t,s)=>(n(),o(d,h({key:s,n:"solid primary",disabled:t.pending,to:t.src,target:t.src?"_blank":void 0},t.attrs,{onClick:()=>{t.handle?.(),e.$emit("action",s)}}),{default:a(()=>[t.pending?(n(),o(p,{key:0,icon:"carbon-circle-dash","animate-spin":""})):m("",!0),N(" "+i(t.label),1)]),_:2},1040,["disabled","to","target","onClick"]))),128))])]),_:1})]),_:1})}}});export{q as _};
1
+ import{g as k,h as o,w as a,o as n,b as r,a as c,t as i,s as m,c as g,m as b,af as h,d as N,F as w,aX as x,P as C,j as y,a6 as B}from"./entry.fbf2c464.js";import{_ as $}from"./NMarkdown.vue.3224fbc4.js";import{_ as P}from"./NPanelGrids.eec702e8.js";const V={"text-xl":""},v={flex:"~ gap2 wrap"},D=k({__name:"LaunchPage",props:{icon:{},title:{},description:{},actions:{}},emits:["action"],setup(F){return(e,I)=>{const _=x,l=$,p=C,d=y,u=B,f=P;return n(),o(f,null,{default:a(()=>[r(u,{flex:"~ col gap2",mxa:"","min-w-100":"","items-center":"",p6:""},{default:a(()=>[r(_,{mb2:"","text-5xl":"",icon:e.icon||e.icon,title:e.title},null,8,["icon","title"]),c("h1",V,i(e.title),1),e.description?(n(),o(l,{key:0,mb2:"","mt--1":"","text-center":"","text-base":"",op50:"",markdown:e.description},null,8,["markdown"])):m("",!0),c("div",v,[(n(!0),g(w,null,b(e.actions,(t,s)=>(n(),o(d,h({key:s,n:"solid primary",disabled:t.pending,to:t.src,target:t.src?"_blank":void 0},t.attrs,{onClick:()=>{t.handle?.(),e.$emit("action",s)}}),{default:a(()=>[t.pending?(n(),o(p,{key:0,icon:"carbon-circle-dash","animate-spin":""})):m("",!0),N(" "+i(t.label),1)]),_:2},1040,["disabled","to","target","onClick"]))),128))])]),_:1})]),_:1})}}});export{D as _};
@@ -0,0 +1 @@
1
+ import{g as i,ar as r,c as p,x as b,bi as u,q as a,a as n,I as h,aL as k,b as f,Z as m,n as v,o as x,P as _}from"./entry.fbf2c464.js";const V=["checked","disabled"],y=["disabled"],B={class:"n-checkbox-box n-checked:n-checkbox-box-checked peer-active:n-active-base peer-focus-visible:n-focus-base n-transition"},$=i({__name:"NCheckbox",props:{modelValue:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(c,{emit:t}){const e=r(c,"modelValue",t,{passive:!0});return(o,s)=>{const d=_;return x(),p("label",{class:"n-checkbox hover:n-checkbox-hover select-none items-center n-disabled:n-disabled",checked:a(e)||null,disabled:o.disabled||null},[b(n("input",{"onUpdate:modelValue":s[0]||(s[0]=l=>h(e)?e.value=l:null),type:"checkbox",class:"peer absolute op0",disabled:o.disabled,onKeypress:s[1]||(s[1]=k(l=>e.value=!a(e),["enter"]))},null,40,y),[[u,a(e)]]),n("span",B,[f(d,{class:"n-checkbox-icon scale-0 transform op0 n-transition n-checked:scale-100 n-checked:op100"})]),n("span",{class:v([a(e)?"":"op50","n-transition"])},[m(o.$slots,"default")],2)],8,V)}}});export{$ as _};
@@ -1,2 +1,2 @@
1
- import{d as u}from"./client.aa60153e.js";import{a as _,l as m,ai as k,o as n,e as s,p as r,b as t,F as d,m as f,t as g}from"./entry.f3de3eb8.js";const h=["innerHTML"],C={class:"shiki"},v=["textContent"],y=t("br",null,null,-1),H=_({__name:"NCodeBlock",props:{code:{},lang:{},lines:{type:Boolean,default:!0},transformRendered:{}},emits:["loaded"],setup(a,{emit:c}){const o=a,l=m(()=>{const e=u.value?.devtools.renderCodeHighlight(o.code,o.lang)||{code:o.code,supported:!1};return e.supported&&o.transformRendered&&(e.code=o.transformRendered(e.code)),e.supported&&k(()=>c("loaded")),e});return(e,b)=>e.lang&&l.value.supported?(n(),s("pre",{key:0,class:r(["n-code-block",e.lines?"n-code-block-lines":""]),innerHTML:l.value.code},null,10,h)):(n(),s("pre",{key:1,class:r(["n-code-block",e.lines?"n-code-block-lines":""])},[t("pre",C,[t("code",null,[(n(!0),s(d,null,f(e.code.split(`
1
+ import{d as u}from"./client.495918a8.js";import{g as _,l as m,ai as k,o as n,c as s,n as r,a as t,F as d,m as f,t as g}from"./entry.fbf2c464.js";const h=["innerHTML"],C={class:"shiki"},v=["textContent"],y=t("br",null,null,-1),H=_({__name:"NCodeBlock",props:{code:{},lang:{},lines:{type:Boolean,default:!0},transformRendered:{}},emits:["loaded"],setup(a,{emit:c}){const o=a,l=m(()=>{const e=u.value?.devtools.renderCodeHighlight(o.code,o.lang)||{code:o.code,supported:!1};return e.supported&&o.transformRendered&&(e.code=o.transformRendered(e.code)),e.supported&&k(()=>c("loaded")),e});return(e,B)=>e.lang&&l.value.supported?(n(),s("pre",{key:0,class:r(["n-code-block",e.lines?"n-code-block-lines":""]),innerHTML:l.value.code},null,10,h)):(n(),s("pre",{key:1,class:r(["n-code-block",e.lines?"n-code-block-lines":""])},[t("pre",C,[t("code",null,[(n(!0),s(d,null,f(e.code.split(`
2
2
  `),(i,p)=>(n(),s(d,{key:p},[t("span",{class:"line",textContent:g(i)},null,8,v),y],64))),128))])])],2))}});export{H as _};
@@ -0,0 +1 @@
1
+ import{g as s,o as a,h as c,w as r,b as i,af as p,ab as _,q as m,e as u,P as f}from"./entry.fbf2c464.js";const d=s({__name:"NIconButton",props:{to:{},icon:{}},setup(n){const t=n;return(o,l)=>{const e=f;return a(),c(_(o.to?m(u):"button"),p({to:o.to},o.$attrs,{class:"n-transition n-icon-button"}),{default:r(()=>[i(e,{icon:t.icon},null,8,["icon"])]),_:1},16,["to"])}}});export{d as _};
@@ -0,0 +1 @@
1
+ import{g as t,o as s,c as o,n as a,s as n,Z as r,a as l,t as i}from"./entry.fbf2c464.js";const c={flex:"~ gap-3","items-center":""},u=t({__name:"NIconTitle",props:{icon:{},text:{}},setup(p){return(e,m)=>(s(),o("div",c,[e.icon?(s(),o("div",{key:0,class:a(e.icon)},null,2)):n("",!0),r(e.$slots,"default",{},()=>[l("div",null,i(e.text),1)])]))}});export{u as _};
@@ -1 +1 @@
1
- import{a as n,o as a,c as o,w as r,Z as s,af as t,ab as p,u as i,I as l}from"./entry.f3de3eb8.js";const c=n({__name:"NLink",props:{to:{},href:{},target:{}},setup(_){return(e,f)=>(a(),o(p(e.href||e.target?"a":i(l)),t(e.$props,{class:"n-link n-transition hover:n-link-hover n-link-base"}),{default:r(()=>[s(e.$slots,"default")]),_:3},16))}});export{c as _};
1
+ import{g as n,o as a,h as o,w as r,Z as s,af as t,ab as p,q as i,e as l}from"./entry.fbf2c464.js";const c=n({__name:"NLink",props:{to:{},href:{},target:{}},setup(_){return(e,f)=>(a(),o(p(e.href||e.target?"a":i(l)),t(e.$props,{class:"n-link n-transition hover:n-link-hover n-link-base"}),{default:r(()=>[s(e.$slots,"default")]),_:3},16))}});export{c as _};
@@ -0,0 +1 @@
1
+ import{d as o}from"./client.495918a8.js";import{g as t,q as e,o as a,h as r,ab as s,t as d}from"./entry.fbf2c464.js";const i=t({__name:"NMarkdown",props:{markdown:{},tag:{}},setup(m){return(n,l)=>n.markdown&&e(o)?.devtools?.renderMarkdown?(a(),r(s(n.tag||"span"),{key:0,class:"n-markdown",innerHTML:e(o).devtools.renderMarkdown(n.markdown)},null,8,["innerHTML"])):(a(),r(s(n.tag||"span"),{key:1,class:"n-markdown",textContent:d(n.markdown)},null,8,["textContent"]))}});export{i as _};
@@ -0,0 +1 @@
1
+ import{_ as n,o,c as s,Z as t}from"./entry.fbf2c464.js";const c={},r={class:"n-panel-grids-center"};function _(e,a){return o(),s("div",r,[t(e.$slots,"default")])}const d=n(c,[["render",_]]);export{d as _};
@@ -0,0 +1 @@
1
+ import{g,ar as y,c as r,a as o,n,b,w,q as i,F as c,x as B,y as S,Z as s,s as d,o as l,d as u,t as f,h as $,p as C,f as N,P as k,_ as x}from"./entry.fbf2c464.js";import{_ as I}from"./NIconTitle.vue.dc58a435.js";const v=t=>(C("data-v-a73dbcfe"),t=t(),N(),t),V=["open"],z={"text-base":""},T={key:0,"text-sm":"",op50:""},D=v(()=>o("div",{class:"flex-auto"},null,-1)),F=v(()=>o("div",{class:"x-divider"},null,-1)),q=g({__name:"NSectionBlock",props:{icon:{},text:{},description:{},containerClass:{default:""},headerClass:{},collapse:{type:Boolean,default:!0},open:{type:Boolean,default:!0},padding:{type:[Boolean,String],default:!0}},setup(t){const a=y(t,"open",void 0,{passive:!0});function _(e){a.value=e.target.open}return(e,p)=>{const m=k,h=I;return l(),r(c,null,[o("details",{open:i(a),onToggle:_},[o("summary",{class:n(["cursor-pointer select-none hover:bg-active p4",e.collapse?"":"pointer-events-none"])},[b(h,{icon:e.icon,text:e.text,"text-xl":"",transition:"",class:n([i(a)?"op100":"op60",e.headerClass])},{default:w(()=>[o("div",null,[o("div",z,[s(e.$slots,"text",{},()=>[u(f(e.text),1)],!0)]),e.description||e.$slots.description?(l(),r("div",T,[s(e.$slots,"description",{},()=>[u(f(e.description),1)],!0)])):d("",!0)]),D,s(e.$slots,"actions",{},void 0,!0),e.collapse?(l(),$(m,{key:0,icon:"carbon-chevron-down",class:"chevron","cursor-pointer":"","place-self-start":"","text-base":"",op75:"",transition:"","duration-500":""})):d("",!0)]),_:3},8,["icon","text","class"])],2),p._lazyshow1||i(a)?(p._lazyshow1=!0,l(),r(c,null,[B(o("div",{class:n(["flex flex-col flex-gap2 pb6 pt2",typeof e.padding=="string"?e.padding:e.padding?"px4":""])},[s(e.$slots,"details",{},void 0,!0),o("div",{class:n([e.containerClass,"mt1"])},[s(e.$slots,"default",{},void 0,!0)],2),s(e.$slots,"footer",{},void 0,!0)],2),[[S,i(a)]])],64)):d("v-show-if",!0)],40,V),F],64)}}});const Z=x(q,[["__scopeId","data-v-a73dbcfe"]]);export{Z as _};
@@ -0,0 +1 @@
1
+ import{g as u,ar as p,c as t,Z as l,x as f,bj as m,q as b,a as h,t as _,s as n,I as v,o as s,h as V,P as k}from"./entry.fbf2c464.js";const y={class:"n-text-input flex flex items-center border n-border-base rounded px-2 py-1 focus-within:n-focus-base focus-within:border-context n-bg-base"},B=["disabled"],g={key:0,value:"",disabled:"",hidden:""},S=u({__name:"NSelect",props:{modelValue:{default:void 0},placeholder:{default:""},icon:{default:""},disabled:{type:Boolean,default:!1}},setup(d,{emit:i}){const o=p(d,"modelValue",i,{passive:!0});return(e,a)=>{const r=k;return s(),t("div",y,[l(e.$slots,"icon",{},()=>[e.icon?(s(),V(r,{key:0,icon:e.icon,class:"mr-0.4em text-1.1em op50"},null,8,["icon"])):n("",!0)]),f(h("select",{"onUpdate:modelValue":a[0]||(a[0]=c=>v(o)?o.value=c:null),disabled:e.disabled,class:"w-full flex-auto n-bg-base !outline-none"},[e.placeholder?(s(),t("option",g,_(e.placeholder),1)):n("",!0),l(e.$slots,"default")],8,B),[[m,b(o)]])])}}});export{S as _};
@@ -1 +1 @@
1
- import{a as i,ar as c,o as r,e as u,v as h,bj as p,u as l,b as t,H as b,aO as v,Z as f}from"./entry.f3de3eb8.js";const k=["checked","disabled"],m=["disabled"],w=t("div",{class:"n-switch-slider n-checked:n-switch-slider-checked peer-active:n-active-base peer-focus-visible:n-focus-base n-transition"},[t("div",{class:"n-checked:n-switch-thumb-checked n-switch-thumb n-transition"})],-1),B=i({__name:"NSwitch",props:{modelValue:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(o,{emit:d}){const e=c(o,"modelValue",d,{passive:!0});return(a,s)=>(r(),u("label",{class:"n-switch n-switch-base hover:n-switch-hover n-disabled:n-disabled",checked:l(e)||null,disabled:a.disabled||null},[h(t("input",{"onUpdate:modelValue":s[0]||(s[0]=n=>b(e)?e.value=n:null),type:"checkbox",class:"peer absolute op0",disabled:a.disabled,onKeypress:s[1]||(s[1]=v(n=>e.value=!l(e),["enter"]))},null,40,m),[[p,l(e)]]),w,f(a.$slots,"default")],8,k))}});export{B as _};
1
+ import{g as i,ar as c,o as r,c as u,x as h,bi as p,q as l,a as t,I as b,aL as v,Z as f}from"./entry.fbf2c464.js";const k=["checked","disabled"],m=["disabled"],w=t("div",{class:"n-switch-slider n-checked:n-switch-slider-checked peer-active:n-active-base peer-focus-visible:n-focus-base n-transition"},[t("div",{class:"n-checked:n-switch-thumb-checked n-switch-thumb n-transition"})],-1),B=i({__name:"NSwitch",props:{modelValue:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(o,{emit:d}){const e=c(o,"modelValue",d,{passive:!0});return(a,s)=>(r(),u("label",{class:"n-switch n-switch-base hover:n-switch-hover n-disabled:n-disabled",checked:l(e)||null,disabled:a.disabled||null},[h(t("input",{"onUpdate:modelValue":s[0]||(s[0]=n=>b(e)?e.value=n:null),type:"checkbox",class:"peer absolute op0",disabled:a.disabled,onKeypress:s[1]||(s[1]=v(n=>e.value=!l(e),["enter"]))},null,40,m),[[p,l(e)]]),w,f(a.$slots,"default")],8,k))}});export{B as _};
@@ -1 +1 @@
1
- import{a,o,e as c,Z as n,c as t,q as i,b as r,P as l}from"./entry.f3de3eb8.js";const p={class:"n-tip n-tip-base"},u=a({__name:"NTip",props:{icon:{}},setup(_){return(e,m)=>{const s=l;return o(),c("div",p,[n(e.$slots,"icon",{},()=>[e.icon?(o(),t(s,{key:0,icon:e.icon,class:"n-tip-icon"},null,8,["icon"])):i("",!0)]),r("div",null,[n(e.$slots,"default")])])}}});export{u as _};
1
+ import{g as a,o,c,Z as n,h as t,s as i,a as r,P as l}from"./entry.fbf2c464.js";const p={class:"n-tip n-tip-base"},u=a({__name:"NTip",props:{icon:{}},setup(_){return(e,m)=>{const s=l;return o(),c("div",p,[n(e.$slots,"icon",{},()=>[e.icon?(o(),t(s,{key:0,icon:e.icon,class:"n-tip-icon"},null,8,["icon"])):i("",!0)]),r("div",null,[n(e.$slots,"default")])])}}});export{u as _};
@@ -0,0 +1 @@
1
+ import{g as r,c,a as d,Z as s,n,o as i,b as p,J as u}from"./entry.fbf2c464.js";const f={flex:"~ gap4"},g=r({__name:"Navbar",props:{search:{type:String,default:void 0},noPadding:{type:Boolean,default:!1}},emits:["update:search"],setup(e,{emit:o}){function t(a){o("update:search",a.target.value)}return(a,m)=>{const l=u;return i(),c("div",{flex:"~ col gap2",border:"b base","flex-1":"","navbar-glass":"",class:n([{p4:!e.noPadding}])},[d("div",f,[s(a.$slots,"search",{},()=>[p(l,{placeholder:"Search...",icon:"carbon-search",n:"primary","flex-auto":"",class:n({"px-5 py-2":!e.noPadding}),value:e.search,onInput:t},null,8,["class","value"])]),s(a.$slots,"actions")]),s(a.$slots,"default")],2)}}});export{g as _};
@@ -1 +1 @@
1
- import{b9 as S,o as P,e as f,Z as d,S as g,a as M,l as C,r as E,c as k,w as p,u as l,bg as y,f as c}from"./entry.f3de3eb8.js";const b={name:"splitpanes",emits:["ready","resize","resized","pane-click","pane-maximize","pane-add","pane-remove","splitter-click"],props:{horizontal:{type:Boolean},pushOtherPanes:{type:Boolean,default:!0},dblClickSplitter:{type:Boolean,default:!0},rtl:{type:Boolean,default:!1},firstSplitter:{type:Boolean}},provide(){return{requestUpdate:this.requestUpdate,onPaneAdd:this.onPaneAdd,onPaneRemove:this.onPaneRemove,onPaneClick:this.onPaneClick}},data:()=>({container:null,ready:!1,panes:[],touch:{mouseDown:!1,dragging:!1,activeSplitter:null},splitterTaps:{splitter:null,timeoutId:null}}),computed:{panesCount(){return this.panes.length},indexedPanes(){return this.panes.reduce((e,s)=>(e[s.id]=s)&&e,{})}},methods:{updatePaneComponents(){this.panes.forEach(e=>{e.update&&e.update({[this.horizontal?"height":"width"]:`${this.indexedPanes[e.id].size}%`})})},bindEvents(){document.addEventListener("mousemove",this.onMouseMove,{passive:!1}),document.addEventListener("mouseup",this.onMouseUp),"ontouchstart"in window&&(document.addEventListener("touchmove",this.onMouseMove,{passive:!1}),document.addEventListener("touchend",this.onMouseUp))},unbindEvents(){document.removeEventListener("mousemove",this.onMouseMove,{passive:!1}),document.removeEventListener("mouseup",this.onMouseUp),"ontouchstart"in window&&(document.removeEventListener("touchmove",this.onMouseMove,{passive:!1}),document.removeEventListener("touchend",this.onMouseUp))},onMouseDown(e,s){this.bindEvents(),this.touch.mouseDown=!0,this.touch.activeSplitter=s},onMouseMove(e){this.touch.mouseDown&&(e.preventDefault(),this.touch.dragging=!0,this.calculatePanesSize(this.getCurrentMouseDrag(e)),this.$emit("resize",this.panes.map(s=>({min:s.min,max:s.max,size:s.size}))))},onMouseUp(){this.touch.dragging&&this.$emit("resized",this.panes.map(e=>({min:e.min,max:e.max,size:e.size}))),this.touch.mouseDown=!1,setTimeout(()=>{this.touch.dragging=!1,this.unbindEvents()},100)},onSplitterClick(e,s){"ontouchstart"in window&&(e.preventDefault(),this.dblClickSplitter&&(this.splitterTaps.splitter===s?(clearTimeout(this.splitterTaps.timeoutId),this.splitterTaps.timeoutId=null,this.onSplitterDblClick(e,s),this.splitterTaps.splitter=null):(this.splitterTaps.splitter=s,this.splitterTaps.timeoutId=setTimeout(()=>{this.splitterTaps.splitter=null},500)))),this.touch.dragging||this.$emit("splitter-click",this.panes[s])},onSplitterDblClick(e,s){let n=0;this.panes=this.panes.map((i,t)=>(i.size=t===s?i.max:i.min,t!==s&&(n+=i.min),i)),this.panes[s].size-=n,this.$emit("pane-maximize",this.panes[s]),this.$emit("resized",this.panes.map(i=>({min:i.min,max:i.max,size:i.size})))},onPaneClick(e,s){this.$emit("pane-click",this.indexedPanes[s])},getCurrentMouseDrag(e){const s=this.container.getBoundingClientRect(),{clientX:n,clientY:i}="ontouchstart"in window&&e.touches?e.touches[0]:e;return{x:n-s.left,y:i-s.top}},getCurrentDragPercentage(e){e=e[this.horizontal?"y":"x"];const s=this.container[this.horizontal?"clientHeight":"clientWidth"];return this.rtl&&!this.horizontal&&(e=s-e),e*100/s},calculatePanesSize(e){const s=this.touch.activeSplitter;let n={prevPanesSize:this.sumPrevPanesSize(s),nextPanesSize:this.sumNextPanesSize(s),prevReachedMinPanes:0,nextReachedMinPanes:0};const i=0+(this.pushOtherPanes?0:n.prevPanesSize),t=100-(this.pushOtherPanes?0:n.nextPanesSize),a=Math.max(Math.min(this.getCurrentDragPercentage(e),t),i);let o=[s,s+1],r=this.panes[o[0]]||null,h=this.panes[o[1]]||null;const u=r.max<100&&a>=r.max+n.prevPanesSize,v=h.max<100&&a<=100-(h.max+this.sumNextPanesSize(s+1));if(u||v){u?(r.size=r.max,h.size=Math.max(100-r.max-n.prevPanesSize-n.nextPanesSize,0)):(r.size=Math.max(100-h.max-n.prevPanesSize-this.sumNextPanesSize(s+1),0),h.size=h.max);return}if(this.pushOtherPanes){const m=this.doPushOtherPanes(n,a);if(!m)return;({sums:n,panesToResize:o}=m),r=this.panes[o[0]]||null,h=this.panes[o[1]]||null}r!==null&&(r.size=Math.min(Math.max(a-n.prevPanesSize-n.prevReachedMinPanes,r.min),r.max)),h!==null&&(h.size=Math.min(Math.max(100-a-n.nextPanesSize-n.nextReachedMinPanes,h.min),h.max))},doPushOtherPanes(e,s){const n=this.touch.activeSplitter,i=[n,n+1];return s<e.prevPanesSize+this.panes[i[0]].min&&(i[0]=this.findPrevExpandedPane(n).index,e.prevReachedMinPanes=0,i[0]<n&&this.panes.forEach((t,a)=>{a>i[0]&&a<=n&&(t.size=t.min,e.prevReachedMinPanes+=t.min)}),e.prevPanesSize=this.sumPrevPanesSize(i[0]),i[0]===void 0)?(e.prevReachedMinPanes=0,this.panes[0].size=this.panes[0].min,this.panes.forEach((t,a)=>{a>0&&a<=n&&(t.size=t.min,e.prevReachedMinPanes+=t.min)}),this.panes[i[1]].size=100-e.prevReachedMinPanes-this.panes[0].min-e.prevPanesSize-e.nextPanesSize,null):s>100-e.nextPanesSize-this.panes[i[1]].min&&(i[1]=this.findNextExpandedPane(n).index,e.nextReachedMinPanes=0,i[1]>n+1&&this.panes.forEach((t,a)=>{a>n&&a<i[1]&&(t.size=t.min,e.nextReachedMinPanes+=t.min)}),e.nextPanesSize=this.sumNextPanesSize(i[1]-1),i[1]===void 0)?(e.nextReachedMinPanes=0,this.panes[this.panesCount-1].size=this.panes[this.panesCount-1].min,this.panes.forEach((t,a)=>{a<this.panesCount-1&&a>=n+1&&(t.size=t.min,e.nextReachedMinPanes+=t.min)}),this.panes[i[0]].size=100-e.prevPanesSize-e.nextReachedMinPanes-this.panes[this.panesCount-1].min-e.nextPanesSize,null):{sums:e,panesToResize:i}},sumPrevPanesSize(e){return this.panes.reduce((s,n,i)=>s+(i<e?n.size:0),0)},sumNextPanesSize(e){return this.panes.reduce((s,n,i)=>s+(i>e+1?n.size:0),0)},findPrevExpandedPane(e){return[...this.panes].reverse().find(s=>s.index<e&&s.size>s.min)||{}},findNextExpandedPane(e){return this.panes.find(s=>s.index>e+1&&s.size>s.min)||{}},checkSplitpanesNodes(){Array.from(this.container.children).forEach(e=>{const s=e.classList.contains("splitpanes__pane"),n=e.classList.contains("splitpanes__splitter");!s&&!n&&(e.parentNode.removeChild(e),console.warn("Splitpanes: Only <pane> elements are allowed at the root of <splitpanes>. One of your DOM nodes was removed."))})},addSplitter(e,s,n=!1){const i=e-1,t=document.createElement("div");t.classList.add("splitpanes__splitter"),n||(t.onmousedown=a=>this.onMouseDown(a,i),typeof window<"u"&&"ontouchstart"in window&&(t.ontouchstart=a=>this.onMouseDown(a,i)),t.onclick=a=>this.onSplitterClick(a,i+1)),this.dblClickSplitter&&(t.ondblclick=a=>this.onSplitterDblClick(a,i+1)),s.parentNode.insertBefore(t,s)},removeSplitter(e){e.onmousedown=void 0,e.onclick=void 0,e.ondblclick=void 0,e.parentNode.removeChild(e)},redoSplitters(){const e=Array.from(this.container.children);e.forEach(n=>{n.className.includes("splitpanes__splitter")&&this.removeSplitter(n)});let s=0;e.forEach(n=>{n.className.includes("splitpanes__pane")&&(!s&&this.firstSplitter?this.addSplitter(s,n,!0):s&&this.addSplitter(s,n),s++)})},requestUpdate({target:e,...s}){const n=this.indexedPanes[e._.uid];Object.entries(s).forEach(([i,t])=>n[i]=t)},onPaneAdd(e){let s=-1;Array.from(e.$el.parentNode.children).some(t=>(t.className.includes("splitpanes__pane")&&s++,t===e.$el));const n=parseFloat(e.minSize),i=parseFloat(e.maxSize);this.panes.splice(s,0,{id:e._.uid,index:s,min:isNaN(n)?0:n,max:isNaN(i)?100:i,size:e.size===null?null:parseFloat(e.size),givenSize:e.size,update:e.update}),this.panes.forEach((t,a)=>t.index=a),this.ready&&this.$nextTick(()=>{this.redoSplitters(),this.resetPaneSizes({addedPane:this.panes[s]}),this.$emit("pane-add",{index:s,panes:this.panes.map(t=>({min:t.min,max:t.max,size:t.size}))})})},onPaneRemove(e){const s=this.panes.findIndex(i=>i.id===e._.uid),n=this.panes.splice(s,1)[0];this.panes.forEach((i,t)=>i.index=t),this.$nextTick(()=>{this.redoSplitters(),this.resetPaneSizes({removedPane:{...n,index:s}}),this.$emit("pane-remove",{removed:n,panes:this.panes.map(i=>({min:i.min,max:i.max,size:i.size}))})})},resetPaneSizes(e={}){!e.addedPane&&!e.removedPane?this.initialPanesSizing():this.panes.some(s=>s.givenSize!==null||s.min||s.max<100)?this.equalizeAfterAddOrRemove(e):this.equalize(),this.ready&&this.$emit("resized",this.panes.map(s=>({min:s.min,max:s.max,size:s.size})))},equalize(){const e=100/this.panesCount;let s=0;const n=[],i=[];this.panes.forEach(t=>{t.size=Math.max(Math.min(e,t.max),t.min),s-=t.size,t.size>=t.max&&n.push(t.id),t.size<=t.min&&i.push(t.id)}),s>.1&&this.readjustSizes(s,n,i)},initialPanesSizing(){let e=100;const s=[],n=[];let i=0;this.panes.forEach(a=>{e-=a.size,a.size!==null&&i++,a.size>=a.max&&s.push(a.id),a.size<=a.min&&n.push(a.id)});let t=100;e>.1&&(this.panes.forEach(a=>{a.size===null&&(a.size=Math.max(Math.min(e/(this.panesCount-i),a.max),a.min)),t-=a.size}),t>.1&&this.readjustSizes(e,s,n))},equalizeAfterAddOrRemove({addedPane:e,removedPane:s}={}){let n=100/this.panesCount,i=0;const t=[],a=[];e&&e.givenSize!==null&&(n=(100-e.givenSize)/(this.panesCount-1)),this.panes.forEach(o=>{i-=o.size,o.size>=o.max&&t.push(o.id),o.size<=o.min&&a.push(o.id)}),!(Math.abs(i)<.1)&&(this.panes.forEach(o=>{e&&e.givenSize!==null&&e.id===o.id||(o.size=Math.max(Math.min(n,o.max),o.min)),i-=o.size,o.size>=o.max&&t.push(o.id),o.size<=o.min&&a.push(o.id)}),i>.1&&this.readjustSizes(i,t,a))},readjustSizes(e,s,n){let i;e>0?i=e/(this.panesCount-s.length):i=e/(this.panesCount-n.length),this.panes.forEach((t,a)=>{if(e>0&&!s.includes(t.id)){const o=Math.max(Math.min(t.size+i,t.max),t.min),r=o-t.size;e-=r,t.size=o}else if(!n.includes(t.id)){const o=Math.max(Math.min(t.size+i,t.max),t.min),r=o-t.size;e-=r,t.size=o}t.update({[this.horizontal?"height":"width"]:`${this.indexedPanes[t.id].size}%`})}),Math.abs(e)>.1&&this.$nextTick(()=>{this.ready&&console.warn("Splitpanes: Could not resize panes correctly due to their constraints.")})}},watch:{panes:{deep:!0,immediate:!1,handler(){this.updatePaneComponents()}},horizontal(){this.updatePaneComponents()},firstSplitter(){this.redoSplitters()},dblClickSplitter(e){[...this.container.querySelectorAll(".splitpanes__splitter")].forEach((s,n)=>{s.ondblclick=e?i=>this.onSplitterDblClick(i,n):void 0})}},beforeUnmount(){this.ready=!1},mounted(){this.container=this.$refs.container,this.checkSplitpanesNodes(),this.redoSplitters(),this.resetPaneSizes(),this.$emit("ready"),this.ready=!0},render(){return S("div",{ref:"container",class:["splitpanes",`splitpanes--${this.horizontal?"horizontal":"vertical"}`,{"splitpanes--dragging":this.touch.dragging}]},this.$slots.default())}},w=(e,s)=>{const n=e.__vccOpts||e;for(const[i,t]of s)n[i]=t;return n},N={name:"pane",inject:["requestUpdate","onPaneAdd","onPaneRemove","onPaneClick"],props:{size:{type:[Number,String],default:null},minSize:{type:[Number,String],default:0},maxSize:{type:[Number,String],default:100}},data:()=>({style:{}}),mounted(){this.onPaneAdd(this)},beforeUnmount(){this.onPaneRemove(this)},methods:{update(e){this.style=e}},computed:{sizeNumber(){return this.size||this.size===0?parseFloat(this.size):null},minSizeNumber(){return parseFloat(this.minSize)},maxSizeNumber(){return parseFloat(this.maxSize)}},watch:{sizeNumber(e){this.requestUpdate({target:this,size:e})},minSizeNumber(e){this.requestUpdate({target:this,min:e})},maxSizeNumber(e){this.requestUpdate({target:this,max:e})}}};function _(e,s,n,i,t,a){return P(),f("div",{class:"splitpanes__pane",onClick:s[0]||(s[0]=o=>a.onPaneClick(o,e._.uid)),style:g(e.style)},[d(e.$slots,"default")],4)}const z=w(N,[["render",_]]),x=30,$=M({__name:"PanelLeftRight",props:{storageKey:{},leftSize:{}},setup(e){const s=e,n=y(),i=s.storageKey,t=i?C({get:()=>n.value[i]||s.leftSize||x,set:a=>{n.value[i]=a}}):E(s.leftSize||x);return(a,o)=>(P(),k(l(b),{"h-full":"","of-hidden":"",onResize:o[0]||(o[0]=r=>t.value=r[0].size)},{default:p(()=>[c(l(z),{border:"r base","h-full":"",class:"of-auto!",size:l(t),"min-size":"10"},{default:p(()=>[d(a.$slots,"left")]),_:3},8,["size"]),c(l(z),{relative:"","h-full":"",class:"of-auto!","min-size":"10"},{default:p(()=>[d(a.$slots,"right")]),_:3})]),_:3}))}});export{$ as _};
1
+ import{b8 as S,o as P,c as f,Z as d,S as g,g as M,l as C,r as E,h as b,w as p,q as l,bf as k,b as c}from"./entry.fbf2c464.js";const y={name:"splitpanes",emits:["ready","resize","resized","pane-click","pane-maximize","pane-add","pane-remove","splitter-click"],props:{horizontal:{type:Boolean},pushOtherPanes:{type:Boolean,default:!0},dblClickSplitter:{type:Boolean,default:!0},rtl:{type:Boolean,default:!1},firstSplitter:{type:Boolean}},provide(){return{requestUpdate:this.requestUpdate,onPaneAdd:this.onPaneAdd,onPaneRemove:this.onPaneRemove,onPaneClick:this.onPaneClick}},data:()=>({container:null,ready:!1,panes:[],touch:{mouseDown:!1,dragging:!1,activeSplitter:null},splitterTaps:{splitter:null,timeoutId:null}}),computed:{panesCount(){return this.panes.length},indexedPanes(){return this.panes.reduce((e,s)=>(e[s.id]=s)&&e,{})}},methods:{updatePaneComponents(){this.panes.forEach(e=>{e.update&&e.update({[this.horizontal?"height":"width"]:`${this.indexedPanes[e.id].size}%`})})},bindEvents(){document.addEventListener("mousemove",this.onMouseMove,{passive:!1}),document.addEventListener("mouseup",this.onMouseUp),"ontouchstart"in window&&(document.addEventListener("touchmove",this.onMouseMove,{passive:!1}),document.addEventListener("touchend",this.onMouseUp))},unbindEvents(){document.removeEventListener("mousemove",this.onMouseMove,{passive:!1}),document.removeEventListener("mouseup",this.onMouseUp),"ontouchstart"in window&&(document.removeEventListener("touchmove",this.onMouseMove,{passive:!1}),document.removeEventListener("touchend",this.onMouseUp))},onMouseDown(e,s){this.bindEvents(),this.touch.mouseDown=!0,this.touch.activeSplitter=s},onMouseMove(e){this.touch.mouseDown&&(e.preventDefault(),this.touch.dragging=!0,this.calculatePanesSize(this.getCurrentMouseDrag(e)),this.$emit("resize",this.panes.map(s=>({min:s.min,max:s.max,size:s.size}))))},onMouseUp(){this.touch.dragging&&this.$emit("resized",this.panes.map(e=>({min:e.min,max:e.max,size:e.size}))),this.touch.mouseDown=!1,setTimeout(()=>{this.touch.dragging=!1,this.unbindEvents()},100)},onSplitterClick(e,s){"ontouchstart"in window&&(e.preventDefault(),this.dblClickSplitter&&(this.splitterTaps.splitter===s?(clearTimeout(this.splitterTaps.timeoutId),this.splitterTaps.timeoutId=null,this.onSplitterDblClick(e,s),this.splitterTaps.splitter=null):(this.splitterTaps.splitter=s,this.splitterTaps.timeoutId=setTimeout(()=>{this.splitterTaps.splitter=null},500)))),this.touch.dragging||this.$emit("splitter-click",this.panes[s])},onSplitterDblClick(e,s){let n=0;this.panes=this.panes.map((i,t)=>(i.size=t===s?i.max:i.min,t!==s&&(n+=i.min),i)),this.panes[s].size-=n,this.$emit("pane-maximize",this.panes[s]),this.$emit("resized",this.panes.map(i=>({min:i.min,max:i.max,size:i.size})))},onPaneClick(e,s){this.$emit("pane-click",this.indexedPanes[s])},getCurrentMouseDrag(e){const s=this.container.getBoundingClientRect(),{clientX:n,clientY:i}="ontouchstart"in window&&e.touches?e.touches[0]:e;return{x:n-s.left,y:i-s.top}},getCurrentDragPercentage(e){e=e[this.horizontal?"y":"x"];const s=this.container[this.horizontal?"clientHeight":"clientWidth"];return this.rtl&&!this.horizontal&&(e=s-e),e*100/s},calculatePanesSize(e){const s=this.touch.activeSplitter;let n={prevPanesSize:this.sumPrevPanesSize(s),nextPanesSize:this.sumNextPanesSize(s),prevReachedMinPanes:0,nextReachedMinPanes:0};const i=0+(this.pushOtherPanes?0:n.prevPanesSize),t=100-(this.pushOtherPanes?0:n.nextPanesSize),a=Math.max(Math.min(this.getCurrentDragPercentage(e),t),i);let o=[s,s+1],r=this.panes[o[0]]||null,h=this.panes[o[1]]||null;const u=r.max<100&&a>=r.max+n.prevPanesSize,v=h.max<100&&a<=100-(h.max+this.sumNextPanesSize(s+1));if(u||v){u?(r.size=r.max,h.size=Math.max(100-r.max-n.prevPanesSize-n.nextPanesSize,0)):(r.size=Math.max(100-h.max-n.prevPanesSize-this.sumNextPanesSize(s+1),0),h.size=h.max);return}if(this.pushOtherPanes){const m=this.doPushOtherPanes(n,a);if(!m)return;({sums:n,panesToResize:o}=m),r=this.panes[o[0]]||null,h=this.panes[o[1]]||null}r!==null&&(r.size=Math.min(Math.max(a-n.prevPanesSize-n.prevReachedMinPanes,r.min),r.max)),h!==null&&(h.size=Math.min(Math.max(100-a-n.nextPanesSize-n.nextReachedMinPanes,h.min),h.max))},doPushOtherPanes(e,s){const n=this.touch.activeSplitter,i=[n,n+1];return s<e.prevPanesSize+this.panes[i[0]].min&&(i[0]=this.findPrevExpandedPane(n).index,e.prevReachedMinPanes=0,i[0]<n&&this.panes.forEach((t,a)=>{a>i[0]&&a<=n&&(t.size=t.min,e.prevReachedMinPanes+=t.min)}),e.prevPanesSize=this.sumPrevPanesSize(i[0]),i[0]===void 0)?(e.prevReachedMinPanes=0,this.panes[0].size=this.panes[0].min,this.panes.forEach((t,a)=>{a>0&&a<=n&&(t.size=t.min,e.prevReachedMinPanes+=t.min)}),this.panes[i[1]].size=100-e.prevReachedMinPanes-this.panes[0].min-e.prevPanesSize-e.nextPanesSize,null):s>100-e.nextPanesSize-this.panes[i[1]].min&&(i[1]=this.findNextExpandedPane(n).index,e.nextReachedMinPanes=0,i[1]>n+1&&this.panes.forEach((t,a)=>{a>n&&a<i[1]&&(t.size=t.min,e.nextReachedMinPanes+=t.min)}),e.nextPanesSize=this.sumNextPanesSize(i[1]-1),i[1]===void 0)?(e.nextReachedMinPanes=0,this.panes[this.panesCount-1].size=this.panes[this.panesCount-1].min,this.panes.forEach((t,a)=>{a<this.panesCount-1&&a>=n+1&&(t.size=t.min,e.nextReachedMinPanes+=t.min)}),this.panes[i[0]].size=100-e.prevPanesSize-e.nextReachedMinPanes-this.panes[this.panesCount-1].min-e.nextPanesSize,null):{sums:e,panesToResize:i}},sumPrevPanesSize(e){return this.panes.reduce((s,n,i)=>s+(i<e?n.size:0),0)},sumNextPanesSize(e){return this.panes.reduce((s,n,i)=>s+(i>e+1?n.size:0),0)},findPrevExpandedPane(e){return[...this.panes].reverse().find(s=>s.index<e&&s.size>s.min)||{}},findNextExpandedPane(e){return this.panes.find(s=>s.index>e+1&&s.size>s.min)||{}},checkSplitpanesNodes(){Array.from(this.container.children).forEach(e=>{const s=e.classList.contains("splitpanes__pane"),n=e.classList.contains("splitpanes__splitter");!s&&!n&&(e.parentNode.removeChild(e),console.warn("Splitpanes: Only <pane> elements are allowed at the root of <splitpanes>. One of your DOM nodes was removed."))})},addSplitter(e,s,n=!1){const i=e-1,t=document.createElement("div");t.classList.add("splitpanes__splitter"),n||(t.onmousedown=a=>this.onMouseDown(a,i),typeof window<"u"&&"ontouchstart"in window&&(t.ontouchstart=a=>this.onMouseDown(a,i)),t.onclick=a=>this.onSplitterClick(a,i+1)),this.dblClickSplitter&&(t.ondblclick=a=>this.onSplitterDblClick(a,i+1)),s.parentNode.insertBefore(t,s)},removeSplitter(e){e.onmousedown=void 0,e.onclick=void 0,e.ondblclick=void 0,e.parentNode.removeChild(e)},redoSplitters(){const e=Array.from(this.container.children);e.forEach(n=>{n.className.includes("splitpanes__splitter")&&this.removeSplitter(n)});let s=0;e.forEach(n=>{n.className.includes("splitpanes__pane")&&(!s&&this.firstSplitter?this.addSplitter(s,n,!0):s&&this.addSplitter(s,n),s++)})},requestUpdate({target:e,...s}){const n=this.indexedPanes[e._.uid];Object.entries(s).forEach(([i,t])=>n[i]=t)},onPaneAdd(e){let s=-1;Array.from(e.$el.parentNode.children).some(t=>(t.className.includes("splitpanes__pane")&&s++,t===e.$el));const n=parseFloat(e.minSize),i=parseFloat(e.maxSize);this.panes.splice(s,0,{id:e._.uid,index:s,min:isNaN(n)?0:n,max:isNaN(i)?100:i,size:e.size===null?null:parseFloat(e.size),givenSize:e.size,update:e.update}),this.panes.forEach((t,a)=>t.index=a),this.ready&&this.$nextTick(()=>{this.redoSplitters(),this.resetPaneSizes({addedPane:this.panes[s]}),this.$emit("pane-add",{index:s,panes:this.panes.map(t=>({min:t.min,max:t.max,size:t.size}))})})},onPaneRemove(e){const s=this.panes.findIndex(i=>i.id===e._.uid),n=this.panes.splice(s,1)[0];this.panes.forEach((i,t)=>i.index=t),this.$nextTick(()=>{this.redoSplitters(),this.resetPaneSizes({removedPane:{...n,index:s}}),this.$emit("pane-remove",{removed:n,panes:this.panes.map(i=>({min:i.min,max:i.max,size:i.size}))})})},resetPaneSizes(e={}){!e.addedPane&&!e.removedPane?this.initialPanesSizing():this.panes.some(s=>s.givenSize!==null||s.min||s.max<100)?this.equalizeAfterAddOrRemove(e):this.equalize(),this.ready&&this.$emit("resized",this.panes.map(s=>({min:s.min,max:s.max,size:s.size})))},equalize(){const e=100/this.panesCount;let s=0;const n=[],i=[];this.panes.forEach(t=>{t.size=Math.max(Math.min(e,t.max),t.min),s-=t.size,t.size>=t.max&&n.push(t.id),t.size<=t.min&&i.push(t.id)}),s>.1&&this.readjustSizes(s,n,i)},initialPanesSizing(){let e=100;const s=[],n=[];let i=0;this.panes.forEach(a=>{e-=a.size,a.size!==null&&i++,a.size>=a.max&&s.push(a.id),a.size<=a.min&&n.push(a.id)});let t=100;e>.1&&(this.panes.forEach(a=>{a.size===null&&(a.size=Math.max(Math.min(e/(this.panesCount-i),a.max),a.min)),t-=a.size}),t>.1&&this.readjustSizes(e,s,n))},equalizeAfterAddOrRemove({addedPane:e,removedPane:s}={}){let n=100/this.panesCount,i=0;const t=[],a=[];e&&e.givenSize!==null&&(n=(100-e.givenSize)/(this.panesCount-1)),this.panes.forEach(o=>{i-=o.size,o.size>=o.max&&t.push(o.id),o.size<=o.min&&a.push(o.id)}),!(Math.abs(i)<.1)&&(this.panes.forEach(o=>{e&&e.givenSize!==null&&e.id===o.id||(o.size=Math.max(Math.min(n,o.max),o.min)),i-=o.size,o.size>=o.max&&t.push(o.id),o.size<=o.min&&a.push(o.id)}),i>.1&&this.readjustSizes(i,t,a))},readjustSizes(e,s,n){let i;e>0?i=e/(this.panesCount-s.length):i=e/(this.panesCount-n.length),this.panes.forEach((t,a)=>{if(e>0&&!s.includes(t.id)){const o=Math.max(Math.min(t.size+i,t.max),t.min),r=o-t.size;e-=r,t.size=o}else if(!n.includes(t.id)){const o=Math.max(Math.min(t.size+i,t.max),t.min),r=o-t.size;e-=r,t.size=o}t.update({[this.horizontal?"height":"width"]:`${this.indexedPanes[t.id].size}%`})}),Math.abs(e)>.1&&this.$nextTick(()=>{this.ready&&console.warn("Splitpanes: Could not resize panes correctly due to their constraints.")})}},watch:{panes:{deep:!0,immediate:!1,handler(){this.updatePaneComponents()}},horizontal(){this.updatePaneComponents()},firstSplitter(){this.redoSplitters()},dblClickSplitter(e){[...this.container.querySelectorAll(".splitpanes__splitter")].forEach((s,n)=>{s.ondblclick=e?i=>this.onSplitterDblClick(i,n):void 0})}},beforeUnmount(){this.ready=!1},mounted(){this.container=this.$refs.container,this.checkSplitpanesNodes(),this.redoSplitters(),this.resetPaneSizes(),this.$emit("ready"),this.ready=!0},render(){return S("div",{ref:"container",class:["splitpanes",`splitpanes--${this.horizontal?"horizontal":"vertical"}`,{"splitpanes--dragging":this.touch.dragging}]},this.$slots.default())}},w=(e,s)=>{const n=e.__vccOpts||e;for(const[i,t]of s)n[i]=t;return n},N={name:"pane",inject:["requestUpdate","onPaneAdd","onPaneRemove","onPaneClick"],props:{size:{type:[Number,String],default:null},minSize:{type:[Number,String],default:0},maxSize:{type:[Number,String],default:100}},data:()=>({style:{}}),mounted(){this.onPaneAdd(this)},beforeUnmount(){this.onPaneRemove(this)},methods:{update(e){this.style=e}},computed:{sizeNumber(){return this.size||this.size===0?parseFloat(this.size):null},minSizeNumber(){return parseFloat(this.minSize)},maxSizeNumber(){return parseFloat(this.maxSize)}},watch:{sizeNumber(e){this.requestUpdate({target:this,size:e})},minSizeNumber(e){this.requestUpdate({target:this,min:e})},maxSizeNumber(e){this.requestUpdate({target:this,max:e})}}};function _(e,s,n,i,t,a){return P(),f("div",{class:"splitpanes__pane",onClick:s[0]||(s[0]=o=>a.onPaneClick(o,e._.uid)),style:g(e.style)},[d(e.$slots,"default")],4)}const z=w(N,[["render",_]]),x=30,$=M({__name:"PanelLeftRight",props:{storageKey:{},leftSize:{}},setup(e){const s=e,n=k(),i=s.storageKey,t=i?C({get:()=>n.value[i]||s.leftSize||x,set:a=>{n.value[i]=a}}):E(s.leftSize||x);return(a,o)=>(P(),b(l(y),{"h-full":"","of-hidden":"",onResize:o[0]||(o[0]=r=>t.value=r[0].size)},{default:p(()=>[c(l(z),{border:"r base","h-full":"",class:"of-auto!",size:l(t),"min-size":"10"},{default:p(()=>[d(a.$slots,"left")]),_:3},8,["size"]),c(l(z),{relative:"","h-full":"",class:"of-auto!","min-size":"10"},{default:p(()=>[d(a.$slots,"right")]),_:3})]),_:3}))}});export{$ as _};
@@ -0,0 +1 @@
1
+ import{_ as h}from"./NIconButton.vue.24522062.js";import{g as B,ar as N,a0 as S,r as C,aY as O,o as r,c as l,a as p,n as d,q as s,t as V,s as u,Z as w,aB as _,aC as j,h as f,F as J,af as P,aZ as $,I as z,ai as M}from"./entry.fbf2c464.js";import{U as R}from"./json-editor-vue.d5db52dc.js";const U=["open"],A={flex:"~ gap2","select-none":"","items-center":"",px4:""},E={key:1,"bg-active":"",p5:"",italic:""},F=p("span",{op50:""},"No data",-1),I=[F],T=B({__name:"StateEditor",props:{name:{},open:{type:Boolean},state:{},readonly:{type:Boolean}},emits:["update:open"],setup(v,{emit:k}){const i=v,n=N(i,"open",k,{passive:!0}),g=S(),o=C();o.value=JSON.parse(JSON.stringify(i.state));const c=O(o,e=>{m(e,i.state)},{deep:!0});function m(e,t){for(const a in e)e[a]===null?t[a]=null:Array.isArray(e[a])?t[a]=e[a].slice():typeof e[a]=="object"?m(e[a],t[a]):t[a]=e[a]}async function b(){c.pause(),o.value=JSON.parse(JSON.stringify(i.state)),await M(),c.resume()}return(e,t)=>{const a=h;return r(),l("div",{class:"state-editor-details",open:e.name?s(n):!0},[p("div",A,[e.name?(r(),l("button",{key:0,flex:"~","cursor-pointer":"","items-center":"",class:d(s(n)?"":"op50"),onClick:t[0]||(t[0]=y=>n.value=!s(n))},[p("div",{"i-carbon-chevron-right":"",transition:"",class:d(s(n)?"rotate-90 op0":"")},null,2),p("code",{px3:"",py1:"","font-mono":"",class:d(s(n)?"bg-[#8881] rounded-t":"rounded hover:bg-active")},V(e.name),3)],2)):u("",!0),w(e.$slots,"actions",_(j({isOpen:s(n),name:e.name,state:e.state}))),s(n)?(r(),f(a,{key:1,title:"Refresh View",icon:"carbon-renew",onClick:b})):u("",!0)]),s(n)||!e.name?(r(),l(J,{key:0},[e.state&&Object.keys(e.state).length>0?(r(),f(s(R),P({key:0,modelValue:s(o),"onUpdate:modelValue":t[1]||(t[1]=y=>z(o)?o.value=y:null)},e.$attrs,{class:["json-editor-vue",[s(g).value==="dark"?"jse-theme-dark":"",(e.name,"")]],"main-menu-bar":!1,"navigation-bar":!1,"status-bar":!1,"read-only":"readonly"in e?e.readonly:s($),indentation:2,"tab-size":2}),null,16,["modelValue","class","read-only"])):(r(),l("div",E,I))],64)):u("",!0)],8,U)}}});export{T as _};
@@ -0,0 +1 @@
1
+ import{_ as o}from"./NPanelGrids.eec702e8.js";import{g as n,h as t,w as _,o as a,a as s}from"./entry.fbf2c464.js";const r=s("div",null," Your App ",-1),u=n({__name:"__blank",setup(c){return(p,m)=>{const e=o;return a(),t(e,{"h-screen":"","w-screen":"",px5:""},{default:_(()=>[r]),_:1})}}});export{u as default};
@@ -1 +1 @@
1
- import{a as j,l as I,r as V,o,e as a,b as e,F as m,m as E,p as F,u as n,t as _,q as y,s as P,f as s,w as i,j as p,v as T,x as A,y as R,z as U,h as G,A as X,B as ee,C as te,D as ne,E as oe,G as C,c as w,H as S,I as le,J as ie,K as se}from"./entry.f3de3eb8.js";import{_ as ae}from"./FilepathItem.vue.df9b46ef.js";import{_ as re}from"./NPanelGrids.fc7166ff.js";import{_ as ue}from"./PanelLeftRight.vue.1e85c7f2.js";import{_ as de}from"./NTip.vue.c99855ad.js";import{_ as ce}from"./NCodeBlock.vue.de2cd5a6.js";import{_ as me}from"./NCheckbox.vue.df53e265.js";import{_ as _e}from"./HelpFab.vue.49173e4b.js";import"./editor.24e006dd.js";import"./client.aa60153e.js";import"./NIconButton.vue.e211c1b6.js";const pe={"h-full":"",grid:"~ rows-[max-content_1fr]"},fe={flex:"~ wrap","w-full":""},ve=["onClick"],he=e("div",{border:"b base","flex-auto":""},null,-1),ye={key:0,flex:"~ col gap-4 items-center justify-center",p4:""},xe=e("div",{"flex-auto":""},null,-1),$e={grid:"~ cols-[30px_1fr] gap-x-2 gap-y-3 items-center justify-center","w-100":""},be=e("div",{"i-carbon-commit":"","text-xl":""},null,-1),ge=e("div",{"text-sm":"",op50:""}," Name ",-1),we=e("div",{"i-carbon-time":"","text-xl":""},null,-1),ze=e("div",{"text-sm":"",op50:""}," Build duration ",-1),Be=e("div",{"i-carbon-cics-program":"","text-xl":""},null,-1),ke=e("div",{"text-sm":"",op50:""}," Client bundle size ",-1),Ce=e("div",{"i-carbon-bare-metal-server":"","text-xl":""},null,-1),Ne=e("div",{"text-sm":"",op50:""}," Nitro bundle size ",-1),Te=e("div",{"i-carbon-edge-node":"","text-xl":""},null,-1),Ae=e("div",{"text-sm":"",op50:""}," Built ",-1),De=e("div",{"i-carbon:folder-parent":"","text-xl":""},null,-1),Ie=e("div",{"text-sm":"",op50:""}," Report Path ",-1),Ve=e("div",{"flex-auto":""},null,-1),D="/__nuxt_devtools__/analyze/",Fe=j({__name:"BuildAnalyzeDetails",props:{current:{},prev:{}},setup(N){const f=N,v=I(()=>{const t=[{name:"Overview",id:"overview"}];return f.current.features.bundleClient&&t.push({name:"Client Bundle",id:"bundle-client"}),f.current.features.bundleNitro&&t.push({name:"Nitro Bundle",id:"bundle-nitro"}),f.current.features.viteInspect&&t.push({name:"Vite Inspect",id:"vite-inspect"}),t}),l=V(v.value[0]);function b(t){return t<1024?`${t}B`:t<1024*1024?`${(t/1024).toFixed(1)}KB`:t<1024*1024*1024?`${(t/1024/1024).toFixed(1)}MB`:`${(t/1024/1024/1024).toFixed(1)}GB`}function g(t){return`${((t.endTime-t.startTime)/1e3).toFixed(1)}s`}async function x(t){return R.clearAnalyzeBuilds(await U(),[t])}return(t,c)=>{const z=ae,B=G;return o(),a("div",pe,[e("div",fe,[(o(!0),a(m,null,E(n(v),(h,u)=>(o(),a("button",{key:u,px4:"",py2:"",border:"r base",hover:"bg-active",class:F(h.id===n(l).id?"":"border-b"),onClick:d=>l.value=h},[e("div",{class:F(h.id===n(l).id?"":"op30")},_(h.name),3)],10,ve))),128)),he]),n(l).id==="overview"?(o(),a("div",ye,[xe,e("div",$e,[be,e("div",null,[ge,e("div",null,_(t.current.name),1)]),we,e("div",null,[ze,e("div",null,_(g(t.current)),1)]),t.current.size?.clientBundle?(o(),a(m,{key:0},[Be,e("div",null,[ke,e("div",null,_(b(t.current.size.clientBundle)),1)])],64)):y("",!0),t.current.size.nitroBundle?(o(),a(m,{key:1},[Ce,e("div",null,[Ne,e("div",null,_(b(t.current.size.nitroBundle)),1)])],64)):y("",!0),Te,e("div",null,[Ae,e("div",null,_(n(P)(new Date(t.current.endTime))),1)]),De,e("div",null,[Ie,s(z,{filepath:t.current.analyzeDir},null,8,["filepath"])])]),Ve,s(B,{n:"rose",icon:"carbon-delete",onClick:c[0]||(c[0]=h=>x(t.current.name))},{default:i(()=>[p(" Delete this report ")]),_:1})])):y("",!0),c._lazyshow1||n(l).id==="bundle-client"?(c._lazyshow1=!0,o(),a(m,null,[T(e("iframe",{src:`${D}${t.current.slug}/client.html`,"h-full":"","w-full":""},null,8,["src"]),[[A,n(l).id==="bundle-client"]])],64)):y("v-show-if",!0),c._lazyshow2||n(l).id==="bundle-nitro"?(c._lazyshow2=!0,o(),a(m,null,[T(e("iframe",{src:`${D}${t.current.slug}/nitro.html`,"h-full":"","w-full":""},null,8,["src"]),[[A,n(l).id==="bundle-nitro"]])],64)):y("v-show-if",!0),c._lazyshow3||n(l).id==="vite-inspect"?(c._lazyshow3=!0,o(),a(m,null,[T(e("iframe",{src:`${D}${t.current.slug}/.vite-inspect/`,"h-full":"","w-full":""},null,8,["src"]),[[A,n(l).id==="vite-inspect"]])],64)):y("v-show-if",!0)])}}}),Re={class:"markdown-body"},Se=e("h1",null,"Build Analyze",-1),je=e("p",null,[p("DevTools provides a build analyze tool to help you understand the size of your app in production. Whenever you start a new build, it runs the command "),e("code",null,"nuxt build --analyze"),p(" and present the output data directly in DevTools for easy browsing and comparing.")],-1),Ee=[Se,je],Pe={__name:"analyze-build",setup(N,{expose:f}){return f({frontmatter:{}}),(l,b)=>(o(),a("div",Re,Ee))}},Ue={flex:"~ col"},Ge={flex:"~ gap-1 items-center wrap","text-sm":"",op60:""},Le=e("div",{"i-carbon-time":""},null,-1),qe=e("div",{"flex-auto":""},null,-1),He=e("div",{"x-divider":""},null,-1),Ke={flex:"~ items-center justify-center wrap",p4:""},Oe={flex:"~ col gap-1","w-250":"",p4:""},Je=e("h3",{class:"text-lg font-medium leading-6",mb2:""}," Start analyze build? ",-1),Me=e("p",{op50:""}," Enter the name of the build: ",-1),We=e("div",{my3:"","x-divider":""},null,-1),Ye=e("p",{op50:""}," The following command will be executed in your terminal: ",-1),Ze={flex:"~ gap-3",mt2:"","justify-end":""},ut=j({__name:"analyze-build",setup(N){const f=X(),v=ee(),l=te(),b=ne(),g=I(()=>{const u=b.query.slug;return v.value?.builds.find(d=>d.slug===u)??v.value?.builds[0]}),x=V(!1),t=V(""),c=I(()=>v.value?.builds.some(u=>u.name===t.value.trim()));async function z(){t.value=await R.generateAnalyzeBuildName(),await f.start()&&(C.value={name:t.value,processId:await R.startAnalyzeBuild(await U(),t.value)},x.value&&B())}function B(){C.value?.processId&&l.push(`/modules/terminals?id=${encodeURIComponent(C.value.processId)}`)}function h(u){return`${((u.endTime-u.startTime)/1e3).toFixed(1)}s`}return oe(()=>[{id:"action:analyze-build: start",title:"Start a new analyze build",icon:"i-carbon-edge-node",action:z}]),(u,d)=>{const L=le,k=G,q=Fe,H=re,K=ue,O=ie,J=de,M=ce,W=me,Y=se,Z=Pe,Q=_e;return o(),a(m,null,[s(K,{"left-size":30},{left:i(()=>[e("div",Ue,[(o(!0),a(m,null,E(n(v)?.builds,r=>(o(),a(m,{key:r.slug},[s(L,{flex:"~ col gap1","hover:bg-active":"",p3:"",class:F(r.slug===n(g)?.slug?"text-primary bg-active":""),to:`?slug=${encodeURIComponent(r.slug)}`},{default:i(()=>[e("code",null,_(r.name),1),e("div",Ge,[Le,e("span",null,_(h(r)),1),qe,e("span",null,_(n(P)(new Date(r.endTime))),1)])]),_:2},1032,["class","to"]),He],64))),128)),e("div",Ke,[("processAnalyzeBuildInfo"in u?u.processAnalyzeBuildInfo:n(C))?(o(),w(k,{key:1,n:"primary",icon:"carbon-circle-dash animate-spin",onClick:d[1]||(d[1]=r=>B())},{default:i(()=>[p(" Building... ")]),_:1})):(o(),w(k,{key:0,n:"primary",icon:"carbon-edge-node",onClick:d[0]||(d[0]=r=>z())},{default:i(()=>[p(" Start a new build ")]),_:1}))])])]),right:i(()=>[n(g)?(o(),w(q,{key:0,current:n(g)},null,8,["current"])):(o(),w(H,{key:1}))]),_:1}),s(n(f),null,{default:i(({resolve:r})=>[s(Y,{"model-value":!0,onClose:$=>r(!1)},{default:i(()=>[e("div",Oe,[Je,Me,s(O,{modelValue:n(t),"onUpdate:modelValue":d[2]||(d[2]=$=>S(t)?t.value=$:null),placeholder:"Build name"},null,8,["modelValue"]),n(c)?(o(),w(J,{key:0,"n-orange":""},{default:i(()=>[p(" A build with the same name already exists, continue would overrides the previous build result. ")]),_:1})):y("",!0),We,Ye,s(M,{code:`npx nuxi analyze --no-serve --name=${n(t)}`,lang:"bash",px4:"",py2:"",border:"~ base rounded",lines:!1},null,8,["code"]),s(W,{modelValue:n(x),"onUpdate:modelValue":d[3]||(d[3]=$=>S(x)?x.value=$:null),mt2:"",n:"primary"},{default:i(()=>[p(" Navigate to terminal ")]),_:1},8,["modelValue"]),e("div",Ze,[s(k,{onClick:$=>r(!1)},{default:i(()=>[p(" Cancel ")]),_:2},1032,["onClick"]),s(k,{n:"solid primary",onClick:$=>r(!0)},{default:i(()=>[p(" Start ")]),_:2},1032,["onClick"])])])]),_:2},1032,["onClose"])]),_:1}),s(Q,null,{default:i(()=>[s(Z)]),_:1})],64)}}});export{ut as default};
1
+ import{g as j,l as I,r as V,o,c as a,a as e,F as m,m as E,n as F,q as n,t as _,s as y,v as P,b as s,w as i,d as p,x as T,y as A,z as R,A as U,j as G,B as X,C as ee,D as te,E as ne,G as oe,H as C,h as w,I as S,e as le,J as ie,K as se}from"./entry.fbf2c464.js";import{_ as ae}from"./FilepathItem.vue.a47beb58.js";import{_ as re}from"./NPanelGrids.eec702e8.js";import{_ as ue}from"./PanelLeftRight.vue.5871de72.js";import{_ as de}from"./NTip.vue.79345a6a.js";import{_ as ce}from"./NCodeBlock.vue.bdc8bfdc.js";import{_ as me}from"./NCheckbox.vue.f4134b6b.js";import{_ as _e}from"./HelpFab.vue.e5d23c98.js";import"./editor.a4d83539.js";import"./client.495918a8.js";import"./NIconButton.vue.24522062.js";const pe={"h-full":"",grid:"~ rows-[max-content_1fr]"},fe={flex:"~ wrap","w-full":""},ve=["onClick"],he=e("div",{border:"b base","flex-auto":""},null,-1),ye={key:0,flex:"~ col gap-4 items-center justify-center",p4:""},xe=e("div",{"flex-auto":""},null,-1),$e={grid:"~ cols-[30px_1fr] gap-x-2 gap-y-3 items-center justify-center","w-100":""},be=e("div",{"i-carbon-commit":"","text-xl":""},null,-1),ge=e("div",{"text-sm":"",op50:""}," Name ",-1),we=e("div",{"i-carbon-time":"","text-xl":""},null,-1),ze=e("div",{"text-sm":"",op50:""}," Build duration ",-1),Be=e("div",{"i-carbon-cics-program":"","text-xl":""},null,-1),ke=e("div",{"text-sm":"",op50:""}," Client bundle size ",-1),Ce=e("div",{"i-carbon-bare-metal-server":"","text-xl":""},null,-1),Ne=e("div",{"text-sm":"",op50:""}," Nitro bundle size ",-1),Te=e("div",{"i-carbon-edge-node":"","text-xl":""},null,-1),Ae=e("div",{"text-sm":"",op50:""}," Built ",-1),De=e("div",{"i-carbon:folder-parent":"","text-xl":""},null,-1),Ie=e("div",{"text-sm":"",op50:""}," Report Path ",-1),Ve=e("div",{"flex-auto":""},null,-1),D="/__nuxt_devtools__/analyze/",Fe=j({__name:"BuildAnalyzeDetails",props:{current:{},prev:{}},setup(N){const f=N,v=I(()=>{const t=[{name:"Overview",id:"overview"}];return f.current.features.bundleClient&&t.push({name:"Client Bundle",id:"bundle-client"}),f.current.features.bundleNitro&&t.push({name:"Nitro Bundle",id:"bundle-nitro"}),f.current.features.viteInspect&&t.push({name:"Vite Inspect",id:"vite-inspect"}),t}),l=V(v.value[0]);function b(t){return t<1024?`${t}B`:t<1024*1024?`${(t/1024).toFixed(1)}KB`:t<1024*1024*1024?`${(t/1024/1024).toFixed(1)}MB`:`${(t/1024/1024/1024).toFixed(1)}GB`}function g(t){return`${((t.endTime-t.startTime)/1e3).toFixed(1)}s`}async function x(t){return R.clearAnalyzeBuilds(await U(),[t])}return(t,c)=>{const z=ae,B=G;return o(),a("div",pe,[e("div",fe,[(o(!0),a(m,null,E(n(v),(h,u)=>(o(),a("button",{key:u,px4:"",py2:"",border:"r base",hover:"bg-active",class:F(h.id===n(l).id?"":"border-b"),onClick:d=>l.value=h},[e("div",{class:F(h.id===n(l).id?"":"op30")},_(h.name),3)],10,ve))),128)),he]),n(l).id==="overview"?(o(),a("div",ye,[xe,e("div",$e,[be,e("div",null,[ge,e("div",null,_(t.current.name),1)]),we,e("div",null,[ze,e("div",null,_(g(t.current)),1)]),t.current.size?.clientBundle?(o(),a(m,{key:0},[Be,e("div",null,[ke,e("div",null,_(b(t.current.size.clientBundle)),1)])],64)):y("",!0),t.current.size.nitroBundle?(o(),a(m,{key:1},[Ce,e("div",null,[Ne,e("div",null,_(b(t.current.size.nitroBundle)),1)])],64)):y("",!0),Te,e("div",null,[Ae,e("div",null,_(n(P)(new Date(t.current.endTime))),1)]),De,e("div",null,[Ie,s(z,{filepath:t.current.analyzeDir},null,8,["filepath"])])]),Ve,s(B,{n:"rose",icon:"carbon-delete",onClick:c[0]||(c[0]=h=>x(t.current.name))},{default:i(()=>[p(" Delete this report ")]),_:1})])):y("",!0),c._lazyshow1||n(l).id==="bundle-client"?(c._lazyshow1=!0,o(),a(m,null,[T(e("iframe",{src:`${D}${t.current.slug}/client.html`,"h-full":"","w-full":""},null,8,["src"]),[[A,n(l).id==="bundle-client"]])],64)):y("v-show-if",!0),c._lazyshow2||n(l).id==="bundle-nitro"?(c._lazyshow2=!0,o(),a(m,null,[T(e("iframe",{src:`${D}${t.current.slug}/nitro.html`,"h-full":"","w-full":""},null,8,["src"]),[[A,n(l).id==="bundle-nitro"]])],64)):y("v-show-if",!0),c._lazyshow3||n(l).id==="vite-inspect"?(c._lazyshow3=!0,o(),a(m,null,[T(e("iframe",{src:`${D}${t.current.slug}/.vite-inspect/`,"h-full":"","w-full":""},null,8,["src"]),[[A,n(l).id==="vite-inspect"]])],64)):y("v-show-if",!0)])}}}),Re={class:"markdown-body"},Se=e("h1",null,"Build Analyze",-1),je=e("p",null,[p("DevTools provides a build analyze tool to help you understand the size of your app in production. Whenever you start a new build, it runs the command "),e("code",null,"nuxt build --analyze"),p(" and present the output data directly in DevTools for easy browsing and comparing.")],-1),Ee=[Se,je],Pe={__name:"analyze-build",setup(N,{expose:f}){return f({frontmatter:{}}),(l,b)=>(o(),a("div",Re,Ee))}},Ue={flex:"~ col"},Ge={flex:"~ gap-1 items-center wrap","text-sm":"",op60:""},Le=e("div",{"i-carbon-time":""},null,-1),qe=e("div",{"flex-auto":""},null,-1),He=e("div",{"x-divider":""},null,-1),Ke={flex:"~ items-center justify-center wrap",p4:""},Oe={flex:"~ col gap-1","w-250":"",p4:""},Je=e("h3",{class:"text-lg font-medium leading-6",mb2:""}," Start analyze build? ",-1),Me=e("p",{op50:""}," Enter the name of the build: ",-1),We=e("div",{my3:"","x-divider":""},null,-1),Ye=e("p",{op50:""}," The following command will be executed in your terminal: ",-1),Ze={flex:"~ gap-3",mt2:"","justify-end":""},ut=j({__name:"analyze-build",setup(N){const f=X(),v=ee(),l=te(),b=ne(),g=I(()=>{const u=b.query.slug;return v.value?.builds.find(d=>d.slug===u)??v.value?.builds[0]}),x=V(!1),t=V(""),c=I(()=>v.value?.builds.some(u=>u.name===t.value.trim()));async function z(){t.value=await R.generateAnalyzeBuildName(),await f.start()&&(C.value={name:t.value,processId:await R.startAnalyzeBuild(await U(),t.value)},x.value&&B())}function B(){C.value?.processId&&l.push(`/modules/terminals?id=${encodeURIComponent(C.value.processId)}`)}function h(u){return`${((u.endTime-u.startTime)/1e3).toFixed(1)}s`}return oe(()=>[{id:"action:analyze-build: start",title:"Start a new analyze build",icon:"i-carbon-edge-node",action:z}]),(u,d)=>{const L=le,k=G,q=Fe,H=re,K=ue,O=ie,J=de,M=ce,W=me,Y=se,Z=Pe,Q=_e;return o(),a(m,null,[s(K,{"left-size":30},{left:i(()=>[e("div",Ue,[(o(!0),a(m,null,E(n(v)?.builds,r=>(o(),a(m,{key:r.slug},[s(L,{flex:"~ col gap1","hover:bg-active":"",p3:"",class:F(r.slug===n(g)?.slug?"text-primary bg-active":""),to:`?slug=${encodeURIComponent(r.slug)}`},{default:i(()=>[e("code",null,_(r.name),1),e("div",Ge,[Le,e("span",null,_(h(r)),1),qe,e("span",null,_(n(P)(new Date(r.endTime))),1)])]),_:2},1032,["class","to"]),He],64))),128)),e("div",Ke,[("processAnalyzeBuildInfo"in u?u.processAnalyzeBuildInfo:n(C))?(o(),w(k,{key:1,n:"primary",icon:"carbon-circle-dash animate-spin",onClick:d[1]||(d[1]=r=>B())},{default:i(()=>[p(" Building... ")]),_:1})):(o(),w(k,{key:0,n:"primary",icon:"carbon-edge-node",onClick:d[0]||(d[0]=r=>z())},{default:i(()=>[p(" Start a new build ")]),_:1}))])])]),right:i(()=>[n(g)?(o(),w(q,{key:0,current:n(g)},null,8,["current"])):(o(),w(H,{key:1}))]),_:1}),s(n(f),null,{default:i(({resolve:r})=>[s(Y,{"model-value":!0,onClose:$=>r(!1)},{default:i(()=>[e("div",Oe,[Je,Me,s(O,{modelValue:n(t),"onUpdate:modelValue":d[2]||(d[2]=$=>S(t)?t.value=$:null),placeholder:"Build name"},null,8,["modelValue"]),n(c)?(o(),w(J,{key:0,"n-orange":""},{default:i(()=>[p(" A build with the same name already exists, continue would overrides the previous build result. ")]),_:1})):y("",!0),We,Ye,s(M,{code:`npx nuxi analyze --no-serve --name=${n(t)}`,lang:"bash",px4:"",py2:"",border:"~ base rounded",lines:!1},null,8,["code"]),s(W,{modelValue:n(x),"onUpdate:modelValue":d[3]||(d[3]=$=>S(x)?x.value=$:null),mt2:"",n:"primary"},{default:i(()=>[p(" Navigate to terminal ")]),_:1},8,["modelValue"]),e("div",Ze,[s(k,{onClick:$=>r(!1)},{default:i(()=>[p(" Cancel ")]),_:2},1032,["onClick"]),s(k,{n:"solid primary",onClick:$=>r(!0)},{default:i(()=>[p(" Start ")]),_:2},1032,["onClick"])])])]),_:2},1032,["onClose"])]),_:1}),s(Q,null,{default:i(()=>[s(Z)]),_:1})],64)}}});export{ut as default};