@vitejs/devtools-vite 0.0.0-alpha.6 → 0.0.0-alpha.7

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 (88) hide show
  1. package/dist/{dirs-Z7VQHyIZ.js → dirs-K_XnRVOr.js} +1 -1
  2. package/dist/dirs.js +1 -1
  3. package/dist/index.d.ts +30 -8
  4. package/dist/index.js +75 -53
  5. package/dist/nitro.json +2 -2
  6. package/dist/public/200.html +1 -1
  7. package/dist/public/404.html +1 -1
  8. package/dist/public/_nuxt/0mOko9PX.js +1 -0
  9. package/dist/public/_nuxt/17ealR8P.js +1 -0
  10. package/dist/public/_nuxt/2OALqkc2.js +1 -0
  11. package/dist/public/_nuxt/AuXMpmu_.js +1 -0
  12. package/dist/public/_nuxt/B-MkobAt.js +1 -0
  13. package/dist/public/_nuxt/B7i9KC-T.js +1 -0
  14. package/dist/public/_nuxt/BA32mbNN.js +11 -0
  15. package/dist/public/_nuxt/BQPGP7j8.js +1 -0
  16. package/dist/public/_nuxt/BRMjfH79.js +1 -0
  17. package/dist/public/_nuxt/B_mZ82Ef.js +1 -0
  18. package/dist/public/_nuxt/BqsmMM9I.js +2 -0
  19. package/dist/public/_nuxt/C8mRFS2c.js +1 -0
  20. package/dist/public/_nuxt/{IrMnfQaU.js → CAhTQkqV.js} +1 -1
  21. package/dist/public/_nuxt/CIEMjxLP.js +1 -0
  22. package/dist/public/_nuxt/CIa3yLEd.js +1 -0
  23. package/dist/public/_nuxt/CbzAqNxs.js +1 -0
  24. package/dist/public/_nuxt/CeqjGqGg.js +1 -0
  25. package/dist/public/_nuxt/CiYp-ND6.js +1 -0
  26. package/dist/public/_nuxt/CqhxNBIt.js +1 -0
  27. package/dist/public/_nuxt/Cql2HFZJ.js +1 -0
  28. package/dist/public/_nuxt/D-ZnEyqr.js +1 -0
  29. package/dist/public/_nuxt/D5wipTtw.js +1 -0
  30. package/dist/public/_nuxt/DBFcewx9.js +33 -0
  31. package/dist/public/_nuxt/{BQ-NBLhA.js → DL1ysgP5.js} +1 -1
  32. package/dist/public/_nuxt/DQtLZa7C.js +1 -0
  33. package/dist/public/_nuxt/DY1DGGP1.js +1 -0
  34. package/dist/public/_nuxt/Dck9PP97.js +1 -0
  35. package/dist/public/_nuxt/DdKbKDl1.js +1 -0
  36. package/dist/public/_nuxt/Jdu9jmuG.js +1 -0
  37. package/dist/public/_nuxt/{BdGMcGSQ.js → SO3ppn9m.js} +1 -1
  38. package/dist/public/_nuxt/X7aOo9pb.js +1 -0
  39. package/dist/public/_nuxt/_h9oVyD9.js +1 -0
  40. package/dist/public/_nuxt/_hSlj5r4.js +1 -0
  41. package/dist/public/_nuxt/builds/latest.json +1 -1
  42. package/dist/public/_nuxt/builds/meta/e64426aa-3532-49bb-9bf1-178874074559.json +1 -0
  43. package/dist/public/_nuxt/diff.worker-DCsgdfuV.js +10 -0
  44. package/dist/public/_nuxt/entry.DwSNyIHU.css +1 -0
  45. package/dist/public/_nuxt/error-404.CCdr3eE4.css +1 -0
  46. package/dist/public/_nuxt/error-500.D-vBsHK_.css +1 -0
  47. package/dist/public/_nuxt/qsYzBPmV.js +1 -0
  48. package/dist/public/_nuxt/zFCtWS_S.js +1 -0
  49. package/dist/public/index.html +1 -1
  50. package/package.json +14 -14
  51. package/dist/public/_nuxt/B2fBtupD.js +0 -1
  52. package/dist/public/_nuxt/B4wxy85L.js +0 -1
  53. package/dist/public/_nuxt/BBRXmiYk.js +0 -1
  54. package/dist/public/_nuxt/BFrgWt5v.js +0 -1
  55. package/dist/public/_nuxt/BJ1En-qd.js +0 -1
  56. package/dist/public/_nuxt/BL9XEsp7.js +0 -1
  57. package/dist/public/_nuxt/BNZPks8A.js +0 -1
  58. package/dist/public/_nuxt/BO9hKuA-.js +0 -1
  59. package/dist/public/_nuxt/BhYsQoJN.js +0 -1
  60. package/dist/public/_nuxt/Bjr51Ks8.js +0 -1
  61. package/dist/public/_nuxt/BsPDwkF1.js +0 -1
  62. package/dist/public/_nuxt/C-pOSrl5.js +0 -1
  63. package/dist/public/_nuxt/C2X_oPur.js +0 -1
  64. package/dist/public/_nuxt/CQNn9qP2.js +0 -1
  65. package/dist/public/_nuxt/CRvrEAK3.js +0 -1
  66. package/dist/public/_nuxt/CS-6x7S3.js +0 -33
  67. package/dist/public/_nuxt/CS0-317H.js +0 -1
  68. package/dist/public/_nuxt/CWCLHkLi.js +0 -1
  69. package/dist/public/_nuxt/C_113ylp.js +0 -11
  70. package/dist/public/_nuxt/Ci9NHG69.js +0 -1
  71. package/dist/public/_nuxt/Ckf7xQdg.js +0 -1
  72. package/dist/public/_nuxt/DQCLStiA.js +0 -1
  73. package/dist/public/_nuxt/DSjlpmm-.js +0 -1
  74. package/dist/public/_nuxt/DUOY-ITr.js +0 -1
  75. package/dist/public/_nuxt/DZeYNBxL.js +0 -1
  76. package/dist/public/_nuxt/D_Sk_I-u.js +0 -1
  77. package/dist/public/_nuxt/DoCLzHNP.js +0 -1
  78. package/dist/public/_nuxt/KKO2iSg5.js +0 -2
  79. package/dist/public/_nuxt/Z5tyTJaP.js +0 -1
  80. package/dist/public/_nuxt/builds/meta/be0bb935-d565-4624-9bbc-88aa98997368.json +0 -1
  81. package/dist/public/_nuxt/diff.worker-BXxwMoGc.js +0 -10
  82. package/dist/public/_nuxt/entry.BnzQeNUH.css +0 -1
  83. package/dist/public/_nuxt/error-404.yUUAZDjV.css +0 -1
  84. package/dist/public/_nuxt/error-500.BHZzZRS-.css +0 -1
  85. package/dist/public/_nuxt/m0y8FcT0.js +0 -1
  86. package/dist/public/_nuxt/tS5wJZMm.js +0 -1
  87. package/dist/public/_nuxt/z9pSC1xM.js +0 -1
  88. /package/dist/public/_nuxt/{l47FwQA-.js → C_nQe8Pd.js} +0 -0
@@ -4,4 +4,4 @@ import { fileURLToPath } from "node:url";
4
4
  const clientPublicDir = fileURLToPath(new URL("../dist/public", import.meta.url));
5
5
 
6
6
  //#endregion
7
- export { clientPublicDir };
7
+ export { clientPublicDir as t };
package/dist/dirs.js CHANGED
@@ -1,3 +1,3 @@
1
- import { clientPublicDir } from "./dirs-Z7VQHyIZ.js";
1
+ import { t as clientPublicDir } from "./dirs-K_XnRVOr.js";
2
2
 
3
3
  export { clientPublicDir };
package/dist/index.d.ts CHANGED
@@ -12,7 +12,9 @@ type Thenable<T> = T | Promise<T>;
12
12
  //#endregion
13
13
  //#region ../kit/src/types/views.d.ts
14
14
  interface DevToolsDockHost {
15
+ views: Map<string, DevToolsDockEntry>;
15
16
  register: (entry: DevToolsDockEntry) => void;
17
+ update: (entry: DevToolsDockEntry) => void;
16
18
  values: () => DevToolsDockEntry[];
17
19
  }
18
20
  interface DevToolsViewHost {
@@ -35,6 +37,18 @@ interface DevToolsDockEntryBase {
35
37
  title: string;
36
38
  icon: string;
37
39
  }
40
+ interface ClientScriptEntry {
41
+ /**
42
+ * The filepath or module name to import from
43
+ */
44
+ importFrom: string;
45
+ /**
46
+ * The name to import the module as
47
+ *
48
+ * @default 'default'
49
+ */
50
+ importName?: string;
51
+ }
38
52
  interface DevToolsViewIframe extends DevToolsDockEntryBase {
39
53
  type: 'iframe';
40
54
  url: string;
@@ -44,21 +58,24 @@ interface DevToolsViewIframe extends DevToolsDockEntryBase {
44
58
  * When not provided, it would be treated as a unique frame.
45
59
  */
46
60
  frameId?: string;
61
+ /**
62
+ * Optional script to import into the iframe
63
+ */
64
+ import?: ClientScriptEntry;
47
65
  }
48
66
  interface DevToolsViewWebComponent extends DevToolsDockEntryBase {
49
67
  type: 'webcomponent';
50
- from: string;
51
- import: string;
68
+ import: ClientScriptEntry;
52
69
  }
53
70
  interface DevToolsViewAction extends DevToolsDockEntryBase {
54
71
  type: 'action';
55
- importFrom: string;
56
- /**
57
- * @default 'default'
58
- */
59
- importName?: string;
72
+ import: ClientScriptEntry;
60
73
  }
61
- type DevToolsDockEntry = DevToolsViewIframe | DevToolsViewWebComponent | DevToolsViewAction;
74
+ interface DevToolsViewCustomRender extends DevToolsDockEntryBase {
75
+ type: 'custom-render';
76
+ import: ClientScriptEntry;
77
+ }
78
+ type DevToolsDockEntry = DevToolsViewIframe | DevToolsViewWebComponent | DevToolsViewAction | DevToolsViewCustomRender;
62
79
  //#endregion
63
80
  //#region ../kit/src/types/vite-plugin.d.ts
64
81
  interface DevToolsCapabilities {
@@ -80,6 +97,10 @@ interface DevToolsNodeContext {
80
97
  rpc: RpcFunctionsHost;
81
98
  docks: DevToolsDockHost;
82
99
  views: DevToolsViewHost;
100
+ utils: DevToolsNodeUtils;
101
+ }
102
+ interface DevToolsNodeUtils {
103
+ clientEntryFromSimpleFunction: (fn: () => void) => ClientScriptEntry;
83
104
  }
84
105
  //#endregion
85
106
  //#region ../kit/src/types/rpc.d.ts
@@ -95,6 +116,7 @@ interface RpcFunctionsHost {
95
116
  readonly functions: DevToolsRpcServerFunctions;
96
117
  readonly definitions: Map<string, RpcFunctionDefinition<string, any, any, any>>;
97
118
  register: (fn: RpcFunctionDefinition<string, any, any, any>) => void;
119
+ update: (fn: RpcFunctionDefinition<string, any, any, any>) => void;
98
120
  }
99
121
  interface RpcFunctionSetupResult<ARGS extends any[], RETURN = void> {
100
122
  handler: (...args: ARGS) => RETURN;
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { clientPublicDir } from "./dirs-Z7VQHyIZ.js";
1
+ import { t as clientPublicDir } from "./dirs-K_XnRVOr.js";
2
2
  import { createRequire } from "node:module";
3
3
  import { defineRpcFunction } from "@vitejs/devtools-kit";
4
4
  import fs, { existsSync } from "node:fs";
@@ -974,8 +974,7 @@ var RolldownEventsReader = class RolldownEventsReader {
974
974
  async read() {
975
975
  const { mtime, size } = await fs.promises.stat(this.filepath);
976
976
  if (mtime.getTime() <= this.lastTimestamp) return;
977
- const stream = fs.createReadStream(this.filepath, { start: this.lastBytes });
978
- await parseJsonStreamWithConcatArrays(stream, (event) => {
977
+ await parseJsonStreamWithConcatArrays(fs.createReadStream(this.filepath, { start: this.lastBytes }), (event) => {
979
978
  this.manager.handleEvent(event);
980
979
  return event;
981
980
  });
@@ -1054,13 +1053,11 @@ const rolldownGetAssetDetails = defineRpcFunction({
1054
1053
  if (asset.chunk_id === null) return { asset };
1055
1054
  const assetChunkId = asset.chunk_id;
1056
1055
  const chunk = chunks.get(assetChunkId);
1057
- const importers = chunkList.filter((mod) => mod.imports.some((i) => i.chunk_id === assetChunkId)).map((c) => assetList.find((a) => a.chunk_id === c.chunk_id));
1058
- const imports = chunk.imports.map((c) => assetList.find((a) => a.chunk_id === c.chunk_id));
1059
1056
  return {
1060
1057
  asset,
1061
1058
  chunk,
1062
- importers,
1063
- imports
1059
+ importers: chunkList.filter((mod) => mod.imports.some((i) => i.chunk_id === assetChunkId)).map((c) => assetList.find((a) => a.chunk_id === c.chunk_id)),
1060
+ imports: chunk.imports.map((c) => assetList.find((a) => a.chunk_id === c.chunk_id))
1064
1061
  };
1065
1062
  } };
1066
1063
  }
@@ -1232,13 +1229,65 @@ function getModuleNameFromPath(path) {
1232
1229
  return match.split("/")[0];
1233
1230
  }
1234
1231
  function getPackageDirPath(path) {
1235
- const nodeModulesPrefix = path.replace(/%2F/g, "/").replace(/\\/g, "/").match(/^(.+\/node_modules\/)/)?.[1];
1236
- const packageName = getModuleNameFromPath(path);
1237
- return nodeModulesPrefix + packageName;
1232
+ return path.replace(/%2F/g, "/").replace(/\\/g, "/").match(/^(.+\/node_modules\/)/)?.[1] + getModuleNameFromPath(path);
1238
1233
  }
1239
1234
 
1240
1235
  //#endregion
1241
1236
  //#region src/node/rpc/functions/rolldown-get-packages.ts
1237
+ async function getPackagesManifest(reader) {
1238
+ const modulesMap = reader.manager.modules;
1239
+ const chunks = Array.from(reader.manager.chunks.values());
1240
+ const packagesManifest = /* @__PURE__ */ new Map();
1241
+ const getImporters = (path, packageDir, visited = /* @__PURE__ */ new Set()) => {
1242
+ const importers = modulesMap.get(path)?.importers || [];
1243
+ const result = [];
1244
+ for (const importer of importers) {
1245
+ if (visited.has(importer)) continue;
1246
+ visited.add(importer);
1247
+ if ((modulesMap.get(importer)?.imports?.map((i) => i.module_id) || []).some((i) => getPackageDirPath(i) === packageDir)) result.push(importer);
1248
+ result.push(...getImporters(importer, packageDir, visited));
1249
+ }
1250
+ return result;
1251
+ };
1252
+ const packages = chunks.map((chunk) => chunk.modules.map((module$1) => module$1)).flat().filter(isNodeModulePath).map((p) => {
1253
+ const moduleBuildMetrics = modulesMap.get(p)?.build_metrics;
1254
+ return {
1255
+ path: p,
1256
+ dir: getPackageDirPath(p),
1257
+ transformedCodeSize: moduleBuildMetrics?.transforms[moduleBuildMetrics?.transforms.length - 1]?.transformed_code_size ?? 0
1258
+ };
1259
+ });
1260
+ await Promise.all(packages.map(async (p) => {
1261
+ const manifest = await readProjectManifestOnly(p.dir);
1262
+ const packageKey = `${manifest.name}@${manifest.version}`;
1263
+ const packageInfo = packagesManifest.get(packageKey);
1264
+ const importers = getImporters(p.path, p.dir).map((i) => ({
1265
+ path: i,
1266
+ version: ""
1267
+ }));
1268
+ if (packageInfo) packagesManifest.set(packageKey, {
1269
+ ...packageInfo,
1270
+ files: [...packageInfo.files, {
1271
+ path: p.path,
1272
+ transformedCodeSize: p.transformedCodeSize,
1273
+ importers
1274
+ }],
1275
+ transformedCodeSize: packageInfo.transformedCodeSize + p.transformedCodeSize
1276
+ });
1277
+ else packagesManifest.set(packageKey, {
1278
+ name: manifest.name,
1279
+ version: manifest.version,
1280
+ dir: p.dir,
1281
+ files: [{
1282
+ path: p.path,
1283
+ transformedCodeSize: p.transformedCodeSize,
1284
+ importers
1285
+ }],
1286
+ transformedCodeSize: p.transformedCodeSize
1287
+ });
1288
+ }));
1289
+ return packagesManifest;
1290
+ }
1242
1291
  const rolldownGetPackages = defineRpcFunction({
1243
1292
  name: "vite:rolldown:get-packages",
1244
1293
  type: "query",
@@ -1246,50 +1295,9 @@ const rolldownGetPackages = defineRpcFunction({
1246
1295
  const manager = getLogsManager(context);
1247
1296
  return { handler: async ({ session }) => {
1248
1297
  const reader = await manager.loadSession(session);
1249
- const chunks = Array.from(reader.manager.chunks.values());
1250
1298
  const modulesMap = reader.manager.modules;
1251
1299
  const duplicatePackagesMap = /* @__PURE__ */ new Map();
1252
- const packagesManifest = /* @__PURE__ */ new Map();
1253
- const packages = chunks.map((chunk) => chunk.modules.map((module$1) => module$1)).flat().filter(isNodeModulePath).map((p) => {
1254
- const moduleBuildMetrics = modulesMap.get(p)?.build_metrics;
1255
- return {
1256
- path: p,
1257
- dir: getPackageDirPath(p),
1258
- transformedCodeSize: moduleBuildMetrics?.transforms[moduleBuildMetrics?.transforms.length - 1]?.transformed_code_size ?? 0
1259
- };
1260
- });
1261
- await Promise.all(packages.map(async (p) => {
1262
- const manifest = await readProjectManifestOnly(p.dir);
1263
- const packageKey = `${manifest.name}@${manifest.version}`;
1264
- const packageInfo = packagesManifest.get(packageKey);
1265
- const module$1 = modulesMap.get(p.path);
1266
- if (packageInfo) packagesManifest.set(packageKey, {
1267
- ...packageInfo,
1268
- files: [...packageInfo.files, {
1269
- path: p.path,
1270
- transformedCodeSize: p.transformedCodeSize,
1271
- importers: module$1?.importers?.map((i) => ({
1272
- path: i,
1273
- version: ""
1274
- })) ?? []
1275
- }],
1276
- transformedCodeSize: packageInfo.transformedCodeSize + p.transformedCodeSize
1277
- });
1278
- else packagesManifest.set(packageKey, {
1279
- name: manifest.name,
1280
- version: manifest.version,
1281
- dir: p.dir,
1282
- files: [{
1283
- path: p.path,
1284
- transformedCodeSize: p.transformedCodeSize,
1285
- importers: module$1?.importers?.map((i) => ({
1286
- path: i,
1287
- version: ""
1288
- })) ?? []
1289
- }],
1290
- transformedCodeSize: p.transformedCodeSize
1291
- });
1292
- }));
1300
+ const packagesManifest = await getPackagesManifest(reader);
1293
1301
  return (await Promise.all(Array.from(packagesManifest.values()).map((p) => {
1294
1302
  duplicatePackagesMap.set(p.name, (duplicatePackagesMap.get(p.name) ?? 0) + 1);
1295
1303
  return {
@@ -1322,6 +1330,19 @@ const rolldownGetPackages = defineRpcFunction({
1322
1330
  }
1323
1331
  });
1324
1332
 
1333
+ //#endregion
1334
+ //#region src/node/rpc/functions/rolldown-get-package-details.ts
1335
+ const rolldownGetPackageDetails = defineRpcFunction({
1336
+ name: "vite:rolldown:get-package-details",
1337
+ type: "query",
1338
+ setup: (context) => {
1339
+ const manager = getLogsManager(context);
1340
+ return { handler: async ({ session, id }) => {
1341
+ return (await getPackagesManifest(await manager.loadSession(session))).get(id);
1342
+ } };
1343
+ }
1344
+ });
1345
+
1325
1346
  //#endregion
1326
1347
  //#region src/node/rpc/functions/rolldown-get-plugin-details.ts
1327
1348
  const rolldownGetPluginDetails = defineRpcFunction({
@@ -1459,7 +1480,8 @@ const rpcFunctions = [
1459
1480
  rolldownGetPluginDetails,
1460
1481
  rolldownGetSessionCompareSummary,
1461
1482
  rolldownGetChunkInfo,
1462
- rolldownGetPackages
1483
+ rolldownGetPackages,
1484
+ rolldownGetPackageDetails
1463
1485
  ];
1464
1486
 
1465
1487
  //#endregion
package/dist/nitro.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
- "date": "2025-10-08T13:34:00.191Z",
2
+ "date": "2025-10-31T05:29:29.843Z",
3
3
  "preset": "static",
4
4
  "framework": {
5
5
  "name": "nuxt",
6
6
  "version": "4.1.2"
7
7
  },
8
8
  "versions": {
9
- "nitro": "2.12.6"
9
+ "nitro": "2.12.8"
10
10
  },
11
11
  "commands": {
12
12
  "preview": "npx serve public"
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en" class="bg-dots"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><script type="importmap">{"imports":{"#entry":"/.devtools-vite/_nuxt/C_113ylp.js"}}</script><title>Vite DevTools</title><link rel="stylesheet" href="/.devtools-vite/_nuxt/entry.BnzQeNUH.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/.devtools-vite/_nuxt/C_113ylp.js"><link rel="prefetch" as="style" crossorigin href="/.devtools-vite/_nuxt/error-404.yUUAZDjV.css"><link rel="prefetch" as="script" crossorigin href="/.devtools-vite/_nuxt/C2X_oPur.js"><link rel="prefetch" as="script" crossorigin href="/.devtools-vite/_nuxt/Bjr51Ks8.js"><link rel="prefetch" as="style" crossorigin href="/.devtools-vite/_nuxt/error-500.BHZzZRS-.css"><link rel="prefetch" as="script" crossorigin href="/.devtools-vite/_nuxt/BL9XEsp7.js"><meta name="description" content="DevTools for Vite"><meta property="og:title" content="Vite DevTools"><meta property="og:description" content="DevTools for Vite"><link rel="icon" type="image/svg+xml" href="/favicon.svg"><script type="module" src="/.devtools-vite/_nuxt/C_113ylp.js" crossorigin></script><script id="unhead:payload" type="application/json">{"title":"Vite DevTools"}</script></head><body><div id="__nuxt"></div><div id="teleports"></div><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1759930440118,false]</script><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/.devtools-vite/",buildId:"be0bb935-d565-4624-9bbc-88aa98997368",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script></body></html>
1
+ <!DOCTYPE html><html lang="en" class="bg-dots"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><script type="importmap">{"imports":{"#entry":"/.devtools-vite/_nuxt/BA32mbNN.js"}}</script><title>Vite DevTools</title><link rel="stylesheet" href="/.devtools-vite/_nuxt/entry.DwSNyIHU.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/.devtools-vite/_nuxt/BA32mbNN.js"><link rel="prefetch" as="style" crossorigin href="/.devtools-vite/_nuxt/error-404.CCdr3eE4.css"><link rel="prefetch" as="script" crossorigin href="/.devtools-vite/_nuxt/D-ZnEyqr.js"><link rel="prefetch" as="script" crossorigin href="/.devtools-vite/_nuxt/Jdu9jmuG.js"><link rel="prefetch" as="style" crossorigin href="/.devtools-vite/_nuxt/error-500.D-vBsHK_.css"><link rel="prefetch" as="script" crossorigin href="/.devtools-vite/_nuxt/AuXMpmu_.js"><meta name="description" content="DevTools for Vite"><meta property="og:title" content="Vite DevTools"><meta property="og:description" content="DevTools for Vite"><link rel="icon" type="image/svg+xml" href="/favicon.svg"><script type="module" src="/.devtools-vite/_nuxt/BA32mbNN.js" crossorigin></script><script id="unhead:payload" type="application/json">{"title":"Vite DevTools"}</script></head><body><div id="__nuxt"></div><div id="teleports"></div><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1761888569775,false]</script><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/.devtools-vite/",buildId:"e64426aa-3532-49bb-9bf1-178874074559",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en" class="bg-dots"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><script type="importmap">{"imports":{"#entry":"/.devtools-vite/_nuxt/C_113ylp.js"}}</script><title>Vite DevTools</title><link rel="stylesheet" href="/.devtools-vite/_nuxt/entry.BnzQeNUH.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/.devtools-vite/_nuxt/C_113ylp.js"><link rel="prefetch" as="style" crossorigin href="/.devtools-vite/_nuxt/error-404.yUUAZDjV.css"><link rel="prefetch" as="script" crossorigin href="/.devtools-vite/_nuxt/C2X_oPur.js"><link rel="prefetch" as="script" crossorigin href="/.devtools-vite/_nuxt/Bjr51Ks8.js"><link rel="prefetch" as="style" crossorigin href="/.devtools-vite/_nuxt/error-500.BHZzZRS-.css"><link rel="prefetch" as="script" crossorigin href="/.devtools-vite/_nuxt/BL9XEsp7.js"><meta name="description" content="DevTools for Vite"><meta property="og:title" content="Vite DevTools"><meta property="og:description" content="DevTools for Vite"><link rel="icon" type="image/svg+xml" href="/favicon.svg"><script type="module" src="/.devtools-vite/_nuxt/C_113ylp.js" crossorigin></script><script id="unhead:payload" type="application/json">{"title":"Vite DevTools"}</script></head><body><div id="__nuxt"></div><div id="teleports"></div><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1759930440118,false]</script><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/.devtools-vite/",buildId:"be0bb935-d565-4624-9bbc-88aa98997368",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script></body></html>
1
+ <!DOCTYPE html><html lang="en" class="bg-dots"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><script type="importmap">{"imports":{"#entry":"/.devtools-vite/_nuxt/BA32mbNN.js"}}</script><title>Vite DevTools</title><link rel="stylesheet" href="/.devtools-vite/_nuxt/entry.DwSNyIHU.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/.devtools-vite/_nuxt/BA32mbNN.js"><link rel="prefetch" as="style" crossorigin href="/.devtools-vite/_nuxt/error-404.CCdr3eE4.css"><link rel="prefetch" as="script" crossorigin href="/.devtools-vite/_nuxt/D-ZnEyqr.js"><link rel="prefetch" as="script" crossorigin href="/.devtools-vite/_nuxt/Jdu9jmuG.js"><link rel="prefetch" as="style" crossorigin href="/.devtools-vite/_nuxt/error-500.D-vBsHK_.css"><link rel="prefetch" as="script" crossorigin href="/.devtools-vite/_nuxt/AuXMpmu_.js"><meta name="description" content="DevTools for Vite"><meta property="og:title" content="Vite DevTools"><meta property="og:description" content="DevTools for Vite"><link rel="icon" type="image/svg+xml" href="/favicon.svg"><script type="module" src="/.devtools-vite/_nuxt/BA32mbNN.js" crossorigin></script><script id="unhead:payload" type="application/json">{"title":"Vite DevTools"}</script></head><body><div id="__nuxt"></div><div id="teleports"></div><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1761888569775,false]</script><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/.devtools-vite/",buildId:"e64426aa-3532-49bb-9bf1-178874074559",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script></body></html>
@@ -0,0 +1 @@
1
+ import{Tt as e,Vt as t,ct as n,en as r,ft as i,in as a,it as o,kt as s,lt as c,mt as l,ot as u,pt as d,st as f,tn as p,ut as m}from"#entry";import{t as h}from"./Jdu9jmuG.js";import"./DQtLZa7C.js";import"./B_mZ82Ef.js";import"./2OALqkc2.js";import{r as g,t as _}from"./DL1ysgP5.js";import{n as v,t as y}from"./qsYzBPmV.js";import{t as b}from"./X7aOo9pb.js";var x={flex:`~ col gap-2`,p6:``},S={flex:`~ gap-2`},C={border:`~ base rounded`,p4:``,grid:`~ cols-[max-content_160px_2fr] gap-2 items-center`},w={"font-mono":``},T=[`datetime`],E={key:4},D={border:`~ base rounded`,p4:``,grid:`~ cols-[max-content_1fr] gap-2 items-center`},O={flex:`~ gap-2`},k=l({__name:`index`,props:{session:{}},setup(l){let k=l,A=u(()=>[{title:`Build ID`,value:k.session.id,icon:`i-ph-hash-duotone`},{title:`Created At`,value:new Date(k.session.meta.timestamp),icon:`i-ph-clock-duotone`},{title:`Build Duration`,value:k.session.buildDuration,icon:`i-ph-timer-duotone`,type:`duration`},{title:`Directory`,value:k.session.meta.cwd,icon:`i-ph-folder-duotone`},{title:`Total Modules`,value:k.session.modulesList.length,icon:`i-ph-files-duotone`},{title:`Plugins`,value:k.session.meta.plugins.length,icon:`i-ph-plugs-duotone`},{title:`Platform`,value:k.session.meta.platform,icon:`i-ph-cpu-duotone`,type:`badge`},{title:`Format`,value:k.session.meta.format,icon:`i-ph-file-duotone`,type:`badge`}]);return(u,j)=>{let M=h,N=g,P=b,F=y,I=_;return e(),m(`div`,x,[f(`div`,S,[d(M,{"btn-action":``,to:{path:`/`}},{default:t(()=>[...j[0]||=[f(`div`,{"i-ph-arrow-bend-up-left-duotone":``},null,-1),i(` Re-select Session `,-1)]]),_:1})]),j[1]||=f(`div`,{op50:``,"mt-10":``},` Meta Info `,-1),f(`div`,C,[(e(!0),m(o,null,s(A.value,t=>(e(),m(o,{key:t.title},[f(`div`,{class:p(t.icon)},null,2),f(`div`,null,a(t.title),1),f(`div`,w,[t.value instanceof Date?(e(),m(`time`,{key:0,datetime:t.value.toISOString()},a(t.value.toLocaleString()),9,T)):t.type===`badge`?(e(),n(N,{key:1,text:String(t.value),py1:``},null,8,[`text`])):t.type===`duration`?(e(),n(P,{key:2,duration:+t.value},null,8,[`duration`])):typeof t.value==`number`?(e(),n(F,{key:3,number:t.value,py1:``,"rounded-full":``,"inline-block":``,"text-sm":``},null,8,[`number`])):(e(),m(`span`,E,a(t.value),1))])],64))),128))]),j[2]||=f(`div`,{op50:``,"mt-4":``},` Build Entries `,-1),f(`div`,D,[(e(!0),m(o,null,s(k.session.meta.inputs,t=>(e(),m(o,{key:t},[d(N,{text:t.name||``},null,8,[`text`]),d(I,{id:t.filename||``,session:l.session,link:!0},null,8,[`id`,`session`])],64))),128))]),j[3]||=f(`div`,{op50:``,"mt-4":``},` Views `,-1),f(`div`,O,[(e(!0),m(o,null,s(r(v),r=>(e(),m(o,{key:r.to},[r.category===`session`?(e(),n(M,{key:0,"btn-action":``,to:{path:r.to},flex:`~ col`,"min-w-40":``,p4:``},{default:t(()=>[f(`div`,{class:p(r.icon),"text-2xl":``},null,2),i(` `+a(r.title),1)]),_:2},1032,[`to`])):c(``,!0)],64))),128))])])}}});export{k as default};
@@ -0,0 +1 @@
1
+ import{Tt as e,in as t,it as n,kt as r,mt as i,st as a,ut as o}from"#entry";var s={flex:`~ gap5`,"w-full":``,border:`b base`,pb3:``},c={"font-mono":``},l={"font-mono":``},u=[`datetime`],d=i({__name:`SessionMeta`,props:{sessions:{}},setup(i){return(d,f)=>(e(),o(`div`,s,[(e(!0),o(n,null,r(i.sessions,n=>(e(),o(`div`,{key:n.id,"flex-1":``,border:`~ base rounded`,p4:``,grid:`~ cols-[max-content_140px_2fr] max-lg:cols-[max-content_80px_2fr] gap-2 items-center`},[f[0]||=a(`div`,{class:`i-ph-hash-duotone`},null,-1),a(`div`,null,t(n.title),1),a(`div`,c,[a(`span`,null,t(n.id),1)]),f[1]||=a(`div`,{class:`i-ph-clock-duotone`},null,-1),f[2]||=a(`div`,null,` Created At `,-1),a(`div`,l,[a(`time`,{datetime:n.createdAt.toISOString()},t(n.createdAt.toLocaleString()),9,u)])]))),128))]))}}),f=Object.assign(d,{__name:`CompareSessionMeta`});export{f as t};
@@ -0,0 +1 @@
1
+ import{Tt as e,_t as t,mt as n,ot as r,tn as i,ut as a}from"#entry";import{r as o,s}from"./B_mZ82Ef.js";var c=[`title`],l=n({__name:`FileIcon`,props:{filename:{}},setup(t){let n=t,o=r(()=>s(n.filename));return(t,n)=>(e(),a(`div`,{"flex-none":``,"icon-catppuccin":``,title:o.value.description||o.value.name,class:i([o.value.icon])},null,10,c))}}),u=Object.assign(l,{__name:`DisplayFileIcon`}),d=n({name:`HighlightedPath`,props:{path:{type:String,required:!0},minimal:{type:Boolean,default:!1}},setup(e){return()=>{let n=e.path.split(/([?/&:=])/g),r=`path`,i=n.map(()=>[]),a=n.map(()=>[]),s=n.map(e=>t(`span`,{class:``},e)),c=new Set;return n.forEach((t,l)=>{if(t===`?`&&(r=`query`),r===`path`){if(t.match(/^\.+$/)||t===`/`?i[l]?.push(`op50`):(t===`node_modules`||t===`dist`||t===`lib`||t.match(/^\.\w/))&&i[l]?.push(`op60`),t===`node_modules`&&e.minimal)for(let e=0;e<l+2;e++)c.add(e);if(t===`.pnpm`&&(s[l]&&(s[l].children=`~`,i[l]?.push(`op25!`),i[l-1]?.push(`op25!`)),c.add(l+1),c.add(l+2),i[l+3]?.push(`op25!`),s[l+4]?.children===`node_modules`&&(c.add(l+3),c.add(l+4),i[l+5]?.push(`op25!`))),t===`:`&&(s[l-1]&&a[l-1]?.push(`color: ${o(n[l-1])}`),i[l]?.push(`op50`)),n[l-2]===`node_modules`&&!t.startsWith(`.`)){let e=`color: ${o(n[l])}`;a[l]?.push(e),t.startsWith(`@`)&&(a[l+1]?.push(e),a[l+2]?.push(e))}}r===`query`&&(t===`?`?i[l]?.push(`text-red-500 dark:text-red-400`):t===`&`&&i[l]?.push(`text-orange-500 dark:text-orange-400`),t===`=`?i[l]?.push(`text-orange-900 dark:text-orange-200 op50`):n[l+1]===`=`?i[l]?.push(`text-amber-900 dark:text-amber-200`):i[l]?.push(`text-orange-900 dark:text-orange-200`))}),s.forEach((e,t)=>{e.props&&(e.props.class=i[t]?.join(` `)??``,e.props.style=a[t]?.join(`;`)??``)}),Array.from(c).sort((e,t)=>t-e).forEach(e=>{s.splice(e,1)}),s}}});export{u as n,d as t};
@@ -0,0 +1 @@
1
+ import{C as e,Tt as t,V as n,in as r,st as i,ut as a}from"#entry";var o={class:`antialiased bg-white dark:bg-[#020420] dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-[#020420] tracking-wide`},s={class:`max-w-520px text-center`},c=[`textContent`],l=[`textContent`],u=[`textContent`],d=e({__name:`error-500`,props:{appName:{type:String,default:`Nuxt`},statusCode:{type:Number,default:500},statusMessage:{type:String,default:`Internal server error`},description:{type:String,default:`This page is temporarily unavailable.`},refresh:{type:String,default:`Refresh this page`}},setup(e){let d=e;return n({title:`${d.statusCode} - ${d.statusMessage} | ${d.appName}`,script:[{innerHTML:`!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver(e=>{for(const o of e)if("childList"===o.type)for(const e of o.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)}).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;const r=function(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();`}],style:[{innerHTML:`*,:after,:before{border-color:var(--un-default-border-color,#e5e7eb);border-style:solid;border-width:0;box-sizing:border-box}:after,:before{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}h1,h2{font-size:inherit;font-weight:inherit}h1,h2,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }`}]}),(n,d)=>(t(),a(`div`,o,[i(`div`,s,[i(`h1`,{class:`font-semibold leading-none mb-4 sm:text-[110px] tabular-nums text-[80px]`,textContent:r(e.statusCode)},null,8,c),i(`h2`,{class:`font-semibold mb-2 sm:text-3xl text-2xl`,textContent:r(e.statusMessage)},null,8,l),i(`p`,{class:`mb-4 px-2 text-[#64748B] text-md`,textContent:r(e.description)},null,8,u)])]))}},[[`__scopeId`,`data-v-4936aca7`]]);export{d as default};
@@ -0,0 +1 @@
1
+ import{Bt as e,Jt as t,Nt as n,S as r,Tt as i,Vt as a,ct as o,en as s,ft as c,in as l,it as u,kt as d,lt as f,mt as p,ot as m,pt as h,st as g,tn as _,ut as v,y}from"#entry";import{t as b}from"./Jdu9jmuG.js";import{t as x}from"./17ealR8P.js";import"./B_mZ82Ef.js";import"./2OALqkc2.js";import{r as S,t as C}from"./DL1ysgP5.js";import{t as w}from"./CbzAqNxs.js";import"./DnpfwSMy.js";import{t as T}from"./SO3ppn9m.js";var E={flex:`~ col gap-2`},D={flex:`~ gap-1 items-center`,"font-mono":``,op50:``,"text-sm":``},O={"font-mono":``,"font-sm":``},k={key:0,flex:`~ gap-1 items-center`},A={key:0,op50:``,"text-xs":``,border:`~ base rounded-md`,px1:``,"font-mono":``},j=p({__name:`SessionSelector`,props:{sessionMode:{},sessions:{},selectedSessionIds:{},selectedSessions:{}},emits:[`select`],setup(e,{emit:t}){let r=e,p=t;function y(e){return T(e.meta.inputs[0]?.filename??``,e.meta.cwd).path}let x=m(()=>{let e=r.selectedSessions?.[0];return e?y(e):``});function j(e){return x.value&&x.value!==y(e)}function M(e){r.sessionMode===`compare`&&!j(e)&&p(`select`,e)}return(t,r)=>{let p=C,m=S,y=w;return i(),v(`div`,E,[(i(!0),v(u,null,d(e.sessions,t=>(i(),v(`div`,{key:t.id,flex:`~ row gap-2`,relative:``},[(i(),o(n(e.sessionMode===`list`?s(b):`div`),{to:`/session/${t.id}`,border:`~ rounded-md`,class:_(e.sessionMode===`list`?[`hover:bg-active`,`border-base`]:[e.selectedSessionIds.includes(t.id)?`border-active`:`border-base`,j(t)||e.selectedSessions.length===2&&!e.selectedSessionIds.includes(t.id)?`op50`:`hover:bg-active`]),flex:`~ col gap-1`,px4:``,py3:``,"w-full":``,onClick:e=>M(t)},{default:a(()=>[g(`div`,D,[r[0]||=g(`div`,{"i-ph-hash-duotone":``},null,-1),c(` `+l(t.id),1)]),g(`div`,O,l(t.meta.cwd),1),t.meta.inputs[0]?(i(),v(`div`,k,[h(p,{id:t.meta.inputs[0].filename,cwd:t.meta.cwd},null,8,[`id`,`cwd`]),h(m,{text:t.meta.inputs[0].name||`entry`},null,8,[`text`]),t.meta.inputs.length>1?(i(),v(`span`,A,` +`+l(t.meta.inputs.length-1),1)):f(``,!0)])):f(``,!0),h(y,{timestamp:t.timestamp,pt2:``,"text-sm":``,op50:``},null,8,[`timestamp`])]),_:2},1032,[`to`,`class`,`onClick`]))]))),128))])}}}),M=Object.assign(j,{__name:`PanelSessionSelector`}),N={p4:``,flex:`~ col gap-4`,"items-center":``,"justify-center":``,relative:``},P={op50:``},F={relative:``,flex:`~ col gap3 items-center`},I={fixed:``,"top-5":``,"right-5":``,flex:`~ col gap2`},L={flex:`~ row justify-around`,w20:``,h8:``,border:`~ base rounded-8`,"of-hidden":``},R=[`title`,`onClick`],z={key:0,fixed:``,"bottom-5":``,"right-5":``,border:`~ base rounded-2`,w100:``,"max-lg:w85":``,"bg-glass":``,"z-panel-content":``},B={flex:`~ justify-center`,p2:``},V={key:1,op80:``,"text-sm":``},H=p({__name:`index`,async setup(n){let p,S,C=t(`list`),w=[{label:`Session List`,icon:`i-ph-list-bullets-duotone`,value:`list`},{label:`Session Compare`,icon:`i-ph-git-diff-duotone`,value:`compare`}],T=t([]),E=m(()=>T.value.map(e=>e.id).sort()),D=m(()=>[...T.value].sort((e,t)=>e.timestamp-t.timestamp).map((e,t)=>({...e,createdAt:new Date(e.timestamp),title:t===0?`Session A`:`Session B`}))),O=y(),k=([p,S]=e(()=>O.value[`vite:rolldown:list-sessions`]()),p=await p,S(),p);function A(e){E.value.includes(e.id)?T.value=T.value.filter(t=>t.id!==e.id):T.value=[...T.value,e]}return(e,t)=>{let n=r,p=M,m=x,y=b;return i(),v(`div`,N,[h(n),g(`p`,P,l(C.value===`list`?`Select a build session to get started:`:`Select 2 build sessions to compare:`),1),g(`div`,F,[h(p,{"session-mode":C.value,sessions:s(k),"selected-session-ids":E.value,"selected-sessions":T.value,onSelect:A},null,8,[`session-mode`,`sessions`,`selected-session-ids`,`selected-sessions`])]),g(`div`,I,[g(`div`,L,[(i(),v(u,null,d(w,e=>g(`button`,{key:e.value,title:e.label,"flex-1":``,op50:``,flex:`~ items-center justify-center`,class:_({"bg-active text-base op100!":C.value===e.value}),hover:`bg-active text-base op100!`,onClick:t=>C.value=e.value},[g(`span`,{class:_([e.icon,`text-sm`])},null,2)],10,R)),64))])]),T.value.length>0&&C.value===`compare`?(i(),v(`div`,z,[h(m,{sessions:D.value,class:`flex-col gap0 [&>div]:border-none! [&>first-child]:border-b!`},null,8,[`sessions`]),g(`div`,B,[T.value.length===2?(i(),o(y,{key:0,tag:`button`,to:`/compare/${E.value.join(`,`)}`,"btn-action":``,"rounded-8":``,"text-3":``,flex:`~ justify-center`,w30:``,h8:``},{default:a(()=>[...t[0]||=[c(` Compare `,-1)]]),_:1},8,[`to`])):(i(),v(`div`,V,` Select one more session to compare. `))])])):f(``,!0)])}}});export{H as default};
@@ -0,0 +1 @@
1
+ import{At as e,Ct as t,Ht as n,Jt as r,Mt as i,Rt as a,Tt as o,Vt as s,bt as c,ct as l,en as u,et as d,in as f,it as p,kt as m,lt as h,mt as g,nn as _,pt as v,rn as y,rt as b,st as x,tn as S,ut as C}from"#entry";import{a as w,i as ee,n as T,o as E,r as D,s as O}from"./CAhTQkqV.js";var k=g({inheritAttrs:!1,__name:`TimeoutView`,props:{content:{},hideInterval:{default:1500}},setup(e){let t=r(!1),n=null;return a(()=>e.content,()=>{n&&clearTimeout(n),t.value=!0,n=setTimeout(()=>{t.value=!1},e.hideInterval)}),(n,r)=>(o(),l(d,{"enter-active-class":`transition-opacity duration-200 ease-in`,"leave-active-class":`transition-opacity duration-500 ease-out`,"enter-from-class":`opacity-0`,"leave-to-class":`opacity-0`},{default:s(()=>[t.value?(o(),C(`div`,_(c({key:0},n.$attrs)),f(e.content),17)):h(``,!0)]),_:1}))}}),A=Object.assign(k,{__name:`DisplayTimeoutView`}),j=[`width`,`height`],M=[`d`],N={class:`w-4`},P=[`disabled`,`title`,`onClick`],F={fixed:``,"right-6":``,"bottom-6":``,"z-panel-nav":``,flex:`~ col gap-2 items-center`},I={"w-10":``,flex:`~ items-center justify-center`},L={"bg-glass":``,"rounded-full":``,border:``,"border-base":``,shadow:``,flex:`~ col gap-1 p1`},R=[`disabled`],z=[`disabled`],B=[`disabled`],V=[`disabled`],H=g({__name:`ModuleGraph`,props:{modules:{},session:{},expandControls:{type:Boolean,default:!0}},setup(r){let s=r,{isFirstCalculateGraph:c,childToParentMap:l,collapsedNodes:d,calculateGraph:f,container:g,width:_,height:k,scale:H,nodes:U,links:W,spacing:G,nodesRefMap:K}=E(),{isGrabbing:q,init:J}=ee(),{zoomIn:Y,zoomOut:X,ZOOM_MIN:Z,ZOOM_MAX:Q}=w(),{isGraphNodeToggling:$,toggleNode:te,expandAll:ne,collapseAll:re}=O({modules:s.modules});return t(()=>{J(),a(()=>s.modules,()=>{c.value=!0,d.clear(),l.clear(),f()},{immediate:!0})}),(t,a)=>{let s=A,c=i(`tooltip`);return o(),C(`div`,{ref_key:`container`,ref:g,"w-full":``,"h-screen":``,"of-scroll":``,relative:``,"select-none":``,class:S(u(q)?`cursor-grabbing`:``)},[x(`div`,{style:y({width:`${u(_)*u(H)}px`,height:`${u(k)*u(H)}px`})},[x(`div`,{flex:`~ items-center justify-center`,style:y({transform:`scale(${u(H)})`,transformOrigin:`0 0`})},[x(`div`,{absolute:``,"left-0":``,"top-0":``,style:y({width:`${u(_)}px`,height:`${u(k)}px`}),class:`bg-dots`},null,4),(o(),C(`svg`,{"pointer-events-none":``,absolute:``,"left-0":``,"top-0":``,"z-graph-link":``,width:u(_),height:u(k)},[x(`g`,null,[(o(!0),C(p,null,m(u(W),n=>e(t.$slots,`link`,{key:n.id,link:n,d:u(T)(n,u(G)),linkClass:u(D)(n)},()=>[(o(),C(`path`,{key:n.id,d:u(T)(n,u(G)),class:S(u(D)(n)),fill:`none`},null,10,M))])),128))])],8,j)),(o(!0),C(p,null,m(u(U),n=>(o(),C(p,{key:n.data.module.id},[n.data.module.id===`~root`?h(``,!0):(o(),C(`div`,{key:0,absolute:``,class:`group z-graph-node flex gap-1 items-center`,style:y({left:`${n.x}px`,top:`${n.y}px`,transform:`translate(-50%, -50%)`})},[x(`div`,{flex:`~ items-center gap-1`,"bg-glass":``,border:`~ base rounded`,class:`group-hover:bg-active block px2 p1`,style:y({minWidth:`${u(u(G).width)}px`,maxWidth:`${u(u(G).width)}px`,maxHeight:`${u(u(G).height)}px`,overflow:`hidden`,transition:`all 0.3s ease`})},[e(t.$slots,`default`,{node:n,nodesRefMap:u(K)})],4),x(`div`,N,[n.data.hasChildren?(o(),C(`button`,{key:0,"w-4":``,"h-4":``,"rounded-full":``,flex:`items-center justify-center`,"text-xs":``,border:`~ active`,class:S([`flex cursor-pointer z-graph-node-active bg-base`,{"cursor-not-allowed":u($),"hover:bg-active":!u($)}]),disabled:u($),title:n.data.expanded?`Collapse`:`Expand`,onClick:b(e=>u(te)(n.data.module.id),[`stop`])},[x(`div`,{class:S([`text-primary h-4`,[n.data.expanded?`i-ph-minus`:`i-ph-plus`]]),transition:`transform duration-200`},null,2)],10,P)):h(``,!0)])],4))],64))),128))],4)],4),x(`div`,F,[x(`div`,I,[v(s,{content:`${Math.round(u(H)*100)}%`,class:`text-sm`},null,8,[`content`])]),x(`div`,L,[r.expandControls?(o(),C(p,{key:0},[n((o(),C(`button`,{"w-10":``,"h-10":``,"rounded-full":``,"hover:bg-active":``,"op-fade":``,"hover:op100":``,flex:`~ items-center justify-center`,disabled:u($),class:S({"op50 cursor-not-allowed":u($),"hover:bg-active":!u($)}),title:`Expand All`,onClick:a[0]||=e=>u(ne)()},[...a[4]||=[x(`div`,{class:`i-ph-arrows-out-simple-duotone`},null,-1)]],10,R)),[[c,`Expand All`,void 0,{left:!0}]]),n((o(),C(`button`,{"w-10":``,"h-10":``,"rounded-full":``,"hover:bg-active":``,"op-fade":``,"hover:op100":``,flex:`~ items-center justify-center`,disabled:u($),class:S({"op50 cursor-not-allowed":u($),"hover:bg-active":!u($)}),title:`Collapse All`,onClick:a[1]||=e=>u(re)()},[...a[5]||=[x(`div`,{class:`i-ph-arrows-in-simple-duotone`},null,-1)]],10,z)),[[c,`Collapse All`,void 0,{left:!0}]]),a[6]||=x(`div`,{border:`t base`,my1:``},null,-1)],64)):h(``,!0),n((o(),C(`button`,{disabled:u(H)>=u(Q),"w-10":``,"h-10":``,"rounded-full":``,"hover:bg-active":``,"op-fade":``,"hover:op100":``,"disabled:op20":``,"disabled:bg-none":``,"disabled:cursor-not-allowed":``,flex:`~ items-center justify-center`,title:`Zoom In (Ctrl + =)`,onClick:a[2]||=e=>u(Y)()},[...a[7]||=[x(`div`,{"i-ph-magnifying-glass-plus-duotone":``},null,-1)]],8,B)),[[c,`Zoom In (Ctrl + =)`,void 0,{left:!0}]]),n((o(),C(`button`,{disabled:u(H)<=u(Z),"w-10":``,"h-10":``,"rounded-full":``,"hover:bg-active":``,"op-fade":``,"hover:op100":``,"disabled:op20":``,"disabled:bg-none":``,"disabled:cursor-not-allowed":``,flex:`~ items-center justify-center`,title:`Zoom Out (Ctrl + -)`,onClick:a[3]||=e=>u(X)()},[...a[8]||=[x(`div`,{"i-ph-magnifying-glass-minus-duotone":``},null,-1)]],8,V)),[[c,`Zoom Out (Ctrl + -)`,void 0,{left:!0}]])])])],2)}}}),U=Object.assign(H,{__name:`DisplayModuleGraph`});export{U as t};