@nuxt/devtools-nightly 4.0.0-alpha.7-29744570.673b02b → 4.0.0-alpha.7-29744762.bee6f4a
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.
- package/dist/chunks/module-main.mjs +133 -89
- package/dist/client/200.html +1 -1
- package/dist/client/404.html +1 -1
- package/dist/client/_nuxt/analyze-build-nklgj891.js +1 -0
- package/dist/client/_nuxt/{assets-k8ixcqu4.js → assets-j7wwjukb.js} +2 -2
- package/dist/client/_nuxt/builds/latest.json +1 -1
- package/dist/client/_nuxt/builds/meta/07419bd6-9316-4f0a-8692-c6f2e89ed412.json +1 -0
- package/dist/client/_nuxt/{code-snippets-msaaybmu.js → code-snippets-bk0a6341.js} +1 -1
- package/dist/client/_nuxt/{components-d0b7ylch.js → components-k7bgt9y7.js} +1 -1
- package/dist/client/_nuxt/{composable-item-fii7k623.js → composable-item-gkpcv20r.js} +1 -1
- package/dist/client/_nuxt/custom-_name_-hb9h6sd9.js +1 -0
- package/dist/client/_nuxt/{data-schema-button-kpikf4nk.js → data-schema-button-fnc5tqn2.js} +1 -1
- package/dist/client/_nuxt/{data-schema-drawer-bwwcxmik.js → data-schema-drawer-jqx0h0q8.js} +2 -2
- package/dist/client/_nuxt/{debug-hqu527fj.js → debug-l1jpdmej.js} +1 -1
- package/dist/client/_nuxt/entry.css-jv3imi7n.css +1 -0
- package/dist/client/_nuxt/{error-404-kblnoft5.js → error-404-eg2k665w.js} +1 -1
- package/dist/client/_nuxt/{error-500-biy44sgz.js → error-500-dhb7gisx.js} +1 -1
- package/dist/client/_nuxt/{error-g29cf8f1.js → error-l6yv7f84.js} +1 -1
- package/dist/client/_nuxt/{filepath-item-cjop7emq.js → filepath-item-c7uegiaa.js} +1 -1
- package/dist/client/_nuxt/hd35mflg.js +4 -0
- package/dist/client/_nuxt/{help-fab-nvaqe3cd.js → help-fab-jisygb6y.js} +1 -1
- package/dist/client/_nuxt/{hooks-mie3p1xt.js → hooks-gc6lo3xs.js} +1 -1
- package/dist/client/_nuxt/{imports-cflokl61.js → imports-n8wfcu3a.js} +1 -1
- package/dist/client/_nuxt/{launch-page-esldehxl.js → launch-page-krlyw5tj.js} +1 -1
- package/dist/client/_nuxt/modules-jewm1kew.js +1 -0
- package/dist/client/_nuxt/{ncheckbox-kipnxkyt.js → ncheckbox-cd89m7vw.js} +1 -1
- package/dist/client/_nuxt/{ndrawer-omkbykrx.js → ndrawer-flnxaerl.js} +1 -1
- package/dist/client/_nuxt/{ndropdown-cdwphgmj.js → ndropdown-fhsar2c4.js} +1 -1
- package/dist/client/_nuxt/{nlink-kepuip3g.js → nlink-ivp2fbiu.js} +1 -1
- package/dist/client/_nuxt/{nnavbar-ebncvl22.js → nnavbar-nzxl9pku.js} +1 -1
- package/dist/client/_nuxt/{nsection-block-efk27gko.js → nsection-block-e6henssm.js} +1 -1
- package/dist/client/_nuxt/{nselect-icowqc7c.js → nselect-fq0i2yeb.js} +1 -1
- package/dist/client/_nuxt/{ntip-kfuisnga.js → ntip-okl09yvw.js} +1 -1
- package/dist/client/_nuxt/{open-graph-klvw01gb.js → open-graph-hqi7drlr.js} +2 -2
- package/dist/client/_nuxt/overview-i8jsdkfv.js +1 -0
- package/dist/client/_nuxt/pages-ctn75119.js +1 -0
- package/dist/client/_nuxt/{pages-kfh44l9w.js → pages-jtg5j5l6.js} +1 -1
- package/dist/client/_nuxt/{payload-lrxhpqff.js → payload-g1lv364q.js} +1 -1
- package/dist/client/_nuxt/{pinia-o28q2hqf.js → pinia-baizjq5x.js} +1 -1
- package/dist/client/_nuxt/{plugins-ezss5zds.js → plugins-j1r4crl5.js} +1 -1
- package/dist/client/_nuxt/{render-tree-n27d6a4z.js → render-tree-jooc4n4t.js} +1 -1
- package/dist/client/_nuxt/{runtime-configs-fqrswceg.js → runtime-configs-my3miyp3.js} +1 -1
- package/dist/client/_nuxt/{server-discovery-bwoloykf.js → server-discovery-ixbx3g0g.js} +1 -1
- package/dist/client/_nuxt/{server-route-inputs-iqcpzyvy.js → server-route-inputs-jicqwvcj.js} +1 -1
- package/dist/client/_nuxt/{server-routes-cdbmg56t.js → server-routes-habjzed3.js} +2 -2
- package/dist/client/_nuxt/{server-tasks-gsboc02w.js → server-tasks-gctwz9sm.js} +1 -1
- package/dist/client/_nuxt/{settings-lybodwol.js → settings-enfhlzj8.js} +1 -1
- package/dist/client/_nuxt/{stacktrace-list-flb32lna.js → stacktrace-list-hiixfqgs.js} +1 -1
- package/dist/client/_nuxt/{state-components-mbj2ipfd.js → state-components-j3zfj0i6.js} +1 -1
- package/dist/client/_nuxt/{state-editor-ee8xlgya.js → state-editor-crmg0v71.js} +1 -1
- package/dist/client/_nuxt/state-modules-m22n61s8.js +1 -0
- package/dist/client/_nuxt/{storage-fxphrt8s.js → storage-xk2w4h0f.js} +1 -1
- package/dist/client/_nuxt/{timeline-iqtqbkdg.js → timeline-oaqfizxi.js} +2 -2
- package/dist/client/_nuxt/{unocss-runtime-b5ad6chn.js → unocss-runtime-ixdk33tq.js} +1 -1
- package/dist/client/_nuxt/utils-cz4yum9q.js +2 -0
- package/dist/client/_nuxt/vendor/{unocss-faiptcu1.js → unocss-g96pl2xt.js} +2 -2
- package/dist/client/_nuxt/{virtual-files-jvqgntbe.js → virtual-files-zxy68gka.js} +1 -1
- package/dist/client/_nuxt/vue-devtools-exv5psiz.js +4 -0
- package/dist/client/index.html +1 -1
- package/dist/module.json +1 -1
- package/package.json +2 -4
- package/dist/client/_nuxt/analyze-build-h2flohm0.js +0 -1
- package/dist/client/_nuxt/builds/meta/cdd3f96e-6d71-453a-944c-f67c52d9d3f2.json +0 -1
- package/dist/client/_nuxt/csynifh6.js +0 -4
- package/dist/client/_nuxt/custom-_name_-ebjum9gt.js +0 -1
- package/dist/client/_nuxt/entry.css-c00x288z.css +0 -1
- package/dist/client/_nuxt/modules-m1duyrnz.js +0 -1
- package/dist/client/_nuxt/overview-dckcxbr3.js +0 -1
- package/dist/client/_nuxt/pages-chvvkob6.js +0 -1
- package/dist/client/_nuxt/state-modules-c8n1hpe5.js +0 -1
- package/dist/client/_nuxt/terminals-b04ra0ep.js +0 -1
- package/dist/client/_nuxt/terminals.css-mejv43xm.css +0 -1
- package/dist/client/_nuxt/utils-nqaypak4.js +0 -2
- package/dist/client/_nuxt/vendor/xterm-eb5atty5.js +0 -36
- package/dist/client/_nuxt/vendor/xterm.css-j9zpjwmg.css +0 -1
- package/dist/client/_nuxt/vue-devtools-byl32vd2.js +0 -4
|
@@ -30,10 +30,127 @@ import { getDefaultExportOptions, addNuxtModule } from 'magicast/helpers';
|
|
|
30
30
|
import { isLess } from 'verkit';
|
|
31
31
|
import { normalizeBaseKey, normalizeKey } from 'unstorage';
|
|
32
32
|
|
|
33
|
-
const version$1 = "4.0.0-alpha.7-
|
|
33
|
+
const version$1 = "4.0.0-alpha.7-29744762.bee6f4a";
|
|
34
34
|
|
|
35
35
|
const RPC_NAMESPACE = "nuxt:devtools";
|
|
36
36
|
|
|
37
|
+
const TERMINALS_DOCK_ID = "devframes_plugin_terminals";
|
|
38
|
+
function removeSession(host, session) {
|
|
39
|
+
const maybeRemove = host.remove;
|
|
40
|
+
if (typeof maybeRemove === "function")
|
|
41
|
+
maybeRemove.call(host, session);
|
|
42
|
+
else
|
|
43
|
+
host.sessions.delete(session.id);
|
|
44
|
+
}
|
|
45
|
+
function broadcastTerminalExit(ctx, id, code) {
|
|
46
|
+
ctx.devtoolsKit?.rpc.broadcast({ method: "onTerminalExit", args: [{ id, code }], event: true });
|
|
47
|
+
}
|
|
48
|
+
function setupTerminalsBridge(ctx) {
|
|
49
|
+
const { nuxt } = ctx;
|
|
50
|
+
const terminals = /* @__PURE__ */ new Map();
|
|
51
|
+
let host;
|
|
52
|
+
function createBridged(state) {
|
|
53
|
+
let controller;
|
|
54
|
+
const stream = new ReadableStream({
|
|
55
|
+
start(c) {
|
|
56
|
+
controller = c;
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
const buffer = typeof state.buffer === "string" && state.buffer ? [state.buffer] : [];
|
|
60
|
+
const session = {
|
|
61
|
+
id: state.id,
|
|
62
|
+
title: state.name,
|
|
63
|
+
description: state.description,
|
|
64
|
+
icon: state.icon,
|
|
65
|
+
status: state.isTerminated ? "stopped" : "running",
|
|
66
|
+
interactive: false,
|
|
67
|
+
buffer,
|
|
68
|
+
stream
|
|
69
|
+
};
|
|
70
|
+
return { session, controller, state, exited: !!state.isTerminated };
|
|
71
|
+
}
|
|
72
|
+
nuxt.hook("devtools:terminal:register", (terminal) => {
|
|
73
|
+
const existing = terminals.get(terminal.id);
|
|
74
|
+
if (existing) {
|
|
75
|
+
existing.state = terminal;
|
|
76
|
+
existing.exited = false;
|
|
77
|
+
existing.session.status = "running";
|
|
78
|
+
existing.session.buffer?.splice(0, existing.session.buffer.length);
|
|
79
|
+
host?.update(existing.session);
|
|
80
|
+
return terminal.id;
|
|
81
|
+
}
|
|
82
|
+
const bridged = createBridged(terminal);
|
|
83
|
+
terminals.set(terminal.id, bridged);
|
|
84
|
+
host?.register(bridged.session);
|
|
85
|
+
return terminal.id;
|
|
86
|
+
});
|
|
87
|
+
nuxt.hook("devtools:terminal:write", ({ id, data }) => {
|
|
88
|
+
const bridged = terminals.get(id);
|
|
89
|
+
if (!bridged)
|
|
90
|
+
return false;
|
|
91
|
+
bridged.state.buffer = (bridged.state.buffer || "") + data;
|
|
92
|
+
try {
|
|
93
|
+
bridged.controller?.enqueue(data);
|
|
94
|
+
} catch {
|
|
95
|
+
}
|
|
96
|
+
return true;
|
|
97
|
+
});
|
|
98
|
+
nuxt.hook("devtools:terminal:exit", ({ id, code }) => {
|
|
99
|
+
const bridged = terminals.get(id);
|
|
100
|
+
if (!bridged)
|
|
101
|
+
return false;
|
|
102
|
+
bridged.exited = true;
|
|
103
|
+
bridged.state.isTerminated = true;
|
|
104
|
+
bridged.session.status = code ? "error" : "stopped";
|
|
105
|
+
try {
|
|
106
|
+
bridged.controller?.close();
|
|
107
|
+
} catch {
|
|
108
|
+
}
|
|
109
|
+
host?.update(bridged.session);
|
|
110
|
+
broadcastTerminalExit(ctx, id, code);
|
|
111
|
+
return true;
|
|
112
|
+
});
|
|
113
|
+
nuxt.hook("devtools:terminal:remove", ({ id }) => {
|
|
114
|
+
const bridged = terminals.get(id);
|
|
115
|
+
if (!bridged)
|
|
116
|
+
return false;
|
|
117
|
+
try {
|
|
118
|
+
bridged.controller?.close();
|
|
119
|
+
} catch {
|
|
120
|
+
}
|
|
121
|
+
terminals.delete(id);
|
|
122
|
+
if (host)
|
|
123
|
+
removeSession(host, bridged.session);
|
|
124
|
+
return true;
|
|
125
|
+
});
|
|
126
|
+
nuxt.hook("devtools:ready", (kit) => {
|
|
127
|
+
host = kit.terminals;
|
|
128
|
+
for (const bridged of terminals.values()) {
|
|
129
|
+
if (!host.sessions.has(bridged.session.id))
|
|
130
|
+
host.register(bridged.session);
|
|
131
|
+
if (bridged.exited)
|
|
132
|
+
host.update(bridged.session);
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
return {
|
|
136
|
+
/**
|
|
137
|
+
* Focus the built-in **Terminals** dock on a session (devframe 0.7
|
|
138
|
+
* `docks.activate`). Replaces the old in-client "go to Terminals tab"
|
|
139
|
+
* navigation now that terminals live in the hub dock. Returns `false`
|
|
140
|
+
* when the kit isn't connected or the session is unknown.
|
|
141
|
+
*/
|
|
142
|
+
async revealTerminal(id) {
|
|
143
|
+
const kit = ctx.devtoolsKit;
|
|
144
|
+
if (!kit)
|
|
145
|
+
return false;
|
|
146
|
+
if (!terminals.has(id) && !kit.terminals.sessions.has(id))
|
|
147
|
+
return false;
|
|
148
|
+
kit.docks.activate(TERMINALS_DOCK_ID, { sessionId: id });
|
|
149
|
+
return true;
|
|
150
|
+
}
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
|
|
37
154
|
const COLON_RE = /:/g;
|
|
38
155
|
function setupAnalyzeBuildRPC(ctx) {
|
|
39
156
|
const { nuxt, refresh } = ctx;
|
|
@@ -60,6 +177,7 @@ function setupAnalyzeBuildRPC(ctx) {
|
|
|
60
177
|
refresh("getAnalyzeBuildInfo");
|
|
61
178
|
initalized = void 0;
|
|
62
179
|
promise = Promise.resolve(session.getResult()).then((result) => {
|
|
180
|
+
broadcastTerminalExit(ctx, processId, result?.exitCode);
|
|
63
181
|
if (result.exitCode && result.exitCode !== 0) {
|
|
64
182
|
ctx.notify({
|
|
65
183
|
message: `Build analysis "${name}" failed`,
|
|
@@ -11256,7 +11374,7 @@ function setupNpmRPC(ctx) {
|
|
|
11256
11374
|
if (!args)
|
|
11257
11375
|
return;
|
|
11258
11376
|
const processId = `npm:${command}:${packageName}`;
|
|
11259
|
-
await getTerminals().startChildProcess({
|
|
11377
|
+
const session = await getTerminals().startChildProcess({
|
|
11260
11378
|
command: args[0],
|
|
11261
11379
|
args: args.slice(1)
|
|
11262
11380
|
}, {
|
|
@@ -11264,6 +11382,10 @@ function setupNpmRPC(ctx) {
|
|
|
11264
11382
|
title: `${command} ${packageName}`,
|
|
11265
11383
|
icon: "i-logos-npm-icon"
|
|
11266
11384
|
});
|
|
11385
|
+
void Promise.resolve(session.getResult()).then((result) => {
|
|
11386
|
+
broadcastTerminalExit(ctx, processId, result.exitCode);
|
|
11387
|
+
}).catch(() => {
|
|
11388
|
+
});
|
|
11267
11389
|
return {
|
|
11268
11390
|
processId
|
|
11269
11391
|
};
|
|
@@ -11303,6 +11425,7 @@ function setupNpmRPC(ctx) {
|
|
|
11303
11425
|
icon: "carbon:intent-request-create"
|
|
11304
11426
|
});
|
|
11305
11427
|
const result = await session.getResult();
|
|
11428
|
+
broadcastTerminalExit(ctx, processId, result.exitCode);
|
|
11306
11429
|
await Promise.resolve();
|
|
11307
11430
|
installSet.delete(name);
|
|
11308
11431
|
const code = result.exitCode;
|
|
@@ -11353,6 +11476,7 @@ function setupNpmRPC(ctx) {
|
|
|
11353
11476
|
icon: "carbon:intent-request-uninstall"
|
|
11354
11477
|
});
|
|
11355
11478
|
const result = await session.getResult();
|
|
11479
|
+
broadcastTerminalExit(ctx, processId, result.exitCode);
|
|
11356
11480
|
await Promise.resolve();
|
|
11357
11481
|
const code = result.exitCode;
|
|
11358
11482
|
if (code !== 0) {
|
|
@@ -11689,90 +11813,6 @@ function telemetryEvent(payload, immediate = false) {
|
|
|
11689
11813
|
throttledSend();
|
|
11690
11814
|
}
|
|
11691
11815
|
|
|
11692
|
-
function setupTerminalRPC(ctx) {
|
|
11693
|
-
const { nuxt, refresh } = ctx;
|
|
11694
|
-
const terminals = /* @__PURE__ */ new Map();
|
|
11695
|
-
nuxt.hook("devtools:terminal:register", (terminal) => {
|
|
11696
|
-
terminals.set(terminal.id, terminal);
|
|
11697
|
-
refresh("getTerminals");
|
|
11698
|
-
return terminal.id;
|
|
11699
|
-
});
|
|
11700
|
-
nuxt.hook("devtools:terminal:remove", ({ id }) => {
|
|
11701
|
-
if (!terminals.has(id))
|
|
11702
|
-
return false;
|
|
11703
|
-
terminals.delete(id);
|
|
11704
|
-
refresh("getTerminals");
|
|
11705
|
-
return true;
|
|
11706
|
-
});
|
|
11707
|
-
nuxt.hook("devtools:terminal:write", ({ id, data }) => {
|
|
11708
|
-
const terminal = terminals.get(id);
|
|
11709
|
-
if (!terminal)
|
|
11710
|
-
return false;
|
|
11711
|
-
terminal.buffer ||= "";
|
|
11712
|
-
terminal.buffer += data;
|
|
11713
|
-
ctx.devtoolsKit?.rpc.broadcast({ method: "onTerminalData", args: [{ id, data }], event: true });
|
|
11714
|
-
return true;
|
|
11715
|
-
});
|
|
11716
|
-
nuxt.hook("devtools:terminal:exit", ({ id, code }) => {
|
|
11717
|
-
const terminal = terminals.get(id);
|
|
11718
|
-
if (!terminal)
|
|
11719
|
-
return false;
|
|
11720
|
-
terminal.isTerminated = true;
|
|
11721
|
-
ctx.devtoolsKit?.rpc.broadcast({ method: "onTerminalExit", args: [{ id, code }], event: true });
|
|
11722
|
-
refresh("getTerminals");
|
|
11723
|
-
return true;
|
|
11724
|
-
});
|
|
11725
|
-
function serializeTerminal(terminal, buffer = false) {
|
|
11726
|
-
if (!terminal)
|
|
11727
|
-
return;
|
|
11728
|
-
return {
|
|
11729
|
-
id: terminal.id,
|
|
11730
|
-
name: terminal.name,
|
|
11731
|
-
description: terminal.description,
|
|
11732
|
-
icon: terminal.icon,
|
|
11733
|
-
terminatable: terminal.terminatable ?? !!terminal.onActionTerminate,
|
|
11734
|
-
restartable: terminal.restartable ?? !!terminal.onActionRestart,
|
|
11735
|
-
isTerminated: terminal.isTerminated,
|
|
11736
|
-
buffer: buffer ? terminal.buffer : void 0
|
|
11737
|
-
};
|
|
11738
|
-
}
|
|
11739
|
-
return {
|
|
11740
|
-
getTerminals() {
|
|
11741
|
-
return Array.from(terminals.values(), (i) => serializeTerminal(i));
|
|
11742
|
-
},
|
|
11743
|
-
async getTerminalDetail(id) {
|
|
11744
|
-
return serializeTerminal(terminals.get(id), true);
|
|
11745
|
-
},
|
|
11746
|
-
async runTerminalAction(id, action) {
|
|
11747
|
-
const terminal = terminals.get(id);
|
|
11748
|
-
if (!terminal)
|
|
11749
|
-
return false;
|
|
11750
|
-
switch (action) {
|
|
11751
|
-
case "restart":
|
|
11752
|
-
if (!terminal.onActionRestart)
|
|
11753
|
-
return false;
|
|
11754
|
-
await terminal.onActionRestart();
|
|
11755
|
-
return true;
|
|
11756
|
-
case "terminate":
|
|
11757
|
-
if (!terminal.onActionTerminate)
|
|
11758
|
-
return false;
|
|
11759
|
-
await terminal.onActionTerminate();
|
|
11760
|
-
return true;
|
|
11761
|
-
case "remove":
|
|
11762
|
-
if (!terminal.isTerminated)
|
|
11763
|
-
terminal.onActionTerminate?.();
|
|
11764
|
-
terminals.delete(id);
|
|
11765
|
-
refresh("getTerminals");
|
|
11766
|
-
return true;
|
|
11767
|
-
case "clear":
|
|
11768
|
-
terminal.buffer = "";
|
|
11769
|
-
refresh("getTerminals");
|
|
11770
|
-
return true;
|
|
11771
|
-
}
|
|
11772
|
-
}
|
|
11773
|
-
};
|
|
11774
|
-
}
|
|
11775
|
-
|
|
11776
11816
|
function setupTimelineRPC({ nuxt }) {
|
|
11777
11817
|
return {
|
|
11778
11818
|
async enableTimeline(dry) {
|
|
@@ -11894,7 +11934,11 @@ function setupRPC(nuxt, options) {
|
|
|
11894
11934
|
...setupStorageRPC(ctx),
|
|
11895
11935
|
...setupAssetsRPC(ctx),
|
|
11896
11936
|
...setupNpmRPC(ctx),
|
|
11897
|
-
|
|
11937
|
+
// Bridge the `devtools:terminal:*` hooks onto the Vite DevTools terminals
|
|
11938
|
+
// host so module terminals surface in the built-in Terminals dock. Also
|
|
11939
|
+
// registers its own hook listeners (including `devtools:ready`) as a side
|
|
11940
|
+
// effect, and contributes the `revealTerminal` RPC.
|
|
11941
|
+
...setupTerminalsBridge(ctx),
|
|
11898
11942
|
...setupServerRoutesRPC(ctx),
|
|
11899
11943
|
...setupServerTasksRPC(ctx),
|
|
11900
11944
|
...setupAnalyzeBuildRPC(ctx),
|
|
@@ -11939,7 +11983,7 @@ function setupRPC(nuxt, options) {
|
|
|
11939
11983
|
}
|
|
11940
11984
|
return {
|
|
11941
11985
|
connectDevToolsKit,
|
|
11942
|
-
|
|
11986
|
+
ctx
|
|
11943
11987
|
};
|
|
11944
11988
|
}
|
|
11945
11989
|
|
|
@@ -12047,7 +12091,7 @@ window.__NUXT_DEVTOOLS_TIME_METRIC__.appInit = Date.now()
|
|
|
12047
12091
|
});
|
|
12048
12092
|
const {
|
|
12049
12093
|
connectDevToolsKit: _connectDevToolsKit,
|
|
12050
|
-
|
|
12094
|
+
ctx
|
|
12051
12095
|
} = setupRPC(nuxt, options);
|
|
12052
12096
|
connectDevToolsKit = _connectDevToolsKit;
|
|
12053
12097
|
const clientDirExists = existsSync(clientDir);
|
package/dist/client/200.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><script type="importmap">{"imports":{"#entry":"/__NUXT_DEVTOOLS_BASE__/_nuxt/
|
|
1
|
+
<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><script type="importmap">{"imports":{"#entry":"/__NUXT_DEVTOOLS_BASE__/_nuxt/hd35mflg.js"}}</script><link rel="stylesheet" href="/__NUXT_DEVTOOLS_BASE__/_nuxt/entry.css-jv3imi7n.css" crossorigin><link rel="stylesheet" href="/__NUXT_DEVTOOLS_BASE__/_nuxt/vendor/json-editor-vue.css-lb1ewor6.css" crossorigin><link rel="stylesheet" href="/__NUXT_DEVTOOLS_BASE__/_nuxt/vendor/unocss.css-flyrgbwp.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/hd35mflg.js"><link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/_plugin-vue_export-helper-d9irwgla.js"><link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/rolldown-runtime-imbltlrc.js"><link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/vendor/json-editor-vue-dqdvn8dy.js"><link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/utils-cz4yum9q.js"><link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/vendor/shiki-mgsi4s2l.js"><link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/rpc-ixz4fjux.js"><link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/ready-nen2jn0n.js"><link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/dist-l07sxtw0.js"><link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/nuxt-krm6uln9.js"><link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/vue-router-kdlawv8o.js"><link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/vendor/unocss-g96pl2xt.js"><link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/storage-options-iwszwhs9.js"><script type="module" src="/__NUXT_DEVTOOLS_BASE__/_nuxt/hd35mflg.js" crossorigin></script><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/vendor/markdown-it-cx0uvu2o.js"><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/default-cpmtsy11.js"><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/full-o5traho8.js"><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/none-or9h2zq3.js"><link rel="prefetch" as="style" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/ncode-block.css-ivoxtfjk.css"><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/data-schema-drawer-jqx0h0q8.js"><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/vendor/quicktype-core-otmjigaj.js"><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/ncode-block-ckqwlxff.js"><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/client-otdlvsyg.js"><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/ndrawer-flnxaerl.js"><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/ndropdown-fhsar2c4.js"><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/nselect-fq0i2yeb.js"><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/nswitch-bw81lfyl.js"><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/unocss-runtime-ixdk33tq.js"><link rel="prefetch" as="style" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/error-500.css-lzv1km1s.css"><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/error-500-dhb7gisx.js"></head><body><div id="__nuxt"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__NUXT_DEVTOOLS_BASE__/",buildId:"07419bd6-9316-4f0a-8692-c6f2e89ed412",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1784685749985,false]</script></body></html>
|
package/dist/client/404.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><script type="importmap">{"imports":{"#entry":"/__NUXT_DEVTOOLS_BASE__/_nuxt/
|
|
1
|
+
<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><script type="importmap">{"imports":{"#entry":"/__NUXT_DEVTOOLS_BASE__/_nuxt/hd35mflg.js"}}</script><link rel="stylesheet" href="/__NUXT_DEVTOOLS_BASE__/_nuxt/entry.css-jv3imi7n.css" crossorigin><link rel="stylesheet" href="/__NUXT_DEVTOOLS_BASE__/_nuxt/vendor/json-editor-vue.css-lb1ewor6.css" crossorigin><link rel="stylesheet" href="/__NUXT_DEVTOOLS_BASE__/_nuxt/vendor/unocss.css-flyrgbwp.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/hd35mflg.js"><link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/_plugin-vue_export-helper-d9irwgla.js"><link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/rolldown-runtime-imbltlrc.js"><link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/vendor/json-editor-vue-dqdvn8dy.js"><link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/utils-cz4yum9q.js"><link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/vendor/shiki-mgsi4s2l.js"><link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/rpc-ixz4fjux.js"><link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/ready-nen2jn0n.js"><link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/dist-l07sxtw0.js"><link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/nuxt-krm6uln9.js"><link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/vue-router-kdlawv8o.js"><link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/vendor/unocss-g96pl2xt.js"><link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/storage-options-iwszwhs9.js"><script type="module" src="/__NUXT_DEVTOOLS_BASE__/_nuxt/hd35mflg.js" crossorigin></script><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/vendor/markdown-it-cx0uvu2o.js"><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/default-cpmtsy11.js"><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/full-o5traho8.js"><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/none-or9h2zq3.js"><link rel="prefetch" as="style" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/ncode-block.css-ivoxtfjk.css"><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/data-schema-drawer-jqx0h0q8.js"><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/vendor/quicktype-core-otmjigaj.js"><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/ncode-block-ckqwlxff.js"><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/client-otdlvsyg.js"><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/ndrawer-flnxaerl.js"><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/ndropdown-fhsar2c4.js"><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/nselect-fq0i2yeb.js"><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/nswitch-bw81lfyl.js"><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/unocss-runtime-ixdk33tq.js"><link rel="prefetch" as="style" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/error-500.css-lzv1km1s.css"><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/error-500-dhb7gisx.js"></head><body><div id="__nuxt"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__NUXT_DEVTOOLS_BASE__/",buildId:"07419bd6-9316-4f0a-8692-c6f2e89ed412",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1784685749989,false]</script></body></html>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{C as e,J as t,S as n,St as r,T as i,U as a,Zt as o,_ as s,dt as c,en as l,g as u,h as d,jt as f,m as p,p as m,s as h,ut as g}from"./vendor/json-editor-vue-dqdvn8dy.js";import{A as _}from"./ready-nen2jn0n.js";import{a as v}from"./nuxt-krm6uln9.js";import{_ as y,g as b}from"./utils-cz4yum9q.js";import{a as x,h as S,m as C}from"./rpc-ixz4fjux.js";import{t as w}from"./_plugin-vue_export-helper-d9irwgla.js";import{A as T,f as E,g as D,h as O,m as k,t as A,w as j,y as M}from"#entry";import{t as N}from"./ncode-block-ckqwlxff.js";import"./composables-ioamscf4.js";import{t as P}from"./ncheckbox-cd89m7vw.js";import{t as F}from"./filepath-item-c7uegiaa.js";import{t as I}from"./ntip-okl09yvw.js";import{t as L}from"./help-fab-jisygb6y.js";var R={"h-full":``,grid:`~ rows-[max-content_1fr]`},z={flex:`~ wrap`,"w-full":``},B=[`onClick`],V={key:0,flex:`~ col gap-4 items-center justify-center`,p4:``},H={grid:`~ cols-[30px_1fr] gap-x-2 gap-y-3 items-center justify-center`,"w-100":``},U=`/__nuxt_devtools__/client`,W=Object.assign(i({__name:`BuildAnalyzeDetails`,props:{current:{},prev:{}},setup(i){let d=i,y=`${v().app.baseURL.replace(U,`/`)}/__nuxt_devtools__/analyze/`.replace(/\/+/g,`/`),b=m(()=>{let e=[{name:`Overview`,id:`overview`}];return d.current.features.bundleClient&&e.push({name:`Client Bundle`,id:`bundle-client`}),d.current.features.bundleNitro&&e.push({name:`Nitro Bundle`,id:`bundle-nitro`}),d.current.features.viteInspect&&e.push({name:`Vite Inspect`,id:`vite-inspect`}),e}),C=r(b.value[0]);function w(e){return`${((e.endTime-e.startTime)/1e3).toFixed(1)}s`}function E(e){return e<1024?`${e}B`:e<1024*1024?`${(e/1024).toFixed(1)}KB`:e<1024*1024*1024?`${(e/1024/1024).toFixed(1)}MB`:`${(e/1024/1024/1024).toFixed(1)}GB`}async function D(e){return x.clearAnalyzeBuilds([e])}return(r,d)=>{let m=F,v=T;return a(),s(`div`,R,[p(`div`,z,[(a(!0),s(h,null,t(b.value,(e,t)=>(a(),s(`button`,{key:t,px4:``,py2:``,border:`r base`,hover:`bg-active`,class:o(e.id===C.value?.id?``:`border-b`),onClick:t=>C.value=e},[p(`div`,{class:o(e.id===C.value?.id?``:`op30`)},l(e.name),3)],10,B))),128)),d[1]||=p(`div`,{border:`b base`,"flex-auto":``},null,-1)]),C.value?.id===`overview`?(a(),s(`div`,V,[d[15]||=p(`div`,{"flex-auto":``},null,-1),p(`div`,H,[d[10]||=p(`div`,{"i-carbon-commit":``,"text-xl":``},null,-1),p(`div`,null,[d[2]||=p(`div`,{"text-sm":``,op50:``},` Name `,-1),p(`div`,null,l(i.current.name),1)]),d[11]||=p(`div`,{"i-carbon-time":``,"text-xl":``},null,-1),p(`div`,null,[d[3]||=p(`div`,{"text-sm":``,op50:``},` Build duration `,-1),p(`div`,null,l(w(i.current)),1)]),i.current.size?.clientBundle?(a(),s(h,{key:0},[d[5]||=p(`div`,{"i-carbon-cics-program":``,"text-xl":``},null,-1),p(`div`,null,[d[4]||=p(`div`,{"text-sm":``,op50:``},` Client bundle size `,-1),p(`div`,null,l(E(i.current.size.clientBundle)),1)])],64)):u(``,!0),i.current.size?.nitroBundle?(a(),s(h,{key:1},[d[7]||=p(`div`,{"i-carbon-bare-metal-server":``,"text-xl":``},null,-1),p(`div`,null,[d[6]||=p(`div`,{"text-sm":``,op50:``},` Nitro bundle size `,-1),p(`div`,null,l(E(i.current.size.nitroBundle)),1)])],64)):u(``,!0),d[12]||=p(`div`,{"i-carbon-edge-node":``,"text-xl":``},null,-1),p(`div`,null,[d[8]||=p(`div`,{"text-sm":``,op50:``},` Built `,-1),p(`div`,null,l(f(S)(new Date(i.current.endTime))),1)]),d[13]||=p(`div`,{"i-carbon:folder-parent":``,"text-xl":``},null,-1),p(`div`,null,[d[9]||=p(`div`,{"text-sm":``,op50:``},` Report Path `,-1),e(m,{filepath:i.current.analyzeDir},null,8,[`filepath`])])]),d[16]||=p(`div`,{"flex-auto":``},null,-1),e(v,{n:`rose`,icon:`carbon-delete`,onClick:d[0]||=e=>D(i.current.name)},{default:g(()=>[...d[14]||=[n(` Delete this report `,-1)]]),_:1})])):u(``,!0),d._lazyshow1||C.value?.id===`bundle-client`?(d._lazyshow1=!0,a(),s(h,null,[c(p(`iframe`,{src:`${f(y)}${i.current.slug}/client.html`,"h-full":``,"w-full":``},null,8,[`src`]),[[_,C.value?.id===`bundle-client`]])],64)):u(`v-show-if`,!0),d._lazyshow2||C.value?.id===`bundle-nitro`?(d._lazyshow2=!0,a(),s(h,null,[c(p(`iframe`,{src:`${f(y)}${i.current.slug}/nitro.html`,"h-full":``,"w-full":``},null,8,[`src`]),[[_,C.value?.id===`bundle-nitro`]])],64)):u(`v-show-if`,!0),d._lazyshow3||C.value?.id===`vite-inspect`?(d._lazyshow3=!0,a(),s(h,null,[c(p(`iframe`,{src:`${f(y)}${i.current.slug}/.vite-inspect/`,"h-full":``,"w-full":``},null,8,[`src`]),[[_,C.value?.id===`vite-inspect`]])],64)):u(`v-show-if`,!0)])}}}),{__name:`BuildAnalyzeDetails`}),G={},K={class:`markdown-body`};function q(e,t){return a(),s(`div`,K,[...t[0]||=[p(`template`,null,[p(`div`,{class:`markdown-body`},[p(`h1`,null,`Build Analyze`),p(`p`,null,[n(`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 `),p(`code`,{"v-pre":``},`nuxt build --analyze`),n(` and present the output data directly in DevTools for easy browsing and comparing.`)])])],-1)]])}var J=w(G,[[`render`,q]]),Y={flex:`~ col`},X=[`onClick`],Z={flex:`~ gap-1 items-center wrap`,"w-full":``,"text-sm":``,op60:``},Q={flex:`~ items-center justify-center wrap`,p4:``},$={flex:`~ col gap-1`,"w-250":``,p4:``},ee={flex:`~ gap-3`,mt2:``,"justify-end":``},te=i({__name:`analyze-build`,setup(i){let c=C(),_=y(),v=b(`analyze-build:slug`,``),w=m(()=>_.value?.builds.find(e=>e.slug===v.value)??_.value?.builds[0]),F=r(!1),R=r(``),z=m(()=>_.value?.builds.some(e=>e.name===R.value.trim()));async function B(){R.value=await x.generateAnalyzeBuildName(),await c.start()&&(j(`analyze-build:start`),A.value={name:R.value,processId:await x.startAnalyzeBuild(R.value)},F.value&&H())}function V(e){return`${((e.endTime-e.startTime)/1e3).toFixed(1)}s`}function H(){A.value?.processId&&x.revealTerminal(A.value.processId)}return E(()=>[{id:`action:analyze-build: start`,title:`Start a new analyze build`,icon:`i-carbon-edge-node`,action:B}]),(r,i)=>{let m=T,y=W,b=M,x=D,C=O,E=I,j=N,U=P,G=k,K=J,q=L;return a(),s(h,null,[e(x,{"left-size":30},{left:g(()=>[p(`div`,Y,[(a(!0),s(h,null,t(f(_)?.builds,e=>(a(),s(h,{key:e.slug},[p(`button`,{flex:`~ col gap1`,p3:``,"hover:bg-active":``,class:o(e.slug===w.value?.slug?`text-primary bg-active`:``),onClick:t=>v.value=e.slug},[p(`code`,null,l(e.name),1),p(`div`,Z,[i[4]||=p(`div`,{"i-carbon-time":``},null,-1),p(`span`,null,l(V(e)),1),i[5]||=p(`div`,{"flex-auto":``},null,-1),p(`span`,null,l(f(S)(new Date(e.endTime))),1)])],10,X),i[6]||=p(`div`,{"x-divider":``},null,-1)],64))),128)),p(`div`,Q,[f(A)?(a(),d(m,{key:1,n:`primary`,icon:`carbon-circle-dash animate-spin`,title:`Open the output in the Terminals dock`,onClick:i[1]||=e=>H()},{default:g(()=>[...i[8]||=[n(` Building... `,-1)]]),_:1})):(a(),d(m,{key:0,n:`primary`,icon:`carbon-edge-node`,onClick:i[0]||=e=>B()},{default:g(()=>[...i[7]||=[n(` Start a new build `,-1)]]),_:1}))])])]),right:g(()=>[w.value?(a(),d(y,{key:0,current:w.value},null,8,[`current`])):(a(),d(b,{key:1}))]),_:1}),e(f(c),null,{default:g(({resolve:t})=>[e(G,{"model-value":!0,onClose:e=>t(!1)},{default:g(()=>[p(`div`,$,[i[13]||=p(`h3`,{class:`text-lg font-medium leading-6`,mb2:``},` Start analyze build? `,-1),i[14]||=p(`p`,{op50:``},` Enter the name of the build: `,-1),e(C,{modelValue:R.value,"onUpdate:modelValue":i[2]||=e=>R.value=e,placeholder:`Build name`},null,8,[`modelValue`]),z.value?(a(),d(E,{key:0,"n-orange":``},{default:g(()=>[...i[9]||=[n(` A build with the same name already exists, continue would overrides the previous build result. `,-1)]]),_:1})):u(``,!0),i[15]||=p(`div`,{my3:``,"x-divider":``},null,-1),i[16]||=p(`p`,{op50:``},` The following command will be executed in your terminal: `,-1),e(j,{code:`npx nuxi analyze --no-serve --name=${R.value}`,lang:`bash`,px4:``,py2:``,border:`~ base rounded`,lines:!1},null,8,[`code`]),e(U,{modelValue:F.value,"onUpdate:modelValue":i[3]||=e=>F.value=e,mt2:``,n:`primary`},{default:g(()=>[...i[10]||=[n(` Open the Terminals dock `,-1)]]),_:1},8,[`modelValue`]),p(`div`,ee,[e(m,{onClick:e=>t(!1)},{default:g(()=>[...i[11]||=[n(` Cancel `,-1)]]),_:1},8,[`onClick`]),e(m,{n:`solid primary`,onClick:e=>t(!0)},{default:g(()=>[...i[12]||=[n(` Start `,-1)]]),_:1},8,[`onClick`])])])]),_:2},1032,[`onClose`])]),_:1}),e(q,null,{default:g(()=>[e(K)]),_:1})],64)}}});export{te as default};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import{$t as e,C as t,J as n,S as r,St as i,T as a,U as o,Y as s,Z as c,Zt as l,_ as u,_t as d,dt as f,en as p,g as m,h,jt as g,m as _,p as v,s as y,ut as b}from"./vendor/json-editor-vue-dqdvn8dy.js";import{j as x,k as S}from"./ready-nen2jn0n.js";import{
|
|
1
|
+
import{$t as e,C as t,J as n,S as r,St as i,T as a,U as o,Y as s,Z as c,Zt as l,_ as u,_t as d,dt as f,en as p,g as m,h,jt as g,m as _,p as v,s as y,ut as b}from"./vendor/json-editor-vue-dqdvn8dy.js";import{j as x,k as S}from"./ready-nen2jn0n.js";import{Y as C,j as w,w as T}from"./utils-cz4yum9q.js";import{A as E,P as D,_ as O,a as k,d as A,f as j,j as M,k as N,l as P,w as F}from"./rpc-ixz4fjux.js";import{t as I}from"./storage-options-iwszwhs9.js";import{A as L,M as R,a as ee,h as z,i as te,m as ne,p as B,w as V,z as H}from"#entry";import{t as U}from"./ndropdown-fhsar2c4.js";import{t as W}from"./ndrawer-flnxaerl.js";import"./composables-ioamscf4.js";import{t as G}from"./ncheckbox-cd89m7vw.js";import{t as re}from"./filepath-item-c7uegiaa.js";import{t as K}from"./nnavbar-nzxl9pku.js";import{t as q}from"./nsection-block-e6henssm.js";import{t as J}from"./code-snippets-bk0a6341.js";var Y={key:0,"h-full":``,"w-full":``,flex:``,"items-center":``,"justify-center":``},X={for:`drop-zone-input`,"text-3xl":``,hover:`text-green cursor-pointer`,"transition-all":``},ie={key:1,relative:``,"h-full":``,"w-full":``,grid:`~ rows-[max-content_1fr_max-content]`},ae={grid:`~ cols-minmax-8rem gap-8`,"overflow-auto":``,p6:``},oe={flex:``,"items-center":``,"justify-center":``,"of-hidden":``,rounded:``,"rounded-t-lg":``,"bg-active":``,"object-cover":``,class:`aspect-1/1`,border:`~ base`},se=[`src`],ce={flex:`~ gap1`,"items-center":``},le={flex:`~ gap-2`,"items-center":``,"justify-center":``,p8:``},ue=Object.assign(a({__name:`AssetDropZone`,props:{modelValue:{type:Boolean,required:!0},folder:{type:String,required:!0}},setup(e){let a=e,s=/\.\w+$/,d=M(a,`modelValue`),p=i(),v=i([]);function x(e){p.value=e.target,d.value=!0}function S(e){e.target===p.value&&(d.value=!1)}function C(e){e.preventDefault()}function w(e){e.preventDefault(),T(e.dataTransfer.files)}function T(e){let t=[...e||[]];if(t.length){let e=[],n=v.value.map(e=>e.name);for(let r of t)if(n.includes(r.name)){let t=1,[i,a]=r.name.split(`.`);for(;n.includes(`${i} (${t}).${a}`);)t++;let o=`${i}-${t}.${a}`,s=new Blob([r],{type:r.type}),c=new File([s],o,{lastModified:Date.now()});e.push(c),n.push(o)}else r.type===``&&H({message:`Folders are not supported yet`,icon:`carbon:face-dissatisfied`,classes:`text-orange`}),e.push(r);v.value=[...v.value,...e]}}async function E(){if(P.value||A.value)return;V(`assets:upload`);let e=[];for(let t of v.value){let n=new FileReader;n.readAsDataURL(t);let r=(await new Promise(e=>{n.onload=()=>e(n.result)})).split(`;base64,`).pop();e.push({path:t.name,encoding:`base64`,content:r})}await k.writeStaticAssets([...e],a.folder).then(()=>{I(),H({message:`Files uploaded successfully!`,icon:`i-carbon:checkmark`})}).catch(e=>{I(),H({message:`Error uploading files: ${e?.message??`unknown`}`,icon:`i-carbon-warning`,classes:`text-red`})}),d.value=!1}function D(e){v.value?.splice(e,1)}function O(e){return URL.createObjectURL(e)}function j(e,t){let[n,r]=e.name.split(`.`),i=t.replace(s,``),a=`${i}.${r}`;return i.length===0?(alert(`File name must be at least 1 characters long`),n):(Object.defineProperty(e,"name",{value:a,writable:!1}),v.value.splice(v.value.indexOf(e),1,e),e)}function N(){v.value=[]}function I(){d.value=!1,N()}return F(`dragenter`,x),F(`dragleave`,S),F(`dragover`,C),F(`drop`,w),(e,i)=>{let a=L,s=R,p=z,x=c(`tooltip`);return o(),u(`div`,{fixed:``,"bottom-0":``,"left-13":``,"right-0":``,"top-0":``,"z-10":``,"backdrop-blur-20":``,"transition-all":``,class:l(g(d)?`opacity-100 visible`:`opacity-0 invisible`)},[f(t(a,{icon:`carbon-close`,title:`Close`,absolute:``,"right-5":``,"top-5":``,"z-20":``,"text-xl":``,border:!1,onClick:I},null,512),[[x,`Close`,void 0,{"bottom-end":!0}]]),v.value?.length?(o(),u(`div`,ie,[i[4]||=_(`div`,{px6:``,py6:``},[_(`h1`,{"text-2xl":``},` Upload `),_(`p`,{"text-sm":``,op50:``},` Drag and drop files to upload `)],-1),_(`div`,ae,[(o(!0),u(y,null,n(v.value,(e,n)=>(o(),u(`div`,{key:e.name,flex:`~ col gap-2`,relative:``,"h-50":``,"w-40":``,"items-center":``},[_(`div`,oe,[_(`img`,{"h-full":``,"w-full":``,"rounded-t-lg":``,"object-cover":``,src:O(e)},null,8,se)]),_(`div`,ce,[t(p,{n:`xs`,"h-full":``,"flex-auto":``,"model-value":e.name,"onUpdate:modelValue":t=>j(e,t.target.value)},null,8,[`model-value`,`onUpdate:modelValue`]),t(a,{n:`red`,icon:`carbon-trash-can`,"h-full":``,"flex-none":``,title:`Remove file`,onClick:e=>D(n)},null,8,[`onClick`])])]))),128))]),_(`div`,le,[v.value.length?(o(),h(a,{key:0,n:`red`,onClick:N},{default:b(()=>[t(s,{icon:`carbon-clean`}),i[2]||=r(` Clear `,-1)]),_:1})):m(``,!0),t(a,{disabled:!v.value.length,n:`primary solid`,onClick:E},{default:b(()=>[t(s,{icon:`carbon-cloud-upload`}),i[3]||=r(` Upload `,-1)]),_:1},8,[`disabled`])])])):(o(),u(`div`,Y,[_(`label`,X,[t(s,{icon:`carbon-cloud-upload`,"mr-2":``}),i[1]||=r(` Drop files here or click to select `,-1)]),_(`input`,{id:`drop-zone-input`,type:`file`,multiple:``,hidden:``,onChange:i[0]||=e=>T(e.target.files)},null,32)]))],2)}}}),{__name:`AssetDropZone`}),de=Object.assign(a({__name:`AssetFontPreview`,props:{asset:{}},setup(t){let n=t,r=v(()=>`devtools-assets-${C(n.asset)}`);return N(v(()=>`
|
|
2
2
|
@font-face {
|
|
3
3
|
font-family: '${r.value}';
|
|
4
4
|
src: url('${n.asset.publicPath}');
|
|
5
5
|
}
|
|
6
|
-
`)),(t,n)=>(o(),u(`div`,{"of-hidden":``,style:e({fontFamily:`'${r.value}'`})},` Aa Bb Cc Dd Ee Ff Gg Hh Ii Jj Kk Ll Mm Nn Oo Pp Qq Rr Ss Tt Uu Vv Ww Xx Yy Zz `,4))}}),{__name:`AssetFontPreview`}),fe={flex:``,"items-center":``,"justify-center":``,"of-hidden":``,"bg-active":``,"object-cover":``,p1:``},pe=[`src`],me={key:2,"i-carbon-document":``,"text-3xl":``,op20:``},he={key:3,"w-full":``,"self-start":``,p4:``},ge=[`textContent`],_e={key:4},ve=[`src`,`autoplay`,`controls`],ye={key:5},be={key:0,"i-carbon-volume-up":``,"text-3xl":``,op20:``},xe=[`src`],Se={key:6,"i-carbon-help":``,"text-3xl":``,op20:``},Z=Object.assign(a({__name:`AssetPreview`,props:{asset:{},textContent:{},detail:{type:Boolean}},setup(e){return(t,n)=>{let r=de;return o(),u(`div`,fe,[e.asset.type===`image`?(o(),u(`img`,{key:0,src:e.asset.publicPath},null,8,pe)):e.asset.type===`font`?(o(),h(r,{key:e.asset.publicPath,asset:e.asset,"self-stretch":``,p2:``,"text-2xl":``},null,8,[`asset`])):e.asset.type===`text`&&!e.textContent?(o(),u(`div`,me)):e.asset.type===`text`&&e.textContent?(o(),u(`div`,he,[_(`pre`,{"max-h-10rem":``,"of-hidden":``,"text-xs":``,"font-mono":``,textContent:p(e.textContent)},null,8,ge)])):e.asset.type===`video`?(o(),u(`div`,_e,[_(`video`,{src:e.asset.publicPath,autoplay:e.detail,controls:e.detail},null,8,ve)])):e.asset.type===`audio`?(o(),u(`div`,ye,[e.detail?(o(),u(`audio`,{key:1,src:e.asset.publicPath,controls:``},null,8,xe)):(o(),u(`div`,be))])):(o(),u(`div`,Se))])}}}),{__name:`AssetPreview`}),Ce={relative:``,flex:`~ col gap-1`,hover:`bg-active`,"items-center":``,"of-hidden":``,rounded:``,p2:``},we={"w-full":``,"of-hidden":``,truncate:``,"ws-nowrap":``,"text-center":``,"text-xs":``},Te=Object.assign(a({__name:`AssetGridItem`,props:{asset:{},folder:{}},setup(e){let n=e,r=v(()=>n.folder&&n.asset.path.startsWith(n.folder)?n.asset.path.slice(n.folder.length):n.asset.path);return(n,i)=>{let a=R,s=Z;return o(),u(`button`,Ce,[e.asset.layer?(o(),h(a,{key:0,icon:`i-carbon-layers`,absolute:``,"right-4":``,"top-4":``,"bg-primary":``})):m(``,!0),t(s,{"h-30":``,"w-30":``,rounded:``,border:`~ base`,asset:e.asset},null,8,[`asset`]),_(`div`,we,p(r.value),1)])}}}),{__name:`AssetGridItem`}),Q=Object.assign(a({__name:`AssetListItem`,props:{item:{},index:{default:0},modelValue:{}},setup(t,{emit:a}){let c=t,f=M(c,`modelValue`,a,{passive:!0}),b=v(()=>c.item?.children?.length),x=i(!0),S=v(()=>b.value?`i-carbon-folder`:c.item.type===`image`?`i-carbon-image`:c.item.type===`video`?`i-carbon-video`:c.item.type===`audio`?`i-carbon-volume-up`:c.item.type===`font`?`i-carbon-text-small-caps`:c.item.type===`text`?`i-carbon-document`:c.item.type===`json`?`i-carbon-json`:`i-carbon-document-blank`);return(i,a)=>{let c=R,v=Q;return o(),u(`div`,null,[_(`button`,{flex:`~ gap-2`,"w-full":``,"items-center":``,hover:`bg-active`,px4:``,py1:``,style:e({paddingLeft:`calc(1rem + ${t.index*1.5}em)`}),class:l({"bg-active":!b.value&&g(f)?.filePath===t.item?.filePath}),border:`b base`,onClick:a[0]||=e=>b.value?x.value=!x.value:f.value=t.item},[_(`div`,{class:l(S.value)},null,2),_(`span`,{class:l({"flex items-center":b.value}),"flex-auto":``,"text-start":``,"text-sm":``,"font-mono":``},[r(p(t.item.path)+` `,1),t.item.layer?(o(),h(c,{key:0,icon:`i-carbon-layers`,"bg-primary":``})):m(``,!0)],2),b.value?(o(),h(c,{key:0,icon:`carbon:chevron-right`,"transform-rotate":x.value?90:0,transition:``},null,8,[`transform-rotate`])):m(``,!0)],6),x.value?s(i.$slots,`default`,{key:0},()=>[(o(!0),u(y,null,n(t.item?.children,e=>(o(),h(v,{key:e.filepath,modelValue:g(f),"onUpdate:modelValue":a[1]||=e=>d(f)?f.value=e:null,item:e,index:t.index+1},null,8,[`modelValue`,`item`,`index`]))),128))]):m(``,!0)])}}}),{__name:`AssetListItem`}),Ee={flex:`~ col gap-4`,"min-h-full":``,"w-full":``,"of-hidden":``,p4:``},De={flex:`~`,"items-center":``,"justify-center":``},Oe={"max-w-full":``,"w-full":``,"table-fixed":``},ke={flex:`~ gap-1`,"w-full":``,"items-center":``},Ae={flex:`~ gap-1`,"w-full":``,"items-center":``,"of-hidden":``},je={"flex-auto":``,"of-hidden":``,truncate:``,"ws-pre":``,"font-mono":``},Me={capitalize:``},Ne={key:0},Pe={op70:``},Fe={flex:`~ gap2 wrap`},Ie={flex:`~ col gap-4`,"min-h-full":``,"w-full":``,"of-hidden":``,p8:``},Le={flex:`~ gap2 wrap justify-center`},Re={flex:`~ col gap-4`,"min-h-full":``,"w-full":``,"of-hidden":``,p8:``},ze={flex:`~ gap2 wrap justify-center`},Be={flex:`~ col gap-4`,"min-h-full":``,"w-full":``,"of-hidden":``,p4:``},Ve={flex:``,"justify-end":``,"gap-4":``},$=Object.assign(a({__name:`AssetDetails`,props:{modelValue:{}},setup(e,{emit:n}){let a=M(e,`modelValue`,n,{passive:!0}),s=j(async()=>{if(a.value.type===`image`)return k.getImageMeta(a.value.filePath)}),l=i(!1),d=i(),C=i(0),w=j(async()=>{if(a.value.type!==`text`)return;C.value;let e=await k.getTextAssetContent(a.value.filePath);return d.value=e,e});async function D(){if(w.value!==d.value)try{await k.writeStaticAssets([{path:a.value.path,content:d.value,override:!0}],``),l.value=!1,C.value++,L({message:`Updated`,icon:`i-carbon-checkmark`,classes:`text-green`})}catch(e){console.error(e),L({message:`Something went wrong!`,icon:`i-carbon-warning`,classes:`text-red`})}}let O=T(),A=v(()=>(O.value?._installedModules||[]).some(e=>e.meta?.name===`@nuxt/image`||e.meta?.name===`@nuxt/image-edge`||e.meta?.name===`@nuxt/image-nightly`)),N=v(()=>{let e=[];if(a.value.type===`image`){let t=s.value?.width?`\n width="${s.value.width}"\n height="${s.value.height}" `:` `;return e.push({lang:`vue-html`,code:`<img${t}\n src="${a.value.publicPath}"\n/>`,name:`Plain Image`}),A.value&&e.push({lang:`vue-html`,code:`<NuxtImg${t}\n src="${a.value.publicPath}"\n/>`,name:`Nuxt Img`,docs:`https://image.nuxt.com/usage/nuxt-img`},{lang:`vue-html`,code:`<NuxtPicture${t}\n src="${a.value.publicPath}"\n/>`,name:`Nuxt Picture`,docs:`https://image.nuxt.com/usage/nuxt-picture`}),e}return e.push({lang:`html`,code:`<a download href="${a.value.publicPath}">\n Download ${a.value.path.split(`/`).slice(-1)[0]}\n</a>`,name:`Download link`}),e}),P=ne(),F=ee(),I=E(()=>a.value.mtime),R=v(()=>{let e=a.value.size;return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(2)} KB`:`${(e/1024/1024).toFixed(2)} MB`}),z=v(()=>{if(!s.value?.width||!s.value?.height)return``;let e=(t,n)=>n?e(n,t%n):t,t=e(s.value.width,s.value.height);return t>3?`${s.value.width/t}:${s.value.height/t}`:``}),H=v(()=>[`image`,`text`,`video`,`audio`,`font`].includes(a.value.type)),U=i(!1);async function W(){try{await k.deleteStaticAsset(a.value.filePath),a.value=void 0,U.value=!1,L({message:`Asset deleted`,icon:`i-carbon-checkmark`,classes:`text-green`})}catch(e){console.error(e),L({message:`Something went wrong!`,icon:`i-carbon-warning`,classes:`text-red`})}}let G=i(!1),K=i(``);async function q(){let e=a.value.filePath.split(`/`),t=e.slice(-1)[0]?.split(`.`).slice(0,-1).join(`.`);if(!K.value||K.value===t)return L({message:`Please enter a new name`,icon:`i-carbon-warning`,classes:`text-orange`});try{let t=e.slice(-1)[0]?.split(`.`).slice(-1)[0],n=`${e.slice(0,-1).join(`/`)}/${K.value}.${t}`;await k.renameStaticAsset(a.value.filePath,n),a.value=void 0,G.value=!1,L({message:`Asset renamed`,icon:`i-carbon-checkmark`,classes:`text-green`})}catch(e){console.error(e),L({message:`Something went wrong!`,icon:`i-carbon-warning`,classes:`text-red`})}}return(e,n)=>{let i=Z,v=re,C=V,T=J,E=te,O=B,k=c(`tooltip`);return o(),u(y,null,[_(`div`,Ee,[H.value?(o(),u(y,{key:0},[n[13]||=_(`div`,{flex:`~ gap2`,"mb--2":``,"items-center":``,op50:``},[_(`div`,{"x-divider":``}),_(`div`,{"flex-none":``},` Preview `),_(`div`,{"x-divider":``})],-1),_(`div`,De,[t(i,{detail:``,"max-h-80":``,"min-h-20":``,"min-w-20":``,"w-auto":``,rounded:``,border:`~ base`,asset:g(a),"text-content":g(w)},null,8,[`asset`,`text-content`])])],64)):m(``,!0),n[25]||=_(`div`,{flex:`~ gap2`,"mb--2":``,"items-center":``,op50:``},[_(`div`,{"x-divider":``}),_(`div`,{"flex-none":``},` Details `),_(`div`,{"x-divider":``})],-1),_(`table`,Oe,[_(`tbody`,null,[_(`tr`,null,[n[14]||=_(`td`,{"w-30":``,"ws-nowrap":``,pr5:``,"text-right":``,op50:``},` Filepath `,-1),_(`td`,null,[_(`div`,ke,[t(v,{filepath:g(a).filePath,"text-left":``},null,8,[`filepath`]),f(t(C,{"flex-none":``,title:`Open in Editor`,icon:`carbon-launch`,border:!1,onClick:n[0]||=e=>g(F)(g(a).filePath)},null,512),[[k,`Open in Editor`]])])])]),_(`tr`,null,[n[15]||=_(`td`,{"w-30":``,"ws-nowrap":``,pr5:``,"text-right":``,op50:``},` Public Path `,-1),_(`td`,null,[_(`div`,Ae,[_(`div`,je,p(g(a).publicPath),1),f(t(C,{"flex-none":``,title:`Copy public path`,icon:`carbon-copy`,border:!1,onClick:n[1]||=e=>g(P)(g(a).publicPath,`assets-public-path`)},null,512),[[k,`Copy public path`]]),f(t(C,{"flex-none":``,to:g(a).publicPath,icon:`carbon-launch`,target:`_blank`,border:!1,title:`Open in browser`},null,8,[`to`]),[[k,`Open in browser`]])])])]),_(`tr`,null,[n[16]||=_(`td`,{"w-30":``,"ws-nowrap":``,pr5:``,"text-right":``,op50:``},` Type `,-1),_(`td`,Me,p(g(a).type),1)]),g(s)?.width?(o(),u(y,{key:0},[_(`tr`,null,[n[17]||=_(`td`,{"w-30":``,"ws-nowrap":``,pr5:``,"text-right":``,op50:``},` Image Size `,-1),_(`td`,null,p(g(s).width)+` x `+p(g(s).height),1)]),z.value?(o(),u(`tr`,Ne,[n[18]||=_(`td`,{"w-30":``,"ws-nowrap":``,pr5:``,"text-right":``,op50:``},` Aspect Ratio `,-1),_(`td`,null,p(z.value),1)])):m(``,!0)],64)):m(``,!0),_(`tr`,null,[n[19]||=_(`td`,{"w-30":``,"ws-nowrap":``,pr5:``,"text-right":``,op50:``},` File size `,-1),_(`td`,null,p(R.value),1)]),_(`tr`,null,[n[20]||=_(`td`,{"w-30":``,"ws-nowrap":``,pr5:``,"text-right":``,op50:``},` Last modified `,-1),_(`td`,null,[r(p(new Date(g(a).mtime).toLocaleString())+` `,1),_(`span`,Pe,`(`+p(g(I))+`)`,1)])])])]),n[26]||=_(`div`,{flex:`~ gap2`,"mb--2":``,"items-center":``,op50:``},[_(`div`,{"x-divider":``}),_(`div`,{"flex-none":``},` Actions `),_(`div`,{"x-divider":``})],-1),_(`div`,Fe,[t(C,{to:g(a).publicPath,download:``,target:`_blank`,icon:`carbon-download`,n:`green`},{default:b(()=>[...n[21]||=[r(` Download `,-1)]]),_:1},8,[`to`]),g(a).type===`text`?(o(),h(C,{key:0,icon:`carbon-edit`,n:`cyan`,onClick:n[2]||=e=>l.value=!l.value},{default:b(()=>[...n[22]||=[r(` Edit `,-1)]]),_:1})):m(``,!0),t(C,{icon:`carbon-text-annotation-toggle`,n:`blue`,onClick:n[3]||=e=>G.value=!G.value},{default:b(()=>[...n[23]||=[r(` Rename `,-1)]]),_:1}),t(C,{icon:`carbon-delete`,n:`red`,onClick:n[4]||=e=>U.value=!U.value},{default:b(()=>[...n[24]||=[r(` Delete `,-1)]]),_:1})]),n[27]||=_(`div`,{"flex-auto":``},null,-1),N.value.length?(o(),h(T,{key:1,border:`t base`,"mx--4":``,"mb--4":``,"code-snippets":N.value},null,8,[`code-snippets`])):m(``,!0)]),t(E,{modelValue:U.value,"onUpdate:modelValue":n[6]||=e=>U.value=e},{default:b(()=>[_(`div`,Ie,[n[30]||=_(`span`,null,` Are you sure you want to delete this asset? `,-1),_(`div`,Le,[t(C,{icon:`carbon-close`,onClick:n[5]||=e=>U.value=!1},{default:b(()=>[...n[28]||=[r(` Cancel `,-1)]]),_:1}),t(C,{icon:`carbon-delete`,n:`red`,onClick:W},{default:b(()=>[...n[29]||=[r(` Delete `,-1)]]),_:1})])])]),_:1},8,[`modelValue`]),t(E,{modelValue:G.value,"onUpdate:modelValue":n[9]||=e=>G.value=e},{default:b(()=>[_(`div`,Re,[t(O,{modelValue:K.value,"onUpdate:modelValue":n[7]||=e=>K.value=e,placeholder:`New name`,n:`blue`},null,8,[`modelValue`]),_(`div`,ze,[t(C,{icon:`carbon-close`,onClick:n[8]||=e=>G.value=!1},{default:b(()=>[...n[31]||=[r(` Cancel `,-1)]]),_:1}),t(C,{icon:`carbon-text-annotation-toggle`,n:`blue`,onClick:q},{default:b(()=>[...n[32]||=[r(` Rename `,-1)]]),_:1})])])]),_:1},8,[`modelValue`]),g(a).type===`text`?(o(),h(E,{key:0,modelValue:l.value,"onUpdate:modelValue":n[12]||=e=>l.value=e},{default:b(()=>[_(`div`,Be,[f(_(`textarea`,{"onUpdate:modelValue":n[10]||=e=>d.value=e,placeholder:`Item value...`,class:`h-lg w-xl of-auto rounded-lg p-4 text-sm font-mono outline-none`,onKeydown:x(D,[`enter`])},null,544),[[S,d.value]]),_(`div`,Ve,[t(C,{icon:`carbon-close`,onClick:n[11]||=e=>l.value=!1},{default:b(()=>[...n[33]||=[r(` Cancel `,-1)]]),_:1}),t(C,{icon:`carbon:save`,n:`primary`,onClick:D},{default:b(()=>[...n[34]||=[r(` save `,-1)]]),_:1})])])]),_:1},8,[`modelValue`])):m(``,!0)],64)}}}),{__name:`AssetDetails`}),He={"h-full":``,"of-auto":``},Ue={"flex-none":``,flex:`~ gap2 items-center`,"text-lg":``},We={flex:`~ items-center justify-center`,absolute:``,"bottom--1":``,"right--1":``,"h-4":``,"w-4":``,"rounded-full":``,"bg-primary:30":``,"text-8px":``},Ge={flex:`~ col`,"w-30":``,"of-auto":``},Ke={"text-xs":``,op75:``},qe={op50:``},Je={key:0},Ye={"mt--4":``,px2:``,grid:`~ cols-minmax-8rem`},Xe={key:1,p2:``,grid:`~ cols-minmax-8rem`},Ze={key:1},Qe=a({__name:`assets`,setup(e){let r=w(),a=i(!1),s=i(``),l=v(()=>new H(r.value||[],{keys:[`path`]})),d=D(()=>{let e=[];for(let t of r.value||[]){let n=t.path.split(`.`).pop();n&&!e.some(e=>e.name===n)&&e.push({name:n,value:!0})}return e}),x=v(()=>(s.value?l.value.search(s.value).map(e=>e.item):r.value||[]).filter(e=>{let t=e.path.split(`.`).pop();return!t||d.some(e=>e.name===t&&e.value)})),S=v(()=>{let e={};for(let t of x.value){let n=`${t.path.split(`/`).slice(0,-1).join(`/`)}/`;e[n]||(e[n]=[]),e[n].push(t)}return Object.entries(e).sort(([e],[t])=>e.localeCompare(t))}),C=v(()=>{let e={path:`public`,children:[]},t=(e,n,r)=>{let[i,...a]=n,o=e.children.find(e=>e.path===i);o||(o={...r,path:i,children:[]},e.children.push(o)),a.length>1?t(o,a,r):a.length===1&&o.children.push({...r,path:a[0]})};return x.value.forEach(n=>{t(e,n.path.split(`/`).filter(e=>e!==``),n)}),e.children}),T=i(),{view:E}=I(`assets`);function k(){E.value=E.value===`list`?`grid`:`list`}O(`Escape`,()=>{T.value=void 0});let A=i();return(e,i)=>{let l=V,v=G,w=U,D=K,O=ue,j=Te,M=q,N=Q,P=$,F=W,I=c(`tooltip`);return o(),u(`div`,He,[t(D,{ref_key:`navbar`,ref:A,search:s.value,"onUpdate:search":i[1]||=e=>s.value=e,pb2:``},{actions:b(()=>[_(`div`,Ue,[f(t(l,{icon:`carbon:cloud-upload`,title:`File Upload`,border:!1,onClick:i[0]||=e=>a.value=!a.value},null,512),[[I,`File Upload`,void 0,{"bottom-end":!0}]]),g(d).length?(o(),h(w,{key:0,direction:`end`,n:`sm primary`},{trigger:b(({click:e})=>[f(t(l,{icon:`carbon-filter`,border:!1,title:`Filter`,p3:``,"text-lg":``,onClick:t=>e()},null,8,[`onClick`]),[[I,`Filter`,void 0,{"bottom-end":!0}]]),_(`span`,We,p(g(d).length),1)]),default:b(()=>[_(`div`,Ge,[(o(!0),u(y,null,n(g(d),e=>(o(),h(v,{key:e.name,modelValue:e.value,"onUpdate:modelValue":t=>e.value=t,flex:`~ gap-2`,rounded:``,px2:``,py2:``},{default:b(()=>[_(`span`,Ke,p(e.name),1)]),_:2},1032,[`modelValue`,`onUpdate:modelValue`]))),128))])]),_:1})):m(``,!0),f(t(l,{"text-lg":``,border:!1,icon:g(E)===`grid`?`i-carbon-list`:`i-carbon-grid`,title:`Toggle view`,onClick:k},null,8,[`icon`]),[[I,`Toggle View`,void 0,{"bottom-end":!0}]])])]),default:b(()=>[_(`div`,qe,[s.value?(o(),u(`span`,Je,p(x.value.length)+` matched · `,1)):m(``,!0),_(`span`,null,p(g(r)?.length)+` assets in total`,1)])]),_:1},8,[`search`]),t(O,{modelValue:a.value,"onUpdate:modelValue":i[2]||=e=>a.value=e,folder:`/`},null,8,[`modelValue`]),g(E)===`grid`?(o(),u(y,{key:0},[S.value.length>1?(o(!0),u(y,{key:0},n(S.value,([e,t])=>(o(),h(M,{key:e,text:e,description:`${t.length} items`,open:t.length<=g(50),padding:!1},{default:b(()=>[_(`div`,Ye,[(o(!0),u(y,null,n(t,t=>(o(),h(j,{key:t.path,asset:t,folder:e,onClick:e=>T.value=t},null,8,[`asset`,`folder`,`onClick`]))),128))])]),_:2},1032,[`text`,`description`,`open`]))),128)):(o(),u(`div`,Xe,[(o(!0),u(y,null,n(x.value,e=>(o(),h(j,{key:e.path,asset:e,onClick:t=>T.value=e},null,8,[`asset`,`onClick`]))),128))]))],64)):(o(),u(`div`,Ze,[(o(!0),u(y,null,n(C.value,(e,t)=>(o(),h(N,{key:t,modelValue:T.value,"onUpdate:modelValue":i[3]||=e=>T.value=e,item:e},null,8,[`modelValue`,`item`]))),128))])),t(F,{"model-value":!!T.value,"auto-close":``,"w-120":``,top:A.value,onClose:i[5]||=e=>T.value=void 0},{default:b(()=>[T.value?(o(),h(P,{key:0,modelValue:T.value,"onUpdate:modelValue":i[4]||=e=>T.value=e},null,8,[`modelValue`])):m(``,!0)]),_:1},8,[`model-value`,`top`])])}}});export{Qe as default};
|
|
6
|
+
`)),(t,n)=>(o(),u(`div`,{"of-hidden":``,style:e({fontFamily:`'${r.value}'`})},` Aa Bb Cc Dd Ee Ff Gg Hh Ii Jj Kk Ll Mm Nn Oo Pp Qq Rr Ss Tt Uu Vv Ww Xx Yy Zz `,4))}}),{__name:`AssetFontPreview`}),fe={flex:``,"items-center":``,"justify-center":``,"of-hidden":``,"bg-active":``,"object-cover":``,p1:``},pe=[`src`],me={key:2,"i-carbon-document":``,"text-3xl":``,op20:``},he={key:3,"w-full":``,"self-start":``,p4:``},ge=[`textContent`],_e={key:4},ve=[`src`,`autoplay`,`controls`],ye={key:5},be={key:0,"i-carbon-volume-up":``,"text-3xl":``,op20:``},xe=[`src`],Se={key:6,"i-carbon-help":``,"text-3xl":``,op20:``},Z=Object.assign(a({__name:`AssetPreview`,props:{asset:{},textContent:{},detail:{type:Boolean}},setup(e){return(t,n)=>{let r=de;return o(),u(`div`,fe,[e.asset.type===`image`?(o(),u(`img`,{key:0,src:e.asset.publicPath},null,8,pe)):e.asset.type===`font`?(o(),h(r,{key:e.asset.publicPath,asset:e.asset,"self-stretch":``,p2:``,"text-2xl":``},null,8,[`asset`])):e.asset.type===`text`&&!e.textContent?(o(),u(`div`,me)):e.asset.type===`text`&&e.textContent?(o(),u(`div`,he,[_(`pre`,{"max-h-10rem":``,"of-hidden":``,"text-xs":``,"font-mono":``,textContent:p(e.textContent)},null,8,ge)])):e.asset.type===`video`?(o(),u(`div`,_e,[_(`video`,{src:e.asset.publicPath,autoplay:e.detail,controls:e.detail},null,8,ve)])):e.asset.type===`audio`?(o(),u(`div`,ye,[e.detail?(o(),u(`audio`,{key:1,src:e.asset.publicPath,controls:``},null,8,xe)):(o(),u(`div`,be))])):(o(),u(`div`,Se))])}}}),{__name:`AssetPreview`}),Ce={relative:``,flex:`~ col gap-1`,hover:`bg-active`,"items-center":``,"of-hidden":``,rounded:``,p2:``},we={"w-full":``,"of-hidden":``,truncate:``,"ws-nowrap":``,"text-center":``,"text-xs":``},Te=Object.assign(a({__name:`AssetGridItem`,props:{asset:{},folder:{}},setup(e){let n=e,r=v(()=>n.folder&&n.asset.path.startsWith(n.folder)?n.asset.path.slice(n.folder.length):n.asset.path);return(n,i)=>{let a=R,s=Z;return o(),u(`button`,Ce,[e.asset.layer?(o(),h(a,{key:0,icon:`i-carbon-layers`,absolute:``,"right-4":``,"top-4":``,"bg-primary":``})):m(``,!0),t(s,{"h-30":``,"w-30":``,rounded:``,border:`~ base`,asset:e.asset},null,8,[`asset`]),_(`div`,we,p(r.value),1)])}}}),{__name:`AssetGridItem`}),Q=Object.assign(a({__name:`AssetListItem`,props:{item:{},index:{default:0},modelValue:{}},setup(t,{emit:a}){let c=t,f=M(c,`modelValue`,a,{passive:!0}),b=v(()=>c.item?.children?.length),x=i(!0),S=v(()=>b.value?`i-carbon-folder`:c.item.type===`image`?`i-carbon-image`:c.item.type===`video`?`i-carbon-video`:c.item.type===`audio`?`i-carbon-volume-up`:c.item.type===`font`?`i-carbon-text-small-caps`:c.item.type===`text`?`i-carbon-document`:c.item.type===`json`?`i-carbon-json`:`i-carbon-document-blank`);return(i,a)=>{let c=R,v=Q;return o(),u(`div`,null,[_(`button`,{flex:`~ gap-2`,"w-full":``,"items-center":``,hover:`bg-active`,px4:``,py1:``,style:e({paddingLeft:`calc(1rem + ${t.index*1.5}em)`}),class:l({"bg-active":!b.value&&g(f)?.filePath===t.item?.filePath}),border:`b base`,onClick:a[0]||=e=>b.value?x.value=!x.value:f.value=t.item},[_(`div`,{class:l(S.value)},null,2),_(`span`,{class:l({"flex items-center":b.value}),"flex-auto":``,"text-start":``,"text-sm":``,"font-mono":``},[r(p(t.item.path)+` `,1),t.item.layer?(o(),h(c,{key:0,icon:`i-carbon-layers`,"bg-primary":``})):m(``,!0)],2),b.value?(o(),h(c,{key:0,icon:`carbon:chevron-right`,"transform-rotate":x.value?90:0,transition:``},null,8,[`transform-rotate`])):m(``,!0)],6),x.value?s(i.$slots,`default`,{key:0},()=>[(o(!0),u(y,null,n(t.item?.children,e=>(o(),h(v,{key:e.filepath,modelValue:g(f),"onUpdate:modelValue":a[1]||=e=>d(f)?f.value=e:null,item:e,index:t.index+1},null,8,[`modelValue`,`item`,`index`]))),128))]):m(``,!0)])}}}),{__name:`AssetListItem`}),Ee={flex:`~ col gap-4`,"min-h-full":``,"w-full":``,"of-hidden":``,p4:``},De={flex:`~`,"items-center":``,"justify-center":``},Oe={"max-w-full":``,"w-full":``,"table-fixed":``},ke={flex:`~ gap-1`,"w-full":``,"items-center":``},Ae={flex:`~ gap-1`,"w-full":``,"items-center":``,"of-hidden":``},je={"flex-auto":``,"of-hidden":``,truncate:``,"ws-pre":``,"font-mono":``},Me={capitalize:``},Ne={key:0},Pe={op70:``},Fe={flex:`~ gap2 wrap`},Ie={flex:`~ col gap-4`,"min-h-full":``,"w-full":``,"of-hidden":``,p8:``},Le={flex:`~ gap2 wrap justify-center`},Re={flex:`~ col gap-4`,"min-h-full":``,"w-full":``,"of-hidden":``,p8:``},ze={flex:`~ gap2 wrap justify-center`},Be={flex:`~ col gap-4`,"min-h-full":``,"w-full":``,"of-hidden":``,p4:``},Ve={flex:``,"justify-end":``,"gap-4":``},$=Object.assign(a({__name:`AssetDetails`,props:{modelValue:{}},setup(e,{emit:n}){let a=M(e,`modelValue`,n,{passive:!0}),s=j(async()=>{if(a.value.type===`image`)return k.getImageMeta(a.value.filePath)}),l=i(!1),d=i(),C=i(0),w=j(async()=>{if(a.value.type!==`text`)return;C.value;let e=await k.getTextAssetContent(a.value.filePath);return d.value=e,e});async function D(){if(w.value!==d.value)try{await k.writeStaticAssets([{path:a.value.path,content:d.value,override:!0}],``),l.value=!1,C.value++,H({message:`Updated`,icon:`i-carbon-checkmark`,classes:`text-green`})}catch(e){console.error(e),H({message:`Something went wrong!`,icon:`i-carbon-warning`,classes:`text-red`})}}let O=T(),A=v(()=>(O.value?._installedModules||[]).some(e=>e.meta?.name===`@nuxt/image`||e.meta?.name===`@nuxt/image-edge`||e.meta?.name===`@nuxt/image-nightly`)),N=v(()=>{let e=[];if(a.value.type===`image`){let t=s.value?.width?`\n width="${s.value.width}"\n height="${s.value.height}" `:` `;return e.push({lang:`vue-html`,code:`<img${t}\n src="${a.value.publicPath}"\n/>`,name:`Plain Image`}),A.value&&e.push({lang:`vue-html`,code:`<NuxtImg${t}\n src="${a.value.publicPath}"\n/>`,name:`Nuxt Img`,docs:`https://image.nuxt.com/usage/nuxt-img`},{lang:`vue-html`,code:`<NuxtPicture${t}\n src="${a.value.publicPath}"\n/>`,name:`Nuxt Picture`,docs:`https://image.nuxt.com/usage/nuxt-picture`}),e}return e.push({lang:`html`,code:`<a download href="${a.value.publicPath}">\n Download ${a.value.path.split(`/`).slice(-1)[0]}\n</a>`,name:`Download link`}),e}),P=te(),F=ee(),I=E(()=>a.value.mtime),R=v(()=>{let e=a.value.size;return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(2)} KB`:`${(e/1024/1024).toFixed(2)} MB`}),B=v(()=>{if(!s.value?.width||!s.value?.height)return``;let e=(t,n)=>n?e(n,t%n):t,t=e(s.value.width,s.value.height);return t>3?`${s.value.width/t}:${s.value.height/t}`:``}),V=v(()=>[`image`,`text`,`video`,`audio`,`font`].includes(a.value.type)),U=i(!1);async function W(){try{await k.deleteStaticAsset(a.value.filePath),a.value=void 0,U.value=!1,H({message:`Asset deleted`,icon:`i-carbon-checkmark`,classes:`text-green`})}catch(e){console.error(e),H({message:`Something went wrong!`,icon:`i-carbon-warning`,classes:`text-red`})}}let G=i(!1),K=i(``);async function q(){let e=a.value.filePath.split(`/`),t=e.slice(-1)[0]?.split(`.`).slice(0,-1).join(`.`);if(!K.value||K.value===t)return H({message:`Please enter a new name`,icon:`i-carbon-warning`,classes:`text-orange`});try{let t=e.slice(-1)[0]?.split(`.`).slice(-1)[0],n=`${e.slice(0,-1).join(`/`)}/${K.value}.${t}`;await k.renameStaticAsset(a.value.filePath,n),a.value=void 0,G.value=!1,H({message:`Asset renamed`,icon:`i-carbon-checkmark`,classes:`text-green`})}catch(e){console.error(e),H({message:`Something went wrong!`,icon:`i-carbon-warning`,classes:`text-red`})}}return(e,n)=>{let i=Z,v=re,C=L,T=J,E=ne,O=z,k=c(`tooltip`);return o(),u(y,null,[_(`div`,Ee,[V.value?(o(),u(y,{key:0},[n[13]||=_(`div`,{flex:`~ gap2`,"mb--2":``,"items-center":``,op50:``},[_(`div`,{"x-divider":``}),_(`div`,{"flex-none":``},` Preview `),_(`div`,{"x-divider":``})],-1),_(`div`,De,[t(i,{detail:``,"max-h-80":``,"min-h-20":``,"min-w-20":``,"w-auto":``,rounded:``,border:`~ base`,asset:g(a),"text-content":g(w)},null,8,[`asset`,`text-content`])])],64)):m(``,!0),n[25]||=_(`div`,{flex:`~ gap2`,"mb--2":``,"items-center":``,op50:``},[_(`div`,{"x-divider":``}),_(`div`,{"flex-none":``},` Details `),_(`div`,{"x-divider":``})],-1),_(`table`,Oe,[_(`tbody`,null,[_(`tr`,null,[n[14]||=_(`td`,{"w-30":``,"ws-nowrap":``,pr5:``,"text-right":``,op50:``},` Filepath `,-1),_(`td`,null,[_(`div`,ke,[t(v,{filepath:g(a).filePath,"text-left":``},null,8,[`filepath`]),f(t(C,{"flex-none":``,title:`Open in Editor`,icon:`carbon-launch`,border:!1,onClick:n[0]||=e=>g(F)(g(a).filePath)},null,512),[[k,`Open in Editor`]])])])]),_(`tr`,null,[n[15]||=_(`td`,{"w-30":``,"ws-nowrap":``,pr5:``,"text-right":``,op50:``},` Public Path `,-1),_(`td`,null,[_(`div`,Ae,[_(`div`,je,p(g(a).publicPath),1),f(t(C,{"flex-none":``,title:`Copy public path`,icon:`carbon-copy`,border:!1,onClick:n[1]||=e=>g(P)(g(a).publicPath,`assets-public-path`)},null,512),[[k,`Copy public path`]]),f(t(C,{"flex-none":``,to:g(a).publicPath,icon:`carbon-launch`,target:`_blank`,border:!1,title:`Open in browser`},null,8,[`to`]),[[k,`Open in browser`]])])])]),_(`tr`,null,[n[16]||=_(`td`,{"w-30":``,"ws-nowrap":``,pr5:``,"text-right":``,op50:``},` Type `,-1),_(`td`,Me,p(g(a).type),1)]),g(s)?.width?(o(),u(y,{key:0},[_(`tr`,null,[n[17]||=_(`td`,{"w-30":``,"ws-nowrap":``,pr5:``,"text-right":``,op50:``},` Image Size `,-1),_(`td`,null,p(g(s).width)+` x `+p(g(s).height),1)]),B.value?(o(),u(`tr`,Ne,[n[18]||=_(`td`,{"w-30":``,"ws-nowrap":``,pr5:``,"text-right":``,op50:``},` Aspect Ratio `,-1),_(`td`,null,p(B.value),1)])):m(``,!0)],64)):m(``,!0),_(`tr`,null,[n[19]||=_(`td`,{"w-30":``,"ws-nowrap":``,pr5:``,"text-right":``,op50:``},` File size `,-1),_(`td`,null,p(R.value),1)]),_(`tr`,null,[n[20]||=_(`td`,{"w-30":``,"ws-nowrap":``,pr5:``,"text-right":``,op50:``},` Last modified `,-1),_(`td`,null,[r(p(new Date(g(a).mtime).toLocaleString())+` `,1),_(`span`,Pe,`(`+p(g(I))+`)`,1)])])])]),n[26]||=_(`div`,{flex:`~ gap2`,"mb--2":``,"items-center":``,op50:``},[_(`div`,{"x-divider":``}),_(`div`,{"flex-none":``},` Actions `),_(`div`,{"x-divider":``})],-1),_(`div`,Fe,[t(C,{to:g(a).publicPath,download:``,target:`_blank`,icon:`carbon-download`,n:`green`},{default:b(()=>[...n[21]||=[r(` Download `,-1)]]),_:1},8,[`to`]),g(a).type===`text`?(o(),h(C,{key:0,icon:`carbon-edit`,n:`cyan`,onClick:n[2]||=e=>l.value=!l.value},{default:b(()=>[...n[22]||=[r(` Edit `,-1)]]),_:1})):m(``,!0),t(C,{icon:`carbon-text-annotation-toggle`,n:`blue`,onClick:n[3]||=e=>G.value=!G.value},{default:b(()=>[...n[23]||=[r(` Rename `,-1)]]),_:1}),t(C,{icon:`carbon-delete`,n:`red`,onClick:n[4]||=e=>U.value=!U.value},{default:b(()=>[...n[24]||=[r(` Delete `,-1)]]),_:1})]),n[27]||=_(`div`,{"flex-auto":``},null,-1),N.value.length?(o(),h(T,{key:1,border:`t base`,"mx--4":``,"mb--4":``,"code-snippets":N.value},null,8,[`code-snippets`])):m(``,!0)]),t(E,{modelValue:U.value,"onUpdate:modelValue":n[6]||=e=>U.value=e},{default:b(()=>[_(`div`,Ie,[n[30]||=_(`span`,null,` Are you sure you want to delete this asset? `,-1),_(`div`,Le,[t(C,{icon:`carbon-close`,onClick:n[5]||=e=>U.value=!1},{default:b(()=>[...n[28]||=[r(` Cancel `,-1)]]),_:1}),t(C,{icon:`carbon-delete`,n:`red`,onClick:W},{default:b(()=>[...n[29]||=[r(` Delete `,-1)]]),_:1})])])]),_:1},8,[`modelValue`]),t(E,{modelValue:G.value,"onUpdate:modelValue":n[9]||=e=>G.value=e},{default:b(()=>[_(`div`,Re,[t(O,{modelValue:K.value,"onUpdate:modelValue":n[7]||=e=>K.value=e,placeholder:`New name`,n:`blue`},null,8,[`modelValue`]),_(`div`,ze,[t(C,{icon:`carbon-close`,onClick:n[8]||=e=>G.value=!1},{default:b(()=>[...n[31]||=[r(` Cancel `,-1)]]),_:1}),t(C,{icon:`carbon-text-annotation-toggle`,n:`blue`,onClick:q},{default:b(()=>[...n[32]||=[r(` Rename `,-1)]]),_:1})])])]),_:1},8,[`modelValue`]),g(a).type===`text`?(o(),h(E,{key:0,modelValue:l.value,"onUpdate:modelValue":n[12]||=e=>l.value=e},{default:b(()=>[_(`div`,Be,[f(_(`textarea`,{"onUpdate:modelValue":n[10]||=e=>d.value=e,placeholder:`Item value...`,class:`h-lg w-xl of-auto rounded-lg p-4 text-sm font-mono outline-none`,onKeydown:x(D,[`enter`])},null,544),[[S,d.value]]),_(`div`,Ve,[t(C,{icon:`carbon-close`,onClick:n[11]||=e=>l.value=!1},{default:b(()=>[...n[33]||=[r(` Cancel `,-1)]]),_:1}),t(C,{icon:`carbon:save`,n:`primary`,onClick:D},{default:b(()=>[...n[34]||=[r(` save `,-1)]]),_:1})])])]),_:1},8,[`modelValue`])):m(``,!0)],64)}}}),{__name:`AssetDetails`}),He={"h-full":``,"of-auto":``},Ue={"flex-none":``,flex:`~ gap2 items-center`,"text-lg":``},We={flex:`~ items-center justify-center`,absolute:``,"bottom--1":``,"right--1":``,"h-4":``,"w-4":``,"rounded-full":``,"bg-primary:30":``,"text-8px":``},Ge={flex:`~ col`,"w-30":``,"of-auto":``},Ke={"text-xs":``,op75:``},qe={op50:``},Je={key:0},Ye={"mt--4":``,px2:``,grid:`~ cols-minmax-8rem`},Xe={key:1,p2:``,grid:`~ cols-minmax-8rem`},Ze={key:1},Qe=a({__name:`assets`,setup(e){let r=w(),a=i(!1),s=i(``),l=v(()=>new B(r.value||[],{keys:[`path`]})),d=D(()=>{let e=[];for(let t of r.value||[]){let n=t.path.split(`.`).pop();n&&!e.some(e=>e.name===n)&&e.push({name:n,value:!0})}return e}),x=v(()=>(s.value?l.value.search(s.value).map(e=>e.item):r.value||[]).filter(e=>{let t=e.path.split(`.`).pop();return!t||d.some(e=>e.name===t&&e.value)})),S=v(()=>{let e={};for(let t of x.value){let n=`${t.path.split(`/`).slice(0,-1).join(`/`)}/`;e[n]||(e[n]=[]),e[n].push(t)}return Object.entries(e).sort(([e],[t])=>e.localeCompare(t))}),C=v(()=>{let e={path:`public`,children:[]},t=(e,n,r)=>{let[i,...a]=n,o=e.children.find(e=>e.path===i);o||(o={...r,path:i,children:[]},e.children.push(o)),a.length>1?t(o,a,r):a.length===1&&o.children.push({...r,path:a[0]})};return x.value.forEach(n=>{t(e,n.path.split(`/`).filter(e=>e!==``),n)}),e.children}),T=i(),{view:E}=I(`assets`);function k(){E.value=E.value===`list`?`grid`:`list`}O(`Escape`,()=>{T.value=void 0});let A=i();return(e,i)=>{let l=L,v=G,w=U,D=K,O=ue,j=Te,M=q,N=Q,P=$,F=W,I=c(`tooltip`);return o(),u(`div`,He,[t(D,{ref_key:`navbar`,ref:A,search:s.value,"onUpdate:search":i[1]||=e=>s.value=e,pb2:``},{actions:b(()=>[_(`div`,Ue,[f(t(l,{icon:`carbon:cloud-upload`,title:`File Upload`,border:!1,onClick:i[0]||=e=>a.value=!a.value},null,512),[[I,`File Upload`,void 0,{"bottom-end":!0}]]),g(d).length?(o(),h(w,{key:0,direction:`end`,n:`sm primary`},{trigger:b(({click:e})=>[f(t(l,{icon:`carbon-filter`,border:!1,title:`Filter`,p3:``,"text-lg":``,onClick:t=>e()},null,8,[`onClick`]),[[I,`Filter`,void 0,{"bottom-end":!0}]]),_(`span`,We,p(g(d).length),1)]),default:b(()=>[_(`div`,Ge,[(o(!0),u(y,null,n(g(d),e=>(o(),h(v,{key:e.name,modelValue:e.value,"onUpdate:modelValue":t=>e.value=t,flex:`~ gap-2`,rounded:``,px2:``,py2:``},{default:b(()=>[_(`span`,Ke,p(e.name),1)]),_:2},1032,[`modelValue`,`onUpdate:modelValue`]))),128))])]),_:1})):m(``,!0),f(t(l,{"text-lg":``,border:!1,icon:g(E)===`grid`?`i-carbon-list`:`i-carbon-grid`,title:`Toggle view`,onClick:k},null,8,[`icon`]),[[I,`Toggle View`,void 0,{"bottom-end":!0}]])])]),default:b(()=>[_(`div`,qe,[s.value?(o(),u(`span`,Je,p(x.value.length)+` matched · `,1)):m(``,!0),_(`span`,null,p(g(r)?.length)+` assets in total`,1)])]),_:1},8,[`search`]),t(O,{modelValue:a.value,"onUpdate:modelValue":i[2]||=e=>a.value=e,folder:`/`},null,8,[`modelValue`]),g(E)===`grid`?(o(),u(y,{key:0},[S.value.length>1?(o(!0),u(y,{key:0},n(S.value,([e,t])=>(o(),h(M,{key:e,text:e,description:`${t.length} items`,open:t.length<=g(50),padding:!1},{default:b(()=>[_(`div`,Ye,[(o(!0),u(y,null,n(t,t=>(o(),h(j,{key:t.path,asset:t,folder:e,onClick:e=>T.value=t},null,8,[`asset`,`folder`,`onClick`]))),128))])]),_:2},1032,[`text`,`description`,`open`]))),128)):(o(),u(`div`,Xe,[(o(!0),u(y,null,n(x.value,e=>(o(),h(j,{key:e.path,asset:e,onClick:t=>T.value=e},null,8,[`asset`,`onClick`]))),128))]))],64)):(o(),u(`div`,Ze,[(o(!0),u(y,null,n(C.value,(e,t)=>(o(),h(N,{key:t,modelValue:T.value,"onUpdate:modelValue":i[3]||=e=>T.value=e,item:e},null,8,[`modelValue`,`item`]))),128))])),t(F,{"model-value":!!T.value,"auto-close":``,"w-120":``,top:A.value,onClose:i[5]||=e=>T.value=void 0},{default:b(()=>[T.value?(o(),h(P,{key:0,modelValue:T.value,"onUpdate:modelValue":i[4]||=e=>T.value=e},null,8,[`modelValue`])):m(``,!0)]),_:1},8,[`model-value`,`top`])])}}});export{Qe as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"id":"
|
|
1
|
+
{"id":"07419bd6-9316-4f0a-8692-c6f2e89ed412","timestamp":1784685718566}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"id":"07419bd6-9316-4f0a-8692-c6f2e89ed412","timestamp":1784685718566,"prerendered":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{C as e,J as t,S as n,T as r,Tt as i,U as a,Zt as o,_ as s,ct as c,en as l,g as u,h as d,jt as f,m as p,p as m,s as h,ut as g}from"./vendor/json-editor-vue-dqdvn8dy.js";import{
|
|
1
|
+
import{C as e,J as t,S as n,T as r,Tt as i,U as a,Zt as o,_ as s,ct as c,en as l,g as u,h as d,jt as f,m as p,p as m,s as h,ut as g}from"./vendor/json-editor-vue-dqdvn8dy.js";import{A as _,i as v}from"#entry";import{t as y}from"./ncode-block-ckqwlxff.js";var b={key:0,relative:``,"n-code-block":``},x={flex:`~ wrap`,"w-full":``},S=[`onClick`],C={flex:`~ gap-2`,px3:``,pb3:``,n:`sm primary`},w=Object.assign(r({__name:`CodeSnippets`,props:{codeSnippets:{},eventType:{}},setup(r){let w=r,T=i(w.codeSnippets[0]),E=v(),D=m(()=>T.value?.lang||`text`);return c(()=>{w.codeSnippets.includes(T.value)||(T.value=w.codeSnippets[0])}),(i,c)=>{let m=y,v=_;return r.codeSnippets.length?(a(),s(`div`,b,[p(`div`,x,[(a(!0),s(h,null,t(r.codeSnippets,(e,t)=>(a(),s(`button`,{key:t,px4:``,py2:``,border:`r base`,hover:`bg-active`,class:o(e===T.value?``:`border-b`),onClick:t=>T.value=e},[p(`div`,{class:o(e===T.value?``:`op30`),"font-mono":``},l(e.name),3)],10,S))),128)),c[1]||=p(`div`,{border:`b base`,"flex-auto":``},null,-1)]),T.value?(a(),s(h,{key:0},[e(m,{code:T.value.code,lang:D.value,lines:!1,"w-full":``,"of-auto":``,p3:``},null,8,[`code`,`lang`]),p(`div`,C,[e(v,{icon:`carbon-copy`,onClick:c[0]||=e=>f(E)(T.value.code,r.eventType||`code-snippet-${T.value.name}`)},{default:g(()=>[...c[2]||=[n(` Copy `,-1)]]),_:1}),T.value?.docs?(a(),d(v,{key:0,to:T.value.docs,target:`_blank`,icon:`carbon-catalog`},{default:g(()=>[...c[3]||=[n(` Docs `,-1)]]),_:1},8,[`to`])):u(``,!0)])],64)):u(``,!0)])):u(``,!0)}}}),{__name:`CodeSnippets`});export{w as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{B as e,C as t,J as n,N as r,Q as i,S as a,St as o,T as s,Tt as c,U as l,X as u,Y as d,Z as f,Zt as p,_ as m,_t as h,dt as g,en as _,g as v,h as y,jt as b,m as x,p as S,s as C,st as ee,ut as w}from"./vendor/json-editor-vue-dqdvn8dy.js";import{D as te,J as T,L as ne,b as E,c as D,i as O,n as k,w as re,z as A}from"./utils-nqaypak4.js";import{z as j}from"./rpc-ixz4fjux.js";import{t as M}from"./storage-options-iwszwhs9.js";import{t as N}from"./_plugin-vue_export-helper-d9irwgla.js";import{N as P,i as F,j as I,m as L,x as R}from"#entry";import{t as z}from"./ndrawer-omkbykrx.js";import"./composables-ioamscf4.js";import{t as ie}from"./ncheckbox-kipnxkyt.js";import{t as B}from"./filepath-item-cjop7emq.js";import{t as V}from"./help-fab-nvaqe3cd.js";import{t as H}from"./nnavbar-ebncvl22.js";import{t as U}from"./nicon-title-jhzdz352.js";import{t as W}from"./nsection-block-efk27gko.js";import{t as G}from"./nbadge-jc4v6ym9.js";import{n as K,t as q}from"./vendor/vis-izx2wksk.js";import{t as J}from"./nselect-tabs-nuesabr9.js";import{n as Y,t as X}from"./state-components-mbj2ipfd.js";var ae={},oe={class:`markdown-body`};function se(e,t){return l(),m(`div`,oe,[...t[0]||=[x(`template`,null,[x(`div`,{class:`markdown-body`},[x(`h1`,null,`Components`),x(`p`,null,`Vue Components allow us to split the UI into independent and reusable pieces, and think about each piece in isolation. This is very similar to how we nest native HTML elements, but Vue implements its own component model that allow us to encapsulate custom content and logic in each component.`),x(`p`,null,`Components placed in the components/ directory are automatically registered by Nuxt. They can be used in your templates without importing them.`),x(`p`,null,[x(`a`,{href:`https://nuxt.com/docs/guide/directory-structure/components`,target:`_blank`,rel:`noopener`},`Learn more in the documentation`)])])],-1)]])}var ce=N(ae,[[`render`,se]]),le={"text-sm":``,"font-mono":``},Z=Object.assign(s({__name:`ComponentName`,props:{component:{}},setup(e){let t=e,n=S(()=>t.component.pascalName||T(t.component.name||t.component.__name||t.component.kebabName||``));return(e,t)=>(l(),m(`code`,le,[t[0]||=x(`span`,{mr1:``,op20:``},`<`,-1),a(_(n.value),1),t[1]||=x(`span`,{ml1:``,op20:``},`/>`,-1)]))}}),{__name:`ComponentName`}),ue={flex:`~ col gap1`,"items-start":``,"of-hidden":``},de={flex:`~ gap2 items-center`,px3:``},fe={px3:``,pb2:``},pe={key:0,border:`t base`,"max-h-60":``,"w-full":``,"of-auto":``,px3:``,py3:``},me={"text-sm":``},he={"text-primary":``},ge={key:0,flex:`~ col gap-2`,"items-start":``,pt3:``,"text-sm":``,op75:``},_e={key:1,border:`t base`,"max-h-60":``,"w-full":``,"of-auto":``,px3:``,py3:``},ve={"text-sm":``},ye={"text-primary":``},be={key:0,flex:`~ col gap-2`,"items-start":``,pt3:``,"text-sm":``,op75:``},Q=Object.assign(s({__name:`ComponentDetails`,props:{component:{},dependencies:{},dependents:{}},setup(e){let r=e,i=S(()=>r.component.pascalName||T(r.component.name||r.component.__name||r.component.kebabName||``)),o=S(()=>r.component.filePath||r.component.file||r.component.__file||``),s=F();return(r,c)=>{let u=Z,f=I,p=G,h=B;return l(),m(`div`,ue,[x(`div`,de,[t(u,{component:e.component},null,8,[`component`]),e.component.meta?.docs&&typeof e.component.meta.docs==`string`?(l(),y(f,{key:0,title:`Open docs`,"flex-none":``,n:`xs`,to:e.component.meta.docs,target:`_blank`,icon:`carbon-catalog`},{default:w(()=>[...c[1]||=[a(` Docs `,-1)]]),_:1},8,[`to`])):v(``,!0),t(f,{title:`Copy name`,"flex-none":``,n:`xs`,icon:`carbon-copy`,onClick:c[0]||=e=>b(s)(`<${i.value}></${i.value}>`,`component-name`)},{default:w(()=>[...c[2]||=[a(` Copy `,-1)]]),_:1}),e.component.global?(l(),y(p,{key:1,n:`green`,title:`Registered at runtime as a global component`,textContent:`runtime`})):v(``,!0)]),x(`div`,fe,[o.value?(l(),y(h,{key:0,filepath:o.value,"w-full":``,"text-sm":``,op40:``,"group-hover:op75":``},null,8,[`filepath`])):v(``,!0)]),e.dependents?(l(),m(`div`,pe,[x(`div`,me,[x(`strong`,he,_(e.dependents.length),1),c[3]||=x(`span`,{op50:``},` references`,-1)]),e.dependents.length?(l(),m(`div`,ge,[(l(!0),m(C,null,n(e.dependents,e=>(l(),y(h,{key:e,filepath:e},null,8,[`filepath`]))),128))])):v(``,!0)])):v(``,!0),e.dependencies?(l(),m(`div`,_e,[x(`div`,ve,[x(`strong`,ye,_(e.dependencies.length),1),c[4]||=x(`span`,{op50:``},` dependencies`,-1)]),e.dependencies.length?(l(),m(`div`,be,[(l(!0),m(C,null,n(e.dependencies,e=>(l(),y(h,{key:e,filepath:e},null,8,[`filepath`]))),128))])):v(``,!0)])):v(``,!0),d(r.$slots,`default`)])}}}),{__name:`ComponentDetails`}),xe={flex:`~ gap-x-3 gap-y-1 wrap`,"w-full":``},Se={relative:``,"h-full":``,"w-full":``},Ce={key:0,py4:``,pt3:``,flex:`~ col`},we={border:`t base`,p4:``},Te=Object.assign(s({__name:`ComponentsGraph`,props:{components:{},relationships:{}},setup(n){let r=n,i=o(),s=o(),u=ne(),f=c(),p=te(),g=re(),_=E(),{componentsGraphShowNodeModules:y,componentsGraphShowGlobalComponents:T,componentsGraphShowPages:D,componentsGraphShowLayouts:O,componentsGraphShowWorkspace:k}=M(`ui`),A=o(),N=o(``),P=j(N,300),F=S(()=>{let e=r.relationships||[];if(A.value){let t=new Set;function n(r){!r||t.has(r)||(t.add(r),r.deps.forEach(t=>{n(e.find(e=>e.id===t))}))}return n(A.value),[...t]}return e}),L=S(()=>{let e=F.value.map(e=>{let t=r.components.find(t=>t.filePath===e.id),n=p.value?.find(t=>t.file===e.id),i=_.value?.find(t=>t.file===e.id),a=e.id.includes(`/node_modules/`)?`lib`:t?t.global?`global`:`user`:i?`layout`:n?`page`:`unknown`;if(!y.value&&a===`lib`||!D.value&&a===`page`||!O.value&&a===`layout`||!k.value&&a===`user`&&g.value&&!e.id.startsWith(g.value.rootDir)||!T.value&&a===`global`)return null;let o=a===`layout`?`hexagon`:a===`page`?`square`:`dot`,s=P.value&&!e.id.toLowerCase().includes(P.value.toLowerCase());return{id:e.id,label:Y(e.id),group:a,shape:o,size:15+Math.min(e.deps.length/2,8),font:{color:s?`#8885`:u.value===`dark`?`white`:`black`},color:s?`#8885`:A.value?.id===e.id?`#82c742`:void 0,extra:{id:e.id,component:t,page:n,layout:i,relationship:e}}}).filter(e=>!!e),t=F.value.flatMap(e=>e.deps.map(t=>({from:e.id,to:t,arrows:{to:{enabled:!0,scaleFactor:.8}}})));return{nodes:new K(e),edges:t}}),B=S(()=>f.value?.component?(r.relationships?.find(e=>e.id===f.value?.component?.filePath)?.deps)?.map(e=>r.relationships?.find(t=>t.id===e)?.id).filter(Boolean):[]),V=S(()=>f.value?.component?(r.relationships?.filter(e=>e.deps.includes(f.value.component.filePath)))?.map(e=>r.relationships?.find(t=>t.id===e.id)?.id).filter(Boolean):[]);e(()=>{let e=new q(i.value,L.value,{nodes:{shape:`dot`,size:16},physics:{repulsion:{centralGravity:.7,springLength:100,springConstant:.01},maxVelocity:146,solver:`forceAtlas2Based`,timestep:.35,stabilization:{enabled:!0,iterations:200}},groups:{user:{color:`#42b883`},unknown:{color:`#b86542`},lib:{color:`#b4b842`},page:{color:`#42b2b8`},layout:{color:`#4256b8`}}});e.on(`click`,e=>{let t=e.nodes?.[0];f.value=L.value.nodes.get(t).extra}),ee(L,()=>{e.setData(L.value)})});function U(){f.value=void 0}let W=/.*\/components\//,G=/\.vue$/,J=/\/index$/;function Y(e){let t=r.components.find(t=>t.filePath===e);return t?t.pascalName:e.replace(W,``).replace(G,``).replace(J,``).split(`/`).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(``)}function X(){A.value=f.value?.relationship,f.value=void 0}return(e,n)=>{let r=ie,o=H,c=R,u=Q,p=I,g=z;return l(),m(C,null,[t(o,{ref_key:`navbar`,ref:s,search:N.value,"onUpdate:search":n[6]||=e=>N.value=e,absolute:``,"left-0":``,"right-0":``,"top-0":``},{actions:w(()=>[x(`div`,xe,[t(r,{modelValue:b(D),"onUpdate:modelValue":n[0]||=e=>h(D)?D.value=e:null,n:`primary sm`},{default:w(()=>[...n[8]||=[x(`span`,{op75:``},`Show pages`,-1)]]),_:1},8,[`modelValue`]),t(r,{modelValue:b(O),"onUpdate:modelValue":n[1]||=e=>h(O)?O.value=e:null,n:`primary sm`},{default:w(()=>[...n[9]||=[x(`span`,{op75:``},`Show layouts`,-1)]]),_:1},8,[`modelValue`]),t(r,{modelValue:b(k),"onUpdate:modelValue":n[2]||=e=>h(k)?k.value=e:null,n:`primary sm`},{default:w(()=>[...n[10]||=[x(`span`,{op75:``},`Show workspace`,-1)]]),_:1},8,[`modelValue`]),t(r,{modelValue:b(y),"onUpdate:modelValue":n[3]||=e=>h(y)?y.value=e:null,n:`primary sm`},{default:w(()=>[...n[11]||=[x(`span`,{op75:``},`Show node_modules`,-1)]]),_:1},8,[`modelValue`]),t(r,{modelValue:b(T),"onUpdate:modelValue":n[4]||=e=>h(T)?T.value=e:null,n:`primary sm`},{default:w(()=>[...n[12]||=[x(`span`,{op75:``},`Show global components`,-1)]]),_:1},8,[`modelValue`])]),A.value?(l(),m(`button`,{key:0,flex:`~ gap-1`,"flex-none":``,"items-center":``,"rounded-full":``,"bg-gray:20":``,py1:``,pl3:``,pr2:``,"text-xs":``,op50:``,"hover:op100":``,onClick:n[5]||=e=>A.value=void 0},[...n[13]||=[a(` Clear filter `,-1),x(`div`,{"i-carbon-close":``},null,-1)]])):v(``,!0),n[14]||=x(`div`,{"flex-auto":``},null,-1),d(e.$slots,`default`)]),_:3},8,[`search`]),x(`div`,Se,[x(`div`,{ref_key:`container`,ref:i,"h-full":``,"w-full":``},null,512),t(c,{absolute:``,"bottom-3":``,"left-3":``,"border-0":``,"n-glass-effect":``,p2:``,px3:``,"text-sm":``},{default:w(()=>[...n[15]||=[x(`div`,{grid:`~ cols-[20px_1fr] items-center gap-y-1`},[x(`div`,{"h-3":``,"w-3":``,"rounded-full":``,"bg-hex-42b883":``}),x(`div`,{op50:``},` Component `),x(`div`,{"h-3":``,"w-3":``,"rounded-full":``,"bg-hex-97c2fc":``}),x(`div`,{op50:``},` Global Component `),x(`div`,{"h-3":``,"w-3":``,"bg-hex-42b2b8":``}),x(`div`,{op50:``},` Page `),x(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 726 628`,"ml--1px":``,"h-3":``},[x(`path`,{fill:`#4256b8`,"stroke-width":`4`,d:`M723 314 543 625.8H183L3 314 183 2.2h360L723 314z`})]),x(`div`,{op50:``},` Layout `),x(`div`,{"h-3":``,"w-3":``,"rounded-full":``,"bg-hex-b4b842":``}),x(`div`,{op50:``},` Library Component `),x(`div`,{"h-3":``,"w-3":``,"rounded-full":``,"bg-hex-b86542":``}),x(`div`,{op50:``},` Unknown `)],-1)]]),_:1}),t(g,{"model-value":!!(f.value&&f.value.component),top:s.value,border:`t l base`,"w-80":``,onClose:U},{default:w(()=>[f.value&&f.value.component?(l(),m(`div`,Ce,[t(u,{component:f.value.component,dependencies:B.value,dependents:V.value},null,8,[`component`,`dependencies`,`dependents`]),x(`div`,we,[t(p,{n:`primary solid`,onClick:n[7]||=e=>X()},{default:w(()=>[...n[16]||=[a(` Filter to this component `,-1)]]),_:1})])])):v(``,!0)]),_:1},8,[`model-value`,`top`])])],64)}}}),{__name:`ComponentsGraph`}),Ee={hover:`bg-active`,class:`group`,flex:`~ gap2`,"w-full":``,"items-center":``,rounded:``,px2:``,py1:``},De={key:0,"ml--1":``,"text-primary":``},$=Object.assign(s({__name:`ComponentItem`,props:{component:{},dependencies:{},dependents:{}},setup(e){let n=e,r=S(()=>n.component.filePath||n.component.file||n.component.__file||``);return(n,i)=>{let a=Z,o=Q,s=u(`VDropdown`),c=G,f=B;return l(),m(`div`,Ee,[t(s,null,{popper:w(()=>[t(o,{component:e.component,dependencies:e.dependencies,dependents:e.dependents,"w-100":``,pt3:``},null,8,[`component`,`dependencies`,`dependents`])]),default:w(()=>[x(`button`,{"hover:text-primary":``,class:p(e.dependents&&e.dependents.length===0?`op50`:``)},[t(a,{component:e.component},null,8,[`component`])],2)]),_:1}),e.dependents?.length?(l(),m(`sup`,De,` x`+_(e.dependents?.length),1)):v(``,!0),e.component.global?(l(),y(c,{key:1,n:`green`,title:`Registered at runtime as a global component`,textContent:`runtime`})):v(``,!0),d(n.$slots,`default`),r.value?(l(),y(f,{key:2,filepath:r.value,"text-sm":``,op25:``,"group-hover:op75":``},null,8,[`filepath`])):v(``,!0)])}}}),{__name:`ComponentItem`}),Oe={flex:`~ gap-2 items-center`},ke={pl4:``},Ae=Object.assign(s({__name:`ComponentsList`,props:{components:{},relationships:{}},setup(e){let i=e,a=o(``),s=o(`all`),c=S(()=>{let e=i.components.map(e=>k(e,i.relationships));return s.value===`using`?e.filter(e=>e.dependents?.length):s.value===`not-used`?e.filter(e=>!e.dependents?.length):e}),u={ClientOnly:`https://nuxt.com/docs/api/components/client-only`,DevOnly:`https://nuxt.com/docs/api/components/dev-only`,NuxtClientFallback:`https://nuxt.com/docs/api/components/nuxt-client-fallback`,NuxtPicture:`https://nuxt.com/docs/api/components/nuxt-picture`,NuxtRouteAnnouncer:`https://nuxt.com/docs/api/components/nuxt-route-announcer`,NuxtTime:`https://nuxt.com/docs/api/components/nuxt-time`,NuxtPage:`https://nuxt.com/docs/api/components/nuxt-page`,NuxtLayout:`https://nuxt.com/docs/api/components/nuxt-layout`,NuxtLink:`https://nuxt.com/docs/api/components/nuxt-link`,NuxtLoadingIndicator:`https://nuxt.com/docs/api/components/nuxt-loading-indicator`,NuxtErrorBoundary:`https://nuxt.com/docs/api/components/nuxt-error-boundary`,NuxtWelcome:`https://nuxt.com/docs/api/components/nuxt-welcome`,NuxtIsland:`https://nuxt.com/docs/api/components/nuxt-island`,NuxtImg:`https://nuxt.com/docs/api/components/nuxt-img`},f=S(()=>new L(c.value,{keys:[`component.pascalName`,`component.filePath`,`component.kebabName`]})),p=S(()=>{let e=[],t=new Map,n=[],r=[],i={user:0,lib:0,builtin:0,runtime:0};return(a.value?f.value.search(a.value).map(e=>e.item):c.value).forEach(a=>{let o=a.component;if(o.filePath&&D(o.filePath)){let e=O(o.filePath);if(!e)return;e===`nuxt`?(o.meta??={},o.meta.docs??=u?.[o.pascalName],n.push(a),i.builtin++):(t.has(e)||t.set(e,[]),t.get(e).push(a),i.lib++)}else o.global&&!o.filePath?(r.push(a),i.runtime++):(e.push(a),i.user++)}),{count:i,user:e,builtin:n,lib:t,runtime:r}});return(e,i)=>{let o=P,c=J,u=H,f=$,h=W,g=U;return l(),m(C,null,[t(u,{search:a.value,"onUpdate:search":i[1]||=e=>a.value=e,pb3:``},{actions:w(()=>[d(e.$slots,`default`)]),default:w(()=>[x(`div`,Oe,[t(o,{icon:`carbon-filter`,op50:``}),t(c,{modelValue:s.value,"onUpdate:modelValue":i[0]||=e=>s.value=e,n:`primary sm`,options:[{label:`All`,value:`all`},{label:`Using`,value:`using`},{label:`Not used`,value:`not-used`}]},null,8,[`modelValue`])])]),_:3},8,[`search`]),p.value.user.length?(l(),y(h,{key:0,icon:`carbon-nominal`,text:`User components`,open:p.value.user.length<=b(50),description:`Total components: ${p.value.count.user}`},{default:w(()=>[(l(!0),m(C,null,n(p.value.user,e=>(l(),y(f,r({key:e.component.filePath},{ref_for:!0},e),null,16))),128))]),_:1},8,[`open`,`description`])):v(``,!0),p.value.runtime.length?(l(),y(h,{key:1,icon:`carbon-load-balancer-global`,open:p.value.runtime.length<=b(50),text:`Runtime components`,description:`Total components: ${p.value.count.runtime}`},{default:w(()=>[(l(!0),m(C,null,n(p.value.runtime,e=>(l(),y(f,r({key:e.component.filePath},{ref_for:!0},e),null,16))),128))]),_:1},8,[`open`,`description`])):v(``,!0),p.value.builtin.length?(l(),y(h,{key:2,icon:`simple-icons-nuxtdotjs`,text:`Built-in components`,description:`Total components: ${p.value.count.builtin}`},{default:w(()=>[(l(!0),m(C,null,n(p.value.builtin,e=>(l(),y(f,r({key:e.component.filePath},{ref_for:!0},e),null,16))),128))]),_:1},8,[`description`])):v(``,!0),p.value.lib.size?(l(),y(h,{key:3,open:p.value.count.lib<=b(50),icon:`carbon-3d-mpr-toggle`,text:`Components from libraries`,description:`${p.value.count.lib} components from ${p.value.lib.size} packages`},{default:w(()=>[(l(!0),m(C,null,n(p.value.lib.entries(),([e,i])=>(l(),m(`div`,{key:e,"ml-2":``},[t(g,{text:`${e} (${i.length})`,py1:``,op50:``},null,8,[`text`]),x(`div`,ke,[(l(!0),m(C,null,n(i,e=>(l(),y(f,r({key:e.component.filePath},{ref_for:!0},e),null,16))),128))])]))),128))]),_:1},8,[`open`,`description`])):v(``,!0)],64)}}}),{__name:`ComponentsList`}),je={relative:``,"h-full":``,"of-auto":``},Me={"flex-none":``,flex:`~ gap3`},Ne=s({__name:`components`,setup(e){let n=A(),r=X(),a=Y(),{componentsView:o}=M(`ui`);function s(){n.value?.inspector?.enable()}function c(){o.value=o.value===`list`?`graph`:`list`}return(e,u)=>{let d=I,p=ce,h=V,_=f(`tooltip`);return l(),m(C,null,[x(`div`,je,[(l(),y(i(b(o)===`list`?Ae:Te),{components:b(r),relationships:b(a)},{default:w(()=>[x(`div`,Me,[g(t(d,{"text-lg":``,border:!1,icon:b(o)===`graph`?`i-carbon-list`:`i-carbon-network-4`,title:`Toggle view`,onClick:c},null,8,[`icon`]),[[_,`Toggle View`,void 0,{"bottom-end":!0}]]),b(n)?.inspector?.isAvailable?g((l(),y(d,{key:0,"text-lg":``,border:!1,icon:`i-tabler-focus-2`,title:`Inspect Vue components`,onClick:s},null,512)),[[_,`Inspect Vue components`,void 0,{"bottom-end":!0}]]):v(``,!0)])]),_:1},8,[`components`,`relationships`]))]),t(h,null,{default:w(()=>[t(p)]),_:1})],64)}}});export{Ne as default};
|
|
1
|
+
import{B as e,C as t,J as n,N as r,Q as i,S as a,St as o,T as s,Tt as c,U as l,X as u,Y as d,Z as f,Zt as p,_ as m,_t as h,dt as g,en as _,g as v,h as y,jt as b,m as x,p as S,s as C,st as ee,ut as w}from"./vendor/json-editor-vue-dqdvn8dy.js";import{D as te,I as ne,R as T,b as re,c as E,i as D,n as O,q as k,w as A}from"./utils-cz4yum9q.js";import{z as j}from"./rpc-ixz4fjux.js";import{t as M}from"./storage-options-iwszwhs9.js";import{t as N}from"./_plugin-vue_export-helper-d9irwgla.js";import{A as P,M as F,b as I,i as L,p as R}from"#entry";import{t as z}from"./ndrawer-flnxaerl.js";import"./composables-ioamscf4.js";import{t as ie}from"./ncheckbox-cd89m7vw.js";import{t as B}from"./filepath-item-c7uegiaa.js";import{t as V}from"./help-fab-jisygb6y.js";import{t as H}from"./nnavbar-nzxl9pku.js";import{t as U}from"./nicon-title-jhzdz352.js";import{t as W}from"./nsection-block-e6henssm.js";import{t as G}from"./nbadge-jc4v6ym9.js";import{n as K,t as q}from"./vendor/vis-izx2wksk.js";import{t as J}from"./nselect-tabs-nuesabr9.js";import{n as Y,t as X}from"./state-components-j3zfj0i6.js";var ae={},oe={class:`markdown-body`};function se(e,t){return l(),m(`div`,oe,[...t[0]||=[x(`template`,null,[x(`div`,{class:`markdown-body`},[x(`h1`,null,`Components`),x(`p`,null,`Vue Components allow us to split the UI into independent and reusable pieces, and think about each piece in isolation. This is very similar to how we nest native HTML elements, but Vue implements its own component model that allow us to encapsulate custom content and logic in each component.`),x(`p`,null,`Components placed in the components/ directory are automatically registered by Nuxt. They can be used in your templates without importing them.`),x(`p`,null,[x(`a`,{href:`https://nuxt.com/docs/guide/directory-structure/components`,target:`_blank`,rel:`noopener`},`Learn more in the documentation`)])])],-1)]])}var ce=N(ae,[[`render`,se]]),le={"text-sm":``,"font-mono":``},Z=Object.assign(s({__name:`ComponentName`,props:{component:{}},setup(e){let t=e,n=S(()=>t.component.pascalName||k(t.component.name||t.component.__name||t.component.kebabName||``));return(e,t)=>(l(),m(`code`,le,[t[0]||=x(`span`,{mr1:``,op20:``},`<`,-1),a(_(n.value),1),t[1]||=x(`span`,{ml1:``,op20:``},`/>`,-1)]))}}),{__name:`ComponentName`}),ue={flex:`~ col gap1`,"items-start":``,"of-hidden":``},de={flex:`~ gap2 items-center`,px3:``},fe={px3:``,pb2:``},pe={key:0,border:`t base`,"max-h-60":``,"w-full":``,"of-auto":``,px3:``,py3:``},me={"text-sm":``},he={"text-primary":``},ge={key:0,flex:`~ col gap-2`,"items-start":``,pt3:``,"text-sm":``,op75:``},_e={key:1,border:`t base`,"max-h-60":``,"w-full":``,"of-auto":``,px3:``,py3:``},ve={"text-sm":``},ye={"text-primary":``},be={key:0,flex:`~ col gap-2`,"items-start":``,pt3:``,"text-sm":``,op75:``},Q=Object.assign(s({__name:`ComponentDetails`,props:{component:{},dependencies:{},dependents:{}},setup(e){let r=e,i=S(()=>r.component.pascalName||k(r.component.name||r.component.__name||r.component.kebabName||``)),o=S(()=>r.component.filePath||r.component.file||r.component.__file||``),s=L();return(r,c)=>{let u=Z,f=P,p=G,h=B;return l(),m(`div`,ue,[x(`div`,de,[t(u,{component:e.component},null,8,[`component`]),e.component.meta?.docs&&typeof e.component.meta.docs==`string`?(l(),y(f,{key:0,title:`Open docs`,"flex-none":``,n:`xs`,to:e.component.meta.docs,target:`_blank`,icon:`carbon-catalog`},{default:w(()=>[...c[1]||=[a(` Docs `,-1)]]),_:1},8,[`to`])):v(``,!0),t(f,{title:`Copy name`,"flex-none":``,n:`xs`,icon:`carbon-copy`,onClick:c[0]||=e=>b(s)(`<${i.value}></${i.value}>`,`component-name`)},{default:w(()=>[...c[2]||=[a(` Copy `,-1)]]),_:1}),e.component.global?(l(),y(p,{key:1,n:`green`,title:`Registered at runtime as a global component`,textContent:`runtime`})):v(``,!0)]),x(`div`,fe,[o.value?(l(),y(h,{key:0,filepath:o.value,"w-full":``,"text-sm":``,op40:``,"group-hover:op75":``},null,8,[`filepath`])):v(``,!0)]),e.dependents?(l(),m(`div`,pe,[x(`div`,me,[x(`strong`,he,_(e.dependents.length),1),c[3]||=x(`span`,{op50:``},` references`,-1)]),e.dependents.length?(l(),m(`div`,ge,[(l(!0),m(C,null,n(e.dependents,e=>(l(),y(h,{key:e,filepath:e},null,8,[`filepath`]))),128))])):v(``,!0)])):v(``,!0),e.dependencies?(l(),m(`div`,_e,[x(`div`,ve,[x(`strong`,ye,_(e.dependencies.length),1),c[4]||=x(`span`,{op50:``},` dependencies`,-1)]),e.dependencies.length?(l(),m(`div`,be,[(l(!0),m(C,null,n(e.dependencies,e=>(l(),y(h,{key:e,filepath:e},null,8,[`filepath`]))),128))])):v(``,!0)])):v(``,!0),d(r.$slots,`default`)])}}}),{__name:`ComponentDetails`}),xe={flex:`~ gap-x-3 gap-y-1 wrap`,"w-full":``},Se={relative:``,"h-full":``,"w-full":``},Ce={key:0,py4:``,pt3:``,flex:`~ col`},we={border:`t base`,p4:``},Te=Object.assign(s({__name:`ComponentsGraph`,props:{components:{},relationships:{}},setup(n){let r=n,i=o(),s=o(),u=ne(),f=c(),p=te(),g=A(),_=re(),{componentsGraphShowNodeModules:y,componentsGraphShowGlobalComponents:T,componentsGraphShowPages:E,componentsGraphShowLayouts:D,componentsGraphShowWorkspace:O}=M(`ui`),k=o(),N=o(``),F=j(N,300),L=S(()=>{let e=r.relationships||[];if(k.value){let t=new Set;function n(r){!r||t.has(r)||(t.add(r),r.deps.forEach(t=>{n(e.find(e=>e.id===t))}))}return n(k.value),[...t]}return e}),R=S(()=>{let e=L.value.map(e=>{let t=r.components.find(t=>t.filePath===e.id),n=p.value?.find(t=>t.file===e.id),i=_.value?.find(t=>t.file===e.id),a=e.id.includes(`/node_modules/`)?`lib`:t?t.global?`global`:`user`:i?`layout`:n?`page`:`unknown`;if(!y.value&&a===`lib`||!E.value&&a===`page`||!D.value&&a===`layout`||!O.value&&a===`user`&&g.value&&!e.id.startsWith(g.value.rootDir)||!T.value&&a===`global`)return null;let o=a===`layout`?`hexagon`:a===`page`?`square`:`dot`,s=F.value&&!e.id.toLowerCase().includes(F.value.toLowerCase());return{id:e.id,label:Y(e.id),group:a,shape:o,size:15+Math.min(e.deps.length/2,8),font:{color:s?`#8885`:u.value===`dark`?`white`:`black`},color:s?`#8885`:k.value?.id===e.id?`#82c742`:void 0,extra:{id:e.id,component:t,page:n,layout:i,relationship:e}}}).filter(e=>!!e),t=L.value.flatMap(e=>e.deps.map(t=>({from:e.id,to:t,arrows:{to:{enabled:!0,scaleFactor:.8}}})));return{nodes:new K(e),edges:t}}),B=S(()=>f.value?.component?(r.relationships?.find(e=>e.id===f.value?.component?.filePath)?.deps)?.map(e=>r.relationships?.find(t=>t.id===e)?.id).filter(Boolean):[]),V=S(()=>f.value?.component?(r.relationships?.filter(e=>e.deps.includes(f.value.component.filePath)))?.map(e=>r.relationships?.find(t=>t.id===e.id)?.id).filter(Boolean):[]);e(()=>{let e=new q(i.value,R.value,{nodes:{shape:`dot`,size:16},physics:{repulsion:{centralGravity:.7,springLength:100,springConstant:.01},maxVelocity:146,solver:`forceAtlas2Based`,timestep:.35,stabilization:{enabled:!0,iterations:200}},groups:{user:{color:`#42b883`},unknown:{color:`#b86542`},lib:{color:`#b4b842`},page:{color:`#42b2b8`},layout:{color:`#4256b8`}}});e.on(`click`,e=>{let t=e.nodes?.[0];f.value=R.value.nodes.get(t).extra}),ee(R,()=>{e.setData(R.value)})});function U(){f.value=void 0}let W=/.*\/components\//,G=/\.vue$/,J=/\/index$/;function Y(e){let t=r.components.find(t=>t.filePath===e);return t?t.pascalName:e.replace(W,``).replace(G,``).replace(J,``).split(`/`).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(``)}function X(){k.value=f.value?.relationship,f.value=void 0}return(e,n)=>{let r=ie,o=H,c=I,u=Q,p=P,g=z;return l(),m(C,null,[t(o,{ref_key:`navbar`,ref:s,search:N.value,"onUpdate:search":n[6]||=e=>N.value=e,absolute:``,"left-0":``,"right-0":``,"top-0":``},{actions:w(()=>[x(`div`,xe,[t(r,{modelValue:b(E),"onUpdate:modelValue":n[0]||=e=>h(E)?E.value=e:null,n:`primary sm`},{default:w(()=>[...n[8]||=[x(`span`,{op75:``},`Show pages`,-1)]]),_:1},8,[`modelValue`]),t(r,{modelValue:b(D),"onUpdate:modelValue":n[1]||=e=>h(D)?D.value=e:null,n:`primary sm`},{default:w(()=>[...n[9]||=[x(`span`,{op75:``},`Show layouts`,-1)]]),_:1},8,[`modelValue`]),t(r,{modelValue:b(O),"onUpdate:modelValue":n[2]||=e=>h(O)?O.value=e:null,n:`primary sm`},{default:w(()=>[...n[10]||=[x(`span`,{op75:``},`Show workspace`,-1)]]),_:1},8,[`modelValue`]),t(r,{modelValue:b(y),"onUpdate:modelValue":n[3]||=e=>h(y)?y.value=e:null,n:`primary sm`},{default:w(()=>[...n[11]||=[x(`span`,{op75:``},`Show node_modules`,-1)]]),_:1},8,[`modelValue`]),t(r,{modelValue:b(T),"onUpdate:modelValue":n[4]||=e=>h(T)?T.value=e:null,n:`primary sm`},{default:w(()=>[...n[12]||=[x(`span`,{op75:``},`Show global components`,-1)]]),_:1},8,[`modelValue`])]),k.value?(l(),m(`button`,{key:0,flex:`~ gap-1`,"flex-none":``,"items-center":``,"rounded-full":``,"bg-gray:20":``,py1:``,pl3:``,pr2:``,"text-xs":``,op50:``,"hover:op100":``,onClick:n[5]||=e=>k.value=void 0},[...n[13]||=[a(` Clear filter `,-1),x(`div`,{"i-carbon-close":``},null,-1)]])):v(``,!0),n[14]||=x(`div`,{"flex-auto":``},null,-1),d(e.$slots,`default`)]),_:3},8,[`search`]),x(`div`,Se,[x(`div`,{ref_key:`container`,ref:i,"h-full":``,"w-full":``},null,512),t(c,{absolute:``,"bottom-3":``,"left-3":``,"border-0":``,"n-glass-effect":``,p2:``,px3:``,"text-sm":``},{default:w(()=>[...n[15]||=[x(`div`,{grid:`~ cols-[20px_1fr] items-center gap-y-1`},[x(`div`,{"h-3":``,"w-3":``,"rounded-full":``,"bg-hex-42b883":``}),x(`div`,{op50:``},` Component `),x(`div`,{"h-3":``,"w-3":``,"rounded-full":``,"bg-hex-97c2fc":``}),x(`div`,{op50:``},` Global Component `),x(`div`,{"h-3":``,"w-3":``,"bg-hex-42b2b8":``}),x(`div`,{op50:``},` Page `),x(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 726 628`,"ml--1px":``,"h-3":``},[x(`path`,{fill:`#4256b8`,"stroke-width":`4`,d:`M723 314 543 625.8H183L3 314 183 2.2h360L723 314z`})]),x(`div`,{op50:``},` Layout `),x(`div`,{"h-3":``,"w-3":``,"rounded-full":``,"bg-hex-b4b842":``}),x(`div`,{op50:``},` Library Component `),x(`div`,{"h-3":``,"w-3":``,"rounded-full":``,"bg-hex-b86542":``}),x(`div`,{op50:``},` Unknown `)],-1)]]),_:1}),t(g,{"model-value":!!(f.value&&f.value.component),top:s.value,border:`t l base`,"w-80":``,onClose:U},{default:w(()=>[f.value&&f.value.component?(l(),m(`div`,Ce,[t(u,{component:f.value.component,dependencies:B.value,dependents:V.value},null,8,[`component`,`dependencies`,`dependents`]),x(`div`,we,[t(p,{n:`primary solid`,onClick:n[7]||=e=>X()},{default:w(()=>[...n[16]||=[a(` Filter to this component `,-1)]]),_:1})])])):v(``,!0)]),_:1},8,[`model-value`,`top`])])],64)}}}),{__name:`ComponentsGraph`}),Ee={hover:`bg-active`,class:`group`,flex:`~ gap2`,"w-full":``,"items-center":``,rounded:``,px2:``,py1:``},De={key:0,"ml--1":``,"text-primary":``},$=Object.assign(s({__name:`ComponentItem`,props:{component:{},dependencies:{},dependents:{}},setup(e){let n=e,r=S(()=>n.component.filePath||n.component.file||n.component.__file||``);return(n,i)=>{let a=Z,o=Q,s=u(`VDropdown`),c=G,f=B;return l(),m(`div`,Ee,[t(s,null,{popper:w(()=>[t(o,{component:e.component,dependencies:e.dependencies,dependents:e.dependents,"w-100":``,pt3:``},null,8,[`component`,`dependencies`,`dependents`])]),default:w(()=>[x(`button`,{"hover:text-primary":``,class:p(e.dependents&&e.dependents.length===0?`op50`:``)},[t(a,{component:e.component},null,8,[`component`])],2)]),_:1}),e.dependents?.length?(l(),m(`sup`,De,` x`+_(e.dependents?.length),1)):v(``,!0),e.component.global?(l(),y(c,{key:1,n:`green`,title:`Registered at runtime as a global component`,textContent:`runtime`})):v(``,!0),d(n.$slots,`default`),r.value?(l(),y(f,{key:2,filepath:r.value,"text-sm":``,op25:``,"group-hover:op75":``},null,8,[`filepath`])):v(``,!0)])}}}),{__name:`ComponentItem`}),Oe={flex:`~ gap-2 items-center`},ke={pl4:``},Ae=Object.assign(s({__name:`ComponentsList`,props:{components:{},relationships:{}},setup(e){let i=e,a=o(``),s=o(`all`),c=S(()=>{let e=i.components.map(e=>O(e,i.relationships));return s.value===`using`?e.filter(e=>e.dependents?.length):s.value===`not-used`?e.filter(e=>!e.dependents?.length):e}),u={ClientOnly:`https://nuxt.com/docs/api/components/client-only`,DevOnly:`https://nuxt.com/docs/api/components/dev-only`,NuxtClientFallback:`https://nuxt.com/docs/api/components/nuxt-client-fallback`,NuxtPicture:`https://nuxt.com/docs/api/components/nuxt-picture`,NuxtRouteAnnouncer:`https://nuxt.com/docs/api/components/nuxt-route-announcer`,NuxtTime:`https://nuxt.com/docs/api/components/nuxt-time`,NuxtPage:`https://nuxt.com/docs/api/components/nuxt-page`,NuxtLayout:`https://nuxt.com/docs/api/components/nuxt-layout`,NuxtLink:`https://nuxt.com/docs/api/components/nuxt-link`,NuxtLoadingIndicator:`https://nuxt.com/docs/api/components/nuxt-loading-indicator`,NuxtErrorBoundary:`https://nuxt.com/docs/api/components/nuxt-error-boundary`,NuxtWelcome:`https://nuxt.com/docs/api/components/nuxt-welcome`,NuxtIsland:`https://nuxt.com/docs/api/components/nuxt-island`,NuxtImg:`https://nuxt.com/docs/api/components/nuxt-img`},f=S(()=>new R(c.value,{keys:[`component.pascalName`,`component.filePath`,`component.kebabName`]})),p=S(()=>{let e=[],t=new Map,n=[],r=[],i={user:0,lib:0,builtin:0,runtime:0};return(a.value?f.value.search(a.value).map(e=>e.item):c.value).forEach(a=>{let o=a.component;if(o.filePath&&E(o.filePath)){let e=D(o.filePath);if(!e)return;e===`nuxt`?(o.meta??={},o.meta.docs??=u?.[o.pascalName],n.push(a),i.builtin++):(t.has(e)||t.set(e,[]),t.get(e).push(a),i.lib++)}else o.global&&!o.filePath?(r.push(a),i.runtime++):(e.push(a),i.user++)}),{count:i,user:e,builtin:n,lib:t,runtime:r}});return(e,i)=>{let o=F,c=J,u=H,f=$,h=W,g=U;return l(),m(C,null,[t(u,{search:a.value,"onUpdate:search":i[1]||=e=>a.value=e,pb3:``},{actions:w(()=>[d(e.$slots,`default`)]),default:w(()=>[x(`div`,Oe,[t(o,{icon:`carbon-filter`,op50:``}),t(c,{modelValue:s.value,"onUpdate:modelValue":i[0]||=e=>s.value=e,n:`primary sm`,options:[{label:`All`,value:`all`},{label:`Using`,value:`using`},{label:`Not used`,value:`not-used`}]},null,8,[`modelValue`])])]),_:3},8,[`search`]),p.value.user.length?(l(),y(h,{key:0,icon:`carbon-nominal`,text:`User components`,open:p.value.user.length<=b(50),description:`Total components: ${p.value.count.user}`},{default:w(()=>[(l(!0),m(C,null,n(p.value.user,e=>(l(),y(f,r({key:e.component.filePath},{ref_for:!0},e),null,16))),128))]),_:1},8,[`open`,`description`])):v(``,!0),p.value.runtime.length?(l(),y(h,{key:1,icon:`carbon-load-balancer-global`,open:p.value.runtime.length<=b(50),text:`Runtime components`,description:`Total components: ${p.value.count.runtime}`},{default:w(()=>[(l(!0),m(C,null,n(p.value.runtime,e=>(l(),y(f,r({key:e.component.filePath},{ref_for:!0},e),null,16))),128))]),_:1},8,[`open`,`description`])):v(``,!0),p.value.builtin.length?(l(),y(h,{key:2,icon:`simple-icons-nuxtdotjs`,text:`Built-in components`,description:`Total components: ${p.value.count.builtin}`},{default:w(()=>[(l(!0),m(C,null,n(p.value.builtin,e=>(l(),y(f,r({key:e.component.filePath},{ref_for:!0},e),null,16))),128))]),_:1},8,[`description`])):v(``,!0),p.value.lib.size?(l(),y(h,{key:3,open:p.value.count.lib<=b(50),icon:`carbon-3d-mpr-toggle`,text:`Components from libraries`,description:`${p.value.count.lib} components from ${p.value.lib.size} packages`},{default:w(()=>[(l(!0),m(C,null,n(p.value.lib.entries(),([e,i])=>(l(),m(`div`,{key:e,"ml-2":``},[t(g,{text:`${e} (${i.length})`,py1:``,op50:``},null,8,[`text`]),x(`div`,ke,[(l(!0),m(C,null,n(i,e=>(l(),y(f,r({key:e.component.filePath},{ref_for:!0},e),null,16))),128))])]))),128))]),_:1},8,[`open`,`description`])):v(``,!0)],64)}}}),{__name:`ComponentsList`}),je={relative:``,"h-full":``,"of-auto":``},Me={"flex-none":``,flex:`~ gap3`},Ne=s({__name:`components`,setup(e){let n=T(),r=X(),a=Y(),{componentsView:o}=M(`ui`);function s(){n.value?.inspector?.enable()}function c(){o.value=o.value===`list`?`graph`:`list`}return(e,u)=>{let d=P,p=ce,h=V,_=f(`tooltip`);return l(),m(C,null,[x(`div`,je,[(l(),y(i(b(o)===`list`?Ae:Te),{components:b(r),relationships:b(a)},{default:w(()=>[x(`div`,Me,[g(t(d,{"text-lg":``,border:!1,icon:b(o)===`graph`?`i-carbon-list`:`i-carbon-network-4`,title:`Toggle view`,onClick:c},null,8,[`icon`]),[[_,`Toggle View`,void 0,{"bottom-end":!0}]]),b(n)?.inspector?.isAvailable?g((l(),y(d,{key:0,"text-lg":``,border:!1,icon:`i-tabler-focus-2`,title:`Inspect Vue components`,onClick:s},null,512)),[[_,`Inspect Vue components`,void 0,{"bottom-end":!0}]]):v(``,!0)])]),_:1},8,[`components`,`relationships`]))]),t(h,null,{default:w(()=>[t(p)]),_:1})],64)}}});export{Ne as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{C as e,J as t,S as n,T as r,U as i,X as a,Zt as o,_ as s,en as c,g as l,h as u,jt as d,m as f,p,s as m,ut as h}from"./vendor/json-editor-vue-dqdvn8dy.js";import{
|
|
1
|
+
import{C as e,J as t,S as n,T as r,U as i,X as a,Zt as o,_ as s,en as c,g as l,h as u,jt as d,m as f,p,s as m,ut as h}from"./vendor/json-editor-vue-dqdvn8dy.js";import{K as g}from"./utils-cz4yum9q.js";import{A as _,M as v,a as y,i as b}from"#entry";import{t as x}from"./filepath-item-c7uegiaa.js";import{t as S}from"./constants-g2z8m4rs.js";import{t as C}from"./nmarkdown-d9s7c1r3.js";var w={rounded:``,"font-mono":``},T={key:0,"text-primary":``},E={key:0},D={title:`Vue Directive`},O={"max-w-100":``},k={px4:``,py3:``,"text-sm":``},A={flex:`~ gap2`,n:`primary xs`},j={border:`t base`,"max-h-60":``,"of-auto":``,px4:``,py3:``},M={"text-sm":``},N={"text-primary":``},P={flex:`~ col gap-2`,"items-start":``,pt3:``,"text-sm":``,op75:``},F={key:1,"text-sm":``,op50:``},I=Object.assign(r({__name:`ComposableItem`,props:{item:{},isDirective:{type:Boolean,default:!1},metadata:{},filepath:{},counter:{type:Boolean,default:!0},classes:{default:`px2 py1 text-sm bg-gray:5 `}},setup(r){let I=r,L=b(),R=y(),z=p(()=>I.item.as||I.item.name),B=p(()=>{let e=z.value;return I.isDirective&&(e[0]!==`v`&&(e=`v${e}`),e=g(e)),e}),V=p(()=>I.metadata?.injectionsUsageMap?.get(z.value)?.count||0),H=p(()=>(I.metadata?.injectionsUsageMap?.get(z.value)?.moduleIds||[]).filter(e=>!e.endsWith(`?macro=true`))),U=p(()=>I.item.meta?.docsUrl?I.item.meta.docsUrl:[`nuxt`,`#app`,`nuxt3`].includes(I.item.from)?S.nuxt[I.item.name]:I.item.from===`vue`?S.vue[I.item.name]:null);return(p,g)=>{let y=v,b=C,S=_,W=x,G=a(`VDropdown`);return i(),u(G,{disabled:!I.metadata},{popper:h(()=>[f(`div`,O,[f(`div`,k,[r.item.meta?.description?(i(),u(b,{key:0,tag:`div`,pb3:``,"text-sm":``,markdown:r.item.meta.description},null,8,[`markdown`])):l(``,!0),f(`div`,A,[e(S,{icon:`carbon-copy`,onClick:g[0]||=e=>d(L)(B.value,`imports-name`)},{default:h(()=>[...g[2]||=[n(` Copy `,-1)]]),_:1}),r.filepath?(i(),u(S,{key:0,icon:`carbon-code`,onClick:g[1]||=e=>r.filepath&&d(R)(r.filepath)},{default:h(()=>[...g[3]||=[n(` Source `,-1)]]),_:1})):l(``,!0),U.value?(i(),u(S,{key:1,icon:`carbon-catalog`,to:U.value,target:`_blank`},{default:h(()=>[...g[4]||=[n(` Docs `,-1)]]),_:1},8,[`to`])):l(``,!0)])]),f(`div`,j,[V.value?(i(),s(m,{key:0},[f(`div`,M,[g[5]||=f(`span`,{op50:``},`It has been referenced `,-1),f(`strong`,N,c(V.value),1),g[6]||=f(`span`,{op50:``},` times by:`,-1)]),f(`div`,P,[(i(!0),s(m,null,t(H.value,e=>(i(),u(W,{key:e,filepath:e},null,8,[`filepath`]))),128))])],64)):(i(),s(`div`,F,` Not in use via auto import. `))])])]),default:h(()=>[f(`button`,{"hover:text-primary":``,class:o([r.metadata&&!V.value?`op30 hover:op100`:``,r.classes])},[f(`code`,w,[n(c(z.value)+` `,1),V.value&&r.counter?(i(),s(`sup`,T,`x`+c(V.value),1)):l(``,!0)]),r.isDirective?(i(),s(`sup`,E,[f(`abbr`,D,[e(y,{icon:`tabler:hexagon-letter-d`})])])):l(``,!0)],2)]),_:1},8,[`disabled`])}}}),{__name:`ComposableItem`});export{I as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{B as e,C as t,P as n,Q as r,S as i,St as a,T as o,U as s,V as c,_ as l,bt as u,ct as d,en as f,h as p,jt as m,m as h,p as g,ut as _}from"./vendor/json-editor-vue-dqdvn8dy.js";import{_ as v,g as y}from"./ready-nen2jn0n.js";import{H as b,I as x}from"./utils-cz4yum9q.js";import{S,a as C}from"./rpc-ixz4fjux.js";import{C as w,D as T,E,b as D,y as O}from"#entry";import"./composables-ioamscf4.js";import{t as k}from"./auth-required-panel-b6vs83kj.js";import{t as A}from"./launch-page-krlyw5tj.js";var j=new Map,M=Object.assign(o({__name:`IframeView`,props:{tab:{}},setup(t){let r=t,i=x(),o=a(),f=g(()=>r.tab.name),p=a(),m=u(S(o));e(()=>{let e=r.tab.view,t=e.persistent!==!1,i=[`clipboard-write`,`clipboard-read`,...e.permissions||[]];if(j.get(f.value)&&t)p.value=j.get(f.value),p.value.style.visibility=`visible`;else{p.value=document.createElement(`iframe`),p.value.setAttribute(`allow`,i.join(`; `)),p.value.setAttribute(`aria-label`,`Nuxt Devtools`),t&&j.set(f.value,p.value),p.value.src=e.src;try{p.value.style.opacity=`0.01`,p.value.onload=()=>{v(),h(),p.value.style.opacity=`1`}}catch{p.value.style.opacity=`1`}document.body.appendChild(p.value),n(y)}setTimeout(h,100)}),d(y),d(h),d(v),c(()=>{p.value&&(p.value.style.visibility=`hidden`)});function h(){if(!(!p.value||!p.value.contentWindow))try{let e=p.value.contentWindow.document.querySelector(`html`);e?.classList.toggle(`dark`,i.value===`dark`),e?.classList.toggle(`light`,i.value===`dark`),new MutationObserver(()=>{i.value=p.value?.contentWindow?.document.querySelector(`html`)?.classList.contains(`dark`)?`dark`:`light`}).observe(e,{attributes:!0,attributeFilter:[`class`]})}catch{}}let _=b();function v(){if(!(!p.value||!p.value.contentWindow))try{p.value.contentWindow.__NUXT_DEVTOOLS__=_.value}catch{}}function y(){p.value&&Object.assign(p.value.style,{position:`fixed`,left:`${m.left}px`,top:`${m.top}px`,width:`${m.width}px`,height:`${m.height}px`,outline:`none`})}return(e,t)=>(s(),l(`div`,{ref_key:`anchor`,ref:o,"h-full":``,"w-full":``},null,512))}}),{__name:`IframeView`}),N={flex:`~ col gap2`,mxa:``,"items-center":``},P={"text-xl":``},F={"text-rose":``},I=o({__name:`custom-[name]`,props:{name:{}},setup(n){let a=n,o=y(),c=v(),l=g(()=>a.name??o.params.name),u=w(),d=g(()=>u.value.find(e=>e.name===l.value));return e(()=>{d.value?d.value.requireAuth&&!E.value&&T():setTimeout(()=>{d.value||c.push(`/modules/overview`)},2e3)}),(e,n)=>{let a=O,o=k,c=M,u=A,g=D;return d.value?d.value.requireAuth&&!m(E)?(s(),p(o,{key:1})):d.value.view.type===`iframe`?(s(),p(c,{key:2,tab:d.value},null,8,[`tab`])):d.value.view.type===`vnode`?(s(),p(r(d.value.view.vnode),{key:3})):d.value.view.type===`launch`?(s(),p(u,{key:4,name:`custom-${d.value.name}`,icon:d.value.view.icon||d.value.icon,title:d.value.view.title||d.value.title,description:d.value.view.description,actions:d.value.view.actions,onAction:n[0]||=e=>m(C).customTabAction(d.value.name,e)},null,8,[`name`,`icon`,`title`,`description`,`actions`])):(s(),p(a,{key:5},{default:_(()=>[t(g,{flex:`~ col`,"h-full":``,"items-center":``,"justify-center":``},{default:_(()=>[i(` Unknown tab type `+f(d.value.view),1)]),_:1})]),_:1})):(s(),p(a,{key:0},{default:_(()=>[h(`div`,N,[n[3]||=h(`div`,{"i-carbon-queued":``,mb2:``,"text-5xl":``,op50:``},null,-1),h(`p`,P,[n[1]||=i(` Tab `,-1),h(`code`,F,f(l.value),1),n[2]||=i(` not found `,-1)]),n[4]||=h(`p`,{op50:``},` It might because the module contributing this tab is not installed or enabled `,-1),n[5]||=h(`p`,{mt8:``,"animate-pulse":``},` Redirecting to overview page... `,-1)])]),_:1}))}}});export{I as default};
|